From 37398ae2757cfca03261bae29c87b868e5612c74 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Thu, 15 Jun 2023 09:27:08 +0100 Subject: [PATCH 01/15] Switch to New Parser in Compile --- .../Compile/Compiler.fs | 20 +++++++++---------- src/Feersum.CompilerServices/Syntax/Parse.fs | 7 +++++++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Feersum.CompilerServices/Compile/Compiler.fs b/src/Feersum.CompilerServices/Compile/Compiler.fs index 9b6e8dd..3c0b8b3 100644 --- a/src/Feersum.CompilerServices/Compile/Compiler.fs +++ b/src/Feersum.CompilerServices/Compile/Compiler.fs @@ -1022,6 +1022,7 @@ module private Utils = il.Emit(OpCodes.Ret) module Compilation = + open Feersum.CompilerServices.Syntax.Parse /// Emit a Bound Expression to .NET /// @@ -1214,17 +1215,14 @@ module Compilation = else output - let ast, diagnostics = - let nodes, diagnostics = - List.map LegacyParse.parseFile sources - |> List.fold (fun (nodes, diags) (n, d) -> (List.append nodes [ n ], List.append d diags)) ([], []) + let result = + Seq.map (Parse.parseFile) sources + |> Async.Parallel + |> Async.RunSynchronously + |> ParseResult.fold (fun (progs) (p) -> List.append progs [ p ]) [] - { Location = TextLocation.Missing - Kind = LegacyNodeKind.Seq(nodes) }, - diagnostics - - if Diagnostics.hasErrors diagnostics then - diagnostics + if Diagnostics.hasErrors result.Diagnostics then + result.Diagnostics else // Open the output streams. We don't use an `Option` directly here for @@ -1238,7 +1236,7 @@ module Compilation = | BuildConfiguration.Release -> null let result = - compile options outputStream (Path.GetFileName(output)) (symbols |> Option.ofObj) ast + compile options outputStream (Path.GetFileName(output)) (symbols |> Option.ofObj) result.Root if result.Diagnostics.IsEmpty && options.OutputType = OutputType.Exe then match result.EmittedAssemblyName with diff --git a/src/Feersum.CompilerServices/Syntax/Parse.fs b/src/Feersum.CompilerServices/Syntax/Parse.fs index bce2d6f..505ce51 100644 --- a/src/Feersum.CompilerServices/Syntax/Parse.fs +++ b/src/Feersum.CompilerServices/Syntax/Parse.fs @@ -44,6 +44,13 @@ module ParseResult = { Diagnostics = result.Diagnostics Root = result.Root |> mapper } + /// Fold a set of parse results into a signle result + let public fold folder seed results = + let (state, diags) = + Seq.fold (fun (state, diags) r -> (folder state r.Root, List.append diags r.Diagnostics)) (seed, []) results + { Diagnostics = diags + Root = state } + /// Convert a parser response into a plain result type /// /// This drops any tree from the error, but opens up parser responses to From 509d6fd1068b54863d5e3324ddc400173783a92b Mon Sep 17 00:00:00 2001 From: Will Speak Date: Tue, 18 Jun 2024 10:38:01 +0100 Subject: [PATCH 02/15] Make Compile Accept New Syntax Compilations are now run on `CompileInput`s containing either a `Program` or `ScriptProgram`. This is then lowered to a legacy tree for binding but should allow compile API surface changes to be fleshed out. Some `eval` tests working directly with legacy trees may benefit from a syntax builder API. --- .../Compile/Compiler.fs | 35 +++- src/Feersum.CompilerServices/Eval.fs | 4 +- src/Feersum.CompilerServices/Syntax/Parse.fs | 6 +- src/Feersum/Repl.fs | 12 +- test/Feersum.Tests/EvalTests.fs | 198 +++++++++--------- 5 files changed, 143 insertions(+), 112 deletions(-) diff --git a/src/Feersum.CompilerServices/Compile/Compiler.fs b/src/Feersum.CompilerServices/Compile/Compiler.fs index 3c0b8b3..919d5df 100644 --- a/src/Feersum.CompilerServices/Compile/Compiler.fs +++ b/src/Feersum.CompilerServices/Compile/Compiler.fs @@ -16,6 +16,7 @@ open Feersum.CompilerServices.Syntax open Feersum.CompilerServices.Compile.MonoHelpers open Feersum.CompilerServices.Targets open Feersum.CompilerServices.Utils +open Feersum.CompilerServices.Syntax.Tree /// Capture Environment Kind /// @@ -74,6 +75,11 @@ type CompileResult = { Diagnostics: Diagnostic list EmittedAssemblyName: AssemblyNameDefinition option } +[] +type CompileInput = + | Program of (TextDocument * Program) list + | Script of TextDocument * ScriptProgram + [] module private Utils = @@ -1148,7 +1154,7 @@ module Compilation = /// the expression and writes out the corresponding .NET IL to an `Assembly` /// at `outputStream`. The `outputName` controls the root namespace and assembly /// name of the output. - let compile options outputStream outputName symbolStream node = + let compile options outputStream outputName symbolStream (input: CompileInput) = let target = match options.FrameworkAssmPaths with | [] -> TargetResolve.fromCurrentRuntime @@ -1166,7 +1172,17 @@ module Compilation = else Binder.emptyScope - let bound = Binder.bind scope allLibs node + let progs = + match input with + | CompileInput.Program progs -> List.map (fun (doc, prog) -> SyntaxShim.transformProgram doc prog) progs + | CompileInput.Script(doc, script) -> + script.Body |> Option.toList |> List.map (SyntaxShim.transformExpr doc) + + let input = + { Kind = LegacyNodeKind.Seq progs + Location = TextLocation.Missing } + + let bound = Binder.bind scope allLibs input let assmName = if hasErrors bound.Diagnostics |> not then @@ -1216,9 +1232,11 @@ module Compilation = output let result = - Seq.map (Parse.parseFile) sources - |> Async.Parallel - |> Async.RunSynchronously + sources + |> Seq.map (fun path -> + let contents = File.ReadAllText(path) + let doc = TextDocument.fromParts path contents + Parse.readProgram path contents |> ParseResult.map (fun r -> doc, r)) |> ParseResult.fold (fun (progs) (p) -> List.append progs [ p ]) [] if Diagnostics.hasErrors result.Diagnostics then @@ -1236,7 +1254,12 @@ module Compilation = | BuildConfiguration.Release -> null let result = - compile options outputStream (Path.GetFileName(output)) (symbols |> Option.ofObj) result.Root + compile + options + outputStream + (Path.GetFileName(output)) + (symbols |> Option.ofObj) + (CompileInput.Program result.Root) if result.Diagnostics.IsEmpty && options.OutputType = OutputType.Exe then match result.EmittedAssemblyName with diff --git a/src/Feersum.CompilerServices/Eval.fs b/src/Feersum.CompilerServices/Eval.fs index b464960..8483264 100644 --- a/src/Feersum.CompilerServices/Eval.fs +++ b/src/Feersum.CompilerServices/Eval.fs @@ -24,10 +24,10 @@ let cilExternalRepr (object: Object) = Write.GetExternalRepresentation(object) /// main method on that. /// /// The script is compiled using `options` -let evalWith options ast = +let evalWith options input = use memStream = new MemoryStream() - let result = Compilation.compile options memStream "evalCtx" None ast + let result = Compilation.compile options memStream "evalCtx" None input if not result.Diagnostics.IsEmpty then Error(result.Diagnostics) diff --git a/src/Feersum.CompilerServices/Syntax/Parse.fs b/src/Feersum.CompilerServices/Syntax/Parse.fs index 505ce51..271195f 100644 --- a/src/Feersum.CompilerServices/Syntax/Parse.fs +++ b/src/Feersum.CompilerServices/Syntax/Parse.fs @@ -46,10 +46,10 @@ module ParseResult = /// Fold a set of parse results into a signle result let public fold folder seed results = - let (state, diags) = + let (state, diags) = Seq.fold (fun (state, diags) r -> (folder state r.Root, List.append diags r.Diagnostics)) (seed, []) results - { Diagnostics = diags - Root = state } + + { Diagnostics = diags; Root = state } /// Convert a parser response into a plain result type /// diff --git a/src/Feersum/Repl.fs b/src/Feersum/Repl.fs index 84ec9dc..441fe46 100644 --- a/src/Feersum/Repl.fs +++ b/src/Feersum/Repl.fs @@ -7,16 +7,20 @@ open Feersum.CompilerServices.Syntax open Feersum.CompilerServices.Eval open Feersum.CompilerServices.Diagnostics open Feersum.Core +open Feersum.CompilerServices.Compile +open Feersum.CompilerServices.Syntax.Tree +open Feersum.CompilerServices.Text +open Feersum.CompilerServices.Syntax.Parse /// Read a single line of user input and parse it into a /// syntax tree. If the input can't be parsed then read /// again. -let rec private read () : LegacyNode = +let rec private read () : CompileInput = let line = ReadLine.Read("§> ") - match LegacyParse.readExpr line with - | (node, []) -> node - | (_, diagnostics) -> + match Parse.readExpr1 "repl" line |> ParseResult.toResult with + | Result.Ok tree -> CompileInput.Script(TextDocument.fromParts "repl" line, tree) + | Result.Error diagnostics -> diagnostics |> dumpDiagnostics read () diff --git a/test/Feersum.Tests/EvalTests.fs b/test/Feersum.Tests/EvalTests.fs index e801853..679d5f2 100644 --- a/test/Feersum.Tests/EvalTests.fs +++ b/test/Feersum.Tests/EvalTests.fs @@ -4,100 +4,103 @@ open Xunit open Feersum.CompilerServices.Eval open Feersum.CompilerServices.Syntax -open Feersum.CompilerServices.Syntax.LegacyParse open SyntaxUtils open SyntaxFactory open Feersum.CompilerServices.Utils +open Feersum.CompilerServices.Syntax.Parse +open Feersum.CompilerServices.Compile +open Feersum.CompilerServices.Text let feeri = eval >> Result.unwrap >> cilExternalRepr - let private tryReadSingle expr = - match readExpr expr with - | (o, []) -> o - | (_, diagnostics) -> failwithf "parse error %A" diagnostics - -[] -let ``Evaluate atoms`` () = - Assert.Equal("#t", feeri (Boolean true |> constant)) - Assert.Equal("#f", feeri (Boolean false |> constant)) - Assert.Equal(@"""hello""", feeri (Str "hello" |> constant)) - Assert.Equal("1337", feeri (Number 1337.0 |> constant)) - Assert.Equal("123.456", feeri (Number 123.456 |> constant)) - -[] -let ``Evaluate lists`` () = - Assert.Equal("132", feeri (Seq [ Boolean false |> constant; Number 132.0 |> constant ] |> node)) - - Assert.Equal("#t", feeri (Seq [ Boolean true |> constant ] |> node)) - -[] -let ``Evaluate empty program`` () = - Assert.Equal("; Unspecified value", feeri (Seq [] |> node)) - -[] -let ``Evaluate lambdas returns`` () = - Assert.Equal( - "123", - feeri ( - Form - [ Form - [ Ident "lambda" |> node - Form [ Ident "x" |> node ] |> node - Ident "x" |> node ] - |> node - Number 123.0 |> constant ] - |> node - ) - ) - -[] -let ``Evaluate builtins`` () = - Assert.Equal( - "19", - feeri ( - Form [ Ident "+" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] - |> node - ) - ) - - Assert.Equal("901", feeri (Form [ Ident "+" |> node; Number 901.0 |> constant ] |> node)) - - Assert.Equal( - "90", - feeri ( - Form [ Ident "*" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] - |> node - ) - ) - - Assert.Equal( - "901", - feeri ( - Form - [ Ident "+" |> node - Form [ Ident "*" |> node; Number 100.0 |> constant; Number 9.0 |> constant ] - |> node - Number 1.0 |> constant ] - |> node - ) - ) - - Assert.Equal( - "1", - feeri ( - Form [ Ident "-" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] - |> node - ) - ) - - Assert.Equal( - "2", - feeri ( - Form [ Ident "/" |> node; Number 16.0 |> constant; Number 8.0 |> constant ] - |> node - ) - ) + let script = readExpr expr |> ParseResult.toResult |> Result.unwrap + let doc = TextDocument.fromParts "test" expr + CompileInput.Script(doc, script) + +// FIXME: Eval of legacy node types + +// [] +// let ``Evaluate atoms`` () = +// Assert.Equal("#t", feeri (Boolean true |> constant)) +// Assert.Equal("#f", feeri (Boolean false |> constant)) +// Assert.Equal(@"""hello""", feeri (Str "hello" |> constant)) +// Assert.Equal("1337", feeri (Number 1337.0 |> constant)) +// Assert.Equal("123.456", feeri (Number 123.456 |> constant)) + +// [] +// let ``Evaluate lists`` () = +// Assert.Equal("132", feeri (Seq [ Boolean false |> constant; Number 132.0 |> constant ] |> node)) + +// Assert.Equal("#t", feeri (Seq [ Boolean true |> constant ] |> node)) + +// [] +// let ``Evaluate empty program`` () = +// Assert.Equal("; Unspecified value", feeri (Seq [] |> node)) + +// [] +// let ``Evaluate lambdas returns`` () = +// Assert.Equal( +// "123", +// feeri ( +// Form +// [ Form +// [ Ident "lambda" |> node +// Form [ Ident "x" |> node ] |> node +// Ident "x" |> node ] +// |> node +// Number 123.0 |> constant ] +// |> node +// ) +// ) + +// [] +// let ``Evaluate builtins`` () = +// Assert.Equal( +// "19", +// feeri ( +// Form [ Ident "+" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] +// |> node +// ) +// ) + +// Assert.Equal("901", feeri (Form [ Ident "+" |> node; Number 901.0 |> constant ] |> node)) + +// Assert.Equal( +// "90", +// feeri ( +// Form [ Ident "*" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] +// |> node +// ) +// ) + +// Assert.Equal( +// "901", +// feeri ( +// Form +// [ Ident "+" |> node +// Form [ Ident "*" |> node; Number 100.0 |> constant; Number 9.0 |> constant ] +// |> node +// Number 1.0 |> constant ] +// |> node +// ) +// ) + +// Assert.Equal( +// "1", +// feeri ( +// Form [ Ident "-" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] +// |> node +// ) +// ) + +// Assert.Equal( +// "2", +// feeri ( +// Form [ Ident "/" |> node; Number 16.0 |> constant; Number 8.0 |> constant ] +// |> node +// ) +// ) [] [] @@ -124,16 +127,17 @@ let ``evaluate artithemtic ops`` expr result = let expr = tryReadSingle expr Assert.Equal(result, feeri (expr)) -[] -[] -[")>] -[] -[=")>] -[] -let ``comp ops return true for simple cases`` op = - Assert.Equal("#t", feeri (Form [ Ident op |> node ] |> node)) - - Assert.Equal("#t", feeri (Form [ Ident op |> node; Number 123.456 |> constant ] |> node)) +// FIXME: Eval of legacy node types +// [] +// [] +// [")>] +// [] +// [=")>] +// [] +// let ``comp ops return true for simple cases`` op = +// Assert.Equal("#t", feeri (Form [ Ident op |> node ] |> node)) + +// Assert.Equal("#t", feeri (Form [ Ident op |> node; Number 123.456 |> constant ] |> node)) [] [] From 76798ea8776faac7c1dd55e1c80fd4a1be293384 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Tue, 18 Jun 2024 18:20:03 +0100 Subject: [PATCH 03/15] Remove More Legacy Parse Methods --- src/Feersum.CompilerServices/Syntax/Legacy.fs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Legacy.fs b/src/Feersum.CompilerServices/Syntax/Legacy.fs index ace2481..547a763 100644 --- a/src/Feersum.CompilerServices/Syntax/Legacy.fs +++ b/src/Feersum.CompilerServices/Syntax/Legacy.fs @@ -96,7 +96,6 @@ module SyntaxShim = module LegacyParse = open Feersum.CompilerServices.Syntax.Parse - open System.IO let private runParserOnString name source = let doc = TextDocument.fromParts name source @@ -112,8 +111,3 @@ module LegacyParse = /// Read a single expression from the input text let readExpr = readExpr1 "repl" - - /// Read an expression from source code on disk - let parseFile path : (LegacyNode * Diagnostic list) = - let source = File.ReadAllText(path) - runParserOnString path source From b561398c4a9d7c5203878a66d30d55a8a2cb28a6 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Tue, 18 Jun 2024 18:22:15 +0100 Subject: [PATCH 04/15] Expect EOF After Programs Fixes a bug where trailing junk would not be identified as an error in parsing. --- src/Feersum.CompilerServices/Syntax/Parse.fs | 2 ++ src/Feersum/Repl.fs | 1 - test/Feersum.Tests/_snapshots/Parse_begin.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_booleans.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_builtins.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_characters.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_collatz.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_comment.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_conditions.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_cxr.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json | 2 +- test/Feersum.Tests/_snapshots/Parse_display.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_dragons.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_envtest.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_fact.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json | 2 +- .../_snapshots/Parse_fail/bad-library-names-parsefail.scm.json | 2 +- .../_snapshots/Parse_fail/bad-library-names.scm.json | 2 +- .../_snapshots/Parse_fail/bad-strings-and-idents.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_false.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_fib.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_gcd.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_hello.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_importtest.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_let.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_libs.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_lists.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_literals.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_locals.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_null.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_parameters.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_process-context.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_qsort.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_quotes.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_string-join.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_strings.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_swapit.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_symbols.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_tail.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_time.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_vectors.scm.json | 2 +- test/Feersum.Tests/_snapshots/Parse_zed.scm.json | 2 +- 66 files changed, 66 insertions(+), 65 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Parse.fs b/src/Feersum.CompilerServices/Syntax/Parse.fs index 271195f..229fcea 100644 --- a/src/Feersum.CompilerServices/Syntax/Parse.fs +++ b/src/Feersum.CompilerServices/Syntax/Parse.fs @@ -295,6 +295,7 @@ and private parseExprSeq builder endKinds state = let private parseProgram (builder: GreenNodeBuilder) state : ParseResult = skipAtmosphere builder state |> parseExprSeq builder [ TokenKind.EndOfFile ] + |> expect builder TokenKind.EndOfFile AstKind.EOF |> ParserState.finalise builder AstKind.PROGRAM /// Parse Expression @@ -303,6 +304,7 @@ let private parseProgram (builder: GreenNodeBuilder) state : ParseResult = skipAtmosphere builder state |> parseExpr builder + |> expect builder TokenKind.EndOfFile AstKind.EOF |> ParserState.finalise builder AstKind.SCRIPT_PROGRAM // =============================== Public API ================================== diff --git a/src/Feersum/Repl.fs b/src/Feersum/Repl.fs index 441fe46..c3dccf2 100644 --- a/src/Feersum/Repl.fs +++ b/src/Feersum/Repl.fs @@ -8,7 +8,6 @@ open Feersum.CompilerServices.Eval open Feersum.CompilerServices.Diagnostics open Feersum.Core open Feersum.CompilerServices.Compile -open Feersum.CompilerServices.Syntax.Tree open Feersum.CompilerServices.Text open Feersum.CompilerServices.Syntax.Parse diff --git a/test/Feersum.Tests/_snapshots/Parse_begin.scm.json b/test/Feersum.Tests/_snapshots/Parse_begin.scm.json index e91bf1c..95c18c1 100644 --- a/test/Feersum.Tests/_snapshots/Parse_begin.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_begin.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..272)\n ATMOSPHERE: (0..66) \";; The `begin` special form takes a sequence and returns the value\"\n ATMOSPHERE: (66..67) \"\n\"\n ATMOSPHERE: (67..93) \";; of the last expression.\"\n ATMOSPHERE: (93..94) \"\n\"\n FORM: (94..262)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..100)\n IDENTIFIER: (95..100) \"begin\"\n ATMOSPHERE: (100..105) \"\n \"\n CONSTANT: (105..107)\n NUMBER: (105..107) \"12\"\n ATMOSPHERE: (107..112) \"\n \"\n FORM: (112..164)\n OPEN_PAREN: (112..113) \"(\"\n SYMBOL: (113..118)\n IDENTIFIER: (113..118) \"begin\"\n ATMOSPHERE: (118..128) \" \n \"\n CONSTANT: (128..135)\n STRING: (128..135) \"\"hello\"\"\n ATMOSPHERE: (135..144) \"\n \"\n CONSTANT: (144..147)\n NUMBER: (144..147) \"123\"\n ATMOSPHERE: (147..156) \"\n \"\n CONSTANT: (156..163)\n STRING: (156..163) \"\"world\"\"\n CLOSE_PAREN: (163..164) \")\"\n ATMOSPHERE: (164..169) \"\n \"\n CONSTANT: (169..182)\n STRING: (169..182) \"\"hello world\"\"\n ATMOSPHERE: (182..187) \"\n \"\n FORM: (187..261)\n OPEN_PAREN: (187..188) \"(\"\n SYMBOL: (188..190)\n IDENTIFIER: (188..190) \"if\"\n ATMOSPHERE: (190..191) \" \"\n FORM: (191..210)\n OPEN_PAREN: (191..192) \"(\"\n SYMBOL: (192..197)\n IDENTIFIER: (192..197) \"begin\"\n ATMOSPHERE: (197..198) \" \"\n CONSTANT: (198..200)\n BOOLEAN: (198..200) \"#f\"\n ATMOSPHERE: (200..201) \" \"\n CONSTANT: (201..203)\n BOOLEAN: (201..203) \"#t\"\n ATMOSPHERE: (203..204) \" \"\n CONSTANT: (204..206)\n BOOLEAN: (204..206) \"#f\"\n ATMOSPHERE: (206..207) \" \"\n CONSTANT: (207..209)\n BOOLEAN: (207..209) \"#t\"\n CLOSE_PAREN: (209..210) \")\"\n ATMOSPHERE: (210..219) \"\n \"\n FORM: (219..235)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..225)\n IDENTIFIER: (220..225) \"begin\"\n ATMOSPHERE: (225..226) \" \"\n CONSTANT: (226..227)\n NUMBER: (226..227) \"1\"\n ATMOSPHERE: (227..228) \" \"\n CONSTANT: (228..229)\n NUMBER: (228..229) \"2\"\n ATMOSPHERE: (229..230) \" \"\n CONSTANT: (230..231)\n NUMBER: (230..231) \"3\"\n ATMOSPHERE: (231..232) \" \"\n CONSTANT: (232..234)\n NUMBER: (232..234) \"45\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..244) \"\n \"\n FORM: (244..260)\n OPEN_PAREN: (244..245) \"(\"\n SYMBOL: (245..250)\n IDENTIFIER: (245..250) \"begin\"\n ATMOSPHERE: (250..251) \" \"\n CONSTANT: (251..253)\n NUMBER: (251..253) \"-2\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..256)\n NUMBER: (254..256) \"-3\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..259)\n NUMBER: (257..259) \"-9\"\n CLOSE_PAREN: (259..260) \")\"\n CLOSE_PAREN: (260..261) \")\"\n CLOSE_PAREN: (261..262) \")\"\n ATMOSPHERE: (262..265) \" \"\n ATMOSPHERE: (265..272) \"; ~> 45\"\n" + "Root": "PROGRAM: (0..272)\n ATMOSPHERE: (0..66) \";; The `begin` special form takes a sequence and returns the value\"\n ATMOSPHERE: (66..67) \"\n\"\n ATMOSPHERE: (67..93) \";; of the last expression.\"\n ATMOSPHERE: (93..94) \"\n\"\n FORM: (94..262)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..100)\n IDENTIFIER: (95..100) \"begin\"\n ATMOSPHERE: (100..105) \"\n \"\n CONSTANT: (105..107)\n NUMBER: (105..107) \"12\"\n ATMOSPHERE: (107..112) \"\n \"\n FORM: (112..164)\n OPEN_PAREN: (112..113) \"(\"\n SYMBOL: (113..118)\n IDENTIFIER: (113..118) \"begin\"\n ATMOSPHERE: (118..128) \" \n \"\n CONSTANT: (128..135)\n STRING: (128..135) \"\"hello\"\"\n ATMOSPHERE: (135..144) \"\n \"\n CONSTANT: (144..147)\n NUMBER: (144..147) \"123\"\n ATMOSPHERE: (147..156) \"\n \"\n CONSTANT: (156..163)\n STRING: (156..163) \"\"world\"\"\n CLOSE_PAREN: (163..164) \")\"\n ATMOSPHERE: (164..169) \"\n \"\n CONSTANT: (169..182)\n STRING: (169..182) \"\"hello world\"\"\n ATMOSPHERE: (182..187) \"\n \"\n FORM: (187..261)\n OPEN_PAREN: (187..188) \"(\"\n SYMBOL: (188..190)\n IDENTIFIER: (188..190) \"if\"\n ATMOSPHERE: (190..191) \" \"\n FORM: (191..210)\n OPEN_PAREN: (191..192) \"(\"\n SYMBOL: (192..197)\n IDENTIFIER: (192..197) \"begin\"\n ATMOSPHERE: (197..198) \" \"\n CONSTANT: (198..200)\n BOOLEAN: (198..200) \"#f\"\n ATMOSPHERE: (200..201) \" \"\n CONSTANT: (201..203)\n BOOLEAN: (201..203) \"#t\"\n ATMOSPHERE: (203..204) \" \"\n CONSTANT: (204..206)\n BOOLEAN: (204..206) \"#f\"\n ATMOSPHERE: (206..207) \" \"\n CONSTANT: (207..209)\n BOOLEAN: (207..209) \"#t\"\n CLOSE_PAREN: (209..210) \")\"\n ATMOSPHERE: (210..219) \"\n \"\n FORM: (219..235)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..225)\n IDENTIFIER: (220..225) \"begin\"\n ATMOSPHERE: (225..226) \" \"\n CONSTANT: (226..227)\n NUMBER: (226..227) \"1\"\n ATMOSPHERE: (227..228) \" \"\n CONSTANT: (228..229)\n NUMBER: (228..229) \"2\"\n ATMOSPHERE: (229..230) \" \"\n CONSTANT: (230..231)\n NUMBER: (230..231) \"3\"\n ATMOSPHERE: (231..232) \" \"\n CONSTANT: (232..234)\n NUMBER: (232..234) \"45\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..244) \"\n \"\n FORM: (244..260)\n OPEN_PAREN: (244..245) \"(\"\n SYMBOL: (245..250)\n IDENTIFIER: (245..250) \"begin\"\n ATMOSPHERE: (250..251) \" \"\n CONSTANT: (251..253)\n NUMBER: (251..253) \"-2\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..256)\n NUMBER: (254..256) \"-3\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..259)\n NUMBER: (257..259) \"-9\"\n CLOSE_PAREN: (259..260) \")\"\n CLOSE_PAREN: (260..261) \")\"\n CLOSE_PAREN: (261..262) \")\"\n ATMOSPHERE: (262..265) \" \"\n ATMOSPHERE: (265..272) \"; ~> 45\"\n EOF: (272..272) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json b/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json index e2b8327..6cdef7a 100644 --- a/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..1176)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n ATMOSPHERE: (42..76) \";; Boolean literals and truthiness\"\n ATMOSPHERE: (76..77) \"\n\"\n FORM: (77..531)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..85)\n IDENTIFIER: (78..85) \"display\"\n ATMOSPHERE: (85..86) \" \"\n FORM: (86..530)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..91)\n IDENTIFIER: (87..91) \"list\"\n ATMOSPHERE: (91..96) \"\n \"\n CONSTANT: (96..98)\n BOOLEAN: (96..98) \"#f\"\n ATMOSPHERE: (98..103) \"\n \"\n CONSTANT: (103..109)\n BOOLEAN: (103..109) \"#false\"\n ATMOSPHERE: (109..114) \"\n \"\n CONSTANT: (114..116)\n BOOLEAN: (114..116) \"#t\"\n ATMOSPHERE: (116..121) \"\n \"\n CONSTANT: (121..126)\n BOOLEAN: (121..126) \"#true\"\n ATMOSPHERE: (126..131) \"\n \"\n FORM: (131..145)\n OPEN_PAREN: (131..132) \"(\"\n SYMBOL: (132..135)\n IDENTIFIER: (132..135) \"eq?\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..138)\n BOOLEAN: (136..138) \"#t\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..144)\n BOOLEAN: (139..144) \"#true\"\n CLOSE_PAREN: (144..145) \")\"\n ATMOSPHERE: (145..150) \"\n \"\n FORM: (150..165)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..155)\n IDENTIFIER: (151..155) \"eqv?\"\n ATMOSPHERE: (155..156) \" \"\n CONSTANT: (156..158)\n BOOLEAN: (156..158) \"#t\"\n ATMOSPHERE: (158..159) \" \"\n CONSTANT: (159..164)\n BOOLEAN: (159..164) \"#true\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..170) \"\n \"\n FORM: (170..187)\n OPEN_PAREN: (170..171) \"(\"\n SYMBOL: (171..177)\n IDENTIFIER: (171..177) \"equal?\"\n ATMOSPHERE: (177..178) \" \"\n CONSTANT: (178..180)\n BOOLEAN: (178..180) \"#t\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..186)\n BOOLEAN: (181..186) \"#true\"\n CLOSE_PAREN: (186..187) \")\"\n ATMOSPHERE: (187..192) \"\n \"\n FORM: (192..207)\n OPEN_PAREN: (192..193) \"(\"\n SYMBOL: (193..196)\n IDENTIFIER: (193..196) \"eq?\"\n ATMOSPHERE: (196..197) \" \"\n CONSTANT: (197..199)\n BOOLEAN: (197..199) \"#f\"\n ATMOSPHERE: (199..200) \" \"\n CONSTANT: (200..206)\n BOOLEAN: (200..206) \"#false\"\n CLOSE_PAREN: (206..207) \")\"\n ATMOSPHERE: (207..212) \"\n \"\n FORM: (212..228)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..217)\n IDENTIFIER: (213..217) \"eqv?\"\n ATMOSPHERE: (217..218) \" \"\n CONSTANT: (218..220)\n BOOLEAN: (218..220) \"#f\"\n ATMOSPHERE: (220..221) \" \"\n CONSTANT: (221..227)\n BOOLEAN: (221..227) \"#false\"\n CLOSE_PAREN: (227..228) \")\"\n ATMOSPHERE: (228..233) \"\n \"\n FORM: (233..251)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..240)\n IDENTIFIER: (234..240) \"equal?\"\n ATMOSPHERE: (240..241) \" \"\n CONSTANT: (241..243)\n BOOLEAN: (241..243) \"#f\"\n ATMOSPHERE: (243..244) \" \"\n CONSTANT: (244..250)\n BOOLEAN: (244..250) \"#false\"\n CLOSE_PAREN: (250..251) \")\"\n ATMOSPHERE: (251..256) \"\n \"\n FORM: (256..303)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..259)\n IDENTIFIER: (257..259) \"if\"\n ATMOSPHERE: (259..260) \" \"\n FORM: (260..274)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..264)\n IDENTIFIER: (261..264) \"eq?\"\n ATMOSPHERE: (264..265) \" \"\n CONSTANT: (265..267)\n BOOLEAN: (265..267) \"#f\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..273)\n BOOLEAN: (268..273) \"#true\"\n CLOSE_PAREN: (273..274) \")\"\n ATMOSPHERE: (274..283) \"\n \"\n QUOTED_DATUM: (283..297)\n QUOTE: (283..284) \"'\"\n SYMBOL: (284..288)\n IDENTIFIER: (284..288) \"fail\"\n ATMOSPHERE: (288..297) \"\n \"\n QUOTED_DATUM: (297..302)\n QUOTE: (297..298) \"'\"\n SYMBOL: (298..302)\n IDENTIFIER: (298..302) \"pass\"\n CLOSE_PAREN: (302..303) \")\"\n ATMOSPHERE: (303..308) \"\n \"\n FORM: (308..355)\n OPEN_PAREN: (308..309) \"(\"\n SYMBOL: (309..311)\n IDENTIFIER: (309..311) \"if\"\n ATMOSPHERE: (311..312) \" \"\n FORM: (312..326)\n OPEN_PAREN: (312..313) \"(\"\n SYMBOL: (313..319)\n IDENTIFIER: (313..319) \"equal?\"\n ATMOSPHERE: (319..320) \" \"\n CONSTANT: (320..322)\n BOOLEAN: (320..322) \"#t\"\n ATMOSPHERE: (322..323) \" \"\n CONSTANT: (323..325)\n BOOLEAN: (323..325) \"#f\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..335) \"\n \"\n QUOTED_DATUM: (335..349)\n QUOTE: (335..336) \"'\"\n SYMBOL: (336..340)\n IDENTIFIER: (336..340) \"fail\"\n ATMOSPHERE: (340..349) \"\n \"\n QUOTED_DATUM: (349..354)\n QUOTE: (349..350) \"'\"\n SYMBOL: (350..354)\n IDENTIFIER: (350..354) \"pass\"\n CLOSE_PAREN: (354..355) \")\"\n ATMOSPHERE: (355..360) \"\n \"\n FORM: (360..395)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..363)\n IDENTIFIER: (361..363) \"if\"\n ATMOSPHERE: (363..364) \" \"\n CONSTANT: (364..366)\n BOOLEAN: (364..366) \"#f\"\n ATMOSPHERE: (366..375) \"\n \"\n QUOTED_DATUM: (375..389)\n QUOTE: (375..376) \"'\"\n SYMBOL: (376..380)\n IDENTIFIER: (376..380) \"fail\"\n ATMOSPHERE: (380..389) \"\n \"\n QUOTED_DATUM: (389..394)\n QUOTE: (389..390) \"'\"\n SYMBOL: (390..394)\n IDENTIFIER: (390..394) \"pass\"\n CLOSE_PAREN: (394..395) \")\"\n ATMOSPHERE: (395..400) \"\n \"\n FORM: (400..435)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..403)\n IDENTIFIER: (401..403) \"if\"\n ATMOSPHERE: (403..404) \" \"\n CONSTANT: (404..406)\n BOOLEAN: (404..406) \"#t\"\n ATMOSPHERE: (406..415) \"\n \"\n QUOTED_DATUM: (415..429)\n QUOTE: (415..416) \"'\"\n SYMBOL: (416..420)\n IDENTIFIER: (416..420) \"pass\"\n ATMOSPHERE: (420..429) \"\n \"\n QUOTED_DATUM: (429..434)\n QUOTE: (429..430) \"'\"\n SYMBOL: (430..434)\n IDENTIFIER: (430..434) \"fail\"\n CLOSE_PAREN: (434..435) \")\"\n ATMOSPHERE: (435..440) \"\n \"\n FORM: (440..476)\n OPEN_PAREN: (440..441) \"(\"\n SYMBOL: (441..443)\n IDENTIFIER: (441..443) \"if\"\n ATMOSPHERE: (443..444) \" \"\n QUOTED_DATUM: (444..456)\n QUOTE: (444..445) \"'\"\n FORM: (445..447)\n OPEN_PAREN: (445..446) \"(\"\n CLOSE_PAREN: (446..447) \")\"\n ATMOSPHERE: (447..456) \"\n \"\n QUOTED_DATUM: (456..470)\n QUOTE: (456..457) \"'\"\n SYMBOL: (457..461)\n IDENTIFIER: (457..461) \"pass\"\n ATMOSPHERE: (461..470) \"\n \"\n QUOTED_DATUM: (470..475)\n QUOTE: (470..471) \"'\"\n SYMBOL: (471..475)\n IDENTIFIER: (471..475) \"fail\"\n CLOSE_PAREN: (475..476) \")\"\n ATMOSPHERE: (476..481) \"\n \"\n FORM: (481..524)\n OPEN_PAREN: (481..482) \"(\"\n SYMBOL: (482..484)\n IDENTIFIER: (482..484) \"if\"\n ATMOSPHERE: (484..485) \" \"\n QUOTED_DATUM: (485..504)\n QUOTE: (485..486) \"'\"\n SYMBOL: (486..495)\n IDENTIFIER: (486..495) \"something\"\n ATMOSPHERE: (495..504) \"\n \"\n QUOTED_DATUM: (504..518)\n QUOTE: (504..505) \"'\"\n SYMBOL: (505..509)\n IDENTIFIER: (505..509) \"pass\"\n ATMOSPHERE: (509..518) \"\n \"\n QUOTED_DATUM: (518..523)\n QUOTE: (518..519) \"'\"\n SYMBOL: (519..523)\n IDENTIFIER: (519..523) \"fail\"\n CLOSE_PAREN: (523..524) \")\"\n ATMOSPHERE: (524..529) \"\n \"\n CLOSE_PAREN: (529..530) \")\"\n CLOSE_PAREN: (530..531) \")\"\n FORM: (531..540)\n OPEN_PAREN: (531..532) \"(\"\n SYMBOL: (532..539)\n IDENTIFIER: (532..539) \"newline\"\n CLOSE_PAREN: (539..540) \")\"\n ATMOSPHERE: (540..541) \"\n\"\n ATMOSPHERE: (541..590) \";; Quoting of boolean values does nothing to them\"\n ATMOSPHERE: (590..591) \"\n\"\n FORM: (591..626)\n OPEN_PAREN: (591..592) \"(\"\n SYMBOL: (592..599)\n IDENTIFIER: (592..599) \"display\"\n ATMOSPHERE: (599..600) \" \"\n FORM: (600..625)\n OPEN_PAREN: (600..601) \"(\"\n SYMBOL: (601..605)\n IDENTIFIER: (601..605) \"list\"\n ATMOSPHERE: (605..610) \"\n \"\n QUOTED_DATUM: (610..618)\n QUOTE: (610..611) \"'\"\n CONSTANT: (611..613)\n BOOLEAN: (611..613) \"#f\"\n ATMOSPHERE: (613..618) \"\n \"\n QUOTED_DATUM: (618..624)\n QUOTE: (618..619) \"'\"\n CONSTANT: (619..624)\n BOOLEAN: (619..624) \"#true\"\n CLOSE_PAREN: (624..625) \")\"\n CLOSE_PAREN: (625..626) \")\"\n FORM: (626..635)\n OPEN_PAREN: (626..627) \"(\"\n SYMBOL: (627..634)\n IDENTIFIER: (627..634) \"newline\"\n CLOSE_PAREN: (634..635) \")\"\n ATMOSPHERE: (635..636) \"\n\"\n ATMOSPHERE: (636..693) \";; Boolean procedures, we don't have many of them builtin\"\n ATMOSPHERE: (693..694) \"\n\"\n FORM: (694..1167)\n OPEN_PAREN: (694..695) \"(\"\n SYMBOL: (695..702)\n IDENTIFIER: (695..702) \"display\"\n ATMOSPHERE: (702..703) \" \"\n FORM: (703..1166)\n OPEN_PAREN: (703..704) \"(\"\n SYMBOL: (704..708)\n IDENTIFIER: (704..708) \"list\"\n ATMOSPHERE: (708..713) \"\n \"\n FORM: (713..721)\n OPEN_PAREN: (713..714) \"(\"\n SYMBOL: (714..717)\n IDENTIFIER: (714..717) \"not\"\n ATMOSPHERE: (717..718) \" \"\n CONSTANT: (718..720)\n BOOLEAN: (718..720) \"#t\"\n CLOSE_PAREN: (720..721) \")\"\n ATMOSPHERE: (721..722) \" \"\n ATMOSPHERE: (722..729) \"; -> #f\"\n ATMOSPHERE: (729..734) \"\n \"\n FORM: (734..741)\n OPEN_PAREN: (734..735) \"(\"\n SYMBOL: (735..738)\n IDENTIFIER: (735..738) \"not\"\n ATMOSPHERE: (738..739) \" \"\n CONSTANT: (739..740)\n NUMBER: (739..740) \"3\"\n CLOSE_PAREN: (740..741) \")\"\n ATMOSPHERE: (741..742) \" \"\n ATMOSPHERE: (742..749) \"; -> #f\"\n ATMOSPHERE: (749..754) \"\n \"\n FORM: (754..768)\n OPEN_PAREN: (754..755) \"(\"\n SYMBOL: (755..758)\n IDENTIFIER: (755..758) \"not\"\n ATMOSPHERE: (758..759) \" \"\n FORM: (759..767)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..764)\n IDENTIFIER: (760..764) \"list\"\n ATMOSPHERE: (764..765) \" \"\n CONSTANT: (765..766)\n NUMBER: (765..766) \"3\"\n CLOSE_PAREN: (766..767) \")\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..769) \" \"\n ATMOSPHERE: (769..776) \"; -> #f\"\n ATMOSPHERE: (776..781) \"\n \"\n FORM: (781..789)\n OPEN_PAREN: (781..782) \"(\"\n SYMBOL: (782..785)\n IDENTIFIER: (782..785) \"not\"\n ATMOSPHERE: (785..786) \" \"\n CONSTANT: (786..788)\n BOOLEAN: (786..788) \"#f\"\n CLOSE_PAREN: (788..789) \")\"\n ATMOSPHERE: (789..790) \" \"\n ATMOSPHERE: (790..797) \"; -> #t\"\n ATMOSPHERE: (797..802) \"\n \"\n FORM: (802..811)\n OPEN_PAREN: (802..803) \"(\"\n SYMBOL: (803..806)\n IDENTIFIER: (803..806) \"not\"\n ATMOSPHERE: (806..807) \" \"\n QUOTED_DATUM: (807..810)\n QUOTE: (807..808) \"’\"\n FORM: (808..810)\n OPEN_PAREN: (808..809) \"(\"\n CLOSE_PAREN: (809..810) \")\"\n CLOSE_PAREN: (810..811) \")\"\n ATMOSPHERE: (811..812) \" \"\n ATMOSPHERE: (812..819) \"; -> #f\"\n ATMOSPHERE: (819..824) \"\n \"\n FORM: (824..836)\n OPEN_PAREN: (824..825) \"(\"\n SYMBOL: (825..828)\n IDENTIFIER: (825..828) \"not\"\n ATMOSPHERE: (828..829) \" \"\n FORM: (829..835)\n OPEN_PAREN: (829..830) \"(\"\n SYMBOL: (830..834)\n IDENTIFIER: (830..834) \"list\"\n CLOSE_PAREN: (834..835) \")\"\n CLOSE_PAREN: (835..836) \")\"\n ATMOSPHERE: (836..837) \" \"\n ATMOSPHERE: (837..844) \"; -> #f\"\n ATMOSPHERE: (844..849) \"\n \"\n FORM: (849..859)\n OPEN_PAREN: (849..850) \"(\"\n SYMBOL: (850..853)\n IDENTIFIER: (850..853) \"not\"\n ATMOSPHERE: (853..854) \" \"\n QUOTED_DATUM: (854..858)\n QUOTE: (854..855) \"’\"\n SYMBOL: (855..858)\n IDENTIFIER: (855..858) \"nil\"\n CLOSE_PAREN: (858..859) \")\"\n ATMOSPHERE: (859..860) \" \"\n ATMOSPHERE: (860..867) \"; -> #f\"\n ATMOSPHERE: (867..873) \"\n\n \"\n FORM: (873..886)\n OPEN_PAREN: (873..874) \"(\"\n SYMBOL: (874..882)\n IDENTIFIER: (874..882) \"boolean?\"\n ATMOSPHERE: (882..883) \" \"\n CONSTANT: (883..885)\n BOOLEAN: (883..885) \"#f\"\n CLOSE_PAREN: (885..886) \")\"\n ATMOSPHERE: (886..887) \" \"\n ATMOSPHERE: (887..894) \"; -> #t\"\n ATMOSPHERE: (894..899) \"\n \"\n FORM: (899..911)\n OPEN_PAREN: (899..900) \"(\"\n SYMBOL: (900..908)\n IDENTIFIER: (900..908) \"boolean?\"\n ATMOSPHERE: (908..909) \" \"\n CONSTANT: (909..910)\n NUMBER: (909..910) \"0\"\n CLOSE_PAREN: (910..911) \")\"\n ATMOSPHERE: (911..912) \" \"\n ATMOSPHERE: (912..919) \"; -> #f\"\n ATMOSPHERE: (919..924) \"\n \"\n FORM: (924..938)\n OPEN_PAREN: (924..925) \"(\"\n SYMBOL: (925..933)\n IDENTIFIER: (925..933) \"boolean?\"\n ATMOSPHERE: (933..934) \" \"\n QUOTED_DATUM: (934..937)\n QUOTE: (934..935) \"’\"\n FORM: (935..937)\n OPEN_PAREN: (935..936) \"(\"\n CLOSE_PAREN: (936..937) \")\"\n CLOSE_PAREN: (937..938) \")\"\n ATMOSPHERE: (938..939) \" \"\n ATMOSPHERE: (939..946) \"; -> #f\"\n ATMOSPHERE: (946..956) \"\n \n \"\n FORM: (956..976)\n OPEN_PAREN: (956..957) \"(\"\n SYMBOL: (957..966)\n IDENTIFIER: (957..966) \"boolean=?\"\n ATMOSPHERE: (966..967) \" \"\n CONSTANT: (967..969)\n BOOLEAN: (967..969) \"#t\"\n ATMOSPHERE: (969..970) \" \"\n CONSTANT: (970..972)\n BOOLEAN: (970..972) \"#t\"\n ATMOSPHERE: (972..973) \" \"\n CONSTANT: (973..975)\n BOOLEAN: (973..975) \"#t\"\n CLOSE_PAREN: (975..976) \")\"\n ATMOSPHERE: (976..981) \"\n \"\n FORM: (981..1001)\n OPEN_PAREN: (981..982) \"(\"\n SYMBOL: (982..991)\n IDENTIFIER: (982..991) \"boolean=?\"\n ATMOSPHERE: (991..992) \" \"\n CONSTANT: (992..994)\n BOOLEAN: (992..994) \"#t\"\n ATMOSPHERE: (994..995) \" \"\n CONSTANT: (995..997)\n BOOLEAN: (995..997) \"#f\"\n ATMOSPHERE: (997..998) \" \"\n CONSTANT: (998..1000)\n BOOLEAN: (998..1000) \"#t\"\n CLOSE_PAREN: (1000..1001) \")\"\n ATMOSPHERE: (1001..1006) \"\n \"\n FORM: (1006..1032)\n OPEN_PAREN: (1006..1007) \"(\"\n SYMBOL: (1007..1016)\n IDENTIFIER: (1007..1016) \"boolean=?\"\n ATMOSPHERE: (1016..1017) \" \"\n CONSTANT: (1017..1019)\n BOOLEAN: (1017..1019) \"#f\"\n ATMOSPHERE: (1019..1020) \" \"\n CONSTANT: (1020..1022)\n BOOLEAN: (1020..1022) \"#f\"\n ATMOSPHERE: (1022..1023) \" \"\n CONSTANT: (1023..1025)\n BOOLEAN: (1023..1025) \"#f\"\n ATMOSPHERE: (1025..1026) \" \"\n CONSTANT: (1026..1028)\n BOOLEAN: (1026..1028) \"#f\"\n ATMOSPHERE: (1028..1029) \" \"\n CONSTANT: (1029..1031)\n BOOLEAN: (1029..1031) \"#t\"\n CLOSE_PAREN: (1031..1032) \")\"\n ATMOSPHERE: (1032..1037) \"\n \"\n FORM: (1037..1060)\n OPEN_PAREN: (1037..1038) \"(\"\n SYMBOL: (1038..1047)\n IDENTIFIER: (1038..1047) \"boolean=?\"\n ATMOSPHERE: (1047..1048) \" \"\n CONSTANT: (1048..1050)\n BOOLEAN: (1048..1050) \"#f\"\n ATMOSPHERE: (1050..1051) \" \"\n CONSTANT: (1051..1053)\n BOOLEAN: (1051..1053) \"#f\"\n ATMOSPHERE: (1053..1054) \" \"\n CONSTANT: (1054..1056)\n BOOLEAN: (1054..1056) \"#f\"\n ATMOSPHERE: (1056..1057) \" \"\n CONSTANT: (1057..1059)\n BOOLEAN: (1057..1059) \"#f\"\n CLOSE_PAREN: (1059..1060) \")\"\n ATMOSPHERE: (1060..1065) \"\n \"\n FORM: (1065..1082)\n OPEN_PAREN: (1065..1066) \"(\"\n SYMBOL: (1066..1075)\n IDENTIFIER: (1066..1075) \"boolean=?\"\n ATMOSPHERE: (1075..1076) \" \"\n CONSTANT: (1076..1078)\n BOOLEAN: (1076..1078) \"#f\"\n ATMOSPHERE: (1078..1079) \" \"\n CONSTANT: (1079..1081)\n BOOLEAN: (1079..1081) \"#f\"\n CLOSE_PAREN: (1081..1082) \")\"\n ATMOSPHERE: (1082..1087) \"\n \"\n FORM: (1087..1103)\n OPEN_PAREN: (1087..1088) \"(\"\n SYMBOL: (1088..1097)\n IDENTIFIER: (1088..1097) \"boolean=?\"\n ATMOSPHERE: (1097..1098) \" \"\n CONSTANT: (1098..1100)\n BOOLEAN: (1098..1100) \"#f\"\n ATMOSPHERE: (1100..1101) \" \"\n CONSTANT: (1101..1102)\n NUMBER: (1101..1102) \"0\"\n CLOSE_PAREN: (1102..1103) \")\"\n ATMOSPHERE: (1103..1108) \"\n \"\n FORM: (1108..1126)\n OPEN_PAREN: (1108..1109) \"(\"\n SYMBOL: (1109..1118)\n IDENTIFIER: (1109..1118) \"boolean=?\"\n ATMOSPHERE: (1118..1119) \" \"\n CONSTANT: (1119..1121)\n BOOLEAN: (1119..1121) \"#f\"\n ATMOSPHERE: (1121..1122) \" \"\n QUOTED_DATUM: (1122..1125)\n QUOTE: (1122..1123) \"'\"\n FORM: (1123..1125)\n OPEN_PAREN: (1123..1124) \"(\"\n CLOSE_PAREN: (1124..1125) \")\"\n CLOSE_PAREN: (1125..1126) \")\"\n ATMOSPHERE: (1126..1131) \"\n \"\n FORM: (1131..1159)\n OPEN_PAREN: (1131..1132) \"(\"\n SYMBOL: (1132..1141)\n IDENTIFIER: (1132..1141) \"boolean=?\"\n ATMOSPHERE: (1141..1142) \" \"\n FORM: (1142..1152)\n OPEN_PAREN: (1142..1143) \"(\"\n SYMBOL: (1143..1147)\n IDENTIFIER: (1143..1147) \"list\"\n ATMOSPHERE: (1147..1148) \" \"\n CONSTANT: (1148..1151)\n NUMBER: (1148..1151) \"123\"\n CLOSE_PAREN: (1151..1152) \")\"\n ATMOSPHERE: (1152..1153) \" \"\n CONSTANT: (1153..1155)\n NUMBER: (1153..1155) \"21\"\n ATMOSPHERE: (1155..1156) \" \"\n CONSTANT: (1156..1158)\n BOOLEAN: (1156..1158) \"#t\"\n CLOSE_PAREN: (1158..1159) \")\"\n ATMOSPHERE: (1159..1165) \"\n\n \"\n CLOSE_PAREN: (1165..1166) \")\"\n CLOSE_PAREN: (1166..1167) \")\"\n FORM: (1167..1176)\n OPEN_PAREN: (1167..1168) \"(\"\n SYMBOL: (1168..1175)\n IDENTIFIER: (1168..1175) \"newline\"\n CLOSE_PAREN: (1175..1176) \")\"\n" + "Root": "PROGRAM: (0..1176)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n ATMOSPHERE: (42..76) \";; Boolean literals and truthiness\"\n ATMOSPHERE: (76..77) \"\n\"\n FORM: (77..531)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..85)\n IDENTIFIER: (78..85) \"display\"\n ATMOSPHERE: (85..86) \" \"\n FORM: (86..530)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..91)\n IDENTIFIER: (87..91) \"list\"\n ATMOSPHERE: (91..96) \"\n \"\n CONSTANT: (96..98)\n BOOLEAN: (96..98) \"#f\"\n ATMOSPHERE: (98..103) \"\n \"\n CONSTANT: (103..109)\n BOOLEAN: (103..109) \"#false\"\n ATMOSPHERE: (109..114) \"\n \"\n CONSTANT: (114..116)\n BOOLEAN: (114..116) \"#t\"\n ATMOSPHERE: (116..121) \"\n \"\n CONSTANT: (121..126)\n BOOLEAN: (121..126) \"#true\"\n ATMOSPHERE: (126..131) \"\n \"\n FORM: (131..145)\n OPEN_PAREN: (131..132) \"(\"\n SYMBOL: (132..135)\n IDENTIFIER: (132..135) \"eq?\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..138)\n BOOLEAN: (136..138) \"#t\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..144)\n BOOLEAN: (139..144) \"#true\"\n CLOSE_PAREN: (144..145) \")\"\n ATMOSPHERE: (145..150) \"\n \"\n FORM: (150..165)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..155)\n IDENTIFIER: (151..155) \"eqv?\"\n ATMOSPHERE: (155..156) \" \"\n CONSTANT: (156..158)\n BOOLEAN: (156..158) \"#t\"\n ATMOSPHERE: (158..159) \" \"\n CONSTANT: (159..164)\n BOOLEAN: (159..164) \"#true\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..170) \"\n \"\n FORM: (170..187)\n OPEN_PAREN: (170..171) \"(\"\n SYMBOL: (171..177)\n IDENTIFIER: (171..177) \"equal?\"\n ATMOSPHERE: (177..178) \" \"\n CONSTANT: (178..180)\n BOOLEAN: (178..180) \"#t\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..186)\n BOOLEAN: (181..186) \"#true\"\n CLOSE_PAREN: (186..187) \")\"\n ATMOSPHERE: (187..192) \"\n \"\n FORM: (192..207)\n OPEN_PAREN: (192..193) \"(\"\n SYMBOL: (193..196)\n IDENTIFIER: (193..196) \"eq?\"\n ATMOSPHERE: (196..197) \" \"\n CONSTANT: (197..199)\n BOOLEAN: (197..199) \"#f\"\n ATMOSPHERE: (199..200) \" \"\n CONSTANT: (200..206)\n BOOLEAN: (200..206) \"#false\"\n CLOSE_PAREN: (206..207) \")\"\n ATMOSPHERE: (207..212) \"\n \"\n FORM: (212..228)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..217)\n IDENTIFIER: (213..217) \"eqv?\"\n ATMOSPHERE: (217..218) \" \"\n CONSTANT: (218..220)\n BOOLEAN: (218..220) \"#f\"\n ATMOSPHERE: (220..221) \" \"\n CONSTANT: (221..227)\n BOOLEAN: (221..227) \"#false\"\n CLOSE_PAREN: (227..228) \")\"\n ATMOSPHERE: (228..233) \"\n \"\n FORM: (233..251)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..240)\n IDENTIFIER: (234..240) \"equal?\"\n ATMOSPHERE: (240..241) \" \"\n CONSTANT: (241..243)\n BOOLEAN: (241..243) \"#f\"\n ATMOSPHERE: (243..244) \" \"\n CONSTANT: (244..250)\n BOOLEAN: (244..250) \"#false\"\n CLOSE_PAREN: (250..251) \")\"\n ATMOSPHERE: (251..256) \"\n \"\n FORM: (256..303)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..259)\n IDENTIFIER: (257..259) \"if\"\n ATMOSPHERE: (259..260) \" \"\n FORM: (260..274)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..264)\n IDENTIFIER: (261..264) \"eq?\"\n ATMOSPHERE: (264..265) \" \"\n CONSTANT: (265..267)\n BOOLEAN: (265..267) \"#f\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..273)\n BOOLEAN: (268..273) \"#true\"\n CLOSE_PAREN: (273..274) \")\"\n ATMOSPHERE: (274..283) \"\n \"\n QUOTED_DATUM: (283..297)\n QUOTE: (283..284) \"'\"\n SYMBOL: (284..288)\n IDENTIFIER: (284..288) \"fail\"\n ATMOSPHERE: (288..297) \"\n \"\n QUOTED_DATUM: (297..302)\n QUOTE: (297..298) \"'\"\n SYMBOL: (298..302)\n IDENTIFIER: (298..302) \"pass\"\n CLOSE_PAREN: (302..303) \")\"\n ATMOSPHERE: (303..308) \"\n \"\n FORM: (308..355)\n OPEN_PAREN: (308..309) \"(\"\n SYMBOL: (309..311)\n IDENTIFIER: (309..311) \"if\"\n ATMOSPHERE: (311..312) \" \"\n FORM: (312..326)\n OPEN_PAREN: (312..313) \"(\"\n SYMBOL: (313..319)\n IDENTIFIER: (313..319) \"equal?\"\n ATMOSPHERE: (319..320) \" \"\n CONSTANT: (320..322)\n BOOLEAN: (320..322) \"#t\"\n ATMOSPHERE: (322..323) \" \"\n CONSTANT: (323..325)\n BOOLEAN: (323..325) \"#f\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..335) \"\n \"\n QUOTED_DATUM: (335..349)\n QUOTE: (335..336) \"'\"\n SYMBOL: (336..340)\n IDENTIFIER: (336..340) \"fail\"\n ATMOSPHERE: (340..349) \"\n \"\n QUOTED_DATUM: (349..354)\n QUOTE: (349..350) \"'\"\n SYMBOL: (350..354)\n IDENTIFIER: (350..354) \"pass\"\n CLOSE_PAREN: (354..355) \")\"\n ATMOSPHERE: (355..360) \"\n \"\n FORM: (360..395)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..363)\n IDENTIFIER: (361..363) \"if\"\n ATMOSPHERE: (363..364) \" \"\n CONSTANT: (364..366)\n BOOLEAN: (364..366) \"#f\"\n ATMOSPHERE: (366..375) \"\n \"\n QUOTED_DATUM: (375..389)\n QUOTE: (375..376) \"'\"\n SYMBOL: (376..380)\n IDENTIFIER: (376..380) \"fail\"\n ATMOSPHERE: (380..389) \"\n \"\n QUOTED_DATUM: (389..394)\n QUOTE: (389..390) \"'\"\n SYMBOL: (390..394)\n IDENTIFIER: (390..394) \"pass\"\n CLOSE_PAREN: (394..395) \")\"\n ATMOSPHERE: (395..400) \"\n \"\n FORM: (400..435)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..403)\n IDENTIFIER: (401..403) \"if\"\n ATMOSPHERE: (403..404) \" \"\n CONSTANT: (404..406)\n BOOLEAN: (404..406) \"#t\"\n ATMOSPHERE: (406..415) \"\n \"\n QUOTED_DATUM: (415..429)\n QUOTE: (415..416) \"'\"\n SYMBOL: (416..420)\n IDENTIFIER: (416..420) \"pass\"\n ATMOSPHERE: (420..429) \"\n \"\n QUOTED_DATUM: (429..434)\n QUOTE: (429..430) \"'\"\n SYMBOL: (430..434)\n IDENTIFIER: (430..434) \"fail\"\n CLOSE_PAREN: (434..435) \")\"\n ATMOSPHERE: (435..440) \"\n \"\n FORM: (440..476)\n OPEN_PAREN: (440..441) \"(\"\n SYMBOL: (441..443)\n IDENTIFIER: (441..443) \"if\"\n ATMOSPHERE: (443..444) \" \"\n QUOTED_DATUM: (444..456)\n QUOTE: (444..445) \"'\"\n FORM: (445..447)\n OPEN_PAREN: (445..446) \"(\"\n CLOSE_PAREN: (446..447) \")\"\n ATMOSPHERE: (447..456) \"\n \"\n QUOTED_DATUM: (456..470)\n QUOTE: (456..457) \"'\"\n SYMBOL: (457..461)\n IDENTIFIER: (457..461) \"pass\"\n ATMOSPHERE: (461..470) \"\n \"\n QUOTED_DATUM: (470..475)\n QUOTE: (470..471) \"'\"\n SYMBOL: (471..475)\n IDENTIFIER: (471..475) \"fail\"\n CLOSE_PAREN: (475..476) \")\"\n ATMOSPHERE: (476..481) \"\n \"\n FORM: (481..524)\n OPEN_PAREN: (481..482) \"(\"\n SYMBOL: (482..484)\n IDENTIFIER: (482..484) \"if\"\n ATMOSPHERE: (484..485) \" \"\n QUOTED_DATUM: (485..504)\n QUOTE: (485..486) \"'\"\n SYMBOL: (486..495)\n IDENTIFIER: (486..495) \"something\"\n ATMOSPHERE: (495..504) \"\n \"\n QUOTED_DATUM: (504..518)\n QUOTE: (504..505) \"'\"\n SYMBOL: (505..509)\n IDENTIFIER: (505..509) \"pass\"\n ATMOSPHERE: (509..518) \"\n \"\n QUOTED_DATUM: (518..523)\n QUOTE: (518..519) \"'\"\n SYMBOL: (519..523)\n IDENTIFIER: (519..523) \"fail\"\n CLOSE_PAREN: (523..524) \")\"\n ATMOSPHERE: (524..529) \"\n \"\n CLOSE_PAREN: (529..530) \")\"\n CLOSE_PAREN: (530..531) \")\"\n FORM: (531..540)\n OPEN_PAREN: (531..532) \"(\"\n SYMBOL: (532..539)\n IDENTIFIER: (532..539) \"newline\"\n CLOSE_PAREN: (539..540) \")\"\n ATMOSPHERE: (540..541) \"\n\"\n ATMOSPHERE: (541..590) \";; Quoting of boolean values does nothing to them\"\n ATMOSPHERE: (590..591) \"\n\"\n FORM: (591..626)\n OPEN_PAREN: (591..592) \"(\"\n SYMBOL: (592..599)\n IDENTIFIER: (592..599) \"display\"\n ATMOSPHERE: (599..600) \" \"\n FORM: (600..625)\n OPEN_PAREN: (600..601) \"(\"\n SYMBOL: (601..605)\n IDENTIFIER: (601..605) \"list\"\n ATMOSPHERE: (605..610) \"\n \"\n QUOTED_DATUM: (610..618)\n QUOTE: (610..611) \"'\"\n CONSTANT: (611..613)\n BOOLEAN: (611..613) \"#f\"\n ATMOSPHERE: (613..618) \"\n \"\n QUOTED_DATUM: (618..624)\n QUOTE: (618..619) \"'\"\n CONSTANT: (619..624)\n BOOLEAN: (619..624) \"#true\"\n CLOSE_PAREN: (624..625) \")\"\n CLOSE_PAREN: (625..626) \")\"\n FORM: (626..635)\n OPEN_PAREN: (626..627) \"(\"\n SYMBOL: (627..634)\n IDENTIFIER: (627..634) \"newline\"\n CLOSE_PAREN: (634..635) \")\"\n ATMOSPHERE: (635..636) \"\n\"\n ATMOSPHERE: (636..693) \";; Boolean procedures, we don't have many of them builtin\"\n ATMOSPHERE: (693..694) \"\n\"\n FORM: (694..1167)\n OPEN_PAREN: (694..695) \"(\"\n SYMBOL: (695..702)\n IDENTIFIER: (695..702) \"display\"\n ATMOSPHERE: (702..703) \" \"\n FORM: (703..1166)\n OPEN_PAREN: (703..704) \"(\"\n SYMBOL: (704..708)\n IDENTIFIER: (704..708) \"list\"\n ATMOSPHERE: (708..713) \"\n \"\n FORM: (713..721)\n OPEN_PAREN: (713..714) \"(\"\n SYMBOL: (714..717)\n IDENTIFIER: (714..717) \"not\"\n ATMOSPHERE: (717..718) \" \"\n CONSTANT: (718..720)\n BOOLEAN: (718..720) \"#t\"\n CLOSE_PAREN: (720..721) \")\"\n ATMOSPHERE: (721..722) \" \"\n ATMOSPHERE: (722..729) \"; -> #f\"\n ATMOSPHERE: (729..734) \"\n \"\n FORM: (734..741)\n OPEN_PAREN: (734..735) \"(\"\n SYMBOL: (735..738)\n IDENTIFIER: (735..738) \"not\"\n ATMOSPHERE: (738..739) \" \"\n CONSTANT: (739..740)\n NUMBER: (739..740) \"3\"\n CLOSE_PAREN: (740..741) \")\"\n ATMOSPHERE: (741..742) \" \"\n ATMOSPHERE: (742..749) \"; -> #f\"\n ATMOSPHERE: (749..754) \"\n \"\n FORM: (754..768)\n OPEN_PAREN: (754..755) \"(\"\n SYMBOL: (755..758)\n IDENTIFIER: (755..758) \"not\"\n ATMOSPHERE: (758..759) \" \"\n FORM: (759..767)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..764)\n IDENTIFIER: (760..764) \"list\"\n ATMOSPHERE: (764..765) \" \"\n CONSTANT: (765..766)\n NUMBER: (765..766) \"3\"\n CLOSE_PAREN: (766..767) \")\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..769) \" \"\n ATMOSPHERE: (769..776) \"; -> #f\"\n ATMOSPHERE: (776..781) \"\n \"\n FORM: (781..789)\n OPEN_PAREN: (781..782) \"(\"\n SYMBOL: (782..785)\n IDENTIFIER: (782..785) \"not\"\n ATMOSPHERE: (785..786) \" \"\n CONSTANT: (786..788)\n BOOLEAN: (786..788) \"#f\"\n CLOSE_PAREN: (788..789) \")\"\n ATMOSPHERE: (789..790) \" \"\n ATMOSPHERE: (790..797) \"; -> #t\"\n ATMOSPHERE: (797..802) \"\n \"\n FORM: (802..811)\n OPEN_PAREN: (802..803) \"(\"\n SYMBOL: (803..806)\n IDENTIFIER: (803..806) \"not\"\n ATMOSPHERE: (806..807) \" \"\n QUOTED_DATUM: (807..810)\n QUOTE: (807..808) \"’\"\n FORM: (808..810)\n OPEN_PAREN: (808..809) \"(\"\n CLOSE_PAREN: (809..810) \")\"\n CLOSE_PAREN: (810..811) \")\"\n ATMOSPHERE: (811..812) \" \"\n ATMOSPHERE: (812..819) \"; -> #f\"\n ATMOSPHERE: (819..824) \"\n \"\n FORM: (824..836)\n OPEN_PAREN: (824..825) \"(\"\n SYMBOL: (825..828)\n IDENTIFIER: (825..828) \"not\"\n ATMOSPHERE: (828..829) \" \"\n FORM: (829..835)\n OPEN_PAREN: (829..830) \"(\"\n SYMBOL: (830..834)\n IDENTIFIER: (830..834) \"list\"\n CLOSE_PAREN: (834..835) \")\"\n CLOSE_PAREN: (835..836) \")\"\n ATMOSPHERE: (836..837) \" \"\n ATMOSPHERE: (837..844) \"; -> #f\"\n ATMOSPHERE: (844..849) \"\n \"\n FORM: (849..859)\n OPEN_PAREN: (849..850) \"(\"\n SYMBOL: (850..853)\n IDENTIFIER: (850..853) \"not\"\n ATMOSPHERE: (853..854) \" \"\n QUOTED_DATUM: (854..858)\n QUOTE: (854..855) \"’\"\n SYMBOL: (855..858)\n IDENTIFIER: (855..858) \"nil\"\n CLOSE_PAREN: (858..859) \")\"\n ATMOSPHERE: (859..860) \" \"\n ATMOSPHERE: (860..867) \"; -> #f\"\n ATMOSPHERE: (867..873) \"\n\n \"\n FORM: (873..886)\n OPEN_PAREN: (873..874) \"(\"\n SYMBOL: (874..882)\n IDENTIFIER: (874..882) \"boolean?\"\n ATMOSPHERE: (882..883) \" \"\n CONSTANT: (883..885)\n BOOLEAN: (883..885) \"#f\"\n CLOSE_PAREN: (885..886) \")\"\n ATMOSPHERE: (886..887) \" \"\n ATMOSPHERE: (887..894) \"; -> #t\"\n ATMOSPHERE: (894..899) \"\n \"\n FORM: (899..911)\n OPEN_PAREN: (899..900) \"(\"\n SYMBOL: (900..908)\n IDENTIFIER: (900..908) \"boolean?\"\n ATMOSPHERE: (908..909) \" \"\n CONSTANT: (909..910)\n NUMBER: (909..910) \"0\"\n CLOSE_PAREN: (910..911) \")\"\n ATMOSPHERE: (911..912) \" \"\n ATMOSPHERE: (912..919) \"; -> #f\"\n ATMOSPHERE: (919..924) \"\n \"\n FORM: (924..938)\n OPEN_PAREN: (924..925) \"(\"\n SYMBOL: (925..933)\n IDENTIFIER: (925..933) \"boolean?\"\n ATMOSPHERE: (933..934) \" \"\n QUOTED_DATUM: (934..937)\n QUOTE: (934..935) \"’\"\n FORM: (935..937)\n OPEN_PAREN: (935..936) \"(\"\n CLOSE_PAREN: (936..937) \")\"\n CLOSE_PAREN: (937..938) \")\"\n ATMOSPHERE: (938..939) \" \"\n ATMOSPHERE: (939..946) \"; -> #f\"\n ATMOSPHERE: (946..956) \"\n \n \"\n FORM: (956..976)\n OPEN_PAREN: (956..957) \"(\"\n SYMBOL: (957..966)\n IDENTIFIER: (957..966) \"boolean=?\"\n ATMOSPHERE: (966..967) \" \"\n CONSTANT: (967..969)\n BOOLEAN: (967..969) \"#t\"\n ATMOSPHERE: (969..970) \" \"\n CONSTANT: (970..972)\n BOOLEAN: (970..972) \"#t\"\n ATMOSPHERE: (972..973) \" \"\n CONSTANT: (973..975)\n BOOLEAN: (973..975) \"#t\"\n CLOSE_PAREN: (975..976) \")\"\n ATMOSPHERE: (976..981) \"\n \"\n FORM: (981..1001)\n OPEN_PAREN: (981..982) \"(\"\n SYMBOL: (982..991)\n IDENTIFIER: (982..991) \"boolean=?\"\n ATMOSPHERE: (991..992) \" \"\n CONSTANT: (992..994)\n BOOLEAN: (992..994) \"#t\"\n ATMOSPHERE: (994..995) \" \"\n CONSTANT: (995..997)\n BOOLEAN: (995..997) \"#f\"\n ATMOSPHERE: (997..998) \" \"\n CONSTANT: (998..1000)\n BOOLEAN: (998..1000) \"#t\"\n CLOSE_PAREN: (1000..1001) \")\"\n ATMOSPHERE: (1001..1006) \"\n \"\n FORM: (1006..1032)\n OPEN_PAREN: (1006..1007) \"(\"\n SYMBOL: (1007..1016)\n IDENTIFIER: (1007..1016) \"boolean=?\"\n ATMOSPHERE: (1016..1017) \" \"\n CONSTANT: (1017..1019)\n BOOLEAN: (1017..1019) \"#f\"\n ATMOSPHERE: (1019..1020) \" \"\n CONSTANT: (1020..1022)\n BOOLEAN: (1020..1022) \"#f\"\n ATMOSPHERE: (1022..1023) \" \"\n CONSTANT: (1023..1025)\n BOOLEAN: (1023..1025) \"#f\"\n ATMOSPHERE: (1025..1026) \" \"\n CONSTANT: (1026..1028)\n BOOLEAN: (1026..1028) \"#f\"\n ATMOSPHERE: (1028..1029) \" \"\n CONSTANT: (1029..1031)\n BOOLEAN: (1029..1031) \"#t\"\n CLOSE_PAREN: (1031..1032) \")\"\n ATMOSPHERE: (1032..1037) \"\n \"\n FORM: (1037..1060)\n OPEN_PAREN: (1037..1038) \"(\"\n SYMBOL: (1038..1047)\n IDENTIFIER: (1038..1047) \"boolean=?\"\n ATMOSPHERE: (1047..1048) \" \"\n CONSTANT: (1048..1050)\n BOOLEAN: (1048..1050) \"#f\"\n ATMOSPHERE: (1050..1051) \" \"\n CONSTANT: (1051..1053)\n BOOLEAN: (1051..1053) \"#f\"\n ATMOSPHERE: (1053..1054) \" \"\n CONSTANT: (1054..1056)\n BOOLEAN: (1054..1056) \"#f\"\n ATMOSPHERE: (1056..1057) \" \"\n CONSTANT: (1057..1059)\n BOOLEAN: (1057..1059) \"#f\"\n CLOSE_PAREN: (1059..1060) \")\"\n ATMOSPHERE: (1060..1065) \"\n \"\n FORM: (1065..1082)\n OPEN_PAREN: (1065..1066) \"(\"\n SYMBOL: (1066..1075)\n IDENTIFIER: (1066..1075) \"boolean=?\"\n ATMOSPHERE: (1075..1076) \" \"\n CONSTANT: (1076..1078)\n BOOLEAN: (1076..1078) \"#f\"\n ATMOSPHERE: (1078..1079) \" \"\n CONSTANT: (1079..1081)\n BOOLEAN: (1079..1081) \"#f\"\n CLOSE_PAREN: (1081..1082) \")\"\n ATMOSPHERE: (1082..1087) \"\n \"\n FORM: (1087..1103)\n OPEN_PAREN: (1087..1088) \"(\"\n SYMBOL: (1088..1097)\n IDENTIFIER: (1088..1097) \"boolean=?\"\n ATMOSPHERE: (1097..1098) \" \"\n CONSTANT: (1098..1100)\n BOOLEAN: (1098..1100) \"#f\"\n ATMOSPHERE: (1100..1101) \" \"\n CONSTANT: (1101..1102)\n NUMBER: (1101..1102) \"0\"\n CLOSE_PAREN: (1102..1103) \")\"\n ATMOSPHERE: (1103..1108) \"\n \"\n FORM: (1108..1126)\n OPEN_PAREN: (1108..1109) \"(\"\n SYMBOL: (1109..1118)\n IDENTIFIER: (1109..1118) \"boolean=?\"\n ATMOSPHERE: (1118..1119) \" \"\n CONSTANT: (1119..1121)\n BOOLEAN: (1119..1121) \"#f\"\n ATMOSPHERE: (1121..1122) \" \"\n QUOTED_DATUM: (1122..1125)\n QUOTE: (1122..1123) \"'\"\n FORM: (1123..1125)\n OPEN_PAREN: (1123..1124) \"(\"\n CLOSE_PAREN: (1124..1125) \")\"\n CLOSE_PAREN: (1125..1126) \")\"\n ATMOSPHERE: (1126..1131) \"\n \"\n FORM: (1131..1159)\n OPEN_PAREN: (1131..1132) \"(\"\n SYMBOL: (1132..1141)\n IDENTIFIER: (1132..1141) \"boolean=?\"\n ATMOSPHERE: (1141..1142) \" \"\n FORM: (1142..1152)\n OPEN_PAREN: (1142..1143) \"(\"\n SYMBOL: (1143..1147)\n IDENTIFIER: (1143..1147) \"list\"\n ATMOSPHERE: (1147..1148) \" \"\n CONSTANT: (1148..1151)\n NUMBER: (1148..1151) \"123\"\n CLOSE_PAREN: (1151..1152) \")\"\n ATMOSPHERE: (1152..1153) \" \"\n CONSTANT: (1153..1155)\n NUMBER: (1153..1155) \"21\"\n ATMOSPHERE: (1155..1156) \" \"\n CONSTANT: (1156..1158)\n BOOLEAN: (1156..1158) \"#t\"\n CLOSE_PAREN: (1158..1159) \")\"\n ATMOSPHERE: (1159..1165) \"\n\n \"\n CLOSE_PAREN: (1165..1166) \")\"\n CLOSE_PAREN: (1166..1167) \")\"\n FORM: (1167..1176)\n OPEN_PAREN: (1167..1168) \"(\"\n SYMBOL: (1168..1175)\n IDENTIFIER: (1168..1175) \"newline\"\n CLOSE_PAREN: (1175..1176) \")\"\n EOF: (1176..1176) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json b/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json index 8ab6538..e5a53fa 100644 --- a/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..499)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \"\n\"\n FORM: (212..498)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..220)\n IDENTIFIER: (213..220) \"display\"\n ATMOSPHERE: (220..225) \"\n \"\n FORM: (225..497)\n OPEN_PAREN: (225..226) \"(\"\n SYMBOL: (226..230)\n IDENTIFIER: (226..230) \"list\"\n ATMOSPHERE: (230..239) \"\n \"\n FORM: (239..260)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..243)\n IDENTIFIER: (240..243) \"and\"\n ATMOSPHERE: (243..244) \" \"\n FORM: (244..251)\n OPEN_PAREN: (244..245) \"(\"\n SYMBOL: (245..246)\n IDENTIFIER: (245..246) \"=\"\n ATMOSPHERE: (246..247) \" \"\n CONSTANT: (247..248)\n NUMBER: (247..248) \"2\"\n ATMOSPHERE: (248..249) \" \"\n CONSTANT: (249..250)\n NUMBER: (249..250) \"2\"\n CLOSE_PAREN: (250..251) \")\"\n ATMOSPHERE: (251..252) \" \"\n FORM: (252..259)\n OPEN_PAREN: (252..253) \"(\"\n SYMBOL: (253..254)\n IDENTIFIER: (253..254) \">\"\n ATMOSPHERE: (254..255) \" \"\n CONSTANT: (255..256)\n NUMBER: (255..256) \"2\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..258)\n NUMBER: (257..258) \"1\"\n CLOSE_PAREN: (258..259) \")\"\n CLOSE_PAREN: (259..260) \")\"\n ATMOSPHERE: (260..261) \" \"\n ATMOSPHERE: (261..268) \"; -> #t\"\n ATMOSPHERE: (268..277) \"\n \"\n FORM: (277..298)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..281)\n IDENTIFIER: (278..281) \"and\"\n ATMOSPHERE: (281..282) \" \"\n FORM: (282..289)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..284)\n IDENTIFIER: (283..284) \"=\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..286)\n NUMBER: (285..286) \"2\"\n ATMOSPHERE: (286..287) \" \"\n CONSTANT: (287..288)\n NUMBER: (287..288) \"2\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..290) \" \"\n FORM: (290..297)\n OPEN_PAREN: (290..291) \"(\"\n SYMBOL: (291..292)\n IDENTIFIER: (291..292) \"<\"\n ATMOSPHERE: (292..293) \" \"\n CONSTANT: (293..294)\n NUMBER: (293..294) \"2\"\n ATMOSPHERE: (294..295) \" \"\n CONSTANT: (295..296)\n NUMBER: (295..296) \"1\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n ATMOSPHERE: (298..299) \" \"\n ATMOSPHERE: (299..306) \"; -> #f\"\n ATMOSPHERE: (306..315) \"\n \"\n FORM: (315..334)\n OPEN_PAREN: (315..316) \"(\"\n SYMBOL: (316..319)\n IDENTIFIER: (316..319) \"and\"\n ATMOSPHERE: (319..320) \" \"\n CONSTANT: (320..321)\n NUMBER: (320..321) \"1\"\n ATMOSPHERE: (321..322) \" \"\n CONSTANT: (322..323)\n NUMBER: (322..323) \"2\"\n ATMOSPHERE: (323..324) \" \"\n QUOTED_DATUM: (324..327)\n QUOTE: (324..325) \"'\"\n SYMBOL: (325..326)\n IDENTIFIER: (325..326) \"c\"\n ATMOSPHERE: (326..327) \" \"\n QUOTED_DATUM: (327..333)\n QUOTE: (327..328) \"'\"\n FORM: (328..333)\n OPEN_PAREN: (328..329) \"(\"\n SYMBOL: (329..330)\n IDENTIFIER: (329..330) \"f\"\n ATMOSPHERE: (330..331) \" \"\n SYMBOL: (331..332)\n IDENTIFIER: (331..332) \"g\"\n CLOSE_PAREN: (332..333) \")\"\n CLOSE_PAREN: (333..334) \")\"\n ATMOSPHERE: (334..335) \" \"\n ATMOSPHERE: (335..346) \"; -> '(f g)\"\n ATMOSPHERE: (346..355) \"\n \"\n FORM: (355..360)\n OPEN_PAREN: (355..356) \"(\"\n SYMBOL: (356..359)\n IDENTIFIER: (356..359) \"and\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..361) \" \"\n ATMOSPHERE: (361..368) \"; -> #t\"\n ATMOSPHERE: (368..377) \"\n \"\n FORM: (377..387)\n OPEN_PAREN: (377..378) \"(\"\n SYMBOL: (378..380)\n IDENTIFIER: (378..380) \"or\"\n ATMOSPHERE: (380..381) \" \"\n CONSTANT: (381..383)\n BOOLEAN: (381..383) \"#t\"\n ATMOSPHERE: (383..384) \" \"\n CONSTANT: (384..386)\n BOOLEAN: (384..386) \"#t\"\n CLOSE_PAREN: (386..387) \")\"\n ATMOSPHERE: (387..388) \" \"\n ATMOSPHERE: (388..395) \"; -> #t\"\n ATMOSPHERE: (395..404) \"\n \"\n FORM: (404..429)\n OPEN_PAREN: (404..405) \"(\"\n SYMBOL: (405..407)\n IDENTIFIER: (405..407) \"or\"\n ATMOSPHERE: (407..408) \" \"\n CONSTANT: (408..410)\n BOOLEAN: (408..410) \"#f\"\n ATMOSPHERE: (410..411) \" \"\n CONSTANT: (411..413)\n BOOLEAN: (411..413) \"#f\"\n ATMOSPHERE: (413..414) \" \"\n CONSTANT: (414..416)\n BOOLEAN: (414..416) \"#f\"\n ATMOSPHERE: (416..417) \" \"\n CONSTANT: (417..419)\n BOOLEAN: (417..419) \"#f\"\n ATMOSPHERE: (419..420) \" \"\n CONSTANT: (420..422)\n BOOLEAN: (420..422) \"#t\"\n ATMOSPHERE: (422..423) \" \"\n CONSTANT: (423..425)\n BOOLEAN: (423..425) \"#f\"\n ATMOSPHERE: (425..426) \" \"\n CONSTANT: (426..428)\n BOOLEAN: (426..428) \"#f\"\n CLOSE_PAREN: (428..429) \")\"\n ATMOSPHERE: (429..430) \" \"\n ATMOSPHERE: (430..437) \"; -> #t\"\n ATMOSPHERE: (437..446) \"\n \"\n FORM: (446..464)\n OPEN_PAREN: (446..447) \"(\"\n SYMBOL: (447..449)\n IDENTIFIER: (447..449) \"or\"\n ATMOSPHERE: (449..450) \" \"\n CONSTANT: (450..452)\n BOOLEAN: (450..452) \"#f\"\n ATMOSPHERE: (452..453) \" \"\n CONSTANT: (453..456)\n NUMBER: (453..456) \"100\"\n ATMOSPHERE: (456..457) \" \"\n CONSTANT: (457..459)\n BOOLEAN: (457..459) \"#f\"\n ATMOSPHERE: (459..460) \" \"\n CONSTANT: (460..463)\n NUMBER: (460..463) \"101\"\n CLOSE_PAREN: (463..464) \")\"\n ATMOSPHERE: (464..465) \" \"\n ATMOSPHERE: (465..470) \"; 100\"\n ATMOSPHERE: (470..479) \"\n \"\n FORM: (479..483)\n OPEN_PAREN: (479..480) \"(\"\n SYMBOL: (480..482)\n IDENTIFIER: (480..482) \"or\"\n CLOSE_PAREN: (482..483) \")\"\n ATMOSPHERE: (483..484) \" \"\n ATMOSPHERE: (484..491) \"; -> #f\"\n ATMOSPHERE: (491..496) \"\n \"\n CLOSE_PAREN: (496..497) \")\"\n CLOSE_PAREN: (497..498) \")\"\n ATMOSPHERE: (498..499) \"\n\"\n" + "Root": "PROGRAM: (0..499)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \"\n\"\n FORM: (212..498)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..220)\n IDENTIFIER: (213..220) \"display\"\n ATMOSPHERE: (220..225) \"\n \"\n FORM: (225..497)\n OPEN_PAREN: (225..226) \"(\"\n SYMBOL: (226..230)\n IDENTIFIER: (226..230) \"list\"\n ATMOSPHERE: (230..239) \"\n \"\n FORM: (239..260)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..243)\n IDENTIFIER: (240..243) \"and\"\n ATMOSPHERE: (243..244) \" \"\n FORM: (244..251)\n OPEN_PAREN: (244..245) \"(\"\n SYMBOL: (245..246)\n IDENTIFIER: (245..246) \"=\"\n ATMOSPHERE: (246..247) \" \"\n CONSTANT: (247..248)\n NUMBER: (247..248) \"2\"\n ATMOSPHERE: (248..249) \" \"\n CONSTANT: (249..250)\n NUMBER: (249..250) \"2\"\n CLOSE_PAREN: (250..251) \")\"\n ATMOSPHERE: (251..252) \" \"\n FORM: (252..259)\n OPEN_PAREN: (252..253) \"(\"\n SYMBOL: (253..254)\n IDENTIFIER: (253..254) \">\"\n ATMOSPHERE: (254..255) \" \"\n CONSTANT: (255..256)\n NUMBER: (255..256) \"2\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..258)\n NUMBER: (257..258) \"1\"\n CLOSE_PAREN: (258..259) \")\"\n CLOSE_PAREN: (259..260) \")\"\n ATMOSPHERE: (260..261) \" \"\n ATMOSPHERE: (261..268) \"; -> #t\"\n ATMOSPHERE: (268..277) \"\n \"\n FORM: (277..298)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..281)\n IDENTIFIER: (278..281) \"and\"\n ATMOSPHERE: (281..282) \" \"\n FORM: (282..289)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..284)\n IDENTIFIER: (283..284) \"=\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..286)\n NUMBER: (285..286) \"2\"\n ATMOSPHERE: (286..287) \" \"\n CONSTANT: (287..288)\n NUMBER: (287..288) \"2\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..290) \" \"\n FORM: (290..297)\n OPEN_PAREN: (290..291) \"(\"\n SYMBOL: (291..292)\n IDENTIFIER: (291..292) \"<\"\n ATMOSPHERE: (292..293) \" \"\n CONSTANT: (293..294)\n NUMBER: (293..294) \"2\"\n ATMOSPHERE: (294..295) \" \"\n CONSTANT: (295..296)\n NUMBER: (295..296) \"1\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n ATMOSPHERE: (298..299) \" \"\n ATMOSPHERE: (299..306) \"; -> #f\"\n ATMOSPHERE: (306..315) \"\n \"\n FORM: (315..334)\n OPEN_PAREN: (315..316) \"(\"\n SYMBOL: (316..319)\n IDENTIFIER: (316..319) \"and\"\n ATMOSPHERE: (319..320) \" \"\n CONSTANT: (320..321)\n NUMBER: (320..321) \"1\"\n ATMOSPHERE: (321..322) \" \"\n CONSTANT: (322..323)\n NUMBER: (322..323) \"2\"\n ATMOSPHERE: (323..324) \" \"\n QUOTED_DATUM: (324..327)\n QUOTE: (324..325) \"'\"\n SYMBOL: (325..326)\n IDENTIFIER: (325..326) \"c\"\n ATMOSPHERE: (326..327) \" \"\n QUOTED_DATUM: (327..333)\n QUOTE: (327..328) \"'\"\n FORM: (328..333)\n OPEN_PAREN: (328..329) \"(\"\n SYMBOL: (329..330)\n IDENTIFIER: (329..330) \"f\"\n ATMOSPHERE: (330..331) \" \"\n SYMBOL: (331..332)\n IDENTIFIER: (331..332) \"g\"\n CLOSE_PAREN: (332..333) \")\"\n CLOSE_PAREN: (333..334) \")\"\n ATMOSPHERE: (334..335) \" \"\n ATMOSPHERE: (335..346) \"; -> '(f g)\"\n ATMOSPHERE: (346..355) \"\n \"\n FORM: (355..360)\n OPEN_PAREN: (355..356) \"(\"\n SYMBOL: (356..359)\n IDENTIFIER: (356..359) \"and\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..361) \" \"\n ATMOSPHERE: (361..368) \"; -> #t\"\n ATMOSPHERE: (368..377) \"\n \"\n FORM: (377..387)\n OPEN_PAREN: (377..378) \"(\"\n SYMBOL: (378..380)\n IDENTIFIER: (378..380) \"or\"\n ATMOSPHERE: (380..381) \" \"\n CONSTANT: (381..383)\n BOOLEAN: (381..383) \"#t\"\n ATMOSPHERE: (383..384) \" \"\n CONSTANT: (384..386)\n BOOLEAN: (384..386) \"#t\"\n CLOSE_PAREN: (386..387) \")\"\n ATMOSPHERE: (387..388) \" \"\n ATMOSPHERE: (388..395) \"; -> #t\"\n ATMOSPHERE: (395..404) \"\n \"\n FORM: (404..429)\n OPEN_PAREN: (404..405) \"(\"\n SYMBOL: (405..407)\n IDENTIFIER: (405..407) \"or\"\n ATMOSPHERE: (407..408) \" \"\n CONSTANT: (408..410)\n BOOLEAN: (408..410) \"#f\"\n ATMOSPHERE: (410..411) \" \"\n CONSTANT: (411..413)\n BOOLEAN: (411..413) \"#f\"\n ATMOSPHERE: (413..414) \" \"\n CONSTANT: (414..416)\n BOOLEAN: (414..416) \"#f\"\n ATMOSPHERE: (416..417) \" \"\n CONSTANT: (417..419)\n BOOLEAN: (417..419) \"#f\"\n ATMOSPHERE: (419..420) \" \"\n CONSTANT: (420..422)\n BOOLEAN: (420..422) \"#t\"\n ATMOSPHERE: (422..423) \" \"\n CONSTANT: (423..425)\n BOOLEAN: (423..425) \"#f\"\n ATMOSPHERE: (425..426) \" \"\n CONSTANT: (426..428)\n BOOLEAN: (426..428) \"#f\"\n CLOSE_PAREN: (428..429) \")\"\n ATMOSPHERE: (429..430) \" \"\n ATMOSPHERE: (430..437) \"; -> #t\"\n ATMOSPHERE: (437..446) \"\n \"\n FORM: (446..464)\n OPEN_PAREN: (446..447) \"(\"\n SYMBOL: (447..449)\n IDENTIFIER: (447..449) \"or\"\n ATMOSPHERE: (449..450) \" \"\n CONSTANT: (450..452)\n BOOLEAN: (450..452) \"#f\"\n ATMOSPHERE: (452..453) \" \"\n CONSTANT: (453..456)\n NUMBER: (453..456) \"100\"\n ATMOSPHERE: (456..457) \" \"\n CONSTANT: (457..459)\n BOOLEAN: (457..459) \"#f\"\n ATMOSPHERE: (459..460) \" \"\n CONSTANT: (460..463)\n NUMBER: (460..463) \"101\"\n CLOSE_PAREN: (463..464) \")\"\n ATMOSPHERE: (464..465) \" \"\n ATMOSPHERE: (465..470) \"; 100\"\n ATMOSPHERE: (470..479) \"\n \"\n FORM: (479..483)\n OPEN_PAREN: (479..480) \"(\"\n SYMBOL: (480..482)\n IDENTIFIER: (480..482) \"or\"\n CLOSE_PAREN: (482..483) \")\"\n ATMOSPHERE: (483..484) \" \"\n ATMOSPHERE: (484..491) \"; -> #f\"\n ATMOSPHERE: (491..496) \"\n \"\n CLOSE_PAREN: (496..497) \")\"\n CLOSE_PAREN: (497..498) \")\"\n ATMOSPHERE: (498..499) \"\n\"\n EOF: (499..499) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json b/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json index 931e19b..6885b00 100644 --- a/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..317)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..23) \"\n\"\n FORM: (23..26)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..25)\n IDENTIFIER: (24..25) \"=\"\n CLOSE_PAREN: (25..26) \")\"\n ATMOSPHERE: (26..28) \" \"\n ATMOSPHERE: (28..35) \"; => #t\"\n ATMOSPHERE: (35..36) \"\n\"\n FORM: (36..43)\n OPEN_PAREN: (36..37) \"(\"\n SYMBOL: (37..38)\n IDENTIFIER: (37..38) \">\"\n ATMOSPHERE: (38..39) \" \"\n CONSTANT: (39..40)\n NUMBER: (39..40) \"5\"\n ATMOSPHERE: (40..41) \" \"\n CONSTANT: (41..42)\n NUMBER: (41..42) \"4\"\n CLOSE_PAREN: (42..43) \")\"\n ATMOSPHERE: (43..44) \" \"\n ATMOSPHERE: (44..51) \"; => #t\"\n ATMOSPHERE: (51..52) \"\n\"\n FORM: (52..59)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..54)\n IDENTIFIER: (53..54) \"<\"\n ATMOSPHERE: (54..55) \" \"\n CONSTANT: (55..56)\n NUMBER: (55..56) \"5\"\n ATMOSPHERE: (56..57) \" \"\n CONSTANT: (57..58)\n NUMBER: (57..58) \"4\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..60) \" \"\n ATMOSPHERE: (60..67) \"; => #f\"\n ATMOSPHERE: (67..68) \"\n\"\n FORM: (68..317)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..71)\n IDENTIFIER: (69..71) \"if\"\n ATMOSPHERE: (71..77) \" \n \"\n FORM: (77..83)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..80)\n IDENTIFIER: (78..80) \">=\"\n ATMOSPHERE: (80..81) \" \"\n CONSTANT: (81..82)\n NUMBER: (81..82) \"1\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..84) \" \"\n ATMOSPHERE: (84..91) \"; => #t\"\n ATMOSPHERE: (91..96) \"\n \"\n FORM: (96..295)\n OPEN_PAREN: (96..97) \"(\"\n SYMBOL: (97..98)\n IDENTIFIER: (97..98) \"+\"\n ATMOSPHERE: (98..107) \"\n \"\n FORM: (107..119)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"+\"\n ATMOSPHERE: (109..110) \" \"\n CONSTANT: (110..111)\n NUMBER: (110..111) \"1\"\n ATMOSPHERE: (111..112) \" \"\n CONSTANT: (112..113)\n NUMBER: (112..113) \"2\"\n ATMOSPHERE: (113..114) \" \"\n CONSTANT: (114..115)\n NUMBER: (114..115) \"4\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..118)\n NUMBER: (116..118) \"88\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..120) \" \"\n ATMOSPHERE: (120..127) \"; => 95\"\n ATMOSPHERE: (127..136) \"\n \"\n FORM: (136..145)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..138)\n IDENTIFIER: (137..138) \"-\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..140)\n NUMBER: (139..140) \"3\"\n ATMOSPHERE: (140..141) \" \"\n CONSTANT: (141..142)\n NUMBER: (141..142) \"4\"\n ATMOSPHERE: (142..143) \" \"\n CONSTANT: (143..144)\n NUMBER: (143..144) \"5\"\n CLOSE_PAREN: (144..145) \")\"\n ATMOSPHERE: (145..146) \" \"\n ATMOSPHERE: (146..153) \"; => -6\"\n ATMOSPHERE: (153..162) \"\n \"\n FORM: (162..167)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..164)\n IDENTIFIER: (163..164) \"-\"\n ATMOSPHERE: (164..165) \" \"\n CONSTANT: (165..166)\n NUMBER: (165..166) \"9\"\n CLOSE_PAREN: (166..167) \")\"\n ATMOSPHERE: (167..168) \" \"\n ATMOSPHERE: (168..175) \"; => -9\"\n ATMOSPHERE: (175..184) \"\n \"\n FORM: (184..187)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..186)\n IDENTIFIER: (185..186) \"/\"\n CLOSE_PAREN: (186..187) \")\"\n ATMOSPHERE: (187..188) \" \"\n ATMOSPHERE: (188..194) \"; => 1\"\n ATMOSPHERE: (194..203) \"\n \"\n FORM: (203..208)\n OPEN_PAREN: (203..204) \"(\"\n SYMBOL: (204..205)\n IDENTIFIER: (204..205) \"/\"\n ATMOSPHERE: (205..206) \" \"\n CONSTANT: (206..207)\n NUMBER: (206..207) \"2\"\n CLOSE_PAREN: (207..208) \")\"\n ATMOSPHERE: (208..209) \" \"\n ATMOSPHERE: (209..217) \"; => 0.5\"\n ATMOSPHERE: (217..226) \"\n \"\n FORM: (226..233)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..228)\n IDENTIFIER: (227..228) \"/\"\n ATMOSPHERE: (228..229) \" \"\n CONSTANT: (229..230)\n NUMBER: (229..230) \"5\"\n ATMOSPHERE: (230..231) \" \"\n CONSTANT: (231..232)\n NUMBER: (231..232) \"2\"\n CLOSE_PAREN: (232..233) \")\"\n ATMOSPHERE: (233..234) \" \"\n ATMOSPHERE: (234..242) \"; => 2.5\"\n ATMOSPHERE: (242..251) \"\n \"\n FORM: (251..258)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..253)\n IDENTIFIER: (252..253) \"*\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..255)\n NUMBER: (254..255) \"8\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..257)\n NUMBER: (256..257) \"5\"\n CLOSE_PAREN: (257..258) \")\"\n ATMOSPHERE: (258..259) \" \"\n ATMOSPHERE: (259..266) \"; => 40\"\n ATMOSPHERE: (266..275) \"\n \"\n FORM: (275..281)\n OPEN_PAREN: (275..276) \"(\"\n SYMBOL: (276..277)\n IDENTIFIER: (276..277) \"*\"\n ATMOSPHERE: (277..278) \" \"\n CONSTANT: (278..280)\n NUMBER: (278..280) \"76\"\n CLOSE_PAREN: (280..281) \")\"\n ATMOSPHERE: (281..282) \" \"\n ATMOSPHERE: (282..289) \"; => 76\"\n ATMOSPHERE: (289..294) \"\n \"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..296) \" \"\n ATMOSPHERE: (296..304) \"; => 200\"\n ATMOSPHERE: (304..309) \"\n \"\n FORM: (309..316)\n OPEN_PAREN: (309..310) \"(\"\n SYMBOL: (310..311)\n IDENTIFIER: (310..311) \"*\"\n ATMOSPHERE: (311..312) \" \"\n CONSTANT: (312..313)\n NUMBER: (312..313) \"8\"\n ATMOSPHERE: (313..314) \" \"\n CONSTANT: (314..315)\n NUMBER: (314..315) \"9\"\n CLOSE_PAREN: (315..316) \")\"\n CLOSE_PAREN: (316..317) \")\"\n" + "Root": "PROGRAM: (0..317)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..23) \"\n\"\n FORM: (23..26)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..25)\n IDENTIFIER: (24..25) \"=\"\n CLOSE_PAREN: (25..26) \")\"\n ATMOSPHERE: (26..28) \" \"\n ATMOSPHERE: (28..35) \"; => #t\"\n ATMOSPHERE: (35..36) \"\n\"\n FORM: (36..43)\n OPEN_PAREN: (36..37) \"(\"\n SYMBOL: (37..38)\n IDENTIFIER: (37..38) \">\"\n ATMOSPHERE: (38..39) \" \"\n CONSTANT: (39..40)\n NUMBER: (39..40) \"5\"\n ATMOSPHERE: (40..41) \" \"\n CONSTANT: (41..42)\n NUMBER: (41..42) \"4\"\n CLOSE_PAREN: (42..43) \")\"\n ATMOSPHERE: (43..44) \" \"\n ATMOSPHERE: (44..51) \"; => #t\"\n ATMOSPHERE: (51..52) \"\n\"\n FORM: (52..59)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..54)\n IDENTIFIER: (53..54) \"<\"\n ATMOSPHERE: (54..55) \" \"\n CONSTANT: (55..56)\n NUMBER: (55..56) \"5\"\n ATMOSPHERE: (56..57) \" \"\n CONSTANT: (57..58)\n NUMBER: (57..58) \"4\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..60) \" \"\n ATMOSPHERE: (60..67) \"; => #f\"\n ATMOSPHERE: (67..68) \"\n\"\n FORM: (68..317)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..71)\n IDENTIFIER: (69..71) \"if\"\n ATMOSPHERE: (71..77) \" \n \"\n FORM: (77..83)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..80)\n IDENTIFIER: (78..80) \">=\"\n ATMOSPHERE: (80..81) \" \"\n CONSTANT: (81..82)\n NUMBER: (81..82) \"1\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..84) \" \"\n ATMOSPHERE: (84..91) \"; => #t\"\n ATMOSPHERE: (91..96) \"\n \"\n FORM: (96..295)\n OPEN_PAREN: (96..97) \"(\"\n SYMBOL: (97..98)\n IDENTIFIER: (97..98) \"+\"\n ATMOSPHERE: (98..107) \"\n \"\n FORM: (107..119)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"+\"\n ATMOSPHERE: (109..110) \" \"\n CONSTANT: (110..111)\n NUMBER: (110..111) \"1\"\n ATMOSPHERE: (111..112) \" \"\n CONSTANT: (112..113)\n NUMBER: (112..113) \"2\"\n ATMOSPHERE: (113..114) \" \"\n CONSTANT: (114..115)\n NUMBER: (114..115) \"4\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..118)\n NUMBER: (116..118) \"88\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..120) \" \"\n ATMOSPHERE: (120..127) \"; => 95\"\n ATMOSPHERE: (127..136) \"\n \"\n FORM: (136..145)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..138)\n IDENTIFIER: (137..138) \"-\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..140)\n NUMBER: (139..140) \"3\"\n ATMOSPHERE: (140..141) \" \"\n CONSTANT: (141..142)\n NUMBER: (141..142) \"4\"\n ATMOSPHERE: (142..143) \" \"\n CONSTANT: (143..144)\n NUMBER: (143..144) \"5\"\n CLOSE_PAREN: (144..145) \")\"\n ATMOSPHERE: (145..146) \" \"\n ATMOSPHERE: (146..153) \"; => -6\"\n ATMOSPHERE: (153..162) \"\n \"\n FORM: (162..167)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..164)\n IDENTIFIER: (163..164) \"-\"\n ATMOSPHERE: (164..165) \" \"\n CONSTANT: (165..166)\n NUMBER: (165..166) \"9\"\n CLOSE_PAREN: (166..167) \")\"\n ATMOSPHERE: (167..168) \" \"\n ATMOSPHERE: (168..175) \"; => -9\"\n ATMOSPHERE: (175..184) \"\n \"\n FORM: (184..187)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..186)\n IDENTIFIER: (185..186) \"/\"\n CLOSE_PAREN: (186..187) \")\"\n ATMOSPHERE: (187..188) \" \"\n ATMOSPHERE: (188..194) \"; => 1\"\n ATMOSPHERE: (194..203) \"\n \"\n FORM: (203..208)\n OPEN_PAREN: (203..204) \"(\"\n SYMBOL: (204..205)\n IDENTIFIER: (204..205) \"/\"\n ATMOSPHERE: (205..206) \" \"\n CONSTANT: (206..207)\n NUMBER: (206..207) \"2\"\n CLOSE_PAREN: (207..208) \")\"\n ATMOSPHERE: (208..209) \" \"\n ATMOSPHERE: (209..217) \"; => 0.5\"\n ATMOSPHERE: (217..226) \"\n \"\n FORM: (226..233)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..228)\n IDENTIFIER: (227..228) \"/\"\n ATMOSPHERE: (228..229) \" \"\n CONSTANT: (229..230)\n NUMBER: (229..230) \"5\"\n ATMOSPHERE: (230..231) \" \"\n CONSTANT: (231..232)\n NUMBER: (231..232) \"2\"\n CLOSE_PAREN: (232..233) \")\"\n ATMOSPHERE: (233..234) \" \"\n ATMOSPHERE: (234..242) \"; => 2.5\"\n ATMOSPHERE: (242..251) \"\n \"\n FORM: (251..258)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..253)\n IDENTIFIER: (252..253) \"*\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..255)\n NUMBER: (254..255) \"8\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..257)\n NUMBER: (256..257) \"5\"\n CLOSE_PAREN: (257..258) \")\"\n ATMOSPHERE: (258..259) \" \"\n ATMOSPHERE: (259..266) \"; => 40\"\n ATMOSPHERE: (266..275) \"\n \"\n FORM: (275..281)\n OPEN_PAREN: (275..276) \"(\"\n SYMBOL: (276..277)\n IDENTIFIER: (276..277) \"*\"\n ATMOSPHERE: (277..278) \" \"\n CONSTANT: (278..280)\n NUMBER: (278..280) \"76\"\n CLOSE_PAREN: (280..281) \")\"\n ATMOSPHERE: (281..282) \" \"\n ATMOSPHERE: (282..289) \"; => 76\"\n ATMOSPHERE: (289..294) \"\n \"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..296) \" \"\n ATMOSPHERE: (296..304) \"; => 200\"\n ATMOSPHERE: (304..309) \"\n \"\n FORM: (309..316)\n OPEN_PAREN: (309..310) \"(\"\n SYMBOL: (310..311)\n IDENTIFIER: (310..311) \"*\"\n ATMOSPHERE: (311..312) \" \"\n CONSTANT: (312..313)\n NUMBER: (312..313) \"8\"\n ATMOSPHERE: (313..314) \" \"\n CONSTANT: (314..315)\n NUMBER: (314..315) \"9\"\n CLOSE_PAREN: (315..316) \")\"\n CLOSE_PAREN: (316..317) \")\"\n EOF: (317..317) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json b/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json index 389fd55..c62dad3 100644 --- a/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..539)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..296)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..295)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..63) \" \n\n \"\n ATMOSPHERE: (63..86) \";; byte vector literals\"\n ATMOSPHERE: (86..91) \"\n \"\n BYTEVEC: (91..96)\n OPEN_PAREN: (91..95) \"#u8(\"\n CLOSE_PAREN: (95..96) \")\"\n ATMOSPHERE: (96..101) \"\n \"\n BYTEVEC: (101..109)\n OPEN_PAREN: (101..105) \"#u8(\"\n CONSTANT: (105..108)\n NUMBER: (105..108) \"255\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..114) \"\n \"\n BYTEVEC: (114..126)\n OPEN_PAREN: (114..118) \"#u8(\"\n ATMOSPHERE: (118..119) \" \"\n CONSTANT: (119..120)\n NUMBER: (119..120) \"1\"\n ATMOSPHERE: (120..121) \" \"\n CONSTANT: (121..122)\n NUMBER: (121..122) \"2\"\n ATMOSPHERE: (122..123) \" \"\n CONSTANT: (123..124)\n NUMBER: (123..124) \"3\"\n ATMOSPHERE: (124..125) \" \"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..132) \"\n\n \"\n FORM: (132..151)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..144)\n IDENTIFIER: (133..144) \"bytevector?\"\n ATMOSPHERE: (144..145) \" \"\n BYTEVEC: (145..150)\n OPEN_PAREN: (145..149) \"#u8(\"\n CLOSE_PAREN: (149..150) \")\"\n CLOSE_PAREN: (150..151) \")\"\n ATMOSPHERE: (151..156) \"\n \"\n FORM: (156..186)\n OPEN_PAREN: (156..157) \"(\"\n SYMBOL: (157..168)\n IDENTIFIER: (157..168) \"bytevector?\"\n ATMOSPHERE: (168..169) \" \"\n BYTEVEC: (169..185)\n OPEN_PAREN: (169..173) \"#u8(\"\n CONSTANT: (173..176)\n NUMBER: (173..176) \"128\"\n ATMOSPHERE: (176..177) \" \"\n CONSTANT: (177..180)\n NUMBER: (177..180) \"254\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..184)\n NUMBER: (181..184) \"255\"\n CLOSE_PAREN: (184..185) \")\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..192) \"\n\n \"\n ATMOSPHERE: (192..218) \";; byte vector constructor\"\n ATMOSPHERE: (218..223) \"\n \"\n FORM: (223..235)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..234)\n IDENTIFIER: (224..234) \"bytevector\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..240) \"\n \"\n FORM: (240..260)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..251)\n IDENTIFIER: (241..251) \"bytevector\"\n ATMOSPHERE: (251..252) \" \"\n CONSTANT: (252..253)\n NUMBER: (252..253) \"1\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..255)\n NUMBER: (254..255) \"2\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..257)\n NUMBER: (256..257) \"4\"\n ATMOSPHERE: (257..258) \" \"\n CONSTANT: (258..259)\n NUMBER: (258..259) \"5\"\n CLOSE_PAREN: (259..260) \")\"\n ATMOSPHERE: (260..265) \"\n \"\n FORM: (265..288)\n OPEN_PAREN: (265..266) \"(\"\n SYMBOL: (266..281)\n IDENTIFIER: (266..281) \"make-bytevector\"\n ATMOSPHERE: (281..282) \" \"\n CONSTANT: (282..284)\n NUMBER: (282..284) \"10\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..287)\n NUMBER: (285..287) \"90\"\n CLOSE_PAREN: (287..288) \")\"\n ATMOSPHERE: (288..294) \"\n\n \"\n CLOSE_PAREN: (294..295) \")\"\n CLOSE_PAREN: (295..296) \")\"\n FORM: (296..305)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..304)\n IDENTIFIER: (297..304) \"newline\"\n CLOSE_PAREN: (304..305) \")\"\n ATMOSPHERE: (305..307) \"\n\n\"\n FORM: (307..342)\n OPEN_PAREN: (307..308) \"(\"\n SYMBOL: (308..314)\n IDENTIFIER: (308..314) \"define\"\n ATMOSPHERE: (314..315) \" \"\n SYMBOL: (315..326)\n IDENTIFIER: (315..326) \"test-vector\"\n ATMOSPHERE: (326..327) \" \"\n BYTEVEC: (327..341)\n OPEN_PAREN: (327..331) \"#u8(\"\n CONSTANT: (331..332)\n NUMBER: (331..332) \"1\"\n ATMOSPHERE: (332..333) \" \"\n CONSTANT: (333..334)\n NUMBER: (333..334) \"2\"\n ATMOSPHERE: (334..335) \" \"\n CONSTANT: (335..336)\n NUMBER: (335..336) \"3\"\n ATMOSPHERE: (336..337) \" \"\n CONSTANT: (337..338)\n NUMBER: (337..338) \"4\"\n ATMOSPHERE: (338..339) \" \"\n CONSTANT: (339..340)\n NUMBER: (339..340) \"5\"\n CLOSE_PAREN: (340..341) \")\"\n CLOSE_PAREN: (341..342) \")\"\n ATMOSPHERE: (342..343) \"\n\"\n FORM: (343..384)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..351)\n IDENTIFIER: (344..351) \"display\"\n ATMOSPHERE: (351..352) \" \"\n FORM: (352..383)\n OPEN_PAREN: (352..353) \"(\"\n SYMBOL: (353..370)\n IDENTIFIER: (353..370) \"bytevector-length\"\n ATMOSPHERE: (370..371) \" \"\n SYMBOL: (371..382)\n IDENTIFIER: (371..382) \"test-vector\"\n CLOSE_PAREN: (382..383) \")\"\n CLOSE_PAREN: (383..384) \")\"\n FORM: (384..393)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..392)\n IDENTIFIER: (385..392) \"newline\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..394) \"\n\"\n FORM: (394..437)\n OPEN_PAREN: (394..395) \"(\"\n SYMBOL: (395..402)\n IDENTIFIER: (395..402) \"display\"\n ATMOSPHERE: (402..403) \" \"\n FORM: (403..436)\n OPEN_PAREN: (403..404) \"(\"\n SYMBOL: (404..421)\n IDENTIFIER: (404..421) \"bytevector-u8-ref\"\n ATMOSPHERE: (421..422) \" \"\n SYMBOL: (422..433)\n IDENTIFIER: (422..433) \"test-vector\"\n ATMOSPHERE: (433..434) \" \"\n CONSTANT: (434..435)\n NUMBER: (434..435) \"3\"\n CLOSE_PAREN: (435..436) \")\"\n CLOSE_PAREN: (436..437) \")\"\n FORM: (437..446)\n OPEN_PAREN: (437..438) \"(\"\n SYMBOL: (438..445)\n IDENTIFIER: (438..445) \"newline\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..447) \"\n\"\n FORM: (447..485)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..466)\n IDENTIFIER: (448..466) \"bytevector-u8-set!\"\n ATMOSPHERE: (466..467) \" \"\n SYMBOL: (467..478)\n IDENTIFIER: (467..478) \"test-vector\"\n ATMOSPHERE: (478..479) \" \"\n CONSTANT: (479..480)\n NUMBER: (479..480) \"3\"\n ATMOSPHERE: (480..481) \" \"\n CONSTANT: (481..484)\n NUMBER: (481..484) \"101\"\n CLOSE_PAREN: (484..485) \")\"\n ATMOSPHERE: (485..486) \"\n\"\n FORM: (486..529)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..494)\n IDENTIFIER: (487..494) \"display\"\n ATMOSPHERE: (494..495) \" \"\n FORM: (495..528)\n OPEN_PAREN: (495..496) \"(\"\n SYMBOL: (496..513)\n IDENTIFIER: (496..513) \"bytevector-u8-ref\"\n ATMOSPHERE: (513..514) \" \"\n SYMBOL: (514..525)\n IDENTIFIER: (514..525) \"test-vector\"\n ATMOSPHERE: (525..526) \" \"\n CONSTANT: (526..527)\n NUMBER: (526..527) \"3\"\n CLOSE_PAREN: (527..528) \")\"\n CLOSE_PAREN: (528..529) \")\"\n FORM: (529..538)\n OPEN_PAREN: (529..530) \"(\"\n SYMBOL: (530..537)\n IDENTIFIER: (530..537) \"newline\"\n CLOSE_PAREN: (537..538) \")\"\n ATMOSPHERE: (538..539) \"\n\"\n" + "Root": "PROGRAM: (0..539)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..296)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..295)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..63) \" \n\n \"\n ATMOSPHERE: (63..86) \";; byte vector literals\"\n ATMOSPHERE: (86..91) \"\n \"\n BYTEVEC: (91..96)\n OPEN_PAREN: (91..95) \"#u8(\"\n CLOSE_PAREN: (95..96) \")\"\n ATMOSPHERE: (96..101) \"\n \"\n BYTEVEC: (101..109)\n OPEN_PAREN: (101..105) \"#u8(\"\n CONSTANT: (105..108)\n NUMBER: (105..108) \"255\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..114) \"\n \"\n BYTEVEC: (114..126)\n OPEN_PAREN: (114..118) \"#u8(\"\n ATMOSPHERE: (118..119) \" \"\n CONSTANT: (119..120)\n NUMBER: (119..120) \"1\"\n ATMOSPHERE: (120..121) \" \"\n CONSTANT: (121..122)\n NUMBER: (121..122) \"2\"\n ATMOSPHERE: (122..123) \" \"\n CONSTANT: (123..124)\n NUMBER: (123..124) \"3\"\n ATMOSPHERE: (124..125) \" \"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..132) \"\n\n \"\n FORM: (132..151)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..144)\n IDENTIFIER: (133..144) \"bytevector?\"\n ATMOSPHERE: (144..145) \" \"\n BYTEVEC: (145..150)\n OPEN_PAREN: (145..149) \"#u8(\"\n CLOSE_PAREN: (149..150) \")\"\n CLOSE_PAREN: (150..151) \")\"\n ATMOSPHERE: (151..156) \"\n \"\n FORM: (156..186)\n OPEN_PAREN: (156..157) \"(\"\n SYMBOL: (157..168)\n IDENTIFIER: (157..168) \"bytevector?\"\n ATMOSPHERE: (168..169) \" \"\n BYTEVEC: (169..185)\n OPEN_PAREN: (169..173) \"#u8(\"\n CONSTANT: (173..176)\n NUMBER: (173..176) \"128\"\n ATMOSPHERE: (176..177) \" \"\n CONSTANT: (177..180)\n NUMBER: (177..180) \"254\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..184)\n NUMBER: (181..184) \"255\"\n CLOSE_PAREN: (184..185) \")\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..192) \"\n\n \"\n ATMOSPHERE: (192..218) \";; byte vector constructor\"\n ATMOSPHERE: (218..223) \"\n \"\n FORM: (223..235)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..234)\n IDENTIFIER: (224..234) \"bytevector\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..240) \"\n \"\n FORM: (240..260)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..251)\n IDENTIFIER: (241..251) \"bytevector\"\n ATMOSPHERE: (251..252) \" \"\n CONSTANT: (252..253)\n NUMBER: (252..253) \"1\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..255)\n NUMBER: (254..255) \"2\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..257)\n NUMBER: (256..257) \"4\"\n ATMOSPHERE: (257..258) \" \"\n CONSTANT: (258..259)\n NUMBER: (258..259) \"5\"\n CLOSE_PAREN: (259..260) \")\"\n ATMOSPHERE: (260..265) \"\n \"\n FORM: (265..288)\n OPEN_PAREN: (265..266) \"(\"\n SYMBOL: (266..281)\n IDENTIFIER: (266..281) \"make-bytevector\"\n ATMOSPHERE: (281..282) \" \"\n CONSTANT: (282..284)\n NUMBER: (282..284) \"10\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..287)\n NUMBER: (285..287) \"90\"\n CLOSE_PAREN: (287..288) \")\"\n ATMOSPHERE: (288..294) \"\n\n \"\n CLOSE_PAREN: (294..295) \")\"\n CLOSE_PAREN: (295..296) \")\"\n FORM: (296..305)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..304)\n IDENTIFIER: (297..304) \"newline\"\n CLOSE_PAREN: (304..305) \")\"\n ATMOSPHERE: (305..307) \"\n\n\"\n FORM: (307..342)\n OPEN_PAREN: (307..308) \"(\"\n SYMBOL: (308..314)\n IDENTIFIER: (308..314) \"define\"\n ATMOSPHERE: (314..315) \" \"\n SYMBOL: (315..326)\n IDENTIFIER: (315..326) \"test-vector\"\n ATMOSPHERE: (326..327) \" \"\n BYTEVEC: (327..341)\n OPEN_PAREN: (327..331) \"#u8(\"\n CONSTANT: (331..332)\n NUMBER: (331..332) \"1\"\n ATMOSPHERE: (332..333) \" \"\n CONSTANT: (333..334)\n NUMBER: (333..334) \"2\"\n ATMOSPHERE: (334..335) \" \"\n CONSTANT: (335..336)\n NUMBER: (335..336) \"3\"\n ATMOSPHERE: (336..337) \" \"\n CONSTANT: (337..338)\n NUMBER: (337..338) \"4\"\n ATMOSPHERE: (338..339) \" \"\n CONSTANT: (339..340)\n NUMBER: (339..340) \"5\"\n CLOSE_PAREN: (340..341) \")\"\n CLOSE_PAREN: (341..342) \")\"\n ATMOSPHERE: (342..343) \"\n\"\n FORM: (343..384)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..351)\n IDENTIFIER: (344..351) \"display\"\n ATMOSPHERE: (351..352) \" \"\n FORM: (352..383)\n OPEN_PAREN: (352..353) \"(\"\n SYMBOL: (353..370)\n IDENTIFIER: (353..370) \"bytevector-length\"\n ATMOSPHERE: (370..371) \" \"\n SYMBOL: (371..382)\n IDENTIFIER: (371..382) \"test-vector\"\n CLOSE_PAREN: (382..383) \")\"\n CLOSE_PAREN: (383..384) \")\"\n FORM: (384..393)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..392)\n IDENTIFIER: (385..392) \"newline\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..394) \"\n\"\n FORM: (394..437)\n OPEN_PAREN: (394..395) \"(\"\n SYMBOL: (395..402)\n IDENTIFIER: (395..402) \"display\"\n ATMOSPHERE: (402..403) \" \"\n FORM: (403..436)\n OPEN_PAREN: (403..404) \"(\"\n SYMBOL: (404..421)\n IDENTIFIER: (404..421) \"bytevector-u8-ref\"\n ATMOSPHERE: (421..422) \" \"\n SYMBOL: (422..433)\n IDENTIFIER: (422..433) \"test-vector\"\n ATMOSPHERE: (433..434) \" \"\n CONSTANT: (434..435)\n NUMBER: (434..435) \"3\"\n CLOSE_PAREN: (435..436) \")\"\n CLOSE_PAREN: (436..437) \")\"\n FORM: (437..446)\n OPEN_PAREN: (437..438) \"(\"\n SYMBOL: (438..445)\n IDENTIFIER: (438..445) \"newline\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..447) \"\n\"\n FORM: (447..485)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..466)\n IDENTIFIER: (448..466) \"bytevector-u8-set!\"\n ATMOSPHERE: (466..467) \" \"\n SYMBOL: (467..478)\n IDENTIFIER: (467..478) \"test-vector\"\n ATMOSPHERE: (478..479) \" \"\n CONSTANT: (479..480)\n NUMBER: (479..480) \"3\"\n ATMOSPHERE: (480..481) \" \"\n CONSTANT: (481..484)\n NUMBER: (481..484) \"101\"\n CLOSE_PAREN: (484..485) \")\"\n ATMOSPHERE: (485..486) \"\n\"\n FORM: (486..529)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..494)\n IDENTIFIER: (487..494) \"display\"\n ATMOSPHERE: (494..495) \" \"\n FORM: (495..528)\n OPEN_PAREN: (495..496) \"(\"\n SYMBOL: (496..513)\n IDENTIFIER: (496..513) \"bytevector-u8-ref\"\n ATMOSPHERE: (513..514) \" \"\n SYMBOL: (514..525)\n IDENTIFIER: (514..525) \"test-vector\"\n ATMOSPHERE: (525..526) \" \"\n CONSTANT: (526..527)\n NUMBER: (526..527) \"3\"\n CLOSE_PAREN: (527..528) \")\"\n CLOSE_PAREN: (528..529) \")\"\n FORM: (529..538)\n OPEN_PAREN: (529..530) \"(\"\n SYMBOL: (530..537)\n IDENTIFIER: (530..537) \"newline\"\n CLOSE_PAREN: (537..538) \")\"\n ATMOSPHERE: (538..539) \"\n\"\n EOF: (539..539) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json b/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json index ee0f373..a97c658 100644 --- a/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..208)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..84)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..83)\n OPEN_PAREN: (51..52) \"(\"\n FORM: (52..82)\n OPEN_PAREN: (52..53) \"(\"\n FORM: (53..77)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..60)\n IDENTIFIER: (54..60) \"lambda\"\n ATMOSPHERE: (60..61) \" \"\n SYMBOL: (61..62)\n IDENTIFIER: (61..62) \"a\"\n ATMOSPHERE: (62..63) \" \"\n FORM: (63..76)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..70)\n IDENTIFIER: (64..70) \"lambda\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..73)\n OPEN_PAREN: (71..72) \"(\"\n CLOSE_PAREN: (72..73) \")\"\n ATMOSPHERE: (73..74) \" \"\n SYMBOL: (74..75)\n IDENTIFIER: (74..75) \"a\"\n CLOSE_PAREN: (75..76) \")\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..78) \" \"\n CONSTANT: (78..81)\n NUMBER: (78..81) \"123\"\n CLOSE_PAREN: (81..82) \")\"\n CLOSE_PAREN: (82..83) \")\"\n CLOSE_PAREN: (83..84) \")\"\n ATMOSPHERE: (84..85) \"\n\"\n FORM: (85..140)\n OPEN_PAREN: (85..86) \"(\"\n SYMBOL: (86..93)\n IDENTIFIER: (86..93) \"display\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..139)\n OPEN_PAREN: (94..95) \"(\"\n FORM: (95..138)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..102)\n IDENTIFIER: (96..102) \"lambda\"\n ATMOSPHERE: (102..103) \" \"\n FORM: (103..105)\n OPEN_PAREN: (103..104) \"(\"\n CLOSE_PAREN: (104..105) \")\"\n ATMOSPHERE: (105..106) \" \"\n FORM: (106..120)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..113)\n IDENTIFIER: (107..113) \"define\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"a\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..119)\n NUMBER: (116..119) \"100\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..121) \" \"\n FORM: (121..135)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..128)\n IDENTIFIER: (122..128) \"define\"\n ATMOSPHERE: (128..129) \" \"\n FORM: (129..132)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"b\"\n CLOSE_PAREN: (131..132) \")\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"a\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n SYMBOL: (136..137)\n IDENTIFIER: (136..137) \"a\"\n CLOSE_PAREN: (137..138) \")\"\n CLOSE_PAREN: (138..139) \")\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \"\n\"\n FORM: (141..208)\n OPEN_PAREN: (141..142) \"(\"\n FORM: (142..202)\n OPEN_PAREN: (142..143) \"(\"\n FORM: (143..189)\n OPEN_PAREN: (143..144) \"(\"\n SYMBOL: (144..150)\n IDENTIFIER: (144..150) \"lambda\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..154)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..153)\n IDENTIFIER: (152..153) \"a\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..159) \"\n \"\n FORM: (159..188)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..166)\n IDENTIFIER: (160..166) \"lambda\"\n ATMOSPHERE: (166..167) \" \"\n FORM: (167..170)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"b\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..180) \" \n \"\n FORM: (180..187)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..182)\n IDENTIFIER: (181..182) \"=\"\n ATMOSPHERE: (182..183) \" \"\n SYMBOL: (183..184)\n IDENTIFIER: (183..184) \"a\"\n ATMOSPHERE: (184..185) \" \"\n SYMBOL: (185..186)\n IDENTIFIER: (185..186) \"b\"\n CLOSE_PAREN: (186..187) \")\"\n CLOSE_PAREN: (187..188) \")\"\n CLOSE_PAREN: (188..189) \")\"\n ATMOSPHERE: (189..192) \"\n \"\n FORM: (192..201)\n OPEN_PAREN: (192..193) \"(\"\n SYMBOL: (193..194)\n IDENTIFIER: (193..194) \"*\"\n ATMOSPHERE: (194..195) \" \"\n CONSTANT: (195..196)\n NUMBER: (195..196) \"2\"\n ATMOSPHERE: (196..197) \" \"\n CONSTANT: (197..200)\n NUMBER: (197..200) \"123\"\n CLOSE_PAREN: (200..201) \")\"\n CLOSE_PAREN: (201..202) \")\"\n ATMOSPHERE: (202..204) \"\n \"\n CONSTANT: (204..207)\n NUMBER: (204..207) \"246\"\n CLOSE_PAREN: (207..208) \")\"\n" + "Root": "PROGRAM: (0..208)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..84)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..83)\n OPEN_PAREN: (51..52) \"(\"\n FORM: (52..82)\n OPEN_PAREN: (52..53) \"(\"\n FORM: (53..77)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..60)\n IDENTIFIER: (54..60) \"lambda\"\n ATMOSPHERE: (60..61) \" \"\n SYMBOL: (61..62)\n IDENTIFIER: (61..62) \"a\"\n ATMOSPHERE: (62..63) \" \"\n FORM: (63..76)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..70)\n IDENTIFIER: (64..70) \"lambda\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..73)\n OPEN_PAREN: (71..72) \"(\"\n CLOSE_PAREN: (72..73) \")\"\n ATMOSPHERE: (73..74) \" \"\n SYMBOL: (74..75)\n IDENTIFIER: (74..75) \"a\"\n CLOSE_PAREN: (75..76) \")\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..78) \" \"\n CONSTANT: (78..81)\n NUMBER: (78..81) \"123\"\n CLOSE_PAREN: (81..82) \")\"\n CLOSE_PAREN: (82..83) \")\"\n CLOSE_PAREN: (83..84) \")\"\n ATMOSPHERE: (84..85) \"\n\"\n FORM: (85..140)\n OPEN_PAREN: (85..86) \"(\"\n SYMBOL: (86..93)\n IDENTIFIER: (86..93) \"display\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..139)\n OPEN_PAREN: (94..95) \"(\"\n FORM: (95..138)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..102)\n IDENTIFIER: (96..102) \"lambda\"\n ATMOSPHERE: (102..103) \" \"\n FORM: (103..105)\n OPEN_PAREN: (103..104) \"(\"\n CLOSE_PAREN: (104..105) \")\"\n ATMOSPHERE: (105..106) \" \"\n FORM: (106..120)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..113)\n IDENTIFIER: (107..113) \"define\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"a\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..119)\n NUMBER: (116..119) \"100\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..121) \" \"\n FORM: (121..135)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..128)\n IDENTIFIER: (122..128) \"define\"\n ATMOSPHERE: (128..129) \" \"\n FORM: (129..132)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"b\"\n CLOSE_PAREN: (131..132) \")\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"a\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n SYMBOL: (136..137)\n IDENTIFIER: (136..137) \"a\"\n CLOSE_PAREN: (137..138) \")\"\n CLOSE_PAREN: (138..139) \")\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \"\n\"\n FORM: (141..208)\n OPEN_PAREN: (141..142) \"(\"\n FORM: (142..202)\n OPEN_PAREN: (142..143) \"(\"\n FORM: (143..189)\n OPEN_PAREN: (143..144) \"(\"\n SYMBOL: (144..150)\n IDENTIFIER: (144..150) \"lambda\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..154)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..153)\n IDENTIFIER: (152..153) \"a\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..159) \"\n \"\n FORM: (159..188)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..166)\n IDENTIFIER: (160..166) \"lambda\"\n ATMOSPHERE: (166..167) \" \"\n FORM: (167..170)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"b\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..180) \" \n \"\n FORM: (180..187)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..182)\n IDENTIFIER: (181..182) \"=\"\n ATMOSPHERE: (182..183) \" \"\n SYMBOL: (183..184)\n IDENTIFIER: (183..184) \"a\"\n ATMOSPHERE: (184..185) \" \"\n SYMBOL: (185..186)\n IDENTIFIER: (185..186) \"b\"\n CLOSE_PAREN: (186..187) \")\"\n CLOSE_PAREN: (187..188) \")\"\n CLOSE_PAREN: (188..189) \")\"\n ATMOSPHERE: (189..192) \"\n \"\n FORM: (192..201)\n OPEN_PAREN: (192..193) \"(\"\n SYMBOL: (193..194)\n IDENTIFIER: (193..194) \"*\"\n ATMOSPHERE: (194..195) \" \"\n CONSTANT: (195..196)\n NUMBER: (195..196) \"2\"\n ATMOSPHERE: (196..197) \" \"\n CONSTANT: (197..200)\n NUMBER: (197..200) \"123\"\n CLOSE_PAREN: (200..201) \")\"\n CLOSE_PAREN: (201..202) \")\"\n ATMOSPHERE: (202..204) \"\n \"\n CONSTANT: (204..207)\n NUMBER: (204..207) \"246\"\n CLOSE_PAREN: (207..208) \")\"\n EOF: (208..208) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_characters.scm.json b/test/Feersum.Tests/_snapshots/Parse_characters.scm.json index b6b2bfe..00501f4 100644 --- a/test/Feersum.Tests/_snapshots/Parse_characters.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_characters.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..5347)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..213) \"\n\n\"\n FORM: (213..799)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..221)\n IDENTIFIER: (214..221) \"display\"\n ATMOSPHERE: (221..222) \" \"\n FORM: (222..798)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..232)\n IDENTIFIER: (223..232) \"boolean=?\"\n ATMOSPHERE: (232..237) \"\n \"\n CONSTANT: (237..239)\n BOOLEAN: (237..239) \"#t\"\n ATMOSPHERE: (239..249) \"\n \n \"\n FORM: (249..278)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..256)\n IDENTIFIER: (250..256) \"equal?\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..264)\n CHARACTER: (257..264) \"#\\alarm\"\n ATMOSPHERE: (264..270) \" \"\n CONSTANT: (270..277)\n CHARACTER: (270..277) \"#\\x0007\"\n CLOSE_PAREN: (277..278) \")\"\n ATMOSPHERE: (278..280) \" \"\n ATMOSPHERE: (280..288) \"; U+0007\"\n ATMOSPHERE: (288..293) \"\n \"\n FORM: (293..322)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..300)\n IDENTIFIER: (294..300) \"equal?\"\n ATMOSPHERE: (300..301) \" \"\n CONSTANT: (301..312)\n CHARACTER: (301..312) \"#\\backspace\"\n ATMOSPHERE: (312..314) \" \"\n CONSTANT: (314..321)\n CHARACTER: (314..321) \"#\\x0008\"\n CLOSE_PAREN: (321..322) \")\"\n ATMOSPHERE: (322..324) \" \"\n ATMOSPHERE: (324..332) \"; U+0008\"\n ATMOSPHERE: (332..337) \"\n \"\n FORM: (337..366)\n OPEN_PAREN: (337..338) \"(\"\n SYMBOL: (338..344)\n IDENTIFIER: (338..344) \"equal?\"\n ATMOSPHERE: (344..345) \" \"\n CONSTANT: (345..353)\n CHARACTER: (345..353) \"#\\delete\"\n ATMOSPHERE: (353..358) \" \"\n CONSTANT: (358..365)\n CHARACTER: (358..365) \"#\\x007F\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..368) \" \"\n ATMOSPHERE: (368..376) \"; U+007F\"\n ATMOSPHERE: (376..381) \"\n \"\n FORM: (381..410)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..388)\n IDENTIFIER: (382..388) \"equal?\"\n ATMOSPHERE: (388..389) \" \"\n CONSTANT: (389..397)\n CHARACTER: (389..397) \"#\\escape\"\n ATMOSPHERE: (397..402) \" \"\n CONSTANT: (402..409)\n CHARACTER: (402..409) \"#\\x001B\"\n CLOSE_PAREN: (409..410) \")\"\n ATMOSPHERE: (410..412) \" \"\n ATMOSPHERE: (412..420) \"; U+001B\"\n ATMOSPHERE: (420..425) \"\n \"\n FORM: (425..454)\n OPEN_PAREN: (425..426) \"(\"\n SYMBOL: (426..432)\n IDENTIFIER: (426..432) \"equal?\"\n ATMOSPHERE: (432..433) \" \"\n CONSTANT: (433..442)\n CHARACTER: (433..442) \"#\\newline\"\n ATMOSPHERE: (442..446) \" \"\n CONSTANT: (446..453)\n CHARACTER: (446..453) \"#\\x000A\"\n CLOSE_PAREN: (453..454) \")\"\n ATMOSPHERE: (454..456) \" \"\n ATMOSPHERE: (456..488) \"; the linefeed character, U+000A\"\n ATMOSPHERE: (488..493) \"\n \"\n FORM: (493..522)\n OPEN_PAREN: (493..494) \"(\"\n SYMBOL: (494..500)\n IDENTIFIER: (494..500) \"equal?\"\n ATMOSPHERE: (500..501) \" \"\n CONSTANT: (501..507)\n CHARACTER: (501..507) \"#\\null\"\n ATMOSPHERE: (507..514) \" \"\n CONSTANT: (514..521)\n CHARACTER: (514..521) \"#\\x0000\"\n CLOSE_PAREN: (521..522) \")\"\n ATMOSPHERE: (522..524) \" \"\n ATMOSPHERE: (524..552) \"; the null character, U+0000\"\n ATMOSPHERE: (552..557) \"\n \"\n FORM: (557..586)\n OPEN_PAREN: (557..558) \"(\"\n SYMBOL: (558..564)\n IDENTIFIER: (558..564) \"equal?\"\n ATMOSPHERE: (564..565) \" \"\n CONSTANT: (565..573)\n CHARACTER: (565..573) \"#\\return\"\n ATMOSPHERE: (573..578) \" \"\n CONSTANT: (578..585)\n CHARACTER: (578..585) \"#\\x000D\"\n CLOSE_PAREN: (585..586) \")\"\n ATMOSPHERE: (586..588) \" \"\n ATMOSPHERE: (588..618) \"; the return character, U+000D\"\n ATMOSPHERE: (618..623) \"\n \"\n FORM: (623..652)\n OPEN_PAREN: (623..624) \"(\"\n SYMBOL: (624..630)\n IDENTIFIER: (624..630) \"equal?\"\n ATMOSPHERE: (630..631) \" \"\n CONSTANT: (631..638)\n CHARACTER: (631..638) \"#\\space\"\n ATMOSPHERE: (638..644) \" \"\n CONSTANT: (644..647)\n CHARACTER: (644..647) \"#\\ \"\n ATMOSPHERE: (647..651) \" \"\n CLOSE_PAREN: (651..652) \")\"\n ATMOSPHERE: (652..654) \" \"\n ATMOSPHERE: (654..690) \"; the preferred way to write a space\"\n ATMOSPHERE: (690..695) \"\n \"\n FORM: (695..724)\n OPEN_PAREN: (695..696) \"(\"\n SYMBOL: (696..702)\n IDENTIFIER: (696..702) \"equal?\"\n ATMOSPHERE: (702..703) \" \"\n CONSTANT: (703..708)\n CHARACTER: (703..708) \"#\\tab\"\n ATMOSPHERE: (708..716) \" \"\n CONSTANT: (716..723)\n CHARACTER: (716..723) \"#\\x0009\"\n CLOSE_PAREN: (723..724) \")\"\n ATMOSPHERE: (724..726) \" \"\n ATMOSPHERE: (726..753) \"; the tab character, U+0009\"\n ATMOSPHERE: (753..758) \"\n \"\n FORM: (758..787)\n OPEN_PAREN: (758..759) \"(\"\n SYMBOL: (759..765)\n IDENTIFIER: (759..765) \"equal?\"\n ATMOSPHERE: (765..766) \" \"\n CONSTANT: (766..773)\n CHARACTER: (766..773) \"#\\x03BB\"\n ATMOSPHERE: (773..779) \" \"\n CONSTANT: (779..782)\n CHARACTER: (779..782) \"#\\λ\"\n ATMOSPHERE: (782..786) \" \"\n CLOSE_PAREN: (786..787) \")\"\n ATMOSPHERE: (787..789) \" \"\n ATMOSPHERE: (789..792) \"; λ\"\n ATMOSPHERE: (792..797) \"\n \"\n CLOSE_PAREN: (797..798) \")\"\n CLOSE_PAREN: (798..799) \")\"\n FORM: (799..808)\n OPEN_PAREN: (799..800) \"(\"\n SYMBOL: (800..807)\n IDENTIFIER: (800..807) \"newline\"\n CLOSE_PAREN: (807..808) \")\"\n ATMOSPHERE: (808..810) \"\n\n\"\n ATMOSPHERE: (810..840) \";; Simple character operations\"\n ATMOSPHERE: (840..841) \"\n\"\n FORM: (841..1660)\n OPEN_PAREN: (841..842) \"(\"\n SYMBOL: (842..849)\n IDENTIFIER: (842..849) \"display\"\n ATMOSPHERE: (849..850) \" \"\n FORM: (850..1659)\n OPEN_PAREN: (850..851) \"(\"\n SYMBOL: (851..855)\n IDENTIFIER: (851..855) \"list\"\n ATMOSPHERE: (855..860) \"\n \"\n FORM: (860..875)\n OPEN_PAREN: (860..861) \"(\"\n SYMBOL: (861..866)\n IDENTIFIER: (861..866) \"char?\"\n ATMOSPHERE: (866..867) \" \"\n CONSTANT: (867..874)\n CHARACTER: (867..874) \"#\\space\"\n CLOSE_PAREN: (874..875) \")\"\n ATMOSPHERE: (875..880) \"\n \"\n FORM: (880..893)\n OPEN_PAREN: (880..881) \"(\"\n SYMBOL: (881..886)\n IDENTIFIER: (881..886) \"char?\"\n ATMOSPHERE: (886..887) \" \"\n CONSTANT: (887..892)\n CHARACTER: (887..892) \"#\\tab\"\n CLOSE_PAREN: (892..893) \")\"\n ATMOSPHERE: (893..898) \"\n \"\n FORM: (898..912)\n OPEN_PAREN: (898..899) \"(\"\n SYMBOL: (899..904)\n IDENTIFIER: (899..904) \"char?\"\n ATMOSPHERE: (904..905) \" \"\n CONSTANT: (905..911)\n CHARACTER: (905..911) \"#\\null\"\n CLOSE_PAREN: (911..912) \")\"\n ATMOSPHERE: (912..917) \"\n \"\n FORM: (917..928)\n OPEN_PAREN: (917..918) \"(\"\n SYMBOL: (918..923)\n IDENTIFIER: (918..923) \"char?\"\n ATMOSPHERE: (923..924) \" \"\n CONSTANT: (924..927)\n NUMBER: (924..927) \"101\"\n CLOSE_PAREN: (927..928) \")\"\n ATMOSPHERE: (928..933) \"\n \"\n FORM: (933..943)\n OPEN_PAREN: (933..934) \"(\"\n SYMBOL: (934..939)\n IDENTIFIER: (934..939) \"char?\"\n ATMOSPHERE: (939..940) \" \"\n CONSTANT: (940..942)\n NUMBER: (940..942) \"00\"\n CLOSE_PAREN: (942..943) \")\"\n ATMOSPHERE: (943..953) \"\n \n \"\n FORM: (953..1241)\n OPEN_PAREN: (953..954) \"(\"\n SYMBOL: (954..963)\n IDENTIFIER: (954..963) \"boolean=?\"\n ATMOSPHERE: (963..972) \"\n \"\n CONSTANT: (972..974)\n BOOLEAN: (972..974) \"#t\"\n ATMOSPHERE: (974..988) \"\n \n \"\n FORM: (988..1021)\n OPEN_PAREN: (988..989) \"(\"\n SYMBOL: (989..995)\n IDENTIFIER: (989..995) \"equal?\"\n ATMOSPHERE: (995..996) \" \"\n FORM: (996..1013)\n OPEN_PAREN: (996..997) \"(\"\n SYMBOL: (997..1008)\n IDENTIFIER: (997..1008) \"digit-value\"\n ATMOSPHERE: (1008..1009) \" \"\n CONSTANT: (1009..1012)\n CHARACTER: (1009..1012) \"#\\3\"\n CLOSE_PAREN: (1012..1013) \")\"\n ATMOSPHERE: (1013..1019) \" \"\n CONSTANT: (1019..1020)\n NUMBER: (1019..1020) \"3\"\n CLOSE_PAREN: (1020..1021) \")\"\n ATMOSPHERE: (1021..1030) \"\n \"\n FORM: (1030..1063)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1037)\n IDENTIFIER: (1031..1037) \"equal?\"\n ATMOSPHERE: (1037..1038) \" \"\n FORM: (1038..1059)\n OPEN_PAREN: (1038..1039) \"(\"\n SYMBOL: (1039..1050)\n IDENTIFIER: (1039..1050) \"digit-value\"\n ATMOSPHERE: (1050..1051) \" \"\n CONSTANT: (1051..1058)\n CHARACTER: (1051..1058) \"#\\x0664\"\n CLOSE_PAREN: (1058..1059) \")\"\n ATMOSPHERE: (1059..1061) \" \"\n CONSTANT: (1061..1062)\n NUMBER: (1061..1062) \"4\"\n CLOSE_PAREN: (1062..1063) \")\"\n ATMOSPHERE: (1063..1072) \"\n \"\n FORM: (1072..1105)\n OPEN_PAREN: (1072..1073) \"(\"\n SYMBOL: (1073..1079)\n IDENTIFIER: (1073..1079) \"equal?\"\n ATMOSPHERE: (1079..1080) \" \"\n FORM: (1080..1101)\n OPEN_PAREN: (1080..1081) \"(\"\n SYMBOL: (1081..1092)\n IDENTIFIER: (1081..1092) \"digit-value\"\n ATMOSPHERE: (1092..1093) \" \"\n CONSTANT: (1093..1100)\n CHARACTER: (1093..1100) \"#\\x0AE6\"\n CLOSE_PAREN: (1100..1101) \")\"\n ATMOSPHERE: (1101..1103) \" \"\n CONSTANT: (1103..1104)\n NUMBER: (1103..1104) \"0\"\n CLOSE_PAREN: (1104..1105) \")\"\n ATMOSPHERE: (1105..1114) \"\n \"\n FORM: (1114..1147)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1121)\n IDENTIFIER: (1115..1121) \"equal?\"\n ATMOSPHERE: (1121..1122) \" \"\n FORM: (1122..1143)\n OPEN_PAREN: (1122..1123) \"(\"\n SYMBOL: (1123..1134)\n IDENTIFIER: (1123..1134) \"digit-value\"\n ATMOSPHERE: (1134..1135) \" \"\n CONSTANT: (1135..1142)\n CHARACTER: (1135..1142) \"#\\x0EA6\"\n CLOSE_PAREN: (1142..1143) \")\"\n ATMOSPHERE: (1143..1144) \" \"\n CONSTANT: (1144..1146)\n BOOLEAN: (1144..1146) \"#f\"\n CLOSE_PAREN: (1146..1147) \")\"\n ATMOSPHERE: (1147..1156) \"\n \"\n FORM: (1156..1189)\n OPEN_PAREN: (1156..1157) \"(\"\n SYMBOL: (1157..1163)\n IDENTIFIER: (1157..1163) \"equal?\"\n ATMOSPHERE: (1163..1164) \" \"\n FORM: (1164..1181)\n OPEN_PAREN: (1164..1165) \"(\"\n SYMBOL: (1165..1176)\n IDENTIFIER: (1165..1176) \"digit-value\"\n ATMOSPHERE: (1176..1177) \" \"\n CONSTANT: (1177..1180)\n CHARACTER: (1177..1180) \"#\\১\"\n CLOSE_PAREN: (1180..1181) \")\"\n ATMOSPHERE: (1181..1187) \" \"\n CONSTANT: (1187..1188)\n NUMBER: (1187..1188) \"1\"\n CLOSE_PAREN: (1188..1189) \")\"\n ATMOSPHERE: (1189..1198) \"\n \"\n FORM: (1198..1231)\n OPEN_PAREN: (1198..1199) \"(\"\n SYMBOL: (1199..1205)\n IDENTIFIER: (1199..1205) \"equal?\"\n ATMOSPHERE: (1205..1206) \" \"\n FORM: (1206..1223)\n OPEN_PAREN: (1206..1207) \"(\"\n SYMBOL: (1207..1218)\n IDENTIFIER: (1207..1218) \"digit-value\"\n ATMOSPHERE: (1218..1219) \" \"\n CONSTANT: (1219..1222)\n CHARACTER: (1219..1222) \"#\\५\"\n CLOSE_PAREN: (1222..1223) \")\"\n ATMOSPHERE: (1223..1229) \" \"\n CONSTANT: (1229..1230)\n NUMBER: (1229..1230) \"5\"\n CLOSE_PAREN: (1230..1231) \")\"\n ATMOSPHERE: (1231..1240) \"\n \"\n CLOSE_PAREN: (1240..1241) \")\"\n ATMOSPHERE: (1241..1247) \"\n\n \"\n FORM: (1247..1653)\n OPEN_PAREN: (1247..1248) \"(\"\n SYMBOL: (1248..1257)\n IDENTIFIER: (1248..1257) \"boolean=?\"\n ATMOSPHERE: (1257..1266) \"\n \"\n CONSTANT: (1266..1268)\n BOOLEAN: (1266..1268) \"#t\"\n ATMOSPHERE: (1268..1278) \"\n\n \"\n FORM: (1278..1313)\n OPEN_PAREN: (1278..1279) \"(\"\n SYMBOL: (1279..1285)\n IDENTIFIER: (1279..1285) \"equal?\"\n ATMOSPHERE: (1285..1286) \" \"\n FORM: (1286..1309)\n OPEN_PAREN: (1286..1287) \"(\"\n SYMBOL: (1287..1300)\n IDENTIFIER: (1287..1300) \"char->integer\"\n ATMOSPHERE: (1300..1301) \" \"\n CONSTANT: (1301..1308)\n CHARACTER: (1301..1308) \"#\\space\"\n CLOSE_PAREN: (1308..1309) \")\"\n ATMOSPHERE: (1309..1310) \" \"\n CONSTANT: (1310..1312)\n NUMBER: (1310..1312) \"32\"\n CLOSE_PAREN: (1312..1313) \")\"\n ATMOSPHERE: (1313..1322) \"\n \"\n FORM: (1322..1355)\n OPEN_PAREN: (1322..1323) \"(\"\n SYMBOL: (1323..1329)\n IDENTIFIER: (1323..1329) \"equal?\"\n ATMOSPHERE: (1329..1330) \" \"\n FORM: (1330..1352)\n OPEN_PAREN: (1330..1331) \"(\"\n SYMBOL: (1331..1344)\n IDENTIFIER: (1331..1344) \"char->integer\"\n ATMOSPHERE: (1344..1345) \" \"\n CONSTANT: (1345..1351)\n CHARACTER: (1345..1351) \"#\\null\"\n CLOSE_PAREN: (1351..1352) \")\"\n ATMOSPHERE: (1352..1353) \" \"\n CONSTANT: (1353..1354)\n NUMBER: (1353..1354) \"0\"\n CLOSE_PAREN: (1354..1355) \")\"\n ATMOSPHERE: (1355..1364) \"\n \"\n FORM: (1364..1401)\n OPEN_PAREN: (1364..1365) \"(\"\n SYMBOL: (1365..1371)\n IDENTIFIER: (1365..1371) \"equal?\"\n ATMOSPHERE: (1371..1372) \" \"\n FORM: (1372..1395)\n OPEN_PAREN: (1372..1373) \"(\"\n SYMBOL: (1373..1386)\n IDENTIFIER: (1373..1386) \"char->integer\"\n ATMOSPHERE: (1386..1387) \" \"\n CONSTANT: (1387..1394)\n CHARACTER: (1387..1394) \"#\\x0EA6\"\n CLOSE_PAREN: (1394..1395) \")\"\n ATMOSPHERE: (1395..1396) \" \"\n CONSTANT: (1396..1400)\n NUMBER: (1396..1400) \"3750\"\n CLOSE_PAREN: (1400..1401) \")\"\n ATMOSPHERE: (1401..1410) \"\n \"\n FORM: (1410..1441)\n OPEN_PAREN: (1410..1411) \"(\"\n SYMBOL: (1411..1417)\n IDENTIFIER: (1411..1417) \"equal?\"\n ATMOSPHERE: (1417..1418) \" \"\n FORM: (1418..1436)\n OPEN_PAREN: (1418..1419) \"(\"\n SYMBOL: (1419..1432)\n IDENTIFIER: (1419..1432) \"integer->char\"\n ATMOSPHERE: (1432..1433) \" \"\n CONSTANT: (1433..1435)\n NUMBER: (1433..1435) \"38\"\n CLOSE_PAREN: (1435..1436) \")\"\n ATMOSPHERE: (1436..1437) \" \"\n CONSTANT: (1437..1440)\n CHARACTER: (1437..1440) \"#\\&\"\n CLOSE_PAREN: (1440..1441) \")\"\n ATMOSPHERE: (1441..1450) \"\n \"\n FORM: (1450..1484)\n OPEN_PAREN: (1450..1451) \"(\"\n SYMBOL: (1451..1457)\n IDENTIFIER: (1451..1457) \"equal?\"\n ATMOSPHERE: (1457..1458) \" \"\n FORM: (1458..1475)\n OPEN_PAREN: (1458..1459) \"(\"\n SYMBOL: (1459..1472)\n IDENTIFIER: (1459..1472) \"integer->char\"\n ATMOSPHERE: (1472..1473) \" \"\n CONSTANT: (1473..1474)\n NUMBER: (1473..1474) \"0\"\n CLOSE_PAREN: (1474..1475) \")\"\n ATMOSPHERE: (1475..1476) \" \"\n CONSTANT: (1476..1483)\n CHARACTER: (1476..1483) \"#\\x0000\"\n CLOSE_PAREN: (1483..1484) \")\"\n ATMOSPHERE: (1484..1493) \"\n \"\n FORM: (1493..1531)\n OPEN_PAREN: (1493..1494) \"(\"\n SYMBOL: (1494..1500)\n IDENTIFIER: (1494..1500) \"equal?\"\n ATMOSPHERE: (1500..1501) \" \"\n FORM: (1501..1522)\n OPEN_PAREN: (1501..1502) \"(\"\n SYMBOL: (1502..1515)\n IDENTIFIER: (1502..1515) \"integer->char\"\n ATMOSPHERE: (1515..1516) \" \"\n CONSTANT: (1516..1521)\n NUMBER: (1516..1521) \"55295\"\n CLOSE_PAREN: (1521..1522) \")\"\n ATMOSPHERE: (1522..1523) \" \"\n CONSTANT: (1523..1530)\n CHARACTER: (1523..1530) \"#\\xD7FF\"\n CLOSE_PAREN: (1530..1531) \")\"\n ATMOSPHERE: (1531..1541) \"\n\n \"\n FORM: (1541..1643)\n OPEN_PAREN: (1541..1542) \"(\"\n SYMBOL: (1542..1545)\n IDENTIFIER: (1542..1545) \"let\"\n ATMOSPHERE: (1545..1546) \" \"\n FORM: (1546..1580)\n OPEN_PAREN: (1546..1547) \"(\"\n FORM: (1547..1579)\n OPEN_PAREN: (1547..1548) \"(\"\n SYMBOL: (1548..1556)\n IDENTIFIER: (1548..1556) \"bad-char\"\n ATMOSPHERE: (1556..1557) \" \"\n FORM: (1557..1578)\n OPEN_PAREN: (1557..1558) \"(\"\n SYMBOL: (1558..1571)\n IDENTIFIER: (1558..1571) \"integer->char\"\n ATMOSPHERE: (1571..1572) \" \"\n CONSTANT: (1572..1577)\n NUMBER: (1572..1577) \"55296\"\n CLOSE_PAREN: (1577..1578) \")\"\n CLOSE_PAREN: (1578..1579) \")\"\n CLOSE_PAREN: (1579..1580) \")\"\n ATMOSPHERE: (1580..1593) \"\n \"\n FORM: (1593..1642)\n OPEN_PAREN: (1593..1594) \"(\"\n SYMBOL: (1594..1597)\n IDENTIFIER: (1594..1597) \"and\"\n ATMOSPHERE: (1597..1598) \" \"\n FORM: (1598..1618)\n OPEN_PAREN: (1598..1599) \"(\"\n SYMBOL: (1599..1600)\n IDENTIFIER: (1599..1600) \">\"\n ATMOSPHERE: (1600..1601) \" \"\n SYMBOL: (1601..1609)\n IDENTIFIER: (1601..1609) \"bad-char\"\n ATMOSPHERE: (1609..1610) \" \"\n CONSTANT: (1610..1617)\n NUMBER: (1610..1617) \"1114111\"\n CLOSE_PAREN: (1617..1618) \")\"\n ATMOSPHERE: (1618..1619) \" \"\n FORM: (1619..1641)\n OPEN_PAREN: (1619..1620) \"(\"\n SYMBOL: (1620..1623)\n IDENTIFIER: (1620..1623) \"not\"\n ATMOSPHERE: (1623..1624) \" \"\n FORM: (1624..1640)\n OPEN_PAREN: (1624..1625) \"(\"\n SYMBOL: (1625..1630)\n IDENTIFIER: (1625..1630) \"char?\"\n ATMOSPHERE: (1630..1631) \" \"\n SYMBOL: (1631..1639)\n IDENTIFIER: (1631..1639) \"bad-char\"\n CLOSE_PAREN: (1639..1640) \")\"\n CLOSE_PAREN: (1640..1641) \")\"\n CLOSE_PAREN: (1641..1642) \")\"\n CLOSE_PAREN: (1642..1643) \")\"\n ATMOSPHERE: (1643..1652) \"\n \"\n CLOSE_PAREN: (1652..1653) \")\"\n ATMOSPHERE: (1653..1658) \"\n \"\n CLOSE_PAREN: (1658..1659) \")\"\n CLOSE_PAREN: (1659..1660) \")\"\n FORM: (1660..1669)\n OPEN_PAREN: (1660..1661) \"(\"\n SYMBOL: (1661..1668)\n IDENTIFIER: (1661..1668) \"newline\"\n CLOSE_PAREN: (1668..1669) \")\"\n ATMOSPHERE: (1669..1671) \"\n\n\"\n ATMOSPHERE: (1671..1695) \";; Character comparisons\"\n ATMOSPHERE: (1695..1696) \"\n\"\n FORM: (1696..3757)\n OPEN_PAREN: (1696..1697) \"(\"\n SYMBOL: (1697..1704)\n IDENTIFIER: (1697..1704) \"display\"\n ATMOSPHERE: (1704..1705) \" \"\n FORM: (1705..3756)\n OPEN_PAREN: (1705..1706) \"(\"\n SYMBOL: (1706..1715)\n IDENTIFIER: (1706..1715) \"boolean=?\"\n ATMOSPHERE: (1715..1720) \"\n \"\n CONSTANT: (1720..1722)\n BOOLEAN: (1720..1722) \"#t\"\n ATMOSPHERE: (1722..1732) \"\n \n \"\n FORM: (1732..1752)\n OPEN_PAREN: (1732..1733) \"(\"\n SYMBOL: (1733..1739)\n IDENTIFIER: (1733..1739) \"char=?\"\n ATMOSPHERE: (1739..1740) \" \"\n CONSTANT: (1740..1743)\n CHARACTER: (1740..1743) \"#\\a\"\n ATMOSPHERE: (1743..1744) \" \"\n CONSTANT: (1744..1747)\n CHARACTER: (1744..1747) \"#\\a\"\n ATMOSPHERE: (1747..1748) \" \"\n CONSTANT: (1748..1751)\n CHARACTER: (1748..1751) \"#\\a\"\n CLOSE_PAREN: (1751..1752) \")\"\n ATMOSPHERE: (1752..1757) \"\n \"\n FORM: (1757..1780)\n OPEN_PAREN: (1757..1758) \"(\"\n SYMBOL: (1758..1767)\n IDENTIFIER: (1758..1767) \"char-ci=?\"\n ATMOSPHERE: (1767..1768) \" \"\n CONSTANT: (1768..1771)\n CHARACTER: (1768..1771) \"#\\a\"\n ATMOSPHERE: (1771..1772) \" \"\n CONSTANT: (1772..1775)\n CHARACTER: (1772..1775) \"#\\a\"\n ATMOSPHERE: (1775..1776) \" \"\n CONSTANT: (1776..1779)\n CHARACTER: (1776..1779) \"#\\a\"\n CLOSE_PAREN: (1779..1780) \")\"\n ATMOSPHERE: (1780..1785) \"\n \"\n FORM: (1785..1805)\n OPEN_PAREN: (1785..1786) \"(\"\n SYMBOL: (1786..1792)\n IDENTIFIER: (1786..1792) \"char=?\"\n ATMOSPHERE: (1792..1793) \" \"\n CONSTANT: (1793..1796)\n CHARACTER: (1793..1796) \"#\\A\"\n ATMOSPHERE: (1796..1797) \" \"\n CONSTANT: (1797..1800)\n CHARACTER: (1797..1800) \"#\\A\"\n ATMOSPHERE: (1800..1801) \" \"\n CONSTANT: (1801..1804)\n CHARACTER: (1801..1804) \"#\\A\"\n CLOSE_PAREN: (1804..1805) \")\"\n ATMOSPHERE: (1805..1810) \"\n \"\n FORM: (1810..1833)\n OPEN_PAREN: (1810..1811) \"(\"\n SYMBOL: (1811..1820)\n IDENTIFIER: (1811..1820) \"char-ci=?\"\n ATMOSPHERE: (1820..1821) \" \"\n CONSTANT: (1821..1824)\n CHARACTER: (1821..1824) \"#\\A\"\n ATMOSPHERE: (1824..1825) \" \"\n CONSTANT: (1825..1828)\n CHARACTER: (1825..1828) \"#\\A\"\n ATMOSPHERE: (1828..1829) \" \"\n CONSTANT: (1829..1832)\n CHARACTER: (1829..1832) \"#\\A\"\n CLOSE_PAREN: (1832..1833) \")\"\n ATMOSPHERE: (1833..1838) \"\n \"\n FORM: (1838..1864)\n OPEN_PAREN: (1838..1839) \"(\"\n SYMBOL: (1839..1842)\n IDENTIFIER: (1839..1842) \"not\"\n ATMOSPHERE: (1842..1843) \" \"\n FORM: (1843..1863)\n OPEN_PAREN: (1843..1844) \"(\"\n SYMBOL: (1844..1850)\n IDENTIFIER: (1844..1850) \"char=?\"\n ATMOSPHERE: (1850..1851) \" \"\n CONSTANT: (1851..1854)\n CHARACTER: (1851..1854) \"#\\a\"\n ATMOSPHERE: (1854..1855) \" \"\n CONSTANT: (1855..1858)\n CHARACTER: (1855..1858) \"#\\A\"\n ATMOSPHERE: (1858..1859) \" \"\n CONSTANT: (1859..1862)\n CHARACTER: (1859..1862) \"#\\a\"\n CLOSE_PAREN: (1862..1863) \")\"\n CLOSE_PAREN: (1863..1864) \")\"\n ATMOSPHERE: (1864..1869) \"\n \"\n FORM: (1869..1892)\n OPEN_PAREN: (1869..1870) \"(\"\n SYMBOL: (1870..1879)\n IDENTIFIER: (1870..1879) \"char-ci=?\"\n ATMOSPHERE: (1879..1880) \" \"\n CONSTANT: (1880..1883)\n CHARACTER: (1880..1883) \"#\\a\"\n ATMOSPHERE: (1883..1884) \" \"\n CONSTANT: (1884..1887)\n CHARACTER: (1884..1887) \"#\\A\"\n ATMOSPHERE: (1887..1888) \" \"\n CONSTANT: (1888..1891)\n CHARACTER: (1888..1891) \"#\\a\"\n CLOSE_PAREN: (1891..1892) \")\"\n ATMOSPHERE: (1892..1897) \"\n \"\n FORM: (1897..1917)\n OPEN_PAREN: (1897..1898) \"(\"\n SYMBOL: (1898..1904)\n IDENTIFIER: (1898..1904) \"char=?\"\n ATMOSPHERE: (1904..1905) \" \"\n CONSTANT: (1905..1908)\n CHARACTER: (1905..1908) \"#\\λ\"\n ATMOSPHERE: (1908..1909) \" \"\n CONSTANT: (1909..1912)\n CHARACTER: (1909..1912) \"#\\λ\"\n ATMOSPHERE: (1912..1913) \" \"\n CONSTANT: (1913..1916)\n CHARACTER: (1913..1916) \"#\\λ\"\n CLOSE_PAREN: (1916..1917) \")\"\n ATMOSPHERE: (1917..1922) \"\n \"\n FORM: (1922..1945)\n OPEN_PAREN: (1922..1923) \"(\"\n SYMBOL: (1923..1932)\n IDENTIFIER: (1923..1932) \"char-ci=?\"\n ATMOSPHERE: (1932..1933) \" \"\n CONSTANT: (1933..1936)\n CHARACTER: (1933..1936) \"#\\λ\"\n ATMOSPHERE: (1936..1937) \" \"\n CONSTANT: (1937..1940)\n CHARACTER: (1937..1940) \"#\\λ\"\n ATMOSPHERE: (1940..1941) \" \"\n CONSTANT: (1941..1944)\n CHARACTER: (1941..1944) \"#\\λ\"\n CLOSE_PAREN: (1944..1945) \")\"\n ATMOSPHERE: (1945..1950) \"\n \"\n FORM: (1950..1978)\n OPEN_PAREN: (1950..1951) \"(\"\n SYMBOL: (1951..1957)\n IDENTIFIER: (1951..1957) \"char=?\"\n ATMOSPHERE: (1957..1958) \" \"\n CONSTANT: (1958..1961)\n CHARACTER: (1958..1961) \"#\\Λ\"\n ATMOSPHERE: (1961..1962) \" \"\n CONSTANT: (1962..1965)\n CHARACTER: (1962..1965) \"#\\Λ\"\n ATMOSPHERE: (1965..1966) \" \"\n CONSTANT: (1966..1969)\n CHARACTER: (1966..1969) \"#\\Λ\"\n ATMOSPHERE: (1969..1970) \" \"\n CONSTANT: (1970..1973)\n CHARACTER: (1970..1973) \"#\\Λ\"\n ATMOSPHERE: (1973..1974) \" \"\n CONSTANT: (1974..1977)\n CHARACTER: (1974..1977) \"#\\Λ\"\n CLOSE_PAREN: (1977..1978) \")\"\n ATMOSPHERE: (1978..1983) \"\n \"\n FORM: (1983..2014)\n OPEN_PAREN: (1983..1984) \"(\"\n SYMBOL: (1984..1993)\n IDENTIFIER: (1984..1993) \"char-ci=?\"\n ATMOSPHERE: (1993..1994) \" \"\n CONSTANT: (1994..1997)\n CHARACTER: (1994..1997) \"#\\Λ\"\n ATMOSPHERE: (1997..1998) \" \"\n CONSTANT: (1998..2001)\n CHARACTER: (1998..2001) \"#\\Λ\"\n ATMOSPHERE: (2001..2002) \" \"\n CONSTANT: (2002..2005)\n CHARACTER: (2002..2005) \"#\\Λ\"\n ATMOSPHERE: (2005..2006) \" \"\n CONSTANT: (2006..2009)\n CHARACTER: (2006..2009) \"#\\Λ\"\n ATMOSPHERE: (2009..2010) \" \"\n CONSTANT: (2010..2013)\n CHARACTER: (2010..2013) \"#\\Λ\"\n CLOSE_PAREN: (2013..2014) \")\"\n ATMOSPHERE: (2014..2019) \"\n \"\n FORM: (2019..2053)\n OPEN_PAREN: (2019..2020) \"(\"\n SYMBOL: (2020..2023)\n IDENTIFIER: (2020..2023) \"not\"\n ATMOSPHERE: (2023..2024) \" \"\n FORM: (2024..2052)\n OPEN_PAREN: (2024..2025) \"(\"\n SYMBOL: (2025..2031)\n IDENTIFIER: (2025..2031) \"char=?\"\n ATMOSPHERE: (2031..2032) \" \"\n CONSTANT: (2032..2035)\n CHARACTER: (2032..2035) \"#\\Λ\"\n ATMOSPHERE: (2035..2036) \" \"\n CONSTANT: (2036..2039)\n CHARACTER: (2036..2039) \"#\\λ\"\n ATMOSPHERE: (2039..2040) \" \"\n CONSTANT: (2040..2043)\n CHARACTER: (2040..2043) \"#\\Λ\"\n ATMOSPHERE: (2043..2044) \" \"\n CONSTANT: (2044..2047)\n CHARACTER: (2044..2047) \"#\\Λ\"\n ATMOSPHERE: (2047..2048) \" \"\n CONSTANT: (2048..2051)\n CHARACTER: (2048..2051) \"#\\Λ\"\n CLOSE_PAREN: (2051..2052) \")\"\n CLOSE_PAREN: (2052..2053) \")\"\n ATMOSPHERE: (2053..2058) \"\n \"\n FORM: (2058..2089)\n OPEN_PAREN: (2058..2059) \"(\"\n SYMBOL: (2059..2068)\n IDENTIFIER: (2059..2068) \"char-ci=?\"\n ATMOSPHERE: (2068..2069) \" \"\n CONSTANT: (2069..2072)\n CHARACTER: (2069..2072) \"#\\Λ\"\n ATMOSPHERE: (2072..2073) \" \"\n CONSTANT: (2073..2076)\n CHARACTER: (2073..2076) \"#\\λ\"\n ATMOSPHERE: (2076..2077) \" \"\n CONSTANT: (2077..2080)\n CHARACTER: (2077..2080) \"#\\Λ\"\n ATMOSPHERE: (2080..2081) \" \"\n CONSTANT: (2081..2084)\n CHARACTER: (2081..2084) \"#\\Λ\"\n ATMOSPHERE: (2084..2085) \" \"\n CONSTANT: (2085..2088)\n CHARACTER: (2085..2088) \"#\\Λ\"\n CLOSE_PAREN: (2088..2089) \")\"\n ATMOSPHERE: (2089..2094) \"\n \"\n FORM: (2094..2128)\n OPEN_PAREN: (2094..2095) \"(\"\n SYMBOL: (2095..2098)\n IDENTIFIER: (2095..2098) \"not\"\n ATMOSPHERE: (2098..2099) \" \"\n FORM: (2099..2127)\n OPEN_PAREN: (2099..2100) \"(\"\n SYMBOL: (2100..2106)\n IDENTIFIER: (2100..2106) \"char=?\"\n ATMOSPHERE: (2106..2107) \" \"\n CONSTANT: (2107..2110)\n CHARACTER: (2107..2110) \"#\\λ\"\n ATMOSPHERE: (2110..2111) \" \"\n CONSTANT: (2111..2114)\n CHARACTER: (2111..2114) \"#\\λ\"\n ATMOSPHERE: (2114..2115) \" \"\n CONSTANT: (2115..2118)\n CHARACTER: (2115..2118) \"#\\λ\"\n ATMOSPHERE: (2118..2119) \" \"\n CONSTANT: (2119..2126)\n CHARACTER: (2119..2126) \"#\\space\"\n CLOSE_PAREN: (2126..2127) \")\"\n CLOSE_PAREN: (2127..2128) \")\"\n ATMOSPHERE: (2128..2133) \"\n \"\n FORM: (2133..2170)\n OPEN_PAREN: (2133..2134) \"(\"\n SYMBOL: (2134..2137)\n IDENTIFIER: (2134..2137) \"not\"\n ATMOSPHERE: (2137..2138) \" \"\n FORM: (2138..2169)\n OPEN_PAREN: (2138..2139) \"(\"\n SYMBOL: (2139..2148)\n IDENTIFIER: (2139..2148) \"char-ci=?\"\n ATMOSPHERE: (2148..2149) \" \"\n CONSTANT: (2149..2152)\n CHARACTER: (2149..2152) \"#\\λ\"\n ATMOSPHERE: (2152..2153) \" \"\n CONSTANT: (2153..2156)\n CHARACTER: (2153..2156) \"#\\λ\"\n ATMOSPHERE: (2156..2157) \" \"\n CONSTANT: (2157..2160)\n CHARACTER: (2157..2160) \"#\\λ\"\n ATMOSPHERE: (2160..2161) \" \"\n CONSTANT: (2161..2168)\n CHARACTER: (2161..2168) \"#\\space\"\n CLOSE_PAREN: (2168..2169) \")\"\n CLOSE_PAREN: (2169..2170) \")\"\n ATMOSPHERE: (2170..2175) \"\n \"\n FORM: (2175..2197)\n OPEN_PAREN: (2175..2176) \"(\"\n SYMBOL: (2176..2179)\n IDENTIFIER: (2176..2179) \"not\"\n ATMOSPHERE: (2179..2180) \" \"\n FORM: (2180..2196)\n OPEN_PAREN: (2180..2181) \"(\"\n SYMBOL: (2181..2187)\n IDENTIFIER: (2181..2187) \"char=?\"\n ATMOSPHERE: (2187..2188) \" \"\n CONSTANT: (2188..2191)\n CHARACTER: (2188..2191) \"#\\a\"\n ATMOSPHERE: (2191..2192) \" \"\n CONSTANT: (2192..2195)\n CHARACTER: (2192..2195) \"#\\λ\"\n CLOSE_PAREN: (2195..2196) \")\"\n CLOSE_PAREN: (2196..2197) \")\"\n ATMOSPHERE: (2197..2202) \"\n \"\n FORM: (2202..2227)\n OPEN_PAREN: (2202..2203) \"(\"\n SYMBOL: (2203..2206)\n IDENTIFIER: (2203..2206) \"not\"\n ATMOSPHERE: (2206..2207) \" \"\n FORM: (2207..2226)\n OPEN_PAREN: (2207..2208) \"(\"\n SYMBOL: (2208..2217)\n IDENTIFIER: (2208..2217) \"char-ci=?\"\n ATMOSPHERE: (2217..2218) \" \"\n CONSTANT: (2218..2221)\n CHARACTER: (2218..2221) \"#\\a\"\n ATMOSPHERE: (2221..2222) \" \"\n CONSTANT: (2222..2225)\n CHARACTER: (2222..2225) \"#\\λ\"\n CLOSE_PAREN: (2225..2226) \")\"\n CLOSE_PAREN: (2226..2227) \")\"\n ATMOSPHERE: (2227..2233) \"\n\n \"\n FORM: (2233..2257)\n OPEN_PAREN: (2233..2234) \"(\"\n SYMBOL: (2234..2240)\n IDENTIFIER: (2234..2240) \"char?\"\n ATMOSPHERE: (3006..3007) \" \"\n CONSTANT: (3007..3010)\n CHARACTER: (3007..3010) \"#\\a\"\n ATMOSPHERE: (3010..3011) \" \"\n CONSTANT: (3011..3014)\n CHARACTER: (3011..3014) \"#\\b\"\n ATMOSPHERE: (3014..3015) \" \"\n CONSTANT: (3015..3018)\n CHARACTER: (3015..3018) \"#\\c\"\n ATMOSPHERE: (3018..3019) \" \"\n CONSTANT: (3019..3022)\n CHARACTER: (3019..3022) \"#\\d\"\n CLOSE_PAREN: (3022..3023) \")\"\n CLOSE_PAREN: (3023..3024) \")\"\n ATMOSPHERE: (3024..3029) \"\n \"\n FORM: (3029..3062)\n OPEN_PAREN: (3029..3030) \"(\"\n SYMBOL: (3030..3033)\n IDENTIFIER: (3030..3033) \"not\"\n ATMOSPHERE: (3033..3034) \" \"\n FORM: (3034..3061)\n OPEN_PAREN: (3034..3035) \"(\"\n SYMBOL: (3035..3044)\n IDENTIFIER: (3035..3044) \"char-ci>?\"\n ATMOSPHERE: (3044..3045) \" \"\n CONSTANT: (3045..3048)\n CHARACTER: (3045..3048) \"#\\a\"\n ATMOSPHERE: (3048..3049) \" \"\n CONSTANT: (3049..3052)\n CHARACTER: (3049..3052) \"#\\b\"\n ATMOSPHERE: (3052..3053) \" \"\n CONSTANT: (3053..3056)\n CHARACTER: (3053..3056) \"#\\c\"\n ATMOSPHERE: (3056..3057) \" \"\n CONSTANT: (3057..3060)\n CHARACTER: (3057..3060) \"#\\d\"\n CLOSE_PAREN: (3060..3061) \")\"\n CLOSE_PAREN: (3061..3062) \")\"\n ATMOSPHERE: (3062..3067) \"\n \"\n FORM: (3067..3097)\n OPEN_PAREN: (3067..3068) \"(\"\n SYMBOL: (3068..3071)\n IDENTIFIER: (3068..3071) \"not\"\n ATMOSPHERE: (3071..3072) \" \"\n FORM: (3072..3096)\n OPEN_PAREN: (3072..3073) \"(\"\n SYMBOL: (3073..3079)\n IDENTIFIER: (3073..3079) \"char>?\"\n ATMOSPHERE: (3079..3080) \" \"\n CONSTANT: (3080..3083)\n CHARACTER: (3080..3083) \"#\\A\"\n ATMOSPHERE: (3083..3084) \" \"\n CONSTANT: (3084..3087)\n CHARACTER: (3084..3087) \"#\\b\"\n ATMOSPHERE: (3087..3088) \" \"\n CONSTANT: (3088..3091)\n CHARACTER: (3088..3091) \"#\\c\"\n ATMOSPHERE: (3091..3092) \" \"\n CONSTANT: (3092..3095)\n CHARACTER: (3092..3095) \"#\\D\"\n CLOSE_PAREN: (3095..3096) \")\"\n CLOSE_PAREN: (3096..3097) \")\"\n ATMOSPHERE: (3097..3102) \"\n \"\n FORM: (3102..3135)\n OPEN_PAREN: (3102..3103) \"(\"\n SYMBOL: (3103..3106)\n IDENTIFIER: (3103..3106) \"not\"\n ATMOSPHERE: (3106..3107) \" \"\n FORM: (3107..3134)\n OPEN_PAREN: (3107..3108) \"(\"\n SYMBOL: (3108..3117)\n IDENTIFIER: (3108..3117) \"char-ci>?\"\n ATMOSPHERE: (3117..3118) \" \"\n CONSTANT: (3118..3121)\n CHARACTER: (3118..3121) \"#\\A\"\n ATMOSPHERE: (3121..3122) \" \"\n CONSTANT: (3122..3125)\n CHARACTER: (3122..3125) \"#\\b\"\n ATMOSPHERE: (3125..3126) \" \"\n CONSTANT: (3126..3129)\n CHARACTER: (3126..3129) \"#\\c\"\n ATMOSPHERE: (3129..3130) \" \"\n CONSTANT: (3130..3133)\n CHARACTER: (3130..3133) \"#\\D\"\n CLOSE_PAREN: (3133..3134) \")\"\n CLOSE_PAREN: (3134..3135) \")\"\n ATMOSPHERE: (3135..3140) \"\n \"\n FORM: (3140..3164)\n OPEN_PAREN: (3140..3141) \"(\"\n SYMBOL: (3141..3147)\n IDENTIFIER: (3141..3147) \"char>?\"\n ATMOSPHERE: (3147..3148) \" \"\n CONSTANT: (3148..3151)\n CHARACTER: (3148..3151) \"#\\d\"\n ATMOSPHERE: (3151..3152) \" \"\n CONSTANT: (3152..3155)\n CHARACTER: (3152..3155) \"#\\c\"\n ATMOSPHERE: (3155..3156) \" \"\n CONSTANT: (3156..3159)\n CHARACTER: (3156..3159) \"#\\b\"\n ATMOSPHERE: (3159..3160) \" \"\n CONSTANT: (3160..3163)\n CHARACTER: (3160..3163) \"#\\a\"\n CLOSE_PAREN: (3163..3164) \")\"\n ATMOSPHERE: (3164..3169) \"\n \"\n FORM: (3169..3196)\n OPEN_PAREN: (3169..3170) \"(\"\n SYMBOL: (3170..3179)\n IDENTIFIER: (3170..3179) \"char-ci>?\"\n ATMOSPHERE: (3179..3180) \" \"\n CONSTANT: (3180..3183)\n CHARACTER: (3180..3183) \"#\\d\"\n ATMOSPHERE: (3183..3184) \" \"\n CONSTANT: (3184..3187)\n CHARACTER: (3184..3187) \"#\\c\"\n ATMOSPHERE: (3187..3188) \" \"\n CONSTANT: (3188..3191)\n CHARACTER: (3188..3191) \"#\\b\"\n ATMOSPHERE: (3191..3192) \" \"\n CONSTANT: (3192..3195)\n CHARACTER: (3192..3195) \"#\\a\"\n CLOSE_PAREN: (3195..3196) \")\"\n ATMOSPHERE: (3196..3201) \"\n \"\n FORM: (3201..3231)\n OPEN_PAREN: (3201..3202) \"(\"\n SYMBOL: (3202..3205)\n IDENTIFIER: (3202..3205) \"not\"\n ATMOSPHERE: (3205..3206) \" \"\n FORM: (3206..3230)\n OPEN_PAREN: (3206..3207) \"(\"\n SYMBOL: (3207..3213)\n IDENTIFIER: (3207..3213) \"char>?\"\n ATMOSPHERE: (3213..3214) \" \"\n CONSTANT: (3214..3217)\n CHARACTER: (3214..3217) \"#\\D\"\n ATMOSPHERE: (3217..3218) \" \"\n CONSTANT: (3218..3221)\n CHARACTER: (3218..3221) \"#\\c\"\n ATMOSPHERE: (3221..3222) \" \"\n CONSTANT: (3222..3225)\n CHARACTER: (3222..3225) \"#\\b\"\n ATMOSPHERE: (3225..3226) \" \"\n CONSTANT: (3226..3229)\n CHARACTER: (3226..3229) \"#\\A\"\n CLOSE_PAREN: (3229..3230) \")\"\n CLOSE_PAREN: (3230..3231) \")\"\n ATMOSPHERE: (3231..3236) \"\n \"\n FORM: (3236..3263)\n OPEN_PAREN: (3236..3237) \"(\"\n SYMBOL: (3237..3246)\n IDENTIFIER: (3237..3246) \"char-ci>?\"\n ATMOSPHERE: (3246..3247) \" \"\n CONSTANT: (3247..3250)\n CHARACTER: (3247..3250) \"#\\D\"\n ATMOSPHERE: (3250..3251) \" \"\n CONSTANT: (3251..3254)\n CHARACTER: (3251..3254) \"#\\c\"\n ATMOSPHERE: (3254..3255) \" \"\n CONSTANT: (3255..3258)\n CHARACTER: (3255..3258) \"#\\b\"\n ATMOSPHERE: (3258..3259) \" \"\n CONSTANT: (3259..3262)\n CHARACTER: (3259..3262) \"#\\A\"\n CLOSE_PAREN: (3262..3263) \")\"\n ATMOSPHERE: (3263..3269) \"\n\n \"\n FORM: (3269..3300)\n OPEN_PAREN: (3269..3270) \"(\"\n SYMBOL: (3270..3273)\n IDENTIFIER: (3270..3273) \"not\"\n ATMOSPHERE: (3273..3274) \" \"\n FORM: (3274..3299)\n OPEN_PAREN: (3274..3275) \"(\"\n SYMBOL: (3275..3282)\n IDENTIFIER: (3275..3282) \"char>=?\"\n ATMOSPHERE: (3282..3283) \" \"\n CONSTANT: (3283..3286)\n CHARACTER: (3283..3286) \"#\\a\"\n ATMOSPHERE: (3286..3287) \" \"\n CONSTANT: (3287..3290)\n CHARACTER: (3287..3290) \"#\\b\"\n ATMOSPHERE: (3290..3291) \" \"\n CONSTANT: (3291..3294)\n CHARACTER: (3291..3294) \"#\\c\"\n ATMOSPHERE: (3294..3295) \" \"\n CONSTANT: (3295..3298)\n CHARACTER: (3295..3298) \"#\\d\"\n CLOSE_PAREN: (3298..3299) \")\"\n CLOSE_PAREN: (3299..3300) \")\"\n ATMOSPHERE: (3300..3305) \"\n \"\n FORM: (3305..3339)\n OPEN_PAREN: (3305..3306) \"(\"\n SYMBOL: (3306..3309)\n IDENTIFIER: (3306..3309) \"not\"\n ATMOSPHERE: (3309..3310) \" \"\n FORM: (3310..3338)\n OPEN_PAREN: (3310..3311) \"(\"\n SYMBOL: (3311..3321)\n IDENTIFIER: (3311..3321) \"char-ci>=?\"\n ATMOSPHERE: (3321..3322) \" \"\n CONSTANT: (3322..3325)\n CHARACTER: (3322..3325) \"#\\a\"\n ATMOSPHERE: (3325..3326) \" \"\n CONSTANT: (3326..3329)\n CHARACTER: (3326..3329) \"#\\b\"\n ATMOSPHERE: (3329..3330) \" \"\n CONSTANT: (3330..3333)\n CHARACTER: (3330..3333) \"#\\c\"\n ATMOSPHERE: (3333..3334) \" \"\n CONSTANT: (3334..3337)\n CHARACTER: (3334..3337) \"#\\d\"\n CLOSE_PAREN: (3337..3338) \")\"\n CLOSE_PAREN: (3338..3339) \")\"\n ATMOSPHERE: (3339..3344) \"\n \"\n FORM: (3344..3375)\n OPEN_PAREN: (3344..3345) \"(\"\n SYMBOL: (3345..3348)\n IDENTIFIER: (3345..3348) \"not\"\n ATMOSPHERE: (3348..3349) \" \"\n FORM: (3349..3374)\n OPEN_PAREN: (3349..3350) \"(\"\n SYMBOL: (3350..3357)\n IDENTIFIER: (3350..3357) \"char>=?\"\n ATMOSPHERE: (3357..3358) \" \"\n CONSTANT: (3358..3361)\n CHARACTER: (3358..3361) \"#\\A\"\n ATMOSPHERE: (3361..3362) \" \"\n CONSTANT: (3362..3365)\n CHARACTER: (3362..3365) \"#\\b\"\n ATMOSPHERE: (3365..3366) \" \"\n CONSTANT: (3366..3369)\n CHARACTER: (3366..3369) \"#\\c\"\n ATMOSPHERE: (3369..3370) \" \"\n CONSTANT: (3370..3373)\n CHARACTER: (3370..3373) \"#\\D\"\n CLOSE_PAREN: (3373..3374) \")\"\n CLOSE_PAREN: (3374..3375) \")\"\n ATMOSPHERE: (3375..3380) \"\n \"\n FORM: (3380..3414)\n OPEN_PAREN: (3380..3381) \"(\"\n SYMBOL: (3381..3384)\n IDENTIFIER: (3381..3384) \"not\"\n ATMOSPHERE: (3384..3385) \" \"\n FORM: (3385..3413)\n OPEN_PAREN: (3385..3386) \"(\"\n SYMBOL: (3386..3396)\n IDENTIFIER: (3386..3396) \"char-ci>=?\"\n ATMOSPHERE: (3396..3397) \" \"\n CONSTANT: (3397..3400)\n CHARACTER: (3397..3400) \"#\\A\"\n ATMOSPHERE: (3400..3401) \" \"\n CONSTANT: (3401..3404)\n CHARACTER: (3401..3404) \"#\\b\"\n ATMOSPHERE: (3404..3405) \" \"\n CONSTANT: (3405..3408)\n CHARACTER: (3405..3408) \"#\\c\"\n ATMOSPHERE: (3408..3409) \" \"\n CONSTANT: (3409..3412)\n CHARACTER: (3409..3412) \"#\\D\"\n CLOSE_PAREN: (3412..3413) \")\"\n CLOSE_PAREN: (3413..3414) \")\"\n ATMOSPHERE: (3414..3419) \"\n \"\n FORM: (3419..3444)\n OPEN_PAREN: (3419..3420) \"(\"\n SYMBOL: (3420..3427)\n IDENTIFIER: (3420..3427) \"char>=?\"\n ATMOSPHERE: (3427..3428) \" \"\n CONSTANT: (3428..3431)\n CHARACTER: (3428..3431) \"#\\d\"\n ATMOSPHERE: (3431..3432) \" \"\n CONSTANT: (3432..3435)\n CHARACTER: (3432..3435) \"#\\c\"\n ATMOSPHERE: (3435..3436) \" \"\n CONSTANT: (3436..3439)\n CHARACTER: (3436..3439) \"#\\b\"\n ATMOSPHERE: (3439..3440) \" \"\n CONSTANT: (3440..3443)\n CHARACTER: (3440..3443) \"#\\a\"\n CLOSE_PAREN: (3443..3444) \")\"\n ATMOSPHERE: (3444..3449) \"\n \"\n FORM: (3449..3477)\n OPEN_PAREN: (3449..3450) \"(\"\n SYMBOL: (3450..3460)\n IDENTIFIER: (3450..3460) \"char-ci>=?\"\n ATMOSPHERE: (3460..3461) \" \"\n CONSTANT: (3461..3464)\n CHARACTER: (3461..3464) \"#\\d\"\n ATMOSPHERE: (3464..3465) \" \"\n CONSTANT: (3465..3468)\n CHARACTER: (3465..3468) \"#\\c\"\n ATMOSPHERE: (3468..3469) \" \"\n CONSTANT: (3469..3472)\n CHARACTER: (3469..3472) \"#\\b\"\n ATMOSPHERE: (3472..3473) \" \"\n CONSTANT: (3473..3476)\n CHARACTER: (3473..3476) \"#\\a\"\n CLOSE_PAREN: (3476..3477) \")\"\n ATMOSPHERE: (3477..3482) \"\n \"\n FORM: (3482..3513)\n OPEN_PAREN: (3482..3483) \"(\"\n SYMBOL: (3483..3486)\n IDENTIFIER: (3483..3486) \"not\"\n ATMOSPHERE: (3486..3487) \" \"\n FORM: (3487..3512)\n OPEN_PAREN: (3487..3488) \"(\"\n SYMBOL: (3488..3495)\n IDENTIFIER: (3488..3495) \"char>=?\"\n ATMOSPHERE: (3495..3496) \" \"\n CONSTANT: (3496..3499)\n CHARACTER: (3496..3499) \"#\\D\"\n ATMOSPHERE: (3499..3500) \" \"\n CONSTANT: (3500..3503)\n CHARACTER: (3500..3503) \"#\\c\"\n ATMOSPHERE: (3503..3504) \" \"\n CONSTANT: (3504..3507)\n CHARACTER: (3504..3507) \"#\\b\"\n ATMOSPHERE: (3507..3508) \" \"\n CONSTANT: (3508..3511)\n CHARACTER: (3508..3511) \"#\\A\"\n CLOSE_PAREN: (3511..3512) \")\"\n CLOSE_PAREN: (3512..3513) \")\"\n ATMOSPHERE: (3513..3518) \"\n \"\n FORM: (3518..3546)\n OPEN_PAREN: (3518..3519) \"(\"\n SYMBOL: (3519..3529)\n IDENTIFIER: (3519..3529) \"char-ci>=?\"\n ATMOSPHERE: (3529..3530) \" \"\n CONSTANT: (3530..3533)\n CHARACTER: (3530..3533) \"#\\D\"\n ATMOSPHERE: (3533..3534) \" \"\n CONSTANT: (3534..3537)\n CHARACTER: (3534..3537) \"#\\c\"\n ATMOSPHERE: (3537..3538) \" \"\n CONSTANT: (3538..3541)\n CHARACTER: (3538..3541) \"#\\b\"\n ATMOSPHERE: (3541..3542) \" \"\n CONSTANT: (3542..3545)\n CHARACTER: (3542..3545) \"#\\A\"\n CLOSE_PAREN: (3545..3546) \")\"\n ATMOSPHERE: (3546..3551) \"\n \"\n FORM: (3551..3572)\n OPEN_PAREN: (3551..3552) \"(\"\n SYMBOL: (3552..3559)\n IDENTIFIER: (3552..3559) \"char>=?\"\n ATMOSPHERE: (3559..3560) \" \"\n CONSTANT: (3560..3563)\n CHARACTER: (3560..3563) \"#\\λ\"\n ATMOSPHERE: (3563..3564) \" \"\n CONSTANT: (3564..3567)\n CHARACTER: (3564..3567) \"#\\λ\"\n ATMOSPHERE: (3567..3568) \" \"\n CONSTANT: (3568..3571)\n CHARACTER: (3568..3571) \"#\\λ\"\n CLOSE_PAREN: (3571..3572) \")\"\n ATMOSPHERE: (3572..3577) \"\n \"\n FORM: (3577..3601)\n OPEN_PAREN: (3577..3578) \"(\"\n SYMBOL: (3578..3588)\n IDENTIFIER: (3578..3588) \"char-ci>=?\"\n ATMOSPHERE: (3588..3589) \" \"\n CONSTANT: (3589..3592)\n CHARACTER: (3589..3592) \"#\\λ\"\n ATMOSPHERE: (3592..3593) \" \"\n CONSTANT: (3593..3596)\n CHARACTER: (3593..3596) \"#\\λ\"\n ATMOSPHERE: (3596..3597) \" \"\n CONSTANT: (3597..3600)\n CHARACTER: (3597..3600) \"#\\λ\"\n CLOSE_PAREN: (3600..3601) \")\"\n ATMOSPHERE: (3601..3606) \"\n \"\n FORM: (3606..3635)\n OPEN_PAREN: (3606..3607) \"(\"\n SYMBOL: (3607..3614)\n IDENTIFIER: (3607..3614) \"char>=?\"\n ATMOSPHERE: (3614..3615) \" \"\n CONSTANT: (3615..3618)\n CHARACTER: (3615..3618) \"#\\Λ\"\n ATMOSPHERE: (3618..3619) \" \"\n CONSTANT: (3619..3622)\n CHARACTER: (3619..3622) \"#\\Λ\"\n ATMOSPHERE: (3622..3623) \" \"\n CONSTANT: (3623..3626)\n CHARACTER: (3623..3626) \"#\\Λ\"\n ATMOSPHERE: (3626..3627) \" \"\n CONSTANT: (3627..3630)\n CHARACTER: (3627..3630) \"#\\Λ\"\n ATMOSPHERE: (3630..3631) \" \"\n CONSTANT: (3631..3634)\n CHARACTER: (3631..3634) \"#\\Λ\"\n CLOSE_PAREN: (3634..3635) \")\"\n ATMOSPHERE: (3635..3640) \"\n \"\n FORM: (3640..3672)\n OPEN_PAREN: (3640..3641) \"(\"\n SYMBOL: (3641..3651)\n IDENTIFIER: (3641..3651) \"char-ci>=?\"\n ATMOSPHERE: (3651..3652) \" \"\n CONSTANT: (3652..3655)\n CHARACTER: (3652..3655) \"#\\Λ\"\n ATMOSPHERE: (3655..3656) \" \"\n CONSTANT: (3656..3659)\n CHARACTER: (3656..3659) \"#\\Λ\"\n ATMOSPHERE: (3659..3660) \" \"\n CONSTANT: (3660..3663)\n CHARACTER: (3660..3663) \"#\\Λ\"\n ATMOSPHERE: (3663..3664) \" \"\n CONSTANT: (3664..3667)\n CHARACTER: (3664..3667) \"#\\Λ\"\n ATMOSPHERE: (3667..3668) \" \"\n CONSTANT: (3668..3671)\n CHARACTER: (3668..3671) \"#\\Λ\"\n CLOSE_PAREN: (3671..3672) \")\"\n ATMOSPHERE: (3672..3677) \"\n \"\n FORM: (3677..3712)\n OPEN_PAREN: (3677..3678) \"(\"\n SYMBOL: (3678..3681)\n IDENTIFIER: (3678..3681) \"not\"\n ATMOSPHERE: (3681..3682) \" \"\n FORM: (3682..3711)\n OPEN_PAREN: (3682..3683) \"(\"\n SYMBOL: (3683..3690)\n IDENTIFIER: (3683..3690) \"char>=?\"\n ATMOSPHERE: (3690..3691) \" \"\n CONSTANT: (3691..3694)\n CHARACTER: (3691..3694) \"#\\Λ\"\n ATMOSPHERE: (3694..3695) \" \"\n CONSTANT: (3695..3698)\n CHARACTER: (3695..3698) \"#\\λ\"\n ATMOSPHERE: (3698..3699) \" \"\n CONSTANT: (3699..3702)\n CHARACTER: (3699..3702) \"#\\Λ\"\n ATMOSPHERE: (3702..3703) \" \"\n CONSTANT: (3703..3706)\n CHARACTER: (3703..3706) \"#\\Λ\"\n ATMOSPHERE: (3706..3707) \" \"\n CONSTANT: (3707..3710)\n CHARACTER: (3707..3710) \"#\\Λ\"\n CLOSE_PAREN: (3710..3711) \")\"\n CLOSE_PAREN: (3711..3712) \")\"\n ATMOSPHERE: (3712..3717) \"\n \"\n FORM: (3717..3749)\n OPEN_PAREN: (3717..3718) \"(\"\n SYMBOL: (3718..3728)\n IDENTIFIER: (3718..3728) \"char-ci>=?\"\n ATMOSPHERE: (3728..3729) \" \"\n CONSTANT: (3729..3732)\n CHARACTER: (3729..3732) \"#\\Λ\"\n ATMOSPHERE: (3732..3733) \" \"\n CONSTANT: (3733..3736)\n CHARACTER: (3733..3736) \"#\\λ\"\n ATMOSPHERE: (3736..3737) \" \"\n CONSTANT: (3737..3740)\n CHARACTER: (3737..3740) \"#\\Λ\"\n ATMOSPHERE: (3740..3741) \" \"\n CONSTANT: (3741..3744)\n CHARACTER: (3741..3744) \"#\\Λ\"\n ATMOSPHERE: (3744..3745) \" \"\n CONSTANT: (3745..3748)\n CHARACTER: (3745..3748) \"#\\Λ\"\n CLOSE_PAREN: (3748..3749) \")\"\n ATMOSPHERE: (3749..3755) \"\n\n \"\n CLOSE_PAREN: (3755..3756) \")\"\n CLOSE_PAREN: (3756..3757) \")\"\n FORM: (3757..3766)\n OPEN_PAREN: (3757..3758) \"(\"\n SYMBOL: (3758..3765)\n IDENTIFIER: (3758..3765) \"newline\"\n CLOSE_PAREN: (3765..3766) \")\"\n ATMOSPHERE: (3766..3768) \"\n\n\"\n ATMOSPHERE: (3768..3797) \";; Character class predicates\"\n ATMOSPHERE: (3797..3798) \"\n\"\n FORM: (3798..4869)\n OPEN_PAREN: (3798..3799) \"(\"\n SYMBOL: (3799..3806)\n IDENTIFIER: (3799..3806) \"display\"\n ATMOSPHERE: (3806..3807) \" \"\n FORM: (3807..4868)\n OPEN_PAREN: (3807..3808) \"(\"\n SYMBOL: (3808..3817)\n IDENTIFIER: (3808..3817) \"boolean=?\"\n ATMOSPHERE: (3817..3822) \"\n \"\n CONSTANT: (3822..3824)\n BOOLEAN: (3822..3824) \"#t\"\n ATMOSPHERE: (3824..3830) \"\n\n \"\n FORM: (3830..3852)\n OPEN_PAREN: (3830..3831) \"(\"\n SYMBOL: (3831..3847)\n IDENTIFIER: (3831..3847) \"char-alphabetic?\"\n ATMOSPHERE: (3847..3848) \" \"\n CONSTANT: (3848..3851)\n CHARACTER: (3848..3851) \"#\\a\"\n CLOSE_PAREN: (3851..3852) \")\"\n ATMOSPHERE: (3852..3857) \"\n \"\n FORM: (3857..3885)\n OPEN_PAREN: (3857..3858) \"(\"\n SYMBOL: (3858..3861)\n IDENTIFIER: (3858..3861) \"not\"\n ATMOSPHERE: (3861..3862) \" \"\n FORM: (3862..3884)\n OPEN_PAREN: (3862..3863) \"(\"\n SYMBOL: (3863..3879)\n IDENTIFIER: (3863..3879) \"char-alphabetic?\"\n ATMOSPHERE: (3879..3880) \" \"\n CONSTANT: (3880..3883)\n CHARACTER: (3880..3883) \"#\\५\"\n CLOSE_PAREN: (3883..3884) \")\"\n CLOSE_PAREN: (3884..3885) \")\"\n ATMOSPHERE: (3885..3890) \"\n \"\n FORM: (3890..3912)\n OPEN_PAREN: (3890..3891) \"(\"\n SYMBOL: (3891..3907)\n IDENTIFIER: (3891..3907) \"char-alphabetic?\"\n ATMOSPHERE: (3907..3908) \" \"\n CONSTANT: (3908..3911)\n CHARACTER: (3908..3911) \"#\\λ\"\n CLOSE_PAREN: (3911..3912) \")\"\n ATMOSPHERE: (3912..3917) \"\n \"\n FORM: (3917..3948)\n OPEN_PAREN: (3917..3918) \"(\"\n SYMBOL: (3918..3921)\n IDENTIFIER: (3918..3921) \"not\"\n ATMOSPHERE: (3921..3922) \" \"\n FORM: (3922..3947)\n OPEN_PAREN: (3922..3923) \"(\"\n SYMBOL: (3923..3939)\n IDENTIFIER: (3923..3939) \"char-alphabetic?\"\n ATMOSPHERE: (3939..3940) \" \"\n CONSTANT: (3940..3946)\n CHARACTER: (3940..3946) \"#\\null\"\n CLOSE_PAREN: (3946..3947) \")\"\n CLOSE_PAREN: (3947..3948) \")\"\n ATMOSPHERE: (3948..3953) \"\n \"\n FORM: (3953..3985)\n OPEN_PAREN: (3953..3954) \"(\"\n SYMBOL: (3954..3957)\n IDENTIFIER: (3954..3957) \"not\"\n ATMOSPHERE: (3957..3958) \" \"\n FORM: (3958..3984)\n OPEN_PAREN: (3958..3959) \"(\"\n SYMBOL: (3959..3975)\n IDENTIFIER: (3959..3975) \"char-alphabetic?\"\n ATMOSPHERE: (3975..3976) \" \"\n CONSTANT: (3976..3983)\n CHARACTER: (3976..3983) \"#\\space\"\n CLOSE_PAREN: (3983..3984) \")\"\n CLOSE_PAREN: (3984..3985) \")\"\n ATMOSPHERE: (3985..3991) \"\n\n \"\n FORM: (3991..4016)\n OPEN_PAREN: (3991..3992) \"(\"\n SYMBOL: (3992..3995)\n IDENTIFIER: (3992..3995) \"not\"\n ATMOSPHERE: (3995..3996) \" \"\n FORM: (3996..4015)\n OPEN_PAREN: (3996..3997) \"(\"\n SYMBOL: (3997..4010)\n IDENTIFIER: (3997..4010) \"char-numeric?\"\n ATMOSPHERE: (4010..4011) \" \"\n CONSTANT: (4011..4014)\n CHARACTER: (4011..4014) \"#\\a\"\n CLOSE_PAREN: (4014..4015) \")\"\n CLOSE_PAREN: (4015..4016) \")\"\n ATMOSPHERE: (4016..4021) \"\n \"\n FORM: (4021..4040)\n OPEN_PAREN: (4021..4022) \"(\"\n SYMBOL: (4022..4035)\n IDENTIFIER: (4022..4035) \"char-numeric?\"\n ATMOSPHERE: (4035..4036) \" \"\n CONSTANT: (4036..4039)\n CHARACTER: (4036..4039) \"#\\५\"\n CLOSE_PAREN: (4039..4040) \")\"\n ATMOSPHERE: (4040..4045) \"\n \"\n FORM: (4045..4070)\n OPEN_PAREN: (4045..4046) \"(\"\n SYMBOL: (4046..4049)\n IDENTIFIER: (4046..4049) \"not\"\n ATMOSPHERE: (4049..4050) \" \"\n FORM: (4050..4069)\n OPEN_PAREN: (4050..4051) \"(\"\n SYMBOL: (4051..4064)\n IDENTIFIER: (4051..4064) \"char-numeric?\"\n ATMOSPHERE: (4064..4065) \" \"\n CONSTANT: (4065..4068)\n CHARACTER: (4065..4068) \"#\\λ\"\n CLOSE_PAREN: (4068..4069) \")\"\n CLOSE_PAREN: (4069..4070) \")\"\n ATMOSPHERE: (4070..4075) \"\n \"\n FORM: (4075..4103)\n OPEN_PAREN: (4075..4076) \"(\"\n SYMBOL: (4076..4079)\n IDENTIFIER: (4076..4079) \"not\"\n ATMOSPHERE: (4079..4080) \" \"\n FORM: (4080..4102)\n OPEN_PAREN: (4080..4081) \"(\"\n SYMBOL: (4081..4094)\n IDENTIFIER: (4081..4094) \"char-numeric?\"\n ATMOSPHERE: (4094..4095) \" \"\n CONSTANT: (4095..4101)\n CHARACTER: (4095..4101) \"#\\null\"\n CLOSE_PAREN: (4101..4102) \")\"\n CLOSE_PAREN: (4102..4103) \")\"\n ATMOSPHERE: (4103..4108) \"\n \"\n FORM: (4108..4137)\n OPEN_PAREN: (4108..4109) \"(\"\n SYMBOL: (4109..4112)\n IDENTIFIER: (4109..4112) \"not\"\n ATMOSPHERE: (4112..4113) \" \"\n FORM: (4113..4136)\n OPEN_PAREN: (4113..4114) \"(\"\n SYMBOL: (4114..4127)\n IDENTIFIER: (4114..4127) \"char-numeric?\"\n ATMOSPHERE: (4127..4128) \" \"\n CONSTANT: (4128..4135)\n CHARACTER: (4128..4135) \"#\\space\"\n CLOSE_PAREN: (4135..4136) \")\"\n CLOSE_PAREN: (4136..4137) \")\"\n ATMOSPHERE: (4137..4143) \"\n\n \"\n FORM: (4143..4171)\n OPEN_PAREN: (4143..4144) \"(\"\n SYMBOL: (4144..4147)\n IDENTIFIER: (4144..4147) \"not\"\n ATMOSPHERE: (4147..4148) \" \"\n FORM: (4148..4170)\n OPEN_PAREN: (4148..4149) \"(\"\n SYMBOL: (4149..4165)\n IDENTIFIER: (4149..4165) \"char-whitespace?\"\n ATMOSPHERE: (4165..4166) \" \"\n CONSTANT: (4166..4169)\n CHARACTER: (4166..4169) \"#\\a\"\n CLOSE_PAREN: (4169..4170) \")\"\n CLOSE_PAREN: (4170..4171) \")\"\n ATMOSPHERE: (4171..4176) \"\n \"\n FORM: (4176..4204)\n OPEN_PAREN: (4176..4177) \"(\"\n SYMBOL: (4177..4180)\n IDENTIFIER: (4177..4180) \"not\"\n ATMOSPHERE: (4180..4181) \" \"\n FORM: (4181..4203)\n OPEN_PAREN: (4181..4182) \"(\"\n SYMBOL: (4182..4198)\n IDENTIFIER: (4182..4198) \"char-whitespace?\"\n ATMOSPHERE: (4198..4199) \" \"\n CONSTANT: (4199..4202)\n CHARACTER: (4199..4202) \"#\\५\"\n CLOSE_PAREN: (4202..4203) \")\"\n CLOSE_PAREN: (4203..4204) \")\"\n ATMOSPHERE: (4204..4209) \"\n \"\n FORM: (4209..4237)\n OPEN_PAREN: (4209..4210) \"(\"\n SYMBOL: (4210..4213)\n IDENTIFIER: (4210..4213) \"not\"\n ATMOSPHERE: (4213..4214) \" \"\n FORM: (4214..4236)\n OPEN_PAREN: (4214..4215) \"(\"\n SYMBOL: (4215..4231)\n IDENTIFIER: (4215..4231) \"char-whitespace?\"\n ATMOSPHERE: (4231..4232) \" \"\n CONSTANT: (4232..4235)\n CHARACTER: (4232..4235) \"#\\λ\"\n CLOSE_PAREN: (4235..4236) \")\"\n CLOSE_PAREN: (4236..4237) \")\"\n ATMOSPHERE: (4237..4242) \"\n \"\n FORM: (4242..4273)\n OPEN_PAREN: (4242..4243) \"(\"\n SYMBOL: (4243..4246)\n IDENTIFIER: (4243..4246) \"not\"\n ATMOSPHERE: (4246..4247) \" \"\n FORM: (4247..4272)\n OPEN_PAREN: (4247..4248) \"(\"\n SYMBOL: (4248..4264)\n IDENTIFIER: (4248..4264) \"char-whitespace?\"\n ATMOSPHERE: (4264..4265) \" \"\n CONSTANT: (4265..4271)\n CHARACTER: (4265..4271) \"#\\null\"\n CLOSE_PAREN: (4271..4272) \")\"\n CLOSE_PAREN: (4272..4273) \")\"\n ATMOSPHERE: (4273..4278) \"\n \"\n FORM: (4278..4304)\n OPEN_PAREN: (4278..4279) \"(\"\n SYMBOL: (4279..4295)\n IDENTIFIER: (4279..4295) \"char-whitespace?\"\n ATMOSPHERE: (4295..4296) \" \"\n CONSTANT: (4296..4303)\n CHARACTER: (4296..4303) \"#\\space\"\n CLOSE_PAREN: (4303..4304) \")\"\n ATMOSPHERE: (4304..4309) \"\n \"\n FORM: (4309..4333)\n OPEN_PAREN: (4309..4310) \"(\"\n SYMBOL: (4310..4326)\n IDENTIFIER: (4310..4326) \"char-whitespace?\"\n ATMOSPHERE: (4326..4327) \" \"\n CONSTANT: (4327..4332)\n CHARACTER: (4327..4332) \"#\\tab\"\n CLOSE_PAREN: (4332..4333) \")\"\n ATMOSPHERE: (4333..4343) \"\n \n \"\n FORM: (4343..4371)\n OPEN_PAREN: (4343..4344) \"(\"\n SYMBOL: (4344..4347)\n IDENTIFIER: (4344..4347) \"not\"\n ATMOSPHERE: (4347..4348) \" \"\n FORM: (4348..4370)\n OPEN_PAREN: (4348..4349) \"(\"\n SYMBOL: (4349..4365)\n IDENTIFIER: (4349..4365) \"char-upper-case?\"\n ATMOSPHERE: (4365..4366) \" \"\n CONSTANT: (4366..4369)\n CHARACTER: (4366..4369) \"#\\a\"\n CLOSE_PAREN: (4369..4370) \")\"\n CLOSE_PAREN: (4370..4371) \")\"\n ATMOSPHERE: (4371..4376) \"\n \"\n FORM: (4376..4398)\n OPEN_PAREN: (4376..4377) \"(\"\n SYMBOL: (4377..4393)\n IDENTIFIER: (4377..4393) \"char-upper-case?\"\n ATMOSPHERE: (4393..4394) \" \"\n CONSTANT: (4394..4397)\n CHARACTER: (4394..4397) \"#\\A\"\n CLOSE_PAREN: (4397..4398) \")\"\n ATMOSPHERE: (4398..4403) \"\n \"\n FORM: (4403..4431)\n OPEN_PAREN: (4403..4404) \"(\"\n SYMBOL: (4404..4407)\n IDENTIFIER: (4404..4407) \"not\"\n ATMOSPHERE: (4407..4408) \" \"\n FORM: (4408..4430)\n OPEN_PAREN: (4408..4409) \"(\"\n SYMBOL: (4409..4425)\n IDENTIFIER: (4409..4425) \"char-upper-case?\"\n ATMOSPHERE: (4425..4426) \" \"\n CONSTANT: (4426..4429)\n CHARACTER: (4426..4429) \"#\\५\"\n CLOSE_PAREN: (4429..4430) \")\"\n CLOSE_PAREN: (4430..4431) \")\"\n ATMOSPHERE: (4431..4436) \"\n \"\n FORM: (4436..4464)\n OPEN_PAREN: (4436..4437) \"(\"\n SYMBOL: (4437..4440)\n IDENTIFIER: (4437..4440) \"not\"\n ATMOSPHERE: (4440..4441) \" \"\n FORM: (4441..4463)\n OPEN_PAREN: (4441..4442) \"(\"\n SYMBOL: (4442..4458)\n IDENTIFIER: (4442..4458) \"char-upper-case?\"\n ATMOSPHERE: (4458..4459) \" \"\n CONSTANT: (4459..4462)\n CHARACTER: (4459..4462) \"#\\λ\"\n CLOSE_PAREN: (4462..4463) \")\"\n CLOSE_PAREN: (4463..4464) \")\"\n ATMOSPHERE: (4464..4469) \"\n \"\n FORM: (4469..4491)\n OPEN_PAREN: (4469..4470) \"(\"\n SYMBOL: (4470..4486)\n IDENTIFIER: (4470..4486) \"char-upper-case?\"\n ATMOSPHERE: (4486..4487) \" \"\n CONSTANT: (4487..4490)\n CHARACTER: (4487..4490) \"#\\Λ\"\n CLOSE_PAREN: (4490..4491) \")\"\n ATMOSPHERE: (4491..4496) \"\n \"\n FORM: (4496..4527)\n OPEN_PAREN: (4496..4497) \"(\"\n SYMBOL: (4497..4500)\n IDENTIFIER: (4497..4500) \"not\"\n ATMOSPHERE: (4500..4501) \" \"\n FORM: (4501..4526)\n OPEN_PAREN: (4501..4502) \"(\"\n SYMBOL: (4502..4518)\n IDENTIFIER: (4502..4518) \"char-upper-case?\"\n ATMOSPHERE: (4518..4519) \" \"\n CONSTANT: (4519..4525)\n CHARACTER: (4519..4525) \"#\\null\"\n CLOSE_PAREN: (4525..4526) \")\"\n CLOSE_PAREN: (4526..4527) \")\"\n ATMOSPHERE: (4527..4532) \"\n \"\n FORM: (4532..4564)\n OPEN_PAREN: (4532..4533) \"(\"\n SYMBOL: (4533..4536)\n IDENTIFIER: (4533..4536) \"not\"\n ATMOSPHERE: (4536..4537) \" \"\n FORM: (4537..4563)\n OPEN_PAREN: (4537..4538) \"(\"\n SYMBOL: (4538..4554)\n IDENTIFIER: (4538..4554) \"char-upper-case?\"\n ATMOSPHERE: (4554..4555) \" \"\n CONSTANT: (4555..4562)\n CHARACTER: (4555..4562) \"#\\space\"\n CLOSE_PAREN: (4562..4563) \")\"\n CLOSE_PAREN: (4563..4564) \")\"\n ATMOSPHERE: (4564..4569) \"\n \"\n FORM: (4569..4599)\n OPEN_PAREN: (4569..4570) \"(\"\n SYMBOL: (4570..4573)\n IDENTIFIER: (4570..4573) \"not\"\n ATMOSPHERE: (4573..4574) \" \"\n FORM: (4574..4598)\n OPEN_PAREN: (4574..4575) \"(\"\n SYMBOL: (4575..4591)\n IDENTIFIER: (4575..4591) \"char-upper-case?\"\n ATMOSPHERE: (4591..4592) \" \"\n CONSTANT: (4592..4597)\n CHARACTER: (4592..4597) \"#\\tab\"\n CLOSE_PAREN: (4597..4598) \")\"\n CLOSE_PAREN: (4598..4599) \")\"\n ATMOSPHERE: (4599..4605) \"\n\n \"\n FORM: (4605..4627)\n OPEN_PAREN: (4605..4606) \"(\"\n SYMBOL: (4606..4622)\n IDENTIFIER: (4606..4622) \"char-lower-case?\"\n ATMOSPHERE: (4622..4623) \" \"\n CONSTANT: (4623..4626)\n CHARACTER: (4623..4626) \"#\\a\"\n CLOSE_PAREN: (4626..4627) \")\"\n ATMOSPHERE: (4627..4632) \"\n \"\n FORM: (4632..4660)\n OPEN_PAREN: (4632..4633) \"(\"\n SYMBOL: (4633..4636)\n IDENTIFIER: (4633..4636) \"not\"\n ATMOSPHERE: (4636..4637) \" \"\n FORM: (4637..4659)\n OPEN_PAREN: (4637..4638) \"(\"\n SYMBOL: (4638..4654)\n IDENTIFIER: (4638..4654) \"char-lower-case?\"\n ATMOSPHERE: (4654..4655) \" \"\n CONSTANT: (4655..4658)\n CHARACTER: (4655..4658) \"#\\A\"\n CLOSE_PAREN: (4658..4659) \")\"\n CLOSE_PAREN: (4659..4660) \")\"\n ATMOSPHERE: (4660..4665) \"\n \"\n FORM: (4665..4693)\n OPEN_PAREN: (4665..4666) \"(\"\n SYMBOL: (4666..4669)\n IDENTIFIER: (4666..4669) \"not\"\n ATMOSPHERE: (4669..4670) \" \"\n FORM: (4670..4692)\n OPEN_PAREN: (4670..4671) \"(\"\n SYMBOL: (4671..4687)\n IDENTIFIER: (4671..4687) \"char-lower-case?\"\n ATMOSPHERE: (4687..4688) \" \"\n CONSTANT: (4688..4691)\n CHARACTER: (4688..4691) \"#\\५\"\n CLOSE_PAREN: (4691..4692) \")\"\n CLOSE_PAREN: (4692..4693) \")\"\n ATMOSPHERE: (4693..4698) \"\n \"\n FORM: (4698..4720)\n OPEN_PAREN: (4698..4699) \"(\"\n SYMBOL: (4699..4715)\n IDENTIFIER: (4699..4715) \"char-lower-case?\"\n ATMOSPHERE: (4715..4716) \" \"\n CONSTANT: (4716..4719)\n CHARACTER: (4716..4719) \"#\\λ\"\n CLOSE_PAREN: (4719..4720) \")\"\n ATMOSPHERE: (4720..4725) \"\n \"\n FORM: (4725..4753)\n OPEN_PAREN: (4725..4726) \"(\"\n SYMBOL: (4726..4729)\n IDENTIFIER: (4726..4729) \"not\"\n ATMOSPHERE: (4729..4730) \" \"\n FORM: (4730..4752)\n OPEN_PAREN: (4730..4731) \"(\"\n SYMBOL: (4731..4747)\n IDENTIFIER: (4731..4747) \"char-lower-case?\"\n ATMOSPHERE: (4747..4748) \" \"\n CONSTANT: (4748..4751)\n CHARACTER: (4748..4751) \"#\\Λ\"\n CLOSE_PAREN: (4751..4752) \")\"\n CLOSE_PAREN: (4752..4753) \")\"\n ATMOSPHERE: (4753..4758) \"\n \"\n FORM: (4758..4789)\n OPEN_PAREN: (4758..4759) \"(\"\n SYMBOL: (4759..4762)\n IDENTIFIER: (4759..4762) \"not\"\n ATMOSPHERE: (4762..4763) \" \"\n FORM: (4763..4788)\n OPEN_PAREN: (4763..4764) \"(\"\n SYMBOL: (4764..4780)\n IDENTIFIER: (4764..4780) \"char-lower-case?\"\n ATMOSPHERE: (4780..4781) \" \"\n CONSTANT: (4781..4787)\n CHARACTER: (4781..4787) \"#\\null\"\n CLOSE_PAREN: (4787..4788) \")\"\n CLOSE_PAREN: (4788..4789) \")\"\n ATMOSPHERE: (4789..4794) \"\n \"\n FORM: (4794..4826)\n OPEN_PAREN: (4794..4795) \"(\"\n SYMBOL: (4795..4798)\n IDENTIFIER: (4795..4798) \"not\"\n ATMOSPHERE: (4798..4799) \" \"\n FORM: (4799..4825)\n OPEN_PAREN: (4799..4800) \"(\"\n SYMBOL: (4800..4816)\n IDENTIFIER: (4800..4816) \"char-lower-case?\"\n ATMOSPHERE: (4816..4817) \" \"\n CONSTANT: (4817..4824)\n CHARACTER: (4817..4824) \"#\\space\"\n CLOSE_PAREN: (4824..4825) \")\"\n CLOSE_PAREN: (4825..4826) \")\"\n ATMOSPHERE: (4826..4831) \"\n \"\n FORM: (4831..4861)\n OPEN_PAREN: (4831..4832) \"(\"\n SYMBOL: (4832..4835)\n IDENTIFIER: (4832..4835) \"not\"\n ATMOSPHERE: (4835..4836) \" \"\n FORM: (4836..4860)\n OPEN_PAREN: (4836..4837) \"(\"\n SYMBOL: (4837..4853)\n IDENTIFIER: (4837..4853) \"char-lower-case?\"\n ATMOSPHERE: (4853..4854) \" \"\n CONSTANT: (4854..4859)\n CHARACTER: (4854..4859) \"#\\tab\"\n CLOSE_PAREN: (4859..4860) \")\"\n CLOSE_PAREN: (4860..4861) \")\"\n ATMOSPHERE: (4861..4867) \"\n\n \"\n CLOSE_PAREN: (4867..4868) \")\"\n CLOSE_PAREN: (4868..4869) \")\"\n ATMOSPHERE: (4869..4871) \"\n\n\"\n ATMOSPHERE: (4871..4891) \";; casing transforms\"\n ATMOSPHERE: (4891..4892) \"\n\"\n FORM: (4892..5346)\n OPEN_PAREN: (4892..4893) \"(\"\n SYMBOL: (4893..4900)\n IDENTIFIER: (4893..4900) \"display\"\n ATMOSPHERE: (4900..4901) \" \"\n FORM: (4901..5345)\n OPEN_PAREN: (4901..4902) \"(\"\n SYMBOL: (4902..4906)\n IDENTIFIER: (4902..4906) \"list\"\n ATMOSPHERE: (4906..4911) \"\n \"\n FORM: (4911..4928)\n OPEN_PAREN: (4911..4912) \"(\"\n SYMBOL: (4912..4923)\n IDENTIFIER: (4912..4923) \"char-upcase\"\n ATMOSPHERE: (4923..4924) \" \"\n CONSTANT: (4924..4927)\n CHARACTER: (4924..4927) \"#\\a\"\n CLOSE_PAREN: (4927..4928) \")\"\n ATMOSPHERE: (4928..4933) \"\n \"\n FORM: (4933..4950)\n OPEN_PAREN: (4933..4934) \"(\"\n SYMBOL: (4934..4945)\n IDENTIFIER: (4934..4945) \"char-upcase\"\n ATMOSPHERE: (4945..4946) \" \"\n CONSTANT: (4946..4949)\n CHARACTER: (4946..4949) \"#\\A\"\n CLOSE_PAREN: (4949..4950) \")\"\n ATMOSPHERE: (4950..4955) \"\n \"\n FORM: (4955..4972)\n OPEN_PAREN: (4955..4956) \"(\"\n SYMBOL: (4956..4967)\n IDENTIFIER: (4956..4967) \"char-upcase\"\n ATMOSPHERE: (4967..4968) \" \"\n CONSTANT: (4968..4971)\n CHARACTER: (4968..4971) \"#\\५\"\n CLOSE_PAREN: (4971..4972) \")\"\n ATMOSPHERE: (4972..4977) \"\n \"\n FORM: (4977..4994)\n OPEN_PAREN: (4977..4978) \"(\"\n SYMBOL: (4978..4989)\n IDENTIFIER: (4978..4989) \"char-upcase\"\n ATMOSPHERE: (4989..4990) \" \"\n CONSTANT: (4990..4993)\n CHARACTER: (4990..4993) \"#\\λ\"\n CLOSE_PAREN: (4993..4994) \")\"\n ATMOSPHERE: (4994..4999) \"\n \"\n FORM: (4999..5019)\n OPEN_PAREN: (4999..5000) \"(\"\n SYMBOL: (5000..5011)\n IDENTIFIER: (5000..5011) \"char-upcase\"\n ATMOSPHERE: (5011..5012) \" \"\n CONSTANT: (5012..5018)\n CHARACTER: (5012..5018) \"#\\null\"\n CLOSE_PAREN: (5018..5019) \")\"\n ATMOSPHERE: (5019..5024) \"\n \"\n FORM: (5024..5045)\n OPEN_PAREN: (5024..5025) \"(\"\n SYMBOL: (5025..5036)\n IDENTIFIER: (5025..5036) \"char-upcase\"\n ATMOSPHERE: (5036..5037) \" \"\n CONSTANT: (5037..5044)\n CHARACTER: (5037..5044) \"#\\space\"\n CLOSE_PAREN: (5044..5045) \")\"\n ATMOSPHERE: (5045..5050) \"\n \"\n FORM: (5050..5069)\n OPEN_PAREN: (5050..5051) \"(\"\n SYMBOL: (5051..5064)\n IDENTIFIER: (5051..5064) \"char-downcase\"\n ATMOSPHERE: (5064..5065) \" \"\n CONSTANT: (5065..5068)\n CHARACTER: (5065..5068) \"#\\a\"\n CLOSE_PAREN: (5068..5069) \")\"\n ATMOSPHERE: (5069..5074) \"\n \"\n FORM: (5074..5093)\n OPEN_PAREN: (5074..5075) \"(\"\n SYMBOL: (5075..5088)\n IDENTIFIER: (5075..5088) \"char-downcase\"\n ATMOSPHERE: (5088..5089) \" \"\n CONSTANT: (5089..5092)\n CHARACTER: (5089..5092) \"#\\A\"\n CLOSE_PAREN: (5092..5093) \")\"\n ATMOSPHERE: (5093..5098) \"\n \"\n FORM: (5098..5117)\n OPEN_PAREN: (5098..5099) \"(\"\n SYMBOL: (5099..5112)\n IDENTIFIER: (5099..5112) \"char-downcase\"\n ATMOSPHERE: (5112..5113) \" \"\n CONSTANT: (5113..5116)\n CHARACTER: (5113..5116) \"#\\५\"\n CLOSE_PAREN: (5116..5117) \")\"\n ATMOSPHERE: (5117..5122) \"\n \"\n FORM: (5122..5141)\n OPEN_PAREN: (5122..5123) \"(\"\n SYMBOL: (5123..5136)\n IDENTIFIER: (5123..5136) \"char-downcase\"\n ATMOSPHERE: (5136..5137) \" \"\n CONSTANT: (5137..5140)\n CHARACTER: (5137..5140) \"#\\Λ\"\n CLOSE_PAREN: (5140..5141) \")\"\n ATMOSPHERE: (5141..5146) \"\n \"\n FORM: (5146..5166)\n OPEN_PAREN: (5146..5147) \"(\"\n SYMBOL: (5147..5158)\n IDENTIFIER: (5147..5158) \"char-upcase\"\n ATMOSPHERE: (5158..5159) \" \"\n CONSTANT: (5159..5165)\n CHARACTER: (5159..5165) \"#\\null\"\n CLOSE_PAREN: (5165..5166) \")\"\n ATMOSPHERE: (5166..5171) \"\n \"\n FORM: (5171..5192)\n OPEN_PAREN: (5171..5172) \"(\"\n SYMBOL: (5172..5183)\n IDENTIFIER: (5172..5183) \"char-upcase\"\n ATMOSPHERE: (5183..5184) \" \"\n CONSTANT: (5184..5191)\n CHARACTER: (5184..5191) \"#\\space\"\n CLOSE_PAREN: (5191..5192) \")\"\n ATMOSPHERE: (5192..5197) \"\n \"\n FORM: (5197..5216)\n OPEN_PAREN: (5197..5198) \"(\"\n SYMBOL: (5198..5211)\n IDENTIFIER: (5198..5211) \"char-foldcase\"\n ATMOSPHERE: (5211..5212) \" \"\n CONSTANT: (5212..5215)\n CHARACTER: (5212..5215) \"#\\a\"\n CLOSE_PAREN: (5215..5216) \")\"\n ATMOSPHERE: (5216..5221) \"\n \"\n FORM: (5221..5240)\n OPEN_PAREN: (5221..5222) \"(\"\n SYMBOL: (5222..5235)\n IDENTIFIER: (5222..5235) \"char-foldcase\"\n ATMOSPHERE: (5235..5236) \" \"\n CONSTANT: (5236..5239)\n CHARACTER: (5236..5239) \"#\\A\"\n CLOSE_PAREN: (5239..5240) \")\"\n ATMOSPHERE: (5240..5245) \"\n \"\n FORM: (5245..5264)\n OPEN_PAREN: (5245..5246) \"(\"\n SYMBOL: (5246..5259)\n IDENTIFIER: (5246..5259) \"char-foldcase\"\n ATMOSPHERE: (5259..5260) \" \"\n CONSTANT: (5260..5263)\n CHARACTER: (5260..5263) \"#\\५\"\n CLOSE_PAREN: (5263..5264) \")\"\n ATMOSPHERE: (5264..5269) \"\n \"\n FORM: (5269..5288)\n OPEN_PAREN: (5269..5270) \"(\"\n SYMBOL: (5270..5283)\n IDENTIFIER: (5270..5283) \"char-foldcase\"\n ATMOSPHERE: (5283..5284) \" \"\n CONSTANT: (5284..5287)\n CHARACTER: (5284..5287) \"#\\Λ\"\n CLOSE_PAREN: (5287..5288) \")\"\n ATMOSPHERE: (5288..5293) \"\n \"\n FORM: (5293..5313)\n OPEN_PAREN: (5293..5294) \"(\"\n SYMBOL: (5294..5305)\n IDENTIFIER: (5294..5305) \"char-upcase\"\n ATMOSPHERE: (5305..5306) \" \"\n CONSTANT: (5306..5312)\n CHARACTER: (5306..5312) \"#\\null\"\n CLOSE_PAREN: (5312..5313) \")\"\n ATMOSPHERE: (5313..5318) \"\n \"\n FORM: (5318..5339)\n OPEN_PAREN: (5318..5319) \"(\"\n SYMBOL: (5319..5330)\n IDENTIFIER: (5319..5330) \"char-upcase\"\n ATMOSPHERE: (5330..5331) \" \"\n CONSTANT: (5331..5338)\n CHARACTER: (5331..5338) \"#\\space\"\n CLOSE_PAREN: (5338..5339) \")\"\n ATMOSPHERE: (5339..5344) \"\n \"\n CLOSE_PAREN: (5344..5345) \")\"\n CLOSE_PAREN: (5345..5346) \")\"\n ATMOSPHERE: (5346..5347) \"\n\"\n" + "Root": "PROGRAM: (0..5347)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..213) \"\n\n\"\n FORM: (213..799)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..221)\n IDENTIFIER: (214..221) \"display\"\n ATMOSPHERE: (221..222) \" \"\n FORM: (222..798)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..232)\n IDENTIFIER: (223..232) \"boolean=?\"\n ATMOSPHERE: (232..237) \"\n \"\n CONSTANT: (237..239)\n BOOLEAN: (237..239) \"#t\"\n ATMOSPHERE: (239..249) \"\n \n \"\n FORM: (249..278)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..256)\n IDENTIFIER: (250..256) \"equal?\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..264)\n CHARACTER: (257..264) \"#\\alarm\"\n ATMOSPHERE: (264..270) \" \"\n CONSTANT: (270..277)\n CHARACTER: (270..277) \"#\\x0007\"\n CLOSE_PAREN: (277..278) \")\"\n ATMOSPHERE: (278..280) \" \"\n ATMOSPHERE: (280..288) \"; U+0007\"\n ATMOSPHERE: (288..293) \"\n \"\n FORM: (293..322)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..300)\n IDENTIFIER: (294..300) \"equal?\"\n ATMOSPHERE: (300..301) \" \"\n CONSTANT: (301..312)\n CHARACTER: (301..312) \"#\\backspace\"\n ATMOSPHERE: (312..314) \" \"\n CONSTANT: (314..321)\n CHARACTER: (314..321) \"#\\x0008\"\n CLOSE_PAREN: (321..322) \")\"\n ATMOSPHERE: (322..324) \" \"\n ATMOSPHERE: (324..332) \"; U+0008\"\n ATMOSPHERE: (332..337) \"\n \"\n FORM: (337..366)\n OPEN_PAREN: (337..338) \"(\"\n SYMBOL: (338..344)\n IDENTIFIER: (338..344) \"equal?\"\n ATMOSPHERE: (344..345) \" \"\n CONSTANT: (345..353)\n CHARACTER: (345..353) \"#\\delete\"\n ATMOSPHERE: (353..358) \" \"\n CONSTANT: (358..365)\n CHARACTER: (358..365) \"#\\x007F\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..368) \" \"\n ATMOSPHERE: (368..376) \"; U+007F\"\n ATMOSPHERE: (376..381) \"\n \"\n FORM: (381..410)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..388)\n IDENTIFIER: (382..388) \"equal?\"\n ATMOSPHERE: (388..389) \" \"\n CONSTANT: (389..397)\n CHARACTER: (389..397) \"#\\escape\"\n ATMOSPHERE: (397..402) \" \"\n CONSTANT: (402..409)\n CHARACTER: (402..409) \"#\\x001B\"\n CLOSE_PAREN: (409..410) \")\"\n ATMOSPHERE: (410..412) \" \"\n ATMOSPHERE: (412..420) \"; U+001B\"\n ATMOSPHERE: (420..425) \"\n \"\n FORM: (425..454)\n OPEN_PAREN: (425..426) \"(\"\n SYMBOL: (426..432)\n IDENTIFIER: (426..432) \"equal?\"\n ATMOSPHERE: (432..433) \" \"\n CONSTANT: (433..442)\n CHARACTER: (433..442) \"#\\newline\"\n ATMOSPHERE: (442..446) \" \"\n CONSTANT: (446..453)\n CHARACTER: (446..453) \"#\\x000A\"\n CLOSE_PAREN: (453..454) \")\"\n ATMOSPHERE: (454..456) \" \"\n ATMOSPHERE: (456..488) \"; the linefeed character, U+000A\"\n ATMOSPHERE: (488..493) \"\n \"\n FORM: (493..522)\n OPEN_PAREN: (493..494) \"(\"\n SYMBOL: (494..500)\n IDENTIFIER: (494..500) \"equal?\"\n ATMOSPHERE: (500..501) \" \"\n CONSTANT: (501..507)\n CHARACTER: (501..507) \"#\\null\"\n ATMOSPHERE: (507..514) \" \"\n CONSTANT: (514..521)\n CHARACTER: (514..521) \"#\\x0000\"\n CLOSE_PAREN: (521..522) \")\"\n ATMOSPHERE: (522..524) \" \"\n ATMOSPHERE: (524..552) \"; the null character, U+0000\"\n ATMOSPHERE: (552..557) \"\n \"\n FORM: (557..586)\n OPEN_PAREN: (557..558) \"(\"\n SYMBOL: (558..564)\n IDENTIFIER: (558..564) \"equal?\"\n ATMOSPHERE: (564..565) \" \"\n CONSTANT: (565..573)\n CHARACTER: (565..573) \"#\\return\"\n ATMOSPHERE: (573..578) \" \"\n CONSTANT: (578..585)\n CHARACTER: (578..585) \"#\\x000D\"\n CLOSE_PAREN: (585..586) \")\"\n ATMOSPHERE: (586..588) \" \"\n ATMOSPHERE: (588..618) \"; the return character, U+000D\"\n ATMOSPHERE: (618..623) \"\n \"\n FORM: (623..652)\n OPEN_PAREN: (623..624) \"(\"\n SYMBOL: (624..630)\n IDENTIFIER: (624..630) \"equal?\"\n ATMOSPHERE: (630..631) \" \"\n CONSTANT: (631..638)\n CHARACTER: (631..638) \"#\\space\"\n ATMOSPHERE: (638..644) \" \"\n CONSTANT: (644..647)\n CHARACTER: (644..647) \"#\\ \"\n ATMOSPHERE: (647..651) \" \"\n CLOSE_PAREN: (651..652) \")\"\n ATMOSPHERE: (652..654) \" \"\n ATMOSPHERE: (654..690) \"; the preferred way to write a space\"\n ATMOSPHERE: (690..695) \"\n \"\n FORM: (695..724)\n OPEN_PAREN: (695..696) \"(\"\n SYMBOL: (696..702)\n IDENTIFIER: (696..702) \"equal?\"\n ATMOSPHERE: (702..703) \" \"\n CONSTANT: (703..708)\n CHARACTER: (703..708) \"#\\tab\"\n ATMOSPHERE: (708..716) \" \"\n CONSTANT: (716..723)\n CHARACTER: (716..723) \"#\\x0009\"\n CLOSE_PAREN: (723..724) \")\"\n ATMOSPHERE: (724..726) \" \"\n ATMOSPHERE: (726..753) \"; the tab character, U+0009\"\n ATMOSPHERE: (753..758) \"\n \"\n FORM: (758..787)\n OPEN_PAREN: (758..759) \"(\"\n SYMBOL: (759..765)\n IDENTIFIER: (759..765) \"equal?\"\n ATMOSPHERE: (765..766) \" \"\n CONSTANT: (766..773)\n CHARACTER: (766..773) \"#\\x03BB\"\n ATMOSPHERE: (773..779) \" \"\n CONSTANT: (779..782)\n CHARACTER: (779..782) \"#\\λ\"\n ATMOSPHERE: (782..786) \" \"\n CLOSE_PAREN: (786..787) \")\"\n ATMOSPHERE: (787..789) \" \"\n ATMOSPHERE: (789..792) \"; λ\"\n ATMOSPHERE: (792..797) \"\n \"\n CLOSE_PAREN: (797..798) \")\"\n CLOSE_PAREN: (798..799) \")\"\n FORM: (799..808)\n OPEN_PAREN: (799..800) \"(\"\n SYMBOL: (800..807)\n IDENTIFIER: (800..807) \"newline\"\n CLOSE_PAREN: (807..808) \")\"\n ATMOSPHERE: (808..810) \"\n\n\"\n ATMOSPHERE: (810..840) \";; Simple character operations\"\n ATMOSPHERE: (840..841) \"\n\"\n FORM: (841..1660)\n OPEN_PAREN: (841..842) \"(\"\n SYMBOL: (842..849)\n IDENTIFIER: (842..849) \"display\"\n ATMOSPHERE: (849..850) \" \"\n FORM: (850..1659)\n OPEN_PAREN: (850..851) \"(\"\n SYMBOL: (851..855)\n IDENTIFIER: (851..855) \"list\"\n ATMOSPHERE: (855..860) \"\n \"\n FORM: (860..875)\n OPEN_PAREN: (860..861) \"(\"\n SYMBOL: (861..866)\n IDENTIFIER: (861..866) \"char?\"\n ATMOSPHERE: (866..867) \" \"\n CONSTANT: (867..874)\n CHARACTER: (867..874) \"#\\space\"\n CLOSE_PAREN: (874..875) \")\"\n ATMOSPHERE: (875..880) \"\n \"\n FORM: (880..893)\n OPEN_PAREN: (880..881) \"(\"\n SYMBOL: (881..886)\n IDENTIFIER: (881..886) \"char?\"\n ATMOSPHERE: (886..887) \" \"\n CONSTANT: (887..892)\n CHARACTER: (887..892) \"#\\tab\"\n CLOSE_PAREN: (892..893) \")\"\n ATMOSPHERE: (893..898) \"\n \"\n FORM: (898..912)\n OPEN_PAREN: (898..899) \"(\"\n SYMBOL: (899..904)\n IDENTIFIER: (899..904) \"char?\"\n ATMOSPHERE: (904..905) \" \"\n CONSTANT: (905..911)\n CHARACTER: (905..911) \"#\\null\"\n CLOSE_PAREN: (911..912) \")\"\n ATMOSPHERE: (912..917) \"\n \"\n FORM: (917..928)\n OPEN_PAREN: (917..918) \"(\"\n SYMBOL: (918..923)\n IDENTIFIER: (918..923) \"char?\"\n ATMOSPHERE: (923..924) \" \"\n CONSTANT: (924..927)\n NUMBER: (924..927) \"101\"\n CLOSE_PAREN: (927..928) \")\"\n ATMOSPHERE: (928..933) \"\n \"\n FORM: (933..943)\n OPEN_PAREN: (933..934) \"(\"\n SYMBOL: (934..939)\n IDENTIFIER: (934..939) \"char?\"\n ATMOSPHERE: (939..940) \" \"\n CONSTANT: (940..942)\n NUMBER: (940..942) \"00\"\n CLOSE_PAREN: (942..943) \")\"\n ATMOSPHERE: (943..953) \"\n \n \"\n FORM: (953..1241)\n OPEN_PAREN: (953..954) \"(\"\n SYMBOL: (954..963)\n IDENTIFIER: (954..963) \"boolean=?\"\n ATMOSPHERE: (963..972) \"\n \"\n CONSTANT: (972..974)\n BOOLEAN: (972..974) \"#t\"\n ATMOSPHERE: (974..988) \"\n \n \"\n FORM: (988..1021)\n OPEN_PAREN: (988..989) \"(\"\n SYMBOL: (989..995)\n IDENTIFIER: (989..995) \"equal?\"\n ATMOSPHERE: (995..996) \" \"\n FORM: (996..1013)\n OPEN_PAREN: (996..997) \"(\"\n SYMBOL: (997..1008)\n IDENTIFIER: (997..1008) \"digit-value\"\n ATMOSPHERE: (1008..1009) \" \"\n CONSTANT: (1009..1012)\n CHARACTER: (1009..1012) \"#\\3\"\n CLOSE_PAREN: (1012..1013) \")\"\n ATMOSPHERE: (1013..1019) \" \"\n CONSTANT: (1019..1020)\n NUMBER: (1019..1020) \"3\"\n CLOSE_PAREN: (1020..1021) \")\"\n ATMOSPHERE: (1021..1030) \"\n \"\n FORM: (1030..1063)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1037)\n IDENTIFIER: (1031..1037) \"equal?\"\n ATMOSPHERE: (1037..1038) \" \"\n FORM: (1038..1059)\n OPEN_PAREN: (1038..1039) \"(\"\n SYMBOL: (1039..1050)\n IDENTIFIER: (1039..1050) \"digit-value\"\n ATMOSPHERE: (1050..1051) \" \"\n CONSTANT: (1051..1058)\n CHARACTER: (1051..1058) \"#\\x0664\"\n CLOSE_PAREN: (1058..1059) \")\"\n ATMOSPHERE: (1059..1061) \" \"\n CONSTANT: (1061..1062)\n NUMBER: (1061..1062) \"4\"\n CLOSE_PAREN: (1062..1063) \")\"\n ATMOSPHERE: (1063..1072) \"\n \"\n FORM: (1072..1105)\n OPEN_PAREN: (1072..1073) \"(\"\n SYMBOL: (1073..1079)\n IDENTIFIER: (1073..1079) \"equal?\"\n ATMOSPHERE: (1079..1080) \" \"\n FORM: (1080..1101)\n OPEN_PAREN: (1080..1081) \"(\"\n SYMBOL: (1081..1092)\n IDENTIFIER: (1081..1092) \"digit-value\"\n ATMOSPHERE: (1092..1093) \" \"\n CONSTANT: (1093..1100)\n CHARACTER: (1093..1100) \"#\\x0AE6\"\n CLOSE_PAREN: (1100..1101) \")\"\n ATMOSPHERE: (1101..1103) \" \"\n CONSTANT: (1103..1104)\n NUMBER: (1103..1104) \"0\"\n CLOSE_PAREN: (1104..1105) \")\"\n ATMOSPHERE: (1105..1114) \"\n \"\n FORM: (1114..1147)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1121)\n IDENTIFIER: (1115..1121) \"equal?\"\n ATMOSPHERE: (1121..1122) \" \"\n FORM: (1122..1143)\n OPEN_PAREN: (1122..1123) \"(\"\n SYMBOL: (1123..1134)\n IDENTIFIER: (1123..1134) \"digit-value\"\n ATMOSPHERE: (1134..1135) \" \"\n CONSTANT: (1135..1142)\n CHARACTER: (1135..1142) \"#\\x0EA6\"\n CLOSE_PAREN: (1142..1143) \")\"\n ATMOSPHERE: (1143..1144) \" \"\n CONSTANT: (1144..1146)\n BOOLEAN: (1144..1146) \"#f\"\n CLOSE_PAREN: (1146..1147) \")\"\n ATMOSPHERE: (1147..1156) \"\n \"\n FORM: (1156..1189)\n OPEN_PAREN: (1156..1157) \"(\"\n SYMBOL: (1157..1163)\n IDENTIFIER: (1157..1163) \"equal?\"\n ATMOSPHERE: (1163..1164) \" \"\n FORM: (1164..1181)\n OPEN_PAREN: (1164..1165) \"(\"\n SYMBOL: (1165..1176)\n IDENTIFIER: (1165..1176) \"digit-value\"\n ATMOSPHERE: (1176..1177) \" \"\n CONSTANT: (1177..1180)\n CHARACTER: (1177..1180) \"#\\১\"\n CLOSE_PAREN: (1180..1181) \")\"\n ATMOSPHERE: (1181..1187) \" \"\n CONSTANT: (1187..1188)\n NUMBER: (1187..1188) \"1\"\n CLOSE_PAREN: (1188..1189) \")\"\n ATMOSPHERE: (1189..1198) \"\n \"\n FORM: (1198..1231)\n OPEN_PAREN: (1198..1199) \"(\"\n SYMBOL: (1199..1205)\n IDENTIFIER: (1199..1205) \"equal?\"\n ATMOSPHERE: (1205..1206) \" \"\n FORM: (1206..1223)\n OPEN_PAREN: (1206..1207) \"(\"\n SYMBOL: (1207..1218)\n IDENTIFIER: (1207..1218) \"digit-value\"\n ATMOSPHERE: (1218..1219) \" \"\n CONSTANT: (1219..1222)\n CHARACTER: (1219..1222) \"#\\५\"\n CLOSE_PAREN: (1222..1223) \")\"\n ATMOSPHERE: (1223..1229) \" \"\n CONSTANT: (1229..1230)\n NUMBER: (1229..1230) \"5\"\n CLOSE_PAREN: (1230..1231) \")\"\n ATMOSPHERE: (1231..1240) \"\n \"\n CLOSE_PAREN: (1240..1241) \")\"\n ATMOSPHERE: (1241..1247) \"\n\n \"\n FORM: (1247..1653)\n OPEN_PAREN: (1247..1248) \"(\"\n SYMBOL: (1248..1257)\n IDENTIFIER: (1248..1257) \"boolean=?\"\n ATMOSPHERE: (1257..1266) \"\n \"\n CONSTANT: (1266..1268)\n BOOLEAN: (1266..1268) \"#t\"\n ATMOSPHERE: (1268..1278) \"\n\n \"\n FORM: (1278..1313)\n OPEN_PAREN: (1278..1279) \"(\"\n SYMBOL: (1279..1285)\n IDENTIFIER: (1279..1285) \"equal?\"\n ATMOSPHERE: (1285..1286) \" \"\n FORM: (1286..1309)\n OPEN_PAREN: (1286..1287) \"(\"\n SYMBOL: (1287..1300)\n IDENTIFIER: (1287..1300) \"char->integer\"\n ATMOSPHERE: (1300..1301) \" \"\n CONSTANT: (1301..1308)\n CHARACTER: (1301..1308) \"#\\space\"\n CLOSE_PAREN: (1308..1309) \")\"\n ATMOSPHERE: (1309..1310) \" \"\n CONSTANT: (1310..1312)\n NUMBER: (1310..1312) \"32\"\n CLOSE_PAREN: (1312..1313) \")\"\n ATMOSPHERE: (1313..1322) \"\n \"\n FORM: (1322..1355)\n OPEN_PAREN: (1322..1323) \"(\"\n SYMBOL: (1323..1329)\n IDENTIFIER: (1323..1329) \"equal?\"\n ATMOSPHERE: (1329..1330) \" \"\n FORM: (1330..1352)\n OPEN_PAREN: (1330..1331) \"(\"\n SYMBOL: (1331..1344)\n IDENTIFIER: (1331..1344) \"char->integer\"\n ATMOSPHERE: (1344..1345) \" \"\n CONSTANT: (1345..1351)\n CHARACTER: (1345..1351) \"#\\null\"\n CLOSE_PAREN: (1351..1352) \")\"\n ATMOSPHERE: (1352..1353) \" \"\n CONSTANT: (1353..1354)\n NUMBER: (1353..1354) \"0\"\n CLOSE_PAREN: (1354..1355) \")\"\n ATMOSPHERE: (1355..1364) \"\n \"\n FORM: (1364..1401)\n OPEN_PAREN: (1364..1365) \"(\"\n SYMBOL: (1365..1371)\n IDENTIFIER: (1365..1371) \"equal?\"\n ATMOSPHERE: (1371..1372) \" \"\n FORM: (1372..1395)\n OPEN_PAREN: (1372..1373) \"(\"\n SYMBOL: (1373..1386)\n IDENTIFIER: (1373..1386) \"char->integer\"\n ATMOSPHERE: (1386..1387) \" \"\n CONSTANT: (1387..1394)\n CHARACTER: (1387..1394) \"#\\x0EA6\"\n CLOSE_PAREN: (1394..1395) \")\"\n ATMOSPHERE: (1395..1396) \" \"\n CONSTANT: (1396..1400)\n NUMBER: (1396..1400) \"3750\"\n CLOSE_PAREN: (1400..1401) \")\"\n ATMOSPHERE: (1401..1410) \"\n \"\n FORM: (1410..1441)\n OPEN_PAREN: (1410..1411) \"(\"\n SYMBOL: (1411..1417)\n IDENTIFIER: (1411..1417) \"equal?\"\n ATMOSPHERE: (1417..1418) \" \"\n FORM: (1418..1436)\n OPEN_PAREN: (1418..1419) \"(\"\n SYMBOL: (1419..1432)\n IDENTIFIER: (1419..1432) \"integer->char\"\n ATMOSPHERE: (1432..1433) \" \"\n CONSTANT: (1433..1435)\n NUMBER: (1433..1435) \"38\"\n CLOSE_PAREN: (1435..1436) \")\"\n ATMOSPHERE: (1436..1437) \" \"\n CONSTANT: (1437..1440)\n CHARACTER: (1437..1440) \"#\\&\"\n CLOSE_PAREN: (1440..1441) \")\"\n ATMOSPHERE: (1441..1450) \"\n \"\n FORM: (1450..1484)\n OPEN_PAREN: (1450..1451) \"(\"\n SYMBOL: (1451..1457)\n IDENTIFIER: (1451..1457) \"equal?\"\n ATMOSPHERE: (1457..1458) \" \"\n FORM: (1458..1475)\n OPEN_PAREN: (1458..1459) \"(\"\n SYMBOL: (1459..1472)\n IDENTIFIER: (1459..1472) \"integer->char\"\n ATMOSPHERE: (1472..1473) \" \"\n CONSTANT: (1473..1474)\n NUMBER: (1473..1474) \"0\"\n CLOSE_PAREN: (1474..1475) \")\"\n ATMOSPHERE: (1475..1476) \" \"\n CONSTANT: (1476..1483)\n CHARACTER: (1476..1483) \"#\\x0000\"\n CLOSE_PAREN: (1483..1484) \")\"\n ATMOSPHERE: (1484..1493) \"\n \"\n FORM: (1493..1531)\n OPEN_PAREN: (1493..1494) \"(\"\n SYMBOL: (1494..1500)\n IDENTIFIER: (1494..1500) \"equal?\"\n ATMOSPHERE: (1500..1501) \" \"\n FORM: (1501..1522)\n OPEN_PAREN: (1501..1502) \"(\"\n SYMBOL: (1502..1515)\n IDENTIFIER: (1502..1515) \"integer->char\"\n ATMOSPHERE: (1515..1516) \" \"\n CONSTANT: (1516..1521)\n NUMBER: (1516..1521) \"55295\"\n CLOSE_PAREN: (1521..1522) \")\"\n ATMOSPHERE: (1522..1523) \" \"\n CONSTANT: (1523..1530)\n CHARACTER: (1523..1530) \"#\\xD7FF\"\n CLOSE_PAREN: (1530..1531) \")\"\n ATMOSPHERE: (1531..1541) \"\n\n \"\n FORM: (1541..1643)\n OPEN_PAREN: (1541..1542) \"(\"\n SYMBOL: (1542..1545)\n IDENTIFIER: (1542..1545) \"let\"\n ATMOSPHERE: (1545..1546) \" \"\n FORM: (1546..1580)\n OPEN_PAREN: (1546..1547) \"(\"\n FORM: (1547..1579)\n OPEN_PAREN: (1547..1548) \"(\"\n SYMBOL: (1548..1556)\n IDENTIFIER: (1548..1556) \"bad-char\"\n ATMOSPHERE: (1556..1557) \" \"\n FORM: (1557..1578)\n OPEN_PAREN: (1557..1558) \"(\"\n SYMBOL: (1558..1571)\n IDENTIFIER: (1558..1571) \"integer->char\"\n ATMOSPHERE: (1571..1572) \" \"\n CONSTANT: (1572..1577)\n NUMBER: (1572..1577) \"55296\"\n CLOSE_PAREN: (1577..1578) \")\"\n CLOSE_PAREN: (1578..1579) \")\"\n CLOSE_PAREN: (1579..1580) \")\"\n ATMOSPHERE: (1580..1593) \"\n \"\n FORM: (1593..1642)\n OPEN_PAREN: (1593..1594) \"(\"\n SYMBOL: (1594..1597)\n IDENTIFIER: (1594..1597) \"and\"\n ATMOSPHERE: (1597..1598) \" \"\n FORM: (1598..1618)\n OPEN_PAREN: (1598..1599) \"(\"\n SYMBOL: (1599..1600)\n IDENTIFIER: (1599..1600) \">\"\n ATMOSPHERE: (1600..1601) \" \"\n SYMBOL: (1601..1609)\n IDENTIFIER: (1601..1609) \"bad-char\"\n ATMOSPHERE: (1609..1610) \" \"\n CONSTANT: (1610..1617)\n NUMBER: (1610..1617) \"1114111\"\n CLOSE_PAREN: (1617..1618) \")\"\n ATMOSPHERE: (1618..1619) \" \"\n FORM: (1619..1641)\n OPEN_PAREN: (1619..1620) \"(\"\n SYMBOL: (1620..1623)\n IDENTIFIER: (1620..1623) \"not\"\n ATMOSPHERE: (1623..1624) \" \"\n FORM: (1624..1640)\n OPEN_PAREN: (1624..1625) \"(\"\n SYMBOL: (1625..1630)\n IDENTIFIER: (1625..1630) \"char?\"\n ATMOSPHERE: (1630..1631) \" \"\n SYMBOL: (1631..1639)\n IDENTIFIER: (1631..1639) \"bad-char\"\n CLOSE_PAREN: (1639..1640) \")\"\n CLOSE_PAREN: (1640..1641) \")\"\n CLOSE_PAREN: (1641..1642) \")\"\n CLOSE_PAREN: (1642..1643) \")\"\n ATMOSPHERE: (1643..1652) \"\n \"\n CLOSE_PAREN: (1652..1653) \")\"\n ATMOSPHERE: (1653..1658) \"\n \"\n CLOSE_PAREN: (1658..1659) \")\"\n CLOSE_PAREN: (1659..1660) \")\"\n FORM: (1660..1669)\n OPEN_PAREN: (1660..1661) \"(\"\n SYMBOL: (1661..1668)\n IDENTIFIER: (1661..1668) \"newline\"\n CLOSE_PAREN: (1668..1669) \")\"\n ATMOSPHERE: (1669..1671) \"\n\n\"\n ATMOSPHERE: (1671..1695) \";; Character comparisons\"\n ATMOSPHERE: (1695..1696) \"\n\"\n FORM: (1696..3757)\n OPEN_PAREN: (1696..1697) \"(\"\n SYMBOL: (1697..1704)\n IDENTIFIER: (1697..1704) \"display\"\n ATMOSPHERE: (1704..1705) \" \"\n FORM: (1705..3756)\n OPEN_PAREN: (1705..1706) \"(\"\n SYMBOL: (1706..1715)\n IDENTIFIER: (1706..1715) \"boolean=?\"\n ATMOSPHERE: (1715..1720) \"\n \"\n CONSTANT: (1720..1722)\n BOOLEAN: (1720..1722) \"#t\"\n ATMOSPHERE: (1722..1732) \"\n \n \"\n FORM: (1732..1752)\n OPEN_PAREN: (1732..1733) \"(\"\n SYMBOL: (1733..1739)\n IDENTIFIER: (1733..1739) \"char=?\"\n ATMOSPHERE: (1739..1740) \" \"\n CONSTANT: (1740..1743)\n CHARACTER: (1740..1743) \"#\\a\"\n ATMOSPHERE: (1743..1744) \" \"\n CONSTANT: (1744..1747)\n CHARACTER: (1744..1747) \"#\\a\"\n ATMOSPHERE: (1747..1748) \" \"\n CONSTANT: (1748..1751)\n CHARACTER: (1748..1751) \"#\\a\"\n CLOSE_PAREN: (1751..1752) \")\"\n ATMOSPHERE: (1752..1757) \"\n \"\n FORM: (1757..1780)\n OPEN_PAREN: (1757..1758) \"(\"\n SYMBOL: (1758..1767)\n IDENTIFIER: (1758..1767) \"char-ci=?\"\n ATMOSPHERE: (1767..1768) \" \"\n CONSTANT: (1768..1771)\n CHARACTER: (1768..1771) \"#\\a\"\n ATMOSPHERE: (1771..1772) \" \"\n CONSTANT: (1772..1775)\n CHARACTER: (1772..1775) \"#\\a\"\n ATMOSPHERE: (1775..1776) \" \"\n CONSTANT: (1776..1779)\n CHARACTER: (1776..1779) \"#\\a\"\n CLOSE_PAREN: (1779..1780) \")\"\n ATMOSPHERE: (1780..1785) \"\n \"\n FORM: (1785..1805)\n OPEN_PAREN: (1785..1786) \"(\"\n SYMBOL: (1786..1792)\n IDENTIFIER: (1786..1792) \"char=?\"\n ATMOSPHERE: (1792..1793) \" \"\n CONSTANT: (1793..1796)\n CHARACTER: (1793..1796) \"#\\A\"\n ATMOSPHERE: (1796..1797) \" \"\n CONSTANT: (1797..1800)\n CHARACTER: (1797..1800) \"#\\A\"\n ATMOSPHERE: (1800..1801) \" \"\n CONSTANT: (1801..1804)\n CHARACTER: (1801..1804) \"#\\A\"\n CLOSE_PAREN: (1804..1805) \")\"\n ATMOSPHERE: (1805..1810) \"\n \"\n FORM: (1810..1833)\n OPEN_PAREN: (1810..1811) \"(\"\n SYMBOL: (1811..1820)\n IDENTIFIER: (1811..1820) \"char-ci=?\"\n ATMOSPHERE: (1820..1821) \" \"\n CONSTANT: (1821..1824)\n CHARACTER: (1821..1824) \"#\\A\"\n ATMOSPHERE: (1824..1825) \" \"\n CONSTANT: (1825..1828)\n CHARACTER: (1825..1828) \"#\\A\"\n ATMOSPHERE: (1828..1829) \" \"\n CONSTANT: (1829..1832)\n CHARACTER: (1829..1832) \"#\\A\"\n CLOSE_PAREN: (1832..1833) \")\"\n ATMOSPHERE: (1833..1838) \"\n \"\n FORM: (1838..1864)\n OPEN_PAREN: (1838..1839) \"(\"\n SYMBOL: (1839..1842)\n IDENTIFIER: (1839..1842) \"not\"\n ATMOSPHERE: (1842..1843) \" \"\n FORM: (1843..1863)\n OPEN_PAREN: (1843..1844) \"(\"\n SYMBOL: (1844..1850)\n IDENTIFIER: (1844..1850) \"char=?\"\n ATMOSPHERE: (1850..1851) \" \"\n CONSTANT: (1851..1854)\n CHARACTER: (1851..1854) \"#\\a\"\n ATMOSPHERE: (1854..1855) \" \"\n CONSTANT: (1855..1858)\n CHARACTER: (1855..1858) \"#\\A\"\n ATMOSPHERE: (1858..1859) \" \"\n CONSTANT: (1859..1862)\n CHARACTER: (1859..1862) \"#\\a\"\n CLOSE_PAREN: (1862..1863) \")\"\n CLOSE_PAREN: (1863..1864) \")\"\n ATMOSPHERE: (1864..1869) \"\n \"\n FORM: (1869..1892)\n OPEN_PAREN: (1869..1870) \"(\"\n SYMBOL: (1870..1879)\n IDENTIFIER: (1870..1879) \"char-ci=?\"\n ATMOSPHERE: (1879..1880) \" \"\n CONSTANT: (1880..1883)\n CHARACTER: (1880..1883) \"#\\a\"\n ATMOSPHERE: (1883..1884) \" \"\n CONSTANT: (1884..1887)\n CHARACTER: (1884..1887) \"#\\A\"\n ATMOSPHERE: (1887..1888) \" \"\n CONSTANT: (1888..1891)\n CHARACTER: (1888..1891) \"#\\a\"\n CLOSE_PAREN: (1891..1892) \")\"\n ATMOSPHERE: (1892..1897) \"\n \"\n FORM: (1897..1917)\n OPEN_PAREN: (1897..1898) \"(\"\n SYMBOL: (1898..1904)\n IDENTIFIER: (1898..1904) \"char=?\"\n ATMOSPHERE: (1904..1905) \" \"\n CONSTANT: (1905..1908)\n CHARACTER: (1905..1908) \"#\\λ\"\n ATMOSPHERE: (1908..1909) \" \"\n CONSTANT: (1909..1912)\n CHARACTER: (1909..1912) \"#\\λ\"\n ATMOSPHERE: (1912..1913) \" \"\n CONSTANT: (1913..1916)\n CHARACTER: (1913..1916) \"#\\λ\"\n CLOSE_PAREN: (1916..1917) \")\"\n ATMOSPHERE: (1917..1922) \"\n \"\n FORM: (1922..1945)\n OPEN_PAREN: (1922..1923) \"(\"\n SYMBOL: (1923..1932)\n IDENTIFIER: (1923..1932) \"char-ci=?\"\n ATMOSPHERE: (1932..1933) \" \"\n CONSTANT: (1933..1936)\n CHARACTER: (1933..1936) \"#\\λ\"\n ATMOSPHERE: (1936..1937) \" \"\n CONSTANT: (1937..1940)\n CHARACTER: (1937..1940) \"#\\λ\"\n ATMOSPHERE: (1940..1941) \" \"\n CONSTANT: (1941..1944)\n CHARACTER: (1941..1944) \"#\\λ\"\n CLOSE_PAREN: (1944..1945) \")\"\n ATMOSPHERE: (1945..1950) \"\n \"\n FORM: (1950..1978)\n OPEN_PAREN: (1950..1951) \"(\"\n SYMBOL: (1951..1957)\n IDENTIFIER: (1951..1957) \"char=?\"\n ATMOSPHERE: (1957..1958) \" \"\n CONSTANT: (1958..1961)\n CHARACTER: (1958..1961) \"#\\Λ\"\n ATMOSPHERE: (1961..1962) \" \"\n CONSTANT: (1962..1965)\n CHARACTER: (1962..1965) \"#\\Λ\"\n ATMOSPHERE: (1965..1966) \" \"\n CONSTANT: (1966..1969)\n CHARACTER: (1966..1969) \"#\\Λ\"\n ATMOSPHERE: (1969..1970) \" \"\n CONSTANT: (1970..1973)\n CHARACTER: (1970..1973) \"#\\Λ\"\n ATMOSPHERE: (1973..1974) \" \"\n CONSTANT: (1974..1977)\n CHARACTER: (1974..1977) \"#\\Λ\"\n CLOSE_PAREN: (1977..1978) \")\"\n ATMOSPHERE: (1978..1983) \"\n \"\n FORM: (1983..2014)\n OPEN_PAREN: (1983..1984) \"(\"\n SYMBOL: (1984..1993)\n IDENTIFIER: (1984..1993) \"char-ci=?\"\n ATMOSPHERE: (1993..1994) \" \"\n CONSTANT: (1994..1997)\n CHARACTER: (1994..1997) \"#\\Λ\"\n ATMOSPHERE: (1997..1998) \" \"\n CONSTANT: (1998..2001)\n CHARACTER: (1998..2001) \"#\\Λ\"\n ATMOSPHERE: (2001..2002) \" \"\n CONSTANT: (2002..2005)\n CHARACTER: (2002..2005) \"#\\Λ\"\n ATMOSPHERE: (2005..2006) \" \"\n CONSTANT: (2006..2009)\n CHARACTER: (2006..2009) \"#\\Λ\"\n ATMOSPHERE: (2009..2010) \" \"\n CONSTANT: (2010..2013)\n CHARACTER: (2010..2013) \"#\\Λ\"\n CLOSE_PAREN: (2013..2014) \")\"\n ATMOSPHERE: (2014..2019) \"\n \"\n FORM: (2019..2053)\n OPEN_PAREN: (2019..2020) \"(\"\n SYMBOL: (2020..2023)\n IDENTIFIER: (2020..2023) \"not\"\n ATMOSPHERE: (2023..2024) \" \"\n FORM: (2024..2052)\n OPEN_PAREN: (2024..2025) \"(\"\n SYMBOL: (2025..2031)\n IDENTIFIER: (2025..2031) \"char=?\"\n ATMOSPHERE: (2031..2032) \" \"\n CONSTANT: (2032..2035)\n CHARACTER: (2032..2035) \"#\\Λ\"\n ATMOSPHERE: (2035..2036) \" \"\n CONSTANT: (2036..2039)\n CHARACTER: (2036..2039) \"#\\λ\"\n ATMOSPHERE: (2039..2040) \" \"\n CONSTANT: (2040..2043)\n CHARACTER: (2040..2043) \"#\\Λ\"\n ATMOSPHERE: (2043..2044) \" \"\n CONSTANT: (2044..2047)\n CHARACTER: (2044..2047) \"#\\Λ\"\n ATMOSPHERE: (2047..2048) \" \"\n CONSTANT: (2048..2051)\n CHARACTER: (2048..2051) \"#\\Λ\"\n CLOSE_PAREN: (2051..2052) \")\"\n CLOSE_PAREN: (2052..2053) \")\"\n ATMOSPHERE: (2053..2058) \"\n \"\n FORM: (2058..2089)\n OPEN_PAREN: (2058..2059) \"(\"\n SYMBOL: (2059..2068)\n IDENTIFIER: (2059..2068) \"char-ci=?\"\n ATMOSPHERE: (2068..2069) \" \"\n CONSTANT: (2069..2072)\n CHARACTER: (2069..2072) \"#\\Λ\"\n ATMOSPHERE: (2072..2073) \" \"\n CONSTANT: (2073..2076)\n CHARACTER: (2073..2076) \"#\\λ\"\n ATMOSPHERE: (2076..2077) \" \"\n CONSTANT: (2077..2080)\n CHARACTER: (2077..2080) \"#\\Λ\"\n ATMOSPHERE: (2080..2081) \" \"\n CONSTANT: (2081..2084)\n CHARACTER: (2081..2084) \"#\\Λ\"\n ATMOSPHERE: (2084..2085) \" \"\n CONSTANT: (2085..2088)\n CHARACTER: (2085..2088) \"#\\Λ\"\n CLOSE_PAREN: (2088..2089) \")\"\n ATMOSPHERE: (2089..2094) \"\n \"\n FORM: (2094..2128)\n OPEN_PAREN: (2094..2095) \"(\"\n SYMBOL: (2095..2098)\n IDENTIFIER: (2095..2098) \"not\"\n ATMOSPHERE: (2098..2099) \" \"\n FORM: (2099..2127)\n OPEN_PAREN: (2099..2100) \"(\"\n SYMBOL: (2100..2106)\n IDENTIFIER: (2100..2106) \"char=?\"\n ATMOSPHERE: (2106..2107) \" \"\n CONSTANT: (2107..2110)\n CHARACTER: (2107..2110) \"#\\λ\"\n ATMOSPHERE: (2110..2111) \" \"\n CONSTANT: (2111..2114)\n CHARACTER: (2111..2114) \"#\\λ\"\n ATMOSPHERE: (2114..2115) \" \"\n CONSTANT: (2115..2118)\n CHARACTER: (2115..2118) \"#\\λ\"\n ATMOSPHERE: (2118..2119) \" \"\n CONSTANT: (2119..2126)\n CHARACTER: (2119..2126) \"#\\space\"\n CLOSE_PAREN: (2126..2127) \")\"\n CLOSE_PAREN: (2127..2128) \")\"\n ATMOSPHERE: (2128..2133) \"\n \"\n FORM: (2133..2170)\n OPEN_PAREN: (2133..2134) \"(\"\n SYMBOL: (2134..2137)\n IDENTIFIER: (2134..2137) \"not\"\n ATMOSPHERE: (2137..2138) \" \"\n FORM: (2138..2169)\n OPEN_PAREN: (2138..2139) \"(\"\n SYMBOL: (2139..2148)\n IDENTIFIER: (2139..2148) \"char-ci=?\"\n ATMOSPHERE: (2148..2149) \" \"\n CONSTANT: (2149..2152)\n CHARACTER: (2149..2152) \"#\\λ\"\n ATMOSPHERE: (2152..2153) \" \"\n CONSTANT: (2153..2156)\n CHARACTER: (2153..2156) \"#\\λ\"\n ATMOSPHERE: (2156..2157) \" \"\n CONSTANT: (2157..2160)\n CHARACTER: (2157..2160) \"#\\λ\"\n ATMOSPHERE: (2160..2161) \" \"\n CONSTANT: (2161..2168)\n CHARACTER: (2161..2168) \"#\\space\"\n CLOSE_PAREN: (2168..2169) \")\"\n CLOSE_PAREN: (2169..2170) \")\"\n ATMOSPHERE: (2170..2175) \"\n \"\n FORM: (2175..2197)\n OPEN_PAREN: (2175..2176) \"(\"\n SYMBOL: (2176..2179)\n IDENTIFIER: (2176..2179) \"not\"\n ATMOSPHERE: (2179..2180) \" \"\n FORM: (2180..2196)\n OPEN_PAREN: (2180..2181) \"(\"\n SYMBOL: (2181..2187)\n IDENTIFIER: (2181..2187) \"char=?\"\n ATMOSPHERE: (2187..2188) \" \"\n CONSTANT: (2188..2191)\n CHARACTER: (2188..2191) \"#\\a\"\n ATMOSPHERE: (2191..2192) \" \"\n CONSTANT: (2192..2195)\n CHARACTER: (2192..2195) \"#\\λ\"\n CLOSE_PAREN: (2195..2196) \")\"\n CLOSE_PAREN: (2196..2197) \")\"\n ATMOSPHERE: (2197..2202) \"\n \"\n FORM: (2202..2227)\n OPEN_PAREN: (2202..2203) \"(\"\n SYMBOL: (2203..2206)\n IDENTIFIER: (2203..2206) \"not\"\n ATMOSPHERE: (2206..2207) \" \"\n FORM: (2207..2226)\n OPEN_PAREN: (2207..2208) \"(\"\n SYMBOL: (2208..2217)\n IDENTIFIER: (2208..2217) \"char-ci=?\"\n ATMOSPHERE: (2217..2218) \" \"\n CONSTANT: (2218..2221)\n CHARACTER: (2218..2221) \"#\\a\"\n ATMOSPHERE: (2221..2222) \" \"\n CONSTANT: (2222..2225)\n CHARACTER: (2222..2225) \"#\\λ\"\n CLOSE_PAREN: (2225..2226) \")\"\n CLOSE_PAREN: (2226..2227) \")\"\n ATMOSPHERE: (2227..2233) \"\n\n \"\n FORM: (2233..2257)\n OPEN_PAREN: (2233..2234) \"(\"\n SYMBOL: (2234..2240)\n IDENTIFIER: (2234..2240) \"char?\"\n ATMOSPHERE: (3006..3007) \" \"\n CONSTANT: (3007..3010)\n CHARACTER: (3007..3010) \"#\\a\"\n ATMOSPHERE: (3010..3011) \" \"\n CONSTANT: (3011..3014)\n CHARACTER: (3011..3014) \"#\\b\"\n ATMOSPHERE: (3014..3015) \" \"\n CONSTANT: (3015..3018)\n CHARACTER: (3015..3018) \"#\\c\"\n ATMOSPHERE: (3018..3019) \" \"\n CONSTANT: (3019..3022)\n CHARACTER: (3019..3022) \"#\\d\"\n CLOSE_PAREN: (3022..3023) \")\"\n CLOSE_PAREN: (3023..3024) \")\"\n ATMOSPHERE: (3024..3029) \"\n \"\n FORM: (3029..3062)\n OPEN_PAREN: (3029..3030) \"(\"\n SYMBOL: (3030..3033)\n IDENTIFIER: (3030..3033) \"not\"\n ATMOSPHERE: (3033..3034) \" \"\n FORM: (3034..3061)\n OPEN_PAREN: (3034..3035) \"(\"\n SYMBOL: (3035..3044)\n IDENTIFIER: (3035..3044) \"char-ci>?\"\n ATMOSPHERE: (3044..3045) \" \"\n CONSTANT: (3045..3048)\n CHARACTER: (3045..3048) \"#\\a\"\n ATMOSPHERE: (3048..3049) \" \"\n CONSTANT: (3049..3052)\n CHARACTER: (3049..3052) \"#\\b\"\n ATMOSPHERE: (3052..3053) \" \"\n CONSTANT: (3053..3056)\n CHARACTER: (3053..3056) \"#\\c\"\n ATMOSPHERE: (3056..3057) \" \"\n CONSTANT: (3057..3060)\n CHARACTER: (3057..3060) \"#\\d\"\n CLOSE_PAREN: (3060..3061) \")\"\n CLOSE_PAREN: (3061..3062) \")\"\n ATMOSPHERE: (3062..3067) \"\n \"\n FORM: (3067..3097)\n OPEN_PAREN: (3067..3068) \"(\"\n SYMBOL: (3068..3071)\n IDENTIFIER: (3068..3071) \"not\"\n ATMOSPHERE: (3071..3072) \" \"\n FORM: (3072..3096)\n OPEN_PAREN: (3072..3073) \"(\"\n SYMBOL: (3073..3079)\n IDENTIFIER: (3073..3079) \"char>?\"\n ATMOSPHERE: (3079..3080) \" \"\n CONSTANT: (3080..3083)\n CHARACTER: (3080..3083) \"#\\A\"\n ATMOSPHERE: (3083..3084) \" \"\n CONSTANT: (3084..3087)\n CHARACTER: (3084..3087) \"#\\b\"\n ATMOSPHERE: (3087..3088) \" \"\n CONSTANT: (3088..3091)\n CHARACTER: (3088..3091) \"#\\c\"\n ATMOSPHERE: (3091..3092) \" \"\n CONSTANT: (3092..3095)\n CHARACTER: (3092..3095) \"#\\D\"\n CLOSE_PAREN: (3095..3096) \")\"\n CLOSE_PAREN: (3096..3097) \")\"\n ATMOSPHERE: (3097..3102) \"\n \"\n FORM: (3102..3135)\n OPEN_PAREN: (3102..3103) \"(\"\n SYMBOL: (3103..3106)\n IDENTIFIER: (3103..3106) \"not\"\n ATMOSPHERE: (3106..3107) \" \"\n FORM: (3107..3134)\n OPEN_PAREN: (3107..3108) \"(\"\n SYMBOL: (3108..3117)\n IDENTIFIER: (3108..3117) \"char-ci>?\"\n ATMOSPHERE: (3117..3118) \" \"\n CONSTANT: (3118..3121)\n CHARACTER: (3118..3121) \"#\\A\"\n ATMOSPHERE: (3121..3122) \" \"\n CONSTANT: (3122..3125)\n CHARACTER: (3122..3125) \"#\\b\"\n ATMOSPHERE: (3125..3126) \" \"\n CONSTANT: (3126..3129)\n CHARACTER: (3126..3129) \"#\\c\"\n ATMOSPHERE: (3129..3130) \" \"\n CONSTANT: (3130..3133)\n CHARACTER: (3130..3133) \"#\\D\"\n CLOSE_PAREN: (3133..3134) \")\"\n CLOSE_PAREN: (3134..3135) \")\"\n ATMOSPHERE: (3135..3140) \"\n \"\n FORM: (3140..3164)\n OPEN_PAREN: (3140..3141) \"(\"\n SYMBOL: (3141..3147)\n IDENTIFIER: (3141..3147) \"char>?\"\n ATMOSPHERE: (3147..3148) \" \"\n CONSTANT: (3148..3151)\n CHARACTER: (3148..3151) \"#\\d\"\n ATMOSPHERE: (3151..3152) \" \"\n CONSTANT: (3152..3155)\n CHARACTER: (3152..3155) \"#\\c\"\n ATMOSPHERE: (3155..3156) \" \"\n CONSTANT: (3156..3159)\n CHARACTER: (3156..3159) \"#\\b\"\n ATMOSPHERE: (3159..3160) \" \"\n CONSTANT: (3160..3163)\n CHARACTER: (3160..3163) \"#\\a\"\n CLOSE_PAREN: (3163..3164) \")\"\n ATMOSPHERE: (3164..3169) \"\n \"\n FORM: (3169..3196)\n OPEN_PAREN: (3169..3170) \"(\"\n SYMBOL: (3170..3179)\n IDENTIFIER: (3170..3179) \"char-ci>?\"\n ATMOSPHERE: (3179..3180) \" \"\n CONSTANT: (3180..3183)\n CHARACTER: (3180..3183) \"#\\d\"\n ATMOSPHERE: (3183..3184) \" \"\n CONSTANT: (3184..3187)\n CHARACTER: (3184..3187) \"#\\c\"\n ATMOSPHERE: (3187..3188) \" \"\n CONSTANT: (3188..3191)\n CHARACTER: (3188..3191) \"#\\b\"\n ATMOSPHERE: (3191..3192) \" \"\n CONSTANT: (3192..3195)\n CHARACTER: (3192..3195) \"#\\a\"\n CLOSE_PAREN: (3195..3196) \")\"\n ATMOSPHERE: (3196..3201) \"\n \"\n FORM: (3201..3231)\n OPEN_PAREN: (3201..3202) \"(\"\n SYMBOL: (3202..3205)\n IDENTIFIER: (3202..3205) \"not\"\n ATMOSPHERE: (3205..3206) \" \"\n FORM: (3206..3230)\n OPEN_PAREN: (3206..3207) \"(\"\n SYMBOL: (3207..3213)\n IDENTIFIER: (3207..3213) \"char>?\"\n ATMOSPHERE: (3213..3214) \" \"\n CONSTANT: (3214..3217)\n CHARACTER: (3214..3217) \"#\\D\"\n ATMOSPHERE: (3217..3218) \" \"\n CONSTANT: (3218..3221)\n CHARACTER: (3218..3221) \"#\\c\"\n ATMOSPHERE: (3221..3222) \" \"\n CONSTANT: (3222..3225)\n CHARACTER: (3222..3225) \"#\\b\"\n ATMOSPHERE: (3225..3226) \" \"\n CONSTANT: (3226..3229)\n CHARACTER: (3226..3229) \"#\\A\"\n CLOSE_PAREN: (3229..3230) \")\"\n CLOSE_PAREN: (3230..3231) \")\"\n ATMOSPHERE: (3231..3236) \"\n \"\n FORM: (3236..3263)\n OPEN_PAREN: (3236..3237) \"(\"\n SYMBOL: (3237..3246)\n IDENTIFIER: (3237..3246) \"char-ci>?\"\n ATMOSPHERE: (3246..3247) \" \"\n CONSTANT: (3247..3250)\n CHARACTER: (3247..3250) \"#\\D\"\n ATMOSPHERE: (3250..3251) \" \"\n CONSTANT: (3251..3254)\n CHARACTER: (3251..3254) \"#\\c\"\n ATMOSPHERE: (3254..3255) \" \"\n CONSTANT: (3255..3258)\n CHARACTER: (3255..3258) \"#\\b\"\n ATMOSPHERE: (3258..3259) \" \"\n CONSTANT: (3259..3262)\n CHARACTER: (3259..3262) \"#\\A\"\n CLOSE_PAREN: (3262..3263) \")\"\n ATMOSPHERE: (3263..3269) \"\n\n \"\n FORM: (3269..3300)\n OPEN_PAREN: (3269..3270) \"(\"\n SYMBOL: (3270..3273)\n IDENTIFIER: (3270..3273) \"not\"\n ATMOSPHERE: (3273..3274) \" \"\n FORM: (3274..3299)\n OPEN_PAREN: (3274..3275) \"(\"\n SYMBOL: (3275..3282)\n IDENTIFIER: (3275..3282) \"char>=?\"\n ATMOSPHERE: (3282..3283) \" \"\n CONSTANT: (3283..3286)\n CHARACTER: (3283..3286) \"#\\a\"\n ATMOSPHERE: (3286..3287) \" \"\n CONSTANT: (3287..3290)\n CHARACTER: (3287..3290) \"#\\b\"\n ATMOSPHERE: (3290..3291) \" \"\n CONSTANT: (3291..3294)\n CHARACTER: (3291..3294) \"#\\c\"\n ATMOSPHERE: (3294..3295) \" \"\n CONSTANT: (3295..3298)\n CHARACTER: (3295..3298) \"#\\d\"\n CLOSE_PAREN: (3298..3299) \")\"\n CLOSE_PAREN: (3299..3300) \")\"\n ATMOSPHERE: (3300..3305) \"\n \"\n FORM: (3305..3339)\n OPEN_PAREN: (3305..3306) \"(\"\n SYMBOL: (3306..3309)\n IDENTIFIER: (3306..3309) \"not\"\n ATMOSPHERE: (3309..3310) \" \"\n FORM: (3310..3338)\n OPEN_PAREN: (3310..3311) \"(\"\n SYMBOL: (3311..3321)\n IDENTIFIER: (3311..3321) \"char-ci>=?\"\n ATMOSPHERE: (3321..3322) \" \"\n CONSTANT: (3322..3325)\n CHARACTER: (3322..3325) \"#\\a\"\n ATMOSPHERE: (3325..3326) \" \"\n CONSTANT: (3326..3329)\n CHARACTER: (3326..3329) \"#\\b\"\n ATMOSPHERE: (3329..3330) \" \"\n CONSTANT: (3330..3333)\n CHARACTER: (3330..3333) \"#\\c\"\n ATMOSPHERE: (3333..3334) \" \"\n CONSTANT: (3334..3337)\n CHARACTER: (3334..3337) \"#\\d\"\n CLOSE_PAREN: (3337..3338) \")\"\n CLOSE_PAREN: (3338..3339) \")\"\n ATMOSPHERE: (3339..3344) \"\n \"\n FORM: (3344..3375)\n OPEN_PAREN: (3344..3345) \"(\"\n SYMBOL: (3345..3348)\n IDENTIFIER: (3345..3348) \"not\"\n ATMOSPHERE: (3348..3349) \" \"\n FORM: (3349..3374)\n OPEN_PAREN: (3349..3350) \"(\"\n SYMBOL: (3350..3357)\n IDENTIFIER: (3350..3357) \"char>=?\"\n ATMOSPHERE: (3357..3358) \" \"\n CONSTANT: (3358..3361)\n CHARACTER: (3358..3361) \"#\\A\"\n ATMOSPHERE: (3361..3362) \" \"\n CONSTANT: (3362..3365)\n CHARACTER: (3362..3365) \"#\\b\"\n ATMOSPHERE: (3365..3366) \" \"\n CONSTANT: (3366..3369)\n CHARACTER: (3366..3369) \"#\\c\"\n ATMOSPHERE: (3369..3370) \" \"\n CONSTANT: (3370..3373)\n CHARACTER: (3370..3373) \"#\\D\"\n CLOSE_PAREN: (3373..3374) \")\"\n CLOSE_PAREN: (3374..3375) \")\"\n ATMOSPHERE: (3375..3380) \"\n \"\n FORM: (3380..3414)\n OPEN_PAREN: (3380..3381) \"(\"\n SYMBOL: (3381..3384)\n IDENTIFIER: (3381..3384) \"not\"\n ATMOSPHERE: (3384..3385) \" \"\n FORM: (3385..3413)\n OPEN_PAREN: (3385..3386) \"(\"\n SYMBOL: (3386..3396)\n IDENTIFIER: (3386..3396) \"char-ci>=?\"\n ATMOSPHERE: (3396..3397) \" \"\n CONSTANT: (3397..3400)\n CHARACTER: (3397..3400) \"#\\A\"\n ATMOSPHERE: (3400..3401) \" \"\n CONSTANT: (3401..3404)\n CHARACTER: (3401..3404) \"#\\b\"\n ATMOSPHERE: (3404..3405) \" \"\n CONSTANT: (3405..3408)\n CHARACTER: (3405..3408) \"#\\c\"\n ATMOSPHERE: (3408..3409) \" \"\n CONSTANT: (3409..3412)\n CHARACTER: (3409..3412) \"#\\D\"\n CLOSE_PAREN: (3412..3413) \")\"\n CLOSE_PAREN: (3413..3414) \")\"\n ATMOSPHERE: (3414..3419) \"\n \"\n FORM: (3419..3444)\n OPEN_PAREN: (3419..3420) \"(\"\n SYMBOL: (3420..3427)\n IDENTIFIER: (3420..3427) \"char>=?\"\n ATMOSPHERE: (3427..3428) \" \"\n CONSTANT: (3428..3431)\n CHARACTER: (3428..3431) \"#\\d\"\n ATMOSPHERE: (3431..3432) \" \"\n CONSTANT: (3432..3435)\n CHARACTER: (3432..3435) \"#\\c\"\n ATMOSPHERE: (3435..3436) \" \"\n CONSTANT: (3436..3439)\n CHARACTER: (3436..3439) \"#\\b\"\n ATMOSPHERE: (3439..3440) \" \"\n CONSTANT: (3440..3443)\n CHARACTER: (3440..3443) \"#\\a\"\n CLOSE_PAREN: (3443..3444) \")\"\n ATMOSPHERE: (3444..3449) \"\n \"\n FORM: (3449..3477)\n OPEN_PAREN: (3449..3450) \"(\"\n SYMBOL: (3450..3460)\n IDENTIFIER: (3450..3460) \"char-ci>=?\"\n ATMOSPHERE: (3460..3461) \" \"\n CONSTANT: (3461..3464)\n CHARACTER: (3461..3464) \"#\\d\"\n ATMOSPHERE: (3464..3465) \" \"\n CONSTANT: (3465..3468)\n CHARACTER: (3465..3468) \"#\\c\"\n ATMOSPHERE: (3468..3469) \" \"\n CONSTANT: (3469..3472)\n CHARACTER: (3469..3472) \"#\\b\"\n ATMOSPHERE: (3472..3473) \" \"\n CONSTANT: (3473..3476)\n CHARACTER: (3473..3476) \"#\\a\"\n CLOSE_PAREN: (3476..3477) \")\"\n ATMOSPHERE: (3477..3482) \"\n \"\n FORM: (3482..3513)\n OPEN_PAREN: (3482..3483) \"(\"\n SYMBOL: (3483..3486)\n IDENTIFIER: (3483..3486) \"not\"\n ATMOSPHERE: (3486..3487) \" \"\n FORM: (3487..3512)\n OPEN_PAREN: (3487..3488) \"(\"\n SYMBOL: (3488..3495)\n IDENTIFIER: (3488..3495) \"char>=?\"\n ATMOSPHERE: (3495..3496) \" \"\n CONSTANT: (3496..3499)\n CHARACTER: (3496..3499) \"#\\D\"\n ATMOSPHERE: (3499..3500) \" \"\n CONSTANT: (3500..3503)\n CHARACTER: (3500..3503) \"#\\c\"\n ATMOSPHERE: (3503..3504) \" \"\n CONSTANT: (3504..3507)\n CHARACTER: (3504..3507) \"#\\b\"\n ATMOSPHERE: (3507..3508) \" \"\n CONSTANT: (3508..3511)\n CHARACTER: (3508..3511) \"#\\A\"\n CLOSE_PAREN: (3511..3512) \")\"\n CLOSE_PAREN: (3512..3513) \")\"\n ATMOSPHERE: (3513..3518) \"\n \"\n FORM: (3518..3546)\n OPEN_PAREN: (3518..3519) \"(\"\n SYMBOL: (3519..3529)\n IDENTIFIER: (3519..3529) \"char-ci>=?\"\n ATMOSPHERE: (3529..3530) \" \"\n CONSTANT: (3530..3533)\n CHARACTER: (3530..3533) \"#\\D\"\n ATMOSPHERE: (3533..3534) \" \"\n CONSTANT: (3534..3537)\n CHARACTER: (3534..3537) \"#\\c\"\n ATMOSPHERE: (3537..3538) \" \"\n CONSTANT: (3538..3541)\n CHARACTER: (3538..3541) \"#\\b\"\n ATMOSPHERE: (3541..3542) \" \"\n CONSTANT: (3542..3545)\n CHARACTER: (3542..3545) \"#\\A\"\n CLOSE_PAREN: (3545..3546) \")\"\n ATMOSPHERE: (3546..3551) \"\n \"\n FORM: (3551..3572)\n OPEN_PAREN: (3551..3552) \"(\"\n SYMBOL: (3552..3559)\n IDENTIFIER: (3552..3559) \"char>=?\"\n ATMOSPHERE: (3559..3560) \" \"\n CONSTANT: (3560..3563)\n CHARACTER: (3560..3563) \"#\\λ\"\n ATMOSPHERE: (3563..3564) \" \"\n CONSTANT: (3564..3567)\n CHARACTER: (3564..3567) \"#\\λ\"\n ATMOSPHERE: (3567..3568) \" \"\n CONSTANT: (3568..3571)\n CHARACTER: (3568..3571) \"#\\λ\"\n CLOSE_PAREN: (3571..3572) \")\"\n ATMOSPHERE: (3572..3577) \"\n \"\n FORM: (3577..3601)\n OPEN_PAREN: (3577..3578) \"(\"\n SYMBOL: (3578..3588)\n IDENTIFIER: (3578..3588) \"char-ci>=?\"\n ATMOSPHERE: (3588..3589) \" \"\n CONSTANT: (3589..3592)\n CHARACTER: (3589..3592) \"#\\λ\"\n ATMOSPHERE: (3592..3593) \" \"\n CONSTANT: (3593..3596)\n CHARACTER: (3593..3596) \"#\\λ\"\n ATMOSPHERE: (3596..3597) \" \"\n CONSTANT: (3597..3600)\n CHARACTER: (3597..3600) \"#\\λ\"\n CLOSE_PAREN: (3600..3601) \")\"\n ATMOSPHERE: (3601..3606) \"\n \"\n FORM: (3606..3635)\n OPEN_PAREN: (3606..3607) \"(\"\n SYMBOL: (3607..3614)\n IDENTIFIER: (3607..3614) \"char>=?\"\n ATMOSPHERE: (3614..3615) \" \"\n CONSTANT: (3615..3618)\n CHARACTER: (3615..3618) \"#\\Λ\"\n ATMOSPHERE: (3618..3619) \" \"\n CONSTANT: (3619..3622)\n CHARACTER: (3619..3622) \"#\\Λ\"\n ATMOSPHERE: (3622..3623) \" \"\n CONSTANT: (3623..3626)\n CHARACTER: (3623..3626) \"#\\Λ\"\n ATMOSPHERE: (3626..3627) \" \"\n CONSTANT: (3627..3630)\n CHARACTER: (3627..3630) \"#\\Λ\"\n ATMOSPHERE: (3630..3631) \" \"\n CONSTANT: (3631..3634)\n CHARACTER: (3631..3634) \"#\\Λ\"\n CLOSE_PAREN: (3634..3635) \")\"\n ATMOSPHERE: (3635..3640) \"\n \"\n FORM: (3640..3672)\n OPEN_PAREN: (3640..3641) \"(\"\n SYMBOL: (3641..3651)\n IDENTIFIER: (3641..3651) \"char-ci>=?\"\n ATMOSPHERE: (3651..3652) \" \"\n CONSTANT: (3652..3655)\n CHARACTER: (3652..3655) \"#\\Λ\"\n ATMOSPHERE: (3655..3656) \" \"\n CONSTANT: (3656..3659)\n CHARACTER: (3656..3659) \"#\\Λ\"\n ATMOSPHERE: (3659..3660) \" \"\n CONSTANT: (3660..3663)\n CHARACTER: (3660..3663) \"#\\Λ\"\n ATMOSPHERE: (3663..3664) \" \"\n CONSTANT: (3664..3667)\n CHARACTER: (3664..3667) \"#\\Λ\"\n ATMOSPHERE: (3667..3668) \" \"\n CONSTANT: (3668..3671)\n CHARACTER: (3668..3671) \"#\\Λ\"\n CLOSE_PAREN: (3671..3672) \")\"\n ATMOSPHERE: (3672..3677) \"\n \"\n FORM: (3677..3712)\n OPEN_PAREN: (3677..3678) \"(\"\n SYMBOL: (3678..3681)\n IDENTIFIER: (3678..3681) \"not\"\n ATMOSPHERE: (3681..3682) \" \"\n FORM: (3682..3711)\n OPEN_PAREN: (3682..3683) \"(\"\n SYMBOL: (3683..3690)\n IDENTIFIER: (3683..3690) \"char>=?\"\n ATMOSPHERE: (3690..3691) \" \"\n CONSTANT: (3691..3694)\n CHARACTER: (3691..3694) \"#\\Λ\"\n ATMOSPHERE: (3694..3695) \" \"\n CONSTANT: (3695..3698)\n CHARACTER: (3695..3698) \"#\\λ\"\n ATMOSPHERE: (3698..3699) \" \"\n CONSTANT: (3699..3702)\n CHARACTER: (3699..3702) \"#\\Λ\"\n ATMOSPHERE: (3702..3703) \" \"\n CONSTANT: (3703..3706)\n CHARACTER: (3703..3706) \"#\\Λ\"\n ATMOSPHERE: (3706..3707) \" \"\n CONSTANT: (3707..3710)\n CHARACTER: (3707..3710) \"#\\Λ\"\n CLOSE_PAREN: (3710..3711) \")\"\n CLOSE_PAREN: (3711..3712) \")\"\n ATMOSPHERE: (3712..3717) \"\n \"\n FORM: (3717..3749)\n OPEN_PAREN: (3717..3718) \"(\"\n SYMBOL: (3718..3728)\n IDENTIFIER: (3718..3728) \"char-ci>=?\"\n ATMOSPHERE: (3728..3729) \" \"\n CONSTANT: (3729..3732)\n CHARACTER: (3729..3732) \"#\\Λ\"\n ATMOSPHERE: (3732..3733) \" \"\n CONSTANT: (3733..3736)\n CHARACTER: (3733..3736) \"#\\λ\"\n ATMOSPHERE: (3736..3737) \" \"\n CONSTANT: (3737..3740)\n CHARACTER: (3737..3740) \"#\\Λ\"\n ATMOSPHERE: (3740..3741) \" \"\n CONSTANT: (3741..3744)\n CHARACTER: (3741..3744) \"#\\Λ\"\n ATMOSPHERE: (3744..3745) \" \"\n CONSTANT: (3745..3748)\n CHARACTER: (3745..3748) \"#\\Λ\"\n CLOSE_PAREN: (3748..3749) \")\"\n ATMOSPHERE: (3749..3755) \"\n\n \"\n CLOSE_PAREN: (3755..3756) \")\"\n CLOSE_PAREN: (3756..3757) \")\"\n FORM: (3757..3766)\n OPEN_PAREN: (3757..3758) \"(\"\n SYMBOL: (3758..3765)\n IDENTIFIER: (3758..3765) \"newline\"\n CLOSE_PAREN: (3765..3766) \")\"\n ATMOSPHERE: (3766..3768) \"\n\n\"\n ATMOSPHERE: (3768..3797) \";; Character class predicates\"\n ATMOSPHERE: (3797..3798) \"\n\"\n FORM: (3798..4869)\n OPEN_PAREN: (3798..3799) \"(\"\n SYMBOL: (3799..3806)\n IDENTIFIER: (3799..3806) \"display\"\n ATMOSPHERE: (3806..3807) \" \"\n FORM: (3807..4868)\n OPEN_PAREN: (3807..3808) \"(\"\n SYMBOL: (3808..3817)\n IDENTIFIER: (3808..3817) \"boolean=?\"\n ATMOSPHERE: (3817..3822) \"\n \"\n CONSTANT: (3822..3824)\n BOOLEAN: (3822..3824) \"#t\"\n ATMOSPHERE: (3824..3830) \"\n\n \"\n FORM: (3830..3852)\n OPEN_PAREN: (3830..3831) \"(\"\n SYMBOL: (3831..3847)\n IDENTIFIER: (3831..3847) \"char-alphabetic?\"\n ATMOSPHERE: (3847..3848) \" \"\n CONSTANT: (3848..3851)\n CHARACTER: (3848..3851) \"#\\a\"\n CLOSE_PAREN: (3851..3852) \")\"\n ATMOSPHERE: (3852..3857) \"\n \"\n FORM: (3857..3885)\n OPEN_PAREN: (3857..3858) \"(\"\n SYMBOL: (3858..3861)\n IDENTIFIER: (3858..3861) \"not\"\n ATMOSPHERE: (3861..3862) \" \"\n FORM: (3862..3884)\n OPEN_PAREN: (3862..3863) \"(\"\n SYMBOL: (3863..3879)\n IDENTIFIER: (3863..3879) \"char-alphabetic?\"\n ATMOSPHERE: (3879..3880) \" \"\n CONSTANT: (3880..3883)\n CHARACTER: (3880..3883) \"#\\५\"\n CLOSE_PAREN: (3883..3884) \")\"\n CLOSE_PAREN: (3884..3885) \")\"\n ATMOSPHERE: (3885..3890) \"\n \"\n FORM: (3890..3912)\n OPEN_PAREN: (3890..3891) \"(\"\n SYMBOL: (3891..3907)\n IDENTIFIER: (3891..3907) \"char-alphabetic?\"\n ATMOSPHERE: (3907..3908) \" \"\n CONSTANT: (3908..3911)\n CHARACTER: (3908..3911) \"#\\λ\"\n CLOSE_PAREN: (3911..3912) \")\"\n ATMOSPHERE: (3912..3917) \"\n \"\n FORM: (3917..3948)\n OPEN_PAREN: (3917..3918) \"(\"\n SYMBOL: (3918..3921)\n IDENTIFIER: (3918..3921) \"not\"\n ATMOSPHERE: (3921..3922) \" \"\n FORM: (3922..3947)\n OPEN_PAREN: (3922..3923) \"(\"\n SYMBOL: (3923..3939)\n IDENTIFIER: (3923..3939) \"char-alphabetic?\"\n ATMOSPHERE: (3939..3940) \" \"\n CONSTANT: (3940..3946)\n CHARACTER: (3940..3946) \"#\\null\"\n CLOSE_PAREN: (3946..3947) \")\"\n CLOSE_PAREN: (3947..3948) \")\"\n ATMOSPHERE: (3948..3953) \"\n \"\n FORM: (3953..3985)\n OPEN_PAREN: (3953..3954) \"(\"\n SYMBOL: (3954..3957)\n IDENTIFIER: (3954..3957) \"not\"\n ATMOSPHERE: (3957..3958) \" \"\n FORM: (3958..3984)\n OPEN_PAREN: (3958..3959) \"(\"\n SYMBOL: (3959..3975)\n IDENTIFIER: (3959..3975) \"char-alphabetic?\"\n ATMOSPHERE: (3975..3976) \" \"\n CONSTANT: (3976..3983)\n CHARACTER: (3976..3983) \"#\\space\"\n CLOSE_PAREN: (3983..3984) \")\"\n CLOSE_PAREN: (3984..3985) \")\"\n ATMOSPHERE: (3985..3991) \"\n\n \"\n FORM: (3991..4016)\n OPEN_PAREN: (3991..3992) \"(\"\n SYMBOL: (3992..3995)\n IDENTIFIER: (3992..3995) \"not\"\n ATMOSPHERE: (3995..3996) \" \"\n FORM: (3996..4015)\n OPEN_PAREN: (3996..3997) \"(\"\n SYMBOL: (3997..4010)\n IDENTIFIER: (3997..4010) \"char-numeric?\"\n ATMOSPHERE: (4010..4011) \" \"\n CONSTANT: (4011..4014)\n CHARACTER: (4011..4014) \"#\\a\"\n CLOSE_PAREN: (4014..4015) \")\"\n CLOSE_PAREN: (4015..4016) \")\"\n ATMOSPHERE: (4016..4021) \"\n \"\n FORM: (4021..4040)\n OPEN_PAREN: (4021..4022) \"(\"\n SYMBOL: (4022..4035)\n IDENTIFIER: (4022..4035) \"char-numeric?\"\n ATMOSPHERE: (4035..4036) \" \"\n CONSTANT: (4036..4039)\n CHARACTER: (4036..4039) \"#\\५\"\n CLOSE_PAREN: (4039..4040) \")\"\n ATMOSPHERE: (4040..4045) \"\n \"\n FORM: (4045..4070)\n OPEN_PAREN: (4045..4046) \"(\"\n SYMBOL: (4046..4049)\n IDENTIFIER: (4046..4049) \"not\"\n ATMOSPHERE: (4049..4050) \" \"\n FORM: (4050..4069)\n OPEN_PAREN: (4050..4051) \"(\"\n SYMBOL: (4051..4064)\n IDENTIFIER: (4051..4064) \"char-numeric?\"\n ATMOSPHERE: (4064..4065) \" \"\n CONSTANT: (4065..4068)\n CHARACTER: (4065..4068) \"#\\λ\"\n CLOSE_PAREN: (4068..4069) \")\"\n CLOSE_PAREN: (4069..4070) \")\"\n ATMOSPHERE: (4070..4075) \"\n \"\n FORM: (4075..4103)\n OPEN_PAREN: (4075..4076) \"(\"\n SYMBOL: (4076..4079)\n IDENTIFIER: (4076..4079) \"not\"\n ATMOSPHERE: (4079..4080) \" \"\n FORM: (4080..4102)\n OPEN_PAREN: (4080..4081) \"(\"\n SYMBOL: (4081..4094)\n IDENTIFIER: (4081..4094) \"char-numeric?\"\n ATMOSPHERE: (4094..4095) \" \"\n CONSTANT: (4095..4101)\n CHARACTER: (4095..4101) \"#\\null\"\n CLOSE_PAREN: (4101..4102) \")\"\n CLOSE_PAREN: (4102..4103) \")\"\n ATMOSPHERE: (4103..4108) \"\n \"\n FORM: (4108..4137)\n OPEN_PAREN: (4108..4109) \"(\"\n SYMBOL: (4109..4112)\n IDENTIFIER: (4109..4112) \"not\"\n ATMOSPHERE: (4112..4113) \" \"\n FORM: (4113..4136)\n OPEN_PAREN: (4113..4114) \"(\"\n SYMBOL: (4114..4127)\n IDENTIFIER: (4114..4127) \"char-numeric?\"\n ATMOSPHERE: (4127..4128) \" \"\n CONSTANT: (4128..4135)\n CHARACTER: (4128..4135) \"#\\space\"\n CLOSE_PAREN: (4135..4136) \")\"\n CLOSE_PAREN: (4136..4137) \")\"\n ATMOSPHERE: (4137..4143) \"\n\n \"\n FORM: (4143..4171)\n OPEN_PAREN: (4143..4144) \"(\"\n SYMBOL: (4144..4147)\n IDENTIFIER: (4144..4147) \"not\"\n ATMOSPHERE: (4147..4148) \" \"\n FORM: (4148..4170)\n OPEN_PAREN: (4148..4149) \"(\"\n SYMBOL: (4149..4165)\n IDENTIFIER: (4149..4165) \"char-whitespace?\"\n ATMOSPHERE: (4165..4166) \" \"\n CONSTANT: (4166..4169)\n CHARACTER: (4166..4169) \"#\\a\"\n CLOSE_PAREN: (4169..4170) \")\"\n CLOSE_PAREN: (4170..4171) \")\"\n ATMOSPHERE: (4171..4176) \"\n \"\n FORM: (4176..4204)\n OPEN_PAREN: (4176..4177) \"(\"\n SYMBOL: (4177..4180)\n IDENTIFIER: (4177..4180) \"not\"\n ATMOSPHERE: (4180..4181) \" \"\n FORM: (4181..4203)\n OPEN_PAREN: (4181..4182) \"(\"\n SYMBOL: (4182..4198)\n IDENTIFIER: (4182..4198) \"char-whitespace?\"\n ATMOSPHERE: (4198..4199) \" \"\n CONSTANT: (4199..4202)\n CHARACTER: (4199..4202) \"#\\५\"\n CLOSE_PAREN: (4202..4203) \")\"\n CLOSE_PAREN: (4203..4204) \")\"\n ATMOSPHERE: (4204..4209) \"\n \"\n FORM: (4209..4237)\n OPEN_PAREN: (4209..4210) \"(\"\n SYMBOL: (4210..4213)\n IDENTIFIER: (4210..4213) \"not\"\n ATMOSPHERE: (4213..4214) \" \"\n FORM: (4214..4236)\n OPEN_PAREN: (4214..4215) \"(\"\n SYMBOL: (4215..4231)\n IDENTIFIER: (4215..4231) \"char-whitespace?\"\n ATMOSPHERE: (4231..4232) \" \"\n CONSTANT: (4232..4235)\n CHARACTER: (4232..4235) \"#\\λ\"\n CLOSE_PAREN: (4235..4236) \")\"\n CLOSE_PAREN: (4236..4237) \")\"\n ATMOSPHERE: (4237..4242) \"\n \"\n FORM: (4242..4273)\n OPEN_PAREN: (4242..4243) \"(\"\n SYMBOL: (4243..4246)\n IDENTIFIER: (4243..4246) \"not\"\n ATMOSPHERE: (4246..4247) \" \"\n FORM: (4247..4272)\n OPEN_PAREN: (4247..4248) \"(\"\n SYMBOL: (4248..4264)\n IDENTIFIER: (4248..4264) \"char-whitespace?\"\n ATMOSPHERE: (4264..4265) \" \"\n CONSTANT: (4265..4271)\n CHARACTER: (4265..4271) \"#\\null\"\n CLOSE_PAREN: (4271..4272) \")\"\n CLOSE_PAREN: (4272..4273) \")\"\n ATMOSPHERE: (4273..4278) \"\n \"\n FORM: (4278..4304)\n OPEN_PAREN: (4278..4279) \"(\"\n SYMBOL: (4279..4295)\n IDENTIFIER: (4279..4295) \"char-whitespace?\"\n ATMOSPHERE: (4295..4296) \" \"\n CONSTANT: (4296..4303)\n CHARACTER: (4296..4303) \"#\\space\"\n CLOSE_PAREN: (4303..4304) \")\"\n ATMOSPHERE: (4304..4309) \"\n \"\n FORM: (4309..4333)\n OPEN_PAREN: (4309..4310) \"(\"\n SYMBOL: (4310..4326)\n IDENTIFIER: (4310..4326) \"char-whitespace?\"\n ATMOSPHERE: (4326..4327) \" \"\n CONSTANT: (4327..4332)\n CHARACTER: (4327..4332) \"#\\tab\"\n CLOSE_PAREN: (4332..4333) \")\"\n ATMOSPHERE: (4333..4343) \"\n \n \"\n FORM: (4343..4371)\n OPEN_PAREN: (4343..4344) \"(\"\n SYMBOL: (4344..4347)\n IDENTIFIER: (4344..4347) \"not\"\n ATMOSPHERE: (4347..4348) \" \"\n FORM: (4348..4370)\n OPEN_PAREN: (4348..4349) \"(\"\n SYMBOL: (4349..4365)\n IDENTIFIER: (4349..4365) \"char-upper-case?\"\n ATMOSPHERE: (4365..4366) \" \"\n CONSTANT: (4366..4369)\n CHARACTER: (4366..4369) \"#\\a\"\n CLOSE_PAREN: (4369..4370) \")\"\n CLOSE_PAREN: (4370..4371) \")\"\n ATMOSPHERE: (4371..4376) \"\n \"\n FORM: (4376..4398)\n OPEN_PAREN: (4376..4377) \"(\"\n SYMBOL: (4377..4393)\n IDENTIFIER: (4377..4393) \"char-upper-case?\"\n ATMOSPHERE: (4393..4394) \" \"\n CONSTANT: (4394..4397)\n CHARACTER: (4394..4397) \"#\\A\"\n CLOSE_PAREN: (4397..4398) \")\"\n ATMOSPHERE: (4398..4403) \"\n \"\n FORM: (4403..4431)\n OPEN_PAREN: (4403..4404) \"(\"\n SYMBOL: (4404..4407)\n IDENTIFIER: (4404..4407) \"not\"\n ATMOSPHERE: (4407..4408) \" \"\n FORM: (4408..4430)\n OPEN_PAREN: (4408..4409) \"(\"\n SYMBOL: (4409..4425)\n IDENTIFIER: (4409..4425) \"char-upper-case?\"\n ATMOSPHERE: (4425..4426) \" \"\n CONSTANT: (4426..4429)\n CHARACTER: (4426..4429) \"#\\५\"\n CLOSE_PAREN: (4429..4430) \")\"\n CLOSE_PAREN: (4430..4431) \")\"\n ATMOSPHERE: (4431..4436) \"\n \"\n FORM: (4436..4464)\n OPEN_PAREN: (4436..4437) \"(\"\n SYMBOL: (4437..4440)\n IDENTIFIER: (4437..4440) \"not\"\n ATMOSPHERE: (4440..4441) \" \"\n FORM: (4441..4463)\n OPEN_PAREN: (4441..4442) \"(\"\n SYMBOL: (4442..4458)\n IDENTIFIER: (4442..4458) \"char-upper-case?\"\n ATMOSPHERE: (4458..4459) \" \"\n CONSTANT: (4459..4462)\n CHARACTER: (4459..4462) \"#\\λ\"\n CLOSE_PAREN: (4462..4463) \")\"\n CLOSE_PAREN: (4463..4464) \")\"\n ATMOSPHERE: (4464..4469) \"\n \"\n FORM: (4469..4491)\n OPEN_PAREN: (4469..4470) \"(\"\n SYMBOL: (4470..4486)\n IDENTIFIER: (4470..4486) \"char-upper-case?\"\n ATMOSPHERE: (4486..4487) \" \"\n CONSTANT: (4487..4490)\n CHARACTER: (4487..4490) \"#\\Λ\"\n CLOSE_PAREN: (4490..4491) \")\"\n ATMOSPHERE: (4491..4496) \"\n \"\n FORM: (4496..4527)\n OPEN_PAREN: (4496..4497) \"(\"\n SYMBOL: (4497..4500)\n IDENTIFIER: (4497..4500) \"not\"\n ATMOSPHERE: (4500..4501) \" \"\n FORM: (4501..4526)\n OPEN_PAREN: (4501..4502) \"(\"\n SYMBOL: (4502..4518)\n IDENTIFIER: (4502..4518) \"char-upper-case?\"\n ATMOSPHERE: (4518..4519) \" \"\n CONSTANT: (4519..4525)\n CHARACTER: (4519..4525) \"#\\null\"\n CLOSE_PAREN: (4525..4526) \")\"\n CLOSE_PAREN: (4526..4527) \")\"\n ATMOSPHERE: (4527..4532) \"\n \"\n FORM: (4532..4564)\n OPEN_PAREN: (4532..4533) \"(\"\n SYMBOL: (4533..4536)\n IDENTIFIER: (4533..4536) \"not\"\n ATMOSPHERE: (4536..4537) \" \"\n FORM: (4537..4563)\n OPEN_PAREN: (4537..4538) \"(\"\n SYMBOL: (4538..4554)\n IDENTIFIER: (4538..4554) \"char-upper-case?\"\n ATMOSPHERE: (4554..4555) \" \"\n CONSTANT: (4555..4562)\n CHARACTER: (4555..4562) \"#\\space\"\n CLOSE_PAREN: (4562..4563) \")\"\n CLOSE_PAREN: (4563..4564) \")\"\n ATMOSPHERE: (4564..4569) \"\n \"\n FORM: (4569..4599)\n OPEN_PAREN: (4569..4570) \"(\"\n SYMBOL: (4570..4573)\n IDENTIFIER: (4570..4573) \"not\"\n ATMOSPHERE: (4573..4574) \" \"\n FORM: (4574..4598)\n OPEN_PAREN: (4574..4575) \"(\"\n SYMBOL: (4575..4591)\n IDENTIFIER: (4575..4591) \"char-upper-case?\"\n ATMOSPHERE: (4591..4592) \" \"\n CONSTANT: (4592..4597)\n CHARACTER: (4592..4597) \"#\\tab\"\n CLOSE_PAREN: (4597..4598) \")\"\n CLOSE_PAREN: (4598..4599) \")\"\n ATMOSPHERE: (4599..4605) \"\n\n \"\n FORM: (4605..4627)\n OPEN_PAREN: (4605..4606) \"(\"\n SYMBOL: (4606..4622)\n IDENTIFIER: (4606..4622) \"char-lower-case?\"\n ATMOSPHERE: (4622..4623) \" \"\n CONSTANT: (4623..4626)\n CHARACTER: (4623..4626) \"#\\a\"\n CLOSE_PAREN: (4626..4627) \")\"\n ATMOSPHERE: (4627..4632) \"\n \"\n FORM: (4632..4660)\n OPEN_PAREN: (4632..4633) \"(\"\n SYMBOL: (4633..4636)\n IDENTIFIER: (4633..4636) \"not\"\n ATMOSPHERE: (4636..4637) \" \"\n FORM: (4637..4659)\n OPEN_PAREN: (4637..4638) \"(\"\n SYMBOL: (4638..4654)\n IDENTIFIER: (4638..4654) \"char-lower-case?\"\n ATMOSPHERE: (4654..4655) \" \"\n CONSTANT: (4655..4658)\n CHARACTER: (4655..4658) \"#\\A\"\n CLOSE_PAREN: (4658..4659) \")\"\n CLOSE_PAREN: (4659..4660) \")\"\n ATMOSPHERE: (4660..4665) \"\n \"\n FORM: (4665..4693)\n OPEN_PAREN: (4665..4666) \"(\"\n SYMBOL: (4666..4669)\n IDENTIFIER: (4666..4669) \"not\"\n ATMOSPHERE: (4669..4670) \" \"\n FORM: (4670..4692)\n OPEN_PAREN: (4670..4671) \"(\"\n SYMBOL: (4671..4687)\n IDENTIFIER: (4671..4687) \"char-lower-case?\"\n ATMOSPHERE: (4687..4688) \" \"\n CONSTANT: (4688..4691)\n CHARACTER: (4688..4691) \"#\\५\"\n CLOSE_PAREN: (4691..4692) \")\"\n CLOSE_PAREN: (4692..4693) \")\"\n ATMOSPHERE: (4693..4698) \"\n \"\n FORM: (4698..4720)\n OPEN_PAREN: (4698..4699) \"(\"\n SYMBOL: (4699..4715)\n IDENTIFIER: (4699..4715) \"char-lower-case?\"\n ATMOSPHERE: (4715..4716) \" \"\n CONSTANT: (4716..4719)\n CHARACTER: (4716..4719) \"#\\λ\"\n CLOSE_PAREN: (4719..4720) \")\"\n ATMOSPHERE: (4720..4725) \"\n \"\n FORM: (4725..4753)\n OPEN_PAREN: (4725..4726) \"(\"\n SYMBOL: (4726..4729)\n IDENTIFIER: (4726..4729) \"not\"\n ATMOSPHERE: (4729..4730) \" \"\n FORM: (4730..4752)\n OPEN_PAREN: (4730..4731) \"(\"\n SYMBOL: (4731..4747)\n IDENTIFIER: (4731..4747) \"char-lower-case?\"\n ATMOSPHERE: (4747..4748) \" \"\n CONSTANT: (4748..4751)\n CHARACTER: (4748..4751) \"#\\Λ\"\n CLOSE_PAREN: (4751..4752) \")\"\n CLOSE_PAREN: (4752..4753) \")\"\n ATMOSPHERE: (4753..4758) \"\n \"\n FORM: (4758..4789)\n OPEN_PAREN: (4758..4759) \"(\"\n SYMBOL: (4759..4762)\n IDENTIFIER: (4759..4762) \"not\"\n ATMOSPHERE: (4762..4763) \" \"\n FORM: (4763..4788)\n OPEN_PAREN: (4763..4764) \"(\"\n SYMBOL: (4764..4780)\n IDENTIFIER: (4764..4780) \"char-lower-case?\"\n ATMOSPHERE: (4780..4781) \" \"\n CONSTANT: (4781..4787)\n CHARACTER: (4781..4787) \"#\\null\"\n CLOSE_PAREN: (4787..4788) \")\"\n CLOSE_PAREN: (4788..4789) \")\"\n ATMOSPHERE: (4789..4794) \"\n \"\n FORM: (4794..4826)\n OPEN_PAREN: (4794..4795) \"(\"\n SYMBOL: (4795..4798)\n IDENTIFIER: (4795..4798) \"not\"\n ATMOSPHERE: (4798..4799) \" \"\n FORM: (4799..4825)\n OPEN_PAREN: (4799..4800) \"(\"\n SYMBOL: (4800..4816)\n IDENTIFIER: (4800..4816) \"char-lower-case?\"\n ATMOSPHERE: (4816..4817) \" \"\n CONSTANT: (4817..4824)\n CHARACTER: (4817..4824) \"#\\space\"\n CLOSE_PAREN: (4824..4825) \")\"\n CLOSE_PAREN: (4825..4826) \")\"\n ATMOSPHERE: (4826..4831) \"\n \"\n FORM: (4831..4861)\n OPEN_PAREN: (4831..4832) \"(\"\n SYMBOL: (4832..4835)\n IDENTIFIER: (4832..4835) \"not\"\n ATMOSPHERE: (4835..4836) \" \"\n FORM: (4836..4860)\n OPEN_PAREN: (4836..4837) \"(\"\n SYMBOL: (4837..4853)\n IDENTIFIER: (4837..4853) \"char-lower-case?\"\n ATMOSPHERE: (4853..4854) \" \"\n CONSTANT: (4854..4859)\n CHARACTER: (4854..4859) \"#\\tab\"\n CLOSE_PAREN: (4859..4860) \")\"\n CLOSE_PAREN: (4860..4861) \")\"\n ATMOSPHERE: (4861..4867) \"\n\n \"\n CLOSE_PAREN: (4867..4868) \")\"\n CLOSE_PAREN: (4868..4869) \")\"\n ATMOSPHERE: (4869..4871) \"\n\n\"\n ATMOSPHERE: (4871..4891) \";; casing transforms\"\n ATMOSPHERE: (4891..4892) \"\n\"\n FORM: (4892..5346)\n OPEN_PAREN: (4892..4893) \"(\"\n SYMBOL: (4893..4900)\n IDENTIFIER: (4893..4900) \"display\"\n ATMOSPHERE: (4900..4901) \" \"\n FORM: (4901..5345)\n OPEN_PAREN: (4901..4902) \"(\"\n SYMBOL: (4902..4906)\n IDENTIFIER: (4902..4906) \"list\"\n ATMOSPHERE: (4906..4911) \"\n \"\n FORM: (4911..4928)\n OPEN_PAREN: (4911..4912) \"(\"\n SYMBOL: (4912..4923)\n IDENTIFIER: (4912..4923) \"char-upcase\"\n ATMOSPHERE: (4923..4924) \" \"\n CONSTANT: (4924..4927)\n CHARACTER: (4924..4927) \"#\\a\"\n CLOSE_PAREN: (4927..4928) \")\"\n ATMOSPHERE: (4928..4933) \"\n \"\n FORM: (4933..4950)\n OPEN_PAREN: (4933..4934) \"(\"\n SYMBOL: (4934..4945)\n IDENTIFIER: (4934..4945) \"char-upcase\"\n ATMOSPHERE: (4945..4946) \" \"\n CONSTANT: (4946..4949)\n CHARACTER: (4946..4949) \"#\\A\"\n CLOSE_PAREN: (4949..4950) \")\"\n ATMOSPHERE: (4950..4955) \"\n \"\n FORM: (4955..4972)\n OPEN_PAREN: (4955..4956) \"(\"\n SYMBOL: (4956..4967)\n IDENTIFIER: (4956..4967) \"char-upcase\"\n ATMOSPHERE: (4967..4968) \" \"\n CONSTANT: (4968..4971)\n CHARACTER: (4968..4971) \"#\\५\"\n CLOSE_PAREN: (4971..4972) \")\"\n ATMOSPHERE: (4972..4977) \"\n \"\n FORM: (4977..4994)\n OPEN_PAREN: (4977..4978) \"(\"\n SYMBOL: (4978..4989)\n IDENTIFIER: (4978..4989) \"char-upcase\"\n ATMOSPHERE: (4989..4990) \" \"\n CONSTANT: (4990..4993)\n CHARACTER: (4990..4993) \"#\\λ\"\n CLOSE_PAREN: (4993..4994) \")\"\n ATMOSPHERE: (4994..4999) \"\n \"\n FORM: (4999..5019)\n OPEN_PAREN: (4999..5000) \"(\"\n SYMBOL: (5000..5011)\n IDENTIFIER: (5000..5011) \"char-upcase\"\n ATMOSPHERE: (5011..5012) \" \"\n CONSTANT: (5012..5018)\n CHARACTER: (5012..5018) \"#\\null\"\n CLOSE_PAREN: (5018..5019) \")\"\n ATMOSPHERE: (5019..5024) \"\n \"\n FORM: (5024..5045)\n OPEN_PAREN: (5024..5025) \"(\"\n SYMBOL: (5025..5036)\n IDENTIFIER: (5025..5036) \"char-upcase\"\n ATMOSPHERE: (5036..5037) \" \"\n CONSTANT: (5037..5044)\n CHARACTER: (5037..5044) \"#\\space\"\n CLOSE_PAREN: (5044..5045) \")\"\n ATMOSPHERE: (5045..5050) \"\n \"\n FORM: (5050..5069)\n OPEN_PAREN: (5050..5051) \"(\"\n SYMBOL: (5051..5064)\n IDENTIFIER: (5051..5064) \"char-downcase\"\n ATMOSPHERE: (5064..5065) \" \"\n CONSTANT: (5065..5068)\n CHARACTER: (5065..5068) \"#\\a\"\n CLOSE_PAREN: (5068..5069) \")\"\n ATMOSPHERE: (5069..5074) \"\n \"\n FORM: (5074..5093)\n OPEN_PAREN: (5074..5075) \"(\"\n SYMBOL: (5075..5088)\n IDENTIFIER: (5075..5088) \"char-downcase\"\n ATMOSPHERE: (5088..5089) \" \"\n CONSTANT: (5089..5092)\n CHARACTER: (5089..5092) \"#\\A\"\n CLOSE_PAREN: (5092..5093) \")\"\n ATMOSPHERE: (5093..5098) \"\n \"\n FORM: (5098..5117)\n OPEN_PAREN: (5098..5099) \"(\"\n SYMBOL: (5099..5112)\n IDENTIFIER: (5099..5112) \"char-downcase\"\n ATMOSPHERE: (5112..5113) \" \"\n CONSTANT: (5113..5116)\n CHARACTER: (5113..5116) \"#\\५\"\n CLOSE_PAREN: (5116..5117) \")\"\n ATMOSPHERE: (5117..5122) \"\n \"\n FORM: (5122..5141)\n OPEN_PAREN: (5122..5123) \"(\"\n SYMBOL: (5123..5136)\n IDENTIFIER: (5123..5136) \"char-downcase\"\n ATMOSPHERE: (5136..5137) \" \"\n CONSTANT: (5137..5140)\n CHARACTER: (5137..5140) \"#\\Λ\"\n CLOSE_PAREN: (5140..5141) \")\"\n ATMOSPHERE: (5141..5146) \"\n \"\n FORM: (5146..5166)\n OPEN_PAREN: (5146..5147) \"(\"\n SYMBOL: (5147..5158)\n IDENTIFIER: (5147..5158) \"char-upcase\"\n ATMOSPHERE: (5158..5159) \" \"\n CONSTANT: (5159..5165)\n CHARACTER: (5159..5165) \"#\\null\"\n CLOSE_PAREN: (5165..5166) \")\"\n ATMOSPHERE: (5166..5171) \"\n \"\n FORM: (5171..5192)\n OPEN_PAREN: (5171..5172) \"(\"\n SYMBOL: (5172..5183)\n IDENTIFIER: (5172..5183) \"char-upcase\"\n ATMOSPHERE: (5183..5184) \" \"\n CONSTANT: (5184..5191)\n CHARACTER: (5184..5191) \"#\\space\"\n CLOSE_PAREN: (5191..5192) \")\"\n ATMOSPHERE: (5192..5197) \"\n \"\n FORM: (5197..5216)\n OPEN_PAREN: (5197..5198) \"(\"\n SYMBOL: (5198..5211)\n IDENTIFIER: (5198..5211) \"char-foldcase\"\n ATMOSPHERE: (5211..5212) \" \"\n CONSTANT: (5212..5215)\n CHARACTER: (5212..5215) \"#\\a\"\n CLOSE_PAREN: (5215..5216) \")\"\n ATMOSPHERE: (5216..5221) \"\n \"\n FORM: (5221..5240)\n OPEN_PAREN: (5221..5222) \"(\"\n SYMBOL: (5222..5235)\n IDENTIFIER: (5222..5235) \"char-foldcase\"\n ATMOSPHERE: (5235..5236) \" \"\n CONSTANT: (5236..5239)\n CHARACTER: (5236..5239) \"#\\A\"\n CLOSE_PAREN: (5239..5240) \")\"\n ATMOSPHERE: (5240..5245) \"\n \"\n FORM: (5245..5264)\n OPEN_PAREN: (5245..5246) \"(\"\n SYMBOL: (5246..5259)\n IDENTIFIER: (5246..5259) \"char-foldcase\"\n ATMOSPHERE: (5259..5260) \" \"\n CONSTANT: (5260..5263)\n CHARACTER: (5260..5263) \"#\\५\"\n CLOSE_PAREN: (5263..5264) \")\"\n ATMOSPHERE: (5264..5269) \"\n \"\n FORM: (5269..5288)\n OPEN_PAREN: (5269..5270) \"(\"\n SYMBOL: (5270..5283)\n IDENTIFIER: (5270..5283) \"char-foldcase\"\n ATMOSPHERE: (5283..5284) \" \"\n CONSTANT: (5284..5287)\n CHARACTER: (5284..5287) \"#\\Λ\"\n CLOSE_PAREN: (5287..5288) \")\"\n ATMOSPHERE: (5288..5293) \"\n \"\n FORM: (5293..5313)\n OPEN_PAREN: (5293..5294) \"(\"\n SYMBOL: (5294..5305)\n IDENTIFIER: (5294..5305) \"char-upcase\"\n ATMOSPHERE: (5305..5306) \" \"\n CONSTANT: (5306..5312)\n CHARACTER: (5306..5312) \"#\\null\"\n CLOSE_PAREN: (5312..5313) \")\"\n ATMOSPHERE: (5313..5318) \"\n \"\n FORM: (5318..5339)\n OPEN_PAREN: (5318..5319) \"(\"\n SYMBOL: (5319..5330)\n IDENTIFIER: (5319..5330) \"char-upcase\"\n ATMOSPHERE: (5330..5331) \" \"\n CONSTANT: (5331..5338)\n CHARACTER: (5331..5338) \"#\\space\"\n CLOSE_PAREN: (5338..5339) \")\"\n ATMOSPHERE: (5339..5344) \"\n \"\n CLOSE_PAREN: (5344..5345) \")\"\n CLOSE_PAREN: (5345..5346) \")\"\n ATMOSPHERE: (5346..5347) \"\n\"\n EOF: (5347..5347) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json b/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json index 7991702..6e1bb72 100644 --- a/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..79716)\n ATMOSPHERE: (0..24) \";; -*- coding: utf-8 -*-\"\n ATMOSPHERE: (24..26) \"\n\n\"\n ATMOSPHERE: (26..99) \";;;;; This file is a modified version of the Chibi Scheme R7RS Test Suite\"\n ATMOSPHERE: (99..100) \"\n\"\n ATMOSPHERE: (100..102) \";;\"\n ATMOSPHERE: (102..103) \"\n\"\n ATMOSPHERE: (103..180) \";; Check out Chibi Scheme on GitHub: \"\n ATMOSPHERE: (180..182) \"\n\n\"\n ATMOSPHERE: (182..218) \"; Copyright (c) 2009-2018 Alex Shinn\"\n ATMOSPHERE: (218..219) \"\n\"\n ATMOSPHERE: (219..241) \"; All rights reserved.\"\n ATMOSPHERE: (241..243) \"\n\n\"\n ATMOSPHERE: (243..311) \"; Redistribution and use in source and binary forms, with or without\"\n ATMOSPHERE: (311..312) \"\n\"\n ATMOSPHERE: (312..380) \"; modification, are permitted provided that the following conditions\"\n ATMOSPHERE: (380..381) \"\n\"\n ATMOSPHERE: (381..391) \"; are met:\"\n ATMOSPHERE: (391..392) \"\n\"\n ATMOSPHERE: (392..459) \"; 1. Redistributions of source code must retain the above copyright\"\n ATMOSPHERE: (459..460) \"\n\"\n ATMOSPHERE: (460..526) \"; notice, this list of conditions and the following disclaimer.\"\n ATMOSPHERE: (526..527) \"\n\"\n ATMOSPHERE: (527..597) \"; 2. Redistributions in binary form must reproduce the above copyright\"\n ATMOSPHERE: (597..598) \"\n\"\n ATMOSPHERE: (598..670) \"; notice, this list of conditions and the following disclaimer in the\"\n ATMOSPHERE: (670..671) \"\n\"\n ATMOSPHERE: (671..744) \"; documentation and/or other materials provided with the distribution.\"\n ATMOSPHERE: (744..745) \"\n\"\n ATMOSPHERE: (745..819) \"; 3. The name of the author may not be used to endorse or promote products\"\n ATMOSPHERE: (819..820) \"\n\"\n ATMOSPHERE: (820..894) \"; derived from this software without specific prior written permission.\"\n ATMOSPHERE: (894..896) \"\n\n\"\n ATMOSPHERE: (896..966) \"; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\"\n ATMOSPHERE: (966..967) \"\n\"\n ATMOSPHERE: (967..1042) \"; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\"\n ATMOSPHERE: (1042..1043) \"\n\"\n ATMOSPHERE: (1043..1116) \"; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\"\n ATMOSPHERE: (1116..1117) \"\n\"\n ATMOSPHERE: (1117..1183) \"; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\"\n ATMOSPHERE: (1183..1184) \"\n\"\n ATMOSPHERE: (1184..1258) \"; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\"\n ATMOSPHERE: (1258..1259) \"\n\"\n ATMOSPHERE: (1259..1334) \"; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\"\n ATMOSPHERE: (1334..1335) \"\n\"\n ATMOSPHERE: (1335..1406) \"; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\"\n ATMOSPHERE: (1406..1407) \"\n\"\n ATMOSPHERE: (1407..1476) \"; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\"\n ATMOSPHERE: (1476..1477) \"\n\"\n ATMOSPHERE: (1477..1551) \"; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\"\n ATMOSPHERE: (1551..1552) \"\n\"\n ATMOSPHERE: (1552..1619) \"; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n ATMOSPHERE: (1619..1621) \"\n\n\"\n FORM: (1621..2109)\n OPEN_PAREN: (1621..1622) \"(\"\n SYMBOL: (1622..1628)\n IDENTIFIER: (1622..1628) \"import\"\n ATMOSPHERE: (1628..1629) \" \"\n FORM: (1629..1642)\n OPEN_PAREN: (1629..1630) \"(\"\n SYMBOL: (1630..1636)\n IDENTIFIER: (1630..1636) \"scheme\"\n ATMOSPHERE: (1636..1637) \" \"\n SYMBOL: (1637..1641)\n IDENTIFIER: (1637..1641) \"base\"\n CLOSE_PAREN: (1641..1642) \")\"\n ATMOSPHERE: (1642..1647) \"\n \"\n ATMOSPHERE: (1647..1714) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (1714..1719) \"\n \"\n ATMOSPHERE: (1719..1783) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (1783..1788) \"\n \"\n FORM: (1788..1812)\n OPEN_PAREN: (1788..1789) \"(\"\n SYMBOL: (1789..1796)\n IDENTIFIER: (1789..1796) \"feersum\"\n ATMOSPHERE: (1796..1797) \" \"\n SYMBOL: (1797..1804)\n IDENTIFIER: (1797..1804) \"builtin\"\n ATMOSPHERE: (1804..1805) \" \"\n SYMBOL: (1805..1811)\n IDENTIFIER: (1805..1811) \"macros\"\n CLOSE_PAREN: (1811..1812) \")\"\n ATMOSPHERE: (1812..1813) \"\n\"\n ATMOSPHERE: (1813..1848) \";; (scheme char) (scheme lazy)\"\n ATMOSPHERE: (1848..1849) \"\n\"\n ATMOSPHERE: (1849..1907) \";; (scheme inexact) (scheme complex) (scheme time)\"\n ATMOSPHERE: (1907..1908) \"\n\"\n ATMOSPHERE: (1908..1946) \";; (scheme file) (scheme read)\"\n ATMOSPHERE: (1946..1949) \"\n \"\n FORM: (1949..1963)\n OPEN_PAREN: (1949..1950) \"(\"\n SYMBOL: (1950..1956)\n IDENTIFIER: (1950..1956) \"scheme\"\n ATMOSPHERE: (1956..1957) \" \"\n SYMBOL: (1957..1962)\n IDENTIFIER: (1957..1962) \"write\"\n CLOSE_PAREN: (1962..1963) \")\"\n ATMOSPHERE: (1963..1964) \"\n\"\n ATMOSPHERE: (1964..2034) \";; (scheme eval) (scheme process-context) (scheme case-lambda)\"\n ATMOSPHERE: (2034..2035) \"\n\"\n ATMOSPHERE: (2035..2059) \";; (scheme r5rs)\"\n ATMOSPHERE: (2059..2060) \"\n\"\n ATMOSPHERE: (2060..2099) \";; (chibi test) ; or (srfi 64)\"\n ATMOSPHERE: (2099..2108) \"\n \"\n CLOSE_PAREN: (2108..2109) \")\"\n ATMOSPHERE: (2109..2111) \"\n\n\"\n ATMOSPHERE: (2111..2177) \";; R7RS test suite. Covers all procedures and syntax in the small\"\n ATMOSPHERE: (2177..2178) \"\n\"\n ATMOSPHERE: (2178..2243) \";; language except `delete-file'. Currently assumes full-unicode\"\n ATMOSPHERE: (2243..2244) \"\n\"\n ATMOSPHERE: (2244..2305) \";; support, the full numeric tower and all standard libraries\"\n ATMOSPHERE: (2305..2306) \"\n\"\n ATMOSPHERE: (2306..2318) \";; provided.\"\n ATMOSPHERE: (2318..2319) \"\n\"\n ATMOSPHERE: (2319..2321) \";;\"\n ATMOSPHERE: (2321..2322) \"\n\"\n ATMOSPHERE: (2322..2389) \";; Uses the (chibi test) library which is written in portable R7RS.\"\n ATMOSPHERE: (2389..2390) \"\n\"\n ATMOSPHERE: (2390..2459) \";; This is mostly a subset of SRFI-64, providing test-begin, test-end\"\n ATMOSPHERE: (2459..2460) \"\n\"\n ATMOSPHERE: (2460..2514) \";; and test, which could be defined as something like:\"\n ATMOSPHERE: (2514..2515) \"\n\"\n ATMOSPHERE: (2515..2517) \";;\"\n ATMOSPHERE: (2517..2518) \"\n\"\n FORM: (2518..2541)\n OPEN_PAREN: (2518..2519) \"(\"\n SYMBOL: (2519..2525)\n IDENTIFIER: (2519..2525) \"define\"\n ATMOSPHERE: (2525..2526) \" \"\n SYMBOL: (2526..2538)\n IDENTIFIER: (2526..2538) \"indent-level\"\n ATMOSPHERE: (2538..2539) \" \"\n CONSTANT: (2539..2540)\n NUMBER: (2539..2540) \"0\"\n CLOSE_PAREN: (2540..2541) \")\"\n ATMOSPHERE: (2541..2542) \"\n\"\n FORM: (2542..2678)\n OPEN_PAREN: (2542..2543) \"(\"\n SYMBOL: (2543..2549)\n IDENTIFIER: (2543..2549) \"define\"\n ATMOSPHERE: (2549..2550) \" \"\n FORM: (2550..2558)\n OPEN_PAREN: (2550..2551) \"(\"\n SYMBOL: (2551..2557)\n IDENTIFIER: (2551..2557) \"indent\"\n CLOSE_PAREN: (2557..2558) \")\"\n ATMOSPHERE: (2558..2561) \"\n \"\n FORM: (2561..2650)\n OPEN_PAREN: (2561..2562) \"(\"\n SYMBOL: (2562..2568)\n IDENTIFIER: (2562..2568) \"define\"\n ATMOSPHERE: (2568..2569) \" \"\n FORM: (2569..2582)\n OPEN_PAREN: (2569..2570) \"(\"\n SYMBOL: (2570..2579)\n IDENTIFIER: (2570..2579) \"do-indent\"\n ATMOSPHERE: (2579..2580) \" \"\n SYMBOL: (2580..2581)\n IDENTIFIER: (2580..2581) \"n\"\n CLOSE_PAREN: (2581..2582) \")\"\n ATMOSPHERE: (2582..2584) \"\n\t\"\n FORM: (2584..2649)\n OPEN_PAREN: (2584..2585) \"(\"\n SYMBOL: (2585..2587)\n IDENTIFIER: (2585..2587) \"if\"\n ATMOSPHERE: (2587..2588) \" \"\n FORM: (2588..2595)\n OPEN_PAREN: (2588..2589) \"(\"\n SYMBOL: (2589..2590)\n IDENTIFIER: (2589..2590) \">\"\n ATMOSPHERE: (2590..2591) \" \"\n SYMBOL: (2591..2592)\n IDENTIFIER: (2591..2592) \"n\"\n ATMOSPHERE: (2592..2593) \" \"\n CONSTANT: (2593..2594)\n NUMBER: (2593..2594) \"0\"\n CLOSE_PAREN: (2594..2595) \")\"\n ATMOSPHERE: (2595..2598) \"\n\t\t\"\n FORM: (2598..2648)\n OPEN_PAREN: (2598..2599) \"(\"\n SYMBOL: (2599..2604)\n IDENTIFIER: (2599..2604) \"begin\"\n ATMOSPHERE: (2604..2609) \"\n\t\t \"\n FORM: (2609..2623)\n OPEN_PAREN: (2609..2610) \"(\"\n SYMBOL: (2610..2617)\n IDENTIFIER: (2610..2617) \"display\"\n ATMOSPHERE: (2617..2618) \" \"\n CONSTANT: (2618..2622)\n STRING: (2618..2622) \"\"\\t\"\"\n CLOSE_PAREN: (2622..2623) \")\"\n ATMOSPHERE: (2623..2628) \"\n\t\t \"\n FORM: (2628..2647)\n OPEN_PAREN: (2628..2629) \"(\"\n SYMBOL: (2629..2638)\n IDENTIFIER: (2629..2638) \"do-indent\"\n ATMOSPHERE: (2638..2639) \" \"\n FORM: (2639..2646)\n OPEN_PAREN: (2639..2640) \"(\"\n SYMBOL: (2640..2641)\n IDENTIFIER: (2640..2641) \"-\"\n ATMOSPHERE: (2641..2642) \" \"\n SYMBOL: (2642..2643)\n IDENTIFIER: (2642..2643) \"n\"\n ATMOSPHERE: (2643..2644) \" \"\n CONSTANT: (2644..2645)\n NUMBER: (2644..2645) \"1\"\n CLOSE_PAREN: (2645..2646) \")\"\n CLOSE_PAREN: (2646..2647) \")\"\n CLOSE_PAREN: (2647..2648) \")\"\n CLOSE_PAREN: (2648..2649) \")\"\n CLOSE_PAREN: (2649..2650) \")\"\n ATMOSPHERE: (2650..2653) \"\n \"\n FORM: (2653..2677)\n OPEN_PAREN: (2653..2654) \"(\"\n SYMBOL: (2654..2663)\n IDENTIFIER: (2654..2663) \"do-indent\"\n ATMOSPHERE: (2663..2664) \" \"\n SYMBOL: (2664..2676)\n IDENTIFIER: (2664..2676) \"indent-level\"\n CLOSE_PAREN: (2676..2677) \")\"\n CLOSE_PAREN: (2677..2678) \")\"\n ATMOSPHERE: (2678..2680) \"\n\n\"\n FORM: (2680..2696)\n OPEN_PAREN: (2680..2681) \"(\"\n SYMBOL: (2681..2687)\n IDENTIFIER: (2681..2687) \"define\"\n ATMOSPHERE: (2687..2688) \" \"\n SYMBOL: (2688..2693)\n IDENTIFIER: (2688..2693) \"tests\"\n ATMOSPHERE: (2693..2694) \" \"\n CONSTANT: (2694..2695)\n NUMBER: (2694..2695) \"0\"\n CLOSE_PAREN: (2695..2696) \")\"\n FORM: (2696..2712)\n OPEN_PAREN: (2696..2697) \"(\"\n SYMBOL: (2697..2703)\n IDENTIFIER: (2697..2703) \"define\"\n ATMOSPHERE: (2703..2704) \" \"\n SYMBOL: (2704..2709)\n IDENTIFIER: (2704..2709) \"fails\"\n ATMOSPHERE: (2709..2710) \" \"\n CONSTANT: (2710..2711)\n NUMBER: (2710..2711) \"0\"\n CLOSE_PAREN: (2711..2712) \")\"\n ATMOSPHERE: (2712..2713) \"\n\"\n FORM: (2713..2834)\n OPEN_PAREN: (2713..2714) \"(\"\n SYMBOL: (2714..2720)\n IDENTIFIER: (2714..2720) \"define\"\n ATMOSPHERE: (2720..2721) \" \"\n FORM: (2721..2737)\n OPEN_PAREN: (2721..2722) \"(\"\n SYMBOL: (2722..2732)\n IDENTIFIER: (2722..2732) \"test-begin\"\n ATMOSPHERE: (2732..2733) \" \"\n DOTTED_TAIL: (2733..2736)\n DOT: (2733..2734) \".\"\n ATMOSPHERE: (2734..2735) \" \"\n SYMBOL: (2735..2736)\n IDENTIFIER: (2735..2736) \"o\"\n CLOSE_PAREN: (2736..2737) \")\"\n ATMOSPHERE: (2737..2740) \"\n \"\n FORM: (2740..2756)\n OPEN_PAREN: (2740..2741) \"(\"\n SYMBOL: (2741..2748)\n IDENTIFIER: (2741..2748) \"display\"\n ATMOSPHERE: (2748..2749) \" \"\n CONSTANT: (2749..2755)\n STRING: (2749..2755) \"\"### \"\"\n CLOSE_PAREN: (2755..2756) \")\"\n FORM: (2756..2767)\n OPEN_PAREN: (2756..2757) \"(\"\n SYMBOL: (2757..2764)\n IDENTIFIER: (2757..2764) \"display\"\n ATMOSPHERE: (2764..2765) \" \"\n SYMBOL: (2765..2766)\n IDENTIFIER: (2765..2766) \"o\"\n CLOSE_PAREN: (2766..2767) \")\"\n FORM: (2767..2776)\n OPEN_PAREN: (2767..2768) \"(\"\n SYMBOL: (2768..2775)\n IDENTIFIER: (2768..2775) \"newline\"\n CLOSE_PAREN: (2775..2776) \")\"\n ATMOSPHERE: (2776..2779) \"\n \"\n FORM: (2779..2817)\n OPEN_PAREN: (2779..2780) \"(\"\n SYMBOL: (2780..2784)\n IDENTIFIER: (2780..2784) \"set!\"\n ATMOSPHERE: (2784..2785) \" \"\n SYMBOL: (2785..2797)\n IDENTIFIER: (2785..2797) \"indent-level\"\n ATMOSPHERE: (2797..2798) \" \"\n FORM: (2798..2816)\n OPEN_PAREN: (2798..2799) \"(\"\n SYMBOL: (2799..2800)\n IDENTIFIER: (2799..2800) \"+\"\n ATMOSPHERE: (2800..2801) \" \"\n SYMBOL: (2801..2813)\n IDENTIFIER: (2801..2813) \"indent-level\"\n ATMOSPHERE: (2813..2814) \" \"\n CONSTANT: (2814..2815)\n NUMBER: (2814..2815) \"1\"\n CLOSE_PAREN: (2815..2816) \")\"\n CLOSE_PAREN: (2816..2817) \")\"\n ATMOSPHERE: (2817..2820) \"\n \"\n FORM: (2820..2828)\n OPEN_PAREN: (2820..2821) \"(\"\n SYMBOL: (2821..2827)\n IDENTIFIER: (2821..2827) \"indent\"\n CLOSE_PAREN: (2827..2828) \")\"\n ATMOSPHERE: (2828..2831) \"\n \"\n CONSTANT: (2831..2833)\n BOOLEAN: (2831..2833) \"#f\"\n CLOSE_PAREN: (2833..2834) \")\"\n ATMOSPHERE: (2834..2836) \"\n\n\"\n FORM: (2836..3011)\n OPEN_PAREN: (2836..2837) \"(\"\n SYMBOL: (2837..2843)\n IDENTIFIER: (2837..2843) \"define\"\n ATMOSPHERE: (2843..2844) \" \"\n FORM: (2844..2864)\n OPEN_PAREN: (2844..2845) \"(\"\n SYMBOL: (2845..2863)\n IDENTIFIER: (2845..2863) \"print-test-summary\"\n CLOSE_PAREN: (2863..2864) \")\"\n ATMOSPHERE: (2864..2867) \"\n \"\n FORM: (2867..2901)\n OPEN_PAREN: (2867..2868) \"(\"\n SYMBOL: (2868..2875)\n IDENTIFIER: (2868..2875) \"display\"\n ATMOSPHERE: (2875..2876) \" \"\n CONSTANT: (2876..2900)\n STRING: (2876..2900) \"\"----------------------\"\"\n CLOSE_PAREN: (2900..2901) \")\"\n FORM: (2901..2910)\n OPEN_PAREN: (2901..2902) \"(\"\n SYMBOL: (2902..2909)\n IDENTIFIER: (2902..2909) \"newline\"\n CLOSE_PAREN: (2909..2910) \")\"\n ATMOSPHERE: (2910..2913) \"\n \"\n FORM: (2913..2932)\n OPEN_PAREN: (2913..2914) \"(\"\n SYMBOL: (2914..2921)\n IDENTIFIER: (2914..2921) \"display\"\n ATMOSPHERE: (2921..2922) \" \"\n CONSTANT: (2922..2931)\n STRING: (2922..2931) \"\"Total: \"\"\n CLOSE_PAREN: (2931..2932) \")\"\n FORM: (2932..2947)\n OPEN_PAREN: (2932..2933) \"(\"\n SYMBOL: (2933..2940)\n IDENTIFIER: (2933..2940) \"display\"\n ATMOSPHERE: (2940..2941) \" \"\n SYMBOL: (2941..2946)\n IDENTIFIER: (2941..2946) \"tests\"\n CLOSE_PAREN: (2946..2947) \")\"\n FORM: (2947..2956)\n OPEN_PAREN: (2947..2948) \"(\"\n SYMBOL: (2948..2955)\n IDENTIFIER: (2948..2955) \"newline\"\n CLOSE_PAREN: (2955..2956) \")\"\n ATMOSPHERE: (2956..2959) \"\n \"\n FORM: (2959..2978)\n OPEN_PAREN: (2959..2960) \"(\"\n SYMBOL: (2960..2967)\n IDENTIFIER: (2960..2967) \"display\"\n ATMOSPHERE: (2967..2968) \" \"\n CONSTANT: (2968..2977)\n STRING: (2968..2977) \"\"Fails: \"\"\n CLOSE_PAREN: (2977..2978) \")\"\n FORM: (2978..2993)\n OPEN_PAREN: (2978..2979) \"(\"\n SYMBOL: (2979..2986)\n IDENTIFIER: (2979..2986) \"display\"\n ATMOSPHERE: (2986..2987) \" \"\n SYMBOL: (2987..2992)\n IDENTIFIER: (2987..2992) \"fails\"\n CLOSE_PAREN: (2992..2993) \")\"\n FORM: (2993..3002)\n OPEN_PAREN: (2993..2994) \"(\"\n SYMBOL: (2994..3001)\n IDENTIFIER: (2994..3001) \"newline\"\n CLOSE_PAREN: (3001..3002) \")\"\n ATMOSPHERE: (3002..3005) \"\n \"\n SYMBOL: (3005..3010)\n IDENTIFIER: (3005..3010) \"fails\"\n CLOSE_PAREN: (3010..3011) \")\"\n ATMOSPHERE: (3011..3013) \"\n\n\"\n FORM: (3013..3151)\n OPEN_PAREN: (3013..3014) \"(\"\n SYMBOL: (3014..3020)\n IDENTIFIER: (3014..3020) \"define\"\n ATMOSPHERE: (3020..3021) \" \"\n FORM: (3021..3035)\n OPEN_PAREN: (3021..3022) \"(\"\n SYMBOL: (3022..3030)\n IDENTIFIER: (3022..3030) \"test-end\"\n ATMOSPHERE: (3030..3031) \" \"\n DOTTED_TAIL: (3031..3034)\n DOT: (3031..3032) \".\"\n ATMOSPHERE: (3032..3033) \" \"\n SYMBOL: (3033..3034)\n IDENTIFIER: (3033..3034) \"o\"\n CLOSE_PAREN: (3034..3035) \")\"\n ATMOSPHERE: (3035..3038) \"\n \"\n FORM: (3038..3047)\n OPEN_PAREN: (3038..3039) \"(\"\n SYMBOL: (3039..3046)\n IDENTIFIER: (3039..3046) \"newline\"\n CLOSE_PAREN: (3046..3047) \")\"\n ATMOSPHERE: (3047..3050) \"\n \"\n FORM: (3050..3088)\n OPEN_PAREN: (3050..3051) \"(\"\n SYMBOL: (3051..3055)\n IDENTIFIER: (3051..3055) \"set!\"\n ATMOSPHERE: (3055..3056) \" \"\n SYMBOL: (3056..3068)\n IDENTIFIER: (3056..3068) \"indent-level\"\n ATMOSPHERE: (3068..3069) \" \"\n FORM: (3069..3087)\n OPEN_PAREN: (3069..3070) \"(\"\n SYMBOL: (3070..3071)\n IDENTIFIER: (3070..3071) \"-\"\n ATMOSPHERE: (3071..3072) \" \"\n SYMBOL: (3072..3084)\n IDENTIFIER: (3072..3084) \"indent-level\"\n ATMOSPHERE: (3084..3085) \" \"\n CONSTANT: (3085..3086)\n NUMBER: (3085..3086) \"1\"\n CLOSE_PAREN: (3086..3087) \")\"\n CLOSE_PAREN: (3087..3088) \")\"\n ATMOSPHERE: (3088..3091) \"\n \"\n FORM: (3091..3150)\n OPEN_PAREN: (3091..3092) \"(\"\n SYMBOL: (3092..3094)\n IDENTIFIER: (3092..3094) \"if\"\n ATMOSPHERE: (3094..3095) \" \"\n FORM: (3095..3113)\n OPEN_PAREN: (3095..3096) \"(\"\n SYMBOL: (3096..3097)\n IDENTIFIER: (3096..3097) \"=\"\n ATMOSPHERE: (3097..3098) \" \"\n SYMBOL: (3098..3110)\n IDENTIFIER: (3098..3110) \"indent-level\"\n ATMOSPHERE: (3110..3111) \" \"\n CONSTANT: (3111..3112)\n NUMBER: (3111..3112) \"0\"\n CLOSE_PAREN: (3112..3113) \")\"\n ATMOSPHERE: (3113..3117) \"\n\t \"\n FORM: (3117..3137)\n OPEN_PAREN: (3117..3118) \"(\"\n SYMBOL: (3118..3136)\n IDENTIFIER: (3118..3136) \"print-test-summary\"\n CLOSE_PAREN: (3136..3137) \")\"\n ATMOSPHERE: (3137..3141) \"\n\t \"\n FORM: (3141..3149)\n OPEN_PAREN: (3141..3142) \"(\"\n SYMBOL: (3142..3148)\n IDENTIFIER: (3142..3148) \"indent\"\n CLOSE_PAREN: (3148..3149) \")\"\n CLOSE_PAREN: (3149..3150) \")\"\n CLOSE_PAREN: (3150..3151) \")\"\n ATMOSPHERE: (3151..3153) \"\n\n\"\n FORM: (3153..3522)\n OPEN_PAREN: (3153..3154) \"(\"\n SYMBOL: (3154..3167)\n IDENTIFIER: (3154..3167) \"define-syntax\"\n ATMOSPHERE: (3167..3168) \" \"\n SYMBOL: (3168..3172)\n IDENTIFIER: (3168..3172) \"test\"\n ATMOSPHERE: (3172..3175) \"\n \"\n FORM: (3175..3521)\n OPEN_PAREN: (3175..3176) \"(\"\n SYMBOL: (3176..3188)\n IDENTIFIER: (3176..3188) \"syntax-rules\"\n ATMOSPHERE: (3188..3189) \" \"\n FORM: (3189..3191)\n OPEN_PAREN: (3189..3190) \"(\"\n CLOSE_PAREN: (3190..3191) \")\"\n ATMOSPHERE: (3191..3193) \"\n\t\"\n FORM: (3193..3520)\n OPEN_PAREN: (3193..3194) \"(\"\n FORM: (3194..3211)\n OPEN_PAREN: (3194..3195) \"(\"\n SYMBOL: (3195..3196)\n IDENTIFIER: (3195..3196) \"_\"\n ATMOSPHERE: (3196..3197) \" \"\n SYMBOL: (3197..3205)\n IDENTIFIER: (3197..3205) \"expected\"\n ATMOSPHERE: (3205..3206) \" \"\n SYMBOL: (3206..3210)\n IDENTIFIER: (3206..3210) \"expr\"\n CLOSE_PAREN: (3210..3211) \")\"\n ATMOSPHERE: (3211..3214) \"\n\t \"\n FORM: (3214..3519)\n OPEN_PAREN: (3214..3215) \"(\"\n SYMBOL: (3215..3218)\n IDENTIFIER: (3215..3218) \"let\"\n ATMOSPHERE: (3218..3219) \" \"\n FORM: (3219..3231)\n OPEN_PAREN: (3219..3220) \"(\"\n FORM: (3220..3230)\n OPEN_PAREN: (3220..3221) \"(\"\n SYMBOL: (3221..3224)\n IDENTIFIER: (3221..3224) \"res\"\n ATMOSPHERE: (3224..3225) \" \"\n SYMBOL: (3225..3229)\n IDENTIFIER: (3225..3229) \"expr\"\n CLOSE_PAREN: (3229..3230) \")\"\n CLOSE_PAREN: (3230..3231) \")\"\n ATMOSPHERE: (3231..3236) \"\n\t \"\n FORM: (3236..3260)\n OPEN_PAREN: (3236..3237) \"(\"\n SYMBOL: (3237..3241)\n IDENTIFIER: (3237..3241) \"set!\"\n ATMOSPHERE: (3241..3242) \" \"\n SYMBOL: (3242..3247)\n IDENTIFIER: (3242..3247) \"tests\"\n ATMOSPHERE: (3247..3248) \" \"\n FORM: (3248..3259)\n OPEN_PAREN: (3248..3249) \"(\"\n SYMBOL: (3249..3250)\n IDENTIFIER: (3249..3250) \"+\"\n ATMOSPHERE: (3250..3251) \" \"\n SYMBOL: (3251..3256)\n IDENTIFIER: (3251..3256) \"tests\"\n ATMOSPHERE: (3256..3257) \" \"\n CONSTANT: (3257..3258)\n NUMBER: (3257..3258) \"1\"\n CLOSE_PAREN: (3258..3259) \")\"\n CLOSE_PAREN: (3259..3260) \")\"\n ATMOSPHERE: (3260..3265) \"\n\t \"\n FORM: (3265..3518)\n OPEN_PAREN: (3265..3266) \"(\"\n SYMBOL: (3266..3268)\n IDENTIFIER: (3266..3268) \"if\"\n ATMOSPHERE: (3268..3269) \" \"\n FORM: (3269..3290)\n OPEN_PAREN: (3269..3270) \"(\"\n SYMBOL: (3270..3276)\n IDENTIFIER: (3270..3276) \"equal?\"\n ATMOSPHERE: (3276..3277) \" \"\n SYMBOL: (3277..3280)\n IDENTIFIER: (3277..3280) \"res\"\n ATMOSPHERE: (3280..3281) \" \"\n SYMBOL: (3281..3289)\n IDENTIFIER: (3281..3289) \"expected\"\n CLOSE_PAREN: (3289..3290) \")\"\n ATMOSPHERE: (3290..3296) \"\n\t\t \"\n FORM: (3296..3309)\n OPEN_PAREN: (3296..3297) \"(\"\n SYMBOL: (3297..3304)\n IDENTIFIER: (3297..3304) \"display\"\n ATMOSPHERE: (3304..3305) \" \"\n CONSTANT: (3305..3308)\n STRING: (3305..3308) \"\".\"\"\n CLOSE_PAREN: (3308..3309) \")\"\n ATMOSPHERE: (3309..3315) \"\n\t\t \"\n FORM: (3315..3517)\n OPEN_PAREN: (3315..3316) \"(\"\n SYMBOL: (3316..3321)\n IDENTIFIER: (3316..3321) \"begin\"\n ATMOSPHERE: (3321..3326) \"\n\t\t\t \"\n FORM: (3326..3350)\n OPEN_PAREN: (3326..3327) \"(\"\n SYMBOL: (3327..3331)\n IDENTIFIER: (3327..3331) \"set!\"\n ATMOSPHERE: (3331..3332) \" \"\n SYMBOL: (3332..3337)\n IDENTIFIER: (3332..3337) \"fails\"\n ATMOSPHERE: (3337..3338) \" \"\n FORM: (3338..3349)\n OPEN_PAREN: (3338..3339) \"(\"\n SYMBOL: (3339..3340)\n IDENTIFIER: (3339..3340) \"+\"\n ATMOSPHERE: (3340..3341) \" \"\n SYMBOL: (3341..3346)\n IDENTIFIER: (3341..3346) \"fails\"\n ATMOSPHERE: (3346..3347) \" \"\n CONSTANT: (3347..3348)\n NUMBER: (3347..3348) \"1\"\n CLOSE_PAREN: (3348..3349) \")\"\n CLOSE_PAREN: (3349..3350) \")\"\n ATMOSPHERE: (3350..3355) \"\n\t\t\t \"\n FORM: (3355..3364)\n OPEN_PAREN: (3355..3356) \"(\"\n SYMBOL: (3356..3363)\n IDENTIFIER: (3356..3363) \"newline\"\n CLOSE_PAREN: (3363..3364) \")\"\n ATMOSPHERE: (3364..3369) \"\n\t\t\t \"\n FORM: (3369..3387)\n OPEN_PAREN: (3369..3370) \"(\"\n SYMBOL: (3370..3377)\n IDENTIFIER: (3370..3377) \"display\"\n ATMOSPHERE: (3377..3378) \" \"\n CONSTANT: (3378..3386)\n STRING: (3378..3386) \"\"FAIL: \"\"\n CLOSE_PAREN: (3386..3387) \")\"\n ATMOSPHERE: (3387..3392) \"\n\t\t\t \"\n FORM: (3392..3407)\n OPEN_PAREN: (3392..3393) \"(\"\n SYMBOL: (3393..3400)\n IDENTIFIER: (3393..3400) \"display\"\n ATMOSPHERE: (3400..3401) \" \"\n QUOTED_DATUM: (3401..3406)\n QUOTE: (3401..3402) \"'\"\n SYMBOL: (3402..3406)\n IDENTIFIER: (3402..3406) \"expr\"\n CLOSE_PAREN: (3406..3407) \")\"\n ATMOSPHERE: (3407..3412) \"\n\t\t\t \"\n FORM: (3412..3435)\n OPEN_PAREN: (3412..3413) \"(\"\n SYMBOL: (3413..3420)\n IDENTIFIER: (3413..3420) \"display\"\n ATMOSPHERE: (3420..3421) \" \"\n CONSTANT: (3421..3434)\n STRING: (3421..3434) \"\": expected \"\"\n CLOSE_PAREN: (3434..3435) \")\"\n ATMOSPHERE: (3435..3440) \"\n\t\t\t \"\n FORM: (3440..3458)\n OPEN_PAREN: (3440..3441) \"(\"\n SYMBOL: (3441..3448)\n IDENTIFIER: (3441..3448) \"display\"\n ATMOSPHERE: (3448..3449) \" \"\n SYMBOL: (3449..3457)\n IDENTIFIER: (3449..3457) \"expected\"\n CLOSE_PAREN: (3457..3458) \")\"\n ATMOSPHERE: (3458..3463) \"\n\t\t\t \"\n FORM: (3463..3484)\n OPEN_PAREN: (3463..3464) \"(\"\n SYMBOL: (3464..3471)\n IDENTIFIER: (3464..3471) \"display\"\n ATMOSPHERE: (3471..3472) \" \"\n CONSTANT: (3472..3483)\n STRING: (3472..3483) \"\" but got \"\"\n CLOSE_PAREN: (3483..3484) \")\"\n ATMOSPHERE: (3484..3489) \"\n\t\t\t \"\n FORM: (3489..3502)\n OPEN_PAREN: (3489..3490) \"(\"\n SYMBOL: (3490..3497)\n IDENTIFIER: (3490..3497) \"display\"\n ATMOSPHERE: (3497..3498) \" \"\n SYMBOL: (3498..3501)\n IDENTIFIER: (3498..3501) \"res\"\n CLOSE_PAREN: (3501..3502) \")\"\n ATMOSPHERE: (3502..3507) \"\n\t\t\t \"\n FORM: (3507..3516)\n OPEN_PAREN: (3507..3508) \"(\"\n SYMBOL: (3508..3515)\n IDENTIFIER: (3508..3515) \"newline\"\n CLOSE_PAREN: (3515..3516) \")\"\n CLOSE_PAREN: (3516..3517) \")\"\n CLOSE_PAREN: (3517..3518) \")\"\n CLOSE_PAREN: (3518..3519) \")\"\n CLOSE_PAREN: (3519..3520) \")\"\n CLOSE_PAREN: (3520..3521) \")\"\n CLOSE_PAREN: (3521..3522) \")\"\n ATMOSPHERE: (3522..3524) \"\n\n\"\n ATMOSPHERE: (3524..3526) \";;\"\n ATMOSPHERE: (3526..3527) \"\n\"\n ATMOSPHERE: (3527..3586) \";; however (chibi test) provides nicer output, timings, and\"\n ATMOSPHERE: (3586..3587) \"\n\"\n ATMOSPHERE: (3587..3641) \";; approximate equivalence for floating point numbers.\"\n ATMOSPHERE: (3641..3643) \"\n\n\"\n FORM: (3643..3662)\n OPEN_PAREN: (3643..3644) \"(\"\n SYMBOL: (3644..3654)\n IDENTIFIER: (3644..3654) \"test-begin\"\n ATMOSPHERE: (3654..3655) \" \"\n CONSTANT: (3655..3661)\n STRING: (3655..3661) \"\"R7RS\"\"\n CLOSE_PAREN: (3661..3662) \")\"\n ATMOSPHERE: (3662..3664) \"\n\n\"\n FORM: (3664..3709)\n OPEN_PAREN: (3664..3665) \"(\"\n SYMBOL: (3665..3675)\n IDENTIFIER: (3665..3675) \"test-begin\"\n ATMOSPHERE: (3675..3676) \" \"\n CONSTANT: (3676..3708)\n STRING: (3676..3708) \"\"4.1 Primitive expression types\"\"\n CLOSE_PAREN: (3708..3709) \")\"\n ATMOSPHERE: (3709..3711) \"\n\n\"\n FORM: (3711..3749)\n OPEN_PAREN: (3711..3712) \"(\"\n SYMBOL: (3712..3715)\n IDENTIFIER: (3712..3715) \"let\"\n ATMOSPHERE: (3715..3716) \" \"\n FORM: (3716..3718)\n OPEN_PAREN: (3716..3717) \"(\"\n CLOSE_PAREN: (3717..3718) \")\"\n ATMOSPHERE: (3718..3721) \"\n \"\n FORM: (3721..3734)\n OPEN_PAREN: (3721..3722) \"(\"\n SYMBOL: (3722..3728)\n IDENTIFIER: (3722..3728) \"define\"\n ATMOSPHERE: (3728..3729) \" \"\n SYMBOL: (3729..3730)\n IDENTIFIER: (3729..3730) \"x\"\n ATMOSPHERE: (3730..3731) \" \"\n CONSTANT: (3731..3733)\n NUMBER: (3731..3733) \"28\"\n CLOSE_PAREN: (3733..3734) \")\"\n ATMOSPHERE: (3734..3737) \"\n \"\n FORM: (3737..3748)\n OPEN_PAREN: (3737..3738) \"(\"\n SYMBOL: (3738..3742)\n IDENTIFIER: (3738..3742) \"test\"\n ATMOSPHERE: (3742..3743) \" \"\n CONSTANT: (3743..3745)\n NUMBER: (3743..3745) \"28\"\n ATMOSPHERE: (3745..3746) \" \"\n SYMBOL: (3746..3747)\n IDENTIFIER: (3746..3747) \"x\"\n CLOSE_PAREN: (3747..3748) \")\"\n CLOSE_PAREN: (3748..3749) \")\"\n ATMOSPHERE: (3749..3752) \"\n\n\n\"\n FORM: (3752..3771)\n OPEN_PAREN: (3752..3753) \"(\"\n SYMBOL: (3753..3757)\n IDENTIFIER: (3753..3757) \"test\"\n ATMOSPHERE: (3757..3758) \" \"\n QUOTED_DATUM: (3758..3761)\n QUOTE: (3758..3759) \"'\"\n SYMBOL: (3759..3760)\n IDENTIFIER: (3759..3760) \"a\"\n ATMOSPHERE: (3760..3761) \" \"\n FORM: (3761..3770)\n OPEN_PAREN: (3761..3762) \"(\"\n SYMBOL: (3762..3767)\n IDENTIFIER: (3762..3767) \"quote\"\n ATMOSPHERE: (3767..3768) \" \"\n SYMBOL: (3768..3769)\n IDENTIFIER: (3768..3769) \"a\"\n CLOSE_PAREN: (3769..3770) \")\"\n CLOSE_PAREN: (3770..3771) \")\"\n ATMOSPHERE: (3771..3772) \"\n\"\n FORM: (3772..3804)\n OPEN_PAREN: (3772..3773) \"(\"\n SYMBOL: (3773..3777)\n IDENTIFIER: (3773..3777) \"test\"\n ATMOSPHERE: (3777..3778) \" \"\n VEC: (3778..3786)\n OPEN_PAREN: (3778..3780) \"#(\"\n SYMBOL: (3780..3781)\n IDENTIFIER: (3780..3781) \"a\"\n ATMOSPHERE: (3781..3782) \" \"\n SYMBOL: (3782..3783)\n IDENTIFIER: (3782..3783) \"b\"\n ATMOSPHERE: (3783..3784) \" \"\n SYMBOL: (3784..3785)\n IDENTIFIER: (3784..3785) \"c\"\n CLOSE_PAREN: (3785..3786) \")\"\n ATMOSPHERE: (3786..3787) \" \"\n FORM: (3787..3803)\n OPEN_PAREN: (3787..3788) \"(\"\n SYMBOL: (3788..3793)\n IDENTIFIER: (3788..3793) \"quote\"\n ATMOSPHERE: (3793..3794) \" \"\n VEC: (3794..3802)\n OPEN_PAREN: (3794..3796) \"#(\"\n SYMBOL: (3796..3797)\n IDENTIFIER: (3796..3797) \"a\"\n ATMOSPHERE: (3797..3798) \" \"\n SYMBOL: (3798..3799)\n IDENTIFIER: (3798..3799) \"b\"\n ATMOSPHERE: (3799..3800) \" \"\n SYMBOL: (3800..3801)\n IDENTIFIER: (3800..3801) \"c\"\n CLOSE_PAREN: (3801..3802) \")\"\n CLOSE_PAREN: (3802..3803) \")\"\n CLOSE_PAREN: (3803..3804) \")\"\n ATMOSPHERE: (3804..3805) \"\n\"\n FORM: (3805..3836)\n OPEN_PAREN: (3805..3806) \"(\"\n SYMBOL: (3806..3810)\n IDENTIFIER: (3806..3810) \"test\"\n ATMOSPHERE: (3810..3811) \" \"\n QUOTED_DATUM: (3811..3820)\n QUOTE: (3811..3812) \"'\"\n FORM: (3812..3819)\n OPEN_PAREN: (3812..3813) \"(\"\n SYMBOL: (3813..3814)\n IDENTIFIER: (3813..3814) \"+\"\n ATMOSPHERE: (3814..3815) \" \"\n CONSTANT: (3815..3816)\n NUMBER: (3815..3816) \"1\"\n ATMOSPHERE: (3816..3817) \" \"\n CONSTANT: (3817..3818)\n NUMBER: (3817..3818) \"2\"\n CLOSE_PAREN: (3818..3819) \")\"\n ATMOSPHERE: (3819..3820) \" \"\n FORM: (3820..3835)\n OPEN_PAREN: (3820..3821) \"(\"\n SYMBOL: (3821..3826)\n IDENTIFIER: (3821..3826) \"quote\"\n ATMOSPHERE: (3826..3827) \" \"\n FORM: (3827..3834)\n OPEN_PAREN: (3827..3828) \"(\"\n SYMBOL: (3828..3829)\n IDENTIFIER: (3828..3829) \"+\"\n ATMOSPHERE: (3829..3830) \" \"\n CONSTANT: (3830..3831)\n NUMBER: (3830..3831) \"1\"\n ATMOSPHERE: (3831..3832) \" \"\n CONSTANT: (3832..3833)\n NUMBER: (3832..3833) \"2\"\n CLOSE_PAREN: (3833..3834) \")\"\n CLOSE_PAREN: (3834..3835) \")\"\n CLOSE_PAREN: (3835..3836) \")\"\n ATMOSPHERE: (3836..3838) \"\n\n\"\n FORM: (3838..3850)\n OPEN_PAREN: (3838..3839) \"(\"\n SYMBOL: (3839..3843)\n IDENTIFIER: (3839..3843) \"test\"\n ATMOSPHERE: (3843..3844) \" \"\n QUOTED_DATUM: (3844..3847)\n QUOTE: (3844..3845) \"'\"\n SYMBOL: (3845..3846)\n IDENTIFIER: (3845..3846) \"a\"\n ATMOSPHERE: (3846..3847) \" \"\n QUOTED_DATUM: (3847..3849)\n QUOTE: (3847..3848) \"'\"\n SYMBOL: (3848..3849)\n IDENTIFIER: (3848..3849) \"a\"\n CLOSE_PAREN: (3849..3850) \")\"\n ATMOSPHERE: (3850..3851) \"\n\"\n FORM: (3851..3876)\n OPEN_PAREN: (3851..3852) \"(\"\n SYMBOL: (3852..3856)\n IDENTIFIER: (3852..3856) \"test\"\n ATMOSPHERE: (3856..3857) \" \"\n VEC: (3857..3865)\n OPEN_PAREN: (3857..3859) \"#(\"\n SYMBOL: (3859..3860)\n IDENTIFIER: (3859..3860) \"a\"\n ATMOSPHERE: (3860..3861) \" \"\n SYMBOL: (3861..3862)\n IDENTIFIER: (3861..3862) \"b\"\n ATMOSPHERE: (3862..3863) \" \"\n SYMBOL: (3863..3864)\n IDENTIFIER: (3863..3864) \"c\"\n CLOSE_PAREN: (3864..3865) \")\"\n ATMOSPHERE: (3865..3866) \" \"\n QUOTED_DATUM: (3866..3875)\n QUOTE: (3866..3867) \"'\"\n VEC: (3867..3875)\n OPEN_PAREN: (3867..3869) \"#(\"\n SYMBOL: (3869..3870)\n IDENTIFIER: (3869..3870) \"a\"\n ATMOSPHERE: (3870..3871) \" \"\n SYMBOL: (3871..3872)\n IDENTIFIER: (3871..3872) \"b\"\n ATMOSPHERE: (3872..3873) \" \"\n SYMBOL: (3873..3874)\n IDENTIFIER: (3873..3874) \"c\"\n CLOSE_PAREN: (3874..3875) \")\"\n CLOSE_PAREN: (3875..3876) \")\"\n ATMOSPHERE: (3876..3877) \"\n\"\n FORM: (3877..3891)\n OPEN_PAREN: (3877..3878) \"(\"\n SYMBOL: (3878..3882)\n IDENTIFIER: (3878..3882) \"test\"\n ATMOSPHERE: (3882..3883) \" \"\n QUOTED_DATUM: (3883..3887)\n QUOTE: (3883..3884) \"'\"\n FORM: (3884..3886)\n OPEN_PAREN: (3884..3885) \"(\"\n CLOSE_PAREN: (3885..3886) \")\"\n ATMOSPHERE: (3886..3887) \" \"\n QUOTED_DATUM: (3887..3890)\n QUOTE: (3887..3888) \"'\"\n FORM: (3888..3890)\n OPEN_PAREN: (3888..3889) \"(\"\n CLOSE_PAREN: (3889..3890) \")\"\n CLOSE_PAREN: (3890..3891) \")\"\n ATMOSPHERE: (3891..3892) \"\n\"\n FORM: (3892..3916)\n OPEN_PAREN: (3892..3893) \"(\"\n SYMBOL: (3893..3897)\n IDENTIFIER: (3893..3897) \"test\"\n ATMOSPHERE: (3897..3898) \" \"\n QUOTED_DATUM: (3898..3907)\n QUOTE: (3898..3899) \"'\"\n FORM: (3899..3906)\n OPEN_PAREN: (3899..3900) \"(\"\n SYMBOL: (3900..3901)\n IDENTIFIER: (3900..3901) \"+\"\n ATMOSPHERE: (3901..3902) \" \"\n CONSTANT: (3902..3903)\n NUMBER: (3902..3903) \"1\"\n ATMOSPHERE: (3903..3904) \" \"\n CONSTANT: (3904..3905)\n NUMBER: (3904..3905) \"2\"\n CLOSE_PAREN: (3905..3906) \")\"\n ATMOSPHERE: (3906..3907) \" \"\n QUOTED_DATUM: (3907..3915)\n QUOTE: (3907..3908) \"'\"\n FORM: (3908..3915)\n OPEN_PAREN: (3908..3909) \"(\"\n SYMBOL: (3909..3910)\n IDENTIFIER: (3909..3910) \"+\"\n ATMOSPHERE: (3910..3911) \" \"\n CONSTANT: (3911..3912)\n NUMBER: (3911..3912) \"1\"\n ATMOSPHERE: (3912..3913) \" \"\n CONSTANT: (3913..3914)\n NUMBER: (3913..3914) \"2\"\n CLOSE_PAREN: (3914..3915) \")\"\n CLOSE_PAREN: (3915..3916) \")\"\n ATMOSPHERE: (3916..3917) \"\n\"\n FORM: (3917..3945)\n OPEN_PAREN: (3917..3918) \"(\"\n SYMBOL: (3918..3922)\n IDENTIFIER: (3918..3922) \"test\"\n ATMOSPHERE: (3922..3923) \" \"\n QUOTED_DATUM: (3923..3934)\n QUOTE: (3923..3924) \"'\"\n FORM: (3924..3933)\n OPEN_PAREN: (3924..3925) \"(\"\n SYMBOL: (3925..3930)\n IDENTIFIER: (3925..3930) \"quote\"\n ATMOSPHERE: (3930..3931) \" \"\n SYMBOL: (3931..3932)\n IDENTIFIER: (3931..3932) \"a\"\n CLOSE_PAREN: (3932..3933) \")\"\n ATMOSPHERE: (3933..3934) \" \"\n QUOTED_DATUM: (3934..3944)\n QUOTE: (3934..3935) \"'\"\n FORM: (3935..3944)\n OPEN_PAREN: (3935..3936) \"(\"\n SYMBOL: (3936..3941)\n IDENTIFIER: (3936..3941) \"quote\"\n ATMOSPHERE: (3941..3942) \" \"\n SYMBOL: (3942..3943)\n IDENTIFIER: (3942..3943) \"a\"\n CLOSE_PAREN: (3943..3944) \")\"\n CLOSE_PAREN: (3944..3945) \")\"\n ATMOSPHERE: (3945..3946) \"\n\"\n FORM: (3946..3967)\n OPEN_PAREN: (3946..3947) \"(\"\n SYMBOL: (3947..3951)\n IDENTIFIER: (3947..3951) \"test\"\n ATMOSPHERE: (3951..3952) \" \"\n QUOTED_DATUM: (3952..3963)\n QUOTE: (3952..3953) \"'\"\n FORM: (3953..3962)\n OPEN_PAREN: (3953..3954) \"(\"\n SYMBOL: (3954..3959)\n IDENTIFIER: (3954..3959) \"quote\"\n ATMOSPHERE: (3959..3960) \" \"\n SYMBOL: (3960..3961)\n IDENTIFIER: (3960..3961) \"a\"\n CLOSE_PAREN: (3961..3962) \")\"\n ATMOSPHERE: (3962..3963) \" \"\n QUOTED_DATUM: (3963..3966)\n QUOTE: (3963..3964) \"'\"\n QUOTED_DATUM: (3964..3966)\n QUOTE: (3964..3965) \"'\"\n SYMBOL: (3965..3966)\n IDENTIFIER: (3965..3966) \"a\"\n CLOSE_PAREN: (3966..3967) \")\"\n ATMOSPHERE: (3967..3969) \"\n\n\"\n FORM: (3969..3988)\n OPEN_PAREN: (3969..3970) \"(\"\n SYMBOL: (3970..3974)\n IDENTIFIER: (3970..3974) \"test\"\n ATMOSPHERE: (3974..3975) \" \"\n CONSTANT: (3975..3980)\n STRING: (3975..3980) \"\"abc\"\"\n ATMOSPHERE: (3980..3981) \" \"\n QUOTED_DATUM: (3981..3987)\n QUOTE: (3981..3982) \"'\"\n CONSTANT: (3982..3987)\n STRING: (3982..3987) \"\"abc\"\"\n CLOSE_PAREN: (3987..3988) \")\"\n ATMOSPHERE: (3988..3989) \"\n\"\n FORM: (3989..4007)\n OPEN_PAREN: (3989..3990) \"(\"\n SYMBOL: (3990..3994)\n IDENTIFIER: (3990..3994) \"test\"\n ATMOSPHERE: (3994..3995) \" \"\n CONSTANT: (3995..4000)\n STRING: (3995..4000) \"\"abc\"\"\n ATMOSPHERE: (4000..4001) \" \"\n CONSTANT: (4001..4006)\n STRING: (4001..4006) \"\"abc\"\"\n CLOSE_PAREN: (4006..4007) \")\"\n ATMOSPHERE: (4007..4008) \"\n\"\n FORM: (4008..4029)\n OPEN_PAREN: (4008..4009) \"(\"\n SYMBOL: (4009..4013)\n IDENTIFIER: (4009..4013) \"test\"\n ATMOSPHERE: (4013..4014) \" \"\n CONSTANT: (4014..4020)\n NUMBER: (4014..4020) \"145932\"\n ATMOSPHERE: (4020..4021) \" \"\n QUOTED_DATUM: (4021..4028)\n QUOTE: (4021..4022) \"'\"\n CONSTANT: (4022..4028)\n NUMBER: (4022..4028) \"145932\"\n CLOSE_PAREN: (4028..4029) \")\"\n ATMOSPHERE: (4029..4030) \"\n\"\n FORM: (4030..4050)\n OPEN_PAREN: (4030..4031) \"(\"\n SYMBOL: (4031..4035)\n IDENTIFIER: (4031..4035) \"test\"\n ATMOSPHERE: (4035..4036) \" \"\n CONSTANT: (4036..4042)\n NUMBER: (4036..4042) \"145932\"\n ATMOSPHERE: (4042..4043) \" \"\n CONSTANT: (4043..4049)\n NUMBER: (4043..4049) \"145932\"\n CLOSE_PAREN: (4049..4050) \")\"\n ATMOSPHERE: (4050..4051) \"\n\"\n FORM: (4051..4064)\n OPEN_PAREN: (4051..4052) \"(\"\n SYMBOL: (4052..4056)\n IDENTIFIER: (4052..4056) \"test\"\n ATMOSPHERE: (4056..4057) \" \"\n CONSTANT: (4057..4059)\n BOOLEAN: (4057..4059) \"#t\"\n ATMOSPHERE: (4059..4060) \" \"\n QUOTED_DATUM: (4060..4063)\n QUOTE: (4060..4061) \"'\"\n CONSTANT: (4061..4063)\n BOOLEAN: (4061..4063) \"#t\"\n CLOSE_PAREN: (4063..4064) \")\"\n ATMOSPHERE: (4064..4065) \"\n\"\n FORM: (4065..4077)\n OPEN_PAREN: (4065..4066) \"(\"\n SYMBOL: (4066..4070)\n IDENTIFIER: (4066..4070) \"test\"\n ATMOSPHERE: (4070..4071) \" \"\n CONSTANT: (4071..4073)\n BOOLEAN: (4071..4073) \"#t\"\n ATMOSPHERE: (4073..4074) \" \"\n CONSTANT: (4074..4076)\n BOOLEAN: (4074..4076) \"#t\"\n CLOSE_PAREN: (4076..4077) \")\"\n ATMOSPHERE: (4077..4079) \"\n\n\"\n FORM: (4079..4095)\n OPEN_PAREN: (4079..4080) \"(\"\n SYMBOL: (4080..4084)\n IDENTIFIER: (4080..4084) \"test\"\n ATMOSPHERE: (4084..4085) \" \"\n CONSTANT: (4085..4086)\n NUMBER: (4085..4086) \"7\"\n ATMOSPHERE: (4086..4087) \" \"\n FORM: (4087..4094)\n OPEN_PAREN: (4087..4088) \"(\"\n SYMBOL: (4088..4089)\n IDENTIFIER: (4088..4089) \"+\"\n ATMOSPHERE: (4089..4090) \" \"\n CONSTANT: (4090..4091)\n NUMBER: (4090..4091) \"3\"\n ATMOSPHERE: (4091..4092) \" \"\n CONSTANT: (4092..4093)\n NUMBER: (4092..4093) \"4\"\n CLOSE_PAREN: (4093..4094) \")\"\n CLOSE_PAREN: (4094..4095) \")\"\n ATMOSPHERE: (4095..4096) \"\n\"\n FORM: (4096..4123)\n OPEN_PAREN: (4096..4097) \"(\"\n SYMBOL: (4097..4101)\n IDENTIFIER: (4097..4101) \"test\"\n ATMOSPHERE: (4101..4102) \" \"\n CONSTANT: (4102..4104)\n NUMBER: (4102..4104) \"12\"\n ATMOSPHERE: (4104..4105) \" \"\n FORM: (4105..4122)\n OPEN_PAREN: (4105..4106) \"(\"\n FORM: (4106..4117)\n OPEN_PAREN: (4106..4107) \"(\"\n SYMBOL: (4107..4109)\n IDENTIFIER: (4107..4109) \"if\"\n ATMOSPHERE: (4109..4110) \" \"\n CONSTANT: (4110..4112)\n BOOLEAN: (4110..4112) \"#f\"\n ATMOSPHERE: (4112..4113) \" \"\n SYMBOL: (4113..4114)\n IDENTIFIER: (4113..4114) \"+\"\n ATMOSPHERE: (4114..4115) \" \"\n SYMBOL: (4115..4116)\n IDENTIFIER: (4115..4116) \"*\"\n CLOSE_PAREN: (4116..4117) \")\"\n ATMOSPHERE: (4117..4118) \" \"\n CONSTANT: (4118..4119)\n NUMBER: (4118..4119) \"3\"\n ATMOSPHERE: (4119..4120) \" \"\n CONSTANT: (4120..4121)\n NUMBER: (4120..4121) \"4\"\n CLOSE_PAREN: (4121..4122) \")\"\n CLOSE_PAREN: (4122..4123) \")\"\n ATMOSPHERE: (4123..4125) \"\n\n\"\n FORM: (4125..4158)\n OPEN_PAREN: (4125..4126) \"(\"\n SYMBOL: (4126..4130)\n IDENTIFIER: (4126..4130) \"test\"\n ATMOSPHERE: (4130..4131) \" \"\n CONSTANT: (4131..4132)\n NUMBER: (4131..4132) \"8\"\n ATMOSPHERE: (4132..4133) \" \"\n FORM: (4133..4157)\n OPEN_PAREN: (4133..4134) \"(\"\n FORM: (4134..4154)\n OPEN_PAREN: (4134..4135) \"(\"\n SYMBOL: (4135..4141)\n IDENTIFIER: (4135..4141) \"lambda\"\n ATMOSPHERE: (4141..4142) \" \"\n FORM: (4142..4145)\n OPEN_PAREN: (4142..4143) \"(\"\n SYMBOL: (4143..4144)\n IDENTIFIER: (4143..4144) \"x\"\n CLOSE_PAREN: (4144..4145) \")\"\n ATMOSPHERE: (4145..4146) \" \"\n FORM: (4146..4153)\n OPEN_PAREN: (4146..4147) \"(\"\n SYMBOL: (4147..4148)\n IDENTIFIER: (4147..4148) \"+\"\n ATMOSPHERE: (4148..4149) \" \"\n SYMBOL: (4149..4150)\n IDENTIFIER: (4149..4150) \"x\"\n ATMOSPHERE: (4150..4151) \" \"\n SYMBOL: (4151..4152)\n IDENTIFIER: (4151..4152) \"x\"\n CLOSE_PAREN: (4152..4153) \")\"\n CLOSE_PAREN: (4153..4154) \")\"\n ATMOSPHERE: (4154..4155) \" \"\n CONSTANT: (4155..4156)\n NUMBER: (4155..4156) \"4\"\n CLOSE_PAREN: (4156..4157) \")\"\n CLOSE_PAREN: (4157..4158) \")\"\n ATMOSPHERE: (4158..4159) \"\n\"\n FORM: (4159..4209)\n OPEN_PAREN: (4159..4160) \"(\"\n SYMBOL: (4160..4166)\n IDENTIFIER: (4160..4166) \"define\"\n ATMOSPHERE: (4166..4167) \" \"\n SYMBOL: (4167..4183)\n IDENTIFIER: (4167..4183) \"reverse-subtract\"\n ATMOSPHERE: (4183..4186) \"\n \"\n FORM: (4186..4208)\n OPEN_PAREN: (4186..4187) \"(\"\n SYMBOL: (4187..4193)\n IDENTIFIER: (4187..4193) \"lambda\"\n ATMOSPHERE: (4193..4194) \" \"\n FORM: (4194..4199)\n OPEN_PAREN: (4194..4195) \"(\"\n SYMBOL: (4195..4196)\n IDENTIFIER: (4195..4196) \"x\"\n ATMOSPHERE: (4196..4197) \" \"\n SYMBOL: (4197..4198)\n IDENTIFIER: (4197..4198) \"y\"\n CLOSE_PAREN: (4198..4199) \")\"\n ATMOSPHERE: (4199..4200) \" \"\n FORM: (4200..4207)\n OPEN_PAREN: (4200..4201) \"(\"\n SYMBOL: (4201..4202)\n IDENTIFIER: (4201..4202) \"-\"\n ATMOSPHERE: (4202..4203) \" \"\n SYMBOL: (4203..4204)\n IDENTIFIER: (4203..4204) \"y\"\n ATMOSPHERE: (4204..4205) \" \"\n SYMBOL: (4205..4206)\n IDENTIFIER: (4205..4206) \"x\"\n CLOSE_PAREN: (4206..4207) \")\"\n CLOSE_PAREN: (4207..4208) \")\"\n CLOSE_PAREN: (4208..4209) \")\"\n ATMOSPHERE: (4209..4210) \"\n\"\n FORM: (4210..4242)\n OPEN_PAREN: (4210..4211) \"(\"\n SYMBOL: (4211..4215)\n IDENTIFIER: (4211..4215) \"test\"\n ATMOSPHERE: (4215..4216) \" \"\n CONSTANT: (4216..4217)\n NUMBER: (4216..4217) \"3\"\n ATMOSPHERE: (4217..4218) \" \"\n FORM: (4218..4241)\n OPEN_PAREN: (4218..4219) \"(\"\n SYMBOL: (4219..4235)\n IDENTIFIER: (4219..4235) \"reverse-subtract\"\n ATMOSPHERE: (4235..4236) \" \"\n CONSTANT: (4236..4237)\n NUMBER: (4236..4237) \"7\"\n ATMOSPHERE: (4237..4238) \" \"\n CONSTANT: (4238..4240)\n NUMBER: (4238..4240) \"10\"\n CLOSE_PAREN: (4240..4241) \")\"\n CLOSE_PAREN: (4241..4242) \")\"\n ATMOSPHERE: (4242..4243) \"\n\"\n FORM: (4243..4297)\n OPEN_PAREN: (4243..4244) \"(\"\n SYMBOL: (4244..4250)\n IDENTIFIER: (4244..4250) \"define\"\n ATMOSPHERE: (4250..4251) \" \"\n SYMBOL: (4251..4255)\n IDENTIFIER: (4251..4255) \"add4\"\n ATMOSPHERE: (4255..4258) \"\n \"\n FORM: (4258..4296)\n OPEN_PAREN: (4258..4259) \"(\"\n SYMBOL: (4259..4262)\n IDENTIFIER: (4259..4262) \"let\"\n ATMOSPHERE: (4262..4263) \" \"\n FORM: (4263..4270)\n OPEN_PAREN: (4263..4264) \"(\"\n FORM: (4264..4269)\n OPEN_PAREN: (4264..4265) \"(\"\n SYMBOL: (4265..4266)\n IDENTIFIER: (4265..4266) \"x\"\n ATMOSPHERE: (4266..4267) \" \"\n CONSTANT: (4267..4268)\n NUMBER: (4267..4268) \"4\"\n CLOSE_PAREN: (4268..4269) \")\"\n CLOSE_PAREN: (4269..4270) \")\"\n ATMOSPHERE: (4270..4275) \"\n \"\n FORM: (4275..4295)\n OPEN_PAREN: (4275..4276) \"(\"\n SYMBOL: (4276..4282)\n IDENTIFIER: (4276..4282) \"lambda\"\n ATMOSPHERE: (4282..4283) \" \"\n FORM: (4283..4286)\n OPEN_PAREN: (4283..4284) \"(\"\n SYMBOL: (4284..4285)\n IDENTIFIER: (4284..4285) \"y\"\n CLOSE_PAREN: (4285..4286) \")\"\n ATMOSPHERE: (4286..4287) \" \"\n FORM: (4287..4294)\n OPEN_PAREN: (4287..4288) \"(\"\n SYMBOL: (4288..4289)\n IDENTIFIER: (4288..4289) \"+\"\n ATMOSPHERE: (4289..4290) \" \"\n SYMBOL: (4290..4291)\n IDENTIFIER: (4290..4291) \"x\"\n ATMOSPHERE: (4291..4292) \" \"\n SYMBOL: (4292..4293)\n IDENTIFIER: (4292..4293) \"y\"\n CLOSE_PAREN: (4293..4294) \")\"\n CLOSE_PAREN: (4294..4295) \")\"\n CLOSE_PAREN: (4295..4296) \")\"\n CLOSE_PAREN: (4296..4297) \")\"\n ATMOSPHERE: (4297..4298) \"\n\"\n FORM: (4298..4316)\n OPEN_PAREN: (4298..4299) \"(\"\n SYMBOL: (4299..4303)\n IDENTIFIER: (4299..4303) \"test\"\n ATMOSPHERE: (4303..4304) \" \"\n CONSTANT: (4304..4306)\n NUMBER: (4304..4306) \"10\"\n ATMOSPHERE: (4306..4307) \" \"\n FORM: (4307..4315)\n OPEN_PAREN: (4307..4308) \"(\"\n SYMBOL: (4308..4312)\n IDENTIFIER: (4308..4312) \"add4\"\n ATMOSPHERE: (4312..4313) \" \"\n CONSTANT: (4313..4314)\n NUMBER: (4313..4314) \"6\"\n CLOSE_PAREN: (4314..4315) \")\"\n CLOSE_PAREN: (4315..4316) \")\"\n ATMOSPHERE: (4316..4318) \"\n\n\"\n FORM: (4318..4358)\n OPEN_PAREN: (4318..4319) \"(\"\n SYMBOL: (4319..4323)\n IDENTIFIER: (4319..4323) \"test\"\n ATMOSPHERE: (4323..4324) \" \"\n QUOTED_DATUM: (4324..4335)\n QUOTE: (4324..4325) \"'\"\n FORM: (4325..4334)\n OPEN_PAREN: (4325..4326) \"(\"\n CONSTANT: (4326..4327)\n NUMBER: (4326..4327) \"3\"\n ATMOSPHERE: (4327..4328) \" \"\n CONSTANT: (4328..4329)\n NUMBER: (4328..4329) \"4\"\n ATMOSPHERE: (4329..4330) \" \"\n CONSTANT: (4330..4331)\n NUMBER: (4330..4331) \"5\"\n ATMOSPHERE: (4331..4332) \" \"\n CONSTANT: (4332..4333)\n NUMBER: (4332..4333) \"6\"\n CLOSE_PAREN: (4333..4334) \")\"\n ATMOSPHERE: (4334..4335) \" \"\n FORM: (4335..4357)\n OPEN_PAREN: (4335..4336) \"(\"\n FORM: (4336..4348)\n OPEN_PAREN: (4336..4337) \"(\"\n SYMBOL: (4337..4343)\n IDENTIFIER: (4337..4343) \"lambda\"\n ATMOSPHERE: (4343..4344) \" \"\n SYMBOL: (4344..4345)\n IDENTIFIER: (4344..4345) \"x\"\n ATMOSPHERE: (4345..4346) \" \"\n SYMBOL: (4346..4347)\n IDENTIFIER: (4346..4347) \"x\"\n CLOSE_PAREN: (4347..4348) \")\"\n ATMOSPHERE: (4348..4349) \" \"\n CONSTANT: (4349..4350)\n NUMBER: (4349..4350) \"3\"\n ATMOSPHERE: (4350..4351) \" \"\n CONSTANT: (4351..4352)\n NUMBER: (4351..4352) \"4\"\n ATMOSPHERE: (4352..4353) \" \"\n CONSTANT: (4353..4354)\n NUMBER: (4353..4354) \"5\"\n ATMOSPHERE: (4354..4355) \" \"\n CONSTANT: (4355..4356)\n NUMBER: (4355..4356) \"6\"\n CLOSE_PAREN: (4356..4357) \")\"\n CLOSE_PAREN: (4357..4358) \")\"\n ATMOSPHERE: (4358..4359) \"\n\"\n FORM: (4359..4404)\n OPEN_PAREN: (4359..4360) \"(\"\n SYMBOL: (4360..4364)\n IDENTIFIER: (4360..4364) \"test\"\n ATMOSPHERE: (4364..4365) \" \"\n QUOTED_DATUM: (4365..4372)\n QUOTE: (4365..4366) \"'\"\n FORM: (4366..4371)\n OPEN_PAREN: (4366..4367) \"(\"\n CONSTANT: (4367..4368)\n NUMBER: (4367..4368) \"5\"\n ATMOSPHERE: (4368..4369) \" \"\n CONSTANT: (4369..4370)\n NUMBER: (4369..4370) \"6\"\n CLOSE_PAREN: (4370..4371) \")\"\n ATMOSPHERE: (4371..4372) \" \"\n FORM: (4372..4403)\n OPEN_PAREN: (4372..4373) \"(\"\n FORM: (4373..4393)\n OPEN_PAREN: (4373..4374) \"(\"\n SYMBOL: (4374..4380)\n IDENTIFIER: (4374..4380) \"lambda\"\n ATMOSPHERE: (4380..4381) \" \"\n FORM: (4381..4390)\n OPEN_PAREN: (4381..4382) \"(\"\n SYMBOL: (4382..4383)\n IDENTIFIER: (4382..4383) \"x\"\n ATMOSPHERE: (4383..4384) \" \"\n SYMBOL: (4384..4385)\n IDENTIFIER: (4384..4385) \"y\"\n ATMOSPHERE: (4385..4386) \" \"\n DOTTED_TAIL: (4386..4389)\n DOT: (4386..4387) \".\"\n ATMOSPHERE: (4387..4388) \" \"\n SYMBOL: (4388..4389)\n IDENTIFIER: (4388..4389) \"z\"\n CLOSE_PAREN: (4389..4390) \")\"\n ATMOSPHERE: (4390..4391) \" \"\n SYMBOL: (4391..4392)\n IDENTIFIER: (4391..4392) \"z\"\n CLOSE_PAREN: (4392..4393) \")\"\n ATMOSPHERE: (4393..4395) \"\n \"\n CONSTANT: (4395..4396)\n NUMBER: (4395..4396) \"3\"\n ATMOSPHERE: (4396..4397) \" \"\n CONSTANT: (4397..4398)\n NUMBER: (4397..4398) \"4\"\n ATMOSPHERE: (4398..4399) \" \"\n CONSTANT: (4399..4400)\n NUMBER: (4399..4400) \"5\"\n ATMOSPHERE: (4400..4401) \" \"\n CONSTANT: (4401..4402)\n NUMBER: (4401..4402) \"6\"\n CLOSE_PAREN: (4402..4403) \")\"\n CLOSE_PAREN: (4403..4404) \")\"\n ATMOSPHERE: (4404..4406) \"\n\n\"\n FORM: (4406..4439)\n OPEN_PAREN: (4406..4407) \"(\"\n SYMBOL: (4407..4411)\n IDENTIFIER: (4407..4411) \"test\"\n ATMOSPHERE: (4411..4412) \" \"\n QUOTED_DATUM: (4412..4417)\n QUOTE: (4412..4413) \"'\"\n SYMBOL: (4413..4416)\n IDENTIFIER: (4413..4416) \"yes\"\n ATMOSPHERE: (4416..4417) \" \"\n FORM: (4417..4438)\n OPEN_PAREN: (4417..4418) \"(\"\n SYMBOL: (4418..4420)\n IDENTIFIER: (4418..4420) \"if\"\n ATMOSPHERE: (4420..4421) \" \"\n FORM: (4421..4428)\n OPEN_PAREN: (4421..4422) \"(\"\n SYMBOL: (4422..4423)\n IDENTIFIER: (4422..4423) \">\"\n ATMOSPHERE: (4423..4424) \" \"\n CONSTANT: (4424..4425)\n NUMBER: (4424..4425) \"3\"\n ATMOSPHERE: (4425..4426) \" \"\n CONSTANT: (4426..4427)\n NUMBER: (4426..4427) \"2\"\n CLOSE_PAREN: (4427..4428) \")\"\n ATMOSPHERE: (4428..4429) \" \"\n QUOTED_DATUM: (4429..4434)\n QUOTE: (4429..4430) \"'\"\n SYMBOL: (4430..4433)\n IDENTIFIER: (4430..4433) \"yes\"\n ATMOSPHERE: (4433..4434) \" \"\n QUOTED_DATUM: (4434..4437)\n QUOTE: (4434..4435) \"'\"\n SYMBOL: (4435..4437)\n IDENTIFIER: (4435..4437) \"no\"\n CLOSE_PAREN: (4437..4438) \")\"\n CLOSE_PAREN: (4438..4439) \")\"\n ATMOSPHERE: (4439..4440) \"\n\"\n FORM: (4440..4472)\n OPEN_PAREN: (4440..4441) \"(\"\n SYMBOL: (4441..4445)\n IDENTIFIER: (4441..4445) \"test\"\n ATMOSPHERE: (4445..4446) \" \"\n QUOTED_DATUM: (4446..4450)\n QUOTE: (4446..4447) \"'\"\n SYMBOL: (4447..4449)\n IDENTIFIER: (4447..4449) \"no\"\n ATMOSPHERE: (4449..4450) \" \"\n FORM: (4450..4471)\n OPEN_PAREN: (4450..4451) \"(\"\n SYMBOL: (4451..4453)\n IDENTIFIER: (4451..4453) \"if\"\n ATMOSPHERE: (4453..4454) \" \"\n FORM: (4454..4461)\n OPEN_PAREN: (4454..4455) \"(\"\n SYMBOL: (4455..4456)\n IDENTIFIER: (4455..4456) \">\"\n ATMOSPHERE: (4456..4457) \" \"\n CONSTANT: (4457..4458)\n NUMBER: (4457..4458) \"2\"\n ATMOSPHERE: (4458..4459) \" \"\n CONSTANT: (4459..4460)\n NUMBER: (4459..4460) \"3\"\n CLOSE_PAREN: (4460..4461) \")\"\n ATMOSPHERE: (4461..4462) \" \"\n QUOTED_DATUM: (4462..4467)\n QUOTE: (4462..4463) \"'\"\n SYMBOL: (4463..4466)\n IDENTIFIER: (4463..4466) \"yes\"\n ATMOSPHERE: (4466..4467) \" \"\n QUOTED_DATUM: (4467..4470)\n QUOTE: (4467..4468) \"'\"\n SYMBOL: (4468..4470)\n IDENTIFIER: (4468..4470) \"no\"\n CLOSE_PAREN: (4470..4471) \")\"\n CLOSE_PAREN: (4471..4472) \")\"\n ATMOSPHERE: (4472..4473) \"\n\"\n FORM: (4473..4518)\n OPEN_PAREN: (4473..4474) \"(\"\n SYMBOL: (4474..4478)\n IDENTIFIER: (4474..4478) \"test\"\n ATMOSPHERE: (4478..4479) \" \"\n CONSTANT: (4479..4480)\n NUMBER: (4479..4480) \"1\"\n ATMOSPHERE: (4480..4481) \" \"\n FORM: (4481..4517)\n OPEN_PAREN: (4481..4482) \"(\"\n SYMBOL: (4482..4484)\n IDENTIFIER: (4482..4484) \"if\"\n ATMOSPHERE: (4484..4485) \" \"\n FORM: (4485..4492)\n OPEN_PAREN: (4485..4486) \"(\"\n SYMBOL: (4486..4487)\n IDENTIFIER: (4486..4487) \">\"\n ATMOSPHERE: (4487..4488) \" \"\n CONSTANT: (4488..4489)\n NUMBER: (4488..4489) \"3\"\n ATMOSPHERE: (4489..4490) \" \"\n CONSTANT: (4490..4491)\n NUMBER: (4490..4491) \"2\"\n CLOSE_PAREN: (4491..4492) \")\"\n ATMOSPHERE: (4492..4497) \"\n \"\n FORM: (4497..4504)\n OPEN_PAREN: (4497..4498) \"(\"\n SYMBOL: (4498..4499)\n IDENTIFIER: (4498..4499) \"-\"\n ATMOSPHERE: (4499..4500) \" \"\n CONSTANT: (4500..4501)\n NUMBER: (4500..4501) \"3\"\n ATMOSPHERE: (4501..4502) \" \"\n CONSTANT: (4502..4503)\n NUMBER: (4502..4503) \"2\"\n CLOSE_PAREN: (4503..4504) \")\"\n ATMOSPHERE: (4504..4509) \"\n \"\n FORM: (4509..4516)\n OPEN_PAREN: (4509..4510) \"(\"\n SYMBOL: (4510..4511)\n IDENTIFIER: (4510..4511) \"+\"\n ATMOSPHERE: (4511..4512) \" \"\n CONSTANT: (4512..4513)\n NUMBER: (4512..4513) \"3\"\n ATMOSPHERE: (4513..4514) \" \"\n CONSTANT: (4514..4515)\n NUMBER: (4514..4515) \"2\"\n CLOSE_PAREN: (4515..4516) \")\"\n CLOSE_PAREN: (4516..4517) \")\"\n CLOSE_PAREN: (4517..4518) \")\"\n ATMOSPHERE: (4518..4519) \"\n\"\n FORM: (4519..4561)\n OPEN_PAREN: (4519..4520) \"(\"\n SYMBOL: (4520..4523)\n IDENTIFIER: (4520..4523) \"let\"\n ATMOSPHERE: (4523..4524) \" \"\n FORM: (4524..4526)\n OPEN_PAREN: (4524..4525) \"(\"\n CLOSE_PAREN: (4525..4526) \")\"\n ATMOSPHERE: (4526..4529) \"\n \"\n FORM: (4529..4541)\n OPEN_PAREN: (4529..4530) \"(\"\n SYMBOL: (4530..4536)\n IDENTIFIER: (4530..4536) \"define\"\n ATMOSPHERE: (4536..4537) \" \"\n SYMBOL: (4537..4538)\n IDENTIFIER: (4537..4538) \"x\"\n ATMOSPHERE: (4538..4539) \" \"\n CONSTANT: (4539..4540)\n NUMBER: (4539..4540) \"2\"\n CLOSE_PAREN: (4540..4541) \")\"\n ATMOSPHERE: (4541..4544) \"\n \"\n FORM: (4544..4560)\n OPEN_PAREN: (4544..4545) \"(\"\n SYMBOL: (4545..4549)\n IDENTIFIER: (4545..4549) \"test\"\n ATMOSPHERE: (4549..4550) \" \"\n CONSTANT: (4550..4551)\n NUMBER: (4550..4551) \"3\"\n ATMOSPHERE: (4551..4552) \" \"\n FORM: (4552..4559)\n OPEN_PAREN: (4552..4553) \"(\"\n SYMBOL: (4553..4554)\n IDENTIFIER: (4553..4554) \"+\"\n ATMOSPHERE: (4554..4555) \" \"\n SYMBOL: (4555..4556)\n IDENTIFIER: (4555..4556) \"x\"\n ATMOSPHERE: (4556..4557) \" \"\n CONSTANT: (4557..4558)\n NUMBER: (4557..4558) \"1\"\n CLOSE_PAREN: (4558..4559) \")\"\n CLOSE_PAREN: (4559..4560) \")\"\n CLOSE_PAREN: (4560..4561) \")\"\n ATMOSPHERE: (4561..4563) \"\n\n\"\n FORM: (4563..4573)\n OPEN_PAREN: (4563..4564) \"(\"\n SYMBOL: (4564..4572)\n IDENTIFIER: (4564..4572) \"test-end\"\n CLOSE_PAREN: (4572..4573) \")\"\n ATMOSPHERE: (4573..4575) \"\n\n\"\n FORM: (4575..4618)\n OPEN_PAREN: (4575..4576) \"(\"\n SYMBOL: (4576..4586)\n IDENTIFIER: (4576..4586) \"test-begin\"\n ATMOSPHERE: (4586..4587) \" \"\n CONSTANT: (4587..4617)\n STRING: (4587..4617) \"\"4.2 Derived expression types\"\"\n CLOSE_PAREN: (4617..4618) \")\"\n ATMOSPHERE: (4618..4620) \"\n\n\"\n ATMOSPHERE: (4620..4664) \";;;;; FIXME: No `cond` or `case` support yet\"\n ATMOSPHERE: (4664..4665) \"\n\"\n FORM: (4665..4736)\n OPEN_PAREN: (4665..4666) \"(\"\n SYMBOL: (4666..4670)\n IDENTIFIER: (4666..4670) \"test\"\n ATMOSPHERE: (4670..4671) \" \"\n QUOTED_DATUM: (4671..4684)\n QUOTE: (4671..4672) \"'\"\n SYMBOL: (4672..4679)\n IDENTIFIER: (4672..4679) \"greater\"\n ATMOSPHERE: (4679..4684) \"\n \"\n FORM: (4684..4735)\n OPEN_PAREN: (4684..4685) \"(\"\n SYMBOL: (4685..4689)\n IDENTIFIER: (4685..4689) \"cond\"\n ATMOSPHERE: (4689..4690) \" \"\n FORM: (4690..4708)\n OPEN_PAREN: (4690..4691) \"(\"\n FORM: (4691..4698)\n OPEN_PAREN: (4691..4692) \"(\"\n SYMBOL: (4692..4693)\n IDENTIFIER: (4692..4693) \">\"\n ATMOSPHERE: (4693..4694) \" \"\n CONSTANT: (4694..4695)\n NUMBER: (4694..4695) \"3\"\n ATMOSPHERE: (4695..4696) \" \"\n CONSTANT: (4696..4697)\n NUMBER: (4696..4697) \"2\"\n CLOSE_PAREN: (4697..4698) \")\"\n ATMOSPHERE: (4698..4699) \" \"\n QUOTED_DATUM: (4699..4707)\n QUOTE: (4699..4700) \"'\"\n SYMBOL: (4700..4707)\n IDENTIFIER: (4700..4707) \"greater\"\n CLOSE_PAREN: (4707..4708) \")\"\n ATMOSPHERE: (4708..4719) \"\n \"\n FORM: (4719..4734)\n OPEN_PAREN: (4719..4720) \"(\"\n FORM: (4720..4727)\n OPEN_PAREN: (4720..4721) \"(\"\n SYMBOL: (4721..4722)\n IDENTIFIER: (4721..4722) \"<\"\n ATMOSPHERE: (4722..4723) \" \"\n CONSTANT: (4723..4724)\n NUMBER: (4723..4724) \"3\"\n ATMOSPHERE: (4724..4725) \" \"\n CONSTANT: (4725..4726)\n NUMBER: (4725..4726) \"2\"\n CLOSE_PAREN: (4726..4727) \")\"\n ATMOSPHERE: (4727..4728) \" \"\n QUOTED_DATUM: (4728..4733)\n QUOTE: (4728..4729) \"'\"\n SYMBOL: (4729..4733)\n IDENTIFIER: (4729..4733) \"less\"\n CLOSE_PAREN: (4733..4734) \")\"\n CLOSE_PAREN: (4734..4735) \")\"\n CLOSE_PAREN: (4735..4736) \")\"\n ATMOSPHERE: (4736..4738) \"\n\n\"\n FORM: (4738..4831)\n OPEN_PAREN: (4738..4739) \"(\"\n SYMBOL: (4739..4743)\n IDENTIFIER: (4739..4743) \"test\"\n ATMOSPHERE: (4743..4744) \" \"\n QUOTED_DATUM: (4744..4755)\n QUOTE: (4744..4745) \"'\"\n SYMBOL: (4745..4750)\n IDENTIFIER: (4745..4750) \"equal\"\n ATMOSPHERE: (4750..4755) \"\n \"\n FORM: (4755..4830)\n OPEN_PAREN: (4755..4756) \"(\"\n SYMBOL: (4756..4760)\n IDENTIFIER: (4756..4760) \"cond\"\n ATMOSPHERE: (4760..4761) \" \"\n FORM: (4761..4779)\n OPEN_PAREN: (4761..4762) \"(\"\n FORM: (4762..4769)\n OPEN_PAREN: (4762..4763) \"(\"\n SYMBOL: (4763..4764)\n IDENTIFIER: (4763..4764) \">\"\n ATMOSPHERE: (4764..4765) \" \"\n CONSTANT: (4765..4766)\n NUMBER: (4765..4766) \"3\"\n ATMOSPHERE: (4766..4767) \" \"\n CONSTANT: (4767..4768)\n NUMBER: (4767..4768) \"3\"\n CLOSE_PAREN: (4768..4769) \")\"\n ATMOSPHERE: (4769..4770) \" \"\n QUOTED_DATUM: (4770..4778)\n QUOTE: (4770..4771) \"'\"\n SYMBOL: (4771..4778)\n IDENTIFIER: (4771..4778) \"greater\"\n CLOSE_PAREN: (4778..4779) \")\"\n ATMOSPHERE: (4779..4790) \"\n \"\n FORM: (4790..4805)\n OPEN_PAREN: (4790..4791) \"(\"\n FORM: (4791..4798)\n OPEN_PAREN: (4791..4792) \"(\"\n SYMBOL: (4792..4793)\n IDENTIFIER: (4792..4793) \"<\"\n ATMOSPHERE: (4793..4794) \" \"\n CONSTANT: (4794..4795)\n NUMBER: (4794..4795) \"3\"\n ATMOSPHERE: (4795..4796) \" \"\n CONSTANT: (4796..4797)\n NUMBER: (4796..4797) \"3\"\n CLOSE_PAREN: (4797..4798) \")\"\n ATMOSPHERE: (4798..4799) \" \"\n QUOTED_DATUM: (4799..4804)\n QUOTE: (4799..4800) \"'\"\n SYMBOL: (4800..4804)\n IDENTIFIER: (4800..4804) \"less\"\n CLOSE_PAREN: (4804..4805) \")\"\n ATMOSPHERE: (4805..4816) \"\n \"\n FORM: (4816..4829)\n OPEN_PAREN: (4816..4817) \"(\"\n SYMBOL: (4817..4821)\n IDENTIFIER: (4817..4821) \"else\"\n ATMOSPHERE: (4821..4822) \" \"\n QUOTED_DATUM: (4822..4828)\n QUOTE: (4822..4823) \"'\"\n SYMBOL: (4823..4828)\n IDENTIFIER: (4823..4828) \"equal\"\n CLOSE_PAREN: (4828..4829) \")\"\n CLOSE_PAREN: (4829..4830) \")\"\n CLOSE_PAREN: (4830..4831) \")\"\n ATMOSPHERE: (4831..4833) \"\n\n\"\n ATMOSPHERE: (4833..4843) \";; (test 2\"\n ATMOSPHERE: (4843..4844) \"\n\"\n ATMOSPHERE: (4844..4891) \";; (cond ((assv 'b '((a 1) (b 2))) => cadr)\"\n ATMOSPHERE: (4891..4892) \"\n\"\n ATMOSPHERE: (4892..4916) \";; (else #f)))\"\n ATMOSPHERE: (4916..4918) \"\n\n\"\n ATMOSPHERE: (4918..4937) \";; (test 'composite\"\n ATMOSPHERE: (4937..4938) \"\n\"\n ATMOSPHERE: (4938..4958) \";; (case (* 2 3)\"\n ATMOSPHERE: (4958..4959) \"\n\"\n ATMOSPHERE: (4959..4986) \";; ((2 3 5 7) 'prime)\"\n ATMOSPHERE: (4986..4987) \"\n\"\n ATMOSPHERE: (4987..5022) \";; ((1 4 6 8 9) 'composite)))\"\n ATMOSPHERE: (5022..5024) \"\n\n\"\n ATMOSPHERE: (5024..5035) \";; (test 'c\"\n ATMOSPHERE: (5035..5036) \"\n\"\n ATMOSPHERE: (5036..5061) \";; (case (car '(c d))\"\n ATMOSPHERE: (5061..5062) \"\n\"\n ATMOSPHERE: (5062..5091) \";; ((a e i o u) 'vowel)\"\n ATMOSPHERE: (5091..5092) \"\n\"\n ATMOSPHERE: (5092..5119) \";; ((w y) 'semivowel)\"\n ATMOSPHERE: (5119..5120) \"\n\"\n ATMOSPHERE: (5120..5155) \";; (else => (lambda (x) x))))\"\n ATMOSPHERE: (5155..5157) \"\n\n\"\n ATMOSPHERE: (5157..5207) \";; (test '((other . z) (semivowel . y) (other . x)\"\n ATMOSPHERE: (5207..5208) \"\n\"\n ATMOSPHERE: (5208..5247) \";; (semivowel . w) (vowel . u))\"\n ATMOSPHERE: (5247..5248) \"\n\"\n ATMOSPHERE: (5248..5271) \";; (map (lambda (x)\"\n ATMOSPHERE: (5271..5272) \"\n\"\n ATMOSPHERE: (5272..5293) \";; (case x\"\n ATMOSPHERE: (5293..5294) \"\n\"\n ATMOSPHERE: (5294..5355) \";; ((a e i o u) => (lambda (w) (cons 'vowel w)))\"\n ATMOSPHERE: (5355..5356) \"\n\"\n ATMOSPHERE: (5356..5399) \";; ((w y) (cons 'semivowel x))\"\n ATMOSPHERE: (5399..5400) \"\n\"\n ATMOSPHERE: (5400..5456) \";; (else => (lambda (w) (cons 'other w)))))\"\n ATMOSPHERE: (5456..5457) \"\n\"\n ATMOSPHERE: (5457..5483) \";; '(z y x w u)))\"\n ATMOSPHERE: (5483..5485) \"\n\n\"\n FORM: (5485..5516)\n OPEN_PAREN: (5485..5486) \"(\"\n SYMBOL: (5486..5490)\n IDENTIFIER: (5486..5490) \"test\"\n ATMOSPHERE: (5490..5491) \" \"\n CONSTANT: (5491..5493)\n BOOLEAN: (5491..5493) \"#t\"\n ATMOSPHERE: (5493..5494) \" \"\n FORM: (5494..5515)\n OPEN_PAREN: (5494..5495) \"(\"\n SYMBOL: (5495..5498)\n IDENTIFIER: (5495..5498) \"and\"\n ATMOSPHERE: (5498..5499) \" \"\n FORM: (5499..5506)\n OPEN_PAREN: (5499..5500) \"(\"\n SYMBOL: (5500..5501)\n IDENTIFIER: (5500..5501) \"=\"\n ATMOSPHERE: (5501..5502) \" \"\n CONSTANT: (5502..5503)\n NUMBER: (5502..5503) \"2\"\n ATMOSPHERE: (5503..5504) \" \"\n CONSTANT: (5504..5505)\n NUMBER: (5504..5505) \"2\"\n CLOSE_PAREN: (5505..5506) \")\"\n ATMOSPHERE: (5506..5507) \" \"\n FORM: (5507..5514)\n OPEN_PAREN: (5507..5508) \"(\"\n SYMBOL: (5508..5509)\n IDENTIFIER: (5508..5509) \">\"\n ATMOSPHERE: (5509..5510) \" \"\n CONSTANT: (5510..5511)\n NUMBER: (5510..5511) \"2\"\n ATMOSPHERE: (5511..5512) \" \"\n CONSTANT: (5512..5513)\n NUMBER: (5512..5513) \"1\"\n CLOSE_PAREN: (5513..5514) \")\"\n CLOSE_PAREN: (5514..5515) \")\"\n CLOSE_PAREN: (5515..5516) \")\"\n ATMOSPHERE: (5516..5517) \"\n\"\n FORM: (5517..5548)\n OPEN_PAREN: (5517..5518) \"(\"\n SYMBOL: (5518..5522)\n IDENTIFIER: (5518..5522) \"test\"\n ATMOSPHERE: (5522..5523) \" \"\n CONSTANT: (5523..5525)\n BOOLEAN: (5523..5525) \"#f\"\n ATMOSPHERE: (5525..5526) \" \"\n FORM: (5526..5547)\n OPEN_PAREN: (5526..5527) \"(\"\n SYMBOL: (5527..5530)\n IDENTIFIER: (5527..5530) \"and\"\n ATMOSPHERE: (5530..5531) \" \"\n FORM: (5531..5538)\n OPEN_PAREN: (5531..5532) \"(\"\n SYMBOL: (5532..5533)\n IDENTIFIER: (5532..5533) \"=\"\n ATMOSPHERE: (5533..5534) \" \"\n CONSTANT: (5534..5535)\n NUMBER: (5534..5535) \"2\"\n ATMOSPHERE: (5535..5536) \" \"\n CONSTANT: (5536..5537)\n NUMBER: (5536..5537) \"2\"\n CLOSE_PAREN: (5537..5538) \")\"\n ATMOSPHERE: (5538..5539) \" \"\n FORM: (5539..5546)\n OPEN_PAREN: (5539..5540) \"(\"\n SYMBOL: (5540..5541)\n IDENTIFIER: (5540..5541) \"<\"\n ATMOSPHERE: (5541..5542) \" \"\n CONSTANT: (5542..5543)\n NUMBER: (5542..5543) \"2\"\n ATMOSPHERE: (5543..5544) \" \"\n CONSTANT: (5544..5545)\n NUMBER: (5544..5545) \"1\"\n CLOSE_PAREN: (5545..5546) \")\"\n CLOSE_PAREN: (5546..5547) \")\"\n CLOSE_PAREN: (5547..5548) \")\"\n ATMOSPHERE: (5548..5549) \"\n\"\n FORM: (5549..5582)\n OPEN_PAREN: (5549..5550) \"(\"\n SYMBOL: (5550..5554)\n IDENTIFIER: (5550..5554) \"test\"\n ATMOSPHERE: (5554..5555) \" \"\n QUOTED_DATUM: (5555..5562)\n QUOTE: (5555..5556) \"'\"\n FORM: (5556..5561)\n OPEN_PAREN: (5556..5557) \"(\"\n SYMBOL: (5557..5558)\n IDENTIFIER: (5557..5558) \"f\"\n ATMOSPHERE: (5558..5559) \" \"\n SYMBOL: (5559..5560)\n IDENTIFIER: (5559..5560) \"g\"\n CLOSE_PAREN: (5560..5561) \")\"\n ATMOSPHERE: (5561..5562) \" \"\n FORM: (5562..5581)\n OPEN_PAREN: (5562..5563) \"(\"\n SYMBOL: (5563..5566)\n IDENTIFIER: (5563..5566) \"and\"\n ATMOSPHERE: (5566..5567) \" \"\n CONSTANT: (5567..5568)\n NUMBER: (5567..5568) \"1\"\n ATMOSPHERE: (5568..5569) \" \"\n CONSTANT: (5569..5570)\n NUMBER: (5569..5570) \"2\"\n ATMOSPHERE: (5570..5571) \" \"\n QUOTED_DATUM: (5571..5574)\n QUOTE: (5571..5572) \"'\"\n SYMBOL: (5572..5573)\n IDENTIFIER: (5572..5573) \"c\"\n ATMOSPHERE: (5573..5574) \" \"\n QUOTED_DATUM: (5574..5580)\n QUOTE: (5574..5575) \"'\"\n FORM: (5575..5580)\n OPEN_PAREN: (5575..5576) \"(\"\n SYMBOL: (5576..5577)\n IDENTIFIER: (5576..5577) \"f\"\n ATMOSPHERE: (5577..5578) \" \"\n SYMBOL: (5578..5579)\n IDENTIFIER: (5578..5579) \"g\"\n CLOSE_PAREN: (5579..5580) \")\"\n CLOSE_PAREN: (5580..5581) \")\"\n CLOSE_PAREN: (5581..5582) \")\"\n ATMOSPHERE: (5582..5583) \"\n\"\n FORM: (5583..5598)\n OPEN_PAREN: (5583..5584) \"(\"\n SYMBOL: (5584..5588)\n IDENTIFIER: (5584..5588) \"test\"\n ATMOSPHERE: (5588..5589) \" \"\n CONSTANT: (5589..5591)\n BOOLEAN: (5589..5591) \"#t\"\n ATMOSPHERE: (5591..5592) \" \"\n FORM: (5592..5597)\n OPEN_PAREN: (5592..5593) \"(\"\n SYMBOL: (5593..5596)\n IDENTIFIER: (5593..5596) \"and\"\n CLOSE_PAREN: (5596..5597) \")\"\n CLOSE_PAREN: (5597..5598) \")\"\n ATMOSPHERE: (5598..5600) \"\n\n\"\n FORM: (5600..5630)\n OPEN_PAREN: (5600..5601) \"(\"\n SYMBOL: (5601..5605)\n IDENTIFIER: (5601..5605) \"test\"\n ATMOSPHERE: (5605..5606) \" \"\n CONSTANT: (5606..5608)\n BOOLEAN: (5606..5608) \"#t\"\n ATMOSPHERE: (5608..5609) \" \"\n FORM: (5609..5629)\n OPEN_PAREN: (5609..5610) \"(\"\n SYMBOL: (5610..5612)\n IDENTIFIER: (5610..5612) \"or\"\n ATMOSPHERE: (5612..5613) \" \"\n FORM: (5613..5620)\n OPEN_PAREN: (5613..5614) \"(\"\n SYMBOL: (5614..5615)\n IDENTIFIER: (5614..5615) \"=\"\n ATMOSPHERE: (5615..5616) \" \"\n CONSTANT: (5616..5617)\n NUMBER: (5616..5617) \"2\"\n ATMOSPHERE: (5617..5618) \" \"\n CONSTANT: (5618..5619)\n NUMBER: (5618..5619) \"2\"\n CLOSE_PAREN: (5619..5620) \")\"\n ATMOSPHERE: (5620..5621) \" \"\n FORM: (5621..5628)\n OPEN_PAREN: (5621..5622) \"(\"\n SYMBOL: (5622..5623)\n IDENTIFIER: (5622..5623) \">\"\n ATMOSPHERE: (5623..5624) \" \"\n CONSTANT: (5624..5625)\n NUMBER: (5624..5625) \"2\"\n ATMOSPHERE: (5625..5626) \" \"\n CONSTANT: (5626..5627)\n NUMBER: (5626..5627) \"1\"\n CLOSE_PAREN: (5627..5628) \")\"\n CLOSE_PAREN: (5628..5629) \")\"\n CLOSE_PAREN: (5629..5630) \")\"\n ATMOSPHERE: (5630..5631) \"\n\"\n FORM: (5631..5661)\n OPEN_PAREN: (5631..5632) \"(\"\n SYMBOL: (5632..5636)\n IDENTIFIER: (5632..5636) \"test\"\n ATMOSPHERE: (5636..5637) \" \"\n CONSTANT: (5637..5639)\n BOOLEAN: (5637..5639) \"#t\"\n ATMOSPHERE: (5639..5640) \" \"\n FORM: (5640..5660)\n OPEN_PAREN: (5640..5641) \"(\"\n SYMBOL: (5641..5643)\n IDENTIFIER: (5641..5643) \"or\"\n ATMOSPHERE: (5643..5644) \" \"\n FORM: (5644..5651)\n OPEN_PAREN: (5644..5645) \"(\"\n SYMBOL: (5645..5646)\n IDENTIFIER: (5645..5646) \"=\"\n ATMOSPHERE: (5646..5647) \" \"\n CONSTANT: (5647..5648)\n NUMBER: (5647..5648) \"2\"\n ATMOSPHERE: (5648..5649) \" \"\n CONSTANT: (5649..5650)\n NUMBER: (5649..5650) \"2\"\n CLOSE_PAREN: (5650..5651) \")\"\n ATMOSPHERE: (5651..5652) \" \"\n FORM: (5652..5659)\n OPEN_PAREN: (5652..5653) \"(\"\n SYMBOL: (5653..5654)\n IDENTIFIER: (5653..5654) \"<\"\n ATMOSPHERE: (5654..5655) \" \"\n CONSTANT: (5655..5656)\n NUMBER: (5655..5656) \"2\"\n ATMOSPHERE: (5656..5657) \" \"\n CONSTANT: (5657..5658)\n NUMBER: (5657..5658) \"1\"\n CLOSE_PAREN: (5658..5659) \")\"\n CLOSE_PAREN: (5659..5660) \")\"\n CLOSE_PAREN: (5660..5661) \")\"\n ATMOSPHERE: (5661..5662) \"\n\"\n FORM: (5662..5685)\n OPEN_PAREN: (5662..5663) \"(\"\n SYMBOL: (5663..5667)\n IDENTIFIER: (5663..5667) \"test\"\n ATMOSPHERE: (5667..5668) \" \"\n CONSTANT: (5668..5670)\n BOOLEAN: (5668..5670) \"#f\"\n ATMOSPHERE: (5670..5671) \" \"\n FORM: (5671..5684)\n OPEN_PAREN: (5671..5672) \"(\"\n SYMBOL: (5672..5674)\n IDENTIFIER: (5672..5674) \"or\"\n ATMOSPHERE: (5674..5675) \" \"\n CONSTANT: (5675..5677)\n BOOLEAN: (5675..5677) \"#f\"\n ATMOSPHERE: (5677..5678) \" \"\n CONSTANT: (5678..5680)\n BOOLEAN: (5678..5680) \"#f\"\n ATMOSPHERE: (5680..5681) \" \"\n CONSTANT: (5681..5683)\n BOOLEAN: (5681..5683) \"#f\"\n CLOSE_PAREN: (5683..5684) \")\"\n CLOSE_PAREN: (5684..5685) \")\"\n ATMOSPHERE: (5685..5686) \"\n\"\n FORM: (5686..5759)\n OPEN_PAREN: (5686..5687) \"(\"\n SYMBOL: (5687..5691)\n IDENTIFIER: (5687..5691) \"test\"\n ATMOSPHERE: (5691..5692) \" \"\n QUOTED_DATUM: (5692..5699)\n QUOTE: (5692..5693) \"'\"\n FORM: (5693..5698)\n OPEN_PAREN: (5693..5694) \"(\"\n SYMBOL: (5694..5695)\n IDENTIFIER: (5694..5695) \"b\"\n ATMOSPHERE: (5695..5696) \" \"\n SYMBOL: (5696..5697)\n IDENTIFIER: (5696..5697) \"c\"\n CLOSE_PAREN: (5697..5698) \")\"\n ATMOSPHERE: (5698..5699) \" \"\n FORM: (5699..5758)\n OPEN_PAREN: (5699..5700) \"(\"\n SYMBOL: (5700..5702)\n IDENTIFIER: (5700..5702) \"or\"\n ATMOSPHERE: (5702..5703) \" \"\n FORM: (5703..5721)\n OPEN_PAREN: (5703..5704) \"(\"\n SYMBOL: (5704..5708)\n IDENTIFIER: (5704..5708) \"memq\"\n ATMOSPHERE: (5708..5709) \" \"\n QUOTED_DATUM: (5709..5712)\n QUOTE: (5709..5710) \"'\"\n SYMBOL: (5710..5711)\n IDENTIFIER: (5710..5711) \"b\"\n ATMOSPHERE: (5711..5712) \" \"\n QUOTED_DATUM: (5712..5720)\n QUOTE: (5712..5713) \"'\"\n FORM: (5713..5720)\n OPEN_PAREN: (5713..5714) \"(\"\n SYMBOL: (5714..5715)\n IDENTIFIER: (5714..5715) \"a\"\n ATMOSPHERE: (5715..5716) \" \"\n SYMBOL: (5716..5717)\n IDENTIFIER: (5716..5717) \"b\"\n ATMOSPHERE: (5717..5718) \" \"\n SYMBOL: (5718..5719)\n IDENTIFIER: (5718..5719) \"c\"\n CLOSE_PAREN: (5719..5720) \")\"\n CLOSE_PAREN: (5720..5721) \")\"\n ATMOSPHERE: (5721..5722) \" \"\n ATMOSPHERE: (5722..5745) \";; FIXME: No `memq` yet\"\n ATMOSPHERE: (5745..5750) \"\n \"\n FORM: (5750..5757)\n OPEN_PAREN: (5750..5751) \"(\"\n SYMBOL: (5751..5752)\n IDENTIFIER: (5751..5752) \"/\"\n ATMOSPHERE: (5752..5753) \" \"\n CONSTANT: (5753..5754)\n NUMBER: (5753..5754) \"3\"\n ATMOSPHERE: (5754..5755) \" \"\n CONSTANT: (5755..5756)\n NUMBER: (5755..5756) \"0\"\n CLOSE_PAREN: (5756..5757) \")\"\n CLOSE_PAREN: (5757..5758) \")\"\n CLOSE_PAREN: (5758..5759) \")\"\n ATMOSPHERE: (5759..5761) \"\n\n\"\n FORM: (5761..5799)\n OPEN_PAREN: (5761..5762) \"(\"\n SYMBOL: (5762..5766)\n IDENTIFIER: (5762..5766) \"test\"\n ATMOSPHERE: (5766..5767) \" \"\n CONSTANT: (5767..5768)\n NUMBER: (5767..5768) \"6\"\n ATMOSPHERE: (5768..5769) \" \"\n FORM: (5769..5798)\n OPEN_PAREN: (5769..5770) \"(\"\n SYMBOL: (5770..5773)\n IDENTIFIER: (5770..5773) \"let\"\n ATMOSPHERE: (5773..5774) \" \"\n FORM: (5774..5787)\n OPEN_PAREN: (5774..5775) \"(\"\n FORM: (5775..5780)\n OPEN_PAREN: (5775..5776) \"(\"\n SYMBOL: (5776..5777)\n IDENTIFIER: (5776..5777) \"x\"\n ATMOSPHERE: (5777..5778) \" \"\n CONSTANT: (5778..5779)\n NUMBER: (5778..5779) \"2\"\n CLOSE_PAREN: (5779..5780) \")\"\n ATMOSPHERE: (5780..5781) \" \"\n FORM: (5781..5786)\n OPEN_PAREN: (5781..5782) \"(\"\n SYMBOL: (5782..5783)\n IDENTIFIER: (5782..5783) \"y\"\n ATMOSPHERE: (5783..5784) \" \"\n CONSTANT: (5784..5785)\n NUMBER: (5784..5785) \"3\"\n CLOSE_PAREN: (5785..5786) \")\"\n CLOSE_PAREN: (5786..5787) \")\"\n ATMOSPHERE: (5787..5790) \"\n \"\n FORM: (5790..5797)\n OPEN_PAREN: (5790..5791) \"(\"\n SYMBOL: (5791..5792)\n IDENTIFIER: (5791..5792) \"*\"\n ATMOSPHERE: (5792..5793) \" \"\n SYMBOL: (5793..5794)\n IDENTIFIER: (5793..5794) \"x\"\n ATMOSPHERE: (5794..5795) \" \"\n SYMBOL: (5795..5796)\n IDENTIFIER: (5795..5796) \"y\"\n CLOSE_PAREN: (5796..5797) \")\"\n CLOSE_PAREN: (5797..5798) \")\"\n CLOSE_PAREN: (5798..5799) \")\"\n ATMOSPHERE: (5799..5801) \"\n\n\"\n FORM: (5801..5878)\n OPEN_PAREN: (5801..5802) \"(\"\n SYMBOL: (5802..5806)\n IDENTIFIER: (5802..5806) \"test\"\n ATMOSPHERE: (5806..5807) \" \"\n CONSTANT: (5807..5809)\n NUMBER: (5807..5809) \"35\"\n ATMOSPHERE: (5809..5810) \" \"\n FORM: (5810..5877)\n OPEN_PAREN: (5810..5811) \"(\"\n SYMBOL: (5811..5814)\n IDENTIFIER: (5811..5814) \"let\"\n ATMOSPHERE: (5814..5815) \" \"\n FORM: (5815..5828)\n OPEN_PAREN: (5815..5816) \"(\"\n FORM: (5816..5821)\n OPEN_PAREN: (5816..5817) \"(\"\n SYMBOL: (5817..5818)\n IDENTIFIER: (5817..5818) \"x\"\n ATMOSPHERE: (5818..5819) \" \"\n CONSTANT: (5819..5820)\n NUMBER: (5819..5820) \"2\"\n CLOSE_PAREN: (5820..5821) \")\"\n ATMOSPHERE: (5821..5822) \" \"\n FORM: (5822..5827)\n OPEN_PAREN: (5822..5823) \"(\"\n SYMBOL: (5823..5824)\n IDENTIFIER: (5823..5824) \"y\"\n ATMOSPHERE: (5824..5825) \" \"\n CONSTANT: (5825..5826)\n NUMBER: (5825..5826) \"3\"\n CLOSE_PAREN: (5826..5827) \")\"\n CLOSE_PAREN: (5827..5828) \")\"\n ATMOSPHERE: (5828..5831) \"\n \"\n FORM: (5831..5876)\n OPEN_PAREN: (5831..5832) \"(\"\n SYMBOL: (5832..5835)\n IDENTIFIER: (5832..5835) \"let\"\n ATMOSPHERE: (5835..5836) \" \"\n FORM: (5836..5863)\n OPEN_PAREN: (5836..5837) \"(\"\n FORM: (5837..5842)\n OPEN_PAREN: (5837..5838) \"(\"\n SYMBOL: (5838..5839)\n IDENTIFIER: (5838..5839) \"x\"\n ATMOSPHERE: (5839..5840) \" \"\n CONSTANT: (5840..5841)\n NUMBER: (5840..5841) \"7\"\n CLOSE_PAREN: (5841..5842) \")\"\n ATMOSPHERE: (5842..5851) \"\n \"\n FORM: (5851..5862)\n OPEN_PAREN: (5851..5852) \"(\"\n SYMBOL: (5852..5853)\n IDENTIFIER: (5852..5853) \"z\"\n ATMOSPHERE: (5853..5854) \" \"\n FORM: (5854..5861)\n OPEN_PAREN: (5854..5855) \"(\"\n SYMBOL: (5855..5856)\n IDENTIFIER: (5855..5856) \"+\"\n ATMOSPHERE: (5856..5857) \" \"\n SYMBOL: (5857..5858)\n IDENTIFIER: (5857..5858) \"x\"\n ATMOSPHERE: (5858..5859) \" \"\n SYMBOL: (5859..5860)\n IDENTIFIER: (5859..5860) \"y\"\n CLOSE_PAREN: (5860..5861) \")\"\n CLOSE_PAREN: (5861..5862) \")\"\n CLOSE_PAREN: (5862..5863) \")\"\n ATMOSPHERE: (5863..5868) \"\n \"\n FORM: (5868..5875)\n OPEN_PAREN: (5868..5869) \"(\"\n SYMBOL: (5869..5870)\n IDENTIFIER: (5869..5870) \"*\"\n ATMOSPHERE: (5870..5871) \" \"\n SYMBOL: (5871..5872)\n IDENTIFIER: (5871..5872) \"z\"\n ATMOSPHERE: (5872..5873) \" \"\n SYMBOL: (5873..5874)\n IDENTIFIER: (5873..5874) \"x\"\n CLOSE_PAREN: (5874..5875) \")\"\n CLOSE_PAREN: (5875..5876) \")\"\n CLOSE_PAREN: (5876..5877) \")\"\n CLOSE_PAREN: (5877..5878) \")\"\n ATMOSPHERE: (5878..5880) \"\n\n\"\n FORM: (5880..5959)\n OPEN_PAREN: (5880..5881) \"(\"\n SYMBOL: (5881..5885)\n IDENTIFIER: (5881..5885) \"test\"\n ATMOSPHERE: (5885..5886) \" \"\n CONSTANT: (5886..5888)\n NUMBER: (5886..5888) \"70\"\n ATMOSPHERE: (5888..5889) \" \"\n FORM: (5889..5958)\n OPEN_PAREN: (5889..5890) \"(\"\n SYMBOL: (5890..5893)\n IDENTIFIER: (5890..5893) \"let\"\n ATMOSPHERE: (5893..5894) \" \"\n FORM: (5894..5907)\n OPEN_PAREN: (5894..5895) \"(\"\n FORM: (5895..5900)\n OPEN_PAREN: (5895..5896) \"(\"\n SYMBOL: (5896..5897)\n IDENTIFIER: (5896..5897) \"x\"\n ATMOSPHERE: (5897..5898) \" \"\n CONSTANT: (5898..5899)\n NUMBER: (5898..5899) \"2\"\n CLOSE_PAREN: (5899..5900) \")\"\n ATMOSPHERE: (5900..5901) \" \"\n FORM: (5901..5906)\n OPEN_PAREN: (5901..5902) \"(\"\n SYMBOL: (5902..5903)\n IDENTIFIER: (5902..5903) \"y\"\n ATMOSPHERE: (5903..5904) \" \"\n CONSTANT: (5904..5905)\n NUMBER: (5904..5905) \"3\"\n CLOSE_PAREN: (5905..5906) \")\"\n CLOSE_PAREN: (5906..5907) \")\"\n ATMOSPHERE: (5907..5910) \"\n \"\n FORM: (5910..5957)\n OPEN_PAREN: (5910..5911) \"(\"\n SYMBOL: (5911..5915)\n IDENTIFIER: (5911..5915) \"let*\"\n ATMOSPHERE: (5915..5916) \" \"\n FORM: (5916..5944)\n OPEN_PAREN: (5916..5917) \"(\"\n FORM: (5917..5922)\n OPEN_PAREN: (5917..5918) \"(\"\n SYMBOL: (5918..5919)\n IDENTIFIER: (5918..5919) \"x\"\n ATMOSPHERE: (5919..5920) \" \"\n CONSTANT: (5920..5921)\n NUMBER: (5920..5921) \"7\"\n CLOSE_PAREN: (5921..5922) \")\"\n ATMOSPHERE: (5922..5932) \"\n \"\n FORM: (5932..5943)\n OPEN_PAREN: (5932..5933) \"(\"\n SYMBOL: (5933..5934)\n IDENTIFIER: (5933..5934) \"z\"\n ATMOSPHERE: (5934..5935) \" \"\n FORM: (5935..5942)\n OPEN_PAREN: (5935..5936) \"(\"\n SYMBOL: (5936..5937)\n IDENTIFIER: (5936..5937) \"+\"\n ATMOSPHERE: (5937..5938) \" \"\n SYMBOL: (5938..5939)\n IDENTIFIER: (5938..5939) \"x\"\n ATMOSPHERE: (5939..5940) \" \"\n SYMBOL: (5940..5941)\n IDENTIFIER: (5940..5941) \"y\"\n CLOSE_PAREN: (5941..5942) \")\"\n CLOSE_PAREN: (5942..5943) \")\"\n CLOSE_PAREN: (5943..5944) \")\"\n ATMOSPHERE: (5944..5949) \"\n \"\n FORM: (5949..5956)\n OPEN_PAREN: (5949..5950) \"(\"\n SYMBOL: (5950..5951)\n IDENTIFIER: (5950..5951) \"*\"\n ATMOSPHERE: (5951..5952) \" \"\n SYMBOL: (5952..5953)\n IDENTIFIER: (5952..5953) \"z\"\n ATMOSPHERE: (5953..5954) \" \"\n SYMBOL: (5954..5955)\n IDENTIFIER: (5954..5955) \"x\"\n CLOSE_PAREN: (5955..5956) \")\"\n CLOSE_PAREN: (5956..5957) \")\"\n CLOSE_PAREN: (5957..5958) \")\"\n CLOSE_PAREN: (5958..5959) \")\"\n ATMOSPHERE: (5959..5961) \"\n\n\"\n FORM: (5961..6263)\n OPEN_PAREN: (5961..5962) \"(\"\n SYMBOL: (5962..5966)\n IDENTIFIER: (5962..5966) \"test\"\n ATMOSPHERE: (5966..5967) \" \"\n CONSTANT: (5967..5969)\n BOOLEAN: (5967..5969) \"#t\"\n ATMOSPHERE: (5969..5974) \"\n \"\n FORM: (5974..6262)\n OPEN_PAREN: (5974..5975) \"(\"\n SYMBOL: (5975..5981)\n IDENTIFIER: (5975..5981) \"letrec\"\n ATMOSPHERE: (5981..5982) \" \"\n FORM: (5982..6244)\n OPEN_PAREN: (5982..5983) \"(\"\n FORM: (5983..6106)\n OPEN_PAREN: (5983..5984) \"(\"\n SYMBOL: (5984..5989)\n IDENTIFIER: (5984..5989) \"even?\"\n ATMOSPHERE: (5989..6004) \"\n \"\n FORM: (6004..6105)\n OPEN_PAREN: (6004..6005) \"(\"\n SYMBOL: (6005..6011)\n IDENTIFIER: (6005..6011) \"lambda\"\n ATMOSPHERE: (6011..6012) \" \"\n FORM: (6012..6015)\n OPEN_PAREN: (6012..6013) \"(\"\n SYMBOL: (6013..6014)\n IDENTIFIER: (6013..6014) \"n\"\n CLOSE_PAREN: (6014..6015) \")\"\n ATMOSPHERE: (6015..6032) \"\n \"\n FORM: (6032..6104)\n OPEN_PAREN: (6032..6033) \"(\"\n SYMBOL: (6033..6035)\n IDENTIFIER: (6033..6035) \"if\"\n ATMOSPHERE: (6035..6036) \" \"\n FORM: (6036..6045)\n OPEN_PAREN: (6036..6037) \"(\"\n SYMBOL: (6037..6042)\n IDENTIFIER: (6037..6042) \"zero?\"\n ATMOSPHERE: (6042..6043) \" \"\n SYMBOL: (6043..6044)\n IDENTIFIER: (6043..6044) \"n\"\n CLOSE_PAREN: (6044..6045) \")\"\n ATMOSPHERE: (6045..6066) \"\n \"\n CONSTANT: (6066..6068)\n BOOLEAN: (6066..6068) \"#t\"\n ATMOSPHERE: (6068..6089) \"\n \"\n FORM: (6089..6103)\n OPEN_PAREN: (6089..6090) \"(\"\n SYMBOL: (6090..6094)\n IDENTIFIER: (6090..6094) \"odd?\"\n ATMOSPHERE: (6094..6095) \" \"\n FORM: (6095..6102)\n OPEN_PAREN: (6095..6096) \"(\"\n SYMBOL: (6096..6097)\n IDENTIFIER: (6096..6097) \"-\"\n ATMOSPHERE: (6097..6098) \" \"\n SYMBOL: (6098..6099)\n IDENTIFIER: (6098..6099) \"n\"\n ATMOSPHERE: (6099..6100) \" \"\n CONSTANT: (6100..6101)\n NUMBER: (6100..6101) \"1\"\n CLOSE_PAREN: (6101..6102) \")\"\n CLOSE_PAREN: (6102..6103) \")\"\n CLOSE_PAREN: (6103..6104) \")\"\n CLOSE_PAREN: (6104..6105) \")\"\n CLOSE_PAREN: (6105..6106) \")\"\n ATMOSPHERE: (6106..6120) \"\n \"\n FORM: (6120..6243)\n OPEN_PAREN: (6120..6121) \"(\"\n SYMBOL: (6121..6125)\n IDENTIFIER: (6121..6125) \"odd?\"\n ATMOSPHERE: (6125..6140) \"\n \"\n FORM: (6140..6242)\n OPEN_PAREN: (6140..6141) \"(\"\n SYMBOL: (6141..6147)\n IDENTIFIER: (6141..6147) \"lambda\"\n ATMOSPHERE: (6147..6148) \" \"\n FORM: (6148..6151)\n OPEN_PAREN: (6148..6149) \"(\"\n SYMBOL: (6149..6150)\n IDENTIFIER: (6149..6150) \"n\"\n CLOSE_PAREN: (6150..6151) \")\"\n ATMOSPHERE: (6151..6168) \"\n \"\n FORM: (6168..6241)\n OPEN_PAREN: (6168..6169) \"(\"\n SYMBOL: (6169..6171)\n IDENTIFIER: (6169..6171) \"if\"\n ATMOSPHERE: (6171..6172) \" \"\n FORM: (6172..6181)\n OPEN_PAREN: (6172..6173) \"(\"\n SYMBOL: (6173..6178)\n IDENTIFIER: (6173..6178) \"zero?\"\n ATMOSPHERE: (6178..6179) \" \"\n SYMBOL: (6179..6180)\n IDENTIFIER: (6179..6180) \"n\"\n CLOSE_PAREN: (6180..6181) \")\"\n ATMOSPHERE: (6181..6202) \"\n \"\n CONSTANT: (6202..6204)\n BOOLEAN: (6202..6204) \"#f\"\n ATMOSPHERE: (6204..6225) \"\n \"\n FORM: (6225..6240)\n OPEN_PAREN: (6225..6226) \"(\"\n SYMBOL: (6226..6231)\n IDENTIFIER: (6226..6231) \"even?\"\n ATMOSPHERE: (6231..6232) \" \"\n FORM: (6232..6239)\n OPEN_PAREN: (6232..6233) \"(\"\n SYMBOL: (6233..6234)\n IDENTIFIER: (6233..6234) \"-\"\n ATMOSPHERE: (6234..6235) \" \"\n SYMBOL: (6235..6236)\n IDENTIFIER: (6235..6236) \"n\"\n ATMOSPHERE: (6236..6237) \" \"\n CONSTANT: (6237..6238)\n NUMBER: (6237..6238) \"1\"\n CLOSE_PAREN: (6238..6239) \")\"\n CLOSE_PAREN: (6239..6240) \")\"\n CLOSE_PAREN: (6240..6241) \")\"\n CLOSE_PAREN: (6241..6242) \")\"\n CLOSE_PAREN: (6242..6243) \")\"\n CLOSE_PAREN: (6243..6244) \")\"\n ATMOSPHERE: (6244..6251) \"\n \"\n FORM: (6251..6261)\n OPEN_PAREN: (6251..6252) \"(\"\n SYMBOL: (6252..6257)\n IDENTIFIER: (6252..6257) \"even?\"\n ATMOSPHERE: (6257..6258) \" \"\n CONSTANT: (6258..6260)\n NUMBER: (6258..6260) \"88\"\n CLOSE_PAREN: (6260..6261) \")\"\n CLOSE_PAREN: (6261..6262) \")\"\n CLOSE_PAREN: (6262..6263) \")\"\n ATMOSPHERE: (6263..6265) \"\n\n\"\n FORM: (6265..6555)\n OPEN_PAREN: (6265..6266) \"(\"\n SYMBOL: (6266..6270)\n IDENTIFIER: (6266..6270) \"test\"\n ATMOSPHERE: (6270..6271) \" \"\n CONSTANT: (6271..6272)\n NUMBER: (6271..6272) \"5\"\n ATMOSPHERE: (6272..6277) \"\n \"\n FORM: (6277..6554)\n OPEN_PAREN: (6277..6278) \"(\"\n SYMBOL: (6278..6285)\n IDENTIFIER: (6278..6285) \"letrec*\"\n ATMOSPHERE: (6285..6286) \" \"\n FORM: (6286..6538)\n OPEN_PAREN: (6286..6287) \"(\"\n FORM: (6287..6353)\n OPEN_PAREN: (6287..6288) \"(\"\n SYMBOL: (6288..6289)\n IDENTIFIER: (6288..6289) \"p\"\n ATMOSPHERE: (6289..6305) \"\n \"\n FORM: (6305..6352)\n OPEN_PAREN: (6305..6306) \"(\"\n SYMBOL: (6306..6312)\n IDENTIFIER: (6306..6312) \"lambda\"\n ATMOSPHERE: (6312..6313) \" \"\n FORM: (6313..6316)\n OPEN_PAREN: (6313..6314) \"(\"\n SYMBOL: (6314..6315)\n IDENTIFIER: (6314..6315) \"x\"\n CLOSE_PAREN: (6315..6316) \")\"\n ATMOSPHERE: (6316..6334) \"\n \"\n FORM: (6334..6351)\n OPEN_PAREN: (6334..6335) \"(\"\n SYMBOL: (6335..6336)\n IDENTIFIER: (6335..6336) \"+\"\n ATMOSPHERE: (6336..6337) \" \"\n CONSTANT: (6337..6338)\n NUMBER: (6337..6338) \"1\"\n ATMOSPHERE: (6338..6339) \" \"\n FORM: (6339..6350)\n OPEN_PAREN: (6339..6340) \"(\"\n SYMBOL: (6340..6341)\n IDENTIFIER: (6340..6341) \"q\"\n ATMOSPHERE: (6341..6342) \" \"\n FORM: (6342..6349)\n OPEN_PAREN: (6342..6343) \"(\"\n SYMBOL: (6343..6344)\n IDENTIFIER: (6343..6344) \"-\"\n ATMOSPHERE: (6344..6345) \" \"\n SYMBOL: (6345..6346)\n IDENTIFIER: (6345..6346) \"x\"\n ATMOSPHERE: (6346..6347) \" \"\n CONSTANT: (6347..6348)\n NUMBER: (6347..6348) \"1\"\n CLOSE_PAREN: (6348..6349) \")\"\n CLOSE_PAREN: (6349..6350) \")\"\n CLOSE_PAREN: (6350..6351) \")\"\n CLOSE_PAREN: (6351..6352) \")\"\n CLOSE_PAREN: (6352..6353) \")\"\n ATMOSPHERE: (6353..6368) \"\n \"\n FORM: (6368..6493)\n OPEN_PAREN: (6368..6369) \"(\"\n SYMBOL: (6369..6370)\n IDENTIFIER: (6369..6370) \"q\"\n ATMOSPHERE: (6370..6386) \"\n \"\n FORM: (6386..6492)\n OPEN_PAREN: (6386..6387) \"(\"\n SYMBOL: (6387..6393)\n IDENTIFIER: (6387..6393) \"lambda\"\n ATMOSPHERE: (6393..6394) \" \"\n FORM: (6394..6397)\n OPEN_PAREN: (6394..6395) \"(\"\n SYMBOL: (6395..6396)\n IDENTIFIER: (6395..6396) \"y\"\n CLOSE_PAREN: (6396..6397) \")\"\n ATMOSPHERE: (6397..6415) \"\n \"\n FORM: (6415..6491)\n OPEN_PAREN: (6415..6416) \"(\"\n SYMBOL: (6416..6418)\n IDENTIFIER: (6416..6418) \"if\"\n ATMOSPHERE: (6418..6419) \" \"\n FORM: (6419..6428)\n OPEN_PAREN: (6419..6420) \"(\"\n SYMBOL: (6420..6425)\n IDENTIFIER: (6420..6425) \"zero?\"\n ATMOSPHERE: (6425..6426) \" \"\n SYMBOL: (6426..6427)\n IDENTIFIER: (6426..6427) \"y\"\n CLOSE_PAREN: (6427..6428) \")\"\n ATMOSPHERE: (6428..6450) \"\n \"\n CONSTANT: (6450..6451)\n NUMBER: (6450..6451) \"0\"\n ATMOSPHERE: (6451..6473) \"\n \"\n FORM: (6473..6490)\n OPEN_PAREN: (6473..6474) \"(\"\n SYMBOL: (6474..6475)\n IDENTIFIER: (6474..6475) \"+\"\n ATMOSPHERE: (6475..6476) \" \"\n CONSTANT: (6476..6477)\n NUMBER: (6476..6477) \"1\"\n ATMOSPHERE: (6477..6478) \" \"\n FORM: (6478..6489)\n OPEN_PAREN: (6478..6479) \"(\"\n SYMBOL: (6479..6480)\n IDENTIFIER: (6479..6480) \"p\"\n ATMOSPHERE: (6480..6481) \" \"\n FORM: (6481..6488)\n OPEN_PAREN: (6481..6482) \"(\"\n SYMBOL: (6482..6483)\n IDENTIFIER: (6482..6483) \"-\"\n ATMOSPHERE: (6483..6484) \" \"\n SYMBOL: (6484..6485)\n IDENTIFIER: (6484..6485) \"y\"\n ATMOSPHERE: (6485..6486) \" \"\n CONSTANT: (6486..6487)\n NUMBER: (6486..6487) \"1\"\n CLOSE_PAREN: (6487..6488) \")\"\n CLOSE_PAREN: (6488..6489) \")\"\n CLOSE_PAREN: (6489..6490) \")\"\n CLOSE_PAREN: (6490..6491) \")\"\n CLOSE_PAREN: (6491..6492) \")\"\n CLOSE_PAREN: (6492..6493) \")\"\n ATMOSPHERE: (6493..6508) \"\n \"\n FORM: (6508..6517)\n OPEN_PAREN: (6508..6509) \"(\"\n SYMBOL: (6509..6510)\n IDENTIFIER: (6509..6510) \"x\"\n ATMOSPHERE: (6510..6511) \" \"\n FORM: (6511..6516)\n OPEN_PAREN: (6511..6512) \"(\"\n SYMBOL: (6512..6513)\n IDENTIFIER: (6512..6513) \"p\"\n ATMOSPHERE: (6513..6514) \" \"\n CONSTANT: (6514..6515)\n NUMBER: (6514..6515) \"5\"\n CLOSE_PAREN: (6515..6516) \")\"\n CLOSE_PAREN: (6516..6517) \")\"\n ATMOSPHERE: (6517..6532) \"\n \"\n FORM: (6532..6537)\n OPEN_PAREN: (6532..6533) \"(\"\n SYMBOL: (6533..6534)\n IDENTIFIER: (6533..6534) \"y\"\n ATMOSPHERE: (6534..6535) \" \"\n SYMBOL: (6535..6536)\n IDENTIFIER: (6535..6536) \"x\"\n CLOSE_PAREN: (6536..6537) \")\"\n CLOSE_PAREN: (6537..6538) \")\"\n ATMOSPHERE: (6538..6552) \"\n \"\n SYMBOL: (6552..6553)\n IDENTIFIER: (6552..6553) \"y\"\n CLOSE_PAREN: (6553..6554) \")\"\n CLOSE_PAREN: (6554..6555) \")\"\n ATMOSPHERE: (6555..6558) \"\n\n\n\"\n ATMOSPHERE: (6558..6590) \";;; FIXME: `let*values` support.\"\n ATMOSPHERE: (6590..6591) \"\n\"\n ATMOSPHERE: (6591..6645) \";; ;; By Jussi Piitulainen \"\n ATMOSPHERE: (6645..6646) \"\n\"\n ATMOSPHERE: (6646..6692) \";; ;; and John Cowan :\"\n ATMOSPHERE: (6692..6693) \"\n\"\n ATMOSPHERE: (6693..6781) \";; ;; http://lists.scheme-reports.org/pipermail/scheme-reports/2013-December/003876.html\"\n ATMOSPHERE: (6781..6782) \"\n\"\n ATMOSPHERE: (6782..6804) \";; (define (means ton)\"\n ATMOSPHERE: (6804..6805) \"\n\"\n ATMOSPHERE: (6805..6818) \";; (letrec*\"\n ATMOSPHERE: (6818..6819) \"\n\"\n ATMOSPHERE: (6819..6833) \";; ((mean\"\n ATMOSPHERE: (6833..6834) \"\n\"\n ATMOSPHERE: (6834..6858) \";; (lambda (f g)\"\n ATMOSPHERE: (6858..6859) \"\n\"\n ATMOSPHERE: (6859..6895) \";; (f (/ (sum g ton) n))))\"\n ATMOSPHERE: (6895..6896) \"\n\"\n ATMOSPHERE: (6896..6909) \";; (sum\"\n ATMOSPHERE: (6909..6910) \"\n\"\n ATMOSPHERE: (6910..6936) \";; (lambda (g ton)\"\n ATMOSPHERE: (6936..6937) \"\n\"\n ATMOSPHERE: (6937..6965) \";; (if (null? ton)\"\n ATMOSPHERE: (6965..6966) \"\n\"\n ATMOSPHERE: (6966..6984) \";; (+)\"\n ATMOSPHERE: (6984..6985) \"\n\"\n ATMOSPHERE: (6985..7017) \";; (if (number? ton)\"\n ATMOSPHERE: (7017..7018) \"\n\"\n ATMOSPHERE: (7018..7044) \";; (g ton)\"\n ATMOSPHERE: (7044..7045) \"\n\"\n ATMOSPHERE: (7045..7084) \";; (+ (sum g (car ton))\"\n ATMOSPHERE: (7084..7085) \"\n\"\n ATMOSPHERE: (7085..7129) \";; (sum g (cdr ton)))))))\"\n ATMOSPHERE: (7129..7130) \"\n\"\n ATMOSPHERE: (7130..7168) \";; (n (sum (lambda (x) 1) ton)))\"\n ATMOSPHERE: (7168..7169) \"\n\"\n ATMOSPHERE: (7169..7204) \";; (values (mean values values)\"\n ATMOSPHERE: (7204..7205) \"\n\"\n ATMOSPHERE: (7205..7234) \";; (mean exp log)\"\n ATMOSPHERE: (7234..7235) \"\n\"\n ATMOSPHERE: (7235..7263) \";; (mean / /))))\"\n ATMOSPHERE: (7263..7264) \"\n\"\n ATMOSPHERE: (7264..7314) \";; (let*-values (((a b c) (means '(8 5 99 1 22))))\"\n ATMOSPHERE: (7314..7315) \"\n\"\n ATMOSPHERE: (7315..7331) \";; (test 27 a)\"\n ATMOSPHERE: (7331..7332) \"\n\"\n ATMOSPHERE: (7332..7351) \";; (test 9.728 b)\"\n ATMOSPHERE: (7351..7352) \"\n\"\n ATMOSPHERE: (7352..7375) \";; (test 1800/497 c))\"\n ATMOSPHERE: (7375..7377) \"\n\n\"\n ATMOSPHERE: (7377..7431) \";; (let*-values (((root rem) (exact-integer-sqrt 32)))\"\n ATMOSPHERE: (7431..7432) \"\n\"\n ATMOSPHERE: (7432..7460) \";; (test 35 (* root rem)))\"\n ATMOSPHERE: (7460..7462) \"\n\n\"\n ATMOSPHERE: (7462..7486) \";; (test '(1073741824 0)\"\n ATMOSPHERE: (7486..7487) \"\n\"\n ATMOSPHERE: (7487..7554) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 60))))\"\n ATMOSPHERE: (7554..7555) \"\n\"\n ATMOSPHERE: (7555..7581) \";; (list root rem)))\"\n ATMOSPHERE: (7581..7583) \"\n\n\"\n ATMOSPHERE: (7583..7616) \";; (test '(1518500249 3000631951)\"\n ATMOSPHERE: (7616..7617) \"\n\"\n ATMOSPHERE: (7617..7684) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 61))))\"\n ATMOSPHERE: (7684..7685) \"\n\"\n ATMOSPHERE: (7685..7711) \";; (list root rem)))\"\n ATMOSPHERE: (7711..7713) \"\n\n\"\n ATMOSPHERE: (7713..7762) \";; (test '(815238614083298888 443242361398135744)\"\n ATMOSPHERE: (7762..7763) \"\n\"\n ATMOSPHERE: (7763..7831) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 119))))\"\n ATMOSPHERE: (7831..7832) \"\n\"\n ATMOSPHERE: (7832..7858) \";; (list root rem)))\"\n ATMOSPHERE: (7858..7860) \"\n\n\"\n ATMOSPHERE: (7860..7893) \";; (test '(1152921504606846976 0)\"\n ATMOSPHERE: (7893..7894) \"\n\"\n ATMOSPHERE: (7894..7962) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 120))))\"\n ATMOSPHERE: (7962..7963) \"\n\"\n ATMOSPHERE: (7963..7989) \";; (list root rem)))\"\n ATMOSPHERE: (7989..7991) \"\n\n\"\n ATMOSPHERE: (7991..8042) \";; (test '(1630477228166597776 1772969445592542976)\"\n ATMOSPHERE: (8042..8043) \"\n\"\n ATMOSPHERE: (8043..8111) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 121))))\"\n ATMOSPHERE: (8111..8112) \"\n\"\n ATMOSPHERE: (8112..8138) \";; (list root rem)))\"\n ATMOSPHERE: (8138..8140) \"\n\n\"\n ATMOSPHERE: (8140..8193) \";; (test '(31622776601683793319 62545769258890964239)\"\n ATMOSPHERE: (8193..8194) \"\n\"\n ATMOSPHERE: (8194..8262) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 10 39))))\"\n ATMOSPHERE: (8262..8263) \"\n\"\n ATMOSPHERE: (8263..8289) \";; (list root rem)))\"\n ATMOSPHERE: (8289..8291) \"\n\n\"\n ATMOSPHERE: (8291..8355) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 140))))\"\n ATMOSPHERE: (8355..8356) \"\n\"\n ATMOSPHERE: (8356..8373) \";; (test 0 rem)\"\n ATMOSPHERE: (8373..8374) \"\n\"\n ATMOSPHERE: (8374..8413) \";; (test (expt 2 140) (square root)))\"\n ATMOSPHERE: (8413..8415) \"\n\n\"\n ATMOSPHERE: (8415..8469) \";; (test '(x y x y) (let ((a 'a) (b 'b) (x 'x) (y 'y))\"\n ATMOSPHERE: (8469..8470) \"\n\"\n ATMOSPHERE: (8470..8509) \";; (let*-values (((a b) (values x y))\"\n ATMOSPHERE: (8509..8510) \"\n\"\n ATMOSPHERE: (8510..8550) \";; ((x y) (values a b)))\"\n ATMOSPHERE: (8550..8551) \"\n\"\n ATMOSPHERE: (8551..8575) \";; (list a b x y))))\"\n ATMOSPHERE: (8575..8577) \"\n\n\"\n ATMOSPHERE: (8577..8610) \";; (test 'ok (let-values () 'ok))\"\n ATMOSPHERE: (8610..8612) \"\n\n\"\n ATMOSPHERE: (8612..8635) \";; (test 1 (let ((x 1))\"\n ATMOSPHERE: (8635..8636) \"\n\"\n ATMOSPHERE: (8636..8657) \";; \t (let*-values ()\"\n ATMOSPHERE: (8657..8658) \"\n\"\n ATMOSPHERE: (8658..8678) \";; \t (define x 2)\"\n ATMOSPHERE: (8678..8679) \"\n\"\n ATMOSPHERE: (8679..8690) \";; \t #f)\"\n ATMOSPHERE: (8690..8691) \"\n\"\n ATMOSPHERE: (8691..8700) \";; \t x))\"\n ATMOSPHERE: (8700..8702) \"\n\n\"\n FORM: (8702..8757)\n OPEN_PAREN: (8702..8703) \"(\"\n SYMBOL: (8703..8706)\n IDENTIFIER: (8703..8706) \"let\"\n ATMOSPHERE: (8706..8707) \" \"\n FORM: (8707..8709)\n OPEN_PAREN: (8707..8708) \"(\"\n CLOSE_PAREN: (8708..8709) \")\"\n ATMOSPHERE: (8709..8712) \"\n \"\n FORM: (8712..8724)\n OPEN_PAREN: (8712..8713) \"(\"\n SYMBOL: (8713..8719)\n IDENTIFIER: (8713..8719) \"define\"\n ATMOSPHERE: (8719..8720) \" \"\n SYMBOL: (8720..8721)\n IDENTIFIER: (8720..8721) \"x\"\n ATMOSPHERE: (8721..8722) \" \"\n CONSTANT: (8722..8723)\n NUMBER: (8722..8723) \"0\"\n CLOSE_PAREN: (8723..8724) \")\"\n ATMOSPHERE: (8724..8727) \"\n \"\n FORM: (8727..8737)\n OPEN_PAREN: (8727..8728) \"(\"\n SYMBOL: (8728..8732)\n IDENTIFIER: (8728..8732) \"set!\"\n ATMOSPHERE: (8732..8733) \" \"\n SYMBOL: (8733..8734)\n IDENTIFIER: (8733..8734) \"x\"\n ATMOSPHERE: (8734..8735) \" \"\n CONSTANT: (8735..8736)\n NUMBER: (8735..8736) \"5\"\n CLOSE_PAREN: (8736..8737) \")\"\n ATMOSPHERE: (8737..8740) \"\n \"\n FORM: (8740..8756)\n OPEN_PAREN: (8740..8741) \"(\"\n SYMBOL: (8741..8745)\n IDENTIFIER: (8741..8745) \"test\"\n ATMOSPHERE: (8745..8746) \" \"\n CONSTANT: (8746..8747)\n NUMBER: (8746..8747) \"6\"\n ATMOSPHERE: (8747..8748) \" \"\n FORM: (8748..8755)\n OPEN_PAREN: (8748..8749) \"(\"\n SYMBOL: (8749..8750)\n IDENTIFIER: (8749..8750) \"+\"\n ATMOSPHERE: (8750..8751) \" \"\n SYMBOL: (8751..8752)\n IDENTIFIER: (8751..8752) \"x\"\n ATMOSPHERE: (8752..8753) \" \"\n CONSTANT: (8753..8754)\n NUMBER: (8753..8754) \"1\"\n CLOSE_PAREN: (8754..8755) \")\"\n CLOSE_PAREN: (8755..8756) \")\"\n CLOSE_PAREN: (8756..8757) \")\"\n ATMOSPHERE: (8757..8759) \"\n\n\"\n ATMOSPHERE: (8759..8782) \";;; FIXME: `do` support\"\n ATMOSPHERE: (8782..8783) \"\n\"\n ATMOSPHERE: (8783..8831) \";; (test #(0 1 2 3 4) (do ((vec (make-vector 5))\"\n ATMOSPHERE: (8831..8832) \"\n\"\n ATMOSPHERE: (8832..8854) \";; (i 0 (+ i 1)))\"\n ATMOSPHERE: (8854..8855) \"\n\"\n ATMOSPHERE: (8855..8875) \";; ((= i 5) vec)\"\n ATMOSPHERE: (8875..8876) \"\n\"\n ATMOSPHERE: (8876..8904) \";; (vector-set! vec i i)))\"\n ATMOSPHERE: (8904..8906) \"\n\n\"\n ATMOSPHERE: (8906..8941) \";; (test 25 (let ((x '(1 3 5 7 9)))\"\n ATMOSPHERE: (8941..8942) \"\n\"\n ATMOSPHERE: (8942..8965) \";; (do ((x x (cdr x))\"\n ATMOSPHERE: (8965..8966) \"\n\"\n ATMOSPHERE: (8966..9000) \";; (sum 0 (+ sum (car x))))\"\n ATMOSPHERE: (9000..9001) \"\n\"\n ATMOSPHERE: (9001..9028) \";; ((null? x) sum))))\"\n ATMOSPHERE: (9028..9030) \"\n\n\"\n ATMOSPHERE: (9030..9048) \";;; FIXME: looping\"\n ATMOSPHERE: (9048..9049) \"\n\"\n ATMOSPHERE: (9049..9076) \";; (test '((6 1 3) (-5 -2))\"\n ATMOSPHERE: (9076..9077) \"\n\"\n ATMOSPHERE: (9077..9119) \";; (let loop ((numbers '(3 -2 1 6 -5))\"\n ATMOSPHERE: (9119..9120) \"\n\"\n ATMOSPHERE: (9120..9150) \";; (nonneg '())\"\n ATMOSPHERE: (9150..9151) \"\n\"\n ATMOSPHERE: (9151..9179) \";; (neg '()))\"\n ATMOSPHERE: (9179..9180) \"\n\"\n ATMOSPHERE: (9180..9230) \";; (cond ((null? numbers) (list nonneg neg))\"\n ATMOSPHERE: (9230..9231) \"\n\"\n ATMOSPHERE: (9231..9267) \";; ((>= (car numbers) 0)\"\n ATMOSPHERE: (9267..9268) \"\n\"\n ATMOSPHERE: (9268..9303) \";; (loop (cdr numbers)\"\n ATMOSPHERE: (9303..9304) \"\n\"\n ATMOSPHERE: (9304..9353) \";; (cons (car numbers) nonneg)\"\n ATMOSPHERE: (9353..9354) \"\n\"\n ATMOSPHERE: (9354..9381) \";; neg))\"\n ATMOSPHERE: (9381..9382) \"\n\"\n ATMOSPHERE: (9382..9417) \";; ((< (car numbers) 0)\"\n ATMOSPHERE: (9417..9418) \"\n\"\n ATMOSPHERE: (9418..9453) \";; (loop (cdr numbers)\"\n ATMOSPHERE: (9453..9454) \"\n\"\n ATMOSPHERE: (9454..9482) \";; nonneg\"\n ATMOSPHERE: (9482..9483) \"\n\"\n ATMOSPHERE: (9483..9534) \";; (cons (car numbers) neg))))))\"\n ATMOSPHERE: (9534..9536) \"\n\n\"\n ATMOSPHERE: (9536..9571) \";; (test 3 (force (delay (+ 1 2))))\"\n ATMOSPHERE: (9571..9573) \"\n\n\"\n ATMOSPHERE: (9573..9590) \";; (test '(3 3) \"\n ATMOSPHERE: (9590..9591) \"\n\"\n ATMOSPHERE: (9591..9624) \";; (let ((p (delay (+ 1 2))))\"\n ATMOSPHERE: (9624..9625) \"\n\"\n ATMOSPHERE: (9625..9662) \";; (list (force p) (force p))))\"\n ATMOSPHERE: (9662..9664) \"\n\n\"\n ATMOSPHERE: (9664..9683) \";; (define integers\"\n ATMOSPHERE: (9683..9684) \"\n\"\n ATMOSPHERE: (9684..9703) \";; (letrec ((next\"\n ATMOSPHERE: (9703..9704) \"\n\"\n ATMOSPHERE: (9704..9730) \";; (lambda (n)\"\n ATMOSPHERE: (9730..9731) \"\n\"\n ATMOSPHERE: (9731..9782) \";; (delay (cons n (next (+ n 1)))))))\"\n ATMOSPHERE: (9782..9783) \"\n\"\n ATMOSPHERE: (9783..9800) \";; (next 0)))\"\n ATMOSPHERE: (9800..9801) \"\n\"\n ATMOSPHERE: (9801..9816) \";; (define head\"\n ATMOSPHERE: (9816..9817) \"\n\"\n ATMOSPHERE: (9817..9861) \";; (lambda (stream) (car (force stream))))\"\n ATMOSPHERE: (9861..9862) \"\n\"\n ATMOSPHERE: (9862..9877) \";; (define tail\"\n ATMOSPHERE: (9877..9878) \"\n\"\n ATMOSPHERE: (9878..9922) \";; (lambda (stream) (cdr (force stream))))\"\n ATMOSPHERE: (9922..9924) \"\n\n\"\n ATMOSPHERE: (9924..9965) \";; (test 2 (head (tail (tail integers))))\"\n ATMOSPHERE: (9965..9967) \"\n\n\"\n ATMOSPHERE: (9967..9998) \";; (define (stream-filter p? s)\"\n ATMOSPHERE: (9998..9999) \"\n\"\n ATMOSPHERE: (9999..10016) \";; (delay-force\"\n ATMOSPHERE: (10016..10017) \"\n\"\n ATMOSPHERE: (10017..10045) \";; (if (null? (force s)) \"\n ATMOSPHERE: (10045..10046) \"\n\"\n ATMOSPHERE: (10046..10067) \";; (delay '())\"\n ATMOSPHERE: (10067..10068) \"\n\"\n ATMOSPHERE: (10068..10103) \";; (let ((h (car (force s)))\"\n ATMOSPHERE: (10103..10104) \"\n\"\n ATMOSPHERE: (10104..10140) \";; (t (cdr (force s))))\"\n ATMOSPHERE: (10140..10141) \"\n\"\n ATMOSPHERE: (10141..10163) \";; (if (p? h)\"\n ATMOSPHERE: (10163..10164) \"\n\"\n ATMOSPHERE: (10164..10217) \";; (delay (cons h (stream-filter p? t)))\"\n ATMOSPHERE: (10217..10218) \"\n\"\n ATMOSPHERE: (10218..10259) \";; (stream-filter p? t))))))\"\n ATMOSPHERE: (10259..10261) \"\n\n\"\n ATMOSPHERE: (10261..10323) \";; (test 5 (head (tail (tail (stream-filter odd? integers)))))\"\n ATMOSPHERE: (10323..10325) \"\n\n\"\n ATMOSPHERE: (10325..10335) \";; (let ()\"\n ATMOSPHERE: (10335..10336) \"\n\"\n ATMOSPHERE: (10336..10353) \";; (define x 5)\"\n ATMOSPHERE: (10353..10354) \"\n\"\n ATMOSPHERE: (10354..10375) \";; (define count 0)\"\n ATMOSPHERE: (10375..10376) \"\n\"\n ATMOSPHERE: (10376..10390) \";; (define p\"\n ATMOSPHERE: (10390..10391) \"\n\"\n ATMOSPHERE: (10391..10436) \";; (delay (begin (set! count (+ count 1))\"\n ATMOSPHERE: (10436..10437) \"\n\"\n ATMOSPHERE: (10437..10473) \";; (if (> count x)\"\n ATMOSPHERE: (10473..10474) \"\n\"\n ATMOSPHERE: (10474..10504) \";; count\"\n ATMOSPHERE: (10504..10505) \"\n\"\n ATMOSPHERE: (10505..10543) \";; (force p)))))\"\n ATMOSPHERE: (10543..10544) \"\n\"\n ATMOSPHERE: (10544..10567) \";; (test 6 (force p))\"\n ATMOSPHERE: (10567..10568) \"\n\"\n ATMOSPHERE: (10568..10612) \";; (test 6 (begin (set! x 10) (force p))))\"\n ATMOSPHERE: (10612..10614) \"\n\n\"\n ATMOSPHERE: (10614..10653) \";; (test #t (promise? (delay (+ 2 2))))\"\n ATMOSPHERE: (10653..10654) \"\n\"\n ATMOSPHERE: (10654..10700) \";; (test #t (promise? (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10700..10701) \"\n\"\n ATMOSPHERE: (10701..10712) \";; (test #t\"\n ATMOSPHERE: (10712..10713) \"\n\"\n ATMOSPHERE: (10713..10746) \";; (let ((x (delay (+ 2 2))))\"\n ATMOSPHERE: (10746..10747) \"\n\"\n ATMOSPHERE: (10747..10765) \";; (force x)\"\n ATMOSPHERE: (10765..10766) \"\n\"\n ATMOSPHERE: (10766..10789) \";; (promise? x)))\"\n ATMOSPHERE: (10789..10790) \"\n\"\n ATMOSPHERE: (10790..10801) \";; (test #t\"\n ATMOSPHERE: (10801..10802) \"\n\"\n ATMOSPHERE: (10802..10842) \";; (let ((x (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10842..10843) \"\n\"\n ATMOSPHERE: (10843..10861) \";; (force x)\"\n ATMOSPHERE: (10861..10862) \"\n\"\n ATMOSPHERE: (10862..10885) \";; (promise? x)))\"\n ATMOSPHERE: (10885..10886) \"\n\"\n ATMOSPHERE: (10886..10928) \";; (test 4 (force (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10928..10929) \"\n\"\n ATMOSPHERE: (10929..10986) \";; (test 4 (force (make-promise (make-promise (+ 2 2)))))\"\n ATMOSPHERE: (10986..10988) \"\n\n\"\n ATMOSPHERE: (10988..11004) \";; (define radix\"\n ATMOSPHERE: (11004..11005) \"\n\"\n ATMOSPHERE: (11005..11025) \";; (make-parameter\"\n ATMOSPHERE: (11025..11026) \"\n\"\n ATMOSPHERE: (11026..11034) \";; 10\"\n ATMOSPHERE: (11034..11035) \"\n\"\n ATMOSPHERE: (11035..11052) \";; (lambda (x)\"\n ATMOSPHERE: (11052..11053) \"\n\"\n ATMOSPHERE: (11053..11095) \";; (if (and (integer? x) (<= 2 x 16))\"\n ATMOSPHERE: (11095..11096) \"\n\"\n ATMOSPHERE: (11096..11109) \";; x\"\n ATMOSPHERE: (11109..11110) \"\n\"\n ATMOSPHERE: (11110..11149) \";; (error \"invalid radix\")))))\"\n ATMOSPHERE: (11149..11150) \"\n\"\n ATMOSPHERE: (11150..11194) \";; (define (f n) (number->string n (radix)))\"\n ATMOSPHERE: (11194..11195) \"\n\"\n ATMOSPHERE: (11195..11216) \";; (test \"12\" (f 12))\"\n ATMOSPHERE: (11216..11217) \"\n\"\n ATMOSPHERE: (11217..11258) \";; (test \"1100\" (parameterize ((radix 2))\"\n ATMOSPHERE: (11258..11259) \"\n\"\n ATMOSPHERE: (11259..11272) \";; (f 12)))\"\n ATMOSPHERE: (11272..11273) \"\n\"\n ATMOSPHERE: (11273..11294) \";; (test \"12\" (f 12))\"\n ATMOSPHERE: (11294..11296) \"\n\n\"\n ATMOSPHERE: (11296..11336) \";; (test '(list 3 4) `(list ,(+ 1 2) 4))\"\n ATMOSPHERE: (11336..11337) \"\n\"\n ATMOSPHERE: (11337..11405) \";; (let ((name 'a)) (test '(list a (quote a)) `(list ,name ',name)))\"\n ATMOSPHERE: (11405..11406) \"\n\"\n ATMOSPHERE: (11406..11468) \";; (test '(a 3 4 5 6 b) `(a ,(+ 1 2) ,@(map abs '(4 -5 6)) b))\"\n ATMOSPHERE: (11468..11469) \"\n\"\n ATMOSPHERE: (11469..11494) \";; (test #(10 5 4 16 9 8)\"\n ATMOSPHERE: (11494..11495) \"\n\"\n ATMOSPHERE: (11495..11547) \";; `#(10 5 ,(square 2) ,@(map square '(4 3)) 8))\"\n ATMOSPHERE: (11547..11548) \"\n\"\n ATMOSPHERE: (11548..11590) \";; (test '(a `(b ,(+ 1 2) ,(foo 4 d) e) f)\"\n ATMOSPHERE: (11590..11591) \"\n\"\n ATMOSPHERE: (11591..11640) \";; `(a `(b ,(+ 1 2) ,(foo ,(+ 1 3) d) e) f) )\"\n ATMOSPHERE: (11640..11641) \"\n\"\n ATMOSPHERE: (11641..11660) \";; (let ((name1 'x)\"\n ATMOSPHERE: (11660..11661) \"\n\"\n ATMOSPHERE: (11661..11681) \";; (name2 'y))\"\n ATMOSPHERE: (11681..11682) \"\n\"\n ATMOSPHERE: (11682..11747) \";; (test '(a `(b ,x ,'y d) e) `(a `(b ,,name1 ,',name2 d) e)))\"\n ATMOSPHERE: (11747..11748) \"\n\"\n ATMOSPHERE: (11748..11810) \";; (test '(list 3 4) (quasiquote (list (unquote (+ 1 2)) 4)) )\"\n ATMOSPHERE: (11810..11811) \"\n\"\n ATMOSPHERE: (11811..11879) \";; (test `(list ,(+ 1 2) 4) (quasiquote (list (unquote (+ 1 2)) 4)))\"\n ATMOSPHERE: (11879..11881) \"\n\n\"\n ATMOSPHERE: (11881..11896) \";; (define plus\"\n ATMOSPHERE: (11896..11897) \"\n\"\n ATMOSPHERE: (11897..11915) \";; (case-lambda \"\n ATMOSPHERE: (11915..11916) \"\n\"\n ATMOSPHERE: (11916..11928) \";; (() 0)\"\n ATMOSPHERE: (11928..11929) \"\n\"\n ATMOSPHERE: (11929..11942) \";; ((x) x)\"\n ATMOSPHERE: (11942..11943) \"\n\"\n ATMOSPHERE: (11943..11964) \";; ((x y) (+ x y))\"\n ATMOSPHERE: (11964..11965) \"\n\"\n ATMOSPHERE: (11965..11994) \";; ((x y z) (+ (+ x y) z))\"\n ATMOSPHERE: (11994..11995) \"\n\"\n ATMOSPHERE: (11995..12024) \";; (args (apply + args))))\"\n ATMOSPHERE: (12024..12026) \"\n\n\"\n ATMOSPHERE: (12026..12044) \";; (test 0 (plus))\"\n ATMOSPHERE: (12044..12045) \"\n\"\n ATMOSPHERE: (12045..12065) \";; (test 1 (plus 1))\"\n ATMOSPHERE: (12065..12066) \"\n\"\n ATMOSPHERE: (12066..12088) \";; (test 3 (plus 1 2))\"\n ATMOSPHERE: (12088..12089) \"\n\"\n ATMOSPHERE: (12089..12113) \";; (test 6 (plus 1 2 3))\"\n ATMOSPHERE: (12113..12114) \"\n\"\n ATMOSPHERE: (12114..12141) \";; (test 10 (plus 1 2 3 4))\"\n ATMOSPHERE: (12141..12143) \"\n\n\"\n ATMOSPHERE: (12143..12158) \";; (define mult\"\n ATMOSPHERE: (12158..12159) \"\n\"\n ATMOSPHERE: (12159..12176) \";; (case-lambda\"\n ATMOSPHERE: (12176..12177) \"\n\"\n ATMOSPHERE: (12177..12189) \";; (() 1)\"\n ATMOSPHERE: (12189..12190) \"\n\"\n ATMOSPHERE: (12190..12203) \";; ((x) x)\"\n ATMOSPHERE: (12203..12204) \"\n\"\n ATMOSPHERE: (12204..12225) \";; ((x y) (* x y))\"\n ATMOSPHERE: (12225..12226) \"\n\"\n ATMOSPHERE: (12226..12268) \";; ((x y . z) (apply mult (* x y) z))))\"\n ATMOSPHERE: (12268..12270) \"\n\n\"\n ATMOSPHERE: (12270..12288) \";; (test 1 (mult))\"\n ATMOSPHERE: (12288..12289) \"\n\"\n ATMOSPHERE: (12289..12309) \";; (test 1 (mult 1))\"\n ATMOSPHERE: (12309..12310) \"\n\"\n ATMOSPHERE: (12310..12332) \";; (test 2 (mult 1 2))\"\n ATMOSPHERE: (12332..12333) \"\n\"\n ATMOSPHERE: (12333..12357) \";; (test 6 (mult 1 2 3))\"\n ATMOSPHERE: (12357..12358) \"\n\"\n ATMOSPHERE: (12358..12385) \";; (test 24 (mult 1 2 3 4))\"\n ATMOSPHERE: (12385..12387) \"\n\n\"\n FORM: (12387..12397)\n OPEN_PAREN: (12387..12388) \"(\"\n SYMBOL: (12388..12396)\n IDENTIFIER: (12388..12396) \"test-end\"\n CLOSE_PAREN: (12396..12397) \")\"\n ATMOSPHERE: (12397..12399) \"\n\n\"\n FORM: (12399..12424)\n OPEN_PAREN: (12399..12400) \"(\"\n SYMBOL: (12400..12410)\n IDENTIFIER: (12400..12410) \"test-begin\"\n ATMOSPHERE: (12410..12411) \" \"\n CONSTANT: (12411..12423)\n STRING: (12411..12423) \"\"4.3 Macros\"\"\n CLOSE_PAREN: (12423..12424) \")\"\n ATMOSPHERE: (12424..12426) \"\n\n\"\n FORM: (12426..12757)\n OPEN_PAREN: (12426..12427) \"(\"\n SYMBOL: (12427..12431)\n IDENTIFIER: (12427..12431) \"test\"\n ATMOSPHERE: (12431..12432) \" \"\n QUOTED_DATUM: (12432..12437)\n QUOTE: (12432..12433) \"'\"\n SYMBOL: (12433..12436)\n IDENTIFIER: (12433..12436) \"now\"\n ATMOSPHERE: (12436..12437) \" \"\n FORM: (12437..12756)\n OPEN_PAREN: (12437..12438) \"(\"\n SYMBOL: (12438..12448)\n IDENTIFIER: (12438..12448) \"let-syntax\"\n ATMOSPHERE: (12448..12464) \"\n \"\n FORM: (12464..12668)\n OPEN_PAREN: (12464..12465) \"(\"\n FORM: (12465..12667)\n OPEN_PAREN: (12465..12466) \"(\"\n SYMBOL: (12466..12470)\n IDENTIFIER: (12466..12470) \"when\"\n ATMOSPHERE: (12470..12471) \" \"\n FORM: (12471..12666)\n OPEN_PAREN: (12471..12472) \"(\"\n SYMBOL: (12472..12484)\n IDENTIFIER: (12472..12484) \"syntax-rules\"\n ATMOSPHERE: (12484..12485) \" \"\n FORM: (12485..12487)\n OPEN_PAREN: (12485..12486) \"(\"\n CLOSE_PAREN: (12486..12487) \")\"\n ATMOSPHERE: (12487..12512) \"\n \"\n FORM: (12512..12665)\n OPEN_PAREN: (12512..12513) \"(\"\n FORM: (12513..12540)\n OPEN_PAREN: (12513..12514) \"(\"\n SYMBOL: (12514..12518)\n IDENTIFIER: (12514..12518) \"when\"\n ATMOSPHERE: (12518..12519) \" \"\n SYMBOL: (12519..12523)\n IDENTIFIER: (12519..12523) \"test\"\n ATMOSPHERE: (12523..12524) \" \"\n SYMBOL: (12524..12529)\n IDENTIFIER: (12524..12529) \"stmt1\"\n ATMOSPHERE: (12529..12530) \" \"\n SYMBOL: (12530..12535)\n IDENTIFIER: (12530..12535) \"stmt2\"\n ATMOSPHERE: (12535..12536) \" \"\n SYMBOL: (12536..12539)\n IDENTIFIER: (12536..12539) \"...\"\n CLOSE_PAREN: (12539..12540) \")\"\n ATMOSPHERE: (12540..12566) \"\n \"\n FORM: (12566..12664)\n OPEN_PAREN: (12566..12567) \"(\"\n SYMBOL: (12567..12569)\n IDENTIFIER: (12567..12569) \"if\"\n ATMOSPHERE: (12569..12570) \" \"\n SYMBOL: (12570..12574)\n IDENTIFIER: (12570..12574) \"test\"\n ATMOSPHERE: (12574..12604) \"\n \"\n FORM: (12604..12663)\n OPEN_PAREN: (12604..12605) \"(\"\n SYMBOL: (12605..12610)\n IDENTIFIER: (12605..12610) \"begin\"\n ATMOSPHERE: (12610..12611) \" \"\n SYMBOL: (12611..12616)\n IDENTIFIER: (12611..12616) \"stmt1\"\n ATMOSPHERE: (12616..12653) \"\n \"\n SYMBOL: (12653..12658)\n IDENTIFIER: (12653..12658) \"stmt2\"\n ATMOSPHERE: (12658..12659) \" \"\n SYMBOL: (12659..12662)\n IDENTIFIER: (12659..12662) \"...\"\n CLOSE_PAREN: (12662..12663) \")\"\n CLOSE_PAREN: (12663..12664) \")\"\n CLOSE_PAREN: (12664..12665) \")\"\n CLOSE_PAREN: (12665..12666) \")\"\n CLOSE_PAREN: (12666..12667) \")\"\n CLOSE_PAREN: (12667..12668) \")\"\n ATMOSPHERE: (12668..12682) \"\n \"\n FORM: (12682..12755)\n OPEN_PAREN: (12682..12683) \"(\"\n SYMBOL: (12683..12686)\n IDENTIFIER: (12683..12686) \"let\"\n ATMOSPHERE: (12686..12687) \" \"\n FORM: (12687..12696)\n OPEN_PAREN: (12687..12688) \"(\"\n FORM: (12688..12695)\n OPEN_PAREN: (12688..12689) \"(\"\n SYMBOL: (12689..12691)\n IDENTIFIER: (12689..12691) \"if\"\n ATMOSPHERE: (12691..12692) \" \"\n CONSTANT: (12692..12694)\n BOOLEAN: (12692..12694) \"#t\"\n CLOSE_PAREN: (12694..12695) \")\"\n CLOSE_PAREN: (12695..12696) \")\"\n ATMOSPHERE: (12696..12712) \"\n \"\n FORM: (12712..12736)\n OPEN_PAREN: (12712..12713) \"(\"\n SYMBOL: (12713..12717)\n IDENTIFIER: (12713..12717) \"when\"\n ATMOSPHERE: (12717..12718) \" \"\n SYMBOL: (12718..12720)\n IDENTIFIER: (12718..12720) \"if\"\n ATMOSPHERE: (12720..12721) \" \"\n FORM: (12721..12735)\n OPEN_PAREN: (12721..12722) \"(\"\n SYMBOL: (12722..12726)\n IDENTIFIER: (12722..12726) \"set!\"\n ATMOSPHERE: (12726..12727) \" \"\n SYMBOL: (12727..12729)\n IDENTIFIER: (12727..12729) \"if\"\n ATMOSPHERE: (12729..12730) \" \"\n QUOTED_DATUM: (12730..12734)\n QUOTE: (12730..12731) \"'\"\n SYMBOL: (12731..12734)\n IDENTIFIER: (12731..12734) \"now\"\n CLOSE_PAREN: (12734..12735) \")\"\n CLOSE_PAREN: (12735..12736) \")\"\n ATMOSPHERE: (12736..12752) \"\n \"\n SYMBOL: (12752..12754)\n IDENTIFIER: (12752..12754) \"if\"\n CLOSE_PAREN: (12754..12755) \")\"\n CLOSE_PAREN: (12755..12756) \")\"\n CLOSE_PAREN: (12756..12757) \")\"\n ATMOSPHERE: (12757..12759) \"\n\n\"\n FORM: (12759..12871)\n OPEN_PAREN: (12759..12760) \"(\"\n SYMBOL: (12760..12764)\n IDENTIFIER: (12760..12764) \"test\"\n ATMOSPHERE: (12764..12765) \" \"\n QUOTED_DATUM: (12765..12772)\n QUOTE: (12765..12766) \"'\"\n SYMBOL: (12766..12771)\n IDENTIFIER: (12766..12771) \"outer\"\n ATMOSPHERE: (12771..12772) \" \"\n FORM: (12772..12870)\n OPEN_PAREN: (12772..12773) \"(\"\n SYMBOL: (12773..12776)\n IDENTIFIER: (12773..12776) \"let\"\n ATMOSPHERE: (12776..12777) \" \"\n FORM: (12777..12789)\n OPEN_PAREN: (12777..12778) \"(\"\n FORM: (12778..12788)\n OPEN_PAREN: (12778..12779) \"(\"\n SYMBOL: (12779..12780)\n IDENTIFIER: (12779..12780) \"x\"\n ATMOSPHERE: (12780..12781) \" \"\n QUOTED_DATUM: (12781..12787)\n QUOTE: (12781..12782) \"'\"\n SYMBOL: (12782..12787)\n IDENTIFIER: (12782..12787) \"outer\"\n CLOSE_PAREN: (12787..12788) \")\"\n CLOSE_PAREN: (12788..12789) \")\"\n ATMOSPHERE: (12789..12792) \"\n \"\n FORM: (12792..12869)\n OPEN_PAREN: (12792..12793) \"(\"\n SYMBOL: (12793..12803)\n IDENTIFIER: (12793..12803) \"let-syntax\"\n ATMOSPHERE: (12803..12804) \" \"\n FORM: (12804..12835)\n OPEN_PAREN: (12804..12805) \"(\"\n FORM: (12805..12834)\n OPEN_PAREN: (12805..12806) \"(\"\n SYMBOL: (12806..12807)\n IDENTIFIER: (12806..12807) \"m\"\n ATMOSPHERE: (12807..12808) \" \"\n FORM: (12808..12833)\n OPEN_PAREN: (12808..12809) \"(\"\n SYMBOL: (12809..12821)\n IDENTIFIER: (12809..12821) \"syntax-rules\"\n ATMOSPHERE: (12821..12822) \" \"\n FORM: (12822..12824)\n OPEN_PAREN: (12822..12823) \"(\"\n CLOSE_PAREN: (12823..12824) \")\"\n ATMOSPHERE: (12824..12825) \" \"\n FORM: (12825..12832)\n OPEN_PAREN: (12825..12826) \"(\"\n FORM: (12826..12829)\n OPEN_PAREN: (12826..12827) \"(\"\n SYMBOL: (12827..12828)\n IDENTIFIER: (12827..12828) \"m\"\n CLOSE_PAREN: (12828..12829) \")\"\n ATMOSPHERE: (12829..12830) \" \"\n SYMBOL: (12830..12831)\n IDENTIFIER: (12830..12831) \"x\"\n CLOSE_PAREN: (12831..12832) \")\"\n CLOSE_PAREN: (12832..12833) \")\"\n CLOSE_PAREN: (12833..12834) \")\"\n CLOSE_PAREN: (12834..12835) \")\"\n ATMOSPHERE: (12835..12840) \"\n \"\n FORM: (12840..12868)\n OPEN_PAREN: (12840..12841) \"(\"\n SYMBOL: (12841..12844)\n IDENTIFIER: (12841..12844) \"let\"\n ATMOSPHERE: (12844..12845) \" \"\n FORM: (12845..12857)\n OPEN_PAREN: (12845..12846) \"(\"\n FORM: (12846..12856)\n OPEN_PAREN: (12846..12847) \"(\"\n SYMBOL: (12847..12848)\n IDENTIFIER: (12847..12848) \"x\"\n ATMOSPHERE: (12848..12849) \" \"\n QUOTED_DATUM: (12849..12855)\n QUOTE: (12849..12850) \"'\"\n SYMBOL: (12850..12855)\n IDENTIFIER: (12850..12855) \"inner\"\n CLOSE_PAREN: (12855..12856) \")\"\n CLOSE_PAREN: (12856..12857) \")\"\n ATMOSPHERE: (12857..12864) \"\n \"\n FORM: (12864..12867)\n OPEN_PAREN: (12864..12865) \"(\"\n SYMBOL: (12865..12866)\n IDENTIFIER: (12865..12866) \"m\"\n CLOSE_PAREN: (12866..12867) \")\"\n CLOSE_PAREN: (12867..12868) \")\"\n CLOSE_PAREN: (12868..12869) \")\"\n CLOSE_PAREN: (12869..12870) \")\"\n CLOSE_PAREN: (12870..12871) \")\"\n ATMOSPHERE: (12871..12873) \"\n\n\"\n ATMOSPHERE: (12873..12891) \";;; FIXME: hygene?\"\n ATMOSPHERE: (12891..12892) \"\n\"\n ATMOSPHERE: (12892..12917) \";; (test 7 (letrec-syntax\"\n ATMOSPHERE: (12917..12918) \"\n\"\n ATMOSPHERE: (12918..12947) \";; ((my-or (syntax-rules ()\"\n ATMOSPHERE: (12947..12948) \"\n\"\n ATMOSPHERE: (12948..12975) \";; ((my-or) #f)\"\n ATMOSPHERE: (12975..12976) \"\n\"\n ATMOSPHERE: (12976..13004) \";; ((my-or e) e)\"\n ATMOSPHERE: (13004..13005) \"\n\"\n ATMOSPHERE: (13005..13038) \";; ((my-or e1 e2 ...)\"\n ATMOSPHERE: (13038..13039) \"\n\"\n ATMOSPHERE: (13039..13071) \";; (let ((temp e1))\"\n ATMOSPHERE: (13071..13072) \"\n\"\n ATMOSPHERE: (13072..13098) \";; (if temp\"\n ATMOSPHERE: (13098..13099) \"\n\"\n ATMOSPHERE: (13099..13125) \";; temp\"\n ATMOSPHERE: (13125..13126) \"\n\"\n ATMOSPHERE: (13126..13168) \";; (my-or e2 ...)))))))\"\n ATMOSPHERE: (13168..13169) \"\n\"\n ATMOSPHERE: (13169..13186) \";; (let ((x #f)\"\n ATMOSPHERE: (13186..13187) \"\n\"\n ATMOSPHERE: (13187..13203) \";; (y 7)\"\n ATMOSPHERE: (13203..13204) \"\n\"\n ATMOSPHERE: (13204..13223) \";; (temp 8)\"\n ATMOSPHERE: (13223..13224) \"\n\"\n ATMOSPHERE: (13224..13245) \";; (let odd?)\"\n ATMOSPHERE: (13245..13246) \"\n\"\n ATMOSPHERE: (13246..13268) \";; (if even?))\"\n ATMOSPHERE: (13268..13269) \"\n\"\n ATMOSPHERE: (13269..13284) \";; (my-or x\"\n ATMOSPHERE: (13284..13285) \"\n\"\n ATMOSPHERE: (13285..13309) \";; (let temp)\"\n ATMOSPHERE: (13309..13310) \"\n\"\n ATMOSPHERE: (13310..13330) \";; (if y)\"\n ATMOSPHERE: (13330..13331) \"\n\"\n ATMOSPHERE: (13331..13350) \";; y))))\"\n ATMOSPHERE: (13350..13352) \"\n\n\"\n ATMOSPHERE: (13352..13397) \";;; FIXME: quoted elipsis `(... ...)` support\"\n ATMOSPHERE: (13397..13398) \"\n\"\n ATMOSPHERE: (13398..13430) \";; (define-syntax be-like-begin1\"\n ATMOSPHERE: (13430..13431) \"\n\"\n ATMOSPHERE: (13431..13452) \";; (syntax-rules ()\"\n ATMOSPHERE: (13452..13453) \"\n\"\n ATMOSPHERE: (13453..13482) \";; ((be-like-begin1 name)\"\n ATMOSPHERE: (13482..13483) \"\n\"\n ATMOSPHERE: (13483..13510) \";; (define-syntax name\"\n ATMOSPHERE: (13510..13511) \"\n\"\n ATMOSPHERE: (13511..13537) \";; (syntax-rules ()\"\n ATMOSPHERE: (13537..13538) \"\n\"\n ATMOSPHERE: (13538..13572) \";; ((name expr (... ...))\"\n ATMOSPHERE: (13572..13573) \"\n\"\n ATMOSPHERE: (13573..13614) \";; (begin expr (... ...))))))))\"\n ATMOSPHERE: (13614..13615) \"\n\"\n ATMOSPHERE: (13615..13644) \";; (be-like-begin1 sequence1)\"\n ATMOSPHERE: (13644..13645) \"\n\"\n ATMOSPHERE: (13645..13676) \";; (test 3 (sequence1 0 1 2 3))\"\n ATMOSPHERE: (13676..13678) \"\n\n\"\n ATMOSPHERE: (13678..13710) \";; (define-syntax be-like-begin2\"\n ATMOSPHERE: (13710..13711) \"\n\"\n ATMOSPHERE: (13711..13732) \";; (syntax-rules ()\"\n ATMOSPHERE: (13732..13733) \"\n\"\n ATMOSPHERE: (13733..13762) \";; ((be-like-begin2 name)\"\n ATMOSPHERE: (13762..13763) \"\n\"\n ATMOSPHERE: (13763..13790) \";; (define-syntax name\"\n ATMOSPHERE: (13790..13791) \"\n\"\n ATMOSPHERE: (13791..13822) \";; (... (syntax-rules ()\"\n ATMOSPHERE: (13822..13823) \"\n\"\n ATMOSPHERE: (13823..13856) \";; ((name expr ...)\"\n ATMOSPHERE: (13856..13857) \"\n\"\n ATMOSPHERE: (13857..13898) \";; (begin expr ...))))))))\"\n ATMOSPHERE: (13898..13899) \"\n\"\n ATMOSPHERE: (13899..13928) \";; (be-like-begin2 sequence2)\"\n ATMOSPHERE: (13928..13929) \"\n\"\n ATMOSPHERE: (13929..13960) \";; (test 4 (sequence2 1 2 3 4))\"\n ATMOSPHERE: (13960..13962) \"\n\n\"\n FORM: (13962..14152)\n OPEN_PAREN: (13962..13963) \"(\"\n SYMBOL: (13963..13976)\n IDENTIFIER: (13963..13976) \"define-syntax\"\n ATMOSPHERE: (13976..13977) \" \"\n SYMBOL: (13977..13991)\n IDENTIFIER: (13977..13991) \"be-like-begin3\"\n ATMOSPHERE: (13991..13994) \"\n \"\n FORM: (13994..14151)\n OPEN_PAREN: (13994..13995) \"(\"\n SYMBOL: (13995..14007)\n IDENTIFIER: (13995..14007) \"syntax-rules\"\n ATMOSPHERE: (14007..14008) \" \"\n FORM: (14008..14010)\n OPEN_PAREN: (14008..14009) \"(\"\n CLOSE_PAREN: (14009..14010) \")\"\n ATMOSPHERE: (14010..14015) \"\n \"\n FORM: (14015..14150)\n OPEN_PAREN: (14015..14016) \"(\"\n FORM: (14016..14037)\n OPEN_PAREN: (14016..14017) \"(\"\n SYMBOL: (14017..14031)\n IDENTIFIER: (14017..14031) \"be-like-begin3\"\n ATMOSPHERE: (14031..14032) \" \"\n SYMBOL: (14032..14036)\n IDENTIFIER: (14032..14036) \"name\"\n CLOSE_PAREN: (14036..14037) \")\"\n ATMOSPHERE: (14037..14043) \"\n \"\n FORM: (14043..14149)\n OPEN_PAREN: (14043..14044) \"(\"\n SYMBOL: (14044..14057)\n IDENTIFIER: (14044..14057) \"define-syntax\"\n ATMOSPHERE: (14057..14058) \" \"\n SYMBOL: (14058..14062)\n IDENTIFIER: (14058..14062) \"name\"\n ATMOSPHERE: (14062..14070) \"\n \"\n FORM: (14070..14148)\n OPEN_PAREN: (14070..14071) \"(\"\n SYMBOL: (14071..14083)\n IDENTIFIER: (14071..14083) \"syntax-rules\"\n ATMOSPHERE: (14083..14084) \" \"\n SYMBOL: (14084..14088)\n IDENTIFIER: (14084..14088) \"dots\"\n ATMOSPHERE: (14088..14089) \" \"\n FORM: (14089..14091)\n OPEN_PAREN: (14089..14090) \"(\"\n CLOSE_PAREN: (14090..14091) \")\"\n ATMOSPHERE: (14091..14101) \"\n \"\n FORM: (14101..14147)\n OPEN_PAREN: (14101..14102) \"(\"\n FORM: (14102..14118)\n OPEN_PAREN: (14102..14103) \"(\"\n SYMBOL: (14103..14107)\n IDENTIFIER: (14103..14107) \"name\"\n ATMOSPHERE: (14107..14108) \" \"\n SYMBOL: (14108..14112)\n IDENTIFIER: (14108..14112) \"expr\"\n ATMOSPHERE: (14112..14113) \" \"\n SYMBOL: (14113..14117)\n IDENTIFIER: (14113..14117) \"dots\"\n CLOSE_PAREN: (14117..14118) \")\"\n ATMOSPHERE: (14118..14129) \"\n \"\n FORM: (14129..14146)\n OPEN_PAREN: (14129..14130) \"(\"\n SYMBOL: (14130..14135)\n IDENTIFIER: (14130..14135) \"begin\"\n ATMOSPHERE: (14135..14136) \" \"\n SYMBOL: (14136..14140)\n IDENTIFIER: (14136..14140) \"expr\"\n ATMOSPHERE: (14140..14141) \" \"\n SYMBOL: (14141..14145)\n IDENTIFIER: (14141..14145) \"dots\"\n CLOSE_PAREN: (14145..14146) \")\"\n CLOSE_PAREN: (14146..14147) \")\"\n CLOSE_PAREN: (14147..14148) \")\"\n CLOSE_PAREN: (14148..14149) \")\"\n CLOSE_PAREN: (14149..14150) \")\"\n CLOSE_PAREN: (14150..14151) \")\"\n CLOSE_PAREN: (14151..14152) \")\"\n ATMOSPHERE: (14152..14153) \"\n\"\n FORM: (14153..14179)\n OPEN_PAREN: (14153..14154) \"(\"\n SYMBOL: (14154..14168)\n IDENTIFIER: (14154..14168) \"be-like-begin3\"\n ATMOSPHERE: (14168..14169) \" \"\n SYMBOL: (14169..14178)\n IDENTIFIER: (14169..14178) \"sequence3\"\n CLOSE_PAREN: (14178..14179) \")\"\n ATMOSPHERE: (14179..14180) \"\n\"\n FORM: (14180..14208)\n OPEN_PAREN: (14180..14181) \"(\"\n SYMBOL: (14181..14185)\n IDENTIFIER: (14181..14185) \"test\"\n ATMOSPHERE: (14185..14186) \" \"\n CONSTANT: (14186..14187)\n NUMBER: (14186..14187) \"5\"\n ATMOSPHERE: (14187..14188) \" \"\n FORM: (14188..14207)\n OPEN_PAREN: (14188..14189) \"(\"\n SYMBOL: (14189..14198)\n IDENTIFIER: (14189..14198) \"sequence3\"\n ATMOSPHERE: (14198..14199) \" \"\n CONSTANT: (14199..14200)\n NUMBER: (14199..14200) \"2\"\n ATMOSPHERE: (14200..14201) \" \"\n CONSTANT: (14201..14202)\n NUMBER: (14201..14202) \"3\"\n ATMOSPHERE: (14202..14203) \" \"\n CONSTANT: (14203..14204)\n NUMBER: (14203..14204) \"4\"\n ATMOSPHERE: (14204..14205) \" \"\n CONSTANT: (14205..14206)\n NUMBER: (14205..14206) \"5\"\n CLOSE_PAREN: (14206..14207) \")\"\n CLOSE_PAREN: (14207..14208) \")\"\n ATMOSPHERE: (14208..14210) \"\n\n\"\n ATMOSPHERE: (14210..14228) \";; ellipsis escape\"\n ATMOSPHERE: (14228..14229) \"\n\"\n FORM: (14229..14369)\n OPEN_PAREN: (14229..14230) \"(\"\n SYMBOL: (14230..14243)\n IDENTIFIER: (14230..14243) \"define-syntax\"\n ATMOSPHERE: (14243..14244) \" \"\n SYMBOL: (14244..14254)\n IDENTIFIER: (14244..14254) \"elli-esc-1\"\n ATMOSPHERE: (14254..14257) \"\n \"\n FORM: (14257..14368)\n OPEN_PAREN: (14257..14258) \"(\"\n SYMBOL: (14258..14270)\n IDENTIFIER: (14258..14270) \"syntax-rules\"\n ATMOSPHERE: (14270..14271) \" \"\n FORM: (14271..14273)\n OPEN_PAREN: (14271..14272) \"(\"\n CLOSE_PAREN: (14272..14273) \")\"\n ATMOSPHERE: (14273..14278) \"\n \"\n FORM: (14278..14299)\n OPEN_PAREN: (14278..14279) \"(\"\n FORM: (14279..14282)\n OPEN_PAREN: (14279..14280) \"(\"\n SYMBOL: (14280..14281)\n IDENTIFIER: (14280..14281) \"_\"\n CLOSE_PAREN: (14281..14282) \")\"\n ATMOSPHERE: (14282..14288) \"\n \"\n QUOTED_DATUM: (14288..14298)\n QUOTE: (14288..14289) \"'\"\n FORM: (14289..14298)\n OPEN_PAREN: (14289..14290) \"(\"\n SYMBOL: (14290..14293)\n IDENTIFIER: (14290..14293) \"...\"\n ATMOSPHERE: (14293..14294) \" \"\n SYMBOL: (14294..14297)\n IDENTIFIER: (14294..14297) \"...\"\n CLOSE_PAREN: (14297..14298) \")\"\n CLOSE_PAREN: (14298..14299) \")\"\n ATMOSPHERE: (14299..14304) \"\n \"\n FORM: (14304..14331)\n OPEN_PAREN: (14304..14305) \"(\"\n FORM: (14305..14310)\n OPEN_PAREN: (14305..14306) \"(\"\n SYMBOL: (14306..14307)\n IDENTIFIER: (14306..14307) \"_\"\n ATMOSPHERE: (14307..14308) \" \"\n SYMBOL: (14308..14309)\n IDENTIFIER: (14308..14309) \"x\"\n CLOSE_PAREN: (14309..14310) \")\"\n ATMOSPHERE: (14310..14316) \"\n \"\n QUOTED_DATUM: (14316..14330)\n QUOTE: (14316..14317) \"'\"\n FORM: (14317..14330)\n OPEN_PAREN: (14317..14318) \"(\"\n SYMBOL: (14318..14321)\n IDENTIFIER: (14318..14321) \"...\"\n ATMOSPHERE: (14321..14322) \" \"\n FORM: (14322..14329)\n OPEN_PAREN: (14322..14323) \"(\"\n SYMBOL: (14323..14324)\n IDENTIFIER: (14323..14324) \"x\"\n ATMOSPHERE: (14324..14325) \" \"\n SYMBOL: (14325..14328)\n IDENTIFIER: (14325..14328) \"...\"\n CLOSE_PAREN: (14328..14329) \")\"\n CLOSE_PAREN: (14329..14330) \")\"\n CLOSE_PAREN: (14330..14331) \")\"\n ATMOSPHERE: (14331..14336) \"\n \"\n FORM: (14336..14367)\n OPEN_PAREN: (14336..14337) \"(\"\n FORM: (14337..14344)\n OPEN_PAREN: (14337..14338) \"(\"\n SYMBOL: (14338..14339)\n IDENTIFIER: (14338..14339) \"_\"\n ATMOSPHERE: (14339..14340) \" \"\n SYMBOL: (14340..14341)\n IDENTIFIER: (14340..14341) \"x\"\n ATMOSPHERE: (14341..14342) \" \"\n SYMBOL: (14342..14343)\n IDENTIFIER: (14342..14343) \"y\"\n CLOSE_PAREN: (14343..14344) \")\"\n ATMOSPHERE: (14344..14350) \"\n \"\n QUOTED_DATUM: (14350..14366)\n QUOTE: (14350..14351) \"'\"\n FORM: (14351..14366)\n OPEN_PAREN: (14351..14352) \"(\"\n SYMBOL: (14352..14355)\n IDENTIFIER: (14352..14355) \"...\"\n ATMOSPHERE: (14355..14356) \" \"\n FORM: (14356..14365)\n OPEN_PAREN: (14356..14357) \"(\"\n SYMBOL: (14357..14360)\n IDENTIFIER: (14357..14360) \"...\"\n ATMOSPHERE: (14360..14361) \" \"\n SYMBOL: (14361..14362)\n IDENTIFIER: (14361..14362) \"x\"\n ATMOSPHERE: (14362..14363) \" \"\n SYMBOL: (14363..14364)\n IDENTIFIER: (14363..14364) \"y\"\n CLOSE_PAREN: (14364..14365) \")\"\n CLOSE_PAREN: (14365..14366) \")\"\n CLOSE_PAREN: (14366..14367) \")\"\n CLOSE_PAREN: (14367..14368) \")\"\n CLOSE_PAREN: (14368..14369) \")\"\n ATMOSPHERE: (14369..14371) \"\n\n\"\n FORM: (14371..14395)\n OPEN_PAREN: (14371..14372) \"(\"\n SYMBOL: (14372..14376)\n IDENTIFIER: (14372..14376) \"test\"\n ATMOSPHERE: (14376..14377) \" \"\n QUOTED_DATUM: (14377..14382)\n QUOTE: (14377..14378) \"'\"\n SYMBOL: (14378..14381)\n IDENTIFIER: (14378..14381) \"...\"\n ATMOSPHERE: (14381..14382) \" \"\n FORM: (14382..14394)\n OPEN_PAREN: (14382..14383) \"(\"\n SYMBOL: (14383..14393)\n IDENTIFIER: (14383..14393) \"elli-esc-1\"\n CLOSE_PAREN: (14393..14394) \")\"\n CLOSE_PAREN: (14394..14395) \")\"\n ATMOSPHERE: (14395..14396) \"\n\"\n FORM: (14396..14430)\n OPEN_PAREN: (14396..14397) \"(\"\n SYMBOL: (14397..14401)\n IDENTIFIER: (14397..14401) \"test\"\n ATMOSPHERE: (14401..14402) \" \"\n QUOTED_DATUM: (14402..14413)\n QUOTE: (14402..14403) \"'\"\n FORM: (14403..14412)\n OPEN_PAREN: (14403..14404) \"(\"\n CONSTANT: (14404..14407)\n NUMBER: (14404..14407) \"100\"\n ATMOSPHERE: (14407..14408) \" \"\n SYMBOL: (14408..14411)\n IDENTIFIER: (14408..14411) \"...\"\n CLOSE_PAREN: (14411..14412) \")\"\n ATMOSPHERE: (14412..14413) \" \"\n FORM: (14413..14429)\n OPEN_PAREN: (14413..14414) \"(\"\n SYMBOL: (14414..14424)\n IDENTIFIER: (14414..14424) \"elli-esc-1\"\n ATMOSPHERE: (14424..14425) \" \"\n CONSTANT: (14425..14428)\n NUMBER: (14425..14428) \"100\"\n CLOSE_PAREN: (14428..14429) \")\"\n CLOSE_PAREN: (14429..14430) \")\"\n ATMOSPHERE: (14430..14431) \"\n\"\n FORM: (14431..14473)\n OPEN_PAREN: (14431..14432) \"(\"\n SYMBOL: (14432..14436)\n IDENTIFIER: (14432..14436) \"test\"\n ATMOSPHERE: (14436..14437) \" \"\n QUOTED_DATUM: (14437..14452)\n QUOTE: (14437..14438) \"'\"\n FORM: (14438..14451)\n OPEN_PAREN: (14438..14439) \"(\"\n SYMBOL: (14439..14442)\n IDENTIFIER: (14439..14442) \"...\"\n ATMOSPHERE: (14442..14443) \" \"\n CONSTANT: (14443..14446)\n NUMBER: (14443..14446) \"100\"\n ATMOSPHERE: (14446..14447) \" \"\n CONSTANT: (14447..14450)\n NUMBER: (14447..14450) \"200\"\n CLOSE_PAREN: (14450..14451) \")\"\n ATMOSPHERE: (14451..14452) \" \"\n FORM: (14452..14472)\n OPEN_PAREN: (14452..14453) \"(\"\n SYMBOL: (14453..14463)\n IDENTIFIER: (14453..14463) \"elli-esc-1\"\n ATMOSPHERE: (14463..14464) \" \"\n CONSTANT: (14464..14467)\n NUMBER: (14464..14467) \"100\"\n ATMOSPHERE: (14467..14468) \" \"\n CONSTANT: (14468..14471)\n NUMBER: (14468..14471) \"200\"\n CLOSE_PAREN: (14471..14472) \")\"\n CLOSE_PAREN: (14472..14473) \")\"\n ATMOSPHERE: (14473..14475) \"\n\n\"\n ATMOSPHERE: (14475..14532) \";; Syntax pattern with ellipsis in middle of proper list.\"\n ATMOSPHERE: (14532..14533) \"\n\"\n FORM: (14533..14689)\n OPEN_PAREN: (14533..14534) \"(\"\n SYMBOL: (14534..14547)\n IDENTIFIER: (14534..14547) \"define-syntax\"\n ATMOSPHERE: (14547..14548) \" \"\n SYMBOL: (14548..14554)\n IDENTIFIER: (14548..14554) \"part-2\"\n ATMOSPHERE: (14554..14557) \"\n \"\n FORM: (14557..14688)\n OPEN_PAREN: (14557..14558) \"(\"\n SYMBOL: (14558..14570)\n IDENTIFIER: (14558..14570) \"syntax-rules\"\n ATMOSPHERE: (14570..14571) \" \"\n FORM: (14571..14573)\n OPEN_PAREN: (14571..14572) \"(\"\n CLOSE_PAREN: (14572..14573) \")\"\n ATMOSPHERE: (14573..14578) \"\n \"\n FORM: (14578..14663)\n OPEN_PAREN: (14578..14579) \"(\"\n FORM: (14579..14600)\n OPEN_PAREN: (14579..14580) \"(\"\n SYMBOL: (14580..14581)\n IDENTIFIER: (14580..14581) \"_\"\n ATMOSPHERE: (14581..14582) \" \"\n SYMBOL: (14582..14583)\n IDENTIFIER: (14582..14583) \"a\"\n ATMOSPHERE: (14583..14584) \" \"\n SYMBOL: (14584..14585)\n IDENTIFIER: (14584..14585) \"b\"\n ATMOSPHERE: (14585..14586) \" \"\n FORM: (14586..14591)\n OPEN_PAREN: (14586..14587) \"(\"\n SYMBOL: (14587..14588)\n IDENTIFIER: (14587..14588) \"m\"\n ATMOSPHERE: (14588..14589) \" \"\n SYMBOL: (14589..14590)\n IDENTIFIER: (14589..14590) \"n\"\n CLOSE_PAREN: (14590..14591) \")\"\n ATMOSPHERE: (14591..14592) \" \"\n SYMBOL: (14592..14595)\n IDENTIFIER: (14592..14595) \"...\"\n ATMOSPHERE: (14595..14596) \" \"\n SYMBOL: (14596..14597)\n IDENTIFIER: (14596..14597) \"x\"\n ATMOSPHERE: (14597..14598) \" \"\n SYMBOL: (14598..14599)\n IDENTIFIER: (14598..14599) \"y\"\n CLOSE_PAREN: (14599..14600) \")\"\n ATMOSPHERE: (14600..14606) \"\n \"\n FORM: (14606..14662)\n OPEN_PAREN: (14606..14607) \"(\"\n SYMBOL: (14607..14613)\n IDENTIFIER: (14607..14613) \"vector\"\n ATMOSPHERE: (14613..14614) \" \"\n FORM: (14614..14624)\n OPEN_PAREN: (14614..14615) \"(\"\n SYMBOL: (14615..14619)\n IDENTIFIER: (14615..14619) \"list\"\n ATMOSPHERE: (14619..14620) \" \"\n SYMBOL: (14620..14621)\n IDENTIFIER: (14620..14621) \"a\"\n ATMOSPHERE: (14621..14622) \" \"\n SYMBOL: (14622..14623)\n IDENTIFIER: (14622..14623) \"b\"\n CLOSE_PAREN: (14623..14624) \")\"\n ATMOSPHERE: (14624..14625) \" \"\n FORM: (14625..14637)\n OPEN_PAREN: (14625..14626) \"(\"\n SYMBOL: (14626..14630)\n IDENTIFIER: (14626..14630) \"list\"\n ATMOSPHERE: (14630..14631) \" \"\n SYMBOL: (14631..14632)\n IDENTIFIER: (14631..14632) \"m\"\n ATMOSPHERE: (14632..14633) \" \"\n SYMBOL: (14633..14636)\n IDENTIFIER: (14633..14636) \"...\"\n CLOSE_PAREN: (14636..14637) \")\"\n ATMOSPHERE: (14637..14638) \" \"\n FORM: (14638..14650)\n OPEN_PAREN: (14638..14639) \"(\"\n SYMBOL: (14639..14643)\n IDENTIFIER: (14639..14643) \"list\"\n ATMOSPHERE: (14643..14644) \" \"\n SYMBOL: (14644..14645)\n IDENTIFIER: (14644..14645) \"n\"\n ATMOSPHERE: (14645..14646) \" \"\n SYMBOL: (14646..14649)\n IDENTIFIER: (14646..14649) \"...\"\n CLOSE_PAREN: (14649..14650) \")\"\n ATMOSPHERE: (14650..14651) \" \"\n FORM: (14651..14661)\n OPEN_PAREN: (14651..14652) \"(\"\n SYMBOL: (14652..14656)\n IDENTIFIER: (14652..14656) \"list\"\n ATMOSPHERE: (14656..14657) \" \"\n SYMBOL: (14657..14658)\n IDENTIFIER: (14657..14658) \"x\"\n ATMOSPHERE: (14658..14659) \" \"\n SYMBOL: (14659..14660)\n IDENTIFIER: (14659..14660) \"y\"\n CLOSE_PAREN: (14660..14661) \")\"\n CLOSE_PAREN: (14661..14662) \")\"\n CLOSE_PAREN: (14662..14663) \")\"\n ATMOSPHERE: (14663..14668) \"\n \"\n FORM: (14668..14687)\n OPEN_PAREN: (14668..14669) \"(\"\n FORM: (14669..14679)\n OPEN_PAREN: (14669..14670) \"(\"\n SYMBOL: (14670..14671)\n IDENTIFIER: (14670..14671) \"_\"\n ATMOSPHERE: (14671..14672) \" \"\n DOTTED_TAIL: (14672..14678)\n DOT: (14672..14673) \".\"\n ATMOSPHERE: (14673..14674) \" \"\n SYMBOL: (14674..14678)\n IDENTIFIER: (14674..14678) \"rest\"\n CLOSE_PAREN: (14678..14679) \")\"\n ATMOSPHERE: (14679..14680) \" \"\n QUOTED_DATUM: (14680..14686)\n QUOTE: (14680..14681) \"'\"\n SYMBOL: (14681..14686)\n IDENTIFIER: (14681..14686) \"error\"\n CLOSE_PAREN: (14686..14687) \")\"\n CLOSE_PAREN: (14687..14688) \")\"\n CLOSE_PAREN: (14688..14689) \")\"\n ATMOSPHERE: (14689..14690) \"\n\"\n FORM: (14690..14800)\n OPEN_PAREN: (14690..14691) \"(\"\n SYMBOL: (14691..14695)\n IDENTIFIER: (14691..14695) \"test\"\n ATMOSPHERE: (14695..14696) \" \"\n QUOTED_DATUM: (14696..14742)\n QUOTE: (14696..14697) \"'\"\n VEC: (14697..14737)\n OPEN_PAREN: (14697..14699) \"#(\"\n FORM: (14699..14706)\n OPEN_PAREN: (14699..14700) \"(\"\n CONSTANT: (14700..14702)\n NUMBER: (14700..14702) \"10\"\n ATMOSPHERE: (14702..14703) \" \"\n CONSTANT: (14703..14705)\n NUMBER: (14703..14705) \"43\"\n CLOSE_PAREN: (14705..14706) \")\"\n ATMOSPHERE: (14706..14707) \" \"\n FORM: (14707..14717)\n OPEN_PAREN: (14707..14708) \"(\"\n CONSTANT: (14708..14710)\n NUMBER: (14708..14710) \"31\"\n ATMOSPHERE: (14710..14711) \" \"\n CONSTANT: (14711..14713)\n NUMBER: (14711..14713) \"41\"\n ATMOSPHERE: (14713..14714) \" \"\n CONSTANT: (14714..14716)\n NUMBER: (14714..14716) \"51\"\n CLOSE_PAREN: (14716..14717) \")\"\n ATMOSPHERE: (14717..14718) \" \"\n FORM: (14718..14728)\n OPEN_PAREN: (14718..14719) \"(\"\n CONSTANT: (14719..14721)\n NUMBER: (14719..14721) \"32\"\n ATMOSPHERE: (14721..14722) \" \"\n CONSTANT: (14722..14724)\n NUMBER: (14722..14724) \"42\"\n ATMOSPHERE: (14724..14725) \" \"\n CONSTANT: (14725..14727)\n NUMBER: (14725..14727) \"52\"\n CLOSE_PAREN: (14727..14728) \")\"\n ATMOSPHERE: (14728..14729) \" \"\n FORM: (14729..14736)\n OPEN_PAREN: (14729..14730) \"(\"\n CONSTANT: (14730..14732)\n NUMBER: (14730..14732) \"63\"\n ATMOSPHERE: (14732..14733) \" \"\n CONSTANT: (14733..14735)\n NUMBER: (14733..14735) \"77\"\n CLOSE_PAREN: (14735..14736) \")\"\n CLOSE_PAREN: (14736..14737) \")\"\n ATMOSPHERE: (14737..14742) \"\n \"\n FORM: (14742..14799)\n OPEN_PAREN: (14742..14743) \"(\"\n SYMBOL: (14743..14749)\n IDENTIFIER: (14743..14749) \"part-2\"\n ATMOSPHERE: (14749..14750) \" \"\n CONSTANT: (14750..14752)\n NUMBER: (14750..14752) \"10\"\n ATMOSPHERE: (14752..14753) \" \"\n FORM: (14753..14762)\n OPEN_PAREN: (14753..14754) \"(\"\n SYMBOL: (14754..14755)\n IDENTIFIER: (14754..14755) \"+\"\n ATMOSPHERE: (14755..14756) \" \"\n CONSTANT: (14756..14758)\n NUMBER: (14756..14758) \"21\"\n ATMOSPHERE: (14758..14759) \" \"\n CONSTANT: (14759..14761)\n NUMBER: (14759..14761) \"22\"\n CLOSE_PAREN: (14761..14762) \")\"\n ATMOSPHERE: (14762..14763) \" \"\n FORM: (14763..14770)\n OPEN_PAREN: (14763..14764) \"(\"\n CONSTANT: (14764..14766)\n NUMBER: (14764..14766) \"31\"\n ATMOSPHERE: (14766..14767) \" \"\n CONSTANT: (14767..14769)\n NUMBER: (14767..14769) \"32\"\n CLOSE_PAREN: (14769..14770) \")\"\n ATMOSPHERE: (14770..14771) \" \"\n FORM: (14771..14778)\n OPEN_PAREN: (14771..14772) \"(\"\n CONSTANT: (14772..14774)\n NUMBER: (14772..14774) \"41\"\n ATMOSPHERE: (14774..14775) \" \"\n CONSTANT: (14775..14777)\n NUMBER: (14775..14777) \"42\"\n CLOSE_PAREN: (14777..14778) \")\"\n ATMOSPHERE: (14778..14779) \" \"\n FORM: (14779..14786)\n OPEN_PAREN: (14779..14780) \"(\"\n CONSTANT: (14780..14782)\n NUMBER: (14780..14782) \"51\"\n ATMOSPHERE: (14782..14783) \" \"\n CONSTANT: (14783..14785)\n NUMBER: (14783..14785) \"52\"\n CLOSE_PAREN: (14785..14786) \")\"\n ATMOSPHERE: (14786..14787) \" \"\n FORM: (14787..14795)\n OPEN_PAREN: (14787..14788) \"(\"\n SYMBOL: (14788..14789)\n IDENTIFIER: (14788..14789) \"+\"\n ATMOSPHERE: (14789..14790) \" \"\n CONSTANT: (14790..14792)\n NUMBER: (14790..14792) \"61\"\n ATMOSPHERE: (14792..14793) \" \"\n CONSTANT: (14793..14794)\n NUMBER: (14793..14794) \"2\"\n CLOSE_PAREN: (14794..14795) \")\"\n ATMOSPHERE: (14795..14796) \" \"\n CONSTANT: (14796..14798)\n NUMBER: (14796..14798) \"77\"\n CLOSE_PAREN: (14798..14799) \")\"\n CLOSE_PAREN: (14799..14800) \")\"\n ATMOSPHERE: (14800..14801) \"\n\"\n ATMOSPHERE: (14801..14863) \";; ;; Syntax pattern with ellipsis in middle of improper list.\"\n ATMOSPHERE: (14863..14864) \"\n\"\n ATMOSPHERE: (14864..14889) \";; (define-syntax part-2x\"\n ATMOSPHERE: (14889..14890) \"\n\"\n ATMOSPHERE: (14890..14911) \";; (syntax-rules ()\"\n ATMOSPHERE: (14911..14912) \"\n\"\n ATMOSPHERE: (14912..14950) \";; ((_ (a b (m n) ... x y . rest))\"\n ATMOSPHERE: (14950..14951) \"\n\"\n ATMOSPHERE: (14951..15014) \";; (vector (list a b) (list m ...) (list n ...) (list x y)\"\n ATMOSPHERE: (15014..15015) \"\n\"\n ATMOSPHERE: (15015..15053) \";; (cons \"rest:\" 'rest)))\"\n ATMOSPHERE: (15053..15054) \"\n\"\n ATMOSPHERE: (15054..15082) \";; ((_ . rest) 'error)))\"\n ATMOSPHERE: (15082..15083) \"\n\"\n ATMOSPHERE: (15083..15143) \";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\"))\"\n ATMOSPHERE: (15143..15144) \"\n\"\n ATMOSPHERE: (15144..15212) \";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77)))\"\n ATMOSPHERE: (15212..15213) \"\n\"\n ATMOSPHERE: (15213..15282) \";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\" . \"tail\"))\"\n ATMOSPHERE: (15282..15283) \"\n\"\n ATMOSPHERE: (15283..15360) \";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . \"tail\")))\"\n ATMOSPHERE: (15360..15362) \"\n\n\"\n ATMOSPHERE: (15362..15375) \";; underscore\"\n ATMOSPHERE: (15375..15376) \"\n\"\n FORM: (15376..15439)\n OPEN_PAREN: (15376..15377) \"(\"\n SYMBOL: (15377..15390)\n IDENTIFIER: (15377..15390) \"define-syntax\"\n ATMOSPHERE: (15390..15391) \" \"\n SYMBOL: (15391..15401)\n IDENTIFIER: (15391..15401) \"underscore\"\n ATMOSPHERE: (15401..15404) \"\n \"\n FORM: (15404..15438)\n OPEN_PAREN: (15404..15405) \"(\"\n SYMBOL: (15405..15417)\n IDENTIFIER: (15405..15417) \"syntax-rules\"\n ATMOSPHERE: (15417..15418) \" \"\n FORM: (15418..15420)\n OPEN_PAREN: (15418..15419) \"(\"\n CLOSE_PAREN: (15419..15420) \")\"\n ATMOSPHERE: (15420..15425) \"\n \"\n FORM: (15425..15437)\n OPEN_PAREN: (15425..15426) \"(\"\n FORM: (15426..15433)\n OPEN_PAREN: (15426..15427) \"(\"\n SYMBOL: (15427..15430)\n IDENTIFIER: (15427..15430) \"foo\"\n ATMOSPHERE: (15430..15431) \" \"\n SYMBOL: (15431..15432)\n IDENTIFIER: (15431..15432) \"_\"\n CLOSE_PAREN: (15432..15433) \")\"\n ATMOSPHERE: (15433..15434) \" \"\n QUOTED_DATUM: (15434..15436)\n QUOTE: (15434..15435) \"'\"\n SYMBOL: (15435..15436)\n IDENTIFIER: (15435..15436) \"_\"\n CLOSE_PAREN: (15436..15437) \")\"\n CLOSE_PAREN: (15437..15438) \")\"\n CLOSE_PAREN: (15438..15439) \")\"\n ATMOSPHERE: (15439..15440) \"\n\"\n FORM: (15440..15466)\n OPEN_PAREN: (15440..15441) \"(\"\n SYMBOL: (15441..15445)\n IDENTIFIER: (15441..15445) \"test\"\n ATMOSPHERE: (15445..15446) \" \"\n QUOTED_DATUM: (15446..15449)\n QUOTE: (15446..15447) \"'\"\n SYMBOL: (15447..15448)\n IDENTIFIER: (15447..15448) \"_\"\n ATMOSPHERE: (15448..15449) \" \"\n FORM: (15449..15465)\n OPEN_PAREN: (15449..15450) \"(\"\n SYMBOL: (15450..15460)\n IDENTIFIER: (15450..15460) \"underscore\"\n ATMOSPHERE: (15460..15461) \" \"\n SYMBOL: (15461..15464)\n IDENTIFIER: (15461..15464) \"foo\"\n CLOSE_PAREN: (15464..15465) \")\"\n CLOSE_PAREN: (15465..15466) \")\"\n ATMOSPHERE: (15466..15468) \"\n\n\"\n FORM: (15468..15595)\n OPEN_PAREN: (15468..15469) \"(\"\n SYMBOL: (15469..15472)\n IDENTIFIER: (15469..15472) \"let\"\n ATMOSPHERE: (15472..15473) \" \"\n FORM: (15473..15475)\n OPEN_PAREN: (15473..15474) \"(\"\n CLOSE_PAREN: (15474..15475) \")\"\n ATMOSPHERE: (15475..15478) \"\n \"\n FORM: (15478..15562)\n OPEN_PAREN: (15478..15479) \"(\"\n SYMBOL: (15479..15492)\n IDENTIFIER: (15479..15492) \"define-syntax\"\n ATMOSPHERE: (15492..15493) \" \"\n SYMBOL: (15493..15504)\n IDENTIFIER: (15493..15504) \"underscore2\"\n ATMOSPHERE: (15504..15509) \"\n \"\n FORM: (15509..15561)\n OPEN_PAREN: (15509..15510) \"(\"\n SYMBOL: (15510..15522)\n IDENTIFIER: (15510..15522) \"syntax-rules\"\n ATMOSPHERE: (15522..15523) \" \"\n FORM: (15523..15525)\n OPEN_PAREN: (15523..15524) \"(\"\n CLOSE_PAREN: (15524..15525) \")\"\n ATMOSPHERE: (15525..15532) \"\n \"\n FORM: (15532..15560)\n OPEN_PAREN: (15532..15533) \"(\"\n FORM: (15533..15556)\n OPEN_PAREN: (15533..15534) \"(\"\n SYMBOL: (15534..15545)\n IDENTIFIER: (15534..15545) \"underscore2\"\n ATMOSPHERE: (15545..15546) \" \"\n FORM: (15546..15551)\n OPEN_PAREN: (15546..15547) \"(\"\n SYMBOL: (15547..15548)\n IDENTIFIER: (15547..15548) \"a\"\n ATMOSPHERE: (15548..15549) \" \"\n SYMBOL: (15549..15550)\n IDENTIFIER: (15549..15550) \"_\"\n CLOSE_PAREN: (15550..15551) \")\"\n ATMOSPHERE: (15551..15552) \" \"\n SYMBOL: (15552..15555)\n IDENTIFIER: (15552..15555) \"...\"\n CLOSE_PAREN: (15555..15556) \")\"\n ATMOSPHERE: (15556..15557) \" \"\n CONSTANT: (15557..15559)\n NUMBER: (15557..15559) \"42\"\n CLOSE_PAREN: (15559..15560) \")\"\n CLOSE_PAREN: (15560..15561) \")\"\n CLOSE_PAREN: (15561..15562) \")\"\n ATMOSPHERE: (15562..15565) \"\n \"\n FORM: (15565..15594)\n OPEN_PAREN: (15565..15566) \"(\"\n SYMBOL: (15566..15570)\n IDENTIFIER: (15566..15570) \"test\"\n ATMOSPHERE: (15570..15571) \" \"\n CONSTANT: (15571..15573)\n NUMBER: (15571..15573) \"42\"\n ATMOSPHERE: (15573..15574) \" \"\n FORM: (15574..15593)\n OPEN_PAREN: (15574..15575) \"(\"\n SYMBOL: (15575..15586)\n IDENTIFIER: (15575..15586) \"underscore2\"\n ATMOSPHERE: (15586..15587) \" \"\n FORM: (15587..15592)\n OPEN_PAREN: (15587..15588) \"(\"\n CONSTANT: (15588..15589)\n NUMBER: (15588..15589) \"1\"\n ATMOSPHERE: (15589..15590) \" \"\n CONSTANT: (15590..15591)\n NUMBER: (15590..15591) \"2\"\n CLOSE_PAREN: (15591..15592) \")\"\n CLOSE_PAREN: (15592..15593) \")\"\n CLOSE_PAREN: (15593..15594) \")\"\n CLOSE_PAREN: (15594..15595) \")\"\n ATMOSPHERE: (15595..15597) \"\n\n\"\n FORM: (15597..15705)\n OPEN_PAREN: (15597..15598) \"(\"\n SYMBOL: (15598..15611)\n IDENTIFIER: (15598..15611) \"define-syntax\"\n ATMOSPHERE: (15611..15612) \" \"\n SYMBOL: (15612..15622)\n IDENTIFIER: (15612..15622) \"count-to-2\"\n ATMOSPHERE: (15622..15625) \"\n \"\n FORM: (15625..15704)\n OPEN_PAREN: (15625..15626) \"(\"\n SYMBOL: (15626..15638)\n IDENTIFIER: (15626..15638) \"syntax-rules\"\n ATMOSPHERE: (15638..15639) \" \"\n FORM: (15639..15641)\n OPEN_PAREN: (15639..15640) \"(\"\n CLOSE_PAREN: (15640..15641) \")\"\n ATMOSPHERE: (15641..15646) \"\n \"\n FORM: (15646..15653)\n OPEN_PAREN: (15646..15647) \"(\"\n FORM: (15647..15650)\n OPEN_PAREN: (15647..15648) \"(\"\n SYMBOL: (15648..15649)\n IDENTIFIER: (15648..15649) \"_\"\n CLOSE_PAREN: (15649..15650) \")\"\n ATMOSPHERE: (15650..15651) \" \"\n CONSTANT: (15651..15652)\n NUMBER: (15651..15652) \"0\"\n CLOSE_PAREN: (15652..15653) \")\"\n ATMOSPHERE: (15653..15658) \"\n \"\n FORM: (15658..15667)\n OPEN_PAREN: (15658..15659) \"(\"\n FORM: (15659..15664)\n OPEN_PAREN: (15659..15660) \"(\"\n SYMBOL: (15660..15661)\n IDENTIFIER: (15660..15661) \"_\"\n ATMOSPHERE: (15661..15662) \" \"\n SYMBOL: (15662..15663)\n IDENTIFIER: (15662..15663) \"_\"\n CLOSE_PAREN: (15663..15664) \")\"\n ATMOSPHERE: (15664..15665) \" \"\n CONSTANT: (15665..15666)\n NUMBER: (15665..15666) \"1\"\n CLOSE_PAREN: (15666..15667) \")\"\n ATMOSPHERE: (15667..15672) \"\n \"\n FORM: (15672..15683)\n OPEN_PAREN: (15672..15673) \"(\"\n FORM: (15673..15680)\n OPEN_PAREN: (15673..15674) \"(\"\n SYMBOL: (15674..15675)\n IDENTIFIER: (15674..15675) \"_\"\n ATMOSPHERE: (15675..15676) \" \"\n SYMBOL: (15676..15677)\n IDENTIFIER: (15676..15677) \"_\"\n ATMOSPHERE: (15677..15678) \" \"\n SYMBOL: (15678..15679)\n IDENTIFIER: (15678..15679) \"_\"\n CLOSE_PAREN: (15679..15680) \")\"\n ATMOSPHERE: (15680..15681) \" \"\n CONSTANT: (15681..15682)\n NUMBER: (15681..15682) \"2\"\n CLOSE_PAREN: (15682..15683) \")\"\n ATMOSPHERE: (15683..15688) \"\n \"\n FORM: (15688..15703)\n OPEN_PAREN: (15688..15689) \"(\"\n FORM: (15689..15696)\n OPEN_PAREN: (15689..15690) \"(\"\n SYMBOL: (15690..15691)\n IDENTIFIER: (15690..15691) \"_\"\n ATMOSPHERE: (15691..15692) \" \"\n DOTTED_TAIL: (15692..15695)\n DOT: (15692..15693) \".\"\n ATMOSPHERE: (15693..15694) \" \"\n SYMBOL: (15694..15695)\n IDENTIFIER: (15694..15695) \"_\"\n CLOSE_PAREN: (15695..15696) \")\"\n ATMOSPHERE: (15696..15697) \" \"\n QUOTED_DATUM: (15697..15702)\n QUOTE: (15697..15698) \"'\"\n SYMBOL: (15698..15702)\n IDENTIFIER: (15698..15702) \"many\"\n CLOSE_PAREN: (15702..15703) \")\"\n CLOSE_PAREN: (15703..15704) \")\"\n CLOSE_PAREN: (15704..15705) \")\"\n ATMOSPHERE: (15705..15706) \"\n\"\n FORM: (15706..15786)\n OPEN_PAREN: (15706..15707) \"(\"\n SYMBOL: (15707..15711)\n IDENTIFIER: (15707..15711) \"test\"\n ATMOSPHERE: (15711..15712) \" \"\n QUOTED_DATUM: (15712..15728)\n QUOTE: (15712..15713) \"'\"\n FORM: (15713..15723)\n OPEN_PAREN: (15713..15714) \"(\"\n CONSTANT: (15714..15715)\n NUMBER: (15714..15715) \"2\"\n ATMOSPHERE: (15715..15716) \" \"\n CONSTANT: (15716..15717)\n NUMBER: (15716..15717) \"0\"\n ATMOSPHERE: (15717..15718) \" \"\n SYMBOL: (15718..15722)\n IDENTIFIER: (15718..15722) \"many\"\n CLOSE_PAREN: (15722..15723) \")\"\n ATMOSPHERE: (15723..15728) \"\n \"\n FORM: (15728..15785)\n OPEN_PAREN: (15728..15729) \"(\"\n SYMBOL: (15729..15733)\n IDENTIFIER: (15729..15733) \"list\"\n ATMOSPHERE: (15733..15734) \" \"\n FORM: (15734..15750)\n OPEN_PAREN: (15734..15735) \"(\"\n SYMBOL: (15735..15745)\n IDENTIFIER: (15735..15745) \"count-to-2\"\n ATMOSPHERE: (15745..15746) \" \"\n SYMBOL: (15746..15747)\n IDENTIFIER: (15746..15747) \"a\"\n ATMOSPHERE: (15747..15748) \" \"\n SYMBOL: (15748..15749)\n IDENTIFIER: (15748..15749) \"b\"\n CLOSE_PAREN: (15749..15750) \")\"\n ATMOSPHERE: (15750..15751) \" \"\n FORM: (15751..15763)\n OPEN_PAREN: (15751..15752) \"(\"\n SYMBOL: (15752..15762)\n IDENTIFIER: (15752..15762) \"count-to-2\"\n CLOSE_PAREN: (15762..15763) \")\"\n ATMOSPHERE: (15763..15764) \" \"\n FORM: (15764..15784)\n OPEN_PAREN: (15764..15765) \"(\"\n SYMBOL: (15765..15775)\n IDENTIFIER: (15765..15775) \"count-to-2\"\n ATMOSPHERE: (15775..15776) \" \"\n SYMBOL: (15776..15777)\n IDENTIFIER: (15776..15777) \"a\"\n ATMOSPHERE: (15777..15778) \" \"\n SYMBOL: (15778..15779)\n IDENTIFIER: (15778..15779) \"b\"\n ATMOSPHERE: (15779..15780) \" \"\n SYMBOL: (15780..15781)\n IDENTIFIER: (15780..15781) \"c\"\n ATMOSPHERE: (15781..15782) \" \"\n SYMBOL: (15782..15783)\n IDENTIFIER: (15782..15783) \"d\"\n CLOSE_PAREN: (15783..15784) \")\"\n CLOSE_PAREN: (15784..15785) \")\"\n CLOSE_PAREN: (15785..15786) \")\"\n ATMOSPHERE: (15786..15788) \"\n\n\"\n FORM: (15788..15898)\n OPEN_PAREN: (15788..15789) \"(\"\n SYMBOL: (15789..15802)\n IDENTIFIER: (15789..15802) \"define-syntax\"\n ATMOSPHERE: (15802..15803) \" \"\n SYMBOL: (15803..15814)\n IDENTIFIER: (15803..15814) \"count-to-2_\"\n ATMOSPHERE: (15814..15817) \"\n \"\n FORM: (15817..15897)\n OPEN_PAREN: (15817..15818) \"(\"\n SYMBOL: (15818..15830)\n IDENTIFIER: (15818..15830) \"syntax-rules\"\n ATMOSPHERE: (15830..15831) \" \"\n FORM: (15831..15834)\n OPEN_PAREN: (15831..15832) \"(\"\n SYMBOL: (15832..15833)\n IDENTIFIER: (15832..15833) \"_\"\n CLOSE_PAREN: (15833..15834) \")\"\n ATMOSPHERE: (15834..15839) \"\n \"\n FORM: (15839..15846)\n OPEN_PAREN: (15839..15840) \"(\"\n FORM: (15840..15843)\n OPEN_PAREN: (15840..15841) \"(\"\n SYMBOL: (15841..15842)\n IDENTIFIER: (15841..15842) \"_\"\n CLOSE_PAREN: (15842..15843) \")\"\n ATMOSPHERE: (15843..15844) \" \"\n CONSTANT: (15844..15845)\n NUMBER: (15844..15845) \"0\"\n CLOSE_PAREN: (15845..15846) \")\"\n ATMOSPHERE: (15846..15851) \"\n \"\n FORM: (15851..15860)\n OPEN_PAREN: (15851..15852) \"(\"\n FORM: (15852..15857)\n OPEN_PAREN: (15852..15853) \"(\"\n SYMBOL: (15853..15854)\n IDENTIFIER: (15853..15854) \"_\"\n ATMOSPHERE: (15854..15855) \" \"\n SYMBOL: (15855..15856)\n IDENTIFIER: (15855..15856) \"_\"\n CLOSE_PAREN: (15856..15857) \")\"\n ATMOSPHERE: (15857..15858) \" \"\n CONSTANT: (15858..15859)\n NUMBER: (15858..15859) \"1\"\n CLOSE_PAREN: (15859..15860) \")\"\n ATMOSPHERE: (15860..15865) \"\n \"\n FORM: (15865..15876)\n OPEN_PAREN: (15865..15866) \"(\"\n FORM: (15866..15873)\n OPEN_PAREN: (15866..15867) \"(\"\n SYMBOL: (15867..15868)\n IDENTIFIER: (15867..15868) \"_\"\n ATMOSPHERE: (15868..15869) \" \"\n SYMBOL: (15869..15870)\n IDENTIFIER: (15869..15870) \"_\"\n ATMOSPHERE: (15870..15871) \" \"\n SYMBOL: (15871..15872)\n IDENTIFIER: (15871..15872) \"_\"\n CLOSE_PAREN: (15872..15873) \")\"\n ATMOSPHERE: (15873..15874) \" \"\n CONSTANT: (15874..15875)\n NUMBER: (15874..15875) \"2\"\n CLOSE_PAREN: (15875..15876) \")\"\n ATMOSPHERE: (15876..15881) \"\n \"\n FORM: (15881..15896)\n OPEN_PAREN: (15881..15882) \"(\"\n FORM: (15882..15889)\n OPEN_PAREN: (15882..15883) \"(\"\n SYMBOL: (15883..15884)\n IDENTIFIER: (15883..15884) \"x\"\n ATMOSPHERE: (15884..15885) \" \"\n DOTTED_TAIL: (15885..15888)\n DOT: (15885..15886) \".\"\n ATMOSPHERE: (15886..15887) \" \"\n SYMBOL: (15887..15888)\n IDENTIFIER: (15887..15888) \"y\"\n CLOSE_PAREN: (15888..15889) \")\"\n ATMOSPHERE: (15889..15890) \" \"\n QUOTED_DATUM: (15890..15895)\n QUOTE: (15890..15891) \"'\"\n SYMBOL: (15891..15895)\n IDENTIFIER: (15891..15895) \"fail\"\n CLOSE_PAREN: (15895..15896) \")\"\n CLOSE_PAREN: (15896..15897) \")\"\n CLOSE_PAREN: (15897..15898) \")\"\n ATMOSPHERE: (15898..15899) \"\n\"\n FORM: (15899..16015)\n OPEN_PAREN: (15899..15900) \"(\"\n SYMBOL: (15900..15904)\n IDENTIFIER: (15900..15904) \"test\"\n ATMOSPHERE: (15904..15905) \" \"\n QUOTED_DATUM: (15905..15926)\n QUOTE: (15905..15906) \"'\"\n FORM: (15906..15921)\n OPEN_PAREN: (15906..15907) \"(\"\n CONSTANT: (15907..15908)\n NUMBER: (15907..15908) \"2\"\n ATMOSPHERE: (15908..15909) \" \"\n CONSTANT: (15909..15910)\n NUMBER: (15909..15910) \"0\"\n ATMOSPHERE: (15910..15911) \" \"\n SYMBOL: (15911..15915)\n IDENTIFIER: (15911..15915) \"fail\"\n ATMOSPHERE: (15915..15916) \" \"\n SYMBOL: (15916..15920)\n IDENTIFIER: (15916..15920) \"fail\"\n CLOSE_PAREN: (15920..15921) \")\"\n ATMOSPHERE: (15921..15926) \"\n \"\n FORM: (15926..16014)\n OPEN_PAREN: (15926..15927) \"(\"\n SYMBOL: (15927..15931)\n IDENTIFIER: (15927..15931) \"list\"\n ATMOSPHERE: (15931..15932) \" \"\n FORM: (15932..15949)\n OPEN_PAREN: (15932..15933) \"(\"\n SYMBOL: (15933..15944)\n IDENTIFIER: (15933..15944) \"count-to-2_\"\n ATMOSPHERE: (15944..15945) \" \"\n SYMBOL: (15945..15946)\n IDENTIFIER: (15945..15946) \"_\"\n ATMOSPHERE: (15946..15947) \" \"\n SYMBOL: (15947..15948)\n IDENTIFIER: (15947..15948) \"_\"\n CLOSE_PAREN: (15948..15949) \")\"\n ATMOSPHERE: (15949..15950) \" \"\n FORM: (15950..15963)\n OPEN_PAREN: (15950..15951) \"(\"\n SYMBOL: (15951..15962)\n IDENTIFIER: (15951..15962) \"count-to-2_\"\n CLOSE_PAREN: (15962..15963) \")\"\n ATMOSPHERE: (15963..15974) \"\n \"\n FORM: (15974..15991)\n OPEN_PAREN: (15974..15975) \"(\"\n SYMBOL: (15975..15986)\n IDENTIFIER: (15975..15986) \"count-to-2_\"\n ATMOSPHERE: (15986..15987) \" \"\n SYMBOL: (15987..15988)\n IDENTIFIER: (15987..15988) \"a\"\n ATMOSPHERE: (15988..15989) \" \"\n SYMBOL: (15989..15990)\n IDENTIFIER: (15989..15990) \"b\"\n CLOSE_PAREN: (15990..15991) \")\"\n ATMOSPHERE: (15991..15992) \" \"\n FORM: (15992..16013)\n OPEN_PAREN: (15992..15993) \"(\"\n SYMBOL: (15993..16004)\n IDENTIFIER: (15993..16004) \"count-to-2_\"\n ATMOSPHERE: (16004..16005) \" \"\n SYMBOL: (16005..16006)\n IDENTIFIER: (16005..16006) \"a\"\n ATMOSPHERE: (16006..16007) \" \"\n SYMBOL: (16007..16008)\n IDENTIFIER: (16007..16008) \"b\"\n ATMOSPHERE: (16008..16009) \" \"\n SYMBOL: (16009..16010)\n IDENTIFIER: (16009..16010) \"c\"\n ATMOSPHERE: (16010..16011) \" \"\n SYMBOL: (16011..16012)\n IDENTIFIER: (16011..16012) \"d\"\n CLOSE_PAREN: (16012..16013) \")\"\n CLOSE_PAREN: (16013..16014) \")\"\n CLOSE_PAREN: (16014..16015) \")\"\n ATMOSPHERE: (16015..16017) \"\n\n\"\n FORM: (16017..16209)\n OPEN_PAREN: (16017..16018) \"(\"\n SYMBOL: (16018..16031)\n IDENTIFIER: (16018..16031) \"define-syntax\"\n ATMOSPHERE: (16031..16032) \" \"\n SYMBOL: (16032..16043)\n IDENTIFIER: (16032..16043) \"jabberwocky\"\n ATMOSPHERE: (16043..16046) \"\n \"\n FORM: (16046..16208)\n OPEN_PAREN: (16046..16047) \"(\"\n SYMBOL: (16047..16059)\n IDENTIFIER: (16047..16059) \"syntax-rules\"\n ATMOSPHERE: (16059..16060) \" \"\n FORM: (16060..16062)\n OPEN_PAREN: (16060..16061) \"(\"\n CLOSE_PAREN: (16061..16062) \")\"\n ATMOSPHERE: (16062..16067) \"\n \"\n FORM: (16067..16207)\n OPEN_PAREN: (16067..16068) \"(\"\n FORM: (16068..16078)\n OPEN_PAREN: (16068..16069) \"(\"\n SYMBOL: (16069..16070)\n IDENTIFIER: (16069..16070) \"_\"\n ATMOSPHERE: (16070..16071) \" \"\n SYMBOL: (16071..16077)\n IDENTIFIER: (16071..16077) \"hatter\"\n CLOSE_PAREN: (16077..16078) \")\"\n ATMOSPHERE: (16078..16084) \"\n \"\n FORM: (16084..16206)\n OPEN_PAREN: (16084..16085) \"(\"\n SYMBOL: (16085..16090)\n IDENTIFIER: (16085..16090) \"begin\"\n ATMOSPHERE: (16090..16098) \"\n \"\n FORM: (16098..16120)\n OPEN_PAREN: (16098..16099) \"(\"\n SYMBOL: (16099..16105)\n IDENTIFIER: (16099..16105) \"define\"\n ATMOSPHERE: (16105..16106) \" \"\n SYMBOL: (16106..16116)\n IDENTIFIER: (16106..16116) \"march-hare\"\n ATMOSPHERE: (16116..16117) \" \"\n CONSTANT: (16117..16119)\n NUMBER: (16117..16119) \"42\"\n CLOSE_PAREN: (16119..16120) \")\"\n ATMOSPHERE: (16120..16128) \"\n \"\n FORM: (16128..16205)\n OPEN_PAREN: (16128..16129) \"(\"\n SYMBOL: (16129..16142)\n IDENTIFIER: (16129..16142) \"define-syntax\"\n ATMOSPHERE: (16142..16143) \" \"\n SYMBOL: (16143..16149)\n IDENTIFIER: (16143..16149) \"hatter\"\n ATMOSPHERE: (16149..16159) \"\n \"\n FORM: (16159..16204)\n OPEN_PAREN: (16159..16160) \"(\"\n SYMBOL: (16160..16172)\n IDENTIFIER: (16160..16172) \"syntax-rules\"\n ATMOSPHERE: (16172..16173) \" \"\n FORM: (16173..16175)\n OPEN_PAREN: (16173..16174) \"(\"\n CLOSE_PAREN: (16174..16175) \")\"\n ATMOSPHERE: (16175..16187) \"\n \"\n FORM: (16187..16203)\n OPEN_PAREN: (16187..16188) \"(\"\n FORM: (16188..16191)\n OPEN_PAREN: (16188..16189) \"(\"\n SYMBOL: (16189..16190)\n IDENTIFIER: (16189..16190) \"_\"\n CLOSE_PAREN: (16190..16191) \")\"\n ATMOSPHERE: (16191..16192) \" \"\n SYMBOL: (16192..16202)\n IDENTIFIER: (16192..16202) \"march-hare\"\n CLOSE_PAREN: (16202..16203) \")\"\n CLOSE_PAREN: (16203..16204) \")\"\n CLOSE_PAREN: (16204..16205) \")\"\n CLOSE_PAREN: (16205..16206) \")\"\n CLOSE_PAREN: (16206..16207) \")\"\n CLOSE_PAREN: (16207..16208) \")\"\n CLOSE_PAREN: (16208..16209) \")\"\n ATMOSPHERE: (16209..16210) \"\n\"\n FORM: (16210..16234)\n OPEN_PAREN: (16210..16211) \"(\"\n SYMBOL: (16211..16222)\n IDENTIFIER: (16211..16222) \"jabberwocky\"\n ATMOSPHERE: (16222..16223) \" \"\n SYMBOL: (16223..16233)\n IDENTIFIER: (16223..16233) \"mad-hatter\"\n CLOSE_PAREN: (16233..16234) \")\"\n ATMOSPHERE: (16234..16235) \"\n\"\n FORM: (16235..16257)\n OPEN_PAREN: (16235..16236) \"(\"\n SYMBOL: (16236..16240)\n IDENTIFIER: (16236..16240) \"test\"\n ATMOSPHERE: (16240..16241) \" \"\n CONSTANT: (16241..16243)\n NUMBER: (16241..16243) \"42\"\n ATMOSPHERE: (16243..16244) \" \"\n FORM: (16244..16256)\n OPEN_PAREN: (16244..16245) \"(\"\n SYMBOL: (16245..16255)\n IDENTIFIER: (16245..16255) \"mad-hatter\"\n CLOSE_PAREN: (16255..16256) \")\"\n CLOSE_PAREN: (16256..16257) \")\"\n ATMOSPHERE: (16257..16259) \"\n\n\"\n ATMOSPHERE: (16259..16307) \";; (test 'ok (let ((=> #f)) (cond (#t => 'ok))))\"\n ATMOSPHERE: (16307..16309) \"\n\n\"\n FORM: (16309..16387)\n OPEN_PAREN: (16309..16310) \"(\"\n SYMBOL: (16310..16313)\n IDENTIFIER: (16310..16313) \"let\"\n ATMOSPHERE: (16313..16314) \" \"\n FORM: (16314..16316)\n OPEN_PAREN: (16314..16315) \"(\"\n CLOSE_PAREN: (16315..16316) \")\"\n ATMOSPHERE: (16316..16319) \"\n \"\n FORM: (16319..16331)\n OPEN_PAREN: (16319..16320) \"(\"\n SYMBOL: (16320..16326)\n IDENTIFIER: (16320..16326) \"define\"\n ATMOSPHERE: (16326..16327) \" \"\n SYMBOL: (16327..16328)\n IDENTIFIER: (16327..16328) \"x\"\n ATMOSPHERE: (16328..16329) \" \"\n CONSTANT: (16329..16330)\n NUMBER: (16329..16330) \"1\"\n CLOSE_PAREN: (16330..16331) \")\"\n ATMOSPHERE: (16331..16334) \"\n \"\n FORM: (16334..16373)\n OPEN_PAREN: (16334..16335) \"(\"\n SYMBOL: (16335..16345)\n IDENTIFIER: (16335..16345) \"let-syntax\"\n ATMOSPHERE: (16345..16346) \" \"\n FORM: (16346..16348)\n OPEN_PAREN: (16346..16347) \"(\"\n CLOSE_PAREN: (16347..16348) \")\"\n ATMOSPHERE: (16348..16353) \"\n \"\n FORM: (16353..16365)\n OPEN_PAREN: (16353..16354) \"(\"\n SYMBOL: (16354..16360)\n IDENTIFIER: (16354..16360) \"define\"\n ATMOSPHERE: (16360..16361) \" \"\n SYMBOL: (16361..16362)\n IDENTIFIER: (16361..16362) \"x\"\n ATMOSPHERE: (16362..16363) \" \"\n CONSTANT: (16363..16364)\n NUMBER: (16363..16364) \"2\"\n CLOSE_PAREN: (16364..16365) \")\"\n ATMOSPHERE: (16365..16370) \"\n \"\n CONSTANT: (16370..16372)\n BOOLEAN: (16370..16372) \"#f\"\n CLOSE_PAREN: (16372..16373) \")\"\n ATMOSPHERE: (16373..16376) \"\n \"\n FORM: (16376..16386)\n OPEN_PAREN: (16376..16377) \"(\"\n SYMBOL: (16377..16381)\n IDENTIFIER: (16377..16381) \"test\"\n ATMOSPHERE: (16381..16382) \" \"\n CONSTANT: (16382..16383)\n NUMBER: (16382..16383) \"1\"\n ATMOSPHERE: (16383..16384) \" \"\n SYMBOL: (16384..16385)\n IDENTIFIER: (16384..16385) \"x\"\n CLOSE_PAREN: (16385..16386) \")\"\n CLOSE_PAREN: (16386..16387) \")\"\n ATMOSPHERE: (16387..16389) \"\n\n\"\n FORM: (16389..16565)\n OPEN_PAREN: (16389..16390) \"(\"\n SYMBOL: (16390..16393)\n IDENTIFIER: (16390..16393) \"let\"\n ATMOSPHERE: (16393..16394) \" \"\n FORM: (16394..16396)\n OPEN_PAREN: (16394..16395) \"(\"\n CLOSE_PAREN: (16395..16396) \")\"\n ATMOSPHERE: (16396..16398) \"\n \"\n FORM: (16398..16532)\n OPEN_PAREN: (16398..16399) \"(\"\n SYMBOL: (16399..16412)\n IDENTIFIER: (16399..16412) \"define-syntax\"\n ATMOSPHERE: (16412..16413) \" \"\n SYMBOL: (16413..16416)\n IDENTIFIER: (16413..16416) \"foo\"\n ATMOSPHERE: (16416..16420) \"\n \"\n FORM: (16420..16531)\n OPEN_PAREN: (16420..16421) \"(\"\n SYMBOL: (16421..16433)\n IDENTIFIER: (16421..16433) \"syntax-rules\"\n ATMOSPHERE: (16433..16434) \" \"\n FORM: (16434..16436)\n OPEN_PAREN: (16434..16435) \"(\"\n CLOSE_PAREN: (16435..16436) \")\"\n ATMOSPHERE: (16436..16442) \"\n \"\n FORM: (16442..16530)\n OPEN_PAREN: (16442..16443) \"(\"\n FORM: (16443..16454)\n OPEN_PAREN: (16443..16444) \"(\"\n SYMBOL: (16444..16447)\n IDENTIFIER: (16444..16447) \"foo\"\n ATMOSPHERE: (16447..16448) \" \"\n SYMBOL: (16448..16451)\n IDENTIFIER: (16448..16451) \"bar\"\n ATMOSPHERE: (16451..16452) \" \"\n SYMBOL: (16452..16453)\n IDENTIFIER: (16452..16453) \"y\"\n CLOSE_PAREN: (16453..16454) \")\"\n ATMOSPHERE: (16454..16461) \"\n \"\n FORM: (16461..16529)\n OPEN_PAREN: (16461..16462) \"(\"\n SYMBOL: (16462..16475)\n IDENTIFIER: (16462..16475) \"define-syntax\"\n ATMOSPHERE: (16475..16476) \" \"\n SYMBOL: (16476..16479)\n IDENTIFIER: (16476..16479) \"bar\"\n ATMOSPHERE: (16479..16488) \"\n \"\n FORM: (16488..16528)\n OPEN_PAREN: (16488..16489) \"(\"\n SYMBOL: (16489..16501)\n IDENTIFIER: (16489..16501) \"syntax-rules\"\n ATMOSPHERE: (16501..16502) \" \"\n FORM: (16502..16504)\n OPEN_PAREN: (16502..16503) \"(\"\n CLOSE_PAREN: (16503..16504) \")\"\n ATMOSPHERE: (16504..16515) \"\n \"\n FORM: (16515..16527)\n OPEN_PAREN: (16515..16516) \"(\"\n FORM: (16516..16523)\n OPEN_PAREN: (16516..16517) \"(\"\n SYMBOL: (16517..16520)\n IDENTIFIER: (16517..16520) \"bar\"\n ATMOSPHERE: (16520..16521) \" \"\n SYMBOL: (16521..16522)\n IDENTIFIER: (16521..16522) \"x\"\n CLOSE_PAREN: (16522..16523) \")\"\n ATMOSPHERE: (16523..16524) \" \"\n QUOTED_DATUM: (16524..16526)\n QUOTE: (16524..16525) \"'\"\n SYMBOL: (16525..16526)\n IDENTIFIER: (16525..16526) \"y\"\n CLOSE_PAREN: (16526..16527) \")\"\n CLOSE_PAREN: (16527..16528) \")\"\n CLOSE_PAREN: (16528..16529) \")\"\n CLOSE_PAREN: (16529..16530) \")\"\n CLOSE_PAREN: (16530..16531) \")\"\n CLOSE_PAREN: (16531..16532) \")\"\n ATMOSPHERE: (16532..16534) \"\n \"\n FORM: (16534..16545)\n OPEN_PAREN: (16534..16535) \"(\"\n SYMBOL: (16535..16538)\n IDENTIFIER: (16535..16538) \"foo\"\n ATMOSPHERE: (16538..16539) \" \"\n SYMBOL: (16539..16542)\n IDENTIFIER: (16539..16542) \"bar\"\n ATMOSPHERE: (16542..16543) \" \"\n SYMBOL: (16543..16544)\n IDENTIFIER: (16543..16544) \"x\"\n CLOSE_PAREN: (16544..16545) \")\"\n ATMOSPHERE: (16545..16547) \"\n \"\n FORM: (16547..16564)\n OPEN_PAREN: (16547..16548) \"(\"\n SYMBOL: (16548..16552)\n IDENTIFIER: (16548..16552) \"test\"\n ATMOSPHERE: (16552..16553) \" \"\n QUOTED_DATUM: (16553..16556)\n QUOTE: (16553..16554) \"'\"\n SYMBOL: (16554..16555)\n IDENTIFIER: (16554..16555) \"x\"\n ATMOSPHERE: (16555..16556) \" \"\n FORM: (16556..16563)\n OPEN_PAREN: (16556..16557) \"(\"\n SYMBOL: (16557..16560)\n IDENTIFIER: (16557..16560) \"bar\"\n ATMOSPHERE: (16560..16561) \" \"\n CONSTANT: (16561..16562)\n NUMBER: (16561..16562) \"1\"\n CLOSE_PAREN: (16562..16563) \")\"\n CLOSE_PAREN: (16563..16564) \")\"\n CLOSE_PAREN: (16564..16565) \")\"\n ATMOSPHERE: (16565..16567) \"\n\n\"\n ATMOSPHERE: (16567..16613) \";;; FIXME: Mutual recursion of `define` forms?\"\n ATMOSPHERE: (16613..16614) \"\n\"\n ATMOSPHERE: (16614..16623) \";; (begin\"\n ATMOSPHERE: (16623..16624) \"\n\"\n ATMOSPHERE: (16624..16648) \";; (define-syntax ffoo\"\n ATMOSPHERE: (16648..16649) \"\n\"\n ATMOSPHERE: (16649..16672) \";; (syntax-rules ()\"\n ATMOSPHERE: (16672..16673) \"\n\"\n ATMOSPHERE: (16673..16692) \";; ((ffoo ff)\"\n ATMOSPHERE: (16692..16693) \"\n\"\n ATMOSPHERE: (16693..16709) \";; (begin\"\n ATMOSPHERE: (16709..16710) \"\n\"\n ATMOSPHERE: (16710..16736) \";; (define (ff x)\"\n ATMOSPHERE: (16736..16737) \"\n\"\n ATMOSPHERE: (16737..16758) \";; (gg x))\"\n ATMOSPHERE: (16758..16759) \"\n\"\n ATMOSPHERE: (16759..16785) \";; (define (gg x)\"\n ATMOSPHERE: (16785..16786) \"\n\"\n ATMOSPHERE: (16786..16812) \";; (* x x))))))\"\n ATMOSPHERE: (16812..16813) \"\n\"\n ATMOSPHERE: (16813..16827) \";; (ffoo ff)\"\n ATMOSPHERE: (16827..16828) \"\n\"\n ATMOSPHERE: (16828..16852) \";; (test 100 (ff 10)))\"\n ATMOSPHERE: (16852..16854) \"\n\n\"\n FORM: (16854..16998)\n OPEN_PAREN: (16854..16855) \"(\"\n SYMBOL: (16855..16865)\n IDENTIFIER: (16855..16865) \"let-syntax\"\n ATMOSPHERE: (16865..16866) \" \"\n FORM: (16866..16969)\n OPEN_PAREN: (16866..16867) \"(\"\n FORM: (16867..16968)\n OPEN_PAREN: (16867..16868) \"(\"\n SYMBOL: (16868..16878)\n IDENTIFIER: (16868..16878) \"vector-lit\"\n ATMOSPHERE: (16878..16894) \"\n \"\n FORM: (16894..16967)\n OPEN_PAREN: (16894..16895) \"(\"\n SYMBOL: (16895..16907)\n IDENTIFIER: (16895..16907) \"syntax-rules\"\n ATMOSPHERE: (16907..16908) \" \"\n FORM: (16908..16910)\n OPEN_PAREN: (16908..16909) \"(\"\n CLOSE_PAREN: (16909..16910) \")\"\n ATMOSPHERE: (16910..16928) \"\n \"\n FORM: (16928..16966)\n OPEN_PAREN: (16928..16929) \"(\"\n FORM: (16929..16941)\n OPEN_PAREN: (16929..16930) \"(\"\n SYMBOL: (16930..16940)\n IDENTIFIER: (16930..16940) \"vector-lit\"\n CLOSE_PAREN: (16940..16941) \")\"\n ATMOSPHERE: (16941..16960) \"\n \"\n QUOTED_DATUM: (16960..16965)\n QUOTE: (16960..16961) \"'\"\n VEC: (16961..16965)\n OPEN_PAREN: (16961..16963) \"#(\"\n SYMBOL: (16963..16964)\n IDENTIFIER: (16963..16964) \"b\"\n CLOSE_PAREN: (16964..16965) \")\"\n CLOSE_PAREN: (16965..16966) \")\"\n CLOSE_PAREN: (16966..16967) \")\"\n CLOSE_PAREN: (16967..16968) \")\"\n CLOSE_PAREN: (16968..16969) \")\"\n ATMOSPHERE: (16969..16972) \"\n \"\n FORM: (16972..16997)\n OPEN_PAREN: (16972..16973) \"(\"\n SYMBOL: (16973..16977)\n IDENTIFIER: (16973..16977) \"test\"\n ATMOSPHERE: (16977..16978) \" \"\n QUOTED_DATUM: (16978..16984)\n QUOTE: (16978..16979) \"'\"\n VEC: (16979..16983)\n OPEN_PAREN: (16979..16981) \"#(\"\n SYMBOL: (16981..16982)\n IDENTIFIER: (16981..16982) \"b\"\n CLOSE_PAREN: (16982..16983) \")\"\n ATMOSPHERE: (16983..16984) \" \"\n FORM: (16984..16996)\n OPEN_PAREN: (16984..16985) \"(\"\n SYMBOL: (16985..16995)\n IDENTIFIER: (16985..16995) \"vector-lit\"\n CLOSE_PAREN: (16995..16996) \")\"\n CLOSE_PAREN: (16996..16997) \")\"\n CLOSE_PAREN: (16997..16998) \")\"\n ATMOSPHERE: (16998..17000) \"\n\n\"\n ATMOSPHERE: (17000..17010) \";; (let ()\"\n ATMOSPHERE: (17010..17011) \"\n\"\n ATMOSPHERE: (17011..17040) \";; ;; forward hygienic refs\"\n ATMOSPHERE: (17040..17041) \"\n\"\n ATMOSPHERE: (17041..17067) \";; (define-syntax foo399\"\n ATMOSPHERE: (17067..17068) \"\n\"\n ATMOSPHERE: (17068..17113) \";; (syntax-rules () ((foo399) (bar399))))\"\n ATMOSPHERE: (17113..17114) \"\n\"\n ATMOSPHERE: (17114..17136) \";; (define (quux399)\"\n ATMOSPHERE: (17136..17137) \"\n\"\n ATMOSPHERE: (17137..17153) \";; (foo399))\"\n ATMOSPHERE: (17153..17154) \"\n\"\n ATMOSPHERE: (17154..17175) \";; (define (bar399)\"\n ATMOSPHERE: (17175..17176) \"\n\"\n ATMOSPHERE: (17176..17186) \";; 42)\"\n ATMOSPHERE: (17186..17187) \"\n\"\n ATMOSPHERE: (17187..17212) \";; (test 42 (quux399)))\"\n ATMOSPHERE: (17212..17214) \"\n\n\"\n ATMOSPHERE: (17214..17232) \";;; FIXME: Hygene.\"\n ATMOSPHERE: (17232..17233) \"\n\"\n FORM: (17233..17519)\n OPEN_PAREN: (17233..17234) \"(\"\n SYMBOL: (17234..17244)\n IDENTIFIER: (17234..17244) \"let-syntax\"\n ATMOSPHERE: (17244..17249) \"\n \"\n FORM: (17249..17483)\n OPEN_PAREN: (17249..17250) \"(\"\n FORM: (17250..17482)\n OPEN_PAREN: (17250..17251) \"(\"\n SYMBOL: (17251..17252)\n IDENTIFIER: (17251..17252) \"m\"\n ATMOSPHERE: (17252..17253) \" \"\n FORM: (17253..17481)\n OPEN_PAREN: (17253..17254) \"(\"\n SYMBOL: (17254..17266)\n IDENTIFIER: (17254..17266) \"syntax-rules\"\n ATMOSPHERE: (17266..17267) \" \"\n FORM: (17267..17269)\n OPEN_PAREN: (17267..17268) \"(\"\n CLOSE_PAREN: (17268..17269) \")\"\n ATMOSPHERE: (17269..17280) \"\n \"\n FORM: (17280..17480)\n OPEN_PAREN: (17280..17281) \"(\"\n FORM: (17281..17286)\n OPEN_PAREN: (17281..17282) \"(\"\n SYMBOL: (17282..17283)\n IDENTIFIER: (17282..17283) \"m\"\n ATMOSPHERE: (17283..17284) \" \"\n SYMBOL: (17284..17285)\n IDENTIFIER: (17284..17285) \"x\"\n CLOSE_PAREN: (17285..17286) \")\"\n ATMOSPHERE: (17286..17287) \" \"\n FORM: (17287..17479)\n OPEN_PAREN: (17287..17288) \"(\"\n SYMBOL: (17288..17298)\n IDENTIFIER: (17288..17298) \"let-syntax\"\n ATMOSPHERE: (17298..17320) \"\n \"\n FORM: (17320..17453)\n OPEN_PAREN: (17320..17321) \"(\"\n FORM: (17321..17452)\n OPEN_PAREN: (17321..17322) \"(\"\n SYMBOL: (17322..17323)\n IDENTIFIER: (17322..17323) \"n\"\n ATMOSPHERE: (17323..17324) \" \"\n FORM: (17324..17451)\n OPEN_PAREN: (17324..17325) \"(\"\n SYMBOL: (17325..17337)\n IDENTIFIER: (17325..17337) \"syntax-rules\"\n ATMOSPHERE: (17337..17338) \" \"\n FORM: (17338..17341)\n OPEN_PAREN: (17338..17339) \"(\"\n SYMBOL: (17339..17340)\n IDENTIFIER: (17339..17340) \"k\"\n CLOSE_PAREN: (17340..17341) \")\"\n ATMOSPHERE: (17341..17369) \"\n \"\n FORM: (17369..17396)\n OPEN_PAREN: (17369..17370) \"(\"\n FORM: (17370..17375)\n OPEN_PAREN: (17370..17371) \"(\"\n SYMBOL: (17371..17372)\n IDENTIFIER: (17371..17372) \"n\"\n ATMOSPHERE: (17372..17373) \" \"\n SYMBOL: (17373..17374)\n IDENTIFIER: (17373..17374) \"x\"\n CLOSE_PAREN: (17374..17375) \")\"\n ATMOSPHERE: (17375..17376) \" \"\n QUOTED_DATUM: (17376..17395)\n QUOTE: (17376..17377) \"'\"\n SYMBOL: (17377..17395)\n IDENTIFIER: (17377..17395) \"bound-identifier=?\"\n CLOSE_PAREN: (17395..17396) \")\"\n ATMOSPHERE: (17396..17424) \"\n \"\n FORM: (17424..17450)\n OPEN_PAREN: (17424..17425) \"(\"\n FORM: (17425..17430)\n OPEN_PAREN: (17425..17426) \"(\"\n SYMBOL: (17426..17427)\n IDENTIFIER: (17426..17427) \"n\"\n ATMOSPHERE: (17427..17428) \" \"\n SYMBOL: (17428..17429)\n IDENTIFIER: (17428..17429) \"y\"\n CLOSE_PAREN: (17429..17430) \")\"\n ATMOSPHERE: (17430..17431) \" \"\n QUOTED_DATUM: (17431..17449)\n QUOTE: (17431..17432) \"'\"\n SYMBOL: (17432..17449)\n IDENTIFIER: (17432..17449) \"free-identifier=?\"\n CLOSE_PAREN: (17449..17450) \")\"\n CLOSE_PAREN: (17450..17451) \")\"\n CLOSE_PAREN: (17451..17452) \")\"\n CLOSE_PAREN: (17452..17453) \")\"\n ATMOSPHERE: (17453..17473) \"\n \"\n FORM: (17473..17478)\n OPEN_PAREN: (17473..17474) \"(\"\n SYMBOL: (17474..17475)\n IDENTIFIER: (17474..17475) \"n\"\n ATMOSPHERE: (17475..17476) \" \"\n SYMBOL: (17476..17477)\n IDENTIFIER: (17476..17477) \"z\"\n CLOSE_PAREN: (17477..17478) \")\"\n CLOSE_PAREN: (17478..17479) \")\"\n CLOSE_PAREN: (17479..17480) \")\"\n CLOSE_PAREN: (17480..17481) \")\"\n CLOSE_PAREN: (17481..17482) \")\"\n CLOSE_PAREN: (17482..17483) \")\"\n ATMOSPHERE: (17483..17486) \"\n \"\n FORM: (17486..17518)\n OPEN_PAREN: (17486..17487) \"(\"\n SYMBOL: (17487..17491)\n IDENTIFIER: (17487..17491) \"test\"\n ATMOSPHERE: (17491..17492) \" \"\n QUOTED_DATUM: (17492..17512)\n QUOTE: (17492..17493) \"'\"\n SYMBOL: (17493..17511)\n IDENTIFIER: (17493..17511) \"bound-identifier=?\"\n ATMOSPHERE: (17511..17512) \" \"\n FORM: (17512..17517)\n OPEN_PAREN: (17512..17513) \"(\"\n SYMBOL: (17513..17514)\n IDENTIFIER: (17513..17514) \"m\"\n ATMOSPHERE: (17514..17515) \" \"\n SYMBOL: (17515..17516)\n IDENTIFIER: (17515..17516) \"k\"\n CLOSE_PAREN: (17516..17517) \")\"\n CLOSE_PAREN: (17517..17518) \")\"\n CLOSE_PAREN: (17518..17519) \")\"\n ATMOSPHERE: (17519..17521) \"\n\n\"\n ATMOSPHERE: (17521..17569) \";; literal has priority to ellipsis (R7RS 4.3.2)\"\n ATMOSPHERE: (17569..17570) \"\n\"\n FORM: (17570..17703)\n OPEN_PAREN: (17570..17571) \"(\"\n SYMBOL: (17571..17574)\n IDENTIFIER: (17571..17574) \"let\"\n ATMOSPHERE: (17574..17575) \" \"\n FORM: (17575..17577)\n OPEN_PAREN: (17575..17576) \"(\"\n CLOSE_PAREN: (17576..17577) \")\"\n ATMOSPHERE: (17577..17580) \"\n \"\n FORM: (17580..17665)\n OPEN_PAREN: (17580..17581) \"(\"\n SYMBOL: (17581..17594)\n IDENTIFIER: (17581..17594) \"define-syntax\"\n ATMOSPHERE: (17594..17595) \" \"\n SYMBOL: (17595..17605)\n IDENTIFIER: (17595..17605) \"elli-lit-1\"\n ATMOSPHERE: (17605..17610) \"\n \"\n FORM: (17610..17664)\n OPEN_PAREN: (17610..17611) \"(\"\n SYMBOL: (17611..17623)\n IDENTIFIER: (17611..17623) \"syntax-rules\"\n ATMOSPHERE: (17623..17624) \" \"\n SYMBOL: (17624..17627)\n IDENTIFIER: (17624..17627) \"...\"\n ATMOSPHERE: (17627..17628) \" \"\n FORM: (17628..17633)\n OPEN_PAREN: (17628..17629) \"(\"\n SYMBOL: (17629..17632)\n IDENTIFIER: (17629..17632) \"...\"\n CLOSE_PAREN: (17632..17633) \")\"\n ATMOSPHERE: (17633..17640) \"\n \"\n FORM: (17640..17663)\n OPEN_PAREN: (17640..17641) \"(\"\n FORM: (17641..17646)\n OPEN_PAREN: (17641..17642) \"(\"\n SYMBOL: (17642..17643)\n IDENTIFIER: (17642..17643) \"_\"\n ATMOSPHERE: (17643..17644) \" \"\n SYMBOL: (17644..17645)\n IDENTIFIER: (17644..17645) \"x\"\n CLOSE_PAREN: (17645..17646) \")\"\n ATMOSPHERE: (17646..17654) \"\n \"\n QUOTED_DATUM: (17654..17662)\n QUOTE: (17654..17655) \"'\"\n FORM: (17655..17662)\n OPEN_PAREN: (17655..17656) \"(\"\n SYMBOL: (17656..17657)\n IDENTIFIER: (17656..17657) \"x\"\n ATMOSPHERE: (17657..17658) \" \"\n SYMBOL: (17658..17661)\n IDENTIFIER: (17658..17661) \"...\"\n CLOSE_PAREN: (17661..17662) \")\"\n CLOSE_PAREN: (17662..17663) \")\"\n CLOSE_PAREN: (17663..17664) \")\"\n CLOSE_PAREN: (17664..17665) \")\"\n ATMOSPHERE: (17665..17668) \"\n \"\n FORM: (17668..17702)\n OPEN_PAREN: (17668..17669) \"(\"\n SYMBOL: (17669..17673)\n IDENTIFIER: (17669..17673) \"test\"\n ATMOSPHERE: (17673..17674) \" \"\n QUOTED_DATUM: (17674..17685)\n QUOTE: (17674..17675) \"'\"\n FORM: (17675..17684)\n OPEN_PAREN: (17675..17676) \"(\"\n CONSTANT: (17676..17679)\n NUMBER: (17676..17679) \"100\"\n ATMOSPHERE: (17679..17680) \" \"\n SYMBOL: (17680..17683)\n IDENTIFIER: (17680..17683) \"...\"\n CLOSE_PAREN: (17683..17684) \")\"\n ATMOSPHERE: (17684..17685) \" \"\n FORM: (17685..17701)\n OPEN_PAREN: (17685..17686) \"(\"\n SYMBOL: (17686..17696)\n IDENTIFIER: (17686..17696) \"elli-lit-1\"\n ATMOSPHERE: (17696..17697) \" \"\n CONSTANT: (17697..17700)\n NUMBER: (17697..17700) \"100\"\n CLOSE_PAREN: (17700..17701) \")\"\n CLOSE_PAREN: (17701..17702) \")\"\n CLOSE_PAREN: (17702..17703) \")\"\n ATMOSPHERE: (17703..17705) \"\n\n\"\n ATMOSPHERE: (17705..17720) \";; bad ellipsis\"\n ATMOSPHERE: (17720..17721) \"\n\"\n ATMOSPHERE: (17721..18159) \"#|\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-1\n (syntax-rules ()\n ((_ ... x)\n '(... x))))\n (interaction-environment))))\n\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-2\n (syntax-rules ()\n ((_ (... x))\n '(... x))))\n (interaction-environment))))\n|#\"\n ATMOSPHERE: (18159..18161) \"\n\n\"\n FORM: (18161..18171)\n OPEN_PAREN: (18161..18162) \"(\"\n SYMBOL: (18162..18170)\n IDENTIFIER: (18162..18170) \"test-end\"\n CLOSE_PAREN: (18170..18171) \")\"\n ATMOSPHERE: (18171..18173) \"\n\n\"\n FORM: (18173..18207)\n OPEN_PAREN: (18173..18174) \"(\"\n SYMBOL: (18174..18184)\n IDENTIFIER: (18174..18184) \"test-begin\"\n ATMOSPHERE: (18184..18185) \" \"\n CONSTANT: (18185..18206)\n STRING: (18185..18206) \"\"5 Program structure\"\"\n CLOSE_PAREN: (18206..18207) \")\"\n ATMOSPHERE: (18207..18209) \"\n\n\"\n FORM: (18209..18245)\n OPEN_PAREN: (18209..18210) \"(\"\n SYMBOL: (18210..18216)\n IDENTIFIER: (18210..18216) \"define\"\n ATMOSPHERE: (18216..18217) \" \"\n SYMBOL: (18217..18221)\n IDENTIFIER: (18217..18221) \"add3\"\n ATMOSPHERE: (18221..18224) \"\n \"\n FORM: (18224..18244)\n OPEN_PAREN: (18224..18225) \"(\"\n SYMBOL: (18225..18231)\n IDENTIFIER: (18225..18231) \"lambda\"\n ATMOSPHERE: (18231..18232) \" \"\n FORM: (18232..18235)\n OPEN_PAREN: (18232..18233) \"(\"\n SYMBOL: (18233..18234)\n IDENTIFIER: (18233..18234) \"x\"\n CLOSE_PAREN: (18234..18235) \")\"\n ATMOSPHERE: (18235..18236) \" \"\n FORM: (18236..18243)\n OPEN_PAREN: (18236..18237) \"(\"\n SYMBOL: (18237..18238)\n IDENTIFIER: (18237..18238) \"+\"\n ATMOSPHERE: (18238..18239) \" \"\n SYMBOL: (18239..18240)\n IDENTIFIER: (18239..18240) \"x\"\n ATMOSPHERE: (18240..18241) \" \"\n CONSTANT: (18241..18242)\n NUMBER: (18241..18242) \"3\"\n CLOSE_PAREN: (18242..18243) \")\"\n CLOSE_PAREN: (18243..18244) \")\"\n CLOSE_PAREN: (18244..18245) \")\"\n ATMOSPHERE: (18245..18246) \"\n\"\n FORM: (18246..18263)\n OPEN_PAREN: (18246..18247) \"(\"\n SYMBOL: (18247..18251)\n IDENTIFIER: (18247..18251) \"test\"\n ATMOSPHERE: (18251..18252) \" \"\n CONSTANT: (18252..18253)\n NUMBER: (18252..18253) \"6\"\n ATMOSPHERE: (18253..18254) \" \"\n FORM: (18254..18262)\n OPEN_PAREN: (18254..18255) \"(\"\n SYMBOL: (18255..18259)\n IDENTIFIER: (18255..18259) \"add3\"\n ATMOSPHERE: (18259..18260) \" \"\n CONSTANT: (18260..18261)\n NUMBER: (18260..18261) \"3\"\n CLOSE_PAREN: (18261..18262) \")\"\n CLOSE_PAREN: (18262..18263) \")\"\n ATMOSPHERE: (18263..18264) \"\n\"\n FORM: (18264..18282)\n OPEN_PAREN: (18264..18265) \"(\"\n SYMBOL: (18265..18271)\n IDENTIFIER: (18265..18271) \"define\"\n ATMOSPHERE: (18271..18272) \" \"\n SYMBOL: (18272..18277)\n IDENTIFIER: (18272..18277) \"first\"\n ATMOSPHERE: (18277..18278) \" \"\n SYMBOL: (18278..18281)\n IDENTIFIER: (18278..18281) \"car\"\n CLOSE_PAREN: (18281..18282) \")\"\n ATMOSPHERE: (18282..18283) \"\n\"\n FORM: (18283..18306)\n OPEN_PAREN: (18283..18284) \"(\"\n SYMBOL: (18284..18288)\n IDENTIFIER: (18284..18288) \"test\"\n ATMOSPHERE: (18288..18289) \" \"\n CONSTANT: (18289..18290)\n NUMBER: (18289..18290) \"1\"\n ATMOSPHERE: (18290..18291) \" \"\n FORM: (18291..18305)\n OPEN_PAREN: (18291..18292) \"(\"\n SYMBOL: (18292..18297)\n IDENTIFIER: (18292..18297) \"first\"\n ATMOSPHERE: (18297..18298) \" \"\n QUOTED_DATUM: (18298..18304)\n QUOTE: (18298..18299) \"'\"\n FORM: (18299..18304)\n OPEN_PAREN: (18299..18300) \"(\"\n CONSTANT: (18300..18301)\n NUMBER: (18300..18301) \"1\"\n ATMOSPHERE: (18301..18302) \" \"\n CONSTANT: (18302..18303)\n NUMBER: (18302..18303) \"2\"\n CLOSE_PAREN: (18303..18304) \")\"\n CLOSE_PAREN: (18304..18305) \")\"\n CLOSE_PAREN: (18305..18306) \")\"\n ATMOSPHERE: (18306..18308) \"\n\n\"\n ATMOSPHERE: (18308..18345) \";;; FIXME: `define` mutual recursion.\"\n ATMOSPHERE: (18345..18346) \"\n\"\n ATMOSPHERE: (18346..18370) \";; (test 45 (let ((x 5))\"\n ATMOSPHERE: (18370..18371) \"\n\"\n ATMOSPHERE: (18371..18411) \";; (define foo (lambda (y) (bar x y)))\"\n ATMOSPHERE: (18411..18412) \"\n\"\n ATMOSPHERE: (18412..18458) \";; (define bar (lambda (a b) (+ (* a b) a)))\"\n ATMOSPHERE: (18458..18459) \"\n\"\n ATMOSPHERE: (18459..18479) \";; (foo (+ x 3))))\"\n ATMOSPHERE: (18479..18481) \"\n\n\"\n ATMOSPHERE: (18481..18493) \";; (test 'ok\"\n ATMOSPHERE: (18493..18494) \"\n\"\n ATMOSPHERE: (18494..18508) \";; (let ()\"\n ATMOSPHERE: (18508..18509) \"\n\"\n ATMOSPHERE: (18509..18545) \";; (define-values () (values))\"\n ATMOSPHERE: (18545..18546) \"\n\"\n ATMOSPHERE: (18546..18560) \";; 'ok))\"\n ATMOSPHERE: (18560..18561) \"\n\"\n ATMOSPHERE: (18561..18571) \";; (test 1\"\n ATMOSPHERE: (18571..18572) \"\n\"\n ATMOSPHERE: (18572..18586) \";; (let ()\"\n ATMOSPHERE: (18586..18587) \"\n\"\n ATMOSPHERE: (18587..18626) \";; (define-values (x) (values 1))\"\n ATMOSPHERE: (18626..18627) \"\n\"\n ATMOSPHERE: (18627..18639) \";; x))\"\n ATMOSPHERE: (18639..18640) \"\n\"\n ATMOSPHERE: (18640..18650) \";; (test 3\"\n ATMOSPHERE: (18650..18651) \"\n\"\n ATMOSPHERE: (18651..18665) \";; (let ()\"\n ATMOSPHERE: (18665..18666) \"\n\"\n ATMOSPHERE: (18666..18705) \";; (define-values x (values 1 2))\"\n ATMOSPHERE: (18705..18706) \"\n\"\n ATMOSPHERE: (18706..18728) \";; (apply + x)))\"\n ATMOSPHERE: (18728..18729) \"\n\"\n ATMOSPHERE: (18729..18739) \";; (test 3\"\n ATMOSPHERE: (18739..18740) \"\n\"\n ATMOSPHERE: (18740..18754) \";; (let ()\"\n ATMOSPHERE: (18754..18755) \"\n\"\n ATMOSPHERE: (18755..18798) \";; (define-values (x y) (values 1 2))\"\n ATMOSPHERE: (18798..18799) \"\n\"\n ATMOSPHERE: (18799..18817) \";; (+ x y)))\"\n ATMOSPHERE: (18817..18818) \"\n\"\n ATMOSPHERE: (18818..18828) \";; (test 6\"\n ATMOSPHERE: (18828..18829) \"\n\"\n ATMOSPHERE: (18829..18843) \";; (let ()\"\n ATMOSPHERE: (18843..18844) \"\n\"\n ATMOSPHERE: (18844..18891) \";; (define-values (x y z) (values 1 2 3))\"\n ATMOSPHERE: (18891..18892) \"\n\"\n ATMOSPHERE: (18892..18912) \";; (+ x y z)))\"\n ATMOSPHERE: (18912..18913) \"\n\"\n ATMOSPHERE: (18913..18924) \";; (test 10\"\n ATMOSPHERE: (18924..18925) \"\n\"\n ATMOSPHERE: (18925..18939) \";; (let ()\"\n ATMOSPHERE: (18939..18940) \"\n\"\n ATMOSPHERE: (18940..18991) \";; (define-values (x y . z) (values 1 2 3 4))\"\n ATMOSPHERE: (18991..18992) \"\n\"\n ATMOSPHERE: (18992..19027) \";; (+ x y (car z) (cadr z))))\"\n ATMOSPHERE: (19027..19029) \"\n\n\"\n ATMOSPHERE: (19029..19063) \";; (test '(2 1) (let ((x 1) (y 2))\"\n ATMOSPHERE: (19063..19064) \"\n\"\n ATMOSPHERE: (19064..19089) \";; (define-syntax swap!\"\n ATMOSPHERE: (19089..19090) \"\n\"\n ATMOSPHERE: (19090..19113) \";; (syntax-rules ()\"\n ATMOSPHERE: (19113..19114) \"\n\"\n ATMOSPHERE: (19114..19135) \";; ((swap! a b)\"\n ATMOSPHERE: (19135..19136) \"\n\"\n ATMOSPHERE: (19136..19160) \";; (let ((tmp a))\"\n ATMOSPHERE: (19160..19161) \"\n\"\n ATMOSPHERE: (19161..19183) \";; (set! a b)\"\n ATMOSPHERE: (19183..19184) \"\n\"\n ATMOSPHERE: (19184..19212) \";; (set! b tmp)))))\"\n ATMOSPHERE: (19212..19213) \"\n\"\n ATMOSPHERE: (19213..19229) \";; (swap! x y)\"\n ATMOSPHERE: (19229..19230) \"\n\"\n ATMOSPHERE: (19230..19247) \";; (list x y)))\"\n ATMOSPHERE: (19247..19249) \"\n\n\"\n ATMOSPHERE: (19249..19262) \";; ;; Records\"\n ATMOSPHERE: (19262..19264) \"\n\n\"\n ATMOSPHERE: (19264..19293) \";; (define-record-type \"\n ATMOSPHERE: (19293..19294) \"\n\"\n ATMOSPHERE: (19294..19309) \";; (kons x y)\"\n ATMOSPHERE: (19309..19310) \"\n\"\n ATMOSPHERE: (19310..19320) \";; pare?\"\n ATMOSPHERE: (19320..19321) \"\n\"\n ATMOSPHERE: (19321..19342) \";; (x kar set-kar!)\"\n ATMOSPHERE: (19342..19343) \"\n\"\n ATMOSPHERE: (19343..19356) \";; (y kdr))\"\n ATMOSPHERE: (19356..19358) \"\n\n\"\n ATMOSPHERE: (19358..19389) \";; (test #t (pare? (kons 1 2)))\"\n ATMOSPHERE: (19389..19390) \"\n\"\n ATMOSPHERE: (19390..19421) \";; (test #f (pare? (cons 1 2)))\"\n ATMOSPHERE: (19421..19422) \"\n\"\n ATMOSPHERE: (19422..19450) \";; (test 1 (kar (kons 1 2)))\"\n ATMOSPHERE: (19450..19451) \"\n\"\n ATMOSPHERE: (19451..19479) \";; (test 2 (kdr (kons 1 2)))\"\n ATMOSPHERE: (19479..19480) \"\n\"\n ATMOSPHERE: (19480..19512) \";; (test 3 (let ((k (kons 1 2)))\"\n ATMOSPHERE: (19512..19513) \"\n\"\n ATMOSPHERE: (19513..19540) \";; (set-kar! k 3)\"\n ATMOSPHERE: (19540..19541) \"\n\"\n ATMOSPHERE: (19541..19563) \";; (kar k)))\"\n ATMOSPHERE: (19563..19565) \"\n\n\"\n FORM: (19565..19575)\n OPEN_PAREN: (19565..19566) \"(\"\n SYMBOL: (19566..19574)\n IDENTIFIER: (19566..19574) \"test-end\"\n CLOSE_PAREN: (19574..19575) \")\"\n ATMOSPHERE: (19575..19577) \"\n\n\"\n ATMOSPHERE: (19577..19652) \";; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\"\n ATMOSPHERE: (19652..19653) \"\n\"\n ATMOSPHERE: (19653..19680) \";; ;; 6 Standard Procedures\"\n ATMOSPHERE: (19680..19682) \"\n\n\"\n FORM: (19682..19723)\n OPEN_PAREN: (19682..19683) \"(\"\n SYMBOL: (19683..19693)\n IDENTIFIER: (19683..19693) \"test-begin\"\n ATMOSPHERE: (19693..19694) \" \"\n CONSTANT: (19694..19722)\n STRING: (19694..19722) \"\"6.1 Equivalence Predicates\"\"\n CLOSE_PAREN: (19722..19723) \")\"\n ATMOSPHERE: (19723..19725) \"\n\n\"\n FORM: (19725..19747)\n OPEN_PAREN: (19725..19726) \"(\"\n SYMBOL: (19726..19730)\n IDENTIFIER: (19726..19730) \"test\"\n ATMOSPHERE: (19730..19731) \" \"\n CONSTANT: (19731..19733)\n BOOLEAN: (19731..19733) \"#t\"\n ATMOSPHERE: (19733..19734) \" \"\n FORM: (19734..19746)\n OPEN_PAREN: (19734..19735) \"(\"\n SYMBOL: (19735..19739)\n IDENTIFIER: (19735..19739) \"eqv?\"\n ATMOSPHERE: (19739..19740) \" \"\n QUOTED_DATUM: (19740..19743)\n QUOTE: (19740..19741) \"'\"\n SYMBOL: (19741..19742)\n IDENTIFIER: (19741..19742) \"a\"\n ATMOSPHERE: (19742..19743) \" \"\n QUOTED_DATUM: (19743..19745)\n QUOTE: (19743..19744) \"'\"\n SYMBOL: (19744..19745)\n IDENTIFIER: (19744..19745) \"a\"\n CLOSE_PAREN: (19745..19746) \")\"\n CLOSE_PAREN: (19746..19747) \")\"\n ATMOSPHERE: (19747..19748) \"\n\"\n FORM: (19748..19770)\n OPEN_PAREN: (19748..19749) \"(\"\n SYMBOL: (19749..19753)\n IDENTIFIER: (19749..19753) \"test\"\n ATMOSPHERE: (19753..19754) \" \"\n CONSTANT: (19754..19756)\n BOOLEAN: (19754..19756) \"#f\"\n ATMOSPHERE: (19756..19757) \" \"\n FORM: (19757..19769)\n OPEN_PAREN: (19757..19758) \"(\"\n SYMBOL: (19758..19762)\n IDENTIFIER: (19758..19762) \"eqv?\"\n ATMOSPHERE: (19762..19763) \" \"\n QUOTED_DATUM: (19763..19766)\n QUOTE: (19763..19764) \"'\"\n SYMBOL: (19764..19765)\n IDENTIFIER: (19764..19765) \"a\"\n ATMOSPHERE: (19765..19766) \" \"\n QUOTED_DATUM: (19766..19768)\n QUOTE: (19766..19767) \"'\"\n SYMBOL: (19767..19768)\n IDENTIFIER: (19767..19768) \"b\"\n CLOSE_PAREN: (19768..19769) \")\"\n CLOSE_PAREN: (19769..19770) \")\"\n ATMOSPHERE: (19770..19771) \"\n\"\n FORM: (19771..19791)\n OPEN_PAREN: (19771..19772) \"(\"\n SYMBOL: (19772..19776)\n IDENTIFIER: (19772..19776) \"test\"\n ATMOSPHERE: (19776..19777) \" \"\n CONSTANT: (19777..19779)\n BOOLEAN: (19777..19779) \"#t\"\n ATMOSPHERE: (19779..19780) \" \"\n FORM: (19780..19790)\n OPEN_PAREN: (19780..19781) \"(\"\n SYMBOL: (19781..19785)\n IDENTIFIER: (19781..19785) \"eqv?\"\n ATMOSPHERE: (19785..19786) \" \"\n CONSTANT: (19786..19787)\n NUMBER: (19786..19787) \"2\"\n ATMOSPHERE: (19787..19788) \" \"\n CONSTANT: (19788..19789)\n NUMBER: (19788..19789) \"2\"\n CLOSE_PAREN: (19789..19790) \")\"\n CLOSE_PAREN: (19790..19791) \")\"\n ATMOSPHERE: (19791..19792) \"\n\"\n FORM: (19792..19816)\n OPEN_PAREN: (19792..19793) \"(\"\n SYMBOL: (19793..19797)\n IDENTIFIER: (19793..19797) \"test\"\n ATMOSPHERE: (19797..19798) \" \"\n CONSTANT: (19798..19800)\n BOOLEAN: (19798..19800) \"#t\"\n ATMOSPHERE: (19800..19801) \" \"\n FORM: (19801..19815)\n OPEN_PAREN: (19801..19802) \"(\"\n SYMBOL: (19802..19806)\n IDENTIFIER: (19802..19806) \"eqv?\"\n ATMOSPHERE: (19806..19807) \" \"\n QUOTED_DATUM: (19807..19811)\n QUOTE: (19807..19808) \"'\"\n FORM: (19808..19810)\n OPEN_PAREN: (19808..19809) \"(\"\n CLOSE_PAREN: (19809..19810) \")\"\n ATMOSPHERE: (19810..19811) \" \"\n QUOTED_DATUM: (19811..19814)\n QUOTE: (19811..19812) \"'\"\n FORM: (19812..19814)\n OPEN_PAREN: (19812..19813) \"(\"\n CLOSE_PAREN: (19813..19814) \")\"\n CLOSE_PAREN: (19814..19815) \")\"\n CLOSE_PAREN: (19815..19816) \")\"\n ATMOSPHERE: (19816..19817) \"\n\"\n FORM: (19817..19853)\n OPEN_PAREN: (19817..19818) \"(\"\n SYMBOL: (19818..19822)\n IDENTIFIER: (19818..19822) \"test\"\n ATMOSPHERE: (19822..19823) \" \"\n CONSTANT: (19823..19825)\n BOOLEAN: (19823..19825) \"#t\"\n ATMOSPHERE: (19825..19826) \" \"\n FORM: (19826..19852)\n OPEN_PAREN: (19826..19827) \"(\"\n SYMBOL: (19827..19831)\n IDENTIFIER: (19827..19831) \"eqv?\"\n ATMOSPHERE: (19831..19832) \" \"\n CONSTANT: (19832..19841)\n NUMBER: (19832..19841) \"100000000\"\n ATMOSPHERE: (19841..19842) \" \"\n CONSTANT: (19842..19851)\n NUMBER: (19842..19851) \"100000000\"\n CLOSE_PAREN: (19851..19852) \")\"\n CLOSE_PAREN: (19852..19853) \")\"\n ATMOSPHERE: (19853..19854) \"\n\"\n FORM: (19854..19892)\n OPEN_PAREN: (19854..19855) \"(\"\n SYMBOL: (19855..19859)\n IDENTIFIER: (19855..19859) \"test\"\n ATMOSPHERE: (19859..19860) \" \"\n CONSTANT: (19860..19862)\n BOOLEAN: (19860..19862) \"#f\"\n ATMOSPHERE: (19862..19863) \" \"\n FORM: (19863..19891)\n OPEN_PAREN: (19863..19864) \"(\"\n SYMBOL: (19864..19868)\n IDENTIFIER: (19864..19868) \"eqv?\"\n ATMOSPHERE: (19868..19869) \" \"\n FORM: (19869..19879)\n OPEN_PAREN: (19869..19870) \"(\"\n SYMBOL: (19870..19874)\n IDENTIFIER: (19870..19874) \"cons\"\n ATMOSPHERE: (19874..19875) \" \"\n CONSTANT: (19875..19876)\n NUMBER: (19875..19876) \"1\"\n ATMOSPHERE: (19876..19877) \" \"\n CONSTANT: (19877..19878)\n NUMBER: (19877..19878) \"2\"\n CLOSE_PAREN: (19878..19879) \")\"\n ATMOSPHERE: (19879..19880) \" \"\n FORM: (19880..19890)\n OPEN_PAREN: (19880..19881) \"(\"\n SYMBOL: (19881..19885)\n IDENTIFIER: (19881..19885) \"cons\"\n ATMOSPHERE: (19885..19886) \" \"\n CONSTANT: (19886..19887)\n NUMBER: (19886..19887) \"1\"\n ATMOSPHERE: (19887..19888) \" \"\n CONSTANT: (19888..19889)\n NUMBER: (19888..19889) \"2\"\n CLOSE_PAREN: (19889..19890) \")\"\n CLOSE_PAREN: (19890..19891) \")\"\n CLOSE_PAREN: (19891..19892) \")\"\n ATMOSPHERE: (19892..19893) \"\n\"\n FORM: (19893..19952)\n OPEN_PAREN: (19893..19894) \"(\"\n SYMBOL: (19894..19898)\n IDENTIFIER: (19894..19898) \"test\"\n ATMOSPHERE: (19898..19899) \" \"\n CONSTANT: (19899..19901)\n BOOLEAN: (19899..19901) \"#f\"\n ATMOSPHERE: (19901..19902) \" \"\n FORM: (19902..19951)\n OPEN_PAREN: (19902..19903) \"(\"\n SYMBOL: (19903..19907)\n IDENTIFIER: (19903..19907) \"eqv?\"\n ATMOSPHERE: (19907..19908) \" \"\n FORM: (19908..19921)\n OPEN_PAREN: (19908..19909) \"(\"\n SYMBOL: (19909..19915)\n IDENTIFIER: (19909..19915) \"lambda\"\n ATMOSPHERE: (19915..19916) \" \"\n FORM: (19916..19918)\n OPEN_PAREN: (19916..19917) \"(\"\n CLOSE_PAREN: (19917..19918) \")\"\n ATMOSPHERE: (19918..19919) \" \"\n CONSTANT: (19919..19920)\n NUMBER: (19919..19920) \"1\"\n CLOSE_PAREN: (19920..19921) \")\"\n ATMOSPHERE: (19921..19937) \"\n \"\n FORM: (19937..19950)\n OPEN_PAREN: (19937..19938) \"(\"\n SYMBOL: (19938..19944)\n IDENTIFIER: (19938..19944) \"lambda\"\n ATMOSPHERE: (19944..19945) \" \"\n FORM: (19945..19947)\n OPEN_PAREN: (19945..19946) \"(\"\n CLOSE_PAREN: (19946..19947) \")\"\n ATMOSPHERE: (19947..19948) \" \"\n CONSTANT: (19948..19949)\n NUMBER: (19948..19949) \"2\"\n CLOSE_PAREN: (19949..19950) \")\"\n CLOSE_PAREN: (19950..19951) \")\"\n CLOSE_PAREN: (19951..19952) \")\"\n ATMOSPHERE: (19952..19953) \"\n\"\n FORM: (19953..19977)\n OPEN_PAREN: (19953..19954) \"(\"\n SYMBOL: (19954..19958)\n IDENTIFIER: (19954..19958) \"test\"\n ATMOSPHERE: (19958..19959) \" \"\n CONSTANT: (19959..19961)\n BOOLEAN: (19959..19961) \"#f\"\n ATMOSPHERE: (19961..19962) \" \"\n FORM: (19962..19976)\n OPEN_PAREN: (19962..19963) \"(\"\n SYMBOL: (19963..19967)\n IDENTIFIER: (19963..19967) \"eqv?\"\n ATMOSPHERE: (19967..19968) \" \"\n CONSTANT: (19968..19970)\n BOOLEAN: (19968..19970) \"#f\"\n ATMOSPHERE: (19970..19971) \" \"\n QUOTED_DATUM: (19971..19975)\n QUOTE: (19971..19972) \"'\"\n SYMBOL: (19972..19975)\n IDENTIFIER: (19972..19975) \"nil\"\n CLOSE_PAREN: (19975..19976) \")\"\n CLOSE_PAREN: (19976..19977) \")\"\n ATMOSPHERE: (19977..19979) \"\n\n\"\n FORM: (19979..20068)\n OPEN_PAREN: (19979..19980) \"(\"\n SYMBOL: (19980..19986)\n IDENTIFIER: (19980..19986) \"define\"\n ATMOSPHERE: (19986..19987) \" \"\n SYMBOL: (19987..19998)\n IDENTIFIER: (19987..19998) \"gen-counter\"\n ATMOSPHERE: (19998..20001) \"\n \"\n FORM: (20001..20067)\n OPEN_PAREN: (20001..20002) \"(\"\n SYMBOL: (20002..20008)\n IDENTIFIER: (20002..20008) \"lambda\"\n ATMOSPHERE: (20008..20009) \" \"\n FORM: (20009..20011)\n OPEN_PAREN: (20009..20010) \"(\"\n CLOSE_PAREN: (20010..20011) \")\"\n ATMOSPHERE: (20011..20016) \"\n \"\n FORM: (20016..20066)\n OPEN_PAREN: (20016..20017) \"(\"\n SYMBOL: (20017..20020)\n IDENTIFIER: (20017..20020) \"let\"\n ATMOSPHERE: (20020..20021) \" \"\n FORM: (20021..20028)\n OPEN_PAREN: (20021..20022) \"(\"\n FORM: (20022..20027)\n OPEN_PAREN: (20022..20023) \"(\"\n SYMBOL: (20023..20024)\n IDENTIFIER: (20023..20024) \"n\"\n ATMOSPHERE: (20024..20025) \" \"\n CONSTANT: (20025..20026)\n NUMBER: (20025..20026) \"0\"\n CLOSE_PAREN: (20026..20027) \")\"\n CLOSE_PAREN: (20027..20028) \")\"\n ATMOSPHERE: (20028..20035) \"\n \"\n FORM: (20035..20065)\n OPEN_PAREN: (20035..20036) \"(\"\n SYMBOL: (20036..20042)\n IDENTIFIER: (20036..20042) \"lambda\"\n ATMOSPHERE: (20042..20043) \" \"\n FORM: (20043..20045)\n OPEN_PAREN: (20043..20044) \"(\"\n CLOSE_PAREN: (20044..20045) \")\"\n ATMOSPHERE: (20045..20046) \" \"\n FORM: (20046..20062)\n OPEN_PAREN: (20046..20047) \"(\"\n SYMBOL: (20047..20051)\n IDENTIFIER: (20047..20051) \"set!\"\n ATMOSPHERE: (20051..20052) \" \"\n SYMBOL: (20052..20053)\n IDENTIFIER: (20052..20053) \"n\"\n ATMOSPHERE: (20053..20054) \" \"\n FORM: (20054..20061)\n OPEN_PAREN: (20054..20055) \"(\"\n SYMBOL: (20055..20056)\n IDENTIFIER: (20055..20056) \"+\"\n ATMOSPHERE: (20056..20057) \" \"\n SYMBOL: (20057..20058)\n IDENTIFIER: (20057..20058) \"n\"\n ATMOSPHERE: (20058..20059) \" \"\n CONSTANT: (20059..20060)\n NUMBER: (20059..20060) \"1\"\n CLOSE_PAREN: (20060..20061) \")\"\n CLOSE_PAREN: (20061..20062) \")\"\n ATMOSPHERE: (20062..20063) \" \"\n SYMBOL: (20063..20064)\n IDENTIFIER: (20063..20064) \"n\"\n CLOSE_PAREN: (20064..20065) \")\"\n CLOSE_PAREN: (20065..20066) \")\"\n CLOSE_PAREN: (20066..20067) \")\"\n CLOSE_PAREN: (20067..20068) \")\"\n ATMOSPHERE: (20068..20069) \"\n\"\n FORM: (20069..20125)\n OPEN_PAREN: (20069..20070) \"(\"\n SYMBOL: (20070..20074)\n IDENTIFIER: (20070..20074) \"test\"\n ATMOSPHERE: (20074..20075) \" \"\n CONSTANT: (20075..20077)\n BOOLEAN: (20075..20077) \"#t\"\n ATMOSPHERE: (20077..20082) \"\n \"\n FORM: (20082..20124)\n OPEN_PAREN: (20082..20083) \"(\"\n SYMBOL: (20083..20086)\n IDENTIFIER: (20083..20086) \"let\"\n ATMOSPHERE: (20086..20087) \" \"\n FORM: (20087..20106)\n OPEN_PAREN: (20087..20088) \"(\"\n FORM: (20088..20105)\n OPEN_PAREN: (20088..20089) \"(\"\n SYMBOL: (20089..20090)\n IDENTIFIER: (20089..20090) \"g\"\n ATMOSPHERE: (20090..20091) \" \"\n FORM: (20091..20104)\n OPEN_PAREN: (20091..20092) \"(\"\n SYMBOL: (20092..20103)\n IDENTIFIER: (20092..20103) \"gen-counter\"\n CLOSE_PAREN: (20103..20104) \")\"\n CLOSE_PAREN: (20104..20105) \")\"\n CLOSE_PAREN: (20105..20106) \")\"\n ATMOSPHERE: (20106..20113) \"\n \"\n FORM: (20113..20123)\n OPEN_PAREN: (20113..20114) \"(\"\n SYMBOL: (20114..20118)\n IDENTIFIER: (20114..20118) \"eqv?\"\n ATMOSPHERE: (20118..20119) \" \"\n SYMBOL: (20119..20120)\n IDENTIFIER: (20119..20120) \"g\"\n ATMOSPHERE: (20120..20121) \" \"\n SYMBOL: (20121..20122)\n IDENTIFIER: (20121..20122) \"g\"\n CLOSE_PAREN: (20122..20123) \")\"\n CLOSE_PAREN: (20123..20124) \")\"\n CLOSE_PAREN: (20124..20125) \")\"\n ATMOSPHERE: (20125..20126) \"\n\"\n FORM: (20126..20170)\n OPEN_PAREN: (20126..20127) \"(\"\n SYMBOL: (20127..20131)\n IDENTIFIER: (20127..20131) \"test\"\n ATMOSPHERE: (20131..20132) \" \"\n CONSTANT: (20132..20134)\n BOOLEAN: (20132..20134) \"#f\"\n ATMOSPHERE: (20134..20135) \" \"\n FORM: (20135..20169)\n OPEN_PAREN: (20135..20136) \"(\"\n SYMBOL: (20136..20140)\n IDENTIFIER: (20136..20140) \"eqv?\"\n ATMOSPHERE: (20140..20141) \" \"\n FORM: (20141..20154)\n OPEN_PAREN: (20141..20142) \"(\"\n SYMBOL: (20142..20153)\n IDENTIFIER: (20142..20153) \"gen-counter\"\n CLOSE_PAREN: (20153..20154) \")\"\n ATMOSPHERE: (20154..20155) \" \"\n FORM: (20155..20168)\n OPEN_PAREN: (20155..20156) \"(\"\n SYMBOL: (20156..20167)\n IDENTIFIER: (20156..20167) \"gen-counter\"\n CLOSE_PAREN: (20167..20168) \")\"\n CLOSE_PAREN: (20168..20169) \")\"\n CLOSE_PAREN: (20169..20170) \")\"\n ATMOSPHERE: (20170..20171) \"\n\"\n FORM: (20171..20259)\n OPEN_PAREN: (20171..20172) \"(\"\n SYMBOL: (20172..20178)\n IDENTIFIER: (20172..20178) \"define\"\n ATMOSPHERE: (20178..20179) \" \"\n SYMBOL: (20179..20188)\n IDENTIFIER: (20179..20188) \"gen-loser\"\n ATMOSPHERE: (20188..20191) \"\n \"\n FORM: (20191..20258)\n OPEN_PAREN: (20191..20192) \"(\"\n SYMBOL: (20192..20198)\n IDENTIFIER: (20192..20198) \"lambda\"\n ATMOSPHERE: (20198..20199) \" \"\n FORM: (20199..20201)\n OPEN_PAREN: (20199..20200) \"(\"\n CLOSE_PAREN: (20200..20201) \")\"\n ATMOSPHERE: (20201..20206) \"\n \"\n FORM: (20206..20257)\n OPEN_PAREN: (20206..20207) \"(\"\n SYMBOL: (20207..20210)\n IDENTIFIER: (20207..20210) \"let\"\n ATMOSPHERE: (20210..20211) \" \"\n FORM: (20211..20218)\n OPEN_PAREN: (20211..20212) \"(\"\n FORM: (20212..20217)\n OPEN_PAREN: (20212..20213) \"(\"\n SYMBOL: (20213..20214)\n IDENTIFIER: (20213..20214) \"n\"\n ATMOSPHERE: (20214..20215) \" \"\n CONSTANT: (20215..20216)\n NUMBER: (20215..20216) \"0\"\n CLOSE_PAREN: (20216..20217) \")\"\n CLOSE_PAREN: (20217..20218) \")\"\n ATMOSPHERE: (20218..20225) \"\n \"\n FORM: (20225..20256)\n OPEN_PAREN: (20225..20226) \"(\"\n SYMBOL: (20226..20232)\n IDENTIFIER: (20226..20232) \"lambda\"\n ATMOSPHERE: (20232..20233) \" \"\n FORM: (20233..20235)\n OPEN_PAREN: (20233..20234) \"(\"\n CLOSE_PAREN: (20234..20235) \")\"\n ATMOSPHERE: (20235..20236) \" \"\n FORM: (20236..20252)\n OPEN_PAREN: (20236..20237) \"(\"\n SYMBOL: (20237..20241)\n IDENTIFIER: (20237..20241) \"set!\"\n ATMOSPHERE: (20241..20242) \" \"\n SYMBOL: (20242..20243)\n IDENTIFIER: (20242..20243) \"n\"\n ATMOSPHERE: (20243..20244) \" \"\n FORM: (20244..20251)\n OPEN_PAREN: (20244..20245) \"(\"\n SYMBOL: (20245..20246)\n IDENTIFIER: (20245..20246) \"+\"\n ATMOSPHERE: (20246..20247) \" \"\n SYMBOL: (20247..20248)\n IDENTIFIER: (20247..20248) \"n\"\n ATMOSPHERE: (20248..20249) \" \"\n CONSTANT: (20249..20250)\n NUMBER: (20249..20250) \"1\"\n CLOSE_PAREN: (20250..20251) \")\"\n CLOSE_PAREN: (20251..20252) \")\"\n ATMOSPHERE: (20252..20253) \" \"\n CONSTANT: (20253..20255)\n NUMBER: (20253..20255) \"27\"\n CLOSE_PAREN: (20255..20256) \")\"\n CLOSE_PAREN: (20256..20257) \")\"\n CLOSE_PAREN: (20257..20258) \")\"\n CLOSE_PAREN: (20258..20259) \")\"\n ATMOSPHERE: (20259..20260) \"\n\"\n FORM: (20260..20306)\n OPEN_PAREN: (20260..20261) \"(\"\n SYMBOL: (20261..20265)\n IDENTIFIER: (20261..20265) \"test\"\n ATMOSPHERE: (20265..20266) \" \"\n CONSTANT: (20266..20268)\n BOOLEAN: (20266..20268) \"#t\"\n ATMOSPHERE: (20268..20269) \" \"\n FORM: (20269..20305)\n OPEN_PAREN: (20269..20270) \"(\"\n SYMBOL: (20270..20273)\n IDENTIFIER: (20270..20273) \"let\"\n ATMOSPHERE: (20273..20274) \" \"\n FORM: (20274..20291)\n OPEN_PAREN: (20274..20275) \"(\"\n FORM: (20275..20290)\n OPEN_PAREN: (20275..20276) \"(\"\n SYMBOL: (20276..20277)\n IDENTIFIER: (20276..20277) \"g\"\n ATMOSPHERE: (20277..20278) \" \"\n FORM: (20278..20289)\n OPEN_PAREN: (20278..20279) \"(\"\n SYMBOL: (20279..20288)\n IDENTIFIER: (20279..20288) \"gen-loser\"\n CLOSE_PAREN: (20288..20289) \")\"\n CLOSE_PAREN: (20289..20290) \")\"\n CLOSE_PAREN: (20290..20291) \")\"\n ATMOSPHERE: (20291..20294) \"\n \"\n FORM: (20294..20304)\n OPEN_PAREN: (20294..20295) \"(\"\n SYMBOL: (20295..20299)\n IDENTIFIER: (20295..20299) \"eqv?\"\n ATMOSPHERE: (20299..20300) \" \"\n SYMBOL: (20300..20301)\n IDENTIFIER: (20300..20301) \"g\"\n ATMOSPHERE: (20301..20302) \" \"\n SYMBOL: (20302..20303)\n IDENTIFIER: (20302..20303) \"g\"\n CLOSE_PAREN: (20303..20304) \")\"\n CLOSE_PAREN: (20304..20305) \")\"\n CLOSE_PAREN: (20305..20306) \")\"\n ATMOSPHERE: (20306..20308) \"\n\n\"\n FORM: (20308..20433)\n OPEN_PAREN: (20308..20309) \"(\"\n SYMBOL: (20309..20313)\n IDENTIFIER: (20309..20313) \"test\"\n ATMOSPHERE: (20313..20314) \" \"\n CONSTANT: (20314..20316)\n BOOLEAN: (20314..20316) \"#f\"\n ATMOSPHERE: (20316..20317) \"\n\"\n FORM: (20317..20432)\n OPEN_PAREN: (20317..20318) \"(\"\n SYMBOL: (20318..20324)\n IDENTIFIER: (20318..20324) \"letrec\"\n ATMOSPHERE: (20324..20325) \" \"\n FORM: (20325..20417)\n OPEN_PAREN: (20325..20326) \"(\"\n FORM: (20326..20366)\n OPEN_PAREN: (20326..20327) \"(\"\n SYMBOL: (20327..20328)\n IDENTIFIER: (20327..20328) \"f\"\n ATMOSPHERE: (20328..20329) \" \"\n FORM: (20329..20365)\n OPEN_PAREN: (20329..20330) \"(\"\n SYMBOL: (20330..20336)\n IDENTIFIER: (20330..20336) \"lambda\"\n ATMOSPHERE: (20336..20337) \" \"\n FORM: (20337..20339)\n OPEN_PAREN: (20337..20338) \"(\"\n CLOSE_PAREN: (20338..20339) \")\"\n ATMOSPHERE: (20339..20340) \" \"\n FORM: (20340..20364)\n OPEN_PAREN: (20340..20341) \"(\"\n SYMBOL: (20341..20343)\n IDENTIFIER: (20341..20343) \"if\"\n ATMOSPHERE: (20343..20344) \" \"\n FORM: (20344..20354)\n OPEN_PAREN: (20344..20345) \"(\"\n SYMBOL: (20345..20349)\n IDENTIFIER: (20345..20349) \"eqv?\"\n ATMOSPHERE: (20349..20350) \" \"\n SYMBOL: (20350..20351)\n IDENTIFIER: (20350..20351) \"f\"\n ATMOSPHERE: (20351..20352) \" \"\n SYMBOL: (20352..20353)\n IDENTIFIER: (20352..20353) \"g\"\n CLOSE_PAREN: (20353..20354) \")\"\n ATMOSPHERE: (20354..20355) \" \"\n QUOTED_DATUM: (20355..20358)\n QUOTE: (20355..20356) \"'\"\n SYMBOL: (20356..20357)\n IDENTIFIER: (20356..20357) \"f\"\n ATMOSPHERE: (20357..20358) \" \"\n QUOTED_DATUM: (20358..20363)\n QUOTE: (20358..20359) \"'\"\n SYMBOL: (20359..20363)\n IDENTIFIER: (20359..20363) \"both\"\n CLOSE_PAREN: (20363..20364) \")\"\n CLOSE_PAREN: (20364..20365) \")\"\n CLOSE_PAREN: (20365..20366) \")\"\n ATMOSPHERE: (20366..20376) \"\n \"\n FORM: (20376..20416)\n OPEN_PAREN: (20376..20377) \"(\"\n SYMBOL: (20377..20378)\n IDENTIFIER: (20377..20378) \"g\"\n ATMOSPHERE: (20378..20379) \" \"\n FORM: (20379..20415)\n OPEN_PAREN: (20379..20380) \"(\"\n SYMBOL: (20380..20386)\n IDENTIFIER: (20380..20386) \"lambda\"\n ATMOSPHERE: (20386..20387) \" \"\n FORM: (20387..20389)\n OPEN_PAREN: (20387..20388) \"(\"\n CLOSE_PAREN: (20388..20389) \")\"\n ATMOSPHERE: (20389..20390) \" \"\n FORM: (20390..20414)\n OPEN_PAREN: (20390..20391) \"(\"\n SYMBOL: (20391..20393)\n IDENTIFIER: (20391..20393) \"if\"\n ATMOSPHERE: (20393..20394) \" \"\n FORM: (20394..20404)\n OPEN_PAREN: (20394..20395) \"(\"\n SYMBOL: (20395..20399)\n IDENTIFIER: (20395..20399) \"eqv?\"\n ATMOSPHERE: (20399..20400) \" \"\n SYMBOL: (20400..20401)\n IDENTIFIER: (20400..20401) \"f\"\n ATMOSPHERE: (20401..20402) \" \"\n SYMBOL: (20402..20403)\n IDENTIFIER: (20402..20403) \"g\"\n CLOSE_PAREN: (20403..20404) \")\"\n ATMOSPHERE: (20404..20405) \" \"\n QUOTED_DATUM: (20405..20408)\n QUOTE: (20405..20406) \"'\"\n SYMBOL: (20406..20407)\n IDENTIFIER: (20406..20407) \"g\"\n ATMOSPHERE: (20407..20408) \" \"\n QUOTED_DATUM: (20408..20413)\n QUOTE: (20408..20409) \"'\"\n SYMBOL: (20409..20413)\n IDENTIFIER: (20409..20413) \"both\"\n CLOSE_PAREN: (20413..20414) \")\"\n CLOSE_PAREN: (20414..20415) \")\"\n CLOSE_PAREN: (20415..20416) \")\"\n CLOSE_PAREN: (20416..20417) \")\"\n ATMOSPHERE: (20417..20421) \"\n \"\n FORM: (20421..20431)\n OPEN_PAREN: (20421..20422) \"(\"\n SYMBOL: (20422..20426)\n IDENTIFIER: (20422..20426) \"eqv?\"\n ATMOSPHERE: (20426..20427) \" \"\n SYMBOL: (20427..20428)\n IDENTIFIER: (20427..20428) \"f\"\n ATMOSPHERE: (20428..20429) \" \"\n SYMBOL: (20429..20430)\n IDENTIFIER: (20429..20430) \"g\"\n CLOSE_PAREN: (20430..20431) \")\"\n CLOSE_PAREN: (20431..20432) \")\"\n CLOSE_PAREN: (20432..20433) \")\"\n ATMOSPHERE: (20433..20435) \"\n\n\"\n FORM: (20435..20482)\n OPEN_PAREN: (20435..20436) \"(\"\n SYMBOL: (20436..20440)\n IDENTIFIER: (20436..20440) \"test\"\n ATMOSPHERE: (20440..20441) \" \"\n CONSTANT: (20441..20443)\n BOOLEAN: (20441..20443) \"#t\"\n ATMOSPHERE: (20443..20448) \"\n \"\n FORM: (20448..20481)\n OPEN_PAREN: (20448..20449) \"(\"\n SYMBOL: (20449..20452)\n IDENTIFIER: (20449..20452) \"let\"\n ATMOSPHERE: (20452..20453) \" \"\n FORM: (20453..20463)\n OPEN_PAREN: (20453..20454) \"(\"\n FORM: (20454..20462)\n OPEN_PAREN: (20454..20455) \"(\"\n SYMBOL: (20455..20456)\n IDENTIFIER: (20455..20456) \"x\"\n ATMOSPHERE: (20456..20457) \" \"\n QUOTED_DATUM: (20457..20461)\n QUOTE: (20457..20458) \"'\"\n FORM: (20458..20461)\n OPEN_PAREN: (20458..20459) \"(\"\n SYMBOL: (20459..20460)\n IDENTIFIER: (20459..20460) \"a\"\n CLOSE_PAREN: (20460..20461) \")\"\n CLOSE_PAREN: (20461..20462) \")\"\n CLOSE_PAREN: (20462..20463) \")\"\n ATMOSPHERE: (20463..20470) \"\n \"\n FORM: (20470..20480)\n OPEN_PAREN: (20470..20471) \"(\"\n SYMBOL: (20471..20475)\n IDENTIFIER: (20471..20475) \"eqv?\"\n ATMOSPHERE: (20475..20476) \" \"\n SYMBOL: (20476..20477)\n IDENTIFIER: (20476..20477) \"x\"\n ATMOSPHERE: (20477..20478) \" \"\n SYMBOL: (20478..20479)\n IDENTIFIER: (20478..20479) \"x\"\n CLOSE_PAREN: (20479..20480) \")\"\n CLOSE_PAREN: (20480..20481) \")\"\n CLOSE_PAREN: (20481..20482) \")\"\n ATMOSPHERE: (20482..20484) \"\n\n\"\n FORM: (20484..20505)\n OPEN_PAREN: (20484..20485) \"(\"\n SYMBOL: (20485..20489)\n IDENTIFIER: (20485..20489) \"test\"\n ATMOSPHERE: (20489..20490) \" \"\n CONSTANT: (20490..20492)\n BOOLEAN: (20490..20492) \"#t\"\n ATMOSPHERE: (20492..20493) \" \"\n FORM: (20493..20504)\n OPEN_PAREN: (20493..20494) \"(\"\n SYMBOL: (20494..20497)\n IDENTIFIER: (20494..20497) \"eq?\"\n ATMOSPHERE: (20497..20498) \" \"\n QUOTED_DATUM: (20498..20501)\n QUOTE: (20498..20499) \"'\"\n SYMBOL: (20499..20500)\n IDENTIFIER: (20499..20500) \"a\"\n ATMOSPHERE: (20500..20501) \" \"\n QUOTED_DATUM: (20501..20503)\n QUOTE: (20501..20502) \"'\"\n SYMBOL: (20502..20503)\n IDENTIFIER: (20502..20503) \"a\"\n CLOSE_PAREN: (20503..20504) \")\"\n CLOSE_PAREN: (20504..20505) \")\"\n ATMOSPHERE: (20505..20506) \"\n\"\n FORM: (20506..20541)\n OPEN_PAREN: (20506..20507) \"(\"\n SYMBOL: (20507..20511)\n IDENTIFIER: (20507..20511) \"test\"\n ATMOSPHERE: (20511..20512) \" \"\n CONSTANT: (20512..20514)\n BOOLEAN: (20512..20514) \"#f\"\n ATMOSPHERE: (20514..20515) \" \"\n FORM: (20515..20540)\n OPEN_PAREN: (20515..20516) \"(\"\n SYMBOL: (20516..20519)\n IDENTIFIER: (20516..20519) \"eq?\"\n ATMOSPHERE: (20519..20520) \" \"\n FORM: (20520..20529)\n OPEN_PAREN: (20520..20521) \"(\"\n SYMBOL: (20521..20525)\n IDENTIFIER: (20521..20525) \"list\"\n ATMOSPHERE: (20525..20526) \" \"\n QUOTED_DATUM: (20526..20528)\n QUOTE: (20526..20527) \"'\"\n SYMBOL: (20527..20528)\n IDENTIFIER: (20527..20528) \"a\"\n CLOSE_PAREN: (20528..20529) \")\"\n ATMOSPHERE: (20529..20530) \" \"\n FORM: (20530..20539)\n OPEN_PAREN: (20530..20531) \"(\"\n SYMBOL: (20531..20535)\n IDENTIFIER: (20531..20535) \"list\"\n ATMOSPHERE: (20535..20536) \" \"\n QUOTED_DATUM: (20536..20538)\n QUOTE: (20536..20537) \"'\"\n SYMBOL: (20537..20538)\n IDENTIFIER: (20537..20538) \"a\"\n CLOSE_PAREN: (20538..20539) \")\"\n CLOSE_PAREN: (20539..20540) \")\"\n CLOSE_PAREN: (20540..20541) \")\"\n ATMOSPHERE: (20541..20542) \"\n\"\n FORM: (20542..20565)\n OPEN_PAREN: (20542..20543) \"(\"\n SYMBOL: (20543..20547)\n IDENTIFIER: (20543..20547) \"test\"\n ATMOSPHERE: (20547..20548) \" \"\n CONSTANT: (20548..20550)\n BOOLEAN: (20548..20550) \"#t\"\n ATMOSPHERE: (20550..20551) \" \"\n FORM: (20551..20564)\n OPEN_PAREN: (20551..20552) \"(\"\n SYMBOL: (20552..20555)\n IDENTIFIER: (20552..20555) \"eq?\"\n ATMOSPHERE: (20555..20556) \" \"\n QUOTED_DATUM: (20556..20560)\n QUOTE: (20556..20557) \"'\"\n FORM: (20557..20559)\n OPEN_PAREN: (20557..20558) \"(\"\n CLOSE_PAREN: (20558..20559) \")\"\n ATMOSPHERE: (20559..20560) \" \"\n QUOTED_DATUM: (20560..20563)\n QUOTE: (20560..20561) \"'\"\n FORM: (20561..20563)\n OPEN_PAREN: (20561..20562) \"(\"\n CLOSE_PAREN: (20562..20563) \")\"\n CLOSE_PAREN: (20563..20564) \")\"\n CLOSE_PAREN: (20564..20565) \")\"\n ATMOSPHERE: (20565..20566) \"\n\"\n FORM: (20566..20612)\n OPEN_PAREN: (20566..20567) \"(\"\n SYMBOL: (20567..20571)\n IDENTIFIER: (20567..20571) \"test\"\n ATMOSPHERE: (20571..20572) \" \"\n CONSTANT: (20572..20574)\n BOOLEAN: (20572..20574) \"#t\"\n ATMOSPHERE: (20574..20579) \"\n \"\n FORM: (20579..20611)\n OPEN_PAREN: (20579..20580) \"(\"\n SYMBOL: (20580..20583)\n IDENTIFIER: (20580..20583) \"let\"\n ATMOSPHERE: (20583..20584) \" \"\n FORM: (20584..20594)\n OPEN_PAREN: (20584..20585) \"(\"\n FORM: (20585..20593)\n OPEN_PAREN: (20585..20586) \"(\"\n SYMBOL: (20586..20587)\n IDENTIFIER: (20586..20587) \"x\"\n ATMOSPHERE: (20587..20588) \" \"\n QUOTED_DATUM: (20588..20592)\n QUOTE: (20588..20589) \"'\"\n FORM: (20589..20592)\n OPEN_PAREN: (20589..20590) \"(\"\n SYMBOL: (20590..20591)\n IDENTIFIER: (20590..20591) \"a\"\n CLOSE_PAREN: (20591..20592) \")\"\n CLOSE_PAREN: (20592..20593) \")\"\n CLOSE_PAREN: (20593..20594) \")\"\n ATMOSPHERE: (20594..20601) \"\n \"\n FORM: (20601..20610)\n OPEN_PAREN: (20601..20602) \"(\"\n SYMBOL: (20602..20605)\n IDENTIFIER: (20602..20605) \"eq?\"\n ATMOSPHERE: (20605..20606) \" \"\n SYMBOL: (20606..20607)\n IDENTIFIER: (20606..20607) \"x\"\n ATMOSPHERE: (20607..20608) \" \"\n SYMBOL: (20608..20609)\n IDENTIFIER: (20608..20609) \"x\"\n CLOSE_PAREN: (20609..20610) \")\"\n CLOSE_PAREN: (20610..20611) \")\"\n CLOSE_PAREN: (20611..20612) \")\"\n ATMOSPHERE: (20612..20613) \"\n\"\n FORM: (20613..20659)\n OPEN_PAREN: (20613..20614) \"(\"\n SYMBOL: (20614..20618)\n IDENTIFIER: (20614..20618) \"test\"\n ATMOSPHERE: (20618..20619) \" \"\n CONSTANT: (20619..20621)\n BOOLEAN: (20619..20621) \"#t\"\n ATMOSPHERE: (20621..20626) \"\n \"\n FORM: (20626..20658)\n OPEN_PAREN: (20626..20627) \"(\"\n SYMBOL: (20627..20630)\n IDENTIFIER: (20627..20630) \"let\"\n ATMOSPHERE: (20630..20631) \" \"\n FORM: (20631..20641)\n OPEN_PAREN: (20631..20632) \"(\"\n FORM: (20632..20640)\n OPEN_PAREN: (20632..20633) \"(\"\n SYMBOL: (20633..20634)\n IDENTIFIER: (20633..20634) \"x\"\n ATMOSPHERE: (20634..20635) \" \"\n QUOTED_DATUM: (20635..20639)\n QUOTE: (20635..20636) \"'\"\n VEC: (20636..20639)\n OPEN_PAREN: (20636..20638) \"#(\"\n CLOSE_PAREN: (20638..20639) \")\"\n CLOSE_PAREN: (20639..20640) \")\"\n CLOSE_PAREN: (20640..20641) \")\"\n ATMOSPHERE: (20641..20648) \"\n \"\n FORM: (20648..20657)\n OPEN_PAREN: (20648..20649) \"(\"\n SYMBOL: (20649..20652)\n IDENTIFIER: (20649..20652) \"eq?\"\n ATMOSPHERE: (20652..20653) \" \"\n SYMBOL: (20653..20654)\n IDENTIFIER: (20653..20654) \"x\"\n ATMOSPHERE: (20654..20655) \" \"\n SYMBOL: (20655..20656)\n IDENTIFIER: (20655..20656) \"x\"\n CLOSE_PAREN: (20656..20657) \")\"\n CLOSE_PAREN: (20657..20658) \")\"\n CLOSE_PAREN: (20658..20659) \")\"\n ATMOSPHERE: (20659..20660) \"\n\"\n FORM: (20660..20716)\n OPEN_PAREN: (20660..20661) \"(\"\n SYMBOL: (20661..20665)\n IDENTIFIER: (20661..20665) \"test\"\n ATMOSPHERE: (20665..20666) \" \"\n CONSTANT: (20666..20668)\n BOOLEAN: (20666..20668) \"#t\"\n ATMOSPHERE: (20668..20673) \"\n \"\n FORM: (20673..20715)\n OPEN_PAREN: (20673..20674) \"(\"\n SYMBOL: (20674..20677)\n IDENTIFIER: (20674..20677) \"let\"\n ATMOSPHERE: (20677..20678) \" \"\n FORM: (20678..20698)\n OPEN_PAREN: (20678..20679) \"(\"\n FORM: (20679..20697)\n OPEN_PAREN: (20679..20680) \"(\"\n SYMBOL: (20680..20681)\n IDENTIFIER: (20680..20681) \"p\"\n ATMOSPHERE: (20681..20682) \" \"\n FORM: (20682..20696)\n OPEN_PAREN: (20682..20683) \"(\"\n SYMBOL: (20683..20689)\n IDENTIFIER: (20683..20689) \"lambda\"\n ATMOSPHERE: (20689..20690) \" \"\n FORM: (20690..20693)\n OPEN_PAREN: (20690..20691) \"(\"\n SYMBOL: (20691..20692)\n IDENTIFIER: (20691..20692) \"x\"\n CLOSE_PAREN: (20692..20693) \")\"\n ATMOSPHERE: (20693..20694) \" \"\n SYMBOL: (20694..20695)\n IDENTIFIER: (20694..20695) \"x\"\n CLOSE_PAREN: (20695..20696) \")\"\n CLOSE_PAREN: (20696..20697) \")\"\n CLOSE_PAREN: (20697..20698) \")\"\n ATMOSPHERE: (20698..20705) \"\n \"\n FORM: (20705..20714)\n OPEN_PAREN: (20705..20706) \"(\"\n SYMBOL: (20706..20709)\n IDENTIFIER: (20706..20709) \"eq?\"\n ATMOSPHERE: (20709..20710) \" \"\n SYMBOL: (20710..20711)\n IDENTIFIER: (20710..20711) \"p\"\n ATMOSPHERE: (20711..20712) \" \"\n SYMBOL: (20712..20713)\n IDENTIFIER: (20712..20713) \"p\"\n CLOSE_PAREN: (20713..20714) \")\"\n CLOSE_PAREN: (20714..20715) \")\"\n CLOSE_PAREN: (20715..20716) \")\"\n ATMOSPHERE: (20716..20718) \"\n\n\"\n FORM: (20718..20742)\n OPEN_PAREN: (20718..20719) \"(\"\n SYMBOL: (20719..20723)\n IDENTIFIER: (20719..20723) \"test\"\n ATMOSPHERE: (20723..20724) \" \"\n CONSTANT: (20724..20726)\n BOOLEAN: (20724..20726) \"#t\"\n ATMOSPHERE: (20726..20727) \" \"\n FORM: (20727..20741)\n OPEN_PAREN: (20727..20728) \"(\"\n SYMBOL: (20728..20734)\n IDENTIFIER: (20728..20734) \"equal?\"\n ATMOSPHERE: (20734..20735) \" \"\n QUOTED_DATUM: (20735..20738)\n QUOTE: (20735..20736) \"'\"\n SYMBOL: (20736..20737)\n IDENTIFIER: (20736..20737) \"a\"\n ATMOSPHERE: (20737..20738) \" \"\n QUOTED_DATUM: (20738..20740)\n QUOTE: (20738..20739) \"'\"\n SYMBOL: (20739..20740)\n IDENTIFIER: (20739..20740) \"a\"\n CLOSE_PAREN: (20740..20741) \")\"\n CLOSE_PAREN: (20741..20742) \")\"\n ATMOSPHERE: (20742..20743) \"\n\"\n FORM: (20743..20771)\n OPEN_PAREN: (20743..20744) \"(\"\n SYMBOL: (20744..20748)\n IDENTIFIER: (20744..20748) \"test\"\n ATMOSPHERE: (20748..20749) \" \"\n CONSTANT: (20749..20751)\n BOOLEAN: (20749..20751) \"#t\"\n ATMOSPHERE: (20751..20752) \" \"\n FORM: (20752..20770)\n OPEN_PAREN: (20752..20753) \"(\"\n SYMBOL: (20753..20759)\n IDENTIFIER: (20753..20759) \"equal?\"\n ATMOSPHERE: (20759..20760) \" \"\n QUOTED_DATUM: (20760..20765)\n QUOTE: (20760..20761) \"'\"\n FORM: (20761..20764)\n OPEN_PAREN: (20761..20762) \"(\"\n SYMBOL: (20762..20763)\n IDENTIFIER: (20762..20763) \"a\"\n CLOSE_PAREN: (20763..20764) \")\"\n ATMOSPHERE: (20764..20765) \" \"\n QUOTED_DATUM: (20765..20769)\n QUOTE: (20765..20766) \"'\"\n FORM: (20766..20769)\n OPEN_PAREN: (20766..20767) \"(\"\n SYMBOL: (20767..20768)\n IDENTIFIER: (20767..20768) \"a\"\n CLOSE_PAREN: (20768..20769) \")\"\n CLOSE_PAREN: (20769..20770) \")\"\n CLOSE_PAREN: (20770..20771) \")\"\n ATMOSPHERE: (20771..20772) \"\n\"\n FORM: (20772..20829)\n OPEN_PAREN: (20772..20773) \"(\"\n SYMBOL: (20773..20777)\n IDENTIFIER: (20773..20777) \"test\"\n ATMOSPHERE: (20777..20778) \" \"\n CONSTANT: (20778..20780)\n BOOLEAN: (20778..20780) \"#t\"\n ATMOSPHERE: (20780..20781) \" \"\n FORM: (20781..20828)\n OPEN_PAREN: (20781..20782) \"(\"\n SYMBOL: (20782..20788)\n IDENTIFIER: (20782..20788) \"equal?\"\n ATMOSPHERE: (20788..20789) \" \"\n QUOTED_DATUM: (20789..20817)\n QUOTE: (20789..20790) \"'\"\n FORM: (20790..20799)\n OPEN_PAREN: (20790..20791) \"(\"\n SYMBOL: (20791..20792)\n IDENTIFIER: (20791..20792) \"a\"\n ATMOSPHERE: (20792..20793) \" \"\n FORM: (20793..20796)\n OPEN_PAREN: (20793..20794) \"(\"\n SYMBOL: (20794..20795)\n IDENTIFIER: (20794..20795) \"b\"\n CLOSE_PAREN: (20795..20796) \")\"\n ATMOSPHERE: (20796..20797) \" \"\n SYMBOL: (20797..20798)\n IDENTIFIER: (20797..20798) \"c\"\n CLOSE_PAREN: (20798..20799) \")\"\n ATMOSPHERE: (20799..20817) \"\n \"\n QUOTED_DATUM: (20817..20827)\n QUOTE: (20817..20818) \"'\"\n FORM: (20818..20827)\n OPEN_PAREN: (20818..20819) \"(\"\n SYMBOL: (20819..20820)\n IDENTIFIER: (20819..20820) \"a\"\n ATMOSPHERE: (20820..20821) \" \"\n FORM: (20821..20824)\n OPEN_PAREN: (20821..20822) \"(\"\n SYMBOL: (20822..20823)\n IDENTIFIER: (20822..20823) \"b\"\n CLOSE_PAREN: (20823..20824) \")\"\n ATMOSPHERE: (20824..20825) \" \"\n SYMBOL: (20825..20826)\n IDENTIFIER: (20825..20826) \"c\"\n CLOSE_PAREN: (20826..20827) \")\"\n CLOSE_PAREN: (20827..20828) \")\"\n CLOSE_PAREN: (20828..20829) \")\"\n ATMOSPHERE: (20829..20830) \"\n\"\n FORM: (20830..20860)\n OPEN_PAREN: (20830..20831) \"(\"\n SYMBOL: (20831..20835)\n IDENTIFIER: (20831..20835) \"test\"\n ATMOSPHERE: (20835..20836) \" \"\n CONSTANT: (20836..20838)\n BOOLEAN: (20836..20838) \"#t\"\n ATMOSPHERE: (20838..20839) \" \"\n FORM: (20839..20859)\n OPEN_PAREN: (20839..20840) \"(\"\n SYMBOL: (20840..20846)\n IDENTIFIER: (20840..20846) \"equal?\"\n ATMOSPHERE: (20846..20847) \" \"\n CONSTANT: (20847..20852)\n STRING: (20847..20852) \"\"abc\"\"\n ATMOSPHERE: (20852..20853) \" \"\n CONSTANT: (20853..20858)\n STRING: (20853..20858) \"\"abc\"\"\n CLOSE_PAREN: (20858..20859) \")\"\n CLOSE_PAREN: (20859..20860) \")\"\n ATMOSPHERE: (20860..20861) \"\n\"\n FORM: (20861..20883)\n OPEN_PAREN: (20861..20862) \"(\"\n SYMBOL: (20862..20866)\n IDENTIFIER: (20862..20866) \"test\"\n ATMOSPHERE: (20866..20867) \" \"\n CONSTANT: (20867..20869)\n BOOLEAN: (20867..20869) \"#t\"\n ATMOSPHERE: (20869..20870) \" \"\n FORM: (20870..20882)\n OPEN_PAREN: (20870..20871) \"(\"\n SYMBOL: (20871..20877)\n IDENTIFIER: (20871..20877) \"equal?\"\n ATMOSPHERE: (20877..20878) \" \"\n CONSTANT: (20878..20879)\n NUMBER: (20878..20879) \"2\"\n ATMOSPHERE: (20879..20880) \" \"\n CONSTANT: (20880..20881)\n NUMBER: (20880..20881) \"2\"\n CLOSE_PAREN: (20881..20882) \")\"\n CLOSE_PAREN: (20882..20883) \")\"\n ATMOSPHERE: (20883..20884) \"\n\"\n FORM: (20884..20957)\n OPEN_PAREN: (20884..20885) \"(\"\n SYMBOL: (20885..20889)\n IDENTIFIER: (20885..20889) \"test\"\n ATMOSPHERE: (20889..20890) \" \"\n CONSTANT: (20890..20892)\n BOOLEAN: (20890..20892) \"#t\"\n ATMOSPHERE: (20892..20893) \" \"\n FORM: (20893..20956)\n OPEN_PAREN: (20893..20894) \"(\"\n SYMBOL: (20894..20900)\n IDENTIFIER: (20894..20900) \"equal?\"\n ATMOSPHERE: (20900..20901) \" \"\n FORM: (20901..20919)\n OPEN_PAREN: (20901..20902) \"(\"\n SYMBOL: (20902..20913)\n IDENTIFIER: (20902..20913) \"make-vector\"\n ATMOSPHERE: (20913..20914) \" \"\n CONSTANT: (20914..20915)\n NUMBER: (20914..20915) \"5\"\n ATMOSPHERE: (20915..20916) \" \"\n QUOTED_DATUM: (20916..20918)\n QUOTE: (20916..20917) \"'\"\n SYMBOL: (20917..20918)\n IDENTIFIER: (20917..20918) \"a\"\n CLOSE_PAREN: (20918..20919) \")\"\n ATMOSPHERE: (20919..20937) \"\n \"\n FORM: (20937..20955)\n OPEN_PAREN: (20937..20938) \"(\"\n SYMBOL: (20938..20949)\n IDENTIFIER: (20938..20949) \"make-vector\"\n ATMOSPHERE: (20949..20950) \" \"\n CONSTANT: (20950..20951)\n NUMBER: (20950..20951) \"5\"\n ATMOSPHERE: (20951..20952) \" \"\n QUOTED_DATUM: (20952..20954)\n QUOTE: (20952..20953) \"'\"\n SYMBOL: (20953..20954)\n IDENTIFIER: (20953..20954) \"a\"\n CLOSE_PAREN: (20954..20955) \")\"\n CLOSE_PAREN: (20955..20956) \")\"\n CLOSE_PAREN: (20956..20957) \")\"\n ATMOSPHERE: (20957..20959) \"\n\n\"\n FORM: (20959..20969)\n OPEN_PAREN: (20959..20960) \"(\"\n SYMBOL: (20960..20968)\n IDENTIFIER: (20960..20968) \"test-end\"\n CLOSE_PAREN: (20968..20969) \")\"\n ATMOSPHERE: (20969..20971) \"\n\n\"\n FORM: (20971..20997)\n OPEN_PAREN: (20971..20972) \"(\"\n SYMBOL: (20972..20982)\n IDENTIFIER: (20972..20982) \"test-begin\"\n ATMOSPHERE: (20982..20983) \" \"\n CONSTANT: (20983..20996)\n STRING: (20983..20996) \"\"6.2 Numbers\"\"\n CLOSE_PAREN: (20996..20997) \")\"\n ATMOSPHERE: (20997..20999) \"\n\n\"\n ATMOSPHERE: (20999..21027) \";; (test #t (complex? 3+4i))\"\n ATMOSPHERE: (21027..21028) \"\n\"\n ATMOSPHERE: (21028..21053) \";; (test #t (complex? 3))\"\n ATMOSPHERE: (21053..21054) \"\n\"\n ATMOSPHERE: (21054..21076) \";; (test #t (real? 3))\"\n ATMOSPHERE: (21076..21077) \"\n\"\n ATMOSPHERE: (21077..21105) \";; (test #t (real? -2.5+0i))\"\n ATMOSPHERE: (21105..21106) \"\n\"\n ATMOSPHERE: (21106..21136) \";; (test #f (real? -2.5+0.0i))\"\n ATMOSPHERE: (21136..21137) \"\n\"\n ATMOSPHERE: (21137..21164) \";; (test #t (real? #e1e10))\"\n ATMOSPHERE: (21164..21165) \"\n\"\n ATMOSPHERE: (21165..21192) \";; (test #t (real? +inf.0))\"\n ATMOSPHERE: (21192..21193) \"\n\"\n ATMOSPHERE: (21193..21224) \";; (test #f (rational? -inf.0))\"\n ATMOSPHERE: (21224..21225) \"\n\"\n ATMOSPHERE: (21225..21256) \";; (test #f (rational? +nan.0))\"\n ATMOSPHERE: (21256..21257) \"\n\"\n ATMOSPHERE: (21257..21300) \";; (test #t (rational? 9007199254740991.0))\"\n ATMOSPHERE: (21300..21301) \"\n\"\n ATMOSPHERE: (21301..21344) \";; (test #t (rational? 9007199254740992.0))\"\n ATMOSPHERE: (21344..21345) \"\n\"\n ATMOSPHERE: (21345..21392) \";; (test #t (rational? 1.7976931348623157e308))\"\n ATMOSPHERE: (21392..21393) \"\n\"\n ATMOSPHERE: (21393..21422) \";; (test #t (rational? 6/10))\"\n ATMOSPHERE: (21422..21423) \"\n\"\n ATMOSPHERE: (21423..21451) \";; (test #t (rational? 6/3))\"\n ATMOSPHERE: (21451..21452) \"\n\"\n ATMOSPHERE: (21452..21480) \";; (test #t (integer? 3+0i))\"\n ATMOSPHERE: (21480..21481) \"\n\"\n ATMOSPHERE: (21481..21508) \";; (test #t (integer? 3.0))\"\n ATMOSPHERE: (21508..21509) \"\n\"\n ATMOSPHERE: (21509..21536) \";; (test #t (integer? 8/4))\"\n ATMOSPHERE: (21536..21538) \"\n\n\"\n ATMOSPHERE: (21538..21563) \";; (test #f (exact? 3.0))\"\n ATMOSPHERE: (21563..21564) \"\n\"\n ATMOSPHERE: (21564..21591) \";; (test #t (exact? #e3.0))\"\n ATMOSPHERE: (21591..21592) \"\n\"\n ATMOSPHERE: (21592..21618) \";; (test #t (inexact? 3.))\"\n ATMOSPHERE: (21618..21620) \"\n\n\"\n ATMOSPHERE: (21620..21652) \";; (test #t (exact-integer? 32))\"\n ATMOSPHERE: (21652..21653) \"\n\"\n ATMOSPHERE: (21653..21687) \";; (test #f (exact-integer? 32.0))\"\n ATMOSPHERE: (21687..21688) \"\n\"\n ATMOSPHERE: (21688..21722) \";; (test #f (exact-integer? 32/5))\"\n ATMOSPHERE: (21722..21724) \"\n\n\"\n ATMOSPHERE: (21724..21748) \";; (test #t (finite? 3))\"\n ATMOSPHERE: (21748..21749) \"\n\"\n ATMOSPHERE: (21749..21778) \";; (test #f (finite? +inf.0))\"\n ATMOSPHERE: (21778..21779) \"\n\"\n ATMOSPHERE: (21779..21812) \";; (test #f (finite? 3.0+inf.0i))\"\n ATMOSPHERE: (21812..21814) \"\n\n\"\n ATMOSPHERE: (21814..21840) \";; (test #f (infinite? 3))\"\n ATMOSPHERE: (21840..21841) \"\n\"\n ATMOSPHERE: (21841..21872) \";; (test #t (infinite? +inf.0))\"\n ATMOSPHERE: (21872..21873) \"\n\"\n ATMOSPHERE: (21873..21904) \";; (test #f (infinite? +nan.0))\"\n ATMOSPHERE: (21904..21905) \"\n\"\n ATMOSPHERE: (21905..21940) \";; (test #t (infinite? 3.0+inf.0i))\"\n ATMOSPHERE: (21940..21942) \"\n\n\"\n ATMOSPHERE: (21942..21968) \";; (test #t (nan? +nan.0))\"\n ATMOSPHERE: (21968..21969) \"\n\"\n ATMOSPHERE: (21969..21991) \";; (test #f (nan? 32))\"\n ATMOSPHERE: (21991..21992) \"\n\"\n ATMOSPHERE: (21992..22026) \";; ;; (test #t (nan? +nan.0+5.0i))\"\n ATMOSPHERE: (22026..22027) \"\n\"\n ATMOSPHERE: (22027..22051) \";; (test #f (nan? 1+2i))\"\n ATMOSPHERE: (22051..22053) \"\n\n\"\n ATMOSPHERE: (22053..22084) \";; (test #t (= 1 1.0 1.0+0.0i))\"\n ATMOSPHERE: (22084..22085) \"\n\"\n ATMOSPHERE: (22085..22114) \";; (test #f (= 1.0 1.0+1.0i))\"\n ATMOSPHERE: (22114..22115) \"\n\"\n ATMOSPHERE: (22115..22137) \";; (test #t (< 1 2 3))\"\n ATMOSPHERE: (22137..22138) \"\n\"\n ATMOSPHERE: (22138..22160) \";; (test #f (< 1 1 2))\"\n ATMOSPHERE: (22160..22161) \"\n\"\n ATMOSPHERE: (22161..22189) \";; (test #t (> 3.0 2.0 1.0))\"\n ATMOSPHERE: (22189..22190) \"\n\"\n ATMOSPHERE: (22190..22219) \";; (test #f (> -3.0 2.0 1.0))\"\n ATMOSPHERE: (22219..22220) \"\n\"\n ATMOSPHERE: (22220..22243) \";; (test #t (<= 1 1 2))\"\n ATMOSPHERE: (22243..22244) \"\n\"\n ATMOSPHERE: (22244..22267) \";; (test #f (<= 1 2 1))\"\n ATMOSPHERE: (22267..22268) \"\n\"\n ATMOSPHERE: (22268..22291) \";; (test #t (>= 2 1 1))\"\n ATMOSPHERE: (22291..22292) \"\n\"\n ATMOSPHERE: (22292..22315) \";; (test #f (>= 1 2 1))\"\n ATMOSPHERE: (22315..22316) \"\n\"\n ATMOSPHERE: (22316..22341) \";; (test #f (< +nan.0 0))\"\n ATMOSPHERE: (22341..22342) \"\n\"\n ATMOSPHERE: (22342..22367) \";; (test #f (> +nan.0 0))\"\n ATMOSPHERE: (22367..22368) \"\n\"\n ATMOSPHERE: (22368..22395) \";; (test #f (< +nan.0 0.0))\"\n ATMOSPHERE: (22395..22396) \"\n\"\n ATMOSPHERE: (22396..22423) \";; (test #f (> +nan.0 0.0))\"\n ATMOSPHERE: (22423..22424) \"\n\"\n ATMOSPHERE: (22424..22471) \";; (test '(#t #f) (list (<= 1 1 2) (<= 2 1 3)))\"\n ATMOSPHERE: (22471..22473) \"\n\n\"\n ATMOSPHERE: (22473..22516) \";; ;; From R7RS 6.2.6 Numerical operations:\"\n ATMOSPHERE: (22516..22517) \"\n\"\n ATMOSPHERE: (22517..22522) \";; ;;\"\n ATMOSPHERE: (22522..22523) \"\n\"\n ATMOSPHERE: (22523..22576) \";; ;; These predicates are required to be transitive.\"\n ATMOSPHERE: (22576..22577) \"\n\"\n ATMOSPHERE: (22577..22582) \";; ;;\"\n ATMOSPHERE: (22582..22583) \"\n\"\n ATMOSPHERE: (22583..22651) \";; ;; _Note:_ The traditional implementations of these predicates in\"\n ATMOSPHERE: (22651..22652) \"\n\"\n ATMOSPHERE: (22652..22728) \";; ;; Lisp-like languages, which involve converting all arguments to inexact\"\n ATMOSPHERE: (22728..22729) \"\n\"\n ATMOSPHERE: (22729..22790) \";; ;; numbers if any argument is inexact, are not transitive.\"\n ATMOSPHERE: (22790..22792) \"\n\n\"\n ATMOSPHERE: (22792..22822) \";; ;; Example from Alan Bawden\"\n ATMOSPHERE: (22822..22823) \"\n\"\n ATMOSPHERE: (22823..22855) \";; (let ((a (- (expt 2 1000) 1))\"\n ATMOSPHERE: (22855..22856) \"\n\"\n ATMOSPHERE: (22856..22926) \";; (b (inexact (expt 2 1000))) ; assuming > single-float-epsilon\"\n ATMOSPHERE: (22926..22927) \"\n\"\n ATMOSPHERE: (22927..22960) \";; (c (+ (expt 2 1000) 1)))\"\n ATMOSPHERE: (22960..22961) \"\n\"\n ATMOSPHERE: (22961..23000) \";; (test #t (if (and (= a b) (= b c))\"\n ATMOSPHERE: (23000..23001) \"\n\"\n ATMOSPHERE: (23001..23026) \";; (= a c)\"\n ATMOSPHERE: (23026..23027) \"\n\"\n ATMOSPHERE: (23027..23050) \";; #t)))\"\n ATMOSPHERE: (23050..23052) \"\n\n\"\n ATMOSPHERE: (23052..23097) \";; ;; From CLtL 12.3. Comparisons on Numbers:\"\n ATMOSPHERE: (23097..23098) \"\n\"\n ATMOSPHERE: (23098..23103) \";; ;;\"\n ATMOSPHERE: (23103..23104) \"\n\"\n ATMOSPHERE: (23104..23174) \";; ;; Let _a_ be the result of (/ 10.0 single-float-epsilon), and let\"\n ATMOSPHERE: (23174..23175) \"\n\"\n ATMOSPHERE: (23175..23245) \";; ;; _j_ be the result of (floor a). ..., all of (<= a j), (< j (+ j\"\n ATMOSPHERE: (23245..23246) \"\n\"\n ATMOSPHERE: (23246..23315) \";; ;; 1)), and (<= (+ j 1) a) would be true; transitivity would then\"\n ATMOSPHERE: (23315..23316) \"\n\"\n ATMOSPHERE: (23316..23362) \";; ;; imply that (< a a) ought to be true ...\"\n ATMOSPHERE: (23362..23364) \"\n\n\"\n ATMOSPHERE: (23364..23408) \";; ;; Transliteration from Jussi Piitulainen\"\n ATMOSPHERE: (23408..23409) \"\n\"\n ATMOSPHERE: (23409..23440) \";; (define single-float-epsilon\"\n ATMOSPHERE: (23440..23441) \"\n\"\n ATMOSPHERE: (23441..23473) \";; (do ((eps 1.0 (* eps 2.0)))\"\n ATMOSPHERE: (23473..23474) \"\n\"\n ATMOSPHERE: (23474..23510) \";; ((= eps (+ eps 1.0)) eps)))\"\n ATMOSPHERE: (23510..23512) \"\n\n\"\n ATMOSPHERE: (23512..23555) \";; (let* ((a (/ 10.0 single-float-epsilon))\"\n ATMOSPHERE: (23555..23556) \"\n\"\n ATMOSPHERE: (23556..23580) \";; (j (exact a)))\"\n ATMOSPHERE: (23580..23581) \"\n\"\n ATMOSPHERE: (23581..23627) \";; (test #t (if (and (<= a j) (< j (+ j 1)))\"\n ATMOSPHERE: (23627..23628) \"\n\"\n ATMOSPHERE: (23628..23666) \";; (not (<= (+ j 1) a))\"\n ATMOSPHERE: (23666..23667) \"\n\"\n ATMOSPHERE: (23667..23690) \";; #t)))\"\n ATMOSPHERE: (23690..23692) \"\n\n\"\n ATMOSPHERE: (23692..23714) \";; (test #t (zero? 0))\"\n ATMOSPHERE: (23714..23715) \"\n\"\n ATMOSPHERE: (23715..23739) \";; (test #t (zero? 0.0))\"\n ATMOSPHERE: (23739..23740) \"\n\"\n ATMOSPHERE: (23740..23769) \";; (test #t (zero? 0.0+0.0i))\"\n ATMOSPHERE: (23769..23770) \"\n\"\n ATMOSPHERE: (23770..23792) \";; (test #f (zero? 1))\"\n ATMOSPHERE: (23792..23793) \"\n\"\n ATMOSPHERE: (23793..23816) \";; (test #f (zero? -1))\"\n ATMOSPHERE: (23816..23818) \"\n\n\"\n ATMOSPHERE: (23818..23844) \";; (test #f (positive? 0))\"\n ATMOSPHERE: (23844..23845) \"\n\"\n ATMOSPHERE: (23845..23873) \";; (test #f (positive? 0.0))\"\n ATMOSPHERE: (23873..23874) \"\n\"\n ATMOSPHERE: (23874..23900) \";; (test #t (positive? 1))\"\n ATMOSPHERE: (23900..23901) \"\n\"\n ATMOSPHERE: (23901..23929) \";; (test #t (positive? 1.0))\"\n ATMOSPHERE: (23929..23930) \"\n\"\n ATMOSPHERE: (23930..23957) \";; (test #f (positive? -1))\"\n ATMOSPHERE: (23957..23958) \"\n\"\n ATMOSPHERE: (23958..23987) \";; (test #f (positive? -1.0))\"\n ATMOSPHERE: (23987..23988) \"\n\"\n ATMOSPHERE: (23988..24019) \";; (test #t (positive? +inf.0))\"\n ATMOSPHERE: (24019..24020) \"\n\"\n ATMOSPHERE: (24020..24051) \";; (test #f (positive? -inf.0))\"\n ATMOSPHERE: (24051..24052) \"\n\"\n ATMOSPHERE: (24052..24083) \";; (test #f (positive? +nan.0))\"\n ATMOSPHERE: (24083..24085) \"\n\n\"\n ATMOSPHERE: (24085..24111) \";; (test #f (negative? 0))\"\n ATMOSPHERE: (24111..24112) \"\n\"\n ATMOSPHERE: (24112..24140) \";; (test #f (negative? 0.0))\"\n ATMOSPHERE: (24140..24141) \"\n\"\n ATMOSPHERE: (24141..24167) \";; (test #f (negative? 1))\"\n ATMOSPHERE: (24167..24168) \"\n\"\n ATMOSPHERE: (24168..24196) \";; (test #f (negative? 1.0))\"\n ATMOSPHERE: (24196..24197) \"\n\"\n ATMOSPHERE: (24197..24224) \";; (test #t (negative? -1))\"\n ATMOSPHERE: (24224..24225) \"\n\"\n ATMOSPHERE: (24225..24254) \";; (test #t (negative? -1.0))\"\n ATMOSPHERE: (24254..24255) \"\n\"\n ATMOSPHERE: (24255..24286) \";; (test #f (negative? +inf.0))\"\n ATMOSPHERE: (24286..24287) \"\n\"\n ATMOSPHERE: (24287..24318) \";; (test #t (negative? -inf.0))\"\n ATMOSPHERE: (24318..24319) \"\n\"\n ATMOSPHERE: (24319..24350) \";; (test #f (negative? +nan.0))\"\n ATMOSPHERE: (24350..24352) \"\n\n\"\n ATMOSPHERE: (24352..24373) \";; (test #f (odd? 0))\"\n ATMOSPHERE: (24373..24374) \"\n\"\n ATMOSPHERE: (24374..24395) \";; (test #t (odd? 1))\"\n ATMOSPHERE: (24395..24396) \"\n\"\n ATMOSPHERE: (24396..24418) \";; (test #t (odd? -1))\"\n ATMOSPHERE: (24418..24419) \"\n\"\n ATMOSPHERE: (24419..24442) \";; (test #f (odd? 102))\"\n ATMOSPHERE: (24442..24444) \"\n\n\"\n ATMOSPHERE: (24444..24466) \";; (test #t (even? 0))\"\n ATMOSPHERE: (24466..24467) \"\n\"\n ATMOSPHERE: (24467..24489) \";; (test #f (even? 1))\"\n ATMOSPHERE: (24489..24490) \"\n\"\n ATMOSPHERE: (24490..24513) \";; (test #t (even? -2))\"\n ATMOSPHERE: (24513..24514) \"\n\"\n ATMOSPHERE: (24514..24538) \";; (test #t (even? 102))\"\n ATMOSPHERE: (24538..24540) \"\n\n\"\n ATMOSPHERE: (24540..24559) \";; (test 3 (max 3))\"\n ATMOSPHERE: (24559..24560) \"\n\"\n ATMOSPHERE: (24560..24581) \";; (test 4 (max 3 4))\"\n ATMOSPHERE: (24581..24582) \"\n\"\n ATMOSPHERE: (24582..24607) \";; (test 4.0 (max 3.9 4))\"\n ATMOSPHERE: (24607..24608) \"\n\"\n ATMOSPHERE: (24608..24635) \";; (test 5.0 (max 5 3.9 4))\"\n ATMOSPHERE: (24635..24636) \"\n\"\n ATMOSPHERE: (24636..24669) \";; (test +inf.0 (max 100 +inf.0))\"\n ATMOSPHERE: (24669..24670) \"\n\"\n ATMOSPHERE: (24670..24689) \";; (test 3 (min 3))\"\n ATMOSPHERE: (24689..24690) \"\n\"\n ATMOSPHERE: (24690..24711) \";; (test 3 (min 3 4))\"\n ATMOSPHERE: (24711..24712) \"\n\"\n ATMOSPHERE: (24712..24737) \";; (test 3.0 (min 3 3.1))\"\n ATMOSPHERE: (24737..24738) \"\n\"\n ATMOSPHERE: (24738..24772) \";; (test -inf.0 (min -inf.0 -100))\"\n ATMOSPHERE: (24772..24774) \"\n\n\"\n ATMOSPHERE: (24774..24793) \";; (test 7 (+ 3 4))\"\n ATMOSPHERE: (24793..24794) \"\n\"\n ATMOSPHERE: (24794..24811) \";; (test 3 (+ 3))\"\n ATMOSPHERE: (24811..24812) \"\n\"\n ATMOSPHERE: (24812..24827) \";; (test 0 (+))\"\n ATMOSPHERE: (24827..24828) \"\n\"\n ATMOSPHERE: (24828..24845) \";; (test 4 (* 4))\"\n ATMOSPHERE: (24845..24846) \"\n\"\n ATMOSPHERE: (24846..24861) \";; (test 1 (*))\"\n ATMOSPHERE: (24861..24863) \"\n\n\"\n ATMOSPHERE: (24863..24883) \";; (test -1 (- 3 4))\"\n ATMOSPHERE: (24883..24884) \"\n\"\n ATMOSPHERE: (24884..24906) \";; (test -6 (- 3 4 5))\"\n ATMOSPHERE: (24906..24907) \"\n\"\n ATMOSPHERE: (24907..24925) \";; (test -3 (- 3))\"\n ATMOSPHERE: (24925..24926) \"\n\"\n ATMOSPHERE: (24926..24950) \";; (test 3/20 (/ 3 4 5))\"\n ATMOSPHERE: (24950..24951) \"\n\"\n ATMOSPHERE: (24951..24970) \";; (test 1/3 (/ 3))\"\n ATMOSPHERE: (24970..24972) \"\n\n\"\n ATMOSPHERE: (24972..24992) \";; (test 7 (abs -7))\"\n ATMOSPHERE: (24992..24993) \"\n\"\n ATMOSPHERE: (24993..25012) \";; (test 7 (abs 7))\"\n ATMOSPHERE: (25012..25014) \"\n\n\"\n ATMOSPHERE: (25014..25056) \";; (test-values (values 2 1) (floor/ 5 2))\"\n ATMOSPHERE: (25056..25057) \"\n\"\n ATMOSPHERE: (25057..25101) \";; (test-values (values -3 1) (floor/ -5 2))\"\n ATMOSPHERE: (25101..25102) \"\n\"\n ATMOSPHERE: (25102..25147) \";; (test-values (values -3 -1) (floor/ 5 -2))\"\n ATMOSPHERE: (25147..25148) \"\n\"\n ATMOSPHERE: (25148..25193) \";; (test-values (values 2 -1) (floor/ -5 -2))\"\n ATMOSPHERE: (25193..25194) \"\n\"\n ATMOSPHERE: (25194..25239) \";; (test-values (values 2 1) (truncate/ 5 2))\"\n ATMOSPHERE: (25239..25240) \"\n\"\n ATMOSPHERE: (25240..25288) \";; (test-values (values -2 -1) (truncate/ -5 2))\"\n ATMOSPHERE: (25288..25289) \"\n\"\n ATMOSPHERE: (25289..25336) \";; (test-values (values -2 1) (truncate/ 5 -2))\"\n ATMOSPHERE: (25336..25337) \"\n\"\n ATMOSPHERE: (25337..25385) \";; (test-values (values 2 -1) (truncate/ -5 -2))\"\n ATMOSPHERE: (25385..25386) \"\n\"\n ATMOSPHERE: (25386..25440) \";; (test-values (values 2.0 -1.0) (truncate/ -5.0 -2))\"\n ATMOSPHERE: (25440..25442) \"\n\n\"\n ATMOSPHERE: (25442..25467) \";; (test 1 (modulo 13 4))\"\n ATMOSPHERE: (25467..25468) \"\n\"\n ATMOSPHERE: (25468..25496) \";; (test 1 (remainder 13 4))\"\n ATMOSPHERE: (25496..25498) \"\n\n\"\n ATMOSPHERE: (25498..25524) \";; (test 3 (modulo -13 4))\"\n ATMOSPHERE: (25524..25525) \"\n\"\n ATMOSPHERE: (25525..25555) \";; (test -1 (remainder -13 4))\"\n ATMOSPHERE: (25555..25557) \"\n\n\"\n ATMOSPHERE: (25557..25584) \";; (test -3 (modulo 13 -4))\"\n ATMOSPHERE: (25584..25585) \"\n\"\n ATMOSPHERE: (25585..25614) \";; (test 1 (remainder 13 -4))\"\n ATMOSPHERE: (25614..25616) \"\n\n\"\n ATMOSPHERE: (25616..25644) \";; (test -1 (modulo -13 -4))\"\n ATMOSPHERE: (25644..25645) \"\n\"\n ATMOSPHERE: (25645..25676) \";; (test -1 (remainder -13 -4))\"\n ATMOSPHERE: (25676..25678) \"\n\n\"\n ATMOSPHERE: (25678..25713) \";; (test -1.0 (remainder -13 -4.0))\"\n ATMOSPHERE: (25713..25715) \"\n\n\"\n ATMOSPHERE: (25715..25739) \";; (test 4 (gcd 32 -36))\"\n ATMOSPHERE: (25739..25740) \"\n\"\n ATMOSPHERE: (25740..25757) \";; (test 0 (gcd))\"\n ATMOSPHERE: (25757..25758) \"\n\"\n ATMOSPHERE: (25758..25784) \";; (test 288 (lcm 32 -36))\"\n ATMOSPHERE: (25784..25785) \"\n\"\n ATMOSPHERE: (25785..25815) \";; (test 288.0 (lcm 32.0 -36))\"\n ATMOSPHERE: (25815..25816) \"\n\"\n ATMOSPHERE: (25816..25833) \";; (test 1 (lcm))\"\n ATMOSPHERE: (25833..25835) \"\n\n\"\n ATMOSPHERE: (25835..25866) \";; (test 3 (numerator (/ 6 4)))\"\n ATMOSPHERE: (25866..25867) \"\n\"\n ATMOSPHERE: (25867..25900) \";; (test 2 (denominator (/ 6 4)))\"\n ATMOSPHERE: (25900..25901) \"\n\"\n ATMOSPHERE: (25901..25946) \";; (test 2.0 (denominator (inexact (/ 6 4))))\"\n ATMOSPHERE: (25946..25947) \"\n\"\n ATMOSPHERE: (25947..25977) \";; (test 11.0 (numerator 5.5))\"\n ATMOSPHERE: (25977..25978) \"\n\"\n ATMOSPHERE: (25978..26009) \";; (test 2.0 (denominator 5.5))\"\n ATMOSPHERE: (26009..26010) \"\n\"\n ATMOSPHERE: (26010..26039) \";; (test 5.0 (numerator 5.0))\"\n ATMOSPHERE: (26039..26040) \"\n\"\n ATMOSPHERE: (26040..26071) \";; (test 1.0 (denominator 5.0))\"\n ATMOSPHERE: (26071..26073) \"\n\n\"\n ATMOSPHERE: (26073..26100) \";; (test -5.0 (floor -4.3))\"\n ATMOSPHERE: (26100..26101) \"\n\"\n ATMOSPHERE: (26101..26130) \";; (test -4.0 (ceiling -4.3))\"\n ATMOSPHERE: (26130..26131) \"\n\"\n ATMOSPHERE: (26131..26161) \";; (test -4.0 (truncate -4.3))\"\n ATMOSPHERE: (26161..26162) \"\n\"\n ATMOSPHERE: (26162..26189) \";; (test -4.0 (round -4.3))\"\n ATMOSPHERE: (26189..26191) \"\n\n\"\n ATMOSPHERE: (26191..26216) \";; (test 3.0 (floor 3.5))\"\n ATMOSPHERE: (26216..26217) \"\n\"\n ATMOSPHERE: (26217..26244) \";; (test 4.0 (ceiling 3.5))\"\n ATMOSPHERE: (26244..26245) \"\n\"\n ATMOSPHERE: (26245..26273) \";; (test 3.0 (truncate 3.5))\"\n ATMOSPHERE: (26273..26274) \"\n\"\n ATMOSPHERE: (26274..26299) \";; (test 4.0 (round 3.5))\"\n ATMOSPHERE: (26299..26301) \"\n\n\"\n ATMOSPHERE: (26301..26324) \";; (test 4 (round 7/2))\"\n ATMOSPHERE: (26324..26325) \"\n\"\n ATMOSPHERE: (26325..26346) \";; (test 7 (round 7))\"\n ATMOSPHERE: (26346..26347) \"\n\"\n ATMOSPHERE: (26347..26371) \";; (test 1 (round 7/10))\"\n ATMOSPHERE: (26371..26372) \"\n\"\n ATMOSPHERE: (26372..26397) \";; (test -4 (round -7/2))\"\n ATMOSPHERE: (26397..26398) \"\n\"\n ATMOSPHERE: (26398..26421) \";; (test -7 (round -7))\"\n ATMOSPHERE: (26421..26422) \"\n\"\n ATMOSPHERE: (26422..26448) \";; (test -1 (round -7/10))\"\n ATMOSPHERE: (26448..26450) \"\n\n\"\n ATMOSPHERE: (26450..26493) \";; (test 1/3 (rationalize (exact .3) 1/10))\"\n ATMOSPHERE: (26493..26494) \"\n\"\n ATMOSPHERE: (26494..26531) \";; (test #i1/3 (rationalize .3 1/10))\"\n ATMOSPHERE: (26531..26533) \"\n\n\"\n ATMOSPHERE: (26533..26591) \";; (test 1.0 (inexact (exp 0))) ;; may return exact number\"\n ATMOSPHERE: (26591..26592) \"\n\"\n ATMOSPHERE: (26592..26626) \";; (test 20.0855369231877 (exp 3))\"\n ATMOSPHERE: (26626..26628) \"\n\n\"\n ATMOSPHERE: (26628..26686) \";; (test 0.0 (inexact (log 1))) ;; may return exact number\"\n ATMOSPHERE: (26686..26687) \"\n\"\n ATMOSPHERE: (26687..26714) \";; (test 1.0 (log (exp 1)))\"\n ATMOSPHERE: (26714..26715) \"\n\"\n ATMOSPHERE: (26715..26744) \";; (test 42.0 (log (exp 42)))\"\n ATMOSPHERE: (26744..26745) \"\n\"\n ATMOSPHERE: (26745..26771) \";; (test 2.0 (log 100 10))\"\n ATMOSPHERE: (26771..26772) \"\n\"\n ATMOSPHERE: (26772..26799) \";; (test 12.0 (log 4096 2))\"\n ATMOSPHERE: (26799..26801) \"\n\n\"\n ATMOSPHERE: (26801..26859) \";; (test 0.0 (inexact (sin 0))) ;; may return exact number\"\n ATMOSPHERE: (26859..26860) \"\n\"\n ATMOSPHERE: (26860..26895) \";; (test 1.0 (sin 1.5707963267949))\"\n ATMOSPHERE: (26895..26896) \"\n\"\n ATMOSPHERE: (26896..26954) \";; (test 1.0 (inexact (cos 0))) ;; may return exact number\"\n ATMOSPHERE: (26954..26955) \"\n\"\n ATMOSPHERE: (26955..26992) \";; (test -1.0 (cos 3.14159265358979))\"\n ATMOSPHERE: (26992..26993) \"\n\"\n ATMOSPHERE: (26993..27051) \";; (test 0.0 (inexact (tan 0))) ;; may return exact number\"\n ATMOSPHERE: (27051..27052) \"\n\"\n ATMOSPHERE: (27052..27085) \";; (test 1.5574077246549 (tan 1))\"\n ATMOSPHERE: (27085..27087) \"\n\n\"\n ATMOSPHERE: (27087..27146) \";; (test 0.0 (inexact (asin 0))) ;; may return exact number\"\n ATMOSPHERE: (27146..27147) \"\n\"\n ATMOSPHERE: (27147..27181) \";; (test 1.5707963267949 (asin 1))\"\n ATMOSPHERE: (27181..27182) \"\n\"\n ATMOSPHERE: (27182..27241) \";; (test 0.0 (inexact (acos 1))) ;; may return exact number\"\n ATMOSPHERE: (27241..27242) \"\n\"\n ATMOSPHERE: (27242..27278) \";; (test 3.14159265358979 (acos -1))\"\n ATMOSPHERE: (27278..27280) \"\n\n\"\n ATMOSPHERE: (27280..27315) \";; ;; (test 0.0-0.0i (asin 0+0.0i))\"\n ATMOSPHERE: (27315..27316) \"\n\"\n ATMOSPHERE: (27316..27366) \";; ;; (test 1.5707963267948966+0.0i (acos 0+0.0i))\"\n ATMOSPHERE: (27366..27368) \"\n\n\"\n ATMOSPHERE: (27368..27396) \";; (test 0.0 (atan 0.0 1.0))\"\n ATMOSPHERE: (27396..27397) \"\n\"\n ATMOSPHERE: (27397..27427) \";; (test -0.0 (atan -0.0 1.0))\"\n ATMOSPHERE: (27427..27428) \"\n\"\n ATMOSPHERE: (27428..27470) \";; (test 0.785398163397448 (atan 1.0 1.0))\"\n ATMOSPHERE: (27470..27471) \"\n\"\n ATMOSPHERE: (27471..27511) \";; (test 1.5707963267949 (atan 1.0 0.0))\"\n ATMOSPHERE: (27511..27512) \"\n\"\n ATMOSPHERE: (27512..27554) \";; (test 2.35619449019234 (atan 1.0 -1.0))\"\n ATMOSPHERE: (27554..27555) \"\n\"\n ATMOSPHERE: (27555..27597) \";; (test 3.14159265358979 (atan 0.0 -1.0))\"\n ATMOSPHERE: (27597..27598) \"\n\"\n ATMOSPHERE: (27598..27644) \";; (test -3.14159265358979 (atan -0.0 -1.0)) ;\"\n ATMOSPHERE: (27644..27645) \"\n\"\n ATMOSPHERE: (27645..27689) \";; (test -2.35619449019234 (atan -1.0 -1.0))\"\n ATMOSPHERE: (27689..27690) \"\n\"\n ATMOSPHERE: (27690..27732) \";; (test -1.5707963267949 (atan -1.0 0.0))\"\n ATMOSPHERE: (27732..27733) \"\n\"\n ATMOSPHERE: (27733..27777) \";; (test -0.785398163397448 (atan -1.0 1.0))\"\n ATMOSPHERE: (27777..27778) \"\n\"\n ATMOSPHERE: (27778..27815) \";; ;; (test undefined (atan 0.0 0.0))\"\n ATMOSPHERE: (27815..27817) \"\n\n\"\n ATMOSPHERE: (27817..27843) \";; (test 1764 (square 42))\"\n ATMOSPHERE: (27843..27844) \"\n\"\n ATMOSPHERE: (27844..27866) \";; (test 4 (square 2))\"\n ATMOSPHERE: (27866..27868) \"\n\n\"\n ATMOSPHERE: (27868..27900) \";; (test 3.0 (inexact (sqrt 9)))\"\n ATMOSPHERE: (27900..27901) \"\n\"\n ATMOSPHERE: (27901..27935) \";; (test 1.4142135623731 (sqrt 2))\"\n ATMOSPHERE: (27935..27936) \"\n\"\n ATMOSPHERE: (27936..27974) \";; (test 0.0+1.0i (inexact (sqrt -1)))\"\n ATMOSPHERE: (27974..27976) \"\n\n\"\n ATMOSPHERE: (27976..28051) \";; (test '(2 0) (call-with-values (lambda () (exact-integer-sqrt 4)) list))\"\n ATMOSPHERE: (28051..28052) \"\n\"\n ATMOSPHERE: (28052..28127) \";; (test '(2 1) (call-with-values (lambda () (exact-integer-sqrt 5)) list))\"\n ATMOSPHERE: (28127..28129) \"\n\n\"\n ATMOSPHERE: (28129..28152) \";; (test 27 (expt 3 3))\"\n ATMOSPHERE: (28152..28153) \"\n\"\n ATMOSPHERE: (28153..28175) \";; (test 1 (expt 0 0))\"\n ATMOSPHERE: (28175..28176) \"\n\"\n ATMOSPHERE: (28176..28198) \";; (test 0 (expt 0 1))\"\n ATMOSPHERE: (28198..28199) \"\n\"\n ATMOSPHERE: (28199..28225) \";; (test 1.0 (expt 0.0 0))\"\n ATMOSPHERE: (28225..28226) \"\n\"\n ATMOSPHERE: (28226..28252) \";; (test 0.0 (expt 0 1.0))\"\n ATMOSPHERE: (28252..28254) \"\n\n\"\n ATMOSPHERE: (28254..28291) \";; (test 1+2i (make-rectangular 1 2))\"\n ATMOSPHERE: (28291..28293) \"\n\n\"\n ATMOSPHERE: (28293..28355) \";; (test 0.54030230586814+0.841470984807897i (make-polar 1 1))\"\n ATMOSPHERE: (28355..28357) \"\n\n\"\n ATMOSPHERE: (28357..28385) \";; (test 1 (real-part 1+2i))\"\n ATMOSPHERE: (28385..28387) \"\n\n\"\n ATMOSPHERE: (28387..28415) \";; (test 2 (imag-part 1+2i))\"\n ATMOSPHERE: (28415..28417) \"\n\n\"\n ATMOSPHERE: (28417..28460) \";; (test 2.23606797749979 (magnitude 1+2i))\"\n ATMOSPHERE: (28460..28462) \"\n\n\"\n ATMOSPHERE: (28462..28501) \";; (test 1.10714871779409 (angle 1+2i))\"\n ATMOSPHERE: (28501..28503) \"\n\n\"\n ATMOSPHERE: (28503..28528) \";; (test 1.0 (inexact 1))\"\n ATMOSPHERE: (28528..28529) \"\n\"\n ATMOSPHERE: (28529..28564) \";; (test #t (inexact? (inexact 1)))\"\n ATMOSPHERE: (28564..28565) \"\n\"\n ATMOSPHERE: (28565..28588) \";; (test 1 (exact 1.0))\"\n ATMOSPHERE: (28588..28589) \"\n\"\n ATMOSPHERE: (28589..28622) \";; (test #t (exact? (exact 1.0)))\"\n ATMOSPHERE: (28622..28624) \"\n\n\"\n FORM: (28624..28657)\n OPEN_PAREN: (28624..28625) \"(\"\n SYMBOL: (28625..28629)\n IDENTIFIER: (28625..28629) \"test\"\n ATMOSPHERE: (28629..28630) \" \"\n CONSTANT: (28630..28633)\n NUMBER: (28630..28633) \"100\"\n ATMOSPHERE: (28633..28634) \" \"\n FORM: (28634..28656)\n OPEN_PAREN: (28634..28635) \"(\"\n SYMBOL: (28635..28649)\n IDENTIFIER: (28635..28649) \"string->number\"\n ATMOSPHERE: (28649..28650) \" \"\n CONSTANT: (28650..28655)\n STRING: (28650..28655) \"\"100\"\"\n CLOSE_PAREN: (28655..28656) \")\"\n CLOSE_PAREN: (28656..28657) \")\"\n ATMOSPHERE: (28657..28658) \"\n\"\n FORM: (28658..28694)\n OPEN_PAREN: (28658..28659) \"(\"\n SYMBOL: (28659..28663)\n IDENTIFIER: (28659..28663) \"test\"\n ATMOSPHERE: (28663..28664) \" \"\n CONSTANT: (28664..28667)\n NUMBER: (28664..28667) \"256\"\n ATMOSPHERE: (28667..28668) \" \"\n FORM: (28668..28693)\n OPEN_PAREN: (28668..28669) \"(\"\n SYMBOL: (28669..28683)\n IDENTIFIER: (28669..28683) \"string->number\"\n ATMOSPHERE: (28683..28684) \" \"\n CONSTANT: (28684..28689)\n STRING: (28684..28689) \"\"100\"\"\n ATMOSPHERE: (28689..28690) \" \"\n CONSTANT: (28690..28692)\n NUMBER: (28690..28692) \"16\"\n CLOSE_PAREN: (28692..28693) \")\"\n CLOSE_PAREN: (28693..28694) \")\"\n ATMOSPHERE: (28694..28695) \"\n\"\n FORM: (28695..28730)\n OPEN_PAREN: (28695..28696) \"(\"\n SYMBOL: (28696..28700)\n IDENTIFIER: (28696..28700) \"test\"\n ATMOSPHERE: (28700..28701) \" \"\n CONSTANT: (28701..28706)\n NUMBER: (28701..28706) \"100.0\"\n ATMOSPHERE: (28706..28707) \" \"\n FORM: (28707..28729)\n OPEN_PAREN: (28707..28708) \"(\"\n SYMBOL: (28708..28722)\n IDENTIFIER: (28708..28722) \"string->number\"\n ATMOSPHERE: (28722..28723) \" \"\n CONSTANT: (28723..28728)\n STRING: (28723..28728) \"\"1e2\"\"\n CLOSE_PAREN: (28728..28729) \")\"\n CLOSE_PAREN: (28729..28730) \")\"\n ATMOSPHERE: (28730..28732) \"\n\n\"\n FORM: (28732..28742)\n OPEN_PAREN: (28732..28733) \"(\"\n SYMBOL: (28733..28741)\n IDENTIFIER: (28733..28741) \"test-end\"\n CLOSE_PAREN: (28741..28742) \")\"\n ATMOSPHERE: (28742..28744) \"\n\n\"\n FORM: (28744..28771)\n OPEN_PAREN: (28744..28745) \"(\"\n SYMBOL: (28745..28755)\n IDENTIFIER: (28745..28755) \"test-begin\"\n ATMOSPHERE: (28755..28756) \" \"\n CONSTANT: (28756..28770)\n STRING: (28756..28770) \"\"6.3 Booleans\"\"\n CLOSE_PAREN: (28770..28771) \")\"\n ATMOSPHERE: (28771..28773) \"\n\n\"\n FORM: (28773..28785)\n OPEN_PAREN: (28773..28774) \"(\"\n SYMBOL: (28774..28778)\n IDENTIFIER: (28774..28778) \"test\"\n ATMOSPHERE: (28778..28779) \" \"\n CONSTANT: (28779..28781)\n BOOLEAN: (28779..28781) \"#t\"\n ATMOSPHERE: (28781..28782) \" \"\n CONSTANT: (28782..28784)\n BOOLEAN: (28782..28784) \"#t\"\n CLOSE_PAREN: (28784..28785) \")\"\n ATMOSPHERE: (28785..28786) \"\n\"\n FORM: (28786..28798)\n OPEN_PAREN: (28786..28787) \"(\"\n SYMBOL: (28787..28791)\n IDENTIFIER: (28787..28791) \"test\"\n ATMOSPHERE: (28791..28792) \" \"\n CONSTANT: (28792..28794)\n BOOLEAN: (28792..28794) \"#f\"\n ATMOSPHERE: (28794..28795) \" \"\n CONSTANT: (28795..28797)\n BOOLEAN: (28795..28797) \"#f\"\n CLOSE_PAREN: (28797..28798) \")\"\n ATMOSPHERE: (28798..28799) \"\n\"\n FORM: (28799..28812)\n OPEN_PAREN: (28799..28800) \"(\"\n SYMBOL: (28800..28804)\n IDENTIFIER: (28800..28804) \"test\"\n ATMOSPHERE: (28804..28805) \" \"\n CONSTANT: (28805..28807)\n BOOLEAN: (28805..28807) \"#f\"\n ATMOSPHERE: (28807..28808) \" \"\n QUOTED_DATUM: (28808..28811)\n QUOTE: (28808..28809) \"'\"\n CONSTANT: (28809..28811)\n BOOLEAN: (28809..28811) \"#f\"\n CLOSE_PAREN: (28811..28812) \")\"\n ATMOSPHERE: (28812..28814) \"\n\n\"\n FORM: (28814..28832)\n OPEN_PAREN: (28814..28815) \"(\"\n SYMBOL: (28815..28819)\n IDENTIFIER: (28815..28819) \"test\"\n ATMOSPHERE: (28819..28820) \" \"\n CONSTANT: (28820..28822)\n BOOLEAN: (28820..28822) \"#f\"\n ATMOSPHERE: (28822..28823) \" \"\n FORM: (28823..28831)\n OPEN_PAREN: (28823..28824) \"(\"\n SYMBOL: (28824..28827)\n IDENTIFIER: (28824..28827) \"not\"\n ATMOSPHERE: (28827..28828) \" \"\n CONSTANT: (28828..28830)\n BOOLEAN: (28828..28830) \"#t\"\n CLOSE_PAREN: (28830..28831) \")\"\n CLOSE_PAREN: (28831..28832) \")\"\n ATMOSPHERE: (28832..28833) \"\n\"\n FORM: (28833..28850)\n OPEN_PAREN: (28833..28834) \"(\"\n SYMBOL: (28834..28838)\n IDENTIFIER: (28834..28838) \"test\"\n ATMOSPHERE: (28838..28839) \" \"\n CONSTANT: (28839..28841)\n BOOLEAN: (28839..28841) \"#f\"\n ATMOSPHERE: (28841..28842) \" \"\n FORM: (28842..28849)\n OPEN_PAREN: (28842..28843) \"(\"\n SYMBOL: (28843..28846)\n IDENTIFIER: (28843..28846) \"not\"\n ATMOSPHERE: (28846..28847) \" \"\n CONSTANT: (28847..28848)\n NUMBER: (28847..28848) \"3\"\n CLOSE_PAREN: (28848..28849) \")\"\n CLOSE_PAREN: (28849..28850) \")\"\n ATMOSPHERE: (28850..28851) \"\n\"\n FORM: (28851..28875)\n OPEN_PAREN: (28851..28852) \"(\"\n SYMBOL: (28852..28856)\n IDENTIFIER: (28852..28856) \"test\"\n ATMOSPHERE: (28856..28857) \" \"\n CONSTANT: (28857..28859)\n BOOLEAN: (28857..28859) \"#f\"\n ATMOSPHERE: (28859..28860) \" \"\n FORM: (28860..28874)\n OPEN_PAREN: (28860..28861) \"(\"\n SYMBOL: (28861..28864)\n IDENTIFIER: (28861..28864) \"not\"\n ATMOSPHERE: (28864..28865) \" \"\n FORM: (28865..28873)\n OPEN_PAREN: (28865..28866) \"(\"\n SYMBOL: (28866..28870)\n IDENTIFIER: (28866..28870) \"list\"\n ATMOSPHERE: (28870..28871) \" \"\n CONSTANT: (28871..28872)\n NUMBER: (28871..28872) \"3\"\n CLOSE_PAREN: (28872..28873) \")\"\n CLOSE_PAREN: (28873..28874) \")\"\n CLOSE_PAREN: (28874..28875) \")\"\n ATMOSPHERE: (28875..28876) \"\n\"\n FORM: (28876..28894)\n OPEN_PAREN: (28876..28877) \"(\"\n SYMBOL: (28877..28881)\n IDENTIFIER: (28877..28881) \"test\"\n ATMOSPHERE: (28881..28882) \" \"\n CONSTANT: (28882..28884)\n BOOLEAN: (28882..28884) \"#t\"\n ATMOSPHERE: (28884..28885) \" \"\n FORM: (28885..28893)\n OPEN_PAREN: (28885..28886) \"(\"\n SYMBOL: (28886..28889)\n IDENTIFIER: (28886..28889) \"not\"\n ATMOSPHERE: (28889..28890) \" \"\n CONSTANT: (28890..28892)\n BOOLEAN: (28890..28892) \"#f\"\n CLOSE_PAREN: (28892..28893) \")\"\n CLOSE_PAREN: (28893..28894) \")\"\n ATMOSPHERE: (28894..28895) \"\n\"\n FORM: (28895..28914)\n OPEN_PAREN: (28895..28896) \"(\"\n SYMBOL: (28896..28900)\n IDENTIFIER: (28896..28900) \"test\"\n ATMOSPHERE: (28900..28901) \" \"\n CONSTANT: (28901..28903)\n BOOLEAN: (28901..28903) \"#f\"\n ATMOSPHERE: (28903..28904) \" \"\n FORM: (28904..28913)\n OPEN_PAREN: (28904..28905) \"(\"\n SYMBOL: (28905..28908)\n IDENTIFIER: (28905..28908) \"not\"\n ATMOSPHERE: (28908..28909) \" \"\n QUOTED_DATUM: (28909..28912)\n QUOTE: (28909..28910) \"'\"\n FORM: (28910..28912)\n OPEN_PAREN: (28910..28911) \"(\"\n CLOSE_PAREN: (28911..28912) \")\"\n CLOSE_PAREN: (28912..28913) \")\"\n CLOSE_PAREN: (28913..28914) \")\"\n ATMOSPHERE: (28914..28915) \"\n\"\n FORM: (28915..28937)\n OPEN_PAREN: (28915..28916) \"(\"\n SYMBOL: (28916..28920)\n IDENTIFIER: (28916..28920) \"test\"\n ATMOSPHERE: (28920..28921) \" \"\n CONSTANT: (28921..28923)\n BOOLEAN: (28921..28923) \"#f\"\n ATMOSPHERE: (28923..28924) \" \"\n FORM: (28924..28936)\n OPEN_PAREN: (28924..28925) \"(\"\n SYMBOL: (28925..28928)\n IDENTIFIER: (28925..28928) \"not\"\n ATMOSPHERE: (28928..28929) \" \"\n FORM: (28929..28935)\n OPEN_PAREN: (28929..28930) \"(\"\n SYMBOL: (28930..28934)\n IDENTIFIER: (28930..28934) \"list\"\n CLOSE_PAREN: (28934..28935) \")\"\n CLOSE_PAREN: (28935..28936) \")\"\n CLOSE_PAREN: (28936..28937) \")\"\n ATMOSPHERE: (28937..28938) \"\n\"\n FORM: (28938..28958)\n OPEN_PAREN: (28938..28939) \"(\"\n SYMBOL: (28939..28943)\n IDENTIFIER: (28939..28943) \"test\"\n ATMOSPHERE: (28943..28944) \" \"\n CONSTANT: (28944..28946)\n BOOLEAN: (28944..28946) \"#f\"\n ATMOSPHERE: (28946..28947) \" \"\n FORM: (28947..28957)\n OPEN_PAREN: (28947..28948) \"(\"\n SYMBOL: (28948..28951)\n IDENTIFIER: (28948..28951) \"not\"\n ATMOSPHERE: (28951..28952) \" \"\n QUOTED_DATUM: (28952..28956)\n QUOTE: (28952..28953) \"'\"\n SYMBOL: (28953..28956)\n IDENTIFIER: (28953..28956) \"nil\"\n CLOSE_PAREN: (28956..28957) \")\"\n CLOSE_PAREN: (28957..28958) \")\"\n ATMOSPHERE: (28958..28960) \"\n\n\"\n FORM: (28960..28983)\n OPEN_PAREN: (28960..28961) \"(\"\n SYMBOL: (28961..28965)\n IDENTIFIER: (28961..28965) \"test\"\n ATMOSPHERE: (28965..28966) \" \"\n CONSTANT: (28966..28968)\n BOOLEAN: (28966..28968) \"#t\"\n ATMOSPHERE: (28968..28969) \" \"\n FORM: (28969..28982)\n OPEN_PAREN: (28969..28970) \"(\"\n SYMBOL: (28970..28978)\n IDENTIFIER: (28970..28978) \"boolean?\"\n ATMOSPHERE: (28978..28979) \" \"\n CONSTANT: (28979..28981)\n BOOLEAN: (28979..28981) \"#f\"\n CLOSE_PAREN: (28981..28982) \")\"\n CLOSE_PAREN: (28982..28983) \")\"\n ATMOSPHERE: (28983..28984) \"\n\"\n FORM: (28984..29006)\n OPEN_PAREN: (28984..28985) \"(\"\n SYMBOL: (28985..28989)\n IDENTIFIER: (28985..28989) \"test\"\n ATMOSPHERE: (28989..28990) \" \"\n CONSTANT: (28990..28992)\n BOOLEAN: (28990..28992) \"#f\"\n ATMOSPHERE: (28992..28993) \" \"\n FORM: (28993..29005)\n OPEN_PAREN: (28993..28994) \"(\"\n SYMBOL: (28994..29002)\n IDENTIFIER: (28994..29002) \"boolean?\"\n ATMOSPHERE: (29002..29003) \" \"\n CONSTANT: (29003..29004)\n NUMBER: (29003..29004) \"0\"\n CLOSE_PAREN: (29004..29005) \")\"\n CLOSE_PAREN: (29005..29006) \")\"\n ATMOSPHERE: (29006..29007) \"\n\"\n FORM: (29007..29031)\n OPEN_PAREN: (29007..29008) \"(\"\n SYMBOL: (29008..29012)\n IDENTIFIER: (29008..29012) \"test\"\n ATMOSPHERE: (29012..29013) \" \"\n CONSTANT: (29013..29015)\n BOOLEAN: (29013..29015) \"#f\"\n ATMOSPHERE: (29015..29016) \" \"\n FORM: (29016..29030)\n OPEN_PAREN: (29016..29017) \"(\"\n SYMBOL: (29017..29025)\n IDENTIFIER: (29017..29025) \"boolean?\"\n ATMOSPHERE: (29025..29026) \" \"\n QUOTED_DATUM: (29026..29029)\n QUOTE: (29026..29027) \"'\"\n FORM: (29027..29029)\n OPEN_PAREN: (29027..29028) \"(\"\n CLOSE_PAREN: (29028..29029) \")\"\n CLOSE_PAREN: (29029..29030) \")\"\n CLOSE_PAREN: (29030..29031) \")\"\n ATMOSPHERE: (29031..29033) \"\n\n\"\n FORM: (29033..29060)\n OPEN_PAREN: (29033..29034) \"(\"\n SYMBOL: (29034..29038)\n IDENTIFIER: (29034..29038) \"test\"\n ATMOSPHERE: (29038..29039) \" \"\n CONSTANT: (29039..29041)\n BOOLEAN: (29039..29041) \"#t\"\n ATMOSPHERE: (29041..29042) \" \"\n FORM: (29042..29059)\n OPEN_PAREN: (29042..29043) \"(\"\n SYMBOL: (29043..29052)\n IDENTIFIER: (29043..29052) \"boolean=?\"\n ATMOSPHERE: (29052..29053) \" \"\n CONSTANT: (29053..29055)\n BOOLEAN: (29053..29055) \"#t\"\n ATMOSPHERE: (29055..29056) \" \"\n CONSTANT: (29056..29058)\n BOOLEAN: (29056..29058) \"#t\"\n CLOSE_PAREN: (29058..29059) \")\"\n CLOSE_PAREN: (29059..29060) \")\"\n ATMOSPHERE: (29060..29061) \"\n\"\n FORM: (29061..29088)\n OPEN_PAREN: (29061..29062) \"(\"\n SYMBOL: (29062..29066)\n IDENTIFIER: (29062..29066) \"test\"\n ATMOSPHERE: (29066..29067) \" \"\n CONSTANT: (29067..29069)\n BOOLEAN: (29067..29069) \"#t\"\n ATMOSPHERE: (29069..29070) \" \"\n FORM: (29070..29087)\n OPEN_PAREN: (29070..29071) \"(\"\n SYMBOL: (29071..29080)\n IDENTIFIER: (29071..29080) \"boolean=?\"\n ATMOSPHERE: (29080..29081) \" \"\n CONSTANT: (29081..29083)\n BOOLEAN: (29081..29083) \"#f\"\n ATMOSPHERE: (29083..29084) \" \"\n CONSTANT: (29084..29086)\n BOOLEAN: (29084..29086) \"#f\"\n CLOSE_PAREN: (29086..29087) \")\"\n CLOSE_PAREN: (29087..29088) \")\"\n ATMOSPHERE: (29088..29089) \"\n\"\n FORM: (29089..29116)\n OPEN_PAREN: (29089..29090) \"(\"\n SYMBOL: (29090..29094)\n IDENTIFIER: (29090..29094) \"test\"\n ATMOSPHERE: (29094..29095) \" \"\n CONSTANT: (29095..29097)\n BOOLEAN: (29095..29097) \"#f\"\n ATMOSPHERE: (29097..29098) \" \"\n FORM: (29098..29115)\n OPEN_PAREN: (29098..29099) \"(\"\n SYMBOL: (29099..29108)\n IDENTIFIER: (29099..29108) \"boolean=?\"\n ATMOSPHERE: (29108..29109) \" \"\n CONSTANT: (29109..29111)\n BOOLEAN: (29109..29111) \"#t\"\n ATMOSPHERE: (29111..29112) \" \"\n CONSTANT: (29112..29114)\n BOOLEAN: (29112..29114) \"#f\"\n CLOSE_PAREN: (29114..29115) \")\"\n CLOSE_PAREN: (29115..29116) \")\"\n ATMOSPHERE: (29116..29117) \"\n\"\n FORM: (29117..29147)\n OPEN_PAREN: (29117..29118) \"(\"\n SYMBOL: (29118..29122)\n IDENTIFIER: (29118..29122) \"test\"\n ATMOSPHERE: (29122..29123) \" \"\n CONSTANT: (29123..29125)\n BOOLEAN: (29123..29125) \"#t\"\n ATMOSPHERE: (29125..29126) \" \"\n FORM: (29126..29146)\n OPEN_PAREN: (29126..29127) \"(\"\n SYMBOL: (29127..29136)\n IDENTIFIER: (29127..29136) \"boolean=?\"\n ATMOSPHERE: (29136..29137) \" \"\n CONSTANT: (29137..29139)\n BOOLEAN: (29137..29139) \"#f\"\n ATMOSPHERE: (29139..29140) \" \"\n CONSTANT: (29140..29142)\n BOOLEAN: (29140..29142) \"#f\"\n ATMOSPHERE: (29142..29143) \" \"\n CONSTANT: (29143..29145)\n BOOLEAN: (29143..29145) \"#f\"\n CLOSE_PAREN: (29145..29146) \")\"\n CLOSE_PAREN: (29146..29147) \")\"\n ATMOSPHERE: (29147..29148) \"\n\"\n FORM: (29148..29178)\n OPEN_PAREN: (29148..29149) \"(\"\n SYMBOL: (29149..29153)\n IDENTIFIER: (29149..29153) \"test\"\n ATMOSPHERE: (29153..29154) \" \"\n CONSTANT: (29154..29156)\n BOOLEAN: (29154..29156) \"#f\"\n ATMOSPHERE: (29156..29157) \" \"\n FORM: (29157..29177)\n OPEN_PAREN: (29157..29158) \"(\"\n SYMBOL: (29158..29167)\n IDENTIFIER: (29158..29167) \"boolean=?\"\n ATMOSPHERE: (29167..29168) \" \"\n CONSTANT: (29168..29170)\n BOOLEAN: (29168..29170) \"#t\"\n ATMOSPHERE: (29170..29171) \" \"\n CONSTANT: (29171..29173)\n BOOLEAN: (29171..29173) \"#t\"\n ATMOSPHERE: (29173..29174) \" \"\n CONSTANT: (29174..29176)\n BOOLEAN: (29174..29176) \"#f\"\n CLOSE_PAREN: (29176..29177) \")\"\n CLOSE_PAREN: (29177..29178) \")\"\n ATMOSPHERE: (29178..29180) \"\n\n\"\n FORM: (29180..29190)\n OPEN_PAREN: (29180..29181) \"(\"\n SYMBOL: (29181..29189)\n IDENTIFIER: (29181..29189) \"test-end\"\n CLOSE_PAREN: (29189..29190) \")\"\n ATMOSPHERE: (29190..29192) \"\n\n\"\n FORM: (29192..29216)\n OPEN_PAREN: (29192..29193) \"(\"\n SYMBOL: (29193..29203)\n IDENTIFIER: (29193..29203) \"test-begin\"\n ATMOSPHERE: (29203..29204) \" \"\n CONSTANT: (29204..29215)\n STRING: (29204..29215) \"\"6.4 Lists\"\"\n CLOSE_PAREN: (29215..29216) \")\"\n ATMOSPHERE: (29216..29218) \"\n\n\"\n ATMOSPHERE: (29218..29247) \";; (let* ((x (list 'a 'b 'c))\"\n ATMOSPHERE: (29247..29248) \"\n\"\n ATMOSPHERE: (29248..29264) \";; (y x))\"\n ATMOSPHERE: (29264..29265) \"\n\"\n ATMOSPHERE: (29265..29296) \";; (test '(a b c) (values y))\"\n ATMOSPHERE: (29296..29297) \"\n\"\n ATMOSPHERE: (29297..29321) \";; (test #t (list? y))\"\n ATMOSPHERE: (29321..29322) \"\n\"\n ATMOSPHERE: (29322..29341) \";; (set-cdr! x 4)\"\n ATMOSPHERE: (29341..29342) \"\n\"\n ATMOSPHERE: (29342..29373) \";; (test '(a . 4) (values x))\"\n ATMOSPHERE: (29373..29374) \"\n\"\n ATMOSPHERE: (29374..29399) \";; (test #t (eqv? x y))\"\n ATMOSPHERE: (29399..29400) \"\n\"\n ATMOSPHERE: (29400..29424) \";; (test #f (list? y))\"\n ATMOSPHERE: (29424..29425) \"\n\"\n ATMOSPHERE: (29425..29444) \";; (set-cdr! x x)\"\n ATMOSPHERE: (29444..29445) \"\n\"\n ATMOSPHERE: (29445..29470) \";; (test #f (list? x)))\"\n ATMOSPHERE: (29470..29472) \"\n\n\"\n FORM: (29472..29498)\n OPEN_PAREN: (29472..29473) \"(\"\n SYMBOL: (29473..29477)\n IDENTIFIER: (29473..29477) \"test\"\n ATMOSPHERE: (29477..29478) \" \"\n CONSTANT: (29478..29480)\n BOOLEAN: (29478..29480) \"#t\"\n ATMOSPHERE: (29480..29481) \" \"\n FORM: (29481..29497)\n OPEN_PAREN: (29481..29482) \"(\"\n SYMBOL: (29482..29487)\n IDENTIFIER: (29482..29487) \"pair?\"\n ATMOSPHERE: (29487..29488) \" \"\n QUOTED_DATUM: (29488..29496)\n QUOTE: (29488..29489) \"'\"\n FORM: (29489..29496)\n OPEN_PAREN: (29489..29490) \"(\"\n SYMBOL: (29490..29491)\n IDENTIFIER: (29490..29491) \"a\"\n ATMOSPHERE: (29491..29492) \" \"\n DOTTED_TAIL: (29492..29495)\n DOT: (29492..29493) \".\"\n ATMOSPHERE: (29493..29494) \" \"\n SYMBOL: (29494..29495)\n IDENTIFIER: (29494..29495) \"b\"\n CLOSE_PAREN: (29495..29496) \")\"\n CLOSE_PAREN: (29496..29497) \")\"\n CLOSE_PAREN: (29497..29498) \")\"\n ATMOSPHERE: (29498..29499) \"\n\"\n FORM: (29499..29525)\n OPEN_PAREN: (29499..29500) \"(\"\n SYMBOL: (29500..29504)\n IDENTIFIER: (29500..29504) \"test\"\n ATMOSPHERE: (29504..29505) \" \"\n CONSTANT: (29505..29507)\n BOOLEAN: (29505..29507) \"#t\"\n ATMOSPHERE: (29507..29508) \" \"\n FORM: (29508..29524)\n OPEN_PAREN: (29508..29509) \"(\"\n SYMBOL: (29509..29514)\n IDENTIFIER: (29509..29514) \"pair?\"\n ATMOSPHERE: (29514..29515) \" \"\n QUOTED_DATUM: (29515..29523)\n QUOTE: (29515..29516) \"'\"\n FORM: (29516..29523)\n OPEN_PAREN: (29516..29517) \"(\"\n SYMBOL: (29517..29518)\n IDENTIFIER: (29517..29518) \"a\"\n ATMOSPHERE: (29518..29519) \" \"\n SYMBOL: (29519..29520)\n IDENTIFIER: (29519..29520) \"b\"\n ATMOSPHERE: (29520..29521) \" \"\n SYMBOL: (29521..29522)\n IDENTIFIER: (29521..29522) \"c\"\n CLOSE_PAREN: (29522..29523) \")\"\n CLOSE_PAREN: (29523..29524) \")\"\n CLOSE_PAREN: (29524..29525) \")\"\n ATMOSPHERE: (29525..29526) \"\n\"\n FORM: (29526..29547)\n OPEN_PAREN: (29526..29527) \"(\"\n SYMBOL: (29527..29531)\n IDENTIFIER: (29527..29531) \"test\"\n ATMOSPHERE: (29531..29532) \" \"\n CONSTANT: (29532..29534)\n BOOLEAN: (29532..29534) \"#f\"\n ATMOSPHERE: (29534..29535) \" \"\n FORM: (29535..29546)\n OPEN_PAREN: (29535..29536) \"(\"\n SYMBOL: (29536..29541)\n IDENTIFIER: (29536..29541) \"pair?\"\n ATMOSPHERE: (29541..29542) \" \"\n QUOTED_DATUM: (29542..29545)\n QUOTE: (29542..29543) \"'\"\n FORM: (29543..29545)\n OPEN_PAREN: (29543..29544) \"(\"\n CLOSE_PAREN: (29544..29545) \")\"\n CLOSE_PAREN: (29545..29546) \")\"\n CLOSE_PAREN: (29546..29547) \")\"\n ATMOSPHERE: (29547..29548) \"\n\"\n FORM: (29548..29573)\n OPEN_PAREN: (29548..29549) \"(\"\n SYMBOL: (29549..29553)\n IDENTIFIER: (29549..29553) \"test\"\n ATMOSPHERE: (29553..29554) \" \"\n CONSTANT: (29554..29556)\n BOOLEAN: (29554..29556) \"#f\"\n ATMOSPHERE: (29556..29557) \" \"\n FORM: (29557..29572)\n OPEN_PAREN: (29557..29558) \"(\"\n SYMBOL: (29558..29563)\n IDENTIFIER: (29558..29563) \"pair?\"\n ATMOSPHERE: (29563..29564) \" \"\n QUOTED_DATUM: (29564..29571)\n QUOTE: (29564..29565) \"'\"\n VEC: (29565..29571)\n OPEN_PAREN: (29565..29567) \"#(\"\n SYMBOL: (29567..29568)\n IDENTIFIER: (29567..29568) \"a\"\n ATMOSPHERE: (29568..29569) \" \"\n SYMBOL: (29569..29570)\n IDENTIFIER: (29569..29570) \"b\"\n CLOSE_PAREN: (29570..29571) \")\"\n CLOSE_PAREN: (29571..29572) \")\"\n CLOSE_PAREN: (29572..29573) \")\"\n ATMOSPHERE: (29573..29575) \"\n\n\"\n FORM: (29575..29600)\n OPEN_PAREN: (29575..29576) \"(\"\n SYMBOL: (29576..29580)\n IDENTIFIER: (29576..29580) \"test\"\n ATMOSPHERE: (29580..29581) \" \"\n QUOTED_DATUM: (29581..29586)\n QUOTE: (29581..29582) \"'\"\n FORM: (29582..29585)\n OPEN_PAREN: (29582..29583) \"(\"\n SYMBOL: (29583..29584)\n IDENTIFIER: (29583..29584) \"a\"\n CLOSE_PAREN: (29584..29585) \")\"\n ATMOSPHERE: (29585..29586) \" \"\n FORM: (29586..29599)\n OPEN_PAREN: (29586..29587) \"(\"\n SYMBOL: (29587..29591)\n IDENTIFIER: (29587..29591) \"cons\"\n ATMOSPHERE: (29591..29592) \" \"\n QUOTED_DATUM: (29592..29595)\n QUOTE: (29592..29593) \"'\"\n SYMBOL: (29593..29594)\n IDENTIFIER: (29593..29594) \"a\"\n ATMOSPHERE: (29594..29595) \" \"\n QUOTED_DATUM: (29595..29598)\n QUOTE: (29595..29596) \"'\"\n FORM: (29596..29598)\n OPEN_PAREN: (29596..29597) \"(\"\n CLOSE_PAREN: (29597..29598) \")\"\n CLOSE_PAREN: (29598..29599) \")\"\n CLOSE_PAREN: (29599..29600) \")\"\n ATMOSPHERE: (29600..29601) \"\n\"\n FORM: (29601..29641)\n OPEN_PAREN: (29601..29602) \"(\"\n SYMBOL: (29602..29606)\n IDENTIFIER: (29602..29606) \"test\"\n ATMOSPHERE: (29606..29607) \" \"\n QUOTED_DATUM: (29607..29620)\n QUOTE: (29607..29608) \"'\"\n FORM: (29608..29619)\n OPEN_PAREN: (29608..29609) \"(\"\n FORM: (29609..29612)\n OPEN_PAREN: (29609..29610) \"(\"\n SYMBOL: (29610..29611)\n IDENTIFIER: (29610..29611) \"a\"\n CLOSE_PAREN: (29611..29612) \")\"\n ATMOSPHERE: (29612..29613) \" \"\n SYMBOL: (29613..29614)\n IDENTIFIER: (29613..29614) \"b\"\n ATMOSPHERE: (29614..29615) \" \"\n SYMBOL: (29615..29616)\n IDENTIFIER: (29615..29616) \"c\"\n ATMOSPHERE: (29616..29617) \" \"\n SYMBOL: (29617..29618)\n IDENTIFIER: (29617..29618) \"d\"\n CLOSE_PAREN: (29618..29619) \")\"\n ATMOSPHERE: (29619..29620) \" \"\n FORM: (29620..29640)\n OPEN_PAREN: (29620..29621) \"(\"\n SYMBOL: (29621..29625)\n IDENTIFIER: (29621..29625) \"cons\"\n ATMOSPHERE: (29625..29626) \" \"\n QUOTED_DATUM: (29626..29631)\n QUOTE: (29626..29627) \"'\"\n FORM: (29627..29630)\n OPEN_PAREN: (29627..29628) \"(\"\n SYMBOL: (29628..29629)\n IDENTIFIER: (29628..29629) \"a\"\n CLOSE_PAREN: (29629..29630) \")\"\n ATMOSPHERE: (29630..29631) \" \"\n QUOTED_DATUM: (29631..29639)\n QUOTE: (29631..29632) \"'\"\n FORM: (29632..29639)\n OPEN_PAREN: (29632..29633) \"(\"\n SYMBOL: (29633..29634)\n IDENTIFIER: (29633..29634) \"b\"\n ATMOSPHERE: (29634..29635) \" \"\n SYMBOL: (29635..29636)\n IDENTIFIER: (29635..29636) \"c\"\n ATMOSPHERE: (29636..29637) \" \"\n SYMBOL: (29637..29638)\n IDENTIFIER: (29637..29638) \"d\"\n CLOSE_PAREN: (29638..29639) \")\"\n CLOSE_PAREN: (29639..29640) \")\"\n CLOSE_PAREN: (29640..29641) \")\"\n ATMOSPHERE: (29641..29642) \"\n\"\n FORM: (29642..29677)\n OPEN_PAREN: (29642..29643) \"(\"\n SYMBOL: (29643..29647)\n IDENTIFIER: (29643..29647) \"test\"\n ATMOSPHERE: (29647..29648) \" \"\n QUOTED_DATUM: (29648..29659)\n QUOTE: (29648..29649) \"'\"\n FORM: (29649..29658)\n OPEN_PAREN: (29649..29650) \"(\"\n CONSTANT: (29650..29653)\n STRING: (29650..29653) \"\"a\"\"\n ATMOSPHERE: (29653..29654) \" \"\n SYMBOL: (29654..29655)\n IDENTIFIER: (29654..29655) \"b\"\n ATMOSPHERE: (29655..29656) \" \"\n SYMBOL: (29656..29657)\n IDENTIFIER: (29656..29657) \"c\"\n CLOSE_PAREN: (29657..29658) \")\"\n ATMOSPHERE: (29658..29659) \" \"\n FORM: (29659..29676)\n OPEN_PAREN: (29659..29660) \"(\"\n SYMBOL: (29660..29664)\n IDENTIFIER: (29660..29664) \"cons\"\n ATMOSPHERE: (29664..29665) \" \"\n CONSTANT: (29665..29668)\n STRING: (29665..29668) \"\"a\"\"\n ATMOSPHERE: (29668..29669) \" \"\n QUOTED_DATUM: (29669..29675)\n QUOTE: (29669..29670) \"'\"\n FORM: (29670..29675)\n OPEN_PAREN: (29670..29671) \"(\"\n SYMBOL: (29671..29672)\n IDENTIFIER: (29671..29672) \"b\"\n ATMOSPHERE: (29672..29673) \" \"\n SYMBOL: (29673..29674)\n IDENTIFIER: (29673..29674) \"c\"\n CLOSE_PAREN: (29674..29675) \")\"\n CLOSE_PAREN: (29675..29676) \")\"\n CLOSE_PAREN: (29676..29677) \")\"\n ATMOSPHERE: (29677..29678) \"\n\"\n ATMOSPHERE: (29678..29712) \";;; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (29712..29713) \"\n\"\n ATMOSPHERE: (29713..29743) \";; (test '(a . 3) (cons 'a 3))\"\n ATMOSPHERE: (29743..29744) \"\n\"\n ATMOSPHERE: (29744..29783) \";; (test '((a b) . c) (cons '(a b) 'c))\"\n ATMOSPHERE: (29783..29785) \"\n\n\"\n FORM: (29785..29809)\n OPEN_PAREN: (29785..29786) \"(\"\n SYMBOL: (29786..29790)\n IDENTIFIER: (29786..29790) \"test\"\n ATMOSPHERE: (29790..29791) \" \"\n QUOTED_DATUM: (29791..29794)\n QUOTE: (29791..29792) \"'\"\n SYMBOL: (29792..29793)\n IDENTIFIER: (29792..29793) \"a\"\n ATMOSPHERE: (29793..29794) \" \"\n FORM: (29794..29808)\n OPEN_PAREN: (29794..29795) \"(\"\n SYMBOL: (29795..29798)\n IDENTIFIER: (29795..29798) \"car\"\n ATMOSPHERE: (29798..29799) \" \"\n QUOTED_DATUM: (29799..29807)\n QUOTE: (29799..29800) \"'\"\n FORM: (29800..29807)\n OPEN_PAREN: (29800..29801) \"(\"\n SYMBOL: (29801..29802)\n IDENTIFIER: (29801..29802) \"a\"\n ATMOSPHERE: (29802..29803) \" \"\n SYMBOL: (29803..29804)\n IDENTIFIER: (29803..29804) \"b\"\n ATMOSPHERE: (29804..29805) \" \"\n SYMBOL: (29805..29806)\n IDENTIFIER: (29805..29806) \"c\"\n CLOSE_PAREN: (29806..29807) \")\"\n CLOSE_PAREN: (29807..29808) \")\"\n CLOSE_PAREN: (29808..29809) \")\"\n ATMOSPHERE: (29809..29810) \"\n\"\n FORM: (29810..29840)\n OPEN_PAREN: (29810..29811) \"(\"\n SYMBOL: (29811..29815)\n IDENTIFIER: (29811..29815) \"test\"\n ATMOSPHERE: (29815..29816) \" \"\n QUOTED_DATUM: (29816..29821)\n QUOTE: (29816..29817) \"'\"\n FORM: (29817..29820)\n OPEN_PAREN: (29817..29818) \"(\"\n SYMBOL: (29818..29819)\n IDENTIFIER: (29818..29819) \"a\"\n CLOSE_PAREN: (29819..29820) \")\"\n ATMOSPHERE: (29820..29821) \" \"\n FORM: (29821..29839)\n OPEN_PAREN: (29821..29822) \"(\"\n SYMBOL: (29822..29825)\n IDENTIFIER: (29822..29825) \"car\"\n ATMOSPHERE: (29825..29826) \" \"\n QUOTED_DATUM: (29826..29838)\n QUOTE: (29826..29827) \"'\"\n FORM: (29827..29838)\n OPEN_PAREN: (29827..29828) \"(\"\n FORM: (29828..29831)\n OPEN_PAREN: (29828..29829) \"(\"\n SYMBOL: (29829..29830)\n IDENTIFIER: (29829..29830) \"a\"\n CLOSE_PAREN: (29830..29831) \")\"\n ATMOSPHERE: (29831..29832) \" \"\n SYMBOL: (29832..29833)\n IDENTIFIER: (29832..29833) \"b\"\n ATMOSPHERE: (29833..29834) \" \"\n SYMBOL: (29834..29835)\n IDENTIFIER: (29834..29835) \"c\"\n ATMOSPHERE: (29835..29836) \" \"\n SYMBOL: (29836..29837)\n IDENTIFIER: (29836..29837) \"d\"\n CLOSE_PAREN: (29837..29838) \")\"\n CLOSE_PAREN: (29838..29839) \")\"\n CLOSE_PAREN: (29839..29840) \")\"\n ATMOSPHERE: (29840..29841) \"\n\"\n FORM: (29841..29864)\n OPEN_PAREN: (29841..29842) \"(\"\n SYMBOL: (29842..29846)\n IDENTIFIER: (29842..29846) \"test\"\n ATMOSPHERE: (29846..29847) \" \"\n CONSTANT: (29847..29848)\n NUMBER: (29847..29848) \"1\"\n ATMOSPHERE: (29848..29849) \" \"\n FORM: (29849..29863)\n OPEN_PAREN: (29849..29850) \"(\"\n SYMBOL: (29850..29853)\n IDENTIFIER: (29850..29853) \"car\"\n ATMOSPHERE: (29853..29854) \" \"\n QUOTED_DATUM: (29854..29862)\n QUOTE: (29854..29855) \"'\"\n FORM: (29855..29862)\n OPEN_PAREN: (29855..29856) \"(\"\n CONSTANT: (29856..29857)\n NUMBER: (29856..29857) \"1\"\n ATMOSPHERE: (29857..29858) \" \"\n DOTTED_TAIL: (29858..29861)\n DOT: (29858..29859) \".\"\n ATMOSPHERE: (29859..29860) \" \"\n CONSTANT: (29860..29861)\n NUMBER: (29860..29861) \"2\"\n CLOSE_PAREN: (29861..29862) \")\"\n CLOSE_PAREN: (29862..29863) \")\"\n CLOSE_PAREN: (29863..29864) \")\"\n ATMOSPHERE: (29864..29866) \"\n\n\"\n FORM: (29866..29900)\n OPEN_PAREN: (29866..29867) \"(\"\n SYMBOL: (29867..29871)\n IDENTIFIER: (29867..29871) \"test\"\n ATMOSPHERE: (29871..29872) \" \"\n QUOTED_DATUM: (29872..29881)\n QUOTE: (29872..29873) \"'\"\n FORM: (29873..29880)\n OPEN_PAREN: (29873..29874) \"(\"\n SYMBOL: (29874..29875)\n IDENTIFIER: (29874..29875) \"b\"\n ATMOSPHERE: (29875..29876) \" \"\n SYMBOL: (29876..29877)\n IDENTIFIER: (29876..29877) \"c\"\n ATMOSPHERE: (29877..29878) \" \"\n SYMBOL: (29878..29879)\n IDENTIFIER: (29878..29879) \"d\"\n CLOSE_PAREN: (29879..29880) \")\"\n ATMOSPHERE: (29880..29881) \" \"\n FORM: (29881..29899)\n OPEN_PAREN: (29881..29882) \"(\"\n SYMBOL: (29882..29885)\n IDENTIFIER: (29882..29885) \"cdr\"\n ATMOSPHERE: (29885..29886) \" \"\n QUOTED_DATUM: (29886..29898)\n QUOTE: (29886..29887) \"'\"\n FORM: (29887..29898)\n OPEN_PAREN: (29887..29888) \"(\"\n FORM: (29888..29891)\n OPEN_PAREN: (29888..29889) \"(\"\n SYMBOL: (29889..29890)\n IDENTIFIER: (29889..29890) \"a\"\n CLOSE_PAREN: (29890..29891) \")\"\n ATMOSPHERE: (29891..29892) \" \"\n SYMBOL: (29892..29893)\n IDENTIFIER: (29892..29893) \"b\"\n ATMOSPHERE: (29893..29894) \" \"\n SYMBOL: (29894..29895)\n IDENTIFIER: (29894..29895) \"c\"\n ATMOSPHERE: (29895..29896) \" \"\n SYMBOL: (29896..29897)\n IDENTIFIER: (29896..29897) \"d\"\n CLOSE_PAREN: (29897..29898) \")\"\n CLOSE_PAREN: (29898..29899) \")\"\n CLOSE_PAREN: (29899..29900) \")\"\n ATMOSPHERE: (29900..29901) \"\n\"\n ATMOSPHERE: (29901..29961) \";; (test 2 (cdr '(1 . 2))) ; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (29961..29962) \"\n\"\n FORM: (29962..29991)\n OPEN_PAREN: (29962..29963) \"(\"\n SYMBOL: (29963..29969)\n IDENTIFIER: (29963..29969) \"define\"\n ATMOSPHERE: (29969..29970) \" \"\n FORM: (29970..29973)\n OPEN_PAREN: (29970..29971) \"(\"\n SYMBOL: (29971..29972)\n IDENTIFIER: (29971..29972) \"g\"\n CLOSE_PAREN: (29972..29973) \")\"\n ATMOSPHERE: (29973..29974) \" \"\n QUOTED_DATUM: (29974..29990)\n QUOTE: (29974..29975) \"'\"\n FORM: (29975..29990)\n OPEN_PAREN: (29975..29976) \"(\"\n SYMBOL: (29976..29989)\n IDENTIFIER: (29976..29989) \"constant-list\"\n CLOSE_PAREN: (29989..29990) \")\"\n CLOSE_PAREN: (29990..29991) \")\"\n ATMOSPHERE: (29991..29993) \"\n\n\"\n FORM: (29993..30019)\n OPEN_PAREN: (29993..29994) \"(\"\n SYMBOL: (29994..29998)\n IDENTIFIER: (29994..29998) \"test\"\n ATMOSPHERE: (29998..29999) \" \"\n CONSTANT: (29999..30001)\n BOOLEAN: (29999..30001) \"#t\"\n ATMOSPHERE: (30001..30002) \" \"\n FORM: (30002..30018)\n OPEN_PAREN: (30002..30003) \"(\"\n SYMBOL: (30003..30008)\n IDENTIFIER: (30003..30008) \"list?\"\n ATMOSPHERE: (30008..30009) \" \"\n QUOTED_DATUM: (30009..30017)\n QUOTE: (30009..30010) \"'\"\n FORM: (30010..30017)\n OPEN_PAREN: (30010..30011) \"(\"\n SYMBOL: (30011..30012)\n IDENTIFIER: (30011..30012) \"a\"\n ATMOSPHERE: (30012..30013) \" \"\n SYMBOL: (30013..30014)\n IDENTIFIER: (30013..30014) \"b\"\n ATMOSPHERE: (30014..30015) \" \"\n SYMBOL: (30015..30016)\n IDENTIFIER: (30015..30016) \"c\"\n CLOSE_PAREN: (30016..30017) \")\"\n CLOSE_PAREN: (30017..30018) \")\"\n CLOSE_PAREN: (30018..30019) \")\"\n ATMOSPHERE: (30019..30020) \"\n\"\n FORM: (30020..30041)\n OPEN_PAREN: (30020..30021) \"(\"\n SYMBOL: (30021..30025)\n IDENTIFIER: (30021..30025) \"test\"\n ATMOSPHERE: (30025..30026) \" \"\n CONSTANT: (30026..30028)\n BOOLEAN: (30026..30028) \"#t\"\n ATMOSPHERE: (30028..30029) \" \"\n FORM: (30029..30040)\n OPEN_PAREN: (30029..30030) \"(\"\n SYMBOL: (30030..30035)\n IDENTIFIER: (30030..30035) \"list?\"\n ATMOSPHERE: (30035..30036) \" \"\n QUOTED_DATUM: (30036..30039)\n QUOTE: (30036..30037) \"'\"\n FORM: (30037..30039)\n OPEN_PAREN: (30037..30038) \"(\"\n CLOSE_PAREN: (30038..30039) \")\"\n CLOSE_PAREN: (30039..30040) \")\"\n CLOSE_PAREN: (30040..30041) \")\"\n ATMOSPHERE: (30041..30042) \"\n\"\n ATMOSPHERE: (30042..30105) \";; (test #f (list? '(a . b))) ; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (30105..30106) \"\n\"\n ATMOSPHERE: (30106..30192) \"; FIXME: recurse in `list?` ; (test #f (let ((x (list 'a))) (set-cdr! x x) (list? x)))\"\n ATMOSPHERE: (30192..30194) \"\n\n\"\n FORM: (30194..30223)\n OPEN_PAREN: (30194..30195) \"(\"\n SYMBOL: (30195..30199)\n IDENTIFIER: (30195..30199) \"test\"\n ATMOSPHERE: (30199..30200) \" \"\n QUOTED_DATUM: (30200..30207)\n QUOTE: (30200..30201) \"'\"\n FORM: (30201..30206)\n OPEN_PAREN: (30201..30202) \"(\"\n CONSTANT: (30202..30203)\n NUMBER: (30202..30203) \"3\"\n ATMOSPHERE: (30203..30204) \" \"\n CONSTANT: (30204..30205)\n NUMBER: (30204..30205) \"3\"\n CLOSE_PAREN: (30205..30206) \")\"\n ATMOSPHERE: (30206..30207) \" \"\n FORM: (30207..30222)\n OPEN_PAREN: (30207..30208) \"(\"\n SYMBOL: (30208..30217)\n IDENTIFIER: (30208..30217) \"make-list\"\n ATMOSPHERE: (30217..30218) \" \"\n CONSTANT: (30218..30219)\n NUMBER: (30218..30219) \"2\"\n ATMOSPHERE: (30219..30220) \" \"\n CONSTANT: (30220..30221)\n NUMBER: (30220..30221) \"3\"\n CLOSE_PAREN: (30221..30222) \")\"\n CLOSE_PAREN: (30222..30223) \")\"\n ATMOSPHERE: (30223..30225) \"\n\n\"\n FORM: (30225..30261)\n OPEN_PAREN: (30225..30226) \"(\"\n SYMBOL: (30226..30230)\n IDENTIFIER: (30226..30230) \"test\"\n ATMOSPHERE: (30230..30231) \" \"\n QUOTED_DATUM: (30231..30240)\n QUOTE: (30231..30232) \"'\"\n FORM: (30232..30239)\n OPEN_PAREN: (30232..30233) \"(\"\n SYMBOL: (30233..30234)\n IDENTIFIER: (30233..30234) \"a\"\n ATMOSPHERE: (30234..30235) \" \"\n CONSTANT: (30235..30236)\n NUMBER: (30235..30236) \"7\"\n ATMOSPHERE: (30236..30237) \" \"\n SYMBOL: (30237..30238)\n IDENTIFIER: (30237..30238) \"c\"\n CLOSE_PAREN: (30238..30239) \")\"\n ATMOSPHERE: (30239..30240) \" \"\n FORM: (30240..30260)\n OPEN_PAREN: (30240..30241) \"(\"\n SYMBOL: (30241..30245)\n IDENTIFIER: (30241..30245) \"list\"\n ATMOSPHERE: (30245..30246) \" \"\n QUOTED_DATUM: (30246..30249)\n QUOTE: (30246..30247) \"'\"\n SYMBOL: (30247..30248)\n IDENTIFIER: (30247..30248) \"a\"\n ATMOSPHERE: (30248..30249) \" \"\n FORM: (30249..30256)\n OPEN_PAREN: (30249..30250) \"(\"\n SYMBOL: (30250..30251)\n IDENTIFIER: (30250..30251) \"+\"\n ATMOSPHERE: (30251..30252) \" \"\n CONSTANT: (30252..30253)\n NUMBER: (30252..30253) \"3\"\n ATMOSPHERE: (30253..30254) \" \"\n CONSTANT: (30254..30255)\n NUMBER: (30254..30255) \"4\"\n CLOSE_PAREN: (30255..30256) \")\"\n ATMOSPHERE: (30256..30257) \" \"\n QUOTED_DATUM: (30257..30259)\n QUOTE: (30257..30258) \"'\"\n SYMBOL: (30258..30259)\n IDENTIFIER: (30258..30259) \"c\"\n CLOSE_PAREN: (30259..30260) \")\"\n CLOSE_PAREN: (30260..30261) \")\"\n ATMOSPHERE: (30261..30262) \"\n\"\n FORM: (30262..30279)\n OPEN_PAREN: (30262..30263) \"(\"\n SYMBOL: (30263..30267)\n IDENTIFIER: (30263..30267) \"test\"\n ATMOSPHERE: (30267..30268) \" \"\n QUOTED_DATUM: (30268..30272)\n QUOTE: (30268..30269) \"'\"\n FORM: (30269..30271)\n OPEN_PAREN: (30269..30270) \"(\"\n CLOSE_PAREN: (30270..30271) \")\"\n ATMOSPHERE: (30271..30272) \" \"\n FORM: (30272..30278)\n OPEN_PAREN: (30272..30273) \"(\"\n SYMBOL: (30273..30277)\n IDENTIFIER: (30273..30277) \"list\"\n CLOSE_PAREN: (30277..30278) \")\"\n CLOSE_PAREN: (30278..30279) \")\"\n ATMOSPHERE: (30279..30281) \"\n\n\"\n FORM: (30281..30307)\n OPEN_PAREN: (30281..30282) \"(\"\n SYMBOL: (30282..30286)\n IDENTIFIER: (30282..30286) \"test\"\n ATMOSPHERE: (30286..30287) \" \"\n CONSTANT: (30287..30288)\n NUMBER: (30287..30288) \"3\"\n ATMOSPHERE: (30288..30289) \" \"\n FORM: (30289..30306)\n OPEN_PAREN: (30289..30290) \"(\"\n SYMBOL: (30290..30296)\n IDENTIFIER: (30290..30296) \"length\"\n ATMOSPHERE: (30296..30297) \" \"\n QUOTED_DATUM: (30297..30305)\n QUOTE: (30297..30298) \"'\"\n FORM: (30298..30305)\n OPEN_PAREN: (30298..30299) \"(\"\n SYMBOL: (30299..30300)\n IDENTIFIER: (30299..30300) \"a\"\n ATMOSPHERE: (30300..30301) \" \"\n SYMBOL: (30301..30302)\n IDENTIFIER: (30301..30302) \"b\"\n ATMOSPHERE: (30302..30303) \" \"\n SYMBOL: (30303..30304)\n IDENTIFIER: (30303..30304) \"c\"\n CLOSE_PAREN: (30304..30305) \")\"\n CLOSE_PAREN: (30305..30306) \")\"\n CLOSE_PAREN: (30306..30307) \")\"\n ATMOSPHERE: (30307..30308) \"\n\"\n FORM: (30308..30342)\n OPEN_PAREN: (30308..30309) \"(\"\n SYMBOL: (30309..30313)\n IDENTIFIER: (30309..30313) \"test\"\n ATMOSPHERE: (30313..30314) \" \"\n CONSTANT: (30314..30315)\n NUMBER: (30314..30315) \"3\"\n ATMOSPHERE: (30315..30316) \" \"\n FORM: (30316..30341)\n OPEN_PAREN: (30316..30317) \"(\"\n SYMBOL: (30317..30323)\n IDENTIFIER: (30317..30323) \"length\"\n ATMOSPHERE: (30323..30324) \" \"\n QUOTED_DATUM: (30324..30340)\n QUOTE: (30324..30325) \"'\"\n FORM: (30325..30340)\n OPEN_PAREN: (30325..30326) \"(\"\n SYMBOL: (30326..30327)\n IDENTIFIER: (30326..30327) \"a\"\n ATMOSPHERE: (30327..30328) \" \"\n FORM: (30328..30331)\n OPEN_PAREN: (30328..30329) \"(\"\n SYMBOL: (30329..30330)\n IDENTIFIER: (30329..30330) \"b\"\n CLOSE_PAREN: (30330..30331) \")\"\n ATMOSPHERE: (30331..30332) \" \"\n FORM: (30332..30339)\n OPEN_PAREN: (30332..30333) \"(\"\n SYMBOL: (30333..30334)\n IDENTIFIER: (30333..30334) \"c\"\n ATMOSPHERE: (30334..30335) \" \"\n SYMBOL: (30335..30336)\n IDENTIFIER: (30335..30336) \"d\"\n ATMOSPHERE: (30336..30337) \" \"\n SYMBOL: (30337..30338)\n IDENTIFIER: (30337..30338) \"e\"\n CLOSE_PAREN: (30338..30339) \")\"\n CLOSE_PAREN: (30339..30340) \")\"\n CLOSE_PAREN: (30340..30341) \")\"\n CLOSE_PAREN: (30341..30342) \")\"\n ATMOSPHERE: (30342..30343) \"\n\"\n FORM: (30343..30364)\n OPEN_PAREN: (30343..30344) \"(\"\n SYMBOL: (30344..30348)\n IDENTIFIER: (30344..30348) \"test\"\n ATMOSPHERE: (30348..30349) \" \"\n CONSTANT: (30349..30350)\n NUMBER: (30349..30350) \"0\"\n ATMOSPHERE: (30350..30351) \" \"\n FORM: (30351..30363)\n OPEN_PAREN: (30351..30352) \"(\"\n SYMBOL: (30352..30358)\n IDENTIFIER: (30352..30358) \"length\"\n ATMOSPHERE: (30358..30359) \" \"\n QUOTED_DATUM: (30359..30362)\n QUOTE: (30359..30360) \"'\"\n FORM: (30360..30362)\n OPEN_PAREN: (30360..30361) \"(\"\n CLOSE_PAREN: (30361..30362) \")\"\n CLOSE_PAREN: (30362..30363) \")\"\n CLOSE_PAREN: (30363..30364) \")\"\n ATMOSPHERE: (30364..30366) \"\n\n\"\n FORM: (30366..30398)\n OPEN_PAREN: (30366..30367) \"(\"\n SYMBOL: (30367..30371)\n IDENTIFIER: (30367..30371) \"test\"\n ATMOSPHERE: (30371..30372) \" \"\n QUOTED_DATUM: (30372..30379)\n QUOTE: (30372..30373) \"'\"\n FORM: (30373..30378)\n OPEN_PAREN: (30373..30374) \"(\"\n SYMBOL: (30374..30375)\n IDENTIFIER: (30374..30375) \"x\"\n ATMOSPHERE: (30375..30376) \" \"\n SYMBOL: (30376..30377)\n IDENTIFIER: (30376..30377) \"y\"\n CLOSE_PAREN: (30377..30378) \")\"\n ATMOSPHERE: (30378..30379) \" \"\n FORM: (30379..30397)\n OPEN_PAREN: (30379..30380) \"(\"\n SYMBOL: (30380..30386)\n IDENTIFIER: (30380..30386) \"append\"\n ATMOSPHERE: (30386..30387) \" \"\n QUOTED_DATUM: (30387..30392)\n QUOTE: (30387..30388) \"'\"\n FORM: (30388..30391)\n OPEN_PAREN: (30388..30389) \"(\"\n SYMBOL: (30389..30390)\n IDENTIFIER: (30389..30390) \"x\"\n CLOSE_PAREN: (30390..30391) \")\"\n ATMOSPHERE: (30391..30392) \" \"\n QUOTED_DATUM: (30392..30396)\n QUOTE: (30392..30393) \"'\"\n FORM: (30393..30396)\n OPEN_PAREN: (30393..30394) \"(\"\n SYMBOL: (30394..30395)\n IDENTIFIER: (30394..30395) \"y\"\n CLOSE_PAREN: (30395..30396) \")\"\n CLOSE_PAREN: (30396..30397) \")\"\n CLOSE_PAREN: (30397..30398) \")\"\n ATMOSPHERE: (30398..30399) \"\n\"\n FORM: (30399..30439)\n OPEN_PAREN: (30399..30400) \"(\"\n SYMBOL: (30400..30404)\n IDENTIFIER: (30400..30404) \"test\"\n ATMOSPHERE: (30404..30405) \" \"\n QUOTED_DATUM: (30405..30416)\n QUOTE: (30405..30406) \"'\"\n FORM: (30406..30415)\n OPEN_PAREN: (30406..30407) \"(\"\n SYMBOL: (30407..30408)\n IDENTIFIER: (30407..30408) \"a\"\n ATMOSPHERE: (30408..30409) \" \"\n SYMBOL: (30409..30410)\n IDENTIFIER: (30409..30410) \"b\"\n ATMOSPHERE: (30410..30411) \" \"\n SYMBOL: (30411..30412)\n IDENTIFIER: (30411..30412) \"c\"\n ATMOSPHERE: (30412..30413) \" \"\n SYMBOL: (30413..30414)\n IDENTIFIER: (30413..30414) \"d\"\n CLOSE_PAREN: (30414..30415) \")\"\n ATMOSPHERE: (30415..30416) \" \"\n FORM: (30416..30438)\n OPEN_PAREN: (30416..30417) \"(\"\n SYMBOL: (30417..30423)\n IDENTIFIER: (30417..30423) \"append\"\n ATMOSPHERE: (30423..30424) \" \"\n QUOTED_DATUM: (30424..30429)\n QUOTE: (30424..30425) \"'\"\n FORM: (30425..30428)\n OPEN_PAREN: (30425..30426) \"(\"\n SYMBOL: (30426..30427)\n IDENTIFIER: (30426..30427) \"a\"\n CLOSE_PAREN: (30427..30428) \")\"\n ATMOSPHERE: (30428..30429) \" \"\n QUOTED_DATUM: (30429..30437)\n QUOTE: (30429..30430) \"'\"\n FORM: (30430..30437)\n OPEN_PAREN: (30430..30431) \"(\"\n SYMBOL: (30431..30432)\n IDENTIFIER: (30431..30432) \"b\"\n ATMOSPHERE: (30432..30433) \" \"\n SYMBOL: (30433..30434)\n IDENTIFIER: (30433..30434) \"c\"\n ATMOSPHERE: (30434..30435) \" \"\n SYMBOL: (30435..30436)\n IDENTIFIER: (30435..30436) \"d\"\n CLOSE_PAREN: (30436..30437) \")\"\n CLOSE_PAREN: (30437..30438) \")\"\n CLOSE_PAREN: (30438..30439) \")\"\n ATMOSPHERE: (30439..30440) \"\n\"\n FORM: (30440..30484)\n OPEN_PAREN: (30440..30441) \"(\"\n SYMBOL: (30441..30445)\n IDENTIFIER: (30441..30445) \"test\"\n ATMOSPHERE: (30445..30446) \" \"\n QUOTED_DATUM: (30446..30459)\n QUOTE: (30446..30447) \"'\"\n FORM: (30447..30458)\n OPEN_PAREN: (30447..30448) \"(\"\n SYMBOL: (30448..30449)\n IDENTIFIER: (30448..30449) \"a\"\n ATMOSPHERE: (30449..30450) \" \"\n FORM: (30450..30453)\n OPEN_PAREN: (30450..30451) \"(\"\n SYMBOL: (30451..30452)\n IDENTIFIER: (30451..30452) \"b\"\n CLOSE_PAREN: (30452..30453) \")\"\n ATMOSPHERE: (30453..30454) \" \"\n FORM: (30454..30457)\n OPEN_PAREN: (30454..30455) \"(\"\n SYMBOL: (30455..30456)\n IDENTIFIER: (30455..30456) \"c\"\n CLOSE_PAREN: (30456..30457) \")\"\n CLOSE_PAREN: (30457..30458) \")\"\n ATMOSPHERE: (30458..30459) \" \"\n FORM: (30459..30483)\n OPEN_PAREN: (30459..30460) \"(\"\n SYMBOL: (30460..30466)\n IDENTIFIER: (30460..30466) \"append\"\n ATMOSPHERE: (30466..30467) \" \"\n QUOTED_DATUM: (30467..30476)\n QUOTE: (30467..30468) \"'\"\n FORM: (30468..30475)\n OPEN_PAREN: (30468..30469) \"(\"\n SYMBOL: (30469..30470)\n IDENTIFIER: (30469..30470) \"a\"\n ATMOSPHERE: (30470..30471) \" \"\n FORM: (30471..30474)\n OPEN_PAREN: (30471..30472) \"(\"\n SYMBOL: (30472..30473)\n IDENTIFIER: (30472..30473) \"b\"\n CLOSE_PAREN: (30473..30474) \")\"\n CLOSE_PAREN: (30474..30475) \")\"\n ATMOSPHERE: (30475..30476) \" \"\n QUOTED_DATUM: (30476..30482)\n QUOTE: (30476..30477) \"'\"\n FORM: (30477..30482)\n OPEN_PAREN: (30477..30478) \"(\"\n FORM: (30478..30481)\n OPEN_PAREN: (30478..30479) \"(\"\n SYMBOL: (30479..30480)\n IDENTIFIER: (30479..30480) \"c\"\n CLOSE_PAREN: (30480..30481) \")\"\n CLOSE_PAREN: (30481..30482) \")\"\n CLOSE_PAREN: (30482..30483) \")\"\n CLOSE_PAREN: (30483..30484) \")\"\n ATMOSPHERE: (30484..30486) \"\n\n\"\n FORM: (30486..30530)\n OPEN_PAREN: (30486..30487) \"(\"\n SYMBOL: (30487..30491)\n IDENTIFIER: (30487..30491) \"test\"\n ATMOSPHERE: (30491..30492) \" \"\n QUOTED_DATUM: (30492..30505)\n QUOTE: (30492..30493) \"'\"\n FORM: (30493..30504)\n OPEN_PAREN: (30493..30494) \"(\"\n SYMBOL: (30494..30495)\n IDENTIFIER: (30494..30495) \"a\"\n ATMOSPHERE: (30495..30496) \" \"\n SYMBOL: (30496..30497)\n IDENTIFIER: (30496..30497) \"b\"\n ATMOSPHERE: (30497..30498) \" \"\n SYMBOL: (30498..30499)\n IDENTIFIER: (30498..30499) \"c\"\n ATMOSPHERE: (30499..30500) \" \"\n DOTTED_TAIL: (30500..30503)\n DOT: (30500..30501) \".\"\n ATMOSPHERE: (30501..30502) \" \"\n SYMBOL: (30502..30503)\n IDENTIFIER: (30502..30503) \"d\"\n CLOSE_PAREN: (30503..30504) \")\"\n ATMOSPHERE: (30504..30505) \" \"\n FORM: (30505..30529)\n OPEN_PAREN: (30505..30506) \"(\"\n SYMBOL: (30506..30512)\n IDENTIFIER: (30506..30512) \"append\"\n ATMOSPHERE: (30512..30513) \" \"\n QUOTED_DATUM: (30513..30520)\n QUOTE: (30513..30514) \"'\"\n FORM: (30514..30519)\n OPEN_PAREN: (30514..30515) \"(\"\n SYMBOL: (30515..30516)\n IDENTIFIER: (30515..30516) \"a\"\n ATMOSPHERE: (30516..30517) \" \"\n SYMBOL: (30517..30518)\n IDENTIFIER: (30517..30518) \"b\"\n CLOSE_PAREN: (30518..30519) \")\"\n ATMOSPHERE: (30519..30520) \" \"\n QUOTED_DATUM: (30520..30528)\n QUOTE: (30520..30521) \"'\"\n FORM: (30521..30528)\n OPEN_PAREN: (30521..30522) \"(\"\n SYMBOL: (30522..30523)\n IDENTIFIER: (30522..30523) \"c\"\n ATMOSPHERE: (30523..30524) \" \"\n DOTTED_TAIL: (30524..30527)\n DOT: (30524..30525) \".\"\n ATMOSPHERE: (30525..30526) \" \"\n SYMBOL: (30526..30527)\n IDENTIFIER: (30526..30527) \"d\"\n CLOSE_PAREN: (30527..30528) \")\"\n CLOSE_PAREN: (30528..30529) \")\"\n CLOSE_PAREN: (30529..30530) \")\"\n ATMOSPHERE: (30530..30531) \"\n\"\n FORM: (30531..30556)\n OPEN_PAREN: (30531..30532) \"(\"\n SYMBOL: (30532..30536)\n IDENTIFIER: (30532..30536) \"test\"\n ATMOSPHERE: (30536..30537) \" \"\n QUOTED_DATUM: (30537..30540)\n QUOTE: (30537..30538) \"'\"\n SYMBOL: (30538..30539)\n IDENTIFIER: (30538..30539) \"a\"\n ATMOSPHERE: (30539..30540) \" \"\n FORM: (30540..30555)\n OPEN_PAREN: (30540..30541) \"(\"\n SYMBOL: (30541..30547)\n IDENTIFIER: (30541..30547) \"append\"\n ATMOSPHERE: (30547..30548) \" \"\n QUOTED_DATUM: (30548..30552)\n QUOTE: (30548..30549) \"'\"\n FORM: (30549..30551)\n OPEN_PAREN: (30549..30550) \"(\"\n CLOSE_PAREN: (30550..30551) \")\"\n ATMOSPHERE: (30551..30552) \" \"\n QUOTED_DATUM: (30552..30554)\n QUOTE: (30552..30553) \"'\"\n SYMBOL: (30553..30554)\n IDENTIFIER: (30553..30554) \"a\"\n CLOSE_PAREN: (30554..30555) \")\"\n CLOSE_PAREN: (30555..30556) \")\"\n ATMOSPHERE: (30556..30558) \"\n\n\"\n FORM: (30558..30592)\n OPEN_PAREN: (30558..30559) \"(\"\n SYMBOL: (30559..30563)\n IDENTIFIER: (30559..30563) \"test\"\n ATMOSPHERE: (30563..30564) \" \"\n QUOTED_DATUM: (30564..30573)\n QUOTE: (30564..30565) \"'\"\n FORM: (30565..30572)\n OPEN_PAREN: (30565..30566) \"(\"\n SYMBOL: (30566..30567)\n IDENTIFIER: (30566..30567) \"c\"\n ATMOSPHERE: (30567..30568) \" \"\n SYMBOL: (30568..30569)\n IDENTIFIER: (30568..30569) \"b\"\n ATMOSPHERE: (30569..30570) \" \"\n SYMBOL: (30570..30571)\n IDENTIFIER: (30570..30571) \"a\"\n CLOSE_PAREN: (30571..30572) \")\"\n ATMOSPHERE: (30572..30573) \" \"\n FORM: (30573..30591)\n OPEN_PAREN: (30573..30574) \"(\"\n SYMBOL: (30574..30581)\n IDENTIFIER: (30574..30581) \"reverse\"\n ATMOSPHERE: (30581..30582) \" \"\n QUOTED_DATUM: (30582..30590)\n QUOTE: (30582..30583) \"'\"\n FORM: (30583..30590)\n OPEN_PAREN: (30583..30584) \"(\"\n SYMBOL: (30584..30585)\n IDENTIFIER: (30584..30585) \"a\"\n ATMOSPHERE: (30585..30586) \" \"\n SYMBOL: (30586..30587)\n IDENTIFIER: (30586..30587) \"b\"\n ATMOSPHERE: (30587..30588) \" \"\n SYMBOL: (30588..30589)\n IDENTIFIER: (30588..30589) \"c\"\n CLOSE_PAREN: (30589..30590) \")\"\n CLOSE_PAREN: (30590..30591) \")\"\n CLOSE_PAREN: (30591..30592) \")\"\n ATMOSPHERE: (30592..30593) \"\n\"\n FORM: (30593..30651)\n OPEN_PAREN: (30593..30594) \"(\"\n SYMBOL: (30594..30598)\n IDENTIFIER: (30594..30598) \"test\"\n ATMOSPHERE: (30598..30599) \" \"\n QUOTED_DATUM: (30599..30620)\n QUOTE: (30599..30600) \"'\"\n FORM: (30600..30619)\n OPEN_PAREN: (30600..30601) \"(\"\n FORM: (30601..30608)\n OPEN_PAREN: (30601..30602) \"(\"\n SYMBOL: (30602..30603)\n IDENTIFIER: (30602..30603) \"e\"\n ATMOSPHERE: (30603..30604) \" \"\n FORM: (30604..30607)\n OPEN_PAREN: (30604..30605) \"(\"\n SYMBOL: (30605..30606)\n IDENTIFIER: (30605..30606) \"f\"\n CLOSE_PAREN: (30606..30607) \")\"\n CLOSE_PAREN: (30607..30608) \")\"\n ATMOSPHERE: (30608..30609) \" \"\n SYMBOL: (30609..30610)\n IDENTIFIER: (30609..30610) \"d\"\n ATMOSPHERE: (30610..30611) \" \"\n FORM: (30611..30616)\n OPEN_PAREN: (30611..30612) \"(\"\n SYMBOL: (30612..30613)\n IDENTIFIER: (30612..30613) \"b\"\n ATMOSPHERE: (30613..30614) \" \"\n SYMBOL: (30614..30615)\n IDENTIFIER: (30614..30615) \"c\"\n CLOSE_PAREN: (30615..30616) \")\"\n ATMOSPHERE: (30616..30617) \" \"\n SYMBOL: (30617..30618)\n IDENTIFIER: (30617..30618) \"a\"\n CLOSE_PAREN: (30618..30619) \")\"\n ATMOSPHERE: (30619..30620) \" \"\n FORM: (30620..30650)\n OPEN_PAREN: (30620..30621) \"(\"\n SYMBOL: (30621..30628)\n IDENTIFIER: (30621..30628) \"reverse\"\n ATMOSPHERE: (30628..30629) \" \"\n QUOTED_DATUM: (30629..30649)\n QUOTE: (30629..30630) \"'\"\n FORM: (30630..30649)\n OPEN_PAREN: (30630..30631) \"(\"\n SYMBOL: (30631..30632)\n IDENTIFIER: (30631..30632) \"a\"\n ATMOSPHERE: (30632..30633) \" \"\n FORM: (30633..30638)\n OPEN_PAREN: (30633..30634) \"(\"\n SYMBOL: (30634..30635)\n IDENTIFIER: (30634..30635) \"b\"\n ATMOSPHERE: (30635..30636) \" \"\n SYMBOL: (30636..30637)\n IDENTIFIER: (30636..30637) \"c\"\n CLOSE_PAREN: (30637..30638) \")\"\n ATMOSPHERE: (30638..30639) \" \"\n SYMBOL: (30639..30640)\n IDENTIFIER: (30639..30640) \"d\"\n ATMOSPHERE: (30640..30641) \" \"\n FORM: (30641..30648)\n OPEN_PAREN: (30641..30642) \"(\"\n SYMBOL: (30642..30643)\n IDENTIFIER: (30642..30643) \"e\"\n ATMOSPHERE: (30643..30644) \" \"\n FORM: (30644..30647)\n OPEN_PAREN: (30644..30645) \"(\"\n SYMBOL: (30645..30646)\n IDENTIFIER: (30645..30646) \"f\"\n CLOSE_PAREN: (30646..30647) \")\"\n CLOSE_PAREN: (30647..30648) \")\"\n CLOSE_PAREN: (30648..30649) \")\"\n CLOSE_PAREN: (30649..30650) \")\"\n CLOSE_PAREN: (30650..30651) \")\"\n ATMOSPHERE: (30651..30653) \"\n\n\"\n FORM: (30653..30693)\n OPEN_PAREN: (30653..30654) \"(\"\n SYMBOL: (30654..30658)\n IDENTIFIER: (30654..30658) \"test\"\n ATMOSPHERE: (30658..30659) \" \"\n QUOTED_DATUM: (30659..30666)\n QUOTE: (30659..30660) \"'\"\n FORM: (30660..30665)\n OPEN_PAREN: (30660..30661) \"(\"\n SYMBOL: (30661..30662)\n IDENTIFIER: (30661..30662) \"d\"\n ATMOSPHERE: (30662..30663) \" \"\n SYMBOL: (30663..30664)\n IDENTIFIER: (30663..30664) \"e\"\n CLOSE_PAREN: (30664..30665) \")\"\n ATMOSPHERE: (30665..30666) \" \"\n FORM: (30666..30692)\n OPEN_PAREN: (30666..30667) \"(\"\n SYMBOL: (30667..30676)\n IDENTIFIER: (30667..30676) \"list-tail\"\n ATMOSPHERE: (30676..30677) \" \"\n QUOTED_DATUM: (30677..30690)\n QUOTE: (30677..30678) \"'\"\n FORM: (30678..30689)\n OPEN_PAREN: (30678..30679) \"(\"\n SYMBOL: (30679..30680)\n IDENTIFIER: (30679..30680) \"a\"\n ATMOSPHERE: (30680..30681) \" \"\n SYMBOL: (30681..30682)\n IDENTIFIER: (30681..30682) \"b\"\n ATMOSPHERE: (30682..30683) \" \"\n SYMBOL: (30683..30684)\n IDENTIFIER: (30683..30684) \"c\"\n ATMOSPHERE: (30684..30685) \" \"\n SYMBOL: (30685..30686)\n IDENTIFIER: (30685..30686) \"d\"\n ATMOSPHERE: (30686..30687) \" \"\n SYMBOL: (30687..30688)\n IDENTIFIER: (30687..30688) \"e\"\n CLOSE_PAREN: (30688..30689) \")\"\n ATMOSPHERE: (30689..30690) \" \"\n CONSTANT: (30690..30691)\n NUMBER: (30690..30691) \"3\"\n CLOSE_PAREN: (30691..30692) \")\"\n CLOSE_PAREN: (30692..30693) \")\"\n ATMOSPHERE: (30693..30695) \"\n\n\"\n FORM: (30695..30728)\n OPEN_PAREN: (30695..30696) \"(\"\n SYMBOL: (30696..30700)\n IDENTIFIER: (30696..30700) \"test\"\n ATMOSPHERE: (30700..30701) \" \"\n QUOTED_DATUM: (30701..30704)\n QUOTE: (30701..30702) \"'\"\n SYMBOL: (30702..30703)\n IDENTIFIER: (30702..30703) \"c\"\n ATMOSPHERE: (30703..30704) \" \"\n FORM: (30704..30727)\n OPEN_PAREN: (30704..30705) \"(\"\n SYMBOL: (30705..30713)\n IDENTIFIER: (30705..30713) \"list-ref\"\n ATMOSPHERE: (30713..30714) \" \"\n QUOTED_DATUM: (30714..30725)\n QUOTE: (30714..30715) \"'\"\n FORM: (30715..30724)\n OPEN_PAREN: (30715..30716) \"(\"\n SYMBOL: (30716..30717)\n IDENTIFIER: (30716..30717) \"a\"\n ATMOSPHERE: (30717..30718) \" \"\n SYMBOL: (30718..30719)\n IDENTIFIER: (30718..30719) \"b\"\n ATMOSPHERE: (30719..30720) \" \"\n SYMBOL: (30720..30721)\n IDENTIFIER: (30720..30721) \"c\"\n ATMOSPHERE: (30721..30722) \" \"\n SYMBOL: (30722..30723)\n IDENTIFIER: (30722..30723) \"d\"\n CLOSE_PAREN: (30723..30724) \")\"\n ATMOSPHERE: (30724..30725) \" \"\n CONSTANT: (30725..30726)\n NUMBER: (30725..30726) \"2\"\n CLOSE_PAREN: (30726..30727) \")\"\n CLOSE_PAREN: (30727..30728) \")\"\n ATMOSPHERE: (30728..30729) \"\n\"\n ATMOSPHERE: (30729..30761) \";; (test 'c (list-ref '(a b c d)\"\n ATMOSPHERE: (30761..30762) \"\n\"\n ATMOSPHERE: (30762..30831) \";; (exact (round 1.8)))) FIXME: support `round` and `exact`\"\n ATMOSPHERE: (30831..30833) \"\n\n\"\n FORM: (30833..30959)\n OPEN_PAREN: (30833..30834) \"(\"\n SYMBOL: (30834..30838)\n IDENTIFIER: (30834..30838) \"test\"\n ATMOSPHERE: (30838..30839) \" \"\n QUOTED_DATUM: (30839..30869)\n QUOTE: (30839..30840) \"'\"\n FORM: (30840..30864)\n OPEN_PAREN: (30840..30841) \"(\"\n CONSTANT: (30841..30842)\n NUMBER: (30841..30842) \"0\"\n ATMOSPHERE: (30842..30843) \" \"\n FORM: (30843..30856)\n OPEN_PAREN: (30843..30844) \"(\"\n CONSTANT: (30844..30849)\n STRING: (30844..30849) \"\"Sue\"\"\n ATMOSPHERE: (30849..30850) \" \"\n CONSTANT: (30850..30855)\n STRING: (30850..30855) \"\"Sue\"\"\n CLOSE_PAREN: (30855..30856) \")\"\n ATMOSPHERE: (30856..30857) \" \"\n CONSTANT: (30857..30863)\n STRING: (30857..30863) \"\"Anna\"\"\n CLOSE_PAREN: (30863..30864) \")\"\n ATMOSPHERE: (30864..30869) \"\n \"\n FORM: (30869..30958)\n OPEN_PAREN: (30869..30870) \"(\"\n SYMBOL: (30870..30873)\n IDENTIFIER: (30870..30873) \"let\"\n ATMOSPHERE: (30873..30874) \" \"\n FORM: (30874..30908)\n OPEN_PAREN: (30874..30875) \"(\"\n FORM: (30875..30907)\n OPEN_PAREN: (30875..30876) \"(\"\n SYMBOL: (30876..30879)\n IDENTIFIER: (30876..30879) \"lst\"\n ATMOSPHERE: (30879..30880) \" \"\n FORM: (30880..30906)\n OPEN_PAREN: (30880..30881) \"(\"\n SYMBOL: (30881..30885)\n IDENTIFIER: (30881..30885) \"list\"\n ATMOSPHERE: (30885..30886) \" \"\n CONSTANT: (30886..30887)\n NUMBER: (30886..30887) \"0\"\n ATMOSPHERE: (30887..30888) \" \"\n QUOTED_DATUM: (30888..30899)\n QUOTE: (30888..30889) \"'\"\n FORM: (30889..30898)\n OPEN_PAREN: (30889..30890) \"(\"\n CONSTANT: (30890..30891)\n NUMBER: (30890..30891) \"2\"\n ATMOSPHERE: (30891..30892) \" \"\n CONSTANT: (30892..30893)\n NUMBER: (30892..30893) \"2\"\n ATMOSPHERE: (30893..30894) \" \"\n CONSTANT: (30894..30895)\n NUMBER: (30894..30895) \"2\"\n ATMOSPHERE: (30895..30896) \" \"\n CONSTANT: (30896..30897)\n NUMBER: (30896..30897) \"2\"\n CLOSE_PAREN: (30897..30898) \")\"\n ATMOSPHERE: (30898..30899) \" \"\n CONSTANT: (30899..30905)\n STRING: (30899..30905) \"\"Anna\"\"\n CLOSE_PAREN: (30905..30906) \")\"\n CLOSE_PAREN: (30906..30907) \")\"\n CLOSE_PAREN: (30907..30908) \")\"\n ATMOSPHERE: (30908..30915) \"\n \"\n FORM: (30915..30947)\n OPEN_PAREN: (30915..30916) \"(\"\n SYMBOL: (30916..30925)\n IDENTIFIER: (30916..30925) \"list-set!\"\n ATMOSPHERE: (30925..30926) \" \"\n SYMBOL: (30926..30929)\n IDENTIFIER: (30926..30929) \"lst\"\n ATMOSPHERE: (30929..30930) \" \"\n CONSTANT: (30930..30931)\n NUMBER: (30930..30931) \"1\"\n ATMOSPHERE: (30931..30932) \" \"\n QUOTED_DATUM: (30932..30946)\n QUOTE: (30932..30933) \"'\"\n FORM: (30933..30946)\n OPEN_PAREN: (30933..30934) \"(\"\n CONSTANT: (30934..30939)\n STRING: (30934..30939) \"\"Sue\"\"\n ATMOSPHERE: (30939..30940) \" \"\n CONSTANT: (30940..30945)\n STRING: (30940..30945) \"\"Sue\"\"\n CLOSE_PAREN: (30945..30946) \")\"\n CLOSE_PAREN: (30946..30947) \")\"\n ATMOSPHERE: (30947..30954) \"\n \"\n SYMBOL: (30954..30957)\n IDENTIFIER: (30954..30957) \"lst\"\n CLOSE_PAREN: (30957..30958) \")\"\n CLOSE_PAREN: (30958..30959) \")\"\n ATMOSPHERE: (30959..30961) \"\n\n\"\n FORM: (30961..30995)\n OPEN_PAREN: (30961..30962) \"(\"\n SYMBOL: (30962..30966)\n IDENTIFIER: (30962..30966) \"test\"\n ATMOSPHERE: (30966..30967) \" \"\n QUOTED_DATUM: (30967..30976)\n QUOTE: (30967..30968) \"'\"\n FORM: (30968..30975)\n OPEN_PAREN: (30968..30969) \"(\"\n SYMBOL: (30969..30970)\n IDENTIFIER: (30969..30970) \"a\"\n ATMOSPHERE: (30970..30971) \" \"\n SYMBOL: (30971..30972)\n IDENTIFIER: (30971..30972) \"b\"\n ATMOSPHERE: (30972..30973) \" \"\n SYMBOL: (30973..30974)\n IDENTIFIER: (30973..30974) \"c\"\n CLOSE_PAREN: (30974..30975) \")\"\n ATMOSPHERE: (30975..30976) \" \"\n FORM: (30976..30994)\n OPEN_PAREN: (30976..30977) \"(\"\n SYMBOL: (30977..30981)\n IDENTIFIER: (30977..30981) \"memq\"\n ATMOSPHERE: (30981..30982) \" \"\n QUOTED_DATUM: (30982..30985)\n QUOTE: (30982..30983) \"'\"\n SYMBOL: (30983..30984)\n IDENTIFIER: (30983..30984) \"a\"\n ATMOSPHERE: (30984..30985) \" \"\n QUOTED_DATUM: (30985..30993)\n QUOTE: (30985..30986) \"'\"\n FORM: (30986..30993)\n OPEN_PAREN: (30986..30987) \"(\"\n SYMBOL: (30987..30988)\n IDENTIFIER: (30987..30988) \"a\"\n ATMOSPHERE: (30988..30989) \" \"\n SYMBOL: (30989..30990)\n IDENTIFIER: (30989..30990) \"b\"\n ATMOSPHERE: (30990..30991) \" \"\n SYMBOL: (30991..30992)\n IDENTIFIER: (30991..30992) \"c\"\n CLOSE_PAREN: (30992..30993) \")\"\n CLOSE_PAREN: (30993..30994) \")\"\n CLOSE_PAREN: (30994..30995) \")\"\n ATMOSPHERE: (30995..30996) \"\n\"\n FORM: (30996..31028)\n OPEN_PAREN: (30996..30997) \"(\"\n SYMBOL: (30997..31001)\n IDENTIFIER: (30997..31001) \"test\"\n ATMOSPHERE: (31001..31002) \" \"\n QUOTED_DATUM: (31002..31009)\n QUOTE: (31002..31003) \"'\"\n FORM: (31003..31008)\n OPEN_PAREN: (31003..31004) \"(\"\n SYMBOL: (31004..31005)\n IDENTIFIER: (31004..31005) \"b\"\n ATMOSPHERE: (31005..31006) \" \"\n SYMBOL: (31006..31007)\n IDENTIFIER: (31006..31007) \"c\"\n CLOSE_PAREN: (31007..31008) \")\"\n ATMOSPHERE: (31008..31009) \" \"\n FORM: (31009..31027)\n OPEN_PAREN: (31009..31010) \"(\"\n SYMBOL: (31010..31014)\n IDENTIFIER: (31010..31014) \"memq\"\n ATMOSPHERE: (31014..31015) \" \"\n QUOTED_DATUM: (31015..31018)\n QUOTE: (31015..31016) \"'\"\n SYMBOL: (31016..31017)\n IDENTIFIER: (31016..31017) \"b\"\n ATMOSPHERE: (31017..31018) \" \"\n QUOTED_DATUM: (31018..31026)\n QUOTE: (31018..31019) \"'\"\n FORM: (31019..31026)\n OPEN_PAREN: (31019..31020) \"(\"\n SYMBOL: (31020..31021)\n IDENTIFIER: (31020..31021) \"a\"\n ATMOSPHERE: (31021..31022) \" \"\n SYMBOL: (31022..31023)\n IDENTIFIER: (31022..31023) \"b\"\n ATMOSPHERE: (31023..31024) \" \"\n SYMBOL: (31024..31025)\n IDENTIFIER: (31024..31025) \"c\"\n CLOSE_PAREN: (31025..31026) \")\"\n CLOSE_PAREN: (31026..31027) \")\"\n CLOSE_PAREN: (31027..31028) \")\"\n ATMOSPHERE: (31028..31029) \"\n\"\n FORM: (31029..31057)\n OPEN_PAREN: (31029..31030) \"(\"\n SYMBOL: (31030..31034)\n IDENTIFIER: (31030..31034) \"test\"\n ATMOSPHERE: (31034..31035) \" \"\n CONSTANT: (31035..31037)\n BOOLEAN: (31035..31037) \"#f\"\n ATMOSPHERE: (31037..31038) \" \"\n FORM: (31038..31056)\n OPEN_PAREN: (31038..31039) \"(\"\n SYMBOL: (31039..31043)\n IDENTIFIER: (31039..31043) \"memq\"\n ATMOSPHERE: (31043..31044) \" \"\n QUOTED_DATUM: (31044..31047)\n QUOTE: (31044..31045) \"'\"\n SYMBOL: (31045..31046)\n IDENTIFIER: (31045..31046) \"a\"\n ATMOSPHERE: (31046..31047) \" \"\n QUOTED_DATUM: (31047..31055)\n QUOTE: (31047..31048) \"'\"\n FORM: (31048..31055)\n OPEN_PAREN: (31048..31049) \"(\"\n SYMBOL: (31049..31050)\n IDENTIFIER: (31049..31050) \"b\"\n ATMOSPHERE: (31050..31051) \" \"\n SYMBOL: (31051..31052)\n IDENTIFIER: (31051..31052) \"c\"\n ATMOSPHERE: (31052..31053) \" \"\n SYMBOL: (31053..31054)\n IDENTIFIER: (31053..31054) \"d\"\n CLOSE_PAREN: (31054..31055) \")\"\n CLOSE_PAREN: (31055..31056) \")\"\n CLOSE_PAREN: (31056..31057) \")\"\n ATMOSPHERE: (31057..31058) \"\n\"\n FORM: (31058..31095)\n OPEN_PAREN: (31058..31059) \"(\"\n SYMBOL: (31059..31063)\n IDENTIFIER: (31059..31063) \"test\"\n ATMOSPHERE: (31063..31064) \" \"\n CONSTANT: (31064..31066)\n BOOLEAN: (31064..31066) \"#f\"\n ATMOSPHERE: (31066..31067) \" \"\n FORM: (31067..31094)\n OPEN_PAREN: (31067..31068) \"(\"\n SYMBOL: (31068..31072)\n IDENTIFIER: (31068..31072) \"memq\"\n ATMOSPHERE: (31072..31073) \" \"\n FORM: (31073..31082)\n OPEN_PAREN: (31073..31074) \"(\"\n SYMBOL: (31074..31078)\n IDENTIFIER: (31074..31078) \"list\"\n ATMOSPHERE: (31078..31079) \" \"\n QUOTED_DATUM: (31079..31081)\n QUOTE: (31079..31080) \"'\"\n SYMBOL: (31080..31081)\n IDENTIFIER: (31080..31081) \"a\"\n CLOSE_PAREN: (31081..31082) \")\"\n ATMOSPHERE: (31082..31083) \" \"\n QUOTED_DATUM: (31083..31093)\n QUOTE: (31083..31084) \"'\"\n FORM: (31084..31093)\n OPEN_PAREN: (31084..31085) \"(\"\n SYMBOL: (31085..31086)\n IDENTIFIER: (31085..31086) \"b\"\n ATMOSPHERE: (31086..31087) \" \"\n FORM: (31087..31090)\n OPEN_PAREN: (31087..31088) \"(\"\n SYMBOL: (31088..31089)\n IDENTIFIER: (31088..31089) \"a\"\n CLOSE_PAREN: (31089..31090) \")\"\n ATMOSPHERE: (31090..31091) \" \"\n SYMBOL: (31091..31092)\n IDENTIFIER: (31091..31092) \"c\"\n CLOSE_PAREN: (31092..31093) \")\"\n CLOSE_PAREN: (31093..31094) \")\"\n CLOSE_PAREN: (31094..31095) \")\"\n ATMOSPHERE: (31095..31096) \"\n\"\n FORM: (31096..31141)\n OPEN_PAREN: (31096..31097) \"(\"\n SYMBOL: (31097..31101)\n IDENTIFIER: (31097..31101) \"test\"\n ATMOSPHERE: (31101..31102) \" \"\n QUOTED_DATUM: (31102..31111)\n QUOTE: (31102..31103) \"'\"\n FORM: (31103..31110)\n OPEN_PAREN: (31103..31104) \"(\"\n FORM: (31104..31107)\n OPEN_PAREN: (31104..31105) \"(\"\n SYMBOL: (31105..31106)\n IDENTIFIER: (31105..31106) \"a\"\n CLOSE_PAREN: (31106..31107) \")\"\n ATMOSPHERE: (31107..31108) \" \"\n SYMBOL: (31108..31109)\n IDENTIFIER: (31108..31109) \"c\"\n CLOSE_PAREN: (31109..31110) \")\"\n ATMOSPHERE: (31110..31111) \" \"\n FORM: (31111..31140)\n OPEN_PAREN: (31111..31112) \"(\"\n SYMBOL: (31112..31118)\n IDENTIFIER: (31112..31118) \"member\"\n ATMOSPHERE: (31118..31119) \" \"\n FORM: (31119..31128)\n OPEN_PAREN: (31119..31120) \"(\"\n SYMBOL: (31120..31124)\n IDENTIFIER: (31120..31124) \"list\"\n ATMOSPHERE: (31124..31125) \" \"\n QUOTED_DATUM: (31125..31127)\n QUOTE: (31125..31126) \"'\"\n SYMBOL: (31126..31127)\n IDENTIFIER: (31126..31127) \"a\"\n CLOSE_PAREN: (31127..31128) \")\"\n ATMOSPHERE: (31128..31129) \" \"\n QUOTED_DATUM: (31129..31139)\n QUOTE: (31129..31130) \"'\"\n FORM: (31130..31139)\n OPEN_PAREN: (31130..31131) \"(\"\n SYMBOL: (31131..31132)\n IDENTIFIER: (31131..31132) \"b\"\n ATMOSPHERE: (31132..31133) \" \"\n FORM: (31133..31136)\n OPEN_PAREN: (31133..31134) \"(\"\n SYMBOL: (31134..31135)\n IDENTIFIER: (31134..31135) \"a\"\n CLOSE_PAREN: (31135..31136) \")\"\n ATMOSPHERE: (31136..31137) \" \"\n SYMBOL: (31137..31138)\n IDENTIFIER: (31137..31138) \"c\"\n CLOSE_PAREN: (31138..31139) \")\"\n CLOSE_PAREN: (31139..31140) \")\"\n CLOSE_PAREN: (31140..31141) \")\"\n ATMOSPHERE: (31141..31142) \"\n\"\n ATMOSPHERE: (31142..31201) \"; (test '(\"b\" \"c\") (member \"B\" '(\"a\" \"b\" \"c\") string-ci=?))\"\n ATMOSPHERE: (31201..31202) \"\n\"\n FORM: (31202..31257)\n OPEN_PAREN: (31202..31203) \"(\"\n SYMBOL: (31203..31207)\n IDENTIFIER: (31203..31207) \"test\"\n ATMOSPHERE: (31207..31208) \" \"\n QUOTED_DATUM: (31208..31219)\n QUOTE: (31208..31209) \"'\"\n FORM: (31209..31218)\n OPEN_PAREN: (31209..31210) \"(\"\n CONSTANT: (31210..31213)\n CHARACTER: (31210..31213) \"#\\b\"\n ATMOSPHERE: (31213..31214) \" \"\n CONSTANT: (31214..31217)\n CHARACTER: (31214..31217) \"#\\c\"\n CLOSE_PAREN: (31217..31218) \")\"\n ATMOSPHERE: (31218..31219) \" \"\n FORM: (31219..31256)\n OPEN_PAREN: (31219..31220) \"(\"\n SYMBOL: (31220..31226)\n IDENTIFIER: (31220..31226) \"member\"\n ATMOSPHERE: (31226..31227) \" \"\n CONSTANT: (31227..31230)\n CHARACTER: (31227..31230) \"#\\B\"\n ATMOSPHERE: (31230..31231) \" \"\n QUOTED_DATUM: (31231..31246)\n QUOTE: (31231..31232) \"'\"\n FORM: (31232..31245)\n OPEN_PAREN: (31232..31233) \"(\"\n CONSTANT: (31233..31236)\n CHARACTER: (31233..31236) \"#\\a\"\n ATMOSPHERE: (31236..31237) \" \"\n CONSTANT: (31237..31240)\n CHARACTER: (31237..31240) \"#\\b\"\n ATMOSPHERE: (31240..31241) \" \"\n CONSTANT: (31241..31244)\n CHARACTER: (31241..31244) \"#\\c\"\n CLOSE_PAREN: (31244..31245) \")\"\n ATMOSPHERE: (31245..31246) \" \"\n SYMBOL: (31246..31255)\n IDENTIFIER: (31246..31255) \"char-ci=?\"\n CLOSE_PAREN: (31255..31256) \")\"\n CLOSE_PAREN: (31256..31257) \")\"\n ATMOSPHERE: (31257..31258) \"\n\"\n FORM: (31258..31301)\n OPEN_PAREN: (31258..31259) \"(\"\n SYMBOL: (31259..31263)\n IDENTIFIER: (31259..31263) \"test\"\n ATMOSPHERE: (31263..31264) \" \"\n QUOTED_DATUM: (31264..31275)\n QUOTE: (31264..31265) \"'\"\n FORM: (31265..31274)\n OPEN_PAREN: (31265..31266) \"(\"\n CONSTANT: (31266..31269)\n NUMBER: (31266..31269) \"101\"\n ATMOSPHERE: (31269..31270) \" \"\n CONSTANT: (31270..31273)\n NUMBER: (31270..31273) \"102\"\n CLOSE_PAREN: (31273..31274) \")\"\n ATMOSPHERE: (31274..31275) \" \"\n FORM: (31275..31300)\n OPEN_PAREN: (31275..31276) \"(\"\n SYMBOL: (31276..31280)\n IDENTIFIER: (31276..31280) \"memv\"\n ATMOSPHERE: (31280..31281) \" \"\n CONSTANT: (31281..31284)\n NUMBER: (31281..31284) \"101\"\n ATMOSPHERE: (31284..31285) \" \"\n QUOTED_DATUM: (31285..31299)\n QUOTE: (31285..31286) \"'\"\n FORM: (31286..31299)\n OPEN_PAREN: (31286..31287) \"(\"\n CONSTANT: (31287..31290)\n NUMBER: (31287..31290) \"100\"\n ATMOSPHERE: (31290..31291) \" \"\n CONSTANT: (31291..31294)\n NUMBER: (31291..31294) \"101\"\n ATMOSPHERE: (31294..31295) \" \"\n CONSTANT: (31295..31298)\n NUMBER: (31295..31298) \"102\"\n CLOSE_PAREN: (31298..31299) \")\"\n CLOSE_PAREN: (31299..31300) \")\"\n CLOSE_PAREN: (31300..31301) \")\"\n ATMOSPHERE: (31301..31303) \"\n\n\"\n FORM: (31303..31425)\n OPEN_PAREN: (31303..31304) \"(\"\n SYMBOL: (31304..31307)\n IDENTIFIER: (31304..31307) \"let\"\n ATMOSPHERE: (31307..31308) \" \"\n FORM: (31308..31310)\n OPEN_PAREN: (31308..31309) \"(\"\n CLOSE_PAREN: (31309..31310) \")\"\n ATMOSPHERE: (31310..31313) \"\n \"\n FORM: (31313..31344)\n OPEN_PAREN: (31313..31314) \"(\"\n SYMBOL: (31314..31320)\n IDENTIFIER: (31314..31320) \"define\"\n ATMOSPHERE: (31320..31321) \" \"\n SYMBOL: (31321..31322)\n IDENTIFIER: (31321..31322) \"e\"\n ATMOSPHERE: (31322..31323) \" \"\n QUOTED_DATUM: (31323..31343)\n QUOTE: (31323..31324) \"'\"\n FORM: (31324..31343)\n OPEN_PAREN: (31324..31325) \"(\"\n FORM: (31325..31330)\n OPEN_PAREN: (31325..31326) \"(\"\n SYMBOL: (31326..31327)\n IDENTIFIER: (31326..31327) \"a\"\n ATMOSPHERE: (31327..31328) \" \"\n CONSTANT: (31328..31329)\n NUMBER: (31328..31329) \"1\"\n CLOSE_PAREN: (31329..31330) \")\"\n ATMOSPHERE: (31330..31331) \" \"\n FORM: (31331..31336)\n OPEN_PAREN: (31331..31332) \"(\"\n SYMBOL: (31332..31333)\n IDENTIFIER: (31332..31333) \"b\"\n ATMOSPHERE: (31333..31334) \" \"\n CONSTANT: (31334..31335)\n NUMBER: (31334..31335) \"2\"\n CLOSE_PAREN: (31335..31336) \")\"\n ATMOSPHERE: (31336..31337) \" \"\n FORM: (31337..31342)\n OPEN_PAREN: (31337..31338) \"(\"\n SYMBOL: (31338..31339)\n IDENTIFIER: (31338..31339) \"c\"\n ATMOSPHERE: (31339..31340) \" \"\n CONSTANT: (31340..31341)\n NUMBER: (31340..31341) \"3\"\n CLOSE_PAREN: (31341..31342) \")\"\n CLOSE_PAREN: (31342..31343) \")\"\n CLOSE_PAREN: (31343..31344) \")\"\n ATMOSPHERE: (31344..31347) \"\n \"\n FORM: (31347..31372)\n OPEN_PAREN: (31347..31348) \"(\"\n SYMBOL: (31348..31352)\n IDENTIFIER: (31348..31352) \"test\"\n ATMOSPHERE: (31352..31353) \" \"\n QUOTED_DATUM: (31353..31360)\n QUOTE: (31353..31354) \"'\"\n FORM: (31354..31359)\n OPEN_PAREN: (31354..31355) \"(\"\n SYMBOL: (31355..31356)\n IDENTIFIER: (31355..31356) \"a\"\n ATMOSPHERE: (31356..31357) \" \"\n CONSTANT: (31357..31358)\n NUMBER: (31357..31358) \"1\"\n CLOSE_PAREN: (31358..31359) \")\"\n ATMOSPHERE: (31359..31360) \" \"\n FORM: (31360..31371)\n OPEN_PAREN: (31360..31361) \"(\"\n SYMBOL: (31361..31365)\n IDENTIFIER: (31361..31365) \"assq\"\n ATMOSPHERE: (31365..31366) \" \"\n QUOTED_DATUM: (31366..31369)\n QUOTE: (31366..31367) \"'\"\n SYMBOL: (31367..31368)\n IDENTIFIER: (31367..31368) \"a\"\n ATMOSPHERE: (31368..31369) \" \"\n SYMBOL: (31369..31370)\n IDENTIFIER: (31369..31370) \"e\"\n CLOSE_PAREN: (31370..31371) \")\"\n CLOSE_PAREN: (31371..31372) \")\"\n ATMOSPHERE: (31372..31375) \"\n \"\n FORM: (31375..31400)\n OPEN_PAREN: (31375..31376) \"(\"\n SYMBOL: (31376..31380)\n IDENTIFIER: (31376..31380) \"test\"\n ATMOSPHERE: (31380..31381) \" \"\n QUOTED_DATUM: (31381..31388)\n QUOTE: (31381..31382) \"'\"\n FORM: (31382..31387)\n OPEN_PAREN: (31382..31383) \"(\"\n SYMBOL: (31383..31384)\n IDENTIFIER: (31383..31384) \"b\"\n ATMOSPHERE: (31384..31385) \" \"\n CONSTANT: (31385..31386)\n NUMBER: (31385..31386) \"2\"\n CLOSE_PAREN: (31386..31387) \")\"\n ATMOSPHERE: (31387..31388) \" \"\n FORM: (31388..31399)\n OPEN_PAREN: (31388..31389) \"(\"\n SYMBOL: (31389..31393)\n IDENTIFIER: (31389..31393) \"assq\"\n ATMOSPHERE: (31393..31394) \" \"\n QUOTED_DATUM: (31394..31397)\n QUOTE: (31394..31395) \"'\"\n SYMBOL: (31395..31396)\n IDENTIFIER: (31395..31396) \"b\"\n ATMOSPHERE: (31396..31397) \" \"\n SYMBOL: (31397..31398)\n IDENTIFIER: (31397..31398) \"e\"\n CLOSE_PAREN: (31398..31399) \")\"\n CLOSE_PAREN: (31399..31400) \")\"\n ATMOSPHERE: (31400..31403) \"\n \"\n FORM: (31403..31424)\n OPEN_PAREN: (31403..31404) \"(\"\n SYMBOL: (31404..31408)\n IDENTIFIER: (31404..31408) \"test\"\n ATMOSPHERE: (31408..31409) \" \"\n CONSTANT: (31409..31411)\n BOOLEAN: (31409..31411) \"#f\"\n ATMOSPHERE: (31411..31412) \" \"\n FORM: (31412..31423)\n OPEN_PAREN: (31412..31413) \"(\"\n SYMBOL: (31413..31417)\n IDENTIFIER: (31413..31417) \"assq\"\n ATMOSPHERE: (31417..31418) \" \"\n QUOTED_DATUM: (31418..31421)\n QUOTE: (31418..31419) \"'\"\n SYMBOL: (31419..31420)\n IDENTIFIER: (31419..31420) \"d\"\n ATMOSPHERE: (31420..31421) \" \"\n SYMBOL: (31421..31422)\n IDENTIFIER: (31421..31422) \"e\"\n CLOSE_PAREN: (31422..31423) \")\"\n CLOSE_PAREN: (31423..31424) \")\"\n CLOSE_PAREN: (31424..31425) \")\"\n ATMOSPHERE: (31425..31427) \"\n\n\"\n FORM: (31427..31474)\n OPEN_PAREN: (31427..31428) \"(\"\n SYMBOL: (31428..31432)\n IDENTIFIER: (31428..31432) \"test\"\n ATMOSPHERE: (31432..31433) \" \"\n CONSTANT: (31433..31435)\n BOOLEAN: (31433..31435) \"#f\"\n ATMOSPHERE: (31435..31436) \" \"\n FORM: (31436..31473)\n OPEN_PAREN: (31436..31437) \"(\"\n SYMBOL: (31437..31441)\n IDENTIFIER: (31437..31441) \"assq\"\n ATMOSPHERE: (31441..31442) \" \"\n FORM: (31442..31451)\n OPEN_PAREN: (31442..31443) \"(\"\n SYMBOL: (31443..31447)\n IDENTIFIER: (31443..31447) \"list\"\n ATMOSPHERE: (31447..31448) \" \"\n QUOTED_DATUM: (31448..31450)\n QUOTE: (31448..31449) \"'\"\n SYMBOL: (31449..31450)\n IDENTIFIER: (31449..31450) \"a\"\n CLOSE_PAREN: (31450..31451) \")\"\n ATMOSPHERE: (31451..31452) \" \"\n QUOTED_DATUM: (31452..31472)\n QUOTE: (31452..31453) \"'\"\n FORM: (31453..31472)\n OPEN_PAREN: (31453..31454) \"(\"\n FORM: (31454..31459)\n OPEN_PAREN: (31454..31455) \"(\"\n FORM: (31455..31458)\n OPEN_PAREN: (31455..31456) \"(\"\n SYMBOL: (31456..31457)\n IDENTIFIER: (31456..31457) \"a\"\n CLOSE_PAREN: (31457..31458) \")\"\n CLOSE_PAREN: (31458..31459) \")\"\n ATMOSPHERE: (31459..31460) \" \"\n FORM: (31460..31465)\n OPEN_PAREN: (31460..31461) \"(\"\n FORM: (31461..31464)\n OPEN_PAREN: (31461..31462) \"(\"\n SYMBOL: (31462..31463)\n IDENTIFIER: (31462..31463) \"b\"\n CLOSE_PAREN: (31463..31464) \")\"\n CLOSE_PAREN: (31464..31465) \")\"\n ATMOSPHERE: (31465..31466) \" \"\n FORM: (31466..31471)\n OPEN_PAREN: (31466..31467) \"(\"\n FORM: (31467..31470)\n OPEN_PAREN: (31467..31468) \"(\"\n SYMBOL: (31468..31469)\n IDENTIFIER: (31468..31469) \"c\"\n CLOSE_PAREN: (31469..31470) \")\"\n CLOSE_PAREN: (31470..31471) \")\"\n CLOSE_PAREN: (31471..31472) \")\"\n CLOSE_PAREN: (31472..31473) \")\"\n CLOSE_PAREN: (31473..31474) \")\"\n ATMOSPHERE: (31474..31475) \"\n\"\n FORM: (31475..31527)\n OPEN_PAREN: (31475..31476) \"(\"\n SYMBOL: (31476..31480)\n IDENTIFIER: (31476..31480) \"test\"\n ATMOSPHERE: (31480..31481) \" \"\n QUOTED_DATUM: (31481..31488)\n QUOTE: (31481..31482) \"'\"\n FORM: (31482..31487)\n OPEN_PAREN: (31482..31483) \"(\"\n FORM: (31483..31486)\n OPEN_PAREN: (31483..31484) \"(\"\n SYMBOL: (31484..31485)\n IDENTIFIER: (31484..31485) \"a\"\n CLOSE_PAREN: (31485..31486) \")\"\n CLOSE_PAREN: (31486..31487) \")\"\n ATMOSPHERE: (31487..31488) \" \"\n FORM: (31488..31526)\n OPEN_PAREN: (31488..31489) \"(\"\n SYMBOL: (31489..31494)\n IDENTIFIER: (31489..31494) \"assoc\"\n ATMOSPHERE: (31494..31495) \" \"\n FORM: (31495..31504)\n OPEN_PAREN: (31495..31496) \"(\"\n SYMBOL: (31496..31500)\n IDENTIFIER: (31496..31500) \"list\"\n ATMOSPHERE: (31500..31501) \" \"\n QUOTED_DATUM: (31501..31503)\n QUOTE: (31501..31502) \"'\"\n SYMBOL: (31502..31503)\n IDENTIFIER: (31502..31503) \"a\"\n CLOSE_PAREN: (31503..31504) \")\"\n ATMOSPHERE: (31504..31505) \" \"\n QUOTED_DATUM: (31505..31525)\n QUOTE: (31505..31506) \"'\"\n FORM: (31506..31525)\n OPEN_PAREN: (31506..31507) \"(\"\n FORM: (31507..31512)\n OPEN_PAREN: (31507..31508) \"(\"\n FORM: (31508..31511)\n OPEN_PAREN: (31508..31509) \"(\"\n SYMBOL: (31509..31510)\n IDENTIFIER: (31509..31510) \"a\"\n CLOSE_PAREN: (31510..31511) \")\"\n CLOSE_PAREN: (31511..31512) \")\"\n ATMOSPHERE: (31512..31513) \" \"\n FORM: (31513..31518)\n OPEN_PAREN: (31513..31514) \"(\"\n FORM: (31514..31517)\n OPEN_PAREN: (31514..31515) \"(\"\n SYMBOL: (31515..31516)\n IDENTIFIER: (31515..31516) \"b\"\n CLOSE_PAREN: (31516..31517) \")\"\n CLOSE_PAREN: (31517..31518) \")\"\n ATMOSPHERE: (31518..31519) \" \"\n FORM: (31519..31524)\n OPEN_PAREN: (31519..31520) \"(\"\n FORM: (31520..31523)\n OPEN_PAREN: (31520..31521) \"(\"\n SYMBOL: (31521..31522)\n IDENTIFIER: (31521..31522) \"c\"\n CLOSE_PAREN: (31522..31523) \")\"\n CLOSE_PAREN: (31523..31524) \")\"\n CLOSE_PAREN: (31524..31525) \")\"\n CLOSE_PAREN: (31525..31526) \")\"\n CLOSE_PAREN: (31526..31527) \")\"\n ATMOSPHERE: (31527..31528) \"\n\"\n FORM: (31528..31576)\n OPEN_PAREN: (31528..31529) \"(\"\n SYMBOL: (31529..31533)\n IDENTIFIER: (31529..31533) \"test\"\n ATMOSPHERE: (31533..31534) \" \"\n QUOTED_DATUM: (31534..31541)\n QUOTE: (31534..31535) \"'\"\n FORM: (31535..31540)\n OPEN_PAREN: (31535..31536) \"(\"\n CONSTANT: (31536..31537)\n NUMBER: (31536..31537) \"2\"\n ATMOSPHERE: (31537..31538) \" \"\n CONSTANT: (31538..31539)\n NUMBER: (31538..31539) \"4\"\n CLOSE_PAREN: (31539..31540) \")\"\n ATMOSPHERE: (31540..31541) \" \"\n FORM: (31541..31575)\n OPEN_PAREN: (31541..31542) \"(\"\n SYMBOL: (31542..31547)\n IDENTIFIER: (31542..31547) \"assoc\"\n ATMOSPHERE: (31547..31548) \" \"\n CONSTANT: (31548..31551)\n NUMBER: (31548..31551) \"2.0\"\n ATMOSPHERE: (31551..31552) \" \"\n QUOTED_DATUM: (31552..31573)\n QUOTE: (31552..31553) \"'\"\n FORM: (31553..31572)\n OPEN_PAREN: (31553..31554) \"(\"\n FORM: (31554..31559)\n OPEN_PAREN: (31554..31555) \"(\"\n CONSTANT: (31555..31556)\n NUMBER: (31555..31556) \"1\"\n ATMOSPHERE: (31556..31557) \" \"\n CONSTANT: (31557..31558)\n NUMBER: (31557..31558) \"1\"\n CLOSE_PAREN: (31558..31559) \")\"\n ATMOSPHERE: (31559..31560) \" \"\n FORM: (31560..31565)\n OPEN_PAREN: (31560..31561) \"(\"\n CONSTANT: (31561..31562)\n NUMBER: (31561..31562) \"2\"\n ATMOSPHERE: (31562..31563) \" \"\n CONSTANT: (31563..31564)\n NUMBER: (31563..31564) \"4\"\n CLOSE_PAREN: (31564..31565) \")\"\n ATMOSPHERE: (31565..31566) \" \"\n FORM: (31566..31571)\n OPEN_PAREN: (31566..31567) \"(\"\n CONSTANT: (31567..31568)\n NUMBER: (31567..31568) \"3\"\n ATMOSPHERE: (31568..31569) \" \"\n CONSTANT: (31569..31570)\n NUMBER: (31569..31570) \"9\"\n CLOSE_PAREN: (31570..31571) \")\"\n CLOSE_PAREN: (31571..31572) \")\"\n ATMOSPHERE: (31572..31573) \" \"\n SYMBOL: (31573..31574)\n IDENTIFIER: (31573..31574) \"=\"\n CLOSE_PAREN: (31574..31575) \")\"\n CLOSE_PAREN: (31575..31576) \")\"\n ATMOSPHERE: (31576..31577) \"\n\"\n FORM: (31577..31622)\n OPEN_PAREN: (31577..31578) \"(\"\n SYMBOL: (31578..31582)\n IDENTIFIER: (31578..31582) \"test\"\n ATMOSPHERE: (31582..31583) \" \"\n QUOTED_DATUM: (31583..31590)\n QUOTE: (31583..31584) \"'\"\n FORM: (31584..31589)\n OPEN_PAREN: (31584..31585) \"(\"\n CONSTANT: (31585..31586)\n NUMBER: (31585..31586) \"5\"\n ATMOSPHERE: (31586..31587) \" \"\n CONSTANT: (31587..31588)\n NUMBER: (31587..31588) \"7\"\n CLOSE_PAREN: (31588..31589) \")\"\n ATMOSPHERE: (31589..31590) \" \"\n FORM: (31590..31621)\n OPEN_PAREN: (31590..31591) \"(\"\n SYMBOL: (31591..31595)\n IDENTIFIER: (31591..31595) \"assv\"\n ATMOSPHERE: (31595..31596) \" \"\n CONSTANT: (31596..31597)\n NUMBER: (31596..31597) \"5\"\n ATMOSPHERE: (31597..31598) \" \"\n QUOTED_DATUM: (31598..31620)\n QUOTE: (31598..31599) \"'\"\n FORM: (31599..31620)\n OPEN_PAREN: (31599..31600) \"(\"\n FORM: (31600..31605)\n OPEN_PAREN: (31600..31601) \"(\"\n CONSTANT: (31601..31602)\n NUMBER: (31601..31602) \"2\"\n ATMOSPHERE: (31602..31603) \" \"\n CONSTANT: (31603..31604)\n NUMBER: (31603..31604) \"3\"\n CLOSE_PAREN: (31604..31605) \")\"\n ATMOSPHERE: (31605..31606) \" \"\n FORM: (31606..31611)\n OPEN_PAREN: (31606..31607) \"(\"\n CONSTANT: (31607..31608)\n NUMBER: (31607..31608) \"5\"\n ATMOSPHERE: (31608..31609) \" \"\n CONSTANT: (31609..31610)\n NUMBER: (31609..31610) \"7\"\n CLOSE_PAREN: (31610..31611) \")\"\n ATMOSPHERE: (31611..31612) \" \"\n FORM: (31612..31619)\n OPEN_PAREN: (31612..31613) \"(\"\n CONSTANT: (31613..31615)\n NUMBER: (31613..31615) \"11\"\n ATMOSPHERE: (31615..31616) \" \"\n CONSTANT: (31616..31618)\n NUMBER: (31616..31618) \"13\"\n CLOSE_PAREN: (31618..31619) \")\"\n CLOSE_PAREN: (31619..31620) \")\"\n CLOSE_PAREN: (31620..31621) \")\"\n CLOSE_PAREN: (31621..31622) \")\"\n ATMOSPHERE: (31622..31624) \"\n\n\"\n FORM: (31624..31660)\n OPEN_PAREN: (31624..31625) \"(\"\n SYMBOL: (31625..31629)\n IDENTIFIER: (31625..31629) \"test\"\n ATMOSPHERE: (31629..31630) \" \"\n QUOTED_DATUM: (31630..31639)\n QUOTE: (31630..31631) \"'\"\n FORM: (31631..31638)\n OPEN_PAREN: (31631..31632) \"(\"\n CONSTANT: (31632..31633)\n NUMBER: (31632..31633) \"1\"\n ATMOSPHERE: (31633..31634) \" \"\n CONSTANT: (31634..31635)\n NUMBER: (31634..31635) \"2\"\n ATMOSPHERE: (31635..31636) \" \"\n CONSTANT: (31636..31637)\n NUMBER: (31636..31637) \"3\"\n CLOSE_PAREN: (31637..31638) \")\"\n ATMOSPHERE: (31638..31639) \" \"\n FORM: (31639..31659)\n OPEN_PAREN: (31639..31640) \"(\"\n SYMBOL: (31640..31649)\n IDENTIFIER: (31640..31649) \"list-copy\"\n ATMOSPHERE: (31649..31650) \" \"\n QUOTED_DATUM: (31650..31658)\n QUOTE: (31650..31651) \"'\"\n FORM: (31651..31658)\n OPEN_PAREN: (31651..31652) \"(\"\n CONSTANT: (31652..31653)\n NUMBER: (31652..31653) \"1\"\n ATMOSPHERE: (31653..31654) \" \"\n CONSTANT: (31654..31655)\n NUMBER: (31654..31655) \"2\"\n ATMOSPHERE: (31655..31656) \" \"\n CONSTANT: (31656..31657)\n NUMBER: (31656..31657) \"3\"\n CLOSE_PAREN: (31657..31658) \")\"\n CLOSE_PAREN: (31658..31659) \")\"\n CLOSE_PAREN: (31659..31660) \")\"\n ATMOSPHERE: (31660..31661) \"\n\"\n FORM: (31661..31691)\n OPEN_PAREN: (31661..31662) \"(\"\n SYMBOL: (31662..31666)\n IDENTIFIER: (31662..31666) \"test\"\n ATMOSPHERE: (31666..31667) \" \"\n CONSTANT: (31667..31672)\n STRING: (31667..31672) \"\"foo\"\"\n ATMOSPHERE: (31672..31673) \" \"\n FORM: (31673..31690)\n OPEN_PAREN: (31673..31674) \"(\"\n SYMBOL: (31674..31683)\n IDENTIFIER: (31674..31683) \"list-copy\"\n ATMOSPHERE: (31683..31684) \" \"\n CONSTANT: (31684..31689)\n STRING: (31684..31689) \"\"foo\"\"\n CLOSE_PAREN: (31689..31690) \")\"\n CLOSE_PAREN: (31690..31691) \")\"\n ATMOSPHERE: (31691..31692) \"\n\"\n FORM: (31692..31718)\n OPEN_PAREN: (31692..31693) \"(\"\n SYMBOL: (31693..31697)\n IDENTIFIER: (31693..31697) \"test\"\n ATMOSPHERE: (31697..31698) \" \"\n QUOTED_DATUM: (31698..31702)\n QUOTE: (31698..31699) \"'\"\n FORM: (31699..31701)\n OPEN_PAREN: (31699..31700) \"(\"\n CLOSE_PAREN: (31700..31701) \")\"\n ATMOSPHERE: (31701..31702) \" \"\n FORM: (31702..31717)\n OPEN_PAREN: (31702..31703) \"(\"\n SYMBOL: (31703..31712)\n IDENTIFIER: (31703..31712) \"list-copy\"\n ATMOSPHERE: (31712..31713) \" \"\n QUOTED_DATUM: (31713..31716)\n QUOTE: (31713..31714) \"'\"\n FORM: (31714..31716)\n OPEN_PAREN: (31714..31715) \"(\"\n CLOSE_PAREN: (31715..31716) \")\"\n CLOSE_PAREN: (31716..31717) \")\"\n CLOSE_PAREN: (31717..31718) \")\"\n ATMOSPHERE: (31718..31719) \"\n\"\n FORM: (31719..31755)\n OPEN_PAREN: (31719..31720) \"(\"\n SYMBOL: (31720..31724)\n IDENTIFIER: (31720..31724) \"test\"\n ATMOSPHERE: (31724..31725) \" \"\n QUOTED_DATUM: (31725..31734)\n QUOTE: (31725..31726) \"'\"\n FORM: (31726..31733)\n OPEN_PAREN: (31726..31727) \"(\"\n CONSTANT: (31727..31728)\n NUMBER: (31727..31728) \"3\"\n ATMOSPHERE: (31728..31729) \" \"\n DOTTED_TAIL: (31729..31732)\n DOT: (31729..31730) \".\"\n ATMOSPHERE: (31730..31731) \" \"\n CONSTANT: (31731..31732)\n NUMBER: (31731..31732) \"4\"\n CLOSE_PAREN: (31732..31733) \")\"\n ATMOSPHERE: (31733..31734) \" \"\n FORM: (31734..31754)\n OPEN_PAREN: (31734..31735) \"(\"\n SYMBOL: (31735..31744)\n IDENTIFIER: (31735..31744) \"list-copy\"\n ATMOSPHERE: (31744..31745) \" \"\n QUOTED_DATUM: (31745..31753)\n QUOTE: (31745..31746) \"'\"\n FORM: (31746..31753)\n OPEN_PAREN: (31746..31747) \"(\"\n CONSTANT: (31747..31748)\n NUMBER: (31747..31748) \"3\"\n ATMOSPHERE: (31748..31749) \" \"\n DOTTED_TAIL: (31749..31752)\n DOT: (31749..31750) \".\"\n ATMOSPHERE: (31750..31751) \" \"\n CONSTANT: (31751..31752)\n NUMBER: (31751..31752) \"4\"\n CLOSE_PAREN: (31752..31753) \")\"\n CLOSE_PAREN: (31753..31754) \")\"\n CLOSE_PAREN: (31754..31755) \")\"\n ATMOSPHERE: (31755..31756) \"\n\"\n FORM: (31756..31800)\n OPEN_PAREN: (31756..31757) \"(\"\n SYMBOL: (31757..31761)\n IDENTIFIER: (31757..31761) \"test\"\n ATMOSPHERE: (31761..31762) \" \"\n QUOTED_DATUM: (31762..31775)\n QUOTE: (31762..31763) \"'\"\n FORM: (31763..31774)\n OPEN_PAREN: (31763..31764) \"(\"\n CONSTANT: (31764..31765)\n NUMBER: (31764..31765) \"6\"\n ATMOSPHERE: (31765..31766) \" \"\n CONSTANT: (31766..31767)\n NUMBER: (31766..31767) \"7\"\n ATMOSPHERE: (31767..31768) \" \"\n CONSTANT: (31768..31769)\n NUMBER: (31768..31769) \"8\"\n ATMOSPHERE: (31769..31770) \" \"\n DOTTED_TAIL: (31770..31773)\n DOT: (31770..31771) \".\"\n ATMOSPHERE: (31771..31772) \" \"\n CONSTANT: (31772..31773)\n NUMBER: (31772..31773) \"9\"\n CLOSE_PAREN: (31773..31774) \")\"\n ATMOSPHERE: (31774..31775) \" \"\n FORM: (31775..31799)\n OPEN_PAREN: (31775..31776) \"(\"\n SYMBOL: (31776..31785)\n IDENTIFIER: (31776..31785) \"list-copy\"\n ATMOSPHERE: (31785..31786) \" \"\n QUOTED_DATUM: (31786..31798)\n QUOTE: (31786..31787) \"'\"\n FORM: (31787..31798)\n OPEN_PAREN: (31787..31788) \"(\"\n CONSTANT: (31788..31789)\n NUMBER: (31788..31789) \"6\"\n ATMOSPHERE: (31789..31790) \" \"\n CONSTANT: (31790..31791)\n NUMBER: (31790..31791) \"7\"\n ATMOSPHERE: (31791..31792) \" \"\n CONSTANT: (31792..31793)\n NUMBER: (31792..31793) \"8\"\n ATMOSPHERE: (31793..31794) \" \"\n DOTTED_TAIL: (31794..31797)\n DOT: (31794..31795) \".\"\n ATMOSPHERE: (31795..31796) \" \"\n CONSTANT: (31796..31797)\n NUMBER: (31796..31797) \"9\"\n CLOSE_PAREN: (31797..31798) \")\"\n CLOSE_PAREN: (31798..31799) \")\"\n CLOSE_PAREN: (31799..31800) \")\"\n ATMOSPHERE: (31800..31801) \"\n\"\n FORM: (31801..32035)\n OPEN_PAREN: (31801..31802) \"(\"\n SYMBOL: (31802..31806)\n IDENTIFIER: (31802..31806) \"let*\"\n ATMOSPHERE: (31806..31807) \" \"\n FORM: (31807..31857)\n OPEN_PAREN: (31807..31808) \"(\"\n FORM: (31808..31829)\n OPEN_PAREN: (31808..31809) \"(\"\n SYMBOL: (31809..31811)\n IDENTIFIER: (31809..31811) \"l1\"\n ATMOSPHERE: (31811..31812) \" \"\n QUOTED_DATUM: (31812..31828)\n QUOTE: (31812..31813) \"'\"\n FORM: (31813..31828)\n OPEN_PAREN: (31813..31814) \"(\"\n FORM: (31814..31819)\n OPEN_PAREN: (31814..31815) \"(\"\n SYMBOL: (31815..31816)\n IDENTIFIER: (31815..31816) \"a\"\n ATMOSPHERE: (31816..31817) \" \"\n SYMBOL: (31817..31818)\n IDENTIFIER: (31817..31818) \"b\"\n CLOSE_PAREN: (31818..31819) \")\"\n ATMOSPHERE: (31819..31820) \" \"\n FORM: (31820..31825)\n OPEN_PAREN: (31820..31821) \"(\"\n SYMBOL: (31821..31822)\n IDENTIFIER: (31821..31822) \"c\"\n ATMOSPHERE: (31822..31823) \" \"\n SYMBOL: (31823..31824)\n IDENTIFIER: (31823..31824) \"d\"\n CLOSE_PAREN: (31824..31825) \")\"\n ATMOSPHERE: (31825..31826) \" \"\n SYMBOL: (31826..31827)\n IDENTIFIER: (31826..31827) \"e\"\n CLOSE_PAREN: (31827..31828) \")\"\n CLOSE_PAREN: (31828..31829) \")\"\n ATMOSPHERE: (31829..31837) \"\n \"\n FORM: (31837..31856)\n OPEN_PAREN: (31837..31838) \"(\"\n SYMBOL: (31838..31840)\n IDENTIFIER: (31838..31840) \"l2\"\n ATMOSPHERE: (31840..31841) \" \"\n FORM: (31841..31855)\n OPEN_PAREN: (31841..31842) \"(\"\n SYMBOL: (31842..31851)\n IDENTIFIER: (31842..31851) \"list-copy\"\n ATMOSPHERE: (31851..31852) \" \"\n SYMBOL: (31852..31854)\n IDENTIFIER: (31852..31854) \"l1\"\n CLOSE_PAREN: (31854..31855) \")\"\n CLOSE_PAREN: (31855..31856) \")\"\n CLOSE_PAREN: (31856..31857) \")\"\n ATMOSPHERE: (31857..31860) \"\n \"\n FORM: (31860..31886)\n OPEN_PAREN: (31860..31861) \"(\"\n SYMBOL: (31861..31865)\n IDENTIFIER: (31861..31865) \"test\"\n ATMOSPHERE: (31865..31866) \" \"\n SYMBOL: (31866..31868)\n IDENTIFIER: (31866..31868) \"l2\"\n ATMOSPHERE: (31868..31869) \" \"\n QUOTED_DATUM: (31869..31885)\n QUOTE: (31869..31870) \"'\"\n FORM: (31870..31885)\n OPEN_PAREN: (31870..31871) \"(\"\n FORM: (31871..31876)\n OPEN_PAREN: (31871..31872) \"(\"\n SYMBOL: (31872..31873)\n IDENTIFIER: (31872..31873) \"a\"\n ATMOSPHERE: (31873..31874) \" \"\n SYMBOL: (31874..31875)\n IDENTIFIER: (31874..31875) \"b\"\n CLOSE_PAREN: (31875..31876) \")\"\n ATMOSPHERE: (31876..31877) \" \"\n FORM: (31877..31882)\n OPEN_PAREN: (31877..31878) \"(\"\n SYMBOL: (31878..31879)\n IDENTIFIER: (31878..31879) \"c\"\n ATMOSPHERE: (31879..31880) \" \"\n SYMBOL: (31880..31881)\n IDENTIFIER: (31880..31881) \"d\"\n CLOSE_PAREN: (31881..31882) \")\"\n ATMOSPHERE: (31882..31883) \" \"\n SYMBOL: (31883..31884)\n IDENTIFIER: (31883..31884) \"e\"\n CLOSE_PAREN: (31884..31885) \")\"\n CLOSE_PAREN: (31885..31886) \")\"\n ATMOSPHERE: (31886..31889) \"\n \"\n FORM: (31889..31922)\n OPEN_PAREN: (31889..31890) \"(\"\n SYMBOL: (31890..31894)\n IDENTIFIER: (31890..31894) \"test\"\n ATMOSPHERE: (31894..31895) \" \"\n CONSTANT: (31895..31897)\n BOOLEAN: (31895..31897) \"#t\"\n ATMOSPHERE: (31897..31898) \" \"\n FORM: (31898..31921)\n OPEN_PAREN: (31898..31899) \"(\"\n SYMBOL: (31899..31902)\n IDENTIFIER: (31899..31902) \"eq?\"\n ATMOSPHERE: (31902..31903) \" \"\n FORM: (31903..31911)\n OPEN_PAREN: (31903..31904) \"(\"\n SYMBOL: (31904..31907)\n IDENTIFIER: (31904..31907) \"car\"\n ATMOSPHERE: (31907..31908) \" \"\n SYMBOL: (31908..31910)\n IDENTIFIER: (31908..31910) \"l1\"\n CLOSE_PAREN: (31910..31911) \")\"\n ATMOSPHERE: (31911..31912) \" \"\n FORM: (31912..31920)\n OPEN_PAREN: (31912..31913) \"(\"\n SYMBOL: (31913..31916)\n IDENTIFIER: (31913..31916) \"car\"\n ATMOSPHERE: (31916..31917) \" \"\n SYMBOL: (31917..31919)\n IDENTIFIER: (31917..31919) \"l2\"\n CLOSE_PAREN: (31919..31920) \")\"\n CLOSE_PAREN: (31920..31921) \")\"\n CLOSE_PAREN: (31921..31922) \")\"\n ATMOSPHERE: (31922..31925) \"\n \"\n FORM: (31925..31960)\n OPEN_PAREN: (31925..31926) \"(\"\n SYMBOL: (31926..31930)\n IDENTIFIER: (31926..31930) \"test\"\n ATMOSPHERE: (31930..31931) \" \"\n CONSTANT: (31931..31933)\n BOOLEAN: (31931..31933) \"#t\"\n ATMOSPHERE: (31933..31934) \" \"\n FORM: (31934..31959)\n OPEN_PAREN: (31934..31935) \"(\"\n SYMBOL: (31935..31938)\n IDENTIFIER: (31935..31938) \"eq?\"\n ATMOSPHERE: (31938..31939) \" \"\n FORM: (31939..31948)\n OPEN_PAREN: (31939..31940) \"(\"\n SYMBOL: (31940..31944)\n IDENTIFIER: (31940..31944) \"cadr\"\n ATMOSPHERE: (31944..31945) \" \"\n SYMBOL: (31945..31947)\n IDENTIFIER: (31945..31947) \"l1\"\n CLOSE_PAREN: (31947..31948) \")\"\n ATMOSPHERE: (31948..31949) \" \"\n FORM: (31949..31958)\n OPEN_PAREN: (31949..31950) \"(\"\n SYMBOL: (31950..31954)\n IDENTIFIER: (31950..31954) \"cadr\"\n ATMOSPHERE: (31954..31955) \" \"\n SYMBOL: (31955..31957)\n IDENTIFIER: (31955..31957) \"l2\"\n CLOSE_PAREN: (31957..31958) \")\"\n CLOSE_PAREN: (31958..31959) \")\"\n CLOSE_PAREN: (31959..31960) \")\"\n ATMOSPHERE: (31960..31963) \"\n \"\n FORM: (31963..31996)\n OPEN_PAREN: (31963..31964) \"(\"\n SYMBOL: (31964..31968)\n IDENTIFIER: (31964..31968) \"test\"\n ATMOSPHERE: (31968..31969) \" \"\n CONSTANT: (31969..31971)\n BOOLEAN: (31969..31971) \"#f\"\n ATMOSPHERE: (31971..31972) \" \"\n FORM: (31972..31995)\n OPEN_PAREN: (31972..31973) \"(\"\n SYMBOL: (31973..31976)\n IDENTIFIER: (31973..31976) \"eq?\"\n ATMOSPHERE: (31976..31977) \" \"\n FORM: (31977..31985)\n OPEN_PAREN: (31977..31978) \"(\"\n SYMBOL: (31978..31981)\n IDENTIFIER: (31978..31981) \"cdr\"\n ATMOSPHERE: (31981..31982) \" \"\n SYMBOL: (31982..31984)\n IDENTIFIER: (31982..31984) \"l1\"\n CLOSE_PAREN: (31984..31985) \")\"\n ATMOSPHERE: (31985..31986) \" \"\n FORM: (31986..31994)\n OPEN_PAREN: (31986..31987) \"(\"\n SYMBOL: (31987..31990)\n IDENTIFIER: (31987..31990) \"cdr\"\n ATMOSPHERE: (31990..31991) \" \"\n SYMBOL: (31991..31993)\n IDENTIFIER: (31991..31993) \"l2\"\n CLOSE_PAREN: (31993..31994) \")\"\n CLOSE_PAREN: (31994..31995) \")\"\n CLOSE_PAREN: (31995..31996) \")\"\n ATMOSPHERE: (31996..31999) \"\n \"\n FORM: (31999..32034)\n OPEN_PAREN: (31999..32000) \"(\"\n SYMBOL: (32000..32004)\n IDENTIFIER: (32000..32004) \"test\"\n ATMOSPHERE: (32004..32005) \" \"\n CONSTANT: (32005..32007)\n BOOLEAN: (32005..32007) \"#f\"\n ATMOSPHERE: (32007..32008) \" \"\n FORM: (32008..32033)\n OPEN_PAREN: (32008..32009) \"(\"\n SYMBOL: (32009..32012)\n IDENTIFIER: (32009..32012) \"eq?\"\n ATMOSPHERE: (32012..32013) \" \"\n FORM: (32013..32022)\n OPEN_PAREN: (32013..32014) \"(\"\n SYMBOL: (32014..32018)\n IDENTIFIER: (32014..32018) \"cddr\"\n ATMOSPHERE: (32018..32019) \" \"\n SYMBOL: (32019..32021)\n IDENTIFIER: (32019..32021) \"l1\"\n CLOSE_PAREN: (32021..32022) \")\"\n ATMOSPHERE: (32022..32023) \" \"\n FORM: (32023..32032)\n OPEN_PAREN: (32023..32024) \"(\"\n SYMBOL: (32024..32028)\n IDENTIFIER: (32024..32028) \"cddr\"\n ATMOSPHERE: (32028..32029) \" \"\n SYMBOL: (32029..32031)\n IDENTIFIER: (32029..32031) \"l2\"\n CLOSE_PAREN: (32031..32032) \")\"\n CLOSE_PAREN: (32032..32033) \")\"\n CLOSE_PAREN: (32033..32034) \")\"\n CLOSE_PAREN: (32034..32035) \")\"\n ATMOSPHERE: (32035..32037) \"\n\n\"\n FORM: (32037..32047)\n OPEN_PAREN: (32037..32038) \"(\"\n SYMBOL: (32038..32046)\n IDENTIFIER: (32038..32046) \"test-end\"\n CLOSE_PAREN: (32046..32047) \")\"\n ATMOSPHERE: (32047..32049) \"\n\n\"\n FORM: (32049..32075)\n OPEN_PAREN: (32049..32050) \"(\"\n SYMBOL: (32050..32060)\n IDENTIFIER: (32050..32060) \"test-begin\"\n ATMOSPHERE: (32060..32061) \" \"\n CONSTANT: (32061..32074)\n STRING: (32061..32074) \"\"6.5 Symbols\"\"\n CLOSE_PAREN: (32074..32075) \")\"\n ATMOSPHERE: (32075..32077) \"\n\n\"\n FORM: (32077..32101)\n OPEN_PAREN: (32077..32078) \"(\"\n SYMBOL: (32078..32082)\n IDENTIFIER: (32078..32082) \"test\"\n ATMOSPHERE: (32082..32083) \" \"\n CONSTANT: (32083..32085)\n BOOLEAN: (32083..32085) \"#t\"\n ATMOSPHERE: (32085..32086) \" \"\n FORM: (32086..32100)\n OPEN_PAREN: (32086..32087) \"(\"\n SYMBOL: (32087..32094)\n IDENTIFIER: (32087..32094) \"symbol?\"\n ATMOSPHERE: (32094..32095) \" \"\n QUOTED_DATUM: (32095..32099)\n QUOTE: (32095..32096) \"'\"\n SYMBOL: (32096..32099)\n IDENTIFIER: (32096..32099) \"foo\"\n CLOSE_PAREN: (32099..32100) \")\"\n CLOSE_PAREN: (32100..32101) \")\"\n ATMOSPHERE: (32101..32102) \"\n\"\n FORM: (32102..32134)\n OPEN_PAREN: (32102..32103) \"(\"\n SYMBOL: (32103..32107)\n IDENTIFIER: (32103..32107) \"test\"\n ATMOSPHERE: (32107..32108) \" \"\n CONSTANT: (32108..32110)\n BOOLEAN: (32108..32110) \"#t\"\n ATMOSPHERE: (32110..32111) \" \"\n FORM: (32111..32133)\n OPEN_PAREN: (32111..32112) \"(\"\n SYMBOL: (32112..32119)\n IDENTIFIER: (32112..32119) \"symbol?\"\n ATMOSPHERE: (32119..32120) \" \"\n FORM: (32120..32132)\n OPEN_PAREN: (32120..32121) \"(\"\n SYMBOL: (32121..32124)\n IDENTIFIER: (32121..32124) \"car\"\n ATMOSPHERE: (32124..32125) \" \"\n QUOTED_DATUM: (32125..32131)\n QUOTE: (32125..32126) \"'\"\n FORM: (32126..32131)\n OPEN_PAREN: (32126..32127) \"(\"\n SYMBOL: (32127..32128)\n IDENTIFIER: (32127..32128) \"a\"\n ATMOSPHERE: (32128..32129) \" \"\n SYMBOL: (32129..32130)\n IDENTIFIER: (32129..32130) \"b\"\n CLOSE_PAREN: (32130..32131) \")\"\n CLOSE_PAREN: (32131..32132) \")\"\n CLOSE_PAREN: (32132..32133) \")\"\n CLOSE_PAREN: (32133..32134) \")\"\n ATMOSPHERE: (32134..32135) \"\n\"\n FORM: (32135..32160)\n OPEN_PAREN: (32135..32136) \"(\"\n SYMBOL: (32136..32140)\n IDENTIFIER: (32136..32140) \"test\"\n ATMOSPHERE: (32140..32141) \" \"\n CONSTANT: (32141..32143)\n BOOLEAN: (32141..32143) \"#f\"\n ATMOSPHERE: (32143..32144) \" \"\n FORM: (32144..32159)\n OPEN_PAREN: (32144..32145) \"(\"\n SYMBOL: (32145..32152)\n IDENTIFIER: (32145..32152) \"symbol?\"\n ATMOSPHERE: (32152..32153) \" \"\n CONSTANT: (32153..32158)\n STRING: (32153..32158) \"\"bar\"\"\n CLOSE_PAREN: (32158..32159) \")\"\n CLOSE_PAREN: (32159..32160) \")\"\n ATMOSPHERE: (32160..32161) \"\n\"\n FORM: (32161..32185)\n OPEN_PAREN: (32161..32162) \"(\"\n SYMBOL: (32162..32166)\n IDENTIFIER: (32162..32166) \"test\"\n ATMOSPHERE: (32166..32167) \" \"\n CONSTANT: (32167..32169)\n BOOLEAN: (32167..32169) \"#t\"\n ATMOSPHERE: (32169..32170) \" \"\n FORM: (32170..32184)\n OPEN_PAREN: (32170..32171) \"(\"\n SYMBOL: (32171..32178)\n IDENTIFIER: (32171..32178) \"symbol?\"\n ATMOSPHERE: (32178..32179) \" \"\n QUOTED_DATUM: (32179..32183)\n QUOTE: (32179..32180) \"'\"\n SYMBOL: (32180..32183)\n IDENTIFIER: (32180..32183) \"nil\"\n CLOSE_PAREN: (32183..32184) \")\"\n CLOSE_PAREN: (32184..32185) \")\"\n ATMOSPHERE: (32185..32186) \"\n\"\n FORM: (32186..32209)\n OPEN_PAREN: (32186..32187) \"(\"\n SYMBOL: (32187..32191)\n IDENTIFIER: (32187..32191) \"test\"\n ATMOSPHERE: (32191..32192) \" \"\n CONSTANT: (32192..32194)\n BOOLEAN: (32192..32194) \"#f\"\n ATMOSPHERE: (32194..32195) \" \"\n FORM: (32195..32208)\n OPEN_PAREN: (32195..32196) \"(\"\n SYMBOL: (32196..32203)\n IDENTIFIER: (32196..32203) \"symbol?\"\n ATMOSPHERE: (32203..32204) \" \"\n QUOTED_DATUM: (32204..32207)\n QUOTE: (32204..32205) \"'\"\n FORM: (32205..32207)\n OPEN_PAREN: (32205..32206) \"(\"\n CLOSE_PAREN: (32206..32207) \")\"\n CLOSE_PAREN: (32207..32208) \")\"\n CLOSE_PAREN: (32208..32209) \")\"\n ATMOSPHERE: (32209..32210) \"\n\"\n FORM: (32210..32232)\n OPEN_PAREN: (32210..32211) \"(\"\n SYMBOL: (32211..32215)\n IDENTIFIER: (32211..32215) \"test\"\n ATMOSPHERE: (32215..32216) \" \"\n CONSTANT: (32216..32218)\n BOOLEAN: (32216..32218) \"#f\"\n ATMOSPHERE: (32218..32219) \" \"\n FORM: (32219..32231)\n OPEN_PAREN: (32219..32220) \"(\"\n SYMBOL: (32220..32227)\n IDENTIFIER: (32220..32227) \"symbol?\"\n ATMOSPHERE: (32227..32228) \" \"\n CONSTANT: (32228..32230)\n BOOLEAN: (32228..32230) \"#f\"\n CLOSE_PAREN: (32230..32231) \")\"\n CLOSE_PAREN: (32231..32232) \")\"\n ATMOSPHERE: (32232..32234) \"\n\n\"\n FORM: (32234..32260)\n OPEN_PAREN: (32234..32235) \"(\"\n SYMBOL: (32235..32239)\n IDENTIFIER: (32235..32239) \"test\"\n ATMOSPHERE: (32239..32240) \" \"\n CONSTANT: (32240..32242)\n BOOLEAN: (32240..32242) \"#t\"\n ATMOSPHERE: (32242..32243) \" \"\n FORM: (32243..32259)\n OPEN_PAREN: (32243..32244) \"(\"\n SYMBOL: (32244..32252)\n IDENTIFIER: (32244..32252) \"symbol=?\"\n ATMOSPHERE: (32252..32253) \" \"\n QUOTED_DATUM: (32253..32256)\n QUOTE: (32253..32254) \"'\"\n SYMBOL: (32254..32255)\n IDENTIFIER: (32254..32255) \"a\"\n ATMOSPHERE: (32255..32256) \" \"\n QUOTED_DATUM: (32256..32258)\n QUOTE: (32256..32257) \"'\"\n SYMBOL: (32257..32258)\n IDENTIFIER: (32257..32258) \"a\"\n CLOSE_PAREN: (32258..32259) \")\"\n CLOSE_PAREN: (32259..32260) \")\"\n ATMOSPHERE: (32260..32261) \"\n\"\n FORM: (32261..32287)\n OPEN_PAREN: (32261..32262) \"(\"\n SYMBOL: (32262..32266)\n IDENTIFIER: (32262..32266) \"test\"\n ATMOSPHERE: (32266..32267) \" \"\n CONSTANT: (32267..32269)\n BOOLEAN: (32267..32269) \"#f\"\n ATMOSPHERE: (32269..32270) \" \"\n FORM: (32270..32286)\n OPEN_PAREN: (32270..32271) \"(\"\n SYMBOL: (32271..32279)\n IDENTIFIER: (32271..32279) \"symbol=?\"\n ATMOSPHERE: (32279..32280) \" \"\n QUOTED_DATUM: (32280..32283)\n QUOTE: (32280..32281) \"'\"\n SYMBOL: (32281..32282)\n IDENTIFIER: (32281..32282) \"a\"\n ATMOSPHERE: (32282..32283) \" \"\n QUOTED_DATUM: (32283..32285)\n QUOTE: (32283..32284) \"'\"\n SYMBOL: (32284..32285)\n IDENTIFIER: (32284..32285) \"A\"\n CLOSE_PAREN: (32285..32286) \")\"\n CLOSE_PAREN: (32286..32287) \")\"\n ATMOSPHERE: (32287..32288) \"\n\"\n FORM: (32288..32317)\n OPEN_PAREN: (32288..32289) \"(\"\n SYMBOL: (32289..32293)\n IDENTIFIER: (32289..32293) \"test\"\n ATMOSPHERE: (32293..32294) \" \"\n CONSTANT: (32294..32296)\n BOOLEAN: (32294..32296) \"#t\"\n ATMOSPHERE: (32296..32297) \" \"\n FORM: (32297..32316)\n OPEN_PAREN: (32297..32298) \"(\"\n SYMBOL: (32298..32306)\n IDENTIFIER: (32298..32306) \"symbol=?\"\n ATMOSPHERE: (32306..32307) \" \"\n QUOTED_DATUM: (32307..32310)\n QUOTE: (32307..32308) \"'\"\n SYMBOL: (32308..32309)\n IDENTIFIER: (32308..32309) \"a\"\n ATMOSPHERE: (32309..32310) \" \"\n QUOTED_DATUM: (32310..32313)\n QUOTE: (32310..32311) \"'\"\n SYMBOL: (32311..32312)\n IDENTIFIER: (32311..32312) \"a\"\n ATMOSPHERE: (32312..32313) \" \"\n QUOTED_DATUM: (32313..32315)\n QUOTE: (32313..32314) \"'\"\n SYMBOL: (32314..32315)\n IDENTIFIER: (32314..32315) \"a\"\n CLOSE_PAREN: (32315..32316) \")\"\n CLOSE_PAREN: (32316..32317) \")\"\n ATMOSPHERE: (32317..32318) \"\n\"\n FORM: (32318..32347)\n OPEN_PAREN: (32318..32319) \"(\"\n SYMBOL: (32319..32323)\n IDENTIFIER: (32319..32323) \"test\"\n ATMOSPHERE: (32323..32324) \" \"\n CONSTANT: (32324..32326)\n BOOLEAN: (32324..32326) \"#f\"\n ATMOSPHERE: (32326..32327) \" \"\n FORM: (32327..32346)\n OPEN_PAREN: (32327..32328) \"(\"\n SYMBOL: (32328..32336)\n IDENTIFIER: (32328..32336) \"symbol=?\"\n ATMOSPHERE: (32336..32337) \" \"\n QUOTED_DATUM: (32337..32340)\n QUOTE: (32337..32338) \"'\"\n SYMBOL: (32338..32339)\n IDENTIFIER: (32338..32339) \"a\"\n ATMOSPHERE: (32339..32340) \" \"\n QUOTED_DATUM: (32340..32343)\n QUOTE: (32340..32341) \"'\"\n SYMBOL: (32341..32342)\n IDENTIFIER: (32341..32342) \"a\"\n ATMOSPHERE: (32342..32343) \" \"\n QUOTED_DATUM: (32343..32345)\n QUOTE: (32343..32344) \"'\"\n SYMBOL: (32344..32345)\n IDENTIFIER: (32344..32345) \"A\"\n CLOSE_PAREN: (32345..32346) \")\"\n CLOSE_PAREN: (32346..32347) \")\"\n ATMOSPHERE: (32347..32349) \"\n\n\"\n FORM: (32349..32404)\n OPEN_PAREN: (32349..32350) \"(\"\n SYMBOL: (32350..32354)\n IDENTIFIER: (32350..32354) \"test\"\n ATMOSPHERE: (32354..32355) \" \"\n CONSTANT: (32355..32368)\n STRING: (32355..32368) \"\"flying-fish\"\"\n ATMOSPHERE: (32368..32374) \" \n\"\n FORM: (32374..32403)\n OPEN_PAREN: (32374..32375) \"(\"\n SYMBOL: (32375..32389)\n IDENTIFIER: (32375..32389) \"symbol->string\"\n ATMOSPHERE: (32389..32390) \" \"\n QUOTED_DATUM: (32390..32402)\n QUOTE: (32390..32391) \"'\"\n SYMBOL: (32391..32402)\n IDENTIFIER: (32391..32402) \"flying-fish\"\n CLOSE_PAREN: (32402..32403) \")\"\n CLOSE_PAREN: (32403..32404) \")\"\n ATMOSPHERE: (32404..32405) \"\n\"\n FORM: (32405..32445)\n OPEN_PAREN: (32405..32406) \"(\"\n SYMBOL: (32406..32410)\n IDENTIFIER: (32406..32410) \"test\"\n ATMOSPHERE: (32410..32411) \" \"\n CONSTANT: (32411..32419)\n STRING: (32411..32419) \"\"Martin\"\"\n ATMOSPHERE: (32419..32420) \" \"\n FORM: (32420..32444)\n OPEN_PAREN: (32420..32421) \"(\"\n SYMBOL: (32421..32435)\n IDENTIFIER: (32421..32435) \"symbol->string\"\n ATMOSPHERE: (32435..32436) \" \"\n QUOTED_DATUM: (32436..32443)\n QUOTE: (32436..32437) \"'\"\n SYMBOL: (32437..32443)\n IDENTIFIER: (32437..32443) \"Martin\"\n CLOSE_PAREN: (32443..32444) \")\"\n CLOSE_PAREN: (32444..32445) \")\"\n ATMOSPHERE: (32445..32446) \"\n\"\n FORM: (32446..32506)\n OPEN_PAREN: (32446..32447) \"(\"\n SYMBOL: (32447..32451)\n IDENTIFIER: (32447..32451) \"test\"\n ATMOSPHERE: (32451..32452) \" \"\n CONSTANT: (32452..32461)\n STRING: (32452..32461) \"\"Malvina\"\"\n ATMOSPHERE: (32461..32462) \" \"\n FORM: (32462..32505)\n OPEN_PAREN: (32462..32463) \"(\"\n SYMBOL: (32463..32477)\n IDENTIFIER: (32463..32477) \"symbol->string\"\n ATMOSPHERE: (32477..32478) \" \"\n FORM: (32478..32504)\n OPEN_PAREN: (32478..32479) \"(\"\n SYMBOL: (32479..32493)\n IDENTIFIER: (32479..32493) \"string->symbol\"\n ATMOSPHERE: (32493..32494) \" \"\n CONSTANT: (32494..32503)\n STRING: (32494..32503) \"\"Malvina\"\"\n CLOSE_PAREN: (32503..32504) \")\"\n CLOSE_PAREN: (32504..32505) \")\"\n CLOSE_PAREN: (32505..32506) \")\"\n ATMOSPHERE: (32506..32508) \"\n\n\"\n FORM: (32508..32558)\n OPEN_PAREN: (32508..32509) \"(\"\n SYMBOL: (32509..32513)\n IDENTIFIER: (32509..32513) \"test\"\n ATMOSPHERE: (32513..32514) \" \"\n QUOTED_DATUM: (32514..32527)\n QUOTE: (32514..32515) \"'\"\n SYMBOL: (32515..32526)\n IDENTIFIER: (32515..32526) \"mISSISSIppi\"\n ATMOSPHERE: (32526..32527) \" \"\n FORM: (32527..32557)\n OPEN_PAREN: (32527..32528) \"(\"\n SYMBOL: (32528..32542)\n IDENTIFIER: (32528..32542) \"string->symbol\"\n ATMOSPHERE: (32542..32543) \" \"\n CONSTANT: (32543..32556)\n STRING: (32543..32556) \"\"mISSISSIppi\"\"\n CLOSE_PAREN: (32556..32557) \")\"\n CLOSE_PAREN: (32557..32558) \")\"\n ATMOSPHERE: (32558..32559) \"\n\"\n FORM: (32559..32608)\n OPEN_PAREN: (32559..32560) \"(\"\n SYMBOL: (32560..32564)\n IDENTIFIER: (32560..32564) \"test\"\n ATMOSPHERE: (32564..32565) \" \"\n CONSTANT: (32565..32567)\n BOOLEAN: (32565..32567) \"#t\"\n ATMOSPHERE: (32567..32568) \" \"\n FORM: (32568..32607)\n OPEN_PAREN: (32568..32569) \"(\"\n SYMBOL: (32569..32572)\n IDENTIFIER: (32569..32572) \"eq?\"\n ATMOSPHERE: (32572..32573) \" \"\n QUOTED_DATUM: (32573..32581)\n QUOTE: (32573..32574) \"'\"\n SYMBOL: (32574..32580)\n IDENTIFIER: (32574..32580) \"bitBlt\"\n ATMOSPHERE: (32580..32581) \" \"\n FORM: (32581..32606)\n OPEN_PAREN: (32581..32582) \"(\"\n SYMBOL: (32582..32596)\n IDENTIFIER: (32582..32596) \"string->symbol\"\n ATMOSPHERE: (32596..32597) \" \"\n CONSTANT: (32597..32605)\n STRING: (32597..32605) \"\"bitBlt\"\"\n CLOSE_PAREN: (32605..32606) \")\"\n CLOSE_PAREN: (32606..32607) \")\"\n CLOSE_PAREN: (32607..32608) \")\"\n ATMOSPHERE: (32608..32609) \"\n\"\n FORM: (32609..32678)\n OPEN_PAREN: (32609..32610) \"(\"\n SYMBOL: (32610..32614)\n IDENTIFIER: (32610..32614) \"test\"\n ATMOSPHERE: (32614..32615) \" \"\n CONSTANT: (32615..32617)\n BOOLEAN: (32615..32617) \"#t\"\n ATMOSPHERE: (32617..32618) \" \"\n FORM: (32618..32677)\n OPEN_PAREN: (32618..32619) \"(\"\n SYMBOL: (32619..32622)\n IDENTIFIER: (32619..32622) \"eq?\"\n ATMOSPHERE: (32622..32623) \" \"\n QUOTED_DATUM: (32623..32633)\n QUOTE: (32623..32624) \"'\"\n SYMBOL: (32624..32632)\n IDENTIFIER: (32624..32632) \"LollyPop\"\n ATMOSPHERE: (32632..32633) \" \"\n FORM: (32633..32676)\n OPEN_PAREN: (32633..32634) \"(\"\n SYMBOL: (32634..32648)\n IDENTIFIER: (32634..32648) \"string->symbol\"\n ATMOSPHERE: (32648..32649) \" \"\n FORM: (32649..32675)\n OPEN_PAREN: (32649..32650) \"(\"\n SYMBOL: (32650..32664)\n IDENTIFIER: (32650..32664) \"symbol->string\"\n ATMOSPHERE: (32664..32665) \" \"\n QUOTED_DATUM: (32665..32674)\n QUOTE: (32665..32666) \"'\"\n SYMBOL: (32666..32674)\n IDENTIFIER: (32666..32674) \"LollyPop\"\n CLOSE_PAREN: (32674..32675) \")\"\n CLOSE_PAREN: (32675..32676) \")\"\n CLOSE_PAREN: (32676..32677) \")\"\n CLOSE_PAREN: (32677..32678) \")\"\n ATMOSPHERE: (32678..32679) \"\n\"\n FORM: (32679..32788)\n OPEN_PAREN: (32679..32680) \"(\"\n SYMBOL: (32680..32684)\n IDENTIFIER: (32680..32684) \"test\"\n ATMOSPHERE: (32684..32685) \" \"\n CONSTANT: (32685..32687)\n BOOLEAN: (32685..32687) \"#t\"\n ATMOSPHERE: (32687..32688) \" \"\n FORM: (32688..32787)\n OPEN_PAREN: (32688..32689) \"(\"\n SYMBOL: (32689..32697)\n IDENTIFIER: (32689..32697) \"string=?\"\n ATMOSPHERE: (32697..32698) \" \"\n CONSTANT: (32698..32715)\n STRING: (32698..32715) \"\"K. Harper, M.D.\"\"\n ATMOSPHERE: (32715..32735) \"\n \"\n FORM: (32735..32786)\n OPEN_PAREN: (32735..32736) \"(\"\n SYMBOL: (32736..32750)\n IDENTIFIER: (32736..32750) \"symbol->string\"\n ATMOSPHERE: (32750..32751) \" \"\n FORM: (32751..32785)\n OPEN_PAREN: (32751..32752) \"(\"\n SYMBOL: (32752..32766)\n IDENTIFIER: (32752..32766) \"string->symbol\"\n ATMOSPHERE: (32766..32767) \" \"\n CONSTANT: (32767..32784)\n STRING: (32767..32784) \"\"K. Harper, M.D.\"\"\n CLOSE_PAREN: (32784..32785) \")\"\n CLOSE_PAREN: (32785..32786) \")\"\n CLOSE_PAREN: (32786..32787) \")\"\n CLOSE_PAREN: (32787..32788) \")\"\n ATMOSPHERE: (32788..32790) \"\n\n\"\n FORM: (32790..32800)\n OPEN_PAREN: (32790..32791) \"(\"\n SYMBOL: (32791..32799)\n IDENTIFIER: (32791..32799) \"test-end\"\n CLOSE_PAREN: (32799..32800) \")\"\n ATMOSPHERE: (32800..32802) \"\n\n\"\n FORM: (32802..32831)\n OPEN_PAREN: (32802..32803) \"(\"\n SYMBOL: (32803..32813)\n IDENTIFIER: (32803..32813) \"test-begin\"\n ATMOSPHERE: (32813..32814) \" \"\n CONSTANT: (32814..32830)\n STRING: (32814..32830) \"\"6.6 Characters\"\"\n CLOSE_PAREN: (32830..32831) \")\"\n ATMOSPHERE: (32831..32833) \"\n\n\"\n FORM: (32833..32854)\n OPEN_PAREN: (32833..32834) \"(\"\n SYMBOL: (32834..32838)\n IDENTIFIER: (32834..32838) \"test\"\n ATMOSPHERE: (32838..32839) \" \"\n CONSTANT: (32839..32841)\n BOOLEAN: (32839..32841) \"#t\"\n ATMOSPHERE: (32841..32842) \" \"\n FORM: (32842..32853)\n OPEN_PAREN: (32842..32843) \"(\"\n SYMBOL: (32843..32848)\n IDENTIFIER: (32843..32848) \"char?\"\n ATMOSPHERE: (32848..32849) \" \"\n CONSTANT: (32849..32852)\n CHARACTER: (32849..32852) \"#\\a\"\n CLOSE_PAREN: (32852..32853) \")\"\n CLOSE_PAREN: (32853..32854) \")\"\n ATMOSPHERE: (32854..32855) \"\n\"\n FORM: (32855..32876)\n OPEN_PAREN: (32855..32856) \"(\"\n SYMBOL: (32856..32860)\n IDENTIFIER: (32856..32860) \"test\"\n ATMOSPHERE: (32860..32861) \" \"\n CONSTANT: (32861..32863)\n BOOLEAN: (32861..32863) \"#f\"\n ATMOSPHERE: (32863..32864) \" \"\n FORM: (32864..32875)\n OPEN_PAREN: (32864..32865) \"(\"\n SYMBOL: (32865..32870)\n IDENTIFIER: (32865..32870) \"char?\"\n ATMOSPHERE: (32870..32871) \" \"\n CONSTANT: (32871..32874)\n STRING: (32871..32874) \"\"a\"\"\n CLOSE_PAREN: (32874..32875) \")\"\n CLOSE_PAREN: (32875..32876) \")\"\n ATMOSPHERE: (32876..32877) \"\n\"\n FORM: (32877..32897)\n OPEN_PAREN: (32877..32878) \"(\"\n SYMBOL: (32878..32882)\n IDENTIFIER: (32878..32882) \"test\"\n ATMOSPHERE: (32882..32883) \" \"\n CONSTANT: (32883..32885)\n BOOLEAN: (32883..32885) \"#f\"\n ATMOSPHERE: (32885..32886) \" \"\n FORM: (32886..32896)\n OPEN_PAREN: (32886..32887) \"(\"\n SYMBOL: (32887..32892)\n IDENTIFIER: (32887..32892) \"char?\"\n ATMOSPHERE: (32892..32893) \" \"\n QUOTED_DATUM: (32893..32895)\n QUOTE: (32893..32894) \"'\"\n SYMBOL: (32894..32895)\n IDENTIFIER: (32894..32895) \"a\"\n CLOSE_PAREN: (32895..32896) \")\"\n CLOSE_PAREN: (32896..32897) \")\"\n ATMOSPHERE: (32897..32898) \"\n\"\n FORM: (32898..32917)\n OPEN_PAREN: (32898..32899) \"(\"\n SYMBOL: (32899..32903)\n IDENTIFIER: (32899..32903) \"test\"\n ATMOSPHERE: (32903..32904) \" \"\n CONSTANT: (32904..32906)\n BOOLEAN: (32904..32906) \"#f\"\n ATMOSPHERE: (32906..32907) \" \"\n FORM: (32907..32916)\n OPEN_PAREN: (32907..32908) \"(\"\n SYMBOL: (32908..32913)\n IDENTIFIER: (32908..32913) \"char?\"\n ATMOSPHERE: (32913..32914) \" \"\n CONSTANT: (32914..32915)\n NUMBER: (32914..32915) \"0\"\n CLOSE_PAREN: (32915..32916) \")\"\n CLOSE_PAREN: (32916..32917) \")\"\n ATMOSPHERE: (32917..32919) \"\n\n\"\n FORM: (32919..32949)\n OPEN_PAREN: (32919..32920) \"(\"\n SYMBOL: (32920..32924)\n IDENTIFIER: (32920..32924) \"test\"\n ATMOSPHERE: (32924..32925) \" \"\n CONSTANT: (32925..32927)\n BOOLEAN: (32925..32927) \"#t\"\n ATMOSPHERE: (32927..32928) \" \"\n FORM: (32928..32948)\n OPEN_PAREN: (32928..32929) \"(\"\n SYMBOL: (32929..32935)\n IDENTIFIER: (32929..32935) \"char=?\"\n ATMOSPHERE: (32935..32936) \" \"\n CONSTANT: (32936..32939)\n CHARACTER: (32936..32939) \"#\\a\"\n ATMOSPHERE: (32939..32940) \" \"\n CONSTANT: (32940..32943)\n CHARACTER: (32940..32943) \"#\\a\"\n ATMOSPHERE: (32943..32944) \" \"\n CONSTANT: (32944..32947)\n CHARACTER: (32944..32947) \"#\\a\"\n CLOSE_PAREN: (32947..32948) \")\"\n CLOSE_PAREN: (32948..32949) \")\"\n ATMOSPHERE: (32949..32950) \"\n\"\n FORM: (32950..32976)\n OPEN_PAREN: (32950..32951) \"(\"\n SYMBOL: (32951..32955)\n IDENTIFIER: (32951..32955) \"test\"\n ATMOSPHERE: (32955..32956) \" \"\n CONSTANT: (32956..32958)\n BOOLEAN: (32956..32958) \"#f\"\n ATMOSPHERE: (32958..32959) \" \"\n FORM: (32959..32975)\n OPEN_PAREN: (32959..32960) \"(\"\n SYMBOL: (32960..32966)\n IDENTIFIER: (32960..32966) \"char=?\"\n ATMOSPHERE: (32966..32967) \" \"\n CONSTANT: (32967..32970)\n CHARACTER: (32967..32970) \"#\\a\"\n ATMOSPHERE: (32970..32971) \" \"\n CONSTANT: (32971..32974)\n CHARACTER: (32971..32974) \"#\\A\"\n CLOSE_PAREN: (32974..32975) \")\"\n CLOSE_PAREN: (32975..32976) \")\"\n ATMOSPHERE: (32976..32977) \"\n\"\n FORM: (32977..33007)\n OPEN_PAREN: (32977..32978) \"(\"\n SYMBOL: (32978..32982)\n IDENTIFIER: (32978..32982) \"test\"\n ATMOSPHERE: (32982..32983) \" \"\n CONSTANT: (32983..32985)\n BOOLEAN: (32983..32985) \"#t\"\n ATMOSPHERE: (32985..32986) \" \"\n FORM: (32986..33006)\n OPEN_PAREN: (32986..32987) \"(\"\n SYMBOL: (32987..32993)\n IDENTIFIER: (32987..32993) \"char?\"\n ATMOSPHERE: (33078..33079) \" \"\n CONSTANT: (33079..33082)\n CHARACTER: (33079..33082) \"#\\a\"\n ATMOSPHERE: (33082..33083) \" \"\n CONSTANT: (33083..33086)\n CHARACTER: (33083..33086) \"#\\b\"\n CLOSE_PAREN: (33086..33087) \")\"\n CLOSE_PAREN: (33087..33088) \")\"\n ATMOSPHERE: (33088..33089) \"\n\"\n FORM: (33089..33115)\n OPEN_PAREN: (33089..33090) \"(\"\n SYMBOL: (33090..33094)\n IDENTIFIER: (33090..33094) \"test\"\n ATMOSPHERE: (33094..33095) \" \"\n CONSTANT: (33095..33097)\n BOOLEAN: (33095..33097) \"#f\"\n ATMOSPHERE: (33097..33098) \" \"\n FORM: (33098..33114)\n OPEN_PAREN: (33098..33099) \"(\"\n SYMBOL: (33099..33105)\n IDENTIFIER: (33099..33105) \"char>?\"\n ATMOSPHERE: (33105..33106) \" \"\n CONSTANT: (33106..33109)\n CHARACTER: (33106..33109) \"#\\a\"\n ATMOSPHERE: (33109..33110) \" \"\n CONSTANT: (33110..33113)\n CHARACTER: (33110..33113) \"#\\a\"\n CLOSE_PAREN: (33113..33114) \")\"\n CLOSE_PAREN: (33114..33115) \")\"\n ATMOSPHERE: (33115..33116) \"\n\"\n FORM: (33116..33146)\n OPEN_PAREN: (33116..33117) \"(\"\n SYMBOL: (33117..33121)\n IDENTIFIER: (33117..33121) \"test\"\n ATMOSPHERE: (33121..33122) \" \"\n CONSTANT: (33122..33124)\n BOOLEAN: (33122..33124) \"#t\"\n ATMOSPHERE: (33124..33125) \" \"\n FORM: (33125..33145)\n OPEN_PAREN: (33125..33126) \"(\"\n SYMBOL: (33126..33132)\n IDENTIFIER: (33126..33132) \"char>?\"\n ATMOSPHERE: (33132..33133) \" \"\n CONSTANT: (33133..33136)\n CHARACTER: (33133..33136) \"#\\c\"\n ATMOSPHERE: (33136..33137) \" \"\n CONSTANT: (33137..33140)\n CHARACTER: (33137..33140) \"#\\b\"\n ATMOSPHERE: (33140..33141) \" \"\n CONSTANT: (33141..33144)\n CHARACTER: (33141..33144) \"#\\a\"\n CLOSE_PAREN: (33144..33145) \")\"\n CLOSE_PAREN: (33145..33146) \")\"\n ATMOSPHERE: (33146..33147) \"\n\"\n FORM: (33147..33178)\n OPEN_PAREN: (33147..33148) \"(\"\n SYMBOL: (33148..33152)\n IDENTIFIER: (33148..33152) \"test\"\n ATMOSPHERE: (33152..33153) \" \"\n CONSTANT: (33153..33155)\n BOOLEAN: (33153..33155) \"#t\"\n ATMOSPHERE: (33155..33156) \" \"\n FORM: (33156..33177)\n OPEN_PAREN: (33156..33157) \"(\"\n SYMBOL: (33157..33164)\n IDENTIFIER: (33157..33164) \"char<=?\"\n ATMOSPHERE: (33164..33165) \" \"\n CONSTANT: (33165..33168)\n CHARACTER: (33165..33168) \"#\\a\"\n ATMOSPHERE: (33168..33169) \" \"\n CONSTANT: (33169..33172)\n CHARACTER: (33169..33172) \"#\\b\"\n ATMOSPHERE: (33172..33173) \" \"\n CONSTANT: (33173..33176)\n CHARACTER: (33173..33176) \"#\\b\"\n CLOSE_PAREN: (33176..33177) \")\"\n CLOSE_PAREN: (33177..33178) \")\"\n ATMOSPHERE: (33178..33179) \"\n\"\n FORM: (33179..33206)\n OPEN_PAREN: (33179..33180) \"(\"\n SYMBOL: (33180..33184)\n IDENTIFIER: (33180..33184) \"test\"\n ATMOSPHERE: (33184..33185) \" \"\n CONSTANT: (33185..33187)\n BOOLEAN: (33185..33187) \"#t\"\n ATMOSPHERE: (33187..33188) \" \"\n FORM: (33188..33205)\n OPEN_PAREN: (33188..33189) \"(\"\n SYMBOL: (33189..33196)\n IDENTIFIER: (33189..33196) \"char<=?\"\n ATMOSPHERE: (33196..33197) \" \"\n CONSTANT: (33197..33200)\n CHARACTER: (33197..33200) \"#\\a\"\n ATMOSPHERE: (33200..33201) \" \"\n CONSTANT: (33201..33204)\n CHARACTER: (33201..33204) \"#\\a\"\n CLOSE_PAREN: (33204..33205) \")\"\n CLOSE_PAREN: (33205..33206) \")\"\n ATMOSPHERE: (33206..33207) \"\n\"\n FORM: (33207..33234)\n OPEN_PAREN: (33207..33208) \"(\"\n SYMBOL: (33208..33212)\n IDENTIFIER: (33208..33212) \"test\"\n ATMOSPHERE: (33212..33213) \" \"\n CONSTANT: (33213..33215)\n BOOLEAN: (33213..33215) \"#f\"\n ATMOSPHERE: (33215..33216) \" \"\n FORM: (33216..33233)\n OPEN_PAREN: (33216..33217) \"(\"\n SYMBOL: (33217..33224)\n IDENTIFIER: (33217..33224) \"char<=?\"\n ATMOSPHERE: (33224..33225) \" \"\n CONSTANT: (33225..33228)\n CHARACTER: (33225..33228) \"#\\b\"\n ATMOSPHERE: (33228..33229) \" \"\n CONSTANT: (33229..33232)\n CHARACTER: (33229..33232) \"#\\a\"\n CLOSE_PAREN: (33232..33233) \")\"\n CLOSE_PAREN: (33233..33234) \")\"\n ATMOSPHERE: (33234..33235) \"\n\"\n FORM: (33235..33262)\n OPEN_PAREN: (33235..33236) \"(\"\n SYMBOL: (33236..33240)\n IDENTIFIER: (33236..33240) \"test\"\n ATMOSPHERE: (33240..33241) \" \"\n CONSTANT: (33241..33243)\n BOOLEAN: (33241..33243) \"#f\"\n ATMOSPHERE: (33243..33244) \" \"\n FORM: (33244..33261)\n OPEN_PAREN: (33244..33245) \"(\"\n SYMBOL: (33245..33252)\n IDENTIFIER: (33245..33252) \"char>=?\"\n ATMOSPHERE: (33252..33253) \" \"\n CONSTANT: (33253..33256)\n CHARACTER: (33253..33256) \"#\\a\"\n ATMOSPHERE: (33256..33257) \" \"\n CONSTANT: (33257..33260)\n CHARACTER: (33257..33260) \"#\\b\"\n CLOSE_PAREN: (33260..33261) \")\"\n CLOSE_PAREN: (33261..33262) \")\"\n ATMOSPHERE: (33262..33263) \"\n\"\n FORM: (33263..33290)\n OPEN_PAREN: (33263..33264) \"(\"\n SYMBOL: (33264..33268)\n IDENTIFIER: (33264..33268) \"test\"\n ATMOSPHERE: (33268..33269) \" \"\n CONSTANT: (33269..33271)\n BOOLEAN: (33269..33271) \"#t\"\n ATMOSPHERE: (33271..33272) \" \"\n FORM: (33272..33289)\n OPEN_PAREN: (33272..33273) \"(\"\n SYMBOL: (33273..33280)\n IDENTIFIER: (33273..33280) \"char>=?\"\n ATMOSPHERE: (33280..33281) \" \"\n CONSTANT: (33281..33284)\n CHARACTER: (33281..33284) \"#\\a\"\n ATMOSPHERE: (33284..33285) \" \"\n CONSTANT: (33285..33288)\n CHARACTER: (33285..33288) \"#\\a\"\n CLOSE_PAREN: (33288..33289) \")\"\n CLOSE_PAREN: (33289..33290) \")\"\n ATMOSPHERE: (33290..33291) \"\n\"\n FORM: (33291..33322)\n OPEN_PAREN: (33291..33292) \"(\"\n SYMBOL: (33292..33296)\n IDENTIFIER: (33292..33296) \"test\"\n ATMOSPHERE: (33296..33297) \" \"\n CONSTANT: (33297..33299)\n BOOLEAN: (33297..33299) \"#t\"\n ATMOSPHERE: (33299..33300) \" \"\n FORM: (33300..33321)\n OPEN_PAREN: (33300..33301) \"(\"\n SYMBOL: (33301..33308)\n IDENTIFIER: (33301..33308) \"char>=?\"\n ATMOSPHERE: (33308..33309) \" \"\n CONSTANT: (33309..33312)\n CHARACTER: (33309..33312) \"#\\b\"\n ATMOSPHERE: (33312..33313) \" \"\n CONSTANT: (33313..33316)\n CHARACTER: (33313..33316) \"#\\b\"\n ATMOSPHERE: (33316..33317) \" \"\n CONSTANT: (33317..33320)\n CHARACTER: (33317..33320) \"#\\a\"\n CLOSE_PAREN: (33320..33321) \")\"\n CLOSE_PAREN: (33321..33322) \")\"\n ATMOSPHERE: (33322..33324) \"\n\n\"\n FORM: (33324..33353)\n OPEN_PAREN: (33324..33325) \"(\"\n SYMBOL: (33325..33329)\n IDENTIFIER: (33325..33329) \"test\"\n ATMOSPHERE: (33329..33330) \" \"\n CONSTANT: (33330..33332)\n BOOLEAN: (33330..33332) \"#t\"\n ATMOSPHERE: (33332..33333) \" \"\n FORM: (33333..33352)\n OPEN_PAREN: (33333..33334) \"(\"\n SYMBOL: (33334..33343)\n IDENTIFIER: (33334..33343) \"char-ci=?\"\n ATMOSPHERE: (33343..33344) \" \"\n CONSTANT: (33344..33347)\n CHARACTER: (33344..33347) \"#\\a\"\n ATMOSPHERE: (33347..33348) \" \"\n CONSTANT: (33348..33351)\n CHARACTER: (33348..33351) \"#\\a\"\n CLOSE_PAREN: (33351..33352) \")\"\n CLOSE_PAREN: (33352..33353) \")\"\n ATMOSPHERE: (33353..33354) \"\n\"\n FORM: (33354..33387)\n OPEN_PAREN: (33354..33355) \"(\"\n SYMBOL: (33355..33359)\n IDENTIFIER: (33355..33359) \"test\"\n ATMOSPHERE: (33359..33360) \" \"\n CONSTANT: (33360..33362)\n BOOLEAN: (33360..33362) \"#t\"\n ATMOSPHERE: (33362..33363) \" \"\n FORM: (33363..33386)\n OPEN_PAREN: (33363..33364) \"(\"\n SYMBOL: (33364..33373)\n IDENTIFIER: (33364..33373) \"char-ci=?\"\n ATMOSPHERE: (33373..33374) \" \"\n CONSTANT: (33374..33377)\n CHARACTER: (33374..33377) \"#\\a\"\n ATMOSPHERE: (33377..33378) \" \"\n CONSTANT: (33378..33381)\n CHARACTER: (33378..33381) \"#\\A\"\n ATMOSPHERE: (33381..33382) \" \"\n CONSTANT: (33382..33385)\n CHARACTER: (33382..33385) \"#\\a\"\n CLOSE_PAREN: (33385..33386) \")\"\n CLOSE_PAREN: (33386..33387) \")\"\n ATMOSPHERE: (33387..33388) \"\n\"\n FORM: (33388..33417)\n OPEN_PAREN: (33388..33389) \"(\"\n SYMBOL: (33389..33393)\n IDENTIFIER: (33389..33393) \"test\"\n ATMOSPHERE: (33393..33394) \" \"\n CONSTANT: (33394..33396)\n BOOLEAN: (33394..33396) \"#f\"\n ATMOSPHERE: (33396..33397) \" \"\n FORM: (33397..33416)\n OPEN_PAREN: (33397..33398) \"(\"\n SYMBOL: (33398..33407)\n IDENTIFIER: (33398..33407) \"char-ci=?\"\n ATMOSPHERE: (33407..33408) \" \"\n CONSTANT: (33408..33411)\n CHARACTER: (33408..33411) \"#\\a\"\n ATMOSPHERE: (33411..33412) \" \"\n CONSTANT: (33412..33415)\n CHARACTER: (33412..33415) \"#\\b\"\n CLOSE_PAREN: (33415..33416) \")\"\n CLOSE_PAREN: (33416..33417) \")\"\n ATMOSPHERE: (33417..33418) \"\n\"\n FORM: (33418..33451)\n OPEN_PAREN: (33418..33419) \"(\"\n SYMBOL: (33419..33423)\n IDENTIFIER: (33419..33423) \"test\"\n ATMOSPHERE: (33423..33424) \" \"\n CONSTANT: (33424..33426)\n BOOLEAN: (33424..33426) \"#t\"\n ATMOSPHERE: (33426..33427) \" \"\n FORM: (33427..33450)\n OPEN_PAREN: (33427..33428) \"(\"\n SYMBOL: (33428..33437)\n IDENTIFIER: (33428..33437) \"char-ci?\"\n ATMOSPHERE: (33531..33532) \" \"\n CONSTANT: (33532..33535)\n CHARACTER: (33532..33535) \"#\\A\"\n ATMOSPHERE: (33535..33536) \" \"\n CONSTANT: (33536..33539)\n CHARACTER: (33536..33539) \"#\\b\"\n CLOSE_PAREN: (33539..33540) \")\"\n CLOSE_PAREN: (33540..33541) \")\"\n ATMOSPHERE: (33541..33542) \"\n\"\n FORM: (33542..33571)\n OPEN_PAREN: (33542..33543) \"(\"\n SYMBOL: (33543..33547)\n IDENTIFIER: (33543..33547) \"test\"\n ATMOSPHERE: (33547..33548) \" \"\n CONSTANT: (33548..33550)\n BOOLEAN: (33548..33550) \"#f\"\n ATMOSPHERE: (33550..33551) \" \"\n FORM: (33551..33570)\n OPEN_PAREN: (33551..33552) \"(\"\n SYMBOL: (33552..33561)\n IDENTIFIER: (33552..33561) \"char-ci>?\"\n ATMOSPHERE: (33561..33562) \" \"\n CONSTANT: (33562..33565)\n CHARACTER: (33562..33565) \"#\\a\"\n ATMOSPHERE: (33565..33566) \" \"\n CONSTANT: (33566..33569)\n CHARACTER: (33566..33569) \"#\\A\"\n CLOSE_PAREN: (33569..33570) \")\"\n CLOSE_PAREN: (33570..33571) \")\"\n ATMOSPHERE: (33571..33572) \"\n\"\n FORM: (33572..33605)\n OPEN_PAREN: (33572..33573) \"(\"\n SYMBOL: (33573..33577)\n IDENTIFIER: (33573..33577) \"test\"\n ATMOSPHERE: (33577..33578) \" \"\n CONSTANT: (33578..33580)\n BOOLEAN: (33578..33580) \"#t\"\n ATMOSPHERE: (33580..33581) \" \"\n FORM: (33581..33604)\n OPEN_PAREN: (33581..33582) \"(\"\n SYMBOL: (33582..33591)\n IDENTIFIER: (33582..33591) \"char-ci>?\"\n ATMOSPHERE: (33591..33592) \" \"\n CONSTANT: (33592..33595)\n CHARACTER: (33592..33595) \"#\\c\"\n ATMOSPHERE: (33595..33596) \" \"\n CONSTANT: (33596..33599)\n CHARACTER: (33596..33599) \"#\\B\"\n ATMOSPHERE: (33599..33600) \" \"\n CONSTANT: (33600..33603)\n CHARACTER: (33600..33603) \"#\\a\"\n CLOSE_PAREN: (33603..33604) \")\"\n CLOSE_PAREN: (33604..33605) \")\"\n ATMOSPHERE: (33605..33606) \"\n\"\n FORM: (33606..33640)\n OPEN_PAREN: (33606..33607) \"(\"\n SYMBOL: (33607..33611)\n IDENTIFIER: (33607..33611) \"test\"\n ATMOSPHERE: (33611..33612) \" \"\n CONSTANT: (33612..33614)\n BOOLEAN: (33612..33614) \"#t\"\n ATMOSPHERE: (33614..33615) \" \"\n FORM: (33615..33639)\n OPEN_PAREN: (33615..33616) \"(\"\n SYMBOL: (33616..33626)\n IDENTIFIER: (33616..33626) \"char-ci<=?\"\n ATMOSPHERE: (33626..33627) \" \"\n CONSTANT: (33627..33630)\n CHARACTER: (33627..33630) \"#\\a\"\n ATMOSPHERE: (33630..33631) \" \"\n CONSTANT: (33631..33634)\n CHARACTER: (33631..33634) \"#\\B\"\n ATMOSPHERE: (33634..33635) \" \"\n CONSTANT: (33635..33638)\n CHARACTER: (33635..33638) \"#\\b\"\n CLOSE_PAREN: (33638..33639) \")\"\n CLOSE_PAREN: (33639..33640) \")\"\n ATMOSPHERE: (33640..33641) \"\n\"\n FORM: (33641..33671)\n OPEN_PAREN: (33641..33642) \"(\"\n SYMBOL: (33642..33646)\n IDENTIFIER: (33642..33646) \"test\"\n ATMOSPHERE: (33646..33647) \" \"\n CONSTANT: (33647..33649)\n BOOLEAN: (33647..33649) \"#t\"\n ATMOSPHERE: (33649..33650) \" \"\n FORM: (33650..33670)\n OPEN_PAREN: (33650..33651) \"(\"\n SYMBOL: (33651..33661)\n IDENTIFIER: (33651..33661) \"char-ci<=?\"\n ATMOSPHERE: (33661..33662) \" \"\n CONSTANT: (33662..33665)\n CHARACTER: (33662..33665) \"#\\A\"\n ATMOSPHERE: (33665..33666) \" \"\n CONSTANT: (33666..33669)\n CHARACTER: (33666..33669) \"#\\a\"\n CLOSE_PAREN: (33669..33670) \")\"\n CLOSE_PAREN: (33670..33671) \")\"\n ATMOSPHERE: (33671..33672) \"\n\"\n FORM: (33672..33702)\n OPEN_PAREN: (33672..33673) \"(\"\n SYMBOL: (33673..33677)\n IDENTIFIER: (33673..33677) \"test\"\n ATMOSPHERE: (33677..33678) \" \"\n CONSTANT: (33678..33680)\n BOOLEAN: (33678..33680) \"#f\"\n ATMOSPHERE: (33680..33681) \" \"\n FORM: (33681..33701)\n OPEN_PAREN: (33681..33682) \"(\"\n SYMBOL: (33682..33692)\n IDENTIFIER: (33682..33692) \"char-ci<=?\"\n ATMOSPHERE: (33692..33693) \" \"\n CONSTANT: (33693..33696)\n CHARACTER: (33693..33696) \"#\\b\"\n ATMOSPHERE: (33696..33697) \" \"\n CONSTANT: (33697..33700)\n CHARACTER: (33697..33700) \"#\\A\"\n CLOSE_PAREN: (33700..33701) \")\"\n CLOSE_PAREN: (33701..33702) \")\"\n ATMOSPHERE: (33702..33703) \"\n\"\n FORM: (33703..33733)\n OPEN_PAREN: (33703..33704) \"(\"\n SYMBOL: (33704..33708)\n IDENTIFIER: (33704..33708) \"test\"\n ATMOSPHERE: (33708..33709) \" \"\n CONSTANT: (33709..33711)\n BOOLEAN: (33709..33711) \"#f\"\n ATMOSPHERE: (33711..33712) \" \"\n FORM: (33712..33732)\n OPEN_PAREN: (33712..33713) \"(\"\n SYMBOL: (33713..33723)\n IDENTIFIER: (33713..33723) \"char-ci>=?\"\n ATMOSPHERE: (33723..33724) \" \"\n CONSTANT: (33724..33727)\n CHARACTER: (33724..33727) \"#\\A\"\n ATMOSPHERE: (33727..33728) \" \"\n CONSTANT: (33728..33731)\n CHARACTER: (33728..33731) \"#\\b\"\n CLOSE_PAREN: (33731..33732) \")\"\n CLOSE_PAREN: (33732..33733) \")\"\n ATMOSPHERE: (33733..33734) \"\n\"\n FORM: (33734..33764)\n OPEN_PAREN: (33734..33735) \"(\"\n SYMBOL: (33735..33739)\n IDENTIFIER: (33735..33739) \"test\"\n ATMOSPHERE: (33739..33740) \" \"\n CONSTANT: (33740..33742)\n BOOLEAN: (33740..33742) \"#t\"\n ATMOSPHERE: (33742..33743) \" \"\n FORM: (33743..33763)\n OPEN_PAREN: (33743..33744) \"(\"\n SYMBOL: (33744..33754)\n IDENTIFIER: (33744..33754) \"char-ci>=?\"\n ATMOSPHERE: (33754..33755) \" \"\n CONSTANT: (33755..33758)\n CHARACTER: (33755..33758) \"#\\a\"\n ATMOSPHERE: (33758..33759) \" \"\n CONSTANT: (33759..33762)\n CHARACTER: (33759..33762) \"#\\A\"\n CLOSE_PAREN: (33762..33763) \")\"\n CLOSE_PAREN: (33763..33764) \")\"\n ATMOSPHERE: (33764..33765) \"\n\"\n FORM: (33765..33799)\n OPEN_PAREN: (33765..33766) \"(\"\n SYMBOL: (33766..33770)\n IDENTIFIER: (33766..33770) \"test\"\n ATMOSPHERE: (33770..33771) \" \"\n CONSTANT: (33771..33773)\n BOOLEAN: (33771..33773) \"#t\"\n ATMOSPHERE: (33773..33774) \" \"\n FORM: (33774..33798)\n OPEN_PAREN: (33774..33775) \"(\"\n SYMBOL: (33775..33785)\n IDENTIFIER: (33775..33785) \"char-ci>=?\"\n ATMOSPHERE: (33785..33786) \" \"\n CONSTANT: (33786..33789)\n CHARACTER: (33786..33789) \"#\\b\"\n ATMOSPHERE: (33789..33790) \" \"\n CONSTANT: (33790..33793)\n CHARACTER: (33790..33793) \"#\\B\"\n ATMOSPHERE: (33793..33794) \" \"\n CONSTANT: (33794..33797)\n CHARACTER: (33794..33797) \"#\\a\"\n CLOSE_PAREN: (33797..33798) \")\"\n CLOSE_PAREN: (33798..33799) \")\"\n ATMOSPHERE: (33799..33801) \"\n\n\"\n FORM: (33801..33833)\n OPEN_PAREN: (33801..33802) \"(\"\n SYMBOL: (33802..33806)\n IDENTIFIER: (33802..33806) \"test\"\n ATMOSPHERE: (33806..33807) \" \"\n CONSTANT: (33807..33809)\n BOOLEAN: (33807..33809) \"#t\"\n ATMOSPHERE: (33809..33810) \" \"\n FORM: (33810..33832)\n OPEN_PAREN: (33810..33811) \"(\"\n SYMBOL: (33811..33827)\n IDENTIFIER: (33811..33827) \"char-alphabetic?\"\n ATMOSPHERE: (33827..33828) \" \"\n CONSTANT: (33828..33831)\n CHARACTER: (33828..33831) \"#\\a\"\n CLOSE_PAREN: (33831..33832) \")\"\n CLOSE_PAREN: (33832..33833) \")\"\n ATMOSPHERE: (33833..33834) \"\n\"\n FORM: (33834..33870)\n OPEN_PAREN: (33834..33835) \"(\"\n SYMBOL: (33835..33839)\n IDENTIFIER: (33835..33839) \"test\"\n ATMOSPHERE: (33839..33840) \" \"\n CONSTANT: (33840..33842)\n BOOLEAN: (33840..33842) \"#f\"\n ATMOSPHERE: (33842..33843) \" \"\n FORM: (33843..33869)\n OPEN_PAREN: (33843..33844) \"(\"\n SYMBOL: (33844..33860)\n IDENTIFIER: (33844..33860) \"char-alphabetic?\"\n ATMOSPHERE: (33860..33861) \" \"\n CONSTANT: (33861..33868)\n CHARACTER: (33861..33868) \"#\\space\"\n CLOSE_PAREN: (33868..33869) \")\"\n CLOSE_PAREN: (33869..33870) \")\"\n ATMOSPHERE: (33870..33871) \"\n\"\n FORM: (33871..33900)\n OPEN_PAREN: (33871..33872) \"(\"\n SYMBOL: (33872..33876)\n IDENTIFIER: (33872..33876) \"test\"\n ATMOSPHERE: (33876..33877) \" \"\n CONSTANT: (33877..33879)\n BOOLEAN: (33877..33879) \"#t\"\n ATMOSPHERE: (33879..33880) \" \"\n FORM: (33880..33899)\n OPEN_PAREN: (33880..33881) \"(\"\n SYMBOL: (33881..33894)\n IDENTIFIER: (33881..33894) \"char-numeric?\"\n ATMOSPHERE: (33894..33895) \" \"\n CONSTANT: (33895..33898)\n CHARACTER: (33895..33898) \"#\\0\"\n CLOSE_PAREN: (33898..33899) \")\"\n CLOSE_PAREN: (33899..33900) \")\"\n ATMOSPHERE: (33900..33901) \"\n\"\n FORM: (33901..33930)\n OPEN_PAREN: (33901..33902) \"(\"\n SYMBOL: (33902..33906)\n IDENTIFIER: (33902..33906) \"test\"\n ATMOSPHERE: (33906..33907) \" \"\n CONSTANT: (33907..33909)\n BOOLEAN: (33907..33909) \"#f\"\n ATMOSPHERE: (33909..33910) \" \"\n FORM: (33910..33929)\n OPEN_PAREN: (33910..33911) \"(\"\n SYMBOL: (33911..33924)\n IDENTIFIER: (33911..33924) \"char-numeric?\"\n ATMOSPHERE: (33924..33925) \" \"\n CONSTANT: (33925..33928)\n CHARACTER: (33925..33928) \"#\\.\"\n CLOSE_PAREN: (33928..33929) \")\"\n CLOSE_PAREN: (33929..33930) \")\"\n ATMOSPHERE: (33930..33931) \"\n\"\n FORM: (33931..33960)\n OPEN_PAREN: (33931..33932) \"(\"\n SYMBOL: (33932..33936)\n IDENTIFIER: (33932..33936) \"test\"\n ATMOSPHERE: (33936..33937) \" \"\n CONSTANT: (33937..33939)\n BOOLEAN: (33937..33939) \"#f\"\n ATMOSPHERE: (33939..33940) \" \"\n FORM: (33940..33959)\n OPEN_PAREN: (33940..33941) \"(\"\n SYMBOL: (33941..33954)\n IDENTIFIER: (33941..33954) \"char-numeric?\"\n ATMOSPHERE: (33954..33955) \" \"\n CONSTANT: (33955..33958)\n CHARACTER: (33955..33958) \"#\\a\"\n CLOSE_PAREN: (33958..33959) \")\"\n CLOSE_PAREN: (33959..33960) \")\"\n ATMOSPHERE: (33960..33961) \"\n\"\n FORM: (33961..33997)\n OPEN_PAREN: (33961..33962) \"(\"\n SYMBOL: (33962..33966)\n IDENTIFIER: (33962..33966) \"test\"\n ATMOSPHERE: (33966..33967) \" \"\n CONSTANT: (33967..33969)\n BOOLEAN: (33967..33969) \"#t\"\n ATMOSPHERE: (33969..33970) \" \"\n FORM: (33970..33996)\n OPEN_PAREN: (33970..33971) \"(\"\n SYMBOL: (33971..33987)\n IDENTIFIER: (33971..33987) \"char-whitespace?\"\n ATMOSPHERE: (33987..33988) \" \"\n CONSTANT: (33988..33995)\n CHARACTER: (33988..33995) \"#\\space\"\n CLOSE_PAREN: (33995..33996) \")\"\n CLOSE_PAREN: (33996..33997) \")\"\n ATMOSPHERE: (33997..33998) \"\n\"\n FORM: (33998..34032)\n OPEN_PAREN: (33998..33999) \"(\"\n SYMBOL: (33999..34003)\n IDENTIFIER: (33999..34003) \"test\"\n ATMOSPHERE: (34003..34004) \" \"\n CONSTANT: (34004..34006)\n BOOLEAN: (34004..34006) \"#t\"\n ATMOSPHERE: (34006..34007) \" \"\n FORM: (34007..34031)\n OPEN_PAREN: (34007..34008) \"(\"\n SYMBOL: (34008..34024)\n IDENTIFIER: (34008..34024) \"char-whitespace?\"\n ATMOSPHERE: (34024..34025) \" \"\n CONSTANT: (34025..34030)\n CHARACTER: (34025..34030) \"#\\tab\"\n CLOSE_PAREN: (34030..34031) \")\"\n CLOSE_PAREN: (34031..34032) \")\"\n ATMOSPHERE: (34032..34033) \"\n\"\n FORM: (34033..34071)\n OPEN_PAREN: (34033..34034) \"(\"\n SYMBOL: (34034..34038)\n IDENTIFIER: (34034..34038) \"test\"\n ATMOSPHERE: (34038..34039) \" \"\n CONSTANT: (34039..34041)\n BOOLEAN: (34039..34041) \"#t\"\n ATMOSPHERE: (34041..34042) \" \"\n FORM: (34042..34070)\n OPEN_PAREN: (34042..34043) \"(\"\n SYMBOL: (34043..34059)\n IDENTIFIER: (34043..34059) \"char-whitespace?\"\n ATMOSPHERE: (34059..34060) \" \"\n CONSTANT: (34060..34069)\n CHARACTER: (34060..34069) \"#\\newline\"\n CLOSE_PAREN: (34069..34070) \")\"\n CLOSE_PAREN: (34070..34071) \")\"\n ATMOSPHERE: (34071..34072) \"\n\"\n FORM: (34072..34104)\n OPEN_PAREN: (34072..34073) \"(\"\n SYMBOL: (34073..34077)\n IDENTIFIER: (34073..34077) \"test\"\n ATMOSPHERE: (34077..34078) \" \"\n CONSTANT: (34078..34080)\n BOOLEAN: (34078..34080) \"#f\"\n ATMOSPHERE: (34080..34081) \" \"\n FORM: (34081..34103)\n OPEN_PAREN: (34081..34082) \"(\"\n SYMBOL: (34082..34098)\n IDENTIFIER: (34082..34098) \"char-whitespace?\"\n ATMOSPHERE: (34098..34099) \" \"\n CONSTANT: (34099..34102)\n CHARACTER: (34099..34102) \"#\\_\"\n CLOSE_PAREN: (34102..34103) \")\"\n CLOSE_PAREN: (34103..34104) \")\"\n ATMOSPHERE: (34104..34105) \"\n\"\n FORM: (34105..34137)\n OPEN_PAREN: (34105..34106) \"(\"\n SYMBOL: (34106..34110)\n IDENTIFIER: (34106..34110) \"test\"\n ATMOSPHERE: (34110..34111) \" \"\n CONSTANT: (34111..34113)\n BOOLEAN: (34111..34113) \"#f\"\n ATMOSPHERE: (34113..34114) \" \"\n FORM: (34114..34136)\n OPEN_PAREN: (34114..34115) \"(\"\n SYMBOL: (34115..34131)\n IDENTIFIER: (34115..34131) \"char-whitespace?\"\n ATMOSPHERE: (34131..34132) \" \"\n CONSTANT: (34132..34135)\n CHARACTER: (34132..34135) \"#\\a\"\n CLOSE_PAREN: (34135..34136) \")\"\n CLOSE_PAREN: (34136..34137) \")\"\n ATMOSPHERE: (34137..34138) \"\n\"\n FORM: (34138..34170)\n OPEN_PAREN: (34138..34139) \"(\"\n SYMBOL: (34139..34143)\n IDENTIFIER: (34139..34143) \"test\"\n ATMOSPHERE: (34143..34144) \" \"\n CONSTANT: (34144..34146)\n BOOLEAN: (34144..34146) \"#t\"\n ATMOSPHERE: (34146..34147) \" \"\n FORM: (34147..34169)\n OPEN_PAREN: (34147..34148) \"(\"\n SYMBOL: (34148..34164)\n IDENTIFIER: (34148..34164) \"char-upper-case?\"\n ATMOSPHERE: (34164..34165) \" \"\n CONSTANT: (34165..34168)\n CHARACTER: (34165..34168) \"#\\A\"\n CLOSE_PAREN: (34168..34169) \")\"\n CLOSE_PAREN: (34169..34170) \")\"\n ATMOSPHERE: (34170..34171) \"\n\"\n FORM: (34171..34203)\n OPEN_PAREN: (34171..34172) \"(\"\n SYMBOL: (34172..34176)\n IDENTIFIER: (34172..34176) \"test\"\n ATMOSPHERE: (34176..34177) \" \"\n CONSTANT: (34177..34179)\n BOOLEAN: (34177..34179) \"#f\"\n ATMOSPHERE: (34179..34180) \" \"\n FORM: (34180..34202)\n OPEN_PAREN: (34180..34181) \"(\"\n SYMBOL: (34181..34197)\n IDENTIFIER: (34181..34197) \"char-upper-case?\"\n ATMOSPHERE: (34197..34198) \" \"\n CONSTANT: (34198..34201)\n CHARACTER: (34198..34201) \"#\\a\"\n CLOSE_PAREN: (34201..34202) \")\"\n CLOSE_PAREN: (34202..34203) \")\"\n ATMOSPHERE: (34203..34204) \"\n\"\n FORM: (34204..34236)\n OPEN_PAREN: (34204..34205) \"(\"\n SYMBOL: (34205..34209)\n IDENTIFIER: (34205..34209) \"test\"\n ATMOSPHERE: (34209..34210) \" \"\n CONSTANT: (34210..34212)\n BOOLEAN: (34210..34212) \"#f\"\n ATMOSPHERE: (34212..34213) \" \"\n FORM: (34213..34235)\n OPEN_PAREN: (34213..34214) \"(\"\n SYMBOL: (34214..34230)\n IDENTIFIER: (34214..34230) \"char-upper-case?\"\n ATMOSPHERE: (34230..34231) \" \"\n CONSTANT: (34231..34234)\n CHARACTER: (34231..34234) \"#\\3\"\n CLOSE_PAREN: (34234..34235) \")\"\n CLOSE_PAREN: (34235..34236) \")\"\n ATMOSPHERE: (34236..34237) \"\n\"\n FORM: (34237..34269)\n OPEN_PAREN: (34237..34238) \"(\"\n SYMBOL: (34238..34242)\n IDENTIFIER: (34238..34242) \"test\"\n ATMOSPHERE: (34242..34243) \" \"\n CONSTANT: (34243..34245)\n BOOLEAN: (34243..34245) \"#t\"\n ATMOSPHERE: (34245..34246) \" \"\n FORM: (34246..34268)\n OPEN_PAREN: (34246..34247) \"(\"\n SYMBOL: (34247..34263)\n IDENTIFIER: (34247..34263) \"char-lower-case?\"\n ATMOSPHERE: (34263..34264) \" \"\n CONSTANT: (34264..34267)\n CHARACTER: (34264..34267) \"#\\a\"\n CLOSE_PAREN: (34267..34268) \")\"\n CLOSE_PAREN: (34268..34269) \")\"\n ATMOSPHERE: (34269..34270) \"\n\"\n FORM: (34270..34302)\n OPEN_PAREN: (34270..34271) \"(\"\n SYMBOL: (34271..34275)\n IDENTIFIER: (34271..34275) \"test\"\n ATMOSPHERE: (34275..34276) \" \"\n CONSTANT: (34276..34278)\n BOOLEAN: (34276..34278) \"#f\"\n ATMOSPHERE: (34278..34279) \" \"\n FORM: (34279..34301)\n OPEN_PAREN: (34279..34280) \"(\"\n SYMBOL: (34280..34296)\n IDENTIFIER: (34280..34296) \"char-lower-case?\"\n ATMOSPHERE: (34296..34297) \" \"\n CONSTANT: (34297..34300)\n CHARACTER: (34297..34300) \"#\\A\"\n CLOSE_PAREN: (34300..34301) \")\"\n CLOSE_PAREN: (34301..34302) \")\"\n ATMOSPHERE: (34302..34303) \"\n\"\n FORM: (34303..34335)\n OPEN_PAREN: (34303..34304) \"(\"\n SYMBOL: (34304..34308)\n IDENTIFIER: (34304..34308) \"test\"\n ATMOSPHERE: (34308..34309) \" \"\n CONSTANT: (34309..34311)\n BOOLEAN: (34309..34311) \"#f\"\n ATMOSPHERE: (34311..34312) \" \"\n FORM: (34312..34334)\n OPEN_PAREN: (34312..34313) \"(\"\n SYMBOL: (34313..34329)\n IDENTIFIER: (34313..34329) \"char-lower-case?\"\n ATMOSPHERE: (34329..34330) \" \"\n CONSTANT: (34330..34333)\n CHARACTER: (34330..34333) \"#\\3\"\n CLOSE_PAREN: (34333..34334) \")\"\n CLOSE_PAREN: (34334..34335) \")\"\n ATMOSPHERE: (34335..34337) \"\n\n\"\n FORM: (34337..34369)\n OPEN_PAREN: (34337..34338) \"(\"\n SYMBOL: (34338..34342)\n IDENTIFIER: (34338..34342) \"test\"\n ATMOSPHERE: (34342..34343) \" \"\n CONSTANT: (34343..34345)\n BOOLEAN: (34343..34345) \"#t\"\n ATMOSPHERE: (34345..34346) \" \"\n FORM: (34346..34368)\n OPEN_PAREN: (34346..34347) \"(\"\n SYMBOL: (34347..34363)\n IDENTIFIER: (34347..34363) \"char-alphabetic?\"\n ATMOSPHERE: (34363..34364) \" \"\n CONSTANT: (34364..34367)\n CHARACTER: (34364..34367) \"#\\Λ\"\n CLOSE_PAREN: (34367..34368) \")\"\n CLOSE_PAREN: (34368..34369) \")\"\n ATMOSPHERE: (34369..34370) \"\n\"\n FORM: (34370..34406)\n OPEN_PAREN: (34370..34371) \"(\"\n SYMBOL: (34371..34375)\n IDENTIFIER: (34371..34375) \"test\"\n ATMOSPHERE: (34375..34376) \" \"\n CONSTANT: (34376..34378)\n BOOLEAN: (34376..34378) \"#f\"\n ATMOSPHERE: (34378..34379) \" \"\n FORM: (34379..34405)\n OPEN_PAREN: (34379..34380) \"(\"\n SYMBOL: (34380..34396)\n IDENTIFIER: (34380..34396) \"char-alphabetic?\"\n ATMOSPHERE: (34396..34397) \" \"\n CONSTANT: (34397..34404)\n CHARACTER: (34397..34404) \"#\\x0E50\"\n CLOSE_PAREN: (34404..34405) \")\"\n CLOSE_PAREN: (34405..34406) \")\"\n ATMOSPHERE: (34406..34407) \"\n\"\n FORM: (34407..34439)\n OPEN_PAREN: (34407..34408) \"(\"\n SYMBOL: (34408..34412)\n IDENTIFIER: (34408..34412) \"test\"\n ATMOSPHERE: (34412..34413) \" \"\n CONSTANT: (34413..34415)\n BOOLEAN: (34413..34415) \"#t\"\n ATMOSPHERE: (34415..34416) \" \"\n FORM: (34416..34438)\n OPEN_PAREN: (34416..34417) \"(\"\n SYMBOL: (34417..34433)\n IDENTIFIER: (34417..34433) \"char-upper-case?\"\n ATMOSPHERE: (34433..34434) \" \"\n CONSTANT: (34434..34437)\n CHARACTER: (34434..34437) \"#\\Λ\"\n CLOSE_PAREN: (34437..34438) \")\"\n CLOSE_PAREN: (34438..34439) \")\"\n ATMOSPHERE: (34439..34440) \"\n\"\n FORM: (34440..34472)\n OPEN_PAREN: (34440..34441) \"(\"\n SYMBOL: (34441..34445)\n IDENTIFIER: (34441..34445) \"test\"\n ATMOSPHERE: (34445..34446) \" \"\n CONSTANT: (34446..34448)\n BOOLEAN: (34446..34448) \"#f\"\n ATMOSPHERE: (34448..34449) \" \"\n FORM: (34449..34471)\n OPEN_PAREN: (34449..34450) \"(\"\n SYMBOL: (34450..34466)\n IDENTIFIER: (34450..34466) \"char-upper-case?\"\n ATMOSPHERE: (34466..34467) \" \"\n CONSTANT: (34467..34470)\n CHARACTER: (34467..34470) \"#\\λ\"\n CLOSE_PAREN: (34470..34471) \")\"\n CLOSE_PAREN: (34471..34472) \")\"\n ATMOSPHERE: (34472..34473) \"\n\"\n FORM: (34473..34505)\n OPEN_PAREN: (34473..34474) \"(\"\n SYMBOL: (34474..34478)\n IDENTIFIER: (34474..34478) \"test\"\n ATMOSPHERE: (34478..34479) \" \"\n CONSTANT: (34479..34481)\n BOOLEAN: (34479..34481) \"#f\"\n ATMOSPHERE: (34481..34482) \" \"\n FORM: (34482..34504)\n OPEN_PAREN: (34482..34483) \"(\"\n SYMBOL: (34483..34499)\n IDENTIFIER: (34483..34499) \"char-lower-case?\"\n ATMOSPHERE: (34499..34500) \" \"\n CONSTANT: (34500..34503)\n CHARACTER: (34500..34503) \"#\\Λ\"\n CLOSE_PAREN: (34503..34504) \")\"\n CLOSE_PAREN: (34504..34505) \")\"\n ATMOSPHERE: (34505..34506) \"\n\"\n FORM: (34506..34538)\n OPEN_PAREN: (34506..34507) \"(\"\n SYMBOL: (34507..34511)\n IDENTIFIER: (34507..34511) \"test\"\n ATMOSPHERE: (34511..34512) \" \"\n CONSTANT: (34512..34514)\n BOOLEAN: (34512..34514) \"#t\"\n ATMOSPHERE: (34514..34515) \" \"\n FORM: (34515..34537)\n OPEN_PAREN: (34515..34516) \"(\"\n SYMBOL: (34516..34532)\n IDENTIFIER: (34516..34532) \"char-lower-case?\"\n ATMOSPHERE: (34532..34533) \" \"\n CONSTANT: (34533..34536)\n CHARACTER: (34533..34536) \"#\\λ\"\n CLOSE_PAREN: (34536..34537) \")\"\n CLOSE_PAREN: (34537..34538) \")\"\n ATMOSPHERE: (34538..34539) \"\n\"\n FORM: (34539..34568)\n OPEN_PAREN: (34539..34540) \"(\"\n SYMBOL: (34540..34544)\n IDENTIFIER: (34540..34544) \"test\"\n ATMOSPHERE: (34544..34545) \" \"\n CONSTANT: (34545..34547)\n BOOLEAN: (34545..34547) \"#f\"\n ATMOSPHERE: (34547..34548) \" \"\n FORM: (34548..34567)\n OPEN_PAREN: (34548..34549) \"(\"\n SYMBOL: (34549..34562)\n IDENTIFIER: (34549..34562) \"char-numeric?\"\n ATMOSPHERE: (34562..34563) \" \"\n CONSTANT: (34563..34566)\n CHARACTER: (34563..34566) \"#\\Λ\"\n CLOSE_PAREN: (34566..34567) \")\"\n CLOSE_PAREN: (34567..34568) \")\"\n ATMOSPHERE: (34568..34569) \"\n\"\n FORM: (34569..34602)\n OPEN_PAREN: (34569..34570) \"(\"\n SYMBOL: (34570..34574)\n IDENTIFIER: (34570..34574) \"test\"\n ATMOSPHERE: (34574..34575) \" \"\n CONSTANT: (34575..34577)\n BOOLEAN: (34575..34577) \"#t\"\n ATMOSPHERE: (34577..34578) \" \"\n FORM: (34578..34601)\n OPEN_PAREN: (34578..34579) \"(\"\n SYMBOL: (34579..34592)\n IDENTIFIER: (34579..34592) \"char-numeric?\"\n ATMOSPHERE: (34592..34593) \" \"\n CONSTANT: (34593..34600)\n CHARACTER: (34593..34600) \"#\\x0E50\"\n CLOSE_PAREN: (34600..34601) \")\"\n CLOSE_PAREN: (34601..34602) \")\"\n ATMOSPHERE: (34602..34603) \"\n\"\n FORM: (34603..34639)\n OPEN_PAREN: (34603..34604) \"(\"\n SYMBOL: (34604..34608)\n IDENTIFIER: (34604..34608) \"test\"\n ATMOSPHERE: (34608..34609) \" \"\n CONSTANT: (34609..34611)\n BOOLEAN: (34609..34611) \"#t\"\n ATMOSPHERE: (34611..34612) \" \"\n FORM: (34612..34638)\n OPEN_PAREN: (34612..34613) \"(\"\n SYMBOL: (34613..34629)\n IDENTIFIER: (34613..34629) \"char-whitespace?\"\n ATMOSPHERE: (34629..34630) \" \"\n CONSTANT: (34630..34637)\n CHARACTER: (34630..34637) \"#\\x1680\"\n CLOSE_PAREN: (34637..34638) \")\"\n CLOSE_PAREN: (34638..34639) \")\"\n ATMOSPHERE: (34639..34641) \"\n\n\"\n FORM: (34641..34667)\n OPEN_PAREN: (34641..34642) \"(\"\n SYMBOL: (34642..34646)\n IDENTIFIER: (34642..34646) \"test\"\n ATMOSPHERE: (34646..34647) \" \"\n CONSTANT: (34647..34648)\n NUMBER: (34647..34648) \"0\"\n ATMOSPHERE: (34648..34649) \" \"\n FORM: (34649..34666)\n OPEN_PAREN: (34649..34650) \"(\"\n SYMBOL: (34650..34661)\n IDENTIFIER: (34650..34661) \"digit-value\"\n ATMOSPHERE: (34661..34662) \" \"\n CONSTANT: (34662..34665)\n CHARACTER: (34662..34665) \"#\\0\"\n CLOSE_PAREN: (34665..34666) \")\"\n CLOSE_PAREN: (34666..34667) \")\"\n ATMOSPHERE: (34667..34668) \"\n\"\n FORM: (34668..34694)\n OPEN_PAREN: (34668..34669) \"(\"\n SYMBOL: (34669..34673)\n IDENTIFIER: (34669..34673) \"test\"\n ATMOSPHERE: (34673..34674) \" \"\n CONSTANT: (34674..34675)\n NUMBER: (34674..34675) \"3\"\n ATMOSPHERE: (34675..34676) \" \"\n FORM: (34676..34693)\n OPEN_PAREN: (34676..34677) \"(\"\n SYMBOL: (34677..34688)\n IDENTIFIER: (34677..34688) \"digit-value\"\n ATMOSPHERE: (34688..34689) \" \"\n CONSTANT: (34689..34692)\n CHARACTER: (34689..34692) \"#\\3\"\n CLOSE_PAREN: (34692..34693) \")\"\n CLOSE_PAREN: (34693..34694) \")\"\n ATMOSPHERE: (34694..34695) \"\n\"\n FORM: (34695..34721)\n OPEN_PAREN: (34695..34696) \"(\"\n SYMBOL: (34696..34700)\n IDENTIFIER: (34696..34700) \"test\"\n ATMOSPHERE: (34700..34701) \" \"\n CONSTANT: (34701..34702)\n NUMBER: (34701..34702) \"9\"\n ATMOSPHERE: (34702..34703) \" \"\n FORM: (34703..34720)\n OPEN_PAREN: (34703..34704) \"(\"\n SYMBOL: (34704..34715)\n IDENTIFIER: (34704..34715) \"digit-value\"\n ATMOSPHERE: (34715..34716) \" \"\n CONSTANT: (34716..34719)\n CHARACTER: (34716..34719) \"#\\9\"\n CLOSE_PAREN: (34719..34720) \")\"\n CLOSE_PAREN: (34720..34721) \")\"\n ATMOSPHERE: (34721..34722) \"\n\"\n FORM: (34722..34752)\n OPEN_PAREN: (34722..34723) \"(\"\n SYMBOL: (34723..34727)\n IDENTIFIER: (34723..34727) \"test\"\n ATMOSPHERE: (34727..34728) \" \"\n CONSTANT: (34728..34729)\n NUMBER: (34728..34729) \"4\"\n ATMOSPHERE: (34729..34730) \" \"\n FORM: (34730..34751)\n OPEN_PAREN: (34730..34731) \"(\"\n SYMBOL: (34731..34742)\n IDENTIFIER: (34731..34742) \"digit-value\"\n ATMOSPHERE: (34742..34743) \" \"\n CONSTANT: (34743..34750)\n CHARACTER: (34743..34750) \"#\\x0664\"\n CLOSE_PAREN: (34750..34751) \")\"\n CLOSE_PAREN: (34751..34752) \")\"\n ATMOSPHERE: (34752..34753) \"\n\"\n FORM: (34753..34783)\n OPEN_PAREN: (34753..34754) \"(\"\n SYMBOL: (34754..34758)\n IDENTIFIER: (34754..34758) \"test\"\n ATMOSPHERE: (34758..34759) \" \"\n CONSTANT: (34759..34760)\n NUMBER: (34759..34760) \"0\"\n ATMOSPHERE: (34760..34761) \" \"\n FORM: (34761..34782)\n OPEN_PAREN: (34761..34762) \"(\"\n SYMBOL: (34762..34773)\n IDENTIFIER: (34762..34773) \"digit-value\"\n ATMOSPHERE: (34773..34774) \" \"\n CONSTANT: (34774..34781)\n CHARACTER: (34774..34781) \"#\\x0AE6\"\n CLOSE_PAREN: (34781..34782) \")\"\n CLOSE_PAREN: (34782..34783) \")\"\n ATMOSPHERE: (34783..34784) \"\n\"\n FORM: (34784..34811)\n OPEN_PAREN: (34784..34785) \"(\"\n SYMBOL: (34785..34789)\n IDENTIFIER: (34785..34789) \"test\"\n ATMOSPHERE: (34789..34790) \" \"\n CONSTANT: (34790..34792)\n BOOLEAN: (34790..34792) \"#f\"\n ATMOSPHERE: (34792..34793) \" \"\n FORM: (34793..34810)\n OPEN_PAREN: (34793..34794) \"(\"\n SYMBOL: (34794..34805)\n IDENTIFIER: (34794..34805) \"digit-value\"\n ATMOSPHERE: (34805..34806) \" \"\n CONSTANT: (34806..34809)\n CHARACTER: (34806..34809) \"#\\.\"\n CLOSE_PAREN: (34809..34810) \")\"\n CLOSE_PAREN: (34810..34811) \")\"\n ATMOSPHERE: (34811..34812) \"\n\"\n FORM: (34812..34839)\n OPEN_PAREN: (34812..34813) \"(\"\n SYMBOL: (34813..34817)\n IDENTIFIER: (34813..34817) \"test\"\n ATMOSPHERE: (34817..34818) \" \"\n CONSTANT: (34818..34820)\n BOOLEAN: (34818..34820) \"#f\"\n ATMOSPHERE: (34820..34821) \" \"\n FORM: (34821..34838)\n OPEN_PAREN: (34821..34822) \"(\"\n SYMBOL: (34822..34833)\n IDENTIFIER: (34822..34833) \"digit-value\"\n ATMOSPHERE: (34833..34834) \" \"\n CONSTANT: (34834..34837)\n CHARACTER: (34834..34837) \"#\\-\"\n CLOSE_PAREN: (34837..34838) \")\"\n CLOSE_PAREN: (34838..34839) \")\"\n ATMOSPHERE: (34839..34841) \"\n\n\"\n FORM: (34841..34870)\n OPEN_PAREN: (34841..34842) \"(\"\n SYMBOL: (34842..34846)\n IDENTIFIER: (34842..34846) \"test\"\n ATMOSPHERE: (34846..34847) \" \"\n CONSTANT: (34847..34849)\n NUMBER: (34847..34849) \"97\"\n ATMOSPHERE: (34849..34850) \" \"\n FORM: (34850..34869)\n OPEN_PAREN: (34850..34851) \"(\"\n SYMBOL: (34851..34864)\n IDENTIFIER: (34851..34864) \"char->integer\"\n ATMOSPHERE: (34864..34865) \" \"\n CONSTANT: (34865..34868)\n CHARACTER: (34865..34868) \"#\\a\"\n CLOSE_PAREN: (34868..34869) \")\"\n CLOSE_PAREN: (34869..34870) \")\"\n ATMOSPHERE: (34870..34871) \"\n\"\n FORM: (34871..34900)\n OPEN_PAREN: (34871..34872) \"(\"\n SYMBOL: (34872..34876)\n IDENTIFIER: (34872..34876) \"test\"\n ATMOSPHERE: (34876..34877) \" \"\n CONSTANT: (34877..34880)\n CHARACTER: (34877..34880) \"#\\a\"\n ATMOSPHERE: (34880..34881) \" \"\n FORM: (34881..34899)\n OPEN_PAREN: (34881..34882) \"(\"\n SYMBOL: (34882..34895)\n IDENTIFIER: (34882..34895) \"integer->char\"\n ATMOSPHERE: (34895..34896) \" \"\n CONSTANT: (34896..34898)\n NUMBER: (34896..34898) \"97\"\n CLOSE_PAREN: (34898..34899) \")\"\n CLOSE_PAREN: (34899..34900) \")\"\n ATMOSPHERE: (34900..34902) \"\n\n\"\n FORM: (34902..34930)\n OPEN_PAREN: (34902..34903) \"(\"\n SYMBOL: (34903..34907)\n IDENTIFIER: (34903..34907) \"test\"\n ATMOSPHERE: (34907..34908) \" \"\n CONSTANT: (34908..34911)\n CHARACTER: (34908..34911) \"#\\A\"\n ATMOSPHERE: (34911..34912) \" \"\n FORM: (34912..34929)\n OPEN_PAREN: (34912..34913) \"(\"\n SYMBOL: (34913..34924)\n IDENTIFIER: (34913..34924) \"char-upcase\"\n ATMOSPHERE: (34924..34925) \" \"\n CONSTANT: (34925..34928)\n CHARACTER: (34925..34928) \"#\\a\"\n CLOSE_PAREN: (34928..34929) \")\"\n CLOSE_PAREN: (34929..34930) \")\"\n ATMOSPHERE: (34930..34931) \"\n\"\n FORM: (34931..34959)\n OPEN_PAREN: (34931..34932) \"(\"\n SYMBOL: (34932..34936)\n IDENTIFIER: (34932..34936) \"test\"\n ATMOSPHERE: (34936..34937) \" \"\n CONSTANT: (34937..34940)\n CHARACTER: (34937..34940) \"#\\A\"\n ATMOSPHERE: (34940..34941) \" \"\n FORM: (34941..34958)\n OPEN_PAREN: (34941..34942) \"(\"\n SYMBOL: (34942..34953)\n IDENTIFIER: (34942..34953) \"char-upcase\"\n ATMOSPHERE: (34953..34954) \" \"\n CONSTANT: (34954..34957)\n CHARACTER: (34954..34957) \"#\\A\"\n CLOSE_PAREN: (34957..34958) \")\"\n CLOSE_PAREN: (34958..34959) \")\"\n ATMOSPHERE: (34959..34960) \"\n\"\n FORM: (34960..34990)\n OPEN_PAREN: (34960..34961) \"(\"\n SYMBOL: (34961..34965)\n IDENTIFIER: (34961..34965) \"test\"\n ATMOSPHERE: (34965..34966) \" \"\n CONSTANT: (34966..34969)\n CHARACTER: (34966..34969) \"#\\a\"\n ATMOSPHERE: (34969..34970) \" \"\n FORM: (34970..34989)\n OPEN_PAREN: (34970..34971) \"(\"\n SYMBOL: (34971..34984)\n IDENTIFIER: (34971..34984) \"char-downcase\"\n ATMOSPHERE: (34984..34985) \" \"\n CONSTANT: (34985..34988)\n CHARACTER: (34985..34988) \"#\\a\"\n CLOSE_PAREN: (34988..34989) \")\"\n CLOSE_PAREN: (34989..34990) \")\"\n ATMOSPHERE: (34990..34991) \"\n\"\n FORM: (34991..35021)\n OPEN_PAREN: (34991..34992) \"(\"\n SYMBOL: (34992..34996)\n IDENTIFIER: (34992..34996) \"test\"\n ATMOSPHERE: (34996..34997) \" \"\n CONSTANT: (34997..35000)\n CHARACTER: (34997..35000) \"#\\a\"\n ATMOSPHERE: (35000..35001) \" \"\n FORM: (35001..35020)\n OPEN_PAREN: (35001..35002) \"(\"\n SYMBOL: (35002..35015)\n IDENTIFIER: (35002..35015) \"char-downcase\"\n ATMOSPHERE: (35015..35016) \" \"\n CONSTANT: (35016..35019)\n CHARACTER: (35016..35019) \"#\\A\"\n CLOSE_PAREN: (35019..35020) \")\"\n CLOSE_PAREN: (35020..35021) \")\"\n ATMOSPHERE: (35021..35022) \"\n\"\n FORM: (35022..35052)\n OPEN_PAREN: (35022..35023) \"(\"\n SYMBOL: (35023..35027)\n IDENTIFIER: (35023..35027) \"test\"\n ATMOSPHERE: (35027..35028) \" \"\n CONSTANT: (35028..35031)\n CHARACTER: (35028..35031) \"#\\a\"\n ATMOSPHERE: (35031..35032) \" \"\n FORM: (35032..35051)\n OPEN_PAREN: (35032..35033) \"(\"\n SYMBOL: (35033..35046)\n IDENTIFIER: (35033..35046) \"char-foldcase\"\n ATMOSPHERE: (35046..35047) \" \"\n CONSTANT: (35047..35050)\n CHARACTER: (35047..35050) \"#\\a\"\n CLOSE_PAREN: (35050..35051) \")\"\n CLOSE_PAREN: (35051..35052) \")\"\n ATMOSPHERE: (35052..35053) \"\n\"\n FORM: (35053..35083)\n OPEN_PAREN: (35053..35054) \"(\"\n SYMBOL: (35054..35058)\n IDENTIFIER: (35054..35058) \"test\"\n ATMOSPHERE: (35058..35059) \" \"\n CONSTANT: (35059..35062)\n CHARACTER: (35059..35062) \"#\\a\"\n ATMOSPHERE: (35062..35063) \" \"\n FORM: (35063..35082)\n OPEN_PAREN: (35063..35064) \"(\"\n SYMBOL: (35064..35077)\n IDENTIFIER: (35064..35077) \"char-foldcase\"\n ATMOSPHERE: (35077..35078) \" \"\n CONSTANT: (35078..35081)\n CHARACTER: (35078..35081) \"#\\A\"\n CLOSE_PAREN: (35081..35082) \")\"\n CLOSE_PAREN: (35082..35083) \")\"\n ATMOSPHERE: (35083..35085) \"\n\n\"\n FORM: (35085..35113)\n OPEN_PAREN: (35085..35086) \"(\"\n SYMBOL: (35086..35090)\n IDENTIFIER: (35086..35090) \"test\"\n ATMOSPHERE: (35090..35091) \" \"\n CONSTANT: (35091..35094)\n CHARACTER: (35091..35094) \"#\\Λ\"\n ATMOSPHERE: (35094..35095) \" \"\n FORM: (35095..35112)\n OPEN_PAREN: (35095..35096) \"(\"\n SYMBOL: (35096..35107)\n IDENTIFIER: (35096..35107) \"char-upcase\"\n ATMOSPHERE: (35107..35108) \" \"\n CONSTANT: (35108..35111)\n CHARACTER: (35108..35111) \"#\\λ\"\n CLOSE_PAREN: (35111..35112) \")\"\n CLOSE_PAREN: (35112..35113) \")\"\n ATMOSPHERE: (35113..35114) \"\n\"\n FORM: (35114..35142)\n OPEN_PAREN: (35114..35115) \"(\"\n SYMBOL: (35115..35119)\n IDENTIFIER: (35115..35119) \"test\"\n ATMOSPHERE: (35119..35120) \" \"\n CONSTANT: (35120..35123)\n CHARACTER: (35120..35123) \"#\\Λ\"\n ATMOSPHERE: (35123..35124) \" \"\n FORM: (35124..35141)\n OPEN_PAREN: (35124..35125) \"(\"\n SYMBOL: (35125..35136)\n IDENTIFIER: (35125..35136) \"char-upcase\"\n ATMOSPHERE: (35136..35137) \" \"\n CONSTANT: (35137..35140)\n CHARACTER: (35137..35140) \"#\\Λ\"\n CLOSE_PAREN: (35140..35141) \")\"\n CLOSE_PAREN: (35141..35142) \")\"\n ATMOSPHERE: (35142..35143) \"\n\"\n FORM: (35143..35173)\n OPEN_PAREN: (35143..35144) \"(\"\n SYMBOL: (35144..35148)\n IDENTIFIER: (35144..35148) \"test\"\n ATMOSPHERE: (35148..35149) \" \"\n CONSTANT: (35149..35152)\n CHARACTER: (35149..35152) \"#\\λ\"\n ATMOSPHERE: (35152..35153) \" \"\n FORM: (35153..35172)\n OPEN_PAREN: (35153..35154) \"(\"\n SYMBOL: (35154..35167)\n IDENTIFIER: (35154..35167) \"char-downcase\"\n ATMOSPHERE: (35167..35168) \" \"\n CONSTANT: (35168..35171)\n CHARACTER: (35168..35171) \"#\\λ\"\n CLOSE_PAREN: (35171..35172) \")\"\n CLOSE_PAREN: (35172..35173) \")\"\n ATMOSPHERE: (35173..35174) \"\n\"\n FORM: (35174..35204)\n OPEN_PAREN: (35174..35175) \"(\"\n SYMBOL: (35175..35179)\n IDENTIFIER: (35175..35179) \"test\"\n ATMOSPHERE: (35179..35180) \" \"\n CONSTANT: (35180..35183)\n CHARACTER: (35180..35183) \"#\\λ\"\n ATMOSPHERE: (35183..35184) \" \"\n FORM: (35184..35203)\n OPEN_PAREN: (35184..35185) \"(\"\n SYMBOL: (35185..35198)\n IDENTIFIER: (35185..35198) \"char-downcase\"\n ATMOSPHERE: (35198..35199) \" \"\n CONSTANT: (35199..35202)\n CHARACTER: (35199..35202) \"#\\Λ\"\n CLOSE_PAREN: (35202..35203) \")\"\n CLOSE_PAREN: (35203..35204) \")\"\n ATMOSPHERE: (35204..35205) \"\n\"\n FORM: (35205..35235)\n OPEN_PAREN: (35205..35206) \"(\"\n SYMBOL: (35206..35210)\n IDENTIFIER: (35206..35210) \"test\"\n ATMOSPHERE: (35210..35211) \" \"\n CONSTANT: (35211..35214)\n CHARACTER: (35211..35214) \"#\\λ\"\n ATMOSPHERE: (35214..35215) \" \"\n FORM: (35215..35234)\n OPEN_PAREN: (35215..35216) \"(\"\n SYMBOL: (35216..35229)\n IDENTIFIER: (35216..35229) \"char-foldcase\"\n ATMOSPHERE: (35229..35230) \" \"\n CONSTANT: (35230..35233)\n CHARACTER: (35230..35233) \"#\\λ\"\n CLOSE_PAREN: (35233..35234) \")\"\n CLOSE_PAREN: (35234..35235) \")\"\n ATMOSPHERE: (35235..35236) \"\n\"\n FORM: (35236..35266)\n OPEN_PAREN: (35236..35237) \"(\"\n SYMBOL: (35237..35241)\n IDENTIFIER: (35237..35241) \"test\"\n ATMOSPHERE: (35241..35242) \" \"\n CONSTANT: (35242..35245)\n CHARACTER: (35242..35245) \"#\\λ\"\n ATMOSPHERE: (35245..35246) \" \"\n FORM: (35246..35265)\n OPEN_PAREN: (35246..35247) \"(\"\n SYMBOL: (35247..35260)\n IDENTIFIER: (35247..35260) \"char-foldcase\"\n ATMOSPHERE: (35260..35261) \" \"\n CONSTANT: (35261..35264)\n CHARACTER: (35261..35264) \"#\\Λ\"\n CLOSE_PAREN: (35264..35265) \")\"\n CLOSE_PAREN: (35265..35266) \")\"\n ATMOSPHERE: (35266..35268) \"\n\n\"\n FORM: (35268..35278)\n OPEN_PAREN: (35268..35269) \"(\"\n SYMBOL: (35269..35277)\n IDENTIFIER: (35269..35277) \"test-end\"\n CLOSE_PAREN: (35277..35278) \")\"\n ATMOSPHERE: (35278..35280) \"\n\n\"\n FORM: (35280..35306)\n OPEN_PAREN: (35280..35281) \"(\"\n SYMBOL: (35281..35291)\n IDENTIFIER: (35281..35291) \"test-begin\"\n ATMOSPHERE: (35291..35292) \" \"\n CONSTANT: (35292..35305)\n STRING: (35292..35305) \"\"6.7 Strings\"\"\n CLOSE_PAREN: (35305..35306) \")\"\n ATMOSPHERE: (35306..35308) \"\n\n\"\n ATMOSPHERE: (35308..35333) \";; (test #t (string? \"\"))\"\n ATMOSPHERE: (35333..35334) \"\n\"\n ATMOSPHERE: (35334..35360) \";; (test #t (string? \" \"))\"\n ATMOSPHERE: (35360..35361) \"\n\"\n ATMOSPHERE: (35361..35386) \";; (test #f (string? 'a))\"\n ATMOSPHERE: (35386..35387) \"\n\"\n ATMOSPHERE: (35387..35413) \";; (test #f (string? #\\a))\"\n ATMOSPHERE: (35413..35415) \"\n\n\"\n ATMOSPHERE: (35415..35458) \";; (test 3 (string-length (make-string 3)))\"\n ATMOSPHERE: (35458..35459) \"\n\"\n ATMOSPHERE: (35459..35494) \";; (test \"---\" (make-string 3 #\\-))\"\n ATMOSPHERE: (35494..35496) \"\n\n\"\n ATMOSPHERE: (35496..35517) \";; (test \"\" (string))\"\n ATMOSPHERE: (35517..35518) \"\n\"\n ATMOSPHERE: (35518..35554) \";; (test \"---\" (string #\\- #\\- #\\-))\"\n ATMOSPHERE: (35554..35555) \"\n\"\n ATMOSPHERE: (35555..35606) \";; (test \"kitten\" (string #\\k #\\i #\\t #\\t #\\e #\\n))\"\n ATMOSPHERE: (35606..35608) \"\n\n\"\n ATMOSPHERE: (35608..35638) \";; (test 0 (string-length \"\"))\"\n ATMOSPHERE: (35638..35639) \"\n\"\n ATMOSPHERE: (35639..35670) \";; (test 1 (string-length \"a\"))\"\n ATMOSPHERE: (35670..35671) \"\n\"\n ATMOSPHERE: (35671..35704) \";; (test 3 (string-length \"abc\"))\"\n ATMOSPHERE: (35704..35706) \"\n\n\"\n ATMOSPHERE: (35706..35740) \";; (test #\\a (string-ref \"abc\" 0))\"\n ATMOSPHERE: (35740..35741) \"\n\"\n ATMOSPHERE: (35741..35775) \";; (test #\\b (string-ref \"abc\" 1))\"\n ATMOSPHERE: (35775..35776) \"\n\"\n ATMOSPHERE: (35776..35810) \";; (test #\\c (string-ref \"abc\" 2))\"\n ATMOSPHERE: (35810..35812) \"\n\n\"\n ATMOSPHERE: (35812..35890) \";; (test \"a-c\" (let ((str (string #\\a #\\b #\\c))) (string-set! str 1 #\\-) str))\"\n ATMOSPHERE: (35890..35892) \"\n\n\"\n ATMOSPHERE: (35892..35926) \";; (test (string #\\a #\\x1F700 #\\c)\"\n ATMOSPHERE: (35926..35927) \"\n\"\n ATMOSPHERE: (35927..35965) \";; (let ((s (string #\\a #\\b #\\c)))\"\n ATMOSPHERE: (35965..35966) \"\n\"\n ATMOSPHERE: (35966..36001) \";; (string-set! s 1 #\\x1F700)\"\n ATMOSPHERE: (36001..36002) \"\n\"\n ATMOSPHERE: (36002..36014) \";; s))\"\n ATMOSPHERE: (36014..36016) \"\n\n\"\n ATMOSPHERE: (36016..36045) \";; (test #t (string=? \"\" \"\"))\"\n ATMOSPHERE: (36045..36046) \"\n\"\n ATMOSPHERE: (36046..36087) \";; (test #t (string=? \"abc\" \"abc\" \"abc\"))\"\n ATMOSPHERE: (36087..36088) \"\n\"\n ATMOSPHERE: (36088..36120) \";; (test #f (string=? \"\" \"abc\"))\"\n ATMOSPHERE: (36120..36121) \"\n\"\n ATMOSPHERE: (36121..36156) \";; (test #f (string=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (36156..36158) \"\n\n\"\n ATMOSPHERE: (36158..36187) \";; (test #f (string? \"\" \"\"))\"\n ATMOSPHERE: (36370..36371) \"\n\"\n ATMOSPHERE: (36371..36406) \";; (test #f (string>? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36406..36407) \"\n\"\n ATMOSPHERE: (36407..36443) \";; (test #f (string>? \"abc\" \"abcd\"))\"\n ATMOSPHERE: (36443..36444) \"\n\"\n ATMOSPHERE: (36444..36486) \";; (test #t (string>? \"acd\" \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36486..36487) \"\n\"\n ATMOSPHERE: (36487..36522) \";; (test #f (string>? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36522..36524) \"\n\n\"\n ATMOSPHERE: (36524..36554) \";; (test #t (string<=? \"\" \"\"))\"\n ATMOSPHERE: (36554..36555) \"\n\"\n ATMOSPHERE: (36555..36591) \";; (test #t (string<=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36591..36592) \"\n\"\n ATMOSPHERE: (36592..36636) \";; (test #t (string<=? \"abc\" \"abcd\" \"abcd\"))\"\n ATMOSPHERE: (36636..36637) \"\n\"\n ATMOSPHERE: (36637..36674) \";; (test #f (string<=? \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36674..36675) \"\n\"\n ATMOSPHERE: (36675..36711) \";; (test #t (string<=? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36711..36713) \"\n\n\"\n ATMOSPHERE: (36713..36743) \";; (test #t (string>=? \"\" \"\"))\"\n ATMOSPHERE: (36743..36744) \"\n\"\n ATMOSPHERE: (36744..36780) \";; (test #t (string>=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36780..36781) \"\n\"\n ATMOSPHERE: (36781..36818) \";; (test #f (string>=? \"abc\" \"abcd\"))\"\n ATMOSPHERE: (36818..36819) \"\n\"\n ATMOSPHERE: (36819..36863) \";; (test #t (string>=? \"abcd\" \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36863..36864) \"\n\"\n ATMOSPHERE: (36864..36900) \";; (test #f (string>=? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36900..36902) \"\n\n\"\n ATMOSPHERE: (36902..36934) \";; (test #t (string-ci=? \"\" \"\"))\"\n ATMOSPHERE: (36934..36935) \"\n\"\n ATMOSPHERE: (36935..36973) \";; (test #t (string-ci=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36973..36974) \"\n\"\n ATMOSPHERE: (36974..37009) \";; (test #f (string-ci=? \"\" \"abc\"))\"\n ATMOSPHERE: (37009..37010) \"\n\"\n ATMOSPHERE: (37010..37048) \";; (test #t (string-ci=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37048..37049) \"\n\"\n ATMOSPHERE: (37049..37088) \";; (test #f (string-ci=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37088..37090) \"\n\n\"\n ATMOSPHERE: (37090..37128) \";; (test #f (string-ci? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37248..37249) \"\n\"\n ATMOSPHERE: (37249..37288) \";; (test #f (string-ci>? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37288..37289) \"\n\"\n ATMOSPHERE: (37289..37328) \";; (test #t (string-ci>? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37328..37330) \"\n\n\"\n ATMOSPHERE: (37330..37369) \";; (test #t (string-ci<=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37369..37370) \"\n\"\n ATMOSPHERE: (37370..37410) \";; (test #t (string-ci<=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37410..37411) \"\n\"\n ATMOSPHERE: (37411..37451) \";; (test #f (string-ci<=? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37451..37453) \"\n\n\"\n ATMOSPHERE: (37453..37492) \";; (test #t (string-ci>=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37492..37493) \"\n\"\n ATMOSPHERE: (37493..37533) \";; (test #f (string-ci>=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37533..37534) \"\n\"\n ATMOSPHERE: (37534..37574) \";; (test #t (string-ci>=? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37574..37576) \"\n\n\"\n ATMOSPHERE: (37576..37620) \";; (test #t (string-ci=? \"ΑΒΓ\" \"αβγ\" \"αβγ\"))\"\n ATMOSPHERE: (37620..37621) \"\n\"\n ATMOSPHERE: (37621..37659) \";; (test #f (string-ci? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37698..37699) \"\n\"\n ATMOSPHERE: (37699..37738) \";; (test #t (string-ci<=? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37738..37739) \"\n\"\n ATMOSPHERE: (37739..37778) \";; (test #t (string-ci>=? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37778..37780) \"\n\n\"\n ATMOSPHERE: (37780..37791) \";; ;; latin\"\n ATMOSPHERE: (37791..37792) \"\n\"\n ATMOSPHERE: (37792..37829) \";; (test \"ABC\" (string-upcase \"abc\"))\"\n ATMOSPHERE: (37829..37830) \"\n\"\n ATMOSPHERE: (37830..37867) \";; (test \"ABC\" (string-upcase \"ABC\"))\"\n ATMOSPHERE: (37867..37868) \"\n\"\n ATMOSPHERE: (37868..37907) \";; (test \"abc\" (string-downcase \"abc\"))\"\n ATMOSPHERE: (37907..37908) \"\n\"\n ATMOSPHERE: (37908..37947) \";; (test \"abc\" (string-downcase \"ABC\"))\"\n ATMOSPHERE: (37947..37948) \"\n\"\n ATMOSPHERE: (37948..37987) \";; (test \"abc\" (string-foldcase \"abc\"))\"\n ATMOSPHERE: (37987..37988) \"\n\"\n ATMOSPHERE: (37988..38027) \";; (test \"abc\" (string-foldcase \"ABC\"))\"\n ATMOSPHERE: (38027..38029) \"\n\n\"\n ATMOSPHERE: (38029..38043) \";; ;; cyrillic\"\n ATMOSPHERE: (38043..38044) \"\n\"\n ATMOSPHERE: (38044..38081) \";; (test \"ΑΒΓ\" (string-upcase \"αβγ\"))\"\n ATMOSPHERE: (38081..38082) \"\n\"\n ATMOSPHERE: (38082..38119) \";; (test \"ΑΒΓ\" (string-upcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38119..38120) \"\n\"\n ATMOSPHERE: (38120..38159) \";; (test \"αβγ\" (string-downcase \"αβγ\"))\"\n ATMOSPHERE: (38159..38160) \"\n\"\n ATMOSPHERE: (38160..38199) \";; (test \"αβγ\" (string-downcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38199..38200) \"\n\"\n ATMOSPHERE: (38200..38239) \";; (test \"αβγ\" (string-foldcase \"αβγ\"))\"\n ATMOSPHERE: (38239..38240) \"\n\"\n ATMOSPHERE: (38240..38279) \";; (test \"αβγ\" (string-foldcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38279..38281) \"\n\n\"\n ATMOSPHERE: (38281..38300) \";; ;; special cases\"\n ATMOSPHERE: (38300..38301) \"\n\"\n ATMOSPHERE: (38301..38337) \";; (test \"SSA\" (string-upcase \"ßa\"))\"\n ATMOSPHERE: (38337..38338) \"\n\"\n ATMOSPHERE: (38338..38375) \";; (test \"ßa\" (string-downcase \"ßa\"))\"\n ATMOSPHERE: (38375..38376) \"\n\"\n ATMOSPHERE: (38376..38415) \";; (test \"ssa\" (string-downcase \"SSA\"))\"\n ATMOSPHERE: (38415..38416) \"\n\"\n ATMOSPHERE: (38416..38455) \";; (test \"maß\" (string-downcase \"Maß\"))\"\n ATMOSPHERE: (38455..38456) \"\n\"\n ATMOSPHERE: (38456..38496) \";; (test \"mass\" (string-foldcase \"Maß\"))\"\n ATMOSPHERE: (38496..38497) \"\n\"\n ATMOSPHERE: (38497..38530) \";; (test \"İ\" (string-upcase \"İ\"))\"\n ATMOSPHERE: (38530..38531) \"\n\"\n ATMOSPHERE: (38531..38573) \";; (test \"i\\x0307;\" (string-downcase \"İ\"))\"\n ATMOSPHERE: (38573..38574) \"\n\"\n ATMOSPHERE: (38574..38616) \";; (test \"i\\x0307;\" (string-foldcase \"İ\"))\"\n ATMOSPHERE: (38616..38617) \"\n\"\n ATMOSPHERE: (38617..38651) \";; (test \"J̌\" (string-upcase \"ǰ\"))\"\n ATMOSPHERE: (38651..38652) \"\n\"\n ATMOSPHERE: (38652..38687) \";; (test \"ſ\" (string-downcase \"ſ\"))\"\n ATMOSPHERE: (38687..38688) \"\n\"\n ATMOSPHERE: (38688..38723) \";; (test \"s\" (string-foldcase \"ſ\"))\"\n ATMOSPHERE: (38723..38725) \"\n\n\"\n ATMOSPHERE: (38725..38762) \";; ;; context-sensitive (final sigma)\"\n ATMOSPHERE: (38762..38763) \"\n\"\n ATMOSPHERE: (38763..38806) \";; (test \"ΓΛΏΣΣΑ\" (string-upcase \"γλώσσα\"))\"\n ATMOSPHERE: (38806..38807) \"\n\"\n ATMOSPHERE: (38807..38852) \";; (test \"γλώσσα\" (string-downcase \"ΓΛΏΣΣΑ\"))\"\n ATMOSPHERE: (38852..38853) \"\n\"\n ATMOSPHERE: (38853..38898) \";; (test \"γλώσσα\" (string-foldcase \"ΓΛΏΣΣΑ\"))\"\n ATMOSPHERE: (38898..38899) \"\n\"\n ATMOSPHERE: (38899..38940) \";; (test \"ΜΈΛΟΣ\" (string-upcase \"μέλος\"))\"\n ATMOSPHERE: (38940..38941) \"\n\"\n ATMOSPHERE: (38941..39016) \";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ\") '(\"μέλος\" \"μέλοσ\")) #t))\"\n ATMOSPHERE: (39016..39017) \"\n\"\n ATMOSPHERE: (39017..39060) \";; (test \"μέλοσ\" (string-foldcase \"ΜΈΛΟΣ\"))\"\n ATMOSPHERE: (39060..39061) \"\n\"\n ATMOSPHERE: (39061..39116) \";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ ΕΝΌΣ\")\"\n ATMOSPHERE: (39116..39117) \"\n\"\n ATMOSPHERE: (39117..39171) \";; '(\"μέλος ενός\" \"μέλοσ ενόσ\"))\"\n ATMOSPHERE: (39171..39172) \"\n\"\n ATMOSPHERE: (39172..39193) \";; #t))\"\n ATMOSPHERE: (39193..39195) \"\n\n\"\n ATMOSPHERE: (39195..39226) \";; (test \"\" (substring \"\" 0 0))\"\n ATMOSPHERE: (39226..39227) \"\n\"\n ATMOSPHERE: (39227..39259) \";; (test \"\" (substring \"a\" 0 0))\"\n ATMOSPHERE: (39259..39260) \"\n\"\n ATMOSPHERE: (39260..39294) \";; (test \"\" (substring \"abc\" 1 1))\"\n ATMOSPHERE: (39294..39295) \"\n\"\n ATMOSPHERE: (39295..39331) \";; (test \"ab\" (substring \"abc\" 0 2))\"\n ATMOSPHERE: (39331..39332) \"\n\"\n ATMOSPHERE: (39332..39368) \";; (test \"bc\" (substring \"abc\" 1 3))\"\n ATMOSPHERE: (39368..39370) \"\n\n\"\n FORM: (39370..39398)\n OPEN_PAREN: (39370..39371) \"(\"\n SYMBOL: (39371..39375)\n IDENTIFIER: (39371..39375) \"test\"\n ATMOSPHERE: (39375..39376) \" \"\n CONSTANT: (39376..39378)\n STRING: (39376..39378) \"\"\"\"\n ATMOSPHERE: (39378..39379) \" \"\n FORM: (39379..39397)\n OPEN_PAREN: (39379..39380) \"(\"\n SYMBOL: (39380..39393)\n IDENTIFIER: (39380..39393) \"string-append\"\n ATMOSPHERE: (39393..39394) \" \"\n CONSTANT: (39394..39396)\n STRING: (39394..39396) \"\"\"\"\n CLOSE_PAREN: (39396..39397) \")\"\n CLOSE_PAREN: (39397..39398) \")\"\n ATMOSPHERE: (39398..39399) \"\n\"\n FORM: (39399..39430)\n OPEN_PAREN: (39399..39400) \"(\"\n SYMBOL: (39400..39404)\n IDENTIFIER: (39400..39404) \"test\"\n ATMOSPHERE: (39404..39405) \" \"\n CONSTANT: (39405..39407)\n STRING: (39405..39407) \"\"\"\"\n ATMOSPHERE: (39407..39408) \" \"\n FORM: (39408..39429)\n OPEN_PAREN: (39408..39409) \"(\"\n SYMBOL: (39409..39422)\n IDENTIFIER: (39409..39422) \"string-append\"\n ATMOSPHERE: (39422..39423) \" \"\n CONSTANT: (39423..39425)\n STRING: (39423..39425) \"\"\"\"\n ATMOSPHERE: (39425..39426) \" \"\n CONSTANT: (39426..39428)\n STRING: (39426..39428) \"\"\"\"\n CLOSE_PAREN: (39428..39429) \")\"\n CLOSE_PAREN: (39429..39430) \")\"\n ATMOSPHERE: (39430..39431) \"\n\"\n FORM: (39431..39468)\n OPEN_PAREN: (39431..39432) \"(\"\n SYMBOL: (39432..39436)\n IDENTIFIER: (39432..39436) \"test\"\n ATMOSPHERE: (39436..39437) \" \"\n CONSTANT: (39437..39442)\n STRING: (39437..39442) \"\"abc\"\"\n ATMOSPHERE: (39442..39443) \" \"\n FORM: (39443..39467)\n OPEN_PAREN: (39443..39444) \"(\"\n SYMBOL: (39444..39457)\n IDENTIFIER: (39444..39457) \"string-append\"\n ATMOSPHERE: (39457..39458) \" \"\n CONSTANT: (39458..39460)\n STRING: (39458..39460) \"\"\"\"\n ATMOSPHERE: (39460..39461) \" \"\n CONSTANT: (39461..39466)\n STRING: (39461..39466) \"\"abc\"\"\n CLOSE_PAREN: (39466..39467) \")\"\n CLOSE_PAREN: (39467..39468) \")\"\n ATMOSPHERE: (39468..39469) \"\n\"\n FORM: (39469..39506)\n OPEN_PAREN: (39469..39470) \"(\"\n SYMBOL: (39470..39474)\n IDENTIFIER: (39470..39474) \"test\"\n ATMOSPHERE: (39474..39475) \" \"\n CONSTANT: (39475..39480)\n STRING: (39475..39480) \"\"abc\"\"\n ATMOSPHERE: (39480..39481) \" \"\n FORM: (39481..39505)\n OPEN_PAREN: (39481..39482) \"(\"\n SYMBOL: (39482..39495)\n IDENTIFIER: (39482..39495) \"string-append\"\n ATMOSPHERE: (39495..39496) \" \"\n CONSTANT: (39496..39501)\n STRING: (39496..39501) \"\"abc\"\"\n ATMOSPHERE: (39501..39502) \" \"\n CONSTANT: (39502..39504)\n STRING: (39502..39504) \"\"\"\"\n CLOSE_PAREN: (39504..39505) \")\"\n CLOSE_PAREN: (39505..39506) \")\"\n ATMOSPHERE: (39506..39507) \"\n\"\n FORM: (39507..39548)\n OPEN_PAREN: (39507..39508) \"(\"\n SYMBOL: (39508..39512)\n IDENTIFIER: (39508..39512) \"test\"\n ATMOSPHERE: (39512..39513) \" \"\n CONSTANT: (39513..39520)\n STRING: (39513..39520) \"\"abcde\"\"\n ATMOSPHERE: (39520..39521) \" \"\n FORM: (39521..39547)\n OPEN_PAREN: (39521..39522) \"(\"\n SYMBOL: (39522..39535)\n IDENTIFIER: (39522..39535) \"string-append\"\n ATMOSPHERE: (39535..39536) \" \"\n CONSTANT: (39536..39541)\n STRING: (39536..39541) \"\"abc\"\"\n ATMOSPHERE: (39541..39542) \" \"\n CONSTANT: (39542..39546)\n STRING: (39542..39546) \"\"de\"\"\n CLOSE_PAREN: (39546..39547) \")\"\n CLOSE_PAREN: (39547..39548) \")\"\n ATMOSPHERE: (39548..39549) \"\n\"\n FORM: (39549..39595)\n OPEN_PAREN: (39549..39550) \"(\"\n SYMBOL: (39550..39554)\n IDENTIFIER: (39550..39554) \"test\"\n ATMOSPHERE: (39554..39555) \" \"\n CONSTANT: (39555..39563)\n STRING: (39555..39563) \"\"abcdef\"\"\n ATMOSPHERE: (39563..39564) \" \"\n FORM: (39564..39594)\n OPEN_PAREN: (39564..39565) \"(\"\n SYMBOL: (39565..39578)\n IDENTIFIER: (39565..39578) \"string-append\"\n ATMOSPHERE: (39578..39579) \" \"\n CONSTANT: (39579..39584)\n STRING: (39579..39584) \"\"abc\"\"\n ATMOSPHERE: (39584..39585) \" \"\n CONSTANT: (39585..39589)\n STRING: (39585..39589) \"\"de\"\"\n ATMOSPHERE: (39589..39590) \" \"\n CONSTANT: (39590..39593)\n STRING: (39590..39593) \"\"f\"\"\n CLOSE_PAREN: (39593..39594) \")\"\n CLOSE_PAREN: (39594..39595) \")\"\n ATMOSPHERE: (39595..39597) \"\n\n\"\n ATMOSPHERE: (39597..39628) \";; (test '() (string->list \"\"))\"\n ATMOSPHERE: (39628..39629) \"\n\"\n ATMOSPHERE: (39629..39664) \";; (test '(#\\a) (string->list \"a\"))\"\n ATMOSPHERE: (39664..39665) \"\n\"\n ATMOSPHERE: (39665..39710) \";; (test '(#\\a #\\b #\\c) (string->list \"abc\"))\"\n ATMOSPHERE: (39710..39711) \"\n\"\n ATMOSPHERE: (39711..39758) \";; (test '(#\\a #\\b #\\c) (string->list \"abc\" 0))\"\n ATMOSPHERE: (39758..39759) \"\n\"\n ATMOSPHERE: (39759..39802) \";; (test '(#\\b #\\c) (string->list \"abc\" 1))\"\n ATMOSPHERE: (39802..39803) \"\n\"\n ATMOSPHERE: (39803..39848) \";; (test '(#\\b #\\c) (string->list \"abc\" 1 3))\"\n ATMOSPHERE: (39848..39850) \"\n\n\"\n ATMOSPHERE: (39850..39881) \";; (test \"\" (list->string '()))\"\n ATMOSPHERE: (39881..39882) \"\n\"\n ATMOSPHERE: (39882..39927) \";; (test \"abc\" (list->string '(#\\a #\\b #\\c)))\"\n ATMOSPHERE: (39927..39929) \"\n\n\"\n ATMOSPHERE: (39929..39958) \";; (test \"\" (string-copy \"\"))\"\n ATMOSPHERE: (39958..39959) \"\n\"\n ATMOSPHERE: (39959..39990) \";; (test \"\" (string-copy \"\" 0))\"\n ATMOSPHERE: (39990..39991) \"\n\"\n ATMOSPHERE: (39991..40024) \";; (test \"\" (string-copy \"\" 0 0))\"\n ATMOSPHERE: (40024..40025) \"\n\"\n ATMOSPHERE: (40025..40060) \";; (test \"abc\" (string-copy \"abc\"))\"\n ATMOSPHERE: (40060..40061) \"\n\"\n ATMOSPHERE: (40061..40098) \";; (test \"abc\" (string-copy \"abc\" 0))\"\n ATMOSPHERE: (40098..40099) \"\n\"\n ATMOSPHERE: (40099..40135) \";; (test \"bc\" (string-copy \"abc\" 1))\"\n ATMOSPHERE: (40135..40136) \"\n\"\n ATMOSPHERE: (40136..40173) \";; (test \"b\" (string-copy \"abc\" 1 2))\"\n ATMOSPHERE: (40173..40174) \"\n\"\n ATMOSPHERE: (40174..40212) \";; (test \"bc\" (string-copy \"abc\" 1 3))\"\n ATMOSPHERE: (40212..40214) \"\n\n\"\n ATMOSPHERE: (40214..40230) \";; (test \"-----\"\"\n ATMOSPHERE: (40230..40231) \"\n\"\n ATMOSPHERE: (40231..40299) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\-) str))\"\n ATMOSPHERE: (40299..40300) \"\n\"\n ATMOSPHERE: (40300..40316) \";; (test \"xx---\"\"\n ATMOSPHERE: (40316..40317) \"\n\"\n ATMOSPHERE: (40317..40387) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2) str))\"\n ATMOSPHERE: (40387..40388) \"\n\"\n ATMOSPHERE: (40388..40404) \";; (test \"xx-xx\"\"\n ATMOSPHERE: (40404..40405) \"\n\"\n ATMOSPHERE: (40405..40477) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2 3) str))\"\n ATMOSPHERE: (40477..40479) \"\n\n\"\n ATMOSPHERE: (40479..40495) \";; (test \"a12de\"\"\n ATMOSPHERE: (40495..40496) \"\n\"\n ATMOSPHERE: (40496..40576) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 \"12345\" 0 2) str))\"\n ATMOSPHERE: (40576..40577) \"\n\"\n ATMOSPHERE: (40577..40593) \";; (test \"-----\"\"\n ATMOSPHERE: (40593..40594) \"\n\"\n ATMOSPHERE: (40594..40668) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\") str))\"\n ATMOSPHERE: (40668..40669) \"\n\"\n ATMOSPHERE: (40669..40685) \";; (test \"---xx\"\"\n ATMOSPHERE: (40685..40686) \"\n\"\n ATMOSPHERE: (40686..40762) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\" 2) str))\"\n ATMOSPHERE: (40762..40763) \"\n\"\n ATMOSPHERE: (40763..40779) \";; (test \"xx---\"\"\n ATMOSPHERE: (40779..40780) \"\n\"\n ATMOSPHERE: (40780..40858) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 0 3) str))\"\n ATMOSPHERE: (40858..40859) \"\n\"\n ATMOSPHERE: (40859..40875) \";; (test \"xx-xx\"\"\n ATMOSPHERE: (40875..40876) \"\n\"\n ATMOSPHERE: (40876..40954) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 2 3) str))\"\n ATMOSPHERE: (40954..40956) \"\n\n\"\n ATMOSPHERE: (40956..40982) \";; ;; same source and dest\"\n ATMOSPHERE: (40982..40983) \"\n\"\n ATMOSPHERE: (40983..40999) \";; (test \"aabde\"\"\n ATMOSPHERE: (40999..41000) \"\n\"\n ATMOSPHERE: (41000..41076) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 str 0 2) str))\"\n ATMOSPHERE: (41076..41077) \"\n\"\n ATMOSPHERE: (41077..41093) \";; (test \"abcab\"\"\n ATMOSPHERE: (41093..41094) \"\n\"\n ATMOSPHERE: (41094..41170) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 3 str 0 2) str))\"\n ATMOSPHERE: (41170..41172) \"\n\n\"\n FORM: (41172..41182)\n OPEN_PAREN: (41172..41173) \"(\"\n SYMBOL: (41173..41181)\n IDENTIFIER: (41173..41181) \"test-end\"\n CLOSE_PAREN: (41181..41182) \")\"\n ATMOSPHERE: (41182..41184) \"\n\n\"\n FORM: (41184..41210)\n OPEN_PAREN: (41184..41185) \"(\"\n SYMBOL: (41185..41195)\n IDENTIFIER: (41185..41195) \"test-begin\"\n ATMOSPHERE: (41195..41196) \" \"\n CONSTANT: (41196..41209)\n STRING: (41196..41209) \"\"6.8 Vectors\"\"\n CLOSE_PAREN: (41209..41210) \")\"\n ATMOSPHERE: (41210..41212) \"\n\n\"\n FORM: (41212..41235)\n OPEN_PAREN: (41212..41213) \"(\"\n SYMBOL: (41213..41217)\n IDENTIFIER: (41213..41217) \"test\"\n ATMOSPHERE: (41217..41218) \" \"\n CONSTANT: (41218..41220)\n BOOLEAN: (41218..41220) \"#t\"\n ATMOSPHERE: (41220..41221) \" \"\n FORM: (41221..41234)\n OPEN_PAREN: (41221..41222) \"(\"\n SYMBOL: (41222..41229)\n IDENTIFIER: (41222..41229) \"vector?\"\n ATMOSPHERE: (41229..41230) \" \"\n VEC: (41230..41233)\n OPEN_PAREN: (41230..41232) \"#(\"\n CLOSE_PAREN: (41232..41233) \")\"\n CLOSE_PAREN: (41233..41234) \")\"\n CLOSE_PAREN: (41234..41235) \")\"\n ATMOSPHERE: (41235..41236) \"\n\"\n FORM: (41236..41264)\n OPEN_PAREN: (41236..41237) \"(\"\n SYMBOL: (41237..41241)\n IDENTIFIER: (41237..41241) \"test\"\n ATMOSPHERE: (41241..41242) \" \"\n CONSTANT: (41242..41244)\n BOOLEAN: (41242..41244) \"#t\"\n ATMOSPHERE: (41244..41245) \" \"\n FORM: (41245..41263)\n OPEN_PAREN: (41245..41246) \"(\"\n SYMBOL: (41246..41253)\n IDENTIFIER: (41246..41253) \"vector?\"\n ATMOSPHERE: (41253..41254) \" \"\n VEC: (41254..41262)\n OPEN_PAREN: (41254..41256) \"#(\"\n CONSTANT: (41256..41257)\n NUMBER: (41256..41257) \"1\"\n ATMOSPHERE: (41257..41258) \" \"\n CONSTANT: (41258..41259)\n NUMBER: (41258..41259) \"2\"\n ATMOSPHERE: (41259..41260) \" \"\n CONSTANT: (41260..41261)\n NUMBER: (41260..41261) \"3\"\n CLOSE_PAREN: (41261..41262) \")\"\n CLOSE_PAREN: (41262..41263) \")\"\n CLOSE_PAREN: (41263..41264) \")\"\n ATMOSPHERE: (41264..41265) \"\n\"\n FORM: (41265..41294)\n OPEN_PAREN: (41265..41266) \"(\"\n SYMBOL: (41266..41270)\n IDENTIFIER: (41266..41270) \"test\"\n ATMOSPHERE: (41270..41271) \" \"\n CONSTANT: (41271..41273)\n BOOLEAN: (41271..41273) \"#t\"\n ATMOSPHERE: (41273..41274) \" \"\n FORM: (41274..41293)\n OPEN_PAREN: (41274..41275) \"(\"\n SYMBOL: (41275..41282)\n IDENTIFIER: (41275..41282) \"vector?\"\n ATMOSPHERE: (41282..41283) \" \"\n QUOTED_DATUM: (41283..41292)\n QUOTE: (41283..41284) \"'\"\n VEC: (41284..41292)\n OPEN_PAREN: (41284..41286) \"#(\"\n CONSTANT: (41286..41287)\n NUMBER: (41286..41287) \"1\"\n ATMOSPHERE: (41287..41288) \" \"\n CONSTANT: (41288..41289)\n NUMBER: (41288..41289) \"2\"\n ATMOSPHERE: (41289..41290) \" \"\n CONSTANT: (41290..41291)\n NUMBER: (41290..41291) \"3\"\n CLOSE_PAREN: (41291..41292) \")\"\n CLOSE_PAREN: (41292..41293) \")\"\n CLOSE_PAREN: (41293..41294) \")\"\n ATMOSPHERE: (41294..41296) \"\n\n\"\n FORM: (41296..41336)\n OPEN_PAREN: (41296..41297) \"(\"\n SYMBOL: (41297..41301)\n IDENTIFIER: (41297..41301) \"test\"\n ATMOSPHERE: (41301..41302) \" \"\n CONSTANT: (41302..41303)\n NUMBER: (41302..41303) \"0\"\n ATMOSPHERE: (41303..41304) \" \"\n FORM: (41304..41335)\n OPEN_PAREN: (41304..41305) \"(\"\n SYMBOL: (41305..41318)\n IDENTIFIER: (41305..41318) \"vector-length\"\n ATMOSPHERE: (41318..41319) \" \"\n FORM: (41319..41334)\n OPEN_PAREN: (41319..41320) \"(\"\n SYMBOL: (41320..41331)\n IDENTIFIER: (41320..41331) \"make-vector\"\n ATMOSPHERE: (41331..41332) \" \"\n CONSTANT: (41332..41333)\n NUMBER: (41332..41333) \"0\"\n CLOSE_PAREN: (41333..41334) \")\"\n CLOSE_PAREN: (41334..41335) \")\"\n CLOSE_PAREN: (41335..41336) \")\"\n ATMOSPHERE: (41336..41337) \"\n\"\n FORM: (41337..41383)\n OPEN_PAREN: (41337..41338) \"(\"\n SYMBOL: (41338..41342)\n IDENTIFIER: (41338..41342) \"test\"\n ATMOSPHERE: (41342..41343) \" \"\n CONSTANT: (41343..41347)\n NUMBER: (41343..41347) \"1000\"\n ATMOSPHERE: (41347..41348) \" \"\n FORM: (41348..41382)\n OPEN_PAREN: (41348..41349) \"(\"\n SYMBOL: (41349..41362)\n IDENTIFIER: (41349..41362) \"vector-length\"\n ATMOSPHERE: (41362..41363) \" \"\n FORM: (41363..41381)\n OPEN_PAREN: (41363..41364) \"(\"\n SYMBOL: (41364..41375)\n IDENTIFIER: (41364..41375) \"make-vector\"\n ATMOSPHERE: (41375..41376) \" \"\n CONSTANT: (41376..41380)\n NUMBER: (41376..41380) \"1000\"\n CLOSE_PAREN: (41380..41381) \")\"\n CLOSE_PAREN: (41381..41382) \")\"\n CLOSE_PAREN: (41382..41383) \")\"\n ATMOSPHERE: (41383..41385) \"\n\n\"\n FORM: (41385..41436)\n OPEN_PAREN: (41385..41386) \"(\"\n SYMBOL: (41386..41390)\n IDENTIFIER: (41386..41390) \"test\"\n ATMOSPHERE: (41390..41391) \" \"\n VEC: (41391..41412)\n OPEN_PAREN: (41391..41393) \"#(\"\n CONSTANT: (41393..41394)\n NUMBER: (41393..41394) \"0\"\n ATMOSPHERE: (41394..41395) \" \"\n FORM: (41395..41404)\n OPEN_PAREN: (41395..41396) \"(\"\n CONSTANT: (41396..41397)\n NUMBER: (41396..41397) \"2\"\n ATMOSPHERE: (41397..41398) \" \"\n CONSTANT: (41398..41399)\n NUMBER: (41398..41399) \"2\"\n ATMOSPHERE: (41399..41400) \" \"\n CONSTANT: (41400..41401)\n NUMBER: (41400..41401) \"2\"\n ATMOSPHERE: (41401..41402) \" \"\n CONSTANT: (41402..41403)\n NUMBER: (41402..41403) \"2\"\n CLOSE_PAREN: (41403..41404) \")\"\n ATMOSPHERE: (41404..41405) \" \"\n CONSTANT: (41405..41411)\n STRING: (41405..41411) \"\"Anna\"\"\n CLOSE_PAREN: (41411..41412) \")\"\n ATMOSPHERE: (41412..41413) \" \"\n QUOTED_DATUM: (41413..41435)\n QUOTE: (41413..41414) \"'\"\n VEC: (41414..41435)\n OPEN_PAREN: (41414..41416) \"#(\"\n CONSTANT: (41416..41417)\n NUMBER: (41416..41417) \"0\"\n ATMOSPHERE: (41417..41418) \" \"\n FORM: (41418..41427)\n OPEN_PAREN: (41418..41419) \"(\"\n CONSTANT: (41419..41420)\n NUMBER: (41419..41420) \"2\"\n ATMOSPHERE: (41420..41421) \" \"\n CONSTANT: (41421..41422)\n NUMBER: (41421..41422) \"2\"\n ATMOSPHERE: (41422..41423) \" \"\n CONSTANT: (41423..41424)\n NUMBER: (41423..41424) \"2\"\n ATMOSPHERE: (41424..41425) \" \"\n CONSTANT: (41425..41426)\n NUMBER: (41425..41426) \"2\"\n CLOSE_PAREN: (41426..41427) \")\"\n ATMOSPHERE: (41427..41428) \" \"\n CONSTANT: (41428..41434)\n STRING: (41428..41434) \"\"Anna\"\"\n CLOSE_PAREN: (41434..41435) \")\"\n CLOSE_PAREN: (41435..41436) \")\"\n ATMOSPHERE: (41436..41438) \"\n\n\"\n FORM: (41438..41471)\n OPEN_PAREN: (41438..41439) \"(\"\n SYMBOL: (41439..41443)\n IDENTIFIER: (41439..41443) \"test\"\n ATMOSPHERE: (41443..41444) \" \"\n VEC: (41444..41452)\n OPEN_PAREN: (41444..41446) \"#(\"\n SYMBOL: (41446..41447)\n IDENTIFIER: (41446..41447) \"a\"\n ATMOSPHERE: (41447..41448) \" \"\n SYMBOL: (41448..41449)\n IDENTIFIER: (41448..41449) \"b\"\n ATMOSPHERE: (41449..41450) \" \"\n SYMBOL: (41450..41451)\n IDENTIFIER: (41450..41451) \"c\"\n CLOSE_PAREN: (41451..41452) \")\"\n ATMOSPHERE: (41452..41453) \" \"\n FORM: (41453..41470)\n OPEN_PAREN: (41453..41454) \"(\"\n SYMBOL: (41454..41460)\n IDENTIFIER: (41454..41460) \"vector\"\n ATMOSPHERE: (41460..41461) \" \"\n QUOTED_DATUM: (41461..41464)\n QUOTE: (41461..41462) \"'\"\n SYMBOL: (41462..41463)\n IDENTIFIER: (41462..41463) \"a\"\n ATMOSPHERE: (41463..41464) \" \"\n QUOTED_DATUM: (41464..41467)\n QUOTE: (41464..41465) \"'\"\n SYMBOL: (41465..41466)\n IDENTIFIER: (41465..41466) \"b\"\n ATMOSPHERE: (41466..41467) \" \"\n QUOTED_DATUM: (41467..41469)\n QUOTE: (41467..41468) \"'\"\n SYMBOL: (41468..41469)\n IDENTIFIER: (41468..41469) \"c\"\n CLOSE_PAREN: (41469..41470) \")\"\n CLOSE_PAREN: (41470..41471) \")\"\n ATMOSPHERE: (41471..41473) \"\n\n\"\n FORM: (41473..41518)\n OPEN_PAREN: (41473..41474) \"(\"\n SYMBOL: (41474..41478)\n IDENTIFIER: (41474..41478) \"test\"\n ATMOSPHERE: (41478..41479) \" \"\n CONSTANT: (41479..41480)\n NUMBER: (41479..41480) \"8\"\n ATMOSPHERE: (41480..41481) \" \"\n FORM: (41481..41517)\n OPEN_PAREN: (41481..41482) \"(\"\n SYMBOL: (41482..41492)\n IDENTIFIER: (41482..41492) \"vector-ref\"\n ATMOSPHERE: (41492..41493) \" \"\n QUOTED_DATUM: (41493..41515)\n QUOTE: (41493..41494) \"'\"\n VEC: (41494..41514)\n OPEN_PAREN: (41494..41496) \"#(\"\n CONSTANT: (41496..41497)\n NUMBER: (41496..41497) \"1\"\n ATMOSPHERE: (41497..41498) \" \"\n CONSTANT: (41498..41499)\n NUMBER: (41498..41499) \"1\"\n ATMOSPHERE: (41499..41500) \" \"\n CONSTANT: (41500..41501)\n NUMBER: (41500..41501) \"2\"\n ATMOSPHERE: (41501..41502) \" \"\n CONSTANT: (41502..41503)\n NUMBER: (41502..41503) \"3\"\n ATMOSPHERE: (41503..41504) \" \"\n CONSTANT: (41504..41505)\n NUMBER: (41504..41505) \"5\"\n ATMOSPHERE: (41505..41506) \" \"\n CONSTANT: (41506..41507)\n NUMBER: (41506..41507) \"8\"\n ATMOSPHERE: (41507..41508) \" \"\n CONSTANT: (41508..41510)\n NUMBER: (41508..41510) \"13\"\n ATMOSPHERE: (41510..41511) \" \"\n CONSTANT: (41511..41513)\n NUMBER: (41511..41513) \"21\"\n CLOSE_PAREN: (41513..41514) \")\"\n ATMOSPHERE: (41514..41515) \" \"\n CONSTANT: (41515..41516)\n NUMBER: (41515..41516) \"5\"\n CLOSE_PAREN: (41516..41517) \")\"\n CLOSE_PAREN: (41517..41518) \")\"\n ATMOSPHERE: (41518..41519) \"\n\"\n ATMOSPHERE: (41519..41564) \";; (test 13 (vector-ref '#(1 1 2 3 5 8 13 21)\"\n ATMOSPHERE: (41564..41565) \"\n\"\n ATMOSPHERE: (41565..41614) \";; (let ((i (round (* 2 (acos -1)))))\"\n ATMOSPHERE: (41614..41615) \"\n\"\n ATMOSPHERE: (41615..41648) \";; (if (inexact? i)\"\n ATMOSPHERE: (41648..41649) \"\n\"\n ATMOSPHERE: (41649..41679) \";; (exact i)\"\n ATMOSPHERE: (41679..41680) \"\n\"\n ATMOSPHERE: (41680..41706) \";; i))))\"\n ATMOSPHERE: (41706..41708) \"\n\n\"\n ATMOSPHERE: (41708..41784) \";; (test #(0 (\"Sue\" \"Sue\") \"Anna\") (let ((vec (vector 0 '(2 2 2 2) \"Anna\")))\"\n ATMOSPHERE: (41784..41785) \"\n\"\n ATMOSPHERE: (41785..41824) \";; (vector-set! vec 1 '(\"Sue\" \"Sue\"))\"\n ATMOSPHERE: (41824..41825) \"\n\"\n ATMOSPHERE: (41825..41835) \";; vec))\"\n ATMOSPHERE: (41835..41837) \"\n\n\"\n ATMOSPHERE: (41837..41896) \";; (test '(dah dah didah) (vector->list '#(dah dah didah)))\"\n ATMOSPHERE: (41896..41897) \"\n\"\n ATMOSPHERE: (41897..41954) \";; (test '(dah didah) (vector->list '#(dah dah didah) 1))\"\n ATMOSPHERE: (41954..41955) \"\n\"\n ATMOSPHERE: (41955..42008) \";; (test '(dah) (vector->list '#(dah dah didah) 1 2))\"\n ATMOSPHERE: (42008..42009) \"\n\"\n ATMOSPHERE: (42009..42063) \";; (test #(dididit dah) (list->vector '(dididit dah)))\"\n ATMOSPHERE: (42063..42065) \"\n\n\"\n ATMOSPHERE: (42065..42098) \";; (test #() (string->vector \"\"))\"\n ATMOSPHERE: (42098..42099) \"\n\"\n ATMOSPHERE: (42099..42146) \";; (test #(#\\A #\\B #\\C) (string->vector \"ABC\"))\"\n ATMOSPHERE: (42146..42147) \"\n\"\n ATMOSPHERE: (42147..42192) \";; (test #(#\\B #\\C) (string->vector \"ABC\" 1))\"\n ATMOSPHERE: (42192..42193) \"\n\"\n ATMOSPHERE: (42193..42236) \";; (test #(#\\B) (string->vector \"ABC\" 1 2))\"\n ATMOSPHERE: (42236..42238) \"\n\n\"\n ATMOSPHERE: (42238..42271) \";; (test \"\" (vector->string #()))\"\n ATMOSPHERE: (42271..42272) \"\n\"\n ATMOSPHERE: (42272..42319) \";; (test \"123\" (vector->string #(#\\1 #\\2 #\\3)))\"\n ATMOSPHERE: (42319..42320) \"\n\"\n ATMOSPHERE: (42320..42368) \";; (test \"23\" (vector->string #(#\\1 #\\2 #\\3) 1))\"\n ATMOSPHERE: (42368..42369) \"\n\"\n ATMOSPHERE: (42369..42418) \";; (test \"2\" (vector->string #(#\\1 #\\2 #\\3) 1 2))\"\n ATMOSPHERE: (42418..42420) \"\n\n\"\n ATMOSPHERE: (42420..42451) \";; (test #() (vector-copy #()))\"\n ATMOSPHERE: (42451..42452) \"\n\"\n ATMOSPHERE: (42452..42493) \";; (test #(a b c) (vector-copy #(a b c)))\"\n ATMOSPHERE: (42493..42494) \"\n\"\n ATMOSPHERE: (42494..42535) \";; (test #(b c) (vector-copy #(a b c) 1))\"\n ATMOSPHERE: (42535..42536) \"\n\"\n ATMOSPHERE: (42536..42577) \";; (test #(b) (vector-copy #(a b c) 1 2))\"\n ATMOSPHERE: (42577..42579) \"\n\n\"\n ATMOSPHERE: (42579..42612) \";; (test #() (vector-append #()))\"\n ATMOSPHERE: (42612..42613) \"\n\"\n ATMOSPHERE: (42613..42650) \";; (test #() (vector-append #() #()))\"\n ATMOSPHERE: (42650..42651) \"\n\"\n ATMOSPHERE: (42651..42698) \";; (test #(a b c) (vector-append #() #(a b c)))\"\n ATMOSPHERE: (42698..42699) \"\n\"\n ATMOSPHERE: (42699..42746) \";; (test #(a b c) (vector-append #(a b c) #()))\"\n ATMOSPHERE: (42746..42747) \"\n\"\n ATMOSPHERE: (42747..42801) \";; (test #(a b c d e) (vector-append #(a b c) #(d e)))\"\n ATMOSPHERE: (42801..42802) \"\n\"\n ATMOSPHERE: (42802..42863) \";; (test #(a b c d e f) (vector-append #(a b c) #(d e) #(f)))\"\n ATMOSPHERE: (42863..42865) \"\n\n\"\n ATMOSPHERE: (42865..42894) \";; (test #(1 2 smash smash 5)\"\n ATMOSPHERE: (42894..42895) \"\n\"\n ATMOSPHERE: (42895..42969) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'smash 2 4) vec))\"\n ATMOSPHERE: (42969..42970) \"\n\"\n ATMOSPHERE: (42970..42991) \";; (test #(x x x x x)\"\n ATMOSPHERE: (42991..42992) \"\n\"\n ATMOSPHERE: (42992..43058) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x) vec))\"\n ATMOSPHERE: (43058..43059) \"\n\"\n ATMOSPHERE: (43059..43080) \";; (test #(1 2 x x x)\"\n ATMOSPHERE: (43080..43081) \"\n\"\n ATMOSPHERE: (43081..43149) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2) vec))\"\n ATMOSPHERE: (43149..43150) \"\n\"\n ATMOSPHERE: (43150..43171) \";; (test #(1 2 x 4 5)\"\n ATMOSPHERE: (43171..43172) \"\n\"\n ATMOSPHERE: (43172..43242) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2 3) vec))\"\n ATMOSPHERE: (43242..43244) \"\n\n\"\n ATMOSPHERE: (43244..43265) \";; (test #(1 a b 4 5)\"\n ATMOSPHERE: (43265..43266) \"\n\"\n ATMOSPHERE: (43266..43348) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 #(a b c d e) 0 2) vec))\"\n ATMOSPHERE: (43348..43349) \"\n\"\n ATMOSPHERE: (43349..43370) \";; (test #(a b c d e)\"\n ATMOSPHERE: (43370..43371) \"\n\"\n ATMOSPHERE: (43371..43449) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e)) vec))\"\n ATMOSPHERE: (43449..43450) \"\n\"\n ATMOSPHERE: (43450..43471) \";; (test #(c d e 4 5)\"\n ATMOSPHERE: (43471..43472) \"\n\"\n ATMOSPHERE: (43472..43552) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e) 2) vec))\"\n ATMOSPHERE: (43552..43553) \"\n\"\n ATMOSPHERE: (43553..43574) \";; (test #(1 2 a b c)\"\n ATMOSPHERE: (43574..43575) \"\n\"\n ATMOSPHERE: (43575..43657) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 0 3) vec))\"\n ATMOSPHERE: (43657..43658) \"\n\"\n ATMOSPHERE: (43658..43679) \";; (test #(1 2 c 4 5)\"\n ATMOSPHERE: (43679..43680) \"\n\"\n ATMOSPHERE: (43680..43762) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 2 3) vec))\"\n ATMOSPHERE: (43762..43764) \"\n\n\"\n ATMOSPHERE: (43764..43790) \";; ;; same source and dest\"\n ATMOSPHERE: (43790..43791) \"\n\"\n ATMOSPHERE: (43791..43812) \";; (test #(1 1 2 4 5)\"\n ATMOSPHERE: (43812..43813) \"\n\"\n ATMOSPHERE: (43813..43886) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 vec 0 2) vec))\"\n ATMOSPHERE: (43886..43887) \"\n\"\n ATMOSPHERE: (43887..43908) \";; (test #(1 2 3 1 2)\"\n ATMOSPHERE: (43908..43909) \"\n\"\n ATMOSPHERE: (43909..43982) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 3 vec 0 2) vec))\"\n ATMOSPHERE: (43982..43984) \"\n\n\"\n FORM: (43984..43994)\n OPEN_PAREN: (43984..43985) \"(\"\n SYMBOL: (43985..43993)\n IDENTIFIER: (43985..43993) \"test-end\"\n CLOSE_PAREN: (43993..43994) \")\"\n ATMOSPHERE: (43994..43996) \"\n\n\"\n FORM: (43996..44026)\n OPEN_PAREN: (43996..43997) \"(\"\n SYMBOL: (43997..44007)\n IDENTIFIER: (43997..44007) \"test-begin\"\n ATMOSPHERE: (44007..44008) \" \"\n CONSTANT: (44008..44025)\n STRING: (44008..44025) \"\"6.9 Bytevectors\"\"\n CLOSE_PAREN: (44025..44026) \")\"\n ATMOSPHERE: (44026..44028) \"\n\n\"\n FORM: (44028..44057)\n OPEN_PAREN: (44028..44029) \"(\"\n SYMBOL: (44029..44033)\n IDENTIFIER: (44029..44033) \"test\"\n ATMOSPHERE: (44033..44034) \" \"\n CONSTANT: (44034..44036)\n BOOLEAN: (44034..44036) \"#t\"\n ATMOSPHERE: (44036..44037) \" \"\n FORM: (44037..44056)\n OPEN_PAREN: (44037..44038) \"(\"\n SYMBOL: (44038..44049)\n IDENTIFIER: (44038..44049) \"bytevector?\"\n ATMOSPHERE: (44049..44050) \" \"\n BYTEVEC: (44050..44055)\n OPEN_PAREN: (44050..44054) \"#u8(\"\n CLOSE_PAREN: (44054..44055) \")\"\n CLOSE_PAREN: (44055..44056) \")\"\n CLOSE_PAREN: (44056..44057) \")\"\n ATMOSPHERE: (44057..44058) \"\n\"\n FORM: (44058..44092)\n OPEN_PAREN: (44058..44059) \"(\"\n SYMBOL: (44059..44063)\n IDENTIFIER: (44059..44063) \"test\"\n ATMOSPHERE: (44063..44064) \" \"\n CONSTANT: (44064..44066)\n BOOLEAN: (44064..44066) \"#t\"\n ATMOSPHERE: (44066..44067) \" \"\n FORM: (44067..44091)\n OPEN_PAREN: (44067..44068) \"(\"\n SYMBOL: (44068..44079)\n IDENTIFIER: (44068..44079) \"bytevector?\"\n ATMOSPHERE: (44079..44080) \" \"\n BYTEVEC: (44080..44090)\n OPEN_PAREN: (44080..44084) \"#u8(\"\n CONSTANT: (44084..44085)\n NUMBER: (44084..44085) \"0\"\n ATMOSPHERE: (44085..44086) \" \"\n CONSTANT: (44086..44087)\n NUMBER: (44086..44087) \"1\"\n ATMOSPHERE: (44087..44088) \" \"\n CONSTANT: (44088..44089)\n NUMBER: (44088..44089) \"2\"\n CLOSE_PAREN: (44089..44090) \")\"\n CLOSE_PAREN: (44090..44091) \")\"\n CLOSE_PAREN: (44091..44092) \")\"\n ATMOSPHERE: (44092..44093) \"\n\"\n FORM: (44093..44120)\n OPEN_PAREN: (44093..44094) \"(\"\n SYMBOL: (44094..44098)\n IDENTIFIER: (44094..44098) \"test\"\n ATMOSPHERE: (44098..44099) \" \"\n CONSTANT: (44099..44101)\n BOOLEAN: (44099..44101) \"#f\"\n ATMOSPHERE: (44101..44102) \" \"\n FORM: (44102..44119)\n OPEN_PAREN: (44102..44103) \"(\"\n SYMBOL: (44103..44114)\n IDENTIFIER: (44103..44114) \"bytevector?\"\n ATMOSPHERE: (44114..44115) \" \"\n VEC: (44115..44118)\n OPEN_PAREN: (44115..44117) \"#(\"\n CLOSE_PAREN: (44117..44118) \")\"\n CLOSE_PAREN: (44118..44119) \")\"\n CLOSE_PAREN: (44119..44120) \")\"\n ATMOSPHERE: (44120..44121) \"\n\"\n FORM: (44121..44153)\n OPEN_PAREN: (44121..44122) \"(\"\n SYMBOL: (44122..44126)\n IDENTIFIER: (44122..44126) \"test\"\n ATMOSPHERE: (44126..44127) \" \"\n CONSTANT: (44127..44129)\n BOOLEAN: (44127..44129) \"#f\"\n ATMOSPHERE: (44129..44130) \" \"\n FORM: (44130..44152)\n OPEN_PAREN: (44130..44131) \"(\"\n SYMBOL: (44131..44142)\n IDENTIFIER: (44131..44142) \"bytevector?\"\n ATMOSPHERE: (44142..44143) \" \"\n VEC: (44143..44151)\n OPEN_PAREN: (44143..44145) \"#(\"\n CONSTANT: (44145..44146)\n NUMBER: (44145..44146) \"0\"\n ATMOSPHERE: (44146..44147) \" \"\n CONSTANT: (44147..44148)\n NUMBER: (44147..44148) \"1\"\n ATMOSPHERE: (44148..44149) \" \"\n CONSTANT: (44149..44150)\n NUMBER: (44149..44150) \"2\"\n CLOSE_PAREN: (44150..44151) \")\"\n CLOSE_PAREN: (44151..44152) \")\"\n CLOSE_PAREN: (44152..44153) \")\"\n ATMOSPHERE: (44153..44154) \"\n\"\n FORM: (44154..44181)\n OPEN_PAREN: (44154..44155) \"(\"\n SYMBOL: (44155..44159)\n IDENTIFIER: (44155..44159) \"test\"\n ATMOSPHERE: (44159..44160) \" \"\n CONSTANT: (44160..44162)\n BOOLEAN: (44160..44162) \"#f\"\n ATMOSPHERE: (44162..44163) \" \"\n FORM: (44163..44180)\n OPEN_PAREN: (44163..44164) \"(\"\n SYMBOL: (44164..44175)\n IDENTIFIER: (44164..44175) \"bytevector?\"\n ATMOSPHERE: (44175..44176) \" \"\n QUOTED_DATUM: (44176..44179)\n QUOTE: (44176..44177) \"'\"\n FORM: (44177..44179)\n OPEN_PAREN: (44177..44178) \"(\"\n CLOSE_PAREN: (44178..44179) \")\"\n CLOSE_PAREN: (44179..44180) \")\"\n CLOSE_PAREN: (44180..44181) \")\"\n ATMOSPHERE: (44181..44182) \"\n\"\n FORM: (44182..44225)\n OPEN_PAREN: (44182..44183) \"(\"\n SYMBOL: (44183..44187)\n IDENTIFIER: (44183..44187) \"test\"\n ATMOSPHERE: (44187..44188) \" \"\n CONSTANT: (44188..44190)\n BOOLEAN: (44188..44190) \"#t\"\n ATMOSPHERE: (44190..44191) \" \"\n FORM: (44191..44224)\n OPEN_PAREN: (44191..44192) \"(\"\n SYMBOL: (44192..44203)\n IDENTIFIER: (44192..44203) \"bytevector?\"\n ATMOSPHERE: (44203..44204) \" \"\n FORM: (44204..44223)\n OPEN_PAREN: (44204..44205) \"(\"\n SYMBOL: (44205..44220)\n IDENTIFIER: (44205..44220) \"make-bytevector\"\n ATMOSPHERE: (44220..44221) \" \"\n CONSTANT: (44221..44222)\n NUMBER: (44221..44222) \"0\"\n CLOSE_PAREN: (44222..44223) \")\"\n CLOSE_PAREN: (44223..44224) \")\"\n CLOSE_PAREN: (44224..44225) \")\"\n ATMOSPHERE: (44225..44227) \"\n\n\"\n FORM: (44227..44275)\n OPEN_PAREN: (44227..44228) \"(\"\n SYMBOL: (44228..44232)\n IDENTIFIER: (44228..44232) \"test\"\n ATMOSPHERE: (44232..44233) \" \"\n CONSTANT: (44233..44234)\n NUMBER: (44233..44234) \"0\"\n ATMOSPHERE: (44234..44235) \" \"\n FORM: (44235..44274)\n OPEN_PAREN: (44235..44236) \"(\"\n SYMBOL: (44236..44253)\n IDENTIFIER: (44236..44253) \"bytevector-length\"\n ATMOSPHERE: (44253..44254) \" \"\n FORM: (44254..44273)\n OPEN_PAREN: (44254..44255) \"(\"\n SYMBOL: (44255..44270)\n IDENTIFIER: (44255..44270) \"make-bytevector\"\n ATMOSPHERE: (44270..44271) \" \"\n CONSTANT: (44271..44272)\n NUMBER: (44271..44272) \"0\"\n CLOSE_PAREN: (44272..44273) \")\"\n CLOSE_PAREN: (44273..44274) \")\"\n CLOSE_PAREN: (44274..44275) \")\"\n ATMOSPHERE: (44275..44276) \"\n\"\n FORM: (44276..44330)\n OPEN_PAREN: (44276..44277) \"(\"\n SYMBOL: (44277..44281)\n IDENTIFIER: (44277..44281) \"test\"\n ATMOSPHERE: (44281..44282) \" \"\n CONSTANT: (44282..44286)\n NUMBER: (44282..44286) \"1024\"\n ATMOSPHERE: (44286..44287) \" \"\n FORM: (44287..44329)\n OPEN_PAREN: (44287..44288) \"(\"\n SYMBOL: (44288..44305)\n IDENTIFIER: (44288..44305) \"bytevector-length\"\n ATMOSPHERE: (44305..44306) \" \"\n FORM: (44306..44328)\n OPEN_PAREN: (44306..44307) \"(\"\n SYMBOL: (44307..44322)\n IDENTIFIER: (44307..44322) \"make-bytevector\"\n ATMOSPHERE: (44322..44323) \" \"\n CONSTANT: (44323..44327)\n NUMBER: (44323..44327) \"1024\"\n CLOSE_PAREN: (44327..44328) \")\"\n CLOSE_PAREN: (44328..44329) \")\"\n CLOSE_PAREN: (44329..44330) \")\"\n ATMOSPHERE: (44330..44331) \"\n\"\n FORM: (44331..44389)\n OPEN_PAREN: (44331..44332) \"(\"\n SYMBOL: (44332..44336)\n IDENTIFIER: (44332..44336) \"test\"\n ATMOSPHERE: (44336..44337) \" \"\n CONSTANT: (44337..44341)\n NUMBER: (44337..44341) \"1024\"\n ATMOSPHERE: (44341..44342) \" \"\n FORM: (44342..44388)\n OPEN_PAREN: (44342..44343) \"(\"\n SYMBOL: (44343..44360)\n IDENTIFIER: (44343..44360) \"bytevector-length\"\n ATMOSPHERE: (44360..44361) \" \"\n FORM: (44361..44387)\n OPEN_PAREN: (44361..44362) \"(\"\n SYMBOL: (44362..44377)\n IDENTIFIER: (44362..44377) \"make-bytevector\"\n ATMOSPHERE: (44377..44378) \" \"\n CONSTANT: (44378..44382)\n NUMBER: (44378..44382) \"1024\"\n ATMOSPHERE: (44382..44383) \" \"\n CONSTANT: (44383..44386)\n NUMBER: (44383..44386) \"255\"\n CLOSE_PAREN: (44386..44387) \")\"\n CLOSE_PAREN: (44387..44388) \")\"\n CLOSE_PAREN: (44388..44389) \")\"\n ATMOSPHERE: (44389..44391) \"\n\n\"\n FORM: (44391..44438)\n OPEN_PAREN: (44391..44392) \"(\"\n SYMBOL: (44392..44396)\n IDENTIFIER: (44392..44396) \"test\"\n ATMOSPHERE: (44396..44397) \" \"\n CONSTANT: (44397..44398)\n NUMBER: (44397..44398) \"3\"\n ATMOSPHERE: (44398..44399) \" \"\n FORM: (44399..44437)\n OPEN_PAREN: (44399..44400) \"(\"\n SYMBOL: (44400..44417)\n IDENTIFIER: (44400..44417) \"bytevector-length\"\n ATMOSPHERE: (44417..44418) \" \"\n FORM: (44418..44436)\n OPEN_PAREN: (44418..44419) \"(\"\n SYMBOL: (44419..44429)\n IDENTIFIER: (44419..44429) \"bytevector\"\n ATMOSPHERE: (44429..44430) \" \"\n CONSTANT: (44430..44431)\n NUMBER: (44430..44431) \"0\"\n ATMOSPHERE: (44431..44432) \" \"\n CONSTANT: (44432..44433)\n NUMBER: (44432..44433) \"1\"\n ATMOSPHERE: (44433..44434) \" \"\n CONSTANT: (44434..44435)\n NUMBER: (44434..44435) \"2\"\n CLOSE_PAREN: (44435..44436) \")\"\n CLOSE_PAREN: (44436..44437) \")\"\n CLOSE_PAREN: (44437..44438) \")\"\n ATMOSPHERE: (44438..44440) \"\n\n\"\n ATMOSPHERE: (44440..44492) \";; (test 0 (bytevector-u8-ref (bytevector 0 1 2) 0))\"\n ATMOSPHERE: (44492..44493) \"\n\"\n ATMOSPHERE: (44493..44545) \";; (test 1 (bytevector-u8-ref (bytevector 0 1 2) 1))\"\n ATMOSPHERE: (44545..44546) \"\n\"\n ATMOSPHERE: (44546..44598) \";; (test 2 (bytevector-u8-ref (bytevector 0 1 2) 2))\"\n ATMOSPHERE: (44598..44600) \"\n\n\"\n ATMOSPHERE: (44600..44621) \";; (test #u8(0 255 2)\"\n ATMOSPHERE: (44621..44622) \"\n\"\n ATMOSPHERE: (44622..44694) \";; (let ((bv (bytevector 0 1 2))) (bytevector-u8-set! bv 1 255) bv))\"\n ATMOSPHERE: (44694..44696) \"\n\n\"\n ATMOSPHERE: (44696..44735) \";; (test #u8() (bytevector-copy #u8()))\"\n ATMOSPHERE: (44735..44736) \"\n\"\n ATMOSPHERE: (44736..44785) \";; (test #u8(0 1 2) (bytevector-copy #u8(0 1 2)))\"\n ATMOSPHERE: (44785..44786) \"\n\"\n ATMOSPHERE: (44786..44835) \";; (test #u8(1 2) (bytevector-copy #u8(0 1 2) 1))\"\n ATMOSPHERE: (44835..44836) \"\n\"\n ATMOSPHERE: (44836..44885) \";; (test #u8(1) (bytevector-copy #u8(0 1 2) 1 2))\"\n ATMOSPHERE: (44885..44887) \"\n\n\"\n ATMOSPHERE: (44887..44910) \";; (test #u8(1 6 7 4 5)\"\n ATMOSPHERE: (44910..44911) \"\n\"\n ATMOSPHERE: (44911..44952) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (44952..44953) \"\n\"\n ATMOSPHERE: (44953..45005) \";; (bytevector-copy! bv 1 #u8(6 7 8 9 10) 0 2)\"\n ATMOSPHERE: (45005..45006) \"\n\"\n ATMOSPHERE: (45006..45019) \";; bv))\"\n ATMOSPHERE: (45019..45020) \"\n\"\n ATMOSPHERE: (45020..45044) \";; (test #u8(6 7 8 9 10)\"\n ATMOSPHERE: (45044..45045) \"\n\"\n ATMOSPHERE: (45045..45086) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45086..45087) \"\n\"\n ATMOSPHERE: (45087..45135) \";; (bytevector-copy! bv 0 #u8(6 7 8 9 10))\"\n ATMOSPHERE: (45135..45136) \"\n\"\n ATMOSPHERE: (45136..45149) \";; bv))\"\n ATMOSPHERE: (45149..45150) \"\n\"\n ATMOSPHERE: (45150..45174) \";; (test #u8(8 9 10 4 5)\"\n ATMOSPHERE: (45174..45175) \"\n\"\n ATMOSPHERE: (45175..45216) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45216..45217) \"\n\"\n ATMOSPHERE: (45217..45267) \";; (bytevector-copy! bv 0 #u8(6 7 8 9 10) 2)\"\n ATMOSPHERE: (45267..45268) \"\n\"\n ATMOSPHERE: (45268..45281) \";; bv))\"\n ATMOSPHERE: (45281..45282) \"\n\"\n ATMOSPHERE: (45282..45305) \";; (test #u8(1 2 6 7 8)\"\n ATMOSPHERE: (45305..45306) \"\n\"\n ATMOSPHERE: (45306..45347) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45347..45348) \"\n\"\n ATMOSPHERE: (45348..45400) \";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 0 3)\"\n ATMOSPHERE: (45400..45401) \"\n\"\n ATMOSPHERE: (45401..45414) \";; bv))\"\n ATMOSPHERE: (45414..45415) \"\n\"\n ATMOSPHERE: (45415..45438) \";; (test #u8(1 2 8 4 5)\"\n ATMOSPHERE: (45438..45439) \"\n\"\n ATMOSPHERE: (45439..45480) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45480..45481) \"\n\"\n ATMOSPHERE: (45481..45533) \";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 2 3)\"\n ATMOSPHERE: (45533..45534) \"\n\"\n ATMOSPHERE: (45534..45547) \";; bv))\"\n ATMOSPHERE: (45547..45549) \"\n\n\"\n ATMOSPHERE: (45549..45575) \";; ;; same source and dest\"\n ATMOSPHERE: (45575..45576) \"\n\"\n ATMOSPHERE: (45576..45599) \";; (test #u8(1 1 2 4 5)\"\n ATMOSPHERE: (45599..45600) \"\n\"\n ATMOSPHERE: (45600..45641) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45641..45642) \"\n\"\n ATMOSPHERE: (45642..45681) \";; (bytevector-copy! bv 1 bv 0 2)\"\n ATMOSPHERE: (45681..45682) \"\n\"\n ATMOSPHERE: (45682..45695) \";; bv))\"\n ATMOSPHERE: (45695..45696) \"\n\"\n ATMOSPHERE: (45696..45719) \";; (test #u8(1 2 3 1 2)\"\n ATMOSPHERE: (45719..45720) \"\n\"\n ATMOSPHERE: (45720..45761) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45761..45762) \"\n\"\n ATMOSPHERE: (45762..45801) \";; (bytevector-copy! bv 3 bv 0 2)\"\n ATMOSPHERE: (45801..45802) \"\n\"\n ATMOSPHERE: (45802..45815) \";; bv))\"\n ATMOSPHERE: (45815..45817) \"\n\n\"\n ATMOSPHERE: (45817..45858) \";; (test #u8() (bytevector-append #u8()))\"\n ATMOSPHERE: (45858..45859) \"\n\"\n ATMOSPHERE: (45859..45906) \";; (test #u8() (bytevector-append #u8() #u8()))\"\n ATMOSPHERE: (45906..45907) \"\n\"\n ATMOSPHERE: (45907..45964) \";; (test #u8(0 1 2) (bytevector-append #u8() #u8(0 1 2)))\"\n ATMOSPHERE: (45964..45965) \"\n\"\n ATMOSPHERE: (45965..46022) \";; (test #u8(0 1 2) (bytevector-append #u8(0 1 2) #u8()))\"\n ATMOSPHERE: (46022..46023) \"\n\"\n ATMOSPHERE: (46023..46087) \";; (test #u8(0 1 2 3 4) (bytevector-append #u8(0 1 2) #u8(3 4)))\"\n ATMOSPHERE: (46087..46088) \"\n\"\n ATMOSPHERE: (46088..46161) \";; (test #u8(0 1 2 3 4 5) (bytevector-append #u8(0 1 2) #u8(3 4) #u8(5)))\"\n ATMOSPHERE: (46161..46163) \"\n\n\"\n ATMOSPHERE: (46163..46213) \";; (test \"ABC\" (utf8->string #u8(#x41 #x42 #x43)))\"\n ATMOSPHERE: (46213..46214) \"\n\"\n ATMOSPHERE: (46214..46268) \";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43) 1))\"\n ATMOSPHERE: (46268..46269) \"\n\"\n ATMOSPHERE: (46269..46328) \";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43 0) 1 4))\"\n ATMOSPHERE: (46328..46329) \"\n\"\n ATMOSPHERE: (46329..46380) \";; (test \"λ\" (utf8->string #u8(0 #xCE #xBB 0) 1 3))\"\n ATMOSPHERE: (46380..46381) \"\n\"\n ATMOSPHERE: (46381..46431) \";; (test #u8(#x41 #x42 #x43) (string->utf8 \"ABC\"))\"\n ATMOSPHERE: (46431..46432) \"\n\"\n ATMOSPHERE: (46432..46479) \";; (test #u8(#x42 #x43) (string->utf8 \"ABC\" 1))\"\n ATMOSPHERE: (46479..46480) \"\n\"\n ATMOSPHERE: (46480..46524) \";; (test #u8(#x42) (string->utf8 \"ABC\" 1 2))\"\n ATMOSPHERE: (46524..46525) \"\n\"\n ATMOSPHERE: (46525..46568) \";; (test #u8(#xCE #xBB) (string->utf8 \"λ\"))\"\n ATMOSPHERE: (46568..46570) \"\n\n\"\n FORM: (46570..46580)\n OPEN_PAREN: (46570..46571) \"(\"\n SYMBOL: (46571..46579)\n IDENTIFIER: (46571..46579) \"test-end\"\n CLOSE_PAREN: (46579..46580) \")\"\n ATMOSPHERE: (46580..46582) \"\n\n\"\n FORM: (46582..46618)\n OPEN_PAREN: (46582..46583) \"(\"\n SYMBOL: (46583..46593)\n IDENTIFIER: (46583..46593) \"test-begin\"\n ATMOSPHERE: (46593..46594) \" \"\n CONSTANT: (46594..46617)\n STRING: (46594..46617) \"\"6.10 Control Features\"\"\n CLOSE_PAREN: (46617..46618) \")\"\n ATMOSPHERE: (46618..46620) \"\n\n\"\n FORM: (46620..46646)\n OPEN_PAREN: (46620..46621) \"(\"\n SYMBOL: (46621..46625)\n IDENTIFIER: (46621..46625) \"test\"\n ATMOSPHERE: (46625..46626) \" \"\n CONSTANT: (46626..46628)\n BOOLEAN: (46626..46628) \"#t\"\n ATMOSPHERE: (46628..46629) \" \"\n FORM: (46629..46645)\n OPEN_PAREN: (46629..46630) \"(\"\n SYMBOL: (46630..46640)\n IDENTIFIER: (46630..46640) \"procedure?\"\n ATMOSPHERE: (46640..46641) \" \"\n SYMBOL: (46641..46644)\n IDENTIFIER: (46641..46644) \"car\"\n CLOSE_PAREN: (46644..46645) \")\"\n CLOSE_PAREN: (46645..46646) \")\"\n ATMOSPHERE: (46646..46647) \"\n\"\n FORM: (46647..46674)\n OPEN_PAREN: (46647..46648) \"(\"\n SYMBOL: (46648..46652)\n IDENTIFIER: (46648..46652) \"test\"\n ATMOSPHERE: (46652..46653) \" \"\n CONSTANT: (46653..46655)\n BOOLEAN: (46653..46655) \"#f\"\n ATMOSPHERE: (46655..46656) \" \"\n FORM: (46656..46673)\n OPEN_PAREN: (46656..46657) \"(\"\n SYMBOL: (46657..46667)\n IDENTIFIER: (46657..46667) \"procedure?\"\n ATMOSPHERE: (46667..46668) \" \"\n QUOTED_DATUM: (46668..46672)\n QUOTE: (46668..46669) \"'\"\n SYMBOL: (46669..46672)\n IDENTIFIER: (46669..46672) \"car\"\n CLOSE_PAREN: (46672..46673) \")\"\n CLOSE_PAREN: (46673..46674) \")\"\n ATMOSPHERE: (46674..46675) \"\n\"\n FORM: (46675..46718)\n OPEN_PAREN: (46675..46676) \"(\"\n SYMBOL: (46676..46680)\n IDENTIFIER: (46676..46680) \"test\"\n ATMOSPHERE: (46680..46681) \" \"\n CONSTANT: (46681..46683)\n BOOLEAN: (46681..46683) \"#t\"\n ATMOSPHERE: (46683..46684) \" \"\n FORM: (46684..46717)\n OPEN_PAREN: (46684..46685) \"(\"\n SYMBOL: (46685..46695)\n IDENTIFIER: (46685..46695) \"procedure?\"\n ATMOSPHERE: (46695..46696) \" \"\n FORM: (46696..46716)\n OPEN_PAREN: (46696..46697) \"(\"\n SYMBOL: (46697..46703)\n IDENTIFIER: (46697..46703) \"lambda\"\n ATMOSPHERE: (46703..46704) \" \"\n FORM: (46704..46707)\n OPEN_PAREN: (46704..46705) \"(\"\n SYMBOL: (46705..46706)\n IDENTIFIER: (46705..46706) \"x\"\n CLOSE_PAREN: (46706..46707) \")\"\n ATMOSPHERE: (46707..46708) \" \"\n FORM: (46708..46715)\n OPEN_PAREN: (46708..46709) \"(\"\n SYMBOL: (46709..46710)\n IDENTIFIER: (46709..46710) \"*\"\n ATMOSPHERE: (46710..46711) \" \"\n SYMBOL: (46711..46712)\n IDENTIFIER: (46711..46712) \"x\"\n ATMOSPHERE: (46712..46713) \" \"\n SYMBOL: (46713..46714)\n IDENTIFIER: (46713..46714) \"x\"\n CLOSE_PAREN: (46714..46715) \")\"\n CLOSE_PAREN: (46715..46716) \")\"\n CLOSE_PAREN: (46716..46717) \")\"\n CLOSE_PAREN: (46717..46718) \")\"\n ATMOSPHERE: (46718..46719) \"\n\"\n FORM: (46719..46763)\n OPEN_PAREN: (46719..46720) \"(\"\n SYMBOL: (46720..46724)\n IDENTIFIER: (46720..46724) \"test\"\n ATMOSPHERE: (46724..46725) \" \"\n CONSTANT: (46725..46727)\n BOOLEAN: (46725..46727) \"#f\"\n ATMOSPHERE: (46727..46728) \" \"\n FORM: (46728..46762)\n OPEN_PAREN: (46728..46729) \"(\"\n SYMBOL: (46729..46739)\n IDENTIFIER: (46729..46739) \"procedure?\"\n ATMOSPHERE: (46739..46740) \" \"\n QUOTED_DATUM: (46740..46761)\n QUOTE: (46740..46741) \"'\"\n FORM: (46741..46761)\n OPEN_PAREN: (46741..46742) \"(\"\n SYMBOL: (46742..46748)\n IDENTIFIER: (46742..46748) \"lambda\"\n ATMOSPHERE: (46748..46749) \" \"\n FORM: (46749..46752)\n OPEN_PAREN: (46749..46750) \"(\"\n SYMBOL: (46750..46751)\n IDENTIFIER: (46750..46751) \"x\"\n CLOSE_PAREN: (46751..46752) \")\"\n ATMOSPHERE: (46752..46753) \" \"\n FORM: (46753..46760)\n OPEN_PAREN: (46753..46754) \"(\"\n SYMBOL: (46754..46755)\n IDENTIFIER: (46754..46755) \"*\"\n ATMOSPHERE: (46755..46756) \" \"\n SYMBOL: (46756..46757)\n IDENTIFIER: (46756..46757) \"x\"\n ATMOSPHERE: (46757..46758) \" \"\n SYMBOL: (46758..46759)\n IDENTIFIER: (46758..46759) \"x\"\n CLOSE_PAREN: (46759..46760) \")\"\n CLOSE_PAREN: (46760..46761) \")\"\n CLOSE_PAREN: (46761..46762) \")\"\n CLOSE_PAREN: (46762..46763) \")\"\n ATMOSPHERE: (46763..46764) \"\n\"\n ATMOSPHERE: (46764..46820) \";; (test #t (call-with-current-continuation procedure?))\"\n ATMOSPHERE: (46820..46822) \"\n\n\"\n FORM: (46822..46851)\n OPEN_PAREN: (46822..46823) \"(\"\n SYMBOL: (46823..46827)\n IDENTIFIER: (46823..46827) \"test\"\n ATMOSPHERE: (46827..46828) \" \"\n CONSTANT: (46828..46829)\n NUMBER: (46828..46829) \"7\"\n ATMOSPHERE: (46829..46830) \" \"\n FORM: (46830..46850)\n OPEN_PAREN: (46830..46831) \"(\"\n SYMBOL: (46831..46836)\n IDENTIFIER: (46831..46836) \"apply\"\n ATMOSPHERE: (46836..46837) \" \"\n SYMBOL: (46837..46838)\n IDENTIFIER: (46837..46838) \"+\"\n ATMOSPHERE: (46838..46839) \" \"\n FORM: (46839..46849)\n OPEN_PAREN: (46839..46840) \"(\"\n SYMBOL: (46840..46844)\n IDENTIFIER: (46840..46844) \"list\"\n ATMOSPHERE: (46844..46845) \" \"\n CONSTANT: (46845..46846)\n NUMBER: (46845..46846) \"3\"\n ATMOSPHERE: (46846..46847) \" \"\n CONSTANT: (46847..46848)\n NUMBER: (46847..46848) \"4\"\n CLOSE_PAREN: (46848..46849) \")\"\n CLOSE_PAREN: (46849..46850) \")\"\n CLOSE_PAREN: (46850..46851) \")\"\n ATMOSPHERE: (46851..46852) \"\n\"\n FORM: (46852..46881)\n OPEN_PAREN: (46852..46853) \"(\"\n SYMBOL: (46853..46857)\n IDENTIFIER: (46853..46857) \"test\"\n ATMOSPHERE: (46857..46858) \" \"\n CONSTANT: (46858..46859)\n NUMBER: (46858..46859) \"7\"\n ATMOSPHERE: (46859..46860) \" \"\n FORM: (46860..46880)\n OPEN_PAREN: (46860..46861) \"(\"\n SYMBOL: (46861..46866)\n IDENTIFIER: (46861..46866) \"apply\"\n ATMOSPHERE: (46866..46867) \" \"\n SYMBOL: (46867..46868)\n IDENTIFIER: (46867..46868) \"+\"\n ATMOSPHERE: (46868..46869) \" \"\n CONSTANT: (46869..46870)\n NUMBER: (46869..46870) \"3\"\n ATMOSPHERE: (46870..46871) \" \"\n CONSTANT: (46871..46872)\n NUMBER: (46871..46872) \"4\"\n ATMOSPHERE: (46872..46873) \" \"\n FORM: (46873..46879)\n OPEN_PAREN: (46873..46874) \"(\"\n SYMBOL: (46874..46878)\n IDENTIFIER: (46874..46878) \"list\"\n CLOSE_PAREN: (46878..46879) \")\"\n CLOSE_PAREN: (46879..46880) \")\"\n CLOSE_PAREN: (46880..46881) \")\"\n ATMOSPHERE: (46881..46882) \"\n\"\n ATMOSPHERE: (46882..46926) \";; (test-error (apply +)) ;; not enough args\"\n ATMOSPHERE: (46926..46927) \"\n\"\n ATMOSPHERE: (46927..46978) \";; (test-error (apply + 3)) ;; final arg not a list\"\n ATMOSPHERE: (46978..46979) \"\n\"\n ATMOSPHERE: (46979..47032) \";; (test-error (apply + 3 4)) ;; final arg not a list\"\n ATMOSPHERE: (47032..47033) \"\n\"\n ATMOSPHERE: (47033..47094) \";; (test-error (apply + '(2 3 . 4))) ;; final arg is improper\"\n ATMOSPHERE: (47094..47097) \"\n\n\n\"\n ATMOSPHERE: (47097..47115) \";; (define compose\"\n ATMOSPHERE: (47115..47116) \"\n\"\n ATMOSPHERE: (47116..47134) \";; (lambda (f g)\"\n ATMOSPHERE: (47134..47135) \"\n\"\n ATMOSPHERE: (47135..47154) \";; (lambda args\"\n ATMOSPHERE: (47154..47155) \"\n\"\n ATMOSPHERE: (47155..47185) \";; (f (apply g args)))))\"\n ATMOSPHERE: (47185..47186) \"\n\"\n ATMOSPHERE: (47186..47202) \";; (test '(30 0)\"\n ATMOSPHERE: (47202..47203) \"\n\"\n ATMOSPHERE: (47203..47278) \";; (call-with-values (lambda () ((compose exact-integer-sqrt *) 12 75))\"\n ATMOSPHERE: (47278..47279) \"\n\"\n ATMOSPHERE: (47279..47294) \";; list))\"\n ATMOSPHERE: (47294..47296) \"\n\n\"\n ATMOSPHERE: (47296..47346) \";; (test '(b e h) (map cadr '((a b) (d e) (g h))))\"\n ATMOSPHERE: (47346..47348) \"\n\n\"\n ATMOSPHERE: (47348..47419) \";; (test '(1 4 27 256 3125) (map (lambda (n) (expt n n)) '(1 2 3 4 5)))\"\n ATMOSPHERE: (47419..47421) \"\n\n\"\n ATMOSPHERE: (47421..47467) \";; (test '(5 7 9) (map + '(1 2 3) '(4 5 6 7)))\"\n ATMOSPHERE: (47467..47469) \"\n\n\"\n ATMOSPHERE: (47469..47480) \";; (test #t\"\n ATMOSPHERE: (47480..47481) \"\n\"\n ATMOSPHERE: (47481..47515) \";; (let ((res (let ((count 0))\"\n ATMOSPHERE: (47515..47516) \"\n\"\n ATMOSPHERE: (47516..47558) \";; (map (lambda (ignored)\"\n ATMOSPHERE: (47558..47559) \"\n\"\n ATMOSPHERE: (47559..47610) \";; (set! count (+ count 1))\"\n ATMOSPHERE: (47610..47611) \"\n\"\n ATMOSPHERE: (47611..47644) \";; count)\"\n ATMOSPHERE: (47644..47645) \"\n\"\n ATMOSPHERE: (47645..47680) \";; '(a b)))))\"\n ATMOSPHERE: (47680..47681) \"\n\"\n ATMOSPHERE: (47681..47713) \";; (or (equal? res '(1 2))\"\n ATMOSPHERE: (47713..47714) \"\n\"\n ATMOSPHERE: (47714..47749) \";; (equal? res '(2 1)))))\"\n ATMOSPHERE: (47749..47751) \"\n\n\"\n ATMOSPHERE: (47751..47786) \";; (test '(10 200 3000 40 500 6000)\"\n ATMOSPHERE: (47786..47787) \"\n\"\n ATMOSPHERE: (47787..47824) \";; (let ((ls1 (list 10 100 1000))\"\n ATMOSPHERE: (47824..47825) \"\n\"\n ATMOSPHERE: (47825..47863) \";; (ls2 (list 1 2 3 4 5 6)))\"\n ATMOSPHERE: (47863..47864) \"\n\"\n ATMOSPHERE: (47864..47898) \";; (set-cdr! (cddr ls1) ls1)\"\n ATMOSPHERE: (47898..47899) \"\n\"\n ATMOSPHERE: (47899..47925) \";; (map * ls1 ls2)))\"\n ATMOSPHERE: (47925..47927) \"\n\n\"\n ATMOSPHERE: (47927..47981) \";; (test \"abdegh\" (string-map char-foldcase \"AbdEgH\"))\"\n ATMOSPHERE: (47981..47983) \"\n\n\"\n ATMOSPHERE: (47983..48009) \";; (test \"IBM\" (string-map\"\n ATMOSPHERE: (48009..48010) \"\n\"\n ATMOSPHERE: (48010..48025) \";; (lambda (c)\"\n ATMOSPHERE: (48025..48026) \"\n\"\n ATMOSPHERE: (48026..48072) \";; (integer->char (+ 1 (char->integer c))))\"\n ATMOSPHERE: (48072..48073) \"\n\"\n ATMOSPHERE: (48073..48084) \";; \"HAL\"))\"\n ATMOSPHERE: (48084..48086) \"\n\n\"\n ATMOSPHERE: (48086..48107) \";; (test \"StUdLyCaPs\"\"\n ATMOSPHERE: (48107..48108) \"\n\"\n ATMOSPHERE: (48108..48126) \";; (string-map\"\n ATMOSPHERE: (48126..48127) \"\n\"\n ATMOSPHERE: (48127..48201) \";; (lambda (c k) (if (eqv? k #\\u) (char-upcase c) (char-downcase c)))\"\n ATMOSPHERE: (48201..48202) \"\n\"\n ATMOSPHERE: (48202..48226) \";; \"studlycaps xxx\"\"\n ATMOSPHERE: (48226..48227) \"\n\"\n ATMOSPHERE: (48227..48249) \";; \"ululululul\"))\"\n ATMOSPHERE: (48249..48251) \"\n\n\"\n ATMOSPHERE: (48251..48309) \";; (test #(b e h) (vector-map cadr '#((a b) (d e) (g h))))\"\n ATMOSPHERE: (48309..48311) \"\n\n\"\n ATMOSPHERE: (48311..48338) \";; (test #(1 4 27 256 3125)\"\n ATMOSPHERE: (48338..48339) \"\n\"\n ATMOSPHERE: (48339..48381) \";; (vector-map (lambda (n) (expt n n))\"\n ATMOSPHERE: (48381..48382) \"\n\"\n ATMOSPHERE: (48382..48416) \";; '#(1 2 3 4 5)))\"\n ATMOSPHERE: (48416..48418) \"\n\n\"\n ATMOSPHERE: (48418..48473) \";; (test #(5 7 9) (vector-map + '#(1 2 3) '#(4 5 6 7)))\"\n ATMOSPHERE: (48473..48475) \"\n\n\"\n ATMOSPHERE: (48475..48486) \";; (test #t\"\n ATMOSPHERE: (48486..48487) \"\n\"\n ATMOSPHERE: (48487..48521) \";; (let ((res (let ((count 0))\"\n ATMOSPHERE: (48521..48522) \"\n\"\n ATMOSPHERE: (48522..48553) \";; (vector-map\"\n ATMOSPHERE: (48553..48554) \"\n\"\n ATMOSPHERE: (48554..48592) \";; (lambda (ignored)\"\n ATMOSPHERE: (48592..48593) \"\n\"\n ATMOSPHERE: (48593..48640) \";; (set! count (+ count 1))\"\n ATMOSPHERE: (48640..48641) \"\n\"\n ATMOSPHERE: (48641..48670) \";; count)\"\n ATMOSPHERE: (48670..48671) \"\n\"\n ATMOSPHERE: (48671..48703) \";; '#(a b)))))\"\n ATMOSPHERE: (48703..48704) \"\n\"\n ATMOSPHERE: (48704..48736) \";; (or (equal? res #(1 2))\"\n ATMOSPHERE: (48736..48737) \"\n\"\n ATMOSPHERE: (48737..48772) \";; (equal? res #(2 1)))))\"\n ATMOSPHERE: (48772..48774) \"\n\n\"\n ATMOSPHERE: (48774..48796) \";; (test #(0 1 4 9 16)\"\n ATMOSPHERE: (48796..48797) \"\n\"\n ATMOSPHERE: (48797..48830) \";; (let ((v (make-vector 5)))\"\n ATMOSPHERE: (48830..48831) \"\n\"\n ATMOSPHERE: (48831..48861) \";; (for-each (lambda (i)\"\n ATMOSPHERE: (48861..48862) \"\n\"\n ATMOSPHERE: (48862..48909) \";; (vector-set! v i (* i i)))\"\n ATMOSPHERE: (48909..48910) \"\n\"\n ATMOSPHERE: (48910..48942) \";; '(0 1 2 3 4))\"\n ATMOSPHERE: (48942..48943) \"\n\"\n ATMOSPHERE: (48943..48955) \";; v))\"\n ATMOSPHERE: (48955..48957) \"\n\n\"\n ATMOSPHERE: (48957..48970) \";; (test 9750\"\n ATMOSPHERE: (48970..48971) \"\n\"\n ATMOSPHERE: (48971..49008) \";; (let ((ls1 (list 10 100 1000))\"\n ATMOSPHERE: (49008..49009) \"\n\"\n ATMOSPHERE: (49009..49046) \";; (ls2 (list 1 2 3 4 5 6))\"\n ATMOSPHERE: (49046..49047) \"\n\"\n ATMOSPHERE: (49047..49070) \";; (count 0))\"\n ATMOSPHERE: (49070..49071) \"\n\"\n ATMOSPHERE: (49071..49105) \";; (set-cdr! (cddr ls1) ls1)\"\n ATMOSPHERE: (49105..49106) \"\n\"\n ATMOSPHERE: (49106..49179) \";; (for-each (lambda (x y) (set! count (+ count (* x y)))) ls2 ls1)\"\n ATMOSPHERE: (49179..49180) \"\n\"\n ATMOSPHERE: (49180..49196) \";; count))\"\n ATMOSPHERE: (49196..49198) \"\n\n\"\n ATMOSPHERE: (49198..49226) \";; (test '(101 100 99 98 97)\"\n ATMOSPHERE: (49226..49227) \"\n\"\n ATMOSPHERE: (49227..49248) \";; (let ((v '()))\"\n ATMOSPHERE: (49248..49249) \"\n\"\n ATMOSPHERE: (49249..49274) \";; (string-for-each\"\n ATMOSPHERE: (49274..49275) \"\n\"\n ATMOSPHERE: (49275..49333) \";; (lambda (c) (set! v (cons (char->integer c) v)))\"\n ATMOSPHERE: (49333..49334) \"\n\"\n ATMOSPHERE: (49334..49352) \";; \"abcde\")\"\n ATMOSPHERE: (49352..49353) \"\n\"\n ATMOSPHERE: (49353..49365) \";; v))\"\n ATMOSPHERE: (49365..49367) \"\n\n\"\n ATMOSPHERE: (49367..49414) \";; (test '(0 1 4 9 16) (let ((v (make-list 5)))\"\n ATMOSPHERE: (49414..49415) \"\n\"\n ATMOSPHERE: (49415..49436) \";; (vector-for-each\"\n ATMOSPHERE: (49436..49437) \"\n\"\n ATMOSPHERE: (49437..49479) \";; (lambda (i) (list-set! v i (* i i)))\"\n ATMOSPHERE: (49479..49480) \"\n\"\n ATMOSPHERE: (49480..49500) \";; '#(0 1 2 3 4))\"\n ATMOSPHERE: (49500..49501) \"\n\"\n ATMOSPHERE: (49501..49509) \";; v))\"\n ATMOSPHERE: (49509..49511) \"\n\n\"\n ATMOSPHERE: (49511..49554) \";; (test -3 (call-with-current-continuation\"\n ATMOSPHERE: (49554..49555) \"\n\"\n ATMOSPHERE: (49555..49574) \";; (lambda (exit)\"\n ATMOSPHERE: (49574..49575) \"\n\"\n ATMOSPHERE: (49575..49603) \";; (for-each (lambda (x)\"\n ATMOSPHERE: (49603..49604) \"\n\"\n ATMOSPHERE: (49604..49640) \";; (if (negative? x)\"\n ATMOSPHERE: (49640..49641) \"\n\"\n ATMOSPHERE: (49641..49674) \";; (exit x)))\"\n ATMOSPHERE: (49674..49675) \"\n\"\n ATMOSPHERE: (49675..49713) \";; '(54 0 37 -3 245 19))\"\n ATMOSPHERE: (49713..49714) \"\n\"\n ATMOSPHERE: (49714..49726) \";; #t)))\"\n ATMOSPHERE: (49726..49727) \"\n\"\n ATMOSPHERE: (49727..49749) \";; (define list-length\"\n ATMOSPHERE: (49749..49750) \"\n\"\n ATMOSPHERE: (49750..49768) \";; (lambda (obj)\"\n ATMOSPHERE: (49768..49769) \"\n\"\n ATMOSPHERE: (49769..49807) \";; (call-with-current-continuation\"\n ATMOSPHERE: (49807..49808) \"\n\"\n ATMOSPHERE: (49808..49833) \";; (lambda (return)\"\n ATMOSPHERE: (49833..49834) \"\n\"\n ATMOSPHERE: (49834..49856) \";; (letrec ((r\"\n ATMOSPHERE: (49856..49857) \"\n\"\n ATMOSPHERE: (49857..49891) \";; (lambda (obj)\"\n ATMOSPHERE: (49891..49892) \"\n\"\n ATMOSPHERE: (49892..49936) \";; (cond ((null? obj) 0)\"\n ATMOSPHERE: (49936..49937) \"\n\"\n ATMOSPHERE: (49937..49978) \";; ((pair? obj)\"\n ATMOSPHERE: (49978..49979) \"\n\"\n ATMOSPHERE: (49979..50029) \";; (+ (r (cdr obj)) 1))\"\n ATMOSPHERE: (50029..50030) \"\n\"\n ATMOSPHERE: (50030..50081) \";; (else (return #f))))))\"\n ATMOSPHERE: (50081..50082) \"\n\"\n ATMOSPHERE: (50082..50107) \";; (r obj))))))\"\n ATMOSPHERE: (50107..50109) \"\n\n\"\n ATMOSPHERE: (50109..50145) \";; (test 4 (list-length '(1 2 3 4)))\"\n ATMOSPHERE: (50145..50147) \"\n\n\"\n ATMOSPHERE: (50147..50184) \";; (test #f (list-length '(a b . c)))\"\n ATMOSPHERE: (50184..50186) \"\n\n\"\n ATMOSPHERE: (50186..50196) \";; (test 5\"\n ATMOSPHERE: (50196..50197) \"\n\"\n ATMOSPHERE: (50197..50246) \";; (call-with-values (lambda () (values 4 5))\"\n ATMOSPHERE: (50246..50247) \"\n\"\n ATMOSPHERE: (50247..50274) \";; (lambda (a b) b)))\"\n ATMOSPHERE: (50274..50276) \"\n\n\"\n ATMOSPHERE: (50276..50311) \";; (test -1 (call-with-values * -))\"\n ATMOSPHERE: (50311..50313) \"\n\n\"\n ATMOSPHERE: (50313..50348) \";; (test '(connect talk1 disconnect\"\n ATMOSPHERE: (50348..50349) \"\n\"\n ATMOSPHERE: (50349..50385) \";; connect talk2 disconnect)\"\n ATMOSPHERE: (50385..50386) \"\n\"\n ATMOSPHERE: (50386..50409) \";; (let ((path '())\"\n ATMOSPHERE: (50409..50410) \"\n\"\n ATMOSPHERE: (50410..50430) \";; (c #f))\"\n ATMOSPHERE: (50430..50431) \"\n\"\n ATMOSPHERE: (50431..50462) \";; (let ((add (lambda (s)\"\n ATMOSPHERE: (50462..50463) \"\n\"\n ATMOSPHERE: (50463..50513) \";; (set! path (cons s path)))))\"\n ATMOSPHERE: (50513..50514) \"\n\"\n ATMOSPHERE: (50514..50538) \";; (dynamic-wind\"\n ATMOSPHERE: (50538..50539) \"\n\"\n ATMOSPHERE: (50539..50578) \";; (lambda () (add 'connect))\"\n ATMOSPHERE: (50578..50579) \"\n\"\n ATMOSPHERE: (50579..50602) \";; (lambda ()\"\n ATMOSPHERE: (50602..50603) \"\n\"\n ATMOSPHERE: (50603..50654) \";; (add (call-with-current-continuation\"\n ATMOSPHERE: (50654..50655) \"\n\"\n ATMOSPHERE: (50655..50688) \";; (lambda (c0)\"\n ATMOSPHERE: (50688..50689) \"\n\"\n ATMOSPHERE: (50689..50723) \";; (set! c c0)\"\n ATMOSPHERE: (50723..50724) \"\n\"\n ATMOSPHERE: (50724..50757) \";; 'talk1))))\"\n ATMOSPHERE: (50757..50758) \"\n\"\n ATMOSPHERE: (50758..50801) \";; (lambda () (add 'disconnect)))\"\n ATMOSPHERE: (50801..50802) \"\n\"\n ATMOSPHERE: (50802..50836) \";; (if (< (length path) 4)\"\n ATMOSPHERE: (50836..50837) \"\n\"\n ATMOSPHERE: (50837..50862) \";; (c 'talk2)\"\n ATMOSPHERE: (50862..50863) \"\n\"\n ATMOSPHERE: (50863..50896) \";; (reverse path)))))\"\n ATMOSPHERE: (50896..50898) \"\n\n\"\n FORM: (50898..50908)\n OPEN_PAREN: (50898..50899) \"(\"\n SYMBOL: (50899..50907)\n IDENTIFIER: (50899..50907) \"test-end\"\n CLOSE_PAREN: (50907..50908) \")\"\n ATMOSPHERE: (50908..50910) \"\n\n\"\n FORM: (50910..50940)\n OPEN_PAREN: (50910..50911) \"(\"\n SYMBOL: (50911..50921)\n IDENTIFIER: (50911..50921) \"test-begin\"\n ATMOSPHERE: (50921..50922) \" \"\n CONSTANT: (50922..50939)\n STRING: (50922..50939) \"\"6.11 Exceptions\"\"\n CLOSE_PAREN: (50939..50940) \")\"\n ATMOSPHERE: (50940..50942) \"\n\n\"\n ATMOSPHERE: (50942..50953) \";; (test 65\"\n ATMOSPHERE: (50953..50954) \"\n\"\n ATMOSPHERE: (50954..50984) \";; (with-exception-handler\"\n ATMOSPHERE: (50984..50985) \"\n\"\n ATMOSPHERE: (50985..51010) \";; (lambda (con) 42)\"\n ATMOSPHERE: (51010..51011) \"\n\"\n ATMOSPHERE: (51011..51029) \";; (lambda ()\"\n ATMOSPHERE: (51029..51030) \"\n\"\n ATMOSPHERE: (51030..51083) \";; (+ (raise-continuable \"should be a number\")\"\n ATMOSPHERE: (51083..51084) \"\n\"\n ATMOSPHERE: (51084..51103) \";; 23))))\"\n ATMOSPHERE: (51103..51105) \"\n\n\"\n ATMOSPHERE: (51105..51116) \";; (test #t\"\n ATMOSPHERE: (51116..51117) \"\n\"\n ATMOSPHERE: (51117..51187) \";; (error-object? (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51187..51188) \"\n\"\n ATMOSPHERE: (51188..51204) \";; (test \"BOOM!\"\"\n ATMOSPHERE: (51204..51205) \"\n\"\n ATMOSPHERE: (51205..51282) \";; (error-object-message (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51282..51283) \"\n\"\n ATMOSPHERE: (51283..51300) \";; (test '(1 2 3)\"\n ATMOSPHERE: (51300..51301) \"\n\"\n ATMOSPHERE: (51301..51380) \";; (error-object-irritants (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51380..51382) \"\n\n\"\n ATMOSPHERE: (51382..51393) \";; (test #f\"\n ATMOSPHERE: (51393..51394) \"\n\"\n ATMOSPHERE: (51394..51456) \";; (file-error? (guard (exn (else exn)) (error \"BOOM!\"))))\"\n ATMOSPHERE: (51456..51457) \"\n\"\n ATMOSPHERE: (51457..51468) \";; (test #t\"\n ATMOSPHERE: (51468..51469) \"\n\"\n ATMOSPHERE: (51469..51550) \";; (file-error? (guard (exn (else exn)) (open-input-file \" no such file \"))))\"\n ATMOSPHERE: (51550..51552) \"\n\n\"\n ATMOSPHERE: (51552..51563) \";; (test #f\"\n ATMOSPHERE: (51563..51564) \"\n\"\n ATMOSPHERE: (51564..51626) \";; (read-error? (guard (exn (else exn)) (error \"BOOM!\"))))\"\n ATMOSPHERE: (51626..51627) \"\n\"\n ATMOSPHERE: (51627..51638) \";; (test #t\"\n ATMOSPHERE: (51638..51639) \"\n\"\n ATMOSPHERE: (51639..51716) \";; (read-error? (guard (exn (else exn)) (read (open-input-string \")\")))))\"\n ATMOSPHERE: (51716..51717) \"\n\"\n ATMOSPHERE: (51717..51728) \";; (test #t\"\n ATMOSPHERE: (51728..51729) \"\n\"\n ATMOSPHERE: (51729..51807) \";; (read-error? (guard (exn (else exn)) (read (open-input-string \"\\\"\")))))\"\n ATMOSPHERE: (51807..51809) \"\n\n\"\n ATMOSPHERE: (51809..51844) \";; (define something-went-wrong #f)\"\n ATMOSPHERE: (51844..51845) \"\n\"\n ATMOSPHERE: (51845..51884) \";; (define (test-exception-handler-1 v)\"\n ATMOSPHERE: (51884..51885) \"\n\"\n ATMOSPHERE: (51885..51921) \";; (call-with-current-continuation\"\n ATMOSPHERE: (51921..51922) \"\n\"\n ATMOSPHERE: (51922..51939) \";; (lambda (k)\"\n ATMOSPHERE: (51939..51940) \"\n\"\n ATMOSPHERE: (51940..51971) \";; (with-exception-handler\"\n ATMOSPHERE: (51971..51972) \"\n\"\n ATMOSPHERE: (51972..51992) \";; (lambda (x)\"\n ATMOSPHERE: (51992..51993) \"\n\"\n ATMOSPHERE: (51993..52054) \";; (set! something-went-wrong (list \"condition: \" x))\"\n ATMOSPHERE: (52054..52055) \"\n\"\n ATMOSPHERE: (52055..52081) \";; (k 'exception))\"\n ATMOSPHERE: (52081..52082) \"\n\"\n ATMOSPHERE: (52082..52101) \";; (lambda ()\"\n ATMOSPHERE: (52101..52102) \"\n\"\n ATMOSPHERE: (52102..52164) \";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error))))))))\"\n ATMOSPHERE: (52164..52165) \"\n\"\n ATMOSPHERE: (52165..52207) \";; (test 106 (test-exception-handler-1 5))\"\n ATMOSPHERE: (52207..52208) \"\n\"\n ATMOSPHERE: (52208..52241) \";; (test #f something-went-wrong)\"\n ATMOSPHERE: (52241..52242) \"\n\"\n ATMOSPHERE: (52242..52292) \";; (test 'exception (test-exception-handler-1 -1))\"\n ATMOSPHERE: (52292..52293) \"\n\"\n ATMOSPHERE: (52293..52349) \";; (test '(\"condition: \" an-error) something-went-wrong)\"\n ATMOSPHERE: (52349..52351) \"\n\n\"\n ATMOSPHERE: (52351..52384) \";; (set! something-went-wrong #f)\"\n ATMOSPHERE: (52384..52385) \"\n\"\n ATMOSPHERE: (52385..52424) \";; (define (test-exception-handler-2 v)\"\n ATMOSPHERE: (52424..52425) \"\n\"\n ATMOSPHERE: (52425..52474) \";; (guard (ex (else 'caught-another-exception))\"\n ATMOSPHERE: (52474..52475) \"\n\"\n ATMOSPHERE: (52475..52505) \";; (with-exception-handler\"\n ATMOSPHERE: (52505..52506) \"\n\"\n ATMOSPHERE: (52506..52525) \";; (lambda (x)\"\n ATMOSPHERE: (52525..52526) \"\n\"\n ATMOSPHERE: (52526..52566) \";; (set! something-went-wrong #t)\"\n ATMOSPHERE: (52566..52567) \"\n\"\n ATMOSPHERE: (52567..52599) \";; (list \"exception:\" x))\"\n ATMOSPHERE: (52599..52600) \"\n\"\n ATMOSPHERE: (52600..52618) \";; (lambda ()\"\n ATMOSPHERE: (52618..52619) \"\n\"\n ATMOSPHERE: (52619..52679) \";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error)))))))\"\n ATMOSPHERE: (52679..52680) \"\n\"\n ATMOSPHERE: (52680..52722) \";; (test 106 (test-exception-handler-2 5))\"\n ATMOSPHERE: (52722..52723) \"\n\"\n ATMOSPHERE: (52723..52756) \";; (test #f something-went-wrong)\"\n ATMOSPHERE: (52756..52757) \"\n\"\n ATMOSPHERE: (52757..52822) \";; (test 'caught-another-exception (test-exception-handler-2 -1))\"\n ATMOSPHERE: (52822..52823) \"\n\"\n ATMOSPHERE: (52823..52856) \";; (test #t something-went-wrong)\"\n ATMOSPHERE: (52856..52858) \"\n\n\"\n ATMOSPHERE: (52858..52921) \";; ;; Based on an example from R6RS-lib section 7.1 Exceptions.\"\n ATMOSPHERE: (52921..52922) \"\n\"\n ATMOSPHERE: (52922..52982) \";; ;; R7RS section 6.11 Exceptions has a simplified version.\"\n ATMOSPHERE: (52982..52983) \"\n\"\n ATMOSPHERE: (52983..53019) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (53019..53020) \"\n\"\n ATMOSPHERE: (53020..53060) \";; (value (with-exception-handler\"\n ATMOSPHERE: (53060..53061) \"\n\"\n ATMOSPHERE: (53061..53092) \";; (lambda (con)\"\n ATMOSPHERE: (53092..53093) \"\n\"\n ATMOSPHERE: (53093..53118) \";; (cond\"\n ATMOSPHERE: (53118..53119) \"\n\"\n ATMOSPHERE: (53119..53158) \";; ((not (list? con))\"\n ATMOSPHERE: (53158..53159) \"\n\"\n ATMOSPHERE: (53159..53193) \";; (raise con))\"\n ATMOSPHERE: (53193..53194) \"\n\"\n ATMOSPHERE: (53194..53227) \";; ((list? con)\"\n ATMOSPHERE: (53227..53228) \"\n\"\n ATMOSPHERE: (53228..53274) \";; (display (car con) out))\"\n ATMOSPHERE: (53274..53275) \"\n\"\n ATMOSPHERE: (53275..53301) \";; (else\"\n ATMOSPHERE: (53301..53302) \"\n\"\n ATMOSPHERE: (53302..53367) \";; (display \"a warning has been issued\" out)))\"\n ATMOSPHERE: (53367..53368) \"\n\"\n ATMOSPHERE: (53368..53391) \";; 42)\"\n ATMOSPHERE: (53391..53392) \"\n\"\n ATMOSPHERE: (53392..53420) \";; (lambda ()\"\n ATMOSPHERE: (53420..53421) \"\n\"\n ATMOSPHERE: (53421..53462) \";; (+ (raise-continuable\"\n ATMOSPHERE: (53462..53463) \"\n\"\n ATMOSPHERE: (53463..53515) \";; (list \"should be a number\"))\"\n ATMOSPHERE: (53515..53516) \"\n\"\n ATMOSPHERE: (53516..53546) \";; 23)))))\"\n ATMOSPHERE: (53546..53547) \"\n\"\n ATMOSPHERE: (53547..53603) \";; (test \"should be a number\" (get-output-string out))\"\n ATMOSPHERE: (53603..53604) \"\n\"\n ATMOSPHERE: (53604..53625) \";; (test 65 value))\"\n ATMOSPHERE: (53625..53627) \"\n\n\"\n ATMOSPHERE: (53627..53669) \";; ;; From SRFI-34 \"Examples\" section - #3\"\n ATMOSPHERE: (53669..53670) \"\n\"\n ATMOSPHERE: (53670..53713) \";; (define (test-exception-handler-3 v out)\"\n ATMOSPHERE: (53713..53714) \"\n\"\n ATMOSPHERE: (53714..53736) \";; (guard (condition\"\n ATMOSPHERE: (53736..53737) \"\n\"\n ATMOSPHERE: (53737..53755) \";; (else\"\n ATMOSPHERE: (53755..53756) \"\n\"\n ATMOSPHERE: (53756..53797) \";; (display \"condition: \" out)\"\n ATMOSPHERE: (53797..53798) \"\n\"\n ATMOSPHERE: (53798..53833) \";; (write condition out)\"\n ATMOSPHERE: (53833..53834) \"\n\"\n ATMOSPHERE: (53834..53865) \";; (display #\\! out)\"\n ATMOSPHERE: (53865..53866) \"\n\"\n ATMOSPHERE: (53866..53892) \";; 'exception))\"\n ATMOSPHERE: (53892..53893) \"\n\"\n ATMOSPHERE: (53893..53952) \";; (+ 1 (if (= v 0) (raise 'an-error) (/ 10 v)))))\"\n ATMOSPHERE: (53952..53953) \"\n\"\n ATMOSPHERE: (53953..53989) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (53989..53990) \"\n\"\n ATMOSPHERE: (53990..54041) \";; (value (test-exception-handler-3 0 out)))\"\n ATMOSPHERE: (54041..54042) \"\n\"\n ATMOSPHERE: (54042..54070) \";; (test 'exception value)\"\n ATMOSPHERE: (54070..54071) \"\n\"\n ATMOSPHERE: (54071..54130) \";; (test \"condition: an-error!\" (get-output-string out)))\"\n ATMOSPHERE: (54130..54132) \"\n\n\"\n ATMOSPHERE: (54132..54175) \";; (define (test-exception-handler-4 v out)\"\n ATMOSPHERE: (54175..54176) \"\n\"\n ATMOSPHERE: (54176..54212) \";; (call-with-current-continuation\"\n ATMOSPHERE: (54212..54213) \"\n\"\n ATMOSPHERE: (54213..54230) \";; (lambda (k)\"\n ATMOSPHERE: (54230..54231) \"\n\"\n ATMOSPHERE: (54231..54262) \";; (with-exception-handler\"\n ATMOSPHERE: (54262..54263) \"\n\"\n ATMOSPHERE: (54263..54283) \";; (lambda (x)\"\n ATMOSPHERE: (54283..54284) \"\n\"\n ATMOSPHERE: (54284..54320) \";; (display \"reraised \" out)\"\n ATMOSPHERE: (54320..54321) \"\n\"\n ATMOSPHERE: (54321..54363) \";; (write x out) (display #\\! out)\"\n ATMOSPHERE: (54363..54364) \"\n\"\n ATMOSPHERE: (54364..54385) \";; (k 'zero))\"\n ATMOSPHERE: (54385..54386) \"\n\"\n ATMOSPHERE: (54386..54405) \";; (lambda ()\"\n ATMOSPHERE: (54405..54406) \"\n\"\n ATMOSPHERE: (54406..54434) \";; (guard (condition\"\n ATMOSPHERE: (54434..54435) \"\n\"\n ATMOSPHERE: (54435..54476) \";; ((positive? condition)\"\n ATMOSPHERE: (54476..54477) \"\n\"\n ATMOSPHERE: (54477..54507) \";; 'positive)\"\n ATMOSPHERE: (54507..54508) \"\n\"\n ATMOSPHERE: (54508..54549) \";; ((negative? condition)\"\n ATMOSPHERE: (54549..54550) \"\n\"\n ATMOSPHERE: (54550..54581) \";; 'negative))\"\n ATMOSPHERE: (54581..54582) \"\n\"\n ATMOSPHERE: (54582..54610) \";; (raise v)))))))\"\n ATMOSPHERE: (54610..54612) \"\n\n\"\n ATMOSPHERE: (54612..54654) \";; ;; From SRFI-34 \"Examples\" section - #5\"\n ATMOSPHERE: (54654..54655) \"\n\"\n ATMOSPHERE: (54655..54691) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (54691..54692) \"\n\"\n ATMOSPHERE: (54692..54743) \";; (value (test-exception-handler-4 1 out)))\"\n ATMOSPHERE: (54743..54744) \"\n\"\n ATMOSPHERE: (54744..54782) \";; (test \"\" (get-output-string out))\"\n ATMOSPHERE: (54782..54783) \"\n\"\n ATMOSPHERE: (54783..54811) \";; (test 'positive value))\"\n ATMOSPHERE: (54811..54812) \"\n\"\n ATMOSPHERE: (54812..54854) \";; ;; From SRFI-34 \"Examples\" section - #6\"\n ATMOSPHERE: (54854..54855) \"\n\"\n ATMOSPHERE: (54855..54891) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (54891..54892) \"\n\"\n ATMOSPHERE: (54892..54944) \";; (value (test-exception-handler-4 -1 out)))\"\n ATMOSPHERE: (54944..54945) \"\n\"\n ATMOSPHERE: (54945..54983) \";; (test \"\" (get-output-string out))\"\n ATMOSPHERE: (54983..54984) \"\n\"\n ATMOSPHERE: (54984..55012) \";; (test 'negative value))\"\n ATMOSPHERE: (55012..55013) \"\n\"\n ATMOSPHERE: (55013..55055) \";; ;; From SRFI-34 \"Examples\" section - #7\"\n ATMOSPHERE: (55055..55056) \"\n\"\n ATMOSPHERE: (55056..55092) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (55092..55093) \"\n\"\n ATMOSPHERE: (55093..55144) \";; (value (test-exception-handler-4 0 out)))\"\n ATMOSPHERE: (55144..55145) \"\n\"\n ATMOSPHERE: (55145..55194) \";; (test \"reraised 0!\" (get-output-string out))\"\n ATMOSPHERE: (55194..55195) \"\n\"\n ATMOSPHERE: (55195..55219) \";; (test 'zero value))\"\n ATMOSPHERE: (55219..55221) \"\n\n\"\n ATMOSPHERE: (55221..55263) \";; ;; From SRFI-34 \"Examples\" section - #8\"\n ATMOSPHERE: (55263..55264) \"\n\"\n ATMOSPHERE: (55264..55275) \";; (test 42\"\n ATMOSPHERE: (55275..55276) \"\n\"\n ATMOSPHERE: (55276..55300) \";; (guard (condition\"\n ATMOSPHERE: (55300..55301) \"\n\"\n ATMOSPHERE: (55301..55344) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55344..55345) \"\n\"\n ATMOSPHERE: (55345..55382) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55382..55383) \"\n\"\n ATMOSPHERE: (55383..55421) \";; (raise (list (cons 'a 42)))))\"\n ATMOSPHERE: (55421..55423) \"\n\n\"\n ATMOSPHERE: (55423..55465) \";; ;; From SRFI-34 \"Examples\" section - #9\"\n ATMOSPHERE: (55465..55466) \"\n\"\n ATMOSPHERE: (55466..55484) \";; (test '(b . 23)\"\n ATMOSPHERE: (55484..55485) \"\n\"\n ATMOSPHERE: (55485..55509) \";; (guard (condition\"\n ATMOSPHERE: (55509..55510) \"\n\"\n ATMOSPHERE: (55510..55553) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55553..55554) \"\n\"\n ATMOSPHERE: (55554..55591) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55591..55592) \"\n\"\n ATMOSPHERE: (55592..55630) \";; (raise (list (cons 'b 23)))))\"\n ATMOSPHERE: (55630..55632) \"\n\n\"\n ATMOSPHERE: (55632..55650) \";; (test 'caught-d\"\n ATMOSPHERE: (55650..55651) \"\n\"\n ATMOSPHERE: (55651..55675) \";; (guard (condition\"\n ATMOSPHERE: (55675..55676) \"\n\"\n ATMOSPHERE: (55676..55722) \";; ((assq 'c condition) 'caught-c)\"\n ATMOSPHERE: (55722..55723) \"\n\"\n ATMOSPHERE: (55723..55770) \";; ((assq 'd condition) 'caught-d))\"\n ATMOSPHERE: (55770..55771) \"\n\"\n ATMOSPHERE: (55771..55785) \";; (list\"\n ATMOSPHERE: (55785..55786) \"\n\"\n ATMOSPHERE: (55786..55804) \";; (sqrt 8)\"\n ATMOSPHERE: (55804..55805) \"\n\"\n ATMOSPHERE: (55805..55832) \";; (guard (condition\"\n ATMOSPHERE: (55832..55833) \"\n\"\n ATMOSPHERE: (55833..55879) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55879..55880) \"\n\"\n ATMOSPHERE: (55880..55920) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55920..55921) \"\n\"\n ATMOSPHERE: (55921..55964) \";; (raise (list (cons 'd 24)))))))\"\n ATMOSPHERE: (55964..55966) \"\n\n\"\n FORM: (55966..55976)\n OPEN_PAREN: (55966..55967) \"(\"\n SYMBOL: (55967..55975)\n IDENTIFIER: (55967..55975) \"test-end\"\n CLOSE_PAREN: (55975..55976) \")\"\n ATMOSPHERE: (55976..55978) \"\n\n\"\n FORM: (55978..56025)\n OPEN_PAREN: (55978..55979) \"(\"\n SYMBOL: (55979..55989)\n IDENTIFIER: (55979..55989) \"test-begin\"\n ATMOSPHERE: (55989..55990) \" \"\n CONSTANT: (55990..56024)\n STRING: (55990..56024) \"\"6.12 Environments and evaluation\"\"\n CLOSE_PAREN: (56024..56025) \")\"\n ATMOSPHERE: (56025..56027) \"\n\n\"\n ATMOSPHERE: (56027..56088) \";; ;; (test 21 (eval '(* 7 3) (scheme-report-environment 5)))\"\n ATMOSPHERE: (56088..56090) \"\n\n\"\n ATMOSPHERE: (56090..56101) \";; (test 20\"\n ATMOSPHERE: (56101..56102) \"\n\"\n ATMOSPHERE: (56102..56171) \";; (let ((f (eval '(lambda (f x) (f x x)) (null-environment 5))))\"\n ATMOSPHERE: (56171..56172) \"\n\"\n ATMOSPHERE: (56172..56191) \";; (f + 10)))\"\n ATMOSPHERE: (56191..56193) \"\n\n\"\n ATMOSPHERE: (56193..56256) \";; (test 1024 (eval '(expt 2 10) (environment '(scheme base))))\"\n ATMOSPHERE: (56256..56257) \"\n\"\n ATMOSPHERE: (56257..56294) \";; ;; (sin 0) may return exact number\"\n ATMOSPHERE: (56294..56295) \"\n\"\n ATMOSPHERE: (56295..56366) \";; (test 0.0 (inexact (eval '(sin 0) (environment '(scheme inexact)))))\"\n ATMOSPHERE: (56366..56367) \"\n\"\n ATMOSPHERE: (56367..56378) \";; ;; ditto\"\n ATMOSPHERE: (56378..56379) \"\n\"\n ATMOSPHERE: (56379..56435) \";; (test 1024.0 (eval '(+ (expt 2 10) (inexact (sin 0)))\"\n ATMOSPHERE: (56435..56436) \"\n\"\n ATMOSPHERE: (56436..56506) \";; (environment '(scheme base) '(scheme inexact))))\"\n ATMOSPHERE: (56506..56508) \"\n\n\"\n FORM: (56508..56518)\n OPEN_PAREN: (56508..56509) \"(\"\n SYMBOL: (56509..56517)\n IDENTIFIER: (56509..56517) \"test-end\"\n CLOSE_PAREN: (56517..56518) \")\"\n ATMOSPHERE: (56518..56520) \"\n\n\"\n FORM: (56520..56556)\n OPEN_PAREN: (56520..56521) \"(\"\n SYMBOL: (56521..56531)\n IDENTIFIER: (56521..56531) \"test-begin\"\n ATMOSPHERE: (56531..56532) \" \"\n CONSTANT: (56532..56555)\n STRING: (56532..56555) \"\"6.13 Input and output\"\"\n CLOSE_PAREN: (56555..56556) \")\"\n ATMOSPHERE: (56556..56558) \"\n\n\"\n ATMOSPHERE: (56558..56599) \";; (test #t (port? (current-input-port)))\"\n ATMOSPHERE: (56599..56600) \"\n\"\n ATMOSPHERE: (56600..56647) \";; (test #t (input-port? (current-input-port)))\"\n ATMOSPHERE: (56647..56648) \"\n\"\n ATMOSPHERE: (56648..56697) \";; (test #t (output-port? (current-output-port)))\"\n ATMOSPHERE: (56697..56698) \"\n\"\n ATMOSPHERE: (56698..56746) \";; (test #t (output-port? (current-error-port)))\"\n ATMOSPHERE: (56746..56747) \"\n\"\n ATMOSPHERE: (56747..56799) \";; (test #t (input-port? (open-input-string \"abc\")))\"\n ATMOSPHERE: (56799..56800) \"\n\"\n ATMOSPHERE: (56800..56848) \";; (test #t (output-port? (open-output-string)))\"\n ATMOSPHERE: (56848..56850) \"\n\n\"\n ATMOSPHERE: (56850..56904) \";; (test #t (textual-port? (open-input-string \"abc\")))\"\n ATMOSPHERE: (56904..56905) \"\n\"\n ATMOSPHERE: (56905..56954) \";; (test #t (textual-port? (open-output-string)))\"\n ATMOSPHERE: (56954..56955) \"\n\"\n ATMOSPHERE: (56955..57017) \";; (test #t (binary-port? (open-input-bytevector #u8(0 1 2))))\"\n ATMOSPHERE: (57017..57018) \"\n\"\n ATMOSPHERE: (57018..57070) \";; (test #t (binary-port? (open-output-bytevector)))\"\n ATMOSPHERE: (57070..57072) \"\n\n\"\n ATMOSPHERE: (57072..57129) \";; (test #t (input-port-open? (open-input-string \"abc\")))\"\n ATMOSPHERE: (57129..57130) \"\n\"\n ATMOSPHERE: (57130..57183) \";; (test #t (output-port-open? (open-output-string)))\"\n ATMOSPHERE: (57183..57185) \"\n\n\"\n ATMOSPHERE: (57185..57196) \";; (test #f\"\n ATMOSPHERE: (57196..57197) \"\n\"\n ATMOSPHERE: (57197..57241) \";; (let ((in (open-input-string \"abc\")))\"\n ATMOSPHERE: (57241..57242) \"\n\"\n ATMOSPHERE: (57242..57272) \";; (close-input-port in)\"\n ATMOSPHERE: (57272..57273) \"\n\"\n ATMOSPHERE: (57273..57305) \";; (input-port-open? in)))\"\n ATMOSPHERE: (57305..57307) \"\n\n\"\n ATMOSPHERE: (57307..57318) \";; (test #f\"\n ATMOSPHERE: (57318..57319) \"\n\"\n ATMOSPHERE: (57319..57359) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57359..57360) \"\n\"\n ATMOSPHERE: (57360..57392) \";; (close-output-port out)\"\n ATMOSPHERE: (57392..57393) \"\n\"\n ATMOSPHERE: (57393..57427) \";; (output-port-open? out)))\"\n ATMOSPHERE: (57427..57429) \"\n\n\"\n ATMOSPHERE: (57429..57440) \";; (test #f\"\n ATMOSPHERE: (57440..57441) \"\n\"\n ATMOSPHERE: (57441..57481) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57481..57482) \"\n\"\n ATMOSPHERE: (57482..57507) \";; (close-port out)\"\n ATMOSPHERE: (57507..57508) \"\n\"\n ATMOSPHERE: (57508..57542) \";; (output-port-open? out)))\"\n ATMOSPHERE: (57542..57544) \"\n\n\"\n ATMOSPHERE: (57544..57559) \";; (test 'error\"\n ATMOSPHERE: (57559..57560) \"\n\"\n ATMOSPHERE: (57560..57604) \";; (let ((in (open-input-string \"abc\")))\"\n ATMOSPHERE: (57604..57605) \"\n\"\n ATMOSPHERE: (57605..57635) \";; (close-input-port in)\"\n ATMOSPHERE: (57635..57636) \"\n\"\n ATMOSPHERE: (57636..57689) \";; (guard (exn (else 'error)) (read-char in))))\"\n ATMOSPHERE: (57689..57691) \"\n\n\"\n ATMOSPHERE: (57691..57706) \";; (test 'error\"\n ATMOSPHERE: (57706..57707) \"\n\"\n ATMOSPHERE: (57707..57747) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57747..57748) \"\n\"\n ATMOSPHERE: (57748..57780) \";; (close-output-port out)\"\n ATMOSPHERE: (57780..57781) \"\n\"\n ATMOSPHERE: (57781..57840) \";; (guard (exn (else 'error)) (write-char #\\c out))))\"\n ATMOSPHERE: (57840..57842) \"\n\n\"\n ATMOSPHERE: (57842..57881) \";; (test #t (eof-object? (eof-object)))\"\n ATMOSPHERE: (57881..57882) \"\n\"\n ATMOSPHERE: (57882..57938) \";; (test #t (eof-object? (read (open-input-string \"\"))))\"\n ATMOSPHERE: (57938..57939) \"\n\"\n ATMOSPHERE: (57939..57990) \";; (test #t (char-ready? (open-input-string \"42\")))\"\n ATMOSPHERE: (57990..57991) \"\n\"\n ATMOSPHERE: (57991..58037) \";; (test 42 (read (open-input-string \" 42 \")))\"\n ATMOSPHERE: (58037..58039) \"\n\n\"\n ATMOSPHERE: (58039..58100) \";; (test #t (eof-object? (read-char (open-input-string \"\"))))\"\n ATMOSPHERE: (58100..58101) \"\n\"\n ATMOSPHERE: (58101..58152) \";; (test #\\a (read-char (open-input-string \"abc\")))\"\n ATMOSPHERE: (58152..58154) \"\n\n\"\n ATMOSPHERE: (58154..58215) \";; (test #t (eof-object? (read-line (open-input-string \"\"))))\"\n ATMOSPHERE: (58215..58216) \"\n\"\n ATMOSPHERE: (58216..58269) \";; (test \"abc\" (read-line (open-input-string \"abc\")))\"\n ATMOSPHERE: (58269..58270) \"\n\"\n ATMOSPHERE: (58270..58330) \";; (test \"abc\" (read-line (open-input-string \"abc\\ndef\\n\")))\"\n ATMOSPHERE: (58330..58332) \"\n\n\"\n ATMOSPHERE: (58332..58397) \";; (test #t (eof-object? (read-string 3 (open-input-string \"\"))))\"\n ATMOSPHERE: (58397..58398) \"\n\"\n ATMOSPHERE: (58398..58456) \";; (test \"abc\" (read-string 3 (open-input-string \"abcd\")))\"\n ATMOSPHERE: (58456..58457) \"\n\"\n ATMOSPHERE: (58457..58521) \";; (test \"abc\" (read-string 3 (open-input-string \"abc\\ndef\\n\")))\"\n ATMOSPHERE: (58521..58523) \"\n\n\"\n ATMOSPHERE: (58523..58596) \";; (let ((in (open-input-string (string #\\x10F700 #\\x10F701 #\\x10F702))))\"\n ATMOSPHERE: (58596..58597) \"\n\"\n ATMOSPHERE: (58597..58628) \";; (let* ((c0 (peek-char in))\"\n ATMOSPHERE: (58628..58629) \"\n\"\n ATMOSPHERE: (58629..58660) \";; (c1 (read-char in))\"\n ATMOSPHERE: (58660..58661) \"\n\"\n ATMOSPHERE: (58661..58692) \";; (c2 (read-char in))\"\n ATMOSPHERE: (58692..58693) \"\n\"\n ATMOSPHERE: (58693..58725) \";; (c3 (read-char in)))\"\n ATMOSPHERE: (58725..58726) \"\n\"\n ATMOSPHERE: (58726..58752) \";; (test #\\x10F700 c0)\"\n ATMOSPHERE: (58752..58753) \"\n\"\n ATMOSPHERE: (58753..58779) \";; (test #\\x10F700 c1)\"\n ATMOSPHERE: (58779..58780) \"\n\"\n ATMOSPHERE: (58780..58806) \";; (test #\\x10F701 c2)\"\n ATMOSPHERE: (58806..58807) \"\n\"\n ATMOSPHERE: (58807..58835) \";; (test #\\x10F702 c3)))\"\n ATMOSPHERE: (58835..58837) \"\n\n\"\n ATMOSPHERE: (58837..58864) \";; (test (string #\\x10F700)\"\n ATMOSPHERE: (58864..58865) \"\n\"\n ATMOSPHERE: (58865..58905) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (58905..58906) \"\n\"\n ATMOSPHERE: (58906..58941) \";; (write-char #\\x10F700 out)\"\n ATMOSPHERE: (58941..58942) \"\n\"\n ATMOSPHERE: (58942..58976) \";; (get-output-string out)))\"\n ATMOSPHERE: (58976..58978) \"\n\n\"\n ATMOSPHERE: (58978..58992) \";; (test \"abc\"\"\n ATMOSPHERE: (58992..58993) \"\n\"\n ATMOSPHERE: (58993..59033) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59033..59034) \"\n\"\n ATMOSPHERE: (59034..59059) \";; (write 'abc out)\"\n ATMOSPHERE: (59059..59060) \"\n\"\n ATMOSPHERE: (59060..59094) \";; (get-output-string out)))\"\n ATMOSPHERE: (59094..59096) \"\n\n\"\n ATMOSPHERE: (59096..59114) \";; (test \"abc def\"\"\n ATMOSPHERE: (59114..59115) \"\n\"\n ATMOSPHERE: (59115..59155) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59155..59156) \"\n\"\n ATMOSPHERE: (59156..59188) \";; (display \"abc def\" out)\"\n ATMOSPHERE: (59188..59189) \"\n\"\n ATMOSPHERE: (59189..59223) \";; (get-output-string out)))\"\n ATMOSPHERE: (59223..59225) \"\n\n\"\n ATMOSPHERE: (59225..59239) \";; (test \"abc\"\"\n ATMOSPHERE: (59239..59240) \"\n\"\n ATMOSPHERE: (59240..59280) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59280..59281) \"\n\"\n ATMOSPHERE: (59281..59307) \";; (display #\\a out)\"\n ATMOSPHERE: (59307..59308) \"\n\"\n ATMOSPHERE: (59308..59334) \";; (display \"b\" out)\"\n ATMOSPHERE: (59334..59335) \"\n\"\n ATMOSPHERE: (59335..59361) \";; (display #\\c out)\"\n ATMOSPHERE: (59361..59362) \"\n\"\n ATMOSPHERE: (59362..59396) \";; (get-output-string out)))\"\n ATMOSPHERE: (59396..59398) \"\n\n\"\n ATMOSPHERE: (59398..59409) \";; (test #t\"\n ATMOSPHERE: (59409..59410) \"\n\"\n ATMOSPHERE: (59410..59452) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (59452..59453) \"\n\"\n ATMOSPHERE: (59453..59519) \";; (r (begin (newline out) (get-output-string out))))\"\n ATMOSPHERE: (59519..59520) \"\n\"\n ATMOSPHERE: (59520..59571) \";; (or (equal? r \"\\n\") (equal? r \"\\r\\n\"))))\"\n ATMOSPHERE: (59571..59573) \"\n\n\"\n ATMOSPHERE: (59573..59591) \";; (test \"abc def\"\"\n ATMOSPHERE: (59591..59592) \"\n\"\n ATMOSPHERE: (59592..59632) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59632..59633) \"\n\"\n ATMOSPHERE: (59633..59670) \";; (write-string \"abc def\" out)\"\n ATMOSPHERE: (59670..59671) \"\n\"\n ATMOSPHERE: (59671..59705) \";; (get-output-string out)))\"\n ATMOSPHERE: (59705..59707) \"\n\n\"\n ATMOSPHERE: (59707..59721) \";; (test \"def\"\"\n ATMOSPHERE: (59721..59722) \"\n\"\n ATMOSPHERE: (59722..59762) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59762..59763) \"\n\"\n ATMOSPHERE: (59763..59802) \";; (write-string \"abc def\" out 4)\"\n ATMOSPHERE: (59802..59803) \"\n\"\n ATMOSPHERE: (59803..59837) \";; (get-output-string out)))\"\n ATMOSPHERE: (59837..59839) \"\n\n\"\n ATMOSPHERE: (59839..59853) \";; (test \"c d\"\"\n ATMOSPHERE: (59853..59854) \"\n\"\n ATMOSPHERE: (59854..59894) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59894..59895) \"\n\"\n ATMOSPHERE: (59895..59936) \";; (write-string \"abc def\" out 2 5)\"\n ATMOSPHERE: (59936..59937) \"\n\"\n ATMOSPHERE: (59937..59971) \";; (get-output-string out)))\"\n ATMOSPHERE: (59971..59973) \"\n\n\"\n ATMOSPHERE: (59973..59984) \";; (test \"\"\"\n ATMOSPHERE: (59984..59985) \"\n\"\n ATMOSPHERE: (59985..60023) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (60023..60024) \"\n\"\n ATMOSPHERE: (60024..60054) \";; (flush-output-port out)\"\n ATMOSPHERE: (60054..60055) \"\n\"\n ATMOSPHERE: (60055..60087) \";; (get-output-string out)))\"\n ATMOSPHERE: (60087..60089) \"\n\n\"\n ATMOSPHERE: (60089..60155) \";; (test #t (eof-object? (read-u8 (open-input-bytevector #u8()))))\"\n ATMOSPHERE: (60155..60156) \"\n\"\n ATMOSPHERE: (60156..60212) \";; (test 1 (read-u8 (open-input-bytevector #u8(1 2 3))))\"\n ATMOSPHERE: (60212..60214) \"\n\n\"\n ATMOSPHERE: (60214..60290) \";; (test #t (eof-object? (read-bytevector 3 (open-input-bytevector #u8()))))\"\n ATMOSPHERE: (60290..60291) \"\n\"\n ATMOSPHERE: (60291..60346) \";; (test #t (u8-ready? (open-input-bytevector #u8(1))))\"\n ATMOSPHERE: (60346..60347) \"\n\"\n ATMOSPHERE: (60347..60414) \";; (test #u8(1) (read-bytevector 3 (open-input-bytevector #u8(1))))\"\n ATMOSPHERE: (60414..60415) \"\n\"\n ATMOSPHERE: (60415..60486) \";; (test #u8(1 2) (read-bytevector 3 (open-input-bytevector #u8(1 2))))\"\n ATMOSPHERE: (60486..60487) \"\n\"\n ATMOSPHERE: (60487..60562) \";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3))))\"\n ATMOSPHERE: (60562..60563) \"\n\"\n ATMOSPHERE: (60563..60640) \";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3 4))))\"\n ATMOSPHERE: (60640..60642) \"\n\n\"\n ATMOSPHERE: (60642..60653) \";; (test #t\"\n ATMOSPHERE: (60653..60654) \"\n\"\n ATMOSPHERE: (60654..60695) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60695..60696) \"\n\"\n ATMOSPHERE: (60696..60772) \";; (eof-object? (read-bytevector! bv (open-input-bytevector #u8())))))\"\n ATMOSPHERE: (60772..60774) \"\n\n\"\n ATMOSPHERE: (60774..60798) \";; (test #u8(6 7 8 9 10)\"\n ATMOSPHERE: (60798..60799) \"\n\"\n ATMOSPHERE: (60799..60838) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60838..60839) \"\n\"\n ATMOSPHERE: (60839..60911) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 5)\"\n ATMOSPHERE: (60911..60912) \"\n\"\n ATMOSPHERE: (60912..60923) \";; bv))\"\n ATMOSPHERE: (60923..60925) \"\n\n\"\n ATMOSPHERE: (60925..60948) \";; (test #u8(6 7 8 4 5)\"\n ATMOSPHERE: (60948..60949) \"\n\"\n ATMOSPHERE: (60949..60988) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60988..60989) \"\n\"\n ATMOSPHERE: (60989..61061) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 3)\"\n ATMOSPHERE: (61061..61062) \"\n\"\n ATMOSPHERE: (61062..61073) \";; bv))\"\n ATMOSPHERE: (61073..61075) \"\n\n\"\n ATMOSPHERE: (61075..61098) \";; (test #u8(1 2 3 6 5)\"\n ATMOSPHERE: (61098..61099) \"\n\"\n ATMOSPHERE: (61099..61138) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (61138..61139) \"\n\"\n ATMOSPHERE: (61139..61211) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 3 4)\"\n ATMOSPHERE: (61211..61212) \"\n\"\n ATMOSPHERE: (61212..61223) \";; bv))\"\n ATMOSPHERE: (61223..61225) \"\n\n\"\n ATMOSPHERE: (61225..61244) \";; (test #u8(1 2 3)\"\n ATMOSPHERE: (61244..61245) \"\n\"\n ATMOSPHERE: (61245..61287) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61287..61288) \"\n\"\n ATMOSPHERE: (61288..61311) \";; (write-u8 1 out)\"\n ATMOSPHERE: (61311..61312) \"\n\"\n ATMOSPHERE: (61312..61335) \";; (write-u8 2 out)\"\n ATMOSPHERE: (61335..61336) \"\n\"\n ATMOSPHERE: (61336..61359) \";; (write-u8 3 out)\"\n ATMOSPHERE: (61359..61360) \"\n\"\n ATMOSPHERE: (61360..61396) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61396..61398) \"\n\n\"\n ATMOSPHERE: (61398..61421) \";; (test #u8(1 2 3 4 5)\"\n ATMOSPHERE: (61421..61422) \"\n\"\n ATMOSPHERE: (61422..61464) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61464..61465) \"\n\"\n ATMOSPHERE: (61465..61509) \";; (write-bytevector #u8(1 2 3 4 5) out)\"\n ATMOSPHERE: (61509..61510) \"\n\"\n ATMOSPHERE: (61510..61546) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61546..61548) \"\n\n\"\n ATMOSPHERE: (61548..61567) \";; (test #u8(3 4 5)\"\n ATMOSPHERE: (61567..61568) \"\n\"\n ATMOSPHERE: (61568..61610) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61610..61611) \"\n\"\n ATMOSPHERE: (61611..61657) \";; (write-bytevector #u8(1 2 3 4 5) out 2)\"\n ATMOSPHERE: (61657..61658) \"\n\"\n ATMOSPHERE: (61658..61694) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61694..61696) \"\n\n\"\n ATMOSPHERE: (61696..61713) \";; (test #u8(3 4)\"\n ATMOSPHERE: (61713..61714) \"\n\"\n ATMOSPHERE: (61714..61756) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61756..61757) \"\n\"\n ATMOSPHERE: (61757..61805) \";; (write-bytevector #u8(1 2 3 4 5) out 2 4)\"\n ATMOSPHERE: (61805..61806) \"\n\"\n ATMOSPHERE: (61806..61842) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61842..61844) \"\n\n\"\n ATMOSPHERE: (61844..61858) \";; (test #u8()\"\n ATMOSPHERE: (61858..61859) \"\n\"\n ATMOSPHERE: (61859..61901) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61901..61902) \"\n\"\n ATMOSPHERE: (61902..61932) \";; (flush-output-port out)\"\n ATMOSPHERE: (61932..61933) \"\n\"\n ATMOSPHERE: (61933..61969) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61969..61971) \"\n\n\"\n ATMOSPHERE: (61971..61982) \";; (test #t\"\n ATMOSPHERE: (61982..61983) \"\n\"\n ATMOSPHERE: (61983..62002) \";; (and (member\"\n ATMOSPHERE: (62002..62003) \"\n\"\n ATMOSPHERE: (62003..62048) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62048..62049) \"\n\"\n ATMOSPHERE: (62049..62081) \";; (x (list 1)))\"\n ATMOSPHERE: (62081..62082) \"\n\"\n ATMOSPHERE: (62082..62111) \";; (set-cdr! x x)\"\n ATMOSPHERE: (62111..62112) \"\n\"\n ATMOSPHERE: (62112..62140) \";; (write x out)\"\n ATMOSPHERE: (62140..62141) \"\n\"\n ATMOSPHERE: (62141..62180) \";; (get-output-string out))\"\n ATMOSPHERE: (62180..62181) \"\n\"\n ATMOSPHERE: (62181..62254) \";; ;; labels not guaranteed to be 0 indexed, spacing may differ\"\n ATMOSPHERE: (62254..62255) \"\n\"\n ATMOSPHERE: (62255..62301) \";; '(\"#0=(1 . #0#)\" \"#1=(1 . #1#)\"))\"\n ATMOSPHERE: (62301..62302) \"\n\"\n ATMOSPHERE: (62302..62318) \";; #t))\"\n ATMOSPHERE: (62318..62320) \"\n\n\"\n ATMOSPHERE: (62320..62348) \";; (test \"((1 2 3) (1 2 3))\"\"\n ATMOSPHERE: (62348..62349) \"\n\"\n ATMOSPHERE: (62349..62388) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62388..62389) \"\n\"\n ATMOSPHERE: (62389..62419) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62419..62420) \"\n\"\n ATMOSPHERE: (62420..62451) \";; (write (list x x) out)\"\n ATMOSPHERE: (62451..62452) \"\n\"\n ATMOSPHERE: (62452..62486) \";; (get-output-string out)))\"\n ATMOSPHERE: (62486..62488) \"\n\n\"\n ATMOSPHERE: (62488..62516) \";; (test \"((1 2 3) (1 2 3))\"\"\n ATMOSPHERE: (62516..62517) \"\n\"\n ATMOSPHERE: (62517..62556) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62556..62557) \"\n\"\n ATMOSPHERE: (62557..62587) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62587..62588) \"\n\"\n ATMOSPHERE: (62588..62626) \";; (write-simple (list x x) out)\"\n ATMOSPHERE: (62626..62627) \"\n\"\n ATMOSPHERE: (62627..62661) \";; (get-output-string out)))\"\n ATMOSPHERE: (62661..62663) \"\n\n\"\n ATMOSPHERE: (62663..62674) \";; (test #t\"\n ATMOSPHERE: (62674..62675) \"\n\"\n ATMOSPHERE: (62675..62727) \";; (and (member (let ((out (open-output-string))\"\n ATMOSPHERE: (62727..62728) \"\n\"\n ATMOSPHERE: (62728..62771) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62771..62772) \"\n\"\n ATMOSPHERE: (62772..62823) \";; (write-shared (list x x) out)\"\n ATMOSPHERE: (62823..62824) \"\n\"\n ATMOSPHERE: (62824..62870) \";; (get-output-string out))\"\n ATMOSPHERE: (62870..62871) \"\n\"\n ATMOSPHERE: (62871..62932) \";; '(\"(#0=(1 2 3) #0#)\" \"(#1=(1 2 3) #1#)\"))\"\n ATMOSPHERE: (62932..62933) \"\n\"\n ATMOSPHERE: (62933..62949) \";; #t))\"\n ATMOSPHERE: (62949..62951) \"\n\n\"\n FORM: (62951..62977)\n OPEN_PAREN: (62951..62952) \"(\"\n SYMBOL: (62952..62962)\n IDENTIFIER: (62952..62962) \"test-begin\"\n ATMOSPHERE: (62962..62963) \" \"\n CONSTANT: (62963..62976)\n STRING: (62963..62976) \"\"Read syntax\"\"\n CLOSE_PAREN: (62976..62977) \")\"\n ATMOSPHERE: (62977..62979) \"\n\n\"\n ATMOSPHERE: (62979..63022) \";; ;; check reading boolean followed by eof\"\n ATMOSPHERE: (63022..63023) \"\n\"\n ATMOSPHERE: (63023..63067) \";; (test #t (read (open-input-string \"#t\")))\"\n ATMOSPHERE: (63067..63068) \"\n\"\n ATMOSPHERE: (63068..63115) \";; (test #t (read (open-input-string \"#true\")))\"\n ATMOSPHERE: (63115..63116) \"\n\"\n ATMOSPHERE: (63116..63160) \";; (test #f (read (open-input-string \"#f\")))\"\n ATMOSPHERE: (63160..63161) \"\n\"\n ATMOSPHERE: (63161..63209) \";; (test #f (read (open-input-string \"#false\")))\"\n ATMOSPHERE: (63209..63210) \"\n\"\n ATMOSPHERE: (63210..63233) \";; (define (read2 port)\"\n ATMOSPHERE: (63233..63234) \"\n\"\n ATMOSPHERE: (63234..63280) \";; (let* ((o1 (read port)) (o2 (read port)))\"\n ATMOSPHERE: (63280..63281) \"\n\"\n ATMOSPHERE: (63281..63302) \";; (cons o1 o2)))\"\n ATMOSPHERE: (63302..63303) \"\n\"\n ATMOSPHERE: (63303..63352) \";; ;; check reading boolean followed by delimiter\"\n ATMOSPHERE: (63352..63353) \"\n\"\n ATMOSPHERE: (63353..63410) \";; (test '(#t . (5)) (read2 (open-input-string \"#t(5)\")))\"\n ATMOSPHERE: (63410..63411) \"\n\"\n ATMOSPHERE: (63411..63469) \";; (test '(#t . 6) (read2 (open-input-string \"#true 6 \")))\"\n ATMOSPHERE: (63469..63470) \"\n\"\n ATMOSPHERE: (63470..63524) \";; (test '(#f . 7) (read2 (open-input-string \"#f 7\")))\"\n ATMOSPHERE: (63524..63525) \"\n\"\n ATMOSPHERE: (63525..63588) \";; (test '(#f . \"8\") (read2 (open-input-string \"#false\\\"8\\\"\")))\"\n ATMOSPHERE: (63588..63590) \"\n\n\"\n ATMOSPHERE: (63590..63635) \";; (test '() (read (open-input-string \"()\")))\"\n ATMOSPHERE: (63635..63636) \"\n\"\n ATMOSPHERE: (63636..63687) \";; (test '(1 2) (read (open-input-string \"(1 2)\")))\"\n ATMOSPHERE: (63687..63688) \"\n\"\n ATMOSPHERE: (63688..63743) \";; (test '(1 . 2) (read (open-input-string \"(1 . 2)\")))\"\n ATMOSPHERE: (63743..63744) \"\n\"\n ATMOSPHERE: (63744..63799) \";; (test '(1 2) (read (open-input-string \"(1 . (2))\")))\"\n ATMOSPHERE: (63799..63800) \"\n\"\n ATMOSPHERE: (63800..63871) \";; (test '(1 2 3 4 5) (read (open-input-string \"(1 . (2 3 4 . (5)))\")))\"\n ATMOSPHERE: (63871..63872) \"\n\"\n ATMOSPHERE: (63872..63933) \";; (test '1 (cadr (read (open-input-string \"#0=(1 . #0#)\"))))\"\n ATMOSPHERE: (63933..63934) \"\n\"\n ATMOSPHERE: (63934..64005) \";; (test '(1 2 3) (cadr (read (open-input-string \"(#0=(1 2 3) #0#)\"))))\"\n ATMOSPHERE: (64005..64007) \"\n\n\"\n ATMOSPHERE: (64007..64067) \";; (test '(quote (1 2)) (read (open-input-string \"'(1 2)\")))\"\n ATMOSPHERE: (64067..64068) \"\n\"\n ATMOSPHERE: (64068..64139) \";; (test '(quote (1 (unquote 2))) (read (open-input-string \"'(1 ,2)\")))\"\n ATMOSPHERE: (64139..64140) \"\n\"\n ATMOSPHERE: (64140..64221) \";; (test '(quote (1 (unquote-splicing 2))) (read (open-input-string \"'(1 ,@2)\")))\"\n ATMOSPHERE: (64221..64222) \"\n\"\n ATMOSPHERE: (64222..64298) \";; (test '(quasiquote (1 (unquote 2))) (read (open-input-string \"`(1 ,2)\")))\"\n ATMOSPHERE: (64298..64300) \"\n\n\"\n ATMOSPHERE: (64300..64346) \";; (test #() (read (open-input-string \"#()\")))\"\n ATMOSPHERE: (64346..64347) \"\n\"\n ATMOSPHERE: (64347..64399) \";; (test #(a b) (read (open-input-string \"#(a b)\")))\"\n ATMOSPHERE: (64399..64401) \"\n\n\"\n ATMOSPHERE: (64401..64451) \";; (test #u8() (read (open-input-string \"#u8()\")))\"\n ATMOSPHERE: (64451..64452) \"\n\"\n ATMOSPHERE: (64452..64508) \";; (test #u8(0 1) (read (open-input-string \"#u8(0 1)\")))\"\n ATMOSPHERE: (64508..64510) \"\n\n\"\n ATMOSPHERE: (64510..64557) \";; (test 'abc (read (open-input-string \"abc\")))\"\n ATMOSPHERE: (64557..64558) \"\n\"\n ATMOSPHERE: (64558..64609) \";; (test 'abc (read (open-input-string \"abc def\")))\"\n ATMOSPHERE: (64609..64610) \"\n\"\n ATMOSPHERE: (64610..64657) \";; (test 'ABC (read (open-input-string \"ABC\")))\"\n ATMOSPHERE: (64657..64658) \"\n\"\n ATMOSPHERE: (64658..64716) \";; (test 'Hello (read (open-input-string \"|H\\\\x65;llo|\")))\"\n ATMOSPHERE: (64716..64718) \"\n\n\"\n ATMOSPHERE: (64718..64777) \";; (test 'abc (read (open-input-string \"#!fold-case ABC\")))\"\n ATMOSPHERE: (64777..64778) \"\n\"\n ATMOSPHERE: (64778..64852) \";; (test 'ABC (read (open-input-string \"#!fold-case #!no-fold-case ABC\")))\"\n ATMOSPHERE: (64852..64854) \"\n\n\"\n ATMOSPHERE: (64854..64908) \";; (test 'def (read (open-input-string \"#; abc def\")))\"\n ATMOSPHERE: (64908..64909) \"\n\"\n ATMOSPHERE: (64909..64964) \";; (test 'def (read (open-input-string \"; abc \\ndef\")))\"\n ATMOSPHERE: (64964..64965) \"\n\"\n ATMOSPHERE: (64965..65022) \";; (test 'def (read (open-input-string \"#| abc |# def\")))\"\n ATMOSPHERE: (65022..65023) \"\n\"\n ATMOSPHERE: (65023..65090) \";; (test 'ghi (read (open-input-string \"#| abc #| def |# |# ghi\")))\"\n ATMOSPHERE: (65090..65091) \"\n\"\n ATMOSPHERE: (65091..65153) \";; (test 'ghi (read (open-input-string \"#; ; abc\\n def ghi\")))\"\n ATMOSPHERE: (65153..65154) \"\n\"\n ATMOSPHERE: (65154..65220) \";; (test '(abs -16) (read (open-input-string \"(#;sqrt abs -16)\")))\"\n ATMOSPHERE: (65220..65221) \"\n\"\n ATMOSPHERE: (65221..65281) \";; (test '(a d) (read (open-input-string \"(a #; #;b c d)\")))\"\n ATMOSPHERE: (65281..65282) \"\n\"\n ATMOSPHERE: (65282..65345) \";; (test '(a e) (read (open-input-string \"(a #;(b #;c d) e)\")))\"\n ATMOSPHERE: (65345..65346) \"\n\"\n ATMOSPHERE: (65346..65405) \";; (test '(a . c) (read (open-input-string \"(a . #;b c)\")))\"\n ATMOSPHERE: (65405..65406) \"\n\"\n ATMOSPHERE: (65406..65465) \";; (test '(a . b) (read (open-input-string \"(a . b #;c)\")))\"\n ATMOSPHERE: (65465..65467) \"\n\n\"\n ATMOSPHERE: (65467..65499) \";; (define (test-read-error str)\"\n ATMOSPHERE: (65499..65500) \"\n\"\n ATMOSPHERE: (65500..65521) \";; (test-assert str\"\n ATMOSPHERE: (65521..65522) \"\n\"\n ATMOSPHERE: (65522..65553) \";; (guard (exn (else #t))\"\n ATMOSPHERE: (65553..65554) \"\n\"\n ATMOSPHERE: (65554..65595) \";; (read (open-input-string str))\"\n ATMOSPHERE: (65595..65596) \"\n\"\n ATMOSPHERE: (65596..65612) \";; #f)))\"\n ATMOSPHERE: (65612..65614) \"\n\n\"\n ATMOSPHERE: (65614..65646) \";; (test-read-error \"(#;a . b)\")\"\n ATMOSPHERE: (65646..65647) \"\n\"\n ATMOSPHERE: (65647..65679) \";; (test-read-error \"(a . #;b)\")\"\n ATMOSPHERE: (65679..65680) \"\n\"\n ATMOSPHERE: (65680..65712) \";; (test-read-error \"(a #;. b)\")\"\n ATMOSPHERE: (65712..65713) \"\n\"\n ATMOSPHERE: (65713..65749) \";; (test-read-error \"(#;x #;y . z)\")\"\n ATMOSPHERE: (65749..65750) \"\n\"\n ATMOSPHERE: (65750..65789) \";; (test-read-error \"(#; #;x #;y . z)\")\"\n ATMOSPHERE: (65789..65790) \"\n\"\n ATMOSPHERE: (65790..65825) \";; (test-read-error \"(#; #;x . z)\")\"\n ATMOSPHERE: (65825..65827) \"\n\n\"\n ATMOSPHERE: (65827..65874) \";; (test #\\a (read (open-input-string \"#\\\\a\")))\"\n ATMOSPHERE: (65874..65875) \"\n\"\n ATMOSPHERE: (65875..65930) \";; (test #\\space (read (open-input-string \"#\\\\space\")))\"\n ATMOSPHERE: (65930..65931) \"\n\"\n ATMOSPHERE: (65931..65995) \";; (test 0 (char->integer (read (open-input-string \"#\\\\null\"))))\"\n ATMOSPHERE: (65995..65996) \"\n\"\n ATMOSPHERE: (65996..66061) \";; (test 7 (char->integer (read (open-input-string \"#\\\\alarm\"))))\"\n ATMOSPHERE: (66061..66062) \"\n\"\n ATMOSPHERE: (66062..66131) \";; (test 8 (char->integer (read (open-input-string \"#\\\\backspace\"))))\"\n ATMOSPHERE: (66131..66132) \"\n\"\n ATMOSPHERE: (66132..66195) \";; (test 9 (char->integer (read (open-input-string \"#\\\\tab\"))))\"\n ATMOSPHERE: (66195..66196) \"\n\"\n ATMOSPHERE: (66196..66264) \";; (test 10 (char->integer (read (open-input-string \"#\\\\newline\"))))\"\n ATMOSPHERE: (66264..66265) \"\n\"\n ATMOSPHERE: (66265..66332) \";; (test 13 (char->integer (read (open-input-string \"#\\\\return\"))))\"\n ATMOSPHERE: (66332..66333) \"\n\"\n ATMOSPHERE: (66333..66402) \";; (test #x7F (char->integer (read (open-input-string \"#\\\\delete\"))))\"\n ATMOSPHERE: (66402..66403) \"\n\"\n ATMOSPHERE: (66403..66472) \";; (test #x1B (char->integer (read (open-input-string \"#\\\\escape\"))))\"\n ATMOSPHERE: (66472..66473) \"\n\"\n ATMOSPHERE: (66473..66539) \";; (test #x03BB (char->integer (read (open-input-string \"#\\\\λ\"))))\"\n ATMOSPHERE: (66539..66540) \"\n\"\n ATMOSPHERE: (66540..66610) \";; (test #x03BB (char->integer (read (open-input-string \"#\\\\x03BB\"))))\"\n ATMOSPHERE: (66610..66612) \"\n\n\"\n ATMOSPHERE: (66612..66664) \";; (test \"abc\" (read (open-input-string \"\\\"abc\\\"\")))\"\n ATMOSPHERE: (66664..66665) \"\n\"\n ATMOSPHERE: (66665..66725) \";; (test \"abc\" (read (open-input-string \"\\\"abc\\\" \\\"def\\\"\")))\"\n ATMOSPHERE: (66725..66726) \"\n\"\n ATMOSPHERE: (66726..66778) \";; (test \"ABC\" (read (open-input-string \"\\\"ABC\\\"\")))\"\n ATMOSPHERE: (66778..66779) \"\n\"\n ATMOSPHERE: (66779..66840) \";; (test \"Hello\" (read (open-input-string \"\\\"H\\\\x65;llo\\\"\")))\"\n ATMOSPHERE: (66840..66841) \"\n\"\n ATMOSPHERE: (66841..66920) \";; (test 7 (char->integer (string-ref (read (open-input-string \"\\\"\\\\a\\\"\")) 0)))\"\n ATMOSPHERE: (66920..66921) \"\n\"\n ATMOSPHERE: (66921..67000) \";; (test 8 (char->integer (string-ref (read (open-input-string \"\\\"\\\\b\\\"\")) 0)))\"\n ATMOSPHERE: (67000..67001) \"\n\"\n ATMOSPHERE: (67001..67080) \";; (test 9 (char->integer (string-ref (read (open-input-string \"\\\"\\\\t\\\"\")) 0)))\"\n ATMOSPHERE: (67080..67081) \"\n\"\n ATMOSPHERE: (67081..67161) \";; (test 10 (char->integer (string-ref (read (open-input-string \"\\\"\\\\n\\\"\")) 0)))\"\n ATMOSPHERE: (67161..67162) \"\n\"\n ATMOSPHERE: (67162..67242) \";; (test 13 (char->integer (string-ref (read (open-input-string \"\\\"\\\\r\\\"\")) 0)))\"\n ATMOSPHERE: (67242..67243) \"\n\"\n ATMOSPHERE: (67243..67326) \";; (test #x22 (char->integer (string-ref (read (open-input-string \"\\\"\\\\\\\"\\\"\")) 0)))\"\n ATMOSPHERE: (67326..67327) \"\n\"\n ATMOSPHERE: (67327..67409) \";; (test #x7C (char->integer (string-ref (read (open-input-string \"\\\"\\\\|\\\"\")) 0)))\"\n ATMOSPHERE: (67409..67410) \"\n\"\n ATMOSPHERE: (67410..67488) \";; (test \"line 1\\nline 2\\n\" (read (open-input-string \"\\\"line 1\\nline 2\\n\\\"\")))\"\n ATMOSPHERE: (67488..67489) \"\n\"\n ATMOSPHERE: (67489..67573) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\ncontinued\\n\\\"\")))\"\n ATMOSPHERE: (67573..67574) \"\n\"\n ATMOSPHERE: (67574..67659) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\ncontinued\\n\\\"\")))\"\n ATMOSPHERE: (67659..67660) \"\n\"\n ATMOSPHERE: (67660..67745) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\n continued\\n\\\"\")))\"\n ATMOSPHERE: (67745..67746) \"\n\"\n ATMOSPHERE: (67746..67838) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t continued\\n\\\"\")))\"\n ATMOSPHERE: (67838..67839) \"\n\"\n ATMOSPHERE: (67839..67933) \";; (test \"line 1\\n\\nline 3\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t \\n\\nline 3\\n\\\"\")))\"\n ATMOSPHERE: (67933..67934) \"\n\"\n ATMOSPHERE: (67934..68023) \";; (test #x03BB (char->integer (string-ref (read (open-input-string \"\\\"\\\\x03BB;\\\"\")) 0)))\"\n ATMOSPHERE: (68023..68025) \"\n\n\"\n ATMOSPHERE: (68025..68060) \";; (define-syntax test-write-syntax\"\n ATMOSPHERE: (68060..68061) \"\n\"\n ATMOSPHERE: (68061..68082) \";; (syntax-rules ()\"\n ATMOSPHERE: (68082..68083) \"\n\"\n ATMOSPHERE: (68083..68130) \";; ((test-write-syntax expect-str obj-expr)\"\n ATMOSPHERE: (68130..68131) \"\n\"\n ATMOSPHERE: (68131..68172) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (68172..68173) \"\n\"\n ATMOSPHERE: (68173..68203) \";; (write obj-expr out)\"\n ATMOSPHERE: (68203..68204) \"\n\"\n ATMOSPHERE: (68204..68259) \";; (test expect-str (get-output-string out))))))\"\n ATMOSPHERE: (68259..68261) \"\n\n\"\n ATMOSPHERE: (68261..68294) \";; (test-write-syntax \"|.|\" '|.|)\"\n ATMOSPHERE: (68294..68295) \"\n\"\n ATMOSPHERE: (68295..68332) \";; (test-write-syntax \"|a b|\" '|a b|)\"\n ATMOSPHERE: (68332..68333) \"\n\"\n ATMOSPHERE: (68333..68368) \";; (test-write-syntax \"|,a|\" '|,a|)\"\n ATMOSPHERE: (68368..68369) \"\n\"\n ATMOSPHERE: (68369..68404) \";; (test-write-syntax \"|\\\"|\" '|\\\"|)\"\n ATMOSPHERE: (68404..68405) \"\n\"\n ATMOSPHERE: (68405..68441) \";; (test-write-syntax \"|\\\\||\" '|\\||)\"\n ATMOSPHERE: (68441..68442) \"\n\"\n ATMOSPHERE: (68442..68473) \";; (test-write-syntax \"||\" '||)\"\n ATMOSPHERE: (68473..68474) \"\n\"\n ATMOSPHERE: (68474..68517) \";; (test-write-syntax \"|\\\\\\\\123|\" '|\\\\123|)\"\n ATMOSPHERE: (68517..68518) \"\n\"\n ATMOSPHERE: (68518..68549) \";; (test-write-syntax \"a\" '|a|)\"\n ATMOSPHERE: (68549..68550) \"\n\"\n ATMOSPHERE: (68550..68588) \";; ;; (test-write-syntax \"a.b\" '|a.b|)\"\n ATMOSPHERE: (68588..68589) \"\n\"\n ATMOSPHERE: (68589..68622) \";; (test-write-syntax \"|2|\" '|2|)\"\n ATMOSPHERE: (68622..68623) \"\n\"\n ATMOSPHERE: (68623..68658) \";; (test-write-syntax \"|+3|\" '|+3|)\"\n ATMOSPHERE: (68658..68659) \"\n\"\n ATMOSPHERE: (68659..68696) \";; (test-write-syntax \"|-.4|\" '|-.4|)\"\n ATMOSPHERE: (68696..68697) \"\n\"\n ATMOSPHERE: (68697..68732) \";; (test-write-syntax \"|+i|\" '|+i|)\"\n ATMOSPHERE: (68732..68733) \"\n\"\n ATMOSPHERE: (68733..68768) \";; (test-write-syntax \"|-i|\" '|-i|)\"\n ATMOSPHERE: (68768..68769) \"\n\"\n ATMOSPHERE: (68769..68812) \";; (test-write-syntax \"|+inf.0|\" '|+inf.0|)\"\n ATMOSPHERE: (68812..68813) \"\n\"\n ATMOSPHERE: (68813..68856) \";; (test-write-syntax \"|-inf.0|\" '|-inf.0|)\"\n ATMOSPHERE: (68856..68857) \"\n\"\n ATMOSPHERE: (68857..68900) \";; (test-write-syntax \"|+nan.0|\" '|+nan.0|)\"\n ATMOSPHERE: (68900..68901) \"\n\"\n ATMOSPHERE: (68901..68944) \";; (test-write-syntax \"|+NaN.0|\" '|+NaN.0|)\"\n ATMOSPHERE: (68944..68945) \"\n\"\n ATMOSPHERE: (68945..68994) \";; (test-write-syntax \"|+NaN.0abc|\" '|+NaN.0abc|)\"\n ATMOSPHERE: (68994..68996) \"\n\n\"\n FORM: (68996..69006)\n OPEN_PAREN: (68996..68997) \"(\"\n SYMBOL: (68997..69005)\n IDENTIFIER: (68997..69005) \"test-end\"\n CLOSE_PAREN: (69005..69006) \")\"\n ATMOSPHERE: (69006..69008) \"\n\n\"\n FORM: (69008..69037)\n OPEN_PAREN: (69008..69009) \"(\"\n SYMBOL: (69009..69019)\n IDENTIFIER: (69009..69019) \"test-begin\"\n ATMOSPHERE: (69019..69020) \" \"\n CONSTANT: (69020..69036)\n STRING: (69020..69036) \"\"Numeric syntax\"\"\n CLOSE_PAREN: (69036..69037) \")\"\n ATMOSPHERE: (69037..69039) \"\n\n\"\n ATMOSPHERE: (69039..69091) \";; ;; Numeric syntax adapted from Peter Bex's tests.\"\n ATMOSPHERE: (69091..69092) \"\n\"\n ATMOSPHERE: (69092..69097) \";; ;;\"\n ATMOSPHERE: (69097..69098) \"\n\"\n ATMOSPHERE: (69098..69160) \";; ;; These are updated to R7RS, using string ports instead of\"\n ATMOSPHERE: (69160..69161) \"\n\"\n ATMOSPHERE: (69161..69232) \";; ;; string->number, and \"error\" tests removed because implementations\"\n ATMOSPHERE: (69232..69233) \"\n\"\n ATMOSPHERE: (69233..69303) \";; ;; are free to provide their own numeric extensions. Currently all\"\n ATMOSPHERE: (69303..69304) \"\n\"\n ATMOSPHERE: (69304..69369) \";; ;; tests are run by default - need to cond-expand and test for\"\n ATMOSPHERE: (69369..69370) \"\n\"\n ATMOSPHERE: (69370..69396) \";; ;; infinities and -0.0.\"\n ATMOSPHERE: (69396..69398) \"\n\n\"\n ATMOSPHERE: (69398..69435) \";; (define-syntax test-numeric-syntax\"\n ATMOSPHERE: (69435..69436) \"\n\"\n ATMOSPHERE: (69436..69457) \";; (syntax-rules ()\"\n ATMOSPHERE: (69457..69458) \"\n\"\n ATMOSPHERE: (69458..69507) \";; ((test-numeric-syntax str expect strs ...)\"\n ATMOSPHERE: (69507..69508) \"\n\"\n ATMOSPHERE: (69508..69557) \";; (let* ((z (read (open-input-string str)))\"\n ATMOSPHERE: (69557..69558) \"\n\"\n ATMOSPHERE: (69558..69599) \";; (out (open-output-string))\"\n ATMOSPHERE: (69599..69600) \"\n\"\n ATMOSPHERE: (69600..69669) \";; (z-str (begin (write z out) (get-output-string out))))\"\n ATMOSPHERE: (69669..69670) \"\n\"\n ATMOSPHERE: (69670..69704) \";; (test expect (values z))\"\n ATMOSPHERE: (69704..69705) \"\n\"\n ATMOSPHERE: (69705..69768) \";; (test #t (and (member z-str '(str strs ...)) #t))))))\"\n ATMOSPHERE: (69768..69770) \"\n\n\"\n ATMOSPHERE: (69770..69801) \";; ;; Each test is of the form:\"\n ATMOSPHERE: (69801..69802) \"\n\"\n ATMOSPHERE: (69802..69807) \";; ;;\"\n ATMOSPHERE: (69807..69808) \"\n\"\n ATMOSPHERE: (69808..69888) \";; ;; (test-numeric-syntax input-str expected-value expected-write-values ...)\"\n ATMOSPHERE: (69888..69889) \"\n\"\n ATMOSPHERE: (69889..69894) \";; ;;\"\n ATMOSPHERE: (69894..69895) \"\n\"\n ATMOSPHERE: (69895..69962) \";; ;; where the input should be eqv? to the expected-value, and the\"\n ATMOSPHERE: (69962..69963) \"\n\"\n ATMOSPHERE: (69963..70034) \";; ;; written output the same as any of the expected-write-values. The\"\n ATMOSPHERE: (70034..70035) \"\n\"\n ATMOSPHERE: (70035..70045) \";; ;; form\"\n ATMOSPHERE: (70045..70046) \"\n\"\n ATMOSPHERE: (70046..70051) \";; ;;\"\n ATMOSPHERE: (70051..70052) \"\n\"\n ATMOSPHERE: (70052..70106) \";; ;; (test-numeric-syntax input-str expected-value)\"\n ATMOSPHERE: (70106..70107) \"\n\"\n ATMOSPHERE: (70107..70112) \";; ;;\"\n ATMOSPHERE: (70112..70113) \"\n\"\n ATMOSPHERE: (70113..70137) \";; ;; is a shorthand for\"\n ATMOSPHERE: (70137..70138) \"\n\"\n ATMOSPHERE: (70138..70143) \";; ;;\"\n ATMOSPHERE: (70143..70144) \"\n\"\n ATMOSPHERE: (70144..70210) \";; ;; (test-numeric-syntax input-str expected-value (input-str))\"\n ATMOSPHERE: (70210..70212) \"\n\n\"\n ATMOSPHERE: (70212..70224) \";; ;; Simple\"\n ATMOSPHERE: (70224..70225) \"\n\"\n ATMOSPHERE: (70225..70255) \";; (test-numeric-syntax \"1\" 1)\"\n ATMOSPHERE: (70255..70256) \"\n\"\n ATMOSPHERE: (70256..70291) \";; (test-numeric-syntax \"+1\" 1 \"1\")\"\n ATMOSPHERE: (70291..70292) \"\n\"\n ATMOSPHERE: (70292..70324) \";; (test-numeric-syntax \"-1\" -1)\"\n ATMOSPHERE: (70324..70325) \"\n\"\n ATMOSPHERE: (70325..70370) \";; (test-numeric-syntax \"#i1\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70370..70371) \"\n\"\n ATMOSPHERE: (70371..70416) \";; (test-numeric-syntax \"#I1\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70416..70417) \"\n\"\n ATMOSPHERE: (70417..70466) \";; (test-numeric-syntax \"#i-1\" -1.0 \"-1.0\" \"-1.\")\"\n ATMOSPHERE: (70466..70467) \"\n\"\n ATMOSPHERE: (70467..70480) \";; ;; Decimal\"\n ATMOSPHERE: (70480..70481) \"\n\"\n ATMOSPHERE: (70481..70526) \";; (test-numeric-syntax \"1.0\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70526..70527) \"\n\"\n ATMOSPHERE: (70527..70571) \";; (test-numeric-syntax \"1.\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70571..70572) \"\n\"\n ATMOSPHERE: (70572..70622) \";; (test-numeric-syntax \".1\" 0.1 \"0.1\" \"100.0e-3\")\"\n ATMOSPHERE: (70622..70623) \"\n\"\n ATMOSPHERE: (70623..70677) \";; (test-numeric-syntax \"-.1\" -0.1 \"-0.1\" \"-100.0e-3\")\"\n ATMOSPHERE: (70677..70678) \"\n\"\n ATMOSPHERE: (70678..70754) \";; ;; Some Schemes don't allow negative zero. This is okay with the standard\"\n ATMOSPHERE: (70754..70755) \"\n\"\n ATMOSPHERE: (70755..70819) \";; (test-numeric-syntax \"-.0\" -0.0 \"-0.\" \"-0.0\" \"0.0\" \"0.\" \".0\")\"\n ATMOSPHERE: (70819..70820) \"\n\"\n ATMOSPHERE: (70820..70884) \";; (test-numeric-syntax \"-0.\" -0.0 \"-.0\" \"-0.0\" \"0.0\" \"0.\" \".0\")\"\n ATMOSPHERE: (70884..70885) \"\n\"\n ATMOSPHERE: (70885..70932) \";; (test-numeric-syntax \"#i1.0\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70932..70933) \"\n\"\n ATMOSPHERE: (70933..70971) \";; (test-numeric-syntax \"#e1.0\" 1 \"1\")\"\n ATMOSPHERE: (70971..70972) \"\n\"\n ATMOSPHERE: (70972..71010) \";; (test-numeric-syntax \"#e-.0\" 0 \"0\")\"\n ATMOSPHERE: (71010..71011) \"\n\"\n ATMOSPHERE: (71011..71049) \";; (test-numeric-syntax \"#e-0.\" 0 \"0\")\"\n ATMOSPHERE: (71049..71050) \"\n\"\n ATMOSPHERE: (71050..71084) \";; ;; Decimal notation with suffix\"\n ATMOSPHERE: (71084..71085) \"\n\"\n ATMOSPHERE: (71085..71136) \";; (test-numeric-syntax \"1e2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71136..71137) \"\n\"\n ATMOSPHERE: (71137..71188) \";; (test-numeric-syntax \"1E2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71188..71189) \"\n\"\n ATMOSPHERE: (71189..71240) \";; (test-numeric-syntax \"1s2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71240..71241) \"\n\"\n ATMOSPHERE: (71241..71292) \";; (test-numeric-syntax \"1S2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71292..71293) \"\n\"\n ATMOSPHERE: (71293..71344) \";; (test-numeric-syntax \"1f2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71344..71345) \"\n\"\n ATMOSPHERE: (71345..71396) \";; (test-numeric-syntax \"1F2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71396..71397) \"\n\"\n ATMOSPHERE: (71397..71448) \";; (test-numeric-syntax \"1d2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71448..71449) \"\n\"\n ATMOSPHERE: (71449..71500) \";; (test-numeric-syntax \"1D2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71500..71501) \"\n\"\n ATMOSPHERE: (71501..71552) \";; (test-numeric-syntax \"1l2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71552..71553) \"\n\"\n ATMOSPHERE: (71553..71604) \";; (test-numeric-syntax \"1L2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71604..71605) \"\n\"\n ATMOSPHERE: (71605..71619) \";; ;; NaN, Inf\"\n ATMOSPHERE: (71619..71620) \"\n\"\n ATMOSPHERE: (71620..71678) \";; (test-numeric-syntax \"+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (71678..71679) \"\n\"\n ATMOSPHERE: (71679..71737) \";; (test-numeric-syntax \"+NAN.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (71737..71738) \"\n\"\n ATMOSPHERE: (71738..71796) \";; (test-numeric-syntax \"+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (71796..71797) \"\n\"\n ATMOSPHERE: (71797..71855) \";; (test-numeric-syntax \"+InF.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (71855..71856) \"\n\"\n ATMOSPHERE: (71856..71914) \";; (test-numeric-syntax \"-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (71914..71915) \"\n\"\n ATMOSPHERE: (71915..71973) \";; (test-numeric-syntax \"-iNF.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (71973..71974) \"\n\"\n ATMOSPHERE: (71974..72034) \";; (test-numeric-syntax \"#i+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (72034..72035) \"\n\"\n ATMOSPHERE: (72035..72095) \";; (test-numeric-syntax \"#i+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (72095..72096) \"\n\"\n ATMOSPHERE: (72096..72156) \";; (test-numeric-syntax \"#i-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (72156..72157) \"\n\"\n ATMOSPHERE: (72157..72175) \";; ;; Exact ratios\"\n ATMOSPHERE: (72175..72176) \"\n\"\n ATMOSPHERE: (72176..72214) \";; (test-numeric-syntax \"1/2\" (/ 1 2))\"\n ATMOSPHERE: (72214..72215) \"\n\"\n ATMOSPHERE: (72215..72261) \";; (test-numeric-syntax \"#e1/2\" (/ 1 2) \"1/2\")\"\n ATMOSPHERE: (72261..72262) \"\n\"\n ATMOSPHERE: (72262..72299) \";; (test-numeric-syntax \"10/2\" 5 \"5\")\"\n ATMOSPHERE: (72299..72300) \"\n\"\n ATMOSPHERE: (72300..72343) \";; (test-numeric-syntax \"-1/2\" (- (/ 1 2)))\"\n ATMOSPHERE: (72343..72344) \"\n\"\n ATMOSPHERE: (72344..72381) \";; (test-numeric-syntax \"0/10\" 0 \"0\")\"\n ATMOSPHERE: (72381..72382) \"\n\"\n ATMOSPHERE: (72382..72421) \";; (test-numeric-syntax \"#e0/10\" 0 \"0\")\"\n ATMOSPHERE: (72421..72422) \"\n\"\n ATMOSPHERE: (72422..72472) \";; (test-numeric-syntax \"#i3/2\" (/ 3.0 2.0) \"1.5\")\"\n ATMOSPHERE: (72472..72473) \"\n\"\n ATMOSPHERE: (72473..72492) \";; ;; Exact complex\"\n ATMOSPHERE: (72492..72493) \"\n\"\n ATMOSPHERE: (72493..72547) \";; (test-numeric-syntax \"1+2i\" (make-rectangular 1 2))\"\n ATMOSPHERE: (72547..72548) \"\n\"\n ATMOSPHERE: (72548..72609) \";; (test-numeric-syntax \"1+2I\" (make-rectangular 1 2) \"1+2i\")\"\n ATMOSPHERE: (72609..72610) \"\n\"\n ATMOSPHERE: (72610..72665) \";; (test-numeric-syntax \"1-2i\" (make-rectangular 1 -2))\"\n ATMOSPHERE: (72665..72666) \"\n\"\n ATMOSPHERE: (72666..72722) \";; (test-numeric-syntax \"-1+2i\" (make-rectangular -1 2))\"\n ATMOSPHERE: (72722..72723) \"\n\"\n ATMOSPHERE: (72723..72780) \";; (test-numeric-syntax \"-1-2i\" (make-rectangular -1 -2))\"\n ATMOSPHERE: (72780..72781) \"\n\"\n ATMOSPHERE: (72781..72857) \";; (test-numeric-syntax \"+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (72857..72858) \"\n\"\n ATMOSPHERE: (72858..72935) \";; (test-numeric-syntax \"0+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (72935..72936) \"\n\"\n ATMOSPHERE: (72936..73014) \";; (test-numeric-syntax \"0+1i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (73014..73015) \"\n\"\n ATMOSPHERE: (73015..73092) \";; (test-numeric-syntax \"-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73092..73093) \"\n\"\n ATMOSPHERE: (73093..73171) \";; (test-numeric-syntax \"0-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73171..73172) \"\n\"\n ATMOSPHERE: (73172..73251) \";; (test-numeric-syntax \"0-1i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73251..73252) \"\n\"\n ATMOSPHERE: (73252..73323) \";; (test-numeric-syntax \"+2i\" (make-rectangular 0 2) \"2i\" \"+2i\" \"0+2i\")\"\n ATMOSPHERE: (73323..73324) \"\n\"\n ATMOSPHERE: (73324..73391) \";; (test-numeric-syntax \"-2i\" (make-rectangular 0 -2) \"-2i\" \"0-2i\")\"\n ATMOSPHERE: (73391..73392) \"\n\"\n ATMOSPHERE: (73392..73453) \";; ;; Decimal-notation complex numbers (rectangular notation)\"\n ATMOSPHERE: (73453..73454) \"\n\"\n ATMOSPHERE: (73454..73549) \";; (test-numeric-syntax \"1.0+2i\" (make-rectangular 1.0 2) \"1.0+2.0i\" \"1.0+2i\" \"1.+2i\" \"1.+2.i\")\"\n ATMOSPHERE: (73549..73550) \"\n\"\n ATMOSPHERE: (73550..73645) \";; (test-numeric-syntax \"1+2.0i\" (make-rectangular 1 2.0) \"1.0+2.0i\" \"1+2.0i\" \"1.+2.i\" \"1+2.i\")\"\n ATMOSPHERE: (73645..73646) \"\n\"\n ATMOSPHERE: (73646..73734) \";; (test-numeric-syntax \"1e2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")\"\n ATMOSPHERE: (73734..73735) \"\n\"\n ATMOSPHERE: (73735..73823) \";; (test-numeric-syntax \"1s2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")\"\n ATMOSPHERE: (73823..73824) \"\n\"\n ATMOSPHERE: (73824..73912) \";; (test-numeric-syntax \"1.0+1e2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")\"\n ATMOSPHERE: (73912..73913) \"\n\"\n ATMOSPHERE: (73913..74001) \";; (test-numeric-syntax \"1.0+1s2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")\"\n ATMOSPHERE: (74001..74002) \"\n\"\n ATMOSPHERE: (74002..74057) \";; ;; Fractional complex numbers (rectangular notation)\"\n ATMOSPHERE: (74057..74058) \"\n\"\n ATMOSPHERE: (74058..74128) \";; (test-numeric-syntax \"1/2+3/4i\" (make-rectangular (/ 1 2) (/ 3 4)))\"\n ATMOSPHERE: (74128..74129) \"\n\"\n ATMOSPHERE: (74129..74207) \";; ;; Mixed fractional/decimal notation complex numbers (rectangular notation)\"\n ATMOSPHERE: (74207..74208) \"\n\"\n ATMOSPHERE: (74208..74273) \";; (test-numeric-syntax \"0.5+3/4i\" (make-rectangular 0.5 (/ 3 4))\"\n ATMOSPHERE: (74273..74274) \"\n\"\n ATMOSPHERE: (74274..74343) \";; \"0.5+0.75i\" \".5+.75i\" \"0.5+3/4i\" \".5+3/4i\" \"500.0e-3+750.0e-3i\")\"\n ATMOSPHERE: (74343..74344) \"\n\"\n ATMOSPHERE: (74344..74389) \";; ;; Complex NaN, Inf (rectangular notation)\"\n ATMOSPHERE: (74389..74390) \"\n\"\n ATMOSPHERE: (74390..74484) \";; ;;(test-numeric-syntax \"+nan.0+nan.0i\" (make-rectangular the-nan the-nan) \"+NaN.0+NaN.0i\") \"\n ATMOSPHERE: (74484..74485) \"\n\"\n ATMOSPHERE: (74485..74574) \";; (test-numeric-syntax \"+inf.0+inf.0i\" (make-rectangular +inf.0 +inf.0) \"+Inf.0+Inf.0i\")\"\n ATMOSPHERE: (74574..74575) \"\n\"\n ATMOSPHERE: (74575..74664) \";; (test-numeric-syntax \"-inf.0+inf.0i\" (make-rectangular -inf.0 +inf.0) \"-Inf.0+Inf.0i\")\"\n ATMOSPHERE: (74664..74665) \"\n\"\n ATMOSPHERE: (74665..74754) \";; (test-numeric-syntax \"-inf.0-inf.0i\" (make-rectangular -inf.0 -inf.0) \"-Inf.0-Inf.0i\")\"\n ATMOSPHERE: (74754..74755) \"\n\"\n ATMOSPHERE: (74755..74844) \";; (test-numeric-syntax \"+inf.0-inf.0i\" (make-rectangular +inf.0 -inf.0) \"+Inf.0-Inf.0i\")\"\n ATMOSPHERE: (74844..74845) \"\n\"\n ATMOSPHERE: (74845..74883) \";; ;; Complex numbers (polar notation)\"\n ATMOSPHERE: (74883..74884) \"\n\"\n ATMOSPHERE: (74884..74938) \";; ;; Need to account for imprecision in write output.\"\n ATMOSPHERE: (74938..74939) \"\n\"\n ATMOSPHERE: (74939..75049) \";; ;;(test-numeric-syntax \"1@2\" -0.416146836547142+0.909297426825682i \"-0.416146836547142+0.909297426825682i\")\"\n ATMOSPHERE: (75049..75050) \"\n\"\n ATMOSPHERE: (75050..75069) \";; ;; Base prefixes\"\n ATMOSPHERE: (75069..75070) \"\n\"\n ATMOSPHERE: (75070..75109) \";; (test-numeric-syntax \"#x11\" 17 \"17\")\"\n ATMOSPHERE: (75109..75110) \"\n\"\n ATMOSPHERE: (75110..75149) \";; (test-numeric-syntax \"#X11\" 17 \"17\")\"\n ATMOSPHERE: (75149..75150) \"\n\"\n ATMOSPHERE: (75150..75189) \";; (test-numeric-syntax \"#d11\" 11 \"11\")\"\n ATMOSPHERE: (75189..75190) \"\n\"\n ATMOSPHERE: (75190..75229) \";; (test-numeric-syntax \"#D11\" 11 \"11\")\"\n ATMOSPHERE: (75229..75230) \"\n\"\n ATMOSPHERE: (75230..75267) \";; (test-numeric-syntax \"#o11\" 9 \"9\")\"\n ATMOSPHERE: (75267..75268) \"\n\"\n ATMOSPHERE: (75268..75305) \";; (test-numeric-syntax \"#O11\" 9 \"9\")\"\n ATMOSPHERE: (75305..75306) \"\n\"\n ATMOSPHERE: (75306..75343) \";; (test-numeric-syntax \"#b11\" 3 \"3\")\"\n ATMOSPHERE: (75343..75344) \"\n\"\n ATMOSPHERE: (75344..75381) \";; (test-numeric-syntax \"#B11\" 3 \"3\")\"\n ATMOSPHERE: (75381..75382) \"\n\"\n ATMOSPHERE: (75382..75418) \";; (test-numeric-syntax \"#o7\" 7 \"7\")\"\n ATMOSPHERE: (75418..75419) \"\n\"\n ATMOSPHERE: (75419..75457) \";; (test-numeric-syntax \"#xa\" 10 \"10\")\"\n ATMOSPHERE: (75457..75458) \"\n\"\n ATMOSPHERE: (75458..75496) \";; (test-numeric-syntax \"#xA\" 10 \"10\")\"\n ATMOSPHERE: (75496..75497) \"\n\"\n ATMOSPHERE: (75497..75535) \";; (test-numeric-syntax \"#xf\" 15 \"15\")\"\n ATMOSPHERE: (75535..75536) \"\n\"\n ATMOSPHERE: (75536..75578) \";; (test-numeric-syntax \"#x-10\" -16 \"-16\")\"\n ATMOSPHERE: (75578..75579) \"\n\"\n ATMOSPHERE: (75579..75621) \";; (test-numeric-syntax \"#d-10\" -10 \"-10\")\"\n ATMOSPHERE: (75621..75622) \"\n\"\n ATMOSPHERE: (75622..75662) \";; (test-numeric-syntax \"#o-10\" -8 \"-8\")\"\n ATMOSPHERE: (75662..75663) \"\n\"\n ATMOSPHERE: (75663..75703) \";; (test-numeric-syntax \"#b-10\" -2 \"-2\")\"\n ATMOSPHERE: (75703..75704) \"\n\"\n ATMOSPHERE: (75704..75733) \";; ;; Combination of prefixes\"\n ATMOSPHERE: (75733..75734) \"\n\"\n ATMOSPHERE: (75734..75775) \";; (test-numeric-syntax \"#e#x10\" 16 \"16\")\"\n ATMOSPHERE: (75775..75776) \"\n\"\n ATMOSPHERE: (75776..75827) \";; (test-numeric-syntax \"#i#x10\" 16.0 \"16.0\" \"16.\")\"\n ATMOSPHERE: (75827..75828) \"\n\"\n ATMOSPHERE: (75828..75879) \";; (test-numeric-syntax \"#x#i10\" 16.0 \"16.0\" \"16.\")\"\n ATMOSPHERE: (75879..75880) \"\n\"\n ATMOSPHERE: (75880..75931) \";; (test-numeric-syntax \"#i#x1/10\" 0.0625 \"0.0625\")\"\n ATMOSPHERE: (75931..75932) \"\n\"\n ATMOSPHERE: (75932..75983) \";; (test-numeric-syntax \"#x#i1/10\" 0.0625 \"0.0625\")\"\n ATMOSPHERE: (75983..75984) \"\n\"\n ATMOSPHERE: (75984..76037) \";; ;; (Attempted) decimal notation with base prefixes\"\n ATMOSPHERE: (76037..76038) \"\n\"\n ATMOSPHERE: (76038..76084) \";; (test-numeric-syntax \"#d1.\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (76084..76085) \"\n\"\n ATMOSPHERE: (76085..76142) \";; (test-numeric-syntax \"#d.1\" 0.1 \"0.1\" \".1\" \"100.0e-3\")\"\n ATMOSPHERE: (76142..76143) \"\n\"\n ATMOSPHERE: (76143..76185) \";; (test-numeric-syntax \"#x1e2\" 482 \"482\")\"\n ATMOSPHERE: (76185..76186) \"\n\"\n ATMOSPHERE: (76186..76239) \";; (test-numeric-syntax \"#d1e2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (76239..76240) \"\n\"\n ATMOSPHERE: (76240..76269) \";; ;; Fractions with prefixes\"\n ATMOSPHERE: (76269..76270) \"\n\"\n ATMOSPHERE: (76270..76309) \";; (test-numeric-syntax \"#x10/2\" 8 \"8\")\"\n ATMOSPHERE: (76309..76310) \"\n\"\n ATMOSPHERE: (76310..76359) \";; (test-numeric-syntax \"#x11/2\" (/ 17 2) \"17/2\")\"\n ATMOSPHERE: (76359..76360) \"\n\"\n ATMOSPHERE: (76360..76409) \";; (test-numeric-syntax \"#d11/2\" (/ 11 2) \"11/2\")\"\n ATMOSPHERE: (76409..76410) \"\n\"\n ATMOSPHERE: (76410..76457) \";; (test-numeric-syntax \"#o11/2\" (/ 9 2) \"9/2\")\"\n ATMOSPHERE: (76457..76458) \"\n\"\n ATMOSPHERE: (76458..76506) \";; (test-numeric-syntax \"#b11/10\" (/ 3 2) \"3/2\")\"\n ATMOSPHERE: (76506..76507) \"\n\"\n ATMOSPHERE: (76507..76542) \";; ;; Complex numbers with prefixes\"\n ATMOSPHERE: (76542..76543) \"\n\"\n ATMOSPHERE: (76543..76614) \";; ;;(test-numeric-syntax \"#x10+11i\" (make-rectangular 16 17) \"16+17i\")\"\n ATMOSPHERE: (76614..76615) \"\n\"\n ATMOSPHERE: (76615..76699) \";; (test-numeric-syntax \"#d1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")\"\n ATMOSPHERE: (76699..76700) \"\n\"\n ATMOSPHERE: (76700..76769) \";; (test-numeric-syntax \"#d10+11i\" (make-rectangular 10 11) \"10+11i\")\"\n ATMOSPHERE: (76769..76770) \"\n\"\n ATMOSPHERE: (76770..76837) \";; ;;(test-numeric-syntax \"#o10+11i\" (make-rectangular 8 9) \"8+9i\")\"\n ATMOSPHERE: (76837..76838) \"\n\"\n ATMOSPHERE: (76838..76905) \";; ;;(test-numeric-syntax \"#b10+11i\" (make-rectangular 2 3) \"2+3i\")\"\n ATMOSPHERE: (76905..76906) \"\n\"\n ATMOSPHERE: (76906..76981) \";; ;;(test-numeric-syntax \"#e1.0+1.0i\" (make-rectangular 1 1) \"1+1i\" \"1+i\")\"\n ATMOSPHERE: (76981..76982) \"\n\"\n ATMOSPHERE: (76982..77068) \";; ;;(test-numeric-syntax \"#i1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")\"\n ATMOSPHERE: (77068..77070) \"\n\n\"\n ATMOSPHERE: (77070..77102) \";; (define-syntax test-precision\"\n ATMOSPHERE: (77102..77103) \"\n\"\n ATMOSPHERE: (77103..77124) \";; (syntax-rules ()\"\n ATMOSPHERE: (77124..77125) \"\n\"\n ATMOSPHERE: (77125..77162) \";; ((test-round-trip str alt ...)\"\n ATMOSPHERE: (77162..77163) \"\n\"\n ATMOSPHERE: (77163..77202) \";; (let* ((n (string->number str))\"\n ATMOSPHERE: (77202..77203) \"\n\"\n ATMOSPHERE: (77203..77243) \";; (str2 (number->string n))\"\n ATMOSPHERE: (77243..77244) \"\n\"\n ATMOSPHERE: (77244..77288) \";; (accepted (list str alt ...))\"\n ATMOSPHERE: (77288..77289) \"\n\"\n ATMOSPHERE: (77289..77332) \";; (ls (member str2 accepted)))\"\n ATMOSPHERE: (77332..77333) \"\n\"\n ATMOSPHERE: (77333..77391) \";; (test-assert (string-append \"(member? \" str2 \" \"\"\n ATMOSPHERE: (77391..77392) \"\n\"\n ATMOSPHERE: (77392..77463) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (77463..77464) \"\n\"\n ATMOSPHERE: (77464..77524) \";; (write accepted out)\"\n ATMOSPHERE: (77524..77525) \"\n\"\n ATMOSPHERE: (77525..77589) \";; (get-output-string out))\"\n ATMOSPHERE: (77589..77590) \"\n\"\n ATMOSPHERE: (77590..77632) \";; \")\")\"\n ATMOSPHERE: (77632..77633) \"\n\"\n ATMOSPHERE: (77633..77656) \";; (pair? ls))\"\n ATMOSPHERE: (77656..77657) \"\n\"\n ATMOSPHERE: (77657..77683) \";; (when (pair? ls)\"\n ATMOSPHERE: (77683..77684) \"\n\"\n ATMOSPHERE: (77684..77751) \";; (test-assert (string-append \"(eqv?: \" str \" \" str2 \")\")\"\n ATMOSPHERE: (77751..77752) \"\n\"\n ATMOSPHERE: (77752..77806) \";; (eqv? n (string->number (car ls)))))))))\"\n ATMOSPHERE: (77806..77808) \"\n\n\"\n ATMOSPHERE: (77808..77863) \";; (test-precision \"-1.7976931348623157e+308\" \"-inf.0\")\"\n ATMOSPHERE: (77863..77864) \"\n\"\n ATMOSPHERE: (77864..77949) \";; (test-precision \"4.940656458412465e-324\" \"4.94065645841247e-324\" \"5.0e-324\" \"0.0\")\"\n ATMOSPHERE: (77949..77950) \"\n\"\n ATMOSPHERE: (77950..78035) \";; (test-precision \"9.881312916824931e-324\" \"9.88131291682493e-324\" \"1.0e-323\" \"0.0\")\"\n ATMOSPHERE: (78035..78036) \"\n\"\n ATMOSPHERE: (78036..78096) \";; (test-precision \"1.48219693752374e-323\" \"1.5e-323\" \"0.0\")\"\n ATMOSPHERE: (78096..78097) \"\n\"\n ATMOSPHERE: (78097..78182) \";; (test-precision \"1.976262583364986e-323\" \"1.97626258336499e-323\" \"2.0e-323\" \"0.0\")\"\n ATMOSPHERE: (78182..78183) \"\n\"\n ATMOSPHERE: (78183..78268) \";; (test-precision \"2.470328229206233e-323\" \"2.47032822920623e-323\" \"2.5e-323\" \"0.0\")\"\n ATMOSPHERE: (78268..78269) \"\n\"\n ATMOSPHERE: (78269..78354) \";; (test-precision \"2.420921664622108e-322\" \"2.42092166462211e-322\" \"2.4e-322\" \"0.0\")\"\n ATMOSPHERE: (78354..78355) \"\n\"\n ATMOSPHERE: (78355..78442) \";; (test-precision \"2.420921664622108e-320\" \"2.42092166462211e-320\" \"2.421e-320\" \"0.0\")\"\n ATMOSPHERE: (78442..78443) \"\n\"\n ATMOSPHERE: (78443..78495) \";; (test-precision \"1.4489974452386991\" \"1.4489975\")\"\n ATMOSPHERE: (78495..78496) \"\n\"\n ATMOSPHERE: (78496..78572) \";; (test-precision \"0.14285714285714282\" \"0.14285714285714288\" \"0.14285715\")\"\n ATMOSPHERE: (78572..78573) \"\n\"\n ATMOSPHERE: (78573..78627) \";; (test-precision \"1.7976931348623157e+308\" \"+inf.0\")\"\n ATMOSPHERE: (78627..78629) \"\n\n\"\n FORM: (78629..78639)\n OPEN_PAREN: (78629..78630) \"(\"\n SYMBOL: (78630..78638)\n IDENTIFIER: (78630..78638) \"test-end\"\n CLOSE_PAREN: (78638..78639) \")\"\n ATMOSPHERE: (78639..78641) \"\n\n\"\n FORM: (78641..78651)\n OPEN_PAREN: (78641..78642) \"(\"\n SYMBOL: (78642..78650)\n IDENTIFIER: (78642..78650) \"test-end\"\n CLOSE_PAREN: (78650..78651) \")\"\n ATMOSPHERE: (78651..78653) \"\n\n\"\n FORM: (78653..78689)\n OPEN_PAREN: (78653..78654) \"(\"\n SYMBOL: (78654..78664)\n IDENTIFIER: (78654..78664) \"test-begin\"\n ATMOSPHERE: (78664..78665) \" \"\n CONSTANT: (78665..78688)\n STRING: (78665..78688) \"\"6.14 System interface\"\"\n CLOSE_PAREN: (78688..78689) \")\"\n ATMOSPHERE: (78689..78691) \"\n\n\"\n ATMOSPHERE: (78691..78718) \";; ;; 6.14 System interface\"\n ATMOSPHERE: (78718..78720) \"\n\n\"\n ATMOSPHERE: (78720..78797) \";; ;; (test \"/usr/local/bin:/usr/bin:/bin\" (get-environment-variable \"PATH\"))\"\n ATMOSPHERE: (78797..78799) \"\n\n\"\n ATMOSPHERE: (78799..78855) \";; (test #t (string? (get-environment-variable \"PATH\")))\"\n ATMOSPHERE: (78855..78857) \"\n\n\"\n ATMOSPHERE: (78857..78933) \";; ;; (test '((\"USER\" . \"root\") (\"HOME\" . \"/\")) (get-environment-variables))\"\n ATMOSPHERE: (78933..78935) \"\n\n\"\n ATMOSPHERE: (78935..78978) \";; (let ((env (get-environment-variables)))\"\n ATMOSPHERE: (78978..78979) \"\n\"\n ATMOSPHERE: (78979..79005) \";; (define (env-pair? x)\"\n ATMOSPHERE: (79005..79006) \"\n\"\n ATMOSPHERE: (79006..79065) \";; (and (pair? x) (string? (car x)) (string? (cdr x))))\"\n ATMOSPHERE: (79065..79066) \"\n\"\n ATMOSPHERE: (79066..79093) \";; (define (all? pred ls)\"\n ATMOSPHERE: (79093..79094) \"\n\"\n ATMOSPHERE: (79094..79160) \";; (or (null? ls) (and (pred (car ls)) (all? pred (cdr ls)))))\"\n ATMOSPHERE: (79160..79161) \"\n\"\n ATMOSPHERE: (79161..79187) \";; (test #t (list? env))\"\n ATMOSPHERE: (79187..79188) \"\n\"\n ATMOSPHERE: (79188..79224) \";; (test #t (all? env-pair? env)))\"\n ATMOSPHERE: (79224..79226) \"\n\n\"\n ATMOSPHERE: (79226..79261) \";; (test #t (list? (command-line)))\"\n ATMOSPHERE: (79261..79263) \"\n\n\"\n ATMOSPHERE: (79263..79300) \";; (test #t (real? (current-second)))\"\n ATMOSPHERE: (79300..79301) \"\n\"\n ATMOSPHERE: (79301..79341) \";; (test #t (inexact? (current-second)))\"\n ATMOSPHERE: (79341..79342) \"\n\"\n ATMOSPHERE: (79342..79379) \";; (test #t (exact? (current-jiffy)))\"\n ATMOSPHERE: (79379..79380) \"\n\"\n ATMOSPHERE: (79380..79422) \";; (test #t (exact? (jiffies-per-second)))\"\n ATMOSPHERE: (79422..79424) \"\n\n\"\n ATMOSPHERE: (79424..79455) \";; (test #t (list? (features)))\"\n ATMOSPHERE: (79455..79456) \"\n\"\n ATMOSPHERE: (79456..79501) \";; (test #t (and (memq 'r7rs (features)) #t))\"\n ATMOSPHERE: (79501..79503) \"\n\n\"\n ATMOSPHERE: (79503..79534) \";; (test #t (file-exists? \".\"))\"\n ATMOSPHERE: (79534..79535) \"\n\"\n ATMOSPHERE: (79535..79579) \";; (test #f (file-exists? \" no such file \"))\"\n ATMOSPHERE: (79579..79581) \"\n\n\"\n ATMOSPHERE: (79581..79605) \";; (test #t (file-error?\"\n ATMOSPHERE: (79605..79606) \"\n\"\n ATMOSPHERE: (79606..79642) \";; (guard (exn (else exn))\"\n ATMOSPHERE: (79642..79643) \"\n\"\n ATMOSPHERE: (79643..79691) \";; (delete-file \" no such file \"))))\"\n ATMOSPHERE: (79691..79693) \"\n\n\"\n FORM: (79693..79703)\n OPEN_PAREN: (79693..79694) \"(\"\n SYMBOL: (79694..79702)\n IDENTIFIER: (79694..79702) \"test-end\"\n CLOSE_PAREN: (79702..79703) \")\"\n ATMOSPHERE: (79703..79705) \"\n\n\"\n FORM: (79705..79715)\n OPEN_PAREN: (79705..79706) \"(\"\n SYMBOL: (79706..79714)\n IDENTIFIER: (79706..79714) \"test-end\"\n CLOSE_PAREN: (79714..79715) \")\"\n ATMOSPHERE: (79715..79716) \"\n\"\n" + "Root": "PROGRAM: (0..79716)\n ATMOSPHERE: (0..24) \";; -*- coding: utf-8 -*-\"\n ATMOSPHERE: (24..26) \"\n\n\"\n ATMOSPHERE: (26..99) \";;;;; This file is a modified version of the Chibi Scheme R7RS Test Suite\"\n ATMOSPHERE: (99..100) \"\n\"\n ATMOSPHERE: (100..102) \";;\"\n ATMOSPHERE: (102..103) \"\n\"\n ATMOSPHERE: (103..180) \";; Check out Chibi Scheme on GitHub: \"\n ATMOSPHERE: (180..182) \"\n\n\"\n ATMOSPHERE: (182..218) \"; Copyright (c) 2009-2018 Alex Shinn\"\n ATMOSPHERE: (218..219) \"\n\"\n ATMOSPHERE: (219..241) \"; All rights reserved.\"\n ATMOSPHERE: (241..243) \"\n\n\"\n ATMOSPHERE: (243..311) \"; Redistribution and use in source and binary forms, with or without\"\n ATMOSPHERE: (311..312) \"\n\"\n ATMOSPHERE: (312..380) \"; modification, are permitted provided that the following conditions\"\n ATMOSPHERE: (380..381) \"\n\"\n ATMOSPHERE: (381..391) \"; are met:\"\n ATMOSPHERE: (391..392) \"\n\"\n ATMOSPHERE: (392..459) \"; 1. Redistributions of source code must retain the above copyright\"\n ATMOSPHERE: (459..460) \"\n\"\n ATMOSPHERE: (460..526) \"; notice, this list of conditions and the following disclaimer.\"\n ATMOSPHERE: (526..527) \"\n\"\n ATMOSPHERE: (527..597) \"; 2. Redistributions in binary form must reproduce the above copyright\"\n ATMOSPHERE: (597..598) \"\n\"\n ATMOSPHERE: (598..670) \"; notice, this list of conditions and the following disclaimer in the\"\n ATMOSPHERE: (670..671) \"\n\"\n ATMOSPHERE: (671..744) \"; documentation and/or other materials provided with the distribution.\"\n ATMOSPHERE: (744..745) \"\n\"\n ATMOSPHERE: (745..819) \"; 3. The name of the author may not be used to endorse or promote products\"\n ATMOSPHERE: (819..820) \"\n\"\n ATMOSPHERE: (820..894) \"; derived from this software without specific prior written permission.\"\n ATMOSPHERE: (894..896) \"\n\n\"\n ATMOSPHERE: (896..966) \"; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\"\n ATMOSPHERE: (966..967) \"\n\"\n ATMOSPHERE: (967..1042) \"; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\"\n ATMOSPHERE: (1042..1043) \"\n\"\n ATMOSPHERE: (1043..1116) \"; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\"\n ATMOSPHERE: (1116..1117) \"\n\"\n ATMOSPHERE: (1117..1183) \"; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\"\n ATMOSPHERE: (1183..1184) \"\n\"\n ATMOSPHERE: (1184..1258) \"; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\"\n ATMOSPHERE: (1258..1259) \"\n\"\n ATMOSPHERE: (1259..1334) \"; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\"\n ATMOSPHERE: (1334..1335) \"\n\"\n ATMOSPHERE: (1335..1406) \"; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\"\n ATMOSPHERE: (1406..1407) \"\n\"\n ATMOSPHERE: (1407..1476) \"; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\"\n ATMOSPHERE: (1476..1477) \"\n\"\n ATMOSPHERE: (1477..1551) \"; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\"\n ATMOSPHERE: (1551..1552) \"\n\"\n ATMOSPHERE: (1552..1619) \"; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n ATMOSPHERE: (1619..1621) \"\n\n\"\n FORM: (1621..2109)\n OPEN_PAREN: (1621..1622) \"(\"\n SYMBOL: (1622..1628)\n IDENTIFIER: (1622..1628) \"import\"\n ATMOSPHERE: (1628..1629) \" \"\n FORM: (1629..1642)\n OPEN_PAREN: (1629..1630) \"(\"\n SYMBOL: (1630..1636)\n IDENTIFIER: (1630..1636) \"scheme\"\n ATMOSPHERE: (1636..1637) \" \"\n SYMBOL: (1637..1641)\n IDENTIFIER: (1637..1641) \"base\"\n CLOSE_PAREN: (1641..1642) \")\"\n ATMOSPHERE: (1642..1647) \"\n \"\n ATMOSPHERE: (1647..1714) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (1714..1719) \"\n \"\n ATMOSPHERE: (1719..1783) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (1783..1788) \"\n \"\n FORM: (1788..1812)\n OPEN_PAREN: (1788..1789) \"(\"\n SYMBOL: (1789..1796)\n IDENTIFIER: (1789..1796) \"feersum\"\n ATMOSPHERE: (1796..1797) \" \"\n SYMBOL: (1797..1804)\n IDENTIFIER: (1797..1804) \"builtin\"\n ATMOSPHERE: (1804..1805) \" \"\n SYMBOL: (1805..1811)\n IDENTIFIER: (1805..1811) \"macros\"\n CLOSE_PAREN: (1811..1812) \")\"\n ATMOSPHERE: (1812..1813) \"\n\"\n ATMOSPHERE: (1813..1848) \";; (scheme char) (scheme lazy)\"\n ATMOSPHERE: (1848..1849) \"\n\"\n ATMOSPHERE: (1849..1907) \";; (scheme inexact) (scheme complex) (scheme time)\"\n ATMOSPHERE: (1907..1908) \"\n\"\n ATMOSPHERE: (1908..1946) \";; (scheme file) (scheme read)\"\n ATMOSPHERE: (1946..1949) \"\n \"\n FORM: (1949..1963)\n OPEN_PAREN: (1949..1950) \"(\"\n SYMBOL: (1950..1956)\n IDENTIFIER: (1950..1956) \"scheme\"\n ATMOSPHERE: (1956..1957) \" \"\n SYMBOL: (1957..1962)\n IDENTIFIER: (1957..1962) \"write\"\n CLOSE_PAREN: (1962..1963) \")\"\n ATMOSPHERE: (1963..1964) \"\n\"\n ATMOSPHERE: (1964..2034) \";; (scheme eval) (scheme process-context) (scheme case-lambda)\"\n ATMOSPHERE: (2034..2035) \"\n\"\n ATMOSPHERE: (2035..2059) \";; (scheme r5rs)\"\n ATMOSPHERE: (2059..2060) \"\n\"\n ATMOSPHERE: (2060..2099) \";; (chibi test) ; or (srfi 64)\"\n ATMOSPHERE: (2099..2108) \"\n \"\n CLOSE_PAREN: (2108..2109) \")\"\n ATMOSPHERE: (2109..2111) \"\n\n\"\n ATMOSPHERE: (2111..2177) \";; R7RS test suite. Covers all procedures and syntax in the small\"\n ATMOSPHERE: (2177..2178) \"\n\"\n ATMOSPHERE: (2178..2243) \";; language except `delete-file'. Currently assumes full-unicode\"\n ATMOSPHERE: (2243..2244) \"\n\"\n ATMOSPHERE: (2244..2305) \";; support, the full numeric tower and all standard libraries\"\n ATMOSPHERE: (2305..2306) \"\n\"\n ATMOSPHERE: (2306..2318) \";; provided.\"\n ATMOSPHERE: (2318..2319) \"\n\"\n ATMOSPHERE: (2319..2321) \";;\"\n ATMOSPHERE: (2321..2322) \"\n\"\n ATMOSPHERE: (2322..2389) \";; Uses the (chibi test) library which is written in portable R7RS.\"\n ATMOSPHERE: (2389..2390) \"\n\"\n ATMOSPHERE: (2390..2459) \";; This is mostly a subset of SRFI-64, providing test-begin, test-end\"\n ATMOSPHERE: (2459..2460) \"\n\"\n ATMOSPHERE: (2460..2514) \";; and test, which could be defined as something like:\"\n ATMOSPHERE: (2514..2515) \"\n\"\n ATMOSPHERE: (2515..2517) \";;\"\n ATMOSPHERE: (2517..2518) \"\n\"\n FORM: (2518..2541)\n OPEN_PAREN: (2518..2519) \"(\"\n SYMBOL: (2519..2525)\n IDENTIFIER: (2519..2525) \"define\"\n ATMOSPHERE: (2525..2526) \" \"\n SYMBOL: (2526..2538)\n IDENTIFIER: (2526..2538) \"indent-level\"\n ATMOSPHERE: (2538..2539) \" \"\n CONSTANT: (2539..2540)\n NUMBER: (2539..2540) \"0\"\n CLOSE_PAREN: (2540..2541) \")\"\n ATMOSPHERE: (2541..2542) \"\n\"\n FORM: (2542..2678)\n OPEN_PAREN: (2542..2543) \"(\"\n SYMBOL: (2543..2549)\n IDENTIFIER: (2543..2549) \"define\"\n ATMOSPHERE: (2549..2550) \" \"\n FORM: (2550..2558)\n OPEN_PAREN: (2550..2551) \"(\"\n SYMBOL: (2551..2557)\n IDENTIFIER: (2551..2557) \"indent\"\n CLOSE_PAREN: (2557..2558) \")\"\n ATMOSPHERE: (2558..2561) \"\n \"\n FORM: (2561..2650)\n OPEN_PAREN: (2561..2562) \"(\"\n SYMBOL: (2562..2568)\n IDENTIFIER: (2562..2568) \"define\"\n ATMOSPHERE: (2568..2569) \" \"\n FORM: (2569..2582)\n OPEN_PAREN: (2569..2570) \"(\"\n SYMBOL: (2570..2579)\n IDENTIFIER: (2570..2579) \"do-indent\"\n ATMOSPHERE: (2579..2580) \" \"\n SYMBOL: (2580..2581)\n IDENTIFIER: (2580..2581) \"n\"\n CLOSE_PAREN: (2581..2582) \")\"\n ATMOSPHERE: (2582..2584) \"\n\t\"\n FORM: (2584..2649)\n OPEN_PAREN: (2584..2585) \"(\"\n SYMBOL: (2585..2587)\n IDENTIFIER: (2585..2587) \"if\"\n ATMOSPHERE: (2587..2588) \" \"\n FORM: (2588..2595)\n OPEN_PAREN: (2588..2589) \"(\"\n SYMBOL: (2589..2590)\n IDENTIFIER: (2589..2590) \">\"\n ATMOSPHERE: (2590..2591) \" \"\n SYMBOL: (2591..2592)\n IDENTIFIER: (2591..2592) \"n\"\n ATMOSPHERE: (2592..2593) \" \"\n CONSTANT: (2593..2594)\n NUMBER: (2593..2594) \"0\"\n CLOSE_PAREN: (2594..2595) \")\"\n ATMOSPHERE: (2595..2598) \"\n\t\t\"\n FORM: (2598..2648)\n OPEN_PAREN: (2598..2599) \"(\"\n SYMBOL: (2599..2604)\n IDENTIFIER: (2599..2604) \"begin\"\n ATMOSPHERE: (2604..2609) \"\n\t\t \"\n FORM: (2609..2623)\n OPEN_PAREN: (2609..2610) \"(\"\n SYMBOL: (2610..2617)\n IDENTIFIER: (2610..2617) \"display\"\n ATMOSPHERE: (2617..2618) \" \"\n CONSTANT: (2618..2622)\n STRING: (2618..2622) \"\"\\t\"\"\n CLOSE_PAREN: (2622..2623) \")\"\n ATMOSPHERE: (2623..2628) \"\n\t\t \"\n FORM: (2628..2647)\n OPEN_PAREN: (2628..2629) \"(\"\n SYMBOL: (2629..2638)\n IDENTIFIER: (2629..2638) \"do-indent\"\n ATMOSPHERE: (2638..2639) \" \"\n FORM: (2639..2646)\n OPEN_PAREN: (2639..2640) \"(\"\n SYMBOL: (2640..2641)\n IDENTIFIER: (2640..2641) \"-\"\n ATMOSPHERE: (2641..2642) \" \"\n SYMBOL: (2642..2643)\n IDENTIFIER: (2642..2643) \"n\"\n ATMOSPHERE: (2643..2644) \" \"\n CONSTANT: (2644..2645)\n NUMBER: (2644..2645) \"1\"\n CLOSE_PAREN: (2645..2646) \")\"\n CLOSE_PAREN: (2646..2647) \")\"\n CLOSE_PAREN: (2647..2648) \")\"\n CLOSE_PAREN: (2648..2649) \")\"\n CLOSE_PAREN: (2649..2650) \")\"\n ATMOSPHERE: (2650..2653) \"\n \"\n FORM: (2653..2677)\n OPEN_PAREN: (2653..2654) \"(\"\n SYMBOL: (2654..2663)\n IDENTIFIER: (2654..2663) \"do-indent\"\n ATMOSPHERE: (2663..2664) \" \"\n SYMBOL: (2664..2676)\n IDENTIFIER: (2664..2676) \"indent-level\"\n CLOSE_PAREN: (2676..2677) \")\"\n CLOSE_PAREN: (2677..2678) \")\"\n ATMOSPHERE: (2678..2680) \"\n\n\"\n FORM: (2680..2696)\n OPEN_PAREN: (2680..2681) \"(\"\n SYMBOL: (2681..2687)\n IDENTIFIER: (2681..2687) \"define\"\n ATMOSPHERE: (2687..2688) \" \"\n SYMBOL: (2688..2693)\n IDENTIFIER: (2688..2693) \"tests\"\n ATMOSPHERE: (2693..2694) \" \"\n CONSTANT: (2694..2695)\n NUMBER: (2694..2695) \"0\"\n CLOSE_PAREN: (2695..2696) \")\"\n FORM: (2696..2712)\n OPEN_PAREN: (2696..2697) \"(\"\n SYMBOL: (2697..2703)\n IDENTIFIER: (2697..2703) \"define\"\n ATMOSPHERE: (2703..2704) \" \"\n SYMBOL: (2704..2709)\n IDENTIFIER: (2704..2709) \"fails\"\n ATMOSPHERE: (2709..2710) \" \"\n CONSTANT: (2710..2711)\n NUMBER: (2710..2711) \"0\"\n CLOSE_PAREN: (2711..2712) \")\"\n ATMOSPHERE: (2712..2713) \"\n\"\n FORM: (2713..2834)\n OPEN_PAREN: (2713..2714) \"(\"\n SYMBOL: (2714..2720)\n IDENTIFIER: (2714..2720) \"define\"\n ATMOSPHERE: (2720..2721) \" \"\n FORM: (2721..2737)\n OPEN_PAREN: (2721..2722) \"(\"\n SYMBOL: (2722..2732)\n IDENTIFIER: (2722..2732) \"test-begin\"\n ATMOSPHERE: (2732..2733) \" \"\n DOTTED_TAIL: (2733..2736)\n DOT: (2733..2734) \".\"\n ATMOSPHERE: (2734..2735) \" \"\n SYMBOL: (2735..2736)\n IDENTIFIER: (2735..2736) \"o\"\n CLOSE_PAREN: (2736..2737) \")\"\n ATMOSPHERE: (2737..2740) \"\n \"\n FORM: (2740..2756)\n OPEN_PAREN: (2740..2741) \"(\"\n SYMBOL: (2741..2748)\n IDENTIFIER: (2741..2748) \"display\"\n ATMOSPHERE: (2748..2749) \" \"\n CONSTANT: (2749..2755)\n STRING: (2749..2755) \"\"### \"\"\n CLOSE_PAREN: (2755..2756) \")\"\n FORM: (2756..2767)\n OPEN_PAREN: (2756..2757) \"(\"\n SYMBOL: (2757..2764)\n IDENTIFIER: (2757..2764) \"display\"\n ATMOSPHERE: (2764..2765) \" \"\n SYMBOL: (2765..2766)\n IDENTIFIER: (2765..2766) \"o\"\n CLOSE_PAREN: (2766..2767) \")\"\n FORM: (2767..2776)\n OPEN_PAREN: (2767..2768) \"(\"\n SYMBOL: (2768..2775)\n IDENTIFIER: (2768..2775) \"newline\"\n CLOSE_PAREN: (2775..2776) \")\"\n ATMOSPHERE: (2776..2779) \"\n \"\n FORM: (2779..2817)\n OPEN_PAREN: (2779..2780) \"(\"\n SYMBOL: (2780..2784)\n IDENTIFIER: (2780..2784) \"set!\"\n ATMOSPHERE: (2784..2785) \" \"\n SYMBOL: (2785..2797)\n IDENTIFIER: (2785..2797) \"indent-level\"\n ATMOSPHERE: (2797..2798) \" \"\n FORM: (2798..2816)\n OPEN_PAREN: (2798..2799) \"(\"\n SYMBOL: (2799..2800)\n IDENTIFIER: (2799..2800) \"+\"\n ATMOSPHERE: (2800..2801) \" \"\n SYMBOL: (2801..2813)\n IDENTIFIER: (2801..2813) \"indent-level\"\n ATMOSPHERE: (2813..2814) \" \"\n CONSTANT: (2814..2815)\n NUMBER: (2814..2815) \"1\"\n CLOSE_PAREN: (2815..2816) \")\"\n CLOSE_PAREN: (2816..2817) \")\"\n ATMOSPHERE: (2817..2820) \"\n \"\n FORM: (2820..2828)\n OPEN_PAREN: (2820..2821) \"(\"\n SYMBOL: (2821..2827)\n IDENTIFIER: (2821..2827) \"indent\"\n CLOSE_PAREN: (2827..2828) \")\"\n ATMOSPHERE: (2828..2831) \"\n \"\n CONSTANT: (2831..2833)\n BOOLEAN: (2831..2833) \"#f\"\n CLOSE_PAREN: (2833..2834) \")\"\n ATMOSPHERE: (2834..2836) \"\n\n\"\n FORM: (2836..3011)\n OPEN_PAREN: (2836..2837) \"(\"\n SYMBOL: (2837..2843)\n IDENTIFIER: (2837..2843) \"define\"\n ATMOSPHERE: (2843..2844) \" \"\n FORM: (2844..2864)\n OPEN_PAREN: (2844..2845) \"(\"\n SYMBOL: (2845..2863)\n IDENTIFIER: (2845..2863) \"print-test-summary\"\n CLOSE_PAREN: (2863..2864) \")\"\n ATMOSPHERE: (2864..2867) \"\n \"\n FORM: (2867..2901)\n OPEN_PAREN: (2867..2868) \"(\"\n SYMBOL: (2868..2875)\n IDENTIFIER: (2868..2875) \"display\"\n ATMOSPHERE: (2875..2876) \" \"\n CONSTANT: (2876..2900)\n STRING: (2876..2900) \"\"----------------------\"\"\n CLOSE_PAREN: (2900..2901) \")\"\n FORM: (2901..2910)\n OPEN_PAREN: (2901..2902) \"(\"\n SYMBOL: (2902..2909)\n IDENTIFIER: (2902..2909) \"newline\"\n CLOSE_PAREN: (2909..2910) \")\"\n ATMOSPHERE: (2910..2913) \"\n \"\n FORM: (2913..2932)\n OPEN_PAREN: (2913..2914) \"(\"\n SYMBOL: (2914..2921)\n IDENTIFIER: (2914..2921) \"display\"\n ATMOSPHERE: (2921..2922) \" \"\n CONSTANT: (2922..2931)\n STRING: (2922..2931) \"\"Total: \"\"\n CLOSE_PAREN: (2931..2932) \")\"\n FORM: (2932..2947)\n OPEN_PAREN: (2932..2933) \"(\"\n SYMBOL: (2933..2940)\n IDENTIFIER: (2933..2940) \"display\"\n ATMOSPHERE: (2940..2941) \" \"\n SYMBOL: (2941..2946)\n IDENTIFIER: (2941..2946) \"tests\"\n CLOSE_PAREN: (2946..2947) \")\"\n FORM: (2947..2956)\n OPEN_PAREN: (2947..2948) \"(\"\n SYMBOL: (2948..2955)\n IDENTIFIER: (2948..2955) \"newline\"\n CLOSE_PAREN: (2955..2956) \")\"\n ATMOSPHERE: (2956..2959) \"\n \"\n FORM: (2959..2978)\n OPEN_PAREN: (2959..2960) \"(\"\n SYMBOL: (2960..2967)\n IDENTIFIER: (2960..2967) \"display\"\n ATMOSPHERE: (2967..2968) \" \"\n CONSTANT: (2968..2977)\n STRING: (2968..2977) \"\"Fails: \"\"\n CLOSE_PAREN: (2977..2978) \")\"\n FORM: (2978..2993)\n OPEN_PAREN: (2978..2979) \"(\"\n SYMBOL: (2979..2986)\n IDENTIFIER: (2979..2986) \"display\"\n ATMOSPHERE: (2986..2987) \" \"\n SYMBOL: (2987..2992)\n IDENTIFIER: (2987..2992) \"fails\"\n CLOSE_PAREN: (2992..2993) \")\"\n FORM: (2993..3002)\n OPEN_PAREN: (2993..2994) \"(\"\n SYMBOL: (2994..3001)\n IDENTIFIER: (2994..3001) \"newline\"\n CLOSE_PAREN: (3001..3002) \")\"\n ATMOSPHERE: (3002..3005) \"\n \"\n SYMBOL: (3005..3010)\n IDENTIFIER: (3005..3010) \"fails\"\n CLOSE_PAREN: (3010..3011) \")\"\n ATMOSPHERE: (3011..3013) \"\n\n\"\n FORM: (3013..3151)\n OPEN_PAREN: (3013..3014) \"(\"\n SYMBOL: (3014..3020)\n IDENTIFIER: (3014..3020) \"define\"\n ATMOSPHERE: (3020..3021) \" \"\n FORM: (3021..3035)\n OPEN_PAREN: (3021..3022) \"(\"\n SYMBOL: (3022..3030)\n IDENTIFIER: (3022..3030) \"test-end\"\n ATMOSPHERE: (3030..3031) \" \"\n DOTTED_TAIL: (3031..3034)\n DOT: (3031..3032) \".\"\n ATMOSPHERE: (3032..3033) \" \"\n SYMBOL: (3033..3034)\n IDENTIFIER: (3033..3034) \"o\"\n CLOSE_PAREN: (3034..3035) \")\"\n ATMOSPHERE: (3035..3038) \"\n \"\n FORM: (3038..3047)\n OPEN_PAREN: (3038..3039) \"(\"\n SYMBOL: (3039..3046)\n IDENTIFIER: (3039..3046) \"newline\"\n CLOSE_PAREN: (3046..3047) \")\"\n ATMOSPHERE: (3047..3050) \"\n \"\n FORM: (3050..3088)\n OPEN_PAREN: (3050..3051) \"(\"\n SYMBOL: (3051..3055)\n IDENTIFIER: (3051..3055) \"set!\"\n ATMOSPHERE: (3055..3056) \" \"\n SYMBOL: (3056..3068)\n IDENTIFIER: (3056..3068) \"indent-level\"\n ATMOSPHERE: (3068..3069) \" \"\n FORM: (3069..3087)\n OPEN_PAREN: (3069..3070) \"(\"\n SYMBOL: (3070..3071)\n IDENTIFIER: (3070..3071) \"-\"\n ATMOSPHERE: (3071..3072) \" \"\n SYMBOL: (3072..3084)\n IDENTIFIER: (3072..3084) \"indent-level\"\n ATMOSPHERE: (3084..3085) \" \"\n CONSTANT: (3085..3086)\n NUMBER: (3085..3086) \"1\"\n CLOSE_PAREN: (3086..3087) \")\"\n CLOSE_PAREN: (3087..3088) \")\"\n ATMOSPHERE: (3088..3091) \"\n \"\n FORM: (3091..3150)\n OPEN_PAREN: (3091..3092) \"(\"\n SYMBOL: (3092..3094)\n IDENTIFIER: (3092..3094) \"if\"\n ATMOSPHERE: (3094..3095) \" \"\n FORM: (3095..3113)\n OPEN_PAREN: (3095..3096) \"(\"\n SYMBOL: (3096..3097)\n IDENTIFIER: (3096..3097) \"=\"\n ATMOSPHERE: (3097..3098) \" \"\n SYMBOL: (3098..3110)\n IDENTIFIER: (3098..3110) \"indent-level\"\n ATMOSPHERE: (3110..3111) \" \"\n CONSTANT: (3111..3112)\n NUMBER: (3111..3112) \"0\"\n CLOSE_PAREN: (3112..3113) \")\"\n ATMOSPHERE: (3113..3117) \"\n\t \"\n FORM: (3117..3137)\n OPEN_PAREN: (3117..3118) \"(\"\n SYMBOL: (3118..3136)\n IDENTIFIER: (3118..3136) \"print-test-summary\"\n CLOSE_PAREN: (3136..3137) \")\"\n ATMOSPHERE: (3137..3141) \"\n\t \"\n FORM: (3141..3149)\n OPEN_PAREN: (3141..3142) \"(\"\n SYMBOL: (3142..3148)\n IDENTIFIER: (3142..3148) \"indent\"\n CLOSE_PAREN: (3148..3149) \")\"\n CLOSE_PAREN: (3149..3150) \")\"\n CLOSE_PAREN: (3150..3151) \")\"\n ATMOSPHERE: (3151..3153) \"\n\n\"\n FORM: (3153..3522)\n OPEN_PAREN: (3153..3154) \"(\"\n SYMBOL: (3154..3167)\n IDENTIFIER: (3154..3167) \"define-syntax\"\n ATMOSPHERE: (3167..3168) \" \"\n SYMBOL: (3168..3172)\n IDENTIFIER: (3168..3172) \"test\"\n ATMOSPHERE: (3172..3175) \"\n \"\n FORM: (3175..3521)\n OPEN_PAREN: (3175..3176) \"(\"\n SYMBOL: (3176..3188)\n IDENTIFIER: (3176..3188) \"syntax-rules\"\n ATMOSPHERE: (3188..3189) \" \"\n FORM: (3189..3191)\n OPEN_PAREN: (3189..3190) \"(\"\n CLOSE_PAREN: (3190..3191) \")\"\n ATMOSPHERE: (3191..3193) \"\n\t\"\n FORM: (3193..3520)\n OPEN_PAREN: (3193..3194) \"(\"\n FORM: (3194..3211)\n OPEN_PAREN: (3194..3195) \"(\"\n SYMBOL: (3195..3196)\n IDENTIFIER: (3195..3196) \"_\"\n ATMOSPHERE: (3196..3197) \" \"\n SYMBOL: (3197..3205)\n IDENTIFIER: (3197..3205) \"expected\"\n ATMOSPHERE: (3205..3206) \" \"\n SYMBOL: (3206..3210)\n IDENTIFIER: (3206..3210) \"expr\"\n CLOSE_PAREN: (3210..3211) \")\"\n ATMOSPHERE: (3211..3214) \"\n\t \"\n FORM: (3214..3519)\n OPEN_PAREN: (3214..3215) \"(\"\n SYMBOL: (3215..3218)\n IDENTIFIER: (3215..3218) \"let\"\n ATMOSPHERE: (3218..3219) \" \"\n FORM: (3219..3231)\n OPEN_PAREN: (3219..3220) \"(\"\n FORM: (3220..3230)\n OPEN_PAREN: (3220..3221) \"(\"\n SYMBOL: (3221..3224)\n IDENTIFIER: (3221..3224) \"res\"\n ATMOSPHERE: (3224..3225) \" \"\n SYMBOL: (3225..3229)\n IDENTIFIER: (3225..3229) \"expr\"\n CLOSE_PAREN: (3229..3230) \")\"\n CLOSE_PAREN: (3230..3231) \")\"\n ATMOSPHERE: (3231..3236) \"\n\t \"\n FORM: (3236..3260)\n OPEN_PAREN: (3236..3237) \"(\"\n SYMBOL: (3237..3241)\n IDENTIFIER: (3237..3241) \"set!\"\n ATMOSPHERE: (3241..3242) \" \"\n SYMBOL: (3242..3247)\n IDENTIFIER: (3242..3247) \"tests\"\n ATMOSPHERE: (3247..3248) \" \"\n FORM: (3248..3259)\n OPEN_PAREN: (3248..3249) \"(\"\n SYMBOL: (3249..3250)\n IDENTIFIER: (3249..3250) \"+\"\n ATMOSPHERE: (3250..3251) \" \"\n SYMBOL: (3251..3256)\n IDENTIFIER: (3251..3256) \"tests\"\n ATMOSPHERE: (3256..3257) \" \"\n CONSTANT: (3257..3258)\n NUMBER: (3257..3258) \"1\"\n CLOSE_PAREN: (3258..3259) \")\"\n CLOSE_PAREN: (3259..3260) \")\"\n ATMOSPHERE: (3260..3265) \"\n\t \"\n FORM: (3265..3518)\n OPEN_PAREN: (3265..3266) \"(\"\n SYMBOL: (3266..3268)\n IDENTIFIER: (3266..3268) \"if\"\n ATMOSPHERE: (3268..3269) \" \"\n FORM: (3269..3290)\n OPEN_PAREN: (3269..3270) \"(\"\n SYMBOL: (3270..3276)\n IDENTIFIER: (3270..3276) \"equal?\"\n ATMOSPHERE: (3276..3277) \" \"\n SYMBOL: (3277..3280)\n IDENTIFIER: (3277..3280) \"res\"\n ATMOSPHERE: (3280..3281) \" \"\n SYMBOL: (3281..3289)\n IDENTIFIER: (3281..3289) \"expected\"\n CLOSE_PAREN: (3289..3290) \")\"\n ATMOSPHERE: (3290..3296) \"\n\t\t \"\n FORM: (3296..3309)\n OPEN_PAREN: (3296..3297) \"(\"\n SYMBOL: (3297..3304)\n IDENTIFIER: (3297..3304) \"display\"\n ATMOSPHERE: (3304..3305) \" \"\n CONSTANT: (3305..3308)\n STRING: (3305..3308) \"\".\"\"\n CLOSE_PAREN: (3308..3309) \")\"\n ATMOSPHERE: (3309..3315) \"\n\t\t \"\n FORM: (3315..3517)\n OPEN_PAREN: (3315..3316) \"(\"\n SYMBOL: (3316..3321)\n IDENTIFIER: (3316..3321) \"begin\"\n ATMOSPHERE: (3321..3326) \"\n\t\t\t \"\n FORM: (3326..3350)\n OPEN_PAREN: (3326..3327) \"(\"\n SYMBOL: (3327..3331)\n IDENTIFIER: (3327..3331) \"set!\"\n ATMOSPHERE: (3331..3332) \" \"\n SYMBOL: (3332..3337)\n IDENTIFIER: (3332..3337) \"fails\"\n ATMOSPHERE: (3337..3338) \" \"\n FORM: (3338..3349)\n OPEN_PAREN: (3338..3339) \"(\"\n SYMBOL: (3339..3340)\n IDENTIFIER: (3339..3340) \"+\"\n ATMOSPHERE: (3340..3341) \" \"\n SYMBOL: (3341..3346)\n IDENTIFIER: (3341..3346) \"fails\"\n ATMOSPHERE: (3346..3347) \" \"\n CONSTANT: (3347..3348)\n NUMBER: (3347..3348) \"1\"\n CLOSE_PAREN: (3348..3349) \")\"\n CLOSE_PAREN: (3349..3350) \")\"\n ATMOSPHERE: (3350..3355) \"\n\t\t\t \"\n FORM: (3355..3364)\n OPEN_PAREN: (3355..3356) \"(\"\n SYMBOL: (3356..3363)\n IDENTIFIER: (3356..3363) \"newline\"\n CLOSE_PAREN: (3363..3364) \")\"\n ATMOSPHERE: (3364..3369) \"\n\t\t\t \"\n FORM: (3369..3387)\n OPEN_PAREN: (3369..3370) \"(\"\n SYMBOL: (3370..3377)\n IDENTIFIER: (3370..3377) \"display\"\n ATMOSPHERE: (3377..3378) \" \"\n CONSTANT: (3378..3386)\n STRING: (3378..3386) \"\"FAIL: \"\"\n CLOSE_PAREN: (3386..3387) \")\"\n ATMOSPHERE: (3387..3392) \"\n\t\t\t \"\n FORM: (3392..3407)\n OPEN_PAREN: (3392..3393) \"(\"\n SYMBOL: (3393..3400)\n IDENTIFIER: (3393..3400) \"display\"\n ATMOSPHERE: (3400..3401) \" \"\n QUOTED_DATUM: (3401..3406)\n QUOTE: (3401..3402) \"'\"\n SYMBOL: (3402..3406)\n IDENTIFIER: (3402..3406) \"expr\"\n CLOSE_PAREN: (3406..3407) \")\"\n ATMOSPHERE: (3407..3412) \"\n\t\t\t \"\n FORM: (3412..3435)\n OPEN_PAREN: (3412..3413) \"(\"\n SYMBOL: (3413..3420)\n IDENTIFIER: (3413..3420) \"display\"\n ATMOSPHERE: (3420..3421) \" \"\n CONSTANT: (3421..3434)\n STRING: (3421..3434) \"\": expected \"\"\n CLOSE_PAREN: (3434..3435) \")\"\n ATMOSPHERE: (3435..3440) \"\n\t\t\t \"\n FORM: (3440..3458)\n OPEN_PAREN: (3440..3441) \"(\"\n SYMBOL: (3441..3448)\n IDENTIFIER: (3441..3448) \"display\"\n ATMOSPHERE: (3448..3449) \" \"\n SYMBOL: (3449..3457)\n IDENTIFIER: (3449..3457) \"expected\"\n CLOSE_PAREN: (3457..3458) \")\"\n ATMOSPHERE: (3458..3463) \"\n\t\t\t \"\n FORM: (3463..3484)\n OPEN_PAREN: (3463..3464) \"(\"\n SYMBOL: (3464..3471)\n IDENTIFIER: (3464..3471) \"display\"\n ATMOSPHERE: (3471..3472) \" \"\n CONSTANT: (3472..3483)\n STRING: (3472..3483) \"\" but got \"\"\n CLOSE_PAREN: (3483..3484) \")\"\n ATMOSPHERE: (3484..3489) \"\n\t\t\t \"\n FORM: (3489..3502)\n OPEN_PAREN: (3489..3490) \"(\"\n SYMBOL: (3490..3497)\n IDENTIFIER: (3490..3497) \"display\"\n ATMOSPHERE: (3497..3498) \" \"\n SYMBOL: (3498..3501)\n IDENTIFIER: (3498..3501) \"res\"\n CLOSE_PAREN: (3501..3502) \")\"\n ATMOSPHERE: (3502..3507) \"\n\t\t\t \"\n FORM: (3507..3516)\n OPEN_PAREN: (3507..3508) \"(\"\n SYMBOL: (3508..3515)\n IDENTIFIER: (3508..3515) \"newline\"\n CLOSE_PAREN: (3515..3516) \")\"\n CLOSE_PAREN: (3516..3517) \")\"\n CLOSE_PAREN: (3517..3518) \")\"\n CLOSE_PAREN: (3518..3519) \")\"\n CLOSE_PAREN: (3519..3520) \")\"\n CLOSE_PAREN: (3520..3521) \")\"\n CLOSE_PAREN: (3521..3522) \")\"\n ATMOSPHERE: (3522..3524) \"\n\n\"\n ATMOSPHERE: (3524..3526) \";;\"\n ATMOSPHERE: (3526..3527) \"\n\"\n ATMOSPHERE: (3527..3586) \";; however (chibi test) provides nicer output, timings, and\"\n ATMOSPHERE: (3586..3587) \"\n\"\n ATMOSPHERE: (3587..3641) \";; approximate equivalence for floating point numbers.\"\n ATMOSPHERE: (3641..3643) \"\n\n\"\n FORM: (3643..3662)\n OPEN_PAREN: (3643..3644) \"(\"\n SYMBOL: (3644..3654)\n IDENTIFIER: (3644..3654) \"test-begin\"\n ATMOSPHERE: (3654..3655) \" \"\n CONSTANT: (3655..3661)\n STRING: (3655..3661) \"\"R7RS\"\"\n CLOSE_PAREN: (3661..3662) \")\"\n ATMOSPHERE: (3662..3664) \"\n\n\"\n FORM: (3664..3709)\n OPEN_PAREN: (3664..3665) \"(\"\n SYMBOL: (3665..3675)\n IDENTIFIER: (3665..3675) \"test-begin\"\n ATMOSPHERE: (3675..3676) \" \"\n CONSTANT: (3676..3708)\n STRING: (3676..3708) \"\"4.1 Primitive expression types\"\"\n CLOSE_PAREN: (3708..3709) \")\"\n ATMOSPHERE: (3709..3711) \"\n\n\"\n FORM: (3711..3749)\n OPEN_PAREN: (3711..3712) \"(\"\n SYMBOL: (3712..3715)\n IDENTIFIER: (3712..3715) \"let\"\n ATMOSPHERE: (3715..3716) \" \"\n FORM: (3716..3718)\n OPEN_PAREN: (3716..3717) \"(\"\n CLOSE_PAREN: (3717..3718) \")\"\n ATMOSPHERE: (3718..3721) \"\n \"\n FORM: (3721..3734)\n OPEN_PAREN: (3721..3722) \"(\"\n SYMBOL: (3722..3728)\n IDENTIFIER: (3722..3728) \"define\"\n ATMOSPHERE: (3728..3729) \" \"\n SYMBOL: (3729..3730)\n IDENTIFIER: (3729..3730) \"x\"\n ATMOSPHERE: (3730..3731) \" \"\n CONSTANT: (3731..3733)\n NUMBER: (3731..3733) \"28\"\n CLOSE_PAREN: (3733..3734) \")\"\n ATMOSPHERE: (3734..3737) \"\n \"\n FORM: (3737..3748)\n OPEN_PAREN: (3737..3738) \"(\"\n SYMBOL: (3738..3742)\n IDENTIFIER: (3738..3742) \"test\"\n ATMOSPHERE: (3742..3743) \" \"\n CONSTANT: (3743..3745)\n NUMBER: (3743..3745) \"28\"\n ATMOSPHERE: (3745..3746) \" \"\n SYMBOL: (3746..3747)\n IDENTIFIER: (3746..3747) \"x\"\n CLOSE_PAREN: (3747..3748) \")\"\n CLOSE_PAREN: (3748..3749) \")\"\n ATMOSPHERE: (3749..3752) \"\n\n\n\"\n FORM: (3752..3771)\n OPEN_PAREN: (3752..3753) \"(\"\n SYMBOL: (3753..3757)\n IDENTIFIER: (3753..3757) \"test\"\n ATMOSPHERE: (3757..3758) \" \"\n QUOTED_DATUM: (3758..3761)\n QUOTE: (3758..3759) \"'\"\n SYMBOL: (3759..3760)\n IDENTIFIER: (3759..3760) \"a\"\n ATMOSPHERE: (3760..3761) \" \"\n FORM: (3761..3770)\n OPEN_PAREN: (3761..3762) \"(\"\n SYMBOL: (3762..3767)\n IDENTIFIER: (3762..3767) \"quote\"\n ATMOSPHERE: (3767..3768) \" \"\n SYMBOL: (3768..3769)\n IDENTIFIER: (3768..3769) \"a\"\n CLOSE_PAREN: (3769..3770) \")\"\n CLOSE_PAREN: (3770..3771) \")\"\n ATMOSPHERE: (3771..3772) \"\n\"\n FORM: (3772..3804)\n OPEN_PAREN: (3772..3773) \"(\"\n SYMBOL: (3773..3777)\n IDENTIFIER: (3773..3777) \"test\"\n ATMOSPHERE: (3777..3778) \" \"\n VEC: (3778..3786)\n OPEN_PAREN: (3778..3780) \"#(\"\n SYMBOL: (3780..3781)\n IDENTIFIER: (3780..3781) \"a\"\n ATMOSPHERE: (3781..3782) \" \"\n SYMBOL: (3782..3783)\n IDENTIFIER: (3782..3783) \"b\"\n ATMOSPHERE: (3783..3784) \" \"\n SYMBOL: (3784..3785)\n IDENTIFIER: (3784..3785) \"c\"\n CLOSE_PAREN: (3785..3786) \")\"\n ATMOSPHERE: (3786..3787) \" \"\n FORM: (3787..3803)\n OPEN_PAREN: (3787..3788) \"(\"\n SYMBOL: (3788..3793)\n IDENTIFIER: (3788..3793) \"quote\"\n ATMOSPHERE: (3793..3794) \" \"\n VEC: (3794..3802)\n OPEN_PAREN: (3794..3796) \"#(\"\n SYMBOL: (3796..3797)\n IDENTIFIER: (3796..3797) \"a\"\n ATMOSPHERE: (3797..3798) \" \"\n SYMBOL: (3798..3799)\n IDENTIFIER: (3798..3799) \"b\"\n ATMOSPHERE: (3799..3800) \" \"\n SYMBOL: (3800..3801)\n IDENTIFIER: (3800..3801) \"c\"\n CLOSE_PAREN: (3801..3802) \")\"\n CLOSE_PAREN: (3802..3803) \")\"\n CLOSE_PAREN: (3803..3804) \")\"\n ATMOSPHERE: (3804..3805) \"\n\"\n FORM: (3805..3836)\n OPEN_PAREN: (3805..3806) \"(\"\n SYMBOL: (3806..3810)\n IDENTIFIER: (3806..3810) \"test\"\n ATMOSPHERE: (3810..3811) \" \"\n QUOTED_DATUM: (3811..3820)\n QUOTE: (3811..3812) \"'\"\n FORM: (3812..3819)\n OPEN_PAREN: (3812..3813) \"(\"\n SYMBOL: (3813..3814)\n IDENTIFIER: (3813..3814) \"+\"\n ATMOSPHERE: (3814..3815) \" \"\n CONSTANT: (3815..3816)\n NUMBER: (3815..3816) \"1\"\n ATMOSPHERE: (3816..3817) \" \"\n CONSTANT: (3817..3818)\n NUMBER: (3817..3818) \"2\"\n CLOSE_PAREN: (3818..3819) \")\"\n ATMOSPHERE: (3819..3820) \" \"\n FORM: (3820..3835)\n OPEN_PAREN: (3820..3821) \"(\"\n SYMBOL: (3821..3826)\n IDENTIFIER: (3821..3826) \"quote\"\n ATMOSPHERE: (3826..3827) \" \"\n FORM: (3827..3834)\n OPEN_PAREN: (3827..3828) \"(\"\n SYMBOL: (3828..3829)\n IDENTIFIER: (3828..3829) \"+\"\n ATMOSPHERE: (3829..3830) \" \"\n CONSTANT: (3830..3831)\n NUMBER: (3830..3831) \"1\"\n ATMOSPHERE: (3831..3832) \" \"\n CONSTANT: (3832..3833)\n NUMBER: (3832..3833) \"2\"\n CLOSE_PAREN: (3833..3834) \")\"\n CLOSE_PAREN: (3834..3835) \")\"\n CLOSE_PAREN: (3835..3836) \")\"\n ATMOSPHERE: (3836..3838) \"\n\n\"\n FORM: (3838..3850)\n OPEN_PAREN: (3838..3839) \"(\"\n SYMBOL: (3839..3843)\n IDENTIFIER: (3839..3843) \"test\"\n ATMOSPHERE: (3843..3844) \" \"\n QUOTED_DATUM: (3844..3847)\n QUOTE: (3844..3845) \"'\"\n SYMBOL: (3845..3846)\n IDENTIFIER: (3845..3846) \"a\"\n ATMOSPHERE: (3846..3847) \" \"\n QUOTED_DATUM: (3847..3849)\n QUOTE: (3847..3848) \"'\"\n SYMBOL: (3848..3849)\n IDENTIFIER: (3848..3849) \"a\"\n CLOSE_PAREN: (3849..3850) \")\"\n ATMOSPHERE: (3850..3851) \"\n\"\n FORM: (3851..3876)\n OPEN_PAREN: (3851..3852) \"(\"\n SYMBOL: (3852..3856)\n IDENTIFIER: (3852..3856) \"test\"\n ATMOSPHERE: (3856..3857) \" \"\n VEC: (3857..3865)\n OPEN_PAREN: (3857..3859) \"#(\"\n SYMBOL: (3859..3860)\n IDENTIFIER: (3859..3860) \"a\"\n ATMOSPHERE: (3860..3861) \" \"\n SYMBOL: (3861..3862)\n IDENTIFIER: (3861..3862) \"b\"\n ATMOSPHERE: (3862..3863) \" \"\n SYMBOL: (3863..3864)\n IDENTIFIER: (3863..3864) \"c\"\n CLOSE_PAREN: (3864..3865) \")\"\n ATMOSPHERE: (3865..3866) \" \"\n QUOTED_DATUM: (3866..3875)\n QUOTE: (3866..3867) \"'\"\n VEC: (3867..3875)\n OPEN_PAREN: (3867..3869) \"#(\"\n SYMBOL: (3869..3870)\n IDENTIFIER: (3869..3870) \"a\"\n ATMOSPHERE: (3870..3871) \" \"\n SYMBOL: (3871..3872)\n IDENTIFIER: (3871..3872) \"b\"\n ATMOSPHERE: (3872..3873) \" \"\n SYMBOL: (3873..3874)\n IDENTIFIER: (3873..3874) \"c\"\n CLOSE_PAREN: (3874..3875) \")\"\n CLOSE_PAREN: (3875..3876) \")\"\n ATMOSPHERE: (3876..3877) \"\n\"\n FORM: (3877..3891)\n OPEN_PAREN: (3877..3878) \"(\"\n SYMBOL: (3878..3882)\n IDENTIFIER: (3878..3882) \"test\"\n ATMOSPHERE: (3882..3883) \" \"\n QUOTED_DATUM: (3883..3887)\n QUOTE: (3883..3884) \"'\"\n FORM: (3884..3886)\n OPEN_PAREN: (3884..3885) \"(\"\n CLOSE_PAREN: (3885..3886) \")\"\n ATMOSPHERE: (3886..3887) \" \"\n QUOTED_DATUM: (3887..3890)\n QUOTE: (3887..3888) \"'\"\n FORM: (3888..3890)\n OPEN_PAREN: (3888..3889) \"(\"\n CLOSE_PAREN: (3889..3890) \")\"\n CLOSE_PAREN: (3890..3891) \")\"\n ATMOSPHERE: (3891..3892) \"\n\"\n FORM: (3892..3916)\n OPEN_PAREN: (3892..3893) \"(\"\n SYMBOL: (3893..3897)\n IDENTIFIER: (3893..3897) \"test\"\n ATMOSPHERE: (3897..3898) \" \"\n QUOTED_DATUM: (3898..3907)\n QUOTE: (3898..3899) \"'\"\n FORM: (3899..3906)\n OPEN_PAREN: (3899..3900) \"(\"\n SYMBOL: (3900..3901)\n IDENTIFIER: (3900..3901) \"+\"\n ATMOSPHERE: (3901..3902) \" \"\n CONSTANT: (3902..3903)\n NUMBER: (3902..3903) \"1\"\n ATMOSPHERE: (3903..3904) \" \"\n CONSTANT: (3904..3905)\n NUMBER: (3904..3905) \"2\"\n CLOSE_PAREN: (3905..3906) \")\"\n ATMOSPHERE: (3906..3907) \" \"\n QUOTED_DATUM: (3907..3915)\n QUOTE: (3907..3908) \"'\"\n FORM: (3908..3915)\n OPEN_PAREN: (3908..3909) \"(\"\n SYMBOL: (3909..3910)\n IDENTIFIER: (3909..3910) \"+\"\n ATMOSPHERE: (3910..3911) \" \"\n CONSTANT: (3911..3912)\n NUMBER: (3911..3912) \"1\"\n ATMOSPHERE: (3912..3913) \" \"\n CONSTANT: (3913..3914)\n NUMBER: (3913..3914) \"2\"\n CLOSE_PAREN: (3914..3915) \")\"\n CLOSE_PAREN: (3915..3916) \")\"\n ATMOSPHERE: (3916..3917) \"\n\"\n FORM: (3917..3945)\n OPEN_PAREN: (3917..3918) \"(\"\n SYMBOL: (3918..3922)\n IDENTIFIER: (3918..3922) \"test\"\n ATMOSPHERE: (3922..3923) \" \"\n QUOTED_DATUM: (3923..3934)\n QUOTE: (3923..3924) \"'\"\n FORM: (3924..3933)\n OPEN_PAREN: (3924..3925) \"(\"\n SYMBOL: (3925..3930)\n IDENTIFIER: (3925..3930) \"quote\"\n ATMOSPHERE: (3930..3931) \" \"\n SYMBOL: (3931..3932)\n IDENTIFIER: (3931..3932) \"a\"\n CLOSE_PAREN: (3932..3933) \")\"\n ATMOSPHERE: (3933..3934) \" \"\n QUOTED_DATUM: (3934..3944)\n QUOTE: (3934..3935) \"'\"\n FORM: (3935..3944)\n OPEN_PAREN: (3935..3936) \"(\"\n SYMBOL: (3936..3941)\n IDENTIFIER: (3936..3941) \"quote\"\n ATMOSPHERE: (3941..3942) \" \"\n SYMBOL: (3942..3943)\n IDENTIFIER: (3942..3943) \"a\"\n CLOSE_PAREN: (3943..3944) \")\"\n CLOSE_PAREN: (3944..3945) \")\"\n ATMOSPHERE: (3945..3946) \"\n\"\n FORM: (3946..3967)\n OPEN_PAREN: (3946..3947) \"(\"\n SYMBOL: (3947..3951)\n IDENTIFIER: (3947..3951) \"test\"\n ATMOSPHERE: (3951..3952) \" \"\n QUOTED_DATUM: (3952..3963)\n QUOTE: (3952..3953) \"'\"\n FORM: (3953..3962)\n OPEN_PAREN: (3953..3954) \"(\"\n SYMBOL: (3954..3959)\n IDENTIFIER: (3954..3959) \"quote\"\n ATMOSPHERE: (3959..3960) \" \"\n SYMBOL: (3960..3961)\n IDENTIFIER: (3960..3961) \"a\"\n CLOSE_PAREN: (3961..3962) \")\"\n ATMOSPHERE: (3962..3963) \" \"\n QUOTED_DATUM: (3963..3966)\n QUOTE: (3963..3964) \"'\"\n QUOTED_DATUM: (3964..3966)\n QUOTE: (3964..3965) \"'\"\n SYMBOL: (3965..3966)\n IDENTIFIER: (3965..3966) \"a\"\n CLOSE_PAREN: (3966..3967) \")\"\n ATMOSPHERE: (3967..3969) \"\n\n\"\n FORM: (3969..3988)\n OPEN_PAREN: (3969..3970) \"(\"\n SYMBOL: (3970..3974)\n IDENTIFIER: (3970..3974) \"test\"\n ATMOSPHERE: (3974..3975) \" \"\n CONSTANT: (3975..3980)\n STRING: (3975..3980) \"\"abc\"\"\n ATMOSPHERE: (3980..3981) \" \"\n QUOTED_DATUM: (3981..3987)\n QUOTE: (3981..3982) \"'\"\n CONSTANT: (3982..3987)\n STRING: (3982..3987) \"\"abc\"\"\n CLOSE_PAREN: (3987..3988) \")\"\n ATMOSPHERE: (3988..3989) \"\n\"\n FORM: (3989..4007)\n OPEN_PAREN: (3989..3990) \"(\"\n SYMBOL: (3990..3994)\n IDENTIFIER: (3990..3994) \"test\"\n ATMOSPHERE: (3994..3995) \" \"\n CONSTANT: (3995..4000)\n STRING: (3995..4000) \"\"abc\"\"\n ATMOSPHERE: (4000..4001) \" \"\n CONSTANT: (4001..4006)\n STRING: (4001..4006) \"\"abc\"\"\n CLOSE_PAREN: (4006..4007) \")\"\n ATMOSPHERE: (4007..4008) \"\n\"\n FORM: (4008..4029)\n OPEN_PAREN: (4008..4009) \"(\"\n SYMBOL: (4009..4013)\n IDENTIFIER: (4009..4013) \"test\"\n ATMOSPHERE: (4013..4014) \" \"\n CONSTANT: (4014..4020)\n NUMBER: (4014..4020) \"145932\"\n ATMOSPHERE: (4020..4021) \" \"\n QUOTED_DATUM: (4021..4028)\n QUOTE: (4021..4022) \"'\"\n CONSTANT: (4022..4028)\n NUMBER: (4022..4028) \"145932\"\n CLOSE_PAREN: (4028..4029) \")\"\n ATMOSPHERE: (4029..4030) \"\n\"\n FORM: (4030..4050)\n OPEN_PAREN: (4030..4031) \"(\"\n SYMBOL: (4031..4035)\n IDENTIFIER: (4031..4035) \"test\"\n ATMOSPHERE: (4035..4036) \" \"\n CONSTANT: (4036..4042)\n NUMBER: (4036..4042) \"145932\"\n ATMOSPHERE: (4042..4043) \" \"\n CONSTANT: (4043..4049)\n NUMBER: (4043..4049) \"145932\"\n CLOSE_PAREN: (4049..4050) \")\"\n ATMOSPHERE: (4050..4051) \"\n\"\n FORM: (4051..4064)\n OPEN_PAREN: (4051..4052) \"(\"\n SYMBOL: (4052..4056)\n IDENTIFIER: (4052..4056) \"test\"\n ATMOSPHERE: (4056..4057) \" \"\n CONSTANT: (4057..4059)\n BOOLEAN: (4057..4059) \"#t\"\n ATMOSPHERE: (4059..4060) \" \"\n QUOTED_DATUM: (4060..4063)\n QUOTE: (4060..4061) \"'\"\n CONSTANT: (4061..4063)\n BOOLEAN: (4061..4063) \"#t\"\n CLOSE_PAREN: (4063..4064) \")\"\n ATMOSPHERE: (4064..4065) \"\n\"\n FORM: (4065..4077)\n OPEN_PAREN: (4065..4066) \"(\"\n SYMBOL: (4066..4070)\n IDENTIFIER: (4066..4070) \"test\"\n ATMOSPHERE: (4070..4071) \" \"\n CONSTANT: (4071..4073)\n BOOLEAN: (4071..4073) \"#t\"\n ATMOSPHERE: (4073..4074) \" \"\n CONSTANT: (4074..4076)\n BOOLEAN: (4074..4076) \"#t\"\n CLOSE_PAREN: (4076..4077) \")\"\n ATMOSPHERE: (4077..4079) \"\n\n\"\n FORM: (4079..4095)\n OPEN_PAREN: (4079..4080) \"(\"\n SYMBOL: (4080..4084)\n IDENTIFIER: (4080..4084) \"test\"\n ATMOSPHERE: (4084..4085) \" \"\n CONSTANT: (4085..4086)\n NUMBER: (4085..4086) \"7\"\n ATMOSPHERE: (4086..4087) \" \"\n FORM: (4087..4094)\n OPEN_PAREN: (4087..4088) \"(\"\n SYMBOL: (4088..4089)\n IDENTIFIER: (4088..4089) \"+\"\n ATMOSPHERE: (4089..4090) \" \"\n CONSTANT: (4090..4091)\n NUMBER: (4090..4091) \"3\"\n ATMOSPHERE: (4091..4092) \" \"\n CONSTANT: (4092..4093)\n NUMBER: (4092..4093) \"4\"\n CLOSE_PAREN: (4093..4094) \")\"\n CLOSE_PAREN: (4094..4095) \")\"\n ATMOSPHERE: (4095..4096) \"\n\"\n FORM: (4096..4123)\n OPEN_PAREN: (4096..4097) \"(\"\n SYMBOL: (4097..4101)\n IDENTIFIER: (4097..4101) \"test\"\n ATMOSPHERE: (4101..4102) \" \"\n CONSTANT: (4102..4104)\n NUMBER: (4102..4104) \"12\"\n ATMOSPHERE: (4104..4105) \" \"\n FORM: (4105..4122)\n OPEN_PAREN: (4105..4106) \"(\"\n FORM: (4106..4117)\n OPEN_PAREN: (4106..4107) \"(\"\n SYMBOL: (4107..4109)\n IDENTIFIER: (4107..4109) \"if\"\n ATMOSPHERE: (4109..4110) \" \"\n CONSTANT: (4110..4112)\n BOOLEAN: (4110..4112) \"#f\"\n ATMOSPHERE: (4112..4113) \" \"\n SYMBOL: (4113..4114)\n IDENTIFIER: (4113..4114) \"+\"\n ATMOSPHERE: (4114..4115) \" \"\n SYMBOL: (4115..4116)\n IDENTIFIER: (4115..4116) \"*\"\n CLOSE_PAREN: (4116..4117) \")\"\n ATMOSPHERE: (4117..4118) \" \"\n CONSTANT: (4118..4119)\n NUMBER: (4118..4119) \"3\"\n ATMOSPHERE: (4119..4120) \" \"\n CONSTANT: (4120..4121)\n NUMBER: (4120..4121) \"4\"\n CLOSE_PAREN: (4121..4122) \")\"\n CLOSE_PAREN: (4122..4123) \")\"\n ATMOSPHERE: (4123..4125) \"\n\n\"\n FORM: (4125..4158)\n OPEN_PAREN: (4125..4126) \"(\"\n SYMBOL: (4126..4130)\n IDENTIFIER: (4126..4130) \"test\"\n ATMOSPHERE: (4130..4131) \" \"\n CONSTANT: (4131..4132)\n NUMBER: (4131..4132) \"8\"\n ATMOSPHERE: (4132..4133) \" \"\n FORM: (4133..4157)\n OPEN_PAREN: (4133..4134) \"(\"\n FORM: (4134..4154)\n OPEN_PAREN: (4134..4135) \"(\"\n SYMBOL: (4135..4141)\n IDENTIFIER: (4135..4141) \"lambda\"\n ATMOSPHERE: (4141..4142) \" \"\n FORM: (4142..4145)\n OPEN_PAREN: (4142..4143) \"(\"\n SYMBOL: (4143..4144)\n IDENTIFIER: (4143..4144) \"x\"\n CLOSE_PAREN: (4144..4145) \")\"\n ATMOSPHERE: (4145..4146) \" \"\n FORM: (4146..4153)\n OPEN_PAREN: (4146..4147) \"(\"\n SYMBOL: (4147..4148)\n IDENTIFIER: (4147..4148) \"+\"\n ATMOSPHERE: (4148..4149) \" \"\n SYMBOL: (4149..4150)\n IDENTIFIER: (4149..4150) \"x\"\n ATMOSPHERE: (4150..4151) \" \"\n SYMBOL: (4151..4152)\n IDENTIFIER: (4151..4152) \"x\"\n CLOSE_PAREN: (4152..4153) \")\"\n CLOSE_PAREN: (4153..4154) \")\"\n ATMOSPHERE: (4154..4155) \" \"\n CONSTANT: (4155..4156)\n NUMBER: (4155..4156) \"4\"\n CLOSE_PAREN: (4156..4157) \")\"\n CLOSE_PAREN: (4157..4158) \")\"\n ATMOSPHERE: (4158..4159) \"\n\"\n FORM: (4159..4209)\n OPEN_PAREN: (4159..4160) \"(\"\n SYMBOL: (4160..4166)\n IDENTIFIER: (4160..4166) \"define\"\n ATMOSPHERE: (4166..4167) \" \"\n SYMBOL: (4167..4183)\n IDENTIFIER: (4167..4183) \"reverse-subtract\"\n ATMOSPHERE: (4183..4186) \"\n \"\n FORM: (4186..4208)\n OPEN_PAREN: (4186..4187) \"(\"\n SYMBOL: (4187..4193)\n IDENTIFIER: (4187..4193) \"lambda\"\n ATMOSPHERE: (4193..4194) \" \"\n FORM: (4194..4199)\n OPEN_PAREN: (4194..4195) \"(\"\n SYMBOL: (4195..4196)\n IDENTIFIER: (4195..4196) \"x\"\n ATMOSPHERE: (4196..4197) \" \"\n SYMBOL: (4197..4198)\n IDENTIFIER: (4197..4198) \"y\"\n CLOSE_PAREN: (4198..4199) \")\"\n ATMOSPHERE: (4199..4200) \" \"\n FORM: (4200..4207)\n OPEN_PAREN: (4200..4201) \"(\"\n SYMBOL: (4201..4202)\n IDENTIFIER: (4201..4202) \"-\"\n ATMOSPHERE: (4202..4203) \" \"\n SYMBOL: (4203..4204)\n IDENTIFIER: (4203..4204) \"y\"\n ATMOSPHERE: (4204..4205) \" \"\n SYMBOL: (4205..4206)\n IDENTIFIER: (4205..4206) \"x\"\n CLOSE_PAREN: (4206..4207) \")\"\n CLOSE_PAREN: (4207..4208) \")\"\n CLOSE_PAREN: (4208..4209) \")\"\n ATMOSPHERE: (4209..4210) \"\n\"\n FORM: (4210..4242)\n OPEN_PAREN: (4210..4211) \"(\"\n SYMBOL: (4211..4215)\n IDENTIFIER: (4211..4215) \"test\"\n ATMOSPHERE: (4215..4216) \" \"\n CONSTANT: (4216..4217)\n NUMBER: (4216..4217) \"3\"\n ATMOSPHERE: (4217..4218) \" \"\n FORM: (4218..4241)\n OPEN_PAREN: (4218..4219) \"(\"\n SYMBOL: (4219..4235)\n IDENTIFIER: (4219..4235) \"reverse-subtract\"\n ATMOSPHERE: (4235..4236) \" \"\n CONSTANT: (4236..4237)\n NUMBER: (4236..4237) \"7\"\n ATMOSPHERE: (4237..4238) \" \"\n CONSTANT: (4238..4240)\n NUMBER: (4238..4240) \"10\"\n CLOSE_PAREN: (4240..4241) \")\"\n CLOSE_PAREN: (4241..4242) \")\"\n ATMOSPHERE: (4242..4243) \"\n\"\n FORM: (4243..4297)\n OPEN_PAREN: (4243..4244) \"(\"\n SYMBOL: (4244..4250)\n IDENTIFIER: (4244..4250) \"define\"\n ATMOSPHERE: (4250..4251) \" \"\n SYMBOL: (4251..4255)\n IDENTIFIER: (4251..4255) \"add4\"\n ATMOSPHERE: (4255..4258) \"\n \"\n FORM: (4258..4296)\n OPEN_PAREN: (4258..4259) \"(\"\n SYMBOL: (4259..4262)\n IDENTIFIER: (4259..4262) \"let\"\n ATMOSPHERE: (4262..4263) \" \"\n FORM: (4263..4270)\n OPEN_PAREN: (4263..4264) \"(\"\n FORM: (4264..4269)\n OPEN_PAREN: (4264..4265) \"(\"\n SYMBOL: (4265..4266)\n IDENTIFIER: (4265..4266) \"x\"\n ATMOSPHERE: (4266..4267) \" \"\n CONSTANT: (4267..4268)\n NUMBER: (4267..4268) \"4\"\n CLOSE_PAREN: (4268..4269) \")\"\n CLOSE_PAREN: (4269..4270) \")\"\n ATMOSPHERE: (4270..4275) \"\n \"\n FORM: (4275..4295)\n OPEN_PAREN: (4275..4276) \"(\"\n SYMBOL: (4276..4282)\n IDENTIFIER: (4276..4282) \"lambda\"\n ATMOSPHERE: (4282..4283) \" \"\n FORM: (4283..4286)\n OPEN_PAREN: (4283..4284) \"(\"\n SYMBOL: (4284..4285)\n IDENTIFIER: (4284..4285) \"y\"\n CLOSE_PAREN: (4285..4286) \")\"\n ATMOSPHERE: (4286..4287) \" \"\n FORM: (4287..4294)\n OPEN_PAREN: (4287..4288) \"(\"\n SYMBOL: (4288..4289)\n IDENTIFIER: (4288..4289) \"+\"\n ATMOSPHERE: (4289..4290) \" \"\n SYMBOL: (4290..4291)\n IDENTIFIER: (4290..4291) \"x\"\n ATMOSPHERE: (4291..4292) \" \"\n SYMBOL: (4292..4293)\n IDENTIFIER: (4292..4293) \"y\"\n CLOSE_PAREN: (4293..4294) \")\"\n CLOSE_PAREN: (4294..4295) \")\"\n CLOSE_PAREN: (4295..4296) \")\"\n CLOSE_PAREN: (4296..4297) \")\"\n ATMOSPHERE: (4297..4298) \"\n\"\n FORM: (4298..4316)\n OPEN_PAREN: (4298..4299) \"(\"\n SYMBOL: (4299..4303)\n IDENTIFIER: (4299..4303) \"test\"\n ATMOSPHERE: (4303..4304) \" \"\n CONSTANT: (4304..4306)\n NUMBER: (4304..4306) \"10\"\n ATMOSPHERE: (4306..4307) \" \"\n FORM: (4307..4315)\n OPEN_PAREN: (4307..4308) \"(\"\n SYMBOL: (4308..4312)\n IDENTIFIER: (4308..4312) \"add4\"\n ATMOSPHERE: (4312..4313) \" \"\n CONSTANT: (4313..4314)\n NUMBER: (4313..4314) \"6\"\n CLOSE_PAREN: (4314..4315) \")\"\n CLOSE_PAREN: (4315..4316) \")\"\n ATMOSPHERE: (4316..4318) \"\n\n\"\n FORM: (4318..4358)\n OPEN_PAREN: (4318..4319) \"(\"\n SYMBOL: (4319..4323)\n IDENTIFIER: (4319..4323) \"test\"\n ATMOSPHERE: (4323..4324) \" \"\n QUOTED_DATUM: (4324..4335)\n QUOTE: (4324..4325) \"'\"\n FORM: (4325..4334)\n OPEN_PAREN: (4325..4326) \"(\"\n CONSTANT: (4326..4327)\n NUMBER: (4326..4327) \"3\"\n ATMOSPHERE: (4327..4328) \" \"\n CONSTANT: (4328..4329)\n NUMBER: (4328..4329) \"4\"\n ATMOSPHERE: (4329..4330) \" \"\n CONSTANT: (4330..4331)\n NUMBER: (4330..4331) \"5\"\n ATMOSPHERE: (4331..4332) \" \"\n CONSTANT: (4332..4333)\n NUMBER: (4332..4333) \"6\"\n CLOSE_PAREN: (4333..4334) \")\"\n ATMOSPHERE: (4334..4335) \" \"\n FORM: (4335..4357)\n OPEN_PAREN: (4335..4336) \"(\"\n FORM: (4336..4348)\n OPEN_PAREN: (4336..4337) \"(\"\n SYMBOL: (4337..4343)\n IDENTIFIER: (4337..4343) \"lambda\"\n ATMOSPHERE: (4343..4344) \" \"\n SYMBOL: (4344..4345)\n IDENTIFIER: (4344..4345) \"x\"\n ATMOSPHERE: (4345..4346) \" \"\n SYMBOL: (4346..4347)\n IDENTIFIER: (4346..4347) \"x\"\n CLOSE_PAREN: (4347..4348) \")\"\n ATMOSPHERE: (4348..4349) \" \"\n CONSTANT: (4349..4350)\n NUMBER: (4349..4350) \"3\"\n ATMOSPHERE: (4350..4351) \" \"\n CONSTANT: (4351..4352)\n NUMBER: (4351..4352) \"4\"\n ATMOSPHERE: (4352..4353) \" \"\n CONSTANT: (4353..4354)\n NUMBER: (4353..4354) \"5\"\n ATMOSPHERE: (4354..4355) \" \"\n CONSTANT: (4355..4356)\n NUMBER: (4355..4356) \"6\"\n CLOSE_PAREN: (4356..4357) \")\"\n CLOSE_PAREN: (4357..4358) \")\"\n ATMOSPHERE: (4358..4359) \"\n\"\n FORM: (4359..4404)\n OPEN_PAREN: (4359..4360) \"(\"\n SYMBOL: (4360..4364)\n IDENTIFIER: (4360..4364) \"test\"\n ATMOSPHERE: (4364..4365) \" \"\n QUOTED_DATUM: (4365..4372)\n QUOTE: (4365..4366) \"'\"\n FORM: (4366..4371)\n OPEN_PAREN: (4366..4367) \"(\"\n CONSTANT: (4367..4368)\n NUMBER: (4367..4368) \"5\"\n ATMOSPHERE: (4368..4369) \" \"\n CONSTANT: (4369..4370)\n NUMBER: (4369..4370) \"6\"\n CLOSE_PAREN: (4370..4371) \")\"\n ATMOSPHERE: (4371..4372) \" \"\n FORM: (4372..4403)\n OPEN_PAREN: (4372..4373) \"(\"\n FORM: (4373..4393)\n OPEN_PAREN: (4373..4374) \"(\"\n SYMBOL: (4374..4380)\n IDENTIFIER: (4374..4380) \"lambda\"\n ATMOSPHERE: (4380..4381) \" \"\n FORM: (4381..4390)\n OPEN_PAREN: (4381..4382) \"(\"\n SYMBOL: (4382..4383)\n IDENTIFIER: (4382..4383) \"x\"\n ATMOSPHERE: (4383..4384) \" \"\n SYMBOL: (4384..4385)\n IDENTIFIER: (4384..4385) \"y\"\n ATMOSPHERE: (4385..4386) \" \"\n DOTTED_TAIL: (4386..4389)\n DOT: (4386..4387) \".\"\n ATMOSPHERE: (4387..4388) \" \"\n SYMBOL: (4388..4389)\n IDENTIFIER: (4388..4389) \"z\"\n CLOSE_PAREN: (4389..4390) \")\"\n ATMOSPHERE: (4390..4391) \" \"\n SYMBOL: (4391..4392)\n IDENTIFIER: (4391..4392) \"z\"\n CLOSE_PAREN: (4392..4393) \")\"\n ATMOSPHERE: (4393..4395) \"\n \"\n CONSTANT: (4395..4396)\n NUMBER: (4395..4396) \"3\"\n ATMOSPHERE: (4396..4397) \" \"\n CONSTANT: (4397..4398)\n NUMBER: (4397..4398) \"4\"\n ATMOSPHERE: (4398..4399) \" \"\n CONSTANT: (4399..4400)\n NUMBER: (4399..4400) \"5\"\n ATMOSPHERE: (4400..4401) \" \"\n CONSTANT: (4401..4402)\n NUMBER: (4401..4402) \"6\"\n CLOSE_PAREN: (4402..4403) \")\"\n CLOSE_PAREN: (4403..4404) \")\"\n ATMOSPHERE: (4404..4406) \"\n\n\"\n FORM: (4406..4439)\n OPEN_PAREN: (4406..4407) \"(\"\n SYMBOL: (4407..4411)\n IDENTIFIER: (4407..4411) \"test\"\n ATMOSPHERE: (4411..4412) \" \"\n QUOTED_DATUM: (4412..4417)\n QUOTE: (4412..4413) \"'\"\n SYMBOL: (4413..4416)\n IDENTIFIER: (4413..4416) \"yes\"\n ATMOSPHERE: (4416..4417) \" \"\n FORM: (4417..4438)\n OPEN_PAREN: (4417..4418) \"(\"\n SYMBOL: (4418..4420)\n IDENTIFIER: (4418..4420) \"if\"\n ATMOSPHERE: (4420..4421) \" \"\n FORM: (4421..4428)\n OPEN_PAREN: (4421..4422) \"(\"\n SYMBOL: (4422..4423)\n IDENTIFIER: (4422..4423) \">\"\n ATMOSPHERE: (4423..4424) \" \"\n CONSTANT: (4424..4425)\n NUMBER: (4424..4425) \"3\"\n ATMOSPHERE: (4425..4426) \" \"\n CONSTANT: (4426..4427)\n NUMBER: (4426..4427) \"2\"\n CLOSE_PAREN: (4427..4428) \")\"\n ATMOSPHERE: (4428..4429) \" \"\n QUOTED_DATUM: (4429..4434)\n QUOTE: (4429..4430) \"'\"\n SYMBOL: (4430..4433)\n IDENTIFIER: (4430..4433) \"yes\"\n ATMOSPHERE: (4433..4434) \" \"\n QUOTED_DATUM: (4434..4437)\n QUOTE: (4434..4435) \"'\"\n SYMBOL: (4435..4437)\n IDENTIFIER: (4435..4437) \"no\"\n CLOSE_PAREN: (4437..4438) \")\"\n CLOSE_PAREN: (4438..4439) \")\"\n ATMOSPHERE: (4439..4440) \"\n\"\n FORM: (4440..4472)\n OPEN_PAREN: (4440..4441) \"(\"\n SYMBOL: (4441..4445)\n IDENTIFIER: (4441..4445) \"test\"\n ATMOSPHERE: (4445..4446) \" \"\n QUOTED_DATUM: (4446..4450)\n QUOTE: (4446..4447) \"'\"\n SYMBOL: (4447..4449)\n IDENTIFIER: (4447..4449) \"no\"\n ATMOSPHERE: (4449..4450) \" \"\n FORM: (4450..4471)\n OPEN_PAREN: (4450..4451) \"(\"\n SYMBOL: (4451..4453)\n IDENTIFIER: (4451..4453) \"if\"\n ATMOSPHERE: (4453..4454) \" \"\n FORM: (4454..4461)\n OPEN_PAREN: (4454..4455) \"(\"\n SYMBOL: (4455..4456)\n IDENTIFIER: (4455..4456) \">\"\n ATMOSPHERE: (4456..4457) \" \"\n CONSTANT: (4457..4458)\n NUMBER: (4457..4458) \"2\"\n ATMOSPHERE: (4458..4459) \" \"\n CONSTANT: (4459..4460)\n NUMBER: (4459..4460) \"3\"\n CLOSE_PAREN: (4460..4461) \")\"\n ATMOSPHERE: (4461..4462) \" \"\n QUOTED_DATUM: (4462..4467)\n QUOTE: (4462..4463) \"'\"\n SYMBOL: (4463..4466)\n IDENTIFIER: (4463..4466) \"yes\"\n ATMOSPHERE: (4466..4467) \" \"\n QUOTED_DATUM: (4467..4470)\n QUOTE: (4467..4468) \"'\"\n SYMBOL: (4468..4470)\n IDENTIFIER: (4468..4470) \"no\"\n CLOSE_PAREN: (4470..4471) \")\"\n CLOSE_PAREN: (4471..4472) \")\"\n ATMOSPHERE: (4472..4473) \"\n\"\n FORM: (4473..4518)\n OPEN_PAREN: (4473..4474) \"(\"\n SYMBOL: (4474..4478)\n IDENTIFIER: (4474..4478) \"test\"\n ATMOSPHERE: (4478..4479) \" \"\n CONSTANT: (4479..4480)\n NUMBER: (4479..4480) \"1\"\n ATMOSPHERE: (4480..4481) \" \"\n FORM: (4481..4517)\n OPEN_PAREN: (4481..4482) \"(\"\n SYMBOL: (4482..4484)\n IDENTIFIER: (4482..4484) \"if\"\n ATMOSPHERE: (4484..4485) \" \"\n FORM: (4485..4492)\n OPEN_PAREN: (4485..4486) \"(\"\n SYMBOL: (4486..4487)\n IDENTIFIER: (4486..4487) \">\"\n ATMOSPHERE: (4487..4488) \" \"\n CONSTANT: (4488..4489)\n NUMBER: (4488..4489) \"3\"\n ATMOSPHERE: (4489..4490) \" \"\n CONSTANT: (4490..4491)\n NUMBER: (4490..4491) \"2\"\n CLOSE_PAREN: (4491..4492) \")\"\n ATMOSPHERE: (4492..4497) \"\n \"\n FORM: (4497..4504)\n OPEN_PAREN: (4497..4498) \"(\"\n SYMBOL: (4498..4499)\n IDENTIFIER: (4498..4499) \"-\"\n ATMOSPHERE: (4499..4500) \" \"\n CONSTANT: (4500..4501)\n NUMBER: (4500..4501) \"3\"\n ATMOSPHERE: (4501..4502) \" \"\n CONSTANT: (4502..4503)\n NUMBER: (4502..4503) \"2\"\n CLOSE_PAREN: (4503..4504) \")\"\n ATMOSPHERE: (4504..4509) \"\n \"\n FORM: (4509..4516)\n OPEN_PAREN: (4509..4510) \"(\"\n SYMBOL: (4510..4511)\n IDENTIFIER: (4510..4511) \"+\"\n ATMOSPHERE: (4511..4512) \" \"\n CONSTANT: (4512..4513)\n NUMBER: (4512..4513) \"3\"\n ATMOSPHERE: (4513..4514) \" \"\n CONSTANT: (4514..4515)\n NUMBER: (4514..4515) \"2\"\n CLOSE_PAREN: (4515..4516) \")\"\n CLOSE_PAREN: (4516..4517) \")\"\n CLOSE_PAREN: (4517..4518) \")\"\n ATMOSPHERE: (4518..4519) \"\n\"\n FORM: (4519..4561)\n OPEN_PAREN: (4519..4520) \"(\"\n SYMBOL: (4520..4523)\n IDENTIFIER: (4520..4523) \"let\"\n ATMOSPHERE: (4523..4524) \" \"\n FORM: (4524..4526)\n OPEN_PAREN: (4524..4525) \"(\"\n CLOSE_PAREN: (4525..4526) \")\"\n ATMOSPHERE: (4526..4529) \"\n \"\n FORM: (4529..4541)\n OPEN_PAREN: (4529..4530) \"(\"\n SYMBOL: (4530..4536)\n IDENTIFIER: (4530..4536) \"define\"\n ATMOSPHERE: (4536..4537) \" \"\n SYMBOL: (4537..4538)\n IDENTIFIER: (4537..4538) \"x\"\n ATMOSPHERE: (4538..4539) \" \"\n CONSTANT: (4539..4540)\n NUMBER: (4539..4540) \"2\"\n CLOSE_PAREN: (4540..4541) \")\"\n ATMOSPHERE: (4541..4544) \"\n \"\n FORM: (4544..4560)\n OPEN_PAREN: (4544..4545) \"(\"\n SYMBOL: (4545..4549)\n IDENTIFIER: (4545..4549) \"test\"\n ATMOSPHERE: (4549..4550) \" \"\n CONSTANT: (4550..4551)\n NUMBER: (4550..4551) \"3\"\n ATMOSPHERE: (4551..4552) \" \"\n FORM: (4552..4559)\n OPEN_PAREN: (4552..4553) \"(\"\n SYMBOL: (4553..4554)\n IDENTIFIER: (4553..4554) \"+\"\n ATMOSPHERE: (4554..4555) \" \"\n SYMBOL: (4555..4556)\n IDENTIFIER: (4555..4556) \"x\"\n ATMOSPHERE: (4556..4557) \" \"\n CONSTANT: (4557..4558)\n NUMBER: (4557..4558) \"1\"\n CLOSE_PAREN: (4558..4559) \")\"\n CLOSE_PAREN: (4559..4560) \")\"\n CLOSE_PAREN: (4560..4561) \")\"\n ATMOSPHERE: (4561..4563) \"\n\n\"\n FORM: (4563..4573)\n OPEN_PAREN: (4563..4564) \"(\"\n SYMBOL: (4564..4572)\n IDENTIFIER: (4564..4572) \"test-end\"\n CLOSE_PAREN: (4572..4573) \")\"\n ATMOSPHERE: (4573..4575) \"\n\n\"\n FORM: (4575..4618)\n OPEN_PAREN: (4575..4576) \"(\"\n SYMBOL: (4576..4586)\n IDENTIFIER: (4576..4586) \"test-begin\"\n ATMOSPHERE: (4586..4587) \" \"\n CONSTANT: (4587..4617)\n STRING: (4587..4617) \"\"4.2 Derived expression types\"\"\n CLOSE_PAREN: (4617..4618) \")\"\n ATMOSPHERE: (4618..4620) \"\n\n\"\n ATMOSPHERE: (4620..4664) \";;;;; FIXME: No `cond` or `case` support yet\"\n ATMOSPHERE: (4664..4665) \"\n\"\n FORM: (4665..4736)\n OPEN_PAREN: (4665..4666) \"(\"\n SYMBOL: (4666..4670)\n IDENTIFIER: (4666..4670) \"test\"\n ATMOSPHERE: (4670..4671) \" \"\n QUOTED_DATUM: (4671..4684)\n QUOTE: (4671..4672) \"'\"\n SYMBOL: (4672..4679)\n IDENTIFIER: (4672..4679) \"greater\"\n ATMOSPHERE: (4679..4684) \"\n \"\n FORM: (4684..4735)\n OPEN_PAREN: (4684..4685) \"(\"\n SYMBOL: (4685..4689)\n IDENTIFIER: (4685..4689) \"cond\"\n ATMOSPHERE: (4689..4690) \" \"\n FORM: (4690..4708)\n OPEN_PAREN: (4690..4691) \"(\"\n FORM: (4691..4698)\n OPEN_PAREN: (4691..4692) \"(\"\n SYMBOL: (4692..4693)\n IDENTIFIER: (4692..4693) \">\"\n ATMOSPHERE: (4693..4694) \" \"\n CONSTANT: (4694..4695)\n NUMBER: (4694..4695) \"3\"\n ATMOSPHERE: (4695..4696) \" \"\n CONSTANT: (4696..4697)\n NUMBER: (4696..4697) \"2\"\n CLOSE_PAREN: (4697..4698) \")\"\n ATMOSPHERE: (4698..4699) \" \"\n QUOTED_DATUM: (4699..4707)\n QUOTE: (4699..4700) \"'\"\n SYMBOL: (4700..4707)\n IDENTIFIER: (4700..4707) \"greater\"\n CLOSE_PAREN: (4707..4708) \")\"\n ATMOSPHERE: (4708..4719) \"\n \"\n FORM: (4719..4734)\n OPEN_PAREN: (4719..4720) \"(\"\n FORM: (4720..4727)\n OPEN_PAREN: (4720..4721) \"(\"\n SYMBOL: (4721..4722)\n IDENTIFIER: (4721..4722) \"<\"\n ATMOSPHERE: (4722..4723) \" \"\n CONSTANT: (4723..4724)\n NUMBER: (4723..4724) \"3\"\n ATMOSPHERE: (4724..4725) \" \"\n CONSTANT: (4725..4726)\n NUMBER: (4725..4726) \"2\"\n CLOSE_PAREN: (4726..4727) \")\"\n ATMOSPHERE: (4727..4728) \" \"\n QUOTED_DATUM: (4728..4733)\n QUOTE: (4728..4729) \"'\"\n SYMBOL: (4729..4733)\n IDENTIFIER: (4729..4733) \"less\"\n CLOSE_PAREN: (4733..4734) \")\"\n CLOSE_PAREN: (4734..4735) \")\"\n CLOSE_PAREN: (4735..4736) \")\"\n ATMOSPHERE: (4736..4738) \"\n\n\"\n FORM: (4738..4831)\n OPEN_PAREN: (4738..4739) \"(\"\n SYMBOL: (4739..4743)\n IDENTIFIER: (4739..4743) \"test\"\n ATMOSPHERE: (4743..4744) \" \"\n QUOTED_DATUM: (4744..4755)\n QUOTE: (4744..4745) \"'\"\n SYMBOL: (4745..4750)\n IDENTIFIER: (4745..4750) \"equal\"\n ATMOSPHERE: (4750..4755) \"\n \"\n FORM: (4755..4830)\n OPEN_PAREN: (4755..4756) \"(\"\n SYMBOL: (4756..4760)\n IDENTIFIER: (4756..4760) \"cond\"\n ATMOSPHERE: (4760..4761) \" \"\n FORM: (4761..4779)\n OPEN_PAREN: (4761..4762) \"(\"\n FORM: (4762..4769)\n OPEN_PAREN: (4762..4763) \"(\"\n SYMBOL: (4763..4764)\n IDENTIFIER: (4763..4764) \">\"\n ATMOSPHERE: (4764..4765) \" \"\n CONSTANT: (4765..4766)\n NUMBER: (4765..4766) \"3\"\n ATMOSPHERE: (4766..4767) \" \"\n CONSTANT: (4767..4768)\n NUMBER: (4767..4768) \"3\"\n CLOSE_PAREN: (4768..4769) \")\"\n ATMOSPHERE: (4769..4770) \" \"\n QUOTED_DATUM: (4770..4778)\n QUOTE: (4770..4771) \"'\"\n SYMBOL: (4771..4778)\n IDENTIFIER: (4771..4778) \"greater\"\n CLOSE_PAREN: (4778..4779) \")\"\n ATMOSPHERE: (4779..4790) \"\n \"\n FORM: (4790..4805)\n OPEN_PAREN: (4790..4791) \"(\"\n FORM: (4791..4798)\n OPEN_PAREN: (4791..4792) \"(\"\n SYMBOL: (4792..4793)\n IDENTIFIER: (4792..4793) \"<\"\n ATMOSPHERE: (4793..4794) \" \"\n CONSTANT: (4794..4795)\n NUMBER: (4794..4795) \"3\"\n ATMOSPHERE: (4795..4796) \" \"\n CONSTANT: (4796..4797)\n NUMBER: (4796..4797) \"3\"\n CLOSE_PAREN: (4797..4798) \")\"\n ATMOSPHERE: (4798..4799) \" \"\n QUOTED_DATUM: (4799..4804)\n QUOTE: (4799..4800) \"'\"\n SYMBOL: (4800..4804)\n IDENTIFIER: (4800..4804) \"less\"\n CLOSE_PAREN: (4804..4805) \")\"\n ATMOSPHERE: (4805..4816) \"\n \"\n FORM: (4816..4829)\n OPEN_PAREN: (4816..4817) \"(\"\n SYMBOL: (4817..4821)\n IDENTIFIER: (4817..4821) \"else\"\n ATMOSPHERE: (4821..4822) \" \"\n QUOTED_DATUM: (4822..4828)\n QUOTE: (4822..4823) \"'\"\n SYMBOL: (4823..4828)\n IDENTIFIER: (4823..4828) \"equal\"\n CLOSE_PAREN: (4828..4829) \")\"\n CLOSE_PAREN: (4829..4830) \")\"\n CLOSE_PAREN: (4830..4831) \")\"\n ATMOSPHERE: (4831..4833) \"\n\n\"\n ATMOSPHERE: (4833..4843) \";; (test 2\"\n ATMOSPHERE: (4843..4844) \"\n\"\n ATMOSPHERE: (4844..4891) \";; (cond ((assv 'b '((a 1) (b 2))) => cadr)\"\n ATMOSPHERE: (4891..4892) \"\n\"\n ATMOSPHERE: (4892..4916) \";; (else #f)))\"\n ATMOSPHERE: (4916..4918) \"\n\n\"\n ATMOSPHERE: (4918..4937) \";; (test 'composite\"\n ATMOSPHERE: (4937..4938) \"\n\"\n ATMOSPHERE: (4938..4958) \";; (case (* 2 3)\"\n ATMOSPHERE: (4958..4959) \"\n\"\n ATMOSPHERE: (4959..4986) \";; ((2 3 5 7) 'prime)\"\n ATMOSPHERE: (4986..4987) \"\n\"\n ATMOSPHERE: (4987..5022) \";; ((1 4 6 8 9) 'composite)))\"\n ATMOSPHERE: (5022..5024) \"\n\n\"\n ATMOSPHERE: (5024..5035) \";; (test 'c\"\n ATMOSPHERE: (5035..5036) \"\n\"\n ATMOSPHERE: (5036..5061) \";; (case (car '(c d))\"\n ATMOSPHERE: (5061..5062) \"\n\"\n ATMOSPHERE: (5062..5091) \";; ((a e i o u) 'vowel)\"\n ATMOSPHERE: (5091..5092) \"\n\"\n ATMOSPHERE: (5092..5119) \";; ((w y) 'semivowel)\"\n ATMOSPHERE: (5119..5120) \"\n\"\n ATMOSPHERE: (5120..5155) \";; (else => (lambda (x) x))))\"\n ATMOSPHERE: (5155..5157) \"\n\n\"\n ATMOSPHERE: (5157..5207) \";; (test '((other . z) (semivowel . y) (other . x)\"\n ATMOSPHERE: (5207..5208) \"\n\"\n ATMOSPHERE: (5208..5247) \";; (semivowel . w) (vowel . u))\"\n ATMOSPHERE: (5247..5248) \"\n\"\n ATMOSPHERE: (5248..5271) \";; (map (lambda (x)\"\n ATMOSPHERE: (5271..5272) \"\n\"\n ATMOSPHERE: (5272..5293) \";; (case x\"\n ATMOSPHERE: (5293..5294) \"\n\"\n ATMOSPHERE: (5294..5355) \";; ((a e i o u) => (lambda (w) (cons 'vowel w)))\"\n ATMOSPHERE: (5355..5356) \"\n\"\n ATMOSPHERE: (5356..5399) \";; ((w y) (cons 'semivowel x))\"\n ATMOSPHERE: (5399..5400) \"\n\"\n ATMOSPHERE: (5400..5456) \";; (else => (lambda (w) (cons 'other w)))))\"\n ATMOSPHERE: (5456..5457) \"\n\"\n ATMOSPHERE: (5457..5483) \";; '(z y x w u)))\"\n ATMOSPHERE: (5483..5485) \"\n\n\"\n FORM: (5485..5516)\n OPEN_PAREN: (5485..5486) \"(\"\n SYMBOL: (5486..5490)\n IDENTIFIER: (5486..5490) \"test\"\n ATMOSPHERE: (5490..5491) \" \"\n CONSTANT: (5491..5493)\n BOOLEAN: (5491..5493) \"#t\"\n ATMOSPHERE: (5493..5494) \" \"\n FORM: (5494..5515)\n OPEN_PAREN: (5494..5495) \"(\"\n SYMBOL: (5495..5498)\n IDENTIFIER: (5495..5498) \"and\"\n ATMOSPHERE: (5498..5499) \" \"\n FORM: (5499..5506)\n OPEN_PAREN: (5499..5500) \"(\"\n SYMBOL: (5500..5501)\n IDENTIFIER: (5500..5501) \"=\"\n ATMOSPHERE: (5501..5502) \" \"\n CONSTANT: (5502..5503)\n NUMBER: (5502..5503) \"2\"\n ATMOSPHERE: (5503..5504) \" \"\n CONSTANT: (5504..5505)\n NUMBER: (5504..5505) \"2\"\n CLOSE_PAREN: (5505..5506) \")\"\n ATMOSPHERE: (5506..5507) \" \"\n FORM: (5507..5514)\n OPEN_PAREN: (5507..5508) \"(\"\n SYMBOL: (5508..5509)\n IDENTIFIER: (5508..5509) \">\"\n ATMOSPHERE: (5509..5510) \" \"\n CONSTANT: (5510..5511)\n NUMBER: (5510..5511) \"2\"\n ATMOSPHERE: (5511..5512) \" \"\n CONSTANT: (5512..5513)\n NUMBER: (5512..5513) \"1\"\n CLOSE_PAREN: (5513..5514) \")\"\n CLOSE_PAREN: (5514..5515) \")\"\n CLOSE_PAREN: (5515..5516) \")\"\n ATMOSPHERE: (5516..5517) \"\n\"\n FORM: (5517..5548)\n OPEN_PAREN: (5517..5518) \"(\"\n SYMBOL: (5518..5522)\n IDENTIFIER: (5518..5522) \"test\"\n ATMOSPHERE: (5522..5523) \" \"\n CONSTANT: (5523..5525)\n BOOLEAN: (5523..5525) \"#f\"\n ATMOSPHERE: (5525..5526) \" \"\n FORM: (5526..5547)\n OPEN_PAREN: (5526..5527) \"(\"\n SYMBOL: (5527..5530)\n IDENTIFIER: (5527..5530) \"and\"\n ATMOSPHERE: (5530..5531) \" \"\n FORM: (5531..5538)\n OPEN_PAREN: (5531..5532) \"(\"\n SYMBOL: (5532..5533)\n IDENTIFIER: (5532..5533) \"=\"\n ATMOSPHERE: (5533..5534) \" \"\n CONSTANT: (5534..5535)\n NUMBER: (5534..5535) \"2\"\n ATMOSPHERE: (5535..5536) \" \"\n CONSTANT: (5536..5537)\n NUMBER: (5536..5537) \"2\"\n CLOSE_PAREN: (5537..5538) \")\"\n ATMOSPHERE: (5538..5539) \" \"\n FORM: (5539..5546)\n OPEN_PAREN: (5539..5540) \"(\"\n SYMBOL: (5540..5541)\n IDENTIFIER: (5540..5541) \"<\"\n ATMOSPHERE: (5541..5542) \" \"\n CONSTANT: (5542..5543)\n NUMBER: (5542..5543) \"2\"\n ATMOSPHERE: (5543..5544) \" \"\n CONSTANT: (5544..5545)\n NUMBER: (5544..5545) \"1\"\n CLOSE_PAREN: (5545..5546) \")\"\n CLOSE_PAREN: (5546..5547) \")\"\n CLOSE_PAREN: (5547..5548) \")\"\n ATMOSPHERE: (5548..5549) \"\n\"\n FORM: (5549..5582)\n OPEN_PAREN: (5549..5550) \"(\"\n SYMBOL: (5550..5554)\n IDENTIFIER: (5550..5554) \"test\"\n ATMOSPHERE: (5554..5555) \" \"\n QUOTED_DATUM: (5555..5562)\n QUOTE: (5555..5556) \"'\"\n FORM: (5556..5561)\n OPEN_PAREN: (5556..5557) \"(\"\n SYMBOL: (5557..5558)\n IDENTIFIER: (5557..5558) \"f\"\n ATMOSPHERE: (5558..5559) \" \"\n SYMBOL: (5559..5560)\n IDENTIFIER: (5559..5560) \"g\"\n CLOSE_PAREN: (5560..5561) \")\"\n ATMOSPHERE: (5561..5562) \" \"\n FORM: (5562..5581)\n OPEN_PAREN: (5562..5563) \"(\"\n SYMBOL: (5563..5566)\n IDENTIFIER: (5563..5566) \"and\"\n ATMOSPHERE: (5566..5567) \" \"\n CONSTANT: (5567..5568)\n NUMBER: (5567..5568) \"1\"\n ATMOSPHERE: (5568..5569) \" \"\n CONSTANT: (5569..5570)\n NUMBER: (5569..5570) \"2\"\n ATMOSPHERE: (5570..5571) \" \"\n QUOTED_DATUM: (5571..5574)\n QUOTE: (5571..5572) \"'\"\n SYMBOL: (5572..5573)\n IDENTIFIER: (5572..5573) \"c\"\n ATMOSPHERE: (5573..5574) \" \"\n QUOTED_DATUM: (5574..5580)\n QUOTE: (5574..5575) \"'\"\n FORM: (5575..5580)\n OPEN_PAREN: (5575..5576) \"(\"\n SYMBOL: (5576..5577)\n IDENTIFIER: (5576..5577) \"f\"\n ATMOSPHERE: (5577..5578) \" \"\n SYMBOL: (5578..5579)\n IDENTIFIER: (5578..5579) \"g\"\n CLOSE_PAREN: (5579..5580) \")\"\n CLOSE_PAREN: (5580..5581) \")\"\n CLOSE_PAREN: (5581..5582) \")\"\n ATMOSPHERE: (5582..5583) \"\n\"\n FORM: (5583..5598)\n OPEN_PAREN: (5583..5584) \"(\"\n SYMBOL: (5584..5588)\n IDENTIFIER: (5584..5588) \"test\"\n ATMOSPHERE: (5588..5589) \" \"\n CONSTANT: (5589..5591)\n BOOLEAN: (5589..5591) \"#t\"\n ATMOSPHERE: (5591..5592) \" \"\n FORM: (5592..5597)\n OPEN_PAREN: (5592..5593) \"(\"\n SYMBOL: (5593..5596)\n IDENTIFIER: (5593..5596) \"and\"\n CLOSE_PAREN: (5596..5597) \")\"\n CLOSE_PAREN: (5597..5598) \")\"\n ATMOSPHERE: (5598..5600) \"\n\n\"\n FORM: (5600..5630)\n OPEN_PAREN: (5600..5601) \"(\"\n SYMBOL: (5601..5605)\n IDENTIFIER: (5601..5605) \"test\"\n ATMOSPHERE: (5605..5606) \" \"\n CONSTANT: (5606..5608)\n BOOLEAN: (5606..5608) \"#t\"\n ATMOSPHERE: (5608..5609) \" \"\n FORM: (5609..5629)\n OPEN_PAREN: (5609..5610) \"(\"\n SYMBOL: (5610..5612)\n IDENTIFIER: (5610..5612) \"or\"\n ATMOSPHERE: (5612..5613) \" \"\n FORM: (5613..5620)\n OPEN_PAREN: (5613..5614) \"(\"\n SYMBOL: (5614..5615)\n IDENTIFIER: (5614..5615) \"=\"\n ATMOSPHERE: (5615..5616) \" \"\n CONSTANT: (5616..5617)\n NUMBER: (5616..5617) \"2\"\n ATMOSPHERE: (5617..5618) \" \"\n CONSTANT: (5618..5619)\n NUMBER: (5618..5619) \"2\"\n CLOSE_PAREN: (5619..5620) \")\"\n ATMOSPHERE: (5620..5621) \" \"\n FORM: (5621..5628)\n OPEN_PAREN: (5621..5622) \"(\"\n SYMBOL: (5622..5623)\n IDENTIFIER: (5622..5623) \">\"\n ATMOSPHERE: (5623..5624) \" \"\n CONSTANT: (5624..5625)\n NUMBER: (5624..5625) \"2\"\n ATMOSPHERE: (5625..5626) \" \"\n CONSTANT: (5626..5627)\n NUMBER: (5626..5627) \"1\"\n CLOSE_PAREN: (5627..5628) \")\"\n CLOSE_PAREN: (5628..5629) \")\"\n CLOSE_PAREN: (5629..5630) \")\"\n ATMOSPHERE: (5630..5631) \"\n\"\n FORM: (5631..5661)\n OPEN_PAREN: (5631..5632) \"(\"\n SYMBOL: (5632..5636)\n IDENTIFIER: (5632..5636) \"test\"\n ATMOSPHERE: (5636..5637) \" \"\n CONSTANT: (5637..5639)\n BOOLEAN: (5637..5639) \"#t\"\n ATMOSPHERE: (5639..5640) \" \"\n FORM: (5640..5660)\n OPEN_PAREN: (5640..5641) \"(\"\n SYMBOL: (5641..5643)\n IDENTIFIER: (5641..5643) \"or\"\n ATMOSPHERE: (5643..5644) \" \"\n FORM: (5644..5651)\n OPEN_PAREN: (5644..5645) \"(\"\n SYMBOL: (5645..5646)\n IDENTIFIER: (5645..5646) \"=\"\n ATMOSPHERE: (5646..5647) \" \"\n CONSTANT: (5647..5648)\n NUMBER: (5647..5648) \"2\"\n ATMOSPHERE: (5648..5649) \" \"\n CONSTANT: (5649..5650)\n NUMBER: (5649..5650) \"2\"\n CLOSE_PAREN: (5650..5651) \")\"\n ATMOSPHERE: (5651..5652) \" \"\n FORM: (5652..5659)\n OPEN_PAREN: (5652..5653) \"(\"\n SYMBOL: (5653..5654)\n IDENTIFIER: (5653..5654) \"<\"\n ATMOSPHERE: (5654..5655) \" \"\n CONSTANT: (5655..5656)\n NUMBER: (5655..5656) \"2\"\n ATMOSPHERE: (5656..5657) \" \"\n CONSTANT: (5657..5658)\n NUMBER: (5657..5658) \"1\"\n CLOSE_PAREN: (5658..5659) \")\"\n CLOSE_PAREN: (5659..5660) \")\"\n CLOSE_PAREN: (5660..5661) \")\"\n ATMOSPHERE: (5661..5662) \"\n\"\n FORM: (5662..5685)\n OPEN_PAREN: (5662..5663) \"(\"\n SYMBOL: (5663..5667)\n IDENTIFIER: (5663..5667) \"test\"\n ATMOSPHERE: (5667..5668) \" \"\n CONSTANT: (5668..5670)\n BOOLEAN: (5668..5670) \"#f\"\n ATMOSPHERE: (5670..5671) \" \"\n FORM: (5671..5684)\n OPEN_PAREN: (5671..5672) \"(\"\n SYMBOL: (5672..5674)\n IDENTIFIER: (5672..5674) \"or\"\n ATMOSPHERE: (5674..5675) \" \"\n CONSTANT: (5675..5677)\n BOOLEAN: (5675..5677) \"#f\"\n ATMOSPHERE: (5677..5678) \" \"\n CONSTANT: (5678..5680)\n BOOLEAN: (5678..5680) \"#f\"\n ATMOSPHERE: (5680..5681) \" \"\n CONSTANT: (5681..5683)\n BOOLEAN: (5681..5683) \"#f\"\n CLOSE_PAREN: (5683..5684) \")\"\n CLOSE_PAREN: (5684..5685) \")\"\n ATMOSPHERE: (5685..5686) \"\n\"\n FORM: (5686..5759)\n OPEN_PAREN: (5686..5687) \"(\"\n SYMBOL: (5687..5691)\n IDENTIFIER: (5687..5691) \"test\"\n ATMOSPHERE: (5691..5692) \" \"\n QUOTED_DATUM: (5692..5699)\n QUOTE: (5692..5693) \"'\"\n FORM: (5693..5698)\n OPEN_PAREN: (5693..5694) \"(\"\n SYMBOL: (5694..5695)\n IDENTIFIER: (5694..5695) \"b\"\n ATMOSPHERE: (5695..5696) \" \"\n SYMBOL: (5696..5697)\n IDENTIFIER: (5696..5697) \"c\"\n CLOSE_PAREN: (5697..5698) \")\"\n ATMOSPHERE: (5698..5699) \" \"\n FORM: (5699..5758)\n OPEN_PAREN: (5699..5700) \"(\"\n SYMBOL: (5700..5702)\n IDENTIFIER: (5700..5702) \"or\"\n ATMOSPHERE: (5702..5703) \" \"\n FORM: (5703..5721)\n OPEN_PAREN: (5703..5704) \"(\"\n SYMBOL: (5704..5708)\n IDENTIFIER: (5704..5708) \"memq\"\n ATMOSPHERE: (5708..5709) \" \"\n QUOTED_DATUM: (5709..5712)\n QUOTE: (5709..5710) \"'\"\n SYMBOL: (5710..5711)\n IDENTIFIER: (5710..5711) \"b\"\n ATMOSPHERE: (5711..5712) \" \"\n QUOTED_DATUM: (5712..5720)\n QUOTE: (5712..5713) \"'\"\n FORM: (5713..5720)\n OPEN_PAREN: (5713..5714) \"(\"\n SYMBOL: (5714..5715)\n IDENTIFIER: (5714..5715) \"a\"\n ATMOSPHERE: (5715..5716) \" \"\n SYMBOL: (5716..5717)\n IDENTIFIER: (5716..5717) \"b\"\n ATMOSPHERE: (5717..5718) \" \"\n SYMBOL: (5718..5719)\n IDENTIFIER: (5718..5719) \"c\"\n CLOSE_PAREN: (5719..5720) \")\"\n CLOSE_PAREN: (5720..5721) \")\"\n ATMOSPHERE: (5721..5722) \" \"\n ATMOSPHERE: (5722..5745) \";; FIXME: No `memq` yet\"\n ATMOSPHERE: (5745..5750) \"\n \"\n FORM: (5750..5757)\n OPEN_PAREN: (5750..5751) \"(\"\n SYMBOL: (5751..5752)\n IDENTIFIER: (5751..5752) \"/\"\n ATMOSPHERE: (5752..5753) \" \"\n CONSTANT: (5753..5754)\n NUMBER: (5753..5754) \"3\"\n ATMOSPHERE: (5754..5755) \" \"\n CONSTANT: (5755..5756)\n NUMBER: (5755..5756) \"0\"\n CLOSE_PAREN: (5756..5757) \")\"\n CLOSE_PAREN: (5757..5758) \")\"\n CLOSE_PAREN: (5758..5759) \")\"\n ATMOSPHERE: (5759..5761) \"\n\n\"\n FORM: (5761..5799)\n OPEN_PAREN: (5761..5762) \"(\"\n SYMBOL: (5762..5766)\n IDENTIFIER: (5762..5766) \"test\"\n ATMOSPHERE: (5766..5767) \" \"\n CONSTANT: (5767..5768)\n NUMBER: (5767..5768) \"6\"\n ATMOSPHERE: (5768..5769) \" \"\n FORM: (5769..5798)\n OPEN_PAREN: (5769..5770) \"(\"\n SYMBOL: (5770..5773)\n IDENTIFIER: (5770..5773) \"let\"\n ATMOSPHERE: (5773..5774) \" \"\n FORM: (5774..5787)\n OPEN_PAREN: (5774..5775) \"(\"\n FORM: (5775..5780)\n OPEN_PAREN: (5775..5776) \"(\"\n SYMBOL: (5776..5777)\n IDENTIFIER: (5776..5777) \"x\"\n ATMOSPHERE: (5777..5778) \" \"\n CONSTANT: (5778..5779)\n NUMBER: (5778..5779) \"2\"\n CLOSE_PAREN: (5779..5780) \")\"\n ATMOSPHERE: (5780..5781) \" \"\n FORM: (5781..5786)\n OPEN_PAREN: (5781..5782) \"(\"\n SYMBOL: (5782..5783)\n IDENTIFIER: (5782..5783) \"y\"\n ATMOSPHERE: (5783..5784) \" \"\n CONSTANT: (5784..5785)\n NUMBER: (5784..5785) \"3\"\n CLOSE_PAREN: (5785..5786) \")\"\n CLOSE_PAREN: (5786..5787) \")\"\n ATMOSPHERE: (5787..5790) \"\n \"\n FORM: (5790..5797)\n OPEN_PAREN: (5790..5791) \"(\"\n SYMBOL: (5791..5792)\n IDENTIFIER: (5791..5792) \"*\"\n ATMOSPHERE: (5792..5793) \" \"\n SYMBOL: (5793..5794)\n IDENTIFIER: (5793..5794) \"x\"\n ATMOSPHERE: (5794..5795) \" \"\n SYMBOL: (5795..5796)\n IDENTIFIER: (5795..5796) \"y\"\n CLOSE_PAREN: (5796..5797) \")\"\n CLOSE_PAREN: (5797..5798) \")\"\n CLOSE_PAREN: (5798..5799) \")\"\n ATMOSPHERE: (5799..5801) \"\n\n\"\n FORM: (5801..5878)\n OPEN_PAREN: (5801..5802) \"(\"\n SYMBOL: (5802..5806)\n IDENTIFIER: (5802..5806) \"test\"\n ATMOSPHERE: (5806..5807) \" \"\n CONSTANT: (5807..5809)\n NUMBER: (5807..5809) \"35\"\n ATMOSPHERE: (5809..5810) \" \"\n FORM: (5810..5877)\n OPEN_PAREN: (5810..5811) \"(\"\n SYMBOL: (5811..5814)\n IDENTIFIER: (5811..5814) \"let\"\n ATMOSPHERE: (5814..5815) \" \"\n FORM: (5815..5828)\n OPEN_PAREN: (5815..5816) \"(\"\n FORM: (5816..5821)\n OPEN_PAREN: (5816..5817) \"(\"\n SYMBOL: (5817..5818)\n IDENTIFIER: (5817..5818) \"x\"\n ATMOSPHERE: (5818..5819) \" \"\n CONSTANT: (5819..5820)\n NUMBER: (5819..5820) \"2\"\n CLOSE_PAREN: (5820..5821) \")\"\n ATMOSPHERE: (5821..5822) \" \"\n FORM: (5822..5827)\n OPEN_PAREN: (5822..5823) \"(\"\n SYMBOL: (5823..5824)\n IDENTIFIER: (5823..5824) \"y\"\n ATMOSPHERE: (5824..5825) \" \"\n CONSTANT: (5825..5826)\n NUMBER: (5825..5826) \"3\"\n CLOSE_PAREN: (5826..5827) \")\"\n CLOSE_PAREN: (5827..5828) \")\"\n ATMOSPHERE: (5828..5831) \"\n \"\n FORM: (5831..5876)\n OPEN_PAREN: (5831..5832) \"(\"\n SYMBOL: (5832..5835)\n IDENTIFIER: (5832..5835) \"let\"\n ATMOSPHERE: (5835..5836) \" \"\n FORM: (5836..5863)\n OPEN_PAREN: (5836..5837) \"(\"\n FORM: (5837..5842)\n OPEN_PAREN: (5837..5838) \"(\"\n SYMBOL: (5838..5839)\n IDENTIFIER: (5838..5839) \"x\"\n ATMOSPHERE: (5839..5840) \" \"\n CONSTANT: (5840..5841)\n NUMBER: (5840..5841) \"7\"\n CLOSE_PAREN: (5841..5842) \")\"\n ATMOSPHERE: (5842..5851) \"\n \"\n FORM: (5851..5862)\n OPEN_PAREN: (5851..5852) \"(\"\n SYMBOL: (5852..5853)\n IDENTIFIER: (5852..5853) \"z\"\n ATMOSPHERE: (5853..5854) \" \"\n FORM: (5854..5861)\n OPEN_PAREN: (5854..5855) \"(\"\n SYMBOL: (5855..5856)\n IDENTIFIER: (5855..5856) \"+\"\n ATMOSPHERE: (5856..5857) \" \"\n SYMBOL: (5857..5858)\n IDENTIFIER: (5857..5858) \"x\"\n ATMOSPHERE: (5858..5859) \" \"\n SYMBOL: (5859..5860)\n IDENTIFIER: (5859..5860) \"y\"\n CLOSE_PAREN: (5860..5861) \")\"\n CLOSE_PAREN: (5861..5862) \")\"\n CLOSE_PAREN: (5862..5863) \")\"\n ATMOSPHERE: (5863..5868) \"\n \"\n FORM: (5868..5875)\n OPEN_PAREN: (5868..5869) \"(\"\n SYMBOL: (5869..5870)\n IDENTIFIER: (5869..5870) \"*\"\n ATMOSPHERE: (5870..5871) \" \"\n SYMBOL: (5871..5872)\n IDENTIFIER: (5871..5872) \"z\"\n ATMOSPHERE: (5872..5873) \" \"\n SYMBOL: (5873..5874)\n IDENTIFIER: (5873..5874) \"x\"\n CLOSE_PAREN: (5874..5875) \")\"\n CLOSE_PAREN: (5875..5876) \")\"\n CLOSE_PAREN: (5876..5877) \")\"\n CLOSE_PAREN: (5877..5878) \")\"\n ATMOSPHERE: (5878..5880) \"\n\n\"\n FORM: (5880..5959)\n OPEN_PAREN: (5880..5881) \"(\"\n SYMBOL: (5881..5885)\n IDENTIFIER: (5881..5885) \"test\"\n ATMOSPHERE: (5885..5886) \" \"\n CONSTANT: (5886..5888)\n NUMBER: (5886..5888) \"70\"\n ATMOSPHERE: (5888..5889) \" \"\n FORM: (5889..5958)\n OPEN_PAREN: (5889..5890) \"(\"\n SYMBOL: (5890..5893)\n IDENTIFIER: (5890..5893) \"let\"\n ATMOSPHERE: (5893..5894) \" \"\n FORM: (5894..5907)\n OPEN_PAREN: (5894..5895) \"(\"\n FORM: (5895..5900)\n OPEN_PAREN: (5895..5896) \"(\"\n SYMBOL: (5896..5897)\n IDENTIFIER: (5896..5897) \"x\"\n ATMOSPHERE: (5897..5898) \" \"\n CONSTANT: (5898..5899)\n NUMBER: (5898..5899) \"2\"\n CLOSE_PAREN: (5899..5900) \")\"\n ATMOSPHERE: (5900..5901) \" \"\n FORM: (5901..5906)\n OPEN_PAREN: (5901..5902) \"(\"\n SYMBOL: (5902..5903)\n IDENTIFIER: (5902..5903) \"y\"\n ATMOSPHERE: (5903..5904) \" \"\n CONSTANT: (5904..5905)\n NUMBER: (5904..5905) \"3\"\n CLOSE_PAREN: (5905..5906) \")\"\n CLOSE_PAREN: (5906..5907) \")\"\n ATMOSPHERE: (5907..5910) \"\n \"\n FORM: (5910..5957)\n OPEN_PAREN: (5910..5911) \"(\"\n SYMBOL: (5911..5915)\n IDENTIFIER: (5911..5915) \"let*\"\n ATMOSPHERE: (5915..5916) \" \"\n FORM: (5916..5944)\n OPEN_PAREN: (5916..5917) \"(\"\n FORM: (5917..5922)\n OPEN_PAREN: (5917..5918) \"(\"\n SYMBOL: (5918..5919)\n IDENTIFIER: (5918..5919) \"x\"\n ATMOSPHERE: (5919..5920) \" \"\n CONSTANT: (5920..5921)\n NUMBER: (5920..5921) \"7\"\n CLOSE_PAREN: (5921..5922) \")\"\n ATMOSPHERE: (5922..5932) \"\n \"\n FORM: (5932..5943)\n OPEN_PAREN: (5932..5933) \"(\"\n SYMBOL: (5933..5934)\n IDENTIFIER: (5933..5934) \"z\"\n ATMOSPHERE: (5934..5935) \" \"\n FORM: (5935..5942)\n OPEN_PAREN: (5935..5936) \"(\"\n SYMBOL: (5936..5937)\n IDENTIFIER: (5936..5937) \"+\"\n ATMOSPHERE: (5937..5938) \" \"\n SYMBOL: (5938..5939)\n IDENTIFIER: (5938..5939) \"x\"\n ATMOSPHERE: (5939..5940) \" \"\n SYMBOL: (5940..5941)\n IDENTIFIER: (5940..5941) \"y\"\n CLOSE_PAREN: (5941..5942) \")\"\n CLOSE_PAREN: (5942..5943) \")\"\n CLOSE_PAREN: (5943..5944) \")\"\n ATMOSPHERE: (5944..5949) \"\n \"\n FORM: (5949..5956)\n OPEN_PAREN: (5949..5950) \"(\"\n SYMBOL: (5950..5951)\n IDENTIFIER: (5950..5951) \"*\"\n ATMOSPHERE: (5951..5952) \" \"\n SYMBOL: (5952..5953)\n IDENTIFIER: (5952..5953) \"z\"\n ATMOSPHERE: (5953..5954) \" \"\n SYMBOL: (5954..5955)\n IDENTIFIER: (5954..5955) \"x\"\n CLOSE_PAREN: (5955..5956) \")\"\n CLOSE_PAREN: (5956..5957) \")\"\n CLOSE_PAREN: (5957..5958) \")\"\n CLOSE_PAREN: (5958..5959) \")\"\n ATMOSPHERE: (5959..5961) \"\n\n\"\n FORM: (5961..6263)\n OPEN_PAREN: (5961..5962) \"(\"\n SYMBOL: (5962..5966)\n IDENTIFIER: (5962..5966) \"test\"\n ATMOSPHERE: (5966..5967) \" \"\n CONSTANT: (5967..5969)\n BOOLEAN: (5967..5969) \"#t\"\n ATMOSPHERE: (5969..5974) \"\n \"\n FORM: (5974..6262)\n OPEN_PAREN: (5974..5975) \"(\"\n SYMBOL: (5975..5981)\n IDENTIFIER: (5975..5981) \"letrec\"\n ATMOSPHERE: (5981..5982) \" \"\n FORM: (5982..6244)\n OPEN_PAREN: (5982..5983) \"(\"\n FORM: (5983..6106)\n OPEN_PAREN: (5983..5984) \"(\"\n SYMBOL: (5984..5989)\n IDENTIFIER: (5984..5989) \"even?\"\n ATMOSPHERE: (5989..6004) \"\n \"\n FORM: (6004..6105)\n OPEN_PAREN: (6004..6005) \"(\"\n SYMBOL: (6005..6011)\n IDENTIFIER: (6005..6011) \"lambda\"\n ATMOSPHERE: (6011..6012) \" \"\n FORM: (6012..6015)\n OPEN_PAREN: (6012..6013) \"(\"\n SYMBOL: (6013..6014)\n IDENTIFIER: (6013..6014) \"n\"\n CLOSE_PAREN: (6014..6015) \")\"\n ATMOSPHERE: (6015..6032) \"\n \"\n FORM: (6032..6104)\n OPEN_PAREN: (6032..6033) \"(\"\n SYMBOL: (6033..6035)\n IDENTIFIER: (6033..6035) \"if\"\n ATMOSPHERE: (6035..6036) \" \"\n FORM: (6036..6045)\n OPEN_PAREN: (6036..6037) \"(\"\n SYMBOL: (6037..6042)\n IDENTIFIER: (6037..6042) \"zero?\"\n ATMOSPHERE: (6042..6043) \" \"\n SYMBOL: (6043..6044)\n IDENTIFIER: (6043..6044) \"n\"\n CLOSE_PAREN: (6044..6045) \")\"\n ATMOSPHERE: (6045..6066) \"\n \"\n CONSTANT: (6066..6068)\n BOOLEAN: (6066..6068) \"#t\"\n ATMOSPHERE: (6068..6089) \"\n \"\n FORM: (6089..6103)\n OPEN_PAREN: (6089..6090) \"(\"\n SYMBOL: (6090..6094)\n IDENTIFIER: (6090..6094) \"odd?\"\n ATMOSPHERE: (6094..6095) \" \"\n FORM: (6095..6102)\n OPEN_PAREN: (6095..6096) \"(\"\n SYMBOL: (6096..6097)\n IDENTIFIER: (6096..6097) \"-\"\n ATMOSPHERE: (6097..6098) \" \"\n SYMBOL: (6098..6099)\n IDENTIFIER: (6098..6099) \"n\"\n ATMOSPHERE: (6099..6100) \" \"\n CONSTANT: (6100..6101)\n NUMBER: (6100..6101) \"1\"\n CLOSE_PAREN: (6101..6102) \")\"\n CLOSE_PAREN: (6102..6103) \")\"\n CLOSE_PAREN: (6103..6104) \")\"\n CLOSE_PAREN: (6104..6105) \")\"\n CLOSE_PAREN: (6105..6106) \")\"\n ATMOSPHERE: (6106..6120) \"\n \"\n FORM: (6120..6243)\n OPEN_PAREN: (6120..6121) \"(\"\n SYMBOL: (6121..6125)\n IDENTIFIER: (6121..6125) \"odd?\"\n ATMOSPHERE: (6125..6140) \"\n \"\n FORM: (6140..6242)\n OPEN_PAREN: (6140..6141) \"(\"\n SYMBOL: (6141..6147)\n IDENTIFIER: (6141..6147) \"lambda\"\n ATMOSPHERE: (6147..6148) \" \"\n FORM: (6148..6151)\n OPEN_PAREN: (6148..6149) \"(\"\n SYMBOL: (6149..6150)\n IDENTIFIER: (6149..6150) \"n\"\n CLOSE_PAREN: (6150..6151) \")\"\n ATMOSPHERE: (6151..6168) \"\n \"\n FORM: (6168..6241)\n OPEN_PAREN: (6168..6169) \"(\"\n SYMBOL: (6169..6171)\n IDENTIFIER: (6169..6171) \"if\"\n ATMOSPHERE: (6171..6172) \" \"\n FORM: (6172..6181)\n OPEN_PAREN: (6172..6173) \"(\"\n SYMBOL: (6173..6178)\n IDENTIFIER: (6173..6178) \"zero?\"\n ATMOSPHERE: (6178..6179) \" \"\n SYMBOL: (6179..6180)\n IDENTIFIER: (6179..6180) \"n\"\n CLOSE_PAREN: (6180..6181) \")\"\n ATMOSPHERE: (6181..6202) \"\n \"\n CONSTANT: (6202..6204)\n BOOLEAN: (6202..6204) \"#f\"\n ATMOSPHERE: (6204..6225) \"\n \"\n FORM: (6225..6240)\n OPEN_PAREN: (6225..6226) \"(\"\n SYMBOL: (6226..6231)\n IDENTIFIER: (6226..6231) \"even?\"\n ATMOSPHERE: (6231..6232) \" \"\n FORM: (6232..6239)\n OPEN_PAREN: (6232..6233) \"(\"\n SYMBOL: (6233..6234)\n IDENTIFIER: (6233..6234) \"-\"\n ATMOSPHERE: (6234..6235) \" \"\n SYMBOL: (6235..6236)\n IDENTIFIER: (6235..6236) \"n\"\n ATMOSPHERE: (6236..6237) \" \"\n CONSTANT: (6237..6238)\n NUMBER: (6237..6238) \"1\"\n CLOSE_PAREN: (6238..6239) \")\"\n CLOSE_PAREN: (6239..6240) \")\"\n CLOSE_PAREN: (6240..6241) \")\"\n CLOSE_PAREN: (6241..6242) \")\"\n CLOSE_PAREN: (6242..6243) \")\"\n CLOSE_PAREN: (6243..6244) \")\"\n ATMOSPHERE: (6244..6251) \"\n \"\n FORM: (6251..6261)\n OPEN_PAREN: (6251..6252) \"(\"\n SYMBOL: (6252..6257)\n IDENTIFIER: (6252..6257) \"even?\"\n ATMOSPHERE: (6257..6258) \" \"\n CONSTANT: (6258..6260)\n NUMBER: (6258..6260) \"88\"\n CLOSE_PAREN: (6260..6261) \")\"\n CLOSE_PAREN: (6261..6262) \")\"\n CLOSE_PAREN: (6262..6263) \")\"\n ATMOSPHERE: (6263..6265) \"\n\n\"\n FORM: (6265..6555)\n OPEN_PAREN: (6265..6266) \"(\"\n SYMBOL: (6266..6270)\n IDENTIFIER: (6266..6270) \"test\"\n ATMOSPHERE: (6270..6271) \" \"\n CONSTANT: (6271..6272)\n NUMBER: (6271..6272) \"5\"\n ATMOSPHERE: (6272..6277) \"\n \"\n FORM: (6277..6554)\n OPEN_PAREN: (6277..6278) \"(\"\n SYMBOL: (6278..6285)\n IDENTIFIER: (6278..6285) \"letrec*\"\n ATMOSPHERE: (6285..6286) \" \"\n FORM: (6286..6538)\n OPEN_PAREN: (6286..6287) \"(\"\n FORM: (6287..6353)\n OPEN_PAREN: (6287..6288) \"(\"\n SYMBOL: (6288..6289)\n IDENTIFIER: (6288..6289) \"p\"\n ATMOSPHERE: (6289..6305) \"\n \"\n FORM: (6305..6352)\n OPEN_PAREN: (6305..6306) \"(\"\n SYMBOL: (6306..6312)\n IDENTIFIER: (6306..6312) \"lambda\"\n ATMOSPHERE: (6312..6313) \" \"\n FORM: (6313..6316)\n OPEN_PAREN: (6313..6314) \"(\"\n SYMBOL: (6314..6315)\n IDENTIFIER: (6314..6315) \"x\"\n CLOSE_PAREN: (6315..6316) \")\"\n ATMOSPHERE: (6316..6334) \"\n \"\n FORM: (6334..6351)\n OPEN_PAREN: (6334..6335) \"(\"\n SYMBOL: (6335..6336)\n IDENTIFIER: (6335..6336) \"+\"\n ATMOSPHERE: (6336..6337) \" \"\n CONSTANT: (6337..6338)\n NUMBER: (6337..6338) \"1\"\n ATMOSPHERE: (6338..6339) \" \"\n FORM: (6339..6350)\n OPEN_PAREN: (6339..6340) \"(\"\n SYMBOL: (6340..6341)\n IDENTIFIER: (6340..6341) \"q\"\n ATMOSPHERE: (6341..6342) \" \"\n FORM: (6342..6349)\n OPEN_PAREN: (6342..6343) \"(\"\n SYMBOL: (6343..6344)\n IDENTIFIER: (6343..6344) \"-\"\n ATMOSPHERE: (6344..6345) \" \"\n SYMBOL: (6345..6346)\n IDENTIFIER: (6345..6346) \"x\"\n ATMOSPHERE: (6346..6347) \" \"\n CONSTANT: (6347..6348)\n NUMBER: (6347..6348) \"1\"\n CLOSE_PAREN: (6348..6349) \")\"\n CLOSE_PAREN: (6349..6350) \")\"\n CLOSE_PAREN: (6350..6351) \")\"\n CLOSE_PAREN: (6351..6352) \")\"\n CLOSE_PAREN: (6352..6353) \")\"\n ATMOSPHERE: (6353..6368) \"\n \"\n FORM: (6368..6493)\n OPEN_PAREN: (6368..6369) \"(\"\n SYMBOL: (6369..6370)\n IDENTIFIER: (6369..6370) \"q\"\n ATMOSPHERE: (6370..6386) \"\n \"\n FORM: (6386..6492)\n OPEN_PAREN: (6386..6387) \"(\"\n SYMBOL: (6387..6393)\n IDENTIFIER: (6387..6393) \"lambda\"\n ATMOSPHERE: (6393..6394) \" \"\n FORM: (6394..6397)\n OPEN_PAREN: (6394..6395) \"(\"\n SYMBOL: (6395..6396)\n IDENTIFIER: (6395..6396) \"y\"\n CLOSE_PAREN: (6396..6397) \")\"\n ATMOSPHERE: (6397..6415) \"\n \"\n FORM: (6415..6491)\n OPEN_PAREN: (6415..6416) \"(\"\n SYMBOL: (6416..6418)\n IDENTIFIER: (6416..6418) \"if\"\n ATMOSPHERE: (6418..6419) \" \"\n FORM: (6419..6428)\n OPEN_PAREN: (6419..6420) \"(\"\n SYMBOL: (6420..6425)\n IDENTIFIER: (6420..6425) \"zero?\"\n ATMOSPHERE: (6425..6426) \" \"\n SYMBOL: (6426..6427)\n IDENTIFIER: (6426..6427) \"y\"\n CLOSE_PAREN: (6427..6428) \")\"\n ATMOSPHERE: (6428..6450) \"\n \"\n CONSTANT: (6450..6451)\n NUMBER: (6450..6451) \"0\"\n ATMOSPHERE: (6451..6473) \"\n \"\n FORM: (6473..6490)\n OPEN_PAREN: (6473..6474) \"(\"\n SYMBOL: (6474..6475)\n IDENTIFIER: (6474..6475) \"+\"\n ATMOSPHERE: (6475..6476) \" \"\n CONSTANT: (6476..6477)\n NUMBER: (6476..6477) \"1\"\n ATMOSPHERE: (6477..6478) \" \"\n FORM: (6478..6489)\n OPEN_PAREN: (6478..6479) \"(\"\n SYMBOL: (6479..6480)\n IDENTIFIER: (6479..6480) \"p\"\n ATMOSPHERE: (6480..6481) \" \"\n FORM: (6481..6488)\n OPEN_PAREN: (6481..6482) \"(\"\n SYMBOL: (6482..6483)\n IDENTIFIER: (6482..6483) \"-\"\n ATMOSPHERE: (6483..6484) \" \"\n SYMBOL: (6484..6485)\n IDENTIFIER: (6484..6485) \"y\"\n ATMOSPHERE: (6485..6486) \" \"\n CONSTANT: (6486..6487)\n NUMBER: (6486..6487) \"1\"\n CLOSE_PAREN: (6487..6488) \")\"\n CLOSE_PAREN: (6488..6489) \")\"\n CLOSE_PAREN: (6489..6490) \")\"\n CLOSE_PAREN: (6490..6491) \")\"\n CLOSE_PAREN: (6491..6492) \")\"\n CLOSE_PAREN: (6492..6493) \")\"\n ATMOSPHERE: (6493..6508) \"\n \"\n FORM: (6508..6517)\n OPEN_PAREN: (6508..6509) \"(\"\n SYMBOL: (6509..6510)\n IDENTIFIER: (6509..6510) \"x\"\n ATMOSPHERE: (6510..6511) \" \"\n FORM: (6511..6516)\n OPEN_PAREN: (6511..6512) \"(\"\n SYMBOL: (6512..6513)\n IDENTIFIER: (6512..6513) \"p\"\n ATMOSPHERE: (6513..6514) \" \"\n CONSTANT: (6514..6515)\n NUMBER: (6514..6515) \"5\"\n CLOSE_PAREN: (6515..6516) \")\"\n CLOSE_PAREN: (6516..6517) \")\"\n ATMOSPHERE: (6517..6532) \"\n \"\n FORM: (6532..6537)\n OPEN_PAREN: (6532..6533) \"(\"\n SYMBOL: (6533..6534)\n IDENTIFIER: (6533..6534) \"y\"\n ATMOSPHERE: (6534..6535) \" \"\n SYMBOL: (6535..6536)\n IDENTIFIER: (6535..6536) \"x\"\n CLOSE_PAREN: (6536..6537) \")\"\n CLOSE_PAREN: (6537..6538) \")\"\n ATMOSPHERE: (6538..6552) \"\n \"\n SYMBOL: (6552..6553)\n IDENTIFIER: (6552..6553) \"y\"\n CLOSE_PAREN: (6553..6554) \")\"\n CLOSE_PAREN: (6554..6555) \")\"\n ATMOSPHERE: (6555..6558) \"\n\n\n\"\n ATMOSPHERE: (6558..6590) \";;; FIXME: `let*values` support.\"\n ATMOSPHERE: (6590..6591) \"\n\"\n ATMOSPHERE: (6591..6645) \";; ;; By Jussi Piitulainen \"\n ATMOSPHERE: (6645..6646) \"\n\"\n ATMOSPHERE: (6646..6692) \";; ;; and John Cowan :\"\n ATMOSPHERE: (6692..6693) \"\n\"\n ATMOSPHERE: (6693..6781) \";; ;; http://lists.scheme-reports.org/pipermail/scheme-reports/2013-December/003876.html\"\n ATMOSPHERE: (6781..6782) \"\n\"\n ATMOSPHERE: (6782..6804) \";; (define (means ton)\"\n ATMOSPHERE: (6804..6805) \"\n\"\n ATMOSPHERE: (6805..6818) \";; (letrec*\"\n ATMOSPHERE: (6818..6819) \"\n\"\n ATMOSPHERE: (6819..6833) \";; ((mean\"\n ATMOSPHERE: (6833..6834) \"\n\"\n ATMOSPHERE: (6834..6858) \";; (lambda (f g)\"\n ATMOSPHERE: (6858..6859) \"\n\"\n ATMOSPHERE: (6859..6895) \";; (f (/ (sum g ton) n))))\"\n ATMOSPHERE: (6895..6896) \"\n\"\n ATMOSPHERE: (6896..6909) \";; (sum\"\n ATMOSPHERE: (6909..6910) \"\n\"\n ATMOSPHERE: (6910..6936) \";; (lambda (g ton)\"\n ATMOSPHERE: (6936..6937) \"\n\"\n ATMOSPHERE: (6937..6965) \";; (if (null? ton)\"\n ATMOSPHERE: (6965..6966) \"\n\"\n ATMOSPHERE: (6966..6984) \";; (+)\"\n ATMOSPHERE: (6984..6985) \"\n\"\n ATMOSPHERE: (6985..7017) \";; (if (number? ton)\"\n ATMOSPHERE: (7017..7018) \"\n\"\n ATMOSPHERE: (7018..7044) \";; (g ton)\"\n ATMOSPHERE: (7044..7045) \"\n\"\n ATMOSPHERE: (7045..7084) \";; (+ (sum g (car ton))\"\n ATMOSPHERE: (7084..7085) \"\n\"\n ATMOSPHERE: (7085..7129) \";; (sum g (cdr ton)))))))\"\n ATMOSPHERE: (7129..7130) \"\n\"\n ATMOSPHERE: (7130..7168) \";; (n (sum (lambda (x) 1) ton)))\"\n ATMOSPHERE: (7168..7169) \"\n\"\n ATMOSPHERE: (7169..7204) \";; (values (mean values values)\"\n ATMOSPHERE: (7204..7205) \"\n\"\n ATMOSPHERE: (7205..7234) \";; (mean exp log)\"\n ATMOSPHERE: (7234..7235) \"\n\"\n ATMOSPHERE: (7235..7263) \";; (mean / /))))\"\n ATMOSPHERE: (7263..7264) \"\n\"\n ATMOSPHERE: (7264..7314) \";; (let*-values (((a b c) (means '(8 5 99 1 22))))\"\n ATMOSPHERE: (7314..7315) \"\n\"\n ATMOSPHERE: (7315..7331) \";; (test 27 a)\"\n ATMOSPHERE: (7331..7332) \"\n\"\n ATMOSPHERE: (7332..7351) \";; (test 9.728 b)\"\n ATMOSPHERE: (7351..7352) \"\n\"\n ATMOSPHERE: (7352..7375) \";; (test 1800/497 c))\"\n ATMOSPHERE: (7375..7377) \"\n\n\"\n ATMOSPHERE: (7377..7431) \";; (let*-values (((root rem) (exact-integer-sqrt 32)))\"\n ATMOSPHERE: (7431..7432) \"\n\"\n ATMOSPHERE: (7432..7460) \";; (test 35 (* root rem)))\"\n ATMOSPHERE: (7460..7462) \"\n\n\"\n ATMOSPHERE: (7462..7486) \";; (test '(1073741824 0)\"\n ATMOSPHERE: (7486..7487) \"\n\"\n ATMOSPHERE: (7487..7554) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 60))))\"\n ATMOSPHERE: (7554..7555) \"\n\"\n ATMOSPHERE: (7555..7581) \";; (list root rem)))\"\n ATMOSPHERE: (7581..7583) \"\n\n\"\n ATMOSPHERE: (7583..7616) \";; (test '(1518500249 3000631951)\"\n ATMOSPHERE: (7616..7617) \"\n\"\n ATMOSPHERE: (7617..7684) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 61))))\"\n ATMOSPHERE: (7684..7685) \"\n\"\n ATMOSPHERE: (7685..7711) \";; (list root rem)))\"\n ATMOSPHERE: (7711..7713) \"\n\n\"\n ATMOSPHERE: (7713..7762) \";; (test '(815238614083298888 443242361398135744)\"\n ATMOSPHERE: (7762..7763) \"\n\"\n ATMOSPHERE: (7763..7831) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 119))))\"\n ATMOSPHERE: (7831..7832) \"\n\"\n ATMOSPHERE: (7832..7858) \";; (list root rem)))\"\n ATMOSPHERE: (7858..7860) \"\n\n\"\n ATMOSPHERE: (7860..7893) \";; (test '(1152921504606846976 0)\"\n ATMOSPHERE: (7893..7894) \"\n\"\n ATMOSPHERE: (7894..7962) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 120))))\"\n ATMOSPHERE: (7962..7963) \"\n\"\n ATMOSPHERE: (7963..7989) \";; (list root rem)))\"\n ATMOSPHERE: (7989..7991) \"\n\n\"\n ATMOSPHERE: (7991..8042) \";; (test '(1630477228166597776 1772969445592542976)\"\n ATMOSPHERE: (8042..8043) \"\n\"\n ATMOSPHERE: (8043..8111) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 121))))\"\n ATMOSPHERE: (8111..8112) \"\n\"\n ATMOSPHERE: (8112..8138) \";; (list root rem)))\"\n ATMOSPHERE: (8138..8140) \"\n\n\"\n ATMOSPHERE: (8140..8193) \";; (test '(31622776601683793319 62545769258890964239)\"\n ATMOSPHERE: (8193..8194) \"\n\"\n ATMOSPHERE: (8194..8262) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 10 39))))\"\n ATMOSPHERE: (8262..8263) \"\n\"\n ATMOSPHERE: (8263..8289) \";; (list root rem)))\"\n ATMOSPHERE: (8289..8291) \"\n\n\"\n ATMOSPHERE: (8291..8355) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 140))))\"\n ATMOSPHERE: (8355..8356) \"\n\"\n ATMOSPHERE: (8356..8373) \";; (test 0 rem)\"\n ATMOSPHERE: (8373..8374) \"\n\"\n ATMOSPHERE: (8374..8413) \";; (test (expt 2 140) (square root)))\"\n ATMOSPHERE: (8413..8415) \"\n\n\"\n ATMOSPHERE: (8415..8469) \";; (test '(x y x y) (let ((a 'a) (b 'b) (x 'x) (y 'y))\"\n ATMOSPHERE: (8469..8470) \"\n\"\n ATMOSPHERE: (8470..8509) \";; (let*-values (((a b) (values x y))\"\n ATMOSPHERE: (8509..8510) \"\n\"\n ATMOSPHERE: (8510..8550) \";; ((x y) (values a b)))\"\n ATMOSPHERE: (8550..8551) \"\n\"\n ATMOSPHERE: (8551..8575) \";; (list a b x y))))\"\n ATMOSPHERE: (8575..8577) \"\n\n\"\n ATMOSPHERE: (8577..8610) \";; (test 'ok (let-values () 'ok))\"\n ATMOSPHERE: (8610..8612) \"\n\n\"\n ATMOSPHERE: (8612..8635) \";; (test 1 (let ((x 1))\"\n ATMOSPHERE: (8635..8636) \"\n\"\n ATMOSPHERE: (8636..8657) \";; \t (let*-values ()\"\n ATMOSPHERE: (8657..8658) \"\n\"\n ATMOSPHERE: (8658..8678) \";; \t (define x 2)\"\n ATMOSPHERE: (8678..8679) \"\n\"\n ATMOSPHERE: (8679..8690) \";; \t #f)\"\n ATMOSPHERE: (8690..8691) \"\n\"\n ATMOSPHERE: (8691..8700) \";; \t x))\"\n ATMOSPHERE: (8700..8702) \"\n\n\"\n FORM: (8702..8757)\n OPEN_PAREN: (8702..8703) \"(\"\n SYMBOL: (8703..8706)\n IDENTIFIER: (8703..8706) \"let\"\n ATMOSPHERE: (8706..8707) \" \"\n FORM: (8707..8709)\n OPEN_PAREN: (8707..8708) \"(\"\n CLOSE_PAREN: (8708..8709) \")\"\n ATMOSPHERE: (8709..8712) \"\n \"\n FORM: (8712..8724)\n OPEN_PAREN: (8712..8713) \"(\"\n SYMBOL: (8713..8719)\n IDENTIFIER: (8713..8719) \"define\"\n ATMOSPHERE: (8719..8720) \" \"\n SYMBOL: (8720..8721)\n IDENTIFIER: (8720..8721) \"x\"\n ATMOSPHERE: (8721..8722) \" \"\n CONSTANT: (8722..8723)\n NUMBER: (8722..8723) \"0\"\n CLOSE_PAREN: (8723..8724) \")\"\n ATMOSPHERE: (8724..8727) \"\n \"\n FORM: (8727..8737)\n OPEN_PAREN: (8727..8728) \"(\"\n SYMBOL: (8728..8732)\n IDENTIFIER: (8728..8732) \"set!\"\n ATMOSPHERE: (8732..8733) \" \"\n SYMBOL: (8733..8734)\n IDENTIFIER: (8733..8734) \"x\"\n ATMOSPHERE: (8734..8735) \" \"\n CONSTANT: (8735..8736)\n NUMBER: (8735..8736) \"5\"\n CLOSE_PAREN: (8736..8737) \")\"\n ATMOSPHERE: (8737..8740) \"\n \"\n FORM: (8740..8756)\n OPEN_PAREN: (8740..8741) \"(\"\n SYMBOL: (8741..8745)\n IDENTIFIER: (8741..8745) \"test\"\n ATMOSPHERE: (8745..8746) \" \"\n CONSTANT: (8746..8747)\n NUMBER: (8746..8747) \"6\"\n ATMOSPHERE: (8747..8748) \" \"\n FORM: (8748..8755)\n OPEN_PAREN: (8748..8749) \"(\"\n SYMBOL: (8749..8750)\n IDENTIFIER: (8749..8750) \"+\"\n ATMOSPHERE: (8750..8751) \" \"\n SYMBOL: (8751..8752)\n IDENTIFIER: (8751..8752) \"x\"\n ATMOSPHERE: (8752..8753) \" \"\n CONSTANT: (8753..8754)\n NUMBER: (8753..8754) \"1\"\n CLOSE_PAREN: (8754..8755) \")\"\n CLOSE_PAREN: (8755..8756) \")\"\n CLOSE_PAREN: (8756..8757) \")\"\n ATMOSPHERE: (8757..8759) \"\n\n\"\n ATMOSPHERE: (8759..8782) \";;; FIXME: `do` support\"\n ATMOSPHERE: (8782..8783) \"\n\"\n ATMOSPHERE: (8783..8831) \";; (test #(0 1 2 3 4) (do ((vec (make-vector 5))\"\n ATMOSPHERE: (8831..8832) \"\n\"\n ATMOSPHERE: (8832..8854) \";; (i 0 (+ i 1)))\"\n ATMOSPHERE: (8854..8855) \"\n\"\n ATMOSPHERE: (8855..8875) \";; ((= i 5) vec)\"\n ATMOSPHERE: (8875..8876) \"\n\"\n ATMOSPHERE: (8876..8904) \";; (vector-set! vec i i)))\"\n ATMOSPHERE: (8904..8906) \"\n\n\"\n ATMOSPHERE: (8906..8941) \";; (test 25 (let ((x '(1 3 5 7 9)))\"\n ATMOSPHERE: (8941..8942) \"\n\"\n ATMOSPHERE: (8942..8965) \";; (do ((x x (cdr x))\"\n ATMOSPHERE: (8965..8966) \"\n\"\n ATMOSPHERE: (8966..9000) \";; (sum 0 (+ sum (car x))))\"\n ATMOSPHERE: (9000..9001) \"\n\"\n ATMOSPHERE: (9001..9028) \";; ((null? x) sum))))\"\n ATMOSPHERE: (9028..9030) \"\n\n\"\n ATMOSPHERE: (9030..9048) \";;; FIXME: looping\"\n ATMOSPHERE: (9048..9049) \"\n\"\n ATMOSPHERE: (9049..9076) \";; (test '((6 1 3) (-5 -2))\"\n ATMOSPHERE: (9076..9077) \"\n\"\n ATMOSPHERE: (9077..9119) \";; (let loop ((numbers '(3 -2 1 6 -5))\"\n ATMOSPHERE: (9119..9120) \"\n\"\n ATMOSPHERE: (9120..9150) \";; (nonneg '())\"\n ATMOSPHERE: (9150..9151) \"\n\"\n ATMOSPHERE: (9151..9179) \";; (neg '()))\"\n ATMOSPHERE: (9179..9180) \"\n\"\n ATMOSPHERE: (9180..9230) \";; (cond ((null? numbers) (list nonneg neg))\"\n ATMOSPHERE: (9230..9231) \"\n\"\n ATMOSPHERE: (9231..9267) \";; ((>= (car numbers) 0)\"\n ATMOSPHERE: (9267..9268) \"\n\"\n ATMOSPHERE: (9268..9303) \";; (loop (cdr numbers)\"\n ATMOSPHERE: (9303..9304) \"\n\"\n ATMOSPHERE: (9304..9353) \";; (cons (car numbers) nonneg)\"\n ATMOSPHERE: (9353..9354) \"\n\"\n ATMOSPHERE: (9354..9381) \";; neg))\"\n ATMOSPHERE: (9381..9382) \"\n\"\n ATMOSPHERE: (9382..9417) \";; ((< (car numbers) 0)\"\n ATMOSPHERE: (9417..9418) \"\n\"\n ATMOSPHERE: (9418..9453) \";; (loop (cdr numbers)\"\n ATMOSPHERE: (9453..9454) \"\n\"\n ATMOSPHERE: (9454..9482) \";; nonneg\"\n ATMOSPHERE: (9482..9483) \"\n\"\n ATMOSPHERE: (9483..9534) \";; (cons (car numbers) neg))))))\"\n ATMOSPHERE: (9534..9536) \"\n\n\"\n ATMOSPHERE: (9536..9571) \";; (test 3 (force (delay (+ 1 2))))\"\n ATMOSPHERE: (9571..9573) \"\n\n\"\n ATMOSPHERE: (9573..9590) \";; (test '(3 3) \"\n ATMOSPHERE: (9590..9591) \"\n\"\n ATMOSPHERE: (9591..9624) \";; (let ((p (delay (+ 1 2))))\"\n ATMOSPHERE: (9624..9625) \"\n\"\n ATMOSPHERE: (9625..9662) \";; (list (force p) (force p))))\"\n ATMOSPHERE: (9662..9664) \"\n\n\"\n ATMOSPHERE: (9664..9683) \";; (define integers\"\n ATMOSPHERE: (9683..9684) \"\n\"\n ATMOSPHERE: (9684..9703) \";; (letrec ((next\"\n ATMOSPHERE: (9703..9704) \"\n\"\n ATMOSPHERE: (9704..9730) \";; (lambda (n)\"\n ATMOSPHERE: (9730..9731) \"\n\"\n ATMOSPHERE: (9731..9782) \";; (delay (cons n (next (+ n 1)))))))\"\n ATMOSPHERE: (9782..9783) \"\n\"\n ATMOSPHERE: (9783..9800) \";; (next 0)))\"\n ATMOSPHERE: (9800..9801) \"\n\"\n ATMOSPHERE: (9801..9816) \";; (define head\"\n ATMOSPHERE: (9816..9817) \"\n\"\n ATMOSPHERE: (9817..9861) \";; (lambda (stream) (car (force stream))))\"\n ATMOSPHERE: (9861..9862) \"\n\"\n ATMOSPHERE: (9862..9877) \";; (define tail\"\n ATMOSPHERE: (9877..9878) \"\n\"\n ATMOSPHERE: (9878..9922) \";; (lambda (stream) (cdr (force stream))))\"\n ATMOSPHERE: (9922..9924) \"\n\n\"\n ATMOSPHERE: (9924..9965) \";; (test 2 (head (tail (tail integers))))\"\n ATMOSPHERE: (9965..9967) \"\n\n\"\n ATMOSPHERE: (9967..9998) \";; (define (stream-filter p? s)\"\n ATMOSPHERE: (9998..9999) \"\n\"\n ATMOSPHERE: (9999..10016) \";; (delay-force\"\n ATMOSPHERE: (10016..10017) \"\n\"\n ATMOSPHERE: (10017..10045) \";; (if (null? (force s)) \"\n ATMOSPHERE: (10045..10046) \"\n\"\n ATMOSPHERE: (10046..10067) \";; (delay '())\"\n ATMOSPHERE: (10067..10068) \"\n\"\n ATMOSPHERE: (10068..10103) \";; (let ((h (car (force s)))\"\n ATMOSPHERE: (10103..10104) \"\n\"\n ATMOSPHERE: (10104..10140) \";; (t (cdr (force s))))\"\n ATMOSPHERE: (10140..10141) \"\n\"\n ATMOSPHERE: (10141..10163) \";; (if (p? h)\"\n ATMOSPHERE: (10163..10164) \"\n\"\n ATMOSPHERE: (10164..10217) \";; (delay (cons h (stream-filter p? t)))\"\n ATMOSPHERE: (10217..10218) \"\n\"\n ATMOSPHERE: (10218..10259) \";; (stream-filter p? t))))))\"\n ATMOSPHERE: (10259..10261) \"\n\n\"\n ATMOSPHERE: (10261..10323) \";; (test 5 (head (tail (tail (stream-filter odd? integers)))))\"\n ATMOSPHERE: (10323..10325) \"\n\n\"\n ATMOSPHERE: (10325..10335) \";; (let ()\"\n ATMOSPHERE: (10335..10336) \"\n\"\n ATMOSPHERE: (10336..10353) \";; (define x 5)\"\n ATMOSPHERE: (10353..10354) \"\n\"\n ATMOSPHERE: (10354..10375) \";; (define count 0)\"\n ATMOSPHERE: (10375..10376) \"\n\"\n ATMOSPHERE: (10376..10390) \";; (define p\"\n ATMOSPHERE: (10390..10391) \"\n\"\n ATMOSPHERE: (10391..10436) \";; (delay (begin (set! count (+ count 1))\"\n ATMOSPHERE: (10436..10437) \"\n\"\n ATMOSPHERE: (10437..10473) \";; (if (> count x)\"\n ATMOSPHERE: (10473..10474) \"\n\"\n ATMOSPHERE: (10474..10504) \";; count\"\n ATMOSPHERE: (10504..10505) \"\n\"\n ATMOSPHERE: (10505..10543) \";; (force p)))))\"\n ATMOSPHERE: (10543..10544) \"\n\"\n ATMOSPHERE: (10544..10567) \";; (test 6 (force p))\"\n ATMOSPHERE: (10567..10568) \"\n\"\n ATMOSPHERE: (10568..10612) \";; (test 6 (begin (set! x 10) (force p))))\"\n ATMOSPHERE: (10612..10614) \"\n\n\"\n ATMOSPHERE: (10614..10653) \";; (test #t (promise? (delay (+ 2 2))))\"\n ATMOSPHERE: (10653..10654) \"\n\"\n ATMOSPHERE: (10654..10700) \";; (test #t (promise? (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10700..10701) \"\n\"\n ATMOSPHERE: (10701..10712) \";; (test #t\"\n ATMOSPHERE: (10712..10713) \"\n\"\n ATMOSPHERE: (10713..10746) \";; (let ((x (delay (+ 2 2))))\"\n ATMOSPHERE: (10746..10747) \"\n\"\n ATMOSPHERE: (10747..10765) \";; (force x)\"\n ATMOSPHERE: (10765..10766) \"\n\"\n ATMOSPHERE: (10766..10789) \";; (promise? x)))\"\n ATMOSPHERE: (10789..10790) \"\n\"\n ATMOSPHERE: (10790..10801) \";; (test #t\"\n ATMOSPHERE: (10801..10802) \"\n\"\n ATMOSPHERE: (10802..10842) \";; (let ((x (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10842..10843) \"\n\"\n ATMOSPHERE: (10843..10861) \";; (force x)\"\n ATMOSPHERE: (10861..10862) \"\n\"\n ATMOSPHERE: (10862..10885) \";; (promise? x)))\"\n ATMOSPHERE: (10885..10886) \"\n\"\n ATMOSPHERE: (10886..10928) \";; (test 4 (force (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10928..10929) \"\n\"\n ATMOSPHERE: (10929..10986) \";; (test 4 (force (make-promise (make-promise (+ 2 2)))))\"\n ATMOSPHERE: (10986..10988) \"\n\n\"\n ATMOSPHERE: (10988..11004) \";; (define radix\"\n ATMOSPHERE: (11004..11005) \"\n\"\n ATMOSPHERE: (11005..11025) \";; (make-parameter\"\n ATMOSPHERE: (11025..11026) \"\n\"\n ATMOSPHERE: (11026..11034) \";; 10\"\n ATMOSPHERE: (11034..11035) \"\n\"\n ATMOSPHERE: (11035..11052) \";; (lambda (x)\"\n ATMOSPHERE: (11052..11053) \"\n\"\n ATMOSPHERE: (11053..11095) \";; (if (and (integer? x) (<= 2 x 16))\"\n ATMOSPHERE: (11095..11096) \"\n\"\n ATMOSPHERE: (11096..11109) \";; x\"\n ATMOSPHERE: (11109..11110) \"\n\"\n ATMOSPHERE: (11110..11149) \";; (error \"invalid radix\")))))\"\n ATMOSPHERE: (11149..11150) \"\n\"\n ATMOSPHERE: (11150..11194) \";; (define (f n) (number->string n (radix)))\"\n ATMOSPHERE: (11194..11195) \"\n\"\n ATMOSPHERE: (11195..11216) \";; (test \"12\" (f 12))\"\n ATMOSPHERE: (11216..11217) \"\n\"\n ATMOSPHERE: (11217..11258) \";; (test \"1100\" (parameterize ((radix 2))\"\n ATMOSPHERE: (11258..11259) \"\n\"\n ATMOSPHERE: (11259..11272) \";; (f 12)))\"\n ATMOSPHERE: (11272..11273) \"\n\"\n ATMOSPHERE: (11273..11294) \";; (test \"12\" (f 12))\"\n ATMOSPHERE: (11294..11296) \"\n\n\"\n ATMOSPHERE: (11296..11336) \";; (test '(list 3 4) `(list ,(+ 1 2) 4))\"\n ATMOSPHERE: (11336..11337) \"\n\"\n ATMOSPHERE: (11337..11405) \";; (let ((name 'a)) (test '(list a (quote a)) `(list ,name ',name)))\"\n ATMOSPHERE: (11405..11406) \"\n\"\n ATMOSPHERE: (11406..11468) \";; (test '(a 3 4 5 6 b) `(a ,(+ 1 2) ,@(map abs '(4 -5 6)) b))\"\n ATMOSPHERE: (11468..11469) \"\n\"\n ATMOSPHERE: (11469..11494) \";; (test #(10 5 4 16 9 8)\"\n ATMOSPHERE: (11494..11495) \"\n\"\n ATMOSPHERE: (11495..11547) \";; `#(10 5 ,(square 2) ,@(map square '(4 3)) 8))\"\n ATMOSPHERE: (11547..11548) \"\n\"\n ATMOSPHERE: (11548..11590) \";; (test '(a `(b ,(+ 1 2) ,(foo 4 d) e) f)\"\n ATMOSPHERE: (11590..11591) \"\n\"\n ATMOSPHERE: (11591..11640) \";; `(a `(b ,(+ 1 2) ,(foo ,(+ 1 3) d) e) f) )\"\n ATMOSPHERE: (11640..11641) \"\n\"\n ATMOSPHERE: (11641..11660) \";; (let ((name1 'x)\"\n ATMOSPHERE: (11660..11661) \"\n\"\n ATMOSPHERE: (11661..11681) \";; (name2 'y))\"\n ATMOSPHERE: (11681..11682) \"\n\"\n ATMOSPHERE: (11682..11747) \";; (test '(a `(b ,x ,'y d) e) `(a `(b ,,name1 ,',name2 d) e)))\"\n ATMOSPHERE: (11747..11748) \"\n\"\n ATMOSPHERE: (11748..11810) \";; (test '(list 3 4) (quasiquote (list (unquote (+ 1 2)) 4)) )\"\n ATMOSPHERE: (11810..11811) \"\n\"\n ATMOSPHERE: (11811..11879) \";; (test `(list ,(+ 1 2) 4) (quasiquote (list (unquote (+ 1 2)) 4)))\"\n ATMOSPHERE: (11879..11881) \"\n\n\"\n ATMOSPHERE: (11881..11896) \";; (define plus\"\n ATMOSPHERE: (11896..11897) \"\n\"\n ATMOSPHERE: (11897..11915) \";; (case-lambda \"\n ATMOSPHERE: (11915..11916) \"\n\"\n ATMOSPHERE: (11916..11928) \";; (() 0)\"\n ATMOSPHERE: (11928..11929) \"\n\"\n ATMOSPHERE: (11929..11942) \";; ((x) x)\"\n ATMOSPHERE: (11942..11943) \"\n\"\n ATMOSPHERE: (11943..11964) \";; ((x y) (+ x y))\"\n ATMOSPHERE: (11964..11965) \"\n\"\n ATMOSPHERE: (11965..11994) \";; ((x y z) (+ (+ x y) z))\"\n ATMOSPHERE: (11994..11995) \"\n\"\n ATMOSPHERE: (11995..12024) \";; (args (apply + args))))\"\n ATMOSPHERE: (12024..12026) \"\n\n\"\n ATMOSPHERE: (12026..12044) \";; (test 0 (plus))\"\n ATMOSPHERE: (12044..12045) \"\n\"\n ATMOSPHERE: (12045..12065) \";; (test 1 (plus 1))\"\n ATMOSPHERE: (12065..12066) \"\n\"\n ATMOSPHERE: (12066..12088) \";; (test 3 (plus 1 2))\"\n ATMOSPHERE: (12088..12089) \"\n\"\n ATMOSPHERE: (12089..12113) \";; (test 6 (plus 1 2 3))\"\n ATMOSPHERE: (12113..12114) \"\n\"\n ATMOSPHERE: (12114..12141) \";; (test 10 (plus 1 2 3 4))\"\n ATMOSPHERE: (12141..12143) \"\n\n\"\n ATMOSPHERE: (12143..12158) \";; (define mult\"\n ATMOSPHERE: (12158..12159) \"\n\"\n ATMOSPHERE: (12159..12176) \";; (case-lambda\"\n ATMOSPHERE: (12176..12177) \"\n\"\n ATMOSPHERE: (12177..12189) \";; (() 1)\"\n ATMOSPHERE: (12189..12190) \"\n\"\n ATMOSPHERE: (12190..12203) \";; ((x) x)\"\n ATMOSPHERE: (12203..12204) \"\n\"\n ATMOSPHERE: (12204..12225) \";; ((x y) (* x y))\"\n ATMOSPHERE: (12225..12226) \"\n\"\n ATMOSPHERE: (12226..12268) \";; ((x y . z) (apply mult (* x y) z))))\"\n ATMOSPHERE: (12268..12270) \"\n\n\"\n ATMOSPHERE: (12270..12288) \";; (test 1 (mult))\"\n ATMOSPHERE: (12288..12289) \"\n\"\n ATMOSPHERE: (12289..12309) \";; (test 1 (mult 1))\"\n ATMOSPHERE: (12309..12310) \"\n\"\n ATMOSPHERE: (12310..12332) \";; (test 2 (mult 1 2))\"\n ATMOSPHERE: (12332..12333) \"\n\"\n ATMOSPHERE: (12333..12357) \";; (test 6 (mult 1 2 3))\"\n ATMOSPHERE: (12357..12358) \"\n\"\n ATMOSPHERE: (12358..12385) \";; (test 24 (mult 1 2 3 4))\"\n ATMOSPHERE: (12385..12387) \"\n\n\"\n FORM: (12387..12397)\n OPEN_PAREN: (12387..12388) \"(\"\n SYMBOL: (12388..12396)\n IDENTIFIER: (12388..12396) \"test-end\"\n CLOSE_PAREN: (12396..12397) \")\"\n ATMOSPHERE: (12397..12399) \"\n\n\"\n FORM: (12399..12424)\n OPEN_PAREN: (12399..12400) \"(\"\n SYMBOL: (12400..12410)\n IDENTIFIER: (12400..12410) \"test-begin\"\n ATMOSPHERE: (12410..12411) \" \"\n CONSTANT: (12411..12423)\n STRING: (12411..12423) \"\"4.3 Macros\"\"\n CLOSE_PAREN: (12423..12424) \")\"\n ATMOSPHERE: (12424..12426) \"\n\n\"\n FORM: (12426..12757)\n OPEN_PAREN: (12426..12427) \"(\"\n SYMBOL: (12427..12431)\n IDENTIFIER: (12427..12431) \"test\"\n ATMOSPHERE: (12431..12432) \" \"\n QUOTED_DATUM: (12432..12437)\n QUOTE: (12432..12433) \"'\"\n SYMBOL: (12433..12436)\n IDENTIFIER: (12433..12436) \"now\"\n ATMOSPHERE: (12436..12437) \" \"\n FORM: (12437..12756)\n OPEN_PAREN: (12437..12438) \"(\"\n SYMBOL: (12438..12448)\n IDENTIFIER: (12438..12448) \"let-syntax\"\n ATMOSPHERE: (12448..12464) \"\n \"\n FORM: (12464..12668)\n OPEN_PAREN: (12464..12465) \"(\"\n FORM: (12465..12667)\n OPEN_PAREN: (12465..12466) \"(\"\n SYMBOL: (12466..12470)\n IDENTIFIER: (12466..12470) \"when\"\n ATMOSPHERE: (12470..12471) \" \"\n FORM: (12471..12666)\n OPEN_PAREN: (12471..12472) \"(\"\n SYMBOL: (12472..12484)\n IDENTIFIER: (12472..12484) \"syntax-rules\"\n ATMOSPHERE: (12484..12485) \" \"\n FORM: (12485..12487)\n OPEN_PAREN: (12485..12486) \"(\"\n CLOSE_PAREN: (12486..12487) \")\"\n ATMOSPHERE: (12487..12512) \"\n \"\n FORM: (12512..12665)\n OPEN_PAREN: (12512..12513) \"(\"\n FORM: (12513..12540)\n OPEN_PAREN: (12513..12514) \"(\"\n SYMBOL: (12514..12518)\n IDENTIFIER: (12514..12518) \"when\"\n ATMOSPHERE: (12518..12519) \" \"\n SYMBOL: (12519..12523)\n IDENTIFIER: (12519..12523) \"test\"\n ATMOSPHERE: (12523..12524) \" \"\n SYMBOL: (12524..12529)\n IDENTIFIER: (12524..12529) \"stmt1\"\n ATMOSPHERE: (12529..12530) \" \"\n SYMBOL: (12530..12535)\n IDENTIFIER: (12530..12535) \"stmt2\"\n ATMOSPHERE: (12535..12536) \" \"\n SYMBOL: (12536..12539)\n IDENTIFIER: (12536..12539) \"...\"\n CLOSE_PAREN: (12539..12540) \")\"\n ATMOSPHERE: (12540..12566) \"\n \"\n FORM: (12566..12664)\n OPEN_PAREN: (12566..12567) \"(\"\n SYMBOL: (12567..12569)\n IDENTIFIER: (12567..12569) \"if\"\n ATMOSPHERE: (12569..12570) \" \"\n SYMBOL: (12570..12574)\n IDENTIFIER: (12570..12574) \"test\"\n ATMOSPHERE: (12574..12604) \"\n \"\n FORM: (12604..12663)\n OPEN_PAREN: (12604..12605) \"(\"\n SYMBOL: (12605..12610)\n IDENTIFIER: (12605..12610) \"begin\"\n ATMOSPHERE: (12610..12611) \" \"\n SYMBOL: (12611..12616)\n IDENTIFIER: (12611..12616) \"stmt1\"\n ATMOSPHERE: (12616..12653) \"\n \"\n SYMBOL: (12653..12658)\n IDENTIFIER: (12653..12658) \"stmt2\"\n ATMOSPHERE: (12658..12659) \" \"\n SYMBOL: (12659..12662)\n IDENTIFIER: (12659..12662) \"...\"\n CLOSE_PAREN: (12662..12663) \")\"\n CLOSE_PAREN: (12663..12664) \")\"\n CLOSE_PAREN: (12664..12665) \")\"\n CLOSE_PAREN: (12665..12666) \")\"\n CLOSE_PAREN: (12666..12667) \")\"\n CLOSE_PAREN: (12667..12668) \")\"\n ATMOSPHERE: (12668..12682) \"\n \"\n FORM: (12682..12755)\n OPEN_PAREN: (12682..12683) \"(\"\n SYMBOL: (12683..12686)\n IDENTIFIER: (12683..12686) \"let\"\n ATMOSPHERE: (12686..12687) \" \"\n FORM: (12687..12696)\n OPEN_PAREN: (12687..12688) \"(\"\n FORM: (12688..12695)\n OPEN_PAREN: (12688..12689) \"(\"\n SYMBOL: (12689..12691)\n IDENTIFIER: (12689..12691) \"if\"\n ATMOSPHERE: (12691..12692) \" \"\n CONSTANT: (12692..12694)\n BOOLEAN: (12692..12694) \"#t\"\n CLOSE_PAREN: (12694..12695) \")\"\n CLOSE_PAREN: (12695..12696) \")\"\n ATMOSPHERE: (12696..12712) \"\n \"\n FORM: (12712..12736)\n OPEN_PAREN: (12712..12713) \"(\"\n SYMBOL: (12713..12717)\n IDENTIFIER: (12713..12717) \"when\"\n ATMOSPHERE: (12717..12718) \" \"\n SYMBOL: (12718..12720)\n IDENTIFIER: (12718..12720) \"if\"\n ATMOSPHERE: (12720..12721) \" \"\n FORM: (12721..12735)\n OPEN_PAREN: (12721..12722) \"(\"\n SYMBOL: (12722..12726)\n IDENTIFIER: (12722..12726) \"set!\"\n ATMOSPHERE: (12726..12727) \" \"\n SYMBOL: (12727..12729)\n IDENTIFIER: (12727..12729) \"if\"\n ATMOSPHERE: (12729..12730) \" \"\n QUOTED_DATUM: (12730..12734)\n QUOTE: (12730..12731) \"'\"\n SYMBOL: (12731..12734)\n IDENTIFIER: (12731..12734) \"now\"\n CLOSE_PAREN: (12734..12735) \")\"\n CLOSE_PAREN: (12735..12736) \")\"\n ATMOSPHERE: (12736..12752) \"\n \"\n SYMBOL: (12752..12754)\n IDENTIFIER: (12752..12754) \"if\"\n CLOSE_PAREN: (12754..12755) \")\"\n CLOSE_PAREN: (12755..12756) \")\"\n CLOSE_PAREN: (12756..12757) \")\"\n ATMOSPHERE: (12757..12759) \"\n\n\"\n FORM: (12759..12871)\n OPEN_PAREN: (12759..12760) \"(\"\n SYMBOL: (12760..12764)\n IDENTIFIER: (12760..12764) \"test\"\n ATMOSPHERE: (12764..12765) \" \"\n QUOTED_DATUM: (12765..12772)\n QUOTE: (12765..12766) \"'\"\n SYMBOL: (12766..12771)\n IDENTIFIER: (12766..12771) \"outer\"\n ATMOSPHERE: (12771..12772) \" \"\n FORM: (12772..12870)\n OPEN_PAREN: (12772..12773) \"(\"\n SYMBOL: (12773..12776)\n IDENTIFIER: (12773..12776) \"let\"\n ATMOSPHERE: (12776..12777) \" \"\n FORM: (12777..12789)\n OPEN_PAREN: (12777..12778) \"(\"\n FORM: (12778..12788)\n OPEN_PAREN: (12778..12779) \"(\"\n SYMBOL: (12779..12780)\n IDENTIFIER: (12779..12780) \"x\"\n ATMOSPHERE: (12780..12781) \" \"\n QUOTED_DATUM: (12781..12787)\n QUOTE: (12781..12782) \"'\"\n SYMBOL: (12782..12787)\n IDENTIFIER: (12782..12787) \"outer\"\n CLOSE_PAREN: (12787..12788) \")\"\n CLOSE_PAREN: (12788..12789) \")\"\n ATMOSPHERE: (12789..12792) \"\n \"\n FORM: (12792..12869)\n OPEN_PAREN: (12792..12793) \"(\"\n SYMBOL: (12793..12803)\n IDENTIFIER: (12793..12803) \"let-syntax\"\n ATMOSPHERE: (12803..12804) \" \"\n FORM: (12804..12835)\n OPEN_PAREN: (12804..12805) \"(\"\n FORM: (12805..12834)\n OPEN_PAREN: (12805..12806) \"(\"\n SYMBOL: (12806..12807)\n IDENTIFIER: (12806..12807) \"m\"\n ATMOSPHERE: (12807..12808) \" \"\n FORM: (12808..12833)\n OPEN_PAREN: (12808..12809) \"(\"\n SYMBOL: (12809..12821)\n IDENTIFIER: (12809..12821) \"syntax-rules\"\n ATMOSPHERE: (12821..12822) \" \"\n FORM: (12822..12824)\n OPEN_PAREN: (12822..12823) \"(\"\n CLOSE_PAREN: (12823..12824) \")\"\n ATMOSPHERE: (12824..12825) \" \"\n FORM: (12825..12832)\n OPEN_PAREN: (12825..12826) \"(\"\n FORM: (12826..12829)\n OPEN_PAREN: (12826..12827) \"(\"\n SYMBOL: (12827..12828)\n IDENTIFIER: (12827..12828) \"m\"\n CLOSE_PAREN: (12828..12829) \")\"\n ATMOSPHERE: (12829..12830) \" \"\n SYMBOL: (12830..12831)\n IDENTIFIER: (12830..12831) \"x\"\n CLOSE_PAREN: (12831..12832) \")\"\n CLOSE_PAREN: (12832..12833) \")\"\n CLOSE_PAREN: (12833..12834) \")\"\n CLOSE_PAREN: (12834..12835) \")\"\n ATMOSPHERE: (12835..12840) \"\n \"\n FORM: (12840..12868)\n OPEN_PAREN: (12840..12841) \"(\"\n SYMBOL: (12841..12844)\n IDENTIFIER: (12841..12844) \"let\"\n ATMOSPHERE: (12844..12845) \" \"\n FORM: (12845..12857)\n OPEN_PAREN: (12845..12846) \"(\"\n FORM: (12846..12856)\n OPEN_PAREN: (12846..12847) \"(\"\n SYMBOL: (12847..12848)\n IDENTIFIER: (12847..12848) \"x\"\n ATMOSPHERE: (12848..12849) \" \"\n QUOTED_DATUM: (12849..12855)\n QUOTE: (12849..12850) \"'\"\n SYMBOL: (12850..12855)\n IDENTIFIER: (12850..12855) \"inner\"\n CLOSE_PAREN: (12855..12856) \")\"\n CLOSE_PAREN: (12856..12857) \")\"\n ATMOSPHERE: (12857..12864) \"\n \"\n FORM: (12864..12867)\n OPEN_PAREN: (12864..12865) \"(\"\n SYMBOL: (12865..12866)\n IDENTIFIER: (12865..12866) \"m\"\n CLOSE_PAREN: (12866..12867) \")\"\n CLOSE_PAREN: (12867..12868) \")\"\n CLOSE_PAREN: (12868..12869) \")\"\n CLOSE_PAREN: (12869..12870) \")\"\n CLOSE_PAREN: (12870..12871) \")\"\n ATMOSPHERE: (12871..12873) \"\n\n\"\n ATMOSPHERE: (12873..12891) \";;; FIXME: hygene?\"\n ATMOSPHERE: (12891..12892) \"\n\"\n ATMOSPHERE: (12892..12917) \";; (test 7 (letrec-syntax\"\n ATMOSPHERE: (12917..12918) \"\n\"\n ATMOSPHERE: (12918..12947) \";; ((my-or (syntax-rules ()\"\n ATMOSPHERE: (12947..12948) \"\n\"\n ATMOSPHERE: (12948..12975) \";; ((my-or) #f)\"\n ATMOSPHERE: (12975..12976) \"\n\"\n ATMOSPHERE: (12976..13004) \";; ((my-or e) e)\"\n ATMOSPHERE: (13004..13005) \"\n\"\n ATMOSPHERE: (13005..13038) \";; ((my-or e1 e2 ...)\"\n ATMOSPHERE: (13038..13039) \"\n\"\n ATMOSPHERE: (13039..13071) \";; (let ((temp e1))\"\n ATMOSPHERE: (13071..13072) \"\n\"\n ATMOSPHERE: (13072..13098) \";; (if temp\"\n ATMOSPHERE: (13098..13099) \"\n\"\n ATMOSPHERE: (13099..13125) \";; temp\"\n ATMOSPHERE: (13125..13126) \"\n\"\n ATMOSPHERE: (13126..13168) \";; (my-or e2 ...)))))))\"\n ATMOSPHERE: (13168..13169) \"\n\"\n ATMOSPHERE: (13169..13186) \";; (let ((x #f)\"\n ATMOSPHERE: (13186..13187) \"\n\"\n ATMOSPHERE: (13187..13203) \";; (y 7)\"\n ATMOSPHERE: (13203..13204) \"\n\"\n ATMOSPHERE: (13204..13223) \";; (temp 8)\"\n ATMOSPHERE: (13223..13224) \"\n\"\n ATMOSPHERE: (13224..13245) \";; (let odd?)\"\n ATMOSPHERE: (13245..13246) \"\n\"\n ATMOSPHERE: (13246..13268) \";; (if even?))\"\n ATMOSPHERE: (13268..13269) \"\n\"\n ATMOSPHERE: (13269..13284) \";; (my-or x\"\n ATMOSPHERE: (13284..13285) \"\n\"\n ATMOSPHERE: (13285..13309) \";; (let temp)\"\n ATMOSPHERE: (13309..13310) \"\n\"\n ATMOSPHERE: (13310..13330) \";; (if y)\"\n ATMOSPHERE: (13330..13331) \"\n\"\n ATMOSPHERE: (13331..13350) \";; y))))\"\n ATMOSPHERE: (13350..13352) \"\n\n\"\n ATMOSPHERE: (13352..13397) \";;; FIXME: quoted elipsis `(... ...)` support\"\n ATMOSPHERE: (13397..13398) \"\n\"\n ATMOSPHERE: (13398..13430) \";; (define-syntax be-like-begin1\"\n ATMOSPHERE: (13430..13431) \"\n\"\n ATMOSPHERE: (13431..13452) \";; (syntax-rules ()\"\n ATMOSPHERE: (13452..13453) \"\n\"\n ATMOSPHERE: (13453..13482) \";; ((be-like-begin1 name)\"\n ATMOSPHERE: (13482..13483) \"\n\"\n ATMOSPHERE: (13483..13510) \";; (define-syntax name\"\n ATMOSPHERE: (13510..13511) \"\n\"\n ATMOSPHERE: (13511..13537) \";; (syntax-rules ()\"\n ATMOSPHERE: (13537..13538) \"\n\"\n ATMOSPHERE: (13538..13572) \";; ((name expr (... ...))\"\n ATMOSPHERE: (13572..13573) \"\n\"\n ATMOSPHERE: (13573..13614) \";; (begin expr (... ...))))))))\"\n ATMOSPHERE: (13614..13615) \"\n\"\n ATMOSPHERE: (13615..13644) \";; (be-like-begin1 sequence1)\"\n ATMOSPHERE: (13644..13645) \"\n\"\n ATMOSPHERE: (13645..13676) \";; (test 3 (sequence1 0 1 2 3))\"\n ATMOSPHERE: (13676..13678) \"\n\n\"\n ATMOSPHERE: (13678..13710) \";; (define-syntax be-like-begin2\"\n ATMOSPHERE: (13710..13711) \"\n\"\n ATMOSPHERE: (13711..13732) \";; (syntax-rules ()\"\n ATMOSPHERE: (13732..13733) \"\n\"\n ATMOSPHERE: (13733..13762) \";; ((be-like-begin2 name)\"\n ATMOSPHERE: (13762..13763) \"\n\"\n ATMOSPHERE: (13763..13790) \";; (define-syntax name\"\n ATMOSPHERE: (13790..13791) \"\n\"\n ATMOSPHERE: (13791..13822) \";; (... (syntax-rules ()\"\n ATMOSPHERE: (13822..13823) \"\n\"\n ATMOSPHERE: (13823..13856) \";; ((name expr ...)\"\n ATMOSPHERE: (13856..13857) \"\n\"\n ATMOSPHERE: (13857..13898) \";; (begin expr ...))))))))\"\n ATMOSPHERE: (13898..13899) \"\n\"\n ATMOSPHERE: (13899..13928) \";; (be-like-begin2 sequence2)\"\n ATMOSPHERE: (13928..13929) \"\n\"\n ATMOSPHERE: (13929..13960) \";; (test 4 (sequence2 1 2 3 4))\"\n ATMOSPHERE: (13960..13962) \"\n\n\"\n FORM: (13962..14152)\n OPEN_PAREN: (13962..13963) \"(\"\n SYMBOL: (13963..13976)\n IDENTIFIER: (13963..13976) \"define-syntax\"\n ATMOSPHERE: (13976..13977) \" \"\n SYMBOL: (13977..13991)\n IDENTIFIER: (13977..13991) \"be-like-begin3\"\n ATMOSPHERE: (13991..13994) \"\n \"\n FORM: (13994..14151)\n OPEN_PAREN: (13994..13995) \"(\"\n SYMBOL: (13995..14007)\n IDENTIFIER: (13995..14007) \"syntax-rules\"\n ATMOSPHERE: (14007..14008) \" \"\n FORM: (14008..14010)\n OPEN_PAREN: (14008..14009) \"(\"\n CLOSE_PAREN: (14009..14010) \")\"\n ATMOSPHERE: (14010..14015) \"\n \"\n FORM: (14015..14150)\n OPEN_PAREN: (14015..14016) \"(\"\n FORM: (14016..14037)\n OPEN_PAREN: (14016..14017) \"(\"\n SYMBOL: (14017..14031)\n IDENTIFIER: (14017..14031) \"be-like-begin3\"\n ATMOSPHERE: (14031..14032) \" \"\n SYMBOL: (14032..14036)\n IDENTIFIER: (14032..14036) \"name\"\n CLOSE_PAREN: (14036..14037) \")\"\n ATMOSPHERE: (14037..14043) \"\n \"\n FORM: (14043..14149)\n OPEN_PAREN: (14043..14044) \"(\"\n SYMBOL: (14044..14057)\n IDENTIFIER: (14044..14057) \"define-syntax\"\n ATMOSPHERE: (14057..14058) \" \"\n SYMBOL: (14058..14062)\n IDENTIFIER: (14058..14062) \"name\"\n ATMOSPHERE: (14062..14070) \"\n \"\n FORM: (14070..14148)\n OPEN_PAREN: (14070..14071) \"(\"\n SYMBOL: (14071..14083)\n IDENTIFIER: (14071..14083) \"syntax-rules\"\n ATMOSPHERE: (14083..14084) \" \"\n SYMBOL: (14084..14088)\n IDENTIFIER: (14084..14088) \"dots\"\n ATMOSPHERE: (14088..14089) \" \"\n FORM: (14089..14091)\n OPEN_PAREN: (14089..14090) \"(\"\n CLOSE_PAREN: (14090..14091) \")\"\n ATMOSPHERE: (14091..14101) \"\n \"\n FORM: (14101..14147)\n OPEN_PAREN: (14101..14102) \"(\"\n FORM: (14102..14118)\n OPEN_PAREN: (14102..14103) \"(\"\n SYMBOL: (14103..14107)\n IDENTIFIER: (14103..14107) \"name\"\n ATMOSPHERE: (14107..14108) \" \"\n SYMBOL: (14108..14112)\n IDENTIFIER: (14108..14112) \"expr\"\n ATMOSPHERE: (14112..14113) \" \"\n SYMBOL: (14113..14117)\n IDENTIFIER: (14113..14117) \"dots\"\n CLOSE_PAREN: (14117..14118) \")\"\n ATMOSPHERE: (14118..14129) \"\n \"\n FORM: (14129..14146)\n OPEN_PAREN: (14129..14130) \"(\"\n SYMBOL: (14130..14135)\n IDENTIFIER: (14130..14135) \"begin\"\n ATMOSPHERE: (14135..14136) \" \"\n SYMBOL: (14136..14140)\n IDENTIFIER: (14136..14140) \"expr\"\n ATMOSPHERE: (14140..14141) \" \"\n SYMBOL: (14141..14145)\n IDENTIFIER: (14141..14145) \"dots\"\n CLOSE_PAREN: (14145..14146) \")\"\n CLOSE_PAREN: (14146..14147) \")\"\n CLOSE_PAREN: (14147..14148) \")\"\n CLOSE_PAREN: (14148..14149) \")\"\n CLOSE_PAREN: (14149..14150) \")\"\n CLOSE_PAREN: (14150..14151) \")\"\n CLOSE_PAREN: (14151..14152) \")\"\n ATMOSPHERE: (14152..14153) \"\n\"\n FORM: (14153..14179)\n OPEN_PAREN: (14153..14154) \"(\"\n SYMBOL: (14154..14168)\n IDENTIFIER: (14154..14168) \"be-like-begin3\"\n ATMOSPHERE: (14168..14169) \" \"\n SYMBOL: (14169..14178)\n IDENTIFIER: (14169..14178) \"sequence3\"\n CLOSE_PAREN: (14178..14179) \")\"\n ATMOSPHERE: (14179..14180) \"\n\"\n FORM: (14180..14208)\n OPEN_PAREN: (14180..14181) \"(\"\n SYMBOL: (14181..14185)\n IDENTIFIER: (14181..14185) \"test\"\n ATMOSPHERE: (14185..14186) \" \"\n CONSTANT: (14186..14187)\n NUMBER: (14186..14187) \"5\"\n ATMOSPHERE: (14187..14188) \" \"\n FORM: (14188..14207)\n OPEN_PAREN: (14188..14189) \"(\"\n SYMBOL: (14189..14198)\n IDENTIFIER: (14189..14198) \"sequence3\"\n ATMOSPHERE: (14198..14199) \" \"\n CONSTANT: (14199..14200)\n NUMBER: (14199..14200) \"2\"\n ATMOSPHERE: (14200..14201) \" \"\n CONSTANT: (14201..14202)\n NUMBER: (14201..14202) \"3\"\n ATMOSPHERE: (14202..14203) \" \"\n CONSTANT: (14203..14204)\n NUMBER: (14203..14204) \"4\"\n ATMOSPHERE: (14204..14205) \" \"\n CONSTANT: (14205..14206)\n NUMBER: (14205..14206) \"5\"\n CLOSE_PAREN: (14206..14207) \")\"\n CLOSE_PAREN: (14207..14208) \")\"\n ATMOSPHERE: (14208..14210) \"\n\n\"\n ATMOSPHERE: (14210..14228) \";; ellipsis escape\"\n ATMOSPHERE: (14228..14229) \"\n\"\n FORM: (14229..14369)\n OPEN_PAREN: (14229..14230) \"(\"\n SYMBOL: (14230..14243)\n IDENTIFIER: (14230..14243) \"define-syntax\"\n ATMOSPHERE: (14243..14244) \" \"\n SYMBOL: (14244..14254)\n IDENTIFIER: (14244..14254) \"elli-esc-1\"\n ATMOSPHERE: (14254..14257) \"\n \"\n FORM: (14257..14368)\n OPEN_PAREN: (14257..14258) \"(\"\n SYMBOL: (14258..14270)\n IDENTIFIER: (14258..14270) \"syntax-rules\"\n ATMOSPHERE: (14270..14271) \" \"\n FORM: (14271..14273)\n OPEN_PAREN: (14271..14272) \"(\"\n CLOSE_PAREN: (14272..14273) \")\"\n ATMOSPHERE: (14273..14278) \"\n \"\n FORM: (14278..14299)\n OPEN_PAREN: (14278..14279) \"(\"\n FORM: (14279..14282)\n OPEN_PAREN: (14279..14280) \"(\"\n SYMBOL: (14280..14281)\n IDENTIFIER: (14280..14281) \"_\"\n CLOSE_PAREN: (14281..14282) \")\"\n ATMOSPHERE: (14282..14288) \"\n \"\n QUOTED_DATUM: (14288..14298)\n QUOTE: (14288..14289) \"'\"\n FORM: (14289..14298)\n OPEN_PAREN: (14289..14290) \"(\"\n SYMBOL: (14290..14293)\n IDENTIFIER: (14290..14293) \"...\"\n ATMOSPHERE: (14293..14294) \" \"\n SYMBOL: (14294..14297)\n IDENTIFIER: (14294..14297) \"...\"\n CLOSE_PAREN: (14297..14298) \")\"\n CLOSE_PAREN: (14298..14299) \")\"\n ATMOSPHERE: (14299..14304) \"\n \"\n FORM: (14304..14331)\n OPEN_PAREN: (14304..14305) \"(\"\n FORM: (14305..14310)\n OPEN_PAREN: (14305..14306) \"(\"\n SYMBOL: (14306..14307)\n IDENTIFIER: (14306..14307) \"_\"\n ATMOSPHERE: (14307..14308) \" \"\n SYMBOL: (14308..14309)\n IDENTIFIER: (14308..14309) \"x\"\n CLOSE_PAREN: (14309..14310) \")\"\n ATMOSPHERE: (14310..14316) \"\n \"\n QUOTED_DATUM: (14316..14330)\n QUOTE: (14316..14317) \"'\"\n FORM: (14317..14330)\n OPEN_PAREN: (14317..14318) \"(\"\n SYMBOL: (14318..14321)\n IDENTIFIER: (14318..14321) \"...\"\n ATMOSPHERE: (14321..14322) \" \"\n FORM: (14322..14329)\n OPEN_PAREN: (14322..14323) \"(\"\n SYMBOL: (14323..14324)\n IDENTIFIER: (14323..14324) \"x\"\n ATMOSPHERE: (14324..14325) \" \"\n SYMBOL: (14325..14328)\n IDENTIFIER: (14325..14328) \"...\"\n CLOSE_PAREN: (14328..14329) \")\"\n CLOSE_PAREN: (14329..14330) \")\"\n CLOSE_PAREN: (14330..14331) \")\"\n ATMOSPHERE: (14331..14336) \"\n \"\n FORM: (14336..14367)\n OPEN_PAREN: (14336..14337) \"(\"\n FORM: (14337..14344)\n OPEN_PAREN: (14337..14338) \"(\"\n SYMBOL: (14338..14339)\n IDENTIFIER: (14338..14339) \"_\"\n ATMOSPHERE: (14339..14340) \" \"\n SYMBOL: (14340..14341)\n IDENTIFIER: (14340..14341) \"x\"\n ATMOSPHERE: (14341..14342) \" \"\n SYMBOL: (14342..14343)\n IDENTIFIER: (14342..14343) \"y\"\n CLOSE_PAREN: (14343..14344) \")\"\n ATMOSPHERE: (14344..14350) \"\n \"\n QUOTED_DATUM: (14350..14366)\n QUOTE: (14350..14351) \"'\"\n FORM: (14351..14366)\n OPEN_PAREN: (14351..14352) \"(\"\n SYMBOL: (14352..14355)\n IDENTIFIER: (14352..14355) \"...\"\n ATMOSPHERE: (14355..14356) \" \"\n FORM: (14356..14365)\n OPEN_PAREN: (14356..14357) \"(\"\n SYMBOL: (14357..14360)\n IDENTIFIER: (14357..14360) \"...\"\n ATMOSPHERE: (14360..14361) \" \"\n SYMBOL: (14361..14362)\n IDENTIFIER: (14361..14362) \"x\"\n ATMOSPHERE: (14362..14363) \" \"\n SYMBOL: (14363..14364)\n IDENTIFIER: (14363..14364) \"y\"\n CLOSE_PAREN: (14364..14365) \")\"\n CLOSE_PAREN: (14365..14366) \")\"\n CLOSE_PAREN: (14366..14367) \")\"\n CLOSE_PAREN: (14367..14368) \")\"\n CLOSE_PAREN: (14368..14369) \")\"\n ATMOSPHERE: (14369..14371) \"\n\n\"\n FORM: (14371..14395)\n OPEN_PAREN: (14371..14372) \"(\"\n SYMBOL: (14372..14376)\n IDENTIFIER: (14372..14376) \"test\"\n ATMOSPHERE: (14376..14377) \" \"\n QUOTED_DATUM: (14377..14382)\n QUOTE: (14377..14378) \"'\"\n SYMBOL: (14378..14381)\n IDENTIFIER: (14378..14381) \"...\"\n ATMOSPHERE: (14381..14382) \" \"\n FORM: (14382..14394)\n OPEN_PAREN: (14382..14383) \"(\"\n SYMBOL: (14383..14393)\n IDENTIFIER: (14383..14393) \"elli-esc-1\"\n CLOSE_PAREN: (14393..14394) \")\"\n CLOSE_PAREN: (14394..14395) \")\"\n ATMOSPHERE: (14395..14396) \"\n\"\n FORM: (14396..14430)\n OPEN_PAREN: (14396..14397) \"(\"\n SYMBOL: (14397..14401)\n IDENTIFIER: (14397..14401) \"test\"\n ATMOSPHERE: (14401..14402) \" \"\n QUOTED_DATUM: (14402..14413)\n QUOTE: (14402..14403) \"'\"\n FORM: (14403..14412)\n OPEN_PAREN: (14403..14404) \"(\"\n CONSTANT: (14404..14407)\n NUMBER: (14404..14407) \"100\"\n ATMOSPHERE: (14407..14408) \" \"\n SYMBOL: (14408..14411)\n IDENTIFIER: (14408..14411) \"...\"\n CLOSE_PAREN: (14411..14412) \")\"\n ATMOSPHERE: (14412..14413) \" \"\n FORM: (14413..14429)\n OPEN_PAREN: (14413..14414) \"(\"\n SYMBOL: (14414..14424)\n IDENTIFIER: (14414..14424) \"elli-esc-1\"\n ATMOSPHERE: (14424..14425) \" \"\n CONSTANT: (14425..14428)\n NUMBER: (14425..14428) \"100\"\n CLOSE_PAREN: (14428..14429) \")\"\n CLOSE_PAREN: (14429..14430) \")\"\n ATMOSPHERE: (14430..14431) \"\n\"\n FORM: (14431..14473)\n OPEN_PAREN: (14431..14432) \"(\"\n SYMBOL: (14432..14436)\n IDENTIFIER: (14432..14436) \"test\"\n ATMOSPHERE: (14436..14437) \" \"\n QUOTED_DATUM: (14437..14452)\n QUOTE: (14437..14438) \"'\"\n FORM: (14438..14451)\n OPEN_PAREN: (14438..14439) \"(\"\n SYMBOL: (14439..14442)\n IDENTIFIER: (14439..14442) \"...\"\n ATMOSPHERE: (14442..14443) \" \"\n CONSTANT: (14443..14446)\n NUMBER: (14443..14446) \"100\"\n ATMOSPHERE: (14446..14447) \" \"\n CONSTANT: (14447..14450)\n NUMBER: (14447..14450) \"200\"\n CLOSE_PAREN: (14450..14451) \")\"\n ATMOSPHERE: (14451..14452) \" \"\n FORM: (14452..14472)\n OPEN_PAREN: (14452..14453) \"(\"\n SYMBOL: (14453..14463)\n IDENTIFIER: (14453..14463) \"elli-esc-1\"\n ATMOSPHERE: (14463..14464) \" \"\n CONSTANT: (14464..14467)\n NUMBER: (14464..14467) \"100\"\n ATMOSPHERE: (14467..14468) \" \"\n CONSTANT: (14468..14471)\n NUMBER: (14468..14471) \"200\"\n CLOSE_PAREN: (14471..14472) \")\"\n CLOSE_PAREN: (14472..14473) \")\"\n ATMOSPHERE: (14473..14475) \"\n\n\"\n ATMOSPHERE: (14475..14532) \";; Syntax pattern with ellipsis in middle of proper list.\"\n ATMOSPHERE: (14532..14533) \"\n\"\n FORM: (14533..14689)\n OPEN_PAREN: (14533..14534) \"(\"\n SYMBOL: (14534..14547)\n IDENTIFIER: (14534..14547) \"define-syntax\"\n ATMOSPHERE: (14547..14548) \" \"\n SYMBOL: (14548..14554)\n IDENTIFIER: (14548..14554) \"part-2\"\n ATMOSPHERE: (14554..14557) \"\n \"\n FORM: (14557..14688)\n OPEN_PAREN: (14557..14558) \"(\"\n SYMBOL: (14558..14570)\n IDENTIFIER: (14558..14570) \"syntax-rules\"\n ATMOSPHERE: (14570..14571) \" \"\n FORM: (14571..14573)\n OPEN_PAREN: (14571..14572) \"(\"\n CLOSE_PAREN: (14572..14573) \")\"\n ATMOSPHERE: (14573..14578) \"\n \"\n FORM: (14578..14663)\n OPEN_PAREN: (14578..14579) \"(\"\n FORM: (14579..14600)\n OPEN_PAREN: (14579..14580) \"(\"\n SYMBOL: (14580..14581)\n IDENTIFIER: (14580..14581) \"_\"\n ATMOSPHERE: (14581..14582) \" \"\n SYMBOL: (14582..14583)\n IDENTIFIER: (14582..14583) \"a\"\n ATMOSPHERE: (14583..14584) \" \"\n SYMBOL: (14584..14585)\n IDENTIFIER: (14584..14585) \"b\"\n ATMOSPHERE: (14585..14586) \" \"\n FORM: (14586..14591)\n OPEN_PAREN: (14586..14587) \"(\"\n SYMBOL: (14587..14588)\n IDENTIFIER: (14587..14588) \"m\"\n ATMOSPHERE: (14588..14589) \" \"\n SYMBOL: (14589..14590)\n IDENTIFIER: (14589..14590) \"n\"\n CLOSE_PAREN: (14590..14591) \")\"\n ATMOSPHERE: (14591..14592) \" \"\n SYMBOL: (14592..14595)\n IDENTIFIER: (14592..14595) \"...\"\n ATMOSPHERE: (14595..14596) \" \"\n SYMBOL: (14596..14597)\n IDENTIFIER: (14596..14597) \"x\"\n ATMOSPHERE: (14597..14598) \" \"\n SYMBOL: (14598..14599)\n IDENTIFIER: (14598..14599) \"y\"\n CLOSE_PAREN: (14599..14600) \")\"\n ATMOSPHERE: (14600..14606) \"\n \"\n FORM: (14606..14662)\n OPEN_PAREN: (14606..14607) \"(\"\n SYMBOL: (14607..14613)\n IDENTIFIER: (14607..14613) \"vector\"\n ATMOSPHERE: (14613..14614) \" \"\n FORM: (14614..14624)\n OPEN_PAREN: (14614..14615) \"(\"\n SYMBOL: (14615..14619)\n IDENTIFIER: (14615..14619) \"list\"\n ATMOSPHERE: (14619..14620) \" \"\n SYMBOL: (14620..14621)\n IDENTIFIER: (14620..14621) \"a\"\n ATMOSPHERE: (14621..14622) \" \"\n SYMBOL: (14622..14623)\n IDENTIFIER: (14622..14623) \"b\"\n CLOSE_PAREN: (14623..14624) \")\"\n ATMOSPHERE: (14624..14625) \" \"\n FORM: (14625..14637)\n OPEN_PAREN: (14625..14626) \"(\"\n SYMBOL: (14626..14630)\n IDENTIFIER: (14626..14630) \"list\"\n ATMOSPHERE: (14630..14631) \" \"\n SYMBOL: (14631..14632)\n IDENTIFIER: (14631..14632) \"m\"\n ATMOSPHERE: (14632..14633) \" \"\n SYMBOL: (14633..14636)\n IDENTIFIER: (14633..14636) \"...\"\n CLOSE_PAREN: (14636..14637) \")\"\n ATMOSPHERE: (14637..14638) \" \"\n FORM: (14638..14650)\n OPEN_PAREN: (14638..14639) \"(\"\n SYMBOL: (14639..14643)\n IDENTIFIER: (14639..14643) \"list\"\n ATMOSPHERE: (14643..14644) \" \"\n SYMBOL: (14644..14645)\n IDENTIFIER: (14644..14645) \"n\"\n ATMOSPHERE: (14645..14646) \" \"\n SYMBOL: (14646..14649)\n IDENTIFIER: (14646..14649) \"...\"\n CLOSE_PAREN: (14649..14650) \")\"\n ATMOSPHERE: (14650..14651) \" \"\n FORM: (14651..14661)\n OPEN_PAREN: (14651..14652) \"(\"\n SYMBOL: (14652..14656)\n IDENTIFIER: (14652..14656) \"list\"\n ATMOSPHERE: (14656..14657) \" \"\n SYMBOL: (14657..14658)\n IDENTIFIER: (14657..14658) \"x\"\n ATMOSPHERE: (14658..14659) \" \"\n SYMBOL: (14659..14660)\n IDENTIFIER: (14659..14660) \"y\"\n CLOSE_PAREN: (14660..14661) \")\"\n CLOSE_PAREN: (14661..14662) \")\"\n CLOSE_PAREN: (14662..14663) \")\"\n ATMOSPHERE: (14663..14668) \"\n \"\n FORM: (14668..14687)\n OPEN_PAREN: (14668..14669) \"(\"\n FORM: (14669..14679)\n OPEN_PAREN: (14669..14670) \"(\"\n SYMBOL: (14670..14671)\n IDENTIFIER: (14670..14671) \"_\"\n ATMOSPHERE: (14671..14672) \" \"\n DOTTED_TAIL: (14672..14678)\n DOT: (14672..14673) \".\"\n ATMOSPHERE: (14673..14674) \" \"\n SYMBOL: (14674..14678)\n IDENTIFIER: (14674..14678) \"rest\"\n CLOSE_PAREN: (14678..14679) \")\"\n ATMOSPHERE: (14679..14680) \" \"\n QUOTED_DATUM: (14680..14686)\n QUOTE: (14680..14681) \"'\"\n SYMBOL: (14681..14686)\n IDENTIFIER: (14681..14686) \"error\"\n CLOSE_PAREN: (14686..14687) \")\"\n CLOSE_PAREN: (14687..14688) \")\"\n CLOSE_PAREN: (14688..14689) \")\"\n ATMOSPHERE: (14689..14690) \"\n\"\n FORM: (14690..14800)\n OPEN_PAREN: (14690..14691) \"(\"\n SYMBOL: (14691..14695)\n IDENTIFIER: (14691..14695) \"test\"\n ATMOSPHERE: (14695..14696) \" \"\n QUOTED_DATUM: (14696..14742)\n QUOTE: (14696..14697) \"'\"\n VEC: (14697..14737)\n OPEN_PAREN: (14697..14699) \"#(\"\n FORM: (14699..14706)\n OPEN_PAREN: (14699..14700) \"(\"\n CONSTANT: (14700..14702)\n NUMBER: (14700..14702) \"10\"\n ATMOSPHERE: (14702..14703) \" \"\n CONSTANT: (14703..14705)\n NUMBER: (14703..14705) \"43\"\n CLOSE_PAREN: (14705..14706) \")\"\n ATMOSPHERE: (14706..14707) \" \"\n FORM: (14707..14717)\n OPEN_PAREN: (14707..14708) \"(\"\n CONSTANT: (14708..14710)\n NUMBER: (14708..14710) \"31\"\n ATMOSPHERE: (14710..14711) \" \"\n CONSTANT: (14711..14713)\n NUMBER: (14711..14713) \"41\"\n ATMOSPHERE: (14713..14714) \" \"\n CONSTANT: (14714..14716)\n NUMBER: (14714..14716) \"51\"\n CLOSE_PAREN: (14716..14717) \")\"\n ATMOSPHERE: (14717..14718) \" \"\n FORM: (14718..14728)\n OPEN_PAREN: (14718..14719) \"(\"\n CONSTANT: (14719..14721)\n NUMBER: (14719..14721) \"32\"\n ATMOSPHERE: (14721..14722) \" \"\n CONSTANT: (14722..14724)\n NUMBER: (14722..14724) \"42\"\n ATMOSPHERE: (14724..14725) \" \"\n CONSTANT: (14725..14727)\n NUMBER: (14725..14727) \"52\"\n CLOSE_PAREN: (14727..14728) \")\"\n ATMOSPHERE: (14728..14729) \" \"\n FORM: (14729..14736)\n OPEN_PAREN: (14729..14730) \"(\"\n CONSTANT: (14730..14732)\n NUMBER: (14730..14732) \"63\"\n ATMOSPHERE: (14732..14733) \" \"\n CONSTANT: (14733..14735)\n NUMBER: (14733..14735) \"77\"\n CLOSE_PAREN: (14735..14736) \")\"\n CLOSE_PAREN: (14736..14737) \")\"\n ATMOSPHERE: (14737..14742) \"\n \"\n FORM: (14742..14799)\n OPEN_PAREN: (14742..14743) \"(\"\n SYMBOL: (14743..14749)\n IDENTIFIER: (14743..14749) \"part-2\"\n ATMOSPHERE: (14749..14750) \" \"\n CONSTANT: (14750..14752)\n NUMBER: (14750..14752) \"10\"\n ATMOSPHERE: (14752..14753) \" \"\n FORM: (14753..14762)\n OPEN_PAREN: (14753..14754) \"(\"\n SYMBOL: (14754..14755)\n IDENTIFIER: (14754..14755) \"+\"\n ATMOSPHERE: (14755..14756) \" \"\n CONSTANT: (14756..14758)\n NUMBER: (14756..14758) \"21\"\n ATMOSPHERE: (14758..14759) \" \"\n CONSTANT: (14759..14761)\n NUMBER: (14759..14761) \"22\"\n CLOSE_PAREN: (14761..14762) \")\"\n ATMOSPHERE: (14762..14763) \" \"\n FORM: (14763..14770)\n OPEN_PAREN: (14763..14764) \"(\"\n CONSTANT: (14764..14766)\n NUMBER: (14764..14766) \"31\"\n ATMOSPHERE: (14766..14767) \" \"\n CONSTANT: (14767..14769)\n NUMBER: (14767..14769) \"32\"\n CLOSE_PAREN: (14769..14770) \")\"\n ATMOSPHERE: (14770..14771) \" \"\n FORM: (14771..14778)\n OPEN_PAREN: (14771..14772) \"(\"\n CONSTANT: (14772..14774)\n NUMBER: (14772..14774) \"41\"\n ATMOSPHERE: (14774..14775) \" \"\n CONSTANT: (14775..14777)\n NUMBER: (14775..14777) \"42\"\n CLOSE_PAREN: (14777..14778) \")\"\n ATMOSPHERE: (14778..14779) \" \"\n FORM: (14779..14786)\n OPEN_PAREN: (14779..14780) \"(\"\n CONSTANT: (14780..14782)\n NUMBER: (14780..14782) \"51\"\n ATMOSPHERE: (14782..14783) \" \"\n CONSTANT: (14783..14785)\n NUMBER: (14783..14785) \"52\"\n CLOSE_PAREN: (14785..14786) \")\"\n ATMOSPHERE: (14786..14787) \" \"\n FORM: (14787..14795)\n OPEN_PAREN: (14787..14788) \"(\"\n SYMBOL: (14788..14789)\n IDENTIFIER: (14788..14789) \"+\"\n ATMOSPHERE: (14789..14790) \" \"\n CONSTANT: (14790..14792)\n NUMBER: (14790..14792) \"61\"\n ATMOSPHERE: (14792..14793) \" \"\n CONSTANT: (14793..14794)\n NUMBER: (14793..14794) \"2\"\n CLOSE_PAREN: (14794..14795) \")\"\n ATMOSPHERE: (14795..14796) \" \"\n CONSTANT: (14796..14798)\n NUMBER: (14796..14798) \"77\"\n CLOSE_PAREN: (14798..14799) \")\"\n CLOSE_PAREN: (14799..14800) \")\"\n ATMOSPHERE: (14800..14801) \"\n\"\n ATMOSPHERE: (14801..14863) \";; ;; Syntax pattern with ellipsis in middle of improper list.\"\n ATMOSPHERE: (14863..14864) \"\n\"\n ATMOSPHERE: (14864..14889) \";; (define-syntax part-2x\"\n ATMOSPHERE: (14889..14890) \"\n\"\n ATMOSPHERE: (14890..14911) \";; (syntax-rules ()\"\n ATMOSPHERE: (14911..14912) \"\n\"\n ATMOSPHERE: (14912..14950) \";; ((_ (a b (m n) ... x y . rest))\"\n ATMOSPHERE: (14950..14951) \"\n\"\n ATMOSPHERE: (14951..15014) \";; (vector (list a b) (list m ...) (list n ...) (list x y)\"\n ATMOSPHERE: (15014..15015) \"\n\"\n ATMOSPHERE: (15015..15053) \";; (cons \"rest:\" 'rest)))\"\n ATMOSPHERE: (15053..15054) \"\n\"\n ATMOSPHERE: (15054..15082) \";; ((_ . rest) 'error)))\"\n ATMOSPHERE: (15082..15083) \"\n\"\n ATMOSPHERE: (15083..15143) \";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\"))\"\n ATMOSPHERE: (15143..15144) \"\n\"\n ATMOSPHERE: (15144..15212) \";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77)))\"\n ATMOSPHERE: (15212..15213) \"\n\"\n ATMOSPHERE: (15213..15282) \";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\" . \"tail\"))\"\n ATMOSPHERE: (15282..15283) \"\n\"\n ATMOSPHERE: (15283..15360) \";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . \"tail\")))\"\n ATMOSPHERE: (15360..15362) \"\n\n\"\n ATMOSPHERE: (15362..15375) \";; underscore\"\n ATMOSPHERE: (15375..15376) \"\n\"\n FORM: (15376..15439)\n OPEN_PAREN: (15376..15377) \"(\"\n SYMBOL: (15377..15390)\n IDENTIFIER: (15377..15390) \"define-syntax\"\n ATMOSPHERE: (15390..15391) \" \"\n SYMBOL: (15391..15401)\n IDENTIFIER: (15391..15401) \"underscore\"\n ATMOSPHERE: (15401..15404) \"\n \"\n FORM: (15404..15438)\n OPEN_PAREN: (15404..15405) \"(\"\n SYMBOL: (15405..15417)\n IDENTIFIER: (15405..15417) \"syntax-rules\"\n ATMOSPHERE: (15417..15418) \" \"\n FORM: (15418..15420)\n OPEN_PAREN: (15418..15419) \"(\"\n CLOSE_PAREN: (15419..15420) \")\"\n ATMOSPHERE: (15420..15425) \"\n \"\n FORM: (15425..15437)\n OPEN_PAREN: (15425..15426) \"(\"\n FORM: (15426..15433)\n OPEN_PAREN: (15426..15427) \"(\"\n SYMBOL: (15427..15430)\n IDENTIFIER: (15427..15430) \"foo\"\n ATMOSPHERE: (15430..15431) \" \"\n SYMBOL: (15431..15432)\n IDENTIFIER: (15431..15432) \"_\"\n CLOSE_PAREN: (15432..15433) \")\"\n ATMOSPHERE: (15433..15434) \" \"\n QUOTED_DATUM: (15434..15436)\n QUOTE: (15434..15435) \"'\"\n SYMBOL: (15435..15436)\n IDENTIFIER: (15435..15436) \"_\"\n CLOSE_PAREN: (15436..15437) \")\"\n CLOSE_PAREN: (15437..15438) \")\"\n CLOSE_PAREN: (15438..15439) \")\"\n ATMOSPHERE: (15439..15440) \"\n\"\n FORM: (15440..15466)\n OPEN_PAREN: (15440..15441) \"(\"\n SYMBOL: (15441..15445)\n IDENTIFIER: (15441..15445) \"test\"\n ATMOSPHERE: (15445..15446) \" \"\n QUOTED_DATUM: (15446..15449)\n QUOTE: (15446..15447) \"'\"\n SYMBOL: (15447..15448)\n IDENTIFIER: (15447..15448) \"_\"\n ATMOSPHERE: (15448..15449) \" \"\n FORM: (15449..15465)\n OPEN_PAREN: (15449..15450) \"(\"\n SYMBOL: (15450..15460)\n IDENTIFIER: (15450..15460) \"underscore\"\n ATMOSPHERE: (15460..15461) \" \"\n SYMBOL: (15461..15464)\n IDENTIFIER: (15461..15464) \"foo\"\n CLOSE_PAREN: (15464..15465) \")\"\n CLOSE_PAREN: (15465..15466) \")\"\n ATMOSPHERE: (15466..15468) \"\n\n\"\n FORM: (15468..15595)\n OPEN_PAREN: (15468..15469) \"(\"\n SYMBOL: (15469..15472)\n IDENTIFIER: (15469..15472) \"let\"\n ATMOSPHERE: (15472..15473) \" \"\n FORM: (15473..15475)\n OPEN_PAREN: (15473..15474) \"(\"\n CLOSE_PAREN: (15474..15475) \")\"\n ATMOSPHERE: (15475..15478) \"\n \"\n FORM: (15478..15562)\n OPEN_PAREN: (15478..15479) \"(\"\n SYMBOL: (15479..15492)\n IDENTIFIER: (15479..15492) \"define-syntax\"\n ATMOSPHERE: (15492..15493) \" \"\n SYMBOL: (15493..15504)\n IDENTIFIER: (15493..15504) \"underscore2\"\n ATMOSPHERE: (15504..15509) \"\n \"\n FORM: (15509..15561)\n OPEN_PAREN: (15509..15510) \"(\"\n SYMBOL: (15510..15522)\n IDENTIFIER: (15510..15522) \"syntax-rules\"\n ATMOSPHERE: (15522..15523) \" \"\n FORM: (15523..15525)\n OPEN_PAREN: (15523..15524) \"(\"\n CLOSE_PAREN: (15524..15525) \")\"\n ATMOSPHERE: (15525..15532) \"\n \"\n FORM: (15532..15560)\n OPEN_PAREN: (15532..15533) \"(\"\n FORM: (15533..15556)\n OPEN_PAREN: (15533..15534) \"(\"\n SYMBOL: (15534..15545)\n IDENTIFIER: (15534..15545) \"underscore2\"\n ATMOSPHERE: (15545..15546) \" \"\n FORM: (15546..15551)\n OPEN_PAREN: (15546..15547) \"(\"\n SYMBOL: (15547..15548)\n IDENTIFIER: (15547..15548) \"a\"\n ATMOSPHERE: (15548..15549) \" \"\n SYMBOL: (15549..15550)\n IDENTIFIER: (15549..15550) \"_\"\n CLOSE_PAREN: (15550..15551) \")\"\n ATMOSPHERE: (15551..15552) \" \"\n SYMBOL: (15552..15555)\n IDENTIFIER: (15552..15555) \"...\"\n CLOSE_PAREN: (15555..15556) \")\"\n ATMOSPHERE: (15556..15557) \" \"\n CONSTANT: (15557..15559)\n NUMBER: (15557..15559) \"42\"\n CLOSE_PAREN: (15559..15560) \")\"\n CLOSE_PAREN: (15560..15561) \")\"\n CLOSE_PAREN: (15561..15562) \")\"\n ATMOSPHERE: (15562..15565) \"\n \"\n FORM: (15565..15594)\n OPEN_PAREN: (15565..15566) \"(\"\n SYMBOL: (15566..15570)\n IDENTIFIER: (15566..15570) \"test\"\n ATMOSPHERE: (15570..15571) \" \"\n CONSTANT: (15571..15573)\n NUMBER: (15571..15573) \"42\"\n ATMOSPHERE: (15573..15574) \" \"\n FORM: (15574..15593)\n OPEN_PAREN: (15574..15575) \"(\"\n SYMBOL: (15575..15586)\n IDENTIFIER: (15575..15586) \"underscore2\"\n ATMOSPHERE: (15586..15587) \" \"\n FORM: (15587..15592)\n OPEN_PAREN: (15587..15588) \"(\"\n CONSTANT: (15588..15589)\n NUMBER: (15588..15589) \"1\"\n ATMOSPHERE: (15589..15590) \" \"\n CONSTANT: (15590..15591)\n NUMBER: (15590..15591) \"2\"\n CLOSE_PAREN: (15591..15592) \")\"\n CLOSE_PAREN: (15592..15593) \")\"\n CLOSE_PAREN: (15593..15594) \")\"\n CLOSE_PAREN: (15594..15595) \")\"\n ATMOSPHERE: (15595..15597) \"\n\n\"\n FORM: (15597..15705)\n OPEN_PAREN: (15597..15598) \"(\"\n SYMBOL: (15598..15611)\n IDENTIFIER: (15598..15611) \"define-syntax\"\n ATMOSPHERE: (15611..15612) \" \"\n SYMBOL: (15612..15622)\n IDENTIFIER: (15612..15622) \"count-to-2\"\n ATMOSPHERE: (15622..15625) \"\n \"\n FORM: (15625..15704)\n OPEN_PAREN: (15625..15626) \"(\"\n SYMBOL: (15626..15638)\n IDENTIFIER: (15626..15638) \"syntax-rules\"\n ATMOSPHERE: (15638..15639) \" \"\n FORM: (15639..15641)\n OPEN_PAREN: (15639..15640) \"(\"\n CLOSE_PAREN: (15640..15641) \")\"\n ATMOSPHERE: (15641..15646) \"\n \"\n FORM: (15646..15653)\n OPEN_PAREN: (15646..15647) \"(\"\n FORM: (15647..15650)\n OPEN_PAREN: (15647..15648) \"(\"\n SYMBOL: (15648..15649)\n IDENTIFIER: (15648..15649) \"_\"\n CLOSE_PAREN: (15649..15650) \")\"\n ATMOSPHERE: (15650..15651) \" \"\n CONSTANT: (15651..15652)\n NUMBER: (15651..15652) \"0\"\n CLOSE_PAREN: (15652..15653) \")\"\n ATMOSPHERE: (15653..15658) \"\n \"\n FORM: (15658..15667)\n OPEN_PAREN: (15658..15659) \"(\"\n FORM: (15659..15664)\n OPEN_PAREN: (15659..15660) \"(\"\n SYMBOL: (15660..15661)\n IDENTIFIER: (15660..15661) \"_\"\n ATMOSPHERE: (15661..15662) \" \"\n SYMBOL: (15662..15663)\n IDENTIFIER: (15662..15663) \"_\"\n CLOSE_PAREN: (15663..15664) \")\"\n ATMOSPHERE: (15664..15665) \" \"\n CONSTANT: (15665..15666)\n NUMBER: (15665..15666) \"1\"\n CLOSE_PAREN: (15666..15667) \")\"\n ATMOSPHERE: (15667..15672) \"\n \"\n FORM: (15672..15683)\n OPEN_PAREN: (15672..15673) \"(\"\n FORM: (15673..15680)\n OPEN_PAREN: (15673..15674) \"(\"\n SYMBOL: (15674..15675)\n IDENTIFIER: (15674..15675) \"_\"\n ATMOSPHERE: (15675..15676) \" \"\n SYMBOL: (15676..15677)\n IDENTIFIER: (15676..15677) \"_\"\n ATMOSPHERE: (15677..15678) \" \"\n SYMBOL: (15678..15679)\n IDENTIFIER: (15678..15679) \"_\"\n CLOSE_PAREN: (15679..15680) \")\"\n ATMOSPHERE: (15680..15681) \" \"\n CONSTANT: (15681..15682)\n NUMBER: (15681..15682) \"2\"\n CLOSE_PAREN: (15682..15683) \")\"\n ATMOSPHERE: (15683..15688) \"\n \"\n FORM: (15688..15703)\n OPEN_PAREN: (15688..15689) \"(\"\n FORM: (15689..15696)\n OPEN_PAREN: (15689..15690) \"(\"\n SYMBOL: (15690..15691)\n IDENTIFIER: (15690..15691) \"_\"\n ATMOSPHERE: (15691..15692) \" \"\n DOTTED_TAIL: (15692..15695)\n DOT: (15692..15693) \".\"\n ATMOSPHERE: (15693..15694) \" \"\n SYMBOL: (15694..15695)\n IDENTIFIER: (15694..15695) \"_\"\n CLOSE_PAREN: (15695..15696) \")\"\n ATMOSPHERE: (15696..15697) \" \"\n QUOTED_DATUM: (15697..15702)\n QUOTE: (15697..15698) \"'\"\n SYMBOL: (15698..15702)\n IDENTIFIER: (15698..15702) \"many\"\n CLOSE_PAREN: (15702..15703) \")\"\n CLOSE_PAREN: (15703..15704) \")\"\n CLOSE_PAREN: (15704..15705) \")\"\n ATMOSPHERE: (15705..15706) \"\n\"\n FORM: (15706..15786)\n OPEN_PAREN: (15706..15707) \"(\"\n SYMBOL: (15707..15711)\n IDENTIFIER: (15707..15711) \"test\"\n ATMOSPHERE: (15711..15712) \" \"\n QUOTED_DATUM: (15712..15728)\n QUOTE: (15712..15713) \"'\"\n FORM: (15713..15723)\n OPEN_PAREN: (15713..15714) \"(\"\n CONSTANT: (15714..15715)\n NUMBER: (15714..15715) \"2\"\n ATMOSPHERE: (15715..15716) \" \"\n CONSTANT: (15716..15717)\n NUMBER: (15716..15717) \"0\"\n ATMOSPHERE: (15717..15718) \" \"\n SYMBOL: (15718..15722)\n IDENTIFIER: (15718..15722) \"many\"\n CLOSE_PAREN: (15722..15723) \")\"\n ATMOSPHERE: (15723..15728) \"\n \"\n FORM: (15728..15785)\n OPEN_PAREN: (15728..15729) \"(\"\n SYMBOL: (15729..15733)\n IDENTIFIER: (15729..15733) \"list\"\n ATMOSPHERE: (15733..15734) \" \"\n FORM: (15734..15750)\n OPEN_PAREN: (15734..15735) \"(\"\n SYMBOL: (15735..15745)\n IDENTIFIER: (15735..15745) \"count-to-2\"\n ATMOSPHERE: (15745..15746) \" \"\n SYMBOL: (15746..15747)\n IDENTIFIER: (15746..15747) \"a\"\n ATMOSPHERE: (15747..15748) \" \"\n SYMBOL: (15748..15749)\n IDENTIFIER: (15748..15749) \"b\"\n CLOSE_PAREN: (15749..15750) \")\"\n ATMOSPHERE: (15750..15751) \" \"\n FORM: (15751..15763)\n OPEN_PAREN: (15751..15752) \"(\"\n SYMBOL: (15752..15762)\n IDENTIFIER: (15752..15762) \"count-to-2\"\n CLOSE_PAREN: (15762..15763) \")\"\n ATMOSPHERE: (15763..15764) \" \"\n FORM: (15764..15784)\n OPEN_PAREN: (15764..15765) \"(\"\n SYMBOL: (15765..15775)\n IDENTIFIER: (15765..15775) \"count-to-2\"\n ATMOSPHERE: (15775..15776) \" \"\n SYMBOL: (15776..15777)\n IDENTIFIER: (15776..15777) \"a\"\n ATMOSPHERE: (15777..15778) \" \"\n SYMBOL: (15778..15779)\n IDENTIFIER: (15778..15779) \"b\"\n ATMOSPHERE: (15779..15780) \" \"\n SYMBOL: (15780..15781)\n IDENTIFIER: (15780..15781) \"c\"\n ATMOSPHERE: (15781..15782) \" \"\n SYMBOL: (15782..15783)\n IDENTIFIER: (15782..15783) \"d\"\n CLOSE_PAREN: (15783..15784) \")\"\n CLOSE_PAREN: (15784..15785) \")\"\n CLOSE_PAREN: (15785..15786) \")\"\n ATMOSPHERE: (15786..15788) \"\n\n\"\n FORM: (15788..15898)\n OPEN_PAREN: (15788..15789) \"(\"\n SYMBOL: (15789..15802)\n IDENTIFIER: (15789..15802) \"define-syntax\"\n ATMOSPHERE: (15802..15803) \" \"\n SYMBOL: (15803..15814)\n IDENTIFIER: (15803..15814) \"count-to-2_\"\n ATMOSPHERE: (15814..15817) \"\n \"\n FORM: (15817..15897)\n OPEN_PAREN: (15817..15818) \"(\"\n SYMBOL: (15818..15830)\n IDENTIFIER: (15818..15830) \"syntax-rules\"\n ATMOSPHERE: (15830..15831) \" \"\n FORM: (15831..15834)\n OPEN_PAREN: (15831..15832) \"(\"\n SYMBOL: (15832..15833)\n IDENTIFIER: (15832..15833) \"_\"\n CLOSE_PAREN: (15833..15834) \")\"\n ATMOSPHERE: (15834..15839) \"\n \"\n FORM: (15839..15846)\n OPEN_PAREN: (15839..15840) \"(\"\n FORM: (15840..15843)\n OPEN_PAREN: (15840..15841) \"(\"\n SYMBOL: (15841..15842)\n IDENTIFIER: (15841..15842) \"_\"\n CLOSE_PAREN: (15842..15843) \")\"\n ATMOSPHERE: (15843..15844) \" \"\n CONSTANT: (15844..15845)\n NUMBER: (15844..15845) \"0\"\n CLOSE_PAREN: (15845..15846) \")\"\n ATMOSPHERE: (15846..15851) \"\n \"\n FORM: (15851..15860)\n OPEN_PAREN: (15851..15852) \"(\"\n FORM: (15852..15857)\n OPEN_PAREN: (15852..15853) \"(\"\n SYMBOL: (15853..15854)\n IDENTIFIER: (15853..15854) \"_\"\n ATMOSPHERE: (15854..15855) \" \"\n SYMBOL: (15855..15856)\n IDENTIFIER: (15855..15856) \"_\"\n CLOSE_PAREN: (15856..15857) \")\"\n ATMOSPHERE: (15857..15858) \" \"\n CONSTANT: (15858..15859)\n NUMBER: (15858..15859) \"1\"\n CLOSE_PAREN: (15859..15860) \")\"\n ATMOSPHERE: (15860..15865) \"\n \"\n FORM: (15865..15876)\n OPEN_PAREN: (15865..15866) \"(\"\n FORM: (15866..15873)\n OPEN_PAREN: (15866..15867) \"(\"\n SYMBOL: (15867..15868)\n IDENTIFIER: (15867..15868) \"_\"\n ATMOSPHERE: (15868..15869) \" \"\n SYMBOL: (15869..15870)\n IDENTIFIER: (15869..15870) \"_\"\n ATMOSPHERE: (15870..15871) \" \"\n SYMBOL: (15871..15872)\n IDENTIFIER: (15871..15872) \"_\"\n CLOSE_PAREN: (15872..15873) \")\"\n ATMOSPHERE: (15873..15874) \" \"\n CONSTANT: (15874..15875)\n NUMBER: (15874..15875) \"2\"\n CLOSE_PAREN: (15875..15876) \")\"\n ATMOSPHERE: (15876..15881) \"\n \"\n FORM: (15881..15896)\n OPEN_PAREN: (15881..15882) \"(\"\n FORM: (15882..15889)\n OPEN_PAREN: (15882..15883) \"(\"\n SYMBOL: (15883..15884)\n IDENTIFIER: (15883..15884) \"x\"\n ATMOSPHERE: (15884..15885) \" \"\n DOTTED_TAIL: (15885..15888)\n DOT: (15885..15886) \".\"\n ATMOSPHERE: (15886..15887) \" \"\n SYMBOL: (15887..15888)\n IDENTIFIER: (15887..15888) \"y\"\n CLOSE_PAREN: (15888..15889) \")\"\n ATMOSPHERE: (15889..15890) \" \"\n QUOTED_DATUM: (15890..15895)\n QUOTE: (15890..15891) \"'\"\n SYMBOL: (15891..15895)\n IDENTIFIER: (15891..15895) \"fail\"\n CLOSE_PAREN: (15895..15896) \")\"\n CLOSE_PAREN: (15896..15897) \")\"\n CLOSE_PAREN: (15897..15898) \")\"\n ATMOSPHERE: (15898..15899) \"\n\"\n FORM: (15899..16015)\n OPEN_PAREN: (15899..15900) \"(\"\n SYMBOL: (15900..15904)\n IDENTIFIER: (15900..15904) \"test\"\n ATMOSPHERE: (15904..15905) \" \"\n QUOTED_DATUM: (15905..15926)\n QUOTE: (15905..15906) \"'\"\n FORM: (15906..15921)\n OPEN_PAREN: (15906..15907) \"(\"\n CONSTANT: (15907..15908)\n NUMBER: (15907..15908) \"2\"\n ATMOSPHERE: (15908..15909) \" \"\n CONSTANT: (15909..15910)\n NUMBER: (15909..15910) \"0\"\n ATMOSPHERE: (15910..15911) \" \"\n SYMBOL: (15911..15915)\n IDENTIFIER: (15911..15915) \"fail\"\n ATMOSPHERE: (15915..15916) \" \"\n SYMBOL: (15916..15920)\n IDENTIFIER: (15916..15920) \"fail\"\n CLOSE_PAREN: (15920..15921) \")\"\n ATMOSPHERE: (15921..15926) \"\n \"\n FORM: (15926..16014)\n OPEN_PAREN: (15926..15927) \"(\"\n SYMBOL: (15927..15931)\n IDENTIFIER: (15927..15931) \"list\"\n ATMOSPHERE: (15931..15932) \" \"\n FORM: (15932..15949)\n OPEN_PAREN: (15932..15933) \"(\"\n SYMBOL: (15933..15944)\n IDENTIFIER: (15933..15944) \"count-to-2_\"\n ATMOSPHERE: (15944..15945) \" \"\n SYMBOL: (15945..15946)\n IDENTIFIER: (15945..15946) \"_\"\n ATMOSPHERE: (15946..15947) \" \"\n SYMBOL: (15947..15948)\n IDENTIFIER: (15947..15948) \"_\"\n CLOSE_PAREN: (15948..15949) \")\"\n ATMOSPHERE: (15949..15950) \" \"\n FORM: (15950..15963)\n OPEN_PAREN: (15950..15951) \"(\"\n SYMBOL: (15951..15962)\n IDENTIFIER: (15951..15962) \"count-to-2_\"\n CLOSE_PAREN: (15962..15963) \")\"\n ATMOSPHERE: (15963..15974) \"\n \"\n FORM: (15974..15991)\n OPEN_PAREN: (15974..15975) \"(\"\n SYMBOL: (15975..15986)\n IDENTIFIER: (15975..15986) \"count-to-2_\"\n ATMOSPHERE: (15986..15987) \" \"\n SYMBOL: (15987..15988)\n IDENTIFIER: (15987..15988) \"a\"\n ATMOSPHERE: (15988..15989) \" \"\n SYMBOL: (15989..15990)\n IDENTIFIER: (15989..15990) \"b\"\n CLOSE_PAREN: (15990..15991) \")\"\n ATMOSPHERE: (15991..15992) \" \"\n FORM: (15992..16013)\n OPEN_PAREN: (15992..15993) \"(\"\n SYMBOL: (15993..16004)\n IDENTIFIER: (15993..16004) \"count-to-2_\"\n ATMOSPHERE: (16004..16005) \" \"\n SYMBOL: (16005..16006)\n IDENTIFIER: (16005..16006) \"a\"\n ATMOSPHERE: (16006..16007) \" \"\n SYMBOL: (16007..16008)\n IDENTIFIER: (16007..16008) \"b\"\n ATMOSPHERE: (16008..16009) \" \"\n SYMBOL: (16009..16010)\n IDENTIFIER: (16009..16010) \"c\"\n ATMOSPHERE: (16010..16011) \" \"\n SYMBOL: (16011..16012)\n IDENTIFIER: (16011..16012) \"d\"\n CLOSE_PAREN: (16012..16013) \")\"\n CLOSE_PAREN: (16013..16014) \")\"\n CLOSE_PAREN: (16014..16015) \")\"\n ATMOSPHERE: (16015..16017) \"\n\n\"\n FORM: (16017..16209)\n OPEN_PAREN: (16017..16018) \"(\"\n SYMBOL: (16018..16031)\n IDENTIFIER: (16018..16031) \"define-syntax\"\n ATMOSPHERE: (16031..16032) \" \"\n SYMBOL: (16032..16043)\n IDENTIFIER: (16032..16043) \"jabberwocky\"\n ATMOSPHERE: (16043..16046) \"\n \"\n FORM: (16046..16208)\n OPEN_PAREN: (16046..16047) \"(\"\n SYMBOL: (16047..16059)\n IDENTIFIER: (16047..16059) \"syntax-rules\"\n ATMOSPHERE: (16059..16060) \" \"\n FORM: (16060..16062)\n OPEN_PAREN: (16060..16061) \"(\"\n CLOSE_PAREN: (16061..16062) \")\"\n ATMOSPHERE: (16062..16067) \"\n \"\n FORM: (16067..16207)\n OPEN_PAREN: (16067..16068) \"(\"\n FORM: (16068..16078)\n OPEN_PAREN: (16068..16069) \"(\"\n SYMBOL: (16069..16070)\n IDENTIFIER: (16069..16070) \"_\"\n ATMOSPHERE: (16070..16071) \" \"\n SYMBOL: (16071..16077)\n IDENTIFIER: (16071..16077) \"hatter\"\n CLOSE_PAREN: (16077..16078) \")\"\n ATMOSPHERE: (16078..16084) \"\n \"\n FORM: (16084..16206)\n OPEN_PAREN: (16084..16085) \"(\"\n SYMBOL: (16085..16090)\n IDENTIFIER: (16085..16090) \"begin\"\n ATMOSPHERE: (16090..16098) \"\n \"\n FORM: (16098..16120)\n OPEN_PAREN: (16098..16099) \"(\"\n SYMBOL: (16099..16105)\n IDENTIFIER: (16099..16105) \"define\"\n ATMOSPHERE: (16105..16106) \" \"\n SYMBOL: (16106..16116)\n IDENTIFIER: (16106..16116) \"march-hare\"\n ATMOSPHERE: (16116..16117) \" \"\n CONSTANT: (16117..16119)\n NUMBER: (16117..16119) \"42\"\n CLOSE_PAREN: (16119..16120) \")\"\n ATMOSPHERE: (16120..16128) \"\n \"\n FORM: (16128..16205)\n OPEN_PAREN: (16128..16129) \"(\"\n SYMBOL: (16129..16142)\n IDENTIFIER: (16129..16142) \"define-syntax\"\n ATMOSPHERE: (16142..16143) \" \"\n SYMBOL: (16143..16149)\n IDENTIFIER: (16143..16149) \"hatter\"\n ATMOSPHERE: (16149..16159) \"\n \"\n FORM: (16159..16204)\n OPEN_PAREN: (16159..16160) \"(\"\n SYMBOL: (16160..16172)\n IDENTIFIER: (16160..16172) \"syntax-rules\"\n ATMOSPHERE: (16172..16173) \" \"\n FORM: (16173..16175)\n OPEN_PAREN: (16173..16174) \"(\"\n CLOSE_PAREN: (16174..16175) \")\"\n ATMOSPHERE: (16175..16187) \"\n \"\n FORM: (16187..16203)\n OPEN_PAREN: (16187..16188) \"(\"\n FORM: (16188..16191)\n OPEN_PAREN: (16188..16189) \"(\"\n SYMBOL: (16189..16190)\n IDENTIFIER: (16189..16190) \"_\"\n CLOSE_PAREN: (16190..16191) \")\"\n ATMOSPHERE: (16191..16192) \" \"\n SYMBOL: (16192..16202)\n IDENTIFIER: (16192..16202) \"march-hare\"\n CLOSE_PAREN: (16202..16203) \")\"\n CLOSE_PAREN: (16203..16204) \")\"\n CLOSE_PAREN: (16204..16205) \")\"\n CLOSE_PAREN: (16205..16206) \")\"\n CLOSE_PAREN: (16206..16207) \")\"\n CLOSE_PAREN: (16207..16208) \")\"\n CLOSE_PAREN: (16208..16209) \")\"\n ATMOSPHERE: (16209..16210) \"\n\"\n FORM: (16210..16234)\n OPEN_PAREN: (16210..16211) \"(\"\n SYMBOL: (16211..16222)\n IDENTIFIER: (16211..16222) \"jabberwocky\"\n ATMOSPHERE: (16222..16223) \" \"\n SYMBOL: (16223..16233)\n IDENTIFIER: (16223..16233) \"mad-hatter\"\n CLOSE_PAREN: (16233..16234) \")\"\n ATMOSPHERE: (16234..16235) \"\n\"\n FORM: (16235..16257)\n OPEN_PAREN: (16235..16236) \"(\"\n SYMBOL: (16236..16240)\n IDENTIFIER: (16236..16240) \"test\"\n ATMOSPHERE: (16240..16241) \" \"\n CONSTANT: (16241..16243)\n NUMBER: (16241..16243) \"42\"\n ATMOSPHERE: (16243..16244) \" \"\n FORM: (16244..16256)\n OPEN_PAREN: (16244..16245) \"(\"\n SYMBOL: (16245..16255)\n IDENTIFIER: (16245..16255) \"mad-hatter\"\n CLOSE_PAREN: (16255..16256) \")\"\n CLOSE_PAREN: (16256..16257) \")\"\n ATMOSPHERE: (16257..16259) \"\n\n\"\n ATMOSPHERE: (16259..16307) \";; (test 'ok (let ((=> #f)) (cond (#t => 'ok))))\"\n ATMOSPHERE: (16307..16309) \"\n\n\"\n FORM: (16309..16387)\n OPEN_PAREN: (16309..16310) \"(\"\n SYMBOL: (16310..16313)\n IDENTIFIER: (16310..16313) \"let\"\n ATMOSPHERE: (16313..16314) \" \"\n FORM: (16314..16316)\n OPEN_PAREN: (16314..16315) \"(\"\n CLOSE_PAREN: (16315..16316) \")\"\n ATMOSPHERE: (16316..16319) \"\n \"\n FORM: (16319..16331)\n OPEN_PAREN: (16319..16320) \"(\"\n SYMBOL: (16320..16326)\n IDENTIFIER: (16320..16326) \"define\"\n ATMOSPHERE: (16326..16327) \" \"\n SYMBOL: (16327..16328)\n IDENTIFIER: (16327..16328) \"x\"\n ATMOSPHERE: (16328..16329) \" \"\n CONSTANT: (16329..16330)\n NUMBER: (16329..16330) \"1\"\n CLOSE_PAREN: (16330..16331) \")\"\n ATMOSPHERE: (16331..16334) \"\n \"\n FORM: (16334..16373)\n OPEN_PAREN: (16334..16335) \"(\"\n SYMBOL: (16335..16345)\n IDENTIFIER: (16335..16345) \"let-syntax\"\n ATMOSPHERE: (16345..16346) \" \"\n FORM: (16346..16348)\n OPEN_PAREN: (16346..16347) \"(\"\n CLOSE_PAREN: (16347..16348) \")\"\n ATMOSPHERE: (16348..16353) \"\n \"\n FORM: (16353..16365)\n OPEN_PAREN: (16353..16354) \"(\"\n SYMBOL: (16354..16360)\n IDENTIFIER: (16354..16360) \"define\"\n ATMOSPHERE: (16360..16361) \" \"\n SYMBOL: (16361..16362)\n IDENTIFIER: (16361..16362) \"x\"\n ATMOSPHERE: (16362..16363) \" \"\n CONSTANT: (16363..16364)\n NUMBER: (16363..16364) \"2\"\n CLOSE_PAREN: (16364..16365) \")\"\n ATMOSPHERE: (16365..16370) \"\n \"\n CONSTANT: (16370..16372)\n BOOLEAN: (16370..16372) \"#f\"\n CLOSE_PAREN: (16372..16373) \")\"\n ATMOSPHERE: (16373..16376) \"\n \"\n FORM: (16376..16386)\n OPEN_PAREN: (16376..16377) \"(\"\n SYMBOL: (16377..16381)\n IDENTIFIER: (16377..16381) \"test\"\n ATMOSPHERE: (16381..16382) \" \"\n CONSTANT: (16382..16383)\n NUMBER: (16382..16383) \"1\"\n ATMOSPHERE: (16383..16384) \" \"\n SYMBOL: (16384..16385)\n IDENTIFIER: (16384..16385) \"x\"\n CLOSE_PAREN: (16385..16386) \")\"\n CLOSE_PAREN: (16386..16387) \")\"\n ATMOSPHERE: (16387..16389) \"\n\n\"\n FORM: (16389..16565)\n OPEN_PAREN: (16389..16390) \"(\"\n SYMBOL: (16390..16393)\n IDENTIFIER: (16390..16393) \"let\"\n ATMOSPHERE: (16393..16394) \" \"\n FORM: (16394..16396)\n OPEN_PAREN: (16394..16395) \"(\"\n CLOSE_PAREN: (16395..16396) \")\"\n ATMOSPHERE: (16396..16398) \"\n \"\n FORM: (16398..16532)\n OPEN_PAREN: (16398..16399) \"(\"\n SYMBOL: (16399..16412)\n IDENTIFIER: (16399..16412) \"define-syntax\"\n ATMOSPHERE: (16412..16413) \" \"\n SYMBOL: (16413..16416)\n IDENTIFIER: (16413..16416) \"foo\"\n ATMOSPHERE: (16416..16420) \"\n \"\n FORM: (16420..16531)\n OPEN_PAREN: (16420..16421) \"(\"\n SYMBOL: (16421..16433)\n IDENTIFIER: (16421..16433) \"syntax-rules\"\n ATMOSPHERE: (16433..16434) \" \"\n FORM: (16434..16436)\n OPEN_PAREN: (16434..16435) \"(\"\n CLOSE_PAREN: (16435..16436) \")\"\n ATMOSPHERE: (16436..16442) \"\n \"\n FORM: (16442..16530)\n OPEN_PAREN: (16442..16443) \"(\"\n FORM: (16443..16454)\n OPEN_PAREN: (16443..16444) \"(\"\n SYMBOL: (16444..16447)\n IDENTIFIER: (16444..16447) \"foo\"\n ATMOSPHERE: (16447..16448) \" \"\n SYMBOL: (16448..16451)\n IDENTIFIER: (16448..16451) \"bar\"\n ATMOSPHERE: (16451..16452) \" \"\n SYMBOL: (16452..16453)\n IDENTIFIER: (16452..16453) \"y\"\n CLOSE_PAREN: (16453..16454) \")\"\n ATMOSPHERE: (16454..16461) \"\n \"\n FORM: (16461..16529)\n OPEN_PAREN: (16461..16462) \"(\"\n SYMBOL: (16462..16475)\n IDENTIFIER: (16462..16475) \"define-syntax\"\n ATMOSPHERE: (16475..16476) \" \"\n SYMBOL: (16476..16479)\n IDENTIFIER: (16476..16479) \"bar\"\n ATMOSPHERE: (16479..16488) \"\n \"\n FORM: (16488..16528)\n OPEN_PAREN: (16488..16489) \"(\"\n SYMBOL: (16489..16501)\n IDENTIFIER: (16489..16501) \"syntax-rules\"\n ATMOSPHERE: (16501..16502) \" \"\n FORM: (16502..16504)\n OPEN_PAREN: (16502..16503) \"(\"\n CLOSE_PAREN: (16503..16504) \")\"\n ATMOSPHERE: (16504..16515) \"\n \"\n FORM: (16515..16527)\n OPEN_PAREN: (16515..16516) \"(\"\n FORM: (16516..16523)\n OPEN_PAREN: (16516..16517) \"(\"\n SYMBOL: (16517..16520)\n IDENTIFIER: (16517..16520) \"bar\"\n ATMOSPHERE: (16520..16521) \" \"\n SYMBOL: (16521..16522)\n IDENTIFIER: (16521..16522) \"x\"\n CLOSE_PAREN: (16522..16523) \")\"\n ATMOSPHERE: (16523..16524) \" \"\n QUOTED_DATUM: (16524..16526)\n QUOTE: (16524..16525) \"'\"\n SYMBOL: (16525..16526)\n IDENTIFIER: (16525..16526) \"y\"\n CLOSE_PAREN: (16526..16527) \")\"\n CLOSE_PAREN: (16527..16528) \")\"\n CLOSE_PAREN: (16528..16529) \")\"\n CLOSE_PAREN: (16529..16530) \")\"\n CLOSE_PAREN: (16530..16531) \")\"\n CLOSE_PAREN: (16531..16532) \")\"\n ATMOSPHERE: (16532..16534) \"\n \"\n FORM: (16534..16545)\n OPEN_PAREN: (16534..16535) \"(\"\n SYMBOL: (16535..16538)\n IDENTIFIER: (16535..16538) \"foo\"\n ATMOSPHERE: (16538..16539) \" \"\n SYMBOL: (16539..16542)\n IDENTIFIER: (16539..16542) \"bar\"\n ATMOSPHERE: (16542..16543) \" \"\n SYMBOL: (16543..16544)\n IDENTIFIER: (16543..16544) \"x\"\n CLOSE_PAREN: (16544..16545) \")\"\n ATMOSPHERE: (16545..16547) \"\n \"\n FORM: (16547..16564)\n OPEN_PAREN: (16547..16548) \"(\"\n SYMBOL: (16548..16552)\n IDENTIFIER: (16548..16552) \"test\"\n ATMOSPHERE: (16552..16553) \" \"\n QUOTED_DATUM: (16553..16556)\n QUOTE: (16553..16554) \"'\"\n SYMBOL: (16554..16555)\n IDENTIFIER: (16554..16555) \"x\"\n ATMOSPHERE: (16555..16556) \" \"\n FORM: (16556..16563)\n OPEN_PAREN: (16556..16557) \"(\"\n SYMBOL: (16557..16560)\n IDENTIFIER: (16557..16560) \"bar\"\n ATMOSPHERE: (16560..16561) \" \"\n CONSTANT: (16561..16562)\n NUMBER: (16561..16562) \"1\"\n CLOSE_PAREN: (16562..16563) \")\"\n CLOSE_PAREN: (16563..16564) \")\"\n CLOSE_PAREN: (16564..16565) \")\"\n ATMOSPHERE: (16565..16567) \"\n\n\"\n ATMOSPHERE: (16567..16613) \";;; FIXME: Mutual recursion of `define` forms?\"\n ATMOSPHERE: (16613..16614) \"\n\"\n ATMOSPHERE: (16614..16623) \";; (begin\"\n ATMOSPHERE: (16623..16624) \"\n\"\n ATMOSPHERE: (16624..16648) \";; (define-syntax ffoo\"\n ATMOSPHERE: (16648..16649) \"\n\"\n ATMOSPHERE: (16649..16672) \";; (syntax-rules ()\"\n ATMOSPHERE: (16672..16673) \"\n\"\n ATMOSPHERE: (16673..16692) \";; ((ffoo ff)\"\n ATMOSPHERE: (16692..16693) \"\n\"\n ATMOSPHERE: (16693..16709) \";; (begin\"\n ATMOSPHERE: (16709..16710) \"\n\"\n ATMOSPHERE: (16710..16736) \";; (define (ff x)\"\n ATMOSPHERE: (16736..16737) \"\n\"\n ATMOSPHERE: (16737..16758) \";; (gg x))\"\n ATMOSPHERE: (16758..16759) \"\n\"\n ATMOSPHERE: (16759..16785) \";; (define (gg x)\"\n ATMOSPHERE: (16785..16786) \"\n\"\n ATMOSPHERE: (16786..16812) \";; (* x x))))))\"\n ATMOSPHERE: (16812..16813) \"\n\"\n ATMOSPHERE: (16813..16827) \";; (ffoo ff)\"\n ATMOSPHERE: (16827..16828) \"\n\"\n ATMOSPHERE: (16828..16852) \";; (test 100 (ff 10)))\"\n ATMOSPHERE: (16852..16854) \"\n\n\"\n FORM: (16854..16998)\n OPEN_PAREN: (16854..16855) \"(\"\n SYMBOL: (16855..16865)\n IDENTIFIER: (16855..16865) \"let-syntax\"\n ATMOSPHERE: (16865..16866) \" \"\n FORM: (16866..16969)\n OPEN_PAREN: (16866..16867) \"(\"\n FORM: (16867..16968)\n OPEN_PAREN: (16867..16868) \"(\"\n SYMBOL: (16868..16878)\n IDENTIFIER: (16868..16878) \"vector-lit\"\n ATMOSPHERE: (16878..16894) \"\n \"\n FORM: (16894..16967)\n OPEN_PAREN: (16894..16895) \"(\"\n SYMBOL: (16895..16907)\n IDENTIFIER: (16895..16907) \"syntax-rules\"\n ATMOSPHERE: (16907..16908) \" \"\n FORM: (16908..16910)\n OPEN_PAREN: (16908..16909) \"(\"\n CLOSE_PAREN: (16909..16910) \")\"\n ATMOSPHERE: (16910..16928) \"\n \"\n FORM: (16928..16966)\n OPEN_PAREN: (16928..16929) \"(\"\n FORM: (16929..16941)\n OPEN_PAREN: (16929..16930) \"(\"\n SYMBOL: (16930..16940)\n IDENTIFIER: (16930..16940) \"vector-lit\"\n CLOSE_PAREN: (16940..16941) \")\"\n ATMOSPHERE: (16941..16960) \"\n \"\n QUOTED_DATUM: (16960..16965)\n QUOTE: (16960..16961) \"'\"\n VEC: (16961..16965)\n OPEN_PAREN: (16961..16963) \"#(\"\n SYMBOL: (16963..16964)\n IDENTIFIER: (16963..16964) \"b\"\n CLOSE_PAREN: (16964..16965) \")\"\n CLOSE_PAREN: (16965..16966) \")\"\n CLOSE_PAREN: (16966..16967) \")\"\n CLOSE_PAREN: (16967..16968) \")\"\n CLOSE_PAREN: (16968..16969) \")\"\n ATMOSPHERE: (16969..16972) \"\n \"\n FORM: (16972..16997)\n OPEN_PAREN: (16972..16973) \"(\"\n SYMBOL: (16973..16977)\n IDENTIFIER: (16973..16977) \"test\"\n ATMOSPHERE: (16977..16978) \" \"\n QUOTED_DATUM: (16978..16984)\n QUOTE: (16978..16979) \"'\"\n VEC: (16979..16983)\n OPEN_PAREN: (16979..16981) \"#(\"\n SYMBOL: (16981..16982)\n IDENTIFIER: (16981..16982) \"b\"\n CLOSE_PAREN: (16982..16983) \")\"\n ATMOSPHERE: (16983..16984) \" \"\n FORM: (16984..16996)\n OPEN_PAREN: (16984..16985) \"(\"\n SYMBOL: (16985..16995)\n IDENTIFIER: (16985..16995) \"vector-lit\"\n CLOSE_PAREN: (16995..16996) \")\"\n CLOSE_PAREN: (16996..16997) \")\"\n CLOSE_PAREN: (16997..16998) \")\"\n ATMOSPHERE: (16998..17000) \"\n\n\"\n ATMOSPHERE: (17000..17010) \";; (let ()\"\n ATMOSPHERE: (17010..17011) \"\n\"\n ATMOSPHERE: (17011..17040) \";; ;; forward hygienic refs\"\n ATMOSPHERE: (17040..17041) \"\n\"\n ATMOSPHERE: (17041..17067) \";; (define-syntax foo399\"\n ATMOSPHERE: (17067..17068) \"\n\"\n ATMOSPHERE: (17068..17113) \";; (syntax-rules () ((foo399) (bar399))))\"\n ATMOSPHERE: (17113..17114) \"\n\"\n ATMOSPHERE: (17114..17136) \";; (define (quux399)\"\n ATMOSPHERE: (17136..17137) \"\n\"\n ATMOSPHERE: (17137..17153) \";; (foo399))\"\n ATMOSPHERE: (17153..17154) \"\n\"\n ATMOSPHERE: (17154..17175) \";; (define (bar399)\"\n ATMOSPHERE: (17175..17176) \"\n\"\n ATMOSPHERE: (17176..17186) \";; 42)\"\n ATMOSPHERE: (17186..17187) \"\n\"\n ATMOSPHERE: (17187..17212) \";; (test 42 (quux399)))\"\n ATMOSPHERE: (17212..17214) \"\n\n\"\n ATMOSPHERE: (17214..17232) \";;; FIXME: Hygene.\"\n ATMOSPHERE: (17232..17233) \"\n\"\n FORM: (17233..17519)\n OPEN_PAREN: (17233..17234) \"(\"\n SYMBOL: (17234..17244)\n IDENTIFIER: (17234..17244) \"let-syntax\"\n ATMOSPHERE: (17244..17249) \"\n \"\n FORM: (17249..17483)\n OPEN_PAREN: (17249..17250) \"(\"\n FORM: (17250..17482)\n OPEN_PAREN: (17250..17251) \"(\"\n SYMBOL: (17251..17252)\n IDENTIFIER: (17251..17252) \"m\"\n ATMOSPHERE: (17252..17253) \" \"\n FORM: (17253..17481)\n OPEN_PAREN: (17253..17254) \"(\"\n SYMBOL: (17254..17266)\n IDENTIFIER: (17254..17266) \"syntax-rules\"\n ATMOSPHERE: (17266..17267) \" \"\n FORM: (17267..17269)\n OPEN_PAREN: (17267..17268) \"(\"\n CLOSE_PAREN: (17268..17269) \")\"\n ATMOSPHERE: (17269..17280) \"\n \"\n FORM: (17280..17480)\n OPEN_PAREN: (17280..17281) \"(\"\n FORM: (17281..17286)\n OPEN_PAREN: (17281..17282) \"(\"\n SYMBOL: (17282..17283)\n IDENTIFIER: (17282..17283) \"m\"\n ATMOSPHERE: (17283..17284) \" \"\n SYMBOL: (17284..17285)\n IDENTIFIER: (17284..17285) \"x\"\n CLOSE_PAREN: (17285..17286) \")\"\n ATMOSPHERE: (17286..17287) \" \"\n FORM: (17287..17479)\n OPEN_PAREN: (17287..17288) \"(\"\n SYMBOL: (17288..17298)\n IDENTIFIER: (17288..17298) \"let-syntax\"\n ATMOSPHERE: (17298..17320) \"\n \"\n FORM: (17320..17453)\n OPEN_PAREN: (17320..17321) \"(\"\n FORM: (17321..17452)\n OPEN_PAREN: (17321..17322) \"(\"\n SYMBOL: (17322..17323)\n IDENTIFIER: (17322..17323) \"n\"\n ATMOSPHERE: (17323..17324) \" \"\n FORM: (17324..17451)\n OPEN_PAREN: (17324..17325) \"(\"\n SYMBOL: (17325..17337)\n IDENTIFIER: (17325..17337) \"syntax-rules\"\n ATMOSPHERE: (17337..17338) \" \"\n FORM: (17338..17341)\n OPEN_PAREN: (17338..17339) \"(\"\n SYMBOL: (17339..17340)\n IDENTIFIER: (17339..17340) \"k\"\n CLOSE_PAREN: (17340..17341) \")\"\n ATMOSPHERE: (17341..17369) \"\n \"\n FORM: (17369..17396)\n OPEN_PAREN: (17369..17370) \"(\"\n FORM: (17370..17375)\n OPEN_PAREN: (17370..17371) \"(\"\n SYMBOL: (17371..17372)\n IDENTIFIER: (17371..17372) \"n\"\n ATMOSPHERE: (17372..17373) \" \"\n SYMBOL: (17373..17374)\n IDENTIFIER: (17373..17374) \"x\"\n CLOSE_PAREN: (17374..17375) \")\"\n ATMOSPHERE: (17375..17376) \" \"\n QUOTED_DATUM: (17376..17395)\n QUOTE: (17376..17377) \"'\"\n SYMBOL: (17377..17395)\n IDENTIFIER: (17377..17395) \"bound-identifier=?\"\n CLOSE_PAREN: (17395..17396) \")\"\n ATMOSPHERE: (17396..17424) \"\n \"\n FORM: (17424..17450)\n OPEN_PAREN: (17424..17425) \"(\"\n FORM: (17425..17430)\n OPEN_PAREN: (17425..17426) \"(\"\n SYMBOL: (17426..17427)\n IDENTIFIER: (17426..17427) \"n\"\n ATMOSPHERE: (17427..17428) \" \"\n SYMBOL: (17428..17429)\n IDENTIFIER: (17428..17429) \"y\"\n CLOSE_PAREN: (17429..17430) \")\"\n ATMOSPHERE: (17430..17431) \" \"\n QUOTED_DATUM: (17431..17449)\n QUOTE: (17431..17432) \"'\"\n SYMBOL: (17432..17449)\n IDENTIFIER: (17432..17449) \"free-identifier=?\"\n CLOSE_PAREN: (17449..17450) \")\"\n CLOSE_PAREN: (17450..17451) \")\"\n CLOSE_PAREN: (17451..17452) \")\"\n CLOSE_PAREN: (17452..17453) \")\"\n ATMOSPHERE: (17453..17473) \"\n \"\n FORM: (17473..17478)\n OPEN_PAREN: (17473..17474) \"(\"\n SYMBOL: (17474..17475)\n IDENTIFIER: (17474..17475) \"n\"\n ATMOSPHERE: (17475..17476) \" \"\n SYMBOL: (17476..17477)\n IDENTIFIER: (17476..17477) \"z\"\n CLOSE_PAREN: (17477..17478) \")\"\n CLOSE_PAREN: (17478..17479) \")\"\n CLOSE_PAREN: (17479..17480) \")\"\n CLOSE_PAREN: (17480..17481) \")\"\n CLOSE_PAREN: (17481..17482) \")\"\n CLOSE_PAREN: (17482..17483) \")\"\n ATMOSPHERE: (17483..17486) \"\n \"\n FORM: (17486..17518)\n OPEN_PAREN: (17486..17487) \"(\"\n SYMBOL: (17487..17491)\n IDENTIFIER: (17487..17491) \"test\"\n ATMOSPHERE: (17491..17492) \" \"\n QUOTED_DATUM: (17492..17512)\n QUOTE: (17492..17493) \"'\"\n SYMBOL: (17493..17511)\n IDENTIFIER: (17493..17511) \"bound-identifier=?\"\n ATMOSPHERE: (17511..17512) \" \"\n FORM: (17512..17517)\n OPEN_PAREN: (17512..17513) \"(\"\n SYMBOL: (17513..17514)\n IDENTIFIER: (17513..17514) \"m\"\n ATMOSPHERE: (17514..17515) \" \"\n SYMBOL: (17515..17516)\n IDENTIFIER: (17515..17516) \"k\"\n CLOSE_PAREN: (17516..17517) \")\"\n CLOSE_PAREN: (17517..17518) \")\"\n CLOSE_PAREN: (17518..17519) \")\"\n ATMOSPHERE: (17519..17521) \"\n\n\"\n ATMOSPHERE: (17521..17569) \";; literal has priority to ellipsis (R7RS 4.3.2)\"\n ATMOSPHERE: (17569..17570) \"\n\"\n FORM: (17570..17703)\n OPEN_PAREN: (17570..17571) \"(\"\n SYMBOL: (17571..17574)\n IDENTIFIER: (17571..17574) \"let\"\n ATMOSPHERE: (17574..17575) \" \"\n FORM: (17575..17577)\n OPEN_PAREN: (17575..17576) \"(\"\n CLOSE_PAREN: (17576..17577) \")\"\n ATMOSPHERE: (17577..17580) \"\n \"\n FORM: (17580..17665)\n OPEN_PAREN: (17580..17581) \"(\"\n SYMBOL: (17581..17594)\n IDENTIFIER: (17581..17594) \"define-syntax\"\n ATMOSPHERE: (17594..17595) \" \"\n SYMBOL: (17595..17605)\n IDENTIFIER: (17595..17605) \"elli-lit-1\"\n ATMOSPHERE: (17605..17610) \"\n \"\n FORM: (17610..17664)\n OPEN_PAREN: (17610..17611) \"(\"\n SYMBOL: (17611..17623)\n IDENTIFIER: (17611..17623) \"syntax-rules\"\n ATMOSPHERE: (17623..17624) \" \"\n SYMBOL: (17624..17627)\n IDENTIFIER: (17624..17627) \"...\"\n ATMOSPHERE: (17627..17628) \" \"\n FORM: (17628..17633)\n OPEN_PAREN: (17628..17629) \"(\"\n SYMBOL: (17629..17632)\n IDENTIFIER: (17629..17632) \"...\"\n CLOSE_PAREN: (17632..17633) \")\"\n ATMOSPHERE: (17633..17640) \"\n \"\n FORM: (17640..17663)\n OPEN_PAREN: (17640..17641) \"(\"\n FORM: (17641..17646)\n OPEN_PAREN: (17641..17642) \"(\"\n SYMBOL: (17642..17643)\n IDENTIFIER: (17642..17643) \"_\"\n ATMOSPHERE: (17643..17644) \" \"\n SYMBOL: (17644..17645)\n IDENTIFIER: (17644..17645) \"x\"\n CLOSE_PAREN: (17645..17646) \")\"\n ATMOSPHERE: (17646..17654) \"\n \"\n QUOTED_DATUM: (17654..17662)\n QUOTE: (17654..17655) \"'\"\n FORM: (17655..17662)\n OPEN_PAREN: (17655..17656) \"(\"\n SYMBOL: (17656..17657)\n IDENTIFIER: (17656..17657) \"x\"\n ATMOSPHERE: (17657..17658) \" \"\n SYMBOL: (17658..17661)\n IDENTIFIER: (17658..17661) \"...\"\n CLOSE_PAREN: (17661..17662) \")\"\n CLOSE_PAREN: (17662..17663) \")\"\n CLOSE_PAREN: (17663..17664) \")\"\n CLOSE_PAREN: (17664..17665) \")\"\n ATMOSPHERE: (17665..17668) \"\n \"\n FORM: (17668..17702)\n OPEN_PAREN: (17668..17669) \"(\"\n SYMBOL: (17669..17673)\n IDENTIFIER: (17669..17673) \"test\"\n ATMOSPHERE: (17673..17674) \" \"\n QUOTED_DATUM: (17674..17685)\n QUOTE: (17674..17675) \"'\"\n FORM: (17675..17684)\n OPEN_PAREN: (17675..17676) \"(\"\n CONSTANT: (17676..17679)\n NUMBER: (17676..17679) \"100\"\n ATMOSPHERE: (17679..17680) \" \"\n SYMBOL: (17680..17683)\n IDENTIFIER: (17680..17683) \"...\"\n CLOSE_PAREN: (17683..17684) \")\"\n ATMOSPHERE: (17684..17685) \" \"\n FORM: (17685..17701)\n OPEN_PAREN: (17685..17686) \"(\"\n SYMBOL: (17686..17696)\n IDENTIFIER: (17686..17696) \"elli-lit-1\"\n ATMOSPHERE: (17696..17697) \" \"\n CONSTANT: (17697..17700)\n NUMBER: (17697..17700) \"100\"\n CLOSE_PAREN: (17700..17701) \")\"\n CLOSE_PAREN: (17701..17702) \")\"\n CLOSE_PAREN: (17702..17703) \")\"\n ATMOSPHERE: (17703..17705) \"\n\n\"\n ATMOSPHERE: (17705..17720) \";; bad ellipsis\"\n ATMOSPHERE: (17720..17721) \"\n\"\n ATMOSPHERE: (17721..18159) \"#|\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-1\n (syntax-rules ()\n ((_ ... x)\n '(... x))))\n (interaction-environment))))\n\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-2\n (syntax-rules ()\n ((_ (... x))\n '(... x))))\n (interaction-environment))))\n|#\"\n ATMOSPHERE: (18159..18161) \"\n\n\"\n FORM: (18161..18171)\n OPEN_PAREN: (18161..18162) \"(\"\n SYMBOL: (18162..18170)\n IDENTIFIER: (18162..18170) \"test-end\"\n CLOSE_PAREN: (18170..18171) \")\"\n ATMOSPHERE: (18171..18173) \"\n\n\"\n FORM: (18173..18207)\n OPEN_PAREN: (18173..18174) \"(\"\n SYMBOL: (18174..18184)\n IDENTIFIER: (18174..18184) \"test-begin\"\n ATMOSPHERE: (18184..18185) \" \"\n CONSTANT: (18185..18206)\n STRING: (18185..18206) \"\"5 Program structure\"\"\n CLOSE_PAREN: (18206..18207) \")\"\n ATMOSPHERE: (18207..18209) \"\n\n\"\n FORM: (18209..18245)\n OPEN_PAREN: (18209..18210) \"(\"\n SYMBOL: (18210..18216)\n IDENTIFIER: (18210..18216) \"define\"\n ATMOSPHERE: (18216..18217) \" \"\n SYMBOL: (18217..18221)\n IDENTIFIER: (18217..18221) \"add3\"\n ATMOSPHERE: (18221..18224) \"\n \"\n FORM: (18224..18244)\n OPEN_PAREN: (18224..18225) \"(\"\n SYMBOL: (18225..18231)\n IDENTIFIER: (18225..18231) \"lambda\"\n ATMOSPHERE: (18231..18232) \" \"\n FORM: (18232..18235)\n OPEN_PAREN: (18232..18233) \"(\"\n SYMBOL: (18233..18234)\n IDENTIFIER: (18233..18234) \"x\"\n CLOSE_PAREN: (18234..18235) \")\"\n ATMOSPHERE: (18235..18236) \" \"\n FORM: (18236..18243)\n OPEN_PAREN: (18236..18237) \"(\"\n SYMBOL: (18237..18238)\n IDENTIFIER: (18237..18238) \"+\"\n ATMOSPHERE: (18238..18239) \" \"\n SYMBOL: (18239..18240)\n IDENTIFIER: (18239..18240) \"x\"\n ATMOSPHERE: (18240..18241) \" \"\n CONSTANT: (18241..18242)\n NUMBER: (18241..18242) \"3\"\n CLOSE_PAREN: (18242..18243) \")\"\n CLOSE_PAREN: (18243..18244) \")\"\n CLOSE_PAREN: (18244..18245) \")\"\n ATMOSPHERE: (18245..18246) \"\n\"\n FORM: (18246..18263)\n OPEN_PAREN: (18246..18247) \"(\"\n SYMBOL: (18247..18251)\n IDENTIFIER: (18247..18251) \"test\"\n ATMOSPHERE: (18251..18252) \" \"\n CONSTANT: (18252..18253)\n NUMBER: (18252..18253) \"6\"\n ATMOSPHERE: (18253..18254) \" \"\n FORM: (18254..18262)\n OPEN_PAREN: (18254..18255) \"(\"\n SYMBOL: (18255..18259)\n IDENTIFIER: (18255..18259) \"add3\"\n ATMOSPHERE: (18259..18260) \" \"\n CONSTANT: (18260..18261)\n NUMBER: (18260..18261) \"3\"\n CLOSE_PAREN: (18261..18262) \")\"\n CLOSE_PAREN: (18262..18263) \")\"\n ATMOSPHERE: (18263..18264) \"\n\"\n FORM: (18264..18282)\n OPEN_PAREN: (18264..18265) \"(\"\n SYMBOL: (18265..18271)\n IDENTIFIER: (18265..18271) \"define\"\n ATMOSPHERE: (18271..18272) \" \"\n SYMBOL: (18272..18277)\n IDENTIFIER: (18272..18277) \"first\"\n ATMOSPHERE: (18277..18278) \" \"\n SYMBOL: (18278..18281)\n IDENTIFIER: (18278..18281) \"car\"\n CLOSE_PAREN: (18281..18282) \")\"\n ATMOSPHERE: (18282..18283) \"\n\"\n FORM: (18283..18306)\n OPEN_PAREN: (18283..18284) \"(\"\n SYMBOL: (18284..18288)\n IDENTIFIER: (18284..18288) \"test\"\n ATMOSPHERE: (18288..18289) \" \"\n CONSTANT: (18289..18290)\n NUMBER: (18289..18290) \"1\"\n ATMOSPHERE: (18290..18291) \" \"\n FORM: (18291..18305)\n OPEN_PAREN: (18291..18292) \"(\"\n SYMBOL: (18292..18297)\n IDENTIFIER: (18292..18297) \"first\"\n ATMOSPHERE: (18297..18298) \" \"\n QUOTED_DATUM: (18298..18304)\n QUOTE: (18298..18299) \"'\"\n FORM: (18299..18304)\n OPEN_PAREN: (18299..18300) \"(\"\n CONSTANT: (18300..18301)\n NUMBER: (18300..18301) \"1\"\n ATMOSPHERE: (18301..18302) \" \"\n CONSTANT: (18302..18303)\n NUMBER: (18302..18303) \"2\"\n CLOSE_PAREN: (18303..18304) \")\"\n CLOSE_PAREN: (18304..18305) \")\"\n CLOSE_PAREN: (18305..18306) \")\"\n ATMOSPHERE: (18306..18308) \"\n\n\"\n ATMOSPHERE: (18308..18345) \";;; FIXME: `define` mutual recursion.\"\n ATMOSPHERE: (18345..18346) \"\n\"\n ATMOSPHERE: (18346..18370) \";; (test 45 (let ((x 5))\"\n ATMOSPHERE: (18370..18371) \"\n\"\n ATMOSPHERE: (18371..18411) \";; (define foo (lambda (y) (bar x y)))\"\n ATMOSPHERE: (18411..18412) \"\n\"\n ATMOSPHERE: (18412..18458) \";; (define bar (lambda (a b) (+ (* a b) a)))\"\n ATMOSPHERE: (18458..18459) \"\n\"\n ATMOSPHERE: (18459..18479) \";; (foo (+ x 3))))\"\n ATMOSPHERE: (18479..18481) \"\n\n\"\n ATMOSPHERE: (18481..18493) \";; (test 'ok\"\n ATMOSPHERE: (18493..18494) \"\n\"\n ATMOSPHERE: (18494..18508) \";; (let ()\"\n ATMOSPHERE: (18508..18509) \"\n\"\n ATMOSPHERE: (18509..18545) \";; (define-values () (values))\"\n ATMOSPHERE: (18545..18546) \"\n\"\n ATMOSPHERE: (18546..18560) \";; 'ok))\"\n ATMOSPHERE: (18560..18561) \"\n\"\n ATMOSPHERE: (18561..18571) \";; (test 1\"\n ATMOSPHERE: (18571..18572) \"\n\"\n ATMOSPHERE: (18572..18586) \";; (let ()\"\n ATMOSPHERE: (18586..18587) \"\n\"\n ATMOSPHERE: (18587..18626) \";; (define-values (x) (values 1))\"\n ATMOSPHERE: (18626..18627) \"\n\"\n ATMOSPHERE: (18627..18639) \";; x))\"\n ATMOSPHERE: (18639..18640) \"\n\"\n ATMOSPHERE: (18640..18650) \";; (test 3\"\n ATMOSPHERE: (18650..18651) \"\n\"\n ATMOSPHERE: (18651..18665) \";; (let ()\"\n ATMOSPHERE: (18665..18666) \"\n\"\n ATMOSPHERE: (18666..18705) \";; (define-values x (values 1 2))\"\n ATMOSPHERE: (18705..18706) \"\n\"\n ATMOSPHERE: (18706..18728) \";; (apply + x)))\"\n ATMOSPHERE: (18728..18729) \"\n\"\n ATMOSPHERE: (18729..18739) \";; (test 3\"\n ATMOSPHERE: (18739..18740) \"\n\"\n ATMOSPHERE: (18740..18754) \";; (let ()\"\n ATMOSPHERE: (18754..18755) \"\n\"\n ATMOSPHERE: (18755..18798) \";; (define-values (x y) (values 1 2))\"\n ATMOSPHERE: (18798..18799) \"\n\"\n ATMOSPHERE: (18799..18817) \";; (+ x y)))\"\n ATMOSPHERE: (18817..18818) \"\n\"\n ATMOSPHERE: (18818..18828) \";; (test 6\"\n ATMOSPHERE: (18828..18829) \"\n\"\n ATMOSPHERE: (18829..18843) \";; (let ()\"\n ATMOSPHERE: (18843..18844) \"\n\"\n ATMOSPHERE: (18844..18891) \";; (define-values (x y z) (values 1 2 3))\"\n ATMOSPHERE: (18891..18892) \"\n\"\n ATMOSPHERE: (18892..18912) \";; (+ x y z)))\"\n ATMOSPHERE: (18912..18913) \"\n\"\n ATMOSPHERE: (18913..18924) \";; (test 10\"\n ATMOSPHERE: (18924..18925) \"\n\"\n ATMOSPHERE: (18925..18939) \";; (let ()\"\n ATMOSPHERE: (18939..18940) \"\n\"\n ATMOSPHERE: (18940..18991) \";; (define-values (x y . z) (values 1 2 3 4))\"\n ATMOSPHERE: (18991..18992) \"\n\"\n ATMOSPHERE: (18992..19027) \";; (+ x y (car z) (cadr z))))\"\n ATMOSPHERE: (19027..19029) \"\n\n\"\n ATMOSPHERE: (19029..19063) \";; (test '(2 1) (let ((x 1) (y 2))\"\n ATMOSPHERE: (19063..19064) \"\n\"\n ATMOSPHERE: (19064..19089) \";; (define-syntax swap!\"\n ATMOSPHERE: (19089..19090) \"\n\"\n ATMOSPHERE: (19090..19113) \";; (syntax-rules ()\"\n ATMOSPHERE: (19113..19114) \"\n\"\n ATMOSPHERE: (19114..19135) \";; ((swap! a b)\"\n ATMOSPHERE: (19135..19136) \"\n\"\n ATMOSPHERE: (19136..19160) \";; (let ((tmp a))\"\n ATMOSPHERE: (19160..19161) \"\n\"\n ATMOSPHERE: (19161..19183) \";; (set! a b)\"\n ATMOSPHERE: (19183..19184) \"\n\"\n ATMOSPHERE: (19184..19212) \";; (set! b tmp)))))\"\n ATMOSPHERE: (19212..19213) \"\n\"\n ATMOSPHERE: (19213..19229) \";; (swap! x y)\"\n ATMOSPHERE: (19229..19230) \"\n\"\n ATMOSPHERE: (19230..19247) \";; (list x y)))\"\n ATMOSPHERE: (19247..19249) \"\n\n\"\n ATMOSPHERE: (19249..19262) \";; ;; Records\"\n ATMOSPHERE: (19262..19264) \"\n\n\"\n ATMOSPHERE: (19264..19293) \";; (define-record-type \"\n ATMOSPHERE: (19293..19294) \"\n\"\n ATMOSPHERE: (19294..19309) \";; (kons x y)\"\n ATMOSPHERE: (19309..19310) \"\n\"\n ATMOSPHERE: (19310..19320) \";; pare?\"\n ATMOSPHERE: (19320..19321) \"\n\"\n ATMOSPHERE: (19321..19342) \";; (x kar set-kar!)\"\n ATMOSPHERE: (19342..19343) \"\n\"\n ATMOSPHERE: (19343..19356) \";; (y kdr))\"\n ATMOSPHERE: (19356..19358) \"\n\n\"\n ATMOSPHERE: (19358..19389) \";; (test #t (pare? (kons 1 2)))\"\n ATMOSPHERE: (19389..19390) \"\n\"\n ATMOSPHERE: (19390..19421) \";; (test #f (pare? (cons 1 2)))\"\n ATMOSPHERE: (19421..19422) \"\n\"\n ATMOSPHERE: (19422..19450) \";; (test 1 (kar (kons 1 2)))\"\n ATMOSPHERE: (19450..19451) \"\n\"\n ATMOSPHERE: (19451..19479) \";; (test 2 (kdr (kons 1 2)))\"\n ATMOSPHERE: (19479..19480) \"\n\"\n ATMOSPHERE: (19480..19512) \";; (test 3 (let ((k (kons 1 2)))\"\n ATMOSPHERE: (19512..19513) \"\n\"\n ATMOSPHERE: (19513..19540) \";; (set-kar! k 3)\"\n ATMOSPHERE: (19540..19541) \"\n\"\n ATMOSPHERE: (19541..19563) \";; (kar k)))\"\n ATMOSPHERE: (19563..19565) \"\n\n\"\n FORM: (19565..19575)\n OPEN_PAREN: (19565..19566) \"(\"\n SYMBOL: (19566..19574)\n IDENTIFIER: (19566..19574) \"test-end\"\n CLOSE_PAREN: (19574..19575) \")\"\n ATMOSPHERE: (19575..19577) \"\n\n\"\n ATMOSPHERE: (19577..19652) \";; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\"\n ATMOSPHERE: (19652..19653) \"\n\"\n ATMOSPHERE: (19653..19680) \";; ;; 6 Standard Procedures\"\n ATMOSPHERE: (19680..19682) \"\n\n\"\n FORM: (19682..19723)\n OPEN_PAREN: (19682..19683) \"(\"\n SYMBOL: (19683..19693)\n IDENTIFIER: (19683..19693) \"test-begin\"\n ATMOSPHERE: (19693..19694) \" \"\n CONSTANT: (19694..19722)\n STRING: (19694..19722) \"\"6.1 Equivalence Predicates\"\"\n CLOSE_PAREN: (19722..19723) \")\"\n ATMOSPHERE: (19723..19725) \"\n\n\"\n FORM: (19725..19747)\n OPEN_PAREN: (19725..19726) \"(\"\n SYMBOL: (19726..19730)\n IDENTIFIER: (19726..19730) \"test\"\n ATMOSPHERE: (19730..19731) \" \"\n CONSTANT: (19731..19733)\n BOOLEAN: (19731..19733) \"#t\"\n ATMOSPHERE: (19733..19734) \" \"\n FORM: (19734..19746)\n OPEN_PAREN: (19734..19735) \"(\"\n SYMBOL: (19735..19739)\n IDENTIFIER: (19735..19739) \"eqv?\"\n ATMOSPHERE: (19739..19740) \" \"\n QUOTED_DATUM: (19740..19743)\n QUOTE: (19740..19741) \"'\"\n SYMBOL: (19741..19742)\n IDENTIFIER: (19741..19742) \"a\"\n ATMOSPHERE: (19742..19743) \" \"\n QUOTED_DATUM: (19743..19745)\n QUOTE: (19743..19744) \"'\"\n SYMBOL: (19744..19745)\n IDENTIFIER: (19744..19745) \"a\"\n CLOSE_PAREN: (19745..19746) \")\"\n CLOSE_PAREN: (19746..19747) \")\"\n ATMOSPHERE: (19747..19748) \"\n\"\n FORM: (19748..19770)\n OPEN_PAREN: (19748..19749) \"(\"\n SYMBOL: (19749..19753)\n IDENTIFIER: (19749..19753) \"test\"\n ATMOSPHERE: (19753..19754) \" \"\n CONSTANT: (19754..19756)\n BOOLEAN: (19754..19756) \"#f\"\n ATMOSPHERE: (19756..19757) \" \"\n FORM: (19757..19769)\n OPEN_PAREN: (19757..19758) \"(\"\n SYMBOL: (19758..19762)\n IDENTIFIER: (19758..19762) \"eqv?\"\n ATMOSPHERE: (19762..19763) \" \"\n QUOTED_DATUM: (19763..19766)\n QUOTE: (19763..19764) \"'\"\n SYMBOL: (19764..19765)\n IDENTIFIER: (19764..19765) \"a\"\n ATMOSPHERE: (19765..19766) \" \"\n QUOTED_DATUM: (19766..19768)\n QUOTE: (19766..19767) \"'\"\n SYMBOL: (19767..19768)\n IDENTIFIER: (19767..19768) \"b\"\n CLOSE_PAREN: (19768..19769) \")\"\n CLOSE_PAREN: (19769..19770) \")\"\n ATMOSPHERE: (19770..19771) \"\n\"\n FORM: (19771..19791)\n OPEN_PAREN: (19771..19772) \"(\"\n SYMBOL: (19772..19776)\n IDENTIFIER: (19772..19776) \"test\"\n ATMOSPHERE: (19776..19777) \" \"\n CONSTANT: (19777..19779)\n BOOLEAN: (19777..19779) \"#t\"\n ATMOSPHERE: (19779..19780) \" \"\n FORM: (19780..19790)\n OPEN_PAREN: (19780..19781) \"(\"\n SYMBOL: (19781..19785)\n IDENTIFIER: (19781..19785) \"eqv?\"\n ATMOSPHERE: (19785..19786) \" \"\n CONSTANT: (19786..19787)\n NUMBER: (19786..19787) \"2\"\n ATMOSPHERE: (19787..19788) \" \"\n CONSTANT: (19788..19789)\n NUMBER: (19788..19789) \"2\"\n CLOSE_PAREN: (19789..19790) \")\"\n CLOSE_PAREN: (19790..19791) \")\"\n ATMOSPHERE: (19791..19792) \"\n\"\n FORM: (19792..19816)\n OPEN_PAREN: (19792..19793) \"(\"\n SYMBOL: (19793..19797)\n IDENTIFIER: (19793..19797) \"test\"\n ATMOSPHERE: (19797..19798) \" \"\n CONSTANT: (19798..19800)\n BOOLEAN: (19798..19800) \"#t\"\n ATMOSPHERE: (19800..19801) \" \"\n FORM: (19801..19815)\n OPEN_PAREN: (19801..19802) \"(\"\n SYMBOL: (19802..19806)\n IDENTIFIER: (19802..19806) \"eqv?\"\n ATMOSPHERE: (19806..19807) \" \"\n QUOTED_DATUM: (19807..19811)\n QUOTE: (19807..19808) \"'\"\n FORM: (19808..19810)\n OPEN_PAREN: (19808..19809) \"(\"\n CLOSE_PAREN: (19809..19810) \")\"\n ATMOSPHERE: (19810..19811) \" \"\n QUOTED_DATUM: (19811..19814)\n QUOTE: (19811..19812) \"'\"\n FORM: (19812..19814)\n OPEN_PAREN: (19812..19813) \"(\"\n CLOSE_PAREN: (19813..19814) \")\"\n CLOSE_PAREN: (19814..19815) \")\"\n CLOSE_PAREN: (19815..19816) \")\"\n ATMOSPHERE: (19816..19817) \"\n\"\n FORM: (19817..19853)\n OPEN_PAREN: (19817..19818) \"(\"\n SYMBOL: (19818..19822)\n IDENTIFIER: (19818..19822) \"test\"\n ATMOSPHERE: (19822..19823) \" \"\n CONSTANT: (19823..19825)\n BOOLEAN: (19823..19825) \"#t\"\n ATMOSPHERE: (19825..19826) \" \"\n FORM: (19826..19852)\n OPEN_PAREN: (19826..19827) \"(\"\n SYMBOL: (19827..19831)\n IDENTIFIER: (19827..19831) \"eqv?\"\n ATMOSPHERE: (19831..19832) \" \"\n CONSTANT: (19832..19841)\n NUMBER: (19832..19841) \"100000000\"\n ATMOSPHERE: (19841..19842) \" \"\n CONSTANT: (19842..19851)\n NUMBER: (19842..19851) \"100000000\"\n CLOSE_PAREN: (19851..19852) \")\"\n CLOSE_PAREN: (19852..19853) \")\"\n ATMOSPHERE: (19853..19854) \"\n\"\n FORM: (19854..19892)\n OPEN_PAREN: (19854..19855) \"(\"\n SYMBOL: (19855..19859)\n IDENTIFIER: (19855..19859) \"test\"\n ATMOSPHERE: (19859..19860) \" \"\n CONSTANT: (19860..19862)\n BOOLEAN: (19860..19862) \"#f\"\n ATMOSPHERE: (19862..19863) \" \"\n FORM: (19863..19891)\n OPEN_PAREN: (19863..19864) \"(\"\n SYMBOL: (19864..19868)\n IDENTIFIER: (19864..19868) \"eqv?\"\n ATMOSPHERE: (19868..19869) \" \"\n FORM: (19869..19879)\n OPEN_PAREN: (19869..19870) \"(\"\n SYMBOL: (19870..19874)\n IDENTIFIER: (19870..19874) \"cons\"\n ATMOSPHERE: (19874..19875) \" \"\n CONSTANT: (19875..19876)\n NUMBER: (19875..19876) \"1\"\n ATMOSPHERE: (19876..19877) \" \"\n CONSTANT: (19877..19878)\n NUMBER: (19877..19878) \"2\"\n CLOSE_PAREN: (19878..19879) \")\"\n ATMOSPHERE: (19879..19880) \" \"\n FORM: (19880..19890)\n OPEN_PAREN: (19880..19881) \"(\"\n SYMBOL: (19881..19885)\n IDENTIFIER: (19881..19885) \"cons\"\n ATMOSPHERE: (19885..19886) \" \"\n CONSTANT: (19886..19887)\n NUMBER: (19886..19887) \"1\"\n ATMOSPHERE: (19887..19888) \" \"\n CONSTANT: (19888..19889)\n NUMBER: (19888..19889) \"2\"\n CLOSE_PAREN: (19889..19890) \")\"\n CLOSE_PAREN: (19890..19891) \")\"\n CLOSE_PAREN: (19891..19892) \")\"\n ATMOSPHERE: (19892..19893) \"\n\"\n FORM: (19893..19952)\n OPEN_PAREN: (19893..19894) \"(\"\n SYMBOL: (19894..19898)\n IDENTIFIER: (19894..19898) \"test\"\n ATMOSPHERE: (19898..19899) \" \"\n CONSTANT: (19899..19901)\n BOOLEAN: (19899..19901) \"#f\"\n ATMOSPHERE: (19901..19902) \" \"\n FORM: (19902..19951)\n OPEN_PAREN: (19902..19903) \"(\"\n SYMBOL: (19903..19907)\n IDENTIFIER: (19903..19907) \"eqv?\"\n ATMOSPHERE: (19907..19908) \" \"\n FORM: (19908..19921)\n OPEN_PAREN: (19908..19909) \"(\"\n SYMBOL: (19909..19915)\n IDENTIFIER: (19909..19915) \"lambda\"\n ATMOSPHERE: (19915..19916) \" \"\n FORM: (19916..19918)\n OPEN_PAREN: (19916..19917) \"(\"\n CLOSE_PAREN: (19917..19918) \")\"\n ATMOSPHERE: (19918..19919) \" \"\n CONSTANT: (19919..19920)\n NUMBER: (19919..19920) \"1\"\n CLOSE_PAREN: (19920..19921) \")\"\n ATMOSPHERE: (19921..19937) \"\n \"\n FORM: (19937..19950)\n OPEN_PAREN: (19937..19938) \"(\"\n SYMBOL: (19938..19944)\n IDENTIFIER: (19938..19944) \"lambda\"\n ATMOSPHERE: (19944..19945) \" \"\n FORM: (19945..19947)\n OPEN_PAREN: (19945..19946) \"(\"\n CLOSE_PAREN: (19946..19947) \")\"\n ATMOSPHERE: (19947..19948) \" \"\n CONSTANT: (19948..19949)\n NUMBER: (19948..19949) \"2\"\n CLOSE_PAREN: (19949..19950) \")\"\n CLOSE_PAREN: (19950..19951) \")\"\n CLOSE_PAREN: (19951..19952) \")\"\n ATMOSPHERE: (19952..19953) \"\n\"\n FORM: (19953..19977)\n OPEN_PAREN: (19953..19954) \"(\"\n SYMBOL: (19954..19958)\n IDENTIFIER: (19954..19958) \"test\"\n ATMOSPHERE: (19958..19959) \" \"\n CONSTANT: (19959..19961)\n BOOLEAN: (19959..19961) \"#f\"\n ATMOSPHERE: (19961..19962) \" \"\n FORM: (19962..19976)\n OPEN_PAREN: (19962..19963) \"(\"\n SYMBOL: (19963..19967)\n IDENTIFIER: (19963..19967) \"eqv?\"\n ATMOSPHERE: (19967..19968) \" \"\n CONSTANT: (19968..19970)\n BOOLEAN: (19968..19970) \"#f\"\n ATMOSPHERE: (19970..19971) \" \"\n QUOTED_DATUM: (19971..19975)\n QUOTE: (19971..19972) \"'\"\n SYMBOL: (19972..19975)\n IDENTIFIER: (19972..19975) \"nil\"\n CLOSE_PAREN: (19975..19976) \")\"\n CLOSE_PAREN: (19976..19977) \")\"\n ATMOSPHERE: (19977..19979) \"\n\n\"\n FORM: (19979..20068)\n OPEN_PAREN: (19979..19980) \"(\"\n SYMBOL: (19980..19986)\n IDENTIFIER: (19980..19986) \"define\"\n ATMOSPHERE: (19986..19987) \" \"\n SYMBOL: (19987..19998)\n IDENTIFIER: (19987..19998) \"gen-counter\"\n ATMOSPHERE: (19998..20001) \"\n \"\n FORM: (20001..20067)\n OPEN_PAREN: (20001..20002) \"(\"\n SYMBOL: (20002..20008)\n IDENTIFIER: (20002..20008) \"lambda\"\n ATMOSPHERE: (20008..20009) \" \"\n FORM: (20009..20011)\n OPEN_PAREN: (20009..20010) \"(\"\n CLOSE_PAREN: (20010..20011) \")\"\n ATMOSPHERE: (20011..20016) \"\n \"\n FORM: (20016..20066)\n OPEN_PAREN: (20016..20017) \"(\"\n SYMBOL: (20017..20020)\n IDENTIFIER: (20017..20020) \"let\"\n ATMOSPHERE: (20020..20021) \" \"\n FORM: (20021..20028)\n OPEN_PAREN: (20021..20022) \"(\"\n FORM: (20022..20027)\n OPEN_PAREN: (20022..20023) \"(\"\n SYMBOL: (20023..20024)\n IDENTIFIER: (20023..20024) \"n\"\n ATMOSPHERE: (20024..20025) \" \"\n CONSTANT: (20025..20026)\n NUMBER: (20025..20026) \"0\"\n CLOSE_PAREN: (20026..20027) \")\"\n CLOSE_PAREN: (20027..20028) \")\"\n ATMOSPHERE: (20028..20035) \"\n \"\n FORM: (20035..20065)\n OPEN_PAREN: (20035..20036) \"(\"\n SYMBOL: (20036..20042)\n IDENTIFIER: (20036..20042) \"lambda\"\n ATMOSPHERE: (20042..20043) \" \"\n FORM: (20043..20045)\n OPEN_PAREN: (20043..20044) \"(\"\n CLOSE_PAREN: (20044..20045) \")\"\n ATMOSPHERE: (20045..20046) \" \"\n FORM: (20046..20062)\n OPEN_PAREN: (20046..20047) \"(\"\n SYMBOL: (20047..20051)\n IDENTIFIER: (20047..20051) \"set!\"\n ATMOSPHERE: (20051..20052) \" \"\n SYMBOL: (20052..20053)\n IDENTIFIER: (20052..20053) \"n\"\n ATMOSPHERE: (20053..20054) \" \"\n FORM: (20054..20061)\n OPEN_PAREN: (20054..20055) \"(\"\n SYMBOL: (20055..20056)\n IDENTIFIER: (20055..20056) \"+\"\n ATMOSPHERE: (20056..20057) \" \"\n SYMBOL: (20057..20058)\n IDENTIFIER: (20057..20058) \"n\"\n ATMOSPHERE: (20058..20059) \" \"\n CONSTANT: (20059..20060)\n NUMBER: (20059..20060) \"1\"\n CLOSE_PAREN: (20060..20061) \")\"\n CLOSE_PAREN: (20061..20062) \")\"\n ATMOSPHERE: (20062..20063) \" \"\n SYMBOL: (20063..20064)\n IDENTIFIER: (20063..20064) \"n\"\n CLOSE_PAREN: (20064..20065) \")\"\n CLOSE_PAREN: (20065..20066) \")\"\n CLOSE_PAREN: (20066..20067) \")\"\n CLOSE_PAREN: (20067..20068) \")\"\n ATMOSPHERE: (20068..20069) \"\n\"\n FORM: (20069..20125)\n OPEN_PAREN: (20069..20070) \"(\"\n SYMBOL: (20070..20074)\n IDENTIFIER: (20070..20074) \"test\"\n ATMOSPHERE: (20074..20075) \" \"\n CONSTANT: (20075..20077)\n BOOLEAN: (20075..20077) \"#t\"\n ATMOSPHERE: (20077..20082) \"\n \"\n FORM: (20082..20124)\n OPEN_PAREN: (20082..20083) \"(\"\n SYMBOL: (20083..20086)\n IDENTIFIER: (20083..20086) \"let\"\n ATMOSPHERE: (20086..20087) \" \"\n FORM: (20087..20106)\n OPEN_PAREN: (20087..20088) \"(\"\n FORM: (20088..20105)\n OPEN_PAREN: (20088..20089) \"(\"\n SYMBOL: (20089..20090)\n IDENTIFIER: (20089..20090) \"g\"\n ATMOSPHERE: (20090..20091) \" \"\n FORM: (20091..20104)\n OPEN_PAREN: (20091..20092) \"(\"\n SYMBOL: (20092..20103)\n IDENTIFIER: (20092..20103) \"gen-counter\"\n CLOSE_PAREN: (20103..20104) \")\"\n CLOSE_PAREN: (20104..20105) \")\"\n CLOSE_PAREN: (20105..20106) \")\"\n ATMOSPHERE: (20106..20113) \"\n \"\n FORM: (20113..20123)\n OPEN_PAREN: (20113..20114) \"(\"\n SYMBOL: (20114..20118)\n IDENTIFIER: (20114..20118) \"eqv?\"\n ATMOSPHERE: (20118..20119) \" \"\n SYMBOL: (20119..20120)\n IDENTIFIER: (20119..20120) \"g\"\n ATMOSPHERE: (20120..20121) \" \"\n SYMBOL: (20121..20122)\n IDENTIFIER: (20121..20122) \"g\"\n CLOSE_PAREN: (20122..20123) \")\"\n CLOSE_PAREN: (20123..20124) \")\"\n CLOSE_PAREN: (20124..20125) \")\"\n ATMOSPHERE: (20125..20126) \"\n\"\n FORM: (20126..20170)\n OPEN_PAREN: (20126..20127) \"(\"\n SYMBOL: (20127..20131)\n IDENTIFIER: (20127..20131) \"test\"\n ATMOSPHERE: (20131..20132) \" \"\n CONSTANT: (20132..20134)\n BOOLEAN: (20132..20134) \"#f\"\n ATMOSPHERE: (20134..20135) \" \"\n FORM: (20135..20169)\n OPEN_PAREN: (20135..20136) \"(\"\n SYMBOL: (20136..20140)\n IDENTIFIER: (20136..20140) \"eqv?\"\n ATMOSPHERE: (20140..20141) \" \"\n FORM: (20141..20154)\n OPEN_PAREN: (20141..20142) \"(\"\n SYMBOL: (20142..20153)\n IDENTIFIER: (20142..20153) \"gen-counter\"\n CLOSE_PAREN: (20153..20154) \")\"\n ATMOSPHERE: (20154..20155) \" \"\n FORM: (20155..20168)\n OPEN_PAREN: (20155..20156) \"(\"\n SYMBOL: (20156..20167)\n IDENTIFIER: (20156..20167) \"gen-counter\"\n CLOSE_PAREN: (20167..20168) \")\"\n CLOSE_PAREN: (20168..20169) \")\"\n CLOSE_PAREN: (20169..20170) \")\"\n ATMOSPHERE: (20170..20171) \"\n\"\n FORM: (20171..20259)\n OPEN_PAREN: (20171..20172) \"(\"\n SYMBOL: (20172..20178)\n IDENTIFIER: (20172..20178) \"define\"\n ATMOSPHERE: (20178..20179) \" \"\n SYMBOL: (20179..20188)\n IDENTIFIER: (20179..20188) \"gen-loser\"\n ATMOSPHERE: (20188..20191) \"\n \"\n FORM: (20191..20258)\n OPEN_PAREN: (20191..20192) \"(\"\n SYMBOL: (20192..20198)\n IDENTIFIER: (20192..20198) \"lambda\"\n ATMOSPHERE: (20198..20199) \" \"\n FORM: (20199..20201)\n OPEN_PAREN: (20199..20200) \"(\"\n CLOSE_PAREN: (20200..20201) \")\"\n ATMOSPHERE: (20201..20206) \"\n \"\n FORM: (20206..20257)\n OPEN_PAREN: (20206..20207) \"(\"\n SYMBOL: (20207..20210)\n IDENTIFIER: (20207..20210) \"let\"\n ATMOSPHERE: (20210..20211) \" \"\n FORM: (20211..20218)\n OPEN_PAREN: (20211..20212) \"(\"\n FORM: (20212..20217)\n OPEN_PAREN: (20212..20213) \"(\"\n SYMBOL: (20213..20214)\n IDENTIFIER: (20213..20214) \"n\"\n ATMOSPHERE: (20214..20215) \" \"\n CONSTANT: (20215..20216)\n NUMBER: (20215..20216) \"0\"\n CLOSE_PAREN: (20216..20217) \")\"\n CLOSE_PAREN: (20217..20218) \")\"\n ATMOSPHERE: (20218..20225) \"\n \"\n FORM: (20225..20256)\n OPEN_PAREN: (20225..20226) \"(\"\n SYMBOL: (20226..20232)\n IDENTIFIER: (20226..20232) \"lambda\"\n ATMOSPHERE: (20232..20233) \" \"\n FORM: (20233..20235)\n OPEN_PAREN: (20233..20234) \"(\"\n CLOSE_PAREN: (20234..20235) \")\"\n ATMOSPHERE: (20235..20236) \" \"\n FORM: (20236..20252)\n OPEN_PAREN: (20236..20237) \"(\"\n SYMBOL: (20237..20241)\n IDENTIFIER: (20237..20241) \"set!\"\n ATMOSPHERE: (20241..20242) \" \"\n SYMBOL: (20242..20243)\n IDENTIFIER: (20242..20243) \"n\"\n ATMOSPHERE: (20243..20244) \" \"\n FORM: (20244..20251)\n OPEN_PAREN: (20244..20245) \"(\"\n SYMBOL: (20245..20246)\n IDENTIFIER: (20245..20246) \"+\"\n ATMOSPHERE: (20246..20247) \" \"\n SYMBOL: (20247..20248)\n IDENTIFIER: (20247..20248) \"n\"\n ATMOSPHERE: (20248..20249) \" \"\n CONSTANT: (20249..20250)\n NUMBER: (20249..20250) \"1\"\n CLOSE_PAREN: (20250..20251) \")\"\n CLOSE_PAREN: (20251..20252) \")\"\n ATMOSPHERE: (20252..20253) \" \"\n CONSTANT: (20253..20255)\n NUMBER: (20253..20255) \"27\"\n CLOSE_PAREN: (20255..20256) \")\"\n CLOSE_PAREN: (20256..20257) \")\"\n CLOSE_PAREN: (20257..20258) \")\"\n CLOSE_PAREN: (20258..20259) \")\"\n ATMOSPHERE: (20259..20260) \"\n\"\n FORM: (20260..20306)\n OPEN_PAREN: (20260..20261) \"(\"\n SYMBOL: (20261..20265)\n IDENTIFIER: (20261..20265) \"test\"\n ATMOSPHERE: (20265..20266) \" \"\n CONSTANT: (20266..20268)\n BOOLEAN: (20266..20268) \"#t\"\n ATMOSPHERE: (20268..20269) \" \"\n FORM: (20269..20305)\n OPEN_PAREN: (20269..20270) \"(\"\n SYMBOL: (20270..20273)\n IDENTIFIER: (20270..20273) \"let\"\n ATMOSPHERE: (20273..20274) \" \"\n FORM: (20274..20291)\n OPEN_PAREN: (20274..20275) \"(\"\n FORM: (20275..20290)\n OPEN_PAREN: (20275..20276) \"(\"\n SYMBOL: (20276..20277)\n IDENTIFIER: (20276..20277) \"g\"\n ATMOSPHERE: (20277..20278) \" \"\n FORM: (20278..20289)\n OPEN_PAREN: (20278..20279) \"(\"\n SYMBOL: (20279..20288)\n IDENTIFIER: (20279..20288) \"gen-loser\"\n CLOSE_PAREN: (20288..20289) \")\"\n CLOSE_PAREN: (20289..20290) \")\"\n CLOSE_PAREN: (20290..20291) \")\"\n ATMOSPHERE: (20291..20294) \"\n \"\n FORM: (20294..20304)\n OPEN_PAREN: (20294..20295) \"(\"\n SYMBOL: (20295..20299)\n IDENTIFIER: (20295..20299) \"eqv?\"\n ATMOSPHERE: (20299..20300) \" \"\n SYMBOL: (20300..20301)\n IDENTIFIER: (20300..20301) \"g\"\n ATMOSPHERE: (20301..20302) \" \"\n SYMBOL: (20302..20303)\n IDENTIFIER: (20302..20303) \"g\"\n CLOSE_PAREN: (20303..20304) \")\"\n CLOSE_PAREN: (20304..20305) \")\"\n CLOSE_PAREN: (20305..20306) \")\"\n ATMOSPHERE: (20306..20308) \"\n\n\"\n FORM: (20308..20433)\n OPEN_PAREN: (20308..20309) \"(\"\n SYMBOL: (20309..20313)\n IDENTIFIER: (20309..20313) \"test\"\n ATMOSPHERE: (20313..20314) \" \"\n CONSTANT: (20314..20316)\n BOOLEAN: (20314..20316) \"#f\"\n ATMOSPHERE: (20316..20317) \"\n\"\n FORM: (20317..20432)\n OPEN_PAREN: (20317..20318) \"(\"\n SYMBOL: (20318..20324)\n IDENTIFIER: (20318..20324) \"letrec\"\n ATMOSPHERE: (20324..20325) \" \"\n FORM: (20325..20417)\n OPEN_PAREN: (20325..20326) \"(\"\n FORM: (20326..20366)\n OPEN_PAREN: (20326..20327) \"(\"\n SYMBOL: (20327..20328)\n IDENTIFIER: (20327..20328) \"f\"\n ATMOSPHERE: (20328..20329) \" \"\n FORM: (20329..20365)\n OPEN_PAREN: (20329..20330) \"(\"\n SYMBOL: (20330..20336)\n IDENTIFIER: (20330..20336) \"lambda\"\n ATMOSPHERE: (20336..20337) \" \"\n FORM: (20337..20339)\n OPEN_PAREN: (20337..20338) \"(\"\n CLOSE_PAREN: (20338..20339) \")\"\n ATMOSPHERE: (20339..20340) \" \"\n FORM: (20340..20364)\n OPEN_PAREN: (20340..20341) \"(\"\n SYMBOL: (20341..20343)\n IDENTIFIER: (20341..20343) \"if\"\n ATMOSPHERE: (20343..20344) \" \"\n FORM: (20344..20354)\n OPEN_PAREN: (20344..20345) \"(\"\n SYMBOL: (20345..20349)\n IDENTIFIER: (20345..20349) \"eqv?\"\n ATMOSPHERE: (20349..20350) \" \"\n SYMBOL: (20350..20351)\n IDENTIFIER: (20350..20351) \"f\"\n ATMOSPHERE: (20351..20352) \" \"\n SYMBOL: (20352..20353)\n IDENTIFIER: (20352..20353) \"g\"\n CLOSE_PAREN: (20353..20354) \")\"\n ATMOSPHERE: (20354..20355) \" \"\n QUOTED_DATUM: (20355..20358)\n QUOTE: (20355..20356) \"'\"\n SYMBOL: (20356..20357)\n IDENTIFIER: (20356..20357) \"f\"\n ATMOSPHERE: (20357..20358) \" \"\n QUOTED_DATUM: (20358..20363)\n QUOTE: (20358..20359) \"'\"\n SYMBOL: (20359..20363)\n IDENTIFIER: (20359..20363) \"both\"\n CLOSE_PAREN: (20363..20364) \")\"\n CLOSE_PAREN: (20364..20365) \")\"\n CLOSE_PAREN: (20365..20366) \")\"\n ATMOSPHERE: (20366..20376) \"\n \"\n FORM: (20376..20416)\n OPEN_PAREN: (20376..20377) \"(\"\n SYMBOL: (20377..20378)\n IDENTIFIER: (20377..20378) \"g\"\n ATMOSPHERE: (20378..20379) \" \"\n FORM: (20379..20415)\n OPEN_PAREN: (20379..20380) \"(\"\n SYMBOL: (20380..20386)\n IDENTIFIER: (20380..20386) \"lambda\"\n ATMOSPHERE: (20386..20387) \" \"\n FORM: (20387..20389)\n OPEN_PAREN: (20387..20388) \"(\"\n CLOSE_PAREN: (20388..20389) \")\"\n ATMOSPHERE: (20389..20390) \" \"\n FORM: (20390..20414)\n OPEN_PAREN: (20390..20391) \"(\"\n SYMBOL: (20391..20393)\n IDENTIFIER: (20391..20393) \"if\"\n ATMOSPHERE: (20393..20394) \" \"\n FORM: (20394..20404)\n OPEN_PAREN: (20394..20395) \"(\"\n SYMBOL: (20395..20399)\n IDENTIFIER: (20395..20399) \"eqv?\"\n ATMOSPHERE: (20399..20400) \" \"\n SYMBOL: (20400..20401)\n IDENTIFIER: (20400..20401) \"f\"\n ATMOSPHERE: (20401..20402) \" \"\n SYMBOL: (20402..20403)\n IDENTIFIER: (20402..20403) \"g\"\n CLOSE_PAREN: (20403..20404) \")\"\n ATMOSPHERE: (20404..20405) \" \"\n QUOTED_DATUM: (20405..20408)\n QUOTE: (20405..20406) \"'\"\n SYMBOL: (20406..20407)\n IDENTIFIER: (20406..20407) \"g\"\n ATMOSPHERE: (20407..20408) \" \"\n QUOTED_DATUM: (20408..20413)\n QUOTE: (20408..20409) \"'\"\n SYMBOL: (20409..20413)\n IDENTIFIER: (20409..20413) \"both\"\n CLOSE_PAREN: (20413..20414) \")\"\n CLOSE_PAREN: (20414..20415) \")\"\n CLOSE_PAREN: (20415..20416) \")\"\n CLOSE_PAREN: (20416..20417) \")\"\n ATMOSPHERE: (20417..20421) \"\n \"\n FORM: (20421..20431)\n OPEN_PAREN: (20421..20422) \"(\"\n SYMBOL: (20422..20426)\n IDENTIFIER: (20422..20426) \"eqv?\"\n ATMOSPHERE: (20426..20427) \" \"\n SYMBOL: (20427..20428)\n IDENTIFIER: (20427..20428) \"f\"\n ATMOSPHERE: (20428..20429) \" \"\n SYMBOL: (20429..20430)\n IDENTIFIER: (20429..20430) \"g\"\n CLOSE_PAREN: (20430..20431) \")\"\n CLOSE_PAREN: (20431..20432) \")\"\n CLOSE_PAREN: (20432..20433) \")\"\n ATMOSPHERE: (20433..20435) \"\n\n\"\n FORM: (20435..20482)\n OPEN_PAREN: (20435..20436) \"(\"\n SYMBOL: (20436..20440)\n IDENTIFIER: (20436..20440) \"test\"\n ATMOSPHERE: (20440..20441) \" \"\n CONSTANT: (20441..20443)\n BOOLEAN: (20441..20443) \"#t\"\n ATMOSPHERE: (20443..20448) \"\n \"\n FORM: (20448..20481)\n OPEN_PAREN: (20448..20449) \"(\"\n SYMBOL: (20449..20452)\n IDENTIFIER: (20449..20452) \"let\"\n ATMOSPHERE: (20452..20453) \" \"\n FORM: (20453..20463)\n OPEN_PAREN: (20453..20454) \"(\"\n FORM: (20454..20462)\n OPEN_PAREN: (20454..20455) \"(\"\n SYMBOL: (20455..20456)\n IDENTIFIER: (20455..20456) \"x\"\n ATMOSPHERE: (20456..20457) \" \"\n QUOTED_DATUM: (20457..20461)\n QUOTE: (20457..20458) \"'\"\n FORM: (20458..20461)\n OPEN_PAREN: (20458..20459) \"(\"\n SYMBOL: (20459..20460)\n IDENTIFIER: (20459..20460) \"a\"\n CLOSE_PAREN: (20460..20461) \")\"\n CLOSE_PAREN: (20461..20462) \")\"\n CLOSE_PAREN: (20462..20463) \")\"\n ATMOSPHERE: (20463..20470) \"\n \"\n FORM: (20470..20480)\n OPEN_PAREN: (20470..20471) \"(\"\n SYMBOL: (20471..20475)\n IDENTIFIER: (20471..20475) \"eqv?\"\n ATMOSPHERE: (20475..20476) \" \"\n SYMBOL: (20476..20477)\n IDENTIFIER: (20476..20477) \"x\"\n ATMOSPHERE: (20477..20478) \" \"\n SYMBOL: (20478..20479)\n IDENTIFIER: (20478..20479) \"x\"\n CLOSE_PAREN: (20479..20480) \")\"\n CLOSE_PAREN: (20480..20481) \")\"\n CLOSE_PAREN: (20481..20482) \")\"\n ATMOSPHERE: (20482..20484) \"\n\n\"\n FORM: (20484..20505)\n OPEN_PAREN: (20484..20485) \"(\"\n SYMBOL: (20485..20489)\n IDENTIFIER: (20485..20489) \"test\"\n ATMOSPHERE: (20489..20490) \" \"\n CONSTANT: (20490..20492)\n BOOLEAN: (20490..20492) \"#t\"\n ATMOSPHERE: (20492..20493) \" \"\n FORM: (20493..20504)\n OPEN_PAREN: (20493..20494) \"(\"\n SYMBOL: (20494..20497)\n IDENTIFIER: (20494..20497) \"eq?\"\n ATMOSPHERE: (20497..20498) \" \"\n QUOTED_DATUM: (20498..20501)\n QUOTE: (20498..20499) \"'\"\n SYMBOL: (20499..20500)\n IDENTIFIER: (20499..20500) \"a\"\n ATMOSPHERE: (20500..20501) \" \"\n QUOTED_DATUM: (20501..20503)\n QUOTE: (20501..20502) \"'\"\n SYMBOL: (20502..20503)\n IDENTIFIER: (20502..20503) \"a\"\n CLOSE_PAREN: (20503..20504) \")\"\n CLOSE_PAREN: (20504..20505) \")\"\n ATMOSPHERE: (20505..20506) \"\n\"\n FORM: (20506..20541)\n OPEN_PAREN: (20506..20507) \"(\"\n SYMBOL: (20507..20511)\n IDENTIFIER: (20507..20511) \"test\"\n ATMOSPHERE: (20511..20512) \" \"\n CONSTANT: (20512..20514)\n BOOLEAN: (20512..20514) \"#f\"\n ATMOSPHERE: (20514..20515) \" \"\n FORM: (20515..20540)\n OPEN_PAREN: (20515..20516) \"(\"\n SYMBOL: (20516..20519)\n IDENTIFIER: (20516..20519) \"eq?\"\n ATMOSPHERE: (20519..20520) \" \"\n FORM: (20520..20529)\n OPEN_PAREN: (20520..20521) \"(\"\n SYMBOL: (20521..20525)\n IDENTIFIER: (20521..20525) \"list\"\n ATMOSPHERE: (20525..20526) \" \"\n QUOTED_DATUM: (20526..20528)\n QUOTE: (20526..20527) \"'\"\n SYMBOL: (20527..20528)\n IDENTIFIER: (20527..20528) \"a\"\n CLOSE_PAREN: (20528..20529) \")\"\n ATMOSPHERE: (20529..20530) \" \"\n FORM: (20530..20539)\n OPEN_PAREN: (20530..20531) \"(\"\n SYMBOL: (20531..20535)\n IDENTIFIER: (20531..20535) \"list\"\n ATMOSPHERE: (20535..20536) \" \"\n QUOTED_DATUM: (20536..20538)\n QUOTE: (20536..20537) \"'\"\n SYMBOL: (20537..20538)\n IDENTIFIER: (20537..20538) \"a\"\n CLOSE_PAREN: (20538..20539) \")\"\n CLOSE_PAREN: (20539..20540) \")\"\n CLOSE_PAREN: (20540..20541) \")\"\n ATMOSPHERE: (20541..20542) \"\n\"\n FORM: (20542..20565)\n OPEN_PAREN: (20542..20543) \"(\"\n SYMBOL: (20543..20547)\n IDENTIFIER: (20543..20547) \"test\"\n ATMOSPHERE: (20547..20548) \" \"\n CONSTANT: (20548..20550)\n BOOLEAN: (20548..20550) \"#t\"\n ATMOSPHERE: (20550..20551) \" \"\n FORM: (20551..20564)\n OPEN_PAREN: (20551..20552) \"(\"\n SYMBOL: (20552..20555)\n IDENTIFIER: (20552..20555) \"eq?\"\n ATMOSPHERE: (20555..20556) \" \"\n QUOTED_DATUM: (20556..20560)\n QUOTE: (20556..20557) \"'\"\n FORM: (20557..20559)\n OPEN_PAREN: (20557..20558) \"(\"\n CLOSE_PAREN: (20558..20559) \")\"\n ATMOSPHERE: (20559..20560) \" \"\n QUOTED_DATUM: (20560..20563)\n QUOTE: (20560..20561) \"'\"\n FORM: (20561..20563)\n OPEN_PAREN: (20561..20562) \"(\"\n CLOSE_PAREN: (20562..20563) \")\"\n CLOSE_PAREN: (20563..20564) \")\"\n CLOSE_PAREN: (20564..20565) \")\"\n ATMOSPHERE: (20565..20566) \"\n\"\n FORM: (20566..20612)\n OPEN_PAREN: (20566..20567) \"(\"\n SYMBOL: (20567..20571)\n IDENTIFIER: (20567..20571) \"test\"\n ATMOSPHERE: (20571..20572) \" \"\n CONSTANT: (20572..20574)\n BOOLEAN: (20572..20574) \"#t\"\n ATMOSPHERE: (20574..20579) \"\n \"\n FORM: (20579..20611)\n OPEN_PAREN: (20579..20580) \"(\"\n SYMBOL: (20580..20583)\n IDENTIFIER: (20580..20583) \"let\"\n ATMOSPHERE: (20583..20584) \" \"\n FORM: (20584..20594)\n OPEN_PAREN: (20584..20585) \"(\"\n FORM: (20585..20593)\n OPEN_PAREN: (20585..20586) \"(\"\n SYMBOL: (20586..20587)\n IDENTIFIER: (20586..20587) \"x\"\n ATMOSPHERE: (20587..20588) \" \"\n QUOTED_DATUM: (20588..20592)\n QUOTE: (20588..20589) \"'\"\n FORM: (20589..20592)\n OPEN_PAREN: (20589..20590) \"(\"\n SYMBOL: (20590..20591)\n IDENTIFIER: (20590..20591) \"a\"\n CLOSE_PAREN: (20591..20592) \")\"\n CLOSE_PAREN: (20592..20593) \")\"\n CLOSE_PAREN: (20593..20594) \")\"\n ATMOSPHERE: (20594..20601) \"\n \"\n FORM: (20601..20610)\n OPEN_PAREN: (20601..20602) \"(\"\n SYMBOL: (20602..20605)\n IDENTIFIER: (20602..20605) \"eq?\"\n ATMOSPHERE: (20605..20606) \" \"\n SYMBOL: (20606..20607)\n IDENTIFIER: (20606..20607) \"x\"\n ATMOSPHERE: (20607..20608) \" \"\n SYMBOL: (20608..20609)\n IDENTIFIER: (20608..20609) \"x\"\n CLOSE_PAREN: (20609..20610) \")\"\n CLOSE_PAREN: (20610..20611) \")\"\n CLOSE_PAREN: (20611..20612) \")\"\n ATMOSPHERE: (20612..20613) \"\n\"\n FORM: (20613..20659)\n OPEN_PAREN: (20613..20614) \"(\"\n SYMBOL: (20614..20618)\n IDENTIFIER: (20614..20618) \"test\"\n ATMOSPHERE: (20618..20619) \" \"\n CONSTANT: (20619..20621)\n BOOLEAN: (20619..20621) \"#t\"\n ATMOSPHERE: (20621..20626) \"\n \"\n FORM: (20626..20658)\n OPEN_PAREN: (20626..20627) \"(\"\n SYMBOL: (20627..20630)\n IDENTIFIER: (20627..20630) \"let\"\n ATMOSPHERE: (20630..20631) \" \"\n FORM: (20631..20641)\n OPEN_PAREN: (20631..20632) \"(\"\n FORM: (20632..20640)\n OPEN_PAREN: (20632..20633) \"(\"\n SYMBOL: (20633..20634)\n IDENTIFIER: (20633..20634) \"x\"\n ATMOSPHERE: (20634..20635) \" \"\n QUOTED_DATUM: (20635..20639)\n QUOTE: (20635..20636) \"'\"\n VEC: (20636..20639)\n OPEN_PAREN: (20636..20638) \"#(\"\n CLOSE_PAREN: (20638..20639) \")\"\n CLOSE_PAREN: (20639..20640) \")\"\n CLOSE_PAREN: (20640..20641) \")\"\n ATMOSPHERE: (20641..20648) \"\n \"\n FORM: (20648..20657)\n OPEN_PAREN: (20648..20649) \"(\"\n SYMBOL: (20649..20652)\n IDENTIFIER: (20649..20652) \"eq?\"\n ATMOSPHERE: (20652..20653) \" \"\n SYMBOL: (20653..20654)\n IDENTIFIER: (20653..20654) \"x\"\n ATMOSPHERE: (20654..20655) \" \"\n SYMBOL: (20655..20656)\n IDENTIFIER: (20655..20656) \"x\"\n CLOSE_PAREN: (20656..20657) \")\"\n CLOSE_PAREN: (20657..20658) \")\"\n CLOSE_PAREN: (20658..20659) \")\"\n ATMOSPHERE: (20659..20660) \"\n\"\n FORM: (20660..20716)\n OPEN_PAREN: (20660..20661) \"(\"\n SYMBOL: (20661..20665)\n IDENTIFIER: (20661..20665) \"test\"\n ATMOSPHERE: (20665..20666) \" \"\n CONSTANT: (20666..20668)\n BOOLEAN: (20666..20668) \"#t\"\n ATMOSPHERE: (20668..20673) \"\n \"\n FORM: (20673..20715)\n OPEN_PAREN: (20673..20674) \"(\"\n SYMBOL: (20674..20677)\n IDENTIFIER: (20674..20677) \"let\"\n ATMOSPHERE: (20677..20678) \" \"\n FORM: (20678..20698)\n OPEN_PAREN: (20678..20679) \"(\"\n FORM: (20679..20697)\n OPEN_PAREN: (20679..20680) \"(\"\n SYMBOL: (20680..20681)\n IDENTIFIER: (20680..20681) \"p\"\n ATMOSPHERE: (20681..20682) \" \"\n FORM: (20682..20696)\n OPEN_PAREN: (20682..20683) \"(\"\n SYMBOL: (20683..20689)\n IDENTIFIER: (20683..20689) \"lambda\"\n ATMOSPHERE: (20689..20690) \" \"\n FORM: (20690..20693)\n OPEN_PAREN: (20690..20691) \"(\"\n SYMBOL: (20691..20692)\n IDENTIFIER: (20691..20692) \"x\"\n CLOSE_PAREN: (20692..20693) \")\"\n ATMOSPHERE: (20693..20694) \" \"\n SYMBOL: (20694..20695)\n IDENTIFIER: (20694..20695) \"x\"\n CLOSE_PAREN: (20695..20696) \")\"\n CLOSE_PAREN: (20696..20697) \")\"\n CLOSE_PAREN: (20697..20698) \")\"\n ATMOSPHERE: (20698..20705) \"\n \"\n FORM: (20705..20714)\n OPEN_PAREN: (20705..20706) \"(\"\n SYMBOL: (20706..20709)\n IDENTIFIER: (20706..20709) \"eq?\"\n ATMOSPHERE: (20709..20710) \" \"\n SYMBOL: (20710..20711)\n IDENTIFIER: (20710..20711) \"p\"\n ATMOSPHERE: (20711..20712) \" \"\n SYMBOL: (20712..20713)\n IDENTIFIER: (20712..20713) \"p\"\n CLOSE_PAREN: (20713..20714) \")\"\n CLOSE_PAREN: (20714..20715) \")\"\n CLOSE_PAREN: (20715..20716) \")\"\n ATMOSPHERE: (20716..20718) \"\n\n\"\n FORM: (20718..20742)\n OPEN_PAREN: (20718..20719) \"(\"\n SYMBOL: (20719..20723)\n IDENTIFIER: (20719..20723) \"test\"\n ATMOSPHERE: (20723..20724) \" \"\n CONSTANT: (20724..20726)\n BOOLEAN: (20724..20726) \"#t\"\n ATMOSPHERE: (20726..20727) \" \"\n FORM: (20727..20741)\n OPEN_PAREN: (20727..20728) \"(\"\n SYMBOL: (20728..20734)\n IDENTIFIER: (20728..20734) \"equal?\"\n ATMOSPHERE: (20734..20735) \" \"\n QUOTED_DATUM: (20735..20738)\n QUOTE: (20735..20736) \"'\"\n SYMBOL: (20736..20737)\n IDENTIFIER: (20736..20737) \"a\"\n ATMOSPHERE: (20737..20738) \" \"\n QUOTED_DATUM: (20738..20740)\n QUOTE: (20738..20739) \"'\"\n SYMBOL: (20739..20740)\n IDENTIFIER: (20739..20740) \"a\"\n CLOSE_PAREN: (20740..20741) \")\"\n CLOSE_PAREN: (20741..20742) \")\"\n ATMOSPHERE: (20742..20743) \"\n\"\n FORM: (20743..20771)\n OPEN_PAREN: (20743..20744) \"(\"\n SYMBOL: (20744..20748)\n IDENTIFIER: (20744..20748) \"test\"\n ATMOSPHERE: (20748..20749) \" \"\n CONSTANT: (20749..20751)\n BOOLEAN: (20749..20751) \"#t\"\n ATMOSPHERE: (20751..20752) \" \"\n FORM: (20752..20770)\n OPEN_PAREN: (20752..20753) \"(\"\n SYMBOL: (20753..20759)\n IDENTIFIER: (20753..20759) \"equal?\"\n ATMOSPHERE: (20759..20760) \" \"\n QUOTED_DATUM: (20760..20765)\n QUOTE: (20760..20761) \"'\"\n FORM: (20761..20764)\n OPEN_PAREN: (20761..20762) \"(\"\n SYMBOL: (20762..20763)\n IDENTIFIER: (20762..20763) \"a\"\n CLOSE_PAREN: (20763..20764) \")\"\n ATMOSPHERE: (20764..20765) \" \"\n QUOTED_DATUM: (20765..20769)\n QUOTE: (20765..20766) \"'\"\n FORM: (20766..20769)\n OPEN_PAREN: (20766..20767) \"(\"\n SYMBOL: (20767..20768)\n IDENTIFIER: (20767..20768) \"a\"\n CLOSE_PAREN: (20768..20769) \")\"\n CLOSE_PAREN: (20769..20770) \")\"\n CLOSE_PAREN: (20770..20771) \")\"\n ATMOSPHERE: (20771..20772) \"\n\"\n FORM: (20772..20829)\n OPEN_PAREN: (20772..20773) \"(\"\n SYMBOL: (20773..20777)\n IDENTIFIER: (20773..20777) \"test\"\n ATMOSPHERE: (20777..20778) \" \"\n CONSTANT: (20778..20780)\n BOOLEAN: (20778..20780) \"#t\"\n ATMOSPHERE: (20780..20781) \" \"\n FORM: (20781..20828)\n OPEN_PAREN: (20781..20782) \"(\"\n SYMBOL: (20782..20788)\n IDENTIFIER: (20782..20788) \"equal?\"\n ATMOSPHERE: (20788..20789) \" \"\n QUOTED_DATUM: (20789..20817)\n QUOTE: (20789..20790) \"'\"\n FORM: (20790..20799)\n OPEN_PAREN: (20790..20791) \"(\"\n SYMBOL: (20791..20792)\n IDENTIFIER: (20791..20792) \"a\"\n ATMOSPHERE: (20792..20793) \" \"\n FORM: (20793..20796)\n OPEN_PAREN: (20793..20794) \"(\"\n SYMBOL: (20794..20795)\n IDENTIFIER: (20794..20795) \"b\"\n CLOSE_PAREN: (20795..20796) \")\"\n ATMOSPHERE: (20796..20797) \" \"\n SYMBOL: (20797..20798)\n IDENTIFIER: (20797..20798) \"c\"\n CLOSE_PAREN: (20798..20799) \")\"\n ATMOSPHERE: (20799..20817) \"\n \"\n QUOTED_DATUM: (20817..20827)\n QUOTE: (20817..20818) \"'\"\n FORM: (20818..20827)\n OPEN_PAREN: (20818..20819) \"(\"\n SYMBOL: (20819..20820)\n IDENTIFIER: (20819..20820) \"a\"\n ATMOSPHERE: (20820..20821) \" \"\n FORM: (20821..20824)\n OPEN_PAREN: (20821..20822) \"(\"\n SYMBOL: (20822..20823)\n IDENTIFIER: (20822..20823) \"b\"\n CLOSE_PAREN: (20823..20824) \")\"\n ATMOSPHERE: (20824..20825) \" \"\n SYMBOL: (20825..20826)\n IDENTIFIER: (20825..20826) \"c\"\n CLOSE_PAREN: (20826..20827) \")\"\n CLOSE_PAREN: (20827..20828) \")\"\n CLOSE_PAREN: (20828..20829) \")\"\n ATMOSPHERE: (20829..20830) \"\n\"\n FORM: (20830..20860)\n OPEN_PAREN: (20830..20831) \"(\"\n SYMBOL: (20831..20835)\n IDENTIFIER: (20831..20835) \"test\"\n ATMOSPHERE: (20835..20836) \" \"\n CONSTANT: (20836..20838)\n BOOLEAN: (20836..20838) \"#t\"\n ATMOSPHERE: (20838..20839) \" \"\n FORM: (20839..20859)\n OPEN_PAREN: (20839..20840) \"(\"\n SYMBOL: (20840..20846)\n IDENTIFIER: (20840..20846) \"equal?\"\n ATMOSPHERE: (20846..20847) \" \"\n CONSTANT: (20847..20852)\n STRING: (20847..20852) \"\"abc\"\"\n ATMOSPHERE: (20852..20853) \" \"\n CONSTANT: (20853..20858)\n STRING: (20853..20858) \"\"abc\"\"\n CLOSE_PAREN: (20858..20859) \")\"\n CLOSE_PAREN: (20859..20860) \")\"\n ATMOSPHERE: (20860..20861) \"\n\"\n FORM: (20861..20883)\n OPEN_PAREN: (20861..20862) \"(\"\n SYMBOL: (20862..20866)\n IDENTIFIER: (20862..20866) \"test\"\n ATMOSPHERE: (20866..20867) \" \"\n CONSTANT: (20867..20869)\n BOOLEAN: (20867..20869) \"#t\"\n ATMOSPHERE: (20869..20870) \" \"\n FORM: (20870..20882)\n OPEN_PAREN: (20870..20871) \"(\"\n SYMBOL: (20871..20877)\n IDENTIFIER: (20871..20877) \"equal?\"\n ATMOSPHERE: (20877..20878) \" \"\n CONSTANT: (20878..20879)\n NUMBER: (20878..20879) \"2\"\n ATMOSPHERE: (20879..20880) \" \"\n CONSTANT: (20880..20881)\n NUMBER: (20880..20881) \"2\"\n CLOSE_PAREN: (20881..20882) \")\"\n CLOSE_PAREN: (20882..20883) \")\"\n ATMOSPHERE: (20883..20884) \"\n\"\n FORM: (20884..20957)\n OPEN_PAREN: (20884..20885) \"(\"\n SYMBOL: (20885..20889)\n IDENTIFIER: (20885..20889) \"test\"\n ATMOSPHERE: (20889..20890) \" \"\n CONSTANT: (20890..20892)\n BOOLEAN: (20890..20892) \"#t\"\n ATMOSPHERE: (20892..20893) \" \"\n FORM: (20893..20956)\n OPEN_PAREN: (20893..20894) \"(\"\n SYMBOL: (20894..20900)\n IDENTIFIER: (20894..20900) \"equal?\"\n ATMOSPHERE: (20900..20901) \" \"\n FORM: (20901..20919)\n OPEN_PAREN: (20901..20902) \"(\"\n SYMBOL: (20902..20913)\n IDENTIFIER: (20902..20913) \"make-vector\"\n ATMOSPHERE: (20913..20914) \" \"\n CONSTANT: (20914..20915)\n NUMBER: (20914..20915) \"5\"\n ATMOSPHERE: (20915..20916) \" \"\n QUOTED_DATUM: (20916..20918)\n QUOTE: (20916..20917) \"'\"\n SYMBOL: (20917..20918)\n IDENTIFIER: (20917..20918) \"a\"\n CLOSE_PAREN: (20918..20919) \")\"\n ATMOSPHERE: (20919..20937) \"\n \"\n FORM: (20937..20955)\n OPEN_PAREN: (20937..20938) \"(\"\n SYMBOL: (20938..20949)\n IDENTIFIER: (20938..20949) \"make-vector\"\n ATMOSPHERE: (20949..20950) \" \"\n CONSTANT: (20950..20951)\n NUMBER: (20950..20951) \"5\"\n ATMOSPHERE: (20951..20952) \" \"\n QUOTED_DATUM: (20952..20954)\n QUOTE: (20952..20953) \"'\"\n SYMBOL: (20953..20954)\n IDENTIFIER: (20953..20954) \"a\"\n CLOSE_PAREN: (20954..20955) \")\"\n CLOSE_PAREN: (20955..20956) \")\"\n CLOSE_PAREN: (20956..20957) \")\"\n ATMOSPHERE: (20957..20959) \"\n\n\"\n FORM: (20959..20969)\n OPEN_PAREN: (20959..20960) \"(\"\n SYMBOL: (20960..20968)\n IDENTIFIER: (20960..20968) \"test-end\"\n CLOSE_PAREN: (20968..20969) \")\"\n ATMOSPHERE: (20969..20971) \"\n\n\"\n FORM: (20971..20997)\n OPEN_PAREN: (20971..20972) \"(\"\n SYMBOL: (20972..20982)\n IDENTIFIER: (20972..20982) \"test-begin\"\n ATMOSPHERE: (20982..20983) \" \"\n CONSTANT: (20983..20996)\n STRING: (20983..20996) \"\"6.2 Numbers\"\"\n CLOSE_PAREN: (20996..20997) \")\"\n ATMOSPHERE: (20997..20999) \"\n\n\"\n ATMOSPHERE: (20999..21027) \";; (test #t (complex? 3+4i))\"\n ATMOSPHERE: (21027..21028) \"\n\"\n ATMOSPHERE: (21028..21053) \";; (test #t (complex? 3))\"\n ATMOSPHERE: (21053..21054) \"\n\"\n ATMOSPHERE: (21054..21076) \";; (test #t (real? 3))\"\n ATMOSPHERE: (21076..21077) \"\n\"\n ATMOSPHERE: (21077..21105) \";; (test #t (real? -2.5+0i))\"\n ATMOSPHERE: (21105..21106) \"\n\"\n ATMOSPHERE: (21106..21136) \";; (test #f (real? -2.5+0.0i))\"\n ATMOSPHERE: (21136..21137) \"\n\"\n ATMOSPHERE: (21137..21164) \";; (test #t (real? #e1e10))\"\n ATMOSPHERE: (21164..21165) \"\n\"\n ATMOSPHERE: (21165..21192) \";; (test #t (real? +inf.0))\"\n ATMOSPHERE: (21192..21193) \"\n\"\n ATMOSPHERE: (21193..21224) \";; (test #f (rational? -inf.0))\"\n ATMOSPHERE: (21224..21225) \"\n\"\n ATMOSPHERE: (21225..21256) \";; (test #f (rational? +nan.0))\"\n ATMOSPHERE: (21256..21257) \"\n\"\n ATMOSPHERE: (21257..21300) \";; (test #t (rational? 9007199254740991.0))\"\n ATMOSPHERE: (21300..21301) \"\n\"\n ATMOSPHERE: (21301..21344) \";; (test #t (rational? 9007199254740992.0))\"\n ATMOSPHERE: (21344..21345) \"\n\"\n ATMOSPHERE: (21345..21392) \";; (test #t (rational? 1.7976931348623157e308))\"\n ATMOSPHERE: (21392..21393) \"\n\"\n ATMOSPHERE: (21393..21422) \";; (test #t (rational? 6/10))\"\n ATMOSPHERE: (21422..21423) \"\n\"\n ATMOSPHERE: (21423..21451) \";; (test #t (rational? 6/3))\"\n ATMOSPHERE: (21451..21452) \"\n\"\n ATMOSPHERE: (21452..21480) \";; (test #t (integer? 3+0i))\"\n ATMOSPHERE: (21480..21481) \"\n\"\n ATMOSPHERE: (21481..21508) \";; (test #t (integer? 3.0))\"\n ATMOSPHERE: (21508..21509) \"\n\"\n ATMOSPHERE: (21509..21536) \";; (test #t (integer? 8/4))\"\n ATMOSPHERE: (21536..21538) \"\n\n\"\n ATMOSPHERE: (21538..21563) \";; (test #f (exact? 3.0))\"\n ATMOSPHERE: (21563..21564) \"\n\"\n ATMOSPHERE: (21564..21591) \";; (test #t (exact? #e3.0))\"\n ATMOSPHERE: (21591..21592) \"\n\"\n ATMOSPHERE: (21592..21618) \";; (test #t (inexact? 3.))\"\n ATMOSPHERE: (21618..21620) \"\n\n\"\n ATMOSPHERE: (21620..21652) \";; (test #t (exact-integer? 32))\"\n ATMOSPHERE: (21652..21653) \"\n\"\n ATMOSPHERE: (21653..21687) \";; (test #f (exact-integer? 32.0))\"\n ATMOSPHERE: (21687..21688) \"\n\"\n ATMOSPHERE: (21688..21722) \";; (test #f (exact-integer? 32/5))\"\n ATMOSPHERE: (21722..21724) \"\n\n\"\n ATMOSPHERE: (21724..21748) \";; (test #t (finite? 3))\"\n ATMOSPHERE: (21748..21749) \"\n\"\n ATMOSPHERE: (21749..21778) \";; (test #f (finite? +inf.0))\"\n ATMOSPHERE: (21778..21779) \"\n\"\n ATMOSPHERE: (21779..21812) \";; (test #f (finite? 3.0+inf.0i))\"\n ATMOSPHERE: (21812..21814) \"\n\n\"\n ATMOSPHERE: (21814..21840) \";; (test #f (infinite? 3))\"\n ATMOSPHERE: (21840..21841) \"\n\"\n ATMOSPHERE: (21841..21872) \";; (test #t (infinite? +inf.0))\"\n ATMOSPHERE: (21872..21873) \"\n\"\n ATMOSPHERE: (21873..21904) \";; (test #f (infinite? +nan.0))\"\n ATMOSPHERE: (21904..21905) \"\n\"\n ATMOSPHERE: (21905..21940) \";; (test #t (infinite? 3.0+inf.0i))\"\n ATMOSPHERE: (21940..21942) \"\n\n\"\n ATMOSPHERE: (21942..21968) \";; (test #t (nan? +nan.0))\"\n ATMOSPHERE: (21968..21969) \"\n\"\n ATMOSPHERE: (21969..21991) \";; (test #f (nan? 32))\"\n ATMOSPHERE: (21991..21992) \"\n\"\n ATMOSPHERE: (21992..22026) \";; ;; (test #t (nan? +nan.0+5.0i))\"\n ATMOSPHERE: (22026..22027) \"\n\"\n ATMOSPHERE: (22027..22051) \";; (test #f (nan? 1+2i))\"\n ATMOSPHERE: (22051..22053) \"\n\n\"\n ATMOSPHERE: (22053..22084) \";; (test #t (= 1 1.0 1.0+0.0i))\"\n ATMOSPHERE: (22084..22085) \"\n\"\n ATMOSPHERE: (22085..22114) \";; (test #f (= 1.0 1.0+1.0i))\"\n ATMOSPHERE: (22114..22115) \"\n\"\n ATMOSPHERE: (22115..22137) \";; (test #t (< 1 2 3))\"\n ATMOSPHERE: (22137..22138) \"\n\"\n ATMOSPHERE: (22138..22160) \";; (test #f (< 1 1 2))\"\n ATMOSPHERE: (22160..22161) \"\n\"\n ATMOSPHERE: (22161..22189) \";; (test #t (> 3.0 2.0 1.0))\"\n ATMOSPHERE: (22189..22190) \"\n\"\n ATMOSPHERE: (22190..22219) \";; (test #f (> -3.0 2.0 1.0))\"\n ATMOSPHERE: (22219..22220) \"\n\"\n ATMOSPHERE: (22220..22243) \";; (test #t (<= 1 1 2))\"\n ATMOSPHERE: (22243..22244) \"\n\"\n ATMOSPHERE: (22244..22267) \";; (test #f (<= 1 2 1))\"\n ATMOSPHERE: (22267..22268) \"\n\"\n ATMOSPHERE: (22268..22291) \";; (test #t (>= 2 1 1))\"\n ATMOSPHERE: (22291..22292) \"\n\"\n ATMOSPHERE: (22292..22315) \";; (test #f (>= 1 2 1))\"\n ATMOSPHERE: (22315..22316) \"\n\"\n ATMOSPHERE: (22316..22341) \";; (test #f (< +nan.0 0))\"\n ATMOSPHERE: (22341..22342) \"\n\"\n ATMOSPHERE: (22342..22367) \";; (test #f (> +nan.0 0))\"\n ATMOSPHERE: (22367..22368) \"\n\"\n ATMOSPHERE: (22368..22395) \";; (test #f (< +nan.0 0.0))\"\n ATMOSPHERE: (22395..22396) \"\n\"\n ATMOSPHERE: (22396..22423) \";; (test #f (> +nan.0 0.0))\"\n ATMOSPHERE: (22423..22424) \"\n\"\n ATMOSPHERE: (22424..22471) \";; (test '(#t #f) (list (<= 1 1 2) (<= 2 1 3)))\"\n ATMOSPHERE: (22471..22473) \"\n\n\"\n ATMOSPHERE: (22473..22516) \";; ;; From R7RS 6.2.6 Numerical operations:\"\n ATMOSPHERE: (22516..22517) \"\n\"\n ATMOSPHERE: (22517..22522) \";; ;;\"\n ATMOSPHERE: (22522..22523) \"\n\"\n ATMOSPHERE: (22523..22576) \";; ;; These predicates are required to be transitive.\"\n ATMOSPHERE: (22576..22577) \"\n\"\n ATMOSPHERE: (22577..22582) \";; ;;\"\n ATMOSPHERE: (22582..22583) \"\n\"\n ATMOSPHERE: (22583..22651) \";; ;; _Note:_ The traditional implementations of these predicates in\"\n ATMOSPHERE: (22651..22652) \"\n\"\n ATMOSPHERE: (22652..22728) \";; ;; Lisp-like languages, which involve converting all arguments to inexact\"\n ATMOSPHERE: (22728..22729) \"\n\"\n ATMOSPHERE: (22729..22790) \";; ;; numbers if any argument is inexact, are not transitive.\"\n ATMOSPHERE: (22790..22792) \"\n\n\"\n ATMOSPHERE: (22792..22822) \";; ;; Example from Alan Bawden\"\n ATMOSPHERE: (22822..22823) \"\n\"\n ATMOSPHERE: (22823..22855) \";; (let ((a (- (expt 2 1000) 1))\"\n ATMOSPHERE: (22855..22856) \"\n\"\n ATMOSPHERE: (22856..22926) \";; (b (inexact (expt 2 1000))) ; assuming > single-float-epsilon\"\n ATMOSPHERE: (22926..22927) \"\n\"\n ATMOSPHERE: (22927..22960) \";; (c (+ (expt 2 1000) 1)))\"\n ATMOSPHERE: (22960..22961) \"\n\"\n ATMOSPHERE: (22961..23000) \";; (test #t (if (and (= a b) (= b c))\"\n ATMOSPHERE: (23000..23001) \"\n\"\n ATMOSPHERE: (23001..23026) \";; (= a c)\"\n ATMOSPHERE: (23026..23027) \"\n\"\n ATMOSPHERE: (23027..23050) \";; #t)))\"\n ATMOSPHERE: (23050..23052) \"\n\n\"\n ATMOSPHERE: (23052..23097) \";; ;; From CLtL 12.3. Comparisons on Numbers:\"\n ATMOSPHERE: (23097..23098) \"\n\"\n ATMOSPHERE: (23098..23103) \";; ;;\"\n ATMOSPHERE: (23103..23104) \"\n\"\n ATMOSPHERE: (23104..23174) \";; ;; Let _a_ be the result of (/ 10.0 single-float-epsilon), and let\"\n ATMOSPHERE: (23174..23175) \"\n\"\n ATMOSPHERE: (23175..23245) \";; ;; _j_ be the result of (floor a). ..., all of (<= a j), (< j (+ j\"\n ATMOSPHERE: (23245..23246) \"\n\"\n ATMOSPHERE: (23246..23315) \";; ;; 1)), and (<= (+ j 1) a) would be true; transitivity would then\"\n ATMOSPHERE: (23315..23316) \"\n\"\n ATMOSPHERE: (23316..23362) \";; ;; imply that (< a a) ought to be true ...\"\n ATMOSPHERE: (23362..23364) \"\n\n\"\n ATMOSPHERE: (23364..23408) \";; ;; Transliteration from Jussi Piitulainen\"\n ATMOSPHERE: (23408..23409) \"\n\"\n ATMOSPHERE: (23409..23440) \";; (define single-float-epsilon\"\n ATMOSPHERE: (23440..23441) \"\n\"\n ATMOSPHERE: (23441..23473) \";; (do ((eps 1.0 (* eps 2.0)))\"\n ATMOSPHERE: (23473..23474) \"\n\"\n ATMOSPHERE: (23474..23510) \";; ((= eps (+ eps 1.0)) eps)))\"\n ATMOSPHERE: (23510..23512) \"\n\n\"\n ATMOSPHERE: (23512..23555) \";; (let* ((a (/ 10.0 single-float-epsilon))\"\n ATMOSPHERE: (23555..23556) \"\n\"\n ATMOSPHERE: (23556..23580) \";; (j (exact a)))\"\n ATMOSPHERE: (23580..23581) \"\n\"\n ATMOSPHERE: (23581..23627) \";; (test #t (if (and (<= a j) (< j (+ j 1)))\"\n ATMOSPHERE: (23627..23628) \"\n\"\n ATMOSPHERE: (23628..23666) \";; (not (<= (+ j 1) a))\"\n ATMOSPHERE: (23666..23667) \"\n\"\n ATMOSPHERE: (23667..23690) \";; #t)))\"\n ATMOSPHERE: (23690..23692) \"\n\n\"\n ATMOSPHERE: (23692..23714) \";; (test #t (zero? 0))\"\n ATMOSPHERE: (23714..23715) \"\n\"\n ATMOSPHERE: (23715..23739) \";; (test #t (zero? 0.0))\"\n ATMOSPHERE: (23739..23740) \"\n\"\n ATMOSPHERE: (23740..23769) \";; (test #t (zero? 0.0+0.0i))\"\n ATMOSPHERE: (23769..23770) \"\n\"\n ATMOSPHERE: (23770..23792) \";; (test #f (zero? 1))\"\n ATMOSPHERE: (23792..23793) \"\n\"\n ATMOSPHERE: (23793..23816) \";; (test #f (zero? -1))\"\n ATMOSPHERE: (23816..23818) \"\n\n\"\n ATMOSPHERE: (23818..23844) \";; (test #f (positive? 0))\"\n ATMOSPHERE: (23844..23845) \"\n\"\n ATMOSPHERE: (23845..23873) \";; (test #f (positive? 0.0))\"\n ATMOSPHERE: (23873..23874) \"\n\"\n ATMOSPHERE: (23874..23900) \";; (test #t (positive? 1))\"\n ATMOSPHERE: (23900..23901) \"\n\"\n ATMOSPHERE: (23901..23929) \";; (test #t (positive? 1.0))\"\n ATMOSPHERE: (23929..23930) \"\n\"\n ATMOSPHERE: (23930..23957) \";; (test #f (positive? -1))\"\n ATMOSPHERE: (23957..23958) \"\n\"\n ATMOSPHERE: (23958..23987) \";; (test #f (positive? -1.0))\"\n ATMOSPHERE: (23987..23988) \"\n\"\n ATMOSPHERE: (23988..24019) \";; (test #t (positive? +inf.0))\"\n ATMOSPHERE: (24019..24020) \"\n\"\n ATMOSPHERE: (24020..24051) \";; (test #f (positive? -inf.0))\"\n ATMOSPHERE: (24051..24052) \"\n\"\n ATMOSPHERE: (24052..24083) \";; (test #f (positive? +nan.0))\"\n ATMOSPHERE: (24083..24085) \"\n\n\"\n ATMOSPHERE: (24085..24111) \";; (test #f (negative? 0))\"\n ATMOSPHERE: (24111..24112) \"\n\"\n ATMOSPHERE: (24112..24140) \";; (test #f (negative? 0.0))\"\n ATMOSPHERE: (24140..24141) \"\n\"\n ATMOSPHERE: (24141..24167) \";; (test #f (negative? 1))\"\n ATMOSPHERE: (24167..24168) \"\n\"\n ATMOSPHERE: (24168..24196) \";; (test #f (negative? 1.0))\"\n ATMOSPHERE: (24196..24197) \"\n\"\n ATMOSPHERE: (24197..24224) \";; (test #t (negative? -1))\"\n ATMOSPHERE: (24224..24225) \"\n\"\n ATMOSPHERE: (24225..24254) \";; (test #t (negative? -1.0))\"\n ATMOSPHERE: (24254..24255) \"\n\"\n ATMOSPHERE: (24255..24286) \";; (test #f (negative? +inf.0))\"\n ATMOSPHERE: (24286..24287) \"\n\"\n ATMOSPHERE: (24287..24318) \";; (test #t (negative? -inf.0))\"\n ATMOSPHERE: (24318..24319) \"\n\"\n ATMOSPHERE: (24319..24350) \";; (test #f (negative? +nan.0))\"\n ATMOSPHERE: (24350..24352) \"\n\n\"\n ATMOSPHERE: (24352..24373) \";; (test #f (odd? 0))\"\n ATMOSPHERE: (24373..24374) \"\n\"\n ATMOSPHERE: (24374..24395) \";; (test #t (odd? 1))\"\n ATMOSPHERE: (24395..24396) \"\n\"\n ATMOSPHERE: (24396..24418) \";; (test #t (odd? -1))\"\n ATMOSPHERE: (24418..24419) \"\n\"\n ATMOSPHERE: (24419..24442) \";; (test #f (odd? 102))\"\n ATMOSPHERE: (24442..24444) \"\n\n\"\n ATMOSPHERE: (24444..24466) \";; (test #t (even? 0))\"\n ATMOSPHERE: (24466..24467) \"\n\"\n ATMOSPHERE: (24467..24489) \";; (test #f (even? 1))\"\n ATMOSPHERE: (24489..24490) \"\n\"\n ATMOSPHERE: (24490..24513) \";; (test #t (even? -2))\"\n ATMOSPHERE: (24513..24514) \"\n\"\n ATMOSPHERE: (24514..24538) \";; (test #t (even? 102))\"\n ATMOSPHERE: (24538..24540) \"\n\n\"\n ATMOSPHERE: (24540..24559) \";; (test 3 (max 3))\"\n ATMOSPHERE: (24559..24560) \"\n\"\n ATMOSPHERE: (24560..24581) \";; (test 4 (max 3 4))\"\n ATMOSPHERE: (24581..24582) \"\n\"\n ATMOSPHERE: (24582..24607) \";; (test 4.0 (max 3.9 4))\"\n ATMOSPHERE: (24607..24608) \"\n\"\n ATMOSPHERE: (24608..24635) \";; (test 5.0 (max 5 3.9 4))\"\n ATMOSPHERE: (24635..24636) \"\n\"\n ATMOSPHERE: (24636..24669) \";; (test +inf.0 (max 100 +inf.0))\"\n ATMOSPHERE: (24669..24670) \"\n\"\n ATMOSPHERE: (24670..24689) \";; (test 3 (min 3))\"\n ATMOSPHERE: (24689..24690) \"\n\"\n ATMOSPHERE: (24690..24711) \";; (test 3 (min 3 4))\"\n ATMOSPHERE: (24711..24712) \"\n\"\n ATMOSPHERE: (24712..24737) \";; (test 3.0 (min 3 3.1))\"\n ATMOSPHERE: (24737..24738) \"\n\"\n ATMOSPHERE: (24738..24772) \";; (test -inf.0 (min -inf.0 -100))\"\n ATMOSPHERE: (24772..24774) \"\n\n\"\n ATMOSPHERE: (24774..24793) \";; (test 7 (+ 3 4))\"\n ATMOSPHERE: (24793..24794) \"\n\"\n ATMOSPHERE: (24794..24811) \";; (test 3 (+ 3))\"\n ATMOSPHERE: (24811..24812) \"\n\"\n ATMOSPHERE: (24812..24827) \";; (test 0 (+))\"\n ATMOSPHERE: (24827..24828) \"\n\"\n ATMOSPHERE: (24828..24845) \";; (test 4 (* 4))\"\n ATMOSPHERE: (24845..24846) \"\n\"\n ATMOSPHERE: (24846..24861) \";; (test 1 (*))\"\n ATMOSPHERE: (24861..24863) \"\n\n\"\n ATMOSPHERE: (24863..24883) \";; (test -1 (- 3 4))\"\n ATMOSPHERE: (24883..24884) \"\n\"\n ATMOSPHERE: (24884..24906) \";; (test -6 (- 3 4 5))\"\n ATMOSPHERE: (24906..24907) \"\n\"\n ATMOSPHERE: (24907..24925) \";; (test -3 (- 3))\"\n ATMOSPHERE: (24925..24926) \"\n\"\n ATMOSPHERE: (24926..24950) \";; (test 3/20 (/ 3 4 5))\"\n ATMOSPHERE: (24950..24951) \"\n\"\n ATMOSPHERE: (24951..24970) \";; (test 1/3 (/ 3))\"\n ATMOSPHERE: (24970..24972) \"\n\n\"\n ATMOSPHERE: (24972..24992) \";; (test 7 (abs -7))\"\n ATMOSPHERE: (24992..24993) \"\n\"\n ATMOSPHERE: (24993..25012) \";; (test 7 (abs 7))\"\n ATMOSPHERE: (25012..25014) \"\n\n\"\n ATMOSPHERE: (25014..25056) \";; (test-values (values 2 1) (floor/ 5 2))\"\n ATMOSPHERE: (25056..25057) \"\n\"\n ATMOSPHERE: (25057..25101) \";; (test-values (values -3 1) (floor/ -5 2))\"\n ATMOSPHERE: (25101..25102) \"\n\"\n ATMOSPHERE: (25102..25147) \";; (test-values (values -3 -1) (floor/ 5 -2))\"\n ATMOSPHERE: (25147..25148) \"\n\"\n ATMOSPHERE: (25148..25193) \";; (test-values (values 2 -1) (floor/ -5 -2))\"\n ATMOSPHERE: (25193..25194) \"\n\"\n ATMOSPHERE: (25194..25239) \";; (test-values (values 2 1) (truncate/ 5 2))\"\n ATMOSPHERE: (25239..25240) \"\n\"\n ATMOSPHERE: (25240..25288) \";; (test-values (values -2 -1) (truncate/ -5 2))\"\n ATMOSPHERE: (25288..25289) \"\n\"\n ATMOSPHERE: (25289..25336) \";; (test-values (values -2 1) (truncate/ 5 -2))\"\n ATMOSPHERE: (25336..25337) \"\n\"\n ATMOSPHERE: (25337..25385) \";; (test-values (values 2 -1) (truncate/ -5 -2))\"\n ATMOSPHERE: (25385..25386) \"\n\"\n ATMOSPHERE: (25386..25440) \";; (test-values (values 2.0 -1.0) (truncate/ -5.0 -2))\"\n ATMOSPHERE: (25440..25442) \"\n\n\"\n ATMOSPHERE: (25442..25467) \";; (test 1 (modulo 13 4))\"\n ATMOSPHERE: (25467..25468) \"\n\"\n ATMOSPHERE: (25468..25496) \";; (test 1 (remainder 13 4))\"\n ATMOSPHERE: (25496..25498) \"\n\n\"\n ATMOSPHERE: (25498..25524) \";; (test 3 (modulo -13 4))\"\n ATMOSPHERE: (25524..25525) \"\n\"\n ATMOSPHERE: (25525..25555) \";; (test -1 (remainder -13 4))\"\n ATMOSPHERE: (25555..25557) \"\n\n\"\n ATMOSPHERE: (25557..25584) \";; (test -3 (modulo 13 -4))\"\n ATMOSPHERE: (25584..25585) \"\n\"\n ATMOSPHERE: (25585..25614) \";; (test 1 (remainder 13 -4))\"\n ATMOSPHERE: (25614..25616) \"\n\n\"\n ATMOSPHERE: (25616..25644) \";; (test -1 (modulo -13 -4))\"\n ATMOSPHERE: (25644..25645) \"\n\"\n ATMOSPHERE: (25645..25676) \";; (test -1 (remainder -13 -4))\"\n ATMOSPHERE: (25676..25678) \"\n\n\"\n ATMOSPHERE: (25678..25713) \";; (test -1.0 (remainder -13 -4.0))\"\n ATMOSPHERE: (25713..25715) \"\n\n\"\n ATMOSPHERE: (25715..25739) \";; (test 4 (gcd 32 -36))\"\n ATMOSPHERE: (25739..25740) \"\n\"\n ATMOSPHERE: (25740..25757) \";; (test 0 (gcd))\"\n ATMOSPHERE: (25757..25758) \"\n\"\n ATMOSPHERE: (25758..25784) \";; (test 288 (lcm 32 -36))\"\n ATMOSPHERE: (25784..25785) \"\n\"\n ATMOSPHERE: (25785..25815) \";; (test 288.0 (lcm 32.0 -36))\"\n ATMOSPHERE: (25815..25816) \"\n\"\n ATMOSPHERE: (25816..25833) \";; (test 1 (lcm))\"\n ATMOSPHERE: (25833..25835) \"\n\n\"\n ATMOSPHERE: (25835..25866) \";; (test 3 (numerator (/ 6 4)))\"\n ATMOSPHERE: (25866..25867) \"\n\"\n ATMOSPHERE: (25867..25900) \";; (test 2 (denominator (/ 6 4)))\"\n ATMOSPHERE: (25900..25901) \"\n\"\n ATMOSPHERE: (25901..25946) \";; (test 2.0 (denominator (inexact (/ 6 4))))\"\n ATMOSPHERE: (25946..25947) \"\n\"\n ATMOSPHERE: (25947..25977) \";; (test 11.0 (numerator 5.5))\"\n ATMOSPHERE: (25977..25978) \"\n\"\n ATMOSPHERE: (25978..26009) \";; (test 2.0 (denominator 5.5))\"\n ATMOSPHERE: (26009..26010) \"\n\"\n ATMOSPHERE: (26010..26039) \";; (test 5.0 (numerator 5.0))\"\n ATMOSPHERE: (26039..26040) \"\n\"\n ATMOSPHERE: (26040..26071) \";; (test 1.0 (denominator 5.0))\"\n ATMOSPHERE: (26071..26073) \"\n\n\"\n ATMOSPHERE: (26073..26100) \";; (test -5.0 (floor -4.3))\"\n ATMOSPHERE: (26100..26101) \"\n\"\n ATMOSPHERE: (26101..26130) \";; (test -4.0 (ceiling -4.3))\"\n ATMOSPHERE: (26130..26131) \"\n\"\n ATMOSPHERE: (26131..26161) \";; (test -4.0 (truncate -4.3))\"\n ATMOSPHERE: (26161..26162) \"\n\"\n ATMOSPHERE: (26162..26189) \";; (test -4.0 (round -4.3))\"\n ATMOSPHERE: (26189..26191) \"\n\n\"\n ATMOSPHERE: (26191..26216) \";; (test 3.0 (floor 3.5))\"\n ATMOSPHERE: (26216..26217) \"\n\"\n ATMOSPHERE: (26217..26244) \";; (test 4.0 (ceiling 3.5))\"\n ATMOSPHERE: (26244..26245) \"\n\"\n ATMOSPHERE: (26245..26273) \";; (test 3.0 (truncate 3.5))\"\n ATMOSPHERE: (26273..26274) \"\n\"\n ATMOSPHERE: (26274..26299) \";; (test 4.0 (round 3.5))\"\n ATMOSPHERE: (26299..26301) \"\n\n\"\n ATMOSPHERE: (26301..26324) \";; (test 4 (round 7/2))\"\n ATMOSPHERE: (26324..26325) \"\n\"\n ATMOSPHERE: (26325..26346) \";; (test 7 (round 7))\"\n ATMOSPHERE: (26346..26347) \"\n\"\n ATMOSPHERE: (26347..26371) \";; (test 1 (round 7/10))\"\n ATMOSPHERE: (26371..26372) \"\n\"\n ATMOSPHERE: (26372..26397) \";; (test -4 (round -7/2))\"\n ATMOSPHERE: (26397..26398) \"\n\"\n ATMOSPHERE: (26398..26421) \";; (test -7 (round -7))\"\n ATMOSPHERE: (26421..26422) \"\n\"\n ATMOSPHERE: (26422..26448) \";; (test -1 (round -7/10))\"\n ATMOSPHERE: (26448..26450) \"\n\n\"\n ATMOSPHERE: (26450..26493) \";; (test 1/3 (rationalize (exact .3) 1/10))\"\n ATMOSPHERE: (26493..26494) \"\n\"\n ATMOSPHERE: (26494..26531) \";; (test #i1/3 (rationalize .3 1/10))\"\n ATMOSPHERE: (26531..26533) \"\n\n\"\n ATMOSPHERE: (26533..26591) \";; (test 1.0 (inexact (exp 0))) ;; may return exact number\"\n ATMOSPHERE: (26591..26592) \"\n\"\n ATMOSPHERE: (26592..26626) \";; (test 20.0855369231877 (exp 3))\"\n ATMOSPHERE: (26626..26628) \"\n\n\"\n ATMOSPHERE: (26628..26686) \";; (test 0.0 (inexact (log 1))) ;; may return exact number\"\n ATMOSPHERE: (26686..26687) \"\n\"\n ATMOSPHERE: (26687..26714) \";; (test 1.0 (log (exp 1)))\"\n ATMOSPHERE: (26714..26715) \"\n\"\n ATMOSPHERE: (26715..26744) \";; (test 42.0 (log (exp 42)))\"\n ATMOSPHERE: (26744..26745) \"\n\"\n ATMOSPHERE: (26745..26771) \";; (test 2.0 (log 100 10))\"\n ATMOSPHERE: (26771..26772) \"\n\"\n ATMOSPHERE: (26772..26799) \";; (test 12.0 (log 4096 2))\"\n ATMOSPHERE: (26799..26801) \"\n\n\"\n ATMOSPHERE: (26801..26859) \";; (test 0.0 (inexact (sin 0))) ;; may return exact number\"\n ATMOSPHERE: (26859..26860) \"\n\"\n ATMOSPHERE: (26860..26895) \";; (test 1.0 (sin 1.5707963267949))\"\n ATMOSPHERE: (26895..26896) \"\n\"\n ATMOSPHERE: (26896..26954) \";; (test 1.0 (inexact (cos 0))) ;; may return exact number\"\n ATMOSPHERE: (26954..26955) \"\n\"\n ATMOSPHERE: (26955..26992) \";; (test -1.0 (cos 3.14159265358979))\"\n ATMOSPHERE: (26992..26993) \"\n\"\n ATMOSPHERE: (26993..27051) \";; (test 0.0 (inexact (tan 0))) ;; may return exact number\"\n ATMOSPHERE: (27051..27052) \"\n\"\n ATMOSPHERE: (27052..27085) \";; (test 1.5574077246549 (tan 1))\"\n ATMOSPHERE: (27085..27087) \"\n\n\"\n ATMOSPHERE: (27087..27146) \";; (test 0.0 (inexact (asin 0))) ;; may return exact number\"\n ATMOSPHERE: (27146..27147) \"\n\"\n ATMOSPHERE: (27147..27181) \";; (test 1.5707963267949 (asin 1))\"\n ATMOSPHERE: (27181..27182) \"\n\"\n ATMOSPHERE: (27182..27241) \";; (test 0.0 (inexact (acos 1))) ;; may return exact number\"\n ATMOSPHERE: (27241..27242) \"\n\"\n ATMOSPHERE: (27242..27278) \";; (test 3.14159265358979 (acos -1))\"\n ATMOSPHERE: (27278..27280) \"\n\n\"\n ATMOSPHERE: (27280..27315) \";; ;; (test 0.0-0.0i (asin 0+0.0i))\"\n ATMOSPHERE: (27315..27316) \"\n\"\n ATMOSPHERE: (27316..27366) \";; ;; (test 1.5707963267948966+0.0i (acos 0+0.0i))\"\n ATMOSPHERE: (27366..27368) \"\n\n\"\n ATMOSPHERE: (27368..27396) \";; (test 0.0 (atan 0.0 1.0))\"\n ATMOSPHERE: (27396..27397) \"\n\"\n ATMOSPHERE: (27397..27427) \";; (test -0.0 (atan -0.0 1.0))\"\n ATMOSPHERE: (27427..27428) \"\n\"\n ATMOSPHERE: (27428..27470) \";; (test 0.785398163397448 (atan 1.0 1.0))\"\n ATMOSPHERE: (27470..27471) \"\n\"\n ATMOSPHERE: (27471..27511) \";; (test 1.5707963267949 (atan 1.0 0.0))\"\n ATMOSPHERE: (27511..27512) \"\n\"\n ATMOSPHERE: (27512..27554) \";; (test 2.35619449019234 (atan 1.0 -1.0))\"\n ATMOSPHERE: (27554..27555) \"\n\"\n ATMOSPHERE: (27555..27597) \";; (test 3.14159265358979 (atan 0.0 -1.0))\"\n ATMOSPHERE: (27597..27598) \"\n\"\n ATMOSPHERE: (27598..27644) \";; (test -3.14159265358979 (atan -0.0 -1.0)) ;\"\n ATMOSPHERE: (27644..27645) \"\n\"\n ATMOSPHERE: (27645..27689) \";; (test -2.35619449019234 (atan -1.0 -1.0))\"\n ATMOSPHERE: (27689..27690) \"\n\"\n ATMOSPHERE: (27690..27732) \";; (test -1.5707963267949 (atan -1.0 0.0))\"\n ATMOSPHERE: (27732..27733) \"\n\"\n ATMOSPHERE: (27733..27777) \";; (test -0.785398163397448 (atan -1.0 1.0))\"\n ATMOSPHERE: (27777..27778) \"\n\"\n ATMOSPHERE: (27778..27815) \";; ;; (test undefined (atan 0.0 0.0))\"\n ATMOSPHERE: (27815..27817) \"\n\n\"\n ATMOSPHERE: (27817..27843) \";; (test 1764 (square 42))\"\n ATMOSPHERE: (27843..27844) \"\n\"\n ATMOSPHERE: (27844..27866) \";; (test 4 (square 2))\"\n ATMOSPHERE: (27866..27868) \"\n\n\"\n ATMOSPHERE: (27868..27900) \";; (test 3.0 (inexact (sqrt 9)))\"\n ATMOSPHERE: (27900..27901) \"\n\"\n ATMOSPHERE: (27901..27935) \";; (test 1.4142135623731 (sqrt 2))\"\n ATMOSPHERE: (27935..27936) \"\n\"\n ATMOSPHERE: (27936..27974) \";; (test 0.0+1.0i (inexact (sqrt -1)))\"\n ATMOSPHERE: (27974..27976) \"\n\n\"\n ATMOSPHERE: (27976..28051) \";; (test '(2 0) (call-with-values (lambda () (exact-integer-sqrt 4)) list))\"\n ATMOSPHERE: (28051..28052) \"\n\"\n ATMOSPHERE: (28052..28127) \";; (test '(2 1) (call-with-values (lambda () (exact-integer-sqrt 5)) list))\"\n ATMOSPHERE: (28127..28129) \"\n\n\"\n ATMOSPHERE: (28129..28152) \";; (test 27 (expt 3 3))\"\n ATMOSPHERE: (28152..28153) \"\n\"\n ATMOSPHERE: (28153..28175) \";; (test 1 (expt 0 0))\"\n ATMOSPHERE: (28175..28176) \"\n\"\n ATMOSPHERE: (28176..28198) \";; (test 0 (expt 0 1))\"\n ATMOSPHERE: (28198..28199) \"\n\"\n ATMOSPHERE: (28199..28225) \";; (test 1.0 (expt 0.0 0))\"\n ATMOSPHERE: (28225..28226) \"\n\"\n ATMOSPHERE: (28226..28252) \";; (test 0.0 (expt 0 1.0))\"\n ATMOSPHERE: (28252..28254) \"\n\n\"\n ATMOSPHERE: (28254..28291) \";; (test 1+2i (make-rectangular 1 2))\"\n ATMOSPHERE: (28291..28293) \"\n\n\"\n ATMOSPHERE: (28293..28355) \";; (test 0.54030230586814+0.841470984807897i (make-polar 1 1))\"\n ATMOSPHERE: (28355..28357) \"\n\n\"\n ATMOSPHERE: (28357..28385) \";; (test 1 (real-part 1+2i))\"\n ATMOSPHERE: (28385..28387) \"\n\n\"\n ATMOSPHERE: (28387..28415) \";; (test 2 (imag-part 1+2i))\"\n ATMOSPHERE: (28415..28417) \"\n\n\"\n ATMOSPHERE: (28417..28460) \";; (test 2.23606797749979 (magnitude 1+2i))\"\n ATMOSPHERE: (28460..28462) \"\n\n\"\n ATMOSPHERE: (28462..28501) \";; (test 1.10714871779409 (angle 1+2i))\"\n ATMOSPHERE: (28501..28503) \"\n\n\"\n ATMOSPHERE: (28503..28528) \";; (test 1.0 (inexact 1))\"\n ATMOSPHERE: (28528..28529) \"\n\"\n ATMOSPHERE: (28529..28564) \";; (test #t (inexact? (inexact 1)))\"\n ATMOSPHERE: (28564..28565) \"\n\"\n ATMOSPHERE: (28565..28588) \";; (test 1 (exact 1.0))\"\n ATMOSPHERE: (28588..28589) \"\n\"\n ATMOSPHERE: (28589..28622) \";; (test #t (exact? (exact 1.0)))\"\n ATMOSPHERE: (28622..28624) \"\n\n\"\n FORM: (28624..28657)\n OPEN_PAREN: (28624..28625) \"(\"\n SYMBOL: (28625..28629)\n IDENTIFIER: (28625..28629) \"test\"\n ATMOSPHERE: (28629..28630) \" \"\n CONSTANT: (28630..28633)\n NUMBER: (28630..28633) \"100\"\n ATMOSPHERE: (28633..28634) \" \"\n FORM: (28634..28656)\n OPEN_PAREN: (28634..28635) \"(\"\n SYMBOL: (28635..28649)\n IDENTIFIER: (28635..28649) \"string->number\"\n ATMOSPHERE: (28649..28650) \" \"\n CONSTANT: (28650..28655)\n STRING: (28650..28655) \"\"100\"\"\n CLOSE_PAREN: (28655..28656) \")\"\n CLOSE_PAREN: (28656..28657) \")\"\n ATMOSPHERE: (28657..28658) \"\n\"\n FORM: (28658..28694)\n OPEN_PAREN: (28658..28659) \"(\"\n SYMBOL: (28659..28663)\n IDENTIFIER: (28659..28663) \"test\"\n ATMOSPHERE: (28663..28664) \" \"\n CONSTANT: (28664..28667)\n NUMBER: (28664..28667) \"256\"\n ATMOSPHERE: (28667..28668) \" \"\n FORM: (28668..28693)\n OPEN_PAREN: (28668..28669) \"(\"\n SYMBOL: (28669..28683)\n IDENTIFIER: (28669..28683) \"string->number\"\n ATMOSPHERE: (28683..28684) \" \"\n CONSTANT: (28684..28689)\n STRING: (28684..28689) \"\"100\"\"\n ATMOSPHERE: (28689..28690) \" \"\n CONSTANT: (28690..28692)\n NUMBER: (28690..28692) \"16\"\n CLOSE_PAREN: (28692..28693) \")\"\n CLOSE_PAREN: (28693..28694) \")\"\n ATMOSPHERE: (28694..28695) \"\n\"\n FORM: (28695..28730)\n OPEN_PAREN: (28695..28696) \"(\"\n SYMBOL: (28696..28700)\n IDENTIFIER: (28696..28700) \"test\"\n ATMOSPHERE: (28700..28701) \" \"\n CONSTANT: (28701..28706)\n NUMBER: (28701..28706) \"100.0\"\n ATMOSPHERE: (28706..28707) \" \"\n FORM: (28707..28729)\n OPEN_PAREN: (28707..28708) \"(\"\n SYMBOL: (28708..28722)\n IDENTIFIER: (28708..28722) \"string->number\"\n ATMOSPHERE: (28722..28723) \" \"\n CONSTANT: (28723..28728)\n STRING: (28723..28728) \"\"1e2\"\"\n CLOSE_PAREN: (28728..28729) \")\"\n CLOSE_PAREN: (28729..28730) \")\"\n ATMOSPHERE: (28730..28732) \"\n\n\"\n FORM: (28732..28742)\n OPEN_PAREN: (28732..28733) \"(\"\n SYMBOL: (28733..28741)\n IDENTIFIER: (28733..28741) \"test-end\"\n CLOSE_PAREN: (28741..28742) \")\"\n ATMOSPHERE: (28742..28744) \"\n\n\"\n FORM: (28744..28771)\n OPEN_PAREN: (28744..28745) \"(\"\n SYMBOL: (28745..28755)\n IDENTIFIER: (28745..28755) \"test-begin\"\n ATMOSPHERE: (28755..28756) \" \"\n CONSTANT: (28756..28770)\n STRING: (28756..28770) \"\"6.3 Booleans\"\"\n CLOSE_PAREN: (28770..28771) \")\"\n ATMOSPHERE: (28771..28773) \"\n\n\"\n FORM: (28773..28785)\n OPEN_PAREN: (28773..28774) \"(\"\n SYMBOL: (28774..28778)\n IDENTIFIER: (28774..28778) \"test\"\n ATMOSPHERE: (28778..28779) \" \"\n CONSTANT: (28779..28781)\n BOOLEAN: (28779..28781) \"#t\"\n ATMOSPHERE: (28781..28782) \" \"\n CONSTANT: (28782..28784)\n BOOLEAN: (28782..28784) \"#t\"\n CLOSE_PAREN: (28784..28785) \")\"\n ATMOSPHERE: (28785..28786) \"\n\"\n FORM: (28786..28798)\n OPEN_PAREN: (28786..28787) \"(\"\n SYMBOL: (28787..28791)\n IDENTIFIER: (28787..28791) \"test\"\n ATMOSPHERE: (28791..28792) \" \"\n CONSTANT: (28792..28794)\n BOOLEAN: (28792..28794) \"#f\"\n ATMOSPHERE: (28794..28795) \" \"\n CONSTANT: (28795..28797)\n BOOLEAN: (28795..28797) \"#f\"\n CLOSE_PAREN: (28797..28798) \")\"\n ATMOSPHERE: (28798..28799) \"\n\"\n FORM: (28799..28812)\n OPEN_PAREN: (28799..28800) \"(\"\n SYMBOL: (28800..28804)\n IDENTIFIER: (28800..28804) \"test\"\n ATMOSPHERE: (28804..28805) \" \"\n CONSTANT: (28805..28807)\n BOOLEAN: (28805..28807) \"#f\"\n ATMOSPHERE: (28807..28808) \" \"\n QUOTED_DATUM: (28808..28811)\n QUOTE: (28808..28809) \"'\"\n CONSTANT: (28809..28811)\n BOOLEAN: (28809..28811) \"#f\"\n CLOSE_PAREN: (28811..28812) \")\"\n ATMOSPHERE: (28812..28814) \"\n\n\"\n FORM: (28814..28832)\n OPEN_PAREN: (28814..28815) \"(\"\n SYMBOL: (28815..28819)\n IDENTIFIER: (28815..28819) \"test\"\n ATMOSPHERE: (28819..28820) \" \"\n CONSTANT: (28820..28822)\n BOOLEAN: (28820..28822) \"#f\"\n ATMOSPHERE: (28822..28823) \" \"\n FORM: (28823..28831)\n OPEN_PAREN: (28823..28824) \"(\"\n SYMBOL: (28824..28827)\n IDENTIFIER: (28824..28827) \"not\"\n ATMOSPHERE: (28827..28828) \" \"\n CONSTANT: (28828..28830)\n BOOLEAN: (28828..28830) \"#t\"\n CLOSE_PAREN: (28830..28831) \")\"\n CLOSE_PAREN: (28831..28832) \")\"\n ATMOSPHERE: (28832..28833) \"\n\"\n FORM: (28833..28850)\n OPEN_PAREN: (28833..28834) \"(\"\n SYMBOL: (28834..28838)\n IDENTIFIER: (28834..28838) \"test\"\n ATMOSPHERE: (28838..28839) \" \"\n CONSTANT: (28839..28841)\n BOOLEAN: (28839..28841) \"#f\"\n ATMOSPHERE: (28841..28842) \" \"\n FORM: (28842..28849)\n OPEN_PAREN: (28842..28843) \"(\"\n SYMBOL: (28843..28846)\n IDENTIFIER: (28843..28846) \"not\"\n ATMOSPHERE: (28846..28847) \" \"\n CONSTANT: (28847..28848)\n NUMBER: (28847..28848) \"3\"\n CLOSE_PAREN: (28848..28849) \")\"\n CLOSE_PAREN: (28849..28850) \")\"\n ATMOSPHERE: (28850..28851) \"\n\"\n FORM: (28851..28875)\n OPEN_PAREN: (28851..28852) \"(\"\n SYMBOL: (28852..28856)\n IDENTIFIER: (28852..28856) \"test\"\n ATMOSPHERE: (28856..28857) \" \"\n CONSTANT: (28857..28859)\n BOOLEAN: (28857..28859) \"#f\"\n ATMOSPHERE: (28859..28860) \" \"\n FORM: (28860..28874)\n OPEN_PAREN: (28860..28861) \"(\"\n SYMBOL: (28861..28864)\n IDENTIFIER: (28861..28864) \"not\"\n ATMOSPHERE: (28864..28865) \" \"\n FORM: (28865..28873)\n OPEN_PAREN: (28865..28866) \"(\"\n SYMBOL: (28866..28870)\n IDENTIFIER: (28866..28870) \"list\"\n ATMOSPHERE: (28870..28871) \" \"\n CONSTANT: (28871..28872)\n NUMBER: (28871..28872) \"3\"\n CLOSE_PAREN: (28872..28873) \")\"\n CLOSE_PAREN: (28873..28874) \")\"\n CLOSE_PAREN: (28874..28875) \")\"\n ATMOSPHERE: (28875..28876) \"\n\"\n FORM: (28876..28894)\n OPEN_PAREN: (28876..28877) \"(\"\n SYMBOL: (28877..28881)\n IDENTIFIER: (28877..28881) \"test\"\n ATMOSPHERE: (28881..28882) \" \"\n CONSTANT: (28882..28884)\n BOOLEAN: (28882..28884) \"#t\"\n ATMOSPHERE: (28884..28885) \" \"\n FORM: (28885..28893)\n OPEN_PAREN: (28885..28886) \"(\"\n SYMBOL: (28886..28889)\n IDENTIFIER: (28886..28889) \"not\"\n ATMOSPHERE: (28889..28890) \" \"\n CONSTANT: (28890..28892)\n BOOLEAN: (28890..28892) \"#f\"\n CLOSE_PAREN: (28892..28893) \")\"\n CLOSE_PAREN: (28893..28894) \")\"\n ATMOSPHERE: (28894..28895) \"\n\"\n FORM: (28895..28914)\n OPEN_PAREN: (28895..28896) \"(\"\n SYMBOL: (28896..28900)\n IDENTIFIER: (28896..28900) \"test\"\n ATMOSPHERE: (28900..28901) \" \"\n CONSTANT: (28901..28903)\n BOOLEAN: (28901..28903) \"#f\"\n ATMOSPHERE: (28903..28904) \" \"\n FORM: (28904..28913)\n OPEN_PAREN: (28904..28905) \"(\"\n SYMBOL: (28905..28908)\n IDENTIFIER: (28905..28908) \"not\"\n ATMOSPHERE: (28908..28909) \" \"\n QUOTED_DATUM: (28909..28912)\n QUOTE: (28909..28910) \"'\"\n FORM: (28910..28912)\n OPEN_PAREN: (28910..28911) \"(\"\n CLOSE_PAREN: (28911..28912) \")\"\n CLOSE_PAREN: (28912..28913) \")\"\n CLOSE_PAREN: (28913..28914) \")\"\n ATMOSPHERE: (28914..28915) \"\n\"\n FORM: (28915..28937)\n OPEN_PAREN: (28915..28916) \"(\"\n SYMBOL: (28916..28920)\n IDENTIFIER: (28916..28920) \"test\"\n ATMOSPHERE: (28920..28921) \" \"\n CONSTANT: (28921..28923)\n BOOLEAN: (28921..28923) \"#f\"\n ATMOSPHERE: (28923..28924) \" \"\n FORM: (28924..28936)\n OPEN_PAREN: (28924..28925) \"(\"\n SYMBOL: (28925..28928)\n IDENTIFIER: (28925..28928) \"not\"\n ATMOSPHERE: (28928..28929) \" \"\n FORM: (28929..28935)\n OPEN_PAREN: (28929..28930) \"(\"\n SYMBOL: (28930..28934)\n IDENTIFIER: (28930..28934) \"list\"\n CLOSE_PAREN: (28934..28935) \")\"\n CLOSE_PAREN: (28935..28936) \")\"\n CLOSE_PAREN: (28936..28937) \")\"\n ATMOSPHERE: (28937..28938) \"\n\"\n FORM: (28938..28958)\n OPEN_PAREN: (28938..28939) \"(\"\n SYMBOL: (28939..28943)\n IDENTIFIER: (28939..28943) \"test\"\n ATMOSPHERE: (28943..28944) \" \"\n CONSTANT: (28944..28946)\n BOOLEAN: (28944..28946) \"#f\"\n ATMOSPHERE: (28946..28947) \" \"\n FORM: (28947..28957)\n OPEN_PAREN: (28947..28948) \"(\"\n SYMBOL: (28948..28951)\n IDENTIFIER: (28948..28951) \"not\"\n ATMOSPHERE: (28951..28952) \" \"\n QUOTED_DATUM: (28952..28956)\n QUOTE: (28952..28953) \"'\"\n SYMBOL: (28953..28956)\n IDENTIFIER: (28953..28956) \"nil\"\n CLOSE_PAREN: (28956..28957) \")\"\n CLOSE_PAREN: (28957..28958) \")\"\n ATMOSPHERE: (28958..28960) \"\n\n\"\n FORM: (28960..28983)\n OPEN_PAREN: (28960..28961) \"(\"\n SYMBOL: (28961..28965)\n IDENTIFIER: (28961..28965) \"test\"\n ATMOSPHERE: (28965..28966) \" \"\n CONSTANT: (28966..28968)\n BOOLEAN: (28966..28968) \"#t\"\n ATMOSPHERE: (28968..28969) \" \"\n FORM: (28969..28982)\n OPEN_PAREN: (28969..28970) \"(\"\n SYMBOL: (28970..28978)\n IDENTIFIER: (28970..28978) \"boolean?\"\n ATMOSPHERE: (28978..28979) \" \"\n CONSTANT: (28979..28981)\n BOOLEAN: (28979..28981) \"#f\"\n CLOSE_PAREN: (28981..28982) \")\"\n CLOSE_PAREN: (28982..28983) \")\"\n ATMOSPHERE: (28983..28984) \"\n\"\n FORM: (28984..29006)\n OPEN_PAREN: (28984..28985) \"(\"\n SYMBOL: (28985..28989)\n IDENTIFIER: (28985..28989) \"test\"\n ATMOSPHERE: (28989..28990) \" \"\n CONSTANT: (28990..28992)\n BOOLEAN: (28990..28992) \"#f\"\n ATMOSPHERE: (28992..28993) \" \"\n FORM: (28993..29005)\n OPEN_PAREN: (28993..28994) \"(\"\n SYMBOL: (28994..29002)\n IDENTIFIER: (28994..29002) \"boolean?\"\n ATMOSPHERE: (29002..29003) \" \"\n CONSTANT: (29003..29004)\n NUMBER: (29003..29004) \"0\"\n CLOSE_PAREN: (29004..29005) \")\"\n CLOSE_PAREN: (29005..29006) \")\"\n ATMOSPHERE: (29006..29007) \"\n\"\n FORM: (29007..29031)\n OPEN_PAREN: (29007..29008) \"(\"\n SYMBOL: (29008..29012)\n IDENTIFIER: (29008..29012) \"test\"\n ATMOSPHERE: (29012..29013) \" \"\n CONSTANT: (29013..29015)\n BOOLEAN: (29013..29015) \"#f\"\n ATMOSPHERE: (29015..29016) \" \"\n FORM: (29016..29030)\n OPEN_PAREN: (29016..29017) \"(\"\n SYMBOL: (29017..29025)\n IDENTIFIER: (29017..29025) \"boolean?\"\n ATMOSPHERE: (29025..29026) \" \"\n QUOTED_DATUM: (29026..29029)\n QUOTE: (29026..29027) \"'\"\n FORM: (29027..29029)\n OPEN_PAREN: (29027..29028) \"(\"\n CLOSE_PAREN: (29028..29029) \")\"\n CLOSE_PAREN: (29029..29030) \")\"\n CLOSE_PAREN: (29030..29031) \")\"\n ATMOSPHERE: (29031..29033) \"\n\n\"\n FORM: (29033..29060)\n OPEN_PAREN: (29033..29034) \"(\"\n SYMBOL: (29034..29038)\n IDENTIFIER: (29034..29038) \"test\"\n ATMOSPHERE: (29038..29039) \" \"\n CONSTANT: (29039..29041)\n BOOLEAN: (29039..29041) \"#t\"\n ATMOSPHERE: (29041..29042) \" \"\n FORM: (29042..29059)\n OPEN_PAREN: (29042..29043) \"(\"\n SYMBOL: (29043..29052)\n IDENTIFIER: (29043..29052) \"boolean=?\"\n ATMOSPHERE: (29052..29053) \" \"\n CONSTANT: (29053..29055)\n BOOLEAN: (29053..29055) \"#t\"\n ATMOSPHERE: (29055..29056) \" \"\n CONSTANT: (29056..29058)\n BOOLEAN: (29056..29058) \"#t\"\n CLOSE_PAREN: (29058..29059) \")\"\n CLOSE_PAREN: (29059..29060) \")\"\n ATMOSPHERE: (29060..29061) \"\n\"\n FORM: (29061..29088)\n OPEN_PAREN: (29061..29062) \"(\"\n SYMBOL: (29062..29066)\n IDENTIFIER: (29062..29066) \"test\"\n ATMOSPHERE: (29066..29067) \" \"\n CONSTANT: (29067..29069)\n BOOLEAN: (29067..29069) \"#t\"\n ATMOSPHERE: (29069..29070) \" \"\n FORM: (29070..29087)\n OPEN_PAREN: (29070..29071) \"(\"\n SYMBOL: (29071..29080)\n IDENTIFIER: (29071..29080) \"boolean=?\"\n ATMOSPHERE: (29080..29081) \" \"\n CONSTANT: (29081..29083)\n BOOLEAN: (29081..29083) \"#f\"\n ATMOSPHERE: (29083..29084) \" \"\n CONSTANT: (29084..29086)\n BOOLEAN: (29084..29086) \"#f\"\n CLOSE_PAREN: (29086..29087) \")\"\n CLOSE_PAREN: (29087..29088) \")\"\n ATMOSPHERE: (29088..29089) \"\n\"\n FORM: (29089..29116)\n OPEN_PAREN: (29089..29090) \"(\"\n SYMBOL: (29090..29094)\n IDENTIFIER: (29090..29094) \"test\"\n ATMOSPHERE: (29094..29095) \" \"\n CONSTANT: (29095..29097)\n BOOLEAN: (29095..29097) \"#f\"\n ATMOSPHERE: (29097..29098) \" \"\n FORM: (29098..29115)\n OPEN_PAREN: (29098..29099) \"(\"\n SYMBOL: (29099..29108)\n IDENTIFIER: (29099..29108) \"boolean=?\"\n ATMOSPHERE: (29108..29109) \" \"\n CONSTANT: (29109..29111)\n BOOLEAN: (29109..29111) \"#t\"\n ATMOSPHERE: (29111..29112) \" \"\n CONSTANT: (29112..29114)\n BOOLEAN: (29112..29114) \"#f\"\n CLOSE_PAREN: (29114..29115) \")\"\n CLOSE_PAREN: (29115..29116) \")\"\n ATMOSPHERE: (29116..29117) \"\n\"\n FORM: (29117..29147)\n OPEN_PAREN: (29117..29118) \"(\"\n SYMBOL: (29118..29122)\n IDENTIFIER: (29118..29122) \"test\"\n ATMOSPHERE: (29122..29123) \" \"\n CONSTANT: (29123..29125)\n BOOLEAN: (29123..29125) \"#t\"\n ATMOSPHERE: (29125..29126) \" \"\n FORM: (29126..29146)\n OPEN_PAREN: (29126..29127) \"(\"\n SYMBOL: (29127..29136)\n IDENTIFIER: (29127..29136) \"boolean=?\"\n ATMOSPHERE: (29136..29137) \" \"\n CONSTANT: (29137..29139)\n BOOLEAN: (29137..29139) \"#f\"\n ATMOSPHERE: (29139..29140) \" \"\n CONSTANT: (29140..29142)\n BOOLEAN: (29140..29142) \"#f\"\n ATMOSPHERE: (29142..29143) \" \"\n CONSTANT: (29143..29145)\n BOOLEAN: (29143..29145) \"#f\"\n CLOSE_PAREN: (29145..29146) \")\"\n CLOSE_PAREN: (29146..29147) \")\"\n ATMOSPHERE: (29147..29148) \"\n\"\n FORM: (29148..29178)\n OPEN_PAREN: (29148..29149) \"(\"\n SYMBOL: (29149..29153)\n IDENTIFIER: (29149..29153) \"test\"\n ATMOSPHERE: (29153..29154) \" \"\n CONSTANT: (29154..29156)\n BOOLEAN: (29154..29156) \"#f\"\n ATMOSPHERE: (29156..29157) \" \"\n FORM: (29157..29177)\n OPEN_PAREN: (29157..29158) \"(\"\n SYMBOL: (29158..29167)\n IDENTIFIER: (29158..29167) \"boolean=?\"\n ATMOSPHERE: (29167..29168) \" \"\n CONSTANT: (29168..29170)\n BOOLEAN: (29168..29170) \"#t\"\n ATMOSPHERE: (29170..29171) \" \"\n CONSTANT: (29171..29173)\n BOOLEAN: (29171..29173) \"#t\"\n ATMOSPHERE: (29173..29174) \" \"\n CONSTANT: (29174..29176)\n BOOLEAN: (29174..29176) \"#f\"\n CLOSE_PAREN: (29176..29177) \")\"\n CLOSE_PAREN: (29177..29178) \")\"\n ATMOSPHERE: (29178..29180) \"\n\n\"\n FORM: (29180..29190)\n OPEN_PAREN: (29180..29181) \"(\"\n SYMBOL: (29181..29189)\n IDENTIFIER: (29181..29189) \"test-end\"\n CLOSE_PAREN: (29189..29190) \")\"\n ATMOSPHERE: (29190..29192) \"\n\n\"\n FORM: (29192..29216)\n OPEN_PAREN: (29192..29193) \"(\"\n SYMBOL: (29193..29203)\n IDENTIFIER: (29193..29203) \"test-begin\"\n ATMOSPHERE: (29203..29204) \" \"\n CONSTANT: (29204..29215)\n STRING: (29204..29215) \"\"6.4 Lists\"\"\n CLOSE_PAREN: (29215..29216) \")\"\n ATMOSPHERE: (29216..29218) \"\n\n\"\n ATMOSPHERE: (29218..29247) \";; (let* ((x (list 'a 'b 'c))\"\n ATMOSPHERE: (29247..29248) \"\n\"\n ATMOSPHERE: (29248..29264) \";; (y x))\"\n ATMOSPHERE: (29264..29265) \"\n\"\n ATMOSPHERE: (29265..29296) \";; (test '(a b c) (values y))\"\n ATMOSPHERE: (29296..29297) \"\n\"\n ATMOSPHERE: (29297..29321) \";; (test #t (list? y))\"\n ATMOSPHERE: (29321..29322) \"\n\"\n ATMOSPHERE: (29322..29341) \";; (set-cdr! x 4)\"\n ATMOSPHERE: (29341..29342) \"\n\"\n ATMOSPHERE: (29342..29373) \";; (test '(a . 4) (values x))\"\n ATMOSPHERE: (29373..29374) \"\n\"\n ATMOSPHERE: (29374..29399) \";; (test #t (eqv? x y))\"\n ATMOSPHERE: (29399..29400) \"\n\"\n ATMOSPHERE: (29400..29424) \";; (test #f (list? y))\"\n ATMOSPHERE: (29424..29425) \"\n\"\n ATMOSPHERE: (29425..29444) \";; (set-cdr! x x)\"\n ATMOSPHERE: (29444..29445) \"\n\"\n ATMOSPHERE: (29445..29470) \";; (test #f (list? x)))\"\n ATMOSPHERE: (29470..29472) \"\n\n\"\n FORM: (29472..29498)\n OPEN_PAREN: (29472..29473) \"(\"\n SYMBOL: (29473..29477)\n IDENTIFIER: (29473..29477) \"test\"\n ATMOSPHERE: (29477..29478) \" \"\n CONSTANT: (29478..29480)\n BOOLEAN: (29478..29480) \"#t\"\n ATMOSPHERE: (29480..29481) \" \"\n FORM: (29481..29497)\n OPEN_PAREN: (29481..29482) \"(\"\n SYMBOL: (29482..29487)\n IDENTIFIER: (29482..29487) \"pair?\"\n ATMOSPHERE: (29487..29488) \" \"\n QUOTED_DATUM: (29488..29496)\n QUOTE: (29488..29489) \"'\"\n FORM: (29489..29496)\n OPEN_PAREN: (29489..29490) \"(\"\n SYMBOL: (29490..29491)\n IDENTIFIER: (29490..29491) \"a\"\n ATMOSPHERE: (29491..29492) \" \"\n DOTTED_TAIL: (29492..29495)\n DOT: (29492..29493) \".\"\n ATMOSPHERE: (29493..29494) \" \"\n SYMBOL: (29494..29495)\n IDENTIFIER: (29494..29495) \"b\"\n CLOSE_PAREN: (29495..29496) \")\"\n CLOSE_PAREN: (29496..29497) \")\"\n CLOSE_PAREN: (29497..29498) \")\"\n ATMOSPHERE: (29498..29499) \"\n\"\n FORM: (29499..29525)\n OPEN_PAREN: (29499..29500) \"(\"\n SYMBOL: (29500..29504)\n IDENTIFIER: (29500..29504) \"test\"\n ATMOSPHERE: (29504..29505) \" \"\n CONSTANT: (29505..29507)\n BOOLEAN: (29505..29507) \"#t\"\n ATMOSPHERE: (29507..29508) \" \"\n FORM: (29508..29524)\n OPEN_PAREN: (29508..29509) \"(\"\n SYMBOL: (29509..29514)\n IDENTIFIER: (29509..29514) \"pair?\"\n ATMOSPHERE: (29514..29515) \" \"\n QUOTED_DATUM: (29515..29523)\n QUOTE: (29515..29516) \"'\"\n FORM: (29516..29523)\n OPEN_PAREN: (29516..29517) \"(\"\n SYMBOL: (29517..29518)\n IDENTIFIER: (29517..29518) \"a\"\n ATMOSPHERE: (29518..29519) \" \"\n SYMBOL: (29519..29520)\n IDENTIFIER: (29519..29520) \"b\"\n ATMOSPHERE: (29520..29521) \" \"\n SYMBOL: (29521..29522)\n IDENTIFIER: (29521..29522) \"c\"\n CLOSE_PAREN: (29522..29523) \")\"\n CLOSE_PAREN: (29523..29524) \")\"\n CLOSE_PAREN: (29524..29525) \")\"\n ATMOSPHERE: (29525..29526) \"\n\"\n FORM: (29526..29547)\n OPEN_PAREN: (29526..29527) \"(\"\n SYMBOL: (29527..29531)\n IDENTIFIER: (29527..29531) \"test\"\n ATMOSPHERE: (29531..29532) \" \"\n CONSTANT: (29532..29534)\n BOOLEAN: (29532..29534) \"#f\"\n ATMOSPHERE: (29534..29535) \" \"\n FORM: (29535..29546)\n OPEN_PAREN: (29535..29536) \"(\"\n SYMBOL: (29536..29541)\n IDENTIFIER: (29536..29541) \"pair?\"\n ATMOSPHERE: (29541..29542) \" \"\n QUOTED_DATUM: (29542..29545)\n QUOTE: (29542..29543) \"'\"\n FORM: (29543..29545)\n OPEN_PAREN: (29543..29544) \"(\"\n CLOSE_PAREN: (29544..29545) \")\"\n CLOSE_PAREN: (29545..29546) \")\"\n CLOSE_PAREN: (29546..29547) \")\"\n ATMOSPHERE: (29547..29548) \"\n\"\n FORM: (29548..29573)\n OPEN_PAREN: (29548..29549) \"(\"\n SYMBOL: (29549..29553)\n IDENTIFIER: (29549..29553) \"test\"\n ATMOSPHERE: (29553..29554) \" \"\n CONSTANT: (29554..29556)\n BOOLEAN: (29554..29556) \"#f\"\n ATMOSPHERE: (29556..29557) \" \"\n FORM: (29557..29572)\n OPEN_PAREN: (29557..29558) \"(\"\n SYMBOL: (29558..29563)\n IDENTIFIER: (29558..29563) \"pair?\"\n ATMOSPHERE: (29563..29564) \" \"\n QUOTED_DATUM: (29564..29571)\n QUOTE: (29564..29565) \"'\"\n VEC: (29565..29571)\n OPEN_PAREN: (29565..29567) \"#(\"\n SYMBOL: (29567..29568)\n IDENTIFIER: (29567..29568) \"a\"\n ATMOSPHERE: (29568..29569) \" \"\n SYMBOL: (29569..29570)\n IDENTIFIER: (29569..29570) \"b\"\n CLOSE_PAREN: (29570..29571) \")\"\n CLOSE_PAREN: (29571..29572) \")\"\n CLOSE_PAREN: (29572..29573) \")\"\n ATMOSPHERE: (29573..29575) \"\n\n\"\n FORM: (29575..29600)\n OPEN_PAREN: (29575..29576) \"(\"\n SYMBOL: (29576..29580)\n IDENTIFIER: (29576..29580) \"test\"\n ATMOSPHERE: (29580..29581) \" \"\n QUOTED_DATUM: (29581..29586)\n QUOTE: (29581..29582) \"'\"\n FORM: (29582..29585)\n OPEN_PAREN: (29582..29583) \"(\"\n SYMBOL: (29583..29584)\n IDENTIFIER: (29583..29584) \"a\"\n CLOSE_PAREN: (29584..29585) \")\"\n ATMOSPHERE: (29585..29586) \" \"\n FORM: (29586..29599)\n OPEN_PAREN: (29586..29587) \"(\"\n SYMBOL: (29587..29591)\n IDENTIFIER: (29587..29591) \"cons\"\n ATMOSPHERE: (29591..29592) \" \"\n QUOTED_DATUM: (29592..29595)\n QUOTE: (29592..29593) \"'\"\n SYMBOL: (29593..29594)\n IDENTIFIER: (29593..29594) \"a\"\n ATMOSPHERE: (29594..29595) \" \"\n QUOTED_DATUM: (29595..29598)\n QUOTE: (29595..29596) \"'\"\n FORM: (29596..29598)\n OPEN_PAREN: (29596..29597) \"(\"\n CLOSE_PAREN: (29597..29598) \")\"\n CLOSE_PAREN: (29598..29599) \")\"\n CLOSE_PAREN: (29599..29600) \")\"\n ATMOSPHERE: (29600..29601) \"\n\"\n FORM: (29601..29641)\n OPEN_PAREN: (29601..29602) \"(\"\n SYMBOL: (29602..29606)\n IDENTIFIER: (29602..29606) \"test\"\n ATMOSPHERE: (29606..29607) \" \"\n QUOTED_DATUM: (29607..29620)\n QUOTE: (29607..29608) \"'\"\n FORM: (29608..29619)\n OPEN_PAREN: (29608..29609) \"(\"\n FORM: (29609..29612)\n OPEN_PAREN: (29609..29610) \"(\"\n SYMBOL: (29610..29611)\n IDENTIFIER: (29610..29611) \"a\"\n CLOSE_PAREN: (29611..29612) \")\"\n ATMOSPHERE: (29612..29613) \" \"\n SYMBOL: (29613..29614)\n IDENTIFIER: (29613..29614) \"b\"\n ATMOSPHERE: (29614..29615) \" \"\n SYMBOL: (29615..29616)\n IDENTIFIER: (29615..29616) \"c\"\n ATMOSPHERE: (29616..29617) \" \"\n SYMBOL: (29617..29618)\n IDENTIFIER: (29617..29618) \"d\"\n CLOSE_PAREN: (29618..29619) \")\"\n ATMOSPHERE: (29619..29620) \" \"\n FORM: (29620..29640)\n OPEN_PAREN: (29620..29621) \"(\"\n SYMBOL: (29621..29625)\n IDENTIFIER: (29621..29625) \"cons\"\n ATMOSPHERE: (29625..29626) \" \"\n QUOTED_DATUM: (29626..29631)\n QUOTE: (29626..29627) \"'\"\n FORM: (29627..29630)\n OPEN_PAREN: (29627..29628) \"(\"\n SYMBOL: (29628..29629)\n IDENTIFIER: (29628..29629) \"a\"\n CLOSE_PAREN: (29629..29630) \")\"\n ATMOSPHERE: (29630..29631) \" \"\n QUOTED_DATUM: (29631..29639)\n QUOTE: (29631..29632) \"'\"\n FORM: (29632..29639)\n OPEN_PAREN: (29632..29633) \"(\"\n SYMBOL: (29633..29634)\n IDENTIFIER: (29633..29634) \"b\"\n ATMOSPHERE: (29634..29635) \" \"\n SYMBOL: (29635..29636)\n IDENTIFIER: (29635..29636) \"c\"\n ATMOSPHERE: (29636..29637) \" \"\n SYMBOL: (29637..29638)\n IDENTIFIER: (29637..29638) \"d\"\n CLOSE_PAREN: (29638..29639) \")\"\n CLOSE_PAREN: (29639..29640) \")\"\n CLOSE_PAREN: (29640..29641) \")\"\n ATMOSPHERE: (29641..29642) \"\n\"\n FORM: (29642..29677)\n OPEN_PAREN: (29642..29643) \"(\"\n SYMBOL: (29643..29647)\n IDENTIFIER: (29643..29647) \"test\"\n ATMOSPHERE: (29647..29648) \" \"\n QUOTED_DATUM: (29648..29659)\n QUOTE: (29648..29649) \"'\"\n FORM: (29649..29658)\n OPEN_PAREN: (29649..29650) \"(\"\n CONSTANT: (29650..29653)\n STRING: (29650..29653) \"\"a\"\"\n ATMOSPHERE: (29653..29654) \" \"\n SYMBOL: (29654..29655)\n IDENTIFIER: (29654..29655) \"b\"\n ATMOSPHERE: (29655..29656) \" \"\n SYMBOL: (29656..29657)\n IDENTIFIER: (29656..29657) \"c\"\n CLOSE_PAREN: (29657..29658) \")\"\n ATMOSPHERE: (29658..29659) \" \"\n FORM: (29659..29676)\n OPEN_PAREN: (29659..29660) \"(\"\n SYMBOL: (29660..29664)\n IDENTIFIER: (29660..29664) \"cons\"\n ATMOSPHERE: (29664..29665) \" \"\n CONSTANT: (29665..29668)\n STRING: (29665..29668) \"\"a\"\"\n ATMOSPHERE: (29668..29669) \" \"\n QUOTED_DATUM: (29669..29675)\n QUOTE: (29669..29670) \"'\"\n FORM: (29670..29675)\n OPEN_PAREN: (29670..29671) \"(\"\n SYMBOL: (29671..29672)\n IDENTIFIER: (29671..29672) \"b\"\n ATMOSPHERE: (29672..29673) \" \"\n SYMBOL: (29673..29674)\n IDENTIFIER: (29673..29674) \"c\"\n CLOSE_PAREN: (29674..29675) \")\"\n CLOSE_PAREN: (29675..29676) \")\"\n CLOSE_PAREN: (29676..29677) \")\"\n ATMOSPHERE: (29677..29678) \"\n\"\n ATMOSPHERE: (29678..29712) \";;; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (29712..29713) \"\n\"\n ATMOSPHERE: (29713..29743) \";; (test '(a . 3) (cons 'a 3))\"\n ATMOSPHERE: (29743..29744) \"\n\"\n ATMOSPHERE: (29744..29783) \";; (test '((a b) . c) (cons '(a b) 'c))\"\n ATMOSPHERE: (29783..29785) \"\n\n\"\n FORM: (29785..29809)\n OPEN_PAREN: (29785..29786) \"(\"\n SYMBOL: (29786..29790)\n IDENTIFIER: (29786..29790) \"test\"\n ATMOSPHERE: (29790..29791) \" \"\n QUOTED_DATUM: (29791..29794)\n QUOTE: (29791..29792) \"'\"\n SYMBOL: (29792..29793)\n IDENTIFIER: (29792..29793) \"a\"\n ATMOSPHERE: (29793..29794) \" \"\n FORM: (29794..29808)\n OPEN_PAREN: (29794..29795) \"(\"\n SYMBOL: (29795..29798)\n IDENTIFIER: (29795..29798) \"car\"\n ATMOSPHERE: (29798..29799) \" \"\n QUOTED_DATUM: (29799..29807)\n QUOTE: (29799..29800) \"'\"\n FORM: (29800..29807)\n OPEN_PAREN: (29800..29801) \"(\"\n SYMBOL: (29801..29802)\n IDENTIFIER: (29801..29802) \"a\"\n ATMOSPHERE: (29802..29803) \" \"\n SYMBOL: (29803..29804)\n IDENTIFIER: (29803..29804) \"b\"\n ATMOSPHERE: (29804..29805) \" \"\n SYMBOL: (29805..29806)\n IDENTIFIER: (29805..29806) \"c\"\n CLOSE_PAREN: (29806..29807) \")\"\n CLOSE_PAREN: (29807..29808) \")\"\n CLOSE_PAREN: (29808..29809) \")\"\n ATMOSPHERE: (29809..29810) \"\n\"\n FORM: (29810..29840)\n OPEN_PAREN: (29810..29811) \"(\"\n SYMBOL: (29811..29815)\n IDENTIFIER: (29811..29815) \"test\"\n ATMOSPHERE: (29815..29816) \" \"\n QUOTED_DATUM: (29816..29821)\n QUOTE: (29816..29817) \"'\"\n FORM: (29817..29820)\n OPEN_PAREN: (29817..29818) \"(\"\n SYMBOL: (29818..29819)\n IDENTIFIER: (29818..29819) \"a\"\n CLOSE_PAREN: (29819..29820) \")\"\n ATMOSPHERE: (29820..29821) \" \"\n FORM: (29821..29839)\n OPEN_PAREN: (29821..29822) \"(\"\n SYMBOL: (29822..29825)\n IDENTIFIER: (29822..29825) \"car\"\n ATMOSPHERE: (29825..29826) \" \"\n QUOTED_DATUM: (29826..29838)\n QUOTE: (29826..29827) \"'\"\n FORM: (29827..29838)\n OPEN_PAREN: (29827..29828) \"(\"\n FORM: (29828..29831)\n OPEN_PAREN: (29828..29829) \"(\"\n SYMBOL: (29829..29830)\n IDENTIFIER: (29829..29830) \"a\"\n CLOSE_PAREN: (29830..29831) \")\"\n ATMOSPHERE: (29831..29832) \" \"\n SYMBOL: (29832..29833)\n IDENTIFIER: (29832..29833) \"b\"\n ATMOSPHERE: (29833..29834) \" \"\n SYMBOL: (29834..29835)\n IDENTIFIER: (29834..29835) \"c\"\n ATMOSPHERE: (29835..29836) \" \"\n SYMBOL: (29836..29837)\n IDENTIFIER: (29836..29837) \"d\"\n CLOSE_PAREN: (29837..29838) \")\"\n CLOSE_PAREN: (29838..29839) \")\"\n CLOSE_PAREN: (29839..29840) \")\"\n ATMOSPHERE: (29840..29841) \"\n\"\n FORM: (29841..29864)\n OPEN_PAREN: (29841..29842) \"(\"\n SYMBOL: (29842..29846)\n IDENTIFIER: (29842..29846) \"test\"\n ATMOSPHERE: (29846..29847) \" \"\n CONSTANT: (29847..29848)\n NUMBER: (29847..29848) \"1\"\n ATMOSPHERE: (29848..29849) \" \"\n FORM: (29849..29863)\n OPEN_PAREN: (29849..29850) \"(\"\n SYMBOL: (29850..29853)\n IDENTIFIER: (29850..29853) \"car\"\n ATMOSPHERE: (29853..29854) \" \"\n QUOTED_DATUM: (29854..29862)\n QUOTE: (29854..29855) \"'\"\n FORM: (29855..29862)\n OPEN_PAREN: (29855..29856) \"(\"\n CONSTANT: (29856..29857)\n NUMBER: (29856..29857) \"1\"\n ATMOSPHERE: (29857..29858) \" \"\n DOTTED_TAIL: (29858..29861)\n DOT: (29858..29859) \".\"\n ATMOSPHERE: (29859..29860) \" \"\n CONSTANT: (29860..29861)\n NUMBER: (29860..29861) \"2\"\n CLOSE_PAREN: (29861..29862) \")\"\n CLOSE_PAREN: (29862..29863) \")\"\n CLOSE_PAREN: (29863..29864) \")\"\n ATMOSPHERE: (29864..29866) \"\n\n\"\n FORM: (29866..29900)\n OPEN_PAREN: (29866..29867) \"(\"\n SYMBOL: (29867..29871)\n IDENTIFIER: (29867..29871) \"test\"\n ATMOSPHERE: (29871..29872) \" \"\n QUOTED_DATUM: (29872..29881)\n QUOTE: (29872..29873) \"'\"\n FORM: (29873..29880)\n OPEN_PAREN: (29873..29874) \"(\"\n SYMBOL: (29874..29875)\n IDENTIFIER: (29874..29875) \"b\"\n ATMOSPHERE: (29875..29876) \" \"\n SYMBOL: (29876..29877)\n IDENTIFIER: (29876..29877) \"c\"\n ATMOSPHERE: (29877..29878) \" \"\n SYMBOL: (29878..29879)\n IDENTIFIER: (29878..29879) \"d\"\n CLOSE_PAREN: (29879..29880) \")\"\n ATMOSPHERE: (29880..29881) \" \"\n FORM: (29881..29899)\n OPEN_PAREN: (29881..29882) \"(\"\n SYMBOL: (29882..29885)\n IDENTIFIER: (29882..29885) \"cdr\"\n ATMOSPHERE: (29885..29886) \" \"\n QUOTED_DATUM: (29886..29898)\n QUOTE: (29886..29887) \"'\"\n FORM: (29887..29898)\n OPEN_PAREN: (29887..29888) \"(\"\n FORM: (29888..29891)\n OPEN_PAREN: (29888..29889) \"(\"\n SYMBOL: (29889..29890)\n IDENTIFIER: (29889..29890) \"a\"\n CLOSE_PAREN: (29890..29891) \")\"\n ATMOSPHERE: (29891..29892) \" \"\n SYMBOL: (29892..29893)\n IDENTIFIER: (29892..29893) \"b\"\n ATMOSPHERE: (29893..29894) \" \"\n SYMBOL: (29894..29895)\n IDENTIFIER: (29894..29895) \"c\"\n ATMOSPHERE: (29895..29896) \" \"\n SYMBOL: (29896..29897)\n IDENTIFIER: (29896..29897) \"d\"\n CLOSE_PAREN: (29897..29898) \")\"\n CLOSE_PAREN: (29898..29899) \")\"\n CLOSE_PAREN: (29899..29900) \")\"\n ATMOSPHERE: (29900..29901) \"\n\"\n ATMOSPHERE: (29901..29961) \";; (test 2 (cdr '(1 . 2))) ; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (29961..29962) \"\n\"\n FORM: (29962..29991)\n OPEN_PAREN: (29962..29963) \"(\"\n SYMBOL: (29963..29969)\n IDENTIFIER: (29963..29969) \"define\"\n ATMOSPHERE: (29969..29970) \" \"\n FORM: (29970..29973)\n OPEN_PAREN: (29970..29971) \"(\"\n SYMBOL: (29971..29972)\n IDENTIFIER: (29971..29972) \"g\"\n CLOSE_PAREN: (29972..29973) \")\"\n ATMOSPHERE: (29973..29974) \" \"\n QUOTED_DATUM: (29974..29990)\n QUOTE: (29974..29975) \"'\"\n FORM: (29975..29990)\n OPEN_PAREN: (29975..29976) \"(\"\n SYMBOL: (29976..29989)\n IDENTIFIER: (29976..29989) \"constant-list\"\n CLOSE_PAREN: (29989..29990) \")\"\n CLOSE_PAREN: (29990..29991) \")\"\n ATMOSPHERE: (29991..29993) \"\n\n\"\n FORM: (29993..30019)\n OPEN_PAREN: (29993..29994) \"(\"\n SYMBOL: (29994..29998)\n IDENTIFIER: (29994..29998) \"test\"\n ATMOSPHERE: (29998..29999) \" \"\n CONSTANT: (29999..30001)\n BOOLEAN: (29999..30001) \"#t\"\n ATMOSPHERE: (30001..30002) \" \"\n FORM: (30002..30018)\n OPEN_PAREN: (30002..30003) \"(\"\n SYMBOL: (30003..30008)\n IDENTIFIER: (30003..30008) \"list?\"\n ATMOSPHERE: (30008..30009) \" \"\n QUOTED_DATUM: (30009..30017)\n QUOTE: (30009..30010) \"'\"\n FORM: (30010..30017)\n OPEN_PAREN: (30010..30011) \"(\"\n SYMBOL: (30011..30012)\n IDENTIFIER: (30011..30012) \"a\"\n ATMOSPHERE: (30012..30013) \" \"\n SYMBOL: (30013..30014)\n IDENTIFIER: (30013..30014) \"b\"\n ATMOSPHERE: (30014..30015) \" \"\n SYMBOL: (30015..30016)\n IDENTIFIER: (30015..30016) \"c\"\n CLOSE_PAREN: (30016..30017) \")\"\n CLOSE_PAREN: (30017..30018) \")\"\n CLOSE_PAREN: (30018..30019) \")\"\n ATMOSPHERE: (30019..30020) \"\n\"\n FORM: (30020..30041)\n OPEN_PAREN: (30020..30021) \"(\"\n SYMBOL: (30021..30025)\n IDENTIFIER: (30021..30025) \"test\"\n ATMOSPHERE: (30025..30026) \" \"\n CONSTANT: (30026..30028)\n BOOLEAN: (30026..30028) \"#t\"\n ATMOSPHERE: (30028..30029) \" \"\n FORM: (30029..30040)\n OPEN_PAREN: (30029..30030) \"(\"\n SYMBOL: (30030..30035)\n IDENTIFIER: (30030..30035) \"list?\"\n ATMOSPHERE: (30035..30036) \" \"\n QUOTED_DATUM: (30036..30039)\n QUOTE: (30036..30037) \"'\"\n FORM: (30037..30039)\n OPEN_PAREN: (30037..30038) \"(\"\n CLOSE_PAREN: (30038..30039) \")\"\n CLOSE_PAREN: (30039..30040) \")\"\n CLOSE_PAREN: (30040..30041) \")\"\n ATMOSPHERE: (30041..30042) \"\n\"\n ATMOSPHERE: (30042..30105) \";; (test #f (list? '(a . b))) ; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (30105..30106) \"\n\"\n ATMOSPHERE: (30106..30192) \"; FIXME: recurse in `list?` ; (test #f (let ((x (list 'a))) (set-cdr! x x) (list? x)))\"\n ATMOSPHERE: (30192..30194) \"\n\n\"\n FORM: (30194..30223)\n OPEN_PAREN: (30194..30195) \"(\"\n SYMBOL: (30195..30199)\n IDENTIFIER: (30195..30199) \"test\"\n ATMOSPHERE: (30199..30200) \" \"\n QUOTED_DATUM: (30200..30207)\n QUOTE: (30200..30201) \"'\"\n FORM: (30201..30206)\n OPEN_PAREN: (30201..30202) \"(\"\n CONSTANT: (30202..30203)\n NUMBER: (30202..30203) \"3\"\n ATMOSPHERE: (30203..30204) \" \"\n CONSTANT: (30204..30205)\n NUMBER: (30204..30205) \"3\"\n CLOSE_PAREN: (30205..30206) \")\"\n ATMOSPHERE: (30206..30207) \" \"\n FORM: (30207..30222)\n OPEN_PAREN: (30207..30208) \"(\"\n SYMBOL: (30208..30217)\n IDENTIFIER: (30208..30217) \"make-list\"\n ATMOSPHERE: (30217..30218) \" \"\n CONSTANT: (30218..30219)\n NUMBER: (30218..30219) \"2\"\n ATMOSPHERE: (30219..30220) \" \"\n CONSTANT: (30220..30221)\n NUMBER: (30220..30221) \"3\"\n CLOSE_PAREN: (30221..30222) \")\"\n CLOSE_PAREN: (30222..30223) \")\"\n ATMOSPHERE: (30223..30225) \"\n\n\"\n FORM: (30225..30261)\n OPEN_PAREN: (30225..30226) \"(\"\n SYMBOL: (30226..30230)\n IDENTIFIER: (30226..30230) \"test\"\n ATMOSPHERE: (30230..30231) \" \"\n QUOTED_DATUM: (30231..30240)\n QUOTE: (30231..30232) \"'\"\n FORM: (30232..30239)\n OPEN_PAREN: (30232..30233) \"(\"\n SYMBOL: (30233..30234)\n IDENTIFIER: (30233..30234) \"a\"\n ATMOSPHERE: (30234..30235) \" \"\n CONSTANT: (30235..30236)\n NUMBER: (30235..30236) \"7\"\n ATMOSPHERE: (30236..30237) \" \"\n SYMBOL: (30237..30238)\n IDENTIFIER: (30237..30238) \"c\"\n CLOSE_PAREN: (30238..30239) \")\"\n ATMOSPHERE: (30239..30240) \" \"\n FORM: (30240..30260)\n OPEN_PAREN: (30240..30241) \"(\"\n SYMBOL: (30241..30245)\n IDENTIFIER: (30241..30245) \"list\"\n ATMOSPHERE: (30245..30246) \" \"\n QUOTED_DATUM: (30246..30249)\n QUOTE: (30246..30247) \"'\"\n SYMBOL: (30247..30248)\n IDENTIFIER: (30247..30248) \"a\"\n ATMOSPHERE: (30248..30249) \" \"\n FORM: (30249..30256)\n OPEN_PAREN: (30249..30250) \"(\"\n SYMBOL: (30250..30251)\n IDENTIFIER: (30250..30251) \"+\"\n ATMOSPHERE: (30251..30252) \" \"\n CONSTANT: (30252..30253)\n NUMBER: (30252..30253) \"3\"\n ATMOSPHERE: (30253..30254) \" \"\n CONSTANT: (30254..30255)\n NUMBER: (30254..30255) \"4\"\n CLOSE_PAREN: (30255..30256) \")\"\n ATMOSPHERE: (30256..30257) \" \"\n QUOTED_DATUM: (30257..30259)\n QUOTE: (30257..30258) \"'\"\n SYMBOL: (30258..30259)\n IDENTIFIER: (30258..30259) \"c\"\n CLOSE_PAREN: (30259..30260) \")\"\n CLOSE_PAREN: (30260..30261) \")\"\n ATMOSPHERE: (30261..30262) \"\n\"\n FORM: (30262..30279)\n OPEN_PAREN: (30262..30263) \"(\"\n SYMBOL: (30263..30267)\n IDENTIFIER: (30263..30267) \"test\"\n ATMOSPHERE: (30267..30268) \" \"\n QUOTED_DATUM: (30268..30272)\n QUOTE: (30268..30269) \"'\"\n FORM: (30269..30271)\n OPEN_PAREN: (30269..30270) \"(\"\n CLOSE_PAREN: (30270..30271) \")\"\n ATMOSPHERE: (30271..30272) \" \"\n FORM: (30272..30278)\n OPEN_PAREN: (30272..30273) \"(\"\n SYMBOL: (30273..30277)\n IDENTIFIER: (30273..30277) \"list\"\n CLOSE_PAREN: (30277..30278) \")\"\n CLOSE_PAREN: (30278..30279) \")\"\n ATMOSPHERE: (30279..30281) \"\n\n\"\n FORM: (30281..30307)\n OPEN_PAREN: (30281..30282) \"(\"\n SYMBOL: (30282..30286)\n IDENTIFIER: (30282..30286) \"test\"\n ATMOSPHERE: (30286..30287) \" \"\n CONSTANT: (30287..30288)\n NUMBER: (30287..30288) \"3\"\n ATMOSPHERE: (30288..30289) \" \"\n FORM: (30289..30306)\n OPEN_PAREN: (30289..30290) \"(\"\n SYMBOL: (30290..30296)\n IDENTIFIER: (30290..30296) \"length\"\n ATMOSPHERE: (30296..30297) \" \"\n QUOTED_DATUM: (30297..30305)\n QUOTE: (30297..30298) \"'\"\n FORM: (30298..30305)\n OPEN_PAREN: (30298..30299) \"(\"\n SYMBOL: (30299..30300)\n IDENTIFIER: (30299..30300) \"a\"\n ATMOSPHERE: (30300..30301) \" \"\n SYMBOL: (30301..30302)\n IDENTIFIER: (30301..30302) \"b\"\n ATMOSPHERE: (30302..30303) \" \"\n SYMBOL: (30303..30304)\n IDENTIFIER: (30303..30304) \"c\"\n CLOSE_PAREN: (30304..30305) \")\"\n CLOSE_PAREN: (30305..30306) \")\"\n CLOSE_PAREN: (30306..30307) \")\"\n ATMOSPHERE: (30307..30308) \"\n\"\n FORM: (30308..30342)\n OPEN_PAREN: (30308..30309) \"(\"\n SYMBOL: (30309..30313)\n IDENTIFIER: (30309..30313) \"test\"\n ATMOSPHERE: (30313..30314) \" \"\n CONSTANT: (30314..30315)\n NUMBER: (30314..30315) \"3\"\n ATMOSPHERE: (30315..30316) \" \"\n FORM: (30316..30341)\n OPEN_PAREN: (30316..30317) \"(\"\n SYMBOL: (30317..30323)\n IDENTIFIER: (30317..30323) \"length\"\n ATMOSPHERE: (30323..30324) \" \"\n QUOTED_DATUM: (30324..30340)\n QUOTE: (30324..30325) \"'\"\n FORM: (30325..30340)\n OPEN_PAREN: (30325..30326) \"(\"\n SYMBOL: (30326..30327)\n IDENTIFIER: (30326..30327) \"a\"\n ATMOSPHERE: (30327..30328) \" \"\n FORM: (30328..30331)\n OPEN_PAREN: (30328..30329) \"(\"\n SYMBOL: (30329..30330)\n IDENTIFIER: (30329..30330) \"b\"\n CLOSE_PAREN: (30330..30331) \")\"\n ATMOSPHERE: (30331..30332) \" \"\n FORM: (30332..30339)\n OPEN_PAREN: (30332..30333) \"(\"\n SYMBOL: (30333..30334)\n IDENTIFIER: (30333..30334) \"c\"\n ATMOSPHERE: (30334..30335) \" \"\n SYMBOL: (30335..30336)\n IDENTIFIER: (30335..30336) \"d\"\n ATMOSPHERE: (30336..30337) \" \"\n SYMBOL: (30337..30338)\n IDENTIFIER: (30337..30338) \"e\"\n CLOSE_PAREN: (30338..30339) \")\"\n CLOSE_PAREN: (30339..30340) \")\"\n CLOSE_PAREN: (30340..30341) \")\"\n CLOSE_PAREN: (30341..30342) \")\"\n ATMOSPHERE: (30342..30343) \"\n\"\n FORM: (30343..30364)\n OPEN_PAREN: (30343..30344) \"(\"\n SYMBOL: (30344..30348)\n IDENTIFIER: (30344..30348) \"test\"\n ATMOSPHERE: (30348..30349) \" \"\n CONSTANT: (30349..30350)\n NUMBER: (30349..30350) \"0\"\n ATMOSPHERE: (30350..30351) \" \"\n FORM: (30351..30363)\n OPEN_PAREN: (30351..30352) \"(\"\n SYMBOL: (30352..30358)\n IDENTIFIER: (30352..30358) \"length\"\n ATMOSPHERE: (30358..30359) \" \"\n QUOTED_DATUM: (30359..30362)\n QUOTE: (30359..30360) \"'\"\n FORM: (30360..30362)\n OPEN_PAREN: (30360..30361) \"(\"\n CLOSE_PAREN: (30361..30362) \")\"\n CLOSE_PAREN: (30362..30363) \")\"\n CLOSE_PAREN: (30363..30364) \")\"\n ATMOSPHERE: (30364..30366) \"\n\n\"\n FORM: (30366..30398)\n OPEN_PAREN: (30366..30367) \"(\"\n SYMBOL: (30367..30371)\n IDENTIFIER: (30367..30371) \"test\"\n ATMOSPHERE: (30371..30372) \" \"\n QUOTED_DATUM: (30372..30379)\n QUOTE: (30372..30373) \"'\"\n FORM: (30373..30378)\n OPEN_PAREN: (30373..30374) \"(\"\n SYMBOL: (30374..30375)\n IDENTIFIER: (30374..30375) \"x\"\n ATMOSPHERE: (30375..30376) \" \"\n SYMBOL: (30376..30377)\n IDENTIFIER: (30376..30377) \"y\"\n CLOSE_PAREN: (30377..30378) \")\"\n ATMOSPHERE: (30378..30379) \" \"\n FORM: (30379..30397)\n OPEN_PAREN: (30379..30380) \"(\"\n SYMBOL: (30380..30386)\n IDENTIFIER: (30380..30386) \"append\"\n ATMOSPHERE: (30386..30387) \" \"\n QUOTED_DATUM: (30387..30392)\n QUOTE: (30387..30388) \"'\"\n FORM: (30388..30391)\n OPEN_PAREN: (30388..30389) \"(\"\n SYMBOL: (30389..30390)\n IDENTIFIER: (30389..30390) \"x\"\n CLOSE_PAREN: (30390..30391) \")\"\n ATMOSPHERE: (30391..30392) \" \"\n QUOTED_DATUM: (30392..30396)\n QUOTE: (30392..30393) \"'\"\n FORM: (30393..30396)\n OPEN_PAREN: (30393..30394) \"(\"\n SYMBOL: (30394..30395)\n IDENTIFIER: (30394..30395) \"y\"\n CLOSE_PAREN: (30395..30396) \")\"\n CLOSE_PAREN: (30396..30397) \")\"\n CLOSE_PAREN: (30397..30398) \")\"\n ATMOSPHERE: (30398..30399) \"\n\"\n FORM: (30399..30439)\n OPEN_PAREN: (30399..30400) \"(\"\n SYMBOL: (30400..30404)\n IDENTIFIER: (30400..30404) \"test\"\n ATMOSPHERE: (30404..30405) \" \"\n QUOTED_DATUM: (30405..30416)\n QUOTE: (30405..30406) \"'\"\n FORM: (30406..30415)\n OPEN_PAREN: (30406..30407) \"(\"\n SYMBOL: (30407..30408)\n IDENTIFIER: (30407..30408) \"a\"\n ATMOSPHERE: (30408..30409) \" \"\n SYMBOL: (30409..30410)\n IDENTIFIER: (30409..30410) \"b\"\n ATMOSPHERE: (30410..30411) \" \"\n SYMBOL: (30411..30412)\n IDENTIFIER: (30411..30412) \"c\"\n ATMOSPHERE: (30412..30413) \" \"\n SYMBOL: (30413..30414)\n IDENTIFIER: (30413..30414) \"d\"\n CLOSE_PAREN: (30414..30415) \")\"\n ATMOSPHERE: (30415..30416) \" \"\n FORM: (30416..30438)\n OPEN_PAREN: (30416..30417) \"(\"\n SYMBOL: (30417..30423)\n IDENTIFIER: (30417..30423) \"append\"\n ATMOSPHERE: (30423..30424) \" \"\n QUOTED_DATUM: (30424..30429)\n QUOTE: (30424..30425) \"'\"\n FORM: (30425..30428)\n OPEN_PAREN: (30425..30426) \"(\"\n SYMBOL: (30426..30427)\n IDENTIFIER: (30426..30427) \"a\"\n CLOSE_PAREN: (30427..30428) \")\"\n ATMOSPHERE: (30428..30429) \" \"\n QUOTED_DATUM: (30429..30437)\n QUOTE: (30429..30430) \"'\"\n FORM: (30430..30437)\n OPEN_PAREN: (30430..30431) \"(\"\n SYMBOL: (30431..30432)\n IDENTIFIER: (30431..30432) \"b\"\n ATMOSPHERE: (30432..30433) \" \"\n SYMBOL: (30433..30434)\n IDENTIFIER: (30433..30434) \"c\"\n ATMOSPHERE: (30434..30435) \" \"\n SYMBOL: (30435..30436)\n IDENTIFIER: (30435..30436) \"d\"\n CLOSE_PAREN: (30436..30437) \")\"\n CLOSE_PAREN: (30437..30438) \")\"\n CLOSE_PAREN: (30438..30439) \")\"\n ATMOSPHERE: (30439..30440) \"\n\"\n FORM: (30440..30484)\n OPEN_PAREN: (30440..30441) \"(\"\n SYMBOL: (30441..30445)\n IDENTIFIER: (30441..30445) \"test\"\n ATMOSPHERE: (30445..30446) \" \"\n QUOTED_DATUM: (30446..30459)\n QUOTE: (30446..30447) \"'\"\n FORM: (30447..30458)\n OPEN_PAREN: (30447..30448) \"(\"\n SYMBOL: (30448..30449)\n IDENTIFIER: (30448..30449) \"a\"\n ATMOSPHERE: (30449..30450) \" \"\n FORM: (30450..30453)\n OPEN_PAREN: (30450..30451) \"(\"\n SYMBOL: (30451..30452)\n IDENTIFIER: (30451..30452) \"b\"\n CLOSE_PAREN: (30452..30453) \")\"\n ATMOSPHERE: (30453..30454) \" \"\n FORM: (30454..30457)\n OPEN_PAREN: (30454..30455) \"(\"\n SYMBOL: (30455..30456)\n IDENTIFIER: (30455..30456) \"c\"\n CLOSE_PAREN: (30456..30457) \")\"\n CLOSE_PAREN: (30457..30458) \")\"\n ATMOSPHERE: (30458..30459) \" \"\n FORM: (30459..30483)\n OPEN_PAREN: (30459..30460) \"(\"\n SYMBOL: (30460..30466)\n IDENTIFIER: (30460..30466) \"append\"\n ATMOSPHERE: (30466..30467) \" \"\n QUOTED_DATUM: (30467..30476)\n QUOTE: (30467..30468) \"'\"\n FORM: (30468..30475)\n OPEN_PAREN: (30468..30469) \"(\"\n SYMBOL: (30469..30470)\n IDENTIFIER: (30469..30470) \"a\"\n ATMOSPHERE: (30470..30471) \" \"\n FORM: (30471..30474)\n OPEN_PAREN: (30471..30472) \"(\"\n SYMBOL: (30472..30473)\n IDENTIFIER: (30472..30473) \"b\"\n CLOSE_PAREN: (30473..30474) \")\"\n CLOSE_PAREN: (30474..30475) \")\"\n ATMOSPHERE: (30475..30476) \" \"\n QUOTED_DATUM: (30476..30482)\n QUOTE: (30476..30477) \"'\"\n FORM: (30477..30482)\n OPEN_PAREN: (30477..30478) \"(\"\n FORM: (30478..30481)\n OPEN_PAREN: (30478..30479) \"(\"\n SYMBOL: (30479..30480)\n IDENTIFIER: (30479..30480) \"c\"\n CLOSE_PAREN: (30480..30481) \")\"\n CLOSE_PAREN: (30481..30482) \")\"\n CLOSE_PAREN: (30482..30483) \")\"\n CLOSE_PAREN: (30483..30484) \")\"\n ATMOSPHERE: (30484..30486) \"\n\n\"\n FORM: (30486..30530)\n OPEN_PAREN: (30486..30487) \"(\"\n SYMBOL: (30487..30491)\n IDENTIFIER: (30487..30491) \"test\"\n ATMOSPHERE: (30491..30492) \" \"\n QUOTED_DATUM: (30492..30505)\n QUOTE: (30492..30493) \"'\"\n FORM: (30493..30504)\n OPEN_PAREN: (30493..30494) \"(\"\n SYMBOL: (30494..30495)\n IDENTIFIER: (30494..30495) \"a\"\n ATMOSPHERE: (30495..30496) \" \"\n SYMBOL: (30496..30497)\n IDENTIFIER: (30496..30497) \"b\"\n ATMOSPHERE: (30497..30498) \" \"\n SYMBOL: (30498..30499)\n IDENTIFIER: (30498..30499) \"c\"\n ATMOSPHERE: (30499..30500) \" \"\n DOTTED_TAIL: (30500..30503)\n DOT: (30500..30501) \".\"\n ATMOSPHERE: (30501..30502) \" \"\n SYMBOL: (30502..30503)\n IDENTIFIER: (30502..30503) \"d\"\n CLOSE_PAREN: (30503..30504) \")\"\n ATMOSPHERE: (30504..30505) \" \"\n FORM: (30505..30529)\n OPEN_PAREN: (30505..30506) \"(\"\n SYMBOL: (30506..30512)\n IDENTIFIER: (30506..30512) \"append\"\n ATMOSPHERE: (30512..30513) \" \"\n QUOTED_DATUM: (30513..30520)\n QUOTE: (30513..30514) \"'\"\n FORM: (30514..30519)\n OPEN_PAREN: (30514..30515) \"(\"\n SYMBOL: (30515..30516)\n IDENTIFIER: (30515..30516) \"a\"\n ATMOSPHERE: (30516..30517) \" \"\n SYMBOL: (30517..30518)\n IDENTIFIER: (30517..30518) \"b\"\n CLOSE_PAREN: (30518..30519) \")\"\n ATMOSPHERE: (30519..30520) \" \"\n QUOTED_DATUM: (30520..30528)\n QUOTE: (30520..30521) \"'\"\n FORM: (30521..30528)\n OPEN_PAREN: (30521..30522) \"(\"\n SYMBOL: (30522..30523)\n IDENTIFIER: (30522..30523) \"c\"\n ATMOSPHERE: (30523..30524) \" \"\n DOTTED_TAIL: (30524..30527)\n DOT: (30524..30525) \".\"\n ATMOSPHERE: (30525..30526) \" \"\n SYMBOL: (30526..30527)\n IDENTIFIER: (30526..30527) \"d\"\n CLOSE_PAREN: (30527..30528) \")\"\n CLOSE_PAREN: (30528..30529) \")\"\n CLOSE_PAREN: (30529..30530) \")\"\n ATMOSPHERE: (30530..30531) \"\n\"\n FORM: (30531..30556)\n OPEN_PAREN: (30531..30532) \"(\"\n SYMBOL: (30532..30536)\n IDENTIFIER: (30532..30536) \"test\"\n ATMOSPHERE: (30536..30537) \" \"\n QUOTED_DATUM: (30537..30540)\n QUOTE: (30537..30538) \"'\"\n SYMBOL: (30538..30539)\n IDENTIFIER: (30538..30539) \"a\"\n ATMOSPHERE: (30539..30540) \" \"\n FORM: (30540..30555)\n OPEN_PAREN: (30540..30541) \"(\"\n SYMBOL: (30541..30547)\n IDENTIFIER: (30541..30547) \"append\"\n ATMOSPHERE: (30547..30548) \" \"\n QUOTED_DATUM: (30548..30552)\n QUOTE: (30548..30549) \"'\"\n FORM: (30549..30551)\n OPEN_PAREN: (30549..30550) \"(\"\n CLOSE_PAREN: (30550..30551) \")\"\n ATMOSPHERE: (30551..30552) \" \"\n QUOTED_DATUM: (30552..30554)\n QUOTE: (30552..30553) \"'\"\n SYMBOL: (30553..30554)\n IDENTIFIER: (30553..30554) \"a\"\n CLOSE_PAREN: (30554..30555) \")\"\n CLOSE_PAREN: (30555..30556) \")\"\n ATMOSPHERE: (30556..30558) \"\n\n\"\n FORM: (30558..30592)\n OPEN_PAREN: (30558..30559) \"(\"\n SYMBOL: (30559..30563)\n IDENTIFIER: (30559..30563) \"test\"\n ATMOSPHERE: (30563..30564) \" \"\n QUOTED_DATUM: (30564..30573)\n QUOTE: (30564..30565) \"'\"\n FORM: (30565..30572)\n OPEN_PAREN: (30565..30566) \"(\"\n SYMBOL: (30566..30567)\n IDENTIFIER: (30566..30567) \"c\"\n ATMOSPHERE: (30567..30568) \" \"\n SYMBOL: (30568..30569)\n IDENTIFIER: (30568..30569) \"b\"\n ATMOSPHERE: (30569..30570) \" \"\n SYMBOL: (30570..30571)\n IDENTIFIER: (30570..30571) \"a\"\n CLOSE_PAREN: (30571..30572) \")\"\n ATMOSPHERE: (30572..30573) \" \"\n FORM: (30573..30591)\n OPEN_PAREN: (30573..30574) \"(\"\n SYMBOL: (30574..30581)\n IDENTIFIER: (30574..30581) \"reverse\"\n ATMOSPHERE: (30581..30582) \" \"\n QUOTED_DATUM: (30582..30590)\n QUOTE: (30582..30583) \"'\"\n FORM: (30583..30590)\n OPEN_PAREN: (30583..30584) \"(\"\n SYMBOL: (30584..30585)\n IDENTIFIER: (30584..30585) \"a\"\n ATMOSPHERE: (30585..30586) \" \"\n SYMBOL: (30586..30587)\n IDENTIFIER: (30586..30587) \"b\"\n ATMOSPHERE: (30587..30588) \" \"\n SYMBOL: (30588..30589)\n IDENTIFIER: (30588..30589) \"c\"\n CLOSE_PAREN: (30589..30590) \")\"\n CLOSE_PAREN: (30590..30591) \")\"\n CLOSE_PAREN: (30591..30592) \")\"\n ATMOSPHERE: (30592..30593) \"\n\"\n FORM: (30593..30651)\n OPEN_PAREN: (30593..30594) \"(\"\n SYMBOL: (30594..30598)\n IDENTIFIER: (30594..30598) \"test\"\n ATMOSPHERE: (30598..30599) \" \"\n QUOTED_DATUM: (30599..30620)\n QUOTE: (30599..30600) \"'\"\n FORM: (30600..30619)\n OPEN_PAREN: (30600..30601) \"(\"\n FORM: (30601..30608)\n OPEN_PAREN: (30601..30602) \"(\"\n SYMBOL: (30602..30603)\n IDENTIFIER: (30602..30603) \"e\"\n ATMOSPHERE: (30603..30604) \" \"\n FORM: (30604..30607)\n OPEN_PAREN: (30604..30605) \"(\"\n SYMBOL: (30605..30606)\n IDENTIFIER: (30605..30606) \"f\"\n CLOSE_PAREN: (30606..30607) \")\"\n CLOSE_PAREN: (30607..30608) \")\"\n ATMOSPHERE: (30608..30609) \" \"\n SYMBOL: (30609..30610)\n IDENTIFIER: (30609..30610) \"d\"\n ATMOSPHERE: (30610..30611) \" \"\n FORM: (30611..30616)\n OPEN_PAREN: (30611..30612) \"(\"\n SYMBOL: (30612..30613)\n IDENTIFIER: (30612..30613) \"b\"\n ATMOSPHERE: (30613..30614) \" \"\n SYMBOL: (30614..30615)\n IDENTIFIER: (30614..30615) \"c\"\n CLOSE_PAREN: (30615..30616) \")\"\n ATMOSPHERE: (30616..30617) \" \"\n SYMBOL: (30617..30618)\n IDENTIFIER: (30617..30618) \"a\"\n CLOSE_PAREN: (30618..30619) \")\"\n ATMOSPHERE: (30619..30620) \" \"\n FORM: (30620..30650)\n OPEN_PAREN: (30620..30621) \"(\"\n SYMBOL: (30621..30628)\n IDENTIFIER: (30621..30628) \"reverse\"\n ATMOSPHERE: (30628..30629) \" \"\n QUOTED_DATUM: (30629..30649)\n QUOTE: (30629..30630) \"'\"\n FORM: (30630..30649)\n OPEN_PAREN: (30630..30631) \"(\"\n SYMBOL: (30631..30632)\n IDENTIFIER: (30631..30632) \"a\"\n ATMOSPHERE: (30632..30633) \" \"\n FORM: (30633..30638)\n OPEN_PAREN: (30633..30634) \"(\"\n SYMBOL: (30634..30635)\n IDENTIFIER: (30634..30635) \"b\"\n ATMOSPHERE: (30635..30636) \" \"\n SYMBOL: (30636..30637)\n IDENTIFIER: (30636..30637) \"c\"\n CLOSE_PAREN: (30637..30638) \")\"\n ATMOSPHERE: (30638..30639) \" \"\n SYMBOL: (30639..30640)\n IDENTIFIER: (30639..30640) \"d\"\n ATMOSPHERE: (30640..30641) \" \"\n FORM: (30641..30648)\n OPEN_PAREN: (30641..30642) \"(\"\n SYMBOL: (30642..30643)\n IDENTIFIER: (30642..30643) \"e\"\n ATMOSPHERE: (30643..30644) \" \"\n FORM: (30644..30647)\n OPEN_PAREN: (30644..30645) \"(\"\n SYMBOL: (30645..30646)\n IDENTIFIER: (30645..30646) \"f\"\n CLOSE_PAREN: (30646..30647) \")\"\n CLOSE_PAREN: (30647..30648) \")\"\n CLOSE_PAREN: (30648..30649) \")\"\n CLOSE_PAREN: (30649..30650) \")\"\n CLOSE_PAREN: (30650..30651) \")\"\n ATMOSPHERE: (30651..30653) \"\n\n\"\n FORM: (30653..30693)\n OPEN_PAREN: (30653..30654) \"(\"\n SYMBOL: (30654..30658)\n IDENTIFIER: (30654..30658) \"test\"\n ATMOSPHERE: (30658..30659) \" \"\n QUOTED_DATUM: (30659..30666)\n QUOTE: (30659..30660) \"'\"\n FORM: (30660..30665)\n OPEN_PAREN: (30660..30661) \"(\"\n SYMBOL: (30661..30662)\n IDENTIFIER: (30661..30662) \"d\"\n ATMOSPHERE: (30662..30663) \" \"\n SYMBOL: (30663..30664)\n IDENTIFIER: (30663..30664) \"e\"\n CLOSE_PAREN: (30664..30665) \")\"\n ATMOSPHERE: (30665..30666) \" \"\n FORM: (30666..30692)\n OPEN_PAREN: (30666..30667) \"(\"\n SYMBOL: (30667..30676)\n IDENTIFIER: (30667..30676) \"list-tail\"\n ATMOSPHERE: (30676..30677) \" \"\n QUOTED_DATUM: (30677..30690)\n QUOTE: (30677..30678) \"'\"\n FORM: (30678..30689)\n OPEN_PAREN: (30678..30679) \"(\"\n SYMBOL: (30679..30680)\n IDENTIFIER: (30679..30680) \"a\"\n ATMOSPHERE: (30680..30681) \" \"\n SYMBOL: (30681..30682)\n IDENTIFIER: (30681..30682) \"b\"\n ATMOSPHERE: (30682..30683) \" \"\n SYMBOL: (30683..30684)\n IDENTIFIER: (30683..30684) \"c\"\n ATMOSPHERE: (30684..30685) \" \"\n SYMBOL: (30685..30686)\n IDENTIFIER: (30685..30686) \"d\"\n ATMOSPHERE: (30686..30687) \" \"\n SYMBOL: (30687..30688)\n IDENTIFIER: (30687..30688) \"e\"\n CLOSE_PAREN: (30688..30689) \")\"\n ATMOSPHERE: (30689..30690) \" \"\n CONSTANT: (30690..30691)\n NUMBER: (30690..30691) \"3\"\n CLOSE_PAREN: (30691..30692) \")\"\n CLOSE_PAREN: (30692..30693) \")\"\n ATMOSPHERE: (30693..30695) \"\n\n\"\n FORM: (30695..30728)\n OPEN_PAREN: (30695..30696) \"(\"\n SYMBOL: (30696..30700)\n IDENTIFIER: (30696..30700) \"test\"\n ATMOSPHERE: (30700..30701) \" \"\n QUOTED_DATUM: (30701..30704)\n QUOTE: (30701..30702) \"'\"\n SYMBOL: (30702..30703)\n IDENTIFIER: (30702..30703) \"c\"\n ATMOSPHERE: (30703..30704) \" \"\n FORM: (30704..30727)\n OPEN_PAREN: (30704..30705) \"(\"\n SYMBOL: (30705..30713)\n IDENTIFIER: (30705..30713) \"list-ref\"\n ATMOSPHERE: (30713..30714) \" \"\n QUOTED_DATUM: (30714..30725)\n QUOTE: (30714..30715) \"'\"\n FORM: (30715..30724)\n OPEN_PAREN: (30715..30716) \"(\"\n SYMBOL: (30716..30717)\n IDENTIFIER: (30716..30717) \"a\"\n ATMOSPHERE: (30717..30718) \" \"\n SYMBOL: (30718..30719)\n IDENTIFIER: (30718..30719) \"b\"\n ATMOSPHERE: (30719..30720) \" \"\n SYMBOL: (30720..30721)\n IDENTIFIER: (30720..30721) \"c\"\n ATMOSPHERE: (30721..30722) \" \"\n SYMBOL: (30722..30723)\n IDENTIFIER: (30722..30723) \"d\"\n CLOSE_PAREN: (30723..30724) \")\"\n ATMOSPHERE: (30724..30725) \" \"\n CONSTANT: (30725..30726)\n NUMBER: (30725..30726) \"2\"\n CLOSE_PAREN: (30726..30727) \")\"\n CLOSE_PAREN: (30727..30728) \")\"\n ATMOSPHERE: (30728..30729) \"\n\"\n ATMOSPHERE: (30729..30761) \";; (test 'c (list-ref '(a b c d)\"\n ATMOSPHERE: (30761..30762) \"\n\"\n ATMOSPHERE: (30762..30831) \";; (exact (round 1.8)))) FIXME: support `round` and `exact`\"\n ATMOSPHERE: (30831..30833) \"\n\n\"\n FORM: (30833..30959)\n OPEN_PAREN: (30833..30834) \"(\"\n SYMBOL: (30834..30838)\n IDENTIFIER: (30834..30838) \"test\"\n ATMOSPHERE: (30838..30839) \" \"\n QUOTED_DATUM: (30839..30869)\n QUOTE: (30839..30840) \"'\"\n FORM: (30840..30864)\n OPEN_PAREN: (30840..30841) \"(\"\n CONSTANT: (30841..30842)\n NUMBER: (30841..30842) \"0\"\n ATMOSPHERE: (30842..30843) \" \"\n FORM: (30843..30856)\n OPEN_PAREN: (30843..30844) \"(\"\n CONSTANT: (30844..30849)\n STRING: (30844..30849) \"\"Sue\"\"\n ATMOSPHERE: (30849..30850) \" \"\n CONSTANT: (30850..30855)\n STRING: (30850..30855) \"\"Sue\"\"\n CLOSE_PAREN: (30855..30856) \")\"\n ATMOSPHERE: (30856..30857) \" \"\n CONSTANT: (30857..30863)\n STRING: (30857..30863) \"\"Anna\"\"\n CLOSE_PAREN: (30863..30864) \")\"\n ATMOSPHERE: (30864..30869) \"\n \"\n FORM: (30869..30958)\n OPEN_PAREN: (30869..30870) \"(\"\n SYMBOL: (30870..30873)\n IDENTIFIER: (30870..30873) \"let\"\n ATMOSPHERE: (30873..30874) \" \"\n FORM: (30874..30908)\n OPEN_PAREN: (30874..30875) \"(\"\n FORM: (30875..30907)\n OPEN_PAREN: (30875..30876) \"(\"\n SYMBOL: (30876..30879)\n IDENTIFIER: (30876..30879) \"lst\"\n ATMOSPHERE: (30879..30880) \" \"\n FORM: (30880..30906)\n OPEN_PAREN: (30880..30881) \"(\"\n SYMBOL: (30881..30885)\n IDENTIFIER: (30881..30885) \"list\"\n ATMOSPHERE: (30885..30886) \" \"\n CONSTANT: (30886..30887)\n NUMBER: (30886..30887) \"0\"\n ATMOSPHERE: (30887..30888) \" \"\n QUOTED_DATUM: (30888..30899)\n QUOTE: (30888..30889) \"'\"\n FORM: (30889..30898)\n OPEN_PAREN: (30889..30890) \"(\"\n CONSTANT: (30890..30891)\n NUMBER: (30890..30891) \"2\"\n ATMOSPHERE: (30891..30892) \" \"\n CONSTANT: (30892..30893)\n NUMBER: (30892..30893) \"2\"\n ATMOSPHERE: (30893..30894) \" \"\n CONSTANT: (30894..30895)\n NUMBER: (30894..30895) \"2\"\n ATMOSPHERE: (30895..30896) \" \"\n CONSTANT: (30896..30897)\n NUMBER: (30896..30897) \"2\"\n CLOSE_PAREN: (30897..30898) \")\"\n ATMOSPHERE: (30898..30899) \" \"\n CONSTANT: (30899..30905)\n STRING: (30899..30905) \"\"Anna\"\"\n CLOSE_PAREN: (30905..30906) \")\"\n CLOSE_PAREN: (30906..30907) \")\"\n CLOSE_PAREN: (30907..30908) \")\"\n ATMOSPHERE: (30908..30915) \"\n \"\n FORM: (30915..30947)\n OPEN_PAREN: (30915..30916) \"(\"\n SYMBOL: (30916..30925)\n IDENTIFIER: (30916..30925) \"list-set!\"\n ATMOSPHERE: (30925..30926) \" \"\n SYMBOL: (30926..30929)\n IDENTIFIER: (30926..30929) \"lst\"\n ATMOSPHERE: (30929..30930) \" \"\n CONSTANT: (30930..30931)\n NUMBER: (30930..30931) \"1\"\n ATMOSPHERE: (30931..30932) \" \"\n QUOTED_DATUM: (30932..30946)\n QUOTE: (30932..30933) \"'\"\n FORM: (30933..30946)\n OPEN_PAREN: (30933..30934) \"(\"\n CONSTANT: (30934..30939)\n STRING: (30934..30939) \"\"Sue\"\"\n ATMOSPHERE: (30939..30940) \" \"\n CONSTANT: (30940..30945)\n STRING: (30940..30945) \"\"Sue\"\"\n CLOSE_PAREN: (30945..30946) \")\"\n CLOSE_PAREN: (30946..30947) \")\"\n ATMOSPHERE: (30947..30954) \"\n \"\n SYMBOL: (30954..30957)\n IDENTIFIER: (30954..30957) \"lst\"\n CLOSE_PAREN: (30957..30958) \")\"\n CLOSE_PAREN: (30958..30959) \")\"\n ATMOSPHERE: (30959..30961) \"\n\n\"\n FORM: (30961..30995)\n OPEN_PAREN: (30961..30962) \"(\"\n SYMBOL: (30962..30966)\n IDENTIFIER: (30962..30966) \"test\"\n ATMOSPHERE: (30966..30967) \" \"\n QUOTED_DATUM: (30967..30976)\n QUOTE: (30967..30968) \"'\"\n FORM: (30968..30975)\n OPEN_PAREN: (30968..30969) \"(\"\n SYMBOL: (30969..30970)\n IDENTIFIER: (30969..30970) \"a\"\n ATMOSPHERE: (30970..30971) \" \"\n SYMBOL: (30971..30972)\n IDENTIFIER: (30971..30972) \"b\"\n ATMOSPHERE: (30972..30973) \" \"\n SYMBOL: (30973..30974)\n IDENTIFIER: (30973..30974) \"c\"\n CLOSE_PAREN: (30974..30975) \")\"\n ATMOSPHERE: (30975..30976) \" \"\n FORM: (30976..30994)\n OPEN_PAREN: (30976..30977) \"(\"\n SYMBOL: (30977..30981)\n IDENTIFIER: (30977..30981) \"memq\"\n ATMOSPHERE: (30981..30982) \" \"\n QUOTED_DATUM: (30982..30985)\n QUOTE: (30982..30983) \"'\"\n SYMBOL: (30983..30984)\n IDENTIFIER: (30983..30984) \"a\"\n ATMOSPHERE: (30984..30985) \" \"\n QUOTED_DATUM: (30985..30993)\n QUOTE: (30985..30986) \"'\"\n FORM: (30986..30993)\n OPEN_PAREN: (30986..30987) \"(\"\n SYMBOL: (30987..30988)\n IDENTIFIER: (30987..30988) \"a\"\n ATMOSPHERE: (30988..30989) \" \"\n SYMBOL: (30989..30990)\n IDENTIFIER: (30989..30990) \"b\"\n ATMOSPHERE: (30990..30991) \" \"\n SYMBOL: (30991..30992)\n IDENTIFIER: (30991..30992) \"c\"\n CLOSE_PAREN: (30992..30993) \")\"\n CLOSE_PAREN: (30993..30994) \")\"\n CLOSE_PAREN: (30994..30995) \")\"\n ATMOSPHERE: (30995..30996) \"\n\"\n FORM: (30996..31028)\n OPEN_PAREN: (30996..30997) \"(\"\n SYMBOL: (30997..31001)\n IDENTIFIER: (30997..31001) \"test\"\n ATMOSPHERE: (31001..31002) \" \"\n QUOTED_DATUM: (31002..31009)\n QUOTE: (31002..31003) \"'\"\n FORM: (31003..31008)\n OPEN_PAREN: (31003..31004) \"(\"\n SYMBOL: (31004..31005)\n IDENTIFIER: (31004..31005) \"b\"\n ATMOSPHERE: (31005..31006) \" \"\n SYMBOL: (31006..31007)\n IDENTIFIER: (31006..31007) \"c\"\n CLOSE_PAREN: (31007..31008) \")\"\n ATMOSPHERE: (31008..31009) \" \"\n FORM: (31009..31027)\n OPEN_PAREN: (31009..31010) \"(\"\n SYMBOL: (31010..31014)\n IDENTIFIER: (31010..31014) \"memq\"\n ATMOSPHERE: (31014..31015) \" \"\n QUOTED_DATUM: (31015..31018)\n QUOTE: (31015..31016) \"'\"\n SYMBOL: (31016..31017)\n IDENTIFIER: (31016..31017) \"b\"\n ATMOSPHERE: (31017..31018) \" \"\n QUOTED_DATUM: (31018..31026)\n QUOTE: (31018..31019) \"'\"\n FORM: (31019..31026)\n OPEN_PAREN: (31019..31020) \"(\"\n SYMBOL: (31020..31021)\n IDENTIFIER: (31020..31021) \"a\"\n ATMOSPHERE: (31021..31022) \" \"\n SYMBOL: (31022..31023)\n IDENTIFIER: (31022..31023) \"b\"\n ATMOSPHERE: (31023..31024) \" \"\n SYMBOL: (31024..31025)\n IDENTIFIER: (31024..31025) \"c\"\n CLOSE_PAREN: (31025..31026) \")\"\n CLOSE_PAREN: (31026..31027) \")\"\n CLOSE_PAREN: (31027..31028) \")\"\n ATMOSPHERE: (31028..31029) \"\n\"\n FORM: (31029..31057)\n OPEN_PAREN: (31029..31030) \"(\"\n SYMBOL: (31030..31034)\n IDENTIFIER: (31030..31034) \"test\"\n ATMOSPHERE: (31034..31035) \" \"\n CONSTANT: (31035..31037)\n BOOLEAN: (31035..31037) \"#f\"\n ATMOSPHERE: (31037..31038) \" \"\n FORM: (31038..31056)\n OPEN_PAREN: (31038..31039) \"(\"\n SYMBOL: (31039..31043)\n IDENTIFIER: (31039..31043) \"memq\"\n ATMOSPHERE: (31043..31044) \" \"\n QUOTED_DATUM: (31044..31047)\n QUOTE: (31044..31045) \"'\"\n SYMBOL: (31045..31046)\n IDENTIFIER: (31045..31046) \"a\"\n ATMOSPHERE: (31046..31047) \" \"\n QUOTED_DATUM: (31047..31055)\n QUOTE: (31047..31048) \"'\"\n FORM: (31048..31055)\n OPEN_PAREN: (31048..31049) \"(\"\n SYMBOL: (31049..31050)\n IDENTIFIER: (31049..31050) \"b\"\n ATMOSPHERE: (31050..31051) \" \"\n SYMBOL: (31051..31052)\n IDENTIFIER: (31051..31052) \"c\"\n ATMOSPHERE: (31052..31053) \" \"\n SYMBOL: (31053..31054)\n IDENTIFIER: (31053..31054) \"d\"\n CLOSE_PAREN: (31054..31055) \")\"\n CLOSE_PAREN: (31055..31056) \")\"\n CLOSE_PAREN: (31056..31057) \")\"\n ATMOSPHERE: (31057..31058) \"\n\"\n FORM: (31058..31095)\n OPEN_PAREN: (31058..31059) \"(\"\n SYMBOL: (31059..31063)\n IDENTIFIER: (31059..31063) \"test\"\n ATMOSPHERE: (31063..31064) \" \"\n CONSTANT: (31064..31066)\n BOOLEAN: (31064..31066) \"#f\"\n ATMOSPHERE: (31066..31067) \" \"\n FORM: (31067..31094)\n OPEN_PAREN: (31067..31068) \"(\"\n SYMBOL: (31068..31072)\n IDENTIFIER: (31068..31072) \"memq\"\n ATMOSPHERE: (31072..31073) \" \"\n FORM: (31073..31082)\n OPEN_PAREN: (31073..31074) \"(\"\n SYMBOL: (31074..31078)\n IDENTIFIER: (31074..31078) \"list\"\n ATMOSPHERE: (31078..31079) \" \"\n QUOTED_DATUM: (31079..31081)\n QUOTE: (31079..31080) \"'\"\n SYMBOL: (31080..31081)\n IDENTIFIER: (31080..31081) \"a\"\n CLOSE_PAREN: (31081..31082) \")\"\n ATMOSPHERE: (31082..31083) \" \"\n QUOTED_DATUM: (31083..31093)\n QUOTE: (31083..31084) \"'\"\n FORM: (31084..31093)\n OPEN_PAREN: (31084..31085) \"(\"\n SYMBOL: (31085..31086)\n IDENTIFIER: (31085..31086) \"b\"\n ATMOSPHERE: (31086..31087) \" \"\n FORM: (31087..31090)\n OPEN_PAREN: (31087..31088) \"(\"\n SYMBOL: (31088..31089)\n IDENTIFIER: (31088..31089) \"a\"\n CLOSE_PAREN: (31089..31090) \")\"\n ATMOSPHERE: (31090..31091) \" \"\n SYMBOL: (31091..31092)\n IDENTIFIER: (31091..31092) \"c\"\n CLOSE_PAREN: (31092..31093) \")\"\n CLOSE_PAREN: (31093..31094) \")\"\n CLOSE_PAREN: (31094..31095) \")\"\n ATMOSPHERE: (31095..31096) \"\n\"\n FORM: (31096..31141)\n OPEN_PAREN: (31096..31097) \"(\"\n SYMBOL: (31097..31101)\n IDENTIFIER: (31097..31101) \"test\"\n ATMOSPHERE: (31101..31102) \" \"\n QUOTED_DATUM: (31102..31111)\n QUOTE: (31102..31103) \"'\"\n FORM: (31103..31110)\n OPEN_PAREN: (31103..31104) \"(\"\n FORM: (31104..31107)\n OPEN_PAREN: (31104..31105) \"(\"\n SYMBOL: (31105..31106)\n IDENTIFIER: (31105..31106) \"a\"\n CLOSE_PAREN: (31106..31107) \")\"\n ATMOSPHERE: (31107..31108) \" \"\n SYMBOL: (31108..31109)\n IDENTIFIER: (31108..31109) \"c\"\n CLOSE_PAREN: (31109..31110) \")\"\n ATMOSPHERE: (31110..31111) \" \"\n FORM: (31111..31140)\n OPEN_PAREN: (31111..31112) \"(\"\n SYMBOL: (31112..31118)\n IDENTIFIER: (31112..31118) \"member\"\n ATMOSPHERE: (31118..31119) \" \"\n FORM: (31119..31128)\n OPEN_PAREN: (31119..31120) \"(\"\n SYMBOL: (31120..31124)\n IDENTIFIER: (31120..31124) \"list\"\n ATMOSPHERE: (31124..31125) \" \"\n QUOTED_DATUM: (31125..31127)\n QUOTE: (31125..31126) \"'\"\n SYMBOL: (31126..31127)\n IDENTIFIER: (31126..31127) \"a\"\n CLOSE_PAREN: (31127..31128) \")\"\n ATMOSPHERE: (31128..31129) \" \"\n QUOTED_DATUM: (31129..31139)\n QUOTE: (31129..31130) \"'\"\n FORM: (31130..31139)\n OPEN_PAREN: (31130..31131) \"(\"\n SYMBOL: (31131..31132)\n IDENTIFIER: (31131..31132) \"b\"\n ATMOSPHERE: (31132..31133) \" \"\n FORM: (31133..31136)\n OPEN_PAREN: (31133..31134) \"(\"\n SYMBOL: (31134..31135)\n IDENTIFIER: (31134..31135) \"a\"\n CLOSE_PAREN: (31135..31136) \")\"\n ATMOSPHERE: (31136..31137) \" \"\n SYMBOL: (31137..31138)\n IDENTIFIER: (31137..31138) \"c\"\n CLOSE_PAREN: (31138..31139) \")\"\n CLOSE_PAREN: (31139..31140) \")\"\n CLOSE_PAREN: (31140..31141) \")\"\n ATMOSPHERE: (31141..31142) \"\n\"\n ATMOSPHERE: (31142..31201) \"; (test '(\"b\" \"c\") (member \"B\" '(\"a\" \"b\" \"c\") string-ci=?))\"\n ATMOSPHERE: (31201..31202) \"\n\"\n FORM: (31202..31257)\n OPEN_PAREN: (31202..31203) \"(\"\n SYMBOL: (31203..31207)\n IDENTIFIER: (31203..31207) \"test\"\n ATMOSPHERE: (31207..31208) \" \"\n QUOTED_DATUM: (31208..31219)\n QUOTE: (31208..31209) \"'\"\n FORM: (31209..31218)\n OPEN_PAREN: (31209..31210) \"(\"\n CONSTANT: (31210..31213)\n CHARACTER: (31210..31213) \"#\\b\"\n ATMOSPHERE: (31213..31214) \" \"\n CONSTANT: (31214..31217)\n CHARACTER: (31214..31217) \"#\\c\"\n CLOSE_PAREN: (31217..31218) \")\"\n ATMOSPHERE: (31218..31219) \" \"\n FORM: (31219..31256)\n OPEN_PAREN: (31219..31220) \"(\"\n SYMBOL: (31220..31226)\n IDENTIFIER: (31220..31226) \"member\"\n ATMOSPHERE: (31226..31227) \" \"\n CONSTANT: (31227..31230)\n CHARACTER: (31227..31230) \"#\\B\"\n ATMOSPHERE: (31230..31231) \" \"\n QUOTED_DATUM: (31231..31246)\n QUOTE: (31231..31232) \"'\"\n FORM: (31232..31245)\n OPEN_PAREN: (31232..31233) \"(\"\n CONSTANT: (31233..31236)\n CHARACTER: (31233..31236) \"#\\a\"\n ATMOSPHERE: (31236..31237) \" \"\n CONSTANT: (31237..31240)\n CHARACTER: (31237..31240) \"#\\b\"\n ATMOSPHERE: (31240..31241) \" \"\n CONSTANT: (31241..31244)\n CHARACTER: (31241..31244) \"#\\c\"\n CLOSE_PAREN: (31244..31245) \")\"\n ATMOSPHERE: (31245..31246) \" \"\n SYMBOL: (31246..31255)\n IDENTIFIER: (31246..31255) \"char-ci=?\"\n CLOSE_PAREN: (31255..31256) \")\"\n CLOSE_PAREN: (31256..31257) \")\"\n ATMOSPHERE: (31257..31258) \"\n\"\n FORM: (31258..31301)\n OPEN_PAREN: (31258..31259) \"(\"\n SYMBOL: (31259..31263)\n IDENTIFIER: (31259..31263) \"test\"\n ATMOSPHERE: (31263..31264) \" \"\n QUOTED_DATUM: (31264..31275)\n QUOTE: (31264..31265) \"'\"\n FORM: (31265..31274)\n OPEN_PAREN: (31265..31266) \"(\"\n CONSTANT: (31266..31269)\n NUMBER: (31266..31269) \"101\"\n ATMOSPHERE: (31269..31270) \" \"\n CONSTANT: (31270..31273)\n NUMBER: (31270..31273) \"102\"\n CLOSE_PAREN: (31273..31274) \")\"\n ATMOSPHERE: (31274..31275) \" \"\n FORM: (31275..31300)\n OPEN_PAREN: (31275..31276) \"(\"\n SYMBOL: (31276..31280)\n IDENTIFIER: (31276..31280) \"memv\"\n ATMOSPHERE: (31280..31281) \" \"\n CONSTANT: (31281..31284)\n NUMBER: (31281..31284) \"101\"\n ATMOSPHERE: (31284..31285) \" \"\n QUOTED_DATUM: (31285..31299)\n QUOTE: (31285..31286) \"'\"\n FORM: (31286..31299)\n OPEN_PAREN: (31286..31287) \"(\"\n CONSTANT: (31287..31290)\n NUMBER: (31287..31290) \"100\"\n ATMOSPHERE: (31290..31291) \" \"\n CONSTANT: (31291..31294)\n NUMBER: (31291..31294) \"101\"\n ATMOSPHERE: (31294..31295) \" \"\n CONSTANT: (31295..31298)\n NUMBER: (31295..31298) \"102\"\n CLOSE_PAREN: (31298..31299) \")\"\n CLOSE_PAREN: (31299..31300) \")\"\n CLOSE_PAREN: (31300..31301) \")\"\n ATMOSPHERE: (31301..31303) \"\n\n\"\n FORM: (31303..31425)\n OPEN_PAREN: (31303..31304) \"(\"\n SYMBOL: (31304..31307)\n IDENTIFIER: (31304..31307) \"let\"\n ATMOSPHERE: (31307..31308) \" \"\n FORM: (31308..31310)\n OPEN_PAREN: (31308..31309) \"(\"\n CLOSE_PAREN: (31309..31310) \")\"\n ATMOSPHERE: (31310..31313) \"\n \"\n FORM: (31313..31344)\n OPEN_PAREN: (31313..31314) \"(\"\n SYMBOL: (31314..31320)\n IDENTIFIER: (31314..31320) \"define\"\n ATMOSPHERE: (31320..31321) \" \"\n SYMBOL: (31321..31322)\n IDENTIFIER: (31321..31322) \"e\"\n ATMOSPHERE: (31322..31323) \" \"\n QUOTED_DATUM: (31323..31343)\n QUOTE: (31323..31324) \"'\"\n FORM: (31324..31343)\n OPEN_PAREN: (31324..31325) \"(\"\n FORM: (31325..31330)\n OPEN_PAREN: (31325..31326) \"(\"\n SYMBOL: (31326..31327)\n IDENTIFIER: (31326..31327) \"a\"\n ATMOSPHERE: (31327..31328) \" \"\n CONSTANT: (31328..31329)\n NUMBER: (31328..31329) \"1\"\n CLOSE_PAREN: (31329..31330) \")\"\n ATMOSPHERE: (31330..31331) \" \"\n FORM: (31331..31336)\n OPEN_PAREN: (31331..31332) \"(\"\n SYMBOL: (31332..31333)\n IDENTIFIER: (31332..31333) \"b\"\n ATMOSPHERE: (31333..31334) \" \"\n CONSTANT: (31334..31335)\n NUMBER: (31334..31335) \"2\"\n CLOSE_PAREN: (31335..31336) \")\"\n ATMOSPHERE: (31336..31337) \" \"\n FORM: (31337..31342)\n OPEN_PAREN: (31337..31338) \"(\"\n SYMBOL: (31338..31339)\n IDENTIFIER: (31338..31339) \"c\"\n ATMOSPHERE: (31339..31340) \" \"\n CONSTANT: (31340..31341)\n NUMBER: (31340..31341) \"3\"\n CLOSE_PAREN: (31341..31342) \")\"\n CLOSE_PAREN: (31342..31343) \")\"\n CLOSE_PAREN: (31343..31344) \")\"\n ATMOSPHERE: (31344..31347) \"\n \"\n FORM: (31347..31372)\n OPEN_PAREN: (31347..31348) \"(\"\n SYMBOL: (31348..31352)\n IDENTIFIER: (31348..31352) \"test\"\n ATMOSPHERE: (31352..31353) \" \"\n QUOTED_DATUM: (31353..31360)\n QUOTE: (31353..31354) \"'\"\n FORM: (31354..31359)\n OPEN_PAREN: (31354..31355) \"(\"\n SYMBOL: (31355..31356)\n IDENTIFIER: (31355..31356) \"a\"\n ATMOSPHERE: (31356..31357) \" \"\n CONSTANT: (31357..31358)\n NUMBER: (31357..31358) \"1\"\n CLOSE_PAREN: (31358..31359) \")\"\n ATMOSPHERE: (31359..31360) \" \"\n FORM: (31360..31371)\n OPEN_PAREN: (31360..31361) \"(\"\n SYMBOL: (31361..31365)\n IDENTIFIER: (31361..31365) \"assq\"\n ATMOSPHERE: (31365..31366) \" \"\n QUOTED_DATUM: (31366..31369)\n QUOTE: (31366..31367) \"'\"\n SYMBOL: (31367..31368)\n IDENTIFIER: (31367..31368) \"a\"\n ATMOSPHERE: (31368..31369) \" \"\n SYMBOL: (31369..31370)\n IDENTIFIER: (31369..31370) \"e\"\n CLOSE_PAREN: (31370..31371) \")\"\n CLOSE_PAREN: (31371..31372) \")\"\n ATMOSPHERE: (31372..31375) \"\n \"\n FORM: (31375..31400)\n OPEN_PAREN: (31375..31376) \"(\"\n SYMBOL: (31376..31380)\n IDENTIFIER: (31376..31380) \"test\"\n ATMOSPHERE: (31380..31381) \" \"\n QUOTED_DATUM: (31381..31388)\n QUOTE: (31381..31382) \"'\"\n FORM: (31382..31387)\n OPEN_PAREN: (31382..31383) \"(\"\n SYMBOL: (31383..31384)\n IDENTIFIER: (31383..31384) \"b\"\n ATMOSPHERE: (31384..31385) \" \"\n CONSTANT: (31385..31386)\n NUMBER: (31385..31386) \"2\"\n CLOSE_PAREN: (31386..31387) \")\"\n ATMOSPHERE: (31387..31388) \" \"\n FORM: (31388..31399)\n OPEN_PAREN: (31388..31389) \"(\"\n SYMBOL: (31389..31393)\n IDENTIFIER: (31389..31393) \"assq\"\n ATMOSPHERE: (31393..31394) \" \"\n QUOTED_DATUM: (31394..31397)\n QUOTE: (31394..31395) \"'\"\n SYMBOL: (31395..31396)\n IDENTIFIER: (31395..31396) \"b\"\n ATMOSPHERE: (31396..31397) \" \"\n SYMBOL: (31397..31398)\n IDENTIFIER: (31397..31398) \"e\"\n CLOSE_PAREN: (31398..31399) \")\"\n CLOSE_PAREN: (31399..31400) \")\"\n ATMOSPHERE: (31400..31403) \"\n \"\n FORM: (31403..31424)\n OPEN_PAREN: (31403..31404) \"(\"\n SYMBOL: (31404..31408)\n IDENTIFIER: (31404..31408) \"test\"\n ATMOSPHERE: (31408..31409) \" \"\n CONSTANT: (31409..31411)\n BOOLEAN: (31409..31411) \"#f\"\n ATMOSPHERE: (31411..31412) \" \"\n FORM: (31412..31423)\n OPEN_PAREN: (31412..31413) \"(\"\n SYMBOL: (31413..31417)\n IDENTIFIER: (31413..31417) \"assq\"\n ATMOSPHERE: (31417..31418) \" \"\n QUOTED_DATUM: (31418..31421)\n QUOTE: (31418..31419) \"'\"\n SYMBOL: (31419..31420)\n IDENTIFIER: (31419..31420) \"d\"\n ATMOSPHERE: (31420..31421) \" \"\n SYMBOL: (31421..31422)\n IDENTIFIER: (31421..31422) \"e\"\n CLOSE_PAREN: (31422..31423) \")\"\n CLOSE_PAREN: (31423..31424) \")\"\n CLOSE_PAREN: (31424..31425) \")\"\n ATMOSPHERE: (31425..31427) \"\n\n\"\n FORM: (31427..31474)\n OPEN_PAREN: (31427..31428) \"(\"\n SYMBOL: (31428..31432)\n IDENTIFIER: (31428..31432) \"test\"\n ATMOSPHERE: (31432..31433) \" \"\n CONSTANT: (31433..31435)\n BOOLEAN: (31433..31435) \"#f\"\n ATMOSPHERE: (31435..31436) \" \"\n FORM: (31436..31473)\n OPEN_PAREN: (31436..31437) \"(\"\n SYMBOL: (31437..31441)\n IDENTIFIER: (31437..31441) \"assq\"\n ATMOSPHERE: (31441..31442) \" \"\n FORM: (31442..31451)\n OPEN_PAREN: (31442..31443) \"(\"\n SYMBOL: (31443..31447)\n IDENTIFIER: (31443..31447) \"list\"\n ATMOSPHERE: (31447..31448) \" \"\n QUOTED_DATUM: (31448..31450)\n QUOTE: (31448..31449) \"'\"\n SYMBOL: (31449..31450)\n IDENTIFIER: (31449..31450) \"a\"\n CLOSE_PAREN: (31450..31451) \")\"\n ATMOSPHERE: (31451..31452) \" \"\n QUOTED_DATUM: (31452..31472)\n QUOTE: (31452..31453) \"'\"\n FORM: (31453..31472)\n OPEN_PAREN: (31453..31454) \"(\"\n FORM: (31454..31459)\n OPEN_PAREN: (31454..31455) \"(\"\n FORM: (31455..31458)\n OPEN_PAREN: (31455..31456) \"(\"\n SYMBOL: (31456..31457)\n IDENTIFIER: (31456..31457) \"a\"\n CLOSE_PAREN: (31457..31458) \")\"\n CLOSE_PAREN: (31458..31459) \")\"\n ATMOSPHERE: (31459..31460) \" \"\n FORM: (31460..31465)\n OPEN_PAREN: (31460..31461) \"(\"\n FORM: (31461..31464)\n OPEN_PAREN: (31461..31462) \"(\"\n SYMBOL: (31462..31463)\n IDENTIFIER: (31462..31463) \"b\"\n CLOSE_PAREN: (31463..31464) \")\"\n CLOSE_PAREN: (31464..31465) \")\"\n ATMOSPHERE: (31465..31466) \" \"\n FORM: (31466..31471)\n OPEN_PAREN: (31466..31467) \"(\"\n FORM: (31467..31470)\n OPEN_PAREN: (31467..31468) \"(\"\n SYMBOL: (31468..31469)\n IDENTIFIER: (31468..31469) \"c\"\n CLOSE_PAREN: (31469..31470) \")\"\n CLOSE_PAREN: (31470..31471) \")\"\n CLOSE_PAREN: (31471..31472) \")\"\n CLOSE_PAREN: (31472..31473) \")\"\n CLOSE_PAREN: (31473..31474) \")\"\n ATMOSPHERE: (31474..31475) \"\n\"\n FORM: (31475..31527)\n OPEN_PAREN: (31475..31476) \"(\"\n SYMBOL: (31476..31480)\n IDENTIFIER: (31476..31480) \"test\"\n ATMOSPHERE: (31480..31481) \" \"\n QUOTED_DATUM: (31481..31488)\n QUOTE: (31481..31482) \"'\"\n FORM: (31482..31487)\n OPEN_PAREN: (31482..31483) \"(\"\n FORM: (31483..31486)\n OPEN_PAREN: (31483..31484) \"(\"\n SYMBOL: (31484..31485)\n IDENTIFIER: (31484..31485) \"a\"\n CLOSE_PAREN: (31485..31486) \")\"\n CLOSE_PAREN: (31486..31487) \")\"\n ATMOSPHERE: (31487..31488) \" \"\n FORM: (31488..31526)\n OPEN_PAREN: (31488..31489) \"(\"\n SYMBOL: (31489..31494)\n IDENTIFIER: (31489..31494) \"assoc\"\n ATMOSPHERE: (31494..31495) \" \"\n FORM: (31495..31504)\n OPEN_PAREN: (31495..31496) \"(\"\n SYMBOL: (31496..31500)\n IDENTIFIER: (31496..31500) \"list\"\n ATMOSPHERE: (31500..31501) \" \"\n QUOTED_DATUM: (31501..31503)\n QUOTE: (31501..31502) \"'\"\n SYMBOL: (31502..31503)\n IDENTIFIER: (31502..31503) \"a\"\n CLOSE_PAREN: (31503..31504) \")\"\n ATMOSPHERE: (31504..31505) \" \"\n QUOTED_DATUM: (31505..31525)\n QUOTE: (31505..31506) \"'\"\n FORM: (31506..31525)\n OPEN_PAREN: (31506..31507) \"(\"\n FORM: (31507..31512)\n OPEN_PAREN: (31507..31508) \"(\"\n FORM: (31508..31511)\n OPEN_PAREN: (31508..31509) \"(\"\n SYMBOL: (31509..31510)\n IDENTIFIER: (31509..31510) \"a\"\n CLOSE_PAREN: (31510..31511) \")\"\n CLOSE_PAREN: (31511..31512) \")\"\n ATMOSPHERE: (31512..31513) \" \"\n FORM: (31513..31518)\n OPEN_PAREN: (31513..31514) \"(\"\n FORM: (31514..31517)\n OPEN_PAREN: (31514..31515) \"(\"\n SYMBOL: (31515..31516)\n IDENTIFIER: (31515..31516) \"b\"\n CLOSE_PAREN: (31516..31517) \")\"\n CLOSE_PAREN: (31517..31518) \")\"\n ATMOSPHERE: (31518..31519) \" \"\n FORM: (31519..31524)\n OPEN_PAREN: (31519..31520) \"(\"\n FORM: (31520..31523)\n OPEN_PAREN: (31520..31521) \"(\"\n SYMBOL: (31521..31522)\n IDENTIFIER: (31521..31522) \"c\"\n CLOSE_PAREN: (31522..31523) \")\"\n CLOSE_PAREN: (31523..31524) \")\"\n CLOSE_PAREN: (31524..31525) \")\"\n CLOSE_PAREN: (31525..31526) \")\"\n CLOSE_PAREN: (31526..31527) \")\"\n ATMOSPHERE: (31527..31528) \"\n\"\n FORM: (31528..31576)\n OPEN_PAREN: (31528..31529) \"(\"\n SYMBOL: (31529..31533)\n IDENTIFIER: (31529..31533) \"test\"\n ATMOSPHERE: (31533..31534) \" \"\n QUOTED_DATUM: (31534..31541)\n QUOTE: (31534..31535) \"'\"\n FORM: (31535..31540)\n OPEN_PAREN: (31535..31536) \"(\"\n CONSTANT: (31536..31537)\n NUMBER: (31536..31537) \"2\"\n ATMOSPHERE: (31537..31538) \" \"\n CONSTANT: (31538..31539)\n NUMBER: (31538..31539) \"4\"\n CLOSE_PAREN: (31539..31540) \")\"\n ATMOSPHERE: (31540..31541) \" \"\n FORM: (31541..31575)\n OPEN_PAREN: (31541..31542) \"(\"\n SYMBOL: (31542..31547)\n IDENTIFIER: (31542..31547) \"assoc\"\n ATMOSPHERE: (31547..31548) \" \"\n CONSTANT: (31548..31551)\n NUMBER: (31548..31551) \"2.0\"\n ATMOSPHERE: (31551..31552) \" \"\n QUOTED_DATUM: (31552..31573)\n QUOTE: (31552..31553) \"'\"\n FORM: (31553..31572)\n OPEN_PAREN: (31553..31554) \"(\"\n FORM: (31554..31559)\n OPEN_PAREN: (31554..31555) \"(\"\n CONSTANT: (31555..31556)\n NUMBER: (31555..31556) \"1\"\n ATMOSPHERE: (31556..31557) \" \"\n CONSTANT: (31557..31558)\n NUMBER: (31557..31558) \"1\"\n CLOSE_PAREN: (31558..31559) \")\"\n ATMOSPHERE: (31559..31560) \" \"\n FORM: (31560..31565)\n OPEN_PAREN: (31560..31561) \"(\"\n CONSTANT: (31561..31562)\n NUMBER: (31561..31562) \"2\"\n ATMOSPHERE: (31562..31563) \" \"\n CONSTANT: (31563..31564)\n NUMBER: (31563..31564) \"4\"\n CLOSE_PAREN: (31564..31565) \")\"\n ATMOSPHERE: (31565..31566) \" \"\n FORM: (31566..31571)\n OPEN_PAREN: (31566..31567) \"(\"\n CONSTANT: (31567..31568)\n NUMBER: (31567..31568) \"3\"\n ATMOSPHERE: (31568..31569) \" \"\n CONSTANT: (31569..31570)\n NUMBER: (31569..31570) \"9\"\n CLOSE_PAREN: (31570..31571) \")\"\n CLOSE_PAREN: (31571..31572) \")\"\n ATMOSPHERE: (31572..31573) \" \"\n SYMBOL: (31573..31574)\n IDENTIFIER: (31573..31574) \"=\"\n CLOSE_PAREN: (31574..31575) \")\"\n CLOSE_PAREN: (31575..31576) \")\"\n ATMOSPHERE: (31576..31577) \"\n\"\n FORM: (31577..31622)\n OPEN_PAREN: (31577..31578) \"(\"\n SYMBOL: (31578..31582)\n IDENTIFIER: (31578..31582) \"test\"\n ATMOSPHERE: (31582..31583) \" \"\n QUOTED_DATUM: (31583..31590)\n QUOTE: (31583..31584) \"'\"\n FORM: (31584..31589)\n OPEN_PAREN: (31584..31585) \"(\"\n CONSTANT: (31585..31586)\n NUMBER: (31585..31586) \"5\"\n ATMOSPHERE: (31586..31587) \" \"\n CONSTANT: (31587..31588)\n NUMBER: (31587..31588) \"7\"\n CLOSE_PAREN: (31588..31589) \")\"\n ATMOSPHERE: (31589..31590) \" \"\n FORM: (31590..31621)\n OPEN_PAREN: (31590..31591) \"(\"\n SYMBOL: (31591..31595)\n IDENTIFIER: (31591..31595) \"assv\"\n ATMOSPHERE: (31595..31596) \" \"\n CONSTANT: (31596..31597)\n NUMBER: (31596..31597) \"5\"\n ATMOSPHERE: (31597..31598) \" \"\n QUOTED_DATUM: (31598..31620)\n QUOTE: (31598..31599) \"'\"\n FORM: (31599..31620)\n OPEN_PAREN: (31599..31600) \"(\"\n FORM: (31600..31605)\n OPEN_PAREN: (31600..31601) \"(\"\n CONSTANT: (31601..31602)\n NUMBER: (31601..31602) \"2\"\n ATMOSPHERE: (31602..31603) \" \"\n CONSTANT: (31603..31604)\n NUMBER: (31603..31604) \"3\"\n CLOSE_PAREN: (31604..31605) \")\"\n ATMOSPHERE: (31605..31606) \" \"\n FORM: (31606..31611)\n OPEN_PAREN: (31606..31607) \"(\"\n CONSTANT: (31607..31608)\n NUMBER: (31607..31608) \"5\"\n ATMOSPHERE: (31608..31609) \" \"\n CONSTANT: (31609..31610)\n NUMBER: (31609..31610) \"7\"\n CLOSE_PAREN: (31610..31611) \")\"\n ATMOSPHERE: (31611..31612) \" \"\n FORM: (31612..31619)\n OPEN_PAREN: (31612..31613) \"(\"\n CONSTANT: (31613..31615)\n NUMBER: (31613..31615) \"11\"\n ATMOSPHERE: (31615..31616) \" \"\n CONSTANT: (31616..31618)\n NUMBER: (31616..31618) \"13\"\n CLOSE_PAREN: (31618..31619) \")\"\n CLOSE_PAREN: (31619..31620) \")\"\n CLOSE_PAREN: (31620..31621) \")\"\n CLOSE_PAREN: (31621..31622) \")\"\n ATMOSPHERE: (31622..31624) \"\n\n\"\n FORM: (31624..31660)\n OPEN_PAREN: (31624..31625) \"(\"\n SYMBOL: (31625..31629)\n IDENTIFIER: (31625..31629) \"test\"\n ATMOSPHERE: (31629..31630) \" \"\n QUOTED_DATUM: (31630..31639)\n QUOTE: (31630..31631) \"'\"\n FORM: (31631..31638)\n OPEN_PAREN: (31631..31632) \"(\"\n CONSTANT: (31632..31633)\n NUMBER: (31632..31633) \"1\"\n ATMOSPHERE: (31633..31634) \" \"\n CONSTANT: (31634..31635)\n NUMBER: (31634..31635) \"2\"\n ATMOSPHERE: (31635..31636) \" \"\n CONSTANT: (31636..31637)\n NUMBER: (31636..31637) \"3\"\n CLOSE_PAREN: (31637..31638) \")\"\n ATMOSPHERE: (31638..31639) \" \"\n FORM: (31639..31659)\n OPEN_PAREN: (31639..31640) \"(\"\n SYMBOL: (31640..31649)\n IDENTIFIER: (31640..31649) \"list-copy\"\n ATMOSPHERE: (31649..31650) \" \"\n QUOTED_DATUM: (31650..31658)\n QUOTE: (31650..31651) \"'\"\n FORM: (31651..31658)\n OPEN_PAREN: (31651..31652) \"(\"\n CONSTANT: (31652..31653)\n NUMBER: (31652..31653) \"1\"\n ATMOSPHERE: (31653..31654) \" \"\n CONSTANT: (31654..31655)\n NUMBER: (31654..31655) \"2\"\n ATMOSPHERE: (31655..31656) \" \"\n CONSTANT: (31656..31657)\n NUMBER: (31656..31657) \"3\"\n CLOSE_PAREN: (31657..31658) \")\"\n CLOSE_PAREN: (31658..31659) \")\"\n CLOSE_PAREN: (31659..31660) \")\"\n ATMOSPHERE: (31660..31661) \"\n\"\n FORM: (31661..31691)\n OPEN_PAREN: (31661..31662) \"(\"\n SYMBOL: (31662..31666)\n IDENTIFIER: (31662..31666) \"test\"\n ATMOSPHERE: (31666..31667) \" \"\n CONSTANT: (31667..31672)\n STRING: (31667..31672) \"\"foo\"\"\n ATMOSPHERE: (31672..31673) \" \"\n FORM: (31673..31690)\n OPEN_PAREN: (31673..31674) \"(\"\n SYMBOL: (31674..31683)\n IDENTIFIER: (31674..31683) \"list-copy\"\n ATMOSPHERE: (31683..31684) \" \"\n CONSTANT: (31684..31689)\n STRING: (31684..31689) \"\"foo\"\"\n CLOSE_PAREN: (31689..31690) \")\"\n CLOSE_PAREN: (31690..31691) \")\"\n ATMOSPHERE: (31691..31692) \"\n\"\n FORM: (31692..31718)\n OPEN_PAREN: (31692..31693) \"(\"\n SYMBOL: (31693..31697)\n IDENTIFIER: (31693..31697) \"test\"\n ATMOSPHERE: (31697..31698) \" \"\n QUOTED_DATUM: (31698..31702)\n QUOTE: (31698..31699) \"'\"\n FORM: (31699..31701)\n OPEN_PAREN: (31699..31700) \"(\"\n CLOSE_PAREN: (31700..31701) \")\"\n ATMOSPHERE: (31701..31702) \" \"\n FORM: (31702..31717)\n OPEN_PAREN: (31702..31703) \"(\"\n SYMBOL: (31703..31712)\n IDENTIFIER: (31703..31712) \"list-copy\"\n ATMOSPHERE: (31712..31713) \" \"\n QUOTED_DATUM: (31713..31716)\n QUOTE: (31713..31714) \"'\"\n FORM: (31714..31716)\n OPEN_PAREN: (31714..31715) \"(\"\n CLOSE_PAREN: (31715..31716) \")\"\n CLOSE_PAREN: (31716..31717) \")\"\n CLOSE_PAREN: (31717..31718) \")\"\n ATMOSPHERE: (31718..31719) \"\n\"\n FORM: (31719..31755)\n OPEN_PAREN: (31719..31720) \"(\"\n SYMBOL: (31720..31724)\n IDENTIFIER: (31720..31724) \"test\"\n ATMOSPHERE: (31724..31725) \" \"\n QUOTED_DATUM: (31725..31734)\n QUOTE: (31725..31726) \"'\"\n FORM: (31726..31733)\n OPEN_PAREN: (31726..31727) \"(\"\n CONSTANT: (31727..31728)\n NUMBER: (31727..31728) \"3\"\n ATMOSPHERE: (31728..31729) \" \"\n DOTTED_TAIL: (31729..31732)\n DOT: (31729..31730) \".\"\n ATMOSPHERE: (31730..31731) \" \"\n CONSTANT: (31731..31732)\n NUMBER: (31731..31732) \"4\"\n CLOSE_PAREN: (31732..31733) \")\"\n ATMOSPHERE: (31733..31734) \" \"\n FORM: (31734..31754)\n OPEN_PAREN: (31734..31735) \"(\"\n SYMBOL: (31735..31744)\n IDENTIFIER: (31735..31744) \"list-copy\"\n ATMOSPHERE: (31744..31745) \" \"\n QUOTED_DATUM: (31745..31753)\n QUOTE: (31745..31746) \"'\"\n FORM: (31746..31753)\n OPEN_PAREN: (31746..31747) \"(\"\n CONSTANT: (31747..31748)\n NUMBER: (31747..31748) \"3\"\n ATMOSPHERE: (31748..31749) \" \"\n DOTTED_TAIL: (31749..31752)\n DOT: (31749..31750) \".\"\n ATMOSPHERE: (31750..31751) \" \"\n CONSTANT: (31751..31752)\n NUMBER: (31751..31752) \"4\"\n CLOSE_PAREN: (31752..31753) \")\"\n CLOSE_PAREN: (31753..31754) \")\"\n CLOSE_PAREN: (31754..31755) \")\"\n ATMOSPHERE: (31755..31756) \"\n\"\n FORM: (31756..31800)\n OPEN_PAREN: (31756..31757) \"(\"\n SYMBOL: (31757..31761)\n IDENTIFIER: (31757..31761) \"test\"\n ATMOSPHERE: (31761..31762) \" \"\n QUOTED_DATUM: (31762..31775)\n QUOTE: (31762..31763) \"'\"\n FORM: (31763..31774)\n OPEN_PAREN: (31763..31764) \"(\"\n CONSTANT: (31764..31765)\n NUMBER: (31764..31765) \"6\"\n ATMOSPHERE: (31765..31766) \" \"\n CONSTANT: (31766..31767)\n NUMBER: (31766..31767) \"7\"\n ATMOSPHERE: (31767..31768) \" \"\n CONSTANT: (31768..31769)\n NUMBER: (31768..31769) \"8\"\n ATMOSPHERE: (31769..31770) \" \"\n DOTTED_TAIL: (31770..31773)\n DOT: (31770..31771) \".\"\n ATMOSPHERE: (31771..31772) \" \"\n CONSTANT: (31772..31773)\n NUMBER: (31772..31773) \"9\"\n CLOSE_PAREN: (31773..31774) \")\"\n ATMOSPHERE: (31774..31775) \" \"\n FORM: (31775..31799)\n OPEN_PAREN: (31775..31776) \"(\"\n SYMBOL: (31776..31785)\n IDENTIFIER: (31776..31785) \"list-copy\"\n ATMOSPHERE: (31785..31786) \" \"\n QUOTED_DATUM: (31786..31798)\n QUOTE: (31786..31787) \"'\"\n FORM: (31787..31798)\n OPEN_PAREN: (31787..31788) \"(\"\n CONSTANT: (31788..31789)\n NUMBER: (31788..31789) \"6\"\n ATMOSPHERE: (31789..31790) \" \"\n CONSTANT: (31790..31791)\n NUMBER: (31790..31791) \"7\"\n ATMOSPHERE: (31791..31792) \" \"\n CONSTANT: (31792..31793)\n NUMBER: (31792..31793) \"8\"\n ATMOSPHERE: (31793..31794) \" \"\n DOTTED_TAIL: (31794..31797)\n DOT: (31794..31795) \".\"\n ATMOSPHERE: (31795..31796) \" \"\n CONSTANT: (31796..31797)\n NUMBER: (31796..31797) \"9\"\n CLOSE_PAREN: (31797..31798) \")\"\n CLOSE_PAREN: (31798..31799) \")\"\n CLOSE_PAREN: (31799..31800) \")\"\n ATMOSPHERE: (31800..31801) \"\n\"\n FORM: (31801..32035)\n OPEN_PAREN: (31801..31802) \"(\"\n SYMBOL: (31802..31806)\n IDENTIFIER: (31802..31806) \"let*\"\n ATMOSPHERE: (31806..31807) \" \"\n FORM: (31807..31857)\n OPEN_PAREN: (31807..31808) \"(\"\n FORM: (31808..31829)\n OPEN_PAREN: (31808..31809) \"(\"\n SYMBOL: (31809..31811)\n IDENTIFIER: (31809..31811) \"l1\"\n ATMOSPHERE: (31811..31812) \" \"\n QUOTED_DATUM: (31812..31828)\n QUOTE: (31812..31813) \"'\"\n FORM: (31813..31828)\n OPEN_PAREN: (31813..31814) \"(\"\n FORM: (31814..31819)\n OPEN_PAREN: (31814..31815) \"(\"\n SYMBOL: (31815..31816)\n IDENTIFIER: (31815..31816) \"a\"\n ATMOSPHERE: (31816..31817) \" \"\n SYMBOL: (31817..31818)\n IDENTIFIER: (31817..31818) \"b\"\n CLOSE_PAREN: (31818..31819) \")\"\n ATMOSPHERE: (31819..31820) \" \"\n FORM: (31820..31825)\n OPEN_PAREN: (31820..31821) \"(\"\n SYMBOL: (31821..31822)\n IDENTIFIER: (31821..31822) \"c\"\n ATMOSPHERE: (31822..31823) \" \"\n SYMBOL: (31823..31824)\n IDENTIFIER: (31823..31824) \"d\"\n CLOSE_PAREN: (31824..31825) \")\"\n ATMOSPHERE: (31825..31826) \" \"\n SYMBOL: (31826..31827)\n IDENTIFIER: (31826..31827) \"e\"\n CLOSE_PAREN: (31827..31828) \")\"\n CLOSE_PAREN: (31828..31829) \")\"\n ATMOSPHERE: (31829..31837) \"\n \"\n FORM: (31837..31856)\n OPEN_PAREN: (31837..31838) \"(\"\n SYMBOL: (31838..31840)\n IDENTIFIER: (31838..31840) \"l2\"\n ATMOSPHERE: (31840..31841) \" \"\n FORM: (31841..31855)\n OPEN_PAREN: (31841..31842) \"(\"\n SYMBOL: (31842..31851)\n IDENTIFIER: (31842..31851) \"list-copy\"\n ATMOSPHERE: (31851..31852) \" \"\n SYMBOL: (31852..31854)\n IDENTIFIER: (31852..31854) \"l1\"\n CLOSE_PAREN: (31854..31855) \")\"\n CLOSE_PAREN: (31855..31856) \")\"\n CLOSE_PAREN: (31856..31857) \")\"\n ATMOSPHERE: (31857..31860) \"\n \"\n FORM: (31860..31886)\n OPEN_PAREN: (31860..31861) \"(\"\n SYMBOL: (31861..31865)\n IDENTIFIER: (31861..31865) \"test\"\n ATMOSPHERE: (31865..31866) \" \"\n SYMBOL: (31866..31868)\n IDENTIFIER: (31866..31868) \"l2\"\n ATMOSPHERE: (31868..31869) \" \"\n QUOTED_DATUM: (31869..31885)\n QUOTE: (31869..31870) \"'\"\n FORM: (31870..31885)\n OPEN_PAREN: (31870..31871) \"(\"\n FORM: (31871..31876)\n OPEN_PAREN: (31871..31872) \"(\"\n SYMBOL: (31872..31873)\n IDENTIFIER: (31872..31873) \"a\"\n ATMOSPHERE: (31873..31874) \" \"\n SYMBOL: (31874..31875)\n IDENTIFIER: (31874..31875) \"b\"\n CLOSE_PAREN: (31875..31876) \")\"\n ATMOSPHERE: (31876..31877) \" \"\n FORM: (31877..31882)\n OPEN_PAREN: (31877..31878) \"(\"\n SYMBOL: (31878..31879)\n IDENTIFIER: (31878..31879) \"c\"\n ATMOSPHERE: (31879..31880) \" \"\n SYMBOL: (31880..31881)\n IDENTIFIER: (31880..31881) \"d\"\n CLOSE_PAREN: (31881..31882) \")\"\n ATMOSPHERE: (31882..31883) \" \"\n SYMBOL: (31883..31884)\n IDENTIFIER: (31883..31884) \"e\"\n CLOSE_PAREN: (31884..31885) \")\"\n CLOSE_PAREN: (31885..31886) \")\"\n ATMOSPHERE: (31886..31889) \"\n \"\n FORM: (31889..31922)\n OPEN_PAREN: (31889..31890) \"(\"\n SYMBOL: (31890..31894)\n IDENTIFIER: (31890..31894) \"test\"\n ATMOSPHERE: (31894..31895) \" \"\n CONSTANT: (31895..31897)\n BOOLEAN: (31895..31897) \"#t\"\n ATMOSPHERE: (31897..31898) \" \"\n FORM: (31898..31921)\n OPEN_PAREN: (31898..31899) \"(\"\n SYMBOL: (31899..31902)\n IDENTIFIER: (31899..31902) \"eq?\"\n ATMOSPHERE: (31902..31903) \" \"\n FORM: (31903..31911)\n OPEN_PAREN: (31903..31904) \"(\"\n SYMBOL: (31904..31907)\n IDENTIFIER: (31904..31907) \"car\"\n ATMOSPHERE: (31907..31908) \" \"\n SYMBOL: (31908..31910)\n IDENTIFIER: (31908..31910) \"l1\"\n CLOSE_PAREN: (31910..31911) \")\"\n ATMOSPHERE: (31911..31912) \" \"\n FORM: (31912..31920)\n OPEN_PAREN: (31912..31913) \"(\"\n SYMBOL: (31913..31916)\n IDENTIFIER: (31913..31916) \"car\"\n ATMOSPHERE: (31916..31917) \" \"\n SYMBOL: (31917..31919)\n IDENTIFIER: (31917..31919) \"l2\"\n CLOSE_PAREN: (31919..31920) \")\"\n CLOSE_PAREN: (31920..31921) \")\"\n CLOSE_PAREN: (31921..31922) \")\"\n ATMOSPHERE: (31922..31925) \"\n \"\n FORM: (31925..31960)\n OPEN_PAREN: (31925..31926) \"(\"\n SYMBOL: (31926..31930)\n IDENTIFIER: (31926..31930) \"test\"\n ATMOSPHERE: (31930..31931) \" \"\n CONSTANT: (31931..31933)\n BOOLEAN: (31931..31933) \"#t\"\n ATMOSPHERE: (31933..31934) \" \"\n FORM: (31934..31959)\n OPEN_PAREN: (31934..31935) \"(\"\n SYMBOL: (31935..31938)\n IDENTIFIER: (31935..31938) \"eq?\"\n ATMOSPHERE: (31938..31939) \" \"\n FORM: (31939..31948)\n OPEN_PAREN: (31939..31940) \"(\"\n SYMBOL: (31940..31944)\n IDENTIFIER: (31940..31944) \"cadr\"\n ATMOSPHERE: (31944..31945) \" \"\n SYMBOL: (31945..31947)\n IDENTIFIER: (31945..31947) \"l1\"\n CLOSE_PAREN: (31947..31948) \")\"\n ATMOSPHERE: (31948..31949) \" \"\n FORM: (31949..31958)\n OPEN_PAREN: (31949..31950) \"(\"\n SYMBOL: (31950..31954)\n IDENTIFIER: (31950..31954) \"cadr\"\n ATMOSPHERE: (31954..31955) \" \"\n SYMBOL: (31955..31957)\n IDENTIFIER: (31955..31957) \"l2\"\n CLOSE_PAREN: (31957..31958) \")\"\n CLOSE_PAREN: (31958..31959) \")\"\n CLOSE_PAREN: (31959..31960) \")\"\n ATMOSPHERE: (31960..31963) \"\n \"\n FORM: (31963..31996)\n OPEN_PAREN: (31963..31964) \"(\"\n SYMBOL: (31964..31968)\n IDENTIFIER: (31964..31968) \"test\"\n ATMOSPHERE: (31968..31969) \" \"\n CONSTANT: (31969..31971)\n BOOLEAN: (31969..31971) \"#f\"\n ATMOSPHERE: (31971..31972) \" \"\n FORM: (31972..31995)\n OPEN_PAREN: (31972..31973) \"(\"\n SYMBOL: (31973..31976)\n IDENTIFIER: (31973..31976) \"eq?\"\n ATMOSPHERE: (31976..31977) \" \"\n FORM: (31977..31985)\n OPEN_PAREN: (31977..31978) \"(\"\n SYMBOL: (31978..31981)\n IDENTIFIER: (31978..31981) \"cdr\"\n ATMOSPHERE: (31981..31982) \" \"\n SYMBOL: (31982..31984)\n IDENTIFIER: (31982..31984) \"l1\"\n CLOSE_PAREN: (31984..31985) \")\"\n ATMOSPHERE: (31985..31986) \" \"\n FORM: (31986..31994)\n OPEN_PAREN: (31986..31987) \"(\"\n SYMBOL: (31987..31990)\n IDENTIFIER: (31987..31990) \"cdr\"\n ATMOSPHERE: (31990..31991) \" \"\n SYMBOL: (31991..31993)\n IDENTIFIER: (31991..31993) \"l2\"\n CLOSE_PAREN: (31993..31994) \")\"\n CLOSE_PAREN: (31994..31995) \")\"\n CLOSE_PAREN: (31995..31996) \")\"\n ATMOSPHERE: (31996..31999) \"\n \"\n FORM: (31999..32034)\n OPEN_PAREN: (31999..32000) \"(\"\n SYMBOL: (32000..32004)\n IDENTIFIER: (32000..32004) \"test\"\n ATMOSPHERE: (32004..32005) \" \"\n CONSTANT: (32005..32007)\n BOOLEAN: (32005..32007) \"#f\"\n ATMOSPHERE: (32007..32008) \" \"\n FORM: (32008..32033)\n OPEN_PAREN: (32008..32009) \"(\"\n SYMBOL: (32009..32012)\n IDENTIFIER: (32009..32012) \"eq?\"\n ATMOSPHERE: (32012..32013) \" \"\n FORM: (32013..32022)\n OPEN_PAREN: (32013..32014) \"(\"\n SYMBOL: (32014..32018)\n IDENTIFIER: (32014..32018) \"cddr\"\n ATMOSPHERE: (32018..32019) \" \"\n SYMBOL: (32019..32021)\n IDENTIFIER: (32019..32021) \"l1\"\n CLOSE_PAREN: (32021..32022) \")\"\n ATMOSPHERE: (32022..32023) \" \"\n FORM: (32023..32032)\n OPEN_PAREN: (32023..32024) \"(\"\n SYMBOL: (32024..32028)\n IDENTIFIER: (32024..32028) \"cddr\"\n ATMOSPHERE: (32028..32029) \" \"\n SYMBOL: (32029..32031)\n IDENTIFIER: (32029..32031) \"l2\"\n CLOSE_PAREN: (32031..32032) \")\"\n CLOSE_PAREN: (32032..32033) \")\"\n CLOSE_PAREN: (32033..32034) \")\"\n CLOSE_PAREN: (32034..32035) \")\"\n ATMOSPHERE: (32035..32037) \"\n\n\"\n FORM: (32037..32047)\n OPEN_PAREN: (32037..32038) \"(\"\n SYMBOL: (32038..32046)\n IDENTIFIER: (32038..32046) \"test-end\"\n CLOSE_PAREN: (32046..32047) \")\"\n ATMOSPHERE: (32047..32049) \"\n\n\"\n FORM: (32049..32075)\n OPEN_PAREN: (32049..32050) \"(\"\n SYMBOL: (32050..32060)\n IDENTIFIER: (32050..32060) \"test-begin\"\n ATMOSPHERE: (32060..32061) \" \"\n CONSTANT: (32061..32074)\n STRING: (32061..32074) \"\"6.5 Symbols\"\"\n CLOSE_PAREN: (32074..32075) \")\"\n ATMOSPHERE: (32075..32077) \"\n\n\"\n FORM: (32077..32101)\n OPEN_PAREN: (32077..32078) \"(\"\n SYMBOL: (32078..32082)\n IDENTIFIER: (32078..32082) \"test\"\n ATMOSPHERE: (32082..32083) \" \"\n CONSTANT: (32083..32085)\n BOOLEAN: (32083..32085) \"#t\"\n ATMOSPHERE: (32085..32086) \" \"\n FORM: (32086..32100)\n OPEN_PAREN: (32086..32087) \"(\"\n SYMBOL: (32087..32094)\n IDENTIFIER: (32087..32094) \"symbol?\"\n ATMOSPHERE: (32094..32095) \" \"\n QUOTED_DATUM: (32095..32099)\n QUOTE: (32095..32096) \"'\"\n SYMBOL: (32096..32099)\n IDENTIFIER: (32096..32099) \"foo\"\n CLOSE_PAREN: (32099..32100) \")\"\n CLOSE_PAREN: (32100..32101) \")\"\n ATMOSPHERE: (32101..32102) \"\n\"\n FORM: (32102..32134)\n OPEN_PAREN: (32102..32103) \"(\"\n SYMBOL: (32103..32107)\n IDENTIFIER: (32103..32107) \"test\"\n ATMOSPHERE: (32107..32108) \" \"\n CONSTANT: (32108..32110)\n BOOLEAN: (32108..32110) \"#t\"\n ATMOSPHERE: (32110..32111) \" \"\n FORM: (32111..32133)\n OPEN_PAREN: (32111..32112) \"(\"\n SYMBOL: (32112..32119)\n IDENTIFIER: (32112..32119) \"symbol?\"\n ATMOSPHERE: (32119..32120) \" \"\n FORM: (32120..32132)\n OPEN_PAREN: (32120..32121) \"(\"\n SYMBOL: (32121..32124)\n IDENTIFIER: (32121..32124) \"car\"\n ATMOSPHERE: (32124..32125) \" \"\n QUOTED_DATUM: (32125..32131)\n QUOTE: (32125..32126) \"'\"\n FORM: (32126..32131)\n OPEN_PAREN: (32126..32127) \"(\"\n SYMBOL: (32127..32128)\n IDENTIFIER: (32127..32128) \"a\"\n ATMOSPHERE: (32128..32129) \" \"\n SYMBOL: (32129..32130)\n IDENTIFIER: (32129..32130) \"b\"\n CLOSE_PAREN: (32130..32131) \")\"\n CLOSE_PAREN: (32131..32132) \")\"\n CLOSE_PAREN: (32132..32133) \")\"\n CLOSE_PAREN: (32133..32134) \")\"\n ATMOSPHERE: (32134..32135) \"\n\"\n FORM: (32135..32160)\n OPEN_PAREN: (32135..32136) \"(\"\n SYMBOL: (32136..32140)\n IDENTIFIER: (32136..32140) \"test\"\n ATMOSPHERE: (32140..32141) \" \"\n CONSTANT: (32141..32143)\n BOOLEAN: (32141..32143) \"#f\"\n ATMOSPHERE: (32143..32144) \" \"\n FORM: (32144..32159)\n OPEN_PAREN: (32144..32145) \"(\"\n SYMBOL: (32145..32152)\n IDENTIFIER: (32145..32152) \"symbol?\"\n ATMOSPHERE: (32152..32153) \" \"\n CONSTANT: (32153..32158)\n STRING: (32153..32158) \"\"bar\"\"\n CLOSE_PAREN: (32158..32159) \")\"\n CLOSE_PAREN: (32159..32160) \")\"\n ATMOSPHERE: (32160..32161) \"\n\"\n FORM: (32161..32185)\n OPEN_PAREN: (32161..32162) \"(\"\n SYMBOL: (32162..32166)\n IDENTIFIER: (32162..32166) \"test\"\n ATMOSPHERE: (32166..32167) \" \"\n CONSTANT: (32167..32169)\n BOOLEAN: (32167..32169) \"#t\"\n ATMOSPHERE: (32169..32170) \" \"\n FORM: (32170..32184)\n OPEN_PAREN: (32170..32171) \"(\"\n SYMBOL: (32171..32178)\n IDENTIFIER: (32171..32178) \"symbol?\"\n ATMOSPHERE: (32178..32179) \" \"\n QUOTED_DATUM: (32179..32183)\n QUOTE: (32179..32180) \"'\"\n SYMBOL: (32180..32183)\n IDENTIFIER: (32180..32183) \"nil\"\n CLOSE_PAREN: (32183..32184) \")\"\n CLOSE_PAREN: (32184..32185) \")\"\n ATMOSPHERE: (32185..32186) \"\n\"\n FORM: (32186..32209)\n OPEN_PAREN: (32186..32187) \"(\"\n SYMBOL: (32187..32191)\n IDENTIFIER: (32187..32191) \"test\"\n ATMOSPHERE: (32191..32192) \" \"\n CONSTANT: (32192..32194)\n BOOLEAN: (32192..32194) \"#f\"\n ATMOSPHERE: (32194..32195) \" \"\n FORM: (32195..32208)\n OPEN_PAREN: (32195..32196) \"(\"\n SYMBOL: (32196..32203)\n IDENTIFIER: (32196..32203) \"symbol?\"\n ATMOSPHERE: (32203..32204) \" \"\n QUOTED_DATUM: (32204..32207)\n QUOTE: (32204..32205) \"'\"\n FORM: (32205..32207)\n OPEN_PAREN: (32205..32206) \"(\"\n CLOSE_PAREN: (32206..32207) \")\"\n CLOSE_PAREN: (32207..32208) \")\"\n CLOSE_PAREN: (32208..32209) \")\"\n ATMOSPHERE: (32209..32210) \"\n\"\n FORM: (32210..32232)\n OPEN_PAREN: (32210..32211) \"(\"\n SYMBOL: (32211..32215)\n IDENTIFIER: (32211..32215) \"test\"\n ATMOSPHERE: (32215..32216) \" \"\n CONSTANT: (32216..32218)\n BOOLEAN: (32216..32218) \"#f\"\n ATMOSPHERE: (32218..32219) \" \"\n FORM: (32219..32231)\n OPEN_PAREN: (32219..32220) \"(\"\n SYMBOL: (32220..32227)\n IDENTIFIER: (32220..32227) \"symbol?\"\n ATMOSPHERE: (32227..32228) \" \"\n CONSTANT: (32228..32230)\n BOOLEAN: (32228..32230) \"#f\"\n CLOSE_PAREN: (32230..32231) \")\"\n CLOSE_PAREN: (32231..32232) \")\"\n ATMOSPHERE: (32232..32234) \"\n\n\"\n FORM: (32234..32260)\n OPEN_PAREN: (32234..32235) \"(\"\n SYMBOL: (32235..32239)\n IDENTIFIER: (32235..32239) \"test\"\n ATMOSPHERE: (32239..32240) \" \"\n CONSTANT: (32240..32242)\n BOOLEAN: (32240..32242) \"#t\"\n ATMOSPHERE: (32242..32243) \" \"\n FORM: (32243..32259)\n OPEN_PAREN: (32243..32244) \"(\"\n SYMBOL: (32244..32252)\n IDENTIFIER: (32244..32252) \"symbol=?\"\n ATMOSPHERE: (32252..32253) \" \"\n QUOTED_DATUM: (32253..32256)\n QUOTE: (32253..32254) \"'\"\n SYMBOL: (32254..32255)\n IDENTIFIER: (32254..32255) \"a\"\n ATMOSPHERE: (32255..32256) \" \"\n QUOTED_DATUM: (32256..32258)\n QUOTE: (32256..32257) \"'\"\n SYMBOL: (32257..32258)\n IDENTIFIER: (32257..32258) \"a\"\n CLOSE_PAREN: (32258..32259) \")\"\n CLOSE_PAREN: (32259..32260) \")\"\n ATMOSPHERE: (32260..32261) \"\n\"\n FORM: (32261..32287)\n OPEN_PAREN: (32261..32262) \"(\"\n SYMBOL: (32262..32266)\n IDENTIFIER: (32262..32266) \"test\"\n ATMOSPHERE: (32266..32267) \" \"\n CONSTANT: (32267..32269)\n BOOLEAN: (32267..32269) \"#f\"\n ATMOSPHERE: (32269..32270) \" \"\n FORM: (32270..32286)\n OPEN_PAREN: (32270..32271) \"(\"\n SYMBOL: (32271..32279)\n IDENTIFIER: (32271..32279) \"symbol=?\"\n ATMOSPHERE: (32279..32280) \" \"\n QUOTED_DATUM: (32280..32283)\n QUOTE: (32280..32281) \"'\"\n SYMBOL: (32281..32282)\n IDENTIFIER: (32281..32282) \"a\"\n ATMOSPHERE: (32282..32283) \" \"\n QUOTED_DATUM: (32283..32285)\n QUOTE: (32283..32284) \"'\"\n SYMBOL: (32284..32285)\n IDENTIFIER: (32284..32285) \"A\"\n CLOSE_PAREN: (32285..32286) \")\"\n CLOSE_PAREN: (32286..32287) \")\"\n ATMOSPHERE: (32287..32288) \"\n\"\n FORM: (32288..32317)\n OPEN_PAREN: (32288..32289) \"(\"\n SYMBOL: (32289..32293)\n IDENTIFIER: (32289..32293) \"test\"\n ATMOSPHERE: (32293..32294) \" \"\n CONSTANT: (32294..32296)\n BOOLEAN: (32294..32296) \"#t\"\n ATMOSPHERE: (32296..32297) \" \"\n FORM: (32297..32316)\n OPEN_PAREN: (32297..32298) \"(\"\n SYMBOL: (32298..32306)\n IDENTIFIER: (32298..32306) \"symbol=?\"\n ATMOSPHERE: (32306..32307) \" \"\n QUOTED_DATUM: (32307..32310)\n QUOTE: (32307..32308) \"'\"\n SYMBOL: (32308..32309)\n IDENTIFIER: (32308..32309) \"a\"\n ATMOSPHERE: (32309..32310) \" \"\n QUOTED_DATUM: (32310..32313)\n QUOTE: (32310..32311) \"'\"\n SYMBOL: (32311..32312)\n IDENTIFIER: (32311..32312) \"a\"\n ATMOSPHERE: (32312..32313) \" \"\n QUOTED_DATUM: (32313..32315)\n QUOTE: (32313..32314) \"'\"\n SYMBOL: (32314..32315)\n IDENTIFIER: (32314..32315) \"a\"\n CLOSE_PAREN: (32315..32316) \")\"\n CLOSE_PAREN: (32316..32317) \")\"\n ATMOSPHERE: (32317..32318) \"\n\"\n FORM: (32318..32347)\n OPEN_PAREN: (32318..32319) \"(\"\n SYMBOL: (32319..32323)\n IDENTIFIER: (32319..32323) \"test\"\n ATMOSPHERE: (32323..32324) \" \"\n CONSTANT: (32324..32326)\n BOOLEAN: (32324..32326) \"#f\"\n ATMOSPHERE: (32326..32327) \" \"\n FORM: (32327..32346)\n OPEN_PAREN: (32327..32328) \"(\"\n SYMBOL: (32328..32336)\n IDENTIFIER: (32328..32336) \"symbol=?\"\n ATMOSPHERE: (32336..32337) \" \"\n QUOTED_DATUM: (32337..32340)\n QUOTE: (32337..32338) \"'\"\n SYMBOL: (32338..32339)\n IDENTIFIER: (32338..32339) \"a\"\n ATMOSPHERE: (32339..32340) \" \"\n QUOTED_DATUM: (32340..32343)\n QUOTE: (32340..32341) \"'\"\n SYMBOL: (32341..32342)\n IDENTIFIER: (32341..32342) \"a\"\n ATMOSPHERE: (32342..32343) \" \"\n QUOTED_DATUM: (32343..32345)\n QUOTE: (32343..32344) \"'\"\n SYMBOL: (32344..32345)\n IDENTIFIER: (32344..32345) \"A\"\n CLOSE_PAREN: (32345..32346) \")\"\n CLOSE_PAREN: (32346..32347) \")\"\n ATMOSPHERE: (32347..32349) \"\n\n\"\n FORM: (32349..32404)\n OPEN_PAREN: (32349..32350) \"(\"\n SYMBOL: (32350..32354)\n IDENTIFIER: (32350..32354) \"test\"\n ATMOSPHERE: (32354..32355) \" \"\n CONSTANT: (32355..32368)\n STRING: (32355..32368) \"\"flying-fish\"\"\n ATMOSPHERE: (32368..32374) \" \n\"\n FORM: (32374..32403)\n OPEN_PAREN: (32374..32375) \"(\"\n SYMBOL: (32375..32389)\n IDENTIFIER: (32375..32389) \"symbol->string\"\n ATMOSPHERE: (32389..32390) \" \"\n QUOTED_DATUM: (32390..32402)\n QUOTE: (32390..32391) \"'\"\n SYMBOL: (32391..32402)\n IDENTIFIER: (32391..32402) \"flying-fish\"\n CLOSE_PAREN: (32402..32403) \")\"\n CLOSE_PAREN: (32403..32404) \")\"\n ATMOSPHERE: (32404..32405) \"\n\"\n FORM: (32405..32445)\n OPEN_PAREN: (32405..32406) \"(\"\n SYMBOL: (32406..32410)\n IDENTIFIER: (32406..32410) \"test\"\n ATMOSPHERE: (32410..32411) \" \"\n CONSTANT: (32411..32419)\n STRING: (32411..32419) \"\"Martin\"\"\n ATMOSPHERE: (32419..32420) \" \"\n FORM: (32420..32444)\n OPEN_PAREN: (32420..32421) \"(\"\n SYMBOL: (32421..32435)\n IDENTIFIER: (32421..32435) \"symbol->string\"\n ATMOSPHERE: (32435..32436) \" \"\n QUOTED_DATUM: (32436..32443)\n QUOTE: (32436..32437) \"'\"\n SYMBOL: (32437..32443)\n IDENTIFIER: (32437..32443) \"Martin\"\n CLOSE_PAREN: (32443..32444) \")\"\n CLOSE_PAREN: (32444..32445) \")\"\n ATMOSPHERE: (32445..32446) \"\n\"\n FORM: (32446..32506)\n OPEN_PAREN: (32446..32447) \"(\"\n SYMBOL: (32447..32451)\n IDENTIFIER: (32447..32451) \"test\"\n ATMOSPHERE: (32451..32452) \" \"\n CONSTANT: (32452..32461)\n STRING: (32452..32461) \"\"Malvina\"\"\n ATMOSPHERE: (32461..32462) \" \"\n FORM: (32462..32505)\n OPEN_PAREN: (32462..32463) \"(\"\n SYMBOL: (32463..32477)\n IDENTIFIER: (32463..32477) \"symbol->string\"\n ATMOSPHERE: (32477..32478) \" \"\n FORM: (32478..32504)\n OPEN_PAREN: (32478..32479) \"(\"\n SYMBOL: (32479..32493)\n IDENTIFIER: (32479..32493) \"string->symbol\"\n ATMOSPHERE: (32493..32494) \" \"\n CONSTANT: (32494..32503)\n STRING: (32494..32503) \"\"Malvina\"\"\n CLOSE_PAREN: (32503..32504) \")\"\n CLOSE_PAREN: (32504..32505) \")\"\n CLOSE_PAREN: (32505..32506) \")\"\n ATMOSPHERE: (32506..32508) \"\n\n\"\n FORM: (32508..32558)\n OPEN_PAREN: (32508..32509) \"(\"\n SYMBOL: (32509..32513)\n IDENTIFIER: (32509..32513) \"test\"\n ATMOSPHERE: (32513..32514) \" \"\n QUOTED_DATUM: (32514..32527)\n QUOTE: (32514..32515) \"'\"\n SYMBOL: (32515..32526)\n IDENTIFIER: (32515..32526) \"mISSISSIppi\"\n ATMOSPHERE: (32526..32527) \" \"\n FORM: (32527..32557)\n OPEN_PAREN: (32527..32528) \"(\"\n SYMBOL: (32528..32542)\n IDENTIFIER: (32528..32542) \"string->symbol\"\n ATMOSPHERE: (32542..32543) \" \"\n CONSTANT: (32543..32556)\n STRING: (32543..32556) \"\"mISSISSIppi\"\"\n CLOSE_PAREN: (32556..32557) \")\"\n CLOSE_PAREN: (32557..32558) \")\"\n ATMOSPHERE: (32558..32559) \"\n\"\n FORM: (32559..32608)\n OPEN_PAREN: (32559..32560) \"(\"\n SYMBOL: (32560..32564)\n IDENTIFIER: (32560..32564) \"test\"\n ATMOSPHERE: (32564..32565) \" \"\n CONSTANT: (32565..32567)\n BOOLEAN: (32565..32567) \"#t\"\n ATMOSPHERE: (32567..32568) \" \"\n FORM: (32568..32607)\n OPEN_PAREN: (32568..32569) \"(\"\n SYMBOL: (32569..32572)\n IDENTIFIER: (32569..32572) \"eq?\"\n ATMOSPHERE: (32572..32573) \" \"\n QUOTED_DATUM: (32573..32581)\n QUOTE: (32573..32574) \"'\"\n SYMBOL: (32574..32580)\n IDENTIFIER: (32574..32580) \"bitBlt\"\n ATMOSPHERE: (32580..32581) \" \"\n FORM: (32581..32606)\n OPEN_PAREN: (32581..32582) \"(\"\n SYMBOL: (32582..32596)\n IDENTIFIER: (32582..32596) \"string->symbol\"\n ATMOSPHERE: (32596..32597) \" \"\n CONSTANT: (32597..32605)\n STRING: (32597..32605) \"\"bitBlt\"\"\n CLOSE_PAREN: (32605..32606) \")\"\n CLOSE_PAREN: (32606..32607) \")\"\n CLOSE_PAREN: (32607..32608) \")\"\n ATMOSPHERE: (32608..32609) \"\n\"\n FORM: (32609..32678)\n OPEN_PAREN: (32609..32610) \"(\"\n SYMBOL: (32610..32614)\n IDENTIFIER: (32610..32614) \"test\"\n ATMOSPHERE: (32614..32615) \" \"\n CONSTANT: (32615..32617)\n BOOLEAN: (32615..32617) \"#t\"\n ATMOSPHERE: (32617..32618) \" \"\n FORM: (32618..32677)\n OPEN_PAREN: (32618..32619) \"(\"\n SYMBOL: (32619..32622)\n IDENTIFIER: (32619..32622) \"eq?\"\n ATMOSPHERE: (32622..32623) \" \"\n QUOTED_DATUM: (32623..32633)\n QUOTE: (32623..32624) \"'\"\n SYMBOL: (32624..32632)\n IDENTIFIER: (32624..32632) \"LollyPop\"\n ATMOSPHERE: (32632..32633) \" \"\n FORM: (32633..32676)\n OPEN_PAREN: (32633..32634) \"(\"\n SYMBOL: (32634..32648)\n IDENTIFIER: (32634..32648) \"string->symbol\"\n ATMOSPHERE: (32648..32649) \" \"\n FORM: (32649..32675)\n OPEN_PAREN: (32649..32650) \"(\"\n SYMBOL: (32650..32664)\n IDENTIFIER: (32650..32664) \"symbol->string\"\n ATMOSPHERE: (32664..32665) \" \"\n QUOTED_DATUM: (32665..32674)\n QUOTE: (32665..32666) \"'\"\n SYMBOL: (32666..32674)\n IDENTIFIER: (32666..32674) \"LollyPop\"\n CLOSE_PAREN: (32674..32675) \")\"\n CLOSE_PAREN: (32675..32676) \")\"\n CLOSE_PAREN: (32676..32677) \")\"\n CLOSE_PAREN: (32677..32678) \")\"\n ATMOSPHERE: (32678..32679) \"\n\"\n FORM: (32679..32788)\n OPEN_PAREN: (32679..32680) \"(\"\n SYMBOL: (32680..32684)\n IDENTIFIER: (32680..32684) \"test\"\n ATMOSPHERE: (32684..32685) \" \"\n CONSTANT: (32685..32687)\n BOOLEAN: (32685..32687) \"#t\"\n ATMOSPHERE: (32687..32688) \" \"\n FORM: (32688..32787)\n OPEN_PAREN: (32688..32689) \"(\"\n SYMBOL: (32689..32697)\n IDENTIFIER: (32689..32697) \"string=?\"\n ATMOSPHERE: (32697..32698) \" \"\n CONSTANT: (32698..32715)\n STRING: (32698..32715) \"\"K. Harper, M.D.\"\"\n ATMOSPHERE: (32715..32735) \"\n \"\n FORM: (32735..32786)\n OPEN_PAREN: (32735..32736) \"(\"\n SYMBOL: (32736..32750)\n IDENTIFIER: (32736..32750) \"symbol->string\"\n ATMOSPHERE: (32750..32751) \" \"\n FORM: (32751..32785)\n OPEN_PAREN: (32751..32752) \"(\"\n SYMBOL: (32752..32766)\n IDENTIFIER: (32752..32766) \"string->symbol\"\n ATMOSPHERE: (32766..32767) \" \"\n CONSTANT: (32767..32784)\n STRING: (32767..32784) \"\"K. Harper, M.D.\"\"\n CLOSE_PAREN: (32784..32785) \")\"\n CLOSE_PAREN: (32785..32786) \")\"\n CLOSE_PAREN: (32786..32787) \")\"\n CLOSE_PAREN: (32787..32788) \")\"\n ATMOSPHERE: (32788..32790) \"\n\n\"\n FORM: (32790..32800)\n OPEN_PAREN: (32790..32791) \"(\"\n SYMBOL: (32791..32799)\n IDENTIFIER: (32791..32799) \"test-end\"\n CLOSE_PAREN: (32799..32800) \")\"\n ATMOSPHERE: (32800..32802) \"\n\n\"\n FORM: (32802..32831)\n OPEN_PAREN: (32802..32803) \"(\"\n SYMBOL: (32803..32813)\n IDENTIFIER: (32803..32813) \"test-begin\"\n ATMOSPHERE: (32813..32814) \" \"\n CONSTANT: (32814..32830)\n STRING: (32814..32830) \"\"6.6 Characters\"\"\n CLOSE_PAREN: (32830..32831) \")\"\n ATMOSPHERE: (32831..32833) \"\n\n\"\n FORM: (32833..32854)\n OPEN_PAREN: (32833..32834) \"(\"\n SYMBOL: (32834..32838)\n IDENTIFIER: (32834..32838) \"test\"\n ATMOSPHERE: (32838..32839) \" \"\n CONSTANT: (32839..32841)\n BOOLEAN: (32839..32841) \"#t\"\n ATMOSPHERE: (32841..32842) \" \"\n FORM: (32842..32853)\n OPEN_PAREN: (32842..32843) \"(\"\n SYMBOL: (32843..32848)\n IDENTIFIER: (32843..32848) \"char?\"\n ATMOSPHERE: (32848..32849) \" \"\n CONSTANT: (32849..32852)\n CHARACTER: (32849..32852) \"#\\a\"\n CLOSE_PAREN: (32852..32853) \")\"\n CLOSE_PAREN: (32853..32854) \")\"\n ATMOSPHERE: (32854..32855) \"\n\"\n FORM: (32855..32876)\n OPEN_PAREN: (32855..32856) \"(\"\n SYMBOL: (32856..32860)\n IDENTIFIER: (32856..32860) \"test\"\n ATMOSPHERE: (32860..32861) \" \"\n CONSTANT: (32861..32863)\n BOOLEAN: (32861..32863) \"#f\"\n ATMOSPHERE: (32863..32864) \" \"\n FORM: (32864..32875)\n OPEN_PAREN: (32864..32865) \"(\"\n SYMBOL: (32865..32870)\n IDENTIFIER: (32865..32870) \"char?\"\n ATMOSPHERE: (32870..32871) \" \"\n CONSTANT: (32871..32874)\n STRING: (32871..32874) \"\"a\"\"\n CLOSE_PAREN: (32874..32875) \")\"\n CLOSE_PAREN: (32875..32876) \")\"\n ATMOSPHERE: (32876..32877) \"\n\"\n FORM: (32877..32897)\n OPEN_PAREN: (32877..32878) \"(\"\n SYMBOL: (32878..32882)\n IDENTIFIER: (32878..32882) \"test\"\n ATMOSPHERE: (32882..32883) \" \"\n CONSTANT: (32883..32885)\n BOOLEAN: (32883..32885) \"#f\"\n ATMOSPHERE: (32885..32886) \" \"\n FORM: (32886..32896)\n OPEN_PAREN: (32886..32887) \"(\"\n SYMBOL: (32887..32892)\n IDENTIFIER: (32887..32892) \"char?\"\n ATMOSPHERE: (32892..32893) \" \"\n QUOTED_DATUM: (32893..32895)\n QUOTE: (32893..32894) \"'\"\n SYMBOL: (32894..32895)\n IDENTIFIER: (32894..32895) \"a\"\n CLOSE_PAREN: (32895..32896) \")\"\n CLOSE_PAREN: (32896..32897) \")\"\n ATMOSPHERE: (32897..32898) \"\n\"\n FORM: (32898..32917)\n OPEN_PAREN: (32898..32899) \"(\"\n SYMBOL: (32899..32903)\n IDENTIFIER: (32899..32903) \"test\"\n ATMOSPHERE: (32903..32904) \" \"\n CONSTANT: (32904..32906)\n BOOLEAN: (32904..32906) \"#f\"\n ATMOSPHERE: (32906..32907) \" \"\n FORM: (32907..32916)\n OPEN_PAREN: (32907..32908) \"(\"\n SYMBOL: (32908..32913)\n IDENTIFIER: (32908..32913) \"char?\"\n ATMOSPHERE: (32913..32914) \" \"\n CONSTANT: (32914..32915)\n NUMBER: (32914..32915) \"0\"\n CLOSE_PAREN: (32915..32916) \")\"\n CLOSE_PAREN: (32916..32917) \")\"\n ATMOSPHERE: (32917..32919) \"\n\n\"\n FORM: (32919..32949)\n OPEN_PAREN: (32919..32920) \"(\"\n SYMBOL: (32920..32924)\n IDENTIFIER: (32920..32924) \"test\"\n ATMOSPHERE: (32924..32925) \" \"\n CONSTANT: (32925..32927)\n BOOLEAN: (32925..32927) \"#t\"\n ATMOSPHERE: (32927..32928) \" \"\n FORM: (32928..32948)\n OPEN_PAREN: (32928..32929) \"(\"\n SYMBOL: (32929..32935)\n IDENTIFIER: (32929..32935) \"char=?\"\n ATMOSPHERE: (32935..32936) \" \"\n CONSTANT: (32936..32939)\n CHARACTER: (32936..32939) \"#\\a\"\n ATMOSPHERE: (32939..32940) \" \"\n CONSTANT: (32940..32943)\n CHARACTER: (32940..32943) \"#\\a\"\n ATMOSPHERE: (32943..32944) \" \"\n CONSTANT: (32944..32947)\n CHARACTER: (32944..32947) \"#\\a\"\n CLOSE_PAREN: (32947..32948) \")\"\n CLOSE_PAREN: (32948..32949) \")\"\n ATMOSPHERE: (32949..32950) \"\n\"\n FORM: (32950..32976)\n OPEN_PAREN: (32950..32951) \"(\"\n SYMBOL: (32951..32955)\n IDENTIFIER: (32951..32955) \"test\"\n ATMOSPHERE: (32955..32956) \" \"\n CONSTANT: (32956..32958)\n BOOLEAN: (32956..32958) \"#f\"\n ATMOSPHERE: (32958..32959) \" \"\n FORM: (32959..32975)\n OPEN_PAREN: (32959..32960) \"(\"\n SYMBOL: (32960..32966)\n IDENTIFIER: (32960..32966) \"char=?\"\n ATMOSPHERE: (32966..32967) \" \"\n CONSTANT: (32967..32970)\n CHARACTER: (32967..32970) \"#\\a\"\n ATMOSPHERE: (32970..32971) \" \"\n CONSTANT: (32971..32974)\n CHARACTER: (32971..32974) \"#\\A\"\n CLOSE_PAREN: (32974..32975) \")\"\n CLOSE_PAREN: (32975..32976) \")\"\n ATMOSPHERE: (32976..32977) \"\n\"\n FORM: (32977..33007)\n OPEN_PAREN: (32977..32978) \"(\"\n SYMBOL: (32978..32982)\n IDENTIFIER: (32978..32982) \"test\"\n ATMOSPHERE: (32982..32983) \" \"\n CONSTANT: (32983..32985)\n BOOLEAN: (32983..32985) \"#t\"\n ATMOSPHERE: (32985..32986) \" \"\n FORM: (32986..33006)\n OPEN_PAREN: (32986..32987) \"(\"\n SYMBOL: (32987..32993)\n IDENTIFIER: (32987..32993) \"char?\"\n ATMOSPHERE: (33078..33079) \" \"\n CONSTANT: (33079..33082)\n CHARACTER: (33079..33082) \"#\\a\"\n ATMOSPHERE: (33082..33083) \" \"\n CONSTANT: (33083..33086)\n CHARACTER: (33083..33086) \"#\\b\"\n CLOSE_PAREN: (33086..33087) \")\"\n CLOSE_PAREN: (33087..33088) \")\"\n ATMOSPHERE: (33088..33089) \"\n\"\n FORM: (33089..33115)\n OPEN_PAREN: (33089..33090) \"(\"\n SYMBOL: (33090..33094)\n IDENTIFIER: (33090..33094) \"test\"\n ATMOSPHERE: (33094..33095) \" \"\n CONSTANT: (33095..33097)\n BOOLEAN: (33095..33097) \"#f\"\n ATMOSPHERE: (33097..33098) \" \"\n FORM: (33098..33114)\n OPEN_PAREN: (33098..33099) \"(\"\n SYMBOL: (33099..33105)\n IDENTIFIER: (33099..33105) \"char>?\"\n ATMOSPHERE: (33105..33106) \" \"\n CONSTANT: (33106..33109)\n CHARACTER: (33106..33109) \"#\\a\"\n ATMOSPHERE: (33109..33110) \" \"\n CONSTANT: (33110..33113)\n CHARACTER: (33110..33113) \"#\\a\"\n CLOSE_PAREN: (33113..33114) \")\"\n CLOSE_PAREN: (33114..33115) \")\"\n ATMOSPHERE: (33115..33116) \"\n\"\n FORM: (33116..33146)\n OPEN_PAREN: (33116..33117) \"(\"\n SYMBOL: (33117..33121)\n IDENTIFIER: (33117..33121) \"test\"\n ATMOSPHERE: (33121..33122) \" \"\n CONSTANT: (33122..33124)\n BOOLEAN: (33122..33124) \"#t\"\n ATMOSPHERE: (33124..33125) \" \"\n FORM: (33125..33145)\n OPEN_PAREN: (33125..33126) \"(\"\n SYMBOL: (33126..33132)\n IDENTIFIER: (33126..33132) \"char>?\"\n ATMOSPHERE: (33132..33133) \" \"\n CONSTANT: (33133..33136)\n CHARACTER: (33133..33136) \"#\\c\"\n ATMOSPHERE: (33136..33137) \" \"\n CONSTANT: (33137..33140)\n CHARACTER: (33137..33140) \"#\\b\"\n ATMOSPHERE: (33140..33141) \" \"\n CONSTANT: (33141..33144)\n CHARACTER: (33141..33144) \"#\\a\"\n CLOSE_PAREN: (33144..33145) \")\"\n CLOSE_PAREN: (33145..33146) \")\"\n ATMOSPHERE: (33146..33147) \"\n\"\n FORM: (33147..33178)\n OPEN_PAREN: (33147..33148) \"(\"\n SYMBOL: (33148..33152)\n IDENTIFIER: (33148..33152) \"test\"\n ATMOSPHERE: (33152..33153) \" \"\n CONSTANT: (33153..33155)\n BOOLEAN: (33153..33155) \"#t\"\n ATMOSPHERE: (33155..33156) \" \"\n FORM: (33156..33177)\n OPEN_PAREN: (33156..33157) \"(\"\n SYMBOL: (33157..33164)\n IDENTIFIER: (33157..33164) \"char<=?\"\n ATMOSPHERE: (33164..33165) \" \"\n CONSTANT: (33165..33168)\n CHARACTER: (33165..33168) \"#\\a\"\n ATMOSPHERE: (33168..33169) \" \"\n CONSTANT: (33169..33172)\n CHARACTER: (33169..33172) \"#\\b\"\n ATMOSPHERE: (33172..33173) \" \"\n CONSTANT: (33173..33176)\n CHARACTER: (33173..33176) \"#\\b\"\n CLOSE_PAREN: (33176..33177) \")\"\n CLOSE_PAREN: (33177..33178) \")\"\n ATMOSPHERE: (33178..33179) \"\n\"\n FORM: (33179..33206)\n OPEN_PAREN: (33179..33180) \"(\"\n SYMBOL: (33180..33184)\n IDENTIFIER: (33180..33184) \"test\"\n ATMOSPHERE: (33184..33185) \" \"\n CONSTANT: (33185..33187)\n BOOLEAN: (33185..33187) \"#t\"\n ATMOSPHERE: (33187..33188) \" \"\n FORM: (33188..33205)\n OPEN_PAREN: (33188..33189) \"(\"\n SYMBOL: (33189..33196)\n IDENTIFIER: (33189..33196) \"char<=?\"\n ATMOSPHERE: (33196..33197) \" \"\n CONSTANT: (33197..33200)\n CHARACTER: (33197..33200) \"#\\a\"\n ATMOSPHERE: (33200..33201) \" \"\n CONSTANT: (33201..33204)\n CHARACTER: (33201..33204) \"#\\a\"\n CLOSE_PAREN: (33204..33205) \")\"\n CLOSE_PAREN: (33205..33206) \")\"\n ATMOSPHERE: (33206..33207) \"\n\"\n FORM: (33207..33234)\n OPEN_PAREN: (33207..33208) \"(\"\n SYMBOL: (33208..33212)\n IDENTIFIER: (33208..33212) \"test\"\n ATMOSPHERE: (33212..33213) \" \"\n CONSTANT: (33213..33215)\n BOOLEAN: (33213..33215) \"#f\"\n ATMOSPHERE: (33215..33216) \" \"\n FORM: (33216..33233)\n OPEN_PAREN: (33216..33217) \"(\"\n SYMBOL: (33217..33224)\n IDENTIFIER: (33217..33224) \"char<=?\"\n ATMOSPHERE: (33224..33225) \" \"\n CONSTANT: (33225..33228)\n CHARACTER: (33225..33228) \"#\\b\"\n ATMOSPHERE: (33228..33229) \" \"\n CONSTANT: (33229..33232)\n CHARACTER: (33229..33232) \"#\\a\"\n CLOSE_PAREN: (33232..33233) \")\"\n CLOSE_PAREN: (33233..33234) \")\"\n ATMOSPHERE: (33234..33235) \"\n\"\n FORM: (33235..33262)\n OPEN_PAREN: (33235..33236) \"(\"\n SYMBOL: (33236..33240)\n IDENTIFIER: (33236..33240) \"test\"\n ATMOSPHERE: (33240..33241) \" \"\n CONSTANT: (33241..33243)\n BOOLEAN: (33241..33243) \"#f\"\n ATMOSPHERE: (33243..33244) \" \"\n FORM: (33244..33261)\n OPEN_PAREN: (33244..33245) \"(\"\n SYMBOL: (33245..33252)\n IDENTIFIER: (33245..33252) \"char>=?\"\n ATMOSPHERE: (33252..33253) \" \"\n CONSTANT: (33253..33256)\n CHARACTER: (33253..33256) \"#\\a\"\n ATMOSPHERE: (33256..33257) \" \"\n CONSTANT: (33257..33260)\n CHARACTER: (33257..33260) \"#\\b\"\n CLOSE_PAREN: (33260..33261) \")\"\n CLOSE_PAREN: (33261..33262) \")\"\n ATMOSPHERE: (33262..33263) \"\n\"\n FORM: (33263..33290)\n OPEN_PAREN: (33263..33264) \"(\"\n SYMBOL: (33264..33268)\n IDENTIFIER: (33264..33268) \"test\"\n ATMOSPHERE: (33268..33269) \" \"\n CONSTANT: (33269..33271)\n BOOLEAN: (33269..33271) \"#t\"\n ATMOSPHERE: (33271..33272) \" \"\n FORM: (33272..33289)\n OPEN_PAREN: (33272..33273) \"(\"\n SYMBOL: (33273..33280)\n IDENTIFIER: (33273..33280) \"char>=?\"\n ATMOSPHERE: (33280..33281) \" \"\n CONSTANT: (33281..33284)\n CHARACTER: (33281..33284) \"#\\a\"\n ATMOSPHERE: (33284..33285) \" \"\n CONSTANT: (33285..33288)\n CHARACTER: (33285..33288) \"#\\a\"\n CLOSE_PAREN: (33288..33289) \")\"\n CLOSE_PAREN: (33289..33290) \")\"\n ATMOSPHERE: (33290..33291) \"\n\"\n FORM: (33291..33322)\n OPEN_PAREN: (33291..33292) \"(\"\n SYMBOL: (33292..33296)\n IDENTIFIER: (33292..33296) \"test\"\n ATMOSPHERE: (33296..33297) \" \"\n CONSTANT: (33297..33299)\n BOOLEAN: (33297..33299) \"#t\"\n ATMOSPHERE: (33299..33300) \" \"\n FORM: (33300..33321)\n OPEN_PAREN: (33300..33301) \"(\"\n SYMBOL: (33301..33308)\n IDENTIFIER: (33301..33308) \"char>=?\"\n ATMOSPHERE: (33308..33309) \" \"\n CONSTANT: (33309..33312)\n CHARACTER: (33309..33312) \"#\\b\"\n ATMOSPHERE: (33312..33313) \" \"\n CONSTANT: (33313..33316)\n CHARACTER: (33313..33316) \"#\\b\"\n ATMOSPHERE: (33316..33317) \" \"\n CONSTANT: (33317..33320)\n CHARACTER: (33317..33320) \"#\\a\"\n CLOSE_PAREN: (33320..33321) \")\"\n CLOSE_PAREN: (33321..33322) \")\"\n ATMOSPHERE: (33322..33324) \"\n\n\"\n FORM: (33324..33353)\n OPEN_PAREN: (33324..33325) \"(\"\n SYMBOL: (33325..33329)\n IDENTIFIER: (33325..33329) \"test\"\n ATMOSPHERE: (33329..33330) \" \"\n CONSTANT: (33330..33332)\n BOOLEAN: (33330..33332) \"#t\"\n ATMOSPHERE: (33332..33333) \" \"\n FORM: (33333..33352)\n OPEN_PAREN: (33333..33334) \"(\"\n SYMBOL: (33334..33343)\n IDENTIFIER: (33334..33343) \"char-ci=?\"\n ATMOSPHERE: (33343..33344) \" \"\n CONSTANT: (33344..33347)\n CHARACTER: (33344..33347) \"#\\a\"\n ATMOSPHERE: (33347..33348) \" \"\n CONSTANT: (33348..33351)\n CHARACTER: (33348..33351) \"#\\a\"\n CLOSE_PAREN: (33351..33352) \")\"\n CLOSE_PAREN: (33352..33353) \")\"\n ATMOSPHERE: (33353..33354) \"\n\"\n FORM: (33354..33387)\n OPEN_PAREN: (33354..33355) \"(\"\n SYMBOL: (33355..33359)\n IDENTIFIER: (33355..33359) \"test\"\n ATMOSPHERE: (33359..33360) \" \"\n CONSTANT: (33360..33362)\n BOOLEAN: (33360..33362) \"#t\"\n ATMOSPHERE: (33362..33363) \" \"\n FORM: (33363..33386)\n OPEN_PAREN: (33363..33364) \"(\"\n SYMBOL: (33364..33373)\n IDENTIFIER: (33364..33373) \"char-ci=?\"\n ATMOSPHERE: (33373..33374) \" \"\n CONSTANT: (33374..33377)\n CHARACTER: (33374..33377) \"#\\a\"\n ATMOSPHERE: (33377..33378) \" \"\n CONSTANT: (33378..33381)\n CHARACTER: (33378..33381) \"#\\A\"\n ATMOSPHERE: (33381..33382) \" \"\n CONSTANT: (33382..33385)\n CHARACTER: (33382..33385) \"#\\a\"\n CLOSE_PAREN: (33385..33386) \")\"\n CLOSE_PAREN: (33386..33387) \")\"\n ATMOSPHERE: (33387..33388) \"\n\"\n FORM: (33388..33417)\n OPEN_PAREN: (33388..33389) \"(\"\n SYMBOL: (33389..33393)\n IDENTIFIER: (33389..33393) \"test\"\n ATMOSPHERE: (33393..33394) \" \"\n CONSTANT: (33394..33396)\n BOOLEAN: (33394..33396) \"#f\"\n ATMOSPHERE: (33396..33397) \" \"\n FORM: (33397..33416)\n OPEN_PAREN: (33397..33398) \"(\"\n SYMBOL: (33398..33407)\n IDENTIFIER: (33398..33407) \"char-ci=?\"\n ATMOSPHERE: (33407..33408) \" \"\n CONSTANT: (33408..33411)\n CHARACTER: (33408..33411) \"#\\a\"\n ATMOSPHERE: (33411..33412) \" \"\n CONSTANT: (33412..33415)\n CHARACTER: (33412..33415) \"#\\b\"\n CLOSE_PAREN: (33415..33416) \")\"\n CLOSE_PAREN: (33416..33417) \")\"\n ATMOSPHERE: (33417..33418) \"\n\"\n FORM: (33418..33451)\n OPEN_PAREN: (33418..33419) \"(\"\n SYMBOL: (33419..33423)\n IDENTIFIER: (33419..33423) \"test\"\n ATMOSPHERE: (33423..33424) \" \"\n CONSTANT: (33424..33426)\n BOOLEAN: (33424..33426) \"#t\"\n ATMOSPHERE: (33426..33427) \" \"\n FORM: (33427..33450)\n OPEN_PAREN: (33427..33428) \"(\"\n SYMBOL: (33428..33437)\n IDENTIFIER: (33428..33437) \"char-ci?\"\n ATMOSPHERE: (33531..33532) \" \"\n CONSTANT: (33532..33535)\n CHARACTER: (33532..33535) \"#\\A\"\n ATMOSPHERE: (33535..33536) \" \"\n CONSTANT: (33536..33539)\n CHARACTER: (33536..33539) \"#\\b\"\n CLOSE_PAREN: (33539..33540) \")\"\n CLOSE_PAREN: (33540..33541) \")\"\n ATMOSPHERE: (33541..33542) \"\n\"\n FORM: (33542..33571)\n OPEN_PAREN: (33542..33543) \"(\"\n SYMBOL: (33543..33547)\n IDENTIFIER: (33543..33547) \"test\"\n ATMOSPHERE: (33547..33548) \" \"\n CONSTANT: (33548..33550)\n BOOLEAN: (33548..33550) \"#f\"\n ATMOSPHERE: (33550..33551) \" \"\n FORM: (33551..33570)\n OPEN_PAREN: (33551..33552) \"(\"\n SYMBOL: (33552..33561)\n IDENTIFIER: (33552..33561) \"char-ci>?\"\n ATMOSPHERE: (33561..33562) \" \"\n CONSTANT: (33562..33565)\n CHARACTER: (33562..33565) \"#\\a\"\n ATMOSPHERE: (33565..33566) \" \"\n CONSTANT: (33566..33569)\n CHARACTER: (33566..33569) \"#\\A\"\n CLOSE_PAREN: (33569..33570) \")\"\n CLOSE_PAREN: (33570..33571) \")\"\n ATMOSPHERE: (33571..33572) \"\n\"\n FORM: (33572..33605)\n OPEN_PAREN: (33572..33573) \"(\"\n SYMBOL: (33573..33577)\n IDENTIFIER: (33573..33577) \"test\"\n ATMOSPHERE: (33577..33578) \" \"\n CONSTANT: (33578..33580)\n BOOLEAN: (33578..33580) \"#t\"\n ATMOSPHERE: (33580..33581) \" \"\n FORM: (33581..33604)\n OPEN_PAREN: (33581..33582) \"(\"\n SYMBOL: (33582..33591)\n IDENTIFIER: (33582..33591) \"char-ci>?\"\n ATMOSPHERE: (33591..33592) \" \"\n CONSTANT: (33592..33595)\n CHARACTER: (33592..33595) \"#\\c\"\n ATMOSPHERE: (33595..33596) \" \"\n CONSTANT: (33596..33599)\n CHARACTER: (33596..33599) \"#\\B\"\n ATMOSPHERE: (33599..33600) \" \"\n CONSTANT: (33600..33603)\n CHARACTER: (33600..33603) \"#\\a\"\n CLOSE_PAREN: (33603..33604) \")\"\n CLOSE_PAREN: (33604..33605) \")\"\n ATMOSPHERE: (33605..33606) \"\n\"\n FORM: (33606..33640)\n OPEN_PAREN: (33606..33607) \"(\"\n SYMBOL: (33607..33611)\n IDENTIFIER: (33607..33611) \"test\"\n ATMOSPHERE: (33611..33612) \" \"\n CONSTANT: (33612..33614)\n BOOLEAN: (33612..33614) \"#t\"\n ATMOSPHERE: (33614..33615) \" \"\n FORM: (33615..33639)\n OPEN_PAREN: (33615..33616) \"(\"\n SYMBOL: (33616..33626)\n IDENTIFIER: (33616..33626) \"char-ci<=?\"\n ATMOSPHERE: (33626..33627) \" \"\n CONSTANT: (33627..33630)\n CHARACTER: (33627..33630) \"#\\a\"\n ATMOSPHERE: (33630..33631) \" \"\n CONSTANT: (33631..33634)\n CHARACTER: (33631..33634) \"#\\B\"\n ATMOSPHERE: (33634..33635) \" \"\n CONSTANT: (33635..33638)\n CHARACTER: (33635..33638) \"#\\b\"\n CLOSE_PAREN: (33638..33639) \")\"\n CLOSE_PAREN: (33639..33640) \")\"\n ATMOSPHERE: (33640..33641) \"\n\"\n FORM: (33641..33671)\n OPEN_PAREN: (33641..33642) \"(\"\n SYMBOL: (33642..33646)\n IDENTIFIER: (33642..33646) \"test\"\n ATMOSPHERE: (33646..33647) \" \"\n CONSTANT: (33647..33649)\n BOOLEAN: (33647..33649) \"#t\"\n ATMOSPHERE: (33649..33650) \" \"\n FORM: (33650..33670)\n OPEN_PAREN: (33650..33651) \"(\"\n SYMBOL: (33651..33661)\n IDENTIFIER: (33651..33661) \"char-ci<=?\"\n ATMOSPHERE: (33661..33662) \" \"\n CONSTANT: (33662..33665)\n CHARACTER: (33662..33665) \"#\\A\"\n ATMOSPHERE: (33665..33666) \" \"\n CONSTANT: (33666..33669)\n CHARACTER: (33666..33669) \"#\\a\"\n CLOSE_PAREN: (33669..33670) \")\"\n CLOSE_PAREN: (33670..33671) \")\"\n ATMOSPHERE: (33671..33672) \"\n\"\n FORM: (33672..33702)\n OPEN_PAREN: (33672..33673) \"(\"\n SYMBOL: (33673..33677)\n IDENTIFIER: (33673..33677) \"test\"\n ATMOSPHERE: (33677..33678) \" \"\n CONSTANT: (33678..33680)\n BOOLEAN: (33678..33680) \"#f\"\n ATMOSPHERE: (33680..33681) \" \"\n FORM: (33681..33701)\n OPEN_PAREN: (33681..33682) \"(\"\n SYMBOL: (33682..33692)\n IDENTIFIER: (33682..33692) \"char-ci<=?\"\n ATMOSPHERE: (33692..33693) \" \"\n CONSTANT: (33693..33696)\n CHARACTER: (33693..33696) \"#\\b\"\n ATMOSPHERE: (33696..33697) \" \"\n CONSTANT: (33697..33700)\n CHARACTER: (33697..33700) \"#\\A\"\n CLOSE_PAREN: (33700..33701) \")\"\n CLOSE_PAREN: (33701..33702) \")\"\n ATMOSPHERE: (33702..33703) \"\n\"\n FORM: (33703..33733)\n OPEN_PAREN: (33703..33704) \"(\"\n SYMBOL: (33704..33708)\n IDENTIFIER: (33704..33708) \"test\"\n ATMOSPHERE: (33708..33709) \" \"\n CONSTANT: (33709..33711)\n BOOLEAN: (33709..33711) \"#f\"\n ATMOSPHERE: (33711..33712) \" \"\n FORM: (33712..33732)\n OPEN_PAREN: (33712..33713) \"(\"\n SYMBOL: (33713..33723)\n IDENTIFIER: (33713..33723) \"char-ci>=?\"\n ATMOSPHERE: (33723..33724) \" \"\n CONSTANT: (33724..33727)\n CHARACTER: (33724..33727) \"#\\A\"\n ATMOSPHERE: (33727..33728) \" \"\n CONSTANT: (33728..33731)\n CHARACTER: (33728..33731) \"#\\b\"\n CLOSE_PAREN: (33731..33732) \")\"\n CLOSE_PAREN: (33732..33733) \")\"\n ATMOSPHERE: (33733..33734) \"\n\"\n FORM: (33734..33764)\n OPEN_PAREN: (33734..33735) \"(\"\n SYMBOL: (33735..33739)\n IDENTIFIER: (33735..33739) \"test\"\n ATMOSPHERE: (33739..33740) \" \"\n CONSTANT: (33740..33742)\n BOOLEAN: (33740..33742) \"#t\"\n ATMOSPHERE: (33742..33743) \" \"\n FORM: (33743..33763)\n OPEN_PAREN: (33743..33744) \"(\"\n SYMBOL: (33744..33754)\n IDENTIFIER: (33744..33754) \"char-ci>=?\"\n ATMOSPHERE: (33754..33755) \" \"\n CONSTANT: (33755..33758)\n CHARACTER: (33755..33758) \"#\\a\"\n ATMOSPHERE: (33758..33759) \" \"\n CONSTANT: (33759..33762)\n CHARACTER: (33759..33762) \"#\\A\"\n CLOSE_PAREN: (33762..33763) \")\"\n CLOSE_PAREN: (33763..33764) \")\"\n ATMOSPHERE: (33764..33765) \"\n\"\n FORM: (33765..33799)\n OPEN_PAREN: (33765..33766) \"(\"\n SYMBOL: (33766..33770)\n IDENTIFIER: (33766..33770) \"test\"\n ATMOSPHERE: (33770..33771) \" \"\n CONSTANT: (33771..33773)\n BOOLEAN: (33771..33773) \"#t\"\n ATMOSPHERE: (33773..33774) \" \"\n FORM: (33774..33798)\n OPEN_PAREN: (33774..33775) \"(\"\n SYMBOL: (33775..33785)\n IDENTIFIER: (33775..33785) \"char-ci>=?\"\n ATMOSPHERE: (33785..33786) \" \"\n CONSTANT: (33786..33789)\n CHARACTER: (33786..33789) \"#\\b\"\n ATMOSPHERE: (33789..33790) \" \"\n CONSTANT: (33790..33793)\n CHARACTER: (33790..33793) \"#\\B\"\n ATMOSPHERE: (33793..33794) \" \"\n CONSTANT: (33794..33797)\n CHARACTER: (33794..33797) \"#\\a\"\n CLOSE_PAREN: (33797..33798) \")\"\n CLOSE_PAREN: (33798..33799) \")\"\n ATMOSPHERE: (33799..33801) \"\n\n\"\n FORM: (33801..33833)\n OPEN_PAREN: (33801..33802) \"(\"\n SYMBOL: (33802..33806)\n IDENTIFIER: (33802..33806) \"test\"\n ATMOSPHERE: (33806..33807) \" \"\n CONSTANT: (33807..33809)\n BOOLEAN: (33807..33809) \"#t\"\n ATMOSPHERE: (33809..33810) \" \"\n FORM: (33810..33832)\n OPEN_PAREN: (33810..33811) \"(\"\n SYMBOL: (33811..33827)\n IDENTIFIER: (33811..33827) \"char-alphabetic?\"\n ATMOSPHERE: (33827..33828) \" \"\n CONSTANT: (33828..33831)\n CHARACTER: (33828..33831) \"#\\a\"\n CLOSE_PAREN: (33831..33832) \")\"\n CLOSE_PAREN: (33832..33833) \")\"\n ATMOSPHERE: (33833..33834) \"\n\"\n FORM: (33834..33870)\n OPEN_PAREN: (33834..33835) \"(\"\n SYMBOL: (33835..33839)\n IDENTIFIER: (33835..33839) \"test\"\n ATMOSPHERE: (33839..33840) \" \"\n CONSTANT: (33840..33842)\n BOOLEAN: (33840..33842) \"#f\"\n ATMOSPHERE: (33842..33843) \" \"\n FORM: (33843..33869)\n OPEN_PAREN: (33843..33844) \"(\"\n SYMBOL: (33844..33860)\n IDENTIFIER: (33844..33860) \"char-alphabetic?\"\n ATMOSPHERE: (33860..33861) \" \"\n CONSTANT: (33861..33868)\n CHARACTER: (33861..33868) \"#\\space\"\n CLOSE_PAREN: (33868..33869) \")\"\n CLOSE_PAREN: (33869..33870) \")\"\n ATMOSPHERE: (33870..33871) \"\n\"\n FORM: (33871..33900)\n OPEN_PAREN: (33871..33872) \"(\"\n SYMBOL: (33872..33876)\n IDENTIFIER: (33872..33876) \"test\"\n ATMOSPHERE: (33876..33877) \" \"\n CONSTANT: (33877..33879)\n BOOLEAN: (33877..33879) \"#t\"\n ATMOSPHERE: (33879..33880) \" \"\n FORM: (33880..33899)\n OPEN_PAREN: (33880..33881) \"(\"\n SYMBOL: (33881..33894)\n IDENTIFIER: (33881..33894) \"char-numeric?\"\n ATMOSPHERE: (33894..33895) \" \"\n CONSTANT: (33895..33898)\n CHARACTER: (33895..33898) \"#\\0\"\n CLOSE_PAREN: (33898..33899) \")\"\n CLOSE_PAREN: (33899..33900) \")\"\n ATMOSPHERE: (33900..33901) \"\n\"\n FORM: (33901..33930)\n OPEN_PAREN: (33901..33902) \"(\"\n SYMBOL: (33902..33906)\n IDENTIFIER: (33902..33906) \"test\"\n ATMOSPHERE: (33906..33907) \" \"\n CONSTANT: (33907..33909)\n BOOLEAN: (33907..33909) \"#f\"\n ATMOSPHERE: (33909..33910) \" \"\n FORM: (33910..33929)\n OPEN_PAREN: (33910..33911) \"(\"\n SYMBOL: (33911..33924)\n IDENTIFIER: (33911..33924) \"char-numeric?\"\n ATMOSPHERE: (33924..33925) \" \"\n CONSTANT: (33925..33928)\n CHARACTER: (33925..33928) \"#\\.\"\n CLOSE_PAREN: (33928..33929) \")\"\n CLOSE_PAREN: (33929..33930) \")\"\n ATMOSPHERE: (33930..33931) \"\n\"\n FORM: (33931..33960)\n OPEN_PAREN: (33931..33932) \"(\"\n SYMBOL: (33932..33936)\n IDENTIFIER: (33932..33936) \"test\"\n ATMOSPHERE: (33936..33937) \" \"\n CONSTANT: (33937..33939)\n BOOLEAN: (33937..33939) \"#f\"\n ATMOSPHERE: (33939..33940) \" \"\n FORM: (33940..33959)\n OPEN_PAREN: (33940..33941) \"(\"\n SYMBOL: (33941..33954)\n IDENTIFIER: (33941..33954) \"char-numeric?\"\n ATMOSPHERE: (33954..33955) \" \"\n CONSTANT: (33955..33958)\n CHARACTER: (33955..33958) \"#\\a\"\n CLOSE_PAREN: (33958..33959) \")\"\n CLOSE_PAREN: (33959..33960) \")\"\n ATMOSPHERE: (33960..33961) \"\n\"\n FORM: (33961..33997)\n OPEN_PAREN: (33961..33962) \"(\"\n SYMBOL: (33962..33966)\n IDENTIFIER: (33962..33966) \"test\"\n ATMOSPHERE: (33966..33967) \" \"\n CONSTANT: (33967..33969)\n BOOLEAN: (33967..33969) \"#t\"\n ATMOSPHERE: (33969..33970) \" \"\n FORM: (33970..33996)\n OPEN_PAREN: (33970..33971) \"(\"\n SYMBOL: (33971..33987)\n IDENTIFIER: (33971..33987) \"char-whitespace?\"\n ATMOSPHERE: (33987..33988) \" \"\n CONSTANT: (33988..33995)\n CHARACTER: (33988..33995) \"#\\space\"\n CLOSE_PAREN: (33995..33996) \")\"\n CLOSE_PAREN: (33996..33997) \")\"\n ATMOSPHERE: (33997..33998) \"\n\"\n FORM: (33998..34032)\n OPEN_PAREN: (33998..33999) \"(\"\n SYMBOL: (33999..34003)\n IDENTIFIER: (33999..34003) \"test\"\n ATMOSPHERE: (34003..34004) \" \"\n CONSTANT: (34004..34006)\n BOOLEAN: (34004..34006) \"#t\"\n ATMOSPHERE: (34006..34007) \" \"\n FORM: (34007..34031)\n OPEN_PAREN: (34007..34008) \"(\"\n SYMBOL: (34008..34024)\n IDENTIFIER: (34008..34024) \"char-whitespace?\"\n ATMOSPHERE: (34024..34025) \" \"\n CONSTANT: (34025..34030)\n CHARACTER: (34025..34030) \"#\\tab\"\n CLOSE_PAREN: (34030..34031) \")\"\n CLOSE_PAREN: (34031..34032) \")\"\n ATMOSPHERE: (34032..34033) \"\n\"\n FORM: (34033..34071)\n OPEN_PAREN: (34033..34034) \"(\"\n SYMBOL: (34034..34038)\n IDENTIFIER: (34034..34038) \"test\"\n ATMOSPHERE: (34038..34039) \" \"\n CONSTANT: (34039..34041)\n BOOLEAN: (34039..34041) \"#t\"\n ATMOSPHERE: (34041..34042) \" \"\n FORM: (34042..34070)\n OPEN_PAREN: (34042..34043) \"(\"\n SYMBOL: (34043..34059)\n IDENTIFIER: (34043..34059) \"char-whitespace?\"\n ATMOSPHERE: (34059..34060) \" \"\n CONSTANT: (34060..34069)\n CHARACTER: (34060..34069) \"#\\newline\"\n CLOSE_PAREN: (34069..34070) \")\"\n CLOSE_PAREN: (34070..34071) \")\"\n ATMOSPHERE: (34071..34072) \"\n\"\n FORM: (34072..34104)\n OPEN_PAREN: (34072..34073) \"(\"\n SYMBOL: (34073..34077)\n IDENTIFIER: (34073..34077) \"test\"\n ATMOSPHERE: (34077..34078) \" \"\n CONSTANT: (34078..34080)\n BOOLEAN: (34078..34080) \"#f\"\n ATMOSPHERE: (34080..34081) \" \"\n FORM: (34081..34103)\n OPEN_PAREN: (34081..34082) \"(\"\n SYMBOL: (34082..34098)\n IDENTIFIER: (34082..34098) \"char-whitespace?\"\n ATMOSPHERE: (34098..34099) \" \"\n CONSTANT: (34099..34102)\n CHARACTER: (34099..34102) \"#\\_\"\n CLOSE_PAREN: (34102..34103) \")\"\n CLOSE_PAREN: (34103..34104) \")\"\n ATMOSPHERE: (34104..34105) \"\n\"\n FORM: (34105..34137)\n OPEN_PAREN: (34105..34106) \"(\"\n SYMBOL: (34106..34110)\n IDENTIFIER: (34106..34110) \"test\"\n ATMOSPHERE: (34110..34111) \" \"\n CONSTANT: (34111..34113)\n BOOLEAN: (34111..34113) \"#f\"\n ATMOSPHERE: (34113..34114) \" \"\n FORM: (34114..34136)\n OPEN_PAREN: (34114..34115) \"(\"\n SYMBOL: (34115..34131)\n IDENTIFIER: (34115..34131) \"char-whitespace?\"\n ATMOSPHERE: (34131..34132) \" \"\n CONSTANT: (34132..34135)\n CHARACTER: (34132..34135) \"#\\a\"\n CLOSE_PAREN: (34135..34136) \")\"\n CLOSE_PAREN: (34136..34137) \")\"\n ATMOSPHERE: (34137..34138) \"\n\"\n FORM: (34138..34170)\n OPEN_PAREN: (34138..34139) \"(\"\n SYMBOL: (34139..34143)\n IDENTIFIER: (34139..34143) \"test\"\n ATMOSPHERE: (34143..34144) \" \"\n CONSTANT: (34144..34146)\n BOOLEAN: (34144..34146) \"#t\"\n ATMOSPHERE: (34146..34147) \" \"\n FORM: (34147..34169)\n OPEN_PAREN: (34147..34148) \"(\"\n SYMBOL: (34148..34164)\n IDENTIFIER: (34148..34164) \"char-upper-case?\"\n ATMOSPHERE: (34164..34165) \" \"\n CONSTANT: (34165..34168)\n CHARACTER: (34165..34168) \"#\\A\"\n CLOSE_PAREN: (34168..34169) \")\"\n CLOSE_PAREN: (34169..34170) \")\"\n ATMOSPHERE: (34170..34171) \"\n\"\n FORM: (34171..34203)\n OPEN_PAREN: (34171..34172) \"(\"\n SYMBOL: (34172..34176)\n IDENTIFIER: (34172..34176) \"test\"\n ATMOSPHERE: (34176..34177) \" \"\n CONSTANT: (34177..34179)\n BOOLEAN: (34177..34179) \"#f\"\n ATMOSPHERE: (34179..34180) \" \"\n FORM: (34180..34202)\n OPEN_PAREN: (34180..34181) \"(\"\n SYMBOL: (34181..34197)\n IDENTIFIER: (34181..34197) \"char-upper-case?\"\n ATMOSPHERE: (34197..34198) \" \"\n CONSTANT: (34198..34201)\n CHARACTER: (34198..34201) \"#\\a\"\n CLOSE_PAREN: (34201..34202) \")\"\n CLOSE_PAREN: (34202..34203) \")\"\n ATMOSPHERE: (34203..34204) \"\n\"\n FORM: (34204..34236)\n OPEN_PAREN: (34204..34205) \"(\"\n SYMBOL: (34205..34209)\n IDENTIFIER: (34205..34209) \"test\"\n ATMOSPHERE: (34209..34210) \" \"\n CONSTANT: (34210..34212)\n BOOLEAN: (34210..34212) \"#f\"\n ATMOSPHERE: (34212..34213) \" \"\n FORM: (34213..34235)\n OPEN_PAREN: (34213..34214) \"(\"\n SYMBOL: (34214..34230)\n IDENTIFIER: (34214..34230) \"char-upper-case?\"\n ATMOSPHERE: (34230..34231) \" \"\n CONSTANT: (34231..34234)\n CHARACTER: (34231..34234) \"#\\3\"\n CLOSE_PAREN: (34234..34235) \")\"\n CLOSE_PAREN: (34235..34236) \")\"\n ATMOSPHERE: (34236..34237) \"\n\"\n FORM: (34237..34269)\n OPEN_PAREN: (34237..34238) \"(\"\n SYMBOL: (34238..34242)\n IDENTIFIER: (34238..34242) \"test\"\n ATMOSPHERE: (34242..34243) \" \"\n CONSTANT: (34243..34245)\n BOOLEAN: (34243..34245) \"#t\"\n ATMOSPHERE: (34245..34246) \" \"\n FORM: (34246..34268)\n OPEN_PAREN: (34246..34247) \"(\"\n SYMBOL: (34247..34263)\n IDENTIFIER: (34247..34263) \"char-lower-case?\"\n ATMOSPHERE: (34263..34264) \" \"\n CONSTANT: (34264..34267)\n CHARACTER: (34264..34267) \"#\\a\"\n CLOSE_PAREN: (34267..34268) \")\"\n CLOSE_PAREN: (34268..34269) \")\"\n ATMOSPHERE: (34269..34270) \"\n\"\n FORM: (34270..34302)\n OPEN_PAREN: (34270..34271) \"(\"\n SYMBOL: (34271..34275)\n IDENTIFIER: (34271..34275) \"test\"\n ATMOSPHERE: (34275..34276) \" \"\n CONSTANT: (34276..34278)\n BOOLEAN: (34276..34278) \"#f\"\n ATMOSPHERE: (34278..34279) \" \"\n FORM: (34279..34301)\n OPEN_PAREN: (34279..34280) \"(\"\n SYMBOL: (34280..34296)\n IDENTIFIER: (34280..34296) \"char-lower-case?\"\n ATMOSPHERE: (34296..34297) \" \"\n CONSTANT: (34297..34300)\n CHARACTER: (34297..34300) \"#\\A\"\n CLOSE_PAREN: (34300..34301) \")\"\n CLOSE_PAREN: (34301..34302) \")\"\n ATMOSPHERE: (34302..34303) \"\n\"\n FORM: (34303..34335)\n OPEN_PAREN: (34303..34304) \"(\"\n SYMBOL: (34304..34308)\n IDENTIFIER: (34304..34308) \"test\"\n ATMOSPHERE: (34308..34309) \" \"\n CONSTANT: (34309..34311)\n BOOLEAN: (34309..34311) \"#f\"\n ATMOSPHERE: (34311..34312) \" \"\n FORM: (34312..34334)\n OPEN_PAREN: (34312..34313) \"(\"\n SYMBOL: (34313..34329)\n IDENTIFIER: (34313..34329) \"char-lower-case?\"\n ATMOSPHERE: (34329..34330) \" \"\n CONSTANT: (34330..34333)\n CHARACTER: (34330..34333) \"#\\3\"\n CLOSE_PAREN: (34333..34334) \")\"\n CLOSE_PAREN: (34334..34335) \")\"\n ATMOSPHERE: (34335..34337) \"\n\n\"\n FORM: (34337..34369)\n OPEN_PAREN: (34337..34338) \"(\"\n SYMBOL: (34338..34342)\n IDENTIFIER: (34338..34342) \"test\"\n ATMOSPHERE: (34342..34343) \" \"\n CONSTANT: (34343..34345)\n BOOLEAN: (34343..34345) \"#t\"\n ATMOSPHERE: (34345..34346) \" \"\n FORM: (34346..34368)\n OPEN_PAREN: (34346..34347) \"(\"\n SYMBOL: (34347..34363)\n IDENTIFIER: (34347..34363) \"char-alphabetic?\"\n ATMOSPHERE: (34363..34364) \" \"\n CONSTANT: (34364..34367)\n CHARACTER: (34364..34367) \"#\\Λ\"\n CLOSE_PAREN: (34367..34368) \")\"\n CLOSE_PAREN: (34368..34369) \")\"\n ATMOSPHERE: (34369..34370) \"\n\"\n FORM: (34370..34406)\n OPEN_PAREN: (34370..34371) \"(\"\n SYMBOL: (34371..34375)\n IDENTIFIER: (34371..34375) \"test\"\n ATMOSPHERE: (34375..34376) \" \"\n CONSTANT: (34376..34378)\n BOOLEAN: (34376..34378) \"#f\"\n ATMOSPHERE: (34378..34379) \" \"\n FORM: (34379..34405)\n OPEN_PAREN: (34379..34380) \"(\"\n SYMBOL: (34380..34396)\n IDENTIFIER: (34380..34396) \"char-alphabetic?\"\n ATMOSPHERE: (34396..34397) \" \"\n CONSTANT: (34397..34404)\n CHARACTER: (34397..34404) \"#\\x0E50\"\n CLOSE_PAREN: (34404..34405) \")\"\n CLOSE_PAREN: (34405..34406) \")\"\n ATMOSPHERE: (34406..34407) \"\n\"\n FORM: (34407..34439)\n OPEN_PAREN: (34407..34408) \"(\"\n SYMBOL: (34408..34412)\n IDENTIFIER: (34408..34412) \"test\"\n ATMOSPHERE: (34412..34413) \" \"\n CONSTANT: (34413..34415)\n BOOLEAN: (34413..34415) \"#t\"\n ATMOSPHERE: (34415..34416) \" \"\n FORM: (34416..34438)\n OPEN_PAREN: (34416..34417) \"(\"\n SYMBOL: (34417..34433)\n IDENTIFIER: (34417..34433) \"char-upper-case?\"\n ATMOSPHERE: (34433..34434) \" \"\n CONSTANT: (34434..34437)\n CHARACTER: (34434..34437) \"#\\Λ\"\n CLOSE_PAREN: (34437..34438) \")\"\n CLOSE_PAREN: (34438..34439) \")\"\n ATMOSPHERE: (34439..34440) \"\n\"\n FORM: (34440..34472)\n OPEN_PAREN: (34440..34441) \"(\"\n SYMBOL: (34441..34445)\n IDENTIFIER: (34441..34445) \"test\"\n ATMOSPHERE: (34445..34446) \" \"\n CONSTANT: (34446..34448)\n BOOLEAN: (34446..34448) \"#f\"\n ATMOSPHERE: (34448..34449) \" \"\n FORM: (34449..34471)\n OPEN_PAREN: (34449..34450) \"(\"\n SYMBOL: (34450..34466)\n IDENTIFIER: (34450..34466) \"char-upper-case?\"\n ATMOSPHERE: (34466..34467) \" \"\n CONSTANT: (34467..34470)\n CHARACTER: (34467..34470) \"#\\λ\"\n CLOSE_PAREN: (34470..34471) \")\"\n CLOSE_PAREN: (34471..34472) \")\"\n ATMOSPHERE: (34472..34473) \"\n\"\n FORM: (34473..34505)\n OPEN_PAREN: (34473..34474) \"(\"\n SYMBOL: (34474..34478)\n IDENTIFIER: (34474..34478) \"test\"\n ATMOSPHERE: (34478..34479) \" \"\n CONSTANT: (34479..34481)\n BOOLEAN: (34479..34481) \"#f\"\n ATMOSPHERE: (34481..34482) \" \"\n FORM: (34482..34504)\n OPEN_PAREN: (34482..34483) \"(\"\n SYMBOL: (34483..34499)\n IDENTIFIER: (34483..34499) \"char-lower-case?\"\n ATMOSPHERE: (34499..34500) \" \"\n CONSTANT: (34500..34503)\n CHARACTER: (34500..34503) \"#\\Λ\"\n CLOSE_PAREN: (34503..34504) \")\"\n CLOSE_PAREN: (34504..34505) \")\"\n ATMOSPHERE: (34505..34506) \"\n\"\n FORM: (34506..34538)\n OPEN_PAREN: (34506..34507) \"(\"\n SYMBOL: (34507..34511)\n IDENTIFIER: (34507..34511) \"test\"\n ATMOSPHERE: (34511..34512) \" \"\n CONSTANT: (34512..34514)\n BOOLEAN: (34512..34514) \"#t\"\n ATMOSPHERE: (34514..34515) \" \"\n FORM: (34515..34537)\n OPEN_PAREN: (34515..34516) \"(\"\n SYMBOL: (34516..34532)\n IDENTIFIER: (34516..34532) \"char-lower-case?\"\n ATMOSPHERE: (34532..34533) \" \"\n CONSTANT: (34533..34536)\n CHARACTER: (34533..34536) \"#\\λ\"\n CLOSE_PAREN: (34536..34537) \")\"\n CLOSE_PAREN: (34537..34538) \")\"\n ATMOSPHERE: (34538..34539) \"\n\"\n FORM: (34539..34568)\n OPEN_PAREN: (34539..34540) \"(\"\n SYMBOL: (34540..34544)\n IDENTIFIER: (34540..34544) \"test\"\n ATMOSPHERE: (34544..34545) \" \"\n CONSTANT: (34545..34547)\n BOOLEAN: (34545..34547) \"#f\"\n ATMOSPHERE: (34547..34548) \" \"\n FORM: (34548..34567)\n OPEN_PAREN: (34548..34549) \"(\"\n SYMBOL: (34549..34562)\n IDENTIFIER: (34549..34562) \"char-numeric?\"\n ATMOSPHERE: (34562..34563) \" \"\n CONSTANT: (34563..34566)\n CHARACTER: (34563..34566) \"#\\Λ\"\n CLOSE_PAREN: (34566..34567) \")\"\n CLOSE_PAREN: (34567..34568) \")\"\n ATMOSPHERE: (34568..34569) \"\n\"\n FORM: (34569..34602)\n OPEN_PAREN: (34569..34570) \"(\"\n SYMBOL: (34570..34574)\n IDENTIFIER: (34570..34574) \"test\"\n ATMOSPHERE: (34574..34575) \" \"\n CONSTANT: (34575..34577)\n BOOLEAN: (34575..34577) \"#t\"\n ATMOSPHERE: (34577..34578) \" \"\n FORM: (34578..34601)\n OPEN_PAREN: (34578..34579) \"(\"\n SYMBOL: (34579..34592)\n IDENTIFIER: (34579..34592) \"char-numeric?\"\n ATMOSPHERE: (34592..34593) \" \"\n CONSTANT: (34593..34600)\n CHARACTER: (34593..34600) \"#\\x0E50\"\n CLOSE_PAREN: (34600..34601) \")\"\n CLOSE_PAREN: (34601..34602) \")\"\n ATMOSPHERE: (34602..34603) \"\n\"\n FORM: (34603..34639)\n OPEN_PAREN: (34603..34604) \"(\"\n SYMBOL: (34604..34608)\n IDENTIFIER: (34604..34608) \"test\"\n ATMOSPHERE: (34608..34609) \" \"\n CONSTANT: (34609..34611)\n BOOLEAN: (34609..34611) \"#t\"\n ATMOSPHERE: (34611..34612) \" \"\n FORM: (34612..34638)\n OPEN_PAREN: (34612..34613) \"(\"\n SYMBOL: (34613..34629)\n IDENTIFIER: (34613..34629) \"char-whitespace?\"\n ATMOSPHERE: (34629..34630) \" \"\n CONSTANT: (34630..34637)\n CHARACTER: (34630..34637) \"#\\x1680\"\n CLOSE_PAREN: (34637..34638) \")\"\n CLOSE_PAREN: (34638..34639) \")\"\n ATMOSPHERE: (34639..34641) \"\n\n\"\n FORM: (34641..34667)\n OPEN_PAREN: (34641..34642) \"(\"\n SYMBOL: (34642..34646)\n IDENTIFIER: (34642..34646) \"test\"\n ATMOSPHERE: (34646..34647) \" \"\n CONSTANT: (34647..34648)\n NUMBER: (34647..34648) \"0\"\n ATMOSPHERE: (34648..34649) \" \"\n FORM: (34649..34666)\n OPEN_PAREN: (34649..34650) \"(\"\n SYMBOL: (34650..34661)\n IDENTIFIER: (34650..34661) \"digit-value\"\n ATMOSPHERE: (34661..34662) \" \"\n CONSTANT: (34662..34665)\n CHARACTER: (34662..34665) \"#\\0\"\n CLOSE_PAREN: (34665..34666) \")\"\n CLOSE_PAREN: (34666..34667) \")\"\n ATMOSPHERE: (34667..34668) \"\n\"\n FORM: (34668..34694)\n OPEN_PAREN: (34668..34669) \"(\"\n SYMBOL: (34669..34673)\n IDENTIFIER: (34669..34673) \"test\"\n ATMOSPHERE: (34673..34674) \" \"\n CONSTANT: (34674..34675)\n NUMBER: (34674..34675) \"3\"\n ATMOSPHERE: (34675..34676) \" \"\n FORM: (34676..34693)\n OPEN_PAREN: (34676..34677) \"(\"\n SYMBOL: (34677..34688)\n IDENTIFIER: (34677..34688) \"digit-value\"\n ATMOSPHERE: (34688..34689) \" \"\n CONSTANT: (34689..34692)\n CHARACTER: (34689..34692) \"#\\3\"\n CLOSE_PAREN: (34692..34693) \")\"\n CLOSE_PAREN: (34693..34694) \")\"\n ATMOSPHERE: (34694..34695) \"\n\"\n FORM: (34695..34721)\n OPEN_PAREN: (34695..34696) \"(\"\n SYMBOL: (34696..34700)\n IDENTIFIER: (34696..34700) \"test\"\n ATMOSPHERE: (34700..34701) \" \"\n CONSTANT: (34701..34702)\n NUMBER: (34701..34702) \"9\"\n ATMOSPHERE: (34702..34703) \" \"\n FORM: (34703..34720)\n OPEN_PAREN: (34703..34704) \"(\"\n SYMBOL: (34704..34715)\n IDENTIFIER: (34704..34715) \"digit-value\"\n ATMOSPHERE: (34715..34716) \" \"\n CONSTANT: (34716..34719)\n CHARACTER: (34716..34719) \"#\\9\"\n CLOSE_PAREN: (34719..34720) \")\"\n CLOSE_PAREN: (34720..34721) \")\"\n ATMOSPHERE: (34721..34722) \"\n\"\n FORM: (34722..34752)\n OPEN_PAREN: (34722..34723) \"(\"\n SYMBOL: (34723..34727)\n IDENTIFIER: (34723..34727) \"test\"\n ATMOSPHERE: (34727..34728) \" \"\n CONSTANT: (34728..34729)\n NUMBER: (34728..34729) \"4\"\n ATMOSPHERE: (34729..34730) \" \"\n FORM: (34730..34751)\n OPEN_PAREN: (34730..34731) \"(\"\n SYMBOL: (34731..34742)\n IDENTIFIER: (34731..34742) \"digit-value\"\n ATMOSPHERE: (34742..34743) \" \"\n CONSTANT: (34743..34750)\n CHARACTER: (34743..34750) \"#\\x0664\"\n CLOSE_PAREN: (34750..34751) \")\"\n CLOSE_PAREN: (34751..34752) \")\"\n ATMOSPHERE: (34752..34753) \"\n\"\n FORM: (34753..34783)\n OPEN_PAREN: (34753..34754) \"(\"\n SYMBOL: (34754..34758)\n IDENTIFIER: (34754..34758) \"test\"\n ATMOSPHERE: (34758..34759) \" \"\n CONSTANT: (34759..34760)\n NUMBER: (34759..34760) \"0\"\n ATMOSPHERE: (34760..34761) \" \"\n FORM: (34761..34782)\n OPEN_PAREN: (34761..34762) \"(\"\n SYMBOL: (34762..34773)\n IDENTIFIER: (34762..34773) \"digit-value\"\n ATMOSPHERE: (34773..34774) \" \"\n CONSTANT: (34774..34781)\n CHARACTER: (34774..34781) \"#\\x0AE6\"\n CLOSE_PAREN: (34781..34782) \")\"\n CLOSE_PAREN: (34782..34783) \")\"\n ATMOSPHERE: (34783..34784) \"\n\"\n FORM: (34784..34811)\n OPEN_PAREN: (34784..34785) \"(\"\n SYMBOL: (34785..34789)\n IDENTIFIER: (34785..34789) \"test\"\n ATMOSPHERE: (34789..34790) \" \"\n CONSTANT: (34790..34792)\n BOOLEAN: (34790..34792) \"#f\"\n ATMOSPHERE: (34792..34793) \" \"\n FORM: (34793..34810)\n OPEN_PAREN: (34793..34794) \"(\"\n SYMBOL: (34794..34805)\n IDENTIFIER: (34794..34805) \"digit-value\"\n ATMOSPHERE: (34805..34806) \" \"\n CONSTANT: (34806..34809)\n CHARACTER: (34806..34809) \"#\\.\"\n CLOSE_PAREN: (34809..34810) \")\"\n CLOSE_PAREN: (34810..34811) \")\"\n ATMOSPHERE: (34811..34812) \"\n\"\n FORM: (34812..34839)\n OPEN_PAREN: (34812..34813) \"(\"\n SYMBOL: (34813..34817)\n IDENTIFIER: (34813..34817) \"test\"\n ATMOSPHERE: (34817..34818) \" \"\n CONSTANT: (34818..34820)\n BOOLEAN: (34818..34820) \"#f\"\n ATMOSPHERE: (34820..34821) \" \"\n FORM: (34821..34838)\n OPEN_PAREN: (34821..34822) \"(\"\n SYMBOL: (34822..34833)\n IDENTIFIER: (34822..34833) \"digit-value\"\n ATMOSPHERE: (34833..34834) \" \"\n CONSTANT: (34834..34837)\n CHARACTER: (34834..34837) \"#\\-\"\n CLOSE_PAREN: (34837..34838) \")\"\n CLOSE_PAREN: (34838..34839) \")\"\n ATMOSPHERE: (34839..34841) \"\n\n\"\n FORM: (34841..34870)\n OPEN_PAREN: (34841..34842) \"(\"\n SYMBOL: (34842..34846)\n IDENTIFIER: (34842..34846) \"test\"\n ATMOSPHERE: (34846..34847) \" \"\n CONSTANT: (34847..34849)\n NUMBER: (34847..34849) \"97\"\n ATMOSPHERE: (34849..34850) \" \"\n FORM: (34850..34869)\n OPEN_PAREN: (34850..34851) \"(\"\n SYMBOL: (34851..34864)\n IDENTIFIER: (34851..34864) \"char->integer\"\n ATMOSPHERE: (34864..34865) \" \"\n CONSTANT: (34865..34868)\n CHARACTER: (34865..34868) \"#\\a\"\n CLOSE_PAREN: (34868..34869) \")\"\n CLOSE_PAREN: (34869..34870) \")\"\n ATMOSPHERE: (34870..34871) \"\n\"\n FORM: (34871..34900)\n OPEN_PAREN: (34871..34872) \"(\"\n SYMBOL: (34872..34876)\n IDENTIFIER: (34872..34876) \"test\"\n ATMOSPHERE: (34876..34877) \" \"\n CONSTANT: (34877..34880)\n CHARACTER: (34877..34880) \"#\\a\"\n ATMOSPHERE: (34880..34881) \" \"\n FORM: (34881..34899)\n OPEN_PAREN: (34881..34882) \"(\"\n SYMBOL: (34882..34895)\n IDENTIFIER: (34882..34895) \"integer->char\"\n ATMOSPHERE: (34895..34896) \" \"\n CONSTANT: (34896..34898)\n NUMBER: (34896..34898) \"97\"\n CLOSE_PAREN: (34898..34899) \")\"\n CLOSE_PAREN: (34899..34900) \")\"\n ATMOSPHERE: (34900..34902) \"\n\n\"\n FORM: (34902..34930)\n OPEN_PAREN: (34902..34903) \"(\"\n SYMBOL: (34903..34907)\n IDENTIFIER: (34903..34907) \"test\"\n ATMOSPHERE: (34907..34908) \" \"\n CONSTANT: (34908..34911)\n CHARACTER: (34908..34911) \"#\\A\"\n ATMOSPHERE: (34911..34912) \" \"\n FORM: (34912..34929)\n OPEN_PAREN: (34912..34913) \"(\"\n SYMBOL: (34913..34924)\n IDENTIFIER: (34913..34924) \"char-upcase\"\n ATMOSPHERE: (34924..34925) \" \"\n CONSTANT: (34925..34928)\n CHARACTER: (34925..34928) \"#\\a\"\n CLOSE_PAREN: (34928..34929) \")\"\n CLOSE_PAREN: (34929..34930) \")\"\n ATMOSPHERE: (34930..34931) \"\n\"\n FORM: (34931..34959)\n OPEN_PAREN: (34931..34932) \"(\"\n SYMBOL: (34932..34936)\n IDENTIFIER: (34932..34936) \"test\"\n ATMOSPHERE: (34936..34937) \" \"\n CONSTANT: (34937..34940)\n CHARACTER: (34937..34940) \"#\\A\"\n ATMOSPHERE: (34940..34941) \" \"\n FORM: (34941..34958)\n OPEN_PAREN: (34941..34942) \"(\"\n SYMBOL: (34942..34953)\n IDENTIFIER: (34942..34953) \"char-upcase\"\n ATMOSPHERE: (34953..34954) \" \"\n CONSTANT: (34954..34957)\n CHARACTER: (34954..34957) \"#\\A\"\n CLOSE_PAREN: (34957..34958) \")\"\n CLOSE_PAREN: (34958..34959) \")\"\n ATMOSPHERE: (34959..34960) \"\n\"\n FORM: (34960..34990)\n OPEN_PAREN: (34960..34961) \"(\"\n SYMBOL: (34961..34965)\n IDENTIFIER: (34961..34965) \"test\"\n ATMOSPHERE: (34965..34966) \" \"\n CONSTANT: (34966..34969)\n CHARACTER: (34966..34969) \"#\\a\"\n ATMOSPHERE: (34969..34970) \" \"\n FORM: (34970..34989)\n OPEN_PAREN: (34970..34971) \"(\"\n SYMBOL: (34971..34984)\n IDENTIFIER: (34971..34984) \"char-downcase\"\n ATMOSPHERE: (34984..34985) \" \"\n CONSTANT: (34985..34988)\n CHARACTER: (34985..34988) \"#\\a\"\n CLOSE_PAREN: (34988..34989) \")\"\n CLOSE_PAREN: (34989..34990) \")\"\n ATMOSPHERE: (34990..34991) \"\n\"\n FORM: (34991..35021)\n OPEN_PAREN: (34991..34992) \"(\"\n SYMBOL: (34992..34996)\n IDENTIFIER: (34992..34996) \"test\"\n ATMOSPHERE: (34996..34997) \" \"\n CONSTANT: (34997..35000)\n CHARACTER: (34997..35000) \"#\\a\"\n ATMOSPHERE: (35000..35001) \" \"\n FORM: (35001..35020)\n OPEN_PAREN: (35001..35002) \"(\"\n SYMBOL: (35002..35015)\n IDENTIFIER: (35002..35015) \"char-downcase\"\n ATMOSPHERE: (35015..35016) \" \"\n CONSTANT: (35016..35019)\n CHARACTER: (35016..35019) \"#\\A\"\n CLOSE_PAREN: (35019..35020) \")\"\n CLOSE_PAREN: (35020..35021) \")\"\n ATMOSPHERE: (35021..35022) \"\n\"\n FORM: (35022..35052)\n OPEN_PAREN: (35022..35023) \"(\"\n SYMBOL: (35023..35027)\n IDENTIFIER: (35023..35027) \"test\"\n ATMOSPHERE: (35027..35028) \" \"\n CONSTANT: (35028..35031)\n CHARACTER: (35028..35031) \"#\\a\"\n ATMOSPHERE: (35031..35032) \" \"\n FORM: (35032..35051)\n OPEN_PAREN: (35032..35033) \"(\"\n SYMBOL: (35033..35046)\n IDENTIFIER: (35033..35046) \"char-foldcase\"\n ATMOSPHERE: (35046..35047) \" \"\n CONSTANT: (35047..35050)\n CHARACTER: (35047..35050) \"#\\a\"\n CLOSE_PAREN: (35050..35051) \")\"\n CLOSE_PAREN: (35051..35052) \")\"\n ATMOSPHERE: (35052..35053) \"\n\"\n FORM: (35053..35083)\n OPEN_PAREN: (35053..35054) \"(\"\n SYMBOL: (35054..35058)\n IDENTIFIER: (35054..35058) \"test\"\n ATMOSPHERE: (35058..35059) \" \"\n CONSTANT: (35059..35062)\n CHARACTER: (35059..35062) \"#\\a\"\n ATMOSPHERE: (35062..35063) \" \"\n FORM: (35063..35082)\n OPEN_PAREN: (35063..35064) \"(\"\n SYMBOL: (35064..35077)\n IDENTIFIER: (35064..35077) \"char-foldcase\"\n ATMOSPHERE: (35077..35078) \" \"\n CONSTANT: (35078..35081)\n CHARACTER: (35078..35081) \"#\\A\"\n CLOSE_PAREN: (35081..35082) \")\"\n CLOSE_PAREN: (35082..35083) \")\"\n ATMOSPHERE: (35083..35085) \"\n\n\"\n FORM: (35085..35113)\n OPEN_PAREN: (35085..35086) \"(\"\n SYMBOL: (35086..35090)\n IDENTIFIER: (35086..35090) \"test\"\n ATMOSPHERE: (35090..35091) \" \"\n CONSTANT: (35091..35094)\n CHARACTER: (35091..35094) \"#\\Λ\"\n ATMOSPHERE: (35094..35095) \" \"\n FORM: (35095..35112)\n OPEN_PAREN: (35095..35096) \"(\"\n SYMBOL: (35096..35107)\n IDENTIFIER: (35096..35107) \"char-upcase\"\n ATMOSPHERE: (35107..35108) \" \"\n CONSTANT: (35108..35111)\n CHARACTER: (35108..35111) \"#\\λ\"\n CLOSE_PAREN: (35111..35112) \")\"\n CLOSE_PAREN: (35112..35113) \")\"\n ATMOSPHERE: (35113..35114) \"\n\"\n FORM: (35114..35142)\n OPEN_PAREN: (35114..35115) \"(\"\n SYMBOL: (35115..35119)\n IDENTIFIER: (35115..35119) \"test\"\n ATMOSPHERE: (35119..35120) \" \"\n CONSTANT: (35120..35123)\n CHARACTER: (35120..35123) \"#\\Λ\"\n ATMOSPHERE: (35123..35124) \" \"\n FORM: (35124..35141)\n OPEN_PAREN: (35124..35125) \"(\"\n SYMBOL: (35125..35136)\n IDENTIFIER: (35125..35136) \"char-upcase\"\n ATMOSPHERE: (35136..35137) \" \"\n CONSTANT: (35137..35140)\n CHARACTER: (35137..35140) \"#\\Λ\"\n CLOSE_PAREN: (35140..35141) \")\"\n CLOSE_PAREN: (35141..35142) \")\"\n ATMOSPHERE: (35142..35143) \"\n\"\n FORM: (35143..35173)\n OPEN_PAREN: (35143..35144) \"(\"\n SYMBOL: (35144..35148)\n IDENTIFIER: (35144..35148) \"test\"\n ATMOSPHERE: (35148..35149) \" \"\n CONSTANT: (35149..35152)\n CHARACTER: (35149..35152) \"#\\λ\"\n ATMOSPHERE: (35152..35153) \" \"\n FORM: (35153..35172)\n OPEN_PAREN: (35153..35154) \"(\"\n SYMBOL: (35154..35167)\n IDENTIFIER: (35154..35167) \"char-downcase\"\n ATMOSPHERE: (35167..35168) \" \"\n CONSTANT: (35168..35171)\n CHARACTER: (35168..35171) \"#\\λ\"\n CLOSE_PAREN: (35171..35172) \")\"\n CLOSE_PAREN: (35172..35173) \")\"\n ATMOSPHERE: (35173..35174) \"\n\"\n FORM: (35174..35204)\n OPEN_PAREN: (35174..35175) \"(\"\n SYMBOL: (35175..35179)\n IDENTIFIER: (35175..35179) \"test\"\n ATMOSPHERE: (35179..35180) \" \"\n CONSTANT: (35180..35183)\n CHARACTER: (35180..35183) \"#\\λ\"\n ATMOSPHERE: (35183..35184) \" \"\n FORM: (35184..35203)\n OPEN_PAREN: (35184..35185) \"(\"\n SYMBOL: (35185..35198)\n IDENTIFIER: (35185..35198) \"char-downcase\"\n ATMOSPHERE: (35198..35199) \" \"\n CONSTANT: (35199..35202)\n CHARACTER: (35199..35202) \"#\\Λ\"\n CLOSE_PAREN: (35202..35203) \")\"\n CLOSE_PAREN: (35203..35204) \")\"\n ATMOSPHERE: (35204..35205) \"\n\"\n FORM: (35205..35235)\n OPEN_PAREN: (35205..35206) \"(\"\n SYMBOL: (35206..35210)\n IDENTIFIER: (35206..35210) \"test\"\n ATMOSPHERE: (35210..35211) \" \"\n CONSTANT: (35211..35214)\n CHARACTER: (35211..35214) \"#\\λ\"\n ATMOSPHERE: (35214..35215) \" \"\n FORM: (35215..35234)\n OPEN_PAREN: (35215..35216) \"(\"\n SYMBOL: (35216..35229)\n IDENTIFIER: (35216..35229) \"char-foldcase\"\n ATMOSPHERE: (35229..35230) \" \"\n CONSTANT: (35230..35233)\n CHARACTER: (35230..35233) \"#\\λ\"\n CLOSE_PAREN: (35233..35234) \")\"\n CLOSE_PAREN: (35234..35235) \")\"\n ATMOSPHERE: (35235..35236) \"\n\"\n FORM: (35236..35266)\n OPEN_PAREN: (35236..35237) \"(\"\n SYMBOL: (35237..35241)\n IDENTIFIER: (35237..35241) \"test\"\n ATMOSPHERE: (35241..35242) \" \"\n CONSTANT: (35242..35245)\n CHARACTER: (35242..35245) \"#\\λ\"\n ATMOSPHERE: (35245..35246) \" \"\n FORM: (35246..35265)\n OPEN_PAREN: (35246..35247) \"(\"\n SYMBOL: (35247..35260)\n IDENTIFIER: (35247..35260) \"char-foldcase\"\n ATMOSPHERE: (35260..35261) \" \"\n CONSTANT: (35261..35264)\n CHARACTER: (35261..35264) \"#\\Λ\"\n CLOSE_PAREN: (35264..35265) \")\"\n CLOSE_PAREN: (35265..35266) \")\"\n ATMOSPHERE: (35266..35268) \"\n\n\"\n FORM: (35268..35278)\n OPEN_PAREN: (35268..35269) \"(\"\n SYMBOL: (35269..35277)\n IDENTIFIER: (35269..35277) \"test-end\"\n CLOSE_PAREN: (35277..35278) \")\"\n ATMOSPHERE: (35278..35280) \"\n\n\"\n FORM: (35280..35306)\n OPEN_PAREN: (35280..35281) \"(\"\n SYMBOL: (35281..35291)\n IDENTIFIER: (35281..35291) \"test-begin\"\n ATMOSPHERE: (35291..35292) \" \"\n CONSTANT: (35292..35305)\n STRING: (35292..35305) \"\"6.7 Strings\"\"\n CLOSE_PAREN: (35305..35306) \")\"\n ATMOSPHERE: (35306..35308) \"\n\n\"\n ATMOSPHERE: (35308..35333) \";; (test #t (string? \"\"))\"\n ATMOSPHERE: (35333..35334) \"\n\"\n ATMOSPHERE: (35334..35360) \";; (test #t (string? \" \"))\"\n ATMOSPHERE: (35360..35361) \"\n\"\n ATMOSPHERE: (35361..35386) \";; (test #f (string? 'a))\"\n ATMOSPHERE: (35386..35387) \"\n\"\n ATMOSPHERE: (35387..35413) \";; (test #f (string? #\\a))\"\n ATMOSPHERE: (35413..35415) \"\n\n\"\n ATMOSPHERE: (35415..35458) \";; (test 3 (string-length (make-string 3)))\"\n ATMOSPHERE: (35458..35459) \"\n\"\n ATMOSPHERE: (35459..35494) \";; (test \"---\" (make-string 3 #\\-))\"\n ATMOSPHERE: (35494..35496) \"\n\n\"\n ATMOSPHERE: (35496..35517) \";; (test \"\" (string))\"\n ATMOSPHERE: (35517..35518) \"\n\"\n ATMOSPHERE: (35518..35554) \";; (test \"---\" (string #\\- #\\- #\\-))\"\n ATMOSPHERE: (35554..35555) \"\n\"\n ATMOSPHERE: (35555..35606) \";; (test \"kitten\" (string #\\k #\\i #\\t #\\t #\\e #\\n))\"\n ATMOSPHERE: (35606..35608) \"\n\n\"\n ATMOSPHERE: (35608..35638) \";; (test 0 (string-length \"\"))\"\n ATMOSPHERE: (35638..35639) \"\n\"\n ATMOSPHERE: (35639..35670) \";; (test 1 (string-length \"a\"))\"\n ATMOSPHERE: (35670..35671) \"\n\"\n ATMOSPHERE: (35671..35704) \";; (test 3 (string-length \"abc\"))\"\n ATMOSPHERE: (35704..35706) \"\n\n\"\n ATMOSPHERE: (35706..35740) \";; (test #\\a (string-ref \"abc\" 0))\"\n ATMOSPHERE: (35740..35741) \"\n\"\n ATMOSPHERE: (35741..35775) \";; (test #\\b (string-ref \"abc\" 1))\"\n ATMOSPHERE: (35775..35776) \"\n\"\n ATMOSPHERE: (35776..35810) \";; (test #\\c (string-ref \"abc\" 2))\"\n ATMOSPHERE: (35810..35812) \"\n\n\"\n ATMOSPHERE: (35812..35890) \";; (test \"a-c\" (let ((str (string #\\a #\\b #\\c))) (string-set! str 1 #\\-) str))\"\n ATMOSPHERE: (35890..35892) \"\n\n\"\n ATMOSPHERE: (35892..35926) \";; (test (string #\\a #\\x1F700 #\\c)\"\n ATMOSPHERE: (35926..35927) \"\n\"\n ATMOSPHERE: (35927..35965) \";; (let ((s (string #\\a #\\b #\\c)))\"\n ATMOSPHERE: (35965..35966) \"\n\"\n ATMOSPHERE: (35966..36001) \";; (string-set! s 1 #\\x1F700)\"\n ATMOSPHERE: (36001..36002) \"\n\"\n ATMOSPHERE: (36002..36014) \";; s))\"\n ATMOSPHERE: (36014..36016) \"\n\n\"\n ATMOSPHERE: (36016..36045) \";; (test #t (string=? \"\" \"\"))\"\n ATMOSPHERE: (36045..36046) \"\n\"\n ATMOSPHERE: (36046..36087) \";; (test #t (string=? \"abc\" \"abc\" \"abc\"))\"\n ATMOSPHERE: (36087..36088) \"\n\"\n ATMOSPHERE: (36088..36120) \";; (test #f (string=? \"\" \"abc\"))\"\n ATMOSPHERE: (36120..36121) \"\n\"\n ATMOSPHERE: (36121..36156) \";; (test #f (string=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (36156..36158) \"\n\n\"\n ATMOSPHERE: (36158..36187) \";; (test #f (string? \"\" \"\"))\"\n ATMOSPHERE: (36370..36371) \"\n\"\n ATMOSPHERE: (36371..36406) \";; (test #f (string>? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36406..36407) \"\n\"\n ATMOSPHERE: (36407..36443) \";; (test #f (string>? \"abc\" \"abcd\"))\"\n ATMOSPHERE: (36443..36444) \"\n\"\n ATMOSPHERE: (36444..36486) \";; (test #t (string>? \"acd\" \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36486..36487) \"\n\"\n ATMOSPHERE: (36487..36522) \";; (test #f (string>? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36522..36524) \"\n\n\"\n ATMOSPHERE: (36524..36554) \";; (test #t (string<=? \"\" \"\"))\"\n ATMOSPHERE: (36554..36555) \"\n\"\n ATMOSPHERE: (36555..36591) \";; (test #t (string<=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36591..36592) \"\n\"\n ATMOSPHERE: (36592..36636) \";; (test #t (string<=? \"abc\" \"abcd\" \"abcd\"))\"\n ATMOSPHERE: (36636..36637) \"\n\"\n ATMOSPHERE: (36637..36674) \";; (test #f (string<=? \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36674..36675) \"\n\"\n ATMOSPHERE: (36675..36711) \";; (test #t (string<=? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36711..36713) \"\n\n\"\n ATMOSPHERE: (36713..36743) \";; (test #t (string>=? \"\" \"\"))\"\n ATMOSPHERE: (36743..36744) \"\n\"\n ATMOSPHERE: (36744..36780) \";; (test #t (string>=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36780..36781) \"\n\"\n ATMOSPHERE: (36781..36818) \";; (test #f (string>=? \"abc\" \"abcd\"))\"\n ATMOSPHERE: (36818..36819) \"\n\"\n ATMOSPHERE: (36819..36863) \";; (test #t (string>=? \"abcd\" \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36863..36864) \"\n\"\n ATMOSPHERE: (36864..36900) \";; (test #f (string>=? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36900..36902) \"\n\n\"\n ATMOSPHERE: (36902..36934) \";; (test #t (string-ci=? \"\" \"\"))\"\n ATMOSPHERE: (36934..36935) \"\n\"\n ATMOSPHERE: (36935..36973) \";; (test #t (string-ci=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36973..36974) \"\n\"\n ATMOSPHERE: (36974..37009) \";; (test #f (string-ci=? \"\" \"abc\"))\"\n ATMOSPHERE: (37009..37010) \"\n\"\n ATMOSPHERE: (37010..37048) \";; (test #t (string-ci=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37048..37049) \"\n\"\n ATMOSPHERE: (37049..37088) \";; (test #f (string-ci=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37088..37090) \"\n\n\"\n ATMOSPHERE: (37090..37128) \";; (test #f (string-ci? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37248..37249) \"\n\"\n ATMOSPHERE: (37249..37288) \";; (test #f (string-ci>? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37288..37289) \"\n\"\n ATMOSPHERE: (37289..37328) \";; (test #t (string-ci>? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37328..37330) \"\n\n\"\n ATMOSPHERE: (37330..37369) \";; (test #t (string-ci<=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37369..37370) \"\n\"\n ATMOSPHERE: (37370..37410) \";; (test #t (string-ci<=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37410..37411) \"\n\"\n ATMOSPHERE: (37411..37451) \";; (test #f (string-ci<=? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37451..37453) \"\n\n\"\n ATMOSPHERE: (37453..37492) \";; (test #t (string-ci>=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37492..37493) \"\n\"\n ATMOSPHERE: (37493..37533) \";; (test #f (string-ci>=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37533..37534) \"\n\"\n ATMOSPHERE: (37534..37574) \";; (test #t (string-ci>=? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37574..37576) \"\n\n\"\n ATMOSPHERE: (37576..37620) \";; (test #t (string-ci=? \"ΑΒΓ\" \"αβγ\" \"αβγ\"))\"\n ATMOSPHERE: (37620..37621) \"\n\"\n ATMOSPHERE: (37621..37659) \";; (test #f (string-ci? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37698..37699) \"\n\"\n ATMOSPHERE: (37699..37738) \";; (test #t (string-ci<=? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37738..37739) \"\n\"\n ATMOSPHERE: (37739..37778) \";; (test #t (string-ci>=? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37778..37780) \"\n\n\"\n ATMOSPHERE: (37780..37791) \";; ;; latin\"\n ATMOSPHERE: (37791..37792) \"\n\"\n ATMOSPHERE: (37792..37829) \";; (test \"ABC\" (string-upcase \"abc\"))\"\n ATMOSPHERE: (37829..37830) \"\n\"\n ATMOSPHERE: (37830..37867) \";; (test \"ABC\" (string-upcase \"ABC\"))\"\n ATMOSPHERE: (37867..37868) \"\n\"\n ATMOSPHERE: (37868..37907) \";; (test \"abc\" (string-downcase \"abc\"))\"\n ATMOSPHERE: (37907..37908) \"\n\"\n ATMOSPHERE: (37908..37947) \";; (test \"abc\" (string-downcase \"ABC\"))\"\n ATMOSPHERE: (37947..37948) \"\n\"\n ATMOSPHERE: (37948..37987) \";; (test \"abc\" (string-foldcase \"abc\"))\"\n ATMOSPHERE: (37987..37988) \"\n\"\n ATMOSPHERE: (37988..38027) \";; (test \"abc\" (string-foldcase \"ABC\"))\"\n ATMOSPHERE: (38027..38029) \"\n\n\"\n ATMOSPHERE: (38029..38043) \";; ;; cyrillic\"\n ATMOSPHERE: (38043..38044) \"\n\"\n ATMOSPHERE: (38044..38081) \";; (test \"ΑΒΓ\" (string-upcase \"αβγ\"))\"\n ATMOSPHERE: (38081..38082) \"\n\"\n ATMOSPHERE: (38082..38119) \";; (test \"ΑΒΓ\" (string-upcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38119..38120) \"\n\"\n ATMOSPHERE: (38120..38159) \";; (test \"αβγ\" (string-downcase \"αβγ\"))\"\n ATMOSPHERE: (38159..38160) \"\n\"\n ATMOSPHERE: (38160..38199) \";; (test \"αβγ\" (string-downcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38199..38200) \"\n\"\n ATMOSPHERE: (38200..38239) \";; (test \"αβγ\" (string-foldcase \"αβγ\"))\"\n ATMOSPHERE: (38239..38240) \"\n\"\n ATMOSPHERE: (38240..38279) \";; (test \"αβγ\" (string-foldcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38279..38281) \"\n\n\"\n ATMOSPHERE: (38281..38300) \";; ;; special cases\"\n ATMOSPHERE: (38300..38301) \"\n\"\n ATMOSPHERE: (38301..38337) \";; (test \"SSA\" (string-upcase \"ßa\"))\"\n ATMOSPHERE: (38337..38338) \"\n\"\n ATMOSPHERE: (38338..38375) \";; (test \"ßa\" (string-downcase \"ßa\"))\"\n ATMOSPHERE: (38375..38376) \"\n\"\n ATMOSPHERE: (38376..38415) \";; (test \"ssa\" (string-downcase \"SSA\"))\"\n ATMOSPHERE: (38415..38416) \"\n\"\n ATMOSPHERE: (38416..38455) \";; (test \"maß\" (string-downcase \"Maß\"))\"\n ATMOSPHERE: (38455..38456) \"\n\"\n ATMOSPHERE: (38456..38496) \";; (test \"mass\" (string-foldcase \"Maß\"))\"\n ATMOSPHERE: (38496..38497) \"\n\"\n ATMOSPHERE: (38497..38530) \";; (test \"İ\" (string-upcase \"İ\"))\"\n ATMOSPHERE: (38530..38531) \"\n\"\n ATMOSPHERE: (38531..38573) \";; (test \"i\\x0307;\" (string-downcase \"İ\"))\"\n ATMOSPHERE: (38573..38574) \"\n\"\n ATMOSPHERE: (38574..38616) \";; (test \"i\\x0307;\" (string-foldcase \"İ\"))\"\n ATMOSPHERE: (38616..38617) \"\n\"\n ATMOSPHERE: (38617..38651) \";; (test \"J̌\" (string-upcase \"ǰ\"))\"\n ATMOSPHERE: (38651..38652) \"\n\"\n ATMOSPHERE: (38652..38687) \";; (test \"ſ\" (string-downcase \"ſ\"))\"\n ATMOSPHERE: (38687..38688) \"\n\"\n ATMOSPHERE: (38688..38723) \";; (test \"s\" (string-foldcase \"ſ\"))\"\n ATMOSPHERE: (38723..38725) \"\n\n\"\n ATMOSPHERE: (38725..38762) \";; ;; context-sensitive (final sigma)\"\n ATMOSPHERE: (38762..38763) \"\n\"\n ATMOSPHERE: (38763..38806) \";; (test \"ΓΛΏΣΣΑ\" (string-upcase \"γλώσσα\"))\"\n ATMOSPHERE: (38806..38807) \"\n\"\n ATMOSPHERE: (38807..38852) \";; (test \"γλώσσα\" (string-downcase \"ΓΛΏΣΣΑ\"))\"\n ATMOSPHERE: (38852..38853) \"\n\"\n ATMOSPHERE: (38853..38898) \";; (test \"γλώσσα\" (string-foldcase \"ΓΛΏΣΣΑ\"))\"\n ATMOSPHERE: (38898..38899) \"\n\"\n ATMOSPHERE: (38899..38940) \";; (test \"ΜΈΛΟΣ\" (string-upcase \"μέλος\"))\"\n ATMOSPHERE: (38940..38941) \"\n\"\n ATMOSPHERE: (38941..39016) \";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ\") '(\"μέλος\" \"μέλοσ\")) #t))\"\n ATMOSPHERE: (39016..39017) \"\n\"\n ATMOSPHERE: (39017..39060) \";; (test \"μέλοσ\" (string-foldcase \"ΜΈΛΟΣ\"))\"\n ATMOSPHERE: (39060..39061) \"\n\"\n ATMOSPHERE: (39061..39116) \";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ ΕΝΌΣ\")\"\n ATMOSPHERE: (39116..39117) \"\n\"\n ATMOSPHERE: (39117..39171) \";; '(\"μέλος ενός\" \"μέλοσ ενόσ\"))\"\n ATMOSPHERE: (39171..39172) \"\n\"\n ATMOSPHERE: (39172..39193) \";; #t))\"\n ATMOSPHERE: (39193..39195) \"\n\n\"\n ATMOSPHERE: (39195..39226) \";; (test \"\" (substring \"\" 0 0))\"\n ATMOSPHERE: (39226..39227) \"\n\"\n ATMOSPHERE: (39227..39259) \";; (test \"\" (substring \"a\" 0 0))\"\n ATMOSPHERE: (39259..39260) \"\n\"\n ATMOSPHERE: (39260..39294) \";; (test \"\" (substring \"abc\" 1 1))\"\n ATMOSPHERE: (39294..39295) \"\n\"\n ATMOSPHERE: (39295..39331) \";; (test \"ab\" (substring \"abc\" 0 2))\"\n ATMOSPHERE: (39331..39332) \"\n\"\n ATMOSPHERE: (39332..39368) \";; (test \"bc\" (substring \"abc\" 1 3))\"\n ATMOSPHERE: (39368..39370) \"\n\n\"\n FORM: (39370..39398)\n OPEN_PAREN: (39370..39371) \"(\"\n SYMBOL: (39371..39375)\n IDENTIFIER: (39371..39375) \"test\"\n ATMOSPHERE: (39375..39376) \" \"\n CONSTANT: (39376..39378)\n STRING: (39376..39378) \"\"\"\"\n ATMOSPHERE: (39378..39379) \" \"\n FORM: (39379..39397)\n OPEN_PAREN: (39379..39380) \"(\"\n SYMBOL: (39380..39393)\n IDENTIFIER: (39380..39393) \"string-append\"\n ATMOSPHERE: (39393..39394) \" \"\n CONSTANT: (39394..39396)\n STRING: (39394..39396) \"\"\"\"\n CLOSE_PAREN: (39396..39397) \")\"\n CLOSE_PAREN: (39397..39398) \")\"\n ATMOSPHERE: (39398..39399) \"\n\"\n FORM: (39399..39430)\n OPEN_PAREN: (39399..39400) \"(\"\n SYMBOL: (39400..39404)\n IDENTIFIER: (39400..39404) \"test\"\n ATMOSPHERE: (39404..39405) \" \"\n CONSTANT: (39405..39407)\n STRING: (39405..39407) \"\"\"\"\n ATMOSPHERE: (39407..39408) \" \"\n FORM: (39408..39429)\n OPEN_PAREN: (39408..39409) \"(\"\n SYMBOL: (39409..39422)\n IDENTIFIER: (39409..39422) \"string-append\"\n ATMOSPHERE: (39422..39423) \" \"\n CONSTANT: (39423..39425)\n STRING: (39423..39425) \"\"\"\"\n ATMOSPHERE: (39425..39426) \" \"\n CONSTANT: (39426..39428)\n STRING: (39426..39428) \"\"\"\"\n CLOSE_PAREN: (39428..39429) \")\"\n CLOSE_PAREN: (39429..39430) \")\"\n ATMOSPHERE: (39430..39431) \"\n\"\n FORM: (39431..39468)\n OPEN_PAREN: (39431..39432) \"(\"\n SYMBOL: (39432..39436)\n IDENTIFIER: (39432..39436) \"test\"\n ATMOSPHERE: (39436..39437) \" \"\n CONSTANT: (39437..39442)\n STRING: (39437..39442) \"\"abc\"\"\n ATMOSPHERE: (39442..39443) \" \"\n FORM: (39443..39467)\n OPEN_PAREN: (39443..39444) \"(\"\n SYMBOL: (39444..39457)\n IDENTIFIER: (39444..39457) \"string-append\"\n ATMOSPHERE: (39457..39458) \" \"\n CONSTANT: (39458..39460)\n STRING: (39458..39460) \"\"\"\"\n ATMOSPHERE: (39460..39461) \" \"\n CONSTANT: (39461..39466)\n STRING: (39461..39466) \"\"abc\"\"\n CLOSE_PAREN: (39466..39467) \")\"\n CLOSE_PAREN: (39467..39468) \")\"\n ATMOSPHERE: (39468..39469) \"\n\"\n FORM: (39469..39506)\n OPEN_PAREN: (39469..39470) \"(\"\n SYMBOL: (39470..39474)\n IDENTIFIER: (39470..39474) \"test\"\n ATMOSPHERE: (39474..39475) \" \"\n CONSTANT: (39475..39480)\n STRING: (39475..39480) \"\"abc\"\"\n ATMOSPHERE: (39480..39481) \" \"\n FORM: (39481..39505)\n OPEN_PAREN: (39481..39482) \"(\"\n SYMBOL: (39482..39495)\n IDENTIFIER: (39482..39495) \"string-append\"\n ATMOSPHERE: (39495..39496) \" \"\n CONSTANT: (39496..39501)\n STRING: (39496..39501) \"\"abc\"\"\n ATMOSPHERE: (39501..39502) \" \"\n CONSTANT: (39502..39504)\n STRING: (39502..39504) \"\"\"\"\n CLOSE_PAREN: (39504..39505) \")\"\n CLOSE_PAREN: (39505..39506) \")\"\n ATMOSPHERE: (39506..39507) \"\n\"\n FORM: (39507..39548)\n OPEN_PAREN: (39507..39508) \"(\"\n SYMBOL: (39508..39512)\n IDENTIFIER: (39508..39512) \"test\"\n ATMOSPHERE: (39512..39513) \" \"\n CONSTANT: (39513..39520)\n STRING: (39513..39520) \"\"abcde\"\"\n ATMOSPHERE: (39520..39521) \" \"\n FORM: (39521..39547)\n OPEN_PAREN: (39521..39522) \"(\"\n SYMBOL: (39522..39535)\n IDENTIFIER: (39522..39535) \"string-append\"\n ATMOSPHERE: (39535..39536) \" \"\n CONSTANT: (39536..39541)\n STRING: (39536..39541) \"\"abc\"\"\n ATMOSPHERE: (39541..39542) \" \"\n CONSTANT: (39542..39546)\n STRING: (39542..39546) \"\"de\"\"\n CLOSE_PAREN: (39546..39547) \")\"\n CLOSE_PAREN: (39547..39548) \")\"\n ATMOSPHERE: (39548..39549) \"\n\"\n FORM: (39549..39595)\n OPEN_PAREN: (39549..39550) \"(\"\n SYMBOL: (39550..39554)\n IDENTIFIER: (39550..39554) \"test\"\n ATMOSPHERE: (39554..39555) \" \"\n CONSTANT: (39555..39563)\n STRING: (39555..39563) \"\"abcdef\"\"\n ATMOSPHERE: (39563..39564) \" \"\n FORM: (39564..39594)\n OPEN_PAREN: (39564..39565) \"(\"\n SYMBOL: (39565..39578)\n IDENTIFIER: (39565..39578) \"string-append\"\n ATMOSPHERE: (39578..39579) \" \"\n CONSTANT: (39579..39584)\n STRING: (39579..39584) \"\"abc\"\"\n ATMOSPHERE: (39584..39585) \" \"\n CONSTANT: (39585..39589)\n STRING: (39585..39589) \"\"de\"\"\n ATMOSPHERE: (39589..39590) \" \"\n CONSTANT: (39590..39593)\n STRING: (39590..39593) \"\"f\"\"\n CLOSE_PAREN: (39593..39594) \")\"\n CLOSE_PAREN: (39594..39595) \")\"\n ATMOSPHERE: (39595..39597) \"\n\n\"\n ATMOSPHERE: (39597..39628) \";; (test '() (string->list \"\"))\"\n ATMOSPHERE: (39628..39629) \"\n\"\n ATMOSPHERE: (39629..39664) \";; (test '(#\\a) (string->list \"a\"))\"\n ATMOSPHERE: (39664..39665) \"\n\"\n ATMOSPHERE: (39665..39710) \";; (test '(#\\a #\\b #\\c) (string->list \"abc\"))\"\n ATMOSPHERE: (39710..39711) \"\n\"\n ATMOSPHERE: (39711..39758) \";; (test '(#\\a #\\b #\\c) (string->list \"abc\" 0))\"\n ATMOSPHERE: (39758..39759) \"\n\"\n ATMOSPHERE: (39759..39802) \";; (test '(#\\b #\\c) (string->list \"abc\" 1))\"\n ATMOSPHERE: (39802..39803) \"\n\"\n ATMOSPHERE: (39803..39848) \";; (test '(#\\b #\\c) (string->list \"abc\" 1 3))\"\n ATMOSPHERE: (39848..39850) \"\n\n\"\n ATMOSPHERE: (39850..39881) \";; (test \"\" (list->string '()))\"\n ATMOSPHERE: (39881..39882) \"\n\"\n ATMOSPHERE: (39882..39927) \";; (test \"abc\" (list->string '(#\\a #\\b #\\c)))\"\n ATMOSPHERE: (39927..39929) \"\n\n\"\n ATMOSPHERE: (39929..39958) \";; (test \"\" (string-copy \"\"))\"\n ATMOSPHERE: (39958..39959) \"\n\"\n ATMOSPHERE: (39959..39990) \";; (test \"\" (string-copy \"\" 0))\"\n ATMOSPHERE: (39990..39991) \"\n\"\n ATMOSPHERE: (39991..40024) \";; (test \"\" (string-copy \"\" 0 0))\"\n ATMOSPHERE: (40024..40025) \"\n\"\n ATMOSPHERE: (40025..40060) \";; (test \"abc\" (string-copy \"abc\"))\"\n ATMOSPHERE: (40060..40061) \"\n\"\n ATMOSPHERE: (40061..40098) \";; (test \"abc\" (string-copy \"abc\" 0))\"\n ATMOSPHERE: (40098..40099) \"\n\"\n ATMOSPHERE: (40099..40135) \";; (test \"bc\" (string-copy \"abc\" 1))\"\n ATMOSPHERE: (40135..40136) \"\n\"\n ATMOSPHERE: (40136..40173) \";; (test \"b\" (string-copy \"abc\" 1 2))\"\n ATMOSPHERE: (40173..40174) \"\n\"\n ATMOSPHERE: (40174..40212) \";; (test \"bc\" (string-copy \"abc\" 1 3))\"\n ATMOSPHERE: (40212..40214) \"\n\n\"\n ATMOSPHERE: (40214..40230) \";; (test \"-----\"\"\n ATMOSPHERE: (40230..40231) \"\n\"\n ATMOSPHERE: (40231..40299) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\-) str))\"\n ATMOSPHERE: (40299..40300) \"\n\"\n ATMOSPHERE: (40300..40316) \";; (test \"xx---\"\"\n ATMOSPHERE: (40316..40317) \"\n\"\n ATMOSPHERE: (40317..40387) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2) str))\"\n ATMOSPHERE: (40387..40388) \"\n\"\n ATMOSPHERE: (40388..40404) \";; (test \"xx-xx\"\"\n ATMOSPHERE: (40404..40405) \"\n\"\n ATMOSPHERE: (40405..40477) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2 3) str))\"\n ATMOSPHERE: (40477..40479) \"\n\n\"\n ATMOSPHERE: (40479..40495) \";; (test \"a12de\"\"\n ATMOSPHERE: (40495..40496) \"\n\"\n ATMOSPHERE: (40496..40576) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 \"12345\" 0 2) str))\"\n ATMOSPHERE: (40576..40577) \"\n\"\n ATMOSPHERE: (40577..40593) \";; (test \"-----\"\"\n ATMOSPHERE: (40593..40594) \"\n\"\n ATMOSPHERE: (40594..40668) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\") str))\"\n ATMOSPHERE: (40668..40669) \"\n\"\n ATMOSPHERE: (40669..40685) \";; (test \"---xx\"\"\n ATMOSPHERE: (40685..40686) \"\n\"\n ATMOSPHERE: (40686..40762) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\" 2) str))\"\n ATMOSPHERE: (40762..40763) \"\n\"\n ATMOSPHERE: (40763..40779) \";; (test \"xx---\"\"\n ATMOSPHERE: (40779..40780) \"\n\"\n ATMOSPHERE: (40780..40858) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 0 3) str))\"\n ATMOSPHERE: (40858..40859) \"\n\"\n ATMOSPHERE: (40859..40875) \";; (test \"xx-xx\"\"\n ATMOSPHERE: (40875..40876) \"\n\"\n ATMOSPHERE: (40876..40954) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 2 3) str))\"\n ATMOSPHERE: (40954..40956) \"\n\n\"\n ATMOSPHERE: (40956..40982) \";; ;; same source and dest\"\n ATMOSPHERE: (40982..40983) \"\n\"\n ATMOSPHERE: (40983..40999) \";; (test \"aabde\"\"\n ATMOSPHERE: (40999..41000) \"\n\"\n ATMOSPHERE: (41000..41076) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 str 0 2) str))\"\n ATMOSPHERE: (41076..41077) \"\n\"\n ATMOSPHERE: (41077..41093) \";; (test \"abcab\"\"\n ATMOSPHERE: (41093..41094) \"\n\"\n ATMOSPHERE: (41094..41170) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 3 str 0 2) str))\"\n ATMOSPHERE: (41170..41172) \"\n\n\"\n FORM: (41172..41182)\n OPEN_PAREN: (41172..41173) \"(\"\n SYMBOL: (41173..41181)\n IDENTIFIER: (41173..41181) \"test-end\"\n CLOSE_PAREN: (41181..41182) \")\"\n ATMOSPHERE: (41182..41184) \"\n\n\"\n FORM: (41184..41210)\n OPEN_PAREN: (41184..41185) \"(\"\n SYMBOL: (41185..41195)\n IDENTIFIER: (41185..41195) \"test-begin\"\n ATMOSPHERE: (41195..41196) \" \"\n CONSTANT: (41196..41209)\n STRING: (41196..41209) \"\"6.8 Vectors\"\"\n CLOSE_PAREN: (41209..41210) \")\"\n ATMOSPHERE: (41210..41212) \"\n\n\"\n FORM: (41212..41235)\n OPEN_PAREN: (41212..41213) \"(\"\n SYMBOL: (41213..41217)\n IDENTIFIER: (41213..41217) \"test\"\n ATMOSPHERE: (41217..41218) \" \"\n CONSTANT: (41218..41220)\n BOOLEAN: (41218..41220) \"#t\"\n ATMOSPHERE: (41220..41221) \" \"\n FORM: (41221..41234)\n OPEN_PAREN: (41221..41222) \"(\"\n SYMBOL: (41222..41229)\n IDENTIFIER: (41222..41229) \"vector?\"\n ATMOSPHERE: (41229..41230) \" \"\n VEC: (41230..41233)\n OPEN_PAREN: (41230..41232) \"#(\"\n CLOSE_PAREN: (41232..41233) \")\"\n CLOSE_PAREN: (41233..41234) \")\"\n CLOSE_PAREN: (41234..41235) \")\"\n ATMOSPHERE: (41235..41236) \"\n\"\n FORM: (41236..41264)\n OPEN_PAREN: (41236..41237) \"(\"\n SYMBOL: (41237..41241)\n IDENTIFIER: (41237..41241) \"test\"\n ATMOSPHERE: (41241..41242) \" \"\n CONSTANT: (41242..41244)\n BOOLEAN: (41242..41244) \"#t\"\n ATMOSPHERE: (41244..41245) \" \"\n FORM: (41245..41263)\n OPEN_PAREN: (41245..41246) \"(\"\n SYMBOL: (41246..41253)\n IDENTIFIER: (41246..41253) \"vector?\"\n ATMOSPHERE: (41253..41254) \" \"\n VEC: (41254..41262)\n OPEN_PAREN: (41254..41256) \"#(\"\n CONSTANT: (41256..41257)\n NUMBER: (41256..41257) \"1\"\n ATMOSPHERE: (41257..41258) \" \"\n CONSTANT: (41258..41259)\n NUMBER: (41258..41259) \"2\"\n ATMOSPHERE: (41259..41260) \" \"\n CONSTANT: (41260..41261)\n NUMBER: (41260..41261) \"3\"\n CLOSE_PAREN: (41261..41262) \")\"\n CLOSE_PAREN: (41262..41263) \")\"\n CLOSE_PAREN: (41263..41264) \")\"\n ATMOSPHERE: (41264..41265) \"\n\"\n FORM: (41265..41294)\n OPEN_PAREN: (41265..41266) \"(\"\n SYMBOL: (41266..41270)\n IDENTIFIER: (41266..41270) \"test\"\n ATMOSPHERE: (41270..41271) \" \"\n CONSTANT: (41271..41273)\n BOOLEAN: (41271..41273) \"#t\"\n ATMOSPHERE: (41273..41274) \" \"\n FORM: (41274..41293)\n OPEN_PAREN: (41274..41275) \"(\"\n SYMBOL: (41275..41282)\n IDENTIFIER: (41275..41282) \"vector?\"\n ATMOSPHERE: (41282..41283) \" \"\n QUOTED_DATUM: (41283..41292)\n QUOTE: (41283..41284) \"'\"\n VEC: (41284..41292)\n OPEN_PAREN: (41284..41286) \"#(\"\n CONSTANT: (41286..41287)\n NUMBER: (41286..41287) \"1\"\n ATMOSPHERE: (41287..41288) \" \"\n CONSTANT: (41288..41289)\n NUMBER: (41288..41289) \"2\"\n ATMOSPHERE: (41289..41290) \" \"\n CONSTANT: (41290..41291)\n NUMBER: (41290..41291) \"3\"\n CLOSE_PAREN: (41291..41292) \")\"\n CLOSE_PAREN: (41292..41293) \")\"\n CLOSE_PAREN: (41293..41294) \")\"\n ATMOSPHERE: (41294..41296) \"\n\n\"\n FORM: (41296..41336)\n OPEN_PAREN: (41296..41297) \"(\"\n SYMBOL: (41297..41301)\n IDENTIFIER: (41297..41301) \"test\"\n ATMOSPHERE: (41301..41302) \" \"\n CONSTANT: (41302..41303)\n NUMBER: (41302..41303) \"0\"\n ATMOSPHERE: (41303..41304) \" \"\n FORM: (41304..41335)\n OPEN_PAREN: (41304..41305) \"(\"\n SYMBOL: (41305..41318)\n IDENTIFIER: (41305..41318) \"vector-length\"\n ATMOSPHERE: (41318..41319) \" \"\n FORM: (41319..41334)\n OPEN_PAREN: (41319..41320) \"(\"\n SYMBOL: (41320..41331)\n IDENTIFIER: (41320..41331) \"make-vector\"\n ATMOSPHERE: (41331..41332) \" \"\n CONSTANT: (41332..41333)\n NUMBER: (41332..41333) \"0\"\n CLOSE_PAREN: (41333..41334) \")\"\n CLOSE_PAREN: (41334..41335) \")\"\n CLOSE_PAREN: (41335..41336) \")\"\n ATMOSPHERE: (41336..41337) \"\n\"\n FORM: (41337..41383)\n OPEN_PAREN: (41337..41338) \"(\"\n SYMBOL: (41338..41342)\n IDENTIFIER: (41338..41342) \"test\"\n ATMOSPHERE: (41342..41343) \" \"\n CONSTANT: (41343..41347)\n NUMBER: (41343..41347) \"1000\"\n ATMOSPHERE: (41347..41348) \" \"\n FORM: (41348..41382)\n OPEN_PAREN: (41348..41349) \"(\"\n SYMBOL: (41349..41362)\n IDENTIFIER: (41349..41362) \"vector-length\"\n ATMOSPHERE: (41362..41363) \" \"\n FORM: (41363..41381)\n OPEN_PAREN: (41363..41364) \"(\"\n SYMBOL: (41364..41375)\n IDENTIFIER: (41364..41375) \"make-vector\"\n ATMOSPHERE: (41375..41376) \" \"\n CONSTANT: (41376..41380)\n NUMBER: (41376..41380) \"1000\"\n CLOSE_PAREN: (41380..41381) \")\"\n CLOSE_PAREN: (41381..41382) \")\"\n CLOSE_PAREN: (41382..41383) \")\"\n ATMOSPHERE: (41383..41385) \"\n\n\"\n FORM: (41385..41436)\n OPEN_PAREN: (41385..41386) \"(\"\n SYMBOL: (41386..41390)\n IDENTIFIER: (41386..41390) \"test\"\n ATMOSPHERE: (41390..41391) \" \"\n VEC: (41391..41412)\n OPEN_PAREN: (41391..41393) \"#(\"\n CONSTANT: (41393..41394)\n NUMBER: (41393..41394) \"0\"\n ATMOSPHERE: (41394..41395) \" \"\n FORM: (41395..41404)\n OPEN_PAREN: (41395..41396) \"(\"\n CONSTANT: (41396..41397)\n NUMBER: (41396..41397) \"2\"\n ATMOSPHERE: (41397..41398) \" \"\n CONSTANT: (41398..41399)\n NUMBER: (41398..41399) \"2\"\n ATMOSPHERE: (41399..41400) \" \"\n CONSTANT: (41400..41401)\n NUMBER: (41400..41401) \"2\"\n ATMOSPHERE: (41401..41402) \" \"\n CONSTANT: (41402..41403)\n NUMBER: (41402..41403) \"2\"\n CLOSE_PAREN: (41403..41404) \")\"\n ATMOSPHERE: (41404..41405) \" \"\n CONSTANT: (41405..41411)\n STRING: (41405..41411) \"\"Anna\"\"\n CLOSE_PAREN: (41411..41412) \")\"\n ATMOSPHERE: (41412..41413) \" \"\n QUOTED_DATUM: (41413..41435)\n QUOTE: (41413..41414) \"'\"\n VEC: (41414..41435)\n OPEN_PAREN: (41414..41416) \"#(\"\n CONSTANT: (41416..41417)\n NUMBER: (41416..41417) \"0\"\n ATMOSPHERE: (41417..41418) \" \"\n FORM: (41418..41427)\n OPEN_PAREN: (41418..41419) \"(\"\n CONSTANT: (41419..41420)\n NUMBER: (41419..41420) \"2\"\n ATMOSPHERE: (41420..41421) \" \"\n CONSTANT: (41421..41422)\n NUMBER: (41421..41422) \"2\"\n ATMOSPHERE: (41422..41423) \" \"\n CONSTANT: (41423..41424)\n NUMBER: (41423..41424) \"2\"\n ATMOSPHERE: (41424..41425) \" \"\n CONSTANT: (41425..41426)\n NUMBER: (41425..41426) \"2\"\n CLOSE_PAREN: (41426..41427) \")\"\n ATMOSPHERE: (41427..41428) \" \"\n CONSTANT: (41428..41434)\n STRING: (41428..41434) \"\"Anna\"\"\n CLOSE_PAREN: (41434..41435) \")\"\n CLOSE_PAREN: (41435..41436) \")\"\n ATMOSPHERE: (41436..41438) \"\n\n\"\n FORM: (41438..41471)\n OPEN_PAREN: (41438..41439) \"(\"\n SYMBOL: (41439..41443)\n IDENTIFIER: (41439..41443) \"test\"\n ATMOSPHERE: (41443..41444) \" \"\n VEC: (41444..41452)\n OPEN_PAREN: (41444..41446) \"#(\"\n SYMBOL: (41446..41447)\n IDENTIFIER: (41446..41447) \"a\"\n ATMOSPHERE: (41447..41448) \" \"\n SYMBOL: (41448..41449)\n IDENTIFIER: (41448..41449) \"b\"\n ATMOSPHERE: (41449..41450) \" \"\n SYMBOL: (41450..41451)\n IDENTIFIER: (41450..41451) \"c\"\n CLOSE_PAREN: (41451..41452) \")\"\n ATMOSPHERE: (41452..41453) \" \"\n FORM: (41453..41470)\n OPEN_PAREN: (41453..41454) \"(\"\n SYMBOL: (41454..41460)\n IDENTIFIER: (41454..41460) \"vector\"\n ATMOSPHERE: (41460..41461) \" \"\n QUOTED_DATUM: (41461..41464)\n QUOTE: (41461..41462) \"'\"\n SYMBOL: (41462..41463)\n IDENTIFIER: (41462..41463) \"a\"\n ATMOSPHERE: (41463..41464) \" \"\n QUOTED_DATUM: (41464..41467)\n QUOTE: (41464..41465) \"'\"\n SYMBOL: (41465..41466)\n IDENTIFIER: (41465..41466) \"b\"\n ATMOSPHERE: (41466..41467) \" \"\n QUOTED_DATUM: (41467..41469)\n QUOTE: (41467..41468) \"'\"\n SYMBOL: (41468..41469)\n IDENTIFIER: (41468..41469) \"c\"\n CLOSE_PAREN: (41469..41470) \")\"\n CLOSE_PAREN: (41470..41471) \")\"\n ATMOSPHERE: (41471..41473) \"\n\n\"\n FORM: (41473..41518)\n OPEN_PAREN: (41473..41474) \"(\"\n SYMBOL: (41474..41478)\n IDENTIFIER: (41474..41478) \"test\"\n ATMOSPHERE: (41478..41479) \" \"\n CONSTANT: (41479..41480)\n NUMBER: (41479..41480) \"8\"\n ATMOSPHERE: (41480..41481) \" \"\n FORM: (41481..41517)\n OPEN_PAREN: (41481..41482) \"(\"\n SYMBOL: (41482..41492)\n IDENTIFIER: (41482..41492) \"vector-ref\"\n ATMOSPHERE: (41492..41493) \" \"\n QUOTED_DATUM: (41493..41515)\n QUOTE: (41493..41494) \"'\"\n VEC: (41494..41514)\n OPEN_PAREN: (41494..41496) \"#(\"\n CONSTANT: (41496..41497)\n NUMBER: (41496..41497) \"1\"\n ATMOSPHERE: (41497..41498) \" \"\n CONSTANT: (41498..41499)\n NUMBER: (41498..41499) \"1\"\n ATMOSPHERE: (41499..41500) \" \"\n CONSTANT: (41500..41501)\n NUMBER: (41500..41501) \"2\"\n ATMOSPHERE: (41501..41502) \" \"\n CONSTANT: (41502..41503)\n NUMBER: (41502..41503) \"3\"\n ATMOSPHERE: (41503..41504) \" \"\n CONSTANT: (41504..41505)\n NUMBER: (41504..41505) \"5\"\n ATMOSPHERE: (41505..41506) \" \"\n CONSTANT: (41506..41507)\n NUMBER: (41506..41507) \"8\"\n ATMOSPHERE: (41507..41508) \" \"\n CONSTANT: (41508..41510)\n NUMBER: (41508..41510) \"13\"\n ATMOSPHERE: (41510..41511) \" \"\n CONSTANT: (41511..41513)\n NUMBER: (41511..41513) \"21\"\n CLOSE_PAREN: (41513..41514) \")\"\n ATMOSPHERE: (41514..41515) \" \"\n CONSTANT: (41515..41516)\n NUMBER: (41515..41516) \"5\"\n CLOSE_PAREN: (41516..41517) \")\"\n CLOSE_PAREN: (41517..41518) \")\"\n ATMOSPHERE: (41518..41519) \"\n\"\n ATMOSPHERE: (41519..41564) \";; (test 13 (vector-ref '#(1 1 2 3 5 8 13 21)\"\n ATMOSPHERE: (41564..41565) \"\n\"\n ATMOSPHERE: (41565..41614) \";; (let ((i (round (* 2 (acos -1)))))\"\n ATMOSPHERE: (41614..41615) \"\n\"\n ATMOSPHERE: (41615..41648) \";; (if (inexact? i)\"\n ATMOSPHERE: (41648..41649) \"\n\"\n ATMOSPHERE: (41649..41679) \";; (exact i)\"\n ATMOSPHERE: (41679..41680) \"\n\"\n ATMOSPHERE: (41680..41706) \";; i))))\"\n ATMOSPHERE: (41706..41708) \"\n\n\"\n ATMOSPHERE: (41708..41784) \";; (test #(0 (\"Sue\" \"Sue\") \"Anna\") (let ((vec (vector 0 '(2 2 2 2) \"Anna\")))\"\n ATMOSPHERE: (41784..41785) \"\n\"\n ATMOSPHERE: (41785..41824) \";; (vector-set! vec 1 '(\"Sue\" \"Sue\"))\"\n ATMOSPHERE: (41824..41825) \"\n\"\n ATMOSPHERE: (41825..41835) \";; vec))\"\n ATMOSPHERE: (41835..41837) \"\n\n\"\n ATMOSPHERE: (41837..41896) \";; (test '(dah dah didah) (vector->list '#(dah dah didah)))\"\n ATMOSPHERE: (41896..41897) \"\n\"\n ATMOSPHERE: (41897..41954) \";; (test '(dah didah) (vector->list '#(dah dah didah) 1))\"\n ATMOSPHERE: (41954..41955) \"\n\"\n ATMOSPHERE: (41955..42008) \";; (test '(dah) (vector->list '#(dah dah didah) 1 2))\"\n ATMOSPHERE: (42008..42009) \"\n\"\n ATMOSPHERE: (42009..42063) \";; (test #(dididit dah) (list->vector '(dididit dah)))\"\n ATMOSPHERE: (42063..42065) \"\n\n\"\n ATMOSPHERE: (42065..42098) \";; (test #() (string->vector \"\"))\"\n ATMOSPHERE: (42098..42099) \"\n\"\n ATMOSPHERE: (42099..42146) \";; (test #(#\\A #\\B #\\C) (string->vector \"ABC\"))\"\n ATMOSPHERE: (42146..42147) \"\n\"\n ATMOSPHERE: (42147..42192) \";; (test #(#\\B #\\C) (string->vector \"ABC\" 1))\"\n ATMOSPHERE: (42192..42193) \"\n\"\n ATMOSPHERE: (42193..42236) \";; (test #(#\\B) (string->vector \"ABC\" 1 2))\"\n ATMOSPHERE: (42236..42238) \"\n\n\"\n ATMOSPHERE: (42238..42271) \";; (test \"\" (vector->string #()))\"\n ATMOSPHERE: (42271..42272) \"\n\"\n ATMOSPHERE: (42272..42319) \";; (test \"123\" (vector->string #(#\\1 #\\2 #\\3)))\"\n ATMOSPHERE: (42319..42320) \"\n\"\n ATMOSPHERE: (42320..42368) \";; (test \"23\" (vector->string #(#\\1 #\\2 #\\3) 1))\"\n ATMOSPHERE: (42368..42369) \"\n\"\n ATMOSPHERE: (42369..42418) \";; (test \"2\" (vector->string #(#\\1 #\\2 #\\3) 1 2))\"\n ATMOSPHERE: (42418..42420) \"\n\n\"\n ATMOSPHERE: (42420..42451) \";; (test #() (vector-copy #()))\"\n ATMOSPHERE: (42451..42452) \"\n\"\n ATMOSPHERE: (42452..42493) \";; (test #(a b c) (vector-copy #(a b c)))\"\n ATMOSPHERE: (42493..42494) \"\n\"\n ATMOSPHERE: (42494..42535) \";; (test #(b c) (vector-copy #(a b c) 1))\"\n ATMOSPHERE: (42535..42536) \"\n\"\n ATMOSPHERE: (42536..42577) \";; (test #(b) (vector-copy #(a b c) 1 2))\"\n ATMOSPHERE: (42577..42579) \"\n\n\"\n ATMOSPHERE: (42579..42612) \";; (test #() (vector-append #()))\"\n ATMOSPHERE: (42612..42613) \"\n\"\n ATMOSPHERE: (42613..42650) \";; (test #() (vector-append #() #()))\"\n ATMOSPHERE: (42650..42651) \"\n\"\n ATMOSPHERE: (42651..42698) \";; (test #(a b c) (vector-append #() #(a b c)))\"\n ATMOSPHERE: (42698..42699) \"\n\"\n ATMOSPHERE: (42699..42746) \";; (test #(a b c) (vector-append #(a b c) #()))\"\n ATMOSPHERE: (42746..42747) \"\n\"\n ATMOSPHERE: (42747..42801) \";; (test #(a b c d e) (vector-append #(a b c) #(d e)))\"\n ATMOSPHERE: (42801..42802) \"\n\"\n ATMOSPHERE: (42802..42863) \";; (test #(a b c d e f) (vector-append #(a b c) #(d e) #(f)))\"\n ATMOSPHERE: (42863..42865) \"\n\n\"\n ATMOSPHERE: (42865..42894) \";; (test #(1 2 smash smash 5)\"\n ATMOSPHERE: (42894..42895) \"\n\"\n ATMOSPHERE: (42895..42969) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'smash 2 4) vec))\"\n ATMOSPHERE: (42969..42970) \"\n\"\n ATMOSPHERE: (42970..42991) \";; (test #(x x x x x)\"\n ATMOSPHERE: (42991..42992) \"\n\"\n ATMOSPHERE: (42992..43058) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x) vec))\"\n ATMOSPHERE: (43058..43059) \"\n\"\n ATMOSPHERE: (43059..43080) \";; (test #(1 2 x x x)\"\n ATMOSPHERE: (43080..43081) \"\n\"\n ATMOSPHERE: (43081..43149) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2) vec))\"\n ATMOSPHERE: (43149..43150) \"\n\"\n ATMOSPHERE: (43150..43171) \";; (test #(1 2 x 4 5)\"\n ATMOSPHERE: (43171..43172) \"\n\"\n ATMOSPHERE: (43172..43242) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2 3) vec))\"\n ATMOSPHERE: (43242..43244) \"\n\n\"\n ATMOSPHERE: (43244..43265) \";; (test #(1 a b 4 5)\"\n ATMOSPHERE: (43265..43266) \"\n\"\n ATMOSPHERE: (43266..43348) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 #(a b c d e) 0 2) vec))\"\n ATMOSPHERE: (43348..43349) \"\n\"\n ATMOSPHERE: (43349..43370) \";; (test #(a b c d e)\"\n ATMOSPHERE: (43370..43371) \"\n\"\n ATMOSPHERE: (43371..43449) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e)) vec))\"\n ATMOSPHERE: (43449..43450) \"\n\"\n ATMOSPHERE: (43450..43471) \";; (test #(c d e 4 5)\"\n ATMOSPHERE: (43471..43472) \"\n\"\n ATMOSPHERE: (43472..43552) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e) 2) vec))\"\n ATMOSPHERE: (43552..43553) \"\n\"\n ATMOSPHERE: (43553..43574) \";; (test #(1 2 a b c)\"\n ATMOSPHERE: (43574..43575) \"\n\"\n ATMOSPHERE: (43575..43657) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 0 3) vec))\"\n ATMOSPHERE: (43657..43658) \"\n\"\n ATMOSPHERE: (43658..43679) \";; (test #(1 2 c 4 5)\"\n ATMOSPHERE: (43679..43680) \"\n\"\n ATMOSPHERE: (43680..43762) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 2 3) vec))\"\n ATMOSPHERE: (43762..43764) \"\n\n\"\n ATMOSPHERE: (43764..43790) \";; ;; same source and dest\"\n ATMOSPHERE: (43790..43791) \"\n\"\n ATMOSPHERE: (43791..43812) \";; (test #(1 1 2 4 5)\"\n ATMOSPHERE: (43812..43813) \"\n\"\n ATMOSPHERE: (43813..43886) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 vec 0 2) vec))\"\n ATMOSPHERE: (43886..43887) \"\n\"\n ATMOSPHERE: (43887..43908) \";; (test #(1 2 3 1 2)\"\n ATMOSPHERE: (43908..43909) \"\n\"\n ATMOSPHERE: (43909..43982) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 3 vec 0 2) vec))\"\n ATMOSPHERE: (43982..43984) \"\n\n\"\n FORM: (43984..43994)\n OPEN_PAREN: (43984..43985) \"(\"\n SYMBOL: (43985..43993)\n IDENTIFIER: (43985..43993) \"test-end\"\n CLOSE_PAREN: (43993..43994) \")\"\n ATMOSPHERE: (43994..43996) \"\n\n\"\n FORM: (43996..44026)\n OPEN_PAREN: (43996..43997) \"(\"\n SYMBOL: (43997..44007)\n IDENTIFIER: (43997..44007) \"test-begin\"\n ATMOSPHERE: (44007..44008) \" \"\n CONSTANT: (44008..44025)\n STRING: (44008..44025) \"\"6.9 Bytevectors\"\"\n CLOSE_PAREN: (44025..44026) \")\"\n ATMOSPHERE: (44026..44028) \"\n\n\"\n FORM: (44028..44057)\n OPEN_PAREN: (44028..44029) \"(\"\n SYMBOL: (44029..44033)\n IDENTIFIER: (44029..44033) \"test\"\n ATMOSPHERE: (44033..44034) \" \"\n CONSTANT: (44034..44036)\n BOOLEAN: (44034..44036) \"#t\"\n ATMOSPHERE: (44036..44037) \" \"\n FORM: (44037..44056)\n OPEN_PAREN: (44037..44038) \"(\"\n SYMBOL: (44038..44049)\n IDENTIFIER: (44038..44049) \"bytevector?\"\n ATMOSPHERE: (44049..44050) \" \"\n BYTEVEC: (44050..44055)\n OPEN_PAREN: (44050..44054) \"#u8(\"\n CLOSE_PAREN: (44054..44055) \")\"\n CLOSE_PAREN: (44055..44056) \")\"\n CLOSE_PAREN: (44056..44057) \")\"\n ATMOSPHERE: (44057..44058) \"\n\"\n FORM: (44058..44092)\n OPEN_PAREN: (44058..44059) \"(\"\n SYMBOL: (44059..44063)\n IDENTIFIER: (44059..44063) \"test\"\n ATMOSPHERE: (44063..44064) \" \"\n CONSTANT: (44064..44066)\n BOOLEAN: (44064..44066) \"#t\"\n ATMOSPHERE: (44066..44067) \" \"\n FORM: (44067..44091)\n OPEN_PAREN: (44067..44068) \"(\"\n SYMBOL: (44068..44079)\n IDENTIFIER: (44068..44079) \"bytevector?\"\n ATMOSPHERE: (44079..44080) \" \"\n BYTEVEC: (44080..44090)\n OPEN_PAREN: (44080..44084) \"#u8(\"\n CONSTANT: (44084..44085)\n NUMBER: (44084..44085) \"0\"\n ATMOSPHERE: (44085..44086) \" \"\n CONSTANT: (44086..44087)\n NUMBER: (44086..44087) \"1\"\n ATMOSPHERE: (44087..44088) \" \"\n CONSTANT: (44088..44089)\n NUMBER: (44088..44089) \"2\"\n CLOSE_PAREN: (44089..44090) \")\"\n CLOSE_PAREN: (44090..44091) \")\"\n CLOSE_PAREN: (44091..44092) \")\"\n ATMOSPHERE: (44092..44093) \"\n\"\n FORM: (44093..44120)\n OPEN_PAREN: (44093..44094) \"(\"\n SYMBOL: (44094..44098)\n IDENTIFIER: (44094..44098) \"test\"\n ATMOSPHERE: (44098..44099) \" \"\n CONSTANT: (44099..44101)\n BOOLEAN: (44099..44101) \"#f\"\n ATMOSPHERE: (44101..44102) \" \"\n FORM: (44102..44119)\n OPEN_PAREN: (44102..44103) \"(\"\n SYMBOL: (44103..44114)\n IDENTIFIER: (44103..44114) \"bytevector?\"\n ATMOSPHERE: (44114..44115) \" \"\n VEC: (44115..44118)\n OPEN_PAREN: (44115..44117) \"#(\"\n CLOSE_PAREN: (44117..44118) \")\"\n CLOSE_PAREN: (44118..44119) \")\"\n CLOSE_PAREN: (44119..44120) \")\"\n ATMOSPHERE: (44120..44121) \"\n\"\n FORM: (44121..44153)\n OPEN_PAREN: (44121..44122) \"(\"\n SYMBOL: (44122..44126)\n IDENTIFIER: (44122..44126) \"test\"\n ATMOSPHERE: (44126..44127) \" \"\n CONSTANT: (44127..44129)\n BOOLEAN: (44127..44129) \"#f\"\n ATMOSPHERE: (44129..44130) \" \"\n FORM: (44130..44152)\n OPEN_PAREN: (44130..44131) \"(\"\n SYMBOL: (44131..44142)\n IDENTIFIER: (44131..44142) \"bytevector?\"\n ATMOSPHERE: (44142..44143) \" \"\n VEC: (44143..44151)\n OPEN_PAREN: (44143..44145) \"#(\"\n CONSTANT: (44145..44146)\n NUMBER: (44145..44146) \"0\"\n ATMOSPHERE: (44146..44147) \" \"\n CONSTANT: (44147..44148)\n NUMBER: (44147..44148) \"1\"\n ATMOSPHERE: (44148..44149) \" \"\n CONSTANT: (44149..44150)\n NUMBER: (44149..44150) \"2\"\n CLOSE_PAREN: (44150..44151) \")\"\n CLOSE_PAREN: (44151..44152) \")\"\n CLOSE_PAREN: (44152..44153) \")\"\n ATMOSPHERE: (44153..44154) \"\n\"\n FORM: (44154..44181)\n OPEN_PAREN: (44154..44155) \"(\"\n SYMBOL: (44155..44159)\n IDENTIFIER: (44155..44159) \"test\"\n ATMOSPHERE: (44159..44160) \" \"\n CONSTANT: (44160..44162)\n BOOLEAN: (44160..44162) \"#f\"\n ATMOSPHERE: (44162..44163) \" \"\n FORM: (44163..44180)\n OPEN_PAREN: (44163..44164) \"(\"\n SYMBOL: (44164..44175)\n IDENTIFIER: (44164..44175) \"bytevector?\"\n ATMOSPHERE: (44175..44176) \" \"\n QUOTED_DATUM: (44176..44179)\n QUOTE: (44176..44177) \"'\"\n FORM: (44177..44179)\n OPEN_PAREN: (44177..44178) \"(\"\n CLOSE_PAREN: (44178..44179) \")\"\n CLOSE_PAREN: (44179..44180) \")\"\n CLOSE_PAREN: (44180..44181) \")\"\n ATMOSPHERE: (44181..44182) \"\n\"\n FORM: (44182..44225)\n OPEN_PAREN: (44182..44183) \"(\"\n SYMBOL: (44183..44187)\n IDENTIFIER: (44183..44187) \"test\"\n ATMOSPHERE: (44187..44188) \" \"\n CONSTANT: (44188..44190)\n BOOLEAN: (44188..44190) \"#t\"\n ATMOSPHERE: (44190..44191) \" \"\n FORM: (44191..44224)\n OPEN_PAREN: (44191..44192) \"(\"\n SYMBOL: (44192..44203)\n IDENTIFIER: (44192..44203) \"bytevector?\"\n ATMOSPHERE: (44203..44204) \" \"\n FORM: (44204..44223)\n OPEN_PAREN: (44204..44205) \"(\"\n SYMBOL: (44205..44220)\n IDENTIFIER: (44205..44220) \"make-bytevector\"\n ATMOSPHERE: (44220..44221) \" \"\n CONSTANT: (44221..44222)\n NUMBER: (44221..44222) \"0\"\n CLOSE_PAREN: (44222..44223) \")\"\n CLOSE_PAREN: (44223..44224) \")\"\n CLOSE_PAREN: (44224..44225) \")\"\n ATMOSPHERE: (44225..44227) \"\n\n\"\n FORM: (44227..44275)\n OPEN_PAREN: (44227..44228) \"(\"\n SYMBOL: (44228..44232)\n IDENTIFIER: (44228..44232) \"test\"\n ATMOSPHERE: (44232..44233) \" \"\n CONSTANT: (44233..44234)\n NUMBER: (44233..44234) \"0\"\n ATMOSPHERE: (44234..44235) \" \"\n FORM: (44235..44274)\n OPEN_PAREN: (44235..44236) \"(\"\n SYMBOL: (44236..44253)\n IDENTIFIER: (44236..44253) \"bytevector-length\"\n ATMOSPHERE: (44253..44254) \" \"\n FORM: (44254..44273)\n OPEN_PAREN: (44254..44255) \"(\"\n SYMBOL: (44255..44270)\n IDENTIFIER: (44255..44270) \"make-bytevector\"\n ATMOSPHERE: (44270..44271) \" \"\n CONSTANT: (44271..44272)\n NUMBER: (44271..44272) \"0\"\n CLOSE_PAREN: (44272..44273) \")\"\n CLOSE_PAREN: (44273..44274) \")\"\n CLOSE_PAREN: (44274..44275) \")\"\n ATMOSPHERE: (44275..44276) \"\n\"\n FORM: (44276..44330)\n OPEN_PAREN: (44276..44277) \"(\"\n SYMBOL: (44277..44281)\n IDENTIFIER: (44277..44281) \"test\"\n ATMOSPHERE: (44281..44282) \" \"\n CONSTANT: (44282..44286)\n NUMBER: (44282..44286) \"1024\"\n ATMOSPHERE: (44286..44287) \" \"\n FORM: (44287..44329)\n OPEN_PAREN: (44287..44288) \"(\"\n SYMBOL: (44288..44305)\n IDENTIFIER: (44288..44305) \"bytevector-length\"\n ATMOSPHERE: (44305..44306) \" \"\n FORM: (44306..44328)\n OPEN_PAREN: (44306..44307) \"(\"\n SYMBOL: (44307..44322)\n IDENTIFIER: (44307..44322) \"make-bytevector\"\n ATMOSPHERE: (44322..44323) \" \"\n CONSTANT: (44323..44327)\n NUMBER: (44323..44327) \"1024\"\n CLOSE_PAREN: (44327..44328) \")\"\n CLOSE_PAREN: (44328..44329) \")\"\n CLOSE_PAREN: (44329..44330) \")\"\n ATMOSPHERE: (44330..44331) \"\n\"\n FORM: (44331..44389)\n OPEN_PAREN: (44331..44332) \"(\"\n SYMBOL: (44332..44336)\n IDENTIFIER: (44332..44336) \"test\"\n ATMOSPHERE: (44336..44337) \" \"\n CONSTANT: (44337..44341)\n NUMBER: (44337..44341) \"1024\"\n ATMOSPHERE: (44341..44342) \" \"\n FORM: (44342..44388)\n OPEN_PAREN: (44342..44343) \"(\"\n SYMBOL: (44343..44360)\n IDENTIFIER: (44343..44360) \"bytevector-length\"\n ATMOSPHERE: (44360..44361) \" \"\n FORM: (44361..44387)\n OPEN_PAREN: (44361..44362) \"(\"\n SYMBOL: (44362..44377)\n IDENTIFIER: (44362..44377) \"make-bytevector\"\n ATMOSPHERE: (44377..44378) \" \"\n CONSTANT: (44378..44382)\n NUMBER: (44378..44382) \"1024\"\n ATMOSPHERE: (44382..44383) \" \"\n CONSTANT: (44383..44386)\n NUMBER: (44383..44386) \"255\"\n CLOSE_PAREN: (44386..44387) \")\"\n CLOSE_PAREN: (44387..44388) \")\"\n CLOSE_PAREN: (44388..44389) \")\"\n ATMOSPHERE: (44389..44391) \"\n\n\"\n FORM: (44391..44438)\n OPEN_PAREN: (44391..44392) \"(\"\n SYMBOL: (44392..44396)\n IDENTIFIER: (44392..44396) \"test\"\n ATMOSPHERE: (44396..44397) \" \"\n CONSTANT: (44397..44398)\n NUMBER: (44397..44398) \"3\"\n ATMOSPHERE: (44398..44399) \" \"\n FORM: (44399..44437)\n OPEN_PAREN: (44399..44400) \"(\"\n SYMBOL: (44400..44417)\n IDENTIFIER: (44400..44417) \"bytevector-length\"\n ATMOSPHERE: (44417..44418) \" \"\n FORM: (44418..44436)\n OPEN_PAREN: (44418..44419) \"(\"\n SYMBOL: (44419..44429)\n IDENTIFIER: (44419..44429) \"bytevector\"\n ATMOSPHERE: (44429..44430) \" \"\n CONSTANT: (44430..44431)\n NUMBER: (44430..44431) \"0\"\n ATMOSPHERE: (44431..44432) \" \"\n CONSTANT: (44432..44433)\n NUMBER: (44432..44433) \"1\"\n ATMOSPHERE: (44433..44434) \" \"\n CONSTANT: (44434..44435)\n NUMBER: (44434..44435) \"2\"\n CLOSE_PAREN: (44435..44436) \")\"\n CLOSE_PAREN: (44436..44437) \")\"\n CLOSE_PAREN: (44437..44438) \")\"\n ATMOSPHERE: (44438..44440) \"\n\n\"\n ATMOSPHERE: (44440..44492) \";; (test 0 (bytevector-u8-ref (bytevector 0 1 2) 0))\"\n ATMOSPHERE: (44492..44493) \"\n\"\n ATMOSPHERE: (44493..44545) \";; (test 1 (bytevector-u8-ref (bytevector 0 1 2) 1))\"\n ATMOSPHERE: (44545..44546) \"\n\"\n ATMOSPHERE: (44546..44598) \";; (test 2 (bytevector-u8-ref (bytevector 0 1 2) 2))\"\n ATMOSPHERE: (44598..44600) \"\n\n\"\n ATMOSPHERE: (44600..44621) \";; (test #u8(0 255 2)\"\n ATMOSPHERE: (44621..44622) \"\n\"\n ATMOSPHERE: (44622..44694) \";; (let ((bv (bytevector 0 1 2))) (bytevector-u8-set! bv 1 255) bv))\"\n ATMOSPHERE: (44694..44696) \"\n\n\"\n ATMOSPHERE: (44696..44735) \";; (test #u8() (bytevector-copy #u8()))\"\n ATMOSPHERE: (44735..44736) \"\n\"\n ATMOSPHERE: (44736..44785) \";; (test #u8(0 1 2) (bytevector-copy #u8(0 1 2)))\"\n ATMOSPHERE: (44785..44786) \"\n\"\n ATMOSPHERE: (44786..44835) \";; (test #u8(1 2) (bytevector-copy #u8(0 1 2) 1))\"\n ATMOSPHERE: (44835..44836) \"\n\"\n ATMOSPHERE: (44836..44885) \";; (test #u8(1) (bytevector-copy #u8(0 1 2) 1 2))\"\n ATMOSPHERE: (44885..44887) \"\n\n\"\n ATMOSPHERE: (44887..44910) \";; (test #u8(1 6 7 4 5)\"\n ATMOSPHERE: (44910..44911) \"\n\"\n ATMOSPHERE: (44911..44952) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (44952..44953) \"\n\"\n ATMOSPHERE: (44953..45005) \";; (bytevector-copy! bv 1 #u8(6 7 8 9 10) 0 2)\"\n ATMOSPHERE: (45005..45006) \"\n\"\n ATMOSPHERE: (45006..45019) \";; bv))\"\n ATMOSPHERE: (45019..45020) \"\n\"\n ATMOSPHERE: (45020..45044) \";; (test #u8(6 7 8 9 10)\"\n ATMOSPHERE: (45044..45045) \"\n\"\n ATMOSPHERE: (45045..45086) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45086..45087) \"\n\"\n ATMOSPHERE: (45087..45135) \";; (bytevector-copy! bv 0 #u8(6 7 8 9 10))\"\n ATMOSPHERE: (45135..45136) \"\n\"\n ATMOSPHERE: (45136..45149) \";; bv))\"\n ATMOSPHERE: (45149..45150) \"\n\"\n ATMOSPHERE: (45150..45174) \";; (test #u8(8 9 10 4 5)\"\n ATMOSPHERE: (45174..45175) \"\n\"\n ATMOSPHERE: (45175..45216) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45216..45217) \"\n\"\n ATMOSPHERE: (45217..45267) \";; (bytevector-copy! bv 0 #u8(6 7 8 9 10) 2)\"\n ATMOSPHERE: (45267..45268) \"\n\"\n ATMOSPHERE: (45268..45281) \";; bv))\"\n ATMOSPHERE: (45281..45282) \"\n\"\n ATMOSPHERE: (45282..45305) \";; (test #u8(1 2 6 7 8)\"\n ATMOSPHERE: (45305..45306) \"\n\"\n ATMOSPHERE: (45306..45347) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45347..45348) \"\n\"\n ATMOSPHERE: (45348..45400) \";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 0 3)\"\n ATMOSPHERE: (45400..45401) \"\n\"\n ATMOSPHERE: (45401..45414) \";; bv))\"\n ATMOSPHERE: (45414..45415) \"\n\"\n ATMOSPHERE: (45415..45438) \";; (test #u8(1 2 8 4 5)\"\n ATMOSPHERE: (45438..45439) \"\n\"\n ATMOSPHERE: (45439..45480) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45480..45481) \"\n\"\n ATMOSPHERE: (45481..45533) \";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 2 3)\"\n ATMOSPHERE: (45533..45534) \"\n\"\n ATMOSPHERE: (45534..45547) \";; bv))\"\n ATMOSPHERE: (45547..45549) \"\n\n\"\n ATMOSPHERE: (45549..45575) \";; ;; same source and dest\"\n ATMOSPHERE: (45575..45576) \"\n\"\n ATMOSPHERE: (45576..45599) \";; (test #u8(1 1 2 4 5)\"\n ATMOSPHERE: (45599..45600) \"\n\"\n ATMOSPHERE: (45600..45641) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45641..45642) \"\n\"\n ATMOSPHERE: (45642..45681) \";; (bytevector-copy! bv 1 bv 0 2)\"\n ATMOSPHERE: (45681..45682) \"\n\"\n ATMOSPHERE: (45682..45695) \";; bv))\"\n ATMOSPHERE: (45695..45696) \"\n\"\n ATMOSPHERE: (45696..45719) \";; (test #u8(1 2 3 1 2)\"\n ATMOSPHERE: (45719..45720) \"\n\"\n ATMOSPHERE: (45720..45761) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45761..45762) \"\n\"\n ATMOSPHERE: (45762..45801) \";; (bytevector-copy! bv 3 bv 0 2)\"\n ATMOSPHERE: (45801..45802) \"\n\"\n ATMOSPHERE: (45802..45815) \";; bv))\"\n ATMOSPHERE: (45815..45817) \"\n\n\"\n ATMOSPHERE: (45817..45858) \";; (test #u8() (bytevector-append #u8()))\"\n ATMOSPHERE: (45858..45859) \"\n\"\n ATMOSPHERE: (45859..45906) \";; (test #u8() (bytevector-append #u8() #u8()))\"\n ATMOSPHERE: (45906..45907) \"\n\"\n ATMOSPHERE: (45907..45964) \";; (test #u8(0 1 2) (bytevector-append #u8() #u8(0 1 2)))\"\n ATMOSPHERE: (45964..45965) \"\n\"\n ATMOSPHERE: (45965..46022) \";; (test #u8(0 1 2) (bytevector-append #u8(0 1 2) #u8()))\"\n ATMOSPHERE: (46022..46023) \"\n\"\n ATMOSPHERE: (46023..46087) \";; (test #u8(0 1 2 3 4) (bytevector-append #u8(0 1 2) #u8(3 4)))\"\n ATMOSPHERE: (46087..46088) \"\n\"\n ATMOSPHERE: (46088..46161) \";; (test #u8(0 1 2 3 4 5) (bytevector-append #u8(0 1 2) #u8(3 4) #u8(5)))\"\n ATMOSPHERE: (46161..46163) \"\n\n\"\n ATMOSPHERE: (46163..46213) \";; (test \"ABC\" (utf8->string #u8(#x41 #x42 #x43)))\"\n ATMOSPHERE: (46213..46214) \"\n\"\n ATMOSPHERE: (46214..46268) \";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43) 1))\"\n ATMOSPHERE: (46268..46269) \"\n\"\n ATMOSPHERE: (46269..46328) \";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43 0) 1 4))\"\n ATMOSPHERE: (46328..46329) \"\n\"\n ATMOSPHERE: (46329..46380) \";; (test \"λ\" (utf8->string #u8(0 #xCE #xBB 0) 1 3))\"\n ATMOSPHERE: (46380..46381) \"\n\"\n ATMOSPHERE: (46381..46431) \";; (test #u8(#x41 #x42 #x43) (string->utf8 \"ABC\"))\"\n ATMOSPHERE: (46431..46432) \"\n\"\n ATMOSPHERE: (46432..46479) \";; (test #u8(#x42 #x43) (string->utf8 \"ABC\" 1))\"\n ATMOSPHERE: (46479..46480) \"\n\"\n ATMOSPHERE: (46480..46524) \";; (test #u8(#x42) (string->utf8 \"ABC\" 1 2))\"\n ATMOSPHERE: (46524..46525) \"\n\"\n ATMOSPHERE: (46525..46568) \";; (test #u8(#xCE #xBB) (string->utf8 \"λ\"))\"\n ATMOSPHERE: (46568..46570) \"\n\n\"\n FORM: (46570..46580)\n OPEN_PAREN: (46570..46571) \"(\"\n SYMBOL: (46571..46579)\n IDENTIFIER: (46571..46579) \"test-end\"\n CLOSE_PAREN: (46579..46580) \")\"\n ATMOSPHERE: (46580..46582) \"\n\n\"\n FORM: (46582..46618)\n OPEN_PAREN: (46582..46583) \"(\"\n SYMBOL: (46583..46593)\n IDENTIFIER: (46583..46593) \"test-begin\"\n ATMOSPHERE: (46593..46594) \" \"\n CONSTANT: (46594..46617)\n STRING: (46594..46617) \"\"6.10 Control Features\"\"\n CLOSE_PAREN: (46617..46618) \")\"\n ATMOSPHERE: (46618..46620) \"\n\n\"\n FORM: (46620..46646)\n OPEN_PAREN: (46620..46621) \"(\"\n SYMBOL: (46621..46625)\n IDENTIFIER: (46621..46625) \"test\"\n ATMOSPHERE: (46625..46626) \" \"\n CONSTANT: (46626..46628)\n BOOLEAN: (46626..46628) \"#t\"\n ATMOSPHERE: (46628..46629) \" \"\n FORM: (46629..46645)\n OPEN_PAREN: (46629..46630) \"(\"\n SYMBOL: (46630..46640)\n IDENTIFIER: (46630..46640) \"procedure?\"\n ATMOSPHERE: (46640..46641) \" \"\n SYMBOL: (46641..46644)\n IDENTIFIER: (46641..46644) \"car\"\n CLOSE_PAREN: (46644..46645) \")\"\n CLOSE_PAREN: (46645..46646) \")\"\n ATMOSPHERE: (46646..46647) \"\n\"\n FORM: (46647..46674)\n OPEN_PAREN: (46647..46648) \"(\"\n SYMBOL: (46648..46652)\n IDENTIFIER: (46648..46652) \"test\"\n ATMOSPHERE: (46652..46653) \" \"\n CONSTANT: (46653..46655)\n BOOLEAN: (46653..46655) \"#f\"\n ATMOSPHERE: (46655..46656) \" \"\n FORM: (46656..46673)\n OPEN_PAREN: (46656..46657) \"(\"\n SYMBOL: (46657..46667)\n IDENTIFIER: (46657..46667) \"procedure?\"\n ATMOSPHERE: (46667..46668) \" \"\n QUOTED_DATUM: (46668..46672)\n QUOTE: (46668..46669) \"'\"\n SYMBOL: (46669..46672)\n IDENTIFIER: (46669..46672) \"car\"\n CLOSE_PAREN: (46672..46673) \")\"\n CLOSE_PAREN: (46673..46674) \")\"\n ATMOSPHERE: (46674..46675) \"\n\"\n FORM: (46675..46718)\n OPEN_PAREN: (46675..46676) \"(\"\n SYMBOL: (46676..46680)\n IDENTIFIER: (46676..46680) \"test\"\n ATMOSPHERE: (46680..46681) \" \"\n CONSTANT: (46681..46683)\n BOOLEAN: (46681..46683) \"#t\"\n ATMOSPHERE: (46683..46684) \" \"\n FORM: (46684..46717)\n OPEN_PAREN: (46684..46685) \"(\"\n SYMBOL: (46685..46695)\n IDENTIFIER: (46685..46695) \"procedure?\"\n ATMOSPHERE: (46695..46696) \" \"\n FORM: (46696..46716)\n OPEN_PAREN: (46696..46697) \"(\"\n SYMBOL: (46697..46703)\n IDENTIFIER: (46697..46703) \"lambda\"\n ATMOSPHERE: (46703..46704) \" \"\n FORM: (46704..46707)\n OPEN_PAREN: (46704..46705) \"(\"\n SYMBOL: (46705..46706)\n IDENTIFIER: (46705..46706) \"x\"\n CLOSE_PAREN: (46706..46707) \")\"\n ATMOSPHERE: (46707..46708) \" \"\n FORM: (46708..46715)\n OPEN_PAREN: (46708..46709) \"(\"\n SYMBOL: (46709..46710)\n IDENTIFIER: (46709..46710) \"*\"\n ATMOSPHERE: (46710..46711) \" \"\n SYMBOL: (46711..46712)\n IDENTIFIER: (46711..46712) \"x\"\n ATMOSPHERE: (46712..46713) \" \"\n SYMBOL: (46713..46714)\n IDENTIFIER: (46713..46714) \"x\"\n CLOSE_PAREN: (46714..46715) \")\"\n CLOSE_PAREN: (46715..46716) \")\"\n CLOSE_PAREN: (46716..46717) \")\"\n CLOSE_PAREN: (46717..46718) \")\"\n ATMOSPHERE: (46718..46719) \"\n\"\n FORM: (46719..46763)\n OPEN_PAREN: (46719..46720) \"(\"\n SYMBOL: (46720..46724)\n IDENTIFIER: (46720..46724) \"test\"\n ATMOSPHERE: (46724..46725) \" \"\n CONSTANT: (46725..46727)\n BOOLEAN: (46725..46727) \"#f\"\n ATMOSPHERE: (46727..46728) \" \"\n FORM: (46728..46762)\n OPEN_PAREN: (46728..46729) \"(\"\n SYMBOL: (46729..46739)\n IDENTIFIER: (46729..46739) \"procedure?\"\n ATMOSPHERE: (46739..46740) \" \"\n QUOTED_DATUM: (46740..46761)\n QUOTE: (46740..46741) \"'\"\n FORM: (46741..46761)\n OPEN_PAREN: (46741..46742) \"(\"\n SYMBOL: (46742..46748)\n IDENTIFIER: (46742..46748) \"lambda\"\n ATMOSPHERE: (46748..46749) \" \"\n FORM: (46749..46752)\n OPEN_PAREN: (46749..46750) \"(\"\n SYMBOL: (46750..46751)\n IDENTIFIER: (46750..46751) \"x\"\n CLOSE_PAREN: (46751..46752) \")\"\n ATMOSPHERE: (46752..46753) \" \"\n FORM: (46753..46760)\n OPEN_PAREN: (46753..46754) \"(\"\n SYMBOL: (46754..46755)\n IDENTIFIER: (46754..46755) \"*\"\n ATMOSPHERE: (46755..46756) \" \"\n SYMBOL: (46756..46757)\n IDENTIFIER: (46756..46757) \"x\"\n ATMOSPHERE: (46757..46758) \" \"\n SYMBOL: (46758..46759)\n IDENTIFIER: (46758..46759) \"x\"\n CLOSE_PAREN: (46759..46760) \")\"\n CLOSE_PAREN: (46760..46761) \")\"\n CLOSE_PAREN: (46761..46762) \")\"\n CLOSE_PAREN: (46762..46763) \")\"\n ATMOSPHERE: (46763..46764) \"\n\"\n ATMOSPHERE: (46764..46820) \";; (test #t (call-with-current-continuation procedure?))\"\n ATMOSPHERE: (46820..46822) \"\n\n\"\n FORM: (46822..46851)\n OPEN_PAREN: (46822..46823) \"(\"\n SYMBOL: (46823..46827)\n IDENTIFIER: (46823..46827) \"test\"\n ATMOSPHERE: (46827..46828) \" \"\n CONSTANT: (46828..46829)\n NUMBER: (46828..46829) \"7\"\n ATMOSPHERE: (46829..46830) \" \"\n FORM: (46830..46850)\n OPEN_PAREN: (46830..46831) \"(\"\n SYMBOL: (46831..46836)\n IDENTIFIER: (46831..46836) \"apply\"\n ATMOSPHERE: (46836..46837) \" \"\n SYMBOL: (46837..46838)\n IDENTIFIER: (46837..46838) \"+\"\n ATMOSPHERE: (46838..46839) \" \"\n FORM: (46839..46849)\n OPEN_PAREN: (46839..46840) \"(\"\n SYMBOL: (46840..46844)\n IDENTIFIER: (46840..46844) \"list\"\n ATMOSPHERE: (46844..46845) \" \"\n CONSTANT: (46845..46846)\n NUMBER: (46845..46846) \"3\"\n ATMOSPHERE: (46846..46847) \" \"\n CONSTANT: (46847..46848)\n NUMBER: (46847..46848) \"4\"\n CLOSE_PAREN: (46848..46849) \")\"\n CLOSE_PAREN: (46849..46850) \")\"\n CLOSE_PAREN: (46850..46851) \")\"\n ATMOSPHERE: (46851..46852) \"\n\"\n FORM: (46852..46881)\n OPEN_PAREN: (46852..46853) \"(\"\n SYMBOL: (46853..46857)\n IDENTIFIER: (46853..46857) \"test\"\n ATMOSPHERE: (46857..46858) \" \"\n CONSTANT: (46858..46859)\n NUMBER: (46858..46859) \"7\"\n ATMOSPHERE: (46859..46860) \" \"\n FORM: (46860..46880)\n OPEN_PAREN: (46860..46861) \"(\"\n SYMBOL: (46861..46866)\n IDENTIFIER: (46861..46866) \"apply\"\n ATMOSPHERE: (46866..46867) \" \"\n SYMBOL: (46867..46868)\n IDENTIFIER: (46867..46868) \"+\"\n ATMOSPHERE: (46868..46869) \" \"\n CONSTANT: (46869..46870)\n NUMBER: (46869..46870) \"3\"\n ATMOSPHERE: (46870..46871) \" \"\n CONSTANT: (46871..46872)\n NUMBER: (46871..46872) \"4\"\n ATMOSPHERE: (46872..46873) \" \"\n FORM: (46873..46879)\n OPEN_PAREN: (46873..46874) \"(\"\n SYMBOL: (46874..46878)\n IDENTIFIER: (46874..46878) \"list\"\n CLOSE_PAREN: (46878..46879) \")\"\n CLOSE_PAREN: (46879..46880) \")\"\n CLOSE_PAREN: (46880..46881) \")\"\n ATMOSPHERE: (46881..46882) \"\n\"\n ATMOSPHERE: (46882..46926) \";; (test-error (apply +)) ;; not enough args\"\n ATMOSPHERE: (46926..46927) \"\n\"\n ATMOSPHERE: (46927..46978) \";; (test-error (apply + 3)) ;; final arg not a list\"\n ATMOSPHERE: (46978..46979) \"\n\"\n ATMOSPHERE: (46979..47032) \";; (test-error (apply + 3 4)) ;; final arg not a list\"\n ATMOSPHERE: (47032..47033) \"\n\"\n ATMOSPHERE: (47033..47094) \";; (test-error (apply + '(2 3 . 4))) ;; final arg is improper\"\n ATMOSPHERE: (47094..47097) \"\n\n\n\"\n ATMOSPHERE: (47097..47115) \";; (define compose\"\n ATMOSPHERE: (47115..47116) \"\n\"\n ATMOSPHERE: (47116..47134) \";; (lambda (f g)\"\n ATMOSPHERE: (47134..47135) \"\n\"\n ATMOSPHERE: (47135..47154) \";; (lambda args\"\n ATMOSPHERE: (47154..47155) \"\n\"\n ATMOSPHERE: (47155..47185) \";; (f (apply g args)))))\"\n ATMOSPHERE: (47185..47186) \"\n\"\n ATMOSPHERE: (47186..47202) \";; (test '(30 0)\"\n ATMOSPHERE: (47202..47203) \"\n\"\n ATMOSPHERE: (47203..47278) \";; (call-with-values (lambda () ((compose exact-integer-sqrt *) 12 75))\"\n ATMOSPHERE: (47278..47279) \"\n\"\n ATMOSPHERE: (47279..47294) \";; list))\"\n ATMOSPHERE: (47294..47296) \"\n\n\"\n ATMOSPHERE: (47296..47346) \";; (test '(b e h) (map cadr '((a b) (d e) (g h))))\"\n ATMOSPHERE: (47346..47348) \"\n\n\"\n ATMOSPHERE: (47348..47419) \";; (test '(1 4 27 256 3125) (map (lambda (n) (expt n n)) '(1 2 3 4 5)))\"\n ATMOSPHERE: (47419..47421) \"\n\n\"\n ATMOSPHERE: (47421..47467) \";; (test '(5 7 9) (map + '(1 2 3) '(4 5 6 7)))\"\n ATMOSPHERE: (47467..47469) \"\n\n\"\n ATMOSPHERE: (47469..47480) \";; (test #t\"\n ATMOSPHERE: (47480..47481) \"\n\"\n ATMOSPHERE: (47481..47515) \";; (let ((res (let ((count 0))\"\n ATMOSPHERE: (47515..47516) \"\n\"\n ATMOSPHERE: (47516..47558) \";; (map (lambda (ignored)\"\n ATMOSPHERE: (47558..47559) \"\n\"\n ATMOSPHERE: (47559..47610) \";; (set! count (+ count 1))\"\n ATMOSPHERE: (47610..47611) \"\n\"\n ATMOSPHERE: (47611..47644) \";; count)\"\n ATMOSPHERE: (47644..47645) \"\n\"\n ATMOSPHERE: (47645..47680) \";; '(a b)))))\"\n ATMOSPHERE: (47680..47681) \"\n\"\n ATMOSPHERE: (47681..47713) \";; (or (equal? res '(1 2))\"\n ATMOSPHERE: (47713..47714) \"\n\"\n ATMOSPHERE: (47714..47749) \";; (equal? res '(2 1)))))\"\n ATMOSPHERE: (47749..47751) \"\n\n\"\n ATMOSPHERE: (47751..47786) \";; (test '(10 200 3000 40 500 6000)\"\n ATMOSPHERE: (47786..47787) \"\n\"\n ATMOSPHERE: (47787..47824) \";; (let ((ls1 (list 10 100 1000))\"\n ATMOSPHERE: (47824..47825) \"\n\"\n ATMOSPHERE: (47825..47863) \";; (ls2 (list 1 2 3 4 5 6)))\"\n ATMOSPHERE: (47863..47864) \"\n\"\n ATMOSPHERE: (47864..47898) \";; (set-cdr! (cddr ls1) ls1)\"\n ATMOSPHERE: (47898..47899) \"\n\"\n ATMOSPHERE: (47899..47925) \";; (map * ls1 ls2)))\"\n ATMOSPHERE: (47925..47927) \"\n\n\"\n ATMOSPHERE: (47927..47981) \";; (test \"abdegh\" (string-map char-foldcase \"AbdEgH\"))\"\n ATMOSPHERE: (47981..47983) \"\n\n\"\n ATMOSPHERE: (47983..48009) \";; (test \"IBM\" (string-map\"\n ATMOSPHERE: (48009..48010) \"\n\"\n ATMOSPHERE: (48010..48025) \";; (lambda (c)\"\n ATMOSPHERE: (48025..48026) \"\n\"\n ATMOSPHERE: (48026..48072) \";; (integer->char (+ 1 (char->integer c))))\"\n ATMOSPHERE: (48072..48073) \"\n\"\n ATMOSPHERE: (48073..48084) \";; \"HAL\"))\"\n ATMOSPHERE: (48084..48086) \"\n\n\"\n ATMOSPHERE: (48086..48107) \";; (test \"StUdLyCaPs\"\"\n ATMOSPHERE: (48107..48108) \"\n\"\n ATMOSPHERE: (48108..48126) \";; (string-map\"\n ATMOSPHERE: (48126..48127) \"\n\"\n ATMOSPHERE: (48127..48201) \";; (lambda (c k) (if (eqv? k #\\u) (char-upcase c) (char-downcase c)))\"\n ATMOSPHERE: (48201..48202) \"\n\"\n ATMOSPHERE: (48202..48226) \";; \"studlycaps xxx\"\"\n ATMOSPHERE: (48226..48227) \"\n\"\n ATMOSPHERE: (48227..48249) \";; \"ululululul\"))\"\n ATMOSPHERE: (48249..48251) \"\n\n\"\n ATMOSPHERE: (48251..48309) \";; (test #(b e h) (vector-map cadr '#((a b) (d e) (g h))))\"\n ATMOSPHERE: (48309..48311) \"\n\n\"\n ATMOSPHERE: (48311..48338) \";; (test #(1 4 27 256 3125)\"\n ATMOSPHERE: (48338..48339) \"\n\"\n ATMOSPHERE: (48339..48381) \";; (vector-map (lambda (n) (expt n n))\"\n ATMOSPHERE: (48381..48382) \"\n\"\n ATMOSPHERE: (48382..48416) \";; '#(1 2 3 4 5)))\"\n ATMOSPHERE: (48416..48418) \"\n\n\"\n ATMOSPHERE: (48418..48473) \";; (test #(5 7 9) (vector-map + '#(1 2 3) '#(4 5 6 7)))\"\n ATMOSPHERE: (48473..48475) \"\n\n\"\n ATMOSPHERE: (48475..48486) \";; (test #t\"\n ATMOSPHERE: (48486..48487) \"\n\"\n ATMOSPHERE: (48487..48521) \";; (let ((res (let ((count 0))\"\n ATMOSPHERE: (48521..48522) \"\n\"\n ATMOSPHERE: (48522..48553) \";; (vector-map\"\n ATMOSPHERE: (48553..48554) \"\n\"\n ATMOSPHERE: (48554..48592) \";; (lambda (ignored)\"\n ATMOSPHERE: (48592..48593) \"\n\"\n ATMOSPHERE: (48593..48640) \";; (set! count (+ count 1))\"\n ATMOSPHERE: (48640..48641) \"\n\"\n ATMOSPHERE: (48641..48670) \";; count)\"\n ATMOSPHERE: (48670..48671) \"\n\"\n ATMOSPHERE: (48671..48703) \";; '#(a b)))))\"\n ATMOSPHERE: (48703..48704) \"\n\"\n ATMOSPHERE: (48704..48736) \";; (or (equal? res #(1 2))\"\n ATMOSPHERE: (48736..48737) \"\n\"\n ATMOSPHERE: (48737..48772) \";; (equal? res #(2 1)))))\"\n ATMOSPHERE: (48772..48774) \"\n\n\"\n ATMOSPHERE: (48774..48796) \";; (test #(0 1 4 9 16)\"\n ATMOSPHERE: (48796..48797) \"\n\"\n ATMOSPHERE: (48797..48830) \";; (let ((v (make-vector 5)))\"\n ATMOSPHERE: (48830..48831) \"\n\"\n ATMOSPHERE: (48831..48861) \";; (for-each (lambda (i)\"\n ATMOSPHERE: (48861..48862) \"\n\"\n ATMOSPHERE: (48862..48909) \";; (vector-set! v i (* i i)))\"\n ATMOSPHERE: (48909..48910) \"\n\"\n ATMOSPHERE: (48910..48942) \";; '(0 1 2 3 4))\"\n ATMOSPHERE: (48942..48943) \"\n\"\n ATMOSPHERE: (48943..48955) \";; v))\"\n ATMOSPHERE: (48955..48957) \"\n\n\"\n ATMOSPHERE: (48957..48970) \";; (test 9750\"\n ATMOSPHERE: (48970..48971) \"\n\"\n ATMOSPHERE: (48971..49008) \";; (let ((ls1 (list 10 100 1000))\"\n ATMOSPHERE: (49008..49009) \"\n\"\n ATMOSPHERE: (49009..49046) \";; (ls2 (list 1 2 3 4 5 6))\"\n ATMOSPHERE: (49046..49047) \"\n\"\n ATMOSPHERE: (49047..49070) \";; (count 0))\"\n ATMOSPHERE: (49070..49071) \"\n\"\n ATMOSPHERE: (49071..49105) \";; (set-cdr! (cddr ls1) ls1)\"\n ATMOSPHERE: (49105..49106) \"\n\"\n ATMOSPHERE: (49106..49179) \";; (for-each (lambda (x y) (set! count (+ count (* x y)))) ls2 ls1)\"\n ATMOSPHERE: (49179..49180) \"\n\"\n ATMOSPHERE: (49180..49196) \";; count))\"\n ATMOSPHERE: (49196..49198) \"\n\n\"\n ATMOSPHERE: (49198..49226) \";; (test '(101 100 99 98 97)\"\n ATMOSPHERE: (49226..49227) \"\n\"\n ATMOSPHERE: (49227..49248) \";; (let ((v '()))\"\n ATMOSPHERE: (49248..49249) \"\n\"\n ATMOSPHERE: (49249..49274) \";; (string-for-each\"\n ATMOSPHERE: (49274..49275) \"\n\"\n ATMOSPHERE: (49275..49333) \";; (lambda (c) (set! v (cons (char->integer c) v)))\"\n ATMOSPHERE: (49333..49334) \"\n\"\n ATMOSPHERE: (49334..49352) \";; \"abcde\")\"\n ATMOSPHERE: (49352..49353) \"\n\"\n ATMOSPHERE: (49353..49365) \";; v))\"\n ATMOSPHERE: (49365..49367) \"\n\n\"\n ATMOSPHERE: (49367..49414) \";; (test '(0 1 4 9 16) (let ((v (make-list 5)))\"\n ATMOSPHERE: (49414..49415) \"\n\"\n ATMOSPHERE: (49415..49436) \";; (vector-for-each\"\n ATMOSPHERE: (49436..49437) \"\n\"\n ATMOSPHERE: (49437..49479) \";; (lambda (i) (list-set! v i (* i i)))\"\n ATMOSPHERE: (49479..49480) \"\n\"\n ATMOSPHERE: (49480..49500) \";; '#(0 1 2 3 4))\"\n ATMOSPHERE: (49500..49501) \"\n\"\n ATMOSPHERE: (49501..49509) \";; v))\"\n ATMOSPHERE: (49509..49511) \"\n\n\"\n ATMOSPHERE: (49511..49554) \";; (test -3 (call-with-current-continuation\"\n ATMOSPHERE: (49554..49555) \"\n\"\n ATMOSPHERE: (49555..49574) \";; (lambda (exit)\"\n ATMOSPHERE: (49574..49575) \"\n\"\n ATMOSPHERE: (49575..49603) \";; (for-each (lambda (x)\"\n ATMOSPHERE: (49603..49604) \"\n\"\n ATMOSPHERE: (49604..49640) \";; (if (negative? x)\"\n ATMOSPHERE: (49640..49641) \"\n\"\n ATMOSPHERE: (49641..49674) \";; (exit x)))\"\n ATMOSPHERE: (49674..49675) \"\n\"\n ATMOSPHERE: (49675..49713) \";; '(54 0 37 -3 245 19))\"\n ATMOSPHERE: (49713..49714) \"\n\"\n ATMOSPHERE: (49714..49726) \";; #t)))\"\n ATMOSPHERE: (49726..49727) \"\n\"\n ATMOSPHERE: (49727..49749) \";; (define list-length\"\n ATMOSPHERE: (49749..49750) \"\n\"\n ATMOSPHERE: (49750..49768) \";; (lambda (obj)\"\n ATMOSPHERE: (49768..49769) \"\n\"\n ATMOSPHERE: (49769..49807) \";; (call-with-current-continuation\"\n ATMOSPHERE: (49807..49808) \"\n\"\n ATMOSPHERE: (49808..49833) \";; (lambda (return)\"\n ATMOSPHERE: (49833..49834) \"\n\"\n ATMOSPHERE: (49834..49856) \";; (letrec ((r\"\n ATMOSPHERE: (49856..49857) \"\n\"\n ATMOSPHERE: (49857..49891) \";; (lambda (obj)\"\n ATMOSPHERE: (49891..49892) \"\n\"\n ATMOSPHERE: (49892..49936) \";; (cond ((null? obj) 0)\"\n ATMOSPHERE: (49936..49937) \"\n\"\n ATMOSPHERE: (49937..49978) \";; ((pair? obj)\"\n ATMOSPHERE: (49978..49979) \"\n\"\n ATMOSPHERE: (49979..50029) \";; (+ (r (cdr obj)) 1))\"\n ATMOSPHERE: (50029..50030) \"\n\"\n ATMOSPHERE: (50030..50081) \";; (else (return #f))))))\"\n ATMOSPHERE: (50081..50082) \"\n\"\n ATMOSPHERE: (50082..50107) \";; (r obj))))))\"\n ATMOSPHERE: (50107..50109) \"\n\n\"\n ATMOSPHERE: (50109..50145) \";; (test 4 (list-length '(1 2 3 4)))\"\n ATMOSPHERE: (50145..50147) \"\n\n\"\n ATMOSPHERE: (50147..50184) \";; (test #f (list-length '(a b . c)))\"\n ATMOSPHERE: (50184..50186) \"\n\n\"\n ATMOSPHERE: (50186..50196) \";; (test 5\"\n ATMOSPHERE: (50196..50197) \"\n\"\n ATMOSPHERE: (50197..50246) \";; (call-with-values (lambda () (values 4 5))\"\n ATMOSPHERE: (50246..50247) \"\n\"\n ATMOSPHERE: (50247..50274) \";; (lambda (a b) b)))\"\n ATMOSPHERE: (50274..50276) \"\n\n\"\n ATMOSPHERE: (50276..50311) \";; (test -1 (call-with-values * -))\"\n ATMOSPHERE: (50311..50313) \"\n\n\"\n ATMOSPHERE: (50313..50348) \";; (test '(connect talk1 disconnect\"\n ATMOSPHERE: (50348..50349) \"\n\"\n ATMOSPHERE: (50349..50385) \";; connect talk2 disconnect)\"\n ATMOSPHERE: (50385..50386) \"\n\"\n ATMOSPHERE: (50386..50409) \";; (let ((path '())\"\n ATMOSPHERE: (50409..50410) \"\n\"\n ATMOSPHERE: (50410..50430) \";; (c #f))\"\n ATMOSPHERE: (50430..50431) \"\n\"\n ATMOSPHERE: (50431..50462) \";; (let ((add (lambda (s)\"\n ATMOSPHERE: (50462..50463) \"\n\"\n ATMOSPHERE: (50463..50513) \";; (set! path (cons s path)))))\"\n ATMOSPHERE: (50513..50514) \"\n\"\n ATMOSPHERE: (50514..50538) \";; (dynamic-wind\"\n ATMOSPHERE: (50538..50539) \"\n\"\n ATMOSPHERE: (50539..50578) \";; (lambda () (add 'connect))\"\n ATMOSPHERE: (50578..50579) \"\n\"\n ATMOSPHERE: (50579..50602) \";; (lambda ()\"\n ATMOSPHERE: (50602..50603) \"\n\"\n ATMOSPHERE: (50603..50654) \";; (add (call-with-current-continuation\"\n ATMOSPHERE: (50654..50655) \"\n\"\n ATMOSPHERE: (50655..50688) \";; (lambda (c0)\"\n ATMOSPHERE: (50688..50689) \"\n\"\n ATMOSPHERE: (50689..50723) \";; (set! c c0)\"\n ATMOSPHERE: (50723..50724) \"\n\"\n ATMOSPHERE: (50724..50757) \";; 'talk1))))\"\n ATMOSPHERE: (50757..50758) \"\n\"\n ATMOSPHERE: (50758..50801) \";; (lambda () (add 'disconnect)))\"\n ATMOSPHERE: (50801..50802) \"\n\"\n ATMOSPHERE: (50802..50836) \";; (if (< (length path) 4)\"\n ATMOSPHERE: (50836..50837) \"\n\"\n ATMOSPHERE: (50837..50862) \";; (c 'talk2)\"\n ATMOSPHERE: (50862..50863) \"\n\"\n ATMOSPHERE: (50863..50896) \";; (reverse path)))))\"\n ATMOSPHERE: (50896..50898) \"\n\n\"\n FORM: (50898..50908)\n OPEN_PAREN: (50898..50899) \"(\"\n SYMBOL: (50899..50907)\n IDENTIFIER: (50899..50907) \"test-end\"\n CLOSE_PAREN: (50907..50908) \")\"\n ATMOSPHERE: (50908..50910) \"\n\n\"\n FORM: (50910..50940)\n OPEN_PAREN: (50910..50911) \"(\"\n SYMBOL: (50911..50921)\n IDENTIFIER: (50911..50921) \"test-begin\"\n ATMOSPHERE: (50921..50922) \" \"\n CONSTANT: (50922..50939)\n STRING: (50922..50939) \"\"6.11 Exceptions\"\"\n CLOSE_PAREN: (50939..50940) \")\"\n ATMOSPHERE: (50940..50942) \"\n\n\"\n ATMOSPHERE: (50942..50953) \";; (test 65\"\n ATMOSPHERE: (50953..50954) \"\n\"\n ATMOSPHERE: (50954..50984) \";; (with-exception-handler\"\n ATMOSPHERE: (50984..50985) \"\n\"\n ATMOSPHERE: (50985..51010) \";; (lambda (con) 42)\"\n ATMOSPHERE: (51010..51011) \"\n\"\n ATMOSPHERE: (51011..51029) \";; (lambda ()\"\n ATMOSPHERE: (51029..51030) \"\n\"\n ATMOSPHERE: (51030..51083) \";; (+ (raise-continuable \"should be a number\")\"\n ATMOSPHERE: (51083..51084) \"\n\"\n ATMOSPHERE: (51084..51103) \";; 23))))\"\n ATMOSPHERE: (51103..51105) \"\n\n\"\n ATMOSPHERE: (51105..51116) \";; (test #t\"\n ATMOSPHERE: (51116..51117) \"\n\"\n ATMOSPHERE: (51117..51187) \";; (error-object? (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51187..51188) \"\n\"\n ATMOSPHERE: (51188..51204) \";; (test \"BOOM!\"\"\n ATMOSPHERE: (51204..51205) \"\n\"\n ATMOSPHERE: (51205..51282) \";; (error-object-message (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51282..51283) \"\n\"\n ATMOSPHERE: (51283..51300) \";; (test '(1 2 3)\"\n ATMOSPHERE: (51300..51301) \"\n\"\n ATMOSPHERE: (51301..51380) \";; (error-object-irritants (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51380..51382) \"\n\n\"\n ATMOSPHERE: (51382..51393) \";; (test #f\"\n ATMOSPHERE: (51393..51394) \"\n\"\n ATMOSPHERE: (51394..51456) \";; (file-error? (guard (exn (else exn)) (error \"BOOM!\"))))\"\n ATMOSPHERE: (51456..51457) \"\n\"\n ATMOSPHERE: (51457..51468) \";; (test #t\"\n ATMOSPHERE: (51468..51469) \"\n\"\n ATMOSPHERE: (51469..51550) \";; (file-error? (guard (exn (else exn)) (open-input-file \" no such file \"))))\"\n ATMOSPHERE: (51550..51552) \"\n\n\"\n ATMOSPHERE: (51552..51563) \";; (test #f\"\n ATMOSPHERE: (51563..51564) \"\n\"\n ATMOSPHERE: (51564..51626) \";; (read-error? (guard (exn (else exn)) (error \"BOOM!\"))))\"\n ATMOSPHERE: (51626..51627) \"\n\"\n ATMOSPHERE: (51627..51638) \";; (test #t\"\n ATMOSPHERE: (51638..51639) \"\n\"\n ATMOSPHERE: (51639..51716) \";; (read-error? (guard (exn (else exn)) (read (open-input-string \")\")))))\"\n ATMOSPHERE: (51716..51717) \"\n\"\n ATMOSPHERE: (51717..51728) \";; (test #t\"\n ATMOSPHERE: (51728..51729) \"\n\"\n ATMOSPHERE: (51729..51807) \";; (read-error? (guard (exn (else exn)) (read (open-input-string \"\\\"\")))))\"\n ATMOSPHERE: (51807..51809) \"\n\n\"\n ATMOSPHERE: (51809..51844) \";; (define something-went-wrong #f)\"\n ATMOSPHERE: (51844..51845) \"\n\"\n ATMOSPHERE: (51845..51884) \";; (define (test-exception-handler-1 v)\"\n ATMOSPHERE: (51884..51885) \"\n\"\n ATMOSPHERE: (51885..51921) \";; (call-with-current-continuation\"\n ATMOSPHERE: (51921..51922) \"\n\"\n ATMOSPHERE: (51922..51939) \";; (lambda (k)\"\n ATMOSPHERE: (51939..51940) \"\n\"\n ATMOSPHERE: (51940..51971) \";; (with-exception-handler\"\n ATMOSPHERE: (51971..51972) \"\n\"\n ATMOSPHERE: (51972..51992) \";; (lambda (x)\"\n ATMOSPHERE: (51992..51993) \"\n\"\n ATMOSPHERE: (51993..52054) \";; (set! something-went-wrong (list \"condition: \" x))\"\n ATMOSPHERE: (52054..52055) \"\n\"\n ATMOSPHERE: (52055..52081) \";; (k 'exception))\"\n ATMOSPHERE: (52081..52082) \"\n\"\n ATMOSPHERE: (52082..52101) \";; (lambda ()\"\n ATMOSPHERE: (52101..52102) \"\n\"\n ATMOSPHERE: (52102..52164) \";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error))))))))\"\n ATMOSPHERE: (52164..52165) \"\n\"\n ATMOSPHERE: (52165..52207) \";; (test 106 (test-exception-handler-1 5))\"\n ATMOSPHERE: (52207..52208) \"\n\"\n ATMOSPHERE: (52208..52241) \";; (test #f something-went-wrong)\"\n ATMOSPHERE: (52241..52242) \"\n\"\n ATMOSPHERE: (52242..52292) \";; (test 'exception (test-exception-handler-1 -1))\"\n ATMOSPHERE: (52292..52293) \"\n\"\n ATMOSPHERE: (52293..52349) \";; (test '(\"condition: \" an-error) something-went-wrong)\"\n ATMOSPHERE: (52349..52351) \"\n\n\"\n ATMOSPHERE: (52351..52384) \";; (set! something-went-wrong #f)\"\n ATMOSPHERE: (52384..52385) \"\n\"\n ATMOSPHERE: (52385..52424) \";; (define (test-exception-handler-2 v)\"\n ATMOSPHERE: (52424..52425) \"\n\"\n ATMOSPHERE: (52425..52474) \";; (guard (ex (else 'caught-another-exception))\"\n ATMOSPHERE: (52474..52475) \"\n\"\n ATMOSPHERE: (52475..52505) \";; (with-exception-handler\"\n ATMOSPHERE: (52505..52506) \"\n\"\n ATMOSPHERE: (52506..52525) \";; (lambda (x)\"\n ATMOSPHERE: (52525..52526) \"\n\"\n ATMOSPHERE: (52526..52566) \";; (set! something-went-wrong #t)\"\n ATMOSPHERE: (52566..52567) \"\n\"\n ATMOSPHERE: (52567..52599) \";; (list \"exception:\" x))\"\n ATMOSPHERE: (52599..52600) \"\n\"\n ATMOSPHERE: (52600..52618) \";; (lambda ()\"\n ATMOSPHERE: (52618..52619) \"\n\"\n ATMOSPHERE: (52619..52679) \";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error)))))))\"\n ATMOSPHERE: (52679..52680) \"\n\"\n ATMOSPHERE: (52680..52722) \";; (test 106 (test-exception-handler-2 5))\"\n ATMOSPHERE: (52722..52723) \"\n\"\n ATMOSPHERE: (52723..52756) \";; (test #f something-went-wrong)\"\n ATMOSPHERE: (52756..52757) \"\n\"\n ATMOSPHERE: (52757..52822) \";; (test 'caught-another-exception (test-exception-handler-2 -1))\"\n ATMOSPHERE: (52822..52823) \"\n\"\n ATMOSPHERE: (52823..52856) \";; (test #t something-went-wrong)\"\n ATMOSPHERE: (52856..52858) \"\n\n\"\n ATMOSPHERE: (52858..52921) \";; ;; Based on an example from R6RS-lib section 7.1 Exceptions.\"\n ATMOSPHERE: (52921..52922) \"\n\"\n ATMOSPHERE: (52922..52982) \";; ;; R7RS section 6.11 Exceptions has a simplified version.\"\n ATMOSPHERE: (52982..52983) \"\n\"\n ATMOSPHERE: (52983..53019) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (53019..53020) \"\n\"\n ATMOSPHERE: (53020..53060) \";; (value (with-exception-handler\"\n ATMOSPHERE: (53060..53061) \"\n\"\n ATMOSPHERE: (53061..53092) \";; (lambda (con)\"\n ATMOSPHERE: (53092..53093) \"\n\"\n ATMOSPHERE: (53093..53118) \";; (cond\"\n ATMOSPHERE: (53118..53119) \"\n\"\n ATMOSPHERE: (53119..53158) \";; ((not (list? con))\"\n ATMOSPHERE: (53158..53159) \"\n\"\n ATMOSPHERE: (53159..53193) \";; (raise con))\"\n ATMOSPHERE: (53193..53194) \"\n\"\n ATMOSPHERE: (53194..53227) \";; ((list? con)\"\n ATMOSPHERE: (53227..53228) \"\n\"\n ATMOSPHERE: (53228..53274) \";; (display (car con) out))\"\n ATMOSPHERE: (53274..53275) \"\n\"\n ATMOSPHERE: (53275..53301) \";; (else\"\n ATMOSPHERE: (53301..53302) \"\n\"\n ATMOSPHERE: (53302..53367) \";; (display \"a warning has been issued\" out)))\"\n ATMOSPHERE: (53367..53368) \"\n\"\n ATMOSPHERE: (53368..53391) \";; 42)\"\n ATMOSPHERE: (53391..53392) \"\n\"\n ATMOSPHERE: (53392..53420) \";; (lambda ()\"\n ATMOSPHERE: (53420..53421) \"\n\"\n ATMOSPHERE: (53421..53462) \";; (+ (raise-continuable\"\n ATMOSPHERE: (53462..53463) \"\n\"\n ATMOSPHERE: (53463..53515) \";; (list \"should be a number\"))\"\n ATMOSPHERE: (53515..53516) \"\n\"\n ATMOSPHERE: (53516..53546) \";; 23)))))\"\n ATMOSPHERE: (53546..53547) \"\n\"\n ATMOSPHERE: (53547..53603) \";; (test \"should be a number\" (get-output-string out))\"\n ATMOSPHERE: (53603..53604) \"\n\"\n ATMOSPHERE: (53604..53625) \";; (test 65 value))\"\n ATMOSPHERE: (53625..53627) \"\n\n\"\n ATMOSPHERE: (53627..53669) \";; ;; From SRFI-34 \"Examples\" section - #3\"\n ATMOSPHERE: (53669..53670) \"\n\"\n ATMOSPHERE: (53670..53713) \";; (define (test-exception-handler-3 v out)\"\n ATMOSPHERE: (53713..53714) \"\n\"\n ATMOSPHERE: (53714..53736) \";; (guard (condition\"\n ATMOSPHERE: (53736..53737) \"\n\"\n ATMOSPHERE: (53737..53755) \";; (else\"\n ATMOSPHERE: (53755..53756) \"\n\"\n ATMOSPHERE: (53756..53797) \";; (display \"condition: \" out)\"\n ATMOSPHERE: (53797..53798) \"\n\"\n ATMOSPHERE: (53798..53833) \";; (write condition out)\"\n ATMOSPHERE: (53833..53834) \"\n\"\n ATMOSPHERE: (53834..53865) \";; (display #\\! out)\"\n ATMOSPHERE: (53865..53866) \"\n\"\n ATMOSPHERE: (53866..53892) \";; 'exception))\"\n ATMOSPHERE: (53892..53893) \"\n\"\n ATMOSPHERE: (53893..53952) \";; (+ 1 (if (= v 0) (raise 'an-error) (/ 10 v)))))\"\n ATMOSPHERE: (53952..53953) \"\n\"\n ATMOSPHERE: (53953..53989) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (53989..53990) \"\n\"\n ATMOSPHERE: (53990..54041) \";; (value (test-exception-handler-3 0 out)))\"\n ATMOSPHERE: (54041..54042) \"\n\"\n ATMOSPHERE: (54042..54070) \";; (test 'exception value)\"\n ATMOSPHERE: (54070..54071) \"\n\"\n ATMOSPHERE: (54071..54130) \";; (test \"condition: an-error!\" (get-output-string out)))\"\n ATMOSPHERE: (54130..54132) \"\n\n\"\n ATMOSPHERE: (54132..54175) \";; (define (test-exception-handler-4 v out)\"\n ATMOSPHERE: (54175..54176) \"\n\"\n ATMOSPHERE: (54176..54212) \";; (call-with-current-continuation\"\n ATMOSPHERE: (54212..54213) \"\n\"\n ATMOSPHERE: (54213..54230) \";; (lambda (k)\"\n ATMOSPHERE: (54230..54231) \"\n\"\n ATMOSPHERE: (54231..54262) \";; (with-exception-handler\"\n ATMOSPHERE: (54262..54263) \"\n\"\n ATMOSPHERE: (54263..54283) \";; (lambda (x)\"\n ATMOSPHERE: (54283..54284) \"\n\"\n ATMOSPHERE: (54284..54320) \";; (display \"reraised \" out)\"\n ATMOSPHERE: (54320..54321) \"\n\"\n ATMOSPHERE: (54321..54363) \";; (write x out) (display #\\! out)\"\n ATMOSPHERE: (54363..54364) \"\n\"\n ATMOSPHERE: (54364..54385) \";; (k 'zero))\"\n ATMOSPHERE: (54385..54386) \"\n\"\n ATMOSPHERE: (54386..54405) \";; (lambda ()\"\n ATMOSPHERE: (54405..54406) \"\n\"\n ATMOSPHERE: (54406..54434) \";; (guard (condition\"\n ATMOSPHERE: (54434..54435) \"\n\"\n ATMOSPHERE: (54435..54476) \";; ((positive? condition)\"\n ATMOSPHERE: (54476..54477) \"\n\"\n ATMOSPHERE: (54477..54507) \";; 'positive)\"\n ATMOSPHERE: (54507..54508) \"\n\"\n ATMOSPHERE: (54508..54549) \";; ((negative? condition)\"\n ATMOSPHERE: (54549..54550) \"\n\"\n ATMOSPHERE: (54550..54581) \";; 'negative))\"\n ATMOSPHERE: (54581..54582) \"\n\"\n ATMOSPHERE: (54582..54610) \";; (raise v)))))))\"\n ATMOSPHERE: (54610..54612) \"\n\n\"\n ATMOSPHERE: (54612..54654) \";; ;; From SRFI-34 \"Examples\" section - #5\"\n ATMOSPHERE: (54654..54655) \"\n\"\n ATMOSPHERE: (54655..54691) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (54691..54692) \"\n\"\n ATMOSPHERE: (54692..54743) \";; (value (test-exception-handler-4 1 out)))\"\n ATMOSPHERE: (54743..54744) \"\n\"\n ATMOSPHERE: (54744..54782) \";; (test \"\" (get-output-string out))\"\n ATMOSPHERE: (54782..54783) \"\n\"\n ATMOSPHERE: (54783..54811) \";; (test 'positive value))\"\n ATMOSPHERE: (54811..54812) \"\n\"\n ATMOSPHERE: (54812..54854) \";; ;; From SRFI-34 \"Examples\" section - #6\"\n ATMOSPHERE: (54854..54855) \"\n\"\n ATMOSPHERE: (54855..54891) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (54891..54892) \"\n\"\n ATMOSPHERE: (54892..54944) \";; (value (test-exception-handler-4 -1 out)))\"\n ATMOSPHERE: (54944..54945) \"\n\"\n ATMOSPHERE: (54945..54983) \";; (test \"\" (get-output-string out))\"\n ATMOSPHERE: (54983..54984) \"\n\"\n ATMOSPHERE: (54984..55012) \";; (test 'negative value))\"\n ATMOSPHERE: (55012..55013) \"\n\"\n ATMOSPHERE: (55013..55055) \";; ;; From SRFI-34 \"Examples\" section - #7\"\n ATMOSPHERE: (55055..55056) \"\n\"\n ATMOSPHERE: (55056..55092) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (55092..55093) \"\n\"\n ATMOSPHERE: (55093..55144) \";; (value (test-exception-handler-4 0 out)))\"\n ATMOSPHERE: (55144..55145) \"\n\"\n ATMOSPHERE: (55145..55194) \";; (test \"reraised 0!\" (get-output-string out))\"\n ATMOSPHERE: (55194..55195) \"\n\"\n ATMOSPHERE: (55195..55219) \";; (test 'zero value))\"\n ATMOSPHERE: (55219..55221) \"\n\n\"\n ATMOSPHERE: (55221..55263) \";; ;; From SRFI-34 \"Examples\" section - #8\"\n ATMOSPHERE: (55263..55264) \"\n\"\n ATMOSPHERE: (55264..55275) \";; (test 42\"\n ATMOSPHERE: (55275..55276) \"\n\"\n ATMOSPHERE: (55276..55300) \";; (guard (condition\"\n ATMOSPHERE: (55300..55301) \"\n\"\n ATMOSPHERE: (55301..55344) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55344..55345) \"\n\"\n ATMOSPHERE: (55345..55382) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55382..55383) \"\n\"\n ATMOSPHERE: (55383..55421) \";; (raise (list (cons 'a 42)))))\"\n ATMOSPHERE: (55421..55423) \"\n\n\"\n ATMOSPHERE: (55423..55465) \";; ;; From SRFI-34 \"Examples\" section - #9\"\n ATMOSPHERE: (55465..55466) \"\n\"\n ATMOSPHERE: (55466..55484) \";; (test '(b . 23)\"\n ATMOSPHERE: (55484..55485) \"\n\"\n ATMOSPHERE: (55485..55509) \";; (guard (condition\"\n ATMOSPHERE: (55509..55510) \"\n\"\n ATMOSPHERE: (55510..55553) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55553..55554) \"\n\"\n ATMOSPHERE: (55554..55591) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55591..55592) \"\n\"\n ATMOSPHERE: (55592..55630) \";; (raise (list (cons 'b 23)))))\"\n ATMOSPHERE: (55630..55632) \"\n\n\"\n ATMOSPHERE: (55632..55650) \";; (test 'caught-d\"\n ATMOSPHERE: (55650..55651) \"\n\"\n ATMOSPHERE: (55651..55675) \";; (guard (condition\"\n ATMOSPHERE: (55675..55676) \"\n\"\n ATMOSPHERE: (55676..55722) \";; ((assq 'c condition) 'caught-c)\"\n ATMOSPHERE: (55722..55723) \"\n\"\n ATMOSPHERE: (55723..55770) \";; ((assq 'd condition) 'caught-d))\"\n ATMOSPHERE: (55770..55771) \"\n\"\n ATMOSPHERE: (55771..55785) \";; (list\"\n ATMOSPHERE: (55785..55786) \"\n\"\n ATMOSPHERE: (55786..55804) \";; (sqrt 8)\"\n ATMOSPHERE: (55804..55805) \"\n\"\n ATMOSPHERE: (55805..55832) \";; (guard (condition\"\n ATMOSPHERE: (55832..55833) \"\n\"\n ATMOSPHERE: (55833..55879) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55879..55880) \"\n\"\n ATMOSPHERE: (55880..55920) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55920..55921) \"\n\"\n ATMOSPHERE: (55921..55964) \";; (raise (list (cons 'd 24)))))))\"\n ATMOSPHERE: (55964..55966) \"\n\n\"\n FORM: (55966..55976)\n OPEN_PAREN: (55966..55967) \"(\"\n SYMBOL: (55967..55975)\n IDENTIFIER: (55967..55975) \"test-end\"\n CLOSE_PAREN: (55975..55976) \")\"\n ATMOSPHERE: (55976..55978) \"\n\n\"\n FORM: (55978..56025)\n OPEN_PAREN: (55978..55979) \"(\"\n SYMBOL: (55979..55989)\n IDENTIFIER: (55979..55989) \"test-begin\"\n ATMOSPHERE: (55989..55990) \" \"\n CONSTANT: (55990..56024)\n STRING: (55990..56024) \"\"6.12 Environments and evaluation\"\"\n CLOSE_PAREN: (56024..56025) \")\"\n ATMOSPHERE: (56025..56027) \"\n\n\"\n ATMOSPHERE: (56027..56088) \";; ;; (test 21 (eval '(* 7 3) (scheme-report-environment 5)))\"\n ATMOSPHERE: (56088..56090) \"\n\n\"\n ATMOSPHERE: (56090..56101) \";; (test 20\"\n ATMOSPHERE: (56101..56102) \"\n\"\n ATMOSPHERE: (56102..56171) \";; (let ((f (eval '(lambda (f x) (f x x)) (null-environment 5))))\"\n ATMOSPHERE: (56171..56172) \"\n\"\n ATMOSPHERE: (56172..56191) \";; (f + 10)))\"\n ATMOSPHERE: (56191..56193) \"\n\n\"\n ATMOSPHERE: (56193..56256) \";; (test 1024 (eval '(expt 2 10) (environment '(scheme base))))\"\n ATMOSPHERE: (56256..56257) \"\n\"\n ATMOSPHERE: (56257..56294) \";; ;; (sin 0) may return exact number\"\n ATMOSPHERE: (56294..56295) \"\n\"\n ATMOSPHERE: (56295..56366) \";; (test 0.0 (inexact (eval '(sin 0) (environment '(scheme inexact)))))\"\n ATMOSPHERE: (56366..56367) \"\n\"\n ATMOSPHERE: (56367..56378) \";; ;; ditto\"\n ATMOSPHERE: (56378..56379) \"\n\"\n ATMOSPHERE: (56379..56435) \";; (test 1024.0 (eval '(+ (expt 2 10) (inexact (sin 0)))\"\n ATMOSPHERE: (56435..56436) \"\n\"\n ATMOSPHERE: (56436..56506) \";; (environment '(scheme base) '(scheme inexact))))\"\n ATMOSPHERE: (56506..56508) \"\n\n\"\n FORM: (56508..56518)\n OPEN_PAREN: (56508..56509) \"(\"\n SYMBOL: (56509..56517)\n IDENTIFIER: (56509..56517) \"test-end\"\n CLOSE_PAREN: (56517..56518) \")\"\n ATMOSPHERE: (56518..56520) \"\n\n\"\n FORM: (56520..56556)\n OPEN_PAREN: (56520..56521) \"(\"\n SYMBOL: (56521..56531)\n IDENTIFIER: (56521..56531) \"test-begin\"\n ATMOSPHERE: (56531..56532) \" \"\n CONSTANT: (56532..56555)\n STRING: (56532..56555) \"\"6.13 Input and output\"\"\n CLOSE_PAREN: (56555..56556) \")\"\n ATMOSPHERE: (56556..56558) \"\n\n\"\n ATMOSPHERE: (56558..56599) \";; (test #t (port? (current-input-port)))\"\n ATMOSPHERE: (56599..56600) \"\n\"\n ATMOSPHERE: (56600..56647) \";; (test #t (input-port? (current-input-port)))\"\n ATMOSPHERE: (56647..56648) \"\n\"\n ATMOSPHERE: (56648..56697) \";; (test #t (output-port? (current-output-port)))\"\n ATMOSPHERE: (56697..56698) \"\n\"\n ATMOSPHERE: (56698..56746) \";; (test #t (output-port? (current-error-port)))\"\n ATMOSPHERE: (56746..56747) \"\n\"\n ATMOSPHERE: (56747..56799) \";; (test #t (input-port? (open-input-string \"abc\")))\"\n ATMOSPHERE: (56799..56800) \"\n\"\n ATMOSPHERE: (56800..56848) \";; (test #t (output-port? (open-output-string)))\"\n ATMOSPHERE: (56848..56850) \"\n\n\"\n ATMOSPHERE: (56850..56904) \";; (test #t (textual-port? (open-input-string \"abc\")))\"\n ATMOSPHERE: (56904..56905) \"\n\"\n ATMOSPHERE: (56905..56954) \";; (test #t (textual-port? (open-output-string)))\"\n ATMOSPHERE: (56954..56955) \"\n\"\n ATMOSPHERE: (56955..57017) \";; (test #t (binary-port? (open-input-bytevector #u8(0 1 2))))\"\n ATMOSPHERE: (57017..57018) \"\n\"\n ATMOSPHERE: (57018..57070) \";; (test #t (binary-port? (open-output-bytevector)))\"\n ATMOSPHERE: (57070..57072) \"\n\n\"\n ATMOSPHERE: (57072..57129) \";; (test #t (input-port-open? (open-input-string \"abc\")))\"\n ATMOSPHERE: (57129..57130) \"\n\"\n ATMOSPHERE: (57130..57183) \";; (test #t (output-port-open? (open-output-string)))\"\n ATMOSPHERE: (57183..57185) \"\n\n\"\n ATMOSPHERE: (57185..57196) \";; (test #f\"\n ATMOSPHERE: (57196..57197) \"\n\"\n ATMOSPHERE: (57197..57241) \";; (let ((in (open-input-string \"abc\")))\"\n ATMOSPHERE: (57241..57242) \"\n\"\n ATMOSPHERE: (57242..57272) \";; (close-input-port in)\"\n ATMOSPHERE: (57272..57273) \"\n\"\n ATMOSPHERE: (57273..57305) \";; (input-port-open? in)))\"\n ATMOSPHERE: (57305..57307) \"\n\n\"\n ATMOSPHERE: (57307..57318) \";; (test #f\"\n ATMOSPHERE: (57318..57319) \"\n\"\n ATMOSPHERE: (57319..57359) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57359..57360) \"\n\"\n ATMOSPHERE: (57360..57392) \";; (close-output-port out)\"\n ATMOSPHERE: (57392..57393) \"\n\"\n ATMOSPHERE: (57393..57427) \";; (output-port-open? out)))\"\n ATMOSPHERE: (57427..57429) \"\n\n\"\n ATMOSPHERE: (57429..57440) \";; (test #f\"\n ATMOSPHERE: (57440..57441) \"\n\"\n ATMOSPHERE: (57441..57481) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57481..57482) \"\n\"\n ATMOSPHERE: (57482..57507) \";; (close-port out)\"\n ATMOSPHERE: (57507..57508) \"\n\"\n ATMOSPHERE: (57508..57542) \";; (output-port-open? out)))\"\n ATMOSPHERE: (57542..57544) \"\n\n\"\n ATMOSPHERE: (57544..57559) \";; (test 'error\"\n ATMOSPHERE: (57559..57560) \"\n\"\n ATMOSPHERE: (57560..57604) \";; (let ((in (open-input-string \"abc\")))\"\n ATMOSPHERE: (57604..57605) \"\n\"\n ATMOSPHERE: (57605..57635) \";; (close-input-port in)\"\n ATMOSPHERE: (57635..57636) \"\n\"\n ATMOSPHERE: (57636..57689) \";; (guard (exn (else 'error)) (read-char in))))\"\n ATMOSPHERE: (57689..57691) \"\n\n\"\n ATMOSPHERE: (57691..57706) \";; (test 'error\"\n ATMOSPHERE: (57706..57707) \"\n\"\n ATMOSPHERE: (57707..57747) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57747..57748) \"\n\"\n ATMOSPHERE: (57748..57780) \";; (close-output-port out)\"\n ATMOSPHERE: (57780..57781) \"\n\"\n ATMOSPHERE: (57781..57840) \";; (guard (exn (else 'error)) (write-char #\\c out))))\"\n ATMOSPHERE: (57840..57842) \"\n\n\"\n ATMOSPHERE: (57842..57881) \";; (test #t (eof-object? (eof-object)))\"\n ATMOSPHERE: (57881..57882) \"\n\"\n ATMOSPHERE: (57882..57938) \";; (test #t (eof-object? (read (open-input-string \"\"))))\"\n ATMOSPHERE: (57938..57939) \"\n\"\n ATMOSPHERE: (57939..57990) \";; (test #t (char-ready? (open-input-string \"42\")))\"\n ATMOSPHERE: (57990..57991) \"\n\"\n ATMOSPHERE: (57991..58037) \";; (test 42 (read (open-input-string \" 42 \")))\"\n ATMOSPHERE: (58037..58039) \"\n\n\"\n ATMOSPHERE: (58039..58100) \";; (test #t (eof-object? (read-char (open-input-string \"\"))))\"\n ATMOSPHERE: (58100..58101) \"\n\"\n ATMOSPHERE: (58101..58152) \";; (test #\\a (read-char (open-input-string \"abc\")))\"\n ATMOSPHERE: (58152..58154) \"\n\n\"\n ATMOSPHERE: (58154..58215) \";; (test #t (eof-object? (read-line (open-input-string \"\"))))\"\n ATMOSPHERE: (58215..58216) \"\n\"\n ATMOSPHERE: (58216..58269) \";; (test \"abc\" (read-line (open-input-string \"abc\")))\"\n ATMOSPHERE: (58269..58270) \"\n\"\n ATMOSPHERE: (58270..58330) \";; (test \"abc\" (read-line (open-input-string \"abc\\ndef\\n\")))\"\n ATMOSPHERE: (58330..58332) \"\n\n\"\n ATMOSPHERE: (58332..58397) \";; (test #t (eof-object? (read-string 3 (open-input-string \"\"))))\"\n ATMOSPHERE: (58397..58398) \"\n\"\n ATMOSPHERE: (58398..58456) \";; (test \"abc\" (read-string 3 (open-input-string \"abcd\")))\"\n ATMOSPHERE: (58456..58457) \"\n\"\n ATMOSPHERE: (58457..58521) \";; (test \"abc\" (read-string 3 (open-input-string \"abc\\ndef\\n\")))\"\n ATMOSPHERE: (58521..58523) \"\n\n\"\n ATMOSPHERE: (58523..58596) \";; (let ((in (open-input-string (string #\\x10F700 #\\x10F701 #\\x10F702))))\"\n ATMOSPHERE: (58596..58597) \"\n\"\n ATMOSPHERE: (58597..58628) \";; (let* ((c0 (peek-char in))\"\n ATMOSPHERE: (58628..58629) \"\n\"\n ATMOSPHERE: (58629..58660) \";; (c1 (read-char in))\"\n ATMOSPHERE: (58660..58661) \"\n\"\n ATMOSPHERE: (58661..58692) \";; (c2 (read-char in))\"\n ATMOSPHERE: (58692..58693) \"\n\"\n ATMOSPHERE: (58693..58725) \";; (c3 (read-char in)))\"\n ATMOSPHERE: (58725..58726) \"\n\"\n ATMOSPHERE: (58726..58752) \";; (test #\\x10F700 c0)\"\n ATMOSPHERE: (58752..58753) \"\n\"\n ATMOSPHERE: (58753..58779) \";; (test #\\x10F700 c1)\"\n ATMOSPHERE: (58779..58780) \"\n\"\n ATMOSPHERE: (58780..58806) \";; (test #\\x10F701 c2)\"\n ATMOSPHERE: (58806..58807) \"\n\"\n ATMOSPHERE: (58807..58835) \";; (test #\\x10F702 c3)))\"\n ATMOSPHERE: (58835..58837) \"\n\n\"\n ATMOSPHERE: (58837..58864) \";; (test (string #\\x10F700)\"\n ATMOSPHERE: (58864..58865) \"\n\"\n ATMOSPHERE: (58865..58905) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (58905..58906) \"\n\"\n ATMOSPHERE: (58906..58941) \";; (write-char #\\x10F700 out)\"\n ATMOSPHERE: (58941..58942) \"\n\"\n ATMOSPHERE: (58942..58976) \";; (get-output-string out)))\"\n ATMOSPHERE: (58976..58978) \"\n\n\"\n ATMOSPHERE: (58978..58992) \";; (test \"abc\"\"\n ATMOSPHERE: (58992..58993) \"\n\"\n ATMOSPHERE: (58993..59033) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59033..59034) \"\n\"\n ATMOSPHERE: (59034..59059) \";; (write 'abc out)\"\n ATMOSPHERE: (59059..59060) \"\n\"\n ATMOSPHERE: (59060..59094) \";; (get-output-string out)))\"\n ATMOSPHERE: (59094..59096) \"\n\n\"\n ATMOSPHERE: (59096..59114) \";; (test \"abc def\"\"\n ATMOSPHERE: (59114..59115) \"\n\"\n ATMOSPHERE: (59115..59155) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59155..59156) \"\n\"\n ATMOSPHERE: (59156..59188) \";; (display \"abc def\" out)\"\n ATMOSPHERE: (59188..59189) \"\n\"\n ATMOSPHERE: (59189..59223) \";; (get-output-string out)))\"\n ATMOSPHERE: (59223..59225) \"\n\n\"\n ATMOSPHERE: (59225..59239) \";; (test \"abc\"\"\n ATMOSPHERE: (59239..59240) \"\n\"\n ATMOSPHERE: (59240..59280) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59280..59281) \"\n\"\n ATMOSPHERE: (59281..59307) \";; (display #\\a out)\"\n ATMOSPHERE: (59307..59308) \"\n\"\n ATMOSPHERE: (59308..59334) \";; (display \"b\" out)\"\n ATMOSPHERE: (59334..59335) \"\n\"\n ATMOSPHERE: (59335..59361) \";; (display #\\c out)\"\n ATMOSPHERE: (59361..59362) \"\n\"\n ATMOSPHERE: (59362..59396) \";; (get-output-string out)))\"\n ATMOSPHERE: (59396..59398) \"\n\n\"\n ATMOSPHERE: (59398..59409) \";; (test #t\"\n ATMOSPHERE: (59409..59410) \"\n\"\n ATMOSPHERE: (59410..59452) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (59452..59453) \"\n\"\n ATMOSPHERE: (59453..59519) \";; (r (begin (newline out) (get-output-string out))))\"\n ATMOSPHERE: (59519..59520) \"\n\"\n ATMOSPHERE: (59520..59571) \";; (or (equal? r \"\\n\") (equal? r \"\\r\\n\"))))\"\n ATMOSPHERE: (59571..59573) \"\n\n\"\n ATMOSPHERE: (59573..59591) \";; (test \"abc def\"\"\n ATMOSPHERE: (59591..59592) \"\n\"\n ATMOSPHERE: (59592..59632) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59632..59633) \"\n\"\n ATMOSPHERE: (59633..59670) \";; (write-string \"abc def\" out)\"\n ATMOSPHERE: (59670..59671) \"\n\"\n ATMOSPHERE: (59671..59705) \";; (get-output-string out)))\"\n ATMOSPHERE: (59705..59707) \"\n\n\"\n ATMOSPHERE: (59707..59721) \";; (test \"def\"\"\n ATMOSPHERE: (59721..59722) \"\n\"\n ATMOSPHERE: (59722..59762) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59762..59763) \"\n\"\n ATMOSPHERE: (59763..59802) \";; (write-string \"abc def\" out 4)\"\n ATMOSPHERE: (59802..59803) \"\n\"\n ATMOSPHERE: (59803..59837) \";; (get-output-string out)))\"\n ATMOSPHERE: (59837..59839) \"\n\n\"\n ATMOSPHERE: (59839..59853) \";; (test \"c d\"\"\n ATMOSPHERE: (59853..59854) \"\n\"\n ATMOSPHERE: (59854..59894) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59894..59895) \"\n\"\n ATMOSPHERE: (59895..59936) \";; (write-string \"abc def\" out 2 5)\"\n ATMOSPHERE: (59936..59937) \"\n\"\n ATMOSPHERE: (59937..59971) \";; (get-output-string out)))\"\n ATMOSPHERE: (59971..59973) \"\n\n\"\n ATMOSPHERE: (59973..59984) \";; (test \"\"\"\n ATMOSPHERE: (59984..59985) \"\n\"\n ATMOSPHERE: (59985..60023) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (60023..60024) \"\n\"\n ATMOSPHERE: (60024..60054) \";; (flush-output-port out)\"\n ATMOSPHERE: (60054..60055) \"\n\"\n ATMOSPHERE: (60055..60087) \";; (get-output-string out)))\"\n ATMOSPHERE: (60087..60089) \"\n\n\"\n ATMOSPHERE: (60089..60155) \";; (test #t (eof-object? (read-u8 (open-input-bytevector #u8()))))\"\n ATMOSPHERE: (60155..60156) \"\n\"\n ATMOSPHERE: (60156..60212) \";; (test 1 (read-u8 (open-input-bytevector #u8(1 2 3))))\"\n ATMOSPHERE: (60212..60214) \"\n\n\"\n ATMOSPHERE: (60214..60290) \";; (test #t (eof-object? (read-bytevector 3 (open-input-bytevector #u8()))))\"\n ATMOSPHERE: (60290..60291) \"\n\"\n ATMOSPHERE: (60291..60346) \";; (test #t (u8-ready? (open-input-bytevector #u8(1))))\"\n ATMOSPHERE: (60346..60347) \"\n\"\n ATMOSPHERE: (60347..60414) \";; (test #u8(1) (read-bytevector 3 (open-input-bytevector #u8(1))))\"\n ATMOSPHERE: (60414..60415) \"\n\"\n ATMOSPHERE: (60415..60486) \";; (test #u8(1 2) (read-bytevector 3 (open-input-bytevector #u8(1 2))))\"\n ATMOSPHERE: (60486..60487) \"\n\"\n ATMOSPHERE: (60487..60562) \";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3))))\"\n ATMOSPHERE: (60562..60563) \"\n\"\n ATMOSPHERE: (60563..60640) \";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3 4))))\"\n ATMOSPHERE: (60640..60642) \"\n\n\"\n ATMOSPHERE: (60642..60653) \";; (test #t\"\n ATMOSPHERE: (60653..60654) \"\n\"\n ATMOSPHERE: (60654..60695) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60695..60696) \"\n\"\n ATMOSPHERE: (60696..60772) \";; (eof-object? (read-bytevector! bv (open-input-bytevector #u8())))))\"\n ATMOSPHERE: (60772..60774) \"\n\n\"\n ATMOSPHERE: (60774..60798) \";; (test #u8(6 7 8 9 10)\"\n ATMOSPHERE: (60798..60799) \"\n\"\n ATMOSPHERE: (60799..60838) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60838..60839) \"\n\"\n ATMOSPHERE: (60839..60911) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 5)\"\n ATMOSPHERE: (60911..60912) \"\n\"\n ATMOSPHERE: (60912..60923) \";; bv))\"\n ATMOSPHERE: (60923..60925) \"\n\n\"\n ATMOSPHERE: (60925..60948) \";; (test #u8(6 7 8 4 5)\"\n ATMOSPHERE: (60948..60949) \"\n\"\n ATMOSPHERE: (60949..60988) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60988..60989) \"\n\"\n ATMOSPHERE: (60989..61061) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 3)\"\n ATMOSPHERE: (61061..61062) \"\n\"\n ATMOSPHERE: (61062..61073) \";; bv))\"\n ATMOSPHERE: (61073..61075) \"\n\n\"\n ATMOSPHERE: (61075..61098) \";; (test #u8(1 2 3 6 5)\"\n ATMOSPHERE: (61098..61099) \"\n\"\n ATMOSPHERE: (61099..61138) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (61138..61139) \"\n\"\n ATMOSPHERE: (61139..61211) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 3 4)\"\n ATMOSPHERE: (61211..61212) \"\n\"\n ATMOSPHERE: (61212..61223) \";; bv))\"\n ATMOSPHERE: (61223..61225) \"\n\n\"\n ATMOSPHERE: (61225..61244) \";; (test #u8(1 2 3)\"\n ATMOSPHERE: (61244..61245) \"\n\"\n ATMOSPHERE: (61245..61287) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61287..61288) \"\n\"\n ATMOSPHERE: (61288..61311) \";; (write-u8 1 out)\"\n ATMOSPHERE: (61311..61312) \"\n\"\n ATMOSPHERE: (61312..61335) \";; (write-u8 2 out)\"\n ATMOSPHERE: (61335..61336) \"\n\"\n ATMOSPHERE: (61336..61359) \";; (write-u8 3 out)\"\n ATMOSPHERE: (61359..61360) \"\n\"\n ATMOSPHERE: (61360..61396) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61396..61398) \"\n\n\"\n ATMOSPHERE: (61398..61421) \";; (test #u8(1 2 3 4 5)\"\n ATMOSPHERE: (61421..61422) \"\n\"\n ATMOSPHERE: (61422..61464) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61464..61465) \"\n\"\n ATMOSPHERE: (61465..61509) \";; (write-bytevector #u8(1 2 3 4 5) out)\"\n ATMOSPHERE: (61509..61510) \"\n\"\n ATMOSPHERE: (61510..61546) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61546..61548) \"\n\n\"\n ATMOSPHERE: (61548..61567) \";; (test #u8(3 4 5)\"\n ATMOSPHERE: (61567..61568) \"\n\"\n ATMOSPHERE: (61568..61610) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61610..61611) \"\n\"\n ATMOSPHERE: (61611..61657) \";; (write-bytevector #u8(1 2 3 4 5) out 2)\"\n ATMOSPHERE: (61657..61658) \"\n\"\n ATMOSPHERE: (61658..61694) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61694..61696) \"\n\n\"\n ATMOSPHERE: (61696..61713) \";; (test #u8(3 4)\"\n ATMOSPHERE: (61713..61714) \"\n\"\n ATMOSPHERE: (61714..61756) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61756..61757) \"\n\"\n ATMOSPHERE: (61757..61805) \";; (write-bytevector #u8(1 2 3 4 5) out 2 4)\"\n ATMOSPHERE: (61805..61806) \"\n\"\n ATMOSPHERE: (61806..61842) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61842..61844) \"\n\n\"\n ATMOSPHERE: (61844..61858) \";; (test #u8()\"\n ATMOSPHERE: (61858..61859) \"\n\"\n ATMOSPHERE: (61859..61901) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61901..61902) \"\n\"\n ATMOSPHERE: (61902..61932) \";; (flush-output-port out)\"\n ATMOSPHERE: (61932..61933) \"\n\"\n ATMOSPHERE: (61933..61969) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61969..61971) \"\n\n\"\n ATMOSPHERE: (61971..61982) \";; (test #t\"\n ATMOSPHERE: (61982..61983) \"\n\"\n ATMOSPHERE: (61983..62002) \";; (and (member\"\n ATMOSPHERE: (62002..62003) \"\n\"\n ATMOSPHERE: (62003..62048) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62048..62049) \"\n\"\n ATMOSPHERE: (62049..62081) \";; (x (list 1)))\"\n ATMOSPHERE: (62081..62082) \"\n\"\n ATMOSPHERE: (62082..62111) \";; (set-cdr! x x)\"\n ATMOSPHERE: (62111..62112) \"\n\"\n ATMOSPHERE: (62112..62140) \";; (write x out)\"\n ATMOSPHERE: (62140..62141) \"\n\"\n ATMOSPHERE: (62141..62180) \";; (get-output-string out))\"\n ATMOSPHERE: (62180..62181) \"\n\"\n ATMOSPHERE: (62181..62254) \";; ;; labels not guaranteed to be 0 indexed, spacing may differ\"\n ATMOSPHERE: (62254..62255) \"\n\"\n ATMOSPHERE: (62255..62301) \";; '(\"#0=(1 . #0#)\" \"#1=(1 . #1#)\"))\"\n ATMOSPHERE: (62301..62302) \"\n\"\n ATMOSPHERE: (62302..62318) \";; #t))\"\n ATMOSPHERE: (62318..62320) \"\n\n\"\n ATMOSPHERE: (62320..62348) \";; (test \"((1 2 3) (1 2 3))\"\"\n ATMOSPHERE: (62348..62349) \"\n\"\n ATMOSPHERE: (62349..62388) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62388..62389) \"\n\"\n ATMOSPHERE: (62389..62419) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62419..62420) \"\n\"\n ATMOSPHERE: (62420..62451) \";; (write (list x x) out)\"\n ATMOSPHERE: (62451..62452) \"\n\"\n ATMOSPHERE: (62452..62486) \";; (get-output-string out)))\"\n ATMOSPHERE: (62486..62488) \"\n\n\"\n ATMOSPHERE: (62488..62516) \";; (test \"((1 2 3) (1 2 3))\"\"\n ATMOSPHERE: (62516..62517) \"\n\"\n ATMOSPHERE: (62517..62556) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62556..62557) \"\n\"\n ATMOSPHERE: (62557..62587) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62587..62588) \"\n\"\n ATMOSPHERE: (62588..62626) \";; (write-simple (list x x) out)\"\n ATMOSPHERE: (62626..62627) \"\n\"\n ATMOSPHERE: (62627..62661) \";; (get-output-string out)))\"\n ATMOSPHERE: (62661..62663) \"\n\n\"\n ATMOSPHERE: (62663..62674) \";; (test #t\"\n ATMOSPHERE: (62674..62675) \"\n\"\n ATMOSPHERE: (62675..62727) \";; (and (member (let ((out (open-output-string))\"\n ATMOSPHERE: (62727..62728) \"\n\"\n ATMOSPHERE: (62728..62771) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62771..62772) \"\n\"\n ATMOSPHERE: (62772..62823) \";; (write-shared (list x x) out)\"\n ATMOSPHERE: (62823..62824) \"\n\"\n ATMOSPHERE: (62824..62870) \";; (get-output-string out))\"\n ATMOSPHERE: (62870..62871) \"\n\"\n ATMOSPHERE: (62871..62932) \";; '(\"(#0=(1 2 3) #0#)\" \"(#1=(1 2 3) #1#)\"))\"\n ATMOSPHERE: (62932..62933) \"\n\"\n ATMOSPHERE: (62933..62949) \";; #t))\"\n ATMOSPHERE: (62949..62951) \"\n\n\"\n FORM: (62951..62977)\n OPEN_PAREN: (62951..62952) \"(\"\n SYMBOL: (62952..62962)\n IDENTIFIER: (62952..62962) \"test-begin\"\n ATMOSPHERE: (62962..62963) \" \"\n CONSTANT: (62963..62976)\n STRING: (62963..62976) \"\"Read syntax\"\"\n CLOSE_PAREN: (62976..62977) \")\"\n ATMOSPHERE: (62977..62979) \"\n\n\"\n ATMOSPHERE: (62979..63022) \";; ;; check reading boolean followed by eof\"\n ATMOSPHERE: (63022..63023) \"\n\"\n ATMOSPHERE: (63023..63067) \";; (test #t (read (open-input-string \"#t\")))\"\n ATMOSPHERE: (63067..63068) \"\n\"\n ATMOSPHERE: (63068..63115) \";; (test #t (read (open-input-string \"#true\")))\"\n ATMOSPHERE: (63115..63116) \"\n\"\n ATMOSPHERE: (63116..63160) \";; (test #f (read (open-input-string \"#f\")))\"\n ATMOSPHERE: (63160..63161) \"\n\"\n ATMOSPHERE: (63161..63209) \";; (test #f (read (open-input-string \"#false\")))\"\n ATMOSPHERE: (63209..63210) \"\n\"\n ATMOSPHERE: (63210..63233) \";; (define (read2 port)\"\n ATMOSPHERE: (63233..63234) \"\n\"\n ATMOSPHERE: (63234..63280) \";; (let* ((o1 (read port)) (o2 (read port)))\"\n ATMOSPHERE: (63280..63281) \"\n\"\n ATMOSPHERE: (63281..63302) \";; (cons o1 o2)))\"\n ATMOSPHERE: (63302..63303) \"\n\"\n ATMOSPHERE: (63303..63352) \";; ;; check reading boolean followed by delimiter\"\n ATMOSPHERE: (63352..63353) \"\n\"\n ATMOSPHERE: (63353..63410) \";; (test '(#t . (5)) (read2 (open-input-string \"#t(5)\")))\"\n ATMOSPHERE: (63410..63411) \"\n\"\n ATMOSPHERE: (63411..63469) \";; (test '(#t . 6) (read2 (open-input-string \"#true 6 \")))\"\n ATMOSPHERE: (63469..63470) \"\n\"\n ATMOSPHERE: (63470..63524) \";; (test '(#f . 7) (read2 (open-input-string \"#f 7\")))\"\n ATMOSPHERE: (63524..63525) \"\n\"\n ATMOSPHERE: (63525..63588) \";; (test '(#f . \"8\") (read2 (open-input-string \"#false\\\"8\\\"\")))\"\n ATMOSPHERE: (63588..63590) \"\n\n\"\n ATMOSPHERE: (63590..63635) \";; (test '() (read (open-input-string \"()\")))\"\n ATMOSPHERE: (63635..63636) \"\n\"\n ATMOSPHERE: (63636..63687) \";; (test '(1 2) (read (open-input-string \"(1 2)\")))\"\n ATMOSPHERE: (63687..63688) \"\n\"\n ATMOSPHERE: (63688..63743) \";; (test '(1 . 2) (read (open-input-string \"(1 . 2)\")))\"\n ATMOSPHERE: (63743..63744) \"\n\"\n ATMOSPHERE: (63744..63799) \";; (test '(1 2) (read (open-input-string \"(1 . (2))\")))\"\n ATMOSPHERE: (63799..63800) \"\n\"\n ATMOSPHERE: (63800..63871) \";; (test '(1 2 3 4 5) (read (open-input-string \"(1 . (2 3 4 . (5)))\")))\"\n ATMOSPHERE: (63871..63872) \"\n\"\n ATMOSPHERE: (63872..63933) \";; (test '1 (cadr (read (open-input-string \"#0=(1 . #0#)\"))))\"\n ATMOSPHERE: (63933..63934) \"\n\"\n ATMOSPHERE: (63934..64005) \";; (test '(1 2 3) (cadr (read (open-input-string \"(#0=(1 2 3) #0#)\"))))\"\n ATMOSPHERE: (64005..64007) \"\n\n\"\n ATMOSPHERE: (64007..64067) \";; (test '(quote (1 2)) (read (open-input-string \"'(1 2)\")))\"\n ATMOSPHERE: (64067..64068) \"\n\"\n ATMOSPHERE: (64068..64139) \";; (test '(quote (1 (unquote 2))) (read (open-input-string \"'(1 ,2)\")))\"\n ATMOSPHERE: (64139..64140) \"\n\"\n ATMOSPHERE: (64140..64221) \";; (test '(quote (1 (unquote-splicing 2))) (read (open-input-string \"'(1 ,@2)\")))\"\n ATMOSPHERE: (64221..64222) \"\n\"\n ATMOSPHERE: (64222..64298) \";; (test '(quasiquote (1 (unquote 2))) (read (open-input-string \"`(1 ,2)\")))\"\n ATMOSPHERE: (64298..64300) \"\n\n\"\n ATMOSPHERE: (64300..64346) \";; (test #() (read (open-input-string \"#()\")))\"\n ATMOSPHERE: (64346..64347) \"\n\"\n ATMOSPHERE: (64347..64399) \";; (test #(a b) (read (open-input-string \"#(a b)\")))\"\n ATMOSPHERE: (64399..64401) \"\n\n\"\n ATMOSPHERE: (64401..64451) \";; (test #u8() (read (open-input-string \"#u8()\")))\"\n ATMOSPHERE: (64451..64452) \"\n\"\n ATMOSPHERE: (64452..64508) \";; (test #u8(0 1) (read (open-input-string \"#u8(0 1)\")))\"\n ATMOSPHERE: (64508..64510) \"\n\n\"\n ATMOSPHERE: (64510..64557) \";; (test 'abc (read (open-input-string \"abc\")))\"\n ATMOSPHERE: (64557..64558) \"\n\"\n ATMOSPHERE: (64558..64609) \";; (test 'abc (read (open-input-string \"abc def\")))\"\n ATMOSPHERE: (64609..64610) \"\n\"\n ATMOSPHERE: (64610..64657) \";; (test 'ABC (read (open-input-string \"ABC\")))\"\n ATMOSPHERE: (64657..64658) \"\n\"\n ATMOSPHERE: (64658..64716) \";; (test 'Hello (read (open-input-string \"|H\\\\x65;llo|\")))\"\n ATMOSPHERE: (64716..64718) \"\n\n\"\n ATMOSPHERE: (64718..64777) \";; (test 'abc (read (open-input-string \"#!fold-case ABC\")))\"\n ATMOSPHERE: (64777..64778) \"\n\"\n ATMOSPHERE: (64778..64852) \";; (test 'ABC (read (open-input-string \"#!fold-case #!no-fold-case ABC\")))\"\n ATMOSPHERE: (64852..64854) \"\n\n\"\n ATMOSPHERE: (64854..64908) \";; (test 'def (read (open-input-string \"#; abc def\")))\"\n ATMOSPHERE: (64908..64909) \"\n\"\n ATMOSPHERE: (64909..64964) \";; (test 'def (read (open-input-string \"; abc \\ndef\")))\"\n ATMOSPHERE: (64964..64965) \"\n\"\n ATMOSPHERE: (64965..65022) \";; (test 'def (read (open-input-string \"#| abc |# def\")))\"\n ATMOSPHERE: (65022..65023) \"\n\"\n ATMOSPHERE: (65023..65090) \";; (test 'ghi (read (open-input-string \"#| abc #| def |# |# ghi\")))\"\n ATMOSPHERE: (65090..65091) \"\n\"\n ATMOSPHERE: (65091..65153) \";; (test 'ghi (read (open-input-string \"#; ; abc\\n def ghi\")))\"\n ATMOSPHERE: (65153..65154) \"\n\"\n ATMOSPHERE: (65154..65220) \";; (test '(abs -16) (read (open-input-string \"(#;sqrt abs -16)\")))\"\n ATMOSPHERE: (65220..65221) \"\n\"\n ATMOSPHERE: (65221..65281) \";; (test '(a d) (read (open-input-string \"(a #; #;b c d)\")))\"\n ATMOSPHERE: (65281..65282) \"\n\"\n ATMOSPHERE: (65282..65345) \";; (test '(a e) (read (open-input-string \"(a #;(b #;c d) e)\")))\"\n ATMOSPHERE: (65345..65346) \"\n\"\n ATMOSPHERE: (65346..65405) \";; (test '(a . c) (read (open-input-string \"(a . #;b c)\")))\"\n ATMOSPHERE: (65405..65406) \"\n\"\n ATMOSPHERE: (65406..65465) \";; (test '(a . b) (read (open-input-string \"(a . b #;c)\")))\"\n ATMOSPHERE: (65465..65467) \"\n\n\"\n ATMOSPHERE: (65467..65499) \";; (define (test-read-error str)\"\n ATMOSPHERE: (65499..65500) \"\n\"\n ATMOSPHERE: (65500..65521) \";; (test-assert str\"\n ATMOSPHERE: (65521..65522) \"\n\"\n ATMOSPHERE: (65522..65553) \";; (guard (exn (else #t))\"\n ATMOSPHERE: (65553..65554) \"\n\"\n ATMOSPHERE: (65554..65595) \";; (read (open-input-string str))\"\n ATMOSPHERE: (65595..65596) \"\n\"\n ATMOSPHERE: (65596..65612) \";; #f)))\"\n ATMOSPHERE: (65612..65614) \"\n\n\"\n ATMOSPHERE: (65614..65646) \";; (test-read-error \"(#;a . b)\")\"\n ATMOSPHERE: (65646..65647) \"\n\"\n ATMOSPHERE: (65647..65679) \";; (test-read-error \"(a . #;b)\")\"\n ATMOSPHERE: (65679..65680) \"\n\"\n ATMOSPHERE: (65680..65712) \";; (test-read-error \"(a #;. b)\")\"\n ATMOSPHERE: (65712..65713) \"\n\"\n ATMOSPHERE: (65713..65749) \";; (test-read-error \"(#;x #;y . z)\")\"\n ATMOSPHERE: (65749..65750) \"\n\"\n ATMOSPHERE: (65750..65789) \";; (test-read-error \"(#; #;x #;y . z)\")\"\n ATMOSPHERE: (65789..65790) \"\n\"\n ATMOSPHERE: (65790..65825) \";; (test-read-error \"(#; #;x . z)\")\"\n ATMOSPHERE: (65825..65827) \"\n\n\"\n ATMOSPHERE: (65827..65874) \";; (test #\\a (read (open-input-string \"#\\\\a\")))\"\n ATMOSPHERE: (65874..65875) \"\n\"\n ATMOSPHERE: (65875..65930) \";; (test #\\space (read (open-input-string \"#\\\\space\")))\"\n ATMOSPHERE: (65930..65931) \"\n\"\n ATMOSPHERE: (65931..65995) \";; (test 0 (char->integer (read (open-input-string \"#\\\\null\"))))\"\n ATMOSPHERE: (65995..65996) \"\n\"\n ATMOSPHERE: (65996..66061) \";; (test 7 (char->integer (read (open-input-string \"#\\\\alarm\"))))\"\n ATMOSPHERE: (66061..66062) \"\n\"\n ATMOSPHERE: (66062..66131) \";; (test 8 (char->integer (read (open-input-string \"#\\\\backspace\"))))\"\n ATMOSPHERE: (66131..66132) \"\n\"\n ATMOSPHERE: (66132..66195) \";; (test 9 (char->integer (read (open-input-string \"#\\\\tab\"))))\"\n ATMOSPHERE: (66195..66196) \"\n\"\n ATMOSPHERE: (66196..66264) \";; (test 10 (char->integer (read (open-input-string \"#\\\\newline\"))))\"\n ATMOSPHERE: (66264..66265) \"\n\"\n ATMOSPHERE: (66265..66332) \";; (test 13 (char->integer (read (open-input-string \"#\\\\return\"))))\"\n ATMOSPHERE: (66332..66333) \"\n\"\n ATMOSPHERE: (66333..66402) \";; (test #x7F (char->integer (read (open-input-string \"#\\\\delete\"))))\"\n ATMOSPHERE: (66402..66403) \"\n\"\n ATMOSPHERE: (66403..66472) \";; (test #x1B (char->integer (read (open-input-string \"#\\\\escape\"))))\"\n ATMOSPHERE: (66472..66473) \"\n\"\n ATMOSPHERE: (66473..66539) \";; (test #x03BB (char->integer (read (open-input-string \"#\\\\λ\"))))\"\n ATMOSPHERE: (66539..66540) \"\n\"\n ATMOSPHERE: (66540..66610) \";; (test #x03BB (char->integer (read (open-input-string \"#\\\\x03BB\"))))\"\n ATMOSPHERE: (66610..66612) \"\n\n\"\n ATMOSPHERE: (66612..66664) \";; (test \"abc\" (read (open-input-string \"\\\"abc\\\"\")))\"\n ATMOSPHERE: (66664..66665) \"\n\"\n ATMOSPHERE: (66665..66725) \";; (test \"abc\" (read (open-input-string \"\\\"abc\\\" \\\"def\\\"\")))\"\n ATMOSPHERE: (66725..66726) \"\n\"\n ATMOSPHERE: (66726..66778) \";; (test \"ABC\" (read (open-input-string \"\\\"ABC\\\"\")))\"\n ATMOSPHERE: (66778..66779) \"\n\"\n ATMOSPHERE: (66779..66840) \";; (test \"Hello\" (read (open-input-string \"\\\"H\\\\x65;llo\\\"\")))\"\n ATMOSPHERE: (66840..66841) \"\n\"\n ATMOSPHERE: (66841..66920) \";; (test 7 (char->integer (string-ref (read (open-input-string \"\\\"\\\\a\\\"\")) 0)))\"\n ATMOSPHERE: (66920..66921) \"\n\"\n ATMOSPHERE: (66921..67000) \";; (test 8 (char->integer (string-ref (read (open-input-string \"\\\"\\\\b\\\"\")) 0)))\"\n ATMOSPHERE: (67000..67001) \"\n\"\n ATMOSPHERE: (67001..67080) \";; (test 9 (char->integer (string-ref (read (open-input-string \"\\\"\\\\t\\\"\")) 0)))\"\n ATMOSPHERE: (67080..67081) \"\n\"\n ATMOSPHERE: (67081..67161) \";; (test 10 (char->integer (string-ref (read (open-input-string \"\\\"\\\\n\\\"\")) 0)))\"\n ATMOSPHERE: (67161..67162) \"\n\"\n ATMOSPHERE: (67162..67242) \";; (test 13 (char->integer (string-ref (read (open-input-string \"\\\"\\\\r\\\"\")) 0)))\"\n ATMOSPHERE: (67242..67243) \"\n\"\n ATMOSPHERE: (67243..67326) \";; (test #x22 (char->integer (string-ref (read (open-input-string \"\\\"\\\\\\\"\\\"\")) 0)))\"\n ATMOSPHERE: (67326..67327) \"\n\"\n ATMOSPHERE: (67327..67409) \";; (test #x7C (char->integer (string-ref (read (open-input-string \"\\\"\\\\|\\\"\")) 0)))\"\n ATMOSPHERE: (67409..67410) \"\n\"\n ATMOSPHERE: (67410..67488) \";; (test \"line 1\\nline 2\\n\" (read (open-input-string \"\\\"line 1\\nline 2\\n\\\"\")))\"\n ATMOSPHERE: (67488..67489) \"\n\"\n ATMOSPHERE: (67489..67573) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\ncontinued\\n\\\"\")))\"\n ATMOSPHERE: (67573..67574) \"\n\"\n ATMOSPHERE: (67574..67659) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\ncontinued\\n\\\"\")))\"\n ATMOSPHERE: (67659..67660) \"\n\"\n ATMOSPHERE: (67660..67745) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\n continued\\n\\\"\")))\"\n ATMOSPHERE: (67745..67746) \"\n\"\n ATMOSPHERE: (67746..67838) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t continued\\n\\\"\")))\"\n ATMOSPHERE: (67838..67839) \"\n\"\n ATMOSPHERE: (67839..67933) \";; (test \"line 1\\n\\nline 3\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t \\n\\nline 3\\n\\\"\")))\"\n ATMOSPHERE: (67933..67934) \"\n\"\n ATMOSPHERE: (67934..68023) \";; (test #x03BB (char->integer (string-ref (read (open-input-string \"\\\"\\\\x03BB;\\\"\")) 0)))\"\n ATMOSPHERE: (68023..68025) \"\n\n\"\n ATMOSPHERE: (68025..68060) \";; (define-syntax test-write-syntax\"\n ATMOSPHERE: (68060..68061) \"\n\"\n ATMOSPHERE: (68061..68082) \";; (syntax-rules ()\"\n ATMOSPHERE: (68082..68083) \"\n\"\n ATMOSPHERE: (68083..68130) \";; ((test-write-syntax expect-str obj-expr)\"\n ATMOSPHERE: (68130..68131) \"\n\"\n ATMOSPHERE: (68131..68172) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (68172..68173) \"\n\"\n ATMOSPHERE: (68173..68203) \";; (write obj-expr out)\"\n ATMOSPHERE: (68203..68204) \"\n\"\n ATMOSPHERE: (68204..68259) \";; (test expect-str (get-output-string out))))))\"\n ATMOSPHERE: (68259..68261) \"\n\n\"\n ATMOSPHERE: (68261..68294) \";; (test-write-syntax \"|.|\" '|.|)\"\n ATMOSPHERE: (68294..68295) \"\n\"\n ATMOSPHERE: (68295..68332) \";; (test-write-syntax \"|a b|\" '|a b|)\"\n ATMOSPHERE: (68332..68333) \"\n\"\n ATMOSPHERE: (68333..68368) \";; (test-write-syntax \"|,a|\" '|,a|)\"\n ATMOSPHERE: (68368..68369) \"\n\"\n ATMOSPHERE: (68369..68404) \";; (test-write-syntax \"|\\\"|\" '|\\\"|)\"\n ATMOSPHERE: (68404..68405) \"\n\"\n ATMOSPHERE: (68405..68441) \";; (test-write-syntax \"|\\\\||\" '|\\||)\"\n ATMOSPHERE: (68441..68442) \"\n\"\n ATMOSPHERE: (68442..68473) \";; (test-write-syntax \"||\" '||)\"\n ATMOSPHERE: (68473..68474) \"\n\"\n ATMOSPHERE: (68474..68517) \";; (test-write-syntax \"|\\\\\\\\123|\" '|\\\\123|)\"\n ATMOSPHERE: (68517..68518) \"\n\"\n ATMOSPHERE: (68518..68549) \";; (test-write-syntax \"a\" '|a|)\"\n ATMOSPHERE: (68549..68550) \"\n\"\n ATMOSPHERE: (68550..68588) \";; ;; (test-write-syntax \"a.b\" '|a.b|)\"\n ATMOSPHERE: (68588..68589) \"\n\"\n ATMOSPHERE: (68589..68622) \";; (test-write-syntax \"|2|\" '|2|)\"\n ATMOSPHERE: (68622..68623) \"\n\"\n ATMOSPHERE: (68623..68658) \";; (test-write-syntax \"|+3|\" '|+3|)\"\n ATMOSPHERE: (68658..68659) \"\n\"\n ATMOSPHERE: (68659..68696) \";; (test-write-syntax \"|-.4|\" '|-.4|)\"\n ATMOSPHERE: (68696..68697) \"\n\"\n ATMOSPHERE: (68697..68732) \";; (test-write-syntax \"|+i|\" '|+i|)\"\n ATMOSPHERE: (68732..68733) \"\n\"\n ATMOSPHERE: (68733..68768) \";; (test-write-syntax \"|-i|\" '|-i|)\"\n ATMOSPHERE: (68768..68769) \"\n\"\n ATMOSPHERE: (68769..68812) \";; (test-write-syntax \"|+inf.0|\" '|+inf.0|)\"\n ATMOSPHERE: (68812..68813) \"\n\"\n ATMOSPHERE: (68813..68856) \";; (test-write-syntax \"|-inf.0|\" '|-inf.0|)\"\n ATMOSPHERE: (68856..68857) \"\n\"\n ATMOSPHERE: (68857..68900) \";; (test-write-syntax \"|+nan.0|\" '|+nan.0|)\"\n ATMOSPHERE: (68900..68901) \"\n\"\n ATMOSPHERE: (68901..68944) \";; (test-write-syntax \"|+NaN.0|\" '|+NaN.0|)\"\n ATMOSPHERE: (68944..68945) \"\n\"\n ATMOSPHERE: (68945..68994) \";; (test-write-syntax \"|+NaN.0abc|\" '|+NaN.0abc|)\"\n ATMOSPHERE: (68994..68996) \"\n\n\"\n FORM: (68996..69006)\n OPEN_PAREN: (68996..68997) \"(\"\n SYMBOL: (68997..69005)\n IDENTIFIER: (68997..69005) \"test-end\"\n CLOSE_PAREN: (69005..69006) \")\"\n ATMOSPHERE: (69006..69008) \"\n\n\"\n FORM: (69008..69037)\n OPEN_PAREN: (69008..69009) \"(\"\n SYMBOL: (69009..69019)\n IDENTIFIER: (69009..69019) \"test-begin\"\n ATMOSPHERE: (69019..69020) \" \"\n CONSTANT: (69020..69036)\n STRING: (69020..69036) \"\"Numeric syntax\"\"\n CLOSE_PAREN: (69036..69037) \")\"\n ATMOSPHERE: (69037..69039) \"\n\n\"\n ATMOSPHERE: (69039..69091) \";; ;; Numeric syntax adapted from Peter Bex's tests.\"\n ATMOSPHERE: (69091..69092) \"\n\"\n ATMOSPHERE: (69092..69097) \";; ;;\"\n ATMOSPHERE: (69097..69098) \"\n\"\n ATMOSPHERE: (69098..69160) \";; ;; These are updated to R7RS, using string ports instead of\"\n ATMOSPHERE: (69160..69161) \"\n\"\n ATMOSPHERE: (69161..69232) \";; ;; string->number, and \"error\" tests removed because implementations\"\n ATMOSPHERE: (69232..69233) \"\n\"\n ATMOSPHERE: (69233..69303) \";; ;; are free to provide their own numeric extensions. Currently all\"\n ATMOSPHERE: (69303..69304) \"\n\"\n ATMOSPHERE: (69304..69369) \";; ;; tests are run by default - need to cond-expand and test for\"\n ATMOSPHERE: (69369..69370) \"\n\"\n ATMOSPHERE: (69370..69396) \";; ;; infinities and -0.0.\"\n ATMOSPHERE: (69396..69398) \"\n\n\"\n ATMOSPHERE: (69398..69435) \";; (define-syntax test-numeric-syntax\"\n ATMOSPHERE: (69435..69436) \"\n\"\n ATMOSPHERE: (69436..69457) \";; (syntax-rules ()\"\n ATMOSPHERE: (69457..69458) \"\n\"\n ATMOSPHERE: (69458..69507) \";; ((test-numeric-syntax str expect strs ...)\"\n ATMOSPHERE: (69507..69508) \"\n\"\n ATMOSPHERE: (69508..69557) \";; (let* ((z (read (open-input-string str)))\"\n ATMOSPHERE: (69557..69558) \"\n\"\n ATMOSPHERE: (69558..69599) \";; (out (open-output-string))\"\n ATMOSPHERE: (69599..69600) \"\n\"\n ATMOSPHERE: (69600..69669) \";; (z-str (begin (write z out) (get-output-string out))))\"\n ATMOSPHERE: (69669..69670) \"\n\"\n ATMOSPHERE: (69670..69704) \";; (test expect (values z))\"\n ATMOSPHERE: (69704..69705) \"\n\"\n ATMOSPHERE: (69705..69768) \";; (test #t (and (member z-str '(str strs ...)) #t))))))\"\n ATMOSPHERE: (69768..69770) \"\n\n\"\n ATMOSPHERE: (69770..69801) \";; ;; Each test is of the form:\"\n ATMOSPHERE: (69801..69802) \"\n\"\n ATMOSPHERE: (69802..69807) \";; ;;\"\n ATMOSPHERE: (69807..69808) \"\n\"\n ATMOSPHERE: (69808..69888) \";; ;; (test-numeric-syntax input-str expected-value expected-write-values ...)\"\n ATMOSPHERE: (69888..69889) \"\n\"\n ATMOSPHERE: (69889..69894) \";; ;;\"\n ATMOSPHERE: (69894..69895) \"\n\"\n ATMOSPHERE: (69895..69962) \";; ;; where the input should be eqv? to the expected-value, and the\"\n ATMOSPHERE: (69962..69963) \"\n\"\n ATMOSPHERE: (69963..70034) \";; ;; written output the same as any of the expected-write-values. The\"\n ATMOSPHERE: (70034..70035) \"\n\"\n ATMOSPHERE: (70035..70045) \";; ;; form\"\n ATMOSPHERE: (70045..70046) \"\n\"\n ATMOSPHERE: (70046..70051) \";; ;;\"\n ATMOSPHERE: (70051..70052) \"\n\"\n ATMOSPHERE: (70052..70106) \";; ;; (test-numeric-syntax input-str expected-value)\"\n ATMOSPHERE: (70106..70107) \"\n\"\n ATMOSPHERE: (70107..70112) \";; ;;\"\n ATMOSPHERE: (70112..70113) \"\n\"\n ATMOSPHERE: (70113..70137) \";; ;; is a shorthand for\"\n ATMOSPHERE: (70137..70138) \"\n\"\n ATMOSPHERE: (70138..70143) \";; ;;\"\n ATMOSPHERE: (70143..70144) \"\n\"\n ATMOSPHERE: (70144..70210) \";; ;; (test-numeric-syntax input-str expected-value (input-str))\"\n ATMOSPHERE: (70210..70212) \"\n\n\"\n ATMOSPHERE: (70212..70224) \";; ;; Simple\"\n ATMOSPHERE: (70224..70225) \"\n\"\n ATMOSPHERE: (70225..70255) \";; (test-numeric-syntax \"1\" 1)\"\n ATMOSPHERE: (70255..70256) \"\n\"\n ATMOSPHERE: (70256..70291) \";; (test-numeric-syntax \"+1\" 1 \"1\")\"\n ATMOSPHERE: (70291..70292) \"\n\"\n ATMOSPHERE: (70292..70324) \";; (test-numeric-syntax \"-1\" -1)\"\n ATMOSPHERE: (70324..70325) \"\n\"\n ATMOSPHERE: (70325..70370) \";; (test-numeric-syntax \"#i1\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70370..70371) \"\n\"\n ATMOSPHERE: (70371..70416) \";; (test-numeric-syntax \"#I1\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70416..70417) \"\n\"\n ATMOSPHERE: (70417..70466) \";; (test-numeric-syntax \"#i-1\" -1.0 \"-1.0\" \"-1.\")\"\n ATMOSPHERE: (70466..70467) \"\n\"\n ATMOSPHERE: (70467..70480) \";; ;; Decimal\"\n ATMOSPHERE: (70480..70481) \"\n\"\n ATMOSPHERE: (70481..70526) \";; (test-numeric-syntax \"1.0\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70526..70527) \"\n\"\n ATMOSPHERE: (70527..70571) \";; (test-numeric-syntax \"1.\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70571..70572) \"\n\"\n ATMOSPHERE: (70572..70622) \";; (test-numeric-syntax \".1\" 0.1 \"0.1\" \"100.0e-3\")\"\n ATMOSPHERE: (70622..70623) \"\n\"\n ATMOSPHERE: (70623..70677) \";; (test-numeric-syntax \"-.1\" -0.1 \"-0.1\" \"-100.0e-3\")\"\n ATMOSPHERE: (70677..70678) \"\n\"\n ATMOSPHERE: (70678..70754) \";; ;; Some Schemes don't allow negative zero. This is okay with the standard\"\n ATMOSPHERE: (70754..70755) \"\n\"\n ATMOSPHERE: (70755..70819) \";; (test-numeric-syntax \"-.0\" -0.0 \"-0.\" \"-0.0\" \"0.0\" \"0.\" \".0\")\"\n ATMOSPHERE: (70819..70820) \"\n\"\n ATMOSPHERE: (70820..70884) \";; (test-numeric-syntax \"-0.\" -0.0 \"-.0\" \"-0.0\" \"0.0\" \"0.\" \".0\")\"\n ATMOSPHERE: (70884..70885) \"\n\"\n ATMOSPHERE: (70885..70932) \";; (test-numeric-syntax \"#i1.0\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70932..70933) \"\n\"\n ATMOSPHERE: (70933..70971) \";; (test-numeric-syntax \"#e1.0\" 1 \"1\")\"\n ATMOSPHERE: (70971..70972) \"\n\"\n ATMOSPHERE: (70972..71010) \";; (test-numeric-syntax \"#e-.0\" 0 \"0\")\"\n ATMOSPHERE: (71010..71011) \"\n\"\n ATMOSPHERE: (71011..71049) \";; (test-numeric-syntax \"#e-0.\" 0 \"0\")\"\n ATMOSPHERE: (71049..71050) \"\n\"\n ATMOSPHERE: (71050..71084) \";; ;; Decimal notation with suffix\"\n ATMOSPHERE: (71084..71085) \"\n\"\n ATMOSPHERE: (71085..71136) \";; (test-numeric-syntax \"1e2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71136..71137) \"\n\"\n ATMOSPHERE: (71137..71188) \";; (test-numeric-syntax \"1E2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71188..71189) \"\n\"\n ATMOSPHERE: (71189..71240) \";; (test-numeric-syntax \"1s2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71240..71241) \"\n\"\n ATMOSPHERE: (71241..71292) \";; (test-numeric-syntax \"1S2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71292..71293) \"\n\"\n ATMOSPHERE: (71293..71344) \";; (test-numeric-syntax \"1f2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71344..71345) \"\n\"\n ATMOSPHERE: (71345..71396) \";; (test-numeric-syntax \"1F2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71396..71397) \"\n\"\n ATMOSPHERE: (71397..71448) \";; (test-numeric-syntax \"1d2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71448..71449) \"\n\"\n ATMOSPHERE: (71449..71500) \";; (test-numeric-syntax \"1D2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71500..71501) \"\n\"\n ATMOSPHERE: (71501..71552) \";; (test-numeric-syntax \"1l2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71552..71553) \"\n\"\n ATMOSPHERE: (71553..71604) \";; (test-numeric-syntax \"1L2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71604..71605) \"\n\"\n ATMOSPHERE: (71605..71619) \";; ;; NaN, Inf\"\n ATMOSPHERE: (71619..71620) \"\n\"\n ATMOSPHERE: (71620..71678) \";; (test-numeric-syntax \"+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (71678..71679) \"\n\"\n ATMOSPHERE: (71679..71737) \";; (test-numeric-syntax \"+NAN.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (71737..71738) \"\n\"\n ATMOSPHERE: (71738..71796) \";; (test-numeric-syntax \"+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (71796..71797) \"\n\"\n ATMOSPHERE: (71797..71855) \";; (test-numeric-syntax \"+InF.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (71855..71856) \"\n\"\n ATMOSPHERE: (71856..71914) \";; (test-numeric-syntax \"-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (71914..71915) \"\n\"\n ATMOSPHERE: (71915..71973) \";; (test-numeric-syntax \"-iNF.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (71973..71974) \"\n\"\n ATMOSPHERE: (71974..72034) \";; (test-numeric-syntax \"#i+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (72034..72035) \"\n\"\n ATMOSPHERE: (72035..72095) \";; (test-numeric-syntax \"#i+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (72095..72096) \"\n\"\n ATMOSPHERE: (72096..72156) \";; (test-numeric-syntax \"#i-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (72156..72157) \"\n\"\n ATMOSPHERE: (72157..72175) \";; ;; Exact ratios\"\n ATMOSPHERE: (72175..72176) \"\n\"\n ATMOSPHERE: (72176..72214) \";; (test-numeric-syntax \"1/2\" (/ 1 2))\"\n ATMOSPHERE: (72214..72215) \"\n\"\n ATMOSPHERE: (72215..72261) \";; (test-numeric-syntax \"#e1/2\" (/ 1 2) \"1/2\")\"\n ATMOSPHERE: (72261..72262) \"\n\"\n ATMOSPHERE: (72262..72299) \";; (test-numeric-syntax \"10/2\" 5 \"5\")\"\n ATMOSPHERE: (72299..72300) \"\n\"\n ATMOSPHERE: (72300..72343) \";; (test-numeric-syntax \"-1/2\" (- (/ 1 2)))\"\n ATMOSPHERE: (72343..72344) \"\n\"\n ATMOSPHERE: (72344..72381) \";; (test-numeric-syntax \"0/10\" 0 \"0\")\"\n ATMOSPHERE: (72381..72382) \"\n\"\n ATMOSPHERE: (72382..72421) \";; (test-numeric-syntax \"#e0/10\" 0 \"0\")\"\n ATMOSPHERE: (72421..72422) \"\n\"\n ATMOSPHERE: (72422..72472) \";; (test-numeric-syntax \"#i3/2\" (/ 3.0 2.0) \"1.5\")\"\n ATMOSPHERE: (72472..72473) \"\n\"\n ATMOSPHERE: (72473..72492) \";; ;; Exact complex\"\n ATMOSPHERE: (72492..72493) \"\n\"\n ATMOSPHERE: (72493..72547) \";; (test-numeric-syntax \"1+2i\" (make-rectangular 1 2))\"\n ATMOSPHERE: (72547..72548) \"\n\"\n ATMOSPHERE: (72548..72609) \";; (test-numeric-syntax \"1+2I\" (make-rectangular 1 2) \"1+2i\")\"\n ATMOSPHERE: (72609..72610) \"\n\"\n ATMOSPHERE: (72610..72665) \";; (test-numeric-syntax \"1-2i\" (make-rectangular 1 -2))\"\n ATMOSPHERE: (72665..72666) \"\n\"\n ATMOSPHERE: (72666..72722) \";; (test-numeric-syntax \"-1+2i\" (make-rectangular -1 2))\"\n ATMOSPHERE: (72722..72723) \"\n\"\n ATMOSPHERE: (72723..72780) \";; (test-numeric-syntax \"-1-2i\" (make-rectangular -1 -2))\"\n ATMOSPHERE: (72780..72781) \"\n\"\n ATMOSPHERE: (72781..72857) \";; (test-numeric-syntax \"+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (72857..72858) \"\n\"\n ATMOSPHERE: (72858..72935) \";; (test-numeric-syntax \"0+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (72935..72936) \"\n\"\n ATMOSPHERE: (72936..73014) \";; (test-numeric-syntax \"0+1i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (73014..73015) \"\n\"\n ATMOSPHERE: (73015..73092) \";; (test-numeric-syntax \"-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73092..73093) \"\n\"\n ATMOSPHERE: (73093..73171) \";; (test-numeric-syntax \"0-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73171..73172) \"\n\"\n ATMOSPHERE: (73172..73251) \";; (test-numeric-syntax \"0-1i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73251..73252) \"\n\"\n ATMOSPHERE: (73252..73323) \";; (test-numeric-syntax \"+2i\" (make-rectangular 0 2) \"2i\" \"+2i\" \"0+2i\")\"\n ATMOSPHERE: (73323..73324) \"\n\"\n ATMOSPHERE: (73324..73391) \";; (test-numeric-syntax \"-2i\" (make-rectangular 0 -2) \"-2i\" \"0-2i\")\"\n ATMOSPHERE: (73391..73392) \"\n\"\n ATMOSPHERE: (73392..73453) \";; ;; Decimal-notation complex numbers (rectangular notation)\"\n ATMOSPHERE: (73453..73454) \"\n\"\n ATMOSPHERE: (73454..73549) \";; (test-numeric-syntax \"1.0+2i\" (make-rectangular 1.0 2) \"1.0+2.0i\" \"1.0+2i\" \"1.+2i\" \"1.+2.i\")\"\n ATMOSPHERE: (73549..73550) \"\n\"\n ATMOSPHERE: (73550..73645) \";; (test-numeric-syntax \"1+2.0i\" (make-rectangular 1 2.0) \"1.0+2.0i\" \"1+2.0i\" \"1.+2.i\" \"1+2.i\")\"\n ATMOSPHERE: (73645..73646) \"\n\"\n ATMOSPHERE: (73646..73734) \";; (test-numeric-syntax \"1e2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")\"\n ATMOSPHERE: (73734..73735) \"\n\"\n ATMOSPHERE: (73735..73823) \";; (test-numeric-syntax \"1s2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")\"\n ATMOSPHERE: (73823..73824) \"\n\"\n ATMOSPHERE: (73824..73912) \";; (test-numeric-syntax \"1.0+1e2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")\"\n ATMOSPHERE: (73912..73913) \"\n\"\n ATMOSPHERE: (73913..74001) \";; (test-numeric-syntax \"1.0+1s2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")\"\n ATMOSPHERE: (74001..74002) \"\n\"\n ATMOSPHERE: (74002..74057) \";; ;; Fractional complex numbers (rectangular notation)\"\n ATMOSPHERE: (74057..74058) \"\n\"\n ATMOSPHERE: (74058..74128) \";; (test-numeric-syntax \"1/2+3/4i\" (make-rectangular (/ 1 2) (/ 3 4)))\"\n ATMOSPHERE: (74128..74129) \"\n\"\n ATMOSPHERE: (74129..74207) \";; ;; Mixed fractional/decimal notation complex numbers (rectangular notation)\"\n ATMOSPHERE: (74207..74208) \"\n\"\n ATMOSPHERE: (74208..74273) \";; (test-numeric-syntax \"0.5+3/4i\" (make-rectangular 0.5 (/ 3 4))\"\n ATMOSPHERE: (74273..74274) \"\n\"\n ATMOSPHERE: (74274..74343) \";; \"0.5+0.75i\" \".5+.75i\" \"0.5+3/4i\" \".5+3/4i\" \"500.0e-3+750.0e-3i\")\"\n ATMOSPHERE: (74343..74344) \"\n\"\n ATMOSPHERE: (74344..74389) \";; ;; Complex NaN, Inf (rectangular notation)\"\n ATMOSPHERE: (74389..74390) \"\n\"\n ATMOSPHERE: (74390..74484) \";; ;;(test-numeric-syntax \"+nan.0+nan.0i\" (make-rectangular the-nan the-nan) \"+NaN.0+NaN.0i\") \"\n ATMOSPHERE: (74484..74485) \"\n\"\n ATMOSPHERE: (74485..74574) \";; (test-numeric-syntax \"+inf.0+inf.0i\" (make-rectangular +inf.0 +inf.0) \"+Inf.0+Inf.0i\")\"\n ATMOSPHERE: (74574..74575) \"\n\"\n ATMOSPHERE: (74575..74664) \";; (test-numeric-syntax \"-inf.0+inf.0i\" (make-rectangular -inf.0 +inf.0) \"-Inf.0+Inf.0i\")\"\n ATMOSPHERE: (74664..74665) \"\n\"\n ATMOSPHERE: (74665..74754) \";; (test-numeric-syntax \"-inf.0-inf.0i\" (make-rectangular -inf.0 -inf.0) \"-Inf.0-Inf.0i\")\"\n ATMOSPHERE: (74754..74755) \"\n\"\n ATMOSPHERE: (74755..74844) \";; (test-numeric-syntax \"+inf.0-inf.0i\" (make-rectangular +inf.0 -inf.0) \"+Inf.0-Inf.0i\")\"\n ATMOSPHERE: (74844..74845) \"\n\"\n ATMOSPHERE: (74845..74883) \";; ;; Complex numbers (polar notation)\"\n ATMOSPHERE: (74883..74884) \"\n\"\n ATMOSPHERE: (74884..74938) \";; ;; Need to account for imprecision in write output.\"\n ATMOSPHERE: (74938..74939) \"\n\"\n ATMOSPHERE: (74939..75049) \";; ;;(test-numeric-syntax \"1@2\" -0.416146836547142+0.909297426825682i \"-0.416146836547142+0.909297426825682i\")\"\n ATMOSPHERE: (75049..75050) \"\n\"\n ATMOSPHERE: (75050..75069) \";; ;; Base prefixes\"\n ATMOSPHERE: (75069..75070) \"\n\"\n ATMOSPHERE: (75070..75109) \";; (test-numeric-syntax \"#x11\" 17 \"17\")\"\n ATMOSPHERE: (75109..75110) \"\n\"\n ATMOSPHERE: (75110..75149) \";; (test-numeric-syntax \"#X11\" 17 \"17\")\"\n ATMOSPHERE: (75149..75150) \"\n\"\n ATMOSPHERE: (75150..75189) \";; (test-numeric-syntax \"#d11\" 11 \"11\")\"\n ATMOSPHERE: (75189..75190) \"\n\"\n ATMOSPHERE: (75190..75229) \";; (test-numeric-syntax \"#D11\" 11 \"11\")\"\n ATMOSPHERE: (75229..75230) \"\n\"\n ATMOSPHERE: (75230..75267) \";; (test-numeric-syntax \"#o11\" 9 \"9\")\"\n ATMOSPHERE: (75267..75268) \"\n\"\n ATMOSPHERE: (75268..75305) \";; (test-numeric-syntax \"#O11\" 9 \"9\")\"\n ATMOSPHERE: (75305..75306) \"\n\"\n ATMOSPHERE: (75306..75343) \";; (test-numeric-syntax \"#b11\" 3 \"3\")\"\n ATMOSPHERE: (75343..75344) \"\n\"\n ATMOSPHERE: (75344..75381) \";; (test-numeric-syntax \"#B11\" 3 \"3\")\"\n ATMOSPHERE: (75381..75382) \"\n\"\n ATMOSPHERE: (75382..75418) \";; (test-numeric-syntax \"#o7\" 7 \"7\")\"\n ATMOSPHERE: (75418..75419) \"\n\"\n ATMOSPHERE: (75419..75457) \";; (test-numeric-syntax \"#xa\" 10 \"10\")\"\n ATMOSPHERE: (75457..75458) \"\n\"\n ATMOSPHERE: (75458..75496) \";; (test-numeric-syntax \"#xA\" 10 \"10\")\"\n ATMOSPHERE: (75496..75497) \"\n\"\n ATMOSPHERE: (75497..75535) \";; (test-numeric-syntax \"#xf\" 15 \"15\")\"\n ATMOSPHERE: (75535..75536) \"\n\"\n ATMOSPHERE: (75536..75578) \";; (test-numeric-syntax \"#x-10\" -16 \"-16\")\"\n ATMOSPHERE: (75578..75579) \"\n\"\n ATMOSPHERE: (75579..75621) \";; (test-numeric-syntax \"#d-10\" -10 \"-10\")\"\n ATMOSPHERE: (75621..75622) \"\n\"\n ATMOSPHERE: (75622..75662) \";; (test-numeric-syntax \"#o-10\" -8 \"-8\")\"\n ATMOSPHERE: (75662..75663) \"\n\"\n ATMOSPHERE: (75663..75703) \";; (test-numeric-syntax \"#b-10\" -2 \"-2\")\"\n ATMOSPHERE: (75703..75704) \"\n\"\n ATMOSPHERE: (75704..75733) \";; ;; Combination of prefixes\"\n ATMOSPHERE: (75733..75734) \"\n\"\n ATMOSPHERE: (75734..75775) \";; (test-numeric-syntax \"#e#x10\" 16 \"16\")\"\n ATMOSPHERE: (75775..75776) \"\n\"\n ATMOSPHERE: (75776..75827) \";; (test-numeric-syntax \"#i#x10\" 16.0 \"16.0\" \"16.\")\"\n ATMOSPHERE: (75827..75828) \"\n\"\n ATMOSPHERE: (75828..75879) \";; (test-numeric-syntax \"#x#i10\" 16.0 \"16.0\" \"16.\")\"\n ATMOSPHERE: (75879..75880) \"\n\"\n ATMOSPHERE: (75880..75931) \";; (test-numeric-syntax \"#i#x1/10\" 0.0625 \"0.0625\")\"\n ATMOSPHERE: (75931..75932) \"\n\"\n ATMOSPHERE: (75932..75983) \";; (test-numeric-syntax \"#x#i1/10\" 0.0625 \"0.0625\")\"\n ATMOSPHERE: (75983..75984) \"\n\"\n ATMOSPHERE: (75984..76037) \";; ;; (Attempted) decimal notation with base prefixes\"\n ATMOSPHERE: (76037..76038) \"\n\"\n ATMOSPHERE: (76038..76084) \";; (test-numeric-syntax \"#d1.\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (76084..76085) \"\n\"\n ATMOSPHERE: (76085..76142) \";; (test-numeric-syntax \"#d.1\" 0.1 \"0.1\" \".1\" \"100.0e-3\")\"\n ATMOSPHERE: (76142..76143) \"\n\"\n ATMOSPHERE: (76143..76185) \";; (test-numeric-syntax \"#x1e2\" 482 \"482\")\"\n ATMOSPHERE: (76185..76186) \"\n\"\n ATMOSPHERE: (76186..76239) \";; (test-numeric-syntax \"#d1e2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (76239..76240) \"\n\"\n ATMOSPHERE: (76240..76269) \";; ;; Fractions with prefixes\"\n ATMOSPHERE: (76269..76270) \"\n\"\n ATMOSPHERE: (76270..76309) \";; (test-numeric-syntax \"#x10/2\" 8 \"8\")\"\n ATMOSPHERE: (76309..76310) \"\n\"\n ATMOSPHERE: (76310..76359) \";; (test-numeric-syntax \"#x11/2\" (/ 17 2) \"17/2\")\"\n ATMOSPHERE: (76359..76360) \"\n\"\n ATMOSPHERE: (76360..76409) \";; (test-numeric-syntax \"#d11/2\" (/ 11 2) \"11/2\")\"\n ATMOSPHERE: (76409..76410) \"\n\"\n ATMOSPHERE: (76410..76457) \";; (test-numeric-syntax \"#o11/2\" (/ 9 2) \"9/2\")\"\n ATMOSPHERE: (76457..76458) \"\n\"\n ATMOSPHERE: (76458..76506) \";; (test-numeric-syntax \"#b11/10\" (/ 3 2) \"3/2\")\"\n ATMOSPHERE: (76506..76507) \"\n\"\n ATMOSPHERE: (76507..76542) \";; ;; Complex numbers with prefixes\"\n ATMOSPHERE: (76542..76543) \"\n\"\n ATMOSPHERE: (76543..76614) \";; ;;(test-numeric-syntax \"#x10+11i\" (make-rectangular 16 17) \"16+17i\")\"\n ATMOSPHERE: (76614..76615) \"\n\"\n ATMOSPHERE: (76615..76699) \";; (test-numeric-syntax \"#d1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")\"\n ATMOSPHERE: (76699..76700) \"\n\"\n ATMOSPHERE: (76700..76769) \";; (test-numeric-syntax \"#d10+11i\" (make-rectangular 10 11) \"10+11i\")\"\n ATMOSPHERE: (76769..76770) \"\n\"\n ATMOSPHERE: (76770..76837) \";; ;;(test-numeric-syntax \"#o10+11i\" (make-rectangular 8 9) \"8+9i\")\"\n ATMOSPHERE: (76837..76838) \"\n\"\n ATMOSPHERE: (76838..76905) \";; ;;(test-numeric-syntax \"#b10+11i\" (make-rectangular 2 3) \"2+3i\")\"\n ATMOSPHERE: (76905..76906) \"\n\"\n ATMOSPHERE: (76906..76981) \";; ;;(test-numeric-syntax \"#e1.0+1.0i\" (make-rectangular 1 1) \"1+1i\" \"1+i\")\"\n ATMOSPHERE: (76981..76982) \"\n\"\n ATMOSPHERE: (76982..77068) \";; ;;(test-numeric-syntax \"#i1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")\"\n ATMOSPHERE: (77068..77070) \"\n\n\"\n ATMOSPHERE: (77070..77102) \";; (define-syntax test-precision\"\n ATMOSPHERE: (77102..77103) \"\n\"\n ATMOSPHERE: (77103..77124) \";; (syntax-rules ()\"\n ATMOSPHERE: (77124..77125) \"\n\"\n ATMOSPHERE: (77125..77162) \";; ((test-round-trip str alt ...)\"\n ATMOSPHERE: (77162..77163) \"\n\"\n ATMOSPHERE: (77163..77202) \";; (let* ((n (string->number str))\"\n ATMOSPHERE: (77202..77203) \"\n\"\n ATMOSPHERE: (77203..77243) \";; (str2 (number->string n))\"\n ATMOSPHERE: (77243..77244) \"\n\"\n ATMOSPHERE: (77244..77288) \";; (accepted (list str alt ...))\"\n ATMOSPHERE: (77288..77289) \"\n\"\n ATMOSPHERE: (77289..77332) \";; (ls (member str2 accepted)))\"\n ATMOSPHERE: (77332..77333) \"\n\"\n ATMOSPHERE: (77333..77391) \";; (test-assert (string-append \"(member? \" str2 \" \"\"\n ATMOSPHERE: (77391..77392) \"\n\"\n ATMOSPHERE: (77392..77463) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (77463..77464) \"\n\"\n ATMOSPHERE: (77464..77524) \";; (write accepted out)\"\n ATMOSPHERE: (77524..77525) \"\n\"\n ATMOSPHERE: (77525..77589) \";; (get-output-string out))\"\n ATMOSPHERE: (77589..77590) \"\n\"\n ATMOSPHERE: (77590..77632) \";; \")\")\"\n ATMOSPHERE: (77632..77633) \"\n\"\n ATMOSPHERE: (77633..77656) \";; (pair? ls))\"\n ATMOSPHERE: (77656..77657) \"\n\"\n ATMOSPHERE: (77657..77683) \";; (when (pair? ls)\"\n ATMOSPHERE: (77683..77684) \"\n\"\n ATMOSPHERE: (77684..77751) \";; (test-assert (string-append \"(eqv?: \" str \" \" str2 \")\")\"\n ATMOSPHERE: (77751..77752) \"\n\"\n ATMOSPHERE: (77752..77806) \";; (eqv? n (string->number (car ls)))))))))\"\n ATMOSPHERE: (77806..77808) \"\n\n\"\n ATMOSPHERE: (77808..77863) \";; (test-precision \"-1.7976931348623157e+308\" \"-inf.0\")\"\n ATMOSPHERE: (77863..77864) \"\n\"\n ATMOSPHERE: (77864..77949) \";; (test-precision \"4.940656458412465e-324\" \"4.94065645841247e-324\" \"5.0e-324\" \"0.0\")\"\n ATMOSPHERE: (77949..77950) \"\n\"\n ATMOSPHERE: (77950..78035) \";; (test-precision \"9.881312916824931e-324\" \"9.88131291682493e-324\" \"1.0e-323\" \"0.0\")\"\n ATMOSPHERE: (78035..78036) \"\n\"\n ATMOSPHERE: (78036..78096) \";; (test-precision \"1.48219693752374e-323\" \"1.5e-323\" \"0.0\")\"\n ATMOSPHERE: (78096..78097) \"\n\"\n ATMOSPHERE: (78097..78182) \";; (test-precision \"1.976262583364986e-323\" \"1.97626258336499e-323\" \"2.0e-323\" \"0.0\")\"\n ATMOSPHERE: (78182..78183) \"\n\"\n ATMOSPHERE: (78183..78268) \";; (test-precision \"2.470328229206233e-323\" \"2.47032822920623e-323\" \"2.5e-323\" \"0.0\")\"\n ATMOSPHERE: (78268..78269) \"\n\"\n ATMOSPHERE: (78269..78354) \";; (test-precision \"2.420921664622108e-322\" \"2.42092166462211e-322\" \"2.4e-322\" \"0.0\")\"\n ATMOSPHERE: (78354..78355) \"\n\"\n ATMOSPHERE: (78355..78442) \";; (test-precision \"2.420921664622108e-320\" \"2.42092166462211e-320\" \"2.421e-320\" \"0.0\")\"\n ATMOSPHERE: (78442..78443) \"\n\"\n ATMOSPHERE: (78443..78495) \";; (test-precision \"1.4489974452386991\" \"1.4489975\")\"\n ATMOSPHERE: (78495..78496) \"\n\"\n ATMOSPHERE: (78496..78572) \";; (test-precision \"0.14285714285714282\" \"0.14285714285714288\" \"0.14285715\")\"\n ATMOSPHERE: (78572..78573) \"\n\"\n ATMOSPHERE: (78573..78627) \";; (test-precision \"1.7976931348623157e+308\" \"+inf.0\")\"\n ATMOSPHERE: (78627..78629) \"\n\n\"\n FORM: (78629..78639)\n OPEN_PAREN: (78629..78630) \"(\"\n SYMBOL: (78630..78638)\n IDENTIFIER: (78630..78638) \"test-end\"\n CLOSE_PAREN: (78638..78639) \")\"\n ATMOSPHERE: (78639..78641) \"\n\n\"\n FORM: (78641..78651)\n OPEN_PAREN: (78641..78642) \"(\"\n SYMBOL: (78642..78650)\n IDENTIFIER: (78642..78650) \"test-end\"\n CLOSE_PAREN: (78650..78651) \")\"\n ATMOSPHERE: (78651..78653) \"\n\n\"\n FORM: (78653..78689)\n OPEN_PAREN: (78653..78654) \"(\"\n SYMBOL: (78654..78664)\n IDENTIFIER: (78654..78664) \"test-begin\"\n ATMOSPHERE: (78664..78665) \" \"\n CONSTANT: (78665..78688)\n STRING: (78665..78688) \"\"6.14 System interface\"\"\n CLOSE_PAREN: (78688..78689) \")\"\n ATMOSPHERE: (78689..78691) \"\n\n\"\n ATMOSPHERE: (78691..78718) \";; ;; 6.14 System interface\"\n ATMOSPHERE: (78718..78720) \"\n\n\"\n ATMOSPHERE: (78720..78797) \";; ;; (test \"/usr/local/bin:/usr/bin:/bin\" (get-environment-variable \"PATH\"))\"\n ATMOSPHERE: (78797..78799) \"\n\n\"\n ATMOSPHERE: (78799..78855) \";; (test #t (string? (get-environment-variable \"PATH\")))\"\n ATMOSPHERE: (78855..78857) \"\n\n\"\n ATMOSPHERE: (78857..78933) \";; ;; (test '((\"USER\" . \"root\") (\"HOME\" . \"/\")) (get-environment-variables))\"\n ATMOSPHERE: (78933..78935) \"\n\n\"\n ATMOSPHERE: (78935..78978) \";; (let ((env (get-environment-variables)))\"\n ATMOSPHERE: (78978..78979) \"\n\"\n ATMOSPHERE: (78979..79005) \";; (define (env-pair? x)\"\n ATMOSPHERE: (79005..79006) \"\n\"\n ATMOSPHERE: (79006..79065) \";; (and (pair? x) (string? (car x)) (string? (cdr x))))\"\n ATMOSPHERE: (79065..79066) \"\n\"\n ATMOSPHERE: (79066..79093) \";; (define (all? pred ls)\"\n ATMOSPHERE: (79093..79094) \"\n\"\n ATMOSPHERE: (79094..79160) \";; (or (null? ls) (and (pred (car ls)) (all? pred (cdr ls)))))\"\n ATMOSPHERE: (79160..79161) \"\n\"\n ATMOSPHERE: (79161..79187) \";; (test #t (list? env))\"\n ATMOSPHERE: (79187..79188) \"\n\"\n ATMOSPHERE: (79188..79224) \";; (test #t (all? env-pair? env)))\"\n ATMOSPHERE: (79224..79226) \"\n\n\"\n ATMOSPHERE: (79226..79261) \";; (test #t (list? (command-line)))\"\n ATMOSPHERE: (79261..79263) \"\n\n\"\n ATMOSPHERE: (79263..79300) \";; (test #t (real? (current-second)))\"\n ATMOSPHERE: (79300..79301) \"\n\"\n ATMOSPHERE: (79301..79341) \";; (test #t (inexact? (current-second)))\"\n ATMOSPHERE: (79341..79342) \"\n\"\n ATMOSPHERE: (79342..79379) \";; (test #t (exact? (current-jiffy)))\"\n ATMOSPHERE: (79379..79380) \"\n\"\n ATMOSPHERE: (79380..79422) \";; (test #t (exact? (jiffies-per-second)))\"\n ATMOSPHERE: (79422..79424) \"\n\n\"\n ATMOSPHERE: (79424..79455) \";; (test #t (list? (features)))\"\n ATMOSPHERE: (79455..79456) \"\n\"\n ATMOSPHERE: (79456..79501) \";; (test #t (and (memq 'r7rs (features)) #t))\"\n ATMOSPHERE: (79501..79503) \"\n\n\"\n ATMOSPHERE: (79503..79534) \";; (test #t (file-exists? \".\"))\"\n ATMOSPHERE: (79534..79535) \"\n\"\n ATMOSPHERE: (79535..79579) \";; (test #f (file-exists? \" no such file \"))\"\n ATMOSPHERE: (79579..79581) \"\n\n\"\n ATMOSPHERE: (79581..79605) \";; (test #t (file-error?\"\n ATMOSPHERE: (79605..79606) \"\n\"\n ATMOSPHERE: (79606..79642) \";; (guard (exn (else exn))\"\n ATMOSPHERE: (79642..79643) \"\n\"\n ATMOSPHERE: (79643..79691) \";; (delete-file \" no such file \"))))\"\n ATMOSPHERE: (79691..79693) \"\n\n\"\n FORM: (79693..79703)\n OPEN_PAREN: (79693..79694) \"(\"\n SYMBOL: (79694..79702)\n IDENTIFIER: (79694..79702) \"test-end\"\n CLOSE_PAREN: (79702..79703) \")\"\n ATMOSPHERE: (79703..79705) \"\n\n\"\n FORM: (79705..79715)\n OPEN_PAREN: (79705..79706) \"(\"\n SYMBOL: (79706..79714)\n IDENTIFIER: (79706..79714) \"test-end\"\n CLOSE_PAREN: (79714..79715) \")\"\n ATMOSPHERE: (79715..79716) \"\n\"\n EOF: (79716..79716) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json b/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json index a6028f5..c53b6f9 100644 --- a/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..638)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..64) \";; Modululs remainder\"\n ATMOSPHERE: (64..65) \"\n\"\n ATMOSPHERE: (65..67) \";;\"\n ATMOSPHERE: (67..68) \"\n\"\n ATMOSPHERE: (68..107) \";; Returns the modulus remainder of n/d\"\n ATMOSPHERE: (107..108) \"\n\"\n FORM: (108..177)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..115)\n IDENTIFIER: (109..115) \"define\"\n ATMOSPHERE: (115..116) \" \"\n FORM: (116..125)\n OPEN_PAREN: (116..117) \"(\"\n SYMBOL: (117..120)\n IDENTIFIER: (117..120) \"mod\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"n\"\n ATMOSPHERE: (122..123) \" \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"d\"\n CLOSE_PAREN: (124..125) \")\"\n ATMOSPHERE: (125..130) \"\n \"\n FORM: (130..176)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..133)\n IDENTIFIER: (131..133) \"if\"\n ATMOSPHERE: (133..134) \" \"\n FORM: (134..141)\n OPEN_PAREN: (134..135) \"(\"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"<\"\n ATMOSPHERE: (136..137) \" \"\n SYMBOL: (137..138)\n IDENTIFIER: (137..138) \"n\"\n ATMOSPHERE: (138..139) \" \"\n SYMBOL: (139..140)\n IDENTIFIER: (139..140) \"d\"\n CLOSE_PAREN: (140..141) \")\"\n ATMOSPHERE: (141..150) \"\n \"\n SYMBOL: (150..151)\n IDENTIFIER: (150..151) \"n\"\n ATMOSPHERE: (151..160) \"\n \"\n FORM: (160..175)\n OPEN_PAREN: (160..161) \"(\"\n SYMBOL: (161..164)\n IDENTIFIER: (161..164) \"mod\"\n ATMOSPHERE: (164..165) \" \"\n FORM: (165..172)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"-\"\n ATMOSPHERE: (167..168) \" \"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"n\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..171)\n IDENTIFIER: (170..171) \"d\"\n CLOSE_PAREN: (171..172) \")\"\n ATMOSPHERE: (172..173) \" \"\n SYMBOL: (173..174)\n IDENTIFIER: (173..174) \"d\"\n CLOSE_PAREN: (174..175) \")\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n ATMOSPHERE: (177..179) \"\n\n\"\n ATMOSPHERE: (179..233) \";; Find how long a given number takes to converge on 1\"\n ATMOSPHERE: (233..234) \"\n\"\n FORM: (234..514)\n OPEN_PAREN: (234..235) \"(\"\n SYMBOL: (235..241)\n IDENTIFIER: (235..241) \"define\"\n ATMOSPHERE: (241..242) \" \"\n FORM: (242..253)\n OPEN_PAREN: (242..243) \"(\"\n SYMBOL: (243..250)\n IDENTIFIER: (243..250) \"collatz\"\n ATMOSPHERE: (250..251) \" \"\n SYMBOL: (251..252)\n IDENTIFIER: (251..252) \"x\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..486)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..265)\n IDENTIFIER: (259..265) \"define\"\n ATMOSPHERE: (265..266) \" \"\n FORM: (266..292)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..283)\n IDENTIFIER: (267..283) \"collatz-internal\"\n ATMOSPHERE: (283..284) \" \"\n SYMBOL: (284..285)\n IDENTIFIER: (284..285) \"x\"\n ATMOSPHERE: (285..286) \" \"\n SYMBOL: (286..291)\n IDENTIFIER: (286..291) \"steps\"\n CLOSE_PAREN: (291..292) \")\"\n ATMOSPHERE: (292..301) \"\n \"\n FORM: (301..485)\n OPEN_PAREN: (301..302) \"(\"\n SYMBOL: (302..304)\n IDENTIFIER: (302..304) \"if\"\n ATMOSPHERE: (304..305) \" \"\n FORM: (305..312)\n OPEN_PAREN: (305..306) \"(\"\n SYMBOL: (306..307)\n IDENTIFIER: (306..307) \"=\"\n ATMOSPHERE: (307..308) \" \"\n SYMBOL: (308..309)\n IDENTIFIER: (308..309) \"x\"\n ATMOSPHERE: (309..310) \" \"\n CONSTANT: (310..311)\n NUMBER: (310..311) \"1\"\n CLOSE_PAREN: (311..312) \")\"\n ATMOSPHERE: (312..325) \"\n \"\n SYMBOL: (325..330)\n IDENTIFIER: (325..330) \"steps\"\n ATMOSPHERE: (330..343) \"\n \"\n FORM: (343..484)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..360)\n IDENTIFIER: (344..360) \"collatz-internal\"\n ATMOSPHERE: (360..377) \"\n \"\n FORM: (377..459)\n OPEN_PAREN: (377..378) \"(\"\n SYMBOL: (378..380)\n IDENTIFIER: (378..380) \"if\"\n ATMOSPHERE: (380..381) \" \"\n FORM: (381..396)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..383)\n IDENTIFIER: (382..383) \"=\"\n ATMOSPHERE: (383..384) \" \"\n FORM: (384..393)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..388)\n IDENTIFIER: (385..388) \"mod\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..390)\n IDENTIFIER: (389..390) \"x\"\n ATMOSPHERE: (390..391) \" \"\n CONSTANT: (391..392)\n NUMBER: (391..392) \"2\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..394) \" \"\n CONSTANT: (394..395)\n NUMBER: (394..395) \"0\"\n CLOSE_PAREN: (395..396) \")\"\n ATMOSPHERE: (396..417) \"\n \"\n FORM: (417..424)\n OPEN_PAREN: (417..418) \"(\"\n SYMBOL: (418..419)\n IDENTIFIER: (418..419) \"/\"\n ATMOSPHERE: (419..420) \" \"\n SYMBOL: (420..421)\n IDENTIFIER: (420..421) \"x\"\n ATMOSPHERE: (421..422) \" \"\n CONSTANT: (422..423)\n NUMBER: (422..423) \"2\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..445) \"\n \"\n FORM: (445..458)\n OPEN_PAREN: (445..446) \"(\"\n SYMBOL: (446..447)\n IDENTIFIER: (446..447) \"+\"\n ATMOSPHERE: (447..448) \" \"\n FORM: (448..455)\n OPEN_PAREN: (448..449) \"(\"\n SYMBOL: (449..450)\n IDENTIFIER: (449..450) \"*\"\n ATMOSPHERE: (450..451) \" \"\n SYMBOL: (451..452)\n IDENTIFIER: (451..452) \"x\"\n ATMOSPHERE: (452..453) \" \"\n CONSTANT: (453..454)\n NUMBER: (453..454) \"3\"\n CLOSE_PAREN: (454..455) \")\"\n ATMOSPHERE: (455..456) \" \"\n CONSTANT: (456..457)\n NUMBER: (456..457) \"1\"\n CLOSE_PAREN: (457..458) \")\"\n CLOSE_PAREN: (458..459) \")\"\n ATMOSPHERE: (459..472) \"\n \"\n FORM: (472..483)\n OPEN_PAREN: (472..473) \"(\"\n SYMBOL: (473..474)\n IDENTIFIER: (473..474) \"+\"\n ATMOSPHERE: (474..475) \" \"\n SYMBOL: (475..480)\n IDENTIFIER: (475..480) \"steps\"\n ATMOSPHERE: (480..481) \" \"\n CONSTANT: (481..482)\n NUMBER: (481..482) \"1\"\n CLOSE_PAREN: (482..483) \")\"\n CLOSE_PAREN: (483..484) \")\"\n CLOSE_PAREN: (484..485) \")\"\n CLOSE_PAREN: (485..486) \")\"\n ATMOSPHERE: (486..491) \"\n \"\n FORM: (491..513)\n OPEN_PAREN: (491..492) \"(\"\n SYMBOL: (492..508)\n IDENTIFIER: (492..508) \"collatz-internal\"\n ATMOSPHERE: (508..509) \" \"\n SYMBOL: (509..510)\n IDENTIFIER: (509..510) \"x\"\n ATMOSPHERE: (510..511) \" \"\n CONSTANT: (511..512)\n NUMBER: (511..512) \"0\"\n CLOSE_PAREN: (512..513) \")\"\n CLOSE_PAREN: (513..514) \")\"\n ATMOSPHERE: (514..516) \"\n\n\"\n FORM: (516..538)\n OPEN_PAREN: (516..517) \"(\"\n SYMBOL: (517..524)\n IDENTIFIER: (517..524) \"display\"\n ATMOSPHERE: (524..525) \" \"\n FORM: (525..537)\n OPEN_PAREN: (525..526) \"(\"\n SYMBOL: (526..533)\n IDENTIFIER: (526..533) \"collatz\"\n ATMOSPHERE: (533..534) \" \"\n CONSTANT: (534..536)\n NUMBER: (534..536) \"17\"\n CLOSE_PAREN: (536..537) \")\"\n CLOSE_PAREN: (537..538) \")\"\n FORM: (538..547)\n OPEN_PAREN: (538..539) \"(\"\n SYMBOL: (539..546)\n IDENTIFIER: (539..546) \"newline\"\n CLOSE_PAREN: (546..547) \")\"\n ATMOSPHERE: (547..548) \" \"\n ATMOSPHERE: (548..556) \";; => 12\"\n ATMOSPHERE: (556..557) \"\n\"\n FORM: (557..578)\n OPEN_PAREN: (557..558) \"(\"\n SYMBOL: (558..565)\n IDENTIFIER: (558..565) \"display\"\n ATMOSPHERE: (565..566) \" \"\n FORM: (566..577)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"collatz\"\n ATMOSPHERE: (574..575) \" \"\n CONSTANT: (575..576)\n NUMBER: (575..576) \"1\"\n CLOSE_PAREN: (576..577) \")\"\n CLOSE_PAREN: (577..578) \")\"\n FORM: (578..587)\n OPEN_PAREN: (578..579) \"(\"\n SYMBOL: (579..586)\n IDENTIFIER: (579..586) \"newline\"\n CLOSE_PAREN: (586..587) \")\"\n ATMOSPHERE: (587..589) \" \"\n ATMOSPHERE: (589..596) \";; => 0\"\n ATMOSPHERE: (596..597) \"\n\"\n FORM: (597..618)\n OPEN_PAREN: (597..598) \"(\"\n SYMBOL: (598..605)\n IDENTIFIER: (598..605) \"display\"\n ATMOSPHERE: (605..606) \" \"\n FORM: (606..617)\n OPEN_PAREN: (606..607) \"(\"\n SYMBOL: (607..614)\n IDENTIFIER: (607..614) \"collatz\"\n ATMOSPHERE: (614..615) \" \"\n CONSTANT: (615..616)\n NUMBER: (615..616) \"9\"\n CLOSE_PAREN: (616..617) \")\"\n CLOSE_PAREN: (617..618) \")\"\n FORM: (618..627)\n OPEN_PAREN: (618..619) \"(\"\n SYMBOL: (619..626)\n IDENTIFIER: (619..626) \"newline\"\n CLOSE_PAREN: (626..627) \")\"\n ATMOSPHERE: (627..629) \" \"\n ATMOSPHERE: (629..637) \";; => 19\"\n ATMOSPHERE: (637..638) \"\n\"\n" + "Root": "PROGRAM: (0..638)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..64) \";; Modululs remainder\"\n ATMOSPHERE: (64..65) \"\n\"\n ATMOSPHERE: (65..67) \";;\"\n ATMOSPHERE: (67..68) \"\n\"\n ATMOSPHERE: (68..107) \";; Returns the modulus remainder of n/d\"\n ATMOSPHERE: (107..108) \"\n\"\n FORM: (108..177)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..115)\n IDENTIFIER: (109..115) \"define\"\n ATMOSPHERE: (115..116) \" \"\n FORM: (116..125)\n OPEN_PAREN: (116..117) \"(\"\n SYMBOL: (117..120)\n IDENTIFIER: (117..120) \"mod\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"n\"\n ATMOSPHERE: (122..123) \" \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"d\"\n CLOSE_PAREN: (124..125) \")\"\n ATMOSPHERE: (125..130) \"\n \"\n FORM: (130..176)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..133)\n IDENTIFIER: (131..133) \"if\"\n ATMOSPHERE: (133..134) \" \"\n FORM: (134..141)\n OPEN_PAREN: (134..135) \"(\"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"<\"\n ATMOSPHERE: (136..137) \" \"\n SYMBOL: (137..138)\n IDENTIFIER: (137..138) \"n\"\n ATMOSPHERE: (138..139) \" \"\n SYMBOL: (139..140)\n IDENTIFIER: (139..140) \"d\"\n CLOSE_PAREN: (140..141) \")\"\n ATMOSPHERE: (141..150) \"\n \"\n SYMBOL: (150..151)\n IDENTIFIER: (150..151) \"n\"\n ATMOSPHERE: (151..160) \"\n \"\n FORM: (160..175)\n OPEN_PAREN: (160..161) \"(\"\n SYMBOL: (161..164)\n IDENTIFIER: (161..164) \"mod\"\n ATMOSPHERE: (164..165) \" \"\n FORM: (165..172)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"-\"\n ATMOSPHERE: (167..168) \" \"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"n\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..171)\n IDENTIFIER: (170..171) \"d\"\n CLOSE_PAREN: (171..172) \")\"\n ATMOSPHERE: (172..173) \" \"\n SYMBOL: (173..174)\n IDENTIFIER: (173..174) \"d\"\n CLOSE_PAREN: (174..175) \")\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n ATMOSPHERE: (177..179) \"\n\n\"\n ATMOSPHERE: (179..233) \";; Find how long a given number takes to converge on 1\"\n ATMOSPHERE: (233..234) \"\n\"\n FORM: (234..514)\n OPEN_PAREN: (234..235) \"(\"\n SYMBOL: (235..241)\n IDENTIFIER: (235..241) \"define\"\n ATMOSPHERE: (241..242) \" \"\n FORM: (242..253)\n OPEN_PAREN: (242..243) \"(\"\n SYMBOL: (243..250)\n IDENTIFIER: (243..250) \"collatz\"\n ATMOSPHERE: (250..251) \" \"\n SYMBOL: (251..252)\n IDENTIFIER: (251..252) \"x\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..486)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..265)\n IDENTIFIER: (259..265) \"define\"\n ATMOSPHERE: (265..266) \" \"\n FORM: (266..292)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..283)\n IDENTIFIER: (267..283) \"collatz-internal\"\n ATMOSPHERE: (283..284) \" \"\n SYMBOL: (284..285)\n IDENTIFIER: (284..285) \"x\"\n ATMOSPHERE: (285..286) \" \"\n SYMBOL: (286..291)\n IDENTIFIER: (286..291) \"steps\"\n CLOSE_PAREN: (291..292) \")\"\n ATMOSPHERE: (292..301) \"\n \"\n FORM: (301..485)\n OPEN_PAREN: (301..302) \"(\"\n SYMBOL: (302..304)\n IDENTIFIER: (302..304) \"if\"\n ATMOSPHERE: (304..305) \" \"\n FORM: (305..312)\n OPEN_PAREN: (305..306) \"(\"\n SYMBOL: (306..307)\n IDENTIFIER: (306..307) \"=\"\n ATMOSPHERE: (307..308) \" \"\n SYMBOL: (308..309)\n IDENTIFIER: (308..309) \"x\"\n ATMOSPHERE: (309..310) \" \"\n CONSTANT: (310..311)\n NUMBER: (310..311) \"1\"\n CLOSE_PAREN: (311..312) \")\"\n ATMOSPHERE: (312..325) \"\n \"\n SYMBOL: (325..330)\n IDENTIFIER: (325..330) \"steps\"\n ATMOSPHERE: (330..343) \"\n \"\n FORM: (343..484)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..360)\n IDENTIFIER: (344..360) \"collatz-internal\"\n ATMOSPHERE: (360..377) \"\n \"\n FORM: (377..459)\n OPEN_PAREN: (377..378) \"(\"\n SYMBOL: (378..380)\n IDENTIFIER: (378..380) \"if\"\n ATMOSPHERE: (380..381) \" \"\n FORM: (381..396)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..383)\n IDENTIFIER: (382..383) \"=\"\n ATMOSPHERE: (383..384) \" \"\n FORM: (384..393)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..388)\n IDENTIFIER: (385..388) \"mod\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..390)\n IDENTIFIER: (389..390) \"x\"\n ATMOSPHERE: (390..391) \" \"\n CONSTANT: (391..392)\n NUMBER: (391..392) \"2\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..394) \" \"\n CONSTANT: (394..395)\n NUMBER: (394..395) \"0\"\n CLOSE_PAREN: (395..396) \")\"\n ATMOSPHERE: (396..417) \"\n \"\n FORM: (417..424)\n OPEN_PAREN: (417..418) \"(\"\n SYMBOL: (418..419)\n IDENTIFIER: (418..419) \"/\"\n ATMOSPHERE: (419..420) \" \"\n SYMBOL: (420..421)\n IDENTIFIER: (420..421) \"x\"\n ATMOSPHERE: (421..422) \" \"\n CONSTANT: (422..423)\n NUMBER: (422..423) \"2\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..445) \"\n \"\n FORM: (445..458)\n OPEN_PAREN: (445..446) \"(\"\n SYMBOL: (446..447)\n IDENTIFIER: (446..447) \"+\"\n ATMOSPHERE: (447..448) \" \"\n FORM: (448..455)\n OPEN_PAREN: (448..449) \"(\"\n SYMBOL: (449..450)\n IDENTIFIER: (449..450) \"*\"\n ATMOSPHERE: (450..451) \" \"\n SYMBOL: (451..452)\n IDENTIFIER: (451..452) \"x\"\n ATMOSPHERE: (452..453) \" \"\n CONSTANT: (453..454)\n NUMBER: (453..454) \"3\"\n CLOSE_PAREN: (454..455) \")\"\n ATMOSPHERE: (455..456) \" \"\n CONSTANT: (456..457)\n NUMBER: (456..457) \"1\"\n CLOSE_PAREN: (457..458) \")\"\n CLOSE_PAREN: (458..459) \")\"\n ATMOSPHERE: (459..472) \"\n \"\n FORM: (472..483)\n OPEN_PAREN: (472..473) \"(\"\n SYMBOL: (473..474)\n IDENTIFIER: (473..474) \"+\"\n ATMOSPHERE: (474..475) \" \"\n SYMBOL: (475..480)\n IDENTIFIER: (475..480) \"steps\"\n ATMOSPHERE: (480..481) \" \"\n CONSTANT: (481..482)\n NUMBER: (481..482) \"1\"\n CLOSE_PAREN: (482..483) \")\"\n CLOSE_PAREN: (483..484) \")\"\n CLOSE_PAREN: (484..485) \")\"\n CLOSE_PAREN: (485..486) \")\"\n ATMOSPHERE: (486..491) \"\n \"\n FORM: (491..513)\n OPEN_PAREN: (491..492) \"(\"\n SYMBOL: (492..508)\n IDENTIFIER: (492..508) \"collatz-internal\"\n ATMOSPHERE: (508..509) \" \"\n SYMBOL: (509..510)\n IDENTIFIER: (509..510) \"x\"\n ATMOSPHERE: (510..511) \" \"\n CONSTANT: (511..512)\n NUMBER: (511..512) \"0\"\n CLOSE_PAREN: (512..513) \")\"\n CLOSE_PAREN: (513..514) \")\"\n ATMOSPHERE: (514..516) \"\n\n\"\n FORM: (516..538)\n OPEN_PAREN: (516..517) \"(\"\n SYMBOL: (517..524)\n IDENTIFIER: (517..524) \"display\"\n ATMOSPHERE: (524..525) \" \"\n FORM: (525..537)\n OPEN_PAREN: (525..526) \"(\"\n SYMBOL: (526..533)\n IDENTIFIER: (526..533) \"collatz\"\n ATMOSPHERE: (533..534) \" \"\n CONSTANT: (534..536)\n NUMBER: (534..536) \"17\"\n CLOSE_PAREN: (536..537) \")\"\n CLOSE_PAREN: (537..538) \")\"\n FORM: (538..547)\n OPEN_PAREN: (538..539) \"(\"\n SYMBOL: (539..546)\n IDENTIFIER: (539..546) \"newline\"\n CLOSE_PAREN: (546..547) \")\"\n ATMOSPHERE: (547..548) \" \"\n ATMOSPHERE: (548..556) \";; => 12\"\n ATMOSPHERE: (556..557) \"\n\"\n FORM: (557..578)\n OPEN_PAREN: (557..558) \"(\"\n SYMBOL: (558..565)\n IDENTIFIER: (558..565) \"display\"\n ATMOSPHERE: (565..566) \" \"\n FORM: (566..577)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"collatz\"\n ATMOSPHERE: (574..575) \" \"\n CONSTANT: (575..576)\n NUMBER: (575..576) \"1\"\n CLOSE_PAREN: (576..577) \")\"\n CLOSE_PAREN: (577..578) \")\"\n FORM: (578..587)\n OPEN_PAREN: (578..579) \"(\"\n SYMBOL: (579..586)\n IDENTIFIER: (579..586) \"newline\"\n CLOSE_PAREN: (586..587) \")\"\n ATMOSPHERE: (587..589) \" \"\n ATMOSPHERE: (589..596) \";; => 0\"\n ATMOSPHERE: (596..597) \"\n\"\n FORM: (597..618)\n OPEN_PAREN: (597..598) \"(\"\n SYMBOL: (598..605)\n IDENTIFIER: (598..605) \"display\"\n ATMOSPHERE: (605..606) \" \"\n FORM: (606..617)\n OPEN_PAREN: (606..607) \"(\"\n SYMBOL: (607..614)\n IDENTIFIER: (607..614) \"collatz\"\n ATMOSPHERE: (614..615) \" \"\n CONSTANT: (615..616)\n NUMBER: (615..616) \"9\"\n CLOSE_PAREN: (616..617) \")\"\n CLOSE_PAREN: (617..618) \")\"\n FORM: (618..627)\n OPEN_PAREN: (618..619) \"(\"\n SYMBOL: (619..626)\n IDENTIFIER: (619..626) \"newline\"\n CLOSE_PAREN: (626..627) \")\"\n ATMOSPHERE: (627..629) \" \"\n ATMOSPHERE: (629..637) \";; => 19\"\n ATMOSPHERE: (637..638) \"\n\"\n EOF: (638..638) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_comment.scm.json b/test/Feersum.Tests/_snapshots/Parse_comment.scm.json index 155eb92..dc4b745 100644 --- a/test/Feersum.Tests/_snapshots/Parse_comment.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_comment.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..163)\n ATMOSPHERE: (0..9) \"; this is\"\n ATMOSPHERE: (9..10) \"\n\"\n ATMOSPHERE: (10..33) \";; just a collection of\"\n ATMOSPHERE: (33..34) \"\n\"\n ATMOSPHERE: (34..47) \";;;; comments\"\n ATMOSPHERE: (47..48) \"\n\"\n ATMOSPHERE: (48..53) \"; and\"\n ATMOSPHERE: (53..54) \"\n\"\n ATMOSPHERE: (54..61) \";things\"\n ATMOSPHERE: (61..62) \"\n\"\n ATMOSPHERE: (62..75) \"; ; ; ; ; ; ;\"\n ATMOSPHERE: (75..76) \"\n\"\n CONSTANT: (76..77)\n NUMBER: (76..77) \"0\"\n ATMOSPHERE: (77..78) \"\n\"\n ATMOSPHERE: (78..147) \";; ^^ that one keeps the compiler happy. A file without statements is\"\n ATMOSPHERE: (147..148) \"\n\"\n ATMOSPHERE: (148..163) \";; \"undefined\".\"\n" + "Root": "PROGRAM: (0..163)\n ATMOSPHERE: (0..9) \"; this is\"\n ATMOSPHERE: (9..10) \"\n\"\n ATMOSPHERE: (10..33) \";; just a collection of\"\n ATMOSPHERE: (33..34) \"\n\"\n ATMOSPHERE: (34..47) \";;;; comments\"\n ATMOSPHERE: (47..48) \"\n\"\n ATMOSPHERE: (48..53) \"; and\"\n ATMOSPHERE: (53..54) \"\n\"\n ATMOSPHERE: (54..61) \";things\"\n ATMOSPHERE: (61..62) \"\n\"\n ATMOSPHERE: (62..75) \"; ; ; ; ; ; ;\"\n ATMOSPHERE: (75..76) \"\n\"\n CONSTANT: (76..77)\n NUMBER: (76..77) \"0\"\n ATMOSPHERE: (77..78) \"\n\"\n ATMOSPHERE: (78..147) \";; ^^ that one keeps the compiler happy. A file without statements is\"\n ATMOSPHERE: (147..148) \"\n\"\n ATMOSPHERE: (148..163) \";; \"undefined\".\"\n EOF: (163..163) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json b/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json index dc4741d..622efca 100644 --- a/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..534)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..121) \"#|\n The FACT procedure computes the factorial of a non-negative integer.\n|#\"\n ATMOSPHERE: (121..122) \"\n\"\n FORM: (122..507)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..129)\n IDENTIFIER: (123..129) \"define\"\n ATMOSPHERE: (129..130) \" \"\n SYMBOL: (130..134)\n IDENTIFIER: (130..134) \"fact\"\n ATMOSPHERE: (134..139) \"\n \"\n FORM: (139..506)\n OPEN_PAREN: (139..140) \"(\"\n SYMBOL: (140..146)\n IDENTIFIER: (140..146) \"lambda\"\n ATMOSPHERE: (146..147) \" \"\n FORM: (147..150)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..149)\n IDENTIFIER: (148..149) \"n\"\n CLOSE_PAREN: (149..150) \")\"\n ATMOSPHERE: (150..159) \"\n \"\n ATMOSPHERE: (159..216) \"; ; ~~~ Remove these when builtins are properly supported\"\n ATMOSPHERE: (216..225) \"\n \"\n ATMOSPHERE: (225..243) \"; (define (- x) x)\"\n ATMOSPHERE: (243..252) \"\n \"\n ATMOSPHERE: (252..270) \"; (define (= y) y)\"\n ATMOSPHERE: (270..279) \"\n \"\n ATMOSPHERE: (279..297) \"; (define (* z) z)\"\n ATMOSPHERE: (297..306) \"\n \"\n ATMOSPHERE: (306..356) \"; ; ~~~~ Remove when scopes are supported properly\"\n ATMOSPHERE: (356..365) \"\n \"\n ATMOSPHERE: (365..386) \"; (define (fact x) x)\"\n ATMOSPHERE: (386..396) \"\n\n \"\n FORM: (396..505)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..399)\n IDENTIFIER: (397..399) \"if\"\n ATMOSPHERE: (399..400) \" \"\n FORM: (400..407)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..402)\n IDENTIFIER: (401..402) \"=\"\n ATMOSPHERE: (402..403) \" \"\n SYMBOL: (403..404)\n IDENTIFIER: (403..404) \"n\"\n ATMOSPHERE: (404..405) \" \"\n CONSTANT: (405..406)\n NUMBER: (405..406) \"0\"\n CLOSE_PAREN: (406..407) \")\"\n ATMOSPHERE: (407..420) \"\n \"\n ATMOSPHERE: (420..442)\n ATMOSPHERE: (420..422) \"#;\"\n FORM: (422..429)\n OPEN_PAREN: (422..423) \"(\"\n SYMBOL: (423..424)\n IDENTIFIER: (423..424) \"=\"\n ATMOSPHERE: (424..425) \" \"\n SYMBOL: (425..426)\n IDENTIFIER: (425..426) \"n\"\n ATMOSPHERE: (426..427) \" \"\n CONSTANT: (427..428)\n NUMBER: (427..428) \"1\"\n CLOSE_PAREN: (428..429) \")\"\n ATMOSPHERE: (429..442) \"\n \"\n CONSTANT: (442..443)\n NUMBER: (442..443) \"1\"\n ATMOSPHERE: (443..451) \" \"\n ATMOSPHERE: (451..471) \";Base case: return 1\"\n ATMOSPHERE: (471..484) \"\n \"\n FORM: (484..504)\n OPEN_PAREN: (484..485) \"(\"\n SYMBOL: (485..486)\n IDENTIFIER: (485..486) \"*\"\n ATMOSPHERE: (486..487) \" \"\n SYMBOL: (487..488)\n IDENTIFIER: (487..488) \"n\"\n ATMOSPHERE: (488..489) \" \"\n FORM: (489..503)\n OPEN_PAREN: (489..490) \"(\"\n SYMBOL: (490..494)\n IDENTIFIER: (490..494) \"fact\"\n ATMOSPHERE: (494..495) \" \"\n FORM: (495..502)\n OPEN_PAREN: (495..496) \"(\"\n SYMBOL: (496..497)\n IDENTIFIER: (496..497) \"-\"\n ATMOSPHERE: (497..498) \" \"\n SYMBOL: (498..499)\n IDENTIFIER: (498..499) \"n\"\n ATMOSPHERE: (499..500) \" \"\n CONSTANT: (500..501)\n NUMBER: (500..501) \"1\"\n CLOSE_PAREN: (501..502) \")\"\n CLOSE_PAREN: (502..503) \")\"\n CLOSE_PAREN: (503..504) \")\"\n CLOSE_PAREN: (504..505) \")\"\n CLOSE_PAREN: (505..506) \")\"\n CLOSE_PAREN: (506..507) \")\"\n ATMOSPHERE: (507..509) \"\n\n\"\n FORM: (509..527)\n OPEN_PAREN: (509..510) \"(\"\n SYMBOL: (510..517)\n IDENTIFIER: (510..517) \"display\"\n ATMOSPHERE: (517..518) \" \"\n FORM: (518..526)\n OPEN_PAREN: (518..519) \"(\"\n SYMBOL: (519..523)\n IDENTIFIER: (519..523) \"fact\"\n ATMOSPHERE: (523..524) \" \"\n CONSTANT: (524..525)\n NUMBER: (524..525) \"3\"\n CLOSE_PAREN: (525..526) \")\"\n CLOSE_PAREN: (526..527) \")\"\n ATMOSPHERE: (527..528) \" \"\n ATMOSPHERE: (528..534) \"; -> 6\"\n" + "Root": "PROGRAM: (0..534)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..121) \"#|\n The FACT procedure computes the factorial of a non-negative integer.\n|#\"\n ATMOSPHERE: (121..122) \"\n\"\n FORM: (122..507)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..129)\n IDENTIFIER: (123..129) \"define\"\n ATMOSPHERE: (129..130) \" \"\n SYMBOL: (130..134)\n IDENTIFIER: (130..134) \"fact\"\n ATMOSPHERE: (134..139) \"\n \"\n FORM: (139..506)\n OPEN_PAREN: (139..140) \"(\"\n SYMBOL: (140..146)\n IDENTIFIER: (140..146) \"lambda\"\n ATMOSPHERE: (146..147) \" \"\n FORM: (147..150)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..149)\n IDENTIFIER: (148..149) \"n\"\n CLOSE_PAREN: (149..150) \")\"\n ATMOSPHERE: (150..159) \"\n \"\n ATMOSPHERE: (159..216) \"; ; ~~~ Remove these when builtins are properly supported\"\n ATMOSPHERE: (216..225) \"\n \"\n ATMOSPHERE: (225..243) \"; (define (- x) x)\"\n ATMOSPHERE: (243..252) \"\n \"\n ATMOSPHERE: (252..270) \"; (define (= y) y)\"\n ATMOSPHERE: (270..279) \"\n \"\n ATMOSPHERE: (279..297) \"; (define (* z) z)\"\n ATMOSPHERE: (297..306) \"\n \"\n ATMOSPHERE: (306..356) \"; ; ~~~~ Remove when scopes are supported properly\"\n ATMOSPHERE: (356..365) \"\n \"\n ATMOSPHERE: (365..386) \"; (define (fact x) x)\"\n ATMOSPHERE: (386..396) \"\n\n \"\n FORM: (396..505)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..399)\n IDENTIFIER: (397..399) \"if\"\n ATMOSPHERE: (399..400) \" \"\n FORM: (400..407)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..402)\n IDENTIFIER: (401..402) \"=\"\n ATMOSPHERE: (402..403) \" \"\n SYMBOL: (403..404)\n IDENTIFIER: (403..404) \"n\"\n ATMOSPHERE: (404..405) \" \"\n CONSTANT: (405..406)\n NUMBER: (405..406) \"0\"\n CLOSE_PAREN: (406..407) \")\"\n ATMOSPHERE: (407..420) \"\n \"\n ATMOSPHERE: (420..442)\n ATMOSPHERE: (420..422) \"#;\"\n FORM: (422..429)\n OPEN_PAREN: (422..423) \"(\"\n SYMBOL: (423..424)\n IDENTIFIER: (423..424) \"=\"\n ATMOSPHERE: (424..425) \" \"\n SYMBOL: (425..426)\n IDENTIFIER: (425..426) \"n\"\n ATMOSPHERE: (426..427) \" \"\n CONSTANT: (427..428)\n NUMBER: (427..428) \"1\"\n CLOSE_PAREN: (428..429) \")\"\n ATMOSPHERE: (429..442) \"\n \"\n CONSTANT: (442..443)\n NUMBER: (442..443) \"1\"\n ATMOSPHERE: (443..451) \" \"\n ATMOSPHERE: (451..471) \";Base case: return 1\"\n ATMOSPHERE: (471..484) \"\n \"\n FORM: (484..504)\n OPEN_PAREN: (484..485) \"(\"\n SYMBOL: (485..486)\n IDENTIFIER: (485..486) \"*\"\n ATMOSPHERE: (486..487) \" \"\n SYMBOL: (487..488)\n IDENTIFIER: (487..488) \"n\"\n ATMOSPHERE: (488..489) \" \"\n FORM: (489..503)\n OPEN_PAREN: (489..490) \"(\"\n SYMBOL: (490..494)\n IDENTIFIER: (490..494) \"fact\"\n ATMOSPHERE: (494..495) \" \"\n FORM: (495..502)\n OPEN_PAREN: (495..496) \"(\"\n SYMBOL: (496..497)\n IDENTIFIER: (496..497) \"-\"\n ATMOSPHERE: (497..498) \" \"\n SYMBOL: (498..499)\n IDENTIFIER: (498..499) \"n\"\n ATMOSPHERE: (499..500) \" \"\n CONSTANT: (500..501)\n NUMBER: (500..501) \"1\"\n CLOSE_PAREN: (501..502) \")\"\n CLOSE_PAREN: (502..503) \")\"\n CLOSE_PAREN: (503..504) \")\"\n CLOSE_PAREN: (504..505) \")\"\n CLOSE_PAREN: (505..506) \")\"\n CLOSE_PAREN: (506..507) \")\"\n ATMOSPHERE: (507..509) \"\n\n\"\n FORM: (509..527)\n OPEN_PAREN: (509..510) \"(\"\n SYMBOL: (510..517)\n IDENTIFIER: (510..517) \"display\"\n ATMOSPHERE: (517..518) \" \"\n FORM: (518..526)\n OPEN_PAREN: (518..519) \"(\"\n SYMBOL: (519..523)\n IDENTIFIER: (519..523) \"fact\"\n ATMOSPHERE: (523..524) \" \"\n CONSTANT: (524..525)\n NUMBER: (524..525) \"3\"\n CLOSE_PAREN: (525..526) \")\"\n CLOSE_PAREN: (526..527) \")\"\n ATMOSPHERE: (527..528) \" \"\n ATMOSPHERE: (528..534) \"; -> 6\"\n EOF: (534..534) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json b/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json index cc1c728..93b21f6 100644 --- a/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..707)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \"\n\"\n FORM: (212..318)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..220)\n IDENTIFIER: (213..220) \"display\"\n ATMOSPHERE: (220..221) \" \"\n FORM: (221..317)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..226)\n IDENTIFIER: (222..226) \"list\"\n ATMOSPHERE: (226..231) \"\n \"\n FORM: (231..246)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..236)\n IDENTIFIER: (232..236) \"when\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..239)\n BOOLEAN: (237..239) \"#t\"\n ATMOSPHERE: (239..240) \" \"\n CONSTANT: (240..241)\n NUMBER: (240..241) \"1\"\n ATMOSPHERE: (241..242) \" \"\n CONSTANT: (242..243)\n NUMBER: (242..243) \"2\"\n ATMOSPHERE: (243..244) \" \"\n CONSTANT: (244..245)\n NUMBER: (244..245) \"3\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..251) \"\n \"\n FORM: (251..266)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..256)\n IDENTIFIER: (252..256) \"when\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..259)\n BOOLEAN: (257..259) \"#f\"\n ATMOSPHERE: (259..260) \" \"\n QUOTED_DATUM: (260..265)\n QUOTE: (260..261) \"'\"\n SYMBOL: (261..265)\n IDENTIFIER: (261..265) \"fail\"\n CLOSE_PAREN: (265..266) \")\"\n ATMOSPHERE: (266..271) \"\n \"\n FORM: (271..288)\n OPEN_PAREN: (271..272) \"(\"\n SYMBOL: (272..278)\n IDENTIFIER: (272..278) \"unless\"\n ATMOSPHERE: (278..279) \" \"\n CONSTANT: (279..281)\n BOOLEAN: (279..281) \"#f\"\n ATMOSPHERE: (281..282) \" \"\n QUOTED_DATUM: (282..287)\n QUOTE: (282..283) \"'\"\n SYMBOL: (283..287)\n IDENTIFIER: (283..287) \"yarp\"\n CLOSE_PAREN: (287..288) \")\"\n ATMOSPHERE: (288..293) \"\n \"\n FORM: (293..311)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..300)\n IDENTIFIER: (294..300) \"unless\"\n ATMOSPHERE: (300..301) \" \"\n CONSTANT: (301..306)\n BOOLEAN: (301..306) \"#true\"\n ATMOSPHERE: (306..307) \" \"\n CONSTANT: (307..310)\n NUMBER: (307..310) \"123\"\n CLOSE_PAREN: (310..311) \")\"\n ATMOSPHERE: (311..316) \"\n \"\n CLOSE_PAREN: (316..317) \")\"\n CLOSE_PAREN: (317..318) \")\"\n ATMOSPHERE: (318..320) \"\n\n\"\n FORM: (320..366)\n OPEN_PAREN: (320..321) \"(\"\n SYMBOL: (321..328)\n IDENTIFIER: (321..328) \"display\"\n ATMOSPHERE: (328..333) \"\n \"\n FORM: (333..365)\n OPEN_PAREN: (333..334) \"(\"\n SYMBOL: (334..336)\n IDENTIFIER: (334..336) \"if\"\n ATMOSPHERE: (336..337) \" \"\n CONSTANT: (337..339)\n BOOLEAN: (337..339) \"#t\"\n ATMOSPHERE: (339..348) \"\n \"\n CONSTANT: (348..351)\n NUMBER: (348..351) \"255\"\n ATMOSPHERE: (351..360) \"\n \"\n CONSTANT: (360..364)\n NUMBER: (360..364) \"-123\"\n CLOSE_PAREN: (364..365) \")\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..368) \"\n\n\"\n ATMOSPHERE: (368..421) \";; Hello isn't #f, therefore we should return \"world\"\"\n ATMOSPHERE: (421..422) \"\n\"\n FORM: (422..475)\n OPEN_PAREN: (422..423) \"(\"\n SYMBOL: (423..430)\n IDENTIFIER: (423..430) \"display\"\n ATMOSPHERE: (430..435) \"\n \"\n FORM: (435..474)\n OPEN_PAREN: (435..436) \"(\"\n SYMBOL: (436..438)\n IDENTIFIER: (436..438) \"if\"\n ATMOSPHERE: (438..439) \" \"\n CONSTANT: (439..446)\n STRING: (439..446) \"\"hello\"\"\n ATMOSPHERE: (446..455) \"\n \"\n CONSTANT: (455..462)\n STRING: (455..462) \"\"world\"\"\n ATMOSPHERE: (462..471) \"\n \"\n CONSTANT: (471..473)\n NUMBER: (471..473) \"-2\"\n CLOSE_PAREN: (473..474) \")\"\n CLOSE_PAREN: (474..475) \")\"\n ATMOSPHERE: (475..485) \"\n \n\"\n FORM: (485..565)\n OPEN_PAREN: (485..486) \"(\"\n SYMBOL: (486..493)\n IDENTIFIER: (486..493) \"display\"\n ATMOSPHERE: (493..498) \"\n \"\n FORM: (498..564)\n OPEN_PAREN: (498..499) \"(\"\n SYMBOL: (499..503)\n IDENTIFIER: (499..503) \"cond\"\n ATMOSPHERE: (503..512) \"\n \"\n FORM: (512..523)\n OPEN_PAREN: (512..513) \"(\"\n CONSTANT: (513..515)\n BOOLEAN: (513..515) \"#f\"\n ATMOSPHERE: (515..516) \" \"\n QUOTED_DATUM: (516..522)\n QUOTE: (516..517) \"'\"\n SYMBOL: (517..522)\n IDENTIFIER: (517..522) \"false\"\n CLOSE_PAREN: (522..523) \")\"\n ATMOSPHERE: (523..532) \"\n \"\n FORM: (532..542)\n OPEN_PAREN: (532..533) \"(\"\n CONSTANT: (533..535)\n BOOLEAN: (533..535) \"#t\"\n ATMOSPHERE: (535..536) \" \"\n QUOTED_DATUM: (536..541)\n QUOTE: (536..537) \"'\"\n SYMBOL: (537..541)\n IDENTIFIER: (537..541) \"true\"\n CLOSE_PAREN: (541..542) \")\"\n ATMOSPHERE: (542..551) \"\n \"\n FORM: (551..563)\n OPEN_PAREN: (551..552) \"(\"\n SYMBOL: (552..556)\n IDENTIFIER: (552..556) \"else\"\n ATMOSPHERE: (556..557) \" \"\n QUOTED_DATUM: (557..562)\n QUOTE: (557..558) \"'\"\n SYMBOL: (558..562)\n IDENTIFIER: (558..562) \"fail\"\n CLOSE_PAREN: (562..563) \")\"\n CLOSE_PAREN: (563..564) \")\"\n CLOSE_PAREN: (564..565) \")\"\n ATMOSPHERE: (565..566) \"\n\"\n FORM: (566..625)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"display\"\n ATMOSPHERE: (574..579) \"\n \"\n FORM: (579..624)\n OPEN_PAREN: (579..580) \"(\"\n SYMBOL: (580..584)\n IDENTIFIER: (580..584) \"cond\"\n ATMOSPHERE: (584..593) \"\n \"\n FORM: (593..604)\n OPEN_PAREN: (593..594) \"(\"\n CONSTANT: (594..596)\n BOOLEAN: (594..596) \"#f\"\n ATMOSPHERE: (596..597) \" \"\n QUOTED_DATUM: (597..603)\n QUOTE: (597..598) \"'\"\n SYMBOL: (598..603)\n IDENTIFIER: (598..603) \"false\"\n CLOSE_PAREN: (603..604) \")\"\n ATMOSPHERE: (604..613) \"\n \"\n FORM: (613..623)\n OPEN_PAREN: (613..614) \"(\"\n CONSTANT: (614..616)\n BOOLEAN: (614..616) \"#t\"\n ATMOSPHERE: (616..617) \" \"\n QUOTED_DATUM: (617..622)\n QUOTE: (617..618) \"'\"\n SYMBOL: (618..622)\n IDENTIFIER: (618..622) \"true\"\n CLOSE_PAREN: (622..623) \")\"\n CLOSE_PAREN: (623..624) \")\"\n CLOSE_PAREN: (624..625) \")\"\n ATMOSPHERE: (625..626) \"\n\"\n FORM: (626..665)\n OPEN_PAREN: (626..627) \"(\"\n SYMBOL: (627..634)\n IDENTIFIER: (627..634) \"display\"\n ATMOSPHERE: (634..639) \"\n \"\n FORM: (639..664)\n OPEN_PAREN: (639..640) \"(\"\n SYMBOL: (640..644)\n IDENTIFIER: (640..644) \"cond\"\n ATMOSPHERE: (644..653) \"\n \"\n FORM: (653..663)\n OPEN_PAREN: (653..654) \"(\"\n SYMBOL: (654..658)\n IDENTIFIER: (654..658) \"else\"\n ATMOSPHERE: (658..659) \" \"\n QUOTED_DATUM: (659..662)\n QUOTE: (659..660) \"'\"\n SYMBOL: (660..662)\n IDENTIFIER: (660..662) \"ok\"\n CLOSE_PAREN: (662..663) \")\"\n CLOSE_PAREN: (663..664) \")\"\n CLOSE_PAREN: (664..665) \")\"\n ATMOSPHERE: (665..666) \"\n\"\n FORM: (666..706)\n OPEN_PAREN: (666..667) \"(\"\n SYMBOL: (667..674)\n IDENTIFIER: (667..674) \"display\"\n ATMOSPHERE: (674..679) \"\n \"\n FORM: (679..705)\n OPEN_PAREN: (679..680) \"(\"\n SYMBOL: (680..684)\n IDENTIFIER: (680..684) \"cond\"\n ATMOSPHERE: (684..694) \" \n \"\n FORM: (694..704)\n OPEN_PAREN: (694..695) \"(\"\n CONSTANT: (695..697)\n BOOLEAN: (695..697) \"#f\"\n ATMOSPHERE: (697..698) \" \"\n QUOTED_DATUM: (698..703)\n QUOTE: (698..699) \"'\"\n SYMBOL: (699..703)\n IDENTIFIER: (699..703) \"fail\"\n CLOSE_PAREN: (703..704) \")\"\n CLOSE_PAREN: (704..705) \")\"\n CLOSE_PAREN: (705..706) \")\"\n ATMOSPHERE: (706..707) \"\n\"\n" + "Root": "PROGRAM: (0..707)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \"\n\"\n FORM: (212..318)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..220)\n IDENTIFIER: (213..220) \"display\"\n ATMOSPHERE: (220..221) \" \"\n FORM: (221..317)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..226)\n IDENTIFIER: (222..226) \"list\"\n ATMOSPHERE: (226..231) \"\n \"\n FORM: (231..246)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..236)\n IDENTIFIER: (232..236) \"when\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..239)\n BOOLEAN: (237..239) \"#t\"\n ATMOSPHERE: (239..240) \" \"\n CONSTANT: (240..241)\n NUMBER: (240..241) \"1\"\n ATMOSPHERE: (241..242) \" \"\n CONSTANT: (242..243)\n NUMBER: (242..243) \"2\"\n ATMOSPHERE: (243..244) \" \"\n CONSTANT: (244..245)\n NUMBER: (244..245) \"3\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..251) \"\n \"\n FORM: (251..266)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..256)\n IDENTIFIER: (252..256) \"when\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..259)\n BOOLEAN: (257..259) \"#f\"\n ATMOSPHERE: (259..260) \" \"\n QUOTED_DATUM: (260..265)\n QUOTE: (260..261) \"'\"\n SYMBOL: (261..265)\n IDENTIFIER: (261..265) \"fail\"\n CLOSE_PAREN: (265..266) \")\"\n ATMOSPHERE: (266..271) \"\n \"\n FORM: (271..288)\n OPEN_PAREN: (271..272) \"(\"\n SYMBOL: (272..278)\n IDENTIFIER: (272..278) \"unless\"\n ATMOSPHERE: (278..279) \" \"\n CONSTANT: (279..281)\n BOOLEAN: (279..281) \"#f\"\n ATMOSPHERE: (281..282) \" \"\n QUOTED_DATUM: (282..287)\n QUOTE: (282..283) \"'\"\n SYMBOL: (283..287)\n IDENTIFIER: (283..287) \"yarp\"\n CLOSE_PAREN: (287..288) \")\"\n ATMOSPHERE: (288..293) \"\n \"\n FORM: (293..311)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..300)\n IDENTIFIER: (294..300) \"unless\"\n ATMOSPHERE: (300..301) \" \"\n CONSTANT: (301..306)\n BOOLEAN: (301..306) \"#true\"\n ATMOSPHERE: (306..307) \" \"\n CONSTANT: (307..310)\n NUMBER: (307..310) \"123\"\n CLOSE_PAREN: (310..311) \")\"\n ATMOSPHERE: (311..316) \"\n \"\n CLOSE_PAREN: (316..317) \")\"\n CLOSE_PAREN: (317..318) \")\"\n ATMOSPHERE: (318..320) \"\n\n\"\n FORM: (320..366)\n OPEN_PAREN: (320..321) \"(\"\n SYMBOL: (321..328)\n IDENTIFIER: (321..328) \"display\"\n ATMOSPHERE: (328..333) \"\n \"\n FORM: (333..365)\n OPEN_PAREN: (333..334) \"(\"\n SYMBOL: (334..336)\n IDENTIFIER: (334..336) \"if\"\n ATMOSPHERE: (336..337) \" \"\n CONSTANT: (337..339)\n BOOLEAN: (337..339) \"#t\"\n ATMOSPHERE: (339..348) \"\n \"\n CONSTANT: (348..351)\n NUMBER: (348..351) \"255\"\n ATMOSPHERE: (351..360) \"\n \"\n CONSTANT: (360..364)\n NUMBER: (360..364) \"-123\"\n CLOSE_PAREN: (364..365) \")\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..368) \"\n\n\"\n ATMOSPHERE: (368..421) \";; Hello isn't #f, therefore we should return \"world\"\"\n ATMOSPHERE: (421..422) \"\n\"\n FORM: (422..475)\n OPEN_PAREN: (422..423) \"(\"\n SYMBOL: (423..430)\n IDENTIFIER: (423..430) \"display\"\n ATMOSPHERE: (430..435) \"\n \"\n FORM: (435..474)\n OPEN_PAREN: (435..436) \"(\"\n SYMBOL: (436..438)\n IDENTIFIER: (436..438) \"if\"\n ATMOSPHERE: (438..439) \" \"\n CONSTANT: (439..446)\n STRING: (439..446) \"\"hello\"\"\n ATMOSPHERE: (446..455) \"\n \"\n CONSTANT: (455..462)\n STRING: (455..462) \"\"world\"\"\n ATMOSPHERE: (462..471) \"\n \"\n CONSTANT: (471..473)\n NUMBER: (471..473) \"-2\"\n CLOSE_PAREN: (473..474) \")\"\n CLOSE_PAREN: (474..475) \")\"\n ATMOSPHERE: (475..485) \"\n \n\"\n FORM: (485..565)\n OPEN_PAREN: (485..486) \"(\"\n SYMBOL: (486..493)\n IDENTIFIER: (486..493) \"display\"\n ATMOSPHERE: (493..498) \"\n \"\n FORM: (498..564)\n OPEN_PAREN: (498..499) \"(\"\n SYMBOL: (499..503)\n IDENTIFIER: (499..503) \"cond\"\n ATMOSPHERE: (503..512) \"\n \"\n FORM: (512..523)\n OPEN_PAREN: (512..513) \"(\"\n CONSTANT: (513..515)\n BOOLEAN: (513..515) \"#f\"\n ATMOSPHERE: (515..516) \" \"\n QUOTED_DATUM: (516..522)\n QUOTE: (516..517) \"'\"\n SYMBOL: (517..522)\n IDENTIFIER: (517..522) \"false\"\n CLOSE_PAREN: (522..523) \")\"\n ATMOSPHERE: (523..532) \"\n \"\n FORM: (532..542)\n OPEN_PAREN: (532..533) \"(\"\n CONSTANT: (533..535)\n BOOLEAN: (533..535) \"#t\"\n ATMOSPHERE: (535..536) \" \"\n QUOTED_DATUM: (536..541)\n QUOTE: (536..537) \"'\"\n SYMBOL: (537..541)\n IDENTIFIER: (537..541) \"true\"\n CLOSE_PAREN: (541..542) \")\"\n ATMOSPHERE: (542..551) \"\n \"\n FORM: (551..563)\n OPEN_PAREN: (551..552) \"(\"\n SYMBOL: (552..556)\n IDENTIFIER: (552..556) \"else\"\n ATMOSPHERE: (556..557) \" \"\n QUOTED_DATUM: (557..562)\n QUOTE: (557..558) \"'\"\n SYMBOL: (558..562)\n IDENTIFIER: (558..562) \"fail\"\n CLOSE_PAREN: (562..563) \")\"\n CLOSE_PAREN: (563..564) \")\"\n CLOSE_PAREN: (564..565) \")\"\n ATMOSPHERE: (565..566) \"\n\"\n FORM: (566..625)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"display\"\n ATMOSPHERE: (574..579) \"\n \"\n FORM: (579..624)\n OPEN_PAREN: (579..580) \"(\"\n SYMBOL: (580..584)\n IDENTIFIER: (580..584) \"cond\"\n ATMOSPHERE: (584..593) \"\n \"\n FORM: (593..604)\n OPEN_PAREN: (593..594) \"(\"\n CONSTANT: (594..596)\n BOOLEAN: (594..596) \"#f\"\n ATMOSPHERE: (596..597) \" \"\n QUOTED_DATUM: (597..603)\n QUOTE: (597..598) \"'\"\n SYMBOL: (598..603)\n IDENTIFIER: (598..603) \"false\"\n CLOSE_PAREN: (603..604) \")\"\n ATMOSPHERE: (604..613) \"\n \"\n FORM: (613..623)\n OPEN_PAREN: (613..614) \"(\"\n CONSTANT: (614..616)\n BOOLEAN: (614..616) \"#t\"\n ATMOSPHERE: (616..617) \" \"\n QUOTED_DATUM: (617..622)\n QUOTE: (617..618) \"'\"\n SYMBOL: (618..622)\n IDENTIFIER: (618..622) \"true\"\n CLOSE_PAREN: (622..623) \")\"\n CLOSE_PAREN: (623..624) \")\"\n CLOSE_PAREN: (624..625) \")\"\n ATMOSPHERE: (625..626) \"\n\"\n FORM: (626..665)\n OPEN_PAREN: (626..627) \"(\"\n SYMBOL: (627..634)\n IDENTIFIER: (627..634) \"display\"\n ATMOSPHERE: (634..639) \"\n \"\n FORM: (639..664)\n OPEN_PAREN: (639..640) \"(\"\n SYMBOL: (640..644)\n IDENTIFIER: (640..644) \"cond\"\n ATMOSPHERE: (644..653) \"\n \"\n FORM: (653..663)\n OPEN_PAREN: (653..654) \"(\"\n SYMBOL: (654..658)\n IDENTIFIER: (654..658) \"else\"\n ATMOSPHERE: (658..659) \" \"\n QUOTED_DATUM: (659..662)\n QUOTE: (659..660) \"'\"\n SYMBOL: (660..662)\n IDENTIFIER: (660..662) \"ok\"\n CLOSE_PAREN: (662..663) \")\"\n CLOSE_PAREN: (663..664) \")\"\n CLOSE_PAREN: (664..665) \")\"\n ATMOSPHERE: (665..666) \"\n\"\n FORM: (666..706)\n OPEN_PAREN: (666..667) \"(\"\n SYMBOL: (667..674)\n IDENTIFIER: (667..674) \"display\"\n ATMOSPHERE: (674..679) \"\n \"\n FORM: (679..705)\n OPEN_PAREN: (679..680) \"(\"\n SYMBOL: (680..684)\n IDENTIFIER: (680..684) \"cond\"\n ATMOSPHERE: (684..694) \" \n \"\n FORM: (694..704)\n OPEN_PAREN: (694..695) \"(\"\n CONSTANT: (695..697)\n BOOLEAN: (695..697) \"#f\"\n ATMOSPHERE: (697..698) \" \"\n QUOTED_DATUM: (698..703)\n QUOTE: (698..699) \"'\"\n SYMBOL: (699..703)\n IDENTIFIER: (699..703) \"fail\"\n CLOSE_PAREN: (703..704) \")\"\n CLOSE_PAREN: (704..705) \")\"\n CLOSE_PAREN: (705..706) \")\"\n ATMOSPHERE: (706..707) \"\n\"\n EOF: (707..707) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json b/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json index 8d4a395..c337493 100644 --- a/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..265)\n FORM: (0..58)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..20)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..19)\n IDENTIFIER: (16..19) \"cxr\"\n CLOSE_PAREN: (19..20) \")\"\n ATMOSPHERE: (20..25) \"\n \"\n FORM: (25..38)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"scheme\"\n ATMOSPHERE: (32..33) \" \"\n SYMBOL: (33..37)\n IDENTIFIER: (33..37) \"base\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..43) \"\n \"\n FORM: (43..57)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"scheme\"\n ATMOSPHERE: (50..51) \" \"\n SYMBOL: (51..56)\n IDENTIFIER: (51..56) \"write\"\n CLOSE_PAREN: (56..57) \")\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..60) \"\n\n\"\n FORM: (60..119)\n OPEN_PAREN: (60..61) \"(\"\n SYMBOL: (61..67)\n IDENTIFIER: (61..67) \"define\"\n ATMOSPHERE: (67..68) \" \"\n SYMBOL: (68..77)\n IDENTIFIER: (68..77) \"test-list\"\n ATMOSPHERE: (77..78) \" \"\n QUOTED_DATUM: (78..118)\n QUOTE: (78..79) \"'\"\n FORM: (79..118)\n OPEN_PAREN: (79..80) \"(\"\n ATMOSPHERE: (80..85) \"\n \"\n FORM: (85..92)\n OPEN_PAREN: (85..86) \"(\"\n CONSTANT: (86..87)\n NUMBER: (86..87) \"1\"\n ATMOSPHERE: (87..88) \" \"\n CONSTANT: (88..89)\n NUMBER: (88..89) \"2\"\n ATMOSPHERE: (89..90) \" \"\n CONSTANT: (90..91)\n NUMBER: (90..91) \"3\"\n CLOSE_PAREN: (91..92) \")\"\n ATMOSPHERE: (92..97) \"\n \"\n FORM: (97..104)\n OPEN_PAREN: (97..98) \"(\"\n CONSTANT: (98..99)\n NUMBER: (98..99) \"4\"\n ATMOSPHERE: (99..100) \" \"\n CONSTANT: (100..101)\n NUMBER: (100..101) \"5\"\n ATMOSPHERE: (101..102) \" \"\n CONSTANT: (102..103)\n NUMBER: (102..103) \"6\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..109) \"\n \"\n FORM: (109..116)\n OPEN_PAREN: (109..110) \"(\"\n CONSTANT: (110..111)\n NUMBER: (110..111) \"7\"\n ATMOSPHERE: (111..112) \" \"\n CONSTANT: (112..113)\n NUMBER: (112..113) \"8\"\n ATMOSPHERE: (113..114) \" \"\n CONSTANT: (114..115)\n NUMBER: (114..115) \"9\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..117) \"\n\"\n CLOSE_PAREN: (117..118) \")\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..121) \"\n\n\"\n FORM: (121..147)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..129)\n IDENTIFIER: (122..129) \"display\"\n ATMOSPHERE: (129..130) \" \"\n FORM: (130..146)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..135)\n IDENTIFIER: (131..135) \"caar\"\n ATMOSPHERE: (135..136) \" \"\n SYMBOL: (136..145)\n IDENTIFIER: (136..145) \"test-list\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n FORM: (147..156)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..155)\n IDENTIFIER: (148..155) \"newline\"\n CLOSE_PAREN: (155..156) \")\"\n ATMOSPHERE: (156..157) \"\n\"\n FORM: (157..183)\n OPEN_PAREN: (157..158) \"(\"\n SYMBOL: (158..165)\n IDENTIFIER: (158..165) \"display\"\n ATMOSPHERE: (165..166) \" \"\n FORM: (166..182)\n OPEN_PAREN: (166..167) \"(\"\n SYMBOL: (167..171)\n IDENTIFIER: (167..171) \"cadr\"\n ATMOSPHERE: (171..172) \" \"\n SYMBOL: (172..181)\n IDENTIFIER: (172..181) \"test-list\"\n CLOSE_PAREN: (181..182) \")\"\n CLOSE_PAREN: (182..183) \")\"\n FORM: (183..192)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"newline\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..193) \"\n\"\n FORM: (193..219)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..218)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..207)\n IDENTIFIER: (203..207) \"cdar\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..217)\n IDENTIFIER: (208..217) \"test-list\"\n CLOSE_PAREN: (217..218) \")\"\n CLOSE_PAREN: (218..219) \")\"\n FORM: (219..228)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..227)\n IDENTIFIER: (220..227) \"newline\"\n CLOSE_PAREN: (227..228) \")\"\n ATMOSPHERE: (228..229) \"\n\"\n FORM: (229..255)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..237)\n IDENTIFIER: (230..237) \"display\"\n ATMOSPHERE: (237..238) \" \"\n FORM: (238..254)\n OPEN_PAREN: (238..239) \"(\"\n SYMBOL: (239..243)\n IDENTIFIER: (239..243) \"cddr\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..253)\n IDENTIFIER: (244..253) \"test-list\"\n CLOSE_PAREN: (253..254) \")\"\n CLOSE_PAREN: (254..255) \")\"\n FORM: (255..264)\n OPEN_PAREN: (255..256) \"(\"\n SYMBOL: (256..263)\n IDENTIFIER: (256..263) \"newline\"\n CLOSE_PAREN: (263..264) \")\"\n ATMOSPHERE: (264..265) \"\n\"\n" + "Root": "PROGRAM: (0..265)\n FORM: (0..58)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..20)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..19)\n IDENTIFIER: (16..19) \"cxr\"\n CLOSE_PAREN: (19..20) \")\"\n ATMOSPHERE: (20..25) \"\n \"\n FORM: (25..38)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"scheme\"\n ATMOSPHERE: (32..33) \" \"\n SYMBOL: (33..37)\n IDENTIFIER: (33..37) \"base\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..43) \"\n \"\n FORM: (43..57)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"scheme\"\n ATMOSPHERE: (50..51) \" \"\n SYMBOL: (51..56)\n IDENTIFIER: (51..56) \"write\"\n CLOSE_PAREN: (56..57) \")\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..60) \"\n\n\"\n FORM: (60..119)\n OPEN_PAREN: (60..61) \"(\"\n SYMBOL: (61..67)\n IDENTIFIER: (61..67) \"define\"\n ATMOSPHERE: (67..68) \" \"\n SYMBOL: (68..77)\n IDENTIFIER: (68..77) \"test-list\"\n ATMOSPHERE: (77..78) \" \"\n QUOTED_DATUM: (78..118)\n QUOTE: (78..79) \"'\"\n FORM: (79..118)\n OPEN_PAREN: (79..80) \"(\"\n ATMOSPHERE: (80..85) \"\n \"\n FORM: (85..92)\n OPEN_PAREN: (85..86) \"(\"\n CONSTANT: (86..87)\n NUMBER: (86..87) \"1\"\n ATMOSPHERE: (87..88) \" \"\n CONSTANT: (88..89)\n NUMBER: (88..89) \"2\"\n ATMOSPHERE: (89..90) \" \"\n CONSTANT: (90..91)\n NUMBER: (90..91) \"3\"\n CLOSE_PAREN: (91..92) \")\"\n ATMOSPHERE: (92..97) \"\n \"\n FORM: (97..104)\n OPEN_PAREN: (97..98) \"(\"\n CONSTANT: (98..99)\n NUMBER: (98..99) \"4\"\n ATMOSPHERE: (99..100) \" \"\n CONSTANT: (100..101)\n NUMBER: (100..101) \"5\"\n ATMOSPHERE: (101..102) \" \"\n CONSTANT: (102..103)\n NUMBER: (102..103) \"6\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..109) \"\n \"\n FORM: (109..116)\n OPEN_PAREN: (109..110) \"(\"\n CONSTANT: (110..111)\n NUMBER: (110..111) \"7\"\n ATMOSPHERE: (111..112) \" \"\n CONSTANT: (112..113)\n NUMBER: (112..113) \"8\"\n ATMOSPHERE: (113..114) \" \"\n CONSTANT: (114..115)\n NUMBER: (114..115) \"9\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..117) \"\n\"\n CLOSE_PAREN: (117..118) \")\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..121) \"\n\n\"\n FORM: (121..147)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..129)\n IDENTIFIER: (122..129) \"display\"\n ATMOSPHERE: (129..130) \" \"\n FORM: (130..146)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..135)\n IDENTIFIER: (131..135) \"caar\"\n ATMOSPHERE: (135..136) \" \"\n SYMBOL: (136..145)\n IDENTIFIER: (136..145) \"test-list\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n FORM: (147..156)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..155)\n IDENTIFIER: (148..155) \"newline\"\n CLOSE_PAREN: (155..156) \")\"\n ATMOSPHERE: (156..157) \"\n\"\n FORM: (157..183)\n OPEN_PAREN: (157..158) \"(\"\n SYMBOL: (158..165)\n IDENTIFIER: (158..165) \"display\"\n ATMOSPHERE: (165..166) \" \"\n FORM: (166..182)\n OPEN_PAREN: (166..167) \"(\"\n SYMBOL: (167..171)\n IDENTIFIER: (167..171) \"cadr\"\n ATMOSPHERE: (171..172) \" \"\n SYMBOL: (172..181)\n IDENTIFIER: (172..181) \"test-list\"\n CLOSE_PAREN: (181..182) \")\"\n CLOSE_PAREN: (182..183) \")\"\n FORM: (183..192)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"newline\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..193) \"\n\"\n FORM: (193..219)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..218)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..207)\n IDENTIFIER: (203..207) \"cdar\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..217)\n IDENTIFIER: (208..217) \"test-list\"\n CLOSE_PAREN: (217..218) \")\"\n CLOSE_PAREN: (218..219) \")\"\n FORM: (219..228)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..227)\n IDENTIFIER: (220..227) \"newline\"\n CLOSE_PAREN: (227..228) \")\"\n ATMOSPHERE: (228..229) \"\n\"\n FORM: (229..255)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..237)\n IDENTIFIER: (230..237) \"display\"\n ATMOSPHERE: (237..238) \" \"\n FORM: (238..254)\n OPEN_PAREN: (238..239) \"(\"\n SYMBOL: (239..243)\n IDENTIFIER: (239..243) \"cddr\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..253)\n IDENTIFIER: (244..253) \"test-list\"\n CLOSE_PAREN: (253..254) \")\"\n CLOSE_PAREN: (254..255) \")\"\n FORM: (255..264)\n OPEN_PAREN: (255..256) \"(\"\n SYMBOL: (256..263)\n IDENTIFIER: (256..263) \"newline\"\n CLOSE_PAREN: (263..264) \")\"\n ATMOSPHERE: (264..265) \"\n\"\n EOF: (265..265) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json b/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json index 4e028d9..c408c04 100644 --- a/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..115)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n SYMBOL: (50..51)\n IDENTIFIER: (50..51) \"x\"\n ATMOSPHERE: (51..52) \" \"\n CONSTANT: (52..53)\n NUMBER: (52..53) \"2\"\n CLOSE_PAREN: (53..54) \")\"\n ATMOSPHERE: (54..55) \"\n\"\n FORM: (55..72)\n OPEN_PAREN: (55..56) \"(\"\n SYMBOL: (56..63)\n IDENTIFIER: (56..63) \"display\"\n ATMOSPHERE: (63..64) \" \"\n FORM: (64..71)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..66)\n IDENTIFIER: (65..66) \"+\"\n ATMOSPHERE: (66..67) \" \"\n SYMBOL: (67..68)\n IDENTIFIER: (67..68) \"x\"\n ATMOSPHERE: (68..69) \" \"\n CONSTANT: (69..70)\n NUMBER: (69..70) \"1\"\n CLOSE_PAREN: (70..71) \")\"\n CLOSE_PAREN: (71..72) \")\"\n ATMOSPHERE: (72..73) \" \"\n ATMOSPHERE: (73..79) \"; => 3\"\n ATMOSPHERE: (79..80) \"\n\"\n FORM: (80..90)\n OPEN_PAREN: (80..81) \"(\"\n SYMBOL: (81..85)\n IDENTIFIER: (81..85) \"set!\"\n ATMOSPHERE: (85..86) \" \"\n SYMBOL: (86..87)\n IDENTIFIER: (86..87) \"x\"\n ATMOSPHERE: (87..88) \" \"\n CONSTANT: (88..89)\n NUMBER: (88..89) \"4\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \"\n\"\n FORM: (91..108)\n OPEN_PAREN: (91..92) \"(\"\n SYMBOL: (92..99)\n IDENTIFIER: (92..99) \"display\"\n ATMOSPHERE: (99..100) \" \"\n FORM: (100..107)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..102)\n IDENTIFIER: (101..102) \"+\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"x\"\n ATMOSPHERE: (104..105) \" \"\n CONSTANT: (105..106)\n NUMBER: (105..106) \"1\"\n CLOSE_PAREN: (106..107) \")\"\n CLOSE_PAREN: (107..108) \")\"\n ATMOSPHERE: (108..109) \" \"\n ATMOSPHERE: (109..115) \"; => 5\"\n" + "Root": "PROGRAM: (0..115)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n SYMBOL: (50..51)\n IDENTIFIER: (50..51) \"x\"\n ATMOSPHERE: (51..52) \" \"\n CONSTANT: (52..53)\n NUMBER: (52..53) \"2\"\n CLOSE_PAREN: (53..54) \")\"\n ATMOSPHERE: (54..55) \"\n\"\n FORM: (55..72)\n OPEN_PAREN: (55..56) \"(\"\n SYMBOL: (56..63)\n IDENTIFIER: (56..63) \"display\"\n ATMOSPHERE: (63..64) \" \"\n FORM: (64..71)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..66)\n IDENTIFIER: (65..66) \"+\"\n ATMOSPHERE: (66..67) \" \"\n SYMBOL: (67..68)\n IDENTIFIER: (67..68) \"x\"\n ATMOSPHERE: (68..69) \" \"\n CONSTANT: (69..70)\n NUMBER: (69..70) \"1\"\n CLOSE_PAREN: (70..71) \")\"\n CLOSE_PAREN: (71..72) \")\"\n ATMOSPHERE: (72..73) \" \"\n ATMOSPHERE: (73..79) \"; => 3\"\n ATMOSPHERE: (79..80) \"\n\"\n FORM: (80..90)\n OPEN_PAREN: (80..81) \"(\"\n SYMBOL: (81..85)\n IDENTIFIER: (81..85) \"set!\"\n ATMOSPHERE: (85..86) \" \"\n SYMBOL: (86..87)\n IDENTIFIER: (86..87) \"x\"\n ATMOSPHERE: (87..88) \" \"\n CONSTANT: (88..89)\n NUMBER: (88..89) \"4\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \"\n\"\n FORM: (91..108)\n OPEN_PAREN: (91..92) \"(\"\n SYMBOL: (92..99)\n IDENTIFIER: (92..99) \"display\"\n ATMOSPHERE: (99..100) \" \"\n FORM: (100..107)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..102)\n IDENTIFIER: (101..102) \"+\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"x\"\n ATMOSPHERE: (104..105) \" \"\n CONSTANT: (105..106)\n NUMBER: (105..106) \"1\"\n CLOSE_PAREN: (106..107) \")\"\n CLOSE_PAREN: (107..108) \")\"\n ATMOSPHERE: (108..109) \" \"\n ATMOSPHERE: (109..115) \"; => 5\"\n EOF: (115..115) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json b/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json index d641900..dc8de64 100644 --- a/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json +++ b/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..253)\n FORM: (0..252)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..38)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..24)\n IDENTIFIER: (17..24) \"example\"\n ATMOSPHERE: (24..25) \" \"\n SYMBOL: (25..37)\n IDENTIFIER: (25..37) \"displayutils\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..40) \"\n\t\"\n FORM: (40..60)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..47)\n IDENTIFIER: (41..47) \"export\"\n ATMOSPHERE: (47..48) \" \"\n SYMBOL: (48..59)\n IDENTIFIER: (48..59) \"display-all\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..62) \"\n\t\"\n FORM: (62..101)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..69)\n IDENTIFIER: (63..69) \"import\"\n ATMOSPHERE: (69..70) \" \"\n FORM: (70..83)\n OPEN_PAREN: (70..71) \"(\"\n SYMBOL: (71..77)\n IDENTIFIER: (71..77) \"scheme\"\n ATMOSPHERE: (77..78) \" \"\n SYMBOL: (78..82)\n IDENTIFIER: (78..82) \"base\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..86) \"\n\t\t\"\n FORM: (86..100)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..93)\n IDENTIFIER: (87..93) \"scheme\"\n ATMOSPHERE: (93..94) \" \"\n SYMBOL: (94..99)\n IDENTIFIER: (94..99) \"write\"\n CLOSE_PAREN: (99..100) \")\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..103) \"\n\t\"\n FORM: (103..251)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..109)\n IDENTIFIER: (104..109) \"begin\"\n ATMOSPHERE: (109..112) \"\n\t\t\"\n FORM: (112..250)\n OPEN_PAREN: (112..113) \"(\"\n SYMBOL: (113..119)\n IDENTIFIER: (113..119) \"define\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..140)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..132)\n IDENTIFIER: (121..132) \"display-all\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"things\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..144) \"\n\t\t\t\"\n FORM: (144..249)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..147)\n IDENTIFIER: (145..147) \"if\"\n ATMOSPHERE: (147..148) \" \"\n FORM: (148..162)\n OPEN_PAREN: (148..149) \"(\"\n SYMBOL: (149..154)\n IDENTIFIER: (149..154) \"null?\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..161)\n IDENTIFIER: (155..161) \"things\"\n CLOSE_PAREN: (161..162) \")\"\n ATMOSPHERE: (162..167) \"\n\t\t\t\t\"\n FORM: (167..176)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"newline\"\n CLOSE_PAREN: (175..176) \")\"\n ATMOSPHERE: (176..181) \"\n\t\t\t\t\"\n FORM: (181..248)\n OPEN_PAREN: (181..182) \"(\"\n SYMBOL: (182..187)\n IDENTIFIER: (182..187) \"begin\"\n ATMOSPHERE: (187..193) \"\n\t\t\t\t\t\"\n FORM: (193..215)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..214)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..206)\n IDENTIFIER: (203..206) \"car\"\n ATMOSPHERE: (206..207) \" \"\n SYMBOL: (207..213)\n IDENTIFIER: (207..213) \"things\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..221) \"\n\t\t\t\t\t\"\n FORM: (221..247)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..233)\n IDENTIFIER: (222..233) \"display-all\"\n ATMOSPHERE: (233..234) \" \"\n FORM: (234..246)\n OPEN_PAREN: (234..235) \"(\"\n SYMBOL: (235..238)\n IDENTIFIER: (235..238) \"cdr\"\n ATMOSPHERE: (238..239) \" \"\n SYMBOL: (239..245)\n IDENTIFIER: (239..245) \"things\"\n CLOSE_PAREN: (245..246) \")\"\n CLOSE_PAREN: (246..247) \")\"\n CLOSE_PAREN: (247..248) \")\"\n CLOSE_PAREN: (248..249) \")\"\n CLOSE_PAREN: (249..250) \")\"\n CLOSE_PAREN: (250..251) \")\"\n CLOSE_PAREN: (251..252) \")\"\n ATMOSPHERE: (252..253) \"\n\"\n" + "Root": "PROGRAM: (0..253)\n FORM: (0..252)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..38)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..24)\n IDENTIFIER: (17..24) \"example\"\n ATMOSPHERE: (24..25) \" \"\n SYMBOL: (25..37)\n IDENTIFIER: (25..37) \"displayutils\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..40) \"\n\t\"\n FORM: (40..60)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..47)\n IDENTIFIER: (41..47) \"export\"\n ATMOSPHERE: (47..48) \" \"\n SYMBOL: (48..59)\n IDENTIFIER: (48..59) \"display-all\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..62) \"\n\t\"\n FORM: (62..101)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..69)\n IDENTIFIER: (63..69) \"import\"\n ATMOSPHERE: (69..70) \" \"\n FORM: (70..83)\n OPEN_PAREN: (70..71) \"(\"\n SYMBOL: (71..77)\n IDENTIFIER: (71..77) \"scheme\"\n ATMOSPHERE: (77..78) \" \"\n SYMBOL: (78..82)\n IDENTIFIER: (78..82) \"base\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..86) \"\n\t\t\"\n FORM: (86..100)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..93)\n IDENTIFIER: (87..93) \"scheme\"\n ATMOSPHERE: (93..94) \" \"\n SYMBOL: (94..99)\n IDENTIFIER: (94..99) \"write\"\n CLOSE_PAREN: (99..100) \")\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..103) \"\n\t\"\n FORM: (103..251)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..109)\n IDENTIFIER: (104..109) \"begin\"\n ATMOSPHERE: (109..112) \"\n\t\t\"\n FORM: (112..250)\n OPEN_PAREN: (112..113) \"(\"\n SYMBOL: (113..119)\n IDENTIFIER: (113..119) \"define\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..140)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..132)\n IDENTIFIER: (121..132) \"display-all\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"things\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..144) \"\n\t\t\t\"\n FORM: (144..249)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..147)\n IDENTIFIER: (145..147) \"if\"\n ATMOSPHERE: (147..148) \" \"\n FORM: (148..162)\n OPEN_PAREN: (148..149) \"(\"\n SYMBOL: (149..154)\n IDENTIFIER: (149..154) \"null?\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..161)\n IDENTIFIER: (155..161) \"things\"\n CLOSE_PAREN: (161..162) \")\"\n ATMOSPHERE: (162..167) \"\n\t\t\t\t\"\n FORM: (167..176)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"newline\"\n CLOSE_PAREN: (175..176) \")\"\n ATMOSPHERE: (176..181) \"\n\t\t\t\t\"\n FORM: (181..248)\n OPEN_PAREN: (181..182) \"(\"\n SYMBOL: (182..187)\n IDENTIFIER: (182..187) \"begin\"\n ATMOSPHERE: (187..193) \"\n\t\t\t\t\t\"\n FORM: (193..215)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..214)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..206)\n IDENTIFIER: (203..206) \"car\"\n ATMOSPHERE: (206..207) \" \"\n SYMBOL: (207..213)\n IDENTIFIER: (207..213) \"things\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..221) \"\n\t\t\t\t\t\"\n FORM: (221..247)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..233)\n IDENTIFIER: (222..233) \"display-all\"\n ATMOSPHERE: (233..234) \" \"\n FORM: (234..246)\n OPEN_PAREN: (234..235) \"(\"\n SYMBOL: (235..238)\n IDENTIFIER: (235..238) \"cdr\"\n ATMOSPHERE: (238..239) \" \"\n SYMBOL: (239..245)\n IDENTIFIER: (239..245) \"things\"\n CLOSE_PAREN: (245..246) \")\"\n CLOSE_PAREN: (246..247) \")\"\n CLOSE_PAREN: (247..248) \")\"\n CLOSE_PAREN: (248..249) \")\"\n CLOSE_PAREN: (249..250) \")\"\n CLOSE_PAREN: (250..251) \")\"\n CLOSE_PAREN: (251..252) \")\"\n ATMOSPHERE: (252..253) \"\n\"\n EOF: (253..253) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_display.scm.json b/test/Feersum.Tests/_snapshots/Parse_display.scm.json index 3c05433..db6786f 100644 --- a/test/Feersum.Tests/_snapshots/Parse_display.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_display.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..255)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n CONSTANT: (51..53)\n STRING: (51..53) \"\"\"\"\n CLOSE_PAREN: (53..54) \")\"\n FORM: (54..63)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..62)\n IDENTIFIER: (55..62) \"newline\"\n CLOSE_PAREN: (62..63) \")\"\n ATMOSPHERE: (63..64) \" \"\n ATMOSPHERE: (64..69) \"; => \"\n ATMOSPHERE: (69..70) \"\n\"\n FORM: (70..82)\n OPEN_PAREN: (70..71) \"(\"\n SYMBOL: (71..78)\n IDENTIFIER: (71..78) \"display\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..81)\n OPEN_PAREN: (79..80) \"(\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n FORM: (82..91)\n OPEN_PAREN: (82..83) \"(\"\n SYMBOL: (83..90)\n IDENTIFIER: (83..90) \"newline\"\n CLOSE_PAREN: (90..91) \")\"\n ATMOSPHERE: (91..92) \" \"\n ATMOSPHERE: (92..96) \"; =>\"\n ATMOSPHERE: (96..97) \"\n\"\n FORM: (97..110)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..105)\n IDENTIFIER: (98..105) \"display\"\n ATMOSPHERE: (105..106) \" \"\n CONSTANT: (106..109)\n NUMBER: (106..109) \"123\"\n CLOSE_PAREN: (109..110) \")\"\n FORM: (110..119)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..118)\n IDENTIFIER: (111..118) \"newline\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..120) \" \"\n ATMOSPHERE: (120..128) \"; => 123\"\n ATMOSPHERE: (128..129) \"\n\"\n FORM: (129..152)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..137)\n IDENTIFIER: (130..137) \"display\"\n ATMOSPHERE: (137..138) \" \"\n CONSTANT: (138..151)\n STRING: (138..151) \"\"Hello World\"\"\n CLOSE_PAREN: (151..152) \")\"\n FORM: (152..165)\n OPEN_PAREN: (152..153) \"(\"\n SYMBOL: (153..160)\n IDENTIFIER: (153..160) \"display\"\n ATMOSPHERE: (160..161) \" \"\n CONSTANT: (161..164)\n CHARACTER: (161..164) \"#\\!\"\n CLOSE_PAREN: (164..165) \")\"\n FORM: (165..174)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..173)\n IDENTIFIER: (166..173) \"newline\"\n CLOSE_PAREN: (173..174) \")\"\n ATMOSPHERE: (174..175) \" \"\n ATMOSPHERE: (175..192) \"; => Hello World!\"\n ATMOSPHERE: (192..193) \"\n\"\n FORM: (193..240)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n QUOTED_DATUM: (202..239)\n QUOTE: (202..203) \"'\"\n FORM: (203..239)\n OPEN_PAREN: (203..204) \"(\"\n CONSTANT: (204..238)\n STRING: (204..238) \"\"I \\\" need \\v some \\x00; escaping\"\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n FORM: (240..249)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..248)\n IDENTIFIER: (241..248) \"newline\"\n CLOSE_PAREN: (248..249) \")\"\n ATMOSPHERE: (249..250) \" \"\n ATMOSPHERE: (250..255) \"; => \"\n" + "Root": "PROGRAM: (0..255)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n CONSTANT: (51..53)\n STRING: (51..53) \"\"\"\"\n CLOSE_PAREN: (53..54) \")\"\n FORM: (54..63)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..62)\n IDENTIFIER: (55..62) \"newline\"\n CLOSE_PAREN: (62..63) \")\"\n ATMOSPHERE: (63..64) \" \"\n ATMOSPHERE: (64..69) \"; => \"\n ATMOSPHERE: (69..70) \"\n\"\n FORM: (70..82)\n OPEN_PAREN: (70..71) \"(\"\n SYMBOL: (71..78)\n IDENTIFIER: (71..78) \"display\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..81)\n OPEN_PAREN: (79..80) \"(\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n FORM: (82..91)\n OPEN_PAREN: (82..83) \"(\"\n SYMBOL: (83..90)\n IDENTIFIER: (83..90) \"newline\"\n CLOSE_PAREN: (90..91) \")\"\n ATMOSPHERE: (91..92) \" \"\n ATMOSPHERE: (92..96) \"; =>\"\n ATMOSPHERE: (96..97) \"\n\"\n FORM: (97..110)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..105)\n IDENTIFIER: (98..105) \"display\"\n ATMOSPHERE: (105..106) \" \"\n CONSTANT: (106..109)\n NUMBER: (106..109) \"123\"\n CLOSE_PAREN: (109..110) \")\"\n FORM: (110..119)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..118)\n IDENTIFIER: (111..118) \"newline\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..120) \" \"\n ATMOSPHERE: (120..128) \"; => 123\"\n ATMOSPHERE: (128..129) \"\n\"\n FORM: (129..152)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..137)\n IDENTIFIER: (130..137) \"display\"\n ATMOSPHERE: (137..138) \" \"\n CONSTANT: (138..151)\n STRING: (138..151) \"\"Hello World\"\"\n CLOSE_PAREN: (151..152) \")\"\n FORM: (152..165)\n OPEN_PAREN: (152..153) \"(\"\n SYMBOL: (153..160)\n IDENTIFIER: (153..160) \"display\"\n ATMOSPHERE: (160..161) \" \"\n CONSTANT: (161..164)\n CHARACTER: (161..164) \"#\\!\"\n CLOSE_PAREN: (164..165) \")\"\n FORM: (165..174)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..173)\n IDENTIFIER: (166..173) \"newline\"\n CLOSE_PAREN: (173..174) \")\"\n ATMOSPHERE: (174..175) \" \"\n ATMOSPHERE: (175..192) \"; => Hello World!\"\n ATMOSPHERE: (192..193) \"\n\"\n FORM: (193..240)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n QUOTED_DATUM: (202..239)\n QUOTE: (202..203) \"'\"\n FORM: (203..239)\n OPEN_PAREN: (203..204) \"(\"\n CONSTANT: (204..238)\n STRING: (204..238) \"\"I \\\" need \\v some \\x00; escaping\"\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n FORM: (240..249)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..248)\n IDENTIFIER: (241..248) \"newline\"\n CLOSE_PAREN: (248..249) \")\"\n ATMOSPHERE: (249..250) \" \"\n ATMOSPHERE: (250..255) \"; => \"\n EOF: (255..255) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json b/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json index 06b57a7..35cbb57 100644 --- a/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..1158)\n FORM: (0..1127)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..24)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..23)\n IDENTIFIER: (17..23) \"dragon\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..29) \"\n \"\n FORM: (29..70)\n OPEN_PAREN: (29..30) \"(\"\n SYMBOL: (30..36)\n IDENTIFIER: (30..36) \"import\"\n ATMOSPHERE: (36..37) \" \"\n FORM: (37..50)\n OPEN_PAREN: (37..38) \"(\"\n SYMBOL: (38..44)\n IDENTIFIER: (38..44) \"scheme\"\n ATMOSPHERE: (44..45) \" \"\n SYMBOL: (45..49)\n IDENTIFIER: (45..49) \"base\"\n CLOSE_PAREN: (49..50) \")\"\n ATMOSPHERE: (50..55) \"\n \"\n FORM: (55..69)\n OPEN_PAREN: (55..56) \"(\"\n SYMBOL: (56..62)\n IDENTIFIER: (56..62) \"scheme\"\n ATMOSPHERE: (62..63) \" \"\n SYMBOL: (63..68)\n IDENTIFIER: (63..68) \"write\"\n CLOSE_PAREN: (68..69) \")\"\n CLOSE_PAREN: (69..70) \")\"\n ATMOSPHERE: (70..75) \"\n \"\n FORM: (75..90)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..82)\n IDENTIFIER: (76..82) \"export\"\n ATMOSPHERE: (82..83) \" \"\n SYMBOL: (83..89)\n IDENTIFIER: (83..89) \"dragon\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..95) \"\n \"\n FORM: (95..1126)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..101)\n IDENTIFIER: (96..101) \"begin\"\n ATMOSPHERE: (101..111) \"\n\n \"\n FORM: (111..295)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..118)\n IDENTIFIER: (112..118) \"define\"\n ATMOSPHERE: (118..119) \" \"\n FORM: (119..136)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..127)\n IDENTIFIER: (120..127) \"command\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"cmd\"\n ATMOSPHERE: (131..132) \" \"\n SYMBOL: (132..135)\n IDENTIFIER: (132..135) \"arg\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..149) \"\n \"\n FORM: (149..168)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..157)\n IDENTIFIER: (150..157) \"display\"\n ATMOSPHERE: (157..158) \" \"\n CONSTANT: (158..167)\n STRING: (158..167) \"\"turtle.\"\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..181) \"\n \"\n FORM: (181..194)\n OPEN_PAREN: (181..182) \"(\"\n SYMBOL: (182..189)\n IDENTIFIER: (182..189) \"display\"\n ATMOSPHERE: (189..190) \" \"\n SYMBOL: (190..193)\n IDENTIFIER: (190..193) \"cmd\"\n CLOSE_PAREN: (193..194) \")\"\n ATMOSPHERE: (194..207) \"\n \"\n FORM: (207..220)\n OPEN_PAREN: (207..208) \"(\"\n SYMBOL: (208..215)\n IDENTIFIER: (208..215) \"display\"\n ATMOSPHERE: (215..216) \" \"\n CONSTANT: (216..219)\n STRING: (216..219) \"\"(\"\"\n CLOSE_PAREN: (219..220) \")\"\n ATMOSPHERE: (220..233) \"\n \"\n FORM: (233..246)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..241)\n IDENTIFIER: (234..241) \"display\"\n ATMOSPHERE: (241..242) \" \"\n SYMBOL: (242..245)\n IDENTIFIER: (242..245) \"arg\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..259) \"\n \"\n FORM: (259..272)\n OPEN_PAREN: (259..260) \"(\"\n SYMBOL: (260..267)\n IDENTIFIER: (260..267) \"display\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..271)\n STRING: (268..271) \"\")\"\"\n CLOSE_PAREN: (271..272) \")\"\n ATMOSPHERE: (272..285) \"\n \"\n FORM: (285..294)\n OPEN_PAREN: (285..286) \"(\"\n SYMBOL: (286..293)\n IDENTIFIER: (286..293) \"newline\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..305) \"\n\n \"\n FORM: (305..476)\n OPEN_PAREN: (305..306) \"(\"\n SYMBOL: (306..312)\n IDENTIFIER: (306..312) \"define\"\n ATMOSPHERE: (312..313) \" \"\n FORM: (313..319)\n OPEN_PAREN: (313..314) \"(\"\n SYMBOL: (314..318)\n IDENTIFIER: (314..318) \"init\"\n CLOSE_PAREN: (318..319) \")\"\n ATMOSPHERE: (319..332) \"\n \"\n FORM: (332..357)\n OPEN_PAREN: (332..333) \"(\"\n SYMBOL: (333..340)\n IDENTIFIER: (333..340) \"display\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..356)\n STRING: (341..356) \"\"import turtle\"\"\n CLOSE_PAREN: (356..357) \")\"\n FORM: (357..366)\n OPEN_PAREN: (357..358) \"(\"\n SYMBOL: (358..365)\n IDENTIFIER: (358..365) \"newline\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..379) \"\n \"\n FORM: (379..398)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..387)\n IDENTIFIER: (380..387) \"command\"\n ATMOSPHERE: (387..388) \" \"\n CONSTANT: (388..395)\n STRING: (388..395) \"\"speed\"\"\n ATMOSPHERE: (395..396) \" \"\n CONSTANT: (396..397)\n NUMBER: (396..397) \"0\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..411) \"\n \"\n FORM: (411..437)\n OPEN_PAREN: (411..412) \"(\"\n SYMBOL: (412..419)\n IDENTIFIER: (412..419) \"command\"\n ATMOSPHERE: (419..420) \" \"\n CONSTANT: (420..428)\n STRING: (420..428) \"\"tracer\"\"\n ATMOSPHERE: (428..429) \" \"\n CONSTANT: (429..436)\n STRING: (429..436) \"\"False\"\"\n CLOSE_PAREN: (436..437) \")\"\n ATMOSPHERE: (437..450) \"\n \"\n FORM: (450..475)\n OPEN_PAREN: (450..451) \"(\"\n SYMBOL: (451..458)\n IDENTIFIER: (451..458) \"command\"\n ATMOSPHERE: (458..459) \" \"\n CONSTANT: (459..471)\n STRING: (459..471) \"\"showturtle\"\"\n ATMOSPHERE: (471..472) \" \"\n CONSTANT: (472..474)\n STRING: (472..474) \"\"\"\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n ATMOSPHERE: (476..486) \"\n\n \"\n FORM: (486..537)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..493)\n IDENTIFIER: (487..493) \"define\"\n ATMOSPHERE: (493..494) \" \"\n FORM: (494..504)\n OPEN_PAREN: (494..495) \"(\"\n SYMBOL: (495..503)\n IDENTIFIER: (495..503) \"finalise\"\n CLOSE_PAREN: (503..504) \")\"\n ATMOSPHERE: (504..517) \"\n \"\n FORM: (517..536)\n OPEN_PAREN: (517..518) \"(\"\n SYMBOL: (518..525)\n IDENTIFIER: (518..525) \"command\"\n ATMOSPHERE: (525..526) \" \"\n CONSTANT: (526..532)\n STRING: (526..532) \"\"done\"\"\n ATMOSPHERE: (532..533) \" \"\n CONSTANT: (533..535)\n STRING: (533..535) \"\"\"\"\n CLOSE_PAREN: (535..536) \")\"\n CLOSE_PAREN: (536..537) \")\"\n ATMOSPHERE: (537..548) \"\n\n\n \"\n FORM: (548..953)\n OPEN_PAREN: (548..549) \"(\"\n SYMBOL: (549..555)\n IDENTIFIER: (549..555) \"define\"\n ATMOSPHERE: (555..556) \" \"\n FORM: (556..583)\n OPEN_PAREN: (556..557) \"(\"\n SYMBOL: (557..568)\n IDENTIFIER: (557..568) \"dragon-iter\"\n ATMOSPHERE: (568..569) \" \"\n SYMBOL: (569..573)\n IDENTIFIER: (569..573) \"iter\"\n ATMOSPHERE: (573..574) \" \"\n SYMBOL: (574..578)\n IDENTIFIER: (574..578) \"size\"\n ATMOSPHERE: (578..579) \" \"\n SYMBOL: (579..582)\n IDENTIFIER: (579..582) \"dir\"\n CLOSE_PAREN: (582..583) \")\"\n ATMOSPHERE: (583..596) \"\n \"\n FORM: (596..952)\n OPEN_PAREN: (596..597) \"(\"\n SYMBOL: (597..599)\n IDENTIFIER: (597..599) \"if\"\n ATMOSPHERE: (599..600) \" \"\n FORM: (600..610)\n OPEN_PAREN: (600..601) \"(\"\n SYMBOL: (601..602)\n IDENTIFIER: (601..602) \"=\"\n ATMOSPHERE: (602..603) \" \"\n CONSTANT: (603..604)\n NUMBER: (603..604) \"0\"\n ATMOSPHERE: (604..605) \" \"\n SYMBOL: (605..609)\n IDENTIFIER: (605..609) \"iter\"\n CLOSE_PAREN: (609..610) \")\"\n ATMOSPHERE: (610..627) \"\n \"\n FORM: (627..646)\n OPEN_PAREN: (627..628) \"(\"\n SYMBOL: (628..635)\n IDENTIFIER: (628..635) \"command\"\n ATMOSPHERE: (635..636) \" \"\n CONSTANT: (636..640)\n STRING: (636..640) \"\"fd\"\"\n ATMOSPHERE: (640..641) \" \"\n SYMBOL: (641..645)\n IDENTIFIER: (641..645) \"size\"\n CLOSE_PAREN: (645..646) \")\"\n ATMOSPHERE: (646..663) \"\n \"\n FORM: (663..951)\n OPEN_PAREN: (663..664) \"(\"\n SYMBOL: (664..667)\n IDENTIFIER: (664..667) \"let\"\n ATMOSPHERE: (667..668) \" \"\n FORM: (668..796)\n OPEN_PAREN: (668..669) \"(\"\n FORM: (669..686)\n OPEN_PAREN: (669..670) \"(\"\n SYMBOL: (670..674)\n IDENTIFIER: (670..674) \"next\"\n ATMOSPHERE: (674..675) \" \"\n FORM: (675..685)\n OPEN_PAREN: (675..676) \"(\"\n SYMBOL: (676..677)\n IDENTIFIER: (676..677) \"-\"\n ATMOSPHERE: (677..678) \" \"\n SYMBOL: (678..682)\n IDENTIFIER: (678..682) \"iter\"\n ATMOSPHERE: (682..683) \" \"\n CONSTANT: (683..684)\n NUMBER: (683..684) \"1\"\n CLOSE_PAREN: (684..685) \")\"\n CLOSE_PAREN: (685..686) \")\"\n ATMOSPHERE: (686..709) \"\n \"\n FORM: (709..732)\n OPEN_PAREN: (709..710) \"(\"\n SYMBOL: (710..714)\n IDENTIFIER: (710..714) \"size\"\n ATMOSPHERE: (714..715) \" \"\n FORM: (715..731)\n OPEN_PAREN: (715..716) \"(\"\n SYMBOL: (716..717)\n IDENTIFIER: (716..717) \"*\"\n ATMOSPHERE: (717..718) \" \"\n SYMBOL: (718..722)\n IDENTIFIER: (718..722) \"size\"\n ATMOSPHERE: (722..723) \" \"\n CONSTANT: (723..730)\n NUMBER: (723..730) \"0.70711\"\n CLOSE_PAREN: (730..731) \")\"\n CLOSE_PAREN: (731..732) \")\"\n ATMOSPHERE: (732..755) \"\n \"\n FORM: (755..795)\n OPEN_PAREN: (755..756) \"(\"\n SYMBOL: (756..763)\n IDENTIFIER: (756..763) \"turncmd\"\n ATMOSPHERE: (763..764) \" \"\n FORM: (764..794)\n OPEN_PAREN: (764..765) \"(\"\n SYMBOL: (765..767)\n IDENTIFIER: (765..767) \"if\"\n ATMOSPHERE: (767..768) \" \"\n FORM: (768..783)\n OPEN_PAREN: (768..769) \"(\"\n SYMBOL: (769..772)\n IDENTIFIER: (769..772) \"eq?\"\n ATMOSPHERE: (772..773) \" \"\n SYMBOL: (773..776)\n IDENTIFIER: (773..776) \"dir\"\n ATMOSPHERE: (776..777) \" \"\n QUOTED_DATUM: (777..782)\n QUOTE: (777..778) \"'\"\n SYMBOL: (778..782)\n IDENTIFIER: (778..782) \"left\"\n CLOSE_PAREN: (782..783) \")\"\n ATMOSPHERE: (783..784) \" \"\n CONSTANT: (784..788)\n STRING: (784..788) \"\"lt\"\"\n ATMOSPHERE: (788..789) \" \"\n CONSTANT: (789..793)\n STRING: (789..793) \"\"rt\"\"\n CLOSE_PAREN: (793..794) \")\"\n CLOSE_PAREN: (794..795) \")\"\n CLOSE_PAREN: (795..796) \")\"\n ATMOSPHERE: (796..821) \"\n \"\n FORM: (821..850)\n OPEN_PAREN: (821..822) \"(\"\n SYMBOL: (822..833)\n IDENTIFIER: (822..833) \"dragon-iter\"\n ATMOSPHERE: (833..834) \" \"\n SYMBOL: (834..838)\n IDENTIFIER: (834..838) \"next\"\n ATMOSPHERE: (838..839) \" \"\n SYMBOL: (839..843)\n IDENTIFIER: (839..843) \"size\"\n ATMOSPHERE: (843..844) \" \"\n QUOTED_DATUM: (844..849)\n QUOTE: (844..845) \"'\"\n SYMBOL: (845..849)\n IDENTIFIER: (845..849) \"left\"\n CLOSE_PAREN: (849..850) \")\"\n ATMOSPHERE: (850..875) \"\n \"\n FORM: (875..895)\n OPEN_PAREN: (875..876) \"(\"\n SYMBOL: (876..883)\n IDENTIFIER: (876..883) \"command\"\n ATMOSPHERE: (883..884) \" \"\n SYMBOL: (884..891)\n IDENTIFIER: (884..891) \"turncmd\"\n ATMOSPHERE: (891..892) \" \"\n CONSTANT: (892..894)\n NUMBER: (892..894) \"90\"\n CLOSE_PAREN: (894..895) \")\"\n ATMOSPHERE: (895..920) \"\n \"\n FORM: (920..950)\n OPEN_PAREN: (920..921) \"(\"\n SYMBOL: (921..932)\n IDENTIFIER: (921..932) \"dragon-iter\"\n ATMOSPHERE: (932..933) \" \"\n SYMBOL: (933..937)\n IDENTIFIER: (933..937) \"next\"\n ATMOSPHERE: (937..938) \" \"\n SYMBOL: (938..942)\n IDENTIFIER: (938..942) \"size\"\n ATMOSPHERE: (942..943) \" \"\n QUOTED_DATUM: (943..949)\n QUOTE: (943..944) \"'\"\n SYMBOL: (944..949)\n IDENTIFIER: (944..949) \"right\"\n CLOSE_PAREN: (949..950) \")\"\n CLOSE_PAREN: (950..951) \")\"\n CLOSE_PAREN: (951..952) \")\"\n CLOSE_PAREN: (952..953) \")\"\n ATMOSPHERE: (953..963) \"\n\n \"\n FORM: (963..1107)\n OPEN_PAREN: (963..964) \"(\"\n SYMBOL: (964..970)\n IDENTIFIER: (964..970) \"define\"\n ATMOSPHERE: (970..971) \" \"\n FORM: (971..984)\n OPEN_PAREN: (971..972) \"(\"\n SYMBOL: (972..978)\n IDENTIFIER: (972..978) \"dragon\"\n ATMOSPHERE: (978..979) \" \"\n SYMBOL: (979..983)\n IDENTIFIER: (979..983) \"iter\"\n CLOSE_PAREN: (983..984) \")\"\n ATMOSPHERE: (984..997) \"\n \"\n FORM: (997..1003)\n OPEN_PAREN: (997..998) \"(\"\n SYMBOL: (998..1002)\n IDENTIFIER: (998..1002) \"init\"\n CLOSE_PAREN: (1002..1003) \")\"\n ATMOSPHERE: (1003..1016) \"\n \"\n FORM: (1016..1042)\n OPEN_PAREN: (1016..1017) \"(\"\n SYMBOL: (1017..1024)\n IDENTIFIER: (1017..1024) \"command\"\n ATMOSPHERE: (1024..1025) \" \"\n CONSTANT: (1025..1029)\n STRING: (1025..1029) \"\"rt\"\"\n ATMOSPHERE: (1029..1030) \" \"\n FORM: (1030..1041)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1032)\n IDENTIFIER: (1031..1032) \"*\"\n ATMOSPHERE: (1032..1033) \" \"\n CONSTANT: (1033..1035)\n NUMBER: (1033..1035) \"45\"\n ATMOSPHERE: (1035..1036) \" \"\n SYMBOL: (1036..1040)\n IDENTIFIER: (1036..1040) \"iter\"\n CLOSE_PAREN: (1040..1041) \")\"\n CLOSE_PAREN: (1041..1042) \")\"\n ATMOSPHERE: (1042..1055) \"\n \"\n FORM: (1055..1083)\n OPEN_PAREN: (1055..1056) \"(\"\n SYMBOL: (1056..1067)\n IDENTIFIER: (1056..1067) \"dragon-iter\"\n ATMOSPHERE: (1067..1068) \" \"\n SYMBOL: (1068..1072)\n IDENTIFIER: (1068..1072) \"iter\"\n ATMOSPHERE: (1072..1073) \" \"\n CONSTANT: (1073..1076)\n NUMBER: (1073..1076) \"450\"\n ATMOSPHERE: (1076..1077) \" \"\n QUOTED_DATUM: (1077..1082)\n QUOTE: (1077..1078) \"'\"\n SYMBOL: (1078..1082)\n IDENTIFIER: (1078..1082) \"left\"\n CLOSE_PAREN: (1082..1083) \")\"\n ATMOSPHERE: (1083..1096) \"\n \"\n FORM: (1096..1106)\n OPEN_PAREN: (1096..1097) \"(\"\n SYMBOL: (1097..1105)\n IDENTIFIER: (1097..1105) \"finalise\"\n CLOSE_PAREN: (1105..1106) \")\"\n CLOSE_PAREN: (1106..1107) \")\"\n ATMOSPHERE: (1107..1125) \"\n \n \"\n CLOSE_PAREN: (1125..1126) \")\"\n CLOSE_PAREN: (1126..1127) \")\"\n ATMOSPHERE: (1127..1129) \"\n\n\"\n FORM: (1129..1146)\n OPEN_PAREN: (1129..1130) \"(\"\n SYMBOL: (1130..1136)\n IDENTIFIER: (1130..1136) \"import\"\n ATMOSPHERE: (1136..1137) \" \"\n FORM: (1137..1145)\n OPEN_PAREN: (1137..1138) \"(\"\n SYMBOL: (1138..1144)\n IDENTIFIER: (1138..1144) \"dragon\"\n CLOSE_PAREN: (1144..1145) \")\"\n CLOSE_PAREN: (1145..1146) \")\"\n ATMOSPHERE: (1146..1148) \"\n\n\"\n FORM: (1148..1158)\n OPEN_PAREN: (1148..1149) \"(\"\n SYMBOL: (1149..1155)\n IDENTIFIER: (1149..1155) \"dragon\"\n ATMOSPHERE: (1155..1156) \" \"\n CONSTANT: (1156..1157)\n NUMBER: (1156..1157) \"3\"\n CLOSE_PAREN: (1157..1158) \")\"\n" + "Root": "PROGRAM: (0..1158)\n FORM: (0..1127)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..24)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..23)\n IDENTIFIER: (17..23) \"dragon\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..29) \"\n \"\n FORM: (29..70)\n OPEN_PAREN: (29..30) \"(\"\n SYMBOL: (30..36)\n IDENTIFIER: (30..36) \"import\"\n ATMOSPHERE: (36..37) \" \"\n FORM: (37..50)\n OPEN_PAREN: (37..38) \"(\"\n SYMBOL: (38..44)\n IDENTIFIER: (38..44) \"scheme\"\n ATMOSPHERE: (44..45) \" \"\n SYMBOL: (45..49)\n IDENTIFIER: (45..49) \"base\"\n CLOSE_PAREN: (49..50) \")\"\n ATMOSPHERE: (50..55) \"\n \"\n FORM: (55..69)\n OPEN_PAREN: (55..56) \"(\"\n SYMBOL: (56..62)\n IDENTIFIER: (56..62) \"scheme\"\n ATMOSPHERE: (62..63) \" \"\n SYMBOL: (63..68)\n IDENTIFIER: (63..68) \"write\"\n CLOSE_PAREN: (68..69) \")\"\n CLOSE_PAREN: (69..70) \")\"\n ATMOSPHERE: (70..75) \"\n \"\n FORM: (75..90)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..82)\n IDENTIFIER: (76..82) \"export\"\n ATMOSPHERE: (82..83) \" \"\n SYMBOL: (83..89)\n IDENTIFIER: (83..89) \"dragon\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..95) \"\n \"\n FORM: (95..1126)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..101)\n IDENTIFIER: (96..101) \"begin\"\n ATMOSPHERE: (101..111) \"\n\n \"\n FORM: (111..295)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..118)\n IDENTIFIER: (112..118) \"define\"\n ATMOSPHERE: (118..119) \" \"\n FORM: (119..136)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..127)\n IDENTIFIER: (120..127) \"command\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"cmd\"\n ATMOSPHERE: (131..132) \" \"\n SYMBOL: (132..135)\n IDENTIFIER: (132..135) \"arg\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..149) \"\n \"\n FORM: (149..168)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..157)\n IDENTIFIER: (150..157) \"display\"\n ATMOSPHERE: (157..158) \" \"\n CONSTANT: (158..167)\n STRING: (158..167) \"\"turtle.\"\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..181) \"\n \"\n FORM: (181..194)\n OPEN_PAREN: (181..182) \"(\"\n SYMBOL: (182..189)\n IDENTIFIER: (182..189) \"display\"\n ATMOSPHERE: (189..190) \" \"\n SYMBOL: (190..193)\n IDENTIFIER: (190..193) \"cmd\"\n CLOSE_PAREN: (193..194) \")\"\n ATMOSPHERE: (194..207) \"\n \"\n FORM: (207..220)\n OPEN_PAREN: (207..208) \"(\"\n SYMBOL: (208..215)\n IDENTIFIER: (208..215) \"display\"\n ATMOSPHERE: (215..216) \" \"\n CONSTANT: (216..219)\n STRING: (216..219) \"\"(\"\"\n CLOSE_PAREN: (219..220) \")\"\n ATMOSPHERE: (220..233) \"\n \"\n FORM: (233..246)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..241)\n IDENTIFIER: (234..241) \"display\"\n ATMOSPHERE: (241..242) \" \"\n SYMBOL: (242..245)\n IDENTIFIER: (242..245) \"arg\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..259) \"\n \"\n FORM: (259..272)\n OPEN_PAREN: (259..260) \"(\"\n SYMBOL: (260..267)\n IDENTIFIER: (260..267) \"display\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..271)\n STRING: (268..271) \"\")\"\"\n CLOSE_PAREN: (271..272) \")\"\n ATMOSPHERE: (272..285) \"\n \"\n FORM: (285..294)\n OPEN_PAREN: (285..286) \"(\"\n SYMBOL: (286..293)\n IDENTIFIER: (286..293) \"newline\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..305) \"\n\n \"\n FORM: (305..476)\n OPEN_PAREN: (305..306) \"(\"\n SYMBOL: (306..312)\n IDENTIFIER: (306..312) \"define\"\n ATMOSPHERE: (312..313) \" \"\n FORM: (313..319)\n OPEN_PAREN: (313..314) \"(\"\n SYMBOL: (314..318)\n IDENTIFIER: (314..318) \"init\"\n CLOSE_PAREN: (318..319) \")\"\n ATMOSPHERE: (319..332) \"\n \"\n FORM: (332..357)\n OPEN_PAREN: (332..333) \"(\"\n SYMBOL: (333..340)\n IDENTIFIER: (333..340) \"display\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..356)\n STRING: (341..356) \"\"import turtle\"\"\n CLOSE_PAREN: (356..357) \")\"\n FORM: (357..366)\n OPEN_PAREN: (357..358) \"(\"\n SYMBOL: (358..365)\n IDENTIFIER: (358..365) \"newline\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..379) \"\n \"\n FORM: (379..398)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..387)\n IDENTIFIER: (380..387) \"command\"\n ATMOSPHERE: (387..388) \" \"\n CONSTANT: (388..395)\n STRING: (388..395) \"\"speed\"\"\n ATMOSPHERE: (395..396) \" \"\n CONSTANT: (396..397)\n NUMBER: (396..397) \"0\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..411) \"\n \"\n FORM: (411..437)\n OPEN_PAREN: (411..412) \"(\"\n SYMBOL: (412..419)\n IDENTIFIER: (412..419) \"command\"\n ATMOSPHERE: (419..420) \" \"\n CONSTANT: (420..428)\n STRING: (420..428) \"\"tracer\"\"\n ATMOSPHERE: (428..429) \" \"\n CONSTANT: (429..436)\n STRING: (429..436) \"\"False\"\"\n CLOSE_PAREN: (436..437) \")\"\n ATMOSPHERE: (437..450) \"\n \"\n FORM: (450..475)\n OPEN_PAREN: (450..451) \"(\"\n SYMBOL: (451..458)\n IDENTIFIER: (451..458) \"command\"\n ATMOSPHERE: (458..459) \" \"\n CONSTANT: (459..471)\n STRING: (459..471) \"\"showturtle\"\"\n ATMOSPHERE: (471..472) \" \"\n CONSTANT: (472..474)\n STRING: (472..474) \"\"\"\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n ATMOSPHERE: (476..486) \"\n\n \"\n FORM: (486..537)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..493)\n IDENTIFIER: (487..493) \"define\"\n ATMOSPHERE: (493..494) \" \"\n FORM: (494..504)\n OPEN_PAREN: (494..495) \"(\"\n SYMBOL: (495..503)\n IDENTIFIER: (495..503) \"finalise\"\n CLOSE_PAREN: (503..504) \")\"\n ATMOSPHERE: (504..517) \"\n \"\n FORM: (517..536)\n OPEN_PAREN: (517..518) \"(\"\n SYMBOL: (518..525)\n IDENTIFIER: (518..525) \"command\"\n ATMOSPHERE: (525..526) \" \"\n CONSTANT: (526..532)\n STRING: (526..532) \"\"done\"\"\n ATMOSPHERE: (532..533) \" \"\n CONSTANT: (533..535)\n STRING: (533..535) \"\"\"\"\n CLOSE_PAREN: (535..536) \")\"\n CLOSE_PAREN: (536..537) \")\"\n ATMOSPHERE: (537..548) \"\n\n\n \"\n FORM: (548..953)\n OPEN_PAREN: (548..549) \"(\"\n SYMBOL: (549..555)\n IDENTIFIER: (549..555) \"define\"\n ATMOSPHERE: (555..556) \" \"\n FORM: (556..583)\n OPEN_PAREN: (556..557) \"(\"\n SYMBOL: (557..568)\n IDENTIFIER: (557..568) \"dragon-iter\"\n ATMOSPHERE: (568..569) \" \"\n SYMBOL: (569..573)\n IDENTIFIER: (569..573) \"iter\"\n ATMOSPHERE: (573..574) \" \"\n SYMBOL: (574..578)\n IDENTIFIER: (574..578) \"size\"\n ATMOSPHERE: (578..579) \" \"\n SYMBOL: (579..582)\n IDENTIFIER: (579..582) \"dir\"\n CLOSE_PAREN: (582..583) \")\"\n ATMOSPHERE: (583..596) \"\n \"\n FORM: (596..952)\n OPEN_PAREN: (596..597) \"(\"\n SYMBOL: (597..599)\n IDENTIFIER: (597..599) \"if\"\n ATMOSPHERE: (599..600) \" \"\n FORM: (600..610)\n OPEN_PAREN: (600..601) \"(\"\n SYMBOL: (601..602)\n IDENTIFIER: (601..602) \"=\"\n ATMOSPHERE: (602..603) \" \"\n CONSTANT: (603..604)\n NUMBER: (603..604) \"0\"\n ATMOSPHERE: (604..605) \" \"\n SYMBOL: (605..609)\n IDENTIFIER: (605..609) \"iter\"\n CLOSE_PAREN: (609..610) \")\"\n ATMOSPHERE: (610..627) \"\n \"\n FORM: (627..646)\n OPEN_PAREN: (627..628) \"(\"\n SYMBOL: (628..635)\n IDENTIFIER: (628..635) \"command\"\n ATMOSPHERE: (635..636) \" \"\n CONSTANT: (636..640)\n STRING: (636..640) \"\"fd\"\"\n ATMOSPHERE: (640..641) \" \"\n SYMBOL: (641..645)\n IDENTIFIER: (641..645) \"size\"\n CLOSE_PAREN: (645..646) \")\"\n ATMOSPHERE: (646..663) \"\n \"\n FORM: (663..951)\n OPEN_PAREN: (663..664) \"(\"\n SYMBOL: (664..667)\n IDENTIFIER: (664..667) \"let\"\n ATMOSPHERE: (667..668) \" \"\n FORM: (668..796)\n OPEN_PAREN: (668..669) \"(\"\n FORM: (669..686)\n OPEN_PAREN: (669..670) \"(\"\n SYMBOL: (670..674)\n IDENTIFIER: (670..674) \"next\"\n ATMOSPHERE: (674..675) \" \"\n FORM: (675..685)\n OPEN_PAREN: (675..676) \"(\"\n SYMBOL: (676..677)\n IDENTIFIER: (676..677) \"-\"\n ATMOSPHERE: (677..678) \" \"\n SYMBOL: (678..682)\n IDENTIFIER: (678..682) \"iter\"\n ATMOSPHERE: (682..683) \" \"\n CONSTANT: (683..684)\n NUMBER: (683..684) \"1\"\n CLOSE_PAREN: (684..685) \")\"\n CLOSE_PAREN: (685..686) \")\"\n ATMOSPHERE: (686..709) \"\n \"\n FORM: (709..732)\n OPEN_PAREN: (709..710) \"(\"\n SYMBOL: (710..714)\n IDENTIFIER: (710..714) \"size\"\n ATMOSPHERE: (714..715) \" \"\n FORM: (715..731)\n OPEN_PAREN: (715..716) \"(\"\n SYMBOL: (716..717)\n IDENTIFIER: (716..717) \"*\"\n ATMOSPHERE: (717..718) \" \"\n SYMBOL: (718..722)\n IDENTIFIER: (718..722) \"size\"\n ATMOSPHERE: (722..723) \" \"\n CONSTANT: (723..730)\n NUMBER: (723..730) \"0.70711\"\n CLOSE_PAREN: (730..731) \")\"\n CLOSE_PAREN: (731..732) \")\"\n ATMOSPHERE: (732..755) \"\n \"\n FORM: (755..795)\n OPEN_PAREN: (755..756) \"(\"\n SYMBOL: (756..763)\n IDENTIFIER: (756..763) \"turncmd\"\n ATMOSPHERE: (763..764) \" \"\n FORM: (764..794)\n OPEN_PAREN: (764..765) \"(\"\n SYMBOL: (765..767)\n IDENTIFIER: (765..767) \"if\"\n ATMOSPHERE: (767..768) \" \"\n FORM: (768..783)\n OPEN_PAREN: (768..769) \"(\"\n SYMBOL: (769..772)\n IDENTIFIER: (769..772) \"eq?\"\n ATMOSPHERE: (772..773) \" \"\n SYMBOL: (773..776)\n IDENTIFIER: (773..776) \"dir\"\n ATMOSPHERE: (776..777) \" \"\n QUOTED_DATUM: (777..782)\n QUOTE: (777..778) \"'\"\n SYMBOL: (778..782)\n IDENTIFIER: (778..782) \"left\"\n CLOSE_PAREN: (782..783) \")\"\n ATMOSPHERE: (783..784) \" \"\n CONSTANT: (784..788)\n STRING: (784..788) \"\"lt\"\"\n ATMOSPHERE: (788..789) \" \"\n CONSTANT: (789..793)\n STRING: (789..793) \"\"rt\"\"\n CLOSE_PAREN: (793..794) \")\"\n CLOSE_PAREN: (794..795) \")\"\n CLOSE_PAREN: (795..796) \")\"\n ATMOSPHERE: (796..821) \"\n \"\n FORM: (821..850)\n OPEN_PAREN: (821..822) \"(\"\n SYMBOL: (822..833)\n IDENTIFIER: (822..833) \"dragon-iter\"\n ATMOSPHERE: (833..834) \" \"\n SYMBOL: (834..838)\n IDENTIFIER: (834..838) \"next\"\n ATMOSPHERE: (838..839) \" \"\n SYMBOL: (839..843)\n IDENTIFIER: (839..843) \"size\"\n ATMOSPHERE: (843..844) \" \"\n QUOTED_DATUM: (844..849)\n QUOTE: (844..845) \"'\"\n SYMBOL: (845..849)\n IDENTIFIER: (845..849) \"left\"\n CLOSE_PAREN: (849..850) \")\"\n ATMOSPHERE: (850..875) \"\n \"\n FORM: (875..895)\n OPEN_PAREN: (875..876) \"(\"\n SYMBOL: (876..883)\n IDENTIFIER: (876..883) \"command\"\n ATMOSPHERE: (883..884) \" \"\n SYMBOL: (884..891)\n IDENTIFIER: (884..891) \"turncmd\"\n ATMOSPHERE: (891..892) \" \"\n CONSTANT: (892..894)\n NUMBER: (892..894) \"90\"\n CLOSE_PAREN: (894..895) \")\"\n ATMOSPHERE: (895..920) \"\n \"\n FORM: (920..950)\n OPEN_PAREN: (920..921) \"(\"\n SYMBOL: (921..932)\n IDENTIFIER: (921..932) \"dragon-iter\"\n ATMOSPHERE: (932..933) \" \"\n SYMBOL: (933..937)\n IDENTIFIER: (933..937) \"next\"\n ATMOSPHERE: (937..938) \" \"\n SYMBOL: (938..942)\n IDENTIFIER: (938..942) \"size\"\n ATMOSPHERE: (942..943) \" \"\n QUOTED_DATUM: (943..949)\n QUOTE: (943..944) \"'\"\n SYMBOL: (944..949)\n IDENTIFIER: (944..949) \"right\"\n CLOSE_PAREN: (949..950) \")\"\n CLOSE_PAREN: (950..951) \")\"\n CLOSE_PAREN: (951..952) \")\"\n CLOSE_PAREN: (952..953) \")\"\n ATMOSPHERE: (953..963) \"\n\n \"\n FORM: (963..1107)\n OPEN_PAREN: (963..964) \"(\"\n SYMBOL: (964..970)\n IDENTIFIER: (964..970) \"define\"\n ATMOSPHERE: (970..971) \" \"\n FORM: (971..984)\n OPEN_PAREN: (971..972) \"(\"\n SYMBOL: (972..978)\n IDENTIFIER: (972..978) \"dragon\"\n ATMOSPHERE: (978..979) \" \"\n SYMBOL: (979..983)\n IDENTIFIER: (979..983) \"iter\"\n CLOSE_PAREN: (983..984) \")\"\n ATMOSPHERE: (984..997) \"\n \"\n FORM: (997..1003)\n OPEN_PAREN: (997..998) \"(\"\n SYMBOL: (998..1002)\n IDENTIFIER: (998..1002) \"init\"\n CLOSE_PAREN: (1002..1003) \")\"\n ATMOSPHERE: (1003..1016) \"\n \"\n FORM: (1016..1042)\n OPEN_PAREN: (1016..1017) \"(\"\n SYMBOL: (1017..1024)\n IDENTIFIER: (1017..1024) \"command\"\n ATMOSPHERE: (1024..1025) \" \"\n CONSTANT: (1025..1029)\n STRING: (1025..1029) \"\"rt\"\"\n ATMOSPHERE: (1029..1030) \" \"\n FORM: (1030..1041)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1032)\n IDENTIFIER: (1031..1032) \"*\"\n ATMOSPHERE: (1032..1033) \" \"\n CONSTANT: (1033..1035)\n NUMBER: (1033..1035) \"45\"\n ATMOSPHERE: (1035..1036) \" \"\n SYMBOL: (1036..1040)\n IDENTIFIER: (1036..1040) \"iter\"\n CLOSE_PAREN: (1040..1041) \")\"\n CLOSE_PAREN: (1041..1042) \")\"\n ATMOSPHERE: (1042..1055) \"\n \"\n FORM: (1055..1083)\n OPEN_PAREN: (1055..1056) \"(\"\n SYMBOL: (1056..1067)\n IDENTIFIER: (1056..1067) \"dragon-iter\"\n ATMOSPHERE: (1067..1068) \" \"\n SYMBOL: (1068..1072)\n IDENTIFIER: (1068..1072) \"iter\"\n ATMOSPHERE: (1072..1073) \" \"\n CONSTANT: (1073..1076)\n NUMBER: (1073..1076) \"450\"\n ATMOSPHERE: (1076..1077) \" \"\n QUOTED_DATUM: (1077..1082)\n QUOTE: (1077..1078) \"'\"\n SYMBOL: (1078..1082)\n IDENTIFIER: (1078..1082) \"left\"\n CLOSE_PAREN: (1082..1083) \")\"\n ATMOSPHERE: (1083..1096) \"\n \"\n FORM: (1096..1106)\n OPEN_PAREN: (1096..1097) \"(\"\n SYMBOL: (1097..1105)\n IDENTIFIER: (1097..1105) \"finalise\"\n CLOSE_PAREN: (1105..1106) \")\"\n CLOSE_PAREN: (1106..1107) \")\"\n ATMOSPHERE: (1107..1125) \"\n \n \"\n CLOSE_PAREN: (1125..1126) \")\"\n CLOSE_PAREN: (1126..1127) \")\"\n ATMOSPHERE: (1127..1129) \"\n\n\"\n FORM: (1129..1146)\n OPEN_PAREN: (1129..1130) \"(\"\n SYMBOL: (1130..1136)\n IDENTIFIER: (1130..1136) \"import\"\n ATMOSPHERE: (1136..1137) \" \"\n FORM: (1137..1145)\n OPEN_PAREN: (1137..1138) \"(\"\n SYMBOL: (1138..1144)\n IDENTIFIER: (1138..1144) \"dragon\"\n CLOSE_PAREN: (1144..1145) \")\"\n CLOSE_PAREN: (1145..1146) \")\"\n ATMOSPHERE: (1146..1148) \"\n\n\"\n FORM: (1148..1158)\n OPEN_PAREN: (1148..1149) \"(\"\n SYMBOL: (1149..1155)\n IDENTIFIER: (1149..1155) \"dragon\"\n ATMOSPHERE: (1155..1156) \" \"\n CONSTANT: (1156..1157)\n NUMBER: (1156..1157) \"3\"\n CLOSE_PAREN: (1157..1158) \")\"\n EOF: (1158..1158) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json b/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json index 3c65775..06b09d0 100644 --- a/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..272)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..41) \"\n\n\"\n FORM: (41..94)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"define\"\n ATMOSPHERE: (48..49) \" \"\n FORM: (49..56)\n OPEN_PAREN: (49..50) \"(\"\n SYMBOL: (50..53)\n IDENTIFIER: (50..53) \"foo\"\n ATMOSPHERE: (53..54) \" \"\n SYMBOL: (54..55)\n IDENTIFIER: (54..55) \"a\"\n CLOSE_PAREN: (55..56) \")\"\n ATMOSPHERE: (56..59) \"\n \"\n FORM: (59..87)\n OPEN_PAREN: (59..60) \"(\"\n SYMBOL: (60..66)\n IDENTIFIER: (60..66) \"define\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..71)\n IDENTIFIER: (68..71) \"bar\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"b\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..79) \"\n \"\n FORM: (79..86)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..81)\n IDENTIFIER: (80..81) \"+\"\n ATMOSPHERE: (81..82) \" \"\n SYMBOL: (82..83)\n IDENTIFIER: (82..83) \"a\"\n ATMOSPHERE: (83..84) \" \"\n SYMBOL: (84..85)\n IDENTIFIER: (84..85) \"b\"\n CLOSE_PAREN: (85..86) \")\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..90) \"\n \"\n SYMBOL: (90..93)\n IDENTIFIER: (90..93) \"bar\"\n CLOSE_PAREN: (93..94) \")\"\n ATMOSPHERE: (94..96) \"\n\n\"\n FORM: (96..119)\n OPEN_PAREN: (96..97) \"(\"\n SYMBOL: (97..104)\n IDENTIFIER: (97..104) \"display\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..118)\n OPEN_PAREN: (105..106) \"(\"\n FORM: (106..115)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..110)\n IDENTIFIER: (107..110) \"foo\"\n ATMOSPHERE: (110..111) \" \"\n CONSTANT: (111..114)\n NUMBER: (111..114) \"123\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..117)\n NUMBER: (116..117) \"4\"\n CLOSE_PAREN: (117..118) \")\"\n CLOSE_PAREN: (118..119) \")\"\n FORM: (119..128)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..127)\n IDENTIFIER: (120..127) \"newline\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..130) \"\n\n\"\n FORM: (130..240)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..137)\n IDENTIFIER: (131..137) \"define\"\n ATMOSPHERE: (137..138) \" \"\n FORM: (138..148)\n OPEN_PAREN: (138..139) \"(\"\n SYMBOL: (139..143)\n IDENTIFIER: (139..143) \"test\"\n ATMOSPHERE: (143..144) \" \"\n SYMBOL: (144..145)\n IDENTIFIER: (144..145) \"a\"\n ATMOSPHERE: (145..146) \" \"\n SYMBOL: (146..147)\n IDENTIFIER: (146..147) \"b\"\n CLOSE_PAREN: (147..148) \")\"\n ATMOSPHERE: (148..151) \"\n \"\n FORM: (151..226)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"define\"\n ATMOSPHERE: (158..159) \" \"\n FORM: (159..169)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..168)\n IDENTIFIER: (160..168) \"do-stuff\"\n CLOSE_PAREN: (168..169) \")\"\n ATMOSPHERE: (169..174) \"\n \"\n FORM: (174..209)\n OPEN_PAREN: (174..175) \"(\"\n SYMBOL: (175..181)\n IDENTIFIER: (175..181) \"define\"\n ATMOSPHERE: (181..182) \" \"\n FORM: (182..192)\n OPEN_PAREN: (182..183) \"(\"\n SYMBOL: (183..189)\n IDENTIFIER: (183..189) \"things\"\n ATMOSPHERE: (189..190) \" \"\n SYMBOL: (190..191)\n IDENTIFIER: (190..191) \"c\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..199) \"\n \"\n FORM: (199..208)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..201)\n IDENTIFIER: (200..201) \"+\"\n ATMOSPHERE: (201..202) \" \"\n SYMBOL: (202..203)\n IDENTIFIER: (202..203) \"a\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..205)\n IDENTIFIER: (204..205) \"b\"\n ATMOSPHERE: (205..206) \" \"\n SYMBOL: (206..207)\n IDENTIFIER: (206..207) \"c\"\n CLOSE_PAREN: (207..208) \")\"\n CLOSE_PAREN: (208..209) \")\"\n ATMOSPHERE: (209..214) \"\n \"\n FORM: (214..225)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..221)\n IDENTIFIER: (215..221) \"things\"\n ATMOSPHERE: (221..222) \" \"\n CONSTANT: (222..224)\n NUMBER: (222..224) \"12\"\n CLOSE_PAREN: (224..225) \")\"\n CLOSE_PAREN: (225..226) \")\"\n ATMOSPHERE: (226..229) \"\n \"\n FORM: (229..239)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..238)\n IDENTIFIER: (230..238) \"do-stuff\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..242) \"\n\n\"\n FORM: (242..262)\n OPEN_PAREN: (242..243) \"(\"\n SYMBOL: (243..250)\n IDENTIFIER: (243..250) \"display\"\n ATMOSPHERE: (250..251) \" \"\n FORM: (251..261)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..256)\n IDENTIFIER: (252..256) \"test\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..258)\n NUMBER: (257..258) \"1\"\n ATMOSPHERE: (258..259) \" \"\n CONSTANT: (259..260)\n NUMBER: (259..260) \"2\"\n CLOSE_PAREN: (260..261) \")\"\n CLOSE_PAREN: (261..262) \")\"\n FORM: (262..271)\n OPEN_PAREN: (262..263) \"(\"\n SYMBOL: (263..270)\n IDENTIFIER: (263..270) \"newline\"\n CLOSE_PAREN: (270..271) \")\"\n ATMOSPHERE: (271..272) \"\n\"\n" + "Root": "PROGRAM: (0..272)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..41) \"\n\n\"\n FORM: (41..94)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"define\"\n ATMOSPHERE: (48..49) \" \"\n FORM: (49..56)\n OPEN_PAREN: (49..50) \"(\"\n SYMBOL: (50..53)\n IDENTIFIER: (50..53) \"foo\"\n ATMOSPHERE: (53..54) \" \"\n SYMBOL: (54..55)\n IDENTIFIER: (54..55) \"a\"\n CLOSE_PAREN: (55..56) \")\"\n ATMOSPHERE: (56..59) \"\n \"\n FORM: (59..87)\n OPEN_PAREN: (59..60) \"(\"\n SYMBOL: (60..66)\n IDENTIFIER: (60..66) \"define\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..71)\n IDENTIFIER: (68..71) \"bar\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"b\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..79) \"\n \"\n FORM: (79..86)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..81)\n IDENTIFIER: (80..81) \"+\"\n ATMOSPHERE: (81..82) \" \"\n SYMBOL: (82..83)\n IDENTIFIER: (82..83) \"a\"\n ATMOSPHERE: (83..84) \" \"\n SYMBOL: (84..85)\n IDENTIFIER: (84..85) \"b\"\n CLOSE_PAREN: (85..86) \")\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..90) \"\n \"\n SYMBOL: (90..93)\n IDENTIFIER: (90..93) \"bar\"\n CLOSE_PAREN: (93..94) \")\"\n ATMOSPHERE: (94..96) \"\n\n\"\n FORM: (96..119)\n OPEN_PAREN: (96..97) \"(\"\n SYMBOL: (97..104)\n IDENTIFIER: (97..104) \"display\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..118)\n OPEN_PAREN: (105..106) \"(\"\n FORM: (106..115)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..110)\n IDENTIFIER: (107..110) \"foo\"\n ATMOSPHERE: (110..111) \" \"\n CONSTANT: (111..114)\n NUMBER: (111..114) \"123\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..117)\n NUMBER: (116..117) \"4\"\n CLOSE_PAREN: (117..118) \")\"\n CLOSE_PAREN: (118..119) \")\"\n FORM: (119..128)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..127)\n IDENTIFIER: (120..127) \"newline\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..130) \"\n\n\"\n FORM: (130..240)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..137)\n IDENTIFIER: (131..137) \"define\"\n ATMOSPHERE: (137..138) \" \"\n FORM: (138..148)\n OPEN_PAREN: (138..139) \"(\"\n SYMBOL: (139..143)\n IDENTIFIER: (139..143) \"test\"\n ATMOSPHERE: (143..144) \" \"\n SYMBOL: (144..145)\n IDENTIFIER: (144..145) \"a\"\n ATMOSPHERE: (145..146) \" \"\n SYMBOL: (146..147)\n IDENTIFIER: (146..147) \"b\"\n CLOSE_PAREN: (147..148) \")\"\n ATMOSPHERE: (148..151) \"\n \"\n FORM: (151..226)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"define\"\n ATMOSPHERE: (158..159) \" \"\n FORM: (159..169)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..168)\n IDENTIFIER: (160..168) \"do-stuff\"\n CLOSE_PAREN: (168..169) \")\"\n ATMOSPHERE: (169..174) \"\n \"\n FORM: (174..209)\n OPEN_PAREN: (174..175) \"(\"\n SYMBOL: (175..181)\n IDENTIFIER: (175..181) \"define\"\n ATMOSPHERE: (181..182) \" \"\n FORM: (182..192)\n OPEN_PAREN: (182..183) \"(\"\n SYMBOL: (183..189)\n IDENTIFIER: (183..189) \"things\"\n ATMOSPHERE: (189..190) \" \"\n SYMBOL: (190..191)\n IDENTIFIER: (190..191) \"c\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..199) \"\n \"\n FORM: (199..208)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..201)\n IDENTIFIER: (200..201) \"+\"\n ATMOSPHERE: (201..202) \" \"\n SYMBOL: (202..203)\n IDENTIFIER: (202..203) \"a\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..205)\n IDENTIFIER: (204..205) \"b\"\n ATMOSPHERE: (205..206) \" \"\n SYMBOL: (206..207)\n IDENTIFIER: (206..207) \"c\"\n CLOSE_PAREN: (207..208) \")\"\n CLOSE_PAREN: (208..209) \")\"\n ATMOSPHERE: (209..214) \"\n \"\n FORM: (214..225)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..221)\n IDENTIFIER: (215..221) \"things\"\n ATMOSPHERE: (221..222) \" \"\n CONSTANT: (222..224)\n NUMBER: (222..224) \"12\"\n CLOSE_PAREN: (224..225) \")\"\n CLOSE_PAREN: (225..226) \")\"\n ATMOSPHERE: (226..229) \"\n \"\n FORM: (229..239)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..238)\n IDENTIFIER: (230..238) \"do-stuff\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..242) \"\n\n\"\n FORM: (242..262)\n OPEN_PAREN: (242..243) \"(\"\n SYMBOL: (243..250)\n IDENTIFIER: (243..250) \"display\"\n ATMOSPHERE: (250..251) \" \"\n FORM: (251..261)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..256)\n IDENTIFIER: (252..256) \"test\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..258)\n NUMBER: (257..258) \"1\"\n ATMOSPHERE: (258..259) \" \"\n CONSTANT: (259..260)\n NUMBER: (259..260) \"2\"\n CLOSE_PAREN: (260..261) \")\"\n CLOSE_PAREN: (261..262) \")\"\n FORM: (262..271)\n OPEN_PAREN: (262..263) \"(\"\n SYMBOL: (263..270)\n IDENTIFIER: (263..270) \"newline\"\n CLOSE_PAREN: (270..271) \")\"\n ATMOSPHERE: (271..272) \"\n\"\n EOF: (272..272) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json b/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json index e100eba..ea8bf46 100644 --- a/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..2277)\n ATMOSPHERE: (0..62) \";; Tests for the Equivalence Predicates (section 6.1 of R7RS).\"\n ATMOSPHERE: (62..63) \"\n\"\n FORM: (63..104)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..70)\n IDENTIFIER: (64..70) \"import\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..84)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..78)\n IDENTIFIER: (72..78) \"scheme\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..83)\n IDENTIFIER: (79..83) \"base\"\n CLOSE_PAREN: (83..84) \")\"\n ATMOSPHERE: (84..89) \"\n \"\n FORM: (89..103)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..96)\n IDENTIFIER: (90..96) \"scheme\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..102)\n IDENTIFIER: (97..102) \"write\"\n CLOSE_PAREN: (102..103) \")\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..106) \"\n\n\"\n ATMOSPHERE: (106..128) \";; Trivial equivalence\"\n ATMOSPHERE: (128..129) \"\n\"\n FORM: (129..562)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..137)\n IDENTIFIER: (130..137) \"display\"\n ATMOSPHERE: (137..138) \" \"\n FORM: (138..561)\n OPEN_PAREN: (138..139) \"(\"\n SYMBOL: (139..143)\n IDENTIFIER: (139..143) \"list\"\n ATMOSPHERE: (143..149) \"\n\n \"\n FORM: (149..161)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..154)\n IDENTIFIER: (150..154) \"eqv?\"\n ATMOSPHERE: (154..155) \" \"\n QUOTED_DATUM: (155..158)\n QUOTE: (155..156) \"’\"\n SYMBOL: (156..157)\n IDENTIFIER: (156..157) \"a\"\n ATMOSPHERE: (157..158) \" \"\n QUOTED_DATUM: (158..160)\n QUOTE: (158..159) \"’\"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"a\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..162) \" \"\n ATMOSPHERE: (162..169) \"; ~> #t\"\n ATMOSPHERE: (169..174) \"\n \"\n FORM: (174..186)\n OPEN_PAREN: (174..175) \"(\"\n SYMBOL: (175..179)\n IDENTIFIER: (175..179) \"eqv?\"\n ATMOSPHERE: (179..180) \" \"\n QUOTED_DATUM: (180..183)\n QUOTE: (180..181) \"’\"\n SYMBOL: (181..182)\n IDENTIFIER: (181..182) \"a\"\n ATMOSPHERE: (182..183) \" \"\n QUOTED_DATUM: (183..185)\n QUOTE: (183..184) \"’\"\n SYMBOL: (184..185)\n IDENTIFIER: (184..185) \"b\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..187) \" \"\n ATMOSPHERE: (187..194) \"; ~> #f\"\n ATMOSPHERE: (194..199) \"\n \"\n FORM: (199..209)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..204)\n IDENTIFIER: (200..204) \"eqv?\"\n ATMOSPHERE: (204..205) \" \"\n CONSTANT: (205..206)\n NUMBER: (205..206) \"2\"\n ATMOSPHERE: (206..207) \" \"\n CONSTANT: (207..208)\n NUMBER: (207..208) \"2\"\n CLOSE_PAREN: (208..209) \")\"\n ATMOSPHERE: (209..210) \" \"\n ATMOSPHERE: (210..217) \"; ~> #t\"\n ATMOSPHERE: (217..222) \"\n \"\n FORM: (222..234)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..227)\n IDENTIFIER: (223..227) \"eqv?\"\n ATMOSPHERE: (227..228) \" \"\n CONSTANT: (228..229)\n NUMBER: (228..229) \"2\"\n ATMOSPHERE: (229..230) \" \"\n CONSTANT: (230..233)\n NUMBER: (230..233) \"2.0\"\n CLOSE_PAREN: (233..234) \")\"\n ATMOSPHERE: (234..235) \" \"\n ATMOSPHERE: (235..293) \"; ~> #f Should be false, but we don't do exact numbers :-/\"\n ATMOSPHERE: (293..298) \"\n \"\n FORM: (298..312)\n OPEN_PAREN: (298..299) \"(\"\n SYMBOL: (299..303)\n IDENTIFIER: (299..303) \"eqv?\"\n ATMOSPHERE: (303..304) \" \"\n QUOTED_DATUM: (304..308)\n QUOTE: (304..305) \"’\"\n FORM: (305..307)\n OPEN_PAREN: (305..306) \"(\"\n CLOSE_PAREN: (306..307) \")\"\n ATMOSPHERE: (307..308) \" \"\n QUOTED_DATUM: (308..311)\n QUOTE: (308..309) \"’\"\n FORM: (309..311)\n OPEN_PAREN: (309..310) \"(\"\n CLOSE_PAREN: (310..311) \")\"\n CLOSE_PAREN: (311..312) \")\"\n ATMOSPHERE: (312..313) \" \"\n ATMOSPHERE: (313..320) \"; ~> #t\"\n ATMOSPHERE: (320..325) \"\n \"\n FORM: (325..351)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..330)\n IDENTIFIER: (326..330) \"eqv?\"\n ATMOSPHERE: (330..331) \" \"\n CONSTANT: (331..340)\n NUMBER: (331..340) \"100000000\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..350)\n NUMBER: (341..350) \"100000000\"\n CLOSE_PAREN: (350..351) \")\"\n ATMOSPHERE: (351..352) \" \"\n ATMOSPHERE: (352..359) \"; ~> #t\"\n ATMOSPHERE: (359..364) \"\n \"\n ATMOSPHERE: (364..391) \"; (eqv? 0.0 +nan.0) ; ~> #f\"\n ATMOSPHERE: (391..396) \"\n \"\n FORM: (396..424)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..401)\n IDENTIFIER: (397..401) \"eqv?\"\n ATMOSPHERE: (401..402) \" \"\n FORM: (402..412)\n OPEN_PAREN: (402..403) \"(\"\n SYMBOL: (403..407)\n IDENTIFIER: (403..407) \"cons\"\n ATMOSPHERE: (407..408) \" \"\n CONSTANT: (408..409)\n NUMBER: (408..409) \"1\"\n ATMOSPHERE: (409..410) \" \"\n CONSTANT: (410..411)\n NUMBER: (410..411) \"2\"\n CLOSE_PAREN: (411..412) \")\"\n ATMOSPHERE: (412..413) \" \"\n FORM: (413..423)\n OPEN_PAREN: (413..414) \"(\"\n SYMBOL: (414..418)\n IDENTIFIER: (414..418) \"cons\"\n ATMOSPHERE: (418..419) \" \"\n CONSTANT: (419..420)\n NUMBER: (419..420) \"1\"\n ATMOSPHERE: (420..421) \" \"\n CONSTANT: (421..422)\n NUMBER: (421..422) \"2\"\n CLOSE_PAREN: (422..423) \")\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..425) \" \"\n ATMOSPHERE: (425..432) \"; ~> #f\"\n ATMOSPHERE: (432..437) \"\n \"\n FORM: (437..470)\n OPEN_PAREN: (437..438) \"(\"\n SYMBOL: (438..442)\n IDENTIFIER: (438..442) \"eqv?\"\n ATMOSPHERE: (442..443) \" \"\n FORM: (443..456)\n OPEN_PAREN: (443..444) \"(\"\n SYMBOL: (444..450)\n IDENTIFIER: (444..450) \"lambda\"\n ATMOSPHERE: (450..451) \" \"\n FORM: (451..453)\n OPEN_PAREN: (451..452) \"(\"\n CLOSE_PAREN: (452..453) \")\"\n ATMOSPHERE: (453..454) \" \"\n CONSTANT: (454..455)\n NUMBER: (454..455) \"1\"\n CLOSE_PAREN: (455..456) \")\"\n FORM: (456..469)\n OPEN_PAREN: (456..457) \"(\"\n SYMBOL: (457..463)\n IDENTIFIER: (457..463) \"lambda\"\n ATMOSPHERE: (463..464) \" \"\n FORM: (464..466)\n OPEN_PAREN: (464..465) \"(\"\n CLOSE_PAREN: (465..466) \")\"\n ATMOSPHERE: (466..467) \" \"\n CONSTANT: (467..468)\n NUMBER: (467..468) \"2\"\n CLOSE_PAREN: (468..469) \")\"\n CLOSE_PAREN: (469..470) \")\"\n ATMOSPHERE: (470..471) \" \"\n ATMOSPHERE: (471..478) \"; ~> #f\"\n ATMOSPHERE: (478..483) \"\n \"\n FORM: (483..519)\n OPEN_PAREN: (483..484) \"(\"\n SYMBOL: (484..487)\n IDENTIFIER: (484..487) \"let\"\n ATMOSPHERE: (487..488) \" \"\n FORM: (488..508)\n OPEN_PAREN: (488..489) \"(\"\n FORM: (489..507)\n OPEN_PAREN: (489..490) \"(\"\n SYMBOL: (490..491)\n IDENTIFIER: (490..491) \"p\"\n ATMOSPHERE: (491..492) \" \"\n FORM: (492..506)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..499)\n IDENTIFIER: (493..499) \"lambda\"\n ATMOSPHERE: (499..500) \" \"\n FORM: (500..503)\n OPEN_PAREN: (500..501) \"(\"\n SYMBOL: (501..502)\n IDENTIFIER: (501..502) \"x\"\n CLOSE_PAREN: (502..503) \")\"\n ATMOSPHERE: (503..504) \" \"\n SYMBOL: (504..505)\n IDENTIFIER: (504..505) \"x\"\n CLOSE_PAREN: (505..506) \")\"\n CLOSE_PAREN: (506..507) \")\"\n CLOSE_PAREN: (507..508) \")\"\n FORM: (508..518)\n OPEN_PAREN: (508..509) \"(\"\n SYMBOL: (509..513)\n IDENTIFIER: (509..513) \"eqv?\"\n ATMOSPHERE: (513..514) \" \"\n SYMBOL: (514..515)\n IDENTIFIER: (514..515) \"p\"\n ATMOSPHERE: (515..516) \" \"\n SYMBOL: (516..517)\n IDENTIFIER: (516..517) \"p\"\n CLOSE_PAREN: (517..518) \")\"\n CLOSE_PAREN: (518..519) \")\"\n ATMOSPHERE: (519..520) \" \"\n ATMOSPHERE: (520..527) \"; ~> #t\"\n ATMOSPHERE: (527..532) \"\n \"\n FORM: (532..546)\n OPEN_PAREN: (532..533) \"(\"\n SYMBOL: (533..537)\n IDENTIFIER: (533..537) \"eqv?\"\n ATMOSPHERE: (537..538) \" \"\n CONSTANT: (538..540)\n BOOLEAN: (538..540) \"#f\"\n ATMOSPHERE: (540..541) \" \"\n QUOTED_DATUM: (541..545)\n QUOTE: (541..542) \"’\"\n SYMBOL: (542..545)\n IDENTIFIER: (542..545) \"nil\"\n CLOSE_PAREN: (545..546) \")\"\n ATMOSPHERE: (546..547) \" \"\n ATMOSPHERE: (547..554) \"; ~> #f\"\n ATMOSPHERE: (554..560) \"\n\n \"\n CLOSE_PAREN: (560..561) \")\"\n CLOSE_PAREN: (561..562) \")\"\n FORM: (562..571)\n OPEN_PAREN: (562..563) \"(\"\n SYMBOL: (563..570)\n IDENTIFIER: (563..570) \"newline\"\n CLOSE_PAREN: (570..571) \")\"\n ATMOSPHERE: (571..573) \"\n\n\"\n ATMOSPHERE: (573..609) \";; implementaiton specified restults\"\n ATMOSPHERE: (609..610) \"\n\"\n FORM: (610..905)\n OPEN_PAREN: (610..611) \"(\"\n SYMBOL: (611..618)\n IDENTIFIER: (611..618) \"display\"\n ATMOSPHERE: (618..619) \" \"\n FORM: (619..904)\n OPEN_PAREN: (619..620) \"(\"\n SYMBOL: (620..624)\n IDENTIFIER: (620..624) \"list\"\n ATMOSPHERE: (624..630) \"\n\n \"\n FORM: (630..642)\n OPEN_PAREN: (630..631) \"(\"\n SYMBOL: (631..635)\n IDENTIFIER: (631..635) \"eqv?\"\n ATMOSPHERE: (635..636) \" \"\n CONSTANT: (636..638)\n STRING: (636..638) \"\"\"\"\n ATMOSPHERE: (638..639) \" \"\n CONSTANT: (639..641)\n STRING: (639..641) \"\"\"\"\n CLOSE_PAREN: (641..642) \")\"\n ATMOSPHERE: (642..643) \" \"\n ATMOSPHERE: (643..659) \"; ~> unspecified\"\n ATMOSPHERE: (659..664) \"\n \"\n FORM: (664..680)\n OPEN_PAREN: (664..665) \"(\"\n SYMBOL: (665..669)\n IDENTIFIER: (665..669) \"eqv?\"\n ATMOSPHERE: (669..670) \" \"\n QUOTED_DATUM: (670..675)\n QUOTE: (670..671) \"’\"\n VEC: (671..674)\n OPEN_PAREN: (671..673) \"#(\"\n CLOSE_PAREN: (673..674) \")\"\n ATMOSPHERE: (674..675) \" \"\n QUOTED_DATUM: (675..679)\n QUOTE: (675..676) \"’\"\n VEC: (676..679)\n OPEN_PAREN: (676..678) \"#(\"\n CLOSE_PAREN: (678..679) \")\"\n CLOSE_PAREN: (679..680) \")\"\n ATMOSPHERE: (680..681) \" \"\n ATMOSPHERE: (681..697) \"; ~> unspecified\"\n ATMOSPHERE: (697..702) \"\n \"\n FORM: (702..737)\n OPEN_PAREN: (702..703) \"(\"\n SYMBOL: (703..707)\n IDENTIFIER: (703..707) \"eqv?\"\n ATMOSPHERE: (707..708) \" \"\n FORM: (708..722)\n OPEN_PAREN: (708..709) \"(\"\n SYMBOL: (709..715)\n IDENTIFIER: (709..715) \"lambda\"\n ATMOSPHERE: (715..716) \" \"\n FORM: (716..719)\n OPEN_PAREN: (716..717) \"(\"\n SYMBOL: (717..718)\n IDENTIFIER: (717..718) \"x\"\n CLOSE_PAREN: (718..719) \")\"\n ATMOSPHERE: (719..720) \" \"\n SYMBOL: (720..721)\n IDENTIFIER: (720..721) \"x\"\n CLOSE_PAREN: (721..722) \")\"\n FORM: (722..736)\n OPEN_PAREN: (722..723) \"(\"\n SYMBOL: (723..729)\n IDENTIFIER: (723..729) \"lambda\"\n ATMOSPHERE: (729..730) \" \"\n FORM: (730..733)\n OPEN_PAREN: (730..731) \"(\"\n SYMBOL: (731..732)\n IDENTIFIER: (731..732) \"x\"\n CLOSE_PAREN: (732..733) \")\"\n ATMOSPHERE: (733..734) \" \"\n SYMBOL: (734..735)\n IDENTIFIER: (734..735) \"x\"\n CLOSE_PAREN: (735..736) \")\"\n CLOSE_PAREN: (736..737) \")\"\n ATMOSPHERE: (737..738) \" \"\n ATMOSPHERE: (738..754) \"; ~> unspecified\"\n ATMOSPHERE: (754..759) \"\n \"\n FORM: (759..794)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..764)\n IDENTIFIER: (760..764) \"eqv?\"\n ATMOSPHERE: (764..765) \" \"\n FORM: (765..779)\n OPEN_PAREN: (765..766) \"(\"\n SYMBOL: (766..772)\n IDENTIFIER: (766..772) \"lambda\"\n ATMOSPHERE: (772..773) \" \"\n FORM: (773..776)\n OPEN_PAREN: (773..774) \"(\"\n SYMBOL: (774..775)\n IDENTIFIER: (774..775) \"x\"\n CLOSE_PAREN: (775..776) \")\"\n ATMOSPHERE: (776..777) \" \"\n SYMBOL: (777..778)\n IDENTIFIER: (777..778) \"x\"\n CLOSE_PAREN: (778..779) \")\"\n FORM: (779..793)\n OPEN_PAREN: (779..780) \"(\"\n SYMBOL: (780..786)\n IDENTIFIER: (780..786) \"lambda\"\n ATMOSPHERE: (786..787) \" \"\n FORM: (787..790)\n OPEN_PAREN: (787..788) \"(\"\n SYMBOL: (788..789)\n IDENTIFIER: (788..789) \"y\"\n CLOSE_PAREN: (789..790) \")\"\n ATMOSPHERE: (790..791) \" \"\n SYMBOL: (791..792)\n IDENTIFIER: (791..792) \"y\"\n CLOSE_PAREN: (792..793) \")\"\n CLOSE_PAREN: (793..794) \")\"\n ATMOSPHERE: (794..795) \" \"\n ATMOSPHERE: (795..811) \"; ~> unspecified\"\n ATMOSPHERE: (811..816) \"\n \"\n ATMOSPHERE: (816..853) \"; (eqv? 1.0e0 1.0f0) ; ~> unspecified\"\n ATMOSPHERE: (853..858) \"\n \"\n ATMOSPHERE: (858..897) \"; (eqv? +nan.0 +nan.0) ; ~> unspecified\"\n ATMOSPHERE: (897..903) \"\n\n \"\n CLOSE_PAREN: (903..904) \")\"\n CLOSE_PAREN: (904..905) \")\"\n FORM: (905..914)\n OPEN_PAREN: (905..906) \"(\"\n SYMBOL: (906..913)\n IDENTIFIER: (906..913) \"newline\"\n CLOSE_PAREN: (913..914) \")\"\n ATMOSPHERE: (914..916) \"\n\n\"\n ATMOSPHERE: (916..979) \";; Lambdas that capture state should be different for each call\"\n ATMOSPHERE: (979..980) \"\n\"\n FORM: (980..1097)\n OPEN_PAREN: (980..981) \"(\"\n SYMBOL: (981..987)\n IDENTIFIER: (981..987) \"define\"\n ATMOSPHERE: (987..988) \" \"\n SYMBOL: (988..999)\n IDENTIFIER: (988..999) \"gen-counter\"\n ATMOSPHERE: (999..1004) \"\n \"\n FORM: (1004..1096)\n OPEN_PAREN: (1004..1005) \"(\"\n SYMBOL: (1005..1011)\n IDENTIFIER: (1005..1011) \"lambda\"\n ATMOSPHERE: (1011..1012) \" \"\n FORM: (1012..1014)\n OPEN_PAREN: (1012..1013) \"(\"\n CLOSE_PAREN: (1013..1014) \")\"\n ATMOSPHERE: (1014..1023) \"\n \"\n FORM: (1023..1095)\n OPEN_PAREN: (1023..1024) \"(\"\n SYMBOL: (1024..1027)\n IDENTIFIER: (1024..1027) \"let\"\n ATMOSPHERE: (1027..1028) \" \"\n FORM: (1028..1035)\n OPEN_PAREN: (1028..1029) \"(\"\n FORM: (1029..1034)\n OPEN_PAREN: (1029..1030) \"(\"\n SYMBOL: (1030..1031)\n IDENTIFIER: (1030..1031) \"n\"\n ATMOSPHERE: (1031..1032) \" \"\n CONSTANT: (1032..1033)\n NUMBER: (1032..1033) \"0\"\n CLOSE_PAREN: (1033..1034) \")\"\n CLOSE_PAREN: (1034..1035) \")\"\n ATMOSPHERE: (1035..1048) \"\n \"\n FORM: (1048..1094)\n OPEN_PAREN: (1048..1049) \"(\"\n SYMBOL: (1049..1055)\n IDENTIFIER: (1049..1055) \"lambda\"\n ATMOSPHERE: (1055..1056) \" \"\n FORM: (1056..1058)\n OPEN_PAREN: (1056..1057) \"(\"\n CLOSE_PAREN: (1057..1058) \")\"\n ATMOSPHERE: (1058..1075) \"\n \"\n FORM: (1075..1091)\n OPEN_PAREN: (1075..1076) \"(\"\n SYMBOL: (1076..1080)\n IDENTIFIER: (1076..1080) \"set!\"\n ATMOSPHERE: (1080..1081) \" \"\n SYMBOL: (1081..1082)\n IDENTIFIER: (1081..1082) \"n\"\n ATMOSPHERE: (1082..1083) \" \"\n FORM: (1083..1090)\n OPEN_PAREN: (1083..1084) \"(\"\n SYMBOL: (1084..1085)\n IDENTIFIER: (1084..1085) \"+\"\n ATMOSPHERE: (1085..1086) \" \"\n SYMBOL: (1086..1087)\n IDENTIFIER: (1086..1087) \"n\"\n ATMOSPHERE: (1087..1088) \" \"\n CONSTANT: (1088..1089)\n NUMBER: (1088..1089) \"1\"\n CLOSE_PAREN: (1089..1090) \")\"\n CLOSE_PAREN: (1090..1091) \")\"\n ATMOSPHERE: (1091..1092) \" \"\n SYMBOL: (1092..1093)\n IDENTIFIER: (1092..1093) \"n\"\n CLOSE_PAREN: (1093..1094) \")\"\n CLOSE_PAREN: (1094..1095) \")\"\n CLOSE_PAREN: (1095..1096) \")\"\n CLOSE_PAREN: (1096..1097) \")\"\n ATMOSPHERE: (1097..1098) \"\n\"\n FORM: (1098..1148)\n OPEN_PAREN: (1098..1099) \"(\"\n SYMBOL: (1099..1106)\n IDENTIFIER: (1099..1106) \"display\"\n ATMOSPHERE: (1106..1107) \" \"\n FORM: (1107..1147)\n OPEN_PAREN: (1107..1108) \"(\"\n SYMBOL: (1108..1111)\n IDENTIFIER: (1108..1111) \"let\"\n ATMOSPHERE: (1111..1112) \" \"\n FORM: (1112..1131)\n OPEN_PAREN: (1112..1113) \"(\"\n FORM: (1113..1130)\n OPEN_PAREN: (1113..1114) \"(\"\n SYMBOL: (1114..1115)\n IDENTIFIER: (1114..1115) \"g\"\n ATMOSPHERE: (1115..1116) \" \"\n FORM: (1116..1129)\n OPEN_PAREN: (1116..1117) \"(\"\n SYMBOL: (1117..1128)\n IDENTIFIER: (1117..1128) \"gen-counter\"\n CLOSE_PAREN: (1128..1129) \")\"\n CLOSE_PAREN: (1129..1130) \")\"\n CLOSE_PAREN: (1130..1131) \")\"\n ATMOSPHERE: (1131..1136) \"\n \"\n FORM: (1136..1146)\n OPEN_PAREN: (1136..1137) \"(\"\n SYMBOL: (1137..1141)\n IDENTIFIER: (1137..1141) \"eqv?\"\n ATMOSPHERE: (1141..1142) \" \"\n SYMBOL: (1142..1143)\n IDENTIFIER: (1142..1143) \"g\"\n ATMOSPHERE: (1143..1144) \" \"\n SYMBOL: (1144..1145)\n IDENTIFIER: (1144..1145) \"g\"\n CLOSE_PAREN: (1145..1146) \")\"\n CLOSE_PAREN: (1146..1147) \")\"\n CLOSE_PAREN: (1147..1148) \")\"\n ATMOSPHERE: (1148..1149) \" \"\n ATMOSPHERE: (1149..1156) \"; ~> #t\"\n ATMOSPHERE: (1156..1157) \"\n\"\n FORM: (1157..1201)\n OPEN_PAREN: (1157..1158) \"(\"\n SYMBOL: (1158..1165)\n IDENTIFIER: (1158..1165) \"display\"\n ATMOSPHERE: (1165..1166) \" \"\n FORM: (1166..1200)\n OPEN_PAREN: (1166..1167) \"(\"\n SYMBOL: (1167..1171)\n IDENTIFIER: (1167..1171) \"eqv?\"\n ATMOSPHERE: (1171..1172) \" \"\n FORM: (1172..1185)\n OPEN_PAREN: (1172..1173) \"(\"\n SYMBOL: (1173..1184)\n IDENTIFIER: (1173..1184) \"gen-counter\"\n CLOSE_PAREN: (1184..1185) \")\"\n ATMOSPHERE: (1185..1186) \" \"\n FORM: (1186..1199)\n OPEN_PAREN: (1186..1187) \"(\"\n SYMBOL: (1187..1198)\n IDENTIFIER: (1187..1198) \"gen-counter\"\n CLOSE_PAREN: (1198..1199) \")\"\n CLOSE_PAREN: (1199..1200) \")\"\n CLOSE_PAREN: (1200..1201) \")\"\n ATMOSPHERE: (1201..1202) \" \"\n ATMOSPHERE: (1202..1209) \"; ~> #f\"\n ATMOSPHERE: (1209..1210) \"\n\"\n FORM: (1210..1219)\n OPEN_PAREN: (1210..1211) \"(\"\n SYMBOL: (1211..1218)\n IDENTIFIER: (1211..1218) \"newline\"\n CLOSE_PAREN: (1218..1219) \")\"\n ATMOSPHERE: (1219..1221) \"\n\n\"\n ATMOSPHERE: (1221..1292) \";; The `eq?` Predicate is allowed to just do a pointer equivalence test\"\n ATMOSPHERE: (1292..1293) \"\n\"\n FORM: (1293..1748)\n OPEN_PAREN: (1293..1294) \"(\"\n SYMBOL: (1294..1301)\n IDENTIFIER: (1294..1301) \"display\"\n ATMOSPHERE: (1301..1303) \"\n \"\n FORM: (1303..1747)\n OPEN_PAREN: (1303..1304) \"(\"\n SYMBOL: (1304..1308)\n IDENTIFIER: (1304..1308) \"list\"\n ATMOSPHERE: (1308..1311) \"\n \"\n FORM: (1311..1322)\n OPEN_PAREN: (1311..1312) \"(\"\n SYMBOL: (1312..1315)\n IDENTIFIER: (1312..1315) \"eq?\"\n ATMOSPHERE: (1315..1316) \" \"\n QUOTED_DATUM: (1316..1319)\n QUOTE: (1316..1317) \"’\"\n SYMBOL: (1317..1318)\n IDENTIFIER: (1317..1318) \"a\"\n ATMOSPHERE: (1318..1319) \" \"\n QUOTED_DATUM: (1319..1321)\n QUOTE: (1319..1320) \"’\"\n SYMBOL: (1320..1321)\n IDENTIFIER: (1320..1321) \"a\"\n CLOSE_PAREN: (1321..1322) \")\"\n ATMOSPHERE: (1322..1323) \" \"\n ATMOSPHERE: (1323..1330) \"; -> #t\"\n ATMOSPHERE: (1330..1333) \"\n \"\n FORM: (1333..1348)\n OPEN_PAREN: (1333..1334) \"(\"\n SYMBOL: (1334..1337)\n IDENTIFIER: (1334..1337) \"eq?\"\n ATMOSPHERE: (1337..1338) \" \"\n QUOTED_DATUM: (1338..1343)\n QUOTE: (1338..1339) \"’\"\n FORM: (1339..1342)\n OPEN_PAREN: (1339..1340) \"(\"\n SYMBOL: (1340..1341)\n IDENTIFIER: (1340..1341) \"a\"\n CLOSE_PAREN: (1341..1342) \")\"\n ATMOSPHERE: (1342..1343) \" \"\n QUOTED_DATUM: (1343..1347)\n QUOTE: (1343..1344) \"’\"\n FORM: (1344..1347)\n OPEN_PAREN: (1344..1345) \"(\"\n SYMBOL: (1345..1346)\n IDENTIFIER: (1345..1346) \"a\"\n CLOSE_PAREN: (1346..1347) \")\"\n CLOSE_PAREN: (1347..1348) \")\"\n ATMOSPHERE: (1348..1349) \" \"\n ATMOSPHERE: (1349..1365) \"; -> unspecified\"\n ATMOSPHERE: (1365..1368) \"\n \"\n FORM: (1368..1393)\n OPEN_PAREN: (1368..1369) \"(\"\n SYMBOL: (1369..1372)\n IDENTIFIER: (1369..1372) \"eq?\"\n ATMOSPHERE: (1372..1373) \" \"\n FORM: (1373..1382)\n OPEN_PAREN: (1373..1374) \"(\"\n SYMBOL: (1374..1378)\n IDENTIFIER: (1374..1378) \"list\"\n ATMOSPHERE: (1378..1379) \" \"\n QUOTED_DATUM: (1379..1381)\n QUOTE: (1379..1380) \"’\"\n SYMBOL: (1380..1381)\n IDENTIFIER: (1380..1381) \"a\"\n CLOSE_PAREN: (1381..1382) \")\"\n ATMOSPHERE: (1382..1383) \" \"\n FORM: (1383..1392)\n OPEN_PAREN: (1383..1384) \"(\"\n SYMBOL: (1384..1388)\n IDENTIFIER: (1384..1388) \"list\"\n ATMOSPHERE: (1388..1389) \" \"\n QUOTED_DATUM: (1389..1391)\n QUOTE: (1389..1390) \"’\"\n SYMBOL: (1390..1391)\n IDENTIFIER: (1390..1391) \"a\"\n CLOSE_PAREN: (1391..1392) \")\"\n CLOSE_PAREN: (1392..1393) \")\"\n ATMOSPHERE: (1393..1394) \" \"\n ATMOSPHERE: (1394..1401) \"; -> #f\"\n ATMOSPHERE: (1401..1404) \"\n \"\n FORM: (1404..1417)\n OPEN_PAREN: (1404..1405) \"(\"\n SYMBOL: (1405..1408)\n IDENTIFIER: (1405..1408) \"eq?\"\n ATMOSPHERE: (1408..1409) \" \"\n CONSTANT: (1409..1412)\n STRING: (1409..1412) \"\"a\"\"\n ATMOSPHERE: (1412..1413) \" \"\n CONSTANT: (1413..1416)\n STRING: (1413..1416) \"\"a\"\"\n CLOSE_PAREN: (1416..1417) \")\"\n ATMOSPHERE: (1417..1418) \" \"\n ATMOSPHERE: (1418..1434) \"; -> unspecified\"\n ATMOSPHERE: (1434..1437) \"\n \"\n FORM: (1437..1448)\n OPEN_PAREN: (1437..1438) \"(\"\n SYMBOL: (1438..1441)\n IDENTIFIER: (1438..1441) \"eq?\"\n ATMOSPHERE: (1441..1442) \" \"\n CONSTANT: (1442..1444)\n STRING: (1442..1444) \"\"\"\"\n ATMOSPHERE: (1444..1445) \" \"\n CONSTANT: (1445..1447)\n STRING: (1445..1447) \"\"\"\"\n CLOSE_PAREN: (1447..1448) \")\"\n ATMOSPHERE: (1448..1449) \" \"\n ATMOSPHERE: (1449..1465) \"; -> unspecified\"\n ATMOSPHERE: (1465..1468) \"\n \"\n FORM: (1468..1481)\n OPEN_PAREN: (1468..1469) \"(\"\n SYMBOL: (1469..1472)\n IDENTIFIER: (1469..1472) \"eq?\"\n ATMOSPHERE: (1472..1473) \" \"\n QUOTED_DATUM: (1473..1477)\n QUOTE: (1473..1474) \"’\"\n FORM: (1474..1476)\n OPEN_PAREN: (1474..1475) \"(\"\n CLOSE_PAREN: (1475..1476) \")\"\n ATMOSPHERE: (1476..1477) \" \"\n QUOTED_DATUM: (1477..1480)\n QUOTE: (1477..1478) \"’\"\n FORM: (1478..1480)\n OPEN_PAREN: (1478..1479) \"(\"\n CLOSE_PAREN: (1479..1480) \")\"\n CLOSE_PAREN: (1480..1481) \")\"\n ATMOSPHERE: (1481..1482) \" \"\n ATMOSPHERE: (1482..1489) \"; -> #t\"\n ATMOSPHERE: (1489..1492) \"\n \"\n FORM: (1492..1501)\n OPEN_PAREN: (1492..1493) \"(\"\n SYMBOL: (1493..1496)\n IDENTIFIER: (1493..1496) \"eq?\"\n ATMOSPHERE: (1496..1497) \" \"\n CONSTANT: (1497..1498)\n NUMBER: (1497..1498) \"2\"\n ATMOSPHERE: (1498..1499) \" \"\n CONSTANT: (1499..1500)\n NUMBER: (1499..1500) \"2\"\n CLOSE_PAREN: (1500..1501) \")\"\n ATMOSPHERE: (1501..1502) \" \"\n ATMOSPHERE: (1502..1518) \"; -> unspecified\"\n ATMOSPHERE: (1518..1521) \"\n \"\n FORM: (1521..1534)\n OPEN_PAREN: (1521..1522) \"(\"\n SYMBOL: (1522..1525)\n IDENTIFIER: (1522..1525) \"eq?\"\n ATMOSPHERE: (1525..1526) \" \"\n CONSTANT: (1526..1529)\n CHARACTER: (1526..1529) \"#\\A\"\n ATMOSPHERE: (1529..1530) \" \"\n CONSTANT: (1530..1533)\n CHARACTER: (1530..1533) \"#\\A\"\n CLOSE_PAREN: (1533..1534) \")\"\n ATMOSPHERE: (1534..1535) \" \"\n ATMOSPHERE: (1535..1551) \"; -> unspecified\"\n ATMOSPHERE: (1551..1554) \"\n \"\n FORM: (1554..1567)\n OPEN_PAREN: (1554..1555) \"(\"\n SYMBOL: (1555..1558)\n IDENTIFIER: (1555..1558) \"eq?\"\n ATMOSPHERE: (1558..1559) \" \"\n SYMBOL: (1559..1562)\n IDENTIFIER: (1559..1562) \"car\"\n ATMOSPHERE: (1562..1563) \" \"\n SYMBOL: (1563..1566)\n IDENTIFIER: (1563..1566) \"car\"\n CLOSE_PAREN: (1566..1567) \")\"\n ATMOSPHERE: (1567..1568) \" \"\n ATMOSPHERE: (1568..1575) \"; -> #t\"\n ATMOSPHERE: (1575..1578) \"\n \"\n FORM: (1578..1608)\n OPEN_PAREN: (1578..1579) \"(\"\n SYMBOL: (1579..1582)\n IDENTIFIER: (1579..1582) \"let\"\n ATMOSPHERE: (1582..1583) \" \"\n FORM: (1583..1596)\n OPEN_PAREN: (1583..1584) \"(\"\n FORM: (1584..1595)\n OPEN_PAREN: (1584..1585) \"(\"\n SYMBOL: (1585..1586)\n IDENTIFIER: (1585..1586) \"n\"\n ATMOSPHERE: (1586..1587) \" \"\n FORM: (1587..1594)\n OPEN_PAREN: (1587..1588) \"(\"\n SYMBOL: (1588..1589)\n IDENTIFIER: (1588..1589) \"+\"\n ATMOSPHERE: (1589..1590) \" \"\n CONSTANT: (1590..1591)\n NUMBER: (1590..1591) \"2\"\n ATMOSPHERE: (1591..1592) \" \"\n CONSTANT: (1592..1593)\n NUMBER: (1592..1593) \"3\"\n CLOSE_PAREN: (1593..1594) \")\"\n CLOSE_PAREN: (1594..1595) \")\"\n CLOSE_PAREN: (1595..1596) \")\"\n ATMOSPHERE: (1596..1598) \"\n\t\"\n FORM: (1598..1607)\n OPEN_PAREN: (1598..1599) \"(\"\n SYMBOL: (1599..1602)\n IDENTIFIER: (1599..1602) \"eq?\"\n ATMOSPHERE: (1602..1603) \" \"\n SYMBOL: (1603..1604)\n IDENTIFIER: (1603..1604) \"n\"\n ATMOSPHERE: (1604..1605) \" \"\n SYMBOL: (1605..1606)\n IDENTIFIER: (1605..1606) \"n\"\n CLOSE_PAREN: (1606..1607) \")\"\n CLOSE_PAREN: (1607..1608) \")\"\n ATMOSPHERE: (1608..1609) \" \"\n ATMOSPHERE: (1609..1625) \"; -> unspecified\"\n ATMOSPHERE: (1625..1628) \"\n \"\n FORM: (1628..1653)\n OPEN_PAREN: (1628..1629) \"(\"\n SYMBOL: (1629..1632)\n IDENTIFIER: (1629..1632) \"let\"\n ATMOSPHERE: (1632..1633) \" \"\n FORM: (1633..1643)\n OPEN_PAREN: (1633..1634) \"(\"\n FORM: (1634..1642)\n OPEN_PAREN: (1634..1635) \"(\"\n SYMBOL: (1635..1636)\n IDENTIFIER: (1635..1636) \"x\"\n ATMOSPHERE: (1636..1637) \" \"\n QUOTED_DATUM: (1637..1641)\n QUOTE: (1637..1638) \"’\"\n FORM: (1638..1641)\n OPEN_PAREN: (1638..1639) \"(\"\n SYMBOL: (1639..1640)\n IDENTIFIER: (1639..1640) \"a\"\n CLOSE_PAREN: (1640..1641) \")\"\n CLOSE_PAREN: (1641..1642) \")\"\n CLOSE_PAREN: (1642..1643) \")\"\n FORM: (1643..1652)\n OPEN_PAREN: (1643..1644) \"(\"\n SYMBOL: (1644..1647)\n IDENTIFIER: (1644..1647) \"eq?\"\n ATMOSPHERE: (1647..1648) \" \"\n SYMBOL: (1648..1649)\n IDENTIFIER: (1648..1649) \"x\"\n ATMOSPHERE: (1649..1650) \" \"\n SYMBOL: (1650..1651)\n IDENTIFIER: (1650..1651) \"x\"\n CLOSE_PAREN: (1651..1652) \")\"\n CLOSE_PAREN: (1652..1653) \")\"\n ATMOSPHERE: (1653..1654) \" \"\n ATMOSPHERE: (1654..1661) \"; -> #t\"\n ATMOSPHERE: (1661..1664) \"\n \"\n FORM: (1664..1689)\n OPEN_PAREN: (1664..1665) \"(\"\n SYMBOL: (1665..1668)\n IDENTIFIER: (1665..1668) \"let\"\n ATMOSPHERE: (1668..1669) \" \"\n FORM: (1669..1679)\n OPEN_PAREN: (1669..1670) \"(\"\n FORM: (1670..1678)\n OPEN_PAREN: (1670..1671) \"(\"\n SYMBOL: (1671..1672)\n IDENTIFIER: (1671..1672) \"x\"\n ATMOSPHERE: (1672..1673) \" \"\n QUOTED_DATUM: (1673..1677)\n QUOTE: (1673..1674) \"’\"\n VEC: (1674..1677)\n OPEN_PAREN: (1674..1676) \"#(\"\n CLOSE_PAREN: (1676..1677) \")\"\n CLOSE_PAREN: (1677..1678) \")\"\n CLOSE_PAREN: (1678..1679) \")\"\n FORM: (1679..1688)\n OPEN_PAREN: (1679..1680) \"(\"\n SYMBOL: (1680..1683)\n IDENTIFIER: (1680..1683) \"eq?\"\n ATMOSPHERE: (1683..1684) \" \"\n SYMBOL: (1684..1685)\n IDENTIFIER: (1684..1685) \"x\"\n ATMOSPHERE: (1685..1686) \" \"\n SYMBOL: (1686..1687)\n IDENTIFIER: (1686..1687) \"x\"\n CLOSE_PAREN: (1687..1688) \")\"\n CLOSE_PAREN: (1688..1689) \")\"\n ATMOSPHERE: (1689..1690) \" \"\n ATMOSPHERE: (1690..1697) \"; -> #t\"\n ATMOSPHERE: (1697..1700) \"\n \"\n FORM: (1700..1735)\n OPEN_PAREN: (1700..1701) \"(\"\n SYMBOL: (1701..1704)\n IDENTIFIER: (1701..1704) \"let\"\n ATMOSPHERE: (1704..1705) \" \"\n FORM: (1705..1725)\n OPEN_PAREN: (1705..1706) \"(\"\n FORM: (1706..1724)\n OPEN_PAREN: (1706..1707) \"(\"\n SYMBOL: (1707..1708)\n IDENTIFIER: (1707..1708) \"p\"\n ATMOSPHERE: (1708..1709) \" \"\n FORM: (1709..1723)\n OPEN_PAREN: (1709..1710) \"(\"\n SYMBOL: (1710..1716)\n IDENTIFIER: (1710..1716) \"lambda\"\n ATMOSPHERE: (1716..1717) \" \"\n FORM: (1717..1720)\n OPEN_PAREN: (1717..1718) \"(\"\n SYMBOL: (1718..1719)\n IDENTIFIER: (1718..1719) \"x\"\n CLOSE_PAREN: (1719..1720) \")\"\n ATMOSPHERE: (1720..1721) \" \"\n SYMBOL: (1721..1722)\n IDENTIFIER: (1721..1722) \"x\"\n CLOSE_PAREN: (1722..1723) \")\"\n CLOSE_PAREN: (1723..1724) \")\"\n CLOSE_PAREN: (1724..1725) \")\"\n FORM: (1725..1734)\n OPEN_PAREN: (1725..1726) \"(\"\n SYMBOL: (1726..1729)\n IDENTIFIER: (1726..1729) \"eq?\"\n ATMOSPHERE: (1729..1730) \" \"\n SYMBOL: (1730..1731)\n IDENTIFIER: (1730..1731) \"p\"\n ATMOSPHERE: (1731..1732) \" \"\n SYMBOL: (1732..1733)\n IDENTIFIER: (1732..1733) \"p\"\n CLOSE_PAREN: (1733..1734) \")\"\n CLOSE_PAREN: (1734..1735) \")\"\n ATMOSPHERE: (1735..1736) \" \"\n ATMOSPHERE: (1736..1743) \"; -> #t\"\n ATMOSPHERE: (1743..1746) \"\n \"\n CLOSE_PAREN: (1746..1747) \")\"\n CLOSE_PAREN: (1747..1748) \")\"\n FORM: (1748..1757)\n OPEN_PAREN: (1748..1749) \"(\"\n SYMBOL: (1749..1756)\n IDENTIFIER: (1749..1756) \"newline\"\n CLOSE_PAREN: (1756..1757) \")\"\n ATMOSPHERE: (1757..1759) \"\n\n\"\n ATMOSPHERE: (1759..1831) \";; The `equals?` predicate should recursively calculate equivalence. For\"\n ATMOSPHERE: (1831..1832) \"\n\"\n ATMOSPHERE: (1832..1887) \";; our implementation this is close to `object.Equals`.\"\n ATMOSPHERE: (1887..1888) \"\n\"\n FORM: (1888..2267)\n OPEN_PAREN: (1888..1889) \"(\"\n SYMBOL: (1889..1896)\n IDENTIFIER: (1889..1896) \"display\"\n ATMOSPHERE: (1896..1898) \"\n \"\n FORM: (1898..2266)\n OPEN_PAREN: (1898..1899) \"(\"\n SYMBOL: (1899..1903)\n IDENTIFIER: (1899..1903) \"list\"\n ATMOSPHERE: (1903..1906) \"\n \"\n FORM: (1906..1920)\n OPEN_PAREN: (1906..1907) \"(\"\n SYMBOL: (1907..1913)\n IDENTIFIER: (1907..1913) \"equal?\"\n ATMOSPHERE: (1913..1914) \" \"\n QUOTED_DATUM: (1914..1917)\n QUOTE: (1914..1915) \"’\"\n SYMBOL: (1915..1916)\n IDENTIFIER: (1915..1916) \"a\"\n ATMOSPHERE: (1916..1917) \" \"\n QUOTED_DATUM: (1917..1919)\n QUOTE: (1917..1918) \"’\"\n SYMBOL: (1918..1919)\n IDENTIFIER: (1918..1919) \"a\"\n CLOSE_PAREN: (1919..1920) \")\"\n ATMOSPHERE: (1920..1921) \" \"\n ATMOSPHERE: (1921..1928) \"; -> #t\"\n ATMOSPHERE: (1928..1931) \"\n \"\n FORM: (1931..1949)\n OPEN_PAREN: (1931..1932) \"(\"\n SYMBOL: (1932..1938)\n IDENTIFIER: (1932..1938) \"equal?\"\n ATMOSPHERE: (1938..1939) \" \"\n QUOTED_DATUM: (1939..1944)\n QUOTE: (1939..1940) \"’\"\n FORM: (1940..1943)\n OPEN_PAREN: (1940..1941) \"(\"\n SYMBOL: (1941..1942)\n IDENTIFIER: (1941..1942) \"a\"\n CLOSE_PAREN: (1942..1943) \")\"\n ATMOSPHERE: (1943..1944) \" \"\n QUOTED_DATUM: (1944..1948)\n QUOTE: (1944..1945) \"’\"\n FORM: (1945..1948)\n OPEN_PAREN: (1945..1946) \"(\"\n SYMBOL: (1946..1947)\n IDENTIFIER: (1946..1947) \"a\"\n CLOSE_PAREN: (1947..1948) \")\"\n CLOSE_PAREN: (1948..1949) \")\"\n ATMOSPHERE: (1949..1950) \" \"\n ATMOSPHERE: (1950..1957) \"; -> #t\"\n ATMOSPHERE: (1957..1960) \"\n \"\n FORM: (1960..1989)\n OPEN_PAREN: (1960..1961) \"(\"\n SYMBOL: (1961..1967)\n IDENTIFIER: (1961..1967) \"equal?\"\n ATMOSPHERE: (1967..1968) \" \"\n QUOTED_DATUM: (1968..1978)\n QUOTE: (1968..1969) \"’\"\n FORM: (1969..1978)\n OPEN_PAREN: (1969..1970) \"(\"\n SYMBOL: (1970..1971)\n IDENTIFIER: (1970..1971) \"a\"\n ATMOSPHERE: (1971..1972) \" \"\n FORM: (1972..1975)\n OPEN_PAREN: (1972..1973) \"(\"\n SYMBOL: (1973..1974)\n IDENTIFIER: (1973..1974) \"b\"\n CLOSE_PAREN: (1974..1975) \")\"\n ATMOSPHERE: (1975..1976) \" \"\n SYMBOL: (1976..1977)\n IDENTIFIER: (1976..1977) \"c\"\n CLOSE_PAREN: (1977..1978) \")\"\n QUOTED_DATUM: (1978..1988)\n QUOTE: (1978..1979) \"’\"\n FORM: (1979..1988)\n OPEN_PAREN: (1979..1980) \"(\"\n SYMBOL: (1980..1981)\n IDENTIFIER: (1980..1981) \"a\"\n ATMOSPHERE: (1981..1982) \" \"\n FORM: (1982..1985)\n OPEN_PAREN: (1982..1983) \"(\"\n SYMBOL: (1983..1984)\n IDENTIFIER: (1983..1984) \"b\"\n CLOSE_PAREN: (1984..1985) \")\"\n ATMOSPHERE: (1985..1986) \" \"\n SYMBOL: (1986..1987)\n IDENTIFIER: (1986..1987) \"c\"\n CLOSE_PAREN: (1987..1988) \")\"\n CLOSE_PAREN: (1988..1989) \")\"\n ATMOSPHERE: (1989..1990) \" \"\n ATMOSPHERE: (1990..1997) \"; -> #t\"\n ATMOSPHERE: (1997..2000) \"\n \"\n FORM: (2000..2020)\n OPEN_PAREN: (2000..2001) \"(\"\n SYMBOL: (2001..2007)\n IDENTIFIER: (2001..2007) \"equal?\"\n ATMOSPHERE: (2007..2008) \" \"\n CONSTANT: (2008..2013)\n STRING: (2008..2013) \"\"abc\"\"\n ATMOSPHERE: (2013..2014) \" \"\n CONSTANT: (2014..2019)\n STRING: (2014..2019) \"\"abc\"\"\n CLOSE_PAREN: (2019..2020) \")\"\n ATMOSPHERE: (2020..2021) \" \"\n ATMOSPHERE: (2021..2028) \"; -> #t\"\n ATMOSPHERE: (2028..2031) \"\n \"\n FORM: (2031..2043)\n OPEN_PAREN: (2031..2032) \"(\"\n SYMBOL: (2032..2038)\n IDENTIFIER: (2032..2038) \"equal?\"\n ATMOSPHERE: (2038..2039) \" \"\n CONSTANT: (2039..2040)\n NUMBER: (2039..2040) \"2\"\n ATMOSPHERE: (2040..2041) \" \"\n CONSTANT: (2041..2042)\n NUMBER: (2041..2042) \"2\"\n CLOSE_PAREN: (2042..2043) \")\"\n ATMOSPHERE: (2043..2044) \" \"\n ATMOSPHERE: (2044..2051) \"; -> #t\"\n ATMOSPHERE: (2051..2054) \"\n \"\n FORM: (2054..2099)\n OPEN_PAREN: (2054..2055) \"(\"\n SYMBOL: (2055..2061)\n IDENTIFIER: (2055..2061) \"equal?\"\n ATMOSPHERE: (2061..2062) \" \"\n FORM: (2062..2080)\n OPEN_PAREN: (2062..2063) \"(\"\n SYMBOL: (2063..2074)\n IDENTIFIER: (2063..2074) \"make-vector\"\n ATMOSPHERE: (2074..2075) \" \"\n CONSTANT: (2075..2076)\n NUMBER: (2075..2076) \"5\"\n ATMOSPHERE: (2076..2077) \" \"\n QUOTED_DATUM: (2077..2079)\n QUOTE: (2077..2078) \"’\"\n SYMBOL: (2078..2079)\n IDENTIFIER: (2078..2079) \"a\"\n CLOSE_PAREN: (2079..2080) \")\"\n FORM: (2080..2098)\n OPEN_PAREN: (2080..2081) \"(\"\n SYMBOL: (2081..2092)\n IDENTIFIER: (2081..2092) \"make-vector\"\n ATMOSPHERE: (2092..2093) \" \"\n CONSTANT: (2093..2094)\n NUMBER: (2093..2094) \"5\"\n ATMOSPHERE: (2094..2095) \" \"\n QUOTED_DATUM: (2095..2097)\n QUOTE: (2095..2096) \"’\"\n SYMBOL: (2096..2097)\n IDENTIFIER: (2096..2097) \"a\"\n CLOSE_PAREN: (2097..2098) \")\"\n CLOSE_PAREN: (2098..2099) \")\"\n ATMOSPHERE: (2099..2100) \" \"\n ATMOSPHERE: (2100..2107) \"; -> #t\"\n ATMOSPHERE: (2107..2110) \"\n \"\n ATMOSPHERE: (2110..2149) \"; We don't support quote references yet\"\n ATMOSPHERE: (2149..2152) \"\n \"\n ATMOSPHERE: (2152..2205) \"; (equal? ’#1=(a b . #1#)’#2=(a b a b . #2#)) ; -> #t\"\n ATMOSPHERE: (2205..2208) \"\n \"\n FORM: (2208..2245)\n OPEN_PAREN: (2208..2209) \"(\"\n SYMBOL: (2209..2215)\n IDENTIFIER: (2209..2215) \"equal?\"\n ATMOSPHERE: (2215..2216) \" \"\n FORM: (2216..2230)\n OPEN_PAREN: (2216..2217) \"(\"\n SYMBOL: (2217..2223)\n IDENTIFIER: (2217..2223) \"lambda\"\n ATMOSPHERE: (2223..2224) \" \"\n FORM: (2224..2227)\n OPEN_PAREN: (2224..2225) \"(\"\n SYMBOL: (2225..2226)\n IDENTIFIER: (2225..2226) \"x\"\n CLOSE_PAREN: (2226..2227) \")\"\n ATMOSPHERE: (2227..2228) \" \"\n SYMBOL: (2228..2229)\n IDENTIFIER: (2228..2229) \"x\"\n CLOSE_PAREN: (2229..2230) \")\"\n FORM: (2230..2244)\n OPEN_PAREN: (2230..2231) \"(\"\n SYMBOL: (2231..2237)\n IDENTIFIER: (2231..2237) \"lambda\"\n ATMOSPHERE: (2237..2238) \" \"\n FORM: (2238..2241)\n OPEN_PAREN: (2238..2239) \"(\"\n SYMBOL: (2239..2240)\n IDENTIFIER: (2239..2240) \"y\"\n CLOSE_PAREN: (2240..2241) \")\"\n ATMOSPHERE: (2241..2242) \" \"\n SYMBOL: (2242..2243)\n IDENTIFIER: (2242..2243) \"y\"\n CLOSE_PAREN: (2243..2244) \")\"\n CLOSE_PAREN: (2244..2245) \")\"\n ATMOSPHERE: (2245..2246) \" \"\n ATMOSPHERE: (2246..2262) \"; -> unspecified\"\n ATMOSPHERE: (2262..2265) \"\n \"\n CLOSE_PAREN: (2265..2266) \")\"\n CLOSE_PAREN: (2266..2267) \")\"\n FORM: (2267..2276)\n OPEN_PAREN: (2267..2268) \"(\"\n SYMBOL: (2268..2275)\n IDENTIFIER: (2268..2275) \"newline\"\n CLOSE_PAREN: (2275..2276) \")\"\n ATMOSPHERE: (2276..2277) \"\n\"\n" + "Root": "PROGRAM: (0..2277)\n ATMOSPHERE: (0..62) \";; Tests for the Equivalence Predicates (section 6.1 of R7RS).\"\n ATMOSPHERE: (62..63) \"\n\"\n FORM: (63..104)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..70)\n IDENTIFIER: (64..70) \"import\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..84)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..78)\n IDENTIFIER: (72..78) \"scheme\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..83)\n IDENTIFIER: (79..83) \"base\"\n CLOSE_PAREN: (83..84) \")\"\n ATMOSPHERE: (84..89) \"\n \"\n FORM: (89..103)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..96)\n IDENTIFIER: (90..96) \"scheme\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..102)\n IDENTIFIER: (97..102) \"write\"\n CLOSE_PAREN: (102..103) \")\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..106) \"\n\n\"\n ATMOSPHERE: (106..128) \";; Trivial equivalence\"\n ATMOSPHERE: (128..129) \"\n\"\n FORM: (129..562)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..137)\n IDENTIFIER: (130..137) \"display\"\n ATMOSPHERE: (137..138) \" \"\n FORM: (138..561)\n OPEN_PAREN: (138..139) \"(\"\n SYMBOL: (139..143)\n IDENTIFIER: (139..143) \"list\"\n ATMOSPHERE: (143..149) \"\n\n \"\n FORM: (149..161)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..154)\n IDENTIFIER: (150..154) \"eqv?\"\n ATMOSPHERE: (154..155) \" \"\n QUOTED_DATUM: (155..158)\n QUOTE: (155..156) \"’\"\n SYMBOL: (156..157)\n IDENTIFIER: (156..157) \"a\"\n ATMOSPHERE: (157..158) \" \"\n QUOTED_DATUM: (158..160)\n QUOTE: (158..159) \"’\"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"a\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..162) \" \"\n ATMOSPHERE: (162..169) \"; ~> #t\"\n ATMOSPHERE: (169..174) \"\n \"\n FORM: (174..186)\n OPEN_PAREN: (174..175) \"(\"\n SYMBOL: (175..179)\n IDENTIFIER: (175..179) \"eqv?\"\n ATMOSPHERE: (179..180) \" \"\n QUOTED_DATUM: (180..183)\n QUOTE: (180..181) \"’\"\n SYMBOL: (181..182)\n IDENTIFIER: (181..182) \"a\"\n ATMOSPHERE: (182..183) \" \"\n QUOTED_DATUM: (183..185)\n QUOTE: (183..184) \"’\"\n SYMBOL: (184..185)\n IDENTIFIER: (184..185) \"b\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..187) \" \"\n ATMOSPHERE: (187..194) \"; ~> #f\"\n ATMOSPHERE: (194..199) \"\n \"\n FORM: (199..209)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..204)\n IDENTIFIER: (200..204) \"eqv?\"\n ATMOSPHERE: (204..205) \" \"\n CONSTANT: (205..206)\n NUMBER: (205..206) \"2\"\n ATMOSPHERE: (206..207) \" \"\n CONSTANT: (207..208)\n NUMBER: (207..208) \"2\"\n CLOSE_PAREN: (208..209) \")\"\n ATMOSPHERE: (209..210) \" \"\n ATMOSPHERE: (210..217) \"; ~> #t\"\n ATMOSPHERE: (217..222) \"\n \"\n FORM: (222..234)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..227)\n IDENTIFIER: (223..227) \"eqv?\"\n ATMOSPHERE: (227..228) \" \"\n CONSTANT: (228..229)\n NUMBER: (228..229) \"2\"\n ATMOSPHERE: (229..230) \" \"\n CONSTANT: (230..233)\n NUMBER: (230..233) \"2.0\"\n CLOSE_PAREN: (233..234) \")\"\n ATMOSPHERE: (234..235) \" \"\n ATMOSPHERE: (235..293) \"; ~> #f Should be false, but we don't do exact numbers :-/\"\n ATMOSPHERE: (293..298) \"\n \"\n FORM: (298..312)\n OPEN_PAREN: (298..299) \"(\"\n SYMBOL: (299..303)\n IDENTIFIER: (299..303) \"eqv?\"\n ATMOSPHERE: (303..304) \" \"\n QUOTED_DATUM: (304..308)\n QUOTE: (304..305) \"’\"\n FORM: (305..307)\n OPEN_PAREN: (305..306) \"(\"\n CLOSE_PAREN: (306..307) \")\"\n ATMOSPHERE: (307..308) \" \"\n QUOTED_DATUM: (308..311)\n QUOTE: (308..309) \"’\"\n FORM: (309..311)\n OPEN_PAREN: (309..310) \"(\"\n CLOSE_PAREN: (310..311) \")\"\n CLOSE_PAREN: (311..312) \")\"\n ATMOSPHERE: (312..313) \" \"\n ATMOSPHERE: (313..320) \"; ~> #t\"\n ATMOSPHERE: (320..325) \"\n \"\n FORM: (325..351)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..330)\n IDENTIFIER: (326..330) \"eqv?\"\n ATMOSPHERE: (330..331) \" \"\n CONSTANT: (331..340)\n NUMBER: (331..340) \"100000000\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..350)\n NUMBER: (341..350) \"100000000\"\n CLOSE_PAREN: (350..351) \")\"\n ATMOSPHERE: (351..352) \" \"\n ATMOSPHERE: (352..359) \"; ~> #t\"\n ATMOSPHERE: (359..364) \"\n \"\n ATMOSPHERE: (364..391) \"; (eqv? 0.0 +nan.0) ; ~> #f\"\n ATMOSPHERE: (391..396) \"\n \"\n FORM: (396..424)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..401)\n IDENTIFIER: (397..401) \"eqv?\"\n ATMOSPHERE: (401..402) \" \"\n FORM: (402..412)\n OPEN_PAREN: (402..403) \"(\"\n SYMBOL: (403..407)\n IDENTIFIER: (403..407) \"cons\"\n ATMOSPHERE: (407..408) \" \"\n CONSTANT: (408..409)\n NUMBER: (408..409) \"1\"\n ATMOSPHERE: (409..410) \" \"\n CONSTANT: (410..411)\n NUMBER: (410..411) \"2\"\n CLOSE_PAREN: (411..412) \")\"\n ATMOSPHERE: (412..413) \" \"\n FORM: (413..423)\n OPEN_PAREN: (413..414) \"(\"\n SYMBOL: (414..418)\n IDENTIFIER: (414..418) \"cons\"\n ATMOSPHERE: (418..419) \" \"\n CONSTANT: (419..420)\n NUMBER: (419..420) \"1\"\n ATMOSPHERE: (420..421) \" \"\n CONSTANT: (421..422)\n NUMBER: (421..422) \"2\"\n CLOSE_PAREN: (422..423) \")\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..425) \" \"\n ATMOSPHERE: (425..432) \"; ~> #f\"\n ATMOSPHERE: (432..437) \"\n \"\n FORM: (437..470)\n OPEN_PAREN: (437..438) \"(\"\n SYMBOL: (438..442)\n IDENTIFIER: (438..442) \"eqv?\"\n ATMOSPHERE: (442..443) \" \"\n FORM: (443..456)\n OPEN_PAREN: (443..444) \"(\"\n SYMBOL: (444..450)\n IDENTIFIER: (444..450) \"lambda\"\n ATMOSPHERE: (450..451) \" \"\n FORM: (451..453)\n OPEN_PAREN: (451..452) \"(\"\n CLOSE_PAREN: (452..453) \")\"\n ATMOSPHERE: (453..454) \" \"\n CONSTANT: (454..455)\n NUMBER: (454..455) \"1\"\n CLOSE_PAREN: (455..456) \")\"\n FORM: (456..469)\n OPEN_PAREN: (456..457) \"(\"\n SYMBOL: (457..463)\n IDENTIFIER: (457..463) \"lambda\"\n ATMOSPHERE: (463..464) \" \"\n FORM: (464..466)\n OPEN_PAREN: (464..465) \"(\"\n CLOSE_PAREN: (465..466) \")\"\n ATMOSPHERE: (466..467) \" \"\n CONSTANT: (467..468)\n NUMBER: (467..468) \"2\"\n CLOSE_PAREN: (468..469) \")\"\n CLOSE_PAREN: (469..470) \")\"\n ATMOSPHERE: (470..471) \" \"\n ATMOSPHERE: (471..478) \"; ~> #f\"\n ATMOSPHERE: (478..483) \"\n \"\n FORM: (483..519)\n OPEN_PAREN: (483..484) \"(\"\n SYMBOL: (484..487)\n IDENTIFIER: (484..487) \"let\"\n ATMOSPHERE: (487..488) \" \"\n FORM: (488..508)\n OPEN_PAREN: (488..489) \"(\"\n FORM: (489..507)\n OPEN_PAREN: (489..490) \"(\"\n SYMBOL: (490..491)\n IDENTIFIER: (490..491) \"p\"\n ATMOSPHERE: (491..492) \" \"\n FORM: (492..506)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..499)\n IDENTIFIER: (493..499) \"lambda\"\n ATMOSPHERE: (499..500) \" \"\n FORM: (500..503)\n OPEN_PAREN: (500..501) \"(\"\n SYMBOL: (501..502)\n IDENTIFIER: (501..502) \"x\"\n CLOSE_PAREN: (502..503) \")\"\n ATMOSPHERE: (503..504) \" \"\n SYMBOL: (504..505)\n IDENTIFIER: (504..505) \"x\"\n CLOSE_PAREN: (505..506) \")\"\n CLOSE_PAREN: (506..507) \")\"\n CLOSE_PAREN: (507..508) \")\"\n FORM: (508..518)\n OPEN_PAREN: (508..509) \"(\"\n SYMBOL: (509..513)\n IDENTIFIER: (509..513) \"eqv?\"\n ATMOSPHERE: (513..514) \" \"\n SYMBOL: (514..515)\n IDENTIFIER: (514..515) \"p\"\n ATMOSPHERE: (515..516) \" \"\n SYMBOL: (516..517)\n IDENTIFIER: (516..517) \"p\"\n CLOSE_PAREN: (517..518) \")\"\n CLOSE_PAREN: (518..519) \")\"\n ATMOSPHERE: (519..520) \" \"\n ATMOSPHERE: (520..527) \"; ~> #t\"\n ATMOSPHERE: (527..532) \"\n \"\n FORM: (532..546)\n OPEN_PAREN: (532..533) \"(\"\n SYMBOL: (533..537)\n IDENTIFIER: (533..537) \"eqv?\"\n ATMOSPHERE: (537..538) \" \"\n CONSTANT: (538..540)\n BOOLEAN: (538..540) \"#f\"\n ATMOSPHERE: (540..541) \" \"\n QUOTED_DATUM: (541..545)\n QUOTE: (541..542) \"’\"\n SYMBOL: (542..545)\n IDENTIFIER: (542..545) \"nil\"\n CLOSE_PAREN: (545..546) \")\"\n ATMOSPHERE: (546..547) \" \"\n ATMOSPHERE: (547..554) \"; ~> #f\"\n ATMOSPHERE: (554..560) \"\n\n \"\n CLOSE_PAREN: (560..561) \")\"\n CLOSE_PAREN: (561..562) \")\"\n FORM: (562..571)\n OPEN_PAREN: (562..563) \"(\"\n SYMBOL: (563..570)\n IDENTIFIER: (563..570) \"newline\"\n CLOSE_PAREN: (570..571) \")\"\n ATMOSPHERE: (571..573) \"\n\n\"\n ATMOSPHERE: (573..609) \";; implementaiton specified restults\"\n ATMOSPHERE: (609..610) \"\n\"\n FORM: (610..905)\n OPEN_PAREN: (610..611) \"(\"\n SYMBOL: (611..618)\n IDENTIFIER: (611..618) \"display\"\n ATMOSPHERE: (618..619) \" \"\n FORM: (619..904)\n OPEN_PAREN: (619..620) \"(\"\n SYMBOL: (620..624)\n IDENTIFIER: (620..624) \"list\"\n ATMOSPHERE: (624..630) \"\n\n \"\n FORM: (630..642)\n OPEN_PAREN: (630..631) \"(\"\n SYMBOL: (631..635)\n IDENTIFIER: (631..635) \"eqv?\"\n ATMOSPHERE: (635..636) \" \"\n CONSTANT: (636..638)\n STRING: (636..638) \"\"\"\"\n ATMOSPHERE: (638..639) \" \"\n CONSTANT: (639..641)\n STRING: (639..641) \"\"\"\"\n CLOSE_PAREN: (641..642) \")\"\n ATMOSPHERE: (642..643) \" \"\n ATMOSPHERE: (643..659) \"; ~> unspecified\"\n ATMOSPHERE: (659..664) \"\n \"\n FORM: (664..680)\n OPEN_PAREN: (664..665) \"(\"\n SYMBOL: (665..669)\n IDENTIFIER: (665..669) \"eqv?\"\n ATMOSPHERE: (669..670) \" \"\n QUOTED_DATUM: (670..675)\n QUOTE: (670..671) \"’\"\n VEC: (671..674)\n OPEN_PAREN: (671..673) \"#(\"\n CLOSE_PAREN: (673..674) \")\"\n ATMOSPHERE: (674..675) \" \"\n QUOTED_DATUM: (675..679)\n QUOTE: (675..676) \"’\"\n VEC: (676..679)\n OPEN_PAREN: (676..678) \"#(\"\n CLOSE_PAREN: (678..679) \")\"\n CLOSE_PAREN: (679..680) \")\"\n ATMOSPHERE: (680..681) \" \"\n ATMOSPHERE: (681..697) \"; ~> unspecified\"\n ATMOSPHERE: (697..702) \"\n \"\n FORM: (702..737)\n OPEN_PAREN: (702..703) \"(\"\n SYMBOL: (703..707)\n IDENTIFIER: (703..707) \"eqv?\"\n ATMOSPHERE: (707..708) \" \"\n FORM: (708..722)\n OPEN_PAREN: (708..709) \"(\"\n SYMBOL: (709..715)\n IDENTIFIER: (709..715) \"lambda\"\n ATMOSPHERE: (715..716) \" \"\n FORM: (716..719)\n OPEN_PAREN: (716..717) \"(\"\n SYMBOL: (717..718)\n IDENTIFIER: (717..718) \"x\"\n CLOSE_PAREN: (718..719) \")\"\n ATMOSPHERE: (719..720) \" \"\n SYMBOL: (720..721)\n IDENTIFIER: (720..721) \"x\"\n CLOSE_PAREN: (721..722) \")\"\n FORM: (722..736)\n OPEN_PAREN: (722..723) \"(\"\n SYMBOL: (723..729)\n IDENTIFIER: (723..729) \"lambda\"\n ATMOSPHERE: (729..730) \" \"\n FORM: (730..733)\n OPEN_PAREN: (730..731) \"(\"\n SYMBOL: (731..732)\n IDENTIFIER: (731..732) \"x\"\n CLOSE_PAREN: (732..733) \")\"\n ATMOSPHERE: (733..734) \" \"\n SYMBOL: (734..735)\n IDENTIFIER: (734..735) \"x\"\n CLOSE_PAREN: (735..736) \")\"\n CLOSE_PAREN: (736..737) \")\"\n ATMOSPHERE: (737..738) \" \"\n ATMOSPHERE: (738..754) \"; ~> unspecified\"\n ATMOSPHERE: (754..759) \"\n \"\n FORM: (759..794)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..764)\n IDENTIFIER: (760..764) \"eqv?\"\n ATMOSPHERE: (764..765) \" \"\n FORM: (765..779)\n OPEN_PAREN: (765..766) \"(\"\n SYMBOL: (766..772)\n IDENTIFIER: (766..772) \"lambda\"\n ATMOSPHERE: (772..773) \" \"\n FORM: (773..776)\n OPEN_PAREN: (773..774) \"(\"\n SYMBOL: (774..775)\n IDENTIFIER: (774..775) \"x\"\n CLOSE_PAREN: (775..776) \")\"\n ATMOSPHERE: (776..777) \" \"\n SYMBOL: (777..778)\n IDENTIFIER: (777..778) \"x\"\n CLOSE_PAREN: (778..779) \")\"\n FORM: (779..793)\n OPEN_PAREN: (779..780) \"(\"\n SYMBOL: (780..786)\n IDENTIFIER: (780..786) \"lambda\"\n ATMOSPHERE: (786..787) \" \"\n FORM: (787..790)\n OPEN_PAREN: (787..788) \"(\"\n SYMBOL: (788..789)\n IDENTIFIER: (788..789) \"y\"\n CLOSE_PAREN: (789..790) \")\"\n ATMOSPHERE: (790..791) \" \"\n SYMBOL: (791..792)\n IDENTIFIER: (791..792) \"y\"\n CLOSE_PAREN: (792..793) \")\"\n CLOSE_PAREN: (793..794) \")\"\n ATMOSPHERE: (794..795) \" \"\n ATMOSPHERE: (795..811) \"; ~> unspecified\"\n ATMOSPHERE: (811..816) \"\n \"\n ATMOSPHERE: (816..853) \"; (eqv? 1.0e0 1.0f0) ; ~> unspecified\"\n ATMOSPHERE: (853..858) \"\n \"\n ATMOSPHERE: (858..897) \"; (eqv? +nan.0 +nan.0) ; ~> unspecified\"\n ATMOSPHERE: (897..903) \"\n\n \"\n CLOSE_PAREN: (903..904) \")\"\n CLOSE_PAREN: (904..905) \")\"\n FORM: (905..914)\n OPEN_PAREN: (905..906) \"(\"\n SYMBOL: (906..913)\n IDENTIFIER: (906..913) \"newline\"\n CLOSE_PAREN: (913..914) \")\"\n ATMOSPHERE: (914..916) \"\n\n\"\n ATMOSPHERE: (916..979) \";; Lambdas that capture state should be different for each call\"\n ATMOSPHERE: (979..980) \"\n\"\n FORM: (980..1097)\n OPEN_PAREN: (980..981) \"(\"\n SYMBOL: (981..987)\n IDENTIFIER: (981..987) \"define\"\n ATMOSPHERE: (987..988) \" \"\n SYMBOL: (988..999)\n IDENTIFIER: (988..999) \"gen-counter\"\n ATMOSPHERE: (999..1004) \"\n \"\n FORM: (1004..1096)\n OPEN_PAREN: (1004..1005) \"(\"\n SYMBOL: (1005..1011)\n IDENTIFIER: (1005..1011) \"lambda\"\n ATMOSPHERE: (1011..1012) \" \"\n FORM: (1012..1014)\n OPEN_PAREN: (1012..1013) \"(\"\n CLOSE_PAREN: (1013..1014) \")\"\n ATMOSPHERE: (1014..1023) \"\n \"\n FORM: (1023..1095)\n OPEN_PAREN: (1023..1024) \"(\"\n SYMBOL: (1024..1027)\n IDENTIFIER: (1024..1027) \"let\"\n ATMOSPHERE: (1027..1028) \" \"\n FORM: (1028..1035)\n OPEN_PAREN: (1028..1029) \"(\"\n FORM: (1029..1034)\n OPEN_PAREN: (1029..1030) \"(\"\n SYMBOL: (1030..1031)\n IDENTIFIER: (1030..1031) \"n\"\n ATMOSPHERE: (1031..1032) \" \"\n CONSTANT: (1032..1033)\n NUMBER: (1032..1033) \"0\"\n CLOSE_PAREN: (1033..1034) \")\"\n CLOSE_PAREN: (1034..1035) \")\"\n ATMOSPHERE: (1035..1048) \"\n \"\n FORM: (1048..1094)\n OPEN_PAREN: (1048..1049) \"(\"\n SYMBOL: (1049..1055)\n IDENTIFIER: (1049..1055) \"lambda\"\n ATMOSPHERE: (1055..1056) \" \"\n FORM: (1056..1058)\n OPEN_PAREN: (1056..1057) \"(\"\n CLOSE_PAREN: (1057..1058) \")\"\n ATMOSPHERE: (1058..1075) \"\n \"\n FORM: (1075..1091)\n OPEN_PAREN: (1075..1076) \"(\"\n SYMBOL: (1076..1080)\n IDENTIFIER: (1076..1080) \"set!\"\n ATMOSPHERE: (1080..1081) \" \"\n SYMBOL: (1081..1082)\n IDENTIFIER: (1081..1082) \"n\"\n ATMOSPHERE: (1082..1083) \" \"\n FORM: (1083..1090)\n OPEN_PAREN: (1083..1084) \"(\"\n SYMBOL: (1084..1085)\n IDENTIFIER: (1084..1085) \"+\"\n ATMOSPHERE: (1085..1086) \" \"\n SYMBOL: (1086..1087)\n IDENTIFIER: (1086..1087) \"n\"\n ATMOSPHERE: (1087..1088) \" \"\n CONSTANT: (1088..1089)\n NUMBER: (1088..1089) \"1\"\n CLOSE_PAREN: (1089..1090) \")\"\n CLOSE_PAREN: (1090..1091) \")\"\n ATMOSPHERE: (1091..1092) \" \"\n SYMBOL: (1092..1093)\n IDENTIFIER: (1092..1093) \"n\"\n CLOSE_PAREN: (1093..1094) \")\"\n CLOSE_PAREN: (1094..1095) \")\"\n CLOSE_PAREN: (1095..1096) \")\"\n CLOSE_PAREN: (1096..1097) \")\"\n ATMOSPHERE: (1097..1098) \"\n\"\n FORM: (1098..1148)\n OPEN_PAREN: (1098..1099) \"(\"\n SYMBOL: (1099..1106)\n IDENTIFIER: (1099..1106) \"display\"\n ATMOSPHERE: (1106..1107) \" \"\n FORM: (1107..1147)\n OPEN_PAREN: (1107..1108) \"(\"\n SYMBOL: (1108..1111)\n IDENTIFIER: (1108..1111) \"let\"\n ATMOSPHERE: (1111..1112) \" \"\n FORM: (1112..1131)\n OPEN_PAREN: (1112..1113) \"(\"\n FORM: (1113..1130)\n OPEN_PAREN: (1113..1114) \"(\"\n SYMBOL: (1114..1115)\n IDENTIFIER: (1114..1115) \"g\"\n ATMOSPHERE: (1115..1116) \" \"\n FORM: (1116..1129)\n OPEN_PAREN: (1116..1117) \"(\"\n SYMBOL: (1117..1128)\n IDENTIFIER: (1117..1128) \"gen-counter\"\n CLOSE_PAREN: (1128..1129) \")\"\n CLOSE_PAREN: (1129..1130) \")\"\n CLOSE_PAREN: (1130..1131) \")\"\n ATMOSPHERE: (1131..1136) \"\n \"\n FORM: (1136..1146)\n OPEN_PAREN: (1136..1137) \"(\"\n SYMBOL: (1137..1141)\n IDENTIFIER: (1137..1141) \"eqv?\"\n ATMOSPHERE: (1141..1142) \" \"\n SYMBOL: (1142..1143)\n IDENTIFIER: (1142..1143) \"g\"\n ATMOSPHERE: (1143..1144) \" \"\n SYMBOL: (1144..1145)\n IDENTIFIER: (1144..1145) \"g\"\n CLOSE_PAREN: (1145..1146) \")\"\n CLOSE_PAREN: (1146..1147) \")\"\n CLOSE_PAREN: (1147..1148) \")\"\n ATMOSPHERE: (1148..1149) \" \"\n ATMOSPHERE: (1149..1156) \"; ~> #t\"\n ATMOSPHERE: (1156..1157) \"\n\"\n FORM: (1157..1201)\n OPEN_PAREN: (1157..1158) \"(\"\n SYMBOL: (1158..1165)\n IDENTIFIER: (1158..1165) \"display\"\n ATMOSPHERE: (1165..1166) \" \"\n FORM: (1166..1200)\n OPEN_PAREN: (1166..1167) \"(\"\n SYMBOL: (1167..1171)\n IDENTIFIER: (1167..1171) \"eqv?\"\n ATMOSPHERE: (1171..1172) \" \"\n FORM: (1172..1185)\n OPEN_PAREN: (1172..1173) \"(\"\n SYMBOL: (1173..1184)\n IDENTIFIER: (1173..1184) \"gen-counter\"\n CLOSE_PAREN: (1184..1185) \")\"\n ATMOSPHERE: (1185..1186) \" \"\n FORM: (1186..1199)\n OPEN_PAREN: (1186..1187) \"(\"\n SYMBOL: (1187..1198)\n IDENTIFIER: (1187..1198) \"gen-counter\"\n CLOSE_PAREN: (1198..1199) \")\"\n CLOSE_PAREN: (1199..1200) \")\"\n CLOSE_PAREN: (1200..1201) \")\"\n ATMOSPHERE: (1201..1202) \" \"\n ATMOSPHERE: (1202..1209) \"; ~> #f\"\n ATMOSPHERE: (1209..1210) \"\n\"\n FORM: (1210..1219)\n OPEN_PAREN: (1210..1211) \"(\"\n SYMBOL: (1211..1218)\n IDENTIFIER: (1211..1218) \"newline\"\n CLOSE_PAREN: (1218..1219) \")\"\n ATMOSPHERE: (1219..1221) \"\n\n\"\n ATMOSPHERE: (1221..1292) \";; The `eq?` Predicate is allowed to just do a pointer equivalence test\"\n ATMOSPHERE: (1292..1293) \"\n\"\n FORM: (1293..1748)\n OPEN_PAREN: (1293..1294) \"(\"\n SYMBOL: (1294..1301)\n IDENTIFIER: (1294..1301) \"display\"\n ATMOSPHERE: (1301..1303) \"\n \"\n FORM: (1303..1747)\n OPEN_PAREN: (1303..1304) \"(\"\n SYMBOL: (1304..1308)\n IDENTIFIER: (1304..1308) \"list\"\n ATMOSPHERE: (1308..1311) \"\n \"\n FORM: (1311..1322)\n OPEN_PAREN: (1311..1312) \"(\"\n SYMBOL: (1312..1315)\n IDENTIFIER: (1312..1315) \"eq?\"\n ATMOSPHERE: (1315..1316) \" \"\n QUOTED_DATUM: (1316..1319)\n QUOTE: (1316..1317) \"’\"\n SYMBOL: (1317..1318)\n IDENTIFIER: (1317..1318) \"a\"\n ATMOSPHERE: (1318..1319) \" \"\n QUOTED_DATUM: (1319..1321)\n QUOTE: (1319..1320) \"’\"\n SYMBOL: (1320..1321)\n IDENTIFIER: (1320..1321) \"a\"\n CLOSE_PAREN: (1321..1322) \")\"\n ATMOSPHERE: (1322..1323) \" \"\n ATMOSPHERE: (1323..1330) \"; -> #t\"\n ATMOSPHERE: (1330..1333) \"\n \"\n FORM: (1333..1348)\n OPEN_PAREN: (1333..1334) \"(\"\n SYMBOL: (1334..1337)\n IDENTIFIER: (1334..1337) \"eq?\"\n ATMOSPHERE: (1337..1338) \" \"\n QUOTED_DATUM: (1338..1343)\n QUOTE: (1338..1339) \"’\"\n FORM: (1339..1342)\n OPEN_PAREN: (1339..1340) \"(\"\n SYMBOL: (1340..1341)\n IDENTIFIER: (1340..1341) \"a\"\n CLOSE_PAREN: (1341..1342) \")\"\n ATMOSPHERE: (1342..1343) \" \"\n QUOTED_DATUM: (1343..1347)\n QUOTE: (1343..1344) \"’\"\n FORM: (1344..1347)\n OPEN_PAREN: (1344..1345) \"(\"\n SYMBOL: (1345..1346)\n IDENTIFIER: (1345..1346) \"a\"\n CLOSE_PAREN: (1346..1347) \")\"\n CLOSE_PAREN: (1347..1348) \")\"\n ATMOSPHERE: (1348..1349) \" \"\n ATMOSPHERE: (1349..1365) \"; -> unspecified\"\n ATMOSPHERE: (1365..1368) \"\n \"\n FORM: (1368..1393)\n OPEN_PAREN: (1368..1369) \"(\"\n SYMBOL: (1369..1372)\n IDENTIFIER: (1369..1372) \"eq?\"\n ATMOSPHERE: (1372..1373) \" \"\n FORM: (1373..1382)\n OPEN_PAREN: (1373..1374) \"(\"\n SYMBOL: (1374..1378)\n IDENTIFIER: (1374..1378) \"list\"\n ATMOSPHERE: (1378..1379) \" \"\n QUOTED_DATUM: (1379..1381)\n QUOTE: (1379..1380) \"’\"\n SYMBOL: (1380..1381)\n IDENTIFIER: (1380..1381) \"a\"\n CLOSE_PAREN: (1381..1382) \")\"\n ATMOSPHERE: (1382..1383) \" \"\n FORM: (1383..1392)\n OPEN_PAREN: (1383..1384) \"(\"\n SYMBOL: (1384..1388)\n IDENTIFIER: (1384..1388) \"list\"\n ATMOSPHERE: (1388..1389) \" \"\n QUOTED_DATUM: (1389..1391)\n QUOTE: (1389..1390) \"’\"\n SYMBOL: (1390..1391)\n IDENTIFIER: (1390..1391) \"a\"\n CLOSE_PAREN: (1391..1392) \")\"\n CLOSE_PAREN: (1392..1393) \")\"\n ATMOSPHERE: (1393..1394) \" \"\n ATMOSPHERE: (1394..1401) \"; -> #f\"\n ATMOSPHERE: (1401..1404) \"\n \"\n FORM: (1404..1417)\n OPEN_PAREN: (1404..1405) \"(\"\n SYMBOL: (1405..1408)\n IDENTIFIER: (1405..1408) \"eq?\"\n ATMOSPHERE: (1408..1409) \" \"\n CONSTANT: (1409..1412)\n STRING: (1409..1412) \"\"a\"\"\n ATMOSPHERE: (1412..1413) \" \"\n CONSTANT: (1413..1416)\n STRING: (1413..1416) \"\"a\"\"\n CLOSE_PAREN: (1416..1417) \")\"\n ATMOSPHERE: (1417..1418) \" \"\n ATMOSPHERE: (1418..1434) \"; -> unspecified\"\n ATMOSPHERE: (1434..1437) \"\n \"\n FORM: (1437..1448)\n OPEN_PAREN: (1437..1438) \"(\"\n SYMBOL: (1438..1441)\n IDENTIFIER: (1438..1441) \"eq?\"\n ATMOSPHERE: (1441..1442) \" \"\n CONSTANT: (1442..1444)\n STRING: (1442..1444) \"\"\"\"\n ATMOSPHERE: (1444..1445) \" \"\n CONSTANT: (1445..1447)\n STRING: (1445..1447) \"\"\"\"\n CLOSE_PAREN: (1447..1448) \")\"\n ATMOSPHERE: (1448..1449) \" \"\n ATMOSPHERE: (1449..1465) \"; -> unspecified\"\n ATMOSPHERE: (1465..1468) \"\n \"\n FORM: (1468..1481)\n OPEN_PAREN: (1468..1469) \"(\"\n SYMBOL: (1469..1472)\n IDENTIFIER: (1469..1472) \"eq?\"\n ATMOSPHERE: (1472..1473) \" \"\n QUOTED_DATUM: (1473..1477)\n QUOTE: (1473..1474) \"’\"\n FORM: (1474..1476)\n OPEN_PAREN: (1474..1475) \"(\"\n CLOSE_PAREN: (1475..1476) \")\"\n ATMOSPHERE: (1476..1477) \" \"\n QUOTED_DATUM: (1477..1480)\n QUOTE: (1477..1478) \"’\"\n FORM: (1478..1480)\n OPEN_PAREN: (1478..1479) \"(\"\n CLOSE_PAREN: (1479..1480) \")\"\n CLOSE_PAREN: (1480..1481) \")\"\n ATMOSPHERE: (1481..1482) \" \"\n ATMOSPHERE: (1482..1489) \"; -> #t\"\n ATMOSPHERE: (1489..1492) \"\n \"\n FORM: (1492..1501)\n OPEN_PAREN: (1492..1493) \"(\"\n SYMBOL: (1493..1496)\n IDENTIFIER: (1493..1496) \"eq?\"\n ATMOSPHERE: (1496..1497) \" \"\n CONSTANT: (1497..1498)\n NUMBER: (1497..1498) \"2\"\n ATMOSPHERE: (1498..1499) \" \"\n CONSTANT: (1499..1500)\n NUMBER: (1499..1500) \"2\"\n CLOSE_PAREN: (1500..1501) \")\"\n ATMOSPHERE: (1501..1502) \" \"\n ATMOSPHERE: (1502..1518) \"; -> unspecified\"\n ATMOSPHERE: (1518..1521) \"\n \"\n FORM: (1521..1534)\n OPEN_PAREN: (1521..1522) \"(\"\n SYMBOL: (1522..1525)\n IDENTIFIER: (1522..1525) \"eq?\"\n ATMOSPHERE: (1525..1526) \" \"\n CONSTANT: (1526..1529)\n CHARACTER: (1526..1529) \"#\\A\"\n ATMOSPHERE: (1529..1530) \" \"\n CONSTANT: (1530..1533)\n CHARACTER: (1530..1533) \"#\\A\"\n CLOSE_PAREN: (1533..1534) \")\"\n ATMOSPHERE: (1534..1535) \" \"\n ATMOSPHERE: (1535..1551) \"; -> unspecified\"\n ATMOSPHERE: (1551..1554) \"\n \"\n FORM: (1554..1567)\n OPEN_PAREN: (1554..1555) \"(\"\n SYMBOL: (1555..1558)\n IDENTIFIER: (1555..1558) \"eq?\"\n ATMOSPHERE: (1558..1559) \" \"\n SYMBOL: (1559..1562)\n IDENTIFIER: (1559..1562) \"car\"\n ATMOSPHERE: (1562..1563) \" \"\n SYMBOL: (1563..1566)\n IDENTIFIER: (1563..1566) \"car\"\n CLOSE_PAREN: (1566..1567) \")\"\n ATMOSPHERE: (1567..1568) \" \"\n ATMOSPHERE: (1568..1575) \"; -> #t\"\n ATMOSPHERE: (1575..1578) \"\n \"\n FORM: (1578..1608)\n OPEN_PAREN: (1578..1579) \"(\"\n SYMBOL: (1579..1582)\n IDENTIFIER: (1579..1582) \"let\"\n ATMOSPHERE: (1582..1583) \" \"\n FORM: (1583..1596)\n OPEN_PAREN: (1583..1584) \"(\"\n FORM: (1584..1595)\n OPEN_PAREN: (1584..1585) \"(\"\n SYMBOL: (1585..1586)\n IDENTIFIER: (1585..1586) \"n\"\n ATMOSPHERE: (1586..1587) \" \"\n FORM: (1587..1594)\n OPEN_PAREN: (1587..1588) \"(\"\n SYMBOL: (1588..1589)\n IDENTIFIER: (1588..1589) \"+\"\n ATMOSPHERE: (1589..1590) \" \"\n CONSTANT: (1590..1591)\n NUMBER: (1590..1591) \"2\"\n ATMOSPHERE: (1591..1592) \" \"\n CONSTANT: (1592..1593)\n NUMBER: (1592..1593) \"3\"\n CLOSE_PAREN: (1593..1594) \")\"\n CLOSE_PAREN: (1594..1595) \")\"\n CLOSE_PAREN: (1595..1596) \")\"\n ATMOSPHERE: (1596..1598) \"\n\t\"\n FORM: (1598..1607)\n OPEN_PAREN: (1598..1599) \"(\"\n SYMBOL: (1599..1602)\n IDENTIFIER: (1599..1602) \"eq?\"\n ATMOSPHERE: (1602..1603) \" \"\n SYMBOL: (1603..1604)\n IDENTIFIER: (1603..1604) \"n\"\n ATMOSPHERE: (1604..1605) \" \"\n SYMBOL: (1605..1606)\n IDENTIFIER: (1605..1606) \"n\"\n CLOSE_PAREN: (1606..1607) \")\"\n CLOSE_PAREN: (1607..1608) \")\"\n ATMOSPHERE: (1608..1609) \" \"\n ATMOSPHERE: (1609..1625) \"; -> unspecified\"\n ATMOSPHERE: (1625..1628) \"\n \"\n FORM: (1628..1653)\n OPEN_PAREN: (1628..1629) \"(\"\n SYMBOL: (1629..1632)\n IDENTIFIER: (1629..1632) \"let\"\n ATMOSPHERE: (1632..1633) \" \"\n FORM: (1633..1643)\n OPEN_PAREN: (1633..1634) \"(\"\n FORM: (1634..1642)\n OPEN_PAREN: (1634..1635) \"(\"\n SYMBOL: (1635..1636)\n IDENTIFIER: (1635..1636) \"x\"\n ATMOSPHERE: (1636..1637) \" \"\n QUOTED_DATUM: (1637..1641)\n QUOTE: (1637..1638) \"’\"\n FORM: (1638..1641)\n OPEN_PAREN: (1638..1639) \"(\"\n SYMBOL: (1639..1640)\n IDENTIFIER: (1639..1640) \"a\"\n CLOSE_PAREN: (1640..1641) \")\"\n CLOSE_PAREN: (1641..1642) \")\"\n CLOSE_PAREN: (1642..1643) \")\"\n FORM: (1643..1652)\n OPEN_PAREN: (1643..1644) \"(\"\n SYMBOL: (1644..1647)\n IDENTIFIER: (1644..1647) \"eq?\"\n ATMOSPHERE: (1647..1648) \" \"\n SYMBOL: (1648..1649)\n IDENTIFIER: (1648..1649) \"x\"\n ATMOSPHERE: (1649..1650) \" \"\n SYMBOL: (1650..1651)\n IDENTIFIER: (1650..1651) \"x\"\n CLOSE_PAREN: (1651..1652) \")\"\n CLOSE_PAREN: (1652..1653) \")\"\n ATMOSPHERE: (1653..1654) \" \"\n ATMOSPHERE: (1654..1661) \"; -> #t\"\n ATMOSPHERE: (1661..1664) \"\n \"\n FORM: (1664..1689)\n OPEN_PAREN: (1664..1665) \"(\"\n SYMBOL: (1665..1668)\n IDENTIFIER: (1665..1668) \"let\"\n ATMOSPHERE: (1668..1669) \" \"\n FORM: (1669..1679)\n OPEN_PAREN: (1669..1670) \"(\"\n FORM: (1670..1678)\n OPEN_PAREN: (1670..1671) \"(\"\n SYMBOL: (1671..1672)\n IDENTIFIER: (1671..1672) \"x\"\n ATMOSPHERE: (1672..1673) \" \"\n QUOTED_DATUM: (1673..1677)\n QUOTE: (1673..1674) \"’\"\n VEC: (1674..1677)\n OPEN_PAREN: (1674..1676) \"#(\"\n CLOSE_PAREN: (1676..1677) \")\"\n CLOSE_PAREN: (1677..1678) \")\"\n CLOSE_PAREN: (1678..1679) \")\"\n FORM: (1679..1688)\n OPEN_PAREN: (1679..1680) \"(\"\n SYMBOL: (1680..1683)\n IDENTIFIER: (1680..1683) \"eq?\"\n ATMOSPHERE: (1683..1684) \" \"\n SYMBOL: (1684..1685)\n IDENTIFIER: (1684..1685) \"x\"\n ATMOSPHERE: (1685..1686) \" \"\n SYMBOL: (1686..1687)\n IDENTIFIER: (1686..1687) \"x\"\n CLOSE_PAREN: (1687..1688) \")\"\n CLOSE_PAREN: (1688..1689) \")\"\n ATMOSPHERE: (1689..1690) \" \"\n ATMOSPHERE: (1690..1697) \"; -> #t\"\n ATMOSPHERE: (1697..1700) \"\n \"\n FORM: (1700..1735)\n OPEN_PAREN: (1700..1701) \"(\"\n SYMBOL: (1701..1704)\n IDENTIFIER: (1701..1704) \"let\"\n ATMOSPHERE: (1704..1705) \" \"\n FORM: (1705..1725)\n OPEN_PAREN: (1705..1706) \"(\"\n FORM: (1706..1724)\n OPEN_PAREN: (1706..1707) \"(\"\n SYMBOL: (1707..1708)\n IDENTIFIER: (1707..1708) \"p\"\n ATMOSPHERE: (1708..1709) \" \"\n FORM: (1709..1723)\n OPEN_PAREN: (1709..1710) \"(\"\n SYMBOL: (1710..1716)\n IDENTIFIER: (1710..1716) \"lambda\"\n ATMOSPHERE: (1716..1717) \" \"\n FORM: (1717..1720)\n OPEN_PAREN: (1717..1718) \"(\"\n SYMBOL: (1718..1719)\n IDENTIFIER: (1718..1719) \"x\"\n CLOSE_PAREN: (1719..1720) \")\"\n ATMOSPHERE: (1720..1721) \" \"\n SYMBOL: (1721..1722)\n IDENTIFIER: (1721..1722) \"x\"\n CLOSE_PAREN: (1722..1723) \")\"\n CLOSE_PAREN: (1723..1724) \")\"\n CLOSE_PAREN: (1724..1725) \")\"\n FORM: (1725..1734)\n OPEN_PAREN: (1725..1726) \"(\"\n SYMBOL: (1726..1729)\n IDENTIFIER: (1726..1729) \"eq?\"\n ATMOSPHERE: (1729..1730) \" \"\n SYMBOL: (1730..1731)\n IDENTIFIER: (1730..1731) \"p\"\n ATMOSPHERE: (1731..1732) \" \"\n SYMBOL: (1732..1733)\n IDENTIFIER: (1732..1733) \"p\"\n CLOSE_PAREN: (1733..1734) \")\"\n CLOSE_PAREN: (1734..1735) \")\"\n ATMOSPHERE: (1735..1736) \" \"\n ATMOSPHERE: (1736..1743) \"; -> #t\"\n ATMOSPHERE: (1743..1746) \"\n \"\n CLOSE_PAREN: (1746..1747) \")\"\n CLOSE_PAREN: (1747..1748) \")\"\n FORM: (1748..1757)\n OPEN_PAREN: (1748..1749) \"(\"\n SYMBOL: (1749..1756)\n IDENTIFIER: (1749..1756) \"newline\"\n CLOSE_PAREN: (1756..1757) \")\"\n ATMOSPHERE: (1757..1759) \"\n\n\"\n ATMOSPHERE: (1759..1831) \";; The `equals?` predicate should recursively calculate equivalence. For\"\n ATMOSPHERE: (1831..1832) \"\n\"\n ATMOSPHERE: (1832..1887) \";; our implementation this is close to `object.Equals`.\"\n ATMOSPHERE: (1887..1888) \"\n\"\n FORM: (1888..2267)\n OPEN_PAREN: (1888..1889) \"(\"\n SYMBOL: (1889..1896)\n IDENTIFIER: (1889..1896) \"display\"\n ATMOSPHERE: (1896..1898) \"\n \"\n FORM: (1898..2266)\n OPEN_PAREN: (1898..1899) \"(\"\n SYMBOL: (1899..1903)\n IDENTIFIER: (1899..1903) \"list\"\n ATMOSPHERE: (1903..1906) \"\n \"\n FORM: (1906..1920)\n OPEN_PAREN: (1906..1907) \"(\"\n SYMBOL: (1907..1913)\n IDENTIFIER: (1907..1913) \"equal?\"\n ATMOSPHERE: (1913..1914) \" \"\n QUOTED_DATUM: (1914..1917)\n QUOTE: (1914..1915) \"’\"\n SYMBOL: (1915..1916)\n IDENTIFIER: (1915..1916) \"a\"\n ATMOSPHERE: (1916..1917) \" \"\n QUOTED_DATUM: (1917..1919)\n QUOTE: (1917..1918) \"’\"\n SYMBOL: (1918..1919)\n IDENTIFIER: (1918..1919) \"a\"\n CLOSE_PAREN: (1919..1920) \")\"\n ATMOSPHERE: (1920..1921) \" \"\n ATMOSPHERE: (1921..1928) \"; -> #t\"\n ATMOSPHERE: (1928..1931) \"\n \"\n FORM: (1931..1949)\n OPEN_PAREN: (1931..1932) \"(\"\n SYMBOL: (1932..1938)\n IDENTIFIER: (1932..1938) \"equal?\"\n ATMOSPHERE: (1938..1939) \" \"\n QUOTED_DATUM: (1939..1944)\n QUOTE: (1939..1940) \"’\"\n FORM: (1940..1943)\n OPEN_PAREN: (1940..1941) \"(\"\n SYMBOL: (1941..1942)\n IDENTIFIER: (1941..1942) \"a\"\n CLOSE_PAREN: (1942..1943) \")\"\n ATMOSPHERE: (1943..1944) \" \"\n QUOTED_DATUM: (1944..1948)\n QUOTE: (1944..1945) \"’\"\n FORM: (1945..1948)\n OPEN_PAREN: (1945..1946) \"(\"\n SYMBOL: (1946..1947)\n IDENTIFIER: (1946..1947) \"a\"\n CLOSE_PAREN: (1947..1948) \")\"\n CLOSE_PAREN: (1948..1949) \")\"\n ATMOSPHERE: (1949..1950) \" \"\n ATMOSPHERE: (1950..1957) \"; -> #t\"\n ATMOSPHERE: (1957..1960) \"\n \"\n FORM: (1960..1989)\n OPEN_PAREN: (1960..1961) \"(\"\n SYMBOL: (1961..1967)\n IDENTIFIER: (1961..1967) \"equal?\"\n ATMOSPHERE: (1967..1968) \" \"\n QUOTED_DATUM: (1968..1978)\n QUOTE: (1968..1969) \"’\"\n FORM: (1969..1978)\n OPEN_PAREN: (1969..1970) \"(\"\n SYMBOL: (1970..1971)\n IDENTIFIER: (1970..1971) \"a\"\n ATMOSPHERE: (1971..1972) \" \"\n FORM: (1972..1975)\n OPEN_PAREN: (1972..1973) \"(\"\n SYMBOL: (1973..1974)\n IDENTIFIER: (1973..1974) \"b\"\n CLOSE_PAREN: (1974..1975) \")\"\n ATMOSPHERE: (1975..1976) \" \"\n SYMBOL: (1976..1977)\n IDENTIFIER: (1976..1977) \"c\"\n CLOSE_PAREN: (1977..1978) \")\"\n QUOTED_DATUM: (1978..1988)\n QUOTE: (1978..1979) \"’\"\n FORM: (1979..1988)\n OPEN_PAREN: (1979..1980) \"(\"\n SYMBOL: (1980..1981)\n IDENTIFIER: (1980..1981) \"a\"\n ATMOSPHERE: (1981..1982) \" \"\n FORM: (1982..1985)\n OPEN_PAREN: (1982..1983) \"(\"\n SYMBOL: (1983..1984)\n IDENTIFIER: (1983..1984) \"b\"\n CLOSE_PAREN: (1984..1985) \")\"\n ATMOSPHERE: (1985..1986) \" \"\n SYMBOL: (1986..1987)\n IDENTIFIER: (1986..1987) \"c\"\n CLOSE_PAREN: (1987..1988) \")\"\n CLOSE_PAREN: (1988..1989) \")\"\n ATMOSPHERE: (1989..1990) \" \"\n ATMOSPHERE: (1990..1997) \"; -> #t\"\n ATMOSPHERE: (1997..2000) \"\n \"\n FORM: (2000..2020)\n OPEN_PAREN: (2000..2001) \"(\"\n SYMBOL: (2001..2007)\n IDENTIFIER: (2001..2007) \"equal?\"\n ATMOSPHERE: (2007..2008) \" \"\n CONSTANT: (2008..2013)\n STRING: (2008..2013) \"\"abc\"\"\n ATMOSPHERE: (2013..2014) \" \"\n CONSTANT: (2014..2019)\n STRING: (2014..2019) \"\"abc\"\"\n CLOSE_PAREN: (2019..2020) \")\"\n ATMOSPHERE: (2020..2021) \" \"\n ATMOSPHERE: (2021..2028) \"; -> #t\"\n ATMOSPHERE: (2028..2031) \"\n \"\n FORM: (2031..2043)\n OPEN_PAREN: (2031..2032) \"(\"\n SYMBOL: (2032..2038)\n IDENTIFIER: (2032..2038) \"equal?\"\n ATMOSPHERE: (2038..2039) \" \"\n CONSTANT: (2039..2040)\n NUMBER: (2039..2040) \"2\"\n ATMOSPHERE: (2040..2041) \" \"\n CONSTANT: (2041..2042)\n NUMBER: (2041..2042) \"2\"\n CLOSE_PAREN: (2042..2043) \")\"\n ATMOSPHERE: (2043..2044) \" \"\n ATMOSPHERE: (2044..2051) \"; -> #t\"\n ATMOSPHERE: (2051..2054) \"\n \"\n FORM: (2054..2099)\n OPEN_PAREN: (2054..2055) \"(\"\n SYMBOL: (2055..2061)\n IDENTIFIER: (2055..2061) \"equal?\"\n ATMOSPHERE: (2061..2062) \" \"\n FORM: (2062..2080)\n OPEN_PAREN: (2062..2063) \"(\"\n SYMBOL: (2063..2074)\n IDENTIFIER: (2063..2074) \"make-vector\"\n ATMOSPHERE: (2074..2075) \" \"\n CONSTANT: (2075..2076)\n NUMBER: (2075..2076) \"5\"\n ATMOSPHERE: (2076..2077) \" \"\n QUOTED_DATUM: (2077..2079)\n QUOTE: (2077..2078) \"’\"\n SYMBOL: (2078..2079)\n IDENTIFIER: (2078..2079) \"a\"\n CLOSE_PAREN: (2079..2080) \")\"\n FORM: (2080..2098)\n OPEN_PAREN: (2080..2081) \"(\"\n SYMBOL: (2081..2092)\n IDENTIFIER: (2081..2092) \"make-vector\"\n ATMOSPHERE: (2092..2093) \" \"\n CONSTANT: (2093..2094)\n NUMBER: (2093..2094) \"5\"\n ATMOSPHERE: (2094..2095) \" \"\n QUOTED_DATUM: (2095..2097)\n QUOTE: (2095..2096) \"’\"\n SYMBOL: (2096..2097)\n IDENTIFIER: (2096..2097) \"a\"\n CLOSE_PAREN: (2097..2098) \")\"\n CLOSE_PAREN: (2098..2099) \")\"\n ATMOSPHERE: (2099..2100) \" \"\n ATMOSPHERE: (2100..2107) \"; -> #t\"\n ATMOSPHERE: (2107..2110) \"\n \"\n ATMOSPHERE: (2110..2149) \"; We don't support quote references yet\"\n ATMOSPHERE: (2149..2152) \"\n \"\n ATMOSPHERE: (2152..2205) \"; (equal? ’#1=(a b . #1#)’#2=(a b a b . #2#)) ; -> #t\"\n ATMOSPHERE: (2205..2208) \"\n \"\n FORM: (2208..2245)\n OPEN_PAREN: (2208..2209) \"(\"\n SYMBOL: (2209..2215)\n IDENTIFIER: (2209..2215) \"equal?\"\n ATMOSPHERE: (2215..2216) \" \"\n FORM: (2216..2230)\n OPEN_PAREN: (2216..2217) \"(\"\n SYMBOL: (2217..2223)\n IDENTIFIER: (2217..2223) \"lambda\"\n ATMOSPHERE: (2223..2224) \" \"\n FORM: (2224..2227)\n OPEN_PAREN: (2224..2225) \"(\"\n SYMBOL: (2225..2226)\n IDENTIFIER: (2225..2226) \"x\"\n CLOSE_PAREN: (2226..2227) \")\"\n ATMOSPHERE: (2227..2228) \" \"\n SYMBOL: (2228..2229)\n IDENTIFIER: (2228..2229) \"x\"\n CLOSE_PAREN: (2229..2230) \")\"\n FORM: (2230..2244)\n OPEN_PAREN: (2230..2231) \"(\"\n SYMBOL: (2231..2237)\n IDENTIFIER: (2231..2237) \"lambda\"\n ATMOSPHERE: (2237..2238) \" \"\n FORM: (2238..2241)\n OPEN_PAREN: (2238..2239) \"(\"\n SYMBOL: (2239..2240)\n IDENTIFIER: (2239..2240) \"y\"\n CLOSE_PAREN: (2240..2241) \")\"\n ATMOSPHERE: (2241..2242) \" \"\n SYMBOL: (2242..2243)\n IDENTIFIER: (2242..2243) \"y\"\n CLOSE_PAREN: (2243..2244) \")\"\n CLOSE_PAREN: (2244..2245) \")\"\n ATMOSPHERE: (2245..2246) \" \"\n ATMOSPHERE: (2246..2262) \"; -> unspecified\"\n ATMOSPHERE: (2262..2265) \"\n \"\n CLOSE_PAREN: (2265..2266) \")\"\n CLOSE_PAREN: (2266..2267) \")\"\n FORM: (2267..2276)\n OPEN_PAREN: (2267..2268) \"(\"\n SYMBOL: (2268..2275)\n IDENTIFIER: (2268..2275) \"newline\"\n CLOSE_PAREN: (2275..2276) \")\"\n ATMOSPHERE: (2276..2277) \"\n\"\n EOF: (2277..2277) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json b/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json index e2615d6..b6cd076 100644 --- a/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..1136)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n ATMOSPHERE: (42..88) \";; Implementation of the Sieve of Eratosthenes\"\n ATMOSPHERE: (88..89) \"\n\"\n ATMOSPHERE: (89..143) \";; https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes\"\n ATMOSPHERE: (143..144) \"\n\"\n FORM: (144..1030)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..151)\n IDENTIFIER: (145..151) \"define\"\n ATMOSPHERE: (151..152) \" \"\n FORM: (152..168)\n OPEN_PAREN: (152..153) \"(\"\n SYMBOL: (153..165)\n IDENTIFIER: (153..165) \"eratosthenes\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"n\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..173) \"\n \"\n ATMOSPHERE: (173..223) \";; Mark multiples of the given prime in the vector\"\n ATMOSPHERE: (223..228) \"\n \"\n FORM: (228..552)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..235)\n IDENTIFIER: (229..235) \"define\"\n ATMOSPHERE: (235..236) \" \"\n FORM: (236..261)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..251)\n IDENTIFIER: (237..251) \"mark-multiples\"\n ATMOSPHERE: (251..252) \" \"\n SYMBOL: (252..253)\n IDENTIFIER: (252..253) \"p\"\n ATMOSPHERE: (253..254) \" \"\n SYMBOL: (254..260)\n IDENTIFIER: (254..260) \"marked\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..270) \"\n \"\n FORM: (270..506)\n OPEN_PAREN: (270..271) \"(\"\n SYMBOL: (271..277)\n IDENTIFIER: (271..277) \"define\"\n ATMOSPHERE: (277..278) \" \"\n FORM: (278..308)\n OPEN_PAREN: (278..279) \"(\"\n SYMBOL: (279..296)\n IDENTIFIER: (279..296) \"mark-multiples-at\"\n ATMOSPHERE: (296..297) \" \"\n SYMBOL: (297..298)\n IDENTIFIER: (297..298) \"p\"\n ATMOSPHERE: (298..299) \" \"\n SYMBOL: (299..300)\n IDENTIFIER: (299..300) \"m\"\n ATMOSPHERE: (300..301) \" \"\n SYMBOL: (301..307)\n IDENTIFIER: (301..307) \"marked\"\n CLOSE_PAREN: (307..308) \")\"\n ATMOSPHERE: (308..321) \"\n \"\n FORM: (321..505)\n OPEN_PAREN: (321..322) \"(\"\n SYMBOL: (322..324)\n IDENTIFIER: (322..324) \"if\"\n ATMOSPHERE: (324..325) \" \"\n FORM: (325..354)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..328)\n IDENTIFIER: (326..328) \">=\"\n ATMOSPHERE: (328..329) \" \"\n SYMBOL: (329..330)\n IDENTIFIER: (329..330) \"m\"\n ATMOSPHERE: (330..331) \" \"\n FORM: (331..353)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..345)\n IDENTIFIER: (332..345) \"vector-length\"\n ATMOSPHERE: (345..346) \" \"\n SYMBOL: (346..352)\n IDENTIFIER: (346..352) \"marked\"\n CLOSE_PAREN: (352..353) \")\"\n CLOSE_PAREN: (353..354) \")\"\n ATMOSPHERE: (354..371) \"\n \"\n SYMBOL: (371..377)\n IDENTIFIER: (371..377) \"marked\"\n ATMOSPHERE: (377..394) \"\n \"\n FORM: (394..504)\n OPEN_PAREN: (394..395) \"(\"\n SYMBOL: (395..400)\n IDENTIFIER: (395..400) \"begin\"\n ATMOSPHERE: (400..421) \"\n \"\n FORM: (421..446)\n OPEN_PAREN: (421..422) \"(\"\n SYMBOL: (422..433)\n IDENTIFIER: (422..433) \"vector-set!\"\n ATMOSPHERE: (433..434) \" \"\n SYMBOL: (434..440)\n IDENTIFIER: (434..440) \"marked\"\n ATMOSPHERE: (440..441) \" \"\n SYMBOL: (441..442)\n IDENTIFIER: (441..442) \"m\"\n ATMOSPHERE: (442..443) \" \"\n CONSTANT: (443..445)\n BOOLEAN: (443..445) \"#t\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..467) \"\n \"\n FORM: (467..503)\n OPEN_PAREN: (467..468) \"(\"\n SYMBOL: (468..485)\n IDENTIFIER: (468..485) \"mark-multiples-at\"\n ATMOSPHERE: (485..486) \" \"\n SYMBOL: (486..487)\n IDENTIFIER: (486..487) \"p\"\n ATMOSPHERE: (487..488) \" \"\n FORM: (488..495)\n OPEN_PAREN: (488..489) \"(\"\n SYMBOL: (489..490)\n IDENTIFIER: (489..490) \"+\"\n ATMOSPHERE: (490..491) \" \"\n SYMBOL: (491..492)\n IDENTIFIER: (491..492) \"m\"\n ATMOSPHERE: (492..493) \" \"\n SYMBOL: (493..494)\n IDENTIFIER: (493..494) \"p\"\n CLOSE_PAREN: (494..495) \")\"\n ATMOSPHERE: (495..496) \" \"\n SYMBOL: (496..502)\n IDENTIFIER: (496..502) \"marked\"\n CLOSE_PAREN: (502..503) \")\"\n CLOSE_PAREN: (503..504) \")\"\n CLOSE_PAREN: (504..505) \")\"\n CLOSE_PAREN: (505..506) \")\"\n ATMOSPHERE: (506..515) \"\n \"\n FORM: (515..551)\n OPEN_PAREN: (515..516) \"(\"\n SYMBOL: (516..533)\n IDENTIFIER: (516..533) \"mark-multiples-at\"\n ATMOSPHERE: (533..534) \" \"\n SYMBOL: (534..535)\n IDENTIFIER: (534..535) \"p\"\n ATMOSPHERE: (535..536) \" \"\n FORM: (536..543)\n OPEN_PAREN: (536..537) \"(\"\n SYMBOL: (537..538)\n IDENTIFIER: (537..538) \"*\"\n ATMOSPHERE: (538..539) \" \"\n SYMBOL: (539..540)\n IDENTIFIER: (539..540) \"p\"\n ATMOSPHERE: (540..541) \" \"\n SYMBOL: (541..542)\n IDENTIFIER: (541..542) \"p\"\n CLOSE_PAREN: (542..543) \")\"\n ATMOSPHERE: (543..544) \" \"\n SYMBOL: (544..550)\n IDENTIFIER: (544..550) \"marked\"\n CLOSE_PAREN: (550..551) \")\"\n CLOSE_PAREN: (551..552) \")\"\n ATMOSPHERE: (552..557) \"\n \"\n ATMOSPHERE: (557..613) \";; main prime sieve. Recursively marks multiples of each\"\n ATMOSPHERE: (613..618) \"\n \"\n ATMOSPHERE: (618..667) \";; prime and builds up a list of them as it goes.\"\n ATMOSPHERE: (667..672) \"\n \"\n FORM: (672..995)\n OPEN_PAREN: (672..673) \"(\"\n SYMBOL: (673..679)\n IDENTIFIER: (673..679) \"define\"\n ATMOSPHERE: (679..680) \" \"\n FORM: (680..701)\n OPEN_PAREN: (680..681) \"(\"\n SYMBOL: (681..684)\n IDENTIFIER: (681..684) \"siv\"\n ATMOSPHERE: (684..685) \" \"\n SYMBOL: (685..686)\n IDENTIFIER: (685..686) \"p\"\n ATMOSPHERE: (686..687) \" \"\n SYMBOL: (687..693)\n IDENTIFIER: (687..693) \"marked\"\n ATMOSPHERE: (693..694) \" \"\n SYMBOL: (694..700)\n IDENTIFIER: (694..700) \"primes\"\n CLOSE_PAREN: (700..701) \")\"\n ATMOSPHERE: (701..710) \"\n \"\n FORM: (710..994)\n OPEN_PAREN: (710..711) \"(\"\n SYMBOL: (711..713)\n IDENTIFIER: (711..713) \"if\"\n ATMOSPHERE: (713..714) \" \"\n FORM: (714..743)\n OPEN_PAREN: (714..715) \"(\"\n SYMBOL: (715..717)\n IDENTIFIER: (715..717) \">=\"\n ATMOSPHERE: (717..718) \" \"\n SYMBOL: (718..719)\n IDENTIFIER: (718..719) \"p\"\n ATMOSPHERE: (719..720) \" \"\n FORM: (720..742)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..734)\n IDENTIFIER: (721..734) \"vector-length\"\n ATMOSPHERE: (734..735) \" \"\n SYMBOL: (735..741)\n IDENTIFIER: (735..741) \"marked\"\n CLOSE_PAREN: (741..742) \")\"\n CLOSE_PAREN: (742..743) \")\"\n ATMOSPHERE: (743..756) \"\n \"\n SYMBOL: (756..762)\n IDENTIFIER: (756..762) \"primes\"\n ATMOSPHERE: (762..775) \"\n \"\n ATMOSPHERE: (775..838) \";; If the item is marked, it is a multiple of some other prime.\"\n ATMOSPHERE: (838..851) \"\n \"\n FORM: (851..993)\n OPEN_PAREN: (851..852) \"(\"\n SYMBOL: (852..854)\n IDENTIFIER: (852..854) \"if\"\n ATMOSPHERE: (854..855) \" \"\n FORM: (855..876)\n OPEN_PAREN: (855..856) \"(\"\n SYMBOL: (856..866)\n IDENTIFIER: (856..866) \"vector-ref\"\n ATMOSPHERE: (866..867) \" \"\n SYMBOL: (867..873)\n IDENTIFIER: (867..873) \"marked\"\n ATMOSPHERE: (873..874) \" \"\n SYMBOL: (874..875)\n IDENTIFIER: (874..875) \"p\"\n CLOSE_PAREN: (875..876) \")\"\n ATMOSPHERE: (876..893) \"\n \"\n FORM: (893..920)\n OPEN_PAREN: (893..894) \"(\"\n SYMBOL: (894..897)\n IDENTIFIER: (894..897) \"siv\"\n ATMOSPHERE: (897..898) \" \"\n FORM: (898..905)\n OPEN_PAREN: (898..899) \"(\"\n SYMBOL: (899..900)\n IDENTIFIER: (899..900) \"+\"\n ATMOSPHERE: (900..901) \" \"\n CONSTANT: (901..902)\n NUMBER: (901..902) \"1\"\n ATMOSPHERE: (902..903) \" \"\n SYMBOL: (903..904)\n IDENTIFIER: (903..904) \"p\"\n CLOSE_PAREN: (904..905) \")\"\n ATMOSPHERE: (905..906) \" \"\n SYMBOL: (906..912)\n IDENTIFIER: (906..912) \"marked\"\n ATMOSPHERE: (912..913) \" \"\n SYMBOL: (913..919)\n IDENTIFIER: (913..919) \"primes\"\n CLOSE_PAREN: (919..920) \")\"\n ATMOSPHERE: (920..937) \"\n \"\n FORM: (937..992)\n OPEN_PAREN: (937..938) \"(\"\n SYMBOL: (938..941)\n IDENTIFIER: (938..941) \"siv\"\n ATMOSPHERE: (941..942) \" \"\n FORM: (942..949)\n OPEN_PAREN: (942..943) \"(\"\n SYMBOL: (943..944)\n IDENTIFIER: (943..944) \"+\"\n ATMOSPHERE: (944..945) \" \"\n CONSTANT: (945..946)\n NUMBER: (945..946) \"1\"\n ATMOSPHERE: (946..947) \" \"\n SYMBOL: (947..948)\n IDENTIFIER: (947..948) \"p\"\n CLOSE_PAREN: (948..949) \")\"\n ATMOSPHERE: (949..950) \" \"\n FORM: (950..975)\n OPEN_PAREN: (950..951) \"(\"\n SYMBOL: (951..965)\n IDENTIFIER: (951..965) \"mark-multiples\"\n ATMOSPHERE: (965..966) \" \"\n SYMBOL: (966..967)\n IDENTIFIER: (966..967) \"p\"\n ATMOSPHERE: (967..968) \" \"\n SYMBOL: (968..974)\n IDENTIFIER: (968..974) \"marked\"\n CLOSE_PAREN: (974..975) \")\"\n ATMOSPHERE: (975..976) \" \"\n FORM: (976..991)\n OPEN_PAREN: (976..977) \"(\"\n SYMBOL: (977..981)\n IDENTIFIER: (977..981) \"cons\"\n ATMOSPHERE: (981..982) \" \"\n SYMBOL: (982..983)\n IDENTIFIER: (982..983) \"p\"\n ATMOSPHERE: (983..984) \" \"\n SYMBOL: (984..990)\n IDENTIFIER: (984..990) \"primes\"\n CLOSE_PAREN: (990..991) \")\"\n CLOSE_PAREN: (991..992) \")\"\n CLOSE_PAREN: (992..993) \")\"\n CLOSE_PAREN: (993..994) \")\"\n CLOSE_PAREN: (994..995) \")\"\n ATMOSPHERE: (995..1000) \"\n \"\n FORM: (1000..1029)\n OPEN_PAREN: (1000..1001) \"(\"\n SYMBOL: (1001..1004)\n IDENTIFIER: (1001..1004) \"siv\"\n ATMOSPHERE: (1004..1005) \" \"\n CONSTANT: (1005..1006)\n NUMBER: (1005..1006) \"2\"\n ATMOSPHERE: (1006..1007) \" \"\n FORM: (1007..1025)\n OPEN_PAREN: (1007..1008) \"(\"\n SYMBOL: (1008..1019)\n IDENTIFIER: (1008..1019) \"make-vector\"\n ATMOSPHERE: (1019..1020) \" \"\n SYMBOL: (1020..1021)\n IDENTIFIER: (1020..1021) \"n\"\n ATMOSPHERE: (1021..1022) \" \"\n CONSTANT: (1022..1024)\n BOOLEAN: (1022..1024) \"#f\"\n CLOSE_PAREN: (1024..1025) \")\"\n ATMOSPHERE: (1025..1026) \" \"\n FORM: (1026..1028)\n OPEN_PAREN: (1026..1027) \"(\"\n CLOSE_PAREN: (1027..1028) \")\"\n CLOSE_PAREN: (1028..1029) \")\"\n CLOSE_PAREN: (1029..1030) \")\"\n ATMOSPHERE: (1030..1032) \"\n\n\"\n ATMOSPHERE: (1032..1069) \";; ;; Display the first 10,000 primes\"\n ATMOSPHERE: (1069..1070) \"\n\"\n ATMOSPHERE: (1070..1104) \";; (display (eratosthenes 104730))\"\n ATMOSPHERE: (1104..1105) \"\n\"\n FORM: (1105..1135)\n OPEN_PAREN: (1105..1106) \"(\"\n SYMBOL: (1106..1113)\n IDENTIFIER: (1106..1113) \"display\"\n ATMOSPHERE: (1113..1114) \" \"\n FORM: (1114..1134)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1127)\n IDENTIFIER: (1115..1127) \"eratosthenes\"\n ATMOSPHERE: (1127..1128) \" \"\n CONSTANT: (1128..1133)\n NUMBER: (1128..1133) \"10000\"\n CLOSE_PAREN: (1133..1134) \")\"\n CLOSE_PAREN: (1134..1135) \")\"\n ATMOSPHERE: (1135..1136) \"\n\"\n" + "Root": "PROGRAM: (0..1136)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n ATMOSPHERE: (42..88) \";; Implementation of the Sieve of Eratosthenes\"\n ATMOSPHERE: (88..89) \"\n\"\n ATMOSPHERE: (89..143) \";; https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes\"\n ATMOSPHERE: (143..144) \"\n\"\n FORM: (144..1030)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..151)\n IDENTIFIER: (145..151) \"define\"\n ATMOSPHERE: (151..152) \" \"\n FORM: (152..168)\n OPEN_PAREN: (152..153) \"(\"\n SYMBOL: (153..165)\n IDENTIFIER: (153..165) \"eratosthenes\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"n\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..173) \"\n \"\n ATMOSPHERE: (173..223) \";; Mark multiples of the given prime in the vector\"\n ATMOSPHERE: (223..228) \"\n \"\n FORM: (228..552)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..235)\n IDENTIFIER: (229..235) \"define\"\n ATMOSPHERE: (235..236) \" \"\n FORM: (236..261)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..251)\n IDENTIFIER: (237..251) \"mark-multiples\"\n ATMOSPHERE: (251..252) \" \"\n SYMBOL: (252..253)\n IDENTIFIER: (252..253) \"p\"\n ATMOSPHERE: (253..254) \" \"\n SYMBOL: (254..260)\n IDENTIFIER: (254..260) \"marked\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..270) \"\n \"\n FORM: (270..506)\n OPEN_PAREN: (270..271) \"(\"\n SYMBOL: (271..277)\n IDENTIFIER: (271..277) \"define\"\n ATMOSPHERE: (277..278) \" \"\n FORM: (278..308)\n OPEN_PAREN: (278..279) \"(\"\n SYMBOL: (279..296)\n IDENTIFIER: (279..296) \"mark-multiples-at\"\n ATMOSPHERE: (296..297) \" \"\n SYMBOL: (297..298)\n IDENTIFIER: (297..298) \"p\"\n ATMOSPHERE: (298..299) \" \"\n SYMBOL: (299..300)\n IDENTIFIER: (299..300) \"m\"\n ATMOSPHERE: (300..301) \" \"\n SYMBOL: (301..307)\n IDENTIFIER: (301..307) \"marked\"\n CLOSE_PAREN: (307..308) \")\"\n ATMOSPHERE: (308..321) \"\n \"\n FORM: (321..505)\n OPEN_PAREN: (321..322) \"(\"\n SYMBOL: (322..324)\n IDENTIFIER: (322..324) \"if\"\n ATMOSPHERE: (324..325) \" \"\n FORM: (325..354)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..328)\n IDENTIFIER: (326..328) \">=\"\n ATMOSPHERE: (328..329) \" \"\n SYMBOL: (329..330)\n IDENTIFIER: (329..330) \"m\"\n ATMOSPHERE: (330..331) \" \"\n FORM: (331..353)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..345)\n IDENTIFIER: (332..345) \"vector-length\"\n ATMOSPHERE: (345..346) \" \"\n SYMBOL: (346..352)\n IDENTIFIER: (346..352) \"marked\"\n CLOSE_PAREN: (352..353) \")\"\n CLOSE_PAREN: (353..354) \")\"\n ATMOSPHERE: (354..371) \"\n \"\n SYMBOL: (371..377)\n IDENTIFIER: (371..377) \"marked\"\n ATMOSPHERE: (377..394) \"\n \"\n FORM: (394..504)\n OPEN_PAREN: (394..395) \"(\"\n SYMBOL: (395..400)\n IDENTIFIER: (395..400) \"begin\"\n ATMOSPHERE: (400..421) \"\n \"\n FORM: (421..446)\n OPEN_PAREN: (421..422) \"(\"\n SYMBOL: (422..433)\n IDENTIFIER: (422..433) \"vector-set!\"\n ATMOSPHERE: (433..434) \" \"\n SYMBOL: (434..440)\n IDENTIFIER: (434..440) \"marked\"\n ATMOSPHERE: (440..441) \" \"\n SYMBOL: (441..442)\n IDENTIFIER: (441..442) \"m\"\n ATMOSPHERE: (442..443) \" \"\n CONSTANT: (443..445)\n BOOLEAN: (443..445) \"#t\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..467) \"\n \"\n FORM: (467..503)\n OPEN_PAREN: (467..468) \"(\"\n SYMBOL: (468..485)\n IDENTIFIER: (468..485) \"mark-multiples-at\"\n ATMOSPHERE: (485..486) \" \"\n SYMBOL: (486..487)\n IDENTIFIER: (486..487) \"p\"\n ATMOSPHERE: (487..488) \" \"\n FORM: (488..495)\n OPEN_PAREN: (488..489) \"(\"\n SYMBOL: (489..490)\n IDENTIFIER: (489..490) \"+\"\n ATMOSPHERE: (490..491) \" \"\n SYMBOL: (491..492)\n IDENTIFIER: (491..492) \"m\"\n ATMOSPHERE: (492..493) \" \"\n SYMBOL: (493..494)\n IDENTIFIER: (493..494) \"p\"\n CLOSE_PAREN: (494..495) \")\"\n ATMOSPHERE: (495..496) \" \"\n SYMBOL: (496..502)\n IDENTIFIER: (496..502) \"marked\"\n CLOSE_PAREN: (502..503) \")\"\n CLOSE_PAREN: (503..504) \")\"\n CLOSE_PAREN: (504..505) \")\"\n CLOSE_PAREN: (505..506) \")\"\n ATMOSPHERE: (506..515) \"\n \"\n FORM: (515..551)\n OPEN_PAREN: (515..516) \"(\"\n SYMBOL: (516..533)\n IDENTIFIER: (516..533) \"mark-multiples-at\"\n ATMOSPHERE: (533..534) \" \"\n SYMBOL: (534..535)\n IDENTIFIER: (534..535) \"p\"\n ATMOSPHERE: (535..536) \" \"\n FORM: (536..543)\n OPEN_PAREN: (536..537) \"(\"\n SYMBOL: (537..538)\n IDENTIFIER: (537..538) \"*\"\n ATMOSPHERE: (538..539) \" \"\n SYMBOL: (539..540)\n IDENTIFIER: (539..540) \"p\"\n ATMOSPHERE: (540..541) \" \"\n SYMBOL: (541..542)\n IDENTIFIER: (541..542) \"p\"\n CLOSE_PAREN: (542..543) \")\"\n ATMOSPHERE: (543..544) \" \"\n SYMBOL: (544..550)\n IDENTIFIER: (544..550) \"marked\"\n CLOSE_PAREN: (550..551) \")\"\n CLOSE_PAREN: (551..552) \")\"\n ATMOSPHERE: (552..557) \"\n \"\n ATMOSPHERE: (557..613) \";; main prime sieve. Recursively marks multiples of each\"\n ATMOSPHERE: (613..618) \"\n \"\n ATMOSPHERE: (618..667) \";; prime and builds up a list of them as it goes.\"\n ATMOSPHERE: (667..672) \"\n \"\n FORM: (672..995)\n OPEN_PAREN: (672..673) \"(\"\n SYMBOL: (673..679)\n IDENTIFIER: (673..679) \"define\"\n ATMOSPHERE: (679..680) \" \"\n FORM: (680..701)\n OPEN_PAREN: (680..681) \"(\"\n SYMBOL: (681..684)\n IDENTIFIER: (681..684) \"siv\"\n ATMOSPHERE: (684..685) \" \"\n SYMBOL: (685..686)\n IDENTIFIER: (685..686) \"p\"\n ATMOSPHERE: (686..687) \" \"\n SYMBOL: (687..693)\n IDENTIFIER: (687..693) \"marked\"\n ATMOSPHERE: (693..694) \" \"\n SYMBOL: (694..700)\n IDENTIFIER: (694..700) \"primes\"\n CLOSE_PAREN: (700..701) \")\"\n ATMOSPHERE: (701..710) \"\n \"\n FORM: (710..994)\n OPEN_PAREN: (710..711) \"(\"\n SYMBOL: (711..713)\n IDENTIFIER: (711..713) \"if\"\n ATMOSPHERE: (713..714) \" \"\n FORM: (714..743)\n OPEN_PAREN: (714..715) \"(\"\n SYMBOL: (715..717)\n IDENTIFIER: (715..717) \">=\"\n ATMOSPHERE: (717..718) \" \"\n SYMBOL: (718..719)\n IDENTIFIER: (718..719) \"p\"\n ATMOSPHERE: (719..720) \" \"\n FORM: (720..742)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..734)\n IDENTIFIER: (721..734) \"vector-length\"\n ATMOSPHERE: (734..735) \" \"\n SYMBOL: (735..741)\n IDENTIFIER: (735..741) \"marked\"\n CLOSE_PAREN: (741..742) \")\"\n CLOSE_PAREN: (742..743) \")\"\n ATMOSPHERE: (743..756) \"\n \"\n SYMBOL: (756..762)\n IDENTIFIER: (756..762) \"primes\"\n ATMOSPHERE: (762..775) \"\n \"\n ATMOSPHERE: (775..838) \";; If the item is marked, it is a multiple of some other prime.\"\n ATMOSPHERE: (838..851) \"\n \"\n FORM: (851..993)\n OPEN_PAREN: (851..852) \"(\"\n SYMBOL: (852..854)\n IDENTIFIER: (852..854) \"if\"\n ATMOSPHERE: (854..855) \" \"\n FORM: (855..876)\n OPEN_PAREN: (855..856) \"(\"\n SYMBOL: (856..866)\n IDENTIFIER: (856..866) \"vector-ref\"\n ATMOSPHERE: (866..867) \" \"\n SYMBOL: (867..873)\n IDENTIFIER: (867..873) \"marked\"\n ATMOSPHERE: (873..874) \" \"\n SYMBOL: (874..875)\n IDENTIFIER: (874..875) \"p\"\n CLOSE_PAREN: (875..876) \")\"\n ATMOSPHERE: (876..893) \"\n \"\n FORM: (893..920)\n OPEN_PAREN: (893..894) \"(\"\n SYMBOL: (894..897)\n IDENTIFIER: (894..897) \"siv\"\n ATMOSPHERE: (897..898) \" \"\n FORM: (898..905)\n OPEN_PAREN: (898..899) \"(\"\n SYMBOL: (899..900)\n IDENTIFIER: (899..900) \"+\"\n ATMOSPHERE: (900..901) \" \"\n CONSTANT: (901..902)\n NUMBER: (901..902) \"1\"\n ATMOSPHERE: (902..903) \" \"\n SYMBOL: (903..904)\n IDENTIFIER: (903..904) \"p\"\n CLOSE_PAREN: (904..905) \")\"\n ATMOSPHERE: (905..906) \" \"\n SYMBOL: (906..912)\n IDENTIFIER: (906..912) \"marked\"\n ATMOSPHERE: (912..913) \" \"\n SYMBOL: (913..919)\n IDENTIFIER: (913..919) \"primes\"\n CLOSE_PAREN: (919..920) \")\"\n ATMOSPHERE: (920..937) \"\n \"\n FORM: (937..992)\n OPEN_PAREN: (937..938) \"(\"\n SYMBOL: (938..941)\n IDENTIFIER: (938..941) \"siv\"\n ATMOSPHERE: (941..942) \" \"\n FORM: (942..949)\n OPEN_PAREN: (942..943) \"(\"\n SYMBOL: (943..944)\n IDENTIFIER: (943..944) \"+\"\n ATMOSPHERE: (944..945) \" \"\n CONSTANT: (945..946)\n NUMBER: (945..946) \"1\"\n ATMOSPHERE: (946..947) \" \"\n SYMBOL: (947..948)\n IDENTIFIER: (947..948) \"p\"\n CLOSE_PAREN: (948..949) \")\"\n ATMOSPHERE: (949..950) \" \"\n FORM: (950..975)\n OPEN_PAREN: (950..951) \"(\"\n SYMBOL: (951..965)\n IDENTIFIER: (951..965) \"mark-multiples\"\n ATMOSPHERE: (965..966) \" \"\n SYMBOL: (966..967)\n IDENTIFIER: (966..967) \"p\"\n ATMOSPHERE: (967..968) \" \"\n SYMBOL: (968..974)\n IDENTIFIER: (968..974) \"marked\"\n CLOSE_PAREN: (974..975) \")\"\n ATMOSPHERE: (975..976) \" \"\n FORM: (976..991)\n OPEN_PAREN: (976..977) \"(\"\n SYMBOL: (977..981)\n IDENTIFIER: (977..981) \"cons\"\n ATMOSPHERE: (981..982) \" \"\n SYMBOL: (982..983)\n IDENTIFIER: (982..983) \"p\"\n ATMOSPHERE: (983..984) \" \"\n SYMBOL: (984..990)\n IDENTIFIER: (984..990) \"primes\"\n CLOSE_PAREN: (990..991) \")\"\n CLOSE_PAREN: (991..992) \")\"\n CLOSE_PAREN: (992..993) \")\"\n CLOSE_PAREN: (993..994) \")\"\n CLOSE_PAREN: (994..995) \")\"\n ATMOSPHERE: (995..1000) \"\n \"\n FORM: (1000..1029)\n OPEN_PAREN: (1000..1001) \"(\"\n SYMBOL: (1001..1004)\n IDENTIFIER: (1001..1004) \"siv\"\n ATMOSPHERE: (1004..1005) \" \"\n CONSTANT: (1005..1006)\n NUMBER: (1005..1006) \"2\"\n ATMOSPHERE: (1006..1007) \" \"\n FORM: (1007..1025)\n OPEN_PAREN: (1007..1008) \"(\"\n SYMBOL: (1008..1019)\n IDENTIFIER: (1008..1019) \"make-vector\"\n ATMOSPHERE: (1019..1020) \" \"\n SYMBOL: (1020..1021)\n IDENTIFIER: (1020..1021) \"n\"\n ATMOSPHERE: (1021..1022) \" \"\n CONSTANT: (1022..1024)\n BOOLEAN: (1022..1024) \"#f\"\n CLOSE_PAREN: (1024..1025) \")\"\n ATMOSPHERE: (1025..1026) \" \"\n FORM: (1026..1028)\n OPEN_PAREN: (1026..1027) \"(\"\n CLOSE_PAREN: (1027..1028) \")\"\n CLOSE_PAREN: (1028..1029) \")\"\n CLOSE_PAREN: (1029..1030) \")\"\n ATMOSPHERE: (1030..1032) \"\n\n\"\n ATMOSPHERE: (1032..1069) \";; ;; Display the first 10,000 primes\"\n ATMOSPHERE: (1069..1070) \"\n\"\n ATMOSPHERE: (1070..1104) \";; (display (eratosthenes 104730))\"\n ATMOSPHERE: (1104..1105) \"\n\"\n FORM: (1105..1135)\n OPEN_PAREN: (1105..1106) \"(\"\n SYMBOL: (1106..1113)\n IDENTIFIER: (1106..1113) \"display\"\n ATMOSPHERE: (1113..1114) \" \"\n FORM: (1114..1134)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1127)\n IDENTIFIER: (1115..1127) \"eratosthenes\"\n ATMOSPHERE: (1127..1128) \" \"\n CONSTANT: (1128..1133)\n NUMBER: (1128..1133) \"10000\"\n CLOSE_PAREN: (1133..1134) \")\"\n CLOSE_PAREN: (1134..1135) \")\"\n ATMOSPHERE: (1135..1136) \"\n\"\n EOF: (1136..1136) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fact.scm.json b/test/Feersum.Tests/_snapshots/Parse_fact.scm.json index d961ff7..ef8d389 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fact.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fact.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..143)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..115)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..58)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..55)\n IDENTIFIER: (51..55) \"fact\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"n\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..63) \"\n \"\n FORM: (63..114)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"=\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"n\"\n ATMOSPHERE: (71..72) \" \"\n CONSTANT: (72..73)\n NUMBER: (72..73) \"0\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..83) \"\n \"\n CONSTANT: (83..84)\n NUMBER: (83..84) \"1\"\n ATMOSPHERE: (84..93) \"\n \"\n FORM: (93..113)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..95)\n IDENTIFIER: (94..95) \"*\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..112)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..103)\n IDENTIFIER: (99..103) \"fact\"\n ATMOSPHERE: (103..104) \" \"\n FORM: (104..111)\n OPEN_PAREN: (104..105) \"(\"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"-\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"n\"\n ATMOSPHERE: (108..109) \" \"\n CONSTANT: (109..110)\n NUMBER: (109..110) \"1\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..135)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..125)\n IDENTIFIER: (118..125) \"display\"\n ATMOSPHERE: (125..126) \" \"\n FORM: (126..134)\n OPEN_PAREN: (126..127) \"(\"\n SYMBOL: (127..131)\n IDENTIFIER: (127..131) \"fact\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"4\"\n CLOSE_PAREN: (133..134) \")\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n ATMOSPHERE: (136..143) \"; => 24\"\n" + "Root": "PROGRAM: (0..143)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..115)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..58)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..55)\n IDENTIFIER: (51..55) \"fact\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"n\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..63) \"\n \"\n FORM: (63..114)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"=\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"n\"\n ATMOSPHERE: (71..72) \" \"\n CONSTANT: (72..73)\n NUMBER: (72..73) \"0\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..83) \"\n \"\n CONSTANT: (83..84)\n NUMBER: (83..84) \"1\"\n ATMOSPHERE: (84..93) \"\n \"\n FORM: (93..113)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..95)\n IDENTIFIER: (94..95) \"*\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..112)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..103)\n IDENTIFIER: (99..103) \"fact\"\n ATMOSPHERE: (103..104) \" \"\n FORM: (104..111)\n OPEN_PAREN: (104..105) \"(\"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"-\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"n\"\n ATMOSPHERE: (108..109) \" \"\n CONSTANT: (109..110)\n NUMBER: (109..110) \"1\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..135)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..125)\n IDENTIFIER: (118..125) \"display\"\n ATMOSPHERE: (125..126) \" \"\n FORM: (126..134)\n OPEN_PAREN: (126..127) \"(\"\n SYMBOL: (127..131)\n IDENTIFIER: (127..131) \"fact\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"4\"\n CLOSE_PAREN: (133..134) \")\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n ATMOSPHERE: (136..143) \"; => 24\"\n EOF: (143..143) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json index 6db5571..51a9a37 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..133)\n ATMOSPHERE: (0..12) \"; expectfail\"\n ATMOSPHERE: (12..13) \"\n\"\n FORM: (13..25)\n OPEN_PAREN: (13..14) \"(\"\n SYMBOL: (14..20)\n IDENTIFIER: (14..20) \"define\"\n ATMOSPHERE: (20..21) \" \"\n SYMBOL: (21..22)\n IDENTIFIER: (21..22) \"n\"\n ATMOSPHERE: (22..23) \" \"\n CONSTANT: (23..24)\n NUMBER: (23..24) \"1\"\n CLOSE_PAREN: (24..25) \")\"\n ATMOSPHERE: (25..26) \"\n\"\n FORM: (26..133)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"lambda\"\n ATMOSPHERE: (33..34) \" \"\n FORM: (34..36)\n OPEN_PAREN: (34..35) \"(\"\n CLOSE_PAREN: (35..36) \")\"\n ATMOSPHERE: (36..45) \"\n \"\n FORM: (45..132)\n OPEN_PAREN: (45..46) \"(\"\n SYMBOL: (46..50)\n IDENTIFIER: (46..50) \"set!\"\n ATMOSPHERE: (50..51) \" \"\n SYMBOL: (51..52)\n IDENTIFIER: (51..52) \"n\"\n ATMOSPHERE: (52..53) \" \"\n FORM: (53..60)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..55)\n IDENTIFIER: (54..55) \"+\"\n ATMOSPHERE: (55..56) \" \"\n CONSTANT: (56..57)\n NUMBER: (56..57) \"1\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"n\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..61) \" \"\n ATMOSPHERE: (61..121) \"; note the `)` is on the next line. This `set!` is malformed\"\n ATMOSPHERE: (121..130) \"\n \"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"n\"\n CLOSE_PAREN: (131..132) \")\"\n CLOSE_PAREN: (132..133) \")\"\n" + "Root": "PROGRAM: (0..133)\n ATMOSPHERE: (0..12) \"; expectfail\"\n ATMOSPHERE: (12..13) \"\n\"\n FORM: (13..25)\n OPEN_PAREN: (13..14) \"(\"\n SYMBOL: (14..20)\n IDENTIFIER: (14..20) \"define\"\n ATMOSPHERE: (20..21) \" \"\n SYMBOL: (21..22)\n IDENTIFIER: (21..22) \"n\"\n ATMOSPHERE: (22..23) \" \"\n CONSTANT: (23..24)\n NUMBER: (23..24) \"1\"\n CLOSE_PAREN: (24..25) \")\"\n ATMOSPHERE: (25..26) \"\n\"\n FORM: (26..133)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"lambda\"\n ATMOSPHERE: (33..34) \" \"\n FORM: (34..36)\n OPEN_PAREN: (34..35) \"(\"\n CLOSE_PAREN: (35..36) \")\"\n ATMOSPHERE: (36..45) \"\n \"\n FORM: (45..132)\n OPEN_PAREN: (45..46) \"(\"\n SYMBOL: (46..50)\n IDENTIFIER: (46..50) \"set!\"\n ATMOSPHERE: (50..51) \" \"\n SYMBOL: (51..52)\n IDENTIFIER: (51..52) \"n\"\n ATMOSPHERE: (52..53) \" \"\n FORM: (53..60)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..55)\n IDENTIFIER: (54..55) \"+\"\n ATMOSPHERE: (55..56) \" \"\n CONSTANT: (56..57)\n NUMBER: (56..57) \"1\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"n\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..61) \" \"\n ATMOSPHERE: (61..121) \"; note the `)` is on the next line. This `set!` is malformed\"\n ATMOSPHERE: (121..130) \"\n \"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"n\"\n CLOSE_PAREN: (131..132) \")\"\n CLOSE_PAREN: (132..133) \")\"\n EOF: (133..133) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json index 4e23512..f63ae72 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..112)\n FORM: (0..29)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..28)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..12)\n IDENTIFIER: (9..12) \"not\"\n ATMOSPHERE: (12..13) \" \"\n SYMBOL: (13..14)\n IDENTIFIER: (13..14) \"a\"\n ATMOSPHERE: (14..15) \" \"\n SYMBOL: (15..19)\n IDENTIFIER: (15..19) \"real\"\n ATMOSPHERE: (19..20) \" \"\n SYMBOL: (20..27)\n IDENTIFIER: (20..27) \"library\"\n CLOSE_PAREN: (27..28) \")\"\n CLOSE_PAREN: (28..29) \")\"\n ATMOSPHERE: (29..30) \"\n\"\n FORM: (30..47)\n OPEN_PAREN: (30..31) \"(\"\n SYMBOL: (31..37)\n IDENTIFIER: (31..37) \"import\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..46)\n IDENTIFIER: (38..46) \"badthing\"\n CLOSE_PAREN: (46..47) \")\"\n ATMOSPHERE: (47..48) \"\n\"\n FORM: (48..112)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..63)\n IDENTIFIER: (49..63) \"define-library\"\n ATMOSPHERE: (63..64) \" \"\n FORM: (64..70)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..69)\n IDENTIFIER: (65..69) \"test\"\n CLOSE_PAREN: (69..70) \")\"\n ATMOSPHERE: (70..75) \"\n \"\n FORM: (75..111)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..82)\n IDENTIFIER: (76..82) \"import\"\n ATMOSPHERE: (82..83) \" \"\n FORM: (83..110)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..88)\n IDENTIFIER: (84..88) \"only\"\n ATMOSPHERE: (88..89) \" \"\n FORM: (89..103)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..94)\n IDENTIFIER: (90..94) \"test\"\n ATMOSPHERE: (94..95) \" \"\n SYMBOL: (95..102)\n IDENTIFIER: (95..102) \"greeter\"\n CLOSE_PAREN: (102..103) \")\"\n ATMOSPHERE: (103..104) \" \"\n SYMBOL: (104..109)\n IDENTIFIER: (104..109) \"greet\"\n CLOSE_PAREN: (109..110) \")\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n" + "Root": "PROGRAM: (0..112)\n FORM: (0..29)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..28)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..12)\n IDENTIFIER: (9..12) \"not\"\n ATMOSPHERE: (12..13) \" \"\n SYMBOL: (13..14)\n IDENTIFIER: (13..14) \"a\"\n ATMOSPHERE: (14..15) \" \"\n SYMBOL: (15..19)\n IDENTIFIER: (15..19) \"real\"\n ATMOSPHERE: (19..20) \" \"\n SYMBOL: (20..27)\n IDENTIFIER: (20..27) \"library\"\n CLOSE_PAREN: (27..28) \")\"\n CLOSE_PAREN: (28..29) \")\"\n ATMOSPHERE: (29..30) \"\n\"\n FORM: (30..47)\n OPEN_PAREN: (30..31) \"(\"\n SYMBOL: (31..37)\n IDENTIFIER: (31..37) \"import\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..46)\n IDENTIFIER: (38..46) \"badthing\"\n CLOSE_PAREN: (46..47) \")\"\n ATMOSPHERE: (47..48) \"\n\"\n FORM: (48..112)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..63)\n IDENTIFIER: (49..63) \"define-library\"\n ATMOSPHERE: (63..64) \" \"\n FORM: (64..70)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..69)\n IDENTIFIER: (65..69) \"test\"\n CLOSE_PAREN: (69..70) \")\"\n ATMOSPHERE: (70..75) \"\n \"\n FORM: (75..111)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..82)\n IDENTIFIER: (76..82) \"import\"\n ATMOSPHERE: (82..83) \" \"\n FORM: (83..110)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..88)\n IDENTIFIER: (84..88) \"only\"\n ATMOSPHERE: (88..89) \" \"\n FORM: (89..103)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..94)\n IDENTIFIER: (90..94) \"test\"\n ATMOSPHERE: (94..95) \" \"\n SYMBOL: (95..102)\n IDENTIFIER: (95..102) \"greeter\"\n CLOSE_PAREN: (102..103) \")\"\n ATMOSPHERE: (103..104) \" \"\n SYMBOL: (104..109)\n IDENTIFIER: (104..109) \"greet\"\n CLOSE_PAREN: (109..110) \")\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n EOF: (112..112) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json index a62e520..e248f15 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..389)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..24) \"\n\n\"\n FORM: (24..246)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"letrec\"\n ATMOSPHERE: (31..32) \" \"\n FORM: (32..124)\n OPEN_PAREN: (32..33) \"(\"\n FORM: (33..53)\n OPEN_PAREN: (33..34) \"(\"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"first\"\n ATMOSPHERE: (39..40) \" \"\n FORM: (40..52)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..42)\n IDENTIFIER: (41..42) \"+\"\n ATMOSPHERE: (42..43) \" \"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"second\"\n ATMOSPHERE: (49..50) \" \"\n CONSTANT: (50..51)\n NUMBER: (50..51) \"1\"\n CLOSE_PAREN: (51..52) \")\"\n CLOSE_PAREN: (52..53) \")\"\n ATMOSPHERE: (53..54) \" \"\n ATMOSPHERE: (54..104) \"; Can't reference second here, it isn't intialised\"\n ATMOSPHERE: (104..109) \"\n \"\n FORM: (109..123)\n OPEN_PAREN: (109..110) \"(\"\n SYMBOL: (110..116)\n IDENTIFIER: (110..116) \"second\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..122)\n IDENTIFIER: (117..122) \"first\"\n CLOSE_PAREN: (122..123) \")\"\n CLOSE_PAREN: (123..124) \")\"\n ATMOSPHERE: (124..135) \" \"\n ATMOSPHERE: (135..179) \"; Can't reference first here, initialisation\"\n ATMOSPHERE: (179..210) \"\n \"\n ATMOSPHERE: (210..234) \"; order isn't specified.\"\n ATMOSPHERE: (234..239) \"\n \"\n SYMBOL: (239..245)\n IDENTIFIER: (239..245) \"second\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..247) \"\n\"\n FORM: (247..388)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..255)\n IDENTIFIER: (248..255) \"letrec*\"\n ATMOSPHERE: (255..256) \" \"\n FORM: (256..340)\n OPEN_PAREN: (256..257) \"(\"\n FORM: (257..279)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..263)\n IDENTIFIER: (258..263) \"first\"\n ATMOSPHERE: (263..264) \" \"\n FORM: (264..278)\n OPEN_PAREN: (264..265) \"(\"\n SYMBOL: (265..266)\n IDENTIFIER: (265..266) \"-\"\n ATMOSPHERE: (266..267) \" \"\n SYMBOL: (267..273)\n IDENTIFIER: (267..273) \"second\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..277)\n NUMBER: (274..277) \"100\"\n CLOSE_PAREN: (277..278) \")\"\n CLOSE_PAREN: (278..279) \")\"\n ATMOSPHERE: (279..280) \" \"\n ATMOSPHERE: (280..320) \"; Can't referenc second, not initialised\"\n ATMOSPHERE: (320..325) \"\n \"\n FORM: (325..339)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..332)\n IDENTIFIER: (326..332) \"second\"\n ATMOSPHERE: (332..333) \" \"\n SYMBOL: (333..338)\n IDENTIFIER: (333..338) \"first\"\n CLOSE_PAREN: (338..339) \")\"\n CLOSE_PAREN: (339..340) \")\"\n ATMOSPHERE: (340..354) \" \"\n ATMOSPHERE: (354..376) \"; This is actually OK.\"\n ATMOSPHERE: (376..381) \"\n \"\n SYMBOL: (381..387)\n IDENTIFIER: (381..387) \"second\"\n CLOSE_PAREN: (387..388) \")\"\n ATMOSPHERE: (388..389) \"\n\"\n" + "Root": "PROGRAM: (0..389)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..24) \"\n\n\"\n FORM: (24..246)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"letrec\"\n ATMOSPHERE: (31..32) \" \"\n FORM: (32..124)\n OPEN_PAREN: (32..33) \"(\"\n FORM: (33..53)\n OPEN_PAREN: (33..34) \"(\"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"first\"\n ATMOSPHERE: (39..40) \" \"\n FORM: (40..52)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..42)\n IDENTIFIER: (41..42) \"+\"\n ATMOSPHERE: (42..43) \" \"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"second\"\n ATMOSPHERE: (49..50) \" \"\n CONSTANT: (50..51)\n NUMBER: (50..51) \"1\"\n CLOSE_PAREN: (51..52) \")\"\n CLOSE_PAREN: (52..53) \")\"\n ATMOSPHERE: (53..54) \" \"\n ATMOSPHERE: (54..104) \"; Can't reference second here, it isn't intialised\"\n ATMOSPHERE: (104..109) \"\n \"\n FORM: (109..123)\n OPEN_PAREN: (109..110) \"(\"\n SYMBOL: (110..116)\n IDENTIFIER: (110..116) \"second\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..122)\n IDENTIFIER: (117..122) \"first\"\n CLOSE_PAREN: (122..123) \")\"\n CLOSE_PAREN: (123..124) \")\"\n ATMOSPHERE: (124..135) \" \"\n ATMOSPHERE: (135..179) \"; Can't reference first here, initialisation\"\n ATMOSPHERE: (179..210) \"\n \"\n ATMOSPHERE: (210..234) \"; order isn't specified.\"\n ATMOSPHERE: (234..239) \"\n \"\n SYMBOL: (239..245)\n IDENTIFIER: (239..245) \"second\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..247) \"\n\"\n FORM: (247..388)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..255)\n IDENTIFIER: (248..255) \"letrec*\"\n ATMOSPHERE: (255..256) \" \"\n FORM: (256..340)\n OPEN_PAREN: (256..257) \"(\"\n FORM: (257..279)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..263)\n IDENTIFIER: (258..263) \"first\"\n ATMOSPHERE: (263..264) \" \"\n FORM: (264..278)\n OPEN_PAREN: (264..265) \"(\"\n SYMBOL: (265..266)\n IDENTIFIER: (265..266) \"-\"\n ATMOSPHERE: (266..267) \" \"\n SYMBOL: (267..273)\n IDENTIFIER: (267..273) \"second\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..277)\n NUMBER: (274..277) \"100\"\n CLOSE_PAREN: (277..278) \")\"\n CLOSE_PAREN: (278..279) \")\"\n ATMOSPHERE: (279..280) \" \"\n ATMOSPHERE: (280..320) \"; Can't referenc second, not initialised\"\n ATMOSPHERE: (320..325) \"\n \"\n FORM: (325..339)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..332)\n IDENTIFIER: (326..332) \"second\"\n ATMOSPHERE: (332..333) \" \"\n SYMBOL: (333..338)\n IDENTIFIER: (333..338) \"first\"\n CLOSE_PAREN: (338..339) \")\"\n CLOSE_PAREN: (339..340) \")\"\n ATMOSPHERE: (340..354) \" \"\n ATMOSPHERE: (354..376) \"; This is actually OK.\"\n ATMOSPHERE: (376..381) \"\n \"\n SYMBOL: (381..387)\n IDENTIFIER: (381..387) \"second\"\n CLOSE_PAREN: (387..388) \")\"\n ATMOSPHERE: (388..389) \"\n\"\n EOF: (389..389) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json index eab6581..3524e38 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json @@ -21,5 +21,5 @@ "Message": "Expected expression after `.`" } ], - "Root": "PROGRAM: (0..19)\n FORM: (0..18)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n DOTTED_TAIL: (16..17)\n DOT: (16..17) \".\"\n CLOSE_PAREN: (17..18) \")\"\n ATMOSPHERE: (18..19) \"\n\"\n" + "Root": "PROGRAM: (0..19)\n FORM: (0..18)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n DOTTED_TAIL: (16..17)\n DOT: (16..17) \".\"\n CLOSE_PAREN: (17..18) \")\"\n ATMOSPHERE: (18..19) \"\n\"\n EOF: (19..19) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json index a35cc0a..3903a6a 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..189)\n FORM: (0..24)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n CONSTANT: (16..23)\n STRING: (16..23) \"\"hello\"\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..25) \"\n\"\n FORM: (25..64)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..40)\n IDENTIFIER: (26..40) \"define-library\"\n ATMOSPHERE: (40..41) \" \"\n FORM: (41..63)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"scheme\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..62)\n IDENTIFIER: (49..62) \"|silly'chars|\"\n CLOSE_PAREN: (62..63) \")\"\n CLOSE_PAREN: (63..64) \")\"\n ATMOSPHERE: (64..65) \"\n\"\n FORM: (65..91)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..80)\n IDENTIFIER: (66..80) \"define-library\"\n ATMOSPHERE: (80..81) \" \"\n FORM: (81..90)\n OPEN_PAREN: (81..82) \"(\"\n SYMBOL: (82..86)\n IDENTIFIER: (82..86) \"some\"\n ATMOSPHERE: (86..87) \" \"\n QUOTED_DATUM: (87..89)\n QUOTE: (87..88) \"'\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"t\"\n CLOSE_PAREN: (89..90) \")\"\n CLOSE_PAREN: (90..91) \")\"\n ATMOSPHERE: (91..92) \"\n\"\n FORM: (92..124)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..107)\n IDENTIFIER: (93..107) \"define-library\"\n ATMOSPHERE: (107..108) \" \"\n FORM: (108..123)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..113)\n IDENTIFIER: (109..113) \"srfi\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..119)\n IDENTIFIER: (114..119) \"trust\"\n ATMOSPHERE: (119..120) \" \"\n SYMBOL: (120..122)\n IDENTIFIER: (120..122) \"me\"\n CLOSE_PAREN: (122..123) \")\"\n CLOSE_PAREN: (123..124) \")\"\n ATMOSPHERE: (124..125) \"\n\"\n FORM: (125..188)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..140)\n IDENTIFIER: (126..140) \"define-library\"\n ATMOSPHERE: (140..141) \" \"\n FORM: (141..157)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..149)\n IDENTIFIER: (142..149) \"missing\"\n ATMOSPHERE: (149..150) \" \"\n SYMBOL: (150..156)\n IDENTIFIER: (150..156) \"export\"\n CLOSE_PAREN: (156..157) \")\"\n ATMOSPHERE: (157..162) \"\n \"\n FORM: (162..187)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..169)\n IDENTIFIER: (163..169) \"export\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..172)\n IDENTIFIER: (170..172) \"we\"\n ATMOSPHERE: (172..173) \" \"\n SYMBOL: (173..180)\n IDENTIFIER: (173..180) \"|don't|\"\n ATMOSPHERE: (180..181) \" \"\n SYMBOL: (181..186)\n IDENTIFIER: (181..186) \"exist\"\n CLOSE_PAREN: (186..187) \")\"\n CLOSE_PAREN: (187..188) \")\"\n ATMOSPHERE: (188..189) \"\n\"\n" + "Root": "PROGRAM: (0..189)\n FORM: (0..24)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n CONSTANT: (16..23)\n STRING: (16..23) \"\"hello\"\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..25) \"\n\"\n FORM: (25..64)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..40)\n IDENTIFIER: (26..40) \"define-library\"\n ATMOSPHERE: (40..41) \" \"\n FORM: (41..63)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"scheme\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..62)\n IDENTIFIER: (49..62) \"|silly'chars|\"\n CLOSE_PAREN: (62..63) \")\"\n CLOSE_PAREN: (63..64) \")\"\n ATMOSPHERE: (64..65) \"\n\"\n FORM: (65..91)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..80)\n IDENTIFIER: (66..80) \"define-library\"\n ATMOSPHERE: (80..81) \" \"\n FORM: (81..90)\n OPEN_PAREN: (81..82) \"(\"\n SYMBOL: (82..86)\n IDENTIFIER: (82..86) \"some\"\n ATMOSPHERE: (86..87) \" \"\n QUOTED_DATUM: (87..89)\n QUOTE: (87..88) \"'\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"t\"\n CLOSE_PAREN: (89..90) \")\"\n CLOSE_PAREN: (90..91) \")\"\n ATMOSPHERE: (91..92) \"\n\"\n FORM: (92..124)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..107)\n IDENTIFIER: (93..107) \"define-library\"\n ATMOSPHERE: (107..108) \" \"\n FORM: (108..123)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..113)\n IDENTIFIER: (109..113) \"srfi\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..119)\n IDENTIFIER: (114..119) \"trust\"\n ATMOSPHERE: (119..120) \" \"\n SYMBOL: (120..122)\n IDENTIFIER: (120..122) \"me\"\n CLOSE_PAREN: (122..123) \")\"\n CLOSE_PAREN: (123..124) \")\"\n ATMOSPHERE: (124..125) \"\n\"\n FORM: (125..188)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..140)\n IDENTIFIER: (126..140) \"define-library\"\n ATMOSPHERE: (140..141) \" \"\n FORM: (141..157)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..149)\n IDENTIFIER: (142..149) \"missing\"\n ATMOSPHERE: (149..150) \" \"\n SYMBOL: (150..156)\n IDENTIFIER: (150..156) \"export\"\n CLOSE_PAREN: (156..157) \")\"\n ATMOSPHERE: (157..162) \"\n \"\n FORM: (162..187)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..169)\n IDENTIFIER: (163..169) \"export\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..172)\n IDENTIFIER: (170..172) \"we\"\n ATMOSPHERE: (172..173) \" \"\n SYMBOL: (173..180)\n IDENTIFIER: (173..180) \"|don't|\"\n ATMOSPHERE: (180..181) \" \"\n SYMBOL: (181..186)\n IDENTIFIER: (181..186) \"exist\"\n CLOSE_PAREN: (186..187) \")\"\n CLOSE_PAREN: (187..188) \")\"\n ATMOSPHERE: (188..189) \"\n\"\n EOF: (189..189) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json index fd23c77..06d5390 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json @@ -21,5 +21,5 @@ "Message": "Unexpected token Error '|\\x\n'" } ], - "Root": "PROGRAM: (0..193)\n ATMOSPHERE: (0..76) \";; FIXME: Almost none of these generate parser errors any more. We should be\"\n ATMOSPHERE: (76..77) \"\n\"\n ATMOSPHERE: (77..141) \";; more strict about what we accept as strings or idents.\"\n ATMOSPHERE: (141..143) \"\n\n\"\n CONSTANT: (143..148)\n STRING: (143..148) \"\"\\x;\"\"\n ATMOSPHERE: (148..149) \"\n\"\n CONSTANT: (149..155)\n STRING: (149..155) \"\"\\x20\"\"\n ATMOSPHERE: (155..156) \"\n\"\n CONSTANT: (156..171)\n STRING: (156..171) \"\"\\x10000;\\\"\n'|\"\"\n ATMOSPHERE: (171..172) \"\n\"\n CONSTANT: (172..180)\n CHARACTER: (172..180) \"#\\x12345\"\n ATMOSPHERE: (180..181) \"\n\"\n QUOTED_DATUM: (181..188)\n QUOTE: (181..182) \"'\"\n SYMBOL: (182..187)\n IDENTIFIER: (182..187) \"|\\x;|\"\n ATMOSPHERE: (187..188) \"\n\"\n QUOTED_DATUM: (188..193)\n QUOTE: (188..189) \"'\"\n CONSTANT: (189..193)\n ERROR: (189..193) \"|\\x\n\"\n" + "Root": "PROGRAM: (0..193)\n ATMOSPHERE: (0..76) \";; FIXME: Almost none of these generate parser errors any more. We should be\"\n ATMOSPHERE: (76..77) \"\n\"\n ATMOSPHERE: (77..141) \";; more strict about what we accept as strings or idents.\"\n ATMOSPHERE: (141..143) \"\n\n\"\n CONSTANT: (143..148)\n STRING: (143..148) \"\"\\x;\"\"\n ATMOSPHERE: (148..149) \"\n\"\n CONSTANT: (149..155)\n STRING: (149..155) \"\"\\x20\"\"\n ATMOSPHERE: (155..156) \"\n\"\n CONSTANT: (156..171)\n STRING: (156..171) \"\"\\x10000;\\\"\n'|\"\"\n ATMOSPHERE: (171..172) \"\n\"\n CONSTANT: (172..180)\n CHARACTER: (172..180) \"#\\x12345\"\n ATMOSPHERE: (180..181) \"\n\"\n QUOTED_DATUM: (181..188)\n QUOTE: (181..182) \"'\"\n SYMBOL: (182..187)\n IDENTIFIER: (182..187) \"|\\x;|\"\n ATMOSPHERE: (187..188) \"\n\"\n QUOTED_DATUM: (188..193)\n QUOTE: (188..189) \"'\"\n CONSTANT: (189..193)\n ERROR: (189..193) \"|\\x\n\"\n EOF: (193..193) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json index 8d5d716..af66d97 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..426)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..23) \"\n\"\n FORM: (23..147)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..37)\n IDENTIFIER: (24..37) \"define-syntax\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..48)\n IDENTIFIER: (38..48) \"test-macro\"\n ATMOSPHERE: (48..53) \"\n \"\n FORM: (53..146)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..66)\n IDENTIFIER: (54..66) \"syntax-rules\"\n ATMOSPHERE: (66..67) \" \"\n SYMBOL: (67..70)\n IDENTIFIER: (67..70) \":::\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..77)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..76)\n IDENTIFIER: (72..76) \"test\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..86) \"\n \"\n FORM: (86..97)\n OPEN_PAREN: (86..87) \"(\"\n FORM: (87..90)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"_\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \" \"\n QUOTED_DATUM: (91..96)\n QUOTE: (91..92) \"'\"\n SYMBOL: (92..96)\n IDENTIFIER: (92..96) \"nowt\"\n CLOSE_PAREN: (96..97) \")\"\n ATMOSPHERE: (97..106) \"\n \"\n FORM: (106..145)\n OPEN_PAREN: (106..107) \"(\"\n FORM: (107..126)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"_\"\n ATMOSPHERE: (109..110) \" \"\n SYMBOL: (110..114)\n IDENTIFIER: (110..114) \"test\"\n ATMOSPHERE: (114..115) \" \"\n SYMBOL: (115..121)\n IDENTIFIER: (115..121) \"things\"\n ATMOSPHERE: (121..122) \" \"\n SYMBOL: (122..125)\n IDENTIFIER: (122..125) \":::\"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..127) \" \"\n FORM: (127..144)\n OPEN_PAREN: (127..128) \"(\"\n SYMBOL: (128..132)\n IDENTIFIER: (128..132) \"list\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"things\"\n ATMOSPHERE: (139..140) \" \"\n SYMBOL: (140..143)\n IDENTIFIER: (140..143) \":::\"\n CLOSE_PAREN: (143..144) \")\"\n CLOSE_PAREN: (144..145) \")\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n ATMOSPHERE: (147..149) \"\n\n\"\n FORM: (149..161)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..160)\n IDENTIFIER: (150..160) \"test-macro\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..162) \"\n\"\n FORM: (162..185)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..173)\n IDENTIFIER: (163..173) \"test-macro\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..178)\n IDENTIFIER: (174..178) \"test\"\n ATMOSPHERE: (178..179) \" \"\n CONSTANT: (179..180)\n NUMBER: (179..180) \"1\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..182)\n NUMBER: (181..182) \"2\"\n ATMOSPHERE: (182..183) \" \"\n CONSTANT: (183..184)\n NUMBER: (183..184) \"3\"\n CLOSE_PAREN: (184..185) \")\"\n ATMOSPHERE: (185..186) \"\n\"\n FORM: (186..212)\n OPEN_PAREN: (186..187) \"(\"\n SYMBOL: (187..197)\n IDENTIFIER: (187..197) \"test-macro\"\n ATMOSPHERE: (197..198) \" \"\n SYMBOL: (198..202)\n IDENTIFIER: (198..202) \"fail\"\n ATMOSPHERE: (202..203) \" \"\n SYMBOL: (203..207)\n IDENTIFIER: (203..207) \"this\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..211)\n IDENTIFIER: (208..211) \"one\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..214) \"\n\n\"\n FORM: (214..426)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..225)\n IDENTIFIER: (215..225) \"let-syntax\"\n ATMOSPHERE: (225..230) \"\n \"\n FORM: (230..405)\n OPEN_PAREN: (230..231) \"(\"\n FORM: (231..404)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..239)\n IDENTIFIER: (232..239) \"another\"\n ATMOSPHERE: (239..240) \" \"\n FORM: (240..403)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..253)\n IDENTIFIER: (241..253) \"syntax-rules\"\n ATMOSPHERE: (253..254) \" \"\n FORM: (254..256)\n OPEN_PAREN: (254..255) \"(\"\n CLOSE_PAREN: (255..256) \")\"\n ATMOSPHERE: (256..265) \"\n \"\n FORM: (265..285)\n OPEN_PAREN: (265..266) \"(\"\n FORM: (266..275)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..268)\n IDENTIFIER: (267..268) \"_\"\n ATMOSPHERE: (268..269) \" \"\n SYMBOL: (269..270)\n IDENTIFIER: (269..270) \"a\"\n ATMOSPHERE: (270..271) \" \"\n SYMBOL: (271..274)\n IDENTIFIER: (271..274) \"...\"\n CLOSE_PAREN: (274..275) \")\"\n ATMOSPHERE: (275..276) \" \"\n QUOTED_DATUM: (276..284)\n QUOTE: (276..277) \"'\"\n FORM: (277..284)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..279)\n IDENTIFIER: (278..279) \"a\"\n ATMOSPHERE: (279..280) \" \"\n SYMBOL: (280..283)\n IDENTIFIER: (280..283) \"...\"\n CLOSE_PAREN: (283..284) \")\"\n CLOSE_PAREN: (284..285) \")\"\n ATMOSPHERE: (285..294) \"\n \"\n ATMOSPHERE: (294..327) \"; we expect a diagnostic for both\"\n ATMOSPHERE: (327..336) \"\n \"\n ATMOSPHERE: (336..366) \"; these malformed dotted forms\"\n ATMOSPHERE: (366..375) \"\n \"\n FORM: (375..393)\n OPEN_PAREN: (375..376) \"(\"\n FORM: (376..381)\n OPEN_PAREN: (376..377) \"(\"\n DOTTED_TAIL: (377..380)\n DOT: (377..378) \".\"\n ATMOSPHERE: (378..379) \" \"\n SYMBOL: (379..380)\n IDENTIFIER: (379..380) \"_\"\n CLOSE_PAREN: (380..381) \")\"\n ATMOSPHERE: (381..382) \" \"\n FORM: (382..392)\n OPEN_PAREN: (382..383) \"(\"\n DOTTED_TAIL: (383..391)\n DOT: (383..384) \".\"\n ATMOSPHERE: (384..385) \" \"\n CONSTANT: (385..391)\n STRING: (385..391) \"\"test\"\"\n CLOSE_PAREN: (391..392) \")\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..402) \"\n \"\n CLOSE_PAREN: (402..403) \")\"\n CLOSE_PAREN: (403..404) \")\"\n CLOSE_PAREN: (404..405) \")\"\n ATMOSPHERE: (405..410) \"\n \"\n FORM: (410..425)\n OPEN_PAREN: (410..411) \"(\"\n SYMBOL: (411..418)\n IDENTIFIER: (411..418) \"another\"\n ATMOSPHERE: (418..419) \" \"\n CONSTANT: (419..420)\n NUMBER: (419..420) \"1\"\n ATMOSPHERE: (420..421) \" \"\n CONSTANT: (421..422)\n NUMBER: (421..422) \"2\"\n ATMOSPHERE: (422..423) \" \"\n CONSTANT: (423..424)\n NUMBER: (423..424) \"3\"\n CLOSE_PAREN: (424..425) \")\"\n CLOSE_PAREN: (425..426) \")\"\n" + "Root": "PROGRAM: (0..426)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..23) \"\n\"\n FORM: (23..147)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..37)\n IDENTIFIER: (24..37) \"define-syntax\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..48)\n IDENTIFIER: (38..48) \"test-macro\"\n ATMOSPHERE: (48..53) \"\n \"\n FORM: (53..146)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..66)\n IDENTIFIER: (54..66) \"syntax-rules\"\n ATMOSPHERE: (66..67) \" \"\n SYMBOL: (67..70)\n IDENTIFIER: (67..70) \":::\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..77)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..76)\n IDENTIFIER: (72..76) \"test\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..86) \"\n \"\n FORM: (86..97)\n OPEN_PAREN: (86..87) \"(\"\n FORM: (87..90)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"_\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \" \"\n QUOTED_DATUM: (91..96)\n QUOTE: (91..92) \"'\"\n SYMBOL: (92..96)\n IDENTIFIER: (92..96) \"nowt\"\n CLOSE_PAREN: (96..97) \")\"\n ATMOSPHERE: (97..106) \"\n \"\n FORM: (106..145)\n OPEN_PAREN: (106..107) \"(\"\n FORM: (107..126)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"_\"\n ATMOSPHERE: (109..110) \" \"\n SYMBOL: (110..114)\n IDENTIFIER: (110..114) \"test\"\n ATMOSPHERE: (114..115) \" \"\n SYMBOL: (115..121)\n IDENTIFIER: (115..121) \"things\"\n ATMOSPHERE: (121..122) \" \"\n SYMBOL: (122..125)\n IDENTIFIER: (122..125) \":::\"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..127) \" \"\n FORM: (127..144)\n OPEN_PAREN: (127..128) \"(\"\n SYMBOL: (128..132)\n IDENTIFIER: (128..132) \"list\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"things\"\n ATMOSPHERE: (139..140) \" \"\n SYMBOL: (140..143)\n IDENTIFIER: (140..143) \":::\"\n CLOSE_PAREN: (143..144) \")\"\n CLOSE_PAREN: (144..145) \")\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n ATMOSPHERE: (147..149) \"\n\n\"\n FORM: (149..161)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..160)\n IDENTIFIER: (150..160) \"test-macro\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..162) \"\n\"\n FORM: (162..185)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..173)\n IDENTIFIER: (163..173) \"test-macro\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..178)\n IDENTIFIER: (174..178) \"test\"\n ATMOSPHERE: (178..179) \" \"\n CONSTANT: (179..180)\n NUMBER: (179..180) \"1\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..182)\n NUMBER: (181..182) \"2\"\n ATMOSPHERE: (182..183) \" \"\n CONSTANT: (183..184)\n NUMBER: (183..184) \"3\"\n CLOSE_PAREN: (184..185) \")\"\n ATMOSPHERE: (185..186) \"\n\"\n FORM: (186..212)\n OPEN_PAREN: (186..187) \"(\"\n SYMBOL: (187..197)\n IDENTIFIER: (187..197) \"test-macro\"\n ATMOSPHERE: (197..198) \" \"\n SYMBOL: (198..202)\n IDENTIFIER: (198..202) \"fail\"\n ATMOSPHERE: (202..203) \" \"\n SYMBOL: (203..207)\n IDENTIFIER: (203..207) \"this\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..211)\n IDENTIFIER: (208..211) \"one\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..214) \"\n\n\"\n FORM: (214..426)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..225)\n IDENTIFIER: (215..225) \"let-syntax\"\n ATMOSPHERE: (225..230) \"\n \"\n FORM: (230..405)\n OPEN_PAREN: (230..231) \"(\"\n FORM: (231..404)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..239)\n IDENTIFIER: (232..239) \"another\"\n ATMOSPHERE: (239..240) \" \"\n FORM: (240..403)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..253)\n IDENTIFIER: (241..253) \"syntax-rules\"\n ATMOSPHERE: (253..254) \" \"\n FORM: (254..256)\n OPEN_PAREN: (254..255) \"(\"\n CLOSE_PAREN: (255..256) \")\"\n ATMOSPHERE: (256..265) \"\n \"\n FORM: (265..285)\n OPEN_PAREN: (265..266) \"(\"\n FORM: (266..275)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..268)\n IDENTIFIER: (267..268) \"_\"\n ATMOSPHERE: (268..269) \" \"\n SYMBOL: (269..270)\n IDENTIFIER: (269..270) \"a\"\n ATMOSPHERE: (270..271) \" \"\n SYMBOL: (271..274)\n IDENTIFIER: (271..274) \"...\"\n CLOSE_PAREN: (274..275) \")\"\n ATMOSPHERE: (275..276) \" \"\n QUOTED_DATUM: (276..284)\n QUOTE: (276..277) \"'\"\n FORM: (277..284)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..279)\n IDENTIFIER: (278..279) \"a\"\n ATMOSPHERE: (279..280) \" \"\n SYMBOL: (280..283)\n IDENTIFIER: (280..283) \"...\"\n CLOSE_PAREN: (283..284) \")\"\n CLOSE_PAREN: (284..285) \")\"\n ATMOSPHERE: (285..294) \"\n \"\n ATMOSPHERE: (294..327) \"; we expect a diagnostic for both\"\n ATMOSPHERE: (327..336) \"\n \"\n ATMOSPHERE: (336..366) \"; these malformed dotted forms\"\n ATMOSPHERE: (366..375) \"\n \"\n FORM: (375..393)\n OPEN_PAREN: (375..376) \"(\"\n FORM: (376..381)\n OPEN_PAREN: (376..377) \"(\"\n DOTTED_TAIL: (377..380)\n DOT: (377..378) \".\"\n ATMOSPHERE: (378..379) \" \"\n SYMBOL: (379..380)\n IDENTIFIER: (379..380) \"_\"\n CLOSE_PAREN: (380..381) \")\"\n ATMOSPHERE: (381..382) \" \"\n FORM: (382..392)\n OPEN_PAREN: (382..383) \"(\"\n DOTTED_TAIL: (383..391)\n DOT: (383..384) \".\"\n ATMOSPHERE: (384..385) \" \"\n CONSTANT: (385..391)\n STRING: (385..391) \"\"test\"\"\n CLOSE_PAREN: (391..392) \")\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..402) \"\n \"\n CLOSE_PAREN: (402..403) \")\"\n CLOSE_PAREN: (403..404) \")\"\n CLOSE_PAREN: (404..405) \")\"\n ATMOSPHERE: (405..410) \"\n \"\n FORM: (410..425)\n OPEN_PAREN: (410..411) \"(\"\n SYMBOL: (411..418)\n IDENTIFIER: (411..418) \"another\"\n ATMOSPHERE: (418..419) \" \"\n CONSTANT: (419..420)\n NUMBER: (419..420) \"1\"\n ATMOSPHERE: (420..421) \" \"\n CONSTANT: (421..422)\n NUMBER: (421..422) \"2\"\n ATMOSPHERE: (422..423) \" \"\n CONSTANT: (423..424)\n NUMBER: (423..424) \"3\"\n CLOSE_PAREN: (424..425) \")\"\n CLOSE_PAREN: (425..426) \")\"\n EOF: (426..426) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_false.scm.json b/test/Feersum.Tests/_snapshots/Parse_false.scm.json index a26c63d..41c4b53 100644 --- a/test/Feersum.Tests/_snapshots/Parse_false.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_false.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..2)\n CONSTANT: (0..2)\n BOOLEAN: (0..2) \"#f\"\n" + "Root": "PROGRAM: (0..2)\n CONSTANT: (0..2)\n BOOLEAN: (0..2) \"#f\"\n EOF: (2..2) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fib.scm.json b/test/Feersum.Tests/_snapshots/Parse_fib.scm.json index bba753b..b55f9b6 100644 --- a/test/Feersum.Tests/_snapshots/Parse_fib.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_fib.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..267)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..56) \"; 1 1 2 3 5 8\"\n ATMOSPHERE: (56..57) \"\n\"\n ATMOSPHERE: (57..70) \"; 1 2 3 4 5 6\"\n ATMOSPHERE: (70..72) \"\n\n\"\n FORM: (72..236)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..79)\n IDENTIFIER: (73..79) \"define\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..87)\n OPEN_PAREN: (80..81) \"(\"\n SYMBOL: (81..84)\n IDENTIFIER: (81..84) \"fib\"\n ATMOSPHERE: (84..85) \" \"\n SYMBOL: (85..86)\n IDENTIFIER: (85..86) \"n\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..92) \"\n \"\n FORM: (92..212)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..99)\n IDENTIFIER: (93..99) \"define\"\n ATMOSPHERE: (99..100) \" \"\n FORM: (100..123)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..111)\n IDENTIFIER: (101..111) \"fib-helper\"\n ATMOSPHERE: (111..112) \" \"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"n\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..118)\n IDENTIFIER: (114..118) \"last\"\n ATMOSPHERE: (118..119) \" \"\n SYMBOL: (119..122)\n IDENTIFIER: (119..122) \"cur\"\n CLOSE_PAREN: (122..123) \")\"\n ATMOSPHERE: (123..132) \"\n \"\n FORM: (132..211)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..135)\n IDENTIFIER: (133..135) \"if\"\n ATMOSPHERE: (135..136) \" \"\n FORM: (136..144)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..139)\n IDENTIFIER: (137..139) \"<=\"\n ATMOSPHERE: (139..140) \" \"\n SYMBOL: (140..141)\n IDENTIFIER: (140..141) \"n\"\n ATMOSPHERE: (141..142) \" \"\n CONSTANT: (142..143)\n NUMBER: (142..143) \"2\"\n CLOSE_PAREN: (143..144) \")\"\n ATMOSPHERE: (144..157) \"\n \"\n SYMBOL: (157..160)\n IDENTIFIER: (157..160) \"cur\"\n ATMOSPHERE: (160..173) \"\n \"\n FORM: (173..210)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..184)\n IDENTIFIER: (174..184) \"fib-helper\"\n ATMOSPHERE: (184..185) \" \"\n FORM: (185..192)\n OPEN_PAREN: (185..186) \"(\"\n SYMBOL: (186..187)\n IDENTIFIER: (186..187) \"-\"\n ATMOSPHERE: (187..188) \" \"\n SYMBOL: (188..189)\n IDENTIFIER: (188..189) \"n\"\n ATMOSPHERE: (189..190) \" \"\n CONSTANT: (190..191)\n NUMBER: (190..191) \"1\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..193) \" \"\n SYMBOL: (193..196)\n IDENTIFIER: (193..196) \"cur\"\n ATMOSPHERE: (196..197) \" \"\n FORM: (197..209)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..199)\n IDENTIFIER: (198..199) \"+\"\n ATMOSPHERE: (199..200) \" \"\n SYMBOL: (200..203)\n IDENTIFIER: (200..203) \"cur\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..208)\n IDENTIFIER: (204..208) \"last\"\n CLOSE_PAREN: (208..209) \")\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..217) \"\n \"\n FORM: (217..235)\n OPEN_PAREN: (217..218) \"(\"\n SYMBOL: (218..228)\n IDENTIFIER: (218..228) \"fib-helper\"\n ATMOSPHERE: (228..229) \" \"\n SYMBOL: (229..230)\n IDENTIFIER: (229..230) \"n\"\n ATMOSPHERE: (230..231) \" \"\n CONSTANT: (231..232)\n NUMBER: (231..232) \"1\"\n ATMOSPHERE: (232..233) \" \"\n CONSTANT: (233..234)\n NUMBER: (233..234) \"1\"\n CLOSE_PAREN: (234..235) \")\"\n CLOSE_PAREN: (235..236) \")\"\n ATMOSPHERE: (236..239) \"\n\n\n\"\n FORM: (239..257)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..247)\n IDENTIFIER: (240..247) \"display\"\n ATMOSPHERE: (247..248) \" \"\n FORM: (248..256)\n OPEN_PAREN: (248..249) \"(\"\n SYMBOL: (249..252)\n IDENTIFIER: (249..252) \"fib\"\n ATMOSPHERE: (252..253) \" \"\n CONSTANT: (253..255)\n NUMBER: (253..255) \"40\"\n CLOSE_PAREN: (255..256) \")\"\n CLOSE_PAREN: (256..257) \")\"\n FORM: (257..266)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..265)\n IDENTIFIER: (258..265) \"newline\"\n CLOSE_PAREN: (265..266) \")\"\n ATMOSPHERE: (266..267) \"\n\"\n" + "Root": "PROGRAM: (0..267)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..56) \"; 1 1 2 3 5 8\"\n ATMOSPHERE: (56..57) \"\n\"\n ATMOSPHERE: (57..70) \"; 1 2 3 4 5 6\"\n ATMOSPHERE: (70..72) \"\n\n\"\n FORM: (72..236)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..79)\n IDENTIFIER: (73..79) \"define\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..87)\n OPEN_PAREN: (80..81) \"(\"\n SYMBOL: (81..84)\n IDENTIFIER: (81..84) \"fib\"\n ATMOSPHERE: (84..85) \" \"\n SYMBOL: (85..86)\n IDENTIFIER: (85..86) \"n\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..92) \"\n \"\n FORM: (92..212)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..99)\n IDENTIFIER: (93..99) \"define\"\n ATMOSPHERE: (99..100) \" \"\n FORM: (100..123)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..111)\n IDENTIFIER: (101..111) \"fib-helper\"\n ATMOSPHERE: (111..112) \" \"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"n\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..118)\n IDENTIFIER: (114..118) \"last\"\n ATMOSPHERE: (118..119) \" \"\n SYMBOL: (119..122)\n IDENTIFIER: (119..122) \"cur\"\n CLOSE_PAREN: (122..123) \")\"\n ATMOSPHERE: (123..132) \"\n \"\n FORM: (132..211)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..135)\n IDENTIFIER: (133..135) \"if\"\n ATMOSPHERE: (135..136) \" \"\n FORM: (136..144)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..139)\n IDENTIFIER: (137..139) \"<=\"\n ATMOSPHERE: (139..140) \" \"\n SYMBOL: (140..141)\n IDENTIFIER: (140..141) \"n\"\n ATMOSPHERE: (141..142) \" \"\n CONSTANT: (142..143)\n NUMBER: (142..143) \"2\"\n CLOSE_PAREN: (143..144) \")\"\n ATMOSPHERE: (144..157) \"\n \"\n SYMBOL: (157..160)\n IDENTIFIER: (157..160) \"cur\"\n ATMOSPHERE: (160..173) \"\n \"\n FORM: (173..210)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..184)\n IDENTIFIER: (174..184) \"fib-helper\"\n ATMOSPHERE: (184..185) \" \"\n FORM: (185..192)\n OPEN_PAREN: (185..186) \"(\"\n SYMBOL: (186..187)\n IDENTIFIER: (186..187) \"-\"\n ATMOSPHERE: (187..188) \" \"\n SYMBOL: (188..189)\n IDENTIFIER: (188..189) \"n\"\n ATMOSPHERE: (189..190) \" \"\n CONSTANT: (190..191)\n NUMBER: (190..191) \"1\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..193) \" \"\n SYMBOL: (193..196)\n IDENTIFIER: (193..196) \"cur\"\n ATMOSPHERE: (196..197) \" \"\n FORM: (197..209)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..199)\n IDENTIFIER: (198..199) \"+\"\n ATMOSPHERE: (199..200) \" \"\n SYMBOL: (200..203)\n IDENTIFIER: (200..203) \"cur\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..208)\n IDENTIFIER: (204..208) \"last\"\n CLOSE_PAREN: (208..209) \")\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..217) \"\n \"\n FORM: (217..235)\n OPEN_PAREN: (217..218) \"(\"\n SYMBOL: (218..228)\n IDENTIFIER: (218..228) \"fib-helper\"\n ATMOSPHERE: (228..229) \" \"\n SYMBOL: (229..230)\n IDENTIFIER: (229..230) \"n\"\n ATMOSPHERE: (230..231) \" \"\n CONSTANT: (231..232)\n NUMBER: (231..232) \"1\"\n ATMOSPHERE: (232..233) \" \"\n CONSTANT: (233..234)\n NUMBER: (233..234) \"1\"\n CLOSE_PAREN: (234..235) \")\"\n CLOSE_PAREN: (235..236) \")\"\n ATMOSPHERE: (236..239) \"\n\n\n\"\n FORM: (239..257)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..247)\n IDENTIFIER: (240..247) \"display\"\n ATMOSPHERE: (247..248) \" \"\n FORM: (248..256)\n OPEN_PAREN: (248..249) \"(\"\n SYMBOL: (249..252)\n IDENTIFIER: (249..252) \"fib\"\n ATMOSPHERE: (252..253) \" \"\n CONSTANT: (253..255)\n NUMBER: (253..255) \"40\"\n CLOSE_PAREN: (255..256) \")\"\n CLOSE_PAREN: (256..257) \")\"\n FORM: (257..266)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..265)\n IDENTIFIER: (258..265) \"newline\"\n CLOSE_PAREN: (265..266) \")\"\n ATMOSPHERE: (266..267) \"\n\"\n EOF: (267..267) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json b/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json index 28bef9a..4bda91e 100644 --- a/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..449)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..106)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..60)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..55)\n IDENTIFIER: (52..55) \"mod\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"a\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"b\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..63) \"\n \"\n FORM: (63..105)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"<\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"a\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"b\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..81) \"\n \"\n SYMBOL: (81..82)\n IDENTIFIER: (81..82) \"a\"\n ATMOSPHERE: (82..89) \"\n \"\n FORM: (89..104)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..93)\n IDENTIFIER: (90..93) \"mod\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..101)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..96)\n IDENTIFIER: (95..96) \"-\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..98)\n IDENTIFIER: (97..98) \"a\"\n ATMOSPHERE: (98..99) \" \"\n SYMBOL: (99..100)\n IDENTIFIER: (99..100) \"b\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..102) \" \"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"b\"\n CLOSE_PAREN: (103..104) \")\"\n CLOSE_PAREN: (104..105) \")\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..108) \"\n\n\"\n FORM: (108..173)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..115)\n IDENTIFIER: (109..115) \"define\"\n ATMOSPHERE: (115..116) \" \"\n FORM: (116..125)\n OPEN_PAREN: (116..117) \"(\"\n SYMBOL: (117..120)\n IDENTIFIER: (117..120) \"gcd\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"a\"\n ATMOSPHERE: (122..123) \" \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"b\"\n CLOSE_PAREN: (124..125) \")\"\n ATMOSPHERE: (125..128) \"\n \"\n FORM: (128..172)\n OPEN_PAREN: (128..129) \"(\"\n SYMBOL: (129..131)\n IDENTIFIER: (129..131) \"if\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..139)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"=\"\n ATMOSPHERE: (134..135) \" \"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"b\"\n ATMOSPHERE: (136..137) \" \"\n CONSTANT: (137..138)\n NUMBER: (137..138) \"0\"\n CLOSE_PAREN: (138..139) \")\"\n ATMOSPHERE: (139..146) \"\n \"\n SYMBOL: (146..147)\n IDENTIFIER: (146..147) \"a\"\n ATMOSPHERE: (147..154) \"\n \"\n FORM: (154..171)\n OPEN_PAREN: (154..155) \"(\"\n SYMBOL: (155..158)\n IDENTIFIER: (155..158) \"gcd\"\n ATMOSPHERE: (158..159) \" \"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"b\"\n ATMOSPHERE: (160..161) \" \"\n FORM: (161..170)\n OPEN_PAREN: (161..162) \"(\"\n SYMBOL: (162..165)\n IDENTIFIER: (162..165) \"mod\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"a\"\n ATMOSPHERE: (167..168) \" \"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"b\"\n CLOSE_PAREN: (169..170) \")\"\n CLOSE_PAREN: (170..171) \")\"\n CLOSE_PAREN: (171..172) \")\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..175) \"\n\n\"\n FORM: (175..195)\n OPEN_PAREN: (175..176) \"(\"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"display\"\n ATMOSPHERE: (183..184) \" \"\n FORM: (184..194)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..188)\n IDENTIFIER: (185..188) \"gcd\"\n ATMOSPHERE: (188..189) \" \"\n CONSTANT: (189..190)\n NUMBER: (189..190) \"8\"\n ATMOSPHERE: (190..191) \" \"\n CONSTANT: (191..193)\n NUMBER: (191..193) \"12\"\n CLOSE_PAREN: (193..194) \")\"\n CLOSE_PAREN: (194..195) \")\"\n FORM: (195..204)\n OPEN_PAREN: (195..196) \"(\"\n SYMBOL: (196..203)\n IDENTIFIER: (196..203) \"newline\"\n CLOSE_PAREN: (203..204) \")\"\n ATMOSPHERE: (204..205) \"\n\"\n FORM: (205..226)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..213)\n IDENTIFIER: (206..213) \"display\"\n ATMOSPHERE: (213..214) \" \"\n FORM: (214..225)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..218)\n IDENTIFIER: (215..218) \"gcd\"\n ATMOSPHERE: (218..219) \" \"\n CONSTANT: (219..221)\n NUMBER: (219..221) \"42\"\n ATMOSPHERE: (221..222) \" \"\n CONSTANT: (222..224)\n NUMBER: (222..224) \"56\"\n CLOSE_PAREN: (224..225) \")\"\n CLOSE_PAREN: (225..226) \")\"\n FORM: (226..235)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..234)\n IDENTIFIER: (227..234) \"newline\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..236) \"\n\"\n FORM: (236..265)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..244)\n IDENTIFIER: (237..244) \"display\"\n ATMOSPHERE: (244..245) \" \"\n FORM: (245..264)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..249)\n IDENTIFIER: (246..249) \"gcd\"\n ATMOSPHERE: (249..250) \" \"\n CONSTANT: (250..256)\n NUMBER: (250..256) \"461952\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..263)\n NUMBER: (257..263) \"116298\"\n CLOSE_PAREN: (263..264) \")\"\n CLOSE_PAREN: (264..265) \")\"\n FORM: (265..274)\n OPEN_PAREN: (265..266) \"(\"\n SYMBOL: (266..273)\n IDENTIFIER: (266..273) \"newline\"\n CLOSE_PAREN: (273..274) \")\"\n ATMOSPHERE: (274..275) \"\n\"\n FORM: (275..308)\n OPEN_PAREN: (275..276) \"(\"\n SYMBOL: (276..283)\n IDENTIFIER: (276..283) \"display\"\n ATMOSPHERE: (283..284) \" \"\n FORM: (284..307)\n OPEN_PAREN: (284..285) \"(\"\n SYMBOL: (285..288)\n IDENTIFIER: (285..288) \"gcd\"\n ATMOSPHERE: (288..289) \" \"\n CONSTANT: (289..296)\n NUMBER: (289..296) \"7966496\"\n ATMOSPHERE: (296..297) \" \"\n CONSTANT: (297..306)\n NUMBER: (297..306) \"314080416\"\n CLOSE_PAREN: (306..307) \")\"\n CLOSE_PAREN: (307..308) \")\"\n FORM: (308..317)\n OPEN_PAREN: (308..309) \"(\"\n SYMBOL: (309..316)\n IDENTIFIER: (309..316) \"newline\"\n CLOSE_PAREN: (316..317) \")\"\n ATMOSPHERE: (317..318) \"\n\"\n FORM: (318..351)\n OPEN_PAREN: (318..319) \"(\"\n SYMBOL: (319..326)\n IDENTIFIER: (319..326) \"display\"\n ATMOSPHERE: (326..327) \" \"\n FORM: (327..350)\n OPEN_PAREN: (327..328) \"(\"\n SYMBOL: (328..331)\n IDENTIFIER: (328..331) \"gcd\"\n ATMOSPHERE: (331..332) \" \"\n CONSTANT: (332..340)\n NUMBER: (332..340) \"24826148\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..349)\n NUMBER: (341..349) \"45296490\"\n CLOSE_PAREN: (349..350) \")\"\n CLOSE_PAREN: (350..351) \")\"\n FORM: (351..360)\n OPEN_PAREN: (351..352) \"(\"\n SYMBOL: (352..359)\n IDENTIFIER: (352..359) \"newline\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..361) \"\n\"\n FORM: (361..381)\n OPEN_PAREN: (361..362) \"(\"\n SYMBOL: (362..369)\n IDENTIFIER: (362..369) \"display\"\n ATMOSPHERE: (369..370) \" \"\n FORM: (370..380)\n OPEN_PAREN: (370..371) \"(\"\n SYMBOL: (371..374)\n IDENTIFIER: (371..374) \"gcd\"\n ATMOSPHERE: (374..375) \" \"\n CONSTANT: (375..377)\n NUMBER: (375..377) \"12\"\n ATMOSPHERE: (377..378) \" \"\n CONSTANT: (378..379)\n NUMBER: (378..379) \"0\"\n CLOSE_PAREN: (379..380) \")\"\n CLOSE_PAREN: (380..381) \")\"\n FORM: (381..390)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..389)\n IDENTIFIER: (382..389) \"newline\"\n CLOSE_PAREN: (389..390) \")\"\n ATMOSPHERE: (390..391) \"\n\"\n FORM: (391..410)\n OPEN_PAREN: (391..392) \"(\"\n SYMBOL: (392..399)\n IDENTIFIER: (392..399) \"display\"\n ATMOSPHERE: (399..400) \" \"\n FORM: (400..409)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..404)\n IDENTIFIER: (401..404) \"gcd\"\n ATMOSPHERE: (404..405) \" \"\n CONSTANT: (405..406)\n NUMBER: (405..406) \"0\"\n ATMOSPHERE: (406..407) \" \"\n CONSTANT: (407..408)\n NUMBER: (407..408) \"0\"\n CLOSE_PAREN: (408..409) \")\"\n CLOSE_PAREN: (409..410) \")\"\n FORM: (410..419)\n OPEN_PAREN: (410..411) \"(\"\n SYMBOL: (411..418)\n IDENTIFIER: (411..418) \"newline\"\n CLOSE_PAREN: (418..419) \")\"\n ATMOSPHERE: (419..420) \"\n\"\n FORM: (420..439)\n OPEN_PAREN: (420..421) \"(\"\n SYMBOL: (421..428)\n IDENTIFIER: (421..428) \"display\"\n ATMOSPHERE: (428..429) \" \"\n FORM: (429..438)\n OPEN_PAREN: (429..430) \"(\"\n SYMBOL: (430..433)\n IDENTIFIER: (430..433) \"gcd\"\n ATMOSPHERE: (433..434) \" \"\n CONSTANT: (434..435)\n NUMBER: (434..435) \"0\"\n ATMOSPHERE: (435..436) \" \"\n CONSTANT: (436..437)\n NUMBER: (436..437) \"9\"\n CLOSE_PAREN: (437..438) \")\"\n CLOSE_PAREN: (438..439) \")\"\n FORM: (439..448)\n OPEN_PAREN: (439..440) \"(\"\n SYMBOL: (440..447)\n IDENTIFIER: (440..447) \"newline\"\n CLOSE_PAREN: (447..448) \")\"\n ATMOSPHERE: (448..449) \"\n\"\n" + "Root": "PROGRAM: (0..449)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..106)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..60)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..55)\n IDENTIFIER: (52..55) \"mod\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"a\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"b\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..63) \"\n \"\n FORM: (63..105)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"<\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"a\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"b\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..81) \"\n \"\n SYMBOL: (81..82)\n IDENTIFIER: (81..82) \"a\"\n ATMOSPHERE: (82..89) \"\n \"\n FORM: (89..104)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..93)\n IDENTIFIER: (90..93) \"mod\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..101)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..96)\n IDENTIFIER: (95..96) \"-\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..98)\n IDENTIFIER: (97..98) \"a\"\n ATMOSPHERE: (98..99) \" \"\n SYMBOL: (99..100)\n IDENTIFIER: (99..100) \"b\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..102) \" \"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"b\"\n CLOSE_PAREN: (103..104) \")\"\n CLOSE_PAREN: (104..105) \")\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..108) \"\n\n\"\n FORM: (108..173)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..115)\n IDENTIFIER: (109..115) \"define\"\n ATMOSPHERE: (115..116) \" \"\n FORM: (116..125)\n OPEN_PAREN: (116..117) \"(\"\n SYMBOL: (117..120)\n IDENTIFIER: (117..120) \"gcd\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"a\"\n ATMOSPHERE: (122..123) \" \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"b\"\n CLOSE_PAREN: (124..125) \")\"\n ATMOSPHERE: (125..128) \"\n \"\n FORM: (128..172)\n OPEN_PAREN: (128..129) \"(\"\n SYMBOL: (129..131)\n IDENTIFIER: (129..131) \"if\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..139)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"=\"\n ATMOSPHERE: (134..135) \" \"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"b\"\n ATMOSPHERE: (136..137) \" \"\n CONSTANT: (137..138)\n NUMBER: (137..138) \"0\"\n CLOSE_PAREN: (138..139) \")\"\n ATMOSPHERE: (139..146) \"\n \"\n SYMBOL: (146..147)\n IDENTIFIER: (146..147) \"a\"\n ATMOSPHERE: (147..154) \"\n \"\n FORM: (154..171)\n OPEN_PAREN: (154..155) \"(\"\n SYMBOL: (155..158)\n IDENTIFIER: (155..158) \"gcd\"\n ATMOSPHERE: (158..159) \" \"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"b\"\n ATMOSPHERE: (160..161) \" \"\n FORM: (161..170)\n OPEN_PAREN: (161..162) \"(\"\n SYMBOL: (162..165)\n IDENTIFIER: (162..165) \"mod\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"a\"\n ATMOSPHERE: (167..168) \" \"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"b\"\n CLOSE_PAREN: (169..170) \")\"\n CLOSE_PAREN: (170..171) \")\"\n CLOSE_PAREN: (171..172) \")\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..175) \"\n\n\"\n FORM: (175..195)\n OPEN_PAREN: (175..176) \"(\"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"display\"\n ATMOSPHERE: (183..184) \" \"\n FORM: (184..194)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..188)\n IDENTIFIER: (185..188) \"gcd\"\n ATMOSPHERE: (188..189) \" \"\n CONSTANT: (189..190)\n NUMBER: (189..190) \"8\"\n ATMOSPHERE: (190..191) \" \"\n CONSTANT: (191..193)\n NUMBER: (191..193) \"12\"\n CLOSE_PAREN: (193..194) \")\"\n CLOSE_PAREN: (194..195) \")\"\n FORM: (195..204)\n OPEN_PAREN: (195..196) \"(\"\n SYMBOL: (196..203)\n IDENTIFIER: (196..203) \"newline\"\n CLOSE_PAREN: (203..204) \")\"\n ATMOSPHERE: (204..205) \"\n\"\n FORM: (205..226)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..213)\n IDENTIFIER: (206..213) \"display\"\n ATMOSPHERE: (213..214) \" \"\n FORM: (214..225)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..218)\n IDENTIFIER: (215..218) \"gcd\"\n ATMOSPHERE: (218..219) \" \"\n CONSTANT: (219..221)\n NUMBER: (219..221) \"42\"\n ATMOSPHERE: (221..222) \" \"\n CONSTANT: (222..224)\n NUMBER: (222..224) \"56\"\n CLOSE_PAREN: (224..225) \")\"\n CLOSE_PAREN: (225..226) \")\"\n FORM: (226..235)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..234)\n IDENTIFIER: (227..234) \"newline\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..236) \"\n\"\n FORM: (236..265)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..244)\n IDENTIFIER: (237..244) \"display\"\n ATMOSPHERE: (244..245) \" \"\n FORM: (245..264)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..249)\n IDENTIFIER: (246..249) \"gcd\"\n ATMOSPHERE: (249..250) \" \"\n CONSTANT: (250..256)\n NUMBER: (250..256) \"461952\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..263)\n NUMBER: (257..263) \"116298\"\n CLOSE_PAREN: (263..264) \")\"\n CLOSE_PAREN: (264..265) \")\"\n FORM: (265..274)\n OPEN_PAREN: (265..266) \"(\"\n SYMBOL: (266..273)\n IDENTIFIER: (266..273) \"newline\"\n CLOSE_PAREN: (273..274) \")\"\n ATMOSPHERE: (274..275) \"\n\"\n FORM: (275..308)\n OPEN_PAREN: (275..276) \"(\"\n SYMBOL: (276..283)\n IDENTIFIER: (276..283) \"display\"\n ATMOSPHERE: (283..284) \" \"\n FORM: (284..307)\n OPEN_PAREN: (284..285) \"(\"\n SYMBOL: (285..288)\n IDENTIFIER: (285..288) \"gcd\"\n ATMOSPHERE: (288..289) \" \"\n CONSTANT: (289..296)\n NUMBER: (289..296) \"7966496\"\n ATMOSPHERE: (296..297) \" \"\n CONSTANT: (297..306)\n NUMBER: (297..306) \"314080416\"\n CLOSE_PAREN: (306..307) \")\"\n CLOSE_PAREN: (307..308) \")\"\n FORM: (308..317)\n OPEN_PAREN: (308..309) \"(\"\n SYMBOL: (309..316)\n IDENTIFIER: (309..316) \"newline\"\n CLOSE_PAREN: (316..317) \")\"\n ATMOSPHERE: (317..318) \"\n\"\n FORM: (318..351)\n OPEN_PAREN: (318..319) \"(\"\n SYMBOL: (319..326)\n IDENTIFIER: (319..326) \"display\"\n ATMOSPHERE: (326..327) \" \"\n FORM: (327..350)\n OPEN_PAREN: (327..328) \"(\"\n SYMBOL: (328..331)\n IDENTIFIER: (328..331) \"gcd\"\n ATMOSPHERE: (331..332) \" \"\n CONSTANT: (332..340)\n NUMBER: (332..340) \"24826148\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..349)\n NUMBER: (341..349) \"45296490\"\n CLOSE_PAREN: (349..350) \")\"\n CLOSE_PAREN: (350..351) \")\"\n FORM: (351..360)\n OPEN_PAREN: (351..352) \"(\"\n SYMBOL: (352..359)\n IDENTIFIER: (352..359) \"newline\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..361) \"\n\"\n FORM: (361..381)\n OPEN_PAREN: (361..362) \"(\"\n SYMBOL: (362..369)\n IDENTIFIER: (362..369) \"display\"\n ATMOSPHERE: (369..370) \" \"\n FORM: (370..380)\n OPEN_PAREN: (370..371) \"(\"\n SYMBOL: (371..374)\n IDENTIFIER: (371..374) \"gcd\"\n ATMOSPHERE: (374..375) \" \"\n CONSTANT: (375..377)\n NUMBER: (375..377) \"12\"\n ATMOSPHERE: (377..378) \" \"\n CONSTANT: (378..379)\n NUMBER: (378..379) \"0\"\n CLOSE_PAREN: (379..380) \")\"\n CLOSE_PAREN: (380..381) \")\"\n FORM: (381..390)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..389)\n IDENTIFIER: (382..389) \"newline\"\n CLOSE_PAREN: (389..390) \")\"\n ATMOSPHERE: (390..391) \"\n\"\n FORM: (391..410)\n OPEN_PAREN: (391..392) \"(\"\n SYMBOL: (392..399)\n IDENTIFIER: (392..399) \"display\"\n ATMOSPHERE: (399..400) \" \"\n FORM: (400..409)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..404)\n IDENTIFIER: (401..404) \"gcd\"\n ATMOSPHERE: (404..405) \" \"\n CONSTANT: (405..406)\n NUMBER: (405..406) \"0\"\n ATMOSPHERE: (406..407) \" \"\n CONSTANT: (407..408)\n NUMBER: (407..408) \"0\"\n CLOSE_PAREN: (408..409) \")\"\n CLOSE_PAREN: (409..410) \")\"\n FORM: (410..419)\n OPEN_PAREN: (410..411) \"(\"\n SYMBOL: (411..418)\n IDENTIFIER: (411..418) \"newline\"\n CLOSE_PAREN: (418..419) \")\"\n ATMOSPHERE: (419..420) \"\n\"\n FORM: (420..439)\n OPEN_PAREN: (420..421) \"(\"\n SYMBOL: (421..428)\n IDENTIFIER: (421..428) \"display\"\n ATMOSPHERE: (428..429) \" \"\n FORM: (429..438)\n OPEN_PAREN: (429..430) \"(\"\n SYMBOL: (430..433)\n IDENTIFIER: (430..433) \"gcd\"\n ATMOSPHERE: (433..434) \" \"\n CONSTANT: (434..435)\n NUMBER: (434..435) \"0\"\n ATMOSPHERE: (435..436) \" \"\n CONSTANT: (436..437)\n NUMBER: (436..437) \"9\"\n CLOSE_PAREN: (437..438) \")\"\n CLOSE_PAREN: (438..439) \")\"\n FORM: (439..448)\n OPEN_PAREN: (439..440) \"(\"\n SYMBOL: (440..447)\n IDENTIFIER: (440..447) \"newline\"\n CLOSE_PAREN: (447..448) \")\"\n ATMOSPHERE: (448..449) \"\n\"\n EOF: (449..449) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json b/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json index 289e8be..bba9d5e 100644 --- a/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..836)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..82)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..60)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..55)\n IDENTIFIER: (52..55) \"min\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"x\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"y\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..65) \"\n \"\n FORM: (65..81)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..68)\n IDENTIFIER: (66..68) \"if\"\n ATMOSPHERE: (68..69) \" \"\n FORM: (69..76)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"<\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"x\"\n ATMOSPHERE: (73..74) \" \"\n SYMBOL: (74..75)\n IDENTIFIER: (74..75) \"y\"\n CLOSE_PAREN: (75..76) \")\"\n ATMOSPHERE: (76..77) \" \"\n SYMBOL: (77..78)\n IDENTIFIER: (77..78) \"x\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..80)\n IDENTIFIER: (79..80) \"y\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..83) \"\n\"\n FORM: (83..122)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..90)\n IDENTIFIER: (84..90) \"define\"\n ATMOSPHERE: (90..91) \" \"\n FORM: (91..100)\n OPEN_PAREN: (91..92) \"(\"\n SYMBOL: (92..95)\n IDENTIFIER: (92..95) \"max\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"x\"\n ATMOSPHERE: (97..98) \" \"\n SYMBOL: (98..99)\n IDENTIFIER: (98..99) \"y\"\n CLOSE_PAREN: (99..100) \")\"\n ATMOSPHERE: (100..105) \"\n \"\n FORM: (105..121)\n OPEN_PAREN: (105..106) \"(\"\n SYMBOL: (106..108)\n IDENTIFIER: (106..108) \"if\"\n ATMOSPHERE: (108..109) \" \"\n FORM: (109..116)\n OPEN_PAREN: (109..110) \"(\"\n SYMBOL: (110..111)\n IDENTIFIER: (110..111) \">\"\n ATMOSPHERE: (111..112) \" \"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"x\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"y\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..118)\n IDENTIFIER: (117..118) \"x\"\n ATMOSPHERE: (118..119) \" \"\n SYMBOL: (119..120)\n IDENTIFIER: (119..120) \"y\"\n CLOSE_PAREN: (120..121) \")\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..124) \"\n\n\"\n ATMOSPHERE: (124..171) \";; Computes the greatest consecutive difference\"\n ATMOSPHERE: (171..172) \"\n\"\n FORM: (172..566)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..179)\n IDENTIFIER: (173..179) \"define\"\n ATMOSPHERE: (179..180) \" \"\n FORM: (180..200)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..194)\n IDENTIFIER: (181..194) \"greatest-diff\"\n ATMOSPHERE: (194..195) \" \"\n SYMBOL: (195..199)\n IDENTIFIER: (195..199) \"nums\"\n CLOSE_PAREN: (199..200) \")\"\n ATMOSPHERE: (200..205) \"\n \"\n FORM: (205..523)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..212)\n IDENTIFIER: (206..212) \"define\"\n ATMOSPHERE: (212..213) \" \"\n FORM: (213..248)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..234)\n IDENTIFIER: (214..234) \"greatest-diff-helper\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..239)\n IDENTIFIER: (235..239) \"nums\"\n ATMOSPHERE: (239..240) \" \"\n SYMBOL: (240..243)\n IDENTIFIER: (240..243) \"low\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..247)\n IDENTIFIER: (244..247) \"ret\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..257) \"\n \"\n FORM: (257..522)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..260)\n IDENTIFIER: (258..260) \"if\"\n ATMOSPHERE: (260..261) \" \"\n FORM: (261..273)\n OPEN_PAREN: (261..262) \"(\"\n SYMBOL: (262..267)\n IDENTIFIER: (262..267) \"null?\"\n ATMOSPHERE: (267..268) \" \"\n SYMBOL: (268..272)\n IDENTIFIER: (268..272) \"nums\"\n CLOSE_PAREN: (272..273) \")\"\n ATMOSPHERE: (273..286) \"\n \"\n SYMBOL: (286..289)\n IDENTIFIER: (286..289) \"ret\"\n ATMOSPHERE: (289..302) \"\n \"\n FORM: (302..521)\n OPEN_PAREN: (302..303) \"(\"\n SYMBOL: (303..307)\n IDENTIFIER: (303..307) \"let*\"\n ATMOSPHERE: (307..308) \" \"\n FORM: (308..468)\n OPEN_PAREN: (308..309) \"(\"\n FORM: (309..325)\n OPEN_PAREN: (309..310) \"(\"\n SYMBOL: (310..313)\n IDENTIFIER: (310..313) \"cur\"\n ATMOSPHERE: (313..314) \" \"\n FORM: (314..324)\n OPEN_PAREN: (314..315) \"(\"\n SYMBOL: (315..318)\n IDENTIFIER: (315..318) \"car\"\n ATMOSPHERE: (318..319) \" \"\n SYMBOL: (319..323)\n IDENTIFIER: (319..323) \"nums\"\n CLOSE_PAREN: (323..324) \")\"\n CLOSE_PAREN: (324..325) \")\"\n ATMOSPHERE: (325..342) \"\n \"\n FORM: (342..359)\n OPEN_PAREN: (342..343) \"(\"\n SYMBOL: (343..347)\n IDENTIFIER: (343..347) \"rest\"\n ATMOSPHERE: (347..348) \" \"\n FORM: (348..358)\n OPEN_PAREN: (348..349) \"(\"\n SYMBOL: (349..352)\n IDENTIFIER: (349..352) \"cdr\"\n ATMOSPHERE: (352..353) \" \"\n SYMBOL: (353..357)\n IDENTIFIER: (353..357) \"nums\"\n CLOSE_PAREN: (357..358) \")\"\n CLOSE_PAREN: (358..359) \")\"\n ATMOSPHERE: (359..376) \"\n \"\n FORM: (376..394)\n OPEN_PAREN: (376..377) \"(\"\n SYMBOL: (377..381)\n IDENTIFIER: (377..381) \"diff\"\n ATMOSPHERE: (381..382) \" \"\n FORM: (382..393)\n OPEN_PAREN: (382..383) \"(\"\n SYMBOL: (383..384)\n IDENTIFIER: (383..384) \"-\"\n ATMOSPHERE: (384..385) \" \"\n SYMBOL: (385..388)\n IDENTIFIER: (385..388) \"cur\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..392)\n IDENTIFIER: (389..392) \"low\"\n CLOSE_PAREN: (392..393) \")\"\n CLOSE_PAREN: (393..394) \")\"\n ATMOSPHERE: (394..411) \"\n \"\n FORM: (411..430)\n OPEN_PAREN: (411..412) \"(\"\n SYMBOL: (412..415)\n IDENTIFIER: (412..415) \"low\"\n ATMOSPHERE: (415..416) \" \"\n FORM: (416..429)\n OPEN_PAREN: (416..417) \"(\"\n SYMBOL: (417..420)\n IDENTIFIER: (417..420) \"min\"\n ATMOSPHERE: (420..421) \" \"\n SYMBOL: (421..424)\n IDENTIFIER: (421..424) \"low\"\n ATMOSPHERE: (424..425) \" \"\n SYMBOL: (425..428)\n IDENTIFIER: (425..428) \"cur\"\n CLOSE_PAREN: (428..429) \")\"\n CLOSE_PAREN: (429..430) \")\"\n ATMOSPHERE: (430..447) \"\n \"\n FORM: (447..467)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..451)\n IDENTIFIER: (448..451) \"ret\"\n ATMOSPHERE: (451..452) \" \"\n FORM: (452..466)\n OPEN_PAREN: (452..453) \"(\"\n SYMBOL: (453..456)\n IDENTIFIER: (453..456) \"max\"\n ATMOSPHERE: (456..457) \" \"\n SYMBOL: (457..461)\n IDENTIFIER: (457..461) \"diff\"\n ATMOSPHERE: (461..462) \" \"\n SYMBOL: (462..465)\n IDENTIFIER: (462..465) \"ret\"\n CLOSE_PAREN: (465..466) \")\"\n CLOSE_PAREN: (466..467) \")\"\n CLOSE_PAREN: (467..468) \")\"\n ATMOSPHERE: (468..485) \"\n \"\n FORM: (485..520)\n OPEN_PAREN: (485..486) \"(\"\n SYMBOL: (486..506)\n IDENTIFIER: (486..506) \"greatest-diff-helper\"\n ATMOSPHERE: (506..507) \" \"\n SYMBOL: (507..511)\n IDENTIFIER: (507..511) \"rest\"\n ATMOSPHERE: (511..512) \" \"\n SYMBOL: (512..515)\n IDENTIFIER: (512..515) \"low\"\n ATMOSPHERE: (515..516) \" \"\n SYMBOL: (516..519)\n IDENTIFIER: (516..519) \"ret\"\n CLOSE_PAREN: (519..520) \")\"\n CLOSE_PAREN: (520..521) \")\"\n CLOSE_PAREN: (521..522) \")\"\n CLOSE_PAREN: (522..523) \")\"\n ATMOSPHERE: (523..528) \"\n \"\n FORM: (528..565)\n OPEN_PAREN: (528..529) \"(\"\n SYMBOL: (529..549)\n IDENTIFIER: (529..549) \"greatest-diff-helper\"\n ATMOSPHERE: (549..550) \" \"\n SYMBOL: (550..554)\n IDENTIFIER: (550..554) \"nums\"\n ATMOSPHERE: (554..555) \" \"\n CONSTANT: (555..561)\n NUMBER: (555..561) \"100000\"\n ATMOSPHERE: (561..562) \" \"\n CONSTANT: (562..564)\n NUMBER: (562..564) \"-1\"\n CLOSE_PAREN: (564..565) \")\"\n CLOSE_PAREN: (565..566) \")\"\n ATMOSPHERE: (566..569) \"\n\n\n\"\n FORM: (569..611)\n OPEN_PAREN: (569..570) \"(\"\n SYMBOL: (570..577)\n IDENTIFIER: (570..577) \"display\"\n ATMOSPHERE: (577..578) \" \"\n FORM: (578..610)\n OPEN_PAREN: (578..579) \"(\"\n SYMBOL: (579..592)\n IDENTIFIER: (579..592) \"greatest-diff\"\n ATMOSPHERE: (592..593) \" \"\n FORM: (593..609)\n OPEN_PAREN: (593..594) \"(\"\n SYMBOL: (594..598)\n IDENTIFIER: (594..598) \"list\"\n ATMOSPHERE: (598..599) \" \"\n CONSTANT: (599..600)\n NUMBER: (599..600) \"1\"\n ATMOSPHERE: (600..601) \" \"\n CONSTANT: (601..602)\n NUMBER: (601..602) \"2\"\n ATMOSPHERE: (602..603) \" \"\n CONSTANT: (603..604)\n NUMBER: (603..604) \"3\"\n ATMOSPHERE: (604..605) \" \"\n CONSTANT: (605..606)\n NUMBER: (605..606) \"4\"\n ATMOSPHERE: (606..607) \" \"\n CONSTANT: (607..608)\n NUMBER: (607..608) \"5\"\n CLOSE_PAREN: (608..609) \")\"\n CLOSE_PAREN: (609..610) \")\"\n CLOSE_PAREN: (610..611) \")\"\n FORM: (611..620)\n OPEN_PAREN: (611..612) \"(\"\n SYMBOL: (612..619)\n IDENTIFIER: (612..619) \"newline\"\n CLOSE_PAREN: (619..620) \")\"\n ATMOSPHERE: (620..622) \" \"\n ATMOSPHERE: (622..634) \"; -> 4 (1 5)\"\n ATMOSPHERE: (634..635) \"\n\"\n FORM: (635..675)\n OPEN_PAREN: (635..636) \"(\"\n SYMBOL: (636..643)\n IDENTIFIER: (636..643) \"display\"\n ATMOSPHERE: (643..644) \" \"\n FORM: (644..674)\n OPEN_PAREN: (644..645) \"(\"\n SYMBOL: (645..658)\n IDENTIFIER: (645..658) \"greatest-diff\"\n ATMOSPHERE: (658..659) \" \"\n FORM: (659..673)\n OPEN_PAREN: (659..660) \"(\"\n SYMBOL: (660..664)\n IDENTIFIER: (660..664) \"list\"\n ATMOSPHERE: (664..665) \" \"\n CONSTANT: (665..666)\n NUMBER: (665..666) \"7\"\n ATMOSPHERE: (666..667) \" \"\n CONSTANT: (667..668)\n NUMBER: (667..668) \"1\"\n ATMOSPHERE: (668..669) \" \"\n CONSTANT: (669..670)\n NUMBER: (669..670) \"5\"\n ATMOSPHERE: (670..671) \" \"\n CONSTANT: (671..672)\n NUMBER: (671..672) \"4\"\n CLOSE_PAREN: (672..673) \")\"\n CLOSE_PAREN: (673..674) \")\"\n CLOSE_PAREN: (674..675) \")\"\n FORM: (675..684)\n OPEN_PAREN: (675..676) \"(\"\n SYMBOL: (676..683)\n IDENTIFIER: (676..683) \"newline\"\n CLOSE_PAREN: (683..684) \")\"\n ATMOSPHERE: (684..688) \" \"\n ATMOSPHERE: (688..700) \"; -> 4 (1 5)\"\n ATMOSPHERE: (700..701) \"\n\"\n FORM: (701..741)\n OPEN_PAREN: (701..702) \"(\"\n SYMBOL: (702..709)\n IDENTIFIER: (702..709) \"display\"\n ATMOSPHERE: (709..710) \" \"\n FORM: (710..740)\n OPEN_PAREN: (710..711) \"(\"\n SYMBOL: (711..724)\n IDENTIFIER: (711..724) \"greatest-diff\"\n ATMOSPHERE: (724..725) \" \"\n FORM: (725..739)\n OPEN_PAREN: (725..726) \"(\"\n SYMBOL: (726..730)\n IDENTIFIER: (726..730) \"list\"\n ATMOSPHERE: (730..731) \" \"\n CONSTANT: (731..732)\n NUMBER: (731..732) \"9\"\n ATMOSPHERE: (732..733) \" \"\n CONSTANT: (733..734)\n NUMBER: (733..734) \"4\"\n ATMOSPHERE: (734..735) \" \"\n CONSTANT: (735..736)\n NUMBER: (735..736) \"3\"\n ATMOSPHERE: (736..737) \" \"\n CONSTANT: (737..738)\n NUMBER: (737..738) \"2\"\n CLOSE_PAREN: (738..739) \")\"\n CLOSE_PAREN: (739..740) \")\"\n CLOSE_PAREN: (740..741) \")\"\n FORM: (741..750)\n OPEN_PAREN: (741..742) \"(\"\n SYMBOL: (742..749)\n IDENTIFIER: (742..749) \"newline\"\n CLOSE_PAREN: (749..750) \")\"\n ATMOSPHERE: (750..754) \" \"\n ATMOSPHERE: (754..768) \"; -> -1 (none)\"\n ATMOSPHERE: (768..769) \"\n\"\n FORM: (769..810)\n OPEN_PAREN: (769..770) \"(\"\n SYMBOL: (770..777)\n IDENTIFIER: (770..777) \"display\"\n ATMOSPHERE: (777..778) \" \"\n FORM: (778..809)\n OPEN_PAREN: (778..779) \"(\"\n SYMBOL: (779..792)\n IDENTIFIER: (779..792) \"greatest-diff\"\n ATMOSPHERE: (792..793) \" \"\n FORM: (793..808)\n OPEN_PAREN: (793..794) \"(\"\n SYMBOL: (794..798)\n IDENTIFIER: (794..798) \"list\"\n ATMOSPHERE: (798..799) \" \"\n CONSTANT: (799..800)\n NUMBER: (799..800) \"1\"\n ATMOSPHERE: (800..801) \" \"\n CONSTANT: (801..802)\n NUMBER: (801..802) \"5\"\n ATMOSPHERE: (802..803) \" \"\n CONSTANT: (803..804)\n NUMBER: (803..804) \"2\"\n ATMOSPHERE: (804..805) \" \"\n CONSTANT: (805..807)\n NUMBER: (805..807) \"10\"\n CLOSE_PAREN: (807..808) \")\"\n CLOSE_PAREN: (808..809) \")\"\n CLOSE_PAREN: (809..810) \")\"\n FORM: (810..819)\n OPEN_PAREN: (810..811) \"(\"\n SYMBOL: (811..818)\n IDENTIFIER: (811..818) \"newline\"\n CLOSE_PAREN: (818..819) \")\"\n ATMOSPHERE: (819..822) \" \"\n ATMOSPHERE: (822..835) \"; -> 9 (1 10)\"\n ATMOSPHERE: (835..836) \"\n\"\n" + "Root": "PROGRAM: (0..836)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..82)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..60)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..55)\n IDENTIFIER: (52..55) \"min\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"x\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"y\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..65) \"\n \"\n FORM: (65..81)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..68)\n IDENTIFIER: (66..68) \"if\"\n ATMOSPHERE: (68..69) \" \"\n FORM: (69..76)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"<\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"x\"\n ATMOSPHERE: (73..74) \" \"\n SYMBOL: (74..75)\n IDENTIFIER: (74..75) \"y\"\n CLOSE_PAREN: (75..76) \")\"\n ATMOSPHERE: (76..77) \" \"\n SYMBOL: (77..78)\n IDENTIFIER: (77..78) \"x\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..80)\n IDENTIFIER: (79..80) \"y\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..83) \"\n\"\n FORM: (83..122)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..90)\n IDENTIFIER: (84..90) \"define\"\n ATMOSPHERE: (90..91) \" \"\n FORM: (91..100)\n OPEN_PAREN: (91..92) \"(\"\n SYMBOL: (92..95)\n IDENTIFIER: (92..95) \"max\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"x\"\n ATMOSPHERE: (97..98) \" \"\n SYMBOL: (98..99)\n IDENTIFIER: (98..99) \"y\"\n CLOSE_PAREN: (99..100) \")\"\n ATMOSPHERE: (100..105) \"\n \"\n FORM: (105..121)\n OPEN_PAREN: (105..106) \"(\"\n SYMBOL: (106..108)\n IDENTIFIER: (106..108) \"if\"\n ATMOSPHERE: (108..109) \" \"\n FORM: (109..116)\n OPEN_PAREN: (109..110) \"(\"\n SYMBOL: (110..111)\n IDENTIFIER: (110..111) \">\"\n ATMOSPHERE: (111..112) \" \"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"x\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"y\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..118)\n IDENTIFIER: (117..118) \"x\"\n ATMOSPHERE: (118..119) \" \"\n SYMBOL: (119..120)\n IDENTIFIER: (119..120) \"y\"\n CLOSE_PAREN: (120..121) \")\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..124) \"\n\n\"\n ATMOSPHERE: (124..171) \";; Computes the greatest consecutive difference\"\n ATMOSPHERE: (171..172) \"\n\"\n FORM: (172..566)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..179)\n IDENTIFIER: (173..179) \"define\"\n ATMOSPHERE: (179..180) \" \"\n FORM: (180..200)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..194)\n IDENTIFIER: (181..194) \"greatest-diff\"\n ATMOSPHERE: (194..195) \" \"\n SYMBOL: (195..199)\n IDENTIFIER: (195..199) \"nums\"\n CLOSE_PAREN: (199..200) \")\"\n ATMOSPHERE: (200..205) \"\n \"\n FORM: (205..523)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..212)\n IDENTIFIER: (206..212) \"define\"\n ATMOSPHERE: (212..213) \" \"\n FORM: (213..248)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..234)\n IDENTIFIER: (214..234) \"greatest-diff-helper\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..239)\n IDENTIFIER: (235..239) \"nums\"\n ATMOSPHERE: (239..240) \" \"\n SYMBOL: (240..243)\n IDENTIFIER: (240..243) \"low\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..247)\n IDENTIFIER: (244..247) \"ret\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..257) \"\n \"\n FORM: (257..522)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..260)\n IDENTIFIER: (258..260) \"if\"\n ATMOSPHERE: (260..261) \" \"\n FORM: (261..273)\n OPEN_PAREN: (261..262) \"(\"\n SYMBOL: (262..267)\n IDENTIFIER: (262..267) \"null?\"\n ATMOSPHERE: (267..268) \" \"\n SYMBOL: (268..272)\n IDENTIFIER: (268..272) \"nums\"\n CLOSE_PAREN: (272..273) \")\"\n ATMOSPHERE: (273..286) \"\n \"\n SYMBOL: (286..289)\n IDENTIFIER: (286..289) \"ret\"\n ATMOSPHERE: (289..302) \"\n \"\n FORM: (302..521)\n OPEN_PAREN: (302..303) \"(\"\n SYMBOL: (303..307)\n IDENTIFIER: (303..307) \"let*\"\n ATMOSPHERE: (307..308) \" \"\n FORM: (308..468)\n OPEN_PAREN: (308..309) \"(\"\n FORM: (309..325)\n OPEN_PAREN: (309..310) \"(\"\n SYMBOL: (310..313)\n IDENTIFIER: (310..313) \"cur\"\n ATMOSPHERE: (313..314) \" \"\n FORM: (314..324)\n OPEN_PAREN: (314..315) \"(\"\n SYMBOL: (315..318)\n IDENTIFIER: (315..318) \"car\"\n ATMOSPHERE: (318..319) \" \"\n SYMBOL: (319..323)\n IDENTIFIER: (319..323) \"nums\"\n CLOSE_PAREN: (323..324) \")\"\n CLOSE_PAREN: (324..325) \")\"\n ATMOSPHERE: (325..342) \"\n \"\n FORM: (342..359)\n OPEN_PAREN: (342..343) \"(\"\n SYMBOL: (343..347)\n IDENTIFIER: (343..347) \"rest\"\n ATMOSPHERE: (347..348) \" \"\n FORM: (348..358)\n OPEN_PAREN: (348..349) \"(\"\n SYMBOL: (349..352)\n IDENTIFIER: (349..352) \"cdr\"\n ATMOSPHERE: (352..353) \" \"\n SYMBOL: (353..357)\n IDENTIFIER: (353..357) \"nums\"\n CLOSE_PAREN: (357..358) \")\"\n CLOSE_PAREN: (358..359) \")\"\n ATMOSPHERE: (359..376) \"\n \"\n FORM: (376..394)\n OPEN_PAREN: (376..377) \"(\"\n SYMBOL: (377..381)\n IDENTIFIER: (377..381) \"diff\"\n ATMOSPHERE: (381..382) \" \"\n FORM: (382..393)\n OPEN_PAREN: (382..383) \"(\"\n SYMBOL: (383..384)\n IDENTIFIER: (383..384) \"-\"\n ATMOSPHERE: (384..385) \" \"\n SYMBOL: (385..388)\n IDENTIFIER: (385..388) \"cur\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..392)\n IDENTIFIER: (389..392) \"low\"\n CLOSE_PAREN: (392..393) \")\"\n CLOSE_PAREN: (393..394) \")\"\n ATMOSPHERE: (394..411) \"\n \"\n FORM: (411..430)\n OPEN_PAREN: (411..412) \"(\"\n SYMBOL: (412..415)\n IDENTIFIER: (412..415) \"low\"\n ATMOSPHERE: (415..416) \" \"\n FORM: (416..429)\n OPEN_PAREN: (416..417) \"(\"\n SYMBOL: (417..420)\n IDENTIFIER: (417..420) \"min\"\n ATMOSPHERE: (420..421) \" \"\n SYMBOL: (421..424)\n IDENTIFIER: (421..424) \"low\"\n ATMOSPHERE: (424..425) \" \"\n SYMBOL: (425..428)\n IDENTIFIER: (425..428) \"cur\"\n CLOSE_PAREN: (428..429) \")\"\n CLOSE_PAREN: (429..430) \")\"\n ATMOSPHERE: (430..447) \"\n \"\n FORM: (447..467)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..451)\n IDENTIFIER: (448..451) \"ret\"\n ATMOSPHERE: (451..452) \" \"\n FORM: (452..466)\n OPEN_PAREN: (452..453) \"(\"\n SYMBOL: (453..456)\n IDENTIFIER: (453..456) \"max\"\n ATMOSPHERE: (456..457) \" \"\n SYMBOL: (457..461)\n IDENTIFIER: (457..461) \"diff\"\n ATMOSPHERE: (461..462) \" \"\n SYMBOL: (462..465)\n IDENTIFIER: (462..465) \"ret\"\n CLOSE_PAREN: (465..466) \")\"\n CLOSE_PAREN: (466..467) \")\"\n CLOSE_PAREN: (467..468) \")\"\n ATMOSPHERE: (468..485) \"\n \"\n FORM: (485..520)\n OPEN_PAREN: (485..486) \"(\"\n SYMBOL: (486..506)\n IDENTIFIER: (486..506) \"greatest-diff-helper\"\n ATMOSPHERE: (506..507) \" \"\n SYMBOL: (507..511)\n IDENTIFIER: (507..511) \"rest\"\n ATMOSPHERE: (511..512) \" \"\n SYMBOL: (512..515)\n IDENTIFIER: (512..515) \"low\"\n ATMOSPHERE: (515..516) \" \"\n SYMBOL: (516..519)\n IDENTIFIER: (516..519) \"ret\"\n CLOSE_PAREN: (519..520) \")\"\n CLOSE_PAREN: (520..521) \")\"\n CLOSE_PAREN: (521..522) \")\"\n CLOSE_PAREN: (522..523) \")\"\n ATMOSPHERE: (523..528) \"\n \"\n FORM: (528..565)\n OPEN_PAREN: (528..529) \"(\"\n SYMBOL: (529..549)\n IDENTIFIER: (529..549) \"greatest-diff-helper\"\n ATMOSPHERE: (549..550) \" \"\n SYMBOL: (550..554)\n IDENTIFIER: (550..554) \"nums\"\n ATMOSPHERE: (554..555) \" \"\n CONSTANT: (555..561)\n NUMBER: (555..561) \"100000\"\n ATMOSPHERE: (561..562) \" \"\n CONSTANT: (562..564)\n NUMBER: (562..564) \"-1\"\n CLOSE_PAREN: (564..565) \")\"\n CLOSE_PAREN: (565..566) \")\"\n ATMOSPHERE: (566..569) \"\n\n\n\"\n FORM: (569..611)\n OPEN_PAREN: (569..570) \"(\"\n SYMBOL: (570..577)\n IDENTIFIER: (570..577) \"display\"\n ATMOSPHERE: (577..578) \" \"\n FORM: (578..610)\n OPEN_PAREN: (578..579) \"(\"\n SYMBOL: (579..592)\n IDENTIFIER: (579..592) \"greatest-diff\"\n ATMOSPHERE: (592..593) \" \"\n FORM: (593..609)\n OPEN_PAREN: (593..594) \"(\"\n SYMBOL: (594..598)\n IDENTIFIER: (594..598) \"list\"\n ATMOSPHERE: (598..599) \" \"\n CONSTANT: (599..600)\n NUMBER: (599..600) \"1\"\n ATMOSPHERE: (600..601) \" \"\n CONSTANT: (601..602)\n NUMBER: (601..602) \"2\"\n ATMOSPHERE: (602..603) \" \"\n CONSTANT: (603..604)\n NUMBER: (603..604) \"3\"\n ATMOSPHERE: (604..605) \" \"\n CONSTANT: (605..606)\n NUMBER: (605..606) \"4\"\n ATMOSPHERE: (606..607) \" \"\n CONSTANT: (607..608)\n NUMBER: (607..608) \"5\"\n CLOSE_PAREN: (608..609) \")\"\n CLOSE_PAREN: (609..610) \")\"\n CLOSE_PAREN: (610..611) \")\"\n FORM: (611..620)\n OPEN_PAREN: (611..612) \"(\"\n SYMBOL: (612..619)\n IDENTIFIER: (612..619) \"newline\"\n CLOSE_PAREN: (619..620) \")\"\n ATMOSPHERE: (620..622) \" \"\n ATMOSPHERE: (622..634) \"; -> 4 (1 5)\"\n ATMOSPHERE: (634..635) \"\n\"\n FORM: (635..675)\n OPEN_PAREN: (635..636) \"(\"\n SYMBOL: (636..643)\n IDENTIFIER: (636..643) \"display\"\n ATMOSPHERE: (643..644) \" \"\n FORM: (644..674)\n OPEN_PAREN: (644..645) \"(\"\n SYMBOL: (645..658)\n IDENTIFIER: (645..658) \"greatest-diff\"\n ATMOSPHERE: (658..659) \" \"\n FORM: (659..673)\n OPEN_PAREN: (659..660) \"(\"\n SYMBOL: (660..664)\n IDENTIFIER: (660..664) \"list\"\n ATMOSPHERE: (664..665) \" \"\n CONSTANT: (665..666)\n NUMBER: (665..666) \"7\"\n ATMOSPHERE: (666..667) \" \"\n CONSTANT: (667..668)\n NUMBER: (667..668) \"1\"\n ATMOSPHERE: (668..669) \" \"\n CONSTANT: (669..670)\n NUMBER: (669..670) \"5\"\n ATMOSPHERE: (670..671) \" \"\n CONSTANT: (671..672)\n NUMBER: (671..672) \"4\"\n CLOSE_PAREN: (672..673) \")\"\n CLOSE_PAREN: (673..674) \")\"\n CLOSE_PAREN: (674..675) \")\"\n FORM: (675..684)\n OPEN_PAREN: (675..676) \"(\"\n SYMBOL: (676..683)\n IDENTIFIER: (676..683) \"newline\"\n CLOSE_PAREN: (683..684) \")\"\n ATMOSPHERE: (684..688) \" \"\n ATMOSPHERE: (688..700) \"; -> 4 (1 5)\"\n ATMOSPHERE: (700..701) \"\n\"\n FORM: (701..741)\n OPEN_PAREN: (701..702) \"(\"\n SYMBOL: (702..709)\n IDENTIFIER: (702..709) \"display\"\n ATMOSPHERE: (709..710) \" \"\n FORM: (710..740)\n OPEN_PAREN: (710..711) \"(\"\n SYMBOL: (711..724)\n IDENTIFIER: (711..724) \"greatest-diff\"\n ATMOSPHERE: (724..725) \" \"\n FORM: (725..739)\n OPEN_PAREN: (725..726) \"(\"\n SYMBOL: (726..730)\n IDENTIFIER: (726..730) \"list\"\n ATMOSPHERE: (730..731) \" \"\n CONSTANT: (731..732)\n NUMBER: (731..732) \"9\"\n ATMOSPHERE: (732..733) \" \"\n CONSTANT: (733..734)\n NUMBER: (733..734) \"4\"\n ATMOSPHERE: (734..735) \" \"\n CONSTANT: (735..736)\n NUMBER: (735..736) \"3\"\n ATMOSPHERE: (736..737) \" \"\n CONSTANT: (737..738)\n NUMBER: (737..738) \"2\"\n CLOSE_PAREN: (738..739) \")\"\n CLOSE_PAREN: (739..740) \")\"\n CLOSE_PAREN: (740..741) \")\"\n FORM: (741..750)\n OPEN_PAREN: (741..742) \"(\"\n SYMBOL: (742..749)\n IDENTIFIER: (742..749) \"newline\"\n CLOSE_PAREN: (749..750) \")\"\n ATMOSPHERE: (750..754) \" \"\n ATMOSPHERE: (754..768) \"; -> -1 (none)\"\n ATMOSPHERE: (768..769) \"\n\"\n FORM: (769..810)\n OPEN_PAREN: (769..770) \"(\"\n SYMBOL: (770..777)\n IDENTIFIER: (770..777) \"display\"\n ATMOSPHERE: (777..778) \" \"\n FORM: (778..809)\n OPEN_PAREN: (778..779) \"(\"\n SYMBOL: (779..792)\n IDENTIFIER: (779..792) \"greatest-diff\"\n ATMOSPHERE: (792..793) \" \"\n FORM: (793..808)\n OPEN_PAREN: (793..794) \"(\"\n SYMBOL: (794..798)\n IDENTIFIER: (794..798) \"list\"\n ATMOSPHERE: (798..799) \" \"\n CONSTANT: (799..800)\n NUMBER: (799..800) \"1\"\n ATMOSPHERE: (800..801) \" \"\n CONSTANT: (801..802)\n NUMBER: (801..802) \"5\"\n ATMOSPHERE: (802..803) \" \"\n CONSTANT: (803..804)\n NUMBER: (803..804) \"2\"\n ATMOSPHERE: (804..805) \" \"\n CONSTANT: (805..807)\n NUMBER: (805..807) \"10\"\n CLOSE_PAREN: (807..808) \")\"\n CLOSE_PAREN: (808..809) \")\"\n CLOSE_PAREN: (809..810) \")\"\n FORM: (810..819)\n OPEN_PAREN: (810..811) \"(\"\n SYMBOL: (811..818)\n IDENTIFIER: (811..818) \"newline\"\n CLOSE_PAREN: (818..819) \")\"\n ATMOSPHERE: (819..822) \" \"\n ATMOSPHERE: (822..835) \"; -> 9 (1 10)\"\n ATMOSPHERE: (835..836) \"\n\"\n EOF: (836..836) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_hello.scm.json b/test/Feersum.Tests/_snapshots/Parse_hello.scm.json index 4cbc903..1efa6e3 100644 --- a/test/Feersum.Tests/_snapshots/Parse_hello.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_hello.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..46)\n FORM: (0..23)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n CLOSE_PAREN: (22..23) \")\"\n ATMOSPHERE: (23..24) \"\n\"\n FORM: (24..46)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..32)\n IDENTIFIER: (25..32) \"display\"\n ATMOSPHERE: (32..33) \" \"\n CONSTANT: (33..45)\n STRING: (33..45) \"\"helloworld\"\"\n CLOSE_PAREN: (45..46) \")\"\n" + "Root": "PROGRAM: (0..46)\n FORM: (0..23)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n CLOSE_PAREN: (22..23) \")\"\n ATMOSPHERE: (23..24) \"\n\"\n FORM: (24..46)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..32)\n IDENTIFIER: (25..32) \"display\"\n ATMOSPHERE: (32..33) \" \"\n CONSTANT: (33..45)\n STRING: (33..45) \"\"helloworld\"\"\n CLOSE_PAREN: (45..46) \")\"\n EOF: (46..46) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json b/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json index d954439..b706ad2 100644 --- a/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..107)\n ATMOSPHERE: (0..29) \"; !depends: display-utils.sld\"\n ATMOSPHERE: (29..30) \"\n\"\n FORM: (30..61)\n OPEN_PAREN: (30..31) \"(\"\n SYMBOL: (31..37)\n IDENTIFIER: (31..37) \"import\"\n ATMOSPHERE: (37..38) \" \"\n FORM: (38..60)\n OPEN_PAREN: (38..39) \"(\"\n SYMBOL: (39..46)\n IDENTIFIER: (39..46) \"example\"\n ATMOSPHERE: (46..47) \" \"\n SYMBOL: (47..59)\n IDENTIFIER: (47..59) \"displayutils\"\n CLOSE_PAREN: (59..60) \")\"\n CLOSE_PAREN: (60..61) \")\"\n ATMOSPHERE: (61..62) \"\n\"\n FORM: (62..107)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..74)\n IDENTIFIER: (63..74) \"display-all\"\n ATMOSPHERE: (74..75) \" \"\n QUOTED_DATUM: (75..106)\n QUOTE: (75..76) \"'\"\n FORM: (76..106)\n OPEN_PAREN: (76..77) \"(\"\n CONSTANT: (77..86)\n STRING: (77..86) \"\"library\"\"\n ATMOSPHERE: (86..87) \" \"\n CONSTANT: (87..98)\n STRING: (87..98) \"\"reference\"\"\n ATMOSPHERE: (98..99) \" \"\n CONSTANT: (99..105)\n STRING: (99..105) \"\"test\"\"\n CLOSE_PAREN: (105..106) \")\"\n CLOSE_PAREN: (106..107) \")\"\n" + "Root": "PROGRAM: (0..107)\n ATMOSPHERE: (0..29) \"; !depends: display-utils.sld\"\n ATMOSPHERE: (29..30) \"\n\"\n FORM: (30..61)\n OPEN_PAREN: (30..31) \"(\"\n SYMBOL: (31..37)\n IDENTIFIER: (31..37) \"import\"\n ATMOSPHERE: (37..38) \" \"\n FORM: (38..60)\n OPEN_PAREN: (38..39) \"(\"\n SYMBOL: (39..46)\n IDENTIFIER: (39..46) \"example\"\n ATMOSPHERE: (46..47) \" \"\n SYMBOL: (47..59)\n IDENTIFIER: (47..59) \"displayutils\"\n CLOSE_PAREN: (59..60) \")\"\n CLOSE_PAREN: (60..61) \")\"\n ATMOSPHERE: (61..62) \"\n\"\n FORM: (62..107)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..74)\n IDENTIFIER: (63..74) \"display-all\"\n ATMOSPHERE: (74..75) \" \"\n QUOTED_DATUM: (75..106)\n QUOTE: (75..76) \"'\"\n FORM: (76..106)\n OPEN_PAREN: (76..77) \"(\"\n CONSTANT: (77..86)\n STRING: (77..86) \"\"library\"\"\n ATMOSPHERE: (86..87) \" \"\n CONSTANT: (87..98)\n STRING: (87..98) \"\"reference\"\"\n ATMOSPHERE: (98..99) \" \"\n CONSTANT: (99..105)\n STRING: (99..105) \"\"test\"\"\n CLOSE_PAREN: (105..106) \")\"\n CLOSE_PAREN: (106..107) \")\"\n EOF: (107..107) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json index 8081a28..ed01736 100644 --- a/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..328)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..118)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..66)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..63)\n IDENTIFIER: (51..63) \"make-counter\"\n ATMOSPHERE: (63..64) \" \"\n SYMBOL: (64..65)\n IDENTIFIER: (64..65) \"n\"\n CLOSE_PAREN: (65..66) \")\"\n ATMOSPHERE: (66..71) \"\n \"\n FORM: (71..117)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..78)\n IDENTIFIER: (72..78) \"lambda\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..81)\n OPEN_PAREN: (79..80) \"(\"\n CLOSE_PAREN: (80..81) \")\"\n ATMOSPHERE: (81..90) \"\n \"\n FORM: (90..106)\n OPEN_PAREN: (90..91) \"(\"\n SYMBOL: (91..95)\n IDENTIFIER: (91..95) \"set!\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..105)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..100)\n IDENTIFIER: (99..100) \"+\"\n ATMOSPHERE: (100..101) \" \"\n CONSTANT: (101..102)\n NUMBER: (101..102) \"1\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"n\"\n CLOSE_PAREN: (104..105) \")\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..115) \"\n \"\n SYMBOL: (115..116)\n IDENTIFIER: (115..116) \"n\"\n CLOSE_PAREN: (116..117) \")\"\n CLOSE_PAREN: (117..118) \")\"\n ATMOSPHERE: (118..119) \"\n\"\n FORM: (119..154)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..126)\n IDENTIFIER: (120..126) \"define\"\n ATMOSPHERE: (126..127) \" \"\n SYMBOL: (127..135)\n IDENTIFIER: (127..135) \"from-ten\"\n ATMOSPHERE: (135..136) \" \"\n FORM: (136..153)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..149)\n IDENTIFIER: (137..149) \"make-counter\"\n ATMOSPHERE: (149..150) \" \"\n CONSTANT: (150..152)\n NUMBER: (150..152) \"10\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..155) \"\n\"\n FORM: (155..191)\n OPEN_PAREN: (155..156) \"(\"\n SYMBOL: (156..162)\n IDENTIFIER: (156..162) \"define\"\n ATMOSPHERE: (162..163) \" \"\n SYMBOL: (163..171)\n IDENTIFIER: (163..171) \"from-ton\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..190)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..185)\n IDENTIFIER: (173..185) \"make-counter\"\n ATMOSPHERE: (185..186) \" \"\n CONSTANT: (186..189)\n NUMBER: (186..189) \"100\"\n CLOSE_PAREN: (189..190) \")\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..193) \"\n\n\"\n FORM: (193..213)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..212)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..211)\n IDENTIFIER: (203..211) \"from-ten\"\n CLOSE_PAREN: (211..212) \")\"\n CLOSE_PAREN: (212..213) \")\"\n ATMOSPHERE: (213..214) \"\n\"\n FORM: (214..234)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..222)\n IDENTIFIER: (215..222) \"display\"\n ATMOSPHERE: (222..223) \" \"\n FORM: (223..233)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..232)\n IDENTIFIER: (224..232) \"from-ton\"\n CLOSE_PAREN: (232..233) \")\"\n CLOSE_PAREN: (233..234) \")\"\n ATMOSPHERE: (234..236) \"\n\n\"\n ATMOSPHERE: (236..266) \";; This should return 102 + 12\"\n ATMOSPHERE: (266..267) \"\n\"\n FORM: (267..302)\n OPEN_PAREN: (267..268) \"(\"\n SYMBOL: (268..275)\n IDENTIFIER: (268..275) \"display\"\n ATMOSPHERE: (275..276) \" \"\n FORM: (276..301)\n OPEN_PAREN: (276..277) \"(\"\n SYMBOL: (277..278)\n IDENTIFIER: (277..278) \"+\"\n ATMOSPHERE: (278..279) \" \"\n FORM: (279..289)\n OPEN_PAREN: (279..280) \"(\"\n SYMBOL: (280..288)\n IDENTIFIER: (280..288) \"from-ton\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..290) \" \"\n FORM: (290..300)\n OPEN_PAREN: (290..291) \"(\"\n SYMBOL: (291..299)\n IDENTIFIER: (291..299) \"from-ten\"\n CLOSE_PAREN: (299..300) \")\"\n CLOSE_PAREN: (300..301) \")\"\n CLOSE_PAREN: (301..302) \")\"\n ATMOSPHERE: (302..303) \"\n\"\n FORM: (303..328)\n OPEN_PAREN: (303..304) \"(\"\n SYMBOL: (304..305)\n IDENTIFIER: (304..305) \"+\"\n ATMOSPHERE: (305..306) \" \"\n FORM: (306..316)\n OPEN_PAREN: (306..307) \"(\"\n SYMBOL: (307..315)\n IDENTIFIER: (307..315) \"from-ton\"\n CLOSE_PAREN: (315..316) \")\"\n ATMOSPHERE: (316..317) \" \"\n FORM: (317..327)\n OPEN_PAREN: (317..318) \"(\"\n SYMBOL: (318..326)\n IDENTIFIER: (318..326) \"from-ten\"\n CLOSE_PAREN: (326..327) \")\"\n CLOSE_PAREN: (327..328) \")\"\n" + "Root": "PROGRAM: (0..328)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..118)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..66)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..63)\n IDENTIFIER: (51..63) \"make-counter\"\n ATMOSPHERE: (63..64) \" \"\n SYMBOL: (64..65)\n IDENTIFIER: (64..65) \"n\"\n CLOSE_PAREN: (65..66) \")\"\n ATMOSPHERE: (66..71) \"\n \"\n FORM: (71..117)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..78)\n IDENTIFIER: (72..78) \"lambda\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..81)\n OPEN_PAREN: (79..80) \"(\"\n CLOSE_PAREN: (80..81) \")\"\n ATMOSPHERE: (81..90) \"\n \"\n FORM: (90..106)\n OPEN_PAREN: (90..91) \"(\"\n SYMBOL: (91..95)\n IDENTIFIER: (91..95) \"set!\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..105)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..100)\n IDENTIFIER: (99..100) \"+\"\n ATMOSPHERE: (100..101) \" \"\n CONSTANT: (101..102)\n NUMBER: (101..102) \"1\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"n\"\n CLOSE_PAREN: (104..105) \")\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..115) \"\n \"\n SYMBOL: (115..116)\n IDENTIFIER: (115..116) \"n\"\n CLOSE_PAREN: (116..117) \")\"\n CLOSE_PAREN: (117..118) \")\"\n ATMOSPHERE: (118..119) \"\n\"\n FORM: (119..154)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..126)\n IDENTIFIER: (120..126) \"define\"\n ATMOSPHERE: (126..127) \" \"\n SYMBOL: (127..135)\n IDENTIFIER: (127..135) \"from-ten\"\n ATMOSPHERE: (135..136) \" \"\n FORM: (136..153)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..149)\n IDENTIFIER: (137..149) \"make-counter\"\n ATMOSPHERE: (149..150) \" \"\n CONSTANT: (150..152)\n NUMBER: (150..152) \"10\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..155) \"\n\"\n FORM: (155..191)\n OPEN_PAREN: (155..156) \"(\"\n SYMBOL: (156..162)\n IDENTIFIER: (156..162) \"define\"\n ATMOSPHERE: (162..163) \" \"\n SYMBOL: (163..171)\n IDENTIFIER: (163..171) \"from-ton\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..190)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..185)\n IDENTIFIER: (173..185) \"make-counter\"\n ATMOSPHERE: (185..186) \" \"\n CONSTANT: (186..189)\n NUMBER: (186..189) \"100\"\n CLOSE_PAREN: (189..190) \")\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..193) \"\n\n\"\n FORM: (193..213)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..212)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..211)\n IDENTIFIER: (203..211) \"from-ten\"\n CLOSE_PAREN: (211..212) \")\"\n CLOSE_PAREN: (212..213) \")\"\n ATMOSPHERE: (213..214) \"\n\"\n FORM: (214..234)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..222)\n IDENTIFIER: (215..222) \"display\"\n ATMOSPHERE: (222..223) \" \"\n FORM: (223..233)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..232)\n IDENTIFIER: (224..232) \"from-ton\"\n CLOSE_PAREN: (232..233) \")\"\n CLOSE_PAREN: (233..234) \")\"\n ATMOSPHERE: (234..236) \"\n\n\"\n ATMOSPHERE: (236..266) \";; This should return 102 + 12\"\n ATMOSPHERE: (266..267) \"\n\"\n FORM: (267..302)\n OPEN_PAREN: (267..268) \"(\"\n SYMBOL: (268..275)\n IDENTIFIER: (268..275) \"display\"\n ATMOSPHERE: (275..276) \" \"\n FORM: (276..301)\n OPEN_PAREN: (276..277) \"(\"\n SYMBOL: (277..278)\n IDENTIFIER: (277..278) \"+\"\n ATMOSPHERE: (278..279) \" \"\n FORM: (279..289)\n OPEN_PAREN: (279..280) \"(\"\n SYMBOL: (280..288)\n IDENTIFIER: (280..288) \"from-ton\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..290) \" \"\n FORM: (290..300)\n OPEN_PAREN: (290..291) \"(\"\n SYMBOL: (291..299)\n IDENTIFIER: (291..299) \"from-ten\"\n CLOSE_PAREN: (299..300) \")\"\n CLOSE_PAREN: (300..301) \")\"\n CLOSE_PAREN: (301..302) \")\"\n ATMOSPHERE: (302..303) \"\n\"\n FORM: (303..328)\n OPEN_PAREN: (303..304) \"(\"\n SYMBOL: (304..305)\n IDENTIFIER: (304..305) \"+\"\n ATMOSPHERE: (305..306) \" \"\n FORM: (306..316)\n OPEN_PAREN: (306..307) \"(\"\n SYMBOL: (307..315)\n IDENTIFIER: (307..315) \"from-ton\"\n CLOSE_PAREN: (315..316) \")\"\n ATMOSPHERE: (316..317) \" \"\n FORM: (317..327)\n OPEN_PAREN: (317..318) \"(\"\n SYMBOL: (318..326)\n IDENTIFIER: (318..326) \"from-ten\"\n CLOSE_PAREN: (326..327) \")\"\n CLOSE_PAREN: (327..328) \")\"\n EOF: (328..328) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json index 4b52f93..e616052 100644 --- a/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..370)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..27) \"\n \"\n FORM: (27..40)\n OPEN_PAREN: (27..28) \"(\"\n SYMBOL: (28..34)\n IDENTIFIER: (28..34) \"scheme\"\n ATMOSPHERE: (34..35) \" \"\n SYMBOL: (35..39)\n IDENTIFIER: (35..39) \"base\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..149)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..57)\n IDENTIFIER: (44..57) \"define-syntax\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..61)\n IDENTIFIER: (58..61) \"bug\"\n ATMOSPHERE: (61..66) \"\n \"\n FORM: (66..148)\n OPEN_PAREN: (66..67) \"(\"\n SYMBOL: (67..79)\n IDENTIFIER: (67..79) \"syntax-rules\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..82)\n OPEN_PAREN: (80..81) \"(\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..91) \"\n \"\n FORM: (91..147)\n OPEN_PAREN: (91..92) \"(\"\n FORM: (92..113)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..96)\n IDENTIFIER: (93..96) \"bug\"\n ATMOSPHERE: (96..97) \" \"\n FORM: (97..104)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..99)\n IDENTIFIER: (98..99) \"a\"\n ATMOSPHERE: (99..100) \" \"\n SYMBOL: (100..103)\n IDENTIFIER: (100..103) \"...\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..112)\n OPEN_PAREN: (105..106) \"(\"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"b\"\n ATMOSPHERE: (107..108) \" \"\n SYMBOL: (108..111)\n IDENTIFIER: (108..111) \"...\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n ATMOSPHERE: (113..114) \" \"\n FORM: (114..146)\n OPEN_PAREN: (114..115) \"(\"\n SYMBOL: (115..119)\n IDENTIFIER: (115..119) \"cons\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..132)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..125)\n IDENTIFIER: (121..125) \"list\"\n ATMOSPHERE: (125..126) \" \"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"a\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"...\"\n CLOSE_PAREN: (131..132) \")\"\n ATMOSPHERE: (132..133) \" \"\n FORM: (133..145)\n OPEN_PAREN: (133..134) \"(\"\n SYMBOL: (134..138)\n IDENTIFIER: (134..138) \"list\"\n ATMOSPHERE: (138..139) \" \"\n SYMBOL: (139..140)\n IDENTIFIER: (139..140) \"b\"\n ATMOSPHERE: (140..141) \" \"\n SYMBOL: (141..144)\n IDENTIFIER: (141..144) \"...\"\n CLOSE_PAREN: (144..145) \")\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n CLOSE_PAREN: (147..148) \")\"\n CLOSE_PAREN: (148..149) \")\"\n ATMOSPHERE: (149..150) \"\n\"\n FORM: (150..245)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..164)\n IDENTIFIER: (151..164) \"define-syntax\"\n ATMOSPHERE: (164..165) \" \"\n SYMBOL: (165..168)\n IDENTIFIER: (165..168) \"zip\"\n ATMOSPHERE: (168..173) \"\n \"\n FORM: (173..244)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..186)\n IDENTIFIER: (174..186) \"syntax-rules\"\n ATMOSPHERE: (186..187) \" \"\n FORM: (187..189)\n OPEN_PAREN: (187..188) \"(\"\n CLOSE_PAREN: (188..189) \")\"\n ATMOSPHERE: (189..198) \"\n \"\n FORM: (198..243)\n OPEN_PAREN: (198..199) \"(\"\n FORM: (199..220)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..203)\n IDENTIFIER: (200..203) \"bug\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..211)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..206)\n IDENTIFIER: (205..206) \"a\"\n ATMOSPHERE: (206..207) \" \"\n SYMBOL: (207..210)\n IDENTIFIER: (207..210) \"...\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \" \"\n FORM: (212..219)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..214)\n IDENTIFIER: (213..214) \"b\"\n ATMOSPHERE: (214..215) \" \"\n SYMBOL: (215..218)\n IDENTIFIER: (215..218) \"...\"\n CLOSE_PAREN: (218..219) \")\"\n CLOSE_PAREN: (219..220) \")\"\n ATMOSPHERE: (220..221) \" \"\n FORM: (221..242)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..226)\n IDENTIFIER: (222..226) \"list\"\n ATMOSPHERE: (226..227) \" \"\n FORM: (227..237)\n OPEN_PAREN: (227..228) \"(\"\n SYMBOL: (228..232)\n IDENTIFIER: (228..232) \"cons\"\n ATMOSPHERE: (232..233) \" \"\n SYMBOL: (233..234)\n IDENTIFIER: (233..234) \"a\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"b\"\n CLOSE_PAREN: (236..237) \")\"\n ATMOSPHERE: (237..238) \" \"\n SYMBOL: (238..241)\n IDENTIFIER: (238..241) \"...\"\n CLOSE_PAREN: (241..242) \")\"\n CLOSE_PAREN: (242..243) \")\"\n CLOSE_PAREN: (243..244) \")\"\n CLOSE_PAREN: (244..245) \")\"\n ATMOSPHERE: (245..247) \"\n\n\"\n FORM: (247..360)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..255)\n IDENTIFIER: (248..255) \"display\"\n ATMOSPHERE: (255..256) \" \"\n FORM: (256..359)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..261)\n IDENTIFIER: (257..261) \"list\"\n ATMOSPHERE: (261..266) \"\n \"\n FORM: (266..285)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..270)\n IDENTIFIER: (267..270) \"bug\"\n ATMOSPHERE: (270..271) \" \"\n FORM: (271..278)\n OPEN_PAREN: (271..272) \"(\"\n CONSTANT: (272..273)\n NUMBER: (272..273) \"1\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..275)\n NUMBER: (274..275) \"2\"\n ATMOSPHERE: (275..276) \" \"\n CONSTANT: (276..277)\n NUMBER: (276..277) \"3\"\n CLOSE_PAREN: (277..278) \")\"\n ATMOSPHERE: (278..279) \" \"\n FORM: (279..284)\n OPEN_PAREN: (279..280) \"(\"\n CONSTANT: (280..281)\n NUMBER: (280..281) \"4\"\n ATMOSPHERE: (281..282) \" \"\n CONSTANT: (282..283)\n NUMBER: (282..283) \"5\"\n CLOSE_PAREN: (283..284) \")\"\n CLOSE_PAREN: (284..285) \")\"\n ATMOSPHERE: (285..286) \" \"\n ATMOSPHERE: (286..305) \"; -> '((1 2 3) 4 5)\"\n ATMOSPHERE: (305..310) \"\n \"\n FORM: (310..327)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..314)\n IDENTIFIER: (311..314) \"zip\"\n ATMOSPHERE: (314..315) \" \"\n FORM: (315..320)\n OPEN_PAREN: (315..316) \"(\"\n CONSTANT: (316..317)\n NUMBER: (316..317) \"1\"\n ATMOSPHERE: (317..318) \" \"\n CONSTANT: (318..319)\n NUMBER: (318..319) \"2\"\n CLOSE_PAREN: (319..320) \")\"\n ATMOSPHERE: (320..321) \" \"\n FORM: (321..326)\n OPEN_PAREN: (321..322) \"(\"\n CONSTANT: (322..323)\n NUMBER: (322..323) \"3\"\n ATMOSPHERE: (323..324) \" \"\n CONSTANT: (324..325)\n NUMBER: (324..325) \"4\"\n CLOSE_PAREN: (325..326) \")\"\n CLOSE_PAREN: (326..327) \")\"\n ATMOSPHERE: (327..330) \" \"\n ATMOSPHERE: (330..353) \"; -> '((1 . 3) (2 . 4))\"\n ATMOSPHERE: (353..358) \"\n \"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n FORM: (360..369)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..368)\n IDENTIFIER: (361..368) \"newline\"\n CLOSE_PAREN: (368..369) \")\"\n ATMOSPHERE: (369..370) \"\n\"\n" + "Root": "PROGRAM: (0..370)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..27) \"\n \"\n FORM: (27..40)\n OPEN_PAREN: (27..28) \"(\"\n SYMBOL: (28..34)\n IDENTIFIER: (28..34) \"scheme\"\n ATMOSPHERE: (34..35) \" \"\n SYMBOL: (35..39)\n IDENTIFIER: (35..39) \"base\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..149)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..57)\n IDENTIFIER: (44..57) \"define-syntax\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..61)\n IDENTIFIER: (58..61) \"bug\"\n ATMOSPHERE: (61..66) \"\n \"\n FORM: (66..148)\n OPEN_PAREN: (66..67) \"(\"\n SYMBOL: (67..79)\n IDENTIFIER: (67..79) \"syntax-rules\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..82)\n OPEN_PAREN: (80..81) \"(\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..91) \"\n \"\n FORM: (91..147)\n OPEN_PAREN: (91..92) \"(\"\n FORM: (92..113)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..96)\n IDENTIFIER: (93..96) \"bug\"\n ATMOSPHERE: (96..97) \" \"\n FORM: (97..104)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..99)\n IDENTIFIER: (98..99) \"a\"\n ATMOSPHERE: (99..100) \" \"\n SYMBOL: (100..103)\n IDENTIFIER: (100..103) \"...\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..112)\n OPEN_PAREN: (105..106) \"(\"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"b\"\n ATMOSPHERE: (107..108) \" \"\n SYMBOL: (108..111)\n IDENTIFIER: (108..111) \"...\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n ATMOSPHERE: (113..114) \" \"\n FORM: (114..146)\n OPEN_PAREN: (114..115) \"(\"\n SYMBOL: (115..119)\n IDENTIFIER: (115..119) \"cons\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..132)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..125)\n IDENTIFIER: (121..125) \"list\"\n ATMOSPHERE: (125..126) \" \"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"a\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"...\"\n CLOSE_PAREN: (131..132) \")\"\n ATMOSPHERE: (132..133) \" \"\n FORM: (133..145)\n OPEN_PAREN: (133..134) \"(\"\n SYMBOL: (134..138)\n IDENTIFIER: (134..138) \"list\"\n ATMOSPHERE: (138..139) \" \"\n SYMBOL: (139..140)\n IDENTIFIER: (139..140) \"b\"\n ATMOSPHERE: (140..141) \" \"\n SYMBOL: (141..144)\n IDENTIFIER: (141..144) \"...\"\n CLOSE_PAREN: (144..145) \")\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n CLOSE_PAREN: (147..148) \")\"\n CLOSE_PAREN: (148..149) \")\"\n ATMOSPHERE: (149..150) \"\n\"\n FORM: (150..245)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..164)\n IDENTIFIER: (151..164) \"define-syntax\"\n ATMOSPHERE: (164..165) \" \"\n SYMBOL: (165..168)\n IDENTIFIER: (165..168) \"zip\"\n ATMOSPHERE: (168..173) \"\n \"\n FORM: (173..244)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..186)\n IDENTIFIER: (174..186) \"syntax-rules\"\n ATMOSPHERE: (186..187) \" \"\n FORM: (187..189)\n OPEN_PAREN: (187..188) \"(\"\n CLOSE_PAREN: (188..189) \")\"\n ATMOSPHERE: (189..198) \"\n \"\n FORM: (198..243)\n OPEN_PAREN: (198..199) \"(\"\n FORM: (199..220)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..203)\n IDENTIFIER: (200..203) \"bug\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..211)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..206)\n IDENTIFIER: (205..206) \"a\"\n ATMOSPHERE: (206..207) \" \"\n SYMBOL: (207..210)\n IDENTIFIER: (207..210) \"...\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \" \"\n FORM: (212..219)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..214)\n IDENTIFIER: (213..214) \"b\"\n ATMOSPHERE: (214..215) \" \"\n SYMBOL: (215..218)\n IDENTIFIER: (215..218) \"...\"\n CLOSE_PAREN: (218..219) \")\"\n CLOSE_PAREN: (219..220) \")\"\n ATMOSPHERE: (220..221) \" \"\n FORM: (221..242)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..226)\n IDENTIFIER: (222..226) \"list\"\n ATMOSPHERE: (226..227) \" \"\n FORM: (227..237)\n OPEN_PAREN: (227..228) \"(\"\n SYMBOL: (228..232)\n IDENTIFIER: (228..232) \"cons\"\n ATMOSPHERE: (232..233) \" \"\n SYMBOL: (233..234)\n IDENTIFIER: (233..234) \"a\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"b\"\n CLOSE_PAREN: (236..237) \")\"\n ATMOSPHERE: (237..238) \" \"\n SYMBOL: (238..241)\n IDENTIFIER: (238..241) \"...\"\n CLOSE_PAREN: (241..242) \")\"\n CLOSE_PAREN: (242..243) \")\"\n CLOSE_PAREN: (243..244) \")\"\n CLOSE_PAREN: (244..245) \")\"\n ATMOSPHERE: (245..247) \"\n\n\"\n FORM: (247..360)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..255)\n IDENTIFIER: (248..255) \"display\"\n ATMOSPHERE: (255..256) \" \"\n FORM: (256..359)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..261)\n IDENTIFIER: (257..261) \"list\"\n ATMOSPHERE: (261..266) \"\n \"\n FORM: (266..285)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..270)\n IDENTIFIER: (267..270) \"bug\"\n ATMOSPHERE: (270..271) \" \"\n FORM: (271..278)\n OPEN_PAREN: (271..272) \"(\"\n CONSTANT: (272..273)\n NUMBER: (272..273) \"1\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..275)\n NUMBER: (274..275) \"2\"\n ATMOSPHERE: (275..276) \" \"\n CONSTANT: (276..277)\n NUMBER: (276..277) \"3\"\n CLOSE_PAREN: (277..278) \")\"\n ATMOSPHERE: (278..279) \" \"\n FORM: (279..284)\n OPEN_PAREN: (279..280) \"(\"\n CONSTANT: (280..281)\n NUMBER: (280..281) \"4\"\n ATMOSPHERE: (281..282) \" \"\n CONSTANT: (282..283)\n NUMBER: (282..283) \"5\"\n CLOSE_PAREN: (283..284) \")\"\n CLOSE_PAREN: (284..285) \")\"\n ATMOSPHERE: (285..286) \" \"\n ATMOSPHERE: (286..305) \"; -> '((1 2 3) 4 5)\"\n ATMOSPHERE: (305..310) \"\n \"\n FORM: (310..327)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..314)\n IDENTIFIER: (311..314) \"zip\"\n ATMOSPHERE: (314..315) \" \"\n FORM: (315..320)\n OPEN_PAREN: (315..316) \"(\"\n CONSTANT: (316..317)\n NUMBER: (316..317) \"1\"\n ATMOSPHERE: (317..318) \" \"\n CONSTANT: (318..319)\n NUMBER: (318..319) \"2\"\n CLOSE_PAREN: (319..320) \")\"\n ATMOSPHERE: (320..321) \" \"\n FORM: (321..326)\n OPEN_PAREN: (321..322) \"(\"\n CONSTANT: (322..323)\n NUMBER: (322..323) \"3\"\n ATMOSPHERE: (323..324) \" \"\n CONSTANT: (324..325)\n NUMBER: (324..325) \"4\"\n CLOSE_PAREN: (325..326) \")\"\n CLOSE_PAREN: (326..327) \")\"\n ATMOSPHERE: (327..330) \" \"\n ATMOSPHERE: (330..353) \"; -> '((1 . 3) (2 . 4))\"\n ATMOSPHERE: (353..358) \"\n \"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n FORM: (360..369)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..368)\n IDENTIFIER: (361..368) \"newline\"\n CLOSE_PAREN: (368..369) \")\"\n ATMOSPHERE: (369..370) \"\n\"\n EOF: (370..370) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json index 8c0d81c..fde647c 100644 --- a/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..171)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..140)\n OPEN_PAREN: (42..43) \"(\"\n FORM: (43..133)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"lambda\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..54)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..53)\n IDENTIFIER: (52..53) \"a\"\n CLOSE_PAREN: (53..54) \")\"\n ATMOSPHERE: (54..59) \"\n \"\n FORM: (59..126)\n OPEN_PAREN: (59..60) \"(\"\n SYMBOL: (60..67)\n IDENTIFIER: (60..67) \"display\"\n ATMOSPHERE: (67..76) \"\n \"\n FORM: (76..125)\n OPEN_PAREN: (76..77) \"(\"\n SYMBOL: (77..79)\n IDENTIFIER: (77..79) \"if\"\n ATMOSPHERE: (79..80) \" \"\n CONSTANT: (80..82)\n BOOLEAN: (80..82) \"#f\"\n ATMOSPHERE: (82..97) \"\n \"\n FORM: (97..110)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..104)\n IDENTIFIER: (98..104) \"lambda\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..107)\n OPEN_PAREN: (105..106) \"(\"\n CLOSE_PAREN: (106..107) \")\"\n ATMOSPHERE: (107..108) \" \"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"a\"\n CLOSE_PAREN: (109..110) \")\"\n ATMOSPHERE: (110..123) \"\n \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"a\"\n CLOSE_PAREN: (124..125) \")\"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..131) \"\n \"\n SYMBOL: (131..132)\n IDENTIFIER: (131..132) \"a\"\n CLOSE_PAREN: (132..133) \")\"\n ATMOSPHERE: (133..136) \"\n \"\n CONSTANT: (136..139)\n NUMBER: (136..139) \"101\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \" \"\n ATMOSPHERE: (141..171) \"; -> should be 101, but is '()\"\n" + "Root": "PROGRAM: (0..171)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..140)\n OPEN_PAREN: (42..43) \"(\"\n FORM: (43..133)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"lambda\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..54)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..53)\n IDENTIFIER: (52..53) \"a\"\n CLOSE_PAREN: (53..54) \")\"\n ATMOSPHERE: (54..59) \"\n \"\n FORM: (59..126)\n OPEN_PAREN: (59..60) \"(\"\n SYMBOL: (60..67)\n IDENTIFIER: (60..67) \"display\"\n ATMOSPHERE: (67..76) \"\n \"\n FORM: (76..125)\n OPEN_PAREN: (76..77) \"(\"\n SYMBOL: (77..79)\n IDENTIFIER: (77..79) \"if\"\n ATMOSPHERE: (79..80) \" \"\n CONSTANT: (80..82)\n BOOLEAN: (80..82) \"#f\"\n ATMOSPHERE: (82..97) \"\n \"\n FORM: (97..110)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..104)\n IDENTIFIER: (98..104) \"lambda\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..107)\n OPEN_PAREN: (105..106) \"(\"\n CLOSE_PAREN: (106..107) \")\"\n ATMOSPHERE: (107..108) \" \"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"a\"\n CLOSE_PAREN: (109..110) \")\"\n ATMOSPHERE: (110..123) \"\n \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"a\"\n CLOSE_PAREN: (124..125) \")\"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..131) \"\n \"\n SYMBOL: (131..132)\n IDENTIFIER: (131..132) \"a\"\n CLOSE_PAREN: (132..133) \")\"\n ATMOSPHERE: (133..136) \"\n \"\n CONSTANT: (136..139)\n NUMBER: (136..139) \"101\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \" \"\n ATMOSPHERE: (141..171) \"; -> should be 101, but is '()\"\n EOF: (171..171) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json index e646e7a..4792721 100644 --- a/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..393)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..321)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..59)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..56)\n IDENTIFIER: (51..56) \"check\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..58)\n IDENTIFIER: (57..58) \"n\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..64) \"\n \"\n FORM: (64..320)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..71)\n IDENTIFIER: (65..71) \"letrec\"\n ATMOSPHERE: (71..72) \" \"\n FORM: (72..301)\n OPEN_PAREN: (72..73) \"(\"\n FORM: (73..180)\n OPEN_PAREN: (73..74) \"(\"\n SYMBOL: (74..78)\n IDENTIFIER: (74..78) \"odd?\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..179)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..86)\n IDENTIFIER: (80..86) \"lambda\"\n ATMOSPHERE: (86..87) \" \"\n FORM: (87..90)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"m\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..107) \"\n \"\n FORM: (107..178)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..110)\n IDENTIFIER: (108..110) \"if\"\n ATMOSPHERE: (110..111) \" \"\n FORM: (111..118)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"=\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"m\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..117)\n NUMBER: (116..117) \"0\"\n CLOSE_PAREN: (117..118) \")\"\n ATMOSPHERE: (118..139) \"\n \"\n CONSTANT: (139..141)\n BOOLEAN: (139..141) \"#f\"\n ATMOSPHERE: (141..162) \"\n \"\n FORM: (162..177)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..168)\n IDENTIFIER: (163..168) \"even?\"\n ATMOSPHERE: (168..169) \" \"\n FORM: (169..176)\n OPEN_PAREN: (169..170) \"(\"\n SYMBOL: (170..171)\n IDENTIFIER: (170..171) \"-\"\n ATMOSPHERE: (171..172) \" \"\n SYMBOL: (172..173)\n IDENTIFIER: (172..173) \"m\"\n ATMOSPHERE: (173..174) \" \"\n CONSTANT: (174..175)\n NUMBER: (174..175) \"1\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n CLOSE_PAREN: (177..178) \")\"\n CLOSE_PAREN: (178..179) \")\"\n CLOSE_PAREN: (179..180) \")\"\n ATMOSPHERE: (180..193) \"\n \"\n FORM: (193..300)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..199)\n IDENTIFIER: (194..199) \"even?\"\n ATMOSPHERE: (199..200) \" \"\n FORM: (200..299)\n OPEN_PAREN: (200..201) \"(\"\n SYMBOL: (201..207)\n IDENTIFIER: (201..207) \"lambda\"\n ATMOSPHERE: (207..208) \" \"\n FORM: (208..211)\n OPEN_PAREN: (208..209) \"(\"\n SYMBOL: (209..210)\n IDENTIFIER: (209..210) \"m\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..228) \"\n \"\n FORM: (228..298)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..231)\n IDENTIFIER: (229..231) \"if\"\n ATMOSPHERE: (231..232) \" \"\n FORM: (232..239)\n OPEN_PAREN: (232..233) \"(\"\n SYMBOL: (233..234)\n IDENTIFIER: (233..234) \"=\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"m\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..238)\n NUMBER: (237..238) \"0\"\n CLOSE_PAREN: (238..239) \")\"\n ATMOSPHERE: (239..260) \"\n \"\n CONSTANT: (260..262)\n BOOLEAN: (260..262) \"#t\"\n ATMOSPHERE: (262..283) \"\n \"\n FORM: (283..297)\n OPEN_PAREN: (283..284) \"(\"\n SYMBOL: (284..288)\n IDENTIFIER: (284..288) \"odd?\"\n ATMOSPHERE: (288..289) \" \"\n FORM: (289..296)\n OPEN_PAREN: (289..290) \"(\"\n SYMBOL: (290..291)\n IDENTIFIER: (290..291) \"-\"\n ATMOSPHERE: (291..292) \" \"\n SYMBOL: (292..293)\n IDENTIFIER: (292..293) \"m\"\n ATMOSPHERE: (293..294) \" \"\n CONSTANT: (294..295)\n NUMBER: (294..295) \"1\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n CLOSE_PAREN: (298..299) \")\"\n CLOSE_PAREN: (299..300) \")\"\n CLOSE_PAREN: (300..301) \")\"\n ATMOSPHERE: (301..310) \"\n \"\n FORM: (310..319)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..316)\n IDENTIFIER: (311..316) \"even?\"\n ATMOSPHERE: (316..317) \" \"\n SYMBOL: (317..318)\n IDENTIFIER: (317..318) \"n\"\n CLOSE_PAREN: (318..319) \")\"\n CLOSE_PAREN: (319..320) \")\"\n CLOSE_PAREN: (320..321) \")\"\n ATMOSPHERE: (321..323) \"\n\n\"\n FORM: (323..343)\n OPEN_PAREN: (323..324) \"(\"\n SYMBOL: (324..331)\n IDENTIFIER: (324..331) \"display\"\n ATMOSPHERE: (331..332) \" \"\n FORM: (332..342)\n OPEN_PAREN: (332..333) \"(\"\n SYMBOL: (333..338)\n IDENTIFIER: (333..338) \"check\"\n ATMOSPHERE: (338..339) \" \"\n CONSTANT: (339..341)\n NUMBER: (339..341) \"54\"\n CLOSE_PAREN: (341..342) \")\"\n CLOSE_PAREN: (342..343) \")\"\n FORM: (343..352)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..351)\n IDENTIFIER: (344..351) \"newline\"\n CLOSE_PAREN: (351..352) \")\"\n ATMOSPHERE: (352..353) \"\n\"\n FORM: (353..372)\n OPEN_PAREN: (353..354) \"(\"\n SYMBOL: (354..361)\n IDENTIFIER: (354..361) \"display\"\n ATMOSPHERE: (361..362) \" \"\n FORM: (362..371)\n OPEN_PAREN: (362..363) \"(\"\n SYMBOL: (363..368)\n IDENTIFIER: (363..368) \"check\"\n ATMOSPHERE: (368..369) \" \"\n CONSTANT: (369..370)\n NUMBER: (369..370) \"7\"\n CLOSE_PAREN: (370..371) \")\"\n CLOSE_PAREN: (371..372) \")\"\n FORM: (372..381)\n OPEN_PAREN: (372..373) \"(\"\n SYMBOL: (373..380)\n IDENTIFIER: (373..380) \"newline\"\n CLOSE_PAREN: (380..381) \")\"\n ATMOSPHERE: (381..382) \"\n\"\n FORM: (382..393)\n OPEN_PAREN: (382..383) \"(\"\n SYMBOL: (383..388)\n IDENTIFIER: (383..388) \"check\"\n ATMOSPHERE: (388..389) \" \"\n CONSTANT: (389..392)\n NUMBER: (389..392) \"123\"\n CLOSE_PAREN: (392..393) \")\"\n" + "Root": "PROGRAM: (0..393)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..321)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..59)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..56)\n IDENTIFIER: (51..56) \"check\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..58)\n IDENTIFIER: (57..58) \"n\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..64) \"\n \"\n FORM: (64..320)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..71)\n IDENTIFIER: (65..71) \"letrec\"\n ATMOSPHERE: (71..72) \" \"\n FORM: (72..301)\n OPEN_PAREN: (72..73) \"(\"\n FORM: (73..180)\n OPEN_PAREN: (73..74) \"(\"\n SYMBOL: (74..78)\n IDENTIFIER: (74..78) \"odd?\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..179)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..86)\n IDENTIFIER: (80..86) \"lambda\"\n ATMOSPHERE: (86..87) \" \"\n FORM: (87..90)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"m\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..107) \"\n \"\n FORM: (107..178)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..110)\n IDENTIFIER: (108..110) \"if\"\n ATMOSPHERE: (110..111) \" \"\n FORM: (111..118)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"=\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"m\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..117)\n NUMBER: (116..117) \"0\"\n CLOSE_PAREN: (117..118) \")\"\n ATMOSPHERE: (118..139) \"\n \"\n CONSTANT: (139..141)\n BOOLEAN: (139..141) \"#f\"\n ATMOSPHERE: (141..162) \"\n \"\n FORM: (162..177)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..168)\n IDENTIFIER: (163..168) \"even?\"\n ATMOSPHERE: (168..169) \" \"\n FORM: (169..176)\n OPEN_PAREN: (169..170) \"(\"\n SYMBOL: (170..171)\n IDENTIFIER: (170..171) \"-\"\n ATMOSPHERE: (171..172) \" \"\n SYMBOL: (172..173)\n IDENTIFIER: (172..173) \"m\"\n ATMOSPHERE: (173..174) \" \"\n CONSTANT: (174..175)\n NUMBER: (174..175) \"1\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n CLOSE_PAREN: (177..178) \")\"\n CLOSE_PAREN: (178..179) \")\"\n CLOSE_PAREN: (179..180) \")\"\n ATMOSPHERE: (180..193) \"\n \"\n FORM: (193..300)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..199)\n IDENTIFIER: (194..199) \"even?\"\n ATMOSPHERE: (199..200) \" \"\n FORM: (200..299)\n OPEN_PAREN: (200..201) \"(\"\n SYMBOL: (201..207)\n IDENTIFIER: (201..207) \"lambda\"\n ATMOSPHERE: (207..208) \" \"\n FORM: (208..211)\n OPEN_PAREN: (208..209) \"(\"\n SYMBOL: (209..210)\n IDENTIFIER: (209..210) \"m\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..228) \"\n \"\n FORM: (228..298)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..231)\n IDENTIFIER: (229..231) \"if\"\n ATMOSPHERE: (231..232) \" \"\n FORM: (232..239)\n OPEN_PAREN: (232..233) \"(\"\n SYMBOL: (233..234)\n IDENTIFIER: (233..234) \"=\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"m\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..238)\n NUMBER: (237..238) \"0\"\n CLOSE_PAREN: (238..239) \")\"\n ATMOSPHERE: (239..260) \"\n \"\n CONSTANT: (260..262)\n BOOLEAN: (260..262) \"#t\"\n ATMOSPHERE: (262..283) \"\n \"\n FORM: (283..297)\n OPEN_PAREN: (283..284) \"(\"\n SYMBOL: (284..288)\n IDENTIFIER: (284..288) \"odd?\"\n ATMOSPHERE: (288..289) \" \"\n FORM: (289..296)\n OPEN_PAREN: (289..290) \"(\"\n SYMBOL: (290..291)\n IDENTIFIER: (290..291) \"-\"\n ATMOSPHERE: (291..292) \" \"\n SYMBOL: (292..293)\n IDENTIFIER: (292..293) \"m\"\n ATMOSPHERE: (293..294) \" \"\n CONSTANT: (294..295)\n NUMBER: (294..295) \"1\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n CLOSE_PAREN: (298..299) \")\"\n CLOSE_PAREN: (299..300) \")\"\n CLOSE_PAREN: (300..301) \")\"\n ATMOSPHERE: (301..310) \"\n \"\n FORM: (310..319)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..316)\n IDENTIFIER: (311..316) \"even?\"\n ATMOSPHERE: (316..317) \" \"\n SYMBOL: (317..318)\n IDENTIFIER: (317..318) \"n\"\n CLOSE_PAREN: (318..319) \")\"\n CLOSE_PAREN: (319..320) \")\"\n CLOSE_PAREN: (320..321) \")\"\n ATMOSPHERE: (321..323) \"\n\n\"\n FORM: (323..343)\n OPEN_PAREN: (323..324) \"(\"\n SYMBOL: (324..331)\n IDENTIFIER: (324..331) \"display\"\n ATMOSPHERE: (331..332) \" \"\n FORM: (332..342)\n OPEN_PAREN: (332..333) \"(\"\n SYMBOL: (333..338)\n IDENTIFIER: (333..338) \"check\"\n ATMOSPHERE: (338..339) \" \"\n CONSTANT: (339..341)\n NUMBER: (339..341) \"54\"\n CLOSE_PAREN: (341..342) \")\"\n CLOSE_PAREN: (342..343) \")\"\n FORM: (343..352)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..351)\n IDENTIFIER: (344..351) \"newline\"\n CLOSE_PAREN: (351..352) \")\"\n ATMOSPHERE: (352..353) \"\n\"\n FORM: (353..372)\n OPEN_PAREN: (353..354) \"(\"\n SYMBOL: (354..361)\n IDENTIFIER: (354..361) \"display\"\n ATMOSPHERE: (361..362) \" \"\n FORM: (362..371)\n OPEN_PAREN: (362..363) \"(\"\n SYMBOL: (363..368)\n IDENTIFIER: (363..368) \"check\"\n ATMOSPHERE: (368..369) \" \"\n CONSTANT: (369..370)\n NUMBER: (369..370) \"7\"\n CLOSE_PAREN: (370..371) \")\"\n CLOSE_PAREN: (371..372) \")\"\n FORM: (372..381)\n OPEN_PAREN: (372..373) \"(\"\n SYMBOL: (373..380)\n IDENTIFIER: (373..380) \"newline\"\n CLOSE_PAREN: (380..381) \")\"\n ATMOSPHERE: (381..382) \"\n\"\n FORM: (382..393)\n OPEN_PAREN: (382..383) \"(\"\n SYMBOL: (383..388)\n IDENTIFIER: (383..388) \"check\"\n ATMOSPHERE: (388..389) \" \"\n CONSTANT: (389..392)\n NUMBER: (389..392) \"123\"\n CLOSE_PAREN: (392..393) \")\"\n EOF: (393..393) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json b/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json index a44247f..736c07a 100644 --- a/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..354)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..115)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..58)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..55)\n IDENTIFIER: (51..55) \"fact\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"n\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..63) \"\n \"\n FORM: (63..114)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"=\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"n\"\n ATMOSPHERE: (71..72) \" \"\n CONSTANT: (72..73)\n NUMBER: (72..73) \"0\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..83) \"\n \"\n CONSTANT: (83..84)\n NUMBER: (83..84) \"1\"\n ATMOSPHERE: (84..93) \"\n \"\n FORM: (93..113)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..95)\n IDENTIFIER: (94..95) \"*\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..112)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..103)\n IDENTIFIER: (99..103) \"fact\"\n ATMOSPHERE: (103..104) \" \"\n FORM: (104..111)\n OPEN_PAREN: (104..105) \"(\"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"-\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"n\"\n ATMOSPHERE: (108..109) \" \"\n CONSTANT: (109..110)\n NUMBER: (109..110) \"1\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..277)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..124)\n IDENTIFIER: (118..124) \"define\"\n ATMOSPHERE: (124..125) \" \"\n FORM: (125..137)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..134)\n IDENTIFIER: (126..134) \"iterfact\"\n ATMOSPHERE: (134..135) \" \"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"n\"\n CLOSE_PAREN: (136..137) \")\"\n ATMOSPHERE: (137..142) \"\n \"\n FORM: (142..253)\n OPEN_PAREN: (142..143) \"(\"\n SYMBOL: (143..149)\n IDENTIFIER: (143..149) \"define\"\n ATMOSPHERE: (149..150) \" \"\n FORM: (150..170)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..163)\n IDENTIFIER: (151..163) \"iterfact-acc\"\n ATMOSPHERE: (163..164) \" \"\n SYMBOL: (164..165)\n IDENTIFIER: (164..165) \"n\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..169)\n IDENTIFIER: (166..169) \"acc\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..179) \"\n \"\n FORM: (179..252)\n OPEN_PAREN: (179..180) \"(\"\n SYMBOL: (180..182)\n IDENTIFIER: (180..182) \"if\"\n ATMOSPHERE: (182..183) \" \"\n FORM: (183..190)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..185)\n IDENTIFIER: (184..185) \"=\"\n ATMOSPHERE: (185..186) \" \"\n SYMBOL: (186..187)\n IDENTIFIER: (186..187) \"n\"\n ATMOSPHERE: (187..188) \" \"\n CONSTANT: (188..189)\n NUMBER: (188..189) \"0\"\n CLOSE_PAREN: (189..190) \")\"\n ATMOSPHERE: (190..203) \"\n \"\n SYMBOL: (203..206)\n IDENTIFIER: (203..206) \"acc\"\n ATMOSPHERE: (206..219) \"\n \"\n FORM: (219..251)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..232)\n IDENTIFIER: (220..232) \"iterfact-acc\"\n ATMOSPHERE: (232..233) \" \"\n FORM: (233..240)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..235)\n IDENTIFIER: (234..235) \"-\"\n ATMOSPHERE: (235..236) \" \"\n SYMBOL: (236..237)\n IDENTIFIER: (236..237) \"n\"\n ATMOSPHERE: (237..238) \" \"\n CONSTANT: (238..239)\n NUMBER: (238..239) \"1\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \" \"\n FORM: (241..250)\n OPEN_PAREN: (241..242) \"(\"\n SYMBOL: (242..243)\n IDENTIFIER: (242..243) \"*\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..247)\n IDENTIFIER: (244..247) \"acc\"\n ATMOSPHERE: (247..248) \" \"\n SYMBOL: (248..249)\n IDENTIFIER: (248..249) \"n\"\n CLOSE_PAREN: (249..250) \")\"\n CLOSE_PAREN: (250..251) \")\"\n CLOSE_PAREN: (251..252) \")\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..276)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..271)\n IDENTIFIER: (259..271) \"iterfact-acc\"\n ATMOSPHERE: (271..272) \" \"\n SYMBOL: (272..273)\n IDENTIFIER: (272..273) \"n\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..275)\n NUMBER: (274..275) \"1\"\n CLOSE_PAREN: (275..276) \")\"\n CLOSE_PAREN: (276..277) \")\"\n ATMOSPHERE: (277..279) \"\n\n\"\n FORM: (279..297)\n OPEN_PAREN: (279..280) \"(\"\n SYMBOL: (280..287)\n IDENTIFIER: (280..287) \"display\"\n ATMOSPHERE: (287..288) \" \"\n FORM: (288..296)\n OPEN_PAREN: (288..289) \"(\"\n SYMBOL: (289..293)\n IDENTIFIER: (289..293) \"fact\"\n ATMOSPHERE: (293..294) \" \"\n CONSTANT: (294..295)\n NUMBER: (294..295) \"4\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n FORM: (297..306)\n OPEN_PAREN: (297..298) \"(\"\n SYMBOL: (298..305)\n IDENTIFIER: (298..305) \"newline\"\n CLOSE_PAREN: (305..306) \")\"\n ATMOSPHERE: (306..307) \" \"\n ATMOSPHERE: (307..314) \"; => 24\"\n ATMOSPHERE: (314..315) \"\n\"\n FORM: (315..337)\n OPEN_PAREN: (315..316) \"(\"\n SYMBOL: (316..323)\n IDENTIFIER: (316..323) \"display\"\n ATMOSPHERE: (323..324) \" \"\n FORM: (324..336)\n OPEN_PAREN: (324..325) \"(\"\n SYMBOL: (325..333)\n IDENTIFIER: (325..333) \"iterfact\"\n ATMOSPHERE: (333..334) \" \"\n CONSTANT: (334..335)\n NUMBER: (334..335) \"4\"\n CLOSE_PAREN: (335..336) \")\"\n CLOSE_PAREN: (336..337) \")\"\n FORM: (337..346)\n OPEN_PAREN: (337..338) \"(\"\n SYMBOL: (338..345)\n IDENTIFIER: (338..345) \"newline\"\n CLOSE_PAREN: (345..346) \")\"\n ATMOSPHERE: (346..347) \" \"\n ATMOSPHERE: (347..354) \"; => 24\"\n" + "Root": "PROGRAM: (0..354)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..115)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..58)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..55)\n IDENTIFIER: (51..55) \"fact\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"n\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..63) \"\n \"\n FORM: (63..114)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"=\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"n\"\n ATMOSPHERE: (71..72) \" \"\n CONSTANT: (72..73)\n NUMBER: (72..73) \"0\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..83) \"\n \"\n CONSTANT: (83..84)\n NUMBER: (83..84) \"1\"\n ATMOSPHERE: (84..93) \"\n \"\n FORM: (93..113)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..95)\n IDENTIFIER: (94..95) \"*\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..112)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..103)\n IDENTIFIER: (99..103) \"fact\"\n ATMOSPHERE: (103..104) \" \"\n FORM: (104..111)\n OPEN_PAREN: (104..105) \"(\"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"-\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"n\"\n ATMOSPHERE: (108..109) \" \"\n CONSTANT: (109..110)\n NUMBER: (109..110) \"1\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..277)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..124)\n IDENTIFIER: (118..124) \"define\"\n ATMOSPHERE: (124..125) \" \"\n FORM: (125..137)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..134)\n IDENTIFIER: (126..134) \"iterfact\"\n ATMOSPHERE: (134..135) \" \"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"n\"\n CLOSE_PAREN: (136..137) \")\"\n ATMOSPHERE: (137..142) \"\n \"\n FORM: (142..253)\n OPEN_PAREN: (142..143) \"(\"\n SYMBOL: (143..149)\n IDENTIFIER: (143..149) \"define\"\n ATMOSPHERE: (149..150) \" \"\n FORM: (150..170)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..163)\n IDENTIFIER: (151..163) \"iterfact-acc\"\n ATMOSPHERE: (163..164) \" \"\n SYMBOL: (164..165)\n IDENTIFIER: (164..165) \"n\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..169)\n IDENTIFIER: (166..169) \"acc\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..179) \"\n \"\n FORM: (179..252)\n OPEN_PAREN: (179..180) \"(\"\n SYMBOL: (180..182)\n IDENTIFIER: (180..182) \"if\"\n ATMOSPHERE: (182..183) \" \"\n FORM: (183..190)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..185)\n IDENTIFIER: (184..185) \"=\"\n ATMOSPHERE: (185..186) \" \"\n SYMBOL: (186..187)\n IDENTIFIER: (186..187) \"n\"\n ATMOSPHERE: (187..188) \" \"\n CONSTANT: (188..189)\n NUMBER: (188..189) \"0\"\n CLOSE_PAREN: (189..190) \")\"\n ATMOSPHERE: (190..203) \"\n \"\n SYMBOL: (203..206)\n IDENTIFIER: (203..206) \"acc\"\n ATMOSPHERE: (206..219) \"\n \"\n FORM: (219..251)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..232)\n IDENTIFIER: (220..232) \"iterfact-acc\"\n ATMOSPHERE: (232..233) \" \"\n FORM: (233..240)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..235)\n IDENTIFIER: (234..235) \"-\"\n ATMOSPHERE: (235..236) \" \"\n SYMBOL: (236..237)\n IDENTIFIER: (236..237) \"n\"\n ATMOSPHERE: (237..238) \" \"\n CONSTANT: (238..239)\n NUMBER: (238..239) \"1\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \" \"\n FORM: (241..250)\n OPEN_PAREN: (241..242) \"(\"\n SYMBOL: (242..243)\n IDENTIFIER: (242..243) \"*\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..247)\n IDENTIFIER: (244..247) \"acc\"\n ATMOSPHERE: (247..248) \" \"\n SYMBOL: (248..249)\n IDENTIFIER: (248..249) \"n\"\n CLOSE_PAREN: (249..250) \")\"\n CLOSE_PAREN: (250..251) \")\"\n CLOSE_PAREN: (251..252) \")\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..276)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..271)\n IDENTIFIER: (259..271) \"iterfact-acc\"\n ATMOSPHERE: (271..272) \" \"\n SYMBOL: (272..273)\n IDENTIFIER: (272..273) \"n\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..275)\n NUMBER: (274..275) \"1\"\n CLOSE_PAREN: (275..276) \")\"\n CLOSE_PAREN: (276..277) \")\"\n ATMOSPHERE: (277..279) \"\n\n\"\n FORM: (279..297)\n OPEN_PAREN: (279..280) \"(\"\n SYMBOL: (280..287)\n IDENTIFIER: (280..287) \"display\"\n ATMOSPHERE: (287..288) \" \"\n FORM: (288..296)\n OPEN_PAREN: (288..289) \"(\"\n SYMBOL: (289..293)\n IDENTIFIER: (289..293) \"fact\"\n ATMOSPHERE: (293..294) \" \"\n CONSTANT: (294..295)\n NUMBER: (294..295) \"4\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n FORM: (297..306)\n OPEN_PAREN: (297..298) \"(\"\n SYMBOL: (298..305)\n IDENTIFIER: (298..305) \"newline\"\n CLOSE_PAREN: (305..306) \")\"\n ATMOSPHERE: (306..307) \" \"\n ATMOSPHERE: (307..314) \"; => 24\"\n ATMOSPHERE: (314..315) \"\n\"\n FORM: (315..337)\n OPEN_PAREN: (315..316) \"(\"\n SYMBOL: (316..323)\n IDENTIFIER: (316..323) \"display\"\n ATMOSPHERE: (323..324) \" \"\n FORM: (324..336)\n OPEN_PAREN: (324..325) \"(\"\n SYMBOL: (325..333)\n IDENTIFIER: (325..333) \"iterfact\"\n ATMOSPHERE: (333..334) \" \"\n CONSTANT: (334..335)\n NUMBER: (334..335) \"4\"\n CLOSE_PAREN: (335..336) \")\"\n CLOSE_PAREN: (336..337) \")\"\n FORM: (337..346)\n OPEN_PAREN: (337..338) \"(\"\n SYMBOL: (338..345)\n IDENTIFIER: (338..345) \"newline\"\n CLOSE_PAREN: (345..346) \")\"\n ATMOSPHERE: (346..347) \" \"\n ATMOSPHERE: (347..354) \"; => 24\"\n EOF: (354..354) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json b/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json index a0a98f5..542e604 100644 --- a/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..190)\n FORM: (0..40)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..9)\n IDENTIFIER: (8..9) \"x\"\n ATMOSPHERE: (9..10) \" \"\n FORM: (10..39)\n OPEN_PAREN: (10..11) \"(\"\n SYMBOL: (11..17)\n IDENTIFIER: (11..17) \"lambda\"\n ATMOSPHERE: (17..18) \" \"\n SYMBOL: (18..19)\n IDENTIFIER: (18..19) \"y\"\n ATMOSPHERE: (19..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"lambda\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..33)\n IDENTIFIER: (32..33) \"z\"\n ATMOSPHERE: (33..34) \" \"\n CONSTANT: (34..37)\n NUMBER: (34..37) \"100\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n CLOSE_PAREN: (39..40) \")\"\n ATMOSPHERE: (40..41) \"\n\"\n FORM: (41..83)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"define\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..50)\n IDENTIFIER: (49..50) \"y\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..82)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..58)\n IDENTIFIER: (52..58) \"lambda\"\n ATMOSPHERE: (58..59) \" \"\n SYMBOL: (59..60)\n IDENTIFIER: (59..60) \"y\"\n ATMOSPHERE: (60..65) \"\n \"\n FORM: (65..81)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..72)\n IDENTIFIER: (66..72) \"lambda\"\n ATMOSPHERE: (72..73) \" \"\n SYMBOL: (73..74)\n IDENTIFIER: (73..74) \"z\"\n ATMOSPHERE: (74..75) \" \"\n CONSTANT: (75..80)\n NUMBER: (75..80) \"23123\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..84) \"\n\"\n FORM: (84..109)\n OPEN_PAREN: (84..85) \"(\"\n SYMBOL: (85..91)\n IDENTIFIER: (85..91) \"define\"\n ATMOSPHERE: (91..92) \" \"\n SYMBOL: (92..93)\n IDENTIFIER: (92..93) \"z\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..108)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..101)\n IDENTIFIER: (95..101) \"lambda\"\n ATMOSPHERE: (101..102) \" \"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"y\"\n ATMOSPHERE: (103..104) \" \"\n CONSTANT: (104..107)\n NUMBER: (104..107) \"123\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..110) \"\n\"\n FORM: (110..140)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..117)\n IDENTIFIER: (111..117) \"define\"\n ATMOSPHERE: (117..118) \" \"\n SYMBOL: (118..119)\n IDENTIFIER: (118..119) \"a\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..139)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..127)\n IDENTIFIER: (121..127) \"lambda\"\n ATMOSPHERE: (127..128) \" \"\n FORM: (128..135)\n OPEN_PAREN: (128..129) \"(\"\n SYMBOL: (129..130)\n IDENTIFIER: (129..130) \"a\"\n ATMOSPHERE: (130..131) \" \"\n SYMBOL: (131..132)\n IDENTIFIER: (131..132) \"b\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"c\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..138)\n NUMBER: (136..138) \"20\"\n CLOSE_PAREN: (138..139) \")\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \"\n\"\n FORM: (141..175)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..148)\n IDENTIFIER: (142..148) \"define\"\n ATMOSPHERE: (148..149) \" \"\n SYMBOL: (149..150)\n IDENTIFIER: (149..150) \"b\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..174)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"lambda\"\n ATMOSPHERE: (158..159) \" \"\n FORM: (159..168)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..161)\n IDENTIFIER: (160..161) \"a\"\n ATMOSPHERE: (161..162) \" \"\n SYMBOL: (162..163)\n IDENTIFIER: (162..163) \"b\"\n ATMOSPHERE: (163..164) \" \"\n DOTTED_TAIL: (164..167)\n DOT: (164..165) \".\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"c\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..169) \" \"\n CONSTANT: (169..173)\n NUMBER: (169..173) \"1234\"\n CLOSE_PAREN: (173..174) \")\"\n CLOSE_PAREN: (174..175) \")\"\n ATMOSPHERE: (175..176) \"\n\"\n FORM: (176..181)\n OPEN_PAREN: (176..177) \"(\"\n FORM: (177..180)\n OPEN_PAREN: (177..178) \"(\"\n SYMBOL: (178..179)\n IDENTIFIER: (178..179) \"x\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..182) \" \"\n ATMOSPHERE: (182..190) \"; -> 100\"\n" + "Root": "PROGRAM: (0..190)\n FORM: (0..40)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..9)\n IDENTIFIER: (8..9) \"x\"\n ATMOSPHERE: (9..10) \" \"\n FORM: (10..39)\n OPEN_PAREN: (10..11) \"(\"\n SYMBOL: (11..17)\n IDENTIFIER: (11..17) \"lambda\"\n ATMOSPHERE: (17..18) \" \"\n SYMBOL: (18..19)\n IDENTIFIER: (18..19) \"y\"\n ATMOSPHERE: (19..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"lambda\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..33)\n IDENTIFIER: (32..33) \"z\"\n ATMOSPHERE: (33..34) \" \"\n CONSTANT: (34..37)\n NUMBER: (34..37) \"100\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n CLOSE_PAREN: (39..40) \")\"\n ATMOSPHERE: (40..41) \"\n\"\n FORM: (41..83)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"define\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..50)\n IDENTIFIER: (49..50) \"y\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..82)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..58)\n IDENTIFIER: (52..58) \"lambda\"\n ATMOSPHERE: (58..59) \" \"\n SYMBOL: (59..60)\n IDENTIFIER: (59..60) \"y\"\n ATMOSPHERE: (60..65) \"\n \"\n FORM: (65..81)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..72)\n IDENTIFIER: (66..72) \"lambda\"\n ATMOSPHERE: (72..73) \" \"\n SYMBOL: (73..74)\n IDENTIFIER: (73..74) \"z\"\n ATMOSPHERE: (74..75) \" \"\n CONSTANT: (75..80)\n NUMBER: (75..80) \"23123\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..84) \"\n\"\n FORM: (84..109)\n OPEN_PAREN: (84..85) \"(\"\n SYMBOL: (85..91)\n IDENTIFIER: (85..91) \"define\"\n ATMOSPHERE: (91..92) \" \"\n SYMBOL: (92..93)\n IDENTIFIER: (92..93) \"z\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..108)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..101)\n IDENTIFIER: (95..101) \"lambda\"\n ATMOSPHERE: (101..102) \" \"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"y\"\n ATMOSPHERE: (103..104) \" \"\n CONSTANT: (104..107)\n NUMBER: (104..107) \"123\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..110) \"\n\"\n FORM: (110..140)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..117)\n IDENTIFIER: (111..117) \"define\"\n ATMOSPHERE: (117..118) \" \"\n SYMBOL: (118..119)\n IDENTIFIER: (118..119) \"a\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..139)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..127)\n IDENTIFIER: (121..127) \"lambda\"\n ATMOSPHERE: (127..128) \" \"\n FORM: (128..135)\n OPEN_PAREN: (128..129) \"(\"\n SYMBOL: (129..130)\n IDENTIFIER: (129..130) \"a\"\n ATMOSPHERE: (130..131) \" \"\n SYMBOL: (131..132)\n IDENTIFIER: (131..132) \"b\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"c\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..138)\n NUMBER: (136..138) \"20\"\n CLOSE_PAREN: (138..139) \")\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \"\n\"\n FORM: (141..175)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..148)\n IDENTIFIER: (142..148) \"define\"\n ATMOSPHERE: (148..149) \" \"\n SYMBOL: (149..150)\n IDENTIFIER: (149..150) \"b\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..174)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"lambda\"\n ATMOSPHERE: (158..159) \" \"\n FORM: (159..168)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..161)\n IDENTIFIER: (160..161) \"a\"\n ATMOSPHERE: (161..162) \" \"\n SYMBOL: (162..163)\n IDENTIFIER: (162..163) \"b\"\n ATMOSPHERE: (163..164) \" \"\n DOTTED_TAIL: (164..167)\n DOT: (164..165) \".\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"c\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..169) \" \"\n CONSTANT: (169..173)\n NUMBER: (169..173) \"1234\"\n CLOSE_PAREN: (173..174) \")\"\n CLOSE_PAREN: (174..175) \")\"\n ATMOSPHERE: (175..176) \"\n\"\n FORM: (176..181)\n OPEN_PAREN: (176..177) \"(\"\n FORM: (177..180)\n OPEN_PAREN: (177..178) \"(\"\n SYMBOL: (178..179)\n IDENTIFIER: (178..179) \"x\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..182) \" \"\n ATMOSPHERE: (182..190) \"; -> 100\"\n EOF: (190..190) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_let.scm.json b/test/Feersum.Tests/_snapshots/Parse_let.scm.json index 1f7e1db..2dc3af7 100644 --- a/test/Feersum.Tests/_snapshots/Parse_let.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_let.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..152)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..134)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..57)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..54)\n IDENTIFIER: (51..54) \"foo\"\n ATMOSPHERE: (54..55) \" \"\n SYMBOL: (55..56)\n IDENTIFIER: (55..56) \"a\"\n CLOSE_PAREN: (56..57) \")\"\n ATMOSPHERE: (57..62) \"\n \"\n FORM: (62..133)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..66)\n IDENTIFIER: (63..66) \"let\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..90)\n OPEN_PAREN: (67..68) \"(\"\n FORM: (68..73)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..70)\n IDENTIFIER: (69..70) \"b\"\n ATMOSPHERE: (70..71) \" \"\n SYMBOL: (71..72)\n IDENTIFIER: (71..72) \"a\"\n CLOSE_PAREN: (72..73) \")\"\n ATMOSPHERE: (73..82) \"\n \"\n FORM: (82..89)\n OPEN_PAREN: (82..83) \"(\"\n SYMBOL: (83..84)\n IDENTIFIER: (83..84) \"c\"\n ATMOSPHERE: (84..85) \" \"\n CONSTANT: (85..88)\n NUMBER: (85..88) \"100\"\n CLOSE_PAREN: (88..89) \")\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..99) \"\n \"\n FORM: (99..116)\n OPEN_PAREN: (99..100) \"(\"\n SYMBOL: (100..107)\n IDENTIFIER: (100..107) \"display\"\n ATMOSPHERE: (107..108) \" \"\n FORM: (108..115)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..110)\n IDENTIFIER: (109..110) \"+\"\n ATMOSPHERE: (110..111) \" \"\n SYMBOL: (111..112)\n IDENTIFIER: (111..112) \"a\"\n ATMOSPHERE: (112..113) \" \"\n SYMBOL: (113..114)\n IDENTIFIER: (113..114) \"b\"\n CLOSE_PAREN: (114..115) \")\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..125) \"\n \"\n FORM: (125..132)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"-\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..129)\n IDENTIFIER: (128..129) \"b\"\n ATMOSPHERE: (129..130) \" \"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"c\"\n CLOSE_PAREN: (131..132) \")\"\n CLOSE_PAREN: (132..133) \")\"\n CLOSE_PAREN: (133..134) \")\"\n ATMOSPHERE: (134..135) \"\n\"\n FORM: (135..144)\n OPEN_PAREN: (135..136) \"(\"\n SYMBOL: (136..139)\n IDENTIFIER: (136..139) \"foo\"\n ATMOSPHERE: (139..140) \" \"\n CONSTANT: (140..143)\n NUMBER: (140..143) \"123\"\n CLOSE_PAREN: (143..144) \")\"\n ATMOSPHERE: (144..145) \" \"\n ATMOSPHERE: (145..152) \"; ~> 23\"\n" + "Root": "PROGRAM: (0..152)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..134)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..57)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..54)\n IDENTIFIER: (51..54) \"foo\"\n ATMOSPHERE: (54..55) \" \"\n SYMBOL: (55..56)\n IDENTIFIER: (55..56) \"a\"\n CLOSE_PAREN: (56..57) \")\"\n ATMOSPHERE: (57..62) \"\n \"\n FORM: (62..133)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..66)\n IDENTIFIER: (63..66) \"let\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..90)\n OPEN_PAREN: (67..68) \"(\"\n FORM: (68..73)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..70)\n IDENTIFIER: (69..70) \"b\"\n ATMOSPHERE: (70..71) \" \"\n SYMBOL: (71..72)\n IDENTIFIER: (71..72) \"a\"\n CLOSE_PAREN: (72..73) \")\"\n ATMOSPHERE: (73..82) \"\n \"\n FORM: (82..89)\n OPEN_PAREN: (82..83) \"(\"\n SYMBOL: (83..84)\n IDENTIFIER: (83..84) \"c\"\n ATMOSPHERE: (84..85) \" \"\n CONSTANT: (85..88)\n NUMBER: (85..88) \"100\"\n CLOSE_PAREN: (88..89) \")\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..99) \"\n \"\n FORM: (99..116)\n OPEN_PAREN: (99..100) \"(\"\n SYMBOL: (100..107)\n IDENTIFIER: (100..107) \"display\"\n ATMOSPHERE: (107..108) \" \"\n FORM: (108..115)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..110)\n IDENTIFIER: (109..110) \"+\"\n ATMOSPHERE: (110..111) \" \"\n SYMBOL: (111..112)\n IDENTIFIER: (111..112) \"a\"\n ATMOSPHERE: (112..113) \" \"\n SYMBOL: (113..114)\n IDENTIFIER: (113..114) \"b\"\n CLOSE_PAREN: (114..115) \")\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..125) \"\n \"\n FORM: (125..132)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"-\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..129)\n IDENTIFIER: (128..129) \"b\"\n ATMOSPHERE: (129..130) \" \"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"c\"\n CLOSE_PAREN: (131..132) \")\"\n CLOSE_PAREN: (132..133) \")\"\n CLOSE_PAREN: (133..134) \")\"\n ATMOSPHERE: (134..135) \"\n\"\n FORM: (135..144)\n OPEN_PAREN: (135..136) \"(\"\n SYMBOL: (136..139)\n IDENTIFIER: (136..139) \"foo\"\n ATMOSPHERE: (139..140) \" \"\n CONSTANT: (140..143)\n NUMBER: (140..143) \"123\"\n CLOSE_PAREN: (143..144) \")\"\n ATMOSPHERE: (144..145) \" \"\n ATMOSPHERE: (145..152) \"; ~> 23\"\n EOF: (152..152) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json b/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json index 2527052..1071386 100644 --- a/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..238)\n FORM: (0..170)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..29)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..20)\n IDENTIFIER: (17..20) \"lib\"\n ATMOSPHERE: (20..21) \" \"\n SYMBOL: (21..28)\n IDENTIFIER: (21..28) \"capture\"\n CLOSE_PAREN: (28..29) \")\"\n ATMOSPHERE: (29..34) \"\n \"\n FORM: (34..49)\n OPEN_PAREN: (34..35) \"(\"\n SYMBOL: (35..41)\n IDENTIFIER: (35..41) \"export\"\n ATMOSPHERE: (41..42) \" \"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"testit\"\n CLOSE_PAREN: (48..49) \")\"\n ATMOSPHERE: (49..54) \"\n \"\n FORM: (54..169)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..60)\n IDENTIFIER: (55..60) \"begin\"\n ATMOSPHERE: (60..69) \"\n \"\n FORM: (69..93)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..76)\n IDENTIFIER: (70..76) \"define\"\n ATMOSPHERE: (76..77) \" \"\n SYMBOL: (77..83)\n IDENTIFIER: (77..83) \"testit\"\n ATMOSPHERE: (83..84) \" \"\n CONSTANT: (84..92)\n STRING: (84..92) \"\"broken\"\"\n CLOSE_PAREN: (92..93) \")\"\n ATMOSPHERE: (93..102) \"\n \"\n FORM: (102..168)\n OPEN_PAREN: (102..103) \"(\"\n SYMBOL: (103..106)\n IDENTIFIER: (103..106) \"let\"\n ATMOSPHERE: (106..107) \" \"\n FORM: (107..129)\n OPEN_PAREN: (107..108) \"(\"\n FORM: (108..128)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..120)\n IDENTIFIER: (109..120) \"replacement\"\n ATMOSPHERE: (120..121) \" \"\n CONSTANT: (121..127)\n STRING: (121..127) \"\"pass\"\"\n CLOSE_PAREN: (127..128) \")\"\n CLOSE_PAREN: (128..129) \")\"\n ATMOSPHERE: (129..142) \"\n \"\n FORM: (142..167)\n OPEN_PAREN: (142..143) \"(\"\n SYMBOL: (143..147)\n IDENTIFIER: (143..147) \"set!\"\n ATMOSPHERE: (147..148) \" \"\n SYMBOL: (148..154)\n IDENTIFIER: (148..154) \"testit\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..166)\n IDENTIFIER: (155..166) \"replacement\"\n CLOSE_PAREN: (166..167) \")\"\n CLOSE_PAREN: (167..168) \")\"\n CLOSE_PAREN: (168..169) \")\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..171) \"\n\"\n FORM: (171..212)\n OPEN_PAREN: (171..172) \"(\"\n SYMBOL: (172..178)\n IDENTIFIER: (172..178) \"import\"\n ATMOSPHERE: (178..179) \" \"\n FORM: (179..192)\n OPEN_PAREN: (179..180) \"(\"\n SYMBOL: (180..183)\n IDENTIFIER: (180..183) \"lib\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"capture\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..197) \"\n \"\n FORM: (197..211)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..204)\n IDENTIFIER: (198..204) \"scheme\"\n ATMOSPHERE: (204..205) \" \"\n SYMBOL: (205..210)\n IDENTIFIER: (205..210) \"write\"\n CLOSE_PAREN: (210..211) \")\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..213) \"\n\"\n FORM: (213..229)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..221)\n IDENTIFIER: (214..221) \"display\"\n ATMOSPHERE: (221..222) \" \"\n SYMBOL: (222..228)\n IDENTIFIER: (222..228) \"testit\"\n CLOSE_PAREN: (228..229) \")\"\n FORM: (229..238)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..237)\n IDENTIFIER: (230..237) \"newline\"\n CLOSE_PAREN: (237..238) \")\"\n" + "Root": "PROGRAM: (0..238)\n FORM: (0..170)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..29)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..20)\n IDENTIFIER: (17..20) \"lib\"\n ATMOSPHERE: (20..21) \" \"\n SYMBOL: (21..28)\n IDENTIFIER: (21..28) \"capture\"\n CLOSE_PAREN: (28..29) \")\"\n ATMOSPHERE: (29..34) \"\n \"\n FORM: (34..49)\n OPEN_PAREN: (34..35) \"(\"\n SYMBOL: (35..41)\n IDENTIFIER: (35..41) \"export\"\n ATMOSPHERE: (41..42) \" \"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"testit\"\n CLOSE_PAREN: (48..49) \")\"\n ATMOSPHERE: (49..54) \"\n \"\n FORM: (54..169)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..60)\n IDENTIFIER: (55..60) \"begin\"\n ATMOSPHERE: (60..69) \"\n \"\n FORM: (69..93)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..76)\n IDENTIFIER: (70..76) \"define\"\n ATMOSPHERE: (76..77) \" \"\n SYMBOL: (77..83)\n IDENTIFIER: (77..83) \"testit\"\n ATMOSPHERE: (83..84) \" \"\n CONSTANT: (84..92)\n STRING: (84..92) \"\"broken\"\"\n CLOSE_PAREN: (92..93) \")\"\n ATMOSPHERE: (93..102) \"\n \"\n FORM: (102..168)\n OPEN_PAREN: (102..103) \"(\"\n SYMBOL: (103..106)\n IDENTIFIER: (103..106) \"let\"\n ATMOSPHERE: (106..107) \" \"\n FORM: (107..129)\n OPEN_PAREN: (107..108) \"(\"\n FORM: (108..128)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..120)\n IDENTIFIER: (109..120) \"replacement\"\n ATMOSPHERE: (120..121) \" \"\n CONSTANT: (121..127)\n STRING: (121..127) \"\"pass\"\"\n CLOSE_PAREN: (127..128) \")\"\n CLOSE_PAREN: (128..129) \")\"\n ATMOSPHERE: (129..142) \"\n \"\n FORM: (142..167)\n OPEN_PAREN: (142..143) \"(\"\n SYMBOL: (143..147)\n IDENTIFIER: (143..147) \"set!\"\n ATMOSPHERE: (147..148) \" \"\n SYMBOL: (148..154)\n IDENTIFIER: (148..154) \"testit\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..166)\n IDENTIFIER: (155..166) \"replacement\"\n CLOSE_PAREN: (166..167) \")\"\n CLOSE_PAREN: (167..168) \")\"\n CLOSE_PAREN: (168..169) \")\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..171) \"\n\"\n FORM: (171..212)\n OPEN_PAREN: (171..172) \"(\"\n SYMBOL: (172..178)\n IDENTIFIER: (172..178) \"import\"\n ATMOSPHERE: (178..179) \" \"\n FORM: (179..192)\n OPEN_PAREN: (179..180) \"(\"\n SYMBOL: (180..183)\n IDENTIFIER: (180..183) \"lib\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"capture\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..197) \"\n \"\n FORM: (197..211)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..204)\n IDENTIFIER: (198..204) \"scheme\"\n ATMOSPHERE: (204..205) \" \"\n SYMBOL: (205..210)\n IDENTIFIER: (205..210) \"write\"\n CLOSE_PAREN: (210..211) \")\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..213) \"\n\"\n FORM: (213..229)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..221)\n IDENTIFIER: (214..221) \"display\"\n ATMOSPHERE: (221..222) \" \"\n SYMBOL: (222..228)\n IDENTIFIER: (222..228) \"testit\"\n CLOSE_PAREN: (228..229) \")\"\n FORM: (229..238)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..237)\n IDENTIFIER: (230..237) \"newline\"\n CLOSE_PAREN: (237..238) \")\"\n EOF: (238..238) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json b/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json index d41491f..032a5d4 100644 --- a/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..268)\n FORM: (0..195)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..30)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..21)\n IDENTIFIER: (17..21) \"test\"\n ATMOSPHERE: (21..22) \" \"\n SYMBOL: (22..29)\n IDENTIFIER: (22..29) \"greeter\"\n CLOSE_PAREN: (29..30) \")\"\n ATMOSPHERE: (30..32) \"\n\t\"\n FORM: (32..46)\n OPEN_PAREN: (32..33) \"(\"\n SYMBOL: (33..39)\n IDENTIFIER: (33..39) \"export\"\n ATMOSPHERE: (39..40) \" \"\n SYMBOL: (40..45)\n IDENTIFIER: (40..45) \"greet\"\n CLOSE_PAREN: (45..46) \")\"\n ATMOSPHERE: (46..48) \"\n\t\"\n FORM: (48..87)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..55)\n IDENTIFIER: (49..55) \"import\"\n ATMOSPHERE: (55..56) \" \"\n FORM: (56..69)\n OPEN_PAREN: (56..57) \"(\"\n SYMBOL: (57..63)\n IDENTIFIER: (57..63) \"scheme\"\n ATMOSPHERE: (63..64) \" \"\n SYMBOL: (64..68)\n IDENTIFIER: (64..68) \"base\"\n CLOSE_PAREN: (68..69) \")\"\n ATMOSPHERE: (69..72) \"\n\t\t\"\n FORM: (72..86)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..79)\n IDENTIFIER: (73..79) \"scheme\"\n ATMOSPHERE: (79..80) \" \"\n SYMBOL: (80..85)\n IDENTIFIER: (80..85) \"write\"\n CLOSE_PAREN: (85..86) \")\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..89) \"\n\t\"\n FORM: (89..194)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..95)\n IDENTIFIER: (90..95) \"begin\"\n ATMOSPHERE: (95..98) \"\n\t\t\"\n FORM: (98..193)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..105)\n IDENTIFIER: (99..105) \"define\"\n ATMOSPHERE: (105..106) \" \"\n FORM: (106..120)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..112)\n IDENTIFIER: (107..112) \"greet\"\n ATMOSPHERE: (112..113) \" \"\n SYMBOL: (113..119)\n IDENTIFIER: (113..119) \"person\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..124) \"\n\t\t\t\"\n FORM: (124..142)\n OPEN_PAREN: (124..125) \"(\"\n SYMBOL: (125..132)\n IDENTIFIER: (125..132) \"display\"\n ATMOSPHERE: (132..133) \" \"\n CONSTANT: (133..141)\n STRING: (133..141) \"\"Hello \"\"\n CLOSE_PAREN: (141..142) \")\"\n ATMOSPHERE: (142..146) \"\n\t\t\t\"\n FORM: (146..162)\n OPEN_PAREN: (146..147) \"(\"\n SYMBOL: (147..154)\n IDENTIFIER: (147..154) \"display\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..161)\n IDENTIFIER: (155..161) \"person\"\n CLOSE_PAREN: (161..162) \")\"\n ATMOSPHERE: (162..166) \"\n\t\t\t\"\n FORM: (166..179)\n OPEN_PAREN: (166..167) \"(\"\n SYMBOL: (167..174)\n IDENTIFIER: (167..174) \"display\"\n ATMOSPHERE: (174..175) \" \"\n CONSTANT: (175..178)\n CHARACTER: (175..178) \"#\\!\"\n CLOSE_PAREN: (178..179) \")\"\n ATMOSPHERE: (179..183) \"\n\t\t\t\"\n FORM: (183..192)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"newline\"\n CLOSE_PAREN: (191..192) \")\"\n CLOSE_PAREN: (192..193) \")\"\n CLOSE_PAREN: (193..194) \")\"\n CLOSE_PAREN: (194..195) \")\"\n ATMOSPHERE: (195..197) \"\n\n\"\n FORM: (197..247)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..204)\n IDENTIFIER: (198..204) \"import\"\n ATMOSPHERE: (204..205) \" \"\n FORM: (205..246)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..212)\n IDENTIFIER: (206..212) \"prefix\"\n ATMOSPHERE: (212..213) \" \"\n FORM: (213..240)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..218)\n IDENTIFIER: (214..218) \"only\"\n ATMOSPHERE: (218..219) \" \"\n FORM: (219..233)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..224)\n IDENTIFIER: (220..224) \"test\"\n ATMOSPHERE: (224..225) \" \"\n SYMBOL: (225..232)\n IDENTIFIER: (225..232) \"greeter\"\n CLOSE_PAREN: (232..233) \")\"\n ATMOSPHERE: (233..234) \" \"\n SYMBOL: (234..239)\n IDENTIFIER: (234..239) \"greet\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \" \"\n SYMBOL: (241..245)\n IDENTIFIER: (241..245) \"grt/\"\n CLOSE_PAREN: (245..246) \")\"\n CLOSE_PAREN: (246..247) \")\"\n ATMOSPHERE: (247..249) \"\n\n\"\n FORM: (249..268)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..259)\n IDENTIFIER: (250..259) \"grt/greet\"\n ATMOSPHERE: (259..260) \" \"\n CONSTANT: (260..267)\n STRING: (260..267) \"\"world\"\"\n CLOSE_PAREN: (267..268) \")\"\n" + "Root": "PROGRAM: (0..268)\n FORM: (0..195)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..30)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..21)\n IDENTIFIER: (17..21) \"test\"\n ATMOSPHERE: (21..22) \" \"\n SYMBOL: (22..29)\n IDENTIFIER: (22..29) \"greeter\"\n CLOSE_PAREN: (29..30) \")\"\n ATMOSPHERE: (30..32) \"\n\t\"\n FORM: (32..46)\n OPEN_PAREN: (32..33) \"(\"\n SYMBOL: (33..39)\n IDENTIFIER: (33..39) \"export\"\n ATMOSPHERE: (39..40) \" \"\n SYMBOL: (40..45)\n IDENTIFIER: (40..45) \"greet\"\n CLOSE_PAREN: (45..46) \")\"\n ATMOSPHERE: (46..48) \"\n\t\"\n FORM: (48..87)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..55)\n IDENTIFIER: (49..55) \"import\"\n ATMOSPHERE: (55..56) \" \"\n FORM: (56..69)\n OPEN_PAREN: (56..57) \"(\"\n SYMBOL: (57..63)\n IDENTIFIER: (57..63) \"scheme\"\n ATMOSPHERE: (63..64) \" \"\n SYMBOL: (64..68)\n IDENTIFIER: (64..68) \"base\"\n CLOSE_PAREN: (68..69) \")\"\n ATMOSPHERE: (69..72) \"\n\t\t\"\n FORM: (72..86)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..79)\n IDENTIFIER: (73..79) \"scheme\"\n ATMOSPHERE: (79..80) \" \"\n SYMBOL: (80..85)\n IDENTIFIER: (80..85) \"write\"\n CLOSE_PAREN: (85..86) \")\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..89) \"\n\t\"\n FORM: (89..194)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..95)\n IDENTIFIER: (90..95) \"begin\"\n ATMOSPHERE: (95..98) \"\n\t\t\"\n FORM: (98..193)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..105)\n IDENTIFIER: (99..105) \"define\"\n ATMOSPHERE: (105..106) \" \"\n FORM: (106..120)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..112)\n IDENTIFIER: (107..112) \"greet\"\n ATMOSPHERE: (112..113) \" \"\n SYMBOL: (113..119)\n IDENTIFIER: (113..119) \"person\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..124) \"\n\t\t\t\"\n FORM: (124..142)\n OPEN_PAREN: (124..125) \"(\"\n SYMBOL: (125..132)\n IDENTIFIER: (125..132) \"display\"\n ATMOSPHERE: (132..133) \" \"\n CONSTANT: (133..141)\n STRING: (133..141) \"\"Hello \"\"\n CLOSE_PAREN: (141..142) \")\"\n ATMOSPHERE: (142..146) \"\n\t\t\t\"\n FORM: (146..162)\n OPEN_PAREN: (146..147) \"(\"\n SYMBOL: (147..154)\n IDENTIFIER: (147..154) \"display\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..161)\n IDENTIFIER: (155..161) \"person\"\n CLOSE_PAREN: (161..162) \")\"\n ATMOSPHERE: (162..166) \"\n\t\t\t\"\n FORM: (166..179)\n OPEN_PAREN: (166..167) \"(\"\n SYMBOL: (167..174)\n IDENTIFIER: (167..174) \"display\"\n ATMOSPHERE: (174..175) \" \"\n CONSTANT: (175..178)\n CHARACTER: (175..178) \"#\\!\"\n CLOSE_PAREN: (178..179) \")\"\n ATMOSPHERE: (179..183) \"\n\t\t\t\"\n FORM: (183..192)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"newline\"\n CLOSE_PAREN: (191..192) \")\"\n CLOSE_PAREN: (192..193) \")\"\n CLOSE_PAREN: (193..194) \")\"\n CLOSE_PAREN: (194..195) \")\"\n ATMOSPHERE: (195..197) \"\n\n\"\n FORM: (197..247)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..204)\n IDENTIFIER: (198..204) \"import\"\n ATMOSPHERE: (204..205) \" \"\n FORM: (205..246)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..212)\n IDENTIFIER: (206..212) \"prefix\"\n ATMOSPHERE: (212..213) \" \"\n FORM: (213..240)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..218)\n IDENTIFIER: (214..218) \"only\"\n ATMOSPHERE: (218..219) \" \"\n FORM: (219..233)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..224)\n IDENTIFIER: (220..224) \"test\"\n ATMOSPHERE: (224..225) \" \"\n SYMBOL: (225..232)\n IDENTIFIER: (225..232) \"greeter\"\n CLOSE_PAREN: (232..233) \")\"\n ATMOSPHERE: (233..234) \" \"\n SYMBOL: (234..239)\n IDENTIFIER: (234..239) \"greet\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \" \"\n SYMBOL: (241..245)\n IDENTIFIER: (241..245) \"grt/\"\n CLOSE_PAREN: (245..246) \")\"\n CLOSE_PAREN: (246..247) \")\"\n ATMOSPHERE: (247..249) \"\n\n\"\n FORM: (249..268)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..259)\n IDENTIFIER: (250..259) \"grt/greet\"\n ATMOSPHERE: (259..260) \" \"\n CONSTANT: (260..267)\n STRING: (260..267) \"\"world\"\"\n CLOSE_PAREN: (267..268) \")\"\n EOF: (268..268) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_libs.scm.json b/test/Feersum.Tests/_snapshots/Parse_libs.scm.json index 2a97b46..941a551 100644 --- a/test/Feersum.Tests/_snapshots/Parse_libs.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_libs.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..530)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..94)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..57)\n IDENTIFIER: (43..57) \"define-library\"\n ATMOSPHERE: (57..58) \" \"\n FORM: (58..93)\n OPEN_PAREN: (58..59) \"(\"\n SYMBOL: (59..61)\n IDENTIFIER: (59..61) \"it\"\n ATMOSPHERE: (61..62) \" \"\n SYMBOL: (62..68)\n IDENTIFIER: (62..68) \"should\"\n ATMOSPHERE: (68..69) \" \"\n CONSTANT: (69..72)\n NUMBER: (69..72) \"100\"\n ATMOSPHERE: (72..73) \" \"\n SYMBOL: (73..80)\n IDENTIFIER: (73..80) \"support\"\n ATMOSPHERE: (80..81) \" \"\n CONSTANT: (81..84)\n NUMBER: (81..84) \"202\"\n ATMOSPHERE: (84..85) \" \"\n SYMBOL: (85..92)\n IDENTIFIER: (85..92) \"numbers\"\n CLOSE_PAREN: (92..93) \")\"\n CLOSE_PAREN: (93..94) \")\"\n ATMOSPHERE: (94..95) \"\n\"\n FORM: (95..129)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..110)\n IDENTIFIER: (96..110) \"define-library\"\n ATMOSPHERE: (110..111) \" \"\n FORM: (111..128)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..116)\n IDENTIFIER: (112..116) \"test\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..127)\n IDENTIFIER: (117..127) \"dependency\"\n CLOSE_PAREN: (127..128) \")\"\n CLOSE_PAREN: (128..129) \")\"\n ATMOSPHERE: (129..130) \"\n\"\n FORM: (130..346)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..145)\n IDENTIFIER: (131..145) \"define-library\"\n ATMOSPHERE: (145..146) \" \"\n FORM: (146..160)\n OPEN_PAREN: (146..147) \"(\"\n SYMBOL: (147..154)\n IDENTIFIER: (147..154) \"example\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..159)\n IDENTIFIER: (155..159) \"grid\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..162) \"\n\t\"\n FORM: (162..215)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..169)\n IDENTIFIER: (163..169) \"export\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..173)\n IDENTIFIER: (170..173) \"fiz\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..177)\n IDENTIFIER: (174..177) \"buz\"\n ATMOSPHERE: (177..180) \"\n\t\t\"\n FORM: (180..214)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..187)\n IDENTIFIER: (181..187) \"rename\"\n ATMOSPHERE: (187..188) \" \"\n SYMBOL: (188..199)\n IDENTIFIER: (188..199) \"hidden-name\"\n ATMOSPHERE: (199..200) \" \"\n SYMBOL: (200..213)\n IDENTIFIER: (200..213) \"external-name\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..217) \"\n\t\"\n FORM: (217..243)\n OPEN_PAREN: (217..218) \"(\"\n SYMBOL: (218..224)\n IDENTIFIER: (218..224) \"import\"\n ATMOSPHERE: (224..225) \" \"\n FORM: (225..242)\n OPEN_PAREN: (225..226) \"(\"\n SYMBOL: (226..230)\n IDENTIFIER: (226..230) \"test\"\n ATMOSPHERE: (230..231) \" \"\n SYMBOL: (231..241)\n IDENTIFIER: (231..241) \"dependency\"\n CLOSE_PAREN: (241..242) \")\"\n CLOSE_PAREN: (242..243) \")\"\n ATMOSPHERE: (243..245) \"\n\t\"\n FORM: (245..345)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..251)\n IDENTIFIER: (246..251) \"begin\"\n ATMOSPHERE: (251..254) \"\n\t\t\"\n FORM: (254..270)\n OPEN_PAREN: (254..255) \"(\"\n SYMBOL: (255..261)\n IDENTIFIER: (255..261) \"define\"\n ATMOSPHERE: (261..262) \" \"\n SYMBOL: (262..265)\n IDENTIFIER: (262..265) \"fiz\"\n ATMOSPHERE: (265..266) \" \"\n CONSTANT: (266..269)\n NUMBER: (266..269) \"100\"\n CLOSE_PAREN: (269..270) \")\"\n ATMOSPHERE: (270..273) \"\n\t\t\"\n FORM: (273..289)\n OPEN_PAREN: (273..274) \"(\"\n SYMBOL: (274..280)\n IDENTIFIER: (274..280) \"define\"\n ATMOSPHERE: (280..281) \" \"\n SYMBOL: (281..284)\n IDENTIFIER: (281..284) \"buz\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..288)\n NUMBER: (285..288) \"100\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..292) \"\n\t\t\"\n FORM: (292..316)\n OPEN_PAREN: (292..293) \"(\"\n SYMBOL: (293..299)\n IDENTIFIER: (293..299) \"define\"\n ATMOSPHERE: (299..300) \" \"\n SYMBOL: (300..311)\n IDENTIFIER: (300..311) \"hidden-name\"\n ATMOSPHERE: (311..312) \" \"\n CONSTANT: (312..315)\n NUMBER: (312..315) \"101\"\n CLOSE_PAREN: (315..316) \")\"\n ATMOSPHERE: (316..319) \"\n\t\t\"\n FORM: (319..344)\n OPEN_PAREN: (319..320) \"(\"\n SYMBOL: (320..326)\n IDENTIFIER: (320..326) \"define\"\n ATMOSPHERE: (326..327) \" \"\n SYMBOL: (327..339)\n IDENTIFIER: (327..339) \"not-exported\"\n ATMOSPHERE: (339..340) \" \"\n CONSTANT: (340..343)\n NUMBER: (340..343) \"100\"\n CLOSE_PAREN: (343..344) \")\"\n CLOSE_PAREN: (344..345) \")\"\n CLOSE_PAREN: (345..346) \")\"\n ATMOSPHERE: (346..347) \"\n\"\n FORM: (347..477)\n OPEN_PAREN: (347..348) \"(\"\n SYMBOL: (348..362)\n IDENTIFIER: (348..362) \"define-library\"\n ATMOSPHERE: (362..363) \" \"\n FORM: (363..377)\n OPEN_PAREN: (363..364) \"(\"\n SYMBOL: (364..368)\n IDENTIFIER: (364..368) \"test\"\n ATMOSPHERE: (368..369) \" \"\n SYMBOL: (369..376)\n IDENTIFIER: (369..376) \"greeter\"\n CLOSE_PAREN: (376..377) \")\"\n ATMOSPHERE: (377..379) \"\n\t\"\n FORM: (379..417)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..386)\n IDENTIFIER: (380..386) \"import\"\n ATMOSPHERE: (386..387) \" \"\n FORM: (387..416)\n OPEN_PAREN: (387..388) \"(\"\n SYMBOL: (388..394)\n IDENTIFIER: (388..394) \"prefix\"\n ATMOSPHERE: (394..395) \" \"\n FORM: (395..409)\n OPEN_PAREN: (395..396) \"(\"\n SYMBOL: (396..403)\n IDENTIFIER: (396..403) \"example\"\n ATMOSPHERE: (403..404) \" \"\n SYMBOL: (404..408)\n IDENTIFIER: (404..408) \"grid\"\n CLOSE_PAREN: (408..409) \")\"\n ATMOSPHERE: (409..410) \" \"\n SYMBOL: (410..415)\n IDENTIFIER: (410..415) \"grid/\"\n CLOSE_PAREN: (415..416) \")\"\n CLOSE_PAREN: (416..417) \")\"\n ATMOSPHERE: (417..419) \"\n\t\"\n FORM: (419..433)\n OPEN_PAREN: (419..420) \"(\"\n SYMBOL: (420..426)\n IDENTIFIER: (420..426) \"export\"\n ATMOSPHERE: (426..427) \" \"\n SYMBOL: (427..432)\n IDENTIFIER: (427..432) \"greet\"\n CLOSE_PAREN: (432..433) \")\"\n ATMOSPHERE: (433..435) \"\n\t\"\n FORM: (435..476)\n OPEN_PAREN: (435..436) \"(\"\n SYMBOL: (436..441)\n IDENTIFIER: (436..441) \"begin\"\n ATMOSPHERE: (441..442) \" \"\n FORM: (442..475)\n OPEN_PAREN: (442..443) \"(\"\n SYMBOL: (443..449)\n IDENTIFIER: (443..449) \"define\"\n ATMOSPHERE: (449..450) \" \"\n SYMBOL: (450..455)\n IDENTIFIER: (450..455) \"greet\"\n ATMOSPHERE: (455..456) \" \"\n SYMBOL: (456..474)\n IDENTIFIER: (456..474) \"grid/external-name\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n CLOSE_PAREN: (476..477) \")\"\n ATMOSPHERE: (477..478) \"\n\"\n FORM: (478..514)\n OPEN_PAREN: (478..479) \"(\"\n SYMBOL: (479..485)\n IDENTIFIER: (479..485) \"import\"\n ATMOSPHERE: (485..486) \" \"\n FORM: (486..513)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..491)\n IDENTIFIER: (487..491) \"only\"\n ATMOSPHERE: (491..492) \" \"\n FORM: (492..506)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..497)\n IDENTIFIER: (493..497) \"test\"\n ATMOSPHERE: (497..498) \" \"\n SYMBOL: (498..505)\n IDENTIFIER: (498..505) \"greeter\"\n CLOSE_PAREN: (505..506) \")\"\n ATMOSPHERE: (506..507) \" \"\n SYMBOL: (507..512)\n IDENTIFIER: (507..512) \"greet\"\n CLOSE_PAREN: (512..513) \")\"\n CLOSE_PAREN: (513..514) \")\"\n ATMOSPHERE: (514..515) \"\n\"\n FORM: (515..530)\n OPEN_PAREN: (515..516) \"(\"\n SYMBOL: (516..523)\n IDENTIFIER: (516..523) \"display\"\n ATMOSPHERE: (523..524) \" \"\n SYMBOL: (524..529)\n IDENTIFIER: (524..529) \"greet\"\n CLOSE_PAREN: (529..530) \")\"\n" + "Root": "PROGRAM: (0..530)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..94)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..57)\n IDENTIFIER: (43..57) \"define-library\"\n ATMOSPHERE: (57..58) \" \"\n FORM: (58..93)\n OPEN_PAREN: (58..59) \"(\"\n SYMBOL: (59..61)\n IDENTIFIER: (59..61) \"it\"\n ATMOSPHERE: (61..62) \" \"\n SYMBOL: (62..68)\n IDENTIFIER: (62..68) \"should\"\n ATMOSPHERE: (68..69) \" \"\n CONSTANT: (69..72)\n NUMBER: (69..72) \"100\"\n ATMOSPHERE: (72..73) \" \"\n SYMBOL: (73..80)\n IDENTIFIER: (73..80) \"support\"\n ATMOSPHERE: (80..81) \" \"\n CONSTANT: (81..84)\n NUMBER: (81..84) \"202\"\n ATMOSPHERE: (84..85) \" \"\n SYMBOL: (85..92)\n IDENTIFIER: (85..92) \"numbers\"\n CLOSE_PAREN: (92..93) \")\"\n CLOSE_PAREN: (93..94) \")\"\n ATMOSPHERE: (94..95) \"\n\"\n FORM: (95..129)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..110)\n IDENTIFIER: (96..110) \"define-library\"\n ATMOSPHERE: (110..111) \" \"\n FORM: (111..128)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..116)\n IDENTIFIER: (112..116) \"test\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..127)\n IDENTIFIER: (117..127) \"dependency\"\n CLOSE_PAREN: (127..128) \")\"\n CLOSE_PAREN: (128..129) \")\"\n ATMOSPHERE: (129..130) \"\n\"\n FORM: (130..346)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..145)\n IDENTIFIER: (131..145) \"define-library\"\n ATMOSPHERE: (145..146) \" \"\n FORM: (146..160)\n OPEN_PAREN: (146..147) \"(\"\n SYMBOL: (147..154)\n IDENTIFIER: (147..154) \"example\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..159)\n IDENTIFIER: (155..159) \"grid\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..162) \"\n\t\"\n FORM: (162..215)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..169)\n IDENTIFIER: (163..169) \"export\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..173)\n IDENTIFIER: (170..173) \"fiz\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..177)\n IDENTIFIER: (174..177) \"buz\"\n ATMOSPHERE: (177..180) \"\n\t\t\"\n FORM: (180..214)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..187)\n IDENTIFIER: (181..187) \"rename\"\n ATMOSPHERE: (187..188) \" \"\n SYMBOL: (188..199)\n IDENTIFIER: (188..199) \"hidden-name\"\n ATMOSPHERE: (199..200) \" \"\n SYMBOL: (200..213)\n IDENTIFIER: (200..213) \"external-name\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..217) \"\n\t\"\n FORM: (217..243)\n OPEN_PAREN: (217..218) \"(\"\n SYMBOL: (218..224)\n IDENTIFIER: (218..224) \"import\"\n ATMOSPHERE: (224..225) \" \"\n FORM: (225..242)\n OPEN_PAREN: (225..226) \"(\"\n SYMBOL: (226..230)\n IDENTIFIER: (226..230) \"test\"\n ATMOSPHERE: (230..231) \" \"\n SYMBOL: (231..241)\n IDENTIFIER: (231..241) \"dependency\"\n CLOSE_PAREN: (241..242) \")\"\n CLOSE_PAREN: (242..243) \")\"\n ATMOSPHERE: (243..245) \"\n\t\"\n FORM: (245..345)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..251)\n IDENTIFIER: (246..251) \"begin\"\n ATMOSPHERE: (251..254) \"\n\t\t\"\n FORM: (254..270)\n OPEN_PAREN: (254..255) \"(\"\n SYMBOL: (255..261)\n IDENTIFIER: (255..261) \"define\"\n ATMOSPHERE: (261..262) \" \"\n SYMBOL: (262..265)\n IDENTIFIER: (262..265) \"fiz\"\n ATMOSPHERE: (265..266) \" \"\n CONSTANT: (266..269)\n NUMBER: (266..269) \"100\"\n CLOSE_PAREN: (269..270) \")\"\n ATMOSPHERE: (270..273) \"\n\t\t\"\n FORM: (273..289)\n OPEN_PAREN: (273..274) \"(\"\n SYMBOL: (274..280)\n IDENTIFIER: (274..280) \"define\"\n ATMOSPHERE: (280..281) \" \"\n SYMBOL: (281..284)\n IDENTIFIER: (281..284) \"buz\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..288)\n NUMBER: (285..288) \"100\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..292) \"\n\t\t\"\n FORM: (292..316)\n OPEN_PAREN: (292..293) \"(\"\n SYMBOL: (293..299)\n IDENTIFIER: (293..299) \"define\"\n ATMOSPHERE: (299..300) \" \"\n SYMBOL: (300..311)\n IDENTIFIER: (300..311) \"hidden-name\"\n ATMOSPHERE: (311..312) \" \"\n CONSTANT: (312..315)\n NUMBER: (312..315) \"101\"\n CLOSE_PAREN: (315..316) \")\"\n ATMOSPHERE: (316..319) \"\n\t\t\"\n FORM: (319..344)\n OPEN_PAREN: (319..320) \"(\"\n SYMBOL: (320..326)\n IDENTIFIER: (320..326) \"define\"\n ATMOSPHERE: (326..327) \" \"\n SYMBOL: (327..339)\n IDENTIFIER: (327..339) \"not-exported\"\n ATMOSPHERE: (339..340) \" \"\n CONSTANT: (340..343)\n NUMBER: (340..343) \"100\"\n CLOSE_PAREN: (343..344) \")\"\n CLOSE_PAREN: (344..345) \")\"\n CLOSE_PAREN: (345..346) \")\"\n ATMOSPHERE: (346..347) \"\n\"\n FORM: (347..477)\n OPEN_PAREN: (347..348) \"(\"\n SYMBOL: (348..362)\n IDENTIFIER: (348..362) \"define-library\"\n ATMOSPHERE: (362..363) \" \"\n FORM: (363..377)\n OPEN_PAREN: (363..364) \"(\"\n SYMBOL: (364..368)\n IDENTIFIER: (364..368) \"test\"\n ATMOSPHERE: (368..369) \" \"\n SYMBOL: (369..376)\n IDENTIFIER: (369..376) \"greeter\"\n CLOSE_PAREN: (376..377) \")\"\n ATMOSPHERE: (377..379) \"\n\t\"\n FORM: (379..417)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..386)\n IDENTIFIER: (380..386) \"import\"\n ATMOSPHERE: (386..387) \" \"\n FORM: (387..416)\n OPEN_PAREN: (387..388) \"(\"\n SYMBOL: (388..394)\n IDENTIFIER: (388..394) \"prefix\"\n ATMOSPHERE: (394..395) \" \"\n FORM: (395..409)\n OPEN_PAREN: (395..396) \"(\"\n SYMBOL: (396..403)\n IDENTIFIER: (396..403) \"example\"\n ATMOSPHERE: (403..404) \" \"\n SYMBOL: (404..408)\n IDENTIFIER: (404..408) \"grid\"\n CLOSE_PAREN: (408..409) \")\"\n ATMOSPHERE: (409..410) \" \"\n SYMBOL: (410..415)\n IDENTIFIER: (410..415) \"grid/\"\n CLOSE_PAREN: (415..416) \")\"\n CLOSE_PAREN: (416..417) \")\"\n ATMOSPHERE: (417..419) \"\n\t\"\n FORM: (419..433)\n OPEN_PAREN: (419..420) \"(\"\n SYMBOL: (420..426)\n IDENTIFIER: (420..426) \"export\"\n ATMOSPHERE: (426..427) \" \"\n SYMBOL: (427..432)\n IDENTIFIER: (427..432) \"greet\"\n CLOSE_PAREN: (432..433) \")\"\n ATMOSPHERE: (433..435) \"\n\t\"\n FORM: (435..476)\n OPEN_PAREN: (435..436) \"(\"\n SYMBOL: (436..441)\n IDENTIFIER: (436..441) \"begin\"\n ATMOSPHERE: (441..442) \" \"\n FORM: (442..475)\n OPEN_PAREN: (442..443) \"(\"\n SYMBOL: (443..449)\n IDENTIFIER: (443..449) \"define\"\n ATMOSPHERE: (449..450) \" \"\n SYMBOL: (450..455)\n IDENTIFIER: (450..455) \"greet\"\n ATMOSPHERE: (455..456) \" \"\n SYMBOL: (456..474)\n IDENTIFIER: (456..474) \"grid/external-name\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n CLOSE_PAREN: (476..477) \")\"\n ATMOSPHERE: (477..478) \"\n\"\n FORM: (478..514)\n OPEN_PAREN: (478..479) \"(\"\n SYMBOL: (479..485)\n IDENTIFIER: (479..485) \"import\"\n ATMOSPHERE: (485..486) \" \"\n FORM: (486..513)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..491)\n IDENTIFIER: (487..491) \"only\"\n ATMOSPHERE: (491..492) \" \"\n FORM: (492..506)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..497)\n IDENTIFIER: (493..497) \"test\"\n ATMOSPHERE: (497..498) \" \"\n SYMBOL: (498..505)\n IDENTIFIER: (498..505) \"greeter\"\n CLOSE_PAREN: (505..506) \")\"\n ATMOSPHERE: (506..507) \" \"\n SYMBOL: (507..512)\n IDENTIFIER: (507..512) \"greet\"\n CLOSE_PAREN: (512..513) \")\"\n CLOSE_PAREN: (513..514) \")\"\n ATMOSPHERE: (514..515) \"\n\"\n FORM: (515..530)\n OPEN_PAREN: (515..516) \"(\"\n SYMBOL: (516..523)\n IDENTIFIER: (516..523) \"display\"\n ATMOSPHERE: (523..524) \" \"\n SYMBOL: (524..529)\n IDENTIFIER: (524..529) \"greet\"\n CLOSE_PAREN: (529..530) \")\"\n EOF: (530..530) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_lists.scm.json b/test/Feersum.Tests/_snapshots/Parse_lists.scm.json index 56461b9..43485e5 100644 --- a/test/Feersum.Tests/_snapshots/Parse_lists.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_lists.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..2619)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..239)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..51)\n IDENTIFIER: (44..51) \"display\"\n ATMOSPHERE: (51..52) \" \"\n FORM: (52..238)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..57)\n IDENTIFIER: (53..57) \"list\"\n ATMOSPHERE: (57..62) \"\n \"\n FORM: (62..77)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..67)\n IDENTIFIER: (63..67) \"list\"\n ATMOSPHERE: (67..68) \" \"\n CONSTANT: (68..70)\n NUMBER: (68..70) \"12\"\n ATMOSPHERE: (70..71) \" \"\n CONSTANT: (71..73)\n NUMBER: (71..73) \"34\"\n ATMOSPHERE: (73..74) \" \"\n CONSTANT: (74..76)\n NUMBER: (74..76) \"56\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..105) \" \"\n ATMOSPHERE: (105..117) \"; (12 34 56)\"\n ATMOSPHERE: (117..122) \"\n \"\n FORM: (122..155)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..126)\n IDENTIFIER: (123..126) \"cdr\"\n ATMOSPHERE: (126..127) \" \"\n FORM: (127..154)\n OPEN_PAREN: (127..128) \"(\"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"cdr\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..153)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..137)\n IDENTIFIER: (133..137) \"list\"\n ATMOSPHERE: (137..138) \" \"\n CONSTANT: (138..141)\n STRING: (138..141) \"\"a\"\"\n ATMOSPHERE: (141..142) \" \"\n CONSTANT: (142..145)\n CHARACTER: (142..145) \"#\\B\"\n ATMOSPHERE: (145..146) \" \"\n CONSTANT: (146..148)\n BOOLEAN: (146..148) \"#f\"\n ATMOSPHERE: (148..149) \" \"\n CONSTANT: (149..152)\n NUMBER: (149..152) \"4.0\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n CLOSE_PAREN: (154..155) \")\"\n ATMOSPHERE: (155..165) \" \"\n ATMOSPHERE: (165..178) \"; -> (#f 4.0)\"\n ATMOSPHERE: (178..183) \"\n \"\n FORM: (183..224)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..187)\n IDENTIFIER: (184..187) \"car\"\n ATMOSPHERE: (187..188) \" \"\n FORM: (188..223)\n OPEN_PAREN: (188..189) \"(\"\n SYMBOL: (189..192)\n IDENTIFIER: (189..192) \"cdr\"\n ATMOSPHERE: (192..193) \" \"\n FORM: (193..222)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..197)\n IDENTIFIER: (194..197) \"car\"\n ATMOSPHERE: (197..198) \" \"\n FORM: (198..221)\n OPEN_PAREN: (198..199) \"(\"\n SYMBOL: (199..203)\n IDENTIFIER: (199..203) \"list\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..216)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..209)\n IDENTIFIER: (205..209) \"list\"\n ATMOSPHERE: (209..210) \" \"\n CONSTANT: (210..211)\n NUMBER: (210..211) \"1\"\n ATMOSPHERE: (211..212) \" \"\n CONSTANT: (212..213)\n NUMBER: (212..213) \"2\"\n ATMOSPHERE: (213..214) \" \"\n CONSTANT: (214..215)\n NUMBER: (214..215) \"3\"\n CLOSE_PAREN: (215..216) \")\"\n ATMOSPHERE: (216..217) \" \"\n CONSTANT: (217..218)\n NUMBER: (217..218) \"4\"\n ATMOSPHERE: (218..219) \" \"\n CONSTANT: (219..220)\n NUMBER: (219..220) \"5\"\n CLOSE_PAREN: (220..221) \")\"\n CLOSE_PAREN: (221..222) \")\"\n CLOSE_PAREN: (222..223) \")\"\n CLOSE_PAREN: (223..224) \")\"\n ATMOSPHERE: (224..226) \" \"\n ATMOSPHERE: (226..232) \"; -> 2\"\n ATMOSPHERE: (232..237) \"\n \"\n CLOSE_PAREN: (237..238) \")\"\n CLOSE_PAREN: (238..239) \")\"\n ATMOSPHERE: (239..240) \"\n\"\n FORM: (240..249)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..248)\n IDENTIFIER: (241..248) \"newline\"\n CLOSE_PAREN: (248..249) \")\"\n ATMOSPHERE: (249..251) \"\n\n\"\n FORM: (251..436)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..258)\n IDENTIFIER: (252..258) \"define\"\n ATMOSPHERE: (258..259) \" \"\n FORM: (259..269)\n OPEN_PAREN: (259..260) \"(\"\n SYMBOL: (260..263)\n IDENTIFIER: (260..263) \"rev\"\n ATMOSPHERE: (263..264) \" \"\n SYMBOL: (264..268)\n IDENTIFIER: (264..268) \"list\"\n CLOSE_PAREN: (268..269) \")\"\n ATMOSPHERE: (269..274) \"\n \"\n FORM: (274..408)\n OPEN_PAREN: (274..275) \"(\"\n SYMBOL: (275..281)\n IDENTIFIER: (275..281) \"define\"\n ATMOSPHERE: (281..282) \" \"\n FORM: (282..305)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..295)\n IDENTIFIER: (283..295) \"rev-with-acc\"\n ATMOSPHERE: (295..296) \" \"\n SYMBOL: (296..300)\n IDENTIFIER: (296..300) \"list\"\n ATMOSPHERE: (300..301) \" \"\n SYMBOL: (301..304)\n IDENTIFIER: (301..304) \"acc\"\n CLOSE_PAREN: (304..305) \")\"\n ATMOSPHERE: (305..314) \"\n \"\n FORM: (314..407)\n OPEN_PAREN: (314..315) \"(\"\n SYMBOL: (315..317)\n IDENTIFIER: (315..317) \"if\"\n ATMOSPHERE: (317..318) \" \"\n FORM: (318..330)\n OPEN_PAREN: (318..319) \"(\"\n SYMBOL: (319..324)\n IDENTIFIER: (319..324) \"null?\"\n ATMOSPHERE: (324..325) \" \"\n SYMBOL: (325..329)\n IDENTIFIER: (325..329) \"list\"\n CLOSE_PAREN: (329..330) \")\"\n ATMOSPHERE: (330..343) \"\n \"\n SYMBOL: (343..346)\n IDENTIFIER: (343..346) \"acc\"\n ATMOSPHERE: (346..359) \"\n \"\n FORM: (359..406)\n OPEN_PAREN: (359..360) \"(\"\n SYMBOL: (360..372)\n IDENTIFIER: (360..372) \"rev-with-acc\"\n ATMOSPHERE: (372..373) \" \"\n FORM: (373..383)\n OPEN_PAREN: (373..374) \"(\"\n SYMBOL: (374..377)\n IDENTIFIER: (374..377) \"cdr\"\n ATMOSPHERE: (377..378) \" \"\n SYMBOL: (378..382)\n IDENTIFIER: (378..382) \"list\"\n CLOSE_PAREN: (382..383) \")\"\n ATMOSPHERE: (383..384) \" \"\n FORM: (384..405)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..389)\n IDENTIFIER: (385..389) \"cons\"\n ATMOSPHERE: (389..390) \" \"\n FORM: (390..400)\n OPEN_PAREN: (390..391) \"(\"\n SYMBOL: (391..394)\n IDENTIFIER: (391..394) \"car\"\n ATMOSPHERE: (394..395) \" \"\n SYMBOL: (395..399)\n IDENTIFIER: (395..399) \"list\"\n CLOSE_PAREN: (399..400) \")\"\n ATMOSPHERE: (400..401) \" \"\n SYMBOL: (401..404)\n IDENTIFIER: (401..404) \"acc\"\n CLOSE_PAREN: (404..405) \")\"\n CLOSE_PAREN: (405..406) \")\"\n CLOSE_PAREN: (406..407) \")\"\n CLOSE_PAREN: (407..408) \")\"\n ATMOSPHERE: (408..413) \"\n \"\n FORM: (413..435)\n OPEN_PAREN: (413..414) \"(\"\n SYMBOL: (414..426)\n IDENTIFIER: (414..426) \"rev-with-acc\"\n ATMOSPHERE: (426..427) \" \"\n SYMBOL: (427..431)\n IDENTIFIER: (427..431) \"list\"\n ATMOSPHERE: (431..432) \" \"\n FORM: (432..434)\n OPEN_PAREN: (432..433) \"(\"\n CLOSE_PAREN: (433..434) \")\"\n CLOSE_PAREN: (434..435) \")\"\n CLOSE_PAREN: (435..436) \")\"\n ATMOSPHERE: (436..438) \"\n\n\"\n FORM: (438..470)\n OPEN_PAREN: (438..439) \"(\"\n SYMBOL: (439..446)\n IDENTIFIER: (439..446) \"display\"\n ATMOSPHERE: (446..447) \" \"\n FORM: (447..469)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..451)\n IDENTIFIER: (448..451) \"rev\"\n ATMOSPHERE: (451..452) \" \"\n FORM: (452..468)\n OPEN_PAREN: (452..453) \"(\"\n SYMBOL: (453..457)\n IDENTIFIER: (453..457) \"list\"\n ATMOSPHERE: (457..458) \" \"\n CONSTANT: (458..459)\n NUMBER: (458..459) \"1\"\n ATMOSPHERE: (459..460) \" \"\n CONSTANT: (460..461)\n NUMBER: (460..461) \"2\"\n ATMOSPHERE: (461..462) \" \"\n CONSTANT: (462..463)\n NUMBER: (462..463) \"3\"\n ATMOSPHERE: (463..464) \" \"\n CONSTANT: (464..465)\n NUMBER: (464..465) \"4\"\n ATMOSPHERE: (465..466) \" \"\n CONSTANT: (466..467)\n NUMBER: (466..467) \"5\"\n CLOSE_PAREN: (467..468) \")\"\n CLOSE_PAREN: (468..469) \")\"\n CLOSE_PAREN: (469..470) \")\"\n ATMOSPHERE: (470..471) \"\n\"\n FORM: (471..480)\n OPEN_PAREN: (471..472) \"(\"\n SYMBOL: (472..479)\n IDENTIFIER: (472..479) \"newline\"\n CLOSE_PAREN: (479..480) \")\"\n ATMOSPHERE: (480..482) \"\n\n\"\n FORM: (482..513)\n OPEN_PAREN: (482..483) \"(\"\n SYMBOL: (483..490)\n IDENTIFIER: (483..490) \"display\"\n ATMOSPHERE: (490..491) \" \"\n FORM: (491..512)\n OPEN_PAREN: (491..492) \"(\"\n SYMBOL: (492..497)\n IDENTIFIER: (492..497) \"list?\"\n ATMOSPHERE: (497..498) \" \"\n FORM: (498..511)\n OPEN_PAREN: (498..499) \"(\"\n SYMBOL: (499..503)\n IDENTIFIER: (499..503) \"cons\"\n ATMOSPHERE: (503..504) \" \"\n CONSTANT: (504..507)\n STRING: (504..507) \"\"a\"\"\n ATMOSPHERE: (507..508) \" \"\n FORM: (508..510)\n OPEN_PAREN: (508..509) \"(\"\n CLOSE_PAREN: (509..510) \")\"\n CLOSE_PAREN: (510..511) \")\"\n CLOSE_PAREN: (511..512) \")\"\n CLOSE_PAREN: (512..513) \")\"\n ATMOSPHERE: (513..514) \" \"\n ATMOSPHERE: (514..521) \"; -> #t\"\n ATMOSPHERE: (521..522) \"\n\"\n FORM: (522..557)\n OPEN_PAREN: (522..523) \"(\"\n SYMBOL: (523..530)\n IDENTIFIER: (523..530) \"display\"\n ATMOSPHERE: (530..531) \" \"\n FORM: (531..556)\n OPEN_PAREN: (531..532) \"(\"\n SYMBOL: (532..537)\n IDENTIFIER: (532..537) \"list?\"\n ATMOSPHERE: (537..538) \" \"\n FORM: (538..555)\n OPEN_PAREN: (538..539) \"(\"\n SYMBOL: (539..543)\n IDENTIFIER: (539..543) \"cons\"\n ATMOSPHERE: (543..544) \" \"\n CONSTANT: (544..547)\n STRING: (544..547) \"\"a\"\"\n ATMOSPHERE: (547..548) \" \"\n FORM: (548..554)\n OPEN_PAREN: (548..549) \"(\"\n SYMBOL: (549..553)\n IDENTIFIER: (549..553) \"list\"\n CLOSE_PAREN: (553..554) \")\"\n CLOSE_PAREN: (554..555) \")\"\n CLOSE_PAREN: (555..556) \")\"\n CLOSE_PAREN: (556..557) \")\"\n ATMOSPHERE: (557..558) \" \"\n ATMOSPHERE: (558..565) \"; -> #t\"\n ATMOSPHERE: (565..566) \"\n\"\n FORM: (566..598)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"display\"\n ATMOSPHERE: (574..575) \" \"\n FORM: (575..597)\n OPEN_PAREN: (575..576) \"(\"\n SYMBOL: (576..581)\n IDENTIFIER: (576..581) \"list?\"\n ATMOSPHERE: (581..582) \" \"\n FORM: (582..596)\n OPEN_PAREN: (582..583) \"(\"\n SYMBOL: (583..587)\n IDENTIFIER: (583..587) \"cons\"\n ATMOSPHERE: (587..588) \" \"\n CONSTANT: (588..591)\n STRING: (588..591) \"\"a\"\"\n ATMOSPHERE: (591..592) \" \"\n CONSTANT: (592..595)\n STRING: (592..595) \"\"b\"\"\n CLOSE_PAREN: (595..596) \")\"\n CLOSE_PAREN: (596..597) \")\"\n CLOSE_PAREN: (597..598) \")\"\n ATMOSPHERE: (598..599) \" \"\n ATMOSPHERE: (599..606) \"; -> #f\"\n ATMOSPHERE: (606..607) \"\n\"\n FORM: (607..616)\n OPEN_PAREN: (607..608) \"(\"\n SYMBOL: (608..615)\n IDENTIFIER: (608..615) \"newline\"\n CLOSE_PAREN: (615..616) \")\"\n ATMOSPHERE: (616..618) \"\n\n\"\n FORM: (618..649)\n OPEN_PAREN: (618..619) \"(\"\n SYMBOL: (619..626)\n IDENTIFIER: (619..626) \"display\"\n ATMOSPHERE: (626..627) \" \"\n FORM: (627..648)\n OPEN_PAREN: (627..628) \"(\"\n SYMBOL: (628..633)\n IDENTIFIER: (628..633) \"pair?\"\n ATMOSPHERE: (633..634) \" \"\n FORM: (634..647)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..639)\n IDENTIFIER: (635..639) \"cons\"\n ATMOSPHERE: (639..640) \" \"\n CONSTANT: (640..643)\n STRING: (640..643) \"\"a\"\"\n ATMOSPHERE: (643..644) \" \"\n FORM: (644..646)\n OPEN_PAREN: (644..645) \"(\"\n CLOSE_PAREN: (645..646) \")\"\n CLOSE_PAREN: (646..647) \")\"\n CLOSE_PAREN: (647..648) \")\"\n CLOSE_PAREN: (648..649) \")\"\n ATMOSPHERE: (649..650) \" \"\n ATMOSPHERE: (650..657) \"; -> #t\"\n ATMOSPHERE: (657..658) \"\n\"\n FORM: (658..693)\n OPEN_PAREN: (658..659) \"(\"\n SYMBOL: (659..666)\n IDENTIFIER: (659..666) \"display\"\n ATMOSPHERE: (666..667) \" \"\n FORM: (667..692)\n OPEN_PAREN: (667..668) \"(\"\n SYMBOL: (668..673)\n IDENTIFIER: (668..673) \"pair?\"\n ATMOSPHERE: (673..674) \" \"\n FORM: (674..691)\n OPEN_PAREN: (674..675) \"(\"\n SYMBOL: (675..679)\n IDENTIFIER: (675..679) \"cons\"\n ATMOSPHERE: (679..680) \" \"\n CONSTANT: (680..683)\n STRING: (680..683) \"\"a\"\"\n ATMOSPHERE: (683..684) \" \"\n FORM: (684..690)\n OPEN_PAREN: (684..685) \"(\"\n SYMBOL: (685..689)\n IDENTIFIER: (685..689) \"list\"\n CLOSE_PAREN: (689..690) \")\"\n CLOSE_PAREN: (690..691) \")\"\n CLOSE_PAREN: (691..692) \")\"\n CLOSE_PAREN: (692..693) \")\"\n ATMOSPHERE: (693..694) \" \"\n ATMOSPHERE: (694..701) \"; -> #t\"\n ATMOSPHERE: (701..702) \"\n\"\n FORM: (702..734)\n OPEN_PAREN: (702..703) \"(\"\n SYMBOL: (703..710)\n IDENTIFIER: (703..710) \"display\"\n ATMOSPHERE: (710..711) \" \"\n FORM: (711..733)\n OPEN_PAREN: (711..712) \"(\"\n SYMBOL: (712..717)\n IDENTIFIER: (712..717) \"pair?\"\n ATMOSPHERE: (717..718) \" \"\n FORM: (718..732)\n OPEN_PAREN: (718..719) \"(\"\n SYMBOL: (719..723)\n IDENTIFIER: (719..723) \"cons\"\n ATMOSPHERE: (723..724) \" \"\n CONSTANT: (724..727)\n STRING: (724..727) \"\"a\"\"\n ATMOSPHERE: (727..728) \" \"\n CONSTANT: (728..731)\n STRING: (728..731) \"\"b\"\"\n CLOSE_PAREN: (731..732) \")\"\n CLOSE_PAREN: (732..733) \")\"\n CLOSE_PAREN: (733..734) \")\"\n ATMOSPHERE: (734..735) \" \"\n ATMOSPHERE: (735..742) \"; -> #t\"\n ATMOSPHERE: (742..743) \"\n\"\n FORM: (743..752)\n OPEN_PAREN: (743..744) \"(\"\n SYMBOL: (744..751)\n IDENTIFIER: (744..751) \"newline\"\n CLOSE_PAREN: (751..752) \")\"\n ATMOSPHERE: (752..754) \"\n\n\"\n FORM: (754..782)\n OPEN_PAREN: (754..755) \"(\"\n SYMBOL: (755..762)\n IDENTIFIER: (755..762) \"display\"\n ATMOSPHERE: (762..763) \" \"\n FORM: (763..781)\n OPEN_PAREN: (763..764) \"(\"\n SYMBOL: (764..770)\n IDENTIFIER: (764..770) \"append\"\n ATMOSPHERE: (770..771) \" \"\n QUOTED_DATUM: (771..776)\n QUOTE: (771..772) \"’\"\n FORM: (772..775)\n OPEN_PAREN: (772..773) \"(\"\n SYMBOL: (773..774)\n IDENTIFIER: (773..774) \"x\"\n CLOSE_PAREN: (774..775) \")\"\n ATMOSPHERE: (775..776) \" \"\n QUOTED_DATUM: (776..780)\n QUOTE: (776..777) \"’\"\n FORM: (777..780)\n OPEN_PAREN: (777..778) \"(\"\n SYMBOL: (778..779)\n IDENTIFIER: (778..779) \"y\"\n CLOSE_PAREN: (779..780) \")\"\n CLOSE_PAREN: (780..781) \")\"\n CLOSE_PAREN: (781..782) \")\"\n FORM: (782..791)\n OPEN_PAREN: (782..783) \"(\"\n SYMBOL: (783..790)\n IDENTIFIER: (783..790) \"newline\"\n CLOSE_PAREN: (790..791) \")\"\n ATMOSPHERE: (791..792) \" \"\n ATMOSPHERE: (792..802) \"; -> (x y)\"\n ATMOSPHERE: (802..803) \"\n\"\n FORM: (803..835)\n OPEN_PAREN: (803..804) \"(\"\n SYMBOL: (804..811)\n IDENTIFIER: (804..811) \"display\"\n ATMOSPHERE: (811..812) \" \"\n FORM: (812..834)\n OPEN_PAREN: (812..813) \"(\"\n SYMBOL: (813..819)\n IDENTIFIER: (813..819) \"append\"\n ATMOSPHERE: (819..820) \" \"\n QUOTED_DATUM: (820..825)\n QUOTE: (820..821) \"’\"\n FORM: (821..824)\n OPEN_PAREN: (821..822) \"(\"\n SYMBOL: (822..823)\n IDENTIFIER: (822..823) \"a\"\n CLOSE_PAREN: (823..824) \")\"\n ATMOSPHERE: (824..825) \" \"\n QUOTED_DATUM: (825..833)\n QUOTE: (825..826) \"’\"\n FORM: (826..833)\n OPEN_PAREN: (826..827) \"(\"\n SYMBOL: (827..828)\n IDENTIFIER: (827..828) \"b\"\n ATMOSPHERE: (828..829) \" \"\n SYMBOL: (829..830)\n IDENTIFIER: (829..830) \"c\"\n ATMOSPHERE: (830..831) \" \"\n SYMBOL: (831..832)\n IDENTIFIER: (831..832) \"d\"\n CLOSE_PAREN: (832..833) \")\"\n CLOSE_PAREN: (833..834) \")\"\n CLOSE_PAREN: (834..835) \")\"\n FORM: (835..844)\n OPEN_PAREN: (835..836) \"(\"\n SYMBOL: (836..843)\n IDENTIFIER: (836..843) \"newline\"\n CLOSE_PAREN: (843..844) \")\"\n ATMOSPHERE: (844..845) \" \"\n ATMOSPHERE: (845..859) \"; -> (a b c d)\"\n ATMOSPHERE: (859..860) \"\n\"\n FORM: (860..894)\n OPEN_PAREN: (860..861) \"(\"\n SYMBOL: (861..868)\n IDENTIFIER: (861..868) \"display\"\n ATMOSPHERE: (868..869) \" \"\n FORM: (869..893)\n OPEN_PAREN: (869..870) \"(\"\n SYMBOL: (870..876)\n IDENTIFIER: (870..876) \"append\"\n ATMOSPHERE: (876..877) \" \"\n QUOTED_DATUM: (877..886)\n QUOTE: (877..878) \"’\"\n FORM: (878..885)\n OPEN_PAREN: (878..879) \"(\"\n SYMBOL: (879..880)\n IDENTIFIER: (879..880) \"a\"\n ATMOSPHERE: (880..881) \" \"\n FORM: (881..884)\n OPEN_PAREN: (881..882) \"(\"\n SYMBOL: (882..883)\n IDENTIFIER: (882..883) \"b\"\n CLOSE_PAREN: (883..884) \")\"\n CLOSE_PAREN: (884..885) \")\"\n ATMOSPHERE: (885..886) \" \"\n QUOTED_DATUM: (886..892)\n QUOTE: (886..887) \"’\"\n FORM: (887..892)\n OPEN_PAREN: (887..888) \"(\"\n FORM: (888..891)\n OPEN_PAREN: (888..889) \"(\"\n SYMBOL: (889..890)\n IDENTIFIER: (889..890) \"c\"\n CLOSE_PAREN: (890..891) \")\"\n CLOSE_PAREN: (891..892) \")\"\n CLOSE_PAREN: (892..893) \")\"\n CLOSE_PAREN: (893..894) \")\"\n FORM: (894..903)\n OPEN_PAREN: (894..895) \"(\"\n SYMBOL: (895..902)\n IDENTIFIER: (895..902) \"newline\"\n CLOSE_PAREN: (902..903) \")\"\n ATMOSPHERE: (903..904) \" \"\n ATMOSPHERE: (904..920) \"; -> (a (b) (c))\"\n ATMOSPHERE: (920..921) \"\n\"\n FORM: (921..955)\n OPEN_PAREN: (921..922) \"(\"\n SYMBOL: (922..929)\n IDENTIFIER: (922..929) \"display\"\n ATMOSPHERE: (929..930) \" \"\n FORM: (930..954)\n OPEN_PAREN: (930..931) \"(\"\n SYMBOL: (931..937)\n IDENTIFIER: (931..937) \"append\"\n ATMOSPHERE: (937..938) \" \"\n QUOTED_DATUM: (938..945)\n QUOTE: (938..939) \"’\"\n FORM: (939..944)\n OPEN_PAREN: (939..940) \"(\"\n SYMBOL: (940..941)\n IDENTIFIER: (940..941) \"a\"\n ATMOSPHERE: (941..942) \" \"\n SYMBOL: (942..943)\n IDENTIFIER: (942..943) \"b\"\n CLOSE_PAREN: (943..944) \")\"\n ATMOSPHERE: (944..945) \" \"\n QUOTED_DATUM: (945..953)\n QUOTE: (945..946) \"’\"\n FORM: (946..953)\n OPEN_PAREN: (946..947) \"(\"\n SYMBOL: (947..948)\n IDENTIFIER: (947..948) \"c\"\n ATMOSPHERE: (948..949) \" \"\n DOTTED_TAIL: (949..952)\n DOT: (949..950) \".\"\n ATMOSPHERE: (950..951) \" \"\n SYMBOL: (951..952)\n IDENTIFIER: (951..952) \"d\"\n CLOSE_PAREN: (952..953) \")\"\n CLOSE_PAREN: (953..954) \")\"\n CLOSE_PAREN: (954..955) \")\"\n FORM: (955..964)\n OPEN_PAREN: (955..956) \"(\"\n SYMBOL: (956..963)\n IDENTIFIER: (956..963) \"newline\"\n CLOSE_PAREN: (963..964) \")\"\n ATMOSPHERE: (964..965) \" \"\n ATMOSPHERE: (965..1005) \"; -> (a b c . d) ;; FIXME: quoted pairs!\"\n ATMOSPHERE: (1005..1006) \"\n\"\n FORM: (1006..1044)\n OPEN_PAREN: (1006..1007) \"(\"\n SYMBOL: (1007..1014)\n IDENTIFIER: (1007..1014) \"display\"\n ATMOSPHERE: (1014..1015) \" \"\n FORM: (1015..1043)\n OPEN_PAREN: (1015..1016) \"(\"\n SYMBOL: (1016..1022)\n IDENTIFIER: (1016..1022) \"append\"\n ATMOSPHERE: (1022..1023) \" \"\n QUOTED_DATUM: (1023..1030)\n QUOTE: (1023..1024) \"’\"\n FORM: (1024..1029)\n OPEN_PAREN: (1024..1025) \"(\"\n SYMBOL: (1025..1026)\n IDENTIFIER: (1025..1026) \"a\"\n ATMOSPHERE: (1026..1027) \" \"\n SYMBOL: (1027..1028)\n IDENTIFIER: (1027..1028) \"b\"\n CLOSE_PAREN: (1028..1029) \")\"\n ATMOSPHERE: (1029..1030) \" \"\n FORM: (1030..1042)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1035)\n IDENTIFIER: (1031..1035) \"cons\"\n ATMOSPHERE: (1035..1036) \" \"\n QUOTED_DATUM: (1036..1039)\n QUOTE: (1036..1037) \"'\"\n SYMBOL: (1037..1038)\n IDENTIFIER: (1037..1038) \"c\"\n ATMOSPHERE: (1038..1039) \" \"\n QUOTED_DATUM: (1039..1041)\n QUOTE: (1039..1040) \"'\"\n SYMBOL: (1040..1041)\n IDENTIFIER: (1040..1041) \"d\"\n CLOSE_PAREN: (1041..1042) \")\"\n CLOSE_PAREN: (1042..1043) \")\"\n CLOSE_PAREN: (1043..1044) \")\"\n FORM: (1044..1053)\n OPEN_PAREN: (1044..1045) \"(\"\n SYMBOL: (1045..1052)\n IDENTIFIER: (1045..1052) \"newline\"\n CLOSE_PAREN: (1052..1053) \")\"\n ATMOSPHERE: (1053..1054) \" \"\n ATMOSPHERE: (1054..1070) \"; -> (a b c . d)\"\n ATMOSPHERE: (1070..1071) \"\n\"\n FORM: (1071..1096)\n OPEN_PAREN: (1071..1072) \"(\"\n SYMBOL: (1072..1079)\n IDENTIFIER: (1072..1079) \"display\"\n ATMOSPHERE: (1079..1080) \" \"\n FORM: (1080..1095)\n OPEN_PAREN: (1080..1081) \"(\"\n SYMBOL: (1081..1087)\n IDENTIFIER: (1081..1087) \"append\"\n ATMOSPHERE: (1087..1088) \" \"\n QUOTED_DATUM: (1088..1092)\n QUOTE: (1088..1089) \"’\"\n FORM: (1089..1091)\n OPEN_PAREN: (1089..1090) \"(\"\n CLOSE_PAREN: (1090..1091) \")\"\n ATMOSPHERE: (1091..1092) \" \"\n QUOTED_DATUM: (1092..1094)\n QUOTE: (1092..1093) \"’\"\n SYMBOL: (1093..1094)\n IDENTIFIER: (1093..1094) \"a\"\n CLOSE_PAREN: (1094..1095) \")\"\n CLOSE_PAREN: (1095..1096) \")\"\n FORM: (1096..1105)\n OPEN_PAREN: (1096..1097) \"(\"\n SYMBOL: (1097..1104)\n IDENTIFIER: (1097..1104) \"newline\"\n CLOSE_PAREN: (1104..1105) \")\"\n ATMOSPHERE: (1105..1106) \" \"\n ATMOSPHERE: (1106..1112) \"; -> a\"\n ATMOSPHERE: (1112..1114) \"\n\n\"\n FORM: (1114..1142)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1122)\n IDENTIFIER: (1115..1122) \"display\"\n ATMOSPHERE: (1122..1123) \" \"\n FORM: (1123..1141)\n OPEN_PAREN: (1123..1124) \"(\"\n SYMBOL: (1124..1131)\n IDENTIFIER: (1124..1131) \"reverse\"\n ATMOSPHERE: (1131..1132) \" \"\n QUOTED_DATUM: (1132..1140)\n QUOTE: (1132..1133) \"’\"\n FORM: (1133..1140)\n OPEN_PAREN: (1133..1134) \"(\"\n SYMBOL: (1134..1135)\n IDENTIFIER: (1134..1135) \"a\"\n ATMOSPHERE: (1135..1136) \" \"\n SYMBOL: (1136..1137)\n IDENTIFIER: (1136..1137) \"b\"\n ATMOSPHERE: (1137..1138) \" \"\n SYMBOL: (1138..1139)\n IDENTIFIER: (1138..1139) \"c\"\n CLOSE_PAREN: (1139..1140) \")\"\n CLOSE_PAREN: (1140..1141) \")\"\n CLOSE_PAREN: (1141..1142) \")\"\n FORM: (1142..1151)\n OPEN_PAREN: (1142..1143) \"(\"\n SYMBOL: (1143..1150)\n IDENTIFIER: (1143..1150) \"newline\"\n CLOSE_PAREN: (1150..1151) \")\"\n ATMOSPHERE: (1151..1152) \" \"\n ATMOSPHERE: (1152..1164) \"; -> (c b a)\"\n ATMOSPHERE: (1164..1165) \"\n\"\n FORM: (1165..1205)\n OPEN_PAREN: (1165..1166) \"(\"\n SYMBOL: (1166..1173)\n IDENTIFIER: (1166..1173) \"display\"\n ATMOSPHERE: (1173..1174) \" \"\n FORM: (1174..1204)\n OPEN_PAREN: (1174..1175) \"(\"\n SYMBOL: (1175..1182)\n IDENTIFIER: (1175..1182) \"reverse\"\n ATMOSPHERE: (1182..1183) \" \"\n QUOTED_DATUM: (1183..1203)\n QUOTE: (1183..1184) \"’\"\n FORM: (1184..1203)\n OPEN_PAREN: (1184..1185) \"(\"\n SYMBOL: (1185..1186)\n IDENTIFIER: (1185..1186) \"a\"\n ATMOSPHERE: (1186..1187) \" \"\n FORM: (1187..1192)\n OPEN_PAREN: (1187..1188) \"(\"\n SYMBOL: (1188..1189)\n IDENTIFIER: (1188..1189) \"b\"\n ATMOSPHERE: (1189..1190) \" \"\n SYMBOL: (1190..1191)\n IDENTIFIER: (1190..1191) \"c\"\n CLOSE_PAREN: (1191..1192) \")\"\n ATMOSPHERE: (1192..1193) \" \"\n SYMBOL: (1193..1194)\n IDENTIFIER: (1193..1194) \"d\"\n ATMOSPHERE: (1194..1195) \" \"\n FORM: (1195..1202)\n OPEN_PAREN: (1195..1196) \"(\"\n SYMBOL: (1196..1197)\n IDENTIFIER: (1196..1197) \"e\"\n ATMOSPHERE: (1197..1198) \" \"\n FORM: (1198..1201)\n OPEN_PAREN: (1198..1199) \"(\"\n SYMBOL: (1199..1200)\n IDENTIFIER: (1199..1200) \"f\"\n CLOSE_PAREN: (1200..1201) \")\"\n CLOSE_PAREN: (1201..1202) \")\"\n CLOSE_PAREN: (1202..1203) \")\"\n CLOSE_PAREN: (1203..1204) \")\"\n CLOSE_PAREN: (1204..1205) \")\"\n FORM: (1205..1214)\n OPEN_PAREN: (1205..1206) \"(\"\n SYMBOL: (1206..1213)\n IDENTIFIER: (1206..1213) \"newline\"\n CLOSE_PAREN: (1213..1214) \")\"\n ATMOSPHERE: (1214..1215) \" \"\n ATMOSPHERE: (1215..1239) \"; -> ((e (f)) d (b c) a)\"\n ATMOSPHERE: (1239..1241) \"\n\n\"\n FORM: (1241..1276)\n OPEN_PAREN: (1241..1242) \"(\"\n SYMBOL: (1242..1248)\n IDENTIFIER: (1242..1248) \"define\"\n ATMOSPHERE: (1248..1249) \" \"\n SYMBOL: (1249..1258)\n IDENTIFIER: (1249..1258) \"test-list\"\n ATMOSPHERE: (1258..1259) \" \"\n QUOTED_DATUM: (1259..1275)\n QUOTE: (1259..1260) \"'\"\n FORM: (1260..1275)\n OPEN_PAREN: (1260..1261) \"(\"\n SYMBOL: (1261..1262)\n IDENTIFIER: (1261..1262) \"a\"\n ATMOSPHERE: (1262..1263) \" \"\n SYMBOL: (1263..1264)\n IDENTIFIER: (1263..1264) \"b\"\n ATMOSPHERE: (1264..1265) \" \"\n SYMBOL: (1265..1266)\n IDENTIFIER: (1265..1266) \"c\"\n ATMOSPHERE: (1266..1267) \" \"\n SYMBOL: (1267..1268)\n IDENTIFIER: (1267..1268) \"d\"\n ATMOSPHERE: (1268..1269) \" \"\n SYMBOL: (1269..1270)\n IDENTIFIER: (1269..1270) \"e\"\n ATMOSPHERE: (1270..1271) \" \"\n SYMBOL: (1271..1272)\n IDENTIFIER: (1271..1272) \"f\"\n ATMOSPHERE: (1272..1273) \" \"\n SYMBOL: (1273..1274)\n IDENTIFIER: (1273..1274) \"g\"\n CLOSE_PAREN: (1274..1275) \")\"\n CLOSE_PAREN: (1275..1276) \")\"\n ATMOSPHERE: (1276..1277) \"\n\"\n FORM: (1277..1310)\n OPEN_PAREN: (1277..1278) \"(\"\n SYMBOL: (1278..1285)\n IDENTIFIER: (1278..1285) \"display\"\n ATMOSPHERE: (1285..1286) \" \"\n FORM: (1286..1309)\n OPEN_PAREN: (1286..1287) \"(\"\n SYMBOL: (1287..1296)\n IDENTIFIER: (1287..1296) \"list-tail\"\n ATMOSPHERE: (1296..1297) \" \"\n SYMBOL: (1297..1306)\n IDENTIFIER: (1297..1306) \"test-list\"\n ATMOSPHERE: (1306..1307) \" \"\n CONSTANT: (1307..1308)\n NUMBER: (1307..1308) \"1\"\n CLOSE_PAREN: (1308..1309) \")\"\n CLOSE_PAREN: (1309..1310) \")\"\n FORM: (1310..1319)\n OPEN_PAREN: (1310..1311) \"(\"\n SYMBOL: (1311..1318)\n IDENTIFIER: (1311..1318) \"newline\"\n CLOSE_PAREN: (1318..1319) \")\"\n ATMOSPHERE: (1319..1320) \"\n\"\n FORM: (1320..1353)\n OPEN_PAREN: (1320..1321) \"(\"\n SYMBOL: (1321..1328)\n IDENTIFIER: (1321..1328) \"display\"\n ATMOSPHERE: (1328..1329) \" \"\n FORM: (1329..1352)\n OPEN_PAREN: (1329..1330) \"(\"\n SYMBOL: (1330..1339)\n IDENTIFIER: (1330..1339) \"list-tail\"\n ATMOSPHERE: (1339..1340) \" \"\n SYMBOL: (1340..1349)\n IDENTIFIER: (1340..1349) \"test-list\"\n ATMOSPHERE: (1349..1350) \" \"\n CONSTANT: (1350..1351)\n NUMBER: (1350..1351) \"0\"\n CLOSE_PAREN: (1351..1352) \")\"\n CLOSE_PAREN: (1352..1353) \")\"\n FORM: (1353..1362)\n OPEN_PAREN: (1353..1354) \"(\"\n SYMBOL: (1354..1361)\n IDENTIFIER: (1354..1361) \"newline\"\n CLOSE_PAREN: (1361..1362) \")\"\n ATMOSPHERE: (1362..1363) \"\n\"\n FORM: (1363..1396)\n OPEN_PAREN: (1363..1364) \"(\"\n SYMBOL: (1364..1371)\n IDENTIFIER: (1364..1371) \"display\"\n ATMOSPHERE: (1371..1372) \" \"\n FORM: (1372..1395)\n OPEN_PAREN: (1372..1373) \"(\"\n SYMBOL: (1373..1382)\n IDENTIFIER: (1373..1382) \"list-tail\"\n ATMOSPHERE: (1382..1383) \" \"\n SYMBOL: (1383..1392)\n IDENTIFIER: (1383..1392) \"test-list\"\n ATMOSPHERE: (1392..1393) \" \"\n CONSTANT: (1393..1394)\n NUMBER: (1393..1394) \"6\"\n CLOSE_PAREN: (1394..1395) \")\"\n CLOSE_PAREN: (1395..1396) \")\"\n FORM: (1396..1405)\n OPEN_PAREN: (1396..1397) \"(\"\n SYMBOL: (1397..1404)\n IDENTIFIER: (1397..1404) \"newline\"\n CLOSE_PAREN: (1404..1405) \")\"\n ATMOSPHERE: (1405..1407) \"\n\n\"\n FORM: (1407..1442)\n OPEN_PAREN: (1407..1408) \"(\"\n SYMBOL: (1408..1415)\n IDENTIFIER: (1408..1415) \"display\"\n ATMOSPHERE: (1415..1418) \"\n \"\n FORM: (1418..1441)\n OPEN_PAREN: (1418..1419) \"(\"\n SYMBOL: (1419..1427)\n IDENTIFIER: (1419..1427) \"list-ref\"\n ATMOSPHERE: (1427..1428) \" \"\n QUOTED_DATUM: (1428..1439)\n QUOTE: (1428..1429) \"’\"\n FORM: (1429..1438)\n OPEN_PAREN: (1429..1430) \"(\"\n SYMBOL: (1430..1431)\n IDENTIFIER: (1430..1431) \"a\"\n ATMOSPHERE: (1431..1432) \" \"\n SYMBOL: (1432..1433)\n IDENTIFIER: (1432..1433) \"b\"\n ATMOSPHERE: (1433..1434) \" \"\n SYMBOL: (1434..1435)\n IDENTIFIER: (1434..1435) \"c\"\n ATMOSPHERE: (1435..1436) \" \"\n SYMBOL: (1436..1437)\n IDENTIFIER: (1436..1437) \"d\"\n CLOSE_PAREN: (1437..1438) \")\"\n ATMOSPHERE: (1438..1439) \" \"\n CONSTANT: (1439..1440)\n NUMBER: (1439..1440) \"2\"\n CLOSE_PAREN: (1440..1441) \")\"\n CLOSE_PAREN: (1441..1442) \")\"\n ATMOSPHERE: (1442..1443) \" \"\n ATMOSPHERE: (1443..1449) \"; =⇒ c\"\n ATMOSPHERE: (1449..1450) \"\n\"\n FORM: (1450..1459)\n OPEN_PAREN: (1450..1451) \"(\"\n SYMBOL: (1451..1458)\n IDENTIFIER: (1451..1458) \"newline\"\n CLOSE_PAREN: (1458..1459) \")\"\n ATMOSPHERE: (1459..1461) \"\n\n\"\n FORM: (1461..1568)\n OPEN_PAREN: (1461..1462) \"(\"\n SYMBOL: (1462..1469)\n IDENTIFIER: (1462..1469) \"display\"\n ATMOSPHERE: (1469..1472) \"\n \"\n FORM: (1472..1543)\n OPEN_PAREN: (1472..1473) \"(\"\n SYMBOL: (1473..1476)\n IDENTIFIER: (1473..1476) \"let\"\n ATMOSPHERE: (1476..1477) \" \"\n FORM: (1477..1507)\n OPEN_PAREN: (1477..1478) \"(\"\n FORM: (1478..1506)\n OPEN_PAREN: (1478..1479) \"(\"\n SYMBOL: (1479..1481)\n IDENTIFIER: (1479..1481) \"ls\"\n ATMOSPHERE: (1481..1482) \" \"\n FORM: (1482..1505)\n OPEN_PAREN: (1482..1483) \"(\"\n SYMBOL: (1483..1487)\n IDENTIFIER: (1483..1487) \"list\"\n ATMOSPHERE: (1487..1488) \" \"\n QUOTED_DATUM: (1488..1493)\n QUOTE: (1488..1489) \"’\"\n SYMBOL: (1489..1492)\n IDENTIFIER: (1489..1492) \"one\"\n ATMOSPHERE: (1492..1493) \" \"\n QUOTED_DATUM: (1493..1498)\n QUOTE: (1493..1494) \"’\"\n SYMBOL: (1494..1497)\n IDENTIFIER: (1494..1497) \"two\"\n ATMOSPHERE: (1497..1498) \" \"\n QUOTED_DATUM: (1498..1504)\n QUOTE: (1498..1499) \"’\"\n SYMBOL: (1499..1504)\n IDENTIFIER: (1499..1504) \"five!\"\n CLOSE_PAREN: (1504..1505) \")\"\n CLOSE_PAREN: (1505..1506) \")\"\n CLOSE_PAREN: (1506..1507) \")\"\n ATMOSPHERE: (1507..1512) \"\n \"\n FORM: (1512..1535)\n OPEN_PAREN: (1512..1513) \"(\"\n SYMBOL: (1513..1522)\n IDENTIFIER: (1513..1522) \"list-set!\"\n ATMOSPHERE: (1522..1523) \" \"\n SYMBOL: (1523..1525)\n IDENTIFIER: (1523..1525) \"ls\"\n ATMOSPHERE: (1525..1526) \" \"\n CONSTANT: (1526..1527)\n NUMBER: (1526..1527) \"2\"\n ATMOSPHERE: (1527..1528) \" \"\n QUOTED_DATUM: (1528..1534)\n QUOTE: (1528..1529) \"’\"\n SYMBOL: (1529..1534)\n IDENTIFIER: (1529..1534) \"three\"\n CLOSE_PAREN: (1534..1535) \")\"\n ATMOSPHERE: (1535..1540) \"\n \"\n SYMBOL: (1540..1542)\n IDENTIFIER: (1540..1542) \"ls\"\n CLOSE_PAREN: (1542..1543) \")\"\n ATMOSPHERE: (1543..1544) \" \"\n ATMOSPHERE: (1544..1564) \"; =⇒ (one two three)\"\n ATMOSPHERE: (1564..1567) \"\n \"\n CLOSE_PAREN: (1567..1568) \")\"\n FORM: (1568..1577)\n OPEN_PAREN: (1568..1569) \"(\"\n SYMBOL: (1569..1576)\n IDENTIFIER: (1569..1576) \"newline\"\n CLOSE_PAREN: (1576..1577) \")\"\n ATMOSPHERE: (1577..1579) \"\n\n\"\n FORM: (1579..1626)\n OPEN_PAREN: (1579..1580) \"(\"\n SYMBOL: (1580..1587)\n IDENTIFIER: (1580..1587) \"display\"\n ATMOSPHERE: (1587..1588) \" \"\n FORM: (1588..1625)\n OPEN_PAREN: (1588..1589) \"(\"\n SYMBOL: (1589..1592)\n IDENTIFIER: (1589..1592) \"eq?\"\n ATMOSPHERE: (1592..1593) \" \"\n FORM: (1593..1614)\n OPEN_PAREN: (1593..1594) \"(\"\n SYMBOL: (1594..1603)\n IDENTIFIER: (1594..1603) \"list-copy\"\n ATMOSPHERE: (1603..1604) \" \"\n SYMBOL: (1604..1613)\n IDENTIFIER: (1604..1613) \"test-list\"\n CLOSE_PAREN: (1613..1614) \")\"\n ATMOSPHERE: (1614..1615) \" \"\n SYMBOL: (1615..1624)\n IDENTIFIER: (1615..1624) \"test-list\"\n CLOSE_PAREN: (1624..1625) \")\"\n CLOSE_PAREN: (1625..1626) \")\"\n FORM: (1626..1635)\n OPEN_PAREN: (1626..1627) \"(\"\n SYMBOL: (1627..1634)\n IDENTIFIER: (1627..1634) \"newline\"\n CLOSE_PAREN: (1634..1635) \")\"\n ATMOSPHERE: (1635..1636) \"\n\"\n FORM: (1636..1659)\n OPEN_PAREN: (1636..1637) \"(\"\n SYMBOL: (1637..1644)\n IDENTIFIER: (1637..1644) \"display\"\n ATMOSPHERE: (1644..1645) \" \"\n FORM: (1645..1658)\n OPEN_PAREN: (1645..1646) \"(\"\n SYMBOL: (1646..1655)\n IDENTIFIER: (1646..1655) \"list-copy\"\n ATMOSPHERE: (1655..1656) \" \"\n CONSTANT: (1656..1657)\n NUMBER: (1656..1657) \"2\"\n CLOSE_PAREN: (1657..1658) \")\"\n CLOSE_PAREN: (1658..1659) \")\"\n FORM: (1659..1668)\n OPEN_PAREN: (1659..1660) \"(\"\n SYMBOL: (1660..1667)\n IDENTIFIER: (1660..1667) \"newline\"\n CLOSE_PAREN: (1667..1668) \")\"\n ATMOSPHERE: (1668..1671) \"\n\n\n\"\n FORM: (1671..1699)\n OPEN_PAREN: (1671..1672) \"(\"\n SYMBOL: (1672..1679)\n IDENTIFIER: (1672..1679) \"display\"\n ATMOSPHERE: (1679..1680) \" \"\n FORM: (1680..1698)\n OPEN_PAREN: (1680..1681) \"(\"\n SYMBOL: (1681..1685)\n IDENTIFIER: (1681..1685) \"memq\"\n ATMOSPHERE: (1685..1686) \" \"\n QUOTED_DATUM: (1686..1689)\n QUOTE: (1686..1687) \"’\"\n SYMBOL: (1687..1688)\n IDENTIFIER: (1687..1688) \"a\"\n ATMOSPHERE: (1688..1689) \" \"\n QUOTED_DATUM: (1689..1697)\n QUOTE: (1689..1690) \"’\"\n FORM: (1690..1697)\n OPEN_PAREN: (1690..1691) \"(\"\n SYMBOL: (1691..1692)\n IDENTIFIER: (1691..1692) \"a\"\n ATMOSPHERE: (1692..1693) \" \"\n SYMBOL: (1693..1694)\n IDENTIFIER: (1693..1694) \"b\"\n ATMOSPHERE: (1694..1695) \" \"\n SYMBOL: (1695..1696)\n IDENTIFIER: (1695..1696) \"c\"\n CLOSE_PAREN: (1696..1697) \")\"\n CLOSE_PAREN: (1697..1698) \")\"\n CLOSE_PAREN: (1698..1699) \")\"\n FORM: (1699..1708)\n OPEN_PAREN: (1699..1700) \"(\"\n SYMBOL: (1700..1707)\n IDENTIFIER: (1700..1707) \"newline\"\n CLOSE_PAREN: (1707..1708) \")\"\n ATMOSPHERE: (1708..1709) \" \"\n ATMOSPHERE: (1709..1721) \"; -> (a b c)\"\n ATMOSPHERE: (1721..1722) \"\n\"\n FORM: (1722..1750)\n OPEN_PAREN: (1722..1723) \"(\"\n SYMBOL: (1723..1730)\n IDENTIFIER: (1723..1730) \"display\"\n ATMOSPHERE: (1730..1731) \" \"\n FORM: (1731..1749)\n OPEN_PAREN: (1731..1732) \"(\"\n SYMBOL: (1732..1736)\n IDENTIFIER: (1732..1736) \"memq\"\n ATMOSPHERE: (1736..1737) \" \"\n QUOTED_DATUM: (1737..1740)\n QUOTE: (1737..1738) \"’\"\n SYMBOL: (1738..1739)\n IDENTIFIER: (1738..1739) \"b\"\n ATMOSPHERE: (1739..1740) \" \"\n QUOTED_DATUM: (1740..1748)\n QUOTE: (1740..1741) \"’\"\n FORM: (1741..1748)\n OPEN_PAREN: (1741..1742) \"(\"\n SYMBOL: (1742..1743)\n IDENTIFIER: (1742..1743) \"a\"\n ATMOSPHERE: (1743..1744) \" \"\n SYMBOL: (1744..1745)\n IDENTIFIER: (1744..1745) \"b\"\n ATMOSPHERE: (1745..1746) \" \"\n SYMBOL: (1746..1747)\n IDENTIFIER: (1746..1747) \"c\"\n CLOSE_PAREN: (1747..1748) \")\"\n CLOSE_PAREN: (1748..1749) \")\"\n CLOSE_PAREN: (1749..1750) \")\"\n FORM: (1750..1759)\n OPEN_PAREN: (1750..1751) \"(\"\n SYMBOL: (1751..1758)\n IDENTIFIER: (1751..1758) \"newline\"\n CLOSE_PAREN: (1758..1759) \")\"\n ATMOSPHERE: (1759..1760) \" \"\n ATMOSPHERE: (1760..1770) \"; -> (b c)\"\n ATMOSPHERE: (1770..1771) \"\n\"\n FORM: (1771..1799)\n OPEN_PAREN: (1771..1772) \"(\"\n SYMBOL: (1772..1779)\n IDENTIFIER: (1772..1779) \"display\"\n ATMOSPHERE: (1779..1780) \" \"\n FORM: (1780..1798)\n OPEN_PAREN: (1780..1781) \"(\"\n SYMBOL: (1781..1785)\n IDENTIFIER: (1781..1785) \"memq\"\n ATMOSPHERE: (1785..1786) \" \"\n QUOTED_DATUM: (1786..1789)\n QUOTE: (1786..1787) \"’\"\n SYMBOL: (1787..1788)\n IDENTIFIER: (1787..1788) \"a\"\n ATMOSPHERE: (1788..1789) \" \"\n QUOTED_DATUM: (1789..1797)\n QUOTE: (1789..1790) \"’\"\n FORM: (1790..1797)\n OPEN_PAREN: (1790..1791) \"(\"\n SYMBOL: (1791..1792)\n IDENTIFIER: (1791..1792) \"b\"\n ATMOSPHERE: (1792..1793) \" \"\n SYMBOL: (1793..1794)\n IDENTIFIER: (1793..1794) \"c\"\n ATMOSPHERE: (1794..1795) \" \"\n SYMBOL: (1795..1796)\n IDENTIFIER: (1795..1796) \"d\"\n CLOSE_PAREN: (1796..1797) \")\"\n CLOSE_PAREN: (1797..1798) \")\"\n CLOSE_PAREN: (1798..1799) \")\"\n FORM: (1799..1808)\n OPEN_PAREN: (1799..1800) \"(\"\n SYMBOL: (1800..1807)\n IDENTIFIER: (1800..1807) \"newline\"\n CLOSE_PAREN: (1807..1808) \")\"\n ATMOSPHERE: (1808..1809) \" \"\n ATMOSPHERE: (1809..1816) \"; -> #f\"\n ATMOSPHERE: (1816..1817) \"\n\"\n FORM: (1817..1854)\n OPEN_PAREN: (1817..1818) \"(\"\n SYMBOL: (1818..1825)\n IDENTIFIER: (1818..1825) \"display\"\n ATMOSPHERE: (1825..1826) \" \"\n FORM: (1826..1853)\n OPEN_PAREN: (1826..1827) \"(\"\n SYMBOL: (1827..1831)\n IDENTIFIER: (1827..1831) \"memq\"\n ATMOSPHERE: (1831..1832) \" \"\n FORM: (1832..1841)\n OPEN_PAREN: (1832..1833) \"(\"\n SYMBOL: (1833..1837)\n IDENTIFIER: (1833..1837) \"list\"\n ATMOSPHERE: (1837..1838) \" \"\n QUOTED_DATUM: (1838..1840)\n QUOTE: (1838..1839) \"’\"\n SYMBOL: (1839..1840)\n IDENTIFIER: (1839..1840) \"a\"\n CLOSE_PAREN: (1840..1841) \")\"\n ATMOSPHERE: (1841..1842) \" \"\n QUOTED_DATUM: (1842..1852)\n QUOTE: (1842..1843) \"’\"\n FORM: (1843..1852)\n OPEN_PAREN: (1843..1844) \"(\"\n SYMBOL: (1844..1845)\n IDENTIFIER: (1844..1845) \"b\"\n ATMOSPHERE: (1845..1846) \" \"\n FORM: (1846..1849)\n OPEN_PAREN: (1846..1847) \"(\"\n SYMBOL: (1847..1848)\n IDENTIFIER: (1847..1848) \"a\"\n CLOSE_PAREN: (1848..1849) \")\"\n ATMOSPHERE: (1849..1850) \" \"\n SYMBOL: (1850..1851)\n IDENTIFIER: (1850..1851) \"c\"\n CLOSE_PAREN: (1851..1852) \")\"\n CLOSE_PAREN: (1852..1853) \")\"\n CLOSE_PAREN: (1853..1854) \")\"\n FORM: (1854..1863)\n OPEN_PAREN: (1854..1855) \"(\"\n SYMBOL: (1855..1862)\n IDENTIFIER: (1855..1862) \"newline\"\n CLOSE_PAREN: (1862..1863) \")\"\n ATMOSPHERE: (1863..1864) \" \"\n ATMOSPHERE: (1864..1871) \"; -> #f\"\n ATMOSPHERE: (1871..1872) \"\n\"\n FORM: (1872..1913)\n OPEN_PAREN: (1872..1873) \"(\"\n SYMBOL: (1873..1880)\n IDENTIFIER: (1873..1880) \"display\"\n ATMOSPHERE: (1880..1881) \" \"\n FORM: (1881..1912)\n OPEN_PAREN: (1881..1882) \"(\"\n SYMBOL: (1882..1888)\n IDENTIFIER: (1882..1888) \"member\"\n ATMOSPHERE: (1888..1889) \" \"\n FORM: (1889..1898)\n OPEN_PAREN: (1889..1890) \"(\"\n SYMBOL: (1890..1894)\n IDENTIFIER: (1890..1894) \"list\"\n ATMOSPHERE: (1894..1895) \" \"\n QUOTED_DATUM: (1895..1897)\n QUOTE: (1895..1896) \"’\"\n SYMBOL: (1896..1897)\n IDENTIFIER: (1896..1897) \"a\"\n CLOSE_PAREN: (1897..1898) \")\"\n ATMOSPHERE: (1898..1901) \"\n \"\n QUOTED_DATUM: (1901..1911)\n QUOTE: (1901..1902) \"’\"\n FORM: (1902..1911)\n OPEN_PAREN: (1902..1903) \"(\"\n SYMBOL: (1903..1904)\n IDENTIFIER: (1903..1904) \"b\"\n ATMOSPHERE: (1904..1905) \" \"\n FORM: (1905..1908)\n OPEN_PAREN: (1905..1906) \"(\"\n SYMBOL: (1906..1907)\n IDENTIFIER: (1906..1907) \"a\"\n CLOSE_PAREN: (1907..1908) \")\"\n ATMOSPHERE: (1908..1909) \" \"\n SYMBOL: (1909..1910)\n IDENTIFIER: (1909..1910) \"c\"\n CLOSE_PAREN: (1910..1911) \")\"\n CLOSE_PAREN: (1911..1912) \")\"\n CLOSE_PAREN: (1912..1913) \")\"\n FORM: (1913..1922)\n OPEN_PAREN: (1913..1914) \"(\"\n SYMBOL: (1914..1921)\n IDENTIFIER: (1914..1921) \"newline\"\n CLOSE_PAREN: (1921..1922) \")\"\n ATMOSPHERE: (1922..1923) \" \"\n ATMOSPHERE: (1923..1935) \"; -> ((a) c)\"\n ATMOSPHERE: (1935..1936) \"\n\"\n FORM: (1936..1987)\n OPEN_PAREN: (1936..1937) \"(\"\n SYMBOL: (1937..1944)\n IDENTIFIER: (1937..1944) \"display\"\n ATMOSPHERE: (1944..1945) \" \"\n FORM: (1945..1986)\n OPEN_PAREN: (1945..1946) \"(\"\n SYMBOL: (1946..1952)\n IDENTIFIER: (1946..1952) \"member\"\n ATMOSPHERE: (1952..1953) \" \"\n CONSTANT: (1953..1956)\n CHARACTER: (1953..1956) \"#\\B\"\n ATMOSPHERE: (1956..1959) \"\n \"\n QUOTED_DATUM: (1959..1976)\n QUOTE: (1959..1960) \"’\"\n FORM: (1960..1973)\n OPEN_PAREN: (1960..1961) \"(\"\n CONSTANT: (1961..1964)\n CHARACTER: (1961..1964) \"#\\a\"\n ATMOSPHERE: (1964..1965) \" \"\n CONSTANT: (1965..1968)\n CHARACTER: (1965..1968) \"#\\b\"\n ATMOSPHERE: (1968..1969) \" \"\n CONSTANT: (1969..1972)\n CHARACTER: (1969..1972) \"#\\c\"\n CLOSE_PAREN: (1972..1973) \")\"\n ATMOSPHERE: (1973..1976) \"\n \"\n SYMBOL: (1976..1985)\n IDENTIFIER: (1976..1985) \"char-ci=?\"\n CLOSE_PAREN: (1985..1986) \")\"\n CLOSE_PAREN: (1986..1987) \")\"\n FORM: (1987..1996)\n OPEN_PAREN: (1987..1988) \"(\"\n SYMBOL: (1988..1995)\n IDENTIFIER: (1988..1995) \"newline\"\n CLOSE_PAREN: (1995..1996) \")\"\n ATMOSPHERE: (1996..1997) \" \"\n ATMOSPHERE: (1997..2011) \"; -> (#\\b #\\c)\"\n ATMOSPHERE: (2011..2012) \"\n\"\n FORM: (2012..2047)\n OPEN_PAREN: (2012..2013) \"(\"\n SYMBOL: (2013..2020)\n IDENTIFIER: (2013..2020) \"display\"\n ATMOSPHERE: (2020..2021) \" \"\n FORM: (2021..2046)\n OPEN_PAREN: (2021..2022) \"(\"\n SYMBOL: (2022..2026)\n IDENTIFIER: (2022..2026) \"memq\"\n ATMOSPHERE: (2026..2027) \" \"\n CONSTANT: (2027..2030)\n NUMBER: (2027..2030) \"101\"\n ATMOSPHERE: (2030..2031) \" \"\n QUOTED_DATUM: (2031..2045)\n QUOTE: (2031..2032) \"’\"\n FORM: (2032..2045)\n OPEN_PAREN: (2032..2033) \"(\"\n CONSTANT: (2033..2036)\n NUMBER: (2033..2036) \"100\"\n ATMOSPHERE: (2036..2037) \" \"\n CONSTANT: (2037..2040)\n NUMBER: (2037..2040) \"101\"\n ATMOSPHERE: (2040..2041) \" \"\n CONSTANT: (2041..2044)\n NUMBER: (2041..2044) \"102\"\n CLOSE_PAREN: (2044..2045) \")\"\n CLOSE_PAREN: (2045..2046) \")\"\n CLOSE_PAREN: (2046..2047) \")\"\n FORM: (2047..2056)\n OPEN_PAREN: (2047..2048) \"(\"\n SYMBOL: (2048..2055)\n IDENTIFIER: (2048..2055) \"newline\"\n CLOSE_PAREN: (2055..2056) \")\"\n ATMOSPHERE: (2056..2057) \" \"\n ATMOSPHERE: (2057..2073) \"; -> unspecified\"\n ATMOSPHERE: (2073..2074) \"\n\"\n FORM: (2074..2109)\n OPEN_PAREN: (2074..2075) \"(\"\n SYMBOL: (2075..2082)\n IDENTIFIER: (2075..2082) \"display\"\n ATMOSPHERE: (2082..2083) \" \"\n FORM: (2083..2108)\n OPEN_PAREN: (2083..2084) \"(\"\n SYMBOL: (2084..2088)\n IDENTIFIER: (2084..2088) \"memv\"\n ATMOSPHERE: (2088..2089) \" \"\n CONSTANT: (2089..2092)\n NUMBER: (2089..2092) \"101\"\n ATMOSPHERE: (2092..2093) \" \"\n QUOTED_DATUM: (2093..2107)\n QUOTE: (2093..2094) \"’\"\n FORM: (2094..2107)\n OPEN_PAREN: (2094..2095) \"(\"\n CONSTANT: (2095..2098)\n NUMBER: (2095..2098) \"100\"\n ATMOSPHERE: (2098..2099) \" \"\n CONSTANT: (2099..2102)\n NUMBER: (2099..2102) \"101\"\n ATMOSPHERE: (2102..2103) \" \"\n CONSTANT: (2103..2106)\n NUMBER: (2103..2106) \"102\"\n CLOSE_PAREN: (2106..2107) \")\"\n CLOSE_PAREN: (2107..2108) \")\"\n CLOSE_PAREN: (2108..2109) \")\"\n FORM: (2109..2118)\n OPEN_PAREN: (2109..2110) \"(\"\n SYMBOL: (2110..2117)\n IDENTIFIER: (2110..2117) \"newline\"\n CLOSE_PAREN: (2117..2118) \")\"\n ATMOSPHERE: (2118..2119) \" \"\n ATMOSPHERE: (2119..2133) \"; -> (101 102)\"\n ATMOSPHERE: (2133..2135) \"\n\n\"\n FORM: (2135..2166)\n OPEN_PAREN: (2135..2136) \"(\"\n SYMBOL: (2136..2142)\n IDENTIFIER: (2136..2142) \"define\"\n ATMOSPHERE: (2142..2143) \" \"\n SYMBOL: (2143..2144)\n IDENTIFIER: (2143..2144) \"e\"\n ATMOSPHERE: (2144..2145) \" \"\n QUOTED_DATUM: (2145..2165)\n QUOTE: (2145..2146) \"’\"\n FORM: (2146..2165)\n OPEN_PAREN: (2146..2147) \"(\"\n FORM: (2147..2152)\n OPEN_PAREN: (2147..2148) \"(\"\n SYMBOL: (2148..2149)\n IDENTIFIER: (2148..2149) \"a\"\n ATMOSPHERE: (2149..2150) \" \"\n CONSTANT: (2150..2151)\n NUMBER: (2150..2151) \"1\"\n CLOSE_PAREN: (2151..2152) \")\"\n ATMOSPHERE: (2152..2153) \" \"\n FORM: (2153..2158)\n OPEN_PAREN: (2153..2154) \"(\"\n SYMBOL: (2154..2155)\n IDENTIFIER: (2154..2155) \"b\"\n ATMOSPHERE: (2155..2156) \" \"\n CONSTANT: (2156..2157)\n NUMBER: (2156..2157) \"2\"\n CLOSE_PAREN: (2157..2158) \")\"\n ATMOSPHERE: (2158..2159) \" \"\n FORM: (2159..2164)\n OPEN_PAREN: (2159..2160) \"(\"\n SYMBOL: (2160..2161)\n IDENTIFIER: (2160..2161) \"c\"\n ATMOSPHERE: (2161..2162) \" \"\n CONSTANT: (2162..2163)\n NUMBER: (2162..2163) \"3\"\n CLOSE_PAREN: (2163..2164) \")\"\n CLOSE_PAREN: (2164..2165) \")\"\n CLOSE_PAREN: (2165..2166) \")\"\n ATMOSPHERE: (2166..2167) \"\n\"\n FORM: (2167..2188)\n OPEN_PAREN: (2167..2168) \"(\"\n SYMBOL: (2168..2175)\n IDENTIFIER: (2168..2175) \"display\"\n ATMOSPHERE: (2175..2176) \" \"\n FORM: (2176..2187)\n OPEN_PAREN: (2176..2177) \"(\"\n SYMBOL: (2177..2181)\n IDENTIFIER: (2177..2181) \"assq\"\n ATMOSPHERE: (2181..2182) \" \"\n QUOTED_DATUM: (2182..2185)\n QUOTE: (2182..2183) \"’\"\n SYMBOL: (2183..2184)\n IDENTIFIER: (2183..2184) \"a\"\n ATMOSPHERE: (2184..2185) \" \"\n SYMBOL: (2185..2186)\n IDENTIFIER: (2185..2186) \"e\"\n CLOSE_PAREN: (2186..2187) \")\"\n CLOSE_PAREN: (2187..2188) \")\"\n FORM: (2188..2197)\n OPEN_PAREN: (2188..2189) \"(\"\n SYMBOL: (2189..2196)\n IDENTIFIER: (2189..2196) \"newline\"\n CLOSE_PAREN: (2196..2197) \")\"\n ATMOSPHERE: (2197..2198) \" \"\n ATMOSPHERE: (2198..2208) \"; -> (a 1)\"\n ATMOSPHERE: (2208..2209) \"\n\"\n FORM: (2209..2230)\n OPEN_PAREN: (2209..2210) \"(\"\n SYMBOL: (2210..2217)\n IDENTIFIER: (2210..2217) \"display\"\n ATMOSPHERE: (2217..2218) \" \"\n FORM: (2218..2229)\n OPEN_PAREN: (2218..2219) \"(\"\n SYMBOL: (2219..2223)\n IDENTIFIER: (2219..2223) \"assq\"\n ATMOSPHERE: (2223..2224) \" \"\n QUOTED_DATUM: (2224..2227)\n QUOTE: (2224..2225) \"’\"\n SYMBOL: (2225..2226)\n IDENTIFIER: (2225..2226) \"b\"\n ATMOSPHERE: (2226..2227) \" \"\n SYMBOL: (2227..2228)\n IDENTIFIER: (2227..2228) \"e\"\n CLOSE_PAREN: (2228..2229) \")\"\n CLOSE_PAREN: (2229..2230) \")\"\n FORM: (2230..2239)\n OPEN_PAREN: (2230..2231) \"(\"\n SYMBOL: (2231..2238)\n IDENTIFIER: (2231..2238) \"newline\"\n CLOSE_PAREN: (2238..2239) \")\"\n ATMOSPHERE: (2239..2240) \" \"\n ATMOSPHERE: (2240..2250) \"; -> (b 2)\"\n ATMOSPHERE: (2250..2251) \"\n\"\n FORM: (2251..2272)\n OPEN_PAREN: (2251..2252) \"(\"\n SYMBOL: (2252..2259)\n IDENTIFIER: (2252..2259) \"display\"\n ATMOSPHERE: (2259..2260) \" \"\n FORM: (2260..2271)\n OPEN_PAREN: (2260..2261) \"(\"\n SYMBOL: (2261..2265)\n IDENTIFIER: (2261..2265) \"assq\"\n ATMOSPHERE: (2265..2266) \" \"\n QUOTED_DATUM: (2266..2269)\n QUOTE: (2266..2267) \"’\"\n SYMBOL: (2267..2268)\n IDENTIFIER: (2267..2268) \"d\"\n ATMOSPHERE: (2268..2269) \" \"\n SYMBOL: (2269..2270)\n IDENTIFIER: (2269..2270) \"e\"\n CLOSE_PAREN: (2270..2271) \")\"\n CLOSE_PAREN: (2271..2272) \")\"\n FORM: (2272..2281)\n OPEN_PAREN: (2272..2273) \"(\"\n SYMBOL: (2273..2280)\n IDENTIFIER: (2273..2280) \"newline\"\n CLOSE_PAREN: (2280..2281) \")\"\n ATMOSPHERE: (2281..2282) \" \"\n ATMOSPHERE: (2282..2289) \"; -> #f\"\n ATMOSPHERE: (2289..2290) \"\n\"\n FORM: (2290..2337)\n OPEN_PAREN: (2290..2291) \"(\"\n SYMBOL: (2291..2298)\n IDENTIFIER: (2291..2298) \"display\"\n ATMOSPHERE: (2298..2299) \" \"\n FORM: (2299..2336)\n OPEN_PAREN: (2299..2300) \"(\"\n SYMBOL: (2300..2304)\n IDENTIFIER: (2300..2304) \"assq\"\n ATMOSPHERE: (2304..2305) \" \"\n FORM: (2305..2314)\n OPEN_PAREN: (2305..2306) \"(\"\n SYMBOL: (2306..2310)\n IDENTIFIER: (2306..2310) \"list\"\n ATMOSPHERE: (2310..2311) \" \"\n QUOTED_DATUM: (2311..2313)\n QUOTE: (2311..2312) \"’\"\n SYMBOL: (2312..2313)\n IDENTIFIER: (2312..2313) \"a\"\n CLOSE_PAREN: (2313..2314) \")\"\n ATMOSPHERE: (2314..2315) \" \"\n QUOTED_DATUM: (2315..2335)\n QUOTE: (2315..2316) \"’\"\n FORM: (2316..2335)\n OPEN_PAREN: (2316..2317) \"(\"\n FORM: (2317..2322)\n OPEN_PAREN: (2317..2318) \"(\"\n FORM: (2318..2321)\n OPEN_PAREN: (2318..2319) \"(\"\n SYMBOL: (2319..2320)\n IDENTIFIER: (2319..2320) \"a\"\n CLOSE_PAREN: (2320..2321) \")\"\n CLOSE_PAREN: (2321..2322) \")\"\n ATMOSPHERE: (2322..2323) \" \"\n FORM: (2323..2328)\n OPEN_PAREN: (2323..2324) \"(\"\n FORM: (2324..2327)\n OPEN_PAREN: (2324..2325) \"(\"\n SYMBOL: (2325..2326)\n IDENTIFIER: (2325..2326) \"b\"\n CLOSE_PAREN: (2326..2327) \")\"\n CLOSE_PAREN: (2327..2328) \")\"\n ATMOSPHERE: (2328..2329) \" \"\n FORM: (2329..2334)\n OPEN_PAREN: (2329..2330) \"(\"\n FORM: (2330..2333)\n OPEN_PAREN: (2330..2331) \"(\"\n SYMBOL: (2331..2332)\n IDENTIFIER: (2331..2332) \"c\"\n CLOSE_PAREN: (2332..2333) \")\"\n CLOSE_PAREN: (2333..2334) \")\"\n CLOSE_PAREN: (2334..2335) \")\"\n CLOSE_PAREN: (2335..2336) \")\"\n CLOSE_PAREN: (2336..2337) \")\"\n FORM: (2337..2346)\n OPEN_PAREN: (2337..2338) \"(\"\n SYMBOL: (2338..2345)\n IDENTIFIER: (2338..2345) \"newline\"\n CLOSE_PAREN: (2345..2346) \")\"\n ATMOSPHERE: (2346..2347) \" \"\n ATMOSPHERE: (2347..2354) \"; -> #f\"\n ATMOSPHERE: (2354..2355) \"\n\"\n FORM: (2355..2403)\n OPEN_PAREN: (2355..2356) \"(\"\n SYMBOL: (2356..2363)\n IDENTIFIER: (2356..2363) \"display\"\n ATMOSPHERE: (2363..2364) \" \"\n FORM: (2364..2402)\n OPEN_PAREN: (2364..2365) \"(\"\n SYMBOL: (2365..2370)\n IDENTIFIER: (2365..2370) \"assoc\"\n ATMOSPHERE: (2370..2371) \" \"\n FORM: (2371..2380)\n OPEN_PAREN: (2371..2372) \"(\"\n SYMBOL: (2372..2376)\n IDENTIFIER: (2372..2376) \"list\"\n ATMOSPHERE: (2376..2377) \" \"\n QUOTED_DATUM: (2377..2379)\n QUOTE: (2377..2378) \"’\"\n SYMBOL: (2378..2379)\n IDENTIFIER: (2378..2379) \"a\"\n CLOSE_PAREN: (2379..2380) \")\"\n ATMOSPHERE: (2380..2381) \" \"\n QUOTED_DATUM: (2381..2401)\n QUOTE: (2381..2382) \"’\"\n FORM: (2382..2401)\n OPEN_PAREN: (2382..2383) \"(\"\n FORM: (2383..2388)\n OPEN_PAREN: (2383..2384) \"(\"\n FORM: (2384..2387)\n OPEN_PAREN: (2384..2385) \"(\"\n SYMBOL: (2385..2386)\n IDENTIFIER: (2385..2386) \"a\"\n CLOSE_PAREN: (2386..2387) \")\"\n CLOSE_PAREN: (2387..2388) \")\"\n ATMOSPHERE: (2388..2389) \" \"\n FORM: (2389..2394)\n OPEN_PAREN: (2389..2390) \"(\"\n FORM: (2390..2393)\n OPEN_PAREN: (2390..2391) \"(\"\n SYMBOL: (2391..2392)\n IDENTIFIER: (2391..2392) \"b\"\n CLOSE_PAREN: (2392..2393) \")\"\n CLOSE_PAREN: (2393..2394) \")\"\n ATMOSPHERE: (2394..2395) \" \"\n FORM: (2395..2400)\n OPEN_PAREN: (2395..2396) \"(\"\n FORM: (2396..2399)\n OPEN_PAREN: (2396..2397) \"(\"\n SYMBOL: (2397..2398)\n IDENTIFIER: (2397..2398) \"c\"\n CLOSE_PAREN: (2398..2399) \")\"\n CLOSE_PAREN: (2399..2400) \")\"\n CLOSE_PAREN: (2400..2401) \")\"\n CLOSE_PAREN: (2401..2402) \")\"\n CLOSE_PAREN: (2402..2403) \")\"\n FORM: (2403..2412)\n OPEN_PAREN: (2403..2404) \"(\"\n SYMBOL: (2404..2411)\n IDENTIFIER: (2404..2411) \"newline\"\n CLOSE_PAREN: (2411..2412) \")\"\n ATMOSPHERE: (2412..2413) \" \"\n ATMOSPHERE: (2413..2423) \"; -> ((a))\"\n ATMOSPHERE: (2423..2424) \"\n\"\n FORM: (2424..2468)\n OPEN_PAREN: (2424..2425) \"(\"\n SYMBOL: (2425..2432)\n IDENTIFIER: (2425..2432) \"display\"\n ATMOSPHERE: (2432..2433) \" \"\n FORM: (2433..2467)\n OPEN_PAREN: (2433..2434) \"(\"\n SYMBOL: (2434..2439)\n IDENTIFIER: (2434..2439) \"assoc\"\n ATMOSPHERE: (2439..2440) \" \"\n CONSTANT: (2440..2443)\n NUMBER: (2440..2443) \"2.0\"\n ATMOSPHERE: (2443..2444) \" \"\n QUOTED_DATUM: (2444..2465)\n QUOTE: (2444..2445) \"’\"\n FORM: (2445..2464)\n OPEN_PAREN: (2445..2446) \"(\"\n FORM: (2446..2451)\n OPEN_PAREN: (2446..2447) \"(\"\n CONSTANT: (2447..2448)\n NUMBER: (2447..2448) \"1\"\n ATMOSPHERE: (2448..2449) \" \"\n CONSTANT: (2449..2450)\n NUMBER: (2449..2450) \"1\"\n CLOSE_PAREN: (2450..2451) \")\"\n ATMOSPHERE: (2451..2452) \" \"\n FORM: (2452..2457)\n OPEN_PAREN: (2452..2453) \"(\"\n CONSTANT: (2453..2454)\n NUMBER: (2453..2454) \"2\"\n ATMOSPHERE: (2454..2455) \" \"\n CONSTANT: (2455..2456)\n NUMBER: (2455..2456) \"4\"\n CLOSE_PAREN: (2456..2457) \")\"\n ATMOSPHERE: (2457..2458) \" \"\n FORM: (2458..2463)\n OPEN_PAREN: (2458..2459) \"(\"\n CONSTANT: (2459..2460)\n NUMBER: (2459..2460) \"3\"\n ATMOSPHERE: (2460..2461) \" \"\n CONSTANT: (2461..2462)\n NUMBER: (2461..2462) \"9\"\n CLOSE_PAREN: (2462..2463) \")\"\n CLOSE_PAREN: (2463..2464) \")\"\n ATMOSPHERE: (2464..2465) \" \"\n SYMBOL: (2465..2466)\n IDENTIFIER: (2465..2466) \"=\"\n CLOSE_PAREN: (2466..2467) \")\"\n CLOSE_PAREN: (2467..2468) \")\"\n FORM: (2468..2477)\n OPEN_PAREN: (2468..2469) \"(\"\n SYMBOL: (2469..2476)\n IDENTIFIER: (2469..2476) \"newline\"\n CLOSE_PAREN: (2476..2477) \")\"\n ATMOSPHERE: (2477..2478) \" \"\n ATMOSPHERE: (2478..2488) \"; -> (2 4)\"\n ATMOSPHERE: (2488..2489) \"\n\"\n FORM: (2489..2530)\n OPEN_PAREN: (2489..2490) \"(\"\n SYMBOL: (2490..2497)\n IDENTIFIER: (2490..2497) \"display\"\n ATMOSPHERE: (2497..2498) \" \"\n FORM: (2498..2529)\n OPEN_PAREN: (2498..2499) \"(\"\n SYMBOL: (2499..2503)\n IDENTIFIER: (2499..2503) \"assq\"\n ATMOSPHERE: (2503..2504) \" \"\n CONSTANT: (2504..2505)\n NUMBER: (2504..2505) \"5\"\n ATMOSPHERE: (2505..2506) \" \"\n QUOTED_DATUM: (2506..2528)\n QUOTE: (2506..2507) \"’\"\n FORM: (2507..2528)\n OPEN_PAREN: (2507..2508) \"(\"\n FORM: (2508..2513)\n OPEN_PAREN: (2508..2509) \"(\"\n CONSTANT: (2509..2510)\n NUMBER: (2509..2510) \"2\"\n ATMOSPHERE: (2510..2511) \" \"\n CONSTANT: (2511..2512)\n NUMBER: (2511..2512) \"3\"\n CLOSE_PAREN: (2512..2513) \")\"\n ATMOSPHERE: (2513..2514) \" \"\n FORM: (2514..2519)\n OPEN_PAREN: (2514..2515) \"(\"\n CONSTANT: (2515..2516)\n NUMBER: (2515..2516) \"5\"\n ATMOSPHERE: (2516..2517) \" \"\n CONSTANT: (2517..2518)\n NUMBER: (2517..2518) \"7\"\n CLOSE_PAREN: (2518..2519) \")\"\n ATMOSPHERE: (2519..2520) \" \"\n FORM: (2520..2527)\n OPEN_PAREN: (2520..2521) \"(\"\n CONSTANT: (2521..2523)\n NUMBER: (2521..2523) \"11\"\n ATMOSPHERE: (2523..2524) \" \"\n CONSTANT: (2524..2526)\n NUMBER: (2524..2526) \"13\"\n CLOSE_PAREN: (2526..2527) \")\"\n CLOSE_PAREN: (2527..2528) \")\"\n CLOSE_PAREN: (2528..2529) \")\"\n CLOSE_PAREN: (2529..2530) \")\"\n FORM: (2530..2539)\n OPEN_PAREN: (2530..2531) \"(\"\n SYMBOL: (2531..2538)\n IDENTIFIER: (2531..2538) \"newline\"\n CLOSE_PAREN: (2538..2539) \")\"\n ATMOSPHERE: (2539..2540) \" \"\n ATMOSPHERE: (2540..2556) \"; -> unspecified\"\n ATMOSPHERE: (2556..2557) \"\n\"\n FORM: (2557..2598)\n OPEN_PAREN: (2557..2558) \"(\"\n SYMBOL: (2558..2565)\n IDENTIFIER: (2558..2565) \"display\"\n ATMOSPHERE: (2565..2566) \" \"\n FORM: (2566..2597)\n OPEN_PAREN: (2566..2567) \"(\"\n SYMBOL: (2567..2571)\n IDENTIFIER: (2567..2571) \"assv\"\n ATMOSPHERE: (2571..2572) \" \"\n CONSTANT: (2572..2573)\n NUMBER: (2572..2573) \"5\"\n ATMOSPHERE: (2573..2574) \" \"\n QUOTED_DATUM: (2574..2596)\n QUOTE: (2574..2575) \"’\"\n FORM: (2575..2596)\n OPEN_PAREN: (2575..2576) \"(\"\n FORM: (2576..2581)\n OPEN_PAREN: (2576..2577) \"(\"\n CONSTANT: (2577..2578)\n NUMBER: (2577..2578) \"2\"\n ATMOSPHERE: (2578..2579) \" \"\n CONSTANT: (2579..2580)\n NUMBER: (2579..2580) \"3\"\n CLOSE_PAREN: (2580..2581) \")\"\n ATMOSPHERE: (2581..2582) \" \"\n FORM: (2582..2587)\n OPEN_PAREN: (2582..2583) \"(\"\n CONSTANT: (2583..2584)\n NUMBER: (2583..2584) \"5\"\n ATMOSPHERE: (2584..2585) \" \"\n CONSTANT: (2585..2586)\n NUMBER: (2585..2586) \"7\"\n CLOSE_PAREN: (2586..2587) \")\"\n ATMOSPHERE: (2587..2588) \" \"\n FORM: (2588..2595)\n OPEN_PAREN: (2588..2589) \"(\"\n CONSTANT: (2589..2591)\n NUMBER: (2589..2591) \"11\"\n ATMOSPHERE: (2591..2592) \" \"\n CONSTANT: (2592..2594)\n NUMBER: (2592..2594) \"13\"\n CLOSE_PAREN: (2594..2595) \")\"\n CLOSE_PAREN: (2595..2596) \")\"\n CLOSE_PAREN: (2596..2597) \")\"\n CLOSE_PAREN: (2597..2598) \")\"\n FORM: (2598..2607)\n OPEN_PAREN: (2598..2599) \"(\"\n SYMBOL: (2599..2606)\n IDENTIFIER: (2599..2606) \"newline\"\n CLOSE_PAREN: (2606..2607) \")\"\n ATMOSPHERE: (2607..2608) \" \"\n ATMOSPHERE: (2608..2618) \"; -> (5 7)\"\n ATMOSPHERE: (2618..2619) \"\n\"\n" + "Root": "PROGRAM: (0..2619)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..239)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..51)\n IDENTIFIER: (44..51) \"display\"\n ATMOSPHERE: (51..52) \" \"\n FORM: (52..238)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..57)\n IDENTIFIER: (53..57) \"list\"\n ATMOSPHERE: (57..62) \"\n \"\n FORM: (62..77)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..67)\n IDENTIFIER: (63..67) \"list\"\n ATMOSPHERE: (67..68) \" \"\n CONSTANT: (68..70)\n NUMBER: (68..70) \"12\"\n ATMOSPHERE: (70..71) \" \"\n CONSTANT: (71..73)\n NUMBER: (71..73) \"34\"\n ATMOSPHERE: (73..74) \" \"\n CONSTANT: (74..76)\n NUMBER: (74..76) \"56\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..105) \" \"\n ATMOSPHERE: (105..117) \"; (12 34 56)\"\n ATMOSPHERE: (117..122) \"\n \"\n FORM: (122..155)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..126)\n IDENTIFIER: (123..126) \"cdr\"\n ATMOSPHERE: (126..127) \" \"\n FORM: (127..154)\n OPEN_PAREN: (127..128) \"(\"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"cdr\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..153)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..137)\n IDENTIFIER: (133..137) \"list\"\n ATMOSPHERE: (137..138) \" \"\n CONSTANT: (138..141)\n STRING: (138..141) \"\"a\"\"\n ATMOSPHERE: (141..142) \" \"\n CONSTANT: (142..145)\n CHARACTER: (142..145) \"#\\B\"\n ATMOSPHERE: (145..146) \" \"\n CONSTANT: (146..148)\n BOOLEAN: (146..148) \"#f\"\n ATMOSPHERE: (148..149) \" \"\n CONSTANT: (149..152)\n NUMBER: (149..152) \"4.0\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n CLOSE_PAREN: (154..155) \")\"\n ATMOSPHERE: (155..165) \" \"\n ATMOSPHERE: (165..178) \"; -> (#f 4.0)\"\n ATMOSPHERE: (178..183) \"\n \"\n FORM: (183..224)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..187)\n IDENTIFIER: (184..187) \"car\"\n ATMOSPHERE: (187..188) \" \"\n FORM: (188..223)\n OPEN_PAREN: (188..189) \"(\"\n SYMBOL: (189..192)\n IDENTIFIER: (189..192) \"cdr\"\n ATMOSPHERE: (192..193) \" \"\n FORM: (193..222)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..197)\n IDENTIFIER: (194..197) \"car\"\n ATMOSPHERE: (197..198) \" \"\n FORM: (198..221)\n OPEN_PAREN: (198..199) \"(\"\n SYMBOL: (199..203)\n IDENTIFIER: (199..203) \"list\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..216)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..209)\n IDENTIFIER: (205..209) \"list\"\n ATMOSPHERE: (209..210) \" \"\n CONSTANT: (210..211)\n NUMBER: (210..211) \"1\"\n ATMOSPHERE: (211..212) \" \"\n CONSTANT: (212..213)\n NUMBER: (212..213) \"2\"\n ATMOSPHERE: (213..214) \" \"\n CONSTANT: (214..215)\n NUMBER: (214..215) \"3\"\n CLOSE_PAREN: (215..216) \")\"\n ATMOSPHERE: (216..217) \" \"\n CONSTANT: (217..218)\n NUMBER: (217..218) \"4\"\n ATMOSPHERE: (218..219) \" \"\n CONSTANT: (219..220)\n NUMBER: (219..220) \"5\"\n CLOSE_PAREN: (220..221) \")\"\n CLOSE_PAREN: (221..222) \")\"\n CLOSE_PAREN: (222..223) \")\"\n CLOSE_PAREN: (223..224) \")\"\n ATMOSPHERE: (224..226) \" \"\n ATMOSPHERE: (226..232) \"; -> 2\"\n ATMOSPHERE: (232..237) \"\n \"\n CLOSE_PAREN: (237..238) \")\"\n CLOSE_PAREN: (238..239) \")\"\n ATMOSPHERE: (239..240) \"\n\"\n FORM: (240..249)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..248)\n IDENTIFIER: (241..248) \"newline\"\n CLOSE_PAREN: (248..249) \")\"\n ATMOSPHERE: (249..251) \"\n\n\"\n FORM: (251..436)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..258)\n IDENTIFIER: (252..258) \"define\"\n ATMOSPHERE: (258..259) \" \"\n FORM: (259..269)\n OPEN_PAREN: (259..260) \"(\"\n SYMBOL: (260..263)\n IDENTIFIER: (260..263) \"rev\"\n ATMOSPHERE: (263..264) \" \"\n SYMBOL: (264..268)\n IDENTIFIER: (264..268) \"list\"\n CLOSE_PAREN: (268..269) \")\"\n ATMOSPHERE: (269..274) \"\n \"\n FORM: (274..408)\n OPEN_PAREN: (274..275) \"(\"\n SYMBOL: (275..281)\n IDENTIFIER: (275..281) \"define\"\n ATMOSPHERE: (281..282) \" \"\n FORM: (282..305)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..295)\n IDENTIFIER: (283..295) \"rev-with-acc\"\n ATMOSPHERE: (295..296) \" \"\n SYMBOL: (296..300)\n IDENTIFIER: (296..300) \"list\"\n ATMOSPHERE: (300..301) \" \"\n SYMBOL: (301..304)\n IDENTIFIER: (301..304) \"acc\"\n CLOSE_PAREN: (304..305) \")\"\n ATMOSPHERE: (305..314) \"\n \"\n FORM: (314..407)\n OPEN_PAREN: (314..315) \"(\"\n SYMBOL: (315..317)\n IDENTIFIER: (315..317) \"if\"\n ATMOSPHERE: (317..318) \" \"\n FORM: (318..330)\n OPEN_PAREN: (318..319) \"(\"\n SYMBOL: (319..324)\n IDENTIFIER: (319..324) \"null?\"\n ATMOSPHERE: (324..325) \" \"\n SYMBOL: (325..329)\n IDENTIFIER: (325..329) \"list\"\n CLOSE_PAREN: (329..330) \")\"\n ATMOSPHERE: (330..343) \"\n \"\n SYMBOL: (343..346)\n IDENTIFIER: (343..346) \"acc\"\n ATMOSPHERE: (346..359) \"\n \"\n FORM: (359..406)\n OPEN_PAREN: (359..360) \"(\"\n SYMBOL: (360..372)\n IDENTIFIER: (360..372) \"rev-with-acc\"\n ATMOSPHERE: (372..373) \" \"\n FORM: (373..383)\n OPEN_PAREN: (373..374) \"(\"\n SYMBOL: (374..377)\n IDENTIFIER: (374..377) \"cdr\"\n ATMOSPHERE: (377..378) \" \"\n SYMBOL: (378..382)\n IDENTIFIER: (378..382) \"list\"\n CLOSE_PAREN: (382..383) \")\"\n ATMOSPHERE: (383..384) \" \"\n FORM: (384..405)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..389)\n IDENTIFIER: (385..389) \"cons\"\n ATMOSPHERE: (389..390) \" \"\n FORM: (390..400)\n OPEN_PAREN: (390..391) \"(\"\n SYMBOL: (391..394)\n IDENTIFIER: (391..394) \"car\"\n ATMOSPHERE: (394..395) \" \"\n SYMBOL: (395..399)\n IDENTIFIER: (395..399) \"list\"\n CLOSE_PAREN: (399..400) \")\"\n ATMOSPHERE: (400..401) \" \"\n SYMBOL: (401..404)\n IDENTIFIER: (401..404) \"acc\"\n CLOSE_PAREN: (404..405) \")\"\n CLOSE_PAREN: (405..406) \")\"\n CLOSE_PAREN: (406..407) \")\"\n CLOSE_PAREN: (407..408) \")\"\n ATMOSPHERE: (408..413) \"\n \"\n FORM: (413..435)\n OPEN_PAREN: (413..414) \"(\"\n SYMBOL: (414..426)\n IDENTIFIER: (414..426) \"rev-with-acc\"\n ATMOSPHERE: (426..427) \" \"\n SYMBOL: (427..431)\n IDENTIFIER: (427..431) \"list\"\n ATMOSPHERE: (431..432) \" \"\n FORM: (432..434)\n OPEN_PAREN: (432..433) \"(\"\n CLOSE_PAREN: (433..434) \")\"\n CLOSE_PAREN: (434..435) \")\"\n CLOSE_PAREN: (435..436) \")\"\n ATMOSPHERE: (436..438) \"\n\n\"\n FORM: (438..470)\n OPEN_PAREN: (438..439) \"(\"\n SYMBOL: (439..446)\n IDENTIFIER: (439..446) \"display\"\n ATMOSPHERE: (446..447) \" \"\n FORM: (447..469)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..451)\n IDENTIFIER: (448..451) \"rev\"\n ATMOSPHERE: (451..452) \" \"\n FORM: (452..468)\n OPEN_PAREN: (452..453) \"(\"\n SYMBOL: (453..457)\n IDENTIFIER: (453..457) \"list\"\n ATMOSPHERE: (457..458) \" \"\n CONSTANT: (458..459)\n NUMBER: (458..459) \"1\"\n ATMOSPHERE: (459..460) \" \"\n CONSTANT: (460..461)\n NUMBER: (460..461) \"2\"\n ATMOSPHERE: (461..462) \" \"\n CONSTANT: (462..463)\n NUMBER: (462..463) \"3\"\n ATMOSPHERE: (463..464) \" \"\n CONSTANT: (464..465)\n NUMBER: (464..465) \"4\"\n ATMOSPHERE: (465..466) \" \"\n CONSTANT: (466..467)\n NUMBER: (466..467) \"5\"\n CLOSE_PAREN: (467..468) \")\"\n CLOSE_PAREN: (468..469) \")\"\n CLOSE_PAREN: (469..470) \")\"\n ATMOSPHERE: (470..471) \"\n\"\n FORM: (471..480)\n OPEN_PAREN: (471..472) \"(\"\n SYMBOL: (472..479)\n IDENTIFIER: (472..479) \"newline\"\n CLOSE_PAREN: (479..480) \")\"\n ATMOSPHERE: (480..482) \"\n\n\"\n FORM: (482..513)\n OPEN_PAREN: (482..483) \"(\"\n SYMBOL: (483..490)\n IDENTIFIER: (483..490) \"display\"\n ATMOSPHERE: (490..491) \" \"\n FORM: (491..512)\n OPEN_PAREN: (491..492) \"(\"\n SYMBOL: (492..497)\n IDENTIFIER: (492..497) \"list?\"\n ATMOSPHERE: (497..498) \" \"\n FORM: (498..511)\n OPEN_PAREN: (498..499) \"(\"\n SYMBOL: (499..503)\n IDENTIFIER: (499..503) \"cons\"\n ATMOSPHERE: (503..504) \" \"\n CONSTANT: (504..507)\n STRING: (504..507) \"\"a\"\"\n ATMOSPHERE: (507..508) \" \"\n FORM: (508..510)\n OPEN_PAREN: (508..509) \"(\"\n CLOSE_PAREN: (509..510) \")\"\n CLOSE_PAREN: (510..511) \")\"\n CLOSE_PAREN: (511..512) \")\"\n CLOSE_PAREN: (512..513) \")\"\n ATMOSPHERE: (513..514) \" \"\n ATMOSPHERE: (514..521) \"; -> #t\"\n ATMOSPHERE: (521..522) \"\n\"\n FORM: (522..557)\n OPEN_PAREN: (522..523) \"(\"\n SYMBOL: (523..530)\n IDENTIFIER: (523..530) \"display\"\n ATMOSPHERE: (530..531) \" \"\n FORM: (531..556)\n OPEN_PAREN: (531..532) \"(\"\n SYMBOL: (532..537)\n IDENTIFIER: (532..537) \"list?\"\n ATMOSPHERE: (537..538) \" \"\n FORM: (538..555)\n OPEN_PAREN: (538..539) \"(\"\n SYMBOL: (539..543)\n IDENTIFIER: (539..543) \"cons\"\n ATMOSPHERE: (543..544) \" \"\n CONSTANT: (544..547)\n STRING: (544..547) \"\"a\"\"\n ATMOSPHERE: (547..548) \" \"\n FORM: (548..554)\n OPEN_PAREN: (548..549) \"(\"\n SYMBOL: (549..553)\n IDENTIFIER: (549..553) \"list\"\n CLOSE_PAREN: (553..554) \")\"\n CLOSE_PAREN: (554..555) \")\"\n CLOSE_PAREN: (555..556) \")\"\n CLOSE_PAREN: (556..557) \")\"\n ATMOSPHERE: (557..558) \" \"\n ATMOSPHERE: (558..565) \"; -> #t\"\n ATMOSPHERE: (565..566) \"\n\"\n FORM: (566..598)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"display\"\n ATMOSPHERE: (574..575) \" \"\n FORM: (575..597)\n OPEN_PAREN: (575..576) \"(\"\n SYMBOL: (576..581)\n IDENTIFIER: (576..581) \"list?\"\n ATMOSPHERE: (581..582) \" \"\n FORM: (582..596)\n OPEN_PAREN: (582..583) \"(\"\n SYMBOL: (583..587)\n IDENTIFIER: (583..587) \"cons\"\n ATMOSPHERE: (587..588) \" \"\n CONSTANT: (588..591)\n STRING: (588..591) \"\"a\"\"\n ATMOSPHERE: (591..592) \" \"\n CONSTANT: (592..595)\n STRING: (592..595) \"\"b\"\"\n CLOSE_PAREN: (595..596) \")\"\n CLOSE_PAREN: (596..597) \")\"\n CLOSE_PAREN: (597..598) \")\"\n ATMOSPHERE: (598..599) \" \"\n ATMOSPHERE: (599..606) \"; -> #f\"\n ATMOSPHERE: (606..607) \"\n\"\n FORM: (607..616)\n OPEN_PAREN: (607..608) \"(\"\n SYMBOL: (608..615)\n IDENTIFIER: (608..615) \"newline\"\n CLOSE_PAREN: (615..616) \")\"\n ATMOSPHERE: (616..618) \"\n\n\"\n FORM: (618..649)\n OPEN_PAREN: (618..619) \"(\"\n SYMBOL: (619..626)\n IDENTIFIER: (619..626) \"display\"\n ATMOSPHERE: (626..627) \" \"\n FORM: (627..648)\n OPEN_PAREN: (627..628) \"(\"\n SYMBOL: (628..633)\n IDENTIFIER: (628..633) \"pair?\"\n ATMOSPHERE: (633..634) \" \"\n FORM: (634..647)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..639)\n IDENTIFIER: (635..639) \"cons\"\n ATMOSPHERE: (639..640) \" \"\n CONSTANT: (640..643)\n STRING: (640..643) \"\"a\"\"\n ATMOSPHERE: (643..644) \" \"\n FORM: (644..646)\n OPEN_PAREN: (644..645) \"(\"\n CLOSE_PAREN: (645..646) \")\"\n CLOSE_PAREN: (646..647) \")\"\n CLOSE_PAREN: (647..648) \")\"\n CLOSE_PAREN: (648..649) \")\"\n ATMOSPHERE: (649..650) \" \"\n ATMOSPHERE: (650..657) \"; -> #t\"\n ATMOSPHERE: (657..658) \"\n\"\n FORM: (658..693)\n OPEN_PAREN: (658..659) \"(\"\n SYMBOL: (659..666)\n IDENTIFIER: (659..666) \"display\"\n ATMOSPHERE: (666..667) \" \"\n FORM: (667..692)\n OPEN_PAREN: (667..668) \"(\"\n SYMBOL: (668..673)\n IDENTIFIER: (668..673) \"pair?\"\n ATMOSPHERE: (673..674) \" \"\n FORM: (674..691)\n OPEN_PAREN: (674..675) \"(\"\n SYMBOL: (675..679)\n IDENTIFIER: (675..679) \"cons\"\n ATMOSPHERE: (679..680) \" \"\n CONSTANT: (680..683)\n STRING: (680..683) \"\"a\"\"\n ATMOSPHERE: (683..684) \" \"\n FORM: (684..690)\n OPEN_PAREN: (684..685) \"(\"\n SYMBOL: (685..689)\n IDENTIFIER: (685..689) \"list\"\n CLOSE_PAREN: (689..690) \")\"\n CLOSE_PAREN: (690..691) \")\"\n CLOSE_PAREN: (691..692) \")\"\n CLOSE_PAREN: (692..693) \")\"\n ATMOSPHERE: (693..694) \" \"\n ATMOSPHERE: (694..701) \"; -> #t\"\n ATMOSPHERE: (701..702) \"\n\"\n FORM: (702..734)\n OPEN_PAREN: (702..703) \"(\"\n SYMBOL: (703..710)\n IDENTIFIER: (703..710) \"display\"\n ATMOSPHERE: (710..711) \" \"\n FORM: (711..733)\n OPEN_PAREN: (711..712) \"(\"\n SYMBOL: (712..717)\n IDENTIFIER: (712..717) \"pair?\"\n ATMOSPHERE: (717..718) \" \"\n FORM: (718..732)\n OPEN_PAREN: (718..719) \"(\"\n SYMBOL: (719..723)\n IDENTIFIER: (719..723) \"cons\"\n ATMOSPHERE: (723..724) \" \"\n CONSTANT: (724..727)\n STRING: (724..727) \"\"a\"\"\n ATMOSPHERE: (727..728) \" \"\n CONSTANT: (728..731)\n STRING: (728..731) \"\"b\"\"\n CLOSE_PAREN: (731..732) \")\"\n CLOSE_PAREN: (732..733) \")\"\n CLOSE_PAREN: (733..734) \")\"\n ATMOSPHERE: (734..735) \" \"\n ATMOSPHERE: (735..742) \"; -> #t\"\n ATMOSPHERE: (742..743) \"\n\"\n FORM: (743..752)\n OPEN_PAREN: (743..744) \"(\"\n SYMBOL: (744..751)\n IDENTIFIER: (744..751) \"newline\"\n CLOSE_PAREN: (751..752) \")\"\n ATMOSPHERE: (752..754) \"\n\n\"\n FORM: (754..782)\n OPEN_PAREN: (754..755) \"(\"\n SYMBOL: (755..762)\n IDENTIFIER: (755..762) \"display\"\n ATMOSPHERE: (762..763) \" \"\n FORM: (763..781)\n OPEN_PAREN: (763..764) \"(\"\n SYMBOL: (764..770)\n IDENTIFIER: (764..770) \"append\"\n ATMOSPHERE: (770..771) \" \"\n QUOTED_DATUM: (771..776)\n QUOTE: (771..772) \"’\"\n FORM: (772..775)\n OPEN_PAREN: (772..773) \"(\"\n SYMBOL: (773..774)\n IDENTIFIER: (773..774) \"x\"\n CLOSE_PAREN: (774..775) \")\"\n ATMOSPHERE: (775..776) \" \"\n QUOTED_DATUM: (776..780)\n QUOTE: (776..777) \"’\"\n FORM: (777..780)\n OPEN_PAREN: (777..778) \"(\"\n SYMBOL: (778..779)\n IDENTIFIER: (778..779) \"y\"\n CLOSE_PAREN: (779..780) \")\"\n CLOSE_PAREN: (780..781) \")\"\n CLOSE_PAREN: (781..782) \")\"\n FORM: (782..791)\n OPEN_PAREN: (782..783) \"(\"\n SYMBOL: (783..790)\n IDENTIFIER: (783..790) \"newline\"\n CLOSE_PAREN: (790..791) \")\"\n ATMOSPHERE: (791..792) \" \"\n ATMOSPHERE: (792..802) \"; -> (x y)\"\n ATMOSPHERE: (802..803) \"\n\"\n FORM: (803..835)\n OPEN_PAREN: (803..804) \"(\"\n SYMBOL: (804..811)\n IDENTIFIER: (804..811) \"display\"\n ATMOSPHERE: (811..812) \" \"\n FORM: (812..834)\n OPEN_PAREN: (812..813) \"(\"\n SYMBOL: (813..819)\n IDENTIFIER: (813..819) \"append\"\n ATMOSPHERE: (819..820) \" \"\n QUOTED_DATUM: (820..825)\n QUOTE: (820..821) \"’\"\n FORM: (821..824)\n OPEN_PAREN: (821..822) \"(\"\n SYMBOL: (822..823)\n IDENTIFIER: (822..823) \"a\"\n CLOSE_PAREN: (823..824) \")\"\n ATMOSPHERE: (824..825) \" \"\n QUOTED_DATUM: (825..833)\n QUOTE: (825..826) \"’\"\n FORM: (826..833)\n OPEN_PAREN: (826..827) \"(\"\n SYMBOL: (827..828)\n IDENTIFIER: (827..828) \"b\"\n ATMOSPHERE: (828..829) \" \"\n SYMBOL: (829..830)\n IDENTIFIER: (829..830) \"c\"\n ATMOSPHERE: (830..831) \" \"\n SYMBOL: (831..832)\n IDENTIFIER: (831..832) \"d\"\n CLOSE_PAREN: (832..833) \")\"\n CLOSE_PAREN: (833..834) \")\"\n CLOSE_PAREN: (834..835) \")\"\n FORM: (835..844)\n OPEN_PAREN: (835..836) \"(\"\n SYMBOL: (836..843)\n IDENTIFIER: (836..843) \"newline\"\n CLOSE_PAREN: (843..844) \")\"\n ATMOSPHERE: (844..845) \" \"\n ATMOSPHERE: (845..859) \"; -> (a b c d)\"\n ATMOSPHERE: (859..860) \"\n\"\n FORM: (860..894)\n OPEN_PAREN: (860..861) \"(\"\n SYMBOL: (861..868)\n IDENTIFIER: (861..868) \"display\"\n ATMOSPHERE: (868..869) \" \"\n FORM: (869..893)\n OPEN_PAREN: (869..870) \"(\"\n SYMBOL: (870..876)\n IDENTIFIER: (870..876) \"append\"\n ATMOSPHERE: (876..877) \" \"\n QUOTED_DATUM: (877..886)\n QUOTE: (877..878) \"’\"\n FORM: (878..885)\n OPEN_PAREN: (878..879) \"(\"\n SYMBOL: (879..880)\n IDENTIFIER: (879..880) \"a\"\n ATMOSPHERE: (880..881) \" \"\n FORM: (881..884)\n OPEN_PAREN: (881..882) \"(\"\n SYMBOL: (882..883)\n IDENTIFIER: (882..883) \"b\"\n CLOSE_PAREN: (883..884) \")\"\n CLOSE_PAREN: (884..885) \")\"\n ATMOSPHERE: (885..886) \" \"\n QUOTED_DATUM: (886..892)\n QUOTE: (886..887) \"’\"\n FORM: (887..892)\n OPEN_PAREN: (887..888) \"(\"\n FORM: (888..891)\n OPEN_PAREN: (888..889) \"(\"\n SYMBOL: (889..890)\n IDENTIFIER: (889..890) \"c\"\n CLOSE_PAREN: (890..891) \")\"\n CLOSE_PAREN: (891..892) \")\"\n CLOSE_PAREN: (892..893) \")\"\n CLOSE_PAREN: (893..894) \")\"\n FORM: (894..903)\n OPEN_PAREN: (894..895) \"(\"\n SYMBOL: (895..902)\n IDENTIFIER: (895..902) \"newline\"\n CLOSE_PAREN: (902..903) \")\"\n ATMOSPHERE: (903..904) \" \"\n ATMOSPHERE: (904..920) \"; -> (a (b) (c))\"\n ATMOSPHERE: (920..921) \"\n\"\n FORM: (921..955)\n OPEN_PAREN: (921..922) \"(\"\n SYMBOL: (922..929)\n IDENTIFIER: (922..929) \"display\"\n ATMOSPHERE: (929..930) \" \"\n FORM: (930..954)\n OPEN_PAREN: (930..931) \"(\"\n SYMBOL: (931..937)\n IDENTIFIER: (931..937) \"append\"\n ATMOSPHERE: (937..938) \" \"\n QUOTED_DATUM: (938..945)\n QUOTE: (938..939) \"’\"\n FORM: (939..944)\n OPEN_PAREN: (939..940) \"(\"\n SYMBOL: (940..941)\n IDENTIFIER: (940..941) \"a\"\n ATMOSPHERE: (941..942) \" \"\n SYMBOL: (942..943)\n IDENTIFIER: (942..943) \"b\"\n CLOSE_PAREN: (943..944) \")\"\n ATMOSPHERE: (944..945) \" \"\n QUOTED_DATUM: (945..953)\n QUOTE: (945..946) \"’\"\n FORM: (946..953)\n OPEN_PAREN: (946..947) \"(\"\n SYMBOL: (947..948)\n IDENTIFIER: (947..948) \"c\"\n ATMOSPHERE: (948..949) \" \"\n DOTTED_TAIL: (949..952)\n DOT: (949..950) \".\"\n ATMOSPHERE: (950..951) \" \"\n SYMBOL: (951..952)\n IDENTIFIER: (951..952) \"d\"\n CLOSE_PAREN: (952..953) \")\"\n CLOSE_PAREN: (953..954) \")\"\n CLOSE_PAREN: (954..955) \")\"\n FORM: (955..964)\n OPEN_PAREN: (955..956) \"(\"\n SYMBOL: (956..963)\n IDENTIFIER: (956..963) \"newline\"\n CLOSE_PAREN: (963..964) \")\"\n ATMOSPHERE: (964..965) \" \"\n ATMOSPHERE: (965..1005) \"; -> (a b c . d) ;; FIXME: quoted pairs!\"\n ATMOSPHERE: (1005..1006) \"\n\"\n FORM: (1006..1044)\n OPEN_PAREN: (1006..1007) \"(\"\n SYMBOL: (1007..1014)\n IDENTIFIER: (1007..1014) \"display\"\n ATMOSPHERE: (1014..1015) \" \"\n FORM: (1015..1043)\n OPEN_PAREN: (1015..1016) \"(\"\n SYMBOL: (1016..1022)\n IDENTIFIER: (1016..1022) \"append\"\n ATMOSPHERE: (1022..1023) \" \"\n QUOTED_DATUM: (1023..1030)\n QUOTE: (1023..1024) \"’\"\n FORM: (1024..1029)\n OPEN_PAREN: (1024..1025) \"(\"\n SYMBOL: (1025..1026)\n IDENTIFIER: (1025..1026) \"a\"\n ATMOSPHERE: (1026..1027) \" \"\n SYMBOL: (1027..1028)\n IDENTIFIER: (1027..1028) \"b\"\n CLOSE_PAREN: (1028..1029) \")\"\n ATMOSPHERE: (1029..1030) \" \"\n FORM: (1030..1042)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1035)\n IDENTIFIER: (1031..1035) \"cons\"\n ATMOSPHERE: (1035..1036) \" \"\n QUOTED_DATUM: (1036..1039)\n QUOTE: (1036..1037) \"'\"\n SYMBOL: (1037..1038)\n IDENTIFIER: (1037..1038) \"c\"\n ATMOSPHERE: (1038..1039) \" \"\n QUOTED_DATUM: (1039..1041)\n QUOTE: (1039..1040) \"'\"\n SYMBOL: (1040..1041)\n IDENTIFIER: (1040..1041) \"d\"\n CLOSE_PAREN: (1041..1042) \")\"\n CLOSE_PAREN: (1042..1043) \")\"\n CLOSE_PAREN: (1043..1044) \")\"\n FORM: (1044..1053)\n OPEN_PAREN: (1044..1045) \"(\"\n SYMBOL: (1045..1052)\n IDENTIFIER: (1045..1052) \"newline\"\n CLOSE_PAREN: (1052..1053) \")\"\n ATMOSPHERE: (1053..1054) \" \"\n ATMOSPHERE: (1054..1070) \"; -> (a b c . d)\"\n ATMOSPHERE: (1070..1071) \"\n\"\n FORM: (1071..1096)\n OPEN_PAREN: (1071..1072) \"(\"\n SYMBOL: (1072..1079)\n IDENTIFIER: (1072..1079) \"display\"\n ATMOSPHERE: (1079..1080) \" \"\n FORM: (1080..1095)\n OPEN_PAREN: (1080..1081) \"(\"\n SYMBOL: (1081..1087)\n IDENTIFIER: (1081..1087) \"append\"\n ATMOSPHERE: (1087..1088) \" \"\n QUOTED_DATUM: (1088..1092)\n QUOTE: (1088..1089) \"’\"\n FORM: (1089..1091)\n OPEN_PAREN: (1089..1090) \"(\"\n CLOSE_PAREN: (1090..1091) \")\"\n ATMOSPHERE: (1091..1092) \" \"\n QUOTED_DATUM: (1092..1094)\n QUOTE: (1092..1093) \"’\"\n SYMBOL: (1093..1094)\n IDENTIFIER: (1093..1094) \"a\"\n CLOSE_PAREN: (1094..1095) \")\"\n CLOSE_PAREN: (1095..1096) \")\"\n FORM: (1096..1105)\n OPEN_PAREN: (1096..1097) \"(\"\n SYMBOL: (1097..1104)\n IDENTIFIER: (1097..1104) \"newline\"\n CLOSE_PAREN: (1104..1105) \")\"\n ATMOSPHERE: (1105..1106) \" \"\n ATMOSPHERE: (1106..1112) \"; -> a\"\n ATMOSPHERE: (1112..1114) \"\n\n\"\n FORM: (1114..1142)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1122)\n IDENTIFIER: (1115..1122) \"display\"\n ATMOSPHERE: (1122..1123) \" \"\n FORM: (1123..1141)\n OPEN_PAREN: (1123..1124) \"(\"\n SYMBOL: (1124..1131)\n IDENTIFIER: (1124..1131) \"reverse\"\n ATMOSPHERE: (1131..1132) \" \"\n QUOTED_DATUM: (1132..1140)\n QUOTE: (1132..1133) \"’\"\n FORM: (1133..1140)\n OPEN_PAREN: (1133..1134) \"(\"\n SYMBOL: (1134..1135)\n IDENTIFIER: (1134..1135) \"a\"\n ATMOSPHERE: (1135..1136) \" \"\n SYMBOL: (1136..1137)\n IDENTIFIER: (1136..1137) \"b\"\n ATMOSPHERE: (1137..1138) \" \"\n SYMBOL: (1138..1139)\n IDENTIFIER: (1138..1139) \"c\"\n CLOSE_PAREN: (1139..1140) \")\"\n CLOSE_PAREN: (1140..1141) \")\"\n CLOSE_PAREN: (1141..1142) \")\"\n FORM: (1142..1151)\n OPEN_PAREN: (1142..1143) \"(\"\n SYMBOL: (1143..1150)\n IDENTIFIER: (1143..1150) \"newline\"\n CLOSE_PAREN: (1150..1151) \")\"\n ATMOSPHERE: (1151..1152) \" \"\n ATMOSPHERE: (1152..1164) \"; -> (c b a)\"\n ATMOSPHERE: (1164..1165) \"\n\"\n FORM: (1165..1205)\n OPEN_PAREN: (1165..1166) \"(\"\n SYMBOL: (1166..1173)\n IDENTIFIER: (1166..1173) \"display\"\n ATMOSPHERE: (1173..1174) \" \"\n FORM: (1174..1204)\n OPEN_PAREN: (1174..1175) \"(\"\n SYMBOL: (1175..1182)\n IDENTIFIER: (1175..1182) \"reverse\"\n ATMOSPHERE: (1182..1183) \" \"\n QUOTED_DATUM: (1183..1203)\n QUOTE: (1183..1184) \"’\"\n FORM: (1184..1203)\n OPEN_PAREN: (1184..1185) \"(\"\n SYMBOL: (1185..1186)\n IDENTIFIER: (1185..1186) \"a\"\n ATMOSPHERE: (1186..1187) \" \"\n FORM: (1187..1192)\n OPEN_PAREN: (1187..1188) \"(\"\n SYMBOL: (1188..1189)\n IDENTIFIER: (1188..1189) \"b\"\n ATMOSPHERE: (1189..1190) \" \"\n SYMBOL: (1190..1191)\n IDENTIFIER: (1190..1191) \"c\"\n CLOSE_PAREN: (1191..1192) \")\"\n ATMOSPHERE: (1192..1193) \" \"\n SYMBOL: (1193..1194)\n IDENTIFIER: (1193..1194) \"d\"\n ATMOSPHERE: (1194..1195) \" \"\n FORM: (1195..1202)\n OPEN_PAREN: (1195..1196) \"(\"\n SYMBOL: (1196..1197)\n IDENTIFIER: (1196..1197) \"e\"\n ATMOSPHERE: (1197..1198) \" \"\n FORM: (1198..1201)\n OPEN_PAREN: (1198..1199) \"(\"\n SYMBOL: (1199..1200)\n IDENTIFIER: (1199..1200) \"f\"\n CLOSE_PAREN: (1200..1201) \")\"\n CLOSE_PAREN: (1201..1202) \")\"\n CLOSE_PAREN: (1202..1203) \")\"\n CLOSE_PAREN: (1203..1204) \")\"\n CLOSE_PAREN: (1204..1205) \")\"\n FORM: (1205..1214)\n OPEN_PAREN: (1205..1206) \"(\"\n SYMBOL: (1206..1213)\n IDENTIFIER: (1206..1213) \"newline\"\n CLOSE_PAREN: (1213..1214) \")\"\n ATMOSPHERE: (1214..1215) \" \"\n ATMOSPHERE: (1215..1239) \"; -> ((e (f)) d (b c) a)\"\n ATMOSPHERE: (1239..1241) \"\n\n\"\n FORM: (1241..1276)\n OPEN_PAREN: (1241..1242) \"(\"\n SYMBOL: (1242..1248)\n IDENTIFIER: (1242..1248) \"define\"\n ATMOSPHERE: (1248..1249) \" \"\n SYMBOL: (1249..1258)\n IDENTIFIER: (1249..1258) \"test-list\"\n ATMOSPHERE: (1258..1259) \" \"\n QUOTED_DATUM: (1259..1275)\n QUOTE: (1259..1260) \"'\"\n FORM: (1260..1275)\n OPEN_PAREN: (1260..1261) \"(\"\n SYMBOL: (1261..1262)\n IDENTIFIER: (1261..1262) \"a\"\n ATMOSPHERE: (1262..1263) \" \"\n SYMBOL: (1263..1264)\n IDENTIFIER: (1263..1264) \"b\"\n ATMOSPHERE: (1264..1265) \" \"\n SYMBOL: (1265..1266)\n IDENTIFIER: (1265..1266) \"c\"\n ATMOSPHERE: (1266..1267) \" \"\n SYMBOL: (1267..1268)\n IDENTIFIER: (1267..1268) \"d\"\n ATMOSPHERE: (1268..1269) \" \"\n SYMBOL: (1269..1270)\n IDENTIFIER: (1269..1270) \"e\"\n ATMOSPHERE: (1270..1271) \" \"\n SYMBOL: (1271..1272)\n IDENTIFIER: (1271..1272) \"f\"\n ATMOSPHERE: (1272..1273) \" \"\n SYMBOL: (1273..1274)\n IDENTIFIER: (1273..1274) \"g\"\n CLOSE_PAREN: (1274..1275) \")\"\n CLOSE_PAREN: (1275..1276) \")\"\n ATMOSPHERE: (1276..1277) \"\n\"\n FORM: (1277..1310)\n OPEN_PAREN: (1277..1278) \"(\"\n SYMBOL: (1278..1285)\n IDENTIFIER: (1278..1285) \"display\"\n ATMOSPHERE: (1285..1286) \" \"\n FORM: (1286..1309)\n OPEN_PAREN: (1286..1287) \"(\"\n SYMBOL: (1287..1296)\n IDENTIFIER: (1287..1296) \"list-tail\"\n ATMOSPHERE: (1296..1297) \" \"\n SYMBOL: (1297..1306)\n IDENTIFIER: (1297..1306) \"test-list\"\n ATMOSPHERE: (1306..1307) \" \"\n CONSTANT: (1307..1308)\n NUMBER: (1307..1308) \"1\"\n CLOSE_PAREN: (1308..1309) \")\"\n CLOSE_PAREN: (1309..1310) \")\"\n FORM: (1310..1319)\n OPEN_PAREN: (1310..1311) \"(\"\n SYMBOL: (1311..1318)\n IDENTIFIER: (1311..1318) \"newline\"\n CLOSE_PAREN: (1318..1319) \")\"\n ATMOSPHERE: (1319..1320) \"\n\"\n FORM: (1320..1353)\n OPEN_PAREN: (1320..1321) \"(\"\n SYMBOL: (1321..1328)\n IDENTIFIER: (1321..1328) \"display\"\n ATMOSPHERE: (1328..1329) \" \"\n FORM: (1329..1352)\n OPEN_PAREN: (1329..1330) \"(\"\n SYMBOL: (1330..1339)\n IDENTIFIER: (1330..1339) \"list-tail\"\n ATMOSPHERE: (1339..1340) \" \"\n SYMBOL: (1340..1349)\n IDENTIFIER: (1340..1349) \"test-list\"\n ATMOSPHERE: (1349..1350) \" \"\n CONSTANT: (1350..1351)\n NUMBER: (1350..1351) \"0\"\n CLOSE_PAREN: (1351..1352) \")\"\n CLOSE_PAREN: (1352..1353) \")\"\n FORM: (1353..1362)\n OPEN_PAREN: (1353..1354) \"(\"\n SYMBOL: (1354..1361)\n IDENTIFIER: (1354..1361) \"newline\"\n CLOSE_PAREN: (1361..1362) \")\"\n ATMOSPHERE: (1362..1363) \"\n\"\n FORM: (1363..1396)\n OPEN_PAREN: (1363..1364) \"(\"\n SYMBOL: (1364..1371)\n IDENTIFIER: (1364..1371) \"display\"\n ATMOSPHERE: (1371..1372) \" \"\n FORM: (1372..1395)\n OPEN_PAREN: (1372..1373) \"(\"\n SYMBOL: (1373..1382)\n IDENTIFIER: (1373..1382) \"list-tail\"\n ATMOSPHERE: (1382..1383) \" \"\n SYMBOL: (1383..1392)\n IDENTIFIER: (1383..1392) \"test-list\"\n ATMOSPHERE: (1392..1393) \" \"\n CONSTANT: (1393..1394)\n NUMBER: (1393..1394) \"6\"\n CLOSE_PAREN: (1394..1395) \")\"\n CLOSE_PAREN: (1395..1396) \")\"\n FORM: (1396..1405)\n OPEN_PAREN: (1396..1397) \"(\"\n SYMBOL: (1397..1404)\n IDENTIFIER: (1397..1404) \"newline\"\n CLOSE_PAREN: (1404..1405) \")\"\n ATMOSPHERE: (1405..1407) \"\n\n\"\n FORM: (1407..1442)\n OPEN_PAREN: (1407..1408) \"(\"\n SYMBOL: (1408..1415)\n IDENTIFIER: (1408..1415) \"display\"\n ATMOSPHERE: (1415..1418) \"\n \"\n FORM: (1418..1441)\n OPEN_PAREN: (1418..1419) \"(\"\n SYMBOL: (1419..1427)\n IDENTIFIER: (1419..1427) \"list-ref\"\n ATMOSPHERE: (1427..1428) \" \"\n QUOTED_DATUM: (1428..1439)\n QUOTE: (1428..1429) \"’\"\n FORM: (1429..1438)\n OPEN_PAREN: (1429..1430) \"(\"\n SYMBOL: (1430..1431)\n IDENTIFIER: (1430..1431) \"a\"\n ATMOSPHERE: (1431..1432) \" \"\n SYMBOL: (1432..1433)\n IDENTIFIER: (1432..1433) \"b\"\n ATMOSPHERE: (1433..1434) \" \"\n SYMBOL: (1434..1435)\n IDENTIFIER: (1434..1435) \"c\"\n ATMOSPHERE: (1435..1436) \" \"\n SYMBOL: (1436..1437)\n IDENTIFIER: (1436..1437) \"d\"\n CLOSE_PAREN: (1437..1438) \")\"\n ATMOSPHERE: (1438..1439) \" \"\n CONSTANT: (1439..1440)\n NUMBER: (1439..1440) \"2\"\n CLOSE_PAREN: (1440..1441) \")\"\n CLOSE_PAREN: (1441..1442) \")\"\n ATMOSPHERE: (1442..1443) \" \"\n ATMOSPHERE: (1443..1449) \"; =⇒ c\"\n ATMOSPHERE: (1449..1450) \"\n\"\n FORM: (1450..1459)\n OPEN_PAREN: (1450..1451) \"(\"\n SYMBOL: (1451..1458)\n IDENTIFIER: (1451..1458) \"newline\"\n CLOSE_PAREN: (1458..1459) \")\"\n ATMOSPHERE: (1459..1461) \"\n\n\"\n FORM: (1461..1568)\n OPEN_PAREN: (1461..1462) \"(\"\n SYMBOL: (1462..1469)\n IDENTIFIER: (1462..1469) \"display\"\n ATMOSPHERE: (1469..1472) \"\n \"\n FORM: (1472..1543)\n OPEN_PAREN: (1472..1473) \"(\"\n SYMBOL: (1473..1476)\n IDENTIFIER: (1473..1476) \"let\"\n ATMOSPHERE: (1476..1477) \" \"\n FORM: (1477..1507)\n OPEN_PAREN: (1477..1478) \"(\"\n FORM: (1478..1506)\n OPEN_PAREN: (1478..1479) \"(\"\n SYMBOL: (1479..1481)\n IDENTIFIER: (1479..1481) \"ls\"\n ATMOSPHERE: (1481..1482) \" \"\n FORM: (1482..1505)\n OPEN_PAREN: (1482..1483) \"(\"\n SYMBOL: (1483..1487)\n IDENTIFIER: (1483..1487) \"list\"\n ATMOSPHERE: (1487..1488) \" \"\n QUOTED_DATUM: (1488..1493)\n QUOTE: (1488..1489) \"’\"\n SYMBOL: (1489..1492)\n IDENTIFIER: (1489..1492) \"one\"\n ATMOSPHERE: (1492..1493) \" \"\n QUOTED_DATUM: (1493..1498)\n QUOTE: (1493..1494) \"’\"\n SYMBOL: (1494..1497)\n IDENTIFIER: (1494..1497) \"two\"\n ATMOSPHERE: (1497..1498) \" \"\n QUOTED_DATUM: (1498..1504)\n QUOTE: (1498..1499) \"’\"\n SYMBOL: (1499..1504)\n IDENTIFIER: (1499..1504) \"five!\"\n CLOSE_PAREN: (1504..1505) \")\"\n CLOSE_PAREN: (1505..1506) \")\"\n CLOSE_PAREN: (1506..1507) \")\"\n ATMOSPHERE: (1507..1512) \"\n \"\n FORM: (1512..1535)\n OPEN_PAREN: (1512..1513) \"(\"\n SYMBOL: (1513..1522)\n IDENTIFIER: (1513..1522) \"list-set!\"\n ATMOSPHERE: (1522..1523) \" \"\n SYMBOL: (1523..1525)\n IDENTIFIER: (1523..1525) \"ls\"\n ATMOSPHERE: (1525..1526) \" \"\n CONSTANT: (1526..1527)\n NUMBER: (1526..1527) \"2\"\n ATMOSPHERE: (1527..1528) \" \"\n QUOTED_DATUM: (1528..1534)\n QUOTE: (1528..1529) \"’\"\n SYMBOL: (1529..1534)\n IDENTIFIER: (1529..1534) \"three\"\n CLOSE_PAREN: (1534..1535) \")\"\n ATMOSPHERE: (1535..1540) \"\n \"\n SYMBOL: (1540..1542)\n IDENTIFIER: (1540..1542) \"ls\"\n CLOSE_PAREN: (1542..1543) \")\"\n ATMOSPHERE: (1543..1544) \" \"\n ATMOSPHERE: (1544..1564) \"; =⇒ (one two three)\"\n ATMOSPHERE: (1564..1567) \"\n \"\n CLOSE_PAREN: (1567..1568) \")\"\n FORM: (1568..1577)\n OPEN_PAREN: (1568..1569) \"(\"\n SYMBOL: (1569..1576)\n IDENTIFIER: (1569..1576) \"newline\"\n CLOSE_PAREN: (1576..1577) \")\"\n ATMOSPHERE: (1577..1579) \"\n\n\"\n FORM: (1579..1626)\n OPEN_PAREN: (1579..1580) \"(\"\n SYMBOL: (1580..1587)\n IDENTIFIER: (1580..1587) \"display\"\n ATMOSPHERE: (1587..1588) \" \"\n FORM: (1588..1625)\n OPEN_PAREN: (1588..1589) \"(\"\n SYMBOL: (1589..1592)\n IDENTIFIER: (1589..1592) \"eq?\"\n ATMOSPHERE: (1592..1593) \" \"\n FORM: (1593..1614)\n OPEN_PAREN: (1593..1594) \"(\"\n SYMBOL: (1594..1603)\n IDENTIFIER: (1594..1603) \"list-copy\"\n ATMOSPHERE: (1603..1604) \" \"\n SYMBOL: (1604..1613)\n IDENTIFIER: (1604..1613) \"test-list\"\n CLOSE_PAREN: (1613..1614) \")\"\n ATMOSPHERE: (1614..1615) \" \"\n SYMBOL: (1615..1624)\n IDENTIFIER: (1615..1624) \"test-list\"\n CLOSE_PAREN: (1624..1625) \")\"\n CLOSE_PAREN: (1625..1626) \")\"\n FORM: (1626..1635)\n OPEN_PAREN: (1626..1627) \"(\"\n SYMBOL: (1627..1634)\n IDENTIFIER: (1627..1634) \"newline\"\n CLOSE_PAREN: (1634..1635) \")\"\n ATMOSPHERE: (1635..1636) \"\n\"\n FORM: (1636..1659)\n OPEN_PAREN: (1636..1637) \"(\"\n SYMBOL: (1637..1644)\n IDENTIFIER: (1637..1644) \"display\"\n ATMOSPHERE: (1644..1645) \" \"\n FORM: (1645..1658)\n OPEN_PAREN: (1645..1646) \"(\"\n SYMBOL: (1646..1655)\n IDENTIFIER: (1646..1655) \"list-copy\"\n ATMOSPHERE: (1655..1656) \" \"\n CONSTANT: (1656..1657)\n NUMBER: (1656..1657) \"2\"\n CLOSE_PAREN: (1657..1658) \")\"\n CLOSE_PAREN: (1658..1659) \")\"\n FORM: (1659..1668)\n OPEN_PAREN: (1659..1660) \"(\"\n SYMBOL: (1660..1667)\n IDENTIFIER: (1660..1667) \"newline\"\n CLOSE_PAREN: (1667..1668) \")\"\n ATMOSPHERE: (1668..1671) \"\n\n\n\"\n FORM: (1671..1699)\n OPEN_PAREN: (1671..1672) \"(\"\n SYMBOL: (1672..1679)\n IDENTIFIER: (1672..1679) \"display\"\n ATMOSPHERE: (1679..1680) \" \"\n FORM: (1680..1698)\n OPEN_PAREN: (1680..1681) \"(\"\n SYMBOL: (1681..1685)\n IDENTIFIER: (1681..1685) \"memq\"\n ATMOSPHERE: (1685..1686) \" \"\n QUOTED_DATUM: (1686..1689)\n QUOTE: (1686..1687) \"’\"\n SYMBOL: (1687..1688)\n IDENTIFIER: (1687..1688) \"a\"\n ATMOSPHERE: (1688..1689) \" \"\n QUOTED_DATUM: (1689..1697)\n QUOTE: (1689..1690) \"’\"\n FORM: (1690..1697)\n OPEN_PAREN: (1690..1691) \"(\"\n SYMBOL: (1691..1692)\n IDENTIFIER: (1691..1692) \"a\"\n ATMOSPHERE: (1692..1693) \" \"\n SYMBOL: (1693..1694)\n IDENTIFIER: (1693..1694) \"b\"\n ATMOSPHERE: (1694..1695) \" \"\n SYMBOL: (1695..1696)\n IDENTIFIER: (1695..1696) \"c\"\n CLOSE_PAREN: (1696..1697) \")\"\n CLOSE_PAREN: (1697..1698) \")\"\n CLOSE_PAREN: (1698..1699) \")\"\n FORM: (1699..1708)\n OPEN_PAREN: (1699..1700) \"(\"\n SYMBOL: (1700..1707)\n IDENTIFIER: (1700..1707) \"newline\"\n CLOSE_PAREN: (1707..1708) \")\"\n ATMOSPHERE: (1708..1709) \" \"\n ATMOSPHERE: (1709..1721) \"; -> (a b c)\"\n ATMOSPHERE: (1721..1722) \"\n\"\n FORM: (1722..1750)\n OPEN_PAREN: (1722..1723) \"(\"\n SYMBOL: (1723..1730)\n IDENTIFIER: (1723..1730) \"display\"\n ATMOSPHERE: (1730..1731) \" \"\n FORM: (1731..1749)\n OPEN_PAREN: (1731..1732) \"(\"\n SYMBOL: (1732..1736)\n IDENTIFIER: (1732..1736) \"memq\"\n ATMOSPHERE: (1736..1737) \" \"\n QUOTED_DATUM: (1737..1740)\n QUOTE: (1737..1738) \"’\"\n SYMBOL: (1738..1739)\n IDENTIFIER: (1738..1739) \"b\"\n ATMOSPHERE: (1739..1740) \" \"\n QUOTED_DATUM: (1740..1748)\n QUOTE: (1740..1741) \"’\"\n FORM: (1741..1748)\n OPEN_PAREN: (1741..1742) \"(\"\n SYMBOL: (1742..1743)\n IDENTIFIER: (1742..1743) \"a\"\n ATMOSPHERE: (1743..1744) \" \"\n SYMBOL: (1744..1745)\n IDENTIFIER: (1744..1745) \"b\"\n ATMOSPHERE: (1745..1746) \" \"\n SYMBOL: (1746..1747)\n IDENTIFIER: (1746..1747) \"c\"\n CLOSE_PAREN: (1747..1748) \")\"\n CLOSE_PAREN: (1748..1749) \")\"\n CLOSE_PAREN: (1749..1750) \")\"\n FORM: (1750..1759)\n OPEN_PAREN: (1750..1751) \"(\"\n SYMBOL: (1751..1758)\n IDENTIFIER: (1751..1758) \"newline\"\n CLOSE_PAREN: (1758..1759) \")\"\n ATMOSPHERE: (1759..1760) \" \"\n ATMOSPHERE: (1760..1770) \"; -> (b c)\"\n ATMOSPHERE: (1770..1771) \"\n\"\n FORM: (1771..1799)\n OPEN_PAREN: (1771..1772) \"(\"\n SYMBOL: (1772..1779)\n IDENTIFIER: (1772..1779) \"display\"\n ATMOSPHERE: (1779..1780) \" \"\n FORM: (1780..1798)\n OPEN_PAREN: (1780..1781) \"(\"\n SYMBOL: (1781..1785)\n IDENTIFIER: (1781..1785) \"memq\"\n ATMOSPHERE: (1785..1786) \" \"\n QUOTED_DATUM: (1786..1789)\n QUOTE: (1786..1787) \"’\"\n SYMBOL: (1787..1788)\n IDENTIFIER: (1787..1788) \"a\"\n ATMOSPHERE: (1788..1789) \" \"\n QUOTED_DATUM: (1789..1797)\n QUOTE: (1789..1790) \"’\"\n FORM: (1790..1797)\n OPEN_PAREN: (1790..1791) \"(\"\n SYMBOL: (1791..1792)\n IDENTIFIER: (1791..1792) \"b\"\n ATMOSPHERE: (1792..1793) \" \"\n SYMBOL: (1793..1794)\n IDENTIFIER: (1793..1794) \"c\"\n ATMOSPHERE: (1794..1795) \" \"\n SYMBOL: (1795..1796)\n IDENTIFIER: (1795..1796) \"d\"\n CLOSE_PAREN: (1796..1797) \")\"\n CLOSE_PAREN: (1797..1798) \")\"\n CLOSE_PAREN: (1798..1799) \")\"\n FORM: (1799..1808)\n OPEN_PAREN: (1799..1800) \"(\"\n SYMBOL: (1800..1807)\n IDENTIFIER: (1800..1807) \"newline\"\n CLOSE_PAREN: (1807..1808) \")\"\n ATMOSPHERE: (1808..1809) \" \"\n ATMOSPHERE: (1809..1816) \"; -> #f\"\n ATMOSPHERE: (1816..1817) \"\n\"\n FORM: (1817..1854)\n OPEN_PAREN: (1817..1818) \"(\"\n SYMBOL: (1818..1825)\n IDENTIFIER: (1818..1825) \"display\"\n ATMOSPHERE: (1825..1826) \" \"\n FORM: (1826..1853)\n OPEN_PAREN: (1826..1827) \"(\"\n SYMBOL: (1827..1831)\n IDENTIFIER: (1827..1831) \"memq\"\n ATMOSPHERE: (1831..1832) \" \"\n FORM: (1832..1841)\n OPEN_PAREN: (1832..1833) \"(\"\n SYMBOL: (1833..1837)\n IDENTIFIER: (1833..1837) \"list\"\n ATMOSPHERE: (1837..1838) \" \"\n QUOTED_DATUM: (1838..1840)\n QUOTE: (1838..1839) \"’\"\n SYMBOL: (1839..1840)\n IDENTIFIER: (1839..1840) \"a\"\n CLOSE_PAREN: (1840..1841) \")\"\n ATMOSPHERE: (1841..1842) \" \"\n QUOTED_DATUM: (1842..1852)\n QUOTE: (1842..1843) \"’\"\n FORM: (1843..1852)\n OPEN_PAREN: (1843..1844) \"(\"\n SYMBOL: (1844..1845)\n IDENTIFIER: (1844..1845) \"b\"\n ATMOSPHERE: (1845..1846) \" \"\n FORM: (1846..1849)\n OPEN_PAREN: (1846..1847) \"(\"\n SYMBOL: (1847..1848)\n IDENTIFIER: (1847..1848) \"a\"\n CLOSE_PAREN: (1848..1849) \")\"\n ATMOSPHERE: (1849..1850) \" \"\n SYMBOL: (1850..1851)\n IDENTIFIER: (1850..1851) \"c\"\n CLOSE_PAREN: (1851..1852) \")\"\n CLOSE_PAREN: (1852..1853) \")\"\n CLOSE_PAREN: (1853..1854) \")\"\n FORM: (1854..1863)\n OPEN_PAREN: (1854..1855) \"(\"\n SYMBOL: (1855..1862)\n IDENTIFIER: (1855..1862) \"newline\"\n CLOSE_PAREN: (1862..1863) \")\"\n ATMOSPHERE: (1863..1864) \" \"\n ATMOSPHERE: (1864..1871) \"; -> #f\"\n ATMOSPHERE: (1871..1872) \"\n\"\n FORM: (1872..1913)\n OPEN_PAREN: (1872..1873) \"(\"\n SYMBOL: (1873..1880)\n IDENTIFIER: (1873..1880) \"display\"\n ATMOSPHERE: (1880..1881) \" \"\n FORM: (1881..1912)\n OPEN_PAREN: (1881..1882) \"(\"\n SYMBOL: (1882..1888)\n IDENTIFIER: (1882..1888) \"member\"\n ATMOSPHERE: (1888..1889) \" \"\n FORM: (1889..1898)\n OPEN_PAREN: (1889..1890) \"(\"\n SYMBOL: (1890..1894)\n IDENTIFIER: (1890..1894) \"list\"\n ATMOSPHERE: (1894..1895) \" \"\n QUOTED_DATUM: (1895..1897)\n QUOTE: (1895..1896) \"’\"\n SYMBOL: (1896..1897)\n IDENTIFIER: (1896..1897) \"a\"\n CLOSE_PAREN: (1897..1898) \")\"\n ATMOSPHERE: (1898..1901) \"\n \"\n QUOTED_DATUM: (1901..1911)\n QUOTE: (1901..1902) \"’\"\n FORM: (1902..1911)\n OPEN_PAREN: (1902..1903) \"(\"\n SYMBOL: (1903..1904)\n IDENTIFIER: (1903..1904) \"b\"\n ATMOSPHERE: (1904..1905) \" \"\n FORM: (1905..1908)\n OPEN_PAREN: (1905..1906) \"(\"\n SYMBOL: (1906..1907)\n IDENTIFIER: (1906..1907) \"a\"\n CLOSE_PAREN: (1907..1908) \")\"\n ATMOSPHERE: (1908..1909) \" \"\n SYMBOL: (1909..1910)\n IDENTIFIER: (1909..1910) \"c\"\n CLOSE_PAREN: (1910..1911) \")\"\n CLOSE_PAREN: (1911..1912) \")\"\n CLOSE_PAREN: (1912..1913) \")\"\n FORM: (1913..1922)\n OPEN_PAREN: (1913..1914) \"(\"\n SYMBOL: (1914..1921)\n IDENTIFIER: (1914..1921) \"newline\"\n CLOSE_PAREN: (1921..1922) \")\"\n ATMOSPHERE: (1922..1923) \" \"\n ATMOSPHERE: (1923..1935) \"; -> ((a) c)\"\n ATMOSPHERE: (1935..1936) \"\n\"\n FORM: (1936..1987)\n OPEN_PAREN: (1936..1937) \"(\"\n SYMBOL: (1937..1944)\n IDENTIFIER: (1937..1944) \"display\"\n ATMOSPHERE: (1944..1945) \" \"\n FORM: (1945..1986)\n OPEN_PAREN: (1945..1946) \"(\"\n SYMBOL: (1946..1952)\n IDENTIFIER: (1946..1952) \"member\"\n ATMOSPHERE: (1952..1953) \" \"\n CONSTANT: (1953..1956)\n CHARACTER: (1953..1956) \"#\\B\"\n ATMOSPHERE: (1956..1959) \"\n \"\n QUOTED_DATUM: (1959..1976)\n QUOTE: (1959..1960) \"’\"\n FORM: (1960..1973)\n OPEN_PAREN: (1960..1961) \"(\"\n CONSTANT: (1961..1964)\n CHARACTER: (1961..1964) \"#\\a\"\n ATMOSPHERE: (1964..1965) \" \"\n CONSTANT: (1965..1968)\n CHARACTER: (1965..1968) \"#\\b\"\n ATMOSPHERE: (1968..1969) \" \"\n CONSTANT: (1969..1972)\n CHARACTER: (1969..1972) \"#\\c\"\n CLOSE_PAREN: (1972..1973) \")\"\n ATMOSPHERE: (1973..1976) \"\n \"\n SYMBOL: (1976..1985)\n IDENTIFIER: (1976..1985) \"char-ci=?\"\n CLOSE_PAREN: (1985..1986) \")\"\n CLOSE_PAREN: (1986..1987) \")\"\n FORM: (1987..1996)\n OPEN_PAREN: (1987..1988) \"(\"\n SYMBOL: (1988..1995)\n IDENTIFIER: (1988..1995) \"newline\"\n CLOSE_PAREN: (1995..1996) \")\"\n ATMOSPHERE: (1996..1997) \" \"\n ATMOSPHERE: (1997..2011) \"; -> (#\\b #\\c)\"\n ATMOSPHERE: (2011..2012) \"\n\"\n FORM: (2012..2047)\n OPEN_PAREN: (2012..2013) \"(\"\n SYMBOL: (2013..2020)\n IDENTIFIER: (2013..2020) \"display\"\n ATMOSPHERE: (2020..2021) \" \"\n FORM: (2021..2046)\n OPEN_PAREN: (2021..2022) \"(\"\n SYMBOL: (2022..2026)\n IDENTIFIER: (2022..2026) \"memq\"\n ATMOSPHERE: (2026..2027) \" \"\n CONSTANT: (2027..2030)\n NUMBER: (2027..2030) \"101\"\n ATMOSPHERE: (2030..2031) \" \"\n QUOTED_DATUM: (2031..2045)\n QUOTE: (2031..2032) \"’\"\n FORM: (2032..2045)\n OPEN_PAREN: (2032..2033) \"(\"\n CONSTANT: (2033..2036)\n NUMBER: (2033..2036) \"100\"\n ATMOSPHERE: (2036..2037) \" \"\n CONSTANT: (2037..2040)\n NUMBER: (2037..2040) \"101\"\n ATMOSPHERE: (2040..2041) \" \"\n CONSTANT: (2041..2044)\n NUMBER: (2041..2044) \"102\"\n CLOSE_PAREN: (2044..2045) \")\"\n CLOSE_PAREN: (2045..2046) \")\"\n CLOSE_PAREN: (2046..2047) \")\"\n FORM: (2047..2056)\n OPEN_PAREN: (2047..2048) \"(\"\n SYMBOL: (2048..2055)\n IDENTIFIER: (2048..2055) \"newline\"\n CLOSE_PAREN: (2055..2056) \")\"\n ATMOSPHERE: (2056..2057) \" \"\n ATMOSPHERE: (2057..2073) \"; -> unspecified\"\n ATMOSPHERE: (2073..2074) \"\n\"\n FORM: (2074..2109)\n OPEN_PAREN: (2074..2075) \"(\"\n SYMBOL: (2075..2082)\n IDENTIFIER: (2075..2082) \"display\"\n ATMOSPHERE: (2082..2083) \" \"\n FORM: (2083..2108)\n OPEN_PAREN: (2083..2084) \"(\"\n SYMBOL: (2084..2088)\n IDENTIFIER: (2084..2088) \"memv\"\n ATMOSPHERE: (2088..2089) \" \"\n CONSTANT: (2089..2092)\n NUMBER: (2089..2092) \"101\"\n ATMOSPHERE: (2092..2093) \" \"\n QUOTED_DATUM: (2093..2107)\n QUOTE: (2093..2094) \"’\"\n FORM: (2094..2107)\n OPEN_PAREN: (2094..2095) \"(\"\n CONSTANT: (2095..2098)\n NUMBER: (2095..2098) \"100\"\n ATMOSPHERE: (2098..2099) \" \"\n CONSTANT: (2099..2102)\n NUMBER: (2099..2102) \"101\"\n ATMOSPHERE: (2102..2103) \" \"\n CONSTANT: (2103..2106)\n NUMBER: (2103..2106) \"102\"\n CLOSE_PAREN: (2106..2107) \")\"\n CLOSE_PAREN: (2107..2108) \")\"\n CLOSE_PAREN: (2108..2109) \")\"\n FORM: (2109..2118)\n OPEN_PAREN: (2109..2110) \"(\"\n SYMBOL: (2110..2117)\n IDENTIFIER: (2110..2117) \"newline\"\n CLOSE_PAREN: (2117..2118) \")\"\n ATMOSPHERE: (2118..2119) \" \"\n ATMOSPHERE: (2119..2133) \"; -> (101 102)\"\n ATMOSPHERE: (2133..2135) \"\n\n\"\n FORM: (2135..2166)\n OPEN_PAREN: (2135..2136) \"(\"\n SYMBOL: (2136..2142)\n IDENTIFIER: (2136..2142) \"define\"\n ATMOSPHERE: (2142..2143) \" \"\n SYMBOL: (2143..2144)\n IDENTIFIER: (2143..2144) \"e\"\n ATMOSPHERE: (2144..2145) \" \"\n QUOTED_DATUM: (2145..2165)\n QUOTE: (2145..2146) \"’\"\n FORM: (2146..2165)\n OPEN_PAREN: (2146..2147) \"(\"\n FORM: (2147..2152)\n OPEN_PAREN: (2147..2148) \"(\"\n SYMBOL: (2148..2149)\n IDENTIFIER: (2148..2149) \"a\"\n ATMOSPHERE: (2149..2150) \" \"\n CONSTANT: (2150..2151)\n NUMBER: (2150..2151) \"1\"\n CLOSE_PAREN: (2151..2152) \")\"\n ATMOSPHERE: (2152..2153) \" \"\n FORM: (2153..2158)\n OPEN_PAREN: (2153..2154) \"(\"\n SYMBOL: (2154..2155)\n IDENTIFIER: (2154..2155) \"b\"\n ATMOSPHERE: (2155..2156) \" \"\n CONSTANT: (2156..2157)\n NUMBER: (2156..2157) \"2\"\n CLOSE_PAREN: (2157..2158) \")\"\n ATMOSPHERE: (2158..2159) \" \"\n FORM: (2159..2164)\n OPEN_PAREN: (2159..2160) \"(\"\n SYMBOL: (2160..2161)\n IDENTIFIER: (2160..2161) \"c\"\n ATMOSPHERE: (2161..2162) \" \"\n CONSTANT: (2162..2163)\n NUMBER: (2162..2163) \"3\"\n CLOSE_PAREN: (2163..2164) \")\"\n CLOSE_PAREN: (2164..2165) \")\"\n CLOSE_PAREN: (2165..2166) \")\"\n ATMOSPHERE: (2166..2167) \"\n\"\n FORM: (2167..2188)\n OPEN_PAREN: (2167..2168) \"(\"\n SYMBOL: (2168..2175)\n IDENTIFIER: (2168..2175) \"display\"\n ATMOSPHERE: (2175..2176) \" \"\n FORM: (2176..2187)\n OPEN_PAREN: (2176..2177) \"(\"\n SYMBOL: (2177..2181)\n IDENTIFIER: (2177..2181) \"assq\"\n ATMOSPHERE: (2181..2182) \" \"\n QUOTED_DATUM: (2182..2185)\n QUOTE: (2182..2183) \"’\"\n SYMBOL: (2183..2184)\n IDENTIFIER: (2183..2184) \"a\"\n ATMOSPHERE: (2184..2185) \" \"\n SYMBOL: (2185..2186)\n IDENTIFIER: (2185..2186) \"e\"\n CLOSE_PAREN: (2186..2187) \")\"\n CLOSE_PAREN: (2187..2188) \")\"\n FORM: (2188..2197)\n OPEN_PAREN: (2188..2189) \"(\"\n SYMBOL: (2189..2196)\n IDENTIFIER: (2189..2196) \"newline\"\n CLOSE_PAREN: (2196..2197) \")\"\n ATMOSPHERE: (2197..2198) \" \"\n ATMOSPHERE: (2198..2208) \"; -> (a 1)\"\n ATMOSPHERE: (2208..2209) \"\n\"\n FORM: (2209..2230)\n OPEN_PAREN: (2209..2210) \"(\"\n SYMBOL: (2210..2217)\n IDENTIFIER: (2210..2217) \"display\"\n ATMOSPHERE: (2217..2218) \" \"\n FORM: (2218..2229)\n OPEN_PAREN: (2218..2219) \"(\"\n SYMBOL: (2219..2223)\n IDENTIFIER: (2219..2223) \"assq\"\n ATMOSPHERE: (2223..2224) \" \"\n QUOTED_DATUM: (2224..2227)\n QUOTE: (2224..2225) \"’\"\n SYMBOL: (2225..2226)\n IDENTIFIER: (2225..2226) \"b\"\n ATMOSPHERE: (2226..2227) \" \"\n SYMBOL: (2227..2228)\n IDENTIFIER: (2227..2228) \"e\"\n CLOSE_PAREN: (2228..2229) \")\"\n CLOSE_PAREN: (2229..2230) \")\"\n FORM: (2230..2239)\n OPEN_PAREN: (2230..2231) \"(\"\n SYMBOL: (2231..2238)\n IDENTIFIER: (2231..2238) \"newline\"\n CLOSE_PAREN: (2238..2239) \")\"\n ATMOSPHERE: (2239..2240) \" \"\n ATMOSPHERE: (2240..2250) \"; -> (b 2)\"\n ATMOSPHERE: (2250..2251) \"\n\"\n FORM: (2251..2272)\n OPEN_PAREN: (2251..2252) \"(\"\n SYMBOL: (2252..2259)\n IDENTIFIER: (2252..2259) \"display\"\n ATMOSPHERE: (2259..2260) \" \"\n FORM: (2260..2271)\n OPEN_PAREN: (2260..2261) \"(\"\n SYMBOL: (2261..2265)\n IDENTIFIER: (2261..2265) \"assq\"\n ATMOSPHERE: (2265..2266) \" \"\n QUOTED_DATUM: (2266..2269)\n QUOTE: (2266..2267) \"’\"\n SYMBOL: (2267..2268)\n IDENTIFIER: (2267..2268) \"d\"\n ATMOSPHERE: (2268..2269) \" \"\n SYMBOL: (2269..2270)\n IDENTIFIER: (2269..2270) \"e\"\n CLOSE_PAREN: (2270..2271) \")\"\n CLOSE_PAREN: (2271..2272) \")\"\n FORM: (2272..2281)\n OPEN_PAREN: (2272..2273) \"(\"\n SYMBOL: (2273..2280)\n IDENTIFIER: (2273..2280) \"newline\"\n CLOSE_PAREN: (2280..2281) \")\"\n ATMOSPHERE: (2281..2282) \" \"\n ATMOSPHERE: (2282..2289) \"; -> #f\"\n ATMOSPHERE: (2289..2290) \"\n\"\n FORM: (2290..2337)\n OPEN_PAREN: (2290..2291) \"(\"\n SYMBOL: (2291..2298)\n IDENTIFIER: (2291..2298) \"display\"\n ATMOSPHERE: (2298..2299) \" \"\n FORM: (2299..2336)\n OPEN_PAREN: (2299..2300) \"(\"\n SYMBOL: (2300..2304)\n IDENTIFIER: (2300..2304) \"assq\"\n ATMOSPHERE: (2304..2305) \" \"\n FORM: (2305..2314)\n OPEN_PAREN: (2305..2306) \"(\"\n SYMBOL: (2306..2310)\n IDENTIFIER: (2306..2310) \"list\"\n ATMOSPHERE: (2310..2311) \" \"\n QUOTED_DATUM: (2311..2313)\n QUOTE: (2311..2312) \"’\"\n SYMBOL: (2312..2313)\n IDENTIFIER: (2312..2313) \"a\"\n CLOSE_PAREN: (2313..2314) \")\"\n ATMOSPHERE: (2314..2315) \" \"\n QUOTED_DATUM: (2315..2335)\n QUOTE: (2315..2316) \"’\"\n FORM: (2316..2335)\n OPEN_PAREN: (2316..2317) \"(\"\n FORM: (2317..2322)\n OPEN_PAREN: (2317..2318) \"(\"\n FORM: (2318..2321)\n OPEN_PAREN: (2318..2319) \"(\"\n SYMBOL: (2319..2320)\n IDENTIFIER: (2319..2320) \"a\"\n CLOSE_PAREN: (2320..2321) \")\"\n CLOSE_PAREN: (2321..2322) \")\"\n ATMOSPHERE: (2322..2323) \" \"\n FORM: (2323..2328)\n OPEN_PAREN: (2323..2324) \"(\"\n FORM: (2324..2327)\n OPEN_PAREN: (2324..2325) \"(\"\n SYMBOL: (2325..2326)\n IDENTIFIER: (2325..2326) \"b\"\n CLOSE_PAREN: (2326..2327) \")\"\n CLOSE_PAREN: (2327..2328) \")\"\n ATMOSPHERE: (2328..2329) \" \"\n FORM: (2329..2334)\n OPEN_PAREN: (2329..2330) \"(\"\n FORM: (2330..2333)\n OPEN_PAREN: (2330..2331) \"(\"\n SYMBOL: (2331..2332)\n IDENTIFIER: (2331..2332) \"c\"\n CLOSE_PAREN: (2332..2333) \")\"\n CLOSE_PAREN: (2333..2334) \")\"\n CLOSE_PAREN: (2334..2335) \")\"\n CLOSE_PAREN: (2335..2336) \")\"\n CLOSE_PAREN: (2336..2337) \")\"\n FORM: (2337..2346)\n OPEN_PAREN: (2337..2338) \"(\"\n SYMBOL: (2338..2345)\n IDENTIFIER: (2338..2345) \"newline\"\n CLOSE_PAREN: (2345..2346) \")\"\n ATMOSPHERE: (2346..2347) \" \"\n ATMOSPHERE: (2347..2354) \"; -> #f\"\n ATMOSPHERE: (2354..2355) \"\n\"\n FORM: (2355..2403)\n OPEN_PAREN: (2355..2356) \"(\"\n SYMBOL: (2356..2363)\n IDENTIFIER: (2356..2363) \"display\"\n ATMOSPHERE: (2363..2364) \" \"\n FORM: (2364..2402)\n OPEN_PAREN: (2364..2365) \"(\"\n SYMBOL: (2365..2370)\n IDENTIFIER: (2365..2370) \"assoc\"\n ATMOSPHERE: (2370..2371) \" \"\n FORM: (2371..2380)\n OPEN_PAREN: (2371..2372) \"(\"\n SYMBOL: (2372..2376)\n IDENTIFIER: (2372..2376) \"list\"\n ATMOSPHERE: (2376..2377) \" \"\n QUOTED_DATUM: (2377..2379)\n QUOTE: (2377..2378) \"’\"\n SYMBOL: (2378..2379)\n IDENTIFIER: (2378..2379) \"a\"\n CLOSE_PAREN: (2379..2380) \")\"\n ATMOSPHERE: (2380..2381) \" \"\n QUOTED_DATUM: (2381..2401)\n QUOTE: (2381..2382) \"’\"\n FORM: (2382..2401)\n OPEN_PAREN: (2382..2383) \"(\"\n FORM: (2383..2388)\n OPEN_PAREN: (2383..2384) \"(\"\n FORM: (2384..2387)\n OPEN_PAREN: (2384..2385) \"(\"\n SYMBOL: (2385..2386)\n IDENTIFIER: (2385..2386) \"a\"\n CLOSE_PAREN: (2386..2387) \")\"\n CLOSE_PAREN: (2387..2388) \")\"\n ATMOSPHERE: (2388..2389) \" \"\n FORM: (2389..2394)\n OPEN_PAREN: (2389..2390) \"(\"\n FORM: (2390..2393)\n OPEN_PAREN: (2390..2391) \"(\"\n SYMBOL: (2391..2392)\n IDENTIFIER: (2391..2392) \"b\"\n CLOSE_PAREN: (2392..2393) \")\"\n CLOSE_PAREN: (2393..2394) \")\"\n ATMOSPHERE: (2394..2395) \" \"\n FORM: (2395..2400)\n OPEN_PAREN: (2395..2396) \"(\"\n FORM: (2396..2399)\n OPEN_PAREN: (2396..2397) \"(\"\n SYMBOL: (2397..2398)\n IDENTIFIER: (2397..2398) \"c\"\n CLOSE_PAREN: (2398..2399) \")\"\n CLOSE_PAREN: (2399..2400) \")\"\n CLOSE_PAREN: (2400..2401) \")\"\n CLOSE_PAREN: (2401..2402) \")\"\n CLOSE_PAREN: (2402..2403) \")\"\n FORM: (2403..2412)\n OPEN_PAREN: (2403..2404) \"(\"\n SYMBOL: (2404..2411)\n IDENTIFIER: (2404..2411) \"newline\"\n CLOSE_PAREN: (2411..2412) \")\"\n ATMOSPHERE: (2412..2413) \" \"\n ATMOSPHERE: (2413..2423) \"; -> ((a))\"\n ATMOSPHERE: (2423..2424) \"\n\"\n FORM: (2424..2468)\n OPEN_PAREN: (2424..2425) \"(\"\n SYMBOL: (2425..2432)\n IDENTIFIER: (2425..2432) \"display\"\n ATMOSPHERE: (2432..2433) \" \"\n FORM: (2433..2467)\n OPEN_PAREN: (2433..2434) \"(\"\n SYMBOL: (2434..2439)\n IDENTIFIER: (2434..2439) \"assoc\"\n ATMOSPHERE: (2439..2440) \" \"\n CONSTANT: (2440..2443)\n NUMBER: (2440..2443) \"2.0\"\n ATMOSPHERE: (2443..2444) \" \"\n QUOTED_DATUM: (2444..2465)\n QUOTE: (2444..2445) \"’\"\n FORM: (2445..2464)\n OPEN_PAREN: (2445..2446) \"(\"\n FORM: (2446..2451)\n OPEN_PAREN: (2446..2447) \"(\"\n CONSTANT: (2447..2448)\n NUMBER: (2447..2448) \"1\"\n ATMOSPHERE: (2448..2449) \" \"\n CONSTANT: (2449..2450)\n NUMBER: (2449..2450) \"1\"\n CLOSE_PAREN: (2450..2451) \")\"\n ATMOSPHERE: (2451..2452) \" \"\n FORM: (2452..2457)\n OPEN_PAREN: (2452..2453) \"(\"\n CONSTANT: (2453..2454)\n NUMBER: (2453..2454) \"2\"\n ATMOSPHERE: (2454..2455) \" \"\n CONSTANT: (2455..2456)\n NUMBER: (2455..2456) \"4\"\n CLOSE_PAREN: (2456..2457) \")\"\n ATMOSPHERE: (2457..2458) \" \"\n FORM: (2458..2463)\n OPEN_PAREN: (2458..2459) \"(\"\n CONSTANT: (2459..2460)\n NUMBER: (2459..2460) \"3\"\n ATMOSPHERE: (2460..2461) \" \"\n CONSTANT: (2461..2462)\n NUMBER: (2461..2462) \"9\"\n CLOSE_PAREN: (2462..2463) \")\"\n CLOSE_PAREN: (2463..2464) \")\"\n ATMOSPHERE: (2464..2465) \" \"\n SYMBOL: (2465..2466)\n IDENTIFIER: (2465..2466) \"=\"\n CLOSE_PAREN: (2466..2467) \")\"\n CLOSE_PAREN: (2467..2468) \")\"\n FORM: (2468..2477)\n OPEN_PAREN: (2468..2469) \"(\"\n SYMBOL: (2469..2476)\n IDENTIFIER: (2469..2476) \"newline\"\n CLOSE_PAREN: (2476..2477) \")\"\n ATMOSPHERE: (2477..2478) \" \"\n ATMOSPHERE: (2478..2488) \"; -> (2 4)\"\n ATMOSPHERE: (2488..2489) \"\n\"\n FORM: (2489..2530)\n OPEN_PAREN: (2489..2490) \"(\"\n SYMBOL: (2490..2497)\n IDENTIFIER: (2490..2497) \"display\"\n ATMOSPHERE: (2497..2498) \" \"\n FORM: (2498..2529)\n OPEN_PAREN: (2498..2499) \"(\"\n SYMBOL: (2499..2503)\n IDENTIFIER: (2499..2503) \"assq\"\n ATMOSPHERE: (2503..2504) \" \"\n CONSTANT: (2504..2505)\n NUMBER: (2504..2505) \"5\"\n ATMOSPHERE: (2505..2506) \" \"\n QUOTED_DATUM: (2506..2528)\n QUOTE: (2506..2507) \"’\"\n FORM: (2507..2528)\n OPEN_PAREN: (2507..2508) \"(\"\n FORM: (2508..2513)\n OPEN_PAREN: (2508..2509) \"(\"\n CONSTANT: (2509..2510)\n NUMBER: (2509..2510) \"2\"\n ATMOSPHERE: (2510..2511) \" \"\n CONSTANT: (2511..2512)\n NUMBER: (2511..2512) \"3\"\n CLOSE_PAREN: (2512..2513) \")\"\n ATMOSPHERE: (2513..2514) \" \"\n FORM: (2514..2519)\n OPEN_PAREN: (2514..2515) \"(\"\n CONSTANT: (2515..2516)\n NUMBER: (2515..2516) \"5\"\n ATMOSPHERE: (2516..2517) \" \"\n CONSTANT: (2517..2518)\n NUMBER: (2517..2518) \"7\"\n CLOSE_PAREN: (2518..2519) \")\"\n ATMOSPHERE: (2519..2520) \" \"\n FORM: (2520..2527)\n OPEN_PAREN: (2520..2521) \"(\"\n CONSTANT: (2521..2523)\n NUMBER: (2521..2523) \"11\"\n ATMOSPHERE: (2523..2524) \" \"\n CONSTANT: (2524..2526)\n NUMBER: (2524..2526) \"13\"\n CLOSE_PAREN: (2526..2527) \")\"\n CLOSE_PAREN: (2527..2528) \")\"\n CLOSE_PAREN: (2528..2529) \")\"\n CLOSE_PAREN: (2529..2530) \")\"\n FORM: (2530..2539)\n OPEN_PAREN: (2530..2531) \"(\"\n SYMBOL: (2531..2538)\n IDENTIFIER: (2531..2538) \"newline\"\n CLOSE_PAREN: (2538..2539) \")\"\n ATMOSPHERE: (2539..2540) \" \"\n ATMOSPHERE: (2540..2556) \"; -> unspecified\"\n ATMOSPHERE: (2556..2557) \"\n\"\n FORM: (2557..2598)\n OPEN_PAREN: (2557..2558) \"(\"\n SYMBOL: (2558..2565)\n IDENTIFIER: (2558..2565) \"display\"\n ATMOSPHERE: (2565..2566) \" \"\n FORM: (2566..2597)\n OPEN_PAREN: (2566..2567) \"(\"\n SYMBOL: (2567..2571)\n IDENTIFIER: (2567..2571) \"assv\"\n ATMOSPHERE: (2571..2572) \" \"\n CONSTANT: (2572..2573)\n NUMBER: (2572..2573) \"5\"\n ATMOSPHERE: (2573..2574) \" \"\n QUOTED_DATUM: (2574..2596)\n QUOTE: (2574..2575) \"’\"\n FORM: (2575..2596)\n OPEN_PAREN: (2575..2576) \"(\"\n FORM: (2576..2581)\n OPEN_PAREN: (2576..2577) \"(\"\n CONSTANT: (2577..2578)\n NUMBER: (2577..2578) \"2\"\n ATMOSPHERE: (2578..2579) \" \"\n CONSTANT: (2579..2580)\n NUMBER: (2579..2580) \"3\"\n CLOSE_PAREN: (2580..2581) \")\"\n ATMOSPHERE: (2581..2582) \" \"\n FORM: (2582..2587)\n OPEN_PAREN: (2582..2583) \"(\"\n CONSTANT: (2583..2584)\n NUMBER: (2583..2584) \"5\"\n ATMOSPHERE: (2584..2585) \" \"\n CONSTANT: (2585..2586)\n NUMBER: (2585..2586) \"7\"\n CLOSE_PAREN: (2586..2587) \")\"\n ATMOSPHERE: (2587..2588) \" \"\n FORM: (2588..2595)\n OPEN_PAREN: (2588..2589) \"(\"\n CONSTANT: (2589..2591)\n NUMBER: (2589..2591) \"11\"\n ATMOSPHERE: (2591..2592) \" \"\n CONSTANT: (2592..2594)\n NUMBER: (2592..2594) \"13\"\n CLOSE_PAREN: (2594..2595) \")\"\n CLOSE_PAREN: (2595..2596) \")\"\n CLOSE_PAREN: (2596..2597) \")\"\n CLOSE_PAREN: (2597..2598) \")\"\n FORM: (2598..2607)\n OPEN_PAREN: (2598..2599) \"(\"\n SYMBOL: (2599..2606)\n IDENTIFIER: (2599..2606) \"newline\"\n CLOSE_PAREN: (2606..2607) \")\"\n ATMOSPHERE: (2607..2608) \" \"\n ATMOSPHERE: (2608..2618) \"; -> (5 7)\"\n ATMOSPHERE: (2618..2619) \"\n\"\n EOF: (2619..2619) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_literals.scm.json b/test/Feersum.Tests/_snapshots/Parse_literals.scm.json index 182faf1..a5876d2 100644 --- a/test/Feersum.Tests/_snapshots/Parse_literals.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_literals.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..25)\n CONSTANT: (0..1)\n NUMBER: (0..1) \"1\"\n ATMOSPHERE: (1..2) \"\n\"\n CONSTANT: (2..15)\n STRING: (2..15) \"\"hello world\"\"\n ATMOSPHERE: (15..16) \"\n\"\n CONSTANT: (16..18)\n BOOLEAN: (16..18) \"#t\"\n ATMOSPHERE: (18..19) \"\n\"\n CONSTANT: (19..21)\n BOOLEAN: (19..21) \"#f\"\n ATMOSPHERE: (21..22) \"\n\"\n CONSTANT: (22..25)\n NUMBER: (22..25) \"123\"\n" + "Root": "PROGRAM: (0..25)\n CONSTANT: (0..1)\n NUMBER: (0..1) \"1\"\n ATMOSPHERE: (1..2) \"\n\"\n CONSTANT: (2..15)\n STRING: (2..15) \"\"hello world\"\"\n ATMOSPHERE: (15..16) \"\n\"\n CONSTANT: (16..18)\n BOOLEAN: (16..18) \"#t\"\n ATMOSPHERE: (18..19) \"\n\"\n CONSTANT: (19..21)\n BOOLEAN: (19..21) \"#f\"\n ATMOSPHERE: (21..22) \"\n\"\n CONSTANT: (22..25)\n NUMBER: (22..25) \"123\"\n EOF: (25..25) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json b/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json index 640defa..7caf8c6 100644 --- a/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..46)\n FORM: (0..16)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..11)\n IDENTIFIER: (8..11) \"foo\"\n ATMOSPHERE: (11..12) \" \"\n CONSTANT: (12..15)\n NUMBER: (12..15) \"100\"\n CLOSE_PAREN: (15..16) \")\"\n ATMOSPHERE: (16..17) \"\n\"\n FORM: (17..37)\n OPEN_PAREN: (17..18) \"(\"\n SYMBOL: (18..24)\n IDENTIFIER: (18..24) \"define\"\n ATMOSPHERE: (24..25) \" \"\n SYMBOL: (25..28)\n IDENTIFIER: (25..28) \"bar\"\n ATMOSPHERE: (28..29) \" \"\n CONSTANT: (29..36)\n STRING: (29..36) \"\"hello\"\"\n CLOSE_PAREN: (36..37) \")\"\n ATMOSPHERE: (37..38) \"\n\"\n SYMBOL: (38..41)\n IDENTIFIER: (38..41) \"foo\"\n ATMOSPHERE: (41..42) \"\n\"\n SYMBOL: (42..45)\n IDENTIFIER: (42..45) \"bar\"\n ATMOSPHERE: (45..46) \"\n\"\n" + "Root": "PROGRAM: (0..46)\n FORM: (0..16)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..11)\n IDENTIFIER: (8..11) \"foo\"\n ATMOSPHERE: (11..12) \" \"\n CONSTANT: (12..15)\n NUMBER: (12..15) \"100\"\n CLOSE_PAREN: (15..16) \")\"\n ATMOSPHERE: (16..17) \"\n\"\n FORM: (17..37)\n OPEN_PAREN: (17..18) \"(\"\n SYMBOL: (18..24)\n IDENTIFIER: (18..24) \"define\"\n ATMOSPHERE: (24..25) \" \"\n SYMBOL: (25..28)\n IDENTIFIER: (25..28) \"bar\"\n ATMOSPHERE: (28..29) \" \"\n CONSTANT: (29..36)\n STRING: (29..36) \"\"hello\"\"\n CLOSE_PAREN: (36..37) \")\"\n ATMOSPHERE: (37..38) \"\n\"\n SYMBOL: (38..41)\n IDENTIFIER: (38..41) \"foo\"\n ATMOSPHERE: (41..42) \"\n\"\n SYMBOL: (42..45)\n IDENTIFIER: (42..45) \"bar\"\n ATMOSPHERE: (45..46) \"\n\"\n EOF: (46..46) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_locals.scm.json b/test/Feersum.Tests/_snapshots/Parse_locals.scm.json index 1385d3d..03e4156 100644 --- a/test/Feersum.Tests/_snapshots/Parse_locals.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_locals.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..182)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..161)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..59)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"fact\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..58)\n IDENTIFIER: (57..58) \"n\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..64) \"\n \"\n FORM: (64..160)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..67)\n IDENTIFIER: (65..67) \"if\"\n ATMOSPHERE: (67..68) \" \"\n FORM: (68..75)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..70)\n IDENTIFIER: (69..70) \"=\"\n ATMOSPHERE: (70..71) \" \"\n SYMBOL: (71..72)\n IDENTIFIER: (71..72) \"n\"\n ATMOSPHERE: (72..73) \" \"\n CONSTANT: (73..74)\n NUMBER: (73..74) \"0\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..84) \"\n \"\n CONSTANT: (84..85)\n NUMBER: (84..85) \"1\"\n ATMOSPHERE: (85..94) \"\n \"\n FORM: (94..159)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..100)\n IDENTIFIER: (95..100) \"begin\"\n ATMOSPHERE: (100..113) \"\n \"\n FORM: (113..131)\n OPEN_PAREN: (113..114) \"(\"\n SYMBOL: (114..120)\n IDENTIFIER: (114..120) \"define\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"m\"\n ATMOSPHERE: (122..123) \" \"\n FORM: (123..130)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..125)\n IDENTIFIER: (124..125) \"-\"\n ATMOSPHERE: (125..126) \" \"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"n\"\n ATMOSPHERE: (127..128) \" \"\n CONSTANT: (128..129)\n NUMBER: (128..129) \"1\"\n CLOSE_PAREN: (129..130) \")\"\n CLOSE_PAREN: (130..131) \")\"\n ATMOSPHERE: (131..144) \"\n \"\n FORM: (144..158)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..146)\n IDENTIFIER: (145..146) \"*\"\n ATMOSPHERE: (146..147) \" \"\n SYMBOL: (147..148)\n IDENTIFIER: (147..148) \"n\"\n ATMOSPHERE: (148..149) \" \"\n FORM: (149..157)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..154)\n IDENTIFIER: (150..154) \"fact\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..156)\n IDENTIFIER: (155..156) \"m\"\n CLOSE_PAREN: (156..157) \")\"\n CLOSE_PAREN: (157..158) \")\"\n CLOSE_PAREN: (158..159) \")\"\n CLOSE_PAREN: (159..160) \")\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..163) \"\n\n\"\n FORM: (163..181)\n OPEN_PAREN: (163..164) \"(\"\n SYMBOL: (164..171)\n IDENTIFIER: (164..171) \"display\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..180)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..177)\n IDENTIFIER: (173..177) \"fact\"\n ATMOSPHERE: (177..178) \" \"\n CONSTANT: (178..179)\n NUMBER: (178..179) \"5\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..182) \" \"\n" + "Root": "PROGRAM: (0..182)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..161)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..59)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"fact\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..58)\n IDENTIFIER: (57..58) \"n\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..64) \"\n \"\n FORM: (64..160)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..67)\n IDENTIFIER: (65..67) \"if\"\n ATMOSPHERE: (67..68) \" \"\n FORM: (68..75)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..70)\n IDENTIFIER: (69..70) \"=\"\n ATMOSPHERE: (70..71) \" \"\n SYMBOL: (71..72)\n IDENTIFIER: (71..72) \"n\"\n ATMOSPHERE: (72..73) \" \"\n CONSTANT: (73..74)\n NUMBER: (73..74) \"0\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..84) \"\n \"\n CONSTANT: (84..85)\n NUMBER: (84..85) \"1\"\n ATMOSPHERE: (85..94) \"\n \"\n FORM: (94..159)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..100)\n IDENTIFIER: (95..100) \"begin\"\n ATMOSPHERE: (100..113) \"\n \"\n FORM: (113..131)\n OPEN_PAREN: (113..114) \"(\"\n SYMBOL: (114..120)\n IDENTIFIER: (114..120) \"define\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"m\"\n ATMOSPHERE: (122..123) \" \"\n FORM: (123..130)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..125)\n IDENTIFIER: (124..125) \"-\"\n ATMOSPHERE: (125..126) \" \"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"n\"\n ATMOSPHERE: (127..128) \" \"\n CONSTANT: (128..129)\n NUMBER: (128..129) \"1\"\n CLOSE_PAREN: (129..130) \")\"\n CLOSE_PAREN: (130..131) \")\"\n ATMOSPHERE: (131..144) \"\n \"\n FORM: (144..158)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..146)\n IDENTIFIER: (145..146) \"*\"\n ATMOSPHERE: (146..147) \" \"\n SYMBOL: (147..148)\n IDENTIFIER: (147..148) \"n\"\n ATMOSPHERE: (148..149) \" \"\n FORM: (149..157)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..154)\n IDENTIFIER: (150..154) \"fact\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..156)\n IDENTIFIER: (155..156) \"m\"\n CLOSE_PAREN: (156..157) \")\"\n CLOSE_PAREN: (157..158) \")\"\n CLOSE_PAREN: (158..159) \")\"\n CLOSE_PAREN: (159..160) \")\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..163) \"\n\n\"\n FORM: (163..181)\n OPEN_PAREN: (163..164) \"(\"\n SYMBOL: (164..171)\n IDENTIFIER: (164..171) \"display\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..180)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..177)\n IDENTIFIER: (173..177) \"fact\"\n ATMOSPHERE: (177..178) \" \"\n CONSTANT: (178..179)\n NUMBER: (178..179) \"5\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..182) \" \"\n EOF: (182..182) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json b/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json index eb90382..a4a3f75 100644 --- a/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..81)\n FORM: (0..14)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..13)\n IDENTIFIER: (8..13) \"world\"\n CLOSE_PAREN: (13..14) \")\"\n ATMOSPHERE: (14..15) \"\n\"\n FORM: (15..39)\n OPEN_PAREN: (15..16) \"(\"\n SYMBOL: (16..22)\n IDENTIFIER: (16..22) \"define\"\n ATMOSPHERE: (22..23) \" \"\n FORM: (23..30)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..29)\n IDENTIFIER: (24..29) \"hello\"\n CLOSE_PAREN: (29..30) \")\"\n ATMOSPHERE: (30..31) \" \"\n FORM: (31..38)\n OPEN_PAREN: (31..32) \"(\"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"world\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..72)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..45)\n IDENTIFIER: (41..45) \"set!\"\n ATMOSPHERE: (45..46) \" \"\n SYMBOL: (46..51)\n IDENTIFIER: (46..51) \"world\"\n ATMOSPHERE: (51..52) \" \"\n FORM: (52..71)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..59)\n IDENTIFIER: (53..59) \"lambda\"\n ATMOSPHERE: (59..60) \" \"\n FORM: (60..62)\n OPEN_PAREN: (60..61) \"(\"\n CLOSE_PAREN: (61..62) \")\"\n ATMOSPHERE: (62..63) \" \"\n FORM: (63..70)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..69)\n IDENTIFIER: (64..69) \"hello\"\n CLOSE_PAREN: (69..70) \")\"\n CLOSE_PAREN: (70..71) \")\"\n CLOSE_PAREN: (71..72) \")\"\n ATMOSPHERE: (72..73) \"\n\"\n FORM: (73..80)\n OPEN_PAREN: (73..74) \"(\"\n SYMBOL: (74..79)\n IDENTIFIER: (74..79) \"hello\"\n CLOSE_PAREN: (79..80) \")\"\n ATMOSPHERE: (80..81) \"\n\"\n" + "Root": "PROGRAM: (0..81)\n FORM: (0..14)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..13)\n IDENTIFIER: (8..13) \"world\"\n CLOSE_PAREN: (13..14) \")\"\n ATMOSPHERE: (14..15) \"\n\"\n FORM: (15..39)\n OPEN_PAREN: (15..16) \"(\"\n SYMBOL: (16..22)\n IDENTIFIER: (16..22) \"define\"\n ATMOSPHERE: (22..23) \" \"\n FORM: (23..30)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..29)\n IDENTIFIER: (24..29) \"hello\"\n CLOSE_PAREN: (29..30) \")\"\n ATMOSPHERE: (30..31) \" \"\n FORM: (31..38)\n OPEN_PAREN: (31..32) \"(\"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"world\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..72)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..45)\n IDENTIFIER: (41..45) \"set!\"\n ATMOSPHERE: (45..46) \" \"\n SYMBOL: (46..51)\n IDENTIFIER: (46..51) \"world\"\n ATMOSPHERE: (51..52) \" \"\n FORM: (52..71)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..59)\n IDENTIFIER: (53..59) \"lambda\"\n ATMOSPHERE: (59..60) \" \"\n FORM: (60..62)\n OPEN_PAREN: (60..61) \"(\"\n CLOSE_PAREN: (61..62) \")\"\n ATMOSPHERE: (62..63) \" \"\n FORM: (63..70)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..69)\n IDENTIFIER: (64..69) \"hello\"\n CLOSE_PAREN: (69..70) \")\"\n CLOSE_PAREN: (70..71) \")\"\n CLOSE_PAREN: (71..72) \")\"\n ATMOSPHERE: (72..73) \"\n\"\n FORM: (73..80)\n OPEN_PAREN: (73..74) \"(\"\n SYMBOL: (74..79)\n IDENTIFIER: (74..79) \"hello\"\n CLOSE_PAREN: (79..80) \")\"\n ATMOSPHERE: (80..81) \"\n\"\n EOF: (81..81) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_null.scm.json b/test/Feersum.Tests/_snapshots/Parse_null.scm.json index 85d9f1e..8cacfd3 100644 --- a/test/Feersum.Tests/_snapshots/Parse_null.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_null.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..2)\n FORM: (0..2)\n OPEN_PAREN: (0..1) \"(\"\n CLOSE_PAREN: (1..2) \")\"\n" + "Root": "PROGRAM: (0..2)\n FORM: (0..2)\n OPEN_PAREN: (0..1) \"(\"\n CLOSE_PAREN: (1..2) \")\"\n EOF: (2..2) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json b/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json index 5cd5379..58aeda3 100644 --- a/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..97)\n FORM: (0..24)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..17)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..12)\n IDENTIFIER: (9..12) \"foo\"\n ATMOSPHERE: (12..13) \" \"\n SYMBOL: (13..14)\n IDENTIFIER: (13..14) \"a\"\n ATMOSPHERE: (14..15) \" \"\n SYMBOL: (15..16)\n IDENTIFIER: (15..16) \"b\"\n CLOSE_PAREN: (16..17) \")\"\n ATMOSPHERE: (17..22) \"\n \"\n SYMBOL: (22..23)\n IDENTIFIER: (22..23) \"b\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..25) \"\n\"\n FORM: (25..51)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"define\"\n ATMOSPHERE: (32..33) \" \"\n FORM: (33..44)\n OPEN_PAREN: (33..34) \"(\"\n SYMBOL: (34..37)\n IDENTIFIER: (34..37) \"bar\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..39)\n IDENTIFIER: (38..39) \"a\"\n ATMOSPHERE: (39..40) \" \"\n SYMBOL: (40..41)\n IDENTIFIER: (40..41) \"b\"\n ATMOSPHERE: (41..42) \" \"\n SYMBOL: (42..43)\n IDENTIFIER: (42..43) \"c\"\n CLOSE_PAREN: (43..44) \")\"\n ATMOSPHERE: (44..49) \"\n \"\n SYMBOL: (49..50)\n IDENTIFIER: (49..50) \"a\"\n CLOSE_PAREN: (50..51) \")\"\n ATMOSPHERE: (51..52) \"\n\"\n ATMOSPHERE: (52..71) \"; should return 101\"\n ATMOSPHERE: (71..72) \"\n\"\n FORM: (72..97)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..76)\n IDENTIFIER: (73..76) \"bar\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..90)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..81)\n IDENTIFIER: (78..81) \"foo\"\n ATMOSPHERE: (81..82) \" \"\n CONSTANT: (82..85)\n NUMBER: (82..85) \"123\"\n ATMOSPHERE: (85..86) \" \"\n CONSTANT: (86..89)\n NUMBER: (86..89) \"101\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \" \"\n CONSTANT: (91..93)\n NUMBER: (91..93) \"78\"\n ATMOSPHERE: (93..94) \" \"\n CONSTANT: (94..96)\n NUMBER: (94..96) \"90\"\n CLOSE_PAREN: (96..97) \")\"\n" + "Root": "PROGRAM: (0..97)\n FORM: (0..24)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..17)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..12)\n IDENTIFIER: (9..12) \"foo\"\n ATMOSPHERE: (12..13) \" \"\n SYMBOL: (13..14)\n IDENTIFIER: (13..14) \"a\"\n ATMOSPHERE: (14..15) \" \"\n SYMBOL: (15..16)\n IDENTIFIER: (15..16) \"b\"\n CLOSE_PAREN: (16..17) \")\"\n ATMOSPHERE: (17..22) \"\n \"\n SYMBOL: (22..23)\n IDENTIFIER: (22..23) \"b\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..25) \"\n\"\n FORM: (25..51)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"define\"\n ATMOSPHERE: (32..33) \" \"\n FORM: (33..44)\n OPEN_PAREN: (33..34) \"(\"\n SYMBOL: (34..37)\n IDENTIFIER: (34..37) \"bar\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..39)\n IDENTIFIER: (38..39) \"a\"\n ATMOSPHERE: (39..40) \" \"\n SYMBOL: (40..41)\n IDENTIFIER: (40..41) \"b\"\n ATMOSPHERE: (41..42) \" \"\n SYMBOL: (42..43)\n IDENTIFIER: (42..43) \"c\"\n CLOSE_PAREN: (43..44) \")\"\n ATMOSPHERE: (44..49) \"\n \"\n SYMBOL: (49..50)\n IDENTIFIER: (49..50) \"a\"\n CLOSE_PAREN: (50..51) \")\"\n ATMOSPHERE: (51..52) \"\n\"\n ATMOSPHERE: (52..71) \"; should return 101\"\n ATMOSPHERE: (71..72) \"\n\"\n FORM: (72..97)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..76)\n IDENTIFIER: (73..76) \"bar\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..90)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..81)\n IDENTIFIER: (78..81) \"foo\"\n ATMOSPHERE: (81..82) \" \"\n CONSTANT: (82..85)\n NUMBER: (82..85) \"123\"\n ATMOSPHERE: (85..86) \" \"\n CONSTANT: (86..89)\n NUMBER: (86..89) \"101\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \" \"\n CONSTANT: (91..93)\n NUMBER: (91..93) \"78\"\n ATMOSPHERE: (93..94) \" \"\n CONSTANT: (94..96)\n NUMBER: (94..96) \"90\"\n CLOSE_PAREN: (96..97) \")\"\n EOF: (97..97) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json b/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json index 1742ae8..05e90fa 100644 --- a/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..199)\n FORM: (0..66)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..32)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..31)\n IDENTIFIER: (16..31) \"process-context\"\n CLOSE_PAREN: (31..32) \")\"\n ATMOSPHERE: (32..35) \"\n \"\n FORM: (35..48)\n OPEN_PAREN: (35..36) \"(\"\n SYMBOL: (36..42)\n IDENTIFIER: (36..42) \"scheme\"\n ATMOSPHERE: (42..43) \" \"\n SYMBOL: (43..47)\n IDENTIFIER: (43..47) \"base\"\n CLOSE_PAREN: (47..48) \")\"\n ATMOSPHERE: (48..51) \"\n \"\n FORM: (51..65)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..58)\n IDENTIFIER: (52..58) \"scheme\"\n ATMOSPHERE: (58..59) \" \"\n SYMBOL: (59..64)\n IDENTIFIER: (59..64) \"write\"\n CLOSE_PAREN: (64..65) \")\"\n CLOSE_PAREN: (65..66) \")\"\n ATMOSPHERE: (66..68) \"\n\n\"\n FORM: (68..122)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..76)\n IDENTIFIER: (69..76) \"display\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..121)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..102)\n IDENTIFIER: (78..102) \"get-environment-variable\"\n ATMOSPHERE: (102..103) \" \"\n CONSTANT: (103..120)\n STRING: (103..120) \"\"FEERSUM_TESTING\"\"\n CLOSE_PAREN: (120..121) \")\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..123) \"\n\"\n FORM: (123..186)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..131)\n IDENTIFIER: (124..131) \"display\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..185)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..138)\n IDENTIFIER: (133..138) \"assoc\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..156)\n STRING: (139..156) \"\"FEERSUM_TESTING\"\"\n ATMOSPHERE: (156..157) \" \"\n FORM: (157..184)\n OPEN_PAREN: (157..158) \"(\"\n SYMBOL: (158..183)\n IDENTIFIER: (158..183) \"get-environment-variables\"\n CLOSE_PAREN: (183..184) \")\"\n CLOSE_PAREN: (184..185) \")\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..188) \"\n\n\"\n FORM: (188..198)\n OPEN_PAREN: (188..189) \"(\"\n SYMBOL: (189..193)\n IDENTIFIER: (189..193) \"exit\"\n ATMOSPHERE: (193..194) \" \"\n CONSTANT: (194..197)\n NUMBER: (194..197) \"123\"\n CLOSE_PAREN: (197..198) \")\"\n ATMOSPHERE: (198..199) \"\n\"\n" + "Root": "PROGRAM: (0..199)\n FORM: (0..66)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..32)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..31)\n IDENTIFIER: (16..31) \"process-context\"\n CLOSE_PAREN: (31..32) \")\"\n ATMOSPHERE: (32..35) \"\n \"\n FORM: (35..48)\n OPEN_PAREN: (35..36) \"(\"\n SYMBOL: (36..42)\n IDENTIFIER: (36..42) \"scheme\"\n ATMOSPHERE: (42..43) \" \"\n SYMBOL: (43..47)\n IDENTIFIER: (43..47) \"base\"\n CLOSE_PAREN: (47..48) \")\"\n ATMOSPHERE: (48..51) \"\n \"\n FORM: (51..65)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..58)\n IDENTIFIER: (52..58) \"scheme\"\n ATMOSPHERE: (58..59) \" \"\n SYMBOL: (59..64)\n IDENTIFIER: (59..64) \"write\"\n CLOSE_PAREN: (64..65) \")\"\n CLOSE_PAREN: (65..66) \")\"\n ATMOSPHERE: (66..68) \"\n\n\"\n FORM: (68..122)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..76)\n IDENTIFIER: (69..76) \"display\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..121)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..102)\n IDENTIFIER: (78..102) \"get-environment-variable\"\n ATMOSPHERE: (102..103) \" \"\n CONSTANT: (103..120)\n STRING: (103..120) \"\"FEERSUM_TESTING\"\"\n CLOSE_PAREN: (120..121) \")\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..123) \"\n\"\n FORM: (123..186)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..131)\n IDENTIFIER: (124..131) \"display\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..185)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..138)\n IDENTIFIER: (133..138) \"assoc\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..156)\n STRING: (139..156) \"\"FEERSUM_TESTING\"\"\n ATMOSPHERE: (156..157) \" \"\n FORM: (157..184)\n OPEN_PAREN: (157..158) \"(\"\n SYMBOL: (158..183)\n IDENTIFIER: (158..183) \"get-environment-variables\"\n CLOSE_PAREN: (183..184) \")\"\n CLOSE_PAREN: (184..185) \")\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..188) \"\n\n\"\n FORM: (188..198)\n OPEN_PAREN: (188..189) \"(\"\n SYMBOL: (189..193)\n IDENTIFIER: (189..193) \"exit\"\n ATMOSPHERE: (193..194) \" \"\n CONSTANT: (194..197)\n NUMBER: (194..197) \"123\"\n CLOSE_PAREN: (197..198) \")\"\n ATMOSPHERE: (198..199) \"\n\"\n EOF: (199..199) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json b/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json index cbbe789..512f9a9 100644 --- a/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..2752)\n ATMOSPHERE: (0..26) \";; Sorting library example\"\n ATMOSPHERE: (26..27) \"\n\"\n FORM: (27..2545)\n OPEN_PAREN: (27..28) \"(\"\n SYMBOL: (28..42)\n IDENTIFIER: (28..42) \"define-library\"\n ATMOSPHERE: (42..43) \" \"\n FORM: (43..49)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..48)\n IDENTIFIER: (44..48) \"sort\"\n CLOSE_PAREN: (48..49) \")\"\n ATMOSPHERE: (49..54) \"\n \"\n FORM: (54..258)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..61)\n IDENTIFIER: (55..61) \"import\"\n ATMOSPHERE: (61..62) \" \"\n FORM: (62..75)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..69)\n IDENTIFIER: (63..69) \"scheme\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..74)\n IDENTIFIER: (70..74) \"base\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..84) \"\n \"\n ATMOSPHERE: (84..151) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (151..160) \"\n \"\n ATMOSPHERE: (160..224) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (224..233) \"\n \"\n FORM: (233..257)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..241)\n IDENTIFIER: (234..241) \"feersum\"\n ATMOSPHERE: (241..242) \" \"\n SYMBOL: (242..249)\n IDENTIFIER: (242..249) \"builtin\"\n ATMOSPHERE: (249..250) \" \"\n SYMBOL: (250..256)\n IDENTIFIER: (250..256) \"macros\"\n CLOSE_PAREN: (256..257) \")\"\n CLOSE_PAREN: (257..258) \")\"\n ATMOSPHERE: (258..263) \"\n \"\n FORM: (263..291)\n OPEN_PAREN: (263..264) \"(\"\n SYMBOL: (264..270)\n IDENTIFIER: (264..270) \"export\"\n ATMOSPHERE: (270..271) \" \"\n FORM: (271..290)\n OPEN_PAREN: (271..272) \"(\"\n SYMBOL: (272..278)\n IDENTIFIER: (272..278) \"rename\"\n ATMOSPHERE: (278..279) \" \"\n SYMBOL: (279..284)\n IDENTIFIER: (279..284) \"qsort\"\n ATMOSPHERE: (284..285) \" \"\n SYMBOL: (285..289)\n IDENTIFIER: (285..289) \"sort\"\n CLOSE_PAREN: (289..290) \")\"\n CLOSE_PAREN: (290..291) \")\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..2544)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..302)\n IDENTIFIER: (297..302) \"begin\"\n ATMOSPHERE: (302..311) \"\n \"\n ATMOSPHERE: (311..332) \";; Partition Utitlity\"\n ATMOSPHERE: (332..341) \"\n \"\n ATMOSPHERE: (341..342) \";\"\n ATMOSPHERE: (342..351) \"\n \"\n ATMOSPHERE: (351..422) \"; This function takes a given `lst` and partitions it around a `pivot`.\"\n ATMOSPHERE: (422..431) \"\n \"\n ATMOSPHERE: (431..503) \"; The result is a list who's `car` is a list containing the numbers less\"\n ATMOSPHERE: (503..512) \"\n \"\n ATMOSPHERE: (512..583) \"; than the pivot, and `cdr` is a list containing those greater than the\"\n ATMOSPHERE: (583..592) \"\n \"\n ATMOSPHERE: (592..600) \"; pivot.\"\n ATMOSPHERE: (600..609) \"\n \"\n FORM: (609..1024)\n OPEN_PAREN: (609..610) \"(\"\n SYMBOL: (610..616)\n IDENTIFIER: (610..616) \"define\"\n ATMOSPHERE: (616..617) \" \"\n FORM: (617..638)\n OPEN_PAREN: (617..618) \"(\"\n SYMBOL: (618..627)\n IDENTIFIER: (618..627) \"partition\"\n ATMOSPHERE: (627..628) \" \"\n SYMBOL: (628..633)\n IDENTIFIER: (628..633) \"pivot\"\n ATMOSPHERE: (633..634) \" \"\n SYMBOL: (634..637)\n IDENTIFIER: (634..637) \"lst\"\n CLOSE_PAREN: (637..638) \")\"\n ATMOSPHERE: (638..651) \"\n \"\n FORM: (651..1023)\n OPEN_PAREN: (651..652) \"(\"\n SYMBOL: (652..654)\n IDENTIFIER: (652..654) \"if\"\n ATMOSPHERE: (654..655) \" \"\n FORM: (655..666)\n OPEN_PAREN: (655..656) \"(\"\n SYMBOL: (656..661)\n IDENTIFIER: (656..661) \"null?\"\n ATMOSPHERE: (661..662) \" \"\n SYMBOL: (662..665)\n IDENTIFIER: (662..665) \"lst\"\n CLOSE_PAREN: (665..666) \")\"\n ATMOSPHERE: (666..683) \"\n \"\n QUOTED_DATUM: (683..705)\n QUOTE: (683..684) \"'\"\n FORM: (684..688)\n OPEN_PAREN: (684..685) \"(\"\n FORM: (685..687)\n OPEN_PAREN: (685..686) \"(\"\n CLOSE_PAREN: (686..687) \")\"\n CLOSE_PAREN: (687..688) \")\"\n ATMOSPHERE: (688..705) \"\n \"\n FORM: (705..1022)\n OPEN_PAREN: (705..706) \"(\"\n SYMBOL: (706..709)\n IDENTIFIER: (706..709) \"let\"\n ATMOSPHERE: (709..710) \" \"\n FORM: (710..786)\n OPEN_PAREN: (710..711) \"(\"\n FORM: (711..730)\n OPEN_PAREN: (711..712) \"(\"\n SYMBOL: (712..719)\n IDENTIFIER: (712..719) \"current\"\n ATMOSPHERE: (719..720) \" \"\n FORM: (720..729)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..724)\n IDENTIFIER: (721..724) \"car\"\n ATMOSPHERE: (724..725) \" \"\n SYMBOL: (725..728)\n IDENTIFIER: (725..728) \"lst\"\n CLOSE_PAREN: (728..729) \")\"\n CLOSE_PAREN: (729..730) \")\"\n ATMOSPHERE: (730..751) \"\n \"\n FORM: (751..785)\n OPEN_PAREN: (751..752) \"(\"\n SYMBOL: (752..756)\n IDENTIFIER: (752..756) \"rest\"\n ATMOSPHERE: (756..757) \" \"\n FORM: (757..784)\n OPEN_PAREN: (757..758) \"(\"\n SYMBOL: (758..767)\n IDENTIFIER: (758..767) \"partition\"\n ATMOSPHERE: (767..768) \" \"\n SYMBOL: (768..773)\n IDENTIFIER: (768..773) \"pivot\"\n ATMOSPHERE: (773..774) \" \"\n FORM: (774..783)\n OPEN_PAREN: (774..775) \"(\"\n SYMBOL: (775..778)\n IDENTIFIER: (775..778) \"cdr\"\n ATMOSPHERE: (778..779) \" \"\n SYMBOL: (779..782)\n IDENTIFIER: (779..782) \"lst\"\n CLOSE_PAREN: (782..783) \")\"\n CLOSE_PAREN: (783..784) \")\"\n CLOSE_PAREN: (784..785) \")\"\n CLOSE_PAREN: (785..786) \")\"\n ATMOSPHERE: (786..807) \"\n \"\n FORM: (807..1021)\n OPEN_PAREN: (807..808) \"(\"\n SYMBOL: (808..810)\n IDENTIFIER: (808..810) \"if\"\n ATMOSPHERE: (810..811) \" \"\n FORM: (811..828)\n OPEN_PAREN: (811..812) \"(\"\n SYMBOL: (812..813)\n IDENTIFIER: (812..813) \"<\"\n ATMOSPHERE: (813..814) \" \"\n SYMBOL: (814..821)\n IDENTIFIER: (814..821) \"current\"\n ATMOSPHERE: (821..822) \" \"\n SYMBOL: (822..827)\n IDENTIFIER: (822..827) \"pivot\"\n CLOSE_PAREN: (827..828) \")\"\n ATMOSPHERE: (828..853) \"\n \"\n FORM: (853..924)\n OPEN_PAREN: (853..854) \"(\"\n SYMBOL: (854..858)\n IDENTIFIER: (854..858) \"cons\"\n ATMOSPHERE: (858..859) \" \"\n FORM: (859..884)\n OPEN_PAREN: (859..860) \"(\"\n SYMBOL: (860..864)\n IDENTIFIER: (860..864) \"cons\"\n ATMOSPHERE: (864..865) \" \"\n SYMBOL: (865..872)\n IDENTIFIER: (865..872) \"current\"\n ATMOSPHERE: (872..873) \" \"\n FORM: (873..883)\n OPEN_PAREN: (873..874) \"(\"\n SYMBOL: (874..877)\n IDENTIFIER: (874..877) \"car\"\n ATMOSPHERE: (877..878) \" \"\n SYMBOL: (878..882)\n IDENTIFIER: (878..882) \"rest\"\n CLOSE_PAREN: (882..883) \")\"\n CLOSE_PAREN: (883..884) \")\"\n ATMOSPHERE: (884..913) \"\n \"\n FORM: (913..923)\n OPEN_PAREN: (913..914) \"(\"\n SYMBOL: (914..917)\n IDENTIFIER: (914..917) \"cdr\"\n ATMOSPHERE: (917..918) \" \"\n SYMBOL: (918..922)\n IDENTIFIER: (918..922) \"rest\"\n CLOSE_PAREN: (922..923) \")\"\n CLOSE_PAREN: (923..924) \")\"\n ATMOSPHERE: (924..949) \"\n \"\n FORM: (949..1020)\n OPEN_PAREN: (949..950) \"(\"\n SYMBOL: (950..954)\n IDENTIFIER: (950..954) \"cons\"\n ATMOSPHERE: (954..955) \" \"\n FORM: (955..965)\n OPEN_PAREN: (955..956) \"(\"\n SYMBOL: (956..959)\n IDENTIFIER: (956..959) \"car\"\n ATMOSPHERE: (959..960) \" \"\n SYMBOL: (960..964)\n IDENTIFIER: (960..964) \"rest\"\n CLOSE_PAREN: (964..965) \")\"\n ATMOSPHERE: (965..994) \"\n \"\n FORM: (994..1019)\n OPEN_PAREN: (994..995) \"(\"\n SYMBOL: (995..999)\n IDENTIFIER: (995..999) \"cons\"\n ATMOSPHERE: (999..1000) \" \"\n SYMBOL: (1000..1007)\n IDENTIFIER: (1000..1007) \"current\"\n ATMOSPHERE: (1007..1008) \" \"\n FORM: (1008..1018)\n OPEN_PAREN: (1008..1009) \"(\"\n SYMBOL: (1009..1012)\n IDENTIFIER: (1009..1012) \"cdr\"\n ATMOSPHERE: (1012..1013) \" \"\n SYMBOL: (1013..1017)\n IDENTIFIER: (1013..1017) \"rest\"\n CLOSE_PAREN: (1017..1018) \")\"\n CLOSE_PAREN: (1018..1019) \")\"\n CLOSE_PAREN: (1019..1020) \")\"\n CLOSE_PAREN: (1020..1021) \")\"\n CLOSE_PAREN: (1021..1022) \")\"\n CLOSE_PAREN: (1022..1023) \")\"\n CLOSE_PAREN: (1023..1024) \")\"\n ATMOSPHERE: (1024..1034) \"\n\n \"\n ATMOSPHERE: (1034..1079) \";; Append the `right` list to the `left` one.\"\n ATMOSPHERE: (1079..1088) \"\n \"\n ATMOSPHERE: (1088..1089) \";\"\n ATMOSPHERE: (1089..1098) \"\n \"\n ATMOSPHERE: (1098..1170) \"; This function uses two helpers to tail-recursively reconstruct a list.\"\n ATMOSPHERE: (1170..1179) \"\n \"\n ATMOSPHERE: (1179..1247) \"; The `append-helper` first recurses moving elements from the `left`\"\n ATMOSPHERE: (1247..1256) \"\n \"\n ATMOSPHERE: (1256..1327) \"; list into the accumuulator. Once the left list is empty the base case\"\n ATMOSPHERE: (1327..1336) \"\n \"\n ATMOSPHERE: (1336..1398) \"; uses `rebuild` to tail-recursively construct the final list.\"\n ATMOSPHERE: (1398..1407) \"\n \"\n FORM: (1407..1890)\n OPEN_PAREN: (1407..1408) \"(\"\n SYMBOL: (1408..1414)\n IDENTIFIER: (1408..1414) \"define\"\n ATMOSPHERE: (1414..1415) \" \"\n FORM: (1415..1434)\n OPEN_PAREN: (1415..1416) \"(\"\n SYMBOL: (1416..1422)\n IDENTIFIER: (1416..1422) \"append\"\n ATMOSPHERE: (1422..1423) \" \"\n SYMBOL: (1423..1427)\n IDENTIFIER: (1423..1427) \"left\"\n ATMOSPHERE: (1427..1428) \" \"\n SYMBOL: (1428..1433)\n IDENTIFIER: (1428..1433) \"right\"\n CLOSE_PAREN: (1433..1434) \")\"\n ATMOSPHERE: (1434..1447) \"\n \"\n FORM: (1447..1597)\n OPEN_PAREN: (1447..1448) \"(\"\n SYMBOL: (1448..1454)\n IDENTIFIER: (1448..1454) \"define\"\n ATMOSPHERE: (1454..1455) \" \"\n FORM: (1455..1474)\n OPEN_PAREN: (1455..1456) \"(\"\n SYMBOL: (1456..1463)\n IDENTIFIER: (1456..1463) \"rebuild\"\n ATMOSPHERE: (1463..1464) \" \"\n SYMBOL: (1464..1467)\n IDENTIFIER: (1464..1467) \"acc\"\n ATMOSPHERE: (1467..1468) \" \"\n SYMBOL: (1468..1473)\n IDENTIFIER: (1468..1473) \"right\"\n CLOSE_PAREN: (1473..1474) \")\"\n ATMOSPHERE: (1474..1491) \"\n \"\n FORM: (1491..1596)\n OPEN_PAREN: (1491..1492) \"(\"\n SYMBOL: (1492..1494)\n IDENTIFIER: (1492..1494) \"if\"\n ATMOSPHERE: (1494..1495) \" \"\n FORM: (1495..1506)\n OPEN_PAREN: (1495..1496) \"(\"\n SYMBOL: (1496..1501)\n IDENTIFIER: (1496..1501) \"null?\"\n ATMOSPHERE: (1501..1502) \" \"\n SYMBOL: (1502..1505)\n IDENTIFIER: (1502..1505) \"acc\"\n CLOSE_PAREN: (1505..1506) \")\"\n ATMOSPHERE: (1506..1527) \"\n \"\n SYMBOL: (1527..1532)\n IDENTIFIER: (1527..1532) \"right\"\n ATMOSPHERE: (1532..1553) \"\n \"\n FORM: (1553..1595)\n OPEN_PAREN: (1553..1554) \"(\"\n SYMBOL: (1554..1561)\n IDENTIFIER: (1554..1561) \"rebuild\"\n ATMOSPHERE: (1561..1562) \" \"\n FORM: (1562..1571)\n OPEN_PAREN: (1562..1563) \"(\"\n SYMBOL: (1563..1566)\n IDENTIFIER: (1563..1566) \"cdr\"\n ATMOSPHERE: (1566..1567) \" \"\n SYMBOL: (1567..1570)\n IDENTIFIER: (1567..1570) \"acc\"\n CLOSE_PAREN: (1570..1571) \")\"\n ATMOSPHERE: (1571..1572) \" \"\n FORM: (1572..1594)\n OPEN_PAREN: (1572..1573) \"(\"\n SYMBOL: (1573..1577)\n IDENTIFIER: (1573..1577) \"cons\"\n ATMOSPHERE: (1577..1578) \" \"\n FORM: (1578..1587)\n OPEN_PAREN: (1578..1579) \"(\"\n SYMBOL: (1579..1582)\n IDENTIFIER: (1579..1582) \"car\"\n ATMOSPHERE: (1582..1583) \" \"\n SYMBOL: (1583..1586)\n IDENTIFIER: (1583..1586) \"acc\"\n CLOSE_PAREN: (1586..1587) \")\"\n ATMOSPHERE: (1587..1588) \" \"\n SYMBOL: (1588..1593)\n IDENTIFIER: (1588..1593) \"right\"\n CLOSE_PAREN: (1593..1594) \")\"\n CLOSE_PAREN: (1594..1595) \")\"\n CLOSE_PAREN: (1595..1596) \")\"\n CLOSE_PAREN: (1596..1597) \")\"\n ATMOSPHERE: (1597..1610) \"\n \"\n FORM: (1610..1846)\n OPEN_PAREN: (1610..1611) \"(\"\n SYMBOL: (1611..1617)\n IDENTIFIER: (1611..1617) \"define\"\n ATMOSPHERE: (1617..1618) \" \"\n FORM: (1618..1648)\n OPEN_PAREN: (1618..1619) \"(\"\n SYMBOL: (1619..1632)\n IDENTIFIER: (1619..1632) \"append-helper\"\n ATMOSPHERE: (1632..1633) \" \"\n SYMBOL: (1633..1636)\n IDENTIFIER: (1633..1636) \"acc\"\n ATMOSPHERE: (1636..1637) \" \"\n SYMBOL: (1637..1641)\n IDENTIFIER: (1637..1641) \"left\"\n ATMOSPHERE: (1641..1642) \" \"\n SYMBOL: (1642..1647)\n IDENTIFIER: (1642..1647) \"right\"\n CLOSE_PAREN: (1647..1648) \")\"\n ATMOSPHERE: (1648..1665) \"\n \"\n FORM: (1665..1845)\n OPEN_PAREN: (1665..1666) \"(\"\n SYMBOL: (1666..1668)\n IDENTIFIER: (1666..1668) \"if\"\n ATMOSPHERE: (1668..1669) \" \"\n FORM: (1669..1681)\n OPEN_PAREN: (1669..1670) \"(\"\n SYMBOL: (1670..1675)\n IDENTIFIER: (1670..1675) \"null?\"\n ATMOSPHERE: (1675..1676) \" \"\n SYMBOL: (1676..1680)\n IDENTIFIER: (1676..1680) \"left\"\n CLOSE_PAREN: (1680..1681) \")\"\n ATMOSPHERE: (1681..1702) \"\n \"\n FORM: (1702..1721)\n OPEN_PAREN: (1702..1703) \"(\"\n SYMBOL: (1703..1710)\n IDENTIFIER: (1703..1710) \"rebuild\"\n ATMOSPHERE: (1710..1711) \" \"\n SYMBOL: (1711..1714)\n IDENTIFIER: (1711..1714) \"acc\"\n ATMOSPHERE: (1714..1715) \" \"\n SYMBOL: (1715..1720)\n IDENTIFIER: (1715..1720) \"right\"\n CLOSE_PAREN: (1720..1721) \")\"\n ATMOSPHERE: (1721..1742) \"\n \"\n FORM: (1742..1844)\n OPEN_PAREN: (1742..1743) \"(\"\n SYMBOL: (1743..1756)\n IDENTIFIER: (1743..1756) \"append-helper\"\n ATMOSPHERE: (1756..1757) \" \"\n FORM: (1757..1778)\n OPEN_PAREN: (1757..1758) \"(\"\n SYMBOL: (1758..1762)\n IDENTIFIER: (1758..1762) \"cons\"\n ATMOSPHERE: (1762..1763) \" \"\n FORM: (1763..1773)\n OPEN_PAREN: (1763..1764) \"(\"\n SYMBOL: (1764..1767)\n IDENTIFIER: (1764..1767) \"car\"\n ATMOSPHERE: (1767..1768) \" \"\n SYMBOL: (1768..1772)\n IDENTIFIER: (1768..1772) \"left\"\n CLOSE_PAREN: (1772..1773) \")\"\n ATMOSPHERE: (1773..1774) \" \"\n SYMBOL: (1774..1777)\n IDENTIFIER: (1774..1777) \"acc\"\n CLOSE_PAREN: (1777..1778) \")\"\n ATMOSPHERE: (1778..1803) \"\n \"\n FORM: (1803..1813)\n OPEN_PAREN: (1803..1804) \"(\"\n SYMBOL: (1804..1807)\n IDENTIFIER: (1804..1807) \"cdr\"\n ATMOSPHERE: (1807..1808) \" \"\n SYMBOL: (1808..1812)\n IDENTIFIER: (1808..1812) \"left\"\n CLOSE_PAREN: (1812..1813) \")\"\n ATMOSPHERE: (1813..1838) \"\n \"\n SYMBOL: (1838..1843)\n IDENTIFIER: (1838..1843) \"right\"\n CLOSE_PAREN: (1843..1844) \")\"\n CLOSE_PAREN: (1844..1845) \")\"\n CLOSE_PAREN: (1845..1846) \")\"\n ATMOSPHERE: (1846..1859) \"\n \"\n FORM: (1859..1889)\n OPEN_PAREN: (1859..1860) \"(\"\n SYMBOL: (1860..1873)\n IDENTIFIER: (1860..1873) \"append-helper\"\n ATMOSPHERE: (1873..1874) \" \"\n QUOTED_DATUM: (1874..1878)\n QUOTE: (1874..1875) \"'\"\n FORM: (1875..1877)\n OPEN_PAREN: (1875..1876) \"(\"\n CLOSE_PAREN: (1876..1877) \")\"\n ATMOSPHERE: (1877..1878) \" \"\n SYMBOL: (1878..1882)\n IDENTIFIER: (1878..1882) \"left\"\n ATMOSPHERE: (1882..1883) \" \"\n SYMBOL: (1883..1888)\n IDENTIFIER: (1883..1888) \"right\"\n CLOSE_PAREN: (1888..1889) \")\"\n CLOSE_PAREN: (1889..1890) \")\"\n ATMOSPHERE: (1890..1900) \"\n\n \"\n ATMOSPHERE: (1900..1938) \";; Recursive quicksort implementation.\"\n ATMOSPHERE: (1938..1947) \"\n \"\n ATMOSPHERE: (1947..1948) \";\"\n ATMOSPHERE: (1948..1957) \"\n \"\n ATMOSPHERE: (1957..2026) \"; Takes a list of numbers and returns a sorted list. Trivially sorted\"\n ATMOSPHERE: (2026..2035) \"\n \"\n ATMOSPHERE: (2035..2106) \"; lists are immediately returned. Complex lists are split using a token\"\n ATMOSPHERE: (2106..2115) \"\n \"\n ATMOSPHERE: (2115..2177) \"; pivot and the high and low sub-lists are individually sorted\"\n ATMOSPHERE: (2177..2186) \"\n \"\n ATMOSPHERE: (2186..2200) \"; recurisvely.\"\n ATMOSPHERE: (2200..2209) \"\n \"\n FORM: (2209..2534)\n OPEN_PAREN: (2209..2210) \"(\"\n SYMBOL: (2210..2216)\n IDENTIFIER: (2210..2216) \"define\"\n ATMOSPHERE: (2216..2217) \" \"\n FORM: (2217..2229)\n OPEN_PAREN: (2217..2218) \"(\"\n SYMBOL: (2218..2223)\n IDENTIFIER: (2218..2223) \"qsort\"\n ATMOSPHERE: (2223..2224) \" \"\n SYMBOL: (2224..2228)\n IDENTIFIER: (2224..2228) \"nums\"\n CLOSE_PAREN: (2228..2229) \")\"\n ATMOSPHERE: (2229..2242) \"\n \"\n FORM: (2242..2533)\n OPEN_PAREN: (2242..2243) \"(\"\n SYMBOL: (2243..2245)\n IDENTIFIER: (2243..2245) \"if\"\n ATMOSPHERE: (2245..2246) \" \"\n FORM: (2246..2282)\n OPEN_PAREN: (2246..2247) \"(\"\n SYMBOL: (2247..2249)\n IDENTIFIER: (2247..2249) \"or\"\n ATMOSPHERE: (2249..2250) \" \"\n FORM: (2250..2262)\n OPEN_PAREN: (2250..2251) \"(\"\n SYMBOL: (2251..2256)\n IDENTIFIER: (2251..2256) \"null?\"\n ATMOSPHERE: (2256..2257) \" \"\n SYMBOL: (2257..2261)\n IDENTIFIER: (2257..2261) \"nums\"\n CLOSE_PAREN: (2261..2262) \")\"\n ATMOSPHERE: (2262..2263) \" \"\n FORM: (2263..2281)\n OPEN_PAREN: (2263..2264) \"(\"\n SYMBOL: (2264..2269)\n IDENTIFIER: (2264..2269) \"null?\"\n ATMOSPHERE: (2269..2270) \" \"\n FORM: (2270..2280)\n OPEN_PAREN: (2270..2271) \"(\"\n SYMBOL: (2271..2274)\n IDENTIFIER: (2271..2274) \"cdr\"\n ATMOSPHERE: (2274..2275) \" \"\n SYMBOL: (2275..2279)\n IDENTIFIER: (2275..2279) \"nums\"\n CLOSE_PAREN: (2279..2280) \")\"\n CLOSE_PAREN: (2280..2281) \")\"\n CLOSE_PAREN: (2281..2282) \")\"\n ATMOSPHERE: (2282..2299) \"\n \"\n SYMBOL: (2299..2303)\n IDENTIFIER: (2299..2303) \"nums\"\n ATMOSPHERE: (2303..2320) \"\n \"\n FORM: (2320..2532)\n OPEN_PAREN: (2320..2321) \"(\"\n SYMBOL: (2321..2325)\n IDENTIFIER: (2321..2325) \"let*\"\n ATMOSPHERE: (2325..2326) \" \"\n FORM: (2326..2413)\n OPEN_PAREN: (2326..2327) \"(\"\n FORM: (2327..2345)\n OPEN_PAREN: (2327..2328) \"(\"\n SYMBOL: (2328..2333)\n IDENTIFIER: (2328..2333) \"pivot\"\n ATMOSPHERE: (2333..2334) \" \"\n FORM: (2334..2344)\n OPEN_PAREN: (2334..2335) \"(\"\n SYMBOL: (2335..2338)\n IDENTIFIER: (2335..2338) \"car\"\n ATMOSPHERE: (2338..2339) \" \"\n SYMBOL: (2339..2343)\n IDENTIFIER: (2339..2343) \"nums\"\n CLOSE_PAREN: (2343..2344) \")\"\n CLOSE_PAREN: (2344..2345) \")\"\n ATMOSPHERE: (2345..2370) \"\n \"\n FORM: (2370..2412)\n OPEN_PAREN: (2370..2371) \"(\"\n SYMBOL: (2371..2382)\n IDENTIFIER: (2371..2382) \"partitioned\"\n ATMOSPHERE: (2382..2383) \" \"\n FORM: (2383..2411)\n OPEN_PAREN: (2383..2384) \"(\"\n SYMBOL: (2384..2393)\n IDENTIFIER: (2384..2393) \"partition\"\n ATMOSPHERE: (2393..2394) \" \"\n SYMBOL: (2394..2399)\n IDENTIFIER: (2394..2399) \"pivot\"\n ATMOSPHERE: (2399..2400) \" \"\n FORM: (2400..2410)\n OPEN_PAREN: (2400..2401) \"(\"\n SYMBOL: (2401..2404)\n IDENTIFIER: (2401..2404) \"cdr\"\n ATMOSPHERE: (2404..2405) \" \"\n SYMBOL: (2405..2409)\n IDENTIFIER: (2405..2409) \"nums\"\n CLOSE_PAREN: (2409..2410) \")\"\n CLOSE_PAREN: (2410..2411) \")\"\n CLOSE_PAREN: (2411..2412) \")\"\n CLOSE_PAREN: (2412..2413) \")\"\n ATMOSPHERE: (2413..2434) \"\n \"\n FORM: (2434..2531)\n OPEN_PAREN: (2434..2435) \"(\"\n SYMBOL: (2435..2441)\n IDENTIFIER: (2435..2441) \"append\"\n ATMOSPHERE: (2441..2442) \" \"\n FORM: (2442..2467)\n OPEN_PAREN: (2442..2443) \"(\"\n SYMBOL: (2443..2448)\n IDENTIFIER: (2443..2448) \"qsort\"\n ATMOSPHERE: (2448..2449) \" \"\n FORM: (2449..2466)\n OPEN_PAREN: (2449..2450) \"(\"\n SYMBOL: (2450..2453)\n IDENTIFIER: (2450..2453) \"car\"\n ATMOSPHERE: (2453..2454) \" \"\n SYMBOL: (2454..2465)\n IDENTIFIER: (2454..2465) \"partitioned\"\n CLOSE_PAREN: (2465..2466) \")\"\n CLOSE_PAREN: (2466..2467) \")\"\n ATMOSPHERE: (2467..2492) \"\n \"\n FORM: (2492..2530)\n OPEN_PAREN: (2492..2493) \"(\"\n SYMBOL: (2493..2497)\n IDENTIFIER: (2493..2497) \"cons\"\n ATMOSPHERE: (2497..2498) \" \"\n SYMBOL: (2498..2503)\n IDENTIFIER: (2498..2503) \"pivot\"\n ATMOSPHERE: (2503..2504) \" \"\n FORM: (2504..2529)\n OPEN_PAREN: (2504..2505) \"(\"\n SYMBOL: (2505..2510)\n IDENTIFIER: (2505..2510) \"qsort\"\n ATMOSPHERE: (2510..2511) \" \"\n FORM: (2511..2528)\n OPEN_PAREN: (2511..2512) \"(\"\n SYMBOL: (2512..2515)\n IDENTIFIER: (2512..2515) \"cdr\"\n ATMOSPHERE: (2515..2516) \" \"\n SYMBOL: (2516..2527)\n IDENTIFIER: (2516..2527) \"partitioned\"\n CLOSE_PAREN: (2527..2528) \")\"\n CLOSE_PAREN: (2528..2529) \")\"\n CLOSE_PAREN: (2529..2530) \")\"\n CLOSE_PAREN: (2530..2531) \")\"\n CLOSE_PAREN: (2531..2532) \")\"\n CLOSE_PAREN: (2532..2533) \")\"\n CLOSE_PAREN: (2533..2534) \")\"\n ATMOSPHERE: (2534..2543) \"\n \"\n CLOSE_PAREN: (2543..2544) \")\"\n CLOSE_PAREN: (2544..2545) \")\"\n ATMOSPHERE: (2545..2547) \"\n\n\"\n FORM: (2547..2629)\n OPEN_PAREN: (2547..2548) \"(\"\n SYMBOL: (2548..2554)\n IDENTIFIER: (2548..2554) \"import\"\n ATMOSPHERE: (2554..2559) \"\n \"\n FORM: (2559..2572)\n OPEN_PAREN: (2559..2560) \"(\"\n SYMBOL: (2560..2566)\n IDENTIFIER: (2560..2566) \"scheme\"\n ATMOSPHERE: (2566..2567) \" \"\n SYMBOL: (2567..2571)\n IDENTIFIER: (2567..2571) \"base\"\n CLOSE_PAREN: (2571..2572) \")\"\n ATMOSPHERE: (2572..2577) \"\n \"\n FORM: (2577..2591)\n OPEN_PAREN: (2577..2578) \"(\"\n SYMBOL: (2578..2584)\n IDENTIFIER: (2578..2584) \"scheme\"\n ATMOSPHERE: (2584..2585) \" \"\n SYMBOL: (2585..2590)\n IDENTIFIER: (2585..2590) \"write\"\n CLOSE_PAREN: (2590..2591) \")\"\n ATMOSPHERE: (2591..2596) \"\n \"\n FORM: (2596..2628)\n OPEN_PAREN: (2596..2597) \"(\"\n SYMBOL: (2597..2603)\n IDENTIFIER: (2597..2603) \"rename\"\n ATMOSPHERE: (2603..2604) \" \"\n FORM: (2604..2610)\n OPEN_PAREN: (2604..2605) \"(\"\n SYMBOL: (2605..2609)\n IDENTIFIER: (2605..2609) \"sort\"\n CLOSE_PAREN: (2609..2610) \")\"\n ATMOSPHERE: (2610..2611) \" \"\n FORM: (2611..2627)\n OPEN_PAREN: (2611..2612) \"(\"\n SYMBOL: (2612..2616)\n IDENTIFIER: (2612..2616) \"sort\"\n ATMOSPHERE: (2616..2617) \" \"\n SYMBOL: (2617..2626)\n IDENTIFIER: (2617..2626) \"quicksort\"\n CLOSE_PAREN: (2626..2627) \")\"\n CLOSE_PAREN: (2627..2628) \")\"\n CLOSE_PAREN: (2628..2629) \")\"\n ATMOSPHERE: (2629..2631) \"\n\n\"\n FORM: (2631..2668)\n OPEN_PAREN: (2631..2632) \"(\"\n SYMBOL: (2632..2639)\n IDENTIFIER: (2632..2639) \"display\"\n ATMOSPHERE: (2639..2640) \" \"\n FORM: (2640..2667)\n OPEN_PAREN: (2640..2641) \"(\"\n SYMBOL: (2641..2650)\n IDENTIFIER: (2641..2650) \"quicksort\"\n ATMOSPHERE: (2650..2651) \" \"\n QUOTED_DATUM: (2651..2666)\n QUOTE: (2651..2652) \"'\"\n FORM: (2652..2666)\n OPEN_PAREN: (2652..2653) \"(\"\n CONSTANT: (2653..2655)\n NUMBER: (2653..2655) \"79\"\n ATMOSPHERE: (2655..2656) \" \"\n CONSTANT: (2656..2658)\n NUMBER: (2656..2658) \"23\"\n ATMOSPHERE: (2658..2659) \" \"\n CONSTANT: (2659..2661)\n NUMBER: (2659..2661) \"45\"\n ATMOSPHERE: (2661..2662) \" \"\n CONSTANT: (2662..2663)\n NUMBER: (2662..2663) \"6\"\n ATMOSPHERE: (2663..2664) \" \"\n CONSTANT: (2664..2665)\n NUMBER: (2664..2665) \"9\"\n CLOSE_PAREN: (2665..2666) \")\"\n CLOSE_PAREN: (2666..2667) \")\"\n CLOSE_PAREN: (2667..2668) \")\"\n FORM: (2668..2677)\n OPEN_PAREN: (2668..2669) \"(\"\n SYMBOL: (2669..2676)\n IDENTIFIER: (2669..2676) \"newline\"\n CLOSE_PAREN: (2676..2677) \")\"\n ATMOSPHERE: (2677..2678) \"\n\"\n FORM: (2678..2742)\n OPEN_PAREN: (2678..2679) \"(\"\n SYMBOL: (2679..2686)\n IDENTIFIER: (2679..2686) \"display\"\n ATMOSPHERE: (2686..2687) \" \"\n FORM: (2687..2741)\n OPEN_PAREN: (2687..2688) \"(\"\n SYMBOL: (2688..2697)\n IDENTIFIER: (2688..2697) \"quicksort\"\n ATMOSPHERE: (2697..2698) \" \"\n QUOTED_DATUM: (2698..2740)\n QUOTE: (2698..2699) \"'\"\n FORM: (2699..2740)\n OPEN_PAREN: (2699..2700) \"(\"\n CONSTANT: (2700..2701)\n NUMBER: (2700..2701) \"9\"\n ATMOSPHERE: (2701..2702) \" \"\n CONSTANT: (2702..2703)\n NUMBER: (2702..2703) \"8\"\n ATMOSPHERE: (2703..2704) \" \"\n CONSTANT: (2704..2705)\n NUMBER: (2704..2705) \"7\"\n ATMOSPHERE: (2705..2706) \" \"\n CONSTANT: (2706..2707)\n NUMBER: (2706..2707) \"6\"\n ATMOSPHERE: (2707..2708) \" \"\n CONSTANT: (2708..2709)\n NUMBER: (2708..2709) \"5\"\n ATMOSPHERE: (2709..2710) \" \"\n CONSTANT: (2710..2711)\n NUMBER: (2710..2711) \"4\"\n ATMOSPHERE: (2711..2712) \" \"\n CONSTANT: (2712..2713)\n NUMBER: (2712..2713) \"3\"\n ATMOSPHERE: (2713..2714) \" \"\n CONSTANT: (2714..2715)\n NUMBER: (2714..2715) \"2\"\n ATMOSPHERE: (2715..2716) \" \"\n CONSTANT: (2716..2717)\n NUMBER: (2716..2717) \"1\"\n ATMOSPHERE: (2717..2718) \" \"\n CONSTANT: (2718..2719)\n NUMBER: (2718..2719) \"0\"\n ATMOSPHERE: (2719..2720) \" \"\n CONSTANT: (2720..2721)\n NUMBER: (2720..2721) \"0\"\n ATMOSPHERE: (2721..2722) \" \"\n CONSTANT: (2722..2723)\n NUMBER: (2722..2723) \"1\"\n ATMOSPHERE: (2723..2724) \" \"\n CONSTANT: (2724..2725)\n NUMBER: (2724..2725) \"2\"\n ATMOSPHERE: (2725..2726) \" \"\n CONSTANT: (2726..2727)\n NUMBER: (2726..2727) \"3\"\n ATMOSPHERE: (2727..2728) \" \"\n CONSTANT: (2728..2729)\n NUMBER: (2728..2729) \"4\"\n ATMOSPHERE: (2729..2730) \" \"\n CONSTANT: (2730..2731)\n NUMBER: (2730..2731) \"5\"\n ATMOSPHERE: (2731..2732) \" \"\n CONSTANT: (2732..2733)\n NUMBER: (2732..2733) \"6\"\n ATMOSPHERE: (2733..2734) \" \"\n CONSTANT: (2734..2735)\n NUMBER: (2734..2735) \"7\"\n ATMOSPHERE: (2735..2736) \" \"\n CONSTANT: (2736..2737)\n NUMBER: (2736..2737) \"8\"\n ATMOSPHERE: (2737..2738) \" \"\n CONSTANT: (2738..2739)\n NUMBER: (2738..2739) \"9\"\n CLOSE_PAREN: (2739..2740) \")\"\n CLOSE_PAREN: (2740..2741) \")\"\n CLOSE_PAREN: (2741..2742) \")\"\n FORM: (2742..2751)\n OPEN_PAREN: (2742..2743) \"(\"\n SYMBOL: (2743..2750)\n IDENTIFIER: (2743..2750) \"newline\"\n CLOSE_PAREN: (2750..2751) \")\"\n ATMOSPHERE: (2751..2752) \"\n\"\n" + "Root": "PROGRAM: (0..2752)\n ATMOSPHERE: (0..26) \";; Sorting library example\"\n ATMOSPHERE: (26..27) \"\n\"\n FORM: (27..2545)\n OPEN_PAREN: (27..28) \"(\"\n SYMBOL: (28..42)\n IDENTIFIER: (28..42) \"define-library\"\n ATMOSPHERE: (42..43) \" \"\n FORM: (43..49)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..48)\n IDENTIFIER: (44..48) \"sort\"\n CLOSE_PAREN: (48..49) \")\"\n ATMOSPHERE: (49..54) \"\n \"\n FORM: (54..258)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..61)\n IDENTIFIER: (55..61) \"import\"\n ATMOSPHERE: (61..62) \" \"\n FORM: (62..75)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..69)\n IDENTIFIER: (63..69) \"scheme\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..74)\n IDENTIFIER: (70..74) \"base\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..84) \"\n \"\n ATMOSPHERE: (84..151) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (151..160) \"\n \"\n ATMOSPHERE: (160..224) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (224..233) \"\n \"\n FORM: (233..257)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..241)\n IDENTIFIER: (234..241) \"feersum\"\n ATMOSPHERE: (241..242) \" \"\n SYMBOL: (242..249)\n IDENTIFIER: (242..249) \"builtin\"\n ATMOSPHERE: (249..250) \" \"\n SYMBOL: (250..256)\n IDENTIFIER: (250..256) \"macros\"\n CLOSE_PAREN: (256..257) \")\"\n CLOSE_PAREN: (257..258) \")\"\n ATMOSPHERE: (258..263) \"\n \"\n FORM: (263..291)\n OPEN_PAREN: (263..264) \"(\"\n SYMBOL: (264..270)\n IDENTIFIER: (264..270) \"export\"\n ATMOSPHERE: (270..271) \" \"\n FORM: (271..290)\n OPEN_PAREN: (271..272) \"(\"\n SYMBOL: (272..278)\n IDENTIFIER: (272..278) \"rename\"\n ATMOSPHERE: (278..279) \" \"\n SYMBOL: (279..284)\n IDENTIFIER: (279..284) \"qsort\"\n ATMOSPHERE: (284..285) \" \"\n SYMBOL: (285..289)\n IDENTIFIER: (285..289) \"sort\"\n CLOSE_PAREN: (289..290) \")\"\n CLOSE_PAREN: (290..291) \")\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..2544)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..302)\n IDENTIFIER: (297..302) \"begin\"\n ATMOSPHERE: (302..311) \"\n \"\n ATMOSPHERE: (311..332) \";; Partition Utitlity\"\n ATMOSPHERE: (332..341) \"\n \"\n ATMOSPHERE: (341..342) \";\"\n ATMOSPHERE: (342..351) \"\n \"\n ATMOSPHERE: (351..422) \"; This function takes a given `lst` and partitions it around a `pivot`.\"\n ATMOSPHERE: (422..431) \"\n \"\n ATMOSPHERE: (431..503) \"; The result is a list who's `car` is a list containing the numbers less\"\n ATMOSPHERE: (503..512) \"\n \"\n ATMOSPHERE: (512..583) \"; than the pivot, and `cdr` is a list containing those greater than the\"\n ATMOSPHERE: (583..592) \"\n \"\n ATMOSPHERE: (592..600) \"; pivot.\"\n ATMOSPHERE: (600..609) \"\n \"\n FORM: (609..1024)\n OPEN_PAREN: (609..610) \"(\"\n SYMBOL: (610..616)\n IDENTIFIER: (610..616) \"define\"\n ATMOSPHERE: (616..617) \" \"\n FORM: (617..638)\n OPEN_PAREN: (617..618) \"(\"\n SYMBOL: (618..627)\n IDENTIFIER: (618..627) \"partition\"\n ATMOSPHERE: (627..628) \" \"\n SYMBOL: (628..633)\n IDENTIFIER: (628..633) \"pivot\"\n ATMOSPHERE: (633..634) \" \"\n SYMBOL: (634..637)\n IDENTIFIER: (634..637) \"lst\"\n CLOSE_PAREN: (637..638) \")\"\n ATMOSPHERE: (638..651) \"\n \"\n FORM: (651..1023)\n OPEN_PAREN: (651..652) \"(\"\n SYMBOL: (652..654)\n IDENTIFIER: (652..654) \"if\"\n ATMOSPHERE: (654..655) \" \"\n FORM: (655..666)\n OPEN_PAREN: (655..656) \"(\"\n SYMBOL: (656..661)\n IDENTIFIER: (656..661) \"null?\"\n ATMOSPHERE: (661..662) \" \"\n SYMBOL: (662..665)\n IDENTIFIER: (662..665) \"lst\"\n CLOSE_PAREN: (665..666) \")\"\n ATMOSPHERE: (666..683) \"\n \"\n QUOTED_DATUM: (683..705)\n QUOTE: (683..684) \"'\"\n FORM: (684..688)\n OPEN_PAREN: (684..685) \"(\"\n FORM: (685..687)\n OPEN_PAREN: (685..686) \"(\"\n CLOSE_PAREN: (686..687) \")\"\n CLOSE_PAREN: (687..688) \")\"\n ATMOSPHERE: (688..705) \"\n \"\n FORM: (705..1022)\n OPEN_PAREN: (705..706) \"(\"\n SYMBOL: (706..709)\n IDENTIFIER: (706..709) \"let\"\n ATMOSPHERE: (709..710) \" \"\n FORM: (710..786)\n OPEN_PAREN: (710..711) \"(\"\n FORM: (711..730)\n OPEN_PAREN: (711..712) \"(\"\n SYMBOL: (712..719)\n IDENTIFIER: (712..719) \"current\"\n ATMOSPHERE: (719..720) \" \"\n FORM: (720..729)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..724)\n IDENTIFIER: (721..724) \"car\"\n ATMOSPHERE: (724..725) \" \"\n SYMBOL: (725..728)\n IDENTIFIER: (725..728) \"lst\"\n CLOSE_PAREN: (728..729) \")\"\n CLOSE_PAREN: (729..730) \")\"\n ATMOSPHERE: (730..751) \"\n \"\n FORM: (751..785)\n OPEN_PAREN: (751..752) \"(\"\n SYMBOL: (752..756)\n IDENTIFIER: (752..756) \"rest\"\n ATMOSPHERE: (756..757) \" \"\n FORM: (757..784)\n OPEN_PAREN: (757..758) \"(\"\n SYMBOL: (758..767)\n IDENTIFIER: (758..767) \"partition\"\n ATMOSPHERE: (767..768) \" \"\n SYMBOL: (768..773)\n IDENTIFIER: (768..773) \"pivot\"\n ATMOSPHERE: (773..774) \" \"\n FORM: (774..783)\n OPEN_PAREN: (774..775) \"(\"\n SYMBOL: (775..778)\n IDENTIFIER: (775..778) \"cdr\"\n ATMOSPHERE: (778..779) \" \"\n SYMBOL: (779..782)\n IDENTIFIER: (779..782) \"lst\"\n CLOSE_PAREN: (782..783) \")\"\n CLOSE_PAREN: (783..784) \")\"\n CLOSE_PAREN: (784..785) \")\"\n CLOSE_PAREN: (785..786) \")\"\n ATMOSPHERE: (786..807) \"\n \"\n FORM: (807..1021)\n OPEN_PAREN: (807..808) \"(\"\n SYMBOL: (808..810)\n IDENTIFIER: (808..810) \"if\"\n ATMOSPHERE: (810..811) \" \"\n FORM: (811..828)\n OPEN_PAREN: (811..812) \"(\"\n SYMBOL: (812..813)\n IDENTIFIER: (812..813) \"<\"\n ATMOSPHERE: (813..814) \" \"\n SYMBOL: (814..821)\n IDENTIFIER: (814..821) \"current\"\n ATMOSPHERE: (821..822) \" \"\n SYMBOL: (822..827)\n IDENTIFIER: (822..827) \"pivot\"\n CLOSE_PAREN: (827..828) \")\"\n ATMOSPHERE: (828..853) \"\n \"\n FORM: (853..924)\n OPEN_PAREN: (853..854) \"(\"\n SYMBOL: (854..858)\n IDENTIFIER: (854..858) \"cons\"\n ATMOSPHERE: (858..859) \" \"\n FORM: (859..884)\n OPEN_PAREN: (859..860) \"(\"\n SYMBOL: (860..864)\n IDENTIFIER: (860..864) \"cons\"\n ATMOSPHERE: (864..865) \" \"\n SYMBOL: (865..872)\n IDENTIFIER: (865..872) \"current\"\n ATMOSPHERE: (872..873) \" \"\n FORM: (873..883)\n OPEN_PAREN: (873..874) \"(\"\n SYMBOL: (874..877)\n IDENTIFIER: (874..877) \"car\"\n ATMOSPHERE: (877..878) \" \"\n SYMBOL: (878..882)\n IDENTIFIER: (878..882) \"rest\"\n CLOSE_PAREN: (882..883) \")\"\n CLOSE_PAREN: (883..884) \")\"\n ATMOSPHERE: (884..913) \"\n \"\n FORM: (913..923)\n OPEN_PAREN: (913..914) \"(\"\n SYMBOL: (914..917)\n IDENTIFIER: (914..917) \"cdr\"\n ATMOSPHERE: (917..918) \" \"\n SYMBOL: (918..922)\n IDENTIFIER: (918..922) \"rest\"\n CLOSE_PAREN: (922..923) \")\"\n CLOSE_PAREN: (923..924) \")\"\n ATMOSPHERE: (924..949) \"\n \"\n FORM: (949..1020)\n OPEN_PAREN: (949..950) \"(\"\n SYMBOL: (950..954)\n IDENTIFIER: (950..954) \"cons\"\n ATMOSPHERE: (954..955) \" \"\n FORM: (955..965)\n OPEN_PAREN: (955..956) \"(\"\n SYMBOL: (956..959)\n IDENTIFIER: (956..959) \"car\"\n ATMOSPHERE: (959..960) \" \"\n SYMBOL: (960..964)\n IDENTIFIER: (960..964) \"rest\"\n CLOSE_PAREN: (964..965) \")\"\n ATMOSPHERE: (965..994) \"\n \"\n FORM: (994..1019)\n OPEN_PAREN: (994..995) \"(\"\n SYMBOL: (995..999)\n IDENTIFIER: (995..999) \"cons\"\n ATMOSPHERE: (999..1000) \" \"\n SYMBOL: (1000..1007)\n IDENTIFIER: (1000..1007) \"current\"\n ATMOSPHERE: (1007..1008) \" \"\n FORM: (1008..1018)\n OPEN_PAREN: (1008..1009) \"(\"\n SYMBOL: (1009..1012)\n IDENTIFIER: (1009..1012) \"cdr\"\n ATMOSPHERE: (1012..1013) \" \"\n SYMBOL: (1013..1017)\n IDENTIFIER: (1013..1017) \"rest\"\n CLOSE_PAREN: (1017..1018) \")\"\n CLOSE_PAREN: (1018..1019) \")\"\n CLOSE_PAREN: (1019..1020) \")\"\n CLOSE_PAREN: (1020..1021) \")\"\n CLOSE_PAREN: (1021..1022) \")\"\n CLOSE_PAREN: (1022..1023) \")\"\n CLOSE_PAREN: (1023..1024) \")\"\n ATMOSPHERE: (1024..1034) \"\n\n \"\n ATMOSPHERE: (1034..1079) \";; Append the `right` list to the `left` one.\"\n ATMOSPHERE: (1079..1088) \"\n \"\n ATMOSPHERE: (1088..1089) \";\"\n ATMOSPHERE: (1089..1098) \"\n \"\n ATMOSPHERE: (1098..1170) \"; This function uses two helpers to tail-recursively reconstruct a list.\"\n ATMOSPHERE: (1170..1179) \"\n \"\n ATMOSPHERE: (1179..1247) \"; The `append-helper` first recurses moving elements from the `left`\"\n ATMOSPHERE: (1247..1256) \"\n \"\n ATMOSPHERE: (1256..1327) \"; list into the accumuulator. Once the left list is empty the base case\"\n ATMOSPHERE: (1327..1336) \"\n \"\n ATMOSPHERE: (1336..1398) \"; uses `rebuild` to tail-recursively construct the final list.\"\n ATMOSPHERE: (1398..1407) \"\n \"\n FORM: (1407..1890)\n OPEN_PAREN: (1407..1408) \"(\"\n SYMBOL: (1408..1414)\n IDENTIFIER: (1408..1414) \"define\"\n ATMOSPHERE: (1414..1415) \" \"\n FORM: (1415..1434)\n OPEN_PAREN: (1415..1416) \"(\"\n SYMBOL: (1416..1422)\n IDENTIFIER: (1416..1422) \"append\"\n ATMOSPHERE: (1422..1423) \" \"\n SYMBOL: (1423..1427)\n IDENTIFIER: (1423..1427) \"left\"\n ATMOSPHERE: (1427..1428) \" \"\n SYMBOL: (1428..1433)\n IDENTIFIER: (1428..1433) \"right\"\n CLOSE_PAREN: (1433..1434) \")\"\n ATMOSPHERE: (1434..1447) \"\n \"\n FORM: (1447..1597)\n OPEN_PAREN: (1447..1448) \"(\"\n SYMBOL: (1448..1454)\n IDENTIFIER: (1448..1454) \"define\"\n ATMOSPHERE: (1454..1455) \" \"\n FORM: (1455..1474)\n OPEN_PAREN: (1455..1456) \"(\"\n SYMBOL: (1456..1463)\n IDENTIFIER: (1456..1463) \"rebuild\"\n ATMOSPHERE: (1463..1464) \" \"\n SYMBOL: (1464..1467)\n IDENTIFIER: (1464..1467) \"acc\"\n ATMOSPHERE: (1467..1468) \" \"\n SYMBOL: (1468..1473)\n IDENTIFIER: (1468..1473) \"right\"\n CLOSE_PAREN: (1473..1474) \")\"\n ATMOSPHERE: (1474..1491) \"\n \"\n FORM: (1491..1596)\n OPEN_PAREN: (1491..1492) \"(\"\n SYMBOL: (1492..1494)\n IDENTIFIER: (1492..1494) \"if\"\n ATMOSPHERE: (1494..1495) \" \"\n FORM: (1495..1506)\n OPEN_PAREN: (1495..1496) \"(\"\n SYMBOL: (1496..1501)\n IDENTIFIER: (1496..1501) \"null?\"\n ATMOSPHERE: (1501..1502) \" \"\n SYMBOL: (1502..1505)\n IDENTIFIER: (1502..1505) \"acc\"\n CLOSE_PAREN: (1505..1506) \")\"\n ATMOSPHERE: (1506..1527) \"\n \"\n SYMBOL: (1527..1532)\n IDENTIFIER: (1527..1532) \"right\"\n ATMOSPHERE: (1532..1553) \"\n \"\n FORM: (1553..1595)\n OPEN_PAREN: (1553..1554) \"(\"\n SYMBOL: (1554..1561)\n IDENTIFIER: (1554..1561) \"rebuild\"\n ATMOSPHERE: (1561..1562) \" \"\n FORM: (1562..1571)\n OPEN_PAREN: (1562..1563) \"(\"\n SYMBOL: (1563..1566)\n IDENTIFIER: (1563..1566) \"cdr\"\n ATMOSPHERE: (1566..1567) \" \"\n SYMBOL: (1567..1570)\n IDENTIFIER: (1567..1570) \"acc\"\n CLOSE_PAREN: (1570..1571) \")\"\n ATMOSPHERE: (1571..1572) \" \"\n FORM: (1572..1594)\n OPEN_PAREN: (1572..1573) \"(\"\n SYMBOL: (1573..1577)\n IDENTIFIER: (1573..1577) \"cons\"\n ATMOSPHERE: (1577..1578) \" \"\n FORM: (1578..1587)\n OPEN_PAREN: (1578..1579) \"(\"\n SYMBOL: (1579..1582)\n IDENTIFIER: (1579..1582) \"car\"\n ATMOSPHERE: (1582..1583) \" \"\n SYMBOL: (1583..1586)\n IDENTIFIER: (1583..1586) \"acc\"\n CLOSE_PAREN: (1586..1587) \")\"\n ATMOSPHERE: (1587..1588) \" \"\n SYMBOL: (1588..1593)\n IDENTIFIER: (1588..1593) \"right\"\n CLOSE_PAREN: (1593..1594) \")\"\n CLOSE_PAREN: (1594..1595) \")\"\n CLOSE_PAREN: (1595..1596) \")\"\n CLOSE_PAREN: (1596..1597) \")\"\n ATMOSPHERE: (1597..1610) \"\n \"\n FORM: (1610..1846)\n OPEN_PAREN: (1610..1611) \"(\"\n SYMBOL: (1611..1617)\n IDENTIFIER: (1611..1617) \"define\"\n ATMOSPHERE: (1617..1618) \" \"\n FORM: (1618..1648)\n OPEN_PAREN: (1618..1619) \"(\"\n SYMBOL: (1619..1632)\n IDENTIFIER: (1619..1632) \"append-helper\"\n ATMOSPHERE: (1632..1633) \" \"\n SYMBOL: (1633..1636)\n IDENTIFIER: (1633..1636) \"acc\"\n ATMOSPHERE: (1636..1637) \" \"\n SYMBOL: (1637..1641)\n IDENTIFIER: (1637..1641) \"left\"\n ATMOSPHERE: (1641..1642) \" \"\n SYMBOL: (1642..1647)\n IDENTIFIER: (1642..1647) \"right\"\n CLOSE_PAREN: (1647..1648) \")\"\n ATMOSPHERE: (1648..1665) \"\n \"\n FORM: (1665..1845)\n OPEN_PAREN: (1665..1666) \"(\"\n SYMBOL: (1666..1668)\n IDENTIFIER: (1666..1668) \"if\"\n ATMOSPHERE: (1668..1669) \" \"\n FORM: (1669..1681)\n OPEN_PAREN: (1669..1670) \"(\"\n SYMBOL: (1670..1675)\n IDENTIFIER: (1670..1675) \"null?\"\n ATMOSPHERE: (1675..1676) \" \"\n SYMBOL: (1676..1680)\n IDENTIFIER: (1676..1680) \"left\"\n CLOSE_PAREN: (1680..1681) \")\"\n ATMOSPHERE: (1681..1702) \"\n \"\n FORM: (1702..1721)\n OPEN_PAREN: (1702..1703) \"(\"\n SYMBOL: (1703..1710)\n IDENTIFIER: (1703..1710) \"rebuild\"\n ATMOSPHERE: (1710..1711) \" \"\n SYMBOL: (1711..1714)\n IDENTIFIER: (1711..1714) \"acc\"\n ATMOSPHERE: (1714..1715) \" \"\n SYMBOL: (1715..1720)\n IDENTIFIER: (1715..1720) \"right\"\n CLOSE_PAREN: (1720..1721) \")\"\n ATMOSPHERE: (1721..1742) \"\n \"\n FORM: (1742..1844)\n OPEN_PAREN: (1742..1743) \"(\"\n SYMBOL: (1743..1756)\n IDENTIFIER: (1743..1756) \"append-helper\"\n ATMOSPHERE: (1756..1757) \" \"\n FORM: (1757..1778)\n OPEN_PAREN: (1757..1758) \"(\"\n SYMBOL: (1758..1762)\n IDENTIFIER: (1758..1762) \"cons\"\n ATMOSPHERE: (1762..1763) \" \"\n FORM: (1763..1773)\n OPEN_PAREN: (1763..1764) \"(\"\n SYMBOL: (1764..1767)\n IDENTIFIER: (1764..1767) \"car\"\n ATMOSPHERE: (1767..1768) \" \"\n SYMBOL: (1768..1772)\n IDENTIFIER: (1768..1772) \"left\"\n CLOSE_PAREN: (1772..1773) \")\"\n ATMOSPHERE: (1773..1774) \" \"\n SYMBOL: (1774..1777)\n IDENTIFIER: (1774..1777) \"acc\"\n CLOSE_PAREN: (1777..1778) \")\"\n ATMOSPHERE: (1778..1803) \"\n \"\n FORM: (1803..1813)\n OPEN_PAREN: (1803..1804) \"(\"\n SYMBOL: (1804..1807)\n IDENTIFIER: (1804..1807) \"cdr\"\n ATMOSPHERE: (1807..1808) \" \"\n SYMBOL: (1808..1812)\n IDENTIFIER: (1808..1812) \"left\"\n CLOSE_PAREN: (1812..1813) \")\"\n ATMOSPHERE: (1813..1838) \"\n \"\n SYMBOL: (1838..1843)\n IDENTIFIER: (1838..1843) \"right\"\n CLOSE_PAREN: (1843..1844) \")\"\n CLOSE_PAREN: (1844..1845) \")\"\n CLOSE_PAREN: (1845..1846) \")\"\n ATMOSPHERE: (1846..1859) \"\n \"\n FORM: (1859..1889)\n OPEN_PAREN: (1859..1860) \"(\"\n SYMBOL: (1860..1873)\n IDENTIFIER: (1860..1873) \"append-helper\"\n ATMOSPHERE: (1873..1874) \" \"\n QUOTED_DATUM: (1874..1878)\n QUOTE: (1874..1875) \"'\"\n FORM: (1875..1877)\n OPEN_PAREN: (1875..1876) \"(\"\n CLOSE_PAREN: (1876..1877) \")\"\n ATMOSPHERE: (1877..1878) \" \"\n SYMBOL: (1878..1882)\n IDENTIFIER: (1878..1882) \"left\"\n ATMOSPHERE: (1882..1883) \" \"\n SYMBOL: (1883..1888)\n IDENTIFIER: (1883..1888) \"right\"\n CLOSE_PAREN: (1888..1889) \")\"\n CLOSE_PAREN: (1889..1890) \")\"\n ATMOSPHERE: (1890..1900) \"\n\n \"\n ATMOSPHERE: (1900..1938) \";; Recursive quicksort implementation.\"\n ATMOSPHERE: (1938..1947) \"\n \"\n ATMOSPHERE: (1947..1948) \";\"\n ATMOSPHERE: (1948..1957) \"\n \"\n ATMOSPHERE: (1957..2026) \"; Takes a list of numbers and returns a sorted list. Trivially sorted\"\n ATMOSPHERE: (2026..2035) \"\n \"\n ATMOSPHERE: (2035..2106) \"; lists are immediately returned. Complex lists are split using a token\"\n ATMOSPHERE: (2106..2115) \"\n \"\n ATMOSPHERE: (2115..2177) \"; pivot and the high and low sub-lists are individually sorted\"\n ATMOSPHERE: (2177..2186) \"\n \"\n ATMOSPHERE: (2186..2200) \"; recurisvely.\"\n ATMOSPHERE: (2200..2209) \"\n \"\n FORM: (2209..2534)\n OPEN_PAREN: (2209..2210) \"(\"\n SYMBOL: (2210..2216)\n IDENTIFIER: (2210..2216) \"define\"\n ATMOSPHERE: (2216..2217) \" \"\n FORM: (2217..2229)\n OPEN_PAREN: (2217..2218) \"(\"\n SYMBOL: (2218..2223)\n IDENTIFIER: (2218..2223) \"qsort\"\n ATMOSPHERE: (2223..2224) \" \"\n SYMBOL: (2224..2228)\n IDENTIFIER: (2224..2228) \"nums\"\n CLOSE_PAREN: (2228..2229) \")\"\n ATMOSPHERE: (2229..2242) \"\n \"\n FORM: (2242..2533)\n OPEN_PAREN: (2242..2243) \"(\"\n SYMBOL: (2243..2245)\n IDENTIFIER: (2243..2245) \"if\"\n ATMOSPHERE: (2245..2246) \" \"\n FORM: (2246..2282)\n OPEN_PAREN: (2246..2247) \"(\"\n SYMBOL: (2247..2249)\n IDENTIFIER: (2247..2249) \"or\"\n ATMOSPHERE: (2249..2250) \" \"\n FORM: (2250..2262)\n OPEN_PAREN: (2250..2251) \"(\"\n SYMBOL: (2251..2256)\n IDENTIFIER: (2251..2256) \"null?\"\n ATMOSPHERE: (2256..2257) \" \"\n SYMBOL: (2257..2261)\n IDENTIFIER: (2257..2261) \"nums\"\n CLOSE_PAREN: (2261..2262) \")\"\n ATMOSPHERE: (2262..2263) \" \"\n FORM: (2263..2281)\n OPEN_PAREN: (2263..2264) \"(\"\n SYMBOL: (2264..2269)\n IDENTIFIER: (2264..2269) \"null?\"\n ATMOSPHERE: (2269..2270) \" \"\n FORM: (2270..2280)\n OPEN_PAREN: (2270..2271) \"(\"\n SYMBOL: (2271..2274)\n IDENTIFIER: (2271..2274) \"cdr\"\n ATMOSPHERE: (2274..2275) \" \"\n SYMBOL: (2275..2279)\n IDENTIFIER: (2275..2279) \"nums\"\n CLOSE_PAREN: (2279..2280) \")\"\n CLOSE_PAREN: (2280..2281) \")\"\n CLOSE_PAREN: (2281..2282) \")\"\n ATMOSPHERE: (2282..2299) \"\n \"\n SYMBOL: (2299..2303)\n IDENTIFIER: (2299..2303) \"nums\"\n ATMOSPHERE: (2303..2320) \"\n \"\n FORM: (2320..2532)\n OPEN_PAREN: (2320..2321) \"(\"\n SYMBOL: (2321..2325)\n IDENTIFIER: (2321..2325) \"let*\"\n ATMOSPHERE: (2325..2326) \" \"\n FORM: (2326..2413)\n OPEN_PAREN: (2326..2327) \"(\"\n FORM: (2327..2345)\n OPEN_PAREN: (2327..2328) \"(\"\n SYMBOL: (2328..2333)\n IDENTIFIER: (2328..2333) \"pivot\"\n ATMOSPHERE: (2333..2334) \" \"\n FORM: (2334..2344)\n OPEN_PAREN: (2334..2335) \"(\"\n SYMBOL: (2335..2338)\n IDENTIFIER: (2335..2338) \"car\"\n ATMOSPHERE: (2338..2339) \" \"\n SYMBOL: (2339..2343)\n IDENTIFIER: (2339..2343) \"nums\"\n CLOSE_PAREN: (2343..2344) \")\"\n CLOSE_PAREN: (2344..2345) \")\"\n ATMOSPHERE: (2345..2370) \"\n \"\n FORM: (2370..2412)\n OPEN_PAREN: (2370..2371) \"(\"\n SYMBOL: (2371..2382)\n IDENTIFIER: (2371..2382) \"partitioned\"\n ATMOSPHERE: (2382..2383) \" \"\n FORM: (2383..2411)\n OPEN_PAREN: (2383..2384) \"(\"\n SYMBOL: (2384..2393)\n IDENTIFIER: (2384..2393) \"partition\"\n ATMOSPHERE: (2393..2394) \" \"\n SYMBOL: (2394..2399)\n IDENTIFIER: (2394..2399) \"pivot\"\n ATMOSPHERE: (2399..2400) \" \"\n FORM: (2400..2410)\n OPEN_PAREN: (2400..2401) \"(\"\n SYMBOL: (2401..2404)\n IDENTIFIER: (2401..2404) \"cdr\"\n ATMOSPHERE: (2404..2405) \" \"\n SYMBOL: (2405..2409)\n IDENTIFIER: (2405..2409) \"nums\"\n CLOSE_PAREN: (2409..2410) \")\"\n CLOSE_PAREN: (2410..2411) \")\"\n CLOSE_PAREN: (2411..2412) \")\"\n CLOSE_PAREN: (2412..2413) \")\"\n ATMOSPHERE: (2413..2434) \"\n \"\n FORM: (2434..2531)\n OPEN_PAREN: (2434..2435) \"(\"\n SYMBOL: (2435..2441)\n IDENTIFIER: (2435..2441) \"append\"\n ATMOSPHERE: (2441..2442) \" \"\n FORM: (2442..2467)\n OPEN_PAREN: (2442..2443) \"(\"\n SYMBOL: (2443..2448)\n IDENTIFIER: (2443..2448) \"qsort\"\n ATMOSPHERE: (2448..2449) \" \"\n FORM: (2449..2466)\n OPEN_PAREN: (2449..2450) \"(\"\n SYMBOL: (2450..2453)\n IDENTIFIER: (2450..2453) \"car\"\n ATMOSPHERE: (2453..2454) \" \"\n SYMBOL: (2454..2465)\n IDENTIFIER: (2454..2465) \"partitioned\"\n CLOSE_PAREN: (2465..2466) \")\"\n CLOSE_PAREN: (2466..2467) \")\"\n ATMOSPHERE: (2467..2492) \"\n \"\n FORM: (2492..2530)\n OPEN_PAREN: (2492..2493) \"(\"\n SYMBOL: (2493..2497)\n IDENTIFIER: (2493..2497) \"cons\"\n ATMOSPHERE: (2497..2498) \" \"\n SYMBOL: (2498..2503)\n IDENTIFIER: (2498..2503) \"pivot\"\n ATMOSPHERE: (2503..2504) \" \"\n FORM: (2504..2529)\n OPEN_PAREN: (2504..2505) \"(\"\n SYMBOL: (2505..2510)\n IDENTIFIER: (2505..2510) \"qsort\"\n ATMOSPHERE: (2510..2511) \" \"\n FORM: (2511..2528)\n OPEN_PAREN: (2511..2512) \"(\"\n SYMBOL: (2512..2515)\n IDENTIFIER: (2512..2515) \"cdr\"\n ATMOSPHERE: (2515..2516) \" \"\n SYMBOL: (2516..2527)\n IDENTIFIER: (2516..2527) \"partitioned\"\n CLOSE_PAREN: (2527..2528) \")\"\n CLOSE_PAREN: (2528..2529) \")\"\n CLOSE_PAREN: (2529..2530) \")\"\n CLOSE_PAREN: (2530..2531) \")\"\n CLOSE_PAREN: (2531..2532) \")\"\n CLOSE_PAREN: (2532..2533) \")\"\n CLOSE_PAREN: (2533..2534) \")\"\n ATMOSPHERE: (2534..2543) \"\n \"\n CLOSE_PAREN: (2543..2544) \")\"\n CLOSE_PAREN: (2544..2545) \")\"\n ATMOSPHERE: (2545..2547) \"\n\n\"\n FORM: (2547..2629)\n OPEN_PAREN: (2547..2548) \"(\"\n SYMBOL: (2548..2554)\n IDENTIFIER: (2548..2554) \"import\"\n ATMOSPHERE: (2554..2559) \"\n \"\n FORM: (2559..2572)\n OPEN_PAREN: (2559..2560) \"(\"\n SYMBOL: (2560..2566)\n IDENTIFIER: (2560..2566) \"scheme\"\n ATMOSPHERE: (2566..2567) \" \"\n SYMBOL: (2567..2571)\n IDENTIFIER: (2567..2571) \"base\"\n CLOSE_PAREN: (2571..2572) \")\"\n ATMOSPHERE: (2572..2577) \"\n \"\n FORM: (2577..2591)\n OPEN_PAREN: (2577..2578) \"(\"\n SYMBOL: (2578..2584)\n IDENTIFIER: (2578..2584) \"scheme\"\n ATMOSPHERE: (2584..2585) \" \"\n SYMBOL: (2585..2590)\n IDENTIFIER: (2585..2590) \"write\"\n CLOSE_PAREN: (2590..2591) \")\"\n ATMOSPHERE: (2591..2596) \"\n \"\n FORM: (2596..2628)\n OPEN_PAREN: (2596..2597) \"(\"\n SYMBOL: (2597..2603)\n IDENTIFIER: (2597..2603) \"rename\"\n ATMOSPHERE: (2603..2604) \" \"\n FORM: (2604..2610)\n OPEN_PAREN: (2604..2605) \"(\"\n SYMBOL: (2605..2609)\n IDENTIFIER: (2605..2609) \"sort\"\n CLOSE_PAREN: (2609..2610) \")\"\n ATMOSPHERE: (2610..2611) \" \"\n FORM: (2611..2627)\n OPEN_PAREN: (2611..2612) \"(\"\n SYMBOL: (2612..2616)\n IDENTIFIER: (2612..2616) \"sort\"\n ATMOSPHERE: (2616..2617) \" \"\n SYMBOL: (2617..2626)\n IDENTIFIER: (2617..2626) \"quicksort\"\n CLOSE_PAREN: (2626..2627) \")\"\n CLOSE_PAREN: (2627..2628) \")\"\n CLOSE_PAREN: (2628..2629) \")\"\n ATMOSPHERE: (2629..2631) \"\n\n\"\n FORM: (2631..2668)\n OPEN_PAREN: (2631..2632) \"(\"\n SYMBOL: (2632..2639)\n IDENTIFIER: (2632..2639) \"display\"\n ATMOSPHERE: (2639..2640) \" \"\n FORM: (2640..2667)\n OPEN_PAREN: (2640..2641) \"(\"\n SYMBOL: (2641..2650)\n IDENTIFIER: (2641..2650) \"quicksort\"\n ATMOSPHERE: (2650..2651) \" \"\n QUOTED_DATUM: (2651..2666)\n QUOTE: (2651..2652) \"'\"\n FORM: (2652..2666)\n OPEN_PAREN: (2652..2653) \"(\"\n CONSTANT: (2653..2655)\n NUMBER: (2653..2655) \"79\"\n ATMOSPHERE: (2655..2656) \" \"\n CONSTANT: (2656..2658)\n NUMBER: (2656..2658) \"23\"\n ATMOSPHERE: (2658..2659) \" \"\n CONSTANT: (2659..2661)\n NUMBER: (2659..2661) \"45\"\n ATMOSPHERE: (2661..2662) \" \"\n CONSTANT: (2662..2663)\n NUMBER: (2662..2663) \"6\"\n ATMOSPHERE: (2663..2664) \" \"\n CONSTANT: (2664..2665)\n NUMBER: (2664..2665) \"9\"\n CLOSE_PAREN: (2665..2666) \")\"\n CLOSE_PAREN: (2666..2667) \")\"\n CLOSE_PAREN: (2667..2668) \")\"\n FORM: (2668..2677)\n OPEN_PAREN: (2668..2669) \"(\"\n SYMBOL: (2669..2676)\n IDENTIFIER: (2669..2676) \"newline\"\n CLOSE_PAREN: (2676..2677) \")\"\n ATMOSPHERE: (2677..2678) \"\n\"\n FORM: (2678..2742)\n OPEN_PAREN: (2678..2679) \"(\"\n SYMBOL: (2679..2686)\n IDENTIFIER: (2679..2686) \"display\"\n ATMOSPHERE: (2686..2687) \" \"\n FORM: (2687..2741)\n OPEN_PAREN: (2687..2688) \"(\"\n SYMBOL: (2688..2697)\n IDENTIFIER: (2688..2697) \"quicksort\"\n ATMOSPHERE: (2697..2698) \" \"\n QUOTED_DATUM: (2698..2740)\n QUOTE: (2698..2699) \"'\"\n FORM: (2699..2740)\n OPEN_PAREN: (2699..2700) \"(\"\n CONSTANT: (2700..2701)\n NUMBER: (2700..2701) \"9\"\n ATMOSPHERE: (2701..2702) \" \"\n CONSTANT: (2702..2703)\n NUMBER: (2702..2703) \"8\"\n ATMOSPHERE: (2703..2704) \" \"\n CONSTANT: (2704..2705)\n NUMBER: (2704..2705) \"7\"\n ATMOSPHERE: (2705..2706) \" \"\n CONSTANT: (2706..2707)\n NUMBER: (2706..2707) \"6\"\n ATMOSPHERE: (2707..2708) \" \"\n CONSTANT: (2708..2709)\n NUMBER: (2708..2709) \"5\"\n ATMOSPHERE: (2709..2710) \" \"\n CONSTANT: (2710..2711)\n NUMBER: (2710..2711) \"4\"\n ATMOSPHERE: (2711..2712) \" \"\n CONSTANT: (2712..2713)\n NUMBER: (2712..2713) \"3\"\n ATMOSPHERE: (2713..2714) \" \"\n CONSTANT: (2714..2715)\n NUMBER: (2714..2715) \"2\"\n ATMOSPHERE: (2715..2716) \" \"\n CONSTANT: (2716..2717)\n NUMBER: (2716..2717) \"1\"\n ATMOSPHERE: (2717..2718) \" \"\n CONSTANT: (2718..2719)\n NUMBER: (2718..2719) \"0\"\n ATMOSPHERE: (2719..2720) \" \"\n CONSTANT: (2720..2721)\n NUMBER: (2720..2721) \"0\"\n ATMOSPHERE: (2721..2722) \" \"\n CONSTANT: (2722..2723)\n NUMBER: (2722..2723) \"1\"\n ATMOSPHERE: (2723..2724) \" \"\n CONSTANT: (2724..2725)\n NUMBER: (2724..2725) \"2\"\n ATMOSPHERE: (2725..2726) \" \"\n CONSTANT: (2726..2727)\n NUMBER: (2726..2727) \"3\"\n ATMOSPHERE: (2727..2728) \" \"\n CONSTANT: (2728..2729)\n NUMBER: (2728..2729) \"4\"\n ATMOSPHERE: (2729..2730) \" \"\n CONSTANT: (2730..2731)\n NUMBER: (2730..2731) \"5\"\n ATMOSPHERE: (2731..2732) \" \"\n CONSTANT: (2732..2733)\n NUMBER: (2732..2733) \"6\"\n ATMOSPHERE: (2733..2734) \" \"\n CONSTANT: (2734..2735)\n NUMBER: (2734..2735) \"7\"\n ATMOSPHERE: (2735..2736) \" \"\n CONSTANT: (2736..2737)\n NUMBER: (2736..2737) \"8\"\n ATMOSPHERE: (2737..2738) \" \"\n CONSTANT: (2738..2739)\n NUMBER: (2738..2739) \"9\"\n CLOSE_PAREN: (2739..2740) \")\"\n CLOSE_PAREN: (2740..2741) \")\"\n CLOSE_PAREN: (2741..2742) \")\"\n FORM: (2742..2751)\n OPEN_PAREN: (2742..2743) \"(\"\n SYMBOL: (2743..2750)\n IDENTIFIER: (2743..2750) \"newline\"\n CLOSE_PAREN: (2750..2751) \")\"\n ATMOSPHERE: (2751..2752) \"\n\"\n EOF: (2752..2752) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json b/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json index e6b223f..ef8169c 100644 --- a/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..502)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n QUOTED_DATUM: (51..53)\n QUOTE: (51..52) \"'\"\n CONSTANT: (52..53)\n NUMBER: (52..53) \"1\"\n CLOSE_PAREN: (53..54) \")\"\n FORM: (54..63)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..62)\n IDENTIFIER: (55..62) \"newline\"\n CLOSE_PAREN: (62..63) \")\"\n ATMOSPHERE: (63..64) \"\n\"\n FORM: (64..88)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..72)\n IDENTIFIER: (65..72) \"display\"\n ATMOSPHERE: (72..73) \" \"\n QUOTED_DATUM: (73..87)\n QUOTE: (73..74) \"'\"\n CONSTANT: (74..87)\n STRING: (74..87) \"\"hello world\"\"\n CLOSE_PAREN: (87..88) \")\"\n FORM: (88..97)\n OPEN_PAREN: (88..89) \"(\"\n SYMBOL: (89..96)\n IDENTIFIER: (89..96) \"newline\"\n CLOSE_PAREN: (96..97) \")\"\n ATMOSPHERE: (97..98) \"\n\"\n FORM: (98..111)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..106)\n IDENTIFIER: (99..106) \"display\"\n ATMOSPHERE: (106..107) \" \"\n QUOTED_DATUM: (107..110)\n QUOTE: (107..108) \"'\"\n FORM: (108..110)\n OPEN_PAREN: (108..109) \"(\"\n CLOSE_PAREN: (109..110) \")\"\n CLOSE_PAREN: (110..111) \")\"\n FORM: (111..120)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..119)\n IDENTIFIER: (112..119) \"newline\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..121) \"\n\"\n FORM: (121..139)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..129)\n IDENTIFIER: (122..129) \"display\"\n ATMOSPHERE: (129..130) \" \"\n QUOTED_DATUM: (130..138)\n QUOTE: (130..131) \"'\"\n FORM: (131..138)\n OPEN_PAREN: (131..132) \"(\"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"1\"\n ATMOSPHERE: (133..134) \" \"\n CONSTANT: (134..135)\n NUMBER: (134..135) \"2\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..137)\n NUMBER: (136..137) \"3\"\n CLOSE_PAREN: (137..138) \")\"\n CLOSE_PAREN: (138..139) \")\"\n FORM: (139..148)\n OPEN_PAREN: (139..140) \"(\"\n SYMBOL: (140..147)\n IDENTIFIER: (140..147) \"newline\"\n CLOSE_PAREN: (147..148) \")\"\n ATMOSPHERE: (148..149) \"\n\"\n FORM: (149..168)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..157)\n IDENTIFIER: (150..157) \"display\"\n ATMOSPHERE: (157..158) \" \"\n FORM: (158..167)\n OPEN_PAREN: (158..159) \"(\"\n SYMBOL: (159..164)\n IDENTIFIER: (159..164) \"quote\"\n ATMOSPHERE: (164..165) \" \"\n CONSTANT: (165..166)\n NUMBER: (165..166) \"1\"\n CLOSE_PAREN: (166..167) \")\"\n CLOSE_PAREN: (167..168) \")\"\n FORM: (168..177)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..176)\n IDENTIFIER: (169..176) \"newline\"\n CLOSE_PAREN: (176..177) \")\"\n ATMOSPHERE: (177..178) \"\n\"\n FORM: (178..209)\n OPEN_PAREN: (178..179) \"(\"\n SYMBOL: (179..186)\n IDENTIFIER: (179..186) \"display\"\n ATMOSPHERE: (186..187) \" \"\n FORM: (187..208)\n OPEN_PAREN: (187..188) \"(\"\n SYMBOL: (188..193)\n IDENTIFIER: (188..193) \"quote\"\n ATMOSPHERE: (193..194) \" \"\n CONSTANT: (194..207)\n STRING: (194..207) \"\"hello world\"\"\n CLOSE_PAREN: (207..208) \")\"\n CLOSE_PAREN: (208..209) \")\"\n FORM: (209..218)\n OPEN_PAREN: (209..210) \"(\"\n SYMBOL: (210..217)\n IDENTIFIER: (210..217) \"newline\"\n CLOSE_PAREN: (217..218) \")\"\n ATMOSPHERE: (218..219) \"\n\"\n FORM: (219..239)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..227)\n IDENTIFIER: (220..227) \"display\"\n ATMOSPHERE: (227..228) \" \"\n FORM: (228..238)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..234)\n IDENTIFIER: (229..234) \"quote\"\n ATMOSPHERE: (234..235) \" \"\n FORM: (235..237)\n OPEN_PAREN: (235..236) \"(\"\n CLOSE_PAREN: (236..237) \")\"\n CLOSE_PAREN: (237..238) \")\"\n CLOSE_PAREN: (238..239) \")\"\n FORM: (239..248)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..247)\n IDENTIFIER: (240..247) \"newline\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..249) \"\n\"\n FORM: (249..274)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..257)\n IDENTIFIER: (250..257) \"display\"\n ATMOSPHERE: (257..258) \" \"\n FORM: (258..273)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..264)\n IDENTIFIER: (259..264) \"quote\"\n ATMOSPHERE: (264..265) \" \"\n FORM: (265..272)\n OPEN_PAREN: (265..266) \"(\"\n CONSTANT: (266..267)\n NUMBER: (266..267) \"1\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..269)\n NUMBER: (268..269) \"2\"\n ATMOSPHERE: (269..270) \" \"\n CONSTANT: (270..271)\n NUMBER: (270..271) \"3\"\n CLOSE_PAREN: (271..272) \")\"\n CLOSE_PAREN: (272..273) \")\"\n CLOSE_PAREN: (273..274) \")\"\n FORM: (274..283)\n OPEN_PAREN: (274..275) \"(\"\n SYMBOL: (275..282)\n IDENTIFIER: (275..282) \"newline\"\n CLOSE_PAREN: (282..283) \")\"\n ATMOSPHERE: (283..284) \"\n\"\n FORM: (284..313)\n OPEN_PAREN: (284..285) \"(\"\n SYMBOL: (285..292)\n IDENTIFIER: (285..292) \"display\"\n ATMOSPHERE: (292..293) \" \"\n FORM: (293..312)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..297)\n IDENTIFIER: (294..297) \"car\"\n ATMOSPHERE: (297..298) \" \"\n FORM: (298..311)\n OPEN_PAREN: (298..299) \"(\"\n SYMBOL: (299..302)\n IDENTIFIER: (299..302) \"cdr\"\n ATMOSPHERE: (302..303) \" \"\n QUOTED_DATUM: (303..310)\n QUOTE: (303..304) \"'\"\n QUOTED_DATUM: (304..310)\n QUOTE: (304..305) \"'\"\n QUOTED_DATUM: (305..310)\n QUOTE: (305..306) \"'\"\n QUOTED_DATUM: (306..310)\n QUOTE: (306..307) \"'\"\n CONSTANT: (307..310)\n NUMBER: (307..310) \"123\"\n CLOSE_PAREN: (310..311) \")\"\n CLOSE_PAREN: (311..312) \")\"\n CLOSE_PAREN: (312..313) \")\"\n FORM: (313..322)\n OPEN_PAREN: (313..314) \"(\"\n SYMBOL: (314..321)\n IDENTIFIER: (314..321) \"newline\"\n CLOSE_PAREN: (321..322) \")\"\n ATMOSPHERE: (322..323) \"\n\"\n FORM: (323..335)\n OPEN_PAREN: (323..324) \"(\"\n SYMBOL: (324..331)\n IDENTIFIER: (324..331) \"display\"\n ATMOSPHERE: (331..332) \" \"\n QUOTED_DATUM: (332..334)\n QUOTE: (332..333) \"'\"\n SYMBOL: (333..334)\n IDENTIFIER: (333..334) \"d\"\n CLOSE_PAREN: (334..335) \")\"\n FORM: (335..344)\n OPEN_PAREN: (335..336) \"(\"\n SYMBOL: (336..343)\n IDENTIFIER: (336..343) \"newline\"\n CLOSE_PAREN: (343..344) \")\"\n ATMOSPHERE: (344..345) \"\n\"\n FORM: (345..363)\n OPEN_PAREN: (345..346) \"(\"\n SYMBOL: (346..353)\n IDENTIFIER: (346..353) \"display\"\n ATMOSPHERE: (353..354) \" \"\n QUOTED_DATUM: (354..362)\n QUOTE: (354..355) \"'\"\n SYMBOL: (355..362)\n IDENTIFIER: (355..362) \"|\\x20;|\"\n CLOSE_PAREN: (362..363) \")\"\n FORM: (363..372)\n OPEN_PAREN: (363..364) \"(\"\n SYMBOL: (364..371)\n IDENTIFIER: (364..371) \"newline\"\n CLOSE_PAREN: (371..372) \")\"\n ATMOSPHERE: (372..373) \"\n\"\n FORM: (373..397)\n OPEN_PAREN: (373..374) \"(\"\n SYMBOL: (374..381)\n IDENTIFIER: (374..381) \"display\"\n ATMOSPHERE: (381..382) \" \"\n QUOTED_DATUM: (382..396)\n QUOTE: (382..383) \"'\"\n SYMBOL: (383..396)\n IDENTIFIER: (383..396) \"|test\\tident|\"\n CLOSE_PAREN: (396..397) \")\"\n FORM: (397..406)\n OPEN_PAREN: (397..398) \"(\"\n SYMBOL: (398..405)\n IDENTIFIER: (398..405) \"newline\"\n CLOSE_PAREN: (405..406) \")\"\n ATMOSPHERE: (406..407) \"\n\"\n FORM: (407..431)\n OPEN_PAREN: (407..408) \"(\"\n SYMBOL: (408..415)\n IDENTIFIER: (408..415) \"display\"\n ATMOSPHERE: (415..416) \" \"\n QUOTED_DATUM: (416..430)\n QUOTE: (416..417) \"'\"\n SYMBOL: (417..430)\n IDENTIFIER: (417..430) \"|hello world|\"\n CLOSE_PAREN: (430..431) \")\"\n FORM: (431..440)\n OPEN_PAREN: (431..432) \"(\"\n SYMBOL: (432..439)\n IDENTIFIER: (432..439) \"newline\"\n CLOSE_PAREN: (439..440) \")\"\n ATMOSPHERE: (440..441) \"\n\"\n FORM: (441..453)\n OPEN_PAREN: (441..442) \"(\"\n SYMBOL: (442..449)\n IDENTIFIER: (442..449) \"display\"\n ATMOSPHERE: (449..450) \" \"\n CONSTANT: (450..452)\n BOOLEAN: (450..452) \"#t\"\n CLOSE_PAREN: (452..453) \")\"\n FORM: (453..462)\n OPEN_PAREN: (453..454) \"(\"\n SYMBOL: (454..461)\n IDENTIFIER: (454..461) \"newline\"\n CLOSE_PAREN: (461..462) \")\"\n ATMOSPHERE: (462..463) \"\n\"\n FORM: (463..492)\n OPEN_PAREN: (463..464) \"(\"\n SYMBOL: (464..471)\n IDENTIFIER: (464..471) \"display\"\n ATMOSPHERE: (471..472) \" \"\n QUOTED_DATUM: (472..491)\n QUOTE: (472..473) \"’\"\n CONSTANT: (473..491)\n STRING: (473..491) \"\"funky-quote-char\"\"\n CLOSE_PAREN: (491..492) \")\"\n FORM: (492..501)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..500)\n IDENTIFIER: (493..500) \"newline\"\n CLOSE_PAREN: (500..501) \")\"\n ATMOSPHERE: (501..502) \"\n\"\n" + "Root": "PROGRAM: (0..502)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n QUOTED_DATUM: (51..53)\n QUOTE: (51..52) \"'\"\n CONSTANT: (52..53)\n NUMBER: (52..53) \"1\"\n CLOSE_PAREN: (53..54) \")\"\n FORM: (54..63)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..62)\n IDENTIFIER: (55..62) \"newline\"\n CLOSE_PAREN: (62..63) \")\"\n ATMOSPHERE: (63..64) \"\n\"\n FORM: (64..88)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..72)\n IDENTIFIER: (65..72) \"display\"\n ATMOSPHERE: (72..73) \" \"\n QUOTED_DATUM: (73..87)\n QUOTE: (73..74) \"'\"\n CONSTANT: (74..87)\n STRING: (74..87) \"\"hello world\"\"\n CLOSE_PAREN: (87..88) \")\"\n FORM: (88..97)\n OPEN_PAREN: (88..89) \"(\"\n SYMBOL: (89..96)\n IDENTIFIER: (89..96) \"newline\"\n CLOSE_PAREN: (96..97) \")\"\n ATMOSPHERE: (97..98) \"\n\"\n FORM: (98..111)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..106)\n IDENTIFIER: (99..106) \"display\"\n ATMOSPHERE: (106..107) \" \"\n QUOTED_DATUM: (107..110)\n QUOTE: (107..108) \"'\"\n FORM: (108..110)\n OPEN_PAREN: (108..109) \"(\"\n CLOSE_PAREN: (109..110) \")\"\n CLOSE_PAREN: (110..111) \")\"\n FORM: (111..120)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..119)\n IDENTIFIER: (112..119) \"newline\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..121) \"\n\"\n FORM: (121..139)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..129)\n IDENTIFIER: (122..129) \"display\"\n ATMOSPHERE: (129..130) \" \"\n QUOTED_DATUM: (130..138)\n QUOTE: (130..131) \"'\"\n FORM: (131..138)\n OPEN_PAREN: (131..132) \"(\"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"1\"\n ATMOSPHERE: (133..134) \" \"\n CONSTANT: (134..135)\n NUMBER: (134..135) \"2\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..137)\n NUMBER: (136..137) \"3\"\n CLOSE_PAREN: (137..138) \")\"\n CLOSE_PAREN: (138..139) \")\"\n FORM: (139..148)\n OPEN_PAREN: (139..140) \"(\"\n SYMBOL: (140..147)\n IDENTIFIER: (140..147) \"newline\"\n CLOSE_PAREN: (147..148) \")\"\n ATMOSPHERE: (148..149) \"\n\"\n FORM: (149..168)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..157)\n IDENTIFIER: (150..157) \"display\"\n ATMOSPHERE: (157..158) \" \"\n FORM: (158..167)\n OPEN_PAREN: (158..159) \"(\"\n SYMBOL: (159..164)\n IDENTIFIER: (159..164) \"quote\"\n ATMOSPHERE: (164..165) \" \"\n CONSTANT: (165..166)\n NUMBER: (165..166) \"1\"\n CLOSE_PAREN: (166..167) \")\"\n CLOSE_PAREN: (167..168) \")\"\n FORM: (168..177)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..176)\n IDENTIFIER: (169..176) \"newline\"\n CLOSE_PAREN: (176..177) \")\"\n ATMOSPHERE: (177..178) \"\n\"\n FORM: (178..209)\n OPEN_PAREN: (178..179) \"(\"\n SYMBOL: (179..186)\n IDENTIFIER: (179..186) \"display\"\n ATMOSPHERE: (186..187) \" \"\n FORM: (187..208)\n OPEN_PAREN: (187..188) \"(\"\n SYMBOL: (188..193)\n IDENTIFIER: (188..193) \"quote\"\n ATMOSPHERE: (193..194) \" \"\n CONSTANT: (194..207)\n STRING: (194..207) \"\"hello world\"\"\n CLOSE_PAREN: (207..208) \")\"\n CLOSE_PAREN: (208..209) \")\"\n FORM: (209..218)\n OPEN_PAREN: (209..210) \"(\"\n SYMBOL: (210..217)\n IDENTIFIER: (210..217) \"newline\"\n CLOSE_PAREN: (217..218) \")\"\n ATMOSPHERE: (218..219) \"\n\"\n FORM: (219..239)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..227)\n IDENTIFIER: (220..227) \"display\"\n ATMOSPHERE: (227..228) \" \"\n FORM: (228..238)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..234)\n IDENTIFIER: (229..234) \"quote\"\n ATMOSPHERE: (234..235) \" \"\n FORM: (235..237)\n OPEN_PAREN: (235..236) \"(\"\n CLOSE_PAREN: (236..237) \")\"\n CLOSE_PAREN: (237..238) \")\"\n CLOSE_PAREN: (238..239) \")\"\n FORM: (239..248)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..247)\n IDENTIFIER: (240..247) \"newline\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..249) \"\n\"\n FORM: (249..274)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..257)\n IDENTIFIER: (250..257) \"display\"\n ATMOSPHERE: (257..258) \" \"\n FORM: (258..273)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..264)\n IDENTIFIER: (259..264) \"quote\"\n ATMOSPHERE: (264..265) \" \"\n FORM: (265..272)\n OPEN_PAREN: (265..266) \"(\"\n CONSTANT: (266..267)\n NUMBER: (266..267) \"1\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..269)\n NUMBER: (268..269) \"2\"\n ATMOSPHERE: (269..270) \" \"\n CONSTANT: (270..271)\n NUMBER: (270..271) \"3\"\n CLOSE_PAREN: (271..272) \")\"\n CLOSE_PAREN: (272..273) \")\"\n CLOSE_PAREN: (273..274) \")\"\n FORM: (274..283)\n OPEN_PAREN: (274..275) \"(\"\n SYMBOL: (275..282)\n IDENTIFIER: (275..282) \"newline\"\n CLOSE_PAREN: (282..283) \")\"\n ATMOSPHERE: (283..284) \"\n\"\n FORM: (284..313)\n OPEN_PAREN: (284..285) \"(\"\n SYMBOL: (285..292)\n IDENTIFIER: (285..292) \"display\"\n ATMOSPHERE: (292..293) \" \"\n FORM: (293..312)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..297)\n IDENTIFIER: (294..297) \"car\"\n ATMOSPHERE: (297..298) \" \"\n FORM: (298..311)\n OPEN_PAREN: (298..299) \"(\"\n SYMBOL: (299..302)\n IDENTIFIER: (299..302) \"cdr\"\n ATMOSPHERE: (302..303) \" \"\n QUOTED_DATUM: (303..310)\n QUOTE: (303..304) \"'\"\n QUOTED_DATUM: (304..310)\n QUOTE: (304..305) \"'\"\n QUOTED_DATUM: (305..310)\n QUOTE: (305..306) \"'\"\n QUOTED_DATUM: (306..310)\n QUOTE: (306..307) \"'\"\n CONSTANT: (307..310)\n NUMBER: (307..310) \"123\"\n CLOSE_PAREN: (310..311) \")\"\n CLOSE_PAREN: (311..312) \")\"\n CLOSE_PAREN: (312..313) \")\"\n FORM: (313..322)\n OPEN_PAREN: (313..314) \"(\"\n SYMBOL: (314..321)\n IDENTIFIER: (314..321) \"newline\"\n CLOSE_PAREN: (321..322) \")\"\n ATMOSPHERE: (322..323) \"\n\"\n FORM: (323..335)\n OPEN_PAREN: (323..324) \"(\"\n SYMBOL: (324..331)\n IDENTIFIER: (324..331) \"display\"\n ATMOSPHERE: (331..332) \" \"\n QUOTED_DATUM: (332..334)\n QUOTE: (332..333) \"'\"\n SYMBOL: (333..334)\n IDENTIFIER: (333..334) \"d\"\n CLOSE_PAREN: (334..335) \")\"\n FORM: (335..344)\n OPEN_PAREN: (335..336) \"(\"\n SYMBOL: (336..343)\n IDENTIFIER: (336..343) \"newline\"\n CLOSE_PAREN: (343..344) \")\"\n ATMOSPHERE: (344..345) \"\n\"\n FORM: (345..363)\n OPEN_PAREN: (345..346) \"(\"\n SYMBOL: (346..353)\n IDENTIFIER: (346..353) \"display\"\n ATMOSPHERE: (353..354) \" \"\n QUOTED_DATUM: (354..362)\n QUOTE: (354..355) \"'\"\n SYMBOL: (355..362)\n IDENTIFIER: (355..362) \"|\\x20;|\"\n CLOSE_PAREN: (362..363) \")\"\n FORM: (363..372)\n OPEN_PAREN: (363..364) \"(\"\n SYMBOL: (364..371)\n IDENTIFIER: (364..371) \"newline\"\n CLOSE_PAREN: (371..372) \")\"\n ATMOSPHERE: (372..373) \"\n\"\n FORM: (373..397)\n OPEN_PAREN: (373..374) \"(\"\n SYMBOL: (374..381)\n IDENTIFIER: (374..381) \"display\"\n ATMOSPHERE: (381..382) \" \"\n QUOTED_DATUM: (382..396)\n QUOTE: (382..383) \"'\"\n SYMBOL: (383..396)\n IDENTIFIER: (383..396) \"|test\\tident|\"\n CLOSE_PAREN: (396..397) \")\"\n FORM: (397..406)\n OPEN_PAREN: (397..398) \"(\"\n SYMBOL: (398..405)\n IDENTIFIER: (398..405) \"newline\"\n CLOSE_PAREN: (405..406) \")\"\n ATMOSPHERE: (406..407) \"\n\"\n FORM: (407..431)\n OPEN_PAREN: (407..408) \"(\"\n SYMBOL: (408..415)\n IDENTIFIER: (408..415) \"display\"\n ATMOSPHERE: (415..416) \" \"\n QUOTED_DATUM: (416..430)\n QUOTE: (416..417) \"'\"\n SYMBOL: (417..430)\n IDENTIFIER: (417..430) \"|hello world|\"\n CLOSE_PAREN: (430..431) \")\"\n FORM: (431..440)\n OPEN_PAREN: (431..432) \"(\"\n SYMBOL: (432..439)\n IDENTIFIER: (432..439) \"newline\"\n CLOSE_PAREN: (439..440) \")\"\n ATMOSPHERE: (440..441) \"\n\"\n FORM: (441..453)\n OPEN_PAREN: (441..442) \"(\"\n SYMBOL: (442..449)\n IDENTIFIER: (442..449) \"display\"\n ATMOSPHERE: (449..450) \" \"\n CONSTANT: (450..452)\n BOOLEAN: (450..452) \"#t\"\n CLOSE_PAREN: (452..453) \")\"\n FORM: (453..462)\n OPEN_PAREN: (453..454) \"(\"\n SYMBOL: (454..461)\n IDENTIFIER: (454..461) \"newline\"\n CLOSE_PAREN: (461..462) \")\"\n ATMOSPHERE: (462..463) \"\n\"\n FORM: (463..492)\n OPEN_PAREN: (463..464) \"(\"\n SYMBOL: (464..471)\n IDENTIFIER: (464..471) \"display\"\n ATMOSPHERE: (471..472) \" \"\n QUOTED_DATUM: (472..491)\n QUOTE: (472..473) \"’\"\n CONSTANT: (473..491)\n STRING: (473..491) \"\"funky-quote-char\"\"\n CLOSE_PAREN: (491..492) \")\"\n FORM: (492..501)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..500)\n IDENTIFIER: (493..500) \"newline\"\n CLOSE_PAREN: (500..501) \")\"\n ATMOSPHERE: (501..502) \"\n\"\n EOF: (502..502) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json b/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json index f50487f..98f0297 100644 --- a/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..818)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..92) \";; Captured Local Compaction (shadow locals) Test\"\n ATMOSPHERE: (92..93) \"\n\"\n ATMOSPHERE: (93..94) \";\"\n ATMOSPHERE: (94..95) \"\n\"\n ATMOSPHERE: (95..174) \"; In this example `foo` has two locals. The first is the function `bar` and the\"\n ATMOSPHERE: (174..175) \"\n\"\n ATMOSPHERE: (175..248) \"; second is the initial value `baz`. Once we have performed free variable\"\n ATMOSPHERE: (248..249) \"\n\"\n ATMOSPHERE: (249..324) \"; analysis on the function we identify that `Local 0` (bar) is captured. We\"\n ATMOSPHERE: (324..325) \"\n\"\n ATMOSPHERE: (325..405) \"; want the Lower pass to re-write `baz` from `Local 1` down to `Local 0` in this\"\n ATMOSPHERE: (405..406) \"\n\"\n ATMOSPHERE: (406..484) \"; case, as well as re-writing the references to the captured value to the env.\"\n ATMOSPHERE: (484..485) \"\n\"\n ATMOSPHERE: (485..486) \";\"\n ATMOSPHERE: (486..487) \"\n\"\n ATMOSPHERE: (487..572) \"; captures, locals -- Lower --> captures, locals \"\n ATMOSPHERE: (572..573) \"\n\"\n FORM: (573..791)\n OPEN_PAREN: (573..574) \"(\"\n SYMBOL: (574..580)\n IDENTIFIER: (574..580) \"define\"\n ATMOSPHERE: (580..581) \" \"\n FORM: (581..586)\n OPEN_PAREN: (581..582) \"(\"\n SYMBOL: (582..585)\n IDENTIFIER: (582..585) \"foo\"\n CLOSE_PAREN: (585..586) \")\"\n ATMOSPHERE: (586..592) \" \"\n ATMOSPHERE: (592..637) \"; [], [Local 0; Local 1] -> [], [Local 0]\"\n ATMOSPHERE: (637..640) \"\n \"\n FORM: (640..760)\n OPEN_PAREN: (640..641) \"(\"\n SYMBOL: (641..647)\n IDENTIFIER: (641..647) \"define\"\n ATMOSPHERE: (647..648) \" \"\n FORM: (648..655)\n OPEN_PAREN: (648..649) \"(\"\n SYMBOL: (649..652)\n IDENTIFIER: (649..652) \"bar\"\n ATMOSPHERE: (652..653) \" \"\n SYMBOL: (653..654)\n IDENTIFIER: (653..654) \"x\"\n CLOSE_PAREN: (654..655) \")\"\n ATMOSPHERE: (655..657) \" \"\n ATMOSPHERE: (657..713) \"; [Local 0], [Arg 0] -> [Environment 0], [Arg 0]\"\n ATMOSPHERE: (713..718) \"\n \"\n FORM: (718..759)\n OPEN_PAREN: (718..719) \"(\"\n SYMBOL: (719..721)\n IDENTIFIER: (719..721) \"if\"\n ATMOSPHERE: (721..722) \" \"\n FORM: (722..730)\n OPEN_PAREN: (722..723) \"(\"\n SYMBOL: (723..724)\n IDENTIFIER: (723..724) \"<\"\n ATMOSPHERE: (724..725) \" \"\n SYMBOL: (725..726)\n IDENTIFIER: (725..726) \"x\"\n ATMOSPHERE: (726..727) \" \"\n CONSTANT: (727..729)\n NUMBER: (727..729) \"10\"\n CLOSE_PAREN: (729..730) \")\"\n ATMOSPHERE: (730..737) \"\n \"\n SYMBOL: (737..738)\n IDENTIFIER: (737..738) \"x\"\n ATMOSPHERE: (738..745) \"\n \"\n FORM: (745..758)\n OPEN_PAREN: (745..746) \"(\"\n SYMBOL: (746..749)\n IDENTIFIER: (746..749) \"bar\"\n ATMOSPHERE: (749..750) \" \"\n FORM: (750..757)\n OPEN_PAREN: (750..751) \"(\"\n SYMBOL: (751..752)\n IDENTIFIER: (751..752) \"-\"\n ATMOSPHERE: (752..753) \" \"\n SYMBOL: (753..754)\n IDENTIFIER: (753..754) \"x\"\n ATMOSPHERE: (754..755) \" \"\n CONSTANT: (755..756)\n NUMBER: (755..756) \"1\"\n CLOSE_PAREN: (756..757) \")\"\n CLOSE_PAREN: (757..758) \")\"\n CLOSE_PAREN: (758..759) \")\"\n CLOSE_PAREN: (759..760) \")\"\n ATMOSPHERE: (760..763) \"\n \"\n FORM: (763..778)\n OPEN_PAREN: (763..764) \"(\"\n SYMBOL: (764..770)\n IDENTIFIER: (764..770) \"define\"\n ATMOSPHERE: (770..771) \" \"\n SYMBOL: (771..774)\n IDENTIFIER: (771..774) \"baz\"\n ATMOSPHERE: (774..775) \" \"\n CONSTANT: (775..777)\n NUMBER: (775..777) \"10\"\n CLOSE_PAREN: (777..778) \")\"\n ATMOSPHERE: (778..781) \"\n \"\n FORM: (781..790)\n OPEN_PAREN: (781..782) \"(\"\n SYMBOL: (782..785)\n IDENTIFIER: (782..785) \"bar\"\n ATMOSPHERE: (785..786) \" \"\n SYMBOL: (786..789)\n IDENTIFIER: (786..789) \"baz\"\n CLOSE_PAREN: (789..790) \")\"\n CLOSE_PAREN: (790..791) \")\"\n ATMOSPHERE: (791..793) \"\n\n\"\n FORM: (793..808)\n OPEN_PAREN: (793..794) \"(\"\n SYMBOL: (794..801)\n IDENTIFIER: (794..801) \"display\"\n ATMOSPHERE: (801..802) \" \"\n FORM: (802..807)\n OPEN_PAREN: (802..803) \"(\"\n SYMBOL: (803..806)\n IDENTIFIER: (803..806) \"foo\"\n CLOSE_PAREN: (806..807) \")\"\n CLOSE_PAREN: (807..808) \")\"\n FORM: (808..817)\n OPEN_PAREN: (808..809) \"(\"\n SYMBOL: (809..816)\n IDENTIFIER: (809..816) \"newline\"\n CLOSE_PAREN: (816..817) \")\"\n ATMOSPHERE: (817..818) \"\n\"\n" + "Root": "PROGRAM: (0..818)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..92) \";; Captured Local Compaction (shadow locals) Test\"\n ATMOSPHERE: (92..93) \"\n\"\n ATMOSPHERE: (93..94) \";\"\n ATMOSPHERE: (94..95) \"\n\"\n ATMOSPHERE: (95..174) \"; In this example `foo` has two locals. The first is the function `bar` and the\"\n ATMOSPHERE: (174..175) \"\n\"\n ATMOSPHERE: (175..248) \"; second is the initial value `baz`. Once we have performed free variable\"\n ATMOSPHERE: (248..249) \"\n\"\n ATMOSPHERE: (249..324) \"; analysis on the function we identify that `Local 0` (bar) is captured. We\"\n ATMOSPHERE: (324..325) \"\n\"\n ATMOSPHERE: (325..405) \"; want the Lower pass to re-write `baz` from `Local 1` down to `Local 0` in this\"\n ATMOSPHERE: (405..406) \"\n\"\n ATMOSPHERE: (406..484) \"; case, as well as re-writing the references to the captured value to the env.\"\n ATMOSPHERE: (484..485) \"\n\"\n ATMOSPHERE: (485..486) \";\"\n ATMOSPHERE: (486..487) \"\n\"\n ATMOSPHERE: (487..572) \"; captures, locals -- Lower --> captures, locals \"\n ATMOSPHERE: (572..573) \"\n\"\n FORM: (573..791)\n OPEN_PAREN: (573..574) \"(\"\n SYMBOL: (574..580)\n IDENTIFIER: (574..580) \"define\"\n ATMOSPHERE: (580..581) \" \"\n FORM: (581..586)\n OPEN_PAREN: (581..582) \"(\"\n SYMBOL: (582..585)\n IDENTIFIER: (582..585) \"foo\"\n CLOSE_PAREN: (585..586) \")\"\n ATMOSPHERE: (586..592) \" \"\n ATMOSPHERE: (592..637) \"; [], [Local 0; Local 1] -> [], [Local 0]\"\n ATMOSPHERE: (637..640) \"\n \"\n FORM: (640..760)\n OPEN_PAREN: (640..641) \"(\"\n SYMBOL: (641..647)\n IDENTIFIER: (641..647) \"define\"\n ATMOSPHERE: (647..648) \" \"\n FORM: (648..655)\n OPEN_PAREN: (648..649) \"(\"\n SYMBOL: (649..652)\n IDENTIFIER: (649..652) \"bar\"\n ATMOSPHERE: (652..653) \" \"\n SYMBOL: (653..654)\n IDENTIFIER: (653..654) \"x\"\n CLOSE_PAREN: (654..655) \")\"\n ATMOSPHERE: (655..657) \" \"\n ATMOSPHERE: (657..713) \"; [Local 0], [Arg 0] -> [Environment 0], [Arg 0]\"\n ATMOSPHERE: (713..718) \"\n \"\n FORM: (718..759)\n OPEN_PAREN: (718..719) \"(\"\n SYMBOL: (719..721)\n IDENTIFIER: (719..721) \"if\"\n ATMOSPHERE: (721..722) \" \"\n FORM: (722..730)\n OPEN_PAREN: (722..723) \"(\"\n SYMBOL: (723..724)\n IDENTIFIER: (723..724) \"<\"\n ATMOSPHERE: (724..725) \" \"\n SYMBOL: (725..726)\n IDENTIFIER: (725..726) \"x\"\n ATMOSPHERE: (726..727) \" \"\n CONSTANT: (727..729)\n NUMBER: (727..729) \"10\"\n CLOSE_PAREN: (729..730) \")\"\n ATMOSPHERE: (730..737) \"\n \"\n SYMBOL: (737..738)\n IDENTIFIER: (737..738) \"x\"\n ATMOSPHERE: (738..745) \"\n \"\n FORM: (745..758)\n OPEN_PAREN: (745..746) \"(\"\n SYMBOL: (746..749)\n IDENTIFIER: (746..749) \"bar\"\n ATMOSPHERE: (749..750) \" \"\n FORM: (750..757)\n OPEN_PAREN: (750..751) \"(\"\n SYMBOL: (751..752)\n IDENTIFIER: (751..752) \"-\"\n ATMOSPHERE: (752..753) \" \"\n SYMBOL: (753..754)\n IDENTIFIER: (753..754) \"x\"\n ATMOSPHERE: (754..755) \" \"\n CONSTANT: (755..756)\n NUMBER: (755..756) \"1\"\n CLOSE_PAREN: (756..757) \")\"\n CLOSE_PAREN: (757..758) \")\"\n CLOSE_PAREN: (758..759) \")\"\n CLOSE_PAREN: (759..760) \")\"\n ATMOSPHERE: (760..763) \"\n \"\n FORM: (763..778)\n OPEN_PAREN: (763..764) \"(\"\n SYMBOL: (764..770)\n IDENTIFIER: (764..770) \"define\"\n ATMOSPHERE: (770..771) \" \"\n SYMBOL: (771..774)\n IDENTIFIER: (771..774) \"baz\"\n ATMOSPHERE: (774..775) \" \"\n CONSTANT: (775..777)\n NUMBER: (775..777) \"10\"\n CLOSE_PAREN: (777..778) \")\"\n ATMOSPHERE: (778..781) \"\n \"\n FORM: (781..790)\n OPEN_PAREN: (781..782) \"(\"\n SYMBOL: (782..785)\n IDENTIFIER: (782..785) \"bar\"\n ATMOSPHERE: (785..786) \" \"\n SYMBOL: (786..789)\n IDENTIFIER: (786..789) \"baz\"\n CLOSE_PAREN: (789..790) \")\"\n CLOSE_PAREN: (790..791) \")\"\n ATMOSPHERE: (791..793) \"\n\n\"\n FORM: (793..808)\n OPEN_PAREN: (793..794) \"(\"\n SYMBOL: (794..801)\n IDENTIFIER: (794..801) \"display\"\n ATMOSPHERE: (801..802) \" \"\n FORM: (802..807)\n OPEN_PAREN: (802..803) \"(\"\n SYMBOL: (803..806)\n IDENTIFIER: (803..806) \"foo\"\n CLOSE_PAREN: (806..807) \")\"\n CLOSE_PAREN: (807..808) \")\"\n FORM: (808..817)\n OPEN_PAREN: (808..809) \"(\"\n SYMBOL: (809..816)\n IDENTIFIER: (809..816) \"newline\"\n CLOSE_PAREN: (816..817) \")\"\n ATMOSPHERE: (817..818) \"\n\"\n EOF: (818..818) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json b/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json index ef42ddb..d1e003e 100644 --- a/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..483)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..300)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..47)\n IDENTIFIER: (41..47) \"define\"\n ATMOSPHERE: (47..48) \" \"\n FORM: (48..76)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..60)\n IDENTIFIER: (49..60) \"string-join\"\n ATMOSPHERE: (60..61) \" \"\n SYMBOL: (61..65)\n IDENTIFIER: (61..65) \"list\"\n ATMOSPHERE: (65..66) \" \"\n SYMBOL: (66..75)\n IDENTIFIER: (66..75) \"delimiter\"\n CLOSE_PAREN: (75..76) \")\"\n ATMOSPHERE: (76..79) \"\n \"\n FORM: (79..229)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..86)\n IDENTIFIER: (80..86) \"define\"\n ATMOSPHERE: (86..87) \" \"\n FORM: (87..115)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..102)\n IDENTIFIER: (88..102) \"string-join-to\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..109)\n IDENTIFIER: (103..109) \"result\"\n ATMOSPHERE: (109..110) \" \"\n SYMBOL: (110..114)\n IDENTIFIER: (110..114) \"list\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..120) \"\n \"\n FORM: (120..228)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..123)\n IDENTIFIER: (121..123) \"if\"\n ATMOSPHERE: (123..124) \" \"\n FORM: (124..136)\n OPEN_PAREN: (124..125) \"(\"\n SYMBOL: (125..130)\n IDENTIFIER: (125..130) \"null?\"\n ATMOSPHERE: (130..131) \" \"\n SYMBOL: (131..135)\n IDENTIFIER: (131..135) \"list\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..143) \"\n \"\n SYMBOL: (143..149)\n IDENTIFIER: (143..149) \"result\"\n ATMOSPHERE: (149..156) \"\n \"\n FORM: (156..227)\n OPEN_PAREN: (156..157) \"(\"\n SYMBOL: (157..171)\n IDENTIFIER: (157..171) \"string-join-to\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..215)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..186)\n IDENTIFIER: (173..186) \"string-append\"\n ATMOSPHERE: (186..187) \" \"\n SYMBOL: (187..193)\n IDENTIFIER: (187..193) \"result\"\n ATMOSPHERE: (193..194) \" \"\n SYMBOL: (194..203)\n IDENTIFIER: (194..203) \"delimiter\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..214)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..208)\n IDENTIFIER: (205..208) \"car\"\n ATMOSPHERE: (208..209) \" \"\n SYMBOL: (209..213)\n IDENTIFIER: (209..213) \"list\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..216) \" \"\n FORM: (216..226)\n OPEN_PAREN: (216..217) \"(\"\n SYMBOL: (217..220)\n IDENTIFIER: (217..220) \"cdr\"\n ATMOSPHERE: (220..221) \" \"\n SYMBOL: (221..225)\n IDENTIFIER: (221..225) \"list\"\n CLOSE_PAREN: (225..226) \")\"\n CLOSE_PAREN: (226..227) \")\"\n CLOSE_PAREN: (227..228) \")\"\n CLOSE_PAREN: (228..229) \")\"\n ATMOSPHERE: (229..232) \"\n \"\n FORM: (232..299)\n OPEN_PAREN: (232..233) \"(\"\n SYMBOL: (233..235)\n IDENTIFIER: (233..235) \"if\"\n ATMOSPHERE: (235..236) \" \"\n FORM: (236..248)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..242)\n IDENTIFIER: (237..242) \"null?\"\n ATMOSPHERE: (242..243) \" \"\n SYMBOL: (243..247)\n IDENTIFIER: (243..247) \"list\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..253) \"\n \"\n CONSTANT: (253..255)\n STRING: (253..255) \"\"\"\"\n ATMOSPHERE: (255..260) \"\n \"\n FORM: (260..298)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..275)\n IDENTIFIER: (261..275) \"string-join-to\"\n ATMOSPHERE: (275..276) \" \"\n FORM: (276..286)\n OPEN_PAREN: (276..277) \"(\"\n SYMBOL: (277..280)\n IDENTIFIER: (277..280) \"car\"\n ATMOSPHERE: (280..281) \" \"\n SYMBOL: (281..285)\n IDENTIFIER: (281..285) \"list\"\n CLOSE_PAREN: (285..286) \")\"\n ATMOSPHERE: (286..287) \" \"\n FORM: (287..297)\n OPEN_PAREN: (287..288) \"(\"\n SYMBOL: (288..291)\n IDENTIFIER: (288..291) \"cdr\"\n ATMOSPHERE: (291..292) \" \"\n SYMBOL: (292..296)\n IDENTIFIER: (292..296) \"list\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n CLOSE_PAREN: (298..299) \")\"\n CLOSE_PAREN: (299..300) \")\"\n ATMOSPHERE: (300..301) \"\n\"\n FORM: (301..360)\n OPEN_PAREN: (301..302) \"(\"\n SYMBOL: (302..309)\n IDENTIFIER: (302..309) \"display\"\n ATMOSPHERE: (309..310) \" \"\n FORM: (310..359)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..324)\n IDENTIFIER: (311..324) \"string-append\"\n ATMOSPHERE: (324..325) \" \"\n CONSTANT: (325..330)\n STRING: (325..330) \"\"<<{\"\"\n ATMOSPHERE: (330..331) \" \"\n FORM: (331..352)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..343)\n IDENTIFIER: (332..343) \"string-join\"\n ATMOSPHERE: (343..344) \" \"\n QUOTED_DATUM: (344..348)\n QUOTE: (344..345) \"'\"\n FORM: (345..347)\n OPEN_PAREN: (345..346) \"(\"\n CLOSE_PAREN: (346..347) \")\"\n ATMOSPHERE: (347..348) \" \"\n CONSTANT: (348..351)\n STRING: (348..351) \"\"-\"\"\n CLOSE_PAREN: (351..352) \")\"\n ATMOSPHERE: (352..353) \" \"\n CONSTANT: (353..358)\n STRING: (353..358) \"\"}>>\"\"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n FORM: (360..369)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..368)\n IDENTIFIER: (361..368) \"newline\"\n CLOSE_PAREN: (368..369) \")\"\n ATMOSPHERE: (369..370) \"\n\"\n FORM: (370..415)\n OPEN_PAREN: (370..371) \"(\"\n SYMBOL: (371..378)\n IDENTIFIER: (371..378) \"display\"\n ATMOSPHERE: (378..379) \" \"\n FORM: (379..414)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..391)\n IDENTIFIER: (380..391) \"string-join\"\n ATMOSPHERE: (391..392) \" \"\n FORM: (392..408)\n OPEN_PAREN: (392..393) \"(\"\n SYMBOL: (393..397)\n IDENTIFIER: (393..397) \"cons\"\n ATMOSPHERE: (397..398) \" \"\n CONSTANT: (398..403)\n STRING: (398..403) \"\"foo\"\"\n ATMOSPHERE: (403..404) \" \"\n QUOTED_DATUM: (404..407)\n QUOTE: (404..405) \"'\"\n FORM: (405..407)\n OPEN_PAREN: (405..406) \"(\"\n CLOSE_PAREN: (406..407) \")\"\n CLOSE_PAREN: (407..408) \")\"\n ATMOSPHERE: (408..409) \" \"\n CONSTANT: (409..413)\n STRING: (409..413) \"\"||\"\"\n CLOSE_PAREN: (413..414) \")\"\n CLOSE_PAREN: (414..415) \")\"\n FORM: (415..424)\n OPEN_PAREN: (415..416) \"(\"\n SYMBOL: (416..423)\n IDENTIFIER: (416..423) \"newline\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..425) \"\n\"\n FORM: (425..473)\n OPEN_PAREN: (425..426) \"(\"\n SYMBOL: (426..433)\n IDENTIFIER: (426..433) \"display\"\n ATMOSPHERE: (433..434) \" \"\n FORM: (434..472)\n OPEN_PAREN: (434..435) \"(\"\n SYMBOL: (435..446)\n IDENTIFIER: (435..446) \"string-join\"\n ATMOSPHERE: (446..447) \" \"\n QUOTED_DATUM: (447..468)\n QUOTE: (447..448) \"'\"\n FORM: (448..467)\n OPEN_PAREN: (448..449) \"(\"\n CONSTANT: (449..454)\n STRING: (449..454) \"\"foo\"\"\n ATMOSPHERE: (454..455) \" \"\n CONSTANT: (455..460)\n STRING: (455..460) \"\"bar\"\"\n ATMOSPHERE: (460..461) \" \"\n CONSTANT: (461..466)\n STRING: (461..466) \"\"baz\"\"\n CLOSE_PAREN: (466..467) \")\"\n ATMOSPHERE: (467..468) \" \"\n CONSTANT: (468..471)\n STRING: (468..471) \"\":\"\"\n CLOSE_PAREN: (471..472) \")\"\n CLOSE_PAREN: (472..473) \")\"\n FORM: (473..482)\n OPEN_PAREN: (473..474) \"(\"\n SYMBOL: (474..481)\n IDENTIFIER: (474..481) \"newline\"\n CLOSE_PAREN: (481..482) \")\"\n ATMOSPHERE: (482..483) \"\n\"\n" + "Root": "PROGRAM: (0..483)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..300)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..47)\n IDENTIFIER: (41..47) \"define\"\n ATMOSPHERE: (47..48) \" \"\n FORM: (48..76)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..60)\n IDENTIFIER: (49..60) \"string-join\"\n ATMOSPHERE: (60..61) \" \"\n SYMBOL: (61..65)\n IDENTIFIER: (61..65) \"list\"\n ATMOSPHERE: (65..66) \" \"\n SYMBOL: (66..75)\n IDENTIFIER: (66..75) \"delimiter\"\n CLOSE_PAREN: (75..76) \")\"\n ATMOSPHERE: (76..79) \"\n \"\n FORM: (79..229)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..86)\n IDENTIFIER: (80..86) \"define\"\n ATMOSPHERE: (86..87) \" \"\n FORM: (87..115)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..102)\n IDENTIFIER: (88..102) \"string-join-to\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..109)\n IDENTIFIER: (103..109) \"result\"\n ATMOSPHERE: (109..110) \" \"\n SYMBOL: (110..114)\n IDENTIFIER: (110..114) \"list\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..120) \"\n \"\n FORM: (120..228)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..123)\n IDENTIFIER: (121..123) \"if\"\n ATMOSPHERE: (123..124) \" \"\n FORM: (124..136)\n OPEN_PAREN: (124..125) \"(\"\n SYMBOL: (125..130)\n IDENTIFIER: (125..130) \"null?\"\n ATMOSPHERE: (130..131) \" \"\n SYMBOL: (131..135)\n IDENTIFIER: (131..135) \"list\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..143) \"\n \"\n SYMBOL: (143..149)\n IDENTIFIER: (143..149) \"result\"\n ATMOSPHERE: (149..156) \"\n \"\n FORM: (156..227)\n OPEN_PAREN: (156..157) \"(\"\n SYMBOL: (157..171)\n IDENTIFIER: (157..171) \"string-join-to\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..215)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..186)\n IDENTIFIER: (173..186) \"string-append\"\n ATMOSPHERE: (186..187) \" \"\n SYMBOL: (187..193)\n IDENTIFIER: (187..193) \"result\"\n ATMOSPHERE: (193..194) \" \"\n SYMBOL: (194..203)\n IDENTIFIER: (194..203) \"delimiter\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..214)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..208)\n IDENTIFIER: (205..208) \"car\"\n ATMOSPHERE: (208..209) \" \"\n SYMBOL: (209..213)\n IDENTIFIER: (209..213) \"list\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..216) \" \"\n FORM: (216..226)\n OPEN_PAREN: (216..217) \"(\"\n SYMBOL: (217..220)\n IDENTIFIER: (217..220) \"cdr\"\n ATMOSPHERE: (220..221) \" \"\n SYMBOL: (221..225)\n IDENTIFIER: (221..225) \"list\"\n CLOSE_PAREN: (225..226) \")\"\n CLOSE_PAREN: (226..227) \")\"\n CLOSE_PAREN: (227..228) \")\"\n CLOSE_PAREN: (228..229) \")\"\n ATMOSPHERE: (229..232) \"\n \"\n FORM: (232..299)\n OPEN_PAREN: (232..233) \"(\"\n SYMBOL: (233..235)\n IDENTIFIER: (233..235) \"if\"\n ATMOSPHERE: (235..236) \" \"\n FORM: (236..248)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..242)\n IDENTIFIER: (237..242) \"null?\"\n ATMOSPHERE: (242..243) \" \"\n SYMBOL: (243..247)\n IDENTIFIER: (243..247) \"list\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..253) \"\n \"\n CONSTANT: (253..255)\n STRING: (253..255) \"\"\"\"\n ATMOSPHERE: (255..260) \"\n \"\n FORM: (260..298)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..275)\n IDENTIFIER: (261..275) \"string-join-to\"\n ATMOSPHERE: (275..276) \" \"\n FORM: (276..286)\n OPEN_PAREN: (276..277) \"(\"\n SYMBOL: (277..280)\n IDENTIFIER: (277..280) \"car\"\n ATMOSPHERE: (280..281) \" \"\n SYMBOL: (281..285)\n IDENTIFIER: (281..285) \"list\"\n CLOSE_PAREN: (285..286) \")\"\n ATMOSPHERE: (286..287) \" \"\n FORM: (287..297)\n OPEN_PAREN: (287..288) \"(\"\n SYMBOL: (288..291)\n IDENTIFIER: (288..291) \"cdr\"\n ATMOSPHERE: (291..292) \" \"\n SYMBOL: (292..296)\n IDENTIFIER: (292..296) \"list\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n CLOSE_PAREN: (298..299) \")\"\n CLOSE_PAREN: (299..300) \")\"\n ATMOSPHERE: (300..301) \"\n\"\n FORM: (301..360)\n OPEN_PAREN: (301..302) \"(\"\n SYMBOL: (302..309)\n IDENTIFIER: (302..309) \"display\"\n ATMOSPHERE: (309..310) \" \"\n FORM: (310..359)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..324)\n IDENTIFIER: (311..324) \"string-append\"\n ATMOSPHERE: (324..325) \" \"\n CONSTANT: (325..330)\n STRING: (325..330) \"\"<<{\"\"\n ATMOSPHERE: (330..331) \" \"\n FORM: (331..352)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..343)\n IDENTIFIER: (332..343) \"string-join\"\n ATMOSPHERE: (343..344) \" \"\n QUOTED_DATUM: (344..348)\n QUOTE: (344..345) \"'\"\n FORM: (345..347)\n OPEN_PAREN: (345..346) \"(\"\n CLOSE_PAREN: (346..347) \")\"\n ATMOSPHERE: (347..348) \" \"\n CONSTANT: (348..351)\n STRING: (348..351) \"\"-\"\"\n CLOSE_PAREN: (351..352) \")\"\n ATMOSPHERE: (352..353) \" \"\n CONSTANT: (353..358)\n STRING: (353..358) \"\"}>>\"\"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n FORM: (360..369)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..368)\n IDENTIFIER: (361..368) \"newline\"\n CLOSE_PAREN: (368..369) \")\"\n ATMOSPHERE: (369..370) \"\n\"\n FORM: (370..415)\n OPEN_PAREN: (370..371) \"(\"\n SYMBOL: (371..378)\n IDENTIFIER: (371..378) \"display\"\n ATMOSPHERE: (378..379) \" \"\n FORM: (379..414)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..391)\n IDENTIFIER: (380..391) \"string-join\"\n ATMOSPHERE: (391..392) \" \"\n FORM: (392..408)\n OPEN_PAREN: (392..393) \"(\"\n SYMBOL: (393..397)\n IDENTIFIER: (393..397) \"cons\"\n ATMOSPHERE: (397..398) \" \"\n CONSTANT: (398..403)\n STRING: (398..403) \"\"foo\"\"\n ATMOSPHERE: (403..404) \" \"\n QUOTED_DATUM: (404..407)\n QUOTE: (404..405) \"'\"\n FORM: (405..407)\n OPEN_PAREN: (405..406) \"(\"\n CLOSE_PAREN: (406..407) \")\"\n CLOSE_PAREN: (407..408) \")\"\n ATMOSPHERE: (408..409) \" \"\n CONSTANT: (409..413)\n STRING: (409..413) \"\"||\"\"\n CLOSE_PAREN: (413..414) \")\"\n CLOSE_PAREN: (414..415) \")\"\n FORM: (415..424)\n OPEN_PAREN: (415..416) \"(\"\n SYMBOL: (416..423)\n IDENTIFIER: (416..423) \"newline\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..425) \"\n\"\n FORM: (425..473)\n OPEN_PAREN: (425..426) \"(\"\n SYMBOL: (426..433)\n IDENTIFIER: (426..433) \"display\"\n ATMOSPHERE: (433..434) \" \"\n FORM: (434..472)\n OPEN_PAREN: (434..435) \"(\"\n SYMBOL: (435..446)\n IDENTIFIER: (435..446) \"string-join\"\n ATMOSPHERE: (446..447) \" \"\n QUOTED_DATUM: (447..468)\n QUOTE: (447..448) \"'\"\n FORM: (448..467)\n OPEN_PAREN: (448..449) \"(\"\n CONSTANT: (449..454)\n STRING: (449..454) \"\"foo\"\"\n ATMOSPHERE: (454..455) \" \"\n CONSTANT: (455..460)\n STRING: (455..460) \"\"bar\"\"\n ATMOSPHERE: (460..461) \" \"\n CONSTANT: (461..466)\n STRING: (461..466) \"\"baz\"\"\n CLOSE_PAREN: (466..467) \")\"\n ATMOSPHERE: (467..468) \" \"\n CONSTANT: (468..471)\n STRING: (468..471) \"\":\"\"\n CLOSE_PAREN: (471..472) \")\"\n CLOSE_PAREN: (472..473) \")\"\n FORM: (473..482)\n OPEN_PAREN: (473..474) \"(\"\n SYMBOL: (474..481)\n IDENTIFIER: (474..481) \"newline\"\n CLOSE_PAREN: (481..482) \")\"\n ATMOSPHERE: (482..483) \"\n\"\n EOF: (483..483) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_strings.scm.json b/test/Feersum.Tests/_snapshots/Parse_strings.scm.json index 9e5fc06..d72ba78 100644 --- a/test/Feersum.Tests/_snapshots/Parse_strings.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_strings.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..33)\n CONSTANT: (0..13)\n STRING: (0..13) \"\"hello world\"\"\n ATMOSPHERE: (13..14) \"\n\"\n CONSTANT: (14..32)\n STRING: (14..32) \"\"stuff and things\"\"\n ATMOSPHERE: (32..33) \"\n\"\n" + "Root": "PROGRAM: (0..33)\n CONSTANT: (0..13)\n STRING: (0..13) \"\"hello world\"\"\n ATMOSPHERE: (13..14) \"\n\"\n CONSTANT: (14..32)\n STRING: (14..32) \"\"stuff and things\"\"\n ATMOSPHERE: (32..33) \"\n\"\n EOF: (33..33) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json b/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json index cf03e97..3be415f 100644 --- a/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..403)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..115)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..64)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"swap\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..59)\n IDENTIFIER: (57..59) \"me\"\n ATMOSPHERE: (59..60) \" \"\n SYMBOL: (60..63)\n IDENTIFIER: (60..63) \"you\"\n CLOSE_PAREN: (63..64) \")\"\n ATMOSPHERE: (64..69) \"\n \"\n FORM: (69..114)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..73)\n IDENTIFIER: (70..73) \"let\"\n ATMOSPHERE: (73..74) \" \"\n FORM: (74..101)\n OPEN_PAREN: (74..75) \"(\"\n FORM: (75..83)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..78)\n IDENTIFIER: (76..78) \"me\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..82)\n IDENTIFIER: (79..82) \"you\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..92) \"\n \"\n FORM: (92..100)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..96)\n IDENTIFIER: (93..96) \"you\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..99)\n IDENTIFIER: (97..99) \"me\"\n CLOSE_PAREN: (99..100) \")\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..110) \"\n \"\n SYMBOL: (110..113)\n IDENTIFIER: (110..113) \"you\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..340)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..121)\n IDENTIFIER: (118..121) \"let\"\n ATMOSPHERE: (121..122) \" \"\n FORM: (122..135)\n OPEN_PAREN: (122..123) \"(\"\n FORM: (123..128)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..125)\n IDENTIFIER: (124..125) \"x\"\n ATMOSPHERE: (125..126) \" \"\n CONSTANT: (126..127)\n NUMBER: (126..127) \"1\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..129) \" \"\n FORM: (129..134)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"y\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"2\"\n CLOSE_PAREN: (133..134) \")\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..140) \"\n \"\n FORM: (140..298)\n OPEN_PAREN: (140..141) \"(\"\n SYMBOL: (141..154)\n IDENTIFIER: (141..154) \"define-syntax\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..160)\n IDENTIFIER: (155..160) \"swap!\"\n ATMOSPHERE: (160..169) \"\n \"\n FORM: (169..297)\n OPEN_PAREN: (169..170) \"(\"\n SYMBOL: (170..182)\n IDENTIFIER: (170..182) \"syntax-rules\"\n ATMOSPHERE: (182..183) \" \"\n FORM: (183..185)\n OPEN_PAREN: (183..184) \"(\"\n CLOSE_PAREN: (184..185) \")\"\n ATMOSPHERE: (185..198) \"\n \"\n FORM: (198..296)\n OPEN_PAREN: (198..199) \"(\"\n FORM: (199..210)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..205)\n IDENTIFIER: (200..205) \"swap!\"\n ATMOSPHERE: (205..206) \" \"\n SYMBOL: (206..207)\n IDENTIFIER: (206..207) \"a\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..209)\n IDENTIFIER: (208..209) \"b\"\n CLOSE_PAREN: (209..210) \")\"\n ATMOSPHERE: (210..224) \"\n \"\n FORM: (224..295)\n OPEN_PAREN: (224..225) \"(\"\n SYMBOL: (225..228)\n IDENTIFIER: (225..228) \"let\"\n ATMOSPHERE: (228..229) \" \"\n FORM: (229..238)\n OPEN_PAREN: (229..230) \"(\"\n FORM: (230..237)\n OPEN_PAREN: (230..231) \"(\"\n SYMBOL: (231..234)\n IDENTIFIER: (231..234) \"tmp\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"a\"\n CLOSE_PAREN: (236..237) \")\"\n CLOSE_PAREN: (237..238) \")\"\n ATMOSPHERE: (238..255) \"\n \"\n FORM: (255..265)\n OPEN_PAREN: (255..256) \"(\"\n SYMBOL: (256..260)\n IDENTIFIER: (256..260) \"set!\"\n ATMOSPHERE: (260..261) \" \"\n SYMBOL: (261..262)\n IDENTIFIER: (261..262) \"a\"\n ATMOSPHERE: (262..263) \" \"\n SYMBOL: (263..264)\n IDENTIFIER: (263..264) \"b\"\n CLOSE_PAREN: (264..265) \")\"\n ATMOSPHERE: (265..282) \"\n \"\n FORM: (282..294)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..287)\n IDENTIFIER: (283..287) \"set!\"\n ATMOSPHERE: (287..288) \" \"\n SYMBOL: (288..289)\n IDENTIFIER: (288..289) \"b\"\n ATMOSPHERE: (289..290) \" \"\n SYMBOL: (290..293)\n IDENTIFIER: (290..293) \"tmp\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n ATMOSPHERE: (298..303) \"\n \"\n FORM: (303..314)\n OPEN_PAREN: (303..304) \"(\"\n SYMBOL: (304..309)\n IDENTIFIER: (304..309) \"swap!\"\n ATMOSPHERE: (309..310) \" \"\n SYMBOL: (310..311)\n IDENTIFIER: (310..311) \"x\"\n ATMOSPHERE: (311..312) \" \"\n SYMBOL: (312..313)\n IDENTIFIER: (312..313) \"y\"\n CLOSE_PAREN: (313..314) \")\"\n ATMOSPHERE: (314..319) \"\n \"\n FORM: (319..339)\n OPEN_PAREN: (319..320) \"(\"\n SYMBOL: (320..327)\n IDENTIFIER: (320..327) \"display\"\n ATMOSPHERE: (327..328) \" \"\n FORM: (328..338)\n OPEN_PAREN: (328..329) \"(\"\n SYMBOL: (329..333)\n IDENTIFIER: (329..333) \"list\"\n ATMOSPHERE: (333..334) \" \"\n SYMBOL: (334..335)\n IDENTIFIER: (334..335) \"x\"\n ATMOSPHERE: (335..336) \" \"\n SYMBOL: (336..337)\n IDENTIFIER: (336..337) \"y\"\n CLOSE_PAREN: (337..338) \")\"\n CLOSE_PAREN: (338..339) \")\"\n CLOSE_PAREN: (339..340) \")\"\n ATMOSPHERE: (340..342) \"\n\n\"\n FORM: (342..376)\n OPEN_PAREN: (342..343) \"(\"\n SYMBOL: (343..350)\n IDENTIFIER: (343..350) \"display\"\n ATMOSPHERE: (350..351) \" \"\n FORM: (351..375)\n OPEN_PAREN: (351..352) \"(\"\n SYMBOL: (352..356)\n IDENTIFIER: (352..356) \"swap\"\n ATMOSPHERE: (356..357) \" \"\n CONSTANT: (357..365)\n STRING: (357..365) \"\"Fooble\"\"\n ATMOSPHERE: (365..366) \" \"\n CONSTANT: (366..374)\n STRING: (366..374) \"\"Barble\"\"\n CLOSE_PAREN: (374..375) \")\"\n CLOSE_PAREN: (375..376) \")\"\n ATMOSPHERE: (376..378) \"\n\n\"\n FORM: (378..403)\n OPEN_PAREN: (378..379) \"(\"\n SYMBOL: (379..380)\n IDENTIFIER: (379..380) \"=\"\n ATMOSPHERE: (380..381) \" \"\n FORM: (381..398)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..386)\n IDENTIFIER: (382..386) \"swap\"\n ATMOSPHERE: (386..387) \" \"\n CONSTANT: (387..390)\n NUMBER: (387..390) \"123\"\n ATMOSPHERE: (390..391) \" \"\n CONSTANT: (391..397)\n STRING: (391..397) \"\"Test\"\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..399) \" \"\n CONSTANT: (399..402)\n NUMBER: (399..402) \"123\"\n CLOSE_PAREN: (402..403) \")\"\n" + "Root": "PROGRAM: (0..403)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..115)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..64)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"swap\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..59)\n IDENTIFIER: (57..59) \"me\"\n ATMOSPHERE: (59..60) \" \"\n SYMBOL: (60..63)\n IDENTIFIER: (60..63) \"you\"\n CLOSE_PAREN: (63..64) \")\"\n ATMOSPHERE: (64..69) \"\n \"\n FORM: (69..114)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..73)\n IDENTIFIER: (70..73) \"let\"\n ATMOSPHERE: (73..74) \" \"\n FORM: (74..101)\n OPEN_PAREN: (74..75) \"(\"\n FORM: (75..83)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..78)\n IDENTIFIER: (76..78) \"me\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..82)\n IDENTIFIER: (79..82) \"you\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..92) \"\n \"\n FORM: (92..100)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..96)\n IDENTIFIER: (93..96) \"you\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..99)\n IDENTIFIER: (97..99) \"me\"\n CLOSE_PAREN: (99..100) \")\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..110) \"\n \"\n SYMBOL: (110..113)\n IDENTIFIER: (110..113) \"you\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..340)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..121)\n IDENTIFIER: (118..121) \"let\"\n ATMOSPHERE: (121..122) \" \"\n FORM: (122..135)\n OPEN_PAREN: (122..123) \"(\"\n FORM: (123..128)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..125)\n IDENTIFIER: (124..125) \"x\"\n ATMOSPHERE: (125..126) \" \"\n CONSTANT: (126..127)\n NUMBER: (126..127) \"1\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..129) \" \"\n FORM: (129..134)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"y\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"2\"\n CLOSE_PAREN: (133..134) \")\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..140) \"\n \"\n FORM: (140..298)\n OPEN_PAREN: (140..141) \"(\"\n SYMBOL: (141..154)\n IDENTIFIER: (141..154) \"define-syntax\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..160)\n IDENTIFIER: (155..160) \"swap!\"\n ATMOSPHERE: (160..169) \"\n \"\n FORM: (169..297)\n OPEN_PAREN: (169..170) \"(\"\n SYMBOL: (170..182)\n IDENTIFIER: (170..182) \"syntax-rules\"\n ATMOSPHERE: (182..183) \" \"\n FORM: (183..185)\n OPEN_PAREN: (183..184) \"(\"\n CLOSE_PAREN: (184..185) \")\"\n ATMOSPHERE: (185..198) \"\n \"\n FORM: (198..296)\n OPEN_PAREN: (198..199) \"(\"\n FORM: (199..210)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..205)\n IDENTIFIER: (200..205) \"swap!\"\n ATMOSPHERE: (205..206) \" \"\n SYMBOL: (206..207)\n IDENTIFIER: (206..207) \"a\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..209)\n IDENTIFIER: (208..209) \"b\"\n CLOSE_PAREN: (209..210) \")\"\n ATMOSPHERE: (210..224) \"\n \"\n FORM: (224..295)\n OPEN_PAREN: (224..225) \"(\"\n SYMBOL: (225..228)\n IDENTIFIER: (225..228) \"let\"\n ATMOSPHERE: (228..229) \" \"\n FORM: (229..238)\n OPEN_PAREN: (229..230) \"(\"\n FORM: (230..237)\n OPEN_PAREN: (230..231) \"(\"\n SYMBOL: (231..234)\n IDENTIFIER: (231..234) \"tmp\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"a\"\n CLOSE_PAREN: (236..237) \")\"\n CLOSE_PAREN: (237..238) \")\"\n ATMOSPHERE: (238..255) \"\n \"\n FORM: (255..265)\n OPEN_PAREN: (255..256) \"(\"\n SYMBOL: (256..260)\n IDENTIFIER: (256..260) \"set!\"\n ATMOSPHERE: (260..261) \" \"\n SYMBOL: (261..262)\n IDENTIFIER: (261..262) \"a\"\n ATMOSPHERE: (262..263) \" \"\n SYMBOL: (263..264)\n IDENTIFIER: (263..264) \"b\"\n CLOSE_PAREN: (264..265) \")\"\n ATMOSPHERE: (265..282) \"\n \"\n FORM: (282..294)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..287)\n IDENTIFIER: (283..287) \"set!\"\n ATMOSPHERE: (287..288) \" \"\n SYMBOL: (288..289)\n IDENTIFIER: (288..289) \"b\"\n ATMOSPHERE: (289..290) \" \"\n SYMBOL: (290..293)\n IDENTIFIER: (290..293) \"tmp\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n ATMOSPHERE: (298..303) \"\n \"\n FORM: (303..314)\n OPEN_PAREN: (303..304) \"(\"\n SYMBOL: (304..309)\n IDENTIFIER: (304..309) \"swap!\"\n ATMOSPHERE: (309..310) \" \"\n SYMBOL: (310..311)\n IDENTIFIER: (310..311) \"x\"\n ATMOSPHERE: (311..312) \" \"\n SYMBOL: (312..313)\n IDENTIFIER: (312..313) \"y\"\n CLOSE_PAREN: (313..314) \")\"\n ATMOSPHERE: (314..319) \"\n \"\n FORM: (319..339)\n OPEN_PAREN: (319..320) \"(\"\n SYMBOL: (320..327)\n IDENTIFIER: (320..327) \"display\"\n ATMOSPHERE: (327..328) \" \"\n FORM: (328..338)\n OPEN_PAREN: (328..329) \"(\"\n SYMBOL: (329..333)\n IDENTIFIER: (329..333) \"list\"\n ATMOSPHERE: (333..334) \" \"\n SYMBOL: (334..335)\n IDENTIFIER: (334..335) \"x\"\n ATMOSPHERE: (335..336) \" \"\n SYMBOL: (336..337)\n IDENTIFIER: (336..337) \"y\"\n CLOSE_PAREN: (337..338) \")\"\n CLOSE_PAREN: (338..339) \")\"\n CLOSE_PAREN: (339..340) \")\"\n ATMOSPHERE: (340..342) \"\n\n\"\n FORM: (342..376)\n OPEN_PAREN: (342..343) \"(\"\n SYMBOL: (343..350)\n IDENTIFIER: (343..350) \"display\"\n ATMOSPHERE: (350..351) \" \"\n FORM: (351..375)\n OPEN_PAREN: (351..352) \"(\"\n SYMBOL: (352..356)\n IDENTIFIER: (352..356) \"swap\"\n ATMOSPHERE: (356..357) \" \"\n CONSTANT: (357..365)\n STRING: (357..365) \"\"Fooble\"\"\n ATMOSPHERE: (365..366) \" \"\n CONSTANT: (366..374)\n STRING: (366..374) \"\"Barble\"\"\n CLOSE_PAREN: (374..375) \")\"\n CLOSE_PAREN: (375..376) \")\"\n ATMOSPHERE: (376..378) \"\n\n\"\n FORM: (378..403)\n OPEN_PAREN: (378..379) \"(\"\n SYMBOL: (379..380)\n IDENTIFIER: (379..380) \"=\"\n ATMOSPHERE: (380..381) \" \"\n FORM: (381..398)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..386)\n IDENTIFIER: (382..386) \"swap\"\n ATMOSPHERE: (386..387) \" \"\n CONSTANT: (387..390)\n NUMBER: (387..390) \"123\"\n ATMOSPHERE: (390..391) \" \"\n CONSTANT: (391..397)\n STRING: (391..397) \"\"Test\"\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..399) \" \"\n CONSTANT: (399..402)\n NUMBER: (399..402) \"123\"\n CLOSE_PAREN: (402..403) \")\"\n EOF: (403..403) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json b/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json index 9803e3b..96ad499 100644 --- a/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..792)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..231)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..230)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..61) \"\n \"\n FORM: (61..75)\n OPEN_PAREN: (61..62) \"(\"\n SYMBOL: (62..69)\n IDENTIFIER: (62..69) \"symbol?\"\n ATMOSPHERE: (69..70) \" \"\n QUOTED_DATUM: (70..74)\n QUOTE: (70..71) \"’\"\n SYMBOL: (71..74)\n IDENTIFIER: (71..74) \"foo\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..76) \" \"\n ATMOSPHERE: (76..83) \"; -> #t\"\n ATMOSPHERE: (83..88) \"\n \"\n FORM: (88..110)\n OPEN_PAREN: (88..89) \"(\"\n SYMBOL: (89..96)\n IDENTIFIER: (89..96) \"symbol?\"\n ATMOSPHERE: (96..97) \" \"\n FORM: (97..109)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..101)\n IDENTIFIER: (98..101) \"car\"\n ATMOSPHERE: (101..102) \" \"\n QUOTED_DATUM: (102..108)\n QUOTE: (102..103) \"’\"\n FORM: (103..108)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..105)\n IDENTIFIER: (104..105) \"a\"\n ATMOSPHERE: (105..106) \" \"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"b\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n CLOSE_PAREN: (109..110) \")\"\n ATMOSPHERE: (110..111) \" \"\n ATMOSPHERE: (111..118) \"; -> #t\"\n ATMOSPHERE: (118..123) \"\n \"\n FORM: (123..138)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..131)\n IDENTIFIER: (124..131) \"symbol?\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..137)\n STRING: (132..137) \"\"bar\"\"\n CLOSE_PAREN: (137..138) \")\"\n ATMOSPHERE: (138..139) \" \"\n ATMOSPHERE: (139..146) \"; -> #f\"\n ATMOSPHERE: (146..151) \"\n \"\n FORM: (151..165)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..159)\n IDENTIFIER: (152..159) \"symbol?\"\n ATMOSPHERE: (159..160) \" \"\n QUOTED_DATUM: (160..164)\n QUOTE: (160..161) \"’\"\n SYMBOL: (161..164)\n IDENTIFIER: (161..164) \"nil\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..166) \" \"\n ATMOSPHERE: (166..173) \"; -> #t\"\n ATMOSPHERE: (173..178) \"\n \"\n FORM: (178..191)\n OPEN_PAREN: (178..179) \"(\"\n SYMBOL: (179..186)\n IDENTIFIER: (179..186) \"symbol?\"\n ATMOSPHERE: (186..187) \" \"\n QUOTED_DATUM: (187..190)\n QUOTE: (187..188) \"’\"\n FORM: (188..190)\n OPEN_PAREN: (188..189) \"(\"\n CLOSE_PAREN: (189..190) \")\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..192) \" \"\n ATMOSPHERE: (192..199) \"; -> #f\"\n ATMOSPHERE: (199..204) \"\n \"\n FORM: (204..216)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..212)\n IDENTIFIER: (205..212) \"symbol?\"\n ATMOSPHERE: (212..213) \" \"\n CONSTANT: (213..215)\n BOOLEAN: (213..215) \"#f\"\n CLOSE_PAREN: (215..216) \")\"\n ATMOSPHERE: (216..217) \" \"\n ATMOSPHERE: (217..224) \"; -> #f\"\n ATMOSPHERE: (224..229) \"\n \"\n CLOSE_PAREN: (229..230) \")\"\n CLOSE_PAREN: (230..231) \")\"\n FORM: (231..240)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..239)\n IDENTIFIER: (232..239) \"newline\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \"\n\"\n FORM: (241..326)\n OPEN_PAREN: (241..242) \"(\"\n SYMBOL: (242..249)\n IDENTIFIER: (242..249) \"display\"\n ATMOSPHERE: (249..250) \" \"\n FORM: (250..325)\n OPEN_PAREN: (250..251) \"(\"\n SYMBOL: (251..255)\n IDENTIFIER: (251..255) \"list\"\n ATMOSPHERE: (255..260) \"\n \"\n FORM: (260..291)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..269)\n IDENTIFIER: (261..269) \"symbol=?\"\n ATMOSPHERE: (269..270) \" \"\n QUOTED_DATUM: (270..277)\n QUOTE: (270..271) \"'\"\n SYMBOL: (271..276)\n IDENTIFIER: (271..276) \"hello\"\n ATMOSPHERE: (276..277) \" \"\n QUOTED_DATUM: (277..284)\n QUOTE: (277..278) \"'\"\n SYMBOL: (278..283)\n IDENTIFIER: (278..283) \"hello\"\n ATMOSPHERE: (283..284) \" \"\n QUOTED_DATUM: (284..290)\n QUOTE: (284..285) \"'\"\n SYMBOL: (285..290)\n IDENTIFIER: (285..290) \"hello\"\n CLOSE_PAREN: (290..291) \")\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..319)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..305)\n IDENTIFIER: (297..305) \"symbol=?\"\n ATMOSPHERE: (305..306) \" \"\n CONSTANT: (306..312)\n STRING: (306..312) \"\"nope\"\"\n ATMOSPHERE: (312..313) \" \"\n QUOTED_DATUM: (313..318)\n QUOTE: (313..314) \"'\"\n SYMBOL: (314..318)\n IDENTIFIER: (314..318) \"nope\"\n CLOSE_PAREN: (318..319) \")\"\n ATMOSPHERE: (319..324) \"\n \"\n CLOSE_PAREN: (324..325) \")\"\n CLOSE_PAREN: (325..326) \")\"\n FORM: (326..335)\n OPEN_PAREN: (326..327) \"(\"\n SYMBOL: (327..334)\n IDENTIFIER: (327..334) \"newline\"\n CLOSE_PAREN: (334..335) \")\"\n ATMOSPHERE: (335..336) \"\n\"\n FORM: (336..783)\n OPEN_PAREN: (336..337) \"(\"\n SYMBOL: (337..344)\n IDENTIFIER: (337..344) \"display\"\n ATMOSPHERE: (344..345) \" \"\n FORM: (345..782)\n OPEN_PAREN: (345..346) \"(\"\n SYMBOL: (346..350)\n IDENTIFIER: (346..350) \"list\"\n ATMOSPHERE: (350..355) \"\n \"\n FORM: (355..384)\n OPEN_PAREN: (355..356) \"(\"\n SYMBOL: (356..370)\n IDENTIFIER: (356..370) \"symbol->string\"\n ATMOSPHERE: (370..371) \" \"\n QUOTED_DATUM: (371..383)\n QUOTE: (371..372) \"’\"\n SYMBOL: (372..383)\n IDENTIFIER: (372..383) \"flying-fish\"\n CLOSE_PAREN: (383..384) \")\"\n ATMOSPHERE: (384..385) \" \"\n ATMOSPHERE: (385..403) \"; -> \"flying-fish\"\"\n ATMOSPHERE: (403..408) \"\n \"\n FORM: (408..432)\n OPEN_PAREN: (408..409) \"(\"\n SYMBOL: (409..423)\n IDENTIFIER: (409..423) \"symbol->string\"\n ATMOSPHERE: (423..424) \" \"\n QUOTED_DATUM: (424..431)\n QUOTE: (424..425) \"’\"\n SYMBOL: (425..431)\n IDENTIFIER: (425..431) \"Martin\"\n CLOSE_PAREN: (431..432) \")\"\n ATMOSPHERE: (432..433) \" \"\n ATMOSPHERE: (433..446) \"; -> \"Martin\"\"\n ATMOSPHERE: (446..451) \"\n \"\n FORM: (451..494)\n OPEN_PAREN: (451..452) \"(\"\n SYMBOL: (452..466)\n IDENTIFIER: (452..466) \"symbol->string\"\n ATMOSPHERE: (466..467) \" \"\n FORM: (467..493)\n OPEN_PAREN: (467..468) \"(\"\n SYMBOL: (468..482)\n IDENTIFIER: (468..482) \"string->symbol\"\n ATMOSPHERE: (482..483) \" \"\n CONSTANT: (483..492)\n STRING: (483..492) \"\"Malvina\"\"\n CLOSE_PAREN: (492..493) \")\"\n CLOSE_PAREN: (493..494) \")\"\n ATMOSPHERE: (494..495) \" \"\n ATMOSPHERE: (495..509) \"; -> \"Malvina\"\"\n ATMOSPHERE: (509..514) \"\n \"\n FORM: (514..544)\n OPEN_PAREN: (514..515) \"(\"\n SYMBOL: (515..529)\n IDENTIFIER: (515..529) \"string->symbol\"\n ATMOSPHERE: (529..530) \" \"\n CONSTANT: (530..543)\n STRING: (530..543) \"\"mISSISSIppi\"\"\n CLOSE_PAREN: (543..544) \")\"\n ATMOSPHERE: (544..545) \" \"\n ATMOSPHERE: (545..561) \"; -> mISSISSIppi\"\n ATMOSPHERE: (561..566) \"\n \"\n FORM: (566..606)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..571)\n IDENTIFIER: (567..571) \"eqv?\"\n ATMOSPHERE: (571..572) \" \"\n QUOTED_DATUM: (572..580)\n QUOTE: (572..573) \"’\"\n SYMBOL: (573..579)\n IDENTIFIER: (573..579) \"bitBlt\"\n ATMOSPHERE: (579..580) \" \"\n FORM: (580..605)\n OPEN_PAREN: (580..581) \"(\"\n SYMBOL: (581..595)\n IDENTIFIER: (581..595) \"string->symbol\"\n ATMOSPHERE: (595..596) \" \"\n CONSTANT: (596..604)\n STRING: (596..604) \"\"bitBlt\"\"\n CLOSE_PAREN: (604..605) \")\"\n CLOSE_PAREN: (605..606) \")\"\n ATMOSPHERE: (606..607) \" \"\n ATMOSPHERE: (607..614) \"; -> #t\"\n ATMOSPHERE: (614..619) \"\n \"\n FORM: (619..677)\n OPEN_PAREN: (619..620) \"(\"\n SYMBOL: (620..624)\n IDENTIFIER: (620..624) \"eqv?\"\n ATMOSPHERE: (624..625) \" \"\n QUOTED_DATUM: (625..634)\n QUOTE: (625..626) \"’\"\n SYMBOL: (626..634)\n IDENTIFIER: (626..634) \"LollyPop\"\n FORM: (634..676)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..649)\n IDENTIFIER: (635..649) \"string->symbol\"\n FORM: (649..675)\n OPEN_PAREN: (649..650) \"(\"\n SYMBOL: (650..664)\n IDENTIFIER: (650..664) \"symbol->string\"\n ATMOSPHERE: (664..665) \" \"\n QUOTED_DATUM: (665..674)\n QUOTE: (665..666) \"’\"\n SYMBOL: (666..674)\n IDENTIFIER: (666..674) \"LollyPop\"\n CLOSE_PAREN: (674..675) \")\"\n CLOSE_PAREN: (675..676) \")\"\n CLOSE_PAREN: (676..677) \")\"\n ATMOSPHERE: (677..678) \" \"\n ATMOSPHERE: (678..685) \"; -> #t\"\n ATMOSPHERE: (685..690) \"\n \"\n FORM: (690..768)\n OPEN_PAREN: (690..691) \"(\"\n SYMBOL: (691..699)\n IDENTIFIER: (691..699) \"string=?\"\n ATMOSPHERE: (699..700) \" \"\n CONSTANT: (700..717)\n STRING: (700..717) \"\"K. Harper, M.D.\"\"\n FORM: (717..767)\n OPEN_PAREN: (717..718) \"(\"\n SYMBOL: (718..732)\n IDENTIFIER: (718..732) \"symbol->string\"\n FORM: (732..766)\n OPEN_PAREN: (732..733) \"(\"\n SYMBOL: (733..747)\n IDENTIFIER: (733..747) \"string->symbol\"\n ATMOSPHERE: (747..748) \" \"\n CONSTANT: (748..765)\n STRING: (748..765) \"\"K. Harper, M.D.\"\"\n CLOSE_PAREN: (765..766) \")\"\n CLOSE_PAREN: (766..767) \")\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..769) \" \"\n ATMOSPHERE: (769..776) \"; -> #t\"\n ATMOSPHERE: (776..781) \"\n \"\n CLOSE_PAREN: (781..782) \")\"\n CLOSE_PAREN: (782..783) \")\"\n FORM: (783..792)\n OPEN_PAREN: (783..784) \"(\"\n SYMBOL: (784..791)\n IDENTIFIER: (784..791) \"newline\"\n CLOSE_PAREN: (791..792) \")\"\n" + "Root": "PROGRAM: (0..792)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..231)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..230)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..61) \"\n \"\n FORM: (61..75)\n OPEN_PAREN: (61..62) \"(\"\n SYMBOL: (62..69)\n IDENTIFIER: (62..69) \"symbol?\"\n ATMOSPHERE: (69..70) \" \"\n QUOTED_DATUM: (70..74)\n QUOTE: (70..71) \"’\"\n SYMBOL: (71..74)\n IDENTIFIER: (71..74) \"foo\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..76) \" \"\n ATMOSPHERE: (76..83) \"; -> #t\"\n ATMOSPHERE: (83..88) \"\n \"\n FORM: (88..110)\n OPEN_PAREN: (88..89) \"(\"\n SYMBOL: (89..96)\n IDENTIFIER: (89..96) \"symbol?\"\n ATMOSPHERE: (96..97) \" \"\n FORM: (97..109)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..101)\n IDENTIFIER: (98..101) \"car\"\n ATMOSPHERE: (101..102) \" \"\n QUOTED_DATUM: (102..108)\n QUOTE: (102..103) \"’\"\n FORM: (103..108)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..105)\n IDENTIFIER: (104..105) \"a\"\n ATMOSPHERE: (105..106) \" \"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"b\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n CLOSE_PAREN: (109..110) \")\"\n ATMOSPHERE: (110..111) \" \"\n ATMOSPHERE: (111..118) \"; -> #t\"\n ATMOSPHERE: (118..123) \"\n \"\n FORM: (123..138)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..131)\n IDENTIFIER: (124..131) \"symbol?\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..137)\n STRING: (132..137) \"\"bar\"\"\n CLOSE_PAREN: (137..138) \")\"\n ATMOSPHERE: (138..139) \" \"\n ATMOSPHERE: (139..146) \"; -> #f\"\n ATMOSPHERE: (146..151) \"\n \"\n FORM: (151..165)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..159)\n IDENTIFIER: (152..159) \"symbol?\"\n ATMOSPHERE: (159..160) \" \"\n QUOTED_DATUM: (160..164)\n QUOTE: (160..161) \"’\"\n SYMBOL: (161..164)\n IDENTIFIER: (161..164) \"nil\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..166) \" \"\n ATMOSPHERE: (166..173) \"; -> #t\"\n ATMOSPHERE: (173..178) \"\n \"\n FORM: (178..191)\n OPEN_PAREN: (178..179) \"(\"\n SYMBOL: (179..186)\n IDENTIFIER: (179..186) \"symbol?\"\n ATMOSPHERE: (186..187) \" \"\n QUOTED_DATUM: (187..190)\n QUOTE: (187..188) \"’\"\n FORM: (188..190)\n OPEN_PAREN: (188..189) \"(\"\n CLOSE_PAREN: (189..190) \")\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..192) \" \"\n ATMOSPHERE: (192..199) \"; -> #f\"\n ATMOSPHERE: (199..204) \"\n \"\n FORM: (204..216)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..212)\n IDENTIFIER: (205..212) \"symbol?\"\n ATMOSPHERE: (212..213) \" \"\n CONSTANT: (213..215)\n BOOLEAN: (213..215) \"#f\"\n CLOSE_PAREN: (215..216) \")\"\n ATMOSPHERE: (216..217) \" \"\n ATMOSPHERE: (217..224) \"; -> #f\"\n ATMOSPHERE: (224..229) \"\n \"\n CLOSE_PAREN: (229..230) \")\"\n CLOSE_PAREN: (230..231) \")\"\n FORM: (231..240)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..239)\n IDENTIFIER: (232..239) \"newline\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \"\n\"\n FORM: (241..326)\n OPEN_PAREN: (241..242) \"(\"\n SYMBOL: (242..249)\n IDENTIFIER: (242..249) \"display\"\n ATMOSPHERE: (249..250) \" \"\n FORM: (250..325)\n OPEN_PAREN: (250..251) \"(\"\n SYMBOL: (251..255)\n IDENTIFIER: (251..255) \"list\"\n ATMOSPHERE: (255..260) \"\n \"\n FORM: (260..291)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..269)\n IDENTIFIER: (261..269) \"symbol=?\"\n ATMOSPHERE: (269..270) \" \"\n QUOTED_DATUM: (270..277)\n QUOTE: (270..271) \"'\"\n SYMBOL: (271..276)\n IDENTIFIER: (271..276) \"hello\"\n ATMOSPHERE: (276..277) \" \"\n QUOTED_DATUM: (277..284)\n QUOTE: (277..278) \"'\"\n SYMBOL: (278..283)\n IDENTIFIER: (278..283) \"hello\"\n ATMOSPHERE: (283..284) \" \"\n QUOTED_DATUM: (284..290)\n QUOTE: (284..285) \"'\"\n SYMBOL: (285..290)\n IDENTIFIER: (285..290) \"hello\"\n CLOSE_PAREN: (290..291) \")\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..319)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..305)\n IDENTIFIER: (297..305) \"symbol=?\"\n ATMOSPHERE: (305..306) \" \"\n CONSTANT: (306..312)\n STRING: (306..312) \"\"nope\"\"\n ATMOSPHERE: (312..313) \" \"\n QUOTED_DATUM: (313..318)\n QUOTE: (313..314) \"'\"\n SYMBOL: (314..318)\n IDENTIFIER: (314..318) \"nope\"\n CLOSE_PAREN: (318..319) \")\"\n ATMOSPHERE: (319..324) \"\n \"\n CLOSE_PAREN: (324..325) \")\"\n CLOSE_PAREN: (325..326) \")\"\n FORM: (326..335)\n OPEN_PAREN: (326..327) \"(\"\n SYMBOL: (327..334)\n IDENTIFIER: (327..334) \"newline\"\n CLOSE_PAREN: (334..335) \")\"\n ATMOSPHERE: (335..336) \"\n\"\n FORM: (336..783)\n OPEN_PAREN: (336..337) \"(\"\n SYMBOL: (337..344)\n IDENTIFIER: (337..344) \"display\"\n ATMOSPHERE: (344..345) \" \"\n FORM: (345..782)\n OPEN_PAREN: (345..346) \"(\"\n SYMBOL: (346..350)\n IDENTIFIER: (346..350) \"list\"\n ATMOSPHERE: (350..355) \"\n \"\n FORM: (355..384)\n OPEN_PAREN: (355..356) \"(\"\n SYMBOL: (356..370)\n IDENTIFIER: (356..370) \"symbol->string\"\n ATMOSPHERE: (370..371) \" \"\n QUOTED_DATUM: (371..383)\n QUOTE: (371..372) \"’\"\n SYMBOL: (372..383)\n IDENTIFIER: (372..383) \"flying-fish\"\n CLOSE_PAREN: (383..384) \")\"\n ATMOSPHERE: (384..385) \" \"\n ATMOSPHERE: (385..403) \"; -> \"flying-fish\"\"\n ATMOSPHERE: (403..408) \"\n \"\n FORM: (408..432)\n OPEN_PAREN: (408..409) \"(\"\n SYMBOL: (409..423)\n IDENTIFIER: (409..423) \"symbol->string\"\n ATMOSPHERE: (423..424) \" \"\n QUOTED_DATUM: (424..431)\n QUOTE: (424..425) \"’\"\n SYMBOL: (425..431)\n IDENTIFIER: (425..431) \"Martin\"\n CLOSE_PAREN: (431..432) \")\"\n ATMOSPHERE: (432..433) \" \"\n ATMOSPHERE: (433..446) \"; -> \"Martin\"\"\n ATMOSPHERE: (446..451) \"\n \"\n FORM: (451..494)\n OPEN_PAREN: (451..452) \"(\"\n SYMBOL: (452..466)\n IDENTIFIER: (452..466) \"symbol->string\"\n ATMOSPHERE: (466..467) \" \"\n FORM: (467..493)\n OPEN_PAREN: (467..468) \"(\"\n SYMBOL: (468..482)\n IDENTIFIER: (468..482) \"string->symbol\"\n ATMOSPHERE: (482..483) \" \"\n CONSTANT: (483..492)\n STRING: (483..492) \"\"Malvina\"\"\n CLOSE_PAREN: (492..493) \")\"\n CLOSE_PAREN: (493..494) \")\"\n ATMOSPHERE: (494..495) \" \"\n ATMOSPHERE: (495..509) \"; -> \"Malvina\"\"\n ATMOSPHERE: (509..514) \"\n \"\n FORM: (514..544)\n OPEN_PAREN: (514..515) \"(\"\n SYMBOL: (515..529)\n IDENTIFIER: (515..529) \"string->symbol\"\n ATMOSPHERE: (529..530) \" \"\n CONSTANT: (530..543)\n STRING: (530..543) \"\"mISSISSIppi\"\"\n CLOSE_PAREN: (543..544) \")\"\n ATMOSPHERE: (544..545) \" \"\n ATMOSPHERE: (545..561) \"; -> mISSISSIppi\"\n ATMOSPHERE: (561..566) \"\n \"\n FORM: (566..606)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..571)\n IDENTIFIER: (567..571) \"eqv?\"\n ATMOSPHERE: (571..572) \" \"\n QUOTED_DATUM: (572..580)\n QUOTE: (572..573) \"’\"\n SYMBOL: (573..579)\n IDENTIFIER: (573..579) \"bitBlt\"\n ATMOSPHERE: (579..580) \" \"\n FORM: (580..605)\n OPEN_PAREN: (580..581) \"(\"\n SYMBOL: (581..595)\n IDENTIFIER: (581..595) \"string->symbol\"\n ATMOSPHERE: (595..596) \" \"\n CONSTANT: (596..604)\n STRING: (596..604) \"\"bitBlt\"\"\n CLOSE_PAREN: (604..605) \")\"\n CLOSE_PAREN: (605..606) \")\"\n ATMOSPHERE: (606..607) \" \"\n ATMOSPHERE: (607..614) \"; -> #t\"\n ATMOSPHERE: (614..619) \"\n \"\n FORM: (619..677)\n OPEN_PAREN: (619..620) \"(\"\n SYMBOL: (620..624)\n IDENTIFIER: (620..624) \"eqv?\"\n ATMOSPHERE: (624..625) \" \"\n QUOTED_DATUM: (625..634)\n QUOTE: (625..626) \"’\"\n SYMBOL: (626..634)\n IDENTIFIER: (626..634) \"LollyPop\"\n FORM: (634..676)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..649)\n IDENTIFIER: (635..649) \"string->symbol\"\n FORM: (649..675)\n OPEN_PAREN: (649..650) \"(\"\n SYMBOL: (650..664)\n IDENTIFIER: (650..664) \"symbol->string\"\n ATMOSPHERE: (664..665) \" \"\n QUOTED_DATUM: (665..674)\n QUOTE: (665..666) \"’\"\n SYMBOL: (666..674)\n IDENTIFIER: (666..674) \"LollyPop\"\n CLOSE_PAREN: (674..675) \")\"\n CLOSE_PAREN: (675..676) \")\"\n CLOSE_PAREN: (676..677) \")\"\n ATMOSPHERE: (677..678) \" \"\n ATMOSPHERE: (678..685) \"; -> #t\"\n ATMOSPHERE: (685..690) \"\n \"\n FORM: (690..768)\n OPEN_PAREN: (690..691) \"(\"\n SYMBOL: (691..699)\n IDENTIFIER: (691..699) \"string=?\"\n ATMOSPHERE: (699..700) \" \"\n CONSTANT: (700..717)\n STRING: (700..717) \"\"K. Harper, M.D.\"\"\n FORM: (717..767)\n OPEN_PAREN: (717..718) \"(\"\n SYMBOL: (718..732)\n IDENTIFIER: (718..732) \"symbol->string\"\n FORM: (732..766)\n OPEN_PAREN: (732..733) \"(\"\n SYMBOL: (733..747)\n IDENTIFIER: (733..747) \"string->symbol\"\n ATMOSPHERE: (747..748) \" \"\n CONSTANT: (748..765)\n STRING: (748..765) \"\"K. Harper, M.D.\"\"\n CLOSE_PAREN: (765..766) \")\"\n CLOSE_PAREN: (766..767) \")\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..769) \" \"\n ATMOSPHERE: (769..776) \"; -> #t\"\n ATMOSPHERE: (776..781) \"\n \"\n CLOSE_PAREN: (781..782) \")\"\n CLOSE_PAREN: (782..783) \")\"\n FORM: (783..792)\n OPEN_PAREN: (783..784) \"(\"\n SYMBOL: (784..791)\n IDENTIFIER: (784..791) \"newline\"\n CLOSE_PAREN: (791..792) \")\"\n EOF: (792..792) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_tail.scm.json b/test/Feersum.Tests/_snapshots/Parse_tail.scm.json index 7c61b89..5399b53 100644 --- a/test/Feersum.Tests/_snapshots/Parse_tail.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_tail.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..986)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..213) \"\n\n\"\n ATMOSPHERE: (213..275) \";; Without proper tail recursion this will overflow the stack:\"\n ATMOSPHERE: (275..276) \"\n\"\n ATMOSPHERE: (276..277) \";\"\n ATMOSPHERE: (277..278) \"\n\"\n ATMOSPHERE: (278..296) \"; ! stack overflow\"\n ATMOSPHERE: (296..297) \"\n\"\n ATMOSPHERE: (297..343) \"; [ping] -> [ping] -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (343..344) \"\n\"\n ATMOSPHERE: (344..350) \"; ....\"\n ATMOSPHERE: (350..351) \"\n\"\n ATMOSPHERE: (351..397) \"; -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (397..398) \"\n\"\n ATMOSPHERE: (398..444) \"; -> [pong] -> [pong] -> ... -> [pong]\"\n ATMOSPHERE: (444..445) \"\n\"\n ATMOSPHERE: (445..491) \"; [ping] -> [ping] -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (491..493) \"\n\n\"\n ATMOSPHERE: (493..552) \";; With proper tail recursive calls stack use is constant: \"\n ATMOSPHERE: (552..553) \"\n\"\n ATMOSPHERE: (553..591) \"; [ping] -> [pong] -> [ping] -> [pong]\"\n ATMOSPHERE: (591..593) \"\n\n\"\n FORM: (593..756)\n OPEN_PAREN: (593..594) \"(\"\n SYMBOL: (594..601)\n IDENTIFIER: (594..601) \"display\"\n ATMOSPHERE: (601..605) \" \n \"\n FORM: (605..755)\n OPEN_PAREN: (605..606) \"(\"\n SYMBOL: (606..612)\n IDENTIFIER: (606..612) \"letrec\"\n ATMOSPHERE: (612..613) \" \"\n FORM: (613..738)\n OPEN_PAREN: (613..614) \"(\"\n FORM: (614..644)\n OPEN_PAREN: (614..615) \"(\"\n SYMBOL: (615..619)\n IDENTIFIER: (615..619) \"ping\"\n ATMOSPHERE: (619..620) \" \"\n FORM: (620..643)\n OPEN_PAREN: (620..621) \"(\"\n SYMBOL: (621..627)\n IDENTIFIER: (621..627) \"lambda\"\n ATMOSPHERE: (627..628) \" \"\n FORM: (628..631)\n OPEN_PAREN: (628..629) \"(\"\n SYMBOL: (629..630)\n IDENTIFIER: (629..630) \"x\"\n CLOSE_PAREN: (630..631) \")\"\n ATMOSPHERE: (631..634) \"\n \"\n FORM: (634..642)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..639)\n IDENTIFIER: (635..639) \"pong\"\n ATMOSPHERE: (639..640) \" \"\n SYMBOL: (640..641)\n IDENTIFIER: (640..641) \"x\"\n CLOSE_PAREN: (641..642) \")\"\n CLOSE_PAREN: (642..643) \")\"\n CLOSE_PAREN: (643..644) \")\"\n ATMOSPHERE: (644..654) \"\n \"\n FORM: (654..737)\n OPEN_PAREN: (654..655) \"(\"\n SYMBOL: (655..659)\n IDENTIFIER: (655..659) \"pong\"\n ATMOSPHERE: (659..660) \" \"\n FORM: (660..736)\n OPEN_PAREN: (660..661) \"(\"\n SYMBOL: (661..667)\n IDENTIFIER: (661..667) \"lambda\"\n ATMOSPHERE: (667..668) \" \"\n FORM: (668..671)\n OPEN_PAREN: (668..669) \"(\"\n SYMBOL: (669..670)\n IDENTIFIER: (669..670) \"x\"\n CLOSE_PAREN: (670..671) \")\"\n ATMOSPHERE: (671..682) \"\n \"\n FORM: (682..735)\n OPEN_PAREN: (682..683) \"(\"\n SYMBOL: (683..685)\n IDENTIFIER: (683..685) \"if\"\n ATMOSPHERE: (685..686) \" \"\n FORM: (686..693)\n OPEN_PAREN: (686..687) \"(\"\n SYMBOL: (687..688)\n IDENTIFIER: (687..688) \">\"\n ATMOSPHERE: (688..689) \" \"\n CONSTANT: (689..690)\n NUMBER: (689..690) \"0\"\n ATMOSPHERE: (690..691) \" \"\n SYMBOL: (691..692)\n IDENTIFIER: (691..692) \"x\"\n CLOSE_PAREN: (692..693) \")\"\n ATMOSPHERE: (693..706) \"\n \"\n SYMBOL: (706..707)\n IDENTIFIER: (706..707) \"x\"\n ATMOSPHERE: (707..720) \"\n \"\n FORM: (720..734)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..725)\n IDENTIFIER: (721..725) \"ping\"\n ATMOSPHERE: (725..726) \" \"\n FORM: (726..733)\n OPEN_PAREN: (726..727) \"(\"\n SYMBOL: (727..728)\n IDENTIFIER: (727..728) \"-\"\n ATMOSPHERE: (728..729) \" \"\n SYMBOL: (729..730)\n IDENTIFIER: (729..730) \"x\"\n ATMOSPHERE: (730..731) \" \"\n CONSTANT: (731..732)\n NUMBER: (731..732) \"1\"\n CLOSE_PAREN: (732..733) \")\"\n CLOSE_PAREN: (733..734) \")\"\n CLOSE_PAREN: (734..735) \")\"\n CLOSE_PAREN: (735..736) \")\"\n CLOSE_PAREN: (736..737) \")\"\n CLOSE_PAREN: (737..738) \")\"\n ATMOSPHERE: (738..741) \"\n \"\n FORM: (741..754)\n OPEN_PAREN: (741..742) \"(\"\n SYMBOL: (742..746)\n IDENTIFIER: (742..746) \"ping\"\n ATMOSPHERE: (746..747) \" \"\n CONSTANT: (747..753)\n NUMBER: (747..753) \"100000\"\n CLOSE_PAREN: (753..754) \")\"\n CLOSE_PAREN: (754..755) \")\"\n CLOSE_PAREN: (755..756) \")\"\n ATMOSPHERE: (756..759) \"\n\n\n\"\n FORM: (759..768)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..767)\n IDENTIFIER: (760..767) \"newline\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..770) \"\n\n\"\n ATMOSPHERE: (770..823) \"; Tail context should flow into `and` and `or` macros\"\n ATMOSPHERE: (823..824) \"\n\"\n FORM: (824..985)\n OPEN_PAREN: (824..825) \"(\"\n SYMBOL: (825..832)\n IDENTIFIER: (825..832) \"display\"\n ATMOSPHERE: (832..835) \"\n \"\n FORM: (835..984)\n OPEN_PAREN: (835..836) \"(\"\n SYMBOL: (836..842)\n IDENTIFIER: (836..842) \"letrec\"\n ATMOSPHERE: (842..847) \"\n \"\n FORM: (847..967)\n OPEN_PAREN: (847..848) \"(\"\n FORM: (848..966)\n OPEN_PAREN: (848..849) \"(\"\n SYMBOL: (849..852)\n IDENTIFIER: (849..852) \"foo\"\n ATMOSPHERE: (852..853) \" \"\n FORM: (853..965)\n OPEN_PAREN: (853..854) \"(\"\n SYMBOL: (854..860)\n IDENTIFIER: (854..860) \"lambda\"\n ATMOSPHERE: (860..861) \" \"\n FORM: (861..864)\n OPEN_PAREN: (861..862) \"(\"\n SYMBOL: (862..863)\n IDENTIFIER: (862..863) \"x\"\n CLOSE_PAREN: (863..864) \")\"\n ATMOSPHERE: (864..872) \"\n \"\n FORM: (872..964)\n OPEN_PAREN: (872..873) \"(\"\n SYMBOL: (873..876)\n IDENTIFIER: (873..876) \"and\"\n ATMOSPHERE: (876..877) \" \"\n CONSTANT: (877..879)\n BOOLEAN: (877..879) \"#t\"\n ATMOSPHERE: (879..889) \"\n \"\n FORM: (889..963)\n OPEN_PAREN: (889..890) \"(\"\n SYMBOL: (890..892)\n IDENTIFIER: (890..892) \"or\"\n ATMOSPHERE: (892..893) \" \"\n CONSTANT: (893..895)\n BOOLEAN: (893..895) \"#f\"\n ATMOSPHERE: (895..907) \"\n \"\n FORM: (907..962)\n OPEN_PAREN: (907..908) \"(\"\n SYMBOL: (908..910)\n IDENTIFIER: (908..910) \"if\"\n ATMOSPHERE: (910..911) \" \"\n FORM: (911..918)\n OPEN_PAREN: (911..912) \"(\"\n SYMBOL: (912..913)\n IDENTIFIER: (912..913) \">\"\n ATMOSPHERE: (913..914) \" \"\n CONSTANT: (914..915)\n NUMBER: (914..915) \"0\"\n ATMOSPHERE: (915..916) \" \"\n SYMBOL: (916..917)\n IDENTIFIER: (916..917) \"x\"\n CLOSE_PAREN: (917..918) \")\"\n ATMOSPHERE: (918..932) \"\n \"\n CONSTANT: (932..934)\n BOOLEAN: (932..934) \"#t\"\n ATMOSPHERE: (934..948) \"\n \"\n FORM: (948..961)\n OPEN_PAREN: (948..949) \"(\"\n SYMBOL: (949..952)\n IDENTIFIER: (949..952) \"foo\"\n ATMOSPHERE: (952..953) \" \"\n FORM: (953..960)\n OPEN_PAREN: (953..954) \"(\"\n SYMBOL: (954..955)\n IDENTIFIER: (954..955) \"-\"\n ATMOSPHERE: (955..956) \" \"\n SYMBOL: (956..957)\n IDENTIFIER: (956..957) \"x\"\n ATMOSPHERE: (957..958) \" \"\n CONSTANT: (958..959)\n NUMBER: (958..959) \"1\"\n CLOSE_PAREN: (959..960) \")\"\n CLOSE_PAREN: (960..961) \")\"\n CLOSE_PAREN: (961..962) \")\"\n CLOSE_PAREN: (962..963) \")\"\n CLOSE_PAREN: (963..964) \")\"\n CLOSE_PAREN: (964..965) \")\"\n CLOSE_PAREN: (965..966) \")\"\n CLOSE_PAREN: (966..967) \")\"\n ATMOSPHERE: (967..971) \"\n \"\n FORM: (971..983)\n OPEN_PAREN: (971..972) \"(\"\n SYMBOL: (972..975)\n IDENTIFIER: (972..975) \"foo\"\n ATMOSPHERE: (975..976) \" \"\n CONSTANT: (976..982)\n NUMBER: (976..982) \"100000\"\n CLOSE_PAREN: (982..983) \")\"\n CLOSE_PAREN: (983..984) \")\"\n CLOSE_PAREN: (984..985) \")\"\n ATMOSPHERE: (985..986) \"\n\"\n" + "Root": "PROGRAM: (0..986)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..213) \"\n\n\"\n ATMOSPHERE: (213..275) \";; Without proper tail recursion this will overflow the stack:\"\n ATMOSPHERE: (275..276) \"\n\"\n ATMOSPHERE: (276..277) \";\"\n ATMOSPHERE: (277..278) \"\n\"\n ATMOSPHERE: (278..296) \"; ! stack overflow\"\n ATMOSPHERE: (296..297) \"\n\"\n ATMOSPHERE: (297..343) \"; [ping] -> [ping] -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (343..344) \"\n\"\n ATMOSPHERE: (344..350) \"; ....\"\n ATMOSPHERE: (350..351) \"\n\"\n ATMOSPHERE: (351..397) \"; -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (397..398) \"\n\"\n ATMOSPHERE: (398..444) \"; -> [pong] -> [pong] -> ... -> [pong]\"\n ATMOSPHERE: (444..445) \"\n\"\n ATMOSPHERE: (445..491) \"; [ping] -> [ping] -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (491..493) \"\n\n\"\n ATMOSPHERE: (493..552) \";; With proper tail recursive calls stack use is constant: \"\n ATMOSPHERE: (552..553) \"\n\"\n ATMOSPHERE: (553..591) \"; [ping] -> [pong] -> [ping] -> [pong]\"\n ATMOSPHERE: (591..593) \"\n\n\"\n FORM: (593..756)\n OPEN_PAREN: (593..594) \"(\"\n SYMBOL: (594..601)\n IDENTIFIER: (594..601) \"display\"\n ATMOSPHERE: (601..605) \" \n \"\n FORM: (605..755)\n OPEN_PAREN: (605..606) \"(\"\n SYMBOL: (606..612)\n IDENTIFIER: (606..612) \"letrec\"\n ATMOSPHERE: (612..613) \" \"\n FORM: (613..738)\n OPEN_PAREN: (613..614) \"(\"\n FORM: (614..644)\n OPEN_PAREN: (614..615) \"(\"\n SYMBOL: (615..619)\n IDENTIFIER: (615..619) \"ping\"\n ATMOSPHERE: (619..620) \" \"\n FORM: (620..643)\n OPEN_PAREN: (620..621) \"(\"\n SYMBOL: (621..627)\n IDENTIFIER: (621..627) \"lambda\"\n ATMOSPHERE: (627..628) \" \"\n FORM: (628..631)\n OPEN_PAREN: (628..629) \"(\"\n SYMBOL: (629..630)\n IDENTIFIER: (629..630) \"x\"\n CLOSE_PAREN: (630..631) \")\"\n ATMOSPHERE: (631..634) \"\n \"\n FORM: (634..642)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..639)\n IDENTIFIER: (635..639) \"pong\"\n ATMOSPHERE: (639..640) \" \"\n SYMBOL: (640..641)\n IDENTIFIER: (640..641) \"x\"\n CLOSE_PAREN: (641..642) \")\"\n CLOSE_PAREN: (642..643) \")\"\n CLOSE_PAREN: (643..644) \")\"\n ATMOSPHERE: (644..654) \"\n \"\n FORM: (654..737)\n OPEN_PAREN: (654..655) \"(\"\n SYMBOL: (655..659)\n IDENTIFIER: (655..659) \"pong\"\n ATMOSPHERE: (659..660) \" \"\n FORM: (660..736)\n OPEN_PAREN: (660..661) \"(\"\n SYMBOL: (661..667)\n IDENTIFIER: (661..667) \"lambda\"\n ATMOSPHERE: (667..668) \" \"\n FORM: (668..671)\n OPEN_PAREN: (668..669) \"(\"\n SYMBOL: (669..670)\n IDENTIFIER: (669..670) \"x\"\n CLOSE_PAREN: (670..671) \")\"\n ATMOSPHERE: (671..682) \"\n \"\n FORM: (682..735)\n OPEN_PAREN: (682..683) \"(\"\n SYMBOL: (683..685)\n IDENTIFIER: (683..685) \"if\"\n ATMOSPHERE: (685..686) \" \"\n FORM: (686..693)\n OPEN_PAREN: (686..687) \"(\"\n SYMBOL: (687..688)\n IDENTIFIER: (687..688) \">\"\n ATMOSPHERE: (688..689) \" \"\n CONSTANT: (689..690)\n NUMBER: (689..690) \"0\"\n ATMOSPHERE: (690..691) \" \"\n SYMBOL: (691..692)\n IDENTIFIER: (691..692) \"x\"\n CLOSE_PAREN: (692..693) \")\"\n ATMOSPHERE: (693..706) \"\n \"\n SYMBOL: (706..707)\n IDENTIFIER: (706..707) \"x\"\n ATMOSPHERE: (707..720) \"\n \"\n FORM: (720..734)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..725)\n IDENTIFIER: (721..725) \"ping\"\n ATMOSPHERE: (725..726) \" \"\n FORM: (726..733)\n OPEN_PAREN: (726..727) \"(\"\n SYMBOL: (727..728)\n IDENTIFIER: (727..728) \"-\"\n ATMOSPHERE: (728..729) \" \"\n SYMBOL: (729..730)\n IDENTIFIER: (729..730) \"x\"\n ATMOSPHERE: (730..731) \" \"\n CONSTANT: (731..732)\n NUMBER: (731..732) \"1\"\n CLOSE_PAREN: (732..733) \")\"\n CLOSE_PAREN: (733..734) \")\"\n CLOSE_PAREN: (734..735) \")\"\n CLOSE_PAREN: (735..736) \")\"\n CLOSE_PAREN: (736..737) \")\"\n CLOSE_PAREN: (737..738) \")\"\n ATMOSPHERE: (738..741) \"\n \"\n FORM: (741..754)\n OPEN_PAREN: (741..742) \"(\"\n SYMBOL: (742..746)\n IDENTIFIER: (742..746) \"ping\"\n ATMOSPHERE: (746..747) \" \"\n CONSTANT: (747..753)\n NUMBER: (747..753) \"100000\"\n CLOSE_PAREN: (753..754) \")\"\n CLOSE_PAREN: (754..755) \")\"\n CLOSE_PAREN: (755..756) \")\"\n ATMOSPHERE: (756..759) \"\n\n\n\"\n FORM: (759..768)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..767)\n IDENTIFIER: (760..767) \"newline\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..770) \"\n\n\"\n ATMOSPHERE: (770..823) \"; Tail context should flow into `and` and `or` macros\"\n ATMOSPHERE: (823..824) \"\n\"\n FORM: (824..985)\n OPEN_PAREN: (824..825) \"(\"\n SYMBOL: (825..832)\n IDENTIFIER: (825..832) \"display\"\n ATMOSPHERE: (832..835) \"\n \"\n FORM: (835..984)\n OPEN_PAREN: (835..836) \"(\"\n SYMBOL: (836..842)\n IDENTIFIER: (836..842) \"letrec\"\n ATMOSPHERE: (842..847) \"\n \"\n FORM: (847..967)\n OPEN_PAREN: (847..848) \"(\"\n FORM: (848..966)\n OPEN_PAREN: (848..849) \"(\"\n SYMBOL: (849..852)\n IDENTIFIER: (849..852) \"foo\"\n ATMOSPHERE: (852..853) \" \"\n FORM: (853..965)\n OPEN_PAREN: (853..854) \"(\"\n SYMBOL: (854..860)\n IDENTIFIER: (854..860) \"lambda\"\n ATMOSPHERE: (860..861) \" \"\n FORM: (861..864)\n OPEN_PAREN: (861..862) \"(\"\n SYMBOL: (862..863)\n IDENTIFIER: (862..863) \"x\"\n CLOSE_PAREN: (863..864) \")\"\n ATMOSPHERE: (864..872) \"\n \"\n FORM: (872..964)\n OPEN_PAREN: (872..873) \"(\"\n SYMBOL: (873..876)\n IDENTIFIER: (873..876) \"and\"\n ATMOSPHERE: (876..877) \" \"\n CONSTANT: (877..879)\n BOOLEAN: (877..879) \"#t\"\n ATMOSPHERE: (879..889) \"\n \"\n FORM: (889..963)\n OPEN_PAREN: (889..890) \"(\"\n SYMBOL: (890..892)\n IDENTIFIER: (890..892) \"or\"\n ATMOSPHERE: (892..893) \" \"\n CONSTANT: (893..895)\n BOOLEAN: (893..895) \"#f\"\n ATMOSPHERE: (895..907) \"\n \"\n FORM: (907..962)\n OPEN_PAREN: (907..908) \"(\"\n SYMBOL: (908..910)\n IDENTIFIER: (908..910) \"if\"\n ATMOSPHERE: (910..911) \" \"\n FORM: (911..918)\n OPEN_PAREN: (911..912) \"(\"\n SYMBOL: (912..913)\n IDENTIFIER: (912..913) \">\"\n ATMOSPHERE: (913..914) \" \"\n CONSTANT: (914..915)\n NUMBER: (914..915) \"0\"\n ATMOSPHERE: (915..916) \" \"\n SYMBOL: (916..917)\n IDENTIFIER: (916..917) \"x\"\n CLOSE_PAREN: (917..918) \")\"\n ATMOSPHERE: (918..932) \"\n \"\n CONSTANT: (932..934)\n BOOLEAN: (932..934) \"#t\"\n ATMOSPHERE: (934..948) \"\n \"\n FORM: (948..961)\n OPEN_PAREN: (948..949) \"(\"\n SYMBOL: (949..952)\n IDENTIFIER: (949..952) \"foo\"\n ATMOSPHERE: (952..953) \" \"\n FORM: (953..960)\n OPEN_PAREN: (953..954) \"(\"\n SYMBOL: (954..955)\n IDENTIFIER: (954..955) \"-\"\n ATMOSPHERE: (955..956) \" \"\n SYMBOL: (956..957)\n IDENTIFIER: (956..957) \"x\"\n ATMOSPHERE: (957..958) \" \"\n CONSTANT: (958..959)\n NUMBER: (958..959) \"1\"\n CLOSE_PAREN: (959..960) \")\"\n CLOSE_PAREN: (960..961) \")\"\n CLOSE_PAREN: (961..962) \")\"\n CLOSE_PAREN: (962..963) \")\"\n CLOSE_PAREN: (963..964) \")\"\n CLOSE_PAREN: (964..965) \")\"\n CLOSE_PAREN: (965..966) \")\"\n CLOSE_PAREN: (966..967) \")\"\n ATMOSPHERE: (967..971) \"\n \"\n FORM: (971..983)\n OPEN_PAREN: (971..972) \"(\"\n SYMBOL: (972..975)\n IDENTIFIER: (972..975) \"foo\"\n ATMOSPHERE: (975..976) \" \"\n CONSTANT: (976..982)\n NUMBER: (976..982) \"100000\"\n CLOSE_PAREN: (982..983) \")\"\n CLOSE_PAREN: (983..984) \")\"\n CLOSE_PAREN: (984..985) \")\"\n ATMOSPHERE: (985..986) \"\n\"\n EOF: (986..986) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_time.scm.json b/test/Feersum.Tests/_snapshots/Parse_time.scm.json index f84bb69..9bb69cc 100644 --- a/test/Feersum.Tests/_snapshots/Parse_time.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_time.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..265)\n FORM: (0..55)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..41) \"\n \"\n FORM: (41..54)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"scheme\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..53)\n IDENTIFIER: (49..53) \"time\"\n CLOSE_PAREN: (53..54) \")\"\n CLOSE_PAREN: (54..55) \")\"\n ATMOSPHERE: (55..57) \"\n\n\"\n FORM: (57..224)\n OPEN_PAREN: (57..58) \"(\"\n SYMBOL: (58..64)\n IDENTIFIER: (58..64) \"define\"\n ATMOSPHERE: (64..65) \" \"\n FORM: (65..80)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..77)\n IDENTIFIER: (66..77) \"time-length\"\n ATMOSPHERE: (77..78) \" \"\n SYMBOL: (78..79)\n IDENTIFIER: (78..79) \"x\"\n CLOSE_PAREN: (79..80) \")\"\n ATMOSPHERE: (80..83) \"\n \"\n FORM: (83..223)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..87)\n IDENTIFIER: (84..87) \"let\"\n ATMOSPHERE: (87..88) \" \"\n FORM: (88..142)\n OPEN_PAREN: (88..89) \"(\"\n FORM: (89..109)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..94)\n IDENTIFIER: (90..94) \"list\"\n ATMOSPHERE: (94..95) \" \"\n FORM: (95..108)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..105)\n IDENTIFIER: (96..105) \"make-list\"\n ATMOSPHERE: (105..106) \" \"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"x\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..118) \"\n \"\n FORM: (118..141)\n OPEN_PAREN: (118..119) \"(\"\n SYMBOL: (119..124)\n IDENTIFIER: (119..124) \"start\"\n ATMOSPHERE: (124..125) \" \"\n FORM: (125..140)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..139)\n IDENTIFIER: (126..139) \"current-jiffy\"\n CLOSE_PAREN: (139..140) \")\"\n CLOSE_PAREN: (140..141) \")\"\n CLOSE_PAREN: (141..142) \")\"\n ATMOSPHERE: (142..147) \"\n \"\n FORM: (147..160)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..154)\n IDENTIFIER: (148..154) \"length\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..159)\n IDENTIFIER: (155..159) \"list\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..165) \"\n \"\n FORM: (165..222)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"/\"\n ATMOSPHERE: (167..168) \" \"\n FORM: (168..193)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..170)\n IDENTIFIER: (169..170) \"-\"\n ATMOSPHERE: (170..171) \" \"\n FORM: (171..186)\n OPEN_PAREN: (171..172) \"(\"\n SYMBOL: (172..185)\n IDENTIFIER: (172..185) \"current-jiffy\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..187) \" \"\n SYMBOL: (187..192)\n IDENTIFIER: (187..192) \"start\"\n CLOSE_PAREN: (192..193) \")\"\n ATMOSPHERE: (193..201) \"\n \"\n FORM: (201..221)\n OPEN_PAREN: (201..202) \"(\"\n SYMBOL: (202..220)\n IDENTIFIER: (202..220) \"jiffies-per-second\"\n CLOSE_PAREN: (220..221) \")\"\n CLOSE_PAREN: (221..222) \")\"\n CLOSE_PAREN: (222..223) \")\"\n CLOSE_PAREN: (223..224) \")\"\n ATMOSPHERE: (224..226) \"\n\n\"\n FORM: (226..242)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..238)\n IDENTIFIER: (227..238) \"time-length\"\n ATMOSPHERE: (238..239) \" \"\n CONSTANT: (239..241)\n NUMBER: (239..241) \"10\"\n CLOSE_PAREN: (241..242) \")\"\n ATMOSPHERE: (242..243) \"\n\"\n FORM: (243..261)\n OPEN_PAREN: (243..244) \"(\"\n SYMBOL: (244..255)\n IDENTIFIER: (244..255) \"time-length\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..260)\n NUMBER: (256..260) \"1000\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..263) \"\n\n\"\n CONSTANT: (263..264)\n NUMBER: (263..264) \"0\"\n ATMOSPHERE: (264..265) \"\n\"\n" + "Root": "PROGRAM: (0..265)\n FORM: (0..55)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..41) \"\n \"\n FORM: (41..54)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"scheme\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..53)\n IDENTIFIER: (49..53) \"time\"\n CLOSE_PAREN: (53..54) \")\"\n CLOSE_PAREN: (54..55) \")\"\n ATMOSPHERE: (55..57) \"\n\n\"\n FORM: (57..224)\n OPEN_PAREN: (57..58) \"(\"\n SYMBOL: (58..64)\n IDENTIFIER: (58..64) \"define\"\n ATMOSPHERE: (64..65) \" \"\n FORM: (65..80)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..77)\n IDENTIFIER: (66..77) \"time-length\"\n ATMOSPHERE: (77..78) \" \"\n SYMBOL: (78..79)\n IDENTIFIER: (78..79) \"x\"\n CLOSE_PAREN: (79..80) \")\"\n ATMOSPHERE: (80..83) \"\n \"\n FORM: (83..223)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..87)\n IDENTIFIER: (84..87) \"let\"\n ATMOSPHERE: (87..88) \" \"\n FORM: (88..142)\n OPEN_PAREN: (88..89) \"(\"\n FORM: (89..109)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..94)\n IDENTIFIER: (90..94) \"list\"\n ATMOSPHERE: (94..95) \" \"\n FORM: (95..108)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..105)\n IDENTIFIER: (96..105) \"make-list\"\n ATMOSPHERE: (105..106) \" \"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"x\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..118) \"\n \"\n FORM: (118..141)\n OPEN_PAREN: (118..119) \"(\"\n SYMBOL: (119..124)\n IDENTIFIER: (119..124) \"start\"\n ATMOSPHERE: (124..125) \" \"\n FORM: (125..140)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..139)\n IDENTIFIER: (126..139) \"current-jiffy\"\n CLOSE_PAREN: (139..140) \")\"\n CLOSE_PAREN: (140..141) \")\"\n CLOSE_PAREN: (141..142) \")\"\n ATMOSPHERE: (142..147) \"\n \"\n FORM: (147..160)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..154)\n IDENTIFIER: (148..154) \"length\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..159)\n IDENTIFIER: (155..159) \"list\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..165) \"\n \"\n FORM: (165..222)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"/\"\n ATMOSPHERE: (167..168) \" \"\n FORM: (168..193)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..170)\n IDENTIFIER: (169..170) \"-\"\n ATMOSPHERE: (170..171) \" \"\n FORM: (171..186)\n OPEN_PAREN: (171..172) \"(\"\n SYMBOL: (172..185)\n IDENTIFIER: (172..185) \"current-jiffy\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..187) \" \"\n SYMBOL: (187..192)\n IDENTIFIER: (187..192) \"start\"\n CLOSE_PAREN: (192..193) \")\"\n ATMOSPHERE: (193..201) \"\n \"\n FORM: (201..221)\n OPEN_PAREN: (201..202) \"(\"\n SYMBOL: (202..220)\n IDENTIFIER: (202..220) \"jiffies-per-second\"\n CLOSE_PAREN: (220..221) \")\"\n CLOSE_PAREN: (221..222) \")\"\n CLOSE_PAREN: (222..223) \")\"\n CLOSE_PAREN: (223..224) \")\"\n ATMOSPHERE: (224..226) \"\n\n\"\n FORM: (226..242)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..238)\n IDENTIFIER: (227..238) \"time-length\"\n ATMOSPHERE: (238..239) \" \"\n CONSTANT: (239..241)\n NUMBER: (239..241) \"10\"\n CLOSE_PAREN: (241..242) \")\"\n ATMOSPHERE: (242..243) \"\n\"\n FORM: (243..261)\n OPEN_PAREN: (243..244) \"(\"\n SYMBOL: (244..255)\n IDENTIFIER: (244..255) \"time-length\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..260)\n NUMBER: (256..260) \"1000\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..263) \"\n\n\"\n CONSTANT: (263..264)\n NUMBER: (263..264) \"0\"\n ATMOSPHERE: (264..265) \"\n\"\n EOF: (265..265) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json b/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json index 2b6e1ab..cdc9dc9 100644 --- a/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..555)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..131)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..57)\n IDENTIFIER: (44..57) \"define-syntax\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..61)\n IDENTIFIER: (58..61) \"foo\"\n ATMOSPHERE: (61..66) \"\n \"\n FORM: (66..130)\n OPEN_PAREN: (66..67) \"(\"\n SYMBOL: (67..79)\n IDENTIFIER: (67..79) \"syntax-rules\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..82)\n OPEN_PAREN: (80..81) \"(\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..91) \"\n \"\n FORM: (91..109)\n OPEN_PAREN: (91..92) \"(\"\n FORM: (92..99)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..94)\n IDENTIFIER: (93..94) \"_\"\n ATMOSPHERE: (94..95) \" \"\n CONSTANT: (95..98)\n NUMBER: (95..98) \"123\"\n CLOSE_PAREN: (98..99) \")\"\n ATMOSPHERE: (99..100) \" \"\n QUOTED_DATUM: (100..108)\n QUOTE: (100..101) \"'\"\n FORM: (101..108)\n OPEN_PAREN: (101..102) \"(\"\n CONSTANT: (102..103)\n NUMBER: (102..103) \"1\"\n ATMOSPHERE: (103..104) \" \"\n CONSTANT: (104..105)\n NUMBER: (104..105) \"2\"\n ATMOSPHERE: (105..106) \" \"\n CONSTANT: (106..107)\n NUMBER: (106..107) \"3\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..118) \"\n \"\n FORM: (118..129)\n OPEN_PAREN: (118..119) \"(\"\n FORM: (119..122)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..121)\n IDENTIFIER: (120..121) \"_\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..123) \" \"\n CONSTANT: (123..128)\n STRING: (123..128) \"\"bar\"\"\n CLOSE_PAREN: (128..129) \")\"\n CLOSE_PAREN: (129..130) \")\"\n CLOSE_PAREN: (130..131) \")\"\n ATMOSPHERE: (131..132) \"\n\"\n FORM: (132..172)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..140)\n IDENTIFIER: (133..140) \"display\"\n ATMOSPHERE: (140..141) \" \"\n FORM: (141..171)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..146)\n IDENTIFIER: (142..146) \"list\"\n ATMOSPHERE: (146..151) \"\n \"\n FORM: (151..160)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..155)\n IDENTIFIER: (152..155) \"foo\"\n ATMOSPHERE: (155..156) \" \"\n CONSTANT: (156..159)\n NUMBER: (156..159) \"123\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..165) \"\n \"\n FORM: (165..170)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..169)\n IDENTIFIER: (166..169) \"foo\"\n CLOSE_PAREN: (169..170) \")\"\n CLOSE_PAREN: (170..171) \")\"\n CLOSE_PAREN: (171..172) \")\"\n ATMOSPHERE: (172..173) \"\n\"\n FORM: (173..182)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..181)\n IDENTIFIER: (174..181) \"newline\"\n CLOSE_PAREN: (181..182) \")\"\n ATMOSPHERE: (182..184) \"\n\n\"\n FORM: (184..360)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..188)\n IDENTIFIER: (185..188) \"let\"\n ATMOSPHERE: (188..189) \" \"\n FORM: (189..191)\n OPEN_PAREN: (189..190) \"(\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..306)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..210)\n IDENTIFIER: (197..210) \"define-syntax\"\n ATMOSPHERE: (210..211) \" \"\n SYMBOL: (211..214)\n IDENTIFIER: (211..214) \"foo\"\n ATMOSPHERE: (214..223) \"\n \"\n FORM: (223..305)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..236)\n IDENTIFIER: (224..236) \"syntax-rules\"\n ATMOSPHERE: (236..237) \" \"\n FORM: (237..242)\n OPEN_PAREN: (237..238) \"(\"\n SYMBOL: (238..241)\n IDENTIFIER: (238..241) \"bar\"\n CLOSE_PAREN: (241..242) \")\"\n ATMOSPHERE: (242..255) \"\n \"\n FORM: (255..273)\n OPEN_PAREN: (255..256) \"(\"\n FORM: (256..263)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..258)\n IDENTIFIER: (257..258) \"_\"\n ATMOSPHERE: (258..259) \" \"\n SYMBOL: (259..262)\n IDENTIFIER: (259..262) \"bar\"\n CLOSE_PAREN: (262..263) \")\"\n ATMOSPHERE: (263..264) \" \"\n CONSTANT: (264..272)\n STRING: (264..272) \"\"foobar\"\"\n CLOSE_PAREN: (272..273) \")\"\n ATMOSPHERE: (273..286) \"\n \"\n FORM: (286..304)\n OPEN_PAREN: (286..287) \"(\"\n FORM: (287..294)\n OPEN_PAREN: (287..288) \"(\"\n SYMBOL: (288..289)\n IDENTIFIER: (288..289) \"_\"\n ATMOSPHERE: (289..290) \" \"\n SYMBOL: (290..293)\n IDENTIFIER: (290..293) \"baz\"\n CLOSE_PAREN: (293..294) \")\"\n ATMOSPHERE: (294..295) \" \"\n CONSTANT: (295..303)\n STRING: (295..303) \"\"bizbaz\"\"\n CLOSE_PAREN: (303..304) \")\"\n CLOSE_PAREN: (304..305) \")\"\n CLOSE_PAREN: (305..306) \")\"\n ATMOSPHERE: (306..311) \"\n \"\n FORM: (311..345)\n OPEN_PAREN: (311..312) \"(\"\n SYMBOL: (312..319)\n IDENTIFIER: (312..319) \"display\"\n ATMOSPHERE: (319..320) \" \"\n FORM: (320..344)\n OPEN_PAREN: (320..321) \"(\"\n SYMBOL: (321..325)\n IDENTIFIER: (321..325) \"list\"\n ATMOSPHERE: (325..326) \" \"\n FORM: (326..335)\n OPEN_PAREN: (326..327) \"(\"\n SYMBOL: (327..330)\n IDENTIFIER: (327..330) \"foo\"\n ATMOSPHERE: (330..331) \" \"\n SYMBOL: (331..334)\n IDENTIFIER: (331..334) \"bar\"\n CLOSE_PAREN: (334..335) \")\"\n ATMOSPHERE: (335..336) \" \"\n FORM: (336..343)\n OPEN_PAREN: (336..337) \"(\"\n SYMBOL: (337..340)\n IDENTIFIER: (337..340) \"foo\"\n ATMOSPHERE: (340..341) \" \"\n SYMBOL: (341..342)\n IDENTIFIER: (341..342) \"b\"\n CLOSE_PAREN: (342..343) \")\"\n CLOSE_PAREN: (343..344) \")\"\n CLOSE_PAREN: (344..345) \")\"\n ATMOSPHERE: (345..350) \"\n \"\n FORM: (350..359)\n OPEN_PAREN: (350..351) \"(\"\n SYMBOL: (351..358)\n IDENTIFIER: (351..358) \"newline\"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..362) \"\n\n\"\n FORM: (362..477)\n OPEN_PAREN: (362..363) \"(\"\n SYMBOL: (363..370)\n IDENTIFIER: (363..370) \"display\"\n ATMOSPHERE: (370..375) \"\n \"\n FORM: (375..476)\n OPEN_PAREN: (375..376) \"(\"\n SYMBOL: (376..386)\n IDENTIFIER: (376..386) \"let-syntax\"\n ATMOSPHERE: (386..395) \"\n \"\n FORM: (395..455)\n OPEN_PAREN: (395..396) \"(\"\n FORM: (396..454)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..400)\n IDENTIFIER: (397..400) \"foo\"\n ATMOSPHERE: (400..401) \" \"\n FORM: (401..453)\n OPEN_PAREN: (401..402) \"(\"\n SYMBOL: (402..414)\n IDENTIFIER: (402..414) \"syntax-rules\"\n ATMOSPHERE: (414..415) \" \"\n FORM: (415..417)\n OPEN_PAREN: (415..416) \"(\"\n CLOSE_PAREN: (416..417) \")\"\n ATMOSPHERE: (417..430) \"\n \"\n FORM: (430..452)\n OPEN_PAREN: (430..431) \"(\"\n FORM: (431..438)\n OPEN_PAREN: (431..432) \"(\"\n SYMBOL: (432..435)\n IDENTIFIER: (432..435) \"foo\"\n ATMOSPHERE: (435..436) \" \"\n SYMBOL: (436..437)\n IDENTIFIER: (436..437) \"_\"\n CLOSE_PAREN: (437..438) \")\"\n ATMOSPHERE: (438..439) \" \"\n QUOTED_DATUM: (439..451)\n QUOTE: (439..440) \"'\"\n FORM: (440..451)\n OPEN_PAREN: (440..441) \"(\"\n SYMBOL: (441..446)\n IDENTIFIER: (441..446) \"inner\"\n ATMOSPHERE: (446..447) \" \"\n SYMBOL: (447..450)\n IDENTIFIER: (447..450) \"foo\"\n CLOSE_PAREN: (450..451) \")\"\n CLOSE_PAREN: (451..452) \")\"\n CLOSE_PAREN: (452..453) \")\"\n CLOSE_PAREN: (453..454) \")\"\n CLOSE_PAREN: (454..455) \")\"\n ATMOSPHERE: (455..464) \"\n \"\n FORM: (464..475)\n OPEN_PAREN: (464..465) \"(\"\n SYMBOL: (465..468)\n IDENTIFIER: (465..468) \"foo\"\n ATMOSPHERE: (468..469) \" \"\n CONSTANT: (469..474)\n STRING: (469..474) \"\"123\"\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n CLOSE_PAREN: (476..477) \")\"\n FORM: (477..486)\n OPEN_PAREN: (477..478) \"(\"\n SYMBOL: (478..485)\n IDENTIFIER: (478..485) \"newline\"\n CLOSE_PAREN: (485..486) \")\"\n ATMOSPHERE: (486..488) \"\n\n\"\n ATMOSPHERE: (488..524) \"; Should be the first `foo` again...\"\n ATMOSPHERE: (524..525) \"\n\"\n FORM: (525..544)\n OPEN_PAREN: (525..526) \"(\"\n SYMBOL: (526..533)\n IDENTIFIER: (526..533) \"display\"\n ATMOSPHERE: (533..534) \" \"\n FORM: (534..543)\n OPEN_PAREN: (534..535) \"(\"\n SYMBOL: (535..538)\n IDENTIFIER: (535..538) \"foo\"\n ATMOSPHERE: (538..539) \" \"\n CONSTANT: (539..542)\n NUMBER: (539..542) \"123\"\n CLOSE_PAREN: (542..543) \")\"\n CLOSE_PAREN: (543..544) \")\"\n FORM: (544..553)\n OPEN_PAREN: (544..545) \"(\"\n SYMBOL: (545..552)\n IDENTIFIER: (545..552) \"newline\"\n CLOSE_PAREN: (552..553) \")\"\n ATMOSPHERE: (553..555) \"\n\n\"\n" + "Root": "PROGRAM: (0..555)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..131)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..57)\n IDENTIFIER: (44..57) \"define-syntax\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..61)\n IDENTIFIER: (58..61) \"foo\"\n ATMOSPHERE: (61..66) \"\n \"\n FORM: (66..130)\n OPEN_PAREN: (66..67) \"(\"\n SYMBOL: (67..79)\n IDENTIFIER: (67..79) \"syntax-rules\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..82)\n OPEN_PAREN: (80..81) \"(\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..91) \"\n \"\n FORM: (91..109)\n OPEN_PAREN: (91..92) \"(\"\n FORM: (92..99)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..94)\n IDENTIFIER: (93..94) \"_\"\n ATMOSPHERE: (94..95) \" \"\n CONSTANT: (95..98)\n NUMBER: (95..98) \"123\"\n CLOSE_PAREN: (98..99) \")\"\n ATMOSPHERE: (99..100) \" \"\n QUOTED_DATUM: (100..108)\n QUOTE: (100..101) \"'\"\n FORM: (101..108)\n OPEN_PAREN: (101..102) \"(\"\n CONSTANT: (102..103)\n NUMBER: (102..103) \"1\"\n ATMOSPHERE: (103..104) \" \"\n CONSTANT: (104..105)\n NUMBER: (104..105) \"2\"\n ATMOSPHERE: (105..106) \" \"\n CONSTANT: (106..107)\n NUMBER: (106..107) \"3\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..118) \"\n \"\n FORM: (118..129)\n OPEN_PAREN: (118..119) \"(\"\n FORM: (119..122)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..121)\n IDENTIFIER: (120..121) \"_\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..123) \" \"\n CONSTANT: (123..128)\n STRING: (123..128) \"\"bar\"\"\n CLOSE_PAREN: (128..129) \")\"\n CLOSE_PAREN: (129..130) \")\"\n CLOSE_PAREN: (130..131) \")\"\n ATMOSPHERE: (131..132) \"\n\"\n FORM: (132..172)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..140)\n IDENTIFIER: (133..140) \"display\"\n ATMOSPHERE: (140..141) \" \"\n FORM: (141..171)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..146)\n IDENTIFIER: (142..146) \"list\"\n ATMOSPHERE: (146..151) \"\n \"\n FORM: (151..160)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..155)\n IDENTIFIER: (152..155) \"foo\"\n ATMOSPHERE: (155..156) \" \"\n CONSTANT: (156..159)\n NUMBER: (156..159) \"123\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..165) \"\n \"\n FORM: (165..170)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..169)\n IDENTIFIER: (166..169) \"foo\"\n CLOSE_PAREN: (169..170) \")\"\n CLOSE_PAREN: (170..171) \")\"\n CLOSE_PAREN: (171..172) \")\"\n ATMOSPHERE: (172..173) \"\n\"\n FORM: (173..182)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..181)\n IDENTIFIER: (174..181) \"newline\"\n CLOSE_PAREN: (181..182) \")\"\n ATMOSPHERE: (182..184) \"\n\n\"\n FORM: (184..360)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..188)\n IDENTIFIER: (185..188) \"let\"\n ATMOSPHERE: (188..189) \" \"\n FORM: (189..191)\n OPEN_PAREN: (189..190) \"(\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..306)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..210)\n IDENTIFIER: (197..210) \"define-syntax\"\n ATMOSPHERE: (210..211) \" \"\n SYMBOL: (211..214)\n IDENTIFIER: (211..214) \"foo\"\n ATMOSPHERE: (214..223) \"\n \"\n FORM: (223..305)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..236)\n IDENTIFIER: (224..236) \"syntax-rules\"\n ATMOSPHERE: (236..237) \" \"\n FORM: (237..242)\n OPEN_PAREN: (237..238) \"(\"\n SYMBOL: (238..241)\n IDENTIFIER: (238..241) \"bar\"\n CLOSE_PAREN: (241..242) \")\"\n ATMOSPHERE: (242..255) \"\n \"\n FORM: (255..273)\n OPEN_PAREN: (255..256) \"(\"\n FORM: (256..263)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..258)\n IDENTIFIER: (257..258) \"_\"\n ATMOSPHERE: (258..259) \" \"\n SYMBOL: (259..262)\n IDENTIFIER: (259..262) \"bar\"\n CLOSE_PAREN: (262..263) \")\"\n ATMOSPHERE: (263..264) \" \"\n CONSTANT: (264..272)\n STRING: (264..272) \"\"foobar\"\"\n CLOSE_PAREN: (272..273) \")\"\n ATMOSPHERE: (273..286) \"\n \"\n FORM: (286..304)\n OPEN_PAREN: (286..287) \"(\"\n FORM: (287..294)\n OPEN_PAREN: (287..288) \"(\"\n SYMBOL: (288..289)\n IDENTIFIER: (288..289) \"_\"\n ATMOSPHERE: (289..290) \" \"\n SYMBOL: (290..293)\n IDENTIFIER: (290..293) \"baz\"\n CLOSE_PAREN: (293..294) \")\"\n ATMOSPHERE: (294..295) \" \"\n CONSTANT: (295..303)\n STRING: (295..303) \"\"bizbaz\"\"\n CLOSE_PAREN: (303..304) \")\"\n CLOSE_PAREN: (304..305) \")\"\n CLOSE_PAREN: (305..306) \")\"\n ATMOSPHERE: (306..311) \"\n \"\n FORM: (311..345)\n OPEN_PAREN: (311..312) \"(\"\n SYMBOL: (312..319)\n IDENTIFIER: (312..319) \"display\"\n ATMOSPHERE: (319..320) \" \"\n FORM: (320..344)\n OPEN_PAREN: (320..321) \"(\"\n SYMBOL: (321..325)\n IDENTIFIER: (321..325) \"list\"\n ATMOSPHERE: (325..326) \" \"\n FORM: (326..335)\n OPEN_PAREN: (326..327) \"(\"\n SYMBOL: (327..330)\n IDENTIFIER: (327..330) \"foo\"\n ATMOSPHERE: (330..331) \" \"\n SYMBOL: (331..334)\n IDENTIFIER: (331..334) \"bar\"\n CLOSE_PAREN: (334..335) \")\"\n ATMOSPHERE: (335..336) \" \"\n FORM: (336..343)\n OPEN_PAREN: (336..337) \"(\"\n SYMBOL: (337..340)\n IDENTIFIER: (337..340) \"foo\"\n ATMOSPHERE: (340..341) \" \"\n SYMBOL: (341..342)\n IDENTIFIER: (341..342) \"b\"\n CLOSE_PAREN: (342..343) \")\"\n CLOSE_PAREN: (343..344) \")\"\n CLOSE_PAREN: (344..345) \")\"\n ATMOSPHERE: (345..350) \"\n \"\n FORM: (350..359)\n OPEN_PAREN: (350..351) \"(\"\n SYMBOL: (351..358)\n IDENTIFIER: (351..358) \"newline\"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..362) \"\n\n\"\n FORM: (362..477)\n OPEN_PAREN: (362..363) \"(\"\n SYMBOL: (363..370)\n IDENTIFIER: (363..370) \"display\"\n ATMOSPHERE: (370..375) \"\n \"\n FORM: (375..476)\n OPEN_PAREN: (375..376) \"(\"\n SYMBOL: (376..386)\n IDENTIFIER: (376..386) \"let-syntax\"\n ATMOSPHERE: (386..395) \"\n \"\n FORM: (395..455)\n OPEN_PAREN: (395..396) \"(\"\n FORM: (396..454)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..400)\n IDENTIFIER: (397..400) \"foo\"\n ATMOSPHERE: (400..401) \" \"\n FORM: (401..453)\n OPEN_PAREN: (401..402) \"(\"\n SYMBOL: (402..414)\n IDENTIFIER: (402..414) \"syntax-rules\"\n ATMOSPHERE: (414..415) \" \"\n FORM: (415..417)\n OPEN_PAREN: (415..416) \"(\"\n CLOSE_PAREN: (416..417) \")\"\n ATMOSPHERE: (417..430) \"\n \"\n FORM: (430..452)\n OPEN_PAREN: (430..431) \"(\"\n FORM: (431..438)\n OPEN_PAREN: (431..432) \"(\"\n SYMBOL: (432..435)\n IDENTIFIER: (432..435) \"foo\"\n ATMOSPHERE: (435..436) \" \"\n SYMBOL: (436..437)\n IDENTIFIER: (436..437) \"_\"\n CLOSE_PAREN: (437..438) \")\"\n ATMOSPHERE: (438..439) \" \"\n QUOTED_DATUM: (439..451)\n QUOTE: (439..440) \"'\"\n FORM: (440..451)\n OPEN_PAREN: (440..441) \"(\"\n SYMBOL: (441..446)\n IDENTIFIER: (441..446) \"inner\"\n ATMOSPHERE: (446..447) \" \"\n SYMBOL: (447..450)\n IDENTIFIER: (447..450) \"foo\"\n CLOSE_PAREN: (450..451) \")\"\n CLOSE_PAREN: (451..452) \")\"\n CLOSE_PAREN: (452..453) \")\"\n CLOSE_PAREN: (453..454) \")\"\n CLOSE_PAREN: (454..455) \")\"\n ATMOSPHERE: (455..464) \"\n \"\n FORM: (464..475)\n OPEN_PAREN: (464..465) \"(\"\n SYMBOL: (465..468)\n IDENTIFIER: (465..468) \"foo\"\n ATMOSPHERE: (468..469) \" \"\n CONSTANT: (469..474)\n STRING: (469..474) \"\"123\"\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n CLOSE_PAREN: (476..477) \")\"\n FORM: (477..486)\n OPEN_PAREN: (477..478) \"(\"\n SYMBOL: (478..485)\n IDENTIFIER: (478..485) \"newline\"\n CLOSE_PAREN: (485..486) \")\"\n ATMOSPHERE: (486..488) \"\n\n\"\n ATMOSPHERE: (488..524) \"; Should be the first `foo` again...\"\n ATMOSPHERE: (524..525) \"\n\"\n FORM: (525..544)\n OPEN_PAREN: (525..526) \"(\"\n SYMBOL: (526..533)\n IDENTIFIER: (526..533) \"display\"\n ATMOSPHERE: (533..534) \" \"\n FORM: (534..543)\n OPEN_PAREN: (534..535) \"(\"\n SYMBOL: (535..538)\n IDENTIFIER: (535..538) \"foo\"\n ATMOSPHERE: (538..539) \" \"\n CONSTANT: (539..542)\n NUMBER: (539..542) \"123\"\n CLOSE_PAREN: (542..543) \")\"\n CLOSE_PAREN: (543..544) \")\"\n FORM: (544..553)\n OPEN_PAREN: (544..545) \"(\"\n SYMBOL: (545..552)\n IDENTIFIER: (545..552) \"newline\"\n CLOSE_PAREN: (552..553) \")\"\n ATMOSPHERE: (553..555) \"\n\n\"\n EOF: (555..555) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json b/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json index ee44d6c..517b4d8 100644 --- a/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..511)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..511)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..510)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..66) \"\n \n \"\n ATMOSPHERE: (66..79) \";; vector new\"\n ATMOSPHERE: (79..84) \"\n \"\n FORM: (84..98)\n OPEN_PAREN: (84..85) \"(\"\n SYMBOL: (85..91)\n IDENTIFIER: (85..91) \"vector\"\n ATMOSPHERE: (91..92) \" \"\n CONSTANT: (92..93)\n NUMBER: (92..93) \"1\"\n ATMOSPHERE: (93..94) \" \"\n CONSTANT: (94..95)\n NUMBER: (94..95) \"2\"\n ATMOSPHERE: (95..96) \" \"\n CONSTANT: (96..97)\n NUMBER: (96..97) \"3\"\n CLOSE_PAREN: (97..98) \")\"\n ATMOSPHERE: (98..103) \"\n \"\n FORM: (103..123)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..115)\n IDENTIFIER: (104..115) \"make-vector\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..118)\n NUMBER: (116..118) \"10\"\n ATMOSPHERE: (118..119) \" \"\n CONSTANT: (119..122)\n CHARACTER: (119..122) \"#\\a\"\n CLOSE_PAREN: (122..123) \")\"\n ATMOSPHERE: (123..129) \"\n\n \"\n ATMOSPHERE: (129..147) \";; Vector literals\"\n ATMOSPHERE: (147..152) \"\n \"\n VEC: (152..173)\n OPEN_PAREN: (152..154) \"#(\"\n CONSTANT: (154..155)\n NUMBER: (154..155) \"0\"\n ATMOSPHERE: (155..156) \" \"\n FORM: (156..165)\n OPEN_PAREN: (156..157) \"(\"\n CONSTANT: (157..158)\n NUMBER: (157..158) \"2\"\n ATMOSPHERE: (158..159) \" \"\n CONSTANT: (159..160)\n NUMBER: (159..160) \"2\"\n ATMOSPHERE: (160..161) \" \"\n CONSTANT: (161..162)\n NUMBER: (161..162) \"2\"\n ATMOSPHERE: (162..163) \" \"\n CONSTANT: (163..164)\n NUMBER: (163..164) \"2\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..166) \" \"\n CONSTANT: (166..172)\n STRING: (166..172) \"\"Anna\"\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..179) \"\n\n \"\n ATMOSPHERE: (179..199) \";; Vector type check\"\n ATMOSPHERE: (199..204) \"\n \"\n FORM: (204..217)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..212)\n IDENTIFIER: (205..212) \"vector?\"\n ATMOSPHERE: (212..213) \" \"\n VEC: (213..216)\n OPEN_PAREN: (213..215) \"#(\"\n CLOSE_PAREN: (215..216) \")\"\n CLOSE_PAREN: (216..217) \")\"\n ATMOSPHERE: (217..222) \"\n \"\n FORM: (222..240)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..230)\n IDENTIFIER: (223..230) \"vector?\"\n ATMOSPHERE: (230..231) \" \"\n VEC: (231..239)\n OPEN_PAREN: (231..233) \"#(\"\n CONSTANT: (233..234)\n NUMBER: (233..234) \"1\"\n ATMOSPHERE: (234..235) \" \"\n CONSTANT: (235..236)\n NUMBER: (235..236) \"2\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..238)\n NUMBER: (237..238) \"3\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..245) \"\n \"\n FORM: (245..261)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..253)\n IDENTIFIER: (246..253) \"vector?\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..260)\n STRING: (254..260) \"\"Test\"\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..267) \"\n\n \"\n ATMOSPHERE: (267..291) \";; General vector method\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..326)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..310)\n IDENTIFIER: (297..310) \"vector-length\"\n ATMOSPHERE: (310..311) \" \"\n VEC: (311..325)\n OPEN_PAREN: (311..313) \"#(\"\n CONSTANT: (313..316)\n CHARACTER: (313..316) \"#\\a\"\n ATMOSPHERE: (316..317) \" \"\n CONSTANT: (317..320)\n CHARACTER: (317..320) \"#\\b\"\n ATMOSPHERE: (320..321) \" \"\n CONSTANT: (321..324)\n CHARACTER: (321..324) \"#\\c\"\n CLOSE_PAREN: (324..325) \")\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..331) \"\n \"\n FORM: (331..360)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..342)\n IDENTIFIER: (332..342) \"vector-ref\"\n ATMOSPHERE: (342..343) \" \"\n VEC: (343..357)\n OPEN_PAREN: (343..345) \"#(\"\n SYMBOL: (345..346)\n IDENTIFIER: (345..346) \"a\"\n ATMOSPHERE: (346..347) \" \"\n CONSTANT: (347..349)\n BOOLEAN: (347..349) \"#f\"\n ATMOSPHERE: (349..350) \" \"\n CONSTANT: (350..356)\n STRING: (350..356) \"\"test\"\"\n CLOSE_PAREN: (356..357) \")\"\n ATMOSPHERE: (357..358) \" \"\n CONSTANT: (358..359)\n NUMBER: (358..359) \"2\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..365) \"\n \"\n FORM: (365..401)\n OPEN_PAREN: (365..366) \"(\"\n SYMBOL: (366..376)\n IDENTIFIER: (366..376) \"vector-ref\"\n ATMOSPHERE: (376..377) \" \"\n QUOTED_DATUM: (377..399)\n QUOTE: (377..378) \"'\"\n VEC: (378..398)\n OPEN_PAREN: (378..380) \"#(\"\n CONSTANT: (380..381)\n NUMBER: (380..381) \"1\"\n ATMOSPHERE: (381..382) \" \"\n CONSTANT: (382..383)\n NUMBER: (382..383) \"1\"\n ATMOSPHERE: (383..384) \" \"\n CONSTANT: (384..385)\n NUMBER: (384..385) \"2\"\n ATMOSPHERE: (385..386) \" \"\n CONSTANT: (386..387)\n NUMBER: (386..387) \"3\"\n ATMOSPHERE: (387..388) \" \"\n CONSTANT: (388..389)\n NUMBER: (388..389) \"5\"\n ATMOSPHERE: (389..390) \" \"\n CONSTANT: (390..391)\n NUMBER: (390..391) \"8\"\n ATMOSPHERE: (391..392) \" \"\n CONSTANT: (392..394)\n NUMBER: (392..394) \"13\"\n ATMOSPHERE: (394..395) \" \"\n CONSTANT: (395..397)\n NUMBER: (395..397) \"21\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..399) \" \"\n CONSTANT: (399..400)\n NUMBER: (399..400) \"5\"\n CLOSE_PAREN: (400..401) \")\"\n ATMOSPHERE: (401..406) \"\n \"\n FORM: (406..503)\n OPEN_PAREN: (406..407) \"(\"\n SYMBOL: (407..410)\n IDENTIFIER: (407..410) \"let\"\n ATMOSPHERE: (410..411) \" \"\n FORM: (411..447)\n OPEN_PAREN: (411..412) \"(\"\n FORM: (412..446)\n OPEN_PAREN: (412..413) \"(\"\n SYMBOL: (413..416)\n IDENTIFIER: (413..416) \"vec\"\n ATMOSPHERE: (416..417) \" \"\n FORM: (417..445)\n OPEN_PAREN: (417..418) \"(\"\n SYMBOL: (418..424)\n IDENTIFIER: (418..424) \"vector\"\n ATMOSPHERE: (424..425) \" \"\n CONSTANT: (425..426)\n NUMBER: (425..426) \"0\"\n ATMOSPHERE: (426..427) \" \"\n QUOTED_DATUM: (427..438)\n QUOTE: (427..428) \"'\"\n FORM: (428..437)\n OPEN_PAREN: (428..429) \"(\"\n CONSTANT: (429..430)\n NUMBER: (429..430) \"2\"\n ATMOSPHERE: (430..431) \" \"\n CONSTANT: (431..432)\n NUMBER: (431..432) \"2\"\n ATMOSPHERE: (432..433) \" \"\n CONSTANT: (433..434)\n NUMBER: (433..434) \"2\"\n ATMOSPHERE: (434..435) \" \"\n CONSTANT: (435..436)\n NUMBER: (435..436) \"2\"\n CLOSE_PAREN: (436..437) \")\"\n ATMOSPHERE: (437..438) \" \"\n CONSTANT: (438..444)\n STRING: (438..444) \"\"Anna\"\"\n CLOSE_PAREN: (444..445) \")\"\n CLOSE_PAREN: (445..446) \")\"\n CLOSE_PAREN: (446..447) \")\"\n ATMOSPHERE: (447..456) \"\n \"\n FORM: (456..490)\n OPEN_PAREN: (456..457) \"(\"\n SYMBOL: (457..468)\n IDENTIFIER: (457..468) \"vector-set!\"\n ATMOSPHERE: (468..469) \" \"\n SYMBOL: (469..472)\n IDENTIFIER: (469..472) \"vec\"\n ATMOSPHERE: (472..473) \" \"\n CONSTANT: (473..474)\n NUMBER: (473..474) \"1\"\n ATMOSPHERE: (474..475) \" \"\n QUOTED_DATUM: (475..489)\n QUOTE: (475..476) \"'\"\n FORM: (476..489)\n OPEN_PAREN: (476..477) \"(\"\n CONSTANT: (477..482)\n STRING: (477..482) \"\"Sue\"\"\n ATMOSPHERE: (482..483) \" \"\n CONSTANT: (483..488)\n STRING: (483..488) \"\"Sue\"\"\n CLOSE_PAREN: (488..489) \")\"\n CLOSE_PAREN: (489..490) \")\"\n ATMOSPHERE: (490..499) \"\n \"\n SYMBOL: (499..502)\n IDENTIFIER: (499..502) \"vec\"\n CLOSE_PAREN: (502..503) \")\"\n ATMOSPHERE: (503..509) \"\n\n \"\n CLOSE_PAREN: (509..510) \")\"\n CLOSE_PAREN: (510..511) \")\"\n" + "Root": "PROGRAM: (0..511)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..511)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..510)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..66) \"\n \n \"\n ATMOSPHERE: (66..79) \";; vector new\"\n ATMOSPHERE: (79..84) \"\n \"\n FORM: (84..98)\n OPEN_PAREN: (84..85) \"(\"\n SYMBOL: (85..91)\n IDENTIFIER: (85..91) \"vector\"\n ATMOSPHERE: (91..92) \" \"\n CONSTANT: (92..93)\n NUMBER: (92..93) \"1\"\n ATMOSPHERE: (93..94) \" \"\n CONSTANT: (94..95)\n NUMBER: (94..95) \"2\"\n ATMOSPHERE: (95..96) \" \"\n CONSTANT: (96..97)\n NUMBER: (96..97) \"3\"\n CLOSE_PAREN: (97..98) \")\"\n ATMOSPHERE: (98..103) \"\n \"\n FORM: (103..123)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..115)\n IDENTIFIER: (104..115) \"make-vector\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..118)\n NUMBER: (116..118) \"10\"\n ATMOSPHERE: (118..119) \" \"\n CONSTANT: (119..122)\n CHARACTER: (119..122) \"#\\a\"\n CLOSE_PAREN: (122..123) \")\"\n ATMOSPHERE: (123..129) \"\n\n \"\n ATMOSPHERE: (129..147) \";; Vector literals\"\n ATMOSPHERE: (147..152) \"\n \"\n VEC: (152..173)\n OPEN_PAREN: (152..154) \"#(\"\n CONSTANT: (154..155)\n NUMBER: (154..155) \"0\"\n ATMOSPHERE: (155..156) \" \"\n FORM: (156..165)\n OPEN_PAREN: (156..157) \"(\"\n CONSTANT: (157..158)\n NUMBER: (157..158) \"2\"\n ATMOSPHERE: (158..159) \" \"\n CONSTANT: (159..160)\n NUMBER: (159..160) \"2\"\n ATMOSPHERE: (160..161) \" \"\n CONSTANT: (161..162)\n NUMBER: (161..162) \"2\"\n ATMOSPHERE: (162..163) \" \"\n CONSTANT: (163..164)\n NUMBER: (163..164) \"2\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..166) \" \"\n CONSTANT: (166..172)\n STRING: (166..172) \"\"Anna\"\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..179) \"\n\n \"\n ATMOSPHERE: (179..199) \";; Vector type check\"\n ATMOSPHERE: (199..204) \"\n \"\n FORM: (204..217)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..212)\n IDENTIFIER: (205..212) \"vector?\"\n ATMOSPHERE: (212..213) \" \"\n VEC: (213..216)\n OPEN_PAREN: (213..215) \"#(\"\n CLOSE_PAREN: (215..216) \")\"\n CLOSE_PAREN: (216..217) \")\"\n ATMOSPHERE: (217..222) \"\n \"\n FORM: (222..240)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..230)\n IDENTIFIER: (223..230) \"vector?\"\n ATMOSPHERE: (230..231) \" \"\n VEC: (231..239)\n OPEN_PAREN: (231..233) \"#(\"\n CONSTANT: (233..234)\n NUMBER: (233..234) \"1\"\n ATMOSPHERE: (234..235) \" \"\n CONSTANT: (235..236)\n NUMBER: (235..236) \"2\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..238)\n NUMBER: (237..238) \"3\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..245) \"\n \"\n FORM: (245..261)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..253)\n IDENTIFIER: (246..253) \"vector?\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..260)\n STRING: (254..260) \"\"Test\"\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..267) \"\n\n \"\n ATMOSPHERE: (267..291) \";; General vector method\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..326)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..310)\n IDENTIFIER: (297..310) \"vector-length\"\n ATMOSPHERE: (310..311) \" \"\n VEC: (311..325)\n OPEN_PAREN: (311..313) \"#(\"\n CONSTANT: (313..316)\n CHARACTER: (313..316) \"#\\a\"\n ATMOSPHERE: (316..317) \" \"\n CONSTANT: (317..320)\n CHARACTER: (317..320) \"#\\b\"\n ATMOSPHERE: (320..321) \" \"\n CONSTANT: (321..324)\n CHARACTER: (321..324) \"#\\c\"\n CLOSE_PAREN: (324..325) \")\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..331) \"\n \"\n FORM: (331..360)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..342)\n IDENTIFIER: (332..342) \"vector-ref\"\n ATMOSPHERE: (342..343) \" \"\n VEC: (343..357)\n OPEN_PAREN: (343..345) \"#(\"\n SYMBOL: (345..346)\n IDENTIFIER: (345..346) \"a\"\n ATMOSPHERE: (346..347) \" \"\n CONSTANT: (347..349)\n BOOLEAN: (347..349) \"#f\"\n ATMOSPHERE: (349..350) \" \"\n CONSTANT: (350..356)\n STRING: (350..356) \"\"test\"\"\n CLOSE_PAREN: (356..357) \")\"\n ATMOSPHERE: (357..358) \" \"\n CONSTANT: (358..359)\n NUMBER: (358..359) \"2\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..365) \"\n \"\n FORM: (365..401)\n OPEN_PAREN: (365..366) \"(\"\n SYMBOL: (366..376)\n IDENTIFIER: (366..376) \"vector-ref\"\n ATMOSPHERE: (376..377) \" \"\n QUOTED_DATUM: (377..399)\n QUOTE: (377..378) \"'\"\n VEC: (378..398)\n OPEN_PAREN: (378..380) \"#(\"\n CONSTANT: (380..381)\n NUMBER: (380..381) \"1\"\n ATMOSPHERE: (381..382) \" \"\n CONSTANT: (382..383)\n NUMBER: (382..383) \"1\"\n ATMOSPHERE: (383..384) \" \"\n CONSTANT: (384..385)\n NUMBER: (384..385) \"2\"\n ATMOSPHERE: (385..386) \" \"\n CONSTANT: (386..387)\n NUMBER: (386..387) \"3\"\n ATMOSPHERE: (387..388) \" \"\n CONSTANT: (388..389)\n NUMBER: (388..389) \"5\"\n ATMOSPHERE: (389..390) \" \"\n CONSTANT: (390..391)\n NUMBER: (390..391) \"8\"\n ATMOSPHERE: (391..392) \" \"\n CONSTANT: (392..394)\n NUMBER: (392..394) \"13\"\n ATMOSPHERE: (394..395) \" \"\n CONSTANT: (395..397)\n NUMBER: (395..397) \"21\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..399) \" \"\n CONSTANT: (399..400)\n NUMBER: (399..400) \"5\"\n CLOSE_PAREN: (400..401) \")\"\n ATMOSPHERE: (401..406) \"\n \"\n FORM: (406..503)\n OPEN_PAREN: (406..407) \"(\"\n SYMBOL: (407..410)\n IDENTIFIER: (407..410) \"let\"\n ATMOSPHERE: (410..411) \" \"\n FORM: (411..447)\n OPEN_PAREN: (411..412) \"(\"\n FORM: (412..446)\n OPEN_PAREN: (412..413) \"(\"\n SYMBOL: (413..416)\n IDENTIFIER: (413..416) \"vec\"\n ATMOSPHERE: (416..417) \" \"\n FORM: (417..445)\n OPEN_PAREN: (417..418) \"(\"\n SYMBOL: (418..424)\n IDENTIFIER: (418..424) \"vector\"\n ATMOSPHERE: (424..425) \" \"\n CONSTANT: (425..426)\n NUMBER: (425..426) \"0\"\n ATMOSPHERE: (426..427) \" \"\n QUOTED_DATUM: (427..438)\n QUOTE: (427..428) \"'\"\n FORM: (428..437)\n OPEN_PAREN: (428..429) \"(\"\n CONSTANT: (429..430)\n NUMBER: (429..430) \"2\"\n ATMOSPHERE: (430..431) \" \"\n CONSTANT: (431..432)\n NUMBER: (431..432) \"2\"\n ATMOSPHERE: (432..433) \" \"\n CONSTANT: (433..434)\n NUMBER: (433..434) \"2\"\n ATMOSPHERE: (434..435) \" \"\n CONSTANT: (435..436)\n NUMBER: (435..436) \"2\"\n CLOSE_PAREN: (436..437) \")\"\n ATMOSPHERE: (437..438) \" \"\n CONSTANT: (438..444)\n STRING: (438..444) \"\"Anna\"\"\n CLOSE_PAREN: (444..445) \")\"\n CLOSE_PAREN: (445..446) \")\"\n CLOSE_PAREN: (446..447) \")\"\n ATMOSPHERE: (447..456) \"\n \"\n FORM: (456..490)\n OPEN_PAREN: (456..457) \"(\"\n SYMBOL: (457..468)\n IDENTIFIER: (457..468) \"vector-set!\"\n ATMOSPHERE: (468..469) \" \"\n SYMBOL: (469..472)\n IDENTIFIER: (469..472) \"vec\"\n ATMOSPHERE: (472..473) \" \"\n CONSTANT: (473..474)\n NUMBER: (473..474) \"1\"\n ATMOSPHERE: (474..475) \" \"\n QUOTED_DATUM: (475..489)\n QUOTE: (475..476) \"'\"\n FORM: (476..489)\n OPEN_PAREN: (476..477) \"(\"\n CONSTANT: (477..482)\n STRING: (477..482) \"\"Sue\"\"\n ATMOSPHERE: (482..483) \" \"\n CONSTANT: (483..488)\n STRING: (483..488) \"\"Sue\"\"\n CLOSE_PAREN: (488..489) \")\"\n CLOSE_PAREN: (489..490) \")\"\n ATMOSPHERE: (490..499) \"\n \"\n SYMBOL: (499..502)\n IDENTIFIER: (499..502) \"vec\"\n CLOSE_PAREN: (502..503) \")\"\n ATMOSPHERE: (503..509) \"\n\n \"\n CLOSE_PAREN: (509..510) \")\"\n CLOSE_PAREN: (510..511) \")\"\n EOF: (511..511) \"\"\n" } \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_zed.scm.json b/test/Feersum.Tests/_snapshots/Parse_zed.scm.json index f1b7c4e..02259aa 100644 --- a/test/Feersum.Tests/_snapshots/Parse_zed.scm.json +++ b/test/Feersum.Tests/_snapshots/Parse_zed.scm.json @@ -1,4 +1,4 @@ { "Diagnostics": [], - "Root": "PROGRAM: (0..725)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..41) \"\n\n\"\n ATMOSPHERE: (41..92) \";; This is the zed combinator from lambda calculus.\"\n ATMOSPHERE: (92..93) \"\n\"\n FORM: (93..181)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..100)\n IDENTIFIER: (94..100) \"define\"\n ATMOSPHERE: (100..101) \" \"\n FORM: (101..106)\n OPEN_PAREN: (101..102) \"(\"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"Z\"\n ATMOSPHERE: (103..104) \" \"\n SYMBOL: (104..105)\n IDENTIFIER: (104..105) \"f\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..109) \"\n \"\n FORM: (109..180)\n OPEN_PAREN: (109..110) \"(\"\n FORM: (110..128)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..117)\n IDENTIFIER: (111..117) \"lambda\"\n ATMOSPHERE: (117..118) \" \"\n FORM: (118..121)\n OPEN_PAREN: (118..119) \"(\"\n SYMBOL: (119..120)\n IDENTIFIER: (119..120) \"g\"\n CLOSE_PAREN: (120..121) \")\"\n ATMOSPHERE: (121..122) \" \"\n FORM: (122..127)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"g\"\n ATMOSPHERE: (124..125) \" \"\n SYMBOL: (125..126)\n IDENTIFIER: (125..126) \"g\"\n CLOSE_PAREN: (126..127) \")\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..132) \"\n \"\n FORM: (132..179)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"lambda\"\n ATMOSPHERE: (139..140) \" \"\n FORM: (140..143)\n OPEN_PAREN: (140..141) \"(\"\n SYMBOL: (141..142)\n IDENTIFIER: (141..142) \"g\"\n CLOSE_PAREN: (142..143) \")\"\n ATMOSPHERE: (143..148) \"\n \"\n FORM: (148..178)\n OPEN_PAREN: (148..149) \"(\"\n SYMBOL: (149..150)\n IDENTIFIER: (149..150) \"f\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..177)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"lambda\"\n ATMOSPHERE: (158..159) \" \"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"a\"\n ATMOSPHERE: (160..161) \" \"\n FORM: (161..176)\n OPEN_PAREN: (161..162) \"(\"\n SYMBOL: (162..167)\n IDENTIFIER: (162..167) \"apply\"\n ATMOSPHERE: (167..168) \" \"\n FORM: (168..173)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..170)\n IDENTIFIER: (169..170) \"g\"\n ATMOSPHERE: (170..171) \" \"\n SYMBOL: (171..172)\n IDENTIFIER: (171..172) \"g\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..175)\n IDENTIFIER: (174..175) \"a\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n CLOSE_PAREN: (177..178) \")\"\n CLOSE_PAREN: (178..179) \")\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..183) \"\n\n\"\n ATMOSPHERE: (183..220) \";; Echo just prints out its arguments\"\n ATMOSPHERE: (220..221) \"\n\"\n FORM: (221..295)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..228)\n IDENTIFIER: (222..228) \"define\"\n ATMOSPHERE: (228..229) \" \"\n SYMBOL: (229..233)\n IDENTIFIER: (229..233) \"echo\"\n ATMOSPHERE: (233..236) \"\n \"\n FORM: (236..294)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..238)\n IDENTIFIER: (237..238) \"Z\"\n ATMOSPHERE: (238..239) \" \"\n FORM: (239..293)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..246)\n IDENTIFIER: (240..246) \"lambda\"\n ATMOSPHERE: (246..247) \" \"\n FORM: (247..253)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..252)\n IDENTIFIER: (248..252) \"echo\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..292)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..265)\n IDENTIFIER: (259..265) \"lambda\"\n ATMOSPHERE: (265..266) \" \"\n SYMBOL: (266..270)\n IDENTIFIER: (266..270) \"args\"\n ATMOSPHERE: (270..277) \"\n \"\n FORM: (277..291)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..285)\n IDENTIFIER: (278..285) \"display\"\n ATMOSPHERE: (285..286) \" \"\n SYMBOL: (286..290)\n IDENTIFIER: (286..290) \"args\"\n CLOSE_PAREN: (290..291) \")\"\n CLOSE_PAREN: (291..292) \")\"\n CLOSE_PAREN: (292..293) \")\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..297) \"\n\n\"\n FORM: (297..317)\n OPEN_PAREN: (297..298) \"(\"\n SYMBOL: (298..302)\n IDENTIFIER: (298..302) \"echo\"\n ATMOSPHERE: (302..303) \" \"\n CONSTANT: (303..316)\n STRING: (303..316) \"\"hello world\"\"\n CLOSE_PAREN: (316..317) \")\"\n FORM: (317..326)\n OPEN_PAREN: (317..318) \"(\"\n SYMBOL: (318..325)\n IDENTIFIER: (318..325) \"newline\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..328) \"\n\n\"\n ATMOSPHERE: (328..380) \";; Recursive fibonacci defined using the combinator.\"\n ATMOSPHERE: (380..381) \"\n\"\n FORM: (381..501)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..388)\n IDENTIFIER: (382..388) \"define\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..392)\n IDENTIFIER: (389..392) \"fib\"\n ATMOSPHERE: (392..395) \"\n \"\n FORM: (395..500)\n OPEN_PAREN: (395..396) \"(\"\n SYMBOL: (396..397)\n IDENTIFIER: (396..397) \"Z\"\n ATMOSPHERE: (397..398) \" \"\n FORM: (398..499)\n OPEN_PAREN: (398..399) \"(\"\n SYMBOL: (399..405)\n IDENTIFIER: (399..405) \"lambda\"\n ATMOSPHERE: (405..406) \" \"\n FORM: (406..411)\n OPEN_PAREN: (406..407) \"(\"\n SYMBOL: (407..410)\n IDENTIFIER: (407..410) \"fib\"\n CLOSE_PAREN: (410..411) \")\"\n ATMOSPHERE: (411..416) \"\n \"\n FORM: (416..498)\n OPEN_PAREN: (416..417) \"(\"\n SYMBOL: (417..423)\n IDENTIFIER: (417..423) \"lambda\"\n ATMOSPHERE: (423..424) \" \"\n FORM: (424..427)\n OPEN_PAREN: (424..425) \"(\"\n SYMBOL: (425..426)\n IDENTIFIER: (425..426) \"n\"\n CLOSE_PAREN: (426..427) \")\"\n ATMOSPHERE: (427..434) \"\n \"\n FORM: (434..497)\n OPEN_PAREN: (434..435) \"(\"\n SYMBOL: (435..437)\n IDENTIFIER: (435..437) \"if\"\n ATMOSPHERE: (437..438) \" \"\n FORM: (438..446)\n OPEN_PAREN: (438..439) \"(\"\n SYMBOL: (439..441)\n IDENTIFIER: (439..441) \"<=\"\n ATMOSPHERE: (441..442) \" \"\n SYMBOL: (442..443)\n IDENTIFIER: (442..443) \"n\"\n ATMOSPHERE: (443..444) \" \"\n CONSTANT: (444..445)\n NUMBER: (444..445) \"2\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..455) \"\n \"\n CONSTANT: (455..456)\n NUMBER: (455..456) \"1\"\n ATMOSPHERE: (456..465) \"\n \"\n FORM: (465..496)\n OPEN_PAREN: (465..466) \"(\"\n SYMBOL: (466..467)\n IDENTIFIER: (466..467) \"+\"\n ATMOSPHERE: (467..468) \" \"\n FORM: (468..481)\n OPEN_PAREN: (468..469) \"(\"\n SYMBOL: (469..472)\n IDENTIFIER: (469..472) \"fib\"\n ATMOSPHERE: (472..473) \" \"\n FORM: (473..480)\n OPEN_PAREN: (473..474) \"(\"\n SYMBOL: (474..475)\n IDENTIFIER: (474..475) \"-\"\n ATMOSPHERE: (475..476) \" \"\n SYMBOL: (476..477)\n IDENTIFIER: (476..477) \"n\"\n ATMOSPHERE: (477..478) \" \"\n CONSTANT: (478..479)\n NUMBER: (478..479) \"1\"\n CLOSE_PAREN: (479..480) \")\"\n CLOSE_PAREN: (480..481) \")\"\n ATMOSPHERE: (481..482) \" \"\n FORM: (482..495)\n OPEN_PAREN: (482..483) \"(\"\n SYMBOL: (483..486)\n IDENTIFIER: (483..486) \"fib\"\n ATMOSPHERE: (486..487) \" \"\n FORM: (487..494)\n OPEN_PAREN: (487..488) \"(\"\n SYMBOL: (488..489)\n IDENTIFIER: (488..489) \"-\"\n ATMOSPHERE: (489..490) \" \"\n SYMBOL: (490..491)\n IDENTIFIER: (490..491) \"n\"\n ATMOSPHERE: (491..492) \" \"\n CONSTANT: (492..493)\n NUMBER: (492..493) \"2\"\n CLOSE_PAREN: (493..494) \")\"\n CLOSE_PAREN: (494..495) \")\"\n CLOSE_PAREN: (495..496) \")\"\n CLOSE_PAREN: (496..497) \")\"\n CLOSE_PAREN: (497..498) \")\"\n CLOSE_PAREN: (498..499) \")\"\n CLOSE_PAREN: (499..500) \")\"\n CLOSE_PAREN: (500..501) \")\"\n ATMOSPHERE: (501..503) \"\n\n\"\n FORM: (503..520)\n OPEN_PAREN: (503..504) \"(\"\n SYMBOL: (504..511)\n IDENTIFIER: (504..511) \"display\"\n ATMOSPHERE: (511..512) \" \"\n FORM: (512..519)\n OPEN_PAREN: (512..513) \"(\"\n SYMBOL: (513..516)\n IDENTIFIER: (513..516) \"fib\"\n ATMOSPHERE: (516..517) \" \"\n CONSTANT: (517..518)\n NUMBER: (517..518) \"5\"\n CLOSE_PAREN: (518..519) \")\"\n CLOSE_PAREN: (519..520) \")\"\n FORM: (520..529)\n OPEN_PAREN: (520..521) \"(\"\n SYMBOL: (521..528)\n IDENTIFIER: (521..528) \"newline\"\n CLOSE_PAREN: (528..529) \")\"\n ATMOSPHERE: (529..531) \"\n\n\"\n ATMOSPHERE: (531..583) \";; Recursive factorial defined using the combinator.\"\n ATMOSPHERE: (583..584) \"\n\"\n FORM: (584..694)\n OPEN_PAREN: (584..585) \"(\"\n SYMBOL: (585..591)\n IDENTIFIER: (585..591) \"define\"\n ATMOSPHERE: (591..592) \" \"\n SYMBOL: (592..596)\n IDENTIFIER: (592..596) \"fact\"\n ATMOSPHERE: (596..599) \"\n \"\n FORM: (599..693)\n OPEN_PAREN: (599..600) \"(\"\n SYMBOL: (600..601)\n IDENTIFIER: (600..601) \"Z\"\n ATMOSPHERE: (601..602) \" \"\n FORM: (602..692)\n OPEN_PAREN: (602..603) \"(\"\n SYMBOL: (603..609)\n IDENTIFIER: (603..609) \"lambda\"\n ATMOSPHERE: (609..610) \" \"\n FORM: (610..616)\n OPEN_PAREN: (610..611) \"(\"\n SYMBOL: (611..615)\n IDENTIFIER: (611..615) \"fact\"\n CLOSE_PAREN: (615..616) \")\"\n ATMOSPHERE: (616..621) \"\n \"\n FORM: (621..691)\n OPEN_PAREN: (621..622) \"(\"\n SYMBOL: (622..628)\n IDENTIFIER: (622..628) \"lambda\"\n ATMOSPHERE: (628..629) \" \"\n FORM: (629..632)\n OPEN_PAREN: (629..630) \"(\"\n SYMBOL: (630..631)\n IDENTIFIER: (630..631) \"n\"\n CLOSE_PAREN: (631..632) \")\"\n ATMOSPHERE: (632..639) \"\n \"\n FORM: (639..690)\n OPEN_PAREN: (639..640) \"(\"\n SYMBOL: (640..642)\n IDENTIFIER: (640..642) \"if\"\n ATMOSPHERE: (642..643) \" \"\n FORM: (643..650)\n OPEN_PAREN: (643..644) \"(\"\n SYMBOL: (644..645)\n IDENTIFIER: (644..645) \"=\"\n ATMOSPHERE: (645..646) \" \"\n SYMBOL: (646..647)\n IDENTIFIER: (646..647) \"n\"\n ATMOSPHERE: (647..648) \" \"\n CONSTANT: (648..649)\n NUMBER: (648..649) \"0\"\n CLOSE_PAREN: (649..650) \")\"\n ATMOSPHERE: (650..659) \"\n \"\n CONSTANT: (659..660)\n NUMBER: (659..660) \"1\"\n ATMOSPHERE: (660..669) \"\n \"\n FORM: (669..689)\n OPEN_PAREN: (669..670) \"(\"\n SYMBOL: (670..671)\n IDENTIFIER: (670..671) \"*\"\n ATMOSPHERE: (671..672) \" \"\n SYMBOL: (672..673)\n IDENTIFIER: (672..673) \"n\"\n ATMOSPHERE: (673..674) \" \"\n FORM: (674..688)\n OPEN_PAREN: (674..675) \"(\"\n SYMBOL: (675..679)\n IDENTIFIER: (675..679) \"fact\"\n ATMOSPHERE: (679..680) \" \"\n FORM: (680..687)\n OPEN_PAREN: (680..681) \"(\"\n SYMBOL: (681..682)\n IDENTIFIER: (681..682) \"-\"\n ATMOSPHERE: (682..683) \" \"\n SYMBOL: (683..684)\n IDENTIFIER: (683..684) \"n\"\n ATMOSPHERE: (684..685) \" \"\n CONSTANT: (685..686)\n NUMBER: (685..686) \"1\"\n CLOSE_PAREN: (686..687) \")\"\n CLOSE_PAREN: (687..688) \")\"\n CLOSE_PAREN: (688..689) \")\"\n CLOSE_PAREN: (689..690) \")\"\n CLOSE_PAREN: (690..691) \")\"\n CLOSE_PAREN: (691..692) \")\"\n CLOSE_PAREN: (692..693) \")\"\n CLOSE_PAREN: (693..694) \")\"\n ATMOSPHERE: (694..696) \"\n\n\"\n FORM: (696..715)\n OPEN_PAREN: (696..697) \"(\"\n SYMBOL: (697..704)\n IDENTIFIER: (697..704) \"display\"\n ATMOSPHERE: (704..705) \" \"\n FORM: (705..714)\n OPEN_PAREN: (705..706) \"(\"\n SYMBOL: (706..710)\n IDENTIFIER: (706..710) \"fact\"\n ATMOSPHERE: (710..711) \" \"\n CONSTANT: (711..713)\n NUMBER: (711..713) \"12\"\n CLOSE_PAREN: (713..714) \")\"\n CLOSE_PAREN: (714..715) \")\"\n FORM: (715..724)\n OPEN_PAREN: (715..716) \"(\"\n SYMBOL: (716..723)\n IDENTIFIER: (716..723) \"newline\"\n CLOSE_PAREN: (723..724) \")\"\n ATMOSPHERE: (724..725) \"\n\"\n" + "Root": "PROGRAM: (0..725)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..41) \"\n\n\"\n ATMOSPHERE: (41..92) \";; This is the zed combinator from lambda calculus.\"\n ATMOSPHERE: (92..93) \"\n\"\n FORM: (93..181)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..100)\n IDENTIFIER: (94..100) \"define\"\n ATMOSPHERE: (100..101) \" \"\n FORM: (101..106)\n OPEN_PAREN: (101..102) \"(\"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"Z\"\n ATMOSPHERE: (103..104) \" \"\n SYMBOL: (104..105)\n IDENTIFIER: (104..105) \"f\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..109) \"\n \"\n FORM: (109..180)\n OPEN_PAREN: (109..110) \"(\"\n FORM: (110..128)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..117)\n IDENTIFIER: (111..117) \"lambda\"\n ATMOSPHERE: (117..118) \" \"\n FORM: (118..121)\n OPEN_PAREN: (118..119) \"(\"\n SYMBOL: (119..120)\n IDENTIFIER: (119..120) \"g\"\n CLOSE_PAREN: (120..121) \")\"\n ATMOSPHERE: (121..122) \" \"\n FORM: (122..127)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"g\"\n ATMOSPHERE: (124..125) \" \"\n SYMBOL: (125..126)\n IDENTIFIER: (125..126) \"g\"\n CLOSE_PAREN: (126..127) \")\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..132) \"\n \"\n FORM: (132..179)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"lambda\"\n ATMOSPHERE: (139..140) \" \"\n FORM: (140..143)\n OPEN_PAREN: (140..141) \"(\"\n SYMBOL: (141..142)\n IDENTIFIER: (141..142) \"g\"\n CLOSE_PAREN: (142..143) \")\"\n ATMOSPHERE: (143..148) \"\n \"\n FORM: (148..178)\n OPEN_PAREN: (148..149) \"(\"\n SYMBOL: (149..150)\n IDENTIFIER: (149..150) \"f\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..177)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"lambda\"\n ATMOSPHERE: (158..159) \" \"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"a\"\n ATMOSPHERE: (160..161) \" \"\n FORM: (161..176)\n OPEN_PAREN: (161..162) \"(\"\n SYMBOL: (162..167)\n IDENTIFIER: (162..167) \"apply\"\n ATMOSPHERE: (167..168) \" \"\n FORM: (168..173)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..170)\n IDENTIFIER: (169..170) \"g\"\n ATMOSPHERE: (170..171) \" \"\n SYMBOL: (171..172)\n IDENTIFIER: (171..172) \"g\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..175)\n IDENTIFIER: (174..175) \"a\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n CLOSE_PAREN: (177..178) \")\"\n CLOSE_PAREN: (178..179) \")\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..183) \"\n\n\"\n ATMOSPHERE: (183..220) \";; Echo just prints out its arguments\"\n ATMOSPHERE: (220..221) \"\n\"\n FORM: (221..295)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..228)\n IDENTIFIER: (222..228) \"define\"\n ATMOSPHERE: (228..229) \" \"\n SYMBOL: (229..233)\n IDENTIFIER: (229..233) \"echo\"\n ATMOSPHERE: (233..236) \"\n \"\n FORM: (236..294)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..238)\n IDENTIFIER: (237..238) \"Z\"\n ATMOSPHERE: (238..239) \" \"\n FORM: (239..293)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..246)\n IDENTIFIER: (240..246) \"lambda\"\n ATMOSPHERE: (246..247) \" \"\n FORM: (247..253)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..252)\n IDENTIFIER: (248..252) \"echo\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..292)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..265)\n IDENTIFIER: (259..265) \"lambda\"\n ATMOSPHERE: (265..266) \" \"\n SYMBOL: (266..270)\n IDENTIFIER: (266..270) \"args\"\n ATMOSPHERE: (270..277) \"\n \"\n FORM: (277..291)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..285)\n IDENTIFIER: (278..285) \"display\"\n ATMOSPHERE: (285..286) \" \"\n SYMBOL: (286..290)\n IDENTIFIER: (286..290) \"args\"\n CLOSE_PAREN: (290..291) \")\"\n CLOSE_PAREN: (291..292) \")\"\n CLOSE_PAREN: (292..293) \")\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..297) \"\n\n\"\n FORM: (297..317)\n OPEN_PAREN: (297..298) \"(\"\n SYMBOL: (298..302)\n IDENTIFIER: (298..302) \"echo\"\n ATMOSPHERE: (302..303) \" \"\n CONSTANT: (303..316)\n STRING: (303..316) \"\"hello world\"\"\n CLOSE_PAREN: (316..317) \")\"\n FORM: (317..326)\n OPEN_PAREN: (317..318) \"(\"\n SYMBOL: (318..325)\n IDENTIFIER: (318..325) \"newline\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..328) \"\n\n\"\n ATMOSPHERE: (328..380) \";; Recursive fibonacci defined using the combinator.\"\n ATMOSPHERE: (380..381) \"\n\"\n FORM: (381..501)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..388)\n IDENTIFIER: (382..388) \"define\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..392)\n IDENTIFIER: (389..392) \"fib\"\n ATMOSPHERE: (392..395) \"\n \"\n FORM: (395..500)\n OPEN_PAREN: (395..396) \"(\"\n SYMBOL: (396..397)\n IDENTIFIER: (396..397) \"Z\"\n ATMOSPHERE: (397..398) \" \"\n FORM: (398..499)\n OPEN_PAREN: (398..399) \"(\"\n SYMBOL: (399..405)\n IDENTIFIER: (399..405) \"lambda\"\n ATMOSPHERE: (405..406) \" \"\n FORM: (406..411)\n OPEN_PAREN: (406..407) \"(\"\n SYMBOL: (407..410)\n IDENTIFIER: (407..410) \"fib\"\n CLOSE_PAREN: (410..411) \")\"\n ATMOSPHERE: (411..416) \"\n \"\n FORM: (416..498)\n OPEN_PAREN: (416..417) \"(\"\n SYMBOL: (417..423)\n IDENTIFIER: (417..423) \"lambda\"\n ATMOSPHERE: (423..424) \" \"\n FORM: (424..427)\n OPEN_PAREN: (424..425) \"(\"\n SYMBOL: (425..426)\n IDENTIFIER: (425..426) \"n\"\n CLOSE_PAREN: (426..427) \")\"\n ATMOSPHERE: (427..434) \"\n \"\n FORM: (434..497)\n OPEN_PAREN: (434..435) \"(\"\n SYMBOL: (435..437)\n IDENTIFIER: (435..437) \"if\"\n ATMOSPHERE: (437..438) \" \"\n FORM: (438..446)\n OPEN_PAREN: (438..439) \"(\"\n SYMBOL: (439..441)\n IDENTIFIER: (439..441) \"<=\"\n ATMOSPHERE: (441..442) \" \"\n SYMBOL: (442..443)\n IDENTIFIER: (442..443) \"n\"\n ATMOSPHERE: (443..444) \" \"\n CONSTANT: (444..445)\n NUMBER: (444..445) \"2\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..455) \"\n \"\n CONSTANT: (455..456)\n NUMBER: (455..456) \"1\"\n ATMOSPHERE: (456..465) \"\n \"\n FORM: (465..496)\n OPEN_PAREN: (465..466) \"(\"\n SYMBOL: (466..467)\n IDENTIFIER: (466..467) \"+\"\n ATMOSPHERE: (467..468) \" \"\n FORM: (468..481)\n OPEN_PAREN: (468..469) \"(\"\n SYMBOL: (469..472)\n IDENTIFIER: (469..472) \"fib\"\n ATMOSPHERE: (472..473) \" \"\n FORM: (473..480)\n OPEN_PAREN: (473..474) \"(\"\n SYMBOL: (474..475)\n IDENTIFIER: (474..475) \"-\"\n ATMOSPHERE: (475..476) \" \"\n SYMBOL: (476..477)\n IDENTIFIER: (476..477) \"n\"\n ATMOSPHERE: (477..478) \" \"\n CONSTANT: (478..479)\n NUMBER: (478..479) \"1\"\n CLOSE_PAREN: (479..480) \")\"\n CLOSE_PAREN: (480..481) \")\"\n ATMOSPHERE: (481..482) \" \"\n FORM: (482..495)\n OPEN_PAREN: (482..483) \"(\"\n SYMBOL: (483..486)\n IDENTIFIER: (483..486) \"fib\"\n ATMOSPHERE: (486..487) \" \"\n FORM: (487..494)\n OPEN_PAREN: (487..488) \"(\"\n SYMBOL: (488..489)\n IDENTIFIER: (488..489) \"-\"\n ATMOSPHERE: (489..490) \" \"\n SYMBOL: (490..491)\n IDENTIFIER: (490..491) \"n\"\n ATMOSPHERE: (491..492) \" \"\n CONSTANT: (492..493)\n NUMBER: (492..493) \"2\"\n CLOSE_PAREN: (493..494) \")\"\n CLOSE_PAREN: (494..495) \")\"\n CLOSE_PAREN: (495..496) \")\"\n CLOSE_PAREN: (496..497) \")\"\n CLOSE_PAREN: (497..498) \")\"\n CLOSE_PAREN: (498..499) \")\"\n CLOSE_PAREN: (499..500) \")\"\n CLOSE_PAREN: (500..501) \")\"\n ATMOSPHERE: (501..503) \"\n\n\"\n FORM: (503..520)\n OPEN_PAREN: (503..504) \"(\"\n SYMBOL: (504..511)\n IDENTIFIER: (504..511) \"display\"\n ATMOSPHERE: (511..512) \" \"\n FORM: (512..519)\n OPEN_PAREN: (512..513) \"(\"\n SYMBOL: (513..516)\n IDENTIFIER: (513..516) \"fib\"\n ATMOSPHERE: (516..517) \" \"\n CONSTANT: (517..518)\n NUMBER: (517..518) \"5\"\n CLOSE_PAREN: (518..519) \")\"\n CLOSE_PAREN: (519..520) \")\"\n FORM: (520..529)\n OPEN_PAREN: (520..521) \"(\"\n SYMBOL: (521..528)\n IDENTIFIER: (521..528) \"newline\"\n CLOSE_PAREN: (528..529) \")\"\n ATMOSPHERE: (529..531) \"\n\n\"\n ATMOSPHERE: (531..583) \";; Recursive factorial defined using the combinator.\"\n ATMOSPHERE: (583..584) \"\n\"\n FORM: (584..694)\n OPEN_PAREN: (584..585) \"(\"\n SYMBOL: (585..591)\n IDENTIFIER: (585..591) \"define\"\n ATMOSPHERE: (591..592) \" \"\n SYMBOL: (592..596)\n IDENTIFIER: (592..596) \"fact\"\n ATMOSPHERE: (596..599) \"\n \"\n FORM: (599..693)\n OPEN_PAREN: (599..600) \"(\"\n SYMBOL: (600..601)\n IDENTIFIER: (600..601) \"Z\"\n ATMOSPHERE: (601..602) \" \"\n FORM: (602..692)\n OPEN_PAREN: (602..603) \"(\"\n SYMBOL: (603..609)\n IDENTIFIER: (603..609) \"lambda\"\n ATMOSPHERE: (609..610) \" \"\n FORM: (610..616)\n OPEN_PAREN: (610..611) \"(\"\n SYMBOL: (611..615)\n IDENTIFIER: (611..615) \"fact\"\n CLOSE_PAREN: (615..616) \")\"\n ATMOSPHERE: (616..621) \"\n \"\n FORM: (621..691)\n OPEN_PAREN: (621..622) \"(\"\n SYMBOL: (622..628)\n IDENTIFIER: (622..628) \"lambda\"\n ATMOSPHERE: (628..629) \" \"\n FORM: (629..632)\n OPEN_PAREN: (629..630) \"(\"\n SYMBOL: (630..631)\n IDENTIFIER: (630..631) \"n\"\n CLOSE_PAREN: (631..632) \")\"\n ATMOSPHERE: (632..639) \"\n \"\n FORM: (639..690)\n OPEN_PAREN: (639..640) \"(\"\n SYMBOL: (640..642)\n IDENTIFIER: (640..642) \"if\"\n ATMOSPHERE: (642..643) \" \"\n FORM: (643..650)\n OPEN_PAREN: (643..644) \"(\"\n SYMBOL: (644..645)\n IDENTIFIER: (644..645) \"=\"\n ATMOSPHERE: (645..646) \" \"\n SYMBOL: (646..647)\n IDENTIFIER: (646..647) \"n\"\n ATMOSPHERE: (647..648) \" \"\n CONSTANT: (648..649)\n NUMBER: (648..649) \"0\"\n CLOSE_PAREN: (649..650) \")\"\n ATMOSPHERE: (650..659) \"\n \"\n CONSTANT: (659..660)\n NUMBER: (659..660) \"1\"\n ATMOSPHERE: (660..669) \"\n \"\n FORM: (669..689)\n OPEN_PAREN: (669..670) \"(\"\n SYMBOL: (670..671)\n IDENTIFIER: (670..671) \"*\"\n ATMOSPHERE: (671..672) \" \"\n SYMBOL: (672..673)\n IDENTIFIER: (672..673) \"n\"\n ATMOSPHERE: (673..674) \" \"\n FORM: (674..688)\n OPEN_PAREN: (674..675) \"(\"\n SYMBOL: (675..679)\n IDENTIFIER: (675..679) \"fact\"\n ATMOSPHERE: (679..680) \" \"\n FORM: (680..687)\n OPEN_PAREN: (680..681) \"(\"\n SYMBOL: (681..682)\n IDENTIFIER: (681..682) \"-\"\n ATMOSPHERE: (682..683) \" \"\n SYMBOL: (683..684)\n IDENTIFIER: (683..684) \"n\"\n ATMOSPHERE: (684..685) \" \"\n CONSTANT: (685..686)\n NUMBER: (685..686) \"1\"\n CLOSE_PAREN: (686..687) \")\"\n CLOSE_PAREN: (687..688) \")\"\n CLOSE_PAREN: (688..689) \")\"\n CLOSE_PAREN: (689..690) \")\"\n CLOSE_PAREN: (690..691) \")\"\n CLOSE_PAREN: (691..692) \")\"\n CLOSE_PAREN: (692..693) \")\"\n CLOSE_PAREN: (693..694) \")\"\n ATMOSPHERE: (694..696) \"\n\n\"\n FORM: (696..715)\n OPEN_PAREN: (696..697) \"(\"\n SYMBOL: (697..704)\n IDENTIFIER: (697..704) \"display\"\n ATMOSPHERE: (704..705) \" \"\n FORM: (705..714)\n OPEN_PAREN: (705..706) \"(\"\n SYMBOL: (706..710)\n IDENTIFIER: (706..710) \"fact\"\n ATMOSPHERE: (710..711) \" \"\n CONSTANT: (711..713)\n NUMBER: (711..713) \"12\"\n CLOSE_PAREN: (713..714) \")\"\n CLOSE_PAREN: (714..715) \")\"\n FORM: (715..724)\n OPEN_PAREN: (715..716) \"(\"\n SYMBOL: (716..723)\n IDENTIFIER: (716..723) \"newline\"\n CLOSE_PAREN: (723..724) \")\"\n ATMOSPHERE: (724..725) \"\n\"\n EOF: (725..725) \"\"\n" } \ No newline at end of file From 459a2438644c964a8cc9d6f70b989ded02986d7f Mon Sep 17 00:00:00 2001 From: Will Speak Date: Wed, 19 Jun 2024 09:09:46 +0100 Subject: [PATCH 05/15] Initial Syntax Factory for Number Nodes Sketching out the structure of syntax factories. These now need implementing for the remaining node types. Heavily inspired by `Teasel`'s `SyntaxFactory` work. --- .config/dotnet-tools.json | 2 +- .../Feersum.CompilerServices.fsproj | 3 ++- .../Syntax/Factories.fs | 16 ++++++++++++++ src/Feersum.CompilerServices/Syntax/Tree.fs | 18 ++++++++++----- test/Feersum.Tests/Feersum.Tests.fsproj | 3 ++- test/Feersum.Tests/SyntaxFactoriesTests.fs | 22 +++++++++++++++++++ 6 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 src/Feersum.CompilerServices/Syntax/Factories.fs create mode 100644 test/Feersum.Tests/SyntaxFactoriesTests.fs diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 4c53c07..6587b8c 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "fantomas": { - "version": "6.0.5", + "version": "6.3.9", "commands": [ "fantomas" ] diff --git a/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj b/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj index 5515238..8942d7c 100644 --- a/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj +++ b/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj @@ -18,6 +18,7 @@ + @@ -39,4 +40,4 @@ - + \ No newline at end of file diff --git a/src/Feersum.CompilerServices/Syntax/Factories.fs b/src/Feersum.CompilerServices/Syntax/Factories.fs new file mode 100644 index 0000000..0cc4b31 --- /dev/null +++ b/src/Feersum.CompilerServices/Syntax/Factories.fs @@ -0,0 +1,16 @@ +module Feersum.CompilerServices.Syntax.Factories + +open Feersum.CompilerServices.Syntax.Tree +open Firethorn.Green +open Firethorn.Red + +let numVal n = + new Constant( + SyntaxNode.CreateRoot( + GreenNode.Create( + AstKind.CONSTANT |> SyntaxUtils.astToGreen, + [ GreenToken.Create(AstKind.NUMBER |> SyntaxUtils.astToGreen, sprintf "%d" n) + |> GreenElement.Token ] + ) + ) + ) diff --git a/src/Feersum.CompilerServices/Syntax/Tree.fs b/src/Feersum.CompilerServices/Syntax/Tree.fs index 015bd51..f06d0d5 100644 --- a/src/Feersum.CompilerServices/Syntax/Tree.fs +++ b/src/Feersum.CompilerServices/Syntax/Tree.fs @@ -147,16 +147,24 @@ module private Utils = type AstItem internal (red: NodeOrToken) = /// Get the Syntax range of the item - member public _.SyntaxRange = - red |> NodeOrToken.consolidate (fun n -> n.Range) (fun t -> t.Range) + member public _.SyntaxRange = red |> NodeOrToken.consolidate _.Range _.Range member _.Text = red - |> NodeOrToken.consolidate (fun n -> n.Green.ToString()) (fun t -> t.Green.Text) + |> NodeOrToken.consolidate + (fun n -> + Walk.walk n + |> Seq.fold + (fun (sb: StringBuilder) ev -> + match ev with + | OnToken t -> sb.Append(t.Green.Text) + | _ -> sb) + (new StringBuilder()) + |> _.ToString()) + _.Green.Text override _.ToString() = - red |> NodeOrToken.consolidate (fun n -> n.ToString()) (fun t -> t.ToString()) - + red |> NodeOrToken.consolidate _.ToString() _.ToString() // *********** TOKENS diff --git a/test/Feersum.Tests/Feersum.Tests.fsproj b/test/Feersum.Tests/Feersum.Tests.fsproj index 4921183..0b62c2d 100644 --- a/test/Feersum.Tests/Feersum.Tests.fsproj +++ b/test/Feersum.Tests/Feersum.Tests.fsproj @@ -14,6 +14,7 @@ + @@ -33,4 +34,4 @@ all - + \ No newline at end of file diff --git a/test/Feersum.Tests/SyntaxFactoriesTests.fs b/test/Feersum.Tests/SyntaxFactoriesTests.fs new file mode 100644 index 0000000..5a18526 --- /dev/null +++ b/test/Feersum.Tests/SyntaxFactoriesTests.fs @@ -0,0 +1,22 @@ +module SyntaxFactoriesTests + +open Feersum.CompilerServices.Syntax.Factories +open Xunit +open Feersum.CompilerServices.Syntax +open Feersum.CompilerServices.Syntax.Tree + +[] +let ``number nodes`` () = + let node = numVal 123 + let reparsed = Parse.readExpr1 "testparse" node.Text + let node2 = reparsed.Root.Body.Value + + Assert.Equal("123", node.Text) + + match node with + | Constant(Some(NumVal 123.0)) -> () + | _ -> failwith "Node structure invalid" + + Assert.Empty(reparsed.Diagnostics) + Assert.Equal(node2.RawNode.Kind, node.RawNode.Kind) + Assert.Equal(node2.SyntaxRange, node.SyntaxRange) From a30a3957c6a6432f15b584dca65222be00f75379 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Thu, 20 Jun 2024 09:38:03 +0100 Subject: [PATCH 06/15] Boolean Syntax Factory Factory for bool nodes. --- .../Syntax/Factories.fs | 19 +++++++++++ src/Feersum.CompilerServices/Syntax/Tree.fs | 4 +-- test/Feersum.Tests/SyntaxFactoriesTests.fs | 34 ++++++++++++++++--- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Factories.fs b/src/Feersum.CompilerServices/Syntax/Factories.fs index 0cc4b31..2182b1b 100644 --- a/src/Feersum.CompilerServices/Syntax/Factories.fs +++ b/src/Feersum.CompilerServices/Syntax/Factories.fs @@ -4,6 +4,9 @@ open Feersum.CompilerServices.Syntax.Tree open Firethorn.Green open Firethorn.Red +/// Create a Numeric Value Constant +/// +/// Emits a syntax tree representing a single number let numVal n = new Constant( SyntaxNode.CreateRoot( @@ -14,3 +17,19 @@ let numVal n = ) ) ) + +/// Create a Boolean Value Constant +/// +/// Emit a syntax tree reprsenting a single boolean value +let boolVal b = + let literal = if b then "#t" else "#f" + + new Constant( + SyntaxNode.CreateRoot( + GreenNode.Create( + AstKind.CONSTANT |> SyntaxUtils.astToGreen, + [ GreenToken.Create(AstKind.BOOLEAN |> SyntaxUtils.astToGreen, literal) + |> GreenElement.Token ] + ) + ) + ) diff --git a/src/Feersum.CompilerServices/Syntax/Tree.fs b/src/Feersum.CompilerServices/Syntax/Tree.fs index f06d0d5..c053ff1 100644 --- a/src/Feersum.CompilerServices/Syntax/Tree.fs +++ b/src/Feersum.CompilerServices/Syntax/Tree.fs @@ -147,7 +147,7 @@ module private Utils = type AstItem internal (red: NodeOrToken) = /// Get the Syntax range of the item - member public _.SyntaxRange = red |> NodeOrToken.consolidate _.Range _.Range + member public _.SyntaxRange = red |> NodeOrToken.consolidate (_.Range) (_.Range) member _.Text = red @@ -164,7 +164,7 @@ type AstItem internal (red: NodeOrToken) = _.Green.Text override _.ToString() = - red |> NodeOrToken.consolidate _.ToString() _.ToString() + red |> NodeOrToken.consolidate (_.ToString()) (_.ToString()) // *********** TOKENS diff --git a/test/Feersum.Tests/SyntaxFactoriesTests.fs b/test/Feersum.Tests/SyntaxFactoriesTests.fs index 5a18526..a6805be 100644 --- a/test/Feersum.Tests/SyntaxFactoriesTests.fs +++ b/test/Feersum.Tests/SyntaxFactoriesTests.fs @@ -4,12 +4,19 @@ open Feersum.CompilerServices.Syntax.Factories open Xunit open Feersum.CompilerServices.Syntax open Feersum.CompilerServices.Syntax.Tree +open Firethorn.Red + +let checkReparse (node: Expression) = + let reparsed = Parse.readExpr1 "testparse" node.Text + let node2 = reparsed.Root.Body.Value + Assert.Empty(reparsed.Diagnostics) + Assert.Equal(node2.RawNode.Kind, node.RawNode.Kind) + Assert.Equal(node2.SyntaxRange, node.SyntaxRange) + Assert.Equal(Debug.debugToStringRaw node2.RawNode, Debug.debugToStringRaw node.RawNode) [] let ``number nodes`` () = let node = numVal 123 - let reparsed = Parse.readExpr1 "testparse" node.Text - let node2 = reparsed.Root.Body.Value Assert.Equal("123", node.Text) @@ -17,6 +24,23 @@ let ``number nodes`` () = | Constant(Some(NumVal 123.0)) -> () | _ -> failwith "Node structure invalid" - Assert.Empty(reparsed.Diagnostics) - Assert.Equal(node2.RawNode.Kind, node.RawNode.Kind) - Assert.Equal(node2.SyntaxRange, node.SyntaxRange) + checkReparse node + +[] +let ``bool nodes`` () = + let tNode = boolVal true + let fNode = boolVal false + + Assert.Equal("#t", tNode.Text) + Assert.Equal("#f", fNode.Text) + + match tNode with + | Constant(Some(BoolVal true)) -> () + | _ -> failwith "Node structure invalid" + + match fNode with + | Constant(Some(BoolVal false)) -> () + | _ -> failwith "Node structure invalid" + + checkReparse tNode + checkReparse fNode From 218ea9b2d2219abcfcaf711de38b0c0f2f10d70b Mon Sep 17 00:00:00 2001 From: Will Speak Date: Thu, 20 Jun 2024 18:16:23 +0100 Subject: [PATCH 07/15] Handle Unterminated Lines in Repl Update the REPL to allow statements to cross lines. --- src/Feersum/Repl.fs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/Feersum/Repl.fs b/src/Feersum/Repl.fs index c3dccf2..f9ea712 100644 --- a/src/Feersum/Repl.fs +++ b/src/Feersum/Repl.fs @@ -15,10 +15,23 @@ open Feersum.CompilerServices.Syntax.Parse /// syntax tree. If the input can't be parsed then read /// again. let rec private read () : CompileInput = - let line = ReadLine.Read("§> ") + let rec readWithState prompt previous = + let line = ReadLine.Read(prompt) + let source = + match previous with + | Some prefix -> prefix + "\n" + line + | None -> line - match Parse.readExpr1 "repl" line |> ParseResult.toResult with - | Result.Ok tree -> CompileInput.Script(TextDocument.fromParts "repl" line, tree) + match Parse.readExpr1 "repl" source |> ParseResult.toResult with + | Result.Ok tree -> CompileInput.Script(TextDocument.fromParts "repl" source, tree) |> Ok + | Result.Error diagnostics -> + if line = "" && source.EndsWith("\n\n") then + Result.Error(diagnostics) + else + readWithState "+> " (Some(source)) + + match readWithState "§> " None with + | Result.Ok input -> input | Result.Error diagnostics -> diagnostics |> dumpDiagnostics read () From ad936e8ade5e1fb7b310e1fb9265ea0e01ea54fd Mon Sep 17 00:00:00 2001 From: Will Speak Date: Thu, 20 Jun 2024 18:45:55 +0100 Subject: [PATCH 08/15] String and Character Constants Introduce factories for string and character values. This should mean we now have all the main constant types covered. --- .../Syntax/Factories.fs | 35 ++++++++-------- src/Feersum/Repl.fs | 3 +- test/Feersum.Tests/SyntaxFactoriesTests.fs | 40 +++++++++++++++++-- 3 files changed, 58 insertions(+), 20 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Factories.fs b/src/Feersum.CompilerServices/Syntax/Factories.fs index 2182b1b..a9d7c9a 100644 --- a/src/Feersum.CompilerServices/Syntax/Factories.fs +++ b/src/Feersum.CompilerServices/Syntax/Factories.fs @@ -3,33 +3,36 @@ module Feersum.CompilerServices.Syntax.Factories open Feersum.CompilerServices.Syntax.Tree open Firethorn.Green open Firethorn.Red +open Serehfa -/// Create a Numeric Value Constant -/// -/// Emits a syntax tree representing a single number -let numVal n = +let private constant kind value = new Constant( SyntaxNode.CreateRoot( GreenNode.Create( AstKind.CONSTANT |> SyntaxUtils.astToGreen, - [ GreenToken.Create(AstKind.NUMBER |> SyntaxUtils.astToGreen, sprintf "%d" n) + [ GreenToken.Create(kind |> SyntaxUtils.astToGreen, Write.GetExternalRepresentation(value)) |> GreenElement.Token ] ) ) ) + +/// Create a Numeric Value Constant +/// +/// Emits a syntax tree representing a single number +let numVal (n: double) = constant AstKind.NUMBER n + /// Create a Boolean Value Constant /// /// Emit a syntax tree reprsenting a single boolean value -let boolVal b = - let literal = if b then "#t" else "#f" +let boolVal (b: bool) = constant AstKind.BOOLEAN b - new Constant( - SyntaxNode.CreateRoot( - GreenNode.Create( - AstKind.CONSTANT |> SyntaxUtils.astToGreen, - [ GreenToken.Create(AstKind.BOOLEAN |> SyntaxUtils.astToGreen, literal) - |> GreenElement.Token ] - ) - ) - ) +/// Create a Character Value Constant +/// +/// Emit a syntax tree representing a single character value +let charVal (c: char) = constant AstKind.CHARACTER c + +/// Create aString Value Constant +/// +/// Emit a syntax tree reperesenting a single string value +let strVal (s: string) = constant AstKind.STRING s diff --git a/src/Feersum/Repl.fs b/src/Feersum/Repl.fs index f9ea712..a69aba8 100644 --- a/src/Feersum/Repl.fs +++ b/src/Feersum/Repl.fs @@ -17,6 +17,7 @@ open Feersum.CompilerServices.Syntax.Parse let rec private read () : CompileInput = let rec readWithState prompt previous = let line = ReadLine.Read(prompt) + let source = match previous with | Some prefix -> prefix + "\n" + line @@ -29,7 +30,7 @@ let rec private read () : CompileInput = Result.Error(diagnostics) else readWithState "+> " (Some(source)) - + match readWithState "§> " None with | Result.Ok input -> input | Result.Error diagnostics -> diff --git a/test/Feersum.Tests/SyntaxFactoriesTests.fs b/test/Feersum.Tests/SyntaxFactoriesTests.fs index a6805be..6693c1c 100644 --- a/test/Feersum.Tests/SyntaxFactoriesTests.fs +++ b/test/Feersum.Tests/SyntaxFactoriesTests.fs @@ -6,7 +6,9 @@ open Feersum.CompilerServices.Syntax open Feersum.CompilerServices.Syntax.Tree open Firethorn.Red -let checkReparse (node: Expression) = +/// Validate that a node when re-parsed from the `.Text` will result in an +/// identical expression tree. +let private checkReparse (node: Expression) = let reparsed = Parse.readExpr1 "testparse" node.Text let node2 = reparsed.Root.Body.Value Assert.Empty(reparsed.Diagnostics) @@ -15,7 +17,7 @@ let checkReparse (node: Expression) = Assert.Equal(Debug.debugToStringRaw node2.RawNode, Debug.debugToStringRaw node.RawNode) [] -let ``number nodes`` () = +let ``number constants`` () = let node = numVal 123 Assert.Equal("123", node.Text) @@ -27,7 +29,7 @@ let ``number nodes`` () = checkReparse node [] -let ``bool nodes`` () = +let ``boolean constants`` () = let tNode = boolVal true let fNode = boolVal false @@ -44,3 +46,35 @@ let ``bool nodes`` () = checkReparse tNode checkReparse fNode + +[] +[] +[] +[] +[] +[] +[] +let ``character constants`` ch exp = + let node = charVal ch + + Assert.Equal(exp, node.Text) + + match node with + | Constant(Some(CharVal(Some(c)))) -> Assert.Equal(ch, c) + | _ -> failwith "Node structure invalid" + + checkReparse node + +[] +[] +[] +[] +[] +let ``string constants`` str = + let node = strVal str + + match node with + | Constant(Some(StrVal s)) -> Assert.Equal(str, s) + | _ -> failwith "Node structure invalid" + + checkReparse node From ad6aa98ba79eb26b5584c2172c0b1cb424b5dd37 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Thu, 20 Jun 2024 19:12:06 +0100 Subject: [PATCH 09/15] Add Script and Program Factories Bring back some of the `EvalTests` by adding in factories for our root program types. --- .../Syntax/Factories.fs | 28 +++++++++++- test/Feersum.Tests/EvalTests.fs | 43 +++++++++++-------- 2 files changed, 53 insertions(+), 18 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Factories.fs b/src/Feersum.CompilerServices/Syntax/Factories.fs index a9d7c9a..3d40854 100644 --- a/src/Feersum.CompilerServices/Syntax/Factories.fs +++ b/src/Feersum.CompilerServices/Syntax/Factories.fs @@ -33,6 +33,32 @@ let boolVal (b: bool) = constant AstKind.BOOLEAN b let charVal (c: char) = constant AstKind.CHARACTER c /// Create aString Value Constant -/// +/// /// Emit a syntax tree reperesenting a single string value let strVal (s: string) = constant AstKind.STRING s + +/// Wrap Expression as Script +/// +/// Creates a new root `ScriptProgram` from the given `Expression` +let scriptProgram (expr: Expression) : ScriptProgram = + new ScriptProgram( + SyntaxNode.CreateRoot( + GreenNode.Create( + AstKind.SCRIPT_PROGRAM |> SyntaxUtils.astToGreen, + [ expr.RawNode.Green |> GreenElement.Node ] + ) + ) + ) + +/// Wrap Expressions as Full Program +/// +/// Creates a new root `Program` from the given `Expression` sequence +let program (exprs: seq) : Program = + new Program( + SyntaxNode.CreateRoot( + GreenNode.Create( + AstKind.PROGRAM |> SyntaxUtils.astToGreen, + exprs |> Seq.map ((_.RawNode.Green) >> GreenElement.Node) |> List.ofSeq + ) + ) + ) diff --git a/test/Feersum.Tests/EvalTests.fs b/test/Feersum.Tests/EvalTests.fs index 679d5f2..e7fdfa0 100644 --- a/test/Feersum.Tests/EvalTests.fs +++ b/test/Feersum.Tests/EvalTests.fs @@ -5,38 +5,47 @@ open Xunit open Feersum.CompilerServices.Eval open Feersum.CompilerServices.Syntax open SyntaxUtils -open SyntaxFactory open Feersum.CompilerServices.Utils open Feersum.CompilerServices.Syntax.Parse open Feersum.CompilerServices.Compile open Feersum.CompilerServices.Text +open Feersum.CompilerServices.Syntax.Factories +open Feersum.CompilerServices.Syntax.Tree -let feeri = eval >> Result.unwrap >> cilExternalRepr +let private feeri = eval >> Result.unwrap >> cilExternalRepr + +let private interpProg (prog: Program) = + let doc = TextDocument.fromParts "test" prog.Text + CompileInput.Program [ (doc, prog) ] |> feeri + +let private interpScr (scr: ScriptProgram) = + let doc = TextDocument.fromParts "test" scr.Text + CompileInput.Script(doc, scr) |> feeri let private tryReadSingle expr = let script = readExpr expr |> ParseResult.toResult |> Result.unwrap let doc = TextDocument.fromParts "test" expr CompileInput.Script(doc, script) -// FIXME: Eval of legacy node types +[] +let ``evaluate atoms`` () = + Assert.Equal("#t", interpScr (boolVal true |> scriptProgram)) + Assert.Equal("#f", interpScr (boolVal false |> scriptProgram)) + Assert.Equal(@"""hello""", interpScr (strVal "hello" |> scriptProgram)) + Assert.Equal("1337", interpScr (numVal 1337.0 |> scriptProgram)) + Assert.Equal("123.456", interpScr (numVal 123.456 |> scriptProgram)) -// [] -// let ``Evaluate atoms`` () = -// Assert.Equal("#t", feeri (Boolean true |> constant)) -// Assert.Equal("#f", feeri (Boolean false |> constant)) -// Assert.Equal(@"""hello""", feeri (Str "hello" |> constant)) -// Assert.Equal("1337", feeri (Number 1337.0 |> constant)) -// Assert.Equal("123.456", feeri (Number 123.456 |> constant)) +[] +let ``Evaluate lists`` () = + Assert.Equal("132", interpProg (program [ boolVal false; numVal 132.0 ])) -// [] -// let ``Evaluate lists`` () = -// Assert.Equal("132", feeri (Seq [ Boolean false |> constant; Number 132.0 |> constant ] |> node)) + Assert.Equal("#t", interpProg (program [ boolVal true ])) -// Assert.Equal("#t", feeri (Seq [ Boolean true |> constant ] |> node)) +[] +let ``Evaluate empty program`` () = + Assert.Equal("; Unspecified value", interpProg ([] |> program)) -// [] -// let ``Evaluate empty program`` () = -// Assert.Equal("; Unspecified value", feeri (Seq [] |> node)) +// FIXME: Eval of legacy node types // [] // let ``Evaluate lambdas returns`` () = From 4d4dc23122e096609301ccd54849b52d1d510daf Mon Sep 17 00:00:00 2001 From: Will Speak Date: Thu, 20 Jun 2024 20:18:02 +0100 Subject: [PATCH 10/15] Quotation Factories Add factory support for quoted values. --- src/Feersum.CompilerServices/Syntax/Factories.fs | 16 ++++++++++++++++ test/Feersum.Tests/EvalTests.fs | 13 +++++++++---- test/Feersum.Tests/SyntaxFactoriesTests.fs | 10 ++++++++++ 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Factories.fs b/src/Feersum.CompilerServices/Syntax/Factories.fs index 3d40854..2dc9e40 100644 --- a/src/Feersum.CompilerServices/Syntax/Factories.fs +++ b/src/Feersum.CompilerServices/Syntax/Factories.fs @@ -37,6 +37,22 @@ let charVal (c: char) = constant AstKind.CHARACTER c /// Emit a syntax tree reperesenting a single string value let strVal (s: string) = constant AstKind.STRING s +/// Wrap an Expression with a Quotation +/// +/// Creates a new `Quotation`, wrapping the innter `Expression` to convert it +/// into a datum. +let quoted (e: Expression) = + new Quoted( + SyntaxNode.CreateRoot( + GreenNode.Create( + AstKind.QUOTED_DATUM |> SyntaxUtils.astToGreen, + [ GreenToken.Create(AstKind.QUOTE |> SyntaxUtils.astToGreen, "'") + |> GreenElement.Token + e.RawNode.Green |> GreenElement.Node ] + ) + ) + ) + /// Wrap Expression as Script /// /// Creates a new root `ScriptProgram` from the given `Expression` diff --git a/test/Feersum.Tests/EvalTests.fs b/test/Feersum.Tests/EvalTests.fs index e7fdfa0..dead8ae 100644 --- a/test/Feersum.Tests/EvalTests.fs +++ b/test/Feersum.Tests/EvalTests.fs @@ -3,8 +3,6 @@ module EvalTests open Xunit open Feersum.CompilerServices.Eval -open Feersum.CompilerServices.Syntax -open SyntaxUtils open Feersum.CompilerServices.Utils open Feersum.CompilerServices.Syntax.Parse open Feersum.CompilerServices.Compile @@ -36,9 +34,16 @@ let ``evaluate atoms`` () = Assert.Equal("123.456", interpScr (numVal 123.456 |> scriptProgram)) [] -let ``Evaluate lists`` () = - Assert.Equal("132", interpProg (program [ boolVal false; numVal 132.0 ])) +let ``evaluate quoted atoms`` () = + Assert.Equal("#t", interpScr (boolVal true |> quoted |> scriptProgram)) + Assert.Equal("#f", interpScr (boolVal false |> quoted |> scriptProgram)) + Assert.Equal(@"""hello""", interpScr (strVal "hello" |> quoted |> scriptProgram)) + Assert.Equal("1337", interpScr (numVal 1337.0 |> quoted |> scriptProgram)) + Assert.Equal("123.456", interpScr (numVal 123.456 |> quoted |> scriptProgram)) +[] +let ``evaluate seqs`` () = + Assert.Equal("132", interpProg (program [ boolVal false; numVal 132.0 ])) Assert.Equal("#t", interpProg (program [ boolVal true ])) [] diff --git a/test/Feersum.Tests/SyntaxFactoriesTests.fs b/test/Feersum.Tests/SyntaxFactoriesTests.fs index 6693c1c..10533b4 100644 --- a/test/Feersum.Tests/SyntaxFactoriesTests.fs +++ b/test/Feersum.Tests/SyntaxFactoriesTests.fs @@ -78,3 +78,13 @@ let ``string constants`` str = | _ -> failwith "Node structure invalid" checkReparse node + +[] +let ``quotation exprs`` () = + let node = numVal 101 |> quoted + + match node with + | Quoted(Some(Constant(Some(NumVal 101.0)))) -> () + | _ -> failwith "Node strucutre invalid" + + checkReparse node From 682a82fc679ecbe16e1736edfa66db47e65aaa91 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Fri, 21 Jun 2024 08:01:12 +0100 Subject: [PATCH 11/15] Fixup Remaining Eval Tests Introduce the form and symbol factories, and use them to implement the remaining disabled `eval` tests. --- .../Syntax/Factories.fs | 46 ++++++- src/Serehfa/Ident.cs | 2 +- test/Feersum.Tests/EvalTests.fs | 115 ++++++------------ test/Feersum.Tests/SyntaxFactoriesTests.fs | 30 +++++ 4 files changed, 110 insertions(+), 83 deletions(-) diff --git a/src/Feersum.CompilerServices/Syntax/Factories.fs b/src/Feersum.CompilerServices/Syntax/Factories.fs index 2dc9e40..f981637 100644 --- a/src/Feersum.CompilerServices/Syntax/Factories.fs +++ b/src/Feersum.CompilerServices/Syntax/Factories.fs @@ -5,18 +5,22 @@ open Firethorn.Green open Firethorn.Red open Serehfa +let private tok kind text = + GreenToken.Create(kind |> SyntaxUtils.astToGreen, text) |> GreenElement.Token + +let private atmosphere = tok AstKind.ATMOSPHERE +let private space = atmosphere " " + let private constant kind value = new Constant( SyntaxNode.CreateRoot( GreenNode.Create( AstKind.CONSTANT |> SyntaxUtils.astToGreen, - [ GreenToken.Create(kind |> SyntaxUtils.astToGreen, Write.GetExternalRepresentation(value)) - |> GreenElement.Token ] + [ tok kind (Write.GetExternalRepresentation(value)) ] ) ) ) - /// Create a Numeric Value Constant /// /// Emits a syntax tree representing a single number @@ -46,13 +50,43 @@ let quoted (e: Expression) = SyntaxNode.CreateRoot( GreenNode.Create( AstKind.QUOTED_DATUM |> SyntaxUtils.astToGreen, - [ GreenToken.Create(AstKind.QUOTE |> SyntaxUtils.astToGreen, "'") - |> GreenElement.Token - e.RawNode.Green |> GreenElement.Node ] + [ tok AstKind.QUOTE "'"; e.RawNode.Green |> GreenElement.Node ] ) ) ) +/// Wrap a String as an Identifier Node +/// +/// Produces a single well-formed symbol node contianing a single identifier. +let symbol ident = + new Symbol( + SyntaxNode.CreateRoot( + GreenNode.Create( + AstKind.SYMBOL |> SyntaxUtils.astToGreen, + [ tok AstKind.IDENTIFIER (Write.GetExternalRepresentation(new Ident(ident))) ] + ) + ) + ) + +/// Wrap a List of Expressions as a Form +/// +/// Produces a simple well-formed form expression from a list of containing expressions. +let form (exprs: Expression list) = + let close = tok AstKind.CLOSE_PAREN ")" + let toNode (x: Expression) = x.RawNode.Green |> GreenElement.Node + + let rec mapTail (exprs: Expression list) = + match exprs with + | [] -> [ close ] + | [ single ] -> [ single |> toNode; close ] + | head :: tail -> (head |> toNode) :: (space :: (mapTail tail)) + + new Form( + SyntaxNode.CreateRoot( + GreenNode.Create(AstKind.FORM |> SyntaxUtils.astToGreen, tok AstKind.OPEN_PAREN "(" :: mapTail exprs) + ) + ) + /// Wrap Expression as Script /// /// Creates a new root `ScriptProgram` from the given `Expression` diff --git a/src/Serehfa/Ident.cs b/src/Serehfa/Ident.cs index 1b9ff6a..cbef3b3 100644 --- a/src/Serehfa/Ident.cs +++ b/src/Serehfa/Ident.cs @@ -13,7 +13,7 @@ public Ident(string id) _id = string.Intern(id); } - public bool IsSimple => _id.All(c => char.IsLetterOrDigit(c)); + public bool IsSimple => _id.All(c => char.IsLetterOrDigit(c)) && _id.Length > 0; public string Raw => _id; diff --git a/test/Feersum.Tests/EvalTests.fs b/test/Feersum.Tests/EvalTests.fs index dead8ae..95c15fe 100644 --- a/test/Feersum.Tests/EvalTests.fs +++ b/test/Feersum.Tests/EvalTests.fs @@ -50,71 +50,35 @@ let ``evaluate seqs`` () = let ``Evaluate empty program`` () = Assert.Equal("; Unspecified value", interpProg ([] |> program)) -// FIXME: Eval of legacy node types - -// [] -// let ``Evaluate lambdas returns`` () = -// Assert.Equal( -// "123", -// feeri ( -// Form -// [ Form -// [ Ident "lambda" |> node -// Form [ Ident "x" |> node ] |> node -// Ident "x" |> node ] -// |> node -// Number 123.0 |> constant ] -// |> node -// ) -// ) - -// [] -// let ``Evaluate builtins`` () = -// Assert.Equal( -// "19", -// feeri ( -// Form [ Ident "+" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] -// |> node -// ) -// ) - -// Assert.Equal("901", feeri (Form [ Ident "+" |> node; Number 901.0 |> constant ] |> node)) - -// Assert.Equal( -// "90", -// feeri ( -// Form [ Ident "*" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] -// |> node -// ) -// ) - -// Assert.Equal( -// "901", -// feeri ( -// Form -// [ Ident "+" |> node -// Form [ Ident "*" |> node; Number 100.0 |> constant; Number 9.0 |> constant ] -// |> node -// Number 1.0 |> constant ] -// |> node -// ) -// ) - -// Assert.Equal( -// "1", -// feeri ( -// Form [ Ident "-" |> node; Number 10.0 |> constant; Number 9.0 |> constant ] -// |> node -// ) -// ) - -// Assert.Equal( -// "2", -// feeri ( -// Form [ Ident "/" |> node; Number 16.0 |> constant; Number 8.0 |> constant ] -// |> node -// ) -// ) +[] +let ``Evaluate lambdas returns`` () = + Assert.Equal( + "123", + interpScr ( + form [ form [ symbol "lambda"; form [ symbol "x" ]; symbol "x" ]; numVal 123.0 ] + |> scriptProgram + ) + ) + +[] +let ``Evaluate builtins`` () = + Assert.Equal("19", interpScr (form [ symbol "+"; numVal 10.0; numVal 9.0 ] |> scriptProgram)) + + Assert.Equal("901", interpScr (form [ symbol "+"; numVal 901.0 ] |> scriptProgram)) + + Assert.Equal("90", interpScr (form [ symbol "*"; numVal 10.0; numVal 9.0 ] |> scriptProgram)) + + Assert.Equal( + "901", + interpScr ( + form [ symbol "+"; form [ symbol "*"; numVal 100.0; numVal 9.0 ]; numVal 1.0 ] + |> scriptProgram + ) + ) + + Assert.Equal("1", interpScr (form [ symbol "-"; numVal 10.0; numVal 9.0 ] |> scriptProgram)) + + Assert.Equal("2", interpScr (form [ symbol "/"; numVal 16.0; numVal 8.0 ] |> scriptProgram)) [] [] @@ -141,17 +105,16 @@ let ``evaluate artithemtic ops`` expr result = let expr = tryReadSingle expr Assert.Equal(result, feeri (expr)) -// FIXME: Eval of legacy node types -// [] -// [] -// [")>] -// [] -// [=")>] -// [] -// let ``comp ops return true for simple cases`` op = -// Assert.Equal("#t", feeri (Form [ Ident op |> node ] |> node)) - -// Assert.Equal("#t", feeri (Form [ Ident op |> node; Number 123.456 |> constant ] |> node)) +[] +[] +[")>] +[] +[=")>] +[] +let ``comp ops return true for simple cases`` op = + Assert.Equal("#t", interpScr (form [ symbol op ] |> scriptProgram)) + + Assert.Equal("#t", interpScr (form [ symbol op; numVal 123.456 ] |> scriptProgram)) [] [] diff --git a/test/Feersum.Tests/SyntaxFactoriesTests.fs b/test/Feersum.Tests/SyntaxFactoriesTests.fs index 10533b4..b4ff862 100644 --- a/test/Feersum.Tests/SyntaxFactoriesTests.fs +++ b/test/Feersum.Tests/SyntaxFactoriesTests.fs @@ -88,3 +88,33 @@ let ``quotation exprs`` () = | _ -> failwith "Node strucutre invalid" checkReparse node + +[] +let ``simple forms`` () = + let node = form [ numVal 123; boolVal false ] + + Assert.Equal("(123 #f)", node.Text) + + Assert.True(node.DottedTail.IsNone) + + match node with + | Form([ Constant(Some(NumVal 123.0)); Constant(Some(BoolVal false)) ]) -> () + | _ -> failwith "Node structure invalid" + + checkReparse node + +[] +[] +[] +[] +[] +let ``identifier symbol exprs`` ident expected = + let node = symbol ident + + Assert.Equal(expected, node.Text) + + match node with + | Symbol id -> Assert.Equal(ident, id) + | _ -> failwith "Node strucutre invalid" + + checkReparse node From 027bd177915b43b898ce9b66d37beb31209533bc Mon Sep 17 00:00:00 2001 From: Will Speak Date: Sat, 22 Jun 2024 09:19:02 +0100 Subject: [PATCH 12/15] Improve IL for Condition Expressions Rather than relying on dup and storing the value on the statck while we perform the `#f` check we can instead store the temporary value in a local. This simplifies the codepath for the `true` case. --- .../Compile/Compiler.fs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Feersum.CompilerServices/Compile/Compiler.fs b/src/Feersum.CompilerServices/Compile/Compiler.fs index 919d5df..1648e7c 100644 --- a/src/Feersum.CompilerServices/Compile/Compiler.fs +++ b/src/Feersum.CompilerServices/Compile/Compiler.fs @@ -388,26 +388,29 @@ module private Utils = | BoundExpr.Load storage -> readFrom ctx storage | BoundExpr.If(cond, ifTrue, maybeIfFalse) -> let lblTrue = ctx.IL.Create(OpCodes.Nop) - let lblNotBool = ctx.IL.Create(OpCodes.Nop) let lblEnd = ctx.IL.Create(OpCodes.Nop) + let condTemp = makeTemp ctx ctx.Assm.MainModule.TypeSystem.Object // ILAAA : - // ILBBB : dup + // ILAAA : stloc condTemp + // ILBBB : ldloc condTemp // ILBBB : isinst bool - // ILBBB : brfalse ILlblNotBool - // ILBBB : brtrue ILlblTrue - // ILCCC : + // ILBBB : brfalse ILlblTrue + // ILCCC : ldloc condTemp + // ILCCC : brtrue ILlblTrue + // ILDDD : // ILXXX : br ILlblEnd ; or just `ret` for tail calls - // ILlblNotBool: pop // ILlblTrue : // ILlblEnd : nop ; only if not tail call emitExpression ctx false cond - ctx.IL.Emit(OpCodes.Dup) + ctx.IL.Emit(OpCodes.Stloc, condTemp) + ctx.IL.Emit(OpCodes.Ldloc, condTemp) ctx.IL.Emit(OpCodes.Isinst, ctx.Assm.MainModule.TypeSystem.Boolean) - ctx.IL.Emit(OpCodes.Brfalse, lblNotBool) + ctx.IL.Emit(OpCodes.Brfalse, lblTrue) + ctx.IL.Emit(OpCodes.Ldloc, condTemp) ctx.IL.Emit(OpCodes.Unbox_Any, ctx.Assm.MainModule.TypeSystem.Boolean) ctx.IL.Emit(OpCodes.Brtrue, lblTrue) @@ -429,8 +432,6 @@ module private Utils = else ctx.IL.Emit(OpCodes.Br, lblEnd) - ctx.IL.Append(lblNotBool) - ctx.IL.Emit(OpCodes.Pop) ctx.IL.Append(lblTrue) recurse ifTrue From 4be1099453c98e0e33dbabffce2e45d477ba6a8c Mon Sep 17 00:00:00 2001 From: Will Speak Date: Sat, 22 Jun 2024 17:46:59 +0100 Subject: [PATCH 13/15] Example `alist` Macro --- spec/alist.scm | 8 ++++++++ test/Feersum.Tests/_snapshots/Parse_alist.scm.json | 4 ++++ .../_snapshots/SpecTests_spec tests compile and run.json | 5 +++++ 3 files changed, 17 insertions(+) create mode 100644 spec/alist.scm create mode 100644 test/Feersum.Tests/_snapshots/Parse_alist.scm.json diff --git a/spec/alist.scm b/spec/alist.scm new file mode 100644 index 0000000..9f1a01e --- /dev/null +++ b/spec/alist.scm @@ -0,0 +1,8 @@ +(import (scheme write) + (scheme base)) +(define-syntax alist + (syntax-rules () + ((_) ()) + ((_ x y z ...) + (cons (cons x y) (alist z ...))))) +(display (alist 'foo 10 'bar 20 'baz 30))(newline) diff --git a/test/Feersum.Tests/_snapshots/Parse_alist.scm.json b/test/Feersum.Tests/_snapshots/Parse_alist.scm.json new file mode 100644 index 0000000..f5485bf --- /dev/null +++ b/test/Feersum.Tests/_snapshots/Parse_alist.scm.json @@ -0,0 +1,4 @@ +{ + "Diagnostics": [], + "Root": "PROGRAM: (0..206)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..25) \"\n \"\n FORM: (25..38)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"scheme\"\n ATMOSPHERE: (32..33) \" \"\n SYMBOL: (33..37)\n IDENTIFIER: (33..37) \"base\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..154)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..54)\n IDENTIFIER: (41..54) \"define-syntax\"\n ATMOSPHERE: (54..55) \" \"\n SYMBOL: (55..60)\n IDENTIFIER: (55..60) \"alist\"\n ATMOSPHERE: (60..63) \"\n \"\n FORM: (63..153)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..76)\n IDENTIFIER: (64..76) \"syntax-rules\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..79)\n OPEN_PAREN: (77..78) \"(\"\n CLOSE_PAREN: (78..79) \")\"\n ATMOSPHERE: (79..85) \"\n \"\n FORM: (85..93)\n OPEN_PAREN: (85..86) \"(\"\n FORM: (86..89)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..88)\n IDENTIFIER: (87..88) \"_\"\n CLOSE_PAREN: (88..89) \")\"\n ATMOSPHERE: (89..90) \" \"\n FORM: (90..92)\n OPEN_PAREN: (90..91) \"(\"\n CLOSE_PAREN: (91..92) \")\"\n CLOSE_PAREN: (92..93) \")\"\n ATMOSPHERE: (93..99) \"\n \"\n FORM: (99..152)\n OPEN_PAREN: (99..100) \"(\"\n FORM: (100..113)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..102)\n IDENTIFIER: (101..102) \"_\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"x\"\n ATMOSPHERE: (104..105) \" \"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"y\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"z\"\n ATMOSPHERE: (108..109) \" \"\n SYMBOL: (109..112)\n IDENTIFIER: (109..112) \"...\"\n CLOSE_PAREN: (112..113) \")\"\n ATMOSPHERE: (113..120) \"\n \"\n FORM: (120..151)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..125)\n IDENTIFIER: (121..125) \"cons\"\n ATMOSPHERE: (125..126) \" \"\n FORM: (126..136)\n OPEN_PAREN: (126..127) \"(\"\n SYMBOL: (127..131)\n IDENTIFIER: (127..131) \"cons\"\n ATMOSPHERE: (131..132) \" \"\n SYMBOL: (132..133)\n IDENTIFIER: (132..133) \"x\"\n ATMOSPHERE: (133..134) \" \"\n SYMBOL: (134..135)\n IDENTIFIER: (134..135) \"y\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..137) \" \"\n FORM: (137..150)\n OPEN_PAREN: (137..138) \"(\"\n SYMBOL: (138..143)\n IDENTIFIER: (138..143) \"alist\"\n ATMOSPHERE: (143..144) \" \"\n SYMBOL: (144..145)\n IDENTIFIER: (144..145) \"z\"\n ATMOSPHERE: (145..146) \" \"\n SYMBOL: (146..149)\n IDENTIFIER: (146..149) \"...\"\n CLOSE_PAREN: (149..150) \")\"\n CLOSE_PAREN: (150..151) \")\"\n CLOSE_PAREN: (151..152) \")\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..155) \"\n\"\n FORM: (155..196)\n OPEN_PAREN: (155..156) \"(\"\n SYMBOL: (156..163)\n IDENTIFIER: (156..163) \"display\"\n ATMOSPHERE: (163..164) \" \"\n FORM: (164..195)\n OPEN_PAREN: (164..165) \"(\"\n SYMBOL: (165..170)\n IDENTIFIER: (165..170) \"alist\"\n ATMOSPHERE: (170..171) \" \"\n QUOTED_DATUM: (171..176)\n QUOTE: (171..172) \"'\"\n SYMBOL: (172..175)\n IDENTIFIER: (172..175) \"foo\"\n ATMOSPHERE: (175..176) \" \"\n CONSTANT: (176..178)\n NUMBER: (176..178) \"10\"\n ATMOSPHERE: (178..179) \" \"\n QUOTED_DATUM: (179..184)\n QUOTE: (179..180) \"'\"\n SYMBOL: (180..183)\n IDENTIFIER: (180..183) \"bar\"\n ATMOSPHERE: (183..184) \" \"\n CONSTANT: (184..186)\n NUMBER: (184..186) \"20\"\n ATMOSPHERE: (186..187) \" \"\n QUOTED_DATUM: (187..192)\n QUOTE: (187..188) \"'\"\n SYMBOL: (188..191)\n IDENTIFIER: (188..191) \"baz\"\n ATMOSPHERE: (191..192) \" \"\n CONSTANT: (192..194)\n NUMBER: (192..194) \"30\"\n CLOSE_PAREN: (194..195) \")\"\n CLOSE_PAREN: (195..196) \")\"\n FORM: (196..205)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..204)\n IDENTIFIER: (197..204) \"newline\"\n CLOSE_PAREN: (204..205) \")\"\n ATMOSPHERE: (205..206) \"\n\"\n EOF: (206..206) \"\"\n" +} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/SpecTests_spec tests compile and run.json b/test/Feersum.Tests/_snapshots/SpecTests_spec tests compile and run.json index 0efac6a..3f98c0f 100644 --- a/test/Feersum.Tests/_snapshots/SpecTests_spec tests compile and run.json +++ b/test/Feersum.Tests/_snapshots/SpecTests_spec tests compile and run.json @@ -821,5 +821,10 @@ "Output": "<<{}>>\nfoo\nfoo:bar:baz\n", "Error": "", "Exit": 0 + }, + "alist.scm": { + "Output": "((foo . 10) (bar . 20) (baz . 30))\n", + "Error": "", + "Exit": 0 } } \ No newline at end of file From afb0f9e9e39f6ea64ad1b16a072d3570868ee9c9 Mon Sep 17 00:00:00 2001 From: Will Speak Date: Sun, 23 Jun 2024 08:36:35 +0100 Subject: [PATCH 14/15] Switch AST to Seprate Files in Parse Specs These files are getting unwieldly and unreadable when embedded in json. Update the assertions to read them from disk instead. --- spec/alist.ast | 158 + spec/begin.ast | 102 + spec/booleans.ast | 631 + spec/builtin-macros.ast | 244 + spec/builtins.ast | 212 + spec/byte-vectors.ast | 268 + spec/capturetest.ast | 176 + spec/characters.ast | 2633 +++ spec/chibi-r7rs-tests.ast | 16808 ++++++++++++++++ spec/collatz.ast | 330 + spec/comment.ast | 28 + spec/comments_extended.ast | 161 + spec/conditions.ast | 320 + spec/cxr.ast | 181 + spec/define-and-assign.ast | 94 + spec/display-utils.ast | 139 + spec/display.ast | 125 + spec/dragons.ast | 512 + spec/envtest.ast | 213 + spec/equivalence.ast | 1172 ++ spec/eratosthenes.ast | 392 + spec/fact.ast | 112 + spec/fail/3.ast | 55 + spec/fail/bad-imports.ast | 70 + spec/fail/bad-letrecs.ast | 114 + spec/fail/bad-library-names-parsefail.ast | 12 + spec/fail/bad-library-names.ast | 97 + spec/fail/bad-strings-and-idents.ast | 37 + spec/fail/macrofails.ast | 232 + spec/false.ast | 4 + spec/fib.ast | 170 + spec/gcd.ast | 351 + spec/greatest_diff.ast | 466 + spec/hello.ast | 26 + spec/importtest.ast | 40 + spec/issue-4.ast | 192 + spec/issue-45.ast | 256 + spec/issue-5_a.ast | 87 + spec/issue-5_b.ast | 236 + spec/iterfact.ast | 243 + spec/lambdas.ast | 163 + spec/let.ast | 115 + spec/libcapture.ast | 119 + spec/libgreet.ast | 158 + spec/libs.ast | 292 + spec/lists.ast | 1850 ++ spec/literals.ast | 20 + spec/load_and_store.ast | 36 + spec/locals.ast | 132 + spec/norun/forever.ast | 64 + spec/null.ast | 5 + spec/parameters.ast | 77 + spec/process-context.ast | 88 + spec/qsort.ast | 848 + spec/quotes.ast | 335 + spec/self-capture.ast | 173 + spec/string-join.ast | 278 + spec/strings.ast | 10 + spec/swapit.ast | 265 + spec/symbols.ast | 351 + spec/tail.ast | 317 + spec/time.ast | 158 + spec/user-macros.ast | 332 + spec/vectors.ast | 305 + spec/zed.ast | 442 + test/Feersum.Tests/LexTests.fs | 4 - test/Feersum.Tests/SpecTests.fs | 19 +- ...seDiagnostics_spec tests parse result.json | 239 + .../_snapshots/Parse_alist.scm.json | 4 - .../_snapshots/Parse_begin.scm.json | 4 - .../_snapshots/Parse_booleans.scm.json | 4 - .../_snapshots/Parse_builtin-macros.scm.json | 4 - .../_snapshots/Parse_builtins.scm.json | 4 - .../_snapshots/Parse_byte-vectors.scm.json | 4 - .../_snapshots/Parse_capturetest.scm.json | 4 - .../_snapshots/Parse_characters.scm.json | 4 - .../Parse_chibi-r7rs-tests.scm.json | 4 - .../_snapshots/Parse_collatz.scm.json | 4 - .../_snapshots/Parse_comment.scm.json | 4 - .../Parse_comments_extended.scm.json | 4 - .../_snapshots/Parse_conditions.scm.json | 4 - .../_snapshots/Parse_cxr.scm.json | 4 - .../Parse_define-and-assign.scm.json | 4 - .../_snapshots/Parse_display-utils.sld.json | 4 - .../_snapshots/Parse_display.scm.json | 4 - .../_snapshots/Parse_dragons.scm.json | 4 - .../_snapshots/Parse_envtest.scm.json | 4 - .../_snapshots/Parse_equivalence.scm.json | 4 - .../_snapshots/Parse_eratosthenes.scm.json | 4 - .../_snapshots/Parse_fact.scm.json | 4 - .../_snapshots/Parse_fail/3.scm.json | 4 - .../Parse_fail/bad-imports.scm.json | 4 - .../Parse_fail/bad-letrecs.scm.json | 4 - .../bad-library-names-parsefail.scm.json | 25 - .../Parse_fail/bad-library-names.scm.json | 4 - .../bad-strings-and-idents.scm.json | 25 - .../_snapshots/Parse_fail/macrofails.scm.json | 4 - .../_snapshots/Parse_false.scm.json | 4 - .../_snapshots/Parse_fib.scm.json | 4 - .../_snapshots/Parse_gcd.scm.json | 4 - .../_snapshots/Parse_greatest_diff.scm.json | 4 - .../_snapshots/Parse_hello.scm.json | 4 - .../_snapshots/Parse_importtest.scm.json | 4 - .../_snapshots/Parse_issue-4.scm.json | 4 - .../_snapshots/Parse_issue-45.scm.json | 4 - .../_snapshots/Parse_issue-5_a.scm.json | 4 - .../_snapshots/Parse_issue-5_b.scm.json | 4 - .../_snapshots/Parse_iterfact.scm.json | 4 - .../_snapshots/Parse_lambdas.scm.json | 4 - .../_snapshots/Parse_let.scm.json | 4 - .../_snapshots/Parse_libcapture.scm.json | 4 - .../_snapshots/Parse_libgreet.scm.json | 4 - .../_snapshots/Parse_libs.scm.json | 4 - .../_snapshots/Parse_lists.scm.json | 4 - .../_snapshots/Parse_literals.scm.json | 4 - .../_snapshots/Parse_load_and_store.scm.json | 4 - .../_snapshots/Parse_locals.scm.json | 4 - .../_snapshots/Parse_norun/forever.scm.json | 4 - .../_snapshots/Parse_null.scm.json | 4 - .../_snapshots/Parse_parameters.scm.json | 4 - .../_snapshots/Parse_process-context.scm.json | 4 - .../_snapshots/Parse_qsort.scm.json | 4 - .../_snapshots/Parse_quotes.scm.json | 4 - .../_snapshots/Parse_self-capture.scm.json | 4 - .../_snapshots/Parse_string-join.scm.json | 4 - .../_snapshots/Parse_strings.scm.json | 4 - .../_snapshots/Parse_swapit.scm.json | 4 - .../_snapshots/Parse_symbols.scm.json | 4 - .../_snapshots/Parse_tail.scm.json | 4 - .../_snapshots/Parse_time.scm.json | 4 - .../_snapshots/Parse_user-macros.scm.json | 4 - .../_snapshots/Parse_vectors.scm.json | 4 - .../_snapshots/Parse_zed.scm.json | 4 - 133 files changed, 34886 insertions(+), 310 deletions(-) create mode 100644 spec/alist.ast create mode 100644 spec/begin.ast create mode 100644 spec/booleans.ast create mode 100644 spec/builtin-macros.ast create mode 100644 spec/builtins.ast create mode 100644 spec/byte-vectors.ast create mode 100644 spec/capturetest.ast create mode 100644 spec/characters.ast create mode 100644 spec/chibi-r7rs-tests.ast create mode 100644 spec/collatz.ast create mode 100644 spec/comment.ast create mode 100644 spec/comments_extended.ast create mode 100644 spec/conditions.ast create mode 100644 spec/cxr.ast create mode 100644 spec/define-and-assign.ast create mode 100644 spec/display-utils.ast create mode 100644 spec/display.ast create mode 100644 spec/dragons.ast create mode 100644 spec/envtest.ast create mode 100644 spec/equivalence.ast create mode 100644 spec/eratosthenes.ast create mode 100644 spec/fact.ast create mode 100644 spec/fail/3.ast create mode 100644 spec/fail/bad-imports.ast create mode 100644 spec/fail/bad-letrecs.ast create mode 100644 spec/fail/bad-library-names-parsefail.ast create mode 100644 spec/fail/bad-library-names.ast create mode 100644 spec/fail/bad-strings-and-idents.ast create mode 100644 spec/fail/macrofails.ast create mode 100644 spec/false.ast create mode 100644 spec/fib.ast create mode 100644 spec/gcd.ast create mode 100644 spec/greatest_diff.ast create mode 100644 spec/hello.ast create mode 100644 spec/importtest.ast create mode 100644 spec/issue-4.ast create mode 100644 spec/issue-45.ast create mode 100644 spec/issue-5_a.ast create mode 100644 spec/issue-5_b.ast create mode 100644 spec/iterfact.ast create mode 100644 spec/lambdas.ast create mode 100644 spec/let.ast create mode 100644 spec/libcapture.ast create mode 100644 spec/libgreet.ast create mode 100644 spec/libs.ast create mode 100644 spec/lists.ast create mode 100644 spec/literals.ast create mode 100644 spec/load_and_store.ast create mode 100644 spec/locals.ast create mode 100644 spec/norun/forever.ast create mode 100644 spec/null.ast create mode 100644 spec/parameters.ast create mode 100644 spec/process-context.ast create mode 100644 spec/qsort.ast create mode 100644 spec/quotes.ast create mode 100644 spec/self-capture.ast create mode 100644 spec/string-join.ast create mode 100644 spec/strings.ast create mode 100644 spec/swapit.ast create mode 100644 spec/symbols.ast create mode 100644 spec/tail.ast create mode 100644 spec/time.ast create mode 100644 spec/user-macros.ast create mode 100644 spec/vectors.ast create mode 100644 spec/zed.ast create mode 100644 test/Feersum.Tests/_snapshots/ParseDiagnostics_spec tests parse result.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_alist.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_begin.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_booleans.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_builtins.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_characters.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_collatz.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_comment.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_conditions.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_cxr.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_display.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_dragons.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_envtest.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fact.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_false.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_fib.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_gcd.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_hello.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_importtest.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_let.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_libs.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_lists.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_literals.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_locals.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_null.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_parameters.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_process-context.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_qsort.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_quotes.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_string-join.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_strings.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_swapit.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_symbols.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_tail.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_time.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_vectors.scm.json delete mode 100644 test/Feersum.Tests/_snapshots/Parse_zed.scm.json diff --git a/spec/alist.ast b/spec/alist.ast new file mode 100644 index 0000000..466a1a1 --- /dev/null +++ b/spec/alist.ast @@ -0,0 +1,158 @@ +PROGRAM: (0..206) + FORM: (0..39) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..22) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..21) + IDENTIFIER: (16..21) "write" + CLOSE_PAREN: (21..22) ")" + ATMOSPHERE: (22..25) " + " + FORM: (25..38) + OPEN_PAREN: (25..26) "(" + SYMBOL: (26..32) + IDENTIFIER: (26..32) "scheme" + ATMOSPHERE: (32..33) " " + SYMBOL: (33..37) + IDENTIFIER: (33..37) "base" + CLOSE_PAREN: (37..38) ")" + CLOSE_PAREN: (38..39) ")" + ATMOSPHERE: (39..40) " +" + FORM: (40..154) + OPEN_PAREN: (40..41) "(" + SYMBOL: (41..54) + IDENTIFIER: (41..54) "define-syntax" + ATMOSPHERE: (54..55) " " + SYMBOL: (55..60) + IDENTIFIER: (55..60) "alist" + ATMOSPHERE: (60..63) " + " + FORM: (63..153) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..76) + IDENTIFIER: (64..76) "syntax-rules" + ATMOSPHERE: (76..77) " " + FORM: (77..79) + OPEN_PAREN: (77..78) "(" + CLOSE_PAREN: (78..79) ")" + ATMOSPHERE: (79..85) " + " + FORM: (85..93) + OPEN_PAREN: (85..86) "(" + FORM: (86..89) + OPEN_PAREN: (86..87) "(" + SYMBOL: (87..88) + IDENTIFIER: (87..88) "_" + CLOSE_PAREN: (88..89) ")" + ATMOSPHERE: (89..90) " " + FORM: (90..92) + OPEN_PAREN: (90..91) "(" + CLOSE_PAREN: (91..92) ")" + CLOSE_PAREN: (92..93) ")" + ATMOSPHERE: (93..99) " + " + FORM: (99..152) + OPEN_PAREN: (99..100) "(" + FORM: (100..113) + OPEN_PAREN: (100..101) "(" + SYMBOL: (101..102) + IDENTIFIER: (101..102) "_" + ATMOSPHERE: (102..103) " " + SYMBOL: (103..104) + IDENTIFIER: (103..104) "x" + ATMOSPHERE: (104..105) " " + SYMBOL: (105..106) + IDENTIFIER: (105..106) "y" + ATMOSPHERE: (106..107) " " + SYMBOL: (107..108) + IDENTIFIER: (107..108) "z" + ATMOSPHERE: (108..109) " " + SYMBOL: (109..112) + IDENTIFIER: (109..112) "..." + CLOSE_PAREN: (112..113) ")" + ATMOSPHERE: (113..120) " + " + FORM: (120..151) + OPEN_PAREN: (120..121) "(" + SYMBOL: (121..125) + IDENTIFIER: (121..125) "cons" + ATMOSPHERE: (125..126) " " + FORM: (126..136) + OPEN_PAREN: (126..127) "(" + SYMBOL: (127..131) + IDENTIFIER: (127..131) "cons" + ATMOSPHERE: (131..132) " " + SYMBOL: (132..133) + IDENTIFIER: (132..133) "x" + ATMOSPHERE: (133..134) " " + SYMBOL: (134..135) + IDENTIFIER: (134..135) "y" + CLOSE_PAREN: (135..136) ")" + ATMOSPHERE: (136..137) " " + FORM: (137..150) + OPEN_PAREN: (137..138) "(" + SYMBOL: (138..143) + IDENTIFIER: (138..143) "alist" + ATMOSPHERE: (143..144) " " + SYMBOL: (144..145) + IDENTIFIER: (144..145) "z" + ATMOSPHERE: (145..146) " " + SYMBOL: (146..149) + IDENTIFIER: (146..149) "..." + CLOSE_PAREN: (149..150) ")" + CLOSE_PAREN: (150..151) ")" + CLOSE_PAREN: (151..152) ")" + CLOSE_PAREN: (152..153) ")" + CLOSE_PAREN: (153..154) ")" + ATMOSPHERE: (154..155) " +" + FORM: (155..196) + OPEN_PAREN: (155..156) "(" + SYMBOL: (156..163) + IDENTIFIER: (156..163) "display" + ATMOSPHERE: (163..164) " " + FORM: (164..195) + OPEN_PAREN: (164..165) "(" + SYMBOL: (165..170) + IDENTIFIER: (165..170) "alist" + ATMOSPHERE: (170..171) " " + QUOTED_DATUM: (171..176) + QUOTE: (171..172) "'" + SYMBOL: (172..175) + IDENTIFIER: (172..175) "foo" + ATMOSPHERE: (175..176) " " + CONSTANT: (176..178) + NUMBER: (176..178) "10" + ATMOSPHERE: (178..179) " " + QUOTED_DATUM: (179..184) + QUOTE: (179..180) "'" + SYMBOL: (180..183) + IDENTIFIER: (180..183) "bar" + ATMOSPHERE: (183..184) " " + CONSTANT: (184..186) + NUMBER: (184..186) "20" + ATMOSPHERE: (186..187) " " + QUOTED_DATUM: (187..192) + QUOTE: (187..188) "'" + SYMBOL: (188..191) + IDENTIFIER: (188..191) "baz" + ATMOSPHERE: (191..192) " " + CONSTANT: (192..194) + NUMBER: (192..194) "30" + CLOSE_PAREN: (194..195) ")" + CLOSE_PAREN: (195..196) ")" + FORM: (196..205) + OPEN_PAREN: (196..197) "(" + SYMBOL: (197..204) + IDENTIFIER: (197..204) "newline" + CLOSE_PAREN: (204..205) ")" + ATMOSPHERE: (205..206) " +" + EOF: (206..206) "" diff --git a/spec/begin.ast b/spec/begin.ast new file mode 100644 index 0000000..2666fb0 --- /dev/null +++ b/spec/begin.ast @@ -0,0 +1,102 @@ +PROGRAM: (0..272) + ATMOSPHERE: (0..66) ";; The `begin` special form takes a sequence and returns the value" + ATMOSPHERE: (66..67) " +" + ATMOSPHERE: (67..93) ";; of the last expression." + ATMOSPHERE: (93..94) " +" + FORM: (94..262) + OPEN_PAREN: (94..95) "(" + SYMBOL: (95..100) + IDENTIFIER: (95..100) "begin" + ATMOSPHERE: (100..105) " + " + CONSTANT: (105..107) + NUMBER: (105..107) "12" + ATMOSPHERE: (107..112) " + " + FORM: (112..164) + OPEN_PAREN: (112..113) "(" + SYMBOL: (113..118) + IDENTIFIER: (113..118) "begin" + ATMOSPHERE: (118..128) " + " + CONSTANT: (128..135) + STRING: (128..135) ""hello"" + ATMOSPHERE: (135..144) " + " + CONSTANT: (144..147) + NUMBER: (144..147) "123" + ATMOSPHERE: (147..156) " + " + CONSTANT: (156..163) + STRING: (156..163) ""world"" + CLOSE_PAREN: (163..164) ")" + ATMOSPHERE: (164..169) " + " + CONSTANT: (169..182) + STRING: (169..182) ""hello world"" + ATMOSPHERE: (182..187) " + " + FORM: (187..261) + OPEN_PAREN: (187..188) "(" + SYMBOL: (188..190) + IDENTIFIER: (188..190) "if" + ATMOSPHERE: (190..191) " " + FORM: (191..210) + OPEN_PAREN: (191..192) "(" + SYMBOL: (192..197) + IDENTIFIER: (192..197) "begin" + ATMOSPHERE: (197..198) " " + CONSTANT: (198..200) + BOOLEAN: (198..200) "#f" + ATMOSPHERE: (200..201) " " + CONSTANT: (201..203) + BOOLEAN: (201..203) "#t" + ATMOSPHERE: (203..204) " " + CONSTANT: (204..206) + BOOLEAN: (204..206) "#f" + ATMOSPHERE: (206..207) " " + CONSTANT: (207..209) + BOOLEAN: (207..209) "#t" + CLOSE_PAREN: (209..210) ")" + ATMOSPHERE: (210..219) " + " + FORM: (219..235) + OPEN_PAREN: (219..220) "(" + SYMBOL: (220..225) + IDENTIFIER: (220..225) "begin" + ATMOSPHERE: (225..226) " " + CONSTANT: (226..227) + NUMBER: (226..227) "1" + ATMOSPHERE: (227..228) " " + CONSTANT: (228..229) + NUMBER: (228..229) "2" + ATMOSPHERE: (229..230) " " + CONSTANT: (230..231) + NUMBER: (230..231) "3" + ATMOSPHERE: (231..232) " " + CONSTANT: (232..234) + NUMBER: (232..234) "45" + CLOSE_PAREN: (234..235) ")" + ATMOSPHERE: (235..244) " + " + FORM: (244..260) + OPEN_PAREN: (244..245) "(" + SYMBOL: (245..250) + IDENTIFIER: (245..250) "begin" + ATMOSPHERE: (250..251) " " + CONSTANT: (251..253) + NUMBER: (251..253) "-2" + ATMOSPHERE: (253..254) " " + CONSTANT: (254..256) + NUMBER: (254..256) "-3" + ATMOSPHERE: (256..257) " " + CONSTANT: (257..259) + NUMBER: (257..259) "-9" + CLOSE_PAREN: (259..260) ")" + CLOSE_PAREN: (260..261) ")" + CLOSE_PAREN: (261..262) ")" + ATMOSPHERE: (262..265) " " + ATMOSPHERE: (265..272) "; ~> 45" + EOF: (272..272) "" diff --git a/spec/booleans.ast b/spec/booleans.ast new file mode 100644 index 0000000..c52d106 --- /dev/null +++ b/spec/booleans.ast @@ -0,0 +1,631 @@ +PROGRAM: (0..1176) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + ATMOSPHERE: (42..76) ";; Boolean literals and truthiness" + ATMOSPHERE: (76..77) " +" + FORM: (77..531) + OPEN_PAREN: (77..78) "(" + SYMBOL: (78..85) + IDENTIFIER: (78..85) "display" + ATMOSPHERE: (85..86) " " + FORM: (86..530) + OPEN_PAREN: (86..87) "(" + SYMBOL: (87..91) + IDENTIFIER: (87..91) "list" + ATMOSPHERE: (91..96) " + " + CONSTANT: (96..98) + BOOLEAN: (96..98) "#f" + ATMOSPHERE: (98..103) " + " + CONSTANT: (103..109) + BOOLEAN: (103..109) "#false" + ATMOSPHERE: (109..114) " + " + CONSTANT: (114..116) + BOOLEAN: (114..116) "#t" + ATMOSPHERE: (116..121) " + " + CONSTANT: (121..126) + BOOLEAN: (121..126) "#true" + ATMOSPHERE: (126..131) " + " + FORM: (131..145) + OPEN_PAREN: (131..132) "(" + SYMBOL: (132..135) + IDENTIFIER: (132..135) "eq?" + ATMOSPHERE: (135..136) " " + CONSTANT: (136..138) + BOOLEAN: (136..138) "#t" + ATMOSPHERE: (138..139) " " + CONSTANT: (139..144) + BOOLEAN: (139..144) "#true" + CLOSE_PAREN: (144..145) ")" + ATMOSPHERE: (145..150) " + " + FORM: (150..165) + OPEN_PAREN: (150..151) "(" + SYMBOL: (151..155) + IDENTIFIER: (151..155) "eqv?" + ATMOSPHERE: (155..156) " " + CONSTANT: (156..158) + BOOLEAN: (156..158) "#t" + ATMOSPHERE: (158..159) " " + CONSTANT: (159..164) + BOOLEAN: (159..164) "#true" + CLOSE_PAREN: (164..165) ")" + ATMOSPHERE: (165..170) " + " + FORM: (170..187) + OPEN_PAREN: (170..171) "(" + SYMBOL: (171..177) + IDENTIFIER: (171..177) "equal?" + ATMOSPHERE: (177..178) " " + CONSTANT: (178..180) + BOOLEAN: (178..180) "#t" + ATMOSPHERE: (180..181) " " + CONSTANT: (181..186) + BOOLEAN: (181..186) "#true" + CLOSE_PAREN: (186..187) ")" + ATMOSPHERE: (187..192) " + " + FORM: (192..207) + OPEN_PAREN: (192..193) "(" + SYMBOL: (193..196) + IDENTIFIER: (193..196) "eq?" + ATMOSPHERE: (196..197) " " + CONSTANT: (197..199) + BOOLEAN: (197..199) "#f" + ATMOSPHERE: (199..200) " " + CONSTANT: (200..206) + BOOLEAN: (200..206) "#false" + CLOSE_PAREN: (206..207) ")" + ATMOSPHERE: (207..212) " + " + FORM: (212..228) + OPEN_PAREN: (212..213) "(" + SYMBOL: (213..217) + IDENTIFIER: (213..217) "eqv?" + ATMOSPHERE: (217..218) " " + CONSTANT: (218..220) + BOOLEAN: (218..220) "#f" + ATMOSPHERE: (220..221) " " + CONSTANT: (221..227) + BOOLEAN: (221..227) "#false" + CLOSE_PAREN: (227..228) ")" + ATMOSPHERE: (228..233) " + " + FORM: (233..251) + OPEN_PAREN: (233..234) "(" + SYMBOL: (234..240) + IDENTIFIER: (234..240) "equal?" + ATMOSPHERE: (240..241) " " + CONSTANT: (241..243) + BOOLEAN: (241..243) "#f" + ATMOSPHERE: (243..244) " " + CONSTANT: (244..250) + BOOLEAN: (244..250) "#false" + CLOSE_PAREN: (250..251) ")" + ATMOSPHERE: (251..256) " + " + FORM: (256..303) + OPEN_PAREN: (256..257) "(" + SYMBOL: (257..259) + IDENTIFIER: (257..259) "if" + ATMOSPHERE: (259..260) " " + FORM: (260..274) + OPEN_PAREN: (260..261) "(" + SYMBOL: (261..264) + IDENTIFIER: (261..264) "eq?" + ATMOSPHERE: (264..265) " " + CONSTANT: (265..267) + BOOLEAN: (265..267) "#f" + ATMOSPHERE: (267..268) " " + CONSTANT: (268..273) + BOOLEAN: (268..273) "#true" + CLOSE_PAREN: (273..274) ")" + ATMOSPHERE: (274..283) " + " + QUOTED_DATUM: (283..297) + QUOTE: (283..284) "'" + SYMBOL: (284..288) + IDENTIFIER: (284..288) "fail" + ATMOSPHERE: (288..297) " + " + QUOTED_DATUM: (297..302) + QUOTE: (297..298) "'" + SYMBOL: (298..302) + IDENTIFIER: (298..302) "pass" + CLOSE_PAREN: (302..303) ")" + ATMOSPHERE: (303..308) " + " + FORM: (308..355) + OPEN_PAREN: (308..309) "(" + SYMBOL: (309..311) + IDENTIFIER: (309..311) "if" + ATMOSPHERE: (311..312) " " + FORM: (312..326) + OPEN_PAREN: (312..313) "(" + SYMBOL: (313..319) + IDENTIFIER: (313..319) "equal?" + ATMOSPHERE: (319..320) " " + CONSTANT: (320..322) + BOOLEAN: (320..322) "#t" + ATMOSPHERE: (322..323) " " + CONSTANT: (323..325) + BOOLEAN: (323..325) "#f" + CLOSE_PAREN: (325..326) ")" + ATMOSPHERE: (326..335) " + " + QUOTED_DATUM: (335..349) + QUOTE: (335..336) "'" + SYMBOL: (336..340) + IDENTIFIER: (336..340) "fail" + ATMOSPHERE: (340..349) " + " + QUOTED_DATUM: (349..354) + QUOTE: (349..350) "'" + SYMBOL: (350..354) + IDENTIFIER: (350..354) "pass" + CLOSE_PAREN: (354..355) ")" + ATMOSPHERE: (355..360) " + " + FORM: (360..395) + OPEN_PAREN: (360..361) "(" + SYMBOL: (361..363) + IDENTIFIER: (361..363) "if" + ATMOSPHERE: (363..364) " " + CONSTANT: (364..366) + BOOLEAN: (364..366) "#f" + ATMOSPHERE: (366..375) " + " + QUOTED_DATUM: (375..389) + QUOTE: (375..376) "'" + SYMBOL: (376..380) + IDENTIFIER: (376..380) "fail" + ATMOSPHERE: (380..389) " + " + QUOTED_DATUM: (389..394) + QUOTE: (389..390) "'" + SYMBOL: (390..394) + IDENTIFIER: (390..394) "pass" + CLOSE_PAREN: (394..395) ")" + ATMOSPHERE: (395..400) " + " + FORM: (400..435) + OPEN_PAREN: (400..401) "(" + SYMBOL: (401..403) + IDENTIFIER: (401..403) "if" + ATMOSPHERE: (403..404) " " + CONSTANT: (404..406) + BOOLEAN: (404..406) "#t" + ATMOSPHERE: (406..415) " + " + QUOTED_DATUM: (415..429) + QUOTE: (415..416) "'" + SYMBOL: (416..420) + IDENTIFIER: (416..420) "pass" + ATMOSPHERE: (420..429) " + " + QUOTED_DATUM: (429..434) + QUOTE: (429..430) "'" + SYMBOL: (430..434) + IDENTIFIER: (430..434) "fail" + CLOSE_PAREN: (434..435) ")" + ATMOSPHERE: (435..440) " + " + FORM: (440..476) + OPEN_PAREN: (440..441) "(" + SYMBOL: (441..443) + IDENTIFIER: (441..443) "if" + ATMOSPHERE: (443..444) " " + QUOTED_DATUM: (444..456) + QUOTE: (444..445) "'" + FORM: (445..447) + OPEN_PAREN: (445..446) "(" + CLOSE_PAREN: (446..447) ")" + ATMOSPHERE: (447..456) " + " + QUOTED_DATUM: (456..470) + QUOTE: (456..457) "'" + SYMBOL: (457..461) + IDENTIFIER: (457..461) "pass" + ATMOSPHERE: (461..470) " + " + QUOTED_DATUM: (470..475) + QUOTE: (470..471) "'" + SYMBOL: (471..475) + IDENTIFIER: (471..475) "fail" + CLOSE_PAREN: (475..476) ")" + ATMOSPHERE: (476..481) " + " + FORM: (481..524) + OPEN_PAREN: (481..482) "(" + SYMBOL: (482..484) + IDENTIFIER: (482..484) "if" + ATMOSPHERE: (484..485) " " + QUOTED_DATUM: (485..504) + QUOTE: (485..486) "'" + SYMBOL: (486..495) + IDENTIFIER: (486..495) "something" + ATMOSPHERE: (495..504) " + " + QUOTED_DATUM: (504..518) + QUOTE: (504..505) "'" + SYMBOL: (505..509) + IDENTIFIER: (505..509) "pass" + ATMOSPHERE: (509..518) " + " + QUOTED_DATUM: (518..523) + QUOTE: (518..519) "'" + SYMBOL: (519..523) + IDENTIFIER: (519..523) "fail" + CLOSE_PAREN: (523..524) ")" + ATMOSPHERE: (524..529) " + " + CLOSE_PAREN: (529..530) ")" + CLOSE_PAREN: (530..531) ")" + FORM: (531..540) + OPEN_PAREN: (531..532) "(" + SYMBOL: (532..539) + IDENTIFIER: (532..539) "newline" + CLOSE_PAREN: (539..540) ")" + ATMOSPHERE: (540..541) " +" + ATMOSPHERE: (541..590) ";; Quoting of boolean values does nothing to them" + ATMOSPHERE: (590..591) " +" + FORM: (591..626) + OPEN_PAREN: (591..592) "(" + SYMBOL: (592..599) + IDENTIFIER: (592..599) "display" + ATMOSPHERE: (599..600) " " + FORM: (600..625) + OPEN_PAREN: (600..601) "(" + SYMBOL: (601..605) + IDENTIFIER: (601..605) "list" + ATMOSPHERE: (605..610) " + " + QUOTED_DATUM: (610..618) + QUOTE: (610..611) "'" + CONSTANT: (611..613) + BOOLEAN: (611..613) "#f" + ATMOSPHERE: (613..618) " + " + QUOTED_DATUM: (618..624) + QUOTE: (618..619) "'" + CONSTANT: (619..624) + BOOLEAN: (619..624) "#true" + CLOSE_PAREN: (624..625) ")" + CLOSE_PAREN: (625..626) ")" + FORM: (626..635) + OPEN_PAREN: (626..627) "(" + SYMBOL: (627..634) + IDENTIFIER: (627..634) "newline" + CLOSE_PAREN: (634..635) ")" + ATMOSPHERE: (635..636) " +" + ATMOSPHERE: (636..693) ";; Boolean procedures, we don't have many of them builtin" + ATMOSPHERE: (693..694) " +" + FORM: (694..1167) + OPEN_PAREN: (694..695) "(" + SYMBOL: (695..702) + IDENTIFIER: (695..702) "display" + ATMOSPHERE: (702..703) " " + FORM: (703..1166) + OPEN_PAREN: (703..704) "(" + SYMBOL: (704..708) + IDENTIFIER: (704..708) "list" + ATMOSPHERE: (708..713) " + " + FORM: (713..721) + OPEN_PAREN: (713..714) "(" + SYMBOL: (714..717) + IDENTIFIER: (714..717) "not" + ATMOSPHERE: (717..718) " " + CONSTANT: (718..720) + BOOLEAN: (718..720) "#t" + CLOSE_PAREN: (720..721) ")" + ATMOSPHERE: (721..722) " " + ATMOSPHERE: (722..729) "; -> #f" + ATMOSPHERE: (729..734) " + " + FORM: (734..741) + OPEN_PAREN: (734..735) "(" + SYMBOL: (735..738) + IDENTIFIER: (735..738) "not" + ATMOSPHERE: (738..739) " " + CONSTANT: (739..740) + NUMBER: (739..740) "3" + CLOSE_PAREN: (740..741) ")" + ATMOSPHERE: (741..742) " " + ATMOSPHERE: (742..749) "; -> #f" + ATMOSPHERE: (749..754) " + " + FORM: (754..768) + OPEN_PAREN: (754..755) "(" + SYMBOL: (755..758) + IDENTIFIER: (755..758) "not" + ATMOSPHERE: (758..759) " " + FORM: (759..767) + OPEN_PAREN: (759..760) "(" + SYMBOL: (760..764) + IDENTIFIER: (760..764) "list" + ATMOSPHERE: (764..765) " " + CONSTANT: (765..766) + NUMBER: (765..766) "3" + CLOSE_PAREN: (766..767) ")" + CLOSE_PAREN: (767..768) ")" + ATMOSPHERE: (768..769) " " + ATMOSPHERE: (769..776) "; -> #f" + ATMOSPHERE: (776..781) " + " + FORM: (781..789) + OPEN_PAREN: (781..782) "(" + SYMBOL: (782..785) + IDENTIFIER: (782..785) "not" + ATMOSPHERE: (785..786) " " + CONSTANT: (786..788) + BOOLEAN: (786..788) "#f" + CLOSE_PAREN: (788..789) ")" + ATMOSPHERE: (789..790) " " + ATMOSPHERE: (790..797) "; -> #t" + ATMOSPHERE: (797..802) " + " + FORM: (802..811) + OPEN_PAREN: (802..803) "(" + SYMBOL: (803..806) + IDENTIFIER: (803..806) "not" + ATMOSPHERE: (806..807) " " + QUOTED_DATUM: (807..810) + QUOTE: (807..808) "’" + FORM: (808..810) + OPEN_PAREN: (808..809) "(" + CLOSE_PAREN: (809..810) ")" + CLOSE_PAREN: (810..811) ")" + ATMOSPHERE: (811..812) " " + ATMOSPHERE: (812..819) "; -> #f" + ATMOSPHERE: (819..824) " + " + FORM: (824..836) + OPEN_PAREN: (824..825) "(" + SYMBOL: (825..828) + IDENTIFIER: (825..828) "not" + ATMOSPHERE: (828..829) " " + FORM: (829..835) + OPEN_PAREN: (829..830) "(" + SYMBOL: (830..834) + IDENTIFIER: (830..834) "list" + CLOSE_PAREN: (834..835) ")" + CLOSE_PAREN: (835..836) ")" + ATMOSPHERE: (836..837) " " + ATMOSPHERE: (837..844) "; -> #f" + ATMOSPHERE: (844..849) " + " + FORM: (849..859) + OPEN_PAREN: (849..850) "(" + SYMBOL: (850..853) + IDENTIFIER: (850..853) "not" + ATMOSPHERE: (853..854) " " + QUOTED_DATUM: (854..858) + QUOTE: (854..855) "’" + SYMBOL: (855..858) + IDENTIFIER: (855..858) "nil" + CLOSE_PAREN: (858..859) ")" + ATMOSPHERE: (859..860) " " + ATMOSPHERE: (860..867) "; -> #f" + ATMOSPHERE: (867..873) " + + " + FORM: (873..886) + OPEN_PAREN: (873..874) "(" + SYMBOL: (874..882) + IDENTIFIER: (874..882) "boolean?" + ATMOSPHERE: (882..883) " " + CONSTANT: (883..885) + BOOLEAN: (883..885) "#f" + CLOSE_PAREN: (885..886) ")" + ATMOSPHERE: (886..887) " " + ATMOSPHERE: (887..894) "; -> #t" + ATMOSPHERE: (894..899) " + " + FORM: (899..911) + OPEN_PAREN: (899..900) "(" + SYMBOL: (900..908) + IDENTIFIER: (900..908) "boolean?" + ATMOSPHERE: (908..909) " " + CONSTANT: (909..910) + NUMBER: (909..910) "0" + CLOSE_PAREN: (910..911) ")" + ATMOSPHERE: (911..912) " " + ATMOSPHERE: (912..919) "; -> #f" + ATMOSPHERE: (919..924) " + " + FORM: (924..938) + OPEN_PAREN: (924..925) "(" + SYMBOL: (925..933) + IDENTIFIER: (925..933) "boolean?" + ATMOSPHERE: (933..934) " " + QUOTED_DATUM: (934..937) + QUOTE: (934..935) "’" + FORM: (935..937) + OPEN_PAREN: (935..936) "(" + CLOSE_PAREN: (936..937) ")" + CLOSE_PAREN: (937..938) ")" + ATMOSPHERE: (938..939) " " + ATMOSPHERE: (939..946) "; -> #f" + ATMOSPHERE: (946..956) " + + " + FORM: (956..976) + OPEN_PAREN: (956..957) "(" + SYMBOL: (957..966) + IDENTIFIER: (957..966) "boolean=?" + ATMOSPHERE: (966..967) " " + CONSTANT: (967..969) + BOOLEAN: (967..969) "#t" + ATMOSPHERE: (969..970) " " + CONSTANT: (970..972) + BOOLEAN: (970..972) "#t" + ATMOSPHERE: (972..973) " " + CONSTANT: (973..975) + BOOLEAN: (973..975) "#t" + CLOSE_PAREN: (975..976) ")" + ATMOSPHERE: (976..981) " + " + FORM: (981..1001) + OPEN_PAREN: (981..982) "(" + SYMBOL: (982..991) + IDENTIFIER: (982..991) "boolean=?" + ATMOSPHERE: (991..992) " " + CONSTANT: (992..994) + BOOLEAN: (992..994) "#t" + ATMOSPHERE: (994..995) " " + CONSTANT: (995..997) + BOOLEAN: (995..997) "#f" + ATMOSPHERE: (997..998) " " + CONSTANT: (998..1000) + BOOLEAN: (998..1000) "#t" + CLOSE_PAREN: (1000..1001) ")" + ATMOSPHERE: (1001..1006) " + " + FORM: (1006..1032) + OPEN_PAREN: (1006..1007) "(" + SYMBOL: (1007..1016) + IDENTIFIER: (1007..1016) "boolean=?" + ATMOSPHERE: (1016..1017) " " + CONSTANT: (1017..1019) + BOOLEAN: (1017..1019) "#f" + ATMOSPHERE: (1019..1020) " " + CONSTANT: (1020..1022) + BOOLEAN: (1020..1022) "#f" + ATMOSPHERE: (1022..1023) " " + CONSTANT: (1023..1025) + BOOLEAN: (1023..1025) "#f" + ATMOSPHERE: (1025..1026) " " + CONSTANT: (1026..1028) + BOOLEAN: (1026..1028) "#f" + ATMOSPHERE: (1028..1029) " " + CONSTANT: (1029..1031) + BOOLEAN: (1029..1031) "#t" + CLOSE_PAREN: (1031..1032) ")" + ATMOSPHERE: (1032..1037) " + " + FORM: (1037..1060) + OPEN_PAREN: (1037..1038) "(" + SYMBOL: (1038..1047) + IDENTIFIER: (1038..1047) "boolean=?" + ATMOSPHERE: (1047..1048) " " + CONSTANT: (1048..1050) + BOOLEAN: (1048..1050) "#f" + ATMOSPHERE: (1050..1051) " " + CONSTANT: (1051..1053) + BOOLEAN: (1051..1053) "#f" + ATMOSPHERE: (1053..1054) " " + CONSTANT: (1054..1056) + BOOLEAN: (1054..1056) "#f" + ATMOSPHERE: (1056..1057) " " + CONSTANT: (1057..1059) + BOOLEAN: (1057..1059) "#f" + CLOSE_PAREN: (1059..1060) ")" + ATMOSPHERE: (1060..1065) " + " + FORM: (1065..1082) + OPEN_PAREN: (1065..1066) "(" + SYMBOL: (1066..1075) + IDENTIFIER: (1066..1075) "boolean=?" + ATMOSPHERE: (1075..1076) " " + CONSTANT: (1076..1078) + BOOLEAN: (1076..1078) "#f" + ATMOSPHERE: (1078..1079) " " + CONSTANT: (1079..1081) + BOOLEAN: (1079..1081) "#f" + CLOSE_PAREN: (1081..1082) ")" + ATMOSPHERE: (1082..1087) " + " + FORM: (1087..1103) + OPEN_PAREN: (1087..1088) "(" + SYMBOL: (1088..1097) + IDENTIFIER: (1088..1097) "boolean=?" + ATMOSPHERE: (1097..1098) " " + CONSTANT: (1098..1100) + BOOLEAN: (1098..1100) "#f" + ATMOSPHERE: (1100..1101) " " + CONSTANT: (1101..1102) + NUMBER: (1101..1102) "0" + CLOSE_PAREN: (1102..1103) ")" + ATMOSPHERE: (1103..1108) " + " + FORM: (1108..1126) + OPEN_PAREN: (1108..1109) "(" + SYMBOL: (1109..1118) + IDENTIFIER: (1109..1118) "boolean=?" + ATMOSPHERE: (1118..1119) " " + CONSTANT: (1119..1121) + BOOLEAN: (1119..1121) "#f" + ATMOSPHERE: (1121..1122) " " + QUOTED_DATUM: (1122..1125) + QUOTE: (1122..1123) "'" + FORM: (1123..1125) + OPEN_PAREN: (1123..1124) "(" + CLOSE_PAREN: (1124..1125) ")" + CLOSE_PAREN: (1125..1126) ")" + ATMOSPHERE: (1126..1131) " + " + FORM: (1131..1159) + OPEN_PAREN: (1131..1132) "(" + SYMBOL: (1132..1141) + IDENTIFIER: (1132..1141) "boolean=?" + ATMOSPHERE: (1141..1142) " " + FORM: (1142..1152) + OPEN_PAREN: (1142..1143) "(" + SYMBOL: (1143..1147) + IDENTIFIER: (1143..1147) "list" + ATMOSPHERE: (1147..1148) " " + CONSTANT: (1148..1151) + NUMBER: (1148..1151) "123" + CLOSE_PAREN: (1151..1152) ")" + ATMOSPHERE: (1152..1153) " " + CONSTANT: (1153..1155) + NUMBER: (1153..1155) "21" + ATMOSPHERE: (1155..1156) " " + CONSTANT: (1156..1158) + BOOLEAN: (1156..1158) "#t" + CLOSE_PAREN: (1158..1159) ")" + ATMOSPHERE: (1159..1165) " + + " + CLOSE_PAREN: (1165..1166) ")" + CLOSE_PAREN: (1166..1167) ")" + FORM: (1167..1176) + OPEN_PAREN: (1167..1168) "(" + SYMBOL: (1168..1175) + IDENTIFIER: (1168..1175) "newline" + CLOSE_PAREN: (1175..1176) ")" + EOF: (1176..1176) "" diff --git a/spec/builtin-macros.ast b/spec/builtin-macros.ast new file mode 100644 index 0000000..cc36307 --- /dev/null +++ b/spec/builtin-macros.ast @@ -0,0 +1,244 @@ +PROGRAM: (0..499) + FORM: (0..211) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" + ATMOSPHERE: (93..98) " + " + ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." + ATMOSPHERE: (162..167) " + " + FORM: (167..191) + OPEN_PAREN: (167..168) "(" + SYMBOL: (168..175) + IDENTIFIER: (168..175) "feersum" + ATMOSPHERE: (175..176) " " + SYMBOL: (176..183) + IDENTIFIER: (176..183) "builtin" + ATMOSPHERE: (183..184) " " + SYMBOL: (184..190) + IDENTIFIER: (184..190) "macros" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..196) " + " + FORM: (196..210) + OPEN_PAREN: (196..197) "(" + SYMBOL: (197..203) + IDENTIFIER: (197..203) "scheme" + ATMOSPHERE: (203..204) " " + SYMBOL: (204..209) + IDENTIFIER: (204..209) "write" + CLOSE_PAREN: (209..210) ")" + CLOSE_PAREN: (210..211) ")" + ATMOSPHERE: (211..212) " +" + FORM: (212..498) + OPEN_PAREN: (212..213) "(" + SYMBOL: (213..220) + IDENTIFIER: (213..220) "display" + ATMOSPHERE: (220..225) " + " + FORM: (225..497) + OPEN_PAREN: (225..226) "(" + SYMBOL: (226..230) + IDENTIFIER: (226..230) "list" + ATMOSPHERE: (230..239) " + " + FORM: (239..260) + OPEN_PAREN: (239..240) "(" + SYMBOL: (240..243) + IDENTIFIER: (240..243) "and" + ATMOSPHERE: (243..244) " " + FORM: (244..251) + OPEN_PAREN: (244..245) "(" + SYMBOL: (245..246) + IDENTIFIER: (245..246) "=" + ATMOSPHERE: (246..247) " " + CONSTANT: (247..248) + NUMBER: (247..248) "2" + ATMOSPHERE: (248..249) " " + CONSTANT: (249..250) + NUMBER: (249..250) "2" + CLOSE_PAREN: (250..251) ")" + ATMOSPHERE: (251..252) " " + FORM: (252..259) + OPEN_PAREN: (252..253) "(" + SYMBOL: (253..254) + IDENTIFIER: (253..254) ">" + ATMOSPHERE: (254..255) " " + CONSTANT: (255..256) + NUMBER: (255..256) "2" + ATMOSPHERE: (256..257) " " + CONSTANT: (257..258) + NUMBER: (257..258) "1" + CLOSE_PAREN: (258..259) ")" + CLOSE_PAREN: (259..260) ")" + ATMOSPHERE: (260..261) " " + ATMOSPHERE: (261..268) "; -> #t" + ATMOSPHERE: (268..277) " + " + FORM: (277..298) + OPEN_PAREN: (277..278) "(" + SYMBOL: (278..281) + IDENTIFIER: (278..281) "and" + ATMOSPHERE: (281..282) " " + FORM: (282..289) + OPEN_PAREN: (282..283) "(" + SYMBOL: (283..284) + IDENTIFIER: (283..284) "=" + ATMOSPHERE: (284..285) " " + CONSTANT: (285..286) + NUMBER: (285..286) "2" + ATMOSPHERE: (286..287) " " + CONSTANT: (287..288) + NUMBER: (287..288) "2" + CLOSE_PAREN: (288..289) ")" + ATMOSPHERE: (289..290) " " + FORM: (290..297) + OPEN_PAREN: (290..291) "(" + SYMBOL: (291..292) + IDENTIFIER: (291..292) "<" + ATMOSPHERE: (292..293) " " + CONSTANT: (293..294) + NUMBER: (293..294) "2" + ATMOSPHERE: (294..295) " " + CONSTANT: (295..296) + NUMBER: (295..296) "1" + CLOSE_PAREN: (296..297) ")" + CLOSE_PAREN: (297..298) ")" + ATMOSPHERE: (298..299) " " + ATMOSPHERE: (299..306) "; -> #f" + ATMOSPHERE: (306..315) " + " + FORM: (315..334) + OPEN_PAREN: (315..316) "(" + SYMBOL: (316..319) + IDENTIFIER: (316..319) "and" + ATMOSPHERE: (319..320) " " + CONSTANT: (320..321) + NUMBER: (320..321) "1" + ATMOSPHERE: (321..322) " " + CONSTANT: (322..323) + NUMBER: (322..323) "2" + ATMOSPHERE: (323..324) " " + QUOTED_DATUM: (324..327) + QUOTE: (324..325) "'" + SYMBOL: (325..326) + IDENTIFIER: (325..326) "c" + ATMOSPHERE: (326..327) " " + QUOTED_DATUM: (327..333) + QUOTE: (327..328) "'" + FORM: (328..333) + OPEN_PAREN: (328..329) "(" + SYMBOL: (329..330) + IDENTIFIER: (329..330) "f" + ATMOSPHERE: (330..331) " " + SYMBOL: (331..332) + IDENTIFIER: (331..332) "g" + CLOSE_PAREN: (332..333) ")" + CLOSE_PAREN: (333..334) ")" + ATMOSPHERE: (334..335) " " + ATMOSPHERE: (335..346) "; -> '(f g)" + ATMOSPHERE: (346..355) " + " + FORM: (355..360) + OPEN_PAREN: (355..356) "(" + SYMBOL: (356..359) + IDENTIFIER: (356..359) "and" + CLOSE_PAREN: (359..360) ")" + ATMOSPHERE: (360..361) " " + ATMOSPHERE: (361..368) "; -> #t" + ATMOSPHERE: (368..377) " + " + FORM: (377..387) + OPEN_PAREN: (377..378) "(" + SYMBOL: (378..380) + IDENTIFIER: (378..380) "or" + ATMOSPHERE: (380..381) " " + CONSTANT: (381..383) + BOOLEAN: (381..383) "#t" + ATMOSPHERE: (383..384) " " + CONSTANT: (384..386) + BOOLEAN: (384..386) "#t" + CLOSE_PAREN: (386..387) ")" + ATMOSPHERE: (387..388) " " + ATMOSPHERE: (388..395) "; -> #t" + ATMOSPHERE: (395..404) " + " + FORM: (404..429) + OPEN_PAREN: (404..405) "(" + SYMBOL: (405..407) + IDENTIFIER: (405..407) "or" + ATMOSPHERE: (407..408) " " + CONSTANT: (408..410) + BOOLEAN: (408..410) "#f" + ATMOSPHERE: (410..411) " " + CONSTANT: (411..413) + BOOLEAN: (411..413) "#f" + ATMOSPHERE: (413..414) " " + CONSTANT: (414..416) + BOOLEAN: (414..416) "#f" + ATMOSPHERE: (416..417) " " + CONSTANT: (417..419) + BOOLEAN: (417..419) "#f" + ATMOSPHERE: (419..420) " " + CONSTANT: (420..422) + BOOLEAN: (420..422) "#t" + ATMOSPHERE: (422..423) " " + CONSTANT: (423..425) + BOOLEAN: (423..425) "#f" + ATMOSPHERE: (425..426) " " + CONSTANT: (426..428) + BOOLEAN: (426..428) "#f" + CLOSE_PAREN: (428..429) ")" + ATMOSPHERE: (429..430) " " + ATMOSPHERE: (430..437) "; -> #t" + ATMOSPHERE: (437..446) " + " + FORM: (446..464) + OPEN_PAREN: (446..447) "(" + SYMBOL: (447..449) + IDENTIFIER: (447..449) "or" + ATMOSPHERE: (449..450) " " + CONSTANT: (450..452) + BOOLEAN: (450..452) "#f" + ATMOSPHERE: (452..453) " " + CONSTANT: (453..456) + NUMBER: (453..456) "100" + ATMOSPHERE: (456..457) " " + CONSTANT: (457..459) + BOOLEAN: (457..459) "#f" + ATMOSPHERE: (459..460) " " + CONSTANT: (460..463) + NUMBER: (460..463) "101" + CLOSE_PAREN: (463..464) ")" + ATMOSPHERE: (464..465) " " + ATMOSPHERE: (465..470) "; 100" + ATMOSPHERE: (470..479) " + " + FORM: (479..483) + OPEN_PAREN: (479..480) "(" + SYMBOL: (480..482) + IDENTIFIER: (480..482) "or" + CLOSE_PAREN: (482..483) ")" + ATMOSPHERE: (483..484) " " + ATMOSPHERE: (484..491) "; -> #f" + ATMOSPHERE: (491..496) " + " + CLOSE_PAREN: (496..497) ")" + CLOSE_PAREN: (497..498) ")" + ATMOSPHERE: (498..499) " +" + EOF: (499..499) "" diff --git a/spec/builtins.ast b/spec/builtins.ast new file mode 100644 index 0000000..de3ab7d --- /dev/null +++ b/spec/builtins.ast @@ -0,0 +1,212 @@ +PROGRAM: (0..317) + FORM: (0..22) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + CLOSE_PAREN: (21..22) ")" + ATMOSPHERE: (22..23) " +" + FORM: (23..26) + OPEN_PAREN: (23..24) "(" + SYMBOL: (24..25) + IDENTIFIER: (24..25) "=" + CLOSE_PAREN: (25..26) ")" + ATMOSPHERE: (26..28) " " + ATMOSPHERE: (28..35) "; => #t" + ATMOSPHERE: (35..36) " +" + FORM: (36..43) + OPEN_PAREN: (36..37) "(" + SYMBOL: (37..38) + IDENTIFIER: (37..38) ">" + ATMOSPHERE: (38..39) " " + CONSTANT: (39..40) + NUMBER: (39..40) "5" + ATMOSPHERE: (40..41) " " + CONSTANT: (41..42) + NUMBER: (41..42) "4" + CLOSE_PAREN: (42..43) ")" + ATMOSPHERE: (43..44) " " + ATMOSPHERE: (44..51) "; => #t" + ATMOSPHERE: (51..52) " +" + FORM: (52..59) + OPEN_PAREN: (52..53) "(" + SYMBOL: (53..54) + IDENTIFIER: (53..54) "<" + ATMOSPHERE: (54..55) " " + CONSTANT: (55..56) + NUMBER: (55..56) "5" + ATMOSPHERE: (56..57) " " + CONSTANT: (57..58) + NUMBER: (57..58) "4" + CLOSE_PAREN: (58..59) ")" + ATMOSPHERE: (59..60) " " + ATMOSPHERE: (60..67) "; => #f" + ATMOSPHERE: (67..68) " +" + FORM: (68..317) + OPEN_PAREN: (68..69) "(" + SYMBOL: (69..71) + IDENTIFIER: (69..71) "if" + ATMOSPHERE: (71..77) " + " + FORM: (77..83) + OPEN_PAREN: (77..78) "(" + SYMBOL: (78..80) + IDENTIFIER: (78..80) ">=" + ATMOSPHERE: (80..81) " " + CONSTANT: (81..82) + NUMBER: (81..82) "1" + CLOSE_PAREN: (82..83) ")" + ATMOSPHERE: (83..84) " " + ATMOSPHERE: (84..91) "; => #t" + ATMOSPHERE: (91..96) " + " + FORM: (96..295) + OPEN_PAREN: (96..97) "(" + SYMBOL: (97..98) + IDENTIFIER: (97..98) "+" + ATMOSPHERE: (98..107) " + " + FORM: (107..119) + OPEN_PAREN: (107..108) "(" + SYMBOL: (108..109) + IDENTIFIER: (108..109) "+" + ATMOSPHERE: (109..110) " " + CONSTANT: (110..111) + NUMBER: (110..111) "1" + ATMOSPHERE: (111..112) " " + CONSTANT: (112..113) + NUMBER: (112..113) "2" + ATMOSPHERE: (113..114) " " + CONSTANT: (114..115) + NUMBER: (114..115) "4" + ATMOSPHERE: (115..116) " " + CONSTANT: (116..118) + NUMBER: (116..118) "88" + CLOSE_PAREN: (118..119) ")" + ATMOSPHERE: (119..120) " " + ATMOSPHERE: (120..127) "; => 95" + ATMOSPHERE: (127..136) " + " + FORM: (136..145) + OPEN_PAREN: (136..137) "(" + SYMBOL: (137..138) + IDENTIFIER: (137..138) "-" + ATMOSPHERE: (138..139) " " + CONSTANT: (139..140) + NUMBER: (139..140) "3" + ATMOSPHERE: (140..141) " " + CONSTANT: (141..142) + NUMBER: (141..142) "4" + ATMOSPHERE: (142..143) " " + CONSTANT: (143..144) + NUMBER: (143..144) "5" + CLOSE_PAREN: (144..145) ")" + ATMOSPHERE: (145..146) " " + ATMOSPHERE: (146..153) "; => -6" + ATMOSPHERE: (153..162) " + " + FORM: (162..167) + OPEN_PAREN: (162..163) "(" + SYMBOL: (163..164) + IDENTIFIER: (163..164) "-" + ATMOSPHERE: (164..165) " " + CONSTANT: (165..166) + NUMBER: (165..166) "9" + CLOSE_PAREN: (166..167) ")" + ATMOSPHERE: (167..168) " " + ATMOSPHERE: (168..175) "; => -9" + ATMOSPHERE: (175..184) " + " + FORM: (184..187) + OPEN_PAREN: (184..185) "(" + SYMBOL: (185..186) + IDENTIFIER: (185..186) "/" + CLOSE_PAREN: (186..187) ")" + ATMOSPHERE: (187..188) " " + ATMOSPHERE: (188..194) "; => 1" + ATMOSPHERE: (194..203) " + " + FORM: (203..208) + OPEN_PAREN: (203..204) "(" + SYMBOL: (204..205) + IDENTIFIER: (204..205) "/" + ATMOSPHERE: (205..206) " " + CONSTANT: (206..207) + NUMBER: (206..207) "2" + CLOSE_PAREN: (207..208) ")" + ATMOSPHERE: (208..209) " " + ATMOSPHERE: (209..217) "; => 0.5" + ATMOSPHERE: (217..226) " + " + FORM: (226..233) + OPEN_PAREN: (226..227) "(" + SYMBOL: (227..228) + IDENTIFIER: (227..228) "/" + ATMOSPHERE: (228..229) " " + CONSTANT: (229..230) + NUMBER: (229..230) "5" + ATMOSPHERE: (230..231) " " + CONSTANT: (231..232) + NUMBER: (231..232) "2" + CLOSE_PAREN: (232..233) ")" + ATMOSPHERE: (233..234) " " + ATMOSPHERE: (234..242) "; => 2.5" + ATMOSPHERE: (242..251) " + " + FORM: (251..258) + OPEN_PAREN: (251..252) "(" + SYMBOL: (252..253) + IDENTIFIER: (252..253) "*" + ATMOSPHERE: (253..254) " " + CONSTANT: (254..255) + NUMBER: (254..255) "8" + ATMOSPHERE: (255..256) " " + CONSTANT: (256..257) + NUMBER: (256..257) "5" + CLOSE_PAREN: (257..258) ")" + ATMOSPHERE: (258..259) " " + ATMOSPHERE: (259..266) "; => 40" + ATMOSPHERE: (266..275) " + " + FORM: (275..281) + OPEN_PAREN: (275..276) "(" + SYMBOL: (276..277) + IDENTIFIER: (276..277) "*" + ATMOSPHERE: (277..278) " " + CONSTANT: (278..280) + NUMBER: (278..280) "76" + CLOSE_PAREN: (280..281) ")" + ATMOSPHERE: (281..282) " " + ATMOSPHERE: (282..289) "; => 76" + ATMOSPHERE: (289..294) " + " + CLOSE_PAREN: (294..295) ")" + ATMOSPHERE: (295..296) " " + ATMOSPHERE: (296..304) "; => 200" + ATMOSPHERE: (304..309) " + " + FORM: (309..316) + OPEN_PAREN: (309..310) "(" + SYMBOL: (310..311) + IDENTIFIER: (310..311) "*" + ATMOSPHERE: (311..312) " " + CONSTANT: (312..313) + NUMBER: (312..313) "8" + ATMOSPHERE: (313..314) " " + CONSTANT: (314..315) + NUMBER: (314..315) "9" + CLOSE_PAREN: (315..316) ")" + CLOSE_PAREN: (316..317) ")" + EOF: (317..317) "" diff --git a/spec/byte-vectors.ast b/spec/byte-vectors.ast new file mode 100644 index 0000000..9a02493 --- /dev/null +++ b/spec/byte-vectors.ast @@ -0,0 +1,268 @@ +PROGRAM: (0..539) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..296) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..50) + IDENTIFIER: (43..50) "display" + ATMOSPHERE: (50..51) " " + FORM: (51..295) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..56) + IDENTIFIER: (52..56) "list" + ATMOSPHERE: (56..63) " + + " + ATMOSPHERE: (63..86) ";; byte vector literals" + ATMOSPHERE: (86..91) " + " + BYTEVEC: (91..96) + OPEN_PAREN: (91..95) "#u8(" + CLOSE_PAREN: (95..96) ")" + ATMOSPHERE: (96..101) " + " + BYTEVEC: (101..109) + OPEN_PAREN: (101..105) "#u8(" + CONSTANT: (105..108) + NUMBER: (105..108) "255" + CLOSE_PAREN: (108..109) ")" + ATMOSPHERE: (109..114) " + " + BYTEVEC: (114..126) + OPEN_PAREN: (114..118) "#u8(" + ATMOSPHERE: (118..119) " " + CONSTANT: (119..120) + NUMBER: (119..120) "1" + ATMOSPHERE: (120..121) " " + CONSTANT: (121..122) + NUMBER: (121..122) "2" + ATMOSPHERE: (122..123) " " + CONSTANT: (123..124) + NUMBER: (123..124) "3" + ATMOSPHERE: (124..125) " " + CLOSE_PAREN: (125..126) ")" + ATMOSPHERE: (126..132) " + + " + FORM: (132..151) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..144) + IDENTIFIER: (133..144) "bytevector?" + ATMOSPHERE: (144..145) " " + BYTEVEC: (145..150) + OPEN_PAREN: (145..149) "#u8(" + CLOSE_PAREN: (149..150) ")" + CLOSE_PAREN: (150..151) ")" + ATMOSPHERE: (151..156) " + " + FORM: (156..186) + OPEN_PAREN: (156..157) "(" + SYMBOL: (157..168) + IDENTIFIER: (157..168) "bytevector?" + ATMOSPHERE: (168..169) " " + BYTEVEC: (169..185) + OPEN_PAREN: (169..173) "#u8(" + CONSTANT: (173..176) + NUMBER: (173..176) "128" + ATMOSPHERE: (176..177) " " + CONSTANT: (177..180) + NUMBER: (177..180) "254" + ATMOSPHERE: (180..181) " " + CONSTANT: (181..184) + NUMBER: (181..184) "255" + CLOSE_PAREN: (184..185) ")" + CLOSE_PAREN: (185..186) ")" + ATMOSPHERE: (186..192) " + + " + ATMOSPHERE: (192..218) ";; byte vector constructor" + ATMOSPHERE: (218..223) " + " + FORM: (223..235) + OPEN_PAREN: (223..224) "(" + SYMBOL: (224..234) + IDENTIFIER: (224..234) "bytevector" + CLOSE_PAREN: (234..235) ")" + ATMOSPHERE: (235..240) " + " + FORM: (240..260) + OPEN_PAREN: (240..241) "(" + SYMBOL: (241..251) + IDENTIFIER: (241..251) "bytevector" + ATMOSPHERE: (251..252) " " + CONSTANT: (252..253) + NUMBER: (252..253) "1" + ATMOSPHERE: (253..254) " " + CONSTANT: (254..255) + NUMBER: (254..255) "2" + ATMOSPHERE: (255..256) " " + CONSTANT: (256..257) + NUMBER: (256..257) "4" + ATMOSPHERE: (257..258) " " + CONSTANT: (258..259) + NUMBER: (258..259) "5" + CLOSE_PAREN: (259..260) ")" + ATMOSPHERE: (260..265) " + " + FORM: (265..288) + OPEN_PAREN: (265..266) "(" + SYMBOL: (266..281) + IDENTIFIER: (266..281) "make-bytevector" + ATMOSPHERE: (281..282) " " + CONSTANT: (282..284) + NUMBER: (282..284) "10" + ATMOSPHERE: (284..285) " " + CONSTANT: (285..287) + NUMBER: (285..287) "90" + CLOSE_PAREN: (287..288) ")" + ATMOSPHERE: (288..294) " + + " + CLOSE_PAREN: (294..295) ")" + CLOSE_PAREN: (295..296) ")" + FORM: (296..305) + OPEN_PAREN: (296..297) "(" + SYMBOL: (297..304) + IDENTIFIER: (297..304) "newline" + CLOSE_PAREN: (304..305) ")" + ATMOSPHERE: (305..307) " + +" + FORM: (307..342) + OPEN_PAREN: (307..308) "(" + SYMBOL: (308..314) + IDENTIFIER: (308..314) "define" + ATMOSPHERE: (314..315) " " + SYMBOL: (315..326) + IDENTIFIER: (315..326) "test-vector" + ATMOSPHERE: (326..327) " " + BYTEVEC: (327..341) + OPEN_PAREN: (327..331) "#u8(" + CONSTANT: (331..332) + NUMBER: (331..332) "1" + ATMOSPHERE: (332..333) " " + CONSTANT: (333..334) + NUMBER: (333..334) "2" + ATMOSPHERE: (334..335) " " + CONSTANT: (335..336) + NUMBER: (335..336) "3" + ATMOSPHERE: (336..337) " " + CONSTANT: (337..338) + NUMBER: (337..338) "4" + ATMOSPHERE: (338..339) " " + CONSTANT: (339..340) + NUMBER: (339..340) "5" + CLOSE_PAREN: (340..341) ")" + CLOSE_PAREN: (341..342) ")" + ATMOSPHERE: (342..343) " +" + FORM: (343..384) + OPEN_PAREN: (343..344) "(" + SYMBOL: (344..351) + IDENTIFIER: (344..351) "display" + ATMOSPHERE: (351..352) " " + FORM: (352..383) + OPEN_PAREN: (352..353) "(" + SYMBOL: (353..370) + IDENTIFIER: (353..370) "bytevector-length" + ATMOSPHERE: (370..371) " " + SYMBOL: (371..382) + IDENTIFIER: (371..382) "test-vector" + CLOSE_PAREN: (382..383) ")" + CLOSE_PAREN: (383..384) ")" + FORM: (384..393) + OPEN_PAREN: (384..385) "(" + SYMBOL: (385..392) + IDENTIFIER: (385..392) "newline" + CLOSE_PAREN: (392..393) ")" + ATMOSPHERE: (393..394) " +" + FORM: (394..437) + OPEN_PAREN: (394..395) "(" + SYMBOL: (395..402) + IDENTIFIER: (395..402) "display" + ATMOSPHERE: (402..403) " " + FORM: (403..436) + OPEN_PAREN: (403..404) "(" + SYMBOL: (404..421) + IDENTIFIER: (404..421) "bytevector-u8-ref" + ATMOSPHERE: (421..422) " " + SYMBOL: (422..433) + IDENTIFIER: (422..433) "test-vector" + ATMOSPHERE: (433..434) " " + CONSTANT: (434..435) + NUMBER: (434..435) "3" + CLOSE_PAREN: (435..436) ")" + CLOSE_PAREN: (436..437) ")" + FORM: (437..446) + OPEN_PAREN: (437..438) "(" + SYMBOL: (438..445) + IDENTIFIER: (438..445) "newline" + CLOSE_PAREN: (445..446) ")" + ATMOSPHERE: (446..447) " +" + FORM: (447..485) + OPEN_PAREN: (447..448) "(" + SYMBOL: (448..466) + IDENTIFIER: (448..466) "bytevector-u8-set!" + ATMOSPHERE: (466..467) " " + SYMBOL: (467..478) + IDENTIFIER: (467..478) "test-vector" + ATMOSPHERE: (478..479) " " + CONSTANT: (479..480) + NUMBER: (479..480) "3" + ATMOSPHERE: (480..481) " " + CONSTANT: (481..484) + NUMBER: (481..484) "101" + CLOSE_PAREN: (484..485) ")" + ATMOSPHERE: (485..486) " +" + FORM: (486..529) + OPEN_PAREN: (486..487) "(" + SYMBOL: (487..494) + IDENTIFIER: (487..494) "display" + ATMOSPHERE: (494..495) " " + FORM: (495..528) + OPEN_PAREN: (495..496) "(" + SYMBOL: (496..513) + IDENTIFIER: (496..513) "bytevector-u8-ref" + ATMOSPHERE: (513..514) " " + SYMBOL: (514..525) + IDENTIFIER: (514..525) "test-vector" + ATMOSPHERE: (525..526) " " + CONSTANT: (526..527) + NUMBER: (526..527) "3" + CLOSE_PAREN: (527..528) ")" + CLOSE_PAREN: (528..529) ")" + FORM: (529..538) + OPEN_PAREN: (529..530) "(" + SYMBOL: (530..537) + IDENTIFIER: (530..537) "newline" + CLOSE_PAREN: (537..538) ")" + ATMOSPHERE: (538..539) " +" + EOF: (539..539) "" diff --git a/spec/capturetest.ast b/spec/capturetest.ast new file mode 100644 index 0000000..b5c2b49 --- /dev/null +++ b/spec/capturetest.ast @@ -0,0 +1,176 @@ +PROGRAM: (0..208) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..84) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..50) + IDENTIFIER: (43..50) "display" + ATMOSPHERE: (50..51) " " + FORM: (51..83) + OPEN_PAREN: (51..52) "(" + FORM: (52..82) + OPEN_PAREN: (52..53) "(" + FORM: (53..77) + OPEN_PAREN: (53..54) "(" + SYMBOL: (54..60) + IDENTIFIER: (54..60) "lambda" + ATMOSPHERE: (60..61) " " + SYMBOL: (61..62) + IDENTIFIER: (61..62) "a" + ATMOSPHERE: (62..63) " " + FORM: (63..76) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..70) + IDENTIFIER: (64..70) "lambda" + ATMOSPHERE: (70..71) " " + FORM: (71..73) + OPEN_PAREN: (71..72) "(" + CLOSE_PAREN: (72..73) ")" + ATMOSPHERE: (73..74) " " + SYMBOL: (74..75) + IDENTIFIER: (74..75) "a" + CLOSE_PAREN: (75..76) ")" + CLOSE_PAREN: (76..77) ")" + ATMOSPHERE: (77..78) " " + CONSTANT: (78..81) + NUMBER: (78..81) "123" + CLOSE_PAREN: (81..82) ")" + CLOSE_PAREN: (82..83) ")" + CLOSE_PAREN: (83..84) ")" + ATMOSPHERE: (84..85) " +" + FORM: (85..140) + OPEN_PAREN: (85..86) "(" + SYMBOL: (86..93) + IDENTIFIER: (86..93) "display" + ATMOSPHERE: (93..94) " " + FORM: (94..139) + OPEN_PAREN: (94..95) "(" + FORM: (95..138) + OPEN_PAREN: (95..96) "(" + SYMBOL: (96..102) + IDENTIFIER: (96..102) "lambda" + ATMOSPHERE: (102..103) " " + FORM: (103..105) + OPEN_PAREN: (103..104) "(" + CLOSE_PAREN: (104..105) ")" + ATMOSPHERE: (105..106) " " + FORM: (106..120) + OPEN_PAREN: (106..107) "(" + SYMBOL: (107..113) + IDENTIFIER: (107..113) "define" + ATMOSPHERE: (113..114) " " + SYMBOL: (114..115) + IDENTIFIER: (114..115) "a" + ATMOSPHERE: (115..116) " " + CONSTANT: (116..119) + NUMBER: (116..119) "100" + CLOSE_PAREN: (119..120) ")" + ATMOSPHERE: (120..121) " " + FORM: (121..135) + OPEN_PAREN: (121..122) "(" + SYMBOL: (122..128) + IDENTIFIER: (122..128) "define" + ATMOSPHERE: (128..129) " " + FORM: (129..132) + OPEN_PAREN: (129..130) "(" + SYMBOL: (130..131) + IDENTIFIER: (130..131) "b" + CLOSE_PAREN: (131..132) ")" + ATMOSPHERE: (132..133) " " + SYMBOL: (133..134) + IDENTIFIER: (133..134) "a" + CLOSE_PAREN: (134..135) ")" + ATMOSPHERE: (135..136) " " + SYMBOL: (136..137) + IDENTIFIER: (136..137) "a" + CLOSE_PAREN: (137..138) ")" + CLOSE_PAREN: (138..139) ")" + CLOSE_PAREN: (139..140) ")" + ATMOSPHERE: (140..141) " +" + FORM: (141..208) + OPEN_PAREN: (141..142) "(" + FORM: (142..202) + OPEN_PAREN: (142..143) "(" + FORM: (143..189) + OPEN_PAREN: (143..144) "(" + SYMBOL: (144..150) + IDENTIFIER: (144..150) "lambda" + ATMOSPHERE: (150..151) " " + FORM: (151..154) + OPEN_PAREN: (151..152) "(" + SYMBOL: (152..153) + IDENTIFIER: (152..153) "a" + CLOSE_PAREN: (153..154) ")" + ATMOSPHERE: (154..159) " + " + FORM: (159..188) + OPEN_PAREN: (159..160) "(" + SYMBOL: (160..166) + IDENTIFIER: (160..166) "lambda" + ATMOSPHERE: (166..167) " " + FORM: (167..170) + OPEN_PAREN: (167..168) "(" + SYMBOL: (168..169) + IDENTIFIER: (168..169) "b" + CLOSE_PAREN: (169..170) ")" + ATMOSPHERE: (170..180) " + " + FORM: (180..187) + OPEN_PAREN: (180..181) "(" + SYMBOL: (181..182) + IDENTIFIER: (181..182) "=" + ATMOSPHERE: (182..183) " " + SYMBOL: (183..184) + IDENTIFIER: (183..184) "a" + ATMOSPHERE: (184..185) " " + SYMBOL: (185..186) + IDENTIFIER: (185..186) "b" + CLOSE_PAREN: (186..187) ")" + CLOSE_PAREN: (187..188) ")" + CLOSE_PAREN: (188..189) ")" + ATMOSPHERE: (189..192) " + " + FORM: (192..201) + OPEN_PAREN: (192..193) "(" + SYMBOL: (193..194) + IDENTIFIER: (193..194) "*" + ATMOSPHERE: (194..195) " " + CONSTANT: (195..196) + NUMBER: (195..196) "2" + ATMOSPHERE: (196..197) " " + CONSTANT: (197..200) + NUMBER: (197..200) "123" + CLOSE_PAREN: (200..201) ")" + CLOSE_PAREN: (201..202) ")" + ATMOSPHERE: (202..204) " + " + CONSTANT: (204..207) + NUMBER: (204..207) "246" + CLOSE_PAREN: (207..208) ")" + EOF: (208..208) "" diff --git a/spec/characters.ast b/spec/characters.ast new file mode 100644 index 0000000..f3caa26 --- /dev/null +++ b/spec/characters.ast @@ -0,0 +1,2633 @@ +PROGRAM: (0..5347) + FORM: (0..211) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" + ATMOSPHERE: (93..98) " + " + ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." + ATMOSPHERE: (162..167) " + " + FORM: (167..191) + OPEN_PAREN: (167..168) "(" + SYMBOL: (168..175) + IDENTIFIER: (168..175) "feersum" + ATMOSPHERE: (175..176) " " + SYMBOL: (176..183) + IDENTIFIER: (176..183) "builtin" + ATMOSPHERE: (183..184) " " + SYMBOL: (184..190) + IDENTIFIER: (184..190) "macros" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..196) " + " + FORM: (196..210) + OPEN_PAREN: (196..197) "(" + SYMBOL: (197..203) + IDENTIFIER: (197..203) "scheme" + ATMOSPHERE: (203..204) " " + SYMBOL: (204..209) + IDENTIFIER: (204..209) "write" + CLOSE_PAREN: (209..210) ")" + CLOSE_PAREN: (210..211) ")" + ATMOSPHERE: (211..213) " + +" + FORM: (213..799) + OPEN_PAREN: (213..214) "(" + SYMBOL: (214..221) + IDENTIFIER: (214..221) "display" + ATMOSPHERE: (221..222) " " + FORM: (222..798) + OPEN_PAREN: (222..223) "(" + SYMBOL: (223..232) + IDENTIFIER: (223..232) "boolean=?" + ATMOSPHERE: (232..237) " + " + CONSTANT: (237..239) + BOOLEAN: (237..239) "#t" + ATMOSPHERE: (239..249) " + + " + FORM: (249..278) + OPEN_PAREN: (249..250) "(" + SYMBOL: (250..256) + IDENTIFIER: (250..256) "equal?" + ATMOSPHERE: (256..257) " " + CONSTANT: (257..264) + CHARACTER: (257..264) "#\alarm" + ATMOSPHERE: (264..270) " " + CONSTANT: (270..277) + CHARACTER: (270..277) "#\x0007" + CLOSE_PAREN: (277..278) ")" + ATMOSPHERE: (278..280) " " + ATMOSPHERE: (280..288) "; U+0007" + ATMOSPHERE: (288..293) " + " + FORM: (293..322) + OPEN_PAREN: (293..294) "(" + SYMBOL: (294..300) + IDENTIFIER: (294..300) "equal?" + ATMOSPHERE: (300..301) " " + CONSTANT: (301..312) + CHARACTER: (301..312) "#\backspace" + ATMOSPHERE: (312..314) " " + CONSTANT: (314..321) + CHARACTER: (314..321) "#\x0008" + CLOSE_PAREN: (321..322) ")" + ATMOSPHERE: (322..324) " " + ATMOSPHERE: (324..332) "; U+0008" + ATMOSPHERE: (332..337) " + " + FORM: (337..366) + OPEN_PAREN: (337..338) "(" + SYMBOL: (338..344) + IDENTIFIER: (338..344) "equal?" + ATMOSPHERE: (344..345) " " + CONSTANT: (345..353) + CHARACTER: (345..353) "#\delete" + ATMOSPHERE: (353..358) " " + CONSTANT: (358..365) + CHARACTER: (358..365) "#\x007F" + CLOSE_PAREN: (365..366) ")" + ATMOSPHERE: (366..368) " " + ATMOSPHERE: (368..376) "; U+007F" + ATMOSPHERE: (376..381) " + " + FORM: (381..410) + OPEN_PAREN: (381..382) "(" + SYMBOL: (382..388) + IDENTIFIER: (382..388) "equal?" + ATMOSPHERE: (388..389) " " + CONSTANT: (389..397) + CHARACTER: (389..397) "#\escape" + ATMOSPHERE: (397..402) " " + CONSTANT: (402..409) + CHARACTER: (402..409) "#\x001B" + CLOSE_PAREN: (409..410) ")" + ATMOSPHERE: (410..412) " " + ATMOSPHERE: (412..420) "; U+001B" + ATMOSPHERE: (420..425) " + " + FORM: (425..454) + OPEN_PAREN: (425..426) "(" + SYMBOL: (426..432) + IDENTIFIER: (426..432) "equal?" + ATMOSPHERE: (432..433) " " + CONSTANT: (433..442) + CHARACTER: (433..442) "#\newline" + ATMOSPHERE: (442..446) " " + CONSTANT: (446..453) + CHARACTER: (446..453) "#\x000A" + CLOSE_PAREN: (453..454) ")" + ATMOSPHERE: (454..456) " " + ATMOSPHERE: (456..488) "; the linefeed character, U+000A" + ATMOSPHERE: (488..493) " + " + FORM: (493..522) + OPEN_PAREN: (493..494) "(" + SYMBOL: (494..500) + IDENTIFIER: (494..500) "equal?" + ATMOSPHERE: (500..501) " " + CONSTANT: (501..507) + CHARACTER: (501..507) "#\null" + ATMOSPHERE: (507..514) " " + CONSTANT: (514..521) + CHARACTER: (514..521) "#\x0000" + CLOSE_PAREN: (521..522) ")" + ATMOSPHERE: (522..524) " " + ATMOSPHERE: (524..552) "; the null character, U+0000" + ATMOSPHERE: (552..557) " + " + FORM: (557..586) + OPEN_PAREN: (557..558) "(" + SYMBOL: (558..564) + IDENTIFIER: (558..564) "equal?" + ATMOSPHERE: (564..565) " " + CONSTANT: (565..573) + CHARACTER: (565..573) "#\return" + ATMOSPHERE: (573..578) " " + CONSTANT: (578..585) + CHARACTER: (578..585) "#\x000D" + CLOSE_PAREN: (585..586) ")" + ATMOSPHERE: (586..588) " " + ATMOSPHERE: (588..618) "; the return character, U+000D" + ATMOSPHERE: (618..623) " + " + FORM: (623..652) + OPEN_PAREN: (623..624) "(" + SYMBOL: (624..630) + IDENTIFIER: (624..630) "equal?" + ATMOSPHERE: (630..631) " " + CONSTANT: (631..638) + CHARACTER: (631..638) "#\space" + ATMOSPHERE: (638..644) " " + CONSTANT: (644..647) + CHARACTER: (644..647) "#\ " + ATMOSPHERE: (647..651) " " + CLOSE_PAREN: (651..652) ")" + ATMOSPHERE: (652..654) " " + ATMOSPHERE: (654..690) "; the preferred way to write a space" + ATMOSPHERE: (690..695) " + " + FORM: (695..724) + OPEN_PAREN: (695..696) "(" + SYMBOL: (696..702) + IDENTIFIER: (696..702) "equal?" + ATMOSPHERE: (702..703) " " + CONSTANT: (703..708) + CHARACTER: (703..708) "#\tab" + ATMOSPHERE: (708..716) " " + CONSTANT: (716..723) + CHARACTER: (716..723) "#\x0009" + CLOSE_PAREN: (723..724) ")" + ATMOSPHERE: (724..726) " " + ATMOSPHERE: (726..753) "; the tab character, U+0009" + ATMOSPHERE: (753..758) " + " + FORM: (758..787) + OPEN_PAREN: (758..759) "(" + SYMBOL: (759..765) + IDENTIFIER: (759..765) "equal?" + ATMOSPHERE: (765..766) " " + CONSTANT: (766..773) + CHARACTER: (766..773) "#\x03BB" + ATMOSPHERE: (773..779) " " + CONSTANT: (779..782) + CHARACTER: (779..782) "#\λ" + ATMOSPHERE: (782..786) " " + CLOSE_PAREN: (786..787) ")" + ATMOSPHERE: (787..789) " " + ATMOSPHERE: (789..792) "; λ" + ATMOSPHERE: (792..797) " + " + CLOSE_PAREN: (797..798) ")" + CLOSE_PAREN: (798..799) ")" + FORM: (799..808) + OPEN_PAREN: (799..800) "(" + SYMBOL: (800..807) + IDENTIFIER: (800..807) "newline" + CLOSE_PAREN: (807..808) ")" + ATMOSPHERE: (808..810) " + +" + ATMOSPHERE: (810..840) ";; Simple character operations" + ATMOSPHERE: (840..841) " +" + FORM: (841..1660) + OPEN_PAREN: (841..842) "(" + SYMBOL: (842..849) + IDENTIFIER: (842..849) "display" + ATMOSPHERE: (849..850) " " + FORM: (850..1659) + OPEN_PAREN: (850..851) "(" + SYMBOL: (851..855) + IDENTIFIER: (851..855) "list" + ATMOSPHERE: (855..860) " + " + FORM: (860..875) + OPEN_PAREN: (860..861) "(" + SYMBOL: (861..866) + IDENTIFIER: (861..866) "char?" + ATMOSPHERE: (866..867) " " + CONSTANT: (867..874) + CHARACTER: (867..874) "#\space" + CLOSE_PAREN: (874..875) ")" + ATMOSPHERE: (875..880) " + " + FORM: (880..893) + OPEN_PAREN: (880..881) "(" + SYMBOL: (881..886) + IDENTIFIER: (881..886) "char?" + ATMOSPHERE: (886..887) " " + CONSTANT: (887..892) + CHARACTER: (887..892) "#\tab" + CLOSE_PAREN: (892..893) ")" + ATMOSPHERE: (893..898) " + " + FORM: (898..912) + OPEN_PAREN: (898..899) "(" + SYMBOL: (899..904) + IDENTIFIER: (899..904) "char?" + ATMOSPHERE: (904..905) " " + CONSTANT: (905..911) + CHARACTER: (905..911) "#\null" + CLOSE_PAREN: (911..912) ")" + ATMOSPHERE: (912..917) " + " + FORM: (917..928) + OPEN_PAREN: (917..918) "(" + SYMBOL: (918..923) + IDENTIFIER: (918..923) "char?" + ATMOSPHERE: (923..924) " " + CONSTANT: (924..927) + NUMBER: (924..927) "101" + CLOSE_PAREN: (927..928) ")" + ATMOSPHERE: (928..933) " + " + FORM: (933..943) + OPEN_PAREN: (933..934) "(" + SYMBOL: (934..939) + IDENTIFIER: (934..939) "char?" + ATMOSPHERE: (939..940) " " + CONSTANT: (940..942) + NUMBER: (940..942) "00" + CLOSE_PAREN: (942..943) ")" + ATMOSPHERE: (943..953) " + + " + FORM: (953..1241) + OPEN_PAREN: (953..954) "(" + SYMBOL: (954..963) + IDENTIFIER: (954..963) "boolean=?" + ATMOSPHERE: (963..972) " + " + CONSTANT: (972..974) + BOOLEAN: (972..974) "#t" + ATMOSPHERE: (974..988) " + + " + FORM: (988..1021) + OPEN_PAREN: (988..989) "(" + SYMBOL: (989..995) + IDENTIFIER: (989..995) "equal?" + ATMOSPHERE: (995..996) " " + FORM: (996..1013) + OPEN_PAREN: (996..997) "(" + SYMBOL: (997..1008) + IDENTIFIER: (997..1008) "digit-value" + ATMOSPHERE: (1008..1009) " " + CONSTANT: (1009..1012) + CHARACTER: (1009..1012) "#\3" + CLOSE_PAREN: (1012..1013) ")" + ATMOSPHERE: (1013..1019) " " + CONSTANT: (1019..1020) + NUMBER: (1019..1020) "3" + CLOSE_PAREN: (1020..1021) ")" + ATMOSPHERE: (1021..1030) " + " + FORM: (1030..1063) + OPEN_PAREN: (1030..1031) "(" + SYMBOL: (1031..1037) + IDENTIFIER: (1031..1037) "equal?" + ATMOSPHERE: (1037..1038) " " + FORM: (1038..1059) + OPEN_PAREN: (1038..1039) "(" + SYMBOL: (1039..1050) + IDENTIFIER: (1039..1050) "digit-value" + ATMOSPHERE: (1050..1051) " " + CONSTANT: (1051..1058) + CHARACTER: (1051..1058) "#\x0664" + CLOSE_PAREN: (1058..1059) ")" + ATMOSPHERE: (1059..1061) " " + CONSTANT: (1061..1062) + NUMBER: (1061..1062) "4" + CLOSE_PAREN: (1062..1063) ")" + ATMOSPHERE: (1063..1072) " + " + FORM: (1072..1105) + OPEN_PAREN: (1072..1073) "(" + SYMBOL: (1073..1079) + IDENTIFIER: (1073..1079) "equal?" + ATMOSPHERE: (1079..1080) " " + FORM: (1080..1101) + OPEN_PAREN: (1080..1081) "(" + SYMBOL: (1081..1092) + IDENTIFIER: (1081..1092) "digit-value" + ATMOSPHERE: (1092..1093) " " + CONSTANT: (1093..1100) + CHARACTER: (1093..1100) "#\x0AE6" + CLOSE_PAREN: (1100..1101) ")" + ATMOSPHERE: (1101..1103) " " + CONSTANT: (1103..1104) + NUMBER: (1103..1104) "0" + CLOSE_PAREN: (1104..1105) ")" + ATMOSPHERE: (1105..1114) " + " + FORM: (1114..1147) + OPEN_PAREN: (1114..1115) "(" + SYMBOL: (1115..1121) + IDENTIFIER: (1115..1121) "equal?" + ATMOSPHERE: (1121..1122) " " + FORM: (1122..1143) + OPEN_PAREN: (1122..1123) "(" + SYMBOL: (1123..1134) + IDENTIFIER: (1123..1134) "digit-value" + ATMOSPHERE: (1134..1135) " " + CONSTANT: (1135..1142) + CHARACTER: (1135..1142) "#\x0EA6" + CLOSE_PAREN: (1142..1143) ")" + ATMOSPHERE: (1143..1144) " " + CONSTANT: (1144..1146) + BOOLEAN: (1144..1146) "#f" + CLOSE_PAREN: (1146..1147) ")" + ATMOSPHERE: (1147..1156) " + " + FORM: (1156..1189) + OPEN_PAREN: (1156..1157) "(" + SYMBOL: (1157..1163) + IDENTIFIER: (1157..1163) "equal?" + ATMOSPHERE: (1163..1164) " " + FORM: (1164..1181) + OPEN_PAREN: (1164..1165) "(" + SYMBOL: (1165..1176) + IDENTIFIER: (1165..1176) "digit-value" + ATMOSPHERE: (1176..1177) " " + CONSTANT: (1177..1180) + CHARACTER: (1177..1180) "#\১" + CLOSE_PAREN: (1180..1181) ")" + ATMOSPHERE: (1181..1187) " " + CONSTANT: (1187..1188) + NUMBER: (1187..1188) "1" + CLOSE_PAREN: (1188..1189) ")" + ATMOSPHERE: (1189..1198) " + " + FORM: (1198..1231) + OPEN_PAREN: (1198..1199) "(" + SYMBOL: (1199..1205) + IDENTIFIER: (1199..1205) "equal?" + ATMOSPHERE: (1205..1206) " " + FORM: (1206..1223) + OPEN_PAREN: (1206..1207) "(" + SYMBOL: (1207..1218) + IDENTIFIER: (1207..1218) "digit-value" + ATMOSPHERE: (1218..1219) " " + CONSTANT: (1219..1222) + CHARACTER: (1219..1222) "#\५" + CLOSE_PAREN: (1222..1223) ")" + ATMOSPHERE: (1223..1229) " " + CONSTANT: (1229..1230) + NUMBER: (1229..1230) "5" + CLOSE_PAREN: (1230..1231) ")" + ATMOSPHERE: (1231..1240) " + " + CLOSE_PAREN: (1240..1241) ")" + ATMOSPHERE: (1241..1247) " + + " + FORM: (1247..1653) + OPEN_PAREN: (1247..1248) "(" + SYMBOL: (1248..1257) + IDENTIFIER: (1248..1257) "boolean=?" + ATMOSPHERE: (1257..1266) " + " + CONSTANT: (1266..1268) + BOOLEAN: (1266..1268) "#t" + ATMOSPHERE: (1268..1278) " + + " + FORM: (1278..1313) + OPEN_PAREN: (1278..1279) "(" + SYMBOL: (1279..1285) + IDENTIFIER: (1279..1285) "equal?" + ATMOSPHERE: (1285..1286) " " + FORM: (1286..1309) + OPEN_PAREN: (1286..1287) "(" + SYMBOL: (1287..1300) + IDENTIFIER: (1287..1300) "char->integer" + ATMOSPHERE: (1300..1301) " " + CONSTANT: (1301..1308) + CHARACTER: (1301..1308) "#\space" + CLOSE_PAREN: (1308..1309) ")" + ATMOSPHERE: (1309..1310) " " + CONSTANT: (1310..1312) + NUMBER: (1310..1312) "32" + CLOSE_PAREN: (1312..1313) ")" + ATMOSPHERE: (1313..1322) " + " + FORM: (1322..1355) + OPEN_PAREN: (1322..1323) "(" + SYMBOL: (1323..1329) + IDENTIFIER: (1323..1329) "equal?" + ATMOSPHERE: (1329..1330) " " + FORM: (1330..1352) + OPEN_PAREN: (1330..1331) "(" + SYMBOL: (1331..1344) + IDENTIFIER: (1331..1344) "char->integer" + ATMOSPHERE: (1344..1345) " " + CONSTANT: (1345..1351) + CHARACTER: (1345..1351) "#\null" + CLOSE_PAREN: (1351..1352) ")" + ATMOSPHERE: (1352..1353) " " + CONSTANT: (1353..1354) + NUMBER: (1353..1354) "0" + CLOSE_PAREN: (1354..1355) ")" + ATMOSPHERE: (1355..1364) " + " + FORM: (1364..1401) + OPEN_PAREN: (1364..1365) "(" + SYMBOL: (1365..1371) + IDENTIFIER: (1365..1371) "equal?" + ATMOSPHERE: (1371..1372) " " + FORM: (1372..1395) + OPEN_PAREN: (1372..1373) "(" + SYMBOL: (1373..1386) + IDENTIFIER: (1373..1386) "char->integer" + ATMOSPHERE: (1386..1387) " " + CONSTANT: (1387..1394) + CHARACTER: (1387..1394) "#\x0EA6" + CLOSE_PAREN: (1394..1395) ")" + ATMOSPHERE: (1395..1396) " " + CONSTANT: (1396..1400) + NUMBER: (1396..1400) "3750" + CLOSE_PAREN: (1400..1401) ")" + ATMOSPHERE: (1401..1410) " + " + FORM: (1410..1441) + OPEN_PAREN: (1410..1411) "(" + SYMBOL: (1411..1417) + IDENTIFIER: (1411..1417) "equal?" + ATMOSPHERE: (1417..1418) " " + FORM: (1418..1436) + OPEN_PAREN: (1418..1419) "(" + SYMBOL: (1419..1432) + IDENTIFIER: (1419..1432) "integer->char" + ATMOSPHERE: (1432..1433) " " + CONSTANT: (1433..1435) + NUMBER: (1433..1435) "38" + CLOSE_PAREN: (1435..1436) ")" + ATMOSPHERE: (1436..1437) " " + CONSTANT: (1437..1440) + CHARACTER: (1437..1440) "#\&" + CLOSE_PAREN: (1440..1441) ")" + ATMOSPHERE: (1441..1450) " + " + FORM: (1450..1484) + OPEN_PAREN: (1450..1451) "(" + SYMBOL: (1451..1457) + IDENTIFIER: (1451..1457) "equal?" + ATMOSPHERE: (1457..1458) " " + FORM: (1458..1475) + OPEN_PAREN: (1458..1459) "(" + SYMBOL: (1459..1472) + IDENTIFIER: (1459..1472) "integer->char" + ATMOSPHERE: (1472..1473) " " + CONSTANT: (1473..1474) + NUMBER: (1473..1474) "0" + CLOSE_PAREN: (1474..1475) ")" + ATMOSPHERE: (1475..1476) " " + CONSTANT: (1476..1483) + CHARACTER: (1476..1483) "#\x0000" + CLOSE_PAREN: (1483..1484) ")" + ATMOSPHERE: (1484..1493) " + " + FORM: (1493..1531) + OPEN_PAREN: (1493..1494) "(" + SYMBOL: (1494..1500) + IDENTIFIER: (1494..1500) "equal?" + ATMOSPHERE: (1500..1501) " " + FORM: (1501..1522) + OPEN_PAREN: (1501..1502) "(" + SYMBOL: (1502..1515) + IDENTIFIER: (1502..1515) "integer->char" + ATMOSPHERE: (1515..1516) " " + CONSTANT: (1516..1521) + NUMBER: (1516..1521) "55295" + CLOSE_PAREN: (1521..1522) ")" + ATMOSPHERE: (1522..1523) " " + CONSTANT: (1523..1530) + CHARACTER: (1523..1530) "#\xD7FF" + CLOSE_PAREN: (1530..1531) ")" + ATMOSPHERE: (1531..1541) " + + " + FORM: (1541..1643) + OPEN_PAREN: (1541..1542) "(" + SYMBOL: (1542..1545) + IDENTIFIER: (1542..1545) "let" + ATMOSPHERE: (1545..1546) " " + FORM: (1546..1580) + OPEN_PAREN: (1546..1547) "(" + FORM: (1547..1579) + OPEN_PAREN: (1547..1548) "(" + SYMBOL: (1548..1556) + IDENTIFIER: (1548..1556) "bad-char" + ATMOSPHERE: (1556..1557) " " + FORM: (1557..1578) + OPEN_PAREN: (1557..1558) "(" + SYMBOL: (1558..1571) + IDENTIFIER: (1558..1571) "integer->char" + ATMOSPHERE: (1571..1572) " " + CONSTANT: (1572..1577) + NUMBER: (1572..1577) "55296" + CLOSE_PAREN: (1577..1578) ")" + CLOSE_PAREN: (1578..1579) ")" + CLOSE_PAREN: (1579..1580) ")" + ATMOSPHERE: (1580..1593) " + " + FORM: (1593..1642) + OPEN_PAREN: (1593..1594) "(" + SYMBOL: (1594..1597) + IDENTIFIER: (1594..1597) "and" + ATMOSPHERE: (1597..1598) " " + FORM: (1598..1618) + OPEN_PAREN: (1598..1599) "(" + SYMBOL: (1599..1600) + IDENTIFIER: (1599..1600) ">" + ATMOSPHERE: (1600..1601) " " + SYMBOL: (1601..1609) + IDENTIFIER: (1601..1609) "bad-char" + ATMOSPHERE: (1609..1610) " " + CONSTANT: (1610..1617) + NUMBER: (1610..1617) "1114111" + CLOSE_PAREN: (1617..1618) ")" + ATMOSPHERE: (1618..1619) " " + FORM: (1619..1641) + OPEN_PAREN: (1619..1620) "(" + SYMBOL: (1620..1623) + IDENTIFIER: (1620..1623) "not" + ATMOSPHERE: (1623..1624) " " + FORM: (1624..1640) + OPEN_PAREN: (1624..1625) "(" + SYMBOL: (1625..1630) + IDENTIFIER: (1625..1630) "char?" + ATMOSPHERE: (1630..1631) " " + SYMBOL: (1631..1639) + IDENTIFIER: (1631..1639) "bad-char" + CLOSE_PAREN: (1639..1640) ")" + CLOSE_PAREN: (1640..1641) ")" + CLOSE_PAREN: (1641..1642) ")" + CLOSE_PAREN: (1642..1643) ")" + ATMOSPHERE: (1643..1652) " + " + CLOSE_PAREN: (1652..1653) ")" + ATMOSPHERE: (1653..1658) " + " + CLOSE_PAREN: (1658..1659) ")" + CLOSE_PAREN: (1659..1660) ")" + FORM: (1660..1669) + OPEN_PAREN: (1660..1661) "(" + SYMBOL: (1661..1668) + IDENTIFIER: (1661..1668) "newline" + CLOSE_PAREN: (1668..1669) ")" + ATMOSPHERE: (1669..1671) " + +" + ATMOSPHERE: (1671..1695) ";; Character comparisons" + ATMOSPHERE: (1695..1696) " +" + FORM: (1696..3757) + OPEN_PAREN: (1696..1697) "(" + SYMBOL: (1697..1704) + IDENTIFIER: (1697..1704) "display" + ATMOSPHERE: (1704..1705) " " + FORM: (1705..3756) + OPEN_PAREN: (1705..1706) "(" + SYMBOL: (1706..1715) + IDENTIFIER: (1706..1715) "boolean=?" + ATMOSPHERE: (1715..1720) " + " + CONSTANT: (1720..1722) + BOOLEAN: (1720..1722) "#t" + ATMOSPHERE: (1722..1732) " + + " + FORM: (1732..1752) + OPEN_PAREN: (1732..1733) "(" + SYMBOL: (1733..1739) + IDENTIFIER: (1733..1739) "char=?" + ATMOSPHERE: (1739..1740) " " + CONSTANT: (1740..1743) + CHARACTER: (1740..1743) "#\a" + ATMOSPHERE: (1743..1744) " " + CONSTANT: (1744..1747) + CHARACTER: (1744..1747) "#\a" + ATMOSPHERE: (1747..1748) " " + CONSTANT: (1748..1751) + CHARACTER: (1748..1751) "#\a" + CLOSE_PAREN: (1751..1752) ")" + ATMOSPHERE: (1752..1757) " + " + FORM: (1757..1780) + OPEN_PAREN: (1757..1758) "(" + SYMBOL: (1758..1767) + IDENTIFIER: (1758..1767) "char-ci=?" + ATMOSPHERE: (1767..1768) " " + CONSTANT: (1768..1771) + CHARACTER: (1768..1771) "#\a" + ATMOSPHERE: (1771..1772) " " + CONSTANT: (1772..1775) + CHARACTER: (1772..1775) "#\a" + ATMOSPHERE: (1775..1776) " " + CONSTANT: (1776..1779) + CHARACTER: (1776..1779) "#\a" + CLOSE_PAREN: (1779..1780) ")" + ATMOSPHERE: (1780..1785) " + " + FORM: (1785..1805) + OPEN_PAREN: (1785..1786) "(" + SYMBOL: (1786..1792) + IDENTIFIER: (1786..1792) "char=?" + ATMOSPHERE: (1792..1793) " " + CONSTANT: (1793..1796) + CHARACTER: (1793..1796) "#\A" + ATMOSPHERE: (1796..1797) " " + CONSTANT: (1797..1800) + CHARACTER: (1797..1800) "#\A" + ATMOSPHERE: (1800..1801) " " + CONSTANT: (1801..1804) + CHARACTER: (1801..1804) "#\A" + CLOSE_PAREN: (1804..1805) ")" + ATMOSPHERE: (1805..1810) " + " + FORM: (1810..1833) + OPEN_PAREN: (1810..1811) "(" + SYMBOL: (1811..1820) + IDENTIFIER: (1811..1820) "char-ci=?" + ATMOSPHERE: (1820..1821) " " + CONSTANT: (1821..1824) + CHARACTER: (1821..1824) "#\A" + ATMOSPHERE: (1824..1825) " " + CONSTANT: (1825..1828) + CHARACTER: (1825..1828) "#\A" + ATMOSPHERE: (1828..1829) " " + CONSTANT: (1829..1832) + CHARACTER: (1829..1832) "#\A" + CLOSE_PAREN: (1832..1833) ")" + ATMOSPHERE: (1833..1838) " + " + FORM: (1838..1864) + OPEN_PAREN: (1838..1839) "(" + SYMBOL: (1839..1842) + IDENTIFIER: (1839..1842) "not" + ATMOSPHERE: (1842..1843) " " + FORM: (1843..1863) + OPEN_PAREN: (1843..1844) "(" + SYMBOL: (1844..1850) + IDENTIFIER: (1844..1850) "char=?" + ATMOSPHERE: (1850..1851) " " + CONSTANT: (1851..1854) + CHARACTER: (1851..1854) "#\a" + ATMOSPHERE: (1854..1855) " " + CONSTANT: (1855..1858) + CHARACTER: (1855..1858) "#\A" + ATMOSPHERE: (1858..1859) " " + CONSTANT: (1859..1862) + CHARACTER: (1859..1862) "#\a" + CLOSE_PAREN: (1862..1863) ")" + CLOSE_PAREN: (1863..1864) ")" + ATMOSPHERE: (1864..1869) " + " + FORM: (1869..1892) + OPEN_PAREN: (1869..1870) "(" + SYMBOL: (1870..1879) + IDENTIFIER: (1870..1879) "char-ci=?" + ATMOSPHERE: (1879..1880) " " + CONSTANT: (1880..1883) + CHARACTER: (1880..1883) "#\a" + ATMOSPHERE: (1883..1884) " " + CONSTANT: (1884..1887) + CHARACTER: (1884..1887) "#\A" + ATMOSPHERE: (1887..1888) " " + CONSTANT: (1888..1891) + CHARACTER: (1888..1891) "#\a" + CLOSE_PAREN: (1891..1892) ")" + ATMOSPHERE: (1892..1897) " + " + FORM: (1897..1917) + OPEN_PAREN: (1897..1898) "(" + SYMBOL: (1898..1904) + IDENTIFIER: (1898..1904) "char=?" + ATMOSPHERE: (1904..1905) " " + CONSTANT: (1905..1908) + CHARACTER: (1905..1908) "#\λ" + ATMOSPHERE: (1908..1909) " " + CONSTANT: (1909..1912) + CHARACTER: (1909..1912) "#\λ" + ATMOSPHERE: (1912..1913) " " + CONSTANT: (1913..1916) + CHARACTER: (1913..1916) "#\λ" + CLOSE_PAREN: (1916..1917) ")" + ATMOSPHERE: (1917..1922) " + " + FORM: (1922..1945) + OPEN_PAREN: (1922..1923) "(" + SYMBOL: (1923..1932) + IDENTIFIER: (1923..1932) "char-ci=?" + ATMOSPHERE: (1932..1933) " " + CONSTANT: (1933..1936) + CHARACTER: (1933..1936) "#\λ" + ATMOSPHERE: (1936..1937) " " + CONSTANT: (1937..1940) + CHARACTER: (1937..1940) "#\λ" + ATMOSPHERE: (1940..1941) " " + CONSTANT: (1941..1944) + CHARACTER: (1941..1944) "#\λ" + CLOSE_PAREN: (1944..1945) ")" + ATMOSPHERE: (1945..1950) " + " + FORM: (1950..1978) + OPEN_PAREN: (1950..1951) "(" + SYMBOL: (1951..1957) + IDENTIFIER: (1951..1957) "char=?" + ATMOSPHERE: (1957..1958) " " + CONSTANT: (1958..1961) + CHARACTER: (1958..1961) "#\Λ" + ATMOSPHERE: (1961..1962) " " + CONSTANT: (1962..1965) + CHARACTER: (1962..1965) "#\Λ" + ATMOSPHERE: (1965..1966) " " + CONSTANT: (1966..1969) + CHARACTER: (1966..1969) "#\Λ" + ATMOSPHERE: (1969..1970) " " + CONSTANT: (1970..1973) + CHARACTER: (1970..1973) "#\Λ" + ATMOSPHERE: (1973..1974) " " + CONSTANT: (1974..1977) + CHARACTER: (1974..1977) "#\Λ" + CLOSE_PAREN: (1977..1978) ")" + ATMOSPHERE: (1978..1983) " + " + FORM: (1983..2014) + OPEN_PAREN: (1983..1984) "(" + SYMBOL: (1984..1993) + IDENTIFIER: (1984..1993) "char-ci=?" + ATMOSPHERE: (1993..1994) " " + CONSTANT: (1994..1997) + CHARACTER: (1994..1997) "#\Λ" + ATMOSPHERE: (1997..1998) " " + CONSTANT: (1998..2001) + CHARACTER: (1998..2001) "#\Λ" + ATMOSPHERE: (2001..2002) " " + CONSTANT: (2002..2005) + CHARACTER: (2002..2005) "#\Λ" + ATMOSPHERE: (2005..2006) " " + CONSTANT: (2006..2009) + CHARACTER: (2006..2009) "#\Λ" + ATMOSPHERE: (2009..2010) " " + CONSTANT: (2010..2013) + CHARACTER: (2010..2013) "#\Λ" + CLOSE_PAREN: (2013..2014) ")" + ATMOSPHERE: (2014..2019) " + " + FORM: (2019..2053) + OPEN_PAREN: (2019..2020) "(" + SYMBOL: (2020..2023) + IDENTIFIER: (2020..2023) "not" + ATMOSPHERE: (2023..2024) " " + FORM: (2024..2052) + OPEN_PAREN: (2024..2025) "(" + SYMBOL: (2025..2031) + IDENTIFIER: (2025..2031) "char=?" + ATMOSPHERE: (2031..2032) " " + CONSTANT: (2032..2035) + CHARACTER: (2032..2035) "#\Λ" + ATMOSPHERE: (2035..2036) " " + CONSTANT: (2036..2039) + CHARACTER: (2036..2039) "#\λ" + ATMOSPHERE: (2039..2040) " " + CONSTANT: (2040..2043) + CHARACTER: (2040..2043) "#\Λ" + ATMOSPHERE: (2043..2044) " " + CONSTANT: (2044..2047) + CHARACTER: (2044..2047) "#\Λ" + ATMOSPHERE: (2047..2048) " " + CONSTANT: (2048..2051) + CHARACTER: (2048..2051) "#\Λ" + CLOSE_PAREN: (2051..2052) ")" + CLOSE_PAREN: (2052..2053) ")" + ATMOSPHERE: (2053..2058) " + " + FORM: (2058..2089) + OPEN_PAREN: (2058..2059) "(" + SYMBOL: (2059..2068) + IDENTIFIER: (2059..2068) "char-ci=?" + ATMOSPHERE: (2068..2069) " " + CONSTANT: (2069..2072) + CHARACTER: (2069..2072) "#\Λ" + ATMOSPHERE: (2072..2073) " " + CONSTANT: (2073..2076) + CHARACTER: (2073..2076) "#\λ" + ATMOSPHERE: (2076..2077) " " + CONSTANT: (2077..2080) + CHARACTER: (2077..2080) "#\Λ" + ATMOSPHERE: (2080..2081) " " + CONSTANT: (2081..2084) + CHARACTER: (2081..2084) "#\Λ" + ATMOSPHERE: (2084..2085) " " + CONSTANT: (2085..2088) + CHARACTER: (2085..2088) "#\Λ" + CLOSE_PAREN: (2088..2089) ")" + ATMOSPHERE: (2089..2094) " + " + FORM: (2094..2128) + OPEN_PAREN: (2094..2095) "(" + SYMBOL: (2095..2098) + IDENTIFIER: (2095..2098) "not" + ATMOSPHERE: (2098..2099) " " + FORM: (2099..2127) + OPEN_PAREN: (2099..2100) "(" + SYMBOL: (2100..2106) + IDENTIFIER: (2100..2106) "char=?" + ATMOSPHERE: (2106..2107) " " + CONSTANT: (2107..2110) + CHARACTER: (2107..2110) "#\λ" + ATMOSPHERE: (2110..2111) " " + CONSTANT: (2111..2114) + CHARACTER: (2111..2114) "#\λ" + ATMOSPHERE: (2114..2115) " " + CONSTANT: (2115..2118) + CHARACTER: (2115..2118) "#\λ" + ATMOSPHERE: (2118..2119) " " + CONSTANT: (2119..2126) + CHARACTER: (2119..2126) "#\space" + CLOSE_PAREN: (2126..2127) ")" + CLOSE_PAREN: (2127..2128) ")" + ATMOSPHERE: (2128..2133) " + " + FORM: (2133..2170) + OPEN_PAREN: (2133..2134) "(" + SYMBOL: (2134..2137) + IDENTIFIER: (2134..2137) "not" + ATMOSPHERE: (2137..2138) " " + FORM: (2138..2169) + OPEN_PAREN: (2138..2139) "(" + SYMBOL: (2139..2148) + IDENTIFIER: (2139..2148) "char-ci=?" + ATMOSPHERE: (2148..2149) " " + CONSTANT: (2149..2152) + CHARACTER: (2149..2152) "#\λ" + ATMOSPHERE: (2152..2153) " " + CONSTANT: (2153..2156) + CHARACTER: (2153..2156) "#\λ" + ATMOSPHERE: (2156..2157) " " + CONSTANT: (2157..2160) + CHARACTER: (2157..2160) "#\λ" + ATMOSPHERE: (2160..2161) " " + CONSTANT: (2161..2168) + CHARACTER: (2161..2168) "#\space" + CLOSE_PAREN: (2168..2169) ")" + CLOSE_PAREN: (2169..2170) ")" + ATMOSPHERE: (2170..2175) " + " + FORM: (2175..2197) + OPEN_PAREN: (2175..2176) "(" + SYMBOL: (2176..2179) + IDENTIFIER: (2176..2179) "not" + ATMOSPHERE: (2179..2180) " " + FORM: (2180..2196) + OPEN_PAREN: (2180..2181) "(" + SYMBOL: (2181..2187) + IDENTIFIER: (2181..2187) "char=?" + ATMOSPHERE: (2187..2188) " " + CONSTANT: (2188..2191) + CHARACTER: (2188..2191) "#\a" + ATMOSPHERE: (2191..2192) " " + CONSTANT: (2192..2195) + CHARACTER: (2192..2195) "#\λ" + CLOSE_PAREN: (2195..2196) ")" + CLOSE_PAREN: (2196..2197) ")" + ATMOSPHERE: (2197..2202) " + " + FORM: (2202..2227) + OPEN_PAREN: (2202..2203) "(" + SYMBOL: (2203..2206) + IDENTIFIER: (2203..2206) "not" + ATMOSPHERE: (2206..2207) " " + FORM: (2207..2226) + OPEN_PAREN: (2207..2208) "(" + SYMBOL: (2208..2217) + IDENTIFIER: (2208..2217) "char-ci=?" + ATMOSPHERE: (2217..2218) " " + CONSTANT: (2218..2221) + CHARACTER: (2218..2221) "#\a" + ATMOSPHERE: (2221..2222) " " + CONSTANT: (2222..2225) + CHARACTER: (2222..2225) "#\λ" + CLOSE_PAREN: (2225..2226) ")" + CLOSE_PAREN: (2226..2227) ")" + ATMOSPHERE: (2227..2233) " + + " + FORM: (2233..2257) + OPEN_PAREN: (2233..2234) "(" + SYMBOL: (2234..2240) + IDENTIFIER: (2234..2240) "char?" + ATMOSPHERE: (3006..3007) " " + CONSTANT: (3007..3010) + CHARACTER: (3007..3010) "#\a" + ATMOSPHERE: (3010..3011) " " + CONSTANT: (3011..3014) + CHARACTER: (3011..3014) "#\b" + ATMOSPHERE: (3014..3015) " " + CONSTANT: (3015..3018) + CHARACTER: (3015..3018) "#\c" + ATMOSPHERE: (3018..3019) " " + CONSTANT: (3019..3022) + CHARACTER: (3019..3022) "#\d" + CLOSE_PAREN: (3022..3023) ")" + CLOSE_PAREN: (3023..3024) ")" + ATMOSPHERE: (3024..3029) " + " + FORM: (3029..3062) + OPEN_PAREN: (3029..3030) "(" + SYMBOL: (3030..3033) + IDENTIFIER: (3030..3033) "not" + ATMOSPHERE: (3033..3034) " " + FORM: (3034..3061) + OPEN_PAREN: (3034..3035) "(" + SYMBOL: (3035..3044) + IDENTIFIER: (3035..3044) "char-ci>?" + ATMOSPHERE: (3044..3045) " " + CONSTANT: (3045..3048) + CHARACTER: (3045..3048) "#\a" + ATMOSPHERE: (3048..3049) " " + CONSTANT: (3049..3052) + CHARACTER: (3049..3052) "#\b" + ATMOSPHERE: (3052..3053) " " + CONSTANT: (3053..3056) + CHARACTER: (3053..3056) "#\c" + ATMOSPHERE: (3056..3057) " " + CONSTANT: (3057..3060) + CHARACTER: (3057..3060) "#\d" + CLOSE_PAREN: (3060..3061) ")" + CLOSE_PAREN: (3061..3062) ")" + ATMOSPHERE: (3062..3067) " + " + FORM: (3067..3097) + OPEN_PAREN: (3067..3068) "(" + SYMBOL: (3068..3071) + IDENTIFIER: (3068..3071) "not" + ATMOSPHERE: (3071..3072) " " + FORM: (3072..3096) + OPEN_PAREN: (3072..3073) "(" + SYMBOL: (3073..3079) + IDENTIFIER: (3073..3079) "char>?" + ATMOSPHERE: (3079..3080) " " + CONSTANT: (3080..3083) + CHARACTER: (3080..3083) "#\A" + ATMOSPHERE: (3083..3084) " " + CONSTANT: (3084..3087) + CHARACTER: (3084..3087) "#\b" + ATMOSPHERE: (3087..3088) " " + CONSTANT: (3088..3091) + CHARACTER: (3088..3091) "#\c" + ATMOSPHERE: (3091..3092) " " + CONSTANT: (3092..3095) + CHARACTER: (3092..3095) "#\D" + CLOSE_PAREN: (3095..3096) ")" + CLOSE_PAREN: (3096..3097) ")" + ATMOSPHERE: (3097..3102) " + " + FORM: (3102..3135) + OPEN_PAREN: (3102..3103) "(" + SYMBOL: (3103..3106) + IDENTIFIER: (3103..3106) "not" + ATMOSPHERE: (3106..3107) " " + FORM: (3107..3134) + OPEN_PAREN: (3107..3108) "(" + SYMBOL: (3108..3117) + IDENTIFIER: (3108..3117) "char-ci>?" + ATMOSPHERE: (3117..3118) " " + CONSTANT: (3118..3121) + CHARACTER: (3118..3121) "#\A" + ATMOSPHERE: (3121..3122) " " + CONSTANT: (3122..3125) + CHARACTER: (3122..3125) "#\b" + ATMOSPHERE: (3125..3126) " " + CONSTANT: (3126..3129) + CHARACTER: (3126..3129) "#\c" + ATMOSPHERE: (3129..3130) " " + CONSTANT: (3130..3133) + CHARACTER: (3130..3133) "#\D" + CLOSE_PAREN: (3133..3134) ")" + CLOSE_PAREN: (3134..3135) ")" + ATMOSPHERE: (3135..3140) " + " + FORM: (3140..3164) + OPEN_PAREN: (3140..3141) "(" + SYMBOL: (3141..3147) + IDENTIFIER: (3141..3147) "char>?" + ATMOSPHERE: (3147..3148) " " + CONSTANT: (3148..3151) + CHARACTER: (3148..3151) "#\d" + ATMOSPHERE: (3151..3152) " " + CONSTANT: (3152..3155) + CHARACTER: (3152..3155) "#\c" + ATMOSPHERE: (3155..3156) " " + CONSTANT: (3156..3159) + CHARACTER: (3156..3159) "#\b" + ATMOSPHERE: (3159..3160) " " + CONSTANT: (3160..3163) + CHARACTER: (3160..3163) "#\a" + CLOSE_PAREN: (3163..3164) ")" + ATMOSPHERE: (3164..3169) " + " + FORM: (3169..3196) + OPEN_PAREN: (3169..3170) "(" + SYMBOL: (3170..3179) + IDENTIFIER: (3170..3179) "char-ci>?" + ATMOSPHERE: (3179..3180) " " + CONSTANT: (3180..3183) + CHARACTER: (3180..3183) "#\d" + ATMOSPHERE: (3183..3184) " " + CONSTANT: (3184..3187) + CHARACTER: (3184..3187) "#\c" + ATMOSPHERE: (3187..3188) " " + CONSTANT: (3188..3191) + CHARACTER: (3188..3191) "#\b" + ATMOSPHERE: (3191..3192) " " + CONSTANT: (3192..3195) + CHARACTER: (3192..3195) "#\a" + CLOSE_PAREN: (3195..3196) ")" + ATMOSPHERE: (3196..3201) " + " + FORM: (3201..3231) + OPEN_PAREN: (3201..3202) "(" + SYMBOL: (3202..3205) + IDENTIFIER: (3202..3205) "not" + ATMOSPHERE: (3205..3206) " " + FORM: (3206..3230) + OPEN_PAREN: (3206..3207) "(" + SYMBOL: (3207..3213) + IDENTIFIER: (3207..3213) "char>?" + ATMOSPHERE: (3213..3214) " " + CONSTANT: (3214..3217) + CHARACTER: (3214..3217) "#\D" + ATMOSPHERE: (3217..3218) " " + CONSTANT: (3218..3221) + CHARACTER: (3218..3221) "#\c" + ATMOSPHERE: (3221..3222) " " + CONSTANT: (3222..3225) + CHARACTER: (3222..3225) "#\b" + ATMOSPHERE: (3225..3226) " " + CONSTANT: (3226..3229) + CHARACTER: (3226..3229) "#\A" + CLOSE_PAREN: (3229..3230) ")" + CLOSE_PAREN: (3230..3231) ")" + ATMOSPHERE: (3231..3236) " + " + FORM: (3236..3263) + OPEN_PAREN: (3236..3237) "(" + SYMBOL: (3237..3246) + IDENTIFIER: (3237..3246) "char-ci>?" + ATMOSPHERE: (3246..3247) " " + CONSTANT: (3247..3250) + CHARACTER: (3247..3250) "#\D" + ATMOSPHERE: (3250..3251) " " + CONSTANT: (3251..3254) + CHARACTER: (3251..3254) "#\c" + ATMOSPHERE: (3254..3255) " " + CONSTANT: (3255..3258) + CHARACTER: (3255..3258) "#\b" + ATMOSPHERE: (3258..3259) " " + CONSTANT: (3259..3262) + CHARACTER: (3259..3262) "#\A" + CLOSE_PAREN: (3262..3263) ")" + ATMOSPHERE: (3263..3269) " + + " + FORM: (3269..3300) + OPEN_PAREN: (3269..3270) "(" + SYMBOL: (3270..3273) + IDENTIFIER: (3270..3273) "not" + ATMOSPHERE: (3273..3274) " " + FORM: (3274..3299) + OPEN_PAREN: (3274..3275) "(" + SYMBOL: (3275..3282) + IDENTIFIER: (3275..3282) "char>=?" + ATMOSPHERE: (3282..3283) " " + CONSTANT: (3283..3286) + CHARACTER: (3283..3286) "#\a" + ATMOSPHERE: (3286..3287) " " + CONSTANT: (3287..3290) + CHARACTER: (3287..3290) "#\b" + ATMOSPHERE: (3290..3291) " " + CONSTANT: (3291..3294) + CHARACTER: (3291..3294) "#\c" + ATMOSPHERE: (3294..3295) " " + CONSTANT: (3295..3298) + CHARACTER: (3295..3298) "#\d" + CLOSE_PAREN: (3298..3299) ")" + CLOSE_PAREN: (3299..3300) ")" + ATMOSPHERE: (3300..3305) " + " + FORM: (3305..3339) + OPEN_PAREN: (3305..3306) "(" + SYMBOL: (3306..3309) + IDENTIFIER: (3306..3309) "not" + ATMOSPHERE: (3309..3310) " " + FORM: (3310..3338) + OPEN_PAREN: (3310..3311) "(" + SYMBOL: (3311..3321) + IDENTIFIER: (3311..3321) "char-ci>=?" + ATMOSPHERE: (3321..3322) " " + CONSTANT: (3322..3325) + CHARACTER: (3322..3325) "#\a" + ATMOSPHERE: (3325..3326) " " + CONSTANT: (3326..3329) + CHARACTER: (3326..3329) "#\b" + ATMOSPHERE: (3329..3330) " " + CONSTANT: (3330..3333) + CHARACTER: (3330..3333) "#\c" + ATMOSPHERE: (3333..3334) " " + CONSTANT: (3334..3337) + CHARACTER: (3334..3337) "#\d" + CLOSE_PAREN: (3337..3338) ")" + CLOSE_PAREN: (3338..3339) ")" + ATMOSPHERE: (3339..3344) " + " + FORM: (3344..3375) + OPEN_PAREN: (3344..3345) "(" + SYMBOL: (3345..3348) + IDENTIFIER: (3345..3348) "not" + ATMOSPHERE: (3348..3349) " " + FORM: (3349..3374) + OPEN_PAREN: (3349..3350) "(" + SYMBOL: (3350..3357) + IDENTIFIER: (3350..3357) "char>=?" + ATMOSPHERE: (3357..3358) " " + CONSTANT: (3358..3361) + CHARACTER: (3358..3361) "#\A" + ATMOSPHERE: (3361..3362) " " + CONSTANT: (3362..3365) + CHARACTER: (3362..3365) "#\b" + ATMOSPHERE: (3365..3366) " " + CONSTANT: (3366..3369) + CHARACTER: (3366..3369) "#\c" + ATMOSPHERE: (3369..3370) " " + CONSTANT: (3370..3373) + CHARACTER: (3370..3373) "#\D" + CLOSE_PAREN: (3373..3374) ")" + CLOSE_PAREN: (3374..3375) ")" + ATMOSPHERE: (3375..3380) " + " + FORM: (3380..3414) + OPEN_PAREN: (3380..3381) "(" + SYMBOL: (3381..3384) + IDENTIFIER: (3381..3384) "not" + ATMOSPHERE: (3384..3385) " " + FORM: (3385..3413) + OPEN_PAREN: (3385..3386) "(" + SYMBOL: (3386..3396) + IDENTIFIER: (3386..3396) "char-ci>=?" + ATMOSPHERE: (3396..3397) " " + CONSTANT: (3397..3400) + CHARACTER: (3397..3400) "#\A" + ATMOSPHERE: (3400..3401) " " + CONSTANT: (3401..3404) + CHARACTER: (3401..3404) "#\b" + ATMOSPHERE: (3404..3405) " " + CONSTANT: (3405..3408) + CHARACTER: (3405..3408) "#\c" + ATMOSPHERE: (3408..3409) " " + CONSTANT: (3409..3412) + CHARACTER: (3409..3412) "#\D" + CLOSE_PAREN: (3412..3413) ")" + CLOSE_PAREN: (3413..3414) ")" + ATMOSPHERE: (3414..3419) " + " + FORM: (3419..3444) + OPEN_PAREN: (3419..3420) "(" + SYMBOL: (3420..3427) + IDENTIFIER: (3420..3427) "char>=?" + ATMOSPHERE: (3427..3428) " " + CONSTANT: (3428..3431) + CHARACTER: (3428..3431) "#\d" + ATMOSPHERE: (3431..3432) " " + CONSTANT: (3432..3435) + CHARACTER: (3432..3435) "#\c" + ATMOSPHERE: (3435..3436) " " + CONSTANT: (3436..3439) + CHARACTER: (3436..3439) "#\b" + ATMOSPHERE: (3439..3440) " " + CONSTANT: (3440..3443) + CHARACTER: (3440..3443) "#\a" + CLOSE_PAREN: (3443..3444) ")" + ATMOSPHERE: (3444..3449) " + " + FORM: (3449..3477) + OPEN_PAREN: (3449..3450) "(" + SYMBOL: (3450..3460) + IDENTIFIER: (3450..3460) "char-ci>=?" + ATMOSPHERE: (3460..3461) " " + CONSTANT: (3461..3464) + CHARACTER: (3461..3464) "#\d" + ATMOSPHERE: (3464..3465) " " + CONSTANT: (3465..3468) + CHARACTER: (3465..3468) "#\c" + ATMOSPHERE: (3468..3469) " " + CONSTANT: (3469..3472) + CHARACTER: (3469..3472) "#\b" + ATMOSPHERE: (3472..3473) " " + CONSTANT: (3473..3476) + CHARACTER: (3473..3476) "#\a" + CLOSE_PAREN: (3476..3477) ")" + ATMOSPHERE: (3477..3482) " + " + FORM: (3482..3513) + OPEN_PAREN: (3482..3483) "(" + SYMBOL: (3483..3486) + IDENTIFIER: (3483..3486) "not" + ATMOSPHERE: (3486..3487) " " + FORM: (3487..3512) + OPEN_PAREN: (3487..3488) "(" + SYMBOL: (3488..3495) + IDENTIFIER: (3488..3495) "char>=?" + ATMOSPHERE: (3495..3496) " " + CONSTANT: (3496..3499) + CHARACTER: (3496..3499) "#\D" + ATMOSPHERE: (3499..3500) " " + CONSTANT: (3500..3503) + CHARACTER: (3500..3503) "#\c" + ATMOSPHERE: (3503..3504) " " + CONSTANT: (3504..3507) + CHARACTER: (3504..3507) "#\b" + ATMOSPHERE: (3507..3508) " " + CONSTANT: (3508..3511) + CHARACTER: (3508..3511) "#\A" + CLOSE_PAREN: (3511..3512) ")" + CLOSE_PAREN: (3512..3513) ")" + ATMOSPHERE: (3513..3518) " + " + FORM: (3518..3546) + OPEN_PAREN: (3518..3519) "(" + SYMBOL: (3519..3529) + IDENTIFIER: (3519..3529) "char-ci>=?" + ATMOSPHERE: (3529..3530) " " + CONSTANT: (3530..3533) + CHARACTER: (3530..3533) "#\D" + ATMOSPHERE: (3533..3534) " " + CONSTANT: (3534..3537) + CHARACTER: (3534..3537) "#\c" + ATMOSPHERE: (3537..3538) " " + CONSTANT: (3538..3541) + CHARACTER: (3538..3541) "#\b" + ATMOSPHERE: (3541..3542) " " + CONSTANT: (3542..3545) + CHARACTER: (3542..3545) "#\A" + CLOSE_PAREN: (3545..3546) ")" + ATMOSPHERE: (3546..3551) " + " + FORM: (3551..3572) + OPEN_PAREN: (3551..3552) "(" + SYMBOL: (3552..3559) + IDENTIFIER: (3552..3559) "char>=?" + ATMOSPHERE: (3559..3560) " " + CONSTANT: (3560..3563) + CHARACTER: (3560..3563) "#\λ" + ATMOSPHERE: (3563..3564) " " + CONSTANT: (3564..3567) + CHARACTER: (3564..3567) "#\λ" + ATMOSPHERE: (3567..3568) " " + CONSTANT: (3568..3571) + CHARACTER: (3568..3571) "#\λ" + CLOSE_PAREN: (3571..3572) ")" + ATMOSPHERE: (3572..3577) " + " + FORM: (3577..3601) + OPEN_PAREN: (3577..3578) "(" + SYMBOL: (3578..3588) + IDENTIFIER: (3578..3588) "char-ci>=?" + ATMOSPHERE: (3588..3589) " " + CONSTANT: (3589..3592) + CHARACTER: (3589..3592) "#\λ" + ATMOSPHERE: (3592..3593) " " + CONSTANT: (3593..3596) + CHARACTER: (3593..3596) "#\λ" + ATMOSPHERE: (3596..3597) " " + CONSTANT: (3597..3600) + CHARACTER: (3597..3600) "#\λ" + CLOSE_PAREN: (3600..3601) ")" + ATMOSPHERE: (3601..3606) " + " + FORM: (3606..3635) + OPEN_PAREN: (3606..3607) "(" + SYMBOL: (3607..3614) + IDENTIFIER: (3607..3614) "char>=?" + ATMOSPHERE: (3614..3615) " " + CONSTANT: (3615..3618) + CHARACTER: (3615..3618) "#\Λ" + ATMOSPHERE: (3618..3619) " " + CONSTANT: (3619..3622) + CHARACTER: (3619..3622) "#\Λ" + ATMOSPHERE: (3622..3623) " " + CONSTANT: (3623..3626) + CHARACTER: (3623..3626) "#\Λ" + ATMOSPHERE: (3626..3627) " " + CONSTANT: (3627..3630) + CHARACTER: (3627..3630) "#\Λ" + ATMOSPHERE: (3630..3631) " " + CONSTANT: (3631..3634) + CHARACTER: (3631..3634) "#\Λ" + CLOSE_PAREN: (3634..3635) ")" + ATMOSPHERE: (3635..3640) " + " + FORM: (3640..3672) + OPEN_PAREN: (3640..3641) "(" + SYMBOL: (3641..3651) + IDENTIFIER: (3641..3651) "char-ci>=?" + ATMOSPHERE: (3651..3652) " " + CONSTANT: (3652..3655) + CHARACTER: (3652..3655) "#\Λ" + ATMOSPHERE: (3655..3656) " " + CONSTANT: (3656..3659) + CHARACTER: (3656..3659) "#\Λ" + ATMOSPHERE: (3659..3660) " " + CONSTANT: (3660..3663) + CHARACTER: (3660..3663) "#\Λ" + ATMOSPHERE: (3663..3664) " " + CONSTANT: (3664..3667) + CHARACTER: (3664..3667) "#\Λ" + ATMOSPHERE: (3667..3668) " " + CONSTANT: (3668..3671) + CHARACTER: (3668..3671) "#\Λ" + CLOSE_PAREN: (3671..3672) ")" + ATMOSPHERE: (3672..3677) " + " + FORM: (3677..3712) + OPEN_PAREN: (3677..3678) "(" + SYMBOL: (3678..3681) + IDENTIFIER: (3678..3681) "not" + ATMOSPHERE: (3681..3682) " " + FORM: (3682..3711) + OPEN_PAREN: (3682..3683) "(" + SYMBOL: (3683..3690) + IDENTIFIER: (3683..3690) "char>=?" + ATMOSPHERE: (3690..3691) " " + CONSTANT: (3691..3694) + CHARACTER: (3691..3694) "#\Λ" + ATMOSPHERE: (3694..3695) " " + CONSTANT: (3695..3698) + CHARACTER: (3695..3698) "#\λ" + ATMOSPHERE: (3698..3699) " " + CONSTANT: (3699..3702) + CHARACTER: (3699..3702) "#\Λ" + ATMOSPHERE: (3702..3703) " " + CONSTANT: (3703..3706) + CHARACTER: (3703..3706) "#\Λ" + ATMOSPHERE: (3706..3707) " " + CONSTANT: (3707..3710) + CHARACTER: (3707..3710) "#\Λ" + CLOSE_PAREN: (3710..3711) ")" + CLOSE_PAREN: (3711..3712) ")" + ATMOSPHERE: (3712..3717) " + " + FORM: (3717..3749) + OPEN_PAREN: (3717..3718) "(" + SYMBOL: (3718..3728) + IDENTIFIER: (3718..3728) "char-ci>=?" + ATMOSPHERE: (3728..3729) " " + CONSTANT: (3729..3732) + CHARACTER: (3729..3732) "#\Λ" + ATMOSPHERE: (3732..3733) " " + CONSTANT: (3733..3736) + CHARACTER: (3733..3736) "#\λ" + ATMOSPHERE: (3736..3737) " " + CONSTANT: (3737..3740) + CHARACTER: (3737..3740) "#\Λ" + ATMOSPHERE: (3740..3741) " " + CONSTANT: (3741..3744) + CHARACTER: (3741..3744) "#\Λ" + ATMOSPHERE: (3744..3745) " " + CONSTANT: (3745..3748) + CHARACTER: (3745..3748) "#\Λ" + CLOSE_PAREN: (3748..3749) ")" + ATMOSPHERE: (3749..3755) " + + " + CLOSE_PAREN: (3755..3756) ")" + CLOSE_PAREN: (3756..3757) ")" + FORM: (3757..3766) + OPEN_PAREN: (3757..3758) "(" + SYMBOL: (3758..3765) + IDENTIFIER: (3758..3765) "newline" + CLOSE_PAREN: (3765..3766) ")" + ATMOSPHERE: (3766..3768) " + +" + ATMOSPHERE: (3768..3797) ";; Character class predicates" + ATMOSPHERE: (3797..3798) " +" + FORM: (3798..4869) + OPEN_PAREN: (3798..3799) "(" + SYMBOL: (3799..3806) + IDENTIFIER: (3799..3806) "display" + ATMOSPHERE: (3806..3807) " " + FORM: (3807..4868) + OPEN_PAREN: (3807..3808) "(" + SYMBOL: (3808..3817) + IDENTIFIER: (3808..3817) "boolean=?" + ATMOSPHERE: (3817..3822) " + " + CONSTANT: (3822..3824) + BOOLEAN: (3822..3824) "#t" + ATMOSPHERE: (3824..3830) " + + " + FORM: (3830..3852) + OPEN_PAREN: (3830..3831) "(" + SYMBOL: (3831..3847) + IDENTIFIER: (3831..3847) "char-alphabetic?" + ATMOSPHERE: (3847..3848) " " + CONSTANT: (3848..3851) + CHARACTER: (3848..3851) "#\a" + CLOSE_PAREN: (3851..3852) ")" + ATMOSPHERE: (3852..3857) " + " + FORM: (3857..3885) + OPEN_PAREN: (3857..3858) "(" + SYMBOL: (3858..3861) + IDENTIFIER: (3858..3861) "not" + ATMOSPHERE: (3861..3862) " " + FORM: (3862..3884) + OPEN_PAREN: (3862..3863) "(" + SYMBOL: (3863..3879) + IDENTIFIER: (3863..3879) "char-alphabetic?" + ATMOSPHERE: (3879..3880) " " + CONSTANT: (3880..3883) + CHARACTER: (3880..3883) "#\५" + CLOSE_PAREN: (3883..3884) ")" + CLOSE_PAREN: (3884..3885) ")" + ATMOSPHERE: (3885..3890) " + " + FORM: (3890..3912) + OPEN_PAREN: (3890..3891) "(" + SYMBOL: (3891..3907) + IDENTIFIER: (3891..3907) "char-alphabetic?" + ATMOSPHERE: (3907..3908) " " + CONSTANT: (3908..3911) + CHARACTER: (3908..3911) "#\λ" + CLOSE_PAREN: (3911..3912) ")" + ATMOSPHERE: (3912..3917) " + " + FORM: (3917..3948) + OPEN_PAREN: (3917..3918) "(" + SYMBOL: (3918..3921) + IDENTIFIER: (3918..3921) "not" + ATMOSPHERE: (3921..3922) " " + FORM: (3922..3947) + OPEN_PAREN: (3922..3923) "(" + SYMBOL: (3923..3939) + IDENTIFIER: (3923..3939) "char-alphabetic?" + ATMOSPHERE: (3939..3940) " " + CONSTANT: (3940..3946) + CHARACTER: (3940..3946) "#\null" + CLOSE_PAREN: (3946..3947) ")" + CLOSE_PAREN: (3947..3948) ")" + ATMOSPHERE: (3948..3953) " + " + FORM: (3953..3985) + OPEN_PAREN: (3953..3954) "(" + SYMBOL: (3954..3957) + IDENTIFIER: (3954..3957) "not" + ATMOSPHERE: (3957..3958) " " + FORM: (3958..3984) + OPEN_PAREN: (3958..3959) "(" + SYMBOL: (3959..3975) + IDENTIFIER: (3959..3975) "char-alphabetic?" + ATMOSPHERE: (3975..3976) " " + CONSTANT: (3976..3983) + CHARACTER: (3976..3983) "#\space" + CLOSE_PAREN: (3983..3984) ")" + CLOSE_PAREN: (3984..3985) ")" + ATMOSPHERE: (3985..3991) " + + " + FORM: (3991..4016) + OPEN_PAREN: (3991..3992) "(" + SYMBOL: (3992..3995) + IDENTIFIER: (3992..3995) "not" + ATMOSPHERE: (3995..3996) " " + FORM: (3996..4015) + OPEN_PAREN: (3996..3997) "(" + SYMBOL: (3997..4010) + IDENTIFIER: (3997..4010) "char-numeric?" + ATMOSPHERE: (4010..4011) " " + CONSTANT: (4011..4014) + CHARACTER: (4011..4014) "#\a" + CLOSE_PAREN: (4014..4015) ")" + CLOSE_PAREN: (4015..4016) ")" + ATMOSPHERE: (4016..4021) " + " + FORM: (4021..4040) + OPEN_PAREN: (4021..4022) "(" + SYMBOL: (4022..4035) + IDENTIFIER: (4022..4035) "char-numeric?" + ATMOSPHERE: (4035..4036) " " + CONSTANT: (4036..4039) + CHARACTER: (4036..4039) "#\५" + CLOSE_PAREN: (4039..4040) ")" + ATMOSPHERE: (4040..4045) " + " + FORM: (4045..4070) + OPEN_PAREN: (4045..4046) "(" + SYMBOL: (4046..4049) + IDENTIFIER: (4046..4049) "not" + ATMOSPHERE: (4049..4050) " " + FORM: (4050..4069) + OPEN_PAREN: (4050..4051) "(" + SYMBOL: (4051..4064) + IDENTIFIER: (4051..4064) "char-numeric?" + ATMOSPHERE: (4064..4065) " " + CONSTANT: (4065..4068) + CHARACTER: (4065..4068) "#\λ" + CLOSE_PAREN: (4068..4069) ")" + CLOSE_PAREN: (4069..4070) ")" + ATMOSPHERE: (4070..4075) " + " + FORM: (4075..4103) + OPEN_PAREN: (4075..4076) "(" + SYMBOL: (4076..4079) + IDENTIFIER: (4076..4079) "not" + ATMOSPHERE: (4079..4080) " " + FORM: (4080..4102) + OPEN_PAREN: (4080..4081) "(" + SYMBOL: (4081..4094) + IDENTIFIER: (4081..4094) "char-numeric?" + ATMOSPHERE: (4094..4095) " " + CONSTANT: (4095..4101) + CHARACTER: (4095..4101) "#\null" + CLOSE_PAREN: (4101..4102) ")" + CLOSE_PAREN: (4102..4103) ")" + ATMOSPHERE: (4103..4108) " + " + FORM: (4108..4137) + OPEN_PAREN: (4108..4109) "(" + SYMBOL: (4109..4112) + IDENTIFIER: (4109..4112) "not" + ATMOSPHERE: (4112..4113) " " + FORM: (4113..4136) + OPEN_PAREN: (4113..4114) "(" + SYMBOL: (4114..4127) + IDENTIFIER: (4114..4127) "char-numeric?" + ATMOSPHERE: (4127..4128) " " + CONSTANT: (4128..4135) + CHARACTER: (4128..4135) "#\space" + CLOSE_PAREN: (4135..4136) ")" + CLOSE_PAREN: (4136..4137) ")" + ATMOSPHERE: (4137..4143) " + + " + FORM: (4143..4171) + OPEN_PAREN: (4143..4144) "(" + SYMBOL: (4144..4147) + IDENTIFIER: (4144..4147) "not" + ATMOSPHERE: (4147..4148) " " + FORM: (4148..4170) + OPEN_PAREN: (4148..4149) "(" + SYMBOL: (4149..4165) + IDENTIFIER: (4149..4165) "char-whitespace?" + ATMOSPHERE: (4165..4166) " " + CONSTANT: (4166..4169) + CHARACTER: (4166..4169) "#\a" + CLOSE_PAREN: (4169..4170) ")" + CLOSE_PAREN: (4170..4171) ")" + ATMOSPHERE: (4171..4176) " + " + FORM: (4176..4204) + OPEN_PAREN: (4176..4177) "(" + SYMBOL: (4177..4180) + IDENTIFIER: (4177..4180) "not" + ATMOSPHERE: (4180..4181) " " + FORM: (4181..4203) + OPEN_PAREN: (4181..4182) "(" + SYMBOL: (4182..4198) + IDENTIFIER: (4182..4198) "char-whitespace?" + ATMOSPHERE: (4198..4199) " " + CONSTANT: (4199..4202) + CHARACTER: (4199..4202) "#\५" + CLOSE_PAREN: (4202..4203) ")" + CLOSE_PAREN: (4203..4204) ")" + ATMOSPHERE: (4204..4209) " + " + FORM: (4209..4237) + OPEN_PAREN: (4209..4210) "(" + SYMBOL: (4210..4213) + IDENTIFIER: (4210..4213) "not" + ATMOSPHERE: (4213..4214) " " + FORM: (4214..4236) + OPEN_PAREN: (4214..4215) "(" + SYMBOL: (4215..4231) + IDENTIFIER: (4215..4231) "char-whitespace?" + ATMOSPHERE: (4231..4232) " " + CONSTANT: (4232..4235) + CHARACTER: (4232..4235) "#\λ" + CLOSE_PAREN: (4235..4236) ")" + CLOSE_PAREN: (4236..4237) ")" + ATMOSPHERE: (4237..4242) " + " + FORM: (4242..4273) + OPEN_PAREN: (4242..4243) "(" + SYMBOL: (4243..4246) + IDENTIFIER: (4243..4246) "not" + ATMOSPHERE: (4246..4247) " " + FORM: (4247..4272) + OPEN_PAREN: (4247..4248) "(" + SYMBOL: (4248..4264) + IDENTIFIER: (4248..4264) "char-whitespace?" + ATMOSPHERE: (4264..4265) " " + CONSTANT: (4265..4271) + CHARACTER: (4265..4271) "#\null" + CLOSE_PAREN: (4271..4272) ")" + CLOSE_PAREN: (4272..4273) ")" + ATMOSPHERE: (4273..4278) " + " + FORM: (4278..4304) + OPEN_PAREN: (4278..4279) "(" + SYMBOL: (4279..4295) + IDENTIFIER: (4279..4295) "char-whitespace?" + ATMOSPHERE: (4295..4296) " " + CONSTANT: (4296..4303) + CHARACTER: (4296..4303) "#\space" + CLOSE_PAREN: (4303..4304) ")" + ATMOSPHERE: (4304..4309) " + " + FORM: (4309..4333) + OPEN_PAREN: (4309..4310) "(" + SYMBOL: (4310..4326) + IDENTIFIER: (4310..4326) "char-whitespace?" + ATMOSPHERE: (4326..4327) " " + CONSTANT: (4327..4332) + CHARACTER: (4327..4332) "#\tab" + CLOSE_PAREN: (4332..4333) ")" + ATMOSPHERE: (4333..4343) " + + " + FORM: (4343..4371) + OPEN_PAREN: (4343..4344) "(" + SYMBOL: (4344..4347) + IDENTIFIER: (4344..4347) "not" + ATMOSPHERE: (4347..4348) " " + FORM: (4348..4370) + OPEN_PAREN: (4348..4349) "(" + SYMBOL: (4349..4365) + IDENTIFIER: (4349..4365) "char-upper-case?" + ATMOSPHERE: (4365..4366) " " + CONSTANT: (4366..4369) + CHARACTER: (4366..4369) "#\a" + CLOSE_PAREN: (4369..4370) ")" + CLOSE_PAREN: (4370..4371) ")" + ATMOSPHERE: (4371..4376) " + " + FORM: (4376..4398) + OPEN_PAREN: (4376..4377) "(" + SYMBOL: (4377..4393) + IDENTIFIER: (4377..4393) "char-upper-case?" + ATMOSPHERE: (4393..4394) " " + CONSTANT: (4394..4397) + CHARACTER: (4394..4397) "#\A" + CLOSE_PAREN: (4397..4398) ")" + ATMOSPHERE: (4398..4403) " + " + FORM: (4403..4431) + OPEN_PAREN: (4403..4404) "(" + SYMBOL: (4404..4407) + IDENTIFIER: (4404..4407) "not" + ATMOSPHERE: (4407..4408) " " + FORM: (4408..4430) + OPEN_PAREN: (4408..4409) "(" + SYMBOL: (4409..4425) + IDENTIFIER: (4409..4425) "char-upper-case?" + ATMOSPHERE: (4425..4426) " " + CONSTANT: (4426..4429) + CHARACTER: (4426..4429) "#\५" + CLOSE_PAREN: (4429..4430) ")" + CLOSE_PAREN: (4430..4431) ")" + ATMOSPHERE: (4431..4436) " + " + FORM: (4436..4464) + OPEN_PAREN: (4436..4437) "(" + SYMBOL: (4437..4440) + IDENTIFIER: (4437..4440) "not" + ATMOSPHERE: (4440..4441) " " + FORM: (4441..4463) + OPEN_PAREN: (4441..4442) "(" + SYMBOL: (4442..4458) + IDENTIFIER: (4442..4458) "char-upper-case?" + ATMOSPHERE: (4458..4459) " " + CONSTANT: (4459..4462) + CHARACTER: (4459..4462) "#\λ" + CLOSE_PAREN: (4462..4463) ")" + CLOSE_PAREN: (4463..4464) ")" + ATMOSPHERE: (4464..4469) " + " + FORM: (4469..4491) + OPEN_PAREN: (4469..4470) "(" + SYMBOL: (4470..4486) + IDENTIFIER: (4470..4486) "char-upper-case?" + ATMOSPHERE: (4486..4487) " " + CONSTANT: (4487..4490) + CHARACTER: (4487..4490) "#\Λ" + CLOSE_PAREN: (4490..4491) ")" + ATMOSPHERE: (4491..4496) " + " + FORM: (4496..4527) + OPEN_PAREN: (4496..4497) "(" + SYMBOL: (4497..4500) + IDENTIFIER: (4497..4500) "not" + ATMOSPHERE: (4500..4501) " " + FORM: (4501..4526) + OPEN_PAREN: (4501..4502) "(" + SYMBOL: (4502..4518) + IDENTIFIER: (4502..4518) "char-upper-case?" + ATMOSPHERE: (4518..4519) " " + CONSTANT: (4519..4525) + CHARACTER: (4519..4525) "#\null" + CLOSE_PAREN: (4525..4526) ")" + CLOSE_PAREN: (4526..4527) ")" + ATMOSPHERE: (4527..4532) " + " + FORM: (4532..4564) + OPEN_PAREN: (4532..4533) "(" + SYMBOL: (4533..4536) + IDENTIFIER: (4533..4536) "not" + ATMOSPHERE: (4536..4537) " " + FORM: (4537..4563) + OPEN_PAREN: (4537..4538) "(" + SYMBOL: (4538..4554) + IDENTIFIER: (4538..4554) "char-upper-case?" + ATMOSPHERE: (4554..4555) " " + CONSTANT: (4555..4562) + CHARACTER: (4555..4562) "#\space" + CLOSE_PAREN: (4562..4563) ")" + CLOSE_PAREN: (4563..4564) ")" + ATMOSPHERE: (4564..4569) " + " + FORM: (4569..4599) + OPEN_PAREN: (4569..4570) "(" + SYMBOL: (4570..4573) + IDENTIFIER: (4570..4573) "not" + ATMOSPHERE: (4573..4574) " " + FORM: (4574..4598) + OPEN_PAREN: (4574..4575) "(" + SYMBOL: (4575..4591) + IDENTIFIER: (4575..4591) "char-upper-case?" + ATMOSPHERE: (4591..4592) " " + CONSTANT: (4592..4597) + CHARACTER: (4592..4597) "#\tab" + CLOSE_PAREN: (4597..4598) ")" + CLOSE_PAREN: (4598..4599) ")" + ATMOSPHERE: (4599..4605) " + + " + FORM: (4605..4627) + OPEN_PAREN: (4605..4606) "(" + SYMBOL: (4606..4622) + IDENTIFIER: (4606..4622) "char-lower-case?" + ATMOSPHERE: (4622..4623) " " + CONSTANT: (4623..4626) + CHARACTER: (4623..4626) "#\a" + CLOSE_PAREN: (4626..4627) ")" + ATMOSPHERE: (4627..4632) " + " + FORM: (4632..4660) + OPEN_PAREN: (4632..4633) "(" + SYMBOL: (4633..4636) + IDENTIFIER: (4633..4636) "not" + ATMOSPHERE: (4636..4637) " " + FORM: (4637..4659) + OPEN_PAREN: (4637..4638) "(" + SYMBOL: (4638..4654) + IDENTIFIER: (4638..4654) "char-lower-case?" + ATMOSPHERE: (4654..4655) " " + CONSTANT: (4655..4658) + CHARACTER: (4655..4658) "#\A" + CLOSE_PAREN: (4658..4659) ")" + CLOSE_PAREN: (4659..4660) ")" + ATMOSPHERE: (4660..4665) " + " + FORM: (4665..4693) + OPEN_PAREN: (4665..4666) "(" + SYMBOL: (4666..4669) + IDENTIFIER: (4666..4669) "not" + ATMOSPHERE: (4669..4670) " " + FORM: (4670..4692) + OPEN_PAREN: (4670..4671) "(" + SYMBOL: (4671..4687) + IDENTIFIER: (4671..4687) "char-lower-case?" + ATMOSPHERE: (4687..4688) " " + CONSTANT: (4688..4691) + CHARACTER: (4688..4691) "#\५" + CLOSE_PAREN: (4691..4692) ")" + CLOSE_PAREN: (4692..4693) ")" + ATMOSPHERE: (4693..4698) " + " + FORM: (4698..4720) + OPEN_PAREN: (4698..4699) "(" + SYMBOL: (4699..4715) + IDENTIFIER: (4699..4715) "char-lower-case?" + ATMOSPHERE: (4715..4716) " " + CONSTANT: (4716..4719) + CHARACTER: (4716..4719) "#\λ" + CLOSE_PAREN: (4719..4720) ")" + ATMOSPHERE: (4720..4725) " + " + FORM: (4725..4753) + OPEN_PAREN: (4725..4726) "(" + SYMBOL: (4726..4729) + IDENTIFIER: (4726..4729) "not" + ATMOSPHERE: (4729..4730) " " + FORM: (4730..4752) + OPEN_PAREN: (4730..4731) "(" + SYMBOL: (4731..4747) + IDENTIFIER: (4731..4747) "char-lower-case?" + ATMOSPHERE: (4747..4748) " " + CONSTANT: (4748..4751) + CHARACTER: (4748..4751) "#\Λ" + CLOSE_PAREN: (4751..4752) ")" + CLOSE_PAREN: (4752..4753) ")" + ATMOSPHERE: (4753..4758) " + " + FORM: (4758..4789) + OPEN_PAREN: (4758..4759) "(" + SYMBOL: (4759..4762) + IDENTIFIER: (4759..4762) "not" + ATMOSPHERE: (4762..4763) " " + FORM: (4763..4788) + OPEN_PAREN: (4763..4764) "(" + SYMBOL: (4764..4780) + IDENTIFIER: (4764..4780) "char-lower-case?" + ATMOSPHERE: (4780..4781) " " + CONSTANT: (4781..4787) + CHARACTER: (4781..4787) "#\null" + CLOSE_PAREN: (4787..4788) ")" + CLOSE_PAREN: (4788..4789) ")" + ATMOSPHERE: (4789..4794) " + " + FORM: (4794..4826) + OPEN_PAREN: (4794..4795) "(" + SYMBOL: (4795..4798) + IDENTIFIER: (4795..4798) "not" + ATMOSPHERE: (4798..4799) " " + FORM: (4799..4825) + OPEN_PAREN: (4799..4800) "(" + SYMBOL: (4800..4816) + IDENTIFIER: (4800..4816) "char-lower-case?" + ATMOSPHERE: (4816..4817) " " + CONSTANT: (4817..4824) + CHARACTER: (4817..4824) "#\space" + CLOSE_PAREN: (4824..4825) ")" + CLOSE_PAREN: (4825..4826) ")" + ATMOSPHERE: (4826..4831) " + " + FORM: (4831..4861) + OPEN_PAREN: (4831..4832) "(" + SYMBOL: (4832..4835) + IDENTIFIER: (4832..4835) "not" + ATMOSPHERE: (4835..4836) " " + FORM: (4836..4860) + OPEN_PAREN: (4836..4837) "(" + SYMBOL: (4837..4853) + IDENTIFIER: (4837..4853) "char-lower-case?" + ATMOSPHERE: (4853..4854) " " + CONSTANT: (4854..4859) + CHARACTER: (4854..4859) "#\tab" + CLOSE_PAREN: (4859..4860) ")" + CLOSE_PAREN: (4860..4861) ")" + ATMOSPHERE: (4861..4867) " + + " + CLOSE_PAREN: (4867..4868) ")" + CLOSE_PAREN: (4868..4869) ")" + ATMOSPHERE: (4869..4871) " + +" + ATMOSPHERE: (4871..4891) ";; casing transforms" + ATMOSPHERE: (4891..4892) " +" + FORM: (4892..5346) + OPEN_PAREN: (4892..4893) "(" + SYMBOL: (4893..4900) + IDENTIFIER: (4893..4900) "display" + ATMOSPHERE: (4900..4901) " " + FORM: (4901..5345) + OPEN_PAREN: (4901..4902) "(" + SYMBOL: (4902..4906) + IDENTIFIER: (4902..4906) "list" + ATMOSPHERE: (4906..4911) " + " + FORM: (4911..4928) + OPEN_PAREN: (4911..4912) "(" + SYMBOL: (4912..4923) + IDENTIFIER: (4912..4923) "char-upcase" + ATMOSPHERE: (4923..4924) " " + CONSTANT: (4924..4927) + CHARACTER: (4924..4927) "#\a" + CLOSE_PAREN: (4927..4928) ")" + ATMOSPHERE: (4928..4933) " + " + FORM: (4933..4950) + OPEN_PAREN: (4933..4934) "(" + SYMBOL: (4934..4945) + IDENTIFIER: (4934..4945) "char-upcase" + ATMOSPHERE: (4945..4946) " " + CONSTANT: (4946..4949) + CHARACTER: (4946..4949) "#\A" + CLOSE_PAREN: (4949..4950) ")" + ATMOSPHERE: (4950..4955) " + " + FORM: (4955..4972) + OPEN_PAREN: (4955..4956) "(" + SYMBOL: (4956..4967) + IDENTIFIER: (4956..4967) "char-upcase" + ATMOSPHERE: (4967..4968) " " + CONSTANT: (4968..4971) + CHARACTER: (4968..4971) "#\५" + CLOSE_PAREN: (4971..4972) ")" + ATMOSPHERE: (4972..4977) " + " + FORM: (4977..4994) + OPEN_PAREN: (4977..4978) "(" + SYMBOL: (4978..4989) + IDENTIFIER: (4978..4989) "char-upcase" + ATMOSPHERE: (4989..4990) " " + CONSTANT: (4990..4993) + CHARACTER: (4990..4993) "#\λ" + CLOSE_PAREN: (4993..4994) ")" + ATMOSPHERE: (4994..4999) " + " + FORM: (4999..5019) + OPEN_PAREN: (4999..5000) "(" + SYMBOL: (5000..5011) + IDENTIFIER: (5000..5011) "char-upcase" + ATMOSPHERE: (5011..5012) " " + CONSTANT: (5012..5018) + CHARACTER: (5012..5018) "#\null" + CLOSE_PAREN: (5018..5019) ")" + ATMOSPHERE: (5019..5024) " + " + FORM: (5024..5045) + OPEN_PAREN: (5024..5025) "(" + SYMBOL: (5025..5036) + IDENTIFIER: (5025..5036) "char-upcase" + ATMOSPHERE: (5036..5037) " " + CONSTANT: (5037..5044) + CHARACTER: (5037..5044) "#\space" + CLOSE_PAREN: (5044..5045) ")" + ATMOSPHERE: (5045..5050) " + " + FORM: (5050..5069) + OPEN_PAREN: (5050..5051) "(" + SYMBOL: (5051..5064) + IDENTIFIER: (5051..5064) "char-downcase" + ATMOSPHERE: (5064..5065) " " + CONSTANT: (5065..5068) + CHARACTER: (5065..5068) "#\a" + CLOSE_PAREN: (5068..5069) ")" + ATMOSPHERE: (5069..5074) " + " + FORM: (5074..5093) + OPEN_PAREN: (5074..5075) "(" + SYMBOL: (5075..5088) + IDENTIFIER: (5075..5088) "char-downcase" + ATMOSPHERE: (5088..5089) " " + CONSTANT: (5089..5092) + CHARACTER: (5089..5092) "#\A" + CLOSE_PAREN: (5092..5093) ")" + ATMOSPHERE: (5093..5098) " + " + FORM: (5098..5117) + OPEN_PAREN: (5098..5099) "(" + SYMBOL: (5099..5112) + IDENTIFIER: (5099..5112) "char-downcase" + ATMOSPHERE: (5112..5113) " " + CONSTANT: (5113..5116) + CHARACTER: (5113..5116) "#\५" + CLOSE_PAREN: (5116..5117) ")" + ATMOSPHERE: (5117..5122) " + " + FORM: (5122..5141) + OPEN_PAREN: (5122..5123) "(" + SYMBOL: (5123..5136) + IDENTIFIER: (5123..5136) "char-downcase" + ATMOSPHERE: (5136..5137) " " + CONSTANT: (5137..5140) + CHARACTER: (5137..5140) "#\Λ" + CLOSE_PAREN: (5140..5141) ")" + ATMOSPHERE: (5141..5146) " + " + FORM: (5146..5166) + OPEN_PAREN: (5146..5147) "(" + SYMBOL: (5147..5158) + IDENTIFIER: (5147..5158) "char-upcase" + ATMOSPHERE: (5158..5159) " " + CONSTANT: (5159..5165) + CHARACTER: (5159..5165) "#\null" + CLOSE_PAREN: (5165..5166) ")" + ATMOSPHERE: (5166..5171) " + " + FORM: (5171..5192) + OPEN_PAREN: (5171..5172) "(" + SYMBOL: (5172..5183) + IDENTIFIER: (5172..5183) "char-upcase" + ATMOSPHERE: (5183..5184) " " + CONSTANT: (5184..5191) + CHARACTER: (5184..5191) "#\space" + CLOSE_PAREN: (5191..5192) ")" + ATMOSPHERE: (5192..5197) " + " + FORM: (5197..5216) + OPEN_PAREN: (5197..5198) "(" + SYMBOL: (5198..5211) + IDENTIFIER: (5198..5211) "char-foldcase" + ATMOSPHERE: (5211..5212) " " + CONSTANT: (5212..5215) + CHARACTER: (5212..5215) "#\a" + CLOSE_PAREN: (5215..5216) ")" + ATMOSPHERE: (5216..5221) " + " + FORM: (5221..5240) + OPEN_PAREN: (5221..5222) "(" + SYMBOL: (5222..5235) + IDENTIFIER: (5222..5235) "char-foldcase" + ATMOSPHERE: (5235..5236) " " + CONSTANT: (5236..5239) + CHARACTER: (5236..5239) "#\A" + CLOSE_PAREN: (5239..5240) ")" + ATMOSPHERE: (5240..5245) " + " + FORM: (5245..5264) + OPEN_PAREN: (5245..5246) "(" + SYMBOL: (5246..5259) + IDENTIFIER: (5246..5259) "char-foldcase" + ATMOSPHERE: (5259..5260) " " + CONSTANT: (5260..5263) + CHARACTER: (5260..5263) "#\५" + CLOSE_PAREN: (5263..5264) ")" + ATMOSPHERE: (5264..5269) " + " + FORM: (5269..5288) + OPEN_PAREN: (5269..5270) "(" + SYMBOL: (5270..5283) + IDENTIFIER: (5270..5283) "char-foldcase" + ATMOSPHERE: (5283..5284) " " + CONSTANT: (5284..5287) + CHARACTER: (5284..5287) "#\Λ" + CLOSE_PAREN: (5287..5288) ")" + ATMOSPHERE: (5288..5293) " + " + FORM: (5293..5313) + OPEN_PAREN: (5293..5294) "(" + SYMBOL: (5294..5305) + IDENTIFIER: (5294..5305) "char-upcase" + ATMOSPHERE: (5305..5306) " " + CONSTANT: (5306..5312) + CHARACTER: (5306..5312) "#\null" + CLOSE_PAREN: (5312..5313) ")" + ATMOSPHERE: (5313..5318) " + " + FORM: (5318..5339) + OPEN_PAREN: (5318..5319) "(" + SYMBOL: (5319..5330) + IDENTIFIER: (5319..5330) "char-upcase" + ATMOSPHERE: (5330..5331) " " + CONSTANT: (5331..5338) + CHARACTER: (5331..5338) "#\space" + CLOSE_PAREN: (5338..5339) ")" + ATMOSPHERE: (5339..5344) " + " + CLOSE_PAREN: (5344..5345) ")" + CLOSE_PAREN: (5345..5346) ")" + ATMOSPHERE: (5346..5347) " +" + EOF: (5347..5347) "" diff --git a/spec/chibi-r7rs-tests.ast b/spec/chibi-r7rs-tests.ast new file mode 100644 index 0000000..2057f7e --- /dev/null +++ b/spec/chibi-r7rs-tests.ast @@ -0,0 +1,16808 @@ +PROGRAM: (0..79716) + ATMOSPHERE: (0..24) ";; -*- coding: utf-8 -*-" + ATMOSPHERE: (24..26) " + +" + ATMOSPHERE: (26..99) ";;;;; This file is a modified version of the Chibi Scheme R7RS Test Suite" + ATMOSPHERE: (99..100) " +" + ATMOSPHERE: (100..102) ";;" + ATMOSPHERE: (102..103) " +" + ATMOSPHERE: (103..180) ";; Check out Chibi Scheme on GitHub: " + ATMOSPHERE: (180..182) " + +" + ATMOSPHERE: (182..218) "; Copyright (c) 2009-2018 Alex Shinn" + ATMOSPHERE: (218..219) " +" + ATMOSPHERE: (219..241) "; All rights reserved." + ATMOSPHERE: (241..243) " + +" + ATMOSPHERE: (243..311) "; Redistribution and use in source and binary forms, with or without" + ATMOSPHERE: (311..312) " +" + ATMOSPHERE: (312..380) "; modification, are permitted provided that the following conditions" + ATMOSPHERE: (380..381) " +" + ATMOSPHERE: (381..391) "; are met:" + ATMOSPHERE: (391..392) " +" + ATMOSPHERE: (392..459) "; 1. Redistributions of source code must retain the above copyright" + ATMOSPHERE: (459..460) " +" + ATMOSPHERE: (460..526) "; notice, this list of conditions and the following disclaimer." + ATMOSPHERE: (526..527) " +" + ATMOSPHERE: (527..597) "; 2. Redistributions in binary form must reproduce the above copyright" + ATMOSPHERE: (597..598) " +" + ATMOSPHERE: (598..670) "; notice, this list of conditions and the following disclaimer in the" + ATMOSPHERE: (670..671) " +" + ATMOSPHERE: (671..744) "; documentation and/or other materials provided with the distribution." + ATMOSPHERE: (744..745) " +" + ATMOSPHERE: (745..819) "; 3. The name of the author may not be used to endorse or promote products" + ATMOSPHERE: (819..820) " +" + ATMOSPHERE: (820..894) "; derived from this software without specific prior written permission." + ATMOSPHERE: (894..896) " + +" + ATMOSPHERE: (896..966) "; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR" + ATMOSPHERE: (966..967) " +" + ATMOSPHERE: (967..1042) "; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES" + ATMOSPHERE: (1042..1043) " +" + ATMOSPHERE: (1043..1116) "; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED." + ATMOSPHERE: (1116..1117) " +" + ATMOSPHERE: (1117..1183) "; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT," + ATMOSPHERE: (1183..1184) " +" + ATMOSPHERE: (1184..1258) "; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT" + ATMOSPHERE: (1258..1259) " +" + ATMOSPHERE: (1259..1334) "; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE," + ATMOSPHERE: (1334..1335) " +" + ATMOSPHERE: (1335..1406) "; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY" + ATMOSPHERE: (1406..1407) " +" + ATMOSPHERE: (1407..1476) "; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT" + ATMOSPHERE: (1476..1477) " +" + ATMOSPHERE: (1477..1551) "; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF" + ATMOSPHERE: (1551..1552) " +" + ATMOSPHERE: (1552..1619) "; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + ATMOSPHERE: (1619..1621) " + +" + FORM: (1621..2109) + OPEN_PAREN: (1621..1622) "(" + SYMBOL: (1622..1628) + IDENTIFIER: (1622..1628) "import" + ATMOSPHERE: (1628..1629) " " + FORM: (1629..1642) + OPEN_PAREN: (1629..1630) "(" + SYMBOL: (1630..1636) + IDENTIFIER: (1630..1636) "scheme" + ATMOSPHERE: (1636..1637) " " + SYMBOL: (1637..1641) + IDENTIFIER: (1637..1641) "base" + CLOSE_PAREN: (1641..1642) ")" + ATMOSPHERE: (1642..1647) " + " + ATMOSPHERE: (1647..1714) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" + ATMOSPHERE: (1714..1719) " + " + ATMOSPHERE: (1719..1783) ";; exporting or re-exporting macro definitions currently." + ATMOSPHERE: (1783..1788) " + " + FORM: (1788..1812) + OPEN_PAREN: (1788..1789) "(" + SYMBOL: (1789..1796) + IDENTIFIER: (1789..1796) "feersum" + ATMOSPHERE: (1796..1797) " " + SYMBOL: (1797..1804) + IDENTIFIER: (1797..1804) "builtin" + ATMOSPHERE: (1804..1805) " " + SYMBOL: (1805..1811) + IDENTIFIER: (1805..1811) "macros" + CLOSE_PAREN: (1811..1812) ")" + ATMOSPHERE: (1812..1813) " +" + ATMOSPHERE: (1813..1848) ";; (scheme char) (scheme lazy)" + ATMOSPHERE: (1848..1849) " +" + ATMOSPHERE: (1849..1907) ";; (scheme inexact) (scheme complex) (scheme time)" + ATMOSPHERE: (1907..1908) " +" + ATMOSPHERE: (1908..1946) ";; (scheme file) (scheme read)" + ATMOSPHERE: (1946..1949) " + " + FORM: (1949..1963) + OPEN_PAREN: (1949..1950) "(" + SYMBOL: (1950..1956) + IDENTIFIER: (1950..1956) "scheme" + ATMOSPHERE: (1956..1957) " " + SYMBOL: (1957..1962) + IDENTIFIER: (1957..1962) "write" + CLOSE_PAREN: (1962..1963) ")" + ATMOSPHERE: (1963..1964) " +" + ATMOSPHERE: (1964..2034) ";; (scheme eval) (scheme process-context) (scheme case-lambda)" + ATMOSPHERE: (2034..2035) " +" + ATMOSPHERE: (2035..2059) ";; (scheme r5rs)" + ATMOSPHERE: (2059..2060) " +" + ATMOSPHERE: (2060..2099) ";; (chibi test) ; or (srfi 64)" + ATMOSPHERE: (2099..2108) " + " + CLOSE_PAREN: (2108..2109) ")" + ATMOSPHERE: (2109..2111) " + +" + ATMOSPHERE: (2111..2177) ";; R7RS test suite. Covers all procedures and syntax in the small" + ATMOSPHERE: (2177..2178) " +" + ATMOSPHERE: (2178..2243) ";; language except `delete-file'. Currently assumes full-unicode" + ATMOSPHERE: (2243..2244) " +" + ATMOSPHERE: (2244..2305) ";; support, the full numeric tower and all standard libraries" + ATMOSPHERE: (2305..2306) " +" + ATMOSPHERE: (2306..2318) ";; provided." + ATMOSPHERE: (2318..2319) " +" + ATMOSPHERE: (2319..2321) ";;" + ATMOSPHERE: (2321..2322) " +" + ATMOSPHERE: (2322..2389) ";; Uses the (chibi test) library which is written in portable R7RS." + ATMOSPHERE: (2389..2390) " +" + ATMOSPHERE: (2390..2459) ";; This is mostly a subset of SRFI-64, providing test-begin, test-end" + ATMOSPHERE: (2459..2460) " +" + ATMOSPHERE: (2460..2514) ";; and test, which could be defined as something like:" + ATMOSPHERE: (2514..2515) " +" + ATMOSPHERE: (2515..2517) ";;" + ATMOSPHERE: (2517..2518) " +" + FORM: (2518..2541) + OPEN_PAREN: (2518..2519) "(" + SYMBOL: (2519..2525) + IDENTIFIER: (2519..2525) "define" + ATMOSPHERE: (2525..2526) " " + SYMBOL: (2526..2538) + IDENTIFIER: (2526..2538) "indent-level" + ATMOSPHERE: (2538..2539) " " + CONSTANT: (2539..2540) + NUMBER: (2539..2540) "0" + CLOSE_PAREN: (2540..2541) ")" + ATMOSPHERE: (2541..2542) " +" + FORM: (2542..2678) + OPEN_PAREN: (2542..2543) "(" + SYMBOL: (2543..2549) + IDENTIFIER: (2543..2549) "define" + ATMOSPHERE: (2549..2550) " " + FORM: (2550..2558) + OPEN_PAREN: (2550..2551) "(" + SYMBOL: (2551..2557) + IDENTIFIER: (2551..2557) "indent" + CLOSE_PAREN: (2557..2558) ")" + ATMOSPHERE: (2558..2561) " + " + FORM: (2561..2650) + OPEN_PAREN: (2561..2562) "(" + SYMBOL: (2562..2568) + IDENTIFIER: (2562..2568) "define" + ATMOSPHERE: (2568..2569) " " + FORM: (2569..2582) + OPEN_PAREN: (2569..2570) "(" + SYMBOL: (2570..2579) + IDENTIFIER: (2570..2579) "do-indent" + ATMOSPHERE: (2579..2580) " " + SYMBOL: (2580..2581) + IDENTIFIER: (2580..2581) "n" + CLOSE_PAREN: (2581..2582) ")" + ATMOSPHERE: (2582..2584) " + " + FORM: (2584..2649) + OPEN_PAREN: (2584..2585) "(" + SYMBOL: (2585..2587) + IDENTIFIER: (2585..2587) "if" + ATMOSPHERE: (2587..2588) " " + FORM: (2588..2595) + OPEN_PAREN: (2588..2589) "(" + SYMBOL: (2589..2590) + IDENTIFIER: (2589..2590) ">" + ATMOSPHERE: (2590..2591) " " + SYMBOL: (2591..2592) + IDENTIFIER: (2591..2592) "n" + ATMOSPHERE: (2592..2593) " " + CONSTANT: (2593..2594) + NUMBER: (2593..2594) "0" + CLOSE_PAREN: (2594..2595) ")" + ATMOSPHERE: (2595..2598) " + " + FORM: (2598..2648) + OPEN_PAREN: (2598..2599) "(" + SYMBOL: (2599..2604) + IDENTIFIER: (2599..2604) "begin" + ATMOSPHERE: (2604..2609) " + " + FORM: (2609..2623) + OPEN_PAREN: (2609..2610) "(" + SYMBOL: (2610..2617) + IDENTIFIER: (2610..2617) "display" + ATMOSPHERE: (2617..2618) " " + CONSTANT: (2618..2622) + STRING: (2618..2622) ""\t"" + CLOSE_PAREN: (2622..2623) ")" + ATMOSPHERE: (2623..2628) " + " + FORM: (2628..2647) + OPEN_PAREN: (2628..2629) "(" + SYMBOL: (2629..2638) + IDENTIFIER: (2629..2638) "do-indent" + ATMOSPHERE: (2638..2639) " " + FORM: (2639..2646) + OPEN_PAREN: (2639..2640) "(" + SYMBOL: (2640..2641) + IDENTIFIER: (2640..2641) "-" + ATMOSPHERE: (2641..2642) " " + SYMBOL: (2642..2643) + IDENTIFIER: (2642..2643) "n" + ATMOSPHERE: (2643..2644) " " + CONSTANT: (2644..2645) + NUMBER: (2644..2645) "1" + CLOSE_PAREN: (2645..2646) ")" + CLOSE_PAREN: (2646..2647) ")" + CLOSE_PAREN: (2647..2648) ")" + CLOSE_PAREN: (2648..2649) ")" + CLOSE_PAREN: (2649..2650) ")" + ATMOSPHERE: (2650..2653) " + " + FORM: (2653..2677) + OPEN_PAREN: (2653..2654) "(" + SYMBOL: (2654..2663) + IDENTIFIER: (2654..2663) "do-indent" + ATMOSPHERE: (2663..2664) " " + SYMBOL: (2664..2676) + IDENTIFIER: (2664..2676) "indent-level" + CLOSE_PAREN: (2676..2677) ")" + CLOSE_PAREN: (2677..2678) ")" + ATMOSPHERE: (2678..2680) " + +" + FORM: (2680..2696) + OPEN_PAREN: (2680..2681) "(" + SYMBOL: (2681..2687) + IDENTIFIER: (2681..2687) "define" + ATMOSPHERE: (2687..2688) " " + SYMBOL: (2688..2693) + IDENTIFIER: (2688..2693) "tests" + ATMOSPHERE: (2693..2694) " " + CONSTANT: (2694..2695) + NUMBER: (2694..2695) "0" + CLOSE_PAREN: (2695..2696) ")" + FORM: (2696..2712) + OPEN_PAREN: (2696..2697) "(" + SYMBOL: (2697..2703) + IDENTIFIER: (2697..2703) "define" + ATMOSPHERE: (2703..2704) " " + SYMBOL: (2704..2709) + IDENTIFIER: (2704..2709) "fails" + ATMOSPHERE: (2709..2710) " " + CONSTANT: (2710..2711) + NUMBER: (2710..2711) "0" + CLOSE_PAREN: (2711..2712) ")" + ATMOSPHERE: (2712..2713) " +" + FORM: (2713..2834) + OPEN_PAREN: (2713..2714) "(" + SYMBOL: (2714..2720) + IDENTIFIER: (2714..2720) "define" + ATMOSPHERE: (2720..2721) " " + FORM: (2721..2737) + OPEN_PAREN: (2721..2722) "(" + SYMBOL: (2722..2732) + IDENTIFIER: (2722..2732) "test-begin" + ATMOSPHERE: (2732..2733) " " + DOTTED_TAIL: (2733..2736) + DOT: (2733..2734) "." + ATMOSPHERE: (2734..2735) " " + SYMBOL: (2735..2736) + IDENTIFIER: (2735..2736) "o" + CLOSE_PAREN: (2736..2737) ")" + ATMOSPHERE: (2737..2740) " + " + FORM: (2740..2756) + OPEN_PAREN: (2740..2741) "(" + SYMBOL: (2741..2748) + IDENTIFIER: (2741..2748) "display" + ATMOSPHERE: (2748..2749) " " + CONSTANT: (2749..2755) + STRING: (2749..2755) ""### "" + CLOSE_PAREN: (2755..2756) ")" + FORM: (2756..2767) + OPEN_PAREN: (2756..2757) "(" + SYMBOL: (2757..2764) + IDENTIFIER: (2757..2764) "display" + ATMOSPHERE: (2764..2765) " " + SYMBOL: (2765..2766) + IDENTIFIER: (2765..2766) "o" + CLOSE_PAREN: (2766..2767) ")" + FORM: (2767..2776) + OPEN_PAREN: (2767..2768) "(" + SYMBOL: (2768..2775) + IDENTIFIER: (2768..2775) "newline" + CLOSE_PAREN: (2775..2776) ")" + ATMOSPHERE: (2776..2779) " + " + FORM: (2779..2817) + OPEN_PAREN: (2779..2780) "(" + SYMBOL: (2780..2784) + IDENTIFIER: (2780..2784) "set!" + ATMOSPHERE: (2784..2785) " " + SYMBOL: (2785..2797) + IDENTIFIER: (2785..2797) "indent-level" + ATMOSPHERE: (2797..2798) " " + FORM: (2798..2816) + OPEN_PAREN: (2798..2799) "(" + SYMBOL: (2799..2800) + IDENTIFIER: (2799..2800) "+" + ATMOSPHERE: (2800..2801) " " + SYMBOL: (2801..2813) + IDENTIFIER: (2801..2813) "indent-level" + ATMOSPHERE: (2813..2814) " " + CONSTANT: (2814..2815) + NUMBER: (2814..2815) "1" + CLOSE_PAREN: (2815..2816) ")" + CLOSE_PAREN: (2816..2817) ")" + ATMOSPHERE: (2817..2820) " + " + FORM: (2820..2828) + OPEN_PAREN: (2820..2821) "(" + SYMBOL: (2821..2827) + IDENTIFIER: (2821..2827) "indent" + CLOSE_PAREN: (2827..2828) ")" + ATMOSPHERE: (2828..2831) " + " + CONSTANT: (2831..2833) + BOOLEAN: (2831..2833) "#f" + CLOSE_PAREN: (2833..2834) ")" + ATMOSPHERE: (2834..2836) " + +" + FORM: (2836..3011) + OPEN_PAREN: (2836..2837) "(" + SYMBOL: (2837..2843) + IDENTIFIER: (2837..2843) "define" + ATMOSPHERE: (2843..2844) " " + FORM: (2844..2864) + OPEN_PAREN: (2844..2845) "(" + SYMBOL: (2845..2863) + IDENTIFIER: (2845..2863) "print-test-summary" + CLOSE_PAREN: (2863..2864) ")" + ATMOSPHERE: (2864..2867) " + " + FORM: (2867..2901) + OPEN_PAREN: (2867..2868) "(" + SYMBOL: (2868..2875) + IDENTIFIER: (2868..2875) "display" + ATMOSPHERE: (2875..2876) " " + CONSTANT: (2876..2900) + STRING: (2876..2900) ""----------------------"" + CLOSE_PAREN: (2900..2901) ")" + FORM: (2901..2910) + OPEN_PAREN: (2901..2902) "(" + SYMBOL: (2902..2909) + IDENTIFIER: (2902..2909) "newline" + CLOSE_PAREN: (2909..2910) ")" + ATMOSPHERE: (2910..2913) " + " + FORM: (2913..2932) + OPEN_PAREN: (2913..2914) "(" + SYMBOL: (2914..2921) + IDENTIFIER: (2914..2921) "display" + ATMOSPHERE: (2921..2922) " " + CONSTANT: (2922..2931) + STRING: (2922..2931) ""Total: "" + CLOSE_PAREN: (2931..2932) ")" + FORM: (2932..2947) + OPEN_PAREN: (2932..2933) "(" + SYMBOL: (2933..2940) + IDENTIFIER: (2933..2940) "display" + ATMOSPHERE: (2940..2941) " " + SYMBOL: (2941..2946) + IDENTIFIER: (2941..2946) "tests" + CLOSE_PAREN: (2946..2947) ")" + FORM: (2947..2956) + OPEN_PAREN: (2947..2948) "(" + SYMBOL: (2948..2955) + IDENTIFIER: (2948..2955) "newline" + CLOSE_PAREN: (2955..2956) ")" + ATMOSPHERE: (2956..2959) " + " + FORM: (2959..2978) + OPEN_PAREN: (2959..2960) "(" + SYMBOL: (2960..2967) + IDENTIFIER: (2960..2967) "display" + ATMOSPHERE: (2967..2968) " " + CONSTANT: (2968..2977) + STRING: (2968..2977) ""Fails: "" + CLOSE_PAREN: (2977..2978) ")" + FORM: (2978..2993) + OPEN_PAREN: (2978..2979) "(" + SYMBOL: (2979..2986) + IDENTIFIER: (2979..2986) "display" + ATMOSPHERE: (2986..2987) " " + SYMBOL: (2987..2992) + IDENTIFIER: (2987..2992) "fails" + CLOSE_PAREN: (2992..2993) ")" + FORM: (2993..3002) + OPEN_PAREN: (2993..2994) "(" + SYMBOL: (2994..3001) + IDENTIFIER: (2994..3001) "newline" + CLOSE_PAREN: (3001..3002) ")" + ATMOSPHERE: (3002..3005) " + " + SYMBOL: (3005..3010) + IDENTIFIER: (3005..3010) "fails" + CLOSE_PAREN: (3010..3011) ")" + ATMOSPHERE: (3011..3013) " + +" + FORM: (3013..3151) + OPEN_PAREN: (3013..3014) "(" + SYMBOL: (3014..3020) + IDENTIFIER: (3014..3020) "define" + ATMOSPHERE: (3020..3021) " " + FORM: (3021..3035) + OPEN_PAREN: (3021..3022) "(" + SYMBOL: (3022..3030) + IDENTIFIER: (3022..3030) "test-end" + ATMOSPHERE: (3030..3031) " " + DOTTED_TAIL: (3031..3034) + DOT: (3031..3032) "." + ATMOSPHERE: (3032..3033) " " + SYMBOL: (3033..3034) + IDENTIFIER: (3033..3034) "o" + CLOSE_PAREN: (3034..3035) ")" + ATMOSPHERE: (3035..3038) " + " + FORM: (3038..3047) + OPEN_PAREN: (3038..3039) "(" + SYMBOL: (3039..3046) + IDENTIFIER: (3039..3046) "newline" + CLOSE_PAREN: (3046..3047) ")" + ATMOSPHERE: (3047..3050) " + " + FORM: (3050..3088) + OPEN_PAREN: (3050..3051) "(" + SYMBOL: (3051..3055) + IDENTIFIER: (3051..3055) "set!" + ATMOSPHERE: (3055..3056) " " + SYMBOL: (3056..3068) + IDENTIFIER: (3056..3068) "indent-level" + ATMOSPHERE: (3068..3069) " " + FORM: (3069..3087) + OPEN_PAREN: (3069..3070) "(" + SYMBOL: (3070..3071) + IDENTIFIER: (3070..3071) "-" + ATMOSPHERE: (3071..3072) " " + SYMBOL: (3072..3084) + IDENTIFIER: (3072..3084) "indent-level" + ATMOSPHERE: (3084..3085) " " + CONSTANT: (3085..3086) + NUMBER: (3085..3086) "1" + CLOSE_PAREN: (3086..3087) ")" + CLOSE_PAREN: (3087..3088) ")" + ATMOSPHERE: (3088..3091) " + " + FORM: (3091..3150) + OPEN_PAREN: (3091..3092) "(" + SYMBOL: (3092..3094) + IDENTIFIER: (3092..3094) "if" + ATMOSPHERE: (3094..3095) " " + FORM: (3095..3113) + OPEN_PAREN: (3095..3096) "(" + SYMBOL: (3096..3097) + IDENTIFIER: (3096..3097) "=" + ATMOSPHERE: (3097..3098) " " + SYMBOL: (3098..3110) + IDENTIFIER: (3098..3110) "indent-level" + ATMOSPHERE: (3110..3111) " " + CONSTANT: (3111..3112) + NUMBER: (3111..3112) "0" + CLOSE_PAREN: (3112..3113) ")" + ATMOSPHERE: (3113..3117) " + " + FORM: (3117..3137) + OPEN_PAREN: (3117..3118) "(" + SYMBOL: (3118..3136) + IDENTIFIER: (3118..3136) "print-test-summary" + CLOSE_PAREN: (3136..3137) ")" + ATMOSPHERE: (3137..3141) " + " + FORM: (3141..3149) + OPEN_PAREN: (3141..3142) "(" + SYMBOL: (3142..3148) + IDENTIFIER: (3142..3148) "indent" + CLOSE_PAREN: (3148..3149) ")" + CLOSE_PAREN: (3149..3150) ")" + CLOSE_PAREN: (3150..3151) ")" + ATMOSPHERE: (3151..3153) " + +" + FORM: (3153..3522) + OPEN_PAREN: (3153..3154) "(" + SYMBOL: (3154..3167) + IDENTIFIER: (3154..3167) "define-syntax" + ATMOSPHERE: (3167..3168) " " + SYMBOL: (3168..3172) + IDENTIFIER: (3168..3172) "test" + ATMOSPHERE: (3172..3175) " + " + FORM: (3175..3521) + OPEN_PAREN: (3175..3176) "(" + SYMBOL: (3176..3188) + IDENTIFIER: (3176..3188) "syntax-rules" + ATMOSPHERE: (3188..3189) " " + FORM: (3189..3191) + OPEN_PAREN: (3189..3190) "(" + CLOSE_PAREN: (3190..3191) ")" + ATMOSPHERE: (3191..3193) " + " + FORM: (3193..3520) + OPEN_PAREN: (3193..3194) "(" + FORM: (3194..3211) + OPEN_PAREN: (3194..3195) "(" + SYMBOL: (3195..3196) + IDENTIFIER: (3195..3196) "_" + ATMOSPHERE: (3196..3197) " " + SYMBOL: (3197..3205) + IDENTIFIER: (3197..3205) "expected" + ATMOSPHERE: (3205..3206) " " + SYMBOL: (3206..3210) + IDENTIFIER: (3206..3210) "expr" + CLOSE_PAREN: (3210..3211) ")" + ATMOSPHERE: (3211..3214) " + " + FORM: (3214..3519) + OPEN_PAREN: (3214..3215) "(" + SYMBOL: (3215..3218) + IDENTIFIER: (3215..3218) "let" + ATMOSPHERE: (3218..3219) " " + FORM: (3219..3231) + OPEN_PAREN: (3219..3220) "(" + FORM: (3220..3230) + OPEN_PAREN: (3220..3221) "(" + SYMBOL: (3221..3224) + IDENTIFIER: (3221..3224) "res" + ATMOSPHERE: (3224..3225) " " + SYMBOL: (3225..3229) + IDENTIFIER: (3225..3229) "expr" + CLOSE_PAREN: (3229..3230) ")" + CLOSE_PAREN: (3230..3231) ")" + ATMOSPHERE: (3231..3236) " + " + FORM: (3236..3260) + OPEN_PAREN: (3236..3237) "(" + SYMBOL: (3237..3241) + IDENTIFIER: (3237..3241) "set!" + ATMOSPHERE: (3241..3242) " " + SYMBOL: (3242..3247) + IDENTIFIER: (3242..3247) "tests" + ATMOSPHERE: (3247..3248) " " + FORM: (3248..3259) + OPEN_PAREN: (3248..3249) "(" + SYMBOL: (3249..3250) + IDENTIFIER: (3249..3250) "+" + ATMOSPHERE: (3250..3251) " " + SYMBOL: (3251..3256) + IDENTIFIER: (3251..3256) "tests" + ATMOSPHERE: (3256..3257) " " + CONSTANT: (3257..3258) + NUMBER: (3257..3258) "1" + CLOSE_PAREN: (3258..3259) ")" + CLOSE_PAREN: (3259..3260) ")" + ATMOSPHERE: (3260..3265) " + " + FORM: (3265..3518) + OPEN_PAREN: (3265..3266) "(" + SYMBOL: (3266..3268) + IDENTIFIER: (3266..3268) "if" + ATMOSPHERE: (3268..3269) " " + FORM: (3269..3290) + OPEN_PAREN: (3269..3270) "(" + SYMBOL: (3270..3276) + IDENTIFIER: (3270..3276) "equal?" + ATMOSPHERE: (3276..3277) " " + SYMBOL: (3277..3280) + IDENTIFIER: (3277..3280) "res" + ATMOSPHERE: (3280..3281) " " + SYMBOL: (3281..3289) + IDENTIFIER: (3281..3289) "expected" + CLOSE_PAREN: (3289..3290) ")" + ATMOSPHERE: (3290..3296) " + " + FORM: (3296..3309) + OPEN_PAREN: (3296..3297) "(" + SYMBOL: (3297..3304) + IDENTIFIER: (3297..3304) "display" + ATMOSPHERE: (3304..3305) " " + CONSTANT: (3305..3308) + STRING: (3305..3308) ""."" + CLOSE_PAREN: (3308..3309) ")" + ATMOSPHERE: (3309..3315) " + " + FORM: (3315..3517) + OPEN_PAREN: (3315..3316) "(" + SYMBOL: (3316..3321) + IDENTIFIER: (3316..3321) "begin" + ATMOSPHERE: (3321..3326) " + " + FORM: (3326..3350) + OPEN_PAREN: (3326..3327) "(" + SYMBOL: (3327..3331) + IDENTIFIER: (3327..3331) "set!" + ATMOSPHERE: (3331..3332) " " + SYMBOL: (3332..3337) + IDENTIFIER: (3332..3337) "fails" + ATMOSPHERE: (3337..3338) " " + FORM: (3338..3349) + OPEN_PAREN: (3338..3339) "(" + SYMBOL: (3339..3340) + IDENTIFIER: (3339..3340) "+" + ATMOSPHERE: (3340..3341) " " + SYMBOL: (3341..3346) + IDENTIFIER: (3341..3346) "fails" + ATMOSPHERE: (3346..3347) " " + CONSTANT: (3347..3348) + NUMBER: (3347..3348) "1" + CLOSE_PAREN: (3348..3349) ")" + CLOSE_PAREN: (3349..3350) ")" + ATMOSPHERE: (3350..3355) " + " + FORM: (3355..3364) + OPEN_PAREN: (3355..3356) "(" + SYMBOL: (3356..3363) + IDENTIFIER: (3356..3363) "newline" + CLOSE_PAREN: (3363..3364) ")" + ATMOSPHERE: (3364..3369) " + " + FORM: (3369..3387) + OPEN_PAREN: (3369..3370) "(" + SYMBOL: (3370..3377) + IDENTIFIER: (3370..3377) "display" + ATMOSPHERE: (3377..3378) " " + CONSTANT: (3378..3386) + STRING: (3378..3386) ""FAIL: "" + CLOSE_PAREN: (3386..3387) ")" + ATMOSPHERE: (3387..3392) " + " + FORM: (3392..3407) + OPEN_PAREN: (3392..3393) "(" + SYMBOL: (3393..3400) + IDENTIFIER: (3393..3400) "display" + ATMOSPHERE: (3400..3401) " " + QUOTED_DATUM: (3401..3406) + QUOTE: (3401..3402) "'" + SYMBOL: (3402..3406) + IDENTIFIER: (3402..3406) "expr" + CLOSE_PAREN: (3406..3407) ")" + ATMOSPHERE: (3407..3412) " + " + FORM: (3412..3435) + OPEN_PAREN: (3412..3413) "(" + SYMBOL: (3413..3420) + IDENTIFIER: (3413..3420) "display" + ATMOSPHERE: (3420..3421) " " + CONSTANT: (3421..3434) + STRING: (3421..3434) "": expected "" + CLOSE_PAREN: (3434..3435) ")" + ATMOSPHERE: (3435..3440) " + " + FORM: (3440..3458) + OPEN_PAREN: (3440..3441) "(" + SYMBOL: (3441..3448) + IDENTIFIER: (3441..3448) "display" + ATMOSPHERE: (3448..3449) " " + SYMBOL: (3449..3457) + IDENTIFIER: (3449..3457) "expected" + CLOSE_PAREN: (3457..3458) ")" + ATMOSPHERE: (3458..3463) " + " + FORM: (3463..3484) + OPEN_PAREN: (3463..3464) "(" + SYMBOL: (3464..3471) + IDENTIFIER: (3464..3471) "display" + ATMOSPHERE: (3471..3472) " " + CONSTANT: (3472..3483) + STRING: (3472..3483) "" but got "" + CLOSE_PAREN: (3483..3484) ")" + ATMOSPHERE: (3484..3489) " + " + FORM: (3489..3502) + OPEN_PAREN: (3489..3490) "(" + SYMBOL: (3490..3497) + IDENTIFIER: (3490..3497) "display" + ATMOSPHERE: (3497..3498) " " + SYMBOL: (3498..3501) + IDENTIFIER: (3498..3501) "res" + CLOSE_PAREN: (3501..3502) ")" + ATMOSPHERE: (3502..3507) " + " + FORM: (3507..3516) + OPEN_PAREN: (3507..3508) "(" + SYMBOL: (3508..3515) + IDENTIFIER: (3508..3515) "newline" + CLOSE_PAREN: (3515..3516) ")" + CLOSE_PAREN: (3516..3517) ")" + CLOSE_PAREN: (3517..3518) ")" + CLOSE_PAREN: (3518..3519) ")" + CLOSE_PAREN: (3519..3520) ")" + CLOSE_PAREN: (3520..3521) ")" + CLOSE_PAREN: (3521..3522) ")" + ATMOSPHERE: (3522..3524) " + +" + ATMOSPHERE: (3524..3526) ";;" + ATMOSPHERE: (3526..3527) " +" + ATMOSPHERE: (3527..3586) ";; however (chibi test) provides nicer output, timings, and" + ATMOSPHERE: (3586..3587) " +" + ATMOSPHERE: (3587..3641) ";; approximate equivalence for floating point numbers." + ATMOSPHERE: (3641..3643) " + +" + FORM: (3643..3662) + OPEN_PAREN: (3643..3644) "(" + SYMBOL: (3644..3654) + IDENTIFIER: (3644..3654) "test-begin" + ATMOSPHERE: (3654..3655) " " + CONSTANT: (3655..3661) + STRING: (3655..3661) ""R7RS"" + CLOSE_PAREN: (3661..3662) ")" + ATMOSPHERE: (3662..3664) " + +" + FORM: (3664..3709) + OPEN_PAREN: (3664..3665) "(" + SYMBOL: (3665..3675) + IDENTIFIER: (3665..3675) "test-begin" + ATMOSPHERE: (3675..3676) " " + CONSTANT: (3676..3708) + STRING: (3676..3708) ""4.1 Primitive expression types"" + CLOSE_PAREN: (3708..3709) ")" + ATMOSPHERE: (3709..3711) " + +" + FORM: (3711..3749) + OPEN_PAREN: (3711..3712) "(" + SYMBOL: (3712..3715) + IDENTIFIER: (3712..3715) "let" + ATMOSPHERE: (3715..3716) " " + FORM: (3716..3718) + OPEN_PAREN: (3716..3717) "(" + CLOSE_PAREN: (3717..3718) ")" + ATMOSPHERE: (3718..3721) " + " + FORM: (3721..3734) + OPEN_PAREN: (3721..3722) "(" + SYMBOL: (3722..3728) + IDENTIFIER: (3722..3728) "define" + ATMOSPHERE: (3728..3729) " " + SYMBOL: (3729..3730) + IDENTIFIER: (3729..3730) "x" + ATMOSPHERE: (3730..3731) " " + CONSTANT: (3731..3733) + NUMBER: (3731..3733) "28" + CLOSE_PAREN: (3733..3734) ")" + ATMOSPHERE: (3734..3737) " + " + FORM: (3737..3748) + OPEN_PAREN: (3737..3738) "(" + SYMBOL: (3738..3742) + IDENTIFIER: (3738..3742) "test" + ATMOSPHERE: (3742..3743) " " + CONSTANT: (3743..3745) + NUMBER: (3743..3745) "28" + ATMOSPHERE: (3745..3746) " " + SYMBOL: (3746..3747) + IDENTIFIER: (3746..3747) "x" + CLOSE_PAREN: (3747..3748) ")" + CLOSE_PAREN: (3748..3749) ")" + ATMOSPHERE: (3749..3752) " + + +" + FORM: (3752..3771) + OPEN_PAREN: (3752..3753) "(" + SYMBOL: (3753..3757) + IDENTIFIER: (3753..3757) "test" + ATMOSPHERE: (3757..3758) " " + QUOTED_DATUM: (3758..3761) + QUOTE: (3758..3759) "'" + SYMBOL: (3759..3760) + IDENTIFIER: (3759..3760) "a" + ATMOSPHERE: (3760..3761) " " + FORM: (3761..3770) + OPEN_PAREN: (3761..3762) "(" + SYMBOL: (3762..3767) + IDENTIFIER: (3762..3767) "quote" + ATMOSPHERE: (3767..3768) " " + SYMBOL: (3768..3769) + IDENTIFIER: (3768..3769) "a" + CLOSE_PAREN: (3769..3770) ")" + CLOSE_PAREN: (3770..3771) ")" + ATMOSPHERE: (3771..3772) " +" + FORM: (3772..3804) + OPEN_PAREN: (3772..3773) "(" + SYMBOL: (3773..3777) + IDENTIFIER: (3773..3777) "test" + ATMOSPHERE: (3777..3778) " " + VEC: (3778..3786) + OPEN_PAREN: (3778..3780) "#(" + SYMBOL: (3780..3781) + IDENTIFIER: (3780..3781) "a" + ATMOSPHERE: (3781..3782) " " + SYMBOL: (3782..3783) + IDENTIFIER: (3782..3783) "b" + ATMOSPHERE: (3783..3784) " " + SYMBOL: (3784..3785) + IDENTIFIER: (3784..3785) "c" + CLOSE_PAREN: (3785..3786) ")" + ATMOSPHERE: (3786..3787) " " + FORM: (3787..3803) + OPEN_PAREN: (3787..3788) "(" + SYMBOL: (3788..3793) + IDENTIFIER: (3788..3793) "quote" + ATMOSPHERE: (3793..3794) " " + VEC: (3794..3802) + OPEN_PAREN: (3794..3796) "#(" + SYMBOL: (3796..3797) + IDENTIFIER: (3796..3797) "a" + ATMOSPHERE: (3797..3798) " " + SYMBOL: (3798..3799) + IDENTIFIER: (3798..3799) "b" + ATMOSPHERE: (3799..3800) " " + SYMBOL: (3800..3801) + IDENTIFIER: (3800..3801) "c" + CLOSE_PAREN: (3801..3802) ")" + CLOSE_PAREN: (3802..3803) ")" + CLOSE_PAREN: (3803..3804) ")" + ATMOSPHERE: (3804..3805) " +" + FORM: (3805..3836) + OPEN_PAREN: (3805..3806) "(" + SYMBOL: (3806..3810) + IDENTIFIER: (3806..3810) "test" + ATMOSPHERE: (3810..3811) " " + QUOTED_DATUM: (3811..3820) + QUOTE: (3811..3812) "'" + FORM: (3812..3819) + OPEN_PAREN: (3812..3813) "(" + SYMBOL: (3813..3814) + IDENTIFIER: (3813..3814) "+" + ATMOSPHERE: (3814..3815) " " + CONSTANT: (3815..3816) + NUMBER: (3815..3816) "1" + ATMOSPHERE: (3816..3817) " " + CONSTANT: (3817..3818) + NUMBER: (3817..3818) "2" + CLOSE_PAREN: (3818..3819) ")" + ATMOSPHERE: (3819..3820) " " + FORM: (3820..3835) + OPEN_PAREN: (3820..3821) "(" + SYMBOL: (3821..3826) + IDENTIFIER: (3821..3826) "quote" + ATMOSPHERE: (3826..3827) " " + FORM: (3827..3834) + OPEN_PAREN: (3827..3828) "(" + SYMBOL: (3828..3829) + IDENTIFIER: (3828..3829) "+" + ATMOSPHERE: (3829..3830) " " + CONSTANT: (3830..3831) + NUMBER: (3830..3831) "1" + ATMOSPHERE: (3831..3832) " " + CONSTANT: (3832..3833) + NUMBER: (3832..3833) "2" + CLOSE_PAREN: (3833..3834) ")" + CLOSE_PAREN: (3834..3835) ")" + CLOSE_PAREN: (3835..3836) ")" + ATMOSPHERE: (3836..3838) " + +" + FORM: (3838..3850) + OPEN_PAREN: (3838..3839) "(" + SYMBOL: (3839..3843) + IDENTIFIER: (3839..3843) "test" + ATMOSPHERE: (3843..3844) " " + QUOTED_DATUM: (3844..3847) + QUOTE: (3844..3845) "'" + SYMBOL: (3845..3846) + IDENTIFIER: (3845..3846) "a" + ATMOSPHERE: (3846..3847) " " + QUOTED_DATUM: (3847..3849) + QUOTE: (3847..3848) "'" + SYMBOL: (3848..3849) + IDENTIFIER: (3848..3849) "a" + CLOSE_PAREN: (3849..3850) ")" + ATMOSPHERE: (3850..3851) " +" + FORM: (3851..3876) + OPEN_PAREN: (3851..3852) "(" + SYMBOL: (3852..3856) + IDENTIFIER: (3852..3856) "test" + ATMOSPHERE: (3856..3857) " " + VEC: (3857..3865) + OPEN_PAREN: (3857..3859) "#(" + SYMBOL: (3859..3860) + IDENTIFIER: (3859..3860) "a" + ATMOSPHERE: (3860..3861) " " + SYMBOL: (3861..3862) + IDENTIFIER: (3861..3862) "b" + ATMOSPHERE: (3862..3863) " " + SYMBOL: (3863..3864) + IDENTIFIER: (3863..3864) "c" + CLOSE_PAREN: (3864..3865) ")" + ATMOSPHERE: (3865..3866) " " + QUOTED_DATUM: (3866..3875) + QUOTE: (3866..3867) "'" + VEC: (3867..3875) + OPEN_PAREN: (3867..3869) "#(" + SYMBOL: (3869..3870) + IDENTIFIER: (3869..3870) "a" + ATMOSPHERE: (3870..3871) " " + SYMBOL: (3871..3872) + IDENTIFIER: (3871..3872) "b" + ATMOSPHERE: (3872..3873) " " + SYMBOL: (3873..3874) + IDENTIFIER: (3873..3874) "c" + CLOSE_PAREN: (3874..3875) ")" + CLOSE_PAREN: (3875..3876) ")" + ATMOSPHERE: (3876..3877) " +" + FORM: (3877..3891) + OPEN_PAREN: (3877..3878) "(" + SYMBOL: (3878..3882) + IDENTIFIER: (3878..3882) "test" + ATMOSPHERE: (3882..3883) " " + QUOTED_DATUM: (3883..3887) + QUOTE: (3883..3884) "'" + FORM: (3884..3886) + OPEN_PAREN: (3884..3885) "(" + CLOSE_PAREN: (3885..3886) ")" + ATMOSPHERE: (3886..3887) " " + QUOTED_DATUM: (3887..3890) + QUOTE: (3887..3888) "'" + FORM: (3888..3890) + OPEN_PAREN: (3888..3889) "(" + CLOSE_PAREN: (3889..3890) ")" + CLOSE_PAREN: (3890..3891) ")" + ATMOSPHERE: (3891..3892) " +" + FORM: (3892..3916) + OPEN_PAREN: (3892..3893) "(" + SYMBOL: (3893..3897) + IDENTIFIER: (3893..3897) "test" + ATMOSPHERE: (3897..3898) " " + QUOTED_DATUM: (3898..3907) + QUOTE: (3898..3899) "'" + FORM: (3899..3906) + OPEN_PAREN: (3899..3900) "(" + SYMBOL: (3900..3901) + IDENTIFIER: (3900..3901) "+" + ATMOSPHERE: (3901..3902) " " + CONSTANT: (3902..3903) + NUMBER: (3902..3903) "1" + ATMOSPHERE: (3903..3904) " " + CONSTANT: (3904..3905) + NUMBER: (3904..3905) "2" + CLOSE_PAREN: (3905..3906) ")" + ATMOSPHERE: (3906..3907) " " + QUOTED_DATUM: (3907..3915) + QUOTE: (3907..3908) "'" + FORM: (3908..3915) + OPEN_PAREN: (3908..3909) "(" + SYMBOL: (3909..3910) + IDENTIFIER: (3909..3910) "+" + ATMOSPHERE: (3910..3911) " " + CONSTANT: (3911..3912) + NUMBER: (3911..3912) "1" + ATMOSPHERE: (3912..3913) " " + CONSTANT: (3913..3914) + NUMBER: (3913..3914) "2" + CLOSE_PAREN: (3914..3915) ")" + CLOSE_PAREN: (3915..3916) ")" + ATMOSPHERE: (3916..3917) " +" + FORM: (3917..3945) + OPEN_PAREN: (3917..3918) "(" + SYMBOL: (3918..3922) + IDENTIFIER: (3918..3922) "test" + ATMOSPHERE: (3922..3923) " " + QUOTED_DATUM: (3923..3934) + QUOTE: (3923..3924) "'" + FORM: (3924..3933) + OPEN_PAREN: (3924..3925) "(" + SYMBOL: (3925..3930) + IDENTIFIER: (3925..3930) "quote" + ATMOSPHERE: (3930..3931) " " + SYMBOL: (3931..3932) + IDENTIFIER: (3931..3932) "a" + CLOSE_PAREN: (3932..3933) ")" + ATMOSPHERE: (3933..3934) " " + QUOTED_DATUM: (3934..3944) + QUOTE: (3934..3935) "'" + FORM: (3935..3944) + OPEN_PAREN: (3935..3936) "(" + SYMBOL: (3936..3941) + IDENTIFIER: (3936..3941) "quote" + ATMOSPHERE: (3941..3942) " " + SYMBOL: (3942..3943) + IDENTIFIER: (3942..3943) "a" + CLOSE_PAREN: (3943..3944) ")" + CLOSE_PAREN: (3944..3945) ")" + ATMOSPHERE: (3945..3946) " +" + FORM: (3946..3967) + OPEN_PAREN: (3946..3947) "(" + SYMBOL: (3947..3951) + IDENTIFIER: (3947..3951) "test" + ATMOSPHERE: (3951..3952) " " + QUOTED_DATUM: (3952..3963) + QUOTE: (3952..3953) "'" + FORM: (3953..3962) + OPEN_PAREN: (3953..3954) "(" + SYMBOL: (3954..3959) + IDENTIFIER: (3954..3959) "quote" + ATMOSPHERE: (3959..3960) " " + SYMBOL: (3960..3961) + IDENTIFIER: (3960..3961) "a" + CLOSE_PAREN: (3961..3962) ")" + ATMOSPHERE: (3962..3963) " " + QUOTED_DATUM: (3963..3966) + QUOTE: (3963..3964) "'" + QUOTED_DATUM: (3964..3966) + QUOTE: (3964..3965) "'" + SYMBOL: (3965..3966) + IDENTIFIER: (3965..3966) "a" + CLOSE_PAREN: (3966..3967) ")" + ATMOSPHERE: (3967..3969) " + +" + FORM: (3969..3988) + OPEN_PAREN: (3969..3970) "(" + SYMBOL: (3970..3974) + IDENTIFIER: (3970..3974) "test" + ATMOSPHERE: (3974..3975) " " + CONSTANT: (3975..3980) + STRING: (3975..3980) ""abc"" + ATMOSPHERE: (3980..3981) " " + QUOTED_DATUM: (3981..3987) + QUOTE: (3981..3982) "'" + CONSTANT: (3982..3987) + STRING: (3982..3987) ""abc"" + CLOSE_PAREN: (3987..3988) ")" + ATMOSPHERE: (3988..3989) " +" + FORM: (3989..4007) + OPEN_PAREN: (3989..3990) "(" + SYMBOL: (3990..3994) + IDENTIFIER: (3990..3994) "test" + ATMOSPHERE: (3994..3995) " " + CONSTANT: (3995..4000) + STRING: (3995..4000) ""abc"" + ATMOSPHERE: (4000..4001) " " + CONSTANT: (4001..4006) + STRING: (4001..4006) ""abc"" + CLOSE_PAREN: (4006..4007) ")" + ATMOSPHERE: (4007..4008) " +" + FORM: (4008..4029) + OPEN_PAREN: (4008..4009) "(" + SYMBOL: (4009..4013) + IDENTIFIER: (4009..4013) "test" + ATMOSPHERE: (4013..4014) " " + CONSTANT: (4014..4020) + NUMBER: (4014..4020) "145932" + ATMOSPHERE: (4020..4021) " " + QUOTED_DATUM: (4021..4028) + QUOTE: (4021..4022) "'" + CONSTANT: (4022..4028) + NUMBER: (4022..4028) "145932" + CLOSE_PAREN: (4028..4029) ")" + ATMOSPHERE: (4029..4030) " +" + FORM: (4030..4050) + OPEN_PAREN: (4030..4031) "(" + SYMBOL: (4031..4035) + IDENTIFIER: (4031..4035) "test" + ATMOSPHERE: (4035..4036) " " + CONSTANT: (4036..4042) + NUMBER: (4036..4042) "145932" + ATMOSPHERE: (4042..4043) " " + CONSTANT: (4043..4049) + NUMBER: (4043..4049) "145932" + CLOSE_PAREN: (4049..4050) ")" + ATMOSPHERE: (4050..4051) " +" + FORM: (4051..4064) + OPEN_PAREN: (4051..4052) "(" + SYMBOL: (4052..4056) + IDENTIFIER: (4052..4056) "test" + ATMOSPHERE: (4056..4057) " " + CONSTANT: (4057..4059) + BOOLEAN: (4057..4059) "#t" + ATMOSPHERE: (4059..4060) " " + QUOTED_DATUM: (4060..4063) + QUOTE: (4060..4061) "'" + CONSTANT: (4061..4063) + BOOLEAN: (4061..4063) "#t" + CLOSE_PAREN: (4063..4064) ")" + ATMOSPHERE: (4064..4065) " +" + FORM: (4065..4077) + OPEN_PAREN: (4065..4066) "(" + SYMBOL: (4066..4070) + IDENTIFIER: (4066..4070) "test" + ATMOSPHERE: (4070..4071) " " + CONSTANT: (4071..4073) + BOOLEAN: (4071..4073) "#t" + ATMOSPHERE: (4073..4074) " " + CONSTANT: (4074..4076) + BOOLEAN: (4074..4076) "#t" + CLOSE_PAREN: (4076..4077) ")" + ATMOSPHERE: (4077..4079) " + +" + FORM: (4079..4095) + OPEN_PAREN: (4079..4080) "(" + SYMBOL: (4080..4084) + IDENTIFIER: (4080..4084) "test" + ATMOSPHERE: (4084..4085) " " + CONSTANT: (4085..4086) + NUMBER: (4085..4086) "7" + ATMOSPHERE: (4086..4087) " " + FORM: (4087..4094) + OPEN_PAREN: (4087..4088) "(" + SYMBOL: (4088..4089) + IDENTIFIER: (4088..4089) "+" + ATMOSPHERE: (4089..4090) " " + CONSTANT: (4090..4091) + NUMBER: (4090..4091) "3" + ATMOSPHERE: (4091..4092) " " + CONSTANT: (4092..4093) + NUMBER: (4092..4093) "4" + CLOSE_PAREN: (4093..4094) ")" + CLOSE_PAREN: (4094..4095) ")" + ATMOSPHERE: (4095..4096) " +" + FORM: (4096..4123) + OPEN_PAREN: (4096..4097) "(" + SYMBOL: (4097..4101) + IDENTIFIER: (4097..4101) "test" + ATMOSPHERE: (4101..4102) " " + CONSTANT: (4102..4104) + NUMBER: (4102..4104) "12" + ATMOSPHERE: (4104..4105) " " + FORM: (4105..4122) + OPEN_PAREN: (4105..4106) "(" + FORM: (4106..4117) + OPEN_PAREN: (4106..4107) "(" + SYMBOL: (4107..4109) + IDENTIFIER: (4107..4109) "if" + ATMOSPHERE: (4109..4110) " " + CONSTANT: (4110..4112) + BOOLEAN: (4110..4112) "#f" + ATMOSPHERE: (4112..4113) " " + SYMBOL: (4113..4114) + IDENTIFIER: (4113..4114) "+" + ATMOSPHERE: (4114..4115) " " + SYMBOL: (4115..4116) + IDENTIFIER: (4115..4116) "*" + CLOSE_PAREN: (4116..4117) ")" + ATMOSPHERE: (4117..4118) " " + CONSTANT: (4118..4119) + NUMBER: (4118..4119) "3" + ATMOSPHERE: (4119..4120) " " + CONSTANT: (4120..4121) + NUMBER: (4120..4121) "4" + CLOSE_PAREN: (4121..4122) ")" + CLOSE_PAREN: (4122..4123) ")" + ATMOSPHERE: (4123..4125) " + +" + FORM: (4125..4158) + OPEN_PAREN: (4125..4126) "(" + SYMBOL: (4126..4130) + IDENTIFIER: (4126..4130) "test" + ATMOSPHERE: (4130..4131) " " + CONSTANT: (4131..4132) + NUMBER: (4131..4132) "8" + ATMOSPHERE: (4132..4133) " " + FORM: (4133..4157) + OPEN_PAREN: (4133..4134) "(" + FORM: (4134..4154) + OPEN_PAREN: (4134..4135) "(" + SYMBOL: (4135..4141) + IDENTIFIER: (4135..4141) "lambda" + ATMOSPHERE: (4141..4142) " " + FORM: (4142..4145) + OPEN_PAREN: (4142..4143) "(" + SYMBOL: (4143..4144) + IDENTIFIER: (4143..4144) "x" + CLOSE_PAREN: (4144..4145) ")" + ATMOSPHERE: (4145..4146) " " + FORM: (4146..4153) + OPEN_PAREN: (4146..4147) "(" + SYMBOL: (4147..4148) + IDENTIFIER: (4147..4148) "+" + ATMOSPHERE: (4148..4149) " " + SYMBOL: (4149..4150) + IDENTIFIER: (4149..4150) "x" + ATMOSPHERE: (4150..4151) " " + SYMBOL: (4151..4152) + IDENTIFIER: (4151..4152) "x" + CLOSE_PAREN: (4152..4153) ")" + CLOSE_PAREN: (4153..4154) ")" + ATMOSPHERE: (4154..4155) " " + CONSTANT: (4155..4156) + NUMBER: (4155..4156) "4" + CLOSE_PAREN: (4156..4157) ")" + CLOSE_PAREN: (4157..4158) ")" + ATMOSPHERE: (4158..4159) " +" + FORM: (4159..4209) + OPEN_PAREN: (4159..4160) "(" + SYMBOL: (4160..4166) + IDENTIFIER: (4160..4166) "define" + ATMOSPHERE: (4166..4167) " " + SYMBOL: (4167..4183) + IDENTIFIER: (4167..4183) "reverse-subtract" + ATMOSPHERE: (4183..4186) " + " + FORM: (4186..4208) + OPEN_PAREN: (4186..4187) "(" + SYMBOL: (4187..4193) + IDENTIFIER: (4187..4193) "lambda" + ATMOSPHERE: (4193..4194) " " + FORM: (4194..4199) + OPEN_PAREN: (4194..4195) "(" + SYMBOL: (4195..4196) + IDENTIFIER: (4195..4196) "x" + ATMOSPHERE: (4196..4197) " " + SYMBOL: (4197..4198) + IDENTIFIER: (4197..4198) "y" + CLOSE_PAREN: (4198..4199) ")" + ATMOSPHERE: (4199..4200) " " + FORM: (4200..4207) + OPEN_PAREN: (4200..4201) "(" + SYMBOL: (4201..4202) + IDENTIFIER: (4201..4202) "-" + ATMOSPHERE: (4202..4203) " " + SYMBOL: (4203..4204) + IDENTIFIER: (4203..4204) "y" + ATMOSPHERE: (4204..4205) " " + SYMBOL: (4205..4206) + IDENTIFIER: (4205..4206) "x" + CLOSE_PAREN: (4206..4207) ")" + CLOSE_PAREN: (4207..4208) ")" + CLOSE_PAREN: (4208..4209) ")" + ATMOSPHERE: (4209..4210) " +" + FORM: (4210..4242) + OPEN_PAREN: (4210..4211) "(" + SYMBOL: (4211..4215) + IDENTIFIER: (4211..4215) "test" + ATMOSPHERE: (4215..4216) " " + CONSTANT: (4216..4217) + NUMBER: (4216..4217) "3" + ATMOSPHERE: (4217..4218) " " + FORM: (4218..4241) + OPEN_PAREN: (4218..4219) "(" + SYMBOL: (4219..4235) + IDENTIFIER: (4219..4235) "reverse-subtract" + ATMOSPHERE: (4235..4236) " " + CONSTANT: (4236..4237) + NUMBER: (4236..4237) "7" + ATMOSPHERE: (4237..4238) " " + CONSTANT: (4238..4240) + NUMBER: (4238..4240) "10" + CLOSE_PAREN: (4240..4241) ")" + CLOSE_PAREN: (4241..4242) ")" + ATMOSPHERE: (4242..4243) " +" + FORM: (4243..4297) + OPEN_PAREN: (4243..4244) "(" + SYMBOL: (4244..4250) + IDENTIFIER: (4244..4250) "define" + ATMOSPHERE: (4250..4251) " " + SYMBOL: (4251..4255) + IDENTIFIER: (4251..4255) "add4" + ATMOSPHERE: (4255..4258) " + " + FORM: (4258..4296) + OPEN_PAREN: (4258..4259) "(" + SYMBOL: (4259..4262) + IDENTIFIER: (4259..4262) "let" + ATMOSPHERE: (4262..4263) " " + FORM: (4263..4270) + OPEN_PAREN: (4263..4264) "(" + FORM: (4264..4269) + OPEN_PAREN: (4264..4265) "(" + SYMBOL: (4265..4266) + IDENTIFIER: (4265..4266) "x" + ATMOSPHERE: (4266..4267) " " + CONSTANT: (4267..4268) + NUMBER: (4267..4268) "4" + CLOSE_PAREN: (4268..4269) ")" + CLOSE_PAREN: (4269..4270) ")" + ATMOSPHERE: (4270..4275) " + " + FORM: (4275..4295) + OPEN_PAREN: (4275..4276) "(" + SYMBOL: (4276..4282) + IDENTIFIER: (4276..4282) "lambda" + ATMOSPHERE: (4282..4283) " " + FORM: (4283..4286) + OPEN_PAREN: (4283..4284) "(" + SYMBOL: (4284..4285) + IDENTIFIER: (4284..4285) "y" + CLOSE_PAREN: (4285..4286) ")" + ATMOSPHERE: (4286..4287) " " + FORM: (4287..4294) + OPEN_PAREN: (4287..4288) "(" + SYMBOL: (4288..4289) + IDENTIFIER: (4288..4289) "+" + ATMOSPHERE: (4289..4290) " " + SYMBOL: (4290..4291) + IDENTIFIER: (4290..4291) "x" + ATMOSPHERE: (4291..4292) " " + SYMBOL: (4292..4293) + IDENTIFIER: (4292..4293) "y" + CLOSE_PAREN: (4293..4294) ")" + CLOSE_PAREN: (4294..4295) ")" + CLOSE_PAREN: (4295..4296) ")" + CLOSE_PAREN: (4296..4297) ")" + ATMOSPHERE: (4297..4298) " +" + FORM: (4298..4316) + OPEN_PAREN: (4298..4299) "(" + SYMBOL: (4299..4303) + IDENTIFIER: (4299..4303) "test" + ATMOSPHERE: (4303..4304) " " + CONSTANT: (4304..4306) + NUMBER: (4304..4306) "10" + ATMOSPHERE: (4306..4307) " " + FORM: (4307..4315) + OPEN_PAREN: (4307..4308) "(" + SYMBOL: (4308..4312) + IDENTIFIER: (4308..4312) "add4" + ATMOSPHERE: (4312..4313) " " + CONSTANT: (4313..4314) + NUMBER: (4313..4314) "6" + CLOSE_PAREN: (4314..4315) ")" + CLOSE_PAREN: (4315..4316) ")" + ATMOSPHERE: (4316..4318) " + +" + FORM: (4318..4358) + OPEN_PAREN: (4318..4319) "(" + SYMBOL: (4319..4323) + IDENTIFIER: (4319..4323) "test" + ATMOSPHERE: (4323..4324) " " + QUOTED_DATUM: (4324..4335) + QUOTE: (4324..4325) "'" + FORM: (4325..4334) + OPEN_PAREN: (4325..4326) "(" + CONSTANT: (4326..4327) + NUMBER: (4326..4327) "3" + ATMOSPHERE: (4327..4328) " " + CONSTANT: (4328..4329) + NUMBER: (4328..4329) "4" + ATMOSPHERE: (4329..4330) " " + CONSTANT: (4330..4331) + NUMBER: (4330..4331) "5" + ATMOSPHERE: (4331..4332) " " + CONSTANT: (4332..4333) + NUMBER: (4332..4333) "6" + CLOSE_PAREN: (4333..4334) ")" + ATMOSPHERE: (4334..4335) " " + FORM: (4335..4357) + OPEN_PAREN: (4335..4336) "(" + FORM: (4336..4348) + OPEN_PAREN: (4336..4337) "(" + SYMBOL: (4337..4343) + IDENTIFIER: (4337..4343) "lambda" + ATMOSPHERE: (4343..4344) " " + SYMBOL: (4344..4345) + IDENTIFIER: (4344..4345) "x" + ATMOSPHERE: (4345..4346) " " + SYMBOL: (4346..4347) + IDENTIFIER: (4346..4347) "x" + CLOSE_PAREN: (4347..4348) ")" + ATMOSPHERE: (4348..4349) " " + CONSTANT: (4349..4350) + NUMBER: (4349..4350) "3" + ATMOSPHERE: (4350..4351) " " + CONSTANT: (4351..4352) + NUMBER: (4351..4352) "4" + ATMOSPHERE: (4352..4353) " " + CONSTANT: (4353..4354) + NUMBER: (4353..4354) "5" + ATMOSPHERE: (4354..4355) " " + CONSTANT: (4355..4356) + NUMBER: (4355..4356) "6" + CLOSE_PAREN: (4356..4357) ")" + CLOSE_PAREN: (4357..4358) ")" + ATMOSPHERE: (4358..4359) " +" + FORM: (4359..4404) + OPEN_PAREN: (4359..4360) "(" + SYMBOL: (4360..4364) + IDENTIFIER: (4360..4364) "test" + ATMOSPHERE: (4364..4365) " " + QUOTED_DATUM: (4365..4372) + QUOTE: (4365..4366) "'" + FORM: (4366..4371) + OPEN_PAREN: (4366..4367) "(" + CONSTANT: (4367..4368) + NUMBER: (4367..4368) "5" + ATMOSPHERE: (4368..4369) " " + CONSTANT: (4369..4370) + NUMBER: (4369..4370) "6" + CLOSE_PAREN: (4370..4371) ")" + ATMOSPHERE: (4371..4372) " " + FORM: (4372..4403) + OPEN_PAREN: (4372..4373) "(" + FORM: (4373..4393) + OPEN_PAREN: (4373..4374) "(" + SYMBOL: (4374..4380) + IDENTIFIER: (4374..4380) "lambda" + ATMOSPHERE: (4380..4381) " " + FORM: (4381..4390) + OPEN_PAREN: (4381..4382) "(" + SYMBOL: (4382..4383) + IDENTIFIER: (4382..4383) "x" + ATMOSPHERE: (4383..4384) " " + SYMBOL: (4384..4385) + IDENTIFIER: (4384..4385) "y" + ATMOSPHERE: (4385..4386) " " + DOTTED_TAIL: (4386..4389) + DOT: (4386..4387) "." + ATMOSPHERE: (4387..4388) " " + SYMBOL: (4388..4389) + IDENTIFIER: (4388..4389) "z" + CLOSE_PAREN: (4389..4390) ")" + ATMOSPHERE: (4390..4391) " " + SYMBOL: (4391..4392) + IDENTIFIER: (4391..4392) "z" + CLOSE_PAREN: (4392..4393) ")" + ATMOSPHERE: (4393..4395) " + " + CONSTANT: (4395..4396) + NUMBER: (4395..4396) "3" + ATMOSPHERE: (4396..4397) " " + CONSTANT: (4397..4398) + NUMBER: (4397..4398) "4" + ATMOSPHERE: (4398..4399) " " + CONSTANT: (4399..4400) + NUMBER: (4399..4400) "5" + ATMOSPHERE: (4400..4401) " " + CONSTANT: (4401..4402) + NUMBER: (4401..4402) "6" + CLOSE_PAREN: (4402..4403) ")" + CLOSE_PAREN: (4403..4404) ")" + ATMOSPHERE: (4404..4406) " + +" + FORM: (4406..4439) + OPEN_PAREN: (4406..4407) "(" + SYMBOL: (4407..4411) + IDENTIFIER: (4407..4411) "test" + ATMOSPHERE: (4411..4412) " " + QUOTED_DATUM: (4412..4417) + QUOTE: (4412..4413) "'" + SYMBOL: (4413..4416) + IDENTIFIER: (4413..4416) "yes" + ATMOSPHERE: (4416..4417) " " + FORM: (4417..4438) + OPEN_PAREN: (4417..4418) "(" + SYMBOL: (4418..4420) + IDENTIFIER: (4418..4420) "if" + ATMOSPHERE: (4420..4421) " " + FORM: (4421..4428) + OPEN_PAREN: (4421..4422) "(" + SYMBOL: (4422..4423) + IDENTIFIER: (4422..4423) ">" + ATMOSPHERE: (4423..4424) " " + CONSTANT: (4424..4425) + NUMBER: (4424..4425) "3" + ATMOSPHERE: (4425..4426) " " + CONSTANT: (4426..4427) + NUMBER: (4426..4427) "2" + CLOSE_PAREN: (4427..4428) ")" + ATMOSPHERE: (4428..4429) " " + QUOTED_DATUM: (4429..4434) + QUOTE: (4429..4430) "'" + SYMBOL: (4430..4433) + IDENTIFIER: (4430..4433) "yes" + ATMOSPHERE: (4433..4434) " " + QUOTED_DATUM: (4434..4437) + QUOTE: (4434..4435) "'" + SYMBOL: (4435..4437) + IDENTIFIER: (4435..4437) "no" + CLOSE_PAREN: (4437..4438) ")" + CLOSE_PAREN: (4438..4439) ")" + ATMOSPHERE: (4439..4440) " +" + FORM: (4440..4472) + OPEN_PAREN: (4440..4441) "(" + SYMBOL: (4441..4445) + IDENTIFIER: (4441..4445) "test" + ATMOSPHERE: (4445..4446) " " + QUOTED_DATUM: (4446..4450) + QUOTE: (4446..4447) "'" + SYMBOL: (4447..4449) + IDENTIFIER: (4447..4449) "no" + ATMOSPHERE: (4449..4450) " " + FORM: (4450..4471) + OPEN_PAREN: (4450..4451) "(" + SYMBOL: (4451..4453) + IDENTIFIER: (4451..4453) "if" + ATMOSPHERE: (4453..4454) " " + FORM: (4454..4461) + OPEN_PAREN: (4454..4455) "(" + SYMBOL: (4455..4456) + IDENTIFIER: (4455..4456) ">" + ATMOSPHERE: (4456..4457) " " + CONSTANT: (4457..4458) + NUMBER: (4457..4458) "2" + ATMOSPHERE: (4458..4459) " " + CONSTANT: (4459..4460) + NUMBER: (4459..4460) "3" + CLOSE_PAREN: (4460..4461) ")" + ATMOSPHERE: (4461..4462) " " + QUOTED_DATUM: (4462..4467) + QUOTE: (4462..4463) "'" + SYMBOL: (4463..4466) + IDENTIFIER: (4463..4466) "yes" + ATMOSPHERE: (4466..4467) " " + QUOTED_DATUM: (4467..4470) + QUOTE: (4467..4468) "'" + SYMBOL: (4468..4470) + IDENTIFIER: (4468..4470) "no" + CLOSE_PAREN: (4470..4471) ")" + CLOSE_PAREN: (4471..4472) ")" + ATMOSPHERE: (4472..4473) " +" + FORM: (4473..4518) + OPEN_PAREN: (4473..4474) "(" + SYMBOL: (4474..4478) + IDENTIFIER: (4474..4478) "test" + ATMOSPHERE: (4478..4479) " " + CONSTANT: (4479..4480) + NUMBER: (4479..4480) "1" + ATMOSPHERE: (4480..4481) " " + FORM: (4481..4517) + OPEN_PAREN: (4481..4482) "(" + SYMBOL: (4482..4484) + IDENTIFIER: (4482..4484) "if" + ATMOSPHERE: (4484..4485) " " + FORM: (4485..4492) + OPEN_PAREN: (4485..4486) "(" + SYMBOL: (4486..4487) + IDENTIFIER: (4486..4487) ">" + ATMOSPHERE: (4487..4488) " " + CONSTANT: (4488..4489) + NUMBER: (4488..4489) "3" + ATMOSPHERE: (4489..4490) " " + CONSTANT: (4490..4491) + NUMBER: (4490..4491) "2" + CLOSE_PAREN: (4491..4492) ")" + ATMOSPHERE: (4492..4497) " + " + FORM: (4497..4504) + OPEN_PAREN: (4497..4498) "(" + SYMBOL: (4498..4499) + IDENTIFIER: (4498..4499) "-" + ATMOSPHERE: (4499..4500) " " + CONSTANT: (4500..4501) + NUMBER: (4500..4501) "3" + ATMOSPHERE: (4501..4502) " " + CONSTANT: (4502..4503) + NUMBER: (4502..4503) "2" + CLOSE_PAREN: (4503..4504) ")" + ATMOSPHERE: (4504..4509) " + " + FORM: (4509..4516) + OPEN_PAREN: (4509..4510) "(" + SYMBOL: (4510..4511) + IDENTIFIER: (4510..4511) "+" + ATMOSPHERE: (4511..4512) " " + CONSTANT: (4512..4513) + NUMBER: (4512..4513) "3" + ATMOSPHERE: (4513..4514) " " + CONSTANT: (4514..4515) + NUMBER: (4514..4515) "2" + CLOSE_PAREN: (4515..4516) ")" + CLOSE_PAREN: (4516..4517) ")" + CLOSE_PAREN: (4517..4518) ")" + ATMOSPHERE: (4518..4519) " +" + FORM: (4519..4561) + OPEN_PAREN: (4519..4520) "(" + SYMBOL: (4520..4523) + IDENTIFIER: (4520..4523) "let" + ATMOSPHERE: (4523..4524) " " + FORM: (4524..4526) + OPEN_PAREN: (4524..4525) "(" + CLOSE_PAREN: (4525..4526) ")" + ATMOSPHERE: (4526..4529) " + " + FORM: (4529..4541) + OPEN_PAREN: (4529..4530) "(" + SYMBOL: (4530..4536) + IDENTIFIER: (4530..4536) "define" + ATMOSPHERE: (4536..4537) " " + SYMBOL: (4537..4538) + IDENTIFIER: (4537..4538) "x" + ATMOSPHERE: (4538..4539) " " + CONSTANT: (4539..4540) + NUMBER: (4539..4540) "2" + CLOSE_PAREN: (4540..4541) ")" + ATMOSPHERE: (4541..4544) " + " + FORM: (4544..4560) + OPEN_PAREN: (4544..4545) "(" + SYMBOL: (4545..4549) + IDENTIFIER: (4545..4549) "test" + ATMOSPHERE: (4549..4550) " " + CONSTANT: (4550..4551) + NUMBER: (4550..4551) "3" + ATMOSPHERE: (4551..4552) " " + FORM: (4552..4559) + OPEN_PAREN: (4552..4553) "(" + SYMBOL: (4553..4554) + IDENTIFIER: (4553..4554) "+" + ATMOSPHERE: (4554..4555) " " + SYMBOL: (4555..4556) + IDENTIFIER: (4555..4556) "x" + ATMOSPHERE: (4556..4557) " " + CONSTANT: (4557..4558) + NUMBER: (4557..4558) "1" + CLOSE_PAREN: (4558..4559) ")" + CLOSE_PAREN: (4559..4560) ")" + CLOSE_PAREN: (4560..4561) ")" + ATMOSPHERE: (4561..4563) " + +" + FORM: (4563..4573) + OPEN_PAREN: (4563..4564) "(" + SYMBOL: (4564..4572) + IDENTIFIER: (4564..4572) "test-end" + CLOSE_PAREN: (4572..4573) ")" + ATMOSPHERE: (4573..4575) " + +" + FORM: (4575..4618) + OPEN_PAREN: (4575..4576) "(" + SYMBOL: (4576..4586) + IDENTIFIER: (4576..4586) "test-begin" + ATMOSPHERE: (4586..4587) " " + CONSTANT: (4587..4617) + STRING: (4587..4617) ""4.2 Derived expression types"" + CLOSE_PAREN: (4617..4618) ")" + ATMOSPHERE: (4618..4620) " + +" + ATMOSPHERE: (4620..4664) ";;;;; FIXME: No `cond` or `case` support yet" + ATMOSPHERE: (4664..4665) " +" + FORM: (4665..4736) + OPEN_PAREN: (4665..4666) "(" + SYMBOL: (4666..4670) + IDENTIFIER: (4666..4670) "test" + ATMOSPHERE: (4670..4671) " " + QUOTED_DATUM: (4671..4684) + QUOTE: (4671..4672) "'" + SYMBOL: (4672..4679) + IDENTIFIER: (4672..4679) "greater" + ATMOSPHERE: (4679..4684) " + " + FORM: (4684..4735) + OPEN_PAREN: (4684..4685) "(" + SYMBOL: (4685..4689) + IDENTIFIER: (4685..4689) "cond" + ATMOSPHERE: (4689..4690) " " + FORM: (4690..4708) + OPEN_PAREN: (4690..4691) "(" + FORM: (4691..4698) + OPEN_PAREN: (4691..4692) "(" + SYMBOL: (4692..4693) + IDENTIFIER: (4692..4693) ">" + ATMOSPHERE: (4693..4694) " " + CONSTANT: (4694..4695) + NUMBER: (4694..4695) "3" + ATMOSPHERE: (4695..4696) " " + CONSTANT: (4696..4697) + NUMBER: (4696..4697) "2" + CLOSE_PAREN: (4697..4698) ")" + ATMOSPHERE: (4698..4699) " " + QUOTED_DATUM: (4699..4707) + QUOTE: (4699..4700) "'" + SYMBOL: (4700..4707) + IDENTIFIER: (4700..4707) "greater" + CLOSE_PAREN: (4707..4708) ")" + ATMOSPHERE: (4708..4719) " + " + FORM: (4719..4734) + OPEN_PAREN: (4719..4720) "(" + FORM: (4720..4727) + OPEN_PAREN: (4720..4721) "(" + SYMBOL: (4721..4722) + IDENTIFIER: (4721..4722) "<" + ATMOSPHERE: (4722..4723) " " + CONSTANT: (4723..4724) + NUMBER: (4723..4724) "3" + ATMOSPHERE: (4724..4725) " " + CONSTANT: (4725..4726) + NUMBER: (4725..4726) "2" + CLOSE_PAREN: (4726..4727) ")" + ATMOSPHERE: (4727..4728) " " + QUOTED_DATUM: (4728..4733) + QUOTE: (4728..4729) "'" + SYMBOL: (4729..4733) + IDENTIFIER: (4729..4733) "less" + CLOSE_PAREN: (4733..4734) ")" + CLOSE_PAREN: (4734..4735) ")" + CLOSE_PAREN: (4735..4736) ")" + ATMOSPHERE: (4736..4738) " + +" + FORM: (4738..4831) + OPEN_PAREN: (4738..4739) "(" + SYMBOL: (4739..4743) + IDENTIFIER: (4739..4743) "test" + ATMOSPHERE: (4743..4744) " " + QUOTED_DATUM: (4744..4755) + QUOTE: (4744..4745) "'" + SYMBOL: (4745..4750) + IDENTIFIER: (4745..4750) "equal" + ATMOSPHERE: (4750..4755) " + " + FORM: (4755..4830) + OPEN_PAREN: (4755..4756) "(" + SYMBOL: (4756..4760) + IDENTIFIER: (4756..4760) "cond" + ATMOSPHERE: (4760..4761) " " + FORM: (4761..4779) + OPEN_PAREN: (4761..4762) "(" + FORM: (4762..4769) + OPEN_PAREN: (4762..4763) "(" + SYMBOL: (4763..4764) + IDENTIFIER: (4763..4764) ">" + ATMOSPHERE: (4764..4765) " " + CONSTANT: (4765..4766) + NUMBER: (4765..4766) "3" + ATMOSPHERE: (4766..4767) " " + CONSTANT: (4767..4768) + NUMBER: (4767..4768) "3" + CLOSE_PAREN: (4768..4769) ")" + ATMOSPHERE: (4769..4770) " " + QUOTED_DATUM: (4770..4778) + QUOTE: (4770..4771) "'" + SYMBOL: (4771..4778) + IDENTIFIER: (4771..4778) "greater" + CLOSE_PAREN: (4778..4779) ")" + ATMOSPHERE: (4779..4790) " + " + FORM: (4790..4805) + OPEN_PAREN: (4790..4791) "(" + FORM: (4791..4798) + OPEN_PAREN: (4791..4792) "(" + SYMBOL: (4792..4793) + IDENTIFIER: (4792..4793) "<" + ATMOSPHERE: (4793..4794) " " + CONSTANT: (4794..4795) + NUMBER: (4794..4795) "3" + ATMOSPHERE: (4795..4796) " " + CONSTANT: (4796..4797) + NUMBER: (4796..4797) "3" + CLOSE_PAREN: (4797..4798) ")" + ATMOSPHERE: (4798..4799) " " + QUOTED_DATUM: (4799..4804) + QUOTE: (4799..4800) "'" + SYMBOL: (4800..4804) + IDENTIFIER: (4800..4804) "less" + CLOSE_PAREN: (4804..4805) ")" + ATMOSPHERE: (4805..4816) " + " + FORM: (4816..4829) + OPEN_PAREN: (4816..4817) "(" + SYMBOL: (4817..4821) + IDENTIFIER: (4817..4821) "else" + ATMOSPHERE: (4821..4822) " " + QUOTED_DATUM: (4822..4828) + QUOTE: (4822..4823) "'" + SYMBOL: (4823..4828) + IDENTIFIER: (4823..4828) "equal" + CLOSE_PAREN: (4828..4829) ")" + CLOSE_PAREN: (4829..4830) ")" + CLOSE_PAREN: (4830..4831) ")" + ATMOSPHERE: (4831..4833) " + +" + ATMOSPHERE: (4833..4843) ";; (test 2" + ATMOSPHERE: (4843..4844) " +" + ATMOSPHERE: (4844..4891) ";; (cond ((assv 'b '((a 1) (b 2))) => cadr)" + ATMOSPHERE: (4891..4892) " +" + ATMOSPHERE: (4892..4916) ";; (else #f)))" + ATMOSPHERE: (4916..4918) " + +" + ATMOSPHERE: (4918..4937) ";; (test 'composite" + ATMOSPHERE: (4937..4938) " +" + ATMOSPHERE: (4938..4958) ";; (case (* 2 3)" + ATMOSPHERE: (4958..4959) " +" + ATMOSPHERE: (4959..4986) ";; ((2 3 5 7) 'prime)" + ATMOSPHERE: (4986..4987) " +" + ATMOSPHERE: (4987..5022) ";; ((1 4 6 8 9) 'composite)))" + ATMOSPHERE: (5022..5024) " + +" + ATMOSPHERE: (5024..5035) ";; (test 'c" + ATMOSPHERE: (5035..5036) " +" + ATMOSPHERE: (5036..5061) ";; (case (car '(c d))" + ATMOSPHERE: (5061..5062) " +" + ATMOSPHERE: (5062..5091) ";; ((a e i o u) 'vowel)" + ATMOSPHERE: (5091..5092) " +" + ATMOSPHERE: (5092..5119) ";; ((w y) 'semivowel)" + ATMOSPHERE: (5119..5120) " +" + ATMOSPHERE: (5120..5155) ";; (else => (lambda (x) x))))" + ATMOSPHERE: (5155..5157) " + +" + ATMOSPHERE: (5157..5207) ";; (test '((other . z) (semivowel . y) (other . x)" + ATMOSPHERE: (5207..5208) " +" + ATMOSPHERE: (5208..5247) ";; (semivowel . w) (vowel . u))" + ATMOSPHERE: (5247..5248) " +" + ATMOSPHERE: (5248..5271) ";; (map (lambda (x)" + ATMOSPHERE: (5271..5272) " +" + ATMOSPHERE: (5272..5293) ";; (case x" + ATMOSPHERE: (5293..5294) " +" + ATMOSPHERE: (5294..5355) ";; ((a e i o u) => (lambda (w) (cons 'vowel w)))" + ATMOSPHERE: (5355..5356) " +" + ATMOSPHERE: (5356..5399) ";; ((w y) (cons 'semivowel x))" + ATMOSPHERE: (5399..5400) " +" + ATMOSPHERE: (5400..5456) ";; (else => (lambda (w) (cons 'other w)))))" + ATMOSPHERE: (5456..5457) " +" + ATMOSPHERE: (5457..5483) ";; '(z y x w u)))" + ATMOSPHERE: (5483..5485) " + +" + FORM: (5485..5516) + OPEN_PAREN: (5485..5486) "(" + SYMBOL: (5486..5490) + IDENTIFIER: (5486..5490) "test" + ATMOSPHERE: (5490..5491) " " + CONSTANT: (5491..5493) + BOOLEAN: (5491..5493) "#t" + ATMOSPHERE: (5493..5494) " " + FORM: (5494..5515) + OPEN_PAREN: (5494..5495) "(" + SYMBOL: (5495..5498) + IDENTIFIER: (5495..5498) "and" + ATMOSPHERE: (5498..5499) " " + FORM: (5499..5506) + OPEN_PAREN: (5499..5500) "(" + SYMBOL: (5500..5501) + IDENTIFIER: (5500..5501) "=" + ATMOSPHERE: (5501..5502) " " + CONSTANT: (5502..5503) + NUMBER: (5502..5503) "2" + ATMOSPHERE: (5503..5504) " " + CONSTANT: (5504..5505) + NUMBER: (5504..5505) "2" + CLOSE_PAREN: (5505..5506) ")" + ATMOSPHERE: (5506..5507) " " + FORM: (5507..5514) + OPEN_PAREN: (5507..5508) "(" + SYMBOL: (5508..5509) + IDENTIFIER: (5508..5509) ">" + ATMOSPHERE: (5509..5510) " " + CONSTANT: (5510..5511) + NUMBER: (5510..5511) "2" + ATMOSPHERE: (5511..5512) " " + CONSTANT: (5512..5513) + NUMBER: (5512..5513) "1" + CLOSE_PAREN: (5513..5514) ")" + CLOSE_PAREN: (5514..5515) ")" + CLOSE_PAREN: (5515..5516) ")" + ATMOSPHERE: (5516..5517) " +" + FORM: (5517..5548) + OPEN_PAREN: (5517..5518) "(" + SYMBOL: (5518..5522) + IDENTIFIER: (5518..5522) "test" + ATMOSPHERE: (5522..5523) " " + CONSTANT: (5523..5525) + BOOLEAN: (5523..5525) "#f" + ATMOSPHERE: (5525..5526) " " + FORM: (5526..5547) + OPEN_PAREN: (5526..5527) "(" + SYMBOL: (5527..5530) + IDENTIFIER: (5527..5530) "and" + ATMOSPHERE: (5530..5531) " " + FORM: (5531..5538) + OPEN_PAREN: (5531..5532) "(" + SYMBOL: (5532..5533) + IDENTIFIER: (5532..5533) "=" + ATMOSPHERE: (5533..5534) " " + CONSTANT: (5534..5535) + NUMBER: (5534..5535) "2" + ATMOSPHERE: (5535..5536) " " + CONSTANT: (5536..5537) + NUMBER: (5536..5537) "2" + CLOSE_PAREN: (5537..5538) ")" + ATMOSPHERE: (5538..5539) " " + FORM: (5539..5546) + OPEN_PAREN: (5539..5540) "(" + SYMBOL: (5540..5541) + IDENTIFIER: (5540..5541) "<" + ATMOSPHERE: (5541..5542) " " + CONSTANT: (5542..5543) + NUMBER: (5542..5543) "2" + ATMOSPHERE: (5543..5544) " " + CONSTANT: (5544..5545) + NUMBER: (5544..5545) "1" + CLOSE_PAREN: (5545..5546) ")" + CLOSE_PAREN: (5546..5547) ")" + CLOSE_PAREN: (5547..5548) ")" + ATMOSPHERE: (5548..5549) " +" + FORM: (5549..5582) + OPEN_PAREN: (5549..5550) "(" + SYMBOL: (5550..5554) + IDENTIFIER: (5550..5554) "test" + ATMOSPHERE: (5554..5555) " " + QUOTED_DATUM: (5555..5562) + QUOTE: (5555..5556) "'" + FORM: (5556..5561) + OPEN_PAREN: (5556..5557) "(" + SYMBOL: (5557..5558) + IDENTIFIER: (5557..5558) "f" + ATMOSPHERE: (5558..5559) " " + SYMBOL: (5559..5560) + IDENTIFIER: (5559..5560) "g" + CLOSE_PAREN: (5560..5561) ")" + ATMOSPHERE: (5561..5562) " " + FORM: (5562..5581) + OPEN_PAREN: (5562..5563) "(" + SYMBOL: (5563..5566) + IDENTIFIER: (5563..5566) "and" + ATMOSPHERE: (5566..5567) " " + CONSTANT: (5567..5568) + NUMBER: (5567..5568) "1" + ATMOSPHERE: (5568..5569) " " + CONSTANT: (5569..5570) + NUMBER: (5569..5570) "2" + ATMOSPHERE: (5570..5571) " " + QUOTED_DATUM: (5571..5574) + QUOTE: (5571..5572) "'" + SYMBOL: (5572..5573) + IDENTIFIER: (5572..5573) "c" + ATMOSPHERE: (5573..5574) " " + QUOTED_DATUM: (5574..5580) + QUOTE: (5574..5575) "'" + FORM: (5575..5580) + OPEN_PAREN: (5575..5576) "(" + SYMBOL: (5576..5577) + IDENTIFIER: (5576..5577) "f" + ATMOSPHERE: (5577..5578) " " + SYMBOL: (5578..5579) + IDENTIFIER: (5578..5579) "g" + CLOSE_PAREN: (5579..5580) ")" + CLOSE_PAREN: (5580..5581) ")" + CLOSE_PAREN: (5581..5582) ")" + ATMOSPHERE: (5582..5583) " +" + FORM: (5583..5598) + OPEN_PAREN: (5583..5584) "(" + SYMBOL: (5584..5588) + IDENTIFIER: (5584..5588) "test" + ATMOSPHERE: (5588..5589) " " + CONSTANT: (5589..5591) + BOOLEAN: (5589..5591) "#t" + ATMOSPHERE: (5591..5592) " " + FORM: (5592..5597) + OPEN_PAREN: (5592..5593) "(" + SYMBOL: (5593..5596) + IDENTIFIER: (5593..5596) "and" + CLOSE_PAREN: (5596..5597) ")" + CLOSE_PAREN: (5597..5598) ")" + ATMOSPHERE: (5598..5600) " + +" + FORM: (5600..5630) + OPEN_PAREN: (5600..5601) "(" + SYMBOL: (5601..5605) + IDENTIFIER: (5601..5605) "test" + ATMOSPHERE: (5605..5606) " " + CONSTANT: (5606..5608) + BOOLEAN: (5606..5608) "#t" + ATMOSPHERE: (5608..5609) " " + FORM: (5609..5629) + OPEN_PAREN: (5609..5610) "(" + SYMBOL: (5610..5612) + IDENTIFIER: (5610..5612) "or" + ATMOSPHERE: (5612..5613) " " + FORM: (5613..5620) + OPEN_PAREN: (5613..5614) "(" + SYMBOL: (5614..5615) + IDENTIFIER: (5614..5615) "=" + ATMOSPHERE: (5615..5616) " " + CONSTANT: (5616..5617) + NUMBER: (5616..5617) "2" + ATMOSPHERE: (5617..5618) " " + CONSTANT: (5618..5619) + NUMBER: (5618..5619) "2" + CLOSE_PAREN: (5619..5620) ")" + ATMOSPHERE: (5620..5621) " " + FORM: (5621..5628) + OPEN_PAREN: (5621..5622) "(" + SYMBOL: (5622..5623) + IDENTIFIER: (5622..5623) ">" + ATMOSPHERE: (5623..5624) " " + CONSTANT: (5624..5625) + NUMBER: (5624..5625) "2" + ATMOSPHERE: (5625..5626) " " + CONSTANT: (5626..5627) + NUMBER: (5626..5627) "1" + CLOSE_PAREN: (5627..5628) ")" + CLOSE_PAREN: (5628..5629) ")" + CLOSE_PAREN: (5629..5630) ")" + ATMOSPHERE: (5630..5631) " +" + FORM: (5631..5661) + OPEN_PAREN: (5631..5632) "(" + SYMBOL: (5632..5636) + IDENTIFIER: (5632..5636) "test" + ATMOSPHERE: (5636..5637) " " + CONSTANT: (5637..5639) + BOOLEAN: (5637..5639) "#t" + ATMOSPHERE: (5639..5640) " " + FORM: (5640..5660) + OPEN_PAREN: (5640..5641) "(" + SYMBOL: (5641..5643) + IDENTIFIER: (5641..5643) "or" + ATMOSPHERE: (5643..5644) " " + FORM: (5644..5651) + OPEN_PAREN: (5644..5645) "(" + SYMBOL: (5645..5646) + IDENTIFIER: (5645..5646) "=" + ATMOSPHERE: (5646..5647) " " + CONSTANT: (5647..5648) + NUMBER: (5647..5648) "2" + ATMOSPHERE: (5648..5649) " " + CONSTANT: (5649..5650) + NUMBER: (5649..5650) "2" + CLOSE_PAREN: (5650..5651) ")" + ATMOSPHERE: (5651..5652) " " + FORM: (5652..5659) + OPEN_PAREN: (5652..5653) "(" + SYMBOL: (5653..5654) + IDENTIFIER: (5653..5654) "<" + ATMOSPHERE: (5654..5655) " " + CONSTANT: (5655..5656) + NUMBER: (5655..5656) "2" + ATMOSPHERE: (5656..5657) " " + CONSTANT: (5657..5658) + NUMBER: (5657..5658) "1" + CLOSE_PAREN: (5658..5659) ")" + CLOSE_PAREN: (5659..5660) ")" + CLOSE_PAREN: (5660..5661) ")" + ATMOSPHERE: (5661..5662) " +" + FORM: (5662..5685) + OPEN_PAREN: (5662..5663) "(" + SYMBOL: (5663..5667) + IDENTIFIER: (5663..5667) "test" + ATMOSPHERE: (5667..5668) " " + CONSTANT: (5668..5670) + BOOLEAN: (5668..5670) "#f" + ATMOSPHERE: (5670..5671) " " + FORM: (5671..5684) + OPEN_PAREN: (5671..5672) "(" + SYMBOL: (5672..5674) + IDENTIFIER: (5672..5674) "or" + ATMOSPHERE: (5674..5675) " " + CONSTANT: (5675..5677) + BOOLEAN: (5675..5677) "#f" + ATMOSPHERE: (5677..5678) " " + CONSTANT: (5678..5680) + BOOLEAN: (5678..5680) "#f" + ATMOSPHERE: (5680..5681) " " + CONSTANT: (5681..5683) + BOOLEAN: (5681..5683) "#f" + CLOSE_PAREN: (5683..5684) ")" + CLOSE_PAREN: (5684..5685) ")" + ATMOSPHERE: (5685..5686) " +" + FORM: (5686..5759) + OPEN_PAREN: (5686..5687) "(" + SYMBOL: (5687..5691) + IDENTIFIER: (5687..5691) "test" + ATMOSPHERE: (5691..5692) " " + QUOTED_DATUM: (5692..5699) + QUOTE: (5692..5693) "'" + FORM: (5693..5698) + OPEN_PAREN: (5693..5694) "(" + SYMBOL: (5694..5695) + IDENTIFIER: (5694..5695) "b" + ATMOSPHERE: (5695..5696) " " + SYMBOL: (5696..5697) + IDENTIFIER: (5696..5697) "c" + CLOSE_PAREN: (5697..5698) ")" + ATMOSPHERE: (5698..5699) " " + FORM: (5699..5758) + OPEN_PAREN: (5699..5700) "(" + SYMBOL: (5700..5702) + IDENTIFIER: (5700..5702) "or" + ATMOSPHERE: (5702..5703) " " + FORM: (5703..5721) + OPEN_PAREN: (5703..5704) "(" + SYMBOL: (5704..5708) + IDENTIFIER: (5704..5708) "memq" + ATMOSPHERE: (5708..5709) " " + QUOTED_DATUM: (5709..5712) + QUOTE: (5709..5710) "'" + SYMBOL: (5710..5711) + IDENTIFIER: (5710..5711) "b" + ATMOSPHERE: (5711..5712) " " + QUOTED_DATUM: (5712..5720) + QUOTE: (5712..5713) "'" + FORM: (5713..5720) + OPEN_PAREN: (5713..5714) "(" + SYMBOL: (5714..5715) + IDENTIFIER: (5714..5715) "a" + ATMOSPHERE: (5715..5716) " " + SYMBOL: (5716..5717) + IDENTIFIER: (5716..5717) "b" + ATMOSPHERE: (5717..5718) " " + SYMBOL: (5718..5719) + IDENTIFIER: (5718..5719) "c" + CLOSE_PAREN: (5719..5720) ")" + CLOSE_PAREN: (5720..5721) ")" + ATMOSPHERE: (5721..5722) " " + ATMOSPHERE: (5722..5745) ";; FIXME: No `memq` yet" + ATMOSPHERE: (5745..5750) " + " + FORM: (5750..5757) + OPEN_PAREN: (5750..5751) "(" + SYMBOL: (5751..5752) + IDENTIFIER: (5751..5752) "/" + ATMOSPHERE: (5752..5753) " " + CONSTANT: (5753..5754) + NUMBER: (5753..5754) "3" + ATMOSPHERE: (5754..5755) " " + CONSTANT: (5755..5756) + NUMBER: (5755..5756) "0" + CLOSE_PAREN: (5756..5757) ")" + CLOSE_PAREN: (5757..5758) ")" + CLOSE_PAREN: (5758..5759) ")" + ATMOSPHERE: (5759..5761) " + +" + FORM: (5761..5799) + OPEN_PAREN: (5761..5762) "(" + SYMBOL: (5762..5766) + IDENTIFIER: (5762..5766) "test" + ATMOSPHERE: (5766..5767) " " + CONSTANT: (5767..5768) + NUMBER: (5767..5768) "6" + ATMOSPHERE: (5768..5769) " " + FORM: (5769..5798) + OPEN_PAREN: (5769..5770) "(" + SYMBOL: (5770..5773) + IDENTIFIER: (5770..5773) "let" + ATMOSPHERE: (5773..5774) " " + FORM: (5774..5787) + OPEN_PAREN: (5774..5775) "(" + FORM: (5775..5780) + OPEN_PAREN: (5775..5776) "(" + SYMBOL: (5776..5777) + IDENTIFIER: (5776..5777) "x" + ATMOSPHERE: (5777..5778) " " + CONSTANT: (5778..5779) + NUMBER: (5778..5779) "2" + CLOSE_PAREN: (5779..5780) ")" + ATMOSPHERE: (5780..5781) " " + FORM: (5781..5786) + OPEN_PAREN: (5781..5782) "(" + SYMBOL: (5782..5783) + IDENTIFIER: (5782..5783) "y" + ATMOSPHERE: (5783..5784) " " + CONSTANT: (5784..5785) + NUMBER: (5784..5785) "3" + CLOSE_PAREN: (5785..5786) ")" + CLOSE_PAREN: (5786..5787) ")" + ATMOSPHERE: (5787..5790) " + " + FORM: (5790..5797) + OPEN_PAREN: (5790..5791) "(" + SYMBOL: (5791..5792) + IDENTIFIER: (5791..5792) "*" + ATMOSPHERE: (5792..5793) " " + SYMBOL: (5793..5794) + IDENTIFIER: (5793..5794) "x" + ATMOSPHERE: (5794..5795) " " + SYMBOL: (5795..5796) + IDENTIFIER: (5795..5796) "y" + CLOSE_PAREN: (5796..5797) ")" + CLOSE_PAREN: (5797..5798) ")" + CLOSE_PAREN: (5798..5799) ")" + ATMOSPHERE: (5799..5801) " + +" + FORM: (5801..5878) + OPEN_PAREN: (5801..5802) "(" + SYMBOL: (5802..5806) + IDENTIFIER: (5802..5806) "test" + ATMOSPHERE: (5806..5807) " " + CONSTANT: (5807..5809) + NUMBER: (5807..5809) "35" + ATMOSPHERE: (5809..5810) " " + FORM: (5810..5877) + OPEN_PAREN: (5810..5811) "(" + SYMBOL: (5811..5814) + IDENTIFIER: (5811..5814) "let" + ATMOSPHERE: (5814..5815) " " + FORM: (5815..5828) + OPEN_PAREN: (5815..5816) "(" + FORM: (5816..5821) + OPEN_PAREN: (5816..5817) "(" + SYMBOL: (5817..5818) + IDENTIFIER: (5817..5818) "x" + ATMOSPHERE: (5818..5819) " " + CONSTANT: (5819..5820) + NUMBER: (5819..5820) "2" + CLOSE_PAREN: (5820..5821) ")" + ATMOSPHERE: (5821..5822) " " + FORM: (5822..5827) + OPEN_PAREN: (5822..5823) "(" + SYMBOL: (5823..5824) + IDENTIFIER: (5823..5824) "y" + ATMOSPHERE: (5824..5825) " " + CONSTANT: (5825..5826) + NUMBER: (5825..5826) "3" + CLOSE_PAREN: (5826..5827) ")" + CLOSE_PAREN: (5827..5828) ")" + ATMOSPHERE: (5828..5831) " + " + FORM: (5831..5876) + OPEN_PAREN: (5831..5832) "(" + SYMBOL: (5832..5835) + IDENTIFIER: (5832..5835) "let" + ATMOSPHERE: (5835..5836) " " + FORM: (5836..5863) + OPEN_PAREN: (5836..5837) "(" + FORM: (5837..5842) + OPEN_PAREN: (5837..5838) "(" + SYMBOL: (5838..5839) + IDENTIFIER: (5838..5839) "x" + ATMOSPHERE: (5839..5840) " " + CONSTANT: (5840..5841) + NUMBER: (5840..5841) "7" + CLOSE_PAREN: (5841..5842) ")" + ATMOSPHERE: (5842..5851) " + " + FORM: (5851..5862) + OPEN_PAREN: (5851..5852) "(" + SYMBOL: (5852..5853) + IDENTIFIER: (5852..5853) "z" + ATMOSPHERE: (5853..5854) " " + FORM: (5854..5861) + OPEN_PAREN: (5854..5855) "(" + SYMBOL: (5855..5856) + IDENTIFIER: (5855..5856) "+" + ATMOSPHERE: (5856..5857) " " + SYMBOL: (5857..5858) + IDENTIFIER: (5857..5858) "x" + ATMOSPHERE: (5858..5859) " " + SYMBOL: (5859..5860) + IDENTIFIER: (5859..5860) "y" + CLOSE_PAREN: (5860..5861) ")" + CLOSE_PAREN: (5861..5862) ")" + CLOSE_PAREN: (5862..5863) ")" + ATMOSPHERE: (5863..5868) " + " + FORM: (5868..5875) + OPEN_PAREN: (5868..5869) "(" + SYMBOL: (5869..5870) + IDENTIFIER: (5869..5870) "*" + ATMOSPHERE: (5870..5871) " " + SYMBOL: (5871..5872) + IDENTIFIER: (5871..5872) "z" + ATMOSPHERE: (5872..5873) " " + SYMBOL: (5873..5874) + IDENTIFIER: (5873..5874) "x" + CLOSE_PAREN: (5874..5875) ")" + CLOSE_PAREN: (5875..5876) ")" + CLOSE_PAREN: (5876..5877) ")" + CLOSE_PAREN: (5877..5878) ")" + ATMOSPHERE: (5878..5880) " + +" + FORM: (5880..5959) + OPEN_PAREN: (5880..5881) "(" + SYMBOL: (5881..5885) + IDENTIFIER: (5881..5885) "test" + ATMOSPHERE: (5885..5886) " " + CONSTANT: (5886..5888) + NUMBER: (5886..5888) "70" + ATMOSPHERE: (5888..5889) " " + FORM: (5889..5958) + OPEN_PAREN: (5889..5890) "(" + SYMBOL: (5890..5893) + IDENTIFIER: (5890..5893) "let" + ATMOSPHERE: (5893..5894) " " + FORM: (5894..5907) + OPEN_PAREN: (5894..5895) "(" + FORM: (5895..5900) + OPEN_PAREN: (5895..5896) "(" + SYMBOL: (5896..5897) + IDENTIFIER: (5896..5897) "x" + ATMOSPHERE: (5897..5898) " " + CONSTANT: (5898..5899) + NUMBER: (5898..5899) "2" + CLOSE_PAREN: (5899..5900) ")" + ATMOSPHERE: (5900..5901) " " + FORM: (5901..5906) + OPEN_PAREN: (5901..5902) "(" + SYMBOL: (5902..5903) + IDENTIFIER: (5902..5903) "y" + ATMOSPHERE: (5903..5904) " " + CONSTANT: (5904..5905) + NUMBER: (5904..5905) "3" + CLOSE_PAREN: (5905..5906) ")" + CLOSE_PAREN: (5906..5907) ")" + ATMOSPHERE: (5907..5910) " + " + FORM: (5910..5957) + OPEN_PAREN: (5910..5911) "(" + SYMBOL: (5911..5915) + IDENTIFIER: (5911..5915) "let*" + ATMOSPHERE: (5915..5916) " " + FORM: (5916..5944) + OPEN_PAREN: (5916..5917) "(" + FORM: (5917..5922) + OPEN_PAREN: (5917..5918) "(" + SYMBOL: (5918..5919) + IDENTIFIER: (5918..5919) "x" + ATMOSPHERE: (5919..5920) " " + CONSTANT: (5920..5921) + NUMBER: (5920..5921) "7" + CLOSE_PAREN: (5921..5922) ")" + ATMOSPHERE: (5922..5932) " + " + FORM: (5932..5943) + OPEN_PAREN: (5932..5933) "(" + SYMBOL: (5933..5934) + IDENTIFIER: (5933..5934) "z" + ATMOSPHERE: (5934..5935) " " + FORM: (5935..5942) + OPEN_PAREN: (5935..5936) "(" + SYMBOL: (5936..5937) + IDENTIFIER: (5936..5937) "+" + ATMOSPHERE: (5937..5938) " " + SYMBOL: (5938..5939) + IDENTIFIER: (5938..5939) "x" + ATMOSPHERE: (5939..5940) " " + SYMBOL: (5940..5941) + IDENTIFIER: (5940..5941) "y" + CLOSE_PAREN: (5941..5942) ")" + CLOSE_PAREN: (5942..5943) ")" + CLOSE_PAREN: (5943..5944) ")" + ATMOSPHERE: (5944..5949) " + " + FORM: (5949..5956) + OPEN_PAREN: (5949..5950) "(" + SYMBOL: (5950..5951) + IDENTIFIER: (5950..5951) "*" + ATMOSPHERE: (5951..5952) " " + SYMBOL: (5952..5953) + IDENTIFIER: (5952..5953) "z" + ATMOSPHERE: (5953..5954) " " + SYMBOL: (5954..5955) + IDENTIFIER: (5954..5955) "x" + CLOSE_PAREN: (5955..5956) ")" + CLOSE_PAREN: (5956..5957) ")" + CLOSE_PAREN: (5957..5958) ")" + CLOSE_PAREN: (5958..5959) ")" + ATMOSPHERE: (5959..5961) " + +" + FORM: (5961..6263) + OPEN_PAREN: (5961..5962) "(" + SYMBOL: (5962..5966) + IDENTIFIER: (5962..5966) "test" + ATMOSPHERE: (5966..5967) " " + CONSTANT: (5967..5969) + BOOLEAN: (5967..5969) "#t" + ATMOSPHERE: (5969..5974) " + " + FORM: (5974..6262) + OPEN_PAREN: (5974..5975) "(" + SYMBOL: (5975..5981) + IDENTIFIER: (5975..5981) "letrec" + ATMOSPHERE: (5981..5982) " " + FORM: (5982..6244) + OPEN_PAREN: (5982..5983) "(" + FORM: (5983..6106) + OPEN_PAREN: (5983..5984) "(" + SYMBOL: (5984..5989) + IDENTIFIER: (5984..5989) "even?" + ATMOSPHERE: (5989..6004) " + " + FORM: (6004..6105) + OPEN_PAREN: (6004..6005) "(" + SYMBOL: (6005..6011) + IDENTIFIER: (6005..6011) "lambda" + ATMOSPHERE: (6011..6012) " " + FORM: (6012..6015) + OPEN_PAREN: (6012..6013) "(" + SYMBOL: (6013..6014) + IDENTIFIER: (6013..6014) "n" + CLOSE_PAREN: (6014..6015) ")" + ATMOSPHERE: (6015..6032) " + " + FORM: (6032..6104) + OPEN_PAREN: (6032..6033) "(" + SYMBOL: (6033..6035) + IDENTIFIER: (6033..6035) "if" + ATMOSPHERE: (6035..6036) " " + FORM: (6036..6045) + OPEN_PAREN: (6036..6037) "(" + SYMBOL: (6037..6042) + IDENTIFIER: (6037..6042) "zero?" + ATMOSPHERE: (6042..6043) " " + SYMBOL: (6043..6044) + IDENTIFIER: (6043..6044) "n" + CLOSE_PAREN: (6044..6045) ")" + ATMOSPHERE: (6045..6066) " + " + CONSTANT: (6066..6068) + BOOLEAN: (6066..6068) "#t" + ATMOSPHERE: (6068..6089) " + " + FORM: (6089..6103) + OPEN_PAREN: (6089..6090) "(" + SYMBOL: (6090..6094) + IDENTIFIER: (6090..6094) "odd?" + ATMOSPHERE: (6094..6095) " " + FORM: (6095..6102) + OPEN_PAREN: (6095..6096) "(" + SYMBOL: (6096..6097) + IDENTIFIER: (6096..6097) "-" + ATMOSPHERE: (6097..6098) " " + SYMBOL: (6098..6099) + IDENTIFIER: (6098..6099) "n" + ATMOSPHERE: (6099..6100) " " + CONSTANT: (6100..6101) + NUMBER: (6100..6101) "1" + CLOSE_PAREN: (6101..6102) ")" + CLOSE_PAREN: (6102..6103) ")" + CLOSE_PAREN: (6103..6104) ")" + CLOSE_PAREN: (6104..6105) ")" + CLOSE_PAREN: (6105..6106) ")" + ATMOSPHERE: (6106..6120) " + " + FORM: (6120..6243) + OPEN_PAREN: (6120..6121) "(" + SYMBOL: (6121..6125) + IDENTIFIER: (6121..6125) "odd?" + ATMOSPHERE: (6125..6140) " + " + FORM: (6140..6242) + OPEN_PAREN: (6140..6141) "(" + SYMBOL: (6141..6147) + IDENTIFIER: (6141..6147) "lambda" + ATMOSPHERE: (6147..6148) " " + FORM: (6148..6151) + OPEN_PAREN: (6148..6149) "(" + SYMBOL: (6149..6150) + IDENTIFIER: (6149..6150) "n" + CLOSE_PAREN: (6150..6151) ")" + ATMOSPHERE: (6151..6168) " + " + FORM: (6168..6241) + OPEN_PAREN: (6168..6169) "(" + SYMBOL: (6169..6171) + IDENTIFIER: (6169..6171) "if" + ATMOSPHERE: (6171..6172) " " + FORM: (6172..6181) + OPEN_PAREN: (6172..6173) "(" + SYMBOL: (6173..6178) + IDENTIFIER: (6173..6178) "zero?" + ATMOSPHERE: (6178..6179) " " + SYMBOL: (6179..6180) + IDENTIFIER: (6179..6180) "n" + CLOSE_PAREN: (6180..6181) ")" + ATMOSPHERE: (6181..6202) " + " + CONSTANT: (6202..6204) + BOOLEAN: (6202..6204) "#f" + ATMOSPHERE: (6204..6225) " + " + FORM: (6225..6240) + OPEN_PAREN: (6225..6226) "(" + SYMBOL: (6226..6231) + IDENTIFIER: (6226..6231) "even?" + ATMOSPHERE: (6231..6232) " " + FORM: (6232..6239) + OPEN_PAREN: (6232..6233) "(" + SYMBOL: (6233..6234) + IDENTIFIER: (6233..6234) "-" + ATMOSPHERE: (6234..6235) " " + SYMBOL: (6235..6236) + IDENTIFIER: (6235..6236) "n" + ATMOSPHERE: (6236..6237) " " + CONSTANT: (6237..6238) + NUMBER: (6237..6238) "1" + CLOSE_PAREN: (6238..6239) ")" + CLOSE_PAREN: (6239..6240) ")" + CLOSE_PAREN: (6240..6241) ")" + CLOSE_PAREN: (6241..6242) ")" + CLOSE_PAREN: (6242..6243) ")" + CLOSE_PAREN: (6243..6244) ")" + ATMOSPHERE: (6244..6251) " + " + FORM: (6251..6261) + OPEN_PAREN: (6251..6252) "(" + SYMBOL: (6252..6257) + IDENTIFIER: (6252..6257) "even?" + ATMOSPHERE: (6257..6258) " " + CONSTANT: (6258..6260) + NUMBER: (6258..6260) "88" + CLOSE_PAREN: (6260..6261) ")" + CLOSE_PAREN: (6261..6262) ")" + CLOSE_PAREN: (6262..6263) ")" + ATMOSPHERE: (6263..6265) " + +" + FORM: (6265..6555) + OPEN_PAREN: (6265..6266) "(" + SYMBOL: (6266..6270) + IDENTIFIER: (6266..6270) "test" + ATMOSPHERE: (6270..6271) " " + CONSTANT: (6271..6272) + NUMBER: (6271..6272) "5" + ATMOSPHERE: (6272..6277) " + " + FORM: (6277..6554) + OPEN_PAREN: (6277..6278) "(" + SYMBOL: (6278..6285) + IDENTIFIER: (6278..6285) "letrec*" + ATMOSPHERE: (6285..6286) " " + FORM: (6286..6538) + OPEN_PAREN: (6286..6287) "(" + FORM: (6287..6353) + OPEN_PAREN: (6287..6288) "(" + SYMBOL: (6288..6289) + IDENTIFIER: (6288..6289) "p" + ATMOSPHERE: (6289..6305) " + " + FORM: (6305..6352) + OPEN_PAREN: (6305..6306) "(" + SYMBOL: (6306..6312) + IDENTIFIER: (6306..6312) "lambda" + ATMOSPHERE: (6312..6313) " " + FORM: (6313..6316) + OPEN_PAREN: (6313..6314) "(" + SYMBOL: (6314..6315) + IDENTIFIER: (6314..6315) "x" + CLOSE_PAREN: (6315..6316) ")" + ATMOSPHERE: (6316..6334) " + " + FORM: (6334..6351) + OPEN_PAREN: (6334..6335) "(" + SYMBOL: (6335..6336) + IDENTIFIER: (6335..6336) "+" + ATMOSPHERE: (6336..6337) " " + CONSTANT: (6337..6338) + NUMBER: (6337..6338) "1" + ATMOSPHERE: (6338..6339) " " + FORM: (6339..6350) + OPEN_PAREN: (6339..6340) "(" + SYMBOL: (6340..6341) + IDENTIFIER: (6340..6341) "q" + ATMOSPHERE: (6341..6342) " " + FORM: (6342..6349) + OPEN_PAREN: (6342..6343) "(" + SYMBOL: (6343..6344) + IDENTIFIER: (6343..6344) "-" + ATMOSPHERE: (6344..6345) " " + SYMBOL: (6345..6346) + IDENTIFIER: (6345..6346) "x" + ATMOSPHERE: (6346..6347) " " + CONSTANT: (6347..6348) + NUMBER: (6347..6348) "1" + CLOSE_PAREN: (6348..6349) ")" + CLOSE_PAREN: (6349..6350) ")" + CLOSE_PAREN: (6350..6351) ")" + CLOSE_PAREN: (6351..6352) ")" + CLOSE_PAREN: (6352..6353) ")" + ATMOSPHERE: (6353..6368) " + " + FORM: (6368..6493) + OPEN_PAREN: (6368..6369) "(" + SYMBOL: (6369..6370) + IDENTIFIER: (6369..6370) "q" + ATMOSPHERE: (6370..6386) " + " + FORM: (6386..6492) + OPEN_PAREN: (6386..6387) "(" + SYMBOL: (6387..6393) + IDENTIFIER: (6387..6393) "lambda" + ATMOSPHERE: (6393..6394) " " + FORM: (6394..6397) + OPEN_PAREN: (6394..6395) "(" + SYMBOL: (6395..6396) + IDENTIFIER: (6395..6396) "y" + CLOSE_PAREN: (6396..6397) ")" + ATMOSPHERE: (6397..6415) " + " + FORM: (6415..6491) + OPEN_PAREN: (6415..6416) "(" + SYMBOL: (6416..6418) + IDENTIFIER: (6416..6418) "if" + ATMOSPHERE: (6418..6419) " " + FORM: (6419..6428) + OPEN_PAREN: (6419..6420) "(" + SYMBOL: (6420..6425) + IDENTIFIER: (6420..6425) "zero?" + ATMOSPHERE: (6425..6426) " " + SYMBOL: (6426..6427) + IDENTIFIER: (6426..6427) "y" + CLOSE_PAREN: (6427..6428) ")" + ATMOSPHERE: (6428..6450) " + " + CONSTANT: (6450..6451) + NUMBER: (6450..6451) "0" + ATMOSPHERE: (6451..6473) " + " + FORM: (6473..6490) + OPEN_PAREN: (6473..6474) "(" + SYMBOL: (6474..6475) + IDENTIFIER: (6474..6475) "+" + ATMOSPHERE: (6475..6476) " " + CONSTANT: (6476..6477) + NUMBER: (6476..6477) "1" + ATMOSPHERE: (6477..6478) " " + FORM: (6478..6489) + OPEN_PAREN: (6478..6479) "(" + SYMBOL: (6479..6480) + IDENTIFIER: (6479..6480) "p" + ATMOSPHERE: (6480..6481) " " + FORM: (6481..6488) + OPEN_PAREN: (6481..6482) "(" + SYMBOL: (6482..6483) + IDENTIFIER: (6482..6483) "-" + ATMOSPHERE: (6483..6484) " " + SYMBOL: (6484..6485) + IDENTIFIER: (6484..6485) "y" + ATMOSPHERE: (6485..6486) " " + CONSTANT: (6486..6487) + NUMBER: (6486..6487) "1" + CLOSE_PAREN: (6487..6488) ")" + CLOSE_PAREN: (6488..6489) ")" + CLOSE_PAREN: (6489..6490) ")" + CLOSE_PAREN: (6490..6491) ")" + CLOSE_PAREN: (6491..6492) ")" + CLOSE_PAREN: (6492..6493) ")" + ATMOSPHERE: (6493..6508) " + " + FORM: (6508..6517) + OPEN_PAREN: (6508..6509) "(" + SYMBOL: (6509..6510) + IDENTIFIER: (6509..6510) "x" + ATMOSPHERE: (6510..6511) " " + FORM: (6511..6516) + OPEN_PAREN: (6511..6512) "(" + SYMBOL: (6512..6513) + IDENTIFIER: (6512..6513) "p" + ATMOSPHERE: (6513..6514) " " + CONSTANT: (6514..6515) + NUMBER: (6514..6515) "5" + CLOSE_PAREN: (6515..6516) ")" + CLOSE_PAREN: (6516..6517) ")" + ATMOSPHERE: (6517..6532) " + " + FORM: (6532..6537) + OPEN_PAREN: (6532..6533) "(" + SYMBOL: (6533..6534) + IDENTIFIER: (6533..6534) "y" + ATMOSPHERE: (6534..6535) " " + SYMBOL: (6535..6536) + IDENTIFIER: (6535..6536) "x" + CLOSE_PAREN: (6536..6537) ")" + CLOSE_PAREN: (6537..6538) ")" + ATMOSPHERE: (6538..6552) " + " + SYMBOL: (6552..6553) + IDENTIFIER: (6552..6553) "y" + CLOSE_PAREN: (6553..6554) ")" + CLOSE_PAREN: (6554..6555) ")" + ATMOSPHERE: (6555..6558) " + + +" + ATMOSPHERE: (6558..6590) ";;; FIXME: `let*values` support." + ATMOSPHERE: (6590..6591) " +" + ATMOSPHERE: (6591..6645) ";; ;; By Jussi Piitulainen " + ATMOSPHERE: (6645..6646) " +" + ATMOSPHERE: (6646..6692) ";; ;; and John Cowan :" + ATMOSPHERE: (6692..6693) " +" + ATMOSPHERE: (6693..6781) ";; ;; http://lists.scheme-reports.org/pipermail/scheme-reports/2013-December/003876.html" + ATMOSPHERE: (6781..6782) " +" + ATMOSPHERE: (6782..6804) ";; (define (means ton)" + ATMOSPHERE: (6804..6805) " +" + ATMOSPHERE: (6805..6818) ";; (letrec*" + ATMOSPHERE: (6818..6819) " +" + ATMOSPHERE: (6819..6833) ";; ((mean" + ATMOSPHERE: (6833..6834) " +" + ATMOSPHERE: (6834..6858) ";; (lambda (f g)" + ATMOSPHERE: (6858..6859) " +" + ATMOSPHERE: (6859..6895) ";; (f (/ (sum g ton) n))))" + ATMOSPHERE: (6895..6896) " +" + ATMOSPHERE: (6896..6909) ";; (sum" + ATMOSPHERE: (6909..6910) " +" + ATMOSPHERE: (6910..6936) ";; (lambda (g ton)" + ATMOSPHERE: (6936..6937) " +" + ATMOSPHERE: (6937..6965) ";; (if (null? ton)" + ATMOSPHERE: (6965..6966) " +" + ATMOSPHERE: (6966..6984) ";; (+)" + ATMOSPHERE: (6984..6985) " +" + ATMOSPHERE: (6985..7017) ";; (if (number? ton)" + ATMOSPHERE: (7017..7018) " +" + ATMOSPHERE: (7018..7044) ";; (g ton)" + ATMOSPHERE: (7044..7045) " +" + ATMOSPHERE: (7045..7084) ";; (+ (sum g (car ton))" + ATMOSPHERE: (7084..7085) " +" + ATMOSPHERE: (7085..7129) ";; (sum g (cdr ton)))))))" + ATMOSPHERE: (7129..7130) " +" + ATMOSPHERE: (7130..7168) ";; (n (sum (lambda (x) 1) ton)))" + ATMOSPHERE: (7168..7169) " +" + ATMOSPHERE: (7169..7204) ";; (values (mean values values)" + ATMOSPHERE: (7204..7205) " +" + ATMOSPHERE: (7205..7234) ";; (mean exp log)" + ATMOSPHERE: (7234..7235) " +" + ATMOSPHERE: (7235..7263) ";; (mean / /))))" + ATMOSPHERE: (7263..7264) " +" + ATMOSPHERE: (7264..7314) ";; (let*-values (((a b c) (means '(8 5 99 1 22))))" + ATMOSPHERE: (7314..7315) " +" + ATMOSPHERE: (7315..7331) ";; (test 27 a)" + ATMOSPHERE: (7331..7332) " +" + ATMOSPHERE: (7332..7351) ";; (test 9.728 b)" + ATMOSPHERE: (7351..7352) " +" + ATMOSPHERE: (7352..7375) ";; (test 1800/497 c))" + ATMOSPHERE: (7375..7377) " + +" + ATMOSPHERE: (7377..7431) ";; (let*-values (((root rem) (exact-integer-sqrt 32)))" + ATMOSPHERE: (7431..7432) " +" + ATMOSPHERE: (7432..7460) ";; (test 35 (* root rem)))" + ATMOSPHERE: (7460..7462) " + +" + ATMOSPHERE: (7462..7486) ";; (test '(1073741824 0)" + ATMOSPHERE: (7486..7487) " +" + ATMOSPHERE: (7487..7554) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 60))))" + ATMOSPHERE: (7554..7555) " +" + ATMOSPHERE: (7555..7581) ";; (list root rem)))" + ATMOSPHERE: (7581..7583) " + +" + ATMOSPHERE: (7583..7616) ";; (test '(1518500249 3000631951)" + ATMOSPHERE: (7616..7617) " +" + ATMOSPHERE: (7617..7684) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 61))))" + ATMOSPHERE: (7684..7685) " +" + ATMOSPHERE: (7685..7711) ";; (list root rem)))" + ATMOSPHERE: (7711..7713) " + +" + ATMOSPHERE: (7713..7762) ";; (test '(815238614083298888 443242361398135744)" + ATMOSPHERE: (7762..7763) " +" + ATMOSPHERE: (7763..7831) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 119))))" + ATMOSPHERE: (7831..7832) " +" + ATMOSPHERE: (7832..7858) ";; (list root rem)))" + ATMOSPHERE: (7858..7860) " + +" + ATMOSPHERE: (7860..7893) ";; (test '(1152921504606846976 0)" + ATMOSPHERE: (7893..7894) " +" + ATMOSPHERE: (7894..7962) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 120))))" + ATMOSPHERE: (7962..7963) " +" + ATMOSPHERE: (7963..7989) ";; (list root rem)))" + ATMOSPHERE: (7989..7991) " + +" + ATMOSPHERE: (7991..8042) ";; (test '(1630477228166597776 1772969445592542976)" + ATMOSPHERE: (8042..8043) " +" + ATMOSPHERE: (8043..8111) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 121))))" + ATMOSPHERE: (8111..8112) " +" + ATMOSPHERE: (8112..8138) ";; (list root rem)))" + ATMOSPHERE: (8138..8140) " + +" + ATMOSPHERE: (8140..8193) ";; (test '(31622776601683793319 62545769258890964239)" + ATMOSPHERE: (8193..8194) " +" + ATMOSPHERE: (8194..8262) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 10 39))))" + ATMOSPHERE: (8262..8263) " +" + ATMOSPHERE: (8263..8289) ";; (list root rem)))" + ATMOSPHERE: (8289..8291) " + +" + ATMOSPHERE: (8291..8355) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 140))))" + ATMOSPHERE: (8355..8356) " +" + ATMOSPHERE: (8356..8373) ";; (test 0 rem)" + ATMOSPHERE: (8373..8374) " +" + ATMOSPHERE: (8374..8413) ";; (test (expt 2 140) (square root)))" + ATMOSPHERE: (8413..8415) " + +" + ATMOSPHERE: (8415..8469) ";; (test '(x y x y) (let ((a 'a) (b 'b) (x 'x) (y 'y))" + ATMOSPHERE: (8469..8470) " +" + ATMOSPHERE: (8470..8509) ";; (let*-values (((a b) (values x y))" + ATMOSPHERE: (8509..8510) " +" + ATMOSPHERE: (8510..8550) ";; ((x y) (values a b)))" + ATMOSPHERE: (8550..8551) " +" + ATMOSPHERE: (8551..8575) ";; (list a b x y))))" + ATMOSPHERE: (8575..8577) " + +" + ATMOSPHERE: (8577..8610) ";; (test 'ok (let-values () 'ok))" + ATMOSPHERE: (8610..8612) " + +" + ATMOSPHERE: (8612..8635) ";; (test 1 (let ((x 1))" + ATMOSPHERE: (8635..8636) " +" + ATMOSPHERE: (8636..8657) ";; (let*-values ()" + ATMOSPHERE: (8657..8658) " +" + ATMOSPHERE: (8658..8678) ";; (define x 2)" + ATMOSPHERE: (8678..8679) " +" + ATMOSPHERE: (8679..8690) ";; #f)" + ATMOSPHERE: (8690..8691) " +" + ATMOSPHERE: (8691..8700) ";; x))" + ATMOSPHERE: (8700..8702) " + +" + FORM: (8702..8757) + OPEN_PAREN: (8702..8703) "(" + SYMBOL: (8703..8706) + IDENTIFIER: (8703..8706) "let" + ATMOSPHERE: (8706..8707) " " + FORM: (8707..8709) + OPEN_PAREN: (8707..8708) "(" + CLOSE_PAREN: (8708..8709) ")" + ATMOSPHERE: (8709..8712) " + " + FORM: (8712..8724) + OPEN_PAREN: (8712..8713) "(" + SYMBOL: (8713..8719) + IDENTIFIER: (8713..8719) "define" + ATMOSPHERE: (8719..8720) " " + SYMBOL: (8720..8721) + IDENTIFIER: (8720..8721) "x" + ATMOSPHERE: (8721..8722) " " + CONSTANT: (8722..8723) + NUMBER: (8722..8723) "0" + CLOSE_PAREN: (8723..8724) ")" + ATMOSPHERE: (8724..8727) " + " + FORM: (8727..8737) + OPEN_PAREN: (8727..8728) "(" + SYMBOL: (8728..8732) + IDENTIFIER: (8728..8732) "set!" + ATMOSPHERE: (8732..8733) " " + SYMBOL: (8733..8734) + IDENTIFIER: (8733..8734) "x" + ATMOSPHERE: (8734..8735) " " + CONSTANT: (8735..8736) + NUMBER: (8735..8736) "5" + CLOSE_PAREN: (8736..8737) ")" + ATMOSPHERE: (8737..8740) " + " + FORM: (8740..8756) + OPEN_PAREN: (8740..8741) "(" + SYMBOL: (8741..8745) + IDENTIFIER: (8741..8745) "test" + ATMOSPHERE: (8745..8746) " " + CONSTANT: (8746..8747) + NUMBER: (8746..8747) "6" + ATMOSPHERE: (8747..8748) " " + FORM: (8748..8755) + OPEN_PAREN: (8748..8749) "(" + SYMBOL: (8749..8750) + IDENTIFIER: (8749..8750) "+" + ATMOSPHERE: (8750..8751) " " + SYMBOL: (8751..8752) + IDENTIFIER: (8751..8752) "x" + ATMOSPHERE: (8752..8753) " " + CONSTANT: (8753..8754) + NUMBER: (8753..8754) "1" + CLOSE_PAREN: (8754..8755) ")" + CLOSE_PAREN: (8755..8756) ")" + CLOSE_PAREN: (8756..8757) ")" + ATMOSPHERE: (8757..8759) " + +" + ATMOSPHERE: (8759..8782) ";;; FIXME: `do` support" + ATMOSPHERE: (8782..8783) " +" + ATMOSPHERE: (8783..8831) ";; (test #(0 1 2 3 4) (do ((vec (make-vector 5))" + ATMOSPHERE: (8831..8832) " +" + ATMOSPHERE: (8832..8854) ";; (i 0 (+ i 1)))" + ATMOSPHERE: (8854..8855) " +" + ATMOSPHERE: (8855..8875) ";; ((= i 5) vec)" + ATMOSPHERE: (8875..8876) " +" + ATMOSPHERE: (8876..8904) ";; (vector-set! vec i i)))" + ATMOSPHERE: (8904..8906) " + +" + ATMOSPHERE: (8906..8941) ";; (test 25 (let ((x '(1 3 5 7 9)))" + ATMOSPHERE: (8941..8942) " +" + ATMOSPHERE: (8942..8965) ";; (do ((x x (cdr x))" + ATMOSPHERE: (8965..8966) " +" + ATMOSPHERE: (8966..9000) ";; (sum 0 (+ sum (car x))))" + ATMOSPHERE: (9000..9001) " +" + ATMOSPHERE: (9001..9028) ";; ((null? x) sum))))" + ATMOSPHERE: (9028..9030) " + +" + ATMOSPHERE: (9030..9048) ";;; FIXME: looping" + ATMOSPHERE: (9048..9049) " +" + ATMOSPHERE: (9049..9076) ";; (test '((6 1 3) (-5 -2))" + ATMOSPHERE: (9076..9077) " +" + ATMOSPHERE: (9077..9119) ";; (let loop ((numbers '(3 -2 1 6 -5))" + ATMOSPHERE: (9119..9120) " +" + ATMOSPHERE: (9120..9150) ";; (nonneg '())" + ATMOSPHERE: (9150..9151) " +" + ATMOSPHERE: (9151..9179) ";; (neg '()))" + ATMOSPHERE: (9179..9180) " +" + ATMOSPHERE: (9180..9230) ";; (cond ((null? numbers) (list nonneg neg))" + ATMOSPHERE: (9230..9231) " +" + ATMOSPHERE: (9231..9267) ";; ((>= (car numbers) 0)" + ATMOSPHERE: (9267..9268) " +" + ATMOSPHERE: (9268..9303) ";; (loop (cdr numbers)" + ATMOSPHERE: (9303..9304) " +" + ATMOSPHERE: (9304..9353) ";; (cons (car numbers) nonneg)" + ATMOSPHERE: (9353..9354) " +" + ATMOSPHERE: (9354..9381) ";; neg))" + ATMOSPHERE: (9381..9382) " +" + ATMOSPHERE: (9382..9417) ";; ((< (car numbers) 0)" + ATMOSPHERE: (9417..9418) " +" + ATMOSPHERE: (9418..9453) ";; (loop (cdr numbers)" + ATMOSPHERE: (9453..9454) " +" + ATMOSPHERE: (9454..9482) ";; nonneg" + ATMOSPHERE: (9482..9483) " +" + ATMOSPHERE: (9483..9534) ";; (cons (car numbers) neg))))))" + ATMOSPHERE: (9534..9536) " + +" + ATMOSPHERE: (9536..9571) ";; (test 3 (force (delay (+ 1 2))))" + ATMOSPHERE: (9571..9573) " + +" + ATMOSPHERE: (9573..9590) ";; (test '(3 3) " + ATMOSPHERE: (9590..9591) " +" + ATMOSPHERE: (9591..9624) ";; (let ((p (delay (+ 1 2))))" + ATMOSPHERE: (9624..9625) " +" + ATMOSPHERE: (9625..9662) ";; (list (force p) (force p))))" + ATMOSPHERE: (9662..9664) " + +" + ATMOSPHERE: (9664..9683) ";; (define integers" + ATMOSPHERE: (9683..9684) " +" + ATMOSPHERE: (9684..9703) ";; (letrec ((next" + ATMOSPHERE: (9703..9704) " +" + ATMOSPHERE: (9704..9730) ";; (lambda (n)" + ATMOSPHERE: (9730..9731) " +" + ATMOSPHERE: (9731..9782) ";; (delay (cons n (next (+ n 1)))))))" + ATMOSPHERE: (9782..9783) " +" + ATMOSPHERE: (9783..9800) ";; (next 0)))" + ATMOSPHERE: (9800..9801) " +" + ATMOSPHERE: (9801..9816) ";; (define head" + ATMOSPHERE: (9816..9817) " +" + ATMOSPHERE: (9817..9861) ";; (lambda (stream) (car (force stream))))" + ATMOSPHERE: (9861..9862) " +" + ATMOSPHERE: (9862..9877) ";; (define tail" + ATMOSPHERE: (9877..9878) " +" + ATMOSPHERE: (9878..9922) ";; (lambda (stream) (cdr (force stream))))" + ATMOSPHERE: (9922..9924) " + +" + ATMOSPHERE: (9924..9965) ";; (test 2 (head (tail (tail integers))))" + ATMOSPHERE: (9965..9967) " + +" + ATMOSPHERE: (9967..9998) ";; (define (stream-filter p? s)" + ATMOSPHERE: (9998..9999) " +" + ATMOSPHERE: (9999..10016) ";; (delay-force" + ATMOSPHERE: (10016..10017) " +" + ATMOSPHERE: (10017..10045) ";; (if (null? (force s)) " + ATMOSPHERE: (10045..10046) " +" + ATMOSPHERE: (10046..10067) ";; (delay '())" + ATMOSPHERE: (10067..10068) " +" + ATMOSPHERE: (10068..10103) ";; (let ((h (car (force s)))" + ATMOSPHERE: (10103..10104) " +" + ATMOSPHERE: (10104..10140) ";; (t (cdr (force s))))" + ATMOSPHERE: (10140..10141) " +" + ATMOSPHERE: (10141..10163) ";; (if (p? h)" + ATMOSPHERE: (10163..10164) " +" + ATMOSPHERE: (10164..10217) ";; (delay (cons h (stream-filter p? t)))" + ATMOSPHERE: (10217..10218) " +" + ATMOSPHERE: (10218..10259) ";; (stream-filter p? t))))))" + ATMOSPHERE: (10259..10261) " + +" + ATMOSPHERE: (10261..10323) ";; (test 5 (head (tail (tail (stream-filter odd? integers)))))" + ATMOSPHERE: (10323..10325) " + +" + ATMOSPHERE: (10325..10335) ";; (let ()" + ATMOSPHERE: (10335..10336) " +" + ATMOSPHERE: (10336..10353) ";; (define x 5)" + ATMOSPHERE: (10353..10354) " +" + ATMOSPHERE: (10354..10375) ";; (define count 0)" + ATMOSPHERE: (10375..10376) " +" + ATMOSPHERE: (10376..10390) ";; (define p" + ATMOSPHERE: (10390..10391) " +" + ATMOSPHERE: (10391..10436) ";; (delay (begin (set! count (+ count 1))" + ATMOSPHERE: (10436..10437) " +" + ATMOSPHERE: (10437..10473) ";; (if (> count x)" + ATMOSPHERE: (10473..10474) " +" + ATMOSPHERE: (10474..10504) ";; count" + ATMOSPHERE: (10504..10505) " +" + ATMOSPHERE: (10505..10543) ";; (force p)))))" + ATMOSPHERE: (10543..10544) " +" + ATMOSPHERE: (10544..10567) ";; (test 6 (force p))" + ATMOSPHERE: (10567..10568) " +" + ATMOSPHERE: (10568..10612) ";; (test 6 (begin (set! x 10) (force p))))" + ATMOSPHERE: (10612..10614) " + +" + ATMOSPHERE: (10614..10653) ";; (test #t (promise? (delay (+ 2 2))))" + ATMOSPHERE: (10653..10654) " +" + ATMOSPHERE: (10654..10700) ";; (test #t (promise? (make-promise (+ 2 2))))" + ATMOSPHERE: (10700..10701) " +" + ATMOSPHERE: (10701..10712) ";; (test #t" + ATMOSPHERE: (10712..10713) " +" + ATMOSPHERE: (10713..10746) ";; (let ((x (delay (+ 2 2))))" + ATMOSPHERE: (10746..10747) " +" + ATMOSPHERE: (10747..10765) ";; (force x)" + ATMOSPHERE: (10765..10766) " +" + ATMOSPHERE: (10766..10789) ";; (promise? x)))" + ATMOSPHERE: (10789..10790) " +" + ATMOSPHERE: (10790..10801) ";; (test #t" + ATMOSPHERE: (10801..10802) " +" + ATMOSPHERE: (10802..10842) ";; (let ((x (make-promise (+ 2 2))))" + ATMOSPHERE: (10842..10843) " +" + ATMOSPHERE: (10843..10861) ";; (force x)" + ATMOSPHERE: (10861..10862) " +" + ATMOSPHERE: (10862..10885) ";; (promise? x)))" + ATMOSPHERE: (10885..10886) " +" + ATMOSPHERE: (10886..10928) ";; (test 4 (force (make-promise (+ 2 2))))" + ATMOSPHERE: (10928..10929) " +" + ATMOSPHERE: (10929..10986) ";; (test 4 (force (make-promise (make-promise (+ 2 2)))))" + ATMOSPHERE: (10986..10988) " + +" + ATMOSPHERE: (10988..11004) ";; (define radix" + ATMOSPHERE: (11004..11005) " +" + ATMOSPHERE: (11005..11025) ";; (make-parameter" + ATMOSPHERE: (11025..11026) " +" + ATMOSPHERE: (11026..11034) ";; 10" + ATMOSPHERE: (11034..11035) " +" + ATMOSPHERE: (11035..11052) ";; (lambda (x)" + ATMOSPHERE: (11052..11053) " +" + ATMOSPHERE: (11053..11095) ";; (if (and (integer? x) (<= 2 x 16))" + ATMOSPHERE: (11095..11096) " +" + ATMOSPHERE: (11096..11109) ";; x" + ATMOSPHERE: (11109..11110) " +" + ATMOSPHERE: (11110..11149) ";; (error "invalid radix")))))" + ATMOSPHERE: (11149..11150) " +" + ATMOSPHERE: (11150..11194) ";; (define (f n) (number->string n (radix)))" + ATMOSPHERE: (11194..11195) " +" + ATMOSPHERE: (11195..11216) ";; (test "12" (f 12))" + ATMOSPHERE: (11216..11217) " +" + ATMOSPHERE: (11217..11258) ";; (test "1100" (parameterize ((radix 2))" + ATMOSPHERE: (11258..11259) " +" + ATMOSPHERE: (11259..11272) ";; (f 12)))" + ATMOSPHERE: (11272..11273) " +" + ATMOSPHERE: (11273..11294) ";; (test "12" (f 12))" + ATMOSPHERE: (11294..11296) " + +" + ATMOSPHERE: (11296..11336) ";; (test '(list 3 4) `(list ,(+ 1 2) 4))" + ATMOSPHERE: (11336..11337) " +" + ATMOSPHERE: (11337..11405) ";; (let ((name 'a)) (test '(list a (quote a)) `(list ,name ',name)))" + ATMOSPHERE: (11405..11406) " +" + ATMOSPHERE: (11406..11468) ";; (test '(a 3 4 5 6 b) `(a ,(+ 1 2) ,@(map abs '(4 -5 6)) b))" + ATMOSPHERE: (11468..11469) " +" + ATMOSPHERE: (11469..11494) ";; (test #(10 5 4 16 9 8)" + ATMOSPHERE: (11494..11495) " +" + ATMOSPHERE: (11495..11547) ";; `#(10 5 ,(square 2) ,@(map square '(4 3)) 8))" + ATMOSPHERE: (11547..11548) " +" + ATMOSPHERE: (11548..11590) ";; (test '(a `(b ,(+ 1 2) ,(foo 4 d) e) f)" + ATMOSPHERE: (11590..11591) " +" + ATMOSPHERE: (11591..11640) ";; `(a `(b ,(+ 1 2) ,(foo ,(+ 1 3) d) e) f) )" + ATMOSPHERE: (11640..11641) " +" + ATMOSPHERE: (11641..11660) ";; (let ((name1 'x)" + ATMOSPHERE: (11660..11661) " +" + ATMOSPHERE: (11661..11681) ";; (name2 'y))" + ATMOSPHERE: (11681..11682) " +" + ATMOSPHERE: (11682..11747) ";; (test '(a `(b ,x ,'y d) e) `(a `(b ,,name1 ,',name2 d) e)))" + ATMOSPHERE: (11747..11748) " +" + ATMOSPHERE: (11748..11810) ";; (test '(list 3 4) (quasiquote (list (unquote (+ 1 2)) 4)) )" + ATMOSPHERE: (11810..11811) " +" + ATMOSPHERE: (11811..11879) ";; (test `(list ,(+ 1 2) 4) (quasiquote (list (unquote (+ 1 2)) 4)))" + ATMOSPHERE: (11879..11881) " + +" + ATMOSPHERE: (11881..11896) ";; (define plus" + ATMOSPHERE: (11896..11897) " +" + ATMOSPHERE: (11897..11915) ";; (case-lambda " + ATMOSPHERE: (11915..11916) " +" + ATMOSPHERE: (11916..11928) ";; (() 0)" + ATMOSPHERE: (11928..11929) " +" + ATMOSPHERE: (11929..11942) ";; ((x) x)" + ATMOSPHERE: (11942..11943) " +" + ATMOSPHERE: (11943..11964) ";; ((x y) (+ x y))" + ATMOSPHERE: (11964..11965) " +" + ATMOSPHERE: (11965..11994) ";; ((x y z) (+ (+ x y) z))" + ATMOSPHERE: (11994..11995) " +" + ATMOSPHERE: (11995..12024) ";; (args (apply + args))))" + ATMOSPHERE: (12024..12026) " + +" + ATMOSPHERE: (12026..12044) ";; (test 0 (plus))" + ATMOSPHERE: (12044..12045) " +" + ATMOSPHERE: (12045..12065) ";; (test 1 (plus 1))" + ATMOSPHERE: (12065..12066) " +" + ATMOSPHERE: (12066..12088) ";; (test 3 (plus 1 2))" + ATMOSPHERE: (12088..12089) " +" + ATMOSPHERE: (12089..12113) ";; (test 6 (plus 1 2 3))" + ATMOSPHERE: (12113..12114) " +" + ATMOSPHERE: (12114..12141) ";; (test 10 (plus 1 2 3 4))" + ATMOSPHERE: (12141..12143) " + +" + ATMOSPHERE: (12143..12158) ";; (define mult" + ATMOSPHERE: (12158..12159) " +" + ATMOSPHERE: (12159..12176) ";; (case-lambda" + ATMOSPHERE: (12176..12177) " +" + ATMOSPHERE: (12177..12189) ";; (() 1)" + ATMOSPHERE: (12189..12190) " +" + ATMOSPHERE: (12190..12203) ";; ((x) x)" + ATMOSPHERE: (12203..12204) " +" + ATMOSPHERE: (12204..12225) ";; ((x y) (* x y))" + ATMOSPHERE: (12225..12226) " +" + ATMOSPHERE: (12226..12268) ";; ((x y . z) (apply mult (* x y) z))))" + ATMOSPHERE: (12268..12270) " + +" + ATMOSPHERE: (12270..12288) ";; (test 1 (mult))" + ATMOSPHERE: (12288..12289) " +" + ATMOSPHERE: (12289..12309) ";; (test 1 (mult 1))" + ATMOSPHERE: (12309..12310) " +" + ATMOSPHERE: (12310..12332) ";; (test 2 (mult 1 2))" + ATMOSPHERE: (12332..12333) " +" + ATMOSPHERE: (12333..12357) ";; (test 6 (mult 1 2 3))" + ATMOSPHERE: (12357..12358) " +" + ATMOSPHERE: (12358..12385) ";; (test 24 (mult 1 2 3 4))" + ATMOSPHERE: (12385..12387) " + +" + FORM: (12387..12397) + OPEN_PAREN: (12387..12388) "(" + SYMBOL: (12388..12396) + IDENTIFIER: (12388..12396) "test-end" + CLOSE_PAREN: (12396..12397) ")" + ATMOSPHERE: (12397..12399) " + +" + FORM: (12399..12424) + OPEN_PAREN: (12399..12400) "(" + SYMBOL: (12400..12410) + IDENTIFIER: (12400..12410) "test-begin" + ATMOSPHERE: (12410..12411) " " + CONSTANT: (12411..12423) + STRING: (12411..12423) ""4.3 Macros"" + CLOSE_PAREN: (12423..12424) ")" + ATMOSPHERE: (12424..12426) " + +" + FORM: (12426..12757) + OPEN_PAREN: (12426..12427) "(" + SYMBOL: (12427..12431) + IDENTIFIER: (12427..12431) "test" + ATMOSPHERE: (12431..12432) " " + QUOTED_DATUM: (12432..12437) + QUOTE: (12432..12433) "'" + SYMBOL: (12433..12436) + IDENTIFIER: (12433..12436) "now" + ATMOSPHERE: (12436..12437) " " + FORM: (12437..12756) + OPEN_PAREN: (12437..12438) "(" + SYMBOL: (12438..12448) + IDENTIFIER: (12438..12448) "let-syntax" + ATMOSPHERE: (12448..12464) " + " + FORM: (12464..12668) + OPEN_PAREN: (12464..12465) "(" + FORM: (12465..12667) + OPEN_PAREN: (12465..12466) "(" + SYMBOL: (12466..12470) + IDENTIFIER: (12466..12470) "when" + ATMOSPHERE: (12470..12471) " " + FORM: (12471..12666) + OPEN_PAREN: (12471..12472) "(" + SYMBOL: (12472..12484) + IDENTIFIER: (12472..12484) "syntax-rules" + ATMOSPHERE: (12484..12485) " " + FORM: (12485..12487) + OPEN_PAREN: (12485..12486) "(" + CLOSE_PAREN: (12486..12487) ")" + ATMOSPHERE: (12487..12512) " + " + FORM: (12512..12665) + OPEN_PAREN: (12512..12513) "(" + FORM: (12513..12540) + OPEN_PAREN: (12513..12514) "(" + SYMBOL: (12514..12518) + IDENTIFIER: (12514..12518) "when" + ATMOSPHERE: (12518..12519) " " + SYMBOL: (12519..12523) + IDENTIFIER: (12519..12523) "test" + ATMOSPHERE: (12523..12524) " " + SYMBOL: (12524..12529) + IDENTIFIER: (12524..12529) "stmt1" + ATMOSPHERE: (12529..12530) " " + SYMBOL: (12530..12535) + IDENTIFIER: (12530..12535) "stmt2" + ATMOSPHERE: (12535..12536) " " + SYMBOL: (12536..12539) + IDENTIFIER: (12536..12539) "..." + CLOSE_PAREN: (12539..12540) ")" + ATMOSPHERE: (12540..12566) " + " + FORM: (12566..12664) + OPEN_PAREN: (12566..12567) "(" + SYMBOL: (12567..12569) + IDENTIFIER: (12567..12569) "if" + ATMOSPHERE: (12569..12570) " " + SYMBOL: (12570..12574) + IDENTIFIER: (12570..12574) "test" + ATMOSPHERE: (12574..12604) " + " + FORM: (12604..12663) + OPEN_PAREN: (12604..12605) "(" + SYMBOL: (12605..12610) + IDENTIFIER: (12605..12610) "begin" + ATMOSPHERE: (12610..12611) " " + SYMBOL: (12611..12616) + IDENTIFIER: (12611..12616) "stmt1" + ATMOSPHERE: (12616..12653) " + " + SYMBOL: (12653..12658) + IDENTIFIER: (12653..12658) "stmt2" + ATMOSPHERE: (12658..12659) " " + SYMBOL: (12659..12662) + IDENTIFIER: (12659..12662) "..." + CLOSE_PAREN: (12662..12663) ")" + CLOSE_PAREN: (12663..12664) ")" + CLOSE_PAREN: (12664..12665) ")" + CLOSE_PAREN: (12665..12666) ")" + CLOSE_PAREN: (12666..12667) ")" + CLOSE_PAREN: (12667..12668) ")" + ATMOSPHERE: (12668..12682) " + " + FORM: (12682..12755) + OPEN_PAREN: (12682..12683) "(" + SYMBOL: (12683..12686) + IDENTIFIER: (12683..12686) "let" + ATMOSPHERE: (12686..12687) " " + FORM: (12687..12696) + OPEN_PAREN: (12687..12688) "(" + FORM: (12688..12695) + OPEN_PAREN: (12688..12689) "(" + SYMBOL: (12689..12691) + IDENTIFIER: (12689..12691) "if" + ATMOSPHERE: (12691..12692) " " + CONSTANT: (12692..12694) + BOOLEAN: (12692..12694) "#t" + CLOSE_PAREN: (12694..12695) ")" + CLOSE_PAREN: (12695..12696) ")" + ATMOSPHERE: (12696..12712) " + " + FORM: (12712..12736) + OPEN_PAREN: (12712..12713) "(" + SYMBOL: (12713..12717) + IDENTIFIER: (12713..12717) "when" + ATMOSPHERE: (12717..12718) " " + SYMBOL: (12718..12720) + IDENTIFIER: (12718..12720) "if" + ATMOSPHERE: (12720..12721) " " + FORM: (12721..12735) + OPEN_PAREN: (12721..12722) "(" + SYMBOL: (12722..12726) + IDENTIFIER: (12722..12726) "set!" + ATMOSPHERE: (12726..12727) " " + SYMBOL: (12727..12729) + IDENTIFIER: (12727..12729) "if" + ATMOSPHERE: (12729..12730) " " + QUOTED_DATUM: (12730..12734) + QUOTE: (12730..12731) "'" + SYMBOL: (12731..12734) + IDENTIFIER: (12731..12734) "now" + CLOSE_PAREN: (12734..12735) ")" + CLOSE_PAREN: (12735..12736) ")" + ATMOSPHERE: (12736..12752) " + " + SYMBOL: (12752..12754) + IDENTIFIER: (12752..12754) "if" + CLOSE_PAREN: (12754..12755) ")" + CLOSE_PAREN: (12755..12756) ")" + CLOSE_PAREN: (12756..12757) ")" + ATMOSPHERE: (12757..12759) " + +" + FORM: (12759..12871) + OPEN_PAREN: (12759..12760) "(" + SYMBOL: (12760..12764) + IDENTIFIER: (12760..12764) "test" + ATMOSPHERE: (12764..12765) " " + QUOTED_DATUM: (12765..12772) + QUOTE: (12765..12766) "'" + SYMBOL: (12766..12771) + IDENTIFIER: (12766..12771) "outer" + ATMOSPHERE: (12771..12772) " " + FORM: (12772..12870) + OPEN_PAREN: (12772..12773) "(" + SYMBOL: (12773..12776) + IDENTIFIER: (12773..12776) "let" + ATMOSPHERE: (12776..12777) " " + FORM: (12777..12789) + OPEN_PAREN: (12777..12778) "(" + FORM: (12778..12788) + OPEN_PAREN: (12778..12779) "(" + SYMBOL: (12779..12780) + IDENTIFIER: (12779..12780) "x" + ATMOSPHERE: (12780..12781) " " + QUOTED_DATUM: (12781..12787) + QUOTE: (12781..12782) "'" + SYMBOL: (12782..12787) + IDENTIFIER: (12782..12787) "outer" + CLOSE_PAREN: (12787..12788) ")" + CLOSE_PAREN: (12788..12789) ")" + ATMOSPHERE: (12789..12792) " + " + FORM: (12792..12869) + OPEN_PAREN: (12792..12793) "(" + SYMBOL: (12793..12803) + IDENTIFIER: (12793..12803) "let-syntax" + ATMOSPHERE: (12803..12804) " " + FORM: (12804..12835) + OPEN_PAREN: (12804..12805) "(" + FORM: (12805..12834) + OPEN_PAREN: (12805..12806) "(" + SYMBOL: (12806..12807) + IDENTIFIER: (12806..12807) "m" + ATMOSPHERE: (12807..12808) " " + FORM: (12808..12833) + OPEN_PAREN: (12808..12809) "(" + SYMBOL: (12809..12821) + IDENTIFIER: (12809..12821) "syntax-rules" + ATMOSPHERE: (12821..12822) " " + FORM: (12822..12824) + OPEN_PAREN: (12822..12823) "(" + CLOSE_PAREN: (12823..12824) ")" + ATMOSPHERE: (12824..12825) " " + FORM: (12825..12832) + OPEN_PAREN: (12825..12826) "(" + FORM: (12826..12829) + OPEN_PAREN: (12826..12827) "(" + SYMBOL: (12827..12828) + IDENTIFIER: (12827..12828) "m" + CLOSE_PAREN: (12828..12829) ")" + ATMOSPHERE: (12829..12830) " " + SYMBOL: (12830..12831) + IDENTIFIER: (12830..12831) "x" + CLOSE_PAREN: (12831..12832) ")" + CLOSE_PAREN: (12832..12833) ")" + CLOSE_PAREN: (12833..12834) ")" + CLOSE_PAREN: (12834..12835) ")" + ATMOSPHERE: (12835..12840) " + " + FORM: (12840..12868) + OPEN_PAREN: (12840..12841) "(" + SYMBOL: (12841..12844) + IDENTIFIER: (12841..12844) "let" + ATMOSPHERE: (12844..12845) " " + FORM: (12845..12857) + OPEN_PAREN: (12845..12846) "(" + FORM: (12846..12856) + OPEN_PAREN: (12846..12847) "(" + SYMBOL: (12847..12848) + IDENTIFIER: (12847..12848) "x" + ATMOSPHERE: (12848..12849) " " + QUOTED_DATUM: (12849..12855) + QUOTE: (12849..12850) "'" + SYMBOL: (12850..12855) + IDENTIFIER: (12850..12855) "inner" + CLOSE_PAREN: (12855..12856) ")" + CLOSE_PAREN: (12856..12857) ")" + ATMOSPHERE: (12857..12864) " + " + FORM: (12864..12867) + OPEN_PAREN: (12864..12865) "(" + SYMBOL: (12865..12866) + IDENTIFIER: (12865..12866) "m" + CLOSE_PAREN: (12866..12867) ")" + CLOSE_PAREN: (12867..12868) ")" + CLOSE_PAREN: (12868..12869) ")" + CLOSE_PAREN: (12869..12870) ")" + CLOSE_PAREN: (12870..12871) ")" + ATMOSPHERE: (12871..12873) " + +" + ATMOSPHERE: (12873..12891) ";;; FIXME: hygene?" + ATMOSPHERE: (12891..12892) " +" + ATMOSPHERE: (12892..12917) ";; (test 7 (letrec-syntax" + ATMOSPHERE: (12917..12918) " +" + ATMOSPHERE: (12918..12947) ";; ((my-or (syntax-rules ()" + ATMOSPHERE: (12947..12948) " +" + ATMOSPHERE: (12948..12975) ";; ((my-or) #f)" + ATMOSPHERE: (12975..12976) " +" + ATMOSPHERE: (12976..13004) ";; ((my-or e) e)" + ATMOSPHERE: (13004..13005) " +" + ATMOSPHERE: (13005..13038) ";; ((my-or e1 e2 ...)" + ATMOSPHERE: (13038..13039) " +" + ATMOSPHERE: (13039..13071) ";; (let ((temp e1))" + ATMOSPHERE: (13071..13072) " +" + ATMOSPHERE: (13072..13098) ";; (if temp" + ATMOSPHERE: (13098..13099) " +" + ATMOSPHERE: (13099..13125) ";; temp" + ATMOSPHERE: (13125..13126) " +" + ATMOSPHERE: (13126..13168) ";; (my-or e2 ...)))))))" + ATMOSPHERE: (13168..13169) " +" + ATMOSPHERE: (13169..13186) ";; (let ((x #f)" + ATMOSPHERE: (13186..13187) " +" + ATMOSPHERE: (13187..13203) ";; (y 7)" + ATMOSPHERE: (13203..13204) " +" + ATMOSPHERE: (13204..13223) ";; (temp 8)" + ATMOSPHERE: (13223..13224) " +" + ATMOSPHERE: (13224..13245) ";; (let odd?)" + ATMOSPHERE: (13245..13246) " +" + ATMOSPHERE: (13246..13268) ";; (if even?))" + ATMOSPHERE: (13268..13269) " +" + ATMOSPHERE: (13269..13284) ";; (my-or x" + ATMOSPHERE: (13284..13285) " +" + ATMOSPHERE: (13285..13309) ";; (let temp)" + ATMOSPHERE: (13309..13310) " +" + ATMOSPHERE: (13310..13330) ";; (if y)" + ATMOSPHERE: (13330..13331) " +" + ATMOSPHERE: (13331..13350) ";; y))))" + ATMOSPHERE: (13350..13352) " + +" + ATMOSPHERE: (13352..13397) ";;; FIXME: quoted elipsis `(... ...)` support" + ATMOSPHERE: (13397..13398) " +" + ATMOSPHERE: (13398..13430) ";; (define-syntax be-like-begin1" + ATMOSPHERE: (13430..13431) " +" + ATMOSPHERE: (13431..13452) ";; (syntax-rules ()" + ATMOSPHERE: (13452..13453) " +" + ATMOSPHERE: (13453..13482) ";; ((be-like-begin1 name)" + ATMOSPHERE: (13482..13483) " +" + ATMOSPHERE: (13483..13510) ";; (define-syntax name" + ATMOSPHERE: (13510..13511) " +" + ATMOSPHERE: (13511..13537) ";; (syntax-rules ()" + ATMOSPHERE: (13537..13538) " +" + ATMOSPHERE: (13538..13572) ";; ((name expr (... ...))" + ATMOSPHERE: (13572..13573) " +" + ATMOSPHERE: (13573..13614) ";; (begin expr (... ...))))))))" + ATMOSPHERE: (13614..13615) " +" + ATMOSPHERE: (13615..13644) ";; (be-like-begin1 sequence1)" + ATMOSPHERE: (13644..13645) " +" + ATMOSPHERE: (13645..13676) ";; (test 3 (sequence1 0 1 2 3))" + ATMOSPHERE: (13676..13678) " + +" + ATMOSPHERE: (13678..13710) ";; (define-syntax be-like-begin2" + ATMOSPHERE: (13710..13711) " +" + ATMOSPHERE: (13711..13732) ";; (syntax-rules ()" + ATMOSPHERE: (13732..13733) " +" + ATMOSPHERE: (13733..13762) ";; ((be-like-begin2 name)" + ATMOSPHERE: (13762..13763) " +" + ATMOSPHERE: (13763..13790) ";; (define-syntax name" + ATMOSPHERE: (13790..13791) " +" + ATMOSPHERE: (13791..13822) ";; (... (syntax-rules ()" + ATMOSPHERE: (13822..13823) " +" + ATMOSPHERE: (13823..13856) ";; ((name expr ...)" + ATMOSPHERE: (13856..13857) " +" + ATMOSPHERE: (13857..13898) ";; (begin expr ...))))))))" + ATMOSPHERE: (13898..13899) " +" + ATMOSPHERE: (13899..13928) ";; (be-like-begin2 sequence2)" + ATMOSPHERE: (13928..13929) " +" + ATMOSPHERE: (13929..13960) ";; (test 4 (sequence2 1 2 3 4))" + ATMOSPHERE: (13960..13962) " + +" + FORM: (13962..14152) + OPEN_PAREN: (13962..13963) "(" + SYMBOL: (13963..13976) + IDENTIFIER: (13963..13976) "define-syntax" + ATMOSPHERE: (13976..13977) " " + SYMBOL: (13977..13991) + IDENTIFIER: (13977..13991) "be-like-begin3" + ATMOSPHERE: (13991..13994) " + " + FORM: (13994..14151) + OPEN_PAREN: (13994..13995) "(" + SYMBOL: (13995..14007) + IDENTIFIER: (13995..14007) "syntax-rules" + ATMOSPHERE: (14007..14008) " " + FORM: (14008..14010) + OPEN_PAREN: (14008..14009) "(" + CLOSE_PAREN: (14009..14010) ")" + ATMOSPHERE: (14010..14015) " + " + FORM: (14015..14150) + OPEN_PAREN: (14015..14016) "(" + FORM: (14016..14037) + OPEN_PAREN: (14016..14017) "(" + SYMBOL: (14017..14031) + IDENTIFIER: (14017..14031) "be-like-begin3" + ATMOSPHERE: (14031..14032) " " + SYMBOL: (14032..14036) + IDENTIFIER: (14032..14036) "name" + CLOSE_PAREN: (14036..14037) ")" + ATMOSPHERE: (14037..14043) " + " + FORM: (14043..14149) + OPEN_PAREN: (14043..14044) "(" + SYMBOL: (14044..14057) + IDENTIFIER: (14044..14057) "define-syntax" + ATMOSPHERE: (14057..14058) " " + SYMBOL: (14058..14062) + IDENTIFIER: (14058..14062) "name" + ATMOSPHERE: (14062..14070) " + " + FORM: (14070..14148) + OPEN_PAREN: (14070..14071) "(" + SYMBOL: (14071..14083) + IDENTIFIER: (14071..14083) "syntax-rules" + ATMOSPHERE: (14083..14084) " " + SYMBOL: (14084..14088) + IDENTIFIER: (14084..14088) "dots" + ATMOSPHERE: (14088..14089) " " + FORM: (14089..14091) + OPEN_PAREN: (14089..14090) "(" + CLOSE_PAREN: (14090..14091) ")" + ATMOSPHERE: (14091..14101) " + " + FORM: (14101..14147) + OPEN_PAREN: (14101..14102) "(" + FORM: (14102..14118) + OPEN_PAREN: (14102..14103) "(" + SYMBOL: (14103..14107) + IDENTIFIER: (14103..14107) "name" + ATMOSPHERE: (14107..14108) " " + SYMBOL: (14108..14112) + IDENTIFIER: (14108..14112) "expr" + ATMOSPHERE: (14112..14113) " " + SYMBOL: (14113..14117) + IDENTIFIER: (14113..14117) "dots" + CLOSE_PAREN: (14117..14118) ")" + ATMOSPHERE: (14118..14129) " + " + FORM: (14129..14146) + OPEN_PAREN: (14129..14130) "(" + SYMBOL: (14130..14135) + IDENTIFIER: (14130..14135) "begin" + ATMOSPHERE: (14135..14136) " " + SYMBOL: (14136..14140) + IDENTIFIER: (14136..14140) "expr" + ATMOSPHERE: (14140..14141) " " + SYMBOL: (14141..14145) + IDENTIFIER: (14141..14145) "dots" + CLOSE_PAREN: (14145..14146) ")" + CLOSE_PAREN: (14146..14147) ")" + CLOSE_PAREN: (14147..14148) ")" + CLOSE_PAREN: (14148..14149) ")" + CLOSE_PAREN: (14149..14150) ")" + CLOSE_PAREN: (14150..14151) ")" + CLOSE_PAREN: (14151..14152) ")" + ATMOSPHERE: (14152..14153) " +" + FORM: (14153..14179) + OPEN_PAREN: (14153..14154) "(" + SYMBOL: (14154..14168) + IDENTIFIER: (14154..14168) "be-like-begin3" + ATMOSPHERE: (14168..14169) " " + SYMBOL: (14169..14178) + IDENTIFIER: (14169..14178) "sequence3" + CLOSE_PAREN: (14178..14179) ")" + ATMOSPHERE: (14179..14180) " +" + FORM: (14180..14208) + OPEN_PAREN: (14180..14181) "(" + SYMBOL: (14181..14185) + IDENTIFIER: (14181..14185) "test" + ATMOSPHERE: (14185..14186) " " + CONSTANT: (14186..14187) + NUMBER: (14186..14187) "5" + ATMOSPHERE: (14187..14188) " " + FORM: (14188..14207) + OPEN_PAREN: (14188..14189) "(" + SYMBOL: (14189..14198) + IDENTIFIER: (14189..14198) "sequence3" + ATMOSPHERE: (14198..14199) " " + CONSTANT: (14199..14200) + NUMBER: (14199..14200) "2" + ATMOSPHERE: (14200..14201) " " + CONSTANT: (14201..14202) + NUMBER: (14201..14202) "3" + ATMOSPHERE: (14202..14203) " " + CONSTANT: (14203..14204) + NUMBER: (14203..14204) "4" + ATMOSPHERE: (14204..14205) " " + CONSTANT: (14205..14206) + NUMBER: (14205..14206) "5" + CLOSE_PAREN: (14206..14207) ")" + CLOSE_PAREN: (14207..14208) ")" + ATMOSPHERE: (14208..14210) " + +" + ATMOSPHERE: (14210..14228) ";; ellipsis escape" + ATMOSPHERE: (14228..14229) " +" + FORM: (14229..14369) + OPEN_PAREN: (14229..14230) "(" + SYMBOL: (14230..14243) + IDENTIFIER: (14230..14243) "define-syntax" + ATMOSPHERE: (14243..14244) " " + SYMBOL: (14244..14254) + IDENTIFIER: (14244..14254) "elli-esc-1" + ATMOSPHERE: (14254..14257) " + " + FORM: (14257..14368) + OPEN_PAREN: (14257..14258) "(" + SYMBOL: (14258..14270) + IDENTIFIER: (14258..14270) "syntax-rules" + ATMOSPHERE: (14270..14271) " " + FORM: (14271..14273) + OPEN_PAREN: (14271..14272) "(" + CLOSE_PAREN: (14272..14273) ")" + ATMOSPHERE: (14273..14278) " + " + FORM: (14278..14299) + OPEN_PAREN: (14278..14279) "(" + FORM: (14279..14282) + OPEN_PAREN: (14279..14280) "(" + SYMBOL: (14280..14281) + IDENTIFIER: (14280..14281) "_" + CLOSE_PAREN: (14281..14282) ")" + ATMOSPHERE: (14282..14288) " + " + QUOTED_DATUM: (14288..14298) + QUOTE: (14288..14289) "'" + FORM: (14289..14298) + OPEN_PAREN: (14289..14290) "(" + SYMBOL: (14290..14293) + IDENTIFIER: (14290..14293) "..." + ATMOSPHERE: (14293..14294) " " + SYMBOL: (14294..14297) + IDENTIFIER: (14294..14297) "..." + CLOSE_PAREN: (14297..14298) ")" + CLOSE_PAREN: (14298..14299) ")" + ATMOSPHERE: (14299..14304) " + " + FORM: (14304..14331) + OPEN_PAREN: (14304..14305) "(" + FORM: (14305..14310) + OPEN_PAREN: (14305..14306) "(" + SYMBOL: (14306..14307) + IDENTIFIER: (14306..14307) "_" + ATMOSPHERE: (14307..14308) " " + SYMBOL: (14308..14309) + IDENTIFIER: (14308..14309) "x" + CLOSE_PAREN: (14309..14310) ")" + ATMOSPHERE: (14310..14316) " + " + QUOTED_DATUM: (14316..14330) + QUOTE: (14316..14317) "'" + FORM: (14317..14330) + OPEN_PAREN: (14317..14318) "(" + SYMBOL: (14318..14321) + IDENTIFIER: (14318..14321) "..." + ATMOSPHERE: (14321..14322) " " + FORM: (14322..14329) + OPEN_PAREN: (14322..14323) "(" + SYMBOL: (14323..14324) + IDENTIFIER: (14323..14324) "x" + ATMOSPHERE: (14324..14325) " " + SYMBOL: (14325..14328) + IDENTIFIER: (14325..14328) "..." + CLOSE_PAREN: (14328..14329) ")" + CLOSE_PAREN: (14329..14330) ")" + CLOSE_PAREN: (14330..14331) ")" + ATMOSPHERE: (14331..14336) " + " + FORM: (14336..14367) + OPEN_PAREN: (14336..14337) "(" + FORM: (14337..14344) + OPEN_PAREN: (14337..14338) "(" + SYMBOL: (14338..14339) + IDENTIFIER: (14338..14339) "_" + ATMOSPHERE: (14339..14340) " " + SYMBOL: (14340..14341) + IDENTIFIER: (14340..14341) "x" + ATMOSPHERE: (14341..14342) " " + SYMBOL: (14342..14343) + IDENTIFIER: (14342..14343) "y" + CLOSE_PAREN: (14343..14344) ")" + ATMOSPHERE: (14344..14350) " + " + QUOTED_DATUM: (14350..14366) + QUOTE: (14350..14351) "'" + FORM: (14351..14366) + OPEN_PAREN: (14351..14352) "(" + SYMBOL: (14352..14355) + IDENTIFIER: (14352..14355) "..." + ATMOSPHERE: (14355..14356) " " + FORM: (14356..14365) + OPEN_PAREN: (14356..14357) "(" + SYMBOL: (14357..14360) + IDENTIFIER: (14357..14360) "..." + ATMOSPHERE: (14360..14361) " " + SYMBOL: (14361..14362) + IDENTIFIER: (14361..14362) "x" + ATMOSPHERE: (14362..14363) " " + SYMBOL: (14363..14364) + IDENTIFIER: (14363..14364) "y" + CLOSE_PAREN: (14364..14365) ")" + CLOSE_PAREN: (14365..14366) ")" + CLOSE_PAREN: (14366..14367) ")" + CLOSE_PAREN: (14367..14368) ")" + CLOSE_PAREN: (14368..14369) ")" + ATMOSPHERE: (14369..14371) " + +" + FORM: (14371..14395) + OPEN_PAREN: (14371..14372) "(" + SYMBOL: (14372..14376) + IDENTIFIER: (14372..14376) "test" + ATMOSPHERE: (14376..14377) " " + QUOTED_DATUM: (14377..14382) + QUOTE: (14377..14378) "'" + SYMBOL: (14378..14381) + IDENTIFIER: (14378..14381) "..." + ATMOSPHERE: (14381..14382) " " + FORM: (14382..14394) + OPEN_PAREN: (14382..14383) "(" + SYMBOL: (14383..14393) + IDENTIFIER: (14383..14393) "elli-esc-1" + CLOSE_PAREN: (14393..14394) ")" + CLOSE_PAREN: (14394..14395) ")" + ATMOSPHERE: (14395..14396) " +" + FORM: (14396..14430) + OPEN_PAREN: (14396..14397) "(" + SYMBOL: (14397..14401) + IDENTIFIER: (14397..14401) "test" + ATMOSPHERE: (14401..14402) " " + QUOTED_DATUM: (14402..14413) + QUOTE: (14402..14403) "'" + FORM: (14403..14412) + OPEN_PAREN: (14403..14404) "(" + CONSTANT: (14404..14407) + NUMBER: (14404..14407) "100" + ATMOSPHERE: (14407..14408) " " + SYMBOL: (14408..14411) + IDENTIFIER: (14408..14411) "..." + CLOSE_PAREN: (14411..14412) ")" + ATMOSPHERE: (14412..14413) " " + FORM: (14413..14429) + OPEN_PAREN: (14413..14414) "(" + SYMBOL: (14414..14424) + IDENTIFIER: (14414..14424) "elli-esc-1" + ATMOSPHERE: (14424..14425) " " + CONSTANT: (14425..14428) + NUMBER: (14425..14428) "100" + CLOSE_PAREN: (14428..14429) ")" + CLOSE_PAREN: (14429..14430) ")" + ATMOSPHERE: (14430..14431) " +" + FORM: (14431..14473) + OPEN_PAREN: (14431..14432) "(" + SYMBOL: (14432..14436) + IDENTIFIER: (14432..14436) "test" + ATMOSPHERE: (14436..14437) " " + QUOTED_DATUM: (14437..14452) + QUOTE: (14437..14438) "'" + FORM: (14438..14451) + OPEN_PAREN: (14438..14439) "(" + SYMBOL: (14439..14442) + IDENTIFIER: (14439..14442) "..." + ATMOSPHERE: (14442..14443) " " + CONSTANT: (14443..14446) + NUMBER: (14443..14446) "100" + ATMOSPHERE: (14446..14447) " " + CONSTANT: (14447..14450) + NUMBER: (14447..14450) "200" + CLOSE_PAREN: (14450..14451) ")" + ATMOSPHERE: (14451..14452) " " + FORM: (14452..14472) + OPEN_PAREN: (14452..14453) "(" + SYMBOL: (14453..14463) + IDENTIFIER: (14453..14463) "elli-esc-1" + ATMOSPHERE: (14463..14464) " " + CONSTANT: (14464..14467) + NUMBER: (14464..14467) "100" + ATMOSPHERE: (14467..14468) " " + CONSTANT: (14468..14471) + NUMBER: (14468..14471) "200" + CLOSE_PAREN: (14471..14472) ")" + CLOSE_PAREN: (14472..14473) ")" + ATMOSPHERE: (14473..14475) " + +" + ATMOSPHERE: (14475..14532) ";; Syntax pattern with ellipsis in middle of proper list." + ATMOSPHERE: (14532..14533) " +" + FORM: (14533..14689) + OPEN_PAREN: (14533..14534) "(" + SYMBOL: (14534..14547) + IDENTIFIER: (14534..14547) "define-syntax" + ATMOSPHERE: (14547..14548) " " + SYMBOL: (14548..14554) + IDENTIFIER: (14548..14554) "part-2" + ATMOSPHERE: (14554..14557) " + " + FORM: (14557..14688) + OPEN_PAREN: (14557..14558) "(" + SYMBOL: (14558..14570) + IDENTIFIER: (14558..14570) "syntax-rules" + ATMOSPHERE: (14570..14571) " " + FORM: (14571..14573) + OPEN_PAREN: (14571..14572) "(" + CLOSE_PAREN: (14572..14573) ")" + ATMOSPHERE: (14573..14578) " + " + FORM: (14578..14663) + OPEN_PAREN: (14578..14579) "(" + FORM: (14579..14600) + OPEN_PAREN: (14579..14580) "(" + SYMBOL: (14580..14581) + IDENTIFIER: (14580..14581) "_" + ATMOSPHERE: (14581..14582) " " + SYMBOL: (14582..14583) + IDENTIFIER: (14582..14583) "a" + ATMOSPHERE: (14583..14584) " " + SYMBOL: (14584..14585) + IDENTIFIER: (14584..14585) "b" + ATMOSPHERE: (14585..14586) " " + FORM: (14586..14591) + OPEN_PAREN: (14586..14587) "(" + SYMBOL: (14587..14588) + IDENTIFIER: (14587..14588) "m" + ATMOSPHERE: (14588..14589) " " + SYMBOL: (14589..14590) + IDENTIFIER: (14589..14590) "n" + CLOSE_PAREN: (14590..14591) ")" + ATMOSPHERE: (14591..14592) " " + SYMBOL: (14592..14595) + IDENTIFIER: (14592..14595) "..." + ATMOSPHERE: (14595..14596) " " + SYMBOL: (14596..14597) + IDENTIFIER: (14596..14597) "x" + ATMOSPHERE: (14597..14598) " " + SYMBOL: (14598..14599) + IDENTIFIER: (14598..14599) "y" + CLOSE_PAREN: (14599..14600) ")" + ATMOSPHERE: (14600..14606) " + " + FORM: (14606..14662) + OPEN_PAREN: (14606..14607) "(" + SYMBOL: (14607..14613) + IDENTIFIER: (14607..14613) "vector" + ATMOSPHERE: (14613..14614) " " + FORM: (14614..14624) + OPEN_PAREN: (14614..14615) "(" + SYMBOL: (14615..14619) + IDENTIFIER: (14615..14619) "list" + ATMOSPHERE: (14619..14620) " " + SYMBOL: (14620..14621) + IDENTIFIER: (14620..14621) "a" + ATMOSPHERE: (14621..14622) " " + SYMBOL: (14622..14623) + IDENTIFIER: (14622..14623) "b" + CLOSE_PAREN: (14623..14624) ")" + ATMOSPHERE: (14624..14625) " " + FORM: (14625..14637) + OPEN_PAREN: (14625..14626) "(" + SYMBOL: (14626..14630) + IDENTIFIER: (14626..14630) "list" + ATMOSPHERE: (14630..14631) " " + SYMBOL: (14631..14632) + IDENTIFIER: (14631..14632) "m" + ATMOSPHERE: (14632..14633) " " + SYMBOL: (14633..14636) + IDENTIFIER: (14633..14636) "..." + CLOSE_PAREN: (14636..14637) ")" + ATMOSPHERE: (14637..14638) " " + FORM: (14638..14650) + OPEN_PAREN: (14638..14639) "(" + SYMBOL: (14639..14643) + IDENTIFIER: (14639..14643) "list" + ATMOSPHERE: (14643..14644) " " + SYMBOL: (14644..14645) + IDENTIFIER: (14644..14645) "n" + ATMOSPHERE: (14645..14646) " " + SYMBOL: (14646..14649) + IDENTIFIER: (14646..14649) "..." + CLOSE_PAREN: (14649..14650) ")" + ATMOSPHERE: (14650..14651) " " + FORM: (14651..14661) + OPEN_PAREN: (14651..14652) "(" + SYMBOL: (14652..14656) + IDENTIFIER: (14652..14656) "list" + ATMOSPHERE: (14656..14657) " " + SYMBOL: (14657..14658) + IDENTIFIER: (14657..14658) "x" + ATMOSPHERE: (14658..14659) " " + SYMBOL: (14659..14660) + IDENTIFIER: (14659..14660) "y" + CLOSE_PAREN: (14660..14661) ")" + CLOSE_PAREN: (14661..14662) ")" + CLOSE_PAREN: (14662..14663) ")" + ATMOSPHERE: (14663..14668) " + " + FORM: (14668..14687) + OPEN_PAREN: (14668..14669) "(" + FORM: (14669..14679) + OPEN_PAREN: (14669..14670) "(" + SYMBOL: (14670..14671) + IDENTIFIER: (14670..14671) "_" + ATMOSPHERE: (14671..14672) " " + DOTTED_TAIL: (14672..14678) + DOT: (14672..14673) "." + ATMOSPHERE: (14673..14674) " " + SYMBOL: (14674..14678) + IDENTIFIER: (14674..14678) "rest" + CLOSE_PAREN: (14678..14679) ")" + ATMOSPHERE: (14679..14680) " " + QUOTED_DATUM: (14680..14686) + QUOTE: (14680..14681) "'" + SYMBOL: (14681..14686) + IDENTIFIER: (14681..14686) "error" + CLOSE_PAREN: (14686..14687) ")" + CLOSE_PAREN: (14687..14688) ")" + CLOSE_PAREN: (14688..14689) ")" + ATMOSPHERE: (14689..14690) " +" + FORM: (14690..14800) + OPEN_PAREN: (14690..14691) "(" + SYMBOL: (14691..14695) + IDENTIFIER: (14691..14695) "test" + ATMOSPHERE: (14695..14696) " " + QUOTED_DATUM: (14696..14742) + QUOTE: (14696..14697) "'" + VEC: (14697..14737) + OPEN_PAREN: (14697..14699) "#(" + FORM: (14699..14706) + OPEN_PAREN: (14699..14700) "(" + CONSTANT: (14700..14702) + NUMBER: (14700..14702) "10" + ATMOSPHERE: (14702..14703) " " + CONSTANT: (14703..14705) + NUMBER: (14703..14705) "43" + CLOSE_PAREN: (14705..14706) ")" + ATMOSPHERE: (14706..14707) " " + FORM: (14707..14717) + OPEN_PAREN: (14707..14708) "(" + CONSTANT: (14708..14710) + NUMBER: (14708..14710) "31" + ATMOSPHERE: (14710..14711) " " + CONSTANT: (14711..14713) + NUMBER: (14711..14713) "41" + ATMOSPHERE: (14713..14714) " " + CONSTANT: (14714..14716) + NUMBER: (14714..14716) "51" + CLOSE_PAREN: (14716..14717) ")" + ATMOSPHERE: (14717..14718) " " + FORM: (14718..14728) + OPEN_PAREN: (14718..14719) "(" + CONSTANT: (14719..14721) + NUMBER: (14719..14721) "32" + ATMOSPHERE: (14721..14722) " " + CONSTANT: (14722..14724) + NUMBER: (14722..14724) "42" + ATMOSPHERE: (14724..14725) " " + CONSTANT: (14725..14727) + NUMBER: (14725..14727) "52" + CLOSE_PAREN: (14727..14728) ")" + ATMOSPHERE: (14728..14729) " " + FORM: (14729..14736) + OPEN_PAREN: (14729..14730) "(" + CONSTANT: (14730..14732) + NUMBER: (14730..14732) "63" + ATMOSPHERE: (14732..14733) " " + CONSTANT: (14733..14735) + NUMBER: (14733..14735) "77" + CLOSE_PAREN: (14735..14736) ")" + CLOSE_PAREN: (14736..14737) ")" + ATMOSPHERE: (14737..14742) " + " + FORM: (14742..14799) + OPEN_PAREN: (14742..14743) "(" + SYMBOL: (14743..14749) + IDENTIFIER: (14743..14749) "part-2" + ATMOSPHERE: (14749..14750) " " + CONSTANT: (14750..14752) + NUMBER: (14750..14752) "10" + ATMOSPHERE: (14752..14753) " " + FORM: (14753..14762) + OPEN_PAREN: (14753..14754) "(" + SYMBOL: (14754..14755) + IDENTIFIER: (14754..14755) "+" + ATMOSPHERE: (14755..14756) " " + CONSTANT: (14756..14758) + NUMBER: (14756..14758) "21" + ATMOSPHERE: (14758..14759) " " + CONSTANT: (14759..14761) + NUMBER: (14759..14761) "22" + CLOSE_PAREN: (14761..14762) ")" + ATMOSPHERE: (14762..14763) " " + FORM: (14763..14770) + OPEN_PAREN: (14763..14764) "(" + CONSTANT: (14764..14766) + NUMBER: (14764..14766) "31" + ATMOSPHERE: (14766..14767) " " + CONSTANT: (14767..14769) + NUMBER: (14767..14769) "32" + CLOSE_PAREN: (14769..14770) ")" + ATMOSPHERE: (14770..14771) " " + FORM: (14771..14778) + OPEN_PAREN: (14771..14772) "(" + CONSTANT: (14772..14774) + NUMBER: (14772..14774) "41" + ATMOSPHERE: (14774..14775) " " + CONSTANT: (14775..14777) + NUMBER: (14775..14777) "42" + CLOSE_PAREN: (14777..14778) ")" + ATMOSPHERE: (14778..14779) " " + FORM: (14779..14786) + OPEN_PAREN: (14779..14780) "(" + CONSTANT: (14780..14782) + NUMBER: (14780..14782) "51" + ATMOSPHERE: (14782..14783) " " + CONSTANT: (14783..14785) + NUMBER: (14783..14785) "52" + CLOSE_PAREN: (14785..14786) ")" + ATMOSPHERE: (14786..14787) " " + FORM: (14787..14795) + OPEN_PAREN: (14787..14788) "(" + SYMBOL: (14788..14789) + IDENTIFIER: (14788..14789) "+" + ATMOSPHERE: (14789..14790) " " + CONSTANT: (14790..14792) + NUMBER: (14790..14792) "61" + ATMOSPHERE: (14792..14793) " " + CONSTANT: (14793..14794) + NUMBER: (14793..14794) "2" + CLOSE_PAREN: (14794..14795) ")" + ATMOSPHERE: (14795..14796) " " + CONSTANT: (14796..14798) + NUMBER: (14796..14798) "77" + CLOSE_PAREN: (14798..14799) ")" + CLOSE_PAREN: (14799..14800) ")" + ATMOSPHERE: (14800..14801) " +" + ATMOSPHERE: (14801..14863) ";; ;; Syntax pattern with ellipsis in middle of improper list." + ATMOSPHERE: (14863..14864) " +" + ATMOSPHERE: (14864..14889) ";; (define-syntax part-2x" + ATMOSPHERE: (14889..14890) " +" + ATMOSPHERE: (14890..14911) ";; (syntax-rules ()" + ATMOSPHERE: (14911..14912) " +" + ATMOSPHERE: (14912..14950) ";; ((_ (a b (m n) ... x y . rest))" + ATMOSPHERE: (14950..14951) " +" + ATMOSPHERE: (14951..15014) ";; (vector (list a b) (list m ...) (list n ...) (list x y)" + ATMOSPHERE: (15014..15015) " +" + ATMOSPHERE: (15015..15053) ";; (cons "rest:" 'rest)))" + ATMOSPHERE: (15053..15054) " +" + ATMOSPHERE: (15054..15082) ";; ((_ . rest) 'error)))" + ATMOSPHERE: (15082..15083) " +" + ATMOSPHERE: (15083..15143) ";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) ("rest:"))" + ATMOSPHERE: (15143..15144) " +" + ATMOSPHERE: (15144..15212) ";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77)))" + ATMOSPHERE: (15212..15213) " +" + ATMOSPHERE: (15213..15282) ";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) ("rest:" . "tail"))" + ATMOSPHERE: (15282..15283) " +" + ATMOSPHERE: (15283..15360) ";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . "tail")))" + ATMOSPHERE: (15360..15362) " + +" + ATMOSPHERE: (15362..15375) ";; underscore" + ATMOSPHERE: (15375..15376) " +" + FORM: (15376..15439) + OPEN_PAREN: (15376..15377) "(" + SYMBOL: (15377..15390) + IDENTIFIER: (15377..15390) "define-syntax" + ATMOSPHERE: (15390..15391) " " + SYMBOL: (15391..15401) + IDENTIFIER: (15391..15401) "underscore" + ATMOSPHERE: (15401..15404) " + " + FORM: (15404..15438) + OPEN_PAREN: (15404..15405) "(" + SYMBOL: (15405..15417) + IDENTIFIER: (15405..15417) "syntax-rules" + ATMOSPHERE: (15417..15418) " " + FORM: (15418..15420) + OPEN_PAREN: (15418..15419) "(" + CLOSE_PAREN: (15419..15420) ")" + ATMOSPHERE: (15420..15425) " + " + FORM: (15425..15437) + OPEN_PAREN: (15425..15426) "(" + FORM: (15426..15433) + OPEN_PAREN: (15426..15427) "(" + SYMBOL: (15427..15430) + IDENTIFIER: (15427..15430) "foo" + ATMOSPHERE: (15430..15431) " " + SYMBOL: (15431..15432) + IDENTIFIER: (15431..15432) "_" + CLOSE_PAREN: (15432..15433) ")" + ATMOSPHERE: (15433..15434) " " + QUOTED_DATUM: (15434..15436) + QUOTE: (15434..15435) "'" + SYMBOL: (15435..15436) + IDENTIFIER: (15435..15436) "_" + CLOSE_PAREN: (15436..15437) ")" + CLOSE_PAREN: (15437..15438) ")" + CLOSE_PAREN: (15438..15439) ")" + ATMOSPHERE: (15439..15440) " +" + FORM: (15440..15466) + OPEN_PAREN: (15440..15441) "(" + SYMBOL: (15441..15445) + IDENTIFIER: (15441..15445) "test" + ATMOSPHERE: (15445..15446) " " + QUOTED_DATUM: (15446..15449) + QUOTE: (15446..15447) "'" + SYMBOL: (15447..15448) + IDENTIFIER: (15447..15448) "_" + ATMOSPHERE: (15448..15449) " " + FORM: (15449..15465) + OPEN_PAREN: (15449..15450) "(" + SYMBOL: (15450..15460) + IDENTIFIER: (15450..15460) "underscore" + ATMOSPHERE: (15460..15461) " " + SYMBOL: (15461..15464) + IDENTIFIER: (15461..15464) "foo" + CLOSE_PAREN: (15464..15465) ")" + CLOSE_PAREN: (15465..15466) ")" + ATMOSPHERE: (15466..15468) " + +" + FORM: (15468..15595) + OPEN_PAREN: (15468..15469) "(" + SYMBOL: (15469..15472) + IDENTIFIER: (15469..15472) "let" + ATMOSPHERE: (15472..15473) " " + FORM: (15473..15475) + OPEN_PAREN: (15473..15474) "(" + CLOSE_PAREN: (15474..15475) ")" + ATMOSPHERE: (15475..15478) " + " + FORM: (15478..15562) + OPEN_PAREN: (15478..15479) "(" + SYMBOL: (15479..15492) + IDENTIFIER: (15479..15492) "define-syntax" + ATMOSPHERE: (15492..15493) " " + SYMBOL: (15493..15504) + IDENTIFIER: (15493..15504) "underscore2" + ATMOSPHERE: (15504..15509) " + " + FORM: (15509..15561) + OPEN_PAREN: (15509..15510) "(" + SYMBOL: (15510..15522) + IDENTIFIER: (15510..15522) "syntax-rules" + ATMOSPHERE: (15522..15523) " " + FORM: (15523..15525) + OPEN_PAREN: (15523..15524) "(" + CLOSE_PAREN: (15524..15525) ")" + ATMOSPHERE: (15525..15532) " + " + FORM: (15532..15560) + OPEN_PAREN: (15532..15533) "(" + FORM: (15533..15556) + OPEN_PAREN: (15533..15534) "(" + SYMBOL: (15534..15545) + IDENTIFIER: (15534..15545) "underscore2" + ATMOSPHERE: (15545..15546) " " + FORM: (15546..15551) + OPEN_PAREN: (15546..15547) "(" + SYMBOL: (15547..15548) + IDENTIFIER: (15547..15548) "a" + ATMOSPHERE: (15548..15549) " " + SYMBOL: (15549..15550) + IDENTIFIER: (15549..15550) "_" + CLOSE_PAREN: (15550..15551) ")" + ATMOSPHERE: (15551..15552) " " + SYMBOL: (15552..15555) + IDENTIFIER: (15552..15555) "..." + CLOSE_PAREN: (15555..15556) ")" + ATMOSPHERE: (15556..15557) " " + CONSTANT: (15557..15559) + NUMBER: (15557..15559) "42" + CLOSE_PAREN: (15559..15560) ")" + CLOSE_PAREN: (15560..15561) ")" + CLOSE_PAREN: (15561..15562) ")" + ATMOSPHERE: (15562..15565) " + " + FORM: (15565..15594) + OPEN_PAREN: (15565..15566) "(" + SYMBOL: (15566..15570) + IDENTIFIER: (15566..15570) "test" + ATMOSPHERE: (15570..15571) " " + CONSTANT: (15571..15573) + NUMBER: (15571..15573) "42" + ATMOSPHERE: (15573..15574) " " + FORM: (15574..15593) + OPEN_PAREN: (15574..15575) "(" + SYMBOL: (15575..15586) + IDENTIFIER: (15575..15586) "underscore2" + ATMOSPHERE: (15586..15587) " " + FORM: (15587..15592) + OPEN_PAREN: (15587..15588) "(" + CONSTANT: (15588..15589) + NUMBER: (15588..15589) "1" + ATMOSPHERE: (15589..15590) " " + CONSTANT: (15590..15591) + NUMBER: (15590..15591) "2" + CLOSE_PAREN: (15591..15592) ")" + CLOSE_PAREN: (15592..15593) ")" + CLOSE_PAREN: (15593..15594) ")" + CLOSE_PAREN: (15594..15595) ")" + ATMOSPHERE: (15595..15597) " + +" + FORM: (15597..15705) + OPEN_PAREN: (15597..15598) "(" + SYMBOL: (15598..15611) + IDENTIFIER: (15598..15611) "define-syntax" + ATMOSPHERE: (15611..15612) " " + SYMBOL: (15612..15622) + IDENTIFIER: (15612..15622) "count-to-2" + ATMOSPHERE: (15622..15625) " + " + FORM: (15625..15704) + OPEN_PAREN: (15625..15626) "(" + SYMBOL: (15626..15638) + IDENTIFIER: (15626..15638) "syntax-rules" + ATMOSPHERE: (15638..15639) " " + FORM: (15639..15641) + OPEN_PAREN: (15639..15640) "(" + CLOSE_PAREN: (15640..15641) ")" + ATMOSPHERE: (15641..15646) " + " + FORM: (15646..15653) + OPEN_PAREN: (15646..15647) "(" + FORM: (15647..15650) + OPEN_PAREN: (15647..15648) "(" + SYMBOL: (15648..15649) + IDENTIFIER: (15648..15649) "_" + CLOSE_PAREN: (15649..15650) ")" + ATMOSPHERE: (15650..15651) " " + CONSTANT: (15651..15652) + NUMBER: (15651..15652) "0" + CLOSE_PAREN: (15652..15653) ")" + ATMOSPHERE: (15653..15658) " + " + FORM: (15658..15667) + OPEN_PAREN: (15658..15659) "(" + FORM: (15659..15664) + OPEN_PAREN: (15659..15660) "(" + SYMBOL: (15660..15661) + IDENTIFIER: (15660..15661) "_" + ATMOSPHERE: (15661..15662) " " + SYMBOL: (15662..15663) + IDENTIFIER: (15662..15663) "_" + CLOSE_PAREN: (15663..15664) ")" + ATMOSPHERE: (15664..15665) " " + CONSTANT: (15665..15666) + NUMBER: (15665..15666) "1" + CLOSE_PAREN: (15666..15667) ")" + ATMOSPHERE: (15667..15672) " + " + FORM: (15672..15683) + OPEN_PAREN: (15672..15673) "(" + FORM: (15673..15680) + OPEN_PAREN: (15673..15674) "(" + SYMBOL: (15674..15675) + IDENTIFIER: (15674..15675) "_" + ATMOSPHERE: (15675..15676) " " + SYMBOL: (15676..15677) + IDENTIFIER: (15676..15677) "_" + ATMOSPHERE: (15677..15678) " " + SYMBOL: (15678..15679) + IDENTIFIER: (15678..15679) "_" + CLOSE_PAREN: (15679..15680) ")" + ATMOSPHERE: (15680..15681) " " + CONSTANT: (15681..15682) + NUMBER: (15681..15682) "2" + CLOSE_PAREN: (15682..15683) ")" + ATMOSPHERE: (15683..15688) " + " + FORM: (15688..15703) + OPEN_PAREN: (15688..15689) "(" + FORM: (15689..15696) + OPEN_PAREN: (15689..15690) "(" + SYMBOL: (15690..15691) + IDENTIFIER: (15690..15691) "_" + ATMOSPHERE: (15691..15692) " " + DOTTED_TAIL: (15692..15695) + DOT: (15692..15693) "." + ATMOSPHERE: (15693..15694) " " + SYMBOL: (15694..15695) + IDENTIFIER: (15694..15695) "_" + CLOSE_PAREN: (15695..15696) ")" + ATMOSPHERE: (15696..15697) " " + QUOTED_DATUM: (15697..15702) + QUOTE: (15697..15698) "'" + SYMBOL: (15698..15702) + IDENTIFIER: (15698..15702) "many" + CLOSE_PAREN: (15702..15703) ")" + CLOSE_PAREN: (15703..15704) ")" + CLOSE_PAREN: (15704..15705) ")" + ATMOSPHERE: (15705..15706) " +" + FORM: (15706..15786) + OPEN_PAREN: (15706..15707) "(" + SYMBOL: (15707..15711) + IDENTIFIER: (15707..15711) "test" + ATMOSPHERE: (15711..15712) " " + QUOTED_DATUM: (15712..15728) + QUOTE: (15712..15713) "'" + FORM: (15713..15723) + OPEN_PAREN: (15713..15714) "(" + CONSTANT: (15714..15715) + NUMBER: (15714..15715) "2" + ATMOSPHERE: (15715..15716) " " + CONSTANT: (15716..15717) + NUMBER: (15716..15717) "0" + ATMOSPHERE: (15717..15718) " " + SYMBOL: (15718..15722) + IDENTIFIER: (15718..15722) "many" + CLOSE_PAREN: (15722..15723) ")" + ATMOSPHERE: (15723..15728) " + " + FORM: (15728..15785) + OPEN_PAREN: (15728..15729) "(" + SYMBOL: (15729..15733) + IDENTIFIER: (15729..15733) "list" + ATMOSPHERE: (15733..15734) " " + FORM: (15734..15750) + OPEN_PAREN: (15734..15735) "(" + SYMBOL: (15735..15745) + IDENTIFIER: (15735..15745) "count-to-2" + ATMOSPHERE: (15745..15746) " " + SYMBOL: (15746..15747) + IDENTIFIER: (15746..15747) "a" + ATMOSPHERE: (15747..15748) " " + SYMBOL: (15748..15749) + IDENTIFIER: (15748..15749) "b" + CLOSE_PAREN: (15749..15750) ")" + ATMOSPHERE: (15750..15751) " " + FORM: (15751..15763) + OPEN_PAREN: (15751..15752) "(" + SYMBOL: (15752..15762) + IDENTIFIER: (15752..15762) "count-to-2" + CLOSE_PAREN: (15762..15763) ")" + ATMOSPHERE: (15763..15764) " " + FORM: (15764..15784) + OPEN_PAREN: (15764..15765) "(" + SYMBOL: (15765..15775) + IDENTIFIER: (15765..15775) "count-to-2" + ATMOSPHERE: (15775..15776) " " + SYMBOL: (15776..15777) + IDENTIFIER: (15776..15777) "a" + ATMOSPHERE: (15777..15778) " " + SYMBOL: (15778..15779) + IDENTIFIER: (15778..15779) "b" + ATMOSPHERE: (15779..15780) " " + SYMBOL: (15780..15781) + IDENTIFIER: (15780..15781) "c" + ATMOSPHERE: (15781..15782) " " + SYMBOL: (15782..15783) + IDENTIFIER: (15782..15783) "d" + CLOSE_PAREN: (15783..15784) ")" + CLOSE_PAREN: (15784..15785) ")" + CLOSE_PAREN: (15785..15786) ")" + ATMOSPHERE: (15786..15788) " + +" + FORM: (15788..15898) + OPEN_PAREN: (15788..15789) "(" + SYMBOL: (15789..15802) + IDENTIFIER: (15789..15802) "define-syntax" + ATMOSPHERE: (15802..15803) " " + SYMBOL: (15803..15814) + IDENTIFIER: (15803..15814) "count-to-2_" + ATMOSPHERE: (15814..15817) " + " + FORM: (15817..15897) + OPEN_PAREN: (15817..15818) "(" + SYMBOL: (15818..15830) + IDENTIFIER: (15818..15830) "syntax-rules" + ATMOSPHERE: (15830..15831) " " + FORM: (15831..15834) + OPEN_PAREN: (15831..15832) "(" + SYMBOL: (15832..15833) + IDENTIFIER: (15832..15833) "_" + CLOSE_PAREN: (15833..15834) ")" + ATMOSPHERE: (15834..15839) " + " + FORM: (15839..15846) + OPEN_PAREN: (15839..15840) "(" + FORM: (15840..15843) + OPEN_PAREN: (15840..15841) "(" + SYMBOL: (15841..15842) + IDENTIFIER: (15841..15842) "_" + CLOSE_PAREN: (15842..15843) ")" + ATMOSPHERE: (15843..15844) " " + CONSTANT: (15844..15845) + NUMBER: (15844..15845) "0" + CLOSE_PAREN: (15845..15846) ")" + ATMOSPHERE: (15846..15851) " + " + FORM: (15851..15860) + OPEN_PAREN: (15851..15852) "(" + FORM: (15852..15857) + OPEN_PAREN: (15852..15853) "(" + SYMBOL: (15853..15854) + IDENTIFIER: (15853..15854) "_" + ATMOSPHERE: (15854..15855) " " + SYMBOL: (15855..15856) + IDENTIFIER: (15855..15856) "_" + CLOSE_PAREN: (15856..15857) ")" + ATMOSPHERE: (15857..15858) " " + CONSTANT: (15858..15859) + NUMBER: (15858..15859) "1" + CLOSE_PAREN: (15859..15860) ")" + ATMOSPHERE: (15860..15865) " + " + FORM: (15865..15876) + OPEN_PAREN: (15865..15866) "(" + FORM: (15866..15873) + OPEN_PAREN: (15866..15867) "(" + SYMBOL: (15867..15868) + IDENTIFIER: (15867..15868) "_" + ATMOSPHERE: (15868..15869) " " + SYMBOL: (15869..15870) + IDENTIFIER: (15869..15870) "_" + ATMOSPHERE: (15870..15871) " " + SYMBOL: (15871..15872) + IDENTIFIER: (15871..15872) "_" + CLOSE_PAREN: (15872..15873) ")" + ATMOSPHERE: (15873..15874) " " + CONSTANT: (15874..15875) + NUMBER: (15874..15875) "2" + CLOSE_PAREN: (15875..15876) ")" + ATMOSPHERE: (15876..15881) " + " + FORM: (15881..15896) + OPEN_PAREN: (15881..15882) "(" + FORM: (15882..15889) + OPEN_PAREN: (15882..15883) "(" + SYMBOL: (15883..15884) + IDENTIFIER: (15883..15884) "x" + ATMOSPHERE: (15884..15885) " " + DOTTED_TAIL: (15885..15888) + DOT: (15885..15886) "." + ATMOSPHERE: (15886..15887) " " + SYMBOL: (15887..15888) + IDENTIFIER: (15887..15888) "y" + CLOSE_PAREN: (15888..15889) ")" + ATMOSPHERE: (15889..15890) " " + QUOTED_DATUM: (15890..15895) + QUOTE: (15890..15891) "'" + SYMBOL: (15891..15895) + IDENTIFIER: (15891..15895) "fail" + CLOSE_PAREN: (15895..15896) ")" + CLOSE_PAREN: (15896..15897) ")" + CLOSE_PAREN: (15897..15898) ")" + ATMOSPHERE: (15898..15899) " +" + FORM: (15899..16015) + OPEN_PAREN: (15899..15900) "(" + SYMBOL: (15900..15904) + IDENTIFIER: (15900..15904) "test" + ATMOSPHERE: (15904..15905) " " + QUOTED_DATUM: (15905..15926) + QUOTE: (15905..15906) "'" + FORM: (15906..15921) + OPEN_PAREN: (15906..15907) "(" + CONSTANT: (15907..15908) + NUMBER: (15907..15908) "2" + ATMOSPHERE: (15908..15909) " " + CONSTANT: (15909..15910) + NUMBER: (15909..15910) "0" + ATMOSPHERE: (15910..15911) " " + SYMBOL: (15911..15915) + IDENTIFIER: (15911..15915) "fail" + ATMOSPHERE: (15915..15916) " " + SYMBOL: (15916..15920) + IDENTIFIER: (15916..15920) "fail" + CLOSE_PAREN: (15920..15921) ")" + ATMOSPHERE: (15921..15926) " + " + FORM: (15926..16014) + OPEN_PAREN: (15926..15927) "(" + SYMBOL: (15927..15931) + IDENTIFIER: (15927..15931) "list" + ATMOSPHERE: (15931..15932) " " + FORM: (15932..15949) + OPEN_PAREN: (15932..15933) "(" + SYMBOL: (15933..15944) + IDENTIFIER: (15933..15944) "count-to-2_" + ATMOSPHERE: (15944..15945) " " + SYMBOL: (15945..15946) + IDENTIFIER: (15945..15946) "_" + ATMOSPHERE: (15946..15947) " " + SYMBOL: (15947..15948) + IDENTIFIER: (15947..15948) "_" + CLOSE_PAREN: (15948..15949) ")" + ATMOSPHERE: (15949..15950) " " + FORM: (15950..15963) + OPEN_PAREN: (15950..15951) "(" + SYMBOL: (15951..15962) + IDENTIFIER: (15951..15962) "count-to-2_" + CLOSE_PAREN: (15962..15963) ")" + ATMOSPHERE: (15963..15974) " + " + FORM: (15974..15991) + OPEN_PAREN: (15974..15975) "(" + SYMBOL: (15975..15986) + IDENTIFIER: (15975..15986) "count-to-2_" + ATMOSPHERE: (15986..15987) " " + SYMBOL: (15987..15988) + IDENTIFIER: (15987..15988) "a" + ATMOSPHERE: (15988..15989) " " + SYMBOL: (15989..15990) + IDENTIFIER: (15989..15990) "b" + CLOSE_PAREN: (15990..15991) ")" + ATMOSPHERE: (15991..15992) " " + FORM: (15992..16013) + OPEN_PAREN: (15992..15993) "(" + SYMBOL: (15993..16004) + IDENTIFIER: (15993..16004) "count-to-2_" + ATMOSPHERE: (16004..16005) " " + SYMBOL: (16005..16006) + IDENTIFIER: (16005..16006) "a" + ATMOSPHERE: (16006..16007) " " + SYMBOL: (16007..16008) + IDENTIFIER: (16007..16008) "b" + ATMOSPHERE: (16008..16009) " " + SYMBOL: (16009..16010) + IDENTIFIER: (16009..16010) "c" + ATMOSPHERE: (16010..16011) " " + SYMBOL: (16011..16012) + IDENTIFIER: (16011..16012) "d" + CLOSE_PAREN: (16012..16013) ")" + CLOSE_PAREN: (16013..16014) ")" + CLOSE_PAREN: (16014..16015) ")" + ATMOSPHERE: (16015..16017) " + +" + FORM: (16017..16209) + OPEN_PAREN: (16017..16018) "(" + SYMBOL: (16018..16031) + IDENTIFIER: (16018..16031) "define-syntax" + ATMOSPHERE: (16031..16032) " " + SYMBOL: (16032..16043) + IDENTIFIER: (16032..16043) "jabberwocky" + ATMOSPHERE: (16043..16046) " + " + FORM: (16046..16208) + OPEN_PAREN: (16046..16047) "(" + SYMBOL: (16047..16059) + IDENTIFIER: (16047..16059) "syntax-rules" + ATMOSPHERE: (16059..16060) " " + FORM: (16060..16062) + OPEN_PAREN: (16060..16061) "(" + CLOSE_PAREN: (16061..16062) ")" + ATMOSPHERE: (16062..16067) " + " + FORM: (16067..16207) + OPEN_PAREN: (16067..16068) "(" + FORM: (16068..16078) + OPEN_PAREN: (16068..16069) "(" + SYMBOL: (16069..16070) + IDENTIFIER: (16069..16070) "_" + ATMOSPHERE: (16070..16071) " " + SYMBOL: (16071..16077) + IDENTIFIER: (16071..16077) "hatter" + CLOSE_PAREN: (16077..16078) ")" + ATMOSPHERE: (16078..16084) " + " + FORM: (16084..16206) + OPEN_PAREN: (16084..16085) "(" + SYMBOL: (16085..16090) + IDENTIFIER: (16085..16090) "begin" + ATMOSPHERE: (16090..16098) " + " + FORM: (16098..16120) + OPEN_PAREN: (16098..16099) "(" + SYMBOL: (16099..16105) + IDENTIFIER: (16099..16105) "define" + ATMOSPHERE: (16105..16106) " " + SYMBOL: (16106..16116) + IDENTIFIER: (16106..16116) "march-hare" + ATMOSPHERE: (16116..16117) " " + CONSTANT: (16117..16119) + NUMBER: (16117..16119) "42" + CLOSE_PAREN: (16119..16120) ")" + ATMOSPHERE: (16120..16128) " + " + FORM: (16128..16205) + OPEN_PAREN: (16128..16129) "(" + SYMBOL: (16129..16142) + IDENTIFIER: (16129..16142) "define-syntax" + ATMOSPHERE: (16142..16143) " " + SYMBOL: (16143..16149) + IDENTIFIER: (16143..16149) "hatter" + ATMOSPHERE: (16149..16159) " + " + FORM: (16159..16204) + OPEN_PAREN: (16159..16160) "(" + SYMBOL: (16160..16172) + IDENTIFIER: (16160..16172) "syntax-rules" + ATMOSPHERE: (16172..16173) " " + FORM: (16173..16175) + OPEN_PAREN: (16173..16174) "(" + CLOSE_PAREN: (16174..16175) ")" + ATMOSPHERE: (16175..16187) " + " + FORM: (16187..16203) + OPEN_PAREN: (16187..16188) "(" + FORM: (16188..16191) + OPEN_PAREN: (16188..16189) "(" + SYMBOL: (16189..16190) + IDENTIFIER: (16189..16190) "_" + CLOSE_PAREN: (16190..16191) ")" + ATMOSPHERE: (16191..16192) " " + SYMBOL: (16192..16202) + IDENTIFIER: (16192..16202) "march-hare" + CLOSE_PAREN: (16202..16203) ")" + CLOSE_PAREN: (16203..16204) ")" + CLOSE_PAREN: (16204..16205) ")" + CLOSE_PAREN: (16205..16206) ")" + CLOSE_PAREN: (16206..16207) ")" + CLOSE_PAREN: (16207..16208) ")" + CLOSE_PAREN: (16208..16209) ")" + ATMOSPHERE: (16209..16210) " +" + FORM: (16210..16234) + OPEN_PAREN: (16210..16211) "(" + SYMBOL: (16211..16222) + IDENTIFIER: (16211..16222) "jabberwocky" + ATMOSPHERE: (16222..16223) " " + SYMBOL: (16223..16233) + IDENTIFIER: (16223..16233) "mad-hatter" + CLOSE_PAREN: (16233..16234) ")" + ATMOSPHERE: (16234..16235) " +" + FORM: (16235..16257) + OPEN_PAREN: (16235..16236) "(" + SYMBOL: (16236..16240) + IDENTIFIER: (16236..16240) "test" + ATMOSPHERE: (16240..16241) " " + CONSTANT: (16241..16243) + NUMBER: (16241..16243) "42" + ATMOSPHERE: (16243..16244) " " + FORM: (16244..16256) + OPEN_PAREN: (16244..16245) "(" + SYMBOL: (16245..16255) + IDENTIFIER: (16245..16255) "mad-hatter" + CLOSE_PAREN: (16255..16256) ")" + CLOSE_PAREN: (16256..16257) ")" + ATMOSPHERE: (16257..16259) " + +" + ATMOSPHERE: (16259..16307) ";; (test 'ok (let ((=> #f)) (cond (#t => 'ok))))" + ATMOSPHERE: (16307..16309) " + +" + FORM: (16309..16387) + OPEN_PAREN: (16309..16310) "(" + SYMBOL: (16310..16313) + IDENTIFIER: (16310..16313) "let" + ATMOSPHERE: (16313..16314) " " + FORM: (16314..16316) + OPEN_PAREN: (16314..16315) "(" + CLOSE_PAREN: (16315..16316) ")" + ATMOSPHERE: (16316..16319) " + " + FORM: (16319..16331) + OPEN_PAREN: (16319..16320) "(" + SYMBOL: (16320..16326) + IDENTIFIER: (16320..16326) "define" + ATMOSPHERE: (16326..16327) " " + SYMBOL: (16327..16328) + IDENTIFIER: (16327..16328) "x" + ATMOSPHERE: (16328..16329) " " + CONSTANT: (16329..16330) + NUMBER: (16329..16330) "1" + CLOSE_PAREN: (16330..16331) ")" + ATMOSPHERE: (16331..16334) " + " + FORM: (16334..16373) + OPEN_PAREN: (16334..16335) "(" + SYMBOL: (16335..16345) + IDENTIFIER: (16335..16345) "let-syntax" + ATMOSPHERE: (16345..16346) " " + FORM: (16346..16348) + OPEN_PAREN: (16346..16347) "(" + CLOSE_PAREN: (16347..16348) ")" + ATMOSPHERE: (16348..16353) " + " + FORM: (16353..16365) + OPEN_PAREN: (16353..16354) "(" + SYMBOL: (16354..16360) + IDENTIFIER: (16354..16360) "define" + ATMOSPHERE: (16360..16361) " " + SYMBOL: (16361..16362) + IDENTIFIER: (16361..16362) "x" + ATMOSPHERE: (16362..16363) " " + CONSTANT: (16363..16364) + NUMBER: (16363..16364) "2" + CLOSE_PAREN: (16364..16365) ")" + ATMOSPHERE: (16365..16370) " + " + CONSTANT: (16370..16372) + BOOLEAN: (16370..16372) "#f" + CLOSE_PAREN: (16372..16373) ")" + ATMOSPHERE: (16373..16376) " + " + FORM: (16376..16386) + OPEN_PAREN: (16376..16377) "(" + SYMBOL: (16377..16381) + IDENTIFIER: (16377..16381) "test" + ATMOSPHERE: (16381..16382) " " + CONSTANT: (16382..16383) + NUMBER: (16382..16383) "1" + ATMOSPHERE: (16383..16384) " " + SYMBOL: (16384..16385) + IDENTIFIER: (16384..16385) "x" + CLOSE_PAREN: (16385..16386) ")" + CLOSE_PAREN: (16386..16387) ")" + ATMOSPHERE: (16387..16389) " + +" + FORM: (16389..16565) + OPEN_PAREN: (16389..16390) "(" + SYMBOL: (16390..16393) + IDENTIFIER: (16390..16393) "let" + ATMOSPHERE: (16393..16394) " " + FORM: (16394..16396) + OPEN_PAREN: (16394..16395) "(" + CLOSE_PAREN: (16395..16396) ")" + ATMOSPHERE: (16396..16398) " + " + FORM: (16398..16532) + OPEN_PAREN: (16398..16399) "(" + SYMBOL: (16399..16412) + IDENTIFIER: (16399..16412) "define-syntax" + ATMOSPHERE: (16412..16413) " " + SYMBOL: (16413..16416) + IDENTIFIER: (16413..16416) "foo" + ATMOSPHERE: (16416..16420) " + " + FORM: (16420..16531) + OPEN_PAREN: (16420..16421) "(" + SYMBOL: (16421..16433) + IDENTIFIER: (16421..16433) "syntax-rules" + ATMOSPHERE: (16433..16434) " " + FORM: (16434..16436) + OPEN_PAREN: (16434..16435) "(" + CLOSE_PAREN: (16435..16436) ")" + ATMOSPHERE: (16436..16442) " + " + FORM: (16442..16530) + OPEN_PAREN: (16442..16443) "(" + FORM: (16443..16454) + OPEN_PAREN: (16443..16444) "(" + SYMBOL: (16444..16447) + IDENTIFIER: (16444..16447) "foo" + ATMOSPHERE: (16447..16448) " " + SYMBOL: (16448..16451) + IDENTIFIER: (16448..16451) "bar" + ATMOSPHERE: (16451..16452) " " + SYMBOL: (16452..16453) + IDENTIFIER: (16452..16453) "y" + CLOSE_PAREN: (16453..16454) ")" + ATMOSPHERE: (16454..16461) " + " + FORM: (16461..16529) + OPEN_PAREN: (16461..16462) "(" + SYMBOL: (16462..16475) + IDENTIFIER: (16462..16475) "define-syntax" + ATMOSPHERE: (16475..16476) " " + SYMBOL: (16476..16479) + IDENTIFIER: (16476..16479) "bar" + ATMOSPHERE: (16479..16488) " + " + FORM: (16488..16528) + OPEN_PAREN: (16488..16489) "(" + SYMBOL: (16489..16501) + IDENTIFIER: (16489..16501) "syntax-rules" + ATMOSPHERE: (16501..16502) " " + FORM: (16502..16504) + OPEN_PAREN: (16502..16503) "(" + CLOSE_PAREN: (16503..16504) ")" + ATMOSPHERE: (16504..16515) " + " + FORM: (16515..16527) + OPEN_PAREN: (16515..16516) "(" + FORM: (16516..16523) + OPEN_PAREN: (16516..16517) "(" + SYMBOL: (16517..16520) + IDENTIFIER: (16517..16520) "bar" + ATMOSPHERE: (16520..16521) " " + SYMBOL: (16521..16522) + IDENTIFIER: (16521..16522) "x" + CLOSE_PAREN: (16522..16523) ")" + ATMOSPHERE: (16523..16524) " " + QUOTED_DATUM: (16524..16526) + QUOTE: (16524..16525) "'" + SYMBOL: (16525..16526) + IDENTIFIER: (16525..16526) "y" + CLOSE_PAREN: (16526..16527) ")" + CLOSE_PAREN: (16527..16528) ")" + CLOSE_PAREN: (16528..16529) ")" + CLOSE_PAREN: (16529..16530) ")" + CLOSE_PAREN: (16530..16531) ")" + CLOSE_PAREN: (16531..16532) ")" + ATMOSPHERE: (16532..16534) " + " + FORM: (16534..16545) + OPEN_PAREN: (16534..16535) "(" + SYMBOL: (16535..16538) + IDENTIFIER: (16535..16538) "foo" + ATMOSPHERE: (16538..16539) " " + SYMBOL: (16539..16542) + IDENTIFIER: (16539..16542) "bar" + ATMOSPHERE: (16542..16543) " " + SYMBOL: (16543..16544) + IDENTIFIER: (16543..16544) "x" + CLOSE_PAREN: (16544..16545) ")" + ATMOSPHERE: (16545..16547) " + " + FORM: (16547..16564) + OPEN_PAREN: (16547..16548) "(" + SYMBOL: (16548..16552) + IDENTIFIER: (16548..16552) "test" + ATMOSPHERE: (16552..16553) " " + QUOTED_DATUM: (16553..16556) + QUOTE: (16553..16554) "'" + SYMBOL: (16554..16555) + IDENTIFIER: (16554..16555) "x" + ATMOSPHERE: (16555..16556) " " + FORM: (16556..16563) + OPEN_PAREN: (16556..16557) "(" + SYMBOL: (16557..16560) + IDENTIFIER: (16557..16560) "bar" + ATMOSPHERE: (16560..16561) " " + CONSTANT: (16561..16562) + NUMBER: (16561..16562) "1" + CLOSE_PAREN: (16562..16563) ")" + CLOSE_PAREN: (16563..16564) ")" + CLOSE_PAREN: (16564..16565) ")" + ATMOSPHERE: (16565..16567) " + +" + ATMOSPHERE: (16567..16613) ";;; FIXME: Mutual recursion of `define` forms?" + ATMOSPHERE: (16613..16614) " +" + ATMOSPHERE: (16614..16623) ";; (begin" + ATMOSPHERE: (16623..16624) " +" + ATMOSPHERE: (16624..16648) ";; (define-syntax ffoo" + ATMOSPHERE: (16648..16649) " +" + ATMOSPHERE: (16649..16672) ";; (syntax-rules ()" + ATMOSPHERE: (16672..16673) " +" + ATMOSPHERE: (16673..16692) ";; ((ffoo ff)" + ATMOSPHERE: (16692..16693) " +" + ATMOSPHERE: (16693..16709) ";; (begin" + ATMOSPHERE: (16709..16710) " +" + ATMOSPHERE: (16710..16736) ";; (define (ff x)" + ATMOSPHERE: (16736..16737) " +" + ATMOSPHERE: (16737..16758) ";; (gg x))" + ATMOSPHERE: (16758..16759) " +" + ATMOSPHERE: (16759..16785) ";; (define (gg x)" + ATMOSPHERE: (16785..16786) " +" + ATMOSPHERE: (16786..16812) ";; (* x x))))))" + ATMOSPHERE: (16812..16813) " +" + ATMOSPHERE: (16813..16827) ";; (ffoo ff)" + ATMOSPHERE: (16827..16828) " +" + ATMOSPHERE: (16828..16852) ";; (test 100 (ff 10)))" + ATMOSPHERE: (16852..16854) " + +" + FORM: (16854..16998) + OPEN_PAREN: (16854..16855) "(" + SYMBOL: (16855..16865) + IDENTIFIER: (16855..16865) "let-syntax" + ATMOSPHERE: (16865..16866) " " + FORM: (16866..16969) + OPEN_PAREN: (16866..16867) "(" + FORM: (16867..16968) + OPEN_PAREN: (16867..16868) "(" + SYMBOL: (16868..16878) + IDENTIFIER: (16868..16878) "vector-lit" + ATMOSPHERE: (16878..16894) " + " + FORM: (16894..16967) + OPEN_PAREN: (16894..16895) "(" + SYMBOL: (16895..16907) + IDENTIFIER: (16895..16907) "syntax-rules" + ATMOSPHERE: (16907..16908) " " + FORM: (16908..16910) + OPEN_PAREN: (16908..16909) "(" + CLOSE_PAREN: (16909..16910) ")" + ATMOSPHERE: (16910..16928) " + " + FORM: (16928..16966) + OPEN_PAREN: (16928..16929) "(" + FORM: (16929..16941) + OPEN_PAREN: (16929..16930) "(" + SYMBOL: (16930..16940) + IDENTIFIER: (16930..16940) "vector-lit" + CLOSE_PAREN: (16940..16941) ")" + ATMOSPHERE: (16941..16960) " + " + QUOTED_DATUM: (16960..16965) + QUOTE: (16960..16961) "'" + VEC: (16961..16965) + OPEN_PAREN: (16961..16963) "#(" + SYMBOL: (16963..16964) + IDENTIFIER: (16963..16964) "b" + CLOSE_PAREN: (16964..16965) ")" + CLOSE_PAREN: (16965..16966) ")" + CLOSE_PAREN: (16966..16967) ")" + CLOSE_PAREN: (16967..16968) ")" + CLOSE_PAREN: (16968..16969) ")" + ATMOSPHERE: (16969..16972) " + " + FORM: (16972..16997) + OPEN_PAREN: (16972..16973) "(" + SYMBOL: (16973..16977) + IDENTIFIER: (16973..16977) "test" + ATMOSPHERE: (16977..16978) " " + QUOTED_DATUM: (16978..16984) + QUOTE: (16978..16979) "'" + VEC: (16979..16983) + OPEN_PAREN: (16979..16981) "#(" + SYMBOL: (16981..16982) + IDENTIFIER: (16981..16982) "b" + CLOSE_PAREN: (16982..16983) ")" + ATMOSPHERE: (16983..16984) " " + FORM: (16984..16996) + OPEN_PAREN: (16984..16985) "(" + SYMBOL: (16985..16995) + IDENTIFIER: (16985..16995) "vector-lit" + CLOSE_PAREN: (16995..16996) ")" + CLOSE_PAREN: (16996..16997) ")" + CLOSE_PAREN: (16997..16998) ")" + ATMOSPHERE: (16998..17000) " + +" + ATMOSPHERE: (17000..17010) ";; (let ()" + ATMOSPHERE: (17010..17011) " +" + ATMOSPHERE: (17011..17040) ";; ;; forward hygienic refs" + ATMOSPHERE: (17040..17041) " +" + ATMOSPHERE: (17041..17067) ";; (define-syntax foo399" + ATMOSPHERE: (17067..17068) " +" + ATMOSPHERE: (17068..17113) ";; (syntax-rules () ((foo399) (bar399))))" + ATMOSPHERE: (17113..17114) " +" + ATMOSPHERE: (17114..17136) ";; (define (quux399)" + ATMOSPHERE: (17136..17137) " +" + ATMOSPHERE: (17137..17153) ";; (foo399))" + ATMOSPHERE: (17153..17154) " +" + ATMOSPHERE: (17154..17175) ";; (define (bar399)" + ATMOSPHERE: (17175..17176) " +" + ATMOSPHERE: (17176..17186) ";; 42)" + ATMOSPHERE: (17186..17187) " +" + ATMOSPHERE: (17187..17212) ";; (test 42 (quux399)))" + ATMOSPHERE: (17212..17214) " + +" + ATMOSPHERE: (17214..17232) ";;; FIXME: Hygene." + ATMOSPHERE: (17232..17233) " +" + FORM: (17233..17519) + OPEN_PAREN: (17233..17234) "(" + SYMBOL: (17234..17244) + IDENTIFIER: (17234..17244) "let-syntax" + ATMOSPHERE: (17244..17249) " + " + FORM: (17249..17483) + OPEN_PAREN: (17249..17250) "(" + FORM: (17250..17482) + OPEN_PAREN: (17250..17251) "(" + SYMBOL: (17251..17252) + IDENTIFIER: (17251..17252) "m" + ATMOSPHERE: (17252..17253) " " + FORM: (17253..17481) + OPEN_PAREN: (17253..17254) "(" + SYMBOL: (17254..17266) + IDENTIFIER: (17254..17266) "syntax-rules" + ATMOSPHERE: (17266..17267) " " + FORM: (17267..17269) + OPEN_PAREN: (17267..17268) "(" + CLOSE_PAREN: (17268..17269) ")" + ATMOSPHERE: (17269..17280) " + " + FORM: (17280..17480) + OPEN_PAREN: (17280..17281) "(" + FORM: (17281..17286) + OPEN_PAREN: (17281..17282) "(" + SYMBOL: (17282..17283) + IDENTIFIER: (17282..17283) "m" + ATMOSPHERE: (17283..17284) " " + SYMBOL: (17284..17285) + IDENTIFIER: (17284..17285) "x" + CLOSE_PAREN: (17285..17286) ")" + ATMOSPHERE: (17286..17287) " " + FORM: (17287..17479) + OPEN_PAREN: (17287..17288) "(" + SYMBOL: (17288..17298) + IDENTIFIER: (17288..17298) "let-syntax" + ATMOSPHERE: (17298..17320) " + " + FORM: (17320..17453) + OPEN_PAREN: (17320..17321) "(" + FORM: (17321..17452) + OPEN_PAREN: (17321..17322) "(" + SYMBOL: (17322..17323) + IDENTIFIER: (17322..17323) "n" + ATMOSPHERE: (17323..17324) " " + FORM: (17324..17451) + OPEN_PAREN: (17324..17325) "(" + SYMBOL: (17325..17337) + IDENTIFIER: (17325..17337) "syntax-rules" + ATMOSPHERE: (17337..17338) " " + FORM: (17338..17341) + OPEN_PAREN: (17338..17339) "(" + SYMBOL: (17339..17340) + IDENTIFIER: (17339..17340) "k" + CLOSE_PAREN: (17340..17341) ")" + ATMOSPHERE: (17341..17369) " + " + FORM: (17369..17396) + OPEN_PAREN: (17369..17370) "(" + FORM: (17370..17375) + OPEN_PAREN: (17370..17371) "(" + SYMBOL: (17371..17372) + IDENTIFIER: (17371..17372) "n" + ATMOSPHERE: (17372..17373) " " + SYMBOL: (17373..17374) + IDENTIFIER: (17373..17374) "x" + CLOSE_PAREN: (17374..17375) ")" + ATMOSPHERE: (17375..17376) " " + QUOTED_DATUM: (17376..17395) + QUOTE: (17376..17377) "'" + SYMBOL: (17377..17395) + IDENTIFIER: (17377..17395) "bound-identifier=?" + CLOSE_PAREN: (17395..17396) ")" + ATMOSPHERE: (17396..17424) " + " + FORM: (17424..17450) + OPEN_PAREN: (17424..17425) "(" + FORM: (17425..17430) + OPEN_PAREN: (17425..17426) "(" + SYMBOL: (17426..17427) + IDENTIFIER: (17426..17427) "n" + ATMOSPHERE: (17427..17428) " " + SYMBOL: (17428..17429) + IDENTIFIER: (17428..17429) "y" + CLOSE_PAREN: (17429..17430) ")" + ATMOSPHERE: (17430..17431) " " + QUOTED_DATUM: (17431..17449) + QUOTE: (17431..17432) "'" + SYMBOL: (17432..17449) + IDENTIFIER: (17432..17449) "free-identifier=?" + CLOSE_PAREN: (17449..17450) ")" + CLOSE_PAREN: (17450..17451) ")" + CLOSE_PAREN: (17451..17452) ")" + CLOSE_PAREN: (17452..17453) ")" + ATMOSPHERE: (17453..17473) " + " + FORM: (17473..17478) + OPEN_PAREN: (17473..17474) "(" + SYMBOL: (17474..17475) + IDENTIFIER: (17474..17475) "n" + ATMOSPHERE: (17475..17476) " " + SYMBOL: (17476..17477) + IDENTIFIER: (17476..17477) "z" + CLOSE_PAREN: (17477..17478) ")" + CLOSE_PAREN: (17478..17479) ")" + CLOSE_PAREN: (17479..17480) ")" + CLOSE_PAREN: (17480..17481) ")" + CLOSE_PAREN: (17481..17482) ")" + CLOSE_PAREN: (17482..17483) ")" + ATMOSPHERE: (17483..17486) " + " + FORM: (17486..17518) + OPEN_PAREN: (17486..17487) "(" + SYMBOL: (17487..17491) + IDENTIFIER: (17487..17491) "test" + ATMOSPHERE: (17491..17492) " " + QUOTED_DATUM: (17492..17512) + QUOTE: (17492..17493) "'" + SYMBOL: (17493..17511) + IDENTIFIER: (17493..17511) "bound-identifier=?" + ATMOSPHERE: (17511..17512) " " + FORM: (17512..17517) + OPEN_PAREN: (17512..17513) "(" + SYMBOL: (17513..17514) + IDENTIFIER: (17513..17514) "m" + ATMOSPHERE: (17514..17515) " " + SYMBOL: (17515..17516) + IDENTIFIER: (17515..17516) "k" + CLOSE_PAREN: (17516..17517) ")" + CLOSE_PAREN: (17517..17518) ")" + CLOSE_PAREN: (17518..17519) ")" + ATMOSPHERE: (17519..17521) " + +" + ATMOSPHERE: (17521..17569) ";; literal has priority to ellipsis (R7RS 4.3.2)" + ATMOSPHERE: (17569..17570) " +" + FORM: (17570..17703) + OPEN_PAREN: (17570..17571) "(" + SYMBOL: (17571..17574) + IDENTIFIER: (17571..17574) "let" + ATMOSPHERE: (17574..17575) " " + FORM: (17575..17577) + OPEN_PAREN: (17575..17576) "(" + CLOSE_PAREN: (17576..17577) ")" + ATMOSPHERE: (17577..17580) " + " + FORM: (17580..17665) + OPEN_PAREN: (17580..17581) "(" + SYMBOL: (17581..17594) + IDENTIFIER: (17581..17594) "define-syntax" + ATMOSPHERE: (17594..17595) " " + SYMBOL: (17595..17605) + IDENTIFIER: (17595..17605) "elli-lit-1" + ATMOSPHERE: (17605..17610) " + " + FORM: (17610..17664) + OPEN_PAREN: (17610..17611) "(" + SYMBOL: (17611..17623) + IDENTIFIER: (17611..17623) "syntax-rules" + ATMOSPHERE: (17623..17624) " " + SYMBOL: (17624..17627) + IDENTIFIER: (17624..17627) "..." + ATMOSPHERE: (17627..17628) " " + FORM: (17628..17633) + OPEN_PAREN: (17628..17629) "(" + SYMBOL: (17629..17632) + IDENTIFIER: (17629..17632) "..." + CLOSE_PAREN: (17632..17633) ")" + ATMOSPHERE: (17633..17640) " + " + FORM: (17640..17663) + OPEN_PAREN: (17640..17641) "(" + FORM: (17641..17646) + OPEN_PAREN: (17641..17642) "(" + SYMBOL: (17642..17643) + IDENTIFIER: (17642..17643) "_" + ATMOSPHERE: (17643..17644) " " + SYMBOL: (17644..17645) + IDENTIFIER: (17644..17645) "x" + CLOSE_PAREN: (17645..17646) ")" + ATMOSPHERE: (17646..17654) " + " + QUOTED_DATUM: (17654..17662) + QUOTE: (17654..17655) "'" + FORM: (17655..17662) + OPEN_PAREN: (17655..17656) "(" + SYMBOL: (17656..17657) + IDENTIFIER: (17656..17657) "x" + ATMOSPHERE: (17657..17658) " " + SYMBOL: (17658..17661) + IDENTIFIER: (17658..17661) "..." + CLOSE_PAREN: (17661..17662) ")" + CLOSE_PAREN: (17662..17663) ")" + CLOSE_PAREN: (17663..17664) ")" + CLOSE_PAREN: (17664..17665) ")" + ATMOSPHERE: (17665..17668) " + " + FORM: (17668..17702) + OPEN_PAREN: (17668..17669) "(" + SYMBOL: (17669..17673) + IDENTIFIER: (17669..17673) "test" + ATMOSPHERE: (17673..17674) " " + QUOTED_DATUM: (17674..17685) + QUOTE: (17674..17675) "'" + FORM: (17675..17684) + OPEN_PAREN: (17675..17676) "(" + CONSTANT: (17676..17679) + NUMBER: (17676..17679) "100" + ATMOSPHERE: (17679..17680) " " + SYMBOL: (17680..17683) + IDENTIFIER: (17680..17683) "..." + CLOSE_PAREN: (17683..17684) ")" + ATMOSPHERE: (17684..17685) " " + FORM: (17685..17701) + OPEN_PAREN: (17685..17686) "(" + SYMBOL: (17686..17696) + IDENTIFIER: (17686..17696) "elli-lit-1" + ATMOSPHERE: (17696..17697) " " + CONSTANT: (17697..17700) + NUMBER: (17697..17700) "100" + CLOSE_PAREN: (17700..17701) ")" + CLOSE_PAREN: (17701..17702) ")" + CLOSE_PAREN: (17702..17703) ")" + ATMOSPHERE: (17703..17705) " + +" + ATMOSPHERE: (17705..17720) ";; bad ellipsis" + ATMOSPHERE: (17720..17721) " +" + ATMOSPHERE: (17721..18159) "#| +(test 'error + (guard (exn (else 'error)) + (eval + '(define-syntax bad-elli-1 + (syntax-rules () + ((_ ... x) + '(... x)))) + (interaction-environment)))) + +(test 'error + (guard (exn (else 'error)) + (eval + '(define-syntax bad-elli-2 + (syntax-rules () + ((_ (... x)) + '(... x)))) + (interaction-environment)))) +|#" + ATMOSPHERE: (18159..18161) " + +" + FORM: (18161..18171) + OPEN_PAREN: (18161..18162) "(" + SYMBOL: (18162..18170) + IDENTIFIER: (18162..18170) "test-end" + CLOSE_PAREN: (18170..18171) ")" + ATMOSPHERE: (18171..18173) " + +" + FORM: (18173..18207) + OPEN_PAREN: (18173..18174) "(" + SYMBOL: (18174..18184) + IDENTIFIER: (18174..18184) "test-begin" + ATMOSPHERE: (18184..18185) " " + CONSTANT: (18185..18206) + STRING: (18185..18206) ""5 Program structure"" + CLOSE_PAREN: (18206..18207) ")" + ATMOSPHERE: (18207..18209) " + +" + FORM: (18209..18245) + OPEN_PAREN: (18209..18210) "(" + SYMBOL: (18210..18216) + IDENTIFIER: (18210..18216) "define" + ATMOSPHERE: (18216..18217) " " + SYMBOL: (18217..18221) + IDENTIFIER: (18217..18221) "add3" + ATMOSPHERE: (18221..18224) " + " + FORM: (18224..18244) + OPEN_PAREN: (18224..18225) "(" + SYMBOL: (18225..18231) + IDENTIFIER: (18225..18231) "lambda" + ATMOSPHERE: (18231..18232) " " + FORM: (18232..18235) + OPEN_PAREN: (18232..18233) "(" + SYMBOL: (18233..18234) + IDENTIFIER: (18233..18234) "x" + CLOSE_PAREN: (18234..18235) ")" + ATMOSPHERE: (18235..18236) " " + FORM: (18236..18243) + OPEN_PAREN: (18236..18237) "(" + SYMBOL: (18237..18238) + IDENTIFIER: (18237..18238) "+" + ATMOSPHERE: (18238..18239) " " + SYMBOL: (18239..18240) + IDENTIFIER: (18239..18240) "x" + ATMOSPHERE: (18240..18241) " " + CONSTANT: (18241..18242) + NUMBER: (18241..18242) "3" + CLOSE_PAREN: (18242..18243) ")" + CLOSE_PAREN: (18243..18244) ")" + CLOSE_PAREN: (18244..18245) ")" + ATMOSPHERE: (18245..18246) " +" + FORM: (18246..18263) + OPEN_PAREN: (18246..18247) "(" + SYMBOL: (18247..18251) + IDENTIFIER: (18247..18251) "test" + ATMOSPHERE: (18251..18252) " " + CONSTANT: (18252..18253) + NUMBER: (18252..18253) "6" + ATMOSPHERE: (18253..18254) " " + FORM: (18254..18262) + OPEN_PAREN: (18254..18255) "(" + SYMBOL: (18255..18259) + IDENTIFIER: (18255..18259) "add3" + ATMOSPHERE: (18259..18260) " " + CONSTANT: (18260..18261) + NUMBER: (18260..18261) "3" + CLOSE_PAREN: (18261..18262) ")" + CLOSE_PAREN: (18262..18263) ")" + ATMOSPHERE: (18263..18264) " +" + FORM: (18264..18282) + OPEN_PAREN: (18264..18265) "(" + SYMBOL: (18265..18271) + IDENTIFIER: (18265..18271) "define" + ATMOSPHERE: (18271..18272) " " + SYMBOL: (18272..18277) + IDENTIFIER: (18272..18277) "first" + ATMOSPHERE: (18277..18278) " " + SYMBOL: (18278..18281) + IDENTIFIER: (18278..18281) "car" + CLOSE_PAREN: (18281..18282) ")" + ATMOSPHERE: (18282..18283) " +" + FORM: (18283..18306) + OPEN_PAREN: (18283..18284) "(" + SYMBOL: (18284..18288) + IDENTIFIER: (18284..18288) "test" + ATMOSPHERE: (18288..18289) " " + CONSTANT: (18289..18290) + NUMBER: (18289..18290) "1" + ATMOSPHERE: (18290..18291) " " + FORM: (18291..18305) + OPEN_PAREN: (18291..18292) "(" + SYMBOL: (18292..18297) + IDENTIFIER: (18292..18297) "first" + ATMOSPHERE: (18297..18298) " " + QUOTED_DATUM: (18298..18304) + QUOTE: (18298..18299) "'" + FORM: (18299..18304) + OPEN_PAREN: (18299..18300) "(" + CONSTANT: (18300..18301) + NUMBER: (18300..18301) "1" + ATMOSPHERE: (18301..18302) " " + CONSTANT: (18302..18303) + NUMBER: (18302..18303) "2" + CLOSE_PAREN: (18303..18304) ")" + CLOSE_PAREN: (18304..18305) ")" + CLOSE_PAREN: (18305..18306) ")" + ATMOSPHERE: (18306..18308) " + +" + ATMOSPHERE: (18308..18345) ";;; FIXME: `define` mutual recursion." + ATMOSPHERE: (18345..18346) " +" + ATMOSPHERE: (18346..18370) ";; (test 45 (let ((x 5))" + ATMOSPHERE: (18370..18371) " +" + ATMOSPHERE: (18371..18411) ";; (define foo (lambda (y) (bar x y)))" + ATMOSPHERE: (18411..18412) " +" + ATMOSPHERE: (18412..18458) ";; (define bar (lambda (a b) (+ (* a b) a)))" + ATMOSPHERE: (18458..18459) " +" + ATMOSPHERE: (18459..18479) ";; (foo (+ x 3))))" + ATMOSPHERE: (18479..18481) " + +" + ATMOSPHERE: (18481..18493) ";; (test 'ok" + ATMOSPHERE: (18493..18494) " +" + ATMOSPHERE: (18494..18508) ";; (let ()" + ATMOSPHERE: (18508..18509) " +" + ATMOSPHERE: (18509..18545) ";; (define-values () (values))" + ATMOSPHERE: (18545..18546) " +" + ATMOSPHERE: (18546..18560) ";; 'ok))" + ATMOSPHERE: (18560..18561) " +" + ATMOSPHERE: (18561..18571) ";; (test 1" + ATMOSPHERE: (18571..18572) " +" + ATMOSPHERE: (18572..18586) ";; (let ()" + ATMOSPHERE: (18586..18587) " +" + ATMOSPHERE: (18587..18626) ";; (define-values (x) (values 1))" + ATMOSPHERE: (18626..18627) " +" + ATMOSPHERE: (18627..18639) ";; x))" + ATMOSPHERE: (18639..18640) " +" + ATMOSPHERE: (18640..18650) ";; (test 3" + ATMOSPHERE: (18650..18651) " +" + ATMOSPHERE: (18651..18665) ";; (let ()" + ATMOSPHERE: (18665..18666) " +" + ATMOSPHERE: (18666..18705) ";; (define-values x (values 1 2))" + ATMOSPHERE: (18705..18706) " +" + ATMOSPHERE: (18706..18728) ";; (apply + x)))" + ATMOSPHERE: (18728..18729) " +" + ATMOSPHERE: (18729..18739) ";; (test 3" + ATMOSPHERE: (18739..18740) " +" + ATMOSPHERE: (18740..18754) ";; (let ()" + ATMOSPHERE: (18754..18755) " +" + ATMOSPHERE: (18755..18798) ";; (define-values (x y) (values 1 2))" + ATMOSPHERE: (18798..18799) " +" + ATMOSPHERE: (18799..18817) ";; (+ x y)))" + ATMOSPHERE: (18817..18818) " +" + ATMOSPHERE: (18818..18828) ";; (test 6" + ATMOSPHERE: (18828..18829) " +" + ATMOSPHERE: (18829..18843) ";; (let ()" + ATMOSPHERE: (18843..18844) " +" + ATMOSPHERE: (18844..18891) ";; (define-values (x y z) (values 1 2 3))" + ATMOSPHERE: (18891..18892) " +" + ATMOSPHERE: (18892..18912) ";; (+ x y z)))" + ATMOSPHERE: (18912..18913) " +" + ATMOSPHERE: (18913..18924) ";; (test 10" + ATMOSPHERE: (18924..18925) " +" + ATMOSPHERE: (18925..18939) ";; (let ()" + ATMOSPHERE: (18939..18940) " +" + ATMOSPHERE: (18940..18991) ";; (define-values (x y . z) (values 1 2 3 4))" + ATMOSPHERE: (18991..18992) " +" + ATMOSPHERE: (18992..19027) ";; (+ x y (car z) (cadr z))))" + ATMOSPHERE: (19027..19029) " + +" + ATMOSPHERE: (19029..19063) ";; (test '(2 1) (let ((x 1) (y 2))" + ATMOSPHERE: (19063..19064) " +" + ATMOSPHERE: (19064..19089) ";; (define-syntax swap!" + ATMOSPHERE: (19089..19090) " +" + ATMOSPHERE: (19090..19113) ";; (syntax-rules ()" + ATMOSPHERE: (19113..19114) " +" + ATMOSPHERE: (19114..19135) ";; ((swap! a b)" + ATMOSPHERE: (19135..19136) " +" + ATMOSPHERE: (19136..19160) ";; (let ((tmp a))" + ATMOSPHERE: (19160..19161) " +" + ATMOSPHERE: (19161..19183) ";; (set! a b)" + ATMOSPHERE: (19183..19184) " +" + ATMOSPHERE: (19184..19212) ";; (set! b tmp)))))" + ATMOSPHERE: (19212..19213) " +" + ATMOSPHERE: (19213..19229) ";; (swap! x y)" + ATMOSPHERE: (19229..19230) " +" + ATMOSPHERE: (19230..19247) ";; (list x y)))" + ATMOSPHERE: (19247..19249) " + +" + ATMOSPHERE: (19249..19262) ";; ;; Records" + ATMOSPHERE: (19262..19264) " + +" + ATMOSPHERE: (19264..19293) ";; (define-record-type " + ATMOSPHERE: (19293..19294) " +" + ATMOSPHERE: (19294..19309) ";; (kons x y)" + ATMOSPHERE: (19309..19310) " +" + ATMOSPHERE: (19310..19320) ";; pare?" + ATMOSPHERE: (19320..19321) " +" + ATMOSPHERE: (19321..19342) ";; (x kar set-kar!)" + ATMOSPHERE: (19342..19343) " +" + ATMOSPHERE: (19343..19356) ";; (y kdr))" + ATMOSPHERE: (19356..19358) " + +" + ATMOSPHERE: (19358..19389) ";; (test #t (pare? (kons 1 2)))" + ATMOSPHERE: (19389..19390) " +" + ATMOSPHERE: (19390..19421) ";; (test #f (pare? (cons 1 2)))" + ATMOSPHERE: (19421..19422) " +" + ATMOSPHERE: (19422..19450) ";; (test 1 (kar (kons 1 2)))" + ATMOSPHERE: (19450..19451) " +" + ATMOSPHERE: (19451..19479) ";; (test 2 (kdr (kons 1 2)))" + ATMOSPHERE: (19479..19480) " +" + ATMOSPHERE: (19480..19512) ";; (test 3 (let ((k (kons 1 2)))" + ATMOSPHERE: (19512..19513) " +" + ATMOSPHERE: (19513..19540) ";; (set-kar! k 3)" + ATMOSPHERE: (19540..19541) " +" + ATMOSPHERE: (19541..19563) ";; (kar k)))" + ATMOSPHERE: (19563..19565) " + +" + FORM: (19565..19575) + OPEN_PAREN: (19565..19566) "(" + SYMBOL: (19566..19574) + IDENTIFIER: (19566..19574) "test-end" + CLOSE_PAREN: (19574..19575) ")" + ATMOSPHERE: (19575..19577) " + +" + ATMOSPHERE: (19577..19652) ";; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ATMOSPHERE: (19652..19653) " +" + ATMOSPHERE: (19653..19680) ";; ;; 6 Standard Procedures" + ATMOSPHERE: (19680..19682) " + +" + FORM: (19682..19723) + OPEN_PAREN: (19682..19683) "(" + SYMBOL: (19683..19693) + IDENTIFIER: (19683..19693) "test-begin" + ATMOSPHERE: (19693..19694) " " + CONSTANT: (19694..19722) + STRING: (19694..19722) ""6.1 Equivalence Predicates"" + CLOSE_PAREN: (19722..19723) ")" + ATMOSPHERE: (19723..19725) " + +" + FORM: (19725..19747) + OPEN_PAREN: (19725..19726) "(" + SYMBOL: (19726..19730) + IDENTIFIER: (19726..19730) "test" + ATMOSPHERE: (19730..19731) " " + CONSTANT: (19731..19733) + BOOLEAN: (19731..19733) "#t" + ATMOSPHERE: (19733..19734) " " + FORM: (19734..19746) + OPEN_PAREN: (19734..19735) "(" + SYMBOL: (19735..19739) + IDENTIFIER: (19735..19739) "eqv?" + ATMOSPHERE: (19739..19740) " " + QUOTED_DATUM: (19740..19743) + QUOTE: (19740..19741) "'" + SYMBOL: (19741..19742) + IDENTIFIER: (19741..19742) "a" + ATMOSPHERE: (19742..19743) " " + QUOTED_DATUM: (19743..19745) + QUOTE: (19743..19744) "'" + SYMBOL: (19744..19745) + IDENTIFIER: (19744..19745) "a" + CLOSE_PAREN: (19745..19746) ")" + CLOSE_PAREN: (19746..19747) ")" + ATMOSPHERE: (19747..19748) " +" + FORM: (19748..19770) + OPEN_PAREN: (19748..19749) "(" + SYMBOL: (19749..19753) + IDENTIFIER: (19749..19753) "test" + ATMOSPHERE: (19753..19754) " " + CONSTANT: (19754..19756) + BOOLEAN: (19754..19756) "#f" + ATMOSPHERE: (19756..19757) " " + FORM: (19757..19769) + OPEN_PAREN: (19757..19758) "(" + SYMBOL: (19758..19762) + IDENTIFIER: (19758..19762) "eqv?" + ATMOSPHERE: (19762..19763) " " + QUOTED_DATUM: (19763..19766) + QUOTE: (19763..19764) "'" + SYMBOL: (19764..19765) + IDENTIFIER: (19764..19765) "a" + ATMOSPHERE: (19765..19766) " " + QUOTED_DATUM: (19766..19768) + QUOTE: (19766..19767) "'" + SYMBOL: (19767..19768) + IDENTIFIER: (19767..19768) "b" + CLOSE_PAREN: (19768..19769) ")" + CLOSE_PAREN: (19769..19770) ")" + ATMOSPHERE: (19770..19771) " +" + FORM: (19771..19791) + OPEN_PAREN: (19771..19772) "(" + SYMBOL: (19772..19776) + IDENTIFIER: (19772..19776) "test" + ATMOSPHERE: (19776..19777) " " + CONSTANT: (19777..19779) + BOOLEAN: (19777..19779) "#t" + ATMOSPHERE: (19779..19780) " " + FORM: (19780..19790) + OPEN_PAREN: (19780..19781) "(" + SYMBOL: (19781..19785) + IDENTIFIER: (19781..19785) "eqv?" + ATMOSPHERE: (19785..19786) " " + CONSTANT: (19786..19787) + NUMBER: (19786..19787) "2" + ATMOSPHERE: (19787..19788) " " + CONSTANT: (19788..19789) + NUMBER: (19788..19789) "2" + CLOSE_PAREN: (19789..19790) ")" + CLOSE_PAREN: (19790..19791) ")" + ATMOSPHERE: (19791..19792) " +" + FORM: (19792..19816) + OPEN_PAREN: (19792..19793) "(" + SYMBOL: (19793..19797) + IDENTIFIER: (19793..19797) "test" + ATMOSPHERE: (19797..19798) " " + CONSTANT: (19798..19800) + BOOLEAN: (19798..19800) "#t" + ATMOSPHERE: (19800..19801) " " + FORM: (19801..19815) + OPEN_PAREN: (19801..19802) "(" + SYMBOL: (19802..19806) + IDENTIFIER: (19802..19806) "eqv?" + ATMOSPHERE: (19806..19807) " " + QUOTED_DATUM: (19807..19811) + QUOTE: (19807..19808) "'" + FORM: (19808..19810) + OPEN_PAREN: (19808..19809) "(" + CLOSE_PAREN: (19809..19810) ")" + ATMOSPHERE: (19810..19811) " " + QUOTED_DATUM: (19811..19814) + QUOTE: (19811..19812) "'" + FORM: (19812..19814) + OPEN_PAREN: (19812..19813) "(" + CLOSE_PAREN: (19813..19814) ")" + CLOSE_PAREN: (19814..19815) ")" + CLOSE_PAREN: (19815..19816) ")" + ATMOSPHERE: (19816..19817) " +" + FORM: (19817..19853) + OPEN_PAREN: (19817..19818) "(" + SYMBOL: (19818..19822) + IDENTIFIER: (19818..19822) "test" + ATMOSPHERE: (19822..19823) " " + CONSTANT: (19823..19825) + BOOLEAN: (19823..19825) "#t" + ATMOSPHERE: (19825..19826) " " + FORM: (19826..19852) + OPEN_PAREN: (19826..19827) "(" + SYMBOL: (19827..19831) + IDENTIFIER: (19827..19831) "eqv?" + ATMOSPHERE: (19831..19832) " " + CONSTANT: (19832..19841) + NUMBER: (19832..19841) "100000000" + ATMOSPHERE: (19841..19842) " " + CONSTANT: (19842..19851) + NUMBER: (19842..19851) "100000000" + CLOSE_PAREN: (19851..19852) ")" + CLOSE_PAREN: (19852..19853) ")" + ATMOSPHERE: (19853..19854) " +" + FORM: (19854..19892) + OPEN_PAREN: (19854..19855) "(" + SYMBOL: (19855..19859) + IDENTIFIER: (19855..19859) "test" + ATMOSPHERE: (19859..19860) " " + CONSTANT: (19860..19862) + BOOLEAN: (19860..19862) "#f" + ATMOSPHERE: (19862..19863) " " + FORM: (19863..19891) + OPEN_PAREN: (19863..19864) "(" + SYMBOL: (19864..19868) + IDENTIFIER: (19864..19868) "eqv?" + ATMOSPHERE: (19868..19869) " " + FORM: (19869..19879) + OPEN_PAREN: (19869..19870) "(" + SYMBOL: (19870..19874) + IDENTIFIER: (19870..19874) "cons" + ATMOSPHERE: (19874..19875) " " + CONSTANT: (19875..19876) + NUMBER: (19875..19876) "1" + ATMOSPHERE: (19876..19877) " " + CONSTANT: (19877..19878) + NUMBER: (19877..19878) "2" + CLOSE_PAREN: (19878..19879) ")" + ATMOSPHERE: (19879..19880) " " + FORM: (19880..19890) + OPEN_PAREN: (19880..19881) "(" + SYMBOL: (19881..19885) + IDENTIFIER: (19881..19885) "cons" + ATMOSPHERE: (19885..19886) " " + CONSTANT: (19886..19887) + NUMBER: (19886..19887) "1" + ATMOSPHERE: (19887..19888) " " + CONSTANT: (19888..19889) + NUMBER: (19888..19889) "2" + CLOSE_PAREN: (19889..19890) ")" + CLOSE_PAREN: (19890..19891) ")" + CLOSE_PAREN: (19891..19892) ")" + ATMOSPHERE: (19892..19893) " +" + FORM: (19893..19952) + OPEN_PAREN: (19893..19894) "(" + SYMBOL: (19894..19898) + IDENTIFIER: (19894..19898) "test" + ATMOSPHERE: (19898..19899) " " + CONSTANT: (19899..19901) + BOOLEAN: (19899..19901) "#f" + ATMOSPHERE: (19901..19902) " " + FORM: (19902..19951) + OPEN_PAREN: (19902..19903) "(" + SYMBOL: (19903..19907) + IDENTIFIER: (19903..19907) "eqv?" + ATMOSPHERE: (19907..19908) " " + FORM: (19908..19921) + OPEN_PAREN: (19908..19909) "(" + SYMBOL: (19909..19915) + IDENTIFIER: (19909..19915) "lambda" + ATMOSPHERE: (19915..19916) " " + FORM: (19916..19918) + OPEN_PAREN: (19916..19917) "(" + CLOSE_PAREN: (19917..19918) ")" + ATMOSPHERE: (19918..19919) " " + CONSTANT: (19919..19920) + NUMBER: (19919..19920) "1" + CLOSE_PAREN: (19920..19921) ")" + ATMOSPHERE: (19921..19937) " + " + FORM: (19937..19950) + OPEN_PAREN: (19937..19938) "(" + SYMBOL: (19938..19944) + IDENTIFIER: (19938..19944) "lambda" + ATMOSPHERE: (19944..19945) " " + FORM: (19945..19947) + OPEN_PAREN: (19945..19946) "(" + CLOSE_PAREN: (19946..19947) ")" + ATMOSPHERE: (19947..19948) " " + CONSTANT: (19948..19949) + NUMBER: (19948..19949) "2" + CLOSE_PAREN: (19949..19950) ")" + CLOSE_PAREN: (19950..19951) ")" + CLOSE_PAREN: (19951..19952) ")" + ATMOSPHERE: (19952..19953) " +" + FORM: (19953..19977) + OPEN_PAREN: (19953..19954) "(" + SYMBOL: (19954..19958) + IDENTIFIER: (19954..19958) "test" + ATMOSPHERE: (19958..19959) " " + CONSTANT: (19959..19961) + BOOLEAN: (19959..19961) "#f" + ATMOSPHERE: (19961..19962) " " + FORM: (19962..19976) + OPEN_PAREN: (19962..19963) "(" + SYMBOL: (19963..19967) + IDENTIFIER: (19963..19967) "eqv?" + ATMOSPHERE: (19967..19968) " " + CONSTANT: (19968..19970) + BOOLEAN: (19968..19970) "#f" + ATMOSPHERE: (19970..19971) " " + QUOTED_DATUM: (19971..19975) + QUOTE: (19971..19972) "'" + SYMBOL: (19972..19975) + IDENTIFIER: (19972..19975) "nil" + CLOSE_PAREN: (19975..19976) ")" + CLOSE_PAREN: (19976..19977) ")" + ATMOSPHERE: (19977..19979) " + +" + FORM: (19979..20068) + OPEN_PAREN: (19979..19980) "(" + SYMBOL: (19980..19986) + IDENTIFIER: (19980..19986) "define" + ATMOSPHERE: (19986..19987) " " + SYMBOL: (19987..19998) + IDENTIFIER: (19987..19998) "gen-counter" + ATMOSPHERE: (19998..20001) " + " + FORM: (20001..20067) + OPEN_PAREN: (20001..20002) "(" + SYMBOL: (20002..20008) + IDENTIFIER: (20002..20008) "lambda" + ATMOSPHERE: (20008..20009) " " + FORM: (20009..20011) + OPEN_PAREN: (20009..20010) "(" + CLOSE_PAREN: (20010..20011) ")" + ATMOSPHERE: (20011..20016) " + " + FORM: (20016..20066) + OPEN_PAREN: (20016..20017) "(" + SYMBOL: (20017..20020) + IDENTIFIER: (20017..20020) "let" + ATMOSPHERE: (20020..20021) " " + FORM: (20021..20028) + OPEN_PAREN: (20021..20022) "(" + FORM: (20022..20027) + OPEN_PAREN: (20022..20023) "(" + SYMBOL: (20023..20024) + IDENTIFIER: (20023..20024) "n" + ATMOSPHERE: (20024..20025) " " + CONSTANT: (20025..20026) + NUMBER: (20025..20026) "0" + CLOSE_PAREN: (20026..20027) ")" + CLOSE_PAREN: (20027..20028) ")" + ATMOSPHERE: (20028..20035) " + " + FORM: (20035..20065) + OPEN_PAREN: (20035..20036) "(" + SYMBOL: (20036..20042) + IDENTIFIER: (20036..20042) "lambda" + ATMOSPHERE: (20042..20043) " " + FORM: (20043..20045) + OPEN_PAREN: (20043..20044) "(" + CLOSE_PAREN: (20044..20045) ")" + ATMOSPHERE: (20045..20046) " " + FORM: (20046..20062) + OPEN_PAREN: (20046..20047) "(" + SYMBOL: (20047..20051) + IDENTIFIER: (20047..20051) "set!" + ATMOSPHERE: (20051..20052) " " + SYMBOL: (20052..20053) + IDENTIFIER: (20052..20053) "n" + ATMOSPHERE: (20053..20054) " " + FORM: (20054..20061) + OPEN_PAREN: (20054..20055) "(" + SYMBOL: (20055..20056) + IDENTIFIER: (20055..20056) "+" + ATMOSPHERE: (20056..20057) " " + SYMBOL: (20057..20058) + IDENTIFIER: (20057..20058) "n" + ATMOSPHERE: (20058..20059) " " + CONSTANT: (20059..20060) + NUMBER: (20059..20060) "1" + CLOSE_PAREN: (20060..20061) ")" + CLOSE_PAREN: (20061..20062) ")" + ATMOSPHERE: (20062..20063) " " + SYMBOL: (20063..20064) + IDENTIFIER: (20063..20064) "n" + CLOSE_PAREN: (20064..20065) ")" + CLOSE_PAREN: (20065..20066) ")" + CLOSE_PAREN: (20066..20067) ")" + CLOSE_PAREN: (20067..20068) ")" + ATMOSPHERE: (20068..20069) " +" + FORM: (20069..20125) + OPEN_PAREN: (20069..20070) "(" + SYMBOL: (20070..20074) + IDENTIFIER: (20070..20074) "test" + ATMOSPHERE: (20074..20075) " " + CONSTANT: (20075..20077) + BOOLEAN: (20075..20077) "#t" + ATMOSPHERE: (20077..20082) " + " + FORM: (20082..20124) + OPEN_PAREN: (20082..20083) "(" + SYMBOL: (20083..20086) + IDENTIFIER: (20083..20086) "let" + ATMOSPHERE: (20086..20087) " " + FORM: (20087..20106) + OPEN_PAREN: (20087..20088) "(" + FORM: (20088..20105) + OPEN_PAREN: (20088..20089) "(" + SYMBOL: (20089..20090) + IDENTIFIER: (20089..20090) "g" + ATMOSPHERE: (20090..20091) " " + FORM: (20091..20104) + OPEN_PAREN: (20091..20092) "(" + SYMBOL: (20092..20103) + IDENTIFIER: (20092..20103) "gen-counter" + CLOSE_PAREN: (20103..20104) ")" + CLOSE_PAREN: (20104..20105) ")" + CLOSE_PAREN: (20105..20106) ")" + ATMOSPHERE: (20106..20113) " + " + FORM: (20113..20123) + OPEN_PAREN: (20113..20114) "(" + SYMBOL: (20114..20118) + IDENTIFIER: (20114..20118) "eqv?" + ATMOSPHERE: (20118..20119) " " + SYMBOL: (20119..20120) + IDENTIFIER: (20119..20120) "g" + ATMOSPHERE: (20120..20121) " " + SYMBOL: (20121..20122) + IDENTIFIER: (20121..20122) "g" + CLOSE_PAREN: (20122..20123) ")" + CLOSE_PAREN: (20123..20124) ")" + CLOSE_PAREN: (20124..20125) ")" + ATMOSPHERE: (20125..20126) " +" + FORM: (20126..20170) + OPEN_PAREN: (20126..20127) "(" + SYMBOL: (20127..20131) + IDENTIFIER: (20127..20131) "test" + ATMOSPHERE: (20131..20132) " " + CONSTANT: (20132..20134) + BOOLEAN: (20132..20134) "#f" + ATMOSPHERE: (20134..20135) " " + FORM: (20135..20169) + OPEN_PAREN: (20135..20136) "(" + SYMBOL: (20136..20140) + IDENTIFIER: (20136..20140) "eqv?" + ATMOSPHERE: (20140..20141) " " + FORM: (20141..20154) + OPEN_PAREN: (20141..20142) "(" + SYMBOL: (20142..20153) + IDENTIFIER: (20142..20153) "gen-counter" + CLOSE_PAREN: (20153..20154) ")" + ATMOSPHERE: (20154..20155) " " + FORM: (20155..20168) + OPEN_PAREN: (20155..20156) "(" + SYMBOL: (20156..20167) + IDENTIFIER: (20156..20167) "gen-counter" + CLOSE_PAREN: (20167..20168) ")" + CLOSE_PAREN: (20168..20169) ")" + CLOSE_PAREN: (20169..20170) ")" + ATMOSPHERE: (20170..20171) " +" + FORM: (20171..20259) + OPEN_PAREN: (20171..20172) "(" + SYMBOL: (20172..20178) + IDENTIFIER: (20172..20178) "define" + ATMOSPHERE: (20178..20179) " " + SYMBOL: (20179..20188) + IDENTIFIER: (20179..20188) "gen-loser" + ATMOSPHERE: (20188..20191) " + " + FORM: (20191..20258) + OPEN_PAREN: (20191..20192) "(" + SYMBOL: (20192..20198) + IDENTIFIER: (20192..20198) "lambda" + ATMOSPHERE: (20198..20199) " " + FORM: (20199..20201) + OPEN_PAREN: (20199..20200) "(" + CLOSE_PAREN: (20200..20201) ")" + ATMOSPHERE: (20201..20206) " + " + FORM: (20206..20257) + OPEN_PAREN: (20206..20207) "(" + SYMBOL: (20207..20210) + IDENTIFIER: (20207..20210) "let" + ATMOSPHERE: (20210..20211) " " + FORM: (20211..20218) + OPEN_PAREN: (20211..20212) "(" + FORM: (20212..20217) + OPEN_PAREN: (20212..20213) "(" + SYMBOL: (20213..20214) + IDENTIFIER: (20213..20214) "n" + ATMOSPHERE: (20214..20215) " " + CONSTANT: (20215..20216) + NUMBER: (20215..20216) "0" + CLOSE_PAREN: (20216..20217) ")" + CLOSE_PAREN: (20217..20218) ")" + ATMOSPHERE: (20218..20225) " + " + FORM: (20225..20256) + OPEN_PAREN: (20225..20226) "(" + SYMBOL: (20226..20232) + IDENTIFIER: (20226..20232) "lambda" + ATMOSPHERE: (20232..20233) " " + FORM: (20233..20235) + OPEN_PAREN: (20233..20234) "(" + CLOSE_PAREN: (20234..20235) ")" + ATMOSPHERE: (20235..20236) " " + FORM: (20236..20252) + OPEN_PAREN: (20236..20237) "(" + SYMBOL: (20237..20241) + IDENTIFIER: (20237..20241) "set!" + ATMOSPHERE: (20241..20242) " " + SYMBOL: (20242..20243) + IDENTIFIER: (20242..20243) "n" + ATMOSPHERE: (20243..20244) " " + FORM: (20244..20251) + OPEN_PAREN: (20244..20245) "(" + SYMBOL: (20245..20246) + IDENTIFIER: (20245..20246) "+" + ATMOSPHERE: (20246..20247) " " + SYMBOL: (20247..20248) + IDENTIFIER: (20247..20248) "n" + ATMOSPHERE: (20248..20249) " " + CONSTANT: (20249..20250) + NUMBER: (20249..20250) "1" + CLOSE_PAREN: (20250..20251) ")" + CLOSE_PAREN: (20251..20252) ")" + ATMOSPHERE: (20252..20253) " " + CONSTANT: (20253..20255) + NUMBER: (20253..20255) "27" + CLOSE_PAREN: (20255..20256) ")" + CLOSE_PAREN: (20256..20257) ")" + CLOSE_PAREN: (20257..20258) ")" + CLOSE_PAREN: (20258..20259) ")" + ATMOSPHERE: (20259..20260) " +" + FORM: (20260..20306) + OPEN_PAREN: (20260..20261) "(" + SYMBOL: (20261..20265) + IDENTIFIER: (20261..20265) "test" + ATMOSPHERE: (20265..20266) " " + CONSTANT: (20266..20268) + BOOLEAN: (20266..20268) "#t" + ATMOSPHERE: (20268..20269) " " + FORM: (20269..20305) + OPEN_PAREN: (20269..20270) "(" + SYMBOL: (20270..20273) + IDENTIFIER: (20270..20273) "let" + ATMOSPHERE: (20273..20274) " " + FORM: (20274..20291) + OPEN_PAREN: (20274..20275) "(" + FORM: (20275..20290) + OPEN_PAREN: (20275..20276) "(" + SYMBOL: (20276..20277) + IDENTIFIER: (20276..20277) "g" + ATMOSPHERE: (20277..20278) " " + FORM: (20278..20289) + OPEN_PAREN: (20278..20279) "(" + SYMBOL: (20279..20288) + IDENTIFIER: (20279..20288) "gen-loser" + CLOSE_PAREN: (20288..20289) ")" + CLOSE_PAREN: (20289..20290) ")" + CLOSE_PAREN: (20290..20291) ")" + ATMOSPHERE: (20291..20294) " + " + FORM: (20294..20304) + OPEN_PAREN: (20294..20295) "(" + SYMBOL: (20295..20299) + IDENTIFIER: (20295..20299) "eqv?" + ATMOSPHERE: (20299..20300) " " + SYMBOL: (20300..20301) + IDENTIFIER: (20300..20301) "g" + ATMOSPHERE: (20301..20302) " " + SYMBOL: (20302..20303) + IDENTIFIER: (20302..20303) "g" + CLOSE_PAREN: (20303..20304) ")" + CLOSE_PAREN: (20304..20305) ")" + CLOSE_PAREN: (20305..20306) ")" + ATMOSPHERE: (20306..20308) " + +" + FORM: (20308..20433) + OPEN_PAREN: (20308..20309) "(" + SYMBOL: (20309..20313) + IDENTIFIER: (20309..20313) "test" + ATMOSPHERE: (20313..20314) " " + CONSTANT: (20314..20316) + BOOLEAN: (20314..20316) "#f" + ATMOSPHERE: (20316..20317) " +" + FORM: (20317..20432) + OPEN_PAREN: (20317..20318) "(" + SYMBOL: (20318..20324) + IDENTIFIER: (20318..20324) "letrec" + ATMOSPHERE: (20324..20325) " " + FORM: (20325..20417) + OPEN_PAREN: (20325..20326) "(" + FORM: (20326..20366) + OPEN_PAREN: (20326..20327) "(" + SYMBOL: (20327..20328) + IDENTIFIER: (20327..20328) "f" + ATMOSPHERE: (20328..20329) " " + FORM: (20329..20365) + OPEN_PAREN: (20329..20330) "(" + SYMBOL: (20330..20336) + IDENTIFIER: (20330..20336) "lambda" + ATMOSPHERE: (20336..20337) " " + FORM: (20337..20339) + OPEN_PAREN: (20337..20338) "(" + CLOSE_PAREN: (20338..20339) ")" + ATMOSPHERE: (20339..20340) " " + FORM: (20340..20364) + OPEN_PAREN: (20340..20341) "(" + SYMBOL: (20341..20343) + IDENTIFIER: (20341..20343) "if" + ATMOSPHERE: (20343..20344) " " + FORM: (20344..20354) + OPEN_PAREN: (20344..20345) "(" + SYMBOL: (20345..20349) + IDENTIFIER: (20345..20349) "eqv?" + ATMOSPHERE: (20349..20350) " " + SYMBOL: (20350..20351) + IDENTIFIER: (20350..20351) "f" + ATMOSPHERE: (20351..20352) " " + SYMBOL: (20352..20353) + IDENTIFIER: (20352..20353) "g" + CLOSE_PAREN: (20353..20354) ")" + ATMOSPHERE: (20354..20355) " " + QUOTED_DATUM: (20355..20358) + QUOTE: (20355..20356) "'" + SYMBOL: (20356..20357) + IDENTIFIER: (20356..20357) "f" + ATMOSPHERE: (20357..20358) " " + QUOTED_DATUM: (20358..20363) + QUOTE: (20358..20359) "'" + SYMBOL: (20359..20363) + IDENTIFIER: (20359..20363) "both" + CLOSE_PAREN: (20363..20364) ")" + CLOSE_PAREN: (20364..20365) ")" + CLOSE_PAREN: (20365..20366) ")" + ATMOSPHERE: (20366..20376) " + " + FORM: (20376..20416) + OPEN_PAREN: (20376..20377) "(" + SYMBOL: (20377..20378) + IDENTIFIER: (20377..20378) "g" + ATMOSPHERE: (20378..20379) " " + FORM: (20379..20415) + OPEN_PAREN: (20379..20380) "(" + SYMBOL: (20380..20386) + IDENTIFIER: (20380..20386) "lambda" + ATMOSPHERE: (20386..20387) " " + FORM: (20387..20389) + OPEN_PAREN: (20387..20388) "(" + CLOSE_PAREN: (20388..20389) ")" + ATMOSPHERE: (20389..20390) " " + FORM: (20390..20414) + OPEN_PAREN: (20390..20391) "(" + SYMBOL: (20391..20393) + IDENTIFIER: (20391..20393) "if" + ATMOSPHERE: (20393..20394) " " + FORM: (20394..20404) + OPEN_PAREN: (20394..20395) "(" + SYMBOL: (20395..20399) + IDENTIFIER: (20395..20399) "eqv?" + ATMOSPHERE: (20399..20400) " " + SYMBOL: (20400..20401) + IDENTIFIER: (20400..20401) "f" + ATMOSPHERE: (20401..20402) " " + SYMBOL: (20402..20403) + IDENTIFIER: (20402..20403) "g" + CLOSE_PAREN: (20403..20404) ")" + ATMOSPHERE: (20404..20405) " " + QUOTED_DATUM: (20405..20408) + QUOTE: (20405..20406) "'" + SYMBOL: (20406..20407) + IDENTIFIER: (20406..20407) "g" + ATMOSPHERE: (20407..20408) " " + QUOTED_DATUM: (20408..20413) + QUOTE: (20408..20409) "'" + SYMBOL: (20409..20413) + IDENTIFIER: (20409..20413) "both" + CLOSE_PAREN: (20413..20414) ")" + CLOSE_PAREN: (20414..20415) ")" + CLOSE_PAREN: (20415..20416) ")" + CLOSE_PAREN: (20416..20417) ")" + ATMOSPHERE: (20417..20421) " + " + FORM: (20421..20431) + OPEN_PAREN: (20421..20422) "(" + SYMBOL: (20422..20426) + IDENTIFIER: (20422..20426) "eqv?" + ATMOSPHERE: (20426..20427) " " + SYMBOL: (20427..20428) + IDENTIFIER: (20427..20428) "f" + ATMOSPHERE: (20428..20429) " " + SYMBOL: (20429..20430) + IDENTIFIER: (20429..20430) "g" + CLOSE_PAREN: (20430..20431) ")" + CLOSE_PAREN: (20431..20432) ")" + CLOSE_PAREN: (20432..20433) ")" + ATMOSPHERE: (20433..20435) " + +" + FORM: (20435..20482) + OPEN_PAREN: (20435..20436) "(" + SYMBOL: (20436..20440) + IDENTIFIER: (20436..20440) "test" + ATMOSPHERE: (20440..20441) " " + CONSTANT: (20441..20443) + BOOLEAN: (20441..20443) "#t" + ATMOSPHERE: (20443..20448) " + " + FORM: (20448..20481) + OPEN_PAREN: (20448..20449) "(" + SYMBOL: (20449..20452) + IDENTIFIER: (20449..20452) "let" + ATMOSPHERE: (20452..20453) " " + FORM: (20453..20463) + OPEN_PAREN: (20453..20454) "(" + FORM: (20454..20462) + OPEN_PAREN: (20454..20455) "(" + SYMBOL: (20455..20456) + IDENTIFIER: (20455..20456) "x" + ATMOSPHERE: (20456..20457) " " + QUOTED_DATUM: (20457..20461) + QUOTE: (20457..20458) "'" + FORM: (20458..20461) + OPEN_PAREN: (20458..20459) "(" + SYMBOL: (20459..20460) + IDENTIFIER: (20459..20460) "a" + CLOSE_PAREN: (20460..20461) ")" + CLOSE_PAREN: (20461..20462) ")" + CLOSE_PAREN: (20462..20463) ")" + ATMOSPHERE: (20463..20470) " + " + FORM: (20470..20480) + OPEN_PAREN: (20470..20471) "(" + SYMBOL: (20471..20475) + IDENTIFIER: (20471..20475) "eqv?" + ATMOSPHERE: (20475..20476) " " + SYMBOL: (20476..20477) + IDENTIFIER: (20476..20477) "x" + ATMOSPHERE: (20477..20478) " " + SYMBOL: (20478..20479) + IDENTIFIER: (20478..20479) "x" + CLOSE_PAREN: (20479..20480) ")" + CLOSE_PAREN: (20480..20481) ")" + CLOSE_PAREN: (20481..20482) ")" + ATMOSPHERE: (20482..20484) " + +" + FORM: (20484..20505) + OPEN_PAREN: (20484..20485) "(" + SYMBOL: (20485..20489) + IDENTIFIER: (20485..20489) "test" + ATMOSPHERE: (20489..20490) " " + CONSTANT: (20490..20492) + BOOLEAN: (20490..20492) "#t" + ATMOSPHERE: (20492..20493) " " + FORM: (20493..20504) + OPEN_PAREN: (20493..20494) "(" + SYMBOL: (20494..20497) + IDENTIFIER: (20494..20497) "eq?" + ATMOSPHERE: (20497..20498) " " + QUOTED_DATUM: (20498..20501) + QUOTE: (20498..20499) "'" + SYMBOL: (20499..20500) + IDENTIFIER: (20499..20500) "a" + ATMOSPHERE: (20500..20501) " " + QUOTED_DATUM: (20501..20503) + QUOTE: (20501..20502) "'" + SYMBOL: (20502..20503) + IDENTIFIER: (20502..20503) "a" + CLOSE_PAREN: (20503..20504) ")" + CLOSE_PAREN: (20504..20505) ")" + ATMOSPHERE: (20505..20506) " +" + FORM: (20506..20541) + OPEN_PAREN: (20506..20507) "(" + SYMBOL: (20507..20511) + IDENTIFIER: (20507..20511) "test" + ATMOSPHERE: (20511..20512) " " + CONSTANT: (20512..20514) + BOOLEAN: (20512..20514) "#f" + ATMOSPHERE: (20514..20515) " " + FORM: (20515..20540) + OPEN_PAREN: (20515..20516) "(" + SYMBOL: (20516..20519) + IDENTIFIER: (20516..20519) "eq?" + ATMOSPHERE: (20519..20520) " " + FORM: (20520..20529) + OPEN_PAREN: (20520..20521) "(" + SYMBOL: (20521..20525) + IDENTIFIER: (20521..20525) "list" + ATMOSPHERE: (20525..20526) " " + QUOTED_DATUM: (20526..20528) + QUOTE: (20526..20527) "'" + SYMBOL: (20527..20528) + IDENTIFIER: (20527..20528) "a" + CLOSE_PAREN: (20528..20529) ")" + ATMOSPHERE: (20529..20530) " " + FORM: (20530..20539) + OPEN_PAREN: (20530..20531) "(" + SYMBOL: (20531..20535) + IDENTIFIER: (20531..20535) "list" + ATMOSPHERE: (20535..20536) " " + QUOTED_DATUM: (20536..20538) + QUOTE: (20536..20537) "'" + SYMBOL: (20537..20538) + IDENTIFIER: (20537..20538) "a" + CLOSE_PAREN: (20538..20539) ")" + CLOSE_PAREN: (20539..20540) ")" + CLOSE_PAREN: (20540..20541) ")" + ATMOSPHERE: (20541..20542) " +" + FORM: (20542..20565) + OPEN_PAREN: (20542..20543) "(" + SYMBOL: (20543..20547) + IDENTIFIER: (20543..20547) "test" + ATMOSPHERE: (20547..20548) " " + CONSTANT: (20548..20550) + BOOLEAN: (20548..20550) "#t" + ATMOSPHERE: (20550..20551) " " + FORM: (20551..20564) + OPEN_PAREN: (20551..20552) "(" + SYMBOL: (20552..20555) + IDENTIFIER: (20552..20555) "eq?" + ATMOSPHERE: (20555..20556) " " + QUOTED_DATUM: (20556..20560) + QUOTE: (20556..20557) "'" + FORM: (20557..20559) + OPEN_PAREN: (20557..20558) "(" + CLOSE_PAREN: (20558..20559) ")" + ATMOSPHERE: (20559..20560) " " + QUOTED_DATUM: (20560..20563) + QUOTE: (20560..20561) "'" + FORM: (20561..20563) + OPEN_PAREN: (20561..20562) "(" + CLOSE_PAREN: (20562..20563) ")" + CLOSE_PAREN: (20563..20564) ")" + CLOSE_PAREN: (20564..20565) ")" + ATMOSPHERE: (20565..20566) " +" + FORM: (20566..20612) + OPEN_PAREN: (20566..20567) "(" + SYMBOL: (20567..20571) + IDENTIFIER: (20567..20571) "test" + ATMOSPHERE: (20571..20572) " " + CONSTANT: (20572..20574) + BOOLEAN: (20572..20574) "#t" + ATMOSPHERE: (20574..20579) " + " + FORM: (20579..20611) + OPEN_PAREN: (20579..20580) "(" + SYMBOL: (20580..20583) + IDENTIFIER: (20580..20583) "let" + ATMOSPHERE: (20583..20584) " " + FORM: (20584..20594) + OPEN_PAREN: (20584..20585) "(" + FORM: (20585..20593) + OPEN_PAREN: (20585..20586) "(" + SYMBOL: (20586..20587) + IDENTIFIER: (20586..20587) "x" + ATMOSPHERE: (20587..20588) " " + QUOTED_DATUM: (20588..20592) + QUOTE: (20588..20589) "'" + FORM: (20589..20592) + OPEN_PAREN: (20589..20590) "(" + SYMBOL: (20590..20591) + IDENTIFIER: (20590..20591) "a" + CLOSE_PAREN: (20591..20592) ")" + CLOSE_PAREN: (20592..20593) ")" + CLOSE_PAREN: (20593..20594) ")" + ATMOSPHERE: (20594..20601) " + " + FORM: (20601..20610) + OPEN_PAREN: (20601..20602) "(" + SYMBOL: (20602..20605) + IDENTIFIER: (20602..20605) "eq?" + ATMOSPHERE: (20605..20606) " " + SYMBOL: (20606..20607) + IDENTIFIER: (20606..20607) "x" + ATMOSPHERE: (20607..20608) " " + SYMBOL: (20608..20609) + IDENTIFIER: (20608..20609) "x" + CLOSE_PAREN: (20609..20610) ")" + CLOSE_PAREN: (20610..20611) ")" + CLOSE_PAREN: (20611..20612) ")" + ATMOSPHERE: (20612..20613) " +" + FORM: (20613..20659) + OPEN_PAREN: (20613..20614) "(" + SYMBOL: (20614..20618) + IDENTIFIER: (20614..20618) "test" + ATMOSPHERE: (20618..20619) " " + CONSTANT: (20619..20621) + BOOLEAN: (20619..20621) "#t" + ATMOSPHERE: (20621..20626) " + " + FORM: (20626..20658) + OPEN_PAREN: (20626..20627) "(" + SYMBOL: (20627..20630) + IDENTIFIER: (20627..20630) "let" + ATMOSPHERE: (20630..20631) " " + FORM: (20631..20641) + OPEN_PAREN: (20631..20632) "(" + FORM: (20632..20640) + OPEN_PAREN: (20632..20633) "(" + SYMBOL: (20633..20634) + IDENTIFIER: (20633..20634) "x" + ATMOSPHERE: (20634..20635) " " + QUOTED_DATUM: (20635..20639) + QUOTE: (20635..20636) "'" + VEC: (20636..20639) + OPEN_PAREN: (20636..20638) "#(" + CLOSE_PAREN: (20638..20639) ")" + CLOSE_PAREN: (20639..20640) ")" + CLOSE_PAREN: (20640..20641) ")" + ATMOSPHERE: (20641..20648) " + " + FORM: (20648..20657) + OPEN_PAREN: (20648..20649) "(" + SYMBOL: (20649..20652) + IDENTIFIER: (20649..20652) "eq?" + ATMOSPHERE: (20652..20653) " " + SYMBOL: (20653..20654) + IDENTIFIER: (20653..20654) "x" + ATMOSPHERE: (20654..20655) " " + SYMBOL: (20655..20656) + IDENTIFIER: (20655..20656) "x" + CLOSE_PAREN: (20656..20657) ")" + CLOSE_PAREN: (20657..20658) ")" + CLOSE_PAREN: (20658..20659) ")" + ATMOSPHERE: (20659..20660) " +" + FORM: (20660..20716) + OPEN_PAREN: (20660..20661) "(" + SYMBOL: (20661..20665) + IDENTIFIER: (20661..20665) "test" + ATMOSPHERE: (20665..20666) " " + CONSTANT: (20666..20668) + BOOLEAN: (20666..20668) "#t" + ATMOSPHERE: (20668..20673) " + " + FORM: (20673..20715) + OPEN_PAREN: (20673..20674) "(" + SYMBOL: (20674..20677) + IDENTIFIER: (20674..20677) "let" + ATMOSPHERE: (20677..20678) " " + FORM: (20678..20698) + OPEN_PAREN: (20678..20679) "(" + FORM: (20679..20697) + OPEN_PAREN: (20679..20680) "(" + SYMBOL: (20680..20681) + IDENTIFIER: (20680..20681) "p" + ATMOSPHERE: (20681..20682) " " + FORM: (20682..20696) + OPEN_PAREN: (20682..20683) "(" + SYMBOL: (20683..20689) + IDENTIFIER: (20683..20689) "lambda" + ATMOSPHERE: (20689..20690) " " + FORM: (20690..20693) + OPEN_PAREN: (20690..20691) "(" + SYMBOL: (20691..20692) + IDENTIFIER: (20691..20692) "x" + CLOSE_PAREN: (20692..20693) ")" + ATMOSPHERE: (20693..20694) " " + SYMBOL: (20694..20695) + IDENTIFIER: (20694..20695) "x" + CLOSE_PAREN: (20695..20696) ")" + CLOSE_PAREN: (20696..20697) ")" + CLOSE_PAREN: (20697..20698) ")" + ATMOSPHERE: (20698..20705) " + " + FORM: (20705..20714) + OPEN_PAREN: (20705..20706) "(" + SYMBOL: (20706..20709) + IDENTIFIER: (20706..20709) "eq?" + ATMOSPHERE: (20709..20710) " " + SYMBOL: (20710..20711) + IDENTIFIER: (20710..20711) "p" + ATMOSPHERE: (20711..20712) " " + SYMBOL: (20712..20713) + IDENTIFIER: (20712..20713) "p" + CLOSE_PAREN: (20713..20714) ")" + CLOSE_PAREN: (20714..20715) ")" + CLOSE_PAREN: (20715..20716) ")" + ATMOSPHERE: (20716..20718) " + +" + FORM: (20718..20742) + OPEN_PAREN: (20718..20719) "(" + SYMBOL: (20719..20723) + IDENTIFIER: (20719..20723) "test" + ATMOSPHERE: (20723..20724) " " + CONSTANT: (20724..20726) + BOOLEAN: (20724..20726) "#t" + ATMOSPHERE: (20726..20727) " " + FORM: (20727..20741) + OPEN_PAREN: (20727..20728) "(" + SYMBOL: (20728..20734) + IDENTIFIER: (20728..20734) "equal?" + ATMOSPHERE: (20734..20735) " " + QUOTED_DATUM: (20735..20738) + QUOTE: (20735..20736) "'" + SYMBOL: (20736..20737) + IDENTIFIER: (20736..20737) "a" + ATMOSPHERE: (20737..20738) " " + QUOTED_DATUM: (20738..20740) + QUOTE: (20738..20739) "'" + SYMBOL: (20739..20740) + IDENTIFIER: (20739..20740) "a" + CLOSE_PAREN: (20740..20741) ")" + CLOSE_PAREN: (20741..20742) ")" + ATMOSPHERE: (20742..20743) " +" + FORM: (20743..20771) + OPEN_PAREN: (20743..20744) "(" + SYMBOL: (20744..20748) + IDENTIFIER: (20744..20748) "test" + ATMOSPHERE: (20748..20749) " " + CONSTANT: (20749..20751) + BOOLEAN: (20749..20751) "#t" + ATMOSPHERE: (20751..20752) " " + FORM: (20752..20770) + OPEN_PAREN: (20752..20753) "(" + SYMBOL: (20753..20759) + IDENTIFIER: (20753..20759) "equal?" + ATMOSPHERE: (20759..20760) " " + QUOTED_DATUM: (20760..20765) + QUOTE: (20760..20761) "'" + FORM: (20761..20764) + OPEN_PAREN: (20761..20762) "(" + SYMBOL: (20762..20763) + IDENTIFIER: (20762..20763) "a" + CLOSE_PAREN: (20763..20764) ")" + ATMOSPHERE: (20764..20765) " " + QUOTED_DATUM: (20765..20769) + QUOTE: (20765..20766) "'" + FORM: (20766..20769) + OPEN_PAREN: (20766..20767) "(" + SYMBOL: (20767..20768) + IDENTIFIER: (20767..20768) "a" + CLOSE_PAREN: (20768..20769) ")" + CLOSE_PAREN: (20769..20770) ")" + CLOSE_PAREN: (20770..20771) ")" + ATMOSPHERE: (20771..20772) " +" + FORM: (20772..20829) + OPEN_PAREN: (20772..20773) "(" + SYMBOL: (20773..20777) + IDENTIFIER: (20773..20777) "test" + ATMOSPHERE: (20777..20778) " " + CONSTANT: (20778..20780) + BOOLEAN: (20778..20780) "#t" + ATMOSPHERE: (20780..20781) " " + FORM: (20781..20828) + OPEN_PAREN: (20781..20782) "(" + SYMBOL: (20782..20788) + IDENTIFIER: (20782..20788) "equal?" + ATMOSPHERE: (20788..20789) " " + QUOTED_DATUM: (20789..20817) + QUOTE: (20789..20790) "'" + FORM: (20790..20799) + OPEN_PAREN: (20790..20791) "(" + SYMBOL: (20791..20792) + IDENTIFIER: (20791..20792) "a" + ATMOSPHERE: (20792..20793) " " + FORM: (20793..20796) + OPEN_PAREN: (20793..20794) "(" + SYMBOL: (20794..20795) + IDENTIFIER: (20794..20795) "b" + CLOSE_PAREN: (20795..20796) ")" + ATMOSPHERE: (20796..20797) " " + SYMBOL: (20797..20798) + IDENTIFIER: (20797..20798) "c" + CLOSE_PAREN: (20798..20799) ")" + ATMOSPHERE: (20799..20817) " + " + QUOTED_DATUM: (20817..20827) + QUOTE: (20817..20818) "'" + FORM: (20818..20827) + OPEN_PAREN: (20818..20819) "(" + SYMBOL: (20819..20820) + IDENTIFIER: (20819..20820) "a" + ATMOSPHERE: (20820..20821) " " + FORM: (20821..20824) + OPEN_PAREN: (20821..20822) "(" + SYMBOL: (20822..20823) + IDENTIFIER: (20822..20823) "b" + CLOSE_PAREN: (20823..20824) ")" + ATMOSPHERE: (20824..20825) " " + SYMBOL: (20825..20826) + IDENTIFIER: (20825..20826) "c" + CLOSE_PAREN: (20826..20827) ")" + CLOSE_PAREN: (20827..20828) ")" + CLOSE_PAREN: (20828..20829) ")" + ATMOSPHERE: (20829..20830) " +" + FORM: (20830..20860) + OPEN_PAREN: (20830..20831) "(" + SYMBOL: (20831..20835) + IDENTIFIER: (20831..20835) "test" + ATMOSPHERE: (20835..20836) " " + CONSTANT: (20836..20838) + BOOLEAN: (20836..20838) "#t" + ATMOSPHERE: (20838..20839) " " + FORM: (20839..20859) + OPEN_PAREN: (20839..20840) "(" + SYMBOL: (20840..20846) + IDENTIFIER: (20840..20846) "equal?" + ATMOSPHERE: (20846..20847) " " + CONSTANT: (20847..20852) + STRING: (20847..20852) ""abc"" + ATMOSPHERE: (20852..20853) " " + CONSTANT: (20853..20858) + STRING: (20853..20858) ""abc"" + CLOSE_PAREN: (20858..20859) ")" + CLOSE_PAREN: (20859..20860) ")" + ATMOSPHERE: (20860..20861) " +" + FORM: (20861..20883) + OPEN_PAREN: (20861..20862) "(" + SYMBOL: (20862..20866) + IDENTIFIER: (20862..20866) "test" + ATMOSPHERE: (20866..20867) " " + CONSTANT: (20867..20869) + BOOLEAN: (20867..20869) "#t" + ATMOSPHERE: (20869..20870) " " + FORM: (20870..20882) + OPEN_PAREN: (20870..20871) "(" + SYMBOL: (20871..20877) + IDENTIFIER: (20871..20877) "equal?" + ATMOSPHERE: (20877..20878) " " + CONSTANT: (20878..20879) + NUMBER: (20878..20879) "2" + ATMOSPHERE: (20879..20880) " " + CONSTANT: (20880..20881) + NUMBER: (20880..20881) "2" + CLOSE_PAREN: (20881..20882) ")" + CLOSE_PAREN: (20882..20883) ")" + ATMOSPHERE: (20883..20884) " +" + FORM: (20884..20957) + OPEN_PAREN: (20884..20885) "(" + SYMBOL: (20885..20889) + IDENTIFIER: (20885..20889) "test" + ATMOSPHERE: (20889..20890) " " + CONSTANT: (20890..20892) + BOOLEAN: (20890..20892) "#t" + ATMOSPHERE: (20892..20893) " " + FORM: (20893..20956) + OPEN_PAREN: (20893..20894) "(" + SYMBOL: (20894..20900) + IDENTIFIER: (20894..20900) "equal?" + ATMOSPHERE: (20900..20901) " " + FORM: (20901..20919) + OPEN_PAREN: (20901..20902) "(" + SYMBOL: (20902..20913) + IDENTIFIER: (20902..20913) "make-vector" + ATMOSPHERE: (20913..20914) " " + CONSTANT: (20914..20915) + NUMBER: (20914..20915) "5" + ATMOSPHERE: (20915..20916) " " + QUOTED_DATUM: (20916..20918) + QUOTE: (20916..20917) "'" + SYMBOL: (20917..20918) + IDENTIFIER: (20917..20918) "a" + CLOSE_PAREN: (20918..20919) ")" + ATMOSPHERE: (20919..20937) " + " + FORM: (20937..20955) + OPEN_PAREN: (20937..20938) "(" + SYMBOL: (20938..20949) + IDENTIFIER: (20938..20949) "make-vector" + ATMOSPHERE: (20949..20950) " " + CONSTANT: (20950..20951) + NUMBER: (20950..20951) "5" + ATMOSPHERE: (20951..20952) " " + QUOTED_DATUM: (20952..20954) + QUOTE: (20952..20953) "'" + SYMBOL: (20953..20954) + IDENTIFIER: (20953..20954) "a" + CLOSE_PAREN: (20954..20955) ")" + CLOSE_PAREN: (20955..20956) ")" + CLOSE_PAREN: (20956..20957) ")" + ATMOSPHERE: (20957..20959) " + +" + FORM: (20959..20969) + OPEN_PAREN: (20959..20960) "(" + SYMBOL: (20960..20968) + IDENTIFIER: (20960..20968) "test-end" + CLOSE_PAREN: (20968..20969) ")" + ATMOSPHERE: (20969..20971) " + +" + FORM: (20971..20997) + OPEN_PAREN: (20971..20972) "(" + SYMBOL: (20972..20982) + IDENTIFIER: (20972..20982) "test-begin" + ATMOSPHERE: (20982..20983) " " + CONSTANT: (20983..20996) + STRING: (20983..20996) ""6.2 Numbers"" + CLOSE_PAREN: (20996..20997) ")" + ATMOSPHERE: (20997..20999) " + +" + ATMOSPHERE: (20999..21027) ";; (test #t (complex? 3+4i))" + ATMOSPHERE: (21027..21028) " +" + ATMOSPHERE: (21028..21053) ";; (test #t (complex? 3))" + ATMOSPHERE: (21053..21054) " +" + ATMOSPHERE: (21054..21076) ";; (test #t (real? 3))" + ATMOSPHERE: (21076..21077) " +" + ATMOSPHERE: (21077..21105) ";; (test #t (real? -2.5+0i))" + ATMOSPHERE: (21105..21106) " +" + ATMOSPHERE: (21106..21136) ";; (test #f (real? -2.5+0.0i))" + ATMOSPHERE: (21136..21137) " +" + ATMOSPHERE: (21137..21164) ";; (test #t (real? #e1e10))" + ATMOSPHERE: (21164..21165) " +" + ATMOSPHERE: (21165..21192) ";; (test #t (real? +inf.0))" + ATMOSPHERE: (21192..21193) " +" + ATMOSPHERE: (21193..21224) ";; (test #f (rational? -inf.0))" + ATMOSPHERE: (21224..21225) " +" + ATMOSPHERE: (21225..21256) ";; (test #f (rational? +nan.0))" + ATMOSPHERE: (21256..21257) " +" + ATMOSPHERE: (21257..21300) ";; (test #t (rational? 9007199254740991.0))" + ATMOSPHERE: (21300..21301) " +" + ATMOSPHERE: (21301..21344) ";; (test #t (rational? 9007199254740992.0))" + ATMOSPHERE: (21344..21345) " +" + ATMOSPHERE: (21345..21392) ";; (test #t (rational? 1.7976931348623157e308))" + ATMOSPHERE: (21392..21393) " +" + ATMOSPHERE: (21393..21422) ";; (test #t (rational? 6/10))" + ATMOSPHERE: (21422..21423) " +" + ATMOSPHERE: (21423..21451) ";; (test #t (rational? 6/3))" + ATMOSPHERE: (21451..21452) " +" + ATMOSPHERE: (21452..21480) ";; (test #t (integer? 3+0i))" + ATMOSPHERE: (21480..21481) " +" + ATMOSPHERE: (21481..21508) ";; (test #t (integer? 3.0))" + ATMOSPHERE: (21508..21509) " +" + ATMOSPHERE: (21509..21536) ";; (test #t (integer? 8/4))" + ATMOSPHERE: (21536..21538) " + +" + ATMOSPHERE: (21538..21563) ";; (test #f (exact? 3.0))" + ATMOSPHERE: (21563..21564) " +" + ATMOSPHERE: (21564..21591) ";; (test #t (exact? #e3.0))" + ATMOSPHERE: (21591..21592) " +" + ATMOSPHERE: (21592..21618) ";; (test #t (inexact? 3.))" + ATMOSPHERE: (21618..21620) " + +" + ATMOSPHERE: (21620..21652) ";; (test #t (exact-integer? 32))" + ATMOSPHERE: (21652..21653) " +" + ATMOSPHERE: (21653..21687) ";; (test #f (exact-integer? 32.0))" + ATMOSPHERE: (21687..21688) " +" + ATMOSPHERE: (21688..21722) ";; (test #f (exact-integer? 32/5))" + ATMOSPHERE: (21722..21724) " + +" + ATMOSPHERE: (21724..21748) ";; (test #t (finite? 3))" + ATMOSPHERE: (21748..21749) " +" + ATMOSPHERE: (21749..21778) ";; (test #f (finite? +inf.0))" + ATMOSPHERE: (21778..21779) " +" + ATMOSPHERE: (21779..21812) ";; (test #f (finite? 3.0+inf.0i))" + ATMOSPHERE: (21812..21814) " + +" + ATMOSPHERE: (21814..21840) ";; (test #f (infinite? 3))" + ATMOSPHERE: (21840..21841) " +" + ATMOSPHERE: (21841..21872) ";; (test #t (infinite? +inf.0))" + ATMOSPHERE: (21872..21873) " +" + ATMOSPHERE: (21873..21904) ";; (test #f (infinite? +nan.0))" + ATMOSPHERE: (21904..21905) " +" + ATMOSPHERE: (21905..21940) ";; (test #t (infinite? 3.0+inf.0i))" + ATMOSPHERE: (21940..21942) " + +" + ATMOSPHERE: (21942..21968) ";; (test #t (nan? +nan.0))" + ATMOSPHERE: (21968..21969) " +" + ATMOSPHERE: (21969..21991) ";; (test #f (nan? 32))" + ATMOSPHERE: (21991..21992) " +" + ATMOSPHERE: (21992..22026) ";; ;; (test #t (nan? +nan.0+5.0i))" + ATMOSPHERE: (22026..22027) " +" + ATMOSPHERE: (22027..22051) ";; (test #f (nan? 1+2i))" + ATMOSPHERE: (22051..22053) " + +" + ATMOSPHERE: (22053..22084) ";; (test #t (= 1 1.0 1.0+0.0i))" + ATMOSPHERE: (22084..22085) " +" + ATMOSPHERE: (22085..22114) ";; (test #f (= 1.0 1.0+1.0i))" + ATMOSPHERE: (22114..22115) " +" + ATMOSPHERE: (22115..22137) ";; (test #t (< 1 2 3))" + ATMOSPHERE: (22137..22138) " +" + ATMOSPHERE: (22138..22160) ";; (test #f (< 1 1 2))" + ATMOSPHERE: (22160..22161) " +" + ATMOSPHERE: (22161..22189) ";; (test #t (> 3.0 2.0 1.0))" + ATMOSPHERE: (22189..22190) " +" + ATMOSPHERE: (22190..22219) ";; (test #f (> -3.0 2.0 1.0))" + ATMOSPHERE: (22219..22220) " +" + ATMOSPHERE: (22220..22243) ";; (test #t (<= 1 1 2))" + ATMOSPHERE: (22243..22244) " +" + ATMOSPHERE: (22244..22267) ";; (test #f (<= 1 2 1))" + ATMOSPHERE: (22267..22268) " +" + ATMOSPHERE: (22268..22291) ";; (test #t (>= 2 1 1))" + ATMOSPHERE: (22291..22292) " +" + ATMOSPHERE: (22292..22315) ";; (test #f (>= 1 2 1))" + ATMOSPHERE: (22315..22316) " +" + ATMOSPHERE: (22316..22341) ";; (test #f (< +nan.0 0))" + ATMOSPHERE: (22341..22342) " +" + ATMOSPHERE: (22342..22367) ";; (test #f (> +nan.0 0))" + ATMOSPHERE: (22367..22368) " +" + ATMOSPHERE: (22368..22395) ";; (test #f (< +nan.0 0.0))" + ATMOSPHERE: (22395..22396) " +" + ATMOSPHERE: (22396..22423) ";; (test #f (> +nan.0 0.0))" + ATMOSPHERE: (22423..22424) " +" + ATMOSPHERE: (22424..22471) ";; (test '(#t #f) (list (<= 1 1 2) (<= 2 1 3)))" + ATMOSPHERE: (22471..22473) " + +" + ATMOSPHERE: (22473..22516) ";; ;; From R7RS 6.2.6 Numerical operations:" + ATMOSPHERE: (22516..22517) " +" + ATMOSPHERE: (22517..22522) ";; ;;" + ATMOSPHERE: (22522..22523) " +" + ATMOSPHERE: (22523..22576) ";; ;; These predicates are required to be transitive." + ATMOSPHERE: (22576..22577) " +" + ATMOSPHERE: (22577..22582) ";; ;;" + ATMOSPHERE: (22582..22583) " +" + ATMOSPHERE: (22583..22651) ";; ;; _Note:_ The traditional implementations of these predicates in" + ATMOSPHERE: (22651..22652) " +" + ATMOSPHERE: (22652..22728) ";; ;; Lisp-like languages, which involve converting all arguments to inexact" + ATMOSPHERE: (22728..22729) " +" + ATMOSPHERE: (22729..22790) ";; ;; numbers if any argument is inexact, are not transitive." + ATMOSPHERE: (22790..22792) " + +" + ATMOSPHERE: (22792..22822) ";; ;; Example from Alan Bawden" + ATMOSPHERE: (22822..22823) " +" + ATMOSPHERE: (22823..22855) ";; (let ((a (- (expt 2 1000) 1))" + ATMOSPHERE: (22855..22856) " +" + ATMOSPHERE: (22856..22926) ";; (b (inexact (expt 2 1000))) ; assuming > single-float-epsilon" + ATMOSPHERE: (22926..22927) " +" + ATMOSPHERE: (22927..22960) ";; (c (+ (expt 2 1000) 1)))" + ATMOSPHERE: (22960..22961) " +" + ATMOSPHERE: (22961..23000) ";; (test #t (if (and (= a b) (= b c))" + ATMOSPHERE: (23000..23001) " +" + ATMOSPHERE: (23001..23026) ";; (= a c)" + ATMOSPHERE: (23026..23027) " +" + ATMOSPHERE: (23027..23050) ";; #t)))" + ATMOSPHERE: (23050..23052) " + +" + ATMOSPHERE: (23052..23097) ";; ;; From CLtL 12.3. Comparisons on Numbers:" + ATMOSPHERE: (23097..23098) " +" + ATMOSPHERE: (23098..23103) ";; ;;" + ATMOSPHERE: (23103..23104) " +" + ATMOSPHERE: (23104..23174) ";; ;; Let _a_ be the result of (/ 10.0 single-float-epsilon), and let" + ATMOSPHERE: (23174..23175) " +" + ATMOSPHERE: (23175..23245) ";; ;; _j_ be the result of (floor a). ..., all of (<= a j), (< j (+ j" + ATMOSPHERE: (23245..23246) " +" + ATMOSPHERE: (23246..23315) ";; ;; 1)), and (<= (+ j 1) a) would be true; transitivity would then" + ATMOSPHERE: (23315..23316) " +" + ATMOSPHERE: (23316..23362) ";; ;; imply that (< a a) ought to be true ..." + ATMOSPHERE: (23362..23364) " + +" + ATMOSPHERE: (23364..23408) ";; ;; Transliteration from Jussi Piitulainen" + ATMOSPHERE: (23408..23409) " +" + ATMOSPHERE: (23409..23440) ";; (define single-float-epsilon" + ATMOSPHERE: (23440..23441) " +" + ATMOSPHERE: (23441..23473) ";; (do ((eps 1.0 (* eps 2.0)))" + ATMOSPHERE: (23473..23474) " +" + ATMOSPHERE: (23474..23510) ";; ((= eps (+ eps 1.0)) eps)))" + ATMOSPHERE: (23510..23512) " + +" + ATMOSPHERE: (23512..23555) ";; (let* ((a (/ 10.0 single-float-epsilon))" + ATMOSPHERE: (23555..23556) " +" + ATMOSPHERE: (23556..23580) ";; (j (exact a)))" + ATMOSPHERE: (23580..23581) " +" + ATMOSPHERE: (23581..23627) ";; (test #t (if (and (<= a j) (< j (+ j 1)))" + ATMOSPHERE: (23627..23628) " +" + ATMOSPHERE: (23628..23666) ";; (not (<= (+ j 1) a))" + ATMOSPHERE: (23666..23667) " +" + ATMOSPHERE: (23667..23690) ";; #t)))" + ATMOSPHERE: (23690..23692) " + +" + ATMOSPHERE: (23692..23714) ";; (test #t (zero? 0))" + ATMOSPHERE: (23714..23715) " +" + ATMOSPHERE: (23715..23739) ";; (test #t (zero? 0.0))" + ATMOSPHERE: (23739..23740) " +" + ATMOSPHERE: (23740..23769) ";; (test #t (zero? 0.0+0.0i))" + ATMOSPHERE: (23769..23770) " +" + ATMOSPHERE: (23770..23792) ";; (test #f (zero? 1))" + ATMOSPHERE: (23792..23793) " +" + ATMOSPHERE: (23793..23816) ";; (test #f (zero? -1))" + ATMOSPHERE: (23816..23818) " + +" + ATMOSPHERE: (23818..23844) ";; (test #f (positive? 0))" + ATMOSPHERE: (23844..23845) " +" + ATMOSPHERE: (23845..23873) ";; (test #f (positive? 0.0))" + ATMOSPHERE: (23873..23874) " +" + ATMOSPHERE: (23874..23900) ";; (test #t (positive? 1))" + ATMOSPHERE: (23900..23901) " +" + ATMOSPHERE: (23901..23929) ";; (test #t (positive? 1.0))" + ATMOSPHERE: (23929..23930) " +" + ATMOSPHERE: (23930..23957) ";; (test #f (positive? -1))" + ATMOSPHERE: (23957..23958) " +" + ATMOSPHERE: (23958..23987) ";; (test #f (positive? -1.0))" + ATMOSPHERE: (23987..23988) " +" + ATMOSPHERE: (23988..24019) ";; (test #t (positive? +inf.0))" + ATMOSPHERE: (24019..24020) " +" + ATMOSPHERE: (24020..24051) ";; (test #f (positive? -inf.0))" + ATMOSPHERE: (24051..24052) " +" + ATMOSPHERE: (24052..24083) ";; (test #f (positive? +nan.0))" + ATMOSPHERE: (24083..24085) " + +" + ATMOSPHERE: (24085..24111) ";; (test #f (negative? 0))" + ATMOSPHERE: (24111..24112) " +" + ATMOSPHERE: (24112..24140) ";; (test #f (negative? 0.0))" + ATMOSPHERE: (24140..24141) " +" + ATMOSPHERE: (24141..24167) ";; (test #f (negative? 1))" + ATMOSPHERE: (24167..24168) " +" + ATMOSPHERE: (24168..24196) ";; (test #f (negative? 1.0))" + ATMOSPHERE: (24196..24197) " +" + ATMOSPHERE: (24197..24224) ";; (test #t (negative? -1))" + ATMOSPHERE: (24224..24225) " +" + ATMOSPHERE: (24225..24254) ";; (test #t (negative? -1.0))" + ATMOSPHERE: (24254..24255) " +" + ATMOSPHERE: (24255..24286) ";; (test #f (negative? +inf.0))" + ATMOSPHERE: (24286..24287) " +" + ATMOSPHERE: (24287..24318) ";; (test #t (negative? -inf.0))" + ATMOSPHERE: (24318..24319) " +" + ATMOSPHERE: (24319..24350) ";; (test #f (negative? +nan.0))" + ATMOSPHERE: (24350..24352) " + +" + ATMOSPHERE: (24352..24373) ";; (test #f (odd? 0))" + ATMOSPHERE: (24373..24374) " +" + ATMOSPHERE: (24374..24395) ";; (test #t (odd? 1))" + ATMOSPHERE: (24395..24396) " +" + ATMOSPHERE: (24396..24418) ";; (test #t (odd? -1))" + ATMOSPHERE: (24418..24419) " +" + ATMOSPHERE: (24419..24442) ";; (test #f (odd? 102))" + ATMOSPHERE: (24442..24444) " + +" + ATMOSPHERE: (24444..24466) ";; (test #t (even? 0))" + ATMOSPHERE: (24466..24467) " +" + ATMOSPHERE: (24467..24489) ";; (test #f (even? 1))" + ATMOSPHERE: (24489..24490) " +" + ATMOSPHERE: (24490..24513) ";; (test #t (even? -2))" + ATMOSPHERE: (24513..24514) " +" + ATMOSPHERE: (24514..24538) ";; (test #t (even? 102))" + ATMOSPHERE: (24538..24540) " + +" + ATMOSPHERE: (24540..24559) ";; (test 3 (max 3))" + ATMOSPHERE: (24559..24560) " +" + ATMOSPHERE: (24560..24581) ";; (test 4 (max 3 4))" + ATMOSPHERE: (24581..24582) " +" + ATMOSPHERE: (24582..24607) ";; (test 4.0 (max 3.9 4))" + ATMOSPHERE: (24607..24608) " +" + ATMOSPHERE: (24608..24635) ";; (test 5.0 (max 5 3.9 4))" + ATMOSPHERE: (24635..24636) " +" + ATMOSPHERE: (24636..24669) ";; (test +inf.0 (max 100 +inf.0))" + ATMOSPHERE: (24669..24670) " +" + ATMOSPHERE: (24670..24689) ";; (test 3 (min 3))" + ATMOSPHERE: (24689..24690) " +" + ATMOSPHERE: (24690..24711) ";; (test 3 (min 3 4))" + ATMOSPHERE: (24711..24712) " +" + ATMOSPHERE: (24712..24737) ";; (test 3.0 (min 3 3.1))" + ATMOSPHERE: (24737..24738) " +" + ATMOSPHERE: (24738..24772) ";; (test -inf.0 (min -inf.0 -100))" + ATMOSPHERE: (24772..24774) " + +" + ATMOSPHERE: (24774..24793) ";; (test 7 (+ 3 4))" + ATMOSPHERE: (24793..24794) " +" + ATMOSPHERE: (24794..24811) ";; (test 3 (+ 3))" + ATMOSPHERE: (24811..24812) " +" + ATMOSPHERE: (24812..24827) ";; (test 0 (+))" + ATMOSPHERE: (24827..24828) " +" + ATMOSPHERE: (24828..24845) ";; (test 4 (* 4))" + ATMOSPHERE: (24845..24846) " +" + ATMOSPHERE: (24846..24861) ";; (test 1 (*))" + ATMOSPHERE: (24861..24863) " + +" + ATMOSPHERE: (24863..24883) ";; (test -1 (- 3 4))" + ATMOSPHERE: (24883..24884) " +" + ATMOSPHERE: (24884..24906) ";; (test -6 (- 3 4 5))" + ATMOSPHERE: (24906..24907) " +" + ATMOSPHERE: (24907..24925) ";; (test -3 (- 3))" + ATMOSPHERE: (24925..24926) " +" + ATMOSPHERE: (24926..24950) ";; (test 3/20 (/ 3 4 5))" + ATMOSPHERE: (24950..24951) " +" + ATMOSPHERE: (24951..24970) ";; (test 1/3 (/ 3))" + ATMOSPHERE: (24970..24972) " + +" + ATMOSPHERE: (24972..24992) ";; (test 7 (abs -7))" + ATMOSPHERE: (24992..24993) " +" + ATMOSPHERE: (24993..25012) ";; (test 7 (abs 7))" + ATMOSPHERE: (25012..25014) " + +" + ATMOSPHERE: (25014..25056) ";; (test-values (values 2 1) (floor/ 5 2))" + ATMOSPHERE: (25056..25057) " +" + ATMOSPHERE: (25057..25101) ";; (test-values (values -3 1) (floor/ -5 2))" + ATMOSPHERE: (25101..25102) " +" + ATMOSPHERE: (25102..25147) ";; (test-values (values -3 -1) (floor/ 5 -2))" + ATMOSPHERE: (25147..25148) " +" + ATMOSPHERE: (25148..25193) ";; (test-values (values 2 -1) (floor/ -5 -2))" + ATMOSPHERE: (25193..25194) " +" + ATMOSPHERE: (25194..25239) ";; (test-values (values 2 1) (truncate/ 5 2))" + ATMOSPHERE: (25239..25240) " +" + ATMOSPHERE: (25240..25288) ";; (test-values (values -2 -1) (truncate/ -5 2))" + ATMOSPHERE: (25288..25289) " +" + ATMOSPHERE: (25289..25336) ";; (test-values (values -2 1) (truncate/ 5 -2))" + ATMOSPHERE: (25336..25337) " +" + ATMOSPHERE: (25337..25385) ";; (test-values (values 2 -1) (truncate/ -5 -2))" + ATMOSPHERE: (25385..25386) " +" + ATMOSPHERE: (25386..25440) ";; (test-values (values 2.0 -1.0) (truncate/ -5.0 -2))" + ATMOSPHERE: (25440..25442) " + +" + ATMOSPHERE: (25442..25467) ";; (test 1 (modulo 13 4))" + ATMOSPHERE: (25467..25468) " +" + ATMOSPHERE: (25468..25496) ";; (test 1 (remainder 13 4))" + ATMOSPHERE: (25496..25498) " + +" + ATMOSPHERE: (25498..25524) ";; (test 3 (modulo -13 4))" + ATMOSPHERE: (25524..25525) " +" + ATMOSPHERE: (25525..25555) ";; (test -1 (remainder -13 4))" + ATMOSPHERE: (25555..25557) " + +" + ATMOSPHERE: (25557..25584) ";; (test -3 (modulo 13 -4))" + ATMOSPHERE: (25584..25585) " +" + ATMOSPHERE: (25585..25614) ";; (test 1 (remainder 13 -4))" + ATMOSPHERE: (25614..25616) " + +" + ATMOSPHERE: (25616..25644) ";; (test -1 (modulo -13 -4))" + ATMOSPHERE: (25644..25645) " +" + ATMOSPHERE: (25645..25676) ";; (test -1 (remainder -13 -4))" + ATMOSPHERE: (25676..25678) " + +" + ATMOSPHERE: (25678..25713) ";; (test -1.0 (remainder -13 -4.0))" + ATMOSPHERE: (25713..25715) " + +" + ATMOSPHERE: (25715..25739) ";; (test 4 (gcd 32 -36))" + ATMOSPHERE: (25739..25740) " +" + ATMOSPHERE: (25740..25757) ";; (test 0 (gcd))" + ATMOSPHERE: (25757..25758) " +" + ATMOSPHERE: (25758..25784) ";; (test 288 (lcm 32 -36))" + ATMOSPHERE: (25784..25785) " +" + ATMOSPHERE: (25785..25815) ";; (test 288.0 (lcm 32.0 -36))" + ATMOSPHERE: (25815..25816) " +" + ATMOSPHERE: (25816..25833) ";; (test 1 (lcm))" + ATMOSPHERE: (25833..25835) " + +" + ATMOSPHERE: (25835..25866) ";; (test 3 (numerator (/ 6 4)))" + ATMOSPHERE: (25866..25867) " +" + ATMOSPHERE: (25867..25900) ";; (test 2 (denominator (/ 6 4)))" + ATMOSPHERE: (25900..25901) " +" + ATMOSPHERE: (25901..25946) ";; (test 2.0 (denominator (inexact (/ 6 4))))" + ATMOSPHERE: (25946..25947) " +" + ATMOSPHERE: (25947..25977) ";; (test 11.0 (numerator 5.5))" + ATMOSPHERE: (25977..25978) " +" + ATMOSPHERE: (25978..26009) ";; (test 2.0 (denominator 5.5))" + ATMOSPHERE: (26009..26010) " +" + ATMOSPHERE: (26010..26039) ";; (test 5.0 (numerator 5.0))" + ATMOSPHERE: (26039..26040) " +" + ATMOSPHERE: (26040..26071) ";; (test 1.0 (denominator 5.0))" + ATMOSPHERE: (26071..26073) " + +" + ATMOSPHERE: (26073..26100) ";; (test -5.0 (floor -4.3))" + ATMOSPHERE: (26100..26101) " +" + ATMOSPHERE: (26101..26130) ";; (test -4.0 (ceiling -4.3))" + ATMOSPHERE: (26130..26131) " +" + ATMOSPHERE: (26131..26161) ";; (test -4.0 (truncate -4.3))" + ATMOSPHERE: (26161..26162) " +" + ATMOSPHERE: (26162..26189) ";; (test -4.0 (round -4.3))" + ATMOSPHERE: (26189..26191) " + +" + ATMOSPHERE: (26191..26216) ";; (test 3.0 (floor 3.5))" + ATMOSPHERE: (26216..26217) " +" + ATMOSPHERE: (26217..26244) ";; (test 4.0 (ceiling 3.5))" + ATMOSPHERE: (26244..26245) " +" + ATMOSPHERE: (26245..26273) ";; (test 3.0 (truncate 3.5))" + ATMOSPHERE: (26273..26274) " +" + ATMOSPHERE: (26274..26299) ";; (test 4.0 (round 3.5))" + ATMOSPHERE: (26299..26301) " + +" + ATMOSPHERE: (26301..26324) ";; (test 4 (round 7/2))" + ATMOSPHERE: (26324..26325) " +" + ATMOSPHERE: (26325..26346) ";; (test 7 (round 7))" + ATMOSPHERE: (26346..26347) " +" + ATMOSPHERE: (26347..26371) ";; (test 1 (round 7/10))" + ATMOSPHERE: (26371..26372) " +" + ATMOSPHERE: (26372..26397) ";; (test -4 (round -7/2))" + ATMOSPHERE: (26397..26398) " +" + ATMOSPHERE: (26398..26421) ";; (test -7 (round -7))" + ATMOSPHERE: (26421..26422) " +" + ATMOSPHERE: (26422..26448) ";; (test -1 (round -7/10))" + ATMOSPHERE: (26448..26450) " + +" + ATMOSPHERE: (26450..26493) ";; (test 1/3 (rationalize (exact .3) 1/10))" + ATMOSPHERE: (26493..26494) " +" + ATMOSPHERE: (26494..26531) ";; (test #i1/3 (rationalize .3 1/10))" + ATMOSPHERE: (26531..26533) " + +" + ATMOSPHERE: (26533..26591) ";; (test 1.0 (inexact (exp 0))) ;; may return exact number" + ATMOSPHERE: (26591..26592) " +" + ATMOSPHERE: (26592..26626) ";; (test 20.0855369231877 (exp 3))" + ATMOSPHERE: (26626..26628) " + +" + ATMOSPHERE: (26628..26686) ";; (test 0.0 (inexact (log 1))) ;; may return exact number" + ATMOSPHERE: (26686..26687) " +" + ATMOSPHERE: (26687..26714) ";; (test 1.0 (log (exp 1)))" + ATMOSPHERE: (26714..26715) " +" + ATMOSPHERE: (26715..26744) ";; (test 42.0 (log (exp 42)))" + ATMOSPHERE: (26744..26745) " +" + ATMOSPHERE: (26745..26771) ";; (test 2.0 (log 100 10))" + ATMOSPHERE: (26771..26772) " +" + ATMOSPHERE: (26772..26799) ";; (test 12.0 (log 4096 2))" + ATMOSPHERE: (26799..26801) " + +" + ATMOSPHERE: (26801..26859) ";; (test 0.0 (inexact (sin 0))) ;; may return exact number" + ATMOSPHERE: (26859..26860) " +" + ATMOSPHERE: (26860..26895) ";; (test 1.0 (sin 1.5707963267949))" + ATMOSPHERE: (26895..26896) " +" + ATMOSPHERE: (26896..26954) ";; (test 1.0 (inexact (cos 0))) ;; may return exact number" + ATMOSPHERE: (26954..26955) " +" + ATMOSPHERE: (26955..26992) ";; (test -1.0 (cos 3.14159265358979))" + ATMOSPHERE: (26992..26993) " +" + ATMOSPHERE: (26993..27051) ";; (test 0.0 (inexact (tan 0))) ;; may return exact number" + ATMOSPHERE: (27051..27052) " +" + ATMOSPHERE: (27052..27085) ";; (test 1.5574077246549 (tan 1))" + ATMOSPHERE: (27085..27087) " + +" + ATMOSPHERE: (27087..27146) ";; (test 0.0 (inexact (asin 0))) ;; may return exact number" + ATMOSPHERE: (27146..27147) " +" + ATMOSPHERE: (27147..27181) ";; (test 1.5707963267949 (asin 1))" + ATMOSPHERE: (27181..27182) " +" + ATMOSPHERE: (27182..27241) ";; (test 0.0 (inexact (acos 1))) ;; may return exact number" + ATMOSPHERE: (27241..27242) " +" + ATMOSPHERE: (27242..27278) ";; (test 3.14159265358979 (acos -1))" + ATMOSPHERE: (27278..27280) " + +" + ATMOSPHERE: (27280..27315) ";; ;; (test 0.0-0.0i (asin 0+0.0i))" + ATMOSPHERE: (27315..27316) " +" + ATMOSPHERE: (27316..27366) ";; ;; (test 1.5707963267948966+0.0i (acos 0+0.0i))" + ATMOSPHERE: (27366..27368) " + +" + ATMOSPHERE: (27368..27396) ";; (test 0.0 (atan 0.0 1.0))" + ATMOSPHERE: (27396..27397) " +" + ATMOSPHERE: (27397..27427) ";; (test -0.0 (atan -0.0 1.0))" + ATMOSPHERE: (27427..27428) " +" + ATMOSPHERE: (27428..27470) ";; (test 0.785398163397448 (atan 1.0 1.0))" + ATMOSPHERE: (27470..27471) " +" + ATMOSPHERE: (27471..27511) ";; (test 1.5707963267949 (atan 1.0 0.0))" + ATMOSPHERE: (27511..27512) " +" + ATMOSPHERE: (27512..27554) ";; (test 2.35619449019234 (atan 1.0 -1.0))" + ATMOSPHERE: (27554..27555) " +" + ATMOSPHERE: (27555..27597) ";; (test 3.14159265358979 (atan 0.0 -1.0))" + ATMOSPHERE: (27597..27598) " +" + ATMOSPHERE: (27598..27644) ";; (test -3.14159265358979 (atan -0.0 -1.0)) ;" + ATMOSPHERE: (27644..27645) " +" + ATMOSPHERE: (27645..27689) ";; (test -2.35619449019234 (atan -1.0 -1.0))" + ATMOSPHERE: (27689..27690) " +" + ATMOSPHERE: (27690..27732) ";; (test -1.5707963267949 (atan -1.0 0.0))" + ATMOSPHERE: (27732..27733) " +" + ATMOSPHERE: (27733..27777) ";; (test -0.785398163397448 (atan -1.0 1.0))" + ATMOSPHERE: (27777..27778) " +" + ATMOSPHERE: (27778..27815) ";; ;; (test undefined (atan 0.0 0.0))" + ATMOSPHERE: (27815..27817) " + +" + ATMOSPHERE: (27817..27843) ";; (test 1764 (square 42))" + ATMOSPHERE: (27843..27844) " +" + ATMOSPHERE: (27844..27866) ";; (test 4 (square 2))" + ATMOSPHERE: (27866..27868) " + +" + ATMOSPHERE: (27868..27900) ";; (test 3.0 (inexact (sqrt 9)))" + ATMOSPHERE: (27900..27901) " +" + ATMOSPHERE: (27901..27935) ";; (test 1.4142135623731 (sqrt 2))" + ATMOSPHERE: (27935..27936) " +" + ATMOSPHERE: (27936..27974) ";; (test 0.0+1.0i (inexact (sqrt -1)))" + ATMOSPHERE: (27974..27976) " + +" + ATMOSPHERE: (27976..28051) ";; (test '(2 0) (call-with-values (lambda () (exact-integer-sqrt 4)) list))" + ATMOSPHERE: (28051..28052) " +" + ATMOSPHERE: (28052..28127) ";; (test '(2 1) (call-with-values (lambda () (exact-integer-sqrt 5)) list))" + ATMOSPHERE: (28127..28129) " + +" + ATMOSPHERE: (28129..28152) ";; (test 27 (expt 3 3))" + ATMOSPHERE: (28152..28153) " +" + ATMOSPHERE: (28153..28175) ";; (test 1 (expt 0 0))" + ATMOSPHERE: (28175..28176) " +" + ATMOSPHERE: (28176..28198) ";; (test 0 (expt 0 1))" + ATMOSPHERE: (28198..28199) " +" + ATMOSPHERE: (28199..28225) ";; (test 1.0 (expt 0.0 0))" + ATMOSPHERE: (28225..28226) " +" + ATMOSPHERE: (28226..28252) ";; (test 0.0 (expt 0 1.0))" + ATMOSPHERE: (28252..28254) " + +" + ATMOSPHERE: (28254..28291) ";; (test 1+2i (make-rectangular 1 2))" + ATMOSPHERE: (28291..28293) " + +" + ATMOSPHERE: (28293..28355) ";; (test 0.54030230586814+0.841470984807897i (make-polar 1 1))" + ATMOSPHERE: (28355..28357) " + +" + ATMOSPHERE: (28357..28385) ";; (test 1 (real-part 1+2i))" + ATMOSPHERE: (28385..28387) " + +" + ATMOSPHERE: (28387..28415) ";; (test 2 (imag-part 1+2i))" + ATMOSPHERE: (28415..28417) " + +" + ATMOSPHERE: (28417..28460) ";; (test 2.23606797749979 (magnitude 1+2i))" + ATMOSPHERE: (28460..28462) " + +" + ATMOSPHERE: (28462..28501) ";; (test 1.10714871779409 (angle 1+2i))" + ATMOSPHERE: (28501..28503) " + +" + ATMOSPHERE: (28503..28528) ";; (test 1.0 (inexact 1))" + ATMOSPHERE: (28528..28529) " +" + ATMOSPHERE: (28529..28564) ";; (test #t (inexact? (inexact 1)))" + ATMOSPHERE: (28564..28565) " +" + ATMOSPHERE: (28565..28588) ";; (test 1 (exact 1.0))" + ATMOSPHERE: (28588..28589) " +" + ATMOSPHERE: (28589..28622) ";; (test #t (exact? (exact 1.0)))" + ATMOSPHERE: (28622..28624) " + +" + FORM: (28624..28657) + OPEN_PAREN: (28624..28625) "(" + SYMBOL: (28625..28629) + IDENTIFIER: (28625..28629) "test" + ATMOSPHERE: (28629..28630) " " + CONSTANT: (28630..28633) + NUMBER: (28630..28633) "100" + ATMOSPHERE: (28633..28634) " " + FORM: (28634..28656) + OPEN_PAREN: (28634..28635) "(" + SYMBOL: (28635..28649) + IDENTIFIER: (28635..28649) "string->number" + ATMOSPHERE: (28649..28650) " " + CONSTANT: (28650..28655) + STRING: (28650..28655) ""100"" + CLOSE_PAREN: (28655..28656) ")" + CLOSE_PAREN: (28656..28657) ")" + ATMOSPHERE: (28657..28658) " +" + FORM: (28658..28694) + OPEN_PAREN: (28658..28659) "(" + SYMBOL: (28659..28663) + IDENTIFIER: (28659..28663) "test" + ATMOSPHERE: (28663..28664) " " + CONSTANT: (28664..28667) + NUMBER: (28664..28667) "256" + ATMOSPHERE: (28667..28668) " " + FORM: (28668..28693) + OPEN_PAREN: (28668..28669) "(" + SYMBOL: (28669..28683) + IDENTIFIER: (28669..28683) "string->number" + ATMOSPHERE: (28683..28684) " " + CONSTANT: (28684..28689) + STRING: (28684..28689) ""100"" + ATMOSPHERE: (28689..28690) " " + CONSTANT: (28690..28692) + NUMBER: (28690..28692) "16" + CLOSE_PAREN: (28692..28693) ")" + CLOSE_PAREN: (28693..28694) ")" + ATMOSPHERE: (28694..28695) " +" + FORM: (28695..28730) + OPEN_PAREN: (28695..28696) "(" + SYMBOL: (28696..28700) + IDENTIFIER: (28696..28700) "test" + ATMOSPHERE: (28700..28701) " " + CONSTANT: (28701..28706) + NUMBER: (28701..28706) "100.0" + ATMOSPHERE: (28706..28707) " " + FORM: (28707..28729) + OPEN_PAREN: (28707..28708) "(" + SYMBOL: (28708..28722) + IDENTIFIER: (28708..28722) "string->number" + ATMOSPHERE: (28722..28723) " " + CONSTANT: (28723..28728) + STRING: (28723..28728) ""1e2"" + CLOSE_PAREN: (28728..28729) ")" + CLOSE_PAREN: (28729..28730) ")" + ATMOSPHERE: (28730..28732) " + +" + FORM: (28732..28742) + OPEN_PAREN: (28732..28733) "(" + SYMBOL: (28733..28741) + IDENTIFIER: (28733..28741) "test-end" + CLOSE_PAREN: (28741..28742) ")" + ATMOSPHERE: (28742..28744) " + +" + FORM: (28744..28771) + OPEN_PAREN: (28744..28745) "(" + SYMBOL: (28745..28755) + IDENTIFIER: (28745..28755) "test-begin" + ATMOSPHERE: (28755..28756) " " + CONSTANT: (28756..28770) + STRING: (28756..28770) ""6.3 Booleans"" + CLOSE_PAREN: (28770..28771) ")" + ATMOSPHERE: (28771..28773) " + +" + FORM: (28773..28785) + OPEN_PAREN: (28773..28774) "(" + SYMBOL: (28774..28778) + IDENTIFIER: (28774..28778) "test" + ATMOSPHERE: (28778..28779) " " + CONSTANT: (28779..28781) + BOOLEAN: (28779..28781) "#t" + ATMOSPHERE: (28781..28782) " " + CONSTANT: (28782..28784) + BOOLEAN: (28782..28784) "#t" + CLOSE_PAREN: (28784..28785) ")" + ATMOSPHERE: (28785..28786) " +" + FORM: (28786..28798) + OPEN_PAREN: (28786..28787) "(" + SYMBOL: (28787..28791) + IDENTIFIER: (28787..28791) "test" + ATMOSPHERE: (28791..28792) " " + CONSTANT: (28792..28794) + BOOLEAN: (28792..28794) "#f" + ATMOSPHERE: (28794..28795) " " + CONSTANT: (28795..28797) + BOOLEAN: (28795..28797) "#f" + CLOSE_PAREN: (28797..28798) ")" + ATMOSPHERE: (28798..28799) " +" + FORM: (28799..28812) + OPEN_PAREN: (28799..28800) "(" + SYMBOL: (28800..28804) + IDENTIFIER: (28800..28804) "test" + ATMOSPHERE: (28804..28805) " " + CONSTANT: (28805..28807) + BOOLEAN: (28805..28807) "#f" + ATMOSPHERE: (28807..28808) " " + QUOTED_DATUM: (28808..28811) + QUOTE: (28808..28809) "'" + CONSTANT: (28809..28811) + BOOLEAN: (28809..28811) "#f" + CLOSE_PAREN: (28811..28812) ")" + ATMOSPHERE: (28812..28814) " + +" + FORM: (28814..28832) + OPEN_PAREN: (28814..28815) "(" + SYMBOL: (28815..28819) + IDENTIFIER: (28815..28819) "test" + ATMOSPHERE: (28819..28820) " " + CONSTANT: (28820..28822) + BOOLEAN: (28820..28822) "#f" + ATMOSPHERE: (28822..28823) " " + FORM: (28823..28831) + OPEN_PAREN: (28823..28824) "(" + SYMBOL: (28824..28827) + IDENTIFIER: (28824..28827) "not" + ATMOSPHERE: (28827..28828) " " + CONSTANT: (28828..28830) + BOOLEAN: (28828..28830) "#t" + CLOSE_PAREN: (28830..28831) ")" + CLOSE_PAREN: (28831..28832) ")" + ATMOSPHERE: (28832..28833) " +" + FORM: (28833..28850) + OPEN_PAREN: (28833..28834) "(" + SYMBOL: (28834..28838) + IDENTIFIER: (28834..28838) "test" + ATMOSPHERE: (28838..28839) " " + CONSTANT: (28839..28841) + BOOLEAN: (28839..28841) "#f" + ATMOSPHERE: (28841..28842) " " + FORM: (28842..28849) + OPEN_PAREN: (28842..28843) "(" + SYMBOL: (28843..28846) + IDENTIFIER: (28843..28846) "not" + ATMOSPHERE: (28846..28847) " " + CONSTANT: (28847..28848) + NUMBER: (28847..28848) "3" + CLOSE_PAREN: (28848..28849) ")" + CLOSE_PAREN: (28849..28850) ")" + ATMOSPHERE: (28850..28851) " +" + FORM: (28851..28875) + OPEN_PAREN: (28851..28852) "(" + SYMBOL: (28852..28856) + IDENTIFIER: (28852..28856) "test" + ATMOSPHERE: (28856..28857) " " + CONSTANT: (28857..28859) + BOOLEAN: (28857..28859) "#f" + ATMOSPHERE: (28859..28860) " " + FORM: (28860..28874) + OPEN_PAREN: (28860..28861) "(" + SYMBOL: (28861..28864) + IDENTIFIER: (28861..28864) "not" + ATMOSPHERE: (28864..28865) " " + FORM: (28865..28873) + OPEN_PAREN: (28865..28866) "(" + SYMBOL: (28866..28870) + IDENTIFIER: (28866..28870) "list" + ATMOSPHERE: (28870..28871) " " + CONSTANT: (28871..28872) + NUMBER: (28871..28872) "3" + CLOSE_PAREN: (28872..28873) ")" + CLOSE_PAREN: (28873..28874) ")" + CLOSE_PAREN: (28874..28875) ")" + ATMOSPHERE: (28875..28876) " +" + FORM: (28876..28894) + OPEN_PAREN: (28876..28877) "(" + SYMBOL: (28877..28881) + IDENTIFIER: (28877..28881) "test" + ATMOSPHERE: (28881..28882) " " + CONSTANT: (28882..28884) + BOOLEAN: (28882..28884) "#t" + ATMOSPHERE: (28884..28885) " " + FORM: (28885..28893) + OPEN_PAREN: (28885..28886) "(" + SYMBOL: (28886..28889) + IDENTIFIER: (28886..28889) "not" + ATMOSPHERE: (28889..28890) " " + CONSTANT: (28890..28892) + BOOLEAN: (28890..28892) "#f" + CLOSE_PAREN: (28892..28893) ")" + CLOSE_PAREN: (28893..28894) ")" + ATMOSPHERE: (28894..28895) " +" + FORM: (28895..28914) + OPEN_PAREN: (28895..28896) "(" + SYMBOL: (28896..28900) + IDENTIFIER: (28896..28900) "test" + ATMOSPHERE: (28900..28901) " " + CONSTANT: (28901..28903) + BOOLEAN: (28901..28903) "#f" + ATMOSPHERE: (28903..28904) " " + FORM: (28904..28913) + OPEN_PAREN: (28904..28905) "(" + SYMBOL: (28905..28908) + IDENTIFIER: (28905..28908) "not" + ATMOSPHERE: (28908..28909) " " + QUOTED_DATUM: (28909..28912) + QUOTE: (28909..28910) "'" + FORM: (28910..28912) + OPEN_PAREN: (28910..28911) "(" + CLOSE_PAREN: (28911..28912) ")" + CLOSE_PAREN: (28912..28913) ")" + CLOSE_PAREN: (28913..28914) ")" + ATMOSPHERE: (28914..28915) " +" + FORM: (28915..28937) + OPEN_PAREN: (28915..28916) "(" + SYMBOL: (28916..28920) + IDENTIFIER: (28916..28920) "test" + ATMOSPHERE: (28920..28921) " " + CONSTANT: (28921..28923) + BOOLEAN: (28921..28923) "#f" + ATMOSPHERE: (28923..28924) " " + FORM: (28924..28936) + OPEN_PAREN: (28924..28925) "(" + SYMBOL: (28925..28928) + IDENTIFIER: (28925..28928) "not" + ATMOSPHERE: (28928..28929) " " + FORM: (28929..28935) + OPEN_PAREN: (28929..28930) "(" + SYMBOL: (28930..28934) + IDENTIFIER: (28930..28934) "list" + CLOSE_PAREN: (28934..28935) ")" + CLOSE_PAREN: (28935..28936) ")" + CLOSE_PAREN: (28936..28937) ")" + ATMOSPHERE: (28937..28938) " +" + FORM: (28938..28958) + OPEN_PAREN: (28938..28939) "(" + SYMBOL: (28939..28943) + IDENTIFIER: (28939..28943) "test" + ATMOSPHERE: (28943..28944) " " + CONSTANT: (28944..28946) + BOOLEAN: (28944..28946) "#f" + ATMOSPHERE: (28946..28947) " " + FORM: (28947..28957) + OPEN_PAREN: (28947..28948) "(" + SYMBOL: (28948..28951) + IDENTIFIER: (28948..28951) "not" + ATMOSPHERE: (28951..28952) " " + QUOTED_DATUM: (28952..28956) + QUOTE: (28952..28953) "'" + SYMBOL: (28953..28956) + IDENTIFIER: (28953..28956) "nil" + CLOSE_PAREN: (28956..28957) ")" + CLOSE_PAREN: (28957..28958) ")" + ATMOSPHERE: (28958..28960) " + +" + FORM: (28960..28983) + OPEN_PAREN: (28960..28961) "(" + SYMBOL: (28961..28965) + IDENTIFIER: (28961..28965) "test" + ATMOSPHERE: (28965..28966) " " + CONSTANT: (28966..28968) + BOOLEAN: (28966..28968) "#t" + ATMOSPHERE: (28968..28969) " " + FORM: (28969..28982) + OPEN_PAREN: (28969..28970) "(" + SYMBOL: (28970..28978) + IDENTIFIER: (28970..28978) "boolean?" + ATMOSPHERE: (28978..28979) " " + CONSTANT: (28979..28981) + BOOLEAN: (28979..28981) "#f" + CLOSE_PAREN: (28981..28982) ")" + CLOSE_PAREN: (28982..28983) ")" + ATMOSPHERE: (28983..28984) " +" + FORM: (28984..29006) + OPEN_PAREN: (28984..28985) "(" + SYMBOL: (28985..28989) + IDENTIFIER: (28985..28989) "test" + ATMOSPHERE: (28989..28990) " " + CONSTANT: (28990..28992) + BOOLEAN: (28990..28992) "#f" + ATMOSPHERE: (28992..28993) " " + FORM: (28993..29005) + OPEN_PAREN: (28993..28994) "(" + SYMBOL: (28994..29002) + IDENTIFIER: (28994..29002) "boolean?" + ATMOSPHERE: (29002..29003) " " + CONSTANT: (29003..29004) + NUMBER: (29003..29004) "0" + CLOSE_PAREN: (29004..29005) ")" + CLOSE_PAREN: (29005..29006) ")" + ATMOSPHERE: (29006..29007) " +" + FORM: (29007..29031) + OPEN_PAREN: (29007..29008) "(" + SYMBOL: (29008..29012) + IDENTIFIER: (29008..29012) "test" + ATMOSPHERE: (29012..29013) " " + CONSTANT: (29013..29015) + BOOLEAN: (29013..29015) "#f" + ATMOSPHERE: (29015..29016) " " + FORM: (29016..29030) + OPEN_PAREN: (29016..29017) "(" + SYMBOL: (29017..29025) + IDENTIFIER: (29017..29025) "boolean?" + ATMOSPHERE: (29025..29026) " " + QUOTED_DATUM: (29026..29029) + QUOTE: (29026..29027) "'" + FORM: (29027..29029) + OPEN_PAREN: (29027..29028) "(" + CLOSE_PAREN: (29028..29029) ")" + CLOSE_PAREN: (29029..29030) ")" + CLOSE_PAREN: (29030..29031) ")" + ATMOSPHERE: (29031..29033) " + +" + FORM: (29033..29060) + OPEN_PAREN: (29033..29034) "(" + SYMBOL: (29034..29038) + IDENTIFIER: (29034..29038) "test" + ATMOSPHERE: (29038..29039) " " + CONSTANT: (29039..29041) + BOOLEAN: (29039..29041) "#t" + ATMOSPHERE: (29041..29042) " " + FORM: (29042..29059) + OPEN_PAREN: (29042..29043) "(" + SYMBOL: (29043..29052) + IDENTIFIER: (29043..29052) "boolean=?" + ATMOSPHERE: (29052..29053) " " + CONSTANT: (29053..29055) + BOOLEAN: (29053..29055) "#t" + ATMOSPHERE: (29055..29056) " " + CONSTANT: (29056..29058) + BOOLEAN: (29056..29058) "#t" + CLOSE_PAREN: (29058..29059) ")" + CLOSE_PAREN: (29059..29060) ")" + ATMOSPHERE: (29060..29061) " +" + FORM: (29061..29088) + OPEN_PAREN: (29061..29062) "(" + SYMBOL: (29062..29066) + IDENTIFIER: (29062..29066) "test" + ATMOSPHERE: (29066..29067) " " + CONSTANT: (29067..29069) + BOOLEAN: (29067..29069) "#t" + ATMOSPHERE: (29069..29070) " " + FORM: (29070..29087) + OPEN_PAREN: (29070..29071) "(" + SYMBOL: (29071..29080) + IDENTIFIER: (29071..29080) "boolean=?" + ATMOSPHERE: (29080..29081) " " + CONSTANT: (29081..29083) + BOOLEAN: (29081..29083) "#f" + ATMOSPHERE: (29083..29084) " " + CONSTANT: (29084..29086) + BOOLEAN: (29084..29086) "#f" + CLOSE_PAREN: (29086..29087) ")" + CLOSE_PAREN: (29087..29088) ")" + ATMOSPHERE: (29088..29089) " +" + FORM: (29089..29116) + OPEN_PAREN: (29089..29090) "(" + SYMBOL: (29090..29094) + IDENTIFIER: (29090..29094) "test" + ATMOSPHERE: (29094..29095) " " + CONSTANT: (29095..29097) + BOOLEAN: (29095..29097) "#f" + ATMOSPHERE: (29097..29098) " " + FORM: (29098..29115) + OPEN_PAREN: (29098..29099) "(" + SYMBOL: (29099..29108) + IDENTIFIER: (29099..29108) "boolean=?" + ATMOSPHERE: (29108..29109) " " + CONSTANT: (29109..29111) + BOOLEAN: (29109..29111) "#t" + ATMOSPHERE: (29111..29112) " " + CONSTANT: (29112..29114) + BOOLEAN: (29112..29114) "#f" + CLOSE_PAREN: (29114..29115) ")" + CLOSE_PAREN: (29115..29116) ")" + ATMOSPHERE: (29116..29117) " +" + FORM: (29117..29147) + OPEN_PAREN: (29117..29118) "(" + SYMBOL: (29118..29122) + IDENTIFIER: (29118..29122) "test" + ATMOSPHERE: (29122..29123) " " + CONSTANT: (29123..29125) + BOOLEAN: (29123..29125) "#t" + ATMOSPHERE: (29125..29126) " " + FORM: (29126..29146) + OPEN_PAREN: (29126..29127) "(" + SYMBOL: (29127..29136) + IDENTIFIER: (29127..29136) "boolean=?" + ATMOSPHERE: (29136..29137) " " + CONSTANT: (29137..29139) + BOOLEAN: (29137..29139) "#f" + ATMOSPHERE: (29139..29140) " " + CONSTANT: (29140..29142) + BOOLEAN: (29140..29142) "#f" + ATMOSPHERE: (29142..29143) " " + CONSTANT: (29143..29145) + BOOLEAN: (29143..29145) "#f" + CLOSE_PAREN: (29145..29146) ")" + CLOSE_PAREN: (29146..29147) ")" + ATMOSPHERE: (29147..29148) " +" + FORM: (29148..29178) + OPEN_PAREN: (29148..29149) "(" + SYMBOL: (29149..29153) + IDENTIFIER: (29149..29153) "test" + ATMOSPHERE: (29153..29154) " " + CONSTANT: (29154..29156) + BOOLEAN: (29154..29156) "#f" + ATMOSPHERE: (29156..29157) " " + FORM: (29157..29177) + OPEN_PAREN: (29157..29158) "(" + SYMBOL: (29158..29167) + IDENTIFIER: (29158..29167) "boolean=?" + ATMOSPHERE: (29167..29168) " " + CONSTANT: (29168..29170) + BOOLEAN: (29168..29170) "#t" + ATMOSPHERE: (29170..29171) " " + CONSTANT: (29171..29173) + BOOLEAN: (29171..29173) "#t" + ATMOSPHERE: (29173..29174) " " + CONSTANT: (29174..29176) + BOOLEAN: (29174..29176) "#f" + CLOSE_PAREN: (29176..29177) ")" + CLOSE_PAREN: (29177..29178) ")" + ATMOSPHERE: (29178..29180) " + +" + FORM: (29180..29190) + OPEN_PAREN: (29180..29181) "(" + SYMBOL: (29181..29189) + IDENTIFIER: (29181..29189) "test-end" + CLOSE_PAREN: (29189..29190) ")" + ATMOSPHERE: (29190..29192) " + +" + FORM: (29192..29216) + OPEN_PAREN: (29192..29193) "(" + SYMBOL: (29193..29203) + IDENTIFIER: (29193..29203) "test-begin" + ATMOSPHERE: (29203..29204) " " + CONSTANT: (29204..29215) + STRING: (29204..29215) ""6.4 Lists"" + CLOSE_PAREN: (29215..29216) ")" + ATMOSPHERE: (29216..29218) " + +" + ATMOSPHERE: (29218..29247) ";; (let* ((x (list 'a 'b 'c))" + ATMOSPHERE: (29247..29248) " +" + ATMOSPHERE: (29248..29264) ";; (y x))" + ATMOSPHERE: (29264..29265) " +" + ATMOSPHERE: (29265..29296) ";; (test '(a b c) (values y))" + ATMOSPHERE: (29296..29297) " +" + ATMOSPHERE: (29297..29321) ";; (test #t (list? y))" + ATMOSPHERE: (29321..29322) " +" + ATMOSPHERE: (29322..29341) ";; (set-cdr! x 4)" + ATMOSPHERE: (29341..29342) " +" + ATMOSPHERE: (29342..29373) ";; (test '(a . 4) (values x))" + ATMOSPHERE: (29373..29374) " +" + ATMOSPHERE: (29374..29399) ";; (test #t (eqv? x y))" + ATMOSPHERE: (29399..29400) " +" + ATMOSPHERE: (29400..29424) ";; (test #f (list? y))" + ATMOSPHERE: (29424..29425) " +" + ATMOSPHERE: (29425..29444) ";; (set-cdr! x x)" + ATMOSPHERE: (29444..29445) " +" + ATMOSPHERE: (29445..29470) ";; (test #f (list? x)))" + ATMOSPHERE: (29470..29472) " + +" + FORM: (29472..29498) + OPEN_PAREN: (29472..29473) "(" + SYMBOL: (29473..29477) + IDENTIFIER: (29473..29477) "test" + ATMOSPHERE: (29477..29478) " " + CONSTANT: (29478..29480) + BOOLEAN: (29478..29480) "#t" + ATMOSPHERE: (29480..29481) " " + FORM: (29481..29497) + OPEN_PAREN: (29481..29482) "(" + SYMBOL: (29482..29487) + IDENTIFIER: (29482..29487) "pair?" + ATMOSPHERE: (29487..29488) " " + QUOTED_DATUM: (29488..29496) + QUOTE: (29488..29489) "'" + FORM: (29489..29496) + OPEN_PAREN: (29489..29490) "(" + SYMBOL: (29490..29491) + IDENTIFIER: (29490..29491) "a" + ATMOSPHERE: (29491..29492) " " + DOTTED_TAIL: (29492..29495) + DOT: (29492..29493) "." + ATMOSPHERE: (29493..29494) " " + SYMBOL: (29494..29495) + IDENTIFIER: (29494..29495) "b" + CLOSE_PAREN: (29495..29496) ")" + CLOSE_PAREN: (29496..29497) ")" + CLOSE_PAREN: (29497..29498) ")" + ATMOSPHERE: (29498..29499) " +" + FORM: (29499..29525) + OPEN_PAREN: (29499..29500) "(" + SYMBOL: (29500..29504) + IDENTIFIER: (29500..29504) "test" + ATMOSPHERE: (29504..29505) " " + CONSTANT: (29505..29507) + BOOLEAN: (29505..29507) "#t" + ATMOSPHERE: (29507..29508) " " + FORM: (29508..29524) + OPEN_PAREN: (29508..29509) "(" + SYMBOL: (29509..29514) + IDENTIFIER: (29509..29514) "pair?" + ATMOSPHERE: (29514..29515) " " + QUOTED_DATUM: (29515..29523) + QUOTE: (29515..29516) "'" + FORM: (29516..29523) + OPEN_PAREN: (29516..29517) "(" + SYMBOL: (29517..29518) + IDENTIFIER: (29517..29518) "a" + ATMOSPHERE: (29518..29519) " " + SYMBOL: (29519..29520) + IDENTIFIER: (29519..29520) "b" + ATMOSPHERE: (29520..29521) " " + SYMBOL: (29521..29522) + IDENTIFIER: (29521..29522) "c" + CLOSE_PAREN: (29522..29523) ")" + CLOSE_PAREN: (29523..29524) ")" + CLOSE_PAREN: (29524..29525) ")" + ATMOSPHERE: (29525..29526) " +" + FORM: (29526..29547) + OPEN_PAREN: (29526..29527) "(" + SYMBOL: (29527..29531) + IDENTIFIER: (29527..29531) "test" + ATMOSPHERE: (29531..29532) " " + CONSTANT: (29532..29534) + BOOLEAN: (29532..29534) "#f" + ATMOSPHERE: (29534..29535) " " + FORM: (29535..29546) + OPEN_PAREN: (29535..29536) "(" + SYMBOL: (29536..29541) + IDENTIFIER: (29536..29541) "pair?" + ATMOSPHERE: (29541..29542) " " + QUOTED_DATUM: (29542..29545) + QUOTE: (29542..29543) "'" + FORM: (29543..29545) + OPEN_PAREN: (29543..29544) "(" + CLOSE_PAREN: (29544..29545) ")" + CLOSE_PAREN: (29545..29546) ")" + CLOSE_PAREN: (29546..29547) ")" + ATMOSPHERE: (29547..29548) " +" + FORM: (29548..29573) + OPEN_PAREN: (29548..29549) "(" + SYMBOL: (29549..29553) + IDENTIFIER: (29549..29553) "test" + ATMOSPHERE: (29553..29554) " " + CONSTANT: (29554..29556) + BOOLEAN: (29554..29556) "#f" + ATMOSPHERE: (29556..29557) " " + FORM: (29557..29572) + OPEN_PAREN: (29557..29558) "(" + SYMBOL: (29558..29563) + IDENTIFIER: (29558..29563) "pair?" + ATMOSPHERE: (29563..29564) " " + QUOTED_DATUM: (29564..29571) + QUOTE: (29564..29565) "'" + VEC: (29565..29571) + OPEN_PAREN: (29565..29567) "#(" + SYMBOL: (29567..29568) + IDENTIFIER: (29567..29568) "a" + ATMOSPHERE: (29568..29569) " " + SYMBOL: (29569..29570) + IDENTIFIER: (29569..29570) "b" + CLOSE_PAREN: (29570..29571) ")" + CLOSE_PAREN: (29571..29572) ")" + CLOSE_PAREN: (29572..29573) ")" + ATMOSPHERE: (29573..29575) " + +" + FORM: (29575..29600) + OPEN_PAREN: (29575..29576) "(" + SYMBOL: (29576..29580) + IDENTIFIER: (29576..29580) "test" + ATMOSPHERE: (29580..29581) " " + QUOTED_DATUM: (29581..29586) + QUOTE: (29581..29582) "'" + FORM: (29582..29585) + OPEN_PAREN: (29582..29583) "(" + SYMBOL: (29583..29584) + IDENTIFIER: (29583..29584) "a" + CLOSE_PAREN: (29584..29585) ")" + ATMOSPHERE: (29585..29586) " " + FORM: (29586..29599) + OPEN_PAREN: (29586..29587) "(" + SYMBOL: (29587..29591) + IDENTIFIER: (29587..29591) "cons" + ATMOSPHERE: (29591..29592) " " + QUOTED_DATUM: (29592..29595) + QUOTE: (29592..29593) "'" + SYMBOL: (29593..29594) + IDENTIFIER: (29593..29594) "a" + ATMOSPHERE: (29594..29595) " " + QUOTED_DATUM: (29595..29598) + QUOTE: (29595..29596) "'" + FORM: (29596..29598) + OPEN_PAREN: (29596..29597) "(" + CLOSE_PAREN: (29597..29598) ")" + CLOSE_PAREN: (29598..29599) ")" + CLOSE_PAREN: (29599..29600) ")" + ATMOSPHERE: (29600..29601) " +" + FORM: (29601..29641) + OPEN_PAREN: (29601..29602) "(" + SYMBOL: (29602..29606) + IDENTIFIER: (29602..29606) "test" + ATMOSPHERE: (29606..29607) " " + QUOTED_DATUM: (29607..29620) + QUOTE: (29607..29608) "'" + FORM: (29608..29619) + OPEN_PAREN: (29608..29609) "(" + FORM: (29609..29612) + OPEN_PAREN: (29609..29610) "(" + SYMBOL: (29610..29611) + IDENTIFIER: (29610..29611) "a" + CLOSE_PAREN: (29611..29612) ")" + ATMOSPHERE: (29612..29613) " " + SYMBOL: (29613..29614) + IDENTIFIER: (29613..29614) "b" + ATMOSPHERE: (29614..29615) " " + SYMBOL: (29615..29616) + IDENTIFIER: (29615..29616) "c" + ATMOSPHERE: (29616..29617) " " + SYMBOL: (29617..29618) + IDENTIFIER: (29617..29618) "d" + CLOSE_PAREN: (29618..29619) ")" + ATMOSPHERE: (29619..29620) " " + FORM: (29620..29640) + OPEN_PAREN: (29620..29621) "(" + SYMBOL: (29621..29625) + IDENTIFIER: (29621..29625) "cons" + ATMOSPHERE: (29625..29626) " " + QUOTED_DATUM: (29626..29631) + QUOTE: (29626..29627) "'" + FORM: (29627..29630) + OPEN_PAREN: (29627..29628) "(" + SYMBOL: (29628..29629) + IDENTIFIER: (29628..29629) "a" + CLOSE_PAREN: (29629..29630) ")" + ATMOSPHERE: (29630..29631) " " + QUOTED_DATUM: (29631..29639) + QUOTE: (29631..29632) "'" + FORM: (29632..29639) + OPEN_PAREN: (29632..29633) "(" + SYMBOL: (29633..29634) + IDENTIFIER: (29633..29634) "b" + ATMOSPHERE: (29634..29635) " " + SYMBOL: (29635..29636) + IDENTIFIER: (29635..29636) "c" + ATMOSPHERE: (29636..29637) " " + SYMBOL: (29637..29638) + IDENTIFIER: (29637..29638) "d" + CLOSE_PAREN: (29638..29639) ")" + CLOSE_PAREN: (29639..29640) ")" + CLOSE_PAREN: (29640..29641) ")" + ATMOSPHERE: (29641..29642) " +" + FORM: (29642..29677) + OPEN_PAREN: (29642..29643) "(" + SYMBOL: (29643..29647) + IDENTIFIER: (29643..29647) "test" + ATMOSPHERE: (29647..29648) " " + QUOTED_DATUM: (29648..29659) + QUOTE: (29648..29649) "'" + FORM: (29649..29658) + OPEN_PAREN: (29649..29650) "(" + CONSTANT: (29650..29653) + STRING: (29650..29653) ""a"" + ATMOSPHERE: (29653..29654) " " + SYMBOL: (29654..29655) + IDENTIFIER: (29654..29655) "b" + ATMOSPHERE: (29655..29656) " " + SYMBOL: (29656..29657) + IDENTIFIER: (29656..29657) "c" + CLOSE_PAREN: (29657..29658) ")" + ATMOSPHERE: (29658..29659) " " + FORM: (29659..29676) + OPEN_PAREN: (29659..29660) "(" + SYMBOL: (29660..29664) + IDENTIFIER: (29660..29664) "cons" + ATMOSPHERE: (29664..29665) " " + CONSTANT: (29665..29668) + STRING: (29665..29668) ""a"" + ATMOSPHERE: (29668..29669) " " + QUOTED_DATUM: (29669..29675) + QUOTE: (29669..29670) "'" + FORM: (29670..29675) + OPEN_PAREN: (29670..29671) "(" + SYMBOL: (29671..29672) + IDENTIFIER: (29671..29672) "b" + ATMOSPHERE: (29672..29673) " " + SYMBOL: (29673..29674) + IDENTIFIER: (29673..29674) "c" + CLOSE_PAREN: (29674..29675) ")" + CLOSE_PAREN: (29675..29676) ")" + CLOSE_PAREN: (29676..29677) ")" + ATMOSPHERE: (29677..29678) " +" + ATMOSPHERE: (29678..29712) ";;; FIXME: Quoting of dotted forms" + ATMOSPHERE: (29712..29713) " +" + ATMOSPHERE: (29713..29743) ";; (test '(a . 3) (cons 'a 3))" + ATMOSPHERE: (29743..29744) " +" + ATMOSPHERE: (29744..29783) ";; (test '((a b) . c) (cons '(a b) 'c))" + ATMOSPHERE: (29783..29785) " + +" + FORM: (29785..29809) + OPEN_PAREN: (29785..29786) "(" + SYMBOL: (29786..29790) + IDENTIFIER: (29786..29790) "test" + ATMOSPHERE: (29790..29791) " " + QUOTED_DATUM: (29791..29794) + QUOTE: (29791..29792) "'" + SYMBOL: (29792..29793) + IDENTIFIER: (29792..29793) "a" + ATMOSPHERE: (29793..29794) " " + FORM: (29794..29808) + OPEN_PAREN: (29794..29795) "(" + SYMBOL: (29795..29798) + IDENTIFIER: (29795..29798) "car" + ATMOSPHERE: (29798..29799) " " + QUOTED_DATUM: (29799..29807) + QUOTE: (29799..29800) "'" + FORM: (29800..29807) + OPEN_PAREN: (29800..29801) "(" + SYMBOL: (29801..29802) + IDENTIFIER: (29801..29802) "a" + ATMOSPHERE: (29802..29803) " " + SYMBOL: (29803..29804) + IDENTIFIER: (29803..29804) "b" + ATMOSPHERE: (29804..29805) " " + SYMBOL: (29805..29806) + IDENTIFIER: (29805..29806) "c" + CLOSE_PAREN: (29806..29807) ")" + CLOSE_PAREN: (29807..29808) ")" + CLOSE_PAREN: (29808..29809) ")" + ATMOSPHERE: (29809..29810) " +" + FORM: (29810..29840) + OPEN_PAREN: (29810..29811) "(" + SYMBOL: (29811..29815) + IDENTIFIER: (29811..29815) "test" + ATMOSPHERE: (29815..29816) " " + QUOTED_DATUM: (29816..29821) + QUOTE: (29816..29817) "'" + FORM: (29817..29820) + OPEN_PAREN: (29817..29818) "(" + SYMBOL: (29818..29819) + IDENTIFIER: (29818..29819) "a" + CLOSE_PAREN: (29819..29820) ")" + ATMOSPHERE: (29820..29821) " " + FORM: (29821..29839) + OPEN_PAREN: (29821..29822) "(" + SYMBOL: (29822..29825) + IDENTIFIER: (29822..29825) "car" + ATMOSPHERE: (29825..29826) " " + QUOTED_DATUM: (29826..29838) + QUOTE: (29826..29827) "'" + FORM: (29827..29838) + OPEN_PAREN: (29827..29828) "(" + FORM: (29828..29831) + OPEN_PAREN: (29828..29829) "(" + SYMBOL: (29829..29830) + IDENTIFIER: (29829..29830) "a" + CLOSE_PAREN: (29830..29831) ")" + ATMOSPHERE: (29831..29832) " " + SYMBOL: (29832..29833) + IDENTIFIER: (29832..29833) "b" + ATMOSPHERE: (29833..29834) " " + SYMBOL: (29834..29835) + IDENTIFIER: (29834..29835) "c" + ATMOSPHERE: (29835..29836) " " + SYMBOL: (29836..29837) + IDENTIFIER: (29836..29837) "d" + CLOSE_PAREN: (29837..29838) ")" + CLOSE_PAREN: (29838..29839) ")" + CLOSE_PAREN: (29839..29840) ")" + ATMOSPHERE: (29840..29841) " +" + FORM: (29841..29864) + OPEN_PAREN: (29841..29842) "(" + SYMBOL: (29842..29846) + IDENTIFIER: (29842..29846) "test" + ATMOSPHERE: (29846..29847) " " + CONSTANT: (29847..29848) + NUMBER: (29847..29848) "1" + ATMOSPHERE: (29848..29849) " " + FORM: (29849..29863) + OPEN_PAREN: (29849..29850) "(" + SYMBOL: (29850..29853) + IDENTIFIER: (29850..29853) "car" + ATMOSPHERE: (29853..29854) " " + QUOTED_DATUM: (29854..29862) + QUOTE: (29854..29855) "'" + FORM: (29855..29862) + OPEN_PAREN: (29855..29856) "(" + CONSTANT: (29856..29857) + NUMBER: (29856..29857) "1" + ATMOSPHERE: (29857..29858) " " + DOTTED_TAIL: (29858..29861) + DOT: (29858..29859) "." + ATMOSPHERE: (29859..29860) " " + CONSTANT: (29860..29861) + NUMBER: (29860..29861) "2" + CLOSE_PAREN: (29861..29862) ")" + CLOSE_PAREN: (29862..29863) ")" + CLOSE_PAREN: (29863..29864) ")" + ATMOSPHERE: (29864..29866) " + +" + FORM: (29866..29900) + OPEN_PAREN: (29866..29867) "(" + SYMBOL: (29867..29871) + IDENTIFIER: (29867..29871) "test" + ATMOSPHERE: (29871..29872) " " + QUOTED_DATUM: (29872..29881) + QUOTE: (29872..29873) "'" + FORM: (29873..29880) + OPEN_PAREN: (29873..29874) "(" + SYMBOL: (29874..29875) + IDENTIFIER: (29874..29875) "b" + ATMOSPHERE: (29875..29876) " " + SYMBOL: (29876..29877) + IDENTIFIER: (29876..29877) "c" + ATMOSPHERE: (29877..29878) " " + SYMBOL: (29878..29879) + IDENTIFIER: (29878..29879) "d" + CLOSE_PAREN: (29879..29880) ")" + ATMOSPHERE: (29880..29881) " " + FORM: (29881..29899) + OPEN_PAREN: (29881..29882) "(" + SYMBOL: (29882..29885) + IDENTIFIER: (29882..29885) "cdr" + ATMOSPHERE: (29885..29886) " " + QUOTED_DATUM: (29886..29898) + QUOTE: (29886..29887) "'" + FORM: (29887..29898) + OPEN_PAREN: (29887..29888) "(" + FORM: (29888..29891) + OPEN_PAREN: (29888..29889) "(" + SYMBOL: (29889..29890) + IDENTIFIER: (29889..29890) "a" + CLOSE_PAREN: (29890..29891) ")" + ATMOSPHERE: (29891..29892) " " + SYMBOL: (29892..29893) + IDENTIFIER: (29892..29893) "b" + ATMOSPHERE: (29893..29894) " " + SYMBOL: (29894..29895) + IDENTIFIER: (29894..29895) "c" + ATMOSPHERE: (29895..29896) " " + SYMBOL: (29896..29897) + IDENTIFIER: (29896..29897) "d" + CLOSE_PAREN: (29897..29898) ")" + CLOSE_PAREN: (29898..29899) ")" + CLOSE_PAREN: (29899..29900) ")" + ATMOSPHERE: (29900..29901) " +" + ATMOSPHERE: (29901..29961) ";; (test 2 (cdr '(1 . 2))) ; FIXME: Quoting of dotted forms" + ATMOSPHERE: (29961..29962) " +" + FORM: (29962..29991) + OPEN_PAREN: (29962..29963) "(" + SYMBOL: (29963..29969) + IDENTIFIER: (29963..29969) "define" + ATMOSPHERE: (29969..29970) " " + FORM: (29970..29973) + OPEN_PAREN: (29970..29971) "(" + SYMBOL: (29971..29972) + IDENTIFIER: (29971..29972) "g" + CLOSE_PAREN: (29972..29973) ")" + ATMOSPHERE: (29973..29974) " " + QUOTED_DATUM: (29974..29990) + QUOTE: (29974..29975) "'" + FORM: (29975..29990) + OPEN_PAREN: (29975..29976) "(" + SYMBOL: (29976..29989) + IDENTIFIER: (29976..29989) "constant-list" + CLOSE_PAREN: (29989..29990) ")" + CLOSE_PAREN: (29990..29991) ")" + ATMOSPHERE: (29991..29993) " + +" + FORM: (29993..30019) + OPEN_PAREN: (29993..29994) "(" + SYMBOL: (29994..29998) + IDENTIFIER: (29994..29998) "test" + ATMOSPHERE: (29998..29999) " " + CONSTANT: (29999..30001) + BOOLEAN: (29999..30001) "#t" + ATMOSPHERE: (30001..30002) " " + FORM: (30002..30018) + OPEN_PAREN: (30002..30003) "(" + SYMBOL: (30003..30008) + IDENTIFIER: (30003..30008) "list?" + ATMOSPHERE: (30008..30009) " " + QUOTED_DATUM: (30009..30017) + QUOTE: (30009..30010) "'" + FORM: (30010..30017) + OPEN_PAREN: (30010..30011) "(" + SYMBOL: (30011..30012) + IDENTIFIER: (30011..30012) "a" + ATMOSPHERE: (30012..30013) " " + SYMBOL: (30013..30014) + IDENTIFIER: (30013..30014) "b" + ATMOSPHERE: (30014..30015) " " + SYMBOL: (30015..30016) + IDENTIFIER: (30015..30016) "c" + CLOSE_PAREN: (30016..30017) ")" + CLOSE_PAREN: (30017..30018) ")" + CLOSE_PAREN: (30018..30019) ")" + ATMOSPHERE: (30019..30020) " +" + FORM: (30020..30041) + OPEN_PAREN: (30020..30021) "(" + SYMBOL: (30021..30025) + IDENTIFIER: (30021..30025) "test" + ATMOSPHERE: (30025..30026) " " + CONSTANT: (30026..30028) + BOOLEAN: (30026..30028) "#t" + ATMOSPHERE: (30028..30029) " " + FORM: (30029..30040) + OPEN_PAREN: (30029..30030) "(" + SYMBOL: (30030..30035) + IDENTIFIER: (30030..30035) "list?" + ATMOSPHERE: (30035..30036) " " + QUOTED_DATUM: (30036..30039) + QUOTE: (30036..30037) "'" + FORM: (30037..30039) + OPEN_PAREN: (30037..30038) "(" + CLOSE_PAREN: (30038..30039) ")" + CLOSE_PAREN: (30039..30040) ")" + CLOSE_PAREN: (30040..30041) ")" + ATMOSPHERE: (30041..30042) " +" + ATMOSPHERE: (30042..30105) ";; (test #f (list? '(a . b))) ; FIXME: Quoting of dotted forms" + ATMOSPHERE: (30105..30106) " +" + ATMOSPHERE: (30106..30192) "; FIXME: recurse in `list?` ; (test #f (let ((x (list 'a))) (set-cdr! x x) (list? x)))" + ATMOSPHERE: (30192..30194) " + +" + FORM: (30194..30223) + OPEN_PAREN: (30194..30195) "(" + SYMBOL: (30195..30199) + IDENTIFIER: (30195..30199) "test" + ATMOSPHERE: (30199..30200) " " + QUOTED_DATUM: (30200..30207) + QUOTE: (30200..30201) "'" + FORM: (30201..30206) + OPEN_PAREN: (30201..30202) "(" + CONSTANT: (30202..30203) + NUMBER: (30202..30203) "3" + ATMOSPHERE: (30203..30204) " " + CONSTANT: (30204..30205) + NUMBER: (30204..30205) "3" + CLOSE_PAREN: (30205..30206) ")" + ATMOSPHERE: (30206..30207) " " + FORM: (30207..30222) + OPEN_PAREN: (30207..30208) "(" + SYMBOL: (30208..30217) + IDENTIFIER: (30208..30217) "make-list" + ATMOSPHERE: (30217..30218) " " + CONSTANT: (30218..30219) + NUMBER: (30218..30219) "2" + ATMOSPHERE: (30219..30220) " " + CONSTANT: (30220..30221) + NUMBER: (30220..30221) "3" + CLOSE_PAREN: (30221..30222) ")" + CLOSE_PAREN: (30222..30223) ")" + ATMOSPHERE: (30223..30225) " + +" + FORM: (30225..30261) + OPEN_PAREN: (30225..30226) "(" + SYMBOL: (30226..30230) + IDENTIFIER: (30226..30230) "test" + ATMOSPHERE: (30230..30231) " " + QUOTED_DATUM: (30231..30240) + QUOTE: (30231..30232) "'" + FORM: (30232..30239) + OPEN_PAREN: (30232..30233) "(" + SYMBOL: (30233..30234) + IDENTIFIER: (30233..30234) "a" + ATMOSPHERE: (30234..30235) " " + CONSTANT: (30235..30236) + NUMBER: (30235..30236) "7" + ATMOSPHERE: (30236..30237) " " + SYMBOL: (30237..30238) + IDENTIFIER: (30237..30238) "c" + CLOSE_PAREN: (30238..30239) ")" + ATMOSPHERE: (30239..30240) " " + FORM: (30240..30260) + OPEN_PAREN: (30240..30241) "(" + SYMBOL: (30241..30245) + IDENTIFIER: (30241..30245) "list" + ATMOSPHERE: (30245..30246) " " + QUOTED_DATUM: (30246..30249) + QUOTE: (30246..30247) "'" + SYMBOL: (30247..30248) + IDENTIFIER: (30247..30248) "a" + ATMOSPHERE: (30248..30249) " " + FORM: (30249..30256) + OPEN_PAREN: (30249..30250) "(" + SYMBOL: (30250..30251) + IDENTIFIER: (30250..30251) "+" + ATMOSPHERE: (30251..30252) " " + CONSTANT: (30252..30253) + NUMBER: (30252..30253) "3" + ATMOSPHERE: (30253..30254) " " + CONSTANT: (30254..30255) + NUMBER: (30254..30255) "4" + CLOSE_PAREN: (30255..30256) ")" + ATMOSPHERE: (30256..30257) " " + QUOTED_DATUM: (30257..30259) + QUOTE: (30257..30258) "'" + SYMBOL: (30258..30259) + IDENTIFIER: (30258..30259) "c" + CLOSE_PAREN: (30259..30260) ")" + CLOSE_PAREN: (30260..30261) ")" + ATMOSPHERE: (30261..30262) " +" + FORM: (30262..30279) + OPEN_PAREN: (30262..30263) "(" + SYMBOL: (30263..30267) + IDENTIFIER: (30263..30267) "test" + ATMOSPHERE: (30267..30268) " " + QUOTED_DATUM: (30268..30272) + QUOTE: (30268..30269) "'" + FORM: (30269..30271) + OPEN_PAREN: (30269..30270) "(" + CLOSE_PAREN: (30270..30271) ")" + ATMOSPHERE: (30271..30272) " " + FORM: (30272..30278) + OPEN_PAREN: (30272..30273) "(" + SYMBOL: (30273..30277) + IDENTIFIER: (30273..30277) "list" + CLOSE_PAREN: (30277..30278) ")" + CLOSE_PAREN: (30278..30279) ")" + ATMOSPHERE: (30279..30281) " + +" + FORM: (30281..30307) + OPEN_PAREN: (30281..30282) "(" + SYMBOL: (30282..30286) + IDENTIFIER: (30282..30286) "test" + ATMOSPHERE: (30286..30287) " " + CONSTANT: (30287..30288) + NUMBER: (30287..30288) "3" + ATMOSPHERE: (30288..30289) " " + FORM: (30289..30306) + OPEN_PAREN: (30289..30290) "(" + SYMBOL: (30290..30296) + IDENTIFIER: (30290..30296) "length" + ATMOSPHERE: (30296..30297) " " + QUOTED_DATUM: (30297..30305) + QUOTE: (30297..30298) "'" + FORM: (30298..30305) + OPEN_PAREN: (30298..30299) "(" + SYMBOL: (30299..30300) + IDENTIFIER: (30299..30300) "a" + ATMOSPHERE: (30300..30301) " " + SYMBOL: (30301..30302) + IDENTIFIER: (30301..30302) "b" + ATMOSPHERE: (30302..30303) " " + SYMBOL: (30303..30304) + IDENTIFIER: (30303..30304) "c" + CLOSE_PAREN: (30304..30305) ")" + CLOSE_PAREN: (30305..30306) ")" + CLOSE_PAREN: (30306..30307) ")" + ATMOSPHERE: (30307..30308) " +" + FORM: (30308..30342) + OPEN_PAREN: (30308..30309) "(" + SYMBOL: (30309..30313) + IDENTIFIER: (30309..30313) "test" + ATMOSPHERE: (30313..30314) " " + CONSTANT: (30314..30315) + NUMBER: (30314..30315) "3" + ATMOSPHERE: (30315..30316) " " + FORM: (30316..30341) + OPEN_PAREN: (30316..30317) "(" + SYMBOL: (30317..30323) + IDENTIFIER: (30317..30323) "length" + ATMOSPHERE: (30323..30324) " " + QUOTED_DATUM: (30324..30340) + QUOTE: (30324..30325) "'" + FORM: (30325..30340) + OPEN_PAREN: (30325..30326) "(" + SYMBOL: (30326..30327) + IDENTIFIER: (30326..30327) "a" + ATMOSPHERE: (30327..30328) " " + FORM: (30328..30331) + OPEN_PAREN: (30328..30329) "(" + SYMBOL: (30329..30330) + IDENTIFIER: (30329..30330) "b" + CLOSE_PAREN: (30330..30331) ")" + ATMOSPHERE: (30331..30332) " " + FORM: (30332..30339) + OPEN_PAREN: (30332..30333) "(" + SYMBOL: (30333..30334) + IDENTIFIER: (30333..30334) "c" + ATMOSPHERE: (30334..30335) " " + SYMBOL: (30335..30336) + IDENTIFIER: (30335..30336) "d" + ATMOSPHERE: (30336..30337) " " + SYMBOL: (30337..30338) + IDENTIFIER: (30337..30338) "e" + CLOSE_PAREN: (30338..30339) ")" + CLOSE_PAREN: (30339..30340) ")" + CLOSE_PAREN: (30340..30341) ")" + CLOSE_PAREN: (30341..30342) ")" + ATMOSPHERE: (30342..30343) " +" + FORM: (30343..30364) + OPEN_PAREN: (30343..30344) "(" + SYMBOL: (30344..30348) + IDENTIFIER: (30344..30348) "test" + ATMOSPHERE: (30348..30349) " " + CONSTANT: (30349..30350) + NUMBER: (30349..30350) "0" + ATMOSPHERE: (30350..30351) " " + FORM: (30351..30363) + OPEN_PAREN: (30351..30352) "(" + SYMBOL: (30352..30358) + IDENTIFIER: (30352..30358) "length" + ATMOSPHERE: (30358..30359) " " + QUOTED_DATUM: (30359..30362) + QUOTE: (30359..30360) "'" + FORM: (30360..30362) + OPEN_PAREN: (30360..30361) "(" + CLOSE_PAREN: (30361..30362) ")" + CLOSE_PAREN: (30362..30363) ")" + CLOSE_PAREN: (30363..30364) ")" + ATMOSPHERE: (30364..30366) " + +" + FORM: (30366..30398) + OPEN_PAREN: (30366..30367) "(" + SYMBOL: (30367..30371) + IDENTIFIER: (30367..30371) "test" + ATMOSPHERE: (30371..30372) " " + QUOTED_DATUM: (30372..30379) + QUOTE: (30372..30373) "'" + FORM: (30373..30378) + OPEN_PAREN: (30373..30374) "(" + SYMBOL: (30374..30375) + IDENTIFIER: (30374..30375) "x" + ATMOSPHERE: (30375..30376) " " + SYMBOL: (30376..30377) + IDENTIFIER: (30376..30377) "y" + CLOSE_PAREN: (30377..30378) ")" + ATMOSPHERE: (30378..30379) " " + FORM: (30379..30397) + OPEN_PAREN: (30379..30380) "(" + SYMBOL: (30380..30386) + IDENTIFIER: (30380..30386) "append" + ATMOSPHERE: (30386..30387) " " + QUOTED_DATUM: (30387..30392) + QUOTE: (30387..30388) "'" + FORM: (30388..30391) + OPEN_PAREN: (30388..30389) "(" + SYMBOL: (30389..30390) + IDENTIFIER: (30389..30390) "x" + CLOSE_PAREN: (30390..30391) ")" + ATMOSPHERE: (30391..30392) " " + QUOTED_DATUM: (30392..30396) + QUOTE: (30392..30393) "'" + FORM: (30393..30396) + OPEN_PAREN: (30393..30394) "(" + SYMBOL: (30394..30395) + IDENTIFIER: (30394..30395) "y" + CLOSE_PAREN: (30395..30396) ")" + CLOSE_PAREN: (30396..30397) ")" + CLOSE_PAREN: (30397..30398) ")" + ATMOSPHERE: (30398..30399) " +" + FORM: (30399..30439) + OPEN_PAREN: (30399..30400) "(" + SYMBOL: (30400..30404) + IDENTIFIER: (30400..30404) "test" + ATMOSPHERE: (30404..30405) " " + QUOTED_DATUM: (30405..30416) + QUOTE: (30405..30406) "'" + FORM: (30406..30415) + OPEN_PAREN: (30406..30407) "(" + SYMBOL: (30407..30408) + IDENTIFIER: (30407..30408) "a" + ATMOSPHERE: (30408..30409) " " + SYMBOL: (30409..30410) + IDENTIFIER: (30409..30410) "b" + ATMOSPHERE: (30410..30411) " " + SYMBOL: (30411..30412) + IDENTIFIER: (30411..30412) "c" + ATMOSPHERE: (30412..30413) " " + SYMBOL: (30413..30414) + IDENTIFIER: (30413..30414) "d" + CLOSE_PAREN: (30414..30415) ")" + ATMOSPHERE: (30415..30416) " " + FORM: (30416..30438) + OPEN_PAREN: (30416..30417) "(" + SYMBOL: (30417..30423) + IDENTIFIER: (30417..30423) "append" + ATMOSPHERE: (30423..30424) " " + QUOTED_DATUM: (30424..30429) + QUOTE: (30424..30425) "'" + FORM: (30425..30428) + OPEN_PAREN: (30425..30426) "(" + SYMBOL: (30426..30427) + IDENTIFIER: (30426..30427) "a" + CLOSE_PAREN: (30427..30428) ")" + ATMOSPHERE: (30428..30429) " " + QUOTED_DATUM: (30429..30437) + QUOTE: (30429..30430) "'" + FORM: (30430..30437) + OPEN_PAREN: (30430..30431) "(" + SYMBOL: (30431..30432) + IDENTIFIER: (30431..30432) "b" + ATMOSPHERE: (30432..30433) " " + SYMBOL: (30433..30434) + IDENTIFIER: (30433..30434) "c" + ATMOSPHERE: (30434..30435) " " + SYMBOL: (30435..30436) + IDENTIFIER: (30435..30436) "d" + CLOSE_PAREN: (30436..30437) ")" + CLOSE_PAREN: (30437..30438) ")" + CLOSE_PAREN: (30438..30439) ")" + ATMOSPHERE: (30439..30440) " +" + FORM: (30440..30484) + OPEN_PAREN: (30440..30441) "(" + SYMBOL: (30441..30445) + IDENTIFIER: (30441..30445) "test" + ATMOSPHERE: (30445..30446) " " + QUOTED_DATUM: (30446..30459) + QUOTE: (30446..30447) "'" + FORM: (30447..30458) + OPEN_PAREN: (30447..30448) "(" + SYMBOL: (30448..30449) + IDENTIFIER: (30448..30449) "a" + ATMOSPHERE: (30449..30450) " " + FORM: (30450..30453) + OPEN_PAREN: (30450..30451) "(" + SYMBOL: (30451..30452) + IDENTIFIER: (30451..30452) "b" + CLOSE_PAREN: (30452..30453) ")" + ATMOSPHERE: (30453..30454) " " + FORM: (30454..30457) + OPEN_PAREN: (30454..30455) "(" + SYMBOL: (30455..30456) + IDENTIFIER: (30455..30456) "c" + CLOSE_PAREN: (30456..30457) ")" + CLOSE_PAREN: (30457..30458) ")" + ATMOSPHERE: (30458..30459) " " + FORM: (30459..30483) + OPEN_PAREN: (30459..30460) "(" + SYMBOL: (30460..30466) + IDENTIFIER: (30460..30466) "append" + ATMOSPHERE: (30466..30467) " " + QUOTED_DATUM: (30467..30476) + QUOTE: (30467..30468) "'" + FORM: (30468..30475) + OPEN_PAREN: (30468..30469) "(" + SYMBOL: (30469..30470) + IDENTIFIER: (30469..30470) "a" + ATMOSPHERE: (30470..30471) " " + FORM: (30471..30474) + OPEN_PAREN: (30471..30472) "(" + SYMBOL: (30472..30473) + IDENTIFIER: (30472..30473) "b" + CLOSE_PAREN: (30473..30474) ")" + CLOSE_PAREN: (30474..30475) ")" + ATMOSPHERE: (30475..30476) " " + QUOTED_DATUM: (30476..30482) + QUOTE: (30476..30477) "'" + FORM: (30477..30482) + OPEN_PAREN: (30477..30478) "(" + FORM: (30478..30481) + OPEN_PAREN: (30478..30479) "(" + SYMBOL: (30479..30480) + IDENTIFIER: (30479..30480) "c" + CLOSE_PAREN: (30480..30481) ")" + CLOSE_PAREN: (30481..30482) ")" + CLOSE_PAREN: (30482..30483) ")" + CLOSE_PAREN: (30483..30484) ")" + ATMOSPHERE: (30484..30486) " + +" + FORM: (30486..30530) + OPEN_PAREN: (30486..30487) "(" + SYMBOL: (30487..30491) + IDENTIFIER: (30487..30491) "test" + ATMOSPHERE: (30491..30492) " " + QUOTED_DATUM: (30492..30505) + QUOTE: (30492..30493) "'" + FORM: (30493..30504) + OPEN_PAREN: (30493..30494) "(" + SYMBOL: (30494..30495) + IDENTIFIER: (30494..30495) "a" + ATMOSPHERE: (30495..30496) " " + SYMBOL: (30496..30497) + IDENTIFIER: (30496..30497) "b" + ATMOSPHERE: (30497..30498) " " + SYMBOL: (30498..30499) + IDENTIFIER: (30498..30499) "c" + ATMOSPHERE: (30499..30500) " " + DOTTED_TAIL: (30500..30503) + DOT: (30500..30501) "." + ATMOSPHERE: (30501..30502) " " + SYMBOL: (30502..30503) + IDENTIFIER: (30502..30503) "d" + CLOSE_PAREN: (30503..30504) ")" + ATMOSPHERE: (30504..30505) " " + FORM: (30505..30529) + OPEN_PAREN: (30505..30506) "(" + SYMBOL: (30506..30512) + IDENTIFIER: (30506..30512) "append" + ATMOSPHERE: (30512..30513) " " + QUOTED_DATUM: (30513..30520) + QUOTE: (30513..30514) "'" + FORM: (30514..30519) + OPEN_PAREN: (30514..30515) "(" + SYMBOL: (30515..30516) + IDENTIFIER: (30515..30516) "a" + ATMOSPHERE: (30516..30517) " " + SYMBOL: (30517..30518) + IDENTIFIER: (30517..30518) "b" + CLOSE_PAREN: (30518..30519) ")" + ATMOSPHERE: (30519..30520) " " + QUOTED_DATUM: (30520..30528) + QUOTE: (30520..30521) "'" + FORM: (30521..30528) + OPEN_PAREN: (30521..30522) "(" + SYMBOL: (30522..30523) + IDENTIFIER: (30522..30523) "c" + ATMOSPHERE: (30523..30524) " " + DOTTED_TAIL: (30524..30527) + DOT: (30524..30525) "." + ATMOSPHERE: (30525..30526) " " + SYMBOL: (30526..30527) + IDENTIFIER: (30526..30527) "d" + CLOSE_PAREN: (30527..30528) ")" + CLOSE_PAREN: (30528..30529) ")" + CLOSE_PAREN: (30529..30530) ")" + ATMOSPHERE: (30530..30531) " +" + FORM: (30531..30556) + OPEN_PAREN: (30531..30532) "(" + SYMBOL: (30532..30536) + IDENTIFIER: (30532..30536) "test" + ATMOSPHERE: (30536..30537) " " + QUOTED_DATUM: (30537..30540) + QUOTE: (30537..30538) "'" + SYMBOL: (30538..30539) + IDENTIFIER: (30538..30539) "a" + ATMOSPHERE: (30539..30540) " " + FORM: (30540..30555) + OPEN_PAREN: (30540..30541) "(" + SYMBOL: (30541..30547) + IDENTIFIER: (30541..30547) "append" + ATMOSPHERE: (30547..30548) " " + QUOTED_DATUM: (30548..30552) + QUOTE: (30548..30549) "'" + FORM: (30549..30551) + OPEN_PAREN: (30549..30550) "(" + CLOSE_PAREN: (30550..30551) ")" + ATMOSPHERE: (30551..30552) " " + QUOTED_DATUM: (30552..30554) + QUOTE: (30552..30553) "'" + SYMBOL: (30553..30554) + IDENTIFIER: (30553..30554) "a" + CLOSE_PAREN: (30554..30555) ")" + CLOSE_PAREN: (30555..30556) ")" + ATMOSPHERE: (30556..30558) " + +" + FORM: (30558..30592) + OPEN_PAREN: (30558..30559) "(" + SYMBOL: (30559..30563) + IDENTIFIER: (30559..30563) "test" + ATMOSPHERE: (30563..30564) " " + QUOTED_DATUM: (30564..30573) + QUOTE: (30564..30565) "'" + FORM: (30565..30572) + OPEN_PAREN: (30565..30566) "(" + SYMBOL: (30566..30567) + IDENTIFIER: (30566..30567) "c" + ATMOSPHERE: (30567..30568) " " + SYMBOL: (30568..30569) + IDENTIFIER: (30568..30569) "b" + ATMOSPHERE: (30569..30570) " " + SYMBOL: (30570..30571) + IDENTIFIER: (30570..30571) "a" + CLOSE_PAREN: (30571..30572) ")" + ATMOSPHERE: (30572..30573) " " + FORM: (30573..30591) + OPEN_PAREN: (30573..30574) "(" + SYMBOL: (30574..30581) + IDENTIFIER: (30574..30581) "reverse" + ATMOSPHERE: (30581..30582) " " + QUOTED_DATUM: (30582..30590) + QUOTE: (30582..30583) "'" + FORM: (30583..30590) + OPEN_PAREN: (30583..30584) "(" + SYMBOL: (30584..30585) + IDENTIFIER: (30584..30585) "a" + ATMOSPHERE: (30585..30586) " " + SYMBOL: (30586..30587) + IDENTIFIER: (30586..30587) "b" + ATMOSPHERE: (30587..30588) " " + SYMBOL: (30588..30589) + IDENTIFIER: (30588..30589) "c" + CLOSE_PAREN: (30589..30590) ")" + CLOSE_PAREN: (30590..30591) ")" + CLOSE_PAREN: (30591..30592) ")" + ATMOSPHERE: (30592..30593) " +" + FORM: (30593..30651) + OPEN_PAREN: (30593..30594) "(" + SYMBOL: (30594..30598) + IDENTIFIER: (30594..30598) "test" + ATMOSPHERE: (30598..30599) " " + QUOTED_DATUM: (30599..30620) + QUOTE: (30599..30600) "'" + FORM: (30600..30619) + OPEN_PAREN: (30600..30601) "(" + FORM: (30601..30608) + OPEN_PAREN: (30601..30602) "(" + SYMBOL: (30602..30603) + IDENTIFIER: (30602..30603) "e" + ATMOSPHERE: (30603..30604) " " + FORM: (30604..30607) + OPEN_PAREN: (30604..30605) "(" + SYMBOL: (30605..30606) + IDENTIFIER: (30605..30606) "f" + CLOSE_PAREN: (30606..30607) ")" + CLOSE_PAREN: (30607..30608) ")" + ATMOSPHERE: (30608..30609) " " + SYMBOL: (30609..30610) + IDENTIFIER: (30609..30610) "d" + ATMOSPHERE: (30610..30611) " " + FORM: (30611..30616) + OPEN_PAREN: (30611..30612) "(" + SYMBOL: (30612..30613) + IDENTIFIER: (30612..30613) "b" + ATMOSPHERE: (30613..30614) " " + SYMBOL: (30614..30615) + IDENTIFIER: (30614..30615) "c" + CLOSE_PAREN: (30615..30616) ")" + ATMOSPHERE: (30616..30617) " " + SYMBOL: (30617..30618) + IDENTIFIER: (30617..30618) "a" + CLOSE_PAREN: (30618..30619) ")" + ATMOSPHERE: (30619..30620) " " + FORM: (30620..30650) + OPEN_PAREN: (30620..30621) "(" + SYMBOL: (30621..30628) + IDENTIFIER: (30621..30628) "reverse" + ATMOSPHERE: (30628..30629) " " + QUOTED_DATUM: (30629..30649) + QUOTE: (30629..30630) "'" + FORM: (30630..30649) + OPEN_PAREN: (30630..30631) "(" + SYMBOL: (30631..30632) + IDENTIFIER: (30631..30632) "a" + ATMOSPHERE: (30632..30633) " " + FORM: (30633..30638) + OPEN_PAREN: (30633..30634) "(" + SYMBOL: (30634..30635) + IDENTIFIER: (30634..30635) "b" + ATMOSPHERE: (30635..30636) " " + SYMBOL: (30636..30637) + IDENTIFIER: (30636..30637) "c" + CLOSE_PAREN: (30637..30638) ")" + ATMOSPHERE: (30638..30639) " " + SYMBOL: (30639..30640) + IDENTIFIER: (30639..30640) "d" + ATMOSPHERE: (30640..30641) " " + FORM: (30641..30648) + OPEN_PAREN: (30641..30642) "(" + SYMBOL: (30642..30643) + IDENTIFIER: (30642..30643) "e" + ATMOSPHERE: (30643..30644) " " + FORM: (30644..30647) + OPEN_PAREN: (30644..30645) "(" + SYMBOL: (30645..30646) + IDENTIFIER: (30645..30646) "f" + CLOSE_PAREN: (30646..30647) ")" + CLOSE_PAREN: (30647..30648) ")" + CLOSE_PAREN: (30648..30649) ")" + CLOSE_PAREN: (30649..30650) ")" + CLOSE_PAREN: (30650..30651) ")" + ATMOSPHERE: (30651..30653) " + +" + FORM: (30653..30693) + OPEN_PAREN: (30653..30654) "(" + SYMBOL: (30654..30658) + IDENTIFIER: (30654..30658) "test" + ATMOSPHERE: (30658..30659) " " + QUOTED_DATUM: (30659..30666) + QUOTE: (30659..30660) "'" + FORM: (30660..30665) + OPEN_PAREN: (30660..30661) "(" + SYMBOL: (30661..30662) + IDENTIFIER: (30661..30662) "d" + ATMOSPHERE: (30662..30663) " " + SYMBOL: (30663..30664) + IDENTIFIER: (30663..30664) "e" + CLOSE_PAREN: (30664..30665) ")" + ATMOSPHERE: (30665..30666) " " + FORM: (30666..30692) + OPEN_PAREN: (30666..30667) "(" + SYMBOL: (30667..30676) + IDENTIFIER: (30667..30676) "list-tail" + ATMOSPHERE: (30676..30677) " " + QUOTED_DATUM: (30677..30690) + QUOTE: (30677..30678) "'" + FORM: (30678..30689) + OPEN_PAREN: (30678..30679) "(" + SYMBOL: (30679..30680) + IDENTIFIER: (30679..30680) "a" + ATMOSPHERE: (30680..30681) " " + SYMBOL: (30681..30682) + IDENTIFIER: (30681..30682) "b" + ATMOSPHERE: (30682..30683) " " + SYMBOL: (30683..30684) + IDENTIFIER: (30683..30684) "c" + ATMOSPHERE: (30684..30685) " " + SYMBOL: (30685..30686) + IDENTIFIER: (30685..30686) "d" + ATMOSPHERE: (30686..30687) " " + SYMBOL: (30687..30688) + IDENTIFIER: (30687..30688) "e" + CLOSE_PAREN: (30688..30689) ")" + ATMOSPHERE: (30689..30690) " " + CONSTANT: (30690..30691) + NUMBER: (30690..30691) "3" + CLOSE_PAREN: (30691..30692) ")" + CLOSE_PAREN: (30692..30693) ")" + ATMOSPHERE: (30693..30695) " + +" + FORM: (30695..30728) + OPEN_PAREN: (30695..30696) "(" + SYMBOL: (30696..30700) + IDENTIFIER: (30696..30700) "test" + ATMOSPHERE: (30700..30701) " " + QUOTED_DATUM: (30701..30704) + QUOTE: (30701..30702) "'" + SYMBOL: (30702..30703) + IDENTIFIER: (30702..30703) "c" + ATMOSPHERE: (30703..30704) " " + FORM: (30704..30727) + OPEN_PAREN: (30704..30705) "(" + SYMBOL: (30705..30713) + IDENTIFIER: (30705..30713) "list-ref" + ATMOSPHERE: (30713..30714) " " + QUOTED_DATUM: (30714..30725) + QUOTE: (30714..30715) "'" + FORM: (30715..30724) + OPEN_PAREN: (30715..30716) "(" + SYMBOL: (30716..30717) + IDENTIFIER: (30716..30717) "a" + ATMOSPHERE: (30717..30718) " " + SYMBOL: (30718..30719) + IDENTIFIER: (30718..30719) "b" + ATMOSPHERE: (30719..30720) " " + SYMBOL: (30720..30721) + IDENTIFIER: (30720..30721) "c" + ATMOSPHERE: (30721..30722) " " + SYMBOL: (30722..30723) + IDENTIFIER: (30722..30723) "d" + CLOSE_PAREN: (30723..30724) ")" + ATMOSPHERE: (30724..30725) " " + CONSTANT: (30725..30726) + NUMBER: (30725..30726) "2" + CLOSE_PAREN: (30726..30727) ")" + CLOSE_PAREN: (30727..30728) ")" + ATMOSPHERE: (30728..30729) " +" + ATMOSPHERE: (30729..30761) ";; (test 'c (list-ref '(a b c d)" + ATMOSPHERE: (30761..30762) " +" + ATMOSPHERE: (30762..30831) ";; (exact (round 1.8)))) FIXME: support `round` and `exact`" + ATMOSPHERE: (30831..30833) " + +" + FORM: (30833..30959) + OPEN_PAREN: (30833..30834) "(" + SYMBOL: (30834..30838) + IDENTIFIER: (30834..30838) "test" + ATMOSPHERE: (30838..30839) " " + QUOTED_DATUM: (30839..30869) + QUOTE: (30839..30840) "'" + FORM: (30840..30864) + OPEN_PAREN: (30840..30841) "(" + CONSTANT: (30841..30842) + NUMBER: (30841..30842) "0" + ATMOSPHERE: (30842..30843) " " + FORM: (30843..30856) + OPEN_PAREN: (30843..30844) "(" + CONSTANT: (30844..30849) + STRING: (30844..30849) ""Sue"" + ATMOSPHERE: (30849..30850) " " + CONSTANT: (30850..30855) + STRING: (30850..30855) ""Sue"" + CLOSE_PAREN: (30855..30856) ")" + ATMOSPHERE: (30856..30857) " " + CONSTANT: (30857..30863) + STRING: (30857..30863) ""Anna"" + CLOSE_PAREN: (30863..30864) ")" + ATMOSPHERE: (30864..30869) " + " + FORM: (30869..30958) + OPEN_PAREN: (30869..30870) "(" + SYMBOL: (30870..30873) + IDENTIFIER: (30870..30873) "let" + ATMOSPHERE: (30873..30874) " " + FORM: (30874..30908) + OPEN_PAREN: (30874..30875) "(" + FORM: (30875..30907) + OPEN_PAREN: (30875..30876) "(" + SYMBOL: (30876..30879) + IDENTIFIER: (30876..30879) "lst" + ATMOSPHERE: (30879..30880) " " + FORM: (30880..30906) + OPEN_PAREN: (30880..30881) "(" + SYMBOL: (30881..30885) + IDENTIFIER: (30881..30885) "list" + ATMOSPHERE: (30885..30886) " " + CONSTANT: (30886..30887) + NUMBER: (30886..30887) "0" + ATMOSPHERE: (30887..30888) " " + QUOTED_DATUM: (30888..30899) + QUOTE: (30888..30889) "'" + FORM: (30889..30898) + OPEN_PAREN: (30889..30890) "(" + CONSTANT: (30890..30891) + NUMBER: (30890..30891) "2" + ATMOSPHERE: (30891..30892) " " + CONSTANT: (30892..30893) + NUMBER: (30892..30893) "2" + ATMOSPHERE: (30893..30894) " " + CONSTANT: (30894..30895) + NUMBER: (30894..30895) "2" + ATMOSPHERE: (30895..30896) " " + CONSTANT: (30896..30897) + NUMBER: (30896..30897) "2" + CLOSE_PAREN: (30897..30898) ")" + ATMOSPHERE: (30898..30899) " " + CONSTANT: (30899..30905) + STRING: (30899..30905) ""Anna"" + CLOSE_PAREN: (30905..30906) ")" + CLOSE_PAREN: (30906..30907) ")" + CLOSE_PAREN: (30907..30908) ")" + ATMOSPHERE: (30908..30915) " + " + FORM: (30915..30947) + OPEN_PAREN: (30915..30916) "(" + SYMBOL: (30916..30925) + IDENTIFIER: (30916..30925) "list-set!" + ATMOSPHERE: (30925..30926) " " + SYMBOL: (30926..30929) + IDENTIFIER: (30926..30929) "lst" + ATMOSPHERE: (30929..30930) " " + CONSTANT: (30930..30931) + NUMBER: (30930..30931) "1" + ATMOSPHERE: (30931..30932) " " + QUOTED_DATUM: (30932..30946) + QUOTE: (30932..30933) "'" + FORM: (30933..30946) + OPEN_PAREN: (30933..30934) "(" + CONSTANT: (30934..30939) + STRING: (30934..30939) ""Sue"" + ATMOSPHERE: (30939..30940) " " + CONSTANT: (30940..30945) + STRING: (30940..30945) ""Sue"" + CLOSE_PAREN: (30945..30946) ")" + CLOSE_PAREN: (30946..30947) ")" + ATMOSPHERE: (30947..30954) " + " + SYMBOL: (30954..30957) + IDENTIFIER: (30954..30957) "lst" + CLOSE_PAREN: (30957..30958) ")" + CLOSE_PAREN: (30958..30959) ")" + ATMOSPHERE: (30959..30961) " + +" + FORM: (30961..30995) + OPEN_PAREN: (30961..30962) "(" + SYMBOL: (30962..30966) + IDENTIFIER: (30962..30966) "test" + ATMOSPHERE: (30966..30967) " " + QUOTED_DATUM: (30967..30976) + QUOTE: (30967..30968) "'" + FORM: (30968..30975) + OPEN_PAREN: (30968..30969) "(" + SYMBOL: (30969..30970) + IDENTIFIER: (30969..30970) "a" + ATMOSPHERE: (30970..30971) " " + SYMBOL: (30971..30972) + IDENTIFIER: (30971..30972) "b" + ATMOSPHERE: (30972..30973) " " + SYMBOL: (30973..30974) + IDENTIFIER: (30973..30974) "c" + CLOSE_PAREN: (30974..30975) ")" + ATMOSPHERE: (30975..30976) " " + FORM: (30976..30994) + OPEN_PAREN: (30976..30977) "(" + SYMBOL: (30977..30981) + IDENTIFIER: (30977..30981) "memq" + ATMOSPHERE: (30981..30982) " " + QUOTED_DATUM: (30982..30985) + QUOTE: (30982..30983) "'" + SYMBOL: (30983..30984) + IDENTIFIER: (30983..30984) "a" + ATMOSPHERE: (30984..30985) " " + QUOTED_DATUM: (30985..30993) + QUOTE: (30985..30986) "'" + FORM: (30986..30993) + OPEN_PAREN: (30986..30987) "(" + SYMBOL: (30987..30988) + IDENTIFIER: (30987..30988) "a" + ATMOSPHERE: (30988..30989) " " + SYMBOL: (30989..30990) + IDENTIFIER: (30989..30990) "b" + ATMOSPHERE: (30990..30991) " " + SYMBOL: (30991..30992) + IDENTIFIER: (30991..30992) "c" + CLOSE_PAREN: (30992..30993) ")" + CLOSE_PAREN: (30993..30994) ")" + CLOSE_PAREN: (30994..30995) ")" + ATMOSPHERE: (30995..30996) " +" + FORM: (30996..31028) + OPEN_PAREN: (30996..30997) "(" + SYMBOL: (30997..31001) + IDENTIFIER: (30997..31001) "test" + ATMOSPHERE: (31001..31002) " " + QUOTED_DATUM: (31002..31009) + QUOTE: (31002..31003) "'" + FORM: (31003..31008) + OPEN_PAREN: (31003..31004) "(" + SYMBOL: (31004..31005) + IDENTIFIER: (31004..31005) "b" + ATMOSPHERE: (31005..31006) " " + SYMBOL: (31006..31007) + IDENTIFIER: (31006..31007) "c" + CLOSE_PAREN: (31007..31008) ")" + ATMOSPHERE: (31008..31009) " " + FORM: (31009..31027) + OPEN_PAREN: (31009..31010) "(" + SYMBOL: (31010..31014) + IDENTIFIER: (31010..31014) "memq" + ATMOSPHERE: (31014..31015) " " + QUOTED_DATUM: (31015..31018) + QUOTE: (31015..31016) "'" + SYMBOL: (31016..31017) + IDENTIFIER: (31016..31017) "b" + ATMOSPHERE: (31017..31018) " " + QUOTED_DATUM: (31018..31026) + QUOTE: (31018..31019) "'" + FORM: (31019..31026) + OPEN_PAREN: (31019..31020) "(" + SYMBOL: (31020..31021) + IDENTIFIER: (31020..31021) "a" + ATMOSPHERE: (31021..31022) " " + SYMBOL: (31022..31023) + IDENTIFIER: (31022..31023) "b" + ATMOSPHERE: (31023..31024) " " + SYMBOL: (31024..31025) + IDENTIFIER: (31024..31025) "c" + CLOSE_PAREN: (31025..31026) ")" + CLOSE_PAREN: (31026..31027) ")" + CLOSE_PAREN: (31027..31028) ")" + ATMOSPHERE: (31028..31029) " +" + FORM: (31029..31057) + OPEN_PAREN: (31029..31030) "(" + SYMBOL: (31030..31034) + IDENTIFIER: (31030..31034) "test" + ATMOSPHERE: (31034..31035) " " + CONSTANT: (31035..31037) + BOOLEAN: (31035..31037) "#f" + ATMOSPHERE: (31037..31038) " " + FORM: (31038..31056) + OPEN_PAREN: (31038..31039) "(" + SYMBOL: (31039..31043) + IDENTIFIER: (31039..31043) "memq" + ATMOSPHERE: (31043..31044) " " + QUOTED_DATUM: (31044..31047) + QUOTE: (31044..31045) "'" + SYMBOL: (31045..31046) + IDENTIFIER: (31045..31046) "a" + ATMOSPHERE: (31046..31047) " " + QUOTED_DATUM: (31047..31055) + QUOTE: (31047..31048) "'" + FORM: (31048..31055) + OPEN_PAREN: (31048..31049) "(" + SYMBOL: (31049..31050) + IDENTIFIER: (31049..31050) "b" + ATMOSPHERE: (31050..31051) " " + SYMBOL: (31051..31052) + IDENTIFIER: (31051..31052) "c" + ATMOSPHERE: (31052..31053) " " + SYMBOL: (31053..31054) + IDENTIFIER: (31053..31054) "d" + CLOSE_PAREN: (31054..31055) ")" + CLOSE_PAREN: (31055..31056) ")" + CLOSE_PAREN: (31056..31057) ")" + ATMOSPHERE: (31057..31058) " +" + FORM: (31058..31095) + OPEN_PAREN: (31058..31059) "(" + SYMBOL: (31059..31063) + IDENTIFIER: (31059..31063) "test" + ATMOSPHERE: (31063..31064) " " + CONSTANT: (31064..31066) + BOOLEAN: (31064..31066) "#f" + ATMOSPHERE: (31066..31067) " " + FORM: (31067..31094) + OPEN_PAREN: (31067..31068) "(" + SYMBOL: (31068..31072) + IDENTIFIER: (31068..31072) "memq" + ATMOSPHERE: (31072..31073) " " + FORM: (31073..31082) + OPEN_PAREN: (31073..31074) "(" + SYMBOL: (31074..31078) + IDENTIFIER: (31074..31078) "list" + ATMOSPHERE: (31078..31079) " " + QUOTED_DATUM: (31079..31081) + QUOTE: (31079..31080) "'" + SYMBOL: (31080..31081) + IDENTIFIER: (31080..31081) "a" + CLOSE_PAREN: (31081..31082) ")" + ATMOSPHERE: (31082..31083) " " + QUOTED_DATUM: (31083..31093) + QUOTE: (31083..31084) "'" + FORM: (31084..31093) + OPEN_PAREN: (31084..31085) "(" + SYMBOL: (31085..31086) + IDENTIFIER: (31085..31086) "b" + ATMOSPHERE: (31086..31087) " " + FORM: (31087..31090) + OPEN_PAREN: (31087..31088) "(" + SYMBOL: (31088..31089) + IDENTIFIER: (31088..31089) "a" + CLOSE_PAREN: (31089..31090) ")" + ATMOSPHERE: (31090..31091) " " + SYMBOL: (31091..31092) + IDENTIFIER: (31091..31092) "c" + CLOSE_PAREN: (31092..31093) ")" + CLOSE_PAREN: (31093..31094) ")" + CLOSE_PAREN: (31094..31095) ")" + ATMOSPHERE: (31095..31096) " +" + FORM: (31096..31141) + OPEN_PAREN: (31096..31097) "(" + SYMBOL: (31097..31101) + IDENTIFIER: (31097..31101) "test" + ATMOSPHERE: (31101..31102) " " + QUOTED_DATUM: (31102..31111) + QUOTE: (31102..31103) "'" + FORM: (31103..31110) + OPEN_PAREN: (31103..31104) "(" + FORM: (31104..31107) + OPEN_PAREN: (31104..31105) "(" + SYMBOL: (31105..31106) + IDENTIFIER: (31105..31106) "a" + CLOSE_PAREN: (31106..31107) ")" + ATMOSPHERE: (31107..31108) " " + SYMBOL: (31108..31109) + IDENTIFIER: (31108..31109) "c" + CLOSE_PAREN: (31109..31110) ")" + ATMOSPHERE: (31110..31111) " " + FORM: (31111..31140) + OPEN_PAREN: (31111..31112) "(" + SYMBOL: (31112..31118) + IDENTIFIER: (31112..31118) "member" + ATMOSPHERE: (31118..31119) " " + FORM: (31119..31128) + OPEN_PAREN: (31119..31120) "(" + SYMBOL: (31120..31124) + IDENTIFIER: (31120..31124) "list" + ATMOSPHERE: (31124..31125) " " + QUOTED_DATUM: (31125..31127) + QUOTE: (31125..31126) "'" + SYMBOL: (31126..31127) + IDENTIFIER: (31126..31127) "a" + CLOSE_PAREN: (31127..31128) ")" + ATMOSPHERE: (31128..31129) " " + QUOTED_DATUM: (31129..31139) + QUOTE: (31129..31130) "'" + FORM: (31130..31139) + OPEN_PAREN: (31130..31131) "(" + SYMBOL: (31131..31132) + IDENTIFIER: (31131..31132) "b" + ATMOSPHERE: (31132..31133) " " + FORM: (31133..31136) + OPEN_PAREN: (31133..31134) "(" + SYMBOL: (31134..31135) + IDENTIFIER: (31134..31135) "a" + CLOSE_PAREN: (31135..31136) ")" + ATMOSPHERE: (31136..31137) " " + SYMBOL: (31137..31138) + IDENTIFIER: (31137..31138) "c" + CLOSE_PAREN: (31138..31139) ")" + CLOSE_PAREN: (31139..31140) ")" + CLOSE_PAREN: (31140..31141) ")" + ATMOSPHERE: (31141..31142) " +" + ATMOSPHERE: (31142..31201) "; (test '("b" "c") (member "B" '("a" "b" "c") string-ci=?))" + ATMOSPHERE: (31201..31202) " +" + FORM: (31202..31257) + OPEN_PAREN: (31202..31203) "(" + SYMBOL: (31203..31207) + IDENTIFIER: (31203..31207) "test" + ATMOSPHERE: (31207..31208) " " + QUOTED_DATUM: (31208..31219) + QUOTE: (31208..31209) "'" + FORM: (31209..31218) + OPEN_PAREN: (31209..31210) "(" + CONSTANT: (31210..31213) + CHARACTER: (31210..31213) "#\b" + ATMOSPHERE: (31213..31214) " " + CONSTANT: (31214..31217) + CHARACTER: (31214..31217) "#\c" + CLOSE_PAREN: (31217..31218) ")" + ATMOSPHERE: (31218..31219) " " + FORM: (31219..31256) + OPEN_PAREN: (31219..31220) "(" + SYMBOL: (31220..31226) + IDENTIFIER: (31220..31226) "member" + ATMOSPHERE: (31226..31227) " " + CONSTANT: (31227..31230) + CHARACTER: (31227..31230) "#\B" + ATMOSPHERE: (31230..31231) " " + QUOTED_DATUM: (31231..31246) + QUOTE: (31231..31232) "'" + FORM: (31232..31245) + OPEN_PAREN: (31232..31233) "(" + CONSTANT: (31233..31236) + CHARACTER: (31233..31236) "#\a" + ATMOSPHERE: (31236..31237) " " + CONSTANT: (31237..31240) + CHARACTER: (31237..31240) "#\b" + ATMOSPHERE: (31240..31241) " " + CONSTANT: (31241..31244) + CHARACTER: (31241..31244) "#\c" + CLOSE_PAREN: (31244..31245) ")" + ATMOSPHERE: (31245..31246) " " + SYMBOL: (31246..31255) + IDENTIFIER: (31246..31255) "char-ci=?" + CLOSE_PAREN: (31255..31256) ")" + CLOSE_PAREN: (31256..31257) ")" + ATMOSPHERE: (31257..31258) " +" + FORM: (31258..31301) + OPEN_PAREN: (31258..31259) "(" + SYMBOL: (31259..31263) + IDENTIFIER: (31259..31263) "test" + ATMOSPHERE: (31263..31264) " " + QUOTED_DATUM: (31264..31275) + QUOTE: (31264..31265) "'" + FORM: (31265..31274) + OPEN_PAREN: (31265..31266) "(" + CONSTANT: (31266..31269) + NUMBER: (31266..31269) "101" + ATMOSPHERE: (31269..31270) " " + CONSTANT: (31270..31273) + NUMBER: (31270..31273) "102" + CLOSE_PAREN: (31273..31274) ")" + ATMOSPHERE: (31274..31275) " " + FORM: (31275..31300) + OPEN_PAREN: (31275..31276) "(" + SYMBOL: (31276..31280) + IDENTIFIER: (31276..31280) "memv" + ATMOSPHERE: (31280..31281) " " + CONSTANT: (31281..31284) + NUMBER: (31281..31284) "101" + ATMOSPHERE: (31284..31285) " " + QUOTED_DATUM: (31285..31299) + QUOTE: (31285..31286) "'" + FORM: (31286..31299) + OPEN_PAREN: (31286..31287) "(" + CONSTANT: (31287..31290) + NUMBER: (31287..31290) "100" + ATMOSPHERE: (31290..31291) " " + CONSTANT: (31291..31294) + NUMBER: (31291..31294) "101" + ATMOSPHERE: (31294..31295) " " + CONSTANT: (31295..31298) + NUMBER: (31295..31298) "102" + CLOSE_PAREN: (31298..31299) ")" + CLOSE_PAREN: (31299..31300) ")" + CLOSE_PAREN: (31300..31301) ")" + ATMOSPHERE: (31301..31303) " + +" + FORM: (31303..31425) + OPEN_PAREN: (31303..31304) "(" + SYMBOL: (31304..31307) + IDENTIFIER: (31304..31307) "let" + ATMOSPHERE: (31307..31308) " " + FORM: (31308..31310) + OPEN_PAREN: (31308..31309) "(" + CLOSE_PAREN: (31309..31310) ")" + ATMOSPHERE: (31310..31313) " + " + FORM: (31313..31344) + OPEN_PAREN: (31313..31314) "(" + SYMBOL: (31314..31320) + IDENTIFIER: (31314..31320) "define" + ATMOSPHERE: (31320..31321) " " + SYMBOL: (31321..31322) + IDENTIFIER: (31321..31322) "e" + ATMOSPHERE: (31322..31323) " " + QUOTED_DATUM: (31323..31343) + QUOTE: (31323..31324) "'" + FORM: (31324..31343) + OPEN_PAREN: (31324..31325) "(" + FORM: (31325..31330) + OPEN_PAREN: (31325..31326) "(" + SYMBOL: (31326..31327) + IDENTIFIER: (31326..31327) "a" + ATMOSPHERE: (31327..31328) " " + CONSTANT: (31328..31329) + NUMBER: (31328..31329) "1" + CLOSE_PAREN: (31329..31330) ")" + ATMOSPHERE: (31330..31331) " " + FORM: (31331..31336) + OPEN_PAREN: (31331..31332) "(" + SYMBOL: (31332..31333) + IDENTIFIER: (31332..31333) "b" + ATMOSPHERE: (31333..31334) " " + CONSTANT: (31334..31335) + NUMBER: (31334..31335) "2" + CLOSE_PAREN: (31335..31336) ")" + ATMOSPHERE: (31336..31337) " " + FORM: (31337..31342) + OPEN_PAREN: (31337..31338) "(" + SYMBOL: (31338..31339) + IDENTIFIER: (31338..31339) "c" + ATMOSPHERE: (31339..31340) " " + CONSTANT: (31340..31341) + NUMBER: (31340..31341) "3" + CLOSE_PAREN: (31341..31342) ")" + CLOSE_PAREN: (31342..31343) ")" + CLOSE_PAREN: (31343..31344) ")" + ATMOSPHERE: (31344..31347) " + " + FORM: (31347..31372) + OPEN_PAREN: (31347..31348) "(" + SYMBOL: (31348..31352) + IDENTIFIER: (31348..31352) "test" + ATMOSPHERE: (31352..31353) " " + QUOTED_DATUM: (31353..31360) + QUOTE: (31353..31354) "'" + FORM: (31354..31359) + OPEN_PAREN: (31354..31355) "(" + SYMBOL: (31355..31356) + IDENTIFIER: (31355..31356) "a" + ATMOSPHERE: (31356..31357) " " + CONSTANT: (31357..31358) + NUMBER: (31357..31358) "1" + CLOSE_PAREN: (31358..31359) ")" + ATMOSPHERE: (31359..31360) " " + FORM: (31360..31371) + OPEN_PAREN: (31360..31361) "(" + SYMBOL: (31361..31365) + IDENTIFIER: (31361..31365) "assq" + ATMOSPHERE: (31365..31366) " " + QUOTED_DATUM: (31366..31369) + QUOTE: (31366..31367) "'" + SYMBOL: (31367..31368) + IDENTIFIER: (31367..31368) "a" + ATMOSPHERE: (31368..31369) " " + SYMBOL: (31369..31370) + IDENTIFIER: (31369..31370) "e" + CLOSE_PAREN: (31370..31371) ")" + CLOSE_PAREN: (31371..31372) ")" + ATMOSPHERE: (31372..31375) " + " + FORM: (31375..31400) + OPEN_PAREN: (31375..31376) "(" + SYMBOL: (31376..31380) + IDENTIFIER: (31376..31380) "test" + ATMOSPHERE: (31380..31381) " " + QUOTED_DATUM: (31381..31388) + QUOTE: (31381..31382) "'" + FORM: (31382..31387) + OPEN_PAREN: (31382..31383) "(" + SYMBOL: (31383..31384) + IDENTIFIER: (31383..31384) "b" + ATMOSPHERE: (31384..31385) " " + CONSTANT: (31385..31386) + NUMBER: (31385..31386) "2" + CLOSE_PAREN: (31386..31387) ")" + ATMOSPHERE: (31387..31388) " " + FORM: (31388..31399) + OPEN_PAREN: (31388..31389) "(" + SYMBOL: (31389..31393) + IDENTIFIER: (31389..31393) "assq" + ATMOSPHERE: (31393..31394) " " + QUOTED_DATUM: (31394..31397) + QUOTE: (31394..31395) "'" + SYMBOL: (31395..31396) + IDENTIFIER: (31395..31396) "b" + ATMOSPHERE: (31396..31397) " " + SYMBOL: (31397..31398) + IDENTIFIER: (31397..31398) "e" + CLOSE_PAREN: (31398..31399) ")" + CLOSE_PAREN: (31399..31400) ")" + ATMOSPHERE: (31400..31403) " + " + FORM: (31403..31424) + OPEN_PAREN: (31403..31404) "(" + SYMBOL: (31404..31408) + IDENTIFIER: (31404..31408) "test" + ATMOSPHERE: (31408..31409) " " + CONSTANT: (31409..31411) + BOOLEAN: (31409..31411) "#f" + ATMOSPHERE: (31411..31412) " " + FORM: (31412..31423) + OPEN_PAREN: (31412..31413) "(" + SYMBOL: (31413..31417) + IDENTIFIER: (31413..31417) "assq" + ATMOSPHERE: (31417..31418) " " + QUOTED_DATUM: (31418..31421) + QUOTE: (31418..31419) "'" + SYMBOL: (31419..31420) + IDENTIFIER: (31419..31420) "d" + ATMOSPHERE: (31420..31421) " " + SYMBOL: (31421..31422) + IDENTIFIER: (31421..31422) "e" + CLOSE_PAREN: (31422..31423) ")" + CLOSE_PAREN: (31423..31424) ")" + CLOSE_PAREN: (31424..31425) ")" + ATMOSPHERE: (31425..31427) " + +" + FORM: (31427..31474) + OPEN_PAREN: (31427..31428) "(" + SYMBOL: (31428..31432) + IDENTIFIER: (31428..31432) "test" + ATMOSPHERE: (31432..31433) " " + CONSTANT: (31433..31435) + BOOLEAN: (31433..31435) "#f" + ATMOSPHERE: (31435..31436) " " + FORM: (31436..31473) + OPEN_PAREN: (31436..31437) "(" + SYMBOL: (31437..31441) + IDENTIFIER: (31437..31441) "assq" + ATMOSPHERE: (31441..31442) " " + FORM: (31442..31451) + OPEN_PAREN: (31442..31443) "(" + SYMBOL: (31443..31447) + IDENTIFIER: (31443..31447) "list" + ATMOSPHERE: (31447..31448) " " + QUOTED_DATUM: (31448..31450) + QUOTE: (31448..31449) "'" + SYMBOL: (31449..31450) + IDENTIFIER: (31449..31450) "a" + CLOSE_PAREN: (31450..31451) ")" + ATMOSPHERE: (31451..31452) " " + QUOTED_DATUM: (31452..31472) + QUOTE: (31452..31453) "'" + FORM: (31453..31472) + OPEN_PAREN: (31453..31454) "(" + FORM: (31454..31459) + OPEN_PAREN: (31454..31455) "(" + FORM: (31455..31458) + OPEN_PAREN: (31455..31456) "(" + SYMBOL: (31456..31457) + IDENTIFIER: (31456..31457) "a" + CLOSE_PAREN: (31457..31458) ")" + CLOSE_PAREN: (31458..31459) ")" + ATMOSPHERE: (31459..31460) " " + FORM: (31460..31465) + OPEN_PAREN: (31460..31461) "(" + FORM: (31461..31464) + OPEN_PAREN: (31461..31462) "(" + SYMBOL: (31462..31463) + IDENTIFIER: (31462..31463) "b" + CLOSE_PAREN: (31463..31464) ")" + CLOSE_PAREN: (31464..31465) ")" + ATMOSPHERE: (31465..31466) " " + FORM: (31466..31471) + OPEN_PAREN: (31466..31467) "(" + FORM: (31467..31470) + OPEN_PAREN: (31467..31468) "(" + SYMBOL: (31468..31469) + IDENTIFIER: (31468..31469) "c" + CLOSE_PAREN: (31469..31470) ")" + CLOSE_PAREN: (31470..31471) ")" + CLOSE_PAREN: (31471..31472) ")" + CLOSE_PAREN: (31472..31473) ")" + CLOSE_PAREN: (31473..31474) ")" + ATMOSPHERE: (31474..31475) " +" + FORM: (31475..31527) + OPEN_PAREN: (31475..31476) "(" + SYMBOL: (31476..31480) + IDENTIFIER: (31476..31480) "test" + ATMOSPHERE: (31480..31481) " " + QUOTED_DATUM: (31481..31488) + QUOTE: (31481..31482) "'" + FORM: (31482..31487) + OPEN_PAREN: (31482..31483) "(" + FORM: (31483..31486) + OPEN_PAREN: (31483..31484) "(" + SYMBOL: (31484..31485) + IDENTIFIER: (31484..31485) "a" + CLOSE_PAREN: (31485..31486) ")" + CLOSE_PAREN: (31486..31487) ")" + ATMOSPHERE: (31487..31488) " " + FORM: (31488..31526) + OPEN_PAREN: (31488..31489) "(" + SYMBOL: (31489..31494) + IDENTIFIER: (31489..31494) "assoc" + ATMOSPHERE: (31494..31495) " " + FORM: (31495..31504) + OPEN_PAREN: (31495..31496) "(" + SYMBOL: (31496..31500) + IDENTIFIER: (31496..31500) "list" + ATMOSPHERE: (31500..31501) " " + QUOTED_DATUM: (31501..31503) + QUOTE: (31501..31502) "'" + SYMBOL: (31502..31503) + IDENTIFIER: (31502..31503) "a" + CLOSE_PAREN: (31503..31504) ")" + ATMOSPHERE: (31504..31505) " " + QUOTED_DATUM: (31505..31525) + QUOTE: (31505..31506) "'" + FORM: (31506..31525) + OPEN_PAREN: (31506..31507) "(" + FORM: (31507..31512) + OPEN_PAREN: (31507..31508) "(" + FORM: (31508..31511) + OPEN_PAREN: (31508..31509) "(" + SYMBOL: (31509..31510) + IDENTIFIER: (31509..31510) "a" + CLOSE_PAREN: (31510..31511) ")" + CLOSE_PAREN: (31511..31512) ")" + ATMOSPHERE: (31512..31513) " " + FORM: (31513..31518) + OPEN_PAREN: (31513..31514) "(" + FORM: (31514..31517) + OPEN_PAREN: (31514..31515) "(" + SYMBOL: (31515..31516) + IDENTIFIER: (31515..31516) "b" + CLOSE_PAREN: (31516..31517) ")" + CLOSE_PAREN: (31517..31518) ")" + ATMOSPHERE: (31518..31519) " " + FORM: (31519..31524) + OPEN_PAREN: (31519..31520) "(" + FORM: (31520..31523) + OPEN_PAREN: (31520..31521) "(" + SYMBOL: (31521..31522) + IDENTIFIER: (31521..31522) "c" + CLOSE_PAREN: (31522..31523) ")" + CLOSE_PAREN: (31523..31524) ")" + CLOSE_PAREN: (31524..31525) ")" + CLOSE_PAREN: (31525..31526) ")" + CLOSE_PAREN: (31526..31527) ")" + ATMOSPHERE: (31527..31528) " +" + FORM: (31528..31576) + OPEN_PAREN: (31528..31529) "(" + SYMBOL: (31529..31533) + IDENTIFIER: (31529..31533) "test" + ATMOSPHERE: (31533..31534) " " + QUOTED_DATUM: (31534..31541) + QUOTE: (31534..31535) "'" + FORM: (31535..31540) + OPEN_PAREN: (31535..31536) "(" + CONSTANT: (31536..31537) + NUMBER: (31536..31537) "2" + ATMOSPHERE: (31537..31538) " " + CONSTANT: (31538..31539) + NUMBER: (31538..31539) "4" + CLOSE_PAREN: (31539..31540) ")" + ATMOSPHERE: (31540..31541) " " + FORM: (31541..31575) + OPEN_PAREN: (31541..31542) "(" + SYMBOL: (31542..31547) + IDENTIFIER: (31542..31547) "assoc" + ATMOSPHERE: (31547..31548) " " + CONSTANT: (31548..31551) + NUMBER: (31548..31551) "2.0" + ATMOSPHERE: (31551..31552) " " + QUOTED_DATUM: (31552..31573) + QUOTE: (31552..31553) "'" + FORM: (31553..31572) + OPEN_PAREN: (31553..31554) "(" + FORM: (31554..31559) + OPEN_PAREN: (31554..31555) "(" + CONSTANT: (31555..31556) + NUMBER: (31555..31556) "1" + ATMOSPHERE: (31556..31557) " " + CONSTANT: (31557..31558) + NUMBER: (31557..31558) "1" + CLOSE_PAREN: (31558..31559) ")" + ATMOSPHERE: (31559..31560) " " + FORM: (31560..31565) + OPEN_PAREN: (31560..31561) "(" + CONSTANT: (31561..31562) + NUMBER: (31561..31562) "2" + ATMOSPHERE: (31562..31563) " " + CONSTANT: (31563..31564) + NUMBER: (31563..31564) "4" + CLOSE_PAREN: (31564..31565) ")" + ATMOSPHERE: (31565..31566) " " + FORM: (31566..31571) + OPEN_PAREN: (31566..31567) "(" + CONSTANT: (31567..31568) + NUMBER: (31567..31568) "3" + ATMOSPHERE: (31568..31569) " " + CONSTANT: (31569..31570) + NUMBER: (31569..31570) "9" + CLOSE_PAREN: (31570..31571) ")" + CLOSE_PAREN: (31571..31572) ")" + ATMOSPHERE: (31572..31573) " " + SYMBOL: (31573..31574) + IDENTIFIER: (31573..31574) "=" + CLOSE_PAREN: (31574..31575) ")" + CLOSE_PAREN: (31575..31576) ")" + ATMOSPHERE: (31576..31577) " +" + FORM: (31577..31622) + OPEN_PAREN: (31577..31578) "(" + SYMBOL: (31578..31582) + IDENTIFIER: (31578..31582) "test" + ATMOSPHERE: (31582..31583) " " + QUOTED_DATUM: (31583..31590) + QUOTE: (31583..31584) "'" + FORM: (31584..31589) + OPEN_PAREN: (31584..31585) "(" + CONSTANT: (31585..31586) + NUMBER: (31585..31586) "5" + ATMOSPHERE: (31586..31587) " " + CONSTANT: (31587..31588) + NUMBER: (31587..31588) "7" + CLOSE_PAREN: (31588..31589) ")" + ATMOSPHERE: (31589..31590) " " + FORM: (31590..31621) + OPEN_PAREN: (31590..31591) "(" + SYMBOL: (31591..31595) + IDENTIFIER: (31591..31595) "assv" + ATMOSPHERE: (31595..31596) " " + CONSTANT: (31596..31597) + NUMBER: (31596..31597) "5" + ATMOSPHERE: (31597..31598) " " + QUOTED_DATUM: (31598..31620) + QUOTE: (31598..31599) "'" + FORM: (31599..31620) + OPEN_PAREN: (31599..31600) "(" + FORM: (31600..31605) + OPEN_PAREN: (31600..31601) "(" + CONSTANT: (31601..31602) + NUMBER: (31601..31602) "2" + ATMOSPHERE: (31602..31603) " " + CONSTANT: (31603..31604) + NUMBER: (31603..31604) "3" + CLOSE_PAREN: (31604..31605) ")" + ATMOSPHERE: (31605..31606) " " + FORM: (31606..31611) + OPEN_PAREN: (31606..31607) "(" + CONSTANT: (31607..31608) + NUMBER: (31607..31608) "5" + ATMOSPHERE: (31608..31609) " " + CONSTANT: (31609..31610) + NUMBER: (31609..31610) "7" + CLOSE_PAREN: (31610..31611) ")" + ATMOSPHERE: (31611..31612) " " + FORM: (31612..31619) + OPEN_PAREN: (31612..31613) "(" + CONSTANT: (31613..31615) + NUMBER: (31613..31615) "11" + ATMOSPHERE: (31615..31616) " " + CONSTANT: (31616..31618) + NUMBER: (31616..31618) "13" + CLOSE_PAREN: (31618..31619) ")" + CLOSE_PAREN: (31619..31620) ")" + CLOSE_PAREN: (31620..31621) ")" + CLOSE_PAREN: (31621..31622) ")" + ATMOSPHERE: (31622..31624) " + +" + FORM: (31624..31660) + OPEN_PAREN: (31624..31625) "(" + SYMBOL: (31625..31629) + IDENTIFIER: (31625..31629) "test" + ATMOSPHERE: (31629..31630) " " + QUOTED_DATUM: (31630..31639) + QUOTE: (31630..31631) "'" + FORM: (31631..31638) + OPEN_PAREN: (31631..31632) "(" + CONSTANT: (31632..31633) + NUMBER: (31632..31633) "1" + ATMOSPHERE: (31633..31634) " " + CONSTANT: (31634..31635) + NUMBER: (31634..31635) "2" + ATMOSPHERE: (31635..31636) " " + CONSTANT: (31636..31637) + NUMBER: (31636..31637) "3" + CLOSE_PAREN: (31637..31638) ")" + ATMOSPHERE: (31638..31639) " " + FORM: (31639..31659) + OPEN_PAREN: (31639..31640) "(" + SYMBOL: (31640..31649) + IDENTIFIER: (31640..31649) "list-copy" + ATMOSPHERE: (31649..31650) " " + QUOTED_DATUM: (31650..31658) + QUOTE: (31650..31651) "'" + FORM: (31651..31658) + OPEN_PAREN: (31651..31652) "(" + CONSTANT: (31652..31653) + NUMBER: (31652..31653) "1" + ATMOSPHERE: (31653..31654) " " + CONSTANT: (31654..31655) + NUMBER: (31654..31655) "2" + ATMOSPHERE: (31655..31656) " " + CONSTANT: (31656..31657) + NUMBER: (31656..31657) "3" + CLOSE_PAREN: (31657..31658) ")" + CLOSE_PAREN: (31658..31659) ")" + CLOSE_PAREN: (31659..31660) ")" + ATMOSPHERE: (31660..31661) " +" + FORM: (31661..31691) + OPEN_PAREN: (31661..31662) "(" + SYMBOL: (31662..31666) + IDENTIFIER: (31662..31666) "test" + ATMOSPHERE: (31666..31667) " " + CONSTANT: (31667..31672) + STRING: (31667..31672) ""foo"" + ATMOSPHERE: (31672..31673) " " + FORM: (31673..31690) + OPEN_PAREN: (31673..31674) "(" + SYMBOL: (31674..31683) + IDENTIFIER: (31674..31683) "list-copy" + ATMOSPHERE: (31683..31684) " " + CONSTANT: (31684..31689) + STRING: (31684..31689) ""foo"" + CLOSE_PAREN: (31689..31690) ")" + CLOSE_PAREN: (31690..31691) ")" + ATMOSPHERE: (31691..31692) " +" + FORM: (31692..31718) + OPEN_PAREN: (31692..31693) "(" + SYMBOL: (31693..31697) + IDENTIFIER: (31693..31697) "test" + ATMOSPHERE: (31697..31698) " " + QUOTED_DATUM: (31698..31702) + QUOTE: (31698..31699) "'" + FORM: (31699..31701) + OPEN_PAREN: (31699..31700) "(" + CLOSE_PAREN: (31700..31701) ")" + ATMOSPHERE: (31701..31702) " " + FORM: (31702..31717) + OPEN_PAREN: (31702..31703) "(" + SYMBOL: (31703..31712) + IDENTIFIER: (31703..31712) "list-copy" + ATMOSPHERE: (31712..31713) " " + QUOTED_DATUM: (31713..31716) + QUOTE: (31713..31714) "'" + FORM: (31714..31716) + OPEN_PAREN: (31714..31715) "(" + CLOSE_PAREN: (31715..31716) ")" + CLOSE_PAREN: (31716..31717) ")" + CLOSE_PAREN: (31717..31718) ")" + ATMOSPHERE: (31718..31719) " +" + FORM: (31719..31755) + OPEN_PAREN: (31719..31720) "(" + SYMBOL: (31720..31724) + IDENTIFIER: (31720..31724) "test" + ATMOSPHERE: (31724..31725) " " + QUOTED_DATUM: (31725..31734) + QUOTE: (31725..31726) "'" + FORM: (31726..31733) + OPEN_PAREN: (31726..31727) "(" + CONSTANT: (31727..31728) + NUMBER: (31727..31728) "3" + ATMOSPHERE: (31728..31729) " " + DOTTED_TAIL: (31729..31732) + DOT: (31729..31730) "." + ATMOSPHERE: (31730..31731) " " + CONSTANT: (31731..31732) + NUMBER: (31731..31732) "4" + CLOSE_PAREN: (31732..31733) ")" + ATMOSPHERE: (31733..31734) " " + FORM: (31734..31754) + OPEN_PAREN: (31734..31735) "(" + SYMBOL: (31735..31744) + IDENTIFIER: (31735..31744) "list-copy" + ATMOSPHERE: (31744..31745) " " + QUOTED_DATUM: (31745..31753) + QUOTE: (31745..31746) "'" + FORM: (31746..31753) + OPEN_PAREN: (31746..31747) "(" + CONSTANT: (31747..31748) + NUMBER: (31747..31748) "3" + ATMOSPHERE: (31748..31749) " " + DOTTED_TAIL: (31749..31752) + DOT: (31749..31750) "." + ATMOSPHERE: (31750..31751) " " + CONSTANT: (31751..31752) + NUMBER: (31751..31752) "4" + CLOSE_PAREN: (31752..31753) ")" + CLOSE_PAREN: (31753..31754) ")" + CLOSE_PAREN: (31754..31755) ")" + ATMOSPHERE: (31755..31756) " +" + FORM: (31756..31800) + OPEN_PAREN: (31756..31757) "(" + SYMBOL: (31757..31761) + IDENTIFIER: (31757..31761) "test" + ATMOSPHERE: (31761..31762) " " + QUOTED_DATUM: (31762..31775) + QUOTE: (31762..31763) "'" + FORM: (31763..31774) + OPEN_PAREN: (31763..31764) "(" + CONSTANT: (31764..31765) + NUMBER: (31764..31765) "6" + ATMOSPHERE: (31765..31766) " " + CONSTANT: (31766..31767) + NUMBER: (31766..31767) "7" + ATMOSPHERE: (31767..31768) " " + CONSTANT: (31768..31769) + NUMBER: (31768..31769) "8" + ATMOSPHERE: (31769..31770) " " + DOTTED_TAIL: (31770..31773) + DOT: (31770..31771) "." + ATMOSPHERE: (31771..31772) " " + CONSTANT: (31772..31773) + NUMBER: (31772..31773) "9" + CLOSE_PAREN: (31773..31774) ")" + ATMOSPHERE: (31774..31775) " " + FORM: (31775..31799) + OPEN_PAREN: (31775..31776) "(" + SYMBOL: (31776..31785) + IDENTIFIER: (31776..31785) "list-copy" + ATMOSPHERE: (31785..31786) " " + QUOTED_DATUM: (31786..31798) + QUOTE: (31786..31787) "'" + FORM: (31787..31798) + OPEN_PAREN: (31787..31788) "(" + CONSTANT: (31788..31789) + NUMBER: (31788..31789) "6" + ATMOSPHERE: (31789..31790) " " + CONSTANT: (31790..31791) + NUMBER: (31790..31791) "7" + ATMOSPHERE: (31791..31792) " " + CONSTANT: (31792..31793) + NUMBER: (31792..31793) "8" + ATMOSPHERE: (31793..31794) " " + DOTTED_TAIL: (31794..31797) + DOT: (31794..31795) "." + ATMOSPHERE: (31795..31796) " " + CONSTANT: (31796..31797) + NUMBER: (31796..31797) "9" + CLOSE_PAREN: (31797..31798) ")" + CLOSE_PAREN: (31798..31799) ")" + CLOSE_PAREN: (31799..31800) ")" + ATMOSPHERE: (31800..31801) " +" + FORM: (31801..32035) + OPEN_PAREN: (31801..31802) "(" + SYMBOL: (31802..31806) + IDENTIFIER: (31802..31806) "let*" + ATMOSPHERE: (31806..31807) " " + FORM: (31807..31857) + OPEN_PAREN: (31807..31808) "(" + FORM: (31808..31829) + OPEN_PAREN: (31808..31809) "(" + SYMBOL: (31809..31811) + IDENTIFIER: (31809..31811) "l1" + ATMOSPHERE: (31811..31812) " " + QUOTED_DATUM: (31812..31828) + QUOTE: (31812..31813) "'" + FORM: (31813..31828) + OPEN_PAREN: (31813..31814) "(" + FORM: (31814..31819) + OPEN_PAREN: (31814..31815) "(" + SYMBOL: (31815..31816) + IDENTIFIER: (31815..31816) "a" + ATMOSPHERE: (31816..31817) " " + SYMBOL: (31817..31818) + IDENTIFIER: (31817..31818) "b" + CLOSE_PAREN: (31818..31819) ")" + ATMOSPHERE: (31819..31820) " " + FORM: (31820..31825) + OPEN_PAREN: (31820..31821) "(" + SYMBOL: (31821..31822) + IDENTIFIER: (31821..31822) "c" + ATMOSPHERE: (31822..31823) " " + SYMBOL: (31823..31824) + IDENTIFIER: (31823..31824) "d" + CLOSE_PAREN: (31824..31825) ")" + ATMOSPHERE: (31825..31826) " " + SYMBOL: (31826..31827) + IDENTIFIER: (31826..31827) "e" + CLOSE_PAREN: (31827..31828) ")" + CLOSE_PAREN: (31828..31829) ")" + ATMOSPHERE: (31829..31837) " + " + FORM: (31837..31856) + OPEN_PAREN: (31837..31838) "(" + SYMBOL: (31838..31840) + IDENTIFIER: (31838..31840) "l2" + ATMOSPHERE: (31840..31841) " " + FORM: (31841..31855) + OPEN_PAREN: (31841..31842) "(" + SYMBOL: (31842..31851) + IDENTIFIER: (31842..31851) "list-copy" + ATMOSPHERE: (31851..31852) " " + SYMBOL: (31852..31854) + IDENTIFIER: (31852..31854) "l1" + CLOSE_PAREN: (31854..31855) ")" + CLOSE_PAREN: (31855..31856) ")" + CLOSE_PAREN: (31856..31857) ")" + ATMOSPHERE: (31857..31860) " + " + FORM: (31860..31886) + OPEN_PAREN: (31860..31861) "(" + SYMBOL: (31861..31865) + IDENTIFIER: (31861..31865) "test" + ATMOSPHERE: (31865..31866) " " + SYMBOL: (31866..31868) + IDENTIFIER: (31866..31868) "l2" + ATMOSPHERE: (31868..31869) " " + QUOTED_DATUM: (31869..31885) + QUOTE: (31869..31870) "'" + FORM: (31870..31885) + OPEN_PAREN: (31870..31871) "(" + FORM: (31871..31876) + OPEN_PAREN: (31871..31872) "(" + SYMBOL: (31872..31873) + IDENTIFIER: (31872..31873) "a" + ATMOSPHERE: (31873..31874) " " + SYMBOL: (31874..31875) + IDENTIFIER: (31874..31875) "b" + CLOSE_PAREN: (31875..31876) ")" + ATMOSPHERE: (31876..31877) " " + FORM: (31877..31882) + OPEN_PAREN: (31877..31878) "(" + SYMBOL: (31878..31879) + IDENTIFIER: (31878..31879) "c" + ATMOSPHERE: (31879..31880) " " + SYMBOL: (31880..31881) + IDENTIFIER: (31880..31881) "d" + CLOSE_PAREN: (31881..31882) ")" + ATMOSPHERE: (31882..31883) " " + SYMBOL: (31883..31884) + IDENTIFIER: (31883..31884) "e" + CLOSE_PAREN: (31884..31885) ")" + CLOSE_PAREN: (31885..31886) ")" + ATMOSPHERE: (31886..31889) " + " + FORM: (31889..31922) + OPEN_PAREN: (31889..31890) "(" + SYMBOL: (31890..31894) + IDENTIFIER: (31890..31894) "test" + ATMOSPHERE: (31894..31895) " " + CONSTANT: (31895..31897) + BOOLEAN: (31895..31897) "#t" + ATMOSPHERE: (31897..31898) " " + FORM: (31898..31921) + OPEN_PAREN: (31898..31899) "(" + SYMBOL: (31899..31902) + IDENTIFIER: (31899..31902) "eq?" + ATMOSPHERE: (31902..31903) " " + FORM: (31903..31911) + OPEN_PAREN: (31903..31904) "(" + SYMBOL: (31904..31907) + IDENTIFIER: (31904..31907) "car" + ATMOSPHERE: (31907..31908) " " + SYMBOL: (31908..31910) + IDENTIFIER: (31908..31910) "l1" + CLOSE_PAREN: (31910..31911) ")" + ATMOSPHERE: (31911..31912) " " + FORM: (31912..31920) + OPEN_PAREN: (31912..31913) "(" + SYMBOL: (31913..31916) + IDENTIFIER: (31913..31916) "car" + ATMOSPHERE: (31916..31917) " " + SYMBOL: (31917..31919) + IDENTIFIER: (31917..31919) "l2" + CLOSE_PAREN: (31919..31920) ")" + CLOSE_PAREN: (31920..31921) ")" + CLOSE_PAREN: (31921..31922) ")" + ATMOSPHERE: (31922..31925) " + " + FORM: (31925..31960) + OPEN_PAREN: (31925..31926) "(" + SYMBOL: (31926..31930) + IDENTIFIER: (31926..31930) "test" + ATMOSPHERE: (31930..31931) " " + CONSTANT: (31931..31933) + BOOLEAN: (31931..31933) "#t" + ATMOSPHERE: (31933..31934) " " + FORM: (31934..31959) + OPEN_PAREN: (31934..31935) "(" + SYMBOL: (31935..31938) + IDENTIFIER: (31935..31938) "eq?" + ATMOSPHERE: (31938..31939) " " + FORM: (31939..31948) + OPEN_PAREN: (31939..31940) "(" + SYMBOL: (31940..31944) + IDENTIFIER: (31940..31944) "cadr" + ATMOSPHERE: (31944..31945) " " + SYMBOL: (31945..31947) + IDENTIFIER: (31945..31947) "l1" + CLOSE_PAREN: (31947..31948) ")" + ATMOSPHERE: (31948..31949) " " + FORM: (31949..31958) + OPEN_PAREN: (31949..31950) "(" + SYMBOL: (31950..31954) + IDENTIFIER: (31950..31954) "cadr" + ATMOSPHERE: (31954..31955) " " + SYMBOL: (31955..31957) + IDENTIFIER: (31955..31957) "l2" + CLOSE_PAREN: (31957..31958) ")" + CLOSE_PAREN: (31958..31959) ")" + CLOSE_PAREN: (31959..31960) ")" + ATMOSPHERE: (31960..31963) " + " + FORM: (31963..31996) + OPEN_PAREN: (31963..31964) "(" + SYMBOL: (31964..31968) + IDENTIFIER: (31964..31968) "test" + ATMOSPHERE: (31968..31969) " " + CONSTANT: (31969..31971) + BOOLEAN: (31969..31971) "#f" + ATMOSPHERE: (31971..31972) " " + FORM: (31972..31995) + OPEN_PAREN: (31972..31973) "(" + SYMBOL: (31973..31976) + IDENTIFIER: (31973..31976) "eq?" + ATMOSPHERE: (31976..31977) " " + FORM: (31977..31985) + OPEN_PAREN: (31977..31978) "(" + SYMBOL: (31978..31981) + IDENTIFIER: (31978..31981) "cdr" + ATMOSPHERE: (31981..31982) " " + SYMBOL: (31982..31984) + IDENTIFIER: (31982..31984) "l1" + CLOSE_PAREN: (31984..31985) ")" + ATMOSPHERE: (31985..31986) " " + FORM: (31986..31994) + OPEN_PAREN: (31986..31987) "(" + SYMBOL: (31987..31990) + IDENTIFIER: (31987..31990) "cdr" + ATMOSPHERE: (31990..31991) " " + SYMBOL: (31991..31993) + IDENTIFIER: (31991..31993) "l2" + CLOSE_PAREN: (31993..31994) ")" + CLOSE_PAREN: (31994..31995) ")" + CLOSE_PAREN: (31995..31996) ")" + ATMOSPHERE: (31996..31999) " + " + FORM: (31999..32034) + OPEN_PAREN: (31999..32000) "(" + SYMBOL: (32000..32004) + IDENTIFIER: (32000..32004) "test" + ATMOSPHERE: (32004..32005) " " + CONSTANT: (32005..32007) + BOOLEAN: (32005..32007) "#f" + ATMOSPHERE: (32007..32008) " " + FORM: (32008..32033) + OPEN_PAREN: (32008..32009) "(" + SYMBOL: (32009..32012) + IDENTIFIER: (32009..32012) "eq?" + ATMOSPHERE: (32012..32013) " " + FORM: (32013..32022) + OPEN_PAREN: (32013..32014) "(" + SYMBOL: (32014..32018) + IDENTIFIER: (32014..32018) "cddr" + ATMOSPHERE: (32018..32019) " " + SYMBOL: (32019..32021) + IDENTIFIER: (32019..32021) "l1" + CLOSE_PAREN: (32021..32022) ")" + ATMOSPHERE: (32022..32023) " " + FORM: (32023..32032) + OPEN_PAREN: (32023..32024) "(" + SYMBOL: (32024..32028) + IDENTIFIER: (32024..32028) "cddr" + ATMOSPHERE: (32028..32029) " " + SYMBOL: (32029..32031) + IDENTIFIER: (32029..32031) "l2" + CLOSE_PAREN: (32031..32032) ")" + CLOSE_PAREN: (32032..32033) ")" + CLOSE_PAREN: (32033..32034) ")" + CLOSE_PAREN: (32034..32035) ")" + ATMOSPHERE: (32035..32037) " + +" + FORM: (32037..32047) + OPEN_PAREN: (32037..32038) "(" + SYMBOL: (32038..32046) + IDENTIFIER: (32038..32046) "test-end" + CLOSE_PAREN: (32046..32047) ")" + ATMOSPHERE: (32047..32049) " + +" + FORM: (32049..32075) + OPEN_PAREN: (32049..32050) "(" + SYMBOL: (32050..32060) + IDENTIFIER: (32050..32060) "test-begin" + ATMOSPHERE: (32060..32061) " " + CONSTANT: (32061..32074) + STRING: (32061..32074) ""6.5 Symbols"" + CLOSE_PAREN: (32074..32075) ")" + ATMOSPHERE: (32075..32077) " + +" + FORM: (32077..32101) + OPEN_PAREN: (32077..32078) "(" + SYMBOL: (32078..32082) + IDENTIFIER: (32078..32082) "test" + ATMOSPHERE: (32082..32083) " " + CONSTANT: (32083..32085) + BOOLEAN: (32083..32085) "#t" + ATMOSPHERE: (32085..32086) " " + FORM: (32086..32100) + OPEN_PAREN: (32086..32087) "(" + SYMBOL: (32087..32094) + IDENTIFIER: (32087..32094) "symbol?" + ATMOSPHERE: (32094..32095) " " + QUOTED_DATUM: (32095..32099) + QUOTE: (32095..32096) "'" + SYMBOL: (32096..32099) + IDENTIFIER: (32096..32099) "foo" + CLOSE_PAREN: (32099..32100) ")" + CLOSE_PAREN: (32100..32101) ")" + ATMOSPHERE: (32101..32102) " +" + FORM: (32102..32134) + OPEN_PAREN: (32102..32103) "(" + SYMBOL: (32103..32107) + IDENTIFIER: (32103..32107) "test" + ATMOSPHERE: (32107..32108) " " + CONSTANT: (32108..32110) + BOOLEAN: (32108..32110) "#t" + ATMOSPHERE: (32110..32111) " " + FORM: (32111..32133) + OPEN_PAREN: (32111..32112) "(" + SYMBOL: (32112..32119) + IDENTIFIER: (32112..32119) "symbol?" + ATMOSPHERE: (32119..32120) " " + FORM: (32120..32132) + OPEN_PAREN: (32120..32121) "(" + SYMBOL: (32121..32124) + IDENTIFIER: (32121..32124) "car" + ATMOSPHERE: (32124..32125) " " + QUOTED_DATUM: (32125..32131) + QUOTE: (32125..32126) "'" + FORM: (32126..32131) + OPEN_PAREN: (32126..32127) "(" + SYMBOL: (32127..32128) + IDENTIFIER: (32127..32128) "a" + ATMOSPHERE: (32128..32129) " " + SYMBOL: (32129..32130) + IDENTIFIER: (32129..32130) "b" + CLOSE_PAREN: (32130..32131) ")" + CLOSE_PAREN: (32131..32132) ")" + CLOSE_PAREN: (32132..32133) ")" + CLOSE_PAREN: (32133..32134) ")" + ATMOSPHERE: (32134..32135) " +" + FORM: (32135..32160) + OPEN_PAREN: (32135..32136) "(" + SYMBOL: (32136..32140) + IDENTIFIER: (32136..32140) "test" + ATMOSPHERE: (32140..32141) " " + CONSTANT: (32141..32143) + BOOLEAN: (32141..32143) "#f" + ATMOSPHERE: (32143..32144) " " + FORM: (32144..32159) + OPEN_PAREN: (32144..32145) "(" + SYMBOL: (32145..32152) + IDENTIFIER: (32145..32152) "symbol?" + ATMOSPHERE: (32152..32153) " " + CONSTANT: (32153..32158) + STRING: (32153..32158) ""bar"" + CLOSE_PAREN: (32158..32159) ")" + CLOSE_PAREN: (32159..32160) ")" + ATMOSPHERE: (32160..32161) " +" + FORM: (32161..32185) + OPEN_PAREN: (32161..32162) "(" + SYMBOL: (32162..32166) + IDENTIFIER: (32162..32166) "test" + ATMOSPHERE: (32166..32167) " " + CONSTANT: (32167..32169) + BOOLEAN: (32167..32169) "#t" + ATMOSPHERE: (32169..32170) " " + FORM: (32170..32184) + OPEN_PAREN: (32170..32171) "(" + SYMBOL: (32171..32178) + IDENTIFIER: (32171..32178) "symbol?" + ATMOSPHERE: (32178..32179) " " + QUOTED_DATUM: (32179..32183) + QUOTE: (32179..32180) "'" + SYMBOL: (32180..32183) + IDENTIFIER: (32180..32183) "nil" + CLOSE_PAREN: (32183..32184) ")" + CLOSE_PAREN: (32184..32185) ")" + ATMOSPHERE: (32185..32186) " +" + FORM: (32186..32209) + OPEN_PAREN: (32186..32187) "(" + SYMBOL: (32187..32191) + IDENTIFIER: (32187..32191) "test" + ATMOSPHERE: (32191..32192) " " + CONSTANT: (32192..32194) + BOOLEAN: (32192..32194) "#f" + ATMOSPHERE: (32194..32195) " " + FORM: (32195..32208) + OPEN_PAREN: (32195..32196) "(" + SYMBOL: (32196..32203) + IDENTIFIER: (32196..32203) "symbol?" + ATMOSPHERE: (32203..32204) " " + QUOTED_DATUM: (32204..32207) + QUOTE: (32204..32205) "'" + FORM: (32205..32207) + OPEN_PAREN: (32205..32206) "(" + CLOSE_PAREN: (32206..32207) ")" + CLOSE_PAREN: (32207..32208) ")" + CLOSE_PAREN: (32208..32209) ")" + ATMOSPHERE: (32209..32210) " +" + FORM: (32210..32232) + OPEN_PAREN: (32210..32211) "(" + SYMBOL: (32211..32215) + IDENTIFIER: (32211..32215) "test" + ATMOSPHERE: (32215..32216) " " + CONSTANT: (32216..32218) + BOOLEAN: (32216..32218) "#f" + ATMOSPHERE: (32218..32219) " " + FORM: (32219..32231) + OPEN_PAREN: (32219..32220) "(" + SYMBOL: (32220..32227) + IDENTIFIER: (32220..32227) "symbol?" + ATMOSPHERE: (32227..32228) " " + CONSTANT: (32228..32230) + BOOLEAN: (32228..32230) "#f" + CLOSE_PAREN: (32230..32231) ")" + CLOSE_PAREN: (32231..32232) ")" + ATMOSPHERE: (32232..32234) " + +" + FORM: (32234..32260) + OPEN_PAREN: (32234..32235) "(" + SYMBOL: (32235..32239) + IDENTIFIER: (32235..32239) "test" + ATMOSPHERE: (32239..32240) " " + CONSTANT: (32240..32242) + BOOLEAN: (32240..32242) "#t" + ATMOSPHERE: (32242..32243) " " + FORM: (32243..32259) + OPEN_PAREN: (32243..32244) "(" + SYMBOL: (32244..32252) + IDENTIFIER: (32244..32252) "symbol=?" + ATMOSPHERE: (32252..32253) " " + QUOTED_DATUM: (32253..32256) + QUOTE: (32253..32254) "'" + SYMBOL: (32254..32255) + IDENTIFIER: (32254..32255) "a" + ATMOSPHERE: (32255..32256) " " + QUOTED_DATUM: (32256..32258) + QUOTE: (32256..32257) "'" + SYMBOL: (32257..32258) + IDENTIFIER: (32257..32258) "a" + CLOSE_PAREN: (32258..32259) ")" + CLOSE_PAREN: (32259..32260) ")" + ATMOSPHERE: (32260..32261) " +" + FORM: (32261..32287) + OPEN_PAREN: (32261..32262) "(" + SYMBOL: (32262..32266) + IDENTIFIER: (32262..32266) "test" + ATMOSPHERE: (32266..32267) " " + CONSTANT: (32267..32269) + BOOLEAN: (32267..32269) "#f" + ATMOSPHERE: (32269..32270) " " + FORM: (32270..32286) + OPEN_PAREN: (32270..32271) "(" + SYMBOL: (32271..32279) + IDENTIFIER: (32271..32279) "symbol=?" + ATMOSPHERE: (32279..32280) " " + QUOTED_DATUM: (32280..32283) + QUOTE: (32280..32281) "'" + SYMBOL: (32281..32282) + IDENTIFIER: (32281..32282) "a" + ATMOSPHERE: (32282..32283) " " + QUOTED_DATUM: (32283..32285) + QUOTE: (32283..32284) "'" + SYMBOL: (32284..32285) + IDENTIFIER: (32284..32285) "A" + CLOSE_PAREN: (32285..32286) ")" + CLOSE_PAREN: (32286..32287) ")" + ATMOSPHERE: (32287..32288) " +" + FORM: (32288..32317) + OPEN_PAREN: (32288..32289) "(" + SYMBOL: (32289..32293) + IDENTIFIER: (32289..32293) "test" + ATMOSPHERE: (32293..32294) " " + CONSTANT: (32294..32296) + BOOLEAN: (32294..32296) "#t" + ATMOSPHERE: (32296..32297) " " + FORM: (32297..32316) + OPEN_PAREN: (32297..32298) "(" + SYMBOL: (32298..32306) + IDENTIFIER: (32298..32306) "symbol=?" + ATMOSPHERE: (32306..32307) " " + QUOTED_DATUM: (32307..32310) + QUOTE: (32307..32308) "'" + SYMBOL: (32308..32309) + IDENTIFIER: (32308..32309) "a" + ATMOSPHERE: (32309..32310) " " + QUOTED_DATUM: (32310..32313) + QUOTE: (32310..32311) "'" + SYMBOL: (32311..32312) + IDENTIFIER: (32311..32312) "a" + ATMOSPHERE: (32312..32313) " " + QUOTED_DATUM: (32313..32315) + QUOTE: (32313..32314) "'" + SYMBOL: (32314..32315) + IDENTIFIER: (32314..32315) "a" + CLOSE_PAREN: (32315..32316) ")" + CLOSE_PAREN: (32316..32317) ")" + ATMOSPHERE: (32317..32318) " +" + FORM: (32318..32347) + OPEN_PAREN: (32318..32319) "(" + SYMBOL: (32319..32323) + IDENTIFIER: (32319..32323) "test" + ATMOSPHERE: (32323..32324) " " + CONSTANT: (32324..32326) + BOOLEAN: (32324..32326) "#f" + ATMOSPHERE: (32326..32327) " " + FORM: (32327..32346) + OPEN_PAREN: (32327..32328) "(" + SYMBOL: (32328..32336) + IDENTIFIER: (32328..32336) "symbol=?" + ATMOSPHERE: (32336..32337) " " + QUOTED_DATUM: (32337..32340) + QUOTE: (32337..32338) "'" + SYMBOL: (32338..32339) + IDENTIFIER: (32338..32339) "a" + ATMOSPHERE: (32339..32340) " " + QUOTED_DATUM: (32340..32343) + QUOTE: (32340..32341) "'" + SYMBOL: (32341..32342) + IDENTIFIER: (32341..32342) "a" + ATMOSPHERE: (32342..32343) " " + QUOTED_DATUM: (32343..32345) + QUOTE: (32343..32344) "'" + SYMBOL: (32344..32345) + IDENTIFIER: (32344..32345) "A" + CLOSE_PAREN: (32345..32346) ")" + CLOSE_PAREN: (32346..32347) ")" + ATMOSPHERE: (32347..32349) " + +" + FORM: (32349..32404) + OPEN_PAREN: (32349..32350) "(" + SYMBOL: (32350..32354) + IDENTIFIER: (32350..32354) "test" + ATMOSPHERE: (32354..32355) " " + CONSTANT: (32355..32368) + STRING: (32355..32368) ""flying-fish"" + ATMOSPHERE: (32368..32374) " +" + FORM: (32374..32403) + OPEN_PAREN: (32374..32375) "(" + SYMBOL: (32375..32389) + IDENTIFIER: (32375..32389) "symbol->string" + ATMOSPHERE: (32389..32390) " " + QUOTED_DATUM: (32390..32402) + QUOTE: (32390..32391) "'" + SYMBOL: (32391..32402) + IDENTIFIER: (32391..32402) "flying-fish" + CLOSE_PAREN: (32402..32403) ")" + CLOSE_PAREN: (32403..32404) ")" + ATMOSPHERE: (32404..32405) " +" + FORM: (32405..32445) + OPEN_PAREN: (32405..32406) "(" + SYMBOL: (32406..32410) + IDENTIFIER: (32406..32410) "test" + ATMOSPHERE: (32410..32411) " " + CONSTANT: (32411..32419) + STRING: (32411..32419) ""Martin"" + ATMOSPHERE: (32419..32420) " " + FORM: (32420..32444) + OPEN_PAREN: (32420..32421) "(" + SYMBOL: (32421..32435) + IDENTIFIER: (32421..32435) "symbol->string" + ATMOSPHERE: (32435..32436) " " + QUOTED_DATUM: (32436..32443) + QUOTE: (32436..32437) "'" + SYMBOL: (32437..32443) + IDENTIFIER: (32437..32443) "Martin" + CLOSE_PAREN: (32443..32444) ")" + CLOSE_PAREN: (32444..32445) ")" + ATMOSPHERE: (32445..32446) " +" + FORM: (32446..32506) + OPEN_PAREN: (32446..32447) "(" + SYMBOL: (32447..32451) + IDENTIFIER: (32447..32451) "test" + ATMOSPHERE: (32451..32452) " " + CONSTANT: (32452..32461) + STRING: (32452..32461) ""Malvina"" + ATMOSPHERE: (32461..32462) " " + FORM: (32462..32505) + OPEN_PAREN: (32462..32463) "(" + SYMBOL: (32463..32477) + IDENTIFIER: (32463..32477) "symbol->string" + ATMOSPHERE: (32477..32478) " " + FORM: (32478..32504) + OPEN_PAREN: (32478..32479) "(" + SYMBOL: (32479..32493) + IDENTIFIER: (32479..32493) "string->symbol" + ATMOSPHERE: (32493..32494) " " + CONSTANT: (32494..32503) + STRING: (32494..32503) ""Malvina"" + CLOSE_PAREN: (32503..32504) ")" + CLOSE_PAREN: (32504..32505) ")" + CLOSE_PAREN: (32505..32506) ")" + ATMOSPHERE: (32506..32508) " + +" + FORM: (32508..32558) + OPEN_PAREN: (32508..32509) "(" + SYMBOL: (32509..32513) + IDENTIFIER: (32509..32513) "test" + ATMOSPHERE: (32513..32514) " " + QUOTED_DATUM: (32514..32527) + QUOTE: (32514..32515) "'" + SYMBOL: (32515..32526) + IDENTIFIER: (32515..32526) "mISSISSIppi" + ATMOSPHERE: (32526..32527) " " + FORM: (32527..32557) + OPEN_PAREN: (32527..32528) "(" + SYMBOL: (32528..32542) + IDENTIFIER: (32528..32542) "string->symbol" + ATMOSPHERE: (32542..32543) " " + CONSTANT: (32543..32556) + STRING: (32543..32556) ""mISSISSIppi"" + CLOSE_PAREN: (32556..32557) ")" + CLOSE_PAREN: (32557..32558) ")" + ATMOSPHERE: (32558..32559) " +" + FORM: (32559..32608) + OPEN_PAREN: (32559..32560) "(" + SYMBOL: (32560..32564) + IDENTIFIER: (32560..32564) "test" + ATMOSPHERE: (32564..32565) " " + CONSTANT: (32565..32567) + BOOLEAN: (32565..32567) "#t" + ATMOSPHERE: (32567..32568) " " + FORM: (32568..32607) + OPEN_PAREN: (32568..32569) "(" + SYMBOL: (32569..32572) + IDENTIFIER: (32569..32572) "eq?" + ATMOSPHERE: (32572..32573) " " + QUOTED_DATUM: (32573..32581) + QUOTE: (32573..32574) "'" + SYMBOL: (32574..32580) + IDENTIFIER: (32574..32580) "bitBlt" + ATMOSPHERE: (32580..32581) " " + FORM: (32581..32606) + OPEN_PAREN: (32581..32582) "(" + SYMBOL: (32582..32596) + IDENTIFIER: (32582..32596) "string->symbol" + ATMOSPHERE: (32596..32597) " " + CONSTANT: (32597..32605) + STRING: (32597..32605) ""bitBlt"" + CLOSE_PAREN: (32605..32606) ")" + CLOSE_PAREN: (32606..32607) ")" + CLOSE_PAREN: (32607..32608) ")" + ATMOSPHERE: (32608..32609) " +" + FORM: (32609..32678) + OPEN_PAREN: (32609..32610) "(" + SYMBOL: (32610..32614) + IDENTIFIER: (32610..32614) "test" + ATMOSPHERE: (32614..32615) " " + CONSTANT: (32615..32617) + BOOLEAN: (32615..32617) "#t" + ATMOSPHERE: (32617..32618) " " + FORM: (32618..32677) + OPEN_PAREN: (32618..32619) "(" + SYMBOL: (32619..32622) + IDENTIFIER: (32619..32622) "eq?" + ATMOSPHERE: (32622..32623) " " + QUOTED_DATUM: (32623..32633) + QUOTE: (32623..32624) "'" + SYMBOL: (32624..32632) + IDENTIFIER: (32624..32632) "LollyPop" + ATMOSPHERE: (32632..32633) " " + FORM: (32633..32676) + OPEN_PAREN: (32633..32634) "(" + SYMBOL: (32634..32648) + IDENTIFIER: (32634..32648) "string->symbol" + ATMOSPHERE: (32648..32649) " " + FORM: (32649..32675) + OPEN_PAREN: (32649..32650) "(" + SYMBOL: (32650..32664) + IDENTIFIER: (32650..32664) "symbol->string" + ATMOSPHERE: (32664..32665) " " + QUOTED_DATUM: (32665..32674) + QUOTE: (32665..32666) "'" + SYMBOL: (32666..32674) + IDENTIFIER: (32666..32674) "LollyPop" + CLOSE_PAREN: (32674..32675) ")" + CLOSE_PAREN: (32675..32676) ")" + CLOSE_PAREN: (32676..32677) ")" + CLOSE_PAREN: (32677..32678) ")" + ATMOSPHERE: (32678..32679) " +" + FORM: (32679..32788) + OPEN_PAREN: (32679..32680) "(" + SYMBOL: (32680..32684) + IDENTIFIER: (32680..32684) "test" + ATMOSPHERE: (32684..32685) " " + CONSTANT: (32685..32687) + BOOLEAN: (32685..32687) "#t" + ATMOSPHERE: (32687..32688) " " + FORM: (32688..32787) + OPEN_PAREN: (32688..32689) "(" + SYMBOL: (32689..32697) + IDENTIFIER: (32689..32697) "string=?" + ATMOSPHERE: (32697..32698) " " + CONSTANT: (32698..32715) + STRING: (32698..32715) ""K. Harper, M.D."" + ATMOSPHERE: (32715..32735) " + " + FORM: (32735..32786) + OPEN_PAREN: (32735..32736) "(" + SYMBOL: (32736..32750) + IDENTIFIER: (32736..32750) "symbol->string" + ATMOSPHERE: (32750..32751) " " + FORM: (32751..32785) + OPEN_PAREN: (32751..32752) "(" + SYMBOL: (32752..32766) + IDENTIFIER: (32752..32766) "string->symbol" + ATMOSPHERE: (32766..32767) " " + CONSTANT: (32767..32784) + STRING: (32767..32784) ""K. Harper, M.D."" + CLOSE_PAREN: (32784..32785) ")" + CLOSE_PAREN: (32785..32786) ")" + CLOSE_PAREN: (32786..32787) ")" + CLOSE_PAREN: (32787..32788) ")" + ATMOSPHERE: (32788..32790) " + +" + FORM: (32790..32800) + OPEN_PAREN: (32790..32791) "(" + SYMBOL: (32791..32799) + IDENTIFIER: (32791..32799) "test-end" + CLOSE_PAREN: (32799..32800) ")" + ATMOSPHERE: (32800..32802) " + +" + FORM: (32802..32831) + OPEN_PAREN: (32802..32803) "(" + SYMBOL: (32803..32813) + IDENTIFIER: (32803..32813) "test-begin" + ATMOSPHERE: (32813..32814) " " + CONSTANT: (32814..32830) + STRING: (32814..32830) ""6.6 Characters"" + CLOSE_PAREN: (32830..32831) ")" + ATMOSPHERE: (32831..32833) " + +" + FORM: (32833..32854) + OPEN_PAREN: (32833..32834) "(" + SYMBOL: (32834..32838) + IDENTIFIER: (32834..32838) "test" + ATMOSPHERE: (32838..32839) " " + CONSTANT: (32839..32841) + BOOLEAN: (32839..32841) "#t" + ATMOSPHERE: (32841..32842) " " + FORM: (32842..32853) + OPEN_PAREN: (32842..32843) "(" + SYMBOL: (32843..32848) + IDENTIFIER: (32843..32848) "char?" + ATMOSPHERE: (32848..32849) " " + CONSTANT: (32849..32852) + CHARACTER: (32849..32852) "#\a" + CLOSE_PAREN: (32852..32853) ")" + CLOSE_PAREN: (32853..32854) ")" + ATMOSPHERE: (32854..32855) " +" + FORM: (32855..32876) + OPEN_PAREN: (32855..32856) "(" + SYMBOL: (32856..32860) + IDENTIFIER: (32856..32860) "test" + ATMOSPHERE: (32860..32861) " " + CONSTANT: (32861..32863) + BOOLEAN: (32861..32863) "#f" + ATMOSPHERE: (32863..32864) " " + FORM: (32864..32875) + OPEN_PAREN: (32864..32865) "(" + SYMBOL: (32865..32870) + IDENTIFIER: (32865..32870) "char?" + ATMOSPHERE: (32870..32871) " " + CONSTANT: (32871..32874) + STRING: (32871..32874) ""a"" + CLOSE_PAREN: (32874..32875) ")" + CLOSE_PAREN: (32875..32876) ")" + ATMOSPHERE: (32876..32877) " +" + FORM: (32877..32897) + OPEN_PAREN: (32877..32878) "(" + SYMBOL: (32878..32882) + IDENTIFIER: (32878..32882) "test" + ATMOSPHERE: (32882..32883) " " + CONSTANT: (32883..32885) + BOOLEAN: (32883..32885) "#f" + ATMOSPHERE: (32885..32886) " " + FORM: (32886..32896) + OPEN_PAREN: (32886..32887) "(" + SYMBOL: (32887..32892) + IDENTIFIER: (32887..32892) "char?" + ATMOSPHERE: (32892..32893) " " + QUOTED_DATUM: (32893..32895) + QUOTE: (32893..32894) "'" + SYMBOL: (32894..32895) + IDENTIFIER: (32894..32895) "a" + CLOSE_PAREN: (32895..32896) ")" + CLOSE_PAREN: (32896..32897) ")" + ATMOSPHERE: (32897..32898) " +" + FORM: (32898..32917) + OPEN_PAREN: (32898..32899) "(" + SYMBOL: (32899..32903) + IDENTIFIER: (32899..32903) "test" + ATMOSPHERE: (32903..32904) " " + CONSTANT: (32904..32906) + BOOLEAN: (32904..32906) "#f" + ATMOSPHERE: (32906..32907) " " + FORM: (32907..32916) + OPEN_PAREN: (32907..32908) "(" + SYMBOL: (32908..32913) + IDENTIFIER: (32908..32913) "char?" + ATMOSPHERE: (32913..32914) " " + CONSTANT: (32914..32915) + NUMBER: (32914..32915) "0" + CLOSE_PAREN: (32915..32916) ")" + CLOSE_PAREN: (32916..32917) ")" + ATMOSPHERE: (32917..32919) " + +" + FORM: (32919..32949) + OPEN_PAREN: (32919..32920) "(" + SYMBOL: (32920..32924) + IDENTIFIER: (32920..32924) "test" + ATMOSPHERE: (32924..32925) " " + CONSTANT: (32925..32927) + BOOLEAN: (32925..32927) "#t" + ATMOSPHERE: (32927..32928) " " + FORM: (32928..32948) + OPEN_PAREN: (32928..32929) "(" + SYMBOL: (32929..32935) + IDENTIFIER: (32929..32935) "char=?" + ATMOSPHERE: (32935..32936) " " + CONSTANT: (32936..32939) + CHARACTER: (32936..32939) "#\a" + ATMOSPHERE: (32939..32940) " " + CONSTANT: (32940..32943) + CHARACTER: (32940..32943) "#\a" + ATMOSPHERE: (32943..32944) " " + CONSTANT: (32944..32947) + CHARACTER: (32944..32947) "#\a" + CLOSE_PAREN: (32947..32948) ")" + CLOSE_PAREN: (32948..32949) ")" + ATMOSPHERE: (32949..32950) " +" + FORM: (32950..32976) + OPEN_PAREN: (32950..32951) "(" + SYMBOL: (32951..32955) + IDENTIFIER: (32951..32955) "test" + ATMOSPHERE: (32955..32956) " " + CONSTANT: (32956..32958) + BOOLEAN: (32956..32958) "#f" + ATMOSPHERE: (32958..32959) " " + FORM: (32959..32975) + OPEN_PAREN: (32959..32960) "(" + SYMBOL: (32960..32966) + IDENTIFIER: (32960..32966) "char=?" + ATMOSPHERE: (32966..32967) " " + CONSTANT: (32967..32970) + CHARACTER: (32967..32970) "#\a" + ATMOSPHERE: (32970..32971) " " + CONSTANT: (32971..32974) + CHARACTER: (32971..32974) "#\A" + CLOSE_PAREN: (32974..32975) ")" + CLOSE_PAREN: (32975..32976) ")" + ATMOSPHERE: (32976..32977) " +" + FORM: (32977..33007) + OPEN_PAREN: (32977..32978) "(" + SYMBOL: (32978..32982) + IDENTIFIER: (32978..32982) "test" + ATMOSPHERE: (32982..32983) " " + CONSTANT: (32983..32985) + BOOLEAN: (32983..32985) "#t" + ATMOSPHERE: (32985..32986) " " + FORM: (32986..33006) + OPEN_PAREN: (32986..32987) "(" + SYMBOL: (32987..32993) + IDENTIFIER: (32987..32993) "char?" + ATMOSPHERE: (33078..33079) " " + CONSTANT: (33079..33082) + CHARACTER: (33079..33082) "#\a" + ATMOSPHERE: (33082..33083) " " + CONSTANT: (33083..33086) + CHARACTER: (33083..33086) "#\b" + CLOSE_PAREN: (33086..33087) ")" + CLOSE_PAREN: (33087..33088) ")" + ATMOSPHERE: (33088..33089) " +" + FORM: (33089..33115) + OPEN_PAREN: (33089..33090) "(" + SYMBOL: (33090..33094) + IDENTIFIER: (33090..33094) "test" + ATMOSPHERE: (33094..33095) " " + CONSTANT: (33095..33097) + BOOLEAN: (33095..33097) "#f" + ATMOSPHERE: (33097..33098) " " + FORM: (33098..33114) + OPEN_PAREN: (33098..33099) "(" + SYMBOL: (33099..33105) + IDENTIFIER: (33099..33105) "char>?" + ATMOSPHERE: (33105..33106) " " + CONSTANT: (33106..33109) + CHARACTER: (33106..33109) "#\a" + ATMOSPHERE: (33109..33110) " " + CONSTANT: (33110..33113) + CHARACTER: (33110..33113) "#\a" + CLOSE_PAREN: (33113..33114) ")" + CLOSE_PAREN: (33114..33115) ")" + ATMOSPHERE: (33115..33116) " +" + FORM: (33116..33146) + OPEN_PAREN: (33116..33117) "(" + SYMBOL: (33117..33121) + IDENTIFIER: (33117..33121) "test" + ATMOSPHERE: (33121..33122) " " + CONSTANT: (33122..33124) + BOOLEAN: (33122..33124) "#t" + ATMOSPHERE: (33124..33125) " " + FORM: (33125..33145) + OPEN_PAREN: (33125..33126) "(" + SYMBOL: (33126..33132) + IDENTIFIER: (33126..33132) "char>?" + ATMOSPHERE: (33132..33133) " " + CONSTANT: (33133..33136) + CHARACTER: (33133..33136) "#\c" + ATMOSPHERE: (33136..33137) " " + CONSTANT: (33137..33140) + CHARACTER: (33137..33140) "#\b" + ATMOSPHERE: (33140..33141) " " + CONSTANT: (33141..33144) + CHARACTER: (33141..33144) "#\a" + CLOSE_PAREN: (33144..33145) ")" + CLOSE_PAREN: (33145..33146) ")" + ATMOSPHERE: (33146..33147) " +" + FORM: (33147..33178) + OPEN_PAREN: (33147..33148) "(" + SYMBOL: (33148..33152) + IDENTIFIER: (33148..33152) "test" + ATMOSPHERE: (33152..33153) " " + CONSTANT: (33153..33155) + BOOLEAN: (33153..33155) "#t" + ATMOSPHERE: (33155..33156) " " + FORM: (33156..33177) + OPEN_PAREN: (33156..33157) "(" + SYMBOL: (33157..33164) + IDENTIFIER: (33157..33164) "char<=?" + ATMOSPHERE: (33164..33165) " " + CONSTANT: (33165..33168) + CHARACTER: (33165..33168) "#\a" + ATMOSPHERE: (33168..33169) " " + CONSTANT: (33169..33172) + CHARACTER: (33169..33172) "#\b" + ATMOSPHERE: (33172..33173) " " + CONSTANT: (33173..33176) + CHARACTER: (33173..33176) "#\b" + CLOSE_PAREN: (33176..33177) ")" + CLOSE_PAREN: (33177..33178) ")" + ATMOSPHERE: (33178..33179) " +" + FORM: (33179..33206) + OPEN_PAREN: (33179..33180) "(" + SYMBOL: (33180..33184) + IDENTIFIER: (33180..33184) "test" + ATMOSPHERE: (33184..33185) " " + CONSTANT: (33185..33187) + BOOLEAN: (33185..33187) "#t" + ATMOSPHERE: (33187..33188) " " + FORM: (33188..33205) + OPEN_PAREN: (33188..33189) "(" + SYMBOL: (33189..33196) + IDENTIFIER: (33189..33196) "char<=?" + ATMOSPHERE: (33196..33197) " " + CONSTANT: (33197..33200) + CHARACTER: (33197..33200) "#\a" + ATMOSPHERE: (33200..33201) " " + CONSTANT: (33201..33204) + CHARACTER: (33201..33204) "#\a" + CLOSE_PAREN: (33204..33205) ")" + CLOSE_PAREN: (33205..33206) ")" + ATMOSPHERE: (33206..33207) " +" + FORM: (33207..33234) + OPEN_PAREN: (33207..33208) "(" + SYMBOL: (33208..33212) + IDENTIFIER: (33208..33212) "test" + ATMOSPHERE: (33212..33213) " " + CONSTANT: (33213..33215) + BOOLEAN: (33213..33215) "#f" + ATMOSPHERE: (33215..33216) " " + FORM: (33216..33233) + OPEN_PAREN: (33216..33217) "(" + SYMBOL: (33217..33224) + IDENTIFIER: (33217..33224) "char<=?" + ATMOSPHERE: (33224..33225) " " + CONSTANT: (33225..33228) + CHARACTER: (33225..33228) "#\b" + ATMOSPHERE: (33228..33229) " " + CONSTANT: (33229..33232) + CHARACTER: (33229..33232) "#\a" + CLOSE_PAREN: (33232..33233) ")" + CLOSE_PAREN: (33233..33234) ")" + ATMOSPHERE: (33234..33235) " +" + FORM: (33235..33262) + OPEN_PAREN: (33235..33236) "(" + SYMBOL: (33236..33240) + IDENTIFIER: (33236..33240) "test" + ATMOSPHERE: (33240..33241) " " + CONSTANT: (33241..33243) + BOOLEAN: (33241..33243) "#f" + ATMOSPHERE: (33243..33244) " " + FORM: (33244..33261) + OPEN_PAREN: (33244..33245) "(" + SYMBOL: (33245..33252) + IDENTIFIER: (33245..33252) "char>=?" + ATMOSPHERE: (33252..33253) " " + CONSTANT: (33253..33256) + CHARACTER: (33253..33256) "#\a" + ATMOSPHERE: (33256..33257) " " + CONSTANT: (33257..33260) + CHARACTER: (33257..33260) "#\b" + CLOSE_PAREN: (33260..33261) ")" + CLOSE_PAREN: (33261..33262) ")" + ATMOSPHERE: (33262..33263) " +" + FORM: (33263..33290) + OPEN_PAREN: (33263..33264) "(" + SYMBOL: (33264..33268) + IDENTIFIER: (33264..33268) "test" + ATMOSPHERE: (33268..33269) " " + CONSTANT: (33269..33271) + BOOLEAN: (33269..33271) "#t" + ATMOSPHERE: (33271..33272) " " + FORM: (33272..33289) + OPEN_PAREN: (33272..33273) "(" + SYMBOL: (33273..33280) + IDENTIFIER: (33273..33280) "char>=?" + ATMOSPHERE: (33280..33281) " " + CONSTANT: (33281..33284) + CHARACTER: (33281..33284) "#\a" + ATMOSPHERE: (33284..33285) " " + CONSTANT: (33285..33288) + CHARACTER: (33285..33288) "#\a" + CLOSE_PAREN: (33288..33289) ")" + CLOSE_PAREN: (33289..33290) ")" + ATMOSPHERE: (33290..33291) " +" + FORM: (33291..33322) + OPEN_PAREN: (33291..33292) "(" + SYMBOL: (33292..33296) + IDENTIFIER: (33292..33296) "test" + ATMOSPHERE: (33296..33297) " " + CONSTANT: (33297..33299) + BOOLEAN: (33297..33299) "#t" + ATMOSPHERE: (33299..33300) " " + FORM: (33300..33321) + OPEN_PAREN: (33300..33301) "(" + SYMBOL: (33301..33308) + IDENTIFIER: (33301..33308) "char>=?" + ATMOSPHERE: (33308..33309) " " + CONSTANT: (33309..33312) + CHARACTER: (33309..33312) "#\b" + ATMOSPHERE: (33312..33313) " " + CONSTANT: (33313..33316) + CHARACTER: (33313..33316) "#\b" + ATMOSPHERE: (33316..33317) " " + CONSTANT: (33317..33320) + CHARACTER: (33317..33320) "#\a" + CLOSE_PAREN: (33320..33321) ")" + CLOSE_PAREN: (33321..33322) ")" + ATMOSPHERE: (33322..33324) " + +" + FORM: (33324..33353) + OPEN_PAREN: (33324..33325) "(" + SYMBOL: (33325..33329) + IDENTIFIER: (33325..33329) "test" + ATMOSPHERE: (33329..33330) " " + CONSTANT: (33330..33332) + BOOLEAN: (33330..33332) "#t" + ATMOSPHERE: (33332..33333) " " + FORM: (33333..33352) + OPEN_PAREN: (33333..33334) "(" + SYMBOL: (33334..33343) + IDENTIFIER: (33334..33343) "char-ci=?" + ATMOSPHERE: (33343..33344) " " + CONSTANT: (33344..33347) + CHARACTER: (33344..33347) "#\a" + ATMOSPHERE: (33347..33348) " " + CONSTANT: (33348..33351) + CHARACTER: (33348..33351) "#\a" + CLOSE_PAREN: (33351..33352) ")" + CLOSE_PAREN: (33352..33353) ")" + ATMOSPHERE: (33353..33354) " +" + FORM: (33354..33387) + OPEN_PAREN: (33354..33355) "(" + SYMBOL: (33355..33359) + IDENTIFIER: (33355..33359) "test" + ATMOSPHERE: (33359..33360) " " + CONSTANT: (33360..33362) + BOOLEAN: (33360..33362) "#t" + ATMOSPHERE: (33362..33363) " " + FORM: (33363..33386) + OPEN_PAREN: (33363..33364) "(" + SYMBOL: (33364..33373) + IDENTIFIER: (33364..33373) "char-ci=?" + ATMOSPHERE: (33373..33374) " " + CONSTANT: (33374..33377) + CHARACTER: (33374..33377) "#\a" + ATMOSPHERE: (33377..33378) " " + CONSTANT: (33378..33381) + CHARACTER: (33378..33381) "#\A" + ATMOSPHERE: (33381..33382) " " + CONSTANT: (33382..33385) + CHARACTER: (33382..33385) "#\a" + CLOSE_PAREN: (33385..33386) ")" + CLOSE_PAREN: (33386..33387) ")" + ATMOSPHERE: (33387..33388) " +" + FORM: (33388..33417) + OPEN_PAREN: (33388..33389) "(" + SYMBOL: (33389..33393) + IDENTIFIER: (33389..33393) "test" + ATMOSPHERE: (33393..33394) " " + CONSTANT: (33394..33396) + BOOLEAN: (33394..33396) "#f" + ATMOSPHERE: (33396..33397) " " + FORM: (33397..33416) + OPEN_PAREN: (33397..33398) "(" + SYMBOL: (33398..33407) + IDENTIFIER: (33398..33407) "char-ci=?" + ATMOSPHERE: (33407..33408) " " + CONSTANT: (33408..33411) + CHARACTER: (33408..33411) "#\a" + ATMOSPHERE: (33411..33412) " " + CONSTANT: (33412..33415) + CHARACTER: (33412..33415) "#\b" + CLOSE_PAREN: (33415..33416) ")" + CLOSE_PAREN: (33416..33417) ")" + ATMOSPHERE: (33417..33418) " +" + FORM: (33418..33451) + OPEN_PAREN: (33418..33419) "(" + SYMBOL: (33419..33423) + IDENTIFIER: (33419..33423) "test" + ATMOSPHERE: (33423..33424) " " + CONSTANT: (33424..33426) + BOOLEAN: (33424..33426) "#t" + ATMOSPHERE: (33426..33427) " " + FORM: (33427..33450) + OPEN_PAREN: (33427..33428) "(" + SYMBOL: (33428..33437) + IDENTIFIER: (33428..33437) "char-ci?" + ATMOSPHERE: (33531..33532) " " + CONSTANT: (33532..33535) + CHARACTER: (33532..33535) "#\A" + ATMOSPHERE: (33535..33536) " " + CONSTANT: (33536..33539) + CHARACTER: (33536..33539) "#\b" + CLOSE_PAREN: (33539..33540) ")" + CLOSE_PAREN: (33540..33541) ")" + ATMOSPHERE: (33541..33542) " +" + FORM: (33542..33571) + OPEN_PAREN: (33542..33543) "(" + SYMBOL: (33543..33547) + IDENTIFIER: (33543..33547) "test" + ATMOSPHERE: (33547..33548) " " + CONSTANT: (33548..33550) + BOOLEAN: (33548..33550) "#f" + ATMOSPHERE: (33550..33551) " " + FORM: (33551..33570) + OPEN_PAREN: (33551..33552) "(" + SYMBOL: (33552..33561) + IDENTIFIER: (33552..33561) "char-ci>?" + ATMOSPHERE: (33561..33562) " " + CONSTANT: (33562..33565) + CHARACTER: (33562..33565) "#\a" + ATMOSPHERE: (33565..33566) " " + CONSTANT: (33566..33569) + CHARACTER: (33566..33569) "#\A" + CLOSE_PAREN: (33569..33570) ")" + CLOSE_PAREN: (33570..33571) ")" + ATMOSPHERE: (33571..33572) " +" + FORM: (33572..33605) + OPEN_PAREN: (33572..33573) "(" + SYMBOL: (33573..33577) + IDENTIFIER: (33573..33577) "test" + ATMOSPHERE: (33577..33578) " " + CONSTANT: (33578..33580) + BOOLEAN: (33578..33580) "#t" + ATMOSPHERE: (33580..33581) " " + FORM: (33581..33604) + OPEN_PAREN: (33581..33582) "(" + SYMBOL: (33582..33591) + IDENTIFIER: (33582..33591) "char-ci>?" + ATMOSPHERE: (33591..33592) " " + CONSTANT: (33592..33595) + CHARACTER: (33592..33595) "#\c" + ATMOSPHERE: (33595..33596) " " + CONSTANT: (33596..33599) + CHARACTER: (33596..33599) "#\B" + ATMOSPHERE: (33599..33600) " " + CONSTANT: (33600..33603) + CHARACTER: (33600..33603) "#\a" + CLOSE_PAREN: (33603..33604) ")" + CLOSE_PAREN: (33604..33605) ")" + ATMOSPHERE: (33605..33606) " +" + FORM: (33606..33640) + OPEN_PAREN: (33606..33607) "(" + SYMBOL: (33607..33611) + IDENTIFIER: (33607..33611) "test" + ATMOSPHERE: (33611..33612) " " + CONSTANT: (33612..33614) + BOOLEAN: (33612..33614) "#t" + ATMOSPHERE: (33614..33615) " " + FORM: (33615..33639) + OPEN_PAREN: (33615..33616) "(" + SYMBOL: (33616..33626) + IDENTIFIER: (33616..33626) "char-ci<=?" + ATMOSPHERE: (33626..33627) " " + CONSTANT: (33627..33630) + CHARACTER: (33627..33630) "#\a" + ATMOSPHERE: (33630..33631) " " + CONSTANT: (33631..33634) + CHARACTER: (33631..33634) "#\B" + ATMOSPHERE: (33634..33635) " " + CONSTANT: (33635..33638) + CHARACTER: (33635..33638) "#\b" + CLOSE_PAREN: (33638..33639) ")" + CLOSE_PAREN: (33639..33640) ")" + ATMOSPHERE: (33640..33641) " +" + FORM: (33641..33671) + OPEN_PAREN: (33641..33642) "(" + SYMBOL: (33642..33646) + IDENTIFIER: (33642..33646) "test" + ATMOSPHERE: (33646..33647) " " + CONSTANT: (33647..33649) + BOOLEAN: (33647..33649) "#t" + ATMOSPHERE: (33649..33650) " " + FORM: (33650..33670) + OPEN_PAREN: (33650..33651) "(" + SYMBOL: (33651..33661) + IDENTIFIER: (33651..33661) "char-ci<=?" + ATMOSPHERE: (33661..33662) " " + CONSTANT: (33662..33665) + CHARACTER: (33662..33665) "#\A" + ATMOSPHERE: (33665..33666) " " + CONSTANT: (33666..33669) + CHARACTER: (33666..33669) "#\a" + CLOSE_PAREN: (33669..33670) ")" + CLOSE_PAREN: (33670..33671) ")" + ATMOSPHERE: (33671..33672) " +" + FORM: (33672..33702) + OPEN_PAREN: (33672..33673) "(" + SYMBOL: (33673..33677) + IDENTIFIER: (33673..33677) "test" + ATMOSPHERE: (33677..33678) " " + CONSTANT: (33678..33680) + BOOLEAN: (33678..33680) "#f" + ATMOSPHERE: (33680..33681) " " + FORM: (33681..33701) + OPEN_PAREN: (33681..33682) "(" + SYMBOL: (33682..33692) + IDENTIFIER: (33682..33692) "char-ci<=?" + ATMOSPHERE: (33692..33693) " " + CONSTANT: (33693..33696) + CHARACTER: (33693..33696) "#\b" + ATMOSPHERE: (33696..33697) " " + CONSTANT: (33697..33700) + CHARACTER: (33697..33700) "#\A" + CLOSE_PAREN: (33700..33701) ")" + CLOSE_PAREN: (33701..33702) ")" + ATMOSPHERE: (33702..33703) " +" + FORM: (33703..33733) + OPEN_PAREN: (33703..33704) "(" + SYMBOL: (33704..33708) + IDENTIFIER: (33704..33708) "test" + ATMOSPHERE: (33708..33709) " " + CONSTANT: (33709..33711) + BOOLEAN: (33709..33711) "#f" + ATMOSPHERE: (33711..33712) " " + FORM: (33712..33732) + OPEN_PAREN: (33712..33713) "(" + SYMBOL: (33713..33723) + IDENTIFIER: (33713..33723) "char-ci>=?" + ATMOSPHERE: (33723..33724) " " + CONSTANT: (33724..33727) + CHARACTER: (33724..33727) "#\A" + ATMOSPHERE: (33727..33728) " " + CONSTANT: (33728..33731) + CHARACTER: (33728..33731) "#\b" + CLOSE_PAREN: (33731..33732) ")" + CLOSE_PAREN: (33732..33733) ")" + ATMOSPHERE: (33733..33734) " +" + FORM: (33734..33764) + OPEN_PAREN: (33734..33735) "(" + SYMBOL: (33735..33739) + IDENTIFIER: (33735..33739) "test" + ATMOSPHERE: (33739..33740) " " + CONSTANT: (33740..33742) + BOOLEAN: (33740..33742) "#t" + ATMOSPHERE: (33742..33743) " " + FORM: (33743..33763) + OPEN_PAREN: (33743..33744) "(" + SYMBOL: (33744..33754) + IDENTIFIER: (33744..33754) "char-ci>=?" + ATMOSPHERE: (33754..33755) " " + CONSTANT: (33755..33758) + CHARACTER: (33755..33758) "#\a" + ATMOSPHERE: (33758..33759) " " + CONSTANT: (33759..33762) + CHARACTER: (33759..33762) "#\A" + CLOSE_PAREN: (33762..33763) ")" + CLOSE_PAREN: (33763..33764) ")" + ATMOSPHERE: (33764..33765) " +" + FORM: (33765..33799) + OPEN_PAREN: (33765..33766) "(" + SYMBOL: (33766..33770) + IDENTIFIER: (33766..33770) "test" + ATMOSPHERE: (33770..33771) " " + CONSTANT: (33771..33773) + BOOLEAN: (33771..33773) "#t" + ATMOSPHERE: (33773..33774) " " + FORM: (33774..33798) + OPEN_PAREN: (33774..33775) "(" + SYMBOL: (33775..33785) + IDENTIFIER: (33775..33785) "char-ci>=?" + ATMOSPHERE: (33785..33786) " " + CONSTANT: (33786..33789) + CHARACTER: (33786..33789) "#\b" + ATMOSPHERE: (33789..33790) " " + CONSTANT: (33790..33793) + CHARACTER: (33790..33793) "#\B" + ATMOSPHERE: (33793..33794) " " + CONSTANT: (33794..33797) + CHARACTER: (33794..33797) "#\a" + CLOSE_PAREN: (33797..33798) ")" + CLOSE_PAREN: (33798..33799) ")" + ATMOSPHERE: (33799..33801) " + +" + FORM: (33801..33833) + OPEN_PAREN: (33801..33802) "(" + SYMBOL: (33802..33806) + IDENTIFIER: (33802..33806) "test" + ATMOSPHERE: (33806..33807) " " + CONSTANT: (33807..33809) + BOOLEAN: (33807..33809) "#t" + ATMOSPHERE: (33809..33810) " " + FORM: (33810..33832) + OPEN_PAREN: (33810..33811) "(" + SYMBOL: (33811..33827) + IDENTIFIER: (33811..33827) "char-alphabetic?" + ATMOSPHERE: (33827..33828) " " + CONSTANT: (33828..33831) + CHARACTER: (33828..33831) "#\a" + CLOSE_PAREN: (33831..33832) ")" + CLOSE_PAREN: (33832..33833) ")" + ATMOSPHERE: (33833..33834) " +" + FORM: (33834..33870) + OPEN_PAREN: (33834..33835) "(" + SYMBOL: (33835..33839) + IDENTIFIER: (33835..33839) "test" + ATMOSPHERE: (33839..33840) " " + CONSTANT: (33840..33842) + BOOLEAN: (33840..33842) "#f" + ATMOSPHERE: (33842..33843) " " + FORM: (33843..33869) + OPEN_PAREN: (33843..33844) "(" + SYMBOL: (33844..33860) + IDENTIFIER: (33844..33860) "char-alphabetic?" + ATMOSPHERE: (33860..33861) " " + CONSTANT: (33861..33868) + CHARACTER: (33861..33868) "#\space" + CLOSE_PAREN: (33868..33869) ")" + CLOSE_PAREN: (33869..33870) ")" + ATMOSPHERE: (33870..33871) " +" + FORM: (33871..33900) + OPEN_PAREN: (33871..33872) "(" + SYMBOL: (33872..33876) + IDENTIFIER: (33872..33876) "test" + ATMOSPHERE: (33876..33877) " " + CONSTANT: (33877..33879) + BOOLEAN: (33877..33879) "#t" + ATMOSPHERE: (33879..33880) " " + FORM: (33880..33899) + OPEN_PAREN: (33880..33881) "(" + SYMBOL: (33881..33894) + IDENTIFIER: (33881..33894) "char-numeric?" + ATMOSPHERE: (33894..33895) " " + CONSTANT: (33895..33898) + CHARACTER: (33895..33898) "#\0" + CLOSE_PAREN: (33898..33899) ")" + CLOSE_PAREN: (33899..33900) ")" + ATMOSPHERE: (33900..33901) " +" + FORM: (33901..33930) + OPEN_PAREN: (33901..33902) "(" + SYMBOL: (33902..33906) + IDENTIFIER: (33902..33906) "test" + ATMOSPHERE: (33906..33907) " " + CONSTANT: (33907..33909) + BOOLEAN: (33907..33909) "#f" + ATMOSPHERE: (33909..33910) " " + FORM: (33910..33929) + OPEN_PAREN: (33910..33911) "(" + SYMBOL: (33911..33924) + IDENTIFIER: (33911..33924) "char-numeric?" + ATMOSPHERE: (33924..33925) " " + CONSTANT: (33925..33928) + CHARACTER: (33925..33928) "#\." + CLOSE_PAREN: (33928..33929) ")" + CLOSE_PAREN: (33929..33930) ")" + ATMOSPHERE: (33930..33931) " +" + FORM: (33931..33960) + OPEN_PAREN: (33931..33932) "(" + SYMBOL: (33932..33936) + IDENTIFIER: (33932..33936) "test" + ATMOSPHERE: (33936..33937) " " + CONSTANT: (33937..33939) + BOOLEAN: (33937..33939) "#f" + ATMOSPHERE: (33939..33940) " " + FORM: (33940..33959) + OPEN_PAREN: (33940..33941) "(" + SYMBOL: (33941..33954) + IDENTIFIER: (33941..33954) "char-numeric?" + ATMOSPHERE: (33954..33955) " " + CONSTANT: (33955..33958) + CHARACTER: (33955..33958) "#\a" + CLOSE_PAREN: (33958..33959) ")" + CLOSE_PAREN: (33959..33960) ")" + ATMOSPHERE: (33960..33961) " +" + FORM: (33961..33997) + OPEN_PAREN: (33961..33962) "(" + SYMBOL: (33962..33966) + IDENTIFIER: (33962..33966) "test" + ATMOSPHERE: (33966..33967) " " + CONSTANT: (33967..33969) + BOOLEAN: (33967..33969) "#t" + ATMOSPHERE: (33969..33970) " " + FORM: (33970..33996) + OPEN_PAREN: (33970..33971) "(" + SYMBOL: (33971..33987) + IDENTIFIER: (33971..33987) "char-whitespace?" + ATMOSPHERE: (33987..33988) " " + CONSTANT: (33988..33995) + CHARACTER: (33988..33995) "#\space" + CLOSE_PAREN: (33995..33996) ")" + CLOSE_PAREN: (33996..33997) ")" + ATMOSPHERE: (33997..33998) " +" + FORM: (33998..34032) + OPEN_PAREN: (33998..33999) "(" + SYMBOL: (33999..34003) + IDENTIFIER: (33999..34003) "test" + ATMOSPHERE: (34003..34004) " " + CONSTANT: (34004..34006) + BOOLEAN: (34004..34006) "#t" + ATMOSPHERE: (34006..34007) " " + FORM: (34007..34031) + OPEN_PAREN: (34007..34008) "(" + SYMBOL: (34008..34024) + IDENTIFIER: (34008..34024) "char-whitespace?" + ATMOSPHERE: (34024..34025) " " + CONSTANT: (34025..34030) + CHARACTER: (34025..34030) "#\tab" + CLOSE_PAREN: (34030..34031) ")" + CLOSE_PAREN: (34031..34032) ")" + ATMOSPHERE: (34032..34033) " +" + FORM: (34033..34071) + OPEN_PAREN: (34033..34034) "(" + SYMBOL: (34034..34038) + IDENTIFIER: (34034..34038) "test" + ATMOSPHERE: (34038..34039) " " + CONSTANT: (34039..34041) + BOOLEAN: (34039..34041) "#t" + ATMOSPHERE: (34041..34042) " " + FORM: (34042..34070) + OPEN_PAREN: (34042..34043) "(" + SYMBOL: (34043..34059) + IDENTIFIER: (34043..34059) "char-whitespace?" + ATMOSPHERE: (34059..34060) " " + CONSTANT: (34060..34069) + CHARACTER: (34060..34069) "#\newline" + CLOSE_PAREN: (34069..34070) ")" + CLOSE_PAREN: (34070..34071) ")" + ATMOSPHERE: (34071..34072) " +" + FORM: (34072..34104) + OPEN_PAREN: (34072..34073) "(" + SYMBOL: (34073..34077) + IDENTIFIER: (34073..34077) "test" + ATMOSPHERE: (34077..34078) " " + CONSTANT: (34078..34080) + BOOLEAN: (34078..34080) "#f" + ATMOSPHERE: (34080..34081) " " + FORM: (34081..34103) + OPEN_PAREN: (34081..34082) "(" + SYMBOL: (34082..34098) + IDENTIFIER: (34082..34098) "char-whitespace?" + ATMOSPHERE: (34098..34099) " " + CONSTANT: (34099..34102) + CHARACTER: (34099..34102) "#\_" + CLOSE_PAREN: (34102..34103) ")" + CLOSE_PAREN: (34103..34104) ")" + ATMOSPHERE: (34104..34105) " +" + FORM: (34105..34137) + OPEN_PAREN: (34105..34106) "(" + SYMBOL: (34106..34110) + IDENTIFIER: (34106..34110) "test" + ATMOSPHERE: (34110..34111) " " + CONSTANT: (34111..34113) + BOOLEAN: (34111..34113) "#f" + ATMOSPHERE: (34113..34114) " " + FORM: (34114..34136) + OPEN_PAREN: (34114..34115) "(" + SYMBOL: (34115..34131) + IDENTIFIER: (34115..34131) "char-whitespace?" + ATMOSPHERE: (34131..34132) " " + CONSTANT: (34132..34135) + CHARACTER: (34132..34135) "#\a" + CLOSE_PAREN: (34135..34136) ")" + CLOSE_PAREN: (34136..34137) ")" + ATMOSPHERE: (34137..34138) " +" + FORM: (34138..34170) + OPEN_PAREN: (34138..34139) "(" + SYMBOL: (34139..34143) + IDENTIFIER: (34139..34143) "test" + ATMOSPHERE: (34143..34144) " " + CONSTANT: (34144..34146) + BOOLEAN: (34144..34146) "#t" + ATMOSPHERE: (34146..34147) " " + FORM: (34147..34169) + OPEN_PAREN: (34147..34148) "(" + SYMBOL: (34148..34164) + IDENTIFIER: (34148..34164) "char-upper-case?" + ATMOSPHERE: (34164..34165) " " + CONSTANT: (34165..34168) + CHARACTER: (34165..34168) "#\A" + CLOSE_PAREN: (34168..34169) ")" + CLOSE_PAREN: (34169..34170) ")" + ATMOSPHERE: (34170..34171) " +" + FORM: (34171..34203) + OPEN_PAREN: (34171..34172) "(" + SYMBOL: (34172..34176) + IDENTIFIER: (34172..34176) "test" + ATMOSPHERE: (34176..34177) " " + CONSTANT: (34177..34179) + BOOLEAN: (34177..34179) "#f" + ATMOSPHERE: (34179..34180) " " + FORM: (34180..34202) + OPEN_PAREN: (34180..34181) "(" + SYMBOL: (34181..34197) + IDENTIFIER: (34181..34197) "char-upper-case?" + ATMOSPHERE: (34197..34198) " " + CONSTANT: (34198..34201) + CHARACTER: (34198..34201) "#\a" + CLOSE_PAREN: (34201..34202) ")" + CLOSE_PAREN: (34202..34203) ")" + ATMOSPHERE: (34203..34204) " +" + FORM: (34204..34236) + OPEN_PAREN: (34204..34205) "(" + SYMBOL: (34205..34209) + IDENTIFIER: (34205..34209) "test" + ATMOSPHERE: (34209..34210) " " + CONSTANT: (34210..34212) + BOOLEAN: (34210..34212) "#f" + ATMOSPHERE: (34212..34213) " " + FORM: (34213..34235) + OPEN_PAREN: (34213..34214) "(" + SYMBOL: (34214..34230) + IDENTIFIER: (34214..34230) "char-upper-case?" + ATMOSPHERE: (34230..34231) " " + CONSTANT: (34231..34234) + CHARACTER: (34231..34234) "#\3" + CLOSE_PAREN: (34234..34235) ")" + CLOSE_PAREN: (34235..34236) ")" + ATMOSPHERE: (34236..34237) " +" + FORM: (34237..34269) + OPEN_PAREN: (34237..34238) "(" + SYMBOL: (34238..34242) + IDENTIFIER: (34238..34242) "test" + ATMOSPHERE: (34242..34243) " " + CONSTANT: (34243..34245) + BOOLEAN: (34243..34245) "#t" + ATMOSPHERE: (34245..34246) " " + FORM: (34246..34268) + OPEN_PAREN: (34246..34247) "(" + SYMBOL: (34247..34263) + IDENTIFIER: (34247..34263) "char-lower-case?" + ATMOSPHERE: (34263..34264) " " + CONSTANT: (34264..34267) + CHARACTER: (34264..34267) "#\a" + CLOSE_PAREN: (34267..34268) ")" + CLOSE_PAREN: (34268..34269) ")" + ATMOSPHERE: (34269..34270) " +" + FORM: (34270..34302) + OPEN_PAREN: (34270..34271) "(" + SYMBOL: (34271..34275) + IDENTIFIER: (34271..34275) "test" + ATMOSPHERE: (34275..34276) " " + CONSTANT: (34276..34278) + BOOLEAN: (34276..34278) "#f" + ATMOSPHERE: (34278..34279) " " + FORM: (34279..34301) + OPEN_PAREN: (34279..34280) "(" + SYMBOL: (34280..34296) + IDENTIFIER: (34280..34296) "char-lower-case?" + ATMOSPHERE: (34296..34297) " " + CONSTANT: (34297..34300) + CHARACTER: (34297..34300) "#\A" + CLOSE_PAREN: (34300..34301) ")" + CLOSE_PAREN: (34301..34302) ")" + ATMOSPHERE: (34302..34303) " +" + FORM: (34303..34335) + OPEN_PAREN: (34303..34304) "(" + SYMBOL: (34304..34308) + IDENTIFIER: (34304..34308) "test" + ATMOSPHERE: (34308..34309) " " + CONSTANT: (34309..34311) + BOOLEAN: (34309..34311) "#f" + ATMOSPHERE: (34311..34312) " " + FORM: (34312..34334) + OPEN_PAREN: (34312..34313) "(" + SYMBOL: (34313..34329) + IDENTIFIER: (34313..34329) "char-lower-case?" + ATMOSPHERE: (34329..34330) " " + CONSTANT: (34330..34333) + CHARACTER: (34330..34333) "#\3" + CLOSE_PAREN: (34333..34334) ")" + CLOSE_PAREN: (34334..34335) ")" + ATMOSPHERE: (34335..34337) " + +" + FORM: (34337..34369) + OPEN_PAREN: (34337..34338) "(" + SYMBOL: (34338..34342) + IDENTIFIER: (34338..34342) "test" + ATMOSPHERE: (34342..34343) " " + CONSTANT: (34343..34345) + BOOLEAN: (34343..34345) "#t" + ATMOSPHERE: (34345..34346) " " + FORM: (34346..34368) + OPEN_PAREN: (34346..34347) "(" + SYMBOL: (34347..34363) + IDENTIFIER: (34347..34363) "char-alphabetic?" + ATMOSPHERE: (34363..34364) " " + CONSTANT: (34364..34367) + CHARACTER: (34364..34367) "#\Λ" + CLOSE_PAREN: (34367..34368) ")" + CLOSE_PAREN: (34368..34369) ")" + ATMOSPHERE: (34369..34370) " +" + FORM: (34370..34406) + OPEN_PAREN: (34370..34371) "(" + SYMBOL: (34371..34375) + IDENTIFIER: (34371..34375) "test" + ATMOSPHERE: (34375..34376) " " + CONSTANT: (34376..34378) + BOOLEAN: (34376..34378) "#f" + ATMOSPHERE: (34378..34379) " " + FORM: (34379..34405) + OPEN_PAREN: (34379..34380) "(" + SYMBOL: (34380..34396) + IDENTIFIER: (34380..34396) "char-alphabetic?" + ATMOSPHERE: (34396..34397) " " + CONSTANT: (34397..34404) + CHARACTER: (34397..34404) "#\x0E50" + CLOSE_PAREN: (34404..34405) ")" + CLOSE_PAREN: (34405..34406) ")" + ATMOSPHERE: (34406..34407) " +" + FORM: (34407..34439) + OPEN_PAREN: (34407..34408) "(" + SYMBOL: (34408..34412) + IDENTIFIER: (34408..34412) "test" + ATMOSPHERE: (34412..34413) " " + CONSTANT: (34413..34415) + BOOLEAN: (34413..34415) "#t" + ATMOSPHERE: (34415..34416) " " + FORM: (34416..34438) + OPEN_PAREN: (34416..34417) "(" + SYMBOL: (34417..34433) + IDENTIFIER: (34417..34433) "char-upper-case?" + ATMOSPHERE: (34433..34434) " " + CONSTANT: (34434..34437) + CHARACTER: (34434..34437) "#\Λ" + CLOSE_PAREN: (34437..34438) ")" + CLOSE_PAREN: (34438..34439) ")" + ATMOSPHERE: (34439..34440) " +" + FORM: (34440..34472) + OPEN_PAREN: (34440..34441) "(" + SYMBOL: (34441..34445) + IDENTIFIER: (34441..34445) "test" + ATMOSPHERE: (34445..34446) " " + CONSTANT: (34446..34448) + BOOLEAN: (34446..34448) "#f" + ATMOSPHERE: (34448..34449) " " + FORM: (34449..34471) + OPEN_PAREN: (34449..34450) "(" + SYMBOL: (34450..34466) + IDENTIFIER: (34450..34466) "char-upper-case?" + ATMOSPHERE: (34466..34467) " " + CONSTANT: (34467..34470) + CHARACTER: (34467..34470) "#\λ" + CLOSE_PAREN: (34470..34471) ")" + CLOSE_PAREN: (34471..34472) ")" + ATMOSPHERE: (34472..34473) " +" + FORM: (34473..34505) + OPEN_PAREN: (34473..34474) "(" + SYMBOL: (34474..34478) + IDENTIFIER: (34474..34478) "test" + ATMOSPHERE: (34478..34479) " " + CONSTANT: (34479..34481) + BOOLEAN: (34479..34481) "#f" + ATMOSPHERE: (34481..34482) " " + FORM: (34482..34504) + OPEN_PAREN: (34482..34483) "(" + SYMBOL: (34483..34499) + IDENTIFIER: (34483..34499) "char-lower-case?" + ATMOSPHERE: (34499..34500) " " + CONSTANT: (34500..34503) + CHARACTER: (34500..34503) "#\Λ" + CLOSE_PAREN: (34503..34504) ")" + CLOSE_PAREN: (34504..34505) ")" + ATMOSPHERE: (34505..34506) " +" + FORM: (34506..34538) + OPEN_PAREN: (34506..34507) "(" + SYMBOL: (34507..34511) + IDENTIFIER: (34507..34511) "test" + ATMOSPHERE: (34511..34512) " " + CONSTANT: (34512..34514) + BOOLEAN: (34512..34514) "#t" + ATMOSPHERE: (34514..34515) " " + FORM: (34515..34537) + OPEN_PAREN: (34515..34516) "(" + SYMBOL: (34516..34532) + IDENTIFIER: (34516..34532) "char-lower-case?" + ATMOSPHERE: (34532..34533) " " + CONSTANT: (34533..34536) + CHARACTER: (34533..34536) "#\λ" + CLOSE_PAREN: (34536..34537) ")" + CLOSE_PAREN: (34537..34538) ")" + ATMOSPHERE: (34538..34539) " +" + FORM: (34539..34568) + OPEN_PAREN: (34539..34540) "(" + SYMBOL: (34540..34544) + IDENTIFIER: (34540..34544) "test" + ATMOSPHERE: (34544..34545) " " + CONSTANT: (34545..34547) + BOOLEAN: (34545..34547) "#f" + ATMOSPHERE: (34547..34548) " " + FORM: (34548..34567) + OPEN_PAREN: (34548..34549) "(" + SYMBOL: (34549..34562) + IDENTIFIER: (34549..34562) "char-numeric?" + ATMOSPHERE: (34562..34563) " " + CONSTANT: (34563..34566) + CHARACTER: (34563..34566) "#\Λ" + CLOSE_PAREN: (34566..34567) ")" + CLOSE_PAREN: (34567..34568) ")" + ATMOSPHERE: (34568..34569) " +" + FORM: (34569..34602) + OPEN_PAREN: (34569..34570) "(" + SYMBOL: (34570..34574) + IDENTIFIER: (34570..34574) "test" + ATMOSPHERE: (34574..34575) " " + CONSTANT: (34575..34577) + BOOLEAN: (34575..34577) "#t" + ATMOSPHERE: (34577..34578) " " + FORM: (34578..34601) + OPEN_PAREN: (34578..34579) "(" + SYMBOL: (34579..34592) + IDENTIFIER: (34579..34592) "char-numeric?" + ATMOSPHERE: (34592..34593) " " + CONSTANT: (34593..34600) + CHARACTER: (34593..34600) "#\x0E50" + CLOSE_PAREN: (34600..34601) ")" + CLOSE_PAREN: (34601..34602) ")" + ATMOSPHERE: (34602..34603) " +" + FORM: (34603..34639) + OPEN_PAREN: (34603..34604) "(" + SYMBOL: (34604..34608) + IDENTIFIER: (34604..34608) "test" + ATMOSPHERE: (34608..34609) " " + CONSTANT: (34609..34611) + BOOLEAN: (34609..34611) "#t" + ATMOSPHERE: (34611..34612) " " + FORM: (34612..34638) + OPEN_PAREN: (34612..34613) "(" + SYMBOL: (34613..34629) + IDENTIFIER: (34613..34629) "char-whitespace?" + ATMOSPHERE: (34629..34630) " " + CONSTANT: (34630..34637) + CHARACTER: (34630..34637) "#\x1680" + CLOSE_PAREN: (34637..34638) ")" + CLOSE_PAREN: (34638..34639) ")" + ATMOSPHERE: (34639..34641) " + +" + FORM: (34641..34667) + OPEN_PAREN: (34641..34642) "(" + SYMBOL: (34642..34646) + IDENTIFIER: (34642..34646) "test" + ATMOSPHERE: (34646..34647) " " + CONSTANT: (34647..34648) + NUMBER: (34647..34648) "0" + ATMOSPHERE: (34648..34649) " " + FORM: (34649..34666) + OPEN_PAREN: (34649..34650) "(" + SYMBOL: (34650..34661) + IDENTIFIER: (34650..34661) "digit-value" + ATMOSPHERE: (34661..34662) " " + CONSTANT: (34662..34665) + CHARACTER: (34662..34665) "#\0" + CLOSE_PAREN: (34665..34666) ")" + CLOSE_PAREN: (34666..34667) ")" + ATMOSPHERE: (34667..34668) " +" + FORM: (34668..34694) + OPEN_PAREN: (34668..34669) "(" + SYMBOL: (34669..34673) + IDENTIFIER: (34669..34673) "test" + ATMOSPHERE: (34673..34674) " " + CONSTANT: (34674..34675) + NUMBER: (34674..34675) "3" + ATMOSPHERE: (34675..34676) " " + FORM: (34676..34693) + OPEN_PAREN: (34676..34677) "(" + SYMBOL: (34677..34688) + IDENTIFIER: (34677..34688) "digit-value" + ATMOSPHERE: (34688..34689) " " + CONSTANT: (34689..34692) + CHARACTER: (34689..34692) "#\3" + CLOSE_PAREN: (34692..34693) ")" + CLOSE_PAREN: (34693..34694) ")" + ATMOSPHERE: (34694..34695) " +" + FORM: (34695..34721) + OPEN_PAREN: (34695..34696) "(" + SYMBOL: (34696..34700) + IDENTIFIER: (34696..34700) "test" + ATMOSPHERE: (34700..34701) " " + CONSTANT: (34701..34702) + NUMBER: (34701..34702) "9" + ATMOSPHERE: (34702..34703) " " + FORM: (34703..34720) + OPEN_PAREN: (34703..34704) "(" + SYMBOL: (34704..34715) + IDENTIFIER: (34704..34715) "digit-value" + ATMOSPHERE: (34715..34716) " " + CONSTANT: (34716..34719) + CHARACTER: (34716..34719) "#\9" + CLOSE_PAREN: (34719..34720) ")" + CLOSE_PAREN: (34720..34721) ")" + ATMOSPHERE: (34721..34722) " +" + FORM: (34722..34752) + OPEN_PAREN: (34722..34723) "(" + SYMBOL: (34723..34727) + IDENTIFIER: (34723..34727) "test" + ATMOSPHERE: (34727..34728) " " + CONSTANT: (34728..34729) + NUMBER: (34728..34729) "4" + ATMOSPHERE: (34729..34730) " " + FORM: (34730..34751) + OPEN_PAREN: (34730..34731) "(" + SYMBOL: (34731..34742) + IDENTIFIER: (34731..34742) "digit-value" + ATMOSPHERE: (34742..34743) " " + CONSTANT: (34743..34750) + CHARACTER: (34743..34750) "#\x0664" + CLOSE_PAREN: (34750..34751) ")" + CLOSE_PAREN: (34751..34752) ")" + ATMOSPHERE: (34752..34753) " +" + FORM: (34753..34783) + OPEN_PAREN: (34753..34754) "(" + SYMBOL: (34754..34758) + IDENTIFIER: (34754..34758) "test" + ATMOSPHERE: (34758..34759) " " + CONSTANT: (34759..34760) + NUMBER: (34759..34760) "0" + ATMOSPHERE: (34760..34761) " " + FORM: (34761..34782) + OPEN_PAREN: (34761..34762) "(" + SYMBOL: (34762..34773) + IDENTIFIER: (34762..34773) "digit-value" + ATMOSPHERE: (34773..34774) " " + CONSTANT: (34774..34781) + CHARACTER: (34774..34781) "#\x0AE6" + CLOSE_PAREN: (34781..34782) ")" + CLOSE_PAREN: (34782..34783) ")" + ATMOSPHERE: (34783..34784) " +" + FORM: (34784..34811) + OPEN_PAREN: (34784..34785) "(" + SYMBOL: (34785..34789) + IDENTIFIER: (34785..34789) "test" + ATMOSPHERE: (34789..34790) " " + CONSTANT: (34790..34792) + BOOLEAN: (34790..34792) "#f" + ATMOSPHERE: (34792..34793) " " + FORM: (34793..34810) + OPEN_PAREN: (34793..34794) "(" + SYMBOL: (34794..34805) + IDENTIFIER: (34794..34805) "digit-value" + ATMOSPHERE: (34805..34806) " " + CONSTANT: (34806..34809) + CHARACTER: (34806..34809) "#\." + CLOSE_PAREN: (34809..34810) ")" + CLOSE_PAREN: (34810..34811) ")" + ATMOSPHERE: (34811..34812) " +" + FORM: (34812..34839) + OPEN_PAREN: (34812..34813) "(" + SYMBOL: (34813..34817) + IDENTIFIER: (34813..34817) "test" + ATMOSPHERE: (34817..34818) " " + CONSTANT: (34818..34820) + BOOLEAN: (34818..34820) "#f" + ATMOSPHERE: (34820..34821) " " + FORM: (34821..34838) + OPEN_PAREN: (34821..34822) "(" + SYMBOL: (34822..34833) + IDENTIFIER: (34822..34833) "digit-value" + ATMOSPHERE: (34833..34834) " " + CONSTANT: (34834..34837) + CHARACTER: (34834..34837) "#\-" + CLOSE_PAREN: (34837..34838) ")" + CLOSE_PAREN: (34838..34839) ")" + ATMOSPHERE: (34839..34841) " + +" + FORM: (34841..34870) + OPEN_PAREN: (34841..34842) "(" + SYMBOL: (34842..34846) + IDENTIFIER: (34842..34846) "test" + ATMOSPHERE: (34846..34847) " " + CONSTANT: (34847..34849) + NUMBER: (34847..34849) "97" + ATMOSPHERE: (34849..34850) " " + FORM: (34850..34869) + OPEN_PAREN: (34850..34851) "(" + SYMBOL: (34851..34864) + IDENTIFIER: (34851..34864) "char->integer" + ATMOSPHERE: (34864..34865) " " + CONSTANT: (34865..34868) + CHARACTER: (34865..34868) "#\a" + CLOSE_PAREN: (34868..34869) ")" + CLOSE_PAREN: (34869..34870) ")" + ATMOSPHERE: (34870..34871) " +" + FORM: (34871..34900) + OPEN_PAREN: (34871..34872) "(" + SYMBOL: (34872..34876) + IDENTIFIER: (34872..34876) "test" + ATMOSPHERE: (34876..34877) " " + CONSTANT: (34877..34880) + CHARACTER: (34877..34880) "#\a" + ATMOSPHERE: (34880..34881) " " + FORM: (34881..34899) + OPEN_PAREN: (34881..34882) "(" + SYMBOL: (34882..34895) + IDENTIFIER: (34882..34895) "integer->char" + ATMOSPHERE: (34895..34896) " " + CONSTANT: (34896..34898) + NUMBER: (34896..34898) "97" + CLOSE_PAREN: (34898..34899) ")" + CLOSE_PAREN: (34899..34900) ")" + ATMOSPHERE: (34900..34902) " + +" + FORM: (34902..34930) + OPEN_PAREN: (34902..34903) "(" + SYMBOL: (34903..34907) + IDENTIFIER: (34903..34907) "test" + ATMOSPHERE: (34907..34908) " " + CONSTANT: (34908..34911) + CHARACTER: (34908..34911) "#\A" + ATMOSPHERE: (34911..34912) " " + FORM: (34912..34929) + OPEN_PAREN: (34912..34913) "(" + SYMBOL: (34913..34924) + IDENTIFIER: (34913..34924) "char-upcase" + ATMOSPHERE: (34924..34925) " " + CONSTANT: (34925..34928) + CHARACTER: (34925..34928) "#\a" + CLOSE_PAREN: (34928..34929) ")" + CLOSE_PAREN: (34929..34930) ")" + ATMOSPHERE: (34930..34931) " +" + FORM: (34931..34959) + OPEN_PAREN: (34931..34932) "(" + SYMBOL: (34932..34936) + IDENTIFIER: (34932..34936) "test" + ATMOSPHERE: (34936..34937) " " + CONSTANT: (34937..34940) + CHARACTER: (34937..34940) "#\A" + ATMOSPHERE: (34940..34941) " " + FORM: (34941..34958) + OPEN_PAREN: (34941..34942) "(" + SYMBOL: (34942..34953) + IDENTIFIER: (34942..34953) "char-upcase" + ATMOSPHERE: (34953..34954) " " + CONSTANT: (34954..34957) + CHARACTER: (34954..34957) "#\A" + CLOSE_PAREN: (34957..34958) ")" + CLOSE_PAREN: (34958..34959) ")" + ATMOSPHERE: (34959..34960) " +" + FORM: (34960..34990) + OPEN_PAREN: (34960..34961) "(" + SYMBOL: (34961..34965) + IDENTIFIER: (34961..34965) "test" + ATMOSPHERE: (34965..34966) " " + CONSTANT: (34966..34969) + CHARACTER: (34966..34969) "#\a" + ATMOSPHERE: (34969..34970) " " + FORM: (34970..34989) + OPEN_PAREN: (34970..34971) "(" + SYMBOL: (34971..34984) + IDENTIFIER: (34971..34984) "char-downcase" + ATMOSPHERE: (34984..34985) " " + CONSTANT: (34985..34988) + CHARACTER: (34985..34988) "#\a" + CLOSE_PAREN: (34988..34989) ")" + CLOSE_PAREN: (34989..34990) ")" + ATMOSPHERE: (34990..34991) " +" + FORM: (34991..35021) + OPEN_PAREN: (34991..34992) "(" + SYMBOL: (34992..34996) + IDENTIFIER: (34992..34996) "test" + ATMOSPHERE: (34996..34997) " " + CONSTANT: (34997..35000) + CHARACTER: (34997..35000) "#\a" + ATMOSPHERE: (35000..35001) " " + FORM: (35001..35020) + OPEN_PAREN: (35001..35002) "(" + SYMBOL: (35002..35015) + IDENTIFIER: (35002..35015) "char-downcase" + ATMOSPHERE: (35015..35016) " " + CONSTANT: (35016..35019) + CHARACTER: (35016..35019) "#\A" + CLOSE_PAREN: (35019..35020) ")" + CLOSE_PAREN: (35020..35021) ")" + ATMOSPHERE: (35021..35022) " +" + FORM: (35022..35052) + OPEN_PAREN: (35022..35023) "(" + SYMBOL: (35023..35027) + IDENTIFIER: (35023..35027) "test" + ATMOSPHERE: (35027..35028) " " + CONSTANT: (35028..35031) + CHARACTER: (35028..35031) "#\a" + ATMOSPHERE: (35031..35032) " " + FORM: (35032..35051) + OPEN_PAREN: (35032..35033) "(" + SYMBOL: (35033..35046) + IDENTIFIER: (35033..35046) "char-foldcase" + ATMOSPHERE: (35046..35047) " " + CONSTANT: (35047..35050) + CHARACTER: (35047..35050) "#\a" + CLOSE_PAREN: (35050..35051) ")" + CLOSE_PAREN: (35051..35052) ")" + ATMOSPHERE: (35052..35053) " +" + FORM: (35053..35083) + OPEN_PAREN: (35053..35054) "(" + SYMBOL: (35054..35058) + IDENTIFIER: (35054..35058) "test" + ATMOSPHERE: (35058..35059) " " + CONSTANT: (35059..35062) + CHARACTER: (35059..35062) "#\a" + ATMOSPHERE: (35062..35063) " " + FORM: (35063..35082) + OPEN_PAREN: (35063..35064) "(" + SYMBOL: (35064..35077) + IDENTIFIER: (35064..35077) "char-foldcase" + ATMOSPHERE: (35077..35078) " " + CONSTANT: (35078..35081) + CHARACTER: (35078..35081) "#\A" + CLOSE_PAREN: (35081..35082) ")" + CLOSE_PAREN: (35082..35083) ")" + ATMOSPHERE: (35083..35085) " + +" + FORM: (35085..35113) + OPEN_PAREN: (35085..35086) "(" + SYMBOL: (35086..35090) + IDENTIFIER: (35086..35090) "test" + ATMOSPHERE: (35090..35091) " " + CONSTANT: (35091..35094) + CHARACTER: (35091..35094) "#\Λ" + ATMOSPHERE: (35094..35095) " " + FORM: (35095..35112) + OPEN_PAREN: (35095..35096) "(" + SYMBOL: (35096..35107) + IDENTIFIER: (35096..35107) "char-upcase" + ATMOSPHERE: (35107..35108) " " + CONSTANT: (35108..35111) + CHARACTER: (35108..35111) "#\λ" + CLOSE_PAREN: (35111..35112) ")" + CLOSE_PAREN: (35112..35113) ")" + ATMOSPHERE: (35113..35114) " +" + FORM: (35114..35142) + OPEN_PAREN: (35114..35115) "(" + SYMBOL: (35115..35119) + IDENTIFIER: (35115..35119) "test" + ATMOSPHERE: (35119..35120) " " + CONSTANT: (35120..35123) + CHARACTER: (35120..35123) "#\Λ" + ATMOSPHERE: (35123..35124) " " + FORM: (35124..35141) + OPEN_PAREN: (35124..35125) "(" + SYMBOL: (35125..35136) + IDENTIFIER: (35125..35136) "char-upcase" + ATMOSPHERE: (35136..35137) " " + CONSTANT: (35137..35140) + CHARACTER: (35137..35140) "#\Λ" + CLOSE_PAREN: (35140..35141) ")" + CLOSE_PAREN: (35141..35142) ")" + ATMOSPHERE: (35142..35143) " +" + FORM: (35143..35173) + OPEN_PAREN: (35143..35144) "(" + SYMBOL: (35144..35148) + IDENTIFIER: (35144..35148) "test" + ATMOSPHERE: (35148..35149) " " + CONSTANT: (35149..35152) + CHARACTER: (35149..35152) "#\λ" + ATMOSPHERE: (35152..35153) " " + FORM: (35153..35172) + OPEN_PAREN: (35153..35154) "(" + SYMBOL: (35154..35167) + IDENTIFIER: (35154..35167) "char-downcase" + ATMOSPHERE: (35167..35168) " " + CONSTANT: (35168..35171) + CHARACTER: (35168..35171) "#\λ" + CLOSE_PAREN: (35171..35172) ")" + CLOSE_PAREN: (35172..35173) ")" + ATMOSPHERE: (35173..35174) " +" + FORM: (35174..35204) + OPEN_PAREN: (35174..35175) "(" + SYMBOL: (35175..35179) + IDENTIFIER: (35175..35179) "test" + ATMOSPHERE: (35179..35180) " " + CONSTANT: (35180..35183) + CHARACTER: (35180..35183) "#\λ" + ATMOSPHERE: (35183..35184) " " + FORM: (35184..35203) + OPEN_PAREN: (35184..35185) "(" + SYMBOL: (35185..35198) + IDENTIFIER: (35185..35198) "char-downcase" + ATMOSPHERE: (35198..35199) " " + CONSTANT: (35199..35202) + CHARACTER: (35199..35202) "#\Λ" + CLOSE_PAREN: (35202..35203) ")" + CLOSE_PAREN: (35203..35204) ")" + ATMOSPHERE: (35204..35205) " +" + FORM: (35205..35235) + OPEN_PAREN: (35205..35206) "(" + SYMBOL: (35206..35210) + IDENTIFIER: (35206..35210) "test" + ATMOSPHERE: (35210..35211) " " + CONSTANT: (35211..35214) + CHARACTER: (35211..35214) "#\λ" + ATMOSPHERE: (35214..35215) " " + FORM: (35215..35234) + OPEN_PAREN: (35215..35216) "(" + SYMBOL: (35216..35229) + IDENTIFIER: (35216..35229) "char-foldcase" + ATMOSPHERE: (35229..35230) " " + CONSTANT: (35230..35233) + CHARACTER: (35230..35233) "#\λ" + CLOSE_PAREN: (35233..35234) ")" + CLOSE_PAREN: (35234..35235) ")" + ATMOSPHERE: (35235..35236) " +" + FORM: (35236..35266) + OPEN_PAREN: (35236..35237) "(" + SYMBOL: (35237..35241) + IDENTIFIER: (35237..35241) "test" + ATMOSPHERE: (35241..35242) " " + CONSTANT: (35242..35245) + CHARACTER: (35242..35245) "#\λ" + ATMOSPHERE: (35245..35246) " " + FORM: (35246..35265) + OPEN_PAREN: (35246..35247) "(" + SYMBOL: (35247..35260) + IDENTIFIER: (35247..35260) "char-foldcase" + ATMOSPHERE: (35260..35261) " " + CONSTANT: (35261..35264) + CHARACTER: (35261..35264) "#\Λ" + CLOSE_PAREN: (35264..35265) ")" + CLOSE_PAREN: (35265..35266) ")" + ATMOSPHERE: (35266..35268) " + +" + FORM: (35268..35278) + OPEN_PAREN: (35268..35269) "(" + SYMBOL: (35269..35277) + IDENTIFIER: (35269..35277) "test-end" + CLOSE_PAREN: (35277..35278) ")" + ATMOSPHERE: (35278..35280) " + +" + FORM: (35280..35306) + OPEN_PAREN: (35280..35281) "(" + SYMBOL: (35281..35291) + IDENTIFIER: (35281..35291) "test-begin" + ATMOSPHERE: (35291..35292) " " + CONSTANT: (35292..35305) + STRING: (35292..35305) ""6.7 Strings"" + CLOSE_PAREN: (35305..35306) ")" + ATMOSPHERE: (35306..35308) " + +" + ATMOSPHERE: (35308..35333) ";; (test #t (string? ""))" + ATMOSPHERE: (35333..35334) " +" + ATMOSPHERE: (35334..35360) ";; (test #t (string? " "))" + ATMOSPHERE: (35360..35361) " +" + ATMOSPHERE: (35361..35386) ";; (test #f (string? 'a))" + ATMOSPHERE: (35386..35387) " +" + ATMOSPHERE: (35387..35413) ";; (test #f (string? #\a))" + ATMOSPHERE: (35413..35415) " + +" + ATMOSPHERE: (35415..35458) ";; (test 3 (string-length (make-string 3)))" + ATMOSPHERE: (35458..35459) " +" + ATMOSPHERE: (35459..35494) ";; (test "---" (make-string 3 #\-))" + ATMOSPHERE: (35494..35496) " + +" + ATMOSPHERE: (35496..35517) ";; (test "" (string))" + ATMOSPHERE: (35517..35518) " +" + ATMOSPHERE: (35518..35554) ";; (test "---" (string #\- #\- #\-))" + ATMOSPHERE: (35554..35555) " +" + ATMOSPHERE: (35555..35606) ";; (test "kitten" (string #\k #\i #\t #\t #\e #\n))" + ATMOSPHERE: (35606..35608) " + +" + ATMOSPHERE: (35608..35638) ";; (test 0 (string-length ""))" + ATMOSPHERE: (35638..35639) " +" + ATMOSPHERE: (35639..35670) ";; (test 1 (string-length "a"))" + ATMOSPHERE: (35670..35671) " +" + ATMOSPHERE: (35671..35704) ";; (test 3 (string-length "abc"))" + ATMOSPHERE: (35704..35706) " + +" + ATMOSPHERE: (35706..35740) ";; (test #\a (string-ref "abc" 0))" + ATMOSPHERE: (35740..35741) " +" + ATMOSPHERE: (35741..35775) ";; (test #\b (string-ref "abc" 1))" + ATMOSPHERE: (35775..35776) " +" + ATMOSPHERE: (35776..35810) ";; (test #\c (string-ref "abc" 2))" + ATMOSPHERE: (35810..35812) " + +" + ATMOSPHERE: (35812..35890) ";; (test "a-c" (let ((str (string #\a #\b #\c))) (string-set! str 1 #\-) str))" + ATMOSPHERE: (35890..35892) " + +" + ATMOSPHERE: (35892..35926) ";; (test (string #\a #\x1F700 #\c)" + ATMOSPHERE: (35926..35927) " +" + ATMOSPHERE: (35927..35965) ";; (let ((s (string #\a #\b #\c)))" + ATMOSPHERE: (35965..35966) " +" + ATMOSPHERE: (35966..36001) ";; (string-set! s 1 #\x1F700)" + ATMOSPHERE: (36001..36002) " +" + ATMOSPHERE: (36002..36014) ";; s))" + ATMOSPHERE: (36014..36016) " + +" + ATMOSPHERE: (36016..36045) ";; (test #t (string=? "" ""))" + ATMOSPHERE: (36045..36046) " +" + ATMOSPHERE: (36046..36087) ";; (test #t (string=? "abc" "abc" "abc"))" + ATMOSPHERE: (36087..36088) " +" + ATMOSPHERE: (36088..36120) ";; (test #f (string=? "" "abc"))" + ATMOSPHERE: (36120..36121) " +" + ATMOSPHERE: (36121..36156) ";; (test #f (string=? "abc" "aBc"))" + ATMOSPHERE: (36156..36158) " + +" + ATMOSPHERE: (36158..36187) ";; (test #f (string? "" ""))" + ATMOSPHERE: (36370..36371) " +" + ATMOSPHERE: (36371..36406) ";; (test #f (string>? "abc" "abc"))" + ATMOSPHERE: (36406..36407) " +" + ATMOSPHERE: (36407..36443) ";; (test #f (string>? "abc" "abcd"))" + ATMOSPHERE: (36443..36444) " +" + ATMOSPHERE: (36444..36486) ";; (test #t (string>? "acd" "abcd" "abc"))" + ATMOSPHERE: (36486..36487) " +" + ATMOSPHERE: (36487..36522) ";; (test #f (string>? "abc" "bbc"))" + ATMOSPHERE: (36522..36524) " + +" + ATMOSPHERE: (36524..36554) ";; (test #t (string<=? "" ""))" + ATMOSPHERE: (36554..36555) " +" + ATMOSPHERE: (36555..36591) ";; (test #t (string<=? "abc" "abc"))" + ATMOSPHERE: (36591..36592) " +" + ATMOSPHERE: (36592..36636) ";; (test #t (string<=? "abc" "abcd" "abcd"))" + ATMOSPHERE: (36636..36637) " +" + ATMOSPHERE: (36637..36674) ";; (test #f (string<=? "abcd" "abc"))" + ATMOSPHERE: (36674..36675) " +" + ATMOSPHERE: (36675..36711) ";; (test #t (string<=? "abc" "bbc"))" + ATMOSPHERE: (36711..36713) " + +" + ATMOSPHERE: (36713..36743) ";; (test #t (string>=? "" ""))" + ATMOSPHERE: (36743..36744) " +" + ATMOSPHERE: (36744..36780) ";; (test #t (string>=? "abc" "abc"))" + ATMOSPHERE: (36780..36781) " +" + ATMOSPHERE: (36781..36818) ";; (test #f (string>=? "abc" "abcd"))" + ATMOSPHERE: (36818..36819) " +" + ATMOSPHERE: (36819..36863) ";; (test #t (string>=? "abcd" "abcd" "abc"))" + ATMOSPHERE: (36863..36864) " +" + ATMOSPHERE: (36864..36900) ";; (test #f (string>=? "abc" "bbc"))" + ATMOSPHERE: (36900..36902) " + +" + ATMOSPHERE: (36902..36934) ";; (test #t (string-ci=? "" ""))" + ATMOSPHERE: (36934..36935) " +" + ATMOSPHERE: (36935..36973) ";; (test #t (string-ci=? "abc" "abc"))" + ATMOSPHERE: (36973..36974) " +" + ATMOSPHERE: (36974..37009) ";; (test #f (string-ci=? "" "abc"))" + ATMOSPHERE: (37009..37010) " +" + ATMOSPHERE: (37010..37048) ";; (test #t (string-ci=? "abc" "aBc"))" + ATMOSPHERE: (37048..37049) " +" + ATMOSPHERE: (37049..37088) ";; (test #f (string-ci=? "abc" "aBcD"))" + ATMOSPHERE: (37088..37090) " + +" + ATMOSPHERE: (37090..37128) ";; (test #f (string-ci? "abc" "aBc"))" + ATMOSPHERE: (37248..37249) " +" + ATMOSPHERE: (37249..37288) ";; (test #f (string-ci>? "abc" "aBcD"))" + ATMOSPHERE: (37288..37289) " +" + ATMOSPHERE: (37289..37328) ";; (test #t (string-ci>? "ABCd" "aBc"))" + ATMOSPHERE: (37328..37330) " + +" + ATMOSPHERE: (37330..37369) ";; (test #t (string-ci<=? "abc" "aBc"))" + ATMOSPHERE: (37369..37370) " +" + ATMOSPHERE: (37370..37410) ";; (test #t (string-ci<=? "abc" "aBcD"))" + ATMOSPHERE: (37410..37411) " +" + ATMOSPHERE: (37411..37451) ";; (test #f (string-ci<=? "ABCd" "aBc"))" + ATMOSPHERE: (37451..37453) " + +" + ATMOSPHERE: (37453..37492) ";; (test #t (string-ci>=? "abc" "aBc"))" + ATMOSPHERE: (37492..37493) " +" + ATMOSPHERE: (37493..37533) ";; (test #f (string-ci>=? "abc" "aBcD"))" + ATMOSPHERE: (37533..37534) " +" + ATMOSPHERE: (37534..37574) ";; (test #t (string-ci>=? "ABCd" "aBc"))" + ATMOSPHERE: (37574..37576) " + +" + ATMOSPHERE: (37576..37620) ";; (test #t (string-ci=? "ΑΒΓ" "αβγ" "αβγ"))" + ATMOSPHERE: (37620..37621) " +" + ATMOSPHERE: (37621..37659) ";; (test #f (string-ci? "ΑΒΓ" "αβγ"))" + ATMOSPHERE: (37698..37699) " +" + ATMOSPHERE: (37699..37738) ";; (test #t (string-ci<=? "ΑΒΓ" "αβγ"))" + ATMOSPHERE: (37738..37739) " +" + ATMOSPHERE: (37739..37778) ";; (test #t (string-ci>=? "ΑΒΓ" "αβγ"))" + ATMOSPHERE: (37778..37780) " + +" + ATMOSPHERE: (37780..37791) ";; ;; latin" + ATMOSPHERE: (37791..37792) " +" + ATMOSPHERE: (37792..37829) ";; (test "ABC" (string-upcase "abc"))" + ATMOSPHERE: (37829..37830) " +" + ATMOSPHERE: (37830..37867) ";; (test "ABC" (string-upcase "ABC"))" + ATMOSPHERE: (37867..37868) " +" + ATMOSPHERE: (37868..37907) ";; (test "abc" (string-downcase "abc"))" + ATMOSPHERE: (37907..37908) " +" + ATMOSPHERE: (37908..37947) ";; (test "abc" (string-downcase "ABC"))" + ATMOSPHERE: (37947..37948) " +" + ATMOSPHERE: (37948..37987) ";; (test "abc" (string-foldcase "abc"))" + ATMOSPHERE: (37987..37988) " +" + ATMOSPHERE: (37988..38027) ";; (test "abc" (string-foldcase "ABC"))" + ATMOSPHERE: (38027..38029) " + +" + ATMOSPHERE: (38029..38043) ";; ;; cyrillic" + ATMOSPHERE: (38043..38044) " +" + ATMOSPHERE: (38044..38081) ";; (test "ΑΒΓ" (string-upcase "αβγ"))" + ATMOSPHERE: (38081..38082) " +" + ATMOSPHERE: (38082..38119) ";; (test "ΑΒΓ" (string-upcase "ΑΒΓ"))" + ATMOSPHERE: (38119..38120) " +" + ATMOSPHERE: (38120..38159) ";; (test "αβγ" (string-downcase "αβγ"))" + ATMOSPHERE: (38159..38160) " +" + ATMOSPHERE: (38160..38199) ";; (test "αβγ" (string-downcase "ΑΒΓ"))" + ATMOSPHERE: (38199..38200) " +" + ATMOSPHERE: (38200..38239) ";; (test "αβγ" (string-foldcase "αβγ"))" + ATMOSPHERE: (38239..38240) " +" + ATMOSPHERE: (38240..38279) ";; (test "αβγ" (string-foldcase "ΑΒΓ"))" + ATMOSPHERE: (38279..38281) " + +" + ATMOSPHERE: (38281..38300) ";; ;; special cases" + ATMOSPHERE: (38300..38301) " +" + ATMOSPHERE: (38301..38337) ";; (test "SSA" (string-upcase "ßa"))" + ATMOSPHERE: (38337..38338) " +" + ATMOSPHERE: (38338..38375) ";; (test "ßa" (string-downcase "ßa"))" + ATMOSPHERE: (38375..38376) " +" + ATMOSPHERE: (38376..38415) ";; (test "ssa" (string-downcase "SSA"))" + ATMOSPHERE: (38415..38416) " +" + ATMOSPHERE: (38416..38455) ";; (test "maß" (string-downcase "Maß"))" + ATMOSPHERE: (38455..38456) " +" + ATMOSPHERE: (38456..38496) ";; (test "mass" (string-foldcase "Maß"))" + ATMOSPHERE: (38496..38497) " +" + ATMOSPHERE: (38497..38530) ";; (test "İ" (string-upcase "İ"))" + ATMOSPHERE: (38530..38531) " +" + ATMOSPHERE: (38531..38573) ";; (test "i\x0307;" (string-downcase "İ"))" + ATMOSPHERE: (38573..38574) " +" + ATMOSPHERE: (38574..38616) ";; (test "i\x0307;" (string-foldcase "İ"))" + ATMOSPHERE: (38616..38617) " +" + ATMOSPHERE: (38617..38651) ";; (test "J̌" (string-upcase "ǰ"))" + ATMOSPHERE: (38651..38652) " +" + ATMOSPHERE: (38652..38687) ";; (test "ſ" (string-downcase "ſ"))" + ATMOSPHERE: (38687..38688) " +" + ATMOSPHERE: (38688..38723) ";; (test "s" (string-foldcase "ſ"))" + ATMOSPHERE: (38723..38725) " + +" + ATMOSPHERE: (38725..38762) ";; ;; context-sensitive (final sigma)" + ATMOSPHERE: (38762..38763) " +" + ATMOSPHERE: (38763..38806) ";; (test "ΓΛΏΣΣΑ" (string-upcase "γλώσσα"))" + ATMOSPHERE: (38806..38807) " +" + ATMOSPHERE: (38807..38852) ";; (test "γλώσσα" (string-downcase "ΓΛΏΣΣΑ"))" + ATMOSPHERE: (38852..38853) " +" + ATMOSPHERE: (38853..38898) ";; (test "γλώσσα" (string-foldcase "ΓΛΏΣΣΑ"))" + ATMOSPHERE: (38898..38899) " +" + ATMOSPHERE: (38899..38940) ";; (test "ΜΈΛΟΣ" (string-upcase "μέλος"))" + ATMOSPHERE: (38940..38941) " +" + ATMOSPHERE: (38941..39016) ";; (test #t (and (member (string-downcase "ΜΈΛΟΣ") '("μέλος" "μέλοσ")) #t))" + ATMOSPHERE: (39016..39017) " +" + ATMOSPHERE: (39017..39060) ";; (test "μέλοσ" (string-foldcase "ΜΈΛΟΣ"))" + ATMOSPHERE: (39060..39061) " +" + ATMOSPHERE: (39061..39116) ";; (test #t (and (member (string-downcase "ΜΈΛΟΣ ΕΝΌΣ")" + ATMOSPHERE: (39116..39117) " +" + ATMOSPHERE: (39117..39171) ";; '("μέλος ενός" "μέλοσ ενόσ"))" + ATMOSPHERE: (39171..39172) " +" + ATMOSPHERE: (39172..39193) ";; #t))" + ATMOSPHERE: (39193..39195) " + +" + ATMOSPHERE: (39195..39226) ";; (test "" (substring "" 0 0))" + ATMOSPHERE: (39226..39227) " +" + ATMOSPHERE: (39227..39259) ";; (test "" (substring "a" 0 0))" + ATMOSPHERE: (39259..39260) " +" + ATMOSPHERE: (39260..39294) ";; (test "" (substring "abc" 1 1))" + ATMOSPHERE: (39294..39295) " +" + ATMOSPHERE: (39295..39331) ";; (test "ab" (substring "abc" 0 2))" + ATMOSPHERE: (39331..39332) " +" + ATMOSPHERE: (39332..39368) ";; (test "bc" (substring "abc" 1 3))" + ATMOSPHERE: (39368..39370) " + +" + FORM: (39370..39398) + OPEN_PAREN: (39370..39371) "(" + SYMBOL: (39371..39375) + IDENTIFIER: (39371..39375) "test" + ATMOSPHERE: (39375..39376) " " + CONSTANT: (39376..39378) + STRING: (39376..39378) """" + ATMOSPHERE: (39378..39379) " " + FORM: (39379..39397) + OPEN_PAREN: (39379..39380) "(" + SYMBOL: (39380..39393) + IDENTIFIER: (39380..39393) "string-append" + ATMOSPHERE: (39393..39394) " " + CONSTANT: (39394..39396) + STRING: (39394..39396) """" + CLOSE_PAREN: (39396..39397) ")" + CLOSE_PAREN: (39397..39398) ")" + ATMOSPHERE: (39398..39399) " +" + FORM: (39399..39430) + OPEN_PAREN: (39399..39400) "(" + SYMBOL: (39400..39404) + IDENTIFIER: (39400..39404) "test" + ATMOSPHERE: (39404..39405) " " + CONSTANT: (39405..39407) + STRING: (39405..39407) """" + ATMOSPHERE: (39407..39408) " " + FORM: (39408..39429) + OPEN_PAREN: (39408..39409) "(" + SYMBOL: (39409..39422) + IDENTIFIER: (39409..39422) "string-append" + ATMOSPHERE: (39422..39423) " " + CONSTANT: (39423..39425) + STRING: (39423..39425) """" + ATMOSPHERE: (39425..39426) " " + CONSTANT: (39426..39428) + STRING: (39426..39428) """" + CLOSE_PAREN: (39428..39429) ")" + CLOSE_PAREN: (39429..39430) ")" + ATMOSPHERE: (39430..39431) " +" + FORM: (39431..39468) + OPEN_PAREN: (39431..39432) "(" + SYMBOL: (39432..39436) + IDENTIFIER: (39432..39436) "test" + ATMOSPHERE: (39436..39437) " " + CONSTANT: (39437..39442) + STRING: (39437..39442) ""abc"" + ATMOSPHERE: (39442..39443) " " + FORM: (39443..39467) + OPEN_PAREN: (39443..39444) "(" + SYMBOL: (39444..39457) + IDENTIFIER: (39444..39457) "string-append" + ATMOSPHERE: (39457..39458) " " + CONSTANT: (39458..39460) + STRING: (39458..39460) """" + ATMOSPHERE: (39460..39461) " " + CONSTANT: (39461..39466) + STRING: (39461..39466) ""abc"" + CLOSE_PAREN: (39466..39467) ")" + CLOSE_PAREN: (39467..39468) ")" + ATMOSPHERE: (39468..39469) " +" + FORM: (39469..39506) + OPEN_PAREN: (39469..39470) "(" + SYMBOL: (39470..39474) + IDENTIFIER: (39470..39474) "test" + ATMOSPHERE: (39474..39475) " " + CONSTANT: (39475..39480) + STRING: (39475..39480) ""abc"" + ATMOSPHERE: (39480..39481) " " + FORM: (39481..39505) + OPEN_PAREN: (39481..39482) "(" + SYMBOL: (39482..39495) + IDENTIFIER: (39482..39495) "string-append" + ATMOSPHERE: (39495..39496) " " + CONSTANT: (39496..39501) + STRING: (39496..39501) ""abc"" + ATMOSPHERE: (39501..39502) " " + CONSTANT: (39502..39504) + STRING: (39502..39504) """" + CLOSE_PAREN: (39504..39505) ")" + CLOSE_PAREN: (39505..39506) ")" + ATMOSPHERE: (39506..39507) " +" + FORM: (39507..39548) + OPEN_PAREN: (39507..39508) "(" + SYMBOL: (39508..39512) + IDENTIFIER: (39508..39512) "test" + ATMOSPHERE: (39512..39513) " " + CONSTANT: (39513..39520) + STRING: (39513..39520) ""abcde"" + ATMOSPHERE: (39520..39521) " " + FORM: (39521..39547) + OPEN_PAREN: (39521..39522) "(" + SYMBOL: (39522..39535) + IDENTIFIER: (39522..39535) "string-append" + ATMOSPHERE: (39535..39536) " " + CONSTANT: (39536..39541) + STRING: (39536..39541) ""abc"" + ATMOSPHERE: (39541..39542) " " + CONSTANT: (39542..39546) + STRING: (39542..39546) ""de"" + CLOSE_PAREN: (39546..39547) ")" + CLOSE_PAREN: (39547..39548) ")" + ATMOSPHERE: (39548..39549) " +" + FORM: (39549..39595) + OPEN_PAREN: (39549..39550) "(" + SYMBOL: (39550..39554) + IDENTIFIER: (39550..39554) "test" + ATMOSPHERE: (39554..39555) " " + CONSTANT: (39555..39563) + STRING: (39555..39563) ""abcdef"" + ATMOSPHERE: (39563..39564) " " + FORM: (39564..39594) + OPEN_PAREN: (39564..39565) "(" + SYMBOL: (39565..39578) + IDENTIFIER: (39565..39578) "string-append" + ATMOSPHERE: (39578..39579) " " + CONSTANT: (39579..39584) + STRING: (39579..39584) ""abc"" + ATMOSPHERE: (39584..39585) " " + CONSTANT: (39585..39589) + STRING: (39585..39589) ""de"" + ATMOSPHERE: (39589..39590) " " + CONSTANT: (39590..39593) + STRING: (39590..39593) ""f"" + CLOSE_PAREN: (39593..39594) ")" + CLOSE_PAREN: (39594..39595) ")" + ATMOSPHERE: (39595..39597) " + +" + ATMOSPHERE: (39597..39628) ";; (test '() (string->list ""))" + ATMOSPHERE: (39628..39629) " +" + ATMOSPHERE: (39629..39664) ";; (test '(#\a) (string->list "a"))" + ATMOSPHERE: (39664..39665) " +" + ATMOSPHERE: (39665..39710) ";; (test '(#\a #\b #\c) (string->list "abc"))" + ATMOSPHERE: (39710..39711) " +" + ATMOSPHERE: (39711..39758) ";; (test '(#\a #\b #\c) (string->list "abc" 0))" + ATMOSPHERE: (39758..39759) " +" + ATMOSPHERE: (39759..39802) ";; (test '(#\b #\c) (string->list "abc" 1))" + ATMOSPHERE: (39802..39803) " +" + ATMOSPHERE: (39803..39848) ";; (test '(#\b #\c) (string->list "abc" 1 3))" + ATMOSPHERE: (39848..39850) " + +" + ATMOSPHERE: (39850..39881) ";; (test "" (list->string '()))" + ATMOSPHERE: (39881..39882) " +" + ATMOSPHERE: (39882..39927) ";; (test "abc" (list->string '(#\a #\b #\c)))" + ATMOSPHERE: (39927..39929) " + +" + ATMOSPHERE: (39929..39958) ";; (test "" (string-copy ""))" + ATMOSPHERE: (39958..39959) " +" + ATMOSPHERE: (39959..39990) ";; (test "" (string-copy "" 0))" + ATMOSPHERE: (39990..39991) " +" + ATMOSPHERE: (39991..40024) ";; (test "" (string-copy "" 0 0))" + ATMOSPHERE: (40024..40025) " +" + ATMOSPHERE: (40025..40060) ";; (test "abc" (string-copy "abc"))" + ATMOSPHERE: (40060..40061) " +" + ATMOSPHERE: (40061..40098) ";; (test "abc" (string-copy "abc" 0))" + ATMOSPHERE: (40098..40099) " +" + ATMOSPHERE: (40099..40135) ";; (test "bc" (string-copy "abc" 1))" + ATMOSPHERE: (40135..40136) " +" + ATMOSPHERE: (40136..40173) ";; (test "b" (string-copy "abc" 1 2))" + ATMOSPHERE: (40173..40174) " +" + ATMOSPHERE: (40174..40212) ";; (test "bc" (string-copy "abc" 1 3))" + ATMOSPHERE: (40212..40214) " + +" + ATMOSPHERE: (40214..40230) ";; (test "-----"" + ATMOSPHERE: (40230..40231) " +" + ATMOSPHERE: (40231..40299) ";; (let ((str (make-string 5 #\x))) (string-fill! str #\-) str))" + ATMOSPHERE: (40299..40300) " +" + ATMOSPHERE: (40300..40316) ";; (test "xx---"" + ATMOSPHERE: (40316..40317) " +" + ATMOSPHERE: (40317..40387) ";; (let ((str (make-string 5 #\x))) (string-fill! str #\- 2) str))" + ATMOSPHERE: (40387..40388) " +" + ATMOSPHERE: (40388..40404) ";; (test "xx-xx"" + ATMOSPHERE: (40404..40405) " +" + ATMOSPHERE: (40405..40477) ";; (let ((str (make-string 5 #\x))) (string-fill! str #\- 2 3) str))" + ATMOSPHERE: (40477..40479) " + +" + ATMOSPHERE: (40479..40495) ";; (test "a12de"" + ATMOSPHERE: (40495..40496) " +" + ATMOSPHERE: (40496..40576) ";; (let ((str (string-copy "abcde"))) (string-copy! str 1 "12345" 0 2) str))" + ATMOSPHERE: (40576..40577) " +" + ATMOSPHERE: (40577..40593) ";; (test "-----"" + ATMOSPHERE: (40593..40594) " +" + ATMOSPHERE: (40594..40668) ";; (let ((str (make-string 5 #\x))) (string-copy! str 0 "-----") str))" + ATMOSPHERE: (40668..40669) " +" + ATMOSPHERE: (40669..40685) ";; (test "---xx"" + ATMOSPHERE: (40685..40686) " +" + ATMOSPHERE: (40686..40762) ";; (let ((str (make-string 5 #\x))) (string-copy! str 0 "-----" 2) str))" + ATMOSPHERE: (40762..40763) " +" + ATMOSPHERE: (40763..40779) ";; (test "xx---"" + ATMOSPHERE: (40779..40780) " +" + ATMOSPHERE: (40780..40858) ";; (let ((str (make-string 5 #\x))) (string-copy! str 2 "-----" 0 3) str))" + ATMOSPHERE: (40858..40859) " +" + ATMOSPHERE: (40859..40875) ";; (test "xx-xx"" + ATMOSPHERE: (40875..40876) " +" + ATMOSPHERE: (40876..40954) ";; (let ((str (make-string 5 #\x))) (string-copy! str 2 "-----" 2 3) str))" + ATMOSPHERE: (40954..40956) " + +" + ATMOSPHERE: (40956..40982) ";; ;; same source and dest" + ATMOSPHERE: (40982..40983) " +" + ATMOSPHERE: (40983..40999) ";; (test "aabde"" + ATMOSPHERE: (40999..41000) " +" + ATMOSPHERE: (41000..41076) ";; (let ((str (string-copy "abcde"))) (string-copy! str 1 str 0 2) str))" + ATMOSPHERE: (41076..41077) " +" + ATMOSPHERE: (41077..41093) ";; (test "abcab"" + ATMOSPHERE: (41093..41094) " +" + ATMOSPHERE: (41094..41170) ";; (let ((str (string-copy "abcde"))) (string-copy! str 3 str 0 2) str))" + ATMOSPHERE: (41170..41172) " + +" + FORM: (41172..41182) + OPEN_PAREN: (41172..41173) "(" + SYMBOL: (41173..41181) + IDENTIFIER: (41173..41181) "test-end" + CLOSE_PAREN: (41181..41182) ")" + ATMOSPHERE: (41182..41184) " + +" + FORM: (41184..41210) + OPEN_PAREN: (41184..41185) "(" + SYMBOL: (41185..41195) + IDENTIFIER: (41185..41195) "test-begin" + ATMOSPHERE: (41195..41196) " " + CONSTANT: (41196..41209) + STRING: (41196..41209) ""6.8 Vectors"" + CLOSE_PAREN: (41209..41210) ")" + ATMOSPHERE: (41210..41212) " + +" + FORM: (41212..41235) + OPEN_PAREN: (41212..41213) "(" + SYMBOL: (41213..41217) + IDENTIFIER: (41213..41217) "test" + ATMOSPHERE: (41217..41218) " " + CONSTANT: (41218..41220) + BOOLEAN: (41218..41220) "#t" + ATMOSPHERE: (41220..41221) " " + FORM: (41221..41234) + OPEN_PAREN: (41221..41222) "(" + SYMBOL: (41222..41229) + IDENTIFIER: (41222..41229) "vector?" + ATMOSPHERE: (41229..41230) " " + VEC: (41230..41233) + OPEN_PAREN: (41230..41232) "#(" + CLOSE_PAREN: (41232..41233) ")" + CLOSE_PAREN: (41233..41234) ")" + CLOSE_PAREN: (41234..41235) ")" + ATMOSPHERE: (41235..41236) " +" + FORM: (41236..41264) + OPEN_PAREN: (41236..41237) "(" + SYMBOL: (41237..41241) + IDENTIFIER: (41237..41241) "test" + ATMOSPHERE: (41241..41242) " " + CONSTANT: (41242..41244) + BOOLEAN: (41242..41244) "#t" + ATMOSPHERE: (41244..41245) " " + FORM: (41245..41263) + OPEN_PAREN: (41245..41246) "(" + SYMBOL: (41246..41253) + IDENTIFIER: (41246..41253) "vector?" + ATMOSPHERE: (41253..41254) " " + VEC: (41254..41262) + OPEN_PAREN: (41254..41256) "#(" + CONSTANT: (41256..41257) + NUMBER: (41256..41257) "1" + ATMOSPHERE: (41257..41258) " " + CONSTANT: (41258..41259) + NUMBER: (41258..41259) "2" + ATMOSPHERE: (41259..41260) " " + CONSTANT: (41260..41261) + NUMBER: (41260..41261) "3" + CLOSE_PAREN: (41261..41262) ")" + CLOSE_PAREN: (41262..41263) ")" + CLOSE_PAREN: (41263..41264) ")" + ATMOSPHERE: (41264..41265) " +" + FORM: (41265..41294) + OPEN_PAREN: (41265..41266) "(" + SYMBOL: (41266..41270) + IDENTIFIER: (41266..41270) "test" + ATMOSPHERE: (41270..41271) " " + CONSTANT: (41271..41273) + BOOLEAN: (41271..41273) "#t" + ATMOSPHERE: (41273..41274) " " + FORM: (41274..41293) + OPEN_PAREN: (41274..41275) "(" + SYMBOL: (41275..41282) + IDENTIFIER: (41275..41282) "vector?" + ATMOSPHERE: (41282..41283) " " + QUOTED_DATUM: (41283..41292) + QUOTE: (41283..41284) "'" + VEC: (41284..41292) + OPEN_PAREN: (41284..41286) "#(" + CONSTANT: (41286..41287) + NUMBER: (41286..41287) "1" + ATMOSPHERE: (41287..41288) " " + CONSTANT: (41288..41289) + NUMBER: (41288..41289) "2" + ATMOSPHERE: (41289..41290) " " + CONSTANT: (41290..41291) + NUMBER: (41290..41291) "3" + CLOSE_PAREN: (41291..41292) ")" + CLOSE_PAREN: (41292..41293) ")" + CLOSE_PAREN: (41293..41294) ")" + ATMOSPHERE: (41294..41296) " + +" + FORM: (41296..41336) + OPEN_PAREN: (41296..41297) "(" + SYMBOL: (41297..41301) + IDENTIFIER: (41297..41301) "test" + ATMOSPHERE: (41301..41302) " " + CONSTANT: (41302..41303) + NUMBER: (41302..41303) "0" + ATMOSPHERE: (41303..41304) " " + FORM: (41304..41335) + OPEN_PAREN: (41304..41305) "(" + SYMBOL: (41305..41318) + IDENTIFIER: (41305..41318) "vector-length" + ATMOSPHERE: (41318..41319) " " + FORM: (41319..41334) + OPEN_PAREN: (41319..41320) "(" + SYMBOL: (41320..41331) + IDENTIFIER: (41320..41331) "make-vector" + ATMOSPHERE: (41331..41332) " " + CONSTANT: (41332..41333) + NUMBER: (41332..41333) "0" + CLOSE_PAREN: (41333..41334) ")" + CLOSE_PAREN: (41334..41335) ")" + CLOSE_PAREN: (41335..41336) ")" + ATMOSPHERE: (41336..41337) " +" + FORM: (41337..41383) + OPEN_PAREN: (41337..41338) "(" + SYMBOL: (41338..41342) + IDENTIFIER: (41338..41342) "test" + ATMOSPHERE: (41342..41343) " " + CONSTANT: (41343..41347) + NUMBER: (41343..41347) "1000" + ATMOSPHERE: (41347..41348) " " + FORM: (41348..41382) + OPEN_PAREN: (41348..41349) "(" + SYMBOL: (41349..41362) + IDENTIFIER: (41349..41362) "vector-length" + ATMOSPHERE: (41362..41363) " " + FORM: (41363..41381) + OPEN_PAREN: (41363..41364) "(" + SYMBOL: (41364..41375) + IDENTIFIER: (41364..41375) "make-vector" + ATMOSPHERE: (41375..41376) " " + CONSTANT: (41376..41380) + NUMBER: (41376..41380) "1000" + CLOSE_PAREN: (41380..41381) ")" + CLOSE_PAREN: (41381..41382) ")" + CLOSE_PAREN: (41382..41383) ")" + ATMOSPHERE: (41383..41385) " + +" + FORM: (41385..41436) + OPEN_PAREN: (41385..41386) "(" + SYMBOL: (41386..41390) + IDENTIFIER: (41386..41390) "test" + ATMOSPHERE: (41390..41391) " " + VEC: (41391..41412) + OPEN_PAREN: (41391..41393) "#(" + CONSTANT: (41393..41394) + NUMBER: (41393..41394) "0" + ATMOSPHERE: (41394..41395) " " + FORM: (41395..41404) + OPEN_PAREN: (41395..41396) "(" + CONSTANT: (41396..41397) + NUMBER: (41396..41397) "2" + ATMOSPHERE: (41397..41398) " " + CONSTANT: (41398..41399) + NUMBER: (41398..41399) "2" + ATMOSPHERE: (41399..41400) " " + CONSTANT: (41400..41401) + NUMBER: (41400..41401) "2" + ATMOSPHERE: (41401..41402) " " + CONSTANT: (41402..41403) + NUMBER: (41402..41403) "2" + CLOSE_PAREN: (41403..41404) ")" + ATMOSPHERE: (41404..41405) " " + CONSTANT: (41405..41411) + STRING: (41405..41411) ""Anna"" + CLOSE_PAREN: (41411..41412) ")" + ATMOSPHERE: (41412..41413) " " + QUOTED_DATUM: (41413..41435) + QUOTE: (41413..41414) "'" + VEC: (41414..41435) + OPEN_PAREN: (41414..41416) "#(" + CONSTANT: (41416..41417) + NUMBER: (41416..41417) "0" + ATMOSPHERE: (41417..41418) " " + FORM: (41418..41427) + OPEN_PAREN: (41418..41419) "(" + CONSTANT: (41419..41420) + NUMBER: (41419..41420) "2" + ATMOSPHERE: (41420..41421) " " + CONSTANT: (41421..41422) + NUMBER: (41421..41422) "2" + ATMOSPHERE: (41422..41423) " " + CONSTANT: (41423..41424) + NUMBER: (41423..41424) "2" + ATMOSPHERE: (41424..41425) " " + CONSTANT: (41425..41426) + NUMBER: (41425..41426) "2" + CLOSE_PAREN: (41426..41427) ")" + ATMOSPHERE: (41427..41428) " " + CONSTANT: (41428..41434) + STRING: (41428..41434) ""Anna"" + CLOSE_PAREN: (41434..41435) ")" + CLOSE_PAREN: (41435..41436) ")" + ATMOSPHERE: (41436..41438) " + +" + FORM: (41438..41471) + OPEN_PAREN: (41438..41439) "(" + SYMBOL: (41439..41443) + IDENTIFIER: (41439..41443) "test" + ATMOSPHERE: (41443..41444) " " + VEC: (41444..41452) + OPEN_PAREN: (41444..41446) "#(" + SYMBOL: (41446..41447) + IDENTIFIER: (41446..41447) "a" + ATMOSPHERE: (41447..41448) " " + SYMBOL: (41448..41449) + IDENTIFIER: (41448..41449) "b" + ATMOSPHERE: (41449..41450) " " + SYMBOL: (41450..41451) + IDENTIFIER: (41450..41451) "c" + CLOSE_PAREN: (41451..41452) ")" + ATMOSPHERE: (41452..41453) " " + FORM: (41453..41470) + OPEN_PAREN: (41453..41454) "(" + SYMBOL: (41454..41460) + IDENTIFIER: (41454..41460) "vector" + ATMOSPHERE: (41460..41461) " " + QUOTED_DATUM: (41461..41464) + QUOTE: (41461..41462) "'" + SYMBOL: (41462..41463) + IDENTIFIER: (41462..41463) "a" + ATMOSPHERE: (41463..41464) " " + QUOTED_DATUM: (41464..41467) + QUOTE: (41464..41465) "'" + SYMBOL: (41465..41466) + IDENTIFIER: (41465..41466) "b" + ATMOSPHERE: (41466..41467) " " + QUOTED_DATUM: (41467..41469) + QUOTE: (41467..41468) "'" + SYMBOL: (41468..41469) + IDENTIFIER: (41468..41469) "c" + CLOSE_PAREN: (41469..41470) ")" + CLOSE_PAREN: (41470..41471) ")" + ATMOSPHERE: (41471..41473) " + +" + FORM: (41473..41518) + OPEN_PAREN: (41473..41474) "(" + SYMBOL: (41474..41478) + IDENTIFIER: (41474..41478) "test" + ATMOSPHERE: (41478..41479) " " + CONSTANT: (41479..41480) + NUMBER: (41479..41480) "8" + ATMOSPHERE: (41480..41481) " " + FORM: (41481..41517) + OPEN_PAREN: (41481..41482) "(" + SYMBOL: (41482..41492) + IDENTIFIER: (41482..41492) "vector-ref" + ATMOSPHERE: (41492..41493) " " + QUOTED_DATUM: (41493..41515) + QUOTE: (41493..41494) "'" + VEC: (41494..41514) + OPEN_PAREN: (41494..41496) "#(" + CONSTANT: (41496..41497) + NUMBER: (41496..41497) "1" + ATMOSPHERE: (41497..41498) " " + CONSTANT: (41498..41499) + NUMBER: (41498..41499) "1" + ATMOSPHERE: (41499..41500) " " + CONSTANT: (41500..41501) + NUMBER: (41500..41501) "2" + ATMOSPHERE: (41501..41502) " " + CONSTANT: (41502..41503) + NUMBER: (41502..41503) "3" + ATMOSPHERE: (41503..41504) " " + CONSTANT: (41504..41505) + NUMBER: (41504..41505) "5" + ATMOSPHERE: (41505..41506) " " + CONSTANT: (41506..41507) + NUMBER: (41506..41507) "8" + ATMOSPHERE: (41507..41508) " " + CONSTANT: (41508..41510) + NUMBER: (41508..41510) "13" + ATMOSPHERE: (41510..41511) " " + CONSTANT: (41511..41513) + NUMBER: (41511..41513) "21" + CLOSE_PAREN: (41513..41514) ")" + ATMOSPHERE: (41514..41515) " " + CONSTANT: (41515..41516) + NUMBER: (41515..41516) "5" + CLOSE_PAREN: (41516..41517) ")" + CLOSE_PAREN: (41517..41518) ")" + ATMOSPHERE: (41518..41519) " +" + ATMOSPHERE: (41519..41564) ";; (test 13 (vector-ref '#(1 1 2 3 5 8 13 21)" + ATMOSPHERE: (41564..41565) " +" + ATMOSPHERE: (41565..41614) ";; (let ((i (round (* 2 (acos -1)))))" + ATMOSPHERE: (41614..41615) " +" + ATMOSPHERE: (41615..41648) ";; (if (inexact? i)" + ATMOSPHERE: (41648..41649) " +" + ATMOSPHERE: (41649..41679) ";; (exact i)" + ATMOSPHERE: (41679..41680) " +" + ATMOSPHERE: (41680..41706) ";; i))))" + ATMOSPHERE: (41706..41708) " + +" + ATMOSPHERE: (41708..41784) ";; (test #(0 ("Sue" "Sue") "Anna") (let ((vec (vector 0 '(2 2 2 2) "Anna")))" + ATMOSPHERE: (41784..41785) " +" + ATMOSPHERE: (41785..41824) ";; (vector-set! vec 1 '("Sue" "Sue"))" + ATMOSPHERE: (41824..41825) " +" + ATMOSPHERE: (41825..41835) ";; vec))" + ATMOSPHERE: (41835..41837) " + +" + ATMOSPHERE: (41837..41896) ";; (test '(dah dah didah) (vector->list '#(dah dah didah)))" + ATMOSPHERE: (41896..41897) " +" + ATMOSPHERE: (41897..41954) ";; (test '(dah didah) (vector->list '#(dah dah didah) 1))" + ATMOSPHERE: (41954..41955) " +" + ATMOSPHERE: (41955..42008) ";; (test '(dah) (vector->list '#(dah dah didah) 1 2))" + ATMOSPHERE: (42008..42009) " +" + ATMOSPHERE: (42009..42063) ";; (test #(dididit dah) (list->vector '(dididit dah)))" + ATMOSPHERE: (42063..42065) " + +" + ATMOSPHERE: (42065..42098) ";; (test #() (string->vector ""))" + ATMOSPHERE: (42098..42099) " +" + ATMOSPHERE: (42099..42146) ";; (test #(#\A #\B #\C) (string->vector "ABC"))" + ATMOSPHERE: (42146..42147) " +" + ATMOSPHERE: (42147..42192) ";; (test #(#\B #\C) (string->vector "ABC" 1))" + ATMOSPHERE: (42192..42193) " +" + ATMOSPHERE: (42193..42236) ";; (test #(#\B) (string->vector "ABC" 1 2))" + ATMOSPHERE: (42236..42238) " + +" + ATMOSPHERE: (42238..42271) ";; (test "" (vector->string #()))" + ATMOSPHERE: (42271..42272) " +" + ATMOSPHERE: (42272..42319) ";; (test "123" (vector->string #(#\1 #\2 #\3)))" + ATMOSPHERE: (42319..42320) " +" + ATMOSPHERE: (42320..42368) ";; (test "23" (vector->string #(#\1 #\2 #\3) 1))" + ATMOSPHERE: (42368..42369) " +" + ATMOSPHERE: (42369..42418) ";; (test "2" (vector->string #(#\1 #\2 #\3) 1 2))" + ATMOSPHERE: (42418..42420) " + +" + ATMOSPHERE: (42420..42451) ";; (test #() (vector-copy #()))" + ATMOSPHERE: (42451..42452) " +" + ATMOSPHERE: (42452..42493) ";; (test #(a b c) (vector-copy #(a b c)))" + ATMOSPHERE: (42493..42494) " +" + ATMOSPHERE: (42494..42535) ";; (test #(b c) (vector-copy #(a b c) 1))" + ATMOSPHERE: (42535..42536) " +" + ATMOSPHERE: (42536..42577) ";; (test #(b) (vector-copy #(a b c) 1 2))" + ATMOSPHERE: (42577..42579) " + +" + ATMOSPHERE: (42579..42612) ";; (test #() (vector-append #()))" + ATMOSPHERE: (42612..42613) " +" + ATMOSPHERE: (42613..42650) ";; (test #() (vector-append #() #()))" + ATMOSPHERE: (42650..42651) " +" + ATMOSPHERE: (42651..42698) ";; (test #(a b c) (vector-append #() #(a b c)))" + ATMOSPHERE: (42698..42699) " +" + ATMOSPHERE: (42699..42746) ";; (test #(a b c) (vector-append #(a b c) #()))" + ATMOSPHERE: (42746..42747) " +" + ATMOSPHERE: (42747..42801) ";; (test #(a b c d e) (vector-append #(a b c) #(d e)))" + ATMOSPHERE: (42801..42802) " +" + ATMOSPHERE: (42802..42863) ";; (test #(a b c d e f) (vector-append #(a b c) #(d e) #(f)))" + ATMOSPHERE: (42863..42865) " + +" + ATMOSPHERE: (42865..42894) ";; (test #(1 2 smash smash 5)" + ATMOSPHERE: (42894..42895) " +" + ATMOSPHERE: (42895..42969) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'smash 2 4) vec))" + ATMOSPHERE: (42969..42970) " +" + ATMOSPHERE: (42970..42991) ";; (test #(x x x x x)" + ATMOSPHERE: (42991..42992) " +" + ATMOSPHERE: (42992..43058) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x) vec))" + ATMOSPHERE: (43058..43059) " +" + ATMOSPHERE: (43059..43080) ";; (test #(1 2 x x x)" + ATMOSPHERE: (43080..43081) " +" + ATMOSPHERE: (43081..43149) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2) vec))" + ATMOSPHERE: (43149..43150) " +" + ATMOSPHERE: (43150..43171) ";; (test #(1 2 x 4 5)" + ATMOSPHERE: (43171..43172) " +" + ATMOSPHERE: (43172..43242) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2 3) vec))" + ATMOSPHERE: (43242..43244) " + +" + ATMOSPHERE: (43244..43265) ";; (test #(1 a b 4 5)" + ATMOSPHERE: (43265..43266) " +" + ATMOSPHERE: (43266..43348) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 #(a b c d e) 0 2) vec))" + ATMOSPHERE: (43348..43349) " +" + ATMOSPHERE: (43349..43370) ";; (test #(a b c d e)" + ATMOSPHERE: (43370..43371) " +" + ATMOSPHERE: (43371..43449) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e)) vec))" + ATMOSPHERE: (43449..43450) " +" + ATMOSPHERE: (43450..43471) ";; (test #(c d e 4 5)" + ATMOSPHERE: (43471..43472) " +" + ATMOSPHERE: (43472..43552) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e) 2) vec))" + ATMOSPHERE: (43552..43553) " +" + ATMOSPHERE: (43553..43574) ";; (test #(1 2 a b c)" + ATMOSPHERE: (43574..43575) " +" + ATMOSPHERE: (43575..43657) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 0 3) vec))" + ATMOSPHERE: (43657..43658) " +" + ATMOSPHERE: (43658..43679) ";; (test #(1 2 c 4 5)" + ATMOSPHERE: (43679..43680) " +" + ATMOSPHERE: (43680..43762) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 2 3) vec))" + ATMOSPHERE: (43762..43764) " + +" + ATMOSPHERE: (43764..43790) ";; ;; same source and dest" + ATMOSPHERE: (43790..43791) " +" + ATMOSPHERE: (43791..43812) ";; (test #(1 1 2 4 5)" + ATMOSPHERE: (43812..43813) " +" + ATMOSPHERE: (43813..43886) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 vec 0 2) vec))" + ATMOSPHERE: (43886..43887) " +" + ATMOSPHERE: (43887..43908) ";; (test #(1 2 3 1 2)" + ATMOSPHERE: (43908..43909) " +" + ATMOSPHERE: (43909..43982) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 3 vec 0 2) vec))" + ATMOSPHERE: (43982..43984) " + +" + FORM: (43984..43994) + OPEN_PAREN: (43984..43985) "(" + SYMBOL: (43985..43993) + IDENTIFIER: (43985..43993) "test-end" + CLOSE_PAREN: (43993..43994) ")" + ATMOSPHERE: (43994..43996) " + +" + FORM: (43996..44026) + OPEN_PAREN: (43996..43997) "(" + SYMBOL: (43997..44007) + IDENTIFIER: (43997..44007) "test-begin" + ATMOSPHERE: (44007..44008) " " + CONSTANT: (44008..44025) + STRING: (44008..44025) ""6.9 Bytevectors"" + CLOSE_PAREN: (44025..44026) ")" + ATMOSPHERE: (44026..44028) " + +" + FORM: (44028..44057) + OPEN_PAREN: (44028..44029) "(" + SYMBOL: (44029..44033) + IDENTIFIER: (44029..44033) "test" + ATMOSPHERE: (44033..44034) " " + CONSTANT: (44034..44036) + BOOLEAN: (44034..44036) "#t" + ATMOSPHERE: (44036..44037) " " + FORM: (44037..44056) + OPEN_PAREN: (44037..44038) "(" + SYMBOL: (44038..44049) + IDENTIFIER: (44038..44049) "bytevector?" + ATMOSPHERE: (44049..44050) " " + BYTEVEC: (44050..44055) + OPEN_PAREN: (44050..44054) "#u8(" + CLOSE_PAREN: (44054..44055) ")" + CLOSE_PAREN: (44055..44056) ")" + CLOSE_PAREN: (44056..44057) ")" + ATMOSPHERE: (44057..44058) " +" + FORM: (44058..44092) + OPEN_PAREN: (44058..44059) "(" + SYMBOL: (44059..44063) + IDENTIFIER: (44059..44063) "test" + ATMOSPHERE: (44063..44064) " " + CONSTANT: (44064..44066) + BOOLEAN: (44064..44066) "#t" + ATMOSPHERE: (44066..44067) " " + FORM: (44067..44091) + OPEN_PAREN: (44067..44068) "(" + SYMBOL: (44068..44079) + IDENTIFIER: (44068..44079) "bytevector?" + ATMOSPHERE: (44079..44080) " " + BYTEVEC: (44080..44090) + OPEN_PAREN: (44080..44084) "#u8(" + CONSTANT: (44084..44085) + NUMBER: (44084..44085) "0" + ATMOSPHERE: (44085..44086) " " + CONSTANT: (44086..44087) + NUMBER: (44086..44087) "1" + ATMOSPHERE: (44087..44088) " " + CONSTANT: (44088..44089) + NUMBER: (44088..44089) "2" + CLOSE_PAREN: (44089..44090) ")" + CLOSE_PAREN: (44090..44091) ")" + CLOSE_PAREN: (44091..44092) ")" + ATMOSPHERE: (44092..44093) " +" + FORM: (44093..44120) + OPEN_PAREN: (44093..44094) "(" + SYMBOL: (44094..44098) + IDENTIFIER: (44094..44098) "test" + ATMOSPHERE: (44098..44099) " " + CONSTANT: (44099..44101) + BOOLEAN: (44099..44101) "#f" + ATMOSPHERE: (44101..44102) " " + FORM: (44102..44119) + OPEN_PAREN: (44102..44103) "(" + SYMBOL: (44103..44114) + IDENTIFIER: (44103..44114) "bytevector?" + ATMOSPHERE: (44114..44115) " " + VEC: (44115..44118) + OPEN_PAREN: (44115..44117) "#(" + CLOSE_PAREN: (44117..44118) ")" + CLOSE_PAREN: (44118..44119) ")" + CLOSE_PAREN: (44119..44120) ")" + ATMOSPHERE: (44120..44121) " +" + FORM: (44121..44153) + OPEN_PAREN: (44121..44122) "(" + SYMBOL: (44122..44126) + IDENTIFIER: (44122..44126) "test" + ATMOSPHERE: (44126..44127) " " + CONSTANT: (44127..44129) + BOOLEAN: (44127..44129) "#f" + ATMOSPHERE: (44129..44130) " " + FORM: (44130..44152) + OPEN_PAREN: (44130..44131) "(" + SYMBOL: (44131..44142) + IDENTIFIER: (44131..44142) "bytevector?" + ATMOSPHERE: (44142..44143) " " + VEC: (44143..44151) + OPEN_PAREN: (44143..44145) "#(" + CONSTANT: (44145..44146) + NUMBER: (44145..44146) "0" + ATMOSPHERE: (44146..44147) " " + CONSTANT: (44147..44148) + NUMBER: (44147..44148) "1" + ATMOSPHERE: (44148..44149) " " + CONSTANT: (44149..44150) + NUMBER: (44149..44150) "2" + CLOSE_PAREN: (44150..44151) ")" + CLOSE_PAREN: (44151..44152) ")" + CLOSE_PAREN: (44152..44153) ")" + ATMOSPHERE: (44153..44154) " +" + FORM: (44154..44181) + OPEN_PAREN: (44154..44155) "(" + SYMBOL: (44155..44159) + IDENTIFIER: (44155..44159) "test" + ATMOSPHERE: (44159..44160) " " + CONSTANT: (44160..44162) + BOOLEAN: (44160..44162) "#f" + ATMOSPHERE: (44162..44163) " " + FORM: (44163..44180) + OPEN_PAREN: (44163..44164) "(" + SYMBOL: (44164..44175) + IDENTIFIER: (44164..44175) "bytevector?" + ATMOSPHERE: (44175..44176) " " + QUOTED_DATUM: (44176..44179) + QUOTE: (44176..44177) "'" + FORM: (44177..44179) + OPEN_PAREN: (44177..44178) "(" + CLOSE_PAREN: (44178..44179) ")" + CLOSE_PAREN: (44179..44180) ")" + CLOSE_PAREN: (44180..44181) ")" + ATMOSPHERE: (44181..44182) " +" + FORM: (44182..44225) + OPEN_PAREN: (44182..44183) "(" + SYMBOL: (44183..44187) + IDENTIFIER: (44183..44187) "test" + ATMOSPHERE: (44187..44188) " " + CONSTANT: (44188..44190) + BOOLEAN: (44188..44190) "#t" + ATMOSPHERE: (44190..44191) " " + FORM: (44191..44224) + OPEN_PAREN: (44191..44192) "(" + SYMBOL: (44192..44203) + IDENTIFIER: (44192..44203) "bytevector?" + ATMOSPHERE: (44203..44204) " " + FORM: (44204..44223) + OPEN_PAREN: (44204..44205) "(" + SYMBOL: (44205..44220) + IDENTIFIER: (44205..44220) "make-bytevector" + ATMOSPHERE: (44220..44221) " " + CONSTANT: (44221..44222) + NUMBER: (44221..44222) "0" + CLOSE_PAREN: (44222..44223) ")" + CLOSE_PAREN: (44223..44224) ")" + CLOSE_PAREN: (44224..44225) ")" + ATMOSPHERE: (44225..44227) " + +" + FORM: (44227..44275) + OPEN_PAREN: (44227..44228) "(" + SYMBOL: (44228..44232) + IDENTIFIER: (44228..44232) "test" + ATMOSPHERE: (44232..44233) " " + CONSTANT: (44233..44234) + NUMBER: (44233..44234) "0" + ATMOSPHERE: (44234..44235) " " + FORM: (44235..44274) + OPEN_PAREN: (44235..44236) "(" + SYMBOL: (44236..44253) + IDENTIFIER: (44236..44253) "bytevector-length" + ATMOSPHERE: (44253..44254) " " + FORM: (44254..44273) + OPEN_PAREN: (44254..44255) "(" + SYMBOL: (44255..44270) + IDENTIFIER: (44255..44270) "make-bytevector" + ATMOSPHERE: (44270..44271) " " + CONSTANT: (44271..44272) + NUMBER: (44271..44272) "0" + CLOSE_PAREN: (44272..44273) ")" + CLOSE_PAREN: (44273..44274) ")" + CLOSE_PAREN: (44274..44275) ")" + ATMOSPHERE: (44275..44276) " +" + FORM: (44276..44330) + OPEN_PAREN: (44276..44277) "(" + SYMBOL: (44277..44281) + IDENTIFIER: (44277..44281) "test" + ATMOSPHERE: (44281..44282) " " + CONSTANT: (44282..44286) + NUMBER: (44282..44286) "1024" + ATMOSPHERE: (44286..44287) " " + FORM: (44287..44329) + OPEN_PAREN: (44287..44288) "(" + SYMBOL: (44288..44305) + IDENTIFIER: (44288..44305) "bytevector-length" + ATMOSPHERE: (44305..44306) " " + FORM: (44306..44328) + OPEN_PAREN: (44306..44307) "(" + SYMBOL: (44307..44322) + IDENTIFIER: (44307..44322) "make-bytevector" + ATMOSPHERE: (44322..44323) " " + CONSTANT: (44323..44327) + NUMBER: (44323..44327) "1024" + CLOSE_PAREN: (44327..44328) ")" + CLOSE_PAREN: (44328..44329) ")" + CLOSE_PAREN: (44329..44330) ")" + ATMOSPHERE: (44330..44331) " +" + FORM: (44331..44389) + OPEN_PAREN: (44331..44332) "(" + SYMBOL: (44332..44336) + IDENTIFIER: (44332..44336) "test" + ATMOSPHERE: (44336..44337) " " + CONSTANT: (44337..44341) + NUMBER: (44337..44341) "1024" + ATMOSPHERE: (44341..44342) " " + FORM: (44342..44388) + OPEN_PAREN: (44342..44343) "(" + SYMBOL: (44343..44360) + IDENTIFIER: (44343..44360) "bytevector-length" + ATMOSPHERE: (44360..44361) " " + FORM: (44361..44387) + OPEN_PAREN: (44361..44362) "(" + SYMBOL: (44362..44377) + IDENTIFIER: (44362..44377) "make-bytevector" + ATMOSPHERE: (44377..44378) " " + CONSTANT: (44378..44382) + NUMBER: (44378..44382) "1024" + ATMOSPHERE: (44382..44383) " " + CONSTANT: (44383..44386) + NUMBER: (44383..44386) "255" + CLOSE_PAREN: (44386..44387) ")" + CLOSE_PAREN: (44387..44388) ")" + CLOSE_PAREN: (44388..44389) ")" + ATMOSPHERE: (44389..44391) " + +" + FORM: (44391..44438) + OPEN_PAREN: (44391..44392) "(" + SYMBOL: (44392..44396) + IDENTIFIER: (44392..44396) "test" + ATMOSPHERE: (44396..44397) " " + CONSTANT: (44397..44398) + NUMBER: (44397..44398) "3" + ATMOSPHERE: (44398..44399) " " + FORM: (44399..44437) + OPEN_PAREN: (44399..44400) "(" + SYMBOL: (44400..44417) + IDENTIFIER: (44400..44417) "bytevector-length" + ATMOSPHERE: (44417..44418) " " + FORM: (44418..44436) + OPEN_PAREN: (44418..44419) "(" + SYMBOL: (44419..44429) + IDENTIFIER: (44419..44429) "bytevector" + ATMOSPHERE: (44429..44430) " " + CONSTANT: (44430..44431) + NUMBER: (44430..44431) "0" + ATMOSPHERE: (44431..44432) " " + CONSTANT: (44432..44433) + NUMBER: (44432..44433) "1" + ATMOSPHERE: (44433..44434) " " + CONSTANT: (44434..44435) + NUMBER: (44434..44435) "2" + CLOSE_PAREN: (44435..44436) ")" + CLOSE_PAREN: (44436..44437) ")" + CLOSE_PAREN: (44437..44438) ")" + ATMOSPHERE: (44438..44440) " + +" + ATMOSPHERE: (44440..44492) ";; (test 0 (bytevector-u8-ref (bytevector 0 1 2) 0))" + ATMOSPHERE: (44492..44493) " +" + ATMOSPHERE: (44493..44545) ";; (test 1 (bytevector-u8-ref (bytevector 0 1 2) 1))" + ATMOSPHERE: (44545..44546) " +" + ATMOSPHERE: (44546..44598) ";; (test 2 (bytevector-u8-ref (bytevector 0 1 2) 2))" + ATMOSPHERE: (44598..44600) " + +" + ATMOSPHERE: (44600..44621) ";; (test #u8(0 255 2)" + ATMOSPHERE: (44621..44622) " +" + ATMOSPHERE: (44622..44694) ";; (let ((bv (bytevector 0 1 2))) (bytevector-u8-set! bv 1 255) bv))" + ATMOSPHERE: (44694..44696) " + +" + ATMOSPHERE: (44696..44735) ";; (test #u8() (bytevector-copy #u8()))" + ATMOSPHERE: (44735..44736) " +" + ATMOSPHERE: (44736..44785) ";; (test #u8(0 1 2) (bytevector-copy #u8(0 1 2)))" + ATMOSPHERE: (44785..44786) " +" + ATMOSPHERE: (44786..44835) ";; (test #u8(1 2) (bytevector-copy #u8(0 1 2) 1))" + ATMOSPHERE: (44835..44836) " +" + ATMOSPHERE: (44836..44885) ";; (test #u8(1) (bytevector-copy #u8(0 1 2) 1 2))" + ATMOSPHERE: (44885..44887) " + +" + ATMOSPHERE: (44887..44910) ";; (test #u8(1 6 7 4 5)" + ATMOSPHERE: (44910..44911) " +" + ATMOSPHERE: (44911..44952) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (44952..44953) " +" + ATMOSPHERE: (44953..45005) ";; (bytevector-copy! bv 1 #u8(6 7 8 9 10) 0 2)" + ATMOSPHERE: (45005..45006) " +" + ATMOSPHERE: (45006..45019) ";; bv))" + ATMOSPHERE: (45019..45020) " +" + ATMOSPHERE: (45020..45044) ";; (test #u8(6 7 8 9 10)" + ATMOSPHERE: (45044..45045) " +" + ATMOSPHERE: (45045..45086) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (45086..45087) " +" + ATMOSPHERE: (45087..45135) ";; (bytevector-copy! bv 0 #u8(6 7 8 9 10))" + ATMOSPHERE: (45135..45136) " +" + ATMOSPHERE: (45136..45149) ";; bv))" + ATMOSPHERE: (45149..45150) " +" + ATMOSPHERE: (45150..45174) ";; (test #u8(8 9 10 4 5)" + ATMOSPHERE: (45174..45175) " +" + ATMOSPHERE: (45175..45216) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (45216..45217) " +" + ATMOSPHERE: (45217..45267) ";; (bytevector-copy! bv 0 #u8(6 7 8 9 10) 2)" + ATMOSPHERE: (45267..45268) " +" + ATMOSPHERE: (45268..45281) ";; bv))" + ATMOSPHERE: (45281..45282) " +" + ATMOSPHERE: (45282..45305) ";; (test #u8(1 2 6 7 8)" + ATMOSPHERE: (45305..45306) " +" + ATMOSPHERE: (45306..45347) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (45347..45348) " +" + ATMOSPHERE: (45348..45400) ";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 0 3)" + ATMOSPHERE: (45400..45401) " +" + ATMOSPHERE: (45401..45414) ";; bv))" + ATMOSPHERE: (45414..45415) " +" + ATMOSPHERE: (45415..45438) ";; (test #u8(1 2 8 4 5)" + ATMOSPHERE: (45438..45439) " +" + ATMOSPHERE: (45439..45480) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (45480..45481) " +" + ATMOSPHERE: (45481..45533) ";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 2 3)" + ATMOSPHERE: (45533..45534) " +" + ATMOSPHERE: (45534..45547) ";; bv))" + ATMOSPHERE: (45547..45549) " + +" + ATMOSPHERE: (45549..45575) ";; ;; same source and dest" + ATMOSPHERE: (45575..45576) " +" + ATMOSPHERE: (45576..45599) ";; (test #u8(1 1 2 4 5)" + ATMOSPHERE: (45599..45600) " +" + ATMOSPHERE: (45600..45641) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (45641..45642) " +" + ATMOSPHERE: (45642..45681) ";; (bytevector-copy! bv 1 bv 0 2)" + ATMOSPHERE: (45681..45682) " +" + ATMOSPHERE: (45682..45695) ";; bv))" + ATMOSPHERE: (45695..45696) " +" + ATMOSPHERE: (45696..45719) ";; (test #u8(1 2 3 1 2)" + ATMOSPHERE: (45719..45720) " +" + ATMOSPHERE: (45720..45761) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (45761..45762) " +" + ATMOSPHERE: (45762..45801) ";; (bytevector-copy! bv 3 bv 0 2)" + ATMOSPHERE: (45801..45802) " +" + ATMOSPHERE: (45802..45815) ";; bv))" + ATMOSPHERE: (45815..45817) " + +" + ATMOSPHERE: (45817..45858) ";; (test #u8() (bytevector-append #u8()))" + ATMOSPHERE: (45858..45859) " +" + ATMOSPHERE: (45859..45906) ";; (test #u8() (bytevector-append #u8() #u8()))" + ATMOSPHERE: (45906..45907) " +" + ATMOSPHERE: (45907..45964) ";; (test #u8(0 1 2) (bytevector-append #u8() #u8(0 1 2)))" + ATMOSPHERE: (45964..45965) " +" + ATMOSPHERE: (45965..46022) ";; (test #u8(0 1 2) (bytevector-append #u8(0 1 2) #u8()))" + ATMOSPHERE: (46022..46023) " +" + ATMOSPHERE: (46023..46087) ";; (test #u8(0 1 2 3 4) (bytevector-append #u8(0 1 2) #u8(3 4)))" + ATMOSPHERE: (46087..46088) " +" + ATMOSPHERE: (46088..46161) ";; (test #u8(0 1 2 3 4 5) (bytevector-append #u8(0 1 2) #u8(3 4) #u8(5)))" + ATMOSPHERE: (46161..46163) " + +" + ATMOSPHERE: (46163..46213) ";; (test "ABC" (utf8->string #u8(#x41 #x42 #x43)))" + ATMOSPHERE: (46213..46214) " +" + ATMOSPHERE: (46214..46268) ";; (test "ABC" (utf8->string #u8(0 #x41 #x42 #x43) 1))" + ATMOSPHERE: (46268..46269) " +" + ATMOSPHERE: (46269..46328) ";; (test "ABC" (utf8->string #u8(0 #x41 #x42 #x43 0) 1 4))" + ATMOSPHERE: (46328..46329) " +" + ATMOSPHERE: (46329..46380) ";; (test "λ" (utf8->string #u8(0 #xCE #xBB 0) 1 3))" + ATMOSPHERE: (46380..46381) " +" + ATMOSPHERE: (46381..46431) ";; (test #u8(#x41 #x42 #x43) (string->utf8 "ABC"))" + ATMOSPHERE: (46431..46432) " +" + ATMOSPHERE: (46432..46479) ";; (test #u8(#x42 #x43) (string->utf8 "ABC" 1))" + ATMOSPHERE: (46479..46480) " +" + ATMOSPHERE: (46480..46524) ";; (test #u8(#x42) (string->utf8 "ABC" 1 2))" + ATMOSPHERE: (46524..46525) " +" + ATMOSPHERE: (46525..46568) ";; (test #u8(#xCE #xBB) (string->utf8 "λ"))" + ATMOSPHERE: (46568..46570) " + +" + FORM: (46570..46580) + OPEN_PAREN: (46570..46571) "(" + SYMBOL: (46571..46579) + IDENTIFIER: (46571..46579) "test-end" + CLOSE_PAREN: (46579..46580) ")" + ATMOSPHERE: (46580..46582) " + +" + FORM: (46582..46618) + OPEN_PAREN: (46582..46583) "(" + SYMBOL: (46583..46593) + IDENTIFIER: (46583..46593) "test-begin" + ATMOSPHERE: (46593..46594) " " + CONSTANT: (46594..46617) + STRING: (46594..46617) ""6.10 Control Features"" + CLOSE_PAREN: (46617..46618) ")" + ATMOSPHERE: (46618..46620) " + +" + FORM: (46620..46646) + OPEN_PAREN: (46620..46621) "(" + SYMBOL: (46621..46625) + IDENTIFIER: (46621..46625) "test" + ATMOSPHERE: (46625..46626) " " + CONSTANT: (46626..46628) + BOOLEAN: (46626..46628) "#t" + ATMOSPHERE: (46628..46629) " " + FORM: (46629..46645) + OPEN_PAREN: (46629..46630) "(" + SYMBOL: (46630..46640) + IDENTIFIER: (46630..46640) "procedure?" + ATMOSPHERE: (46640..46641) " " + SYMBOL: (46641..46644) + IDENTIFIER: (46641..46644) "car" + CLOSE_PAREN: (46644..46645) ")" + CLOSE_PAREN: (46645..46646) ")" + ATMOSPHERE: (46646..46647) " +" + FORM: (46647..46674) + OPEN_PAREN: (46647..46648) "(" + SYMBOL: (46648..46652) + IDENTIFIER: (46648..46652) "test" + ATMOSPHERE: (46652..46653) " " + CONSTANT: (46653..46655) + BOOLEAN: (46653..46655) "#f" + ATMOSPHERE: (46655..46656) " " + FORM: (46656..46673) + OPEN_PAREN: (46656..46657) "(" + SYMBOL: (46657..46667) + IDENTIFIER: (46657..46667) "procedure?" + ATMOSPHERE: (46667..46668) " " + QUOTED_DATUM: (46668..46672) + QUOTE: (46668..46669) "'" + SYMBOL: (46669..46672) + IDENTIFIER: (46669..46672) "car" + CLOSE_PAREN: (46672..46673) ")" + CLOSE_PAREN: (46673..46674) ")" + ATMOSPHERE: (46674..46675) " +" + FORM: (46675..46718) + OPEN_PAREN: (46675..46676) "(" + SYMBOL: (46676..46680) + IDENTIFIER: (46676..46680) "test" + ATMOSPHERE: (46680..46681) " " + CONSTANT: (46681..46683) + BOOLEAN: (46681..46683) "#t" + ATMOSPHERE: (46683..46684) " " + FORM: (46684..46717) + OPEN_PAREN: (46684..46685) "(" + SYMBOL: (46685..46695) + IDENTIFIER: (46685..46695) "procedure?" + ATMOSPHERE: (46695..46696) " " + FORM: (46696..46716) + OPEN_PAREN: (46696..46697) "(" + SYMBOL: (46697..46703) + IDENTIFIER: (46697..46703) "lambda" + ATMOSPHERE: (46703..46704) " " + FORM: (46704..46707) + OPEN_PAREN: (46704..46705) "(" + SYMBOL: (46705..46706) + IDENTIFIER: (46705..46706) "x" + CLOSE_PAREN: (46706..46707) ")" + ATMOSPHERE: (46707..46708) " " + FORM: (46708..46715) + OPEN_PAREN: (46708..46709) "(" + SYMBOL: (46709..46710) + IDENTIFIER: (46709..46710) "*" + ATMOSPHERE: (46710..46711) " " + SYMBOL: (46711..46712) + IDENTIFIER: (46711..46712) "x" + ATMOSPHERE: (46712..46713) " " + SYMBOL: (46713..46714) + IDENTIFIER: (46713..46714) "x" + CLOSE_PAREN: (46714..46715) ")" + CLOSE_PAREN: (46715..46716) ")" + CLOSE_PAREN: (46716..46717) ")" + CLOSE_PAREN: (46717..46718) ")" + ATMOSPHERE: (46718..46719) " +" + FORM: (46719..46763) + OPEN_PAREN: (46719..46720) "(" + SYMBOL: (46720..46724) + IDENTIFIER: (46720..46724) "test" + ATMOSPHERE: (46724..46725) " " + CONSTANT: (46725..46727) + BOOLEAN: (46725..46727) "#f" + ATMOSPHERE: (46727..46728) " " + FORM: (46728..46762) + OPEN_PAREN: (46728..46729) "(" + SYMBOL: (46729..46739) + IDENTIFIER: (46729..46739) "procedure?" + ATMOSPHERE: (46739..46740) " " + QUOTED_DATUM: (46740..46761) + QUOTE: (46740..46741) "'" + FORM: (46741..46761) + OPEN_PAREN: (46741..46742) "(" + SYMBOL: (46742..46748) + IDENTIFIER: (46742..46748) "lambda" + ATMOSPHERE: (46748..46749) " " + FORM: (46749..46752) + OPEN_PAREN: (46749..46750) "(" + SYMBOL: (46750..46751) + IDENTIFIER: (46750..46751) "x" + CLOSE_PAREN: (46751..46752) ")" + ATMOSPHERE: (46752..46753) " " + FORM: (46753..46760) + OPEN_PAREN: (46753..46754) "(" + SYMBOL: (46754..46755) + IDENTIFIER: (46754..46755) "*" + ATMOSPHERE: (46755..46756) " " + SYMBOL: (46756..46757) + IDENTIFIER: (46756..46757) "x" + ATMOSPHERE: (46757..46758) " " + SYMBOL: (46758..46759) + IDENTIFIER: (46758..46759) "x" + CLOSE_PAREN: (46759..46760) ")" + CLOSE_PAREN: (46760..46761) ")" + CLOSE_PAREN: (46761..46762) ")" + CLOSE_PAREN: (46762..46763) ")" + ATMOSPHERE: (46763..46764) " +" + ATMOSPHERE: (46764..46820) ";; (test #t (call-with-current-continuation procedure?))" + ATMOSPHERE: (46820..46822) " + +" + FORM: (46822..46851) + OPEN_PAREN: (46822..46823) "(" + SYMBOL: (46823..46827) + IDENTIFIER: (46823..46827) "test" + ATMOSPHERE: (46827..46828) " " + CONSTANT: (46828..46829) + NUMBER: (46828..46829) "7" + ATMOSPHERE: (46829..46830) " " + FORM: (46830..46850) + OPEN_PAREN: (46830..46831) "(" + SYMBOL: (46831..46836) + IDENTIFIER: (46831..46836) "apply" + ATMOSPHERE: (46836..46837) " " + SYMBOL: (46837..46838) + IDENTIFIER: (46837..46838) "+" + ATMOSPHERE: (46838..46839) " " + FORM: (46839..46849) + OPEN_PAREN: (46839..46840) "(" + SYMBOL: (46840..46844) + IDENTIFIER: (46840..46844) "list" + ATMOSPHERE: (46844..46845) " " + CONSTANT: (46845..46846) + NUMBER: (46845..46846) "3" + ATMOSPHERE: (46846..46847) " " + CONSTANT: (46847..46848) + NUMBER: (46847..46848) "4" + CLOSE_PAREN: (46848..46849) ")" + CLOSE_PAREN: (46849..46850) ")" + CLOSE_PAREN: (46850..46851) ")" + ATMOSPHERE: (46851..46852) " +" + FORM: (46852..46881) + OPEN_PAREN: (46852..46853) "(" + SYMBOL: (46853..46857) + IDENTIFIER: (46853..46857) "test" + ATMOSPHERE: (46857..46858) " " + CONSTANT: (46858..46859) + NUMBER: (46858..46859) "7" + ATMOSPHERE: (46859..46860) " " + FORM: (46860..46880) + OPEN_PAREN: (46860..46861) "(" + SYMBOL: (46861..46866) + IDENTIFIER: (46861..46866) "apply" + ATMOSPHERE: (46866..46867) " " + SYMBOL: (46867..46868) + IDENTIFIER: (46867..46868) "+" + ATMOSPHERE: (46868..46869) " " + CONSTANT: (46869..46870) + NUMBER: (46869..46870) "3" + ATMOSPHERE: (46870..46871) " " + CONSTANT: (46871..46872) + NUMBER: (46871..46872) "4" + ATMOSPHERE: (46872..46873) " " + FORM: (46873..46879) + OPEN_PAREN: (46873..46874) "(" + SYMBOL: (46874..46878) + IDENTIFIER: (46874..46878) "list" + CLOSE_PAREN: (46878..46879) ")" + CLOSE_PAREN: (46879..46880) ")" + CLOSE_PAREN: (46880..46881) ")" + ATMOSPHERE: (46881..46882) " +" + ATMOSPHERE: (46882..46926) ";; (test-error (apply +)) ;; not enough args" + ATMOSPHERE: (46926..46927) " +" + ATMOSPHERE: (46927..46978) ";; (test-error (apply + 3)) ;; final arg not a list" + ATMOSPHERE: (46978..46979) " +" + ATMOSPHERE: (46979..47032) ";; (test-error (apply + 3 4)) ;; final arg not a list" + ATMOSPHERE: (47032..47033) " +" + ATMOSPHERE: (47033..47094) ";; (test-error (apply + '(2 3 . 4))) ;; final arg is improper" + ATMOSPHERE: (47094..47097) " + + +" + ATMOSPHERE: (47097..47115) ";; (define compose" + ATMOSPHERE: (47115..47116) " +" + ATMOSPHERE: (47116..47134) ";; (lambda (f g)" + ATMOSPHERE: (47134..47135) " +" + ATMOSPHERE: (47135..47154) ";; (lambda args" + ATMOSPHERE: (47154..47155) " +" + ATMOSPHERE: (47155..47185) ";; (f (apply g args)))))" + ATMOSPHERE: (47185..47186) " +" + ATMOSPHERE: (47186..47202) ";; (test '(30 0)" + ATMOSPHERE: (47202..47203) " +" + ATMOSPHERE: (47203..47278) ";; (call-with-values (lambda () ((compose exact-integer-sqrt *) 12 75))" + ATMOSPHERE: (47278..47279) " +" + ATMOSPHERE: (47279..47294) ";; list))" + ATMOSPHERE: (47294..47296) " + +" + ATMOSPHERE: (47296..47346) ";; (test '(b e h) (map cadr '((a b) (d e) (g h))))" + ATMOSPHERE: (47346..47348) " + +" + ATMOSPHERE: (47348..47419) ";; (test '(1 4 27 256 3125) (map (lambda (n) (expt n n)) '(1 2 3 4 5)))" + ATMOSPHERE: (47419..47421) " + +" + ATMOSPHERE: (47421..47467) ";; (test '(5 7 9) (map + '(1 2 3) '(4 5 6 7)))" + ATMOSPHERE: (47467..47469) " + +" + ATMOSPHERE: (47469..47480) ";; (test #t" + ATMOSPHERE: (47480..47481) " +" + ATMOSPHERE: (47481..47515) ";; (let ((res (let ((count 0))" + ATMOSPHERE: (47515..47516) " +" + ATMOSPHERE: (47516..47558) ";; (map (lambda (ignored)" + ATMOSPHERE: (47558..47559) " +" + ATMOSPHERE: (47559..47610) ";; (set! count (+ count 1))" + ATMOSPHERE: (47610..47611) " +" + ATMOSPHERE: (47611..47644) ";; count)" + ATMOSPHERE: (47644..47645) " +" + ATMOSPHERE: (47645..47680) ";; '(a b)))))" + ATMOSPHERE: (47680..47681) " +" + ATMOSPHERE: (47681..47713) ";; (or (equal? res '(1 2))" + ATMOSPHERE: (47713..47714) " +" + ATMOSPHERE: (47714..47749) ";; (equal? res '(2 1)))))" + ATMOSPHERE: (47749..47751) " + +" + ATMOSPHERE: (47751..47786) ";; (test '(10 200 3000 40 500 6000)" + ATMOSPHERE: (47786..47787) " +" + ATMOSPHERE: (47787..47824) ";; (let ((ls1 (list 10 100 1000))" + ATMOSPHERE: (47824..47825) " +" + ATMOSPHERE: (47825..47863) ";; (ls2 (list 1 2 3 4 5 6)))" + ATMOSPHERE: (47863..47864) " +" + ATMOSPHERE: (47864..47898) ";; (set-cdr! (cddr ls1) ls1)" + ATMOSPHERE: (47898..47899) " +" + ATMOSPHERE: (47899..47925) ";; (map * ls1 ls2)))" + ATMOSPHERE: (47925..47927) " + +" + ATMOSPHERE: (47927..47981) ";; (test "abdegh" (string-map char-foldcase "AbdEgH"))" + ATMOSPHERE: (47981..47983) " + +" + ATMOSPHERE: (47983..48009) ";; (test "IBM" (string-map" + ATMOSPHERE: (48009..48010) " +" + ATMOSPHERE: (48010..48025) ";; (lambda (c)" + ATMOSPHERE: (48025..48026) " +" + ATMOSPHERE: (48026..48072) ";; (integer->char (+ 1 (char->integer c))))" + ATMOSPHERE: (48072..48073) " +" + ATMOSPHERE: (48073..48084) ";; "HAL"))" + ATMOSPHERE: (48084..48086) " + +" + ATMOSPHERE: (48086..48107) ";; (test "StUdLyCaPs"" + ATMOSPHERE: (48107..48108) " +" + ATMOSPHERE: (48108..48126) ";; (string-map" + ATMOSPHERE: (48126..48127) " +" + ATMOSPHERE: (48127..48201) ";; (lambda (c k) (if (eqv? k #\u) (char-upcase c) (char-downcase c)))" + ATMOSPHERE: (48201..48202) " +" + ATMOSPHERE: (48202..48226) ";; "studlycaps xxx"" + ATMOSPHERE: (48226..48227) " +" + ATMOSPHERE: (48227..48249) ";; "ululululul"))" + ATMOSPHERE: (48249..48251) " + +" + ATMOSPHERE: (48251..48309) ";; (test #(b e h) (vector-map cadr '#((a b) (d e) (g h))))" + ATMOSPHERE: (48309..48311) " + +" + ATMOSPHERE: (48311..48338) ";; (test #(1 4 27 256 3125)" + ATMOSPHERE: (48338..48339) " +" + ATMOSPHERE: (48339..48381) ";; (vector-map (lambda (n) (expt n n))" + ATMOSPHERE: (48381..48382) " +" + ATMOSPHERE: (48382..48416) ";; '#(1 2 3 4 5)))" + ATMOSPHERE: (48416..48418) " + +" + ATMOSPHERE: (48418..48473) ";; (test #(5 7 9) (vector-map + '#(1 2 3) '#(4 5 6 7)))" + ATMOSPHERE: (48473..48475) " + +" + ATMOSPHERE: (48475..48486) ";; (test #t" + ATMOSPHERE: (48486..48487) " +" + ATMOSPHERE: (48487..48521) ";; (let ((res (let ((count 0))" + ATMOSPHERE: (48521..48522) " +" + ATMOSPHERE: (48522..48553) ";; (vector-map" + ATMOSPHERE: (48553..48554) " +" + ATMOSPHERE: (48554..48592) ";; (lambda (ignored)" + ATMOSPHERE: (48592..48593) " +" + ATMOSPHERE: (48593..48640) ";; (set! count (+ count 1))" + ATMOSPHERE: (48640..48641) " +" + ATMOSPHERE: (48641..48670) ";; count)" + ATMOSPHERE: (48670..48671) " +" + ATMOSPHERE: (48671..48703) ";; '#(a b)))))" + ATMOSPHERE: (48703..48704) " +" + ATMOSPHERE: (48704..48736) ";; (or (equal? res #(1 2))" + ATMOSPHERE: (48736..48737) " +" + ATMOSPHERE: (48737..48772) ";; (equal? res #(2 1)))))" + ATMOSPHERE: (48772..48774) " + +" + ATMOSPHERE: (48774..48796) ";; (test #(0 1 4 9 16)" + ATMOSPHERE: (48796..48797) " +" + ATMOSPHERE: (48797..48830) ";; (let ((v (make-vector 5)))" + ATMOSPHERE: (48830..48831) " +" + ATMOSPHERE: (48831..48861) ";; (for-each (lambda (i)" + ATMOSPHERE: (48861..48862) " +" + ATMOSPHERE: (48862..48909) ";; (vector-set! v i (* i i)))" + ATMOSPHERE: (48909..48910) " +" + ATMOSPHERE: (48910..48942) ";; '(0 1 2 3 4))" + ATMOSPHERE: (48942..48943) " +" + ATMOSPHERE: (48943..48955) ";; v))" + ATMOSPHERE: (48955..48957) " + +" + ATMOSPHERE: (48957..48970) ";; (test 9750" + ATMOSPHERE: (48970..48971) " +" + ATMOSPHERE: (48971..49008) ";; (let ((ls1 (list 10 100 1000))" + ATMOSPHERE: (49008..49009) " +" + ATMOSPHERE: (49009..49046) ";; (ls2 (list 1 2 3 4 5 6))" + ATMOSPHERE: (49046..49047) " +" + ATMOSPHERE: (49047..49070) ";; (count 0))" + ATMOSPHERE: (49070..49071) " +" + ATMOSPHERE: (49071..49105) ";; (set-cdr! (cddr ls1) ls1)" + ATMOSPHERE: (49105..49106) " +" + ATMOSPHERE: (49106..49179) ";; (for-each (lambda (x y) (set! count (+ count (* x y)))) ls2 ls1)" + ATMOSPHERE: (49179..49180) " +" + ATMOSPHERE: (49180..49196) ";; count))" + ATMOSPHERE: (49196..49198) " + +" + ATMOSPHERE: (49198..49226) ";; (test '(101 100 99 98 97)" + ATMOSPHERE: (49226..49227) " +" + ATMOSPHERE: (49227..49248) ";; (let ((v '()))" + ATMOSPHERE: (49248..49249) " +" + ATMOSPHERE: (49249..49274) ";; (string-for-each" + ATMOSPHERE: (49274..49275) " +" + ATMOSPHERE: (49275..49333) ";; (lambda (c) (set! v (cons (char->integer c) v)))" + ATMOSPHERE: (49333..49334) " +" + ATMOSPHERE: (49334..49352) ";; "abcde")" + ATMOSPHERE: (49352..49353) " +" + ATMOSPHERE: (49353..49365) ";; v))" + ATMOSPHERE: (49365..49367) " + +" + ATMOSPHERE: (49367..49414) ";; (test '(0 1 4 9 16) (let ((v (make-list 5)))" + ATMOSPHERE: (49414..49415) " +" + ATMOSPHERE: (49415..49436) ";; (vector-for-each" + ATMOSPHERE: (49436..49437) " +" + ATMOSPHERE: (49437..49479) ";; (lambda (i) (list-set! v i (* i i)))" + ATMOSPHERE: (49479..49480) " +" + ATMOSPHERE: (49480..49500) ";; '#(0 1 2 3 4))" + ATMOSPHERE: (49500..49501) " +" + ATMOSPHERE: (49501..49509) ";; v))" + ATMOSPHERE: (49509..49511) " + +" + ATMOSPHERE: (49511..49554) ";; (test -3 (call-with-current-continuation" + ATMOSPHERE: (49554..49555) " +" + ATMOSPHERE: (49555..49574) ";; (lambda (exit)" + ATMOSPHERE: (49574..49575) " +" + ATMOSPHERE: (49575..49603) ";; (for-each (lambda (x)" + ATMOSPHERE: (49603..49604) " +" + ATMOSPHERE: (49604..49640) ";; (if (negative? x)" + ATMOSPHERE: (49640..49641) " +" + ATMOSPHERE: (49641..49674) ";; (exit x)))" + ATMOSPHERE: (49674..49675) " +" + ATMOSPHERE: (49675..49713) ";; '(54 0 37 -3 245 19))" + ATMOSPHERE: (49713..49714) " +" + ATMOSPHERE: (49714..49726) ";; #t)))" + ATMOSPHERE: (49726..49727) " +" + ATMOSPHERE: (49727..49749) ";; (define list-length" + ATMOSPHERE: (49749..49750) " +" + ATMOSPHERE: (49750..49768) ";; (lambda (obj)" + ATMOSPHERE: (49768..49769) " +" + ATMOSPHERE: (49769..49807) ";; (call-with-current-continuation" + ATMOSPHERE: (49807..49808) " +" + ATMOSPHERE: (49808..49833) ";; (lambda (return)" + ATMOSPHERE: (49833..49834) " +" + ATMOSPHERE: (49834..49856) ";; (letrec ((r" + ATMOSPHERE: (49856..49857) " +" + ATMOSPHERE: (49857..49891) ";; (lambda (obj)" + ATMOSPHERE: (49891..49892) " +" + ATMOSPHERE: (49892..49936) ";; (cond ((null? obj) 0)" + ATMOSPHERE: (49936..49937) " +" + ATMOSPHERE: (49937..49978) ";; ((pair? obj)" + ATMOSPHERE: (49978..49979) " +" + ATMOSPHERE: (49979..50029) ";; (+ (r (cdr obj)) 1))" + ATMOSPHERE: (50029..50030) " +" + ATMOSPHERE: (50030..50081) ";; (else (return #f))))))" + ATMOSPHERE: (50081..50082) " +" + ATMOSPHERE: (50082..50107) ";; (r obj))))))" + ATMOSPHERE: (50107..50109) " + +" + ATMOSPHERE: (50109..50145) ";; (test 4 (list-length '(1 2 3 4)))" + ATMOSPHERE: (50145..50147) " + +" + ATMOSPHERE: (50147..50184) ";; (test #f (list-length '(a b . c)))" + ATMOSPHERE: (50184..50186) " + +" + ATMOSPHERE: (50186..50196) ";; (test 5" + ATMOSPHERE: (50196..50197) " +" + ATMOSPHERE: (50197..50246) ";; (call-with-values (lambda () (values 4 5))" + ATMOSPHERE: (50246..50247) " +" + ATMOSPHERE: (50247..50274) ";; (lambda (a b) b)))" + ATMOSPHERE: (50274..50276) " + +" + ATMOSPHERE: (50276..50311) ";; (test -1 (call-with-values * -))" + ATMOSPHERE: (50311..50313) " + +" + ATMOSPHERE: (50313..50348) ";; (test '(connect talk1 disconnect" + ATMOSPHERE: (50348..50349) " +" + ATMOSPHERE: (50349..50385) ";; connect talk2 disconnect)" + ATMOSPHERE: (50385..50386) " +" + ATMOSPHERE: (50386..50409) ";; (let ((path '())" + ATMOSPHERE: (50409..50410) " +" + ATMOSPHERE: (50410..50430) ";; (c #f))" + ATMOSPHERE: (50430..50431) " +" + ATMOSPHERE: (50431..50462) ";; (let ((add (lambda (s)" + ATMOSPHERE: (50462..50463) " +" + ATMOSPHERE: (50463..50513) ";; (set! path (cons s path)))))" + ATMOSPHERE: (50513..50514) " +" + ATMOSPHERE: (50514..50538) ";; (dynamic-wind" + ATMOSPHERE: (50538..50539) " +" + ATMOSPHERE: (50539..50578) ";; (lambda () (add 'connect))" + ATMOSPHERE: (50578..50579) " +" + ATMOSPHERE: (50579..50602) ";; (lambda ()" + ATMOSPHERE: (50602..50603) " +" + ATMOSPHERE: (50603..50654) ";; (add (call-with-current-continuation" + ATMOSPHERE: (50654..50655) " +" + ATMOSPHERE: (50655..50688) ";; (lambda (c0)" + ATMOSPHERE: (50688..50689) " +" + ATMOSPHERE: (50689..50723) ";; (set! c c0)" + ATMOSPHERE: (50723..50724) " +" + ATMOSPHERE: (50724..50757) ";; 'talk1))))" + ATMOSPHERE: (50757..50758) " +" + ATMOSPHERE: (50758..50801) ";; (lambda () (add 'disconnect)))" + ATMOSPHERE: (50801..50802) " +" + ATMOSPHERE: (50802..50836) ";; (if (< (length path) 4)" + ATMOSPHERE: (50836..50837) " +" + ATMOSPHERE: (50837..50862) ";; (c 'talk2)" + ATMOSPHERE: (50862..50863) " +" + ATMOSPHERE: (50863..50896) ";; (reverse path)))))" + ATMOSPHERE: (50896..50898) " + +" + FORM: (50898..50908) + OPEN_PAREN: (50898..50899) "(" + SYMBOL: (50899..50907) + IDENTIFIER: (50899..50907) "test-end" + CLOSE_PAREN: (50907..50908) ")" + ATMOSPHERE: (50908..50910) " + +" + FORM: (50910..50940) + OPEN_PAREN: (50910..50911) "(" + SYMBOL: (50911..50921) + IDENTIFIER: (50911..50921) "test-begin" + ATMOSPHERE: (50921..50922) " " + CONSTANT: (50922..50939) + STRING: (50922..50939) ""6.11 Exceptions"" + CLOSE_PAREN: (50939..50940) ")" + ATMOSPHERE: (50940..50942) " + +" + ATMOSPHERE: (50942..50953) ";; (test 65" + ATMOSPHERE: (50953..50954) " +" + ATMOSPHERE: (50954..50984) ";; (with-exception-handler" + ATMOSPHERE: (50984..50985) " +" + ATMOSPHERE: (50985..51010) ";; (lambda (con) 42)" + ATMOSPHERE: (51010..51011) " +" + ATMOSPHERE: (51011..51029) ";; (lambda ()" + ATMOSPHERE: (51029..51030) " +" + ATMOSPHERE: (51030..51083) ";; (+ (raise-continuable "should be a number")" + ATMOSPHERE: (51083..51084) " +" + ATMOSPHERE: (51084..51103) ";; 23))))" + ATMOSPHERE: (51103..51105) " + +" + ATMOSPHERE: (51105..51116) ";; (test #t" + ATMOSPHERE: (51116..51117) " +" + ATMOSPHERE: (51117..51187) ";; (error-object? (guard (exn (else exn)) (error "BOOM!" 1 2 3))))" + ATMOSPHERE: (51187..51188) " +" + ATMOSPHERE: (51188..51204) ";; (test "BOOM!"" + ATMOSPHERE: (51204..51205) " +" + ATMOSPHERE: (51205..51282) ";; (error-object-message (guard (exn (else exn)) (error "BOOM!" 1 2 3))))" + ATMOSPHERE: (51282..51283) " +" + ATMOSPHERE: (51283..51300) ";; (test '(1 2 3)" + ATMOSPHERE: (51300..51301) " +" + ATMOSPHERE: (51301..51380) ";; (error-object-irritants (guard (exn (else exn)) (error "BOOM!" 1 2 3))))" + ATMOSPHERE: (51380..51382) " + +" + ATMOSPHERE: (51382..51393) ";; (test #f" + ATMOSPHERE: (51393..51394) " +" + ATMOSPHERE: (51394..51456) ";; (file-error? (guard (exn (else exn)) (error "BOOM!"))))" + ATMOSPHERE: (51456..51457) " +" + ATMOSPHERE: (51457..51468) ";; (test #t" + ATMOSPHERE: (51468..51469) " +" + ATMOSPHERE: (51469..51550) ";; (file-error? (guard (exn (else exn)) (open-input-file " no such file "))))" + ATMOSPHERE: (51550..51552) " + +" + ATMOSPHERE: (51552..51563) ";; (test #f" + ATMOSPHERE: (51563..51564) " +" + ATMOSPHERE: (51564..51626) ";; (read-error? (guard (exn (else exn)) (error "BOOM!"))))" + ATMOSPHERE: (51626..51627) " +" + ATMOSPHERE: (51627..51638) ";; (test #t" + ATMOSPHERE: (51638..51639) " +" + ATMOSPHERE: (51639..51716) ";; (read-error? (guard (exn (else exn)) (read (open-input-string ")")))))" + ATMOSPHERE: (51716..51717) " +" + ATMOSPHERE: (51717..51728) ";; (test #t" + ATMOSPHERE: (51728..51729) " +" + ATMOSPHERE: (51729..51807) ";; (read-error? (guard (exn (else exn)) (read (open-input-string "\"")))))" + ATMOSPHERE: (51807..51809) " + +" + ATMOSPHERE: (51809..51844) ";; (define something-went-wrong #f)" + ATMOSPHERE: (51844..51845) " +" + ATMOSPHERE: (51845..51884) ";; (define (test-exception-handler-1 v)" + ATMOSPHERE: (51884..51885) " +" + ATMOSPHERE: (51885..51921) ";; (call-with-current-continuation" + ATMOSPHERE: (51921..51922) " +" + ATMOSPHERE: (51922..51939) ";; (lambda (k)" + ATMOSPHERE: (51939..51940) " +" + ATMOSPHERE: (51940..51971) ";; (with-exception-handler" + ATMOSPHERE: (51971..51972) " +" + ATMOSPHERE: (51972..51992) ";; (lambda (x)" + ATMOSPHERE: (51992..51993) " +" + ATMOSPHERE: (51993..52054) ";; (set! something-went-wrong (list "condition: " x))" + ATMOSPHERE: (52054..52055) " +" + ATMOSPHERE: (52055..52081) ";; (k 'exception))" + ATMOSPHERE: (52081..52082) " +" + ATMOSPHERE: (52082..52101) ";; (lambda ()" + ATMOSPHERE: (52101..52102) " +" + ATMOSPHERE: (52102..52164) ";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error))))))))" + ATMOSPHERE: (52164..52165) " +" + ATMOSPHERE: (52165..52207) ";; (test 106 (test-exception-handler-1 5))" + ATMOSPHERE: (52207..52208) " +" + ATMOSPHERE: (52208..52241) ";; (test #f something-went-wrong)" + ATMOSPHERE: (52241..52242) " +" + ATMOSPHERE: (52242..52292) ";; (test 'exception (test-exception-handler-1 -1))" + ATMOSPHERE: (52292..52293) " +" + ATMOSPHERE: (52293..52349) ";; (test '("condition: " an-error) something-went-wrong)" + ATMOSPHERE: (52349..52351) " + +" + ATMOSPHERE: (52351..52384) ";; (set! something-went-wrong #f)" + ATMOSPHERE: (52384..52385) " +" + ATMOSPHERE: (52385..52424) ";; (define (test-exception-handler-2 v)" + ATMOSPHERE: (52424..52425) " +" + ATMOSPHERE: (52425..52474) ";; (guard (ex (else 'caught-another-exception))" + ATMOSPHERE: (52474..52475) " +" + ATMOSPHERE: (52475..52505) ";; (with-exception-handler" + ATMOSPHERE: (52505..52506) " +" + ATMOSPHERE: (52506..52525) ";; (lambda (x)" + ATMOSPHERE: (52525..52526) " +" + ATMOSPHERE: (52526..52566) ";; (set! something-went-wrong #t)" + ATMOSPHERE: (52566..52567) " +" + ATMOSPHERE: (52567..52599) ";; (list "exception:" x))" + ATMOSPHERE: (52599..52600) " +" + ATMOSPHERE: (52600..52618) ";; (lambda ()" + ATMOSPHERE: (52618..52619) " +" + ATMOSPHERE: (52619..52679) ";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error)))))))" + ATMOSPHERE: (52679..52680) " +" + ATMOSPHERE: (52680..52722) ";; (test 106 (test-exception-handler-2 5))" + ATMOSPHERE: (52722..52723) " +" + ATMOSPHERE: (52723..52756) ";; (test #f something-went-wrong)" + ATMOSPHERE: (52756..52757) " +" + ATMOSPHERE: (52757..52822) ";; (test 'caught-another-exception (test-exception-handler-2 -1))" + ATMOSPHERE: (52822..52823) " +" + ATMOSPHERE: (52823..52856) ";; (test #t something-went-wrong)" + ATMOSPHERE: (52856..52858) " + +" + ATMOSPHERE: (52858..52921) ";; ;; Based on an example from R6RS-lib section 7.1 Exceptions." + ATMOSPHERE: (52921..52922) " +" + ATMOSPHERE: (52922..52982) ";; ;; R7RS section 6.11 Exceptions has a simplified version." + ATMOSPHERE: (52982..52983) " +" + ATMOSPHERE: (52983..53019) ";; (let* ((out (open-output-string))" + ATMOSPHERE: (53019..53020) " +" + ATMOSPHERE: (53020..53060) ";; (value (with-exception-handler" + ATMOSPHERE: (53060..53061) " +" + ATMOSPHERE: (53061..53092) ";; (lambda (con)" + ATMOSPHERE: (53092..53093) " +" + ATMOSPHERE: (53093..53118) ";; (cond" + ATMOSPHERE: (53118..53119) " +" + ATMOSPHERE: (53119..53158) ";; ((not (list? con))" + ATMOSPHERE: (53158..53159) " +" + ATMOSPHERE: (53159..53193) ";; (raise con))" + ATMOSPHERE: (53193..53194) " +" + ATMOSPHERE: (53194..53227) ";; ((list? con)" + ATMOSPHERE: (53227..53228) " +" + ATMOSPHERE: (53228..53274) ";; (display (car con) out))" + ATMOSPHERE: (53274..53275) " +" + ATMOSPHERE: (53275..53301) ";; (else" + ATMOSPHERE: (53301..53302) " +" + ATMOSPHERE: (53302..53367) ";; (display "a warning has been issued" out)))" + ATMOSPHERE: (53367..53368) " +" + ATMOSPHERE: (53368..53391) ";; 42)" + ATMOSPHERE: (53391..53392) " +" + ATMOSPHERE: (53392..53420) ";; (lambda ()" + ATMOSPHERE: (53420..53421) " +" + ATMOSPHERE: (53421..53462) ";; (+ (raise-continuable" + ATMOSPHERE: (53462..53463) " +" + ATMOSPHERE: (53463..53515) ";; (list "should be a number"))" + ATMOSPHERE: (53515..53516) " +" + ATMOSPHERE: (53516..53546) ";; 23)))))" + ATMOSPHERE: (53546..53547) " +" + ATMOSPHERE: (53547..53603) ";; (test "should be a number" (get-output-string out))" + ATMOSPHERE: (53603..53604) " +" + ATMOSPHERE: (53604..53625) ";; (test 65 value))" + ATMOSPHERE: (53625..53627) " + +" + ATMOSPHERE: (53627..53669) ";; ;; From SRFI-34 "Examples" section - #3" + ATMOSPHERE: (53669..53670) " +" + ATMOSPHERE: (53670..53713) ";; (define (test-exception-handler-3 v out)" + ATMOSPHERE: (53713..53714) " +" + ATMOSPHERE: (53714..53736) ";; (guard (condition" + ATMOSPHERE: (53736..53737) " +" + ATMOSPHERE: (53737..53755) ";; (else" + ATMOSPHERE: (53755..53756) " +" + ATMOSPHERE: (53756..53797) ";; (display "condition: " out)" + ATMOSPHERE: (53797..53798) " +" + ATMOSPHERE: (53798..53833) ";; (write condition out)" + ATMOSPHERE: (53833..53834) " +" + ATMOSPHERE: (53834..53865) ";; (display #\! out)" + ATMOSPHERE: (53865..53866) " +" + ATMOSPHERE: (53866..53892) ";; 'exception))" + ATMOSPHERE: (53892..53893) " +" + ATMOSPHERE: (53893..53952) ";; (+ 1 (if (= v 0) (raise 'an-error) (/ 10 v)))))" + ATMOSPHERE: (53952..53953) " +" + ATMOSPHERE: (53953..53989) ";; (let* ((out (open-output-string))" + ATMOSPHERE: (53989..53990) " +" + ATMOSPHERE: (53990..54041) ";; (value (test-exception-handler-3 0 out)))" + ATMOSPHERE: (54041..54042) " +" + ATMOSPHERE: (54042..54070) ";; (test 'exception value)" + ATMOSPHERE: (54070..54071) " +" + ATMOSPHERE: (54071..54130) ";; (test "condition: an-error!" (get-output-string out)))" + ATMOSPHERE: (54130..54132) " + +" + ATMOSPHERE: (54132..54175) ";; (define (test-exception-handler-4 v out)" + ATMOSPHERE: (54175..54176) " +" + ATMOSPHERE: (54176..54212) ";; (call-with-current-continuation" + ATMOSPHERE: (54212..54213) " +" + ATMOSPHERE: (54213..54230) ";; (lambda (k)" + ATMOSPHERE: (54230..54231) " +" + ATMOSPHERE: (54231..54262) ";; (with-exception-handler" + ATMOSPHERE: (54262..54263) " +" + ATMOSPHERE: (54263..54283) ";; (lambda (x)" + ATMOSPHERE: (54283..54284) " +" + ATMOSPHERE: (54284..54320) ";; (display "reraised " out)" + ATMOSPHERE: (54320..54321) " +" + ATMOSPHERE: (54321..54363) ";; (write x out) (display #\! out)" + ATMOSPHERE: (54363..54364) " +" + ATMOSPHERE: (54364..54385) ";; (k 'zero))" + ATMOSPHERE: (54385..54386) " +" + ATMOSPHERE: (54386..54405) ";; (lambda ()" + ATMOSPHERE: (54405..54406) " +" + ATMOSPHERE: (54406..54434) ";; (guard (condition" + ATMOSPHERE: (54434..54435) " +" + ATMOSPHERE: (54435..54476) ";; ((positive? condition)" + ATMOSPHERE: (54476..54477) " +" + ATMOSPHERE: (54477..54507) ";; 'positive)" + ATMOSPHERE: (54507..54508) " +" + ATMOSPHERE: (54508..54549) ";; ((negative? condition)" + ATMOSPHERE: (54549..54550) " +" + ATMOSPHERE: (54550..54581) ";; 'negative))" + ATMOSPHERE: (54581..54582) " +" + ATMOSPHERE: (54582..54610) ";; (raise v)))))))" + ATMOSPHERE: (54610..54612) " + +" + ATMOSPHERE: (54612..54654) ";; ;; From SRFI-34 "Examples" section - #5" + ATMOSPHERE: (54654..54655) " +" + ATMOSPHERE: (54655..54691) ";; (let* ((out (open-output-string))" + ATMOSPHERE: (54691..54692) " +" + ATMOSPHERE: (54692..54743) ";; (value (test-exception-handler-4 1 out)))" + ATMOSPHERE: (54743..54744) " +" + ATMOSPHERE: (54744..54782) ";; (test "" (get-output-string out))" + ATMOSPHERE: (54782..54783) " +" + ATMOSPHERE: (54783..54811) ";; (test 'positive value))" + ATMOSPHERE: (54811..54812) " +" + ATMOSPHERE: (54812..54854) ";; ;; From SRFI-34 "Examples" section - #6" + ATMOSPHERE: (54854..54855) " +" + ATMOSPHERE: (54855..54891) ";; (let* ((out (open-output-string))" + ATMOSPHERE: (54891..54892) " +" + ATMOSPHERE: (54892..54944) ";; (value (test-exception-handler-4 -1 out)))" + ATMOSPHERE: (54944..54945) " +" + ATMOSPHERE: (54945..54983) ";; (test "" (get-output-string out))" + ATMOSPHERE: (54983..54984) " +" + ATMOSPHERE: (54984..55012) ";; (test 'negative value))" + ATMOSPHERE: (55012..55013) " +" + ATMOSPHERE: (55013..55055) ";; ;; From SRFI-34 "Examples" section - #7" + ATMOSPHERE: (55055..55056) " +" + ATMOSPHERE: (55056..55092) ";; (let* ((out (open-output-string))" + ATMOSPHERE: (55092..55093) " +" + ATMOSPHERE: (55093..55144) ";; (value (test-exception-handler-4 0 out)))" + ATMOSPHERE: (55144..55145) " +" + ATMOSPHERE: (55145..55194) ";; (test "reraised 0!" (get-output-string out))" + ATMOSPHERE: (55194..55195) " +" + ATMOSPHERE: (55195..55219) ";; (test 'zero value))" + ATMOSPHERE: (55219..55221) " + +" + ATMOSPHERE: (55221..55263) ";; ;; From SRFI-34 "Examples" section - #8" + ATMOSPHERE: (55263..55264) " +" + ATMOSPHERE: (55264..55275) ";; (test 42" + ATMOSPHERE: (55275..55276) " +" + ATMOSPHERE: (55276..55300) ";; (guard (condition" + ATMOSPHERE: (55300..55301) " +" + ATMOSPHERE: (55301..55344) ";; ((assq 'a condition) => cdr)" + ATMOSPHERE: (55344..55345) " +" + ATMOSPHERE: (55345..55382) ";; ((assq 'b condition)))" + ATMOSPHERE: (55382..55383) " +" + ATMOSPHERE: (55383..55421) ";; (raise (list (cons 'a 42)))))" + ATMOSPHERE: (55421..55423) " + +" + ATMOSPHERE: (55423..55465) ";; ;; From SRFI-34 "Examples" section - #9" + ATMOSPHERE: (55465..55466) " +" + ATMOSPHERE: (55466..55484) ";; (test '(b . 23)" + ATMOSPHERE: (55484..55485) " +" + ATMOSPHERE: (55485..55509) ";; (guard (condition" + ATMOSPHERE: (55509..55510) " +" + ATMOSPHERE: (55510..55553) ";; ((assq 'a condition) => cdr)" + ATMOSPHERE: (55553..55554) " +" + ATMOSPHERE: (55554..55591) ";; ((assq 'b condition)))" + ATMOSPHERE: (55591..55592) " +" + ATMOSPHERE: (55592..55630) ";; (raise (list (cons 'b 23)))))" + ATMOSPHERE: (55630..55632) " + +" + ATMOSPHERE: (55632..55650) ";; (test 'caught-d" + ATMOSPHERE: (55650..55651) " +" + ATMOSPHERE: (55651..55675) ";; (guard (condition" + ATMOSPHERE: (55675..55676) " +" + ATMOSPHERE: (55676..55722) ";; ((assq 'c condition) 'caught-c)" + ATMOSPHERE: (55722..55723) " +" + ATMOSPHERE: (55723..55770) ";; ((assq 'd condition) 'caught-d))" + ATMOSPHERE: (55770..55771) " +" + ATMOSPHERE: (55771..55785) ";; (list" + ATMOSPHERE: (55785..55786) " +" + ATMOSPHERE: (55786..55804) ";; (sqrt 8)" + ATMOSPHERE: (55804..55805) " +" + ATMOSPHERE: (55805..55832) ";; (guard (condition" + ATMOSPHERE: (55832..55833) " +" + ATMOSPHERE: (55833..55879) ";; ((assq 'a condition) => cdr)" + ATMOSPHERE: (55879..55880) " +" + ATMOSPHERE: (55880..55920) ";; ((assq 'b condition)))" + ATMOSPHERE: (55920..55921) " +" + ATMOSPHERE: (55921..55964) ";; (raise (list (cons 'd 24)))))))" + ATMOSPHERE: (55964..55966) " + +" + FORM: (55966..55976) + OPEN_PAREN: (55966..55967) "(" + SYMBOL: (55967..55975) + IDENTIFIER: (55967..55975) "test-end" + CLOSE_PAREN: (55975..55976) ")" + ATMOSPHERE: (55976..55978) " + +" + FORM: (55978..56025) + OPEN_PAREN: (55978..55979) "(" + SYMBOL: (55979..55989) + IDENTIFIER: (55979..55989) "test-begin" + ATMOSPHERE: (55989..55990) " " + CONSTANT: (55990..56024) + STRING: (55990..56024) ""6.12 Environments and evaluation"" + CLOSE_PAREN: (56024..56025) ")" + ATMOSPHERE: (56025..56027) " + +" + ATMOSPHERE: (56027..56088) ";; ;; (test 21 (eval '(* 7 3) (scheme-report-environment 5)))" + ATMOSPHERE: (56088..56090) " + +" + ATMOSPHERE: (56090..56101) ";; (test 20" + ATMOSPHERE: (56101..56102) " +" + ATMOSPHERE: (56102..56171) ";; (let ((f (eval '(lambda (f x) (f x x)) (null-environment 5))))" + ATMOSPHERE: (56171..56172) " +" + ATMOSPHERE: (56172..56191) ";; (f + 10)))" + ATMOSPHERE: (56191..56193) " + +" + ATMOSPHERE: (56193..56256) ";; (test 1024 (eval '(expt 2 10) (environment '(scheme base))))" + ATMOSPHERE: (56256..56257) " +" + ATMOSPHERE: (56257..56294) ";; ;; (sin 0) may return exact number" + ATMOSPHERE: (56294..56295) " +" + ATMOSPHERE: (56295..56366) ";; (test 0.0 (inexact (eval '(sin 0) (environment '(scheme inexact)))))" + ATMOSPHERE: (56366..56367) " +" + ATMOSPHERE: (56367..56378) ";; ;; ditto" + ATMOSPHERE: (56378..56379) " +" + ATMOSPHERE: (56379..56435) ";; (test 1024.0 (eval '(+ (expt 2 10) (inexact (sin 0)))" + ATMOSPHERE: (56435..56436) " +" + ATMOSPHERE: (56436..56506) ";; (environment '(scheme base) '(scheme inexact))))" + ATMOSPHERE: (56506..56508) " + +" + FORM: (56508..56518) + OPEN_PAREN: (56508..56509) "(" + SYMBOL: (56509..56517) + IDENTIFIER: (56509..56517) "test-end" + CLOSE_PAREN: (56517..56518) ")" + ATMOSPHERE: (56518..56520) " + +" + FORM: (56520..56556) + OPEN_PAREN: (56520..56521) "(" + SYMBOL: (56521..56531) + IDENTIFIER: (56521..56531) "test-begin" + ATMOSPHERE: (56531..56532) " " + CONSTANT: (56532..56555) + STRING: (56532..56555) ""6.13 Input and output"" + CLOSE_PAREN: (56555..56556) ")" + ATMOSPHERE: (56556..56558) " + +" + ATMOSPHERE: (56558..56599) ";; (test #t (port? (current-input-port)))" + ATMOSPHERE: (56599..56600) " +" + ATMOSPHERE: (56600..56647) ";; (test #t (input-port? (current-input-port)))" + ATMOSPHERE: (56647..56648) " +" + ATMOSPHERE: (56648..56697) ";; (test #t (output-port? (current-output-port)))" + ATMOSPHERE: (56697..56698) " +" + ATMOSPHERE: (56698..56746) ";; (test #t (output-port? (current-error-port)))" + ATMOSPHERE: (56746..56747) " +" + ATMOSPHERE: (56747..56799) ";; (test #t (input-port? (open-input-string "abc")))" + ATMOSPHERE: (56799..56800) " +" + ATMOSPHERE: (56800..56848) ";; (test #t (output-port? (open-output-string)))" + ATMOSPHERE: (56848..56850) " + +" + ATMOSPHERE: (56850..56904) ";; (test #t (textual-port? (open-input-string "abc")))" + ATMOSPHERE: (56904..56905) " +" + ATMOSPHERE: (56905..56954) ";; (test #t (textual-port? (open-output-string)))" + ATMOSPHERE: (56954..56955) " +" + ATMOSPHERE: (56955..57017) ";; (test #t (binary-port? (open-input-bytevector #u8(0 1 2))))" + ATMOSPHERE: (57017..57018) " +" + ATMOSPHERE: (57018..57070) ";; (test #t (binary-port? (open-output-bytevector)))" + ATMOSPHERE: (57070..57072) " + +" + ATMOSPHERE: (57072..57129) ";; (test #t (input-port-open? (open-input-string "abc")))" + ATMOSPHERE: (57129..57130) " +" + ATMOSPHERE: (57130..57183) ";; (test #t (output-port-open? (open-output-string)))" + ATMOSPHERE: (57183..57185) " + +" + ATMOSPHERE: (57185..57196) ";; (test #f" + ATMOSPHERE: (57196..57197) " +" + ATMOSPHERE: (57197..57241) ";; (let ((in (open-input-string "abc")))" + ATMOSPHERE: (57241..57242) " +" + ATMOSPHERE: (57242..57272) ";; (close-input-port in)" + ATMOSPHERE: (57272..57273) " +" + ATMOSPHERE: (57273..57305) ";; (input-port-open? in)))" + ATMOSPHERE: (57305..57307) " + +" + ATMOSPHERE: (57307..57318) ";; (test #f" + ATMOSPHERE: (57318..57319) " +" + ATMOSPHERE: (57319..57359) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (57359..57360) " +" + ATMOSPHERE: (57360..57392) ";; (close-output-port out)" + ATMOSPHERE: (57392..57393) " +" + ATMOSPHERE: (57393..57427) ";; (output-port-open? out)))" + ATMOSPHERE: (57427..57429) " + +" + ATMOSPHERE: (57429..57440) ";; (test #f" + ATMOSPHERE: (57440..57441) " +" + ATMOSPHERE: (57441..57481) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (57481..57482) " +" + ATMOSPHERE: (57482..57507) ";; (close-port out)" + ATMOSPHERE: (57507..57508) " +" + ATMOSPHERE: (57508..57542) ";; (output-port-open? out)))" + ATMOSPHERE: (57542..57544) " + +" + ATMOSPHERE: (57544..57559) ";; (test 'error" + ATMOSPHERE: (57559..57560) " +" + ATMOSPHERE: (57560..57604) ";; (let ((in (open-input-string "abc")))" + ATMOSPHERE: (57604..57605) " +" + ATMOSPHERE: (57605..57635) ";; (close-input-port in)" + ATMOSPHERE: (57635..57636) " +" + ATMOSPHERE: (57636..57689) ";; (guard (exn (else 'error)) (read-char in))))" + ATMOSPHERE: (57689..57691) " + +" + ATMOSPHERE: (57691..57706) ";; (test 'error" + ATMOSPHERE: (57706..57707) " +" + ATMOSPHERE: (57707..57747) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (57747..57748) " +" + ATMOSPHERE: (57748..57780) ";; (close-output-port out)" + ATMOSPHERE: (57780..57781) " +" + ATMOSPHERE: (57781..57840) ";; (guard (exn (else 'error)) (write-char #\c out))))" + ATMOSPHERE: (57840..57842) " + +" + ATMOSPHERE: (57842..57881) ";; (test #t (eof-object? (eof-object)))" + ATMOSPHERE: (57881..57882) " +" + ATMOSPHERE: (57882..57938) ";; (test #t (eof-object? (read (open-input-string ""))))" + ATMOSPHERE: (57938..57939) " +" + ATMOSPHERE: (57939..57990) ";; (test #t (char-ready? (open-input-string "42")))" + ATMOSPHERE: (57990..57991) " +" + ATMOSPHERE: (57991..58037) ";; (test 42 (read (open-input-string " 42 ")))" + ATMOSPHERE: (58037..58039) " + +" + ATMOSPHERE: (58039..58100) ";; (test #t (eof-object? (read-char (open-input-string ""))))" + ATMOSPHERE: (58100..58101) " +" + ATMOSPHERE: (58101..58152) ";; (test #\a (read-char (open-input-string "abc")))" + ATMOSPHERE: (58152..58154) " + +" + ATMOSPHERE: (58154..58215) ";; (test #t (eof-object? (read-line (open-input-string ""))))" + ATMOSPHERE: (58215..58216) " +" + ATMOSPHERE: (58216..58269) ";; (test "abc" (read-line (open-input-string "abc")))" + ATMOSPHERE: (58269..58270) " +" + ATMOSPHERE: (58270..58330) ";; (test "abc" (read-line (open-input-string "abc\ndef\n")))" + ATMOSPHERE: (58330..58332) " + +" + ATMOSPHERE: (58332..58397) ";; (test #t (eof-object? (read-string 3 (open-input-string ""))))" + ATMOSPHERE: (58397..58398) " +" + ATMOSPHERE: (58398..58456) ";; (test "abc" (read-string 3 (open-input-string "abcd")))" + ATMOSPHERE: (58456..58457) " +" + ATMOSPHERE: (58457..58521) ";; (test "abc" (read-string 3 (open-input-string "abc\ndef\n")))" + ATMOSPHERE: (58521..58523) " + +" + ATMOSPHERE: (58523..58596) ";; (let ((in (open-input-string (string #\x10F700 #\x10F701 #\x10F702))))" + ATMOSPHERE: (58596..58597) " +" + ATMOSPHERE: (58597..58628) ";; (let* ((c0 (peek-char in))" + ATMOSPHERE: (58628..58629) " +" + ATMOSPHERE: (58629..58660) ";; (c1 (read-char in))" + ATMOSPHERE: (58660..58661) " +" + ATMOSPHERE: (58661..58692) ";; (c2 (read-char in))" + ATMOSPHERE: (58692..58693) " +" + ATMOSPHERE: (58693..58725) ";; (c3 (read-char in)))" + ATMOSPHERE: (58725..58726) " +" + ATMOSPHERE: (58726..58752) ";; (test #\x10F700 c0)" + ATMOSPHERE: (58752..58753) " +" + ATMOSPHERE: (58753..58779) ";; (test #\x10F700 c1)" + ATMOSPHERE: (58779..58780) " +" + ATMOSPHERE: (58780..58806) ";; (test #\x10F701 c2)" + ATMOSPHERE: (58806..58807) " +" + ATMOSPHERE: (58807..58835) ";; (test #\x10F702 c3)))" + ATMOSPHERE: (58835..58837) " + +" + ATMOSPHERE: (58837..58864) ";; (test (string #\x10F700)" + ATMOSPHERE: (58864..58865) " +" + ATMOSPHERE: (58865..58905) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (58905..58906) " +" + ATMOSPHERE: (58906..58941) ";; (write-char #\x10F700 out)" + ATMOSPHERE: (58941..58942) " +" + ATMOSPHERE: (58942..58976) ";; (get-output-string out)))" + ATMOSPHERE: (58976..58978) " + +" + ATMOSPHERE: (58978..58992) ";; (test "abc"" + ATMOSPHERE: (58992..58993) " +" + ATMOSPHERE: (58993..59033) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (59033..59034) " +" + ATMOSPHERE: (59034..59059) ";; (write 'abc out)" + ATMOSPHERE: (59059..59060) " +" + ATMOSPHERE: (59060..59094) ";; (get-output-string out)))" + ATMOSPHERE: (59094..59096) " + +" + ATMOSPHERE: (59096..59114) ";; (test "abc def"" + ATMOSPHERE: (59114..59115) " +" + ATMOSPHERE: (59115..59155) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (59155..59156) " +" + ATMOSPHERE: (59156..59188) ";; (display "abc def" out)" + ATMOSPHERE: (59188..59189) " +" + ATMOSPHERE: (59189..59223) ";; (get-output-string out)))" + ATMOSPHERE: (59223..59225) " + +" + ATMOSPHERE: (59225..59239) ";; (test "abc"" + ATMOSPHERE: (59239..59240) " +" + ATMOSPHERE: (59240..59280) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (59280..59281) " +" + ATMOSPHERE: (59281..59307) ";; (display #\a out)" + ATMOSPHERE: (59307..59308) " +" + ATMOSPHERE: (59308..59334) ";; (display "b" out)" + ATMOSPHERE: (59334..59335) " +" + ATMOSPHERE: (59335..59361) ";; (display #\c out)" + ATMOSPHERE: (59361..59362) " +" + ATMOSPHERE: (59362..59396) ";; (get-output-string out)))" + ATMOSPHERE: (59396..59398) " + +" + ATMOSPHERE: (59398..59409) ";; (test #t" + ATMOSPHERE: (59409..59410) " +" + ATMOSPHERE: (59410..59452) ";; (let* ((out (open-output-string))" + ATMOSPHERE: (59452..59453) " +" + ATMOSPHERE: (59453..59519) ";; (r (begin (newline out) (get-output-string out))))" + ATMOSPHERE: (59519..59520) " +" + ATMOSPHERE: (59520..59571) ";; (or (equal? r "\n") (equal? r "\r\n"))))" + ATMOSPHERE: (59571..59573) " + +" + ATMOSPHERE: (59573..59591) ";; (test "abc def"" + ATMOSPHERE: (59591..59592) " +" + ATMOSPHERE: (59592..59632) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (59632..59633) " +" + ATMOSPHERE: (59633..59670) ";; (write-string "abc def" out)" + ATMOSPHERE: (59670..59671) " +" + ATMOSPHERE: (59671..59705) ";; (get-output-string out)))" + ATMOSPHERE: (59705..59707) " + +" + ATMOSPHERE: (59707..59721) ";; (test "def"" + ATMOSPHERE: (59721..59722) " +" + ATMOSPHERE: (59722..59762) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (59762..59763) " +" + ATMOSPHERE: (59763..59802) ";; (write-string "abc def" out 4)" + ATMOSPHERE: (59802..59803) " +" + ATMOSPHERE: (59803..59837) ";; (get-output-string out)))" + ATMOSPHERE: (59837..59839) " + +" + ATMOSPHERE: (59839..59853) ";; (test "c d"" + ATMOSPHERE: (59853..59854) " +" + ATMOSPHERE: (59854..59894) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (59894..59895) " +" + ATMOSPHERE: (59895..59936) ";; (write-string "abc def" out 2 5)" + ATMOSPHERE: (59936..59937) " +" + ATMOSPHERE: (59937..59971) ";; (get-output-string out)))" + ATMOSPHERE: (59971..59973) " + +" + ATMOSPHERE: (59973..59984) ";; (test """ + ATMOSPHERE: (59984..59985) " +" + ATMOSPHERE: (59985..60023) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (60023..60024) " +" + ATMOSPHERE: (60024..60054) ";; (flush-output-port out)" + ATMOSPHERE: (60054..60055) " +" + ATMOSPHERE: (60055..60087) ";; (get-output-string out)))" + ATMOSPHERE: (60087..60089) " + +" + ATMOSPHERE: (60089..60155) ";; (test #t (eof-object? (read-u8 (open-input-bytevector #u8()))))" + ATMOSPHERE: (60155..60156) " +" + ATMOSPHERE: (60156..60212) ";; (test 1 (read-u8 (open-input-bytevector #u8(1 2 3))))" + ATMOSPHERE: (60212..60214) " + +" + ATMOSPHERE: (60214..60290) ";; (test #t (eof-object? (read-bytevector 3 (open-input-bytevector #u8()))))" + ATMOSPHERE: (60290..60291) " +" + ATMOSPHERE: (60291..60346) ";; (test #t (u8-ready? (open-input-bytevector #u8(1))))" + ATMOSPHERE: (60346..60347) " +" + ATMOSPHERE: (60347..60414) ";; (test #u8(1) (read-bytevector 3 (open-input-bytevector #u8(1))))" + ATMOSPHERE: (60414..60415) " +" + ATMOSPHERE: (60415..60486) ";; (test #u8(1 2) (read-bytevector 3 (open-input-bytevector #u8(1 2))))" + ATMOSPHERE: (60486..60487) " +" + ATMOSPHERE: (60487..60562) ";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3))))" + ATMOSPHERE: (60562..60563) " +" + ATMOSPHERE: (60563..60640) ";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3 4))))" + ATMOSPHERE: (60640..60642) " + +" + ATMOSPHERE: (60642..60653) ";; (test #t" + ATMOSPHERE: (60653..60654) " +" + ATMOSPHERE: (60654..60695) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (60695..60696) " +" + ATMOSPHERE: (60696..60772) ";; (eof-object? (read-bytevector! bv (open-input-bytevector #u8())))))" + ATMOSPHERE: (60772..60774) " + +" + ATMOSPHERE: (60774..60798) ";; (test #u8(6 7 8 9 10)" + ATMOSPHERE: (60798..60799) " +" + ATMOSPHERE: (60799..60838) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (60838..60839) " +" + ATMOSPHERE: (60839..60911) ";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 5)" + ATMOSPHERE: (60911..60912) " +" + ATMOSPHERE: (60912..60923) ";; bv))" + ATMOSPHERE: (60923..60925) " + +" + ATMOSPHERE: (60925..60948) ";; (test #u8(6 7 8 4 5)" + ATMOSPHERE: (60948..60949) " +" + ATMOSPHERE: (60949..60988) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (60988..60989) " +" + ATMOSPHERE: (60989..61061) ";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 3)" + ATMOSPHERE: (61061..61062) " +" + ATMOSPHERE: (61062..61073) ";; bv))" + ATMOSPHERE: (61073..61075) " + +" + ATMOSPHERE: (61075..61098) ";; (test #u8(1 2 3 6 5)" + ATMOSPHERE: (61098..61099) " +" + ATMOSPHERE: (61099..61138) ";; (let ((bv (bytevector 1 2 3 4 5)))" + ATMOSPHERE: (61138..61139) " +" + ATMOSPHERE: (61139..61211) ";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 3 4)" + ATMOSPHERE: (61211..61212) " +" + ATMOSPHERE: (61212..61223) ";; bv))" + ATMOSPHERE: (61223..61225) " + +" + ATMOSPHERE: (61225..61244) ";; (test #u8(1 2 3)" + ATMOSPHERE: (61244..61245) " +" + ATMOSPHERE: (61245..61287) ";; (let ((out (open-output-bytevector)))" + ATMOSPHERE: (61287..61288) " +" + ATMOSPHERE: (61288..61311) ";; (write-u8 1 out)" + ATMOSPHERE: (61311..61312) " +" + ATMOSPHERE: (61312..61335) ";; (write-u8 2 out)" + ATMOSPHERE: (61335..61336) " +" + ATMOSPHERE: (61336..61359) ";; (write-u8 3 out)" + ATMOSPHERE: (61359..61360) " +" + ATMOSPHERE: (61360..61396) ";; (get-output-bytevector out)))" + ATMOSPHERE: (61396..61398) " + +" + ATMOSPHERE: (61398..61421) ";; (test #u8(1 2 3 4 5)" + ATMOSPHERE: (61421..61422) " +" + ATMOSPHERE: (61422..61464) ";; (let ((out (open-output-bytevector)))" + ATMOSPHERE: (61464..61465) " +" + ATMOSPHERE: (61465..61509) ";; (write-bytevector #u8(1 2 3 4 5) out)" + ATMOSPHERE: (61509..61510) " +" + ATMOSPHERE: (61510..61546) ";; (get-output-bytevector out)))" + ATMOSPHERE: (61546..61548) " + +" + ATMOSPHERE: (61548..61567) ";; (test #u8(3 4 5)" + ATMOSPHERE: (61567..61568) " +" + ATMOSPHERE: (61568..61610) ";; (let ((out (open-output-bytevector)))" + ATMOSPHERE: (61610..61611) " +" + ATMOSPHERE: (61611..61657) ";; (write-bytevector #u8(1 2 3 4 5) out 2)" + ATMOSPHERE: (61657..61658) " +" + ATMOSPHERE: (61658..61694) ";; (get-output-bytevector out)))" + ATMOSPHERE: (61694..61696) " + +" + ATMOSPHERE: (61696..61713) ";; (test #u8(3 4)" + ATMOSPHERE: (61713..61714) " +" + ATMOSPHERE: (61714..61756) ";; (let ((out (open-output-bytevector)))" + ATMOSPHERE: (61756..61757) " +" + ATMOSPHERE: (61757..61805) ";; (write-bytevector #u8(1 2 3 4 5) out 2 4)" + ATMOSPHERE: (61805..61806) " +" + ATMOSPHERE: (61806..61842) ";; (get-output-bytevector out)))" + ATMOSPHERE: (61842..61844) " + +" + ATMOSPHERE: (61844..61858) ";; (test #u8()" + ATMOSPHERE: (61858..61859) " +" + ATMOSPHERE: (61859..61901) ";; (let ((out (open-output-bytevector)))" + ATMOSPHERE: (61901..61902) " +" + ATMOSPHERE: (61902..61932) ";; (flush-output-port out)" + ATMOSPHERE: (61932..61933) " +" + ATMOSPHERE: (61933..61969) ";; (get-output-bytevector out)))" + ATMOSPHERE: (61969..61971) " + +" + ATMOSPHERE: (61971..61982) ";; (test #t" + ATMOSPHERE: (61982..61983) " +" + ATMOSPHERE: (61983..62002) ";; (and (member" + ATMOSPHERE: (62002..62003) " +" + ATMOSPHERE: (62003..62048) ";; (let ((out (open-output-string))" + ATMOSPHERE: (62048..62049) " +" + ATMOSPHERE: (62049..62081) ";; (x (list 1)))" + ATMOSPHERE: (62081..62082) " +" + ATMOSPHERE: (62082..62111) ";; (set-cdr! x x)" + ATMOSPHERE: (62111..62112) " +" + ATMOSPHERE: (62112..62140) ";; (write x out)" + ATMOSPHERE: (62140..62141) " +" + ATMOSPHERE: (62141..62180) ";; (get-output-string out))" + ATMOSPHERE: (62180..62181) " +" + ATMOSPHERE: (62181..62254) ";; ;; labels not guaranteed to be 0 indexed, spacing may differ" + ATMOSPHERE: (62254..62255) " +" + ATMOSPHERE: (62255..62301) ";; '("#0=(1 . #0#)" "#1=(1 . #1#)"))" + ATMOSPHERE: (62301..62302) " +" + ATMOSPHERE: (62302..62318) ";; #t))" + ATMOSPHERE: (62318..62320) " + +" + ATMOSPHERE: (62320..62348) ";; (test "((1 2 3) (1 2 3))"" + ATMOSPHERE: (62348..62349) " +" + ATMOSPHERE: (62349..62388) ";; (let ((out (open-output-string))" + ATMOSPHERE: (62388..62389) " +" + ATMOSPHERE: (62389..62419) ";; (x (list 1 2 3)))" + ATMOSPHERE: (62419..62420) " +" + ATMOSPHERE: (62420..62451) ";; (write (list x x) out)" + ATMOSPHERE: (62451..62452) " +" + ATMOSPHERE: (62452..62486) ";; (get-output-string out)))" + ATMOSPHERE: (62486..62488) " + +" + ATMOSPHERE: (62488..62516) ";; (test "((1 2 3) (1 2 3))"" + ATMOSPHERE: (62516..62517) " +" + ATMOSPHERE: (62517..62556) ";; (let ((out (open-output-string))" + ATMOSPHERE: (62556..62557) " +" + ATMOSPHERE: (62557..62587) ";; (x (list 1 2 3)))" + ATMOSPHERE: (62587..62588) " +" + ATMOSPHERE: (62588..62626) ";; (write-simple (list x x) out)" + ATMOSPHERE: (62626..62627) " +" + ATMOSPHERE: (62627..62661) ";; (get-output-string out)))" + ATMOSPHERE: (62661..62663) " + +" + ATMOSPHERE: (62663..62674) ";; (test #t" + ATMOSPHERE: (62674..62675) " +" + ATMOSPHERE: (62675..62727) ";; (and (member (let ((out (open-output-string))" + ATMOSPHERE: (62727..62728) " +" + ATMOSPHERE: (62728..62771) ";; (x (list 1 2 3)))" + ATMOSPHERE: (62771..62772) " +" + ATMOSPHERE: (62772..62823) ";; (write-shared (list x x) out)" + ATMOSPHERE: (62823..62824) " +" + ATMOSPHERE: (62824..62870) ";; (get-output-string out))" + ATMOSPHERE: (62870..62871) " +" + ATMOSPHERE: (62871..62932) ";; '("(#0=(1 2 3) #0#)" "(#1=(1 2 3) #1#)"))" + ATMOSPHERE: (62932..62933) " +" + ATMOSPHERE: (62933..62949) ";; #t))" + ATMOSPHERE: (62949..62951) " + +" + FORM: (62951..62977) + OPEN_PAREN: (62951..62952) "(" + SYMBOL: (62952..62962) + IDENTIFIER: (62952..62962) "test-begin" + ATMOSPHERE: (62962..62963) " " + CONSTANT: (62963..62976) + STRING: (62963..62976) ""Read syntax"" + CLOSE_PAREN: (62976..62977) ")" + ATMOSPHERE: (62977..62979) " + +" + ATMOSPHERE: (62979..63022) ";; ;; check reading boolean followed by eof" + ATMOSPHERE: (63022..63023) " +" + ATMOSPHERE: (63023..63067) ";; (test #t (read (open-input-string "#t")))" + ATMOSPHERE: (63067..63068) " +" + ATMOSPHERE: (63068..63115) ";; (test #t (read (open-input-string "#true")))" + ATMOSPHERE: (63115..63116) " +" + ATMOSPHERE: (63116..63160) ";; (test #f (read (open-input-string "#f")))" + ATMOSPHERE: (63160..63161) " +" + ATMOSPHERE: (63161..63209) ";; (test #f (read (open-input-string "#false")))" + ATMOSPHERE: (63209..63210) " +" + ATMOSPHERE: (63210..63233) ";; (define (read2 port)" + ATMOSPHERE: (63233..63234) " +" + ATMOSPHERE: (63234..63280) ";; (let* ((o1 (read port)) (o2 (read port)))" + ATMOSPHERE: (63280..63281) " +" + ATMOSPHERE: (63281..63302) ";; (cons o1 o2)))" + ATMOSPHERE: (63302..63303) " +" + ATMOSPHERE: (63303..63352) ";; ;; check reading boolean followed by delimiter" + ATMOSPHERE: (63352..63353) " +" + ATMOSPHERE: (63353..63410) ";; (test '(#t . (5)) (read2 (open-input-string "#t(5)")))" + ATMOSPHERE: (63410..63411) " +" + ATMOSPHERE: (63411..63469) ";; (test '(#t . 6) (read2 (open-input-string "#true 6 ")))" + ATMOSPHERE: (63469..63470) " +" + ATMOSPHERE: (63470..63524) ";; (test '(#f . 7) (read2 (open-input-string "#f 7")))" + ATMOSPHERE: (63524..63525) " +" + ATMOSPHERE: (63525..63588) ";; (test '(#f . "8") (read2 (open-input-string "#false\"8\"")))" + ATMOSPHERE: (63588..63590) " + +" + ATMOSPHERE: (63590..63635) ";; (test '() (read (open-input-string "()")))" + ATMOSPHERE: (63635..63636) " +" + ATMOSPHERE: (63636..63687) ";; (test '(1 2) (read (open-input-string "(1 2)")))" + ATMOSPHERE: (63687..63688) " +" + ATMOSPHERE: (63688..63743) ";; (test '(1 . 2) (read (open-input-string "(1 . 2)")))" + ATMOSPHERE: (63743..63744) " +" + ATMOSPHERE: (63744..63799) ";; (test '(1 2) (read (open-input-string "(1 . (2))")))" + ATMOSPHERE: (63799..63800) " +" + ATMOSPHERE: (63800..63871) ";; (test '(1 2 3 4 5) (read (open-input-string "(1 . (2 3 4 . (5)))")))" + ATMOSPHERE: (63871..63872) " +" + ATMOSPHERE: (63872..63933) ";; (test '1 (cadr (read (open-input-string "#0=(1 . #0#)"))))" + ATMOSPHERE: (63933..63934) " +" + ATMOSPHERE: (63934..64005) ";; (test '(1 2 3) (cadr (read (open-input-string "(#0=(1 2 3) #0#)"))))" + ATMOSPHERE: (64005..64007) " + +" + ATMOSPHERE: (64007..64067) ";; (test '(quote (1 2)) (read (open-input-string "'(1 2)")))" + ATMOSPHERE: (64067..64068) " +" + ATMOSPHERE: (64068..64139) ";; (test '(quote (1 (unquote 2))) (read (open-input-string "'(1 ,2)")))" + ATMOSPHERE: (64139..64140) " +" + ATMOSPHERE: (64140..64221) ";; (test '(quote (1 (unquote-splicing 2))) (read (open-input-string "'(1 ,@2)")))" + ATMOSPHERE: (64221..64222) " +" + ATMOSPHERE: (64222..64298) ";; (test '(quasiquote (1 (unquote 2))) (read (open-input-string "`(1 ,2)")))" + ATMOSPHERE: (64298..64300) " + +" + ATMOSPHERE: (64300..64346) ";; (test #() (read (open-input-string "#()")))" + ATMOSPHERE: (64346..64347) " +" + ATMOSPHERE: (64347..64399) ";; (test #(a b) (read (open-input-string "#(a b)")))" + ATMOSPHERE: (64399..64401) " + +" + ATMOSPHERE: (64401..64451) ";; (test #u8() (read (open-input-string "#u8()")))" + ATMOSPHERE: (64451..64452) " +" + ATMOSPHERE: (64452..64508) ";; (test #u8(0 1) (read (open-input-string "#u8(0 1)")))" + ATMOSPHERE: (64508..64510) " + +" + ATMOSPHERE: (64510..64557) ";; (test 'abc (read (open-input-string "abc")))" + ATMOSPHERE: (64557..64558) " +" + ATMOSPHERE: (64558..64609) ";; (test 'abc (read (open-input-string "abc def")))" + ATMOSPHERE: (64609..64610) " +" + ATMOSPHERE: (64610..64657) ";; (test 'ABC (read (open-input-string "ABC")))" + ATMOSPHERE: (64657..64658) " +" + ATMOSPHERE: (64658..64716) ";; (test 'Hello (read (open-input-string "|H\\x65;llo|")))" + ATMOSPHERE: (64716..64718) " + +" + ATMOSPHERE: (64718..64777) ";; (test 'abc (read (open-input-string "#!fold-case ABC")))" + ATMOSPHERE: (64777..64778) " +" + ATMOSPHERE: (64778..64852) ";; (test 'ABC (read (open-input-string "#!fold-case #!no-fold-case ABC")))" + ATMOSPHERE: (64852..64854) " + +" + ATMOSPHERE: (64854..64908) ";; (test 'def (read (open-input-string "#; abc def")))" + ATMOSPHERE: (64908..64909) " +" + ATMOSPHERE: (64909..64964) ";; (test 'def (read (open-input-string "; abc \ndef")))" + ATMOSPHERE: (64964..64965) " +" + ATMOSPHERE: (64965..65022) ";; (test 'def (read (open-input-string "#| abc |# def")))" + ATMOSPHERE: (65022..65023) " +" + ATMOSPHERE: (65023..65090) ";; (test 'ghi (read (open-input-string "#| abc #| def |# |# ghi")))" + ATMOSPHERE: (65090..65091) " +" + ATMOSPHERE: (65091..65153) ";; (test 'ghi (read (open-input-string "#; ; abc\n def ghi")))" + ATMOSPHERE: (65153..65154) " +" + ATMOSPHERE: (65154..65220) ";; (test '(abs -16) (read (open-input-string "(#;sqrt abs -16)")))" + ATMOSPHERE: (65220..65221) " +" + ATMOSPHERE: (65221..65281) ";; (test '(a d) (read (open-input-string "(a #; #;b c d)")))" + ATMOSPHERE: (65281..65282) " +" + ATMOSPHERE: (65282..65345) ";; (test '(a e) (read (open-input-string "(a #;(b #;c d) e)")))" + ATMOSPHERE: (65345..65346) " +" + ATMOSPHERE: (65346..65405) ";; (test '(a . c) (read (open-input-string "(a . #;b c)")))" + ATMOSPHERE: (65405..65406) " +" + ATMOSPHERE: (65406..65465) ";; (test '(a . b) (read (open-input-string "(a . b #;c)")))" + ATMOSPHERE: (65465..65467) " + +" + ATMOSPHERE: (65467..65499) ";; (define (test-read-error str)" + ATMOSPHERE: (65499..65500) " +" + ATMOSPHERE: (65500..65521) ";; (test-assert str" + ATMOSPHERE: (65521..65522) " +" + ATMOSPHERE: (65522..65553) ";; (guard (exn (else #t))" + ATMOSPHERE: (65553..65554) " +" + ATMOSPHERE: (65554..65595) ";; (read (open-input-string str))" + ATMOSPHERE: (65595..65596) " +" + ATMOSPHERE: (65596..65612) ";; #f)))" + ATMOSPHERE: (65612..65614) " + +" + ATMOSPHERE: (65614..65646) ";; (test-read-error "(#;a . b)")" + ATMOSPHERE: (65646..65647) " +" + ATMOSPHERE: (65647..65679) ";; (test-read-error "(a . #;b)")" + ATMOSPHERE: (65679..65680) " +" + ATMOSPHERE: (65680..65712) ";; (test-read-error "(a #;. b)")" + ATMOSPHERE: (65712..65713) " +" + ATMOSPHERE: (65713..65749) ";; (test-read-error "(#;x #;y . z)")" + ATMOSPHERE: (65749..65750) " +" + ATMOSPHERE: (65750..65789) ";; (test-read-error "(#; #;x #;y . z)")" + ATMOSPHERE: (65789..65790) " +" + ATMOSPHERE: (65790..65825) ";; (test-read-error "(#; #;x . z)")" + ATMOSPHERE: (65825..65827) " + +" + ATMOSPHERE: (65827..65874) ";; (test #\a (read (open-input-string "#\\a")))" + ATMOSPHERE: (65874..65875) " +" + ATMOSPHERE: (65875..65930) ";; (test #\space (read (open-input-string "#\\space")))" + ATMOSPHERE: (65930..65931) " +" + ATMOSPHERE: (65931..65995) ";; (test 0 (char->integer (read (open-input-string "#\\null"))))" + ATMOSPHERE: (65995..65996) " +" + ATMOSPHERE: (65996..66061) ";; (test 7 (char->integer (read (open-input-string "#\\alarm"))))" + ATMOSPHERE: (66061..66062) " +" + ATMOSPHERE: (66062..66131) ";; (test 8 (char->integer (read (open-input-string "#\\backspace"))))" + ATMOSPHERE: (66131..66132) " +" + ATMOSPHERE: (66132..66195) ";; (test 9 (char->integer (read (open-input-string "#\\tab"))))" + ATMOSPHERE: (66195..66196) " +" + ATMOSPHERE: (66196..66264) ";; (test 10 (char->integer (read (open-input-string "#\\newline"))))" + ATMOSPHERE: (66264..66265) " +" + ATMOSPHERE: (66265..66332) ";; (test 13 (char->integer (read (open-input-string "#\\return"))))" + ATMOSPHERE: (66332..66333) " +" + ATMOSPHERE: (66333..66402) ";; (test #x7F (char->integer (read (open-input-string "#\\delete"))))" + ATMOSPHERE: (66402..66403) " +" + ATMOSPHERE: (66403..66472) ";; (test #x1B (char->integer (read (open-input-string "#\\escape"))))" + ATMOSPHERE: (66472..66473) " +" + ATMOSPHERE: (66473..66539) ";; (test #x03BB (char->integer (read (open-input-string "#\\λ"))))" + ATMOSPHERE: (66539..66540) " +" + ATMOSPHERE: (66540..66610) ";; (test #x03BB (char->integer (read (open-input-string "#\\x03BB"))))" + ATMOSPHERE: (66610..66612) " + +" + ATMOSPHERE: (66612..66664) ";; (test "abc" (read (open-input-string "\"abc\"")))" + ATMOSPHERE: (66664..66665) " +" + ATMOSPHERE: (66665..66725) ";; (test "abc" (read (open-input-string "\"abc\" \"def\"")))" + ATMOSPHERE: (66725..66726) " +" + ATMOSPHERE: (66726..66778) ";; (test "ABC" (read (open-input-string "\"ABC\"")))" + ATMOSPHERE: (66778..66779) " +" + ATMOSPHERE: (66779..66840) ";; (test "Hello" (read (open-input-string "\"H\\x65;llo\"")))" + ATMOSPHERE: (66840..66841) " +" + ATMOSPHERE: (66841..66920) ";; (test 7 (char->integer (string-ref (read (open-input-string "\"\\a\"")) 0)))" + ATMOSPHERE: (66920..66921) " +" + ATMOSPHERE: (66921..67000) ";; (test 8 (char->integer (string-ref (read (open-input-string "\"\\b\"")) 0)))" + ATMOSPHERE: (67000..67001) " +" + ATMOSPHERE: (67001..67080) ";; (test 9 (char->integer (string-ref (read (open-input-string "\"\\t\"")) 0)))" + ATMOSPHERE: (67080..67081) " +" + ATMOSPHERE: (67081..67161) ";; (test 10 (char->integer (string-ref (read (open-input-string "\"\\n\"")) 0)))" + ATMOSPHERE: (67161..67162) " +" + ATMOSPHERE: (67162..67242) ";; (test 13 (char->integer (string-ref (read (open-input-string "\"\\r\"")) 0)))" + ATMOSPHERE: (67242..67243) " +" + ATMOSPHERE: (67243..67326) ";; (test #x22 (char->integer (string-ref (read (open-input-string "\"\\\"\"")) 0)))" + ATMOSPHERE: (67326..67327) " +" + ATMOSPHERE: (67327..67409) ";; (test #x7C (char->integer (string-ref (read (open-input-string "\"\\|\"")) 0)))" + ATMOSPHERE: (67409..67410) " +" + ATMOSPHERE: (67410..67488) ";; (test "line 1\nline 2\n" (read (open-input-string "\"line 1\nline 2\n\"")))" + ATMOSPHERE: (67488..67489) " +" + ATMOSPHERE: (67489..67573) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\\ncontinued\n\"")))" + ATMOSPHERE: (67573..67574) " +" + ATMOSPHERE: (67574..67659) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\ \ncontinued\n\"")))" + ATMOSPHERE: (67659..67660) " +" + ATMOSPHERE: (67660..67745) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\\n continued\n\"")))" + ATMOSPHERE: (67745..67746) " +" + ATMOSPHERE: (67746..67838) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\ \t \n \t continued\n\"")))" + ATMOSPHERE: (67838..67839) " +" + ATMOSPHERE: (67839..67933) ";; (test "line 1\n\nline 3\n" (read (open-input-string "\"line 1\\ \t \n \t \n\nline 3\n\"")))" + ATMOSPHERE: (67933..67934) " +" + ATMOSPHERE: (67934..68023) ";; (test #x03BB (char->integer (string-ref (read (open-input-string "\"\\x03BB;\"")) 0)))" + ATMOSPHERE: (68023..68025) " + +" + ATMOSPHERE: (68025..68060) ";; (define-syntax test-write-syntax" + ATMOSPHERE: (68060..68061) " +" + ATMOSPHERE: (68061..68082) ";; (syntax-rules ()" + ATMOSPHERE: (68082..68083) " +" + ATMOSPHERE: (68083..68130) ";; ((test-write-syntax expect-str obj-expr)" + ATMOSPHERE: (68130..68131) " +" + ATMOSPHERE: (68131..68172) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (68172..68173) " +" + ATMOSPHERE: (68173..68203) ";; (write obj-expr out)" + ATMOSPHERE: (68203..68204) " +" + ATMOSPHERE: (68204..68259) ";; (test expect-str (get-output-string out))))))" + ATMOSPHERE: (68259..68261) " + +" + ATMOSPHERE: (68261..68294) ";; (test-write-syntax "|.|" '|.|)" + ATMOSPHERE: (68294..68295) " +" + ATMOSPHERE: (68295..68332) ";; (test-write-syntax "|a b|" '|a b|)" + ATMOSPHERE: (68332..68333) " +" + ATMOSPHERE: (68333..68368) ";; (test-write-syntax "|,a|" '|,a|)" + ATMOSPHERE: (68368..68369) " +" + ATMOSPHERE: (68369..68404) ";; (test-write-syntax "|\"|" '|\"|)" + ATMOSPHERE: (68404..68405) " +" + ATMOSPHERE: (68405..68441) ";; (test-write-syntax "|\\||" '|\||)" + ATMOSPHERE: (68441..68442) " +" + ATMOSPHERE: (68442..68473) ";; (test-write-syntax "||" '||)" + ATMOSPHERE: (68473..68474) " +" + ATMOSPHERE: (68474..68517) ";; (test-write-syntax "|\\\\123|" '|\\123|)" + ATMOSPHERE: (68517..68518) " +" + ATMOSPHERE: (68518..68549) ";; (test-write-syntax "a" '|a|)" + ATMOSPHERE: (68549..68550) " +" + ATMOSPHERE: (68550..68588) ";; ;; (test-write-syntax "a.b" '|a.b|)" + ATMOSPHERE: (68588..68589) " +" + ATMOSPHERE: (68589..68622) ";; (test-write-syntax "|2|" '|2|)" + ATMOSPHERE: (68622..68623) " +" + ATMOSPHERE: (68623..68658) ";; (test-write-syntax "|+3|" '|+3|)" + ATMOSPHERE: (68658..68659) " +" + ATMOSPHERE: (68659..68696) ";; (test-write-syntax "|-.4|" '|-.4|)" + ATMOSPHERE: (68696..68697) " +" + ATMOSPHERE: (68697..68732) ";; (test-write-syntax "|+i|" '|+i|)" + ATMOSPHERE: (68732..68733) " +" + ATMOSPHERE: (68733..68768) ";; (test-write-syntax "|-i|" '|-i|)" + ATMOSPHERE: (68768..68769) " +" + ATMOSPHERE: (68769..68812) ";; (test-write-syntax "|+inf.0|" '|+inf.0|)" + ATMOSPHERE: (68812..68813) " +" + ATMOSPHERE: (68813..68856) ";; (test-write-syntax "|-inf.0|" '|-inf.0|)" + ATMOSPHERE: (68856..68857) " +" + ATMOSPHERE: (68857..68900) ";; (test-write-syntax "|+nan.0|" '|+nan.0|)" + ATMOSPHERE: (68900..68901) " +" + ATMOSPHERE: (68901..68944) ";; (test-write-syntax "|+NaN.0|" '|+NaN.0|)" + ATMOSPHERE: (68944..68945) " +" + ATMOSPHERE: (68945..68994) ";; (test-write-syntax "|+NaN.0abc|" '|+NaN.0abc|)" + ATMOSPHERE: (68994..68996) " + +" + FORM: (68996..69006) + OPEN_PAREN: (68996..68997) "(" + SYMBOL: (68997..69005) + IDENTIFIER: (68997..69005) "test-end" + CLOSE_PAREN: (69005..69006) ")" + ATMOSPHERE: (69006..69008) " + +" + FORM: (69008..69037) + OPEN_PAREN: (69008..69009) "(" + SYMBOL: (69009..69019) + IDENTIFIER: (69009..69019) "test-begin" + ATMOSPHERE: (69019..69020) " " + CONSTANT: (69020..69036) + STRING: (69020..69036) ""Numeric syntax"" + CLOSE_PAREN: (69036..69037) ")" + ATMOSPHERE: (69037..69039) " + +" + ATMOSPHERE: (69039..69091) ";; ;; Numeric syntax adapted from Peter Bex's tests." + ATMOSPHERE: (69091..69092) " +" + ATMOSPHERE: (69092..69097) ";; ;;" + ATMOSPHERE: (69097..69098) " +" + ATMOSPHERE: (69098..69160) ";; ;; These are updated to R7RS, using string ports instead of" + ATMOSPHERE: (69160..69161) " +" + ATMOSPHERE: (69161..69232) ";; ;; string->number, and "error" tests removed because implementations" + ATMOSPHERE: (69232..69233) " +" + ATMOSPHERE: (69233..69303) ";; ;; are free to provide their own numeric extensions. Currently all" + ATMOSPHERE: (69303..69304) " +" + ATMOSPHERE: (69304..69369) ";; ;; tests are run by default - need to cond-expand and test for" + ATMOSPHERE: (69369..69370) " +" + ATMOSPHERE: (69370..69396) ";; ;; infinities and -0.0." + ATMOSPHERE: (69396..69398) " + +" + ATMOSPHERE: (69398..69435) ";; (define-syntax test-numeric-syntax" + ATMOSPHERE: (69435..69436) " +" + ATMOSPHERE: (69436..69457) ";; (syntax-rules ()" + ATMOSPHERE: (69457..69458) " +" + ATMOSPHERE: (69458..69507) ";; ((test-numeric-syntax str expect strs ...)" + ATMOSPHERE: (69507..69508) " +" + ATMOSPHERE: (69508..69557) ";; (let* ((z (read (open-input-string str)))" + ATMOSPHERE: (69557..69558) " +" + ATMOSPHERE: (69558..69599) ";; (out (open-output-string))" + ATMOSPHERE: (69599..69600) " +" + ATMOSPHERE: (69600..69669) ";; (z-str (begin (write z out) (get-output-string out))))" + ATMOSPHERE: (69669..69670) " +" + ATMOSPHERE: (69670..69704) ";; (test expect (values z))" + ATMOSPHERE: (69704..69705) " +" + ATMOSPHERE: (69705..69768) ";; (test #t (and (member z-str '(str strs ...)) #t))))))" + ATMOSPHERE: (69768..69770) " + +" + ATMOSPHERE: (69770..69801) ";; ;; Each test is of the form:" + ATMOSPHERE: (69801..69802) " +" + ATMOSPHERE: (69802..69807) ";; ;;" + ATMOSPHERE: (69807..69808) " +" + ATMOSPHERE: (69808..69888) ";; ;; (test-numeric-syntax input-str expected-value expected-write-values ...)" + ATMOSPHERE: (69888..69889) " +" + ATMOSPHERE: (69889..69894) ";; ;;" + ATMOSPHERE: (69894..69895) " +" + ATMOSPHERE: (69895..69962) ";; ;; where the input should be eqv? to the expected-value, and the" + ATMOSPHERE: (69962..69963) " +" + ATMOSPHERE: (69963..70034) ";; ;; written output the same as any of the expected-write-values. The" + ATMOSPHERE: (70034..70035) " +" + ATMOSPHERE: (70035..70045) ";; ;; form" + ATMOSPHERE: (70045..70046) " +" + ATMOSPHERE: (70046..70051) ";; ;;" + ATMOSPHERE: (70051..70052) " +" + ATMOSPHERE: (70052..70106) ";; ;; (test-numeric-syntax input-str expected-value)" + ATMOSPHERE: (70106..70107) " +" + ATMOSPHERE: (70107..70112) ";; ;;" + ATMOSPHERE: (70112..70113) " +" + ATMOSPHERE: (70113..70137) ";; ;; is a shorthand for" + ATMOSPHERE: (70137..70138) " +" + ATMOSPHERE: (70138..70143) ";; ;;" + ATMOSPHERE: (70143..70144) " +" + ATMOSPHERE: (70144..70210) ";; ;; (test-numeric-syntax input-str expected-value (input-str))" + ATMOSPHERE: (70210..70212) " + +" + ATMOSPHERE: (70212..70224) ";; ;; Simple" + ATMOSPHERE: (70224..70225) " +" + ATMOSPHERE: (70225..70255) ";; (test-numeric-syntax "1" 1)" + ATMOSPHERE: (70255..70256) " +" + ATMOSPHERE: (70256..70291) ";; (test-numeric-syntax "+1" 1 "1")" + ATMOSPHERE: (70291..70292) " +" + ATMOSPHERE: (70292..70324) ";; (test-numeric-syntax "-1" -1)" + ATMOSPHERE: (70324..70325) " +" + ATMOSPHERE: (70325..70370) ";; (test-numeric-syntax "#i1" 1.0 "1.0" "1.")" + ATMOSPHERE: (70370..70371) " +" + ATMOSPHERE: (70371..70416) ";; (test-numeric-syntax "#I1" 1.0 "1.0" "1.")" + ATMOSPHERE: (70416..70417) " +" + ATMOSPHERE: (70417..70466) ";; (test-numeric-syntax "#i-1" -1.0 "-1.0" "-1.")" + ATMOSPHERE: (70466..70467) " +" + ATMOSPHERE: (70467..70480) ";; ;; Decimal" + ATMOSPHERE: (70480..70481) " +" + ATMOSPHERE: (70481..70526) ";; (test-numeric-syntax "1.0" 1.0 "1.0" "1.")" + ATMOSPHERE: (70526..70527) " +" + ATMOSPHERE: (70527..70571) ";; (test-numeric-syntax "1." 1.0 "1.0" "1.")" + ATMOSPHERE: (70571..70572) " +" + ATMOSPHERE: (70572..70622) ";; (test-numeric-syntax ".1" 0.1 "0.1" "100.0e-3")" + ATMOSPHERE: (70622..70623) " +" + ATMOSPHERE: (70623..70677) ";; (test-numeric-syntax "-.1" -0.1 "-0.1" "-100.0e-3")" + ATMOSPHERE: (70677..70678) " +" + ATMOSPHERE: (70678..70754) ";; ;; Some Schemes don't allow negative zero. This is okay with the standard" + ATMOSPHERE: (70754..70755) " +" + ATMOSPHERE: (70755..70819) ";; (test-numeric-syntax "-.0" -0.0 "-0." "-0.0" "0.0" "0." ".0")" + ATMOSPHERE: (70819..70820) " +" + ATMOSPHERE: (70820..70884) ";; (test-numeric-syntax "-0." -0.0 "-.0" "-0.0" "0.0" "0." ".0")" + ATMOSPHERE: (70884..70885) " +" + ATMOSPHERE: (70885..70932) ";; (test-numeric-syntax "#i1.0" 1.0 "1.0" "1.")" + ATMOSPHERE: (70932..70933) " +" + ATMOSPHERE: (70933..70971) ";; (test-numeric-syntax "#e1.0" 1 "1")" + ATMOSPHERE: (70971..70972) " +" + ATMOSPHERE: (70972..71010) ";; (test-numeric-syntax "#e-.0" 0 "0")" + ATMOSPHERE: (71010..71011) " +" + ATMOSPHERE: (71011..71049) ";; (test-numeric-syntax "#e-0." 0 "0")" + ATMOSPHERE: (71049..71050) " +" + ATMOSPHERE: (71050..71084) ";; ;; Decimal notation with suffix" + ATMOSPHERE: (71084..71085) " +" + ATMOSPHERE: (71085..71136) ";; (test-numeric-syntax "1e2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71136..71137) " +" + ATMOSPHERE: (71137..71188) ";; (test-numeric-syntax "1E2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71188..71189) " +" + ATMOSPHERE: (71189..71240) ";; (test-numeric-syntax "1s2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71240..71241) " +" + ATMOSPHERE: (71241..71292) ";; (test-numeric-syntax "1S2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71292..71293) " +" + ATMOSPHERE: (71293..71344) ";; (test-numeric-syntax "1f2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71344..71345) " +" + ATMOSPHERE: (71345..71396) ";; (test-numeric-syntax "1F2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71396..71397) " +" + ATMOSPHERE: (71397..71448) ";; (test-numeric-syntax "1d2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71448..71449) " +" + ATMOSPHERE: (71449..71500) ";; (test-numeric-syntax "1D2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71500..71501) " +" + ATMOSPHERE: (71501..71552) ";; (test-numeric-syntax "1l2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71552..71553) " +" + ATMOSPHERE: (71553..71604) ";; (test-numeric-syntax "1L2" 100.0 "100.0" "100.")" + ATMOSPHERE: (71604..71605) " +" + ATMOSPHERE: (71605..71619) ";; ;; NaN, Inf" + ATMOSPHERE: (71619..71620) " +" + ATMOSPHERE: (71620..71678) ";; (test-numeric-syntax "+nan.0" +nan.0 "+nan.0" "+NaN.0")" + ATMOSPHERE: (71678..71679) " +" + ATMOSPHERE: (71679..71737) ";; (test-numeric-syntax "+NAN.0" +nan.0 "+nan.0" "+NaN.0")" + ATMOSPHERE: (71737..71738) " +" + ATMOSPHERE: (71738..71796) ";; (test-numeric-syntax "+inf.0" +inf.0 "+inf.0" "+Inf.0")" + ATMOSPHERE: (71796..71797) " +" + ATMOSPHERE: (71797..71855) ";; (test-numeric-syntax "+InF.0" +inf.0 "+inf.0" "+Inf.0")" + ATMOSPHERE: (71855..71856) " +" + ATMOSPHERE: (71856..71914) ";; (test-numeric-syntax "-inf.0" -inf.0 "-inf.0" "-Inf.0")" + ATMOSPHERE: (71914..71915) " +" + ATMOSPHERE: (71915..71973) ";; (test-numeric-syntax "-iNF.0" -inf.0 "-inf.0" "-Inf.0")" + ATMOSPHERE: (71973..71974) " +" + ATMOSPHERE: (71974..72034) ";; (test-numeric-syntax "#i+nan.0" +nan.0 "+nan.0" "+NaN.0")" + ATMOSPHERE: (72034..72035) " +" + ATMOSPHERE: (72035..72095) ";; (test-numeric-syntax "#i+inf.0" +inf.0 "+inf.0" "+Inf.0")" + ATMOSPHERE: (72095..72096) " +" + ATMOSPHERE: (72096..72156) ";; (test-numeric-syntax "#i-inf.0" -inf.0 "-inf.0" "-Inf.0")" + ATMOSPHERE: (72156..72157) " +" + ATMOSPHERE: (72157..72175) ";; ;; Exact ratios" + ATMOSPHERE: (72175..72176) " +" + ATMOSPHERE: (72176..72214) ";; (test-numeric-syntax "1/2" (/ 1 2))" + ATMOSPHERE: (72214..72215) " +" + ATMOSPHERE: (72215..72261) ";; (test-numeric-syntax "#e1/2" (/ 1 2) "1/2")" + ATMOSPHERE: (72261..72262) " +" + ATMOSPHERE: (72262..72299) ";; (test-numeric-syntax "10/2" 5 "5")" + ATMOSPHERE: (72299..72300) " +" + ATMOSPHERE: (72300..72343) ";; (test-numeric-syntax "-1/2" (- (/ 1 2)))" + ATMOSPHERE: (72343..72344) " +" + ATMOSPHERE: (72344..72381) ";; (test-numeric-syntax "0/10" 0 "0")" + ATMOSPHERE: (72381..72382) " +" + ATMOSPHERE: (72382..72421) ";; (test-numeric-syntax "#e0/10" 0 "0")" + ATMOSPHERE: (72421..72422) " +" + ATMOSPHERE: (72422..72472) ";; (test-numeric-syntax "#i3/2" (/ 3.0 2.0) "1.5")" + ATMOSPHERE: (72472..72473) " +" + ATMOSPHERE: (72473..72492) ";; ;; Exact complex" + ATMOSPHERE: (72492..72493) " +" + ATMOSPHERE: (72493..72547) ";; (test-numeric-syntax "1+2i" (make-rectangular 1 2))" + ATMOSPHERE: (72547..72548) " +" + ATMOSPHERE: (72548..72609) ";; (test-numeric-syntax "1+2I" (make-rectangular 1 2) "1+2i")" + ATMOSPHERE: (72609..72610) " +" + ATMOSPHERE: (72610..72665) ";; (test-numeric-syntax "1-2i" (make-rectangular 1 -2))" + ATMOSPHERE: (72665..72666) " +" + ATMOSPHERE: (72666..72722) ";; (test-numeric-syntax "-1+2i" (make-rectangular -1 2))" + ATMOSPHERE: (72722..72723) " +" + ATMOSPHERE: (72723..72780) ";; (test-numeric-syntax "-1-2i" (make-rectangular -1 -2))" + ATMOSPHERE: (72780..72781) " +" + ATMOSPHERE: (72781..72857) ";; (test-numeric-syntax "+i" (make-rectangular 0 1) "+i" "+1i" "0+i" "0+1i")" + ATMOSPHERE: (72857..72858) " +" + ATMOSPHERE: (72858..72935) ";; (test-numeric-syntax "0+i" (make-rectangular 0 1) "+i" "+1i" "0+i" "0+1i")" + ATMOSPHERE: (72935..72936) " +" + ATMOSPHERE: (72936..73014) ";; (test-numeric-syntax "0+1i" (make-rectangular 0 1) "+i" "+1i" "0+i" "0+1i")" + ATMOSPHERE: (73014..73015) " +" + ATMOSPHERE: (73015..73092) ";; (test-numeric-syntax "-i" (make-rectangular 0 -1) "-i" "-1i" "0-i" "0-1i")" + ATMOSPHERE: (73092..73093) " +" + ATMOSPHERE: (73093..73171) ";; (test-numeric-syntax "0-i" (make-rectangular 0 -1) "-i" "-1i" "0-i" "0-1i")" + ATMOSPHERE: (73171..73172) " +" + ATMOSPHERE: (73172..73251) ";; (test-numeric-syntax "0-1i" (make-rectangular 0 -1) "-i" "-1i" "0-i" "0-1i")" + ATMOSPHERE: (73251..73252) " +" + ATMOSPHERE: (73252..73323) ";; (test-numeric-syntax "+2i" (make-rectangular 0 2) "2i" "+2i" "0+2i")" + ATMOSPHERE: (73323..73324) " +" + ATMOSPHERE: (73324..73391) ";; (test-numeric-syntax "-2i" (make-rectangular 0 -2) "-2i" "0-2i")" + ATMOSPHERE: (73391..73392) " +" + ATMOSPHERE: (73392..73453) ";; ;; Decimal-notation complex numbers (rectangular notation)" + ATMOSPHERE: (73453..73454) " +" + ATMOSPHERE: (73454..73549) ";; (test-numeric-syntax "1.0+2i" (make-rectangular 1.0 2) "1.0+2.0i" "1.0+2i" "1.+2i" "1.+2.i")" + ATMOSPHERE: (73549..73550) " +" + ATMOSPHERE: (73550..73645) ";; (test-numeric-syntax "1+2.0i" (make-rectangular 1 2.0) "1.0+2.0i" "1+2.0i" "1.+2.i" "1+2.i")" + ATMOSPHERE: (73645..73646) " +" + ATMOSPHERE: (73646..73734) ";; (test-numeric-syntax "1e2+1.0i" (make-rectangular 100.0 1.0) "100.0+1.0i" "100.+1.i")" + ATMOSPHERE: (73734..73735) " +" + ATMOSPHERE: (73735..73823) ";; (test-numeric-syntax "1s2+1.0i" (make-rectangular 100.0 1.0) "100.0+1.0i" "100.+1.i")" + ATMOSPHERE: (73823..73824) " +" + ATMOSPHERE: (73824..73912) ";; (test-numeric-syntax "1.0+1e2i" (make-rectangular 1.0 100.0) "1.0+100.0i" "1.+100.i")" + ATMOSPHERE: (73912..73913) " +" + ATMOSPHERE: (73913..74001) ";; (test-numeric-syntax "1.0+1s2i" (make-rectangular 1.0 100.0) "1.0+100.0i" "1.+100.i")" + ATMOSPHERE: (74001..74002) " +" + ATMOSPHERE: (74002..74057) ";; ;; Fractional complex numbers (rectangular notation)" + ATMOSPHERE: (74057..74058) " +" + ATMOSPHERE: (74058..74128) ";; (test-numeric-syntax "1/2+3/4i" (make-rectangular (/ 1 2) (/ 3 4)))" + ATMOSPHERE: (74128..74129) " +" + ATMOSPHERE: (74129..74207) ";; ;; Mixed fractional/decimal notation complex numbers (rectangular notation)" + ATMOSPHERE: (74207..74208) " +" + ATMOSPHERE: (74208..74273) ";; (test-numeric-syntax "0.5+3/4i" (make-rectangular 0.5 (/ 3 4))" + ATMOSPHERE: (74273..74274) " +" + ATMOSPHERE: (74274..74343) ";; "0.5+0.75i" ".5+.75i" "0.5+3/4i" ".5+3/4i" "500.0e-3+750.0e-3i")" + ATMOSPHERE: (74343..74344) " +" + ATMOSPHERE: (74344..74389) ";; ;; Complex NaN, Inf (rectangular notation)" + ATMOSPHERE: (74389..74390) " +" + ATMOSPHERE: (74390..74484) ";; ;;(test-numeric-syntax "+nan.0+nan.0i" (make-rectangular the-nan the-nan) "+NaN.0+NaN.0i") " + ATMOSPHERE: (74484..74485) " +" + ATMOSPHERE: (74485..74574) ";; (test-numeric-syntax "+inf.0+inf.0i" (make-rectangular +inf.0 +inf.0) "+Inf.0+Inf.0i")" + ATMOSPHERE: (74574..74575) " +" + ATMOSPHERE: (74575..74664) ";; (test-numeric-syntax "-inf.0+inf.0i" (make-rectangular -inf.0 +inf.0) "-Inf.0+Inf.0i")" + ATMOSPHERE: (74664..74665) " +" + ATMOSPHERE: (74665..74754) ";; (test-numeric-syntax "-inf.0-inf.0i" (make-rectangular -inf.0 -inf.0) "-Inf.0-Inf.0i")" + ATMOSPHERE: (74754..74755) " +" + ATMOSPHERE: (74755..74844) ";; (test-numeric-syntax "+inf.0-inf.0i" (make-rectangular +inf.0 -inf.0) "+Inf.0-Inf.0i")" + ATMOSPHERE: (74844..74845) " +" + ATMOSPHERE: (74845..74883) ";; ;; Complex numbers (polar notation)" + ATMOSPHERE: (74883..74884) " +" + ATMOSPHERE: (74884..74938) ";; ;; Need to account for imprecision in write output." + ATMOSPHERE: (74938..74939) " +" + ATMOSPHERE: (74939..75049) ";; ;;(test-numeric-syntax "1@2" -0.416146836547142+0.909297426825682i "-0.416146836547142+0.909297426825682i")" + ATMOSPHERE: (75049..75050) " +" + ATMOSPHERE: (75050..75069) ";; ;; Base prefixes" + ATMOSPHERE: (75069..75070) " +" + ATMOSPHERE: (75070..75109) ";; (test-numeric-syntax "#x11" 17 "17")" + ATMOSPHERE: (75109..75110) " +" + ATMOSPHERE: (75110..75149) ";; (test-numeric-syntax "#X11" 17 "17")" + ATMOSPHERE: (75149..75150) " +" + ATMOSPHERE: (75150..75189) ";; (test-numeric-syntax "#d11" 11 "11")" + ATMOSPHERE: (75189..75190) " +" + ATMOSPHERE: (75190..75229) ";; (test-numeric-syntax "#D11" 11 "11")" + ATMOSPHERE: (75229..75230) " +" + ATMOSPHERE: (75230..75267) ";; (test-numeric-syntax "#o11" 9 "9")" + ATMOSPHERE: (75267..75268) " +" + ATMOSPHERE: (75268..75305) ";; (test-numeric-syntax "#O11" 9 "9")" + ATMOSPHERE: (75305..75306) " +" + ATMOSPHERE: (75306..75343) ";; (test-numeric-syntax "#b11" 3 "3")" + ATMOSPHERE: (75343..75344) " +" + ATMOSPHERE: (75344..75381) ";; (test-numeric-syntax "#B11" 3 "3")" + ATMOSPHERE: (75381..75382) " +" + ATMOSPHERE: (75382..75418) ";; (test-numeric-syntax "#o7" 7 "7")" + ATMOSPHERE: (75418..75419) " +" + ATMOSPHERE: (75419..75457) ";; (test-numeric-syntax "#xa" 10 "10")" + ATMOSPHERE: (75457..75458) " +" + ATMOSPHERE: (75458..75496) ";; (test-numeric-syntax "#xA" 10 "10")" + ATMOSPHERE: (75496..75497) " +" + ATMOSPHERE: (75497..75535) ";; (test-numeric-syntax "#xf" 15 "15")" + ATMOSPHERE: (75535..75536) " +" + ATMOSPHERE: (75536..75578) ";; (test-numeric-syntax "#x-10" -16 "-16")" + ATMOSPHERE: (75578..75579) " +" + ATMOSPHERE: (75579..75621) ";; (test-numeric-syntax "#d-10" -10 "-10")" + ATMOSPHERE: (75621..75622) " +" + ATMOSPHERE: (75622..75662) ";; (test-numeric-syntax "#o-10" -8 "-8")" + ATMOSPHERE: (75662..75663) " +" + ATMOSPHERE: (75663..75703) ";; (test-numeric-syntax "#b-10" -2 "-2")" + ATMOSPHERE: (75703..75704) " +" + ATMOSPHERE: (75704..75733) ";; ;; Combination of prefixes" + ATMOSPHERE: (75733..75734) " +" + ATMOSPHERE: (75734..75775) ";; (test-numeric-syntax "#e#x10" 16 "16")" + ATMOSPHERE: (75775..75776) " +" + ATMOSPHERE: (75776..75827) ";; (test-numeric-syntax "#i#x10" 16.0 "16.0" "16.")" + ATMOSPHERE: (75827..75828) " +" + ATMOSPHERE: (75828..75879) ";; (test-numeric-syntax "#x#i10" 16.0 "16.0" "16.")" + ATMOSPHERE: (75879..75880) " +" + ATMOSPHERE: (75880..75931) ";; (test-numeric-syntax "#i#x1/10" 0.0625 "0.0625")" + ATMOSPHERE: (75931..75932) " +" + ATMOSPHERE: (75932..75983) ";; (test-numeric-syntax "#x#i1/10" 0.0625 "0.0625")" + ATMOSPHERE: (75983..75984) " +" + ATMOSPHERE: (75984..76037) ";; ;; (Attempted) decimal notation with base prefixes" + ATMOSPHERE: (76037..76038) " +" + ATMOSPHERE: (76038..76084) ";; (test-numeric-syntax "#d1." 1.0 "1.0" "1.")" + ATMOSPHERE: (76084..76085) " +" + ATMOSPHERE: (76085..76142) ";; (test-numeric-syntax "#d.1" 0.1 "0.1" ".1" "100.0e-3")" + ATMOSPHERE: (76142..76143) " +" + ATMOSPHERE: (76143..76185) ";; (test-numeric-syntax "#x1e2" 482 "482")" + ATMOSPHERE: (76185..76186) " +" + ATMOSPHERE: (76186..76239) ";; (test-numeric-syntax "#d1e2" 100.0 "100.0" "100.")" + ATMOSPHERE: (76239..76240) " +" + ATMOSPHERE: (76240..76269) ";; ;; Fractions with prefixes" + ATMOSPHERE: (76269..76270) " +" + ATMOSPHERE: (76270..76309) ";; (test-numeric-syntax "#x10/2" 8 "8")" + ATMOSPHERE: (76309..76310) " +" + ATMOSPHERE: (76310..76359) ";; (test-numeric-syntax "#x11/2" (/ 17 2) "17/2")" + ATMOSPHERE: (76359..76360) " +" + ATMOSPHERE: (76360..76409) ";; (test-numeric-syntax "#d11/2" (/ 11 2) "11/2")" + ATMOSPHERE: (76409..76410) " +" + ATMOSPHERE: (76410..76457) ";; (test-numeric-syntax "#o11/2" (/ 9 2) "9/2")" + ATMOSPHERE: (76457..76458) " +" + ATMOSPHERE: (76458..76506) ";; (test-numeric-syntax "#b11/10" (/ 3 2) "3/2")" + ATMOSPHERE: (76506..76507) " +" + ATMOSPHERE: (76507..76542) ";; ;; Complex numbers with prefixes" + ATMOSPHERE: (76542..76543) " +" + ATMOSPHERE: (76543..76614) ";; ;;(test-numeric-syntax "#x10+11i" (make-rectangular 16 17) "16+17i")" + ATMOSPHERE: (76614..76615) " +" + ATMOSPHERE: (76615..76699) ";; (test-numeric-syntax "#d1.0+1.0i" (make-rectangular 1.0 1.0) "1.0+1.0i" "1.+1.i")" + ATMOSPHERE: (76699..76700) " +" + ATMOSPHERE: (76700..76769) ";; (test-numeric-syntax "#d10+11i" (make-rectangular 10 11) "10+11i")" + ATMOSPHERE: (76769..76770) " +" + ATMOSPHERE: (76770..76837) ";; ;;(test-numeric-syntax "#o10+11i" (make-rectangular 8 9) "8+9i")" + ATMOSPHERE: (76837..76838) " +" + ATMOSPHERE: (76838..76905) ";; ;;(test-numeric-syntax "#b10+11i" (make-rectangular 2 3) "2+3i")" + ATMOSPHERE: (76905..76906) " +" + ATMOSPHERE: (76906..76981) ";; ;;(test-numeric-syntax "#e1.0+1.0i" (make-rectangular 1 1) "1+1i" "1+i")" + ATMOSPHERE: (76981..76982) " +" + ATMOSPHERE: (76982..77068) ";; ;;(test-numeric-syntax "#i1.0+1.0i" (make-rectangular 1.0 1.0) "1.0+1.0i" "1.+1.i")" + ATMOSPHERE: (77068..77070) " + +" + ATMOSPHERE: (77070..77102) ";; (define-syntax test-precision" + ATMOSPHERE: (77102..77103) " +" + ATMOSPHERE: (77103..77124) ";; (syntax-rules ()" + ATMOSPHERE: (77124..77125) " +" + ATMOSPHERE: (77125..77162) ";; ((test-round-trip str alt ...)" + ATMOSPHERE: (77162..77163) " +" + ATMOSPHERE: (77163..77202) ";; (let* ((n (string->number str))" + ATMOSPHERE: (77202..77203) " +" + ATMOSPHERE: (77203..77243) ";; (str2 (number->string n))" + ATMOSPHERE: (77243..77244) " +" + ATMOSPHERE: (77244..77288) ";; (accepted (list str alt ...))" + ATMOSPHERE: (77288..77289) " +" + ATMOSPHERE: (77289..77332) ";; (ls (member str2 accepted)))" + ATMOSPHERE: (77332..77333) " +" + ATMOSPHERE: (77333..77391) ";; (test-assert (string-append "(member? " str2 " "" + ATMOSPHERE: (77391..77392) " +" + ATMOSPHERE: (77392..77463) ";; (let ((out (open-output-string)))" + ATMOSPHERE: (77463..77464) " +" + ATMOSPHERE: (77464..77524) ";; (write accepted out)" + ATMOSPHERE: (77524..77525) " +" + ATMOSPHERE: (77525..77589) ";; (get-output-string out))" + ATMOSPHERE: (77589..77590) " +" + ATMOSPHERE: (77590..77632) ";; ")")" + ATMOSPHERE: (77632..77633) " +" + ATMOSPHERE: (77633..77656) ";; (pair? ls))" + ATMOSPHERE: (77656..77657) " +" + ATMOSPHERE: (77657..77683) ";; (when (pair? ls)" + ATMOSPHERE: (77683..77684) " +" + ATMOSPHERE: (77684..77751) ";; (test-assert (string-append "(eqv?: " str " " str2 ")")" + ATMOSPHERE: (77751..77752) " +" + ATMOSPHERE: (77752..77806) ";; (eqv? n (string->number (car ls)))))))))" + ATMOSPHERE: (77806..77808) " + +" + ATMOSPHERE: (77808..77863) ";; (test-precision "-1.7976931348623157e+308" "-inf.0")" + ATMOSPHERE: (77863..77864) " +" + ATMOSPHERE: (77864..77949) ";; (test-precision "4.940656458412465e-324" "4.94065645841247e-324" "5.0e-324" "0.0")" + ATMOSPHERE: (77949..77950) " +" + ATMOSPHERE: (77950..78035) ";; (test-precision "9.881312916824931e-324" "9.88131291682493e-324" "1.0e-323" "0.0")" + ATMOSPHERE: (78035..78036) " +" + ATMOSPHERE: (78036..78096) ";; (test-precision "1.48219693752374e-323" "1.5e-323" "0.0")" + ATMOSPHERE: (78096..78097) " +" + ATMOSPHERE: (78097..78182) ";; (test-precision "1.976262583364986e-323" "1.97626258336499e-323" "2.0e-323" "0.0")" + ATMOSPHERE: (78182..78183) " +" + ATMOSPHERE: (78183..78268) ";; (test-precision "2.470328229206233e-323" "2.47032822920623e-323" "2.5e-323" "0.0")" + ATMOSPHERE: (78268..78269) " +" + ATMOSPHERE: (78269..78354) ";; (test-precision "2.420921664622108e-322" "2.42092166462211e-322" "2.4e-322" "0.0")" + ATMOSPHERE: (78354..78355) " +" + ATMOSPHERE: (78355..78442) ";; (test-precision "2.420921664622108e-320" "2.42092166462211e-320" "2.421e-320" "0.0")" + ATMOSPHERE: (78442..78443) " +" + ATMOSPHERE: (78443..78495) ";; (test-precision "1.4489974452386991" "1.4489975")" + ATMOSPHERE: (78495..78496) " +" + ATMOSPHERE: (78496..78572) ";; (test-precision "0.14285714285714282" "0.14285714285714288" "0.14285715")" + ATMOSPHERE: (78572..78573) " +" + ATMOSPHERE: (78573..78627) ";; (test-precision "1.7976931348623157e+308" "+inf.0")" + ATMOSPHERE: (78627..78629) " + +" + FORM: (78629..78639) + OPEN_PAREN: (78629..78630) "(" + SYMBOL: (78630..78638) + IDENTIFIER: (78630..78638) "test-end" + CLOSE_PAREN: (78638..78639) ")" + ATMOSPHERE: (78639..78641) " + +" + FORM: (78641..78651) + OPEN_PAREN: (78641..78642) "(" + SYMBOL: (78642..78650) + IDENTIFIER: (78642..78650) "test-end" + CLOSE_PAREN: (78650..78651) ")" + ATMOSPHERE: (78651..78653) " + +" + FORM: (78653..78689) + OPEN_PAREN: (78653..78654) "(" + SYMBOL: (78654..78664) + IDENTIFIER: (78654..78664) "test-begin" + ATMOSPHERE: (78664..78665) " " + CONSTANT: (78665..78688) + STRING: (78665..78688) ""6.14 System interface"" + CLOSE_PAREN: (78688..78689) ")" + ATMOSPHERE: (78689..78691) " + +" + ATMOSPHERE: (78691..78718) ";; ;; 6.14 System interface" + ATMOSPHERE: (78718..78720) " + +" + ATMOSPHERE: (78720..78797) ";; ;; (test "/usr/local/bin:/usr/bin:/bin" (get-environment-variable "PATH"))" + ATMOSPHERE: (78797..78799) " + +" + ATMOSPHERE: (78799..78855) ";; (test #t (string? (get-environment-variable "PATH")))" + ATMOSPHERE: (78855..78857) " + +" + ATMOSPHERE: (78857..78933) ";; ;; (test '(("USER" . "root") ("HOME" . "/")) (get-environment-variables))" + ATMOSPHERE: (78933..78935) " + +" + ATMOSPHERE: (78935..78978) ";; (let ((env (get-environment-variables)))" + ATMOSPHERE: (78978..78979) " +" + ATMOSPHERE: (78979..79005) ";; (define (env-pair? x)" + ATMOSPHERE: (79005..79006) " +" + ATMOSPHERE: (79006..79065) ";; (and (pair? x) (string? (car x)) (string? (cdr x))))" + ATMOSPHERE: (79065..79066) " +" + ATMOSPHERE: (79066..79093) ";; (define (all? pred ls)" + ATMOSPHERE: (79093..79094) " +" + ATMOSPHERE: (79094..79160) ";; (or (null? ls) (and (pred (car ls)) (all? pred (cdr ls)))))" + ATMOSPHERE: (79160..79161) " +" + ATMOSPHERE: (79161..79187) ";; (test #t (list? env))" + ATMOSPHERE: (79187..79188) " +" + ATMOSPHERE: (79188..79224) ";; (test #t (all? env-pair? env)))" + ATMOSPHERE: (79224..79226) " + +" + ATMOSPHERE: (79226..79261) ";; (test #t (list? (command-line)))" + ATMOSPHERE: (79261..79263) " + +" + ATMOSPHERE: (79263..79300) ";; (test #t (real? (current-second)))" + ATMOSPHERE: (79300..79301) " +" + ATMOSPHERE: (79301..79341) ";; (test #t (inexact? (current-second)))" + ATMOSPHERE: (79341..79342) " +" + ATMOSPHERE: (79342..79379) ";; (test #t (exact? (current-jiffy)))" + ATMOSPHERE: (79379..79380) " +" + ATMOSPHERE: (79380..79422) ";; (test #t (exact? (jiffies-per-second)))" + ATMOSPHERE: (79422..79424) " + +" + ATMOSPHERE: (79424..79455) ";; (test #t (list? (features)))" + ATMOSPHERE: (79455..79456) " +" + ATMOSPHERE: (79456..79501) ";; (test #t (and (memq 'r7rs (features)) #t))" + ATMOSPHERE: (79501..79503) " + +" + ATMOSPHERE: (79503..79534) ";; (test #t (file-exists? "."))" + ATMOSPHERE: (79534..79535) " +" + ATMOSPHERE: (79535..79579) ";; (test #f (file-exists? " no such file "))" + ATMOSPHERE: (79579..79581) " + +" + ATMOSPHERE: (79581..79605) ";; (test #t (file-error?" + ATMOSPHERE: (79605..79606) " +" + ATMOSPHERE: (79606..79642) ";; (guard (exn (else exn))" + ATMOSPHERE: (79642..79643) " +" + ATMOSPHERE: (79643..79691) ";; (delete-file " no such file "))))" + ATMOSPHERE: (79691..79693) " + +" + FORM: (79693..79703) + OPEN_PAREN: (79693..79694) "(" + SYMBOL: (79694..79702) + IDENTIFIER: (79694..79702) "test-end" + CLOSE_PAREN: (79702..79703) ")" + ATMOSPHERE: (79703..79705) " + +" + FORM: (79705..79715) + OPEN_PAREN: (79705..79706) "(" + SYMBOL: (79706..79714) + IDENTIFIER: (79706..79714) "test-end" + CLOSE_PAREN: (79714..79715) ")" + ATMOSPHERE: (79715..79716) " +" + EOF: (79716..79716) "" diff --git a/spec/collatz.ast b/spec/collatz.ast new file mode 100644 index 0000000..04a4e06 --- /dev/null +++ b/spec/collatz.ast @@ -0,0 +1,330 @@ +PROGRAM: (0..638) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + ATMOSPHERE: (43..64) ";; Modululs remainder" + ATMOSPHERE: (64..65) " +" + ATMOSPHERE: (65..67) ";;" + ATMOSPHERE: (67..68) " +" + ATMOSPHERE: (68..107) ";; Returns the modulus remainder of n/d" + ATMOSPHERE: (107..108) " +" + FORM: (108..177) + OPEN_PAREN: (108..109) "(" + SYMBOL: (109..115) + IDENTIFIER: (109..115) "define" + ATMOSPHERE: (115..116) " " + FORM: (116..125) + OPEN_PAREN: (116..117) "(" + SYMBOL: (117..120) + IDENTIFIER: (117..120) "mod" + ATMOSPHERE: (120..121) " " + SYMBOL: (121..122) + IDENTIFIER: (121..122) "n" + ATMOSPHERE: (122..123) " " + SYMBOL: (123..124) + IDENTIFIER: (123..124) "d" + CLOSE_PAREN: (124..125) ")" + ATMOSPHERE: (125..130) " + " + FORM: (130..176) + OPEN_PAREN: (130..131) "(" + SYMBOL: (131..133) + IDENTIFIER: (131..133) "if" + ATMOSPHERE: (133..134) " " + FORM: (134..141) + OPEN_PAREN: (134..135) "(" + SYMBOL: (135..136) + IDENTIFIER: (135..136) "<" + ATMOSPHERE: (136..137) " " + SYMBOL: (137..138) + IDENTIFIER: (137..138) "n" + ATMOSPHERE: (138..139) " " + SYMBOL: (139..140) + IDENTIFIER: (139..140) "d" + CLOSE_PAREN: (140..141) ")" + ATMOSPHERE: (141..150) " + " + SYMBOL: (150..151) + IDENTIFIER: (150..151) "n" + ATMOSPHERE: (151..160) " + " + FORM: (160..175) + OPEN_PAREN: (160..161) "(" + SYMBOL: (161..164) + IDENTIFIER: (161..164) "mod" + ATMOSPHERE: (164..165) " " + FORM: (165..172) + OPEN_PAREN: (165..166) "(" + SYMBOL: (166..167) + IDENTIFIER: (166..167) "-" + ATMOSPHERE: (167..168) " " + SYMBOL: (168..169) + IDENTIFIER: (168..169) "n" + ATMOSPHERE: (169..170) " " + SYMBOL: (170..171) + IDENTIFIER: (170..171) "d" + CLOSE_PAREN: (171..172) ")" + ATMOSPHERE: (172..173) " " + SYMBOL: (173..174) + IDENTIFIER: (173..174) "d" + CLOSE_PAREN: (174..175) ")" + CLOSE_PAREN: (175..176) ")" + CLOSE_PAREN: (176..177) ")" + ATMOSPHERE: (177..179) " + +" + ATMOSPHERE: (179..233) ";; Find how long a given number takes to converge on 1" + ATMOSPHERE: (233..234) " +" + FORM: (234..514) + OPEN_PAREN: (234..235) "(" + SYMBOL: (235..241) + IDENTIFIER: (235..241) "define" + ATMOSPHERE: (241..242) " " + FORM: (242..253) + OPEN_PAREN: (242..243) "(" + SYMBOL: (243..250) + IDENTIFIER: (243..250) "collatz" + ATMOSPHERE: (250..251) " " + SYMBOL: (251..252) + IDENTIFIER: (251..252) "x" + CLOSE_PAREN: (252..253) ")" + ATMOSPHERE: (253..258) " + " + FORM: (258..486) + OPEN_PAREN: (258..259) "(" + SYMBOL: (259..265) + IDENTIFIER: (259..265) "define" + ATMOSPHERE: (265..266) " " + FORM: (266..292) + OPEN_PAREN: (266..267) "(" + SYMBOL: (267..283) + IDENTIFIER: (267..283) "collatz-internal" + ATMOSPHERE: (283..284) " " + SYMBOL: (284..285) + IDENTIFIER: (284..285) "x" + ATMOSPHERE: (285..286) " " + SYMBOL: (286..291) + IDENTIFIER: (286..291) "steps" + CLOSE_PAREN: (291..292) ")" + ATMOSPHERE: (292..301) " + " + FORM: (301..485) + OPEN_PAREN: (301..302) "(" + SYMBOL: (302..304) + IDENTIFIER: (302..304) "if" + ATMOSPHERE: (304..305) " " + FORM: (305..312) + OPEN_PAREN: (305..306) "(" + SYMBOL: (306..307) + IDENTIFIER: (306..307) "=" + ATMOSPHERE: (307..308) " " + SYMBOL: (308..309) + IDENTIFIER: (308..309) "x" + ATMOSPHERE: (309..310) " " + CONSTANT: (310..311) + NUMBER: (310..311) "1" + CLOSE_PAREN: (311..312) ")" + ATMOSPHERE: (312..325) " + " + SYMBOL: (325..330) + IDENTIFIER: (325..330) "steps" + ATMOSPHERE: (330..343) " + " + FORM: (343..484) + OPEN_PAREN: (343..344) "(" + SYMBOL: (344..360) + IDENTIFIER: (344..360) "collatz-internal" + ATMOSPHERE: (360..377) " + " + FORM: (377..459) + OPEN_PAREN: (377..378) "(" + SYMBOL: (378..380) + IDENTIFIER: (378..380) "if" + ATMOSPHERE: (380..381) " " + FORM: (381..396) + OPEN_PAREN: (381..382) "(" + SYMBOL: (382..383) + IDENTIFIER: (382..383) "=" + ATMOSPHERE: (383..384) " " + FORM: (384..393) + OPEN_PAREN: (384..385) "(" + SYMBOL: (385..388) + IDENTIFIER: (385..388) "mod" + ATMOSPHERE: (388..389) " " + SYMBOL: (389..390) + IDENTIFIER: (389..390) "x" + ATMOSPHERE: (390..391) " " + CONSTANT: (391..392) + NUMBER: (391..392) "2" + CLOSE_PAREN: (392..393) ")" + ATMOSPHERE: (393..394) " " + CONSTANT: (394..395) + NUMBER: (394..395) "0" + CLOSE_PAREN: (395..396) ")" + ATMOSPHERE: (396..417) " + " + FORM: (417..424) + OPEN_PAREN: (417..418) "(" + SYMBOL: (418..419) + IDENTIFIER: (418..419) "/" + ATMOSPHERE: (419..420) " " + SYMBOL: (420..421) + IDENTIFIER: (420..421) "x" + ATMOSPHERE: (421..422) " " + CONSTANT: (422..423) + NUMBER: (422..423) "2" + CLOSE_PAREN: (423..424) ")" + ATMOSPHERE: (424..445) " + " + FORM: (445..458) + OPEN_PAREN: (445..446) "(" + SYMBOL: (446..447) + IDENTIFIER: (446..447) "+" + ATMOSPHERE: (447..448) " " + FORM: (448..455) + OPEN_PAREN: (448..449) "(" + SYMBOL: (449..450) + IDENTIFIER: (449..450) "*" + ATMOSPHERE: (450..451) " " + SYMBOL: (451..452) + IDENTIFIER: (451..452) "x" + ATMOSPHERE: (452..453) " " + CONSTANT: (453..454) + NUMBER: (453..454) "3" + CLOSE_PAREN: (454..455) ")" + ATMOSPHERE: (455..456) " " + CONSTANT: (456..457) + NUMBER: (456..457) "1" + CLOSE_PAREN: (457..458) ")" + CLOSE_PAREN: (458..459) ")" + ATMOSPHERE: (459..472) " + " + FORM: (472..483) + OPEN_PAREN: (472..473) "(" + SYMBOL: (473..474) + IDENTIFIER: (473..474) "+" + ATMOSPHERE: (474..475) " " + SYMBOL: (475..480) + IDENTIFIER: (475..480) "steps" + ATMOSPHERE: (480..481) " " + CONSTANT: (481..482) + NUMBER: (481..482) "1" + CLOSE_PAREN: (482..483) ")" + CLOSE_PAREN: (483..484) ")" + CLOSE_PAREN: (484..485) ")" + CLOSE_PAREN: (485..486) ")" + ATMOSPHERE: (486..491) " + " + FORM: (491..513) + OPEN_PAREN: (491..492) "(" + SYMBOL: (492..508) + IDENTIFIER: (492..508) "collatz-internal" + ATMOSPHERE: (508..509) " " + SYMBOL: (509..510) + IDENTIFIER: (509..510) "x" + ATMOSPHERE: (510..511) " " + CONSTANT: (511..512) + NUMBER: (511..512) "0" + CLOSE_PAREN: (512..513) ")" + CLOSE_PAREN: (513..514) ")" + ATMOSPHERE: (514..516) " + +" + FORM: (516..538) + OPEN_PAREN: (516..517) "(" + SYMBOL: (517..524) + IDENTIFIER: (517..524) "display" + ATMOSPHERE: (524..525) " " + FORM: (525..537) + OPEN_PAREN: (525..526) "(" + SYMBOL: (526..533) + IDENTIFIER: (526..533) "collatz" + ATMOSPHERE: (533..534) " " + CONSTANT: (534..536) + NUMBER: (534..536) "17" + CLOSE_PAREN: (536..537) ")" + CLOSE_PAREN: (537..538) ")" + FORM: (538..547) + OPEN_PAREN: (538..539) "(" + SYMBOL: (539..546) + IDENTIFIER: (539..546) "newline" + CLOSE_PAREN: (546..547) ")" + ATMOSPHERE: (547..548) " " + ATMOSPHERE: (548..556) ";; => 12" + ATMOSPHERE: (556..557) " +" + FORM: (557..578) + OPEN_PAREN: (557..558) "(" + SYMBOL: (558..565) + IDENTIFIER: (558..565) "display" + ATMOSPHERE: (565..566) " " + FORM: (566..577) + OPEN_PAREN: (566..567) "(" + SYMBOL: (567..574) + IDENTIFIER: (567..574) "collatz" + ATMOSPHERE: (574..575) " " + CONSTANT: (575..576) + NUMBER: (575..576) "1" + CLOSE_PAREN: (576..577) ")" + CLOSE_PAREN: (577..578) ")" + FORM: (578..587) + OPEN_PAREN: (578..579) "(" + SYMBOL: (579..586) + IDENTIFIER: (579..586) "newline" + CLOSE_PAREN: (586..587) ")" + ATMOSPHERE: (587..589) " " + ATMOSPHERE: (589..596) ";; => 0" + ATMOSPHERE: (596..597) " +" + FORM: (597..618) + OPEN_PAREN: (597..598) "(" + SYMBOL: (598..605) + IDENTIFIER: (598..605) "display" + ATMOSPHERE: (605..606) " " + FORM: (606..617) + OPEN_PAREN: (606..607) "(" + SYMBOL: (607..614) + IDENTIFIER: (607..614) "collatz" + ATMOSPHERE: (614..615) " " + CONSTANT: (615..616) + NUMBER: (615..616) "9" + CLOSE_PAREN: (616..617) ")" + CLOSE_PAREN: (617..618) ")" + FORM: (618..627) + OPEN_PAREN: (618..619) "(" + SYMBOL: (619..626) + IDENTIFIER: (619..626) "newline" + CLOSE_PAREN: (626..627) ")" + ATMOSPHERE: (627..629) " " + ATMOSPHERE: (629..637) ";; => 19" + ATMOSPHERE: (637..638) " +" + EOF: (638..638) "" diff --git a/spec/comment.ast b/spec/comment.ast new file mode 100644 index 0000000..5c486b7 --- /dev/null +++ b/spec/comment.ast @@ -0,0 +1,28 @@ +PROGRAM: (0..163) + ATMOSPHERE: (0..9) "; this is" + ATMOSPHERE: (9..10) " +" + ATMOSPHERE: (10..33) ";; just a collection of" + ATMOSPHERE: (33..34) " +" + ATMOSPHERE: (34..47) ";;;; comments" + ATMOSPHERE: (47..48) " +" + ATMOSPHERE: (48..53) "; and" + ATMOSPHERE: (53..54) " +" + ATMOSPHERE: (54..61) ";things" + ATMOSPHERE: (61..62) " +" + ATMOSPHERE: (62..75) "; ; ; ; ; ; ;" + ATMOSPHERE: (75..76) " +" + CONSTANT: (76..77) + NUMBER: (76..77) "0" + ATMOSPHERE: (77..78) " +" + ATMOSPHERE: (78..147) ";; ^^ that one keeps the compiler happy. A file without statements is" + ATMOSPHERE: (147..148) " +" + ATMOSPHERE: (148..163) ";; "undefined"." + EOF: (163..163) "" diff --git a/spec/comments_extended.ast b/spec/comments_extended.ast new file mode 100644 index 0000000..223ccbf --- /dev/null +++ b/spec/comments_extended.ast @@ -0,0 +1,161 @@ +PROGRAM: (0..534) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + ATMOSPHERE: (43..121) "#| + The FACT procedure computes the factorial of a non-negative integer. +|#" + ATMOSPHERE: (121..122) " +" + FORM: (122..507) + OPEN_PAREN: (122..123) "(" + SYMBOL: (123..129) + IDENTIFIER: (123..129) "define" + ATMOSPHERE: (129..130) " " + SYMBOL: (130..134) + IDENTIFIER: (130..134) "fact" + ATMOSPHERE: (134..139) " + " + FORM: (139..506) + OPEN_PAREN: (139..140) "(" + SYMBOL: (140..146) + IDENTIFIER: (140..146) "lambda" + ATMOSPHERE: (146..147) " " + FORM: (147..150) + OPEN_PAREN: (147..148) "(" + SYMBOL: (148..149) + IDENTIFIER: (148..149) "n" + CLOSE_PAREN: (149..150) ")" + ATMOSPHERE: (150..159) " + " + ATMOSPHERE: (159..216) "; ; ~~~ Remove these when builtins are properly supported" + ATMOSPHERE: (216..225) " + " + ATMOSPHERE: (225..243) "; (define (- x) x)" + ATMOSPHERE: (243..252) " + " + ATMOSPHERE: (252..270) "; (define (= y) y)" + ATMOSPHERE: (270..279) " + " + ATMOSPHERE: (279..297) "; (define (* z) z)" + ATMOSPHERE: (297..306) " + " + ATMOSPHERE: (306..356) "; ; ~~~~ Remove when scopes are supported properly" + ATMOSPHERE: (356..365) " + " + ATMOSPHERE: (365..386) "; (define (fact x) x)" + ATMOSPHERE: (386..396) " + + " + FORM: (396..505) + OPEN_PAREN: (396..397) "(" + SYMBOL: (397..399) + IDENTIFIER: (397..399) "if" + ATMOSPHERE: (399..400) " " + FORM: (400..407) + OPEN_PAREN: (400..401) "(" + SYMBOL: (401..402) + IDENTIFIER: (401..402) "=" + ATMOSPHERE: (402..403) " " + SYMBOL: (403..404) + IDENTIFIER: (403..404) "n" + ATMOSPHERE: (404..405) " " + CONSTANT: (405..406) + NUMBER: (405..406) "0" + CLOSE_PAREN: (406..407) ")" + ATMOSPHERE: (407..420) " + " + ATMOSPHERE: (420..442) + ATMOSPHERE: (420..422) "#;" + FORM: (422..429) + OPEN_PAREN: (422..423) "(" + SYMBOL: (423..424) + IDENTIFIER: (423..424) "=" + ATMOSPHERE: (424..425) " " + SYMBOL: (425..426) + IDENTIFIER: (425..426) "n" + ATMOSPHERE: (426..427) " " + CONSTANT: (427..428) + NUMBER: (427..428) "1" + CLOSE_PAREN: (428..429) ")" + ATMOSPHERE: (429..442) " + " + CONSTANT: (442..443) + NUMBER: (442..443) "1" + ATMOSPHERE: (443..451) " " + ATMOSPHERE: (451..471) ";Base case: return 1" + ATMOSPHERE: (471..484) " + " + FORM: (484..504) + OPEN_PAREN: (484..485) "(" + SYMBOL: (485..486) + IDENTIFIER: (485..486) "*" + ATMOSPHERE: (486..487) " " + SYMBOL: (487..488) + IDENTIFIER: (487..488) "n" + ATMOSPHERE: (488..489) " " + FORM: (489..503) + OPEN_PAREN: (489..490) "(" + SYMBOL: (490..494) + IDENTIFIER: (490..494) "fact" + ATMOSPHERE: (494..495) " " + FORM: (495..502) + OPEN_PAREN: (495..496) "(" + SYMBOL: (496..497) + IDENTIFIER: (496..497) "-" + ATMOSPHERE: (497..498) " " + SYMBOL: (498..499) + IDENTIFIER: (498..499) "n" + ATMOSPHERE: (499..500) " " + CONSTANT: (500..501) + NUMBER: (500..501) "1" + CLOSE_PAREN: (501..502) ")" + CLOSE_PAREN: (502..503) ")" + CLOSE_PAREN: (503..504) ")" + CLOSE_PAREN: (504..505) ")" + CLOSE_PAREN: (505..506) ")" + CLOSE_PAREN: (506..507) ")" + ATMOSPHERE: (507..509) " + +" + FORM: (509..527) + OPEN_PAREN: (509..510) "(" + SYMBOL: (510..517) + IDENTIFIER: (510..517) "display" + ATMOSPHERE: (517..518) " " + FORM: (518..526) + OPEN_PAREN: (518..519) "(" + SYMBOL: (519..523) + IDENTIFIER: (519..523) "fact" + ATMOSPHERE: (523..524) " " + CONSTANT: (524..525) + NUMBER: (524..525) "3" + CLOSE_PAREN: (525..526) ")" + CLOSE_PAREN: (526..527) ")" + ATMOSPHERE: (527..528) " " + ATMOSPHERE: (528..534) "; -> 6" + EOF: (534..534) "" diff --git a/spec/conditions.ast b/spec/conditions.ast new file mode 100644 index 0000000..495f0a9 --- /dev/null +++ b/spec/conditions.ast @@ -0,0 +1,320 @@ +PROGRAM: (0..707) + FORM: (0..211) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" + ATMOSPHERE: (93..98) " + " + ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." + ATMOSPHERE: (162..167) " + " + FORM: (167..191) + OPEN_PAREN: (167..168) "(" + SYMBOL: (168..175) + IDENTIFIER: (168..175) "feersum" + ATMOSPHERE: (175..176) " " + SYMBOL: (176..183) + IDENTIFIER: (176..183) "builtin" + ATMOSPHERE: (183..184) " " + SYMBOL: (184..190) + IDENTIFIER: (184..190) "macros" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..196) " + " + FORM: (196..210) + OPEN_PAREN: (196..197) "(" + SYMBOL: (197..203) + IDENTIFIER: (197..203) "scheme" + ATMOSPHERE: (203..204) " " + SYMBOL: (204..209) + IDENTIFIER: (204..209) "write" + CLOSE_PAREN: (209..210) ")" + CLOSE_PAREN: (210..211) ")" + ATMOSPHERE: (211..212) " +" + FORM: (212..318) + OPEN_PAREN: (212..213) "(" + SYMBOL: (213..220) + IDENTIFIER: (213..220) "display" + ATMOSPHERE: (220..221) " " + FORM: (221..317) + OPEN_PAREN: (221..222) "(" + SYMBOL: (222..226) + IDENTIFIER: (222..226) "list" + ATMOSPHERE: (226..231) " + " + FORM: (231..246) + OPEN_PAREN: (231..232) "(" + SYMBOL: (232..236) + IDENTIFIER: (232..236) "when" + ATMOSPHERE: (236..237) " " + CONSTANT: (237..239) + BOOLEAN: (237..239) "#t" + ATMOSPHERE: (239..240) " " + CONSTANT: (240..241) + NUMBER: (240..241) "1" + ATMOSPHERE: (241..242) " " + CONSTANT: (242..243) + NUMBER: (242..243) "2" + ATMOSPHERE: (243..244) " " + CONSTANT: (244..245) + NUMBER: (244..245) "3" + CLOSE_PAREN: (245..246) ")" + ATMOSPHERE: (246..251) " + " + FORM: (251..266) + OPEN_PAREN: (251..252) "(" + SYMBOL: (252..256) + IDENTIFIER: (252..256) "when" + ATMOSPHERE: (256..257) " " + CONSTANT: (257..259) + BOOLEAN: (257..259) "#f" + ATMOSPHERE: (259..260) " " + QUOTED_DATUM: (260..265) + QUOTE: (260..261) "'" + SYMBOL: (261..265) + IDENTIFIER: (261..265) "fail" + CLOSE_PAREN: (265..266) ")" + ATMOSPHERE: (266..271) " + " + FORM: (271..288) + OPEN_PAREN: (271..272) "(" + SYMBOL: (272..278) + IDENTIFIER: (272..278) "unless" + ATMOSPHERE: (278..279) " " + CONSTANT: (279..281) + BOOLEAN: (279..281) "#f" + ATMOSPHERE: (281..282) " " + QUOTED_DATUM: (282..287) + QUOTE: (282..283) "'" + SYMBOL: (283..287) + IDENTIFIER: (283..287) "yarp" + CLOSE_PAREN: (287..288) ")" + ATMOSPHERE: (288..293) " + " + FORM: (293..311) + OPEN_PAREN: (293..294) "(" + SYMBOL: (294..300) + IDENTIFIER: (294..300) "unless" + ATMOSPHERE: (300..301) " " + CONSTANT: (301..306) + BOOLEAN: (301..306) "#true" + ATMOSPHERE: (306..307) " " + CONSTANT: (307..310) + NUMBER: (307..310) "123" + CLOSE_PAREN: (310..311) ")" + ATMOSPHERE: (311..316) " + " + CLOSE_PAREN: (316..317) ")" + CLOSE_PAREN: (317..318) ")" + ATMOSPHERE: (318..320) " + +" + FORM: (320..366) + OPEN_PAREN: (320..321) "(" + SYMBOL: (321..328) + IDENTIFIER: (321..328) "display" + ATMOSPHERE: (328..333) " + " + FORM: (333..365) + OPEN_PAREN: (333..334) "(" + SYMBOL: (334..336) + IDENTIFIER: (334..336) "if" + ATMOSPHERE: (336..337) " " + CONSTANT: (337..339) + BOOLEAN: (337..339) "#t" + ATMOSPHERE: (339..348) " + " + CONSTANT: (348..351) + NUMBER: (348..351) "255" + ATMOSPHERE: (351..360) " + " + CONSTANT: (360..364) + NUMBER: (360..364) "-123" + CLOSE_PAREN: (364..365) ")" + CLOSE_PAREN: (365..366) ")" + ATMOSPHERE: (366..368) " + +" + ATMOSPHERE: (368..421) ";; Hello isn't #f, therefore we should return "world"" + ATMOSPHERE: (421..422) " +" + FORM: (422..475) + OPEN_PAREN: (422..423) "(" + SYMBOL: (423..430) + IDENTIFIER: (423..430) "display" + ATMOSPHERE: (430..435) " + " + FORM: (435..474) + OPEN_PAREN: (435..436) "(" + SYMBOL: (436..438) + IDENTIFIER: (436..438) "if" + ATMOSPHERE: (438..439) " " + CONSTANT: (439..446) + STRING: (439..446) ""hello"" + ATMOSPHERE: (446..455) " + " + CONSTANT: (455..462) + STRING: (455..462) ""world"" + ATMOSPHERE: (462..471) " + " + CONSTANT: (471..473) + NUMBER: (471..473) "-2" + CLOSE_PAREN: (473..474) ")" + CLOSE_PAREN: (474..475) ")" + ATMOSPHERE: (475..485) " + +" + FORM: (485..565) + OPEN_PAREN: (485..486) "(" + SYMBOL: (486..493) + IDENTIFIER: (486..493) "display" + ATMOSPHERE: (493..498) " + " + FORM: (498..564) + OPEN_PAREN: (498..499) "(" + SYMBOL: (499..503) + IDENTIFIER: (499..503) "cond" + ATMOSPHERE: (503..512) " + " + FORM: (512..523) + OPEN_PAREN: (512..513) "(" + CONSTANT: (513..515) + BOOLEAN: (513..515) "#f" + ATMOSPHERE: (515..516) " " + QUOTED_DATUM: (516..522) + QUOTE: (516..517) "'" + SYMBOL: (517..522) + IDENTIFIER: (517..522) "false" + CLOSE_PAREN: (522..523) ")" + ATMOSPHERE: (523..532) " + " + FORM: (532..542) + OPEN_PAREN: (532..533) "(" + CONSTANT: (533..535) + BOOLEAN: (533..535) "#t" + ATMOSPHERE: (535..536) " " + QUOTED_DATUM: (536..541) + QUOTE: (536..537) "'" + SYMBOL: (537..541) + IDENTIFIER: (537..541) "true" + CLOSE_PAREN: (541..542) ")" + ATMOSPHERE: (542..551) " + " + FORM: (551..563) + OPEN_PAREN: (551..552) "(" + SYMBOL: (552..556) + IDENTIFIER: (552..556) "else" + ATMOSPHERE: (556..557) " " + QUOTED_DATUM: (557..562) + QUOTE: (557..558) "'" + SYMBOL: (558..562) + IDENTIFIER: (558..562) "fail" + CLOSE_PAREN: (562..563) ")" + CLOSE_PAREN: (563..564) ")" + CLOSE_PAREN: (564..565) ")" + ATMOSPHERE: (565..566) " +" + FORM: (566..625) + OPEN_PAREN: (566..567) "(" + SYMBOL: (567..574) + IDENTIFIER: (567..574) "display" + ATMOSPHERE: (574..579) " + " + FORM: (579..624) + OPEN_PAREN: (579..580) "(" + SYMBOL: (580..584) + IDENTIFIER: (580..584) "cond" + ATMOSPHERE: (584..593) " + " + FORM: (593..604) + OPEN_PAREN: (593..594) "(" + CONSTANT: (594..596) + BOOLEAN: (594..596) "#f" + ATMOSPHERE: (596..597) " " + QUOTED_DATUM: (597..603) + QUOTE: (597..598) "'" + SYMBOL: (598..603) + IDENTIFIER: (598..603) "false" + CLOSE_PAREN: (603..604) ")" + ATMOSPHERE: (604..613) " + " + FORM: (613..623) + OPEN_PAREN: (613..614) "(" + CONSTANT: (614..616) + BOOLEAN: (614..616) "#t" + ATMOSPHERE: (616..617) " " + QUOTED_DATUM: (617..622) + QUOTE: (617..618) "'" + SYMBOL: (618..622) + IDENTIFIER: (618..622) "true" + CLOSE_PAREN: (622..623) ")" + CLOSE_PAREN: (623..624) ")" + CLOSE_PAREN: (624..625) ")" + ATMOSPHERE: (625..626) " +" + FORM: (626..665) + OPEN_PAREN: (626..627) "(" + SYMBOL: (627..634) + IDENTIFIER: (627..634) "display" + ATMOSPHERE: (634..639) " + " + FORM: (639..664) + OPEN_PAREN: (639..640) "(" + SYMBOL: (640..644) + IDENTIFIER: (640..644) "cond" + ATMOSPHERE: (644..653) " + " + FORM: (653..663) + OPEN_PAREN: (653..654) "(" + SYMBOL: (654..658) + IDENTIFIER: (654..658) "else" + ATMOSPHERE: (658..659) " " + QUOTED_DATUM: (659..662) + QUOTE: (659..660) "'" + SYMBOL: (660..662) + IDENTIFIER: (660..662) "ok" + CLOSE_PAREN: (662..663) ")" + CLOSE_PAREN: (663..664) ")" + CLOSE_PAREN: (664..665) ")" + ATMOSPHERE: (665..666) " +" + FORM: (666..706) + OPEN_PAREN: (666..667) "(" + SYMBOL: (667..674) + IDENTIFIER: (667..674) "display" + ATMOSPHERE: (674..679) " + " + FORM: (679..705) + OPEN_PAREN: (679..680) "(" + SYMBOL: (680..684) + IDENTIFIER: (680..684) "cond" + ATMOSPHERE: (684..694) " + " + FORM: (694..704) + OPEN_PAREN: (694..695) "(" + CONSTANT: (695..697) + BOOLEAN: (695..697) "#f" + ATMOSPHERE: (697..698) " " + QUOTED_DATUM: (698..703) + QUOTE: (698..699) "'" + SYMBOL: (699..703) + IDENTIFIER: (699..703) "fail" + CLOSE_PAREN: (703..704) ")" + CLOSE_PAREN: (704..705) ")" + CLOSE_PAREN: (705..706) ")" + ATMOSPHERE: (706..707) " +" + EOF: (707..707) "" diff --git a/spec/cxr.ast b/spec/cxr.ast new file mode 100644 index 0000000..4b4dd13 --- /dev/null +++ b/spec/cxr.ast @@ -0,0 +1,181 @@ +PROGRAM: (0..265) + FORM: (0..58) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..20) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..19) + IDENTIFIER: (16..19) "cxr" + CLOSE_PAREN: (19..20) ")" + ATMOSPHERE: (20..25) " + " + FORM: (25..38) + OPEN_PAREN: (25..26) "(" + SYMBOL: (26..32) + IDENTIFIER: (26..32) "scheme" + ATMOSPHERE: (32..33) " " + SYMBOL: (33..37) + IDENTIFIER: (33..37) "base" + CLOSE_PAREN: (37..38) ")" + ATMOSPHERE: (38..43) " + " + FORM: (43..57) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..50) + IDENTIFIER: (44..50) "scheme" + ATMOSPHERE: (50..51) " " + SYMBOL: (51..56) + IDENTIFIER: (51..56) "write" + CLOSE_PAREN: (56..57) ")" + CLOSE_PAREN: (57..58) ")" + ATMOSPHERE: (58..60) " + +" + FORM: (60..119) + OPEN_PAREN: (60..61) "(" + SYMBOL: (61..67) + IDENTIFIER: (61..67) "define" + ATMOSPHERE: (67..68) " " + SYMBOL: (68..77) + IDENTIFIER: (68..77) "test-list" + ATMOSPHERE: (77..78) " " + QUOTED_DATUM: (78..118) + QUOTE: (78..79) "'" + FORM: (79..118) + OPEN_PAREN: (79..80) "(" + ATMOSPHERE: (80..85) " + " + FORM: (85..92) + OPEN_PAREN: (85..86) "(" + CONSTANT: (86..87) + NUMBER: (86..87) "1" + ATMOSPHERE: (87..88) " " + CONSTANT: (88..89) + NUMBER: (88..89) "2" + ATMOSPHERE: (89..90) " " + CONSTANT: (90..91) + NUMBER: (90..91) "3" + CLOSE_PAREN: (91..92) ")" + ATMOSPHERE: (92..97) " + " + FORM: (97..104) + OPEN_PAREN: (97..98) "(" + CONSTANT: (98..99) + NUMBER: (98..99) "4" + ATMOSPHERE: (99..100) " " + CONSTANT: (100..101) + NUMBER: (100..101) "5" + ATMOSPHERE: (101..102) " " + CONSTANT: (102..103) + NUMBER: (102..103) "6" + CLOSE_PAREN: (103..104) ")" + ATMOSPHERE: (104..109) " + " + FORM: (109..116) + OPEN_PAREN: (109..110) "(" + CONSTANT: (110..111) + NUMBER: (110..111) "7" + ATMOSPHERE: (111..112) " " + CONSTANT: (112..113) + NUMBER: (112..113) "8" + ATMOSPHERE: (113..114) " " + CONSTANT: (114..115) + NUMBER: (114..115) "9" + CLOSE_PAREN: (115..116) ")" + ATMOSPHERE: (116..117) " +" + CLOSE_PAREN: (117..118) ")" + CLOSE_PAREN: (118..119) ")" + ATMOSPHERE: (119..121) " + +" + FORM: (121..147) + OPEN_PAREN: (121..122) "(" + SYMBOL: (122..129) + IDENTIFIER: (122..129) "display" + ATMOSPHERE: (129..130) " " + FORM: (130..146) + OPEN_PAREN: (130..131) "(" + SYMBOL: (131..135) + IDENTIFIER: (131..135) "caar" + ATMOSPHERE: (135..136) " " + SYMBOL: (136..145) + IDENTIFIER: (136..145) "test-list" + CLOSE_PAREN: (145..146) ")" + CLOSE_PAREN: (146..147) ")" + FORM: (147..156) + OPEN_PAREN: (147..148) "(" + SYMBOL: (148..155) + IDENTIFIER: (148..155) "newline" + CLOSE_PAREN: (155..156) ")" + ATMOSPHERE: (156..157) " +" + FORM: (157..183) + OPEN_PAREN: (157..158) "(" + SYMBOL: (158..165) + IDENTIFIER: (158..165) "display" + ATMOSPHERE: (165..166) " " + FORM: (166..182) + OPEN_PAREN: (166..167) "(" + SYMBOL: (167..171) + IDENTIFIER: (167..171) "cadr" + ATMOSPHERE: (171..172) " " + SYMBOL: (172..181) + IDENTIFIER: (172..181) "test-list" + CLOSE_PAREN: (181..182) ")" + CLOSE_PAREN: (182..183) ")" + FORM: (183..192) + OPEN_PAREN: (183..184) "(" + SYMBOL: (184..191) + IDENTIFIER: (184..191) "newline" + CLOSE_PAREN: (191..192) ")" + ATMOSPHERE: (192..193) " +" + FORM: (193..219) + OPEN_PAREN: (193..194) "(" + SYMBOL: (194..201) + IDENTIFIER: (194..201) "display" + ATMOSPHERE: (201..202) " " + FORM: (202..218) + OPEN_PAREN: (202..203) "(" + SYMBOL: (203..207) + IDENTIFIER: (203..207) "cdar" + ATMOSPHERE: (207..208) " " + SYMBOL: (208..217) + IDENTIFIER: (208..217) "test-list" + CLOSE_PAREN: (217..218) ")" + CLOSE_PAREN: (218..219) ")" + FORM: (219..228) + OPEN_PAREN: (219..220) "(" + SYMBOL: (220..227) + IDENTIFIER: (220..227) "newline" + CLOSE_PAREN: (227..228) ")" + ATMOSPHERE: (228..229) " +" + FORM: (229..255) + OPEN_PAREN: (229..230) "(" + SYMBOL: (230..237) + IDENTIFIER: (230..237) "display" + ATMOSPHERE: (237..238) " " + FORM: (238..254) + OPEN_PAREN: (238..239) "(" + SYMBOL: (239..243) + IDENTIFIER: (239..243) "cddr" + ATMOSPHERE: (243..244) " " + SYMBOL: (244..253) + IDENTIFIER: (244..253) "test-list" + CLOSE_PAREN: (253..254) ")" + CLOSE_PAREN: (254..255) ")" + FORM: (255..264) + OPEN_PAREN: (255..256) "(" + SYMBOL: (256..263) + IDENTIFIER: (256..263) "newline" + CLOSE_PAREN: (263..264) ")" + ATMOSPHERE: (264..265) " +" + EOF: (265..265) "" diff --git a/spec/define-and-assign.ast b/spec/define-and-assign.ast new file mode 100644 index 0000000..1f1fc61 --- /dev/null +++ b/spec/define-and-assign.ast @@ -0,0 +1,94 @@ +PROGRAM: (0..115) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..54) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..49) + IDENTIFIER: (43..49) "define" + ATMOSPHERE: (49..50) " " + SYMBOL: (50..51) + IDENTIFIER: (50..51) "x" + ATMOSPHERE: (51..52) " " + CONSTANT: (52..53) + NUMBER: (52..53) "2" + CLOSE_PAREN: (53..54) ")" + ATMOSPHERE: (54..55) " +" + FORM: (55..72) + OPEN_PAREN: (55..56) "(" + SYMBOL: (56..63) + IDENTIFIER: (56..63) "display" + ATMOSPHERE: (63..64) " " + FORM: (64..71) + OPEN_PAREN: (64..65) "(" + SYMBOL: (65..66) + IDENTIFIER: (65..66) "+" + ATMOSPHERE: (66..67) " " + SYMBOL: (67..68) + IDENTIFIER: (67..68) "x" + ATMOSPHERE: (68..69) " " + CONSTANT: (69..70) + NUMBER: (69..70) "1" + CLOSE_PAREN: (70..71) ")" + CLOSE_PAREN: (71..72) ")" + ATMOSPHERE: (72..73) " " + ATMOSPHERE: (73..79) "; => 3" + ATMOSPHERE: (79..80) " +" + FORM: (80..90) + OPEN_PAREN: (80..81) "(" + SYMBOL: (81..85) + IDENTIFIER: (81..85) "set!" + ATMOSPHERE: (85..86) " " + SYMBOL: (86..87) + IDENTIFIER: (86..87) "x" + ATMOSPHERE: (87..88) " " + CONSTANT: (88..89) + NUMBER: (88..89) "4" + CLOSE_PAREN: (89..90) ")" + ATMOSPHERE: (90..91) " +" + FORM: (91..108) + OPEN_PAREN: (91..92) "(" + SYMBOL: (92..99) + IDENTIFIER: (92..99) "display" + ATMOSPHERE: (99..100) " " + FORM: (100..107) + OPEN_PAREN: (100..101) "(" + SYMBOL: (101..102) + IDENTIFIER: (101..102) "+" + ATMOSPHERE: (102..103) " " + SYMBOL: (103..104) + IDENTIFIER: (103..104) "x" + ATMOSPHERE: (104..105) " " + CONSTANT: (105..106) + NUMBER: (105..106) "1" + CLOSE_PAREN: (106..107) ")" + CLOSE_PAREN: (107..108) ")" + ATMOSPHERE: (108..109) " " + ATMOSPHERE: (109..115) "; => 5" + EOF: (115..115) "" diff --git a/spec/display-utils.ast b/spec/display-utils.ast new file mode 100644 index 0000000..38b6cb3 --- /dev/null +++ b/spec/display-utils.ast @@ -0,0 +1,139 @@ +PROGRAM: (0..253) + FORM: (0..252) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..15) + IDENTIFIER: (1..15) "define-library" + ATMOSPHERE: (15..16) " " + FORM: (16..38) + OPEN_PAREN: (16..17) "(" + SYMBOL: (17..24) + IDENTIFIER: (17..24) "example" + ATMOSPHERE: (24..25) " " + SYMBOL: (25..37) + IDENTIFIER: (25..37) "displayutils" + CLOSE_PAREN: (37..38) ")" + ATMOSPHERE: (38..40) " + " + FORM: (40..60) + OPEN_PAREN: (40..41) "(" + SYMBOL: (41..47) + IDENTIFIER: (41..47) "export" + ATMOSPHERE: (47..48) " " + SYMBOL: (48..59) + IDENTIFIER: (48..59) "display-all" + CLOSE_PAREN: (59..60) ")" + ATMOSPHERE: (60..62) " + " + FORM: (62..101) + OPEN_PAREN: (62..63) "(" + SYMBOL: (63..69) + IDENTIFIER: (63..69) "import" + ATMOSPHERE: (69..70) " " + FORM: (70..83) + OPEN_PAREN: (70..71) "(" + SYMBOL: (71..77) + IDENTIFIER: (71..77) "scheme" + ATMOSPHERE: (77..78) " " + SYMBOL: (78..82) + IDENTIFIER: (78..82) "base" + CLOSE_PAREN: (82..83) ")" + ATMOSPHERE: (83..86) " + " + FORM: (86..100) + OPEN_PAREN: (86..87) "(" + SYMBOL: (87..93) + IDENTIFIER: (87..93) "scheme" + ATMOSPHERE: (93..94) " " + SYMBOL: (94..99) + IDENTIFIER: (94..99) "write" + CLOSE_PAREN: (99..100) ")" + CLOSE_PAREN: (100..101) ")" + ATMOSPHERE: (101..103) " + " + FORM: (103..251) + OPEN_PAREN: (103..104) "(" + SYMBOL: (104..109) + IDENTIFIER: (104..109) "begin" + ATMOSPHERE: (109..112) " + " + FORM: (112..250) + OPEN_PAREN: (112..113) "(" + SYMBOL: (113..119) + IDENTIFIER: (113..119) "define" + ATMOSPHERE: (119..120) " " + FORM: (120..140) + OPEN_PAREN: (120..121) "(" + SYMBOL: (121..132) + IDENTIFIER: (121..132) "display-all" + ATMOSPHERE: (132..133) " " + SYMBOL: (133..139) + IDENTIFIER: (133..139) "things" + CLOSE_PAREN: (139..140) ")" + ATMOSPHERE: (140..144) " + " + FORM: (144..249) + OPEN_PAREN: (144..145) "(" + SYMBOL: (145..147) + IDENTIFIER: (145..147) "if" + ATMOSPHERE: (147..148) " " + FORM: (148..162) + OPEN_PAREN: (148..149) "(" + SYMBOL: (149..154) + IDENTIFIER: (149..154) "null?" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..161) + IDENTIFIER: (155..161) "things" + CLOSE_PAREN: (161..162) ")" + ATMOSPHERE: (162..167) " + " + FORM: (167..176) + OPEN_PAREN: (167..168) "(" + SYMBOL: (168..175) + IDENTIFIER: (168..175) "newline" + CLOSE_PAREN: (175..176) ")" + ATMOSPHERE: (176..181) " + " + FORM: (181..248) + OPEN_PAREN: (181..182) "(" + SYMBOL: (182..187) + IDENTIFIER: (182..187) "begin" + ATMOSPHERE: (187..193) " + " + FORM: (193..215) + OPEN_PAREN: (193..194) "(" + SYMBOL: (194..201) + IDENTIFIER: (194..201) "display" + ATMOSPHERE: (201..202) " " + FORM: (202..214) + OPEN_PAREN: (202..203) "(" + SYMBOL: (203..206) + IDENTIFIER: (203..206) "car" + ATMOSPHERE: (206..207) " " + SYMBOL: (207..213) + IDENTIFIER: (207..213) "things" + CLOSE_PAREN: (213..214) ")" + CLOSE_PAREN: (214..215) ")" + ATMOSPHERE: (215..221) " + " + FORM: (221..247) + OPEN_PAREN: (221..222) "(" + SYMBOL: (222..233) + IDENTIFIER: (222..233) "display-all" + ATMOSPHERE: (233..234) " " + FORM: (234..246) + OPEN_PAREN: (234..235) "(" + SYMBOL: (235..238) + IDENTIFIER: (235..238) "cdr" + ATMOSPHERE: (238..239) " " + SYMBOL: (239..245) + IDENTIFIER: (239..245) "things" + CLOSE_PAREN: (245..246) ")" + CLOSE_PAREN: (246..247) ")" + CLOSE_PAREN: (247..248) ")" + CLOSE_PAREN: (248..249) ")" + CLOSE_PAREN: (249..250) ")" + CLOSE_PAREN: (250..251) ")" + CLOSE_PAREN: (251..252) ")" + ATMOSPHERE: (252..253) " +" + EOF: (253..253) "" diff --git a/spec/display.ast b/spec/display.ast new file mode 100644 index 0000000..f057d8e --- /dev/null +++ b/spec/display.ast @@ -0,0 +1,125 @@ +PROGRAM: (0..255) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..54) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..50) + IDENTIFIER: (43..50) "display" + ATMOSPHERE: (50..51) " " + CONSTANT: (51..53) + STRING: (51..53) """" + CLOSE_PAREN: (53..54) ")" + FORM: (54..63) + OPEN_PAREN: (54..55) "(" + SYMBOL: (55..62) + IDENTIFIER: (55..62) "newline" + CLOSE_PAREN: (62..63) ")" + ATMOSPHERE: (63..64) " " + ATMOSPHERE: (64..69) "; => " + ATMOSPHERE: (69..70) " +" + FORM: (70..82) + OPEN_PAREN: (70..71) "(" + SYMBOL: (71..78) + IDENTIFIER: (71..78) "display" + ATMOSPHERE: (78..79) " " + FORM: (79..81) + OPEN_PAREN: (79..80) "(" + CLOSE_PAREN: (80..81) ")" + CLOSE_PAREN: (81..82) ")" + FORM: (82..91) + OPEN_PAREN: (82..83) "(" + SYMBOL: (83..90) + IDENTIFIER: (83..90) "newline" + CLOSE_PAREN: (90..91) ")" + ATMOSPHERE: (91..92) " " + ATMOSPHERE: (92..96) "; =>" + ATMOSPHERE: (96..97) " +" + FORM: (97..110) + OPEN_PAREN: (97..98) "(" + SYMBOL: (98..105) + IDENTIFIER: (98..105) "display" + ATMOSPHERE: (105..106) " " + CONSTANT: (106..109) + NUMBER: (106..109) "123" + CLOSE_PAREN: (109..110) ")" + FORM: (110..119) + OPEN_PAREN: (110..111) "(" + SYMBOL: (111..118) + IDENTIFIER: (111..118) "newline" + CLOSE_PAREN: (118..119) ")" + ATMOSPHERE: (119..120) " " + ATMOSPHERE: (120..128) "; => 123" + ATMOSPHERE: (128..129) " +" + FORM: (129..152) + OPEN_PAREN: (129..130) "(" + SYMBOL: (130..137) + IDENTIFIER: (130..137) "display" + ATMOSPHERE: (137..138) " " + CONSTANT: (138..151) + STRING: (138..151) ""Hello World"" + CLOSE_PAREN: (151..152) ")" + FORM: (152..165) + OPEN_PAREN: (152..153) "(" + SYMBOL: (153..160) + IDENTIFIER: (153..160) "display" + ATMOSPHERE: (160..161) " " + CONSTANT: (161..164) + CHARACTER: (161..164) "#\!" + CLOSE_PAREN: (164..165) ")" + FORM: (165..174) + OPEN_PAREN: (165..166) "(" + SYMBOL: (166..173) + IDENTIFIER: (166..173) "newline" + CLOSE_PAREN: (173..174) ")" + ATMOSPHERE: (174..175) " " + ATMOSPHERE: (175..192) "; => Hello World!" + ATMOSPHERE: (192..193) " +" + FORM: (193..240) + OPEN_PAREN: (193..194) "(" + SYMBOL: (194..201) + IDENTIFIER: (194..201) "display" + ATMOSPHERE: (201..202) " " + QUOTED_DATUM: (202..239) + QUOTE: (202..203) "'" + FORM: (203..239) + OPEN_PAREN: (203..204) "(" + CONSTANT: (204..238) + STRING: (204..238) ""I \" need \v some \x00; escaping"" + CLOSE_PAREN: (238..239) ")" + CLOSE_PAREN: (239..240) ")" + FORM: (240..249) + OPEN_PAREN: (240..241) "(" + SYMBOL: (241..248) + IDENTIFIER: (241..248) "newline" + CLOSE_PAREN: (248..249) ")" + ATMOSPHERE: (249..250) " " + ATMOSPHERE: (250..255) "; => " + EOF: (255..255) "" diff --git a/spec/dragons.ast b/spec/dragons.ast new file mode 100644 index 0000000..4ed854d --- /dev/null +++ b/spec/dragons.ast @@ -0,0 +1,512 @@ +PROGRAM: (0..1158) + FORM: (0..1127) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..15) + IDENTIFIER: (1..15) "define-library" + ATMOSPHERE: (15..16) " " + FORM: (16..24) + OPEN_PAREN: (16..17) "(" + SYMBOL: (17..23) + IDENTIFIER: (17..23) "dragon" + CLOSE_PAREN: (23..24) ")" + ATMOSPHERE: (24..29) " + " + FORM: (29..70) + OPEN_PAREN: (29..30) "(" + SYMBOL: (30..36) + IDENTIFIER: (30..36) "import" + ATMOSPHERE: (36..37) " " + FORM: (37..50) + OPEN_PAREN: (37..38) "(" + SYMBOL: (38..44) + IDENTIFIER: (38..44) "scheme" + ATMOSPHERE: (44..45) " " + SYMBOL: (45..49) + IDENTIFIER: (45..49) "base" + CLOSE_PAREN: (49..50) ")" + ATMOSPHERE: (50..55) " + " + FORM: (55..69) + OPEN_PAREN: (55..56) "(" + SYMBOL: (56..62) + IDENTIFIER: (56..62) "scheme" + ATMOSPHERE: (62..63) " " + SYMBOL: (63..68) + IDENTIFIER: (63..68) "write" + CLOSE_PAREN: (68..69) ")" + CLOSE_PAREN: (69..70) ")" + ATMOSPHERE: (70..75) " + " + FORM: (75..90) + OPEN_PAREN: (75..76) "(" + SYMBOL: (76..82) + IDENTIFIER: (76..82) "export" + ATMOSPHERE: (82..83) " " + SYMBOL: (83..89) + IDENTIFIER: (83..89) "dragon" + CLOSE_PAREN: (89..90) ")" + ATMOSPHERE: (90..95) " + " + FORM: (95..1126) + OPEN_PAREN: (95..96) "(" + SYMBOL: (96..101) + IDENTIFIER: (96..101) "begin" + ATMOSPHERE: (101..111) " + + " + FORM: (111..295) + OPEN_PAREN: (111..112) "(" + SYMBOL: (112..118) + IDENTIFIER: (112..118) "define" + ATMOSPHERE: (118..119) " " + FORM: (119..136) + OPEN_PAREN: (119..120) "(" + SYMBOL: (120..127) + IDENTIFIER: (120..127) "command" + ATMOSPHERE: (127..128) " " + SYMBOL: (128..131) + IDENTIFIER: (128..131) "cmd" + ATMOSPHERE: (131..132) " " + SYMBOL: (132..135) + IDENTIFIER: (132..135) "arg" + CLOSE_PAREN: (135..136) ")" + ATMOSPHERE: (136..149) " + " + FORM: (149..168) + OPEN_PAREN: (149..150) "(" + SYMBOL: (150..157) + IDENTIFIER: (150..157) "display" + ATMOSPHERE: (157..158) " " + CONSTANT: (158..167) + STRING: (158..167) ""turtle."" + CLOSE_PAREN: (167..168) ")" + ATMOSPHERE: (168..181) " + " + FORM: (181..194) + OPEN_PAREN: (181..182) "(" + SYMBOL: (182..189) + IDENTIFIER: (182..189) "display" + ATMOSPHERE: (189..190) " " + SYMBOL: (190..193) + IDENTIFIER: (190..193) "cmd" + CLOSE_PAREN: (193..194) ")" + ATMOSPHERE: (194..207) " + " + FORM: (207..220) + OPEN_PAREN: (207..208) "(" + SYMBOL: (208..215) + IDENTIFIER: (208..215) "display" + ATMOSPHERE: (215..216) " " + CONSTANT: (216..219) + STRING: (216..219) ""("" + CLOSE_PAREN: (219..220) ")" + ATMOSPHERE: (220..233) " + " + FORM: (233..246) + OPEN_PAREN: (233..234) "(" + SYMBOL: (234..241) + IDENTIFIER: (234..241) "display" + ATMOSPHERE: (241..242) " " + SYMBOL: (242..245) + IDENTIFIER: (242..245) "arg" + CLOSE_PAREN: (245..246) ")" + ATMOSPHERE: (246..259) " + " + FORM: (259..272) + OPEN_PAREN: (259..260) "(" + SYMBOL: (260..267) + IDENTIFIER: (260..267) "display" + ATMOSPHERE: (267..268) " " + CONSTANT: (268..271) + STRING: (268..271) "")"" + CLOSE_PAREN: (271..272) ")" + ATMOSPHERE: (272..285) " + " + FORM: (285..294) + OPEN_PAREN: (285..286) "(" + SYMBOL: (286..293) + IDENTIFIER: (286..293) "newline" + CLOSE_PAREN: (293..294) ")" + CLOSE_PAREN: (294..295) ")" + ATMOSPHERE: (295..305) " + + " + FORM: (305..476) + OPEN_PAREN: (305..306) "(" + SYMBOL: (306..312) + IDENTIFIER: (306..312) "define" + ATMOSPHERE: (312..313) " " + FORM: (313..319) + OPEN_PAREN: (313..314) "(" + SYMBOL: (314..318) + IDENTIFIER: (314..318) "init" + CLOSE_PAREN: (318..319) ")" + ATMOSPHERE: (319..332) " + " + FORM: (332..357) + OPEN_PAREN: (332..333) "(" + SYMBOL: (333..340) + IDENTIFIER: (333..340) "display" + ATMOSPHERE: (340..341) " " + CONSTANT: (341..356) + STRING: (341..356) ""import turtle"" + CLOSE_PAREN: (356..357) ")" + FORM: (357..366) + OPEN_PAREN: (357..358) "(" + SYMBOL: (358..365) + IDENTIFIER: (358..365) "newline" + CLOSE_PAREN: (365..366) ")" + ATMOSPHERE: (366..379) " + " + FORM: (379..398) + OPEN_PAREN: (379..380) "(" + SYMBOL: (380..387) + IDENTIFIER: (380..387) "command" + ATMOSPHERE: (387..388) " " + CONSTANT: (388..395) + STRING: (388..395) ""speed"" + ATMOSPHERE: (395..396) " " + CONSTANT: (396..397) + NUMBER: (396..397) "0" + CLOSE_PAREN: (397..398) ")" + ATMOSPHERE: (398..411) " + " + FORM: (411..437) + OPEN_PAREN: (411..412) "(" + SYMBOL: (412..419) + IDENTIFIER: (412..419) "command" + ATMOSPHERE: (419..420) " " + CONSTANT: (420..428) + STRING: (420..428) ""tracer"" + ATMOSPHERE: (428..429) " " + CONSTANT: (429..436) + STRING: (429..436) ""False"" + CLOSE_PAREN: (436..437) ")" + ATMOSPHERE: (437..450) " + " + FORM: (450..475) + OPEN_PAREN: (450..451) "(" + SYMBOL: (451..458) + IDENTIFIER: (451..458) "command" + ATMOSPHERE: (458..459) " " + CONSTANT: (459..471) + STRING: (459..471) ""showturtle"" + ATMOSPHERE: (471..472) " " + CONSTANT: (472..474) + STRING: (472..474) """" + CLOSE_PAREN: (474..475) ")" + CLOSE_PAREN: (475..476) ")" + ATMOSPHERE: (476..486) " + + " + FORM: (486..537) + OPEN_PAREN: (486..487) "(" + SYMBOL: (487..493) + IDENTIFIER: (487..493) "define" + ATMOSPHERE: (493..494) " " + FORM: (494..504) + OPEN_PAREN: (494..495) "(" + SYMBOL: (495..503) + IDENTIFIER: (495..503) "finalise" + CLOSE_PAREN: (503..504) ")" + ATMOSPHERE: (504..517) " + " + FORM: (517..536) + OPEN_PAREN: (517..518) "(" + SYMBOL: (518..525) + IDENTIFIER: (518..525) "command" + ATMOSPHERE: (525..526) " " + CONSTANT: (526..532) + STRING: (526..532) ""done"" + ATMOSPHERE: (532..533) " " + CONSTANT: (533..535) + STRING: (533..535) """" + CLOSE_PAREN: (535..536) ")" + CLOSE_PAREN: (536..537) ")" + ATMOSPHERE: (537..548) " + + + " + FORM: (548..953) + OPEN_PAREN: (548..549) "(" + SYMBOL: (549..555) + IDENTIFIER: (549..555) "define" + ATMOSPHERE: (555..556) " " + FORM: (556..583) + OPEN_PAREN: (556..557) "(" + SYMBOL: (557..568) + IDENTIFIER: (557..568) "dragon-iter" + ATMOSPHERE: (568..569) " " + SYMBOL: (569..573) + IDENTIFIER: (569..573) "iter" + ATMOSPHERE: (573..574) " " + SYMBOL: (574..578) + IDENTIFIER: (574..578) "size" + ATMOSPHERE: (578..579) " " + SYMBOL: (579..582) + IDENTIFIER: (579..582) "dir" + CLOSE_PAREN: (582..583) ")" + ATMOSPHERE: (583..596) " + " + FORM: (596..952) + OPEN_PAREN: (596..597) "(" + SYMBOL: (597..599) + IDENTIFIER: (597..599) "if" + ATMOSPHERE: (599..600) " " + FORM: (600..610) + OPEN_PAREN: (600..601) "(" + SYMBOL: (601..602) + IDENTIFIER: (601..602) "=" + ATMOSPHERE: (602..603) " " + CONSTANT: (603..604) + NUMBER: (603..604) "0" + ATMOSPHERE: (604..605) " " + SYMBOL: (605..609) + IDENTIFIER: (605..609) "iter" + CLOSE_PAREN: (609..610) ")" + ATMOSPHERE: (610..627) " + " + FORM: (627..646) + OPEN_PAREN: (627..628) "(" + SYMBOL: (628..635) + IDENTIFIER: (628..635) "command" + ATMOSPHERE: (635..636) " " + CONSTANT: (636..640) + STRING: (636..640) ""fd"" + ATMOSPHERE: (640..641) " " + SYMBOL: (641..645) + IDENTIFIER: (641..645) "size" + CLOSE_PAREN: (645..646) ")" + ATMOSPHERE: (646..663) " + " + FORM: (663..951) + OPEN_PAREN: (663..664) "(" + SYMBOL: (664..667) + IDENTIFIER: (664..667) "let" + ATMOSPHERE: (667..668) " " + FORM: (668..796) + OPEN_PAREN: (668..669) "(" + FORM: (669..686) + OPEN_PAREN: (669..670) "(" + SYMBOL: (670..674) + IDENTIFIER: (670..674) "next" + ATMOSPHERE: (674..675) " " + FORM: (675..685) + OPEN_PAREN: (675..676) "(" + SYMBOL: (676..677) + IDENTIFIER: (676..677) "-" + ATMOSPHERE: (677..678) " " + SYMBOL: (678..682) + IDENTIFIER: (678..682) "iter" + ATMOSPHERE: (682..683) " " + CONSTANT: (683..684) + NUMBER: (683..684) "1" + CLOSE_PAREN: (684..685) ")" + CLOSE_PAREN: (685..686) ")" + ATMOSPHERE: (686..709) " + " + FORM: (709..732) + OPEN_PAREN: (709..710) "(" + SYMBOL: (710..714) + IDENTIFIER: (710..714) "size" + ATMOSPHERE: (714..715) " " + FORM: (715..731) + OPEN_PAREN: (715..716) "(" + SYMBOL: (716..717) + IDENTIFIER: (716..717) "*" + ATMOSPHERE: (717..718) " " + SYMBOL: (718..722) + IDENTIFIER: (718..722) "size" + ATMOSPHERE: (722..723) " " + CONSTANT: (723..730) + NUMBER: (723..730) "0.70711" + CLOSE_PAREN: (730..731) ")" + CLOSE_PAREN: (731..732) ")" + ATMOSPHERE: (732..755) " + " + FORM: (755..795) + OPEN_PAREN: (755..756) "(" + SYMBOL: (756..763) + IDENTIFIER: (756..763) "turncmd" + ATMOSPHERE: (763..764) " " + FORM: (764..794) + OPEN_PAREN: (764..765) "(" + SYMBOL: (765..767) + IDENTIFIER: (765..767) "if" + ATMOSPHERE: (767..768) " " + FORM: (768..783) + OPEN_PAREN: (768..769) "(" + SYMBOL: (769..772) + IDENTIFIER: (769..772) "eq?" + ATMOSPHERE: (772..773) " " + SYMBOL: (773..776) + IDENTIFIER: (773..776) "dir" + ATMOSPHERE: (776..777) " " + QUOTED_DATUM: (777..782) + QUOTE: (777..778) "'" + SYMBOL: (778..782) + IDENTIFIER: (778..782) "left" + CLOSE_PAREN: (782..783) ")" + ATMOSPHERE: (783..784) " " + CONSTANT: (784..788) + STRING: (784..788) ""lt"" + ATMOSPHERE: (788..789) " " + CONSTANT: (789..793) + STRING: (789..793) ""rt"" + CLOSE_PAREN: (793..794) ")" + CLOSE_PAREN: (794..795) ")" + CLOSE_PAREN: (795..796) ")" + ATMOSPHERE: (796..821) " + " + FORM: (821..850) + OPEN_PAREN: (821..822) "(" + SYMBOL: (822..833) + IDENTIFIER: (822..833) "dragon-iter" + ATMOSPHERE: (833..834) " " + SYMBOL: (834..838) + IDENTIFIER: (834..838) "next" + ATMOSPHERE: (838..839) " " + SYMBOL: (839..843) + IDENTIFIER: (839..843) "size" + ATMOSPHERE: (843..844) " " + QUOTED_DATUM: (844..849) + QUOTE: (844..845) "'" + SYMBOL: (845..849) + IDENTIFIER: (845..849) "left" + CLOSE_PAREN: (849..850) ")" + ATMOSPHERE: (850..875) " + " + FORM: (875..895) + OPEN_PAREN: (875..876) "(" + SYMBOL: (876..883) + IDENTIFIER: (876..883) "command" + ATMOSPHERE: (883..884) " " + SYMBOL: (884..891) + IDENTIFIER: (884..891) "turncmd" + ATMOSPHERE: (891..892) " " + CONSTANT: (892..894) + NUMBER: (892..894) "90" + CLOSE_PAREN: (894..895) ")" + ATMOSPHERE: (895..920) " + " + FORM: (920..950) + OPEN_PAREN: (920..921) "(" + SYMBOL: (921..932) + IDENTIFIER: (921..932) "dragon-iter" + ATMOSPHERE: (932..933) " " + SYMBOL: (933..937) + IDENTIFIER: (933..937) "next" + ATMOSPHERE: (937..938) " " + SYMBOL: (938..942) + IDENTIFIER: (938..942) "size" + ATMOSPHERE: (942..943) " " + QUOTED_DATUM: (943..949) + QUOTE: (943..944) "'" + SYMBOL: (944..949) + IDENTIFIER: (944..949) "right" + CLOSE_PAREN: (949..950) ")" + CLOSE_PAREN: (950..951) ")" + CLOSE_PAREN: (951..952) ")" + CLOSE_PAREN: (952..953) ")" + ATMOSPHERE: (953..963) " + + " + FORM: (963..1107) + OPEN_PAREN: (963..964) "(" + SYMBOL: (964..970) + IDENTIFIER: (964..970) "define" + ATMOSPHERE: (970..971) " " + FORM: (971..984) + OPEN_PAREN: (971..972) "(" + SYMBOL: (972..978) + IDENTIFIER: (972..978) "dragon" + ATMOSPHERE: (978..979) " " + SYMBOL: (979..983) + IDENTIFIER: (979..983) "iter" + CLOSE_PAREN: (983..984) ")" + ATMOSPHERE: (984..997) " + " + FORM: (997..1003) + OPEN_PAREN: (997..998) "(" + SYMBOL: (998..1002) + IDENTIFIER: (998..1002) "init" + CLOSE_PAREN: (1002..1003) ")" + ATMOSPHERE: (1003..1016) " + " + FORM: (1016..1042) + OPEN_PAREN: (1016..1017) "(" + SYMBOL: (1017..1024) + IDENTIFIER: (1017..1024) "command" + ATMOSPHERE: (1024..1025) " " + CONSTANT: (1025..1029) + STRING: (1025..1029) ""rt"" + ATMOSPHERE: (1029..1030) " " + FORM: (1030..1041) + OPEN_PAREN: (1030..1031) "(" + SYMBOL: (1031..1032) + IDENTIFIER: (1031..1032) "*" + ATMOSPHERE: (1032..1033) " " + CONSTANT: (1033..1035) + NUMBER: (1033..1035) "45" + ATMOSPHERE: (1035..1036) " " + SYMBOL: (1036..1040) + IDENTIFIER: (1036..1040) "iter" + CLOSE_PAREN: (1040..1041) ")" + CLOSE_PAREN: (1041..1042) ")" + ATMOSPHERE: (1042..1055) " + " + FORM: (1055..1083) + OPEN_PAREN: (1055..1056) "(" + SYMBOL: (1056..1067) + IDENTIFIER: (1056..1067) "dragon-iter" + ATMOSPHERE: (1067..1068) " " + SYMBOL: (1068..1072) + IDENTIFIER: (1068..1072) "iter" + ATMOSPHERE: (1072..1073) " " + CONSTANT: (1073..1076) + NUMBER: (1073..1076) "450" + ATMOSPHERE: (1076..1077) " " + QUOTED_DATUM: (1077..1082) + QUOTE: (1077..1078) "'" + SYMBOL: (1078..1082) + IDENTIFIER: (1078..1082) "left" + CLOSE_PAREN: (1082..1083) ")" + ATMOSPHERE: (1083..1096) " + " + FORM: (1096..1106) + OPEN_PAREN: (1096..1097) "(" + SYMBOL: (1097..1105) + IDENTIFIER: (1097..1105) "finalise" + CLOSE_PAREN: (1105..1106) ")" + CLOSE_PAREN: (1106..1107) ")" + ATMOSPHERE: (1107..1125) " + + " + CLOSE_PAREN: (1125..1126) ")" + CLOSE_PAREN: (1126..1127) ")" + ATMOSPHERE: (1127..1129) " + +" + FORM: (1129..1146) + OPEN_PAREN: (1129..1130) "(" + SYMBOL: (1130..1136) + IDENTIFIER: (1130..1136) "import" + ATMOSPHERE: (1136..1137) " " + FORM: (1137..1145) + OPEN_PAREN: (1137..1138) "(" + SYMBOL: (1138..1144) + IDENTIFIER: (1138..1144) "dragon" + CLOSE_PAREN: (1144..1145) ")" + CLOSE_PAREN: (1145..1146) ")" + ATMOSPHERE: (1146..1148) " + +" + FORM: (1148..1158) + OPEN_PAREN: (1148..1149) "(" + SYMBOL: (1149..1155) + IDENTIFIER: (1149..1155) "dragon" + ATMOSPHERE: (1155..1156) " " + CONSTANT: (1156..1157) + NUMBER: (1156..1157) "3" + CLOSE_PAREN: (1157..1158) ")" + EOF: (1158..1158) "" diff --git a/spec/envtest.ast b/spec/envtest.ast new file mode 100644 index 0000000..8db5af4 --- /dev/null +++ b/spec/envtest.ast @@ -0,0 +1,213 @@ +PROGRAM: (0..272) + FORM: (0..39) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..24) " + " + FORM: (24..38) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..31) + IDENTIFIER: (25..31) "scheme" + ATMOSPHERE: (31..32) " " + SYMBOL: (32..37) + IDENTIFIER: (32..37) "write" + CLOSE_PAREN: (37..38) ")" + CLOSE_PAREN: (38..39) ")" + ATMOSPHERE: (39..41) " + +" + FORM: (41..94) + OPEN_PAREN: (41..42) "(" + SYMBOL: (42..48) + IDENTIFIER: (42..48) "define" + ATMOSPHERE: (48..49) " " + FORM: (49..56) + OPEN_PAREN: (49..50) "(" + SYMBOL: (50..53) + IDENTIFIER: (50..53) "foo" + ATMOSPHERE: (53..54) " " + SYMBOL: (54..55) + IDENTIFIER: (54..55) "a" + CLOSE_PAREN: (55..56) ")" + ATMOSPHERE: (56..59) " + " + FORM: (59..87) + OPEN_PAREN: (59..60) "(" + SYMBOL: (60..66) + IDENTIFIER: (60..66) "define" + ATMOSPHERE: (66..67) " " + FORM: (67..74) + OPEN_PAREN: (67..68) "(" + SYMBOL: (68..71) + IDENTIFIER: (68..71) "bar" + ATMOSPHERE: (71..72) " " + SYMBOL: (72..73) + IDENTIFIER: (72..73) "b" + CLOSE_PAREN: (73..74) ")" + ATMOSPHERE: (74..79) " + " + FORM: (79..86) + OPEN_PAREN: (79..80) "(" + SYMBOL: (80..81) + IDENTIFIER: (80..81) "+" + ATMOSPHERE: (81..82) " " + SYMBOL: (82..83) + IDENTIFIER: (82..83) "a" + ATMOSPHERE: (83..84) " " + SYMBOL: (84..85) + IDENTIFIER: (84..85) "b" + CLOSE_PAREN: (85..86) ")" + CLOSE_PAREN: (86..87) ")" + ATMOSPHERE: (87..90) " + " + SYMBOL: (90..93) + IDENTIFIER: (90..93) "bar" + CLOSE_PAREN: (93..94) ")" + ATMOSPHERE: (94..96) " + +" + FORM: (96..119) + OPEN_PAREN: (96..97) "(" + SYMBOL: (97..104) + IDENTIFIER: (97..104) "display" + ATMOSPHERE: (104..105) " " + FORM: (105..118) + OPEN_PAREN: (105..106) "(" + FORM: (106..115) + OPEN_PAREN: (106..107) "(" + SYMBOL: (107..110) + IDENTIFIER: (107..110) "foo" + ATMOSPHERE: (110..111) " " + CONSTANT: (111..114) + NUMBER: (111..114) "123" + CLOSE_PAREN: (114..115) ")" + ATMOSPHERE: (115..116) " " + CONSTANT: (116..117) + NUMBER: (116..117) "4" + CLOSE_PAREN: (117..118) ")" + CLOSE_PAREN: (118..119) ")" + FORM: (119..128) + OPEN_PAREN: (119..120) "(" + SYMBOL: (120..127) + IDENTIFIER: (120..127) "newline" + CLOSE_PAREN: (127..128) ")" + ATMOSPHERE: (128..130) " + +" + FORM: (130..240) + OPEN_PAREN: (130..131) "(" + SYMBOL: (131..137) + IDENTIFIER: (131..137) "define" + ATMOSPHERE: (137..138) " " + FORM: (138..148) + OPEN_PAREN: (138..139) "(" + SYMBOL: (139..143) + IDENTIFIER: (139..143) "test" + ATMOSPHERE: (143..144) " " + SYMBOL: (144..145) + IDENTIFIER: (144..145) "a" + ATMOSPHERE: (145..146) " " + SYMBOL: (146..147) + IDENTIFIER: (146..147) "b" + CLOSE_PAREN: (147..148) ")" + ATMOSPHERE: (148..151) " + " + FORM: (151..226) + OPEN_PAREN: (151..152) "(" + SYMBOL: (152..158) + IDENTIFIER: (152..158) "define" + ATMOSPHERE: (158..159) " " + FORM: (159..169) + OPEN_PAREN: (159..160) "(" + SYMBOL: (160..168) + IDENTIFIER: (160..168) "do-stuff" + CLOSE_PAREN: (168..169) ")" + ATMOSPHERE: (169..174) " + " + FORM: (174..209) + OPEN_PAREN: (174..175) "(" + SYMBOL: (175..181) + IDENTIFIER: (175..181) "define" + ATMOSPHERE: (181..182) " " + FORM: (182..192) + OPEN_PAREN: (182..183) "(" + SYMBOL: (183..189) + IDENTIFIER: (183..189) "things" + ATMOSPHERE: (189..190) " " + SYMBOL: (190..191) + IDENTIFIER: (190..191) "c" + CLOSE_PAREN: (191..192) ")" + ATMOSPHERE: (192..199) " + " + FORM: (199..208) + OPEN_PAREN: (199..200) "(" + SYMBOL: (200..201) + IDENTIFIER: (200..201) "+" + ATMOSPHERE: (201..202) " " + SYMBOL: (202..203) + IDENTIFIER: (202..203) "a" + ATMOSPHERE: (203..204) " " + SYMBOL: (204..205) + IDENTIFIER: (204..205) "b" + ATMOSPHERE: (205..206) " " + SYMBOL: (206..207) + IDENTIFIER: (206..207) "c" + CLOSE_PAREN: (207..208) ")" + CLOSE_PAREN: (208..209) ")" + ATMOSPHERE: (209..214) " + " + FORM: (214..225) + OPEN_PAREN: (214..215) "(" + SYMBOL: (215..221) + IDENTIFIER: (215..221) "things" + ATMOSPHERE: (221..222) " " + CONSTANT: (222..224) + NUMBER: (222..224) "12" + CLOSE_PAREN: (224..225) ")" + CLOSE_PAREN: (225..226) ")" + ATMOSPHERE: (226..229) " + " + FORM: (229..239) + OPEN_PAREN: (229..230) "(" + SYMBOL: (230..238) + IDENTIFIER: (230..238) "do-stuff" + CLOSE_PAREN: (238..239) ")" + CLOSE_PAREN: (239..240) ")" + ATMOSPHERE: (240..242) " + +" + FORM: (242..262) + OPEN_PAREN: (242..243) "(" + SYMBOL: (243..250) + IDENTIFIER: (243..250) "display" + ATMOSPHERE: (250..251) " " + FORM: (251..261) + OPEN_PAREN: (251..252) "(" + SYMBOL: (252..256) + IDENTIFIER: (252..256) "test" + ATMOSPHERE: (256..257) " " + CONSTANT: (257..258) + NUMBER: (257..258) "1" + ATMOSPHERE: (258..259) " " + CONSTANT: (259..260) + NUMBER: (259..260) "2" + CLOSE_PAREN: (260..261) ")" + CLOSE_PAREN: (261..262) ")" + FORM: (262..271) + OPEN_PAREN: (262..263) "(" + SYMBOL: (263..270) + IDENTIFIER: (263..270) "newline" + CLOSE_PAREN: (270..271) ")" + ATMOSPHERE: (271..272) " +" + EOF: (272..272) "" diff --git a/spec/equivalence.ast b/spec/equivalence.ast new file mode 100644 index 0000000..1200367 --- /dev/null +++ b/spec/equivalence.ast @@ -0,0 +1,1172 @@ +PROGRAM: (0..2277) + ATMOSPHERE: (0..62) ";; Tests for the Equivalence Predicates (section 6.1 of R7RS)." + ATMOSPHERE: (62..63) " +" + FORM: (63..104) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..70) + IDENTIFIER: (64..70) "import" + ATMOSPHERE: (70..71) " " + FORM: (71..84) + OPEN_PAREN: (71..72) "(" + SYMBOL: (72..78) + IDENTIFIER: (72..78) "scheme" + ATMOSPHERE: (78..79) " " + SYMBOL: (79..83) + IDENTIFIER: (79..83) "base" + CLOSE_PAREN: (83..84) ")" + ATMOSPHERE: (84..89) " + " + FORM: (89..103) + OPEN_PAREN: (89..90) "(" + SYMBOL: (90..96) + IDENTIFIER: (90..96) "scheme" + ATMOSPHERE: (96..97) " " + SYMBOL: (97..102) + IDENTIFIER: (97..102) "write" + CLOSE_PAREN: (102..103) ")" + CLOSE_PAREN: (103..104) ")" + ATMOSPHERE: (104..106) " + +" + ATMOSPHERE: (106..128) ";; Trivial equivalence" + ATMOSPHERE: (128..129) " +" + FORM: (129..562) + OPEN_PAREN: (129..130) "(" + SYMBOL: (130..137) + IDENTIFIER: (130..137) "display" + ATMOSPHERE: (137..138) " " + FORM: (138..561) + OPEN_PAREN: (138..139) "(" + SYMBOL: (139..143) + IDENTIFIER: (139..143) "list" + ATMOSPHERE: (143..149) " + + " + FORM: (149..161) + OPEN_PAREN: (149..150) "(" + SYMBOL: (150..154) + IDENTIFIER: (150..154) "eqv?" + ATMOSPHERE: (154..155) " " + QUOTED_DATUM: (155..158) + QUOTE: (155..156) "’" + SYMBOL: (156..157) + IDENTIFIER: (156..157) "a" + ATMOSPHERE: (157..158) " " + QUOTED_DATUM: (158..160) + QUOTE: (158..159) "’" + SYMBOL: (159..160) + IDENTIFIER: (159..160) "a" + CLOSE_PAREN: (160..161) ")" + ATMOSPHERE: (161..162) " " + ATMOSPHERE: (162..169) "; ~> #t" + ATMOSPHERE: (169..174) " + " + FORM: (174..186) + OPEN_PAREN: (174..175) "(" + SYMBOL: (175..179) + IDENTIFIER: (175..179) "eqv?" + ATMOSPHERE: (179..180) " " + QUOTED_DATUM: (180..183) + QUOTE: (180..181) "’" + SYMBOL: (181..182) + IDENTIFIER: (181..182) "a" + ATMOSPHERE: (182..183) " " + QUOTED_DATUM: (183..185) + QUOTE: (183..184) "’" + SYMBOL: (184..185) + IDENTIFIER: (184..185) "b" + CLOSE_PAREN: (185..186) ")" + ATMOSPHERE: (186..187) " " + ATMOSPHERE: (187..194) "; ~> #f" + ATMOSPHERE: (194..199) " + " + FORM: (199..209) + OPEN_PAREN: (199..200) "(" + SYMBOL: (200..204) + IDENTIFIER: (200..204) "eqv?" + ATMOSPHERE: (204..205) " " + CONSTANT: (205..206) + NUMBER: (205..206) "2" + ATMOSPHERE: (206..207) " " + CONSTANT: (207..208) + NUMBER: (207..208) "2" + CLOSE_PAREN: (208..209) ")" + ATMOSPHERE: (209..210) " " + ATMOSPHERE: (210..217) "; ~> #t" + ATMOSPHERE: (217..222) " + " + FORM: (222..234) + OPEN_PAREN: (222..223) "(" + SYMBOL: (223..227) + IDENTIFIER: (223..227) "eqv?" + ATMOSPHERE: (227..228) " " + CONSTANT: (228..229) + NUMBER: (228..229) "2" + ATMOSPHERE: (229..230) " " + CONSTANT: (230..233) + NUMBER: (230..233) "2.0" + CLOSE_PAREN: (233..234) ")" + ATMOSPHERE: (234..235) " " + ATMOSPHERE: (235..293) "; ~> #f Should be false, but we don't do exact numbers :-/" + ATMOSPHERE: (293..298) " + " + FORM: (298..312) + OPEN_PAREN: (298..299) "(" + SYMBOL: (299..303) + IDENTIFIER: (299..303) "eqv?" + ATMOSPHERE: (303..304) " " + QUOTED_DATUM: (304..308) + QUOTE: (304..305) "’" + FORM: (305..307) + OPEN_PAREN: (305..306) "(" + CLOSE_PAREN: (306..307) ")" + ATMOSPHERE: (307..308) " " + QUOTED_DATUM: (308..311) + QUOTE: (308..309) "’" + FORM: (309..311) + OPEN_PAREN: (309..310) "(" + CLOSE_PAREN: (310..311) ")" + CLOSE_PAREN: (311..312) ")" + ATMOSPHERE: (312..313) " " + ATMOSPHERE: (313..320) "; ~> #t" + ATMOSPHERE: (320..325) " + " + FORM: (325..351) + OPEN_PAREN: (325..326) "(" + SYMBOL: (326..330) + IDENTIFIER: (326..330) "eqv?" + ATMOSPHERE: (330..331) " " + CONSTANT: (331..340) + NUMBER: (331..340) "100000000" + ATMOSPHERE: (340..341) " " + CONSTANT: (341..350) + NUMBER: (341..350) "100000000" + CLOSE_PAREN: (350..351) ")" + ATMOSPHERE: (351..352) " " + ATMOSPHERE: (352..359) "; ~> #t" + ATMOSPHERE: (359..364) " + " + ATMOSPHERE: (364..391) "; (eqv? 0.0 +nan.0) ; ~> #f" + ATMOSPHERE: (391..396) " + " + FORM: (396..424) + OPEN_PAREN: (396..397) "(" + SYMBOL: (397..401) + IDENTIFIER: (397..401) "eqv?" + ATMOSPHERE: (401..402) " " + FORM: (402..412) + OPEN_PAREN: (402..403) "(" + SYMBOL: (403..407) + IDENTIFIER: (403..407) "cons" + ATMOSPHERE: (407..408) " " + CONSTANT: (408..409) + NUMBER: (408..409) "1" + ATMOSPHERE: (409..410) " " + CONSTANT: (410..411) + NUMBER: (410..411) "2" + CLOSE_PAREN: (411..412) ")" + ATMOSPHERE: (412..413) " " + FORM: (413..423) + OPEN_PAREN: (413..414) "(" + SYMBOL: (414..418) + IDENTIFIER: (414..418) "cons" + ATMOSPHERE: (418..419) " " + CONSTANT: (419..420) + NUMBER: (419..420) "1" + ATMOSPHERE: (420..421) " " + CONSTANT: (421..422) + NUMBER: (421..422) "2" + CLOSE_PAREN: (422..423) ")" + CLOSE_PAREN: (423..424) ")" + ATMOSPHERE: (424..425) " " + ATMOSPHERE: (425..432) "; ~> #f" + ATMOSPHERE: (432..437) " + " + FORM: (437..470) + OPEN_PAREN: (437..438) "(" + SYMBOL: (438..442) + IDENTIFIER: (438..442) "eqv?" + ATMOSPHERE: (442..443) " " + FORM: (443..456) + OPEN_PAREN: (443..444) "(" + SYMBOL: (444..450) + IDENTIFIER: (444..450) "lambda" + ATMOSPHERE: (450..451) " " + FORM: (451..453) + OPEN_PAREN: (451..452) "(" + CLOSE_PAREN: (452..453) ")" + ATMOSPHERE: (453..454) " " + CONSTANT: (454..455) + NUMBER: (454..455) "1" + CLOSE_PAREN: (455..456) ")" + FORM: (456..469) + OPEN_PAREN: (456..457) "(" + SYMBOL: (457..463) + IDENTIFIER: (457..463) "lambda" + ATMOSPHERE: (463..464) " " + FORM: (464..466) + OPEN_PAREN: (464..465) "(" + CLOSE_PAREN: (465..466) ")" + ATMOSPHERE: (466..467) " " + CONSTANT: (467..468) + NUMBER: (467..468) "2" + CLOSE_PAREN: (468..469) ")" + CLOSE_PAREN: (469..470) ")" + ATMOSPHERE: (470..471) " " + ATMOSPHERE: (471..478) "; ~> #f" + ATMOSPHERE: (478..483) " + " + FORM: (483..519) + OPEN_PAREN: (483..484) "(" + SYMBOL: (484..487) + IDENTIFIER: (484..487) "let" + ATMOSPHERE: (487..488) " " + FORM: (488..508) + OPEN_PAREN: (488..489) "(" + FORM: (489..507) + OPEN_PAREN: (489..490) "(" + SYMBOL: (490..491) + IDENTIFIER: (490..491) "p" + ATMOSPHERE: (491..492) " " + FORM: (492..506) + OPEN_PAREN: (492..493) "(" + SYMBOL: (493..499) + IDENTIFIER: (493..499) "lambda" + ATMOSPHERE: (499..500) " " + FORM: (500..503) + OPEN_PAREN: (500..501) "(" + SYMBOL: (501..502) + IDENTIFIER: (501..502) "x" + CLOSE_PAREN: (502..503) ")" + ATMOSPHERE: (503..504) " " + SYMBOL: (504..505) + IDENTIFIER: (504..505) "x" + CLOSE_PAREN: (505..506) ")" + CLOSE_PAREN: (506..507) ")" + CLOSE_PAREN: (507..508) ")" + FORM: (508..518) + OPEN_PAREN: (508..509) "(" + SYMBOL: (509..513) + IDENTIFIER: (509..513) "eqv?" + ATMOSPHERE: (513..514) " " + SYMBOL: (514..515) + IDENTIFIER: (514..515) "p" + ATMOSPHERE: (515..516) " " + SYMBOL: (516..517) + IDENTIFIER: (516..517) "p" + CLOSE_PAREN: (517..518) ")" + CLOSE_PAREN: (518..519) ")" + ATMOSPHERE: (519..520) " " + ATMOSPHERE: (520..527) "; ~> #t" + ATMOSPHERE: (527..532) " + " + FORM: (532..546) + OPEN_PAREN: (532..533) "(" + SYMBOL: (533..537) + IDENTIFIER: (533..537) "eqv?" + ATMOSPHERE: (537..538) " " + CONSTANT: (538..540) + BOOLEAN: (538..540) "#f" + ATMOSPHERE: (540..541) " " + QUOTED_DATUM: (541..545) + QUOTE: (541..542) "’" + SYMBOL: (542..545) + IDENTIFIER: (542..545) "nil" + CLOSE_PAREN: (545..546) ")" + ATMOSPHERE: (546..547) " " + ATMOSPHERE: (547..554) "; ~> #f" + ATMOSPHERE: (554..560) " + + " + CLOSE_PAREN: (560..561) ")" + CLOSE_PAREN: (561..562) ")" + FORM: (562..571) + OPEN_PAREN: (562..563) "(" + SYMBOL: (563..570) + IDENTIFIER: (563..570) "newline" + CLOSE_PAREN: (570..571) ")" + ATMOSPHERE: (571..573) " + +" + ATMOSPHERE: (573..609) ";; implementaiton specified restults" + ATMOSPHERE: (609..610) " +" + FORM: (610..905) + OPEN_PAREN: (610..611) "(" + SYMBOL: (611..618) + IDENTIFIER: (611..618) "display" + ATMOSPHERE: (618..619) " " + FORM: (619..904) + OPEN_PAREN: (619..620) "(" + SYMBOL: (620..624) + IDENTIFIER: (620..624) "list" + ATMOSPHERE: (624..630) " + + " + FORM: (630..642) + OPEN_PAREN: (630..631) "(" + SYMBOL: (631..635) + IDENTIFIER: (631..635) "eqv?" + ATMOSPHERE: (635..636) " " + CONSTANT: (636..638) + STRING: (636..638) """" + ATMOSPHERE: (638..639) " " + CONSTANT: (639..641) + STRING: (639..641) """" + CLOSE_PAREN: (641..642) ")" + ATMOSPHERE: (642..643) " " + ATMOSPHERE: (643..659) "; ~> unspecified" + ATMOSPHERE: (659..664) " + " + FORM: (664..680) + OPEN_PAREN: (664..665) "(" + SYMBOL: (665..669) + IDENTIFIER: (665..669) "eqv?" + ATMOSPHERE: (669..670) " " + QUOTED_DATUM: (670..675) + QUOTE: (670..671) "’" + VEC: (671..674) + OPEN_PAREN: (671..673) "#(" + CLOSE_PAREN: (673..674) ")" + ATMOSPHERE: (674..675) " " + QUOTED_DATUM: (675..679) + QUOTE: (675..676) "’" + VEC: (676..679) + OPEN_PAREN: (676..678) "#(" + CLOSE_PAREN: (678..679) ")" + CLOSE_PAREN: (679..680) ")" + ATMOSPHERE: (680..681) " " + ATMOSPHERE: (681..697) "; ~> unspecified" + ATMOSPHERE: (697..702) " + " + FORM: (702..737) + OPEN_PAREN: (702..703) "(" + SYMBOL: (703..707) + IDENTIFIER: (703..707) "eqv?" + ATMOSPHERE: (707..708) " " + FORM: (708..722) + OPEN_PAREN: (708..709) "(" + SYMBOL: (709..715) + IDENTIFIER: (709..715) "lambda" + ATMOSPHERE: (715..716) " " + FORM: (716..719) + OPEN_PAREN: (716..717) "(" + SYMBOL: (717..718) + IDENTIFIER: (717..718) "x" + CLOSE_PAREN: (718..719) ")" + ATMOSPHERE: (719..720) " " + SYMBOL: (720..721) + IDENTIFIER: (720..721) "x" + CLOSE_PAREN: (721..722) ")" + FORM: (722..736) + OPEN_PAREN: (722..723) "(" + SYMBOL: (723..729) + IDENTIFIER: (723..729) "lambda" + ATMOSPHERE: (729..730) " " + FORM: (730..733) + OPEN_PAREN: (730..731) "(" + SYMBOL: (731..732) + IDENTIFIER: (731..732) "x" + CLOSE_PAREN: (732..733) ")" + ATMOSPHERE: (733..734) " " + SYMBOL: (734..735) + IDENTIFIER: (734..735) "x" + CLOSE_PAREN: (735..736) ")" + CLOSE_PAREN: (736..737) ")" + ATMOSPHERE: (737..738) " " + ATMOSPHERE: (738..754) "; ~> unspecified" + ATMOSPHERE: (754..759) " + " + FORM: (759..794) + OPEN_PAREN: (759..760) "(" + SYMBOL: (760..764) + IDENTIFIER: (760..764) "eqv?" + ATMOSPHERE: (764..765) " " + FORM: (765..779) + OPEN_PAREN: (765..766) "(" + SYMBOL: (766..772) + IDENTIFIER: (766..772) "lambda" + ATMOSPHERE: (772..773) " " + FORM: (773..776) + OPEN_PAREN: (773..774) "(" + SYMBOL: (774..775) + IDENTIFIER: (774..775) "x" + CLOSE_PAREN: (775..776) ")" + ATMOSPHERE: (776..777) " " + SYMBOL: (777..778) + IDENTIFIER: (777..778) "x" + CLOSE_PAREN: (778..779) ")" + FORM: (779..793) + OPEN_PAREN: (779..780) "(" + SYMBOL: (780..786) + IDENTIFIER: (780..786) "lambda" + ATMOSPHERE: (786..787) " " + FORM: (787..790) + OPEN_PAREN: (787..788) "(" + SYMBOL: (788..789) + IDENTIFIER: (788..789) "y" + CLOSE_PAREN: (789..790) ")" + ATMOSPHERE: (790..791) " " + SYMBOL: (791..792) + IDENTIFIER: (791..792) "y" + CLOSE_PAREN: (792..793) ")" + CLOSE_PAREN: (793..794) ")" + ATMOSPHERE: (794..795) " " + ATMOSPHERE: (795..811) "; ~> unspecified" + ATMOSPHERE: (811..816) " + " + ATMOSPHERE: (816..853) "; (eqv? 1.0e0 1.0f0) ; ~> unspecified" + ATMOSPHERE: (853..858) " + " + ATMOSPHERE: (858..897) "; (eqv? +nan.0 +nan.0) ; ~> unspecified" + ATMOSPHERE: (897..903) " + + " + CLOSE_PAREN: (903..904) ")" + CLOSE_PAREN: (904..905) ")" + FORM: (905..914) + OPEN_PAREN: (905..906) "(" + SYMBOL: (906..913) + IDENTIFIER: (906..913) "newline" + CLOSE_PAREN: (913..914) ")" + ATMOSPHERE: (914..916) " + +" + ATMOSPHERE: (916..979) ";; Lambdas that capture state should be different for each call" + ATMOSPHERE: (979..980) " +" + FORM: (980..1097) + OPEN_PAREN: (980..981) "(" + SYMBOL: (981..987) + IDENTIFIER: (981..987) "define" + ATMOSPHERE: (987..988) " " + SYMBOL: (988..999) + IDENTIFIER: (988..999) "gen-counter" + ATMOSPHERE: (999..1004) " + " + FORM: (1004..1096) + OPEN_PAREN: (1004..1005) "(" + SYMBOL: (1005..1011) + IDENTIFIER: (1005..1011) "lambda" + ATMOSPHERE: (1011..1012) " " + FORM: (1012..1014) + OPEN_PAREN: (1012..1013) "(" + CLOSE_PAREN: (1013..1014) ")" + ATMOSPHERE: (1014..1023) " + " + FORM: (1023..1095) + OPEN_PAREN: (1023..1024) "(" + SYMBOL: (1024..1027) + IDENTIFIER: (1024..1027) "let" + ATMOSPHERE: (1027..1028) " " + FORM: (1028..1035) + OPEN_PAREN: (1028..1029) "(" + FORM: (1029..1034) + OPEN_PAREN: (1029..1030) "(" + SYMBOL: (1030..1031) + IDENTIFIER: (1030..1031) "n" + ATMOSPHERE: (1031..1032) " " + CONSTANT: (1032..1033) + NUMBER: (1032..1033) "0" + CLOSE_PAREN: (1033..1034) ")" + CLOSE_PAREN: (1034..1035) ")" + ATMOSPHERE: (1035..1048) " + " + FORM: (1048..1094) + OPEN_PAREN: (1048..1049) "(" + SYMBOL: (1049..1055) + IDENTIFIER: (1049..1055) "lambda" + ATMOSPHERE: (1055..1056) " " + FORM: (1056..1058) + OPEN_PAREN: (1056..1057) "(" + CLOSE_PAREN: (1057..1058) ")" + ATMOSPHERE: (1058..1075) " + " + FORM: (1075..1091) + OPEN_PAREN: (1075..1076) "(" + SYMBOL: (1076..1080) + IDENTIFIER: (1076..1080) "set!" + ATMOSPHERE: (1080..1081) " " + SYMBOL: (1081..1082) + IDENTIFIER: (1081..1082) "n" + ATMOSPHERE: (1082..1083) " " + FORM: (1083..1090) + OPEN_PAREN: (1083..1084) "(" + SYMBOL: (1084..1085) + IDENTIFIER: (1084..1085) "+" + ATMOSPHERE: (1085..1086) " " + SYMBOL: (1086..1087) + IDENTIFIER: (1086..1087) "n" + ATMOSPHERE: (1087..1088) " " + CONSTANT: (1088..1089) + NUMBER: (1088..1089) "1" + CLOSE_PAREN: (1089..1090) ")" + CLOSE_PAREN: (1090..1091) ")" + ATMOSPHERE: (1091..1092) " " + SYMBOL: (1092..1093) + IDENTIFIER: (1092..1093) "n" + CLOSE_PAREN: (1093..1094) ")" + CLOSE_PAREN: (1094..1095) ")" + CLOSE_PAREN: (1095..1096) ")" + CLOSE_PAREN: (1096..1097) ")" + ATMOSPHERE: (1097..1098) " +" + FORM: (1098..1148) + OPEN_PAREN: (1098..1099) "(" + SYMBOL: (1099..1106) + IDENTIFIER: (1099..1106) "display" + ATMOSPHERE: (1106..1107) " " + FORM: (1107..1147) + OPEN_PAREN: (1107..1108) "(" + SYMBOL: (1108..1111) + IDENTIFIER: (1108..1111) "let" + ATMOSPHERE: (1111..1112) " " + FORM: (1112..1131) + OPEN_PAREN: (1112..1113) "(" + FORM: (1113..1130) + OPEN_PAREN: (1113..1114) "(" + SYMBOL: (1114..1115) + IDENTIFIER: (1114..1115) "g" + ATMOSPHERE: (1115..1116) " " + FORM: (1116..1129) + OPEN_PAREN: (1116..1117) "(" + SYMBOL: (1117..1128) + IDENTIFIER: (1117..1128) "gen-counter" + CLOSE_PAREN: (1128..1129) ")" + CLOSE_PAREN: (1129..1130) ")" + CLOSE_PAREN: (1130..1131) ")" + ATMOSPHERE: (1131..1136) " + " + FORM: (1136..1146) + OPEN_PAREN: (1136..1137) "(" + SYMBOL: (1137..1141) + IDENTIFIER: (1137..1141) "eqv?" + ATMOSPHERE: (1141..1142) " " + SYMBOL: (1142..1143) + IDENTIFIER: (1142..1143) "g" + ATMOSPHERE: (1143..1144) " " + SYMBOL: (1144..1145) + IDENTIFIER: (1144..1145) "g" + CLOSE_PAREN: (1145..1146) ")" + CLOSE_PAREN: (1146..1147) ")" + CLOSE_PAREN: (1147..1148) ")" + ATMOSPHERE: (1148..1149) " " + ATMOSPHERE: (1149..1156) "; ~> #t" + ATMOSPHERE: (1156..1157) " +" + FORM: (1157..1201) + OPEN_PAREN: (1157..1158) "(" + SYMBOL: (1158..1165) + IDENTIFIER: (1158..1165) "display" + ATMOSPHERE: (1165..1166) " " + FORM: (1166..1200) + OPEN_PAREN: (1166..1167) "(" + SYMBOL: (1167..1171) + IDENTIFIER: (1167..1171) "eqv?" + ATMOSPHERE: (1171..1172) " " + FORM: (1172..1185) + OPEN_PAREN: (1172..1173) "(" + SYMBOL: (1173..1184) + IDENTIFIER: (1173..1184) "gen-counter" + CLOSE_PAREN: (1184..1185) ")" + ATMOSPHERE: (1185..1186) " " + FORM: (1186..1199) + OPEN_PAREN: (1186..1187) "(" + SYMBOL: (1187..1198) + IDENTIFIER: (1187..1198) "gen-counter" + CLOSE_PAREN: (1198..1199) ")" + CLOSE_PAREN: (1199..1200) ")" + CLOSE_PAREN: (1200..1201) ")" + ATMOSPHERE: (1201..1202) " " + ATMOSPHERE: (1202..1209) "; ~> #f" + ATMOSPHERE: (1209..1210) " +" + FORM: (1210..1219) + OPEN_PAREN: (1210..1211) "(" + SYMBOL: (1211..1218) + IDENTIFIER: (1211..1218) "newline" + CLOSE_PAREN: (1218..1219) ")" + ATMOSPHERE: (1219..1221) " + +" + ATMOSPHERE: (1221..1292) ";; The `eq?` Predicate is allowed to just do a pointer equivalence test" + ATMOSPHERE: (1292..1293) " +" + FORM: (1293..1748) + OPEN_PAREN: (1293..1294) "(" + SYMBOL: (1294..1301) + IDENTIFIER: (1294..1301) "display" + ATMOSPHERE: (1301..1303) " + " + FORM: (1303..1747) + OPEN_PAREN: (1303..1304) "(" + SYMBOL: (1304..1308) + IDENTIFIER: (1304..1308) "list" + ATMOSPHERE: (1308..1311) " + " + FORM: (1311..1322) + OPEN_PAREN: (1311..1312) "(" + SYMBOL: (1312..1315) + IDENTIFIER: (1312..1315) "eq?" + ATMOSPHERE: (1315..1316) " " + QUOTED_DATUM: (1316..1319) + QUOTE: (1316..1317) "’" + SYMBOL: (1317..1318) + IDENTIFIER: (1317..1318) "a" + ATMOSPHERE: (1318..1319) " " + QUOTED_DATUM: (1319..1321) + QUOTE: (1319..1320) "’" + SYMBOL: (1320..1321) + IDENTIFIER: (1320..1321) "a" + CLOSE_PAREN: (1321..1322) ")" + ATMOSPHERE: (1322..1323) " " + ATMOSPHERE: (1323..1330) "; -> #t" + ATMOSPHERE: (1330..1333) " + " + FORM: (1333..1348) + OPEN_PAREN: (1333..1334) "(" + SYMBOL: (1334..1337) + IDENTIFIER: (1334..1337) "eq?" + ATMOSPHERE: (1337..1338) " " + QUOTED_DATUM: (1338..1343) + QUOTE: (1338..1339) "’" + FORM: (1339..1342) + OPEN_PAREN: (1339..1340) "(" + SYMBOL: (1340..1341) + IDENTIFIER: (1340..1341) "a" + CLOSE_PAREN: (1341..1342) ")" + ATMOSPHERE: (1342..1343) " " + QUOTED_DATUM: (1343..1347) + QUOTE: (1343..1344) "’" + FORM: (1344..1347) + OPEN_PAREN: (1344..1345) "(" + SYMBOL: (1345..1346) + IDENTIFIER: (1345..1346) "a" + CLOSE_PAREN: (1346..1347) ")" + CLOSE_PAREN: (1347..1348) ")" + ATMOSPHERE: (1348..1349) " " + ATMOSPHERE: (1349..1365) "; -> unspecified" + ATMOSPHERE: (1365..1368) " + " + FORM: (1368..1393) + OPEN_PAREN: (1368..1369) "(" + SYMBOL: (1369..1372) + IDENTIFIER: (1369..1372) "eq?" + ATMOSPHERE: (1372..1373) " " + FORM: (1373..1382) + OPEN_PAREN: (1373..1374) "(" + SYMBOL: (1374..1378) + IDENTIFIER: (1374..1378) "list" + ATMOSPHERE: (1378..1379) " " + QUOTED_DATUM: (1379..1381) + QUOTE: (1379..1380) "’" + SYMBOL: (1380..1381) + IDENTIFIER: (1380..1381) "a" + CLOSE_PAREN: (1381..1382) ")" + ATMOSPHERE: (1382..1383) " " + FORM: (1383..1392) + OPEN_PAREN: (1383..1384) "(" + SYMBOL: (1384..1388) + IDENTIFIER: (1384..1388) "list" + ATMOSPHERE: (1388..1389) " " + QUOTED_DATUM: (1389..1391) + QUOTE: (1389..1390) "’" + SYMBOL: (1390..1391) + IDENTIFIER: (1390..1391) "a" + CLOSE_PAREN: (1391..1392) ")" + CLOSE_PAREN: (1392..1393) ")" + ATMOSPHERE: (1393..1394) " " + ATMOSPHERE: (1394..1401) "; -> #f" + ATMOSPHERE: (1401..1404) " + " + FORM: (1404..1417) + OPEN_PAREN: (1404..1405) "(" + SYMBOL: (1405..1408) + IDENTIFIER: (1405..1408) "eq?" + ATMOSPHERE: (1408..1409) " " + CONSTANT: (1409..1412) + STRING: (1409..1412) ""a"" + ATMOSPHERE: (1412..1413) " " + CONSTANT: (1413..1416) + STRING: (1413..1416) ""a"" + CLOSE_PAREN: (1416..1417) ")" + ATMOSPHERE: (1417..1418) " " + ATMOSPHERE: (1418..1434) "; -> unspecified" + ATMOSPHERE: (1434..1437) " + " + FORM: (1437..1448) + OPEN_PAREN: (1437..1438) "(" + SYMBOL: (1438..1441) + IDENTIFIER: (1438..1441) "eq?" + ATMOSPHERE: (1441..1442) " " + CONSTANT: (1442..1444) + STRING: (1442..1444) """" + ATMOSPHERE: (1444..1445) " " + CONSTANT: (1445..1447) + STRING: (1445..1447) """" + CLOSE_PAREN: (1447..1448) ")" + ATMOSPHERE: (1448..1449) " " + ATMOSPHERE: (1449..1465) "; -> unspecified" + ATMOSPHERE: (1465..1468) " + " + FORM: (1468..1481) + OPEN_PAREN: (1468..1469) "(" + SYMBOL: (1469..1472) + IDENTIFIER: (1469..1472) "eq?" + ATMOSPHERE: (1472..1473) " " + QUOTED_DATUM: (1473..1477) + QUOTE: (1473..1474) "’" + FORM: (1474..1476) + OPEN_PAREN: (1474..1475) "(" + CLOSE_PAREN: (1475..1476) ")" + ATMOSPHERE: (1476..1477) " " + QUOTED_DATUM: (1477..1480) + QUOTE: (1477..1478) "’" + FORM: (1478..1480) + OPEN_PAREN: (1478..1479) "(" + CLOSE_PAREN: (1479..1480) ")" + CLOSE_PAREN: (1480..1481) ")" + ATMOSPHERE: (1481..1482) " " + ATMOSPHERE: (1482..1489) "; -> #t" + ATMOSPHERE: (1489..1492) " + " + FORM: (1492..1501) + OPEN_PAREN: (1492..1493) "(" + SYMBOL: (1493..1496) + IDENTIFIER: (1493..1496) "eq?" + ATMOSPHERE: (1496..1497) " " + CONSTANT: (1497..1498) + NUMBER: (1497..1498) "2" + ATMOSPHERE: (1498..1499) " " + CONSTANT: (1499..1500) + NUMBER: (1499..1500) "2" + CLOSE_PAREN: (1500..1501) ")" + ATMOSPHERE: (1501..1502) " " + ATMOSPHERE: (1502..1518) "; -> unspecified" + ATMOSPHERE: (1518..1521) " + " + FORM: (1521..1534) + OPEN_PAREN: (1521..1522) "(" + SYMBOL: (1522..1525) + IDENTIFIER: (1522..1525) "eq?" + ATMOSPHERE: (1525..1526) " " + CONSTANT: (1526..1529) + CHARACTER: (1526..1529) "#\A" + ATMOSPHERE: (1529..1530) " " + CONSTANT: (1530..1533) + CHARACTER: (1530..1533) "#\A" + CLOSE_PAREN: (1533..1534) ")" + ATMOSPHERE: (1534..1535) " " + ATMOSPHERE: (1535..1551) "; -> unspecified" + ATMOSPHERE: (1551..1554) " + " + FORM: (1554..1567) + OPEN_PAREN: (1554..1555) "(" + SYMBOL: (1555..1558) + IDENTIFIER: (1555..1558) "eq?" + ATMOSPHERE: (1558..1559) " " + SYMBOL: (1559..1562) + IDENTIFIER: (1559..1562) "car" + ATMOSPHERE: (1562..1563) " " + SYMBOL: (1563..1566) + IDENTIFIER: (1563..1566) "car" + CLOSE_PAREN: (1566..1567) ")" + ATMOSPHERE: (1567..1568) " " + ATMOSPHERE: (1568..1575) "; -> #t" + ATMOSPHERE: (1575..1578) " + " + FORM: (1578..1608) + OPEN_PAREN: (1578..1579) "(" + SYMBOL: (1579..1582) + IDENTIFIER: (1579..1582) "let" + ATMOSPHERE: (1582..1583) " " + FORM: (1583..1596) + OPEN_PAREN: (1583..1584) "(" + FORM: (1584..1595) + OPEN_PAREN: (1584..1585) "(" + SYMBOL: (1585..1586) + IDENTIFIER: (1585..1586) "n" + ATMOSPHERE: (1586..1587) " " + FORM: (1587..1594) + OPEN_PAREN: (1587..1588) "(" + SYMBOL: (1588..1589) + IDENTIFIER: (1588..1589) "+" + ATMOSPHERE: (1589..1590) " " + CONSTANT: (1590..1591) + NUMBER: (1590..1591) "2" + ATMOSPHERE: (1591..1592) " " + CONSTANT: (1592..1593) + NUMBER: (1592..1593) "3" + CLOSE_PAREN: (1593..1594) ")" + CLOSE_PAREN: (1594..1595) ")" + CLOSE_PAREN: (1595..1596) ")" + ATMOSPHERE: (1596..1598) " + " + FORM: (1598..1607) + OPEN_PAREN: (1598..1599) "(" + SYMBOL: (1599..1602) + IDENTIFIER: (1599..1602) "eq?" + ATMOSPHERE: (1602..1603) " " + SYMBOL: (1603..1604) + IDENTIFIER: (1603..1604) "n" + ATMOSPHERE: (1604..1605) " " + SYMBOL: (1605..1606) + IDENTIFIER: (1605..1606) "n" + CLOSE_PAREN: (1606..1607) ")" + CLOSE_PAREN: (1607..1608) ")" + ATMOSPHERE: (1608..1609) " " + ATMOSPHERE: (1609..1625) "; -> unspecified" + ATMOSPHERE: (1625..1628) " + " + FORM: (1628..1653) + OPEN_PAREN: (1628..1629) "(" + SYMBOL: (1629..1632) + IDENTIFIER: (1629..1632) "let" + ATMOSPHERE: (1632..1633) " " + FORM: (1633..1643) + OPEN_PAREN: (1633..1634) "(" + FORM: (1634..1642) + OPEN_PAREN: (1634..1635) "(" + SYMBOL: (1635..1636) + IDENTIFIER: (1635..1636) "x" + ATMOSPHERE: (1636..1637) " " + QUOTED_DATUM: (1637..1641) + QUOTE: (1637..1638) "’" + FORM: (1638..1641) + OPEN_PAREN: (1638..1639) "(" + SYMBOL: (1639..1640) + IDENTIFIER: (1639..1640) "a" + CLOSE_PAREN: (1640..1641) ")" + CLOSE_PAREN: (1641..1642) ")" + CLOSE_PAREN: (1642..1643) ")" + FORM: (1643..1652) + OPEN_PAREN: (1643..1644) "(" + SYMBOL: (1644..1647) + IDENTIFIER: (1644..1647) "eq?" + ATMOSPHERE: (1647..1648) " " + SYMBOL: (1648..1649) + IDENTIFIER: (1648..1649) "x" + ATMOSPHERE: (1649..1650) " " + SYMBOL: (1650..1651) + IDENTIFIER: (1650..1651) "x" + CLOSE_PAREN: (1651..1652) ")" + CLOSE_PAREN: (1652..1653) ")" + ATMOSPHERE: (1653..1654) " " + ATMOSPHERE: (1654..1661) "; -> #t" + ATMOSPHERE: (1661..1664) " + " + FORM: (1664..1689) + OPEN_PAREN: (1664..1665) "(" + SYMBOL: (1665..1668) + IDENTIFIER: (1665..1668) "let" + ATMOSPHERE: (1668..1669) " " + FORM: (1669..1679) + OPEN_PAREN: (1669..1670) "(" + FORM: (1670..1678) + OPEN_PAREN: (1670..1671) "(" + SYMBOL: (1671..1672) + IDENTIFIER: (1671..1672) "x" + ATMOSPHERE: (1672..1673) " " + QUOTED_DATUM: (1673..1677) + QUOTE: (1673..1674) "’" + VEC: (1674..1677) + OPEN_PAREN: (1674..1676) "#(" + CLOSE_PAREN: (1676..1677) ")" + CLOSE_PAREN: (1677..1678) ")" + CLOSE_PAREN: (1678..1679) ")" + FORM: (1679..1688) + OPEN_PAREN: (1679..1680) "(" + SYMBOL: (1680..1683) + IDENTIFIER: (1680..1683) "eq?" + ATMOSPHERE: (1683..1684) " " + SYMBOL: (1684..1685) + IDENTIFIER: (1684..1685) "x" + ATMOSPHERE: (1685..1686) " " + SYMBOL: (1686..1687) + IDENTIFIER: (1686..1687) "x" + CLOSE_PAREN: (1687..1688) ")" + CLOSE_PAREN: (1688..1689) ")" + ATMOSPHERE: (1689..1690) " " + ATMOSPHERE: (1690..1697) "; -> #t" + ATMOSPHERE: (1697..1700) " + " + FORM: (1700..1735) + OPEN_PAREN: (1700..1701) "(" + SYMBOL: (1701..1704) + IDENTIFIER: (1701..1704) "let" + ATMOSPHERE: (1704..1705) " " + FORM: (1705..1725) + OPEN_PAREN: (1705..1706) "(" + FORM: (1706..1724) + OPEN_PAREN: (1706..1707) "(" + SYMBOL: (1707..1708) + IDENTIFIER: (1707..1708) "p" + ATMOSPHERE: (1708..1709) " " + FORM: (1709..1723) + OPEN_PAREN: (1709..1710) "(" + SYMBOL: (1710..1716) + IDENTIFIER: (1710..1716) "lambda" + ATMOSPHERE: (1716..1717) " " + FORM: (1717..1720) + OPEN_PAREN: (1717..1718) "(" + SYMBOL: (1718..1719) + IDENTIFIER: (1718..1719) "x" + CLOSE_PAREN: (1719..1720) ")" + ATMOSPHERE: (1720..1721) " " + SYMBOL: (1721..1722) + IDENTIFIER: (1721..1722) "x" + CLOSE_PAREN: (1722..1723) ")" + CLOSE_PAREN: (1723..1724) ")" + CLOSE_PAREN: (1724..1725) ")" + FORM: (1725..1734) + OPEN_PAREN: (1725..1726) "(" + SYMBOL: (1726..1729) + IDENTIFIER: (1726..1729) "eq?" + ATMOSPHERE: (1729..1730) " " + SYMBOL: (1730..1731) + IDENTIFIER: (1730..1731) "p" + ATMOSPHERE: (1731..1732) " " + SYMBOL: (1732..1733) + IDENTIFIER: (1732..1733) "p" + CLOSE_PAREN: (1733..1734) ")" + CLOSE_PAREN: (1734..1735) ")" + ATMOSPHERE: (1735..1736) " " + ATMOSPHERE: (1736..1743) "; -> #t" + ATMOSPHERE: (1743..1746) " + " + CLOSE_PAREN: (1746..1747) ")" + CLOSE_PAREN: (1747..1748) ")" + FORM: (1748..1757) + OPEN_PAREN: (1748..1749) "(" + SYMBOL: (1749..1756) + IDENTIFIER: (1749..1756) "newline" + CLOSE_PAREN: (1756..1757) ")" + ATMOSPHERE: (1757..1759) " + +" + ATMOSPHERE: (1759..1831) ";; The `equals?` predicate should recursively calculate equivalence. For" + ATMOSPHERE: (1831..1832) " +" + ATMOSPHERE: (1832..1887) ";; our implementation this is close to `object.Equals`." + ATMOSPHERE: (1887..1888) " +" + FORM: (1888..2267) + OPEN_PAREN: (1888..1889) "(" + SYMBOL: (1889..1896) + IDENTIFIER: (1889..1896) "display" + ATMOSPHERE: (1896..1898) " + " + FORM: (1898..2266) + OPEN_PAREN: (1898..1899) "(" + SYMBOL: (1899..1903) + IDENTIFIER: (1899..1903) "list" + ATMOSPHERE: (1903..1906) " + " + FORM: (1906..1920) + OPEN_PAREN: (1906..1907) "(" + SYMBOL: (1907..1913) + IDENTIFIER: (1907..1913) "equal?" + ATMOSPHERE: (1913..1914) " " + QUOTED_DATUM: (1914..1917) + QUOTE: (1914..1915) "’" + SYMBOL: (1915..1916) + IDENTIFIER: (1915..1916) "a" + ATMOSPHERE: (1916..1917) " " + QUOTED_DATUM: (1917..1919) + QUOTE: (1917..1918) "’" + SYMBOL: (1918..1919) + IDENTIFIER: (1918..1919) "a" + CLOSE_PAREN: (1919..1920) ")" + ATMOSPHERE: (1920..1921) " " + ATMOSPHERE: (1921..1928) "; -> #t" + ATMOSPHERE: (1928..1931) " + " + FORM: (1931..1949) + OPEN_PAREN: (1931..1932) "(" + SYMBOL: (1932..1938) + IDENTIFIER: (1932..1938) "equal?" + ATMOSPHERE: (1938..1939) " " + QUOTED_DATUM: (1939..1944) + QUOTE: (1939..1940) "’" + FORM: (1940..1943) + OPEN_PAREN: (1940..1941) "(" + SYMBOL: (1941..1942) + IDENTIFIER: (1941..1942) "a" + CLOSE_PAREN: (1942..1943) ")" + ATMOSPHERE: (1943..1944) " " + QUOTED_DATUM: (1944..1948) + QUOTE: (1944..1945) "’" + FORM: (1945..1948) + OPEN_PAREN: (1945..1946) "(" + SYMBOL: (1946..1947) + IDENTIFIER: (1946..1947) "a" + CLOSE_PAREN: (1947..1948) ")" + CLOSE_PAREN: (1948..1949) ")" + ATMOSPHERE: (1949..1950) " " + ATMOSPHERE: (1950..1957) "; -> #t" + ATMOSPHERE: (1957..1960) " + " + FORM: (1960..1989) + OPEN_PAREN: (1960..1961) "(" + SYMBOL: (1961..1967) + IDENTIFIER: (1961..1967) "equal?" + ATMOSPHERE: (1967..1968) " " + QUOTED_DATUM: (1968..1978) + QUOTE: (1968..1969) "’" + FORM: (1969..1978) + OPEN_PAREN: (1969..1970) "(" + SYMBOL: (1970..1971) + IDENTIFIER: (1970..1971) "a" + ATMOSPHERE: (1971..1972) " " + FORM: (1972..1975) + OPEN_PAREN: (1972..1973) "(" + SYMBOL: (1973..1974) + IDENTIFIER: (1973..1974) "b" + CLOSE_PAREN: (1974..1975) ")" + ATMOSPHERE: (1975..1976) " " + SYMBOL: (1976..1977) + IDENTIFIER: (1976..1977) "c" + CLOSE_PAREN: (1977..1978) ")" + QUOTED_DATUM: (1978..1988) + QUOTE: (1978..1979) "’" + FORM: (1979..1988) + OPEN_PAREN: (1979..1980) "(" + SYMBOL: (1980..1981) + IDENTIFIER: (1980..1981) "a" + ATMOSPHERE: (1981..1982) " " + FORM: (1982..1985) + OPEN_PAREN: (1982..1983) "(" + SYMBOL: (1983..1984) + IDENTIFIER: (1983..1984) "b" + CLOSE_PAREN: (1984..1985) ")" + ATMOSPHERE: (1985..1986) " " + SYMBOL: (1986..1987) + IDENTIFIER: (1986..1987) "c" + CLOSE_PAREN: (1987..1988) ")" + CLOSE_PAREN: (1988..1989) ")" + ATMOSPHERE: (1989..1990) " " + ATMOSPHERE: (1990..1997) "; -> #t" + ATMOSPHERE: (1997..2000) " + " + FORM: (2000..2020) + OPEN_PAREN: (2000..2001) "(" + SYMBOL: (2001..2007) + IDENTIFIER: (2001..2007) "equal?" + ATMOSPHERE: (2007..2008) " " + CONSTANT: (2008..2013) + STRING: (2008..2013) ""abc"" + ATMOSPHERE: (2013..2014) " " + CONSTANT: (2014..2019) + STRING: (2014..2019) ""abc"" + CLOSE_PAREN: (2019..2020) ")" + ATMOSPHERE: (2020..2021) " " + ATMOSPHERE: (2021..2028) "; -> #t" + ATMOSPHERE: (2028..2031) " + " + FORM: (2031..2043) + OPEN_PAREN: (2031..2032) "(" + SYMBOL: (2032..2038) + IDENTIFIER: (2032..2038) "equal?" + ATMOSPHERE: (2038..2039) " " + CONSTANT: (2039..2040) + NUMBER: (2039..2040) "2" + ATMOSPHERE: (2040..2041) " " + CONSTANT: (2041..2042) + NUMBER: (2041..2042) "2" + CLOSE_PAREN: (2042..2043) ")" + ATMOSPHERE: (2043..2044) " " + ATMOSPHERE: (2044..2051) "; -> #t" + ATMOSPHERE: (2051..2054) " + " + FORM: (2054..2099) + OPEN_PAREN: (2054..2055) "(" + SYMBOL: (2055..2061) + IDENTIFIER: (2055..2061) "equal?" + ATMOSPHERE: (2061..2062) " " + FORM: (2062..2080) + OPEN_PAREN: (2062..2063) "(" + SYMBOL: (2063..2074) + IDENTIFIER: (2063..2074) "make-vector" + ATMOSPHERE: (2074..2075) " " + CONSTANT: (2075..2076) + NUMBER: (2075..2076) "5" + ATMOSPHERE: (2076..2077) " " + QUOTED_DATUM: (2077..2079) + QUOTE: (2077..2078) "’" + SYMBOL: (2078..2079) + IDENTIFIER: (2078..2079) "a" + CLOSE_PAREN: (2079..2080) ")" + FORM: (2080..2098) + OPEN_PAREN: (2080..2081) "(" + SYMBOL: (2081..2092) + IDENTIFIER: (2081..2092) "make-vector" + ATMOSPHERE: (2092..2093) " " + CONSTANT: (2093..2094) + NUMBER: (2093..2094) "5" + ATMOSPHERE: (2094..2095) " " + QUOTED_DATUM: (2095..2097) + QUOTE: (2095..2096) "’" + SYMBOL: (2096..2097) + IDENTIFIER: (2096..2097) "a" + CLOSE_PAREN: (2097..2098) ")" + CLOSE_PAREN: (2098..2099) ")" + ATMOSPHERE: (2099..2100) " " + ATMOSPHERE: (2100..2107) "; -> #t" + ATMOSPHERE: (2107..2110) " + " + ATMOSPHERE: (2110..2149) "; We don't support quote references yet" + ATMOSPHERE: (2149..2152) " + " + ATMOSPHERE: (2152..2205) "; (equal? ’#1=(a b . #1#)’#2=(a b a b . #2#)) ; -> #t" + ATMOSPHERE: (2205..2208) " + " + FORM: (2208..2245) + OPEN_PAREN: (2208..2209) "(" + SYMBOL: (2209..2215) + IDENTIFIER: (2209..2215) "equal?" + ATMOSPHERE: (2215..2216) " " + FORM: (2216..2230) + OPEN_PAREN: (2216..2217) "(" + SYMBOL: (2217..2223) + IDENTIFIER: (2217..2223) "lambda" + ATMOSPHERE: (2223..2224) " " + FORM: (2224..2227) + OPEN_PAREN: (2224..2225) "(" + SYMBOL: (2225..2226) + IDENTIFIER: (2225..2226) "x" + CLOSE_PAREN: (2226..2227) ")" + ATMOSPHERE: (2227..2228) " " + SYMBOL: (2228..2229) + IDENTIFIER: (2228..2229) "x" + CLOSE_PAREN: (2229..2230) ")" + FORM: (2230..2244) + OPEN_PAREN: (2230..2231) "(" + SYMBOL: (2231..2237) + IDENTIFIER: (2231..2237) "lambda" + ATMOSPHERE: (2237..2238) " " + FORM: (2238..2241) + OPEN_PAREN: (2238..2239) "(" + SYMBOL: (2239..2240) + IDENTIFIER: (2239..2240) "y" + CLOSE_PAREN: (2240..2241) ")" + ATMOSPHERE: (2241..2242) " " + SYMBOL: (2242..2243) + IDENTIFIER: (2242..2243) "y" + CLOSE_PAREN: (2243..2244) ")" + CLOSE_PAREN: (2244..2245) ")" + ATMOSPHERE: (2245..2246) " " + ATMOSPHERE: (2246..2262) "; -> unspecified" + ATMOSPHERE: (2262..2265) " + " + CLOSE_PAREN: (2265..2266) ")" + CLOSE_PAREN: (2266..2267) ")" + FORM: (2267..2276) + OPEN_PAREN: (2267..2268) "(" + SYMBOL: (2268..2275) + IDENTIFIER: (2268..2275) "newline" + CLOSE_PAREN: (2275..2276) ")" + ATMOSPHERE: (2276..2277) " +" + EOF: (2277..2277) "" diff --git a/spec/eratosthenes.ast b/spec/eratosthenes.ast new file mode 100644 index 0000000..51db531 --- /dev/null +++ b/spec/eratosthenes.ast @@ -0,0 +1,392 @@ +PROGRAM: (0..1136) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + ATMOSPHERE: (42..88) ";; Implementation of the Sieve of Eratosthenes" + ATMOSPHERE: (88..89) " +" + ATMOSPHERE: (89..143) ";; https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes" + ATMOSPHERE: (143..144) " +" + FORM: (144..1030) + OPEN_PAREN: (144..145) "(" + SYMBOL: (145..151) + IDENTIFIER: (145..151) "define" + ATMOSPHERE: (151..152) " " + FORM: (152..168) + OPEN_PAREN: (152..153) "(" + SYMBOL: (153..165) + IDENTIFIER: (153..165) "eratosthenes" + ATMOSPHERE: (165..166) " " + SYMBOL: (166..167) + IDENTIFIER: (166..167) "n" + CLOSE_PAREN: (167..168) ")" + ATMOSPHERE: (168..173) " + " + ATMOSPHERE: (173..223) ";; Mark multiples of the given prime in the vector" + ATMOSPHERE: (223..228) " + " + FORM: (228..552) + OPEN_PAREN: (228..229) "(" + SYMBOL: (229..235) + IDENTIFIER: (229..235) "define" + ATMOSPHERE: (235..236) " " + FORM: (236..261) + OPEN_PAREN: (236..237) "(" + SYMBOL: (237..251) + IDENTIFIER: (237..251) "mark-multiples" + ATMOSPHERE: (251..252) " " + SYMBOL: (252..253) + IDENTIFIER: (252..253) "p" + ATMOSPHERE: (253..254) " " + SYMBOL: (254..260) + IDENTIFIER: (254..260) "marked" + CLOSE_PAREN: (260..261) ")" + ATMOSPHERE: (261..270) " + " + FORM: (270..506) + OPEN_PAREN: (270..271) "(" + SYMBOL: (271..277) + IDENTIFIER: (271..277) "define" + ATMOSPHERE: (277..278) " " + FORM: (278..308) + OPEN_PAREN: (278..279) "(" + SYMBOL: (279..296) + IDENTIFIER: (279..296) "mark-multiples-at" + ATMOSPHERE: (296..297) " " + SYMBOL: (297..298) + IDENTIFIER: (297..298) "p" + ATMOSPHERE: (298..299) " " + SYMBOL: (299..300) + IDENTIFIER: (299..300) "m" + ATMOSPHERE: (300..301) " " + SYMBOL: (301..307) + IDENTIFIER: (301..307) "marked" + CLOSE_PAREN: (307..308) ")" + ATMOSPHERE: (308..321) " + " + FORM: (321..505) + OPEN_PAREN: (321..322) "(" + SYMBOL: (322..324) + IDENTIFIER: (322..324) "if" + ATMOSPHERE: (324..325) " " + FORM: (325..354) + OPEN_PAREN: (325..326) "(" + SYMBOL: (326..328) + IDENTIFIER: (326..328) ">=" + ATMOSPHERE: (328..329) " " + SYMBOL: (329..330) + IDENTIFIER: (329..330) "m" + ATMOSPHERE: (330..331) " " + FORM: (331..353) + OPEN_PAREN: (331..332) "(" + SYMBOL: (332..345) + IDENTIFIER: (332..345) "vector-length" + ATMOSPHERE: (345..346) " " + SYMBOL: (346..352) + IDENTIFIER: (346..352) "marked" + CLOSE_PAREN: (352..353) ")" + CLOSE_PAREN: (353..354) ")" + ATMOSPHERE: (354..371) " + " + SYMBOL: (371..377) + IDENTIFIER: (371..377) "marked" + ATMOSPHERE: (377..394) " + " + FORM: (394..504) + OPEN_PAREN: (394..395) "(" + SYMBOL: (395..400) + IDENTIFIER: (395..400) "begin" + ATMOSPHERE: (400..421) " + " + FORM: (421..446) + OPEN_PAREN: (421..422) "(" + SYMBOL: (422..433) + IDENTIFIER: (422..433) "vector-set!" + ATMOSPHERE: (433..434) " " + SYMBOL: (434..440) + IDENTIFIER: (434..440) "marked" + ATMOSPHERE: (440..441) " " + SYMBOL: (441..442) + IDENTIFIER: (441..442) "m" + ATMOSPHERE: (442..443) " " + CONSTANT: (443..445) + BOOLEAN: (443..445) "#t" + CLOSE_PAREN: (445..446) ")" + ATMOSPHERE: (446..467) " + " + FORM: (467..503) + OPEN_PAREN: (467..468) "(" + SYMBOL: (468..485) + IDENTIFIER: (468..485) "mark-multiples-at" + ATMOSPHERE: (485..486) " " + SYMBOL: (486..487) + IDENTIFIER: (486..487) "p" + ATMOSPHERE: (487..488) " " + FORM: (488..495) + OPEN_PAREN: (488..489) "(" + SYMBOL: (489..490) + IDENTIFIER: (489..490) "+" + ATMOSPHERE: (490..491) " " + SYMBOL: (491..492) + IDENTIFIER: (491..492) "m" + ATMOSPHERE: (492..493) " " + SYMBOL: (493..494) + IDENTIFIER: (493..494) "p" + CLOSE_PAREN: (494..495) ")" + ATMOSPHERE: (495..496) " " + SYMBOL: (496..502) + IDENTIFIER: (496..502) "marked" + CLOSE_PAREN: (502..503) ")" + CLOSE_PAREN: (503..504) ")" + CLOSE_PAREN: (504..505) ")" + CLOSE_PAREN: (505..506) ")" + ATMOSPHERE: (506..515) " + " + FORM: (515..551) + OPEN_PAREN: (515..516) "(" + SYMBOL: (516..533) + IDENTIFIER: (516..533) "mark-multiples-at" + ATMOSPHERE: (533..534) " " + SYMBOL: (534..535) + IDENTIFIER: (534..535) "p" + ATMOSPHERE: (535..536) " " + FORM: (536..543) + OPEN_PAREN: (536..537) "(" + SYMBOL: (537..538) + IDENTIFIER: (537..538) "*" + ATMOSPHERE: (538..539) " " + SYMBOL: (539..540) + IDENTIFIER: (539..540) "p" + ATMOSPHERE: (540..541) " " + SYMBOL: (541..542) + IDENTIFIER: (541..542) "p" + CLOSE_PAREN: (542..543) ")" + ATMOSPHERE: (543..544) " " + SYMBOL: (544..550) + IDENTIFIER: (544..550) "marked" + CLOSE_PAREN: (550..551) ")" + CLOSE_PAREN: (551..552) ")" + ATMOSPHERE: (552..557) " + " + ATMOSPHERE: (557..613) ";; main prime sieve. Recursively marks multiples of each" + ATMOSPHERE: (613..618) " + " + ATMOSPHERE: (618..667) ";; prime and builds up a list of them as it goes." + ATMOSPHERE: (667..672) " + " + FORM: (672..995) + OPEN_PAREN: (672..673) "(" + SYMBOL: (673..679) + IDENTIFIER: (673..679) "define" + ATMOSPHERE: (679..680) " " + FORM: (680..701) + OPEN_PAREN: (680..681) "(" + SYMBOL: (681..684) + IDENTIFIER: (681..684) "siv" + ATMOSPHERE: (684..685) " " + SYMBOL: (685..686) + IDENTIFIER: (685..686) "p" + ATMOSPHERE: (686..687) " " + SYMBOL: (687..693) + IDENTIFIER: (687..693) "marked" + ATMOSPHERE: (693..694) " " + SYMBOL: (694..700) + IDENTIFIER: (694..700) "primes" + CLOSE_PAREN: (700..701) ")" + ATMOSPHERE: (701..710) " + " + FORM: (710..994) + OPEN_PAREN: (710..711) "(" + SYMBOL: (711..713) + IDENTIFIER: (711..713) "if" + ATMOSPHERE: (713..714) " " + FORM: (714..743) + OPEN_PAREN: (714..715) "(" + SYMBOL: (715..717) + IDENTIFIER: (715..717) ">=" + ATMOSPHERE: (717..718) " " + SYMBOL: (718..719) + IDENTIFIER: (718..719) "p" + ATMOSPHERE: (719..720) " " + FORM: (720..742) + OPEN_PAREN: (720..721) "(" + SYMBOL: (721..734) + IDENTIFIER: (721..734) "vector-length" + ATMOSPHERE: (734..735) " " + SYMBOL: (735..741) + IDENTIFIER: (735..741) "marked" + CLOSE_PAREN: (741..742) ")" + CLOSE_PAREN: (742..743) ")" + ATMOSPHERE: (743..756) " + " + SYMBOL: (756..762) + IDENTIFIER: (756..762) "primes" + ATMOSPHERE: (762..775) " + " + ATMOSPHERE: (775..838) ";; If the item is marked, it is a multiple of some other prime." + ATMOSPHERE: (838..851) " + " + FORM: (851..993) + OPEN_PAREN: (851..852) "(" + SYMBOL: (852..854) + IDENTIFIER: (852..854) "if" + ATMOSPHERE: (854..855) " " + FORM: (855..876) + OPEN_PAREN: (855..856) "(" + SYMBOL: (856..866) + IDENTIFIER: (856..866) "vector-ref" + ATMOSPHERE: (866..867) " " + SYMBOL: (867..873) + IDENTIFIER: (867..873) "marked" + ATMOSPHERE: (873..874) " " + SYMBOL: (874..875) + IDENTIFIER: (874..875) "p" + CLOSE_PAREN: (875..876) ")" + ATMOSPHERE: (876..893) " + " + FORM: (893..920) + OPEN_PAREN: (893..894) "(" + SYMBOL: (894..897) + IDENTIFIER: (894..897) "siv" + ATMOSPHERE: (897..898) " " + FORM: (898..905) + OPEN_PAREN: (898..899) "(" + SYMBOL: (899..900) + IDENTIFIER: (899..900) "+" + ATMOSPHERE: (900..901) " " + CONSTANT: (901..902) + NUMBER: (901..902) "1" + ATMOSPHERE: (902..903) " " + SYMBOL: (903..904) + IDENTIFIER: (903..904) "p" + CLOSE_PAREN: (904..905) ")" + ATMOSPHERE: (905..906) " " + SYMBOL: (906..912) + IDENTIFIER: (906..912) "marked" + ATMOSPHERE: (912..913) " " + SYMBOL: (913..919) + IDENTIFIER: (913..919) "primes" + CLOSE_PAREN: (919..920) ")" + ATMOSPHERE: (920..937) " + " + FORM: (937..992) + OPEN_PAREN: (937..938) "(" + SYMBOL: (938..941) + IDENTIFIER: (938..941) "siv" + ATMOSPHERE: (941..942) " " + FORM: (942..949) + OPEN_PAREN: (942..943) "(" + SYMBOL: (943..944) + IDENTIFIER: (943..944) "+" + ATMOSPHERE: (944..945) " " + CONSTANT: (945..946) + NUMBER: (945..946) "1" + ATMOSPHERE: (946..947) " " + SYMBOL: (947..948) + IDENTIFIER: (947..948) "p" + CLOSE_PAREN: (948..949) ")" + ATMOSPHERE: (949..950) " " + FORM: (950..975) + OPEN_PAREN: (950..951) "(" + SYMBOL: (951..965) + IDENTIFIER: (951..965) "mark-multiples" + ATMOSPHERE: (965..966) " " + SYMBOL: (966..967) + IDENTIFIER: (966..967) "p" + ATMOSPHERE: (967..968) " " + SYMBOL: (968..974) + IDENTIFIER: (968..974) "marked" + CLOSE_PAREN: (974..975) ")" + ATMOSPHERE: (975..976) " " + FORM: (976..991) + OPEN_PAREN: (976..977) "(" + SYMBOL: (977..981) + IDENTIFIER: (977..981) "cons" + ATMOSPHERE: (981..982) " " + SYMBOL: (982..983) + IDENTIFIER: (982..983) "p" + ATMOSPHERE: (983..984) " " + SYMBOL: (984..990) + IDENTIFIER: (984..990) "primes" + CLOSE_PAREN: (990..991) ")" + CLOSE_PAREN: (991..992) ")" + CLOSE_PAREN: (992..993) ")" + CLOSE_PAREN: (993..994) ")" + CLOSE_PAREN: (994..995) ")" + ATMOSPHERE: (995..1000) " + " + FORM: (1000..1029) + OPEN_PAREN: (1000..1001) "(" + SYMBOL: (1001..1004) + IDENTIFIER: (1001..1004) "siv" + ATMOSPHERE: (1004..1005) " " + CONSTANT: (1005..1006) + NUMBER: (1005..1006) "2" + ATMOSPHERE: (1006..1007) " " + FORM: (1007..1025) + OPEN_PAREN: (1007..1008) "(" + SYMBOL: (1008..1019) + IDENTIFIER: (1008..1019) "make-vector" + ATMOSPHERE: (1019..1020) " " + SYMBOL: (1020..1021) + IDENTIFIER: (1020..1021) "n" + ATMOSPHERE: (1021..1022) " " + CONSTANT: (1022..1024) + BOOLEAN: (1022..1024) "#f" + CLOSE_PAREN: (1024..1025) ")" + ATMOSPHERE: (1025..1026) " " + FORM: (1026..1028) + OPEN_PAREN: (1026..1027) "(" + CLOSE_PAREN: (1027..1028) ")" + CLOSE_PAREN: (1028..1029) ")" + CLOSE_PAREN: (1029..1030) ")" + ATMOSPHERE: (1030..1032) " + +" + ATMOSPHERE: (1032..1069) ";; ;; Display the first 10,000 primes" + ATMOSPHERE: (1069..1070) " +" + ATMOSPHERE: (1070..1104) ";; (display (eratosthenes 104730))" + ATMOSPHERE: (1104..1105) " +" + FORM: (1105..1135) + OPEN_PAREN: (1105..1106) "(" + SYMBOL: (1106..1113) + IDENTIFIER: (1106..1113) "display" + ATMOSPHERE: (1113..1114) " " + FORM: (1114..1134) + OPEN_PAREN: (1114..1115) "(" + SYMBOL: (1115..1127) + IDENTIFIER: (1115..1127) "eratosthenes" + ATMOSPHERE: (1127..1128) " " + CONSTANT: (1128..1133) + NUMBER: (1128..1133) "10000" + CLOSE_PAREN: (1133..1134) ")" + CLOSE_PAREN: (1134..1135) ")" + ATMOSPHERE: (1135..1136) " +" + EOF: (1136..1136) "" diff --git a/spec/fact.ast b/spec/fact.ast new file mode 100644 index 0000000..3f9e9ba --- /dev/null +++ b/spec/fact.ast @@ -0,0 +1,112 @@ +PROGRAM: (0..143) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..115) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..49) + IDENTIFIER: (43..49) "define" + ATMOSPHERE: (49..50) " " + FORM: (50..58) + OPEN_PAREN: (50..51) "(" + SYMBOL: (51..55) + IDENTIFIER: (51..55) "fact" + ATMOSPHERE: (55..56) " " + SYMBOL: (56..57) + IDENTIFIER: (56..57) "n" + CLOSE_PAREN: (57..58) ")" + ATMOSPHERE: (58..63) " + " + FORM: (63..114) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..66) + IDENTIFIER: (64..66) "if" + ATMOSPHERE: (66..67) " " + FORM: (67..74) + OPEN_PAREN: (67..68) "(" + SYMBOL: (68..69) + IDENTIFIER: (68..69) "=" + ATMOSPHERE: (69..70) " " + SYMBOL: (70..71) + IDENTIFIER: (70..71) "n" + ATMOSPHERE: (71..72) " " + CONSTANT: (72..73) + NUMBER: (72..73) "0" + CLOSE_PAREN: (73..74) ")" + ATMOSPHERE: (74..83) " + " + CONSTANT: (83..84) + NUMBER: (83..84) "1" + ATMOSPHERE: (84..93) " + " + FORM: (93..113) + OPEN_PAREN: (93..94) "(" + SYMBOL: (94..95) + IDENTIFIER: (94..95) "*" + ATMOSPHERE: (95..96) " " + SYMBOL: (96..97) + IDENTIFIER: (96..97) "n" + ATMOSPHERE: (97..98) " " + FORM: (98..112) + OPEN_PAREN: (98..99) "(" + SYMBOL: (99..103) + IDENTIFIER: (99..103) "fact" + ATMOSPHERE: (103..104) " " + FORM: (104..111) + OPEN_PAREN: (104..105) "(" + SYMBOL: (105..106) + IDENTIFIER: (105..106) "-" + ATMOSPHERE: (106..107) " " + SYMBOL: (107..108) + IDENTIFIER: (107..108) "n" + ATMOSPHERE: (108..109) " " + CONSTANT: (109..110) + NUMBER: (109..110) "1" + CLOSE_PAREN: (110..111) ")" + CLOSE_PAREN: (111..112) ")" + CLOSE_PAREN: (112..113) ")" + CLOSE_PAREN: (113..114) ")" + CLOSE_PAREN: (114..115) ")" + ATMOSPHERE: (115..117) " + +" + FORM: (117..135) + OPEN_PAREN: (117..118) "(" + SYMBOL: (118..125) + IDENTIFIER: (118..125) "display" + ATMOSPHERE: (125..126) " " + FORM: (126..134) + OPEN_PAREN: (126..127) "(" + SYMBOL: (127..131) + IDENTIFIER: (127..131) "fact" + ATMOSPHERE: (131..132) " " + CONSTANT: (132..133) + NUMBER: (132..133) "4" + CLOSE_PAREN: (133..134) ")" + CLOSE_PAREN: (134..135) ")" + ATMOSPHERE: (135..136) " " + ATMOSPHERE: (136..143) "; => 24" + EOF: (143..143) "" diff --git a/spec/fail/3.ast b/spec/fail/3.ast new file mode 100644 index 0000000..855b51c --- /dev/null +++ b/spec/fail/3.ast @@ -0,0 +1,55 @@ +PROGRAM: (0..133) + ATMOSPHERE: (0..12) "; expectfail" + ATMOSPHERE: (12..13) " +" + FORM: (13..25) + OPEN_PAREN: (13..14) "(" + SYMBOL: (14..20) + IDENTIFIER: (14..20) "define" + ATMOSPHERE: (20..21) " " + SYMBOL: (21..22) + IDENTIFIER: (21..22) "n" + ATMOSPHERE: (22..23) " " + CONSTANT: (23..24) + NUMBER: (23..24) "1" + CLOSE_PAREN: (24..25) ")" + ATMOSPHERE: (25..26) " +" + FORM: (26..133) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "lambda" + ATMOSPHERE: (33..34) " " + FORM: (34..36) + OPEN_PAREN: (34..35) "(" + CLOSE_PAREN: (35..36) ")" + ATMOSPHERE: (36..45) " + " + FORM: (45..132) + OPEN_PAREN: (45..46) "(" + SYMBOL: (46..50) + IDENTIFIER: (46..50) "set!" + ATMOSPHERE: (50..51) " " + SYMBOL: (51..52) + IDENTIFIER: (51..52) "n" + ATMOSPHERE: (52..53) " " + FORM: (53..60) + OPEN_PAREN: (53..54) "(" + SYMBOL: (54..55) + IDENTIFIER: (54..55) "+" + ATMOSPHERE: (55..56) " " + CONSTANT: (56..57) + NUMBER: (56..57) "1" + ATMOSPHERE: (57..58) " " + SYMBOL: (58..59) + IDENTIFIER: (58..59) "n" + CLOSE_PAREN: (59..60) ")" + ATMOSPHERE: (60..61) " " + ATMOSPHERE: (61..121) "; note the `)` is on the next line. This `set!` is malformed" + ATMOSPHERE: (121..130) " + " + SYMBOL: (130..131) + IDENTIFIER: (130..131) "n" + CLOSE_PAREN: (131..132) ")" + CLOSE_PAREN: (132..133) ")" + EOF: (133..133) "" diff --git a/spec/fail/bad-imports.ast b/spec/fail/bad-imports.ast new file mode 100644 index 0000000..e0e073e --- /dev/null +++ b/spec/fail/bad-imports.ast @@ -0,0 +1,70 @@ +PROGRAM: (0..112) + FORM: (0..29) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..28) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..12) + IDENTIFIER: (9..12) "not" + ATMOSPHERE: (12..13) " " + SYMBOL: (13..14) + IDENTIFIER: (13..14) "a" + ATMOSPHERE: (14..15) " " + SYMBOL: (15..19) + IDENTIFIER: (15..19) "real" + ATMOSPHERE: (19..20) " " + SYMBOL: (20..27) + IDENTIFIER: (20..27) "library" + CLOSE_PAREN: (27..28) ")" + CLOSE_PAREN: (28..29) ")" + ATMOSPHERE: (29..30) " +" + FORM: (30..47) + OPEN_PAREN: (30..31) "(" + SYMBOL: (31..37) + IDENTIFIER: (31..37) "import" + ATMOSPHERE: (37..38) " " + SYMBOL: (38..46) + IDENTIFIER: (38..46) "badthing" + CLOSE_PAREN: (46..47) ")" + ATMOSPHERE: (47..48) " +" + FORM: (48..112) + OPEN_PAREN: (48..49) "(" + SYMBOL: (49..63) + IDENTIFIER: (49..63) "define-library" + ATMOSPHERE: (63..64) " " + FORM: (64..70) + OPEN_PAREN: (64..65) "(" + SYMBOL: (65..69) + IDENTIFIER: (65..69) "test" + CLOSE_PAREN: (69..70) ")" + ATMOSPHERE: (70..75) " + " + FORM: (75..111) + OPEN_PAREN: (75..76) "(" + SYMBOL: (76..82) + IDENTIFIER: (76..82) "import" + ATMOSPHERE: (82..83) " " + FORM: (83..110) + OPEN_PAREN: (83..84) "(" + SYMBOL: (84..88) + IDENTIFIER: (84..88) "only" + ATMOSPHERE: (88..89) " " + FORM: (89..103) + OPEN_PAREN: (89..90) "(" + SYMBOL: (90..94) + IDENTIFIER: (90..94) "test" + ATMOSPHERE: (94..95) " " + SYMBOL: (95..102) + IDENTIFIER: (95..102) "greeter" + CLOSE_PAREN: (102..103) ")" + ATMOSPHERE: (103..104) " " + SYMBOL: (104..109) + IDENTIFIER: (104..109) "greet" + CLOSE_PAREN: (109..110) ")" + CLOSE_PAREN: (110..111) ")" + CLOSE_PAREN: (111..112) ")" + EOF: (112..112) "" diff --git a/spec/fail/bad-letrecs.ast b/spec/fail/bad-letrecs.ast new file mode 100644 index 0000000..4274188 --- /dev/null +++ b/spec/fail/bad-letrecs.ast @@ -0,0 +1,114 @@ +PROGRAM: (0..389) + FORM: (0..22) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + CLOSE_PAREN: (21..22) ")" + ATMOSPHERE: (22..24) " + +" + FORM: (24..246) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..31) + IDENTIFIER: (25..31) "letrec" + ATMOSPHERE: (31..32) " " + FORM: (32..124) + OPEN_PAREN: (32..33) "(" + FORM: (33..53) + OPEN_PAREN: (33..34) "(" + SYMBOL: (34..39) + IDENTIFIER: (34..39) "first" + ATMOSPHERE: (39..40) " " + FORM: (40..52) + OPEN_PAREN: (40..41) "(" + SYMBOL: (41..42) + IDENTIFIER: (41..42) "+" + ATMOSPHERE: (42..43) " " + SYMBOL: (43..49) + IDENTIFIER: (43..49) "second" + ATMOSPHERE: (49..50) " " + CONSTANT: (50..51) + NUMBER: (50..51) "1" + CLOSE_PAREN: (51..52) ")" + CLOSE_PAREN: (52..53) ")" + ATMOSPHERE: (53..54) " " + ATMOSPHERE: (54..104) "; Can't reference second here, it isn't intialised" + ATMOSPHERE: (104..109) " + " + FORM: (109..123) + OPEN_PAREN: (109..110) "(" + SYMBOL: (110..116) + IDENTIFIER: (110..116) "second" + ATMOSPHERE: (116..117) " " + SYMBOL: (117..122) + IDENTIFIER: (117..122) "first" + CLOSE_PAREN: (122..123) ")" + CLOSE_PAREN: (123..124) ")" + ATMOSPHERE: (124..135) " " + ATMOSPHERE: (135..179) "; Can't reference first here, initialisation" + ATMOSPHERE: (179..210) " + " + ATMOSPHERE: (210..234) "; order isn't specified." + ATMOSPHERE: (234..239) " + " + SYMBOL: (239..245) + IDENTIFIER: (239..245) "second" + CLOSE_PAREN: (245..246) ")" + ATMOSPHERE: (246..247) " +" + FORM: (247..388) + OPEN_PAREN: (247..248) "(" + SYMBOL: (248..255) + IDENTIFIER: (248..255) "letrec*" + ATMOSPHERE: (255..256) " " + FORM: (256..340) + OPEN_PAREN: (256..257) "(" + FORM: (257..279) + OPEN_PAREN: (257..258) "(" + SYMBOL: (258..263) + IDENTIFIER: (258..263) "first" + ATMOSPHERE: (263..264) " " + FORM: (264..278) + OPEN_PAREN: (264..265) "(" + SYMBOL: (265..266) + IDENTIFIER: (265..266) "-" + ATMOSPHERE: (266..267) " " + SYMBOL: (267..273) + IDENTIFIER: (267..273) "second" + ATMOSPHERE: (273..274) " " + CONSTANT: (274..277) + NUMBER: (274..277) "100" + CLOSE_PAREN: (277..278) ")" + CLOSE_PAREN: (278..279) ")" + ATMOSPHERE: (279..280) " " + ATMOSPHERE: (280..320) "; Can't referenc second, not initialised" + ATMOSPHERE: (320..325) " + " + FORM: (325..339) + OPEN_PAREN: (325..326) "(" + SYMBOL: (326..332) + IDENTIFIER: (326..332) "second" + ATMOSPHERE: (332..333) " " + SYMBOL: (333..338) + IDENTIFIER: (333..338) "first" + CLOSE_PAREN: (338..339) ")" + CLOSE_PAREN: (339..340) ")" + ATMOSPHERE: (340..354) " " + ATMOSPHERE: (354..376) "; This is actually OK." + ATMOSPHERE: (376..381) " + " + SYMBOL: (381..387) + IDENTIFIER: (381..387) "second" + CLOSE_PAREN: (387..388) ")" + ATMOSPHERE: (388..389) " +" + EOF: (389..389) "" diff --git a/spec/fail/bad-library-names-parsefail.ast b/spec/fail/bad-library-names-parsefail.ast new file mode 100644 index 0000000..e8ed191 --- /dev/null +++ b/spec/fail/bad-library-names-parsefail.ast @@ -0,0 +1,12 @@ +PROGRAM: (0..19) + FORM: (0..18) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..15) + IDENTIFIER: (1..15) "define-library" + ATMOSPHERE: (15..16) " " + DOTTED_TAIL: (16..17) + DOT: (16..17) "." + CLOSE_PAREN: (17..18) ")" + ATMOSPHERE: (18..19) " +" + EOF: (19..19) "" diff --git a/spec/fail/bad-library-names.ast b/spec/fail/bad-library-names.ast new file mode 100644 index 0000000..eb77187 --- /dev/null +++ b/spec/fail/bad-library-names.ast @@ -0,0 +1,97 @@ +PROGRAM: (0..189) + FORM: (0..24) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..15) + IDENTIFIER: (1..15) "define-library" + ATMOSPHERE: (15..16) " " + CONSTANT: (16..23) + STRING: (16..23) ""hello"" + CLOSE_PAREN: (23..24) ")" + ATMOSPHERE: (24..25) " +" + FORM: (25..64) + OPEN_PAREN: (25..26) "(" + SYMBOL: (26..40) + IDENTIFIER: (26..40) "define-library" + ATMOSPHERE: (40..41) " " + FORM: (41..63) + OPEN_PAREN: (41..42) "(" + SYMBOL: (42..48) + IDENTIFIER: (42..48) "scheme" + ATMOSPHERE: (48..49) " " + SYMBOL: (49..62) + IDENTIFIER: (49..62) "|silly'chars|" + CLOSE_PAREN: (62..63) ")" + CLOSE_PAREN: (63..64) ")" + ATMOSPHERE: (64..65) " +" + FORM: (65..91) + OPEN_PAREN: (65..66) "(" + SYMBOL: (66..80) + IDENTIFIER: (66..80) "define-library" + ATMOSPHERE: (80..81) " " + FORM: (81..90) + OPEN_PAREN: (81..82) "(" + SYMBOL: (82..86) + IDENTIFIER: (82..86) "some" + ATMOSPHERE: (86..87) " " + QUOTED_DATUM: (87..89) + QUOTE: (87..88) "'" + SYMBOL: (88..89) + IDENTIFIER: (88..89) "t" + CLOSE_PAREN: (89..90) ")" + CLOSE_PAREN: (90..91) ")" + ATMOSPHERE: (91..92) " +" + FORM: (92..124) + OPEN_PAREN: (92..93) "(" + SYMBOL: (93..107) + IDENTIFIER: (93..107) "define-library" + ATMOSPHERE: (107..108) " " + FORM: (108..123) + OPEN_PAREN: (108..109) "(" + SYMBOL: (109..113) + IDENTIFIER: (109..113) "srfi" + ATMOSPHERE: (113..114) " " + SYMBOL: (114..119) + IDENTIFIER: (114..119) "trust" + ATMOSPHERE: (119..120) " " + SYMBOL: (120..122) + IDENTIFIER: (120..122) "me" + CLOSE_PAREN: (122..123) ")" + CLOSE_PAREN: (123..124) ")" + ATMOSPHERE: (124..125) " +" + FORM: (125..188) + OPEN_PAREN: (125..126) "(" + SYMBOL: (126..140) + IDENTIFIER: (126..140) "define-library" + ATMOSPHERE: (140..141) " " + FORM: (141..157) + OPEN_PAREN: (141..142) "(" + SYMBOL: (142..149) + IDENTIFIER: (142..149) "missing" + ATMOSPHERE: (149..150) " " + SYMBOL: (150..156) + IDENTIFIER: (150..156) "export" + CLOSE_PAREN: (156..157) ")" + ATMOSPHERE: (157..162) " + " + FORM: (162..187) + OPEN_PAREN: (162..163) "(" + SYMBOL: (163..169) + IDENTIFIER: (163..169) "export" + ATMOSPHERE: (169..170) " " + SYMBOL: (170..172) + IDENTIFIER: (170..172) "we" + ATMOSPHERE: (172..173) " " + SYMBOL: (173..180) + IDENTIFIER: (173..180) "|don't|" + ATMOSPHERE: (180..181) " " + SYMBOL: (181..186) + IDENTIFIER: (181..186) "exist" + CLOSE_PAREN: (186..187) ")" + CLOSE_PAREN: (187..188) ")" + ATMOSPHERE: (188..189) " +" + EOF: (189..189) "" diff --git a/spec/fail/bad-strings-and-idents.ast b/spec/fail/bad-strings-and-idents.ast new file mode 100644 index 0000000..cac6bec --- /dev/null +++ b/spec/fail/bad-strings-and-idents.ast @@ -0,0 +1,37 @@ +PROGRAM: (0..193) + ATMOSPHERE: (0..76) ";; FIXME: Almost none of these generate parser errors any more. We should be" + ATMOSPHERE: (76..77) " +" + ATMOSPHERE: (77..141) ";; more strict about what we accept as strings or idents." + ATMOSPHERE: (141..143) " + +" + CONSTANT: (143..148) + STRING: (143..148) ""\x;"" + ATMOSPHERE: (148..149) " +" + CONSTANT: (149..155) + STRING: (149..155) ""\x20"" + ATMOSPHERE: (155..156) " +" + CONSTANT: (156..171) + STRING: (156..171) ""\x10000;\" +'|"" + ATMOSPHERE: (171..172) " +" + CONSTANT: (172..180) + CHARACTER: (172..180) "#\x12345" + ATMOSPHERE: (180..181) " +" + QUOTED_DATUM: (181..188) + QUOTE: (181..182) "'" + SYMBOL: (182..187) + IDENTIFIER: (182..187) "|\x;|" + ATMOSPHERE: (187..188) " +" + QUOTED_DATUM: (188..193) + QUOTE: (188..189) "'" + CONSTANT: (189..193) + ERROR: (189..193) "|\x +" + EOF: (193..193) "" diff --git a/spec/fail/macrofails.ast b/spec/fail/macrofails.ast new file mode 100644 index 0000000..4b81412 --- /dev/null +++ b/spec/fail/macrofails.ast @@ -0,0 +1,232 @@ +PROGRAM: (0..426) + FORM: (0..22) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + CLOSE_PAREN: (21..22) ")" + ATMOSPHERE: (22..23) " +" + FORM: (23..147) + OPEN_PAREN: (23..24) "(" + SYMBOL: (24..37) + IDENTIFIER: (24..37) "define-syntax" + ATMOSPHERE: (37..38) " " + SYMBOL: (38..48) + IDENTIFIER: (38..48) "test-macro" + ATMOSPHERE: (48..53) " + " + FORM: (53..146) + OPEN_PAREN: (53..54) "(" + SYMBOL: (54..66) + IDENTIFIER: (54..66) "syntax-rules" + ATMOSPHERE: (66..67) " " + SYMBOL: (67..70) + IDENTIFIER: (67..70) ":::" + ATMOSPHERE: (70..71) " " + FORM: (71..77) + OPEN_PAREN: (71..72) "(" + SYMBOL: (72..76) + IDENTIFIER: (72..76) "test" + CLOSE_PAREN: (76..77) ")" + ATMOSPHERE: (77..86) " + " + FORM: (86..97) + OPEN_PAREN: (86..87) "(" + FORM: (87..90) + OPEN_PAREN: (87..88) "(" + SYMBOL: (88..89) + IDENTIFIER: (88..89) "_" + CLOSE_PAREN: (89..90) ")" + ATMOSPHERE: (90..91) " " + QUOTED_DATUM: (91..96) + QUOTE: (91..92) "'" + SYMBOL: (92..96) + IDENTIFIER: (92..96) "nowt" + CLOSE_PAREN: (96..97) ")" + ATMOSPHERE: (97..106) " + " + FORM: (106..145) + OPEN_PAREN: (106..107) "(" + FORM: (107..126) + OPEN_PAREN: (107..108) "(" + SYMBOL: (108..109) + IDENTIFIER: (108..109) "_" + ATMOSPHERE: (109..110) " " + SYMBOL: (110..114) + IDENTIFIER: (110..114) "test" + ATMOSPHERE: (114..115) " " + SYMBOL: (115..121) + IDENTIFIER: (115..121) "things" + ATMOSPHERE: (121..122) " " + SYMBOL: (122..125) + IDENTIFIER: (122..125) ":::" + CLOSE_PAREN: (125..126) ")" + ATMOSPHERE: (126..127) " " + FORM: (127..144) + OPEN_PAREN: (127..128) "(" + SYMBOL: (128..132) + IDENTIFIER: (128..132) "list" + ATMOSPHERE: (132..133) " " + SYMBOL: (133..139) + IDENTIFIER: (133..139) "things" + ATMOSPHERE: (139..140) " " + SYMBOL: (140..143) + IDENTIFIER: (140..143) ":::" + CLOSE_PAREN: (143..144) ")" + CLOSE_PAREN: (144..145) ")" + CLOSE_PAREN: (145..146) ")" + CLOSE_PAREN: (146..147) ")" + ATMOSPHERE: (147..149) " + +" + FORM: (149..161) + OPEN_PAREN: (149..150) "(" + SYMBOL: (150..160) + IDENTIFIER: (150..160) "test-macro" + CLOSE_PAREN: (160..161) ")" + ATMOSPHERE: (161..162) " +" + FORM: (162..185) + OPEN_PAREN: (162..163) "(" + SYMBOL: (163..173) + IDENTIFIER: (163..173) "test-macro" + ATMOSPHERE: (173..174) " " + SYMBOL: (174..178) + IDENTIFIER: (174..178) "test" + ATMOSPHERE: (178..179) " " + CONSTANT: (179..180) + NUMBER: (179..180) "1" + ATMOSPHERE: (180..181) " " + CONSTANT: (181..182) + NUMBER: (181..182) "2" + ATMOSPHERE: (182..183) " " + CONSTANT: (183..184) + NUMBER: (183..184) "3" + CLOSE_PAREN: (184..185) ")" + ATMOSPHERE: (185..186) " +" + FORM: (186..212) + OPEN_PAREN: (186..187) "(" + SYMBOL: (187..197) + IDENTIFIER: (187..197) "test-macro" + ATMOSPHERE: (197..198) " " + SYMBOL: (198..202) + IDENTIFIER: (198..202) "fail" + ATMOSPHERE: (202..203) " " + SYMBOL: (203..207) + IDENTIFIER: (203..207) "this" + ATMOSPHERE: (207..208) " " + SYMBOL: (208..211) + IDENTIFIER: (208..211) "one" + CLOSE_PAREN: (211..212) ")" + ATMOSPHERE: (212..214) " + +" + FORM: (214..426) + OPEN_PAREN: (214..215) "(" + SYMBOL: (215..225) + IDENTIFIER: (215..225) "let-syntax" + ATMOSPHERE: (225..230) " + " + FORM: (230..405) + OPEN_PAREN: (230..231) "(" + FORM: (231..404) + OPEN_PAREN: (231..232) "(" + SYMBOL: (232..239) + IDENTIFIER: (232..239) "another" + ATMOSPHERE: (239..240) " " + FORM: (240..403) + OPEN_PAREN: (240..241) "(" + SYMBOL: (241..253) + IDENTIFIER: (241..253) "syntax-rules" + ATMOSPHERE: (253..254) " " + FORM: (254..256) + OPEN_PAREN: (254..255) "(" + CLOSE_PAREN: (255..256) ")" + ATMOSPHERE: (256..265) " + " + FORM: (265..285) + OPEN_PAREN: (265..266) "(" + FORM: (266..275) + OPEN_PAREN: (266..267) "(" + SYMBOL: (267..268) + IDENTIFIER: (267..268) "_" + ATMOSPHERE: (268..269) " " + SYMBOL: (269..270) + IDENTIFIER: (269..270) "a" + ATMOSPHERE: (270..271) " " + SYMBOL: (271..274) + IDENTIFIER: (271..274) "..." + CLOSE_PAREN: (274..275) ")" + ATMOSPHERE: (275..276) " " + QUOTED_DATUM: (276..284) + QUOTE: (276..277) "'" + FORM: (277..284) + OPEN_PAREN: (277..278) "(" + SYMBOL: (278..279) + IDENTIFIER: (278..279) "a" + ATMOSPHERE: (279..280) " " + SYMBOL: (280..283) + IDENTIFIER: (280..283) "..." + CLOSE_PAREN: (283..284) ")" + CLOSE_PAREN: (284..285) ")" + ATMOSPHERE: (285..294) " + " + ATMOSPHERE: (294..327) "; we expect a diagnostic for both" + ATMOSPHERE: (327..336) " + " + ATMOSPHERE: (336..366) "; these malformed dotted forms" + ATMOSPHERE: (366..375) " + " + FORM: (375..393) + OPEN_PAREN: (375..376) "(" + FORM: (376..381) + OPEN_PAREN: (376..377) "(" + DOTTED_TAIL: (377..380) + DOT: (377..378) "." + ATMOSPHERE: (378..379) " " + SYMBOL: (379..380) + IDENTIFIER: (379..380) "_" + CLOSE_PAREN: (380..381) ")" + ATMOSPHERE: (381..382) " " + FORM: (382..392) + OPEN_PAREN: (382..383) "(" + DOTTED_TAIL: (383..391) + DOT: (383..384) "." + ATMOSPHERE: (384..385) " " + CONSTANT: (385..391) + STRING: (385..391) ""test"" + CLOSE_PAREN: (391..392) ")" + CLOSE_PAREN: (392..393) ")" + ATMOSPHERE: (393..402) " + " + CLOSE_PAREN: (402..403) ")" + CLOSE_PAREN: (403..404) ")" + CLOSE_PAREN: (404..405) ")" + ATMOSPHERE: (405..410) " + " + FORM: (410..425) + OPEN_PAREN: (410..411) "(" + SYMBOL: (411..418) + IDENTIFIER: (411..418) "another" + ATMOSPHERE: (418..419) " " + CONSTANT: (419..420) + NUMBER: (419..420) "1" + ATMOSPHERE: (420..421) " " + CONSTANT: (421..422) + NUMBER: (421..422) "2" + ATMOSPHERE: (422..423) " " + CONSTANT: (423..424) + NUMBER: (423..424) "3" + CLOSE_PAREN: (424..425) ")" + CLOSE_PAREN: (425..426) ")" + EOF: (426..426) "" diff --git a/spec/false.ast b/spec/false.ast new file mode 100644 index 0000000..da016a7 --- /dev/null +++ b/spec/false.ast @@ -0,0 +1,4 @@ +PROGRAM: (0..2) + CONSTANT: (0..2) + BOOLEAN: (0..2) "#f" + EOF: (2..2) "" diff --git a/spec/fib.ast b/spec/fib.ast new file mode 100644 index 0000000..97841b3 --- /dev/null +++ b/spec/fib.ast @@ -0,0 +1,170 @@ +PROGRAM: (0..267) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + ATMOSPHERE: (43..56) "; 1 1 2 3 5 8" + ATMOSPHERE: (56..57) " +" + ATMOSPHERE: (57..70) "; 1 2 3 4 5 6" + ATMOSPHERE: (70..72) " + +" + FORM: (72..236) + OPEN_PAREN: (72..73) "(" + SYMBOL: (73..79) + IDENTIFIER: (73..79) "define" + ATMOSPHERE: (79..80) " " + FORM: (80..87) + OPEN_PAREN: (80..81) "(" + SYMBOL: (81..84) + IDENTIFIER: (81..84) "fib" + ATMOSPHERE: (84..85) " " + SYMBOL: (85..86) + IDENTIFIER: (85..86) "n" + CLOSE_PAREN: (86..87) ")" + ATMOSPHERE: (87..92) " + " + FORM: (92..212) + OPEN_PAREN: (92..93) "(" + SYMBOL: (93..99) + IDENTIFIER: (93..99) "define" + ATMOSPHERE: (99..100) " " + FORM: (100..123) + OPEN_PAREN: (100..101) "(" + SYMBOL: (101..111) + IDENTIFIER: (101..111) "fib-helper" + ATMOSPHERE: (111..112) " " + SYMBOL: (112..113) + IDENTIFIER: (112..113) "n" + ATMOSPHERE: (113..114) " " + SYMBOL: (114..118) + IDENTIFIER: (114..118) "last" + ATMOSPHERE: (118..119) " " + SYMBOL: (119..122) + IDENTIFIER: (119..122) "cur" + CLOSE_PAREN: (122..123) ")" + ATMOSPHERE: (123..132) " + " + FORM: (132..211) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..135) + IDENTIFIER: (133..135) "if" + ATMOSPHERE: (135..136) " " + FORM: (136..144) + OPEN_PAREN: (136..137) "(" + SYMBOL: (137..139) + IDENTIFIER: (137..139) "<=" + ATMOSPHERE: (139..140) " " + SYMBOL: (140..141) + IDENTIFIER: (140..141) "n" + ATMOSPHERE: (141..142) " " + CONSTANT: (142..143) + NUMBER: (142..143) "2" + CLOSE_PAREN: (143..144) ")" + ATMOSPHERE: (144..157) " + " + SYMBOL: (157..160) + IDENTIFIER: (157..160) "cur" + ATMOSPHERE: (160..173) " + " + FORM: (173..210) + OPEN_PAREN: (173..174) "(" + SYMBOL: (174..184) + IDENTIFIER: (174..184) "fib-helper" + ATMOSPHERE: (184..185) " " + FORM: (185..192) + OPEN_PAREN: (185..186) "(" + SYMBOL: (186..187) + IDENTIFIER: (186..187) "-" + ATMOSPHERE: (187..188) " " + SYMBOL: (188..189) + IDENTIFIER: (188..189) "n" + ATMOSPHERE: (189..190) " " + CONSTANT: (190..191) + NUMBER: (190..191) "1" + CLOSE_PAREN: (191..192) ")" + ATMOSPHERE: (192..193) " " + SYMBOL: (193..196) + IDENTIFIER: (193..196) "cur" + ATMOSPHERE: (196..197) " " + FORM: (197..209) + OPEN_PAREN: (197..198) "(" + SYMBOL: (198..199) + IDENTIFIER: (198..199) "+" + ATMOSPHERE: (199..200) " " + SYMBOL: (200..203) + IDENTIFIER: (200..203) "cur" + ATMOSPHERE: (203..204) " " + SYMBOL: (204..208) + IDENTIFIER: (204..208) "last" + CLOSE_PAREN: (208..209) ")" + CLOSE_PAREN: (209..210) ")" + CLOSE_PAREN: (210..211) ")" + CLOSE_PAREN: (211..212) ")" + ATMOSPHERE: (212..217) " + " + FORM: (217..235) + OPEN_PAREN: (217..218) "(" + SYMBOL: (218..228) + IDENTIFIER: (218..228) "fib-helper" + ATMOSPHERE: (228..229) " " + SYMBOL: (229..230) + IDENTIFIER: (229..230) "n" + ATMOSPHERE: (230..231) " " + CONSTANT: (231..232) + NUMBER: (231..232) "1" + ATMOSPHERE: (232..233) " " + CONSTANT: (233..234) + NUMBER: (233..234) "1" + CLOSE_PAREN: (234..235) ")" + CLOSE_PAREN: (235..236) ")" + ATMOSPHERE: (236..239) " + + +" + FORM: (239..257) + OPEN_PAREN: (239..240) "(" + SYMBOL: (240..247) + IDENTIFIER: (240..247) "display" + ATMOSPHERE: (247..248) " " + FORM: (248..256) + OPEN_PAREN: (248..249) "(" + SYMBOL: (249..252) + IDENTIFIER: (249..252) "fib" + ATMOSPHERE: (252..253) " " + CONSTANT: (253..255) + NUMBER: (253..255) "40" + CLOSE_PAREN: (255..256) ")" + CLOSE_PAREN: (256..257) ")" + FORM: (257..266) + OPEN_PAREN: (257..258) "(" + SYMBOL: (258..265) + IDENTIFIER: (258..265) "newline" + CLOSE_PAREN: (265..266) ")" + ATMOSPHERE: (266..267) " +" + EOF: (267..267) "" diff --git a/spec/gcd.ast b/spec/gcd.ast new file mode 100644 index 0000000..e773b84 --- /dev/null +++ b/spec/gcd.ast @@ -0,0 +1,351 @@ +PROGRAM: (0..449) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..106) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..50) + IDENTIFIER: (44..50) "define" + ATMOSPHERE: (50..51) " " + FORM: (51..60) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..55) + IDENTIFIER: (52..55) "mod" + ATMOSPHERE: (55..56) " " + SYMBOL: (56..57) + IDENTIFIER: (56..57) "a" + ATMOSPHERE: (57..58) " " + SYMBOL: (58..59) + IDENTIFIER: (58..59) "b" + CLOSE_PAREN: (59..60) ")" + ATMOSPHERE: (60..63) " + " + FORM: (63..105) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..66) + IDENTIFIER: (64..66) "if" + ATMOSPHERE: (66..67) " " + FORM: (67..74) + OPEN_PAREN: (67..68) "(" + SYMBOL: (68..69) + IDENTIFIER: (68..69) "<" + ATMOSPHERE: (69..70) " " + SYMBOL: (70..71) + IDENTIFIER: (70..71) "a" + ATMOSPHERE: (71..72) " " + SYMBOL: (72..73) + IDENTIFIER: (72..73) "b" + CLOSE_PAREN: (73..74) ")" + ATMOSPHERE: (74..81) " + " + SYMBOL: (81..82) + IDENTIFIER: (81..82) "a" + ATMOSPHERE: (82..89) " + " + FORM: (89..104) + OPEN_PAREN: (89..90) "(" + SYMBOL: (90..93) + IDENTIFIER: (90..93) "mod" + ATMOSPHERE: (93..94) " " + FORM: (94..101) + OPEN_PAREN: (94..95) "(" + SYMBOL: (95..96) + IDENTIFIER: (95..96) "-" + ATMOSPHERE: (96..97) " " + SYMBOL: (97..98) + IDENTIFIER: (97..98) "a" + ATMOSPHERE: (98..99) " " + SYMBOL: (99..100) + IDENTIFIER: (99..100) "b" + CLOSE_PAREN: (100..101) ")" + ATMOSPHERE: (101..102) " " + SYMBOL: (102..103) + IDENTIFIER: (102..103) "b" + CLOSE_PAREN: (103..104) ")" + CLOSE_PAREN: (104..105) ")" + CLOSE_PAREN: (105..106) ")" + ATMOSPHERE: (106..108) " + +" + FORM: (108..173) + OPEN_PAREN: (108..109) "(" + SYMBOL: (109..115) + IDENTIFIER: (109..115) "define" + ATMOSPHERE: (115..116) " " + FORM: (116..125) + OPEN_PAREN: (116..117) "(" + SYMBOL: (117..120) + IDENTIFIER: (117..120) "gcd" + ATMOSPHERE: (120..121) " " + SYMBOL: (121..122) + IDENTIFIER: (121..122) "a" + ATMOSPHERE: (122..123) " " + SYMBOL: (123..124) + IDENTIFIER: (123..124) "b" + CLOSE_PAREN: (124..125) ")" + ATMOSPHERE: (125..128) " + " + FORM: (128..172) + OPEN_PAREN: (128..129) "(" + SYMBOL: (129..131) + IDENTIFIER: (129..131) "if" + ATMOSPHERE: (131..132) " " + FORM: (132..139) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..134) + IDENTIFIER: (133..134) "=" + ATMOSPHERE: (134..135) " " + SYMBOL: (135..136) + IDENTIFIER: (135..136) "b" + ATMOSPHERE: (136..137) " " + CONSTANT: (137..138) + NUMBER: (137..138) "0" + CLOSE_PAREN: (138..139) ")" + ATMOSPHERE: (139..146) " + " + SYMBOL: (146..147) + IDENTIFIER: (146..147) "a" + ATMOSPHERE: (147..154) " + " + FORM: (154..171) + OPEN_PAREN: (154..155) "(" + SYMBOL: (155..158) + IDENTIFIER: (155..158) "gcd" + ATMOSPHERE: (158..159) " " + SYMBOL: (159..160) + IDENTIFIER: (159..160) "b" + ATMOSPHERE: (160..161) " " + FORM: (161..170) + OPEN_PAREN: (161..162) "(" + SYMBOL: (162..165) + IDENTIFIER: (162..165) "mod" + ATMOSPHERE: (165..166) " " + SYMBOL: (166..167) + IDENTIFIER: (166..167) "a" + ATMOSPHERE: (167..168) " " + SYMBOL: (168..169) + IDENTIFIER: (168..169) "b" + CLOSE_PAREN: (169..170) ")" + CLOSE_PAREN: (170..171) ")" + CLOSE_PAREN: (171..172) ")" + CLOSE_PAREN: (172..173) ")" + ATMOSPHERE: (173..175) " + +" + FORM: (175..195) + OPEN_PAREN: (175..176) "(" + SYMBOL: (176..183) + IDENTIFIER: (176..183) "display" + ATMOSPHERE: (183..184) " " + FORM: (184..194) + OPEN_PAREN: (184..185) "(" + SYMBOL: (185..188) + IDENTIFIER: (185..188) "gcd" + ATMOSPHERE: (188..189) " " + CONSTANT: (189..190) + NUMBER: (189..190) "8" + ATMOSPHERE: (190..191) " " + CONSTANT: (191..193) + NUMBER: (191..193) "12" + CLOSE_PAREN: (193..194) ")" + CLOSE_PAREN: (194..195) ")" + FORM: (195..204) + OPEN_PAREN: (195..196) "(" + SYMBOL: (196..203) + IDENTIFIER: (196..203) "newline" + CLOSE_PAREN: (203..204) ")" + ATMOSPHERE: (204..205) " +" + FORM: (205..226) + OPEN_PAREN: (205..206) "(" + SYMBOL: (206..213) + IDENTIFIER: (206..213) "display" + ATMOSPHERE: (213..214) " " + FORM: (214..225) + OPEN_PAREN: (214..215) "(" + SYMBOL: (215..218) + IDENTIFIER: (215..218) "gcd" + ATMOSPHERE: (218..219) " " + CONSTANT: (219..221) + NUMBER: (219..221) "42" + ATMOSPHERE: (221..222) " " + CONSTANT: (222..224) + NUMBER: (222..224) "56" + CLOSE_PAREN: (224..225) ")" + CLOSE_PAREN: (225..226) ")" + FORM: (226..235) + OPEN_PAREN: (226..227) "(" + SYMBOL: (227..234) + IDENTIFIER: (227..234) "newline" + CLOSE_PAREN: (234..235) ")" + ATMOSPHERE: (235..236) " +" + FORM: (236..265) + OPEN_PAREN: (236..237) "(" + SYMBOL: (237..244) + IDENTIFIER: (237..244) "display" + ATMOSPHERE: (244..245) " " + FORM: (245..264) + OPEN_PAREN: (245..246) "(" + SYMBOL: (246..249) + IDENTIFIER: (246..249) "gcd" + ATMOSPHERE: (249..250) " " + CONSTANT: (250..256) + NUMBER: (250..256) "461952" + ATMOSPHERE: (256..257) " " + CONSTANT: (257..263) + NUMBER: (257..263) "116298" + CLOSE_PAREN: (263..264) ")" + CLOSE_PAREN: (264..265) ")" + FORM: (265..274) + OPEN_PAREN: (265..266) "(" + SYMBOL: (266..273) + IDENTIFIER: (266..273) "newline" + CLOSE_PAREN: (273..274) ")" + ATMOSPHERE: (274..275) " +" + FORM: (275..308) + OPEN_PAREN: (275..276) "(" + SYMBOL: (276..283) + IDENTIFIER: (276..283) "display" + ATMOSPHERE: (283..284) " " + FORM: (284..307) + OPEN_PAREN: (284..285) "(" + SYMBOL: (285..288) + IDENTIFIER: (285..288) "gcd" + ATMOSPHERE: (288..289) " " + CONSTANT: (289..296) + NUMBER: (289..296) "7966496" + ATMOSPHERE: (296..297) " " + CONSTANT: (297..306) + NUMBER: (297..306) "314080416" + CLOSE_PAREN: (306..307) ")" + CLOSE_PAREN: (307..308) ")" + FORM: (308..317) + OPEN_PAREN: (308..309) "(" + SYMBOL: (309..316) + IDENTIFIER: (309..316) "newline" + CLOSE_PAREN: (316..317) ")" + ATMOSPHERE: (317..318) " +" + FORM: (318..351) + OPEN_PAREN: (318..319) "(" + SYMBOL: (319..326) + IDENTIFIER: (319..326) "display" + ATMOSPHERE: (326..327) " " + FORM: (327..350) + OPEN_PAREN: (327..328) "(" + SYMBOL: (328..331) + IDENTIFIER: (328..331) "gcd" + ATMOSPHERE: (331..332) " " + CONSTANT: (332..340) + NUMBER: (332..340) "24826148" + ATMOSPHERE: (340..341) " " + CONSTANT: (341..349) + NUMBER: (341..349) "45296490" + CLOSE_PAREN: (349..350) ")" + CLOSE_PAREN: (350..351) ")" + FORM: (351..360) + OPEN_PAREN: (351..352) "(" + SYMBOL: (352..359) + IDENTIFIER: (352..359) "newline" + CLOSE_PAREN: (359..360) ")" + ATMOSPHERE: (360..361) " +" + FORM: (361..381) + OPEN_PAREN: (361..362) "(" + SYMBOL: (362..369) + IDENTIFIER: (362..369) "display" + ATMOSPHERE: (369..370) " " + FORM: (370..380) + OPEN_PAREN: (370..371) "(" + SYMBOL: (371..374) + IDENTIFIER: (371..374) "gcd" + ATMOSPHERE: (374..375) " " + CONSTANT: (375..377) + NUMBER: (375..377) "12" + ATMOSPHERE: (377..378) " " + CONSTANT: (378..379) + NUMBER: (378..379) "0" + CLOSE_PAREN: (379..380) ")" + CLOSE_PAREN: (380..381) ")" + FORM: (381..390) + OPEN_PAREN: (381..382) "(" + SYMBOL: (382..389) + IDENTIFIER: (382..389) "newline" + CLOSE_PAREN: (389..390) ")" + ATMOSPHERE: (390..391) " +" + FORM: (391..410) + OPEN_PAREN: (391..392) "(" + SYMBOL: (392..399) + IDENTIFIER: (392..399) "display" + ATMOSPHERE: (399..400) " " + FORM: (400..409) + OPEN_PAREN: (400..401) "(" + SYMBOL: (401..404) + IDENTIFIER: (401..404) "gcd" + ATMOSPHERE: (404..405) " " + CONSTANT: (405..406) + NUMBER: (405..406) "0" + ATMOSPHERE: (406..407) " " + CONSTANT: (407..408) + NUMBER: (407..408) "0" + CLOSE_PAREN: (408..409) ")" + CLOSE_PAREN: (409..410) ")" + FORM: (410..419) + OPEN_PAREN: (410..411) "(" + SYMBOL: (411..418) + IDENTIFIER: (411..418) "newline" + CLOSE_PAREN: (418..419) ")" + ATMOSPHERE: (419..420) " +" + FORM: (420..439) + OPEN_PAREN: (420..421) "(" + SYMBOL: (421..428) + IDENTIFIER: (421..428) "display" + ATMOSPHERE: (428..429) " " + FORM: (429..438) + OPEN_PAREN: (429..430) "(" + SYMBOL: (430..433) + IDENTIFIER: (430..433) "gcd" + ATMOSPHERE: (433..434) " " + CONSTANT: (434..435) + NUMBER: (434..435) "0" + ATMOSPHERE: (435..436) " " + CONSTANT: (436..437) + NUMBER: (436..437) "9" + CLOSE_PAREN: (437..438) ")" + CLOSE_PAREN: (438..439) ")" + FORM: (439..448) + OPEN_PAREN: (439..440) "(" + SYMBOL: (440..447) + IDENTIFIER: (440..447) "newline" + CLOSE_PAREN: (447..448) ")" + ATMOSPHERE: (448..449) " +" + EOF: (449..449) "" diff --git a/spec/greatest_diff.ast b/spec/greatest_diff.ast new file mode 100644 index 0000000..d7ac15c --- /dev/null +++ b/spec/greatest_diff.ast @@ -0,0 +1,466 @@ +PROGRAM: (0..836) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..82) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..50) + IDENTIFIER: (44..50) "define" + ATMOSPHERE: (50..51) " " + FORM: (51..60) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..55) + IDENTIFIER: (52..55) "min" + ATMOSPHERE: (55..56) " " + SYMBOL: (56..57) + IDENTIFIER: (56..57) "x" + ATMOSPHERE: (57..58) " " + SYMBOL: (58..59) + IDENTIFIER: (58..59) "y" + CLOSE_PAREN: (59..60) ")" + ATMOSPHERE: (60..65) " + " + FORM: (65..81) + OPEN_PAREN: (65..66) "(" + SYMBOL: (66..68) + IDENTIFIER: (66..68) "if" + ATMOSPHERE: (68..69) " " + FORM: (69..76) + OPEN_PAREN: (69..70) "(" + SYMBOL: (70..71) + IDENTIFIER: (70..71) "<" + ATMOSPHERE: (71..72) " " + SYMBOL: (72..73) + IDENTIFIER: (72..73) "x" + ATMOSPHERE: (73..74) " " + SYMBOL: (74..75) + IDENTIFIER: (74..75) "y" + CLOSE_PAREN: (75..76) ")" + ATMOSPHERE: (76..77) " " + SYMBOL: (77..78) + IDENTIFIER: (77..78) "x" + ATMOSPHERE: (78..79) " " + SYMBOL: (79..80) + IDENTIFIER: (79..80) "y" + CLOSE_PAREN: (80..81) ")" + CLOSE_PAREN: (81..82) ")" + ATMOSPHERE: (82..83) " +" + FORM: (83..122) + OPEN_PAREN: (83..84) "(" + SYMBOL: (84..90) + IDENTIFIER: (84..90) "define" + ATMOSPHERE: (90..91) " " + FORM: (91..100) + OPEN_PAREN: (91..92) "(" + SYMBOL: (92..95) + IDENTIFIER: (92..95) "max" + ATMOSPHERE: (95..96) " " + SYMBOL: (96..97) + IDENTIFIER: (96..97) "x" + ATMOSPHERE: (97..98) " " + SYMBOL: (98..99) + IDENTIFIER: (98..99) "y" + CLOSE_PAREN: (99..100) ")" + ATMOSPHERE: (100..105) " + " + FORM: (105..121) + OPEN_PAREN: (105..106) "(" + SYMBOL: (106..108) + IDENTIFIER: (106..108) "if" + ATMOSPHERE: (108..109) " " + FORM: (109..116) + OPEN_PAREN: (109..110) "(" + SYMBOL: (110..111) + IDENTIFIER: (110..111) ">" + ATMOSPHERE: (111..112) " " + SYMBOL: (112..113) + IDENTIFIER: (112..113) "x" + ATMOSPHERE: (113..114) " " + SYMBOL: (114..115) + IDENTIFIER: (114..115) "y" + CLOSE_PAREN: (115..116) ")" + ATMOSPHERE: (116..117) " " + SYMBOL: (117..118) + IDENTIFIER: (117..118) "x" + ATMOSPHERE: (118..119) " " + SYMBOL: (119..120) + IDENTIFIER: (119..120) "y" + CLOSE_PAREN: (120..121) ")" + CLOSE_PAREN: (121..122) ")" + ATMOSPHERE: (122..124) " + +" + ATMOSPHERE: (124..171) ";; Computes the greatest consecutive difference" + ATMOSPHERE: (171..172) " +" + FORM: (172..566) + OPEN_PAREN: (172..173) "(" + SYMBOL: (173..179) + IDENTIFIER: (173..179) "define" + ATMOSPHERE: (179..180) " " + FORM: (180..200) + OPEN_PAREN: (180..181) "(" + SYMBOL: (181..194) + IDENTIFIER: (181..194) "greatest-diff" + ATMOSPHERE: (194..195) " " + SYMBOL: (195..199) + IDENTIFIER: (195..199) "nums" + CLOSE_PAREN: (199..200) ")" + ATMOSPHERE: (200..205) " + " + FORM: (205..523) + OPEN_PAREN: (205..206) "(" + SYMBOL: (206..212) + IDENTIFIER: (206..212) "define" + ATMOSPHERE: (212..213) " " + FORM: (213..248) + OPEN_PAREN: (213..214) "(" + SYMBOL: (214..234) + IDENTIFIER: (214..234) "greatest-diff-helper" + ATMOSPHERE: (234..235) " " + SYMBOL: (235..239) + IDENTIFIER: (235..239) "nums" + ATMOSPHERE: (239..240) " " + SYMBOL: (240..243) + IDENTIFIER: (240..243) "low" + ATMOSPHERE: (243..244) " " + SYMBOL: (244..247) + IDENTIFIER: (244..247) "ret" + CLOSE_PAREN: (247..248) ")" + ATMOSPHERE: (248..257) " + " + FORM: (257..522) + OPEN_PAREN: (257..258) "(" + SYMBOL: (258..260) + IDENTIFIER: (258..260) "if" + ATMOSPHERE: (260..261) " " + FORM: (261..273) + OPEN_PAREN: (261..262) "(" + SYMBOL: (262..267) + IDENTIFIER: (262..267) "null?" + ATMOSPHERE: (267..268) " " + SYMBOL: (268..272) + IDENTIFIER: (268..272) "nums" + CLOSE_PAREN: (272..273) ")" + ATMOSPHERE: (273..286) " + " + SYMBOL: (286..289) + IDENTIFIER: (286..289) "ret" + ATMOSPHERE: (289..302) " + " + FORM: (302..521) + OPEN_PAREN: (302..303) "(" + SYMBOL: (303..307) + IDENTIFIER: (303..307) "let*" + ATMOSPHERE: (307..308) " " + FORM: (308..468) + OPEN_PAREN: (308..309) "(" + FORM: (309..325) + OPEN_PAREN: (309..310) "(" + SYMBOL: (310..313) + IDENTIFIER: (310..313) "cur" + ATMOSPHERE: (313..314) " " + FORM: (314..324) + OPEN_PAREN: (314..315) "(" + SYMBOL: (315..318) + IDENTIFIER: (315..318) "car" + ATMOSPHERE: (318..319) " " + SYMBOL: (319..323) + IDENTIFIER: (319..323) "nums" + CLOSE_PAREN: (323..324) ")" + CLOSE_PAREN: (324..325) ")" + ATMOSPHERE: (325..342) " + " + FORM: (342..359) + OPEN_PAREN: (342..343) "(" + SYMBOL: (343..347) + IDENTIFIER: (343..347) "rest" + ATMOSPHERE: (347..348) " " + FORM: (348..358) + OPEN_PAREN: (348..349) "(" + SYMBOL: (349..352) + IDENTIFIER: (349..352) "cdr" + ATMOSPHERE: (352..353) " " + SYMBOL: (353..357) + IDENTIFIER: (353..357) "nums" + CLOSE_PAREN: (357..358) ")" + CLOSE_PAREN: (358..359) ")" + ATMOSPHERE: (359..376) " + " + FORM: (376..394) + OPEN_PAREN: (376..377) "(" + SYMBOL: (377..381) + IDENTIFIER: (377..381) "diff" + ATMOSPHERE: (381..382) " " + FORM: (382..393) + OPEN_PAREN: (382..383) "(" + SYMBOL: (383..384) + IDENTIFIER: (383..384) "-" + ATMOSPHERE: (384..385) " " + SYMBOL: (385..388) + IDENTIFIER: (385..388) "cur" + ATMOSPHERE: (388..389) " " + SYMBOL: (389..392) + IDENTIFIER: (389..392) "low" + CLOSE_PAREN: (392..393) ")" + CLOSE_PAREN: (393..394) ")" + ATMOSPHERE: (394..411) " + " + FORM: (411..430) + OPEN_PAREN: (411..412) "(" + SYMBOL: (412..415) + IDENTIFIER: (412..415) "low" + ATMOSPHERE: (415..416) " " + FORM: (416..429) + OPEN_PAREN: (416..417) "(" + SYMBOL: (417..420) + IDENTIFIER: (417..420) "min" + ATMOSPHERE: (420..421) " " + SYMBOL: (421..424) + IDENTIFIER: (421..424) "low" + ATMOSPHERE: (424..425) " " + SYMBOL: (425..428) + IDENTIFIER: (425..428) "cur" + CLOSE_PAREN: (428..429) ")" + CLOSE_PAREN: (429..430) ")" + ATMOSPHERE: (430..447) " + " + FORM: (447..467) + OPEN_PAREN: (447..448) "(" + SYMBOL: (448..451) + IDENTIFIER: (448..451) "ret" + ATMOSPHERE: (451..452) " " + FORM: (452..466) + OPEN_PAREN: (452..453) "(" + SYMBOL: (453..456) + IDENTIFIER: (453..456) "max" + ATMOSPHERE: (456..457) " " + SYMBOL: (457..461) + IDENTIFIER: (457..461) "diff" + ATMOSPHERE: (461..462) " " + SYMBOL: (462..465) + IDENTIFIER: (462..465) "ret" + CLOSE_PAREN: (465..466) ")" + CLOSE_PAREN: (466..467) ")" + CLOSE_PAREN: (467..468) ")" + ATMOSPHERE: (468..485) " + " + FORM: (485..520) + OPEN_PAREN: (485..486) "(" + SYMBOL: (486..506) + IDENTIFIER: (486..506) "greatest-diff-helper" + ATMOSPHERE: (506..507) " " + SYMBOL: (507..511) + IDENTIFIER: (507..511) "rest" + ATMOSPHERE: (511..512) " " + SYMBOL: (512..515) + IDENTIFIER: (512..515) "low" + ATMOSPHERE: (515..516) " " + SYMBOL: (516..519) + IDENTIFIER: (516..519) "ret" + CLOSE_PAREN: (519..520) ")" + CLOSE_PAREN: (520..521) ")" + CLOSE_PAREN: (521..522) ")" + CLOSE_PAREN: (522..523) ")" + ATMOSPHERE: (523..528) " + " + FORM: (528..565) + OPEN_PAREN: (528..529) "(" + SYMBOL: (529..549) + IDENTIFIER: (529..549) "greatest-diff-helper" + ATMOSPHERE: (549..550) " " + SYMBOL: (550..554) + IDENTIFIER: (550..554) "nums" + ATMOSPHERE: (554..555) " " + CONSTANT: (555..561) + NUMBER: (555..561) "100000" + ATMOSPHERE: (561..562) " " + CONSTANT: (562..564) + NUMBER: (562..564) "-1" + CLOSE_PAREN: (564..565) ")" + CLOSE_PAREN: (565..566) ")" + ATMOSPHERE: (566..569) " + + +" + FORM: (569..611) + OPEN_PAREN: (569..570) "(" + SYMBOL: (570..577) + IDENTIFIER: (570..577) "display" + ATMOSPHERE: (577..578) " " + FORM: (578..610) + OPEN_PAREN: (578..579) "(" + SYMBOL: (579..592) + IDENTIFIER: (579..592) "greatest-diff" + ATMOSPHERE: (592..593) " " + FORM: (593..609) + OPEN_PAREN: (593..594) "(" + SYMBOL: (594..598) + IDENTIFIER: (594..598) "list" + ATMOSPHERE: (598..599) " " + CONSTANT: (599..600) + NUMBER: (599..600) "1" + ATMOSPHERE: (600..601) " " + CONSTANT: (601..602) + NUMBER: (601..602) "2" + ATMOSPHERE: (602..603) " " + CONSTANT: (603..604) + NUMBER: (603..604) "3" + ATMOSPHERE: (604..605) " " + CONSTANT: (605..606) + NUMBER: (605..606) "4" + ATMOSPHERE: (606..607) " " + CONSTANT: (607..608) + NUMBER: (607..608) "5" + CLOSE_PAREN: (608..609) ")" + CLOSE_PAREN: (609..610) ")" + CLOSE_PAREN: (610..611) ")" + FORM: (611..620) + OPEN_PAREN: (611..612) "(" + SYMBOL: (612..619) + IDENTIFIER: (612..619) "newline" + CLOSE_PAREN: (619..620) ")" + ATMOSPHERE: (620..622) " " + ATMOSPHERE: (622..634) "; -> 4 (1 5)" + ATMOSPHERE: (634..635) " +" + FORM: (635..675) + OPEN_PAREN: (635..636) "(" + SYMBOL: (636..643) + IDENTIFIER: (636..643) "display" + ATMOSPHERE: (643..644) " " + FORM: (644..674) + OPEN_PAREN: (644..645) "(" + SYMBOL: (645..658) + IDENTIFIER: (645..658) "greatest-diff" + ATMOSPHERE: (658..659) " " + FORM: (659..673) + OPEN_PAREN: (659..660) "(" + SYMBOL: (660..664) + IDENTIFIER: (660..664) "list" + ATMOSPHERE: (664..665) " " + CONSTANT: (665..666) + NUMBER: (665..666) "7" + ATMOSPHERE: (666..667) " " + CONSTANT: (667..668) + NUMBER: (667..668) "1" + ATMOSPHERE: (668..669) " " + CONSTANT: (669..670) + NUMBER: (669..670) "5" + ATMOSPHERE: (670..671) " " + CONSTANT: (671..672) + NUMBER: (671..672) "4" + CLOSE_PAREN: (672..673) ")" + CLOSE_PAREN: (673..674) ")" + CLOSE_PAREN: (674..675) ")" + FORM: (675..684) + OPEN_PAREN: (675..676) "(" + SYMBOL: (676..683) + IDENTIFIER: (676..683) "newline" + CLOSE_PAREN: (683..684) ")" + ATMOSPHERE: (684..688) " " + ATMOSPHERE: (688..700) "; -> 4 (1 5)" + ATMOSPHERE: (700..701) " +" + FORM: (701..741) + OPEN_PAREN: (701..702) "(" + SYMBOL: (702..709) + IDENTIFIER: (702..709) "display" + ATMOSPHERE: (709..710) " " + FORM: (710..740) + OPEN_PAREN: (710..711) "(" + SYMBOL: (711..724) + IDENTIFIER: (711..724) "greatest-diff" + ATMOSPHERE: (724..725) " " + FORM: (725..739) + OPEN_PAREN: (725..726) "(" + SYMBOL: (726..730) + IDENTIFIER: (726..730) "list" + ATMOSPHERE: (730..731) " " + CONSTANT: (731..732) + NUMBER: (731..732) "9" + ATMOSPHERE: (732..733) " " + CONSTANT: (733..734) + NUMBER: (733..734) "4" + ATMOSPHERE: (734..735) " " + CONSTANT: (735..736) + NUMBER: (735..736) "3" + ATMOSPHERE: (736..737) " " + CONSTANT: (737..738) + NUMBER: (737..738) "2" + CLOSE_PAREN: (738..739) ")" + CLOSE_PAREN: (739..740) ")" + CLOSE_PAREN: (740..741) ")" + FORM: (741..750) + OPEN_PAREN: (741..742) "(" + SYMBOL: (742..749) + IDENTIFIER: (742..749) "newline" + CLOSE_PAREN: (749..750) ")" + ATMOSPHERE: (750..754) " " + ATMOSPHERE: (754..768) "; -> -1 (none)" + ATMOSPHERE: (768..769) " +" + FORM: (769..810) + OPEN_PAREN: (769..770) "(" + SYMBOL: (770..777) + IDENTIFIER: (770..777) "display" + ATMOSPHERE: (777..778) " " + FORM: (778..809) + OPEN_PAREN: (778..779) "(" + SYMBOL: (779..792) + IDENTIFIER: (779..792) "greatest-diff" + ATMOSPHERE: (792..793) " " + FORM: (793..808) + OPEN_PAREN: (793..794) "(" + SYMBOL: (794..798) + IDENTIFIER: (794..798) "list" + ATMOSPHERE: (798..799) " " + CONSTANT: (799..800) + NUMBER: (799..800) "1" + ATMOSPHERE: (800..801) " " + CONSTANT: (801..802) + NUMBER: (801..802) "5" + ATMOSPHERE: (802..803) " " + CONSTANT: (803..804) + NUMBER: (803..804) "2" + ATMOSPHERE: (804..805) " " + CONSTANT: (805..807) + NUMBER: (805..807) "10" + CLOSE_PAREN: (807..808) ")" + CLOSE_PAREN: (808..809) ")" + CLOSE_PAREN: (809..810) ")" + FORM: (810..819) + OPEN_PAREN: (810..811) "(" + SYMBOL: (811..818) + IDENTIFIER: (811..818) "newline" + CLOSE_PAREN: (818..819) ")" + ATMOSPHERE: (819..822) " " + ATMOSPHERE: (822..835) "; -> 9 (1 10)" + ATMOSPHERE: (835..836) " +" + EOF: (836..836) "" diff --git a/spec/hello.ast b/spec/hello.ast new file mode 100644 index 0000000..0ed5c7b --- /dev/null +++ b/spec/hello.ast @@ -0,0 +1,26 @@ +PROGRAM: (0..46) + FORM: (0..23) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..22) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..21) + IDENTIFIER: (16..21) "write" + CLOSE_PAREN: (21..22) ")" + CLOSE_PAREN: (22..23) ")" + ATMOSPHERE: (23..24) " +" + FORM: (24..46) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..32) + IDENTIFIER: (25..32) "display" + ATMOSPHERE: (32..33) " " + CONSTANT: (33..45) + STRING: (33..45) ""helloworld"" + CLOSE_PAREN: (45..46) ")" + EOF: (46..46) "" diff --git a/spec/importtest.ast b/spec/importtest.ast new file mode 100644 index 0000000..7572391 --- /dev/null +++ b/spec/importtest.ast @@ -0,0 +1,40 @@ +PROGRAM: (0..107) + ATMOSPHERE: (0..29) "; !depends: display-utils.sld" + ATMOSPHERE: (29..30) " +" + FORM: (30..61) + OPEN_PAREN: (30..31) "(" + SYMBOL: (31..37) + IDENTIFIER: (31..37) "import" + ATMOSPHERE: (37..38) " " + FORM: (38..60) + OPEN_PAREN: (38..39) "(" + SYMBOL: (39..46) + IDENTIFIER: (39..46) "example" + ATMOSPHERE: (46..47) " " + SYMBOL: (47..59) + IDENTIFIER: (47..59) "displayutils" + CLOSE_PAREN: (59..60) ")" + CLOSE_PAREN: (60..61) ")" + ATMOSPHERE: (61..62) " +" + FORM: (62..107) + OPEN_PAREN: (62..63) "(" + SYMBOL: (63..74) + IDENTIFIER: (63..74) "display-all" + ATMOSPHERE: (74..75) " " + QUOTED_DATUM: (75..106) + QUOTE: (75..76) "'" + FORM: (76..106) + OPEN_PAREN: (76..77) "(" + CONSTANT: (77..86) + STRING: (77..86) ""library"" + ATMOSPHERE: (86..87) " " + CONSTANT: (87..98) + STRING: (87..98) ""reference"" + ATMOSPHERE: (98..99) " " + CONSTANT: (99..105) + STRING: (99..105) ""test"" + CLOSE_PAREN: (105..106) ")" + CLOSE_PAREN: (106..107) ")" + EOF: (107..107) "" diff --git a/spec/issue-4.ast b/spec/issue-4.ast new file mode 100644 index 0000000..9b21aec --- /dev/null +++ b/spec/issue-4.ast @@ -0,0 +1,192 @@ +PROGRAM: (0..328) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..118) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..49) + IDENTIFIER: (43..49) "define" + ATMOSPHERE: (49..50) " " + FORM: (50..66) + OPEN_PAREN: (50..51) "(" + SYMBOL: (51..63) + IDENTIFIER: (51..63) "make-counter" + ATMOSPHERE: (63..64) " " + SYMBOL: (64..65) + IDENTIFIER: (64..65) "n" + CLOSE_PAREN: (65..66) ")" + ATMOSPHERE: (66..71) " + " + FORM: (71..117) + OPEN_PAREN: (71..72) "(" + SYMBOL: (72..78) + IDENTIFIER: (72..78) "lambda" + ATMOSPHERE: (78..79) " " + FORM: (79..81) + OPEN_PAREN: (79..80) "(" + CLOSE_PAREN: (80..81) ")" + ATMOSPHERE: (81..90) " + " + FORM: (90..106) + OPEN_PAREN: (90..91) "(" + SYMBOL: (91..95) + IDENTIFIER: (91..95) "set!" + ATMOSPHERE: (95..96) " " + SYMBOL: (96..97) + IDENTIFIER: (96..97) "n" + ATMOSPHERE: (97..98) " " + FORM: (98..105) + OPEN_PAREN: (98..99) "(" + SYMBOL: (99..100) + IDENTIFIER: (99..100) "+" + ATMOSPHERE: (100..101) " " + CONSTANT: (101..102) + NUMBER: (101..102) "1" + ATMOSPHERE: (102..103) " " + SYMBOL: (103..104) + IDENTIFIER: (103..104) "n" + CLOSE_PAREN: (104..105) ")" + CLOSE_PAREN: (105..106) ")" + ATMOSPHERE: (106..115) " + " + SYMBOL: (115..116) + IDENTIFIER: (115..116) "n" + CLOSE_PAREN: (116..117) ")" + CLOSE_PAREN: (117..118) ")" + ATMOSPHERE: (118..119) " +" + FORM: (119..154) + OPEN_PAREN: (119..120) "(" + SYMBOL: (120..126) + IDENTIFIER: (120..126) "define" + ATMOSPHERE: (126..127) " " + SYMBOL: (127..135) + IDENTIFIER: (127..135) "from-ten" + ATMOSPHERE: (135..136) " " + FORM: (136..153) + OPEN_PAREN: (136..137) "(" + SYMBOL: (137..149) + IDENTIFIER: (137..149) "make-counter" + ATMOSPHERE: (149..150) " " + CONSTANT: (150..152) + NUMBER: (150..152) "10" + CLOSE_PAREN: (152..153) ")" + CLOSE_PAREN: (153..154) ")" + ATMOSPHERE: (154..155) " +" + FORM: (155..191) + OPEN_PAREN: (155..156) "(" + SYMBOL: (156..162) + IDENTIFIER: (156..162) "define" + ATMOSPHERE: (162..163) " " + SYMBOL: (163..171) + IDENTIFIER: (163..171) "from-ton" + ATMOSPHERE: (171..172) " " + FORM: (172..190) + OPEN_PAREN: (172..173) "(" + SYMBOL: (173..185) + IDENTIFIER: (173..185) "make-counter" + ATMOSPHERE: (185..186) " " + CONSTANT: (186..189) + NUMBER: (186..189) "100" + CLOSE_PAREN: (189..190) ")" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..193) " + +" + FORM: (193..213) + OPEN_PAREN: (193..194) "(" + SYMBOL: (194..201) + IDENTIFIER: (194..201) "display" + ATMOSPHERE: (201..202) " " + FORM: (202..212) + OPEN_PAREN: (202..203) "(" + SYMBOL: (203..211) + IDENTIFIER: (203..211) "from-ten" + CLOSE_PAREN: (211..212) ")" + CLOSE_PAREN: (212..213) ")" + ATMOSPHERE: (213..214) " +" + FORM: (214..234) + OPEN_PAREN: (214..215) "(" + SYMBOL: (215..222) + IDENTIFIER: (215..222) "display" + ATMOSPHERE: (222..223) " " + FORM: (223..233) + OPEN_PAREN: (223..224) "(" + SYMBOL: (224..232) + IDENTIFIER: (224..232) "from-ton" + CLOSE_PAREN: (232..233) ")" + CLOSE_PAREN: (233..234) ")" + ATMOSPHERE: (234..236) " + +" + ATMOSPHERE: (236..266) ";; This should return 102 + 12" + ATMOSPHERE: (266..267) " +" + FORM: (267..302) + OPEN_PAREN: (267..268) "(" + SYMBOL: (268..275) + IDENTIFIER: (268..275) "display" + ATMOSPHERE: (275..276) " " + FORM: (276..301) + OPEN_PAREN: (276..277) "(" + SYMBOL: (277..278) + IDENTIFIER: (277..278) "+" + ATMOSPHERE: (278..279) " " + FORM: (279..289) + OPEN_PAREN: (279..280) "(" + SYMBOL: (280..288) + IDENTIFIER: (280..288) "from-ton" + CLOSE_PAREN: (288..289) ")" + ATMOSPHERE: (289..290) " " + FORM: (290..300) + OPEN_PAREN: (290..291) "(" + SYMBOL: (291..299) + IDENTIFIER: (291..299) "from-ten" + CLOSE_PAREN: (299..300) ")" + CLOSE_PAREN: (300..301) ")" + CLOSE_PAREN: (301..302) ")" + ATMOSPHERE: (302..303) " +" + FORM: (303..328) + OPEN_PAREN: (303..304) "(" + SYMBOL: (304..305) + IDENTIFIER: (304..305) "+" + ATMOSPHERE: (305..306) " " + FORM: (306..316) + OPEN_PAREN: (306..307) "(" + SYMBOL: (307..315) + IDENTIFIER: (307..315) "from-ton" + CLOSE_PAREN: (315..316) ")" + ATMOSPHERE: (316..317) " " + FORM: (317..327) + OPEN_PAREN: (317..318) "(" + SYMBOL: (318..326) + IDENTIFIER: (318..326) "from-ten" + CLOSE_PAREN: (326..327) ")" + CLOSE_PAREN: (327..328) ")" + EOF: (328..328) "" diff --git a/spec/issue-45.ast b/spec/issue-45.ast new file mode 100644 index 0000000..d060ec5 --- /dev/null +++ b/spec/issue-45.ast @@ -0,0 +1,256 @@ +PROGRAM: (0..370) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..22) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..21) + IDENTIFIER: (16..21) "write" + CLOSE_PAREN: (21..22) ")" + ATMOSPHERE: (22..27) " + " + FORM: (27..40) + OPEN_PAREN: (27..28) "(" + SYMBOL: (28..34) + IDENTIFIER: (28..34) "scheme" + ATMOSPHERE: (34..35) " " + SYMBOL: (35..39) + IDENTIFIER: (35..39) "base" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..149) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..57) + IDENTIFIER: (44..57) "define-syntax" + ATMOSPHERE: (57..58) " " + SYMBOL: (58..61) + IDENTIFIER: (58..61) "bug" + ATMOSPHERE: (61..66) " + " + FORM: (66..148) + OPEN_PAREN: (66..67) "(" + SYMBOL: (67..79) + IDENTIFIER: (67..79) "syntax-rules" + ATMOSPHERE: (79..80) " " + FORM: (80..82) + OPEN_PAREN: (80..81) "(" + CLOSE_PAREN: (81..82) ")" + ATMOSPHERE: (82..91) " + " + FORM: (91..147) + OPEN_PAREN: (91..92) "(" + FORM: (92..113) + OPEN_PAREN: (92..93) "(" + SYMBOL: (93..96) + IDENTIFIER: (93..96) "bug" + ATMOSPHERE: (96..97) " " + FORM: (97..104) + OPEN_PAREN: (97..98) "(" + SYMBOL: (98..99) + IDENTIFIER: (98..99) "a" + ATMOSPHERE: (99..100) " " + SYMBOL: (100..103) + IDENTIFIER: (100..103) "..." + CLOSE_PAREN: (103..104) ")" + ATMOSPHERE: (104..105) " " + FORM: (105..112) + OPEN_PAREN: (105..106) "(" + SYMBOL: (106..107) + IDENTIFIER: (106..107) "b" + ATMOSPHERE: (107..108) " " + SYMBOL: (108..111) + IDENTIFIER: (108..111) "..." + CLOSE_PAREN: (111..112) ")" + CLOSE_PAREN: (112..113) ")" + ATMOSPHERE: (113..114) " " + FORM: (114..146) + OPEN_PAREN: (114..115) "(" + SYMBOL: (115..119) + IDENTIFIER: (115..119) "cons" + ATMOSPHERE: (119..120) " " + FORM: (120..132) + OPEN_PAREN: (120..121) "(" + SYMBOL: (121..125) + IDENTIFIER: (121..125) "list" + ATMOSPHERE: (125..126) " " + SYMBOL: (126..127) + IDENTIFIER: (126..127) "a" + ATMOSPHERE: (127..128) " " + SYMBOL: (128..131) + IDENTIFIER: (128..131) "..." + CLOSE_PAREN: (131..132) ")" + ATMOSPHERE: (132..133) " " + FORM: (133..145) + OPEN_PAREN: (133..134) "(" + SYMBOL: (134..138) + IDENTIFIER: (134..138) "list" + ATMOSPHERE: (138..139) " " + SYMBOL: (139..140) + IDENTIFIER: (139..140) "b" + ATMOSPHERE: (140..141) " " + SYMBOL: (141..144) + IDENTIFIER: (141..144) "..." + CLOSE_PAREN: (144..145) ")" + CLOSE_PAREN: (145..146) ")" + CLOSE_PAREN: (146..147) ")" + CLOSE_PAREN: (147..148) ")" + CLOSE_PAREN: (148..149) ")" + ATMOSPHERE: (149..150) " +" + FORM: (150..245) + OPEN_PAREN: (150..151) "(" + SYMBOL: (151..164) + IDENTIFIER: (151..164) "define-syntax" + ATMOSPHERE: (164..165) " " + SYMBOL: (165..168) + IDENTIFIER: (165..168) "zip" + ATMOSPHERE: (168..173) " + " + FORM: (173..244) + OPEN_PAREN: (173..174) "(" + SYMBOL: (174..186) + IDENTIFIER: (174..186) "syntax-rules" + ATMOSPHERE: (186..187) " " + FORM: (187..189) + OPEN_PAREN: (187..188) "(" + CLOSE_PAREN: (188..189) ")" + ATMOSPHERE: (189..198) " + " + FORM: (198..243) + OPEN_PAREN: (198..199) "(" + FORM: (199..220) + OPEN_PAREN: (199..200) "(" + SYMBOL: (200..203) + IDENTIFIER: (200..203) "bug" + ATMOSPHERE: (203..204) " " + FORM: (204..211) + OPEN_PAREN: (204..205) "(" + SYMBOL: (205..206) + IDENTIFIER: (205..206) "a" + ATMOSPHERE: (206..207) " " + SYMBOL: (207..210) + IDENTIFIER: (207..210) "..." + CLOSE_PAREN: (210..211) ")" + ATMOSPHERE: (211..212) " " + FORM: (212..219) + OPEN_PAREN: (212..213) "(" + SYMBOL: (213..214) + IDENTIFIER: (213..214) "b" + ATMOSPHERE: (214..215) " " + SYMBOL: (215..218) + IDENTIFIER: (215..218) "..." + CLOSE_PAREN: (218..219) ")" + CLOSE_PAREN: (219..220) ")" + ATMOSPHERE: (220..221) " " + FORM: (221..242) + OPEN_PAREN: (221..222) "(" + SYMBOL: (222..226) + IDENTIFIER: (222..226) "list" + ATMOSPHERE: (226..227) " " + FORM: (227..237) + OPEN_PAREN: (227..228) "(" + SYMBOL: (228..232) + IDENTIFIER: (228..232) "cons" + ATMOSPHERE: (232..233) " " + SYMBOL: (233..234) + IDENTIFIER: (233..234) "a" + ATMOSPHERE: (234..235) " " + SYMBOL: (235..236) + IDENTIFIER: (235..236) "b" + CLOSE_PAREN: (236..237) ")" + ATMOSPHERE: (237..238) " " + SYMBOL: (238..241) + IDENTIFIER: (238..241) "..." + CLOSE_PAREN: (241..242) ")" + CLOSE_PAREN: (242..243) ")" + CLOSE_PAREN: (243..244) ")" + CLOSE_PAREN: (244..245) ")" + ATMOSPHERE: (245..247) " + +" + FORM: (247..360) + OPEN_PAREN: (247..248) "(" + SYMBOL: (248..255) + IDENTIFIER: (248..255) "display" + ATMOSPHERE: (255..256) " " + FORM: (256..359) + OPEN_PAREN: (256..257) "(" + SYMBOL: (257..261) + IDENTIFIER: (257..261) "list" + ATMOSPHERE: (261..266) " + " + FORM: (266..285) + OPEN_PAREN: (266..267) "(" + SYMBOL: (267..270) + IDENTIFIER: (267..270) "bug" + ATMOSPHERE: (270..271) " " + FORM: (271..278) + OPEN_PAREN: (271..272) "(" + CONSTANT: (272..273) + NUMBER: (272..273) "1" + ATMOSPHERE: (273..274) " " + CONSTANT: (274..275) + NUMBER: (274..275) "2" + ATMOSPHERE: (275..276) " " + CONSTANT: (276..277) + NUMBER: (276..277) "3" + CLOSE_PAREN: (277..278) ")" + ATMOSPHERE: (278..279) " " + FORM: (279..284) + OPEN_PAREN: (279..280) "(" + CONSTANT: (280..281) + NUMBER: (280..281) "4" + ATMOSPHERE: (281..282) " " + CONSTANT: (282..283) + NUMBER: (282..283) "5" + CLOSE_PAREN: (283..284) ")" + CLOSE_PAREN: (284..285) ")" + ATMOSPHERE: (285..286) " " + ATMOSPHERE: (286..305) "; -> '((1 2 3) 4 5)" + ATMOSPHERE: (305..310) " + " + FORM: (310..327) + OPEN_PAREN: (310..311) "(" + SYMBOL: (311..314) + IDENTIFIER: (311..314) "zip" + ATMOSPHERE: (314..315) " " + FORM: (315..320) + OPEN_PAREN: (315..316) "(" + CONSTANT: (316..317) + NUMBER: (316..317) "1" + ATMOSPHERE: (317..318) " " + CONSTANT: (318..319) + NUMBER: (318..319) "2" + CLOSE_PAREN: (319..320) ")" + ATMOSPHERE: (320..321) " " + FORM: (321..326) + OPEN_PAREN: (321..322) "(" + CONSTANT: (322..323) + NUMBER: (322..323) "3" + ATMOSPHERE: (323..324) " " + CONSTANT: (324..325) + NUMBER: (324..325) "4" + CLOSE_PAREN: (325..326) ")" + CLOSE_PAREN: (326..327) ")" + ATMOSPHERE: (327..330) " " + ATMOSPHERE: (330..353) "; -> '((1 . 3) (2 . 4))" + ATMOSPHERE: (353..358) " + " + CLOSE_PAREN: (358..359) ")" + CLOSE_PAREN: (359..360) ")" + FORM: (360..369) + OPEN_PAREN: (360..361) "(" + SYMBOL: (361..368) + IDENTIFIER: (361..368) "newline" + CLOSE_PAREN: (368..369) ")" + ATMOSPHERE: (369..370) " +" + EOF: (370..370) "" diff --git a/spec/issue-5_a.ast b/spec/issue-5_a.ast new file mode 100644 index 0000000..8e0968b --- /dev/null +++ b/spec/issue-5_a.ast @@ -0,0 +1,87 @@ +PROGRAM: (0..171) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..140) + OPEN_PAREN: (42..43) "(" + FORM: (43..133) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..50) + IDENTIFIER: (44..50) "lambda" + ATMOSPHERE: (50..51) " " + FORM: (51..54) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..53) + IDENTIFIER: (52..53) "a" + CLOSE_PAREN: (53..54) ")" + ATMOSPHERE: (54..59) " + " + FORM: (59..126) + OPEN_PAREN: (59..60) "(" + SYMBOL: (60..67) + IDENTIFIER: (60..67) "display" + ATMOSPHERE: (67..76) " + " + FORM: (76..125) + OPEN_PAREN: (76..77) "(" + SYMBOL: (77..79) + IDENTIFIER: (77..79) "if" + ATMOSPHERE: (79..80) " " + CONSTANT: (80..82) + BOOLEAN: (80..82) "#f" + ATMOSPHERE: (82..97) " + " + FORM: (97..110) + OPEN_PAREN: (97..98) "(" + SYMBOL: (98..104) + IDENTIFIER: (98..104) "lambda" + ATMOSPHERE: (104..105) " " + FORM: (105..107) + OPEN_PAREN: (105..106) "(" + CLOSE_PAREN: (106..107) ")" + ATMOSPHERE: (107..108) " " + SYMBOL: (108..109) + IDENTIFIER: (108..109) "a" + CLOSE_PAREN: (109..110) ")" + ATMOSPHERE: (110..123) " + " + SYMBOL: (123..124) + IDENTIFIER: (123..124) "a" + CLOSE_PAREN: (124..125) ")" + CLOSE_PAREN: (125..126) ")" + ATMOSPHERE: (126..131) " + " + SYMBOL: (131..132) + IDENTIFIER: (131..132) "a" + CLOSE_PAREN: (132..133) ")" + ATMOSPHERE: (133..136) " + " + CONSTANT: (136..139) + NUMBER: (136..139) "101" + CLOSE_PAREN: (139..140) ")" + ATMOSPHERE: (140..141) " " + ATMOSPHERE: (141..171) "; -> should be 101, but is '()" + EOF: (171..171) "" diff --git a/spec/issue-5_b.ast b/spec/issue-5_b.ast new file mode 100644 index 0000000..4319ba7 --- /dev/null +++ b/spec/issue-5_b.ast @@ -0,0 +1,236 @@ +PROGRAM: (0..393) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..321) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..49) + IDENTIFIER: (43..49) "define" + ATMOSPHERE: (49..50) " " + FORM: (50..59) + OPEN_PAREN: (50..51) "(" + SYMBOL: (51..56) + IDENTIFIER: (51..56) "check" + ATMOSPHERE: (56..57) " " + SYMBOL: (57..58) + IDENTIFIER: (57..58) "n" + CLOSE_PAREN: (58..59) ")" + ATMOSPHERE: (59..64) " + " + FORM: (64..320) + OPEN_PAREN: (64..65) "(" + SYMBOL: (65..71) + IDENTIFIER: (65..71) "letrec" + ATMOSPHERE: (71..72) " " + FORM: (72..301) + OPEN_PAREN: (72..73) "(" + FORM: (73..180) + OPEN_PAREN: (73..74) "(" + SYMBOL: (74..78) + IDENTIFIER: (74..78) "odd?" + ATMOSPHERE: (78..79) " " + FORM: (79..179) + OPEN_PAREN: (79..80) "(" + SYMBOL: (80..86) + IDENTIFIER: (80..86) "lambda" + ATMOSPHERE: (86..87) " " + FORM: (87..90) + OPEN_PAREN: (87..88) "(" + SYMBOL: (88..89) + IDENTIFIER: (88..89) "m" + CLOSE_PAREN: (89..90) ")" + ATMOSPHERE: (90..107) " + " + FORM: (107..178) + OPEN_PAREN: (107..108) "(" + SYMBOL: (108..110) + IDENTIFIER: (108..110) "if" + ATMOSPHERE: (110..111) " " + FORM: (111..118) + OPEN_PAREN: (111..112) "(" + SYMBOL: (112..113) + IDENTIFIER: (112..113) "=" + ATMOSPHERE: (113..114) " " + SYMBOL: (114..115) + IDENTIFIER: (114..115) "m" + ATMOSPHERE: (115..116) " " + CONSTANT: (116..117) + NUMBER: (116..117) "0" + CLOSE_PAREN: (117..118) ")" + ATMOSPHERE: (118..139) " + " + CONSTANT: (139..141) + BOOLEAN: (139..141) "#f" + ATMOSPHERE: (141..162) " + " + FORM: (162..177) + OPEN_PAREN: (162..163) "(" + SYMBOL: (163..168) + IDENTIFIER: (163..168) "even?" + ATMOSPHERE: (168..169) " " + FORM: (169..176) + OPEN_PAREN: (169..170) "(" + SYMBOL: (170..171) + IDENTIFIER: (170..171) "-" + ATMOSPHERE: (171..172) " " + SYMBOL: (172..173) + IDENTIFIER: (172..173) "m" + ATMOSPHERE: (173..174) " " + CONSTANT: (174..175) + NUMBER: (174..175) "1" + CLOSE_PAREN: (175..176) ")" + CLOSE_PAREN: (176..177) ")" + CLOSE_PAREN: (177..178) ")" + CLOSE_PAREN: (178..179) ")" + CLOSE_PAREN: (179..180) ")" + ATMOSPHERE: (180..193) " + " + FORM: (193..300) + OPEN_PAREN: (193..194) "(" + SYMBOL: (194..199) + IDENTIFIER: (194..199) "even?" + ATMOSPHERE: (199..200) " " + FORM: (200..299) + OPEN_PAREN: (200..201) "(" + SYMBOL: (201..207) + IDENTIFIER: (201..207) "lambda" + ATMOSPHERE: (207..208) " " + FORM: (208..211) + OPEN_PAREN: (208..209) "(" + SYMBOL: (209..210) + IDENTIFIER: (209..210) "m" + CLOSE_PAREN: (210..211) ")" + ATMOSPHERE: (211..228) " + " + FORM: (228..298) + OPEN_PAREN: (228..229) "(" + SYMBOL: (229..231) + IDENTIFIER: (229..231) "if" + ATMOSPHERE: (231..232) " " + FORM: (232..239) + OPEN_PAREN: (232..233) "(" + SYMBOL: (233..234) + IDENTIFIER: (233..234) "=" + ATMOSPHERE: (234..235) " " + SYMBOL: (235..236) + IDENTIFIER: (235..236) "m" + ATMOSPHERE: (236..237) " " + CONSTANT: (237..238) + NUMBER: (237..238) "0" + CLOSE_PAREN: (238..239) ")" + ATMOSPHERE: (239..260) " + " + CONSTANT: (260..262) + BOOLEAN: (260..262) "#t" + ATMOSPHERE: (262..283) " + " + FORM: (283..297) + OPEN_PAREN: (283..284) "(" + SYMBOL: (284..288) + IDENTIFIER: (284..288) "odd?" + ATMOSPHERE: (288..289) " " + FORM: (289..296) + OPEN_PAREN: (289..290) "(" + SYMBOL: (290..291) + IDENTIFIER: (290..291) "-" + ATMOSPHERE: (291..292) " " + SYMBOL: (292..293) + IDENTIFIER: (292..293) "m" + ATMOSPHERE: (293..294) " " + CONSTANT: (294..295) + NUMBER: (294..295) "1" + CLOSE_PAREN: (295..296) ")" + CLOSE_PAREN: (296..297) ")" + CLOSE_PAREN: (297..298) ")" + CLOSE_PAREN: (298..299) ")" + CLOSE_PAREN: (299..300) ")" + CLOSE_PAREN: (300..301) ")" + ATMOSPHERE: (301..310) " + " + FORM: (310..319) + OPEN_PAREN: (310..311) "(" + SYMBOL: (311..316) + IDENTIFIER: (311..316) "even?" + ATMOSPHERE: (316..317) " " + SYMBOL: (317..318) + IDENTIFIER: (317..318) "n" + CLOSE_PAREN: (318..319) ")" + CLOSE_PAREN: (319..320) ")" + CLOSE_PAREN: (320..321) ")" + ATMOSPHERE: (321..323) " + +" + FORM: (323..343) + OPEN_PAREN: (323..324) "(" + SYMBOL: (324..331) + IDENTIFIER: (324..331) "display" + ATMOSPHERE: (331..332) " " + FORM: (332..342) + OPEN_PAREN: (332..333) "(" + SYMBOL: (333..338) + IDENTIFIER: (333..338) "check" + ATMOSPHERE: (338..339) " " + CONSTANT: (339..341) + NUMBER: (339..341) "54" + CLOSE_PAREN: (341..342) ")" + CLOSE_PAREN: (342..343) ")" + FORM: (343..352) + OPEN_PAREN: (343..344) "(" + SYMBOL: (344..351) + IDENTIFIER: (344..351) "newline" + CLOSE_PAREN: (351..352) ")" + ATMOSPHERE: (352..353) " +" + FORM: (353..372) + OPEN_PAREN: (353..354) "(" + SYMBOL: (354..361) + IDENTIFIER: (354..361) "display" + ATMOSPHERE: (361..362) " " + FORM: (362..371) + OPEN_PAREN: (362..363) "(" + SYMBOL: (363..368) + IDENTIFIER: (363..368) "check" + ATMOSPHERE: (368..369) " " + CONSTANT: (369..370) + NUMBER: (369..370) "7" + CLOSE_PAREN: (370..371) ")" + CLOSE_PAREN: (371..372) ")" + FORM: (372..381) + OPEN_PAREN: (372..373) "(" + SYMBOL: (373..380) + IDENTIFIER: (373..380) "newline" + CLOSE_PAREN: (380..381) ")" + ATMOSPHERE: (381..382) " +" + FORM: (382..393) + OPEN_PAREN: (382..383) "(" + SYMBOL: (383..388) + IDENTIFIER: (383..388) "check" + ATMOSPHERE: (388..389) " " + CONSTANT: (389..392) + NUMBER: (389..392) "123" + CLOSE_PAREN: (392..393) ")" + EOF: (393..393) "" diff --git a/spec/iterfact.ast b/spec/iterfact.ast new file mode 100644 index 0000000..3482317 --- /dev/null +++ b/spec/iterfact.ast @@ -0,0 +1,243 @@ +PROGRAM: (0..354) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..115) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..49) + IDENTIFIER: (43..49) "define" + ATMOSPHERE: (49..50) " " + FORM: (50..58) + OPEN_PAREN: (50..51) "(" + SYMBOL: (51..55) + IDENTIFIER: (51..55) "fact" + ATMOSPHERE: (55..56) " " + SYMBOL: (56..57) + IDENTIFIER: (56..57) "n" + CLOSE_PAREN: (57..58) ")" + ATMOSPHERE: (58..63) " + " + FORM: (63..114) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..66) + IDENTIFIER: (64..66) "if" + ATMOSPHERE: (66..67) " " + FORM: (67..74) + OPEN_PAREN: (67..68) "(" + SYMBOL: (68..69) + IDENTIFIER: (68..69) "=" + ATMOSPHERE: (69..70) " " + SYMBOL: (70..71) + IDENTIFIER: (70..71) "n" + ATMOSPHERE: (71..72) " " + CONSTANT: (72..73) + NUMBER: (72..73) "0" + CLOSE_PAREN: (73..74) ")" + ATMOSPHERE: (74..83) " + " + CONSTANT: (83..84) + NUMBER: (83..84) "1" + ATMOSPHERE: (84..93) " + " + FORM: (93..113) + OPEN_PAREN: (93..94) "(" + SYMBOL: (94..95) + IDENTIFIER: (94..95) "*" + ATMOSPHERE: (95..96) " " + SYMBOL: (96..97) + IDENTIFIER: (96..97) "n" + ATMOSPHERE: (97..98) " " + FORM: (98..112) + OPEN_PAREN: (98..99) "(" + SYMBOL: (99..103) + IDENTIFIER: (99..103) "fact" + ATMOSPHERE: (103..104) " " + FORM: (104..111) + OPEN_PAREN: (104..105) "(" + SYMBOL: (105..106) + IDENTIFIER: (105..106) "-" + ATMOSPHERE: (106..107) " " + SYMBOL: (107..108) + IDENTIFIER: (107..108) "n" + ATMOSPHERE: (108..109) " " + CONSTANT: (109..110) + NUMBER: (109..110) "1" + CLOSE_PAREN: (110..111) ")" + CLOSE_PAREN: (111..112) ")" + CLOSE_PAREN: (112..113) ")" + CLOSE_PAREN: (113..114) ")" + CLOSE_PAREN: (114..115) ")" + ATMOSPHERE: (115..117) " + +" + FORM: (117..277) + OPEN_PAREN: (117..118) "(" + SYMBOL: (118..124) + IDENTIFIER: (118..124) "define" + ATMOSPHERE: (124..125) " " + FORM: (125..137) + OPEN_PAREN: (125..126) "(" + SYMBOL: (126..134) + IDENTIFIER: (126..134) "iterfact" + ATMOSPHERE: (134..135) " " + SYMBOL: (135..136) + IDENTIFIER: (135..136) "n" + CLOSE_PAREN: (136..137) ")" + ATMOSPHERE: (137..142) " + " + FORM: (142..253) + OPEN_PAREN: (142..143) "(" + SYMBOL: (143..149) + IDENTIFIER: (143..149) "define" + ATMOSPHERE: (149..150) " " + FORM: (150..170) + OPEN_PAREN: (150..151) "(" + SYMBOL: (151..163) + IDENTIFIER: (151..163) "iterfact-acc" + ATMOSPHERE: (163..164) " " + SYMBOL: (164..165) + IDENTIFIER: (164..165) "n" + ATMOSPHERE: (165..166) " " + SYMBOL: (166..169) + IDENTIFIER: (166..169) "acc" + CLOSE_PAREN: (169..170) ")" + ATMOSPHERE: (170..179) " + " + FORM: (179..252) + OPEN_PAREN: (179..180) "(" + SYMBOL: (180..182) + IDENTIFIER: (180..182) "if" + ATMOSPHERE: (182..183) " " + FORM: (183..190) + OPEN_PAREN: (183..184) "(" + SYMBOL: (184..185) + IDENTIFIER: (184..185) "=" + ATMOSPHERE: (185..186) " " + SYMBOL: (186..187) + IDENTIFIER: (186..187) "n" + ATMOSPHERE: (187..188) " " + CONSTANT: (188..189) + NUMBER: (188..189) "0" + CLOSE_PAREN: (189..190) ")" + ATMOSPHERE: (190..203) " + " + SYMBOL: (203..206) + IDENTIFIER: (203..206) "acc" + ATMOSPHERE: (206..219) " + " + FORM: (219..251) + OPEN_PAREN: (219..220) "(" + SYMBOL: (220..232) + IDENTIFIER: (220..232) "iterfact-acc" + ATMOSPHERE: (232..233) " " + FORM: (233..240) + OPEN_PAREN: (233..234) "(" + SYMBOL: (234..235) + IDENTIFIER: (234..235) "-" + ATMOSPHERE: (235..236) " " + SYMBOL: (236..237) + IDENTIFIER: (236..237) "n" + ATMOSPHERE: (237..238) " " + CONSTANT: (238..239) + NUMBER: (238..239) "1" + CLOSE_PAREN: (239..240) ")" + ATMOSPHERE: (240..241) " " + FORM: (241..250) + OPEN_PAREN: (241..242) "(" + SYMBOL: (242..243) + IDENTIFIER: (242..243) "*" + ATMOSPHERE: (243..244) " " + SYMBOL: (244..247) + IDENTIFIER: (244..247) "acc" + ATMOSPHERE: (247..248) " " + SYMBOL: (248..249) + IDENTIFIER: (248..249) "n" + CLOSE_PAREN: (249..250) ")" + CLOSE_PAREN: (250..251) ")" + CLOSE_PAREN: (251..252) ")" + CLOSE_PAREN: (252..253) ")" + ATMOSPHERE: (253..258) " + " + FORM: (258..276) + OPEN_PAREN: (258..259) "(" + SYMBOL: (259..271) + IDENTIFIER: (259..271) "iterfact-acc" + ATMOSPHERE: (271..272) " " + SYMBOL: (272..273) + IDENTIFIER: (272..273) "n" + ATMOSPHERE: (273..274) " " + CONSTANT: (274..275) + NUMBER: (274..275) "1" + CLOSE_PAREN: (275..276) ")" + CLOSE_PAREN: (276..277) ")" + ATMOSPHERE: (277..279) " + +" + FORM: (279..297) + OPEN_PAREN: (279..280) "(" + SYMBOL: (280..287) + IDENTIFIER: (280..287) "display" + ATMOSPHERE: (287..288) " " + FORM: (288..296) + OPEN_PAREN: (288..289) "(" + SYMBOL: (289..293) + IDENTIFIER: (289..293) "fact" + ATMOSPHERE: (293..294) " " + CONSTANT: (294..295) + NUMBER: (294..295) "4" + CLOSE_PAREN: (295..296) ")" + CLOSE_PAREN: (296..297) ")" + FORM: (297..306) + OPEN_PAREN: (297..298) "(" + SYMBOL: (298..305) + IDENTIFIER: (298..305) "newline" + CLOSE_PAREN: (305..306) ")" + ATMOSPHERE: (306..307) " " + ATMOSPHERE: (307..314) "; => 24" + ATMOSPHERE: (314..315) " +" + FORM: (315..337) + OPEN_PAREN: (315..316) "(" + SYMBOL: (316..323) + IDENTIFIER: (316..323) "display" + ATMOSPHERE: (323..324) " " + FORM: (324..336) + OPEN_PAREN: (324..325) "(" + SYMBOL: (325..333) + IDENTIFIER: (325..333) "iterfact" + ATMOSPHERE: (333..334) " " + CONSTANT: (334..335) + NUMBER: (334..335) "4" + CLOSE_PAREN: (335..336) ")" + CLOSE_PAREN: (336..337) ")" + FORM: (337..346) + OPEN_PAREN: (337..338) "(" + SYMBOL: (338..345) + IDENTIFIER: (338..345) "newline" + CLOSE_PAREN: (345..346) ")" + ATMOSPHERE: (346..347) " " + ATMOSPHERE: (347..354) "; => 24" + EOF: (354..354) "" diff --git a/spec/lambdas.ast b/spec/lambdas.ast new file mode 100644 index 0000000..3ec42ec --- /dev/null +++ b/spec/lambdas.ast @@ -0,0 +1,163 @@ +PROGRAM: (0..190) + FORM: (0..40) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "define" + ATMOSPHERE: (7..8) " " + SYMBOL: (8..9) + IDENTIFIER: (8..9) "x" + ATMOSPHERE: (9..10) " " + FORM: (10..39) + OPEN_PAREN: (10..11) "(" + SYMBOL: (11..17) + IDENTIFIER: (11..17) "lambda" + ATMOSPHERE: (17..18) " " + SYMBOL: (18..19) + IDENTIFIER: (18..19) "y" + ATMOSPHERE: (19..24) " + " + FORM: (24..38) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..31) + IDENTIFIER: (25..31) "lambda" + ATMOSPHERE: (31..32) " " + SYMBOL: (32..33) + IDENTIFIER: (32..33) "z" + ATMOSPHERE: (33..34) " " + CONSTANT: (34..37) + NUMBER: (34..37) "100" + CLOSE_PAREN: (37..38) ")" + CLOSE_PAREN: (38..39) ")" + CLOSE_PAREN: (39..40) ")" + ATMOSPHERE: (40..41) " +" + FORM: (41..83) + OPEN_PAREN: (41..42) "(" + SYMBOL: (42..48) + IDENTIFIER: (42..48) "define" + ATMOSPHERE: (48..49) " " + SYMBOL: (49..50) + IDENTIFIER: (49..50) "y" + ATMOSPHERE: (50..51) " " + FORM: (51..82) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..58) + IDENTIFIER: (52..58) "lambda" + ATMOSPHERE: (58..59) " " + SYMBOL: (59..60) + IDENTIFIER: (59..60) "y" + ATMOSPHERE: (60..65) " + " + FORM: (65..81) + OPEN_PAREN: (65..66) "(" + SYMBOL: (66..72) + IDENTIFIER: (66..72) "lambda" + ATMOSPHERE: (72..73) " " + SYMBOL: (73..74) + IDENTIFIER: (73..74) "z" + ATMOSPHERE: (74..75) " " + CONSTANT: (75..80) + NUMBER: (75..80) "23123" + CLOSE_PAREN: (80..81) ")" + CLOSE_PAREN: (81..82) ")" + CLOSE_PAREN: (82..83) ")" + ATMOSPHERE: (83..84) " +" + FORM: (84..109) + OPEN_PAREN: (84..85) "(" + SYMBOL: (85..91) + IDENTIFIER: (85..91) "define" + ATMOSPHERE: (91..92) " " + SYMBOL: (92..93) + IDENTIFIER: (92..93) "z" + ATMOSPHERE: (93..94) " " + FORM: (94..108) + OPEN_PAREN: (94..95) "(" + SYMBOL: (95..101) + IDENTIFIER: (95..101) "lambda" + ATMOSPHERE: (101..102) " " + SYMBOL: (102..103) + IDENTIFIER: (102..103) "y" + ATMOSPHERE: (103..104) " " + CONSTANT: (104..107) + NUMBER: (104..107) "123" + CLOSE_PAREN: (107..108) ")" + CLOSE_PAREN: (108..109) ")" + ATMOSPHERE: (109..110) " +" + FORM: (110..140) + OPEN_PAREN: (110..111) "(" + SYMBOL: (111..117) + IDENTIFIER: (111..117) "define" + ATMOSPHERE: (117..118) " " + SYMBOL: (118..119) + IDENTIFIER: (118..119) "a" + ATMOSPHERE: (119..120) " " + FORM: (120..139) + OPEN_PAREN: (120..121) "(" + SYMBOL: (121..127) + IDENTIFIER: (121..127) "lambda" + ATMOSPHERE: (127..128) " " + FORM: (128..135) + OPEN_PAREN: (128..129) "(" + SYMBOL: (129..130) + IDENTIFIER: (129..130) "a" + ATMOSPHERE: (130..131) " " + SYMBOL: (131..132) + IDENTIFIER: (131..132) "b" + ATMOSPHERE: (132..133) " " + SYMBOL: (133..134) + IDENTIFIER: (133..134) "c" + CLOSE_PAREN: (134..135) ")" + ATMOSPHERE: (135..136) " " + CONSTANT: (136..138) + NUMBER: (136..138) "20" + CLOSE_PAREN: (138..139) ")" + CLOSE_PAREN: (139..140) ")" + ATMOSPHERE: (140..141) " +" + FORM: (141..175) + OPEN_PAREN: (141..142) "(" + SYMBOL: (142..148) + IDENTIFIER: (142..148) "define" + ATMOSPHERE: (148..149) " " + SYMBOL: (149..150) + IDENTIFIER: (149..150) "b" + ATMOSPHERE: (150..151) " " + FORM: (151..174) + OPEN_PAREN: (151..152) "(" + SYMBOL: (152..158) + IDENTIFIER: (152..158) "lambda" + ATMOSPHERE: (158..159) " " + FORM: (159..168) + OPEN_PAREN: (159..160) "(" + SYMBOL: (160..161) + IDENTIFIER: (160..161) "a" + ATMOSPHERE: (161..162) " " + SYMBOL: (162..163) + IDENTIFIER: (162..163) "b" + ATMOSPHERE: (163..164) " " + DOTTED_TAIL: (164..167) + DOT: (164..165) "." + ATMOSPHERE: (165..166) " " + SYMBOL: (166..167) + IDENTIFIER: (166..167) "c" + CLOSE_PAREN: (167..168) ")" + ATMOSPHERE: (168..169) " " + CONSTANT: (169..173) + NUMBER: (169..173) "1234" + CLOSE_PAREN: (173..174) ")" + CLOSE_PAREN: (174..175) ")" + ATMOSPHERE: (175..176) " +" + FORM: (176..181) + OPEN_PAREN: (176..177) "(" + FORM: (177..180) + OPEN_PAREN: (177..178) "(" + SYMBOL: (178..179) + IDENTIFIER: (178..179) "x" + CLOSE_PAREN: (179..180) ")" + CLOSE_PAREN: (180..181) ")" + ATMOSPHERE: (181..182) " " + ATMOSPHERE: (182..190) "; -> 100" + EOF: (190..190) "" diff --git a/spec/let.ast b/spec/let.ast new file mode 100644 index 0000000..9c4f9c0 --- /dev/null +++ b/spec/let.ast @@ -0,0 +1,115 @@ +PROGRAM: (0..152) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..134) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..49) + IDENTIFIER: (43..49) "define" + ATMOSPHERE: (49..50) " " + FORM: (50..57) + OPEN_PAREN: (50..51) "(" + SYMBOL: (51..54) + IDENTIFIER: (51..54) "foo" + ATMOSPHERE: (54..55) " " + SYMBOL: (55..56) + IDENTIFIER: (55..56) "a" + CLOSE_PAREN: (56..57) ")" + ATMOSPHERE: (57..62) " + " + FORM: (62..133) + OPEN_PAREN: (62..63) "(" + SYMBOL: (63..66) + IDENTIFIER: (63..66) "let" + ATMOSPHERE: (66..67) " " + FORM: (67..90) + OPEN_PAREN: (67..68) "(" + FORM: (68..73) + OPEN_PAREN: (68..69) "(" + SYMBOL: (69..70) + IDENTIFIER: (69..70) "b" + ATMOSPHERE: (70..71) " " + SYMBOL: (71..72) + IDENTIFIER: (71..72) "a" + CLOSE_PAREN: (72..73) ")" + ATMOSPHERE: (73..82) " + " + FORM: (82..89) + OPEN_PAREN: (82..83) "(" + SYMBOL: (83..84) + IDENTIFIER: (83..84) "c" + ATMOSPHERE: (84..85) " " + CONSTANT: (85..88) + NUMBER: (85..88) "100" + CLOSE_PAREN: (88..89) ")" + CLOSE_PAREN: (89..90) ")" + ATMOSPHERE: (90..99) " + " + FORM: (99..116) + OPEN_PAREN: (99..100) "(" + SYMBOL: (100..107) + IDENTIFIER: (100..107) "display" + ATMOSPHERE: (107..108) " " + FORM: (108..115) + OPEN_PAREN: (108..109) "(" + SYMBOL: (109..110) + IDENTIFIER: (109..110) "+" + ATMOSPHERE: (110..111) " " + SYMBOL: (111..112) + IDENTIFIER: (111..112) "a" + ATMOSPHERE: (112..113) " " + SYMBOL: (113..114) + IDENTIFIER: (113..114) "b" + CLOSE_PAREN: (114..115) ")" + CLOSE_PAREN: (115..116) ")" + ATMOSPHERE: (116..125) " + " + FORM: (125..132) + OPEN_PAREN: (125..126) "(" + SYMBOL: (126..127) + IDENTIFIER: (126..127) "-" + ATMOSPHERE: (127..128) " " + SYMBOL: (128..129) + IDENTIFIER: (128..129) "b" + ATMOSPHERE: (129..130) " " + SYMBOL: (130..131) + IDENTIFIER: (130..131) "c" + CLOSE_PAREN: (131..132) ")" + CLOSE_PAREN: (132..133) ")" + CLOSE_PAREN: (133..134) ")" + ATMOSPHERE: (134..135) " +" + FORM: (135..144) + OPEN_PAREN: (135..136) "(" + SYMBOL: (136..139) + IDENTIFIER: (136..139) "foo" + ATMOSPHERE: (139..140) " " + CONSTANT: (140..143) + NUMBER: (140..143) "123" + CLOSE_PAREN: (143..144) ")" + ATMOSPHERE: (144..145) " " + ATMOSPHERE: (145..152) "; ~> 23" + EOF: (152..152) "" diff --git a/spec/libcapture.ast b/spec/libcapture.ast new file mode 100644 index 0000000..dbc911e --- /dev/null +++ b/spec/libcapture.ast @@ -0,0 +1,119 @@ +PROGRAM: (0..238) + FORM: (0..170) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..15) + IDENTIFIER: (1..15) "define-library" + ATMOSPHERE: (15..16) " " + FORM: (16..29) + OPEN_PAREN: (16..17) "(" + SYMBOL: (17..20) + IDENTIFIER: (17..20) "lib" + ATMOSPHERE: (20..21) " " + SYMBOL: (21..28) + IDENTIFIER: (21..28) "capture" + CLOSE_PAREN: (28..29) ")" + ATMOSPHERE: (29..34) " + " + FORM: (34..49) + OPEN_PAREN: (34..35) "(" + SYMBOL: (35..41) + IDENTIFIER: (35..41) "export" + ATMOSPHERE: (41..42) " " + SYMBOL: (42..48) + IDENTIFIER: (42..48) "testit" + CLOSE_PAREN: (48..49) ")" + ATMOSPHERE: (49..54) " + " + FORM: (54..169) + OPEN_PAREN: (54..55) "(" + SYMBOL: (55..60) + IDENTIFIER: (55..60) "begin" + ATMOSPHERE: (60..69) " + " + FORM: (69..93) + OPEN_PAREN: (69..70) "(" + SYMBOL: (70..76) + IDENTIFIER: (70..76) "define" + ATMOSPHERE: (76..77) " " + SYMBOL: (77..83) + IDENTIFIER: (77..83) "testit" + ATMOSPHERE: (83..84) " " + CONSTANT: (84..92) + STRING: (84..92) ""broken"" + CLOSE_PAREN: (92..93) ")" + ATMOSPHERE: (93..102) " + " + FORM: (102..168) + OPEN_PAREN: (102..103) "(" + SYMBOL: (103..106) + IDENTIFIER: (103..106) "let" + ATMOSPHERE: (106..107) " " + FORM: (107..129) + OPEN_PAREN: (107..108) "(" + FORM: (108..128) + OPEN_PAREN: (108..109) "(" + SYMBOL: (109..120) + IDENTIFIER: (109..120) "replacement" + ATMOSPHERE: (120..121) " " + CONSTANT: (121..127) + STRING: (121..127) ""pass"" + CLOSE_PAREN: (127..128) ")" + CLOSE_PAREN: (128..129) ")" + ATMOSPHERE: (129..142) " + " + FORM: (142..167) + OPEN_PAREN: (142..143) "(" + SYMBOL: (143..147) + IDENTIFIER: (143..147) "set!" + ATMOSPHERE: (147..148) " " + SYMBOL: (148..154) + IDENTIFIER: (148..154) "testit" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..166) + IDENTIFIER: (155..166) "replacement" + CLOSE_PAREN: (166..167) ")" + CLOSE_PAREN: (167..168) ")" + CLOSE_PAREN: (168..169) ")" + CLOSE_PAREN: (169..170) ")" + ATMOSPHERE: (170..171) " +" + FORM: (171..212) + OPEN_PAREN: (171..172) "(" + SYMBOL: (172..178) + IDENTIFIER: (172..178) "import" + ATMOSPHERE: (178..179) " " + FORM: (179..192) + OPEN_PAREN: (179..180) "(" + SYMBOL: (180..183) + IDENTIFIER: (180..183) "lib" + ATMOSPHERE: (183..184) " " + SYMBOL: (184..191) + IDENTIFIER: (184..191) "capture" + CLOSE_PAREN: (191..192) ")" + ATMOSPHERE: (192..197) " + " + FORM: (197..211) + OPEN_PAREN: (197..198) "(" + SYMBOL: (198..204) + IDENTIFIER: (198..204) "scheme" + ATMOSPHERE: (204..205) " " + SYMBOL: (205..210) + IDENTIFIER: (205..210) "write" + CLOSE_PAREN: (210..211) ")" + CLOSE_PAREN: (211..212) ")" + ATMOSPHERE: (212..213) " +" + FORM: (213..229) + OPEN_PAREN: (213..214) "(" + SYMBOL: (214..221) + IDENTIFIER: (214..221) "display" + ATMOSPHERE: (221..222) " " + SYMBOL: (222..228) + IDENTIFIER: (222..228) "testit" + CLOSE_PAREN: (228..229) ")" + FORM: (229..238) + OPEN_PAREN: (229..230) "(" + SYMBOL: (230..237) + IDENTIFIER: (230..237) "newline" + CLOSE_PAREN: (237..238) ")" + EOF: (238..238) "" diff --git a/spec/libgreet.ast b/spec/libgreet.ast new file mode 100644 index 0000000..ebb3879 --- /dev/null +++ b/spec/libgreet.ast @@ -0,0 +1,158 @@ +PROGRAM: (0..268) + FORM: (0..195) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..15) + IDENTIFIER: (1..15) "define-library" + ATMOSPHERE: (15..16) " " + FORM: (16..30) + OPEN_PAREN: (16..17) "(" + SYMBOL: (17..21) + IDENTIFIER: (17..21) "test" + ATMOSPHERE: (21..22) " " + SYMBOL: (22..29) + IDENTIFIER: (22..29) "greeter" + CLOSE_PAREN: (29..30) ")" + ATMOSPHERE: (30..32) " + " + FORM: (32..46) + OPEN_PAREN: (32..33) "(" + SYMBOL: (33..39) + IDENTIFIER: (33..39) "export" + ATMOSPHERE: (39..40) " " + SYMBOL: (40..45) + IDENTIFIER: (40..45) "greet" + CLOSE_PAREN: (45..46) ")" + ATMOSPHERE: (46..48) " + " + FORM: (48..87) + OPEN_PAREN: (48..49) "(" + SYMBOL: (49..55) + IDENTIFIER: (49..55) "import" + ATMOSPHERE: (55..56) " " + FORM: (56..69) + OPEN_PAREN: (56..57) "(" + SYMBOL: (57..63) + IDENTIFIER: (57..63) "scheme" + ATMOSPHERE: (63..64) " " + SYMBOL: (64..68) + IDENTIFIER: (64..68) "base" + CLOSE_PAREN: (68..69) ")" + ATMOSPHERE: (69..72) " + " + FORM: (72..86) + OPEN_PAREN: (72..73) "(" + SYMBOL: (73..79) + IDENTIFIER: (73..79) "scheme" + ATMOSPHERE: (79..80) " " + SYMBOL: (80..85) + IDENTIFIER: (80..85) "write" + CLOSE_PAREN: (85..86) ")" + CLOSE_PAREN: (86..87) ")" + ATMOSPHERE: (87..89) " + " + FORM: (89..194) + OPEN_PAREN: (89..90) "(" + SYMBOL: (90..95) + IDENTIFIER: (90..95) "begin" + ATMOSPHERE: (95..98) " + " + FORM: (98..193) + OPEN_PAREN: (98..99) "(" + SYMBOL: (99..105) + IDENTIFIER: (99..105) "define" + ATMOSPHERE: (105..106) " " + FORM: (106..120) + OPEN_PAREN: (106..107) "(" + SYMBOL: (107..112) + IDENTIFIER: (107..112) "greet" + ATMOSPHERE: (112..113) " " + SYMBOL: (113..119) + IDENTIFIER: (113..119) "person" + CLOSE_PAREN: (119..120) ")" + ATMOSPHERE: (120..124) " + " + FORM: (124..142) + OPEN_PAREN: (124..125) "(" + SYMBOL: (125..132) + IDENTIFIER: (125..132) "display" + ATMOSPHERE: (132..133) " " + CONSTANT: (133..141) + STRING: (133..141) ""Hello "" + CLOSE_PAREN: (141..142) ")" + ATMOSPHERE: (142..146) " + " + FORM: (146..162) + OPEN_PAREN: (146..147) "(" + SYMBOL: (147..154) + IDENTIFIER: (147..154) "display" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..161) + IDENTIFIER: (155..161) "person" + CLOSE_PAREN: (161..162) ")" + ATMOSPHERE: (162..166) " + " + FORM: (166..179) + OPEN_PAREN: (166..167) "(" + SYMBOL: (167..174) + IDENTIFIER: (167..174) "display" + ATMOSPHERE: (174..175) " " + CONSTANT: (175..178) + CHARACTER: (175..178) "#\!" + CLOSE_PAREN: (178..179) ")" + ATMOSPHERE: (179..183) " + " + FORM: (183..192) + OPEN_PAREN: (183..184) "(" + SYMBOL: (184..191) + IDENTIFIER: (184..191) "newline" + CLOSE_PAREN: (191..192) ")" + CLOSE_PAREN: (192..193) ")" + CLOSE_PAREN: (193..194) ")" + CLOSE_PAREN: (194..195) ")" + ATMOSPHERE: (195..197) " + +" + FORM: (197..247) + OPEN_PAREN: (197..198) "(" + SYMBOL: (198..204) + IDENTIFIER: (198..204) "import" + ATMOSPHERE: (204..205) " " + FORM: (205..246) + OPEN_PAREN: (205..206) "(" + SYMBOL: (206..212) + IDENTIFIER: (206..212) "prefix" + ATMOSPHERE: (212..213) " " + FORM: (213..240) + OPEN_PAREN: (213..214) "(" + SYMBOL: (214..218) + IDENTIFIER: (214..218) "only" + ATMOSPHERE: (218..219) " " + FORM: (219..233) + OPEN_PAREN: (219..220) "(" + SYMBOL: (220..224) + IDENTIFIER: (220..224) "test" + ATMOSPHERE: (224..225) " " + SYMBOL: (225..232) + IDENTIFIER: (225..232) "greeter" + CLOSE_PAREN: (232..233) ")" + ATMOSPHERE: (233..234) " " + SYMBOL: (234..239) + IDENTIFIER: (234..239) "greet" + CLOSE_PAREN: (239..240) ")" + ATMOSPHERE: (240..241) " " + SYMBOL: (241..245) + IDENTIFIER: (241..245) "grt/" + CLOSE_PAREN: (245..246) ")" + CLOSE_PAREN: (246..247) ")" + ATMOSPHERE: (247..249) " + +" + FORM: (249..268) + OPEN_PAREN: (249..250) "(" + SYMBOL: (250..259) + IDENTIFIER: (250..259) "grt/greet" + ATMOSPHERE: (259..260) " " + CONSTANT: (260..267) + STRING: (260..267) ""world"" + CLOSE_PAREN: (267..268) ")" + EOF: (268..268) "" diff --git a/spec/libs.ast b/spec/libs.ast new file mode 100644 index 0000000..2c314be --- /dev/null +++ b/spec/libs.ast @@ -0,0 +1,292 @@ +PROGRAM: (0..530) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..94) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..57) + IDENTIFIER: (43..57) "define-library" + ATMOSPHERE: (57..58) " " + FORM: (58..93) + OPEN_PAREN: (58..59) "(" + SYMBOL: (59..61) + IDENTIFIER: (59..61) "it" + ATMOSPHERE: (61..62) " " + SYMBOL: (62..68) + IDENTIFIER: (62..68) "should" + ATMOSPHERE: (68..69) " " + CONSTANT: (69..72) + NUMBER: (69..72) "100" + ATMOSPHERE: (72..73) " " + SYMBOL: (73..80) + IDENTIFIER: (73..80) "support" + ATMOSPHERE: (80..81) " " + CONSTANT: (81..84) + NUMBER: (81..84) "202" + ATMOSPHERE: (84..85) " " + SYMBOL: (85..92) + IDENTIFIER: (85..92) "numbers" + CLOSE_PAREN: (92..93) ")" + CLOSE_PAREN: (93..94) ")" + ATMOSPHERE: (94..95) " +" + FORM: (95..129) + OPEN_PAREN: (95..96) "(" + SYMBOL: (96..110) + IDENTIFIER: (96..110) "define-library" + ATMOSPHERE: (110..111) " " + FORM: (111..128) + OPEN_PAREN: (111..112) "(" + SYMBOL: (112..116) + IDENTIFIER: (112..116) "test" + ATMOSPHERE: (116..117) " " + SYMBOL: (117..127) + IDENTIFIER: (117..127) "dependency" + CLOSE_PAREN: (127..128) ")" + CLOSE_PAREN: (128..129) ")" + ATMOSPHERE: (129..130) " +" + FORM: (130..346) + OPEN_PAREN: (130..131) "(" + SYMBOL: (131..145) + IDENTIFIER: (131..145) "define-library" + ATMOSPHERE: (145..146) " " + FORM: (146..160) + OPEN_PAREN: (146..147) "(" + SYMBOL: (147..154) + IDENTIFIER: (147..154) "example" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..159) + IDENTIFIER: (155..159) "grid" + CLOSE_PAREN: (159..160) ")" + ATMOSPHERE: (160..162) " + " + FORM: (162..215) + OPEN_PAREN: (162..163) "(" + SYMBOL: (163..169) + IDENTIFIER: (163..169) "export" + ATMOSPHERE: (169..170) " " + SYMBOL: (170..173) + IDENTIFIER: (170..173) "fiz" + ATMOSPHERE: (173..174) " " + SYMBOL: (174..177) + IDENTIFIER: (174..177) "buz" + ATMOSPHERE: (177..180) " + " + FORM: (180..214) + OPEN_PAREN: (180..181) "(" + SYMBOL: (181..187) + IDENTIFIER: (181..187) "rename" + ATMOSPHERE: (187..188) " " + SYMBOL: (188..199) + IDENTIFIER: (188..199) "hidden-name" + ATMOSPHERE: (199..200) " " + SYMBOL: (200..213) + IDENTIFIER: (200..213) "external-name" + CLOSE_PAREN: (213..214) ")" + CLOSE_PAREN: (214..215) ")" + ATMOSPHERE: (215..217) " + " + FORM: (217..243) + OPEN_PAREN: (217..218) "(" + SYMBOL: (218..224) + IDENTIFIER: (218..224) "import" + ATMOSPHERE: (224..225) " " + FORM: (225..242) + OPEN_PAREN: (225..226) "(" + SYMBOL: (226..230) + IDENTIFIER: (226..230) "test" + ATMOSPHERE: (230..231) " " + SYMBOL: (231..241) + IDENTIFIER: (231..241) "dependency" + CLOSE_PAREN: (241..242) ")" + CLOSE_PAREN: (242..243) ")" + ATMOSPHERE: (243..245) " + " + FORM: (245..345) + OPEN_PAREN: (245..246) "(" + SYMBOL: (246..251) + IDENTIFIER: (246..251) "begin" + ATMOSPHERE: (251..254) " + " + FORM: (254..270) + OPEN_PAREN: (254..255) "(" + SYMBOL: (255..261) + IDENTIFIER: (255..261) "define" + ATMOSPHERE: (261..262) " " + SYMBOL: (262..265) + IDENTIFIER: (262..265) "fiz" + ATMOSPHERE: (265..266) " " + CONSTANT: (266..269) + NUMBER: (266..269) "100" + CLOSE_PAREN: (269..270) ")" + ATMOSPHERE: (270..273) " + " + FORM: (273..289) + OPEN_PAREN: (273..274) "(" + SYMBOL: (274..280) + IDENTIFIER: (274..280) "define" + ATMOSPHERE: (280..281) " " + SYMBOL: (281..284) + IDENTIFIER: (281..284) "buz" + ATMOSPHERE: (284..285) " " + CONSTANT: (285..288) + NUMBER: (285..288) "100" + CLOSE_PAREN: (288..289) ")" + ATMOSPHERE: (289..292) " + " + FORM: (292..316) + OPEN_PAREN: (292..293) "(" + SYMBOL: (293..299) + IDENTIFIER: (293..299) "define" + ATMOSPHERE: (299..300) " " + SYMBOL: (300..311) + IDENTIFIER: (300..311) "hidden-name" + ATMOSPHERE: (311..312) " " + CONSTANT: (312..315) + NUMBER: (312..315) "101" + CLOSE_PAREN: (315..316) ")" + ATMOSPHERE: (316..319) " + " + FORM: (319..344) + OPEN_PAREN: (319..320) "(" + SYMBOL: (320..326) + IDENTIFIER: (320..326) "define" + ATMOSPHERE: (326..327) " " + SYMBOL: (327..339) + IDENTIFIER: (327..339) "not-exported" + ATMOSPHERE: (339..340) " " + CONSTANT: (340..343) + NUMBER: (340..343) "100" + CLOSE_PAREN: (343..344) ")" + CLOSE_PAREN: (344..345) ")" + CLOSE_PAREN: (345..346) ")" + ATMOSPHERE: (346..347) " +" + FORM: (347..477) + OPEN_PAREN: (347..348) "(" + SYMBOL: (348..362) + IDENTIFIER: (348..362) "define-library" + ATMOSPHERE: (362..363) " " + FORM: (363..377) + OPEN_PAREN: (363..364) "(" + SYMBOL: (364..368) + IDENTIFIER: (364..368) "test" + ATMOSPHERE: (368..369) " " + SYMBOL: (369..376) + IDENTIFIER: (369..376) "greeter" + CLOSE_PAREN: (376..377) ")" + ATMOSPHERE: (377..379) " + " + FORM: (379..417) + OPEN_PAREN: (379..380) "(" + SYMBOL: (380..386) + IDENTIFIER: (380..386) "import" + ATMOSPHERE: (386..387) " " + FORM: (387..416) + OPEN_PAREN: (387..388) "(" + SYMBOL: (388..394) + IDENTIFIER: (388..394) "prefix" + ATMOSPHERE: (394..395) " " + FORM: (395..409) + OPEN_PAREN: (395..396) "(" + SYMBOL: (396..403) + IDENTIFIER: (396..403) "example" + ATMOSPHERE: (403..404) " " + SYMBOL: (404..408) + IDENTIFIER: (404..408) "grid" + CLOSE_PAREN: (408..409) ")" + ATMOSPHERE: (409..410) " " + SYMBOL: (410..415) + IDENTIFIER: (410..415) "grid/" + CLOSE_PAREN: (415..416) ")" + CLOSE_PAREN: (416..417) ")" + ATMOSPHERE: (417..419) " + " + FORM: (419..433) + OPEN_PAREN: (419..420) "(" + SYMBOL: (420..426) + IDENTIFIER: (420..426) "export" + ATMOSPHERE: (426..427) " " + SYMBOL: (427..432) + IDENTIFIER: (427..432) "greet" + CLOSE_PAREN: (432..433) ")" + ATMOSPHERE: (433..435) " + " + FORM: (435..476) + OPEN_PAREN: (435..436) "(" + SYMBOL: (436..441) + IDENTIFIER: (436..441) "begin" + ATMOSPHERE: (441..442) " " + FORM: (442..475) + OPEN_PAREN: (442..443) "(" + SYMBOL: (443..449) + IDENTIFIER: (443..449) "define" + ATMOSPHERE: (449..450) " " + SYMBOL: (450..455) + IDENTIFIER: (450..455) "greet" + ATMOSPHERE: (455..456) " " + SYMBOL: (456..474) + IDENTIFIER: (456..474) "grid/external-name" + CLOSE_PAREN: (474..475) ")" + CLOSE_PAREN: (475..476) ")" + CLOSE_PAREN: (476..477) ")" + ATMOSPHERE: (477..478) " +" + FORM: (478..514) + OPEN_PAREN: (478..479) "(" + SYMBOL: (479..485) + IDENTIFIER: (479..485) "import" + ATMOSPHERE: (485..486) " " + FORM: (486..513) + OPEN_PAREN: (486..487) "(" + SYMBOL: (487..491) + IDENTIFIER: (487..491) "only" + ATMOSPHERE: (491..492) " " + FORM: (492..506) + OPEN_PAREN: (492..493) "(" + SYMBOL: (493..497) + IDENTIFIER: (493..497) "test" + ATMOSPHERE: (497..498) " " + SYMBOL: (498..505) + IDENTIFIER: (498..505) "greeter" + CLOSE_PAREN: (505..506) ")" + ATMOSPHERE: (506..507) " " + SYMBOL: (507..512) + IDENTIFIER: (507..512) "greet" + CLOSE_PAREN: (512..513) ")" + CLOSE_PAREN: (513..514) ")" + ATMOSPHERE: (514..515) " +" + FORM: (515..530) + OPEN_PAREN: (515..516) "(" + SYMBOL: (516..523) + IDENTIFIER: (516..523) "display" + ATMOSPHERE: (523..524) " " + SYMBOL: (524..529) + IDENTIFIER: (524..529) "greet" + CLOSE_PAREN: (529..530) ")" + EOF: (530..530) "" diff --git a/spec/lists.ast b/spec/lists.ast new file mode 100644 index 0000000..016f6b8 --- /dev/null +++ b/spec/lists.ast @@ -0,0 +1,1850 @@ +PROGRAM: (0..2619) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..239) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..51) + IDENTIFIER: (44..51) "display" + ATMOSPHERE: (51..52) " " + FORM: (52..238) + OPEN_PAREN: (52..53) "(" + SYMBOL: (53..57) + IDENTIFIER: (53..57) "list" + ATMOSPHERE: (57..62) " + " + FORM: (62..77) + OPEN_PAREN: (62..63) "(" + SYMBOL: (63..67) + IDENTIFIER: (63..67) "list" + ATMOSPHERE: (67..68) " " + CONSTANT: (68..70) + NUMBER: (68..70) "12" + ATMOSPHERE: (70..71) " " + CONSTANT: (71..73) + NUMBER: (71..73) "34" + ATMOSPHERE: (73..74) " " + CONSTANT: (74..76) + NUMBER: (74..76) "56" + CLOSE_PAREN: (76..77) ")" + ATMOSPHERE: (77..105) " " + ATMOSPHERE: (105..117) "; (12 34 56)" + ATMOSPHERE: (117..122) " + " + FORM: (122..155) + OPEN_PAREN: (122..123) "(" + SYMBOL: (123..126) + IDENTIFIER: (123..126) "cdr" + ATMOSPHERE: (126..127) " " + FORM: (127..154) + OPEN_PAREN: (127..128) "(" + SYMBOL: (128..131) + IDENTIFIER: (128..131) "cdr" + ATMOSPHERE: (131..132) " " + FORM: (132..153) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..137) + IDENTIFIER: (133..137) "list" + ATMOSPHERE: (137..138) " " + CONSTANT: (138..141) + STRING: (138..141) ""a"" + ATMOSPHERE: (141..142) " " + CONSTANT: (142..145) + CHARACTER: (142..145) "#\B" + ATMOSPHERE: (145..146) " " + CONSTANT: (146..148) + BOOLEAN: (146..148) "#f" + ATMOSPHERE: (148..149) " " + CONSTANT: (149..152) + NUMBER: (149..152) "4.0" + CLOSE_PAREN: (152..153) ")" + CLOSE_PAREN: (153..154) ")" + CLOSE_PAREN: (154..155) ")" + ATMOSPHERE: (155..165) " " + ATMOSPHERE: (165..178) "; -> (#f 4.0)" + ATMOSPHERE: (178..183) " + " + FORM: (183..224) + OPEN_PAREN: (183..184) "(" + SYMBOL: (184..187) + IDENTIFIER: (184..187) "car" + ATMOSPHERE: (187..188) " " + FORM: (188..223) + OPEN_PAREN: (188..189) "(" + SYMBOL: (189..192) + IDENTIFIER: (189..192) "cdr" + ATMOSPHERE: (192..193) " " + FORM: (193..222) + OPEN_PAREN: (193..194) "(" + SYMBOL: (194..197) + IDENTIFIER: (194..197) "car" + ATMOSPHERE: (197..198) " " + FORM: (198..221) + OPEN_PAREN: (198..199) "(" + SYMBOL: (199..203) + IDENTIFIER: (199..203) "list" + ATMOSPHERE: (203..204) " " + FORM: (204..216) + OPEN_PAREN: (204..205) "(" + SYMBOL: (205..209) + IDENTIFIER: (205..209) "list" + ATMOSPHERE: (209..210) " " + CONSTANT: (210..211) + NUMBER: (210..211) "1" + ATMOSPHERE: (211..212) " " + CONSTANT: (212..213) + NUMBER: (212..213) "2" + ATMOSPHERE: (213..214) " " + CONSTANT: (214..215) + NUMBER: (214..215) "3" + CLOSE_PAREN: (215..216) ")" + ATMOSPHERE: (216..217) " " + CONSTANT: (217..218) + NUMBER: (217..218) "4" + ATMOSPHERE: (218..219) " " + CONSTANT: (219..220) + NUMBER: (219..220) "5" + CLOSE_PAREN: (220..221) ")" + CLOSE_PAREN: (221..222) ")" + CLOSE_PAREN: (222..223) ")" + CLOSE_PAREN: (223..224) ")" + ATMOSPHERE: (224..226) " " + ATMOSPHERE: (226..232) "; -> 2" + ATMOSPHERE: (232..237) " + " + CLOSE_PAREN: (237..238) ")" + CLOSE_PAREN: (238..239) ")" + ATMOSPHERE: (239..240) " +" + FORM: (240..249) + OPEN_PAREN: (240..241) "(" + SYMBOL: (241..248) + IDENTIFIER: (241..248) "newline" + CLOSE_PAREN: (248..249) ")" + ATMOSPHERE: (249..251) " + +" + FORM: (251..436) + OPEN_PAREN: (251..252) "(" + SYMBOL: (252..258) + IDENTIFIER: (252..258) "define" + ATMOSPHERE: (258..259) " " + FORM: (259..269) + OPEN_PAREN: (259..260) "(" + SYMBOL: (260..263) + IDENTIFIER: (260..263) "rev" + ATMOSPHERE: (263..264) " " + SYMBOL: (264..268) + IDENTIFIER: (264..268) "list" + CLOSE_PAREN: (268..269) ")" + ATMOSPHERE: (269..274) " + " + FORM: (274..408) + OPEN_PAREN: (274..275) "(" + SYMBOL: (275..281) + IDENTIFIER: (275..281) "define" + ATMOSPHERE: (281..282) " " + FORM: (282..305) + OPEN_PAREN: (282..283) "(" + SYMBOL: (283..295) + IDENTIFIER: (283..295) "rev-with-acc" + ATMOSPHERE: (295..296) " " + SYMBOL: (296..300) + IDENTIFIER: (296..300) "list" + ATMOSPHERE: (300..301) " " + SYMBOL: (301..304) + IDENTIFIER: (301..304) "acc" + CLOSE_PAREN: (304..305) ")" + ATMOSPHERE: (305..314) " + " + FORM: (314..407) + OPEN_PAREN: (314..315) "(" + SYMBOL: (315..317) + IDENTIFIER: (315..317) "if" + ATMOSPHERE: (317..318) " " + FORM: (318..330) + OPEN_PAREN: (318..319) "(" + SYMBOL: (319..324) + IDENTIFIER: (319..324) "null?" + ATMOSPHERE: (324..325) " " + SYMBOL: (325..329) + IDENTIFIER: (325..329) "list" + CLOSE_PAREN: (329..330) ")" + ATMOSPHERE: (330..343) " + " + SYMBOL: (343..346) + IDENTIFIER: (343..346) "acc" + ATMOSPHERE: (346..359) " + " + FORM: (359..406) + OPEN_PAREN: (359..360) "(" + SYMBOL: (360..372) + IDENTIFIER: (360..372) "rev-with-acc" + ATMOSPHERE: (372..373) " " + FORM: (373..383) + OPEN_PAREN: (373..374) "(" + SYMBOL: (374..377) + IDENTIFIER: (374..377) "cdr" + ATMOSPHERE: (377..378) " " + SYMBOL: (378..382) + IDENTIFIER: (378..382) "list" + CLOSE_PAREN: (382..383) ")" + ATMOSPHERE: (383..384) " " + FORM: (384..405) + OPEN_PAREN: (384..385) "(" + SYMBOL: (385..389) + IDENTIFIER: (385..389) "cons" + ATMOSPHERE: (389..390) " " + FORM: (390..400) + OPEN_PAREN: (390..391) "(" + SYMBOL: (391..394) + IDENTIFIER: (391..394) "car" + ATMOSPHERE: (394..395) " " + SYMBOL: (395..399) + IDENTIFIER: (395..399) "list" + CLOSE_PAREN: (399..400) ")" + ATMOSPHERE: (400..401) " " + SYMBOL: (401..404) + IDENTIFIER: (401..404) "acc" + CLOSE_PAREN: (404..405) ")" + CLOSE_PAREN: (405..406) ")" + CLOSE_PAREN: (406..407) ")" + CLOSE_PAREN: (407..408) ")" + ATMOSPHERE: (408..413) " + " + FORM: (413..435) + OPEN_PAREN: (413..414) "(" + SYMBOL: (414..426) + IDENTIFIER: (414..426) "rev-with-acc" + ATMOSPHERE: (426..427) " " + SYMBOL: (427..431) + IDENTIFIER: (427..431) "list" + ATMOSPHERE: (431..432) " " + FORM: (432..434) + OPEN_PAREN: (432..433) "(" + CLOSE_PAREN: (433..434) ")" + CLOSE_PAREN: (434..435) ")" + CLOSE_PAREN: (435..436) ")" + ATMOSPHERE: (436..438) " + +" + FORM: (438..470) + OPEN_PAREN: (438..439) "(" + SYMBOL: (439..446) + IDENTIFIER: (439..446) "display" + ATMOSPHERE: (446..447) " " + FORM: (447..469) + OPEN_PAREN: (447..448) "(" + SYMBOL: (448..451) + IDENTIFIER: (448..451) "rev" + ATMOSPHERE: (451..452) " " + FORM: (452..468) + OPEN_PAREN: (452..453) "(" + SYMBOL: (453..457) + IDENTIFIER: (453..457) "list" + ATMOSPHERE: (457..458) " " + CONSTANT: (458..459) + NUMBER: (458..459) "1" + ATMOSPHERE: (459..460) " " + CONSTANT: (460..461) + NUMBER: (460..461) "2" + ATMOSPHERE: (461..462) " " + CONSTANT: (462..463) + NUMBER: (462..463) "3" + ATMOSPHERE: (463..464) " " + CONSTANT: (464..465) + NUMBER: (464..465) "4" + ATMOSPHERE: (465..466) " " + CONSTANT: (466..467) + NUMBER: (466..467) "5" + CLOSE_PAREN: (467..468) ")" + CLOSE_PAREN: (468..469) ")" + CLOSE_PAREN: (469..470) ")" + ATMOSPHERE: (470..471) " +" + FORM: (471..480) + OPEN_PAREN: (471..472) "(" + SYMBOL: (472..479) + IDENTIFIER: (472..479) "newline" + CLOSE_PAREN: (479..480) ")" + ATMOSPHERE: (480..482) " + +" + FORM: (482..513) + OPEN_PAREN: (482..483) "(" + SYMBOL: (483..490) + IDENTIFIER: (483..490) "display" + ATMOSPHERE: (490..491) " " + FORM: (491..512) + OPEN_PAREN: (491..492) "(" + SYMBOL: (492..497) + IDENTIFIER: (492..497) "list?" + ATMOSPHERE: (497..498) " " + FORM: (498..511) + OPEN_PAREN: (498..499) "(" + SYMBOL: (499..503) + IDENTIFIER: (499..503) "cons" + ATMOSPHERE: (503..504) " " + CONSTANT: (504..507) + STRING: (504..507) ""a"" + ATMOSPHERE: (507..508) " " + FORM: (508..510) + OPEN_PAREN: (508..509) "(" + CLOSE_PAREN: (509..510) ")" + CLOSE_PAREN: (510..511) ")" + CLOSE_PAREN: (511..512) ")" + CLOSE_PAREN: (512..513) ")" + ATMOSPHERE: (513..514) " " + ATMOSPHERE: (514..521) "; -> #t" + ATMOSPHERE: (521..522) " +" + FORM: (522..557) + OPEN_PAREN: (522..523) "(" + SYMBOL: (523..530) + IDENTIFIER: (523..530) "display" + ATMOSPHERE: (530..531) " " + FORM: (531..556) + OPEN_PAREN: (531..532) "(" + SYMBOL: (532..537) + IDENTIFIER: (532..537) "list?" + ATMOSPHERE: (537..538) " " + FORM: (538..555) + OPEN_PAREN: (538..539) "(" + SYMBOL: (539..543) + IDENTIFIER: (539..543) "cons" + ATMOSPHERE: (543..544) " " + CONSTANT: (544..547) + STRING: (544..547) ""a"" + ATMOSPHERE: (547..548) " " + FORM: (548..554) + OPEN_PAREN: (548..549) "(" + SYMBOL: (549..553) + IDENTIFIER: (549..553) "list" + CLOSE_PAREN: (553..554) ")" + CLOSE_PAREN: (554..555) ")" + CLOSE_PAREN: (555..556) ")" + CLOSE_PAREN: (556..557) ")" + ATMOSPHERE: (557..558) " " + ATMOSPHERE: (558..565) "; -> #t" + ATMOSPHERE: (565..566) " +" + FORM: (566..598) + OPEN_PAREN: (566..567) "(" + SYMBOL: (567..574) + IDENTIFIER: (567..574) "display" + ATMOSPHERE: (574..575) " " + FORM: (575..597) + OPEN_PAREN: (575..576) "(" + SYMBOL: (576..581) + IDENTIFIER: (576..581) "list?" + ATMOSPHERE: (581..582) " " + FORM: (582..596) + OPEN_PAREN: (582..583) "(" + SYMBOL: (583..587) + IDENTIFIER: (583..587) "cons" + ATMOSPHERE: (587..588) " " + CONSTANT: (588..591) + STRING: (588..591) ""a"" + ATMOSPHERE: (591..592) " " + CONSTANT: (592..595) + STRING: (592..595) ""b"" + CLOSE_PAREN: (595..596) ")" + CLOSE_PAREN: (596..597) ")" + CLOSE_PAREN: (597..598) ")" + ATMOSPHERE: (598..599) " " + ATMOSPHERE: (599..606) "; -> #f" + ATMOSPHERE: (606..607) " +" + FORM: (607..616) + OPEN_PAREN: (607..608) "(" + SYMBOL: (608..615) + IDENTIFIER: (608..615) "newline" + CLOSE_PAREN: (615..616) ")" + ATMOSPHERE: (616..618) " + +" + FORM: (618..649) + OPEN_PAREN: (618..619) "(" + SYMBOL: (619..626) + IDENTIFIER: (619..626) "display" + ATMOSPHERE: (626..627) " " + FORM: (627..648) + OPEN_PAREN: (627..628) "(" + SYMBOL: (628..633) + IDENTIFIER: (628..633) "pair?" + ATMOSPHERE: (633..634) " " + FORM: (634..647) + OPEN_PAREN: (634..635) "(" + SYMBOL: (635..639) + IDENTIFIER: (635..639) "cons" + ATMOSPHERE: (639..640) " " + CONSTANT: (640..643) + STRING: (640..643) ""a"" + ATMOSPHERE: (643..644) " " + FORM: (644..646) + OPEN_PAREN: (644..645) "(" + CLOSE_PAREN: (645..646) ")" + CLOSE_PAREN: (646..647) ")" + CLOSE_PAREN: (647..648) ")" + CLOSE_PAREN: (648..649) ")" + ATMOSPHERE: (649..650) " " + ATMOSPHERE: (650..657) "; -> #t" + ATMOSPHERE: (657..658) " +" + FORM: (658..693) + OPEN_PAREN: (658..659) "(" + SYMBOL: (659..666) + IDENTIFIER: (659..666) "display" + ATMOSPHERE: (666..667) " " + FORM: (667..692) + OPEN_PAREN: (667..668) "(" + SYMBOL: (668..673) + IDENTIFIER: (668..673) "pair?" + ATMOSPHERE: (673..674) " " + FORM: (674..691) + OPEN_PAREN: (674..675) "(" + SYMBOL: (675..679) + IDENTIFIER: (675..679) "cons" + ATMOSPHERE: (679..680) " " + CONSTANT: (680..683) + STRING: (680..683) ""a"" + ATMOSPHERE: (683..684) " " + FORM: (684..690) + OPEN_PAREN: (684..685) "(" + SYMBOL: (685..689) + IDENTIFIER: (685..689) "list" + CLOSE_PAREN: (689..690) ")" + CLOSE_PAREN: (690..691) ")" + CLOSE_PAREN: (691..692) ")" + CLOSE_PAREN: (692..693) ")" + ATMOSPHERE: (693..694) " " + ATMOSPHERE: (694..701) "; -> #t" + ATMOSPHERE: (701..702) " +" + FORM: (702..734) + OPEN_PAREN: (702..703) "(" + SYMBOL: (703..710) + IDENTIFIER: (703..710) "display" + ATMOSPHERE: (710..711) " " + FORM: (711..733) + OPEN_PAREN: (711..712) "(" + SYMBOL: (712..717) + IDENTIFIER: (712..717) "pair?" + ATMOSPHERE: (717..718) " " + FORM: (718..732) + OPEN_PAREN: (718..719) "(" + SYMBOL: (719..723) + IDENTIFIER: (719..723) "cons" + ATMOSPHERE: (723..724) " " + CONSTANT: (724..727) + STRING: (724..727) ""a"" + ATMOSPHERE: (727..728) " " + CONSTANT: (728..731) + STRING: (728..731) ""b"" + CLOSE_PAREN: (731..732) ")" + CLOSE_PAREN: (732..733) ")" + CLOSE_PAREN: (733..734) ")" + ATMOSPHERE: (734..735) " " + ATMOSPHERE: (735..742) "; -> #t" + ATMOSPHERE: (742..743) " +" + FORM: (743..752) + OPEN_PAREN: (743..744) "(" + SYMBOL: (744..751) + IDENTIFIER: (744..751) "newline" + CLOSE_PAREN: (751..752) ")" + ATMOSPHERE: (752..754) " + +" + FORM: (754..782) + OPEN_PAREN: (754..755) "(" + SYMBOL: (755..762) + IDENTIFIER: (755..762) "display" + ATMOSPHERE: (762..763) " " + FORM: (763..781) + OPEN_PAREN: (763..764) "(" + SYMBOL: (764..770) + IDENTIFIER: (764..770) "append" + ATMOSPHERE: (770..771) " " + QUOTED_DATUM: (771..776) + QUOTE: (771..772) "’" + FORM: (772..775) + OPEN_PAREN: (772..773) "(" + SYMBOL: (773..774) + IDENTIFIER: (773..774) "x" + CLOSE_PAREN: (774..775) ")" + ATMOSPHERE: (775..776) " " + QUOTED_DATUM: (776..780) + QUOTE: (776..777) "’" + FORM: (777..780) + OPEN_PAREN: (777..778) "(" + SYMBOL: (778..779) + IDENTIFIER: (778..779) "y" + CLOSE_PAREN: (779..780) ")" + CLOSE_PAREN: (780..781) ")" + CLOSE_PAREN: (781..782) ")" + FORM: (782..791) + OPEN_PAREN: (782..783) "(" + SYMBOL: (783..790) + IDENTIFIER: (783..790) "newline" + CLOSE_PAREN: (790..791) ")" + ATMOSPHERE: (791..792) " " + ATMOSPHERE: (792..802) "; -> (x y)" + ATMOSPHERE: (802..803) " +" + FORM: (803..835) + OPEN_PAREN: (803..804) "(" + SYMBOL: (804..811) + IDENTIFIER: (804..811) "display" + ATMOSPHERE: (811..812) " " + FORM: (812..834) + OPEN_PAREN: (812..813) "(" + SYMBOL: (813..819) + IDENTIFIER: (813..819) "append" + ATMOSPHERE: (819..820) " " + QUOTED_DATUM: (820..825) + QUOTE: (820..821) "’" + FORM: (821..824) + OPEN_PAREN: (821..822) "(" + SYMBOL: (822..823) + IDENTIFIER: (822..823) "a" + CLOSE_PAREN: (823..824) ")" + ATMOSPHERE: (824..825) " " + QUOTED_DATUM: (825..833) + QUOTE: (825..826) "’" + FORM: (826..833) + OPEN_PAREN: (826..827) "(" + SYMBOL: (827..828) + IDENTIFIER: (827..828) "b" + ATMOSPHERE: (828..829) " " + SYMBOL: (829..830) + IDENTIFIER: (829..830) "c" + ATMOSPHERE: (830..831) " " + SYMBOL: (831..832) + IDENTIFIER: (831..832) "d" + CLOSE_PAREN: (832..833) ")" + CLOSE_PAREN: (833..834) ")" + CLOSE_PAREN: (834..835) ")" + FORM: (835..844) + OPEN_PAREN: (835..836) "(" + SYMBOL: (836..843) + IDENTIFIER: (836..843) "newline" + CLOSE_PAREN: (843..844) ")" + ATMOSPHERE: (844..845) " " + ATMOSPHERE: (845..859) "; -> (a b c d)" + ATMOSPHERE: (859..860) " +" + FORM: (860..894) + OPEN_PAREN: (860..861) "(" + SYMBOL: (861..868) + IDENTIFIER: (861..868) "display" + ATMOSPHERE: (868..869) " " + FORM: (869..893) + OPEN_PAREN: (869..870) "(" + SYMBOL: (870..876) + IDENTIFIER: (870..876) "append" + ATMOSPHERE: (876..877) " " + QUOTED_DATUM: (877..886) + QUOTE: (877..878) "’" + FORM: (878..885) + OPEN_PAREN: (878..879) "(" + SYMBOL: (879..880) + IDENTIFIER: (879..880) "a" + ATMOSPHERE: (880..881) " " + FORM: (881..884) + OPEN_PAREN: (881..882) "(" + SYMBOL: (882..883) + IDENTIFIER: (882..883) "b" + CLOSE_PAREN: (883..884) ")" + CLOSE_PAREN: (884..885) ")" + ATMOSPHERE: (885..886) " " + QUOTED_DATUM: (886..892) + QUOTE: (886..887) "’" + FORM: (887..892) + OPEN_PAREN: (887..888) "(" + FORM: (888..891) + OPEN_PAREN: (888..889) "(" + SYMBOL: (889..890) + IDENTIFIER: (889..890) "c" + CLOSE_PAREN: (890..891) ")" + CLOSE_PAREN: (891..892) ")" + CLOSE_PAREN: (892..893) ")" + CLOSE_PAREN: (893..894) ")" + FORM: (894..903) + OPEN_PAREN: (894..895) "(" + SYMBOL: (895..902) + IDENTIFIER: (895..902) "newline" + CLOSE_PAREN: (902..903) ")" + ATMOSPHERE: (903..904) " " + ATMOSPHERE: (904..920) "; -> (a (b) (c))" + ATMOSPHERE: (920..921) " +" + FORM: (921..955) + OPEN_PAREN: (921..922) "(" + SYMBOL: (922..929) + IDENTIFIER: (922..929) "display" + ATMOSPHERE: (929..930) " " + FORM: (930..954) + OPEN_PAREN: (930..931) "(" + SYMBOL: (931..937) + IDENTIFIER: (931..937) "append" + ATMOSPHERE: (937..938) " " + QUOTED_DATUM: (938..945) + QUOTE: (938..939) "’" + FORM: (939..944) + OPEN_PAREN: (939..940) "(" + SYMBOL: (940..941) + IDENTIFIER: (940..941) "a" + ATMOSPHERE: (941..942) " " + SYMBOL: (942..943) + IDENTIFIER: (942..943) "b" + CLOSE_PAREN: (943..944) ")" + ATMOSPHERE: (944..945) " " + QUOTED_DATUM: (945..953) + QUOTE: (945..946) "’" + FORM: (946..953) + OPEN_PAREN: (946..947) "(" + SYMBOL: (947..948) + IDENTIFIER: (947..948) "c" + ATMOSPHERE: (948..949) " " + DOTTED_TAIL: (949..952) + DOT: (949..950) "." + ATMOSPHERE: (950..951) " " + SYMBOL: (951..952) + IDENTIFIER: (951..952) "d" + CLOSE_PAREN: (952..953) ")" + CLOSE_PAREN: (953..954) ")" + CLOSE_PAREN: (954..955) ")" + FORM: (955..964) + OPEN_PAREN: (955..956) "(" + SYMBOL: (956..963) + IDENTIFIER: (956..963) "newline" + CLOSE_PAREN: (963..964) ")" + ATMOSPHERE: (964..965) " " + ATMOSPHERE: (965..1005) "; -> (a b c . d) ;; FIXME: quoted pairs!" + ATMOSPHERE: (1005..1006) " +" + FORM: (1006..1044) + OPEN_PAREN: (1006..1007) "(" + SYMBOL: (1007..1014) + IDENTIFIER: (1007..1014) "display" + ATMOSPHERE: (1014..1015) " " + FORM: (1015..1043) + OPEN_PAREN: (1015..1016) "(" + SYMBOL: (1016..1022) + IDENTIFIER: (1016..1022) "append" + ATMOSPHERE: (1022..1023) " " + QUOTED_DATUM: (1023..1030) + QUOTE: (1023..1024) "’" + FORM: (1024..1029) + OPEN_PAREN: (1024..1025) "(" + SYMBOL: (1025..1026) + IDENTIFIER: (1025..1026) "a" + ATMOSPHERE: (1026..1027) " " + SYMBOL: (1027..1028) + IDENTIFIER: (1027..1028) "b" + CLOSE_PAREN: (1028..1029) ")" + ATMOSPHERE: (1029..1030) " " + FORM: (1030..1042) + OPEN_PAREN: (1030..1031) "(" + SYMBOL: (1031..1035) + IDENTIFIER: (1031..1035) "cons" + ATMOSPHERE: (1035..1036) " " + QUOTED_DATUM: (1036..1039) + QUOTE: (1036..1037) "'" + SYMBOL: (1037..1038) + IDENTIFIER: (1037..1038) "c" + ATMOSPHERE: (1038..1039) " " + QUOTED_DATUM: (1039..1041) + QUOTE: (1039..1040) "'" + SYMBOL: (1040..1041) + IDENTIFIER: (1040..1041) "d" + CLOSE_PAREN: (1041..1042) ")" + CLOSE_PAREN: (1042..1043) ")" + CLOSE_PAREN: (1043..1044) ")" + FORM: (1044..1053) + OPEN_PAREN: (1044..1045) "(" + SYMBOL: (1045..1052) + IDENTIFIER: (1045..1052) "newline" + CLOSE_PAREN: (1052..1053) ")" + ATMOSPHERE: (1053..1054) " " + ATMOSPHERE: (1054..1070) "; -> (a b c . d)" + ATMOSPHERE: (1070..1071) " +" + FORM: (1071..1096) + OPEN_PAREN: (1071..1072) "(" + SYMBOL: (1072..1079) + IDENTIFIER: (1072..1079) "display" + ATMOSPHERE: (1079..1080) " " + FORM: (1080..1095) + OPEN_PAREN: (1080..1081) "(" + SYMBOL: (1081..1087) + IDENTIFIER: (1081..1087) "append" + ATMOSPHERE: (1087..1088) " " + QUOTED_DATUM: (1088..1092) + QUOTE: (1088..1089) "’" + FORM: (1089..1091) + OPEN_PAREN: (1089..1090) "(" + CLOSE_PAREN: (1090..1091) ")" + ATMOSPHERE: (1091..1092) " " + QUOTED_DATUM: (1092..1094) + QUOTE: (1092..1093) "’" + SYMBOL: (1093..1094) + IDENTIFIER: (1093..1094) "a" + CLOSE_PAREN: (1094..1095) ")" + CLOSE_PAREN: (1095..1096) ")" + FORM: (1096..1105) + OPEN_PAREN: (1096..1097) "(" + SYMBOL: (1097..1104) + IDENTIFIER: (1097..1104) "newline" + CLOSE_PAREN: (1104..1105) ")" + ATMOSPHERE: (1105..1106) " " + ATMOSPHERE: (1106..1112) "; -> a" + ATMOSPHERE: (1112..1114) " + +" + FORM: (1114..1142) + OPEN_PAREN: (1114..1115) "(" + SYMBOL: (1115..1122) + IDENTIFIER: (1115..1122) "display" + ATMOSPHERE: (1122..1123) " " + FORM: (1123..1141) + OPEN_PAREN: (1123..1124) "(" + SYMBOL: (1124..1131) + IDENTIFIER: (1124..1131) "reverse" + ATMOSPHERE: (1131..1132) " " + QUOTED_DATUM: (1132..1140) + QUOTE: (1132..1133) "’" + FORM: (1133..1140) + OPEN_PAREN: (1133..1134) "(" + SYMBOL: (1134..1135) + IDENTIFIER: (1134..1135) "a" + ATMOSPHERE: (1135..1136) " " + SYMBOL: (1136..1137) + IDENTIFIER: (1136..1137) "b" + ATMOSPHERE: (1137..1138) " " + SYMBOL: (1138..1139) + IDENTIFIER: (1138..1139) "c" + CLOSE_PAREN: (1139..1140) ")" + CLOSE_PAREN: (1140..1141) ")" + CLOSE_PAREN: (1141..1142) ")" + FORM: (1142..1151) + OPEN_PAREN: (1142..1143) "(" + SYMBOL: (1143..1150) + IDENTIFIER: (1143..1150) "newline" + CLOSE_PAREN: (1150..1151) ")" + ATMOSPHERE: (1151..1152) " " + ATMOSPHERE: (1152..1164) "; -> (c b a)" + ATMOSPHERE: (1164..1165) " +" + FORM: (1165..1205) + OPEN_PAREN: (1165..1166) "(" + SYMBOL: (1166..1173) + IDENTIFIER: (1166..1173) "display" + ATMOSPHERE: (1173..1174) " " + FORM: (1174..1204) + OPEN_PAREN: (1174..1175) "(" + SYMBOL: (1175..1182) + IDENTIFIER: (1175..1182) "reverse" + ATMOSPHERE: (1182..1183) " " + QUOTED_DATUM: (1183..1203) + QUOTE: (1183..1184) "’" + FORM: (1184..1203) + OPEN_PAREN: (1184..1185) "(" + SYMBOL: (1185..1186) + IDENTIFIER: (1185..1186) "a" + ATMOSPHERE: (1186..1187) " " + FORM: (1187..1192) + OPEN_PAREN: (1187..1188) "(" + SYMBOL: (1188..1189) + IDENTIFIER: (1188..1189) "b" + ATMOSPHERE: (1189..1190) " " + SYMBOL: (1190..1191) + IDENTIFIER: (1190..1191) "c" + CLOSE_PAREN: (1191..1192) ")" + ATMOSPHERE: (1192..1193) " " + SYMBOL: (1193..1194) + IDENTIFIER: (1193..1194) "d" + ATMOSPHERE: (1194..1195) " " + FORM: (1195..1202) + OPEN_PAREN: (1195..1196) "(" + SYMBOL: (1196..1197) + IDENTIFIER: (1196..1197) "e" + ATMOSPHERE: (1197..1198) " " + FORM: (1198..1201) + OPEN_PAREN: (1198..1199) "(" + SYMBOL: (1199..1200) + IDENTIFIER: (1199..1200) "f" + CLOSE_PAREN: (1200..1201) ")" + CLOSE_PAREN: (1201..1202) ")" + CLOSE_PAREN: (1202..1203) ")" + CLOSE_PAREN: (1203..1204) ")" + CLOSE_PAREN: (1204..1205) ")" + FORM: (1205..1214) + OPEN_PAREN: (1205..1206) "(" + SYMBOL: (1206..1213) + IDENTIFIER: (1206..1213) "newline" + CLOSE_PAREN: (1213..1214) ")" + ATMOSPHERE: (1214..1215) " " + ATMOSPHERE: (1215..1239) "; -> ((e (f)) d (b c) a)" + ATMOSPHERE: (1239..1241) " + +" + FORM: (1241..1276) + OPEN_PAREN: (1241..1242) "(" + SYMBOL: (1242..1248) + IDENTIFIER: (1242..1248) "define" + ATMOSPHERE: (1248..1249) " " + SYMBOL: (1249..1258) + IDENTIFIER: (1249..1258) "test-list" + ATMOSPHERE: (1258..1259) " " + QUOTED_DATUM: (1259..1275) + QUOTE: (1259..1260) "'" + FORM: (1260..1275) + OPEN_PAREN: (1260..1261) "(" + SYMBOL: (1261..1262) + IDENTIFIER: (1261..1262) "a" + ATMOSPHERE: (1262..1263) " " + SYMBOL: (1263..1264) + IDENTIFIER: (1263..1264) "b" + ATMOSPHERE: (1264..1265) " " + SYMBOL: (1265..1266) + IDENTIFIER: (1265..1266) "c" + ATMOSPHERE: (1266..1267) " " + SYMBOL: (1267..1268) + IDENTIFIER: (1267..1268) "d" + ATMOSPHERE: (1268..1269) " " + SYMBOL: (1269..1270) + IDENTIFIER: (1269..1270) "e" + ATMOSPHERE: (1270..1271) " " + SYMBOL: (1271..1272) + IDENTIFIER: (1271..1272) "f" + ATMOSPHERE: (1272..1273) " " + SYMBOL: (1273..1274) + IDENTIFIER: (1273..1274) "g" + CLOSE_PAREN: (1274..1275) ")" + CLOSE_PAREN: (1275..1276) ")" + ATMOSPHERE: (1276..1277) " +" + FORM: (1277..1310) + OPEN_PAREN: (1277..1278) "(" + SYMBOL: (1278..1285) + IDENTIFIER: (1278..1285) "display" + ATMOSPHERE: (1285..1286) " " + FORM: (1286..1309) + OPEN_PAREN: (1286..1287) "(" + SYMBOL: (1287..1296) + IDENTIFIER: (1287..1296) "list-tail" + ATMOSPHERE: (1296..1297) " " + SYMBOL: (1297..1306) + IDENTIFIER: (1297..1306) "test-list" + ATMOSPHERE: (1306..1307) " " + CONSTANT: (1307..1308) + NUMBER: (1307..1308) "1" + CLOSE_PAREN: (1308..1309) ")" + CLOSE_PAREN: (1309..1310) ")" + FORM: (1310..1319) + OPEN_PAREN: (1310..1311) "(" + SYMBOL: (1311..1318) + IDENTIFIER: (1311..1318) "newline" + CLOSE_PAREN: (1318..1319) ")" + ATMOSPHERE: (1319..1320) " +" + FORM: (1320..1353) + OPEN_PAREN: (1320..1321) "(" + SYMBOL: (1321..1328) + IDENTIFIER: (1321..1328) "display" + ATMOSPHERE: (1328..1329) " " + FORM: (1329..1352) + OPEN_PAREN: (1329..1330) "(" + SYMBOL: (1330..1339) + IDENTIFIER: (1330..1339) "list-tail" + ATMOSPHERE: (1339..1340) " " + SYMBOL: (1340..1349) + IDENTIFIER: (1340..1349) "test-list" + ATMOSPHERE: (1349..1350) " " + CONSTANT: (1350..1351) + NUMBER: (1350..1351) "0" + CLOSE_PAREN: (1351..1352) ")" + CLOSE_PAREN: (1352..1353) ")" + FORM: (1353..1362) + OPEN_PAREN: (1353..1354) "(" + SYMBOL: (1354..1361) + IDENTIFIER: (1354..1361) "newline" + CLOSE_PAREN: (1361..1362) ")" + ATMOSPHERE: (1362..1363) " +" + FORM: (1363..1396) + OPEN_PAREN: (1363..1364) "(" + SYMBOL: (1364..1371) + IDENTIFIER: (1364..1371) "display" + ATMOSPHERE: (1371..1372) " " + FORM: (1372..1395) + OPEN_PAREN: (1372..1373) "(" + SYMBOL: (1373..1382) + IDENTIFIER: (1373..1382) "list-tail" + ATMOSPHERE: (1382..1383) " " + SYMBOL: (1383..1392) + IDENTIFIER: (1383..1392) "test-list" + ATMOSPHERE: (1392..1393) " " + CONSTANT: (1393..1394) + NUMBER: (1393..1394) "6" + CLOSE_PAREN: (1394..1395) ")" + CLOSE_PAREN: (1395..1396) ")" + FORM: (1396..1405) + OPEN_PAREN: (1396..1397) "(" + SYMBOL: (1397..1404) + IDENTIFIER: (1397..1404) "newline" + CLOSE_PAREN: (1404..1405) ")" + ATMOSPHERE: (1405..1407) " + +" + FORM: (1407..1442) + OPEN_PAREN: (1407..1408) "(" + SYMBOL: (1408..1415) + IDENTIFIER: (1408..1415) "display" + ATMOSPHERE: (1415..1418) " + " + FORM: (1418..1441) + OPEN_PAREN: (1418..1419) "(" + SYMBOL: (1419..1427) + IDENTIFIER: (1419..1427) "list-ref" + ATMOSPHERE: (1427..1428) " " + QUOTED_DATUM: (1428..1439) + QUOTE: (1428..1429) "’" + FORM: (1429..1438) + OPEN_PAREN: (1429..1430) "(" + SYMBOL: (1430..1431) + IDENTIFIER: (1430..1431) "a" + ATMOSPHERE: (1431..1432) " " + SYMBOL: (1432..1433) + IDENTIFIER: (1432..1433) "b" + ATMOSPHERE: (1433..1434) " " + SYMBOL: (1434..1435) + IDENTIFIER: (1434..1435) "c" + ATMOSPHERE: (1435..1436) " " + SYMBOL: (1436..1437) + IDENTIFIER: (1436..1437) "d" + CLOSE_PAREN: (1437..1438) ")" + ATMOSPHERE: (1438..1439) " " + CONSTANT: (1439..1440) + NUMBER: (1439..1440) "2" + CLOSE_PAREN: (1440..1441) ")" + CLOSE_PAREN: (1441..1442) ")" + ATMOSPHERE: (1442..1443) " " + ATMOSPHERE: (1443..1449) "; =⇒ c" + ATMOSPHERE: (1449..1450) " +" + FORM: (1450..1459) + OPEN_PAREN: (1450..1451) "(" + SYMBOL: (1451..1458) + IDENTIFIER: (1451..1458) "newline" + CLOSE_PAREN: (1458..1459) ")" + ATMOSPHERE: (1459..1461) " + +" + FORM: (1461..1568) + OPEN_PAREN: (1461..1462) "(" + SYMBOL: (1462..1469) + IDENTIFIER: (1462..1469) "display" + ATMOSPHERE: (1469..1472) " + " + FORM: (1472..1543) + OPEN_PAREN: (1472..1473) "(" + SYMBOL: (1473..1476) + IDENTIFIER: (1473..1476) "let" + ATMOSPHERE: (1476..1477) " " + FORM: (1477..1507) + OPEN_PAREN: (1477..1478) "(" + FORM: (1478..1506) + OPEN_PAREN: (1478..1479) "(" + SYMBOL: (1479..1481) + IDENTIFIER: (1479..1481) "ls" + ATMOSPHERE: (1481..1482) " " + FORM: (1482..1505) + OPEN_PAREN: (1482..1483) "(" + SYMBOL: (1483..1487) + IDENTIFIER: (1483..1487) "list" + ATMOSPHERE: (1487..1488) " " + QUOTED_DATUM: (1488..1493) + QUOTE: (1488..1489) "’" + SYMBOL: (1489..1492) + IDENTIFIER: (1489..1492) "one" + ATMOSPHERE: (1492..1493) " " + QUOTED_DATUM: (1493..1498) + QUOTE: (1493..1494) "’" + SYMBOL: (1494..1497) + IDENTIFIER: (1494..1497) "two" + ATMOSPHERE: (1497..1498) " " + QUOTED_DATUM: (1498..1504) + QUOTE: (1498..1499) "’" + SYMBOL: (1499..1504) + IDENTIFIER: (1499..1504) "five!" + CLOSE_PAREN: (1504..1505) ")" + CLOSE_PAREN: (1505..1506) ")" + CLOSE_PAREN: (1506..1507) ")" + ATMOSPHERE: (1507..1512) " + " + FORM: (1512..1535) + OPEN_PAREN: (1512..1513) "(" + SYMBOL: (1513..1522) + IDENTIFIER: (1513..1522) "list-set!" + ATMOSPHERE: (1522..1523) " " + SYMBOL: (1523..1525) + IDENTIFIER: (1523..1525) "ls" + ATMOSPHERE: (1525..1526) " " + CONSTANT: (1526..1527) + NUMBER: (1526..1527) "2" + ATMOSPHERE: (1527..1528) " " + QUOTED_DATUM: (1528..1534) + QUOTE: (1528..1529) "’" + SYMBOL: (1529..1534) + IDENTIFIER: (1529..1534) "three" + CLOSE_PAREN: (1534..1535) ")" + ATMOSPHERE: (1535..1540) " + " + SYMBOL: (1540..1542) + IDENTIFIER: (1540..1542) "ls" + CLOSE_PAREN: (1542..1543) ")" + ATMOSPHERE: (1543..1544) " " + ATMOSPHERE: (1544..1564) "; =⇒ (one two three)" + ATMOSPHERE: (1564..1567) " + " + CLOSE_PAREN: (1567..1568) ")" + FORM: (1568..1577) + OPEN_PAREN: (1568..1569) "(" + SYMBOL: (1569..1576) + IDENTIFIER: (1569..1576) "newline" + CLOSE_PAREN: (1576..1577) ")" + ATMOSPHERE: (1577..1579) " + +" + FORM: (1579..1626) + OPEN_PAREN: (1579..1580) "(" + SYMBOL: (1580..1587) + IDENTIFIER: (1580..1587) "display" + ATMOSPHERE: (1587..1588) " " + FORM: (1588..1625) + OPEN_PAREN: (1588..1589) "(" + SYMBOL: (1589..1592) + IDENTIFIER: (1589..1592) "eq?" + ATMOSPHERE: (1592..1593) " " + FORM: (1593..1614) + OPEN_PAREN: (1593..1594) "(" + SYMBOL: (1594..1603) + IDENTIFIER: (1594..1603) "list-copy" + ATMOSPHERE: (1603..1604) " " + SYMBOL: (1604..1613) + IDENTIFIER: (1604..1613) "test-list" + CLOSE_PAREN: (1613..1614) ")" + ATMOSPHERE: (1614..1615) " " + SYMBOL: (1615..1624) + IDENTIFIER: (1615..1624) "test-list" + CLOSE_PAREN: (1624..1625) ")" + CLOSE_PAREN: (1625..1626) ")" + FORM: (1626..1635) + OPEN_PAREN: (1626..1627) "(" + SYMBOL: (1627..1634) + IDENTIFIER: (1627..1634) "newline" + CLOSE_PAREN: (1634..1635) ")" + ATMOSPHERE: (1635..1636) " +" + FORM: (1636..1659) + OPEN_PAREN: (1636..1637) "(" + SYMBOL: (1637..1644) + IDENTIFIER: (1637..1644) "display" + ATMOSPHERE: (1644..1645) " " + FORM: (1645..1658) + OPEN_PAREN: (1645..1646) "(" + SYMBOL: (1646..1655) + IDENTIFIER: (1646..1655) "list-copy" + ATMOSPHERE: (1655..1656) " " + CONSTANT: (1656..1657) + NUMBER: (1656..1657) "2" + CLOSE_PAREN: (1657..1658) ")" + CLOSE_PAREN: (1658..1659) ")" + FORM: (1659..1668) + OPEN_PAREN: (1659..1660) "(" + SYMBOL: (1660..1667) + IDENTIFIER: (1660..1667) "newline" + CLOSE_PAREN: (1667..1668) ")" + ATMOSPHERE: (1668..1671) " + + +" + FORM: (1671..1699) + OPEN_PAREN: (1671..1672) "(" + SYMBOL: (1672..1679) + IDENTIFIER: (1672..1679) "display" + ATMOSPHERE: (1679..1680) " " + FORM: (1680..1698) + OPEN_PAREN: (1680..1681) "(" + SYMBOL: (1681..1685) + IDENTIFIER: (1681..1685) "memq" + ATMOSPHERE: (1685..1686) " " + QUOTED_DATUM: (1686..1689) + QUOTE: (1686..1687) "’" + SYMBOL: (1687..1688) + IDENTIFIER: (1687..1688) "a" + ATMOSPHERE: (1688..1689) " " + QUOTED_DATUM: (1689..1697) + QUOTE: (1689..1690) "’" + FORM: (1690..1697) + OPEN_PAREN: (1690..1691) "(" + SYMBOL: (1691..1692) + IDENTIFIER: (1691..1692) "a" + ATMOSPHERE: (1692..1693) " " + SYMBOL: (1693..1694) + IDENTIFIER: (1693..1694) "b" + ATMOSPHERE: (1694..1695) " " + SYMBOL: (1695..1696) + IDENTIFIER: (1695..1696) "c" + CLOSE_PAREN: (1696..1697) ")" + CLOSE_PAREN: (1697..1698) ")" + CLOSE_PAREN: (1698..1699) ")" + FORM: (1699..1708) + OPEN_PAREN: (1699..1700) "(" + SYMBOL: (1700..1707) + IDENTIFIER: (1700..1707) "newline" + CLOSE_PAREN: (1707..1708) ")" + ATMOSPHERE: (1708..1709) " " + ATMOSPHERE: (1709..1721) "; -> (a b c)" + ATMOSPHERE: (1721..1722) " +" + FORM: (1722..1750) + OPEN_PAREN: (1722..1723) "(" + SYMBOL: (1723..1730) + IDENTIFIER: (1723..1730) "display" + ATMOSPHERE: (1730..1731) " " + FORM: (1731..1749) + OPEN_PAREN: (1731..1732) "(" + SYMBOL: (1732..1736) + IDENTIFIER: (1732..1736) "memq" + ATMOSPHERE: (1736..1737) " " + QUOTED_DATUM: (1737..1740) + QUOTE: (1737..1738) "’" + SYMBOL: (1738..1739) + IDENTIFIER: (1738..1739) "b" + ATMOSPHERE: (1739..1740) " " + QUOTED_DATUM: (1740..1748) + QUOTE: (1740..1741) "’" + FORM: (1741..1748) + OPEN_PAREN: (1741..1742) "(" + SYMBOL: (1742..1743) + IDENTIFIER: (1742..1743) "a" + ATMOSPHERE: (1743..1744) " " + SYMBOL: (1744..1745) + IDENTIFIER: (1744..1745) "b" + ATMOSPHERE: (1745..1746) " " + SYMBOL: (1746..1747) + IDENTIFIER: (1746..1747) "c" + CLOSE_PAREN: (1747..1748) ")" + CLOSE_PAREN: (1748..1749) ")" + CLOSE_PAREN: (1749..1750) ")" + FORM: (1750..1759) + OPEN_PAREN: (1750..1751) "(" + SYMBOL: (1751..1758) + IDENTIFIER: (1751..1758) "newline" + CLOSE_PAREN: (1758..1759) ")" + ATMOSPHERE: (1759..1760) " " + ATMOSPHERE: (1760..1770) "; -> (b c)" + ATMOSPHERE: (1770..1771) " +" + FORM: (1771..1799) + OPEN_PAREN: (1771..1772) "(" + SYMBOL: (1772..1779) + IDENTIFIER: (1772..1779) "display" + ATMOSPHERE: (1779..1780) " " + FORM: (1780..1798) + OPEN_PAREN: (1780..1781) "(" + SYMBOL: (1781..1785) + IDENTIFIER: (1781..1785) "memq" + ATMOSPHERE: (1785..1786) " " + QUOTED_DATUM: (1786..1789) + QUOTE: (1786..1787) "’" + SYMBOL: (1787..1788) + IDENTIFIER: (1787..1788) "a" + ATMOSPHERE: (1788..1789) " " + QUOTED_DATUM: (1789..1797) + QUOTE: (1789..1790) "’" + FORM: (1790..1797) + OPEN_PAREN: (1790..1791) "(" + SYMBOL: (1791..1792) + IDENTIFIER: (1791..1792) "b" + ATMOSPHERE: (1792..1793) " " + SYMBOL: (1793..1794) + IDENTIFIER: (1793..1794) "c" + ATMOSPHERE: (1794..1795) " " + SYMBOL: (1795..1796) + IDENTIFIER: (1795..1796) "d" + CLOSE_PAREN: (1796..1797) ")" + CLOSE_PAREN: (1797..1798) ")" + CLOSE_PAREN: (1798..1799) ")" + FORM: (1799..1808) + OPEN_PAREN: (1799..1800) "(" + SYMBOL: (1800..1807) + IDENTIFIER: (1800..1807) "newline" + CLOSE_PAREN: (1807..1808) ")" + ATMOSPHERE: (1808..1809) " " + ATMOSPHERE: (1809..1816) "; -> #f" + ATMOSPHERE: (1816..1817) " +" + FORM: (1817..1854) + OPEN_PAREN: (1817..1818) "(" + SYMBOL: (1818..1825) + IDENTIFIER: (1818..1825) "display" + ATMOSPHERE: (1825..1826) " " + FORM: (1826..1853) + OPEN_PAREN: (1826..1827) "(" + SYMBOL: (1827..1831) + IDENTIFIER: (1827..1831) "memq" + ATMOSPHERE: (1831..1832) " " + FORM: (1832..1841) + OPEN_PAREN: (1832..1833) "(" + SYMBOL: (1833..1837) + IDENTIFIER: (1833..1837) "list" + ATMOSPHERE: (1837..1838) " " + QUOTED_DATUM: (1838..1840) + QUOTE: (1838..1839) "’" + SYMBOL: (1839..1840) + IDENTIFIER: (1839..1840) "a" + CLOSE_PAREN: (1840..1841) ")" + ATMOSPHERE: (1841..1842) " " + QUOTED_DATUM: (1842..1852) + QUOTE: (1842..1843) "’" + FORM: (1843..1852) + OPEN_PAREN: (1843..1844) "(" + SYMBOL: (1844..1845) + IDENTIFIER: (1844..1845) "b" + ATMOSPHERE: (1845..1846) " " + FORM: (1846..1849) + OPEN_PAREN: (1846..1847) "(" + SYMBOL: (1847..1848) + IDENTIFIER: (1847..1848) "a" + CLOSE_PAREN: (1848..1849) ")" + ATMOSPHERE: (1849..1850) " " + SYMBOL: (1850..1851) + IDENTIFIER: (1850..1851) "c" + CLOSE_PAREN: (1851..1852) ")" + CLOSE_PAREN: (1852..1853) ")" + CLOSE_PAREN: (1853..1854) ")" + FORM: (1854..1863) + OPEN_PAREN: (1854..1855) "(" + SYMBOL: (1855..1862) + IDENTIFIER: (1855..1862) "newline" + CLOSE_PAREN: (1862..1863) ")" + ATMOSPHERE: (1863..1864) " " + ATMOSPHERE: (1864..1871) "; -> #f" + ATMOSPHERE: (1871..1872) " +" + FORM: (1872..1913) + OPEN_PAREN: (1872..1873) "(" + SYMBOL: (1873..1880) + IDENTIFIER: (1873..1880) "display" + ATMOSPHERE: (1880..1881) " " + FORM: (1881..1912) + OPEN_PAREN: (1881..1882) "(" + SYMBOL: (1882..1888) + IDENTIFIER: (1882..1888) "member" + ATMOSPHERE: (1888..1889) " " + FORM: (1889..1898) + OPEN_PAREN: (1889..1890) "(" + SYMBOL: (1890..1894) + IDENTIFIER: (1890..1894) "list" + ATMOSPHERE: (1894..1895) " " + QUOTED_DATUM: (1895..1897) + QUOTE: (1895..1896) "’" + SYMBOL: (1896..1897) + IDENTIFIER: (1896..1897) "a" + CLOSE_PAREN: (1897..1898) ")" + ATMOSPHERE: (1898..1901) " + " + QUOTED_DATUM: (1901..1911) + QUOTE: (1901..1902) "’" + FORM: (1902..1911) + OPEN_PAREN: (1902..1903) "(" + SYMBOL: (1903..1904) + IDENTIFIER: (1903..1904) "b" + ATMOSPHERE: (1904..1905) " " + FORM: (1905..1908) + OPEN_PAREN: (1905..1906) "(" + SYMBOL: (1906..1907) + IDENTIFIER: (1906..1907) "a" + CLOSE_PAREN: (1907..1908) ")" + ATMOSPHERE: (1908..1909) " " + SYMBOL: (1909..1910) + IDENTIFIER: (1909..1910) "c" + CLOSE_PAREN: (1910..1911) ")" + CLOSE_PAREN: (1911..1912) ")" + CLOSE_PAREN: (1912..1913) ")" + FORM: (1913..1922) + OPEN_PAREN: (1913..1914) "(" + SYMBOL: (1914..1921) + IDENTIFIER: (1914..1921) "newline" + CLOSE_PAREN: (1921..1922) ")" + ATMOSPHERE: (1922..1923) " " + ATMOSPHERE: (1923..1935) "; -> ((a) c)" + ATMOSPHERE: (1935..1936) " +" + FORM: (1936..1987) + OPEN_PAREN: (1936..1937) "(" + SYMBOL: (1937..1944) + IDENTIFIER: (1937..1944) "display" + ATMOSPHERE: (1944..1945) " " + FORM: (1945..1986) + OPEN_PAREN: (1945..1946) "(" + SYMBOL: (1946..1952) + IDENTIFIER: (1946..1952) "member" + ATMOSPHERE: (1952..1953) " " + CONSTANT: (1953..1956) + CHARACTER: (1953..1956) "#\B" + ATMOSPHERE: (1956..1959) " + " + QUOTED_DATUM: (1959..1976) + QUOTE: (1959..1960) "’" + FORM: (1960..1973) + OPEN_PAREN: (1960..1961) "(" + CONSTANT: (1961..1964) + CHARACTER: (1961..1964) "#\a" + ATMOSPHERE: (1964..1965) " " + CONSTANT: (1965..1968) + CHARACTER: (1965..1968) "#\b" + ATMOSPHERE: (1968..1969) " " + CONSTANT: (1969..1972) + CHARACTER: (1969..1972) "#\c" + CLOSE_PAREN: (1972..1973) ")" + ATMOSPHERE: (1973..1976) " + " + SYMBOL: (1976..1985) + IDENTIFIER: (1976..1985) "char-ci=?" + CLOSE_PAREN: (1985..1986) ")" + CLOSE_PAREN: (1986..1987) ")" + FORM: (1987..1996) + OPEN_PAREN: (1987..1988) "(" + SYMBOL: (1988..1995) + IDENTIFIER: (1988..1995) "newline" + CLOSE_PAREN: (1995..1996) ")" + ATMOSPHERE: (1996..1997) " " + ATMOSPHERE: (1997..2011) "; -> (#\b #\c)" + ATMOSPHERE: (2011..2012) " +" + FORM: (2012..2047) + OPEN_PAREN: (2012..2013) "(" + SYMBOL: (2013..2020) + IDENTIFIER: (2013..2020) "display" + ATMOSPHERE: (2020..2021) " " + FORM: (2021..2046) + OPEN_PAREN: (2021..2022) "(" + SYMBOL: (2022..2026) + IDENTIFIER: (2022..2026) "memq" + ATMOSPHERE: (2026..2027) " " + CONSTANT: (2027..2030) + NUMBER: (2027..2030) "101" + ATMOSPHERE: (2030..2031) " " + QUOTED_DATUM: (2031..2045) + QUOTE: (2031..2032) "’" + FORM: (2032..2045) + OPEN_PAREN: (2032..2033) "(" + CONSTANT: (2033..2036) + NUMBER: (2033..2036) "100" + ATMOSPHERE: (2036..2037) " " + CONSTANT: (2037..2040) + NUMBER: (2037..2040) "101" + ATMOSPHERE: (2040..2041) " " + CONSTANT: (2041..2044) + NUMBER: (2041..2044) "102" + CLOSE_PAREN: (2044..2045) ")" + CLOSE_PAREN: (2045..2046) ")" + CLOSE_PAREN: (2046..2047) ")" + FORM: (2047..2056) + OPEN_PAREN: (2047..2048) "(" + SYMBOL: (2048..2055) + IDENTIFIER: (2048..2055) "newline" + CLOSE_PAREN: (2055..2056) ")" + ATMOSPHERE: (2056..2057) " " + ATMOSPHERE: (2057..2073) "; -> unspecified" + ATMOSPHERE: (2073..2074) " +" + FORM: (2074..2109) + OPEN_PAREN: (2074..2075) "(" + SYMBOL: (2075..2082) + IDENTIFIER: (2075..2082) "display" + ATMOSPHERE: (2082..2083) " " + FORM: (2083..2108) + OPEN_PAREN: (2083..2084) "(" + SYMBOL: (2084..2088) + IDENTIFIER: (2084..2088) "memv" + ATMOSPHERE: (2088..2089) " " + CONSTANT: (2089..2092) + NUMBER: (2089..2092) "101" + ATMOSPHERE: (2092..2093) " " + QUOTED_DATUM: (2093..2107) + QUOTE: (2093..2094) "’" + FORM: (2094..2107) + OPEN_PAREN: (2094..2095) "(" + CONSTANT: (2095..2098) + NUMBER: (2095..2098) "100" + ATMOSPHERE: (2098..2099) " " + CONSTANT: (2099..2102) + NUMBER: (2099..2102) "101" + ATMOSPHERE: (2102..2103) " " + CONSTANT: (2103..2106) + NUMBER: (2103..2106) "102" + CLOSE_PAREN: (2106..2107) ")" + CLOSE_PAREN: (2107..2108) ")" + CLOSE_PAREN: (2108..2109) ")" + FORM: (2109..2118) + OPEN_PAREN: (2109..2110) "(" + SYMBOL: (2110..2117) + IDENTIFIER: (2110..2117) "newline" + CLOSE_PAREN: (2117..2118) ")" + ATMOSPHERE: (2118..2119) " " + ATMOSPHERE: (2119..2133) "; -> (101 102)" + ATMOSPHERE: (2133..2135) " + +" + FORM: (2135..2166) + OPEN_PAREN: (2135..2136) "(" + SYMBOL: (2136..2142) + IDENTIFIER: (2136..2142) "define" + ATMOSPHERE: (2142..2143) " " + SYMBOL: (2143..2144) + IDENTIFIER: (2143..2144) "e" + ATMOSPHERE: (2144..2145) " " + QUOTED_DATUM: (2145..2165) + QUOTE: (2145..2146) "’" + FORM: (2146..2165) + OPEN_PAREN: (2146..2147) "(" + FORM: (2147..2152) + OPEN_PAREN: (2147..2148) "(" + SYMBOL: (2148..2149) + IDENTIFIER: (2148..2149) "a" + ATMOSPHERE: (2149..2150) " " + CONSTANT: (2150..2151) + NUMBER: (2150..2151) "1" + CLOSE_PAREN: (2151..2152) ")" + ATMOSPHERE: (2152..2153) " " + FORM: (2153..2158) + OPEN_PAREN: (2153..2154) "(" + SYMBOL: (2154..2155) + IDENTIFIER: (2154..2155) "b" + ATMOSPHERE: (2155..2156) " " + CONSTANT: (2156..2157) + NUMBER: (2156..2157) "2" + CLOSE_PAREN: (2157..2158) ")" + ATMOSPHERE: (2158..2159) " " + FORM: (2159..2164) + OPEN_PAREN: (2159..2160) "(" + SYMBOL: (2160..2161) + IDENTIFIER: (2160..2161) "c" + ATMOSPHERE: (2161..2162) " " + CONSTANT: (2162..2163) + NUMBER: (2162..2163) "3" + CLOSE_PAREN: (2163..2164) ")" + CLOSE_PAREN: (2164..2165) ")" + CLOSE_PAREN: (2165..2166) ")" + ATMOSPHERE: (2166..2167) " +" + FORM: (2167..2188) + OPEN_PAREN: (2167..2168) "(" + SYMBOL: (2168..2175) + IDENTIFIER: (2168..2175) "display" + ATMOSPHERE: (2175..2176) " " + FORM: (2176..2187) + OPEN_PAREN: (2176..2177) "(" + SYMBOL: (2177..2181) + IDENTIFIER: (2177..2181) "assq" + ATMOSPHERE: (2181..2182) " " + QUOTED_DATUM: (2182..2185) + QUOTE: (2182..2183) "’" + SYMBOL: (2183..2184) + IDENTIFIER: (2183..2184) "a" + ATMOSPHERE: (2184..2185) " " + SYMBOL: (2185..2186) + IDENTIFIER: (2185..2186) "e" + CLOSE_PAREN: (2186..2187) ")" + CLOSE_PAREN: (2187..2188) ")" + FORM: (2188..2197) + OPEN_PAREN: (2188..2189) "(" + SYMBOL: (2189..2196) + IDENTIFIER: (2189..2196) "newline" + CLOSE_PAREN: (2196..2197) ")" + ATMOSPHERE: (2197..2198) " " + ATMOSPHERE: (2198..2208) "; -> (a 1)" + ATMOSPHERE: (2208..2209) " +" + FORM: (2209..2230) + OPEN_PAREN: (2209..2210) "(" + SYMBOL: (2210..2217) + IDENTIFIER: (2210..2217) "display" + ATMOSPHERE: (2217..2218) " " + FORM: (2218..2229) + OPEN_PAREN: (2218..2219) "(" + SYMBOL: (2219..2223) + IDENTIFIER: (2219..2223) "assq" + ATMOSPHERE: (2223..2224) " " + QUOTED_DATUM: (2224..2227) + QUOTE: (2224..2225) "’" + SYMBOL: (2225..2226) + IDENTIFIER: (2225..2226) "b" + ATMOSPHERE: (2226..2227) " " + SYMBOL: (2227..2228) + IDENTIFIER: (2227..2228) "e" + CLOSE_PAREN: (2228..2229) ")" + CLOSE_PAREN: (2229..2230) ")" + FORM: (2230..2239) + OPEN_PAREN: (2230..2231) "(" + SYMBOL: (2231..2238) + IDENTIFIER: (2231..2238) "newline" + CLOSE_PAREN: (2238..2239) ")" + ATMOSPHERE: (2239..2240) " " + ATMOSPHERE: (2240..2250) "; -> (b 2)" + ATMOSPHERE: (2250..2251) " +" + FORM: (2251..2272) + OPEN_PAREN: (2251..2252) "(" + SYMBOL: (2252..2259) + IDENTIFIER: (2252..2259) "display" + ATMOSPHERE: (2259..2260) " " + FORM: (2260..2271) + OPEN_PAREN: (2260..2261) "(" + SYMBOL: (2261..2265) + IDENTIFIER: (2261..2265) "assq" + ATMOSPHERE: (2265..2266) " " + QUOTED_DATUM: (2266..2269) + QUOTE: (2266..2267) "’" + SYMBOL: (2267..2268) + IDENTIFIER: (2267..2268) "d" + ATMOSPHERE: (2268..2269) " " + SYMBOL: (2269..2270) + IDENTIFIER: (2269..2270) "e" + CLOSE_PAREN: (2270..2271) ")" + CLOSE_PAREN: (2271..2272) ")" + FORM: (2272..2281) + OPEN_PAREN: (2272..2273) "(" + SYMBOL: (2273..2280) + IDENTIFIER: (2273..2280) "newline" + CLOSE_PAREN: (2280..2281) ")" + ATMOSPHERE: (2281..2282) " " + ATMOSPHERE: (2282..2289) "; -> #f" + ATMOSPHERE: (2289..2290) " +" + FORM: (2290..2337) + OPEN_PAREN: (2290..2291) "(" + SYMBOL: (2291..2298) + IDENTIFIER: (2291..2298) "display" + ATMOSPHERE: (2298..2299) " " + FORM: (2299..2336) + OPEN_PAREN: (2299..2300) "(" + SYMBOL: (2300..2304) + IDENTIFIER: (2300..2304) "assq" + ATMOSPHERE: (2304..2305) " " + FORM: (2305..2314) + OPEN_PAREN: (2305..2306) "(" + SYMBOL: (2306..2310) + IDENTIFIER: (2306..2310) "list" + ATMOSPHERE: (2310..2311) " " + QUOTED_DATUM: (2311..2313) + QUOTE: (2311..2312) "’" + SYMBOL: (2312..2313) + IDENTIFIER: (2312..2313) "a" + CLOSE_PAREN: (2313..2314) ")" + ATMOSPHERE: (2314..2315) " " + QUOTED_DATUM: (2315..2335) + QUOTE: (2315..2316) "’" + FORM: (2316..2335) + OPEN_PAREN: (2316..2317) "(" + FORM: (2317..2322) + OPEN_PAREN: (2317..2318) "(" + FORM: (2318..2321) + OPEN_PAREN: (2318..2319) "(" + SYMBOL: (2319..2320) + IDENTIFIER: (2319..2320) "a" + CLOSE_PAREN: (2320..2321) ")" + CLOSE_PAREN: (2321..2322) ")" + ATMOSPHERE: (2322..2323) " " + FORM: (2323..2328) + OPEN_PAREN: (2323..2324) "(" + FORM: (2324..2327) + OPEN_PAREN: (2324..2325) "(" + SYMBOL: (2325..2326) + IDENTIFIER: (2325..2326) "b" + CLOSE_PAREN: (2326..2327) ")" + CLOSE_PAREN: (2327..2328) ")" + ATMOSPHERE: (2328..2329) " " + FORM: (2329..2334) + OPEN_PAREN: (2329..2330) "(" + FORM: (2330..2333) + OPEN_PAREN: (2330..2331) "(" + SYMBOL: (2331..2332) + IDENTIFIER: (2331..2332) "c" + CLOSE_PAREN: (2332..2333) ")" + CLOSE_PAREN: (2333..2334) ")" + CLOSE_PAREN: (2334..2335) ")" + CLOSE_PAREN: (2335..2336) ")" + CLOSE_PAREN: (2336..2337) ")" + FORM: (2337..2346) + OPEN_PAREN: (2337..2338) "(" + SYMBOL: (2338..2345) + IDENTIFIER: (2338..2345) "newline" + CLOSE_PAREN: (2345..2346) ")" + ATMOSPHERE: (2346..2347) " " + ATMOSPHERE: (2347..2354) "; -> #f" + ATMOSPHERE: (2354..2355) " +" + FORM: (2355..2403) + OPEN_PAREN: (2355..2356) "(" + SYMBOL: (2356..2363) + IDENTIFIER: (2356..2363) "display" + ATMOSPHERE: (2363..2364) " " + FORM: (2364..2402) + OPEN_PAREN: (2364..2365) "(" + SYMBOL: (2365..2370) + IDENTIFIER: (2365..2370) "assoc" + ATMOSPHERE: (2370..2371) " " + FORM: (2371..2380) + OPEN_PAREN: (2371..2372) "(" + SYMBOL: (2372..2376) + IDENTIFIER: (2372..2376) "list" + ATMOSPHERE: (2376..2377) " " + QUOTED_DATUM: (2377..2379) + QUOTE: (2377..2378) "’" + SYMBOL: (2378..2379) + IDENTIFIER: (2378..2379) "a" + CLOSE_PAREN: (2379..2380) ")" + ATMOSPHERE: (2380..2381) " " + QUOTED_DATUM: (2381..2401) + QUOTE: (2381..2382) "’" + FORM: (2382..2401) + OPEN_PAREN: (2382..2383) "(" + FORM: (2383..2388) + OPEN_PAREN: (2383..2384) "(" + FORM: (2384..2387) + OPEN_PAREN: (2384..2385) "(" + SYMBOL: (2385..2386) + IDENTIFIER: (2385..2386) "a" + CLOSE_PAREN: (2386..2387) ")" + CLOSE_PAREN: (2387..2388) ")" + ATMOSPHERE: (2388..2389) " " + FORM: (2389..2394) + OPEN_PAREN: (2389..2390) "(" + FORM: (2390..2393) + OPEN_PAREN: (2390..2391) "(" + SYMBOL: (2391..2392) + IDENTIFIER: (2391..2392) "b" + CLOSE_PAREN: (2392..2393) ")" + CLOSE_PAREN: (2393..2394) ")" + ATMOSPHERE: (2394..2395) " " + FORM: (2395..2400) + OPEN_PAREN: (2395..2396) "(" + FORM: (2396..2399) + OPEN_PAREN: (2396..2397) "(" + SYMBOL: (2397..2398) + IDENTIFIER: (2397..2398) "c" + CLOSE_PAREN: (2398..2399) ")" + CLOSE_PAREN: (2399..2400) ")" + CLOSE_PAREN: (2400..2401) ")" + CLOSE_PAREN: (2401..2402) ")" + CLOSE_PAREN: (2402..2403) ")" + FORM: (2403..2412) + OPEN_PAREN: (2403..2404) "(" + SYMBOL: (2404..2411) + IDENTIFIER: (2404..2411) "newline" + CLOSE_PAREN: (2411..2412) ")" + ATMOSPHERE: (2412..2413) " " + ATMOSPHERE: (2413..2423) "; -> ((a))" + ATMOSPHERE: (2423..2424) " +" + FORM: (2424..2468) + OPEN_PAREN: (2424..2425) "(" + SYMBOL: (2425..2432) + IDENTIFIER: (2425..2432) "display" + ATMOSPHERE: (2432..2433) " " + FORM: (2433..2467) + OPEN_PAREN: (2433..2434) "(" + SYMBOL: (2434..2439) + IDENTIFIER: (2434..2439) "assoc" + ATMOSPHERE: (2439..2440) " " + CONSTANT: (2440..2443) + NUMBER: (2440..2443) "2.0" + ATMOSPHERE: (2443..2444) " " + QUOTED_DATUM: (2444..2465) + QUOTE: (2444..2445) "’" + FORM: (2445..2464) + OPEN_PAREN: (2445..2446) "(" + FORM: (2446..2451) + OPEN_PAREN: (2446..2447) "(" + CONSTANT: (2447..2448) + NUMBER: (2447..2448) "1" + ATMOSPHERE: (2448..2449) " " + CONSTANT: (2449..2450) + NUMBER: (2449..2450) "1" + CLOSE_PAREN: (2450..2451) ")" + ATMOSPHERE: (2451..2452) " " + FORM: (2452..2457) + OPEN_PAREN: (2452..2453) "(" + CONSTANT: (2453..2454) + NUMBER: (2453..2454) "2" + ATMOSPHERE: (2454..2455) " " + CONSTANT: (2455..2456) + NUMBER: (2455..2456) "4" + CLOSE_PAREN: (2456..2457) ")" + ATMOSPHERE: (2457..2458) " " + FORM: (2458..2463) + OPEN_PAREN: (2458..2459) "(" + CONSTANT: (2459..2460) + NUMBER: (2459..2460) "3" + ATMOSPHERE: (2460..2461) " " + CONSTANT: (2461..2462) + NUMBER: (2461..2462) "9" + CLOSE_PAREN: (2462..2463) ")" + CLOSE_PAREN: (2463..2464) ")" + ATMOSPHERE: (2464..2465) " " + SYMBOL: (2465..2466) + IDENTIFIER: (2465..2466) "=" + CLOSE_PAREN: (2466..2467) ")" + CLOSE_PAREN: (2467..2468) ")" + FORM: (2468..2477) + OPEN_PAREN: (2468..2469) "(" + SYMBOL: (2469..2476) + IDENTIFIER: (2469..2476) "newline" + CLOSE_PAREN: (2476..2477) ")" + ATMOSPHERE: (2477..2478) " " + ATMOSPHERE: (2478..2488) "; -> (2 4)" + ATMOSPHERE: (2488..2489) " +" + FORM: (2489..2530) + OPEN_PAREN: (2489..2490) "(" + SYMBOL: (2490..2497) + IDENTIFIER: (2490..2497) "display" + ATMOSPHERE: (2497..2498) " " + FORM: (2498..2529) + OPEN_PAREN: (2498..2499) "(" + SYMBOL: (2499..2503) + IDENTIFIER: (2499..2503) "assq" + ATMOSPHERE: (2503..2504) " " + CONSTANT: (2504..2505) + NUMBER: (2504..2505) "5" + ATMOSPHERE: (2505..2506) " " + QUOTED_DATUM: (2506..2528) + QUOTE: (2506..2507) "’" + FORM: (2507..2528) + OPEN_PAREN: (2507..2508) "(" + FORM: (2508..2513) + OPEN_PAREN: (2508..2509) "(" + CONSTANT: (2509..2510) + NUMBER: (2509..2510) "2" + ATMOSPHERE: (2510..2511) " " + CONSTANT: (2511..2512) + NUMBER: (2511..2512) "3" + CLOSE_PAREN: (2512..2513) ")" + ATMOSPHERE: (2513..2514) " " + FORM: (2514..2519) + OPEN_PAREN: (2514..2515) "(" + CONSTANT: (2515..2516) + NUMBER: (2515..2516) "5" + ATMOSPHERE: (2516..2517) " " + CONSTANT: (2517..2518) + NUMBER: (2517..2518) "7" + CLOSE_PAREN: (2518..2519) ")" + ATMOSPHERE: (2519..2520) " " + FORM: (2520..2527) + OPEN_PAREN: (2520..2521) "(" + CONSTANT: (2521..2523) + NUMBER: (2521..2523) "11" + ATMOSPHERE: (2523..2524) " " + CONSTANT: (2524..2526) + NUMBER: (2524..2526) "13" + CLOSE_PAREN: (2526..2527) ")" + CLOSE_PAREN: (2527..2528) ")" + CLOSE_PAREN: (2528..2529) ")" + CLOSE_PAREN: (2529..2530) ")" + FORM: (2530..2539) + OPEN_PAREN: (2530..2531) "(" + SYMBOL: (2531..2538) + IDENTIFIER: (2531..2538) "newline" + CLOSE_PAREN: (2538..2539) ")" + ATMOSPHERE: (2539..2540) " " + ATMOSPHERE: (2540..2556) "; -> unspecified" + ATMOSPHERE: (2556..2557) " +" + FORM: (2557..2598) + OPEN_PAREN: (2557..2558) "(" + SYMBOL: (2558..2565) + IDENTIFIER: (2558..2565) "display" + ATMOSPHERE: (2565..2566) " " + FORM: (2566..2597) + OPEN_PAREN: (2566..2567) "(" + SYMBOL: (2567..2571) + IDENTIFIER: (2567..2571) "assv" + ATMOSPHERE: (2571..2572) " " + CONSTANT: (2572..2573) + NUMBER: (2572..2573) "5" + ATMOSPHERE: (2573..2574) " " + QUOTED_DATUM: (2574..2596) + QUOTE: (2574..2575) "’" + FORM: (2575..2596) + OPEN_PAREN: (2575..2576) "(" + FORM: (2576..2581) + OPEN_PAREN: (2576..2577) "(" + CONSTANT: (2577..2578) + NUMBER: (2577..2578) "2" + ATMOSPHERE: (2578..2579) " " + CONSTANT: (2579..2580) + NUMBER: (2579..2580) "3" + CLOSE_PAREN: (2580..2581) ")" + ATMOSPHERE: (2581..2582) " " + FORM: (2582..2587) + OPEN_PAREN: (2582..2583) "(" + CONSTANT: (2583..2584) + NUMBER: (2583..2584) "5" + ATMOSPHERE: (2584..2585) " " + CONSTANT: (2585..2586) + NUMBER: (2585..2586) "7" + CLOSE_PAREN: (2586..2587) ")" + ATMOSPHERE: (2587..2588) " " + FORM: (2588..2595) + OPEN_PAREN: (2588..2589) "(" + CONSTANT: (2589..2591) + NUMBER: (2589..2591) "11" + ATMOSPHERE: (2591..2592) " " + CONSTANT: (2592..2594) + NUMBER: (2592..2594) "13" + CLOSE_PAREN: (2594..2595) ")" + CLOSE_PAREN: (2595..2596) ")" + CLOSE_PAREN: (2596..2597) ")" + CLOSE_PAREN: (2597..2598) ")" + FORM: (2598..2607) + OPEN_PAREN: (2598..2599) "(" + SYMBOL: (2599..2606) + IDENTIFIER: (2599..2606) "newline" + CLOSE_PAREN: (2606..2607) ")" + ATMOSPHERE: (2607..2608) " " + ATMOSPHERE: (2608..2618) "; -> (5 7)" + ATMOSPHERE: (2618..2619) " +" + EOF: (2619..2619) "" diff --git a/spec/literals.ast b/spec/literals.ast new file mode 100644 index 0000000..73b0817 --- /dev/null +++ b/spec/literals.ast @@ -0,0 +1,20 @@ +PROGRAM: (0..25) + CONSTANT: (0..1) + NUMBER: (0..1) "1" + ATMOSPHERE: (1..2) " +" + CONSTANT: (2..15) + STRING: (2..15) ""hello world"" + ATMOSPHERE: (15..16) " +" + CONSTANT: (16..18) + BOOLEAN: (16..18) "#t" + ATMOSPHERE: (18..19) " +" + CONSTANT: (19..21) + BOOLEAN: (19..21) "#f" + ATMOSPHERE: (21..22) " +" + CONSTANT: (22..25) + NUMBER: (22..25) "123" + EOF: (25..25) "" diff --git a/spec/load_and_store.ast b/spec/load_and_store.ast new file mode 100644 index 0000000..3eed316 --- /dev/null +++ b/spec/load_and_store.ast @@ -0,0 +1,36 @@ +PROGRAM: (0..46) + FORM: (0..16) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "define" + ATMOSPHERE: (7..8) " " + SYMBOL: (8..11) + IDENTIFIER: (8..11) "foo" + ATMOSPHERE: (11..12) " " + CONSTANT: (12..15) + NUMBER: (12..15) "100" + CLOSE_PAREN: (15..16) ")" + ATMOSPHERE: (16..17) " +" + FORM: (17..37) + OPEN_PAREN: (17..18) "(" + SYMBOL: (18..24) + IDENTIFIER: (18..24) "define" + ATMOSPHERE: (24..25) " " + SYMBOL: (25..28) + IDENTIFIER: (25..28) "bar" + ATMOSPHERE: (28..29) " " + CONSTANT: (29..36) + STRING: (29..36) ""hello"" + CLOSE_PAREN: (36..37) ")" + ATMOSPHERE: (37..38) " +" + SYMBOL: (38..41) + IDENTIFIER: (38..41) "foo" + ATMOSPHERE: (41..42) " +" + SYMBOL: (42..45) + IDENTIFIER: (42..45) "bar" + ATMOSPHERE: (45..46) " +" + EOF: (46..46) "" diff --git a/spec/locals.ast b/spec/locals.ast new file mode 100644 index 0000000..b01eea9 --- /dev/null +++ b/spec/locals.ast @@ -0,0 +1,132 @@ +PROGRAM: (0..182) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..161) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..50) + IDENTIFIER: (44..50) "define" + ATMOSPHERE: (50..51) " " + FORM: (51..59) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..56) + IDENTIFIER: (52..56) "fact" + ATMOSPHERE: (56..57) " " + SYMBOL: (57..58) + IDENTIFIER: (57..58) "n" + CLOSE_PAREN: (58..59) ")" + ATMOSPHERE: (59..64) " + " + FORM: (64..160) + OPEN_PAREN: (64..65) "(" + SYMBOL: (65..67) + IDENTIFIER: (65..67) "if" + ATMOSPHERE: (67..68) " " + FORM: (68..75) + OPEN_PAREN: (68..69) "(" + SYMBOL: (69..70) + IDENTIFIER: (69..70) "=" + ATMOSPHERE: (70..71) " " + SYMBOL: (71..72) + IDENTIFIER: (71..72) "n" + ATMOSPHERE: (72..73) " " + CONSTANT: (73..74) + NUMBER: (73..74) "0" + CLOSE_PAREN: (74..75) ")" + ATMOSPHERE: (75..84) " + " + CONSTANT: (84..85) + NUMBER: (84..85) "1" + ATMOSPHERE: (85..94) " + " + FORM: (94..159) + OPEN_PAREN: (94..95) "(" + SYMBOL: (95..100) + IDENTIFIER: (95..100) "begin" + ATMOSPHERE: (100..113) " + " + FORM: (113..131) + OPEN_PAREN: (113..114) "(" + SYMBOL: (114..120) + IDENTIFIER: (114..120) "define" + ATMOSPHERE: (120..121) " " + SYMBOL: (121..122) + IDENTIFIER: (121..122) "m" + ATMOSPHERE: (122..123) " " + FORM: (123..130) + OPEN_PAREN: (123..124) "(" + SYMBOL: (124..125) + IDENTIFIER: (124..125) "-" + ATMOSPHERE: (125..126) " " + SYMBOL: (126..127) + IDENTIFIER: (126..127) "n" + ATMOSPHERE: (127..128) " " + CONSTANT: (128..129) + NUMBER: (128..129) "1" + CLOSE_PAREN: (129..130) ")" + CLOSE_PAREN: (130..131) ")" + ATMOSPHERE: (131..144) " + " + FORM: (144..158) + OPEN_PAREN: (144..145) "(" + SYMBOL: (145..146) + IDENTIFIER: (145..146) "*" + ATMOSPHERE: (146..147) " " + SYMBOL: (147..148) + IDENTIFIER: (147..148) "n" + ATMOSPHERE: (148..149) " " + FORM: (149..157) + OPEN_PAREN: (149..150) "(" + SYMBOL: (150..154) + IDENTIFIER: (150..154) "fact" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..156) + IDENTIFIER: (155..156) "m" + CLOSE_PAREN: (156..157) ")" + CLOSE_PAREN: (157..158) ")" + CLOSE_PAREN: (158..159) ")" + CLOSE_PAREN: (159..160) ")" + CLOSE_PAREN: (160..161) ")" + ATMOSPHERE: (161..163) " + +" + FORM: (163..181) + OPEN_PAREN: (163..164) "(" + SYMBOL: (164..171) + IDENTIFIER: (164..171) "display" + ATMOSPHERE: (171..172) " " + FORM: (172..180) + OPEN_PAREN: (172..173) "(" + SYMBOL: (173..177) + IDENTIFIER: (173..177) "fact" + ATMOSPHERE: (177..178) " " + CONSTANT: (178..179) + NUMBER: (178..179) "5" + CLOSE_PAREN: (179..180) ")" + CLOSE_PAREN: (180..181) ")" + ATMOSPHERE: (181..182) " " + EOF: (182..182) "" diff --git a/spec/norun/forever.ast b/spec/norun/forever.ast new file mode 100644 index 0000000..ecbba7c --- /dev/null +++ b/spec/norun/forever.ast @@ -0,0 +1,64 @@ +PROGRAM: (0..81) + FORM: (0..14) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "define" + ATMOSPHERE: (7..8) " " + SYMBOL: (8..13) + IDENTIFIER: (8..13) "world" + CLOSE_PAREN: (13..14) ")" + ATMOSPHERE: (14..15) " +" + FORM: (15..39) + OPEN_PAREN: (15..16) "(" + SYMBOL: (16..22) + IDENTIFIER: (16..22) "define" + ATMOSPHERE: (22..23) " " + FORM: (23..30) + OPEN_PAREN: (23..24) "(" + SYMBOL: (24..29) + IDENTIFIER: (24..29) "hello" + CLOSE_PAREN: (29..30) ")" + ATMOSPHERE: (30..31) " " + FORM: (31..38) + OPEN_PAREN: (31..32) "(" + SYMBOL: (32..37) + IDENTIFIER: (32..37) "world" + CLOSE_PAREN: (37..38) ")" + CLOSE_PAREN: (38..39) ")" + ATMOSPHERE: (39..40) " +" + FORM: (40..72) + OPEN_PAREN: (40..41) "(" + SYMBOL: (41..45) + IDENTIFIER: (41..45) "set!" + ATMOSPHERE: (45..46) " " + SYMBOL: (46..51) + IDENTIFIER: (46..51) "world" + ATMOSPHERE: (51..52) " " + FORM: (52..71) + OPEN_PAREN: (52..53) "(" + SYMBOL: (53..59) + IDENTIFIER: (53..59) "lambda" + ATMOSPHERE: (59..60) " " + FORM: (60..62) + OPEN_PAREN: (60..61) "(" + CLOSE_PAREN: (61..62) ")" + ATMOSPHERE: (62..63) " " + FORM: (63..70) + OPEN_PAREN: (63..64) "(" + SYMBOL: (64..69) + IDENTIFIER: (64..69) "hello" + CLOSE_PAREN: (69..70) ")" + CLOSE_PAREN: (70..71) ")" + CLOSE_PAREN: (71..72) ")" + ATMOSPHERE: (72..73) " +" + FORM: (73..80) + OPEN_PAREN: (73..74) "(" + SYMBOL: (74..79) + IDENTIFIER: (74..79) "hello" + CLOSE_PAREN: (79..80) ")" + ATMOSPHERE: (80..81) " +" + EOF: (81..81) "" diff --git a/spec/null.ast b/spec/null.ast new file mode 100644 index 0000000..c78ea9a --- /dev/null +++ b/spec/null.ast @@ -0,0 +1,5 @@ +PROGRAM: (0..2) + FORM: (0..2) + OPEN_PAREN: (0..1) "(" + CLOSE_PAREN: (1..2) ")" + EOF: (2..2) "" diff --git a/spec/parameters.ast b/spec/parameters.ast new file mode 100644 index 0000000..33cbc43 --- /dev/null +++ b/spec/parameters.ast @@ -0,0 +1,77 @@ +PROGRAM: (0..97) + FORM: (0..24) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "define" + ATMOSPHERE: (7..8) " " + FORM: (8..17) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..12) + IDENTIFIER: (9..12) "foo" + ATMOSPHERE: (12..13) " " + SYMBOL: (13..14) + IDENTIFIER: (13..14) "a" + ATMOSPHERE: (14..15) " " + SYMBOL: (15..16) + IDENTIFIER: (15..16) "b" + CLOSE_PAREN: (16..17) ")" + ATMOSPHERE: (17..22) " + " + SYMBOL: (22..23) + IDENTIFIER: (22..23) "b" + CLOSE_PAREN: (23..24) ")" + ATMOSPHERE: (24..25) " +" + FORM: (25..51) + OPEN_PAREN: (25..26) "(" + SYMBOL: (26..32) + IDENTIFIER: (26..32) "define" + ATMOSPHERE: (32..33) " " + FORM: (33..44) + OPEN_PAREN: (33..34) "(" + SYMBOL: (34..37) + IDENTIFIER: (34..37) "bar" + ATMOSPHERE: (37..38) " " + SYMBOL: (38..39) + IDENTIFIER: (38..39) "a" + ATMOSPHERE: (39..40) " " + SYMBOL: (40..41) + IDENTIFIER: (40..41) "b" + ATMOSPHERE: (41..42) " " + SYMBOL: (42..43) + IDENTIFIER: (42..43) "c" + CLOSE_PAREN: (43..44) ")" + ATMOSPHERE: (44..49) " + " + SYMBOL: (49..50) + IDENTIFIER: (49..50) "a" + CLOSE_PAREN: (50..51) ")" + ATMOSPHERE: (51..52) " +" + ATMOSPHERE: (52..71) "; should return 101" + ATMOSPHERE: (71..72) " +" + FORM: (72..97) + OPEN_PAREN: (72..73) "(" + SYMBOL: (73..76) + IDENTIFIER: (73..76) "bar" + ATMOSPHERE: (76..77) " " + FORM: (77..90) + OPEN_PAREN: (77..78) "(" + SYMBOL: (78..81) + IDENTIFIER: (78..81) "foo" + ATMOSPHERE: (81..82) " " + CONSTANT: (82..85) + NUMBER: (82..85) "123" + ATMOSPHERE: (85..86) " " + CONSTANT: (86..89) + NUMBER: (86..89) "101" + CLOSE_PAREN: (89..90) ")" + ATMOSPHERE: (90..91) " " + CONSTANT: (91..93) + NUMBER: (91..93) "78" + ATMOSPHERE: (93..94) " " + CONSTANT: (94..96) + NUMBER: (94..96) "90" + CLOSE_PAREN: (96..97) ")" + EOF: (97..97) "" diff --git a/spec/process-context.ast b/spec/process-context.ast new file mode 100644 index 0000000..bb4fd44 --- /dev/null +++ b/spec/process-context.ast @@ -0,0 +1,88 @@ +PROGRAM: (0..199) + FORM: (0..66) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..32) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..31) + IDENTIFIER: (16..31) "process-context" + CLOSE_PAREN: (31..32) ")" + ATMOSPHERE: (32..35) " + " + FORM: (35..48) + OPEN_PAREN: (35..36) "(" + SYMBOL: (36..42) + IDENTIFIER: (36..42) "scheme" + ATMOSPHERE: (42..43) " " + SYMBOL: (43..47) + IDENTIFIER: (43..47) "base" + CLOSE_PAREN: (47..48) ")" + ATMOSPHERE: (48..51) " + " + FORM: (51..65) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..58) + IDENTIFIER: (52..58) "scheme" + ATMOSPHERE: (58..59) " " + SYMBOL: (59..64) + IDENTIFIER: (59..64) "write" + CLOSE_PAREN: (64..65) ")" + CLOSE_PAREN: (65..66) ")" + ATMOSPHERE: (66..68) " + +" + FORM: (68..122) + OPEN_PAREN: (68..69) "(" + SYMBOL: (69..76) + IDENTIFIER: (69..76) "display" + ATMOSPHERE: (76..77) " " + FORM: (77..121) + OPEN_PAREN: (77..78) "(" + SYMBOL: (78..102) + IDENTIFIER: (78..102) "get-environment-variable" + ATMOSPHERE: (102..103) " " + CONSTANT: (103..120) + STRING: (103..120) ""FEERSUM_TESTING"" + CLOSE_PAREN: (120..121) ")" + CLOSE_PAREN: (121..122) ")" + ATMOSPHERE: (122..123) " +" + FORM: (123..186) + OPEN_PAREN: (123..124) "(" + SYMBOL: (124..131) + IDENTIFIER: (124..131) "display" + ATMOSPHERE: (131..132) " " + FORM: (132..185) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..138) + IDENTIFIER: (133..138) "assoc" + ATMOSPHERE: (138..139) " " + CONSTANT: (139..156) + STRING: (139..156) ""FEERSUM_TESTING"" + ATMOSPHERE: (156..157) " " + FORM: (157..184) + OPEN_PAREN: (157..158) "(" + SYMBOL: (158..183) + IDENTIFIER: (158..183) "get-environment-variables" + CLOSE_PAREN: (183..184) ")" + CLOSE_PAREN: (184..185) ")" + CLOSE_PAREN: (185..186) ")" + ATMOSPHERE: (186..188) " + +" + FORM: (188..198) + OPEN_PAREN: (188..189) "(" + SYMBOL: (189..193) + IDENTIFIER: (189..193) "exit" + ATMOSPHERE: (193..194) " " + CONSTANT: (194..197) + NUMBER: (194..197) "123" + CLOSE_PAREN: (197..198) ")" + ATMOSPHERE: (198..199) " +" + EOF: (199..199) "" diff --git a/spec/qsort.ast b/spec/qsort.ast new file mode 100644 index 0000000..b5f06c3 --- /dev/null +++ b/spec/qsort.ast @@ -0,0 +1,848 @@ +PROGRAM: (0..2752) + ATMOSPHERE: (0..26) ";; Sorting library example" + ATMOSPHERE: (26..27) " +" + FORM: (27..2545) + OPEN_PAREN: (27..28) "(" + SYMBOL: (28..42) + IDENTIFIER: (28..42) "define-library" + ATMOSPHERE: (42..43) " " + FORM: (43..49) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..48) + IDENTIFIER: (44..48) "sort" + CLOSE_PAREN: (48..49) ")" + ATMOSPHERE: (49..54) " + " + FORM: (54..258) + OPEN_PAREN: (54..55) "(" + SYMBOL: (55..61) + IDENTIFIER: (55..61) "import" + ATMOSPHERE: (61..62) " " + FORM: (62..75) + OPEN_PAREN: (62..63) "(" + SYMBOL: (63..69) + IDENTIFIER: (63..69) "scheme" + ATMOSPHERE: (69..70) " " + SYMBOL: (70..74) + IDENTIFIER: (70..74) "base" + CLOSE_PAREN: (74..75) ")" + ATMOSPHERE: (75..84) " + " + ATMOSPHERE: (84..151) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" + ATMOSPHERE: (151..160) " + " + ATMOSPHERE: (160..224) ";; exporting or re-exporting macro definitions currently." + ATMOSPHERE: (224..233) " + " + FORM: (233..257) + OPEN_PAREN: (233..234) "(" + SYMBOL: (234..241) + IDENTIFIER: (234..241) "feersum" + ATMOSPHERE: (241..242) " " + SYMBOL: (242..249) + IDENTIFIER: (242..249) "builtin" + ATMOSPHERE: (249..250) " " + SYMBOL: (250..256) + IDENTIFIER: (250..256) "macros" + CLOSE_PAREN: (256..257) ")" + CLOSE_PAREN: (257..258) ")" + ATMOSPHERE: (258..263) " + " + FORM: (263..291) + OPEN_PAREN: (263..264) "(" + SYMBOL: (264..270) + IDENTIFIER: (264..270) "export" + ATMOSPHERE: (270..271) " " + FORM: (271..290) + OPEN_PAREN: (271..272) "(" + SYMBOL: (272..278) + IDENTIFIER: (272..278) "rename" + ATMOSPHERE: (278..279) " " + SYMBOL: (279..284) + IDENTIFIER: (279..284) "qsort" + ATMOSPHERE: (284..285) " " + SYMBOL: (285..289) + IDENTIFIER: (285..289) "sort" + CLOSE_PAREN: (289..290) ")" + CLOSE_PAREN: (290..291) ")" + ATMOSPHERE: (291..296) " + " + FORM: (296..2544) + OPEN_PAREN: (296..297) "(" + SYMBOL: (297..302) + IDENTIFIER: (297..302) "begin" + ATMOSPHERE: (302..311) " + " + ATMOSPHERE: (311..332) ";; Partition Utitlity" + ATMOSPHERE: (332..341) " + " + ATMOSPHERE: (341..342) ";" + ATMOSPHERE: (342..351) " + " + ATMOSPHERE: (351..422) "; This function takes a given `lst` and partitions it around a `pivot`." + ATMOSPHERE: (422..431) " + " + ATMOSPHERE: (431..503) "; The result is a list who's `car` is a list containing the numbers less" + ATMOSPHERE: (503..512) " + " + ATMOSPHERE: (512..583) "; than the pivot, and `cdr` is a list containing those greater than the" + ATMOSPHERE: (583..592) " + " + ATMOSPHERE: (592..600) "; pivot." + ATMOSPHERE: (600..609) " + " + FORM: (609..1024) + OPEN_PAREN: (609..610) "(" + SYMBOL: (610..616) + IDENTIFIER: (610..616) "define" + ATMOSPHERE: (616..617) " " + FORM: (617..638) + OPEN_PAREN: (617..618) "(" + SYMBOL: (618..627) + IDENTIFIER: (618..627) "partition" + ATMOSPHERE: (627..628) " " + SYMBOL: (628..633) + IDENTIFIER: (628..633) "pivot" + ATMOSPHERE: (633..634) " " + SYMBOL: (634..637) + IDENTIFIER: (634..637) "lst" + CLOSE_PAREN: (637..638) ")" + ATMOSPHERE: (638..651) " + " + FORM: (651..1023) + OPEN_PAREN: (651..652) "(" + SYMBOL: (652..654) + IDENTIFIER: (652..654) "if" + ATMOSPHERE: (654..655) " " + FORM: (655..666) + OPEN_PAREN: (655..656) "(" + SYMBOL: (656..661) + IDENTIFIER: (656..661) "null?" + ATMOSPHERE: (661..662) " " + SYMBOL: (662..665) + IDENTIFIER: (662..665) "lst" + CLOSE_PAREN: (665..666) ")" + ATMOSPHERE: (666..683) " + " + QUOTED_DATUM: (683..705) + QUOTE: (683..684) "'" + FORM: (684..688) + OPEN_PAREN: (684..685) "(" + FORM: (685..687) + OPEN_PAREN: (685..686) "(" + CLOSE_PAREN: (686..687) ")" + CLOSE_PAREN: (687..688) ")" + ATMOSPHERE: (688..705) " + " + FORM: (705..1022) + OPEN_PAREN: (705..706) "(" + SYMBOL: (706..709) + IDENTIFIER: (706..709) "let" + ATMOSPHERE: (709..710) " " + FORM: (710..786) + OPEN_PAREN: (710..711) "(" + FORM: (711..730) + OPEN_PAREN: (711..712) "(" + SYMBOL: (712..719) + IDENTIFIER: (712..719) "current" + ATMOSPHERE: (719..720) " " + FORM: (720..729) + OPEN_PAREN: (720..721) "(" + SYMBOL: (721..724) + IDENTIFIER: (721..724) "car" + ATMOSPHERE: (724..725) " " + SYMBOL: (725..728) + IDENTIFIER: (725..728) "lst" + CLOSE_PAREN: (728..729) ")" + CLOSE_PAREN: (729..730) ")" + ATMOSPHERE: (730..751) " + " + FORM: (751..785) + OPEN_PAREN: (751..752) "(" + SYMBOL: (752..756) + IDENTIFIER: (752..756) "rest" + ATMOSPHERE: (756..757) " " + FORM: (757..784) + OPEN_PAREN: (757..758) "(" + SYMBOL: (758..767) + IDENTIFIER: (758..767) "partition" + ATMOSPHERE: (767..768) " " + SYMBOL: (768..773) + IDENTIFIER: (768..773) "pivot" + ATMOSPHERE: (773..774) " " + FORM: (774..783) + OPEN_PAREN: (774..775) "(" + SYMBOL: (775..778) + IDENTIFIER: (775..778) "cdr" + ATMOSPHERE: (778..779) " " + SYMBOL: (779..782) + IDENTIFIER: (779..782) "lst" + CLOSE_PAREN: (782..783) ")" + CLOSE_PAREN: (783..784) ")" + CLOSE_PAREN: (784..785) ")" + CLOSE_PAREN: (785..786) ")" + ATMOSPHERE: (786..807) " + " + FORM: (807..1021) + OPEN_PAREN: (807..808) "(" + SYMBOL: (808..810) + IDENTIFIER: (808..810) "if" + ATMOSPHERE: (810..811) " " + FORM: (811..828) + OPEN_PAREN: (811..812) "(" + SYMBOL: (812..813) + IDENTIFIER: (812..813) "<" + ATMOSPHERE: (813..814) " " + SYMBOL: (814..821) + IDENTIFIER: (814..821) "current" + ATMOSPHERE: (821..822) " " + SYMBOL: (822..827) + IDENTIFIER: (822..827) "pivot" + CLOSE_PAREN: (827..828) ")" + ATMOSPHERE: (828..853) " + " + FORM: (853..924) + OPEN_PAREN: (853..854) "(" + SYMBOL: (854..858) + IDENTIFIER: (854..858) "cons" + ATMOSPHERE: (858..859) " " + FORM: (859..884) + OPEN_PAREN: (859..860) "(" + SYMBOL: (860..864) + IDENTIFIER: (860..864) "cons" + ATMOSPHERE: (864..865) " " + SYMBOL: (865..872) + IDENTIFIER: (865..872) "current" + ATMOSPHERE: (872..873) " " + FORM: (873..883) + OPEN_PAREN: (873..874) "(" + SYMBOL: (874..877) + IDENTIFIER: (874..877) "car" + ATMOSPHERE: (877..878) " " + SYMBOL: (878..882) + IDENTIFIER: (878..882) "rest" + CLOSE_PAREN: (882..883) ")" + CLOSE_PAREN: (883..884) ")" + ATMOSPHERE: (884..913) " + " + FORM: (913..923) + OPEN_PAREN: (913..914) "(" + SYMBOL: (914..917) + IDENTIFIER: (914..917) "cdr" + ATMOSPHERE: (917..918) " " + SYMBOL: (918..922) + IDENTIFIER: (918..922) "rest" + CLOSE_PAREN: (922..923) ")" + CLOSE_PAREN: (923..924) ")" + ATMOSPHERE: (924..949) " + " + FORM: (949..1020) + OPEN_PAREN: (949..950) "(" + SYMBOL: (950..954) + IDENTIFIER: (950..954) "cons" + ATMOSPHERE: (954..955) " " + FORM: (955..965) + OPEN_PAREN: (955..956) "(" + SYMBOL: (956..959) + IDENTIFIER: (956..959) "car" + ATMOSPHERE: (959..960) " " + SYMBOL: (960..964) + IDENTIFIER: (960..964) "rest" + CLOSE_PAREN: (964..965) ")" + ATMOSPHERE: (965..994) " + " + FORM: (994..1019) + OPEN_PAREN: (994..995) "(" + SYMBOL: (995..999) + IDENTIFIER: (995..999) "cons" + ATMOSPHERE: (999..1000) " " + SYMBOL: (1000..1007) + IDENTIFIER: (1000..1007) "current" + ATMOSPHERE: (1007..1008) " " + FORM: (1008..1018) + OPEN_PAREN: (1008..1009) "(" + SYMBOL: (1009..1012) + IDENTIFIER: (1009..1012) "cdr" + ATMOSPHERE: (1012..1013) " " + SYMBOL: (1013..1017) + IDENTIFIER: (1013..1017) "rest" + CLOSE_PAREN: (1017..1018) ")" + CLOSE_PAREN: (1018..1019) ")" + CLOSE_PAREN: (1019..1020) ")" + CLOSE_PAREN: (1020..1021) ")" + CLOSE_PAREN: (1021..1022) ")" + CLOSE_PAREN: (1022..1023) ")" + CLOSE_PAREN: (1023..1024) ")" + ATMOSPHERE: (1024..1034) " + + " + ATMOSPHERE: (1034..1079) ";; Append the `right` list to the `left` one." + ATMOSPHERE: (1079..1088) " + " + ATMOSPHERE: (1088..1089) ";" + ATMOSPHERE: (1089..1098) " + " + ATMOSPHERE: (1098..1170) "; This function uses two helpers to tail-recursively reconstruct a list." + ATMOSPHERE: (1170..1179) " + " + ATMOSPHERE: (1179..1247) "; The `append-helper` first recurses moving elements from the `left`" + ATMOSPHERE: (1247..1256) " + " + ATMOSPHERE: (1256..1327) "; list into the accumuulator. Once the left list is empty the base case" + ATMOSPHERE: (1327..1336) " + " + ATMOSPHERE: (1336..1398) "; uses `rebuild` to tail-recursively construct the final list." + ATMOSPHERE: (1398..1407) " + " + FORM: (1407..1890) + OPEN_PAREN: (1407..1408) "(" + SYMBOL: (1408..1414) + IDENTIFIER: (1408..1414) "define" + ATMOSPHERE: (1414..1415) " " + FORM: (1415..1434) + OPEN_PAREN: (1415..1416) "(" + SYMBOL: (1416..1422) + IDENTIFIER: (1416..1422) "append" + ATMOSPHERE: (1422..1423) " " + SYMBOL: (1423..1427) + IDENTIFIER: (1423..1427) "left" + ATMOSPHERE: (1427..1428) " " + SYMBOL: (1428..1433) + IDENTIFIER: (1428..1433) "right" + CLOSE_PAREN: (1433..1434) ")" + ATMOSPHERE: (1434..1447) " + " + FORM: (1447..1597) + OPEN_PAREN: (1447..1448) "(" + SYMBOL: (1448..1454) + IDENTIFIER: (1448..1454) "define" + ATMOSPHERE: (1454..1455) " " + FORM: (1455..1474) + OPEN_PAREN: (1455..1456) "(" + SYMBOL: (1456..1463) + IDENTIFIER: (1456..1463) "rebuild" + ATMOSPHERE: (1463..1464) " " + SYMBOL: (1464..1467) + IDENTIFIER: (1464..1467) "acc" + ATMOSPHERE: (1467..1468) " " + SYMBOL: (1468..1473) + IDENTIFIER: (1468..1473) "right" + CLOSE_PAREN: (1473..1474) ")" + ATMOSPHERE: (1474..1491) " + " + FORM: (1491..1596) + OPEN_PAREN: (1491..1492) "(" + SYMBOL: (1492..1494) + IDENTIFIER: (1492..1494) "if" + ATMOSPHERE: (1494..1495) " " + FORM: (1495..1506) + OPEN_PAREN: (1495..1496) "(" + SYMBOL: (1496..1501) + IDENTIFIER: (1496..1501) "null?" + ATMOSPHERE: (1501..1502) " " + SYMBOL: (1502..1505) + IDENTIFIER: (1502..1505) "acc" + CLOSE_PAREN: (1505..1506) ")" + ATMOSPHERE: (1506..1527) " + " + SYMBOL: (1527..1532) + IDENTIFIER: (1527..1532) "right" + ATMOSPHERE: (1532..1553) " + " + FORM: (1553..1595) + OPEN_PAREN: (1553..1554) "(" + SYMBOL: (1554..1561) + IDENTIFIER: (1554..1561) "rebuild" + ATMOSPHERE: (1561..1562) " " + FORM: (1562..1571) + OPEN_PAREN: (1562..1563) "(" + SYMBOL: (1563..1566) + IDENTIFIER: (1563..1566) "cdr" + ATMOSPHERE: (1566..1567) " " + SYMBOL: (1567..1570) + IDENTIFIER: (1567..1570) "acc" + CLOSE_PAREN: (1570..1571) ")" + ATMOSPHERE: (1571..1572) " " + FORM: (1572..1594) + OPEN_PAREN: (1572..1573) "(" + SYMBOL: (1573..1577) + IDENTIFIER: (1573..1577) "cons" + ATMOSPHERE: (1577..1578) " " + FORM: (1578..1587) + OPEN_PAREN: (1578..1579) "(" + SYMBOL: (1579..1582) + IDENTIFIER: (1579..1582) "car" + ATMOSPHERE: (1582..1583) " " + SYMBOL: (1583..1586) + IDENTIFIER: (1583..1586) "acc" + CLOSE_PAREN: (1586..1587) ")" + ATMOSPHERE: (1587..1588) " " + SYMBOL: (1588..1593) + IDENTIFIER: (1588..1593) "right" + CLOSE_PAREN: (1593..1594) ")" + CLOSE_PAREN: (1594..1595) ")" + CLOSE_PAREN: (1595..1596) ")" + CLOSE_PAREN: (1596..1597) ")" + ATMOSPHERE: (1597..1610) " + " + FORM: (1610..1846) + OPEN_PAREN: (1610..1611) "(" + SYMBOL: (1611..1617) + IDENTIFIER: (1611..1617) "define" + ATMOSPHERE: (1617..1618) " " + FORM: (1618..1648) + OPEN_PAREN: (1618..1619) "(" + SYMBOL: (1619..1632) + IDENTIFIER: (1619..1632) "append-helper" + ATMOSPHERE: (1632..1633) " " + SYMBOL: (1633..1636) + IDENTIFIER: (1633..1636) "acc" + ATMOSPHERE: (1636..1637) " " + SYMBOL: (1637..1641) + IDENTIFIER: (1637..1641) "left" + ATMOSPHERE: (1641..1642) " " + SYMBOL: (1642..1647) + IDENTIFIER: (1642..1647) "right" + CLOSE_PAREN: (1647..1648) ")" + ATMOSPHERE: (1648..1665) " + " + FORM: (1665..1845) + OPEN_PAREN: (1665..1666) "(" + SYMBOL: (1666..1668) + IDENTIFIER: (1666..1668) "if" + ATMOSPHERE: (1668..1669) " " + FORM: (1669..1681) + OPEN_PAREN: (1669..1670) "(" + SYMBOL: (1670..1675) + IDENTIFIER: (1670..1675) "null?" + ATMOSPHERE: (1675..1676) " " + SYMBOL: (1676..1680) + IDENTIFIER: (1676..1680) "left" + CLOSE_PAREN: (1680..1681) ")" + ATMOSPHERE: (1681..1702) " + " + FORM: (1702..1721) + OPEN_PAREN: (1702..1703) "(" + SYMBOL: (1703..1710) + IDENTIFIER: (1703..1710) "rebuild" + ATMOSPHERE: (1710..1711) " " + SYMBOL: (1711..1714) + IDENTIFIER: (1711..1714) "acc" + ATMOSPHERE: (1714..1715) " " + SYMBOL: (1715..1720) + IDENTIFIER: (1715..1720) "right" + CLOSE_PAREN: (1720..1721) ")" + ATMOSPHERE: (1721..1742) " + " + FORM: (1742..1844) + OPEN_PAREN: (1742..1743) "(" + SYMBOL: (1743..1756) + IDENTIFIER: (1743..1756) "append-helper" + ATMOSPHERE: (1756..1757) " " + FORM: (1757..1778) + OPEN_PAREN: (1757..1758) "(" + SYMBOL: (1758..1762) + IDENTIFIER: (1758..1762) "cons" + ATMOSPHERE: (1762..1763) " " + FORM: (1763..1773) + OPEN_PAREN: (1763..1764) "(" + SYMBOL: (1764..1767) + IDENTIFIER: (1764..1767) "car" + ATMOSPHERE: (1767..1768) " " + SYMBOL: (1768..1772) + IDENTIFIER: (1768..1772) "left" + CLOSE_PAREN: (1772..1773) ")" + ATMOSPHERE: (1773..1774) " " + SYMBOL: (1774..1777) + IDENTIFIER: (1774..1777) "acc" + CLOSE_PAREN: (1777..1778) ")" + ATMOSPHERE: (1778..1803) " + " + FORM: (1803..1813) + OPEN_PAREN: (1803..1804) "(" + SYMBOL: (1804..1807) + IDENTIFIER: (1804..1807) "cdr" + ATMOSPHERE: (1807..1808) " " + SYMBOL: (1808..1812) + IDENTIFIER: (1808..1812) "left" + CLOSE_PAREN: (1812..1813) ")" + ATMOSPHERE: (1813..1838) " + " + SYMBOL: (1838..1843) + IDENTIFIER: (1838..1843) "right" + CLOSE_PAREN: (1843..1844) ")" + CLOSE_PAREN: (1844..1845) ")" + CLOSE_PAREN: (1845..1846) ")" + ATMOSPHERE: (1846..1859) " + " + FORM: (1859..1889) + OPEN_PAREN: (1859..1860) "(" + SYMBOL: (1860..1873) + IDENTIFIER: (1860..1873) "append-helper" + ATMOSPHERE: (1873..1874) " " + QUOTED_DATUM: (1874..1878) + QUOTE: (1874..1875) "'" + FORM: (1875..1877) + OPEN_PAREN: (1875..1876) "(" + CLOSE_PAREN: (1876..1877) ")" + ATMOSPHERE: (1877..1878) " " + SYMBOL: (1878..1882) + IDENTIFIER: (1878..1882) "left" + ATMOSPHERE: (1882..1883) " " + SYMBOL: (1883..1888) + IDENTIFIER: (1883..1888) "right" + CLOSE_PAREN: (1888..1889) ")" + CLOSE_PAREN: (1889..1890) ")" + ATMOSPHERE: (1890..1900) " + + " + ATMOSPHERE: (1900..1938) ";; Recursive quicksort implementation." + ATMOSPHERE: (1938..1947) " + " + ATMOSPHERE: (1947..1948) ";" + ATMOSPHERE: (1948..1957) " + " + ATMOSPHERE: (1957..2026) "; Takes a list of numbers and returns a sorted list. Trivially sorted" + ATMOSPHERE: (2026..2035) " + " + ATMOSPHERE: (2035..2106) "; lists are immediately returned. Complex lists are split using a token" + ATMOSPHERE: (2106..2115) " + " + ATMOSPHERE: (2115..2177) "; pivot and the high and low sub-lists are individually sorted" + ATMOSPHERE: (2177..2186) " + " + ATMOSPHERE: (2186..2200) "; recurisvely." + ATMOSPHERE: (2200..2209) " + " + FORM: (2209..2534) + OPEN_PAREN: (2209..2210) "(" + SYMBOL: (2210..2216) + IDENTIFIER: (2210..2216) "define" + ATMOSPHERE: (2216..2217) " " + FORM: (2217..2229) + OPEN_PAREN: (2217..2218) "(" + SYMBOL: (2218..2223) + IDENTIFIER: (2218..2223) "qsort" + ATMOSPHERE: (2223..2224) " " + SYMBOL: (2224..2228) + IDENTIFIER: (2224..2228) "nums" + CLOSE_PAREN: (2228..2229) ")" + ATMOSPHERE: (2229..2242) " + " + FORM: (2242..2533) + OPEN_PAREN: (2242..2243) "(" + SYMBOL: (2243..2245) + IDENTIFIER: (2243..2245) "if" + ATMOSPHERE: (2245..2246) " " + FORM: (2246..2282) + OPEN_PAREN: (2246..2247) "(" + SYMBOL: (2247..2249) + IDENTIFIER: (2247..2249) "or" + ATMOSPHERE: (2249..2250) " " + FORM: (2250..2262) + OPEN_PAREN: (2250..2251) "(" + SYMBOL: (2251..2256) + IDENTIFIER: (2251..2256) "null?" + ATMOSPHERE: (2256..2257) " " + SYMBOL: (2257..2261) + IDENTIFIER: (2257..2261) "nums" + CLOSE_PAREN: (2261..2262) ")" + ATMOSPHERE: (2262..2263) " " + FORM: (2263..2281) + OPEN_PAREN: (2263..2264) "(" + SYMBOL: (2264..2269) + IDENTIFIER: (2264..2269) "null?" + ATMOSPHERE: (2269..2270) " " + FORM: (2270..2280) + OPEN_PAREN: (2270..2271) "(" + SYMBOL: (2271..2274) + IDENTIFIER: (2271..2274) "cdr" + ATMOSPHERE: (2274..2275) " " + SYMBOL: (2275..2279) + IDENTIFIER: (2275..2279) "nums" + CLOSE_PAREN: (2279..2280) ")" + CLOSE_PAREN: (2280..2281) ")" + CLOSE_PAREN: (2281..2282) ")" + ATMOSPHERE: (2282..2299) " + " + SYMBOL: (2299..2303) + IDENTIFIER: (2299..2303) "nums" + ATMOSPHERE: (2303..2320) " + " + FORM: (2320..2532) + OPEN_PAREN: (2320..2321) "(" + SYMBOL: (2321..2325) + IDENTIFIER: (2321..2325) "let*" + ATMOSPHERE: (2325..2326) " " + FORM: (2326..2413) + OPEN_PAREN: (2326..2327) "(" + FORM: (2327..2345) + OPEN_PAREN: (2327..2328) "(" + SYMBOL: (2328..2333) + IDENTIFIER: (2328..2333) "pivot" + ATMOSPHERE: (2333..2334) " " + FORM: (2334..2344) + OPEN_PAREN: (2334..2335) "(" + SYMBOL: (2335..2338) + IDENTIFIER: (2335..2338) "car" + ATMOSPHERE: (2338..2339) " " + SYMBOL: (2339..2343) + IDENTIFIER: (2339..2343) "nums" + CLOSE_PAREN: (2343..2344) ")" + CLOSE_PAREN: (2344..2345) ")" + ATMOSPHERE: (2345..2370) " + " + FORM: (2370..2412) + OPEN_PAREN: (2370..2371) "(" + SYMBOL: (2371..2382) + IDENTIFIER: (2371..2382) "partitioned" + ATMOSPHERE: (2382..2383) " " + FORM: (2383..2411) + OPEN_PAREN: (2383..2384) "(" + SYMBOL: (2384..2393) + IDENTIFIER: (2384..2393) "partition" + ATMOSPHERE: (2393..2394) " " + SYMBOL: (2394..2399) + IDENTIFIER: (2394..2399) "pivot" + ATMOSPHERE: (2399..2400) " " + FORM: (2400..2410) + OPEN_PAREN: (2400..2401) "(" + SYMBOL: (2401..2404) + IDENTIFIER: (2401..2404) "cdr" + ATMOSPHERE: (2404..2405) " " + SYMBOL: (2405..2409) + IDENTIFIER: (2405..2409) "nums" + CLOSE_PAREN: (2409..2410) ")" + CLOSE_PAREN: (2410..2411) ")" + CLOSE_PAREN: (2411..2412) ")" + CLOSE_PAREN: (2412..2413) ")" + ATMOSPHERE: (2413..2434) " + " + FORM: (2434..2531) + OPEN_PAREN: (2434..2435) "(" + SYMBOL: (2435..2441) + IDENTIFIER: (2435..2441) "append" + ATMOSPHERE: (2441..2442) " " + FORM: (2442..2467) + OPEN_PAREN: (2442..2443) "(" + SYMBOL: (2443..2448) + IDENTIFIER: (2443..2448) "qsort" + ATMOSPHERE: (2448..2449) " " + FORM: (2449..2466) + OPEN_PAREN: (2449..2450) "(" + SYMBOL: (2450..2453) + IDENTIFIER: (2450..2453) "car" + ATMOSPHERE: (2453..2454) " " + SYMBOL: (2454..2465) + IDENTIFIER: (2454..2465) "partitioned" + CLOSE_PAREN: (2465..2466) ")" + CLOSE_PAREN: (2466..2467) ")" + ATMOSPHERE: (2467..2492) " + " + FORM: (2492..2530) + OPEN_PAREN: (2492..2493) "(" + SYMBOL: (2493..2497) + IDENTIFIER: (2493..2497) "cons" + ATMOSPHERE: (2497..2498) " " + SYMBOL: (2498..2503) + IDENTIFIER: (2498..2503) "pivot" + ATMOSPHERE: (2503..2504) " " + FORM: (2504..2529) + OPEN_PAREN: (2504..2505) "(" + SYMBOL: (2505..2510) + IDENTIFIER: (2505..2510) "qsort" + ATMOSPHERE: (2510..2511) " " + FORM: (2511..2528) + OPEN_PAREN: (2511..2512) "(" + SYMBOL: (2512..2515) + IDENTIFIER: (2512..2515) "cdr" + ATMOSPHERE: (2515..2516) " " + SYMBOL: (2516..2527) + IDENTIFIER: (2516..2527) "partitioned" + CLOSE_PAREN: (2527..2528) ")" + CLOSE_PAREN: (2528..2529) ")" + CLOSE_PAREN: (2529..2530) ")" + CLOSE_PAREN: (2530..2531) ")" + CLOSE_PAREN: (2531..2532) ")" + CLOSE_PAREN: (2532..2533) ")" + CLOSE_PAREN: (2533..2534) ")" + ATMOSPHERE: (2534..2543) " + " + CLOSE_PAREN: (2543..2544) ")" + CLOSE_PAREN: (2544..2545) ")" + ATMOSPHERE: (2545..2547) " + +" + FORM: (2547..2629) + OPEN_PAREN: (2547..2548) "(" + SYMBOL: (2548..2554) + IDENTIFIER: (2548..2554) "import" + ATMOSPHERE: (2554..2559) " + " + FORM: (2559..2572) + OPEN_PAREN: (2559..2560) "(" + SYMBOL: (2560..2566) + IDENTIFIER: (2560..2566) "scheme" + ATMOSPHERE: (2566..2567) " " + SYMBOL: (2567..2571) + IDENTIFIER: (2567..2571) "base" + CLOSE_PAREN: (2571..2572) ")" + ATMOSPHERE: (2572..2577) " + " + FORM: (2577..2591) + OPEN_PAREN: (2577..2578) "(" + SYMBOL: (2578..2584) + IDENTIFIER: (2578..2584) "scheme" + ATMOSPHERE: (2584..2585) " " + SYMBOL: (2585..2590) + IDENTIFIER: (2585..2590) "write" + CLOSE_PAREN: (2590..2591) ")" + ATMOSPHERE: (2591..2596) " + " + FORM: (2596..2628) + OPEN_PAREN: (2596..2597) "(" + SYMBOL: (2597..2603) + IDENTIFIER: (2597..2603) "rename" + ATMOSPHERE: (2603..2604) " " + FORM: (2604..2610) + OPEN_PAREN: (2604..2605) "(" + SYMBOL: (2605..2609) + IDENTIFIER: (2605..2609) "sort" + CLOSE_PAREN: (2609..2610) ")" + ATMOSPHERE: (2610..2611) " " + FORM: (2611..2627) + OPEN_PAREN: (2611..2612) "(" + SYMBOL: (2612..2616) + IDENTIFIER: (2612..2616) "sort" + ATMOSPHERE: (2616..2617) " " + SYMBOL: (2617..2626) + IDENTIFIER: (2617..2626) "quicksort" + CLOSE_PAREN: (2626..2627) ")" + CLOSE_PAREN: (2627..2628) ")" + CLOSE_PAREN: (2628..2629) ")" + ATMOSPHERE: (2629..2631) " + +" + FORM: (2631..2668) + OPEN_PAREN: (2631..2632) "(" + SYMBOL: (2632..2639) + IDENTIFIER: (2632..2639) "display" + ATMOSPHERE: (2639..2640) " " + FORM: (2640..2667) + OPEN_PAREN: (2640..2641) "(" + SYMBOL: (2641..2650) + IDENTIFIER: (2641..2650) "quicksort" + ATMOSPHERE: (2650..2651) " " + QUOTED_DATUM: (2651..2666) + QUOTE: (2651..2652) "'" + FORM: (2652..2666) + OPEN_PAREN: (2652..2653) "(" + CONSTANT: (2653..2655) + NUMBER: (2653..2655) "79" + ATMOSPHERE: (2655..2656) " " + CONSTANT: (2656..2658) + NUMBER: (2656..2658) "23" + ATMOSPHERE: (2658..2659) " " + CONSTANT: (2659..2661) + NUMBER: (2659..2661) "45" + ATMOSPHERE: (2661..2662) " " + CONSTANT: (2662..2663) + NUMBER: (2662..2663) "6" + ATMOSPHERE: (2663..2664) " " + CONSTANT: (2664..2665) + NUMBER: (2664..2665) "9" + CLOSE_PAREN: (2665..2666) ")" + CLOSE_PAREN: (2666..2667) ")" + CLOSE_PAREN: (2667..2668) ")" + FORM: (2668..2677) + OPEN_PAREN: (2668..2669) "(" + SYMBOL: (2669..2676) + IDENTIFIER: (2669..2676) "newline" + CLOSE_PAREN: (2676..2677) ")" + ATMOSPHERE: (2677..2678) " +" + FORM: (2678..2742) + OPEN_PAREN: (2678..2679) "(" + SYMBOL: (2679..2686) + IDENTIFIER: (2679..2686) "display" + ATMOSPHERE: (2686..2687) " " + FORM: (2687..2741) + OPEN_PAREN: (2687..2688) "(" + SYMBOL: (2688..2697) + IDENTIFIER: (2688..2697) "quicksort" + ATMOSPHERE: (2697..2698) " " + QUOTED_DATUM: (2698..2740) + QUOTE: (2698..2699) "'" + FORM: (2699..2740) + OPEN_PAREN: (2699..2700) "(" + CONSTANT: (2700..2701) + NUMBER: (2700..2701) "9" + ATMOSPHERE: (2701..2702) " " + CONSTANT: (2702..2703) + NUMBER: (2702..2703) "8" + ATMOSPHERE: (2703..2704) " " + CONSTANT: (2704..2705) + NUMBER: (2704..2705) "7" + ATMOSPHERE: (2705..2706) " " + CONSTANT: (2706..2707) + NUMBER: (2706..2707) "6" + ATMOSPHERE: (2707..2708) " " + CONSTANT: (2708..2709) + NUMBER: (2708..2709) "5" + ATMOSPHERE: (2709..2710) " " + CONSTANT: (2710..2711) + NUMBER: (2710..2711) "4" + ATMOSPHERE: (2711..2712) " " + CONSTANT: (2712..2713) + NUMBER: (2712..2713) "3" + ATMOSPHERE: (2713..2714) " " + CONSTANT: (2714..2715) + NUMBER: (2714..2715) "2" + ATMOSPHERE: (2715..2716) " " + CONSTANT: (2716..2717) + NUMBER: (2716..2717) "1" + ATMOSPHERE: (2717..2718) " " + CONSTANT: (2718..2719) + NUMBER: (2718..2719) "0" + ATMOSPHERE: (2719..2720) " " + CONSTANT: (2720..2721) + NUMBER: (2720..2721) "0" + ATMOSPHERE: (2721..2722) " " + CONSTANT: (2722..2723) + NUMBER: (2722..2723) "1" + ATMOSPHERE: (2723..2724) " " + CONSTANT: (2724..2725) + NUMBER: (2724..2725) "2" + ATMOSPHERE: (2725..2726) " " + CONSTANT: (2726..2727) + NUMBER: (2726..2727) "3" + ATMOSPHERE: (2727..2728) " " + CONSTANT: (2728..2729) + NUMBER: (2728..2729) "4" + ATMOSPHERE: (2729..2730) " " + CONSTANT: (2730..2731) + NUMBER: (2730..2731) "5" + ATMOSPHERE: (2731..2732) " " + CONSTANT: (2732..2733) + NUMBER: (2732..2733) "6" + ATMOSPHERE: (2733..2734) " " + CONSTANT: (2734..2735) + NUMBER: (2734..2735) "7" + ATMOSPHERE: (2735..2736) " " + CONSTANT: (2736..2737) + NUMBER: (2736..2737) "8" + ATMOSPHERE: (2737..2738) " " + CONSTANT: (2738..2739) + NUMBER: (2738..2739) "9" + CLOSE_PAREN: (2739..2740) ")" + CLOSE_PAREN: (2740..2741) ")" + CLOSE_PAREN: (2741..2742) ")" + FORM: (2742..2751) + OPEN_PAREN: (2742..2743) "(" + SYMBOL: (2743..2750) + IDENTIFIER: (2743..2750) "newline" + CLOSE_PAREN: (2750..2751) ")" + ATMOSPHERE: (2751..2752) " +" + EOF: (2752..2752) "" diff --git a/spec/quotes.ast b/spec/quotes.ast new file mode 100644 index 0000000..87202a3 --- /dev/null +++ b/spec/quotes.ast @@ -0,0 +1,335 @@ +PROGRAM: (0..502) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..54) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..50) + IDENTIFIER: (43..50) "display" + ATMOSPHERE: (50..51) " " + QUOTED_DATUM: (51..53) + QUOTE: (51..52) "'" + CONSTANT: (52..53) + NUMBER: (52..53) "1" + CLOSE_PAREN: (53..54) ")" + FORM: (54..63) + OPEN_PAREN: (54..55) "(" + SYMBOL: (55..62) + IDENTIFIER: (55..62) "newline" + CLOSE_PAREN: (62..63) ")" + ATMOSPHERE: (63..64) " +" + FORM: (64..88) + OPEN_PAREN: (64..65) "(" + SYMBOL: (65..72) + IDENTIFIER: (65..72) "display" + ATMOSPHERE: (72..73) " " + QUOTED_DATUM: (73..87) + QUOTE: (73..74) "'" + CONSTANT: (74..87) + STRING: (74..87) ""hello world"" + CLOSE_PAREN: (87..88) ")" + FORM: (88..97) + OPEN_PAREN: (88..89) "(" + SYMBOL: (89..96) + IDENTIFIER: (89..96) "newline" + CLOSE_PAREN: (96..97) ")" + ATMOSPHERE: (97..98) " +" + FORM: (98..111) + OPEN_PAREN: (98..99) "(" + SYMBOL: (99..106) + IDENTIFIER: (99..106) "display" + ATMOSPHERE: (106..107) " " + QUOTED_DATUM: (107..110) + QUOTE: (107..108) "'" + FORM: (108..110) + OPEN_PAREN: (108..109) "(" + CLOSE_PAREN: (109..110) ")" + CLOSE_PAREN: (110..111) ")" + FORM: (111..120) + OPEN_PAREN: (111..112) "(" + SYMBOL: (112..119) + IDENTIFIER: (112..119) "newline" + CLOSE_PAREN: (119..120) ")" + ATMOSPHERE: (120..121) " +" + FORM: (121..139) + OPEN_PAREN: (121..122) "(" + SYMBOL: (122..129) + IDENTIFIER: (122..129) "display" + ATMOSPHERE: (129..130) " " + QUOTED_DATUM: (130..138) + QUOTE: (130..131) "'" + FORM: (131..138) + OPEN_PAREN: (131..132) "(" + CONSTANT: (132..133) + NUMBER: (132..133) "1" + ATMOSPHERE: (133..134) " " + CONSTANT: (134..135) + NUMBER: (134..135) "2" + ATMOSPHERE: (135..136) " " + CONSTANT: (136..137) + NUMBER: (136..137) "3" + CLOSE_PAREN: (137..138) ")" + CLOSE_PAREN: (138..139) ")" + FORM: (139..148) + OPEN_PAREN: (139..140) "(" + SYMBOL: (140..147) + IDENTIFIER: (140..147) "newline" + CLOSE_PAREN: (147..148) ")" + ATMOSPHERE: (148..149) " +" + FORM: (149..168) + OPEN_PAREN: (149..150) "(" + SYMBOL: (150..157) + IDENTIFIER: (150..157) "display" + ATMOSPHERE: (157..158) " " + FORM: (158..167) + OPEN_PAREN: (158..159) "(" + SYMBOL: (159..164) + IDENTIFIER: (159..164) "quote" + ATMOSPHERE: (164..165) " " + CONSTANT: (165..166) + NUMBER: (165..166) "1" + CLOSE_PAREN: (166..167) ")" + CLOSE_PAREN: (167..168) ")" + FORM: (168..177) + OPEN_PAREN: (168..169) "(" + SYMBOL: (169..176) + IDENTIFIER: (169..176) "newline" + CLOSE_PAREN: (176..177) ")" + ATMOSPHERE: (177..178) " +" + FORM: (178..209) + OPEN_PAREN: (178..179) "(" + SYMBOL: (179..186) + IDENTIFIER: (179..186) "display" + ATMOSPHERE: (186..187) " " + FORM: (187..208) + OPEN_PAREN: (187..188) "(" + SYMBOL: (188..193) + IDENTIFIER: (188..193) "quote" + ATMOSPHERE: (193..194) " " + CONSTANT: (194..207) + STRING: (194..207) ""hello world"" + CLOSE_PAREN: (207..208) ")" + CLOSE_PAREN: (208..209) ")" + FORM: (209..218) + OPEN_PAREN: (209..210) "(" + SYMBOL: (210..217) + IDENTIFIER: (210..217) "newline" + CLOSE_PAREN: (217..218) ")" + ATMOSPHERE: (218..219) " +" + FORM: (219..239) + OPEN_PAREN: (219..220) "(" + SYMBOL: (220..227) + IDENTIFIER: (220..227) "display" + ATMOSPHERE: (227..228) " " + FORM: (228..238) + OPEN_PAREN: (228..229) "(" + SYMBOL: (229..234) + IDENTIFIER: (229..234) "quote" + ATMOSPHERE: (234..235) " " + FORM: (235..237) + OPEN_PAREN: (235..236) "(" + CLOSE_PAREN: (236..237) ")" + CLOSE_PAREN: (237..238) ")" + CLOSE_PAREN: (238..239) ")" + FORM: (239..248) + OPEN_PAREN: (239..240) "(" + SYMBOL: (240..247) + IDENTIFIER: (240..247) "newline" + CLOSE_PAREN: (247..248) ")" + ATMOSPHERE: (248..249) " +" + FORM: (249..274) + OPEN_PAREN: (249..250) "(" + SYMBOL: (250..257) + IDENTIFIER: (250..257) "display" + ATMOSPHERE: (257..258) " " + FORM: (258..273) + OPEN_PAREN: (258..259) "(" + SYMBOL: (259..264) + IDENTIFIER: (259..264) "quote" + ATMOSPHERE: (264..265) " " + FORM: (265..272) + OPEN_PAREN: (265..266) "(" + CONSTANT: (266..267) + NUMBER: (266..267) "1" + ATMOSPHERE: (267..268) " " + CONSTANT: (268..269) + NUMBER: (268..269) "2" + ATMOSPHERE: (269..270) " " + CONSTANT: (270..271) + NUMBER: (270..271) "3" + CLOSE_PAREN: (271..272) ")" + CLOSE_PAREN: (272..273) ")" + CLOSE_PAREN: (273..274) ")" + FORM: (274..283) + OPEN_PAREN: (274..275) "(" + SYMBOL: (275..282) + IDENTIFIER: (275..282) "newline" + CLOSE_PAREN: (282..283) ")" + ATMOSPHERE: (283..284) " +" + FORM: (284..313) + OPEN_PAREN: (284..285) "(" + SYMBOL: (285..292) + IDENTIFIER: (285..292) "display" + ATMOSPHERE: (292..293) " " + FORM: (293..312) + OPEN_PAREN: (293..294) "(" + SYMBOL: (294..297) + IDENTIFIER: (294..297) "car" + ATMOSPHERE: (297..298) " " + FORM: (298..311) + OPEN_PAREN: (298..299) "(" + SYMBOL: (299..302) + IDENTIFIER: (299..302) "cdr" + ATMOSPHERE: (302..303) " " + QUOTED_DATUM: (303..310) + QUOTE: (303..304) "'" + QUOTED_DATUM: (304..310) + QUOTE: (304..305) "'" + QUOTED_DATUM: (305..310) + QUOTE: (305..306) "'" + QUOTED_DATUM: (306..310) + QUOTE: (306..307) "'" + CONSTANT: (307..310) + NUMBER: (307..310) "123" + CLOSE_PAREN: (310..311) ")" + CLOSE_PAREN: (311..312) ")" + CLOSE_PAREN: (312..313) ")" + FORM: (313..322) + OPEN_PAREN: (313..314) "(" + SYMBOL: (314..321) + IDENTIFIER: (314..321) "newline" + CLOSE_PAREN: (321..322) ")" + ATMOSPHERE: (322..323) " +" + FORM: (323..335) + OPEN_PAREN: (323..324) "(" + SYMBOL: (324..331) + IDENTIFIER: (324..331) "display" + ATMOSPHERE: (331..332) " " + QUOTED_DATUM: (332..334) + QUOTE: (332..333) "'" + SYMBOL: (333..334) + IDENTIFIER: (333..334) "d" + CLOSE_PAREN: (334..335) ")" + FORM: (335..344) + OPEN_PAREN: (335..336) "(" + SYMBOL: (336..343) + IDENTIFIER: (336..343) "newline" + CLOSE_PAREN: (343..344) ")" + ATMOSPHERE: (344..345) " +" + FORM: (345..363) + OPEN_PAREN: (345..346) "(" + SYMBOL: (346..353) + IDENTIFIER: (346..353) "display" + ATMOSPHERE: (353..354) " " + QUOTED_DATUM: (354..362) + QUOTE: (354..355) "'" + SYMBOL: (355..362) + IDENTIFIER: (355..362) "|\x20;|" + CLOSE_PAREN: (362..363) ")" + FORM: (363..372) + OPEN_PAREN: (363..364) "(" + SYMBOL: (364..371) + IDENTIFIER: (364..371) "newline" + CLOSE_PAREN: (371..372) ")" + ATMOSPHERE: (372..373) " +" + FORM: (373..397) + OPEN_PAREN: (373..374) "(" + SYMBOL: (374..381) + IDENTIFIER: (374..381) "display" + ATMOSPHERE: (381..382) " " + QUOTED_DATUM: (382..396) + QUOTE: (382..383) "'" + SYMBOL: (383..396) + IDENTIFIER: (383..396) "|test\tident|" + CLOSE_PAREN: (396..397) ")" + FORM: (397..406) + OPEN_PAREN: (397..398) "(" + SYMBOL: (398..405) + IDENTIFIER: (398..405) "newline" + CLOSE_PAREN: (405..406) ")" + ATMOSPHERE: (406..407) " +" + FORM: (407..431) + OPEN_PAREN: (407..408) "(" + SYMBOL: (408..415) + IDENTIFIER: (408..415) "display" + ATMOSPHERE: (415..416) " " + QUOTED_DATUM: (416..430) + QUOTE: (416..417) "'" + SYMBOL: (417..430) + IDENTIFIER: (417..430) "|hello world|" + CLOSE_PAREN: (430..431) ")" + FORM: (431..440) + OPEN_PAREN: (431..432) "(" + SYMBOL: (432..439) + IDENTIFIER: (432..439) "newline" + CLOSE_PAREN: (439..440) ")" + ATMOSPHERE: (440..441) " +" + FORM: (441..453) + OPEN_PAREN: (441..442) "(" + SYMBOL: (442..449) + IDENTIFIER: (442..449) "display" + ATMOSPHERE: (449..450) " " + CONSTANT: (450..452) + BOOLEAN: (450..452) "#t" + CLOSE_PAREN: (452..453) ")" + FORM: (453..462) + OPEN_PAREN: (453..454) "(" + SYMBOL: (454..461) + IDENTIFIER: (454..461) "newline" + CLOSE_PAREN: (461..462) ")" + ATMOSPHERE: (462..463) " +" + FORM: (463..492) + OPEN_PAREN: (463..464) "(" + SYMBOL: (464..471) + IDENTIFIER: (464..471) "display" + ATMOSPHERE: (471..472) " " + QUOTED_DATUM: (472..491) + QUOTE: (472..473) "’" + CONSTANT: (473..491) + STRING: (473..491) ""funky-quote-char"" + CLOSE_PAREN: (491..492) ")" + FORM: (492..501) + OPEN_PAREN: (492..493) "(" + SYMBOL: (493..500) + IDENTIFIER: (493..500) "newline" + CLOSE_PAREN: (500..501) ")" + ATMOSPHERE: (501..502) " +" + EOF: (502..502) "" diff --git a/spec/self-capture.ast b/spec/self-capture.ast new file mode 100644 index 0000000..a711f23 --- /dev/null +++ b/spec/self-capture.ast @@ -0,0 +1,173 @@ +PROGRAM: (0..818) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + ATMOSPHERE: (43..92) ";; Captured Local Compaction (shadow locals) Test" + ATMOSPHERE: (92..93) " +" + ATMOSPHERE: (93..94) ";" + ATMOSPHERE: (94..95) " +" + ATMOSPHERE: (95..174) "; In this example `foo` has two locals. The first is the function `bar` and the" + ATMOSPHERE: (174..175) " +" + ATMOSPHERE: (175..248) "; second is the initial value `baz`. Once we have performed free variable" + ATMOSPHERE: (248..249) " +" + ATMOSPHERE: (249..324) "; analysis on the function we identify that `Local 0` (bar) is captured. We" + ATMOSPHERE: (324..325) " +" + ATMOSPHERE: (325..405) "; want the Lower pass to re-write `baz` from `Local 1` down to `Local 0` in this" + ATMOSPHERE: (405..406) " +" + ATMOSPHERE: (406..484) "; case, as well as re-writing the references to the captured value to the env." + ATMOSPHERE: (484..485) " +" + ATMOSPHERE: (485..486) ";" + ATMOSPHERE: (486..487) " +" + ATMOSPHERE: (487..572) "; captures, locals -- Lower --> captures, locals " + ATMOSPHERE: (572..573) " +" + FORM: (573..791) + OPEN_PAREN: (573..574) "(" + SYMBOL: (574..580) + IDENTIFIER: (574..580) "define" + ATMOSPHERE: (580..581) " " + FORM: (581..586) + OPEN_PAREN: (581..582) "(" + SYMBOL: (582..585) + IDENTIFIER: (582..585) "foo" + CLOSE_PAREN: (585..586) ")" + ATMOSPHERE: (586..592) " " + ATMOSPHERE: (592..637) "; [], [Local 0; Local 1] -> [], [Local 0]" + ATMOSPHERE: (637..640) " + " + FORM: (640..760) + OPEN_PAREN: (640..641) "(" + SYMBOL: (641..647) + IDENTIFIER: (641..647) "define" + ATMOSPHERE: (647..648) " " + FORM: (648..655) + OPEN_PAREN: (648..649) "(" + SYMBOL: (649..652) + IDENTIFIER: (649..652) "bar" + ATMOSPHERE: (652..653) " " + SYMBOL: (653..654) + IDENTIFIER: (653..654) "x" + CLOSE_PAREN: (654..655) ")" + ATMOSPHERE: (655..657) " " + ATMOSPHERE: (657..713) "; [Local 0], [Arg 0] -> [Environment 0], [Arg 0]" + ATMOSPHERE: (713..718) " + " + FORM: (718..759) + OPEN_PAREN: (718..719) "(" + SYMBOL: (719..721) + IDENTIFIER: (719..721) "if" + ATMOSPHERE: (721..722) " " + FORM: (722..730) + OPEN_PAREN: (722..723) "(" + SYMBOL: (723..724) + IDENTIFIER: (723..724) "<" + ATMOSPHERE: (724..725) " " + SYMBOL: (725..726) + IDENTIFIER: (725..726) "x" + ATMOSPHERE: (726..727) " " + CONSTANT: (727..729) + NUMBER: (727..729) "10" + CLOSE_PAREN: (729..730) ")" + ATMOSPHERE: (730..737) " + " + SYMBOL: (737..738) + IDENTIFIER: (737..738) "x" + ATMOSPHERE: (738..745) " + " + FORM: (745..758) + OPEN_PAREN: (745..746) "(" + SYMBOL: (746..749) + IDENTIFIER: (746..749) "bar" + ATMOSPHERE: (749..750) " " + FORM: (750..757) + OPEN_PAREN: (750..751) "(" + SYMBOL: (751..752) + IDENTIFIER: (751..752) "-" + ATMOSPHERE: (752..753) " " + SYMBOL: (753..754) + IDENTIFIER: (753..754) "x" + ATMOSPHERE: (754..755) " " + CONSTANT: (755..756) + NUMBER: (755..756) "1" + CLOSE_PAREN: (756..757) ")" + CLOSE_PAREN: (757..758) ")" + CLOSE_PAREN: (758..759) ")" + CLOSE_PAREN: (759..760) ")" + ATMOSPHERE: (760..763) " + " + FORM: (763..778) + OPEN_PAREN: (763..764) "(" + SYMBOL: (764..770) + IDENTIFIER: (764..770) "define" + ATMOSPHERE: (770..771) " " + SYMBOL: (771..774) + IDENTIFIER: (771..774) "baz" + ATMOSPHERE: (774..775) " " + CONSTANT: (775..777) + NUMBER: (775..777) "10" + CLOSE_PAREN: (777..778) ")" + ATMOSPHERE: (778..781) " + " + FORM: (781..790) + OPEN_PAREN: (781..782) "(" + SYMBOL: (782..785) + IDENTIFIER: (782..785) "bar" + ATMOSPHERE: (785..786) " " + SYMBOL: (786..789) + IDENTIFIER: (786..789) "baz" + CLOSE_PAREN: (789..790) ")" + CLOSE_PAREN: (790..791) ")" + ATMOSPHERE: (791..793) " + +" + FORM: (793..808) + OPEN_PAREN: (793..794) "(" + SYMBOL: (794..801) + IDENTIFIER: (794..801) "display" + ATMOSPHERE: (801..802) " " + FORM: (802..807) + OPEN_PAREN: (802..803) "(" + SYMBOL: (803..806) + IDENTIFIER: (803..806) "foo" + CLOSE_PAREN: (806..807) ")" + CLOSE_PAREN: (807..808) ")" + FORM: (808..817) + OPEN_PAREN: (808..809) "(" + SYMBOL: (809..816) + IDENTIFIER: (809..816) "newline" + CLOSE_PAREN: (816..817) ")" + ATMOSPHERE: (817..818) " +" + EOF: (818..818) "" diff --git a/spec/string-join.ast b/spec/string-join.ast new file mode 100644 index 0000000..fe13635 --- /dev/null +++ b/spec/string-join.ast @@ -0,0 +1,278 @@ +PROGRAM: (0..483) + FORM: (0..39) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..24) " + " + FORM: (24..38) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..31) + IDENTIFIER: (25..31) "scheme" + ATMOSPHERE: (31..32) " " + SYMBOL: (32..37) + IDENTIFIER: (32..37) "write" + CLOSE_PAREN: (37..38) ")" + CLOSE_PAREN: (38..39) ")" + ATMOSPHERE: (39..40) " +" + FORM: (40..300) + OPEN_PAREN: (40..41) "(" + SYMBOL: (41..47) + IDENTIFIER: (41..47) "define" + ATMOSPHERE: (47..48) " " + FORM: (48..76) + OPEN_PAREN: (48..49) "(" + SYMBOL: (49..60) + IDENTIFIER: (49..60) "string-join" + ATMOSPHERE: (60..61) " " + SYMBOL: (61..65) + IDENTIFIER: (61..65) "list" + ATMOSPHERE: (65..66) " " + SYMBOL: (66..75) + IDENTIFIER: (66..75) "delimiter" + CLOSE_PAREN: (75..76) ")" + ATMOSPHERE: (76..79) " + " + FORM: (79..229) + OPEN_PAREN: (79..80) "(" + SYMBOL: (80..86) + IDENTIFIER: (80..86) "define" + ATMOSPHERE: (86..87) " " + FORM: (87..115) + OPEN_PAREN: (87..88) "(" + SYMBOL: (88..102) + IDENTIFIER: (88..102) "string-join-to" + ATMOSPHERE: (102..103) " " + SYMBOL: (103..109) + IDENTIFIER: (103..109) "result" + ATMOSPHERE: (109..110) " " + SYMBOL: (110..114) + IDENTIFIER: (110..114) "list" + CLOSE_PAREN: (114..115) ")" + ATMOSPHERE: (115..120) " + " + FORM: (120..228) + OPEN_PAREN: (120..121) "(" + SYMBOL: (121..123) + IDENTIFIER: (121..123) "if" + ATMOSPHERE: (123..124) " " + FORM: (124..136) + OPEN_PAREN: (124..125) "(" + SYMBOL: (125..130) + IDENTIFIER: (125..130) "null?" + ATMOSPHERE: (130..131) " " + SYMBOL: (131..135) + IDENTIFIER: (131..135) "list" + CLOSE_PAREN: (135..136) ")" + ATMOSPHERE: (136..143) " + " + SYMBOL: (143..149) + IDENTIFIER: (143..149) "result" + ATMOSPHERE: (149..156) " + " + FORM: (156..227) + OPEN_PAREN: (156..157) "(" + SYMBOL: (157..171) + IDENTIFIER: (157..171) "string-join-to" + ATMOSPHERE: (171..172) " " + FORM: (172..215) + OPEN_PAREN: (172..173) "(" + SYMBOL: (173..186) + IDENTIFIER: (173..186) "string-append" + ATMOSPHERE: (186..187) " " + SYMBOL: (187..193) + IDENTIFIER: (187..193) "result" + ATMOSPHERE: (193..194) " " + SYMBOL: (194..203) + IDENTIFIER: (194..203) "delimiter" + ATMOSPHERE: (203..204) " " + FORM: (204..214) + OPEN_PAREN: (204..205) "(" + SYMBOL: (205..208) + IDENTIFIER: (205..208) "car" + ATMOSPHERE: (208..209) " " + SYMBOL: (209..213) + IDENTIFIER: (209..213) "list" + CLOSE_PAREN: (213..214) ")" + CLOSE_PAREN: (214..215) ")" + ATMOSPHERE: (215..216) " " + FORM: (216..226) + OPEN_PAREN: (216..217) "(" + SYMBOL: (217..220) + IDENTIFIER: (217..220) "cdr" + ATMOSPHERE: (220..221) " " + SYMBOL: (221..225) + IDENTIFIER: (221..225) "list" + CLOSE_PAREN: (225..226) ")" + CLOSE_PAREN: (226..227) ")" + CLOSE_PAREN: (227..228) ")" + CLOSE_PAREN: (228..229) ")" + ATMOSPHERE: (229..232) " + " + FORM: (232..299) + OPEN_PAREN: (232..233) "(" + SYMBOL: (233..235) + IDENTIFIER: (233..235) "if" + ATMOSPHERE: (235..236) " " + FORM: (236..248) + OPEN_PAREN: (236..237) "(" + SYMBOL: (237..242) + IDENTIFIER: (237..242) "null?" + ATMOSPHERE: (242..243) " " + SYMBOL: (243..247) + IDENTIFIER: (243..247) "list" + CLOSE_PAREN: (247..248) ")" + ATMOSPHERE: (248..253) " + " + CONSTANT: (253..255) + STRING: (253..255) """" + ATMOSPHERE: (255..260) " + " + FORM: (260..298) + OPEN_PAREN: (260..261) "(" + SYMBOL: (261..275) + IDENTIFIER: (261..275) "string-join-to" + ATMOSPHERE: (275..276) " " + FORM: (276..286) + OPEN_PAREN: (276..277) "(" + SYMBOL: (277..280) + IDENTIFIER: (277..280) "car" + ATMOSPHERE: (280..281) " " + SYMBOL: (281..285) + IDENTIFIER: (281..285) "list" + CLOSE_PAREN: (285..286) ")" + ATMOSPHERE: (286..287) " " + FORM: (287..297) + OPEN_PAREN: (287..288) "(" + SYMBOL: (288..291) + IDENTIFIER: (288..291) "cdr" + ATMOSPHERE: (291..292) " " + SYMBOL: (292..296) + IDENTIFIER: (292..296) "list" + CLOSE_PAREN: (296..297) ")" + CLOSE_PAREN: (297..298) ")" + CLOSE_PAREN: (298..299) ")" + CLOSE_PAREN: (299..300) ")" + ATMOSPHERE: (300..301) " +" + FORM: (301..360) + OPEN_PAREN: (301..302) "(" + SYMBOL: (302..309) + IDENTIFIER: (302..309) "display" + ATMOSPHERE: (309..310) " " + FORM: (310..359) + OPEN_PAREN: (310..311) "(" + SYMBOL: (311..324) + IDENTIFIER: (311..324) "string-append" + ATMOSPHERE: (324..325) " " + CONSTANT: (325..330) + STRING: (325..330) ""<<{"" + ATMOSPHERE: (330..331) " " + FORM: (331..352) + OPEN_PAREN: (331..332) "(" + SYMBOL: (332..343) + IDENTIFIER: (332..343) "string-join" + ATMOSPHERE: (343..344) " " + QUOTED_DATUM: (344..348) + QUOTE: (344..345) "'" + FORM: (345..347) + OPEN_PAREN: (345..346) "(" + CLOSE_PAREN: (346..347) ")" + ATMOSPHERE: (347..348) " " + CONSTANT: (348..351) + STRING: (348..351) ""-"" + CLOSE_PAREN: (351..352) ")" + ATMOSPHERE: (352..353) " " + CONSTANT: (353..358) + STRING: (353..358) ""}>>"" + CLOSE_PAREN: (358..359) ")" + CLOSE_PAREN: (359..360) ")" + FORM: (360..369) + OPEN_PAREN: (360..361) "(" + SYMBOL: (361..368) + IDENTIFIER: (361..368) "newline" + CLOSE_PAREN: (368..369) ")" + ATMOSPHERE: (369..370) " +" + FORM: (370..415) + OPEN_PAREN: (370..371) "(" + SYMBOL: (371..378) + IDENTIFIER: (371..378) "display" + ATMOSPHERE: (378..379) " " + FORM: (379..414) + OPEN_PAREN: (379..380) "(" + SYMBOL: (380..391) + IDENTIFIER: (380..391) "string-join" + ATMOSPHERE: (391..392) " " + FORM: (392..408) + OPEN_PAREN: (392..393) "(" + SYMBOL: (393..397) + IDENTIFIER: (393..397) "cons" + ATMOSPHERE: (397..398) " " + CONSTANT: (398..403) + STRING: (398..403) ""foo"" + ATMOSPHERE: (403..404) " " + QUOTED_DATUM: (404..407) + QUOTE: (404..405) "'" + FORM: (405..407) + OPEN_PAREN: (405..406) "(" + CLOSE_PAREN: (406..407) ")" + CLOSE_PAREN: (407..408) ")" + ATMOSPHERE: (408..409) " " + CONSTANT: (409..413) + STRING: (409..413) ""||"" + CLOSE_PAREN: (413..414) ")" + CLOSE_PAREN: (414..415) ")" + FORM: (415..424) + OPEN_PAREN: (415..416) "(" + SYMBOL: (416..423) + IDENTIFIER: (416..423) "newline" + CLOSE_PAREN: (423..424) ")" + ATMOSPHERE: (424..425) " +" + FORM: (425..473) + OPEN_PAREN: (425..426) "(" + SYMBOL: (426..433) + IDENTIFIER: (426..433) "display" + ATMOSPHERE: (433..434) " " + FORM: (434..472) + OPEN_PAREN: (434..435) "(" + SYMBOL: (435..446) + IDENTIFIER: (435..446) "string-join" + ATMOSPHERE: (446..447) " " + QUOTED_DATUM: (447..468) + QUOTE: (447..448) "'" + FORM: (448..467) + OPEN_PAREN: (448..449) "(" + CONSTANT: (449..454) + STRING: (449..454) ""foo"" + ATMOSPHERE: (454..455) " " + CONSTANT: (455..460) + STRING: (455..460) ""bar"" + ATMOSPHERE: (460..461) " " + CONSTANT: (461..466) + STRING: (461..466) ""baz"" + CLOSE_PAREN: (466..467) ")" + ATMOSPHERE: (467..468) " " + CONSTANT: (468..471) + STRING: (468..471) "":"" + CLOSE_PAREN: (471..472) ")" + CLOSE_PAREN: (472..473) ")" + FORM: (473..482) + OPEN_PAREN: (473..474) "(" + SYMBOL: (474..481) + IDENTIFIER: (474..481) "newline" + CLOSE_PAREN: (481..482) ")" + ATMOSPHERE: (482..483) " +" + EOF: (483..483) "" diff --git a/spec/strings.ast b/spec/strings.ast new file mode 100644 index 0000000..5ccf17f --- /dev/null +++ b/spec/strings.ast @@ -0,0 +1,10 @@ +PROGRAM: (0..33) + CONSTANT: (0..13) + STRING: (0..13) ""hello world"" + ATMOSPHERE: (13..14) " +" + CONSTANT: (14..32) + STRING: (14..32) ""stuff and things"" + ATMOSPHERE: (32..33) " +" + EOF: (33..33) "" diff --git a/spec/swapit.ast b/spec/swapit.ast new file mode 100644 index 0000000..07ae9b1 --- /dev/null +++ b/spec/swapit.ast @@ -0,0 +1,265 @@ +PROGRAM: (0..403) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..115) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..50) + IDENTIFIER: (44..50) "define" + ATMOSPHERE: (50..51) " " + FORM: (51..64) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..56) + IDENTIFIER: (52..56) "swap" + ATMOSPHERE: (56..57) " " + SYMBOL: (57..59) + IDENTIFIER: (57..59) "me" + ATMOSPHERE: (59..60) " " + SYMBOL: (60..63) + IDENTIFIER: (60..63) "you" + CLOSE_PAREN: (63..64) ")" + ATMOSPHERE: (64..69) " + " + FORM: (69..114) + OPEN_PAREN: (69..70) "(" + SYMBOL: (70..73) + IDENTIFIER: (70..73) "let" + ATMOSPHERE: (73..74) " " + FORM: (74..101) + OPEN_PAREN: (74..75) "(" + FORM: (75..83) + OPEN_PAREN: (75..76) "(" + SYMBOL: (76..78) + IDENTIFIER: (76..78) "me" + ATMOSPHERE: (78..79) " " + SYMBOL: (79..82) + IDENTIFIER: (79..82) "you" + CLOSE_PAREN: (82..83) ")" + ATMOSPHERE: (83..92) " + " + FORM: (92..100) + OPEN_PAREN: (92..93) "(" + SYMBOL: (93..96) + IDENTIFIER: (93..96) "you" + ATMOSPHERE: (96..97) " " + SYMBOL: (97..99) + IDENTIFIER: (97..99) "me" + CLOSE_PAREN: (99..100) ")" + CLOSE_PAREN: (100..101) ")" + ATMOSPHERE: (101..110) " + " + SYMBOL: (110..113) + IDENTIFIER: (110..113) "you" + CLOSE_PAREN: (113..114) ")" + CLOSE_PAREN: (114..115) ")" + ATMOSPHERE: (115..117) " + +" + FORM: (117..340) + OPEN_PAREN: (117..118) "(" + SYMBOL: (118..121) + IDENTIFIER: (118..121) "let" + ATMOSPHERE: (121..122) " " + FORM: (122..135) + OPEN_PAREN: (122..123) "(" + FORM: (123..128) + OPEN_PAREN: (123..124) "(" + SYMBOL: (124..125) + IDENTIFIER: (124..125) "x" + ATMOSPHERE: (125..126) " " + CONSTANT: (126..127) + NUMBER: (126..127) "1" + CLOSE_PAREN: (127..128) ")" + ATMOSPHERE: (128..129) " " + FORM: (129..134) + OPEN_PAREN: (129..130) "(" + SYMBOL: (130..131) + IDENTIFIER: (130..131) "y" + ATMOSPHERE: (131..132) " " + CONSTANT: (132..133) + NUMBER: (132..133) "2" + CLOSE_PAREN: (133..134) ")" + CLOSE_PAREN: (134..135) ")" + ATMOSPHERE: (135..140) " + " + FORM: (140..298) + OPEN_PAREN: (140..141) "(" + SYMBOL: (141..154) + IDENTIFIER: (141..154) "define-syntax" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..160) + IDENTIFIER: (155..160) "swap!" + ATMOSPHERE: (160..169) " + " + FORM: (169..297) + OPEN_PAREN: (169..170) "(" + SYMBOL: (170..182) + IDENTIFIER: (170..182) "syntax-rules" + ATMOSPHERE: (182..183) " " + FORM: (183..185) + OPEN_PAREN: (183..184) "(" + CLOSE_PAREN: (184..185) ")" + ATMOSPHERE: (185..198) " + " + FORM: (198..296) + OPEN_PAREN: (198..199) "(" + FORM: (199..210) + OPEN_PAREN: (199..200) "(" + SYMBOL: (200..205) + IDENTIFIER: (200..205) "swap!" + ATMOSPHERE: (205..206) " " + SYMBOL: (206..207) + IDENTIFIER: (206..207) "a" + ATMOSPHERE: (207..208) " " + SYMBOL: (208..209) + IDENTIFIER: (208..209) "b" + CLOSE_PAREN: (209..210) ")" + ATMOSPHERE: (210..224) " + " + FORM: (224..295) + OPEN_PAREN: (224..225) "(" + SYMBOL: (225..228) + IDENTIFIER: (225..228) "let" + ATMOSPHERE: (228..229) " " + FORM: (229..238) + OPEN_PAREN: (229..230) "(" + FORM: (230..237) + OPEN_PAREN: (230..231) "(" + SYMBOL: (231..234) + IDENTIFIER: (231..234) "tmp" + ATMOSPHERE: (234..235) " " + SYMBOL: (235..236) + IDENTIFIER: (235..236) "a" + CLOSE_PAREN: (236..237) ")" + CLOSE_PAREN: (237..238) ")" + ATMOSPHERE: (238..255) " + " + FORM: (255..265) + OPEN_PAREN: (255..256) "(" + SYMBOL: (256..260) + IDENTIFIER: (256..260) "set!" + ATMOSPHERE: (260..261) " " + SYMBOL: (261..262) + IDENTIFIER: (261..262) "a" + ATMOSPHERE: (262..263) " " + SYMBOL: (263..264) + IDENTIFIER: (263..264) "b" + CLOSE_PAREN: (264..265) ")" + ATMOSPHERE: (265..282) " + " + FORM: (282..294) + OPEN_PAREN: (282..283) "(" + SYMBOL: (283..287) + IDENTIFIER: (283..287) "set!" + ATMOSPHERE: (287..288) " " + SYMBOL: (288..289) + IDENTIFIER: (288..289) "b" + ATMOSPHERE: (289..290) " " + SYMBOL: (290..293) + IDENTIFIER: (290..293) "tmp" + CLOSE_PAREN: (293..294) ")" + CLOSE_PAREN: (294..295) ")" + CLOSE_PAREN: (295..296) ")" + CLOSE_PAREN: (296..297) ")" + CLOSE_PAREN: (297..298) ")" + ATMOSPHERE: (298..303) " + " + FORM: (303..314) + OPEN_PAREN: (303..304) "(" + SYMBOL: (304..309) + IDENTIFIER: (304..309) "swap!" + ATMOSPHERE: (309..310) " " + SYMBOL: (310..311) + IDENTIFIER: (310..311) "x" + ATMOSPHERE: (311..312) " " + SYMBOL: (312..313) + IDENTIFIER: (312..313) "y" + CLOSE_PAREN: (313..314) ")" + ATMOSPHERE: (314..319) " + " + FORM: (319..339) + OPEN_PAREN: (319..320) "(" + SYMBOL: (320..327) + IDENTIFIER: (320..327) "display" + ATMOSPHERE: (327..328) " " + FORM: (328..338) + OPEN_PAREN: (328..329) "(" + SYMBOL: (329..333) + IDENTIFIER: (329..333) "list" + ATMOSPHERE: (333..334) " " + SYMBOL: (334..335) + IDENTIFIER: (334..335) "x" + ATMOSPHERE: (335..336) " " + SYMBOL: (336..337) + IDENTIFIER: (336..337) "y" + CLOSE_PAREN: (337..338) ")" + CLOSE_PAREN: (338..339) ")" + CLOSE_PAREN: (339..340) ")" + ATMOSPHERE: (340..342) " + +" + FORM: (342..376) + OPEN_PAREN: (342..343) "(" + SYMBOL: (343..350) + IDENTIFIER: (343..350) "display" + ATMOSPHERE: (350..351) " " + FORM: (351..375) + OPEN_PAREN: (351..352) "(" + SYMBOL: (352..356) + IDENTIFIER: (352..356) "swap" + ATMOSPHERE: (356..357) " " + CONSTANT: (357..365) + STRING: (357..365) ""Fooble"" + ATMOSPHERE: (365..366) " " + CONSTANT: (366..374) + STRING: (366..374) ""Barble"" + CLOSE_PAREN: (374..375) ")" + CLOSE_PAREN: (375..376) ")" + ATMOSPHERE: (376..378) " + +" + FORM: (378..403) + OPEN_PAREN: (378..379) "(" + SYMBOL: (379..380) + IDENTIFIER: (379..380) "=" + ATMOSPHERE: (380..381) " " + FORM: (381..398) + OPEN_PAREN: (381..382) "(" + SYMBOL: (382..386) + IDENTIFIER: (382..386) "swap" + ATMOSPHERE: (386..387) " " + CONSTANT: (387..390) + NUMBER: (387..390) "123" + ATMOSPHERE: (390..391) " " + CONSTANT: (391..397) + STRING: (391..397) ""Test"" + CLOSE_PAREN: (397..398) ")" + ATMOSPHERE: (398..399) " " + CONSTANT: (399..402) + NUMBER: (399..402) "123" + CLOSE_PAREN: (402..403) ")" + EOF: (403..403) "" diff --git a/spec/symbols.ast b/spec/symbols.ast new file mode 100644 index 0000000..d2cec56 --- /dev/null +++ b/spec/symbols.ast @@ -0,0 +1,351 @@ +PROGRAM: (0..792) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..231) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..50) + IDENTIFIER: (43..50) "display" + ATMOSPHERE: (50..51) " " + FORM: (51..230) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..56) + IDENTIFIER: (52..56) "list" + ATMOSPHERE: (56..61) " + " + FORM: (61..75) + OPEN_PAREN: (61..62) "(" + SYMBOL: (62..69) + IDENTIFIER: (62..69) "symbol?" + ATMOSPHERE: (69..70) " " + QUOTED_DATUM: (70..74) + QUOTE: (70..71) "’" + SYMBOL: (71..74) + IDENTIFIER: (71..74) "foo" + CLOSE_PAREN: (74..75) ")" + ATMOSPHERE: (75..76) " " + ATMOSPHERE: (76..83) "; -> #t" + ATMOSPHERE: (83..88) " + " + FORM: (88..110) + OPEN_PAREN: (88..89) "(" + SYMBOL: (89..96) + IDENTIFIER: (89..96) "symbol?" + ATMOSPHERE: (96..97) " " + FORM: (97..109) + OPEN_PAREN: (97..98) "(" + SYMBOL: (98..101) + IDENTIFIER: (98..101) "car" + ATMOSPHERE: (101..102) " " + QUOTED_DATUM: (102..108) + QUOTE: (102..103) "’" + FORM: (103..108) + OPEN_PAREN: (103..104) "(" + SYMBOL: (104..105) + IDENTIFIER: (104..105) "a" + ATMOSPHERE: (105..106) " " + SYMBOL: (106..107) + IDENTIFIER: (106..107) "b" + CLOSE_PAREN: (107..108) ")" + CLOSE_PAREN: (108..109) ")" + CLOSE_PAREN: (109..110) ")" + ATMOSPHERE: (110..111) " " + ATMOSPHERE: (111..118) "; -> #t" + ATMOSPHERE: (118..123) " + " + FORM: (123..138) + OPEN_PAREN: (123..124) "(" + SYMBOL: (124..131) + IDENTIFIER: (124..131) "symbol?" + ATMOSPHERE: (131..132) " " + CONSTANT: (132..137) + STRING: (132..137) ""bar"" + CLOSE_PAREN: (137..138) ")" + ATMOSPHERE: (138..139) " " + ATMOSPHERE: (139..146) "; -> #f" + ATMOSPHERE: (146..151) " + " + FORM: (151..165) + OPEN_PAREN: (151..152) "(" + SYMBOL: (152..159) + IDENTIFIER: (152..159) "symbol?" + ATMOSPHERE: (159..160) " " + QUOTED_DATUM: (160..164) + QUOTE: (160..161) "’" + SYMBOL: (161..164) + IDENTIFIER: (161..164) "nil" + CLOSE_PAREN: (164..165) ")" + ATMOSPHERE: (165..166) " " + ATMOSPHERE: (166..173) "; -> #t" + ATMOSPHERE: (173..178) " + " + FORM: (178..191) + OPEN_PAREN: (178..179) "(" + SYMBOL: (179..186) + IDENTIFIER: (179..186) "symbol?" + ATMOSPHERE: (186..187) " " + QUOTED_DATUM: (187..190) + QUOTE: (187..188) "’" + FORM: (188..190) + OPEN_PAREN: (188..189) "(" + CLOSE_PAREN: (189..190) ")" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..192) " " + ATMOSPHERE: (192..199) "; -> #f" + ATMOSPHERE: (199..204) " + " + FORM: (204..216) + OPEN_PAREN: (204..205) "(" + SYMBOL: (205..212) + IDENTIFIER: (205..212) "symbol?" + ATMOSPHERE: (212..213) " " + CONSTANT: (213..215) + BOOLEAN: (213..215) "#f" + CLOSE_PAREN: (215..216) ")" + ATMOSPHERE: (216..217) " " + ATMOSPHERE: (217..224) "; -> #f" + ATMOSPHERE: (224..229) " + " + CLOSE_PAREN: (229..230) ")" + CLOSE_PAREN: (230..231) ")" + FORM: (231..240) + OPEN_PAREN: (231..232) "(" + SYMBOL: (232..239) + IDENTIFIER: (232..239) "newline" + CLOSE_PAREN: (239..240) ")" + ATMOSPHERE: (240..241) " +" + FORM: (241..326) + OPEN_PAREN: (241..242) "(" + SYMBOL: (242..249) + IDENTIFIER: (242..249) "display" + ATMOSPHERE: (249..250) " " + FORM: (250..325) + OPEN_PAREN: (250..251) "(" + SYMBOL: (251..255) + IDENTIFIER: (251..255) "list" + ATMOSPHERE: (255..260) " + " + FORM: (260..291) + OPEN_PAREN: (260..261) "(" + SYMBOL: (261..269) + IDENTIFIER: (261..269) "symbol=?" + ATMOSPHERE: (269..270) " " + QUOTED_DATUM: (270..277) + QUOTE: (270..271) "'" + SYMBOL: (271..276) + IDENTIFIER: (271..276) "hello" + ATMOSPHERE: (276..277) " " + QUOTED_DATUM: (277..284) + QUOTE: (277..278) "'" + SYMBOL: (278..283) + IDENTIFIER: (278..283) "hello" + ATMOSPHERE: (283..284) " " + QUOTED_DATUM: (284..290) + QUOTE: (284..285) "'" + SYMBOL: (285..290) + IDENTIFIER: (285..290) "hello" + CLOSE_PAREN: (290..291) ")" + ATMOSPHERE: (291..296) " + " + FORM: (296..319) + OPEN_PAREN: (296..297) "(" + SYMBOL: (297..305) + IDENTIFIER: (297..305) "symbol=?" + ATMOSPHERE: (305..306) " " + CONSTANT: (306..312) + STRING: (306..312) ""nope"" + ATMOSPHERE: (312..313) " " + QUOTED_DATUM: (313..318) + QUOTE: (313..314) "'" + SYMBOL: (314..318) + IDENTIFIER: (314..318) "nope" + CLOSE_PAREN: (318..319) ")" + ATMOSPHERE: (319..324) " + " + CLOSE_PAREN: (324..325) ")" + CLOSE_PAREN: (325..326) ")" + FORM: (326..335) + OPEN_PAREN: (326..327) "(" + SYMBOL: (327..334) + IDENTIFIER: (327..334) "newline" + CLOSE_PAREN: (334..335) ")" + ATMOSPHERE: (335..336) " +" + FORM: (336..783) + OPEN_PAREN: (336..337) "(" + SYMBOL: (337..344) + IDENTIFIER: (337..344) "display" + ATMOSPHERE: (344..345) " " + FORM: (345..782) + OPEN_PAREN: (345..346) "(" + SYMBOL: (346..350) + IDENTIFIER: (346..350) "list" + ATMOSPHERE: (350..355) " + " + FORM: (355..384) + OPEN_PAREN: (355..356) "(" + SYMBOL: (356..370) + IDENTIFIER: (356..370) "symbol->string" + ATMOSPHERE: (370..371) " " + QUOTED_DATUM: (371..383) + QUOTE: (371..372) "’" + SYMBOL: (372..383) + IDENTIFIER: (372..383) "flying-fish" + CLOSE_PAREN: (383..384) ")" + ATMOSPHERE: (384..385) " " + ATMOSPHERE: (385..403) "; -> "flying-fish"" + ATMOSPHERE: (403..408) " + " + FORM: (408..432) + OPEN_PAREN: (408..409) "(" + SYMBOL: (409..423) + IDENTIFIER: (409..423) "symbol->string" + ATMOSPHERE: (423..424) " " + QUOTED_DATUM: (424..431) + QUOTE: (424..425) "’" + SYMBOL: (425..431) + IDENTIFIER: (425..431) "Martin" + CLOSE_PAREN: (431..432) ")" + ATMOSPHERE: (432..433) " " + ATMOSPHERE: (433..446) "; -> "Martin"" + ATMOSPHERE: (446..451) " + " + FORM: (451..494) + OPEN_PAREN: (451..452) "(" + SYMBOL: (452..466) + IDENTIFIER: (452..466) "symbol->string" + ATMOSPHERE: (466..467) " " + FORM: (467..493) + OPEN_PAREN: (467..468) "(" + SYMBOL: (468..482) + IDENTIFIER: (468..482) "string->symbol" + ATMOSPHERE: (482..483) " " + CONSTANT: (483..492) + STRING: (483..492) ""Malvina"" + CLOSE_PAREN: (492..493) ")" + CLOSE_PAREN: (493..494) ")" + ATMOSPHERE: (494..495) " " + ATMOSPHERE: (495..509) "; -> "Malvina"" + ATMOSPHERE: (509..514) " + " + FORM: (514..544) + OPEN_PAREN: (514..515) "(" + SYMBOL: (515..529) + IDENTIFIER: (515..529) "string->symbol" + ATMOSPHERE: (529..530) " " + CONSTANT: (530..543) + STRING: (530..543) ""mISSISSIppi"" + CLOSE_PAREN: (543..544) ")" + ATMOSPHERE: (544..545) " " + ATMOSPHERE: (545..561) "; -> mISSISSIppi" + ATMOSPHERE: (561..566) " + " + FORM: (566..606) + OPEN_PAREN: (566..567) "(" + SYMBOL: (567..571) + IDENTIFIER: (567..571) "eqv?" + ATMOSPHERE: (571..572) " " + QUOTED_DATUM: (572..580) + QUOTE: (572..573) "’" + SYMBOL: (573..579) + IDENTIFIER: (573..579) "bitBlt" + ATMOSPHERE: (579..580) " " + FORM: (580..605) + OPEN_PAREN: (580..581) "(" + SYMBOL: (581..595) + IDENTIFIER: (581..595) "string->symbol" + ATMOSPHERE: (595..596) " " + CONSTANT: (596..604) + STRING: (596..604) ""bitBlt"" + CLOSE_PAREN: (604..605) ")" + CLOSE_PAREN: (605..606) ")" + ATMOSPHERE: (606..607) " " + ATMOSPHERE: (607..614) "; -> #t" + ATMOSPHERE: (614..619) " + " + FORM: (619..677) + OPEN_PAREN: (619..620) "(" + SYMBOL: (620..624) + IDENTIFIER: (620..624) "eqv?" + ATMOSPHERE: (624..625) " " + QUOTED_DATUM: (625..634) + QUOTE: (625..626) "’" + SYMBOL: (626..634) + IDENTIFIER: (626..634) "LollyPop" + FORM: (634..676) + OPEN_PAREN: (634..635) "(" + SYMBOL: (635..649) + IDENTIFIER: (635..649) "string->symbol" + FORM: (649..675) + OPEN_PAREN: (649..650) "(" + SYMBOL: (650..664) + IDENTIFIER: (650..664) "symbol->string" + ATMOSPHERE: (664..665) " " + QUOTED_DATUM: (665..674) + QUOTE: (665..666) "’" + SYMBOL: (666..674) + IDENTIFIER: (666..674) "LollyPop" + CLOSE_PAREN: (674..675) ")" + CLOSE_PAREN: (675..676) ")" + CLOSE_PAREN: (676..677) ")" + ATMOSPHERE: (677..678) " " + ATMOSPHERE: (678..685) "; -> #t" + ATMOSPHERE: (685..690) " + " + FORM: (690..768) + OPEN_PAREN: (690..691) "(" + SYMBOL: (691..699) + IDENTIFIER: (691..699) "string=?" + ATMOSPHERE: (699..700) " " + CONSTANT: (700..717) + STRING: (700..717) ""K. Harper, M.D."" + FORM: (717..767) + OPEN_PAREN: (717..718) "(" + SYMBOL: (718..732) + IDENTIFIER: (718..732) "symbol->string" + FORM: (732..766) + OPEN_PAREN: (732..733) "(" + SYMBOL: (733..747) + IDENTIFIER: (733..747) "string->symbol" + ATMOSPHERE: (747..748) " " + CONSTANT: (748..765) + STRING: (748..765) ""K. Harper, M.D."" + CLOSE_PAREN: (765..766) ")" + CLOSE_PAREN: (766..767) ")" + CLOSE_PAREN: (767..768) ")" + ATMOSPHERE: (768..769) " " + ATMOSPHERE: (769..776) "; -> #t" + ATMOSPHERE: (776..781) " + " + CLOSE_PAREN: (781..782) ")" + CLOSE_PAREN: (782..783) ")" + FORM: (783..792) + OPEN_PAREN: (783..784) "(" + SYMBOL: (784..791) + IDENTIFIER: (784..791) "newline" + CLOSE_PAREN: (791..792) ")" + EOF: (792..792) "" diff --git a/spec/tail.ast b/spec/tail.ast new file mode 100644 index 0000000..d61b72b --- /dev/null +++ b/spec/tail.ast @@ -0,0 +1,317 @@ +PROGRAM: (0..986) + FORM: (0..211) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" + ATMOSPHERE: (93..98) " + " + ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." + ATMOSPHERE: (162..167) " + " + FORM: (167..191) + OPEN_PAREN: (167..168) "(" + SYMBOL: (168..175) + IDENTIFIER: (168..175) "feersum" + ATMOSPHERE: (175..176) " " + SYMBOL: (176..183) + IDENTIFIER: (176..183) "builtin" + ATMOSPHERE: (183..184) " " + SYMBOL: (184..190) + IDENTIFIER: (184..190) "macros" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..196) " + " + FORM: (196..210) + OPEN_PAREN: (196..197) "(" + SYMBOL: (197..203) + IDENTIFIER: (197..203) "scheme" + ATMOSPHERE: (203..204) " " + SYMBOL: (204..209) + IDENTIFIER: (204..209) "write" + CLOSE_PAREN: (209..210) ")" + CLOSE_PAREN: (210..211) ")" + ATMOSPHERE: (211..213) " + +" + ATMOSPHERE: (213..275) ";; Without proper tail recursion this will overflow the stack:" + ATMOSPHERE: (275..276) " +" + ATMOSPHERE: (276..277) ";" + ATMOSPHERE: (277..278) " +" + ATMOSPHERE: (278..296) "; ! stack overflow" + ATMOSPHERE: (296..297) " +" + ATMOSPHERE: (297..343) "; [ping] -> [ping] -> [ping] -> ... -> [ping]" + ATMOSPHERE: (343..344) " +" + ATMOSPHERE: (344..350) "; ...." + ATMOSPHERE: (350..351) " +" + ATMOSPHERE: (351..397) "; -> [ping] -> ... -> [ping]" + ATMOSPHERE: (397..398) " +" + ATMOSPHERE: (398..444) "; -> [pong] -> [pong] -> ... -> [pong]" + ATMOSPHERE: (444..445) " +" + ATMOSPHERE: (445..491) "; [ping] -> [ping] -> [ping] -> ... -> [ping]" + ATMOSPHERE: (491..493) " + +" + ATMOSPHERE: (493..552) ";; With proper tail recursive calls stack use is constant: " + ATMOSPHERE: (552..553) " +" + ATMOSPHERE: (553..591) "; [ping] -> [pong] -> [ping] -> [pong]" + ATMOSPHERE: (591..593) " + +" + FORM: (593..756) + OPEN_PAREN: (593..594) "(" + SYMBOL: (594..601) + IDENTIFIER: (594..601) "display" + ATMOSPHERE: (601..605) " + " + FORM: (605..755) + OPEN_PAREN: (605..606) "(" + SYMBOL: (606..612) + IDENTIFIER: (606..612) "letrec" + ATMOSPHERE: (612..613) " " + FORM: (613..738) + OPEN_PAREN: (613..614) "(" + FORM: (614..644) + OPEN_PAREN: (614..615) "(" + SYMBOL: (615..619) + IDENTIFIER: (615..619) "ping" + ATMOSPHERE: (619..620) " " + FORM: (620..643) + OPEN_PAREN: (620..621) "(" + SYMBOL: (621..627) + IDENTIFIER: (621..627) "lambda" + ATMOSPHERE: (627..628) " " + FORM: (628..631) + OPEN_PAREN: (628..629) "(" + SYMBOL: (629..630) + IDENTIFIER: (629..630) "x" + CLOSE_PAREN: (630..631) ")" + ATMOSPHERE: (631..634) " + " + FORM: (634..642) + OPEN_PAREN: (634..635) "(" + SYMBOL: (635..639) + IDENTIFIER: (635..639) "pong" + ATMOSPHERE: (639..640) " " + SYMBOL: (640..641) + IDENTIFIER: (640..641) "x" + CLOSE_PAREN: (641..642) ")" + CLOSE_PAREN: (642..643) ")" + CLOSE_PAREN: (643..644) ")" + ATMOSPHERE: (644..654) " + " + FORM: (654..737) + OPEN_PAREN: (654..655) "(" + SYMBOL: (655..659) + IDENTIFIER: (655..659) "pong" + ATMOSPHERE: (659..660) " " + FORM: (660..736) + OPEN_PAREN: (660..661) "(" + SYMBOL: (661..667) + IDENTIFIER: (661..667) "lambda" + ATMOSPHERE: (667..668) " " + FORM: (668..671) + OPEN_PAREN: (668..669) "(" + SYMBOL: (669..670) + IDENTIFIER: (669..670) "x" + CLOSE_PAREN: (670..671) ")" + ATMOSPHERE: (671..682) " + " + FORM: (682..735) + OPEN_PAREN: (682..683) "(" + SYMBOL: (683..685) + IDENTIFIER: (683..685) "if" + ATMOSPHERE: (685..686) " " + FORM: (686..693) + OPEN_PAREN: (686..687) "(" + SYMBOL: (687..688) + IDENTIFIER: (687..688) ">" + ATMOSPHERE: (688..689) " " + CONSTANT: (689..690) + NUMBER: (689..690) "0" + ATMOSPHERE: (690..691) " " + SYMBOL: (691..692) + IDENTIFIER: (691..692) "x" + CLOSE_PAREN: (692..693) ")" + ATMOSPHERE: (693..706) " + " + SYMBOL: (706..707) + IDENTIFIER: (706..707) "x" + ATMOSPHERE: (707..720) " + " + FORM: (720..734) + OPEN_PAREN: (720..721) "(" + SYMBOL: (721..725) + IDENTIFIER: (721..725) "ping" + ATMOSPHERE: (725..726) " " + FORM: (726..733) + OPEN_PAREN: (726..727) "(" + SYMBOL: (727..728) + IDENTIFIER: (727..728) "-" + ATMOSPHERE: (728..729) " " + SYMBOL: (729..730) + IDENTIFIER: (729..730) "x" + ATMOSPHERE: (730..731) " " + CONSTANT: (731..732) + NUMBER: (731..732) "1" + CLOSE_PAREN: (732..733) ")" + CLOSE_PAREN: (733..734) ")" + CLOSE_PAREN: (734..735) ")" + CLOSE_PAREN: (735..736) ")" + CLOSE_PAREN: (736..737) ")" + CLOSE_PAREN: (737..738) ")" + ATMOSPHERE: (738..741) " + " + FORM: (741..754) + OPEN_PAREN: (741..742) "(" + SYMBOL: (742..746) + IDENTIFIER: (742..746) "ping" + ATMOSPHERE: (746..747) " " + CONSTANT: (747..753) + NUMBER: (747..753) "100000" + CLOSE_PAREN: (753..754) ")" + CLOSE_PAREN: (754..755) ")" + CLOSE_PAREN: (755..756) ")" + ATMOSPHERE: (756..759) " + + +" + FORM: (759..768) + OPEN_PAREN: (759..760) "(" + SYMBOL: (760..767) + IDENTIFIER: (760..767) "newline" + CLOSE_PAREN: (767..768) ")" + ATMOSPHERE: (768..770) " + +" + ATMOSPHERE: (770..823) "; Tail context should flow into `and` and `or` macros" + ATMOSPHERE: (823..824) " +" + FORM: (824..985) + OPEN_PAREN: (824..825) "(" + SYMBOL: (825..832) + IDENTIFIER: (825..832) "display" + ATMOSPHERE: (832..835) " + " + FORM: (835..984) + OPEN_PAREN: (835..836) "(" + SYMBOL: (836..842) + IDENTIFIER: (836..842) "letrec" + ATMOSPHERE: (842..847) " + " + FORM: (847..967) + OPEN_PAREN: (847..848) "(" + FORM: (848..966) + OPEN_PAREN: (848..849) "(" + SYMBOL: (849..852) + IDENTIFIER: (849..852) "foo" + ATMOSPHERE: (852..853) " " + FORM: (853..965) + OPEN_PAREN: (853..854) "(" + SYMBOL: (854..860) + IDENTIFIER: (854..860) "lambda" + ATMOSPHERE: (860..861) " " + FORM: (861..864) + OPEN_PAREN: (861..862) "(" + SYMBOL: (862..863) + IDENTIFIER: (862..863) "x" + CLOSE_PAREN: (863..864) ")" + ATMOSPHERE: (864..872) " + " + FORM: (872..964) + OPEN_PAREN: (872..873) "(" + SYMBOL: (873..876) + IDENTIFIER: (873..876) "and" + ATMOSPHERE: (876..877) " " + CONSTANT: (877..879) + BOOLEAN: (877..879) "#t" + ATMOSPHERE: (879..889) " + " + FORM: (889..963) + OPEN_PAREN: (889..890) "(" + SYMBOL: (890..892) + IDENTIFIER: (890..892) "or" + ATMOSPHERE: (892..893) " " + CONSTANT: (893..895) + BOOLEAN: (893..895) "#f" + ATMOSPHERE: (895..907) " + " + FORM: (907..962) + OPEN_PAREN: (907..908) "(" + SYMBOL: (908..910) + IDENTIFIER: (908..910) "if" + ATMOSPHERE: (910..911) " " + FORM: (911..918) + OPEN_PAREN: (911..912) "(" + SYMBOL: (912..913) + IDENTIFIER: (912..913) ">" + ATMOSPHERE: (913..914) " " + CONSTANT: (914..915) + NUMBER: (914..915) "0" + ATMOSPHERE: (915..916) " " + SYMBOL: (916..917) + IDENTIFIER: (916..917) "x" + CLOSE_PAREN: (917..918) ")" + ATMOSPHERE: (918..932) " + " + CONSTANT: (932..934) + BOOLEAN: (932..934) "#t" + ATMOSPHERE: (934..948) " + " + FORM: (948..961) + OPEN_PAREN: (948..949) "(" + SYMBOL: (949..952) + IDENTIFIER: (949..952) "foo" + ATMOSPHERE: (952..953) " " + FORM: (953..960) + OPEN_PAREN: (953..954) "(" + SYMBOL: (954..955) + IDENTIFIER: (954..955) "-" + ATMOSPHERE: (955..956) " " + SYMBOL: (956..957) + IDENTIFIER: (956..957) "x" + ATMOSPHERE: (957..958) " " + CONSTANT: (958..959) + NUMBER: (958..959) "1" + CLOSE_PAREN: (959..960) ")" + CLOSE_PAREN: (960..961) ")" + CLOSE_PAREN: (961..962) ")" + CLOSE_PAREN: (962..963) ")" + CLOSE_PAREN: (963..964) ")" + CLOSE_PAREN: (964..965) ")" + CLOSE_PAREN: (965..966) ")" + CLOSE_PAREN: (966..967) ")" + ATMOSPHERE: (967..971) " + " + FORM: (971..983) + OPEN_PAREN: (971..972) "(" + SYMBOL: (972..975) + IDENTIFIER: (972..975) "foo" + ATMOSPHERE: (975..976) " " + CONSTANT: (976..982) + NUMBER: (976..982) "100000" + CLOSE_PAREN: (982..983) ")" + CLOSE_PAREN: (983..984) ")" + CLOSE_PAREN: (984..985) ")" + ATMOSPHERE: (985..986) " +" + EOF: (986..986) "" diff --git a/spec/time.ast b/spec/time.ast new file mode 100644 index 0000000..a166a52 --- /dev/null +++ b/spec/time.ast @@ -0,0 +1,158 @@ +PROGRAM: (0..265) + FORM: (0..55) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..24) " + " + FORM: (24..38) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..31) + IDENTIFIER: (25..31) "scheme" + ATMOSPHERE: (31..32) " " + SYMBOL: (32..37) + IDENTIFIER: (32..37) "write" + CLOSE_PAREN: (37..38) ")" + ATMOSPHERE: (38..41) " + " + FORM: (41..54) + OPEN_PAREN: (41..42) "(" + SYMBOL: (42..48) + IDENTIFIER: (42..48) "scheme" + ATMOSPHERE: (48..49) " " + SYMBOL: (49..53) + IDENTIFIER: (49..53) "time" + CLOSE_PAREN: (53..54) ")" + CLOSE_PAREN: (54..55) ")" + ATMOSPHERE: (55..57) " + +" + FORM: (57..224) + OPEN_PAREN: (57..58) "(" + SYMBOL: (58..64) + IDENTIFIER: (58..64) "define" + ATMOSPHERE: (64..65) " " + FORM: (65..80) + OPEN_PAREN: (65..66) "(" + SYMBOL: (66..77) + IDENTIFIER: (66..77) "time-length" + ATMOSPHERE: (77..78) " " + SYMBOL: (78..79) + IDENTIFIER: (78..79) "x" + CLOSE_PAREN: (79..80) ")" + ATMOSPHERE: (80..83) " + " + FORM: (83..223) + OPEN_PAREN: (83..84) "(" + SYMBOL: (84..87) + IDENTIFIER: (84..87) "let" + ATMOSPHERE: (87..88) " " + FORM: (88..142) + OPEN_PAREN: (88..89) "(" + FORM: (89..109) + OPEN_PAREN: (89..90) "(" + SYMBOL: (90..94) + IDENTIFIER: (90..94) "list" + ATMOSPHERE: (94..95) " " + FORM: (95..108) + OPEN_PAREN: (95..96) "(" + SYMBOL: (96..105) + IDENTIFIER: (96..105) "make-list" + ATMOSPHERE: (105..106) " " + SYMBOL: (106..107) + IDENTIFIER: (106..107) "x" + CLOSE_PAREN: (107..108) ")" + CLOSE_PAREN: (108..109) ")" + ATMOSPHERE: (109..118) " + " + FORM: (118..141) + OPEN_PAREN: (118..119) "(" + SYMBOL: (119..124) + IDENTIFIER: (119..124) "start" + ATMOSPHERE: (124..125) " " + FORM: (125..140) + OPEN_PAREN: (125..126) "(" + SYMBOL: (126..139) + IDENTIFIER: (126..139) "current-jiffy" + CLOSE_PAREN: (139..140) ")" + CLOSE_PAREN: (140..141) ")" + CLOSE_PAREN: (141..142) ")" + ATMOSPHERE: (142..147) " + " + FORM: (147..160) + OPEN_PAREN: (147..148) "(" + SYMBOL: (148..154) + IDENTIFIER: (148..154) "length" + ATMOSPHERE: (154..155) " " + SYMBOL: (155..159) + IDENTIFIER: (155..159) "list" + CLOSE_PAREN: (159..160) ")" + ATMOSPHERE: (160..165) " + " + FORM: (165..222) + OPEN_PAREN: (165..166) "(" + SYMBOL: (166..167) + IDENTIFIER: (166..167) "/" + ATMOSPHERE: (167..168) " " + FORM: (168..193) + OPEN_PAREN: (168..169) "(" + SYMBOL: (169..170) + IDENTIFIER: (169..170) "-" + ATMOSPHERE: (170..171) " " + FORM: (171..186) + OPEN_PAREN: (171..172) "(" + SYMBOL: (172..185) + IDENTIFIER: (172..185) "current-jiffy" + CLOSE_PAREN: (185..186) ")" + ATMOSPHERE: (186..187) " " + SYMBOL: (187..192) + IDENTIFIER: (187..192) "start" + CLOSE_PAREN: (192..193) ")" + ATMOSPHERE: (193..201) " + " + FORM: (201..221) + OPEN_PAREN: (201..202) "(" + SYMBOL: (202..220) + IDENTIFIER: (202..220) "jiffies-per-second" + CLOSE_PAREN: (220..221) ")" + CLOSE_PAREN: (221..222) ")" + CLOSE_PAREN: (222..223) ")" + CLOSE_PAREN: (223..224) ")" + ATMOSPHERE: (224..226) " + +" + FORM: (226..242) + OPEN_PAREN: (226..227) "(" + SYMBOL: (227..238) + IDENTIFIER: (227..238) "time-length" + ATMOSPHERE: (238..239) " " + CONSTANT: (239..241) + NUMBER: (239..241) "10" + CLOSE_PAREN: (241..242) ")" + ATMOSPHERE: (242..243) " +" + FORM: (243..261) + OPEN_PAREN: (243..244) "(" + SYMBOL: (244..255) + IDENTIFIER: (244..255) "time-length" + ATMOSPHERE: (255..256) " " + CONSTANT: (256..260) + NUMBER: (256..260) "1000" + CLOSE_PAREN: (260..261) ")" + ATMOSPHERE: (261..263) " + +" + CONSTANT: (263..264) + NUMBER: (263..264) "0" + ATMOSPHERE: (264..265) " +" + EOF: (265..265) "" diff --git a/spec/user-macros.ast b/spec/user-macros.ast new file mode 100644 index 0000000..5e8c255 --- /dev/null +++ b/spec/user-macros.ast @@ -0,0 +1,332 @@ +PROGRAM: (0..555) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..43) " + +" + FORM: (43..131) + OPEN_PAREN: (43..44) "(" + SYMBOL: (44..57) + IDENTIFIER: (44..57) "define-syntax" + ATMOSPHERE: (57..58) " " + SYMBOL: (58..61) + IDENTIFIER: (58..61) "foo" + ATMOSPHERE: (61..66) " + " + FORM: (66..130) + OPEN_PAREN: (66..67) "(" + SYMBOL: (67..79) + IDENTIFIER: (67..79) "syntax-rules" + ATMOSPHERE: (79..80) " " + FORM: (80..82) + OPEN_PAREN: (80..81) "(" + CLOSE_PAREN: (81..82) ")" + ATMOSPHERE: (82..91) " + " + FORM: (91..109) + OPEN_PAREN: (91..92) "(" + FORM: (92..99) + OPEN_PAREN: (92..93) "(" + SYMBOL: (93..94) + IDENTIFIER: (93..94) "_" + ATMOSPHERE: (94..95) " " + CONSTANT: (95..98) + NUMBER: (95..98) "123" + CLOSE_PAREN: (98..99) ")" + ATMOSPHERE: (99..100) " " + QUOTED_DATUM: (100..108) + QUOTE: (100..101) "'" + FORM: (101..108) + OPEN_PAREN: (101..102) "(" + CONSTANT: (102..103) + NUMBER: (102..103) "1" + ATMOSPHERE: (103..104) " " + CONSTANT: (104..105) + NUMBER: (104..105) "2" + ATMOSPHERE: (105..106) " " + CONSTANT: (106..107) + NUMBER: (106..107) "3" + CLOSE_PAREN: (107..108) ")" + CLOSE_PAREN: (108..109) ")" + ATMOSPHERE: (109..118) " + " + FORM: (118..129) + OPEN_PAREN: (118..119) "(" + FORM: (119..122) + OPEN_PAREN: (119..120) "(" + SYMBOL: (120..121) + IDENTIFIER: (120..121) "_" + CLOSE_PAREN: (121..122) ")" + ATMOSPHERE: (122..123) " " + CONSTANT: (123..128) + STRING: (123..128) ""bar"" + CLOSE_PAREN: (128..129) ")" + CLOSE_PAREN: (129..130) ")" + CLOSE_PAREN: (130..131) ")" + ATMOSPHERE: (131..132) " +" + FORM: (132..172) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..140) + IDENTIFIER: (133..140) "display" + ATMOSPHERE: (140..141) " " + FORM: (141..171) + OPEN_PAREN: (141..142) "(" + SYMBOL: (142..146) + IDENTIFIER: (142..146) "list" + ATMOSPHERE: (146..151) " + " + FORM: (151..160) + OPEN_PAREN: (151..152) "(" + SYMBOL: (152..155) + IDENTIFIER: (152..155) "foo" + ATMOSPHERE: (155..156) " " + CONSTANT: (156..159) + NUMBER: (156..159) "123" + CLOSE_PAREN: (159..160) ")" + ATMOSPHERE: (160..165) " + " + FORM: (165..170) + OPEN_PAREN: (165..166) "(" + SYMBOL: (166..169) + IDENTIFIER: (166..169) "foo" + CLOSE_PAREN: (169..170) ")" + CLOSE_PAREN: (170..171) ")" + CLOSE_PAREN: (171..172) ")" + ATMOSPHERE: (172..173) " +" + FORM: (173..182) + OPEN_PAREN: (173..174) "(" + SYMBOL: (174..181) + IDENTIFIER: (174..181) "newline" + CLOSE_PAREN: (181..182) ")" + ATMOSPHERE: (182..184) " + +" + FORM: (184..360) + OPEN_PAREN: (184..185) "(" + SYMBOL: (185..188) + IDENTIFIER: (185..188) "let" + ATMOSPHERE: (188..189) " " + FORM: (189..191) + OPEN_PAREN: (189..190) "(" + CLOSE_PAREN: (190..191) ")" + ATMOSPHERE: (191..196) " + " + FORM: (196..306) + OPEN_PAREN: (196..197) "(" + SYMBOL: (197..210) + IDENTIFIER: (197..210) "define-syntax" + ATMOSPHERE: (210..211) " " + SYMBOL: (211..214) + IDENTIFIER: (211..214) "foo" + ATMOSPHERE: (214..223) " + " + FORM: (223..305) + OPEN_PAREN: (223..224) "(" + SYMBOL: (224..236) + IDENTIFIER: (224..236) "syntax-rules" + ATMOSPHERE: (236..237) " " + FORM: (237..242) + OPEN_PAREN: (237..238) "(" + SYMBOL: (238..241) + IDENTIFIER: (238..241) "bar" + CLOSE_PAREN: (241..242) ")" + ATMOSPHERE: (242..255) " + " + FORM: (255..273) + OPEN_PAREN: (255..256) "(" + FORM: (256..263) + OPEN_PAREN: (256..257) "(" + SYMBOL: (257..258) + IDENTIFIER: (257..258) "_" + ATMOSPHERE: (258..259) " " + SYMBOL: (259..262) + IDENTIFIER: (259..262) "bar" + CLOSE_PAREN: (262..263) ")" + ATMOSPHERE: (263..264) " " + CONSTANT: (264..272) + STRING: (264..272) ""foobar"" + CLOSE_PAREN: (272..273) ")" + ATMOSPHERE: (273..286) " + " + FORM: (286..304) + OPEN_PAREN: (286..287) "(" + FORM: (287..294) + OPEN_PAREN: (287..288) "(" + SYMBOL: (288..289) + IDENTIFIER: (288..289) "_" + ATMOSPHERE: (289..290) " " + SYMBOL: (290..293) + IDENTIFIER: (290..293) "baz" + CLOSE_PAREN: (293..294) ")" + ATMOSPHERE: (294..295) " " + CONSTANT: (295..303) + STRING: (295..303) ""bizbaz"" + CLOSE_PAREN: (303..304) ")" + CLOSE_PAREN: (304..305) ")" + CLOSE_PAREN: (305..306) ")" + ATMOSPHERE: (306..311) " + " + FORM: (311..345) + OPEN_PAREN: (311..312) "(" + SYMBOL: (312..319) + IDENTIFIER: (312..319) "display" + ATMOSPHERE: (319..320) " " + FORM: (320..344) + OPEN_PAREN: (320..321) "(" + SYMBOL: (321..325) + IDENTIFIER: (321..325) "list" + ATMOSPHERE: (325..326) " " + FORM: (326..335) + OPEN_PAREN: (326..327) "(" + SYMBOL: (327..330) + IDENTIFIER: (327..330) "foo" + ATMOSPHERE: (330..331) " " + SYMBOL: (331..334) + IDENTIFIER: (331..334) "bar" + CLOSE_PAREN: (334..335) ")" + ATMOSPHERE: (335..336) " " + FORM: (336..343) + OPEN_PAREN: (336..337) "(" + SYMBOL: (337..340) + IDENTIFIER: (337..340) "foo" + ATMOSPHERE: (340..341) " " + SYMBOL: (341..342) + IDENTIFIER: (341..342) "b" + CLOSE_PAREN: (342..343) ")" + CLOSE_PAREN: (343..344) ")" + CLOSE_PAREN: (344..345) ")" + ATMOSPHERE: (345..350) " + " + FORM: (350..359) + OPEN_PAREN: (350..351) "(" + SYMBOL: (351..358) + IDENTIFIER: (351..358) "newline" + CLOSE_PAREN: (358..359) ")" + CLOSE_PAREN: (359..360) ")" + ATMOSPHERE: (360..362) " + +" + FORM: (362..477) + OPEN_PAREN: (362..363) "(" + SYMBOL: (363..370) + IDENTIFIER: (363..370) "display" + ATMOSPHERE: (370..375) " + " + FORM: (375..476) + OPEN_PAREN: (375..376) "(" + SYMBOL: (376..386) + IDENTIFIER: (376..386) "let-syntax" + ATMOSPHERE: (386..395) " + " + FORM: (395..455) + OPEN_PAREN: (395..396) "(" + FORM: (396..454) + OPEN_PAREN: (396..397) "(" + SYMBOL: (397..400) + IDENTIFIER: (397..400) "foo" + ATMOSPHERE: (400..401) " " + FORM: (401..453) + OPEN_PAREN: (401..402) "(" + SYMBOL: (402..414) + IDENTIFIER: (402..414) "syntax-rules" + ATMOSPHERE: (414..415) " " + FORM: (415..417) + OPEN_PAREN: (415..416) "(" + CLOSE_PAREN: (416..417) ")" + ATMOSPHERE: (417..430) " + " + FORM: (430..452) + OPEN_PAREN: (430..431) "(" + FORM: (431..438) + OPEN_PAREN: (431..432) "(" + SYMBOL: (432..435) + IDENTIFIER: (432..435) "foo" + ATMOSPHERE: (435..436) " " + SYMBOL: (436..437) + IDENTIFIER: (436..437) "_" + CLOSE_PAREN: (437..438) ")" + ATMOSPHERE: (438..439) " " + QUOTED_DATUM: (439..451) + QUOTE: (439..440) "'" + FORM: (440..451) + OPEN_PAREN: (440..441) "(" + SYMBOL: (441..446) + IDENTIFIER: (441..446) "inner" + ATMOSPHERE: (446..447) " " + SYMBOL: (447..450) + IDENTIFIER: (447..450) "foo" + CLOSE_PAREN: (450..451) ")" + CLOSE_PAREN: (451..452) ")" + CLOSE_PAREN: (452..453) ")" + CLOSE_PAREN: (453..454) ")" + CLOSE_PAREN: (454..455) ")" + ATMOSPHERE: (455..464) " + " + FORM: (464..475) + OPEN_PAREN: (464..465) "(" + SYMBOL: (465..468) + IDENTIFIER: (465..468) "foo" + ATMOSPHERE: (468..469) " " + CONSTANT: (469..474) + STRING: (469..474) ""123"" + CLOSE_PAREN: (474..475) ")" + CLOSE_PAREN: (475..476) ")" + CLOSE_PAREN: (476..477) ")" + FORM: (477..486) + OPEN_PAREN: (477..478) "(" + SYMBOL: (478..485) + IDENTIFIER: (478..485) "newline" + CLOSE_PAREN: (485..486) ")" + ATMOSPHERE: (486..488) " + +" + ATMOSPHERE: (488..524) "; Should be the first `foo` again..." + ATMOSPHERE: (524..525) " +" + FORM: (525..544) + OPEN_PAREN: (525..526) "(" + SYMBOL: (526..533) + IDENTIFIER: (526..533) "display" + ATMOSPHERE: (533..534) " " + FORM: (534..543) + OPEN_PAREN: (534..535) "(" + SYMBOL: (535..538) + IDENTIFIER: (535..538) "foo" + ATMOSPHERE: (538..539) " " + CONSTANT: (539..542) + NUMBER: (539..542) "123" + CLOSE_PAREN: (542..543) ")" + CLOSE_PAREN: (543..544) ")" + FORM: (544..553) + OPEN_PAREN: (544..545) "(" + SYMBOL: (545..552) + IDENTIFIER: (545..552) "newline" + CLOSE_PAREN: (552..553) ")" + ATMOSPHERE: (553..555) " + +" + EOF: (555..555) "" diff --git a/spec/vectors.ast b/spec/vectors.ast new file mode 100644 index 0000000..0352235 --- /dev/null +++ b/spec/vectors.ast @@ -0,0 +1,305 @@ +PROGRAM: (0..511) + FORM: (0..41) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..26) " + " + FORM: (26..40) + OPEN_PAREN: (26..27) "(" + SYMBOL: (27..33) + IDENTIFIER: (27..33) "scheme" + ATMOSPHERE: (33..34) " " + SYMBOL: (34..39) + IDENTIFIER: (34..39) "write" + CLOSE_PAREN: (39..40) ")" + CLOSE_PAREN: (40..41) ")" + ATMOSPHERE: (41..42) " +" + FORM: (42..511) + OPEN_PAREN: (42..43) "(" + SYMBOL: (43..50) + IDENTIFIER: (43..50) "display" + ATMOSPHERE: (50..51) " " + FORM: (51..510) + OPEN_PAREN: (51..52) "(" + SYMBOL: (52..56) + IDENTIFIER: (52..56) "list" + ATMOSPHERE: (56..66) " + + " + ATMOSPHERE: (66..79) ";; vector new" + ATMOSPHERE: (79..84) " + " + FORM: (84..98) + OPEN_PAREN: (84..85) "(" + SYMBOL: (85..91) + IDENTIFIER: (85..91) "vector" + ATMOSPHERE: (91..92) " " + CONSTANT: (92..93) + NUMBER: (92..93) "1" + ATMOSPHERE: (93..94) " " + CONSTANT: (94..95) + NUMBER: (94..95) "2" + ATMOSPHERE: (95..96) " " + CONSTANT: (96..97) + NUMBER: (96..97) "3" + CLOSE_PAREN: (97..98) ")" + ATMOSPHERE: (98..103) " + " + FORM: (103..123) + OPEN_PAREN: (103..104) "(" + SYMBOL: (104..115) + IDENTIFIER: (104..115) "make-vector" + ATMOSPHERE: (115..116) " " + CONSTANT: (116..118) + NUMBER: (116..118) "10" + ATMOSPHERE: (118..119) " " + CONSTANT: (119..122) + CHARACTER: (119..122) "#\a" + CLOSE_PAREN: (122..123) ")" + ATMOSPHERE: (123..129) " + + " + ATMOSPHERE: (129..147) ";; Vector literals" + ATMOSPHERE: (147..152) " + " + VEC: (152..173) + OPEN_PAREN: (152..154) "#(" + CONSTANT: (154..155) + NUMBER: (154..155) "0" + ATMOSPHERE: (155..156) " " + FORM: (156..165) + OPEN_PAREN: (156..157) "(" + CONSTANT: (157..158) + NUMBER: (157..158) "2" + ATMOSPHERE: (158..159) " " + CONSTANT: (159..160) + NUMBER: (159..160) "2" + ATMOSPHERE: (160..161) " " + CONSTANT: (161..162) + NUMBER: (161..162) "2" + ATMOSPHERE: (162..163) " " + CONSTANT: (163..164) + NUMBER: (163..164) "2" + CLOSE_PAREN: (164..165) ")" + ATMOSPHERE: (165..166) " " + CONSTANT: (166..172) + STRING: (166..172) ""Anna"" + CLOSE_PAREN: (172..173) ")" + ATMOSPHERE: (173..179) " + + " + ATMOSPHERE: (179..199) ";; Vector type check" + ATMOSPHERE: (199..204) " + " + FORM: (204..217) + OPEN_PAREN: (204..205) "(" + SYMBOL: (205..212) + IDENTIFIER: (205..212) "vector?" + ATMOSPHERE: (212..213) " " + VEC: (213..216) + OPEN_PAREN: (213..215) "#(" + CLOSE_PAREN: (215..216) ")" + CLOSE_PAREN: (216..217) ")" + ATMOSPHERE: (217..222) " + " + FORM: (222..240) + OPEN_PAREN: (222..223) "(" + SYMBOL: (223..230) + IDENTIFIER: (223..230) "vector?" + ATMOSPHERE: (230..231) " " + VEC: (231..239) + OPEN_PAREN: (231..233) "#(" + CONSTANT: (233..234) + NUMBER: (233..234) "1" + ATMOSPHERE: (234..235) " " + CONSTANT: (235..236) + NUMBER: (235..236) "2" + ATMOSPHERE: (236..237) " " + CONSTANT: (237..238) + NUMBER: (237..238) "3" + CLOSE_PAREN: (238..239) ")" + CLOSE_PAREN: (239..240) ")" + ATMOSPHERE: (240..245) " + " + FORM: (245..261) + OPEN_PAREN: (245..246) "(" + SYMBOL: (246..253) + IDENTIFIER: (246..253) "vector?" + ATMOSPHERE: (253..254) " " + CONSTANT: (254..260) + STRING: (254..260) ""Test"" + CLOSE_PAREN: (260..261) ")" + ATMOSPHERE: (261..267) " + + " + ATMOSPHERE: (267..291) ";; General vector method" + ATMOSPHERE: (291..296) " + " + FORM: (296..326) + OPEN_PAREN: (296..297) "(" + SYMBOL: (297..310) + IDENTIFIER: (297..310) "vector-length" + ATMOSPHERE: (310..311) " " + VEC: (311..325) + OPEN_PAREN: (311..313) "#(" + CONSTANT: (313..316) + CHARACTER: (313..316) "#\a" + ATMOSPHERE: (316..317) " " + CONSTANT: (317..320) + CHARACTER: (317..320) "#\b" + ATMOSPHERE: (320..321) " " + CONSTANT: (321..324) + CHARACTER: (321..324) "#\c" + CLOSE_PAREN: (324..325) ")" + CLOSE_PAREN: (325..326) ")" + ATMOSPHERE: (326..331) " + " + FORM: (331..360) + OPEN_PAREN: (331..332) "(" + SYMBOL: (332..342) + IDENTIFIER: (332..342) "vector-ref" + ATMOSPHERE: (342..343) " " + VEC: (343..357) + OPEN_PAREN: (343..345) "#(" + SYMBOL: (345..346) + IDENTIFIER: (345..346) "a" + ATMOSPHERE: (346..347) " " + CONSTANT: (347..349) + BOOLEAN: (347..349) "#f" + ATMOSPHERE: (349..350) " " + CONSTANT: (350..356) + STRING: (350..356) ""test"" + CLOSE_PAREN: (356..357) ")" + ATMOSPHERE: (357..358) " " + CONSTANT: (358..359) + NUMBER: (358..359) "2" + CLOSE_PAREN: (359..360) ")" + ATMOSPHERE: (360..365) " + " + FORM: (365..401) + OPEN_PAREN: (365..366) "(" + SYMBOL: (366..376) + IDENTIFIER: (366..376) "vector-ref" + ATMOSPHERE: (376..377) " " + QUOTED_DATUM: (377..399) + QUOTE: (377..378) "'" + VEC: (378..398) + OPEN_PAREN: (378..380) "#(" + CONSTANT: (380..381) + NUMBER: (380..381) "1" + ATMOSPHERE: (381..382) " " + CONSTANT: (382..383) + NUMBER: (382..383) "1" + ATMOSPHERE: (383..384) " " + CONSTANT: (384..385) + NUMBER: (384..385) "2" + ATMOSPHERE: (385..386) " " + CONSTANT: (386..387) + NUMBER: (386..387) "3" + ATMOSPHERE: (387..388) " " + CONSTANT: (388..389) + NUMBER: (388..389) "5" + ATMOSPHERE: (389..390) " " + CONSTANT: (390..391) + NUMBER: (390..391) "8" + ATMOSPHERE: (391..392) " " + CONSTANT: (392..394) + NUMBER: (392..394) "13" + ATMOSPHERE: (394..395) " " + CONSTANT: (395..397) + NUMBER: (395..397) "21" + CLOSE_PAREN: (397..398) ")" + ATMOSPHERE: (398..399) " " + CONSTANT: (399..400) + NUMBER: (399..400) "5" + CLOSE_PAREN: (400..401) ")" + ATMOSPHERE: (401..406) " + " + FORM: (406..503) + OPEN_PAREN: (406..407) "(" + SYMBOL: (407..410) + IDENTIFIER: (407..410) "let" + ATMOSPHERE: (410..411) " " + FORM: (411..447) + OPEN_PAREN: (411..412) "(" + FORM: (412..446) + OPEN_PAREN: (412..413) "(" + SYMBOL: (413..416) + IDENTIFIER: (413..416) "vec" + ATMOSPHERE: (416..417) " " + FORM: (417..445) + OPEN_PAREN: (417..418) "(" + SYMBOL: (418..424) + IDENTIFIER: (418..424) "vector" + ATMOSPHERE: (424..425) " " + CONSTANT: (425..426) + NUMBER: (425..426) "0" + ATMOSPHERE: (426..427) " " + QUOTED_DATUM: (427..438) + QUOTE: (427..428) "'" + FORM: (428..437) + OPEN_PAREN: (428..429) "(" + CONSTANT: (429..430) + NUMBER: (429..430) "2" + ATMOSPHERE: (430..431) " " + CONSTANT: (431..432) + NUMBER: (431..432) "2" + ATMOSPHERE: (432..433) " " + CONSTANT: (433..434) + NUMBER: (433..434) "2" + ATMOSPHERE: (434..435) " " + CONSTANT: (435..436) + NUMBER: (435..436) "2" + CLOSE_PAREN: (436..437) ")" + ATMOSPHERE: (437..438) " " + CONSTANT: (438..444) + STRING: (438..444) ""Anna"" + CLOSE_PAREN: (444..445) ")" + CLOSE_PAREN: (445..446) ")" + CLOSE_PAREN: (446..447) ")" + ATMOSPHERE: (447..456) " + " + FORM: (456..490) + OPEN_PAREN: (456..457) "(" + SYMBOL: (457..468) + IDENTIFIER: (457..468) "vector-set!" + ATMOSPHERE: (468..469) " " + SYMBOL: (469..472) + IDENTIFIER: (469..472) "vec" + ATMOSPHERE: (472..473) " " + CONSTANT: (473..474) + NUMBER: (473..474) "1" + ATMOSPHERE: (474..475) " " + QUOTED_DATUM: (475..489) + QUOTE: (475..476) "'" + FORM: (476..489) + OPEN_PAREN: (476..477) "(" + CONSTANT: (477..482) + STRING: (477..482) ""Sue"" + ATMOSPHERE: (482..483) " " + CONSTANT: (483..488) + STRING: (483..488) ""Sue"" + CLOSE_PAREN: (488..489) ")" + CLOSE_PAREN: (489..490) ")" + ATMOSPHERE: (490..499) " + " + SYMBOL: (499..502) + IDENTIFIER: (499..502) "vec" + CLOSE_PAREN: (502..503) ")" + ATMOSPHERE: (503..509) " + + " + CLOSE_PAREN: (509..510) ")" + CLOSE_PAREN: (510..511) ")" + EOF: (511..511) "" diff --git a/spec/zed.ast b/spec/zed.ast new file mode 100644 index 0000000..75e3d1a --- /dev/null +++ b/spec/zed.ast @@ -0,0 +1,442 @@ +PROGRAM: (0..725) + FORM: (0..39) + OPEN_PAREN: (0..1) "(" + SYMBOL: (1..7) + IDENTIFIER: (1..7) "import" + ATMOSPHERE: (7..8) " " + FORM: (8..21) + OPEN_PAREN: (8..9) "(" + SYMBOL: (9..15) + IDENTIFIER: (9..15) "scheme" + ATMOSPHERE: (15..16) " " + SYMBOL: (16..20) + IDENTIFIER: (16..20) "base" + CLOSE_PAREN: (20..21) ")" + ATMOSPHERE: (21..24) " + " + FORM: (24..38) + OPEN_PAREN: (24..25) "(" + SYMBOL: (25..31) + IDENTIFIER: (25..31) "scheme" + ATMOSPHERE: (31..32) " " + SYMBOL: (32..37) + IDENTIFIER: (32..37) "write" + CLOSE_PAREN: (37..38) ")" + CLOSE_PAREN: (38..39) ")" + ATMOSPHERE: (39..41) " + +" + ATMOSPHERE: (41..92) ";; This is the zed combinator from lambda calculus." + ATMOSPHERE: (92..93) " +" + FORM: (93..181) + OPEN_PAREN: (93..94) "(" + SYMBOL: (94..100) + IDENTIFIER: (94..100) "define" + ATMOSPHERE: (100..101) " " + FORM: (101..106) + OPEN_PAREN: (101..102) "(" + SYMBOL: (102..103) + IDENTIFIER: (102..103) "Z" + ATMOSPHERE: (103..104) " " + SYMBOL: (104..105) + IDENTIFIER: (104..105) "f" + CLOSE_PAREN: (105..106) ")" + ATMOSPHERE: (106..109) " + " + FORM: (109..180) + OPEN_PAREN: (109..110) "(" + FORM: (110..128) + OPEN_PAREN: (110..111) "(" + SYMBOL: (111..117) + IDENTIFIER: (111..117) "lambda" + ATMOSPHERE: (117..118) " " + FORM: (118..121) + OPEN_PAREN: (118..119) "(" + SYMBOL: (119..120) + IDENTIFIER: (119..120) "g" + CLOSE_PAREN: (120..121) ")" + ATMOSPHERE: (121..122) " " + FORM: (122..127) + OPEN_PAREN: (122..123) "(" + SYMBOL: (123..124) + IDENTIFIER: (123..124) "g" + ATMOSPHERE: (124..125) " " + SYMBOL: (125..126) + IDENTIFIER: (125..126) "g" + CLOSE_PAREN: (126..127) ")" + CLOSE_PAREN: (127..128) ")" + ATMOSPHERE: (128..132) " + " + FORM: (132..179) + OPEN_PAREN: (132..133) "(" + SYMBOL: (133..139) + IDENTIFIER: (133..139) "lambda" + ATMOSPHERE: (139..140) " " + FORM: (140..143) + OPEN_PAREN: (140..141) "(" + SYMBOL: (141..142) + IDENTIFIER: (141..142) "g" + CLOSE_PAREN: (142..143) ")" + ATMOSPHERE: (143..148) " + " + FORM: (148..178) + OPEN_PAREN: (148..149) "(" + SYMBOL: (149..150) + IDENTIFIER: (149..150) "f" + ATMOSPHERE: (150..151) " " + FORM: (151..177) + OPEN_PAREN: (151..152) "(" + SYMBOL: (152..158) + IDENTIFIER: (152..158) "lambda" + ATMOSPHERE: (158..159) " " + SYMBOL: (159..160) + IDENTIFIER: (159..160) "a" + ATMOSPHERE: (160..161) " " + FORM: (161..176) + OPEN_PAREN: (161..162) "(" + SYMBOL: (162..167) + IDENTIFIER: (162..167) "apply" + ATMOSPHERE: (167..168) " " + FORM: (168..173) + OPEN_PAREN: (168..169) "(" + SYMBOL: (169..170) + IDENTIFIER: (169..170) "g" + ATMOSPHERE: (170..171) " " + SYMBOL: (171..172) + IDENTIFIER: (171..172) "g" + CLOSE_PAREN: (172..173) ")" + ATMOSPHERE: (173..174) " " + SYMBOL: (174..175) + IDENTIFIER: (174..175) "a" + CLOSE_PAREN: (175..176) ")" + CLOSE_PAREN: (176..177) ")" + CLOSE_PAREN: (177..178) ")" + CLOSE_PAREN: (178..179) ")" + CLOSE_PAREN: (179..180) ")" + CLOSE_PAREN: (180..181) ")" + ATMOSPHERE: (181..183) " + +" + ATMOSPHERE: (183..220) ";; Echo just prints out its arguments" + ATMOSPHERE: (220..221) " +" + FORM: (221..295) + OPEN_PAREN: (221..222) "(" + SYMBOL: (222..228) + IDENTIFIER: (222..228) "define" + ATMOSPHERE: (228..229) " " + SYMBOL: (229..233) + IDENTIFIER: (229..233) "echo" + ATMOSPHERE: (233..236) " + " + FORM: (236..294) + OPEN_PAREN: (236..237) "(" + SYMBOL: (237..238) + IDENTIFIER: (237..238) "Z" + ATMOSPHERE: (238..239) " " + FORM: (239..293) + OPEN_PAREN: (239..240) "(" + SYMBOL: (240..246) + IDENTIFIER: (240..246) "lambda" + ATMOSPHERE: (246..247) " " + FORM: (247..253) + OPEN_PAREN: (247..248) "(" + SYMBOL: (248..252) + IDENTIFIER: (248..252) "echo" + CLOSE_PAREN: (252..253) ")" + ATMOSPHERE: (253..258) " + " + FORM: (258..292) + OPEN_PAREN: (258..259) "(" + SYMBOL: (259..265) + IDENTIFIER: (259..265) "lambda" + ATMOSPHERE: (265..266) " " + SYMBOL: (266..270) + IDENTIFIER: (266..270) "args" + ATMOSPHERE: (270..277) " + " + FORM: (277..291) + OPEN_PAREN: (277..278) "(" + SYMBOL: (278..285) + IDENTIFIER: (278..285) "display" + ATMOSPHERE: (285..286) " " + SYMBOL: (286..290) + IDENTIFIER: (286..290) "args" + CLOSE_PAREN: (290..291) ")" + CLOSE_PAREN: (291..292) ")" + CLOSE_PAREN: (292..293) ")" + CLOSE_PAREN: (293..294) ")" + CLOSE_PAREN: (294..295) ")" + ATMOSPHERE: (295..297) " + +" + FORM: (297..317) + OPEN_PAREN: (297..298) "(" + SYMBOL: (298..302) + IDENTIFIER: (298..302) "echo" + ATMOSPHERE: (302..303) " " + CONSTANT: (303..316) + STRING: (303..316) ""hello world"" + CLOSE_PAREN: (316..317) ")" + FORM: (317..326) + OPEN_PAREN: (317..318) "(" + SYMBOL: (318..325) + IDENTIFIER: (318..325) "newline" + CLOSE_PAREN: (325..326) ")" + ATMOSPHERE: (326..328) " + +" + ATMOSPHERE: (328..380) ";; Recursive fibonacci defined using the combinator." + ATMOSPHERE: (380..381) " +" + FORM: (381..501) + OPEN_PAREN: (381..382) "(" + SYMBOL: (382..388) + IDENTIFIER: (382..388) "define" + ATMOSPHERE: (388..389) " " + SYMBOL: (389..392) + IDENTIFIER: (389..392) "fib" + ATMOSPHERE: (392..395) " + " + FORM: (395..500) + OPEN_PAREN: (395..396) "(" + SYMBOL: (396..397) + IDENTIFIER: (396..397) "Z" + ATMOSPHERE: (397..398) " " + FORM: (398..499) + OPEN_PAREN: (398..399) "(" + SYMBOL: (399..405) + IDENTIFIER: (399..405) "lambda" + ATMOSPHERE: (405..406) " " + FORM: (406..411) + OPEN_PAREN: (406..407) "(" + SYMBOL: (407..410) + IDENTIFIER: (407..410) "fib" + CLOSE_PAREN: (410..411) ")" + ATMOSPHERE: (411..416) " + " + FORM: (416..498) + OPEN_PAREN: (416..417) "(" + SYMBOL: (417..423) + IDENTIFIER: (417..423) "lambda" + ATMOSPHERE: (423..424) " " + FORM: (424..427) + OPEN_PAREN: (424..425) "(" + SYMBOL: (425..426) + IDENTIFIER: (425..426) "n" + CLOSE_PAREN: (426..427) ")" + ATMOSPHERE: (427..434) " + " + FORM: (434..497) + OPEN_PAREN: (434..435) "(" + SYMBOL: (435..437) + IDENTIFIER: (435..437) "if" + ATMOSPHERE: (437..438) " " + FORM: (438..446) + OPEN_PAREN: (438..439) "(" + SYMBOL: (439..441) + IDENTIFIER: (439..441) "<=" + ATMOSPHERE: (441..442) " " + SYMBOL: (442..443) + IDENTIFIER: (442..443) "n" + ATMOSPHERE: (443..444) " " + CONSTANT: (444..445) + NUMBER: (444..445) "2" + CLOSE_PAREN: (445..446) ")" + ATMOSPHERE: (446..455) " + " + CONSTANT: (455..456) + NUMBER: (455..456) "1" + ATMOSPHERE: (456..465) " + " + FORM: (465..496) + OPEN_PAREN: (465..466) "(" + SYMBOL: (466..467) + IDENTIFIER: (466..467) "+" + ATMOSPHERE: (467..468) " " + FORM: (468..481) + OPEN_PAREN: (468..469) "(" + SYMBOL: (469..472) + IDENTIFIER: (469..472) "fib" + ATMOSPHERE: (472..473) " " + FORM: (473..480) + OPEN_PAREN: (473..474) "(" + SYMBOL: (474..475) + IDENTIFIER: (474..475) "-" + ATMOSPHERE: (475..476) " " + SYMBOL: (476..477) + IDENTIFIER: (476..477) "n" + ATMOSPHERE: (477..478) " " + CONSTANT: (478..479) + NUMBER: (478..479) "1" + CLOSE_PAREN: (479..480) ")" + CLOSE_PAREN: (480..481) ")" + ATMOSPHERE: (481..482) " " + FORM: (482..495) + OPEN_PAREN: (482..483) "(" + SYMBOL: (483..486) + IDENTIFIER: (483..486) "fib" + ATMOSPHERE: (486..487) " " + FORM: (487..494) + OPEN_PAREN: (487..488) "(" + SYMBOL: (488..489) + IDENTIFIER: (488..489) "-" + ATMOSPHERE: (489..490) " " + SYMBOL: (490..491) + IDENTIFIER: (490..491) "n" + ATMOSPHERE: (491..492) " " + CONSTANT: (492..493) + NUMBER: (492..493) "2" + CLOSE_PAREN: (493..494) ")" + CLOSE_PAREN: (494..495) ")" + CLOSE_PAREN: (495..496) ")" + CLOSE_PAREN: (496..497) ")" + CLOSE_PAREN: (497..498) ")" + CLOSE_PAREN: (498..499) ")" + CLOSE_PAREN: (499..500) ")" + CLOSE_PAREN: (500..501) ")" + ATMOSPHERE: (501..503) " + +" + FORM: (503..520) + OPEN_PAREN: (503..504) "(" + SYMBOL: (504..511) + IDENTIFIER: (504..511) "display" + ATMOSPHERE: (511..512) " " + FORM: (512..519) + OPEN_PAREN: (512..513) "(" + SYMBOL: (513..516) + IDENTIFIER: (513..516) "fib" + ATMOSPHERE: (516..517) " " + CONSTANT: (517..518) + NUMBER: (517..518) "5" + CLOSE_PAREN: (518..519) ")" + CLOSE_PAREN: (519..520) ")" + FORM: (520..529) + OPEN_PAREN: (520..521) "(" + SYMBOL: (521..528) + IDENTIFIER: (521..528) "newline" + CLOSE_PAREN: (528..529) ")" + ATMOSPHERE: (529..531) " + +" + ATMOSPHERE: (531..583) ";; Recursive factorial defined using the combinator." + ATMOSPHERE: (583..584) " +" + FORM: (584..694) + OPEN_PAREN: (584..585) "(" + SYMBOL: (585..591) + IDENTIFIER: (585..591) "define" + ATMOSPHERE: (591..592) " " + SYMBOL: (592..596) + IDENTIFIER: (592..596) "fact" + ATMOSPHERE: (596..599) " + " + FORM: (599..693) + OPEN_PAREN: (599..600) "(" + SYMBOL: (600..601) + IDENTIFIER: (600..601) "Z" + ATMOSPHERE: (601..602) " " + FORM: (602..692) + OPEN_PAREN: (602..603) "(" + SYMBOL: (603..609) + IDENTIFIER: (603..609) "lambda" + ATMOSPHERE: (609..610) " " + FORM: (610..616) + OPEN_PAREN: (610..611) "(" + SYMBOL: (611..615) + IDENTIFIER: (611..615) "fact" + CLOSE_PAREN: (615..616) ")" + ATMOSPHERE: (616..621) " + " + FORM: (621..691) + OPEN_PAREN: (621..622) "(" + SYMBOL: (622..628) + IDENTIFIER: (622..628) "lambda" + ATMOSPHERE: (628..629) " " + FORM: (629..632) + OPEN_PAREN: (629..630) "(" + SYMBOL: (630..631) + IDENTIFIER: (630..631) "n" + CLOSE_PAREN: (631..632) ")" + ATMOSPHERE: (632..639) " + " + FORM: (639..690) + OPEN_PAREN: (639..640) "(" + SYMBOL: (640..642) + IDENTIFIER: (640..642) "if" + ATMOSPHERE: (642..643) " " + FORM: (643..650) + OPEN_PAREN: (643..644) "(" + SYMBOL: (644..645) + IDENTIFIER: (644..645) "=" + ATMOSPHERE: (645..646) " " + SYMBOL: (646..647) + IDENTIFIER: (646..647) "n" + ATMOSPHERE: (647..648) " " + CONSTANT: (648..649) + NUMBER: (648..649) "0" + CLOSE_PAREN: (649..650) ")" + ATMOSPHERE: (650..659) " + " + CONSTANT: (659..660) + NUMBER: (659..660) "1" + ATMOSPHERE: (660..669) " + " + FORM: (669..689) + OPEN_PAREN: (669..670) "(" + SYMBOL: (670..671) + IDENTIFIER: (670..671) "*" + ATMOSPHERE: (671..672) " " + SYMBOL: (672..673) + IDENTIFIER: (672..673) "n" + ATMOSPHERE: (673..674) " " + FORM: (674..688) + OPEN_PAREN: (674..675) "(" + SYMBOL: (675..679) + IDENTIFIER: (675..679) "fact" + ATMOSPHERE: (679..680) " " + FORM: (680..687) + OPEN_PAREN: (680..681) "(" + SYMBOL: (681..682) + IDENTIFIER: (681..682) "-" + ATMOSPHERE: (682..683) " " + SYMBOL: (683..684) + IDENTIFIER: (683..684) "n" + ATMOSPHERE: (684..685) " " + CONSTANT: (685..686) + NUMBER: (685..686) "1" + CLOSE_PAREN: (686..687) ")" + CLOSE_PAREN: (687..688) ")" + CLOSE_PAREN: (688..689) ")" + CLOSE_PAREN: (689..690) ")" + CLOSE_PAREN: (690..691) ")" + CLOSE_PAREN: (691..692) ")" + CLOSE_PAREN: (692..693) ")" + CLOSE_PAREN: (693..694) ")" + ATMOSPHERE: (694..696) " + +" + FORM: (696..715) + OPEN_PAREN: (696..697) "(" + SYMBOL: (697..704) + IDENTIFIER: (697..704) "display" + ATMOSPHERE: (704..705) " " + FORM: (705..714) + OPEN_PAREN: (705..706) "(" + SYMBOL: (706..710) + IDENTIFIER: (706..710) "fact" + ATMOSPHERE: (710..711) " " + CONSTANT: (711..713) + NUMBER: (711..713) "12" + CLOSE_PAREN: (713..714) ")" + CLOSE_PAREN: (714..715) ")" + FORM: (715..724) + OPEN_PAREN: (715..716) "(" + SYMBOL: (716..723) + IDENTIFIER: (716..723) "newline" + CLOSE_PAREN: (723..724) ")" + ATMOSPHERE: (724..725) " +" + EOF: (725..725) "" diff --git a/test/Feersum.Tests/LexTests.fs b/test/Feersum.Tests/LexTests.fs index ff93c6b..83e97ec 100644 --- a/test/Feersum.Tests/LexTests.fs +++ b/test/Feersum.Tests/LexTests.fs @@ -4,10 +4,6 @@ open Xunit open Feersum.CompilerServices.Syntax open Feersum.CompilerServices.Syntax.Lex -open Feersum.CompilerServices.Text - -let private p name line col = - TextPoint.FromParts(name, line, col) |> TextLocation.Point [] let ``Empty input text contains no tokens`` () = diff --git a/test/Feersum.Tests/SpecTests.fs b/test/Feersum.Tests/SpecTests.fs index c26b99d..387ea3a 100644 --- a/test/Feersum.Tests/SpecTests.fs +++ b/test/Feersum.Tests/SpecTests.fs @@ -16,6 +16,9 @@ open System.Threading.Tasks open Feersum.CompilerServices.Syntax.Parse open Feersum.CompilerServices.Syntax.Tree +let private shouldUpdateSnapshots = + System.Environment.GetEnvironmentVariable("UpdateSnapshots") = "true" + // This type has to be public so `Snapper` can see it. type TestExecutionResult = { Output: string @@ -182,7 +185,7 @@ let public getParseTestData () = [] [] -let ``spec tests parse result`` s = +let rec ``spec tests parse result`` s = let sourcePath = Path.Join(specDir, s) let root = @@ -192,13 +195,21 @@ let ``spec tests parse result`` s = { r with Diagnostics = diagSanitiser r.Diagnostics }) + let astPath = Path.ChangeExtension(sourcePath, "ast") + if shouldUpdateSnapshots then + File.WriteAllText(astPath, root.Root) + else + Assert.Equal(File.ReadAllText(astPath), root.Root) + let snapSettings = SnapshotSettings .New() - .SnapshotClassName("Parse") - .SnapshotTestName(s |> normalisePath) + .SnapshotDirectory(snapDir) + .SnapshotClassName("ParseDiagnostics") + .SnapshotTestName(nameof (``spec tests parse result``)) + .StoreSnapshotsPerClass(false) - root.ShouldMatchSnapshot(snapSettings) + root.Diagnostics.ShouldMatchChildSnapshot(s, snapSettings) [] [] diff --git a/test/Feersum.Tests/_snapshots/ParseDiagnostics_spec tests parse result.json b/test/Feersum.Tests/_snapshots/ParseDiagnostics_spec tests parse result.json new file mode 100644 index 0000000..3760233 --- /dev/null +++ b/test/Feersum.Tests/_snapshots/ParseDiagnostics_spec tests parse result.json @@ -0,0 +1,239 @@ +{ + "define-and-assign.scm": { + "AutoGenerated": [] + }, + "fib.scm": { + "AutoGenerated": [] + }, + "fail/bad-library-names-parsefail.scm": { + "AutoGenerated": [ + { + "Kind": { + "Level": { + "Case": "Error" + }, + "Code": 10, + "Title": "Parse error" + }, + "Location": { + "Case": "Point", + "Fields": [ + { + "Source": "fail/bad-library-names-parsefail.scm", + "Line": 2, + "Col": 1 + } + ] + }, + "Message": "Expected expression after `.`" + } + ] + }, + "zed.scm": { + "AutoGenerated": [] + }, + "dragons.scm": { + "AutoGenerated": [] + }, + "tail.scm": { + "AutoGenerated": [] + }, + "booleans.scm": { + "AutoGenerated": [] + }, + "iterfact.scm": { + "AutoGenerated": [] + }, + "cxr.scm": { + "AutoGenerated": [] + }, + "load_and_store.scm": { + "AutoGenerated": [] + }, + "greatest_diff.scm": { + "AutoGenerated": [] + }, + "swapit.scm": { + "AutoGenerated": [] + }, + "fail/macrofails.scm": { + "AutoGenerated": [] + }, + "libgreet.scm": { + "AutoGenerated": [] + }, + "collatz.scm": { + "AutoGenerated": [] + }, + "equivalence.scm": { + "AutoGenerated": [] + }, + "locals.scm": { + "AutoGenerated": [] + }, + "process-context.scm": { + "AutoGenerated": [] + }, + "eratosthenes.scm": { + "AutoGenerated": [] + }, + "time.scm": { + "AutoGenerated": [] + }, + "lists.scm": { + "AutoGenerated": [] + }, + "fail/bad-strings-and-idents.scm": { + "AutoGenerated": [ + { + "Kind": { + "Level": { + "Case": "Error" + }, + "Code": 10, + "Title": "Parse error" + }, + "Location": { + "Case": "Point", + "Fields": [ + { + "Source": "fail/bad-strings-and-idents.scm", + "Line": 11, + "Col": 1 + } + ] + }, + "Message": "Unexpected token Error '|\\x\n'" + } + ] + }, + "false.scm": { + "AutoGenerated": [] + }, + "fail/bad-imports.scm": { + "AutoGenerated": [] + }, + "fact.scm": { + "AutoGenerated": [] + }, + "qsort.scm": { + "AutoGenerated": [] + }, + "issue-5_a.scm": { + "AutoGenerated": [] + }, + "chibi-r7rs-tests.scm": { + "AutoGenerated": [] + }, + "null.scm": { + "AutoGenerated": [] + }, + "symbols.scm": { + "AutoGenerated": [] + }, + "self-capture.scm": { + "AutoGenerated": [] + }, + "alist.scm": { + "AutoGenerated": [] + }, + "lambdas.scm": { + "AutoGenerated": [] + }, + "libcapture.scm": { + "AutoGenerated": [] + }, + "issue-5_b.scm": { + "AutoGenerated": [] + }, + "begin.scm": { + "AutoGenerated": [] + }, + "capturetest.scm": { + "AutoGenerated": [] + }, + "libs.scm": { + "AutoGenerated": [] + }, + "comment.scm": { + "AutoGenerated": [] + }, + "builtins.scm": { + "AutoGenerated": [] + }, + "string-join.scm": { + "AutoGenerated": [] + }, + "user-macros.scm": { + "AutoGenerated": [] + }, + "vectors.scm": { + "AutoGenerated": [] + }, + "gcd.scm": { + "AutoGenerated": [] + }, + "parameters.scm": { + "AutoGenerated": [] + }, + "strings.scm": { + "AutoGenerated": [] + }, + "envtest.scm": { + "AutoGenerated": [] + }, + "comments_extended.scm": { + "AutoGenerated": [] + }, + "display.scm": { + "AutoGenerated": [] + }, + "importtest.scm": { + "AutoGenerated": [] + }, + "display-utils.sld": { + "AutoGenerated": [] + }, + "hello.scm": { + "AutoGenerated": [] + }, + "builtin-macros.scm": { + "AutoGenerated": [] + }, + "issue-4.scm": { + "AutoGenerated": [] + }, + "characters.scm": { + "AutoGenerated": [] + }, + "byte-vectors.scm": { + "AutoGenerated": [] + }, + "fail/bad-library-names.scm": { + "AutoGenerated": [] + }, + "quotes.scm": { + "AutoGenerated": [] + }, + "norun/forever.scm": { + "AutoGenerated": [] + }, + "conditions.scm": { + "AutoGenerated": [] + }, + "fail/bad-letrecs.scm": { + "AutoGenerated": [] + }, + "literals.scm": { + "AutoGenerated": [] + }, + "fail/3.scm": { + "AutoGenerated": [] + }, + "let.scm": { + "AutoGenerated": [] + }, + "issue-45.scm": { + "AutoGenerated": [] + } +} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_alist.scm.json b/test/Feersum.Tests/_snapshots/Parse_alist.scm.json deleted file mode 100644 index f5485bf..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_alist.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..206)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..25) \"\n \"\n FORM: (25..38)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"scheme\"\n ATMOSPHERE: (32..33) \" \"\n SYMBOL: (33..37)\n IDENTIFIER: (33..37) \"base\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..154)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..54)\n IDENTIFIER: (41..54) \"define-syntax\"\n ATMOSPHERE: (54..55) \" \"\n SYMBOL: (55..60)\n IDENTIFIER: (55..60) \"alist\"\n ATMOSPHERE: (60..63) \"\n \"\n FORM: (63..153)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..76)\n IDENTIFIER: (64..76) \"syntax-rules\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..79)\n OPEN_PAREN: (77..78) \"(\"\n CLOSE_PAREN: (78..79) \")\"\n ATMOSPHERE: (79..85) \"\n \"\n FORM: (85..93)\n OPEN_PAREN: (85..86) \"(\"\n FORM: (86..89)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..88)\n IDENTIFIER: (87..88) \"_\"\n CLOSE_PAREN: (88..89) \")\"\n ATMOSPHERE: (89..90) \" \"\n FORM: (90..92)\n OPEN_PAREN: (90..91) \"(\"\n CLOSE_PAREN: (91..92) \")\"\n CLOSE_PAREN: (92..93) \")\"\n ATMOSPHERE: (93..99) \"\n \"\n FORM: (99..152)\n OPEN_PAREN: (99..100) \"(\"\n FORM: (100..113)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..102)\n IDENTIFIER: (101..102) \"_\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"x\"\n ATMOSPHERE: (104..105) \" \"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"y\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"z\"\n ATMOSPHERE: (108..109) \" \"\n SYMBOL: (109..112)\n IDENTIFIER: (109..112) \"...\"\n CLOSE_PAREN: (112..113) \")\"\n ATMOSPHERE: (113..120) \"\n \"\n FORM: (120..151)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..125)\n IDENTIFIER: (121..125) \"cons\"\n ATMOSPHERE: (125..126) \" \"\n FORM: (126..136)\n OPEN_PAREN: (126..127) \"(\"\n SYMBOL: (127..131)\n IDENTIFIER: (127..131) \"cons\"\n ATMOSPHERE: (131..132) \" \"\n SYMBOL: (132..133)\n IDENTIFIER: (132..133) \"x\"\n ATMOSPHERE: (133..134) \" \"\n SYMBOL: (134..135)\n IDENTIFIER: (134..135) \"y\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..137) \" \"\n FORM: (137..150)\n OPEN_PAREN: (137..138) \"(\"\n SYMBOL: (138..143)\n IDENTIFIER: (138..143) \"alist\"\n ATMOSPHERE: (143..144) \" \"\n SYMBOL: (144..145)\n IDENTIFIER: (144..145) \"z\"\n ATMOSPHERE: (145..146) \" \"\n SYMBOL: (146..149)\n IDENTIFIER: (146..149) \"...\"\n CLOSE_PAREN: (149..150) \")\"\n CLOSE_PAREN: (150..151) \")\"\n CLOSE_PAREN: (151..152) \")\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..155) \"\n\"\n FORM: (155..196)\n OPEN_PAREN: (155..156) \"(\"\n SYMBOL: (156..163)\n IDENTIFIER: (156..163) \"display\"\n ATMOSPHERE: (163..164) \" \"\n FORM: (164..195)\n OPEN_PAREN: (164..165) \"(\"\n SYMBOL: (165..170)\n IDENTIFIER: (165..170) \"alist\"\n ATMOSPHERE: (170..171) \" \"\n QUOTED_DATUM: (171..176)\n QUOTE: (171..172) \"'\"\n SYMBOL: (172..175)\n IDENTIFIER: (172..175) \"foo\"\n ATMOSPHERE: (175..176) \" \"\n CONSTANT: (176..178)\n NUMBER: (176..178) \"10\"\n ATMOSPHERE: (178..179) \" \"\n QUOTED_DATUM: (179..184)\n QUOTE: (179..180) \"'\"\n SYMBOL: (180..183)\n IDENTIFIER: (180..183) \"bar\"\n ATMOSPHERE: (183..184) \" \"\n CONSTANT: (184..186)\n NUMBER: (184..186) \"20\"\n ATMOSPHERE: (186..187) \" \"\n QUOTED_DATUM: (187..192)\n QUOTE: (187..188) \"'\"\n SYMBOL: (188..191)\n IDENTIFIER: (188..191) \"baz\"\n ATMOSPHERE: (191..192) \" \"\n CONSTANT: (192..194)\n NUMBER: (192..194) \"30\"\n CLOSE_PAREN: (194..195) \")\"\n CLOSE_PAREN: (195..196) \")\"\n FORM: (196..205)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..204)\n IDENTIFIER: (197..204) \"newline\"\n CLOSE_PAREN: (204..205) \")\"\n ATMOSPHERE: (205..206) \"\n\"\n EOF: (206..206) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_begin.scm.json b/test/Feersum.Tests/_snapshots/Parse_begin.scm.json deleted file mode 100644 index 95c18c1..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_begin.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..272)\n ATMOSPHERE: (0..66) \";; The `begin` special form takes a sequence and returns the value\"\n ATMOSPHERE: (66..67) \"\n\"\n ATMOSPHERE: (67..93) \";; of the last expression.\"\n ATMOSPHERE: (93..94) \"\n\"\n FORM: (94..262)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..100)\n IDENTIFIER: (95..100) \"begin\"\n ATMOSPHERE: (100..105) \"\n \"\n CONSTANT: (105..107)\n NUMBER: (105..107) \"12\"\n ATMOSPHERE: (107..112) \"\n \"\n FORM: (112..164)\n OPEN_PAREN: (112..113) \"(\"\n SYMBOL: (113..118)\n IDENTIFIER: (113..118) \"begin\"\n ATMOSPHERE: (118..128) \" \n \"\n CONSTANT: (128..135)\n STRING: (128..135) \"\"hello\"\"\n ATMOSPHERE: (135..144) \"\n \"\n CONSTANT: (144..147)\n NUMBER: (144..147) \"123\"\n ATMOSPHERE: (147..156) \"\n \"\n CONSTANT: (156..163)\n STRING: (156..163) \"\"world\"\"\n CLOSE_PAREN: (163..164) \")\"\n ATMOSPHERE: (164..169) \"\n \"\n CONSTANT: (169..182)\n STRING: (169..182) \"\"hello world\"\"\n ATMOSPHERE: (182..187) \"\n \"\n FORM: (187..261)\n OPEN_PAREN: (187..188) \"(\"\n SYMBOL: (188..190)\n IDENTIFIER: (188..190) \"if\"\n ATMOSPHERE: (190..191) \" \"\n FORM: (191..210)\n OPEN_PAREN: (191..192) \"(\"\n SYMBOL: (192..197)\n IDENTIFIER: (192..197) \"begin\"\n ATMOSPHERE: (197..198) \" \"\n CONSTANT: (198..200)\n BOOLEAN: (198..200) \"#f\"\n ATMOSPHERE: (200..201) \" \"\n CONSTANT: (201..203)\n BOOLEAN: (201..203) \"#t\"\n ATMOSPHERE: (203..204) \" \"\n CONSTANT: (204..206)\n BOOLEAN: (204..206) \"#f\"\n ATMOSPHERE: (206..207) \" \"\n CONSTANT: (207..209)\n BOOLEAN: (207..209) \"#t\"\n CLOSE_PAREN: (209..210) \")\"\n ATMOSPHERE: (210..219) \"\n \"\n FORM: (219..235)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..225)\n IDENTIFIER: (220..225) \"begin\"\n ATMOSPHERE: (225..226) \" \"\n CONSTANT: (226..227)\n NUMBER: (226..227) \"1\"\n ATMOSPHERE: (227..228) \" \"\n CONSTANT: (228..229)\n NUMBER: (228..229) \"2\"\n ATMOSPHERE: (229..230) \" \"\n CONSTANT: (230..231)\n NUMBER: (230..231) \"3\"\n ATMOSPHERE: (231..232) \" \"\n CONSTANT: (232..234)\n NUMBER: (232..234) \"45\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..244) \"\n \"\n FORM: (244..260)\n OPEN_PAREN: (244..245) \"(\"\n SYMBOL: (245..250)\n IDENTIFIER: (245..250) \"begin\"\n ATMOSPHERE: (250..251) \" \"\n CONSTANT: (251..253)\n NUMBER: (251..253) \"-2\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..256)\n NUMBER: (254..256) \"-3\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..259)\n NUMBER: (257..259) \"-9\"\n CLOSE_PAREN: (259..260) \")\"\n CLOSE_PAREN: (260..261) \")\"\n CLOSE_PAREN: (261..262) \")\"\n ATMOSPHERE: (262..265) \" \"\n ATMOSPHERE: (265..272) \"; ~> 45\"\n EOF: (272..272) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json b/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json deleted file mode 100644 index 6cdef7a..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_booleans.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..1176)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n ATMOSPHERE: (42..76) \";; Boolean literals and truthiness\"\n ATMOSPHERE: (76..77) \"\n\"\n FORM: (77..531)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..85)\n IDENTIFIER: (78..85) \"display\"\n ATMOSPHERE: (85..86) \" \"\n FORM: (86..530)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..91)\n IDENTIFIER: (87..91) \"list\"\n ATMOSPHERE: (91..96) \"\n \"\n CONSTANT: (96..98)\n BOOLEAN: (96..98) \"#f\"\n ATMOSPHERE: (98..103) \"\n \"\n CONSTANT: (103..109)\n BOOLEAN: (103..109) \"#false\"\n ATMOSPHERE: (109..114) \"\n \"\n CONSTANT: (114..116)\n BOOLEAN: (114..116) \"#t\"\n ATMOSPHERE: (116..121) \"\n \"\n CONSTANT: (121..126)\n BOOLEAN: (121..126) \"#true\"\n ATMOSPHERE: (126..131) \"\n \"\n FORM: (131..145)\n OPEN_PAREN: (131..132) \"(\"\n SYMBOL: (132..135)\n IDENTIFIER: (132..135) \"eq?\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..138)\n BOOLEAN: (136..138) \"#t\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..144)\n BOOLEAN: (139..144) \"#true\"\n CLOSE_PAREN: (144..145) \")\"\n ATMOSPHERE: (145..150) \"\n \"\n FORM: (150..165)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..155)\n IDENTIFIER: (151..155) \"eqv?\"\n ATMOSPHERE: (155..156) \" \"\n CONSTANT: (156..158)\n BOOLEAN: (156..158) \"#t\"\n ATMOSPHERE: (158..159) \" \"\n CONSTANT: (159..164)\n BOOLEAN: (159..164) \"#true\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..170) \"\n \"\n FORM: (170..187)\n OPEN_PAREN: (170..171) \"(\"\n SYMBOL: (171..177)\n IDENTIFIER: (171..177) \"equal?\"\n ATMOSPHERE: (177..178) \" \"\n CONSTANT: (178..180)\n BOOLEAN: (178..180) \"#t\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..186)\n BOOLEAN: (181..186) \"#true\"\n CLOSE_PAREN: (186..187) \")\"\n ATMOSPHERE: (187..192) \"\n \"\n FORM: (192..207)\n OPEN_PAREN: (192..193) \"(\"\n SYMBOL: (193..196)\n IDENTIFIER: (193..196) \"eq?\"\n ATMOSPHERE: (196..197) \" \"\n CONSTANT: (197..199)\n BOOLEAN: (197..199) \"#f\"\n ATMOSPHERE: (199..200) \" \"\n CONSTANT: (200..206)\n BOOLEAN: (200..206) \"#false\"\n CLOSE_PAREN: (206..207) \")\"\n ATMOSPHERE: (207..212) \"\n \"\n FORM: (212..228)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..217)\n IDENTIFIER: (213..217) \"eqv?\"\n ATMOSPHERE: (217..218) \" \"\n CONSTANT: (218..220)\n BOOLEAN: (218..220) \"#f\"\n ATMOSPHERE: (220..221) \" \"\n CONSTANT: (221..227)\n BOOLEAN: (221..227) \"#false\"\n CLOSE_PAREN: (227..228) \")\"\n ATMOSPHERE: (228..233) \"\n \"\n FORM: (233..251)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..240)\n IDENTIFIER: (234..240) \"equal?\"\n ATMOSPHERE: (240..241) \" \"\n CONSTANT: (241..243)\n BOOLEAN: (241..243) \"#f\"\n ATMOSPHERE: (243..244) \" \"\n CONSTANT: (244..250)\n BOOLEAN: (244..250) \"#false\"\n CLOSE_PAREN: (250..251) \")\"\n ATMOSPHERE: (251..256) \"\n \"\n FORM: (256..303)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..259)\n IDENTIFIER: (257..259) \"if\"\n ATMOSPHERE: (259..260) \" \"\n FORM: (260..274)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..264)\n IDENTIFIER: (261..264) \"eq?\"\n ATMOSPHERE: (264..265) \" \"\n CONSTANT: (265..267)\n BOOLEAN: (265..267) \"#f\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..273)\n BOOLEAN: (268..273) \"#true\"\n CLOSE_PAREN: (273..274) \")\"\n ATMOSPHERE: (274..283) \"\n \"\n QUOTED_DATUM: (283..297)\n QUOTE: (283..284) \"'\"\n SYMBOL: (284..288)\n IDENTIFIER: (284..288) \"fail\"\n ATMOSPHERE: (288..297) \"\n \"\n QUOTED_DATUM: (297..302)\n QUOTE: (297..298) \"'\"\n SYMBOL: (298..302)\n IDENTIFIER: (298..302) \"pass\"\n CLOSE_PAREN: (302..303) \")\"\n ATMOSPHERE: (303..308) \"\n \"\n FORM: (308..355)\n OPEN_PAREN: (308..309) \"(\"\n SYMBOL: (309..311)\n IDENTIFIER: (309..311) \"if\"\n ATMOSPHERE: (311..312) \" \"\n FORM: (312..326)\n OPEN_PAREN: (312..313) \"(\"\n SYMBOL: (313..319)\n IDENTIFIER: (313..319) \"equal?\"\n ATMOSPHERE: (319..320) \" \"\n CONSTANT: (320..322)\n BOOLEAN: (320..322) \"#t\"\n ATMOSPHERE: (322..323) \" \"\n CONSTANT: (323..325)\n BOOLEAN: (323..325) \"#f\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..335) \"\n \"\n QUOTED_DATUM: (335..349)\n QUOTE: (335..336) \"'\"\n SYMBOL: (336..340)\n IDENTIFIER: (336..340) \"fail\"\n ATMOSPHERE: (340..349) \"\n \"\n QUOTED_DATUM: (349..354)\n QUOTE: (349..350) \"'\"\n SYMBOL: (350..354)\n IDENTIFIER: (350..354) \"pass\"\n CLOSE_PAREN: (354..355) \")\"\n ATMOSPHERE: (355..360) \"\n \"\n FORM: (360..395)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..363)\n IDENTIFIER: (361..363) \"if\"\n ATMOSPHERE: (363..364) \" \"\n CONSTANT: (364..366)\n BOOLEAN: (364..366) \"#f\"\n ATMOSPHERE: (366..375) \"\n \"\n QUOTED_DATUM: (375..389)\n QUOTE: (375..376) \"'\"\n SYMBOL: (376..380)\n IDENTIFIER: (376..380) \"fail\"\n ATMOSPHERE: (380..389) \"\n \"\n QUOTED_DATUM: (389..394)\n QUOTE: (389..390) \"'\"\n SYMBOL: (390..394)\n IDENTIFIER: (390..394) \"pass\"\n CLOSE_PAREN: (394..395) \")\"\n ATMOSPHERE: (395..400) \"\n \"\n FORM: (400..435)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..403)\n IDENTIFIER: (401..403) \"if\"\n ATMOSPHERE: (403..404) \" \"\n CONSTANT: (404..406)\n BOOLEAN: (404..406) \"#t\"\n ATMOSPHERE: (406..415) \"\n \"\n QUOTED_DATUM: (415..429)\n QUOTE: (415..416) \"'\"\n SYMBOL: (416..420)\n IDENTIFIER: (416..420) \"pass\"\n ATMOSPHERE: (420..429) \"\n \"\n QUOTED_DATUM: (429..434)\n QUOTE: (429..430) \"'\"\n SYMBOL: (430..434)\n IDENTIFIER: (430..434) \"fail\"\n CLOSE_PAREN: (434..435) \")\"\n ATMOSPHERE: (435..440) \"\n \"\n FORM: (440..476)\n OPEN_PAREN: (440..441) \"(\"\n SYMBOL: (441..443)\n IDENTIFIER: (441..443) \"if\"\n ATMOSPHERE: (443..444) \" \"\n QUOTED_DATUM: (444..456)\n QUOTE: (444..445) \"'\"\n FORM: (445..447)\n OPEN_PAREN: (445..446) \"(\"\n CLOSE_PAREN: (446..447) \")\"\n ATMOSPHERE: (447..456) \"\n \"\n QUOTED_DATUM: (456..470)\n QUOTE: (456..457) \"'\"\n SYMBOL: (457..461)\n IDENTIFIER: (457..461) \"pass\"\n ATMOSPHERE: (461..470) \"\n \"\n QUOTED_DATUM: (470..475)\n QUOTE: (470..471) \"'\"\n SYMBOL: (471..475)\n IDENTIFIER: (471..475) \"fail\"\n CLOSE_PAREN: (475..476) \")\"\n ATMOSPHERE: (476..481) \"\n \"\n FORM: (481..524)\n OPEN_PAREN: (481..482) \"(\"\n SYMBOL: (482..484)\n IDENTIFIER: (482..484) \"if\"\n ATMOSPHERE: (484..485) \" \"\n QUOTED_DATUM: (485..504)\n QUOTE: (485..486) \"'\"\n SYMBOL: (486..495)\n IDENTIFIER: (486..495) \"something\"\n ATMOSPHERE: (495..504) \"\n \"\n QUOTED_DATUM: (504..518)\n QUOTE: (504..505) \"'\"\n SYMBOL: (505..509)\n IDENTIFIER: (505..509) \"pass\"\n ATMOSPHERE: (509..518) \"\n \"\n QUOTED_DATUM: (518..523)\n QUOTE: (518..519) \"'\"\n SYMBOL: (519..523)\n IDENTIFIER: (519..523) \"fail\"\n CLOSE_PAREN: (523..524) \")\"\n ATMOSPHERE: (524..529) \"\n \"\n CLOSE_PAREN: (529..530) \")\"\n CLOSE_PAREN: (530..531) \")\"\n FORM: (531..540)\n OPEN_PAREN: (531..532) \"(\"\n SYMBOL: (532..539)\n IDENTIFIER: (532..539) \"newline\"\n CLOSE_PAREN: (539..540) \")\"\n ATMOSPHERE: (540..541) \"\n\"\n ATMOSPHERE: (541..590) \";; Quoting of boolean values does nothing to them\"\n ATMOSPHERE: (590..591) \"\n\"\n FORM: (591..626)\n OPEN_PAREN: (591..592) \"(\"\n SYMBOL: (592..599)\n IDENTIFIER: (592..599) \"display\"\n ATMOSPHERE: (599..600) \" \"\n FORM: (600..625)\n OPEN_PAREN: (600..601) \"(\"\n SYMBOL: (601..605)\n IDENTIFIER: (601..605) \"list\"\n ATMOSPHERE: (605..610) \"\n \"\n QUOTED_DATUM: (610..618)\n QUOTE: (610..611) \"'\"\n CONSTANT: (611..613)\n BOOLEAN: (611..613) \"#f\"\n ATMOSPHERE: (613..618) \"\n \"\n QUOTED_DATUM: (618..624)\n QUOTE: (618..619) \"'\"\n CONSTANT: (619..624)\n BOOLEAN: (619..624) \"#true\"\n CLOSE_PAREN: (624..625) \")\"\n CLOSE_PAREN: (625..626) \")\"\n FORM: (626..635)\n OPEN_PAREN: (626..627) \"(\"\n SYMBOL: (627..634)\n IDENTIFIER: (627..634) \"newline\"\n CLOSE_PAREN: (634..635) \")\"\n ATMOSPHERE: (635..636) \"\n\"\n ATMOSPHERE: (636..693) \";; Boolean procedures, we don't have many of them builtin\"\n ATMOSPHERE: (693..694) \"\n\"\n FORM: (694..1167)\n OPEN_PAREN: (694..695) \"(\"\n SYMBOL: (695..702)\n IDENTIFIER: (695..702) \"display\"\n ATMOSPHERE: (702..703) \" \"\n FORM: (703..1166)\n OPEN_PAREN: (703..704) \"(\"\n SYMBOL: (704..708)\n IDENTIFIER: (704..708) \"list\"\n ATMOSPHERE: (708..713) \"\n \"\n FORM: (713..721)\n OPEN_PAREN: (713..714) \"(\"\n SYMBOL: (714..717)\n IDENTIFIER: (714..717) \"not\"\n ATMOSPHERE: (717..718) \" \"\n CONSTANT: (718..720)\n BOOLEAN: (718..720) \"#t\"\n CLOSE_PAREN: (720..721) \")\"\n ATMOSPHERE: (721..722) \" \"\n ATMOSPHERE: (722..729) \"; -> #f\"\n ATMOSPHERE: (729..734) \"\n \"\n FORM: (734..741)\n OPEN_PAREN: (734..735) \"(\"\n SYMBOL: (735..738)\n IDENTIFIER: (735..738) \"not\"\n ATMOSPHERE: (738..739) \" \"\n CONSTANT: (739..740)\n NUMBER: (739..740) \"3\"\n CLOSE_PAREN: (740..741) \")\"\n ATMOSPHERE: (741..742) \" \"\n ATMOSPHERE: (742..749) \"; -> #f\"\n ATMOSPHERE: (749..754) \"\n \"\n FORM: (754..768)\n OPEN_PAREN: (754..755) \"(\"\n SYMBOL: (755..758)\n IDENTIFIER: (755..758) \"not\"\n ATMOSPHERE: (758..759) \" \"\n FORM: (759..767)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..764)\n IDENTIFIER: (760..764) \"list\"\n ATMOSPHERE: (764..765) \" \"\n CONSTANT: (765..766)\n NUMBER: (765..766) \"3\"\n CLOSE_PAREN: (766..767) \")\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..769) \" \"\n ATMOSPHERE: (769..776) \"; -> #f\"\n ATMOSPHERE: (776..781) \"\n \"\n FORM: (781..789)\n OPEN_PAREN: (781..782) \"(\"\n SYMBOL: (782..785)\n IDENTIFIER: (782..785) \"not\"\n ATMOSPHERE: (785..786) \" \"\n CONSTANT: (786..788)\n BOOLEAN: (786..788) \"#f\"\n CLOSE_PAREN: (788..789) \")\"\n ATMOSPHERE: (789..790) \" \"\n ATMOSPHERE: (790..797) \"; -> #t\"\n ATMOSPHERE: (797..802) \"\n \"\n FORM: (802..811)\n OPEN_PAREN: (802..803) \"(\"\n SYMBOL: (803..806)\n IDENTIFIER: (803..806) \"not\"\n ATMOSPHERE: (806..807) \" \"\n QUOTED_DATUM: (807..810)\n QUOTE: (807..808) \"’\"\n FORM: (808..810)\n OPEN_PAREN: (808..809) \"(\"\n CLOSE_PAREN: (809..810) \")\"\n CLOSE_PAREN: (810..811) \")\"\n ATMOSPHERE: (811..812) \" \"\n ATMOSPHERE: (812..819) \"; -> #f\"\n ATMOSPHERE: (819..824) \"\n \"\n FORM: (824..836)\n OPEN_PAREN: (824..825) \"(\"\n SYMBOL: (825..828)\n IDENTIFIER: (825..828) \"not\"\n ATMOSPHERE: (828..829) \" \"\n FORM: (829..835)\n OPEN_PAREN: (829..830) \"(\"\n SYMBOL: (830..834)\n IDENTIFIER: (830..834) \"list\"\n CLOSE_PAREN: (834..835) \")\"\n CLOSE_PAREN: (835..836) \")\"\n ATMOSPHERE: (836..837) \" \"\n ATMOSPHERE: (837..844) \"; -> #f\"\n ATMOSPHERE: (844..849) \"\n \"\n FORM: (849..859)\n OPEN_PAREN: (849..850) \"(\"\n SYMBOL: (850..853)\n IDENTIFIER: (850..853) \"not\"\n ATMOSPHERE: (853..854) \" \"\n QUOTED_DATUM: (854..858)\n QUOTE: (854..855) \"’\"\n SYMBOL: (855..858)\n IDENTIFIER: (855..858) \"nil\"\n CLOSE_PAREN: (858..859) \")\"\n ATMOSPHERE: (859..860) \" \"\n ATMOSPHERE: (860..867) \"; -> #f\"\n ATMOSPHERE: (867..873) \"\n\n \"\n FORM: (873..886)\n OPEN_PAREN: (873..874) \"(\"\n SYMBOL: (874..882)\n IDENTIFIER: (874..882) \"boolean?\"\n ATMOSPHERE: (882..883) \" \"\n CONSTANT: (883..885)\n BOOLEAN: (883..885) \"#f\"\n CLOSE_PAREN: (885..886) \")\"\n ATMOSPHERE: (886..887) \" \"\n ATMOSPHERE: (887..894) \"; -> #t\"\n ATMOSPHERE: (894..899) \"\n \"\n FORM: (899..911)\n OPEN_PAREN: (899..900) \"(\"\n SYMBOL: (900..908)\n IDENTIFIER: (900..908) \"boolean?\"\n ATMOSPHERE: (908..909) \" \"\n CONSTANT: (909..910)\n NUMBER: (909..910) \"0\"\n CLOSE_PAREN: (910..911) \")\"\n ATMOSPHERE: (911..912) \" \"\n ATMOSPHERE: (912..919) \"; -> #f\"\n ATMOSPHERE: (919..924) \"\n \"\n FORM: (924..938)\n OPEN_PAREN: (924..925) \"(\"\n SYMBOL: (925..933)\n IDENTIFIER: (925..933) \"boolean?\"\n ATMOSPHERE: (933..934) \" \"\n QUOTED_DATUM: (934..937)\n QUOTE: (934..935) \"’\"\n FORM: (935..937)\n OPEN_PAREN: (935..936) \"(\"\n CLOSE_PAREN: (936..937) \")\"\n CLOSE_PAREN: (937..938) \")\"\n ATMOSPHERE: (938..939) \" \"\n ATMOSPHERE: (939..946) \"; -> #f\"\n ATMOSPHERE: (946..956) \"\n \n \"\n FORM: (956..976)\n OPEN_PAREN: (956..957) \"(\"\n SYMBOL: (957..966)\n IDENTIFIER: (957..966) \"boolean=?\"\n ATMOSPHERE: (966..967) \" \"\n CONSTANT: (967..969)\n BOOLEAN: (967..969) \"#t\"\n ATMOSPHERE: (969..970) \" \"\n CONSTANT: (970..972)\n BOOLEAN: (970..972) \"#t\"\n ATMOSPHERE: (972..973) \" \"\n CONSTANT: (973..975)\n BOOLEAN: (973..975) \"#t\"\n CLOSE_PAREN: (975..976) \")\"\n ATMOSPHERE: (976..981) \"\n \"\n FORM: (981..1001)\n OPEN_PAREN: (981..982) \"(\"\n SYMBOL: (982..991)\n IDENTIFIER: (982..991) \"boolean=?\"\n ATMOSPHERE: (991..992) \" \"\n CONSTANT: (992..994)\n BOOLEAN: (992..994) \"#t\"\n ATMOSPHERE: (994..995) \" \"\n CONSTANT: (995..997)\n BOOLEAN: (995..997) \"#f\"\n ATMOSPHERE: (997..998) \" \"\n CONSTANT: (998..1000)\n BOOLEAN: (998..1000) \"#t\"\n CLOSE_PAREN: (1000..1001) \")\"\n ATMOSPHERE: (1001..1006) \"\n \"\n FORM: (1006..1032)\n OPEN_PAREN: (1006..1007) \"(\"\n SYMBOL: (1007..1016)\n IDENTIFIER: (1007..1016) \"boolean=?\"\n ATMOSPHERE: (1016..1017) \" \"\n CONSTANT: (1017..1019)\n BOOLEAN: (1017..1019) \"#f\"\n ATMOSPHERE: (1019..1020) \" \"\n CONSTANT: (1020..1022)\n BOOLEAN: (1020..1022) \"#f\"\n ATMOSPHERE: (1022..1023) \" \"\n CONSTANT: (1023..1025)\n BOOLEAN: (1023..1025) \"#f\"\n ATMOSPHERE: (1025..1026) \" \"\n CONSTANT: (1026..1028)\n BOOLEAN: (1026..1028) \"#f\"\n ATMOSPHERE: (1028..1029) \" \"\n CONSTANT: (1029..1031)\n BOOLEAN: (1029..1031) \"#t\"\n CLOSE_PAREN: (1031..1032) \")\"\n ATMOSPHERE: (1032..1037) \"\n \"\n FORM: (1037..1060)\n OPEN_PAREN: (1037..1038) \"(\"\n SYMBOL: (1038..1047)\n IDENTIFIER: (1038..1047) \"boolean=?\"\n ATMOSPHERE: (1047..1048) \" \"\n CONSTANT: (1048..1050)\n BOOLEAN: (1048..1050) \"#f\"\n ATMOSPHERE: (1050..1051) \" \"\n CONSTANT: (1051..1053)\n BOOLEAN: (1051..1053) \"#f\"\n ATMOSPHERE: (1053..1054) \" \"\n CONSTANT: (1054..1056)\n BOOLEAN: (1054..1056) \"#f\"\n ATMOSPHERE: (1056..1057) \" \"\n CONSTANT: (1057..1059)\n BOOLEAN: (1057..1059) \"#f\"\n CLOSE_PAREN: (1059..1060) \")\"\n ATMOSPHERE: (1060..1065) \"\n \"\n FORM: (1065..1082)\n OPEN_PAREN: (1065..1066) \"(\"\n SYMBOL: (1066..1075)\n IDENTIFIER: (1066..1075) \"boolean=?\"\n ATMOSPHERE: (1075..1076) \" \"\n CONSTANT: (1076..1078)\n BOOLEAN: (1076..1078) \"#f\"\n ATMOSPHERE: (1078..1079) \" \"\n CONSTANT: (1079..1081)\n BOOLEAN: (1079..1081) \"#f\"\n CLOSE_PAREN: (1081..1082) \")\"\n ATMOSPHERE: (1082..1087) \"\n \"\n FORM: (1087..1103)\n OPEN_PAREN: (1087..1088) \"(\"\n SYMBOL: (1088..1097)\n IDENTIFIER: (1088..1097) \"boolean=?\"\n ATMOSPHERE: (1097..1098) \" \"\n CONSTANT: (1098..1100)\n BOOLEAN: (1098..1100) \"#f\"\n ATMOSPHERE: (1100..1101) \" \"\n CONSTANT: (1101..1102)\n NUMBER: (1101..1102) \"0\"\n CLOSE_PAREN: (1102..1103) \")\"\n ATMOSPHERE: (1103..1108) \"\n \"\n FORM: (1108..1126)\n OPEN_PAREN: (1108..1109) \"(\"\n SYMBOL: (1109..1118)\n IDENTIFIER: (1109..1118) \"boolean=?\"\n ATMOSPHERE: (1118..1119) \" \"\n CONSTANT: (1119..1121)\n BOOLEAN: (1119..1121) \"#f\"\n ATMOSPHERE: (1121..1122) \" \"\n QUOTED_DATUM: (1122..1125)\n QUOTE: (1122..1123) \"'\"\n FORM: (1123..1125)\n OPEN_PAREN: (1123..1124) \"(\"\n CLOSE_PAREN: (1124..1125) \")\"\n CLOSE_PAREN: (1125..1126) \")\"\n ATMOSPHERE: (1126..1131) \"\n \"\n FORM: (1131..1159)\n OPEN_PAREN: (1131..1132) \"(\"\n SYMBOL: (1132..1141)\n IDENTIFIER: (1132..1141) \"boolean=?\"\n ATMOSPHERE: (1141..1142) \" \"\n FORM: (1142..1152)\n OPEN_PAREN: (1142..1143) \"(\"\n SYMBOL: (1143..1147)\n IDENTIFIER: (1143..1147) \"list\"\n ATMOSPHERE: (1147..1148) \" \"\n CONSTANT: (1148..1151)\n NUMBER: (1148..1151) \"123\"\n CLOSE_PAREN: (1151..1152) \")\"\n ATMOSPHERE: (1152..1153) \" \"\n CONSTANT: (1153..1155)\n NUMBER: (1153..1155) \"21\"\n ATMOSPHERE: (1155..1156) \" \"\n CONSTANT: (1156..1158)\n BOOLEAN: (1156..1158) \"#t\"\n CLOSE_PAREN: (1158..1159) \")\"\n ATMOSPHERE: (1159..1165) \"\n\n \"\n CLOSE_PAREN: (1165..1166) \")\"\n CLOSE_PAREN: (1166..1167) \")\"\n FORM: (1167..1176)\n OPEN_PAREN: (1167..1168) \"(\"\n SYMBOL: (1168..1175)\n IDENTIFIER: (1168..1175) \"newline\"\n CLOSE_PAREN: (1175..1176) \")\"\n EOF: (1176..1176) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json b/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json deleted file mode 100644 index e5a53fa..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_builtin-macros.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..499)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \"\n\"\n FORM: (212..498)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..220)\n IDENTIFIER: (213..220) \"display\"\n ATMOSPHERE: (220..225) \"\n \"\n FORM: (225..497)\n OPEN_PAREN: (225..226) \"(\"\n SYMBOL: (226..230)\n IDENTIFIER: (226..230) \"list\"\n ATMOSPHERE: (230..239) \"\n \"\n FORM: (239..260)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..243)\n IDENTIFIER: (240..243) \"and\"\n ATMOSPHERE: (243..244) \" \"\n FORM: (244..251)\n OPEN_PAREN: (244..245) \"(\"\n SYMBOL: (245..246)\n IDENTIFIER: (245..246) \"=\"\n ATMOSPHERE: (246..247) \" \"\n CONSTANT: (247..248)\n NUMBER: (247..248) \"2\"\n ATMOSPHERE: (248..249) \" \"\n CONSTANT: (249..250)\n NUMBER: (249..250) \"2\"\n CLOSE_PAREN: (250..251) \")\"\n ATMOSPHERE: (251..252) \" \"\n FORM: (252..259)\n OPEN_PAREN: (252..253) \"(\"\n SYMBOL: (253..254)\n IDENTIFIER: (253..254) \">\"\n ATMOSPHERE: (254..255) \" \"\n CONSTANT: (255..256)\n NUMBER: (255..256) \"2\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..258)\n NUMBER: (257..258) \"1\"\n CLOSE_PAREN: (258..259) \")\"\n CLOSE_PAREN: (259..260) \")\"\n ATMOSPHERE: (260..261) \" \"\n ATMOSPHERE: (261..268) \"; -> #t\"\n ATMOSPHERE: (268..277) \"\n \"\n FORM: (277..298)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..281)\n IDENTIFIER: (278..281) \"and\"\n ATMOSPHERE: (281..282) \" \"\n FORM: (282..289)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..284)\n IDENTIFIER: (283..284) \"=\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..286)\n NUMBER: (285..286) \"2\"\n ATMOSPHERE: (286..287) \" \"\n CONSTANT: (287..288)\n NUMBER: (287..288) \"2\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..290) \" \"\n FORM: (290..297)\n OPEN_PAREN: (290..291) \"(\"\n SYMBOL: (291..292)\n IDENTIFIER: (291..292) \"<\"\n ATMOSPHERE: (292..293) \" \"\n CONSTANT: (293..294)\n NUMBER: (293..294) \"2\"\n ATMOSPHERE: (294..295) \" \"\n CONSTANT: (295..296)\n NUMBER: (295..296) \"1\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n ATMOSPHERE: (298..299) \" \"\n ATMOSPHERE: (299..306) \"; -> #f\"\n ATMOSPHERE: (306..315) \"\n \"\n FORM: (315..334)\n OPEN_PAREN: (315..316) \"(\"\n SYMBOL: (316..319)\n IDENTIFIER: (316..319) \"and\"\n ATMOSPHERE: (319..320) \" \"\n CONSTANT: (320..321)\n NUMBER: (320..321) \"1\"\n ATMOSPHERE: (321..322) \" \"\n CONSTANT: (322..323)\n NUMBER: (322..323) \"2\"\n ATMOSPHERE: (323..324) \" \"\n QUOTED_DATUM: (324..327)\n QUOTE: (324..325) \"'\"\n SYMBOL: (325..326)\n IDENTIFIER: (325..326) \"c\"\n ATMOSPHERE: (326..327) \" \"\n QUOTED_DATUM: (327..333)\n QUOTE: (327..328) \"'\"\n FORM: (328..333)\n OPEN_PAREN: (328..329) \"(\"\n SYMBOL: (329..330)\n IDENTIFIER: (329..330) \"f\"\n ATMOSPHERE: (330..331) \" \"\n SYMBOL: (331..332)\n IDENTIFIER: (331..332) \"g\"\n CLOSE_PAREN: (332..333) \")\"\n CLOSE_PAREN: (333..334) \")\"\n ATMOSPHERE: (334..335) \" \"\n ATMOSPHERE: (335..346) \"; -> '(f g)\"\n ATMOSPHERE: (346..355) \"\n \"\n FORM: (355..360)\n OPEN_PAREN: (355..356) \"(\"\n SYMBOL: (356..359)\n IDENTIFIER: (356..359) \"and\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..361) \" \"\n ATMOSPHERE: (361..368) \"; -> #t\"\n ATMOSPHERE: (368..377) \"\n \"\n FORM: (377..387)\n OPEN_PAREN: (377..378) \"(\"\n SYMBOL: (378..380)\n IDENTIFIER: (378..380) \"or\"\n ATMOSPHERE: (380..381) \" \"\n CONSTANT: (381..383)\n BOOLEAN: (381..383) \"#t\"\n ATMOSPHERE: (383..384) \" \"\n CONSTANT: (384..386)\n BOOLEAN: (384..386) \"#t\"\n CLOSE_PAREN: (386..387) \")\"\n ATMOSPHERE: (387..388) \" \"\n ATMOSPHERE: (388..395) \"; -> #t\"\n ATMOSPHERE: (395..404) \"\n \"\n FORM: (404..429)\n OPEN_PAREN: (404..405) \"(\"\n SYMBOL: (405..407)\n IDENTIFIER: (405..407) \"or\"\n ATMOSPHERE: (407..408) \" \"\n CONSTANT: (408..410)\n BOOLEAN: (408..410) \"#f\"\n ATMOSPHERE: (410..411) \" \"\n CONSTANT: (411..413)\n BOOLEAN: (411..413) \"#f\"\n ATMOSPHERE: (413..414) \" \"\n CONSTANT: (414..416)\n BOOLEAN: (414..416) \"#f\"\n ATMOSPHERE: (416..417) \" \"\n CONSTANT: (417..419)\n BOOLEAN: (417..419) \"#f\"\n ATMOSPHERE: (419..420) \" \"\n CONSTANT: (420..422)\n BOOLEAN: (420..422) \"#t\"\n ATMOSPHERE: (422..423) \" \"\n CONSTANT: (423..425)\n BOOLEAN: (423..425) \"#f\"\n ATMOSPHERE: (425..426) \" \"\n CONSTANT: (426..428)\n BOOLEAN: (426..428) \"#f\"\n CLOSE_PAREN: (428..429) \")\"\n ATMOSPHERE: (429..430) \" \"\n ATMOSPHERE: (430..437) \"; -> #t\"\n ATMOSPHERE: (437..446) \"\n \"\n FORM: (446..464)\n OPEN_PAREN: (446..447) \"(\"\n SYMBOL: (447..449)\n IDENTIFIER: (447..449) \"or\"\n ATMOSPHERE: (449..450) \" \"\n CONSTANT: (450..452)\n BOOLEAN: (450..452) \"#f\"\n ATMOSPHERE: (452..453) \" \"\n CONSTANT: (453..456)\n NUMBER: (453..456) \"100\"\n ATMOSPHERE: (456..457) \" \"\n CONSTANT: (457..459)\n BOOLEAN: (457..459) \"#f\"\n ATMOSPHERE: (459..460) \" \"\n CONSTANT: (460..463)\n NUMBER: (460..463) \"101\"\n CLOSE_PAREN: (463..464) \")\"\n ATMOSPHERE: (464..465) \" \"\n ATMOSPHERE: (465..470) \"; 100\"\n ATMOSPHERE: (470..479) \"\n \"\n FORM: (479..483)\n OPEN_PAREN: (479..480) \"(\"\n SYMBOL: (480..482)\n IDENTIFIER: (480..482) \"or\"\n CLOSE_PAREN: (482..483) \")\"\n ATMOSPHERE: (483..484) \" \"\n ATMOSPHERE: (484..491) \"; -> #f\"\n ATMOSPHERE: (491..496) \"\n \"\n CLOSE_PAREN: (496..497) \")\"\n CLOSE_PAREN: (497..498) \")\"\n ATMOSPHERE: (498..499) \"\n\"\n EOF: (499..499) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json b/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json deleted file mode 100644 index 6885b00..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_builtins.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..317)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..23) \"\n\"\n FORM: (23..26)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..25)\n IDENTIFIER: (24..25) \"=\"\n CLOSE_PAREN: (25..26) \")\"\n ATMOSPHERE: (26..28) \" \"\n ATMOSPHERE: (28..35) \"; => #t\"\n ATMOSPHERE: (35..36) \"\n\"\n FORM: (36..43)\n OPEN_PAREN: (36..37) \"(\"\n SYMBOL: (37..38)\n IDENTIFIER: (37..38) \">\"\n ATMOSPHERE: (38..39) \" \"\n CONSTANT: (39..40)\n NUMBER: (39..40) \"5\"\n ATMOSPHERE: (40..41) \" \"\n CONSTANT: (41..42)\n NUMBER: (41..42) \"4\"\n CLOSE_PAREN: (42..43) \")\"\n ATMOSPHERE: (43..44) \" \"\n ATMOSPHERE: (44..51) \"; => #t\"\n ATMOSPHERE: (51..52) \"\n\"\n FORM: (52..59)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..54)\n IDENTIFIER: (53..54) \"<\"\n ATMOSPHERE: (54..55) \" \"\n CONSTANT: (55..56)\n NUMBER: (55..56) \"5\"\n ATMOSPHERE: (56..57) \" \"\n CONSTANT: (57..58)\n NUMBER: (57..58) \"4\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..60) \" \"\n ATMOSPHERE: (60..67) \"; => #f\"\n ATMOSPHERE: (67..68) \"\n\"\n FORM: (68..317)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..71)\n IDENTIFIER: (69..71) \"if\"\n ATMOSPHERE: (71..77) \" \n \"\n FORM: (77..83)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..80)\n IDENTIFIER: (78..80) \">=\"\n ATMOSPHERE: (80..81) \" \"\n CONSTANT: (81..82)\n NUMBER: (81..82) \"1\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..84) \" \"\n ATMOSPHERE: (84..91) \"; => #t\"\n ATMOSPHERE: (91..96) \"\n \"\n FORM: (96..295)\n OPEN_PAREN: (96..97) \"(\"\n SYMBOL: (97..98)\n IDENTIFIER: (97..98) \"+\"\n ATMOSPHERE: (98..107) \"\n \"\n FORM: (107..119)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"+\"\n ATMOSPHERE: (109..110) \" \"\n CONSTANT: (110..111)\n NUMBER: (110..111) \"1\"\n ATMOSPHERE: (111..112) \" \"\n CONSTANT: (112..113)\n NUMBER: (112..113) \"2\"\n ATMOSPHERE: (113..114) \" \"\n CONSTANT: (114..115)\n NUMBER: (114..115) \"4\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..118)\n NUMBER: (116..118) \"88\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..120) \" \"\n ATMOSPHERE: (120..127) \"; => 95\"\n ATMOSPHERE: (127..136) \"\n \"\n FORM: (136..145)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..138)\n IDENTIFIER: (137..138) \"-\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..140)\n NUMBER: (139..140) \"3\"\n ATMOSPHERE: (140..141) \" \"\n CONSTANT: (141..142)\n NUMBER: (141..142) \"4\"\n ATMOSPHERE: (142..143) \" \"\n CONSTANT: (143..144)\n NUMBER: (143..144) \"5\"\n CLOSE_PAREN: (144..145) \")\"\n ATMOSPHERE: (145..146) \" \"\n ATMOSPHERE: (146..153) \"; => -6\"\n ATMOSPHERE: (153..162) \"\n \"\n FORM: (162..167)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..164)\n IDENTIFIER: (163..164) \"-\"\n ATMOSPHERE: (164..165) \" \"\n CONSTANT: (165..166)\n NUMBER: (165..166) \"9\"\n CLOSE_PAREN: (166..167) \")\"\n ATMOSPHERE: (167..168) \" \"\n ATMOSPHERE: (168..175) \"; => -9\"\n ATMOSPHERE: (175..184) \"\n \"\n FORM: (184..187)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..186)\n IDENTIFIER: (185..186) \"/\"\n CLOSE_PAREN: (186..187) \")\"\n ATMOSPHERE: (187..188) \" \"\n ATMOSPHERE: (188..194) \"; => 1\"\n ATMOSPHERE: (194..203) \"\n \"\n FORM: (203..208)\n OPEN_PAREN: (203..204) \"(\"\n SYMBOL: (204..205)\n IDENTIFIER: (204..205) \"/\"\n ATMOSPHERE: (205..206) \" \"\n CONSTANT: (206..207)\n NUMBER: (206..207) \"2\"\n CLOSE_PAREN: (207..208) \")\"\n ATMOSPHERE: (208..209) \" \"\n ATMOSPHERE: (209..217) \"; => 0.5\"\n ATMOSPHERE: (217..226) \"\n \"\n FORM: (226..233)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..228)\n IDENTIFIER: (227..228) \"/\"\n ATMOSPHERE: (228..229) \" \"\n CONSTANT: (229..230)\n NUMBER: (229..230) \"5\"\n ATMOSPHERE: (230..231) \" \"\n CONSTANT: (231..232)\n NUMBER: (231..232) \"2\"\n CLOSE_PAREN: (232..233) \")\"\n ATMOSPHERE: (233..234) \" \"\n ATMOSPHERE: (234..242) \"; => 2.5\"\n ATMOSPHERE: (242..251) \"\n \"\n FORM: (251..258)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..253)\n IDENTIFIER: (252..253) \"*\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..255)\n NUMBER: (254..255) \"8\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..257)\n NUMBER: (256..257) \"5\"\n CLOSE_PAREN: (257..258) \")\"\n ATMOSPHERE: (258..259) \" \"\n ATMOSPHERE: (259..266) \"; => 40\"\n ATMOSPHERE: (266..275) \"\n \"\n FORM: (275..281)\n OPEN_PAREN: (275..276) \"(\"\n SYMBOL: (276..277)\n IDENTIFIER: (276..277) \"*\"\n ATMOSPHERE: (277..278) \" \"\n CONSTANT: (278..280)\n NUMBER: (278..280) \"76\"\n CLOSE_PAREN: (280..281) \")\"\n ATMOSPHERE: (281..282) \" \"\n ATMOSPHERE: (282..289) \"; => 76\"\n ATMOSPHERE: (289..294) \"\n \"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..296) \" \"\n ATMOSPHERE: (296..304) \"; => 200\"\n ATMOSPHERE: (304..309) \"\n \"\n FORM: (309..316)\n OPEN_PAREN: (309..310) \"(\"\n SYMBOL: (310..311)\n IDENTIFIER: (310..311) \"*\"\n ATMOSPHERE: (311..312) \" \"\n CONSTANT: (312..313)\n NUMBER: (312..313) \"8\"\n ATMOSPHERE: (313..314) \" \"\n CONSTANT: (314..315)\n NUMBER: (314..315) \"9\"\n CLOSE_PAREN: (315..316) \")\"\n CLOSE_PAREN: (316..317) \")\"\n EOF: (317..317) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json b/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json deleted file mode 100644 index c62dad3..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_byte-vectors.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..539)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..296)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..295)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..63) \" \n\n \"\n ATMOSPHERE: (63..86) \";; byte vector literals\"\n ATMOSPHERE: (86..91) \"\n \"\n BYTEVEC: (91..96)\n OPEN_PAREN: (91..95) \"#u8(\"\n CLOSE_PAREN: (95..96) \")\"\n ATMOSPHERE: (96..101) \"\n \"\n BYTEVEC: (101..109)\n OPEN_PAREN: (101..105) \"#u8(\"\n CONSTANT: (105..108)\n NUMBER: (105..108) \"255\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..114) \"\n \"\n BYTEVEC: (114..126)\n OPEN_PAREN: (114..118) \"#u8(\"\n ATMOSPHERE: (118..119) \" \"\n CONSTANT: (119..120)\n NUMBER: (119..120) \"1\"\n ATMOSPHERE: (120..121) \" \"\n CONSTANT: (121..122)\n NUMBER: (121..122) \"2\"\n ATMOSPHERE: (122..123) \" \"\n CONSTANT: (123..124)\n NUMBER: (123..124) \"3\"\n ATMOSPHERE: (124..125) \" \"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..132) \"\n\n \"\n FORM: (132..151)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..144)\n IDENTIFIER: (133..144) \"bytevector?\"\n ATMOSPHERE: (144..145) \" \"\n BYTEVEC: (145..150)\n OPEN_PAREN: (145..149) \"#u8(\"\n CLOSE_PAREN: (149..150) \")\"\n CLOSE_PAREN: (150..151) \")\"\n ATMOSPHERE: (151..156) \"\n \"\n FORM: (156..186)\n OPEN_PAREN: (156..157) \"(\"\n SYMBOL: (157..168)\n IDENTIFIER: (157..168) \"bytevector?\"\n ATMOSPHERE: (168..169) \" \"\n BYTEVEC: (169..185)\n OPEN_PAREN: (169..173) \"#u8(\"\n CONSTANT: (173..176)\n NUMBER: (173..176) \"128\"\n ATMOSPHERE: (176..177) \" \"\n CONSTANT: (177..180)\n NUMBER: (177..180) \"254\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..184)\n NUMBER: (181..184) \"255\"\n CLOSE_PAREN: (184..185) \")\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..192) \"\n\n \"\n ATMOSPHERE: (192..218) \";; byte vector constructor\"\n ATMOSPHERE: (218..223) \"\n \"\n FORM: (223..235)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..234)\n IDENTIFIER: (224..234) \"bytevector\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..240) \"\n \"\n FORM: (240..260)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..251)\n IDENTIFIER: (241..251) \"bytevector\"\n ATMOSPHERE: (251..252) \" \"\n CONSTANT: (252..253)\n NUMBER: (252..253) \"1\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..255)\n NUMBER: (254..255) \"2\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..257)\n NUMBER: (256..257) \"4\"\n ATMOSPHERE: (257..258) \" \"\n CONSTANT: (258..259)\n NUMBER: (258..259) \"5\"\n CLOSE_PAREN: (259..260) \")\"\n ATMOSPHERE: (260..265) \"\n \"\n FORM: (265..288)\n OPEN_PAREN: (265..266) \"(\"\n SYMBOL: (266..281)\n IDENTIFIER: (266..281) \"make-bytevector\"\n ATMOSPHERE: (281..282) \" \"\n CONSTANT: (282..284)\n NUMBER: (282..284) \"10\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..287)\n NUMBER: (285..287) \"90\"\n CLOSE_PAREN: (287..288) \")\"\n ATMOSPHERE: (288..294) \"\n\n \"\n CLOSE_PAREN: (294..295) \")\"\n CLOSE_PAREN: (295..296) \")\"\n FORM: (296..305)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..304)\n IDENTIFIER: (297..304) \"newline\"\n CLOSE_PAREN: (304..305) \")\"\n ATMOSPHERE: (305..307) \"\n\n\"\n FORM: (307..342)\n OPEN_PAREN: (307..308) \"(\"\n SYMBOL: (308..314)\n IDENTIFIER: (308..314) \"define\"\n ATMOSPHERE: (314..315) \" \"\n SYMBOL: (315..326)\n IDENTIFIER: (315..326) \"test-vector\"\n ATMOSPHERE: (326..327) \" \"\n BYTEVEC: (327..341)\n OPEN_PAREN: (327..331) \"#u8(\"\n CONSTANT: (331..332)\n NUMBER: (331..332) \"1\"\n ATMOSPHERE: (332..333) \" \"\n CONSTANT: (333..334)\n NUMBER: (333..334) \"2\"\n ATMOSPHERE: (334..335) \" \"\n CONSTANT: (335..336)\n NUMBER: (335..336) \"3\"\n ATMOSPHERE: (336..337) \" \"\n CONSTANT: (337..338)\n NUMBER: (337..338) \"4\"\n ATMOSPHERE: (338..339) \" \"\n CONSTANT: (339..340)\n NUMBER: (339..340) \"5\"\n CLOSE_PAREN: (340..341) \")\"\n CLOSE_PAREN: (341..342) \")\"\n ATMOSPHERE: (342..343) \"\n\"\n FORM: (343..384)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..351)\n IDENTIFIER: (344..351) \"display\"\n ATMOSPHERE: (351..352) \" \"\n FORM: (352..383)\n OPEN_PAREN: (352..353) \"(\"\n SYMBOL: (353..370)\n IDENTIFIER: (353..370) \"bytevector-length\"\n ATMOSPHERE: (370..371) \" \"\n SYMBOL: (371..382)\n IDENTIFIER: (371..382) \"test-vector\"\n CLOSE_PAREN: (382..383) \")\"\n CLOSE_PAREN: (383..384) \")\"\n FORM: (384..393)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..392)\n IDENTIFIER: (385..392) \"newline\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..394) \"\n\"\n FORM: (394..437)\n OPEN_PAREN: (394..395) \"(\"\n SYMBOL: (395..402)\n IDENTIFIER: (395..402) \"display\"\n ATMOSPHERE: (402..403) \" \"\n FORM: (403..436)\n OPEN_PAREN: (403..404) \"(\"\n SYMBOL: (404..421)\n IDENTIFIER: (404..421) \"bytevector-u8-ref\"\n ATMOSPHERE: (421..422) \" \"\n SYMBOL: (422..433)\n IDENTIFIER: (422..433) \"test-vector\"\n ATMOSPHERE: (433..434) \" \"\n CONSTANT: (434..435)\n NUMBER: (434..435) \"3\"\n CLOSE_PAREN: (435..436) \")\"\n CLOSE_PAREN: (436..437) \")\"\n FORM: (437..446)\n OPEN_PAREN: (437..438) \"(\"\n SYMBOL: (438..445)\n IDENTIFIER: (438..445) \"newline\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..447) \"\n\"\n FORM: (447..485)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..466)\n IDENTIFIER: (448..466) \"bytevector-u8-set!\"\n ATMOSPHERE: (466..467) \" \"\n SYMBOL: (467..478)\n IDENTIFIER: (467..478) \"test-vector\"\n ATMOSPHERE: (478..479) \" \"\n CONSTANT: (479..480)\n NUMBER: (479..480) \"3\"\n ATMOSPHERE: (480..481) \" \"\n CONSTANT: (481..484)\n NUMBER: (481..484) \"101\"\n CLOSE_PAREN: (484..485) \")\"\n ATMOSPHERE: (485..486) \"\n\"\n FORM: (486..529)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..494)\n IDENTIFIER: (487..494) \"display\"\n ATMOSPHERE: (494..495) \" \"\n FORM: (495..528)\n OPEN_PAREN: (495..496) \"(\"\n SYMBOL: (496..513)\n IDENTIFIER: (496..513) \"bytevector-u8-ref\"\n ATMOSPHERE: (513..514) \" \"\n SYMBOL: (514..525)\n IDENTIFIER: (514..525) \"test-vector\"\n ATMOSPHERE: (525..526) \" \"\n CONSTANT: (526..527)\n NUMBER: (526..527) \"3\"\n CLOSE_PAREN: (527..528) \")\"\n CLOSE_PAREN: (528..529) \")\"\n FORM: (529..538)\n OPEN_PAREN: (529..530) \"(\"\n SYMBOL: (530..537)\n IDENTIFIER: (530..537) \"newline\"\n CLOSE_PAREN: (537..538) \")\"\n ATMOSPHERE: (538..539) \"\n\"\n EOF: (539..539) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json b/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json deleted file mode 100644 index a97c658..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_capturetest.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..208)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..84)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..83)\n OPEN_PAREN: (51..52) \"(\"\n FORM: (52..82)\n OPEN_PAREN: (52..53) \"(\"\n FORM: (53..77)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..60)\n IDENTIFIER: (54..60) \"lambda\"\n ATMOSPHERE: (60..61) \" \"\n SYMBOL: (61..62)\n IDENTIFIER: (61..62) \"a\"\n ATMOSPHERE: (62..63) \" \"\n FORM: (63..76)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..70)\n IDENTIFIER: (64..70) \"lambda\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..73)\n OPEN_PAREN: (71..72) \"(\"\n CLOSE_PAREN: (72..73) \")\"\n ATMOSPHERE: (73..74) \" \"\n SYMBOL: (74..75)\n IDENTIFIER: (74..75) \"a\"\n CLOSE_PAREN: (75..76) \")\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..78) \" \"\n CONSTANT: (78..81)\n NUMBER: (78..81) \"123\"\n CLOSE_PAREN: (81..82) \")\"\n CLOSE_PAREN: (82..83) \")\"\n CLOSE_PAREN: (83..84) \")\"\n ATMOSPHERE: (84..85) \"\n\"\n FORM: (85..140)\n OPEN_PAREN: (85..86) \"(\"\n SYMBOL: (86..93)\n IDENTIFIER: (86..93) \"display\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..139)\n OPEN_PAREN: (94..95) \"(\"\n FORM: (95..138)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..102)\n IDENTIFIER: (96..102) \"lambda\"\n ATMOSPHERE: (102..103) \" \"\n FORM: (103..105)\n OPEN_PAREN: (103..104) \"(\"\n CLOSE_PAREN: (104..105) \")\"\n ATMOSPHERE: (105..106) \" \"\n FORM: (106..120)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..113)\n IDENTIFIER: (107..113) \"define\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"a\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..119)\n NUMBER: (116..119) \"100\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..121) \" \"\n FORM: (121..135)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..128)\n IDENTIFIER: (122..128) \"define\"\n ATMOSPHERE: (128..129) \" \"\n FORM: (129..132)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"b\"\n CLOSE_PAREN: (131..132) \")\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"a\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n SYMBOL: (136..137)\n IDENTIFIER: (136..137) \"a\"\n CLOSE_PAREN: (137..138) \")\"\n CLOSE_PAREN: (138..139) \")\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \"\n\"\n FORM: (141..208)\n OPEN_PAREN: (141..142) \"(\"\n FORM: (142..202)\n OPEN_PAREN: (142..143) \"(\"\n FORM: (143..189)\n OPEN_PAREN: (143..144) \"(\"\n SYMBOL: (144..150)\n IDENTIFIER: (144..150) \"lambda\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..154)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..153)\n IDENTIFIER: (152..153) \"a\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..159) \"\n \"\n FORM: (159..188)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..166)\n IDENTIFIER: (160..166) \"lambda\"\n ATMOSPHERE: (166..167) \" \"\n FORM: (167..170)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"b\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..180) \" \n \"\n FORM: (180..187)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..182)\n IDENTIFIER: (181..182) \"=\"\n ATMOSPHERE: (182..183) \" \"\n SYMBOL: (183..184)\n IDENTIFIER: (183..184) \"a\"\n ATMOSPHERE: (184..185) \" \"\n SYMBOL: (185..186)\n IDENTIFIER: (185..186) \"b\"\n CLOSE_PAREN: (186..187) \")\"\n CLOSE_PAREN: (187..188) \")\"\n CLOSE_PAREN: (188..189) \")\"\n ATMOSPHERE: (189..192) \"\n \"\n FORM: (192..201)\n OPEN_PAREN: (192..193) \"(\"\n SYMBOL: (193..194)\n IDENTIFIER: (193..194) \"*\"\n ATMOSPHERE: (194..195) \" \"\n CONSTANT: (195..196)\n NUMBER: (195..196) \"2\"\n ATMOSPHERE: (196..197) \" \"\n CONSTANT: (197..200)\n NUMBER: (197..200) \"123\"\n CLOSE_PAREN: (200..201) \")\"\n CLOSE_PAREN: (201..202) \")\"\n ATMOSPHERE: (202..204) \"\n \"\n CONSTANT: (204..207)\n NUMBER: (204..207) \"246\"\n CLOSE_PAREN: (207..208) \")\"\n EOF: (208..208) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_characters.scm.json b/test/Feersum.Tests/_snapshots/Parse_characters.scm.json deleted file mode 100644 index 00501f4..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_characters.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..5347)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..213) \"\n\n\"\n FORM: (213..799)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..221)\n IDENTIFIER: (214..221) \"display\"\n ATMOSPHERE: (221..222) \" \"\n FORM: (222..798)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..232)\n IDENTIFIER: (223..232) \"boolean=?\"\n ATMOSPHERE: (232..237) \"\n \"\n CONSTANT: (237..239)\n BOOLEAN: (237..239) \"#t\"\n ATMOSPHERE: (239..249) \"\n \n \"\n FORM: (249..278)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..256)\n IDENTIFIER: (250..256) \"equal?\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..264)\n CHARACTER: (257..264) \"#\\alarm\"\n ATMOSPHERE: (264..270) \" \"\n CONSTANT: (270..277)\n CHARACTER: (270..277) \"#\\x0007\"\n CLOSE_PAREN: (277..278) \")\"\n ATMOSPHERE: (278..280) \" \"\n ATMOSPHERE: (280..288) \"; U+0007\"\n ATMOSPHERE: (288..293) \"\n \"\n FORM: (293..322)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..300)\n IDENTIFIER: (294..300) \"equal?\"\n ATMOSPHERE: (300..301) \" \"\n CONSTANT: (301..312)\n CHARACTER: (301..312) \"#\\backspace\"\n ATMOSPHERE: (312..314) \" \"\n CONSTANT: (314..321)\n CHARACTER: (314..321) \"#\\x0008\"\n CLOSE_PAREN: (321..322) \")\"\n ATMOSPHERE: (322..324) \" \"\n ATMOSPHERE: (324..332) \"; U+0008\"\n ATMOSPHERE: (332..337) \"\n \"\n FORM: (337..366)\n OPEN_PAREN: (337..338) \"(\"\n SYMBOL: (338..344)\n IDENTIFIER: (338..344) \"equal?\"\n ATMOSPHERE: (344..345) \" \"\n CONSTANT: (345..353)\n CHARACTER: (345..353) \"#\\delete\"\n ATMOSPHERE: (353..358) \" \"\n CONSTANT: (358..365)\n CHARACTER: (358..365) \"#\\x007F\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..368) \" \"\n ATMOSPHERE: (368..376) \"; U+007F\"\n ATMOSPHERE: (376..381) \"\n \"\n FORM: (381..410)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..388)\n IDENTIFIER: (382..388) \"equal?\"\n ATMOSPHERE: (388..389) \" \"\n CONSTANT: (389..397)\n CHARACTER: (389..397) \"#\\escape\"\n ATMOSPHERE: (397..402) \" \"\n CONSTANT: (402..409)\n CHARACTER: (402..409) \"#\\x001B\"\n CLOSE_PAREN: (409..410) \")\"\n ATMOSPHERE: (410..412) \" \"\n ATMOSPHERE: (412..420) \"; U+001B\"\n ATMOSPHERE: (420..425) \"\n \"\n FORM: (425..454)\n OPEN_PAREN: (425..426) \"(\"\n SYMBOL: (426..432)\n IDENTIFIER: (426..432) \"equal?\"\n ATMOSPHERE: (432..433) \" \"\n CONSTANT: (433..442)\n CHARACTER: (433..442) \"#\\newline\"\n ATMOSPHERE: (442..446) \" \"\n CONSTANT: (446..453)\n CHARACTER: (446..453) \"#\\x000A\"\n CLOSE_PAREN: (453..454) \")\"\n ATMOSPHERE: (454..456) \" \"\n ATMOSPHERE: (456..488) \"; the linefeed character, U+000A\"\n ATMOSPHERE: (488..493) \"\n \"\n FORM: (493..522)\n OPEN_PAREN: (493..494) \"(\"\n SYMBOL: (494..500)\n IDENTIFIER: (494..500) \"equal?\"\n ATMOSPHERE: (500..501) \" \"\n CONSTANT: (501..507)\n CHARACTER: (501..507) \"#\\null\"\n ATMOSPHERE: (507..514) \" \"\n CONSTANT: (514..521)\n CHARACTER: (514..521) \"#\\x0000\"\n CLOSE_PAREN: (521..522) \")\"\n ATMOSPHERE: (522..524) \" \"\n ATMOSPHERE: (524..552) \"; the null character, U+0000\"\n ATMOSPHERE: (552..557) \"\n \"\n FORM: (557..586)\n OPEN_PAREN: (557..558) \"(\"\n SYMBOL: (558..564)\n IDENTIFIER: (558..564) \"equal?\"\n ATMOSPHERE: (564..565) \" \"\n CONSTANT: (565..573)\n CHARACTER: (565..573) \"#\\return\"\n ATMOSPHERE: (573..578) \" \"\n CONSTANT: (578..585)\n CHARACTER: (578..585) \"#\\x000D\"\n CLOSE_PAREN: (585..586) \")\"\n ATMOSPHERE: (586..588) \" \"\n ATMOSPHERE: (588..618) \"; the return character, U+000D\"\n ATMOSPHERE: (618..623) \"\n \"\n FORM: (623..652)\n OPEN_PAREN: (623..624) \"(\"\n SYMBOL: (624..630)\n IDENTIFIER: (624..630) \"equal?\"\n ATMOSPHERE: (630..631) \" \"\n CONSTANT: (631..638)\n CHARACTER: (631..638) \"#\\space\"\n ATMOSPHERE: (638..644) \" \"\n CONSTANT: (644..647)\n CHARACTER: (644..647) \"#\\ \"\n ATMOSPHERE: (647..651) \" \"\n CLOSE_PAREN: (651..652) \")\"\n ATMOSPHERE: (652..654) \" \"\n ATMOSPHERE: (654..690) \"; the preferred way to write a space\"\n ATMOSPHERE: (690..695) \"\n \"\n FORM: (695..724)\n OPEN_PAREN: (695..696) \"(\"\n SYMBOL: (696..702)\n IDENTIFIER: (696..702) \"equal?\"\n ATMOSPHERE: (702..703) \" \"\n CONSTANT: (703..708)\n CHARACTER: (703..708) \"#\\tab\"\n ATMOSPHERE: (708..716) \" \"\n CONSTANT: (716..723)\n CHARACTER: (716..723) \"#\\x0009\"\n CLOSE_PAREN: (723..724) \")\"\n ATMOSPHERE: (724..726) \" \"\n ATMOSPHERE: (726..753) \"; the tab character, U+0009\"\n ATMOSPHERE: (753..758) \"\n \"\n FORM: (758..787)\n OPEN_PAREN: (758..759) \"(\"\n SYMBOL: (759..765)\n IDENTIFIER: (759..765) \"equal?\"\n ATMOSPHERE: (765..766) \" \"\n CONSTANT: (766..773)\n CHARACTER: (766..773) \"#\\x03BB\"\n ATMOSPHERE: (773..779) \" \"\n CONSTANT: (779..782)\n CHARACTER: (779..782) \"#\\λ\"\n ATMOSPHERE: (782..786) \" \"\n CLOSE_PAREN: (786..787) \")\"\n ATMOSPHERE: (787..789) \" \"\n ATMOSPHERE: (789..792) \"; λ\"\n ATMOSPHERE: (792..797) \"\n \"\n CLOSE_PAREN: (797..798) \")\"\n CLOSE_PAREN: (798..799) \")\"\n FORM: (799..808)\n OPEN_PAREN: (799..800) \"(\"\n SYMBOL: (800..807)\n IDENTIFIER: (800..807) \"newline\"\n CLOSE_PAREN: (807..808) \")\"\n ATMOSPHERE: (808..810) \"\n\n\"\n ATMOSPHERE: (810..840) \";; Simple character operations\"\n ATMOSPHERE: (840..841) \"\n\"\n FORM: (841..1660)\n OPEN_PAREN: (841..842) \"(\"\n SYMBOL: (842..849)\n IDENTIFIER: (842..849) \"display\"\n ATMOSPHERE: (849..850) \" \"\n FORM: (850..1659)\n OPEN_PAREN: (850..851) \"(\"\n SYMBOL: (851..855)\n IDENTIFIER: (851..855) \"list\"\n ATMOSPHERE: (855..860) \"\n \"\n FORM: (860..875)\n OPEN_PAREN: (860..861) \"(\"\n SYMBOL: (861..866)\n IDENTIFIER: (861..866) \"char?\"\n ATMOSPHERE: (866..867) \" \"\n CONSTANT: (867..874)\n CHARACTER: (867..874) \"#\\space\"\n CLOSE_PAREN: (874..875) \")\"\n ATMOSPHERE: (875..880) \"\n \"\n FORM: (880..893)\n OPEN_PAREN: (880..881) \"(\"\n SYMBOL: (881..886)\n IDENTIFIER: (881..886) \"char?\"\n ATMOSPHERE: (886..887) \" \"\n CONSTANT: (887..892)\n CHARACTER: (887..892) \"#\\tab\"\n CLOSE_PAREN: (892..893) \")\"\n ATMOSPHERE: (893..898) \"\n \"\n FORM: (898..912)\n OPEN_PAREN: (898..899) \"(\"\n SYMBOL: (899..904)\n IDENTIFIER: (899..904) \"char?\"\n ATMOSPHERE: (904..905) \" \"\n CONSTANT: (905..911)\n CHARACTER: (905..911) \"#\\null\"\n CLOSE_PAREN: (911..912) \")\"\n ATMOSPHERE: (912..917) \"\n \"\n FORM: (917..928)\n OPEN_PAREN: (917..918) \"(\"\n SYMBOL: (918..923)\n IDENTIFIER: (918..923) \"char?\"\n ATMOSPHERE: (923..924) \" \"\n CONSTANT: (924..927)\n NUMBER: (924..927) \"101\"\n CLOSE_PAREN: (927..928) \")\"\n ATMOSPHERE: (928..933) \"\n \"\n FORM: (933..943)\n OPEN_PAREN: (933..934) \"(\"\n SYMBOL: (934..939)\n IDENTIFIER: (934..939) \"char?\"\n ATMOSPHERE: (939..940) \" \"\n CONSTANT: (940..942)\n NUMBER: (940..942) \"00\"\n CLOSE_PAREN: (942..943) \")\"\n ATMOSPHERE: (943..953) \"\n \n \"\n FORM: (953..1241)\n OPEN_PAREN: (953..954) \"(\"\n SYMBOL: (954..963)\n IDENTIFIER: (954..963) \"boolean=?\"\n ATMOSPHERE: (963..972) \"\n \"\n CONSTANT: (972..974)\n BOOLEAN: (972..974) \"#t\"\n ATMOSPHERE: (974..988) \"\n \n \"\n FORM: (988..1021)\n OPEN_PAREN: (988..989) \"(\"\n SYMBOL: (989..995)\n IDENTIFIER: (989..995) \"equal?\"\n ATMOSPHERE: (995..996) \" \"\n FORM: (996..1013)\n OPEN_PAREN: (996..997) \"(\"\n SYMBOL: (997..1008)\n IDENTIFIER: (997..1008) \"digit-value\"\n ATMOSPHERE: (1008..1009) \" \"\n CONSTANT: (1009..1012)\n CHARACTER: (1009..1012) \"#\\3\"\n CLOSE_PAREN: (1012..1013) \")\"\n ATMOSPHERE: (1013..1019) \" \"\n CONSTANT: (1019..1020)\n NUMBER: (1019..1020) \"3\"\n CLOSE_PAREN: (1020..1021) \")\"\n ATMOSPHERE: (1021..1030) \"\n \"\n FORM: (1030..1063)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1037)\n IDENTIFIER: (1031..1037) \"equal?\"\n ATMOSPHERE: (1037..1038) \" \"\n FORM: (1038..1059)\n OPEN_PAREN: (1038..1039) \"(\"\n SYMBOL: (1039..1050)\n IDENTIFIER: (1039..1050) \"digit-value\"\n ATMOSPHERE: (1050..1051) \" \"\n CONSTANT: (1051..1058)\n CHARACTER: (1051..1058) \"#\\x0664\"\n CLOSE_PAREN: (1058..1059) \")\"\n ATMOSPHERE: (1059..1061) \" \"\n CONSTANT: (1061..1062)\n NUMBER: (1061..1062) \"4\"\n CLOSE_PAREN: (1062..1063) \")\"\n ATMOSPHERE: (1063..1072) \"\n \"\n FORM: (1072..1105)\n OPEN_PAREN: (1072..1073) \"(\"\n SYMBOL: (1073..1079)\n IDENTIFIER: (1073..1079) \"equal?\"\n ATMOSPHERE: (1079..1080) \" \"\n FORM: (1080..1101)\n OPEN_PAREN: (1080..1081) \"(\"\n SYMBOL: (1081..1092)\n IDENTIFIER: (1081..1092) \"digit-value\"\n ATMOSPHERE: (1092..1093) \" \"\n CONSTANT: (1093..1100)\n CHARACTER: (1093..1100) \"#\\x0AE6\"\n CLOSE_PAREN: (1100..1101) \")\"\n ATMOSPHERE: (1101..1103) \" \"\n CONSTANT: (1103..1104)\n NUMBER: (1103..1104) \"0\"\n CLOSE_PAREN: (1104..1105) \")\"\n ATMOSPHERE: (1105..1114) \"\n \"\n FORM: (1114..1147)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1121)\n IDENTIFIER: (1115..1121) \"equal?\"\n ATMOSPHERE: (1121..1122) \" \"\n FORM: (1122..1143)\n OPEN_PAREN: (1122..1123) \"(\"\n SYMBOL: (1123..1134)\n IDENTIFIER: (1123..1134) \"digit-value\"\n ATMOSPHERE: (1134..1135) \" \"\n CONSTANT: (1135..1142)\n CHARACTER: (1135..1142) \"#\\x0EA6\"\n CLOSE_PAREN: (1142..1143) \")\"\n ATMOSPHERE: (1143..1144) \" \"\n CONSTANT: (1144..1146)\n BOOLEAN: (1144..1146) \"#f\"\n CLOSE_PAREN: (1146..1147) \")\"\n ATMOSPHERE: (1147..1156) \"\n \"\n FORM: (1156..1189)\n OPEN_PAREN: (1156..1157) \"(\"\n SYMBOL: (1157..1163)\n IDENTIFIER: (1157..1163) \"equal?\"\n ATMOSPHERE: (1163..1164) \" \"\n FORM: (1164..1181)\n OPEN_PAREN: (1164..1165) \"(\"\n SYMBOL: (1165..1176)\n IDENTIFIER: (1165..1176) \"digit-value\"\n ATMOSPHERE: (1176..1177) \" \"\n CONSTANT: (1177..1180)\n CHARACTER: (1177..1180) \"#\\১\"\n CLOSE_PAREN: (1180..1181) \")\"\n ATMOSPHERE: (1181..1187) \" \"\n CONSTANT: (1187..1188)\n NUMBER: (1187..1188) \"1\"\n CLOSE_PAREN: (1188..1189) \")\"\n ATMOSPHERE: (1189..1198) \"\n \"\n FORM: (1198..1231)\n OPEN_PAREN: (1198..1199) \"(\"\n SYMBOL: (1199..1205)\n IDENTIFIER: (1199..1205) \"equal?\"\n ATMOSPHERE: (1205..1206) \" \"\n FORM: (1206..1223)\n OPEN_PAREN: (1206..1207) \"(\"\n SYMBOL: (1207..1218)\n IDENTIFIER: (1207..1218) \"digit-value\"\n ATMOSPHERE: (1218..1219) \" \"\n CONSTANT: (1219..1222)\n CHARACTER: (1219..1222) \"#\\५\"\n CLOSE_PAREN: (1222..1223) \")\"\n ATMOSPHERE: (1223..1229) \" \"\n CONSTANT: (1229..1230)\n NUMBER: (1229..1230) \"5\"\n CLOSE_PAREN: (1230..1231) \")\"\n ATMOSPHERE: (1231..1240) \"\n \"\n CLOSE_PAREN: (1240..1241) \")\"\n ATMOSPHERE: (1241..1247) \"\n\n \"\n FORM: (1247..1653)\n OPEN_PAREN: (1247..1248) \"(\"\n SYMBOL: (1248..1257)\n IDENTIFIER: (1248..1257) \"boolean=?\"\n ATMOSPHERE: (1257..1266) \"\n \"\n CONSTANT: (1266..1268)\n BOOLEAN: (1266..1268) \"#t\"\n ATMOSPHERE: (1268..1278) \"\n\n \"\n FORM: (1278..1313)\n OPEN_PAREN: (1278..1279) \"(\"\n SYMBOL: (1279..1285)\n IDENTIFIER: (1279..1285) \"equal?\"\n ATMOSPHERE: (1285..1286) \" \"\n FORM: (1286..1309)\n OPEN_PAREN: (1286..1287) \"(\"\n SYMBOL: (1287..1300)\n IDENTIFIER: (1287..1300) \"char->integer\"\n ATMOSPHERE: (1300..1301) \" \"\n CONSTANT: (1301..1308)\n CHARACTER: (1301..1308) \"#\\space\"\n CLOSE_PAREN: (1308..1309) \")\"\n ATMOSPHERE: (1309..1310) \" \"\n CONSTANT: (1310..1312)\n NUMBER: (1310..1312) \"32\"\n CLOSE_PAREN: (1312..1313) \")\"\n ATMOSPHERE: (1313..1322) \"\n \"\n FORM: (1322..1355)\n OPEN_PAREN: (1322..1323) \"(\"\n SYMBOL: (1323..1329)\n IDENTIFIER: (1323..1329) \"equal?\"\n ATMOSPHERE: (1329..1330) \" \"\n FORM: (1330..1352)\n OPEN_PAREN: (1330..1331) \"(\"\n SYMBOL: (1331..1344)\n IDENTIFIER: (1331..1344) \"char->integer\"\n ATMOSPHERE: (1344..1345) \" \"\n CONSTANT: (1345..1351)\n CHARACTER: (1345..1351) \"#\\null\"\n CLOSE_PAREN: (1351..1352) \")\"\n ATMOSPHERE: (1352..1353) \" \"\n CONSTANT: (1353..1354)\n NUMBER: (1353..1354) \"0\"\n CLOSE_PAREN: (1354..1355) \")\"\n ATMOSPHERE: (1355..1364) \"\n \"\n FORM: (1364..1401)\n OPEN_PAREN: (1364..1365) \"(\"\n SYMBOL: (1365..1371)\n IDENTIFIER: (1365..1371) \"equal?\"\n ATMOSPHERE: (1371..1372) \" \"\n FORM: (1372..1395)\n OPEN_PAREN: (1372..1373) \"(\"\n SYMBOL: (1373..1386)\n IDENTIFIER: (1373..1386) \"char->integer\"\n ATMOSPHERE: (1386..1387) \" \"\n CONSTANT: (1387..1394)\n CHARACTER: (1387..1394) \"#\\x0EA6\"\n CLOSE_PAREN: (1394..1395) \")\"\n ATMOSPHERE: (1395..1396) \" \"\n CONSTANT: (1396..1400)\n NUMBER: (1396..1400) \"3750\"\n CLOSE_PAREN: (1400..1401) \")\"\n ATMOSPHERE: (1401..1410) \"\n \"\n FORM: (1410..1441)\n OPEN_PAREN: (1410..1411) \"(\"\n SYMBOL: (1411..1417)\n IDENTIFIER: (1411..1417) \"equal?\"\n ATMOSPHERE: (1417..1418) \" \"\n FORM: (1418..1436)\n OPEN_PAREN: (1418..1419) \"(\"\n SYMBOL: (1419..1432)\n IDENTIFIER: (1419..1432) \"integer->char\"\n ATMOSPHERE: (1432..1433) \" \"\n CONSTANT: (1433..1435)\n NUMBER: (1433..1435) \"38\"\n CLOSE_PAREN: (1435..1436) \")\"\n ATMOSPHERE: (1436..1437) \" \"\n CONSTANT: (1437..1440)\n CHARACTER: (1437..1440) \"#\\&\"\n CLOSE_PAREN: (1440..1441) \")\"\n ATMOSPHERE: (1441..1450) \"\n \"\n FORM: (1450..1484)\n OPEN_PAREN: (1450..1451) \"(\"\n SYMBOL: (1451..1457)\n IDENTIFIER: (1451..1457) \"equal?\"\n ATMOSPHERE: (1457..1458) \" \"\n FORM: (1458..1475)\n OPEN_PAREN: (1458..1459) \"(\"\n SYMBOL: (1459..1472)\n IDENTIFIER: (1459..1472) \"integer->char\"\n ATMOSPHERE: (1472..1473) \" \"\n CONSTANT: (1473..1474)\n NUMBER: (1473..1474) \"0\"\n CLOSE_PAREN: (1474..1475) \")\"\n ATMOSPHERE: (1475..1476) \" \"\n CONSTANT: (1476..1483)\n CHARACTER: (1476..1483) \"#\\x0000\"\n CLOSE_PAREN: (1483..1484) \")\"\n ATMOSPHERE: (1484..1493) \"\n \"\n FORM: (1493..1531)\n OPEN_PAREN: (1493..1494) \"(\"\n SYMBOL: (1494..1500)\n IDENTIFIER: (1494..1500) \"equal?\"\n ATMOSPHERE: (1500..1501) \" \"\n FORM: (1501..1522)\n OPEN_PAREN: (1501..1502) \"(\"\n SYMBOL: (1502..1515)\n IDENTIFIER: (1502..1515) \"integer->char\"\n ATMOSPHERE: (1515..1516) \" \"\n CONSTANT: (1516..1521)\n NUMBER: (1516..1521) \"55295\"\n CLOSE_PAREN: (1521..1522) \")\"\n ATMOSPHERE: (1522..1523) \" \"\n CONSTANT: (1523..1530)\n CHARACTER: (1523..1530) \"#\\xD7FF\"\n CLOSE_PAREN: (1530..1531) \")\"\n ATMOSPHERE: (1531..1541) \"\n\n \"\n FORM: (1541..1643)\n OPEN_PAREN: (1541..1542) \"(\"\n SYMBOL: (1542..1545)\n IDENTIFIER: (1542..1545) \"let\"\n ATMOSPHERE: (1545..1546) \" \"\n FORM: (1546..1580)\n OPEN_PAREN: (1546..1547) \"(\"\n FORM: (1547..1579)\n OPEN_PAREN: (1547..1548) \"(\"\n SYMBOL: (1548..1556)\n IDENTIFIER: (1548..1556) \"bad-char\"\n ATMOSPHERE: (1556..1557) \" \"\n FORM: (1557..1578)\n OPEN_PAREN: (1557..1558) \"(\"\n SYMBOL: (1558..1571)\n IDENTIFIER: (1558..1571) \"integer->char\"\n ATMOSPHERE: (1571..1572) \" \"\n CONSTANT: (1572..1577)\n NUMBER: (1572..1577) \"55296\"\n CLOSE_PAREN: (1577..1578) \")\"\n CLOSE_PAREN: (1578..1579) \")\"\n CLOSE_PAREN: (1579..1580) \")\"\n ATMOSPHERE: (1580..1593) \"\n \"\n FORM: (1593..1642)\n OPEN_PAREN: (1593..1594) \"(\"\n SYMBOL: (1594..1597)\n IDENTIFIER: (1594..1597) \"and\"\n ATMOSPHERE: (1597..1598) \" \"\n FORM: (1598..1618)\n OPEN_PAREN: (1598..1599) \"(\"\n SYMBOL: (1599..1600)\n IDENTIFIER: (1599..1600) \">\"\n ATMOSPHERE: (1600..1601) \" \"\n SYMBOL: (1601..1609)\n IDENTIFIER: (1601..1609) \"bad-char\"\n ATMOSPHERE: (1609..1610) \" \"\n CONSTANT: (1610..1617)\n NUMBER: (1610..1617) \"1114111\"\n CLOSE_PAREN: (1617..1618) \")\"\n ATMOSPHERE: (1618..1619) \" \"\n FORM: (1619..1641)\n OPEN_PAREN: (1619..1620) \"(\"\n SYMBOL: (1620..1623)\n IDENTIFIER: (1620..1623) \"not\"\n ATMOSPHERE: (1623..1624) \" \"\n FORM: (1624..1640)\n OPEN_PAREN: (1624..1625) \"(\"\n SYMBOL: (1625..1630)\n IDENTIFIER: (1625..1630) \"char?\"\n ATMOSPHERE: (1630..1631) \" \"\n SYMBOL: (1631..1639)\n IDENTIFIER: (1631..1639) \"bad-char\"\n CLOSE_PAREN: (1639..1640) \")\"\n CLOSE_PAREN: (1640..1641) \")\"\n CLOSE_PAREN: (1641..1642) \")\"\n CLOSE_PAREN: (1642..1643) \")\"\n ATMOSPHERE: (1643..1652) \"\n \"\n CLOSE_PAREN: (1652..1653) \")\"\n ATMOSPHERE: (1653..1658) \"\n \"\n CLOSE_PAREN: (1658..1659) \")\"\n CLOSE_PAREN: (1659..1660) \")\"\n FORM: (1660..1669)\n OPEN_PAREN: (1660..1661) \"(\"\n SYMBOL: (1661..1668)\n IDENTIFIER: (1661..1668) \"newline\"\n CLOSE_PAREN: (1668..1669) \")\"\n ATMOSPHERE: (1669..1671) \"\n\n\"\n ATMOSPHERE: (1671..1695) \";; Character comparisons\"\n ATMOSPHERE: (1695..1696) \"\n\"\n FORM: (1696..3757)\n OPEN_PAREN: (1696..1697) \"(\"\n SYMBOL: (1697..1704)\n IDENTIFIER: (1697..1704) \"display\"\n ATMOSPHERE: (1704..1705) \" \"\n FORM: (1705..3756)\n OPEN_PAREN: (1705..1706) \"(\"\n SYMBOL: (1706..1715)\n IDENTIFIER: (1706..1715) \"boolean=?\"\n ATMOSPHERE: (1715..1720) \"\n \"\n CONSTANT: (1720..1722)\n BOOLEAN: (1720..1722) \"#t\"\n ATMOSPHERE: (1722..1732) \"\n \n \"\n FORM: (1732..1752)\n OPEN_PAREN: (1732..1733) \"(\"\n SYMBOL: (1733..1739)\n IDENTIFIER: (1733..1739) \"char=?\"\n ATMOSPHERE: (1739..1740) \" \"\n CONSTANT: (1740..1743)\n CHARACTER: (1740..1743) \"#\\a\"\n ATMOSPHERE: (1743..1744) \" \"\n CONSTANT: (1744..1747)\n CHARACTER: (1744..1747) \"#\\a\"\n ATMOSPHERE: (1747..1748) \" \"\n CONSTANT: (1748..1751)\n CHARACTER: (1748..1751) \"#\\a\"\n CLOSE_PAREN: (1751..1752) \")\"\n ATMOSPHERE: (1752..1757) \"\n \"\n FORM: (1757..1780)\n OPEN_PAREN: (1757..1758) \"(\"\n SYMBOL: (1758..1767)\n IDENTIFIER: (1758..1767) \"char-ci=?\"\n ATMOSPHERE: (1767..1768) \" \"\n CONSTANT: (1768..1771)\n CHARACTER: (1768..1771) \"#\\a\"\n ATMOSPHERE: (1771..1772) \" \"\n CONSTANT: (1772..1775)\n CHARACTER: (1772..1775) \"#\\a\"\n ATMOSPHERE: (1775..1776) \" \"\n CONSTANT: (1776..1779)\n CHARACTER: (1776..1779) \"#\\a\"\n CLOSE_PAREN: (1779..1780) \")\"\n ATMOSPHERE: (1780..1785) \"\n \"\n FORM: (1785..1805)\n OPEN_PAREN: (1785..1786) \"(\"\n SYMBOL: (1786..1792)\n IDENTIFIER: (1786..1792) \"char=?\"\n ATMOSPHERE: (1792..1793) \" \"\n CONSTANT: (1793..1796)\n CHARACTER: (1793..1796) \"#\\A\"\n ATMOSPHERE: (1796..1797) \" \"\n CONSTANT: (1797..1800)\n CHARACTER: (1797..1800) \"#\\A\"\n ATMOSPHERE: (1800..1801) \" \"\n CONSTANT: (1801..1804)\n CHARACTER: (1801..1804) \"#\\A\"\n CLOSE_PAREN: (1804..1805) \")\"\n ATMOSPHERE: (1805..1810) \"\n \"\n FORM: (1810..1833)\n OPEN_PAREN: (1810..1811) \"(\"\n SYMBOL: (1811..1820)\n IDENTIFIER: (1811..1820) \"char-ci=?\"\n ATMOSPHERE: (1820..1821) \" \"\n CONSTANT: (1821..1824)\n CHARACTER: (1821..1824) \"#\\A\"\n ATMOSPHERE: (1824..1825) \" \"\n CONSTANT: (1825..1828)\n CHARACTER: (1825..1828) \"#\\A\"\n ATMOSPHERE: (1828..1829) \" \"\n CONSTANT: (1829..1832)\n CHARACTER: (1829..1832) \"#\\A\"\n CLOSE_PAREN: (1832..1833) \")\"\n ATMOSPHERE: (1833..1838) \"\n \"\n FORM: (1838..1864)\n OPEN_PAREN: (1838..1839) \"(\"\n SYMBOL: (1839..1842)\n IDENTIFIER: (1839..1842) \"not\"\n ATMOSPHERE: (1842..1843) \" \"\n FORM: (1843..1863)\n OPEN_PAREN: (1843..1844) \"(\"\n SYMBOL: (1844..1850)\n IDENTIFIER: (1844..1850) \"char=?\"\n ATMOSPHERE: (1850..1851) \" \"\n CONSTANT: (1851..1854)\n CHARACTER: (1851..1854) \"#\\a\"\n ATMOSPHERE: (1854..1855) \" \"\n CONSTANT: (1855..1858)\n CHARACTER: (1855..1858) \"#\\A\"\n ATMOSPHERE: (1858..1859) \" \"\n CONSTANT: (1859..1862)\n CHARACTER: (1859..1862) \"#\\a\"\n CLOSE_PAREN: (1862..1863) \")\"\n CLOSE_PAREN: (1863..1864) \")\"\n ATMOSPHERE: (1864..1869) \"\n \"\n FORM: (1869..1892)\n OPEN_PAREN: (1869..1870) \"(\"\n SYMBOL: (1870..1879)\n IDENTIFIER: (1870..1879) \"char-ci=?\"\n ATMOSPHERE: (1879..1880) \" \"\n CONSTANT: (1880..1883)\n CHARACTER: (1880..1883) \"#\\a\"\n ATMOSPHERE: (1883..1884) \" \"\n CONSTANT: (1884..1887)\n CHARACTER: (1884..1887) \"#\\A\"\n ATMOSPHERE: (1887..1888) \" \"\n CONSTANT: (1888..1891)\n CHARACTER: (1888..1891) \"#\\a\"\n CLOSE_PAREN: (1891..1892) \")\"\n ATMOSPHERE: (1892..1897) \"\n \"\n FORM: (1897..1917)\n OPEN_PAREN: (1897..1898) \"(\"\n SYMBOL: (1898..1904)\n IDENTIFIER: (1898..1904) \"char=?\"\n ATMOSPHERE: (1904..1905) \" \"\n CONSTANT: (1905..1908)\n CHARACTER: (1905..1908) \"#\\λ\"\n ATMOSPHERE: (1908..1909) \" \"\n CONSTANT: (1909..1912)\n CHARACTER: (1909..1912) \"#\\λ\"\n ATMOSPHERE: (1912..1913) \" \"\n CONSTANT: (1913..1916)\n CHARACTER: (1913..1916) \"#\\λ\"\n CLOSE_PAREN: (1916..1917) \")\"\n ATMOSPHERE: (1917..1922) \"\n \"\n FORM: (1922..1945)\n OPEN_PAREN: (1922..1923) \"(\"\n SYMBOL: (1923..1932)\n IDENTIFIER: (1923..1932) \"char-ci=?\"\n ATMOSPHERE: (1932..1933) \" \"\n CONSTANT: (1933..1936)\n CHARACTER: (1933..1936) \"#\\λ\"\n ATMOSPHERE: (1936..1937) \" \"\n CONSTANT: (1937..1940)\n CHARACTER: (1937..1940) \"#\\λ\"\n ATMOSPHERE: (1940..1941) \" \"\n CONSTANT: (1941..1944)\n CHARACTER: (1941..1944) \"#\\λ\"\n CLOSE_PAREN: (1944..1945) \")\"\n ATMOSPHERE: (1945..1950) \"\n \"\n FORM: (1950..1978)\n OPEN_PAREN: (1950..1951) \"(\"\n SYMBOL: (1951..1957)\n IDENTIFIER: (1951..1957) \"char=?\"\n ATMOSPHERE: (1957..1958) \" \"\n CONSTANT: (1958..1961)\n CHARACTER: (1958..1961) \"#\\Λ\"\n ATMOSPHERE: (1961..1962) \" \"\n CONSTANT: (1962..1965)\n CHARACTER: (1962..1965) \"#\\Λ\"\n ATMOSPHERE: (1965..1966) \" \"\n CONSTANT: (1966..1969)\n CHARACTER: (1966..1969) \"#\\Λ\"\n ATMOSPHERE: (1969..1970) \" \"\n CONSTANT: (1970..1973)\n CHARACTER: (1970..1973) \"#\\Λ\"\n ATMOSPHERE: (1973..1974) \" \"\n CONSTANT: (1974..1977)\n CHARACTER: (1974..1977) \"#\\Λ\"\n CLOSE_PAREN: (1977..1978) \")\"\n ATMOSPHERE: (1978..1983) \"\n \"\n FORM: (1983..2014)\n OPEN_PAREN: (1983..1984) \"(\"\n SYMBOL: (1984..1993)\n IDENTIFIER: (1984..1993) \"char-ci=?\"\n ATMOSPHERE: (1993..1994) \" \"\n CONSTANT: (1994..1997)\n CHARACTER: (1994..1997) \"#\\Λ\"\n ATMOSPHERE: (1997..1998) \" \"\n CONSTANT: (1998..2001)\n CHARACTER: (1998..2001) \"#\\Λ\"\n ATMOSPHERE: (2001..2002) \" \"\n CONSTANT: (2002..2005)\n CHARACTER: (2002..2005) \"#\\Λ\"\n ATMOSPHERE: (2005..2006) \" \"\n CONSTANT: (2006..2009)\n CHARACTER: (2006..2009) \"#\\Λ\"\n ATMOSPHERE: (2009..2010) \" \"\n CONSTANT: (2010..2013)\n CHARACTER: (2010..2013) \"#\\Λ\"\n CLOSE_PAREN: (2013..2014) \")\"\n ATMOSPHERE: (2014..2019) \"\n \"\n FORM: (2019..2053)\n OPEN_PAREN: (2019..2020) \"(\"\n SYMBOL: (2020..2023)\n IDENTIFIER: (2020..2023) \"not\"\n ATMOSPHERE: (2023..2024) \" \"\n FORM: (2024..2052)\n OPEN_PAREN: (2024..2025) \"(\"\n SYMBOL: (2025..2031)\n IDENTIFIER: (2025..2031) \"char=?\"\n ATMOSPHERE: (2031..2032) \" \"\n CONSTANT: (2032..2035)\n CHARACTER: (2032..2035) \"#\\Λ\"\n ATMOSPHERE: (2035..2036) \" \"\n CONSTANT: (2036..2039)\n CHARACTER: (2036..2039) \"#\\λ\"\n ATMOSPHERE: (2039..2040) \" \"\n CONSTANT: (2040..2043)\n CHARACTER: (2040..2043) \"#\\Λ\"\n ATMOSPHERE: (2043..2044) \" \"\n CONSTANT: (2044..2047)\n CHARACTER: (2044..2047) \"#\\Λ\"\n ATMOSPHERE: (2047..2048) \" \"\n CONSTANT: (2048..2051)\n CHARACTER: (2048..2051) \"#\\Λ\"\n CLOSE_PAREN: (2051..2052) \")\"\n CLOSE_PAREN: (2052..2053) \")\"\n ATMOSPHERE: (2053..2058) \"\n \"\n FORM: (2058..2089)\n OPEN_PAREN: (2058..2059) \"(\"\n SYMBOL: (2059..2068)\n IDENTIFIER: (2059..2068) \"char-ci=?\"\n ATMOSPHERE: (2068..2069) \" \"\n CONSTANT: (2069..2072)\n CHARACTER: (2069..2072) \"#\\Λ\"\n ATMOSPHERE: (2072..2073) \" \"\n CONSTANT: (2073..2076)\n CHARACTER: (2073..2076) \"#\\λ\"\n ATMOSPHERE: (2076..2077) \" \"\n CONSTANT: (2077..2080)\n CHARACTER: (2077..2080) \"#\\Λ\"\n ATMOSPHERE: (2080..2081) \" \"\n CONSTANT: (2081..2084)\n CHARACTER: (2081..2084) \"#\\Λ\"\n ATMOSPHERE: (2084..2085) \" \"\n CONSTANT: (2085..2088)\n CHARACTER: (2085..2088) \"#\\Λ\"\n CLOSE_PAREN: (2088..2089) \")\"\n ATMOSPHERE: (2089..2094) \"\n \"\n FORM: (2094..2128)\n OPEN_PAREN: (2094..2095) \"(\"\n SYMBOL: (2095..2098)\n IDENTIFIER: (2095..2098) \"not\"\n ATMOSPHERE: (2098..2099) \" \"\n FORM: (2099..2127)\n OPEN_PAREN: (2099..2100) \"(\"\n SYMBOL: (2100..2106)\n IDENTIFIER: (2100..2106) \"char=?\"\n ATMOSPHERE: (2106..2107) \" \"\n CONSTANT: (2107..2110)\n CHARACTER: (2107..2110) \"#\\λ\"\n ATMOSPHERE: (2110..2111) \" \"\n CONSTANT: (2111..2114)\n CHARACTER: (2111..2114) \"#\\λ\"\n ATMOSPHERE: (2114..2115) \" \"\n CONSTANT: (2115..2118)\n CHARACTER: (2115..2118) \"#\\λ\"\n ATMOSPHERE: (2118..2119) \" \"\n CONSTANT: (2119..2126)\n CHARACTER: (2119..2126) \"#\\space\"\n CLOSE_PAREN: (2126..2127) \")\"\n CLOSE_PAREN: (2127..2128) \")\"\n ATMOSPHERE: (2128..2133) \"\n \"\n FORM: (2133..2170)\n OPEN_PAREN: (2133..2134) \"(\"\n SYMBOL: (2134..2137)\n IDENTIFIER: (2134..2137) \"not\"\n ATMOSPHERE: (2137..2138) \" \"\n FORM: (2138..2169)\n OPEN_PAREN: (2138..2139) \"(\"\n SYMBOL: (2139..2148)\n IDENTIFIER: (2139..2148) \"char-ci=?\"\n ATMOSPHERE: (2148..2149) \" \"\n CONSTANT: (2149..2152)\n CHARACTER: (2149..2152) \"#\\λ\"\n ATMOSPHERE: (2152..2153) \" \"\n CONSTANT: (2153..2156)\n CHARACTER: (2153..2156) \"#\\λ\"\n ATMOSPHERE: (2156..2157) \" \"\n CONSTANT: (2157..2160)\n CHARACTER: (2157..2160) \"#\\λ\"\n ATMOSPHERE: (2160..2161) \" \"\n CONSTANT: (2161..2168)\n CHARACTER: (2161..2168) \"#\\space\"\n CLOSE_PAREN: (2168..2169) \")\"\n CLOSE_PAREN: (2169..2170) \")\"\n ATMOSPHERE: (2170..2175) \"\n \"\n FORM: (2175..2197)\n OPEN_PAREN: (2175..2176) \"(\"\n SYMBOL: (2176..2179)\n IDENTIFIER: (2176..2179) \"not\"\n ATMOSPHERE: (2179..2180) \" \"\n FORM: (2180..2196)\n OPEN_PAREN: (2180..2181) \"(\"\n SYMBOL: (2181..2187)\n IDENTIFIER: (2181..2187) \"char=?\"\n ATMOSPHERE: (2187..2188) \" \"\n CONSTANT: (2188..2191)\n CHARACTER: (2188..2191) \"#\\a\"\n ATMOSPHERE: (2191..2192) \" \"\n CONSTANT: (2192..2195)\n CHARACTER: (2192..2195) \"#\\λ\"\n CLOSE_PAREN: (2195..2196) \")\"\n CLOSE_PAREN: (2196..2197) \")\"\n ATMOSPHERE: (2197..2202) \"\n \"\n FORM: (2202..2227)\n OPEN_PAREN: (2202..2203) \"(\"\n SYMBOL: (2203..2206)\n IDENTIFIER: (2203..2206) \"not\"\n ATMOSPHERE: (2206..2207) \" \"\n FORM: (2207..2226)\n OPEN_PAREN: (2207..2208) \"(\"\n SYMBOL: (2208..2217)\n IDENTIFIER: (2208..2217) \"char-ci=?\"\n ATMOSPHERE: (2217..2218) \" \"\n CONSTANT: (2218..2221)\n CHARACTER: (2218..2221) \"#\\a\"\n ATMOSPHERE: (2221..2222) \" \"\n CONSTANT: (2222..2225)\n CHARACTER: (2222..2225) \"#\\λ\"\n CLOSE_PAREN: (2225..2226) \")\"\n CLOSE_PAREN: (2226..2227) \")\"\n ATMOSPHERE: (2227..2233) \"\n\n \"\n FORM: (2233..2257)\n OPEN_PAREN: (2233..2234) \"(\"\n SYMBOL: (2234..2240)\n IDENTIFIER: (2234..2240) \"char?\"\n ATMOSPHERE: (3006..3007) \" \"\n CONSTANT: (3007..3010)\n CHARACTER: (3007..3010) \"#\\a\"\n ATMOSPHERE: (3010..3011) \" \"\n CONSTANT: (3011..3014)\n CHARACTER: (3011..3014) \"#\\b\"\n ATMOSPHERE: (3014..3015) \" \"\n CONSTANT: (3015..3018)\n CHARACTER: (3015..3018) \"#\\c\"\n ATMOSPHERE: (3018..3019) \" \"\n CONSTANT: (3019..3022)\n CHARACTER: (3019..3022) \"#\\d\"\n CLOSE_PAREN: (3022..3023) \")\"\n CLOSE_PAREN: (3023..3024) \")\"\n ATMOSPHERE: (3024..3029) \"\n \"\n FORM: (3029..3062)\n OPEN_PAREN: (3029..3030) \"(\"\n SYMBOL: (3030..3033)\n IDENTIFIER: (3030..3033) \"not\"\n ATMOSPHERE: (3033..3034) \" \"\n FORM: (3034..3061)\n OPEN_PAREN: (3034..3035) \"(\"\n SYMBOL: (3035..3044)\n IDENTIFIER: (3035..3044) \"char-ci>?\"\n ATMOSPHERE: (3044..3045) \" \"\n CONSTANT: (3045..3048)\n CHARACTER: (3045..3048) \"#\\a\"\n ATMOSPHERE: (3048..3049) \" \"\n CONSTANT: (3049..3052)\n CHARACTER: (3049..3052) \"#\\b\"\n ATMOSPHERE: (3052..3053) \" \"\n CONSTANT: (3053..3056)\n CHARACTER: (3053..3056) \"#\\c\"\n ATMOSPHERE: (3056..3057) \" \"\n CONSTANT: (3057..3060)\n CHARACTER: (3057..3060) \"#\\d\"\n CLOSE_PAREN: (3060..3061) \")\"\n CLOSE_PAREN: (3061..3062) \")\"\n ATMOSPHERE: (3062..3067) \"\n \"\n FORM: (3067..3097)\n OPEN_PAREN: (3067..3068) \"(\"\n SYMBOL: (3068..3071)\n IDENTIFIER: (3068..3071) \"not\"\n ATMOSPHERE: (3071..3072) \" \"\n FORM: (3072..3096)\n OPEN_PAREN: (3072..3073) \"(\"\n SYMBOL: (3073..3079)\n IDENTIFIER: (3073..3079) \"char>?\"\n ATMOSPHERE: (3079..3080) \" \"\n CONSTANT: (3080..3083)\n CHARACTER: (3080..3083) \"#\\A\"\n ATMOSPHERE: (3083..3084) \" \"\n CONSTANT: (3084..3087)\n CHARACTER: (3084..3087) \"#\\b\"\n ATMOSPHERE: (3087..3088) \" \"\n CONSTANT: (3088..3091)\n CHARACTER: (3088..3091) \"#\\c\"\n ATMOSPHERE: (3091..3092) \" \"\n CONSTANT: (3092..3095)\n CHARACTER: (3092..3095) \"#\\D\"\n CLOSE_PAREN: (3095..3096) \")\"\n CLOSE_PAREN: (3096..3097) \")\"\n ATMOSPHERE: (3097..3102) \"\n \"\n FORM: (3102..3135)\n OPEN_PAREN: (3102..3103) \"(\"\n SYMBOL: (3103..3106)\n IDENTIFIER: (3103..3106) \"not\"\n ATMOSPHERE: (3106..3107) \" \"\n FORM: (3107..3134)\n OPEN_PAREN: (3107..3108) \"(\"\n SYMBOL: (3108..3117)\n IDENTIFIER: (3108..3117) \"char-ci>?\"\n ATMOSPHERE: (3117..3118) \" \"\n CONSTANT: (3118..3121)\n CHARACTER: (3118..3121) \"#\\A\"\n ATMOSPHERE: (3121..3122) \" \"\n CONSTANT: (3122..3125)\n CHARACTER: (3122..3125) \"#\\b\"\n ATMOSPHERE: (3125..3126) \" \"\n CONSTANT: (3126..3129)\n CHARACTER: (3126..3129) \"#\\c\"\n ATMOSPHERE: (3129..3130) \" \"\n CONSTANT: (3130..3133)\n CHARACTER: (3130..3133) \"#\\D\"\n CLOSE_PAREN: (3133..3134) \")\"\n CLOSE_PAREN: (3134..3135) \")\"\n ATMOSPHERE: (3135..3140) \"\n \"\n FORM: (3140..3164)\n OPEN_PAREN: (3140..3141) \"(\"\n SYMBOL: (3141..3147)\n IDENTIFIER: (3141..3147) \"char>?\"\n ATMOSPHERE: (3147..3148) \" \"\n CONSTANT: (3148..3151)\n CHARACTER: (3148..3151) \"#\\d\"\n ATMOSPHERE: (3151..3152) \" \"\n CONSTANT: (3152..3155)\n CHARACTER: (3152..3155) \"#\\c\"\n ATMOSPHERE: (3155..3156) \" \"\n CONSTANT: (3156..3159)\n CHARACTER: (3156..3159) \"#\\b\"\n ATMOSPHERE: (3159..3160) \" \"\n CONSTANT: (3160..3163)\n CHARACTER: (3160..3163) \"#\\a\"\n CLOSE_PAREN: (3163..3164) \")\"\n ATMOSPHERE: (3164..3169) \"\n \"\n FORM: (3169..3196)\n OPEN_PAREN: (3169..3170) \"(\"\n SYMBOL: (3170..3179)\n IDENTIFIER: (3170..3179) \"char-ci>?\"\n ATMOSPHERE: (3179..3180) \" \"\n CONSTANT: (3180..3183)\n CHARACTER: (3180..3183) \"#\\d\"\n ATMOSPHERE: (3183..3184) \" \"\n CONSTANT: (3184..3187)\n CHARACTER: (3184..3187) \"#\\c\"\n ATMOSPHERE: (3187..3188) \" \"\n CONSTANT: (3188..3191)\n CHARACTER: (3188..3191) \"#\\b\"\n ATMOSPHERE: (3191..3192) \" \"\n CONSTANT: (3192..3195)\n CHARACTER: (3192..3195) \"#\\a\"\n CLOSE_PAREN: (3195..3196) \")\"\n ATMOSPHERE: (3196..3201) \"\n \"\n FORM: (3201..3231)\n OPEN_PAREN: (3201..3202) \"(\"\n SYMBOL: (3202..3205)\n IDENTIFIER: (3202..3205) \"not\"\n ATMOSPHERE: (3205..3206) \" \"\n FORM: (3206..3230)\n OPEN_PAREN: (3206..3207) \"(\"\n SYMBOL: (3207..3213)\n IDENTIFIER: (3207..3213) \"char>?\"\n ATMOSPHERE: (3213..3214) \" \"\n CONSTANT: (3214..3217)\n CHARACTER: (3214..3217) \"#\\D\"\n ATMOSPHERE: (3217..3218) \" \"\n CONSTANT: (3218..3221)\n CHARACTER: (3218..3221) \"#\\c\"\n ATMOSPHERE: (3221..3222) \" \"\n CONSTANT: (3222..3225)\n CHARACTER: (3222..3225) \"#\\b\"\n ATMOSPHERE: (3225..3226) \" \"\n CONSTANT: (3226..3229)\n CHARACTER: (3226..3229) \"#\\A\"\n CLOSE_PAREN: (3229..3230) \")\"\n CLOSE_PAREN: (3230..3231) \")\"\n ATMOSPHERE: (3231..3236) \"\n \"\n FORM: (3236..3263)\n OPEN_PAREN: (3236..3237) \"(\"\n SYMBOL: (3237..3246)\n IDENTIFIER: (3237..3246) \"char-ci>?\"\n ATMOSPHERE: (3246..3247) \" \"\n CONSTANT: (3247..3250)\n CHARACTER: (3247..3250) \"#\\D\"\n ATMOSPHERE: (3250..3251) \" \"\n CONSTANT: (3251..3254)\n CHARACTER: (3251..3254) \"#\\c\"\n ATMOSPHERE: (3254..3255) \" \"\n CONSTANT: (3255..3258)\n CHARACTER: (3255..3258) \"#\\b\"\n ATMOSPHERE: (3258..3259) \" \"\n CONSTANT: (3259..3262)\n CHARACTER: (3259..3262) \"#\\A\"\n CLOSE_PAREN: (3262..3263) \")\"\n ATMOSPHERE: (3263..3269) \"\n\n \"\n FORM: (3269..3300)\n OPEN_PAREN: (3269..3270) \"(\"\n SYMBOL: (3270..3273)\n IDENTIFIER: (3270..3273) \"not\"\n ATMOSPHERE: (3273..3274) \" \"\n FORM: (3274..3299)\n OPEN_PAREN: (3274..3275) \"(\"\n SYMBOL: (3275..3282)\n IDENTIFIER: (3275..3282) \"char>=?\"\n ATMOSPHERE: (3282..3283) \" \"\n CONSTANT: (3283..3286)\n CHARACTER: (3283..3286) \"#\\a\"\n ATMOSPHERE: (3286..3287) \" \"\n CONSTANT: (3287..3290)\n CHARACTER: (3287..3290) \"#\\b\"\n ATMOSPHERE: (3290..3291) \" \"\n CONSTANT: (3291..3294)\n CHARACTER: (3291..3294) \"#\\c\"\n ATMOSPHERE: (3294..3295) \" \"\n CONSTANT: (3295..3298)\n CHARACTER: (3295..3298) \"#\\d\"\n CLOSE_PAREN: (3298..3299) \")\"\n CLOSE_PAREN: (3299..3300) \")\"\n ATMOSPHERE: (3300..3305) \"\n \"\n FORM: (3305..3339)\n OPEN_PAREN: (3305..3306) \"(\"\n SYMBOL: (3306..3309)\n IDENTIFIER: (3306..3309) \"not\"\n ATMOSPHERE: (3309..3310) \" \"\n FORM: (3310..3338)\n OPEN_PAREN: (3310..3311) \"(\"\n SYMBOL: (3311..3321)\n IDENTIFIER: (3311..3321) \"char-ci>=?\"\n ATMOSPHERE: (3321..3322) \" \"\n CONSTANT: (3322..3325)\n CHARACTER: (3322..3325) \"#\\a\"\n ATMOSPHERE: (3325..3326) \" \"\n CONSTANT: (3326..3329)\n CHARACTER: (3326..3329) \"#\\b\"\n ATMOSPHERE: (3329..3330) \" \"\n CONSTANT: (3330..3333)\n CHARACTER: (3330..3333) \"#\\c\"\n ATMOSPHERE: (3333..3334) \" \"\n CONSTANT: (3334..3337)\n CHARACTER: (3334..3337) \"#\\d\"\n CLOSE_PAREN: (3337..3338) \")\"\n CLOSE_PAREN: (3338..3339) \")\"\n ATMOSPHERE: (3339..3344) \"\n \"\n FORM: (3344..3375)\n OPEN_PAREN: (3344..3345) \"(\"\n SYMBOL: (3345..3348)\n IDENTIFIER: (3345..3348) \"not\"\n ATMOSPHERE: (3348..3349) \" \"\n FORM: (3349..3374)\n OPEN_PAREN: (3349..3350) \"(\"\n SYMBOL: (3350..3357)\n IDENTIFIER: (3350..3357) \"char>=?\"\n ATMOSPHERE: (3357..3358) \" \"\n CONSTANT: (3358..3361)\n CHARACTER: (3358..3361) \"#\\A\"\n ATMOSPHERE: (3361..3362) \" \"\n CONSTANT: (3362..3365)\n CHARACTER: (3362..3365) \"#\\b\"\n ATMOSPHERE: (3365..3366) \" \"\n CONSTANT: (3366..3369)\n CHARACTER: (3366..3369) \"#\\c\"\n ATMOSPHERE: (3369..3370) \" \"\n CONSTANT: (3370..3373)\n CHARACTER: (3370..3373) \"#\\D\"\n CLOSE_PAREN: (3373..3374) \")\"\n CLOSE_PAREN: (3374..3375) \")\"\n ATMOSPHERE: (3375..3380) \"\n \"\n FORM: (3380..3414)\n OPEN_PAREN: (3380..3381) \"(\"\n SYMBOL: (3381..3384)\n IDENTIFIER: (3381..3384) \"not\"\n ATMOSPHERE: (3384..3385) \" \"\n FORM: (3385..3413)\n OPEN_PAREN: (3385..3386) \"(\"\n SYMBOL: (3386..3396)\n IDENTIFIER: (3386..3396) \"char-ci>=?\"\n ATMOSPHERE: (3396..3397) \" \"\n CONSTANT: (3397..3400)\n CHARACTER: (3397..3400) \"#\\A\"\n ATMOSPHERE: (3400..3401) \" \"\n CONSTANT: (3401..3404)\n CHARACTER: (3401..3404) \"#\\b\"\n ATMOSPHERE: (3404..3405) \" \"\n CONSTANT: (3405..3408)\n CHARACTER: (3405..3408) \"#\\c\"\n ATMOSPHERE: (3408..3409) \" \"\n CONSTANT: (3409..3412)\n CHARACTER: (3409..3412) \"#\\D\"\n CLOSE_PAREN: (3412..3413) \")\"\n CLOSE_PAREN: (3413..3414) \")\"\n ATMOSPHERE: (3414..3419) \"\n \"\n FORM: (3419..3444)\n OPEN_PAREN: (3419..3420) \"(\"\n SYMBOL: (3420..3427)\n IDENTIFIER: (3420..3427) \"char>=?\"\n ATMOSPHERE: (3427..3428) \" \"\n CONSTANT: (3428..3431)\n CHARACTER: (3428..3431) \"#\\d\"\n ATMOSPHERE: (3431..3432) \" \"\n CONSTANT: (3432..3435)\n CHARACTER: (3432..3435) \"#\\c\"\n ATMOSPHERE: (3435..3436) \" \"\n CONSTANT: (3436..3439)\n CHARACTER: (3436..3439) \"#\\b\"\n ATMOSPHERE: (3439..3440) \" \"\n CONSTANT: (3440..3443)\n CHARACTER: (3440..3443) \"#\\a\"\n CLOSE_PAREN: (3443..3444) \")\"\n ATMOSPHERE: (3444..3449) \"\n \"\n FORM: (3449..3477)\n OPEN_PAREN: (3449..3450) \"(\"\n SYMBOL: (3450..3460)\n IDENTIFIER: (3450..3460) \"char-ci>=?\"\n ATMOSPHERE: (3460..3461) \" \"\n CONSTANT: (3461..3464)\n CHARACTER: (3461..3464) \"#\\d\"\n ATMOSPHERE: (3464..3465) \" \"\n CONSTANT: (3465..3468)\n CHARACTER: (3465..3468) \"#\\c\"\n ATMOSPHERE: (3468..3469) \" \"\n CONSTANT: (3469..3472)\n CHARACTER: (3469..3472) \"#\\b\"\n ATMOSPHERE: (3472..3473) \" \"\n CONSTANT: (3473..3476)\n CHARACTER: (3473..3476) \"#\\a\"\n CLOSE_PAREN: (3476..3477) \")\"\n ATMOSPHERE: (3477..3482) \"\n \"\n FORM: (3482..3513)\n OPEN_PAREN: (3482..3483) \"(\"\n SYMBOL: (3483..3486)\n IDENTIFIER: (3483..3486) \"not\"\n ATMOSPHERE: (3486..3487) \" \"\n FORM: (3487..3512)\n OPEN_PAREN: (3487..3488) \"(\"\n SYMBOL: (3488..3495)\n IDENTIFIER: (3488..3495) \"char>=?\"\n ATMOSPHERE: (3495..3496) \" \"\n CONSTANT: (3496..3499)\n CHARACTER: (3496..3499) \"#\\D\"\n ATMOSPHERE: (3499..3500) \" \"\n CONSTANT: (3500..3503)\n CHARACTER: (3500..3503) \"#\\c\"\n ATMOSPHERE: (3503..3504) \" \"\n CONSTANT: (3504..3507)\n CHARACTER: (3504..3507) \"#\\b\"\n ATMOSPHERE: (3507..3508) \" \"\n CONSTANT: (3508..3511)\n CHARACTER: (3508..3511) \"#\\A\"\n CLOSE_PAREN: (3511..3512) \")\"\n CLOSE_PAREN: (3512..3513) \")\"\n ATMOSPHERE: (3513..3518) \"\n \"\n FORM: (3518..3546)\n OPEN_PAREN: (3518..3519) \"(\"\n SYMBOL: (3519..3529)\n IDENTIFIER: (3519..3529) \"char-ci>=?\"\n ATMOSPHERE: (3529..3530) \" \"\n CONSTANT: (3530..3533)\n CHARACTER: (3530..3533) \"#\\D\"\n ATMOSPHERE: (3533..3534) \" \"\n CONSTANT: (3534..3537)\n CHARACTER: (3534..3537) \"#\\c\"\n ATMOSPHERE: (3537..3538) \" \"\n CONSTANT: (3538..3541)\n CHARACTER: (3538..3541) \"#\\b\"\n ATMOSPHERE: (3541..3542) \" \"\n CONSTANT: (3542..3545)\n CHARACTER: (3542..3545) \"#\\A\"\n CLOSE_PAREN: (3545..3546) \")\"\n ATMOSPHERE: (3546..3551) \"\n \"\n FORM: (3551..3572)\n OPEN_PAREN: (3551..3552) \"(\"\n SYMBOL: (3552..3559)\n IDENTIFIER: (3552..3559) \"char>=?\"\n ATMOSPHERE: (3559..3560) \" \"\n CONSTANT: (3560..3563)\n CHARACTER: (3560..3563) \"#\\λ\"\n ATMOSPHERE: (3563..3564) \" \"\n CONSTANT: (3564..3567)\n CHARACTER: (3564..3567) \"#\\λ\"\n ATMOSPHERE: (3567..3568) \" \"\n CONSTANT: (3568..3571)\n CHARACTER: (3568..3571) \"#\\λ\"\n CLOSE_PAREN: (3571..3572) \")\"\n ATMOSPHERE: (3572..3577) \"\n \"\n FORM: (3577..3601)\n OPEN_PAREN: (3577..3578) \"(\"\n SYMBOL: (3578..3588)\n IDENTIFIER: (3578..3588) \"char-ci>=?\"\n ATMOSPHERE: (3588..3589) \" \"\n CONSTANT: (3589..3592)\n CHARACTER: (3589..3592) \"#\\λ\"\n ATMOSPHERE: (3592..3593) \" \"\n CONSTANT: (3593..3596)\n CHARACTER: (3593..3596) \"#\\λ\"\n ATMOSPHERE: (3596..3597) \" \"\n CONSTANT: (3597..3600)\n CHARACTER: (3597..3600) \"#\\λ\"\n CLOSE_PAREN: (3600..3601) \")\"\n ATMOSPHERE: (3601..3606) \"\n \"\n FORM: (3606..3635)\n OPEN_PAREN: (3606..3607) \"(\"\n SYMBOL: (3607..3614)\n IDENTIFIER: (3607..3614) \"char>=?\"\n ATMOSPHERE: (3614..3615) \" \"\n CONSTANT: (3615..3618)\n CHARACTER: (3615..3618) \"#\\Λ\"\n ATMOSPHERE: (3618..3619) \" \"\n CONSTANT: (3619..3622)\n CHARACTER: (3619..3622) \"#\\Λ\"\n ATMOSPHERE: (3622..3623) \" \"\n CONSTANT: (3623..3626)\n CHARACTER: (3623..3626) \"#\\Λ\"\n ATMOSPHERE: (3626..3627) \" \"\n CONSTANT: (3627..3630)\n CHARACTER: (3627..3630) \"#\\Λ\"\n ATMOSPHERE: (3630..3631) \" \"\n CONSTANT: (3631..3634)\n CHARACTER: (3631..3634) \"#\\Λ\"\n CLOSE_PAREN: (3634..3635) \")\"\n ATMOSPHERE: (3635..3640) \"\n \"\n FORM: (3640..3672)\n OPEN_PAREN: (3640..3641) \"(\"\n SYMBOL: (3641..3651)\n IDENTIFIER: (3641..3651) \"char-ci>=?\"\n ATMOSPHERE: (3651..3652) \" \"\n CONSTANT: (3652..3655)\n CHARACTER: (3652..3655) \"#\\Λ\"\n ATMOSPHERE: (3655..3656) \" \"\n CONSTANT: (3656..3659)\n CHARACTER: (3656..3659) \"#\\Λ\"\n ATMOSPHERE: (3659..3660) \" \"\n CONSTANT: (3660..3663)\n CHARACTER: (3660..3663) \"#\\Λ\"\n ATMOSPHERE: (3663..3664) \" \"\n CONSTANT: (3664..3667)\n CHARACTER: (3664..3667) \"#\\Λ\"\n ATMOSPHERE: (3667..3668) \" \"\n CONSTANT: (3668..3671)\n CHARACTER: (3668..3671) \"#\\Λ\"\n CLOSE_PAREN: (3671..3672) \")\"\n ATMOSPHERE: (3672..3677) \"\n \"\n FORM: (3677..3712)\n OPEN_PAREN: (3677..3678) \"(\"\n SYMBOL: (3678..3681)\n IDENTIFIER: (3678..3681) \"not\"\n ATMOSPHERE: (3681..3682) \" \"\n FORM: (3682..3711)\n OPEN_PAREN: (3682..3683) \"(\"\n SYMBOL: (3683..3690)\n IDENTIFIER: (3683..3690) \"char>=?\"\n ATMOSPHERE: (3690..3691) \" \"\n CONSTANT: (3691..3694)\n CHARACTER: (3691..3694) \"#\\Λ\"\n ATMOSPHERE: (3694..3695) \" \"\n CONSTANT: (3695..3698)\n CHARACTER: (3695..3698) \"#\\λ\"\n ATMOSPHERE: (3698..3699) \" \"\n CONSTANT: (3699..3702)\n CHARACTER: (3699..3702) \"#\\Λ\"\n ATMOSPHERE: (3702..3703) \" \"\n CONSTANT: (3703..3706)\n CHARACTER: (3703..3706) \"#\\Λ\"\n ATMOSPHERE: (3706..3707) \" \"\n CONSTANT: (3707..3710)\n CHARACTER: (3707..3710) \"#\\Λ\"\n CLOSE_PAREN: (3710..3711) \")\"\n CLOSE_PAREN: (3711..3712) \")\"\n ATMOSPHERE: (3712..3717) \"\n \"\n FORM: (3717..3749)\n OPEN_PAREN: (3717..3718) \"(\"\n SYMBOL: (3718..3728)\n IDENTIFIER: (3718..3728) \"char-ci>=?\"\n ATMOSPHERE: (3728..3729) \" \"\n CONSTANT: (3729..3732)\n CHARACTER: (3729..3732) \"#\\Λ\"\n ATMOSPHERE: (3732..3733) \" \"\n CONSTANT: (3733..3736)\n CHARACTER: (3733..3736) \"#\\λ\"\n ATMOSPHERE: (3736..3737) \" \"\n CONSTANT: (3737..3740)\n CHARACTER: (3737..3740) \"#\\Λ\"\n ATMOSPHERE: (3740..3741) \" \"\n CONSTANT: (3741..3744)\n CHARACTER: (3741..3744) \"#\\Λ\"\n ATMOSPHERE: (3744..3745) \" \"\n CONSTANT: (3745..3748)\n CHARACTER: (3745..3748) \"#\\Λ\"\n CLOSE_PAREN: (3748..3749) \")\"\n ATMOSPHERE: (3749..3755) \"\n\n \"\n CLOSE_PAREN: (3755..3756) \")\"\n CLOSE_PAREN: (3756..3757) \")\"\n FORM: (3757..3766)\n OPEN_PAREN: (3757..3758) \"(\"\n SYMBOL: (3758..3765)\n IDENTIFIER: (3758..3765) \"newline\"\n CLOSE_PAREN: (3765..3766) \")\"\n ATMOSPHERE: (3766..3768) \"\n\n\"\n ATMOSPHERE: (3768..3797) \";; Character class predicates\"\n ATMOSPHERE: (3797..3798) \"\n\"\n FORM: (3798..4869)\n OPEN_PAREN: (3798..3799) \"(\"\n SYMBOL: (3799..3806)\n IDENTIFIER: (3799..3806) \"display\"\n ATMOSPHERE: (3806..3807) \" \"\n FORM: (3807..4868)\n OPEN_PAREN: (3807..3808) \"(\"\n SYMBOL: (3808..3817)\n IDENTIFIER: (3808..3817) \"boolean=?\"\n ATMOSPHERE: (3817..3822) \"\n \"\n CONSTANT: (3822..3824)\n BOOLEAN: (3822..3824) \"#t\"\n ATMOSPHERE: (3824..3830) \"\n\n \"\n FORM: (3830..3852)\n OPEN_PAREN: (3830..3831) \"(\"\n SYMBOL: (3831..3847)\n IDENTIFIER: (3831..3847) \"char-alphabetic?\"\n ATMOSPHERE: (3847..3848) \" \"\n CONSTANT: (3848..3851)\n CHARACTER: (3848..3851) \"#\\a\"\n CLOSE_PAREN: (3851..3852) \")\"\n ATMOSPHERE: (3852..3857) \"\n \"\n FORM: (3857..3885)\n OPEN_PAREN: (3857..3858) \"(\"\n SYMBOL: (3858..3861)\n IDENTIFIER: (3858..3861) \"not\"\n ATMOSPHERE: (3861..3862) \" \"\n FORM: (3862..3884)\n OPEN_PAREN: (3862..3863) \"(\"\n SYMBOL: (3863..3879)\n IDENTIFIER: (3863..3879) \"char-alphabetic?\"\n ATMOSPHERE: (3879..3880) \" \"\n CONSTANT: (3880..3883)\n CHARACTER: (3880..3883) \"#\\५\"\n CLOSE_PAREN: (3883..3884) \")\"\n CLOSE_PAREN: (3884..3885) \")\"\n ATMOSPHERE: (3885..3890) \"\n \"\n FORM: (3890..3912)\n OPEN_PAREN: (3890..3891) \"(\"\n SYMBOL: (3891..3907)\n IDENTIFIER: (3891..3907) \"char-alphabetic?\"\n ATMOSPHERE: (3907..3908) \" \"\n CONSTANT: (3908..3911)\n CHARACTER: (3908..3911) \"#\\λ\"\n CLOSE_PAREN: (3911..3912) \")\"\n ATMOSPHERE: (3912..3917) \"\n \"\n FORM: (3917..3948)\n OPEN_PAREN: (3917..3918) \"(\"\n SYMBOL: (3918..3921)\n IDENTIFIER: (3918..3921) \"not\"\n ATMOSPHERE: (3921..3922) \" \"\n FORM: (3922..3947)\n OPEN_PAREN: (3922..3923) \"(\"\n SYMBOL: (3923..3939)\n IDENTIFIER: (3923..3939) \"char-alphabetic?\"\n ATMOSPHERE: (3939..3940) \" \"\n CONSTANT: (3940..3946)\n CHARACTER: (3940..3946) \"#\\null\"\n CLOSE_PAREN: (3946..3947) \")\"\n CLOSE_PAREN: (3947..3948) \")\"\n ATMOSPHERE: (3948..3953) \"\n \"\n FORM: (3953..3985)\n OPEN_PAREN: (3953..3954) \"(\"\n SYMBOL: (3954..3957)\n IDENTIFIER: (3954..3957) \"not\"\n ATMOSPHERE: (3957..3958) \" \"\n FORM: (3958..3984)\n OPEN_PAREN: (3958..3959) \"(\"\n SYMBOL: (3959..3975)\n IDENTIFIER: (3959..3975) \"char-alphabetic?\"\n ATMOSPHERE: (3975..3976) \" \"\n CONSTANT: (3976..3983)\n CHARACTER: (3976..3983) \"#\\space\"\n CLOSE_PAREN: (3983..3984) \")\"\n CLOSE_PAREN: (3984..3985) \")\"\n ATMOSPHERE: (3985..3991) \"\n\n \"\n FORM: (3991..4016)\n OPEN_PAREN: (3991..3992) \"(\"\n SYMBOL: (3992..3995)\n IDENTIFIER: (3992..3995) \"not\"\n ATMOSPHERE: (3995..3996) \" \"\n FORM: (3996..4015)\n OPEN_PAREN: (3996..3997) \"(\"\n SYMBOL: (3997..4010)\n IDENTIFIER: (3997..4010) \"char-numeric?\"\n ATMOSPHERE: (4010..4011) \" \"\n CONSTANT: (4011..4014)\n CHARACTER: (4011..4014) \"#\\a\"\n CLOSE_PAREN: (4014..4015) \")\"\n CLOSE_PAREN: (4015..4016) \")\"\n ATMOSPHERE: (4016..4021) \"\n \"\n FORM: (4021..4040)\n OPEN_PAREN: (4021..4022) \"(\"\n SYMBOL: (4022..4035)\n IDENTIFIER: (4022..4035) \"char-numeric?\"\n ATMOSPHERE: (4035..4036) \" \"\n CONSTANT: (4036..4039)\n CHARACTER: (4036..4039) \"#\\५\"\n CLOSE_PAREN: (4039..4040) \")\"\n ATMOSPHERE: (4040..4045) \"\n \"\n FORM: (4045..4070)\n OPEN_PAREN: (4045..4046) \"(\"\n SYMBOL: (4046..4049)\n IDENTIFIER: (4046..4049) \"not\"\n ATMOSPHERE: (4049..4050) \" \"\n FORM: (4050..4069)\n OPEN_PAREN: (4050..4051) \"(\"\n SYMBOL: (4051..4064)\n IDENTIFIER: (4051..4064) \"char-numeric?\"\n ATMOSPHERE: (4064..4065) \" \"\n CONSTANT: (4065..4068)\n CHARACTER: (4065..4068) \"#\\λ\"\n CLOSE_PAREN: (4068..4069) \")\"\n CLOSE_PAREN: (4069..4070) \")\"\n ATMOSPHERE: (4070..4075) \"\n \"\n FORM: (4075..4103)\n OPEN_PAREN: (4075..4076) \"(\"\n SYMBOL: (4076..4079)\n IDENTIFIER: (4076..4079) \"not\"\n ATMOSPHERE: (4079..4080) \" \"\n FORM: (4080..4102)\n OPEN_PAREN: (4080..4081) \"(\"\n SYMBOL: (4081..4094)\n IDENTIFIER: (4081..4094) \"char-numeric?\"\n ATMOSPHERE: (4094..4095) \" \"\n CONSTANT: (4095..4101)\n CHARACTER: (4095..4101) \"#\\null\"\n CLOSE_PAREN: (4101..4102) \")\"\n CLOSE_PAREN: (4102..4103) \")\"\n ATMOSPHERE: (4103..4108) \"\n \"\n FORM: (4108..4137)\n OPEN_PAREN: (4108..4109) \"(\"\n SYMBOL: (4109..4112)\n IDENTIFIER: (4109..4112) \"not\"\n ATMOSPHERE: (4112..4113) \" \"\n FORM: (4113..4136)\n OPEN_PAREN: (4113..4114) \"(\"\n SYMBOL: (4114..4127)\n IDENTIFIER: (4114..4127) \"char-numeric?\"\n ATMOSPHERE: (4127..4128) \" \"\n CONSTANT: (4128..4135)\n CHARACTER: (4128..4135) \"#\\space\"\n CLOSE_PAREN: (4135..4136) \")\"\n CLOSE_PAREN: (4136..4137) \")\"\n ATMOSPHERE: (4137..4143) \"\n\n \"\n FORM: (4143..4171)\n OPEN_PAREN: (4143..4144) \"(\"\n SYMBOL: (4144..4147)\n IDENTIFIER: (4144..4147) \"not\"\n ATMOSPHERE: (4147..4148) \" \"\n FORM: (4148..4170)\n OPEN_PAREN: (4148..4149) \"(\"\n SYMBOL: (4149..4165)\n IDENTIFIER: (4149..4165) \"char-whitespace?\"\n ATMOSPHERE: (4165..4166) \" \"\n CONSTANT: (4166..4169)\n CHARACTER: (4166..4169) \"#\\a\"\n CLOSE_PAREN: (4169..4170) \")\"\n CLOSE_PAREN: (4170..4171) \")\"\n ATMOSPHERE: (4171..4176) \"\n \"\n FORM: (4176..4204)\n OPEN_PAREN: (4176..4177) \"(\"\n SYMBOL: (4177..4180)\n IDENTIFIER: (4177..4180) \"not\"\n ATMOSPHERE: (4180..4181) \" \"\n FORM: (4181..4203)\n OPEN_PAREN: (4181..4182) \"(\"\n SYMBOL: (4182..4198)\n IDENTIFIER: (4182..4198) \"char-whitespace?\"\n ATMOSPHERE: (4198..4199) \" \"\n CONSTANT: (4199..4202)\n CHARACTER: (4199..4202) \"#\\५\"\n CLOSE_PAREN: (4202..4203) \")\"\n CLOSE_PAREN: (4203..4204) \")\"\n ATMOSPHERE: (4204..4209) \"\n \"\n FORM: (4209..4237)\n OPEN_PAREN: (4209..4210) \"(\"\n SYMBOL: (4210..4213)\n IDENTIFIER: (4210..4213) \"not\"\n ATMOSPHERE: (4213..4214) \" \"\n FORM: (4214..4236)\n OPEN_PAREN: (4214..4215) \"(\"\n SYMBOL: (4215..4231)\n IDENTIFIER: (4215..4231) \"char-whitespace?\"\n ATMOSPHERE: (4231..4232) \" \"\n CONSTANT: (4232..4235)\n CHARACTER: (4232..4235) \"#\\λ\"\n CLOSE_PAREN: (4235..4236) \")\"\n CLOSE_PAREN: (4236..4237) \")\"\n ATMOSPHERE: (4237..4242) \"\n \"\n FORM: (4242..4273)\n OPEN_PAREN: (4242..4243) \"(\"\n SYMBOL: (4243..4246)\n IDENTIFIER: (4243..4246) \"not\"\n ATMOSPHERE: (4246..4247) \" \"\n FORM: (4247..4272)\n OPEN_PAREN: (4247..4248) \"(\"\n SYMBOL: (4248..4264)\n IDENTIFIER: (4248..4264) \"char-whitespace?\"\n ATMOSPHERE: (4264..4265) \" \"\n CONSTANT: (4265..4271)\n CHARACTER: (4265..4271) \"#\\null\"\n CLOSE_PAREN: (4271..4272) \")\"\n CLOSE_PAREN: (4272..4273) \")\"\n ATMOSPHERE: (4273..4278) \"\n \"\n FORM: (4278..4304)\n OPEN_PAREN: (4278..4279) \"(\"\n SYMBOL: (4279..4295)\n IDENTIFIER: (4279..4295) \"char-whitespace?\"\n ATMOSPHERE: (4295..4296) \" \"\n CONSTANT: (4296..4303)\n CHARACTER: (4296..4303) \"#\\space\"\n CLOSE_PAREN: (4303..4304) \")\"\n ATMOSPHERE: (4304..4309) \"\n \"\n FORM: (4309..4333)\n OPEN_PAREN: (4309..4310) \"(\"\n SYMBOL: (4310..4326)\n IDENTIFIER: (4310..4326) \"char-whitespace?\"\n ATMOSPHERE: (4326..4327) \" \"\n CONSTANT: (4327..4332)\n CHARACTER: (4327..4332) \"#\\tab\"\n CLOSE_PAREN: (4332..4333) \")\"\n ATMOSPHERE: (4333..4343) \"\n \n \"\n FORM: (4343..4371)\n OPEN_PAREN: (4343..4344) \"(\"\n SYMBOL: (4344..4347)\n IDENTIFIER: (4344..4347) \"not\"\n ATMOSPHERE: (4347..4348) \" \"\n FORM: (4348..4370)\n OPEN_PAREN: (4348..4349) \"(\"\n SYMBOL: (4349..4365)\n IDENTIFIER: (4349..4365) \"char-upper-case?\"\n ATMOSPHERE: (4365..4366) \" \"\n CONSTANT: (4366..4369)\n CHARACTER: (4366..4369) \"#\\a\"\n CLOSE_PAREN: (4369..4370) \")\"\n CLOSE_PAREN: (4370..4371) \")\"\n ATMOSPHERE: (4371..4376) \"\n \"\n FORM: (4376..4398)\n OPEN_PAREN: (4376..4377) \"(\"\n SYMBOL: (4377..4393)\n IDENTIFIER: (4377..4393) \"char-upper-case?\"\n ATMOSPHERE: (4393..4394) \" \"\n CONSTANT: (4394..4397)\n CHARACTER: (4394..4397) \"#\\A\"\n CLOSE_PAREN: (4397..4398) \")\"\n ATMOSPHERE: (4398..4403) \"\n \"\n FORM: (4403..4431)\n OPEN_PAREN: (4403..4404) \"(\"\n SYMBOL: (4404..4407)\n IDENTIFIER: (4404..4407) \"not\"\n ATMOSPHERE: (4407..4408) \" \"\n FORM: (4408..4430)\n OPEN_PAREN: (4408..4409) \"(\"\n SYMBOL: (4409..4425)\n IDENTIFIER: (4409..4425) \"char-upper-case?\"\n ATMOSPHERE: (4425..4426) \" \"\n CONSTANT: (4426..4429)\n CHARACTER: (4426..4429) \"#\\५\"\n CLOSE_PAREN: (4429..4430) \")\"\n CLOSE_PAREN: (4430..4431) \")\"\n ATMOSPHERE: (4431..4436) \"\n \"\n FORM: (4436..4464)\n OPEN_PAREN: (4436..4437) \"(\"\n SYMBOL: (4437..4440)\n IDENTIFIER: (4437..4440) \"not\"\n ATMOSPHERE: (4440..4441) \" \"\n FORM: (4441..4463)\n OPEN_PAREN: (4441..4442) \"(\"\n SYMBOL: (4442..4458)\n IDENTIFIER: (4442..4458) \"char-upper-case?\"\n ATMOSPHERE: (4458..4459) \" \"\n CONSTANT: (4459..4462)\n CHARACTER: (4459..4462) \"#\\λ\"\n CLOSE_PAREN: (4462..4463) \")\"\n CLOSE_PAREN: (4463..4464) \")\"\n ATMOSPHERE: (4464..4469) \"\n \"\n FORM: (4469..4491)\n OPEN_PAREN: (4469..4470) \"(\"\n SYMBOL: (4470..4486)\n IDENTIFIER: (4470..4486) \"char-upper-case?\"\n ATMOSPHERE: (4486..4487) \" \"\n CONSTANT: (4487..4490)\n CHARACTER: (4487..4490) \"#\\Λ\"\n CLOSE_PAREN: (4490..4491) \")\"\n ATMOSPHERE: (4491..4496) \"\n \"\n FORM: (4496..4527)\n OPEN_PAREN: (4496..4497) \"(\"\n SYMBOL: (4497..4500)\n IDENTIFIER: (4497..4500) \"not\"\n ATMOSPHERE: (4500..4501) \" \"\n FORM: (4501..4526)\n OPEN_PAREN: (4501..4502) \"(\"\n SYMBOL: (4502..4518)\n IDENTIFIER: (4502..4518) \"char-upper-case?\"\n ATMOSPHERE: (4518..4519) \" \"\n CONSTANT: (4519..4525)\n CHARACTER: (4519..4525) \"#\\null\"\n CLOSE_PAREN: (4525..4526) \")\"\n CLOSE_PAREN: (4526..4527) \")\"\n ATMOSPHERE: (4527..4532) \"\n \"\n FORM: (4532..4564)\n OPEN_PAREN: (4532..4533) \"(\"\n SYMBOL: (4533..4536)\n IDENTIFIER: (4533..4536) \"not\"\n ATMOSPHERE: (4536..4537) \" \"\n FORM: (4537..4563)\n OPEN_PAREN: (4537..4538) \"(\"\n SYMBOL: (4538..4554)\n IDENTIFIER: (4538..4554) \"char-upper-case?\"\n ATMOSPHERE: (4554..4555) \" \"\n CONSTANT: (4555..4562)\n CHARACTER: (4555..4562) \"#\\space\"\n CLOSE_PAREN: (4562..4563) \")\"\n CLOSE_PAREN: (4563..4564) \")\"\n ATMOSPHERE: (4564..4569) \"\n \"\n FORM: (4569..4599)\n OPEN_PAREN: (4569..4570) \"(\"\n SYMBOL: (4570..4573)\n IDENTIFIER: (4570..4573) \"not\"\n ATMOSPHERE: (4573..4574) \" \"\n FORM: (4574..4598)\n OPEN_PAREN: (4574..4575) \"(\"\n SYMBOL: (4575..4591)\n IDENTIFIER: (4575..4591) \"char-upper-case?\"\n ATMOSPHERE: (4591..4592) \" \"\n CONSTANT: (4592..4597)\n CHARACTER: (4592..4597) \"#\\tab\"\n CLOSE_PAREN: (4597..4598) \")\"\n CLOSE_PAREN: (4598..4599) \")\"\n ATMOSPHERE: (4599..4605) \"\n\n \"\n FORM: (4605..4627)\n OPEN_PAREN: (4605..4606) \"(\"\n SYMBOL: (4606..4622)\n IDENTIFIER: (4606..4622) \"char-lower-case?\"\n ATMOSPHERE: (4622..4623) \" \"\n CONSTANT: (4623..4626)\n CHARACTER: (4623..4626) \"#\\a\"\n CLOSE_PAREN: (4626..4627) \")\"\n ATMOSPHERE: (4627..4632) \"\n \"\n FORM: (4632..4660)\n OPEN_PAREN: (4632..4633) \"(\"\n SYMBOL: (4633..4636)\n IDENTIFIER: (4633..4636) \"not\"\n ATMOSPHERE: (4636..4637) \" \"\n FORM: (4637..4659)\n OPEN_PAREN: (4637..4638) \"(\"\n SYMBOL: (4638..4654)\n IDENTIFIER: (4638..4654) \"char-lower-case?\"\n ATMOSPHERE: (4654..4655) \" \"\n CONSTANT: (4655..4658)\n CHARACTER: (4655..4658) \"#\\A\"\n CLOSE_PAREN: (4658..4659) \")\"\n CLOSE_PAREN: (4659..4660) \")\"\n ATMOSPHERE: (4660..4665) \"\n \"\n FORM: (4665..4693)\n OPEN_PAREN: (4665..4666) \"(\"\n SYMBOL: (4666..4669)\n IDENTIFIER: (4666..4669) \"not\"\n ATMOSPHERE: (4669..4670) \" \"\n FORM: (4670..4692)\n OPEN_PAREN: (4670..4671) \"(\"\n SYMBOL: (4671..4687)\n IDENTIFIER: (4671..4687) \"char-lower-case?\"\n ATMOSPHERE: (4687..4688) \" \"\n CONSTANT: (4688..4691)\n CHARACTER: (4688..4691) \"#\\५\"\n CLOSE_PAREN: (4691..4692) \")\"\n CLOSE_PAREN: (4692..4693) \")\"\n ATMOSPHERE: (4693..4698) \"\n \"\n FORM: (4698..4720)\n OPEN_PAREN: (4698..4699) \"(\"\n SYMBOL: (4699..4715)\n IDENTIFIER: (4699..4715) \"char-lower-case?\"\n ATMOSPHERE: (4715..4716) \" \"\n CONSTANT: (4716..4719)\n CHARACTER: (4716..4719) \"#\\λ\"\n CLOSE_PAREN: (4719..4720) \")\"\n ATMOSPHERE: (4720..4725) \"\n \"\n FORM: (4725..4753)\n OPEN_PAREN: (4725..4726) \"(\"\n SYMBOL: (4726..4729)\n IDENTIFIER: (4726..4729) \"not\"\n ATMOSPHERE: (4729..4730) \" \"\n FORM: (4730..4752)\n OPEN_PAREN: (4730..4731) \"(\"\n SYMBOL: (4731..4747)\n IDENTIFIER: (4731..4747) \"char-lower-case?\"\n ATMOSPHERE: (4747..4748) \" \"\n CONSTANT: (4748..4751)\n CHARACTER: (4748..4751) \"#\\Λ\"\n CLOSE_PAREN: (4751..4752) \")\"\n CLOSE_PAREN: (4752..4753) \")\"\n ATMOSPHERE: (4753..4758) \"\n \"\n FORM: (4758..4789)\n OPEN_PAREN: (4758..4759) \"(\"\n SYMBOL: (4759..4762)\n IDENTIFIER: (4759..4762) \"not\"\n ATMOSPHERE: (4762..4763) \" \"\n FORM: (4763..4788)\n OPEN_PAREN: (4763..4764) \"(\"\n SYMBOL: (4764..4780)\n IDENTIFIER: (4764..4780) \"char-lower-case?\"\n ATMOSPHERE: (4780..4781) \" \"\n CONSTANT: (4781..4787)\n CHARACTER: (4781..4787) \"#\\null\"\n CLOSE_PAREN: (4787..4788) \")\"\n CLOSE_PAREN: (4788..4789) \")\"\n ATMOSPHERE: (4789..4794) \"\n \"\n FORM: (4794..4826)\n OPEN_PAREN: (4794..4795) \"(\"\n SYMBOL: (4795..4798)\n IDENTIFIER: (4795..4798) \"not\"\n ATMOSPHERE: (4798..4799) \" \"\n FORM: (4799..4825)\n OPEN_PAREN: (4799..4800) \"(\"\n SYMBOL: (4800..4816)\n IDENTIFIER: (4800..4816) \"char-lower-case?\"\n ATMOSPHERE: (4816..4817) \" \"\n CONSTANT: (4817..4824)\n CHARACTER: (4817..4824) \"#\\space\"\n CLOSE_PAREN: (4824..4825) \")\"\n CLOSE_PAREN: (4825..4826) \")\"\n ATMOSPHERE: (4826..4831) \"\n \"\n FORM: (4831..4861)\n OPEN_PAREN: (4831..4832) \"(\"\n SYMBOL: (4832..4835)\n IDENTIFIER: (4832..4835) \"not\"\n ATMOSPHERE: (4835..4836) \" \"\n FORM: (4836..4860)\n OPEN_PAREN: (4836..4837) \"(\"\n SYMBOL: (4837..4853)\n IDENTIFIER: (4837..4853) \"char-lower-case?\"\n ATMOSPHERE: (4853..4854) \" \"\n CONSTANT: (4854..4859)\n CHARACTER: (4854..4859) \"#\\tab\"\n CLOSE_PAREN: (4859..4860) \")\"\n CLOSE_PAREN: (4860..4861) \")\"\n ATMOSPHERE: (4861..4867) \"\n\n \"\n CLOSE_PAREN: (4867..4868) \")\"\n CLOSE_PAREN: (4868..4869) \")\"\n ATMOSPHERE: (4869..4871) \"\n\n\"\n ATMOSPHERE: (4871..4891) \";; casing transforms\"\n ATMOSPHERE: (4891..4892) \"\n\"\n FORM: (4892..5346)\n OPEN_PAREN: (4892..4893) \"(\"\n SYMBOL: (4893..4900)\n IDENTIFIER: (4893..4900) \"display\"\n ATMOSPHERE: (4900..4901) \" \"\n FORM: (4901..5345)\n OPEN_PAREN: (4901..4902) \"(\"\n SYMBOL: (4902..4906)\n IDENTIFIER: (4902..4906) \"list\"\n ATMOSPHERE: (4906..4911) \"\n \"\n FORM: (4911..4928)\n OPEN_PAREN: (4911..4912) \"(\"\n SYMBOL: (4912..4923)\n IDENTIFIER: (4912..4923) \"char-upcase\"\n ATMOSPHERE: (4923..4924) \" \"\n CONSTANT: (4924..4927)\n CHARACTER: (4924..4927) \"#\\a\"\n CLOSE_PAREN: (4927..4928) \")\"\n ATMOSPHERE: (4928..4933) \"\n \"\n FORM: (4933..4950)\n OPEN_PAREN: (4933..4934) \"(\"\n SYMBOL: (4934..4945)\n IDENTIFIER: (4934..4945) \"char-upcase\"\n ATMOSPHERE: (4945..4946) \" \"\n CONSTANT: (4946..4949)\n CHARACTER: (4946..4949) \"#\\A\"\n CLOSE_PAREN: (4949..4950) \")\"\n ATMOSPHERE: (4950..4955) \"\n \"\n FORM: (4955..4972)\n OPEN_PAREN: (4955..4956) \"(\"\n SYMBOL: (4956..4967)\n IDENTIFIER: (4956..4967) \"char-upcase\"\n ATMOSPHERE: (4967..4968) \" \"\n CONSTANT: (4968..4971)\n CHARACTER: (4968..4971) \"#\\५\"\n CLOSE_PAREN: (4971..4972) \")\"\n ATMOSPHERE: (4972..4977) \"\n \"\n FORM: (4977..4994)\n OPEN_PAREN: (4977..4978) \"(\"\n SYMBOL: (4978..4989)\n IDENTIFIER: (4978..4989) \"char-upcase\"\n ATMOSPHERE: (4989..4990) \" \"\n CONSTANT: (4990..4993)\n CHARACTER: (4990..4993) \"#\\λ\"\n CLOSE_PAREN: (4993..4994) \")\"\n ATMOSPHERE: (4994..4999) \"\n \"\n FORM: (4999..5019)\n OPEN_PAREN: (4999..5000) \"(\"\n SYMBOL: (5000..5011)\n IDENTIFIER: (5000..5011) \"char-upcase\"\n ATMOSPHERE: (5011..5012) \" \"\n CONSTANT: (5012..5018)\n CHARACTER: (5012..5018) \"#\\null\"\n CLOSE_PAREN: (5018..5019) \")\"\n ATMOSPHERE: (5019..5024) \"\n \"\n FORM: (5024..5045)\n OPEN_PAREN: (5024..5025) \"(\"\n SYMBOL: (5025..5036)\n IDENTIFIER: (5025..5036) \"char-upcase\"\n ATMOSPHERE: (5036..5037) \" \"\n CONSTANT: (5037..5044)\n CHARACTER: (5037..5044) \"#\\space\"\n CLOSE_PAREN: (5044..5045) \")\"\n ATMOSPHERE: (5045..5050) \"\n \"\n FORM: (5050..5069)\n OPEN_PAREN: (5050..5051) \"(\"\n SYMBOL: (5051..5064)\n IDENTIFIER: (5051..5064) \"char-downcase\"\n ATMOSPHERE: (5064..5065) \" \"\n CONSTANT: (5065..5068)\n CHARACTER: (5065..5068) \"#\\a\"\n CLOSE_PAREN: (5068..5069) \")\"\n ATMOSPHERE: (5069..5074) \"\n \"\n FORM: (5074..5093)\n OPEN_PAREN: (5074..5075) \"(\"\n SYMBOL: (5075..5088)\n IDENTIFIER: (5075..5088) \"char-downcase\"\n ATMOSPHERE: (5088..5089) \" \"\n CONSTANT: (5089..5092)\n CHARACTER: (5089..5092) \"#\\A\"\n CLOSE_PAREN: (5092..5093) \")\"\n ATMOSPHERE: (5093..5098) \"\n \"\n FORM: (5098..5117)\n OPEN_PAREN: (5098..5099) \"(\"\n SYMBOL: (5099..5112)\n IDENTIFIER: (5099..5112) \"char-downcase\"\n ATMOSPHERE: (5112..5113) \" \"\n CONSTANT: (5113..5116)\n CHARACTER: (5113..5116) \"#\\५\"\n CLOSE_PAREN: (5116..5117) \")\"\n ATMOSPHERE: (5117..5122) \"\n \"\n FORM: (5122..5141)\n OPEN_PAREN: (5122..5123) \"(\"\n SYMBOL: (5123..5136)\n IDENTIFIER: (5123..5136) \"char-downcase\"\n ATMOSPHERE: (5136..5137) \" \"\n CONSTANT: (5137..5140)\n CHARACTER: (5137..5140) \"#\\Λ\"\n CLOSE_PAREN: (5140..5141) \")\"\n ATMOSPHERE: (5141..5146) \"\n \"\n FORM: (5146..5166)\n OPEN_PAREN: (5146..5147) \"(\"\n SYMBOL: (5147..5158)\n IDENTIFIER: (5147..5158) \"char-upcase\"\n ATMOSPHERE: (5158..5159) \" \"\n CONSTANT: (5159..5165)\n CHARACTER: (5159..5165) \"#\\null\"\n CLOSE_PAREN: (5165..5166) \")\"\n ATMOSPHERE: (5166..5171) \"\n \"\n FORM: (5171..5192)\n OPEN_PAREN: (5171..5172) \"(\"\n SYMBOL: (5172..5183)\n IDENTIFIER: (5172..5183) \"char-upcase\"\n ATMOSPHERE: (5183..5184) \" \"\n CONSTANT: (5184..5191)\n CHARACTER: (5184..5191) \"#\\space\"\n CLOSE_PAREN: (5191..5192) \")\"\n ATMOSPHERE: (5192..5197) \"\n \"\n FORM: (5197..5216)\n OPEN_PAREN: (5197..5198) \"(\"\n SYMBOL: (5198..5211)\n IDENTIFIER: (5198..5211) \"char-foldcase\"\n ATMOSPHERE: (5211..5212) \" \"\n CONSTANT: (5212..5215)\n CHARACTER: (5212..5215) \"#\\a\"\n CLOSE_PAREN: (5215..5216) \")\"\n ATMOSPHERE: (5216..5221) \"\n \"\n FORM: (5221..5240)\n OPEN_PAREN: (5221..5222) \"(\"\n SYMBOL: (5222..5235)\n IDENTIFIER: (5222..5235) \"char-foldcase\"\n ATMOSPHERE: (5235..5236) \" \"\n CONSTANT: (5236..5239)\n CHARACTER: (5236..5239) \"#\\A\"\n CLOSE_PAREN: (5239..5240) \")\"\n ATMOSPHERE: (5240..5245) \"\n \"\n FORM: (5245..5264)\n OPEN_PAREN: (5245..5246) \"(\"\n SYMBOL: (5246..5259)\n IDENTIFIER: (5246..5259) \"char-foldcase\"\n ATMOSPHERE: (5259..5260) \" \"\n CONSTANT: (5260..5263)\n CHARACTER: (5260..5263) \"#\\५\"\n CLOSE_PAREN: (5263..5264) \")\"\n ATMOSPHERE: (5264..5269) \"\n \"\n FORM: (5269..5288)\n OPEN_PAREN: (5269..5270) \"(\"\n SYMBOL: (5270..5283)\n IDENTIFIER: (5270..5283) \"char-foldcase\"\n ATMOSPHERE: (5283..5284) \" \"\n CONSTANT: (5284..5287)\n CHARACTER: (5284..5287) \"#\\Λ\"\n CLOSE_PAREN: (5287..5288) \")\"\n ATMOSPHERE: (5288..5293) \"\n \"\n FORM: (5293..5313)\n OPEN_PAREN: (5293..5294) \"(\"\n SYMBOL: (5294..5305)\n IDENTIFIER: (5294..5305) \"char-upcase\"\n ATMOSPHERE: (5305..5306) \" \"\n CONSTANT: (5306..5312)\n CHARACTER: (5306..5312) \"#\\null\"\n CLOSE_PAREN: (5312..5313) \")\"\n ATMOSPHERE: (5313..5318) \"\n \"\n FORM: (5318..5339)\n OPEN_PAREN: (5318..5319) \"(\"\n SYMBOL: (5319..5330)\n IDENTIFIER: (5319..5330) \"char-upcase\"\n ATMOSPHERE: (5330..5331) \" \"\n CONSTANT: (5331..5338)\n CHARACTER: (5331..5338) \"#\\space\"\n CLOSE_PAREN: (5338..5339) \")\"\n ATMOSPHERE: (5339..5344) \"\n \"\n CLOSE_PAREN: (5344..5345) \")\"\n CLOSE_PAREN: (5345..5346) \")\"\n ATMOSPHERE: (5346..5347) \"\n\"\n EOF: (5347..5347) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json b/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json deleted file mode 100644 index 6e1bb72..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_chibi-r7rs-tests.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..79716)\n ATMOSPHERE: (0..24) \";; -*- coding: utf-8 -*-\"\n ATMOSPHERE: (24..26) \"\n\n\"\n ATMOSPHERE: (26..99) \";;;;; This file is a modified version of the Chibi Scheme R7RS Test Suite\"\n ATMOSPHERE: (99..100) \"\n\"\n ATMOSPHERE: (100..102) \";;\"\n ATMOSPHERE: (102..103) \"\n\"\n ATMOSPHERE: (103..180) \";; Check out Chibi Scheme on GitHub: \"\n ATMOSPHERE: (180..182) \"\n\n\"\n ATMOSPHERE: (182..218) \"; Copyright (c) 2009-2018 Alex Shinn\"\n ATMOSPHERE: (218..219) \"\n\"\n ATMOSPHERE: (219..241) \"; All rights reserved.\"\n ATMOSPHERE: (241..243) \"\n\n\"\n ATMOSPHERE: (243..311) \"; Redistribution and use in source and binary forms, with or without\"\n ATMOSPHERE: (311..312) \"\n\"\n ATMOSPHERE: (312..380) \"; modification, are permitted provided that the following conditions\"\n ATMOSPHERE: (380..381) \"\n\"\n ATMOSPHERE: (381..391) \"; are met:\"\n ATMOSPHERE: (391..392) \"\n\"\n ATMOSPHERE: (392..459) \"; 1. Redistributions of source code must retain the above copyright\"\n ATMOSPHERE: (459..460) \"\n\"\n ATMOSPHERE: (460..526) \"; notice, this list of conditions and the following disclaimer.\"\n ATMOSPHERE: (526..527) \"\n\"\n ATMOSPHERE: (527..597) \"; 2. Redistributions in binary form must reproduce the above copyright\"\n ATMOSPHERE: (597..598) \"\n\"\n ATMOSPHERE: (598..670) \"; notice, this list of conditions and the following disclaimer in the\"\n ATMOSPHERE: (670..671) \"\n\"\n ATMOSPHERE: (671..744) \"; documentation and/or other materials provided with the distribution.\"\n ATMOSPHERE: (744..745) \"\n\"\n ATMOSPHERE: (745..819) \"; 3. The name of the author may not be used to endorse or promote products\"\n ATMOSPHERE: (819..820) \"\n\"\n ATMOSPHERE: (820..894) \"; derived from this software without specific prior written permission.\"\n ATMOSPHERE: (894..896) \"\n\n\"\n ATMOSPHERE: (896..966) \"; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\"\n ATMOSPHERE: (966..967) \"\n\"\n ATMOSPHERE: (967..1042) \"; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\"\n ATMOSPHERE: (1042..1043) \"\n\"\n ATMOSPHERE: (1043..1116) \"; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\"\n ATMOSPHERE: (1116..1117) \"\n\"\n ATMOSPHERE: (1117..1183) \"; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\"\n ATMOSPHERE: (1183..1184) \"\n\"\n ATMOSPHERE: (1184..1258) \"; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\"\n ATMOSPHERE: (1258..1259) \"\n\"\n ATMOSPHERE: (1259..1334) \"; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\"\n ATMOSPHERE: (1334..1335) \"\n\"\n ATMOSPHERE: (1335..1406) \"; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\"\n ATMOSPHERE: (1406..1407) \"\n\"\n ATMOSPHERE: (1407..1476) \"; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\"\n ATMOSPHERE: (1476..1477) \"\n\"\n ATMOSPHERE: (1477..1551) \"; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\"\n ATMOSPHERE: (1551..1552) \"\n\"\n ATMOSPHERE: (1552..1619) \"; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\"\n ATMOSPHERE: (1619..1621) \"\n\n\"\n FORM: (1621..2109)\n OPEN_PAREN: (1621..1622) \"(\"\n SYMBOL: (1622..1628)\n IDENTIFIER: (1622..1628) \"import\"\n ATMOSPHERE: (1628..1629) \" \"\n FORM: (1629..1642)\n OPEN_PAREN: (1629..1630) \"(\"\n SYMBOL: (1630..1636)\n IDENTIFIER: (1630..1636) \"scheme\"\n ATMOSPHERE: (1636..1637) \" \"\n SYMBOL: (1637..1641)\n IDENTIFIER: (1637..1641) \"base\"\n CLOSE_PAREN: (1641..1642) \")\"\n ATMOSPHERE: (1642..1647) \"\n \"\n ATMOSPHERE: (1647..1714) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (1714..1719) \"\n \"\n ATMOSPHERE: (1719..1783) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (1783..1788) \"\n \"\n FORM: (1788..1812)\n OPEN_PAREN: (1788..1789) \"(\"\n SYMBOL: (1789..1796)\n IDENTIFIER: (1789..1796) \"feersum\"\n ATMOSPHERE: (1796..1797) \" \"\n SYMBOL: (1797..1804)\n IDENTIFIER: (1797..1804) \"builtin\"\n ATMOSPHERE: (1804..1805) \" \"\n SYMBOL: (1805..1811)\n IDENTIFIER: (1805..1811) \"macros\"\n CLOSE_PAREN: (1811..1812) \")\"\n ATMOSPHERE: (1812..1813) \"\n\"\n ATMOSPHERE: (1813..1848) \";; (scheme char) (scheme lazy)\"\n ATMOSPHERE: (1848..1849) \"\n\"\n ATMOSPHERE: (1849..1907) \";; (scheme inexact) (scheme complex) (scheme time)\"\n ATMOSPHERE: (1907..1908) \"\n\"\n ATMOSPHERE: (1908..1946) \";; (scheme file) (scheme read)\"\n ATMOSPHERE: (1946..1949) \"\n \"\n FORM: (1949..1963)\n OPEN_PAREN: (1949..1950) \"(\"\n SYMBOL: (1950..1956)\n IDENTIFIER: (1950..1956) \"scheme\"\n ATMOSPHERE: (1956..1957) \" \"\n SYMBOL: (1957..1962)\n IDENTIFIER: (1957..1962) \"write\"\n CLOSE_PAREN: (1962..1963) \")\"\n ATMOSPHERE: (1963..1964) \"\n\"\n ATMOSPHERE: (1964..2034) \";; (scheme eval) (scheme process-context) (scheme case-lambda)\"\n ATMOSPHERE: (2034..2035) \"\n\"\n ATMOSPHERE: (2035..2059) \";; (scheme r5rs)\"\n ATMOSPHERE: (2059..2060) \"\n\"\n ATMOSPHERE: (2060..2099) \";; (chibi test) ; or (srfi 64)\"\n ATMOSPHERE: (2099..2108) \"\n \"\n CLOSE_PAREN: (2108..2109) \")\"\n ATMOSPHERE: (2109..2111) \"\n\n\"\n ATMOSPHERE: (2111..2177) \";; R7RS test suite. Covers all procedures and syntax in the small\"\n ATMOSPHERE: (2177..2178) \"\n\"\n ATMOSPHERE: (2178..2243) \";; language except `delete-file'. Currently assumes full-unicode\"\n ATMOSPHERE: (2243..2244) \"\n\"\n ATMOSPHERE: (2244..2305) \";; support, the full numeric tower and all standard libraries\"\n ATMOSPHERE: (2305..2306) \"\n\"\n ATMOSPHERE: (2306..2318) \";; provided.\"\n ATMOSPHERE: (2318..2319) \"\n\"\n ATMOSPHERE: (2319..2321) \";;\"\n ATMOSPHERE: (2321..2322) \"\n\"\n ATMOSPHERE: (2322..2389) \";; Uses the (chibi test) library which is written in portable R7RS.\"\n ATMOSPHERE: (2389..2390) \"\n\"\n ATMOSPHERE: (2390..2459) \";; This is mostly a subset of SRFI-64, providing test-begin, test-end\"\n ATMOSPHERE: (2459..2460) \"\n\"\n ATMOSPHERE: (2460..2514) \";; and test, which could be defined as something like:\"\n ATMOSPHERE: (2514..2515) \"\n\"\n ATMOSPHERE: (2515..2517) \";;\"\n ATMOSPHERE: (2517..2518) \"\n\"\n FORM: (2518..2541)\n OPEN_PAREN: (2518..2519) \"(\"\n SYMBOL: (2519..2525)\n IDENTIFIER: (2519..2525) \"define\"\n ATMOSPHERE: (2525..2526) \" \"\n SYMBOL: (2526..2538)\n IDENTIFIER: (2526..2538) \"indent-level\"\n ATMOSPHERE: (2538..2539) \" \"\n CONSTANT: (2539..2540)\n NUMBER: (2539..2540) \"0\"\n CLOSE_PAREN: (2540..2541) \")\"\n ATMOSPHERE: (2541..2542) \"\n\"\n FORM: (2542..2678)\n OPEN_PAREN: (2542..2543) \"(\"\n SYMBOL: (2543..2549)\n IDENTIFIER: (2543..2549) \"define\"\n ATMOSPHERE: (2549..2550) \" \"\n FORM: (2550..2558)\n OPEN_PAREN: (2550..2551) \"(\"\n SYMBOL: (2551..2557)\n IDENTIFIER: (2551..2557) \"indent\"\n CLOSE_PAREN: (2557..2558) \")\"\n ATMOSPHERE: (2558..2561) \"\n \"\n FORM: (2561..2650)\n OPEN_PAREN: (2561..2562) \"(\"\n SYMBOL: (2562..2568)\n IDENTIFIER: (2562..2568) \"define\"\n ATMOSPHERE: (2568..2569) \" \"\n FORM: (2569..2582)\n OPEN_PAREN: (2569..2570) \"(\"\n SYMBOL: (2570..2579)\n IDENTIFIER: (2570..2579) \"do-indent\"\n ATMOSPHERE: (2579..2580) \" \"\n SYMBOL: (2580..2581)\n IDENTIFIER: (2580..2581) \"n\"\n CLOSE_PAREN: (2581..2582) \")\"\n ATMOSPHERE: (2582..2584) \"\n\t\"\n FORM: (2584..2649)\n OPEN_PAREN: (2584..2585) \"(\"\n SYMBOL: (2585..2587)\n IDENTIFIER: (2585..2587) \"if\"\n ATMOSPHERE: (2587..2588) \" \"\n FORM: (2588..2595)\n OPEN_PAREN: (2588..2589) \"(\"\n SYMBOL: (2589..2590)\n IDENTIFIER: (2589..2590) \">\"\n ATMOSPHERE: (2590..2591) \" \"\n SYMBOL: (2591..2592)\n IDENTIFIER: (2591..2592) \"n\"\n ATMOSPHERE: (2592..2593) \" \"\n CONSTANT: (2593..2594)\n NUMBER: (2593..2594) \"0\"\n CLOSE_PAREN: (2594..2595) \")\"\n ATMOSPHERE: (2595..2598) \"\n\t\t\"\n FORM: (2598..2648)\n OPEN_PAREN: (2598..2599) \"(\"\n SYMBOL: (2599..2604)\n IDENTIFIER: (2599..2604) \"begin\"\n ATMOSPHERE: (2604..2609) \"\n\t\t \"\n FORM: (2609..2623)\n OPEN_PAREN: (2609..2610) \"(\"\n SYMBOL: (2610..2617)\n IDENTIFIER: (2610..2617) \"display\"\n ATMOSPHERE: (2617..2618) \" \"\n CONSTANT: (2618..2622)\n STRING: (2618..2622) \"\"\\t\"\"\n CLOSE_PAREN: (2622..2623) \")\"\n ATMOSPHERE: (2623..2628) \"\n\t\t \"\n FORM: (2628..2647)\n OPEN_PAREN: (2628..2629) \"(\"\n SYMBOL: (2629..2638)\n IDENTIFIER: (2629..2638) \"do-indent\"\n ATMOSPHERE: (2638..2639) \" \"\n FORM: (2639..2646)\n OPEN_PAREN: (2639..2640) \"(\"\n SYMBOL: (2640..2641)\n IDENTIFIER: (2640..2641) \"-\"\n ATMOSPHERE: (2641..2642) \" \"\n SYMBOL: (2642..2643)\n IDENTIFIER: (2642..2643) \"n\"\n ATMOSPHERE: (2643..2644) \" \"\n CONSTANT: (2644..2645)\n NUMBER: (2644..2645) \"1\"\n CLOSE_PAREN: (2645..2646) \")\"\n CLOSE_PAREN: (2646..2647) \")\"\n CLOSE_PAREN: (2647..2648) \")\"\n CLOSE_PAREN: (2648..2649) \")\"\n CLOSE_PAREN: (2649..2650) \")\"\n ATMOSPHERE: (2650..2653) \"\n \"\n FORM: (2653..2677)\n OPEN_PAREN: (2653..2654) \"(\"\n SYMBOL: (2654..2663)\n IDENTIFIER: (2654..2663) \"do-indent\"\n ATMOSPHERE: (2663..2664) \" \"\n SYMBOL: (2664..2676)\n IDENTIFIER: (2664..2676) \"indent-level\"\n CLOSE_PAREN: (2676..2677) \")\"\n CLOSE_PAREN: (2677..2678) \")\"\n ATMOSPHERE: (2678..2680) \"\n\n\"\n FORM: (2680..2696)\n OPEN_PAREN: (2680..2681) \"(\"\n SYMBOL: (2681..2687)\n IDENTIFIER: (2681..2687) \"define\"\n ATMOSPHERE: (2687..2688) \" \"\n SYMBOL: (2688..2693)\n IDENTIFIER: (2688..2693) \"tests\"\n ATMOSPHERE: (2693..2694) \" \"\n CONSTANT: (2694..2695)\n NUMBER: (2694..2695) \"0\"\n CLOSE_PAREN: (2695..2696) \")\"\n FORM: (2696..2712)\n OPEN_PAREN: (2696..2697) \"(\"\n SYMBOL: (2697..2703)\n IDENTIFIER: (2697..2703) \"define\"\n ATMOSPHERE: (2703..2704) \" \"\n SYMBOL: (2704..2709)\n IDENTIFIER: (2704..2709) \"fails\"\n ATMOSPHERE: (2709..2710) \" \"\n CONSTANT: (2710..2711)\n NUMBER: (2710..2711) \"0\"\n CLOSE_PAREN: (2711..2712) \")\"\n ATMOSPHERE: (2712..2713) \"\n\"\n FORM: (2713..2834)\n OPEN_PAREN: (2713..2714) \"(\"\n SYMBOL: (2714..2720)\n IDENTIFIER: (2714..2720) \"define\"\n ATMOSPHERE: (2720..2721) \" \"\n FORM: (2721..2737)\n OPEN_PAREN: (2721..2722) \"(\"\n SYMBOL: (2722..2732)\n IDENTIFIER: (2722..2732) \"test-begin\"\n ATMOSPHERE: (2732..2733) \" \"\n DOTTED_TAIL: (2733..2736)\n DOT: (2733..2734) \".\"\n ATMOSPHERE: (2734..2735) \" \"\n SYMBOL: (2735..2736)\n IDENTIFIER: (2735..2736) \"o\"\n CLOSE_PAREN: (2736..2737) \")\"\n ATMOSPHERE: (2737..2740) \"\n \"\n FORM: (2740..2756)\n OPEN_PAREN: (2740..2741) \"(\"\n SYMBOL: (2741..2748)\n IDENTIFIER: (2741..2748) \"display\"\n ATMOSPHERE: (2748..2749) \" \"\n CONSTANT: (2749..2755)\n STRING: (2749..2755) \"\"### \"\"\n CLOSE_PAREN: (2755..2756) \")\"\n FORM: (2756..2767)\n OPEN_PAREN: (2756..2757) \"(\"\n SYMBOL: (2757..2764)\n IDENTIFIER: (2757..2764) \"display\"\n ATMOSPHERE: (2764..2765) \" \"\n SYMBOL: (2765..2766)\n IDENTIFIER: (2765..2766) \"o\"\n CLOSE_PAREN: (2766..2767) \")\"\n FORM: (2767..2776)\n OPEN_PAREN: (2767..2768) \"(\"\n SYMBOL: (2768..2775)\n IDENTIFIER: (2768..2775) \"newline\"\n CLOSE_PAREN: (2775..2776) \")\"\n ATMOSPHERE: (2776..2779) \"\n \"\n FORM: (2779..2817)\n OPEN_PAREN: (2779..2780) \"(\"\n SYMBOL: (2780..2784)\n IDENTIFIER: (2780..2784) \"set!\"\n ATMOSPHERE: (2784..2785) \" \"\n SYMBOL: (2785..2797)\n IDENTIFIER: (2785..2797) \"indent-level\"\n ATMOSPHERE: (2797..2798) \" \"\n FORM: (2798..2816)\n OPEN_PAREN: (2798..2799) \"(\"\n SYMBOL: (2799..2800)\n IDENTIFIER: (2799..2800) \"+\"\n ATMOSPHERE: (2800..2801) \" \"\n SYMBOL: (2801..2813)\n IDENTIFIER: (2801..2813) \"indent-level\"\n ATMOSPHERE: (2813..2814) \" \"\n CONSTANT: (2814..2815)\n NUMBER: (2814..2815) \"1\"\n CLOSE_PAREN: (2815..2816) \")\"\n CLOSE_PAREN: (2816..2817) \")\"\n ATMOSPHERE: (2817..2820) \"\n \"\n FORM: (2820..2828)\n OPEN_PAREN: (2820..2821) \"(\"\n SYMBOL: (2821..2827)\n IDENTIFIER: (2821..2827) \"indent\"\n CLOSE_PAREN: (2827..2828) \")\"\n ATMOSPHERE: (2828..2831) \"\n \"\n CONSTANT: (2831..2833)\n BOOLEAN: (2831..2833) \"#f\"\n CLOSE_PAREN: (2833..2834) \")\"\n ATMOSPHERE: (2834..2836) \"\n\n\"\n FORM: (2836..3011)\n OPEN_PAREN: (2836..2837) \"(\"\n SYMBOL: (2837..2843)\n IDENTIFIER: (2837..2843) \"define\"\n ATMOSPHERE: (2843..2844) \" \"\n FORM: (2844..2864)\n OPEN_PAREN: (2844..2845) \"(\"\n SYMBOL: (2845..2863)\n IDENTIFIER: (2845..2863) \"print-test-summary\"\n CLOSE_PAREN: (2863..2864) \")\"\n ATMOSPHERE: (2864..2867) \"\n \"\n FORM: (2867..2901)\n OPEN_PAREN: (2867..2868) \"(\"\n SYMBOL: (2868..2875)\n IDENTIFIER: (2868..2875) \"display\"\n ATMOSPHERE: (2875..2876) \" \"\n CONSTANT: (2876..2900)\n STRING: (2876..2900) \"\"----------------------\"\"\n CLOSE_PAREN: (2900..2901) \")\"\n FORM: (2901..2910)\n OPEN_PAREN: (2901..2902) \"(\"\n SYMBOL: (2902..2909)\n IDENTIFIER: (2902..2909) \"newline\"\n CLOSE_PAREN: (2909..2910) \")\"\n ATMOSPHERE: (2910..2913) \"\n \"\n FORM: (2913..2932)\n OPEN_PAREN: (2913..2914) \"(\"\n SYMBOL: (2914..2921)\n IDENTIFIER: (2914..2921) \"display\"\n ATMOSPHERE: (2921..2922) \" \"\n CONSTANT: (2922..2931)\n STRING: (2922..2931) \"\"Total: \"\"\n CLOSE_PAREN: (2931..2932) \")\"\n FORM: (2932..2947)\n OPEN_PAREN: (2932..2933) \"(\"\n SYMBOL: (2933..2940)\n IDENTIFIER: (2933..2940) \"display\"\n ATMOSPHERE: (2940..2941) \" \"\n SYMBOL: (2941..2946)\n IDENTIFIER: (2941..2946) \"tests\"\n CLOSE_PAREN: (2946..2947) \")\"\n FORM: (2947..2956)\n OPEN_PAREN: (2947..2948) \"(\"\n SYMBOL: (2948..2955)\n IDENTIFIER: (2948..2955) \"newline\"\n CLOSE_PAREN: (2955..2956) \")\"\n ATMOSPHERE: (2956..2959) \"\n \"\n FORM: (2959..2978)\n OPEN_PAREN: (2959..2960) \"(\"\n SYMBOL: (2960..2967)\n IDENTIFIER: (2960..2967) \"display\"\n ATMOSPHERE: (2967..2968) \" \"\n CONSTANT: (2968..2977)\n STRING: (2968..2977) \"\"Fails: \"\"\n CLOSE_PAREN: (2977..2978) \")\"\n FORM: (2978..2993)\n OPEN_PAREN: (2978..2979) \"(\"\n SYMBOL: (2979..2986)\n IDENTIFIER: (2979..2986) \"display\"\n ATMOSPHERE: (2986..2987) \" \"\n SYMBOL: (2987..2992)\n IDENTIFIER: (2987..2992) \"fails\"\n CLOSE_PAREN: (2992..2993) \")\"\n FORM: (2993..3002)\n OPEN_PAREN: (2993..2994) \"(\"\n SYMBOL: (2994..3001)\n IDENTIFIER: (2994..3001) \"newline\"\n CLOSE_PAREN: (3001..3002) \")\"\n ATMOSPHERE: (3002..3005) \"\n \"\n SYMBOL: (3005..3010)\n IDENTIFIER: (3005..3010) \"fails\"\n CLOSE_PAREN: (3010..3011) \")\"\n ATMOSPHERE: (3011..3013) \"\n\n\"\n FORM: (3013..3151)\n OPEN_PAREN: (3013..3014) \"(\"\n SYMBOL: (3014..3020)\n IDENTIFIER: (3014..3020) \"define\"\n ATMOSPHERE: (3020..3021) \" \"\n FORM: (3021..3035)\n OPEN_PAREN: (3021..3022) \"(\"\n SYMBOL: (3022..3030)\n IDENTIFIER: (3022..3030) \"test-end\"\n ATMOSPHERE: (3030..3031) \" \"\n DOTTED_TAIL: (3031..3034)\n DOT: (3031..3032) \".\"\n ATMOSPHERE: (3032..3033) \" \"\n SYMBOL: (3033..3034)\n IDENTIFIER: (3033..3034) \"o\"\n CLOSE_PAREN: (3034..3035) \")\"\n ATMOSPHERE: (3035..3038) \"\n \"\n FORM: (3038..3047)\n OPEN_PAREN: (3038..3039) \"(\"\n SYMBOL: (3039..3046)\n IDENTIFIER: (3039..3046) \"newline\"\n CLOSE_PAREN: (3046..3047) \")\"\n ATMOSPHERE: (3047..3050) \"\n \"\n FORM: (3050..3088)\n OPEN_PAREN: (3050..3051) \"(\"\n SYMBOL: (3051..3055)\n IDENTIFIER: (3051..3055) \"set!\"\n ATMOSPHERE: (3055..3056) \" \"\n SYMBOL: (3056..3068)\n IDENTIFIER: (3056..3068) \"indent-level\"\n ATMOSPHERE: (3068..3069) \" \"\n FORM: (3069..3087)\n OPEN_PAREN: (3069..3070) \"(\"\n SYMBOL: (3070..3071)\n IDENTIFIER: (3070..3071) \"-\"\n ATMOSPHERE: (3071..3072) \" \"\n SYMBOL: (3072..3084)\n IDENTIFIER: (3072..3084) \"indent-level\"\n ATMOSPHERE: (3084..3085) \" \"\n CONSTANT: (3085..3086)\n NUMBER: (3085..3086) \"1\"\n CLOSE_PAREN: (3086..3087) \")\"\n CLOSE_PAREN: (3087..3088) \")\"\n ATMOSPHERE: (3088..3091) \"\n \"\n FORM: (3091..3150)\n OPEN_PAREN: (3091..3092) \"(\"\n SYMBOL: (3092..3094)\n IDENTIFIER: (3092..3094) \"if\"\n ATMOSPHERE: (3094..3095) \" \"\n FORM: (3095..3113)\n OPEN_PAREN: (3095..3096) \"(\"\n SYMBOL: (3096..3097)\n IDENTIFIER: (3096..3097) \"=\"\n ATMOSPHERE: (3097..3098) \" \"\n SYMBOL: (3098..3110)\n IDENTIFIER: (3098..3110) \"indent-level\"\n ATMOSPHERE: (3110..3111) \" \"\n CONSTANT: (3111..3112)\n NUMBER: (3111..3112) \"0\"\n CLOSE_PAREN: (3112..3113) \")\"\n ATMOSPHERE: (3113..3117) \"\n\t \"\n FORM: (3117..3137)\n OPEN_PAREN: (3117..3118) \"(\"\n SYMBOL: (3118..3136)\n IDENTIFIER: (3118..3136) \"print-test-summary\"\n CLOSE_PAREN: (3136..3137) \")\"\n ATMOSPHERE: (3137..3141) \"\n\t \"\n FORM: (3141..3149)\n OPEN_PAREN: (3141..3142) \"(\"\n SYMBOL: (3142..3148)\n IDENTIFIER: (3142..3148) \"indent\"\n CLOSE_PAREN: (3148..3149) \")\"\n CLOSE_PAREN: (3149..3150) \")\"\n CLOSE_PAREN: (3150..3151) \")\"\n ATMOSPHERE: (3151..3153) \"\n\n\"\n FORM: (3153..3522)\n OPEN_PAREN: (3153..3154) \"(\"\n SYMBOL: (3154..3167)\n IDENTIFIER: (3154..3167) \"define-syntax\"\n ATMOSPHERE: (3167..3168) \" \"\n SYMBOL: (3168..3172)\n IDENTIFIER: (3168..3172) \"test\"\n ATMOSPHERE: (3172..3175) \"\n \"\n FORM: (3175..3521)\n OPEN_PAREN: (3175..3176) \"(\"\n SYMBOL: (3176..3188)\n IDENTIFIER: (3176..3188) \"syntax-rules\"\n ATMOSPHERE: (3188..3189) \" \"\n FORM: (3189..3191)\n OPEN_PAREN: (3189..3190) \"(\"\n CLOSE_PAREN: (3190..3191) \")\"\n ATMOSPHERE: (3191..3193) \"\n\t\"\n FORM: (3193..3520)\n OPEN_PAREN: (3193..3194) \"(\"\n FORM: (3194..3211)\n OPEN_PAREN: (3194..3195) \"(\"\n SYMBOL: (3195..3196)\n IDENTIFIER: (3195..3196) \"_\"\n ATMOSPHERE: (3196..3197) \" \"\n SYMBOL: (3197..3205)\n IDENTIFIER: (3197..3205) \"expected\"\n ATMOSPHERE: (3205..3206) \" \"\n SYMBOL: (3206..3210)\n IDENTIFIER: (3206..3210) \"expr\"\n CLOSE_PAREN: (3210..3211) \")\"\n ATMOSPHERE: (3211..3214) \"\n\t \"\n FORM: (3214..3519)\n OPEN_PAREN: (3214..3215) \"(\"\n SYMBOL: (3215..3218)\n IDENTIFIER: (3215..3218) \"let\"\n ATMOSPHERE: (3218..3219) \" \"\n FORM: (3219..3231)\n OPEN_PAREN: (3219..3220) \"(\"\n FORM: (3220..3230)\n OPEN_PAREN: (3220..3221) \"(\"\n SYMBOL: (3221..3224)\n IDENTIFIER: (3221..3224) \"res\"\n ATMOSPHERE: (3224..3225) \" \"\n SYMBOL: (3225..3229)\n IDENTIFIER: (3225..3229) \"expr\"\n CLOSE_PAREN: (3229..3230) \")\"\n CLOSE_PAREN: (3230..3231) \")\"\n ATMOSPHERE: (3231..3236) \"\n\t \"\n FORM: (3236..3260)\n OPEN_PAREN: (3236..3237) \"(\"\n SYMBOL: (3237..3241)\n IDENTIFIER: (3237..3241) \"set!\"\n ATMOSPHERE: (3241..3242) \" \"\n SYMBOL: (3242..3247)\n IDENTIFIER: (3242..3247) \"tests\"\n ATMOSPHERE: (3247..3248) \" \"\n FORM: (3248..3259)\n OPEN_PAREN: (3248..3249) \"(\"\n SYMBOL: (3249..3250)\n IDENTIFIER: (3249..3250) \"+\"\n ATMOSPHERE: (3250..3251) \" \"\n SYMBOL: (3251..3256)\n IDENTIFIER: (3251..3256) \"tests\"\n ATMOSPHERE: (3256..3257) \" \"\n CONSTANT: (3257..3258)\n NUMBER: (3257..3258) \"1\"\n CLOSE_PAREN: (3258..3259) \")\"\n CLOSE_PAREN: (3259..3260) \")\"\n ATMOSPHERE: (3260..3265) \"\n\t \"\n FORM: (3265..3518)\n OPEN_PAREN: (3265..3266) \"(\"\n SYMBOL: (3266..3268)\n IDENTIFIER: (3266..3268) \"if\"\n ATMOSPHERE: (3268..3269) \" \"\n FORM: (3269..3290)\n OPEN_PAREN: (3269..3270) \"(\"\n SYMBOL: (3270..3276)\n IDENTIFIER: (3270..3276) \"equal?\"\n ATMOSPHERE: (3276..3277) \" \"\n SYMBOL: (3277..3280)\n IDENTIFIER: (3277..3280) \"res\"\n ATMOSPHERE: (3280..3281) \" \"\n SYMBOL: (3281..3289)\n IDENTIFIER: (3281..3289) \"expected\"\n CLOSE_PAREN: (3289..3290) \")\"\n ATMOSPHERE: (3290..3296) \"\n\t\t \"\n FORM: (3296..3309)\n OPEN_PAREN: (3296..3297) \"(\"\n SYMBOL: (3297..3304)\n IDENTIFIER: (3297..3304) \"display\"\n ATMOSPHERE: (3304..3305) \" \"\n CONSTANT: (3305..3308)\n STRING: (3305..3308) \"\".\"\"\n CLOSE_PAREN: (3308..3309) \")\"\n ATMOSPHERE: (3309..3315) \"\n\t\t \"\n FORM: (3315..3517)\n OPEN_PAREN: (3315..3316) \"(\"\n SYMBOL: (3316..3321)\n IDENTIFIER: (3316..3321) \"begin\"\n ATMOSPHERE: (3321..3326) \"\n\t\t\t \"\n FORM: (3326..3350)\n OPEN_PAREN: (3326..3327) \"(\"\n SYMBOL: (3327..3331)\n IDENTIFIER: (3327..3331) \"set!\"\n ATMOSPHERE: (3331..3332) \" \"\n SYMBOL: (3332..3337)\n IDENTIFIER: (3332..3337) \"fails\"\n ATMOSPHERE: (3337..3338) \" \"\n FORM: (3338..3349)\n OPEN_PAREN: (3338..3339) \"(\"\n SYMBOL: (3339..3340)\n IDENTIFIER: (3339..3340) \"+\"\n ATMOSPHERE: (3340..3341) \" \"\n SYMBOL: (3341..3346)\n IDENTIFIER: (3341..3346) \"fails\"\n ATMOSPHERE: (3346..3347) \" \"\n CONSTANT: (3347..3348)\n NUMBER: (3347..3348) \"1\"\n CLOSE_PAREN: (3348..3349) \")\"\n CLOSE_PAREN: (3349..3350) \")\"\n ATMOSPHERE: (3350..3355) \"\n\t\t\t \"\n FORM: (3355..3364)\n OPEN_PAREN: (3355..3356) \"(\"\n SYMBOL: (3356..3363)\n IDENTIFIER: (3356..3363) \"newline\"\n CLOSE_PAREN: (3363..3364) \")\"\n ATMOSPHERE: (3364..3369) \"\n\t\t\t \"\n FORM: (3369..3387)\n OPEN_PAREN: (3369..3370) \"(\"\n SYMBOL: (3370..3377)\n IDENTIFIER: (3370..3377) \"display\"\n ATMOSPHERE: (3377..3378) \" \"\n CONSTANT: (3378..3386)\n STRING: (3378..3386) \"\"FAIL: \"\"\n CLOSE_PAREN: (3386..3387) \")\"\n ATMOSPHERE: (3387..3392) \"\n\t\t\t \"\n FORM: (3392..3407)\n OPEN_PAREN: (3392..3393) \"(\"\n SYMBOL: (3393..3400)\n IDENTIFIER: (3393..3400) \"display\"\n ATMOSPHERE: (3400..3401) \" \"\n QUOTED_DATUM: (3401..3406)\n QUOTE: (3401..3402) \"'\"\n SYMBOL: (3402..3406)\n IDENTIFIER: (3402..3406) \"expr\"\n CLOSE_PAREN: (3406..3407) \")\"\n ATMOSPHERE: (3407..3412) \"\n\t\t\t \"\n FORM: (3412..3435)\n OPEN_PAREN: (3412..3413) \"(\"\n SYMBOL: (3413..3420)\n IDENTIFIER: (3413..3420) \"display\"\n ATMOSPHERE: (3420..3421) \" \"\n CONSTANT: (3421..3434)\n STRING: (3421..3434) \"\": expected \"\"\n CLOSE_PAREN: (3434..3435) \")\"\n ATMOSPHERE: (3435..3440) \"\n\t\t\t \"\n FORM: (3440..3458)\n OPEN_PAREN: (3440..3441) \"(\"\n SYMBOL: (3441..3448)\n IDENTIFIER: (3441..3448) \"display\"\n ATMOSPHERE: (3448..3449) \" \"\n SYMBOL: (3449..3457)\n IDENTIFIER: (3449..3457) \"expected\"\n CLOSE_PAREN: (3457..3458) \")\"\n ATMOSPHERE: (3458..3463) \"\n\t\t\t \"\n FORM: (3463..3484)\n OPEN_PAREN: (3463..3464) \"(\"\n SYMBOL: (3464..3471)\n IDENTIFIER: (3464..3471) \"display\"\n ATMOSPHERE: (3471..3472) \" \"\n CONSTANT: (3472..3483)\n STRING: (3472..3483) \"\" but got \"\"\n CLOSE_PAREN: (3483..3484) \")\"\n ATMOSPHERE: (3484..3489) \"\n\t\t\t \"\n FORM: (3489..3502)\n OPEN_PAREN: (3489..3490) \"(\"\n SYMBOL: (3490..3497)\n IDENTIFIER: (3490..3497) \"display\"\n ATMOSPHERE: (3497..3498) \" \"\n SYMBOL: (3498..3501)\n IDENTIFIER: (3498..3501) \"res\"\n CLOSE_PAREN: (3501..3502) \")\"\n ATMOSPHERE: (3502..3507) \"\n\t\t\t \"\n FORM: (3507..3516)\n OPEN_PAREN: (3507..3508) \"(\"\n SYMBOL: (3508..3515)\n IDENTIFIER: (3508..3515) \"newline\"\n CLOSE_PAREN: (3515..3516) \")\"\n CLOSE_PAREN: (3516..3517) \")\"\n CLOSE_PAREN: (3517..3518) \")\"\n CLOSE_PAREN: (3518..3519) \")\"\n CLOSE_PAREN: (3519..3520) \")\"\n CLOSE_PAREN: (3520..3521) \")\"\n CLOSE_PAREN: (3521..3522) \")\"\n ATMOSPHERE: (3522..3524) \"\n\n\"\n ATMOSPHERE: (3524..3526) \";;\"\n ATMOSPHERE: (3526..3527) \"\n\"\n ATMOSPHERE: (3527..3586) \";; however (chibi test) provides nicer output, timings, and\"\n ATMOSPHERE: (3586..3587) \"\n\"\n ATMOSPHERE: (3587..3641) \";; approximate equivalence for floating point numbers.\"\n ATMOSPHERE: (3641..3643) \"\n\n\"\n FORM: (3643..3662)\n OPEN_PAREN: (3643..3644) \"(\"\n SYMBOL: (3644..3654)\n IDENTIFIER: (3644..3654) \"test-begin\"\n ATMOSPHERE: (3654..3655) \" \"\n CONSTANT: (3655..3661)\n STRING: (3655..3661) \"\"R7RS\"\"\n CLOSE_PAREN: (3661..3662) \")\"\n ATMOSPHERE: (3662..3664) \"\n\n\"\n FORM: (3664..3709)\n OPEN_PAREN: (3664..3665) \"(\"\n SYMBOL: (3665..3675)\n IDENTIFIER: (3665..3675) \"test-begin\"\n ATMOSPHERE: (3675..3676) \" \"\n CONSTANT: (3676..3708)\n STRING: (3676..3708) \"\"4.1 Primitive expression types\"\"\n CLOSE_PAREN: (3708..3709) \")\"\n ATMOSPHERE: (3709..3711) \"\n\n\"\n FORM: (3711..3749)\n OPEN_PAREN: (3711..3712) \"(\"\n SYMBOL: (3712..3715)\n IDENTIFIER: (3712..3715) \"let\"\n ATMOSPHERE: (3715..3716) \" \"\n FORM: (3716..3718)\n OPEN_PAREN: (3716..3717) \"(\"\n CLOSE_PAREN: (3717..3718) \")\"\n ATMOSPHERE: (3718..3721) \"\n \"\n FORM: (3721..3734)\n OPEN_PAREN: (3721..3722) \"(\"\n SYMBOL: (3722..3728)\n IDENTIFIER: (3722..3728) \"define\"\n ATMOSPHERE: (3728..3729) \" \"\n SYMBOL: (3729..3730)\n IDENTIFIER: (3729..3730) \"x\"\n ATMOSPHERE: (3730..3731) \" \"\n CONSTANT: (3731..3733)\n NUMBER: (3731..3733) \"28\"\n CLOSE_PAREN: (3733..3734) \")\"\n ATMOSPHERE: (3734..3737) \"\n \"\n FORM: (3737..3748)\n OPEN_PAREN: (3737..3738) \"(\"\n SYMBOL: (3738..3742)\n IDENTIFIER: (3738..3742) \"test\"\n ATMOSPHERE: (3742..3743) \" \"\n CONSTANT: (3743..3745)\n NUMBER: (3743..3745) \"28\"\n ATMOSPHERE: (3745..3746) \" \"\n SYMBOL: (3746..3747)\n IDENTIFIER: (3746..3747) \"x\"\n CLOSE_PAREN: (3747..3748) \")\"\n CLOSE_PAREN: (3748..3749) \")\"\n ATMOSPHERE: (3749..3752) \"\n\n\n\"\n FORM: (3752..3771)\n OPEN_PAREN: (3752..3753) \"(\"\n SYMBOL: (3753..3757)\n IDENTIFIER: (3753..3757) \"test\"\n ATMOSPHERE: (3757..3758) \" \"\n QUOTED_DATUM: (3758..3761)\n QUOTE: (3758..3759) \"'\"\n SYMBOL: (3759..3760)\n IDENTIFIER: (3759..3760) \"a\"\n ATMOSPHERE: (3760..3761) \" \"\n FORM: (3761..3770)\n OPEN_PAREN: (3761..3762) \"(\"\n SYMBOL: (3762..3767)\n IDENTIFIER: (3762..3767) \"quote\"\n ATMOSPHERE: (3767..3768) \" \"\n SYMBOL: (3768..3769)\n IDENTIFIER: (3768..3769) \"a\"\n CLOSE_PAREN: (3769..3770) \")\"\n CLOSE_PAREN: (3770..3771) \")\"\n ATMOSPHERE: (3771..3772) \"\n\"\n FORM: (3772..3804)\n OPEN_PAREN: (3772..3773) \"(\"\n SYMBOL: (3773..3777)\n IDENTIFIER: (3773..3777) \"test\"\n ATMOSPHERE: (3777..3778) \" \"\n VEC: (3778..3786)\n OPEN_PAREN: (3778..3780) \"#(\"\n SYMBOL: (3780..3781)\n IDENTIFIER: (3780..3781) \"a\"\n ATMOSPHERE: (3781..3782) \" \"\n SYMBOL: (3782..3783)\n IDENTIFIER: (3782..3783) \"b\"\n ATMOSPHERE: (3783..3784) \" \"\n SYMBOL: (3784..3785)\n IDENTIFIER: (3784..3785) \"c\"\n CLOSE_PAREN: (3785..3786) \")\"\n ATMOSPHERE: (3786..3787) \" \"\n FORM: (3787..3803)\n OPEN_PAREN: (3787..3788) \"(\"\n SYMBOL: (3788..3793)\n IDENTIFIER: (3788..3793) \"quote\"\n ATMOSPHERE: (3793..3794) \" \"\n VEC: (3794..3802)\n OPEN_PAREN: (3794..3796) \"#(\"\n SYMBOL: (3796..3797)\n IDENTIFIER: (3796..3797) \"a\"\n ATMOSPHERE: (3797..3798) \" \"\n SYMBOL: (3798..3799)\n IDENTIFIER: (3798..3799) \"b\"\n ATMOSPHERE: (3799..3800) \" \"\n SYMBOL: (3800..3801)\n IDENTIFIER: (3800..3801) \"c\"\n CLOSE_PAREN: (3801..3802) \")\"\n CLOSE_PAREN: (3802..3803) \")\"\n CLOSE_PAREN: (3803..3804) \")\"\n ATMOSPHERE: (3804..3805) \"\n\"\n FORM: (3805..3836)\n OPEN_PAREN: (3805..3806) \"(\"\n SYMBOL: (3806..3810)\n IDENTIFIER: (3806..3810) \"test\"\n ATMOSPHERE: (3810..3811) \" \"\n QUOTED_DATUM: (3811..3820)\n QUOTE: (3811..3812) \"'\"\n FORM: (3812..3819)\n OPEN_PAREN: (3812..3813) \"(\"\n SYMBOL: (3813..3814)\n IDENTIFIER: (3813..3814) \"+\"\n ATMOSPHERE: (3814..3815) \" \"\n CONSTANT: (3815..3816)\n NUMBER: (3815..3816) \"1\"\n ATMOSPHERE: (3816..3817) \" \"\n CONSTANT: (3817..3818)\n NUMBER: (3817..3818) \"2\"\n CLOSE_PAREN: (3818..3819) \")\"\n ATMOSPHERE: (3819..3820) \" \"\n FORM: (3820..3835)\n OPEN_PAREN: (3820..3821) \"(\"\n SYMBOL: (3821..3826)\n IDENTIFIER: (3821..3826) \"quote\"\n ATMOSPHERE: (3826..3827) \" \"\n FORM: (3827..3834)\n OPEN_PAREN: (3827..3828) \"(\"\n SYMBOL: (3828..3829)\n IDENTIFIER: (3828..3829) \"+\"\n ATMOSPHERE: (3829..3830) \" \"\n CONSTANT: (3830..3831)\n NUMBER: (3830..3831) \"1\"\n ATMOSPHERE: (3831..3832) \" \"\n CONSTANT: (3832..3833)\n NUMBER: (3832..3833) \"2\"\n CLOSE_PAREN: (3833..3834) \")\"\n CLOSE_PAREN: (3834..3835) \")\"\n CLOSE_PAREN: (3835..3836) \")\"\n ATMOSPHERE: (3836..3838) \"\n\n\"\n FORM: (3838..3850)\n OPEN_PAREN: (3838..3839) \"(\"\n SYMBOL: (3839..3843)\n IDENTIFIER: (3839..3843) \"test\"\n ATMOSPHERE: (3843..3844) \" \"\n QUOTED_DATUM: (3844..3847)\n QUOTE: (3844..3845) \"'\"\n SYMBOL: (3845..3846)\n IDENTIFIER: (3845..3846) \"a\"\n ATMOSPHERE: (3846..3847) \" \"\n QUOTED_DATUM: (3847..3849)\n QUOTE: (3847..3848) \"'\"\n SYMBOL: (3848..3849)\n IDENTIFIER: (3848..3849) \"a\"\n CLOSE_PAREN: (3849..3850) \")\"\n ATMOSPHERE: (3850..3851) \"\n\"\n FORM: (3851..3876)\n OPEN_PAREN: (3851..3852) \"(\"\n SYMBOL: (3852..3856)\n IDENTIFIER: (3852..3856) \"test\"\n ATMOSPHERE: (3856..3857) \" \"\n VEC: (3857..3865)\n OPEN_PAREN: (3857..3859) \"#(\"\n SYMBOL: (3859..3860)\n IDENTIFIER: (3859..3860) \"a\"\n ATMOSPHERE: (3860..3861) \" \"\n SYMBOL: (3861..3862)\n IDENTIFIER: (3861..3862) \"b\"\n ATMOSPHERE: (3862..3863) \" \"\n SYMBOL: (3863..3864)\n IDENTIFIER: (3863..3864) \"c\"\n CLOSE_PAREN: (3864..3865) \")\"\n ATMOSPHERE: (3865..3866) \" \"\n QUOTED_DATUM: (3866..3875)\n QUOTE: (3866..3867) \"'\"\n VEC: (3867..3875)\n OPEN_PAREN: (3867..3869) \"#(\"\n SYMBOL: (3869..3870)\n IDENTIFIER: (3869..3870) \"a\"\n ATMOSPHERE: (3870..3871) \" \"\n SYMBOL: (3871..3872)\n IDENTIFIER: (3871..3872) \"b\"\n ATMOSPHERE: (3872..3873) \" \"\n SYMBOL: (3873..3874)\n IDENTIFIER: (3873..3874) \"c\"\n CLOSE_PAREN: (3874..3875) \")\"\n CLOSE_PAREN: (3875..3876) \")\"\n ATMOSPHERE: (3876..3877) \"\n\"\n FORM: (3877..3891)\n OPEN_PAREN: (3877..3878) \"(\"\n SYMBOL: (3878..3882)\n IDENTIFIER: (3878..3882) \"test\"\n ATMOSPHERE: (3882..3883) \" \"\n QUOTED_DATUM: (3883..3887)\n QUOTE: (3883..3884) \"'\"\n FORM: (3884..3886)\n OPEN_PAREN: (3884..3885) \"(\"\n CLOSE_PAREN: (3885..3886) \")\"\n ATMOSPHERE: (3886..3887) \" \"\n QUOTED_DATUM: (3887..3890)\n QUOTE: (3887..3888) \"'\"\n FORM: (3888..3890)\n OPEN_PAREN: (3888..3889) \"(\"\n CLOSE_PAREN: (3889..3890) \")\"\n CLOSE_PAREN: (3890..3891) \")\"\n ATMOSPHERE: (3891..3892) \"\n\"\n FORM: (3892..3916)\n OPEN_PAREN: (3892..3893) \"(\"\n SYMBOL: (3893..3897)\n IDENTIFIER: (3893..3897) \"test\"\n ATMOSPHERE: (3897..3898) \" \"\n QUOTED_DATUM: (3898..3907)\n QUOTE: (3898..3899) \"'\"\n FORM: (3899..3906)\n OPEN_PAREN: (3899..3900) \"(\"\n SYMBOL: (3900..3901)\n IDENTIFIER: (3900..3901) \"+\"\n ATMOSPHERE: (3901..3902) \" \"\n CONSTANT: (3902..3903)\n NUMBER: (3902..3903) \"1\"\n ATMOSPHERE: (3903..3904) \" \"\n CONSTANT: (3904..3905)\n NUMBER: (3904..3905) \"2\"\n CLOSE_PAREN: (3905..3906) \")\"\n ATMOSPHERE: (3906..3907) \" \"\n QUOTED_DATUM: (3907..3915)\n QUOTE: (3907..3908) \"'\"\n FORM: (3908..3915)\n OPEN_PAREN: (3908..3909) \"(\"\n SYMBOL: (3909..3910)\n IDENTIFIER: (3909..3910) \"+\"\n ATMOSPHERE: (3910..3911) \" \"\n CONSTANT: (3911..3912)\n NUMBER: (3911..3912) \"1\"\n ATMOSPHERE: (3912..3913) \" \"\n CONSTANT: (3913..3914)\n NUMBER: (3913..3914) \"2\"\n CLOSE_PAREN: (3914..3915) \")\"\n CLOSE_PAREN: (3915..3916) \")\"\n ATMOSPHERE: (3916..3917) \"\n\"\n FORM: (3917..3945)\n OPEN_PAREN: (3917..3918) \"(\"\n SYMBOL: (3918..3922)\n IDENTIFIER: (3918..3922) \"test\"\n ATMOSPHERE: (3922..3923) \" \"\n QUOTED_DATUM: (3923..3934)\n QUOTE: (3923..3924) \"'\"\n FORM: (3924..3933)\n OPEN_PAREN: (3924..3925) \"(\"\n SYMBOL: (3925..3930)\n IDENTIFIER: (3925..3930) \"quote\"\n ATMOSPHERE: (3930..3931) \" \"\n SYMBOL: (3931..3932)\n IDENTIFIER: (3931..3932) \"a\"\n CLOSE_PAREN: (3932..3933) \")\"\n ATMOSPHERE: (3933..3934) \" \"\n QUOTED_DATUM: (3934..3944)\n QUOTE: (3934..3935) \"'\"\n FORM: (3935..3944)\n OPEN_PAREN: (3935..3936) \"(\"\n SYMBOL: (3936..3941)\n IDENTIFIER: (3936..3941) \"quote\"\n ATMOSPHERE: (3941..3942) \" \"\n SYMBOL: (3942..3943)\n IDENTIFIER: (3942..3943) \"a\"\n CLOSE_PAREN: (3943..3944) \")\"\n CLOSE_PAREN: (3944..3945) \")\"\n ATMOSPHERE: (3945..3946) \"\n\"\n FORM: (3946..3967)\n OPEN_PAREN: (3946..3947) \"(\"\n SYMBOL: (3947..3951)\n IDENTIFIER: (3947..3951) \"test\"\n ATMOSPHERE: (3951..3952) \" \"\n QUOTED_DATUM: (3952..3963)\n QUOTE: (3952..3953) \"'\"\n FORM: (3953..3962)\n OPEN_PAREN: (3953..3954) \"(\"\n SYMBOL: (3954..3959)\n IDENTIFIER: (3954..3959) \"quote\"\n ATMOSPHERE: (3959..3960) \" \"\n SYMBOL: (3960..3961)\n IDENTIFIER: (3960..3961) \"a\"\n CLOSE_PAREN: (3961..3962) \")\"\n ATMOSPHERE: (3962..3963) \" \"\n QUOTED_DATUM: (3963..3966)\n QUOTE: (3963..3964) \"'\"\n QUOTED_DATUM: (3964..3966)\n QUOTE: (3964..3965) \"'\"\n SYMBOL: (3965..3966)\n IDENTIFIER: (3965..3966) \"a\"\n CLOSE_PAREN: (3966..3967) \")\"\n ATMOSPHERE: (3967..3969) \"\n\n\"\n FORM: (3969..3988)\n OPEN_PAREN: (3969..3970) \"(\"\n SYMBOL: (3970..3974)\n IDENTIFIER: (3970..3974) \"test\"\n ATMOSPHERE: (3974..3975) \" \"\n CONSTANT: (3975..3980)\n STRING: (3975..3980) \"\"abc\"\"\n ATMOSPHERE: (3980..3981) \" \"\n QUOTED_DATUM: (3981..3987)\n QUOTE: (3981..3982) \"'\"\n CONSTANT: (3982..3987)\n STRING: (3982..3987) \"\"abc\"\"\n CLOSE_PAREN: (3987..3988) \")\"\n ATMOSPHERE: (3988..3989) \"\n\"\n FORM: (3989..4007)\n OPEN_PAREN: (3989..3990) \"(\"\n SYMBOL: (3990..3994)\n IDENTIFIER: (3990..3994) \"test\"\n ATMOSPHERE: (3994..3995) \" \"\n CONSTANT: (3995..4000)\n STRING: (3995..4000) \"\"abc\"\"\n ATMOSPHERE: (4000..4001) \" \"\n CONSTANT: (4001..4006)\n STRING: (4001..4006) \"\"abc\"\"\n CLOSE_PAREN: (4006..4007) \")\"\n ATMOSPHERE: (4007..4008) \"\n\"\n FORM: (4008..4029)\n OPEN_PAREN: (4008..4009) \"(\"\n SYMBOL: (4009..4013)\n IDENTIFIER: (4009..4013) \"test\"\n ATMOSPHERE: (4013..4014) \" \"\n CONSTANT: (4014..4020)\n NUMBER: (4014..4020) \"145932\"\n ATMOSPHERE: (4020..4021) \" \"\n QUOTED_DATUM: (4021..4028)\n QUOTE: (4021..4022) \"'\"\n CONSTANT: (4022..4028)\n NUMBER: (4022..4028) \"145932\"\n CLOSE_PAREN: (4028..4029) \")\"\n ATMOSPHERE: (4029..4030) \"\n\"\n FORM: (4030..4050)\n OPEN_PAREN: (4030..4031) \"(\"\n SYMBOL: (4031..4035)\n IDENTIFIER: (4031..4035) \"test\"\n ATMOSPHERE: (4035..4036) \" \"\n CONSTANT: (4036..4042)\n NUMBER: (4036..4042) \"145932\"\n ATMOSPHERE: (4042..4043) \" \"\n CONSTANT: (4043..4049)\n NUMBER: (4043..4049) \"145932\"\n CLOSE_PAREN: (4049..4050) \")\"\n ATMOSPHERE: (4050..4051) \"\n\"\n FORM: (4051..4064)\n OPEN_PAREN: (4051..4052) \"(\"\n SYMBOL: (4052..4056)\n IDENTIFIER: (4052..4056) \"test\"\n ATMOSPHERE: (4056..4057) \" \"\n CONSTANT: (4057..4059)\n BOOLEAN: (4057..4059) \"#t\"\n ATMOSPHERE: (4059..4060) \" \"\n QUOTED_DATUM: (4060..4063)\n QUOTE: (4060..4061) \"'\"\n CONSTANT: (4061..4063)\n BOOLEAN: (4061..4063) \"#t\"\n CLOSE_PAREN: (4063..4064) \")\"\n ATMOSPHERE: (4064..4065) \"\n\"\n FORM: (4065..4077)\n OPEN_PAREN: (4065..4066) \"(\"\n SYMBOL: (4066..4070)\n IDENTIFIER: (4066..4070) \"test\"\n ATMOSPHERE: (4070..4071) \" \"\n CONSTANT: (4071..4073)\n BOOLEAN: (4071..4073) \"#t\"\n ATMOSPHERE: (4073..4074) \" \"\n CONSTANT: (4074..4076)\n BOOLEAN: (4074..4076) \"#t\"\n CLOSE_PAREN: (4076..4077) \")\"\n ATMOSPHERE: (4077..4079) \"\n\n\"\n FORM: (4079..4095)\n OPEN_PAREN: (4079..4080) \"(\"\n SYMBOL: (4080..4084)\n IDENTIFIER: (4080..4084) \"test\"\n ATMOSPHERE: (4084..4085) \" \"\n CONSTANT: (4085..4086)\n NUMBER: (4085..4086) \"7\"\n ATMOSPHERE: (4086..4087) \" \"\n FORM: (4087..4094)\n OPEN_PAREN: (4087..4088) \"(\"\n SYMBOL: (4088..4089)\n IDENTIFIER: (4088..4089) \"+\"\n ATMOSPHERE: (4089..4090) \" \"\n CONSTANT: (4090..4091)\n NUMBER: (4090..4091) \"3\"\n ATMOSPHERE: (4091..4092) \" \"\n CONSTANT: (4092..4093)\n NUMBER: (4092..4093) \"4\"\n CLOSE_PAREN: (4093..4094) \")\"\n CLOSE_PAREN: (4094..4095) \")\"\n ATMOSPHERE: (4095..4096) \"\n\"\n FORM: (4096..4123)\n OPEN_PAREN: (4096..4097) \"(\"\n SYMBOL: (4097..4101)\n IDENTIFIER: (4097..4101) \"test\"\n ATMOSPHERE: (4101..4102) \" \"\n CONSTANT: (4102..4104)\n NUMBER: (4102..4104) \"12\"\n ATMOSPHERE: (4104..4105) \" \"\n FORM: (4105..4122)\n OPEN_PAREN: (4105..4106) \"(\"\n FORM: (4106..4117)\n OPEN_PAREN: (4106..4107) \"(\"\n SYMBOL: (4107..4109)\n IDENTIFIER: (4107..4109) \"if\"\n ATMOSPHERE: (4109..4110) \" \"\n CONSTANT: (4110..4112)\n BOOLEAN: (4110..4112) \"#f\"\n ATMOSPHERE: (4112..4113) \" \"\n SYMBOL: (4113..4114)\n IDENTIFIER: (4113..4114) \"+\"\n ATMOSPHERE: (4114..4115) \" \"\n SYMBOL: (4115..4116)\n IDENTIFIER: (4115..4116) \"*\"\n CLOSE_PAREN: (4116..4117) \")\"\n ATMOSPHERE: (4117..4118) \" \"\n CONSTANT: (4118..4119)\n NUMBER: (4118..4119) \"3\"\n ATMOSPHERE: (4119..4120) \" \"\n CONSTANT: (4120..4121)\n NUMBER: (4120..4121) \"4\"\n CLOSE_PAREN: (4121..4122) \")\"\n CLOSE_PAREN: (4122..4123) \")\"\n ATMOSPHERE: (4123..4125) \"\n\n\"\n FORM: (4125..4158)\n OPEN_PAREN: (4125..4126) \"(\"\n SYMBOL: (4126..4130)\n IDENTIFIER: (4126..4130) \"test\"\n ATMOSPHERE: (4130..4131) \" \"\n CONSTANT: (4131..4132)\n NUMBER: (4131..4132) \"8\"\n ATMOSPHERE: (4132..4133) \" \"\n FORM: (4133..4157)\n OPEN_PAREN: (4133..4134) \"(\"\n FORM: (4134..4154)\n OPEN_PAREN: (4134..4135) \"(\"\n SYMBOL: (4135..4141)\n IDENTIFIER: (4135..4141) \"lambda\"\n ATMOSPHERE: (4141..4142) \" \"\n FORM: (4142..4145)\n OPEN_PAREN: (4142..4143) \"(\"\n SYMBOL: (4143..4144)\n IDENTIFIER: (4143..4144) \"x\"\n CLOSE_PAREN: (4144..4145) \")\"\n ATMOSPHERE: (4145..4146) \" \"\n FORM: (4146..4153)\n OPEN_PAREN: (4146..4147) \"(\"\n SYMBOL: (4147..4148)\n IDENTIFIER: (4147..4148) \"+\"\n ATMOSPHERE: (4148..4149) \" \"\n SYMBOL: (4149..4150)\n IDENTIFIER: (4149..4150) \"x\"\n ATMOSPHERE: (4150..4151) \" \"\n SYMBOL: (4151..4152)\n IDENTIFIER: (4151..4152) \"x\"\n CLOSE_PAREN: (4152..4153) \")\"\n CLOSE_PAREN: (4153..4154) \")\"\n ATMOSPHERE: (4154..4155) \" \"\n CONSTANT: (4155..4156)\n NUMBER: (4155..4156) \"4\"\n CLOSE_PAREN: (4156..4157) \")\"\n CLOSE_PAREN: (4157..4158) \")\"\n ATMOSPHERE: (4158..4159) \"\n\"\n FORM: (4159..4209)\n OPEN_PAREN: (4159..4160) \"(\"\n SYMBOL: (4160..4166)\n IDENTIFIER: (4160..4166) \"define\"\n ATMOSPHERE: (4166..4167) \" \"\n SYMBOL: (4167..4183)\n IDENTIFIER: (4167..4183) \"reverse-subtract\"\n ATMOSPHERE: (4183..4186) \"\n \"\n FORM: (4186..4208)\n OPEN_PAREN: (4186..4187) \"(\"\n SYMBOL: (4187..4193)\n IDENTIFIER: (4187..4193) \"lambda\"\n ATMOSPHERE: (4193..4194) \" \"\n FORM: (4194..4199)\n OPEN_PAREN: (4194..4195) \"(\"\n SYMBOL: (4195..4196)\n IDENTIFIER: (4195..4196) \"x\"\n ATMOSPHERE: (4196..4197) \" \"\n SYMBOL: (4197..4198)\n IDENTIFIER: (4197..4198) \"y\"\n CLOSE_PAREN: (4198..4199) \")\"\n ATMOSPHERE: (4199..4200) \" \"\n FORM: (4200..4207)\n OPEN_PAREN: (4200..4201) \"(\"\n SYMBOL: (4201..4202)\n IDENTIFIER: (4201..4202) \"-\"\n ATMOSPHERE: (4202..4203) \" \"\n SYMBOL: (4203..4204)\n IDENTIFIER: (4203..4204) \"y\"\n ATMOSPHERE: (4204..4205) \" \"\n SYMBOL: (4205..4206)\n IDENTIFIER: (4205..4206) \"x\"\n CLOSE_PAREN: (4206..4207) \")\"\n CLOSE_PAREN: (4207..4208) \")\"\n CLOSE_PAREN: (4208..4209) \")\"\n ATMOSPHERE: (4209..4210) \"\n\"\n FORM: (4210..4242)\n OPEN_PAREN: (4210..4211) \"(\"\n SYMBOL: (4211..4215)\n IDENTIFIER: (4211..4215) \"test\"\n ATMOSPHERE: (4215..4216) \" \"\n CONSTANT: (4216..4217)\n NUMBER: (4216..4217) \"3\"\n ATMOSPHERE: (4217..4218) \" \"\n FORM: (4218..4241)\n OPEN_PAREN: (4218..4219) \"(\"\n SYMBOL: (4219..4235)\n IDENTIFIER: (4219..4235) \"reverse-subtract\"\n ATMOSPHERE: (4235..4236) \" \"\n CONSTANT: (4236..4237)\n NUMBER: (4236..4237) \"7\"\n ATMOSPHERE: (4237..4238) \" \"\n CONSTANT: (4238..4240)\n NUMBER: (4238..4240) \"10\"\n CLOSE_PAREN: (4240..4241) \")\"\n CLOSE_PAREN: (4241..4242) \")\"\n ATMOSPHERE: (4242..4243) \"\n\"\n FORM: (4243..4297)\n OPEN_PAREN: (4243..4244) \"(\"\n SYMBOL: (4244..4250)\n IDENTIFIER: (4244..4250) \"define\"\n ATMOSPHERE: (4250..4251) \" \"\n SYMBOL: (4251..4255)\n IDENTIFIER: (4251..4255) \"add4\"\n ATMOSPHERE: (4255..4258) \"\n \"\n FORM: (4258..4296)\n OPEN_PAREN: (4258..4259) \"(\"\n SYMBOL: (4259..4262)\n IDENTIFIER: (4259..4262) \"let\"\n ATMOSPHERE: (4262..4263) \" \"\n FORM: (4263..4270)\n OPEN_PAREN: (4263..4264) \"(\"\n FORM: (4264..4269)\n OPEN_PAREN: (4264..4265) \"(\"\n SYMBOL: (4265..4266)\n IDENTIFIER: (4265..4266) \"x\"\n ATMOSPHERE: (4266..4267) \" \"\n CONSTANT: (4267..4268)\n NUMBER: (4267..4268) \"4\"\n CLOSE_PAREN: (4268..4269) \")\"\n CLOSE_PAREN: (4269..4270) \")\"\n ATMOSPHERE: (4270..4275) \"\n \"\n FORM: (4275..4295)\n OPEN_PAREN: (4275..4276) \"(\"\n SYMBOL: (4276..4282)\n IDENTIFIER: (4276..4282) \"lambda\"\n ATMOSPHERE: (4282..4283) \" \"\n FORM: (4283..4286)\n OPEN_PAREN: (4283..4284) \"(\"\n SYMBOL: (4284..4285)\n IDENTIFIER: (4284..4285) \"y\"\n CLOSE_PAREN: (4285..4286) \")\"\n ATMOSPHERE: (4286..4287) \" \"\n FORM: (4287..4294)\n OPEN_PAREN: (4287..4288) \"(\"\n SYMBOL: (4288..4289)\n IDENTIFIER: (4288..4289) \"+\"\n ATMOSPHERE: (4289..4290) \" \"\n SYMBOL: (4290..4291)\n IDENTIFIER: (4290..4291) \"x\"\n ATMOSPHERE: (4291..4292) \" \"\n SYMBOL: (4292..4293)\n IDENTIFIER: (4292..4293) \"y\"\n CLOSE_PAREN: (4293..4294) \")\"\n CLOSE_PAREN: (4294..4295) \")\"\n CLOSE_PAREN: (4295..4296) \")\"\n CLOSE_PAREN: (4296..4297) \")\"\n ATMOSPHERE: (4297..4298) \"\n\"\n FORM: (4298..4316)\n OPEN_PAREN: (4298..4299) \"(\"\n SYMBOL: (4299..4303)\n IDENTIFIER: (4299..4303) \"test\"\n ATMOSPHERE: (4303..4304) \" \"\n CONSTANT: (4304..4306)\n NUMBER: (4304..4306) \"10\"\n ATMOSPHERE: (4306..4307) \" \"\n FORM: (4307..4315)\n OPEN_PAREN: (4307..4308) \"(\"\n SYMBOL: (4308..4312)\n IDENTIFIER: (4308..4312) \"add4\"\n ATMOSPHERE: (4312..4313) \" \"\n CONSTANT: (4313..4314)\n NUMBER: (4313..4314) \"6\"\n CLOSE_PAREN: (4314..4315) \")\"\n CLOSE_PAREN: (4315..4316) \")\"\n ATMOSPHERE: (4316..4318) \"\n\n\"\n FORM: (4318..4358)\n OPEN_PAREN: (4318..4319) \"(\"\n SYMBOL: (4319..4323)\n IDENTIFIER: (4319..4323) \"test\"\n ATMOSPHERE: (4323..4324) \" \"\n QUOTED_DATUM: (4324..4335)\n QUOTE: (4324..4325) \"'\"\n FORM: (4325..4334)\n OPEN_PAREN: (4325..4326) \"(\"\n CONSTANT: (4326..4327)\n NUMBER: (4326..4327) \"3\"\n ATMOSPHERE: (4327..4328) \" \"\n CONSTANT: (4328..4329)\n NUMBER: (4328..4329) \"4\"\n ATMOSPHERE: (4329..4330) \" \"\n CONSTANT: (4330..4331)\n NUMBER: (4330..4331) \"5\"\n ATMOSPHERE: (4331..4332) \" \"\n CONSTANT: (4332..4333)\n NUMBER: (4332..4333) \"6\"\n CLOSE_PAREN: (4333..4334) \")\"\n ATMOSPHERE: (4334..4335) \" \"\n FORM: (4335..4357)\n OPEN_PAREN: (4335..4336) \"(\"\n FORM: (4336..4348)\n OPEN_PAREN: (4336..4337) \"(\"\n SYMBOL: (4337..4343)\n IDENTIFIER: (4337..4343) \"lambda\"\n ATMOSPHERE: (4343..4344) \" \"\n SYMBOL: (4344..4345)\n IDENTIFIER: (4344..4345) \"x\"\n ATMOSPHERE: (4345..4346) \" \"\n SYMBOL: (4346..4347)\n IDENTIFIER: (4346..4347) \"x\"\n CLOSE_PAREN: (4347..4348) \")\"\n ATMOSPHERE: (4348..4349) \" \"\n CONSTANT: (4349..4350)\n NUMBER: (4349..4350) \"3\"\n ATMOSPHERE: (4350..4351) \" \"\n CONSTANT: (4351..4352)\n NUMBER: (4351..4352) \"4\"\n ATMOSPHERE: (4352..4353) \" \"\n CONSTANT: (4353..4354)\n NUMBER: (4353..4354) \"5\"\n ATMOSPHERE: (4354..4355) \" \"\n CONSTANT: (4355..4356)\n NUMBER: (4355..4356) \"6\"\n CLOSE_PAREN: (4356..4357) \")\"\n CLOSE_PAREN: (4357..4358) \")\"\n ATMOSPHERE: (4358..4359) \"\n\"\n FORM: (4359..4404)\n OPEN_PAREN: (4359..4360) \"(\"\n SYMBOL: (4360..4364)\n IDENTIFIER: (4360..4364) \"test\"\n ATMOSPHERE: (4364..4365) \" \"\n QUOTED_DATUM: (4365..4372)\n QUOTE: (4365..4366) \"'\"\n FORM: (4366..4371)\n OPEN_PAREN: (4366..4367) \"(\"\n CONSTANT: (4367..4368)\n NUMBER: (4367..4368) \"5\"\n ATMOSPHERE: (4368..4369) \" \"\n CONSTANT: (4369..4370)\n NUMBER: (4369..4370) \"6\"\n CLOSE_PAREN: (4370..4371) \")\"\n ATMOSPHERE: (4371..4372) \" \"\n FORM: (4372..4403)\n OPEN_PAREN: (4372..4373) \"(\"\n FORM: (4373..4393)\n OPEN_PAREN: (4373..4374) \"(\"\n SYMBOL: (4374..4380)\n IDENTIFIER: (4374..4380) \"lambda\"\n ATMOSPHERE: (4380..4381) \" \"\n FORM: (4381..4390)\n OPEN_PAREN: (4381..4382) \"(\"\n SYMBOL: (4382..4383)\n IDENTIFIER: (4382..4383) \"x\"\n ATMOSPHERE: (4383..4384) \" \"\n SYMBOL: (4384..4385)\n IDENTIFIER: (4384..4385) \"y\"\n ATMOSPHERE: (4385..4386) \" \"\n DOTTED_TAIL: (4386..4389)\n DOT: (4386..4387) \".\"\n ATMOSPHERE: (4387..4388) \" \"\n SYMBOL: (4388..4389)\n IDENTIFIER: (4388..4389) \"z\"\n CLOSE_PAREN: (4389..4390) \")\"\n ATMOSPHERE: (4390..4391) \" \"\n SYMBOL: (4391..4392)\n IDENTIFIER: (4391..4392) \"z\"\n CLOSE_PAREN: (4392..4393) \")\"\n ATMOSPHERE: (4393..4395) \"\n \"\n CONSTANT: (4395..4396)\n NUMBER: (4395..4396) \"3\"\n ATMOSPHERE: (4396..4397) \" \"\n CONSTANT: (4397..4398)\n NUMBER: (4397..4398) \"4\"\n ATMOSPHERE: (4398..4399) \" \"\n CONSTANT: (4399..4400)\n NUMBER: (4399..4400) \"5\"\n ATMOSPHERE: (4400..4401) \" \"\n CONSTANT: (4401..4402)\n NUMBER: (4401..4402) \"6\"\n CLOSE_PAREN: (4402..4403) \")\"\n CLOSE_PAREN: (4403..4404) \")\"\n ATMOSPHERE: (4404..4406) \"\n\n\"\n FORM: (4406..4439)\n OPEN_PAREN: (4406..4407) \"(\"\n SYMBOL: (4407..4411)\n IDENTIFIER: (4407..4411) \"test\"\n ATMOSPHERE: (4411..4412) \" \"\n QUOTED_DATUM: (4412..4417)\n QUOTE: (4412..4413) \"'\"\n SYMBOL: (4413..4416)\n IDENTIFIER: (4413..4416) \"yes\"\n ATMOSPHERE: (4416..4417) \" \"\n FORM: (4417..4438)\n OPEN_PAREN: (4417..4418) \"(\"\n SYMBOL: (4418..4420)\n IDENTIFIER: (4418..4420) \"if\"\n ATMOSPHERE: (4420..4421) \" \"\n FORM: (4421..4428)\n OPEN_PAREN: (4421..4422) \"(\"\n SYMBOL: (4422..4423)\n IDENTIFIER: (4422..4423) \">\"\n ATMOSPHERE: (4423..4424) \" \"\n CONSTANT: (4424..4425)\n NUMBER: (4424..4425) \"3\"\n ATMOSPHERE: (4425..4426) \" \"\n CONSTANT: (4426..4427)\n NUMBER: (4426..4427) \"2\"\n CLOSE_PAREN: (4427..4428) \")\"\n ATMOSPHERE: (4428..4429) \" \"\n QUOTED_DATUM: (4429..4434)\n QUOTE: (4429..4430) \"'\"\n SYMBOL: (4430..4433)\n IDENTIFIER: (4430..4433) \"yes\"\n ATMOSPHERE: (4433..4434) \" \"\n QUOTED_DATUM: (4434..4437)\n QUOTE: (4434..4435) \"'\"\n SYMBOL: (4435..4437)\n IDENTIFIER: (4435..4437) \"no\"\n CLOSE_PAREN: (4437..4438) \")\"\n CLOSE_PAREN: (4438..4439) \")\"\n ATMOSPHERE: (4439..4440) \"\n\"\n FORM: (4440..4472)\n OPEN_PAREN: (4440..4441) \"(\"\n SYMBOL: (4441..4445)\n IDENTIFIER: (4441..4445) \"test\"\n ATMOSPHERE: (4445..4446) \" \"\n QUOTED_DATUM: (4446..4450)\n QUOTE: (4446..4447) \"'\"\n SYMBOL: (4447..4449)\n IDENTIFIER: (4447..4449) \"no\"\n ATMOSPHERE: (4449..4450) \" \"\n FORM: (4450..4471)\n OPEN_PAREN: (4450..4451) \"(\"\n SYMBOL: (4451..4453)\n IDENTIFIER: (4451..4453) \"if\"\n ATMOSPHERE: (4453..4454) \" \"\n FORM: (4454..4461)\n OPEN_PAREN: (4454..4455) \"(\"\n SYMBOL: (4455..4456)\n IDENTIFIER: (4455..4456) \">\"\n ATMOSPHERE: (4456..4457) \" \"\n CONSTANT: (4457..4458)\n NUMBER: (4457..4458) \"2\"\n ATMOSPHERE: (4458..4459) \" \"\n CONSTANT: (4459..4460)\n NUMBER: (4459..4460) \"3\"\n CLOSE_PAREN: (4460..4461) \")\"\n ATMOSPHERE: (4461..4462) \" \"\n QUOTED_DATUM: (4462..4467)\n QUOTE: (4462..4463) \"'\"\n SYMBOL: (4463..4466)\n IDENTIFIER: (4463..4466) \"yes\"\n ATMOSPHERE: (4466..4467) \" \"\n QUOTED_DATUM: (4467..4470)\n QUOTE: (4467..4468) \"'\"\n SYMBOL: (4468..4470)\n IDENTIFIER: (4468..4470) \"no\"\n CLOSE_PAREN: (4470..4471) \")\"\n CLOSE_PAREN: (4471..4472) \")\"\n ATMOSPHERE: (4472..4473) \"\n\"\n FORM: (4473..4518)\n OPEN_PAREN: (4473..4474) \"(\"\n SYMBOL: (4474..4478)\n IDENTIFIER: (4474..4478) \"test\"\n ATMOSPHERE: (4478..4479) \" \"\n CONSTANT: (4479..4480)\n NUMBER: (4479..4480) \"1\"\n ATMOSPHERE: (4480..4481) \" \"\n FORM: (4481..4517)\n OPEN_PAREN: (4481..4482) \"(\"\n SYMBOL: (4482..4484)\n IDENTIFIER: (4482..4484) \"if\"\n ATMOSPHERE: (4484..4485) \" \"\n FORM: (4485..4492)\n OPEN_PAREN: (4485..4486) \"(\"\n SYMBOL: (4486..4487)\n IDENTIFIER: (4486..4487) \">\"\n ATMOSPHERE: (4487..4488) \" \"\n CONSTANT: (4488..4489)\n NUMBER: (4488..4489) \"3\"\n ATMOSPHERE: (4489..4490) \" \"\n CONSTANT: (4490..4491)\n NUMBER: (4490..4491) \"2\"\n CLOSE_PAREN: (4491..4492) \")\"\n ATMOSPHERE: (4492..4497) \"\n \"\n FORM: (4497..4504)\n OPEN_PAREN: (4497..4498) \"(\"\n SYMBOL: (4498..4499)\n IDENTIFIER: (4498..4499) \"-\"\n ATMOSPHERE: (4499..4500) \" \"\n CONSTANT: (4500..4501)\n NUMBER: (4500..4501) \"3\"\n ATMOSPHERE: (4501..4502) \" \"\n CONSTANT: (4502..4503)\n NUMBER: (4502..4503) \"2\"\n CLOSE_PAREN: (4503..4504) \")\"\n ATMOSPHERE: (4504..4509) \"\n \"\n FORM: (4509..4516)\n OPEN_PAREN: (4509..4510) \"(\"\n SYMBOL: (4510..4511)\n IDENTIFIER: (4510..4511) \"+\"\n ATMOSPHERE: (4511..4512) \" \"\n CONSTANT: (4512..4513)\n NUMBER: (4512..4513) \"3\"\n ATMOSPHERE: (4513..4514) \" \"\n CONSTANT: (4514..4515)\n NUMBER: (4514..4515) \"2\"\n CLOSE_PAREN: (4515..4516) \")\"\n CLOSE_PAREN: (4516..4517) \")\"\n CLOSE_PAREN: (4517..4518) \")\"\n ATMOSPHERE: (4518..4519) \"\n\"\n FORM: (4519..4561)\n OPEN_PAREN: (4519..4520) \"(\"\n SYMBOL: (4520..4523)\n IDENTIFIER: (4520..4523) \"let\"\n ATMOSPHERE: (4523..4524) \" \"\n FORM: (4524..4526)\n OPEN_PAREN: (4524..4525) \"(\"\n CLOSE_PAREN: (4525..4526) \")\"\n ATMOSPHERE: (4526..4529) \"\n \"\n FORM: (4529..4541)\n OPEN_PAREN: (4529..4530) \"(\"\n SYMBOL: (4530..4536)\n IDENTIFIER: (4530..4536) \"define\"\n ATMOSPHERE: (4536..4537) \" \"\n SYMBOL: (4537..4538)\n IDENTIFIER: (4537..4538) \"x\"\n ATMOSPHERE: (4538..4539) \" \"\n CONSTANT: (4539..4540)\n NUMBER: (4539..4540) \"2\"\n CLOSE_PAREN: (4540..4541) \")\"\n ATMOSPHERE: (4541..4544) \"\n \"\n FORM: (4544..4560)\n OPEN_PAREN: (4544..4545) \"(\"\n SYMBOL: (4545..4549)\n IDENTIFIER: (4545..4549) \"test\"\n ATMOSPHERE: (4549..4550) \" \"\n CONSTANT: (4550..4551)\n NUMBER: (4550..4551) \"3\"\n ATMOSPHERE: (4551..4552) \" \"\n FORM: (4552..4559)\n OPEN_PAREN: (4552..4553) \"(\"\n SYMBOL: (4553..4554)\n IDENTIFIER: (4553..4554) \"+\"\n ATMOSPHERE: (4554..4555) \" \"\n SYMBOL: (4555..4556)\n IDENTIFIER: (4555..4556) \"x\"\n ATMOSPHERE: (4556..4557) \" \"\n CONSTANT: (4557..4558)\n NUMBER: (4557..4558) \"1\"\n CLOSE_PAREN: (4558..4559) \")\"\n CLOSE_PAREN: (4559..4560) \")\"\n CLOSE_PAREN: (4560..4561) \")\"\n ATMOSPHERE: (4561..4563) \"\n\n\"\n FORM: (4563..4573)\n OPEN_PAREN: (4563..4564) \"(\"\n SYMBOL: (4564..4572)\n IDENTIFIER: (4564..4572) \"test-end\"\n CLOSE_PAREN: (4572..4573) \")\"\n ATMOSPHERE: (4573..4575) \"\n\n\"\n FORM: (4575..4618)\n OPEN_PAREN: (4575..4576) \"(\"\n SYMBOL: (4576..4586)\n IDENTIFIER: (4576..4586) \"test-begin\"\n ATMOSPHERE: (4586..4587) \" \"\n CONSTANT: (4587..4617)\n STRING: (4587..4617) \"\"4.2 Derived expression types\"\"\n CLOSE_PAREN: (4617..4618) \")\"\n ATMOSPHERE: (4618..4620) \"\n\n\"\n ATMOSPHERE: (4620..4664) \";;;;; FIXME: No `cond` or `case` support yet\"\n ATMOSPHERE: (4664..4665) \"\n\"\n FORM: (4665..4736)\n OPEN_PAREN: (4665..4666) \"(\"\n SYMBOL: (4666..4670)\n IDENTIFIER: (4666..4670) \"test\"\n ATMOSPHERE: (4670..4671) \" \"\n QUOTED_DATUM: (4671..4684)\n QUOTE: (4671..4672) \"'\"\n SYMBOL: (4672..4679)\n IDENTIFIER: (4672..4679) \"greater\"\n ATMOSPHERE: (4679..4684) \"\n \"\n FORM: (4684..4735)\n OPEN_PAREN: (4684..4685) \"(\"\n SYMBOL: (4685..4689)\n IDENTIFIER: (4685..4689) \"cond\"\n ATMOSPHERE: (4689..4690) \" \"\n FORM: (4690..4708)\n OPEN_PAREN: (4690..4691) \"(\"\n FORM: (4691..4698)\n OPEN_PAREN: (4691..4692) \"(\"\n SYMBOL: (4692..4693)\n IDENTIFIER: (4692..4693) \">\"\n ATMOSPHERE: (4693..4694) \" \"\n CONSTANT: (4694..4695)\n NUMBER: (4694..4695) \"3\"\n ATMOSPHERE: (4695..4696) \" \"\n CONSTANT: (4696..4697)\n NUMBER: (4696..4697) \"2\"\n CLOSE_PAREN: (4697..4698) \")\"\n ATMOSPHERE: (4698..4699) \" \"\n QUOTED_DATUM: (4699..4707)\n QUOTE: (4699..4700) \"'\"\n SYMBOL: (4700..4707)\n IDENTIFIER: (4700..4707) \"greater\"\n CLOSE_PAREN: (4707..4708) \")\"\n ATMOSPHERE: (4708..4719) \"\n \"\n FORM: (4719..4734)\n OPEN_PAREN: (4719..4720) \"(\"\n FORM: (4720..4727)\n OPEN_PAREN: (4720..4721) \"(\"\n SYMBOL: (4721..4722)\n IDENTIFIER: (4721..4722) \"<\"\n ATMOSPHERE: (4722..4723) \" \"\n CONSTANT: (4723..4724)\n NUMBER: (4723..4724) \"3\"\n ATMOSPHERE: (4724..4725) \" \"\n CONSTANT: (4725..4726)\n NUMBER: (4725..4726) \"2\"\n CLOSE_PAREN: (4726..4727) \")\"\n ATMOSPHERE: (4727..4728) \" \"\n QUOTED_DATUM: (4728..4733)\n QUOTE: (4728..4729) \"'\"\n SYMBOL: (4729..4733)\n IDENTIFIER: (4729..4733) \"less\"\n CLOSE_PAREN: (4733..4734) \")\"\n CLOSE_PAREN: (4734..4735) \")\"\n CLOSE_PAREN: (4735..4736) \")\"\n ATMOSPHERE: (4736..4738) \"\n\n\"\n FORM: (4738..4831)\n OPEN_PAREN: (4738..4739) \"(\"\n SYMBOL: (4739..4743)\n IDENTIFIER: (4739..4743) \"test\"\n ATMOSPHERE: (4743..4744) \" \"\n QUOTED_DATUM: (4744..4755)\n QUOTE: (4744..4745) \"'\"\n SYMBOL: (4745..4750)\n IDENTIFIER: (4745..4750) \"equal\"\n ATMOSPHERE: (4750..4755) \"\n \"\n FORM: (4755..4830)\n OPEN_PAREN: (4755..4756) \"(\"\n SYMBOL: (4756..4760)\n IDENTIFIER: (4756..4760) \"cond\"\n ATMOSPHERE: (4760..4761) \" \"\n FORM: (4761..4779)\n OPEN_PAREN: (4761..4762) \"(\"\n FORM: (4762..4769)\n OPEN_PAREN: (4762..4763) \"(\"\n SYMBOL: (4763..4764)\n IDENTIFIER: (4763..4764) \">\"\n ATMOSPHERE: (4764..4765) \" \"\n CONSTANT: (4765..4766)\n NUMBER: (4765..4766) \"3\"\n ATMOSPHERE: (4766..4767) \" \"\n CONSTANT: (4767..4768)\n NUMBER: (4767..4768) \"3\"\n CLOSE_PAREN: (4768..4769) \")\"\n ATMOSPHERE: (4769..4770) \" \"\n QUOTED_DATUM: (4770..4778)\n QUOTE: (4770..4771) \"'\"\n SYMBOL: (4771..4778)\n IDENTIFIER: (4771..4778) \"greater\"\n CLOSE_PAREN: (4778..4779) \")\"\n ATMOSPHERE: (4779..4790) \"\n \"\n FORM: (4790..4805)\n OPEN_PAREN: (4790..4791) \"(\"\n FORM: (4791..4798)\n OPEN_PAREN: (4791..4792) \"(\"\n SYMBOL: (4792..4793)\n IDENTIFIER: (4792..4793) \"<\"\n ATMOSPHERE: (4793..4794) \" \"\n CONSTANT: (4794..4795)\n NUMBER: (4794..4795) \"3\"\n ATMOSPHERE: (4795..4796) \" \"\n CONSTANT: (4796..4797)\n NUMBER: (4796..4797) \"3\"\n CLOSE_PAREN: (4797..4798) \")\"\n ATMOSPHERE: (4798..4799) \" \"\n QUOTED_DATUM: (4799..4804)\n QUOTE: (4799..4800) \"'\"\n SYMBOL: (4800..4804)\n IDENTIFIER: (4800..4804) \"less\"\n CLOSE_PAREN: (4804..4805) \")\"\n ATMOSPHERE: (4805..4816) \"\n \"\n FORM: (4816..4829)\n OPEN_PAREN: (4816..4817) \"(\"\n SYMBOL: (4817..4821)\n IDENTIFIER: (4817..4821) \"else\"\n ATMOSPHERE: (4821..4822) \" \"\n QUOTED_DATUM: (4822..4828)\n QUOTE: (4822..4823) \"'\"\n SYMBOL: (4823..4828)\n IDENTIFIER: (4823..4828) \"equal\"\n CLOSE_PAREN: (4828..4829) \")\"\n CLOSE_PAREN: (4829..4830) \")\"\n CLOSE_PAREN: (4830..4831) \")\"\n ATMOSPHERE: (4831..4833) \"\n\n\"\n ATMOSPHERE: (4833..4843) \";; (test 2\"\n ATMOSPHERE: (4843..4844) \"\n\"\n ATMOSPHERE: (4844..4891) \";; (cond ((assv 'b '((a 1) (b 2))) => cadr)\"\n ATMOSPHERE: (4891..4892) \"\n\"\n ATMOSPHERE: (4892..4916) \";; (else #f)))\"\n ATMOSPHERE: (4916..4918) \"\n\n\"\n ATMOSPHERE: (4918..4937) \";; (test 'composite\"\n ATMOSPHERE: (4937..4938) \"\n\"\n ATMOSPHERE: (4938..4958) \";; (case (* 2 3)\"\n ATMOSPHERE: (4958..4959) \"\n\"\n ATMOSPHERE: (4959..4986) \";; ((2 3 5 7) 'prime)\"\n ATMOSPHERE: (4986..4987) \"\n\"\n ATMOSPHERE: (4987..5022) \";; ((1 4 6 8 9) 'composite)))\"\n ATMOSPHERE: (5022..5024) \"\n\n\"\n ATMOSPHERE: (5024..5035) \";; (test 'c\"\n ATMOSPHERE: (5035..5036) \"\n\"\n ATMOSPHERE: (5036..5061) \";; (case (car '(c d))\"\n ATMOSPHERE: (5061..5062) \"\n\"\n ATMOSPHERE: (5062..5091) \";; ((a e i o u) 'vowel)\"\n ATMOSPHERE: (5091..5092) \"\n\"\n ATMOSPHERE: (5092..5119) \";; ((w y) 'semivowel)\"\n ATMOSPHERE: (5119..5120) \"\n\"\n ATMOSPHERE: (5120..5155) \";; (else => (lambda (x) x))))\"\n ATMOSPHERE: (5155..5157) \"\n\n\"\n ATMOSPHERE: (5157..5207) \";; (test '((other . z) (semivowel . y) (other . x)\"\n ATMOSPHERE: (5207..5208) \"\n\"\n ATMOSPHERE: (5208..5247) \";; (semivowel . w) (vowel . u))\"\n ATMOSPHERE: (5247..5248) \"\n\"\n ATMOSPHERE: (5248..5271) \";; (map (lambda (x)\"\n ATMOSPHERE: (5271..5272) \"\n\"\n ATMOSPHERE: (5272..5293) \";; (case x\"\n ATMOSPHERE: (5293..5294) \"\n\"\n ATMOSPHERE: (5294..5355) \";; ((a e i o u) => (lambda (w) (cons 'vowel w)))\"\n ATMOSPHERE: (5355..5356) \"\n\"\n ATMOSPHERE: (5356..5399) \";; ((w y) (cons 'semivowel x))\"\n ATMOSPHERE: (5399..5400) \"\n\"\n ATMOSPHERE: (5400..5456) \";; (else => (lambda (w) (cons 'other w)))))\"\n ATMOSPHERE: (5456..5457) \"\n\"\n ATMOSPHERE: (5457..5483) \";; '(z y x w u)))\"\n ATMOSPHERE: (5483..5485) \"\n\n\"\n FORM: (5485..5516)\n OPEN_PAREN: (5485..5486) \"(\"\n SYMBOL: (5486..5490)\n IDENTIFIER: (5486..5490) \"test\"\n ATMOSPHERE: (5490..5491) \" \"\n CONSTANT: (5491..5493)\n BOOLEAN: (5491..5493) \"#t\"\n ATMOSPHERE: (5493..5494) \" \"\n FORM: (5494..5515)\n OPEN_PAREN: (5494..5495) \"(\"\n SYMBOL: (5495..5498)\n IDENTIFIER: (5495..5498) \"and\"\n ATMOSPHERE: (5498..5499) \" \"\n FORM: (5499..5506)\n OPEN_PAREN: (5499..5500) \"(\"\n SYMBOL: (5500..5501)\n IDENTIFIER: (5500..5501) \"=\"\n ATMOSPHERE: (5501..5502) \" \"\n CONSTANT: (5502..5503)\n NUMBER: (5502..5503) \"2\"\n ATMOSPHERE: (5503..5504) \" \"\n CONSTANT: (5504..5505)\n NUMBER: (5504..5505) \"2\"\n CLOSE_PAREN: (5505..5506) \")\"\n ATMOSPHERE: (5506..5507) \" \"\n FORM: (5507..5514)\n OPEN_PAREN: (5507..5508) \"(\"\n SYMBOL: (5508..5509)\n IDENTIFIER: (5508..5509) \">\"\n ATMOSPHERE: (5509..5510) \" \"\n CONSTANT: (5510..5511)\n NUMBER: (5510..5511) \"2\"\n ATMOSPHERE: (5511..5512) \" \"\n CONSTANT: (5512..5513)\n NUMBER: (5512..5513) \"1\"\n CLOSE_PAREN: (5513..5514) \")\"\n CLOSE_PAREN: (5514..5515) \")\"\n CLOSE_PAREN: (5515..5516) \")\"\n ATMOSPHERE: (5516..5517) \"\n\"\n FORM: (5517..5548)\n OPEN_PAREN: (5517..5518) \"(\"\n SYMBOL: (5518..5522)\n IDENTIFIER: (5518..5522) \"test\"\n ATMOSPHERE: (5522..5523) \" \"\n CONSTANT: (5523..5525)\n BOOLEAN: (5523..5525) \"#f\"\n ATMOSPHERE: (5525..5526) \" \"\n FORM: (5526..5547)\n OPEN_PAREN: (5526..5527) \"(\"\n SYMBOL: (5527..5530)\n IDENTIFIER: (5527..5530) \"and\"\n ATMOSPHERE: (5530..5531) \" \"\n FORM: (5531..5538)\n OPEN_PAREN: (5531..5532) \"(\"\n SYMBOL: (5532..5533)\n IDENTIFIER: (5532..5533) \"=\"\n ATMOSPHERE: (5533..5534) \" \"\n CONSTANT: (5534..5535)\n NUMBER: (5534..5535) \"2\"\n ATMOSPHERE: (5535..5536) \" \"\n CONSTANT: (5536..5537)\n NUMBER: (5536..5537) \"2\"\n CLOSE_PAREN: (5537..5538) \")\"\n ATMOSPHERE: (5538..5539) \" \"\n FORM: (5539..5546)\n OPEN_PAREN: (5539..5540) \"(\"\n SYMBOL: (5540..5541)\n IDENTIFIER: (5540..5541) \"<\"\n ATMOSPHERE: (5541..5542) \" \"\n CONSTANT: (5542..5543)\n NUMBER: (5542..5543) \"2\"\n ATMOSPHERE: (5543..5544) \" \"\n CONSTANT: (5544..5545)\n NUMBER: (5544..5545) \"1\"\n CLOSE_PAREN: (5545..5546) \")\"\n CLOSE_PAREN: (5546..5547) \")\"\n CLOSE_PAREN: (5547..5548) \")\"\n ATMOSPHERE: (5548..5549) \"\n\"\n FORM: (5549..5582)\n OPEN_PAREN: (5549..5550) \"(\"\n SYMBOL: (5550..5554)\n IDENTIFIER: (5550..5554) \"test\"\n ATMOSPHERE: (5554..5555) \" \"\n QUOTED_DATUM: (5555..5562)\n QUOTE: (5555..5556) \"'\"\n FORM: (5556..5561)\n OPEN_PAREN: (5556..5557) \"(\"\n SYMBOL: (5557..5558)\n IDENTIFIER: (5557..5558) \"f\"\n ATMOSPHERE: (5558..5559) \" \"\n SYMBOL: (5559..5560)\n IDENTIFIER: (5559..5560) \"g\"\n CLOSE_PAREN: (5560..5561) \")\"\n ATMOSPHERE: (5561..5562) \" \"\n FORM: (5562..5581)\n OPEN_PAREN: (5562..5563) \"(\"\n SYMBOL: (5563..5566)\n IDENTIFIER: (5563..5566) \"and\"\n ATMOSPHERE: (5566..5567) \" \"\n CONSTANT: (5567..5568)\n NUMBER: (5567..5568) \"1\"\n ATMOSPHERE: (5568..5569) \" \"\n CONSTANT: (5569..5570)\n NUMBER: (5569..5570) \"2\"\n ATMOSPHERE: (5570..5571) \" \"\n QUOTED_DATUM: (5571..5574)\n QUOTE: (5571..5572) \"'\"\n SYMBOL: (5572..5573)\n IDENTIFIER: (5572..5573) \"c\"\n ATMOSPHERE: (5573..5574) \" \"\n QUOTED_DATUM: (5574..5580)\n QUOTE: (5574..5575) \"'\"\n FORM: (5575..5580)\n OPEN_PAREN: (5575..5576) \"(\"\n SYMBOL: (5576..5577)\n IDENTIFIER: (5576..5577) \"f\"\n ATMOSPHERE: (5577..5578) \" \"\n SYMBOL: (5578..5579)\n IDENTIFIER: (5578..5579) \"g\"\n CLOSE_PAREN: (5579..5580) \")\"\n CLOSE_PAREN: (5580..5581) \")\"\n CLOSE_PAREN: (5581..5582) \")\"\n ATMOSPHERE: (5582..5583) \"\n\"\n FORM: (5583..5598)\n OPEN_PAREN: (5583..5584) \"(\"\n SYMBOL: (5584..5588)\n IDENTIFIER: (5584..5588) \"test\"\n ATMOSPHERE: (5588..5589) \" \"\n CONSTANT: (5589..5591)\n BOOLEAN: (5589..5591) \"#t\"\n ATMOSPHERE: (5591..5592) \" \"\n FORM: (5592..5597)\n OPEN_PAREN: (5592..5593) \"(\"\n SYMBOL: (5593..5596)\n IDENTIFIER: (5593..5596) \"and\"\n CLOSE_PAREN: (5596..5597) \")\"\n CLOSE_PAREN: (5597..5598) \")\"\n ATMOSPHERE: (5598..5600) \"\n\n\"\n FORM: (5600..5630)\n OPEN_PAREN: (5600..5601) \"(\"\n SYMBOL: (5601..5605)\n IDENTIFIER: (5601..5605) \"test\"\n ATMOSPHERE: (5605..5606) \" \"\n CONSTANT: (5606..5608)\n BOOLEAN: (5606..5608) \"#t\"\n ATMOSPHERE: (5608..5609) \" \"\n FORM: (5609..5629)\n OPEN_PAREN: (5609..5610) \"(\"\n SYMBOL: (5610..5612)\n IDENTIFIER: (5610..5612) \"or\"\n ATMOSPHERE: (5612..5613) \" \"\n FORM: (5613..5620)\n OPEN_PAREN: (5613..5614) \"(\"\n SYMBOL: (5614..5615)\n IDENTIFIER: (5614..5615) \"=\"\n ATMOSPHERE: (5615..5616) \" \"\n CONSTANT: (5616..5617)\n NUMBER: (5616..5617) \"2\"\n ATMOSPHERE: (5617..5618) \" \"\n CONSTANT: (5618..5619)\n NUMBER: (5618..5619) \"2\"\n CLOSE_PAREN: (5619..5620) \")\"\n ATMOSPHERE: (5620..5621) \" \"\n FORM: (5621..5628)\n OPEN_PAREN: (5621..5622) \"(\"\n SYMBOL: (5622..5623)\n IDENTIFIER: (5622..5623) \">\"\n ATMOSPHERE: (5623..5624) \" \"\n CONSTANT: (5624..5625)\n NUMBER: (5624..5625) \"2\"\n ATMOSPHERE: (5625..5626) \" \"\n CONSTANT: (5626..5627)\n NUMBER: (5626..5627) \"1\"\n CLOSE_PAREN: (5627..5628) \")\"\n CLOSE_PAREN: (5628..5629) \")\"\n CLOSE_PAREN: (5629..5630) \")\"\n ATMOSPHERE: (5630..5631) \"\n\"\n FORM: (5631..5661)\n OPEN_PAREN: (5631..5632) \"(\"\n SYMBOL: (5632..5636)\n IDENTIFIER: (5632..5636) \"test\"\n ATMOSPHERE: (5636..5637) \" \"\n CONSTANT: (5637..5639)\n BOOLEAN: (5637..5639) \"#t\"\n ATMOSPHERE: (5639..5640) \" \"\n FORM: (5640..5660)\n OPEN_PAREN: (5640..5641) \"(\"\n SYMBOL: (5641..5643)\n IDENTIFIER: (5641..5643) \"or\"\n ATMOSPHERE: (5643..5644) \" \"\n FORM: (5644..5651)\n OPEN_PAREN: (5644..5645) \"(\"\n SYMBOL: (5645..5646)\n IDENTIFIER: (5645..5646) \"=\"\n ATMOSPHERE: (5646..5647) \" \"\n CONSTANT: (5647..5648)\n NUMBER: (5647..5648) \"2\"\n ATMOSPHERE: (5648..5649) \" \"\n CONSTANT: (5649..5650)\n NUMBER: (5649..5650) \"2\"\n CLOSE_PAREN: (5650..5651) \")\"\n ATMOSPHERE: (5651..5652) \" \"\n FORM: (5652..5659)\n OPEN_PAREN: (5652..5653) \"(\"\n SYMBOL: (5653..5654)\n IDENTIFIER: (5653..5654) \"<\"\n ATMOSPHERE: (5654..5655) \" \"\n CONSTANT: (5655..5656)\n NUMBER: (5655..5656) \"2\"\n ATMOSPHERE: (5656..5657) \" \"\n CONSTANT: (5657..5658)\n NUMBER: (5657..5658) \"1\"\n CLOSE_PAREN: (5658..5659) \")\"\n CLOSE_PAREN: (5659..5660) \")\"\n CLOSE_PAREN: (5660..5661) \")\"\n ATMOSPHERE: (5661..5662) \"\n\"\n FORM: (5662..5685)\n OPEN_PAREN: (5662..5663) \"(\"\n SYMBOL: (5663..5667)\n IDENTIFIER: (5663..5667) \"test\"\n ATMOSPHERE: (5667..5668) \" \"\n CONSTANT: (5668..5670)\n BOOLEAN: (5668..5670) \"#f\"\n ATMOSPHERE: (5670..5671) \" \"\n FORM: (5671..5684)\n OPEN_PAREN: (5671..5672) \"(\"\n SYMBOL: (5672..5674)\n IDENTIFIER: (5672..5674) \"or\"\n ATMOSPHERE: (5674..5675) \" \"\n CONSTANT: (5675..5677)\n BOOLEAN: (5675..5677) \"#f\"\n ATMOSPHERE: (5677..5678) \" \"\n CONSTANT: (5678..5680)\n BOOLEAN: (5678..5680) \"#f\"\n ATMOSPHERE: (5680..5681) \" \"\n CONSTANT: (5681..5683)\n BOOLEAN: (5681..5683) \"#f\"\n CLOSE_PAREN: (5683..5684) \")\"\n CLOSE_PAREN: (5684..5685) \")\"\n ATMOSPHERE: (5685..5686) \"\n\"\n FORM: (5686..5759)\n OPEN_PAREN: (5686..5687) \"(\"\n SYMBOL: (5687..5691)\n IDENTIFIER: (5687..5691) \"test\"\n ATMOSPHERE: (5691..5692) \" \"\n QUOTED_DATUM: (5692..5699)\n QUOTE: (5692..5693) \"'\"\n FORM: (5693..5698)\n OPEN_PAREN: (5693..5694) \"(\"\n SYMBOL: (5694..5695)\n IDENTIFIER: (5694..5695) \"b\"\n ATMOSPHERE: (5695..5696) \" \"\n SYMBOL: (5696..5697)\n IDENTIFIER: (5696..5697) \"c\"\n CLOSE_PAREN: (5697..5698) \")\"\n ATMOSPHERE: (5698..5699) \" \"\n FORM: (5699..5758)\n OPEN_PAREN: (5699..5700) \"(\"\n SYMBOL: (5700..5702)\n IDENTIFIER: (5700..5702) \"or\"\n ATMOSPHERE: (5702..5703) \" \"\n FORM: (5703..5721)\n OPEN_PAREN: (5703..5704) \"(\"\n SYMBOL: (5704..5708)\n IDENTIFIER: (5704..5708) \"memq\"\n ATMOSPHERE: (5708..5709) \" \"\n QUOTED_DATUM: (5709..5712)\n QUOTE: (5709..5710) \"'\"\n SYMBOL: (5710..5711)\n IDENTIFIER: (5710..5711) \"b\"\n ATMOSPHERE: (5711..5712) \" \"\n QUOTED_DATUM: (5712..5720)\n QUOTE: (5712..5713) \"'\"\n FORM: (5713..5720)\n OPEN_PAREN: (5713..5714) \"(\"\n SYMBOL: (5714..5715)\n IDENTIFIER: (5714..5715) \"a\"\n ATMOSPHERE: (5715..5716) \" \"\n SYMBOL: (5716..5717)\n IDENTIFIER: (5716..5717) \"b\"\n ATMOSPHERE: (5717..5718) \" \"\n SYMBOL: (5718..5719)\n IDENTIFIER: (5718..5719) \"c\"\n CLOSE_PAREN: (5719..5720) \")\"\n CLOSE_PAREN: (5720..5721) \")\"\n ATMOSPHERE: (5721..5722) \" \"\n ATMOSPHERE: (5722..5745) \";; FIXME: No `memq` yet\"\n ATMOSPHERE: (5745..5750) \"\n \"\n FORM: (5750..5757)\n OPEN_PAREN: (5750..5751) \"(\"\n SYMBOL: (5751..5752)\n IDENTIFIER: (5751..5752) \"/\"\n ATMOSPHERE: (5752..5753) \" \"\n CONSTANT: (5753..5754)\n NUMBER: (5753..5754) \"3\"\n ATMOSPHERE: (5754..5755) \" \"\n CONSTANT: (5755..5756)\n NUMBER: (5755..5756) \"0\"\n CLOSE_PAREN: (5756..5757) \")\"\n CLOSE_PAREN: (5757..5758) \")\"\n CLOSE_PAREN: (5758..5759) \")\"\n ATMOSPHERE: (5759..5761) \"\n\n\"\n FORM: (5761..5799)\n OPEN_PAREN: (5761..5762) \"(\"\n SYMBOL: (5762..5766)\n IDENTIFIER: (5762..5766) \"test\"\n ATMOSPHERE: (5766..5767) \" \"\n CONSTANT: (5767..5768)\n NUMBER: (5767..5768) \"6\"\n ATMOSPHERE: (5768..5769) \" \"\n FORM: (5769..5798)\n OPEN_PAREN: (5769..5770) \"(\"\n SYMBOL: (5770..5773)\n IDENTIFIER: (5770..5773) \"let\"\n ATMOSPHERE: (5773..5774) \" \"\n FORM: (5774..5787)\n OPEN_PAREN: (5774..5775) \"(\"\n FORM: (5775..5780)\n OPEN_PAREN: (5775..5776) \"(\"\n SYMBOL: (5776..5777)\n IDENTIFIER: (5776..5777) \"x\"\n ATMOSPHERE: (5777..5778) \" \"\n CONSTANT: (5778..5779)\n NUMBER: (5778..5779) \"2\"\n CLOSE_PAREN: (5779..5780) \")\"\n ATMOSPHERE: (5780..5781) \" \"\n FORM: (5781..5786)\n OPEN_PAREN: (5781..5782) \"(\"\n SYMBOL: (5782..5783)\n IDENTIFIER: (5782..5783) \"y\"\n ATMOSPHERE: (5783..5784) \" \"\n CONSTANT: (5784..5785)\n NUMBER: (5784..5785) \"3\"\n CLOSE_PAREN: (5785..5786) \")\"\n CLOSE_PAREN: (5786..5787) \")\"\n ATMOSPHERE: (5787..5790) \"\n \"\n FORM: (5790..5797)\n OPEN_PAREN: (5790..5791) \"(\"\n SYMBOL: (5791..5792)\n IDENTIFIER: (5791..5792) \"*\"\n ATMOSPHERE: (5792..5793) \" \"\n SYMBOL: (5793..5794)\n IDENTIFIER: (5793..5794) \"x\"\n ATMOSPHERE: (5794..5795) \" \"\n SYMBOL: (5795..5796)\n IDENTIFIER: (5795..5796) \"y\"\n CLOSE_PAREN: (5796..5797) \")\"\n CLOSE_PAREN: (5797..5798) \")\"\n CLOSE_PAREN: (5798..5799) \")\"\n ATMOSPHERE: (5799..5801) \"\n\n\"\n FORM: (5801..5878)\n OPEN_PAREN: (5801..5802) \"(\"\n SYMBOL: (5802..5806)\n IDENTIFIER: (5802..5806) \"test\"\n ATMOSPHERE: (5806..5807) \" \"\n CONSTANT: (5807..5809)\n NUMBER: (5807..5809) \"35\"\n ATMOSPHERE: (5809..5810) \" \"\n FORM: (5810..5877)\n OPEN_PAREN: (5810..5811) \"(\"\n SYMBOL: (5811..5814)\n IDENTIFIER: (5811..5814) \"let\"\n ATMOSPHERE: (5814..5815) \" \"\n FORM: (5815..5828)\n OPEN_PAREN: (5815..5816) \"(\"\n FORM: (5816..5821)\n OPEN_PAREN: (5816..5817) \"(\"\n SYMBOL: (5817..5818)\n IDENTIFIER: (5817..5818) \"x\"\n ATMOSPHERE: (5818..5819) \" \"\n CONSTANT: (5819..5820)\n NUMBER: (5819..5820) \"2\"\n CLOSE_PAREN: (5820..5821) \")\"\n ATMOSPHERE: (5821..5822) \" \"\n FORM: (5822..5827)\n OPEN_PAREN: (5822..5823) \"(\"\n SYMBOL: (5823..5824)\n IDENTIFIER: (5823..5824) \"y\"\n ATMOSPHERE: (5824..5825) \" \"\n CONSTANT: (5825..5826)\n NUMBER: (5825..5826) \"3\"\n CLOSE_PAREN: (5826..5827) \")\"\n CLOSE_PAREN: (5827..5828) \")\"\n ATMOSPHERE: (5828..5831) \"\n \"\n FORM: (5831..5876)\n OPEN_PAREN: (5831..5832) \"(\"\n SYMBOL: (5832..5835)\n IDENTIFIER: (5832..5835) \"let\"\n ATMOSPHERE: (5835..5836) \" \"\n FORM: (5836..5863)\n OPEN_PAREN: (5836..5837) \"(\"\n FORM: (5837..5842)\n OPEN_PAREN: (5837..5838) \"(\"\n SYMBOL: (5838..5839)\n IDENTIFIER: (5838..5839) \"x\"\n ATMOSPHERE: (5839..5840) \" \"\n CONSTANT: (5840..5841)\n NUMBER: (5840..5841) \"7\"\n CLOSE_PAREN: (5841..5842) \")\"\n ATMOSPHERE: (5842..5851) \"\n \"\n FORM: (5851..5862)\n OPEN_PAREN: (5851..5852) \"(\"\n SYMBOL: (5852..5853)\n IDENTIFIER: (5852..5853) \"z\"\n ATMOSPHERE: (5853..5854) \" \"\n FORM: (5854..5861)\n OPEN_PAREN: (5854..5855) \"(\"\n SYMBOL: (5855..5856)\n IDENTIFIER: (5855..5856) \"+\"\n ATMOSPHERE: (5856..5857) \" \"\n SYMBOL: (5857..5858)\n IDENTIFIER: (5857..5858) \"x\"\n ATMOSPHERE: (5858..5859) \" \"\n SYMBOL: (5859..5860)\n IDENTIFIER: (5859..5860) \"y\"\n CLOSE_PAREN: (5860..5861) \")\"\n CLOSE_PAREN: (5861..5862) \")\"\n CLOSE_PAREN: (5862..5863) \")\"\n ATMOSPHERE: (5863..5868) \"\n \"\n FORM: (5868..5875)\n OPEN_PAREN: (5868..5869) \"(\"\n SYMBOL: (5869..5870)\n IDENTIFIER: (5869..5870) \"*\"\n ATMOSPHERE: (5870..5871) \" \"\n SYMBOL: (5871..5872)\n IDENTIFIER: (5871..5872) \"z\"\n ATMOSPHERE: (5872..5873) \" \"\n SYMBOL: (5873..5874)\n IDENTIFIER: (5873..5874) \"x\"\n CLOSE_PAREN: (5874..5875) \")\"\n CLOSE_PAREN: (5875..5876) \")\"\n CLOSE_PAREN: (5876..5877) \")\"\n CLOSE_PAREN: (5877..5878) \")\"\n ATMOSPHERE: (5878..5880) \"\n\n\"\n FORM: (5880..5959)\n OPEN_PAREN: (5880..5881) \"(\"\n SYMBOL: (5881..5885)\n IDENTIFIER: (5881..5885) \"test\"\n ATMOSPHERE: (5885..5886) \" \"\n CONSTANT: (5886..5888)\n NUMBER: (5886..5888) \"70\"\n ATMOSPHERE: (5888..5889) \" \"\n FORM: (5889..5958)\n OPEN_PAREN: (5889..5890) \"(\"\n SYMBOL: (5890..5893)\n IDENTIFIER: (5890..5893) \"let\"\n ATMOSPHERE: (5893..5894) \" \"\n FORM: (5894..5907)\n OPEN_PAREN: (5894..5895) \"(\"\n FORM: (5895..5900)\n OPEN_PAREN: (5895..5896) \"(\"\n SYMBOL: (5896..5897)\n IDENTIFIER: (5896..5897) \"x\"\n ATMOSPHERE: (5897..5898) \" \"\n CONSTANT: (5898..5899)\n NUMBER: (5898..5899) \"2\"\n CLOSE_PAREN: (5899..5900) \")\"\n ATMOSPHERE: (5900..5901) \" \"\n FORM: (5901..5906)\n OPEN_PAREN: (5901..5902) \"(\"\n SYMBOL: (5902..5903)\n IDENTIFIER: (5902..5903) \"y\"\n ATMOSPHERE: (5903..5904) \" \"\n CONSTANT: (5904..5905)\n NUMBER: (5904..5905) \"3\"\n CLOSE_PAREN: (5905..5906) \")\"\n CLOSE_PAREN: (5906..5907) \")\"\n ATMOSPHERE: (5907..5910) \"\n \"\n FORM: (5910..5957)\n OPEN_PAREN: (5910..5911) \"(\"\n SYMBOL: (5911..5915)\n IDENTIFIER: (5911..5915) \"let*\"\n ATMOSPHERE: (5915..5916) \" \"\n FORM: (5916..5944)\n OPEN_PAREN: (5916..5917) \"(\"\n FORM: (5917..5922)\n OPEN_PAREN: (5917..5918) \"(\"\n SYMBOL: (5918..5919)\n IDENTIFIER: (5918..5919) \"x\"\n ATMOSPHERE: (5919..5920) \" \"\n CONSTANT: (5920..5921)\n NUMBER: (5920..5921) \"7\"\n CLOSE_PAREN: (5921..5922) \")\"\n ATMOSPHERE: (5922..5932) \"\n \"\n FORM: (5932..5943)\n OPEN_PAREN: (5932..5933) \"(\"\n SYMBOL: (5933..5934)\n IDENTIFIER: (5933..5934) \"z\"\n ATMOSPHERE: (5934..5935) \" \"\n FORM: (5935..5942)\n OPEN_PAREN: (5935..5936) \"(\"\n SYMBOL: (5936..5937)\n IDENTIFIER: (5936..5937) \"+\"\n ATMOSPHERE: (5937..5938) \" \"\n SYMBOL: (5938..5939)\n IDENTIFIER: (5938..5939) \"x\"\n ATMOSPHERE: (5939..5940) \" \"\n SYMBOL: (5940..5941)\n IDENTIFIER: (5940..5941) \"y\"\n CLOSE_PAREN: (5941..5942) \")\"\n CLOSE_PAREN: (5942..5943) \")\"\n CLOSE_PAREN: (5943..5944) \")\"\n ATMOSPHERE: (5944..5949) \"\n \"\n FORM: (5949..5956)\n OPEN_PAREN: (5949..5950) \"(\"\n SYMBOL: (5950..5951)\n IDENTIFIER: (5950..5951) \"*\"\n ATMOSPHERE: (5951..5952) \" \"\n SYMBOL: (5952..5953)\n IDENTIFIER: (5952..5953) \"z\"\n ATMOSPHERE: (5953..5954) \" \"\n SYMBOL: (5954..5955)\n IDENTIFIER: (5954..5955) \"x\"\n CLOSE_PAREN: (5955..5956) \")\"\n CLOSE_PAREN: (5956..5957) \")\"\n CLOSE_PAREN: (5957..5958) \")\"\n CLOSE_PAREN: (5958..5959) \")\"\n ATMOSPHERE: (5959..5961) \"\n\n\"\n FORM: (5961..6263)\n OPEN_PAREN: (5961..5962) \"(\"\n SYMBOL: (5962..5966)\n IDENTIFIER: (5962..5966) \"test\"\n ATMOSPHERE: (5966..5967) \" \"\n CONSTANT: (5967..5969)\n BOOLEAN: (5967..5969) \"#t\"\n ATMOSPHERE: (5969..5974) \"\n \"\n FORM: (5974..6262)\n OPEN_PAREN: (5974..5975) \"(\"\n SYMBOL: (5975..5981)\n IDENTIFIER: (5975..5981) \"letrec\"\n ATMOSPHERE: (5981..5982) \" \"\n FORM: (5982..6244)\n OPEN_PAREN: (5982..5983) \"(\"\n FORM: (5983..6106)\n OPEN_PAREN: (5983..5984) \"(\"\n SYMBOL: (5984..5989)\n IDENTIFIER: (5984..5989) \"even?\"\n ATMOSPHERE: (5989..6004) \"\n \"\n FORM: (6004..6105)\n OPEN_PAREN: (6004..6005) \"(\"\n SYMBOL: (6005..6011)\n IDENTIFIER: (6005..6011) \"lambda\"\n ATMOSPHERE: (6011..6012) \" \"\n FORM: (6012..6015)\n OPEN_PAREN: (6012..6013) \"(\"\n SYMBOL: (6013..6014)\n IDENTIFIER: (6013..6014) \"n\"\n CLOSE_PAREN: (6014..6015) \")\"\n ATMOSPHERE: (6015..6032) \"\n \"\n FORM: (6032..6104)\n OPEN_PAREN: (6032..6033) \"(\"\n SYMBOL: (6033..6035)\n IDENTIFIER: (6033..6035) \"if\"\n ATMOSPHERE: (6035..6036) \" \"\n FORM: (6036..6045)\n OPEN_PAREN: (6036..6037) \"(\"\n SYMBOL: (6037..6042)\n IDENTIFIER: (6037..6042) \"zero?\"\n ATMOSPHERE: (6042..6043) \" \"\n SYMBOL: (6043..6044)\n IDENTIFIER: (6043..6044) \"n\"\n CLOSE_PAREN: (6044..6045) \")\"\n ATMOSPHERE: (6045..6066) \"\n \"\n CONSTANT: (6066..6068)\n BOOLEAN: (6066..6068) \"#t\"\n ATMOSPHERE: (6068..6089) \"\n \"\n FORM: (6089..6103)\n OPEN_PAREN: (6089..6090) \"(\"\n SYMBOL: (6090..6094)\n IDENTIFIER: (6090..6094) \"odd?\"\n ATMOSPHERE: (6094..6095) \" \"\n FORM: (6095..6102)\n OPEN_PAREN: (6095..6096) \"(\"\n SYMBOL: (6096..6097)\n IDENTIFIER: (6096..6097) \"-\"\n ATMOSPHERE: (6097..6098) \" \"\n SYMBOL: (6098..6099)\n IDENTIFIER: (6098..6099) \"n\"\n ATMOSPHERE: (6099..6100) \" \"\n CONSTANT: (6100..6101)\n NUMBER: (6100..6101) \"1\"\n CLOSE_PAREN: (6101..6102) \")\"\n CLOSE_PAREN: (6102..6103) \")\"\n CLOSE_PAREN: (6103..6104) \")\"\n CLOSE_PAREN: (6104..6105) \")\"\n CLOSE_PAREN: (6105..6106) \")\"\n ATMOSPHERE: (6106..6120) \"\n \"\n FORM: (6120..6243)\n OPEN_PAREN: (6120..6121) \"(\"\n SYMBOL: (6121..6125)\n IDENTIFIER: (6121..6125) \"odd?\"\n ATMOSPHERE: (6125..6140) \"\n \"\n FORM: (6140..6242)\n OPEN_PAREN: (6140..6141) \"(\"\n SYMBOL: (6141..6147)\n IDENTIFIER: (6141..6147) \"lambda\"\n ATMOSPHERE: (6147..6148) \" \"\n FORM: (6148..6151)\n OPEN_PAREN: (6148..6149) \"(\"\n SYMBOL: (6149..6150)\n IDENTIFIER: (6149..6150) \"n\"\n CLOSE_PAREN: (6150..6151) \")\"\n ATMOSPHERE: (6151..6168) \"\n \"\n FORM: (6168..6241)\n OPEN_PAREN: (6168..6169) \"(\"\n SYMBOL: (6169..6171)\n IDENTIFIER: (6169..6171) \"if\"\n ATMOSPHERE: (6171..6172) \" \"\n FORM: (6172..6181)\n OPEN_PAREN: (6172..6173) \"(\"\n SYMBOL: (6173..6178)\n IDENTIFIER: (6173..6178) \"zero?\"\n ATMOSPHERE: (6178..6179) \" \"\n SYMBOL: (6179..6180)\n IDENTIFIER: (6179..6180) \"n\"\n CLOSE_PAREN: (6180..6181) \")\"\n ATMOSPHERE: (6181..6202) \"\n \"\n CONSTANT: (6202..6204)\n BOOLEAN: (6202..6204) \"#f\"\n ATMOSPHERE: (6204..6225) \"\n \"\n FORM: (6225..6240)\n OPEN_PAREN: (6225..6226) \"(\"\n SYMBOL: (6226..6231)\n IDENTIFIER: (6226..6231) \"even?\"\n ATMOSPHERE: (6231..6232) \" \"\n FORM: (6232..6239)\n OPEN_PAREN: (6232..6233) \"(\"\n SYMBOL: (6233..6234)\n IDENTIFIER: (6233..6234) \"-\"\n ATMOSPHERE: (6234..6235) \" \"\n SYMBOL: (6235..6236)\n IDENTIFIER: (6235..6236) \"n\"\n ATMOSPHERE: (6236..6237) \" \"\n CONSTANT: (6237..6238)\n NUMBER: (6237..6238) \"1\"\n CLOSE_PAREN: (6238..6239) \")\"\n CLOSE_PAREN: (6239..6240) \")\"\n CLOSE_PAREN: (6240..6241) \")\"\n CLOSE_PAREN: (6241..6242) \")\"\n CLOSE_PAREN: (6242..6243) \")\"\n CLOSE_PAREN: (6243..6244) \")\"\n ATMOSPHERE: (6244..6251) \"\n \"\n FORM: (6251..6261)\n OPEN_PAREN: (6251..6252) \"(\"\n SYMBOL: (6252..6257)\n IDENTIFIER: (6252..6257) \"even?\"\n ATMOSPHERE: (6257..6258) \" \"\n CONSTANT: (6258..6260)\n NUMBER: (6258..6260) \"88\"\n CLOSE_PAREN: (6260..6261) \")\"\n CLOSE_PAREN: (6261..6262) \")\"\n CLOSE_PAREN: (6262..6263) \")\"\n ATMOSPHERE: (6263..6265) \"\n\n\"\n FORM: (6265..6555)\n OPEN_PAREN: (6265..6266) \"(\"\n SYMBOL: (6266..6270)\n IDENTIFIER: (6266..6270) \"test\"\n ATMOSPHERE: (6270..6271) \" \"\n CONSTANT: (6271..6272)\n NUMBER: (6271..6272) \"5\"\n ATMOSPHERE: (6272..6277) \"\n \"\n FORM: (6277..6554)\n OPEN_PAREN: (6277..6278) \"(\"\n SYMBOL: (6278..6285)\n IDENTIFIER: (6278..6285) \"letrec*\"\n ATMOSPHERE: (6285..6286) \" \"\n FORM: (6286..6538)\n OPEN_PAREN: (6286..6287) \"(\"\n FORM: (6287..6353)\n OPEN_PAREN: (6287..6288) \"(\"\n SYMBOL: (6288..6289)\n IDENTIFIER: (6288..6289) \"p\"\n ATMOSPHERE: (6289..6305) \"\n \"\n FORM: (6305..6352)\n OPEN_PAREN: (6305..6306) \"(\"\n SYMBOL: (6306..6312)\n IDENTIFIER: (6306..6312) \"lambda\"\n ATMOSPHERE: (6312..6313) \" \"\n FORM: (6313..6316)\n OPEN_PAREN: (6313..6314) \"(\"\n SYMBOL: (6314..6315)\n IDENTIFIER: (6314..6315) \"x\"\n CLOSE_PAREN: (6315..6316) \")\"\n ATMOSPHERE: (6316..6334) \"\n \"\n FORM: (6334..6351)\n OPEN_PAREN: (6334..6335) \"(\"\n SYMBOL: (6335..6336)\n IDENTIFIER: (6335..6336) \"+\"\n ATMOSPHERE: (6336..6337) \" \"\n CONSTANT: (6337..6338)\n NUMBER: (6337..6338) \"1\"\n ATMOSPHERE: (6338..6339) \" \"\n FORM: (6339..6350)\n OPEN_PAREN: (6339..6340) \"(\"\n SYMBOL: (6340..6341)\n IDENTIFIER: (6340..6341) \"q\"\n ATMOSPHERE: (6341..6342) \" \"\n FORM: (6342..6349)\n OPEN_PAREN: (6342..6343) \"(\"\n SYMBOL: (6343..6344)\n IDENTIFIER: (6343..6344) \"-\"\n ATMOSPHERE: (6344..6345) \" \"\n SYMBOL: (6345..6346)\n IDENTIFIER: (6345..6346) \"x\"\n ATMOSPHERE: (6346..6347) \" \"\n CONSTANT: (6347..6348)\n NUMBER: (6347..6348) \"1\"\n CLOSE_PAREN: (6348..6349) \")\"\n CLOSE_PAREN: (6349..6350) \")\"\n CLOSE_PAREN: (6350..6351) \")\"\n CLOSE_PAREN: (6351..6352) \")\"\n CLOSE_PAREN: (6352..6353) \")\"\n ATMOSPHERE: (6353..6368) \"\n \"\n FORM: (6368..6493)\n OPEN_PAREN: (6368..6369) \"(\"\n SYMBOL: (6369..6370)\n IDENTIFIER: (6369..6370) \"q\"\n ATMOSPHERE: (6370..6386) \"\n \"\n FORM: (6386..6492)\n OPEN_PAREN: (6386..6387) \"(\"\n SYMBOL: (6387..6393)\n IDENTIFIER: (6387..6393) \"lambda\"\n ATMOSPHERE: (6393..6394) \" \"\n FORM: (6394..6397)\n OPEN_PAREN: (6394..6395) \"(\"\n SYMBOL: (6395..6396)\n IDENTIFIER: (6395..6396) \"y\"\n CLOSE_PAREN: (6396..6397) \")\"\n ATMOSPHERE: (6397..6415) \"\n \"\n FORM: (6415..6491)\n OPEN_PAREN: (6415..6416) \"(\"\n SYMBOL: (6416..6418)\n IDENTIFIER: (6416..6418) \"if\"\n ATMOSPHERE: (6418..6419) \" \"\n FORM: (6419..6428)\n OPEN_PAREN: (6419..6420) \"(\"\n SYMBOL: (6420..6425)\n IDENTIFIER: (6420..6425) \"zero?\"\n ATMOSPHERE: (6425..6426) \" \"\n SYMBOL: (6426..6427)\n IDENTIFIER: (6426..6427) \"y\"\n CLOSE_PAREN: (6427..6428) \")\"\n ATMOSPHERE: (6428..6450) \"\n \"\n CONSTANT: (6450..6451)\n NUMBER: (6450..6451) \"0\"\n ATMOSPHERE: (6451..6473) \"\n \"\n FORM: (6473..6490)\n OPEN_PAREN: (6473..6474) \"(\"\n SYMBOL: (6474..6475)\n IDENTIFIER: (6474..6475) \"+\"\n ATMOSPHERE: (6475..6476) \" \"\n CONSTANT: (6476..6477)\n NUMBER: (6476..6477) \"1\"\n ATMOSPHERE: (6477..6478) \" \"\n FORM: (6478..6489)\n OPEN_PAREN: (6478..6479) \"(\"\n SYMBOL: (6479..6480)\n IDENTIFIER: (6479..6480) \"p\"\n ATMOSPHERE: (6480..6481) \" \"\n FORM: (6481..6488)\n OPEN_PAREN: (6481..6482) \"(\"\n SYMBOL: (6482..6483)\n IDENTIFIER: (6482..6483) \"-\"\n ATMOSPHERE: (6483..6484) \" \"\n SYMBOL: (6484..6485)\n IDENTIFIER: (6484..6485) \"y\"\n ATMOSPHERE: (6485..6486) \" \"\n CONSTANT: (6486..6487)\n NUMBER: (6486..6487) \"1\"\n CLOSE_PAREN: (6487..6488) \")\"\n CLOSE_PAREN: (6488..6489) \")\"\n CLOSE_PAREN: (6489..6490) \")\"\n CLOSE_PAREN: (6490..6491) \")\"\n CLOSE_PAREN: (6491..6492) \")\"\n CLOSE_PAREN: (6492..6493) \")\"\n ATMOSPHERE: (6493..6508) \"\n \"\n FORM: (6508..6517)\n OPEN_PAREN: (6508..6509) \"(\"\n SYMBOL: (6509..6510)\n IDENTIFIER: (6509..6510) \"x\"\n ATMOSPHERE: (6510..6511) \" \"\n FORM: (6511..6516)\n OPEN_PAREN: (6511..6512) \"(\"\n SYMBOL: (6512..6513)\n IDENTIFIER: (6512..6513) \"p\"\n ATMOSPHERE: (6513..6514) \" \"\n CONSTANT: (6514..6515)\n NUMBER: (6514..6515) \"5\"\n CLOSE_PAREN: (6515..6516) \")\"\n CLOSE_PAREN: (6516..6517) \")\"\n ATMOSPHERE: (6517..6532) \"\n \"\n FORM: (6532..6537)\n OPEN_PAREN: (6532..6533) \"(\"\n SYMBOL: (6533..6534)\n IDENTIFIER: (6533..6534) \"y\"\n ATMOSPHERE: (6534..6535) \" \"\n SYMBOL: (6535..6536)\n IDENTIFIER: (6535..6536) \"x\"\n CLOSE_PAREN: (6536..6537) \")\"\n CLOSE_PAREN: (6537..6538) \")\"\n ATMOSPHERE: (6538..6552) \"\n \"\n SYMBOL: (6552..6553)\n IDENTIFIER: (6552..6553) \"y\"\n CLOSE_PAREN: (6553..6554) \")\"\n CLOSE_PAREN: (6554..6555) \")\"\n ATMOSPHERE: (6555..6558) \"\n\n\n\"\n ATMOSPHERE: (6558..6590) \";;; FIXME: `let*values` support.\"\n ATMOSPHERE: (6590..6591) \"\n\"\n ATMOSPHERE: (6591..6645) \";; ;; By Jussi Piitulainen \"\n ATMOSPHERE: (6645..6646) \"\n\"\n ATMOSPHERE: (6646..6692) \";; ;; and John Cowan :\"\n ATMOSPHERE: (6692..6693) \"\n\"\n ATMOSPHERE: (6693..6781) \";; ;; http://lists.scheme-reports.org/pipermail/scheme-reports/2013-December/003876.html\"\n ATMOSPHERE: (6781..6782) \"\n\"\n ATMOSPHERE: (6782..6804) \";; (define (means ton)\"\n ATMOSPHERE: (6804..6805) \"\n\"\n ATMOSPHERE: (6805..6818) \";; (letrec*\"\n ATMOSPHERE: (6818..6819) \"\n\"\n ATMOSPHERE: (6819..6833) \";; ((mean\"\n ATMOSPHERE: (6833..6834) \"\n\"\n ATMOSPHERE: (6834..6858) \";; (lambda (f g)\"\n ATMOSPHERE: (6858..6859) \"\n\"\n ATMOSPHERE: (6859..6895) \";; (f (/ (sum g ton) n))))\"\n ATMOSPHERE: (6895..6896) \"\n\"\n ATMOSPHERE: (6896..6909) \";; (sum\"\n ATMOSPHERE: (6909..6910) \"\n\"\n ATMOSPHERE: (6910..6936) \";; (lambda (g ton)\"\n ATMOSPHERE: (6936..6937) \"\n\"\n ATMOSPHERE: (6937..6965) \";; (if (null? ton)\"\n ATMOSPHERE: (6965..6966) \"\n\"\n ATMOSPHERE: (6966..6984) \";; (+)\"\n ATMOSPHERE: (6984..6985) \"\n\"\n ATMOSPHERE: (6985..7017) \";; (if (number? ton)\"\n ATMOSPHERE: (7017..7018) \"\n\"\n ATMOSPHERE: (7018..7044) \";; (g ton)\"\n ATMOSPHERE: (7044..7045) \"\n\"\n ATMOSPHERE: (7045..7084) \";; (+ (sum g (car ton))\"\n ATMOSPHERE: (7084..7085) \"\n\"\n ATMOSPHERE: (7085..7129) \";; (sum g (cdr ton)))))))\"\n ATMOSPHERE: (7129..7130) \"\n\"\n ATMOSPHERE: (7130..7168) \";; (n (sum (lambda (x) 1) ton)))\"\n ATMOSPHERE: (7168..7169) \"\n\"\n ATMOSPHERE: (7169..7204) \";; (values (mean values values)\"\n ATMOSPHERE: (7204..7205) \"\n\"\n ATMOSPHERE: (7205..7234) \";; (mean exp log)\"\n ATMOSPHERE: (7234..7235) \"\n\"\n ATMOSPHERE: (7235..7263) \";; (mean / /))))\"\n ATMOSPHERE: (7263..7264) \"\n\"\n ATMOSPHERE: (7264..7314) \";; (let*-values (((a b c) (means '(8 5 99 1 22))))\"\n ATMOSPHERE: (7314..7315) \"\n\"\n ATMOSPHERE: (7315..7331) \";; (test 27 a)\"\n ATMOSPHERE: (7331..7332) \"\n\"\n ATMOSPHERE: (7332..7351) \";; (test 9.728 b)\"\n ATMOSPHERE: (7351..7352) \"\n\"\n ATMOSPHERE: (7352..7375) \";; (test 1800/497 c))\"\n ATMOSPHERE: (7375..7377) \"\n\n\"\n ATMOSPHERE: (7377..7431) \";; (let*-values (((root rem) (exact-integer-sqrt 32)))\"\n ATMOSPHERE: (7431..7432) \"\n\"\n ATMOSPHERE: (7432..7460) \";; (test 35 (* root rem)))\"\n ATMOSPHERE: (7460..7462) \"\n\n\"\n ATMOSPHERE: (7462..7486) \";; (test '(1073741824 0)\"\n ATMOSPHERE: (7486..7487) \"\n\"\n ATMOSPHERE: (7487..7554) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 60))))\"\n ATMOSPHERE: (7554..7555) \"\n\"\n ATMOSPHERE: (7555..7581) \";; (list root rem)))\"\n ATMOSPHERE: (7581..7583) \"\n\n\"\n ATMOSPHERE: (7583..7616) \";; (test '(1518500249 3000631951)\"\n ATMOSPHERE: (7616..7617) \"\n\"\n ATMOSPHERE: (7617..7684) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 61))))\"\n ATMOSPHERE: (7684..7685) \"\n\"\n ATMOSPHERE: (7685..7711) \";; (list root rem)))\"\n ATMOSPHERE: (7711..7713) \"\n\n\"\n ATMOSPHERE: (7713..7762) \";; (test '(815238614083298888 443242361398135744)\"\n ATMOSPHERE: (7762..7763) \"\n\"\n ATMOSPHERE: (7763..7831) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 119))))\"\n ATMOSPHERE: (7831..7832) \"\n\"\n ATMOSPHERE: (7832..7858) \";; (list root rem)))\"\n ATMOSPHERE: (7858..7860) \"\n\n\"\n ATMOSPHERE: (7860..7893) \";; (test '(1152921504606846976 0)\"\n ATMOSPHERE: (7893..7894) \"\n\"\n ATMOSPHERE: (7894..7962) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 120))))\"\n ATMOSPHERE: (7962..7963) \"\n\"\n ATMOSPHERE: (7963..7989) \";; (list root rem)))\"\n ATMOSPHERE: (7989..7991) \"\n\n\"\n ATMOSPHERE: (7991..8042) \";; (test '(1630477228166597776 1772969445592542976)\"\n ATMOSPHERE: (8042..8043) \"\n\"\n ATMOSPHERE: (8043..8111) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 121))))\"\n ATMOSPHERE: (8111..8112) \"\n\"\n ATMOSPHERE: (8112..8138) \";; (list root rem)))\"\n ATMOSPHERE: (8138..8140) \"\n\n\"\n ATMOSPHERE: (8140..8193) \";; (test '(31622776601683793319 62545769258890964239)\"\n ATMOSPHERE: (8193..8194) \"\n\"\n ATMOSPHERE: (8194..8262) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 10 39))))\"\n ATMOSPHERE: (8262..8263) \"\n\"\n ATMOSPHERE: (8263..8289) \";; (list root rem)))\"\n ATMOSPHERE: (8289..8291) \"\n\n\"\n ATMOSPHERE: (8291..8355) \";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 140))))\"\n ATMOSPHERE: (8355..8356) \"\n\"\n ATMOSPHERE: (8356..8373) \";; (test 0 rem)\"\n ATMOSPHERE: (8373..8374) \"\n\"\n ATMOSPHERE: (8374..8413) \";; (test (expt 2 140) (square root)))\"\n ATMOSPHERE: (8413..8415) \"\n\n\"\n ATMOSPHERE: (8415..8469) \";; (test '(x y x y) (let ((a 'a) (b 'b) (x 'x) (y 'y))\"\n ATMOSPHERE: (8469..8470) \"\n\"\n ATMOSPHERE: (8470..8509) \";; (let*-values (((a b) (values x y))\"\n ATMOSPHERE: (8509..8510) \"\n\"\n ATMOSPHERE: (8510..8550) \";; ((x y) (values a b)))\"\n ATMOSPHERE: (8550..8551) \"\n\"\n ATMOSPHERE: (8551..8575) \";; (list a b x y))))\"\n ATMOSPHERE: (8575..8577) \"\n\n\"\n ATMOSPHERE: (8577..8610) \";; (test 'ok (let-values () 'ok))\"\n ATMOSPHERE: (8610..8612) \"\n\n\"\n ATMOSPHERE: (8612..8635) \";; (test 1 (let ((x 1))\"\n ATMOSPHERE: (8635..8636) \"\n\"\n ATMOSPHERE: (8636..8657) \";; \t (let*-values ()\"\n ATMOSPHERE: (8657..8658) \"\n\"\n ATMOSPHERE: (8658..8678) \";; \t (define x 2)\"\n ATMOSPHERE: (8678..8679) \"\n\"\n ATMOSPHERE: (8679..8690) \";; \t #f)\"\n ATMOSPHERE: (8690..8691) \"\n\"\n ATMOSPHERE: (8691..8700) \";; \t x))\"\n ATMOSPHERE: (8700..8702) \"\n\n\"\n FORM: (8702..8757)\n OPEN_PAREN: (8702..8703) \"(\"\n SYMBOL: (8703..8706)\n IDENTIFIER: (8703..8706) \"let\"\n ATMOSPHERE: (8706..8707) \" \"\n FORM: (8707..8709)\n OPEN_PAREN: (8707..8708) \"(\"\n CLOSE_PAREN: (8708..8709) \")\"\n ATMOSPHERE: (8709..8712) \"\n \"\n FORM: (8712..8724)\n OPEN_PAREN: (8712..8713) \"(\"\n SYMBOL: (8713..8719)\n IDENTIFIER: (8713..8719) \"define\"\n ATMOSPHERE: (8719..8720) \" \"\n SYMBOL: (8720..8721)\n IDENTIFIER: (8720..8721) \"x\"\n ATMOSPHERE: (8721..8722) \" \"\n CONSTANT: (8722..8723)\n NUMBER: (8722..8723) \"0\"\n CLOSE_PAREN: (8723..8724) \")\"\n ATMOSPHERE: (8724..8727) \"\n \"\n FORM: (8727..8737)\n OPEN_PAREN: (8727..8728) \"(\"\n SYMBOL: (8728..8732)\n IDENTIFIER: (8728..8732) \"set!\"\n ATMOSPHERE: (8732..8733) \" \"\n SYMBOL: (8733..8734)\n IDENTIFIER: (8733..8734) \"x\"\n ATMOSPHERE: (8734..8735) \" \"\n CONSTANT: (8735..8736)\n NUMBER: (8735..8736) \"5\"\n CLOSE_PAREN: (8736..8737) \")\"\n ATMOSPHERE: (8737..8740) \"\n \"\n FORM: (8740..8756)\n OPEN_PAREN: (8740..8741) \"(\"\n SYMBOL: (8741..8745)\n IDENTIFIER: (8741..8745) \"test\"\n ATMOSPHERE: (8745..8746) \" \"\n CONSTANT: (8746..8747)\n NUMBER: (8746..8747) \"6\"\n ATMOSPHERE: (8747..8748) \" \"\n FORM: (8748..8755)\n OPEN_PAREN: (8748..8749) \"(\"\n SYMBOL: (8749..8750)\n IDENTIFIER: (8749..8750) \"+\"\n ATMOSPHERE: (8750..8751) \" \"\n SYMBOL: (8751..8752)\n IDENTIFIER: (8751..8752) \"x\"\n ATMOSPHERE: (8752..8753) \" \"\n CONSTANT: (8753..8754)\n NUMBER: (8753..8754) \"1\"\n CLOSE_PAREN: (8754..8755) \")\"\n CLOSE_PAREN: (8755..8756) \")\"\n CLOSE_PAREN: (8756..8757) \")\"\n ATMOSPHERE: (8757..8759) \"\n\n\"\n ATMOSPHERE: (8759..8782) \";;; FIXME: `do` support\"\n ATMOSPHERE: (8782..8783) \"\n\"\n ATMOSPHERE: (8783..8831) \";; (test #(0 1 2 3 4) (do ((vec (make-vector 5))\"\n ATMOSPHERE: (8831..8832) \"\n\"\n ATMOSPHERE: (8832..8854) \";; (i 0 (+ i 1)))\"\n ATMOSPHERE: (8854..8855) \"\n\"\n ATMOSPHERE: (8855..8875) \";; ((= i 5) vec)\"\n ATMOSPHERE: (8875..8876) \"\n\"\n ATMOSPHERE: (8876..8904) \";; (vector-set! vec i i)))\"\n ATMOSPHERE: (8904..8906) \"\n\n\"\n ATMOSPHERE: (8906..8941) \";; (test 25 (let ((x '(1 3 5 7 9)))\"\n ATMOSPHERE: (8941..8942) \"\n\"\n ATMOSPHERE: (8942..8965) \";; (do ((x x (cdr x))\"\n ATMOSPHERE: (8965..8966) \"\n\"\n ATMOSPHERE: (8966..9000) \";; (sum 0 (+ sum (car x))))\"\n ATMOSPHERE: (9000..9001) \"\n\"\n ATMOSPHERE: (9001..9028) \";; ((null? x) sum))))\"\n ATMOSPHERE: (9028..9030) \"\n\n\"\n ATMOSPHERE: (9030..9048) \";;; FIXME: looping\"\n ATMOSPHERE: (9048..9049) \"\n\"\n ATMOSPHERE: (9049..9076) \";; (test '((6 1 3) (-5 -2))\"\n ATMOSPHERE: (9076..9077) \"\n\"\n ATMOSPHERE: (9077..9119) \";; (let loop ((numbers '(3 -2 1 6 -5))\"\n ATMOSPHERE: (9119..9120) \"\n\"\n ATMOSPHERE: (9120..9150) \";; (nonneg '())\"\n ATMOSPHERE: (9150..9151) \"\n\"\n ATMOSPHERE: (9151..9179) \";; (neg '()))\"\n ATMOSPHERE: (9179..9180) \"\n\"\n ATMOSPHERE: (9180..9230) \";; (cond ((null? numbers) (list nonneg neg))\"\n ATMOSPHERE: (9230..9231) \"\n\"\n ATMOSPHERE: (9231..9267) \";; ((>= (car numbers) 0)\"\n ATMOSPHERE: (9267..9268) \"\n\"\n ATMOSPHERE: (9268..9303) \";; (loop (cdr numbers)\"\n ATMOSPHERE: (9303..9304) \"\n\"\n ATMOSPHERE: (9304..9353) \";; (cons (car numbers) nonneg)\"\n ATMOSPHERE: (9353..9354) \"\n\"\n ATMOSPHERE: (9354..9381) \";; neg))\"\n ATMOSPHERE: (9381..9382) \"\n\"\n ATMOSPHERE: (9382..9417) \";; ((< (car numbers) 0)\"\n ATMOSPHERE: (9417..9418) \"\n\"\n ATMOSPHERE: (9418..9453) \";; (loop (cdr numbers)\"\n ATMOSPHERE: (9453..9454) \"\n\"\n ATMOSPHERE: (9454..9482) \";; nonneg\"\n ATMOSPHERE: (9482..9483) \"\n\"\n ATMOSPHERE: (9483..9534) \";; (cons (car numbers) neg))))))\"\n ATMOSPHERE: (9534..9536) \"\n\n\"\n ATMOSPHERE: (9536..9571) \";; (test 3 (force (delay (+ 1 2))))\"\n ATMOSPHERE: (9571..9573) \"\n\n\"\n ATMOSPHERE: (9573..9590) \";; (test '(3 3) \"\n ATMOSPHERE: (9590..9591) \"\n\"\n ATMOSPHERE: (9591..9624) \";; (let ((p (delay (+ 1 2))))\"\n ATMOSPHERE: (9624..9625) \"\n\"\n ATMOSPHERE: (9625..9662) \";; (list (force p) (force p))))\"\n ATMOSPHERE: (9662..9664) \"\n\n\"\n ATMOSPHERE: (9664..9683) \";; (define integers\"\n ATMOSPHERE: (9683..9684) \"\n\"\n ATMOSPHERE: (9684..9703) \";; (letrec ((next\"\n ATMOSPHERE: (9703..9704) \"\n\"\n ATMOSPHERE: (9704..9730) \";; (lambda (n)\"\n ATMOSPHERE: (9730..9731) \"\n\"\n ATMOSPHERE: (9731..9782) \";; (delay (cons n (next (+ n 1)))))))\"\n ATMOSPHERE: (9782..9783) \"\n\"\n ATMOSPHERE: (9783..9800) \";; (next 0)))\"\n ATMOSPHERE: (9800..9801) \"\n\"\n ATMOSPHERE: (9801..9816) \";; (define head\"\n ATMOSPHERE: (9816..9817) \"\n\"\n ATMOSPHERE: (9817..9861) \";; (lambda (stream) (car (force stream))))\"\n ATMOSPHERE: (9861..9862) \"\n\"\n ATMOSPHERE: (9862..9877) \";; (define tail\"\n ATMOSPHERE: (9877..9878) \"\n\"\n ATMOSPHERE: (9878..9922) \";; (lambda (stream) (cdr (force stream))))\"\n ATMOSPHERE: (9922..9924) \"\n\n\"\n ATMOSPHERE: (9924..9965) \";; (test 2 (head (tail (tail integers))))\"\n ATMOSPHERE: (9965..9967) \"\n\n\"\n ATMOSPHERE: (9967..9998) \";; (define (stream-filter p? s)\"\n ATMOSPHERE: (9998..9999) \"\n\"\n ATMOSPHERE: (9999..10016) \";; (delay-force\"\n ATMOSPHERE: (10016..10017) \"\n\"\n ATMOSPHERE: (10017..10045) \";; (if (null? (force s)) \"\n ATMOSPHERE: (10045..10046) \"\n\"\n ATMOSPHERE: (10046..10067) \";; (delay '())\"\n ATMOSPHERE: (10067..10068) \"\n\"\n ATMOSPHERE: (10068..10103) \";; (let ((h (car (force s)))\"\n ATMOSPHERE: (10103..10104) \"\n\"\n ATMOSPHERE: (10104..10140) \";; (t (cdr (force s))))\"\n ATMOSPHERE: (10140..10141) \"\n\"\n ATMOSPHERE: (10141..10163) \";; (if (p? h)\"\n ATMOSPHERE: (10163..10164) \"\n\"\n ATMOSPHERE: (10164..10217) \";; (delay (cons h (stream-filter p? t)))\"\n ATMOSPHERE: (10217..10218) \"\n\"\n ATMOSPHERE: (10218..10259) \";; (stream-filter p? t))))))\"\n ATMOSPHERE: (10259..10261) \"\n\n\"\n ATMOSPHERE: (10261..10323) \";; (test 5 (head (tail (tail (stream-filter odd? integers)))))\"\n ATMOSPHERE: (10323..10325) \"\n\n\"\n ATMOSPHERE: (10325..10335) \";; (let ()\"\n ATMOSPHERE: (10335..10336) \"\n\"\n ATMOSPHERE: (10336..10353) \";; (define x 5)\"\n ATMOSPHERE: (10353..10354) \"\n\"\n ATMOSPHERE: (10354..10375) \";; (define count 0)\"\n ATMOSPHERE: (10375..10376) \"\n\"\n ATMOSPHERE: (10376..10390) \";; (define p\"\n ATMOSPHERE: (10390..10391) \"\n\"\n ATMOSPHERE: (10391..10436) \";; (delay (begin (set! count (+ count 1))\"\n ATMOSPHERE: (10436..10437) \"\n\"\n ATMOSPHERE: (10437..10473) \";; (if (> count x)\"\n ATMOSPHERE: (10473..10474) \"\n\"\n ATMOSPHERE: (10474..10504) \";; count\"\n ATMOSPHERE: (10504..10505) \"\n\"\n ATMOSPHERE: (10505..10543) \";; (force p)))))\"\n ATMOSPHERE: (10543..10544) \"\n\"\n ATMOSPHERE: (10544..10567) \";; (test 6 (force p))\"\n ATMOSPHERE: (10567..10568) \"\n\"\n ATMOSPHERE: (10568..10612) \";; (test 6 (begin (set! x 10) (force p))))\"\n ATMOSPHERE: (10612..10614) \"\n\n\"\n ATMOSPHERE: (10614..10653) \";; (test #t (promise? (delay (+ 2 2))))\"\n ATMOSPHERE: (10653..10654) \"\n\"\n ATMOSPHERE: (10654..10700) \";; (test #t (promise? (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10700..10701) \"\n\"\n ATMOSPHERE: (10701..10712) \";; (test #t\"\n ATMOSPHERE: (10712..10713) \"\n\"\n ATMOSPHERE: (10713..10746) \";; (let ((x (delay (+ 2 2))))\"\n ATMOSPHERE: (10746..10747) \"\n\"\n ATMOSPHERE: (10747..10765) \";; (force x)\"\n ATMOSPHERE: (10765..10766) \"\n\"\n ATMOSPHERE: (10766..10789) \";; (promise? x)))\"\n ATMOSPHERE: (10789..10790) \"\n\"\n ATMOSPHERE: (10790..10801) \";; (test #t\"\n ATMOSPHERE: (10801..10802) \"\n\"\n ATMOSPHERE: (10802..10842) \";; (let ((x (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10842..10843) \"\n\"\n ATMOSPHERE: (10843..10861) \";; (force x)\"\n ATMOSPHERE: (10861..10862) \"\n\"\n ATMOSPHERE: (10862..10885) \";; (promise? x)))\"\n ATMOSPHERE: (10885..10886) \"\n\"\n ATMOSPHERE: (10886..10928) \";; (test 4 (force (make-promise (+ 2 2))))\"\n ATMOSPHERE: (10928..10929) \"\n\"\n ATMOSPHERE: (10929..10986) \";; (test 4 (force (make-promise (make-promise (+ 2 2)))))\"\n ATMOSPHERE: (10986..10988) \"\n\n\"\n ATMOSPHERE: (10988..11004) \";; (define radix\"\n ATMOSPHERE: (11004..11005) \"\n\"\n ATMOSPHERE: (11005..11025) \";; (make-parameter\"\n ATMOSPHERE: (11025..11026) \"\n\"\n ATMOSPHERE: (11026..11034) \";; 10\"\n ATMOSPHERE: (11034..11035) \"\n\"\n ATMOSPHERE: (11035..11052) \";; (lambda (x)\"\n ATMOSPHERE: (11052..11053) \"\n\"\n ATMOSPHERE: (11053..11095) \";; (if (and (integer? x) (<= 2 x 16))\"\n ATMOSPHERE: (11095..11096) \"\n\"\n ATMOSPHERE: (11096..11109) \";; x\"\n ATMOSPHERE: (11109..11110) \"\n\"\n ATMOSPHERE: (11110..11149) \";; (error \"invalid radix\")))))\"\n ATMOSPHERE: (11149..11150) \"\n\"\n ATMOSPHERE: (11150..11194) \";; (define (f n) (number->string n (radix)))\"\n ATMOSPHERE: (11194..11195) \"\n\"\n ATMOSPHERE: (11195..11216) \";; (test \"12\" (f 12))\"\n ATMOSPHERE: (11216..11217) \"\n\"\n ATMOSPHERE: (11217..11258) \";; (test \"1100\" (parameterize ((radix 2))\"\n ATMOSPHERE: (11258..11259) \"\n\"\n ATMOSPHERE: (11259..11272) \";; (f 12)))\"\n ATMOSPHERE: (11272..11273) \"\n\"\n ATMOSPHERE: (11273..11294) \";; (test \"12\" (f 12))\"\n ATMOSPHERE: (11294..11296) \"\n\n\"\n ATMOSPHERE: (11296..11336) \";; (test '(list 3 4) `(list ,(+ 1 2) 4))\"\n ATMOSPHERE: (11336..11337) \"\n\"\n ATMOSPHERE: (11337..11405) \";; (let ((name 'a)) (test '(list a (quote a)) `(list ,name ',name)))\"\n ATMOSPHERE: (11405..11406) \"\n\"\n ATMOSPHERE: (11406..11468) \";; (test '(a 3 4 5 6 b) `(a ,(+ 1 2) ,@(map abs '(4 -5 6)) b))\"\n ATMOSPHERE: (11468..11469) \"\n\"\n ATMOSPHERE: (11469..11494) \";; (test #(10 5 4 16 9 8)\"\n ATMOSPHERE: (11494..11495) \"\n\"\n ATMOSPHERE: (11495..11547) \";; `#(10 5 ,(square 2) ,@(map square '(4 3)) 8))\"\n ATMOSPHERE: (11547..11548) \"\n\"\n ATMOSPHERE: (11548..11590) \";; (test '(a `(b ,(+ 1 2) ,(foo 4 d) e) f)\"\n ATMOSPHERE: (11590..11591) \"\n\"\n ATMOSPHERE: (11591..11640) \";; `(a `(b ,(+ 1 2) ,(foo ,(+ 1 3) d) e) f) )\"\n ATMOSPHERE: (11640..11641) \"\n\"\n ATMOSPHERE: (11641..11660) \";; (let ((name1 'x)\"\n ATMOSPHERE: (11660..11661) \"\n\"\n ATMOSPHERE: (11661..11681) \";; (name2 'y))\"\n ATMOSPHERE: (11681..11682) \"\n\"\n ATMOSPHERE: (11682..11747) \";; (test '(a `(b ,x ,'y d) e) `(a `(b ,,name1 ,',name2 d) e)))\"\n ATMOSPHERE: (11747..11748) \"\n\"\n ATMOSPHERE: (11748..11810) \";; (test '(list 3 4) (quasiquote (list (unquote (+ 1 2)) 4)) )\"\n ATMOSPHERE: (11810..11811) \"\n\"\n ATMOSPHERE: (11811..11879) \";; (test `(list ,(+ 1 2) 4) (quasiquote (list (unquote (+ 1 2)) 4)))\"\n ATMOSPHERE: (11879..11881) \"\n\n\"\n ATMOSPHERE: (11881..11896) \";; (define plus\"\n ATMOSPHERE: (11896..11897) \"\n\"\n ATMOSPHERE: (11897..11915) \";; (case-lambda \"\n ATMOSPHERE: (11915..11916) \"\n\"\n ATMOSPHERE: (11916..11928) \";; (() 0)\"\n ATMOSPHERE: (11928..11929) \"\n\"\n ATMOSPHERE: (11929..11942) \";; ((x) x)\"\n ATMOSPHERE: (11942..11943) \"\n\"\n ATMOSPHERE: (11943..11964) \";; ((x y) (+ x y))\"\n ATMOSPHERE: (11964..11965) \"\n\"\n ATMOSPHERE: (11965..11994) \";; ((x y z) (+ (+ x y) z))\"\n ATMOSPHERE: (11994..11995) \"\n\"\n ATMOSPHERE: (11995..12024) \";; (args (apply + args))))\"\n ATMOSPHERE: (12024..12026) \"\n\n\"\n ATMOSPHERE: (12026..12044) \";; (test 0 (plus))\"\n ATMOSPHERE: (12044..12045) \"\n\"\n ATMOSPHERE: (12045..12065) \";; (test 1 (plus 1))\"\n ATMOSPHERE: (12065..12066) \"\n\"\n ATMOSPHERE: (12066..12088) \";; (test 3 (plus 1 2))\"\n ATMOSPHERE: (12088..12089) \"\n\"\n ATMOSPHERE: (12089..12113) \";; (test 6 (plus 1 2 3))\"\n ATMOSPHERE: (12113..12114) \"\n\"\n ATMOSPHERE: (12114..12141) \";; (test 10 (plus 1 2 3 4))\"\n ATMOSPHERE: (12141..12143) \"\n\n\"\n ATMOSPHERE: (12143..12158) \";; (define mult\"\n ATMOSPHERE: (12158..12159) \"\n\"\n ATMOSPHERE: (12159..12176) \";; (case-lambda\"\n ATMOSPHERE: (12176..12177) \"\n\"\n ATMOSPHERE: (12177..12189) \";; (() 1)\"\n ATMOSPHERE: (12189..12190) \"\n\"\n ATMOSPHERE: (12190..12203) \";; ((x) x)\"\n ATMOSPHERE: (12203..12204) \"\n\"\n ATMOSPHERE: (12204..12225) \";; ((x y) (* x y))\"\n ATMOSPHERE: (12225..12226) \"\n\"\n ATMOSPHERE: (12226..12268) \";; ((x y . z) (apply mult (* x y) z))))\"\n ATMOSPHERE: (12268..12270) \"\n\n\"\n ATMOSPHERE: (12270..12288) \";; (test 1 (mult))\"\n ATMOSPHERE: (12288..12289) \"\n\"\n ATMOSPHERE: (12289..12309) \";; (test 1 (mult 1))\"\n ATMOSPHERE: (12309..12310) \"\n\"\n ATMOSPHERE: (12310..12332) \";; (test 2 (mult 1 2))\"\n ATMOSPHERE: (12332..12333) \"\n\"\n ATMOSPHERE: (12333..12357) \";; (test 6 (mult 1 2 3))\"\n ATMOSPHERE: (12357..12358) \"\n\"\n ATMOSPHERE: (12358..12385) \";; (test 24 (mult 1 2 3 4))\"\n ATMOSPHERE: (12385..12387) \"\n\n\"\n FORM: (12387..12397)\n OPEN_PAREN: (12387..12388) \"(\"\n SYMBOL: (12388..12396)\n IDENTIFIER: (12388..12396) \"test-end\"\n CLOSE_PAREN: (12396..12397) \")\"\n ATMOSPHERE: (12397..12399) \"\n\n\"\n FORM: (12399..12424)\n OPEN_PAREN: (12399..12400) \"(\"\n SYMBOL: (12400..12410)\n IDENTIFIER: (12400..12410) \"test-begin\"\n ATMOSPHERE: (12410..12411) \" \"\n CONSTANT: (12411..12423)\n STRING: (12411..12423) \"\"4.3 Macros\"\"\n CLOSE_PAREN: (12423..12424) \")\"\n ATMOSPHERE: (12424..12426) \"\n\n\"\n FORM: (12426..12757)\n OPEN_PAREN: (12426..12427) \"(\"\n SYMBOL: (12427..12431)\n IDENTIFIER: (12427..12431) \"test\"\n ATMOSPHERE: (12431..12432) \" \"\n QUOTED_DATUM: (12432..12437)\n QUOTE: (12432..12433) \"'\"\n SYMBOL: (12433..12436)\n IDENTIFIER: (12433..12436) \"now\"\n ATMOSPHERE: (12436..12437) \" \"\n FORM: (12437..12756)\n OPEN_PAREN: (12437..12438) \"(\"\n SYMBOL: (12438..12448)\n IDENTIFIER: (12438..12448) \"let-syntax\"\n ATMOSPHERE: (12448..12464) \"\n \"\n FORM: (12464..12668)\n OPEN_PAREN: (12464..12465) \"(\"\n FORM: (12465..12667)\n OPEN_PAREN: (12465..12466) \"(\"\n SYMBOL: (12466..12470)\n IDENTIFIER: (12466..12470) \"when\"\n ATMOSPHERE: (12470..12471) \" \"\n FORM: (12471..12666)\n OPEN_PAREN: (12471..12472) \"(\"\n SYMBOL: (12472..12484)\n IDENTIFIER: (12472..12484) \"syntax-rules\"\n ATMOSPHERE: (12484..12485) \" \"\n FORM: (12485..12487)\n OPEN_PAREN: (12485..12486) \"(\"\n CLOSE_PAREN: (12486..12487) \")\"\n ATMOSPHERE: (12487..12512) \"\n \"\n FORM: (12512..12665)\n OPEN_PAREN: (12512..12513) \"(\"\n FORM: (12513..12540)\n OPEN_PAREN: (12513..12514) \"(\"\n SYMBOL: (12514..12518)\n IDENTIFIER: (12514..12518) \"when\"\n ATMOSPHERE: (12518..12519) \" \"\n SYMBOL: (12519..12523)\n IDENTIFIER: (12519..12523) \"test\"\n ATMOSPHERE: (12523..12524) \" \"\n SYMBOL: (12524..12529)\n IDENTIFIER: (12524..12529) \"stmt1\"\n ATMOSPHERE: (12529..12530) \" \"\n SYMBOL: (12530..12535)\n IDENTIFIER: (12530..12535) \"stmt2\"\n ATMOSPHERE: (12535..12536) \" \"\n SYMBOL: (12536..12539)\n IDENTIFIER: (12536..12539) \"...\"\n CLOSE_PAREN: (12539..12540) \")\"\n ATMOSPHERE: (12540..12566) \"\n \"\n FORM: (12566..12664)\n OPEN_PAREN: (12566..12567) \"(\"\n SYMBOL: (12567..12569)\n IDENTIFIER: (12567..12569) \"if\"\n ATMOSPHERE: (12569..12570) \" \"\n SYMBOL: (12570..12574)\n IDENTIFIER: (12570..12574) \"test\"\n ATMOSPHERE: (12574..12604) \"\n \"\n FORM: (12604..12663)\n OPEN_PAREN: (12604..12605) \"(\"\n SYMBOL: (12605..12610)\n IDENTIFIER: (12605..12610) \"begin\"\n ATMOSPHERE: (12610..12611) \" \"\n SYMBOL: (12611..12616)\n IDENTIFIER: (12611..12616) \"stmt1\"\n ATMOSPHERE: (12616..12653) \"\n \"\n SYMBOL: (12653..12658)\n IDENTIFIER: (12653..12658) \"stmt2\"\n ATMOSPHERE: (12658..12659) \" \"\n SYMBOL: (12659..12662)\n IDENTIFIER: (12659..12662) \"...\"\n CLOSE_PAREN: (12662..12663) \")\"\n CLOSE_PAREN: (12663..12664) \")\"\n CLOSE_PAREN: (12664..12665) \")\"\n CLOSE_PAREN: (12665..12666) \")\"\n CLOSE_PAREN: (12666..12667) \")\"\n CLOSE_PAREN: (12667..12668) \")\"\n ATMOSPHERE: (12668..12682) \"\n \"\n FORM: (12682..12755)\n OPEN_PAREN: (12682..12683) \"(\"\n SYMBOL: (12683..12686)\n IDENTIFIER: (12683..12686) \"let\"\n ATMOSPHERE: (12686..12687) \" \"\n FORM: (12687..12696)\n OPEN_PAREN: (12687..12688) \"(\"\n FORM: (12688..12695)\n OPEN_PAREN: (12688..12689) \"(\"\n SYMBOL: (12689..12691)\n IDENTIFIER: (12689..12691) \"if\"\n ATMOSPHERE: (12691..12692) \" \"\n CONSTANT: (12692..12694)\n BOOLEAN: (12692..12694) \"#t\"\n CLOSE_PAREN: (12694..12695) \")\"\n CLOSE_PAREN: (12695..12696) \")\"\n ATMOSPHERE: (12696..12712) \"\n \"\n FORM: (12712..12736)\n OPEN_PAREN: (12712..12713) \"(\"\n SYMBOL: (12713..12717)\n IDENTIFIER: (12713..12717) \"when\"\n ATMOSPHERE: (12717..12718) \" \"\n SYMBOL: (12718..12720)\n IDENTIFIER: (12718..12720) \"if\"\n ATMOSPHERE: (12720..12721) \" \"\n FORM: (12721..12735)\n OPEN_PAREN: (12721..12722) \"(\"\n SYMBOL: (12722..12726)\n IDENTIFIER: (12722..12726) \"set!\"\n ATMOSPHERE: (12726..12727) \" \"\n SYMBOL: (12727..12729)\n IDENTIFIER: (12727..12729) \"if\"\n ATMOSPHERE: (12729..12730) \" \"\n QUOTED_DATUM: (12730..12734)\n QUOTE: (12730..12731) \"'\"\n SYMBOL: (12731..12734)\n IDENTIFIER: (12731..12734) \"now\"\n CLOSE_PAREN: (12734..12735) \")\"\n CLOSE_PAREN: (12735..12736) \")\"\n ATMOSPHERE: (12736..12752) \"\n \"\n SYMBOL: (12752..12754)\n IDENTIFIER: (12752..12754) \"if\"\n CLOSE_PAREN: (12754..12755) \")\"\n CLOSE_PAREN: (12755..12756) \")\"\n CLOSE_PAREN: (12756..12757) \")\"\n ATMOSPHERE: (12757..12759) \"\n\n\"\n FORM: (12759..12871)\n OPEN_PAREN: (12759..12760) \"(\"\n SYMBOL: (12760..12764)\n IDENTIFIER: (12760..12764) \"test\"\n ATMOSPHERE: (12764..12765) \" \"\n QUOTED_DATUM: (12765..12772)\n QUOTE: (12765..12766) \"'\"\n SYMBOL: (12766..12771)\n IDENTIFIER: (12766..12771) \"outer\"\n ATMOSPHERE: (12771..12772) \" \"\n FORM: (12772..12870)\n OPEN_PAREN: (12772..12773) \"(\"\n SYMBOL: (12773..12776)\n IDENTIFIER: (12773..12776) \"let\"\n ATMOSPHERE: (12776..12777) \" \"\n FORM: (12777..12789)\n OPEN_PAREN: (12777..12778) \"(\"\n FORM: (12778..12788)\n OPEN_PAREN: (12778..12779) \"(\"\n SYMBOL: (12779..12780)\n IDENTIFIER: (12779..12780) \"x\"\n ATMOSPHERE: (12780..12781) \" \"\n QUOTED_DATUM: (12781..12787)\n QUOTE: (12781..12782) \"'\"\n SYMBOL: (12782..12787)\n IDENTIFIER: (12782..12787) \"outer\"\n CLOSE_PAREN: (12787..12788) \")\"\n CLOSE_PAREN: (12788..12789) \")\"\n ATMOSPHERE: (12789..12792) \"\n \"\n FORM: (12792..12869)\n OPEN_PAREN: (12792..12793) \"(\"\n SYMBOL: (12793..12803)\n IDENTIFIER: (12793..12803) \"let-syntax\"\n ATMOSPHERE: (12803..12804) \" \"\n FORM: (12804..12835)\n OPEN_PAREN: (12804..12805) \"(\"\n FORM: (12805..12834)\n OPEN_PAREN: (12805..12806) \"(\"\n SYMBOL: (12806..12807)\n IDENTIFIER: (12806..12807) \"m\"\n ATMOSPHERE: (12807..12808) \" \"\n FORM: (12808..12833)\n OPEN_PAREN: (12808..12809) \"(\"\n SYMBOL: (12809..12821)\n IDENTIFIER: (12809..12821) \"syntax-rules\"\n ATMOSPHERE: (12821..12822) \" \"\n FORM: (12822..12824)\n OPEN_PAREN: (12822..12823) \"(\"\n CLOSE_PAREN: (12823..12824) \")\"\n ATMOSPHERE: (12824..12825) \" \"\n FORM: (12825..12832)\n OPEN_PAREN: (12825..12826) \"(\"\n FORM: (12826..12829)\n OPEN_PAREN: (12826..12827) \"(\"\n SYMBOL: (12827..12828)\n IDENTIFIER: (12827..12828) \"m\"\n CLOSE_PAREN: (12828..12829) \")\"\n ATMOSPHERE: (12829..12830) \" \"\n SYMBOL: (12830..12831)\n IDENTIFIER: (12830..12831) \"x\"\n CLOSE_PAREN: (12831..12832) \")\"\n CLOSE_PAREN: (12832..12833) \")\"\n CLOSE_PAREN: (12833..12834) \")\"\n CLOSE_PAREN: (12834..12835) \")\"\n ATMOSPHERE: (12835..12840) \"\n \"\n FORM: (12840..12868)\n OPEN_PAREN: (12840..12841) \"(\"\n SYMBOL: (12841..12844)\n IDENTIFIER: (12841..12844) \"let\"\n ATMOSPHERE: (12844..12845) \" \"\n FORM: (12845..12857)\n OPEN_PAREN: (12845..12846) \"(\"\n FORM: (12846..12856)\n OPEN_PAREN: (12846..12847) \"(\"\n SYMBOL: (12847..12848)\n IDENTIFIER: (12847..12848) \"x\"\n ATMOSPHERE: (12848..12849) \" \"\n QUOTED_DATUM: (12849..12855)\n QUOTE: (12849..12850) \"'\"\n SYMBOL: (12850..12855)\n IDENTIFIER: (12850..12855) \"inner\"\n CLOSE_PAREN: (12855..12856) \")\"\n CLOSE_PAREN: (12856..12857) \")\"\n ATMOSPHERE: (12857..12864) \"\n \"\n FORM: (12864..12867)\n OPEN_PAREN: (12864..12865) \"(\"\n SYMBOL: (12865..12866)\n IDENTIFIER: (12865..12866) \"m\"\n CLOSE_PAREN: (12866..12867) \")\"\n CLOSE_PAREN: (12867..12868) \")\"\n CLOSE_PAREN: (12868..12869) \")\"\n CLOSE_PAREN: (12869..12870) \")\"\n CLOSE_PAREN: (12870..12871) \")\"\n ATMOSPHERE: (12871..12873) \"\n\n\"\n ATMOSPHERE: (12873..12891) \";;; FIXME: hygene?\"\n ATMOSPHERE: (12891..12892) \"\n\"\n ATMOSPHERE: (12892..12917) \";; (test 7 (letrec-syntax\"\n ATMOSPHERE: (12917..12918) \"\n\"\n ATMOSPHERE: (12918..12947) \";; ((my-or (syntax-rules ()\"\n ATMOSPHERE: (12947..12948) \"\n\"\n ATMOSPHERE: (12948..12975) \";; ((my-or) #f)\"\n ATMOSPHERE: (12975..12976) \"\n\"\n ATMOSPHERE: (12976..13004) \";; ((my-or e) e)\"\n ATMOSPHERE: (13004..13005) \"\n\"\n ATMOSPHERE: (13005..13038) \";; ((my-or e1 e2 ...)\"\n ATMOSPHERE: (13038..13039) \"\n\"\n ATMOSPHERE: (13039..13071) \";; (let ((temp e1))\"\n ATMOSPHERE: (13071..13072) \"\n\"\n ATMOSPHERE: (13072..13098) \";; (if temp\"\n ATMOSPHERE: (13098..13099) \"\n\"\n ATMOSPHERE: (13099..13125) \";; temp\"\n ATMOSPHERE: (13125..13126) \"\n\"\n ATMOSPHERE: (13126..13168) \";; (my-or e2 ...)))))))\"\n ATMOSPHERE: (13168..13169) \"\n\"\n ATMOSPHERE: (13169..13186) \";; (let ((x #f)\"\n ATMOSPHERE: (13186..13187) \"\n\"\n ATMOSPHERE: (13187..13203) \";; (y 7)\"\n ATMOSPHERE: (13203..13204) \"\n\"\n ATMOSPHERE: (13204..13223) \";; (temp 8)\"\n ATMOSPHERE: (13223..13224) \"\n\"\n ATMOSPHERE: (13224..13245) \";; (let odd?)\"\n ATMOSPHERE: (13245..13246) \"\n\"\n ATMOSPHERE: (13246..13268) \";; (if even?))\"\n ATMOSPHERE: (13268..13269) \"\n\"\n ATMOSPHERE: (13269..13284) \";; (my-or x\"\n ATMOSPHERE: (13284..13285) \"\n\"\n ATMOSPHERE: (13285..13309) \";; (let temp)\"\n ATMOSPHERE: (13309..13310) \"\n\"\n ATMOSPHERE: (13310..13330) \";; (if y)\"\n ATMOSPHERE: (13330..13331) \"\n\"\n ATMOSPHERE: (13331..13350) \";; y))))\"\n ATMOSPHERE: (13350..13352) \"\n\n\"\n ATMOSPHERE: (13352..13397) \";;; FIXME: quoted elipsis `(... ...)` support\"\n ATMOSPHERE: (13397..13398) \"\n\"\n ATMOSPHERE: (13398..13430) \";; (define-syntax be-like-begin1\"\n ATMOSPHERE: (13430..13431) \"\n\"\n ATMOSPHERE: (13431..13452) \";; (syntax-rules ()\"\n ATMOSPHERE: (13452..13453) \"\n\"\n ATMOSPHERE: (13453..13482) \";; ((be-like-begin1 name)\"\n ATMOSPHERE: (13482..13483) \"\n\"\n ATMOSPHERE: (13483..13510) \";; (define-syntax name\"\n ATMOSPHERE: (13510..13511) \"\n\"\n ATMOSPHERE: (13511..13537) \";; (syntax-rules ()\"\n ATMOSPHERE: (13537..13538) \"\n\"\n ATMOSPHERE: (13538..13572) \";; ((name expr (... ...))\"\n ATMOSPHERE: (13572..13573) \"\n\"\n ATMOSPHERE: (13573..13614) \";; (begin expr (... ...))))))))\"\n ATMOSPHERE: (13614..13615) \"\n\"\n ATMOSPHERE: (13615..13644) \";; (be-like-begin1 sequence1)\"\n ATMOSPHERE: (13644..13645) \"\n\"\n ATMOSPHERE: (13645..13676) \";; (test 3 (sequence1 0 1 2 3))\"\n ATMOSPHERE: (13676..13678) \"\n\n\"\n ATMOSPHERE: (13678..13710) \";; (define-syntax be-like-begin2\"\n ATMOSPHERE: (13710..13711) \"\n\"\n ATMOSPHERE: (13711..13732) \";; (syntax-rules ()\"\n ATMOSPHERE: (13732..13733) \"\n\"\n ATMOSPHERE: (13733..13762) \";; ((be-like-begin2 name)\"\n ATMOSPHERE: (13762..13763) \"\n\"\n ATMOSPHERE: (13763..13790) \";; (define-syntax name\"\n ATMOSPHERE: (13790..13791) \"\n\"\n ATMOSPHERE: (13791..13822) \";; (... (syntax-rules ()\"\n ATMOSPHERE: (13822..13823) \"\n\"\n ATMOSPHERE: (13823..13856) \";; ((name expr ...)\"\n ATMOSPHERE: (13856..13857) \"\n\"\n ATMOSPHERE: (13857..13898) \";; (begin expr ...))))))))\"\n ATMOSPHERE: (13898..13899) \"\n\"\n ATMOSPHERE: (13899..13928) \";; (be-like-begin2 sequence2)\"\n ATMOSPHERE: (13928..13929) \"\n\"\n ATMOSPHERE: (13929..13960) \";; (test 4 (sequence2 1 2 3 4))\"\n ATMOSPHERE: (13960..13962) \"\n\n\"\n FORM: (13962..14152)\n OPEN_PAREN: (13962..13963) \"(\"\n SYMBOL: (13963..13976)\n IDENTIFIER: (13963..13976) \"define-syntax\"\n ATMOSPHERE: (13976..13977) \" \"\n SYMBOL: (13977..13991)\n IDENTIFIER: (13977..13991) \"be-like-begin3\"\n ATMOSPHERE: (13991..13994) \"\n \"\n FORM: (13994..14151)\n OPEN_PAREN: (13994..13995) \"(\"\n SYMBOL: (13995..14007)\n IDENTIFIER: (13995..14007) \"syntax-rules\"\n ATMOSPHERE: (14007..14008) \" \"\n FORM: (14008..14010)\n OPEN_PAREN: (14008..14009) \"(\"\n CLOSE_PAREN: (14009..14010) \")\"\n ATMOSPHERE: (14010..14015) \"\n \"\n FORM: (14015..14150)\n OPEN_PAREN: (14015..14016) \"(\"\n FORM: (14016..14037)\n OPEN_PAREN: (14016..14017) \"(\"\n SYMBOL: (14017..14031)\n IDENTIFIER: (14017..14031) \"be-like-begin3\"\n ATMOSPHERE: (14031..14032) \" \"\n SYMBOL: (14032..14036)\n IDENTIFIER: (14032..14036) \"name\"\n CLOSE_PAREN: (14036..14037) \")\"\n ATMOSPHERE: (14037..14043) \"\n \"\n FORM: (14043..14149)\n OPEN_PAREN: (14043..14044) \"(\"\n SYMBOL: (14044..14057)\n IDENTIFIER: (14044..14057) \"define-syntax\"\n ATMOSPHERE: (14057..14058) \" \"\n SYMBOL: (14058..14062)\n IDENTIFIER: (14058..14062) \"name\"\n ATMOSPHERE: (14062..14070) \"\n \"\n FORM: (14070..14148)\n OPEN_PAREN: (14070..14071) \"(\"\n SYMBOL: (14071..14083)\n IDENTIFIER: (14071..14083) \"syntax-rules\"\n ATMOSPHERE: (14083..14084) \" \"\n SYMBOL: (14084..14088)\n IDENTIFIER: (14084..14088) \"dots\"\n ATMOSPHERE: (14088..14089) \" \"\n FORM: (14089..14091)\n OPEN_PAREN: (14089..14090) \"(\"\n CLOSE_PAREN: (14090..14091) \")\"\n ATMOSPHERE: (14091..14101) \"\n \"\n FORM: (14101..14147)\n OPEN_PAREN: (14101..14102) \"(\"\n FORM: (14102..14118)\n OPEN_PAREN: (14102..14103) \"(\"\n SYMBOL: (14103..14107)\n IDENTIFIER: (14103..14107) \"name\"\n ATMOSPHERE: (14107..14108) \" \"\n SYMBOL: (14108..14112)\n IDENTIFIER: (14108..14112) \"expr\"\n ATMOSPHERE: (14112..14113) \" \"\n SYMBOL: (14113..14117)\n IDENTIFIER: (14113..14117) \"dots\"\n CLOSE_PAREN: (14117..14118) \")\"\n ATMOSPHERE: (14118..14129) \"\n \"\n FORM: (14129..14146)\n OPEN_PAREN: (14129..14130) \"(\"\n SYMBOL: (14130..14135)\n IDENTIFIER: (14130..14135) \"begin\"\n ATMOSPHERE: (14135..14136) \" \"\n SYMBOL: (14136..14140)\n IDENTIFIER: (14136..14140) \"expr\"\n ATMOSPHERE: (14140..14141) \" \"\n SYMBOL: (14141..14145)\n IDENTIFIER: (14141..14145) \"dots\"\n CLOSE_PAREN: (14145..14146) \")\"\n CLOSE_PAREN: (14146..14147) \")\"\n CLOSE_PAREN: (14147..14148) \")\"\n CLOSE_PAREN: (14148..14149) \")\"\n CLOSE_PAREN: (14149..14150) \")\"\n CLOSE_PAREN: (14150..14151) \")\"\n CLOSE_PAREN: (14151..14152) \")\"\n ATMOSPHERE: (14152..14153) \"\n\"\n FORM: (14153..14179)\n OPEN_PAREN: (14153..14154) \"(\"\n SYMBOL: (14154..14168)\n IDENTIFIER: (14154..14168) \"be-like-begin3\"\n ATMOSPHERE: (14168..14169) \" \"\n SYMBOL: (14169..14178)\n IDENTIFIER: (14169..14178) \"sequence3\"\n CLOSE_PAREN: (14178..14179) \")\"\n ATMOSPHERE: (14179..14180) \"\n\"\n FORM: (14180..14208)\n OPEN_PAREN: (14180..14181) \"(\"\n SYMBOL: (14181..14185)\n IDENTIFIER: (14181..14185) \"test\"\n ATMOSPHERE: (14185..14186) \" \"\n CONSTANT: (14186..14187)\n NUMBER: (14186..14187) \"5\"\n ATMOSPHERE: (14187..14188) \" \"\n FORM: (14188..14207)\n OPEN_PAREN: (14188..14189) \"(\"\n SYMBOL: (14189..14198)\n IDENTIFIER: (14189..14198) \"sequence3\"\n ATMOSPHERE: (14198..14199) \" \"\n CONSTANT: (14199..14200)\n NUMBER: (14199..14200) \"2\"\n ATMOSPHERE: (14200..14201) \" \"\n CONSTANT: (14201..14202)\n NUMBER: (14201..14202) \"3\"\n ATMOSPHERE: (14202..14203) \" \"\n CONSTANT: (14203..14204)\n NUMBER: (14203..14204) \"4\"\n ATMOSPHERE: (14204..14205) \" \"\n CONSTANT: (14205..14206)\n NUMBER: (14205..14206) \"5\"\n CLOSE_PAREN: (14206..14207) \")\"\n CLOSE_PAREN: (14207..14208) \")\"\n ATMOSPHERE: (14208..14210) \"\n\n\"\n ATMOSPHERE: (14210..14228) \";; ellipsis escape\"\n ATMOSPHERE: (14228..14229) \"\n\"\n FORM: (14229..14369)\n OPEN_PAREN: (14229..14230) \"(\"\n SYMBOL: (14230..14243)\n IDENTIFIER: (14230..14243) \"define-syntax\"\n ATMOSPHERE: (14243..14244) \" \"\n SYMBOL: (14244..14254)\n IDENTIFIER: (14244..14254) \"elli-esc-1\"\n ATMOSPHERE: (14254..14257) \"\n \"\n FORM: (14257..14368)\n OPEN_PAREN: (14257..14258) \"(\"\n SYMBOL: (14258..14270)\n IDENTIFIER: (14258..14270) \"syntax-rules\"\n ATMOSPHERE: (14270..14271) \" \"\n FORM: (14271..14273)\n OPEN_PAREN: (14271..14272) \"(\"\n CLOSE_PAREN: (14272..14273) \")\"\n ATMOSPHERE: (14273..14278) \"\n \"\n FORM: (14278..14299)\n OPEN_PAREN: (14278..14279) \"(\"\n FORM: (14279..14282)\n OPEN_PAREN: (14279..14280) \"(\"\n SYMBOL: (14280..14281)\n IDENTIFIER: (14280..14281) \"_\"\n CLOSE_PAREN: (14281..14282) \")\"\n ATMOSPHERE: (14282..14288) \"\n \"\n QUOTED_DATUM: (14288..14298)\n QUOTE: (14288..14289) \"'\"\n FORM: (14289..14298)\n OPEN_PAREN: (14289..14290) \"(\"\n SYMBOL: (14290..14293)\n IDENTIFIER: (14290..14293) \"...\"\n ATMOSPHERE: (14293..14294) \" \"\n SYMBOL: (14294..14297)\n IDENTIFIER: (14294..14297) \"...\"\n CLOSE_PAREN: (14297..14298) \")\"\n CLOSE_PAREN: (14298..14299) \")\"\n ATMOSPHERE: (14299..14304) \"\n \"\n FORM: (14304..14331)\n OPEN_PAREN: (14304..14305) \"(\"\n FORM: (14305..14310)\n OPEN_PAREN: (14305..14306) \"(\"\n SYMBOL: (14306..14307)\n IDENTIFIER: (14306..14307) \"_\"\n ATMOSPHERE: (14307..14308) \" \"\n SYMBOL: (14308..14309)\n IDENTIFIER: (14308..14309) \"x\"\n CLOSE_PAREN: (14309..14310) \")\"\n ATMOSPHERE: (14310..14316) \"\n \"\n QUOTED_DATUM: (14316..14330)\n QUOTE: (14316..14317) \"'\"\n FORM: (14317..14330)\n OPEN_PAREN: (14317..14318) \"(\"\n SYMBOL: (14318..14321)\n IDENTIFIER: (14318..14321) \"...\"\n ATMOSPHERE: (14321..14322) \" \"\n FORM: (14322..14329)\n OPEN_PAREN: (14322..14323) \"(\"\n SYMBOL: (14323..14324)\n IDENTIFIER: (14323..14324) \"x\"\n ATMOSPHERE: (14324..14325) \" \"\n SYMBOL: (14325..14328)\n IDENTIFIER: (14325..14328) \"...\"\n CLOSE_PAREN: (14328..14329) \")\"\n CLOSE_PAREN: (14329..14330) \")\"\n CLOSE_PAREN: (14330..14331) \")\"\n ATMOSPHERE: (14331..14336) \"\n \"\n FORM: (14336..14367)\n OPEN_PAREN: (14336..14337) \"(\"\n FORM: (14337..14344)\n OPEN_PAREN: (14337..14338) \"(\"\n SYMBOL: (14338..14339)\n IDENTIFIER: (14338..14339) \"_\"\n ATMOSPHERE: (14339..14340) \" \"\n SYMBOL: (14340..14341)\n IDENTIFIER: (14340..14341) \"x\"\n ATMOSPHERE: (14341..14342) \" \"\n SYMBOL: (14342..14343)\n IDENTIFIER: (14342..14343) \"y\"\n CLOSE_PAREN: (14343..14344) \")\"\n ATMOSPHERE: (14344..14350) \"\n \"\n QUOTED_DATUM: (14350..14366)\n QUOTE: (14350..14351) \"'\"\n FORM: (14351..14366)\n OPEN_PAREN: (14351..14352) \"(\"\n SYMBOL: (14352..14355)\n IDENTIFIER: (14352..14355) \"...\"\n ATMOSPHERE: (14355..14356) \" \"\n FORM: (14356..14365)\n OPEN_PAREN: (14356..14357) \"(\"\n SYMBOL: (14357..14360)\n IDENTIFIER: (14357..14360) \"...\"\n ATMOSPHERE: (14360..14361) \" \"\n SYMBOL: (14361..14362)\n IDENTIFIER: (14361..14362) \"x\"\n ATMOSPHERE: (14362..14363) \" \"\n SYMBOL: (14363..14364)\n IDENTIFIER: (14363..14364) \"y\"\n CLOSE_PAREN: (14364..14365) \")\"\n CLOSE_PAREN: (14365..14366) \")\"\n CLOSE_PAREN: (14366..14367) \")\"\n CLOSE_PAREN: (14367..14368) \")\"\n CLOSE_PAREN: (14368..14369) \")\"\n ATMOSPHERE: (14369..14371) \"\n\n\"\n FORM: (14371..14395)\n OPEN_PAREN: (14371..14372) \"(\"\n SYMBOL: (14372..14376)\n IDENTIFIER: (14372..14376) \"test\"\n ATMOSPHERE: (14376..14377) \" \"\n QUOTED_DATUM: (14377..14382)\n QUOTE: (14377..14378) \"'\"\n SYMBOL: (14378..14381)\n IDENTIFIER: (14378..14381) \"...\"\n ATMOSPHERE: (14381..14382) \" \"\n FORM: (14382..14394)\n OPEN_PAREN: (14382..14383) \"(\"\n SYMBOL: (14383..14393)\n IDENTIFIER: (14383..14393) \"elli-esc-1\"\n CLOSE_PAREN: (14393..14394) \")\"\n CLOSE_PAREN: (14394..14395) \")\"\n ATMOSPHERE: (14395..14396) \"\n\"\n FORM: (14396..14430)\n OPEN_PAREN: (14396..14397) \"(\"\n SYMBOL: (14397..14401)\n IDENTIFIER: (14397..14401) \"test\"\n ATMOSPHERE: (14401..14402) \" \"\n QUOTED_DATUM: (14402..14413)\n QUOTE: (14402..14403) \"'\"\n FORM: (14403..14412)\n OPEN_PAREN: (14403..14404) \"(\"\n CONSTANT: (14404..14407)\n NUMBER: (14404..14407) \"100\"\n ATMOSPHERE: (14407..14408) \" \"\n SYMBOL: (14408..14411)\n IDENTIFIER: (14408..14411) \"...\"\n CLOSE_PAREN: (14411..14412) \")\"\n ATMOSPHERE: (14412..14413) \" \"\n FORM: (14413..14429)\n OPEN_PAREN: (14413..14414) \"(\"\n SYMBOL: (14414..14424)\n IDENTIFIER: (14414..14424) \"elli-esc-1\"\n ATMOSPHERE: (14424..14425) \" \"\n CONSTANT: (14425..14428)\n NUMBER: (14425..14428) \"100\"\n CLOSE_PAREN: (14428..14429) \")\"\n CLOSE_PAREN: (14429..14430) \")\"\n ATMOSPHERE: (14430..14431) \"\n\"\n FORM: (14431..14473)\n OPEN_PAREN: (14431..14432) \"(\"\n SYMBOL: (14432..14436)\n IDENTIFIER: (14432..14436) \"test\"\n ATMOSPHERE: (14436..14437) \" \"\n QUOTED_DATUM: (14437..14452)\n QUOTE: (14437..14438) \"'\"\n FORM: (14438..14451)\n OPEN_PAREN: (14438..14439) \"(\"\n SYMBOL: (14439..14442)\n IDENTIFIER: (14439..14442) \"...\"\n ATMOSPHERE: (14442..14443) \" \"\n CONSTANT: (14443..14446)\n NUMBER: (14443..14446) \"100\"\n ATMOSPHERE: (14446..14447) \" \"\n CONSTANT: (14447..14450)\n NUMBER: (14447..14450) \"200\"\n CLOSE_PAREN: (14450..14451) \")\"\n ATMOSPHERE: (14451..14452) \" \"\n FORM: (14452..14472)\n OPEN_PAREN: (14452..14453) \"(\"\n SYMBOL: (14453..14463)\n IDENTIFIER: (14453..14463) \"elli-esc-1\"\n ATMOSPHERE: (14463..14464) \" \"\n CONSTANT: (14464..14467)\n NUMBER: (14464..14467) \"100\"\n ATMOSPHERE: (14467..14468) \" \"\n CONSTANT: (14468..14471)\n NUMBER: (14468..14471) \"200\"\n CLOSE_PAREN: (14471..14472) \")\"\n CLOSE_PAREN: (14472..14473) \")\"\n ATMOSPHERE: (14473..14475) \"\n\n\"\n ATMOSPHERE: (14475..14532) \";; Syntax pattern with ellipsis in middle of proper list.\"\n ATMOSPHERE: (14532..14533) \"\n\"\n FORM: (14533..14689)\n OPEN_PAREN: (14533..14534) \"(\"\n SYMBOL: (14534..14547)\n IDENTIFIER: (14534..14547) \"define-syntax\"\n ATMOSPHERE: (14547..14548) \" \"\n SYMBOL: (14548..14554)\n IDENTIFIER: (14548..14554) \"part-2\"\n ATMOSPHERE: (14554..14557) \"\n \"\n FORM: (14557..14688)\n OPEN_PAREN: (14557..14558) \"(\"\n SYMBOL: (14558..14570)\n IDENTIFIER: (14558..14570) \"syntax-rules\"\n ATMOSPHERE: (14570..14571) \" \"\n FORM: (14571..14573)\n OPEN_PAREN: (14571..14572) \"(\"\n CLOSE_PAREN: (14572..14573) \")\"\n ATMOSPHERE: (14573..14578) \"\n \"\n FORM: (14578..14663)\n OPEN_PAREN: (14578..14579) \"(\"\n FORM: (14579..14600)\n OPEN_PAREN: (14579..14580) \"(\"\n SYMBOL: (14580..14581)\n IDENTIFIER: (14580..14581) \"_\"\n ATMOSPHERE: (14581..14582) \" \"\n SYMBOL: (14582..14583)\n IDENTIFIER: (14582..14583) \"a\"\n ATMOSPHERE: (14583..14584) \" \"\n SYMBOL: (14584..14585)\n IDENTIFIER: (14584..14585) \"b\"\n ATMOSPHERE: (14585..14586) \" \"\n FORM: (14586..14591)\n OPEN_PAREN: (14586..14587) \"(\"\n SYMBOL: (14587..14588)\n IDENTIFIER: (14587..14588) \"m\"\n ATMOSPHERE: (14588..14589) \" \"\n SYMBOL: (14589..14590)\n IDENTIFIER: (14589..14590) \"n\"\n CLOSE_PAREN: (14590..14591) \")\"\n ATMOSPHERE: (14591..14592) \" \"\n SYMBOL: (14592..14595)\n IDENTIFIER: (14592..14595) \"...\"\n ATMOSPHERE: (14595..14596) \" \"\n SYMBOL: (14596..14597)\n IDENTIFIER: (14596..14597) \"x\"\n ATMOSPHERE: (14597..14598) \" \"\n SYMBOL: (14598..14599)\n IDENTIFIER: (14598..14599) \"y\"\n CLOSE_PAREN: (14599..14600) \")\"\n ATMOSPHERE: (14600..14606) \"\n \"\n FORM: (14606..14662)\n OPEN_PAREN: (14606..14607) \"(\"\n SYMBOL: (14607..14613)\n IDENTIFIER: (14607..14613) \"vector\"\n ATMOSPHERE: (14613..14614) \" \"\n FORM: (14614..14624)\n OPEN_PAREN: (14614..14615) \"(\"\n SYMBOL: (14615..14619)\n IDENTIFIER: (14615..14619) \"list\"\n ATMOSPHERE: (14619..14620) \" \"\n SYMBOL: (14620..14621)\n IDENTIFIER: (14620..14621) \"a\"\n ATMOSPHERE: (14621..14622) \" \"\n SYMBOL: (14622..14623)\n IDENTIFIER: (14622..14623) \"b\"\n CLOSE_PAREN: (14623..14624) \")\"\n ATMOSPHERE: (14624..14625) \" \"\n FORM: (14625..14637)\n OPEN_PAREN: (14625..14626) \"(\"\n SYMBOL: (14626..14630)\n IDENTIFIER: (14626..14630) \"list\"\n ATMOSPHERE: (14630..14631) \" \"\n SYMBOL: (14631..14632)\n IDENTIFIER: (14631..14632) \"m\"\n ATMOSPHERE: (14632..14633) \" \"\n SYMBOL: (14633..14636)\n IDENTIFIER: (14633..14636) \"...\"\n CLOSE_PAREN: (14636..14637) \")\"\n ATMOSPHERE: (14637..14638) \" \"\n FORM: (14638..14650)\n OPEN_PAREN: (14638..14639) \"(\"\n SYMBOL: (14639..14643)\n IDENTIFIER: (14639..14643) \"list\"\n ATMOSPHERE: (14643..14644) \" \"\n SYMBOL: (14644..14645)\n IDENTIFIER: (14644..14645) \"n\"\n ATMOSPHERE: (14645..14646) \" \"\n SYMBOL: (14646..14649)\n IDENTIFIER: (14646..14649) \"...\"\n CLOSE_PAREN: (14649..14650) \")\"\n ATMOSPHERE: (14650..14651) \" \"\n FORM: (14651..14661)\n OPEN_PAREN: (14651..14652) \"(\"\n SYMBOL: (14652..14656)\n IDENTIFIER: (14652..14656) \"list\"\n ATMOSPHERE: (14656..14657) \" \"\n SYMBOL: (14657..14658)\n IDENTIFIER: (14657..14658) \"x\"\n ATMOSPHERE: (14658..14659) \" \"\n SYMBOL: (14659..14660)\n IDENTIFIER: (14659..14660) \"y\"\n CLOSE_PAREN: (14660..14661) \")\"\n CLOSE_PAREN: (14661..14662) \")\"\n CLOSE_PAREN: (14662..14663) \")\"\n ATMOSPHERE: (14663..14668) \"\n \"\n FORM: (14668..14687)\n OPEN_PAREN: (14668..14669) \"(\"\n FORM: (14669..14679)\n OPEN_PAREN: (14669..14670) \"(\"\n SYMBOL: (14670..14671)\n IDENTIFIER: (14670..14671) \"_\"\n ATMOSPHERE: (14671..14672) \" \"\n DOTTED_TAIL: (14672..14678)\n DOT: (14672..14673) \".\"\n ATMOSPHERE: (14673..14674) \" \"\n SYMBOL: (14674..14678)\n IDENTIFIER: (14674..14678) \"rest\"\n CLOSE_PAREN: (14678..14679) \")\"\n ATMOSPHERE: (14679..14680) \" \"\n QUOTED_DATUM: (14680..14686)\n QUOTE: (14680..14681) \"'\"\n SYMBOL: (14681..14686)\n IDENTIFIER: (14681..14686) \"error\"\n CLOSE_PAREN: (14686..14687) \")\"\n CLOSE_PAREN: (14687..14688) \")\"\n CLOSE_PAREN: (14688..14689) \")\"\n ATMOSPHERE: (14689..14690) \"\n\"\n FORM: (14690..14800)\n OPEN_PAREN: (14690..14691) \"(\"\n SYMBOL: (14691..14695)\n IDENTIFIER: (14691..14695) \"test\"\n ATMOSPHERE: (14695..14696) \" \"\n QUOTED_DATUM: (14696..14742)\n QUOTE: (14696..14697) \"'\"\n VEC: (14697..14737)\n OPEN_PAREN: (14697..14699) \"#(\"\n FORM: (14699..14706)\n OPEN_PAREN: (14699..14700) \"(\"\n CONSTANT: (14700..14702)\n NUMBER: (14700..14702) \"10\"\n ATMOSPHERE: (14702..14703) \" \"\n CONSTANT: (14703..14705)\n NUMBER: (14703..14705) \"43\"\n CLOSE_PAREN: (14705..14706) \")\"\n ATMOSPHERE: (14706..14707) \" \"\n FORM: (14707..14717)\n OPEN_PAREN: (14707..14708) \"(\"\n CONSTANT: (14708..14710)\n NUMBER: (14708..14710) \"31\"\n ATMOSPHERE: (14710..14711) \" \"\n CONSTANT: (14711..14713)\n NUMBER: (14711..14713) \"41\"\n ATMOSPHERE: (14713..14714) \" \"\n CONSTANT: (14714..14716)\n NUMBER: (14714..14716) \"51\"\n CLOSE_PAREN: (14716..14717) \")\"\n ATMOSPHERE: (14717..14718) \" \"\n FORM: (14718..14728)\n OPEN_PAREN: (14718..14719) \"(\"\n CONSTANT: (14719..14721)\n NUMBER: (14719..14721) \"32\"\n ATMOSPHERE: (14721..14722) \" \"\n CONSTANT: (14722..14724)\n NUMBER: (14722..14724) \"42\"\n ATMOSPHERE: (14724..14725) \" \"\n CONSTANT: (14725..14727)\n NUMBER: (14725..14727) \"52\"\n CLOSE_PAREN: (14727..14728) \")\"\n ATMOSPHERE: (14728..14729) \" \"\n FORM: (14729..14736)\n OPEN_PAREN: (14729..14730) \"(\"\n CONSTANT: (14730..14732)\n NUMBER: (14730..14732) \"63\"\n ATMOSPHERE: (14732..14733) \" \"\n CONSTANT: (14733..14735)\n NUMBER: (14733..14735) \"77\"\n CLOSE_PAREN: (14735..14736) \")\"\n CLOSE_PAREN: (14736..14737) \")\"\n ATMOSPHERE: (14737..14742) \"\n \"\n FORM: (14742..14799)\n OPEN_PAREN: (14742..14743) \"(\"\n SYMBOL: (14743..14749)\n IDENTIFIER: (14743..14749) \"part-2\"\n ATMOSPHERE: (14749..14750) \" \"\n CONSTANT: (14750..14752)\n NUMBER: (14750..14752) \"10\"\n ATMOSPHERE: (14752..14753) \" \"\n FORM: (14753..14762)\n OPEN_PAREN: (14753..14754) \"(\"\n SYMBOL: (14754..14755)\n IDENTIFIER: (14754..14755) \"+\"\n ATMOSPHERE: (14755..14756) \" \"\n CONSTANT: (14756..14758)\n NUMBER: (14756..14758) \"21\"\n ATMOSPHERE: (14758..14759) \" \"\n CONSTANT: (14759..14761)\n NUMBER: (14759..14761) \"22\"\n CLOSE_PAREN: (14761..14762) \")\"\n ATMOSPHERE: (14762..14763) \" \"\n FORM: (14763..14770)\n OPEN_PAREN: (14763..14764) \"(\"\n CONSTANT: (14764..14766)\n NUMBER: (14764..14766) \"31\"\n ATMOSPHERE: (14766..14767) \" \"\n CONSTANT: (14767..14769)\n NUMBER: (14767..14769) \"32\"\n CLOSE_PAREN: (14769..14770) \")\"\n ATMOSPHERE: (14770..14771) \" \"\n FORM: (14771..14778)\n OPEN_PAREN: (14771..14772) \"(\"\n CONSTANT: (14772..14774)\n NUMBER: (14772..14774) \"41\"\n ATMOSPHERE: (14774..14775) \" \"\n CONSTANT: (14775..14777)\n NUMBER: (14775..14777) \"42\"\n CLOSE_PAREN: (14777..14778) \")\"\n ATMOSPHERE: (14778..14779) \" \"\n FORM: (14779..14786)\n OPEN_PAREN: (14779..14780) \"(\"\n CONSTANT: (14780..14782)\n NUMBER: (14780..14782) \"51\"\n ATMOSPHERE: (14782..14783) \" \"\n CONSTANT: (14783..14785)\n NUMBER: (14783..14785) \"52\"\n CLOSE_PAREN: (14785..14786) \")\"\n ATMOSPHERE: (14786..14787) \" \"\n FORM: (14787..14795)\n OPEN_PAREN: (14787..14788) \"(\"\n SYMBOL: (14788..14789)\n IDENTIFIER: (14788..14789) \"+\"\n ATMOSPHERE: (14789..14790) \" \"\n CONSTANT: (14790..14792)\n NUMBER: (14790..14792) \"61\"\n ATMOSPHERE: (14792..14793) \" \"\n CONSTANT: (14793..14794)\n NUMBER: (14793..14794) \"2\"\n CLOSE_PAREN: (14794..14795) \")\"\n ATMOSPHERE: (14795..14796) \" \"\n CONSTANT: (14796..14798)\n NUMBER: (14796..14798) \"77\"\n CLOSE_PAREN: (14798..14799) \")\"\n CLOSE_PAREN: (14799..14800) \")\"\n ATMOSPHERE: (14800..14801) \"\n\"\n ATMOSPHERE: (14801..14863) \";; ;; Syntax pattern with ellipsis in middle of improper list.\"\n ATMOSPHERE: (14863..14864) \"\n\"\n ATMOSPHERE: (14864..14889) \";; (define-syntax part-2x\"\n ATMOSPHERE: (14889..14890) \"\n\"\n ATMOSPHERE: (14890..14911) \";; (syntax-rules ()\"\n ATMOSPHERE: (14911..14912) \"\n\"\n ATMOSPHERE: (14912..14950) \";; ((_ (a b (m n) ... x y . rest))\"\n ATMOSPHERE: (14950..14951) \"\n\"\n ATMOSPHERE: (14951..15014) \";; (vector (list a b) (list m ...) (list n ...) (list x y)\"\n ATMOSPHERE: (15014..15015) \"\n\"\n ATMOSPHERE: (15015..15053) \";; (cons \"rest:\" 'rest)))\"\n ATMOSPHERE: (15053..15054) \"\n\"\n ATMOSPHERE: (15054..15082) \";; ((_ . rest) 'error)))\"\n ATMOSPHERE: (15082..15083) \"\n\"\n ATMOSPHERE: (15083..15143) \";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\"))\"\n ATMOSPHERE: (15143..15144) \"\n\"\n ATMOSPHERE: (15144..15212) \";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77)))\"\n ATMOSPHERE: (15212..15213) \"\n\"\n ATMOSPHERE: (15213..15282) \";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\" . \"tail\"))\"\n ATMOSPHERE: (15282..15283) \"\n\"\n ATMOSPHERE: (15283..15360) \";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . \"tail\")))\"\n ATMOSPHERE: (15360..15362) \"\n\n\"\n ATMOSPHERE: (15362..15375) \";; underscore\"\n ATMOSPHERE: (15375..15376) \"\n\"\n FORM: (15376..15439)\n OPEN_PAREN: (15376..15377) \"(\"\n SYMBOL: (15377..15390)\n IDENTIFIER: (15377..15390) \"define-syntax\"\n ATMOSPHERE: (15390..15391) \" \"\n SYMBOL: (15391..15401)\n IDENTIFIER: (15391..15401) \"underscore\"\n ATMOSPHERE: (15401..15404) \"\n \"\n FORM: (15404..15438)\n OPEN_PAREN: (15404..15405) \"(\"\n SYMBOL: (15405..15417)\n IDENTIFIER: (15405..15417) \"syntax-rules\"\n ATMOSPHERE: (15417..15418) \" \"\n FORM: (15418..15420)\n OPEN_PAREN: (15418..15419) \"(\"\n CLOSE_PAREN: (15419..15420) \")\"\n ATMOSPHERE: (15420..15425) \"\n \"\n FORM: (15425..15437)\n OPEN_PAREN: (15425..15426) \"(\"\n FORM: (15426..15433)\n OPEN_PAREN: (15426..15427) \"(\"\n SYMBOL: (15427..15430)\n IDENTIFIER: (15427..15430) \"foo\"\n ATMOSPHERE: (15430..15431) \" \"\n SYMBOL: (15431..15432)\n IDENTIFIER: (15431..15432) \"_\"\n CLOSE_PAREN: (15432..15433) \")\"\n ATMOSPHERE: (15433..15434) \" \"\n QUOTED_DATUM: (15434..15436)\n QUOTE: (15434..15435) \"'\"\n SYMBOL: (15435..15436)\n IDENTIFIER: (15435..15436) \"_\"\n CLOSE_PAREN: (15436..15437) \")\"\n CLOSE_PAREN: (15437..15438) \")\"\n CLOSE_PAREN: (15438..15439) \")\"\n ATMOSPHERE: (15439..15440) \"\n\"\n FORM: (15440..15466)\n OPEN_PAREN: (15440..15441) \"(\"\n SYMBOL: (15441..15445)\n IDENTIFIER: (15441..15445) \"test\"\n ATMOSPHERE: (15445..15446) \" \"\n QUOTED_DATUM: (15446..15449)\n QUOTE: (15446..15447) \"'\"\n SYMBOL: (15447..15448)\n IDENTIFIER: (15447..15448) \"_\"\n ATMOSPHERE: (15448..15449) \" \"\n FORM: (15449..15465)\n OPEN_PAREN: (15449..15450) \"(\"\n SYMBOL: (15450..15460)\n IDENTIFIER: (15450..15460) \"underscore\"\n ATMOSPHERE: (15460..15461) \" \"\n SYMBOL: (15461..15464)\n IDENTIFIER: (15461..15464) \"foo\"\n CLOSE_PAREN: (15464..15465) \")\"\n CLOSE_PAREN: (15465..15466) \")\"\n ATMOSPHERE: (15466..15468) \"\n\n\"\n FORM: (15468..15595)\n OPEN_PAREN: (15468..15469) \"(\"\n SYMBOL: (15469..15472)\n IDENTIFIER: (15469..15472) \"let\"\n ATMOSPHERE: (15472..15473) \" \"\n FORM: (15473..15475)\n OPEN_PAREN: (15473..15474) \"(\"\n CLOSE_PAREN: (15474..15475) \")\"\n ATMOSPHERE: (15475..15478) \"\n \"\n FORM: (15478..15562)\n OPEN_PAREN: (15478..15479) \"(\"\n SYMBOL: (15479..15492)\n IDENTIFIER: (15479..15492) \"define-syntax\"\n ATMOSPHERE: (15492..15493) \" \"\n SYMBOL: (15493..15504)\n IDENTIFIER: (15493..15504) \"underscore2\"\n ATMOSPHERE: (15504..15509) \"\n \"\n FORM: (15509..15561)\n OPEN_PAREN: (15509..15510) \"(\"\n SYMBOL: (15510..15522)\n IDENTIFIER: (15510..15522) \"syntax-rules\"\n ATMOSPHERE: (15522..15523) \" \"\n FORM: (15523..15525)\n OPEN_PAREN: (15523..15524) \"(\"\n CLOSE_PAREN: (15524..15525) \")\"\n ATMOSPHERE: (15525..15532) \"\n \"\n FORM: (15532..15560)\n OPEN_PAREN: (15532..15533) \"(\"\n FORM: (15533..15556)\n OPEN_PAREN: (15533..15534) \"(\"\n SYMBOL: (15534..15545)\n IDENTIFIER: (15534..15545) \"underscore2\"\n ATMOSPHERE: (15545..15546) \" \"\n FORM: (15546..15551)\n OPEN_PAREN: (15546..15547) \"(\"\n SYMBOL: (15547..15548)\n IDENTIFIER: (15547..15548) \"a\"\n ATMOSPHERE: (15548..15549) \" \"\n SYMBOL: (15549..15550)\n IDENTIFIER: (15549..15550) \"_\"\n CLOSE_PAREN: (15550..15551) \")\"\n ATMOSPHERE: (15551..15552) \" \"\n SYMBOL: (15552..15555)\n IDENTIFIER: (15552..15555) \"...\"\n CLOSE_PAREN: (15555..15556) \")\"\n ATMOSPHERE: (15556..15557) \" \"\n CONSTANT: (15557..15559)\n NUMBER: (15557..15559) \"42\"\n CLOSE_PAREN: (15559..15560) \")\"\n CLOSE_PAREN: (15560..15561) \")\"\n CLOSE_PAREN: (15561..15562) \")\"\n ATMOSPHERE: (15562..15565) \"\n \"\n FORM: (15565..15594)\n OPEN_PAREN: (15565..15566) \"(\"\n SYMBOL: (15566..15570)\n IDENTIFIER: (15566..15570) \"test\"\n ATMOSPHERE: (15570..15571) \" \"\n CONSTANT: (15571..15573)\n NUMBER: (15571..15573) \"42\"\n ATMOSPHERE: (15573..15574) \" \"\n FORM: (15574..15593)\n OPEN_PAREN: (15574..15575) \"(\"\n SYMBOL: (15575..15586)\n IDENTIFIER: (15575..15586) \"underscore2\"\n ATMOSPHERE: (15586..15587) \" \"\n FORM: (15587..15592)\n OPEN_PAREN: (15587..15588) \"(\"\n CONSTANT: (15588..15589)\n NUMBER: (15588..15589) \"1\"\n ATMOSPHERE: (15589..15590) \" \"\n CONSTANT: (15590..15591)\n NUMBER: (15590..15591) \"2\"\n CLOSE_PAREN: (15591..15592) \")\"\n CLOSE_PAREN: (15592..15593) \")\"\n CLOSE_PAREN: (15593..15594) \")\"\n CLOSE_PAREN: (15594..15595) \")\"\n ATMOSPHERE: (15595..15597) \"\n\n\"\n FORM: (15597..15705)\n OPEN_PAREN: (15597..15598) \"(\"\n SYMBOL: (15598..15611)\n IDENTIFIER: (15598..15611) \"define-syntax\"\n ATMOSPHERE: (15611..15612) \" \"\n SYMBOL: (15612..15622)\n IDENTIFIER: (15612..15622) \"count-to-2\"\n ATMOSPHERE: (15622..15625) \"\n \"\n FORM: (15625..15704)\n OPEN_PAREN: (15625..15626) \"(\"\n SYMBOL: (15626..15638)\n IDENTIFIER: (15626..15638) \"syntax-rules\"\n ATMOSPHERE: (15638..15639) \" \"\n FORM: (15639..15641)\n OPEN_PAREN: (15639..15640) \"(\"\n CLOSE_PAREN: (15640..15641) \")\"\n ATMOSPHERE: (15641..15646) \"\n \"\n FORM: (15646..15653)\n OPEN_PAREN: (15646..15647) \"(\"\n FORM: (15647..15650)\n OPEN_PAREN: (15647..15648) \"(\"\n SYMBOL: (15648..15649)\n IDENTIFIER: (15648..15649) \"_\"\n CLOSE_PAREN: (15649..15650) \")\"\n ATMOSPHERE: (15650..15651) \" \"\n CONSTANT: (15651..15652)\n NUMBER: (15651..15652) \"0\"\n CLOSE_PAREN: (15652..15653) \")\"\n ATMOSPHERE: (15653..15658) \"\n \"\n FORM: (15658..15667)\n OPEN_PAREN: (15658..15659) \"(\"\n FORM: (15659..15664)\n OPEN_PAREN: (15659..15660) \"(\"\n SYMBOL: (15660..15661)\n IDENTIFIER: (15660..15661) \"_\"\n ATMOSPHERE: (15661..15662) \" \"\n SYMBOL: (15662..15663)\n IDENTIFIER: (15662..15663) \"_\"\n CLOSE_PAREN: (15663..15664) \")\"\n ATMOSPHERE: (15664..15665) \" \"\n CONSTANT: (15665..15666)\n NUMBER: (15665..15666) \"1\"\n CLOSE_PAREN: (15666..15667) \")\"\n ATMOSPHERE: (15667..15672) \"\n \"\n FORM: (15672..15683)\n OPEN_PAREN: (15672..15673) \"(\"\n FORM: (15673..15680)\n OPEN_PAREN: (15673..15674) \"(\"\n SYMBOL: (15674..15675)\n IDENTIFIER: (15674..15675) \"_\"\n ATMOSPHERE: (15675..15676) \" \"\n SYMBOL: (15676..15677)\n IDENTIFIER: (15676..15677) \"_\"\n ATMOSPHERE: (15677..15678) \" \"\n SYMBOL: (15678..15679)\n IDENTIFIER: (15678..15679) \"_\"\n CLOSE_PAREN: (15679..15680) \")\"\n ATMOSPHERE: (15680..15681) \" \"\n CONSTANT: (15681..15682)\n NUMBER: (15681..15682) \"2\"\n CLOSE_PAREN: (15682..15683) \")\"\n ATMOSPHERE: (15683..15688) \"\n \"\n FORM: (15688..15703)\n OPEN_PAREN: (15688..15689) \"(\"\n FORM: (15689..15696)\n OPEN_PAREN: (15689..15690) \"(\"\n SYMBOL: (15690..15691)\n IDENTIFIER: (15690..15691) \"_\"\n ATMOSPHERE: (15691..15692) \" \"\n DOTTED_TAIL: (15692..15695)\n DOT: (15692..15693) \".\"\n ATMOSPHERE: (15693..15694) \" \"\n SYMBOL: (15694..15695)\n IDENTIFIER: (15694..15695) \"_\"\n CLOSE_PAREN: (15695..15696) \")\"\n ATMOSPHERE: (15696..15697) \" \"\n QUOTED_DATUM: (15697..15702)\n QUOTE: (15697..15698) \"'\"\n SYMBOL: (15698..15702)\n IDENTIFIER: (15698..15702) \"many\"\n CLOSE_PAREN: (15702..15703) \")\"\n CLOSE_PAREN: (15703..15704) \")\"\n CLOSE_PAREN: (15704..15705) \")\"\n ATMOSPHERE: (15705..15706) \"\n\"\n FORM: (15706..15786)\n OPEN_PAREN: (15706..15707) \"(\"\n SYMBOL: (15707..15711)\n IDENTIFIER: (15707..15711) \"test\"\n ATMOSPHERE: (15711..15712) \" \"\n QUOTED_DATUM: (15712..15728)\n QUOTE: (15712..15713) \"'\"\n FORM: (15713..15723)\n OPEN_PAREN: (15713..15714) \"(\"\n CONSTANT: (15714..15715)\n NUMBER: (15714..15715) \"2\"\n ATMOSPHERE: (15715..15716) \" \"\n CONSTANT: (15716..15717)\n NUMBER: (15716..15717) \"0\"\n ATMOSPHERE: (15717..15718) \" \"\n SYMBOL: (15718..15722)\n IDENTIFIER: (15718..15722) \"many\"\n CLOSE_PAREN: (15722..15723) \")\"\n ATMOSPHERE: (15723..15728) \"\n \"\n FORM: (15728..15785)\n OPEN_PAREN: (15728..15729) \"(\"\n SYMBOL: (15729..15733)\n IDENTIFIER: (15729..15733) \"list\"\n ATMOSPHERE: (15733..15734) \" \"\n FORM: (15734..15750)\n OPEN_PAREN: (15734..15735) \"(\"\n SYMBOL: (15735..15745)\n IDENTIFIER: (15735..15745) \"count-to-2\"\n ATMOSPHERE: (15745..15746) \" \"\n SYMBOL: (15746..15747)\n IDENTIFIER: (15746..15747) \"a\"\n ATMOSPHERE: (15747..15748) \" \"\n SYMBOL: (15748..15749)\n IDENTIFIER: (15748..15749) \"b\"\n CLOSE_PAREN: (15749..15750) \")\"\n ATMOSPHERE: (15750..15751) \" \"\n FORM: (15751..15763)\n OPEN_PAREN: (15751..15752) \"(\"\n SYMBOL: (15752..15762)\n IDENTIFIER: (15752..15762) \"count-to-2\"\n CLOSE_PAREN: (15762..15763) \")\"\n ATMOSPHERE: (15763..15764) \" \"\n FORM: (15764..15784)\n OPEN_PAREN: (15764..15765) \"(\"\n SYMBOL: (15765..15775)\n IDENTIFIER: (15765..15775) \"count-to-2\"\n ATMOSPHERE: (15775..15776) \" \"\n SYMBOL: (15776..15777)\n IDENTIFIER: (15776..15777) \"a\"\n ATMOSPHERE: (15777..15778) \" \"\n SYMBOL: (15778..15779)\n IDENTIFIER: (15778..15779) \"b\"\n ATMOSPHERE: (15779..15780) \" \"\n SYMBOL: (15780..15781)\n IDENTIFIER: (15780..15781) \"c\"\n ATMOSPHERE: (15781..15782) \" \"\n SYMBOL: (15782..15783)\n IDENTIFIER: (15782..15783) \"d\"\n CLOSE_PAREN: (15783..15784) \")\"\n CLOSE_PAREN: (15784..15785) \")\"\n CLOSE_PAREN: (15785..15786) \")\"\n ATMOSPHERE: (15786..15788) \"\n\n\"\n FORM: (15788..15898)\n OPEN_PAREN: (15788..15789) \"(\"\n SYMBOL: (15789..15802)\n IDENTIFIER: (15789..15802) \"define-syntax\"\n ATMOSPHERE: (15802..15803) \" \"\n SYMBOL: (15803..15814)\n IDENTIFIER: (15803..15814) \"count-to-2_\"\n ATMOSPHERE: (15814..15817) \"\n \"\n FORM: (15817..15897)\n OPEN_PAREN: (15817..15818) \"(\"\n SYMBOL: (15818..15830)\n IDENTIFIER: (15818..15830) \"syntax-rules\"\n ATMOSPHERE: (15830..15831) \" \"\n FORM: (15831..15834)\n OPEN_PAREN: (15831..15832) \"(\"\n SYMBOL: (15832..15833)\n IDENTIFIER: (15832..15833) \"_\"\n CLOSE_PAREN: (15833..15834) \")\"\n ATMOSPHERE: (15834..15839) \"\n \"\n FORM: (15839..15846)\n OPEN_PAREN: (15839..15840) \"(\"\n FORM: (15840..15843)\n OPEN_PAREN: (15840..15841) \"(\"\n SYMBOL: (15841..15842)\n IDENTIFIER: (15841..15842) \"_\"\n CLOSE_PAREN: (15842..15843) \")\"\n ATMOSPHERE: (15843..15844) \" \"\n CONSTANT: (15844..15845)\n NUMBER: (15844..15845) \"0\"\n CLOSE_PAREN: (15845..15846) \")\"\n ATMOSPHERE: (15846..15851) \"\n \"\n FORM: (15851..15860)\n OPEN_PAREN: (15851..15852) \"(\"\n FORM: (15852..15857)\n OPEN_PAREN: (15852..15853) \"(\"\n SYMBOL: (15853..15854)\n IDENTIFIER: (15853..15854) \"_\"\n ATMOSPHERE: (15854..15855) \" \"\n SYMBOL: (15855..15856)\n IDENTIFIER: (15855..15856) \"_\"\n CLOSE_PAREN: (15856..15857) \")\"\n ATMOSPHERE: (15857..15858) \" \"\n CONSTANT: (15858..15859)\n NUMBER: (15858..15859) \"1\"\n CLOSE_PAREN: (15859..15860) \")\"\n ATMOSPHERE: (15860..15865) \"\n \"\n FORM: (15865..15876)\n OPEN_PAREN: (15865..15866) \"(\"\n FORM: (15866..15873)\n OPEN_PAREN: (15866..15867) \"(\"\n SYMBOL: (15867..15868)\n IDENTIFIER: (15867..15868) \"_\"\n ATMOSPHERE: (15868..15869) \" \"\n SYMBOL: (15869..15870)\n IDENTIFIER: (15869..15870) \"_\"\n ATMOSPHERE: (15870..15871) \" \"\n SYMBOL: (15871..15872)\n IDENTIFIER: (15871..15872) \"_\"\n CLOSE_PAREN: (15872..15873) \")\"\n ATMOSPHERE: (15873..15874) \" \"\n CONSTANT: (15874..15875)\n NUMBER: (15874..15875) \"2\"\n CLOSE_PAREN: (15875..15876) \")\"\n ATMOSPHERE: (15876..15881) \"\n \"\n FORM: (15881..15896)\n OPEN_PAREN: (15881..15882) \"(\"\n FORM: (15882..15889)\n OPEN_PAREN: (15882..15883) \"(\"\n SYMBOL: (15883..15884)\n IDENTIFIER: (15883..15884) \"x\"\n ATMOSPHERE: (15884..15885) \" \"\n DOTTED_TAIL: (15885..15888)\n DOT: (15885..15886) \".\"\n ATMOSPHERE: (15886..15887) \" \"\n SYMBOL: (15887..15888)\n IDENTIFIER: (15887..15888) \"y\"\n CLOSE_PAREN: (15888..15889) \")\"\n ATMOSPHERE: (15889..15890) \" \"\n QUOTED_DATUM: (15890..15895)\n QUOTE: (15890..15891) \"'\"\n SYMBOL: (15891..15895)\n IDENTIFIER: (15891..15895) \"fail\"\n CLOSE_PAREN: (15895..15896) \")\"\n CLOSE_PAREN: (15896..15897) \")\"\n CLOSE_PAREN: (15897..15898) \")\"\n ATMOSPHERE: (15898..15899) \"\n\"\n FORM: (15899..16015)\n OPEN_PAREN: (15899..15900) \"(\"\n SYMBOL: (15900..15904)\n IDENTIFIER: (15900..15904) \"test\"\n ATMOSPHERE: (15904..15905) \" \"\n QUOTED_DATUM: (15905..15926)\n QUOTE: (15905..15906) \"'\"\n FORM: (15906..15921)\n OPEN_PAREN: (15906..15907) \"(\"\n CONSTANT: (15907..15908)\n NUMBER: (15907..15908) \"2\"\n ATMOSPHERE: (15908..15909) \" \"\n CONSTANT: (15909..15910)\n NUMBER: (15909..15910) \"0\"\n ATMOSPHERE: (15910..15911) \" \"\n SYMBOL: (15911..15915)\n IDENTIFIER: (15911..15915) \"fail\"\n ATMOSPHERE: (15915..15916) \" \"\n SYMBOL: (15916..15920)\n IDENTIFIER: (15916..15920) \"fail\"\n CLOSE_PAREN: (15920..15921) \")\"\n ATMOSPHERE: (15921..15926) \"\n \"\n FORM: (15926..16014)\n OPEN_PAREN: (15926..15927) \"(\"\n SYMBOL: (15927..15931)\n IDENTIFIER: (15927..15931) \"list\"\n ATMOSPHERE: (15931..15932) \" \"\n FORM: (15932..15949)\n OPEN_PAREN: (15932..15933) \"(\"\n SYMBOL: (15933..15944)\n IDENTIFIER: (15933..15944) \"count-to-2_\"\n ATMOSPHERE: (15944..15945) \" \"\n SYMBOL: (15945..15946)\n IDENTIFIER: (15945..15946) \"_\"\n ATMOSPHERE: (15946..15947) \" \"\n SYMBOL: (15947..15948)\n IDENTIFIER: (15947..15948) \"_\"\n CLOSE_PAREN: (15948..15949) \")\"\n ATMOSPHERE: (15949..15950) \" \"\n FORM: (15950..15963)\n OPEN_PAREN: (15950..15951) \"(\"\n SYMBOL: (15951..15962)\n IDENTIFIER: (15951..15962) \"count-to-2_\"\n CLOSE_PAREN: (15962..15963) \")\"\n ATMOSPHERE: (15963..15974) \"\n \"\n FORM: (15974..15991)\n OPEN_PAREN: (15974..15975) \"(\"\n SYMBOL: (15975..15986)\n IDENTIFIER: (15975..15986) \"count-to-2_\"\n ATMOSPHERE: (15986..15987) \" \"\n SYMBOL: (15987..15988)\n IDENTIFIER: (15987..15988) \"a\"\n ATMOSPHERE: (15988..15989) \" \"\n SYMBOL: (15989..15990)\n IDENTIFIER: (15989..15990) \"b\"\n CLOSE_PAREN: (15990..15991) \")\"\n ATMOSPHERE: (15991..15992) \" \"\n FORM: (15992..16013)\n OPEN_PAREN: (15992..15993) \"(\"\n SYMBOL: (15993..16004)\n IDENTIFIER: (15993..16004) \"count-to-2_\"\n ATMOSPHERE: (16004..16005) \" \"\n SYMBOL: (16005..16006)\n IDENTIFIER: (16005..16006) \"a\"\n ATMOSPHERE: (16006..16007) \" \"\n SYMBOL: (16007..16008)\n IDENTIFIER: (16007..16008) \"b\"\n ATMOSPHERE: (16008..16009) \" \"\n SYMBOL: (16009..16010)\n IDENTIFIER: (16009..16010) \"c\"\n ATMOSPHERE: (16010..16011) \" \"\n SYMBOL: (16011..16012)\n IDENTIFIER: (16011..16012) \"d\"\n CLOSE_PAREN: (16012..16013) \")\"\n CLOSE_PAREN: (16013..16014) \")\"\n CLOSE_PAREN: (16014..16015) \")\"\n ATMOSPHERE: (16015..16017) \"\n\n\"\n FORM: (16017..16209)\n OPEN_PAREN: (16017..16018) \"(\"\n SYMBOL: (16018..16031)\n IDENTIFIER: (16018..16031) \"define-syntax\"\n ATMOSPHERE: (16031..16032) \" \"\n SYMBOL: (16032..16043)\n IDENTIFIER: (16032..16043) \"jabberwocky\"\n ATMOSPHERE: (16043..16046) \"\n \"\n FORM: (16046..16208)\n OPEN_PAREN: (16046..16047) \"(\"\n SYMBOL: (16047..16059)\n IDENTIFIER: (16047..16059) \"syntax-rules\"\n ATMOSPHERE: (16059..16060) \" \"\n FORM: (16060..16062)\n OPEN_PAREN: (16060..16061) \"(\"\n CLOSE_PAREN: (16061..16062) \")\"\n ATMOSPHERE: (16062..16067) \"\n \"\n FORM: (16067..16207)\n OPEN_PAREN: (16067..16068) \"(\"\n FORM: (16068..16078)\n OPEN_PAREN: (16068..16069) \"(\"\n SYMBOL: (16069..16070)\n IDENTIFIER: (16069..16070) \"_\"\n ATMOSPHERE: (16070..16071) \" \"\n SYMBOL: (16071..16077)\n IDENTIFIER: (16071..16077) \"hatter\"\n CLOSE_PAREN: (16077..16078) \")\"\n ATMOSPHERE: (16078..16084) \"\n \"\n FORM: (16084..16206)\n OPEN_PAREN: (16084..16085) \"(\"\n SYMBOL: (16085..16090)\n IDENTIFIER: (16085..16090) \"begin\"\n ATMOSPHERE: (16090..16098) \"\n \"\n FORM: (16098..16120)\n OPEN_PAREN: (16098..16099) \"(\"\n SYMBOL: (16099..16105)\n IDENTIFIER: (16099..16105) \"define\"\n ATMOSPHERE: (16105..16106) \" \"\n SYMBOL: (16106..16116)\n IDENTIFIER: (16106..16116) \"march-hare\"\n ATMOSPHERE: (16116..16117) \" \"\n CONSTANT: (16117..16119)\n NUMBER: (16117..16119) \"42\"\n CLOSE_PAREN: (16119..16120) \")\"\n ATMOSPHERE: (16120..16128) \"\n \"\n FORM: (16128..16205)\n OPEN_PAREN: (16128..16129) \"(\"\n SYMBOL: (16129..16142)\n IDENTIFIER: (16129..16142) \"define-syntax\"\n ATMOSPHERE: (16142..16143) \" \"\n SYMBOL: (16143..16149)\n IDENTIFIER: (16143..16149) \"hatter\"\n ATMOSPHERE: (16149..16159) \"\n \"\n FORM: (16159..16204)\n OPEN_PAREN: (16159..16160) \"(\"\n SYMBOL: (16160..16172)\n IDENTIFIER: (16160..16172) \"syntax-rules\"\n ATMOSPHERE: (16172..16173) \" \"\n FORM: (16173..16175)\n OPEN_PAREN: (16173..16174) \"(\"\n CLOSE_PAREN: (16174..16175) \")\"\n ATMOSPHERE: (16175..16187) \"\n \"\n FORM: (16187..16203)\n OPEN_PAREN: (16187..16188) \"(\"\n FORM: (16188..16191)\n OPEN_PAREN: (16188..16189) \"(\"\n SYMBOL: (16189..16190)\n IDENTIFIER: (16189..16190) \"_\"\n CLOSE_PAREN: (16190..16191) \")\"\n ATMOSPHERE: (16191..16192) \" \"\n SYMBOL: (16192..16202)\n IDENTIFIER: (16192..16202) \"march-hare\"\n CLOSE_PAREN: (16202..16203) \")\"\n CLOSE_PAREN: (16203..16204) \")\"\n CLOSE_PAREN: (16204..16205) \")\"\n CLOSE_PAREN: (16205..16206) \")\"\n CLOSE_PAREN: (16206..16207) \")\"\n CLOSE_PAREN: (16207..16208) \")\"\n CLOSE_PAREN: (16208..16209) \")\"\n ATMOSPHERE: (16209..16210) \"\n\"\n FORM: (16210..16234)\n OPEN_PAREN: (16210..16211) \"(\"\n SYMBOL: (16211..16222)\n IDENTIFIER: (16211..16222) \"jabberwocky\"\n ATMOSPHERE: (16222..16223) \" \"\n SYMBOL: (16223..16233)\n IDENTIFIER: (16223..16233) \"mad-hatter\"\n CLOSE_PAREN: (16233..16234) \")\"\n ATMOSPHERE: (16234..16235) \"\n\"\n FORM: (16235..16257)\n OPEN_PAREN: (16235..16236) \"(\"\n SYMBOL: (16236..16240)\n IDENTIFIER: (16236..16240) \"test\"\n ATMOSPHERE: (16240..16241) \" \"\n CONSTANT: (16241..16243)\n NUMBER: (16241..16243) \"42\"\n ATMOSPHERE: (16243..16244) \" \"\n FORM: (16244..16256)\n OPEN_PAREN: (16244..16245) \"(\"\n SYMBOL: (16245..16255)\n IDENTIFIER: (16245..16255) \"mad-hatter\"\n CLOSE_PAREN: (16255..16256) \")\"\n CLOSE_PAREN: (16256..16257) \")\"\n ATMOSPHERE: (16257..16259) \"\n\n\"\n ATMOSPHERE: (16259..16307) \";; (test 'ok (let ((=> #f)) (cond (#t => 'ok))))\"\n ATMOSPHERE: (16307..16309) \"\n\n\"\n FORM: (16309..16387)\n OPEN_PAREN: (16309..16310) \"(\"\n SYMBOL: (16310..16313)\n IDENTIFIER: (16310..16313) \"let\"\n ATMOSPHERE: (16313..16314) \" \"\n FORM: (16314..16316)\n OPEN_PAREN: (16314..16315) \"(\"\n CLOSE_PAREN: (16315..16316) \")\"\n ATMOSPHERE: (16316..16319) \"\n \"\n FORM: (16319..16331)\n OPEN_PAREN: (16319..16320) \"(\"\n SYMBOL: (16320..16326)\n IDENTIFIER: (16320..16326) \"define\"\n ATMOSPHERE: (16326..16327) \" \"\n SYMBOL: (16327..16328)\n IDENTIFIER: (16327..16328) \"x\"\n ATMOSPHERE: (16328..16329) \" \"\n CONSTANT: (16329..16330)\n NUMBER: (16329..16330) \"1\"\n CLOSE_PAREN: (16330..16331) \")\"\n ATMOSPHERE: (16331..16334) \"\n \"\n FORM: (16334..16373)\n OPEN_PAREN: (16334..16335) \"(\"\n SYMBOL: (16335..16345)\n IDENTIFIER: (16335..16345) \"let-syntax\"\n ATMOSPHERE: (16345..16346) \" \"\n FORM: (16346..16348)\n OPEN_PAREN: (16346..16347) \"(\"\n CLOSE_PAREN: (16347..16348) \")\"\n ATMOSPHERE: (16348..16353) \"\n \"\n FORM: (16353..16365)\n OPEN_PAREN: (16353..16354) \"(\"\n SYMBOL: (16354..16360)\n IDENTIFIER: (16354..16360) \"define\"\n ATMOSPHERE: (16360..16361) \" \"\n SYMBOL: (16361..16362)\n IDENTIFIER: (16361..16362) \"x\"\n ATMOSPHERE: (16362..16363) \" \"\n CONSTANT: (16363..16364)\n NUMBER: (16363..16364) \"2\"\n CLOSE_PAREN: (16364..16365) \")\"\n ATMOSPHERE: (16365..16370) \"\n \"\n CONSTANT: (16370..16372)\n BOOLEAN: (16370..16372) \"#f\"\n CLOSE_PAREN: (16372..16373) \")\"\n ATMOSPHERE: (16373..16376) \"\n \"\n FORM: (16376..16386)\n OPEN_PAREN: (16376..16377) \"(\"\n SYMBOL: (16377..16381)\n IDENTIFIER: (16377..16381) \"test\"\n ATMOSPHERE: (16381..16382) \" \"\n CONSTANT: (16382..16383)\n NUMBER: (16382..16383) \"1\"\n ATMOSPHERE: (16383..16384) \" \"\n SYMBOL: (16384..16385)\n IDENTIFIER: (16384..16385) \"x\"\n CLOSE_PAREN: (16385..16386) \")\"\n CLOSE_PAREN: (16386..16387) \")\"\n ATMOSPHERE: (16387..16389) \"\n\n\"\n FORM: (16389..16565)\n OPEN_PAREN: (16389..16390) \"(\"\n SYMBOL: (16390..16393)\n IDENTIFIER: (16390..16393) \"let\"\n ATMOSPHERE: (16393..16394) \" \"\n FORM: (16394..16396)\n OPEN_PAREN: (16394..16395) \"(\"\n CLOSE_PAREN: (16395..16396) \")\"\n ATMOSPHERE: (16396..16398) \"\n \"\n FORM: (16398..16532)\n OPEN_PAREN: (16398..16399) \"(\"\n SYMBOL: (16399..16412)\n IDENTIFIER: (16399..16412) \"define-syntax\"\n ATMOSPHERE: (16412..16413) \" \"\n SYMBOL: (16413..16416)\n IDENTIFIER: (16413..16416) \"foo\"\n ATMOSPHERE: (16416..16420) \"\n \"\n FORM: (16420..16531)\n OPEN_PAREN: (16420..16421) \"(\"\n SYMBOL: (16421..16433)\n IDENTIFIER: (16421..16433) \"syntax-rules\"\n ATMOSPHERE: (16433..16434) \" \"\n FORM: (16434..16436)\n OPEN_PAREN: (16434..16435) \"(\"\n CLOSE_PAREN: (16435..16436) \")\"\n ATMOSPHERE: (16436..16442) \"\n \"\n FORM: (16442..16530)\n OPEN_PAREN: (16442..16443) \"(\"\n FORM: (16443..16454)\n OPEN_PAREN: (16443..16444) \"(\"\n SYMBOL: (16444..16447)\n IDENTIFIER: (16444..16447) \"foo\"\n ATMOSPHERE: (16447..16448) \" \"\n SYMBOL: (16448..16451)\n IDENTIFIER: (16448..16451) \"bar\"\n ATMOSPHERE: (16451..16452) \" \"\n SYMBOL: (16452..16453)\n IDENTIFIER: (16452..16453) \"y\"\n CLOSE_PAREN: (16453..16454) \")\"\n ATMOSPHERE: (16454..16461) \"\n \"\n FORM: (16461..16529)\n OPEN_PAREN: (16461..16462) \"(\"\n SYMBOL: (16462..16475)\n IDENTIFIER: (16462..16475) \"define-syntax\"\n ATMOSPHERE: (16475..16476) \" \"\n SYMBOL: (16476..16479)\n IDENTIFIER: (16476..16479) \"bar\"\n ATMOSPHERE: (16479..16488) \"\n \"\n FORM: (16488..16528)\n OPEN_PAREN: (16488..16489) \"(\"\n SYMBOL: (16489..16501)\n IDENTIFIER: (16489..16501) \"syntax-rules\"\n ATMOSPHERE: (16501..16502) \" \"\n FORM: (16502..16504)\n OPEN_PAREN: (16502..16503) \"(\"\n CLOSE_PAREN: (16503..16504) \")\"\n ATMOSPHERE: (16504..16515) \"\n \"\n FORM: (16515..16527)\n OPEN_PAREN: (16515..16516) \"(\"\n FORM: (16516..16523)\n OPEN_PAREN: (16516..16517) \"(\"\n SYMBOL: (16517..16520)\n IDENTIFIER: (16517..16520) \"bar\"\n ATMOSPHERE: (16520..16521) \" \"\n SYMBOL: (16521..16522)\n IDENTIFIER: (16521..16522) \"x\"\n CLOSE_PAREN: (16522..16523) \")\"\n ATMOSPHERE: (16523..16524) \" \"\n QUOTED_DATUM: (16524..16526)\n QUOTE: (16524..16525) \"'\"\n SYMBOL: (16525..16526)\n IDENTIFIER: (16525..16526) \"y\"\n CLOSE_PAREN: (16526..16527) \")\"\n CLOSE_PAREN: (16527..16528) \")\"\n CLOSE_PAREN: (16528..16529) \")\"\n CLOSE_PAREN: (16529..16530) \")\"\n CLOSE_PAREN: (16530..16531) \")\"\n CLOSE_PAREN: (16531..16532) \")\"\n ATMOSPHERE: (16532..16534) \"\n \"\n FORM: (16534..16545)\n OPEN_PAREN: (16534..16535) \"(\"\n SYMBOL: (16535..16538)\n IDENTIFIER: (16535..16538) \"foo\"\n ATMOSPHERE: (16538..16539) \" \"\n SYMBOL: (16539..16542)\n IDENTIFIER: (16539..16542) \"bar\"\n ATMOSPHERE: (16542..16543) \" \"\n SYMBOL: (16543..16544)\n IDENTIFIER: (16543..16544) \"x\"\n CLOSE_PAREN: (16544..16545) \")\"\n ATMOSPHERE: (16545..16547) \"\n \"\n FORM: (16547..16564)\n OPEN_PAREN: (16547..16548) \"(\"\n SYMBOL: (16548..16552)\n IDENTIFIER: (16548..16552) \"test\"\n ATMOSPHERE: (16552..16553) \" \"\n QUOTED_DATUM: (16553..16556)\n QUOTE: (16553..16554) \"'\"\n SYMBOL: (16554..16555)\n IDENTIFIER: (16554..16555) \"x\"\n ATMOSPHERE: (16555..16556) \" \"\n FORM: (16556..16563)\n OPEN_PAREN: (16556..16557) \"(\"\n SYMBOL: (16557..16560)\n IDENTIFIER: (16557..16560) \"bar\"\n ATMOSPHERE: (16560..16561) \" \"\n CONSTANT: (16561..16562)\n NUMBER: (16561..16562) \"1\"\n CLOSE_PAREN: (16562..16563) \")\"\n CLOSE_PAREN: (16563..16564) \")\"\n CLOSE_PAREN: (16564..16565) \")\"\n ATMOSPHERE: (16565..16567) \"\n\n\"\n ATMOSPHERE: (16567..16613) \";;; FIXME: Mutual recursion of `define` forms?\"\n ATMOSPHERE: (16613..16614) \"\n\"\n ATMOSPHERE: (16614..16623) \";; (begin\"\n ATMOSPHERE: (16623..16624) \"\n\"\n ATMOSPHERE: (16624..16648) \";; (define-syntax ffoo\"\n ATMOSPHERE: (16648..16649) \"\n\"\n ATMOSPHERE: (16649..16672) \";; (syntax-rules ()\"\n ATMOSPHERE: (16672..16673) \"\n\"\n ATMOSPHERE: (16673..16692) \";; ((ffoo ff)\"\n ATMOSPHERE: (16692..16693) \"\n\"\n ATMOSPHERE: (16693..16709) \";; (begin\"\n ATMOSPHERE: (16709..16710) \"\n\"\n ATMOSPHERE: (16710..16736) \";; (define (ff x)\"\n ATMOSPHERE: (16736..16737) \"\n\"\n ATMOSPHERE: (16737..16758) \";; (gg x))\"\n ATMOSPHERE: (16758..16759) \"\n\"\n ATMOSPHERE: (16759..16785) \";; (define (gg x)\"\n ATMOSPHERE: (16785..16786) \"\n\"\n ATMOSPHERE: (16786..16812) \";; (* x x))))))\"\n ATMOSPHERE: (16812..16813) \"\n\"\n ATMOSPHERE: (16813..16827) \";; (ffoo ff)\"\n ATMOSPHERE: (16827..16828) \"\n\"\n ATMOSPHERE: (16828..16852) \";; (test 100 (ff 10)))\"\n ATMOSPHERE: (16852..16854) \"\n\n\"\n FORM: (16854..16998)\n OPEN_PAREN: (16854..16855) \"(\"\n SYMBOL: (16855..16865)\n IDENTIFIER: (16855..16865) \"let-syntax\"\n ATMOSPHERE: (16865..16866) \" \"\n FORM: (16866..16969)\n OPEN_PAREN: (16866..16867) \"(\"\n FORM: (16867..16968)\n OPEN_PAREN: (16867..16868) \"(\"\n SYMBOL: (16868..16878)\n IDENTIFIER: (16868..16878) \"vector-lit\"\n ATMOSPHERE: (16878..16894) \"\n \"\n FORM: (16894..16967)\n OPEN_PAREN: (16894..16895) \"(\"\n SYMBOL: (16895..16907)\n IDENTIFIER: (16895..16907) \"syntax-rules\"\n ATMOSPHERE: (16907..16908) \" \"\n FORM: (16908..16910)\n OPEN_PAREN: (16908..16909) \"(\"\n CLOSE_PAREN: (16909..16910) \")\"\n ATMOSPHERE: (16910..16928) \"\n \"\n FORM: (16928..16966)\n OPEN_PAREN: (16928..16929) \"(\"\n FORM: (16929..16941)\n OPEN_PAREN: (16929..16930) \"(\"\n SYMBOL: (16930..16940)\n IDENTIFIER: (16930..16940) \"vector-lit\"\n CLOSE_PAREN: (16940..16941) \")\"\n ATMOSPHERE: (16941..16960) \"\n \"\n QUOTED_DATUM: (16960..16965)\n QUOTE: (16960..16961) \"'\"\n VEC: (16961..16965)\n OPEN_PAREN: (16961..16963) \"#(\"\n SYMBOL: (16963..16964)\n IDENTIFIER: (16963..16964) \"b\"\n CLOSE_PAREN: (16964..16965) \")\"\n CLOSE_PAREN: (16965..16966) \")\"\n CLOSE_PAREN: (16966..16967) \")\"\n CLOSE_PAREN: (16967..16968) \")\"\n CLOSE_PAREN: (16968..16969) \")\"\n ATMOSPHERE: (16969..16972) \"\n \"\n FORM: (16972..16997)\n OPEN_PAREN: (16972..16973) \"(\"\n SYMBOL: (16973..16977)\n IDENTIFIER: (16973..16977) \"test\"\n ATMOSPHERE: (16977..16978) \" \"\n QUOTED_DATUM: (16978..16984)\n QUOTE: (16978..16979) \"'\"\n VEC: (16979..16983)\n OPEN_PAREN: (16979..16981) \"#(\"\n SYMBOL: (16981..16982)\n IDENTIFIER: (16981..16982) \"b\"\n CLOSE_PAREN: (16982..16983) \")\"\n ATMOSPHERE: (16983..16984) \" \"\n FORM: (16984..16996)\n OPEN_PAREN: (16984..16985) \"(\"\n SYMBOL: (16985..16995)\n IDENTIFIER: (16985..16995) \"vector-lit\"\n CLOSE_PAREN: (16995..16996) \")\"\n CLOSE_PAREN: (16996..16997) \")\"\n CLOSE_PAREN: (16997..16998) \")\"\n ATMOSPHERE: (16998..17000) \"\n\n\"\n ATMOSPHERE: (17000..17010) \";; (let ()\"\n ATMOSPHERE: (17010..17011) \"\n\"\n ATMOSPHERE: (17011..17040) \";; ;; forward hygienic refs\"\n ATMOSPHERE: (17040..17041) \"\n\"\n ATMOSPHERE: (17041..17067) \";; (define-syntax foo399\"\n ATMOSPHERE: (17067..17068) \"\n\"\n ATMOSPHERE: (17068..17113) \";; (syntax-rules () ((foo399) (bar399))))\"\n ATMOSPHERE: (17113..17114) \"\n\"\n ATMOSPHERE: (17114..17136) \";; (define (quux399)\"\n ATMOSPHERE: (17136..17137) \"\n\"\n ATMOSPHERE: (17137..17153) \";; (foo399))\"\n ATMOSPHERE: (17153..17154) \"\n\"\n ATMOSPHERE: (17154..17175) \";; (define (bar399)\"\n ATMOSPHERE: (17175..17176) \"\n\"\n ATMOSPHERE: (17176..17186) \";; 42)\"\n ATMOSPHERE: (17186..17187) \"\n\"\n ATMOSPHERE: (17187..17212) \";; (test 42 (quux399)))\"\n ATMOSPHERE: (17212..17214) \"\n\n\"\n ATMOSPHERE: (17214..17232) \";;; FIXME: Hygene.\"\n ATMOSPHERE: (17232..17233) \"\n\"\n FORM: (17233..17519)\n OPEN_PAREN: (17233..17234) \"(\"\n SYMBOL: (17234..17244)\n IDENTIFIER: (17234..17244) \"let-syntax\"\n ATMOSPHERE: (17244..17249) \"\n \"\n FORM: (17249..17483)\n OPEN_PAREN: (17249..17250) \"(\"\n FORM: (17250..17482)\n OPEN_PAREN: (17250..17251) \"(\"\n SYMBOL: (17251..17252)\n IDENTIFIER: (17251..17252) \"m\"\n ATMOSPHERE: (17252..17253) \" \"\n FORM: (17253..17481)\n OPEN_PAREN: (17253..17254) \"(\"\n SYMBOL: (17254..17266)\n IDENTIFIER: (17254..17266) \"syntax-rules\"\n ATMOSPHERE: (17266..17267) \" \"\n FORM: (17267..17269)\n OPEN_PAREN: (17267..17268) \"(\"\n CLOSE_PAREN: (17268..17269) \")\"\n ATMOSPHERE: (17269..17280) \"\n \"\n FORM: (17280..17480)\n OPEN_PAREN: (17280..17281) \"(\"\n FORM: (17281..17286)\n OPEN_PAREN: (17281..17282) \"(\"\n SYMBOL: (17282..17283)\n IDENTIFIER: (17282..17283) \"m\"\n ATMOSPHERE: (17283..17284) \" \"\n SYMBOL: (17284..17285)\n IDENTIFIER: (17284..17285) \"x\"\n CLOSE_PAREN: (17285..17286) \")\"\n ATMOSPHERE: (17286..17287) \" \"\n FORM: (17287..17479)\n OPEN_PAREN: (17287..17288) \"(\"\n SYMBOL: (17288..17298)\n IDENTIFIER: (17288..17298) \"let-syntax\"\n ATMOSPHERE: (17298..17320) \"\n \"\n FORM: (17320..17453)\n OPEN_PAREN: (17320..17321) \"(\"\n FORM: (17321..17452)\n OPEN_PAREN: (17321..17322) \"(\"\n SYMBOL: (17322..17323)\n IDENTIFIER: (17322..17323) \"n\"\n ATMOSPHERE: (17323..17324) \" \"\n FORM: (17324..17451)\n OPEN_PAREN: (17324..17325) \"(\"\n SYMBOL: (17325..17337)\n IDENTIFIER: (17325..17337) \"syntax-rules\"\n ATMOSPHERE: (17337..17338) \" \"\n FORM: (17338..17341)\n OPEN_PAREN: (17338..17339) \"(\"\n SYMBOL: (17339..17340)\n IDENTIFIER: (17339..17340) \"k\"\n CLOSE_PAREN: (17340..17341) \")\"\n ATMOSPHERE: (17341..17369) \"\n \"\n FORM: (17369..17396)\n OPEN_PAREN: (17369..17370) \"(\"\n FORM: (17370..17375)\n OPEN_PAREN: (17370..17371) \"(\"\n SYMBOL: (17371..17372)\n IDENTIFIER: (17371..17372) \"n\"\n ATMOSPHERE: (17372..17373) \" \"\n SYMBOL: (17373..17374)\n IDENTIFIER: (17373..17374) \"x\"\n CLOSE_PAREN: (17374..17375) \")\"\n ATMOSPHERE: (17375..17376) \" \"\n QUOTED_DATUM: (17376..17395)\n QUOTE: (17376..17377) \"'\"\n SYMBOL: (17377..17395)\n IDENTIFIER: (17377..17395) \"bound-identifier=?\"\n CLOSE_PAREN: (17395..17396) \")\"\n ATMOSPHERE: (17396..17424) \"\n \"\n FORM: (17424..17450)\n OPEN_PAREN: (17424..17425) \"(\"\n FORM: (17425..17430)\n OPEN_PAREN: (17425..17426) \"(\"\n SYMBOL: (17426..17427)\n IDENTIFIER: (17426..17427) \"n\"\n ATMOSPHERE: (17427..17428) \" \"\n SYMBOL: (17428..17429)\n IDENTIFIER: (17428..17429) \"y\"\n CLOSE_PAREN: (17429..17430) \")\"\n ATMOSPHERE: (17430..17431) \" \"\n QUOTED_DATUM: (17431..17449)\n QUOTE: (17431..17432) \"'\"\n SYMBOL: (17432..17449)\n IDENTIFIER: (17432..17449) \"free-identifier=?\"\n CLOSE_PAREN: (17449..17450) \")\"\n CLOSE_PAREN: (17450..17451) \")\"\n CLOSE_PAREN: (17451..17452) \")\"\n CLOSE_PAREN: (17452..17453) \")\"\n ATMOSPHERE: (17453..17473) \"\n \"\n FORM: (17473..17478)\n OPEN_PAREN: (17473..17474) \"(\"\n SYMBOL: (17474..17475)\n IDENTIFIER: (17474..17475) \"n\"\n ATMOSPHERE: (17475..17476) \" \"\n SYMBOL: (17476..17477)\n IDENTIFIER: (17476..17477) \"z\"\n CLOSE_PAREN: (17477..17478) \")\"\n CLOSE_PAREN: (17478..17479) \")\"\n CLOSE_PAREN: (17479..17480) \")\"\n CLOSE_PAREN: (17480..17481) \")\"\n CLOSE_PAREN: (17481..17482) \")\"\n CLOSE_PAREN: (17482..17483) \")\"\n ATMOSPHERE: (17483..17486) \"\n \"\n FORM: (17486..17518)\n OPEN_PAREN: (17486..17487) \"(\"\n SYMBOL: (17487..17491)\n IDENTIFIER: (17487..17491) \"test\"\n ATMOSPHERE: (17491..17492) \" \"\n QUOTED_DATUM: (17492..17512)\n QUOTE: (17492..17493) \"'\"\n SYMBOL: (17493..17511)\n IDENTIFIER: (17493..17511) \"bound-identifier=?\"\n ATMOSPHERE: (17511..17512) \" \"\n FORM: (17512..17517)\n OPEN_PAREN: (17512..17513) \"(\"\n SYMBOL: (17513..17514)\n IDENTIFIER: (17513..17514) \"m\"\n ATMOSPHERE: (17514..17515) \" \"\n SYMBOL: (17515..17516)\n IDENTIFIER: (17515..17516) \"k\"\n CLOSE_PAREN: (17516..17517) \")\"\n CLOSE_PAREN: (17517..17518) \")\"\n CLOSE_PAREN: (17518..17519) \")\"\n ATMOSPHERE: (17519..17521) \"\n\n\"\n ATMOSPHERE: (17521..17569) \";; literal has priority to ellipsis (R7RS 4.3.2)\"\n ATMOSPHERE: (17569..17570) \"\n\"\n FORM: (17570..17703)\n OPEN_PAREN: (17570..17571) \"(\"\n SYMBOL: (17571..17574)\n IDENTIFIER: (17571..17574) \"let\"\n ATMOSPHERE: (17574..17575) \" \"\n FORM: (17575..17577)\n OPEN_PAREN: (17575..17576) \"(\"\n CLOSE_PAREN: (17576..17577) \")\"\n ATMOSPHERE: (17577..17580) \"\n \"\n FORM: (17580..17665)\n OPEN_PAREN: (17580..17581) \"(\"\n SYMBOL: (17581..17594)\n IDENTIFIER: (17581..17594) \"define-syntax\"\n ATMOSPHERE: (17594..17595) \" \"\n SYMBOL: (17595..17605)\n IDENTIFIER: (17595..17605) \"elli-lit-1\"\n ATMOSPHERE: (17605..17610) \"\n \"\n FORM: (17610..17664)\n OPEN_PAREN: (17610..17611) \"(\"\n SYMBOL: (17611..17623)\n IDENTIFIER: (17611..17623) \"syntax-rules\"\n ATMOSPHERE: (17623..17624) \" \"\n SYMBOL: (17624..17627)\n IDENTIFIER: (17624..17627) \"...\"\n ATMOSPHERE: (17627..17628) \" \"\n FORM: (17628..17633)\n OPEN_PAREN: (17628..17629) \"(\"\n SYMBOL: (17629..17632)\n IDENTIFIER: (17629..17632) \"...\"\n CLOSE_PAREN: (17632..17633) \")\"\n ATMOSPHERE: (17633..17640) \"\n \"\n FORM: (17640..17663)\n OPEN_PAREN: (17640..17641) \"(\"\n FORM: (17641..17646)\n OPEN_PAREN: (17641..17642) \"(\"\n SYMBOL: (17642..17643)\n IDENTIFIER: (17642..17643) \"_\"\n ATMOSPHERE: (17643..17644) \" \"\n SYMBOL: (17644..17645)\n IDENTIFIER: (17644..17645) \"x\"\n CLOSE_PAREN: (17645..17646) \")\"\n ATMOSPHERE: (17646..17654) \"\n \"\n QUOTED_DATUM: (17654..17662)\n QUOTE: (17654..17655) \"'\"\n FORM: (17655..17662)\n OPEN_PAREN: (17655..17656) \"(\"\n SYMBOL: (17656..17657)\n IDENTIFIER: (17656..17657) \"x\"\n ATMOSPHERE: (17657..17658) \" \"\n SYMBOL: (17658..17661)\n IDENTIFIER: (17658..17661) \"...\"\n CLOSE_PAREN: (17661..17662) \")\"\n CLOSE_PAREN: (17662..17663) \")\"\n CLOSE_PAREN: (17663..17664) \")\"\n CLOSE_PAREN: (17664..17665) \")\"\n ATMOSPHERE: (17665..17668) \"\n \"\n FORM: (17668..17702)\n OPEN_PAREN: (17668..17669) \"(\"\n SYMBOL: (17669..17673)\n IDENTIFIER: (17669..17673) \"test\"\n ATMOSPHERE: (17673..17674) \" \"\n QUOTED_DATUM: (17674..17685)\n QUOTE: (17674..17675) \"'\"\n FORM: (17675..17684)\n OPEN_PAREN: (17675..17676) \"(\"\n CONSTANT: (17676..17679)\n NUMBER: (17676..17679) \"100\"\n ATMOSPHERE: (17679..17680) \" \"\n SYMBOL: (17680..17683)\n IDENTIFIER: (17680..17683) \"...\"\n CLOSE_PAREN: (17683..17684) \")\"\n ATMOSPHERE: (17684..17685) \" \"\n FORM: (17685..17701)\n OPEN_PAREN: (17685..17686) \"(\"\n SYMBOL: (17686..17696)\n IDENTIFIER: (17686..17696) \"elli-lit-1\"\n ATMOSPHERE: (17696..17697) \" \"\n CONSTANT: (17697..17700)\n NUMBER: (17697..17700) \"100\"\n CLOSE_PAREN: (17700..17701) \")\"\n CLOSE_PAREN: (17701..17702) \")\"\n CLOSE_PAREN: (17702..17703) \")\"\n ATMOSPHERE: (17703..17705) \"\n\n\"\n ATMOSPHERE: (17705..17720) \";; bad ellipsis\"\n ATMOSPHERE: (17720..17721) \"\n\"\n ATMOSPHERE: (17721..18159) \"#|\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-1\n (syntax-rules ()\n ((_ ... x)\n '(... x))))\n (interaction-environment))))\n\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-2\n (syntax-rules ()\n ((_ (... x))\n '(... x))))\n (interaction-environment))))\n|#\"\n ATMOSPHERE: (18159..18161) \"\n\n\"\n FORM: (18161..18171)\n OPEN_PAREN: (18161..18162) \"(\"\n SYMBOL: (18162..18170)\n IDENTIFIER: (18162..18170) \"test-end\"\n CLOSE_PAREN: (18170..18171) \")\"\n ATMOSPHERE: (18171..18173) \"\n\n\"\n FORM: (18173..18207)\n OPEN_PAREN: (18173..18174) \"(\"\n SYMBOL: (18174..18184)\n IDENTIFIER: (18174..18184) \"test-begin\"\n ATMOSPHERE: (18184..18185) \" \"\n CONSTANT: (18185..18206)\n STRING: (18185..18206) \"\"5 Program structure\"\"\n CLOSE_PAREN: (18206..18207) \")\"\n ATMOSPHERE: (18207..18209) \"\n\n\"\n FORM: (18209..18245)\n OPEN_PAREN: (18209..18210) \"(\"\n SYMBOL: (18210..18216)\n IDENTIFIER: (18210..18216) \"define\"\n ATMOSPHERE: (18216..18217) \" \"\n SYMBOL: (18217..18221)\n IDENTIFIER: (18217..18221) \"add3\"\n ATMOSPHERE: (18221..18224) \"\n \"\n FORM: (18224..18244)\n OPEN_PAREN: (18224..18225) \"(\"\n SYMBOL: (18225..18231)\n IDENTIFIER: (18225..18231) \"lambda\"\n ATMOSPHERE: (18231..18232) \" \"\n FORM: (18232..18235)\n OPEN_PAREN: (18232..18233) \"(\"\n SYMBOL: (18233..18234)\n IDENTIFIER: (18233..18234) \"x\"\n CLOSE_PAREN: (18234..18235) \")\"\n ATMOSPHERE: (18235..18236) \" \"\n FORM: (18236..18243)\n OPEN_PAREN: (18236..18237) \"(\"\n SYMBOL: (18237..18238)\n IDENTIFIER: (18237..18238) \"+\"\n ATMOSPHERE: (18238..18239) \" \"\n SYMBOL: (18239..18240)\n IDENTIFIER: (18239..18240) \"x\"\n ATMOSPHERE: (18240..18241) \" \"\n CONSTANT: (18241..18242)\n NUMBER: (18241..18242) \"3\"\n CLOSE_PAREN: (18242..18243) \")\"\n CLOSE_PAREN: (18243..18244) \")\"\n CLOSE_PAREN: (18244..18245) \")\"\n ATMOSPHERE: (18245..18246) \"\n\"\n FORM: (18246..18263)\n OPEN_PAREN: (18246..18247) \"(\"\n SYMBOL: (18247..18251)\n IDENTIFIER: (18247..18251) \"test\"\n ATMOSPHERE: (18251..18252) \" \"\n CONSTANT: (18252..18253)\n NUMBER: (18252..18253) \"6\"\n ATMOSPHERE: (18253..18254) \" \"\n FORM: (18254..18262)\n OPEN_PAREN: (18254..18255) \"(\"\n SYMBOL: (18255..18259)\n IDENTIFIER: (18255..18259) \"add3\"\n ATMOSPHERE: (18259..18260) \" \"\n CONSTANT: (18260..18261)\n NUMBER: (18260..18261) \"3\"\n CLOSE_PAREN: (18261..18262) \")\"\n CLOSE_PAREN: (18262..18263) \")\"\n ATMOSPHERE: (18263..18264) \"\n\"\n FORM: (18264..18282)\n OPEN_PAREN: (18264..18265) \"(\"\n SYMBOL: (18265..18271)\n IDENTIFIER: (18265..18271) \"define\"\n ATMOSPHERE: (18271..18272) \" \"\n SYMBOL: (18272..18277)\n IDENTIFIER: (18272..18277) \"first\"\n ATMOSPHERE: (18277..18278) \" \"\n SYMBOL: (18278..18281)\n IDENTIFIER: (18278..18281) \"car\"\n CLOSE_PAREN: (18281..18282) \")\"\n ATMOSPHERE: (18282..18283) \"\n\"\n FORM: (18283..18306)\n OPEN_PAREN: (18283..18284) \"(\"\n SYMBOL: (18284..18288)\n IDENTIFIER: (18284..18288) \"test\"\n ATMOSPHERE: (18288..18289) \" \"\n CONSTANT: (18289..18290)\n NUMBER: (18289..18290) \"1\"\n ATMOSPHERE: (18290..18291) \" \"\n FORM: (18291..18305)\n OPEN_PAREN: (18291..18292) \"(\"\n SYMBOL: (18292..18297)\n IDENTIFIER: (18292..18297) \"first\"\n ATMOSPHERE: (18297..18298) \" \"\n QUOTED_DATUM: (18298..18304)\n QUOTE: (18298..18299) \"'\"\n FORM: (18299..18304)\n OPEN_PAREN: (18299..18300) \"(\"\n CONSTANT: (18300..18301)\n NUMBER: (18300..18301) \"1\"\n ATMOSPHERE: (18301..18302) \" \"\n CONSTANT: (18302..18303)\n NUMBER: (18302..18303) \"2\"\n CLOSE_PAREN: (18303..18304) \")\"\n CLOSE_PAREN: (18304..18305) \")\"\n CLOSE_PAREN: (18305..18306) \")\"\n ATMOSPHERE: (18306..18308) \"\n\n\"\n ATMOSPHERE: (18308..18345) \";;; FIXME: `define` mutual recursion.\"\n ATMOSPHERE: (18345..18346) \"\n\"\n ATMOSPHERE: (18346..18370) \";; (test 45 (let ((x 5))\"\n ATMOSPHERE: (18370..18371) \"\n\"\n ATMOSPHERE: (18371..18411) \";; (define foo (lambda (y) (bar x y)))\"\n ATMOSPHERE: (18411..18412) \"\n\"\n ATMOSPHERE: (18412..18458) \";; (define bar (lambda (a b) (+ (* a b) a)))\"\n ATMOSPHERE: (18458..18459) \"\n\"\n ATMOSPHERE: (18459..18479) \";; (foo (+ x 3))))\"\n ATMOSPHERE: (18479..18481) \"\n\n\"\n ATMOSPHERE: (18481..18493) \";; (test 'ok\"\n ATMOSPHERE: (18493..18494) \"\n\"\n ATMOSPHERE: (18494..18508) \";; (let ()\"\n ATMOSPHERE: (18508..18509) \"\n\"\n ATMOSPHERE: (18509..18545) \";; (define-values () (values))\"\n ATMOSPHERE: (18545..18546) \"\n\"\n ATMOSPHERE: (18546..18560) \";; 'ok))\"\n ATMOSPHERE: (18560..18561) \"\n\"\n ATMOSPHERE: (18561..18571) \";; (test 1\"\n ATMOSPHERE: (18571..18572) \"\n\"\n ATMOSPHERE: (18572..18586) \";; (let ()\"\n ATMOSPHERE: (18586..18587) \"\n\"\n ATMOSPHERE: (18587..18626) \";; (define-values (x) (values 1))\"\n ATMOSPHERE: (18626..18627) \"\n\"\n ATMOSPHERE: (18627..18639) \";; x))\"\n ATMOSPHERE: (18639..18640) \"\n\"\n ATMOSPHERE: (18640..18650) \";; (test 3\"\n ATMOSPHERE: (18650..18651) \"\n\"\n ATMOSPHERE: (18651..18665) \";; (let ()\"\n ATMOSPHERE: (18665..18666) \"\n\"\n ATMOSPHERE: (18666..18705) \";; (define-values x (values 1 2))\"\n ATMOSPHERE: (18705..18706) \"\n\"\n ATMOSPHERE: (18706..18728) \";; (apply + x)))\"\n ATMOSPHERE: (18728..18729) \"\n\"\n ATMOSPHERE: (18729..18739) \";; (test 3\"\n ATMOSPHERE: (18739..18740) \"\n\"\n ATMOSPHERE: (18740..18754) \";; (let ()\"\n ATMOSPHERE: (18754..18755) \"\n\"\n ATMOSPHERE: (18755..18798) \";; (define-values (x y) (values 1 2))\"\n ATMOSPHERE: (18798..18799) \"\n\"\n ATMOSPHERE: (18799..18817) \";; (+ x y)))\"\n ATMOSPHERE: (18817..18818) \"\n\"\n ATMOSPHERE: (18818..18828) \";; (test 6\"\n ATMOSPHERE: (18828..18829) \"\n\"\n ATMOSPHERE: (18829..18843) \";; (let ()\"\n ATMOSPHERE: (18843..18844) \"\n\"\n ATMOSPHERE: (18844..18891) \";; (define-values (x y z) (values 1 2 3))\"\n ATMOSPHERE: (18891..18892) \"\n\"\n ATMOSPHERE: (18892..18912) \";; (+ x y z)))\"\n ATMOSPHERE: (18912..18913) \"\n\"\n ATMOSPHERE: (18913..18924) \";; (test 10\"\n ATMOSPHERE: (18924..18925) \"\n\"\n ATMOSPHERE: (18925..18939) \";; (let ()\"\n ATMOSPHERE: (18939..18940) \"\n\"\n ATMOSPHERE: (18940..18991) \";; (define-values (x y . z) (values 1 2 3 4))\"\n ATMOSPHERE: (18991..18992) \"\n\"\n ATMOSPHERE: (18992..19027) \";; (+ x y (car z) (cadr z))))\"\n ATMOSPHERE: (19027..19029) \"\n\n\"\n ATMOSPHERE: (19029..19063) \";; (test '(2 1) (let ((x 1) (y 2))\"\n ATMOSPHERE: (19063..19064) \"\n\"\n ATMOSPHERE: (19064..19089) \";; (define-syntax swap!\"\n ATMOSPHERE: (19089..19090) \"\n\"\n ATMOSPHERE: (19090..19113) \";; (syntax-rules ()\"\n ATMOSPHERE: (19113..19114) \"\n\"\n ATMOSPHERE: (19114..19135) \";; ((swap! a b)\"\n ATMOSPHERE: (19135..19136) \"\n\"\n ATMOSPHERE: (19136..19160) \";; (let ((tmp a))\"\n ATMOSPHERE: (19160..19161) \"\n\"\n ATMOSPHERE: (19161..19183) \";; (set! a b)\"\n ATMOSPHERE: (19183..19184) \"\n\"\n ATMOSPHERE: (19184..19212) \";; (set! b tmp)))))\"\n ATMOSPHERE: (19212..19213) \"\n\"\n ATMOSPHERE: (19213..19229) \";; (swap! x y)\"\n ATMOSPHERE: (19229..19230) \"\n\"\n ATMOSPHERE: (19230..19247) \";; (list x y)))\"\n ATMOSPHERE: (19247..19249) \"\n\n\"\n ATMOSPHERE: (19249..19262) \";; ;; Records\"\n ATMOSPHERE: (19262..19264) \"\n\n\"\n ATMOSPHERE: (19264..19293) \";; (define-record-type \"\n ATMOSPHERE: (19293..19294) \"\n\"\n ATMOSPHERE: (19294..19309) \";; (kons x y)\"\n ATMOSPHERE: (19309..19310) \"\n\"\n ATMOSPHERE: (19310..19320) \";; pare?\"\n ATMOSPHERE: (19320..19321) \"\n\"\n ATMOSPHERE: (19321..19342) \";; (x kar set-kar!)\"\n ATMOSPHERE: (19342..19343) \"\n\"\n ATMOSPHERE: (19343..19356) \";; (y kdr))\"\n ATMOSPHERE: (19356..19358) \"\n\n\"\n ATMOSPHERE: (19358..19389) \";; (test #t (pare? (kons 1 2)))\"\n ATMOSPHERE: (19389..19390) \"\n\"\n ATMOSPHERE: (19390..19421) \";; (test #f (pare? (cons 1 2)))\"\n ATMOSPHERE: (19421..19422) \"\n\"\n ATMOSPHERE: (19422..19450) \";; (test 1 (kar (kons 1 2)))\"\n ATMOSPHERE: (19450..19451) \"\n\"\n ATMOSPHERE: (19451..19479) \";; (test 2 (kdr (kons 1 2)))\"\n ATMOSPHERE: (19479..19480) \"\n\"\n ATMOSPHERE: (19480..19512) \";; (test 3 (let ((k (kons 1 2)))\"\n ATMOSPHERE: (19512..19513) \"\n\"\n ATMOSPHERE: (19513..19540) \";; (set-kar! k 3)\"\n ATMOSPHERE: (19540..19541) \"\n\"\n ATMOSPHERE: (19541..19563) \";; (kar k)))\"\n ATMOSPHERE: (19563..19565) \"\n\n\"\n FORM: (19565..19575)\n OPEN_PAREN: (19565..19566) \"(\"\n SYMBOL: (19566..19574)\n IDENTIFIER: (19566..19574) \"test-end\"\n CLOSE_PAREN: (19574..19575) \")\"\n ATMOSPHERE: (19575..19577) \"\n\n\"\n ATMOSPHERE: (19577..19652) \";; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\"\n ATMOSPHERE: (19652..19653) \"\n\"\n ATMOSPHERE: (19653..19680) \";; ;; 6 Standard Procedures\"\n ATMOSPHERE: (19680..19682) \"\n\n\"\n FORM: (19682..19723)\n OPEN_PAREN: (19682..19683) \"(\"\n SYMBOL: (19683..19693)\n IDENTIFIER: (19683..19693) \"test-begin\"\n ATMOSPHERE: (19693..19694) \" \"\n CONSTANT: (19694..19722)\n STRING: (19694..19722) \"\"6.1 Equivalence Predicates\"\"\n CLOSE_PAREN: (19722..19723) \")\"\n ATMOSPHERE: (19723..19725) \"\n\n\"\n FORM: (19725..19747)\n OPEN_PAREN: (19725..19726) \"(\"\n SYMBOL: (19726..19730)\n IDENTIFIER: (19726..19730) \"test\"\n ATMOSPHERE: (19730..19731) \" \"\n CONSTANT: (19731..19733)\n BOOLEAN: (19731..19733) \"#t\"\n ATMOSPHERE: (19733..19734) \" \"\n FORM: (19734..19746)\n OPEN_PAREN: (19734..19735) \"(\"\n SYMBOL: (19735..19739)\n IDENTIFIER: (19735..19739) \"eqv?\"\n ATMOSPHERE: (19739..19740) \" \"\n QUOTED_DATUM: (19740..19743)\n QUOTE: (19740..19741) \"'\"\n SYMBOL: (19741..19742)\n IDENTIFIER: (19741..19742) \"a\"\n ATMOSPHERE: (19742..19743) \" \"\n QUOTED_DATUM: (19743..19745)\n QUOTE: (19743..19744) \"'\"\n SYMBOL: (19744..19745)\n IDENTIFIER: (19744..19745) \"a\"\n CLOSE_PAREN: (19745..19746) \")\"\n CLOSE_PAREN: (19746..19747) \")\"\n ATMOSPHERE: (19747..19748) \"\n\"\n FORM: (19748..19770)\n OPEN_PAREN: (19748..19749) \"(\"\n SYMBOL: (19749..19753)\n IDENTIFIER: (19749..19753) \"test\"\n ATMOSPHERE: (19753..19754) \" \"\n CONSTANT: (19754..19756)\n BOOLEAN: (19754..19756) \"#f\"\n ATMOSPHERE: (19756..19757) \" \"\n FORM: (19757..19769)\n OPEN_PAREN: (19757..19758) \"(\"\n SYMBOL: (19758..19762)\n IDENTIFIER: (19758..19762) \"eqv?\"\n ATMOSPHERE: (19762..19763) \" \"\n QUOTED_DATUM: (19763..19766)\n QUOTE: (19763..19764) \"'\"\n SYMBOL: (19764..19765)\n IDENTIFIER: (19764..19765) \"a\"\n ATMOSPHERE: (19765..19766) \" \"\n QUOTED_DATUM: (19766..19768)\n QUOTE: (19766..19767) \"'\"\n SYMBOL: (19767..19768)\n IDENTIFIER: (19767..19768) \"b\"\n CLOSE_PAREN: (19768..19769) \")\"\n CLOSE_PAREN: (19769..19770) \")\"\n ATMOSPHERE: (19770..19771) \"\n\"\n FORM: (19771..19791)\n OPEN_PAREN: (19771..19772) \"(\"\n SYMBOL: (19772..19776)\n IDENTIFIER: (19772..19776) \"test\"\n ATMOSPHERE: (19776..19777) \" \"\n CONSTANT: (19777..19779)\n BOOLEAN: (19777..19779) \"#t\"\n ATMOSPHERE: (19779..19780) \" \"\n FORM: (19780..19790)\n OPEN_PAREN: (19780..19781) \"(\"\n SYMBOL: (19781..19785)\n IDENTIFIER: (19781..19785) \"eqv?\"\n ATMOSPHERE: (19785..19786) \" \"\n CONSTANT: (19786..19787)\n NUMBER: (19786..19787) \"2\"\n ATMOSPHERE: (19787..19788) \" \"\n CONSTANT: (19788..19789)\n NUMBER: (19788..19789) \"2\"\n CLOSE_PAREN: (19789..19790) \")\"\n CLOSE_PAREN: (19790..19791) \")\"\n ATMOSPHERE: (19791..19792) \"\n\"\n FORM: (19792..19816)\n OPEN_PAREN: (19792..19793) \"(\"\n SYMBOL: (19793..19797)\n IDENTIFIER: (19793..19797) \"test\"\n ATMOSPHERE: (19797..19798) \" \"\n CONSTANT: (19798..19800)\n BOOLEAN: (19798..19800) \"#t\"\n ATMOSPHERE: (19800..19801) \" \"\n FORM: (19801..19815)\n OPEN_PAREN: (19801..19802) \"(\"\n SYMBOL: (19802..19806)\n IDENTIFIER: (19802..19806) \"eqv?\"\n ATMOSPHERE: (19806..19807) \" \"\n QUOTED_DATUM: (19807..19811)\n QUOTE: (19807..19808) \"'\"\n FORM: (19808..19810)\n OPEN_PAREN: (19808..19809) \"(\"\n CLOSE_PAREN: (19809..19810) \")\"\n ATMOSPHERE: (19810..19811) \" \"\n QUOTED_DATUM: (19811..19814)\n QUOTE: (19811..19812) \"'\"\n FORM: (19812..19814)\n OPEN_PAREN: (19812..19813) \"(\"\n CLOSE_PAREN: (19813..19814) \")\"\n CLOSE_PAREN: (19814..19815) \")\"\n CLOSE_PAREN: (19815..19816) \")\"\n ATMOSPHERE: (19816..19817) \"\n\"\n FORM: (19817..19853)\n OPEN_PAREN: (19817..19818) \"(\"\n SYMBOL: (19818..19822)\n IDENTIFIER: (19818..19822) \"test\"\n ATMOSPHERE: (19822..19823) \" \"\n CONSTANT: (19823..19825)\n BOOLEAN: (19823..19825) \"#t\"\n ATMOSPHERE: (19825..19826) \" \"\n FORM: (19826..19852)\n OPEN_PAREN: (19826..19827) \"(\"\n SYMBOL: (19827..19831)\n IDENTIFIER: (19827..19831) \"eqv?\"\n ATMOSPHERE: (19831..19832) \" \"\n CONSTANT: (19832..19841)\n NUMBER: (19832..19841) \"100000000\"\n ATMOSPHERE: (19841..19842) \" \"\n CONSTANT: (19842..19851)\n NUMBER: (19842..19851) \"100000000\"\n CLOSE_PAREN: (19851..19852) \")\"\n CLOSE_PAREN: (19852..19853) \")\"\n ATMOSPHERE: (19853..19854) \"\n\"\n FORM: (19854..19892)\n OPEN_PAREN: (19854..19855) \"(\"\n SYMBOL: (19855..19859)\n IDENTIFIER: (19855..19859) \"test\"\n ATMOSPHERE: (19859..19860) \" \"\n CONSTANT: (19860..19862)\n BOOLEAN: (19860..19862) \"#f\"\n ATMOSPHERE: (19862..19863) \" \"\n FORM: (19863..19891)\n OPEN_PAREN: (19863..19864) \"(\"\n SYMBOL: (19864..19868)\n IDENTIFIER: (19864..19868) \"eqv?\"\n ATMOSPHERE: (19868..19869) \" \"\n FORM: (19869..19879)\n OPEN_PAREN: (19869..19870) \"(\"\n SYMBOL: (19870..19874)\n IDENTIFIER: (19870..19874) \"cons\"\n ATMOSPHERE: (19874..19875) \" \"\n CONSTANT: (19875..19876)\n NUMBER: (19875..19876) \"1\"\n ATMOSPHERE: (19876..19877) \" \"\n CONSTANT: (19877..19878)\n NUMBER: (19877..19878) \"2\"\n CLOSE_PAREN: (19878..19879) \")\"\n ATMOSPHERE: (19879..19880) \" \"\n FORM: (19880..19890)\n OPEN_PAREN: (19880..19881) \"(\"\n SYMBOL: (19881..19885)\n IDENTIFIER: (19881..19885) \"cons\"\n ATMOSPHERE: (19885..19886) \" \"\n CONSTANT: (19886..19887)\n NUMBER: (19886..19887) \"1\"\n ATMOSPHERE: (19887..19888) \" \"\n CONSTANT: (19888..19889)\n NUMBER: (19888..19889) \"2\"\n CLOSE_PAREN: (19889..19890) \")\"\n CLOSE_PAREN: (19890..19891) \")\"\n CLOSE_PAREN: (19891..19892) \")\"\n ATMOSPHERE: (19892..19893) \"\n\"\n FORM: (19893..19952)\n OPEN_PAREN: (19893..19894) \"(\"\n SYMBOL: (19894..19898)\n IDENTIFIER: (19894..19898) \"test\"\n ATMOSPHERE: (19898..19899) \" \"\n CONSTANT: (19899..19901)\n BOOLEAN: (19899..19901) \"#f\"\n ATMOSPHERE: (19901..19902) \" \"\n FORM: (19902..19951)\n OPEN_PAREN: (19902..19903) \"(\"\n SYMBOL: (19903..19907)\n IDENTIFIER: (19903..19907) \"eqv?\"\n ATMOSPHERE: (19907..19908) \" \"\n FORM: (19908..19921)\n OPEN_PAREN: (19908..19909) \"(\"\n SYMBOL: (19909..19915)\n IDENTIFIER: (19909..19915) \"lambda\"\n ATMOSPHERE: (19915..19916) \" \"\n FORM: (19916..19918)\n OPEN_PAREN: (19916..19917) \"(\"\n CLOSE_PAREN: (19917..19918) \")\"\n ATMOSPHERE: (19918..19919) \" \"\n CONSTANT: (19919..19920)\n NUMBER: (19919..19920) \"1\"\n CLOSE_PAREN: (19920..19921) \")\"\n ATMOSPHERE: (19921..19937) \"\n \"\n FORM: (19937..19950)\n OPEN_PAREN: (19937..19938) \"(\"\n SYMBOL: (19938..19944)\n IDENTIFIER: (19938..19944) \"lambda\"\n ATMOSPHERE: (19944..19945) \" \"\n FORM: (19945..19947)\n OPEN_PAREN: (19945..19946) \"(\"\n CLOSE_PAREN: (19946..19947) \")\"\n ATMOSPHERE: (19947..19948) \" \"\n CONSTANT: (19948..19949)\n NUMBER: (19948..19949) \"2\"\n CLOSE_PAREN: (19949..19950) \")\"\n CLOSE_PAREN: (19950..19951) \")\"\n CLOSE_PAREN: (19951..19952) \")\"\n ATMOSPHERE: (19952..19953) \"\n\"\n FORM: (19953..19977)\n OPEN_PAREN: (19953..19954) \"(\"\n SYMBOL: (19954..19958)\n IDENTIFIER: (19954..19958) \"test\"\n ATMOSPHERE: (19958..19959) \" \"\n CONSTANT: (19959..19961)\n BOOLEAN: (19959..19961) \"#f\"\n ATMOSPHERE: (19961..19962) \" \"\n FORM: (19962..19976)\n OPEN_PAREN: (19962..19963) \"(\"\n SYMBOL: (19963..19967)\n IDENTIFIER: (19963..19967) \"eqv?\"\n ATMOSPHERE: (19967..19968) \" \"\n CONSTANT: (19968..19970)\n BOOLEAN: (19968..19970) \"#f\"\n ATMOSPHERE: (19970..19971) \" \"\n QUOTED_DATUM: (19971..19975)\n QUOTE: (19971..19972) \"'\"\n SYMBOL: (19972..19975)\n IDENTIFIER: (19972..19975) \"nil\"\n CLOSE_PAREN: (19975..19976) \")\"\n CLOSE_PAREN: (19976..19977) \")\"\n ATMOSPHERE: (19977..19979) \"\n\n\"\n FORM: (19979..20068)\n OPEN_PAREN: (19979..19980) \"(\"\n SYMBOL: (19980..19986)\n IDENTIFIER: (19980..19986) \"define\"\n ATMOSPHERE: (19986..19987) \" \"\n SYMBOL: (19987..19998)\n IDENTIFIER: (19987..19998) \"gen-counter\"\n ATMOSPHERE: (19998..20001) \"\n \"\n FORM: (20001..20067)\n OPEN_PAREN: (20001..20002) \"(\"\n SYMBOL: (20002..20008)\n IDENTIFIER: (20002..20008) \"lambda\"\n ATMOSPHERE: (20008..20009) \" \"\n FORM: (20009..20011)\n OPEN_PAREN: (20009..20010) \"(\"\n CLOSE_PAREN: (20010..20011) \")\"\n ATMOSPHERE: (20011..20016) \"\n \"\n FORM: (20016..20066)\n OPEN_PAREN: (20016..20017) \"(\"\n SYMBOL: (20017..20020)\n IDENTIFIER: (20017..20020) \"let\"\n ATMOSPHERE: (20020..20021) \" \"\n FORM: (20021..20028)\n OPEN_PAREN: (20021..20022) \"(\"\n FORM: (20022..20027)\n OPEN_PAREN: (20022..20023) \"(\"\n SYMBOL: (20023..20024)\n IDENTIFIER: (20023..20024) \"n\"\n ATMOSPHERE: (20024..20025) \" \"\n CONSTANT: (20025..20026)\n NUMBER: (20025..20026) \"0\"\n CLOSE_PAREN: (20026..20027) \")\"\n CLOSE_PAREN: (20027..20028) \")\"\n ATMOSPHERE: (20028..20035) \"\n \"\n FORM: (20035..20065)\n OPEN_PAREN: (20035..20036) \"(\"\n SYMBOL: (20036..20042)\n IDENTIFIER: (20036..20042) \"lambda\"\n ATMOSPHERE: (20042..20043) \" \"\n FORM: (20043..20045)\n OPEN_PAREN: (20043..20044) \"(\"\n CLOSE_PAREN: (20044..20045) \")\"\n ATMOSPHERE: (20045..20046) \" \"\n FORM: (20046..20062)\n OPEN_PAREN: (20046..20047) \"(\"\n SYMBOL: (20047..20051)\n IDENTIFIER: (20047..20051) \"set!\"\n ATMOSPHERE: (20051..20052) \" \"\n SYMBOL: (20052..20053)\n IDENTIFIER: (20052..20053) \"n\"\n ATMOSPHERE: (20053..20054) \" \"\n FORM: (20054..20061)\n OPEN_PAREN: (20054..20055) \"(\"\n SYMBOL: (20055..20056)\n IDENTIFIER: (20055..20056) \"+\"\n ATMOSPHERE: (20056..20057) \" \"\n SYMBOL: (20057..20058)\n IDENTIFIER: (20057..20058) \"n\"\n ATMOSPHERE: (20058..20059) \" \"\n CONSTANT: (20059..20060)\n NUMBER: (20059..20060) \"1\"\n CLOSE_PAREN: (20060..20061) \")\"\n CLOSE_PAREN: (20061..20062) \")\"\n ATMOSPHERE: (20062..20063) \" \"\n SYMBOL: (20063..20064)\n IDENTIFIER: (20063..20064) \"n\"\n CLOSE_PAREN: (20064..20065) \")\"\n CLOSE_PAREN: (20065..20066) \")\"\n CLOSE_PAREN: (20066..20067) \")\"\n CLOSE_PAREN: (20067..20068) \")\"\n ATMOSPHERE: (20068..20069) \"\n\"\n FORM: (20069..20125)\n OPEN_PAREN: (20069..20070) \"(\"\n SYMBOL: (20070..20074)\n IDENTIFIER: (20070..20074) \"test\"\n ATMOSPHERE: (20074..20075) \" \"\n CONSTANT: (20075..20077)\n BOOLEAN: (20075..20077) \"#t\"\n ATMOSPHERE: (20077..20082) \"\n \"\n FORM: (20082..20124)\n OPEN_PAREN: (20082..20083) \"(\"\n SYMBOL: (20083..20086)\n IDENTIFIER: (20083..20086) \"let\"\n ATMOSPHERE: (20086..20087) \" \"\n FORM: (20087..20106)\n OPEN_PAREN: (20087..20088) \"(\"\n FORM: (20088..20105)\n OPEN_PAREN: (20088..20089) \"(\"\n SYMBOL: (20089..20090)\n IDENTIFIER: (20089..20090) \"g\"\n ATMOSPHERE: (20090..20091) \" \"\n FORM: (20091..20104)\n OPEN_PAREN: (20091..20092) \"(\"\n SYMBOL: (20092..20103)\n IDENTIFIER: (20092..20103) \"gen-counter\"\n CLOSE_PAREN: (20103..20104) \")\"\n CLOSE_PAREN: (20104..20105) \")\"\n CLOSE_PAREN: (20105..20106) \")\"\n ATMOSPHERE: (20106..20113) \"\n \"\n FORM: (20113..20123)\n OPEN_PAREN: (20113..20114) \"(\"\n SYMBOL: (20114..20118)\n IDENTIFIER: (20114..20118) \"eqv?\"\n ATMOSPHERE: (20118..20119) \" \"\n SYMBOL: (20119..20120)\n IDENTIFIER: (20119..20120) \"g\"\n ATMOSPHERE: (20120..20121) \" \"\n SYMBOL: (20121..20122)\n IDENTIFIER: (20121..20122) \"g\"\n CLOSE_PAREN: (20122..20123) \")\"\n CLOSE_PAREN: (20123..20124) \")\"\n CLOSE_PAREN: (20124..20125) \")\"\n ATMOSPHERE: (20125..20126) \"\n\"\n FORM: (20126..20170)\n OPEN_PAREN: (20126..20127) \"(\"\n SYMBOL: (20127..20131)\n IDENTIFIER: (20127..20131) \"test\"\n ATMOSPHERE: (20131..20132) \" \"\n CONSTANT: (20132..20134)\n BOOLEAN: (20132..20134) \"#f\"\n ATMOSPHERE: (20134..20135) \" \"\n FORM: (20135..20169)\n OPEN_PAREN: (20135..20136) \"(\"\n SYMBOL: (20136..20140)\n IDENTIFIER: (20136..20140) \"eqv?\"\n ATMOSPHERE: (20140..20141) \" \"\n FORM: (20141..20154)\n OPEN_PAREN: (20141..20142) \"(\"\n SYMBOL: (20142..20153)\n IDENTIFIER: (20142..20153) \"gen-counter\"\n CLOSE_PAREN: (20153..20154) \")\"\n ATMOSPHERE: (20154..20155) \" \"\n FORM: (20155..20168)\n OPEN_PAREN: (20155..20156) \"(\"\n SYMBOL: (20156..20167)\n IDENTIFIER: (20156..20167) \"gen-counter\"\n CLOSE_PAREN: (20167..20168) \")\"\n CLOSE_PAREN: (20168..20169) \")\"\n CLOSE_PAREN: (20169..20170) \")\"\n ATMOSPHERE: (20170..20171) \"\n\"\n FORM: (20171..20259)\n OPEN_PAREN: (20171..20172) \"(\"\n SYMBOL: (20172..20178)\n IDENTIFIER: (20172..20178) \"define\"\n ATMOSPHERE: (20178..20179) \" \"\n SYMBOL: (20179..20188)\n IDENTIFIER: (20179..20188) \"gen-loser\"\n ATMOSPHERE: (20188..20191) \"\n \"\n FORM: (20191..20258)\n OPEN_PAREN: (20191..20192) \"(\"\n SYMBOL: (20192..20198)\n IDENTIFIER: (20192..20198) \"lambda\"\n ATMOSPHERE: (20198..20199) \" \"\n FORM: (20199..20201)\n OPEN_PAREN: (20199..20200) \"(\"\n CLOSE_PAREN: (20200..20201) \")\"\n ATMOSPHERE: (20201..20206) \"\n \"\n FORM: (20206..20257)\n OPEN_PAREN: (20206..20207) \"(\"\n SYMBOL: (20207..20210)\n IDENTIFIER: (20207..20210) \"let\"\n ATMOSPHERE: (20210..20211) \" \"\n FORM: (20211..20218)\n OPEN_PAREN: (20211..20212) \"(\"\n FORM: (20212..20217)\n OPEN_PAREN: (20212..20213) \"(\"\n SYMBOL: (20213..20214)\n IDENTIFIER: (20213..20214) \"n\"\n ATMOSPHERE: (20214..20215) \" \"\n CONSTANT: (20215..20216)\n NUMBER: (20215..20216) \"0\"\n CLOSE_PAREN: (20216..20217) \")\"\n CLOSE_PAREN: (20217..20218) \")\"\n ATMOSPHERE: (20218..20225) \"\n \"\n FORM: (20225..20256)\n OPEN_PAREN: (20225..20226) \"(\"\n SYMBOL: (20226..20232)\n IDENTIFIER: (20226..20232) \"lambda\"\n ATMOSPHERE: (20232..20233) \" \"\n FORM: (20233..20235)\n OPEN_PAREN: (20233..20234) \"(\"\n CLOSE_PAREN: (20234..20235) \")\"\n ATMOSPHERE: (20235..20236) \" \"\n FORM: (20236..20252)\n OPEN_PAREN: (20236..20237) \"(\"\n SYMBOL: (20237..20241)\n IDENTIFIER: (20237..20241) \"set!\"\n ATMOSPHERE: (20241..20242) \" \"\n SYMBOL: (20242..20243)\n IDENTIFIER: (20242..20243) \"n\"\n ATMOSPHERE: (20243..20244) \" \"\n FORM: (20244..20251)\n OPEN_PAREN: (20244..20245) \"(\"\n SYMBOL: (20245..20246)\n IDENTIFIER: (20245..20246) \"+\"\n ATMOSPHERE: (20246..20247) \" \"\n SYMBOL: (20247..20248)\n IDENTIFIER: (20247..20248) \"n\"\n ATMOSPHERE: (20248..20249) \" \"\n CONSTANT: (20249..20250)\n NUMBER: (20249..20250) \"1\"\n CLOSE_PAREN: (20250..20251) \")\"\n CLOSE_PAREN: (20251..20252) \")\"\n ATMOSPHERE: (20252..20253) \" \"\n CONSTANT: (20253..20255)\n NUMBER: (20253..20255) \"27\"\n CLOSE_PAREN: (20255..20256) \")\"\n CLOSE_PAREN: (20256..20257) \")\"\n CLOSE_PAREN: (20257..20258) \")\"\n CLOSE_PAREN: (20258..20259) \")\"\n ATMOSPHERE: (20259..20260) \"\n\"\n FORM: (20260..20306)\n OPEN_PAREN: (20260..20261) \"(\"\n SYMBOL: (20261..20265)\n IDENTIFIER: (20261..20265) \"test\"\n ATMOSPHERE: (20265..20266) \" \"\n CONSTANT: (20266..20268)\n BOOLEAN: (20266..20268) \"#t\"\n ATMOSPHERE: (20268..20269) \" \"\n FORM: (20269..20305)\n OPEN_PAREN: (20269..20270) \"(\"\n SYMBOL: (20270..20273)\n IDENTIFIER: (20270..20273) \"let\"\n ATMOSPHERE: (20273..20274) \" \"\n FORM: (20274..20291)\n OPEN_PAREN: (20274..20275) \"(\"\n FORM: (20275..20290)\n OPEN_PAREN: (20275..20276) \"(\"\n SYMBOL: (20276..20277)\n IDENTIFIER: (20276..20277) \"g\"\n ATMOSPHERE: (20277..20278) \" \"\n FORM: (20278..20289)\n OPEN_PAREN: (20278..20279) \"(\"\n SYMBOL: (20279..20288)\n IDENTIFIER: (20279..20288) \"gen-loser\"\n CLOSE_PAREN: (20288..20289) \")\"\n CLOSE_PAREN: (20289..20290) \")\"\n CLOSE_PAREN: (20290..20291) \")\"\n ATMOSPHERE: (20291..20294) \"\n \"\n FORM: (20294..20304)\n OPEN_PAREN: (20294..20295) \"(\"\n SYMBOL: (20295..20299)\n IDENTIFIER: (20295..20299) \"eqv?\"\n ATMOSPHERE: (20299..20300) \" \"\n SYMBOL: (20300..20301)\n IDENTIFIER: (20300..20301) \"g\"\n ATMOSPHERE: (20301..20302) \" \"\n SYMBOL: (20302..20303)\n IDENTIFIER: (20302..20303) \"g\"\n CLOSE_PAREN: (20303..20304) \")\"\n CLOSE_PAREN: (20304..20305) \")\"\n CLOSE_PAREN: (20305..20306) \")\"\n ATMOSPHERE: (20306..20308) \"\n\n\"\n FORM: (20308..20433)\n OPEN_PAREN: (20308..20309) \"(\"\n SYMBOL: (20309..20313)\n IDENTIFIER: (20309..20313) \"test\"\n ATMOSPHERE: (20313..20314) \" \"\n CONSTANT: (20314..20316)\n BOOLEAN: (20314..20316) \"#f\"\n ATMOSPHERE: (20316..20317) \"\n\"\n FORM: (20317..20432)\n OPEN_PAREN: (20317..20318) \"(\"\n SYMBOL: (20318..20324)\n IDENTIFIER: (20318..20324) \"letrec\"\n ATMOSPHERE: (20324..20325) \" \"\n FORM: (20325..20417)\n OPEN_PAREN: (20325..20326) \"(\"\n FORM: (20326..20366)\n OPEN_PAREN: (20326..20327) \"(\"\n SYMBOL: (20327..20328)\n IDENTIFIER: (20327..20328) \"f\"\n ATMOSPHERE: (20328..20329) \" \"\n FORM: (20329..20365)\n OPEN_PAREN: (20329..20330) \"(\"\n SYMBOL: (20330..20336)\n IDENTIFIER: (20330..20336) \"lambda\"\n ATMOSPHERE: (20336..20337) \" \"\n FORM: (20337..20339)\n OPEN_PAREN: (20337..20338) \"(\"\n CLOSE_PAREN: (20338..20339) \")\"\n ATMOSPHERE: (20339..20340) \" \"\n FORM: (20340..20364)\n OPEN_PAREN: (20340..20341) \"(\"\n SYMBOL: (20341..20343)\n IDENTIFIER: (20341..20343) \"if\"\n ATMOSPHERE: (20343..20344) \" \"\n FORM: (20344..20354)\n OPEN_PAREN: (20344..20345) \"(\"\n SYMBOL: (20345..20349)\n IDENTIFIER: (20345..20349) \"eqv?\"\n ATMOSPHERE: (20349..20350) \" \"\n SYMBOL: (20350..20351)\n IDENTIFIER: (20350..20351) \"f\"\n ATMOSPHERE: (20351..20352) \" \"\n SYMBOL: (20352..20353)\n IDENTIFIER: (20352..20353) \"g\"\n CLOSE_PAREN: (20353..20354) \")\"\n ATMOSPHERE: (20354..20355) \" \"\n QUOTED_DATUM: (20355..20358)\n QUOTE: (20355..20356) \"'\"\n SYMBOL: (20356..20357)\n IDENTIFIER: (20356..20357) \"f\"\n ATMOSPHERE: (20357..20358) \" \"\n QUOTED_DATUM: (20358..20363)\n QUOTE: (20358..20359) \"'\"\n SYMBOL: (20359..20363)\n IDENTIFIER: (20359..20363) \"both\"\n CLOSE_PAREN: (20363..20364) \")\"\n CLOSE_PAREN: (20364..20365) \")\"\n CLOSE_PAREN: (20365..20366) \")\"\n ATMOSPHERE: (20366..20376) \"\n \"\n FORM: (20376..20416)\n OPEN_PAREN: (20376..20377) \"(\"\n SYMBOL: (20377..20378)\n IDENTIFIER: (20377..20378) \"g\"\n ATMOSPHERE: (20378..20379) \" \"\n FORM: (20379..20415)\n OPEN_PAREN: (20379..20380) \"(\"\n SYMBOL: (20380..20386)\n IDENTIFIER: (20380..20386) \"lambda\"\n ATMOSPHERE: (20386..20387) \" \"\n FORM: (20387..20389)\n OPEN_PAREN: (20387..20388) \"(\"\n CLOSE_PAREN: (20388..20389) \")\"\n ATMOSPHERE: (20389..20390) \" \"\n FORM: (20390..20414)\n OPEN_PAREN: (20390..20391) \"(\"\n SYMBOL: (20391..20393)\n IDENTIFIER: (20391..20393) \"if\"\n ATMOSPHERE: (20393..20394) \" \"\n FORM: (20394..20404)\n OPEN_PAREN: (20394..20395) \"(\"\n SYMBOL: (20395..20399)\n IDENTIFIER: (20395..20399) \"eqv?\"\n ATMOSPHERE: (20399..20400) \" \"\n SYMBOL: (20400..20401)\n IDENTIFIER: (20400..20401) \"f\"\n ATMOSPHERE: (20401..20402) \" \"\n SYMBOL: (20402..20403)\n IDENTIFIER: (20402..20403) \"g\"\n CLOSE_PAREN: (20403..20404) \")\"\n ATMOSPHERE: (20404..20405) \" \"\n QUOTED_DATUM: (20405..20408)\n QUOTE: (20405..20406) \"'\"\n SYMBOL: (20406..20407)\n IDENTIFIER: (20406..20407) \"g\"\n ATMOSPHERE: (20407..20408) \" \"\n QUOTED_DATUM: (20408..20413)\n QUOTE: (20408..20409) \"'\"\n SYMBOL: (20409..20413)\n IDENTIFIER: (20409..20413) \"both\"\n CLOSE_PAREN: (20413..20414) \")\"\n CLOSE_PAREN: (20414..20415) \")\"\n CLOSE_PAREN: (20415..20416) \")\"\n CLOSE_PAREN: (20416..20417) \")\"\n ATMOSPHERE: (20417..20421) \"\n \"\n FORM: (20421..20431)\n OPEN_PAREN: (20421..20422) \"(\"\n SYMBOL: (20422..20426)\n IDENTIFIER: (20422..20426) \"eqv?\"\n ATMOSPHERE: (20426..20427) \" \"\n SYMBOL: (20427..20428)\n IDENTIFIER: (20427..20428) \"f\"\n ATMOSPHERE: (20428..20429) \" \"\n SYMBOL: (20429..20430)\n IDENTIFIER: (20429..20430) \"g\"\n CLOSE_PAREN: (20430..20431) \")\"\n CLOSE_PAREN: (20431..20432) \")\"\n CLOSE_PAREN: (20432..20433) \")\"\n ATMOSPHERE: (20433..20435) \"\n\n\"\n FORM: (20435..20482)\n OPEN_PAREN: (20435..20436) \"(\"\n SYMBOL: (20436..20440)\n IDENTIFIER: (20436..20440) \"test\"\n ATMOSPHERE: (20440..20441) \" \"\n CONSTANT: (20441..20443)\n BOOLEAN: (20441..20443) \"#t\"\n ATMOSPHERE: (20443..20448) \"\n \"\n FORM: (20448..20481)\n OPEN_PAREN: (20448..20449) \"(\"\n SYMBOL: (20449..20452)\n IDENTIFIER: (20449..20452) \"let\"\n ATMOSPHERE: (20452..20453) \" \"\n FORM: (20453..20463)\n OPEN_PAREN: (20453..20454) \"(\"\n FORM: (20454..20462)\n OPEN_PAREN: (20454..20455) \"(\"\n SYMBOL: (20455..20456)\n IDENTIFIER: (20455..20456) \"x\"\n ATMOSPHERE: (20456..20457) \" \"\n QUOTED_DATUM: (20457..20461)\n QUOTE: (20457..20458) \"'\"\n FORM: (20458..20461)\n OPEN_PAREN: (20458..20459) \"(\"\n SYMBOL: (20459..20460)\n IDENTIFIER: (20459..20460) \"a\"\n CLOSE_PAREN: (20460..20461) \")\"\n CLOSE_PAREN: (20461..20462) \")\"\n CLOSE_PAREN: (20462..20463) \")\"\n ATMOSPHERE: (20463..20470) \"\n \"\n FORM: (20470..20480)\n OPEN_PAREN: (20470..20471) \"(\"\n SYMBOL: (20471..20475)\n IDENTIFIER: (20471..20475) \"eqv?\"\n ATMOSPHERE: (20475..20476) \" \"\n SYMBOL: (20476..20477)\n IDENTIFIER: (20476..20477) \"x\"\n ATMOSPHERE: (20477..20478) \" \"\n SYMBOL: (20478..20479)\n IDENTIFIER: (20478..20479) \"x\"\n CLOSE_PAREN: (20479..20480) \")\"\n CLOSE_PAREN: (20480..20481) \")\"\n CLOSE_PAREN: (20481..20482) \")\"\n ATMOSPHERE: (20482..20484) \"\n\n\"\n FORM: (20484..20505)\n OPEN_PAREN: (20484..20485) \"(\"\n SYMBOL: (20485..20489)\n IDENTIFIER: (20485..20489) \"test\"\n ATMOSPHERE: (20489..20490) \" \"\n CONSTANT: (20490..20492)\n BOOLEAN: (20490..20492) \"#t\"\n ATMOSPHERE: (20492..20493) \" \"\n FORM: (20493..20504)\n OPEN_PAREN: (20493..20494) \"(\"\n SYMBOL: (20494..20497)\n IDENTIFIER: (20494..20497) \"eq?\"\n ATMOSPHERE: (20497..20498) \" \"\n QUOTED_DATUM: (20498..20501)\n QUOTE: (20498..20499) \"'\"\n SYMBOL: (20499..20500)\n IDENTIFIER: (20499..20500) \"a\"\n ATMOSPHERE: (20500..20501) \" \"\n QUOTED_DATUM: (20501..20503)\n QUOTE: (20501..20502) \"'\"\n SYMBOL: (20502..20503)\n IDENTIFIER: (20502..20503) \"a\"\n CLOSE_PAREN: (20503..20504) \")\"\n CLOSE_PAREN: (20504..20505) \")\"\n ATMOSPHERE: (20505..20506) \"\n\"\n FORM: (20506..20541)\n OPEN_PAREN: (20506..20507) \"(\"\n SYMBOL: (20507..20511)\n IDENTIFIER: (20507..20511) \"test\"\n ATMOSPHERE: (20511..20512) \" \"\n CONSTANT: (20512..20514)\n BOOLEAN: (20512..20514) \"#f\"\n ATMOSPHERE: (20514..20515) \" \"\n FORM: (20515..20540)\n OPEN_PAREN: (20515..20516) \"(\"\n SYMBOL: (20516..20519)\n IDENTIFIER: (20516..20519) \"eq?\"\n ATMOSPHERE: (20519..20520) \" \"\n FORM: (20520..20529)\n OPEN_PAREN: (20520..20521) \"(\"\n SYMBOL: (20521..20525)\n IDENTIFIER: (20521..20525) \"list\"\n ATMOSPHERE: (20525..20526) \" \"\n QUOTED_DATUM: (20526..20528)\n QUOTE: (20526..20527) \"'\"\n SYMBOL: (20527..20528)\n IDENTIFIER: (20527..20528) \"a\"\n CLOSE_PAREN: (20528..20529) \")\"\n ATMOSPHERE: (20529..20530) \" \"\n FORM: (20530..20539)\n OPEN_PAREN: (20530..20531) \"(\"\n SYMBOL: (20531..20535)\n IDENTIFIER: (20531..20535) \"list\"\n ATMOSPHERE: (20535..20536) \" \"\n QUOTED_DATUM: (20536..20538)\n QUOTE: (20536..20537) \"'\"\n SYMBOL: (20537..20538)\n IDENTIFIER: (20537..20538) \"a\"\n CLOSE_PAREN: (20538..20539) \")\"\n CLOSE_PAREN: (20539..20540) \")\"\n CLOSE_PAREN: (20540..20541) \")\"\n ATMOSPHERE: (20541..20542) \"\n\"\n FORM: (20542..20565)\n OPEN_PAREN: (20542..20543) \"(\"\n SYMBOL: (20543..20547)\n IDENTIFIER: (20543..20547) \"test\"\n ATMOSPHERE: (20547..20548) \" \"\n CONSTANT: (20548..20550)\n BOOLEAN: (20548..20550) \"#t\"\n ATMOSPHERE: (20550..20551) \" \"\n FORM: (20551..20564)\n OPEN_PAREN: (20551..20552) \"(\"\n SYMBOL: (20552..20555)\n IDENTIFIER: (20552..20555) \"eq?\"\n ATMOSPHERE: (20555..20556) \" \"\n QUOTED_DATUM: (20556..20560)\n QUOTE: (20556..20557) \"'\"\n FORM: (20557..20559)\n OPEN_PAREN: (20557..20558) \"(\"\n CLOSE_PAREN: (20558..20559) \")\"\n ATMOSPHERE: (20559..20560) \" \"\n QUOTED_DATUM: (20560..20563)\n QUOTE: (20560..20561) \"'\"\n FORM: (20561..20563)\n OPEN_PAREN: (20561..20562) \"(\"\n CLOSE_PAREN: (20562..20563) \")\"\n CLOSE_PAREN: (20563..20564) \")\"\n CLOSE_PAREN: (20564..20565) \")\"\n ATMOSPHERE: (20565..20566) \"\n\"\n FORM: (20566..20612)\n OPEN_PAREN: (20566..20567) \"(\"\n SYMBOL: (20567..20571)\n IDENTIFIER: (20567..20571) \"test\"\n ATMOSPHERE: (20571..20572) \" \"\n CONSTANT: (20572..20574)\n BOOLEAN: (20572..20574) \"#t\"\n ATMOSPHERE: (20574..20579) \"\n \"\n FORM: (20579..20611)\n OPEN_PAREN: (20579..20580) \"(\"\n SYMBOL: (20580..20583)\n IDENTIFIER: (20580..20583) \"let\"\n ATMOSPHERE: (20583..20584) \" \"\n FORM: (20584..20594)\n OPEN_PAREN: (20584..20585) \"(\"\n FORM: (20585..20593)\n OPEN_PAREN: (20585..20586) \"(\"\n SYMBOL: (20586..20587)\n IDENTIFIER: (20586..20587) \"x\"\n ATMOSPHERE: (20587..20588) \" \"\n QUOTED_DATUM: (20588..20592)\n QUOTE: (20588..20589) \"'\"\n FORM: (20589..20592)\n OPEN_PAREN: (20589..20590) \"(\"\n SYMBOL: (20590..20591)\n IDENTIFIER: (20590..20591) \"a\"\n CLOSE_PAREN: (20591..20592) \")\"\n CLOSE_PAREN: (20592..20593) \")\"\n CLOSE_PAREN: (20593..20594) \")\"\n ATMOSPHERE: (20594..20601) \"\n \"\n FORM: (20601..20610)\n OPEN_PAREN: (20601..20602) \"(\"\n SYMBOL: (20602..20605)\n IDENTIFIER: (20602..20605) \"eq?\"\n ATMOSPHERE: (20605..20606) \" \"\n SYMBOL: (20606..20607)\n IDENTIFIER: (20606..20607) \"x\"\n ATMOSPHERE: (20607..20608) \" \"\n SYMBOL: (20608..20609)\n IDENTIFIER: (20608..20609) \"x\"\n CLOSE_PAREN: (20609..20610) \")\"\n CLOSE_PAREN: (20610..20611) \")\"\n CLOSE_PAREN: (20611..20612) \")\"\n ATMOSPHERE: (20612..20613) \"\n\"\n FORM: (20613..20659)\n OPEN_PAREN: (20613..20614) \"(\"\n SYMBOL: (20614..20618)\n IDENTIFIER: (20614..20618) \"test\"\n ATMOSPHERE: (20618..20619) \" \"\n CONSTANT: (20619..20621)\n BOOLEAN: (20619..20621) \"#t\"\n ATMOSPHERE: (20621..20626) \"\n \"\n FORM: (20626..20658)\n OPEN_PAREN: (20626..20627) \"(\"\n SYMBOL: (20627..20630)\n IDENTIFIER: (20627..20630) \"let\"\n ATMOSPHERE: (20630..20631) \" \"\n FORM: (20631..20641)\n OPEN_PAREN: (20631..20632) \"(\"\n FORM: (20632..20640)\n OPEN_PAREN: (20632..20633) \"(\"\n SYMBOL: (20633..20634)\n IDENTIFIER: (20633..20634) \"x\"\n ATMOSPHERE: (20634..20635) \" \"\n QUOTED_DATUM: (20635..20639)\n QUOTE: (20635..20636) \"'\"\n VEC: (20636..20639)\n OPEN_PAREN: (20636..20638) \"#(\"\n CLOSE_PAREN: (20638..20639) \")\"\n CLOSE_PAREN: (20639..20640) \")\"\n CLOSE_PAREN: (20640..20641) \")\"\n ATMOSPHERE: (20641..20648) \"\n \"\n FORM: (20648..20657)\n OPEN_PAREN: (20648..20649) \"(\"\n SYMBOL: (20649..20652)\n IDENTIFIER: (20649..20652) \"eq?\"\n ATMOSPHERE: (20652..20653) \" \"\n SYMBOL: (20653..20654)\n IDENTIFIER: (20653..20654) \"x\"\n ATMOSPHERE: (20654..20655) \" \"\n SYMBOL: (20655..20656)\n IDENTIFIER: (20655..20656) \"x\"\n CLOSE_PAREN: (20656..20657) \")\"\n CLOSE_PAREN: (20657..20658) \")\"\n CLOSE_PAREN: (20658..20659) \")\"\n ATMOSPHERE: (20659..20660) \"\n\"\n FORM: (20660..20716)\n OPEN_PAREN: (20660..20661) \"(\"\n SYMBOL: (20661..20665)\n IDENTIFIER: (20661..20665) \"test\"\n ATMOSPHERE: (20665..20666) \" \"\n CONSTANT: (20666..20668)\n BOOLEAN: (20666..20668) \"#t\"\n ATMOSPHERE: (20668..20673) \"\n \"\n FORM: (20673..20715)\n OPEN_PAREN: (20673..20674) \"(\"\n SYMBOL: (20674..20677)\n IDENTIFIER: (20674..20677) \"let\"\n ATMOSPHERE: (20677..20678) \" \"\n FORM: (20678..20698)\n OPEN_PAREN: (20678..20679) \"(\"\n FORM: (20679..20697)\n OPEN_PAREN: (20679..20680) \"(\"\n SYMBOL: (20680..20681)\n IDENTIFIER: (20680..20681) \"p\"\n ATMOSPHERE: (20681..20682) \" \"\n FORM: (20682..20696)\n OPEN_PAREN: (20682..20683) \"(\"\n SYMBOL: (20683..20689)\n IDENTIFIER: (20683..20689) \"lambda\"\n ATMOSPHERE: (20689..20690) \" \"\n FORM: (20690..20693)\n OPEN_PAREN: (20690..20691) \"(\"\n SYMBOL: (20691..20692)\n IDENTIFIER: (20691..20692) \"x\"\n CLOSE_PAREN: (20692..20693) \")\"\n ATMOSPHERE: (20693..20694) \" \"\n SYMBOL: (20694..20695)\n IDENTIFIER: (20694..20695) \"x\"\n CLOSE_PAREN: (20695..20696) \")\"\n CLOSE_PAREN: (20696..20697) \")\"\n CLOSE_PAREN: (20697..20698) \")\"\n ATMOSPHERE: (20698..20705) \"\n \"\n FORM: (20705..20714)\n OPEN_PAREN: (20705..20706) \"(\"\n SYMBOL: (20706..20709)\n IDENTIFIER: (20706..20709) \"eq?\"\n ATMOSPHERE: (20709..20710) \" \"\n SYMBOL: (20710..20711)\n IDENTIFIER: (20710..20711) \"p\"\n ATMOSPHERE: (20711..20712) \" \"\n SYMBOL: (20712..20713)\n IDENTIFIER: (20712..20713) \"p\"\n CLOSE_PAREN: (20713..20714) \")\"\n CLOSE_PAREN: (20714..20715) \")\"\n CLOSE_PAREN: (20715..20716) \")\"\n ATMOSPHERE: (20716..20718) \"\n\n\"\n FORM: (20718..20742)\n OPEN_PAREN: (20718..20719) \"(\"\n SYMBOL: (20719..20723)\n IDENTIFIER: (20719..20723) \"test\"\n ATMOSPHERE: (20723..20724) \" \"\n CONSTANT: (20724..20726)\n BOOLEAN: (20724..20726) \"#t\"\n ATMOSPHERE: (20726..20727) \" \"\n FORM: (20727..20741)\n OPEN_PAREN: (20727..20728) \"(\"\n SYMBOL: (20728..20734)\n IDENTIFIER: (20728..20734) \"equal?\"\n ATMOSPHERE: (20734..20735) \" \"\n QUOTED_DATUM: (20735..20738)\n QUOTE: (20735..20736) \"'\"\n SYMBOL: (20736..20737)\n IDENTIFIER: (20736..20737) \"a\"\n ATMOSPHERE: (20737..20738) \" \"\n QUOTED_DATUM: (20738..20740)\n QUOTE: (20738..20739) \"'\"\n SYMBOL: (20739..20740)\n IDENTIFIER: (20739..20740) \"a\"\n CLOSE_PAREN: (20740..20741) \")\"\n CLOSE_PAREN: (20741..20742) \")\"\n ATMOSPHERE: (20742..20743) \"\n\"\n FORM: (20743..20771)\n OPEN_PAREN: (20743..20744) \"(\"\n SYMBOL: (20744..20748)\n IDENTIFIER: (20744..20748) \"test\"\n ATMOSPHERE: (20748..20749) \" \"\n CONSTANT: (20749..20751)\n BOOLEAN: (20749..20751) \"#t\"\n ATMOSPHERE: (20751..20752) \" \"\n FORM: (20752..20770)\n OPEN_PAREN: (20752..20753) \"(\"\n SYMBOL: (20753..20759)\n IDENTIFIER: (20753..20759) \"equal?\"\n ATMOSPHERE: (20759..20760) \" \"\n QUOTED_DATUM: (20760..20765)\n QUOTE: (20760..20761) \"'\"\n FORM: (20761..20764)\n OPEN_PAREN: (20761..20762) \"(\"\n SYMBOL: (20762..20763)\n IDENTIFIER: (20762..20763) \"a\"\n CLOSE_PAREN: (20763..20764) \")\"\n ATMOSPHERE: (20764..20765) \" \"\n QUOTED_DATUM: (20765..20769)\n QUOTE: (20765..20766) \"'\"\n FORM: (20766..20769)\n OPEN_PAREN: (20766..20767) \"(\"\n SYMBOL: (20767..20768)\n IDENTIFIER: (20767..20768) \"a\"\n CLOSE_PAREN: (20768..20769) \")\"\n CLOSE_PAREN: (20769..20770) \")\"\n CLOSE_PAREN: (20770..20771) \")\"\n ATMOSPHERE: (20771..20772) \"\n\"\n FORM: (20772..20829)\n OPEN_PAREN: (20772..20773) \"(\"\n SYMBOL: (20773..20777)\n IDENTIFIER: (20773..20777) \"test\"\n ATMOSPHERE: (20777..20778) \" \"\n CONSTANT: (20778..20780)\n BOOLEAN: (20778..20780) \"#t\"\n ATMOSPHERE: (20780..20781) \" \"\n FORM: (20781..20828)\n OPEN_PAREN: (20781..20782) \"(\"\n SYMBOL: (20782..20788)\n IDENTIFIER: (20782..20788) \"equal?\"\n ATMOSPHERE: (20788..20789) \" \"\n QUOTED_DATUM: (20789..20817)\n QUOTE: (20789..20790) \"'\"\n FORM: (20790..20799)\n OPEN_PAREN: (20790..20791) \"(\"\n SYMBOL: (20791..20792)\n IDENTIFIER: (20791..20792) \"a\"\n ATMOSPHERE: (20792..20793) \" \"\n FORM: (20793..20796)\n OPEN_PAREN: (20793..20794) \"(\"\n SYMBOL: (20794..20795)\n IDENTIFIER: (20794..20795) \"b\"\n CLOSE_PAREN: (20795..20796) \")\"\n ATMOSPHERE: (20796..20797) \" \"\n SYMBOL: (20797..20798)\n IDENTIFIER: (20797..20798) \"c\"\n CLOSE_PAREN: (20798..20799) \")\"\n ATMOSPHERE: (20799..20817) \"\n \"\n QUOTED_DATUM: (20817..20827)\n QUOTE: (20817..20818) \"'\"\n FORM: (20818..20827)\n OPEN_PAREN: (20818..20819) \"(\"\n SYMBOL: (20819..20820)\n IDENTIFIER: (20819..20820) \"a\"\n ATMOSPHERE: (20820..20821) \" \"\n FORM: (20821..20824)\n OPEN_PAREN: (20821..20822) \"(\"\n SYMBOL: (20822..20823)\n IDENTIFIER: (20822..20823) \"b\"\n CLOSE_PAREN: (20823..20824) \")\"\n ATMOSPHERE: (20824..20825) \" \"\n SYMBOL: (20825..20826)\n IDENTIFIER: (20825..20826) \"c\"\n CLOSE_PAREN: (20826..20827) \")\"\n CLOSE_PAREN: (20827..20828) \")\"\n CLOSE_PAREN: (20828..20829) \")\"\n ATMOSPHERE: (20829..20830) \"\n\"\n FORM: (20830..20860)\n OPEN_PAREN: (20830..20831) \"(\"\n SYMBOL: (20831..20835)\n IDENTIFIER: (20831..20835) \"test\"\n ATMOSPHERE: (20835..20836) \" \"\n CONSTANT: (20836..20838)\n BOOLEAN: (20836..20838) \"#t\"\n ATMOSPHERE: (20838..20839) \" \"\n FORM: (20839..20859)\n OPEN_PAREN: (20839..20840) \"(\"\n SYMBOL: (20840..20846)\n IDENTIFIER: (20840..20846) \"equal?\"\n ATMOSPHERE: (20846..20847) \" \"\n CONSTANT: (20847..20852)\n STRING: (20847..20852) \"\"abc\"\"\n ATMOSPHERE: (20852..20853) \" \"\n CONSTANT: (20853..20858)\n STRING: (20853..20858) \"\"abc\"\"\n CLOSE_PAREN: (20858..20859) \")\"\n CLOSE_PAREN: (20859..20860) \")\"\n ATMOSPHERE: (20860..20861) \"\n\"\n FORM: (20861..20883)\n OPEN_PAREN: (20861..20862) \"(\"\n SYMBOL: (20862..20866)\n IDENTIFIER: (20862..20866) \"test\"\n ATMOSPHERE: (20866..20867) \" \"\n CONSTANT: (20867..20869)\n BOOLEAN: (20867..20869) \"#t\"\n ATMOSPHERE: (20869..20870) \" \"\n FORM: (20870..20882)\n OPEN_PAREN: (20870..20871) \"(\"\n SYMBOL: (20871..20877)\n IDENTIFIER: (20871..20877) \"equal?\"\n ATMOSPHERE: (20877..20878) \" \"\n CONSTANT: (20878..20879)\n NUMBER: (20878..20879) \"2\"\n ATMOSPHERE: (20879..20880) \" \"\n CONSTANT: (20880..20881)\n NUMBER: (20880..20881) \"2\"\n CLOSE_PAREN: (20881..20882) \")\"\n CLOSE_PAREN: (20882..20883) \")\"\n ATMOSPHERE: (20883..20884) \"\n\"\n FORM: (20884..20957)\n OPEN_PAREN: (20884..20885) \"(\"\n SYMBOL: (20885..20889)\n IDENTIFIER: (20885..20889) \"test\"\n ATMOSPHERE: (20889..20890) \" \"\n CONSTANT: (20890..20892)\n BOOLEAN: (20890..20892) \"#t\"\n ATMOSPHERE: (20892..20893) \" \"\n FORM: (20893..20956)\n OPEN_PAREN: (20893..20894) \"(\"\n SYMBOL: (20894..20900)\n IDENTIFIER: (20894..20900) \"equal?\"\n ATMOSPHERE: (20900..20901) \" \"\n FORM: (20901..20919)\n OPEN_PAREN: (20901..20902) \"(\"\n SYMBOL: (20902..20913)\n IDENTIFIER: (20902..20913) \"make-vector\"\n ATMOSPHERE: (20913..20914) \" \"\n CONSTANT: (20914..20915)\n NUMBER: (20914..20915) \"5\"\n ATMOSPHERE: (20915..20916) \" \"\n QUOTED_DATUM: (20916..20918)\n QUOTE: (20916..20917) \"'\"\n SYMBOL: (20917..20918)\n IDENTIFIER: (20917..20918) \"a\"\n CLOSE_PAREN: (20918..20919) \")\"\n ATMOSPHERE: (20919..20937) \"\n \"\n FORM: (20937..20955)\n OPEN_PAREN: (20937..20938) \"(\"\n SYMBOL: (20938..20949)\n IDENTIFIER: (20938..20949) \"make-vector\"\n ATMOSPHERE: (20949..20950) \" \"\n CONSTANT: (20950..20951)\n NUMBER: (20950..20951) \"5\"\n ATMOSPHERE: (20951..20952) \" \"\n QUOTED_DATUM: (20952..20954)\n QUOTE: (20952..20953) \"'\"\n SYMBOL: (20953..20954)\n IDENTIFIER: (20953..20954) \"a\"\n CLOSE_PAREN: (20954..20955) \")\"\n CLOSE_PAREN: (20955..20956) \")\"\n CLOSE_PAREN: (20956..20957) \")\"\n ATMOSPHERE: (20957..20959) \"\n\n\"\n FORM: (20959..20969)\n OPEN_PAREN: (20959..20960) \"(\"\n SYMBOL: (20960..20968)\n IDENTIFIER: (20960..20968) \"test-end\"\n CLOSE_PAREN: (20968..20969) \")\"\n ATMOSPHERE: (20969..20971) \"\n\n\"\n FORM: (20971..20997)\n OPEN_PAREN: (20971..20972) \"(\"\n SYMBOL: (20972..20982)\n IDENTIFIER: (20972..20982) \"test-begin\"\n ATMOSPHERE: (20982..20983) \" \"\n CONSTANT: (20983..20996)\n STRING: (20983..20996) \"\"6.2 Numbers\"\"\n CLOSE_PAREN: (20996..20997) \")\"\n ATMOSPHERE: (20997..20999) \"\n\n\"\n ATMOSPHERE: (20999..21027) \";; (test #t (complex? 3+4i))\"\n ATMOSPHERE: (21027..21028) \"\n\"\n ATMOSPHERE: (21028..21053) \";; (test #t (complex? 3))\"\n ATMOSPHERE: (21053..21054) \"\n\"\n ATMOSPHERE: (21054..21076) \";; (test #t (real? 3))\"\n ATMOSPHERE: (21076..21077) \"\n\"\n ATMOSPHERE: (21077..21105) \";; (test #t (real? -2.5+0i))\"\n ATMOSPHERE: (21105..21106) \"\n\"\n ATMOSPHERE: (21106..21136) \";; (test #f (real? -2.5+0.0i))\"\n ATMOSPHERE: (21136..21137) \"\n\"\n ATMOSPHERE: (21137..21164) \";; (test #t (real? #e1e10))\"\n ATMOSPHERE: (21164..21165) \"\n\"\n ATMOSPHERE: (21165..21192) \";; (test #t (real? +inf.0))\"\n ATMOSPHERE: (21192..21193) \"\n\"\n ATMOSPHERE: (21193..21224) \";; (test #f (rational? -inf.0))\"\n ATMOSPHERE: (21224..21225) \"\n\"\n ATMOSPHERE: (21225..21256) \";; (test #f (rational? +nan.0))\"\n ATMOSPHERE: (21256..21257) \"\n\"\n ATMOSPHERE: (21257..21300) \";; (test #t (rational? 9007199254740991.0))\"\n ATMOSPHERE: (21300..21301) \"\n\"\n ATMOSPHERE: (21301..21344) \";; (test #t (rational? 9007199254740992.0))\"\n ATMOSPHERE: (21344..21345) \"\n\"\n ATMOSPHERE: (21345..21392) \";; (test #t (rational? 1.7976931348623157e308))\"\n ATMOSPHERE: (21392..21393) \"\n\"\n ATMOSPHERE: (21393..21422) \";; (test #t (rational? 6/10))\"\n ATMOSPHERE: (21422..21423) \"\n\"\n ATMOSPHERE: (21423..21451) \";; (test #t (rational? 6/3))\"\n ATMOSPHERE: (21451..21452) \"\n\"\n ATMOSPHERE: (21452..21480) \";; (test #t (integer? 3+0i))\"\n ATMOSPHERE: (21480..21481) \"\n\"\n ATMOSPHERE: (21481..21508) \";; (test #t (integer? 3.0))\"\n ATMOSPHERE: (21508..21509) \"\n\"\n ATMOSPHERE: (21509..21536) \";; (test #t (integer? 8/4))\"\n ATMOSPHERE: (21536..21538) \"\n\n\"\n ATMOSPHERE: (21538..21563) \";; (test #f (exact? 3.0))\"\n ATMOSPHERE: (21563..21564) \"\n\"\n ATMOSPHERE: (21564..21591) \";; (test #t (exact? #e3.0))\"\n ATMOSPHERE: (21591..21592) \"\n\"\n ATMOSPHERE: (21592..21618) \";; (test #t (inexact? 3.))\"\n ATMOSPHERE: (21618..21620) \"\n\n\"\n ATMOSPHERE: (21620..21652) \";; (test #t (exact-integer? 32))\"\n ATMOSPHERE: (21652..21653) \"\n\"\n ATMOSPHERE: (21653..21687) \";; (test #f (exact-integer? 32.0))\"\n ATMOSPHERE: (21687..21688) \"\n\"\n ATMOSPHERE: (21688..21722) \";; (test #f (exact-integer? 32/5))\"\n ATMOSPHERE: (21722..21724) \"\n\n\"\n ATMOSPHERE: (21724..21748) \";; (test #t (finite? 3))\"\n ATMOSPHERE: (21748..21749) \"\n\"\n ATMOSPHERE: (21749..21778) \";; (test #f (finite? +inf.0))\"\n ATMOSPHERE: (21778..21779) \"\n\"\n ATMOSPHERE: (21779..21812) \";; (test #f (finite? 3.0+inf.0i))\"\n ATMOSPHERE: (21812..21814) \"\n\n\"\n ATMOSPHERE: (21814..21840) \";; (test #f (infinite? 3))\"\n ATMOSPHERE: (21840..21841) \"\n\"\n ATMOSPHERE: (21841..21872) \";; (test #t (infinite? +inf.0))\"\n ATMOSPHERE: (21872..21873) \"\n\"\n ATMOSPHERE: (21873..21904) \";; (test #f (infinite? +nan.0))\"\n ATMOSPHERE: (21904..21905) \"\n\"\n ATMOSPHERE: (21905..21940) \";; (test #t (infinite? 3.0+inf.0i))\"\n ATMOSPHERE: (21940..21942) \"\n\n\"\n ATMOSPHERE: (21942..21968) \";; (test #t (nan? +nan.0))\"\n ATMOSPHERE: (21968..21969) \"\n\"\n ATMOSPHERE: (21969..21991) \";; (test #f (nan? 32))\"\n ATMOSPHERE: (21991..21992) \"\n\"\n ATMOSPHERE: (21992..22026) \";; ;; (test #t (nan? +nan.0+5.0i))\"\n ATMOSPHERE: (22026..22027) \"\n\"\n ATMOSPHERE: (22027..22051) \";; (test #f (nan? 1+2i))\"\n ATMOSPHERE: (22051..22053) \"\n\n\"\n ATMOSPHERE: (22053..22084) \";; (test #t (= 1 1.0 1.0+0.0i))\"\n ATMOSPHERE: (22084..22085) \"\n\"\n ATMOSPHERE: (22085..22114) \";; (test #f (= 1.0 1.0+1.0i))\"\n ATMOSPHERE: (22114..22115) \"\n\"\n ATMOSPHERE: (22115..22137) \";; (test #t (< 1 2 3))\"\n ATMOSPHERE: (22137..22138) \"\n\"\n ATMOSPHERE: (22138..22160) \";; (test #f (< 1 1 2))\"\n ATMOSPHERE: (22160..22161) \"\n\"\n ATMOSPHERE: (22161..22189) \";; (test #t (> 3.0 2.0 1.0))\"\n ATMOSPHERE: (22189..22190) \"\n\"\n ATMOSPHERE: (22190..22219) \";; (test #f (> -3.0 2.0 1.0))\"\n ATMOSPHERE: (22219..22220) \"\n\"\n ATMOSPHERE: (22220..22243) \";; (test #t (<= 1 1 2))\"\n ATMOSPHERE: (22243..22244) \"\n\"\n ATMOSPHERE: (22244..22267) \";; (test #f (<= 1 2 1))\"\n ATMOSPHERE: (22267..22268) \"\n\"\n ATMOSPHERE: (22268..22291) \";; (test #t (>= 2 1 1))\"\n ATMOSPHERE: (22291..22292) \"\n\"\n ATMOSPHERE: (22292..22315) \";; (test #f (>= 1 2 1))\"\n ATMOSPHERE: (22315..22316) \"\n\"\n ATMOSPHERE: (22316..22341) \";; (test #f (< +nan.0 0))\"\n ATMOSPHERE: (22341..22342) \"\n\"\n ATMOSPHERE: (22342..22367) \";; (test #f (> +nan.0 0))\"\n ATMOSPHERE: (22367..22368) \"\n\"\n ATMOSPHERE: (22368..22395) \";; (test #f (< +nan.0 0.0))\"\n ATMOSPHERE: (22395..22396) \"\n\"\n ATMOSPHERE: (22396..22423) \";; (test #f (> +nan.0 0.0))\"\n ATMOSPHERE: (22423..22424) \"\n\"\n ATMOSPHERE: (22424..22471) \";; (test '(#t #f) (list (<= 1 1 2) (<= 2 1 3)))\"\n ATMOSPHERE: (22471..22473) \"\n\n\"\n ATMOSPHERE: (22473..22516) \";; ;; From R7RS 6.2.6 Numerical operations:\"\n ATMOSPHERE: (22516..22517) \"\n\"\n ATMOSPHERE: (22517..22522) \";; ;;\"\n ATMOSPHERE: (22522..22523) \"\n\"\n ATMOSPHERE: (22523..22576) \";; ;; These predicates are required to be transitive.\"\n ATMOSPHERE: (22576..22577) \"\n\"\n ATMOSPHERE: (22577..22582) \";; ;;\"\n ATMOSPHERE: (22582..22583) \"\n\"\n ATMOSPHERE: (22583..22651) \";; ;; _Note:_ The traditional implementations of these predicates in\"\n ATMOSPHERE: (22651..22652) \"\n\"\n ATMOSPHERE: (22652..22728) \";; ;; Lisp-like languages, which involve converting all arguments to inexact\"\n ATMOSPHERE: (22728..22729) \"\n\"\n ATMOSPHERE: (22729..22790) \";; ;; numbers if any argument is inexact, are not transitive.\"\n ATMOSPHERE: (22790..22792) \"\n\n\"\n ATMOSPHERE: (22792..22822) \";; ;; Example from Alan Bawden\"\n ATMOSPHERE: (22822..22823) \"\n\"\n ATMOSPHERE: (22823..22855) \";; (let ((a (- (expt 2 1000) 1))\"\n ATMOSPHERE: (22855..22856) \"\n\"\n ATMOSPHERE: (22856..22926) \";; (b (inexact (expt 2 1000))) ; assuming > single-float-epsilon\"\n ATMOSPHERE: (22926..22927) \"\n\"\n ATMOSPHERE: (22927..22960) \";; (c (+ (expt 2 1000) 1)))\"\n ATMOSPHERE: (22960..22961) \"\n\"\n ATMOSPHERE: (22961..23000) \";; (test #t (if (and (= a b) (= b c))\"\n ATMOSPHERE: (23000..23001) \"\n\"\n ATMOSPHERE: (23001..23026) \";; (= a c)\"\n ATMOSPHERE: (23026..23027) \"\n\"\n ATMOSPHERE: (23027..23050) \";; #t)))\"\n ATMOSPHERE: (23050..23052) \"\n\n\"\n ATMOSPHERE: (23052..23097) \";; ;; From CLtL 12.3. Comparisons on Numbers:\"\n ATMOSPHERE: (23097..23098) \"\n\"\n ATMOSPHERE: (23098..23103) \";; ;;\"\n ATMOSPHERE: (23103..23104) \"\n\"\n ATMOSPHERE: (23104..23174) \";; ;; Let _a_ be the result of (/ 10.0 single-float-epsilon), and let\"\n ATMOSPHERE: (23174..23175) \"\n\"\n ATMOSPHERE: (23175..23245) \";; ;; _j_ be the result of (floor a). ..., all of (<= a j), (< j (+ j\"\n ATMOSPHERE: (23245..23246) \"\n\"\n ATMOSPHERE: (23246..23315) \";; ;; 1)), and (<= (+ j 1) a) would be true; transitivity would then\"\n ATMOSPHERE: (23315..23316) \"\n\"\n ATMOSPHERE: (23316..23362) \";; ;; imply that (< a a) ought to be true ...\"\n ATMOSPHERE: (23362..23364) \"\n\n\"\n ATMOSPHERE: (23364..23408) \";; ;; Transliteration from Jussi Piitulainen\"\n ATMOSPHERE: (23408..23409) \"\n\"\n ATMOSPHERE: (23409..23440) \";; (define single-float-epsilon\"\n ATMOSPHERE: (23440..23441) \"\n\"\n ATMOSPHERE: (23441..23473) \";; (do ((eps 1.0 (* eps 2.0)))\"\n ATMOSPHERE: (23473..23474) \"\n\"\n ATMOSPHERE: (23474..23510) \";; ((= eps (+ eps 1.0)) eps)))\"\n ATMOSPHERE: (23510..23512) \"\n\n\"\n ATMOSPHERE: (23512..23555) \";; (let* ((a (/ 10.0 single-float-epsilon))\"\n ATMOSPHERE: (23555..23556) \"\n\"\n ATMOSPHERE: (23556..23580) \";; (j (exact a)))\"\n ATMOSPHERE: (23580..23581) \"\n\"\n ATMOSPHERE: (23581..23627) \";; (test #t (if (and (<= a j) (< j (+ j 1)))\"\n ATMOSPHERE: (23627..23628) \"\n\"\n ATMOSPHERE: (23628..23666) \";; (not (<= (+ j 1) a))\"\n ATMOSPHERE: (23666..23667) \"\n\"\n ATMOSPHERE: (23667..23690) \";; #t)))\"\n ATMOSPHERE: (23690..23692) \"\n\n\"\n ATMOSPHERE: (23692..23714) \";; (test #t (zero? 0))\"\n ATMOSPHERE: (23714..23715) \"\n\"\n ATMOSPHERE: (23715..23739) \";; (test #t (zero? 0.0))\"\n ATMOSPHERE: (23739..23740) \"\n\"\n ATMOSPHERE: (23740..23769) \";; (test #t (zero? 0.0+0.0i))\"\n ATMOSPHERE: (23769..23770) \"\n\"\n ATMOSPHERE: (23770..23792) \";; (test #f (zero? 1))\"\n ATMOSPHERE: (23792..23793) \"\n\"\n ATMOSPHERE: (23793..23816) \";; (test #f (zero? -1))\"\n ATMOSPHERE: (23816..23818) \"\n\n\"\n ATMOSPHERE: (23818..23844) \";; (test #f (positive? 0))\"\n ATMOSPHERE: (23844..23845) \"\n\"\n ATMOSPHERE: (23845..23873) \";; (test #f (positive? 0.0))\"\n ATMOSPHERE: (23873..23874) \"\n\"\n ATMOSPHERE: (23874..23900) \";; (test #t (positive? 1))\"\n ATMOSPHERE: (23900..23901) \"\n\"\n ATMOSPHERE: (23901..23929) \";; (test #t (positive? 1.0))\"\n ATMOSPHERE: (23929..23930) \"\n\"\n ATMOSPHERE: (23930..23957) \";; (test #f (positive? -1))\"\n ATMOSPHERE: (23957..23958) \"\n\"\n ATMOSPHERE: (23958..23987) \";; (test #f (positive? -1.0))\"\n ATMOSPHERE: (23987..23988) \"\n\"\n ATMOSPHERE: (23988..24019) \";; (test #t (positive? +inf.0))\"\n ATMOSPHERE: (24019..24020) \"\n\"\n ATMOSPHERE: (24020..24051) \";; (test #f (positive? -inf.0))\"\n ATMOSPHERE: (24051..24052) \"\n\"\n ATMOSPHERE: (24052..24083) \";; (test #f (positive? +nan.0))\"\n ATMOSPHERE: (24083..24085) \"\n\n\"\n ATMOSPHERE: (24085..24111) \";; (test #f (negative? 0))\"\n ATMOSPHERE: (24111..24112) \"\n\"\n ATMOSPHERE: (24112..24140) \";; (test #f (negative? 0.0))\"\n ATMOSPHERE: (24140..24141) \"\n\"\n ATMOSPHERE: (24141..24167) \";; (test #f (negative? 1))\"\n ATMOSPHERE: (24167..24168) \"\n\"\n ATMOSPHERE: (24168..24196) \";; (test #f (negative? 1.0))\"\n ATMOSPHERE: (24196..24197) \"\n\"\n ATMOSPHERE: (24197..24224) \";; (test #t (negative? -1))\"\n ATMOSPHERE: (24224..24225) \"\n\"\n ATMOSPHERE: (24225..24254) \";; (test #t (negative? -1.0))\"\n ATMOSPHERE: (24254..24255) \"\n\"\n ATMOSPHERE: (24255..24286) \";; (test #f (negative? +inf.0))\"\n ATMOSPHERE: (24286..24287) \"\n\"\n ATMOSPHERE: (24287..24318) \";; (test #t (negative? -inf.0))\"\n ATMOSPHERE: (24318..24319) \"\n\"\n ATMOSPHERE: (24319..24350) \";; (test #f (negative? +nan.0))\"\n ATMOSPHERE: (24350..24352) \"\n\n\"\n ATMOSPHERE: (24352..24373) \";; (test #f (odd? 0))\"\n ATMOSPHERE: (24373..24374) \"\n\"\n ATMOSPHERE: (24374..24395) \";; (test #t (odd? 1))\"\n ATMOSPHERE: (24395..24396) \"\n\"\n ATMOSPHERE: (24396..24418) \";; (test #t (odd? -1))\"\n ATMOSPHERE: (24418..24419) \"\n\"\n ATMOSPHERE: (24419..24442) \";; (test #f (odd? 102))\"\n ATMOSPHERE: (24442..24444) \"\n\n\"\n ATMOSPHERE: (24444..24466) \";; (test #t (even? 0))\"\n ATMOSPHERE: (24466..24467) \"\n\"\n ATMOSPHERE: (24467..24489) \";; (test #f (even? 1))\"\n ATMOSPHERE: (24489..24490) \"\n\"\n ATMOSPHERE: (24490..24513) \";; (test #t (even? -2))\"\n ATMOSPHERE: (24513..24514) \"\n\"\n ATMOSPHERE: (24514..24538) \";; (test #t (even? 102))\"\n ATMOSPHERE: (24538..24540) \"\n\n\"\n ATMOSPHERE: (24540..24559) \";; (test 3 (max 3))\"\n ATMOSPHERE: (24559..24560) \"\n\"\n ATMOSPHERE: (24560..24581) \";; (test 4 (max 3 4))\"\n ATMOSPHERE: (24581..24582) \"\n\"\n ATMOSPHERE: (24582..24607) \";; (test 4.0 (max 3.9 4))\"\n ATMOSPHERE: (24607..24608) \"\n\"\n ATMOSPHERE: (24608..24635) \";; (test 5.0 (max 5 3.9 4))\"\n ATMOSPHERE: (24635..24636) \"\n\"\n ATMOSPHERE: (24636..24669) \";; (test +inf.0 (max 100 +inf.0))\"\n ATMOSPHERE: (24669..24670) \"\n\"\n ATMOSPHERE: (24670..24689) \";; (test 3 (min 3))\"\n ATMOSPHERE: (24689..24690) \"\n\"\n ATMOSPHERE: (24690..24711) \";; (test 3 (min 3 4))\"\n ATMOSPHERE: (24711..24712) \"\n\"\n ATMOSPHERE: (24712..24737) \";; (test 3.0 (min 3 3.1))\"\n ATMOSPHERE: (24737..24738) \"\n\"\n ATMOSPHERE: (24738..24772) \";; (test -inf.0 (min -inf.0 -100))\"\n ATMOSPHERE: (24772..24774) \"\n\n\"\n ATMOSPHERE: (24774..24793) \";; (test 7 (+ 3 4))\"\n ATMOSPHERE: (24793..24794) \"\n\"\n ATMOSPHERE: (24794..24811) \";; (test 3 (+ 3))\"\n ATMOSPHERE: (24811..24812) \"\n\"\n ATMOSPHERE: (24812..24827) \";; (test 0 (+))\"\n ATMOSPHERE: (24827..24828) \"\n\"\n ATMOSPHERE: (24828..24845) \";; (test 4 (* 4))\"\n ATMOSPHERE: (24845..24846) \"\n\"\n ATMOSPHERE: (24846..24861) \";; (test 1 (*))\"\n ATMOSPHERE: (24861..24863) \"\n\n\"\n ATMOSPHERE: (24863..24883) \";; (test -1 (- 3 4))\"\n ATMOSPHERE: (24883..24884) \"\n\"\n ATMOSPHERE: (24884..24906) \";; (test -6 (- 3 4 5))\"\n ATMOSPHERE: (24906..24907) \"\n\"\n ATMOSPHERE: (24907..24925) \";; (test -3 (- 3))\"\n ATMOSPHERE: (24925..24926) \"\n\"\n ATMOSPHERE: (24926..24950) \";; (test 3/20 (/ 3 4 5))\"\n ATMOSPHERE: (24950..24951) \"\n\"\n ATMOSPHERE: (24951..24970) \";; (test 1/3 (/ 3))\"\n ATMOSPHERE: (24970..24972) \"\n\n\"\n ATMOSPHERE: (24972..24992) \";; (test 7 (abs -7))\"\n ATMOSPHERE: (24992..24993) \"\n\"\n ATMOSPHERE: (24993..25012) \";; (test 7 (abs 7))\"\n ATMOSPHERE: (25012..25014) \"\n\n\"\n ATMOSPHERE: (25014..25056) \";; (test-values (values 2 1) (floor/ 5 2))\"\n ATMOSPHERE: (25056..25057) \"\n\"\n ATMOSPHERE: (25057..25101) \";; (test-values (values -3 1) (floor/ -5 2))\"\n ATMOSPHERE: (25101..25102) \"\n\"\n ATMOSPHERE: (25102..25147) \";; (test-values (values -3 -1) (floor/ 5 -2))\"\n ATMOSPHERE: (25147..25148) \"\n\"\n ATMOSPHERE: (25148..25193) \";; (test-values (values 2 -1) (floor/ -5 -2))\"\n ATMOSPHERE: (25193..25194) \"\n\"\n ATMOSPHERE: (25194..25239) \";; (test-values (values 2 1) (truncate/ 5 2))\"\n ATMOSPHERE: (25239..25240) \"\n\"\n ATMOSPHERE: (25240..25288) \";; (test-values (values -2 -1) (truncate/ -5 2))\"\n ATMOSPHERE: (25288..25289) \"\n\"\n ATMOSPHERE: (25289..25336) \";; (test-values (values -2 1) (truncate/ 5 -2))\"\n ATMOSPHERE: (25336..25337) \"\n\"\n ATMOSPHERE: (25337..25385) \";; (test-values (values 2 -1) (truncate/ -5 -2))\"\n ATMOSPHERE: (25385..25386) \"\n\"\n ATMOSPHERE: (25386..25440) \";; (test-values (values 2.0 -1.0) (truncate/ -5.0 -2))\"\n ATMOSPHERE: (25440..25442) \"\n\n\"\n ATMOSPHERE: (25442..25467) \";; (test 1 (modulo 13 4))\"\n ATMOSPHERE: (25467..25468) \"\n\"\n ATMOSPHERE: (25468..25496) \";; (test 1 (remainder 13 4))\"\n ATMOSPHERE: (25496..25498) \"\n\n\"\n ATMOSPHERE: (25498..25524) \";; (test 3 (modulo -13 4))\"\n ATMOSPHERE: (25524..25525) \"\n\"\n ATMOSPHERE: (25525..25555) \";; (test -1 (remainder -13 4))\"\n ATMOSPHERE: (25555..25557) \"\n\n\"\n ATMOSPHERE: (25557..25584) \";; (test -3 (modulo 13 -4))\"\n ATMOSPHERE: (25584..25585) \"\n\"\n ATMOSPHERE: (25585..25614) \";; (test 1 (remainder 13 -4))\"\n ATMOSPHERE: (25614..25616) \"\n\n\"\n ATMOSPHERE: (25616..25644) \";; (test -1 (modulo -13 -4))\"\n ATMOSPHERE: (25644..25645) \"\n\"\n ATMOSPHERE: (25645..25676) \";; (test -1 (remainder -13 -4))\"\n ATMOSPHERE: (25676..25678) \"\n\n\"\n ATMOSPHERE: (25678..25713) \";; (test -1.0 (remainder -13 -4.0))\"\n ATMOSPHERE: (25713..25715) \"\n\n\"\n ATMOSPHERE: (25715..25739) \";; (test 4 (gcd 32 -36))\"\n ATMOSPHERE: (25739..25740) \"\n\"\n ATMOSPHERE: (25740..25757) \";; (test 0 (gcd))\"\n ATMOSPHERE: (25757..25758) \"\n\"\n ATMOSPHERE: (25758..25784) \";; (test 288 (lcm 32 -36))\"\n ATMOSPHERE: (25784..25785) \"\n\"\n ATMOSPHERE: (25785..25815) \";; (test 288.0 (lcm 32.0 -36))\"\n ATMOSPHERE: (25815..25816) \"\n\"\n ATMOSPHERE: (25816..25833) \";; (test 1 (lcm))\"\n ATMOSPHERE: (25833..25835) \"\n\n\"\n ATMOSPHERE: (25835..25866) \";; (test 3 (numerator (/ 6 4)))\"\n ATMOSPHERE: (25866..25867) \"\n\"\n ATMOSPHERE: (25867..25900) \";; (test 2 (denominator (/ 6 4)))\"\n ATMOSPHERE: (25900..25901) \"\n\"\n ATMOSPHERE: (25901..25946) \";; (test 2.0 (denominator (inexact (/ 6 4))))\"\n ATMOSPHERE: (25946..25947) \"\n\"\n ATMOSPHERE: (25947..25977) \";; (test 11.0 (numerator 5.5))\"\n ATMOSPHERE: (25977..25978) \"\n\"\n ATMOSPHERE: (25978..26009) \";; (test 2.0 (denominator 5.5))\"\n ATMOSPHERE: (26009..26010) \"\n\"\n ATMOSPHERE: (26010..26039) \";; (test 5.0 (numerator 5.0))\"\n ATMOSPHERE: (26039..26040) \"\n\"\n ATMOSPHERE: (26040..26071) \";; (test 1.0 (denominator 5.0))\"\n ATMOSPHERE: (26071..26073) \"\n\n\"\n ATMOSPHERE: (26073..26100) \";; (test -5.0 (floor -4.3))\"\n ATMOSPHERE: (26100..26101) \"\n\"\n ATMOSPHERE: (26101..26130) \";; (test -4.0 (ceiling -4.3))\"\n ATMOSPHERE: (26130..26131) \"\n\"\n ATMOSPHERE: (26131..26161) \";; (test -4.0 (truncate -4.3))\"\n ATMOSPHERE: (26161..26162) \"\n\"\n ATMOSPHERE: (26162..26189) \";; (test -4.0 (round -4.3))\"\n ATMOSPHERE: (26189..26191) \"\n\n\"\n ATMOSPHERE: (26191..26216) \";; (test 3.0 (floor 3.5))\"\n ATMOSPHERE: (26216..26217) \"\n\"\n ATMOSPHERE: (26217..26244) \";; (test 4.0 (ceiling 3.5))\"\n ATMOSPHERE: (26244..26245) \"\n\"\n ATMOSPHERE: (26245..26273) \";; (test 3.0 (truncate 3.5))\"\n ATMOSPHERE: (26273..26274) \"\n\"\n ATMOSPHERE: (26274..26299) \";; (test 4.0 (round 3.5))\"\n ATMOSPHERE: (26299..26301) \"\n\n\"\n ATMOSPHERE: (26301..26324) \";; (test 4 (round 7/2))\"\n ATMOSPHERE: (26324..26325) \"\n\"\n ATMOSPHERE: (26325..26346) \";; (test 7 (round 7))\"\n ATMOSPHERE: (26346..26347) \"\n\"\n ATMOSPHERE: (26347..26371) \";; (test 1 (round 7/10))\"\n ATMOSPHERE: (26371..26372) \"\n\"\n ATMOSPHERE: (26372..26397) \";; (test -4 (round -7/2))\"\n ATMOSPHERE: (26397..26398) \"\n\"\n ATMOSPHERE: (26398..26421) \";; (test -7 (round -7))\"\n ATMOSPHERE: (26421..26422) \"\n\"\n ATMOSPHERE: (26422..26448) \";; (test -1 (round -7/10))\"\n ATMOSPHERE: (26448..26450) \"\n\n\"\n ATMOSPHERE: (26450..26493) \";; (test 1/3 (rationalize (exact .3) 1/10))\"\n ATMOSPHERE: (26493..26494) \"\n\"\n ATMOSPHERE: (26494..26531) \";; (test #i1/3 (rationalize .3 1/10))\"\n ATMOSPHERE: (26531..26533) \"\n\n\"\n ATMOSPHERE: (26533..26591) \";; (test 1.0 (inexact (exp 0))) ;; may return exact number\"\n ATMOSPHERE: (26591..26592) \"\n\"\n ATMOSPHERE: (26592..26626) \";; (test 20.0855369231877 (exp 3))\"\n ATMOSPHERE: (26626..26628) \"\n\n\"\n ATMOSPHERE: (26628..26686) \";; (test 0.0 (inexact (log 1))) ;; may return exact number\"\n ATMOSPHERE: (26686..26687) \"\n\"\n ATMOSPHERE: (26687..26714) \";; (test 1.0 (log (exp 1)))\"\n ATMOSPHERE: (26714..26715) \"\n\"\n ATMOSPHERE: (26715..26744) \";; (test 42.0 (log (exp 42)))\"\n ATMOSPHERE: (26744..26745) \"\n\"\n ATMOSPHERE: (26745..26771) \";; (test 2.0 (log 100 10))\"\n ATMOSPHERE: (26771..26772) \"\n\"\n ATMOSPHERE: (26772..26799) \";; (test 12.0 (log 4096 2))\"\n ATMOSPHERE: (26799..26801) \"\n\n\"\n ATMOSPHERE: (26801..26859) \";; (test 0.0 (inexact (sin 0))) ;; may return exact number\"\n ATMOSPHERE: (26859..26860) \"\n\"\n ATMOSPHERE: (26860..26895) \";; (test 1.0 (sin 1.5707963267949))\"\n ATMOSPHERE: (26895..26896) \"\n\"\n ATMOSPHERE: (26896..26954) \";; (test 1.0 (inexact (cos 0))) ;; may return exact number\"\n ATMOSPHERE: (26954..26955) \"\n\"\n ATMOSPHERE: (26955..26992) \";; (test -1.0 (cos 3.14159265358979))\"\n ATMOSPHERE: (26992..26993) \"\n\"\n ATMOSPHERE: (26993..27051) \";; (test 0.0 (inexact (tan 0))) ;; may return exact number\"\n ATMOSPHERE: (27051..27052) \"\n\"\n ATMOSPHERE: (27052..27085) \";; (test 1.5574077246549 (tan 1))\"\n ATMOSPHERE: (27085..27087) \"\n\n\"\n ATMOSPHERE: (27087..27146) \";; (test 0.0 (inexact (asin 0))) ;; may return exact number\"\n ATMOSPHERE: (27146..27147) \"\n\"\n ATMOSPHERE: (27147..27181) \";; (test 1.5707963267949 (asin 1))\"\n ATMOSPHERE: (27181..27182) \"\n\"\n ATMOSPHERE: (27182..27241) \";; (test 0.0 (inexact (acos 1))) ;; may return exact number\"\n ATMOSPHERE: (27241..27242) \"\n\"\n ATMOSPHERE: (27242..27278) \";; (test 3.14159265358979 (acos -1))\"\n ATMOSPHERE: (27278..27280) \"\n\n\"\n ATMOSPHERE: (27280..27315) \";; ;; (test 0.0-0.0i (asin 0+0.0i))\"\n ATMOSPHERE: (27315..27316) \"\n\"\n ATMOSPHERE: (27316..27366) \";; ;; (test 1.5707963267948966+0.0i (acos 0+0.0i))\"\n ATMOSPHERE: (27366..27368) \"\n\n\"\n ATMOSPHERE: (27368..27396) \";; (test 0.0 (atan 0.0 1.0))\"\n ATMOSPHERE: (27396..27397) \"\n\"\n ATMOSPHERE: (27397..27427) \";; (test -0.0 (atan -0.0 1.0))\"\n ATMOSPHERE: (27427..27428) \"\n\"\n ATMOSPHERE: (27428..27470) \";; (test 0.785398163397448 (atan 1.0 1.0))\"\n ATMOSPHERE: (27470..27471) \"\n\"\n ATMOSPHERE: (27471..27511) \";; (test 1.5707963267949 (atan 1.0 0.0))\"\n ATMOSPHERE: (27511..27512) \"\n\"\n ATMOSPHERE: (27512..27554) \";; (test 2.35619449019234 (atan 1.0 -1.0))\"\n ATMOSPHERE: (27554..27555) \"\n\"\n ATMOSPHERE: (27555..27597) \";; (test 3.14159265358979 (atan 0.0 -1.0))\"\n ATMOSPHERE: (27597..27598) \"\n\"\n ATMOSPHERE: (27598..27644) \";; (test -3.14159265358979 (atan -0.0 -1.0)) ;\"\n ATMOSPHERE: (27644..27645) \"\n\"\n ATMOSPHERE: (27645..27689) \";; (test -2.35619449019234 (atan -1.0 -1.0))\"\n ATMOSPHERE: (27689..27690) \"\n\"\n ATMOSPHERE: (27690..27732) \";; (test -1.5707963267949 (atan -1.0 0.0))\"\n ATMOSPHERE: (27732..27733) \"\n\"\n ATMOSPHERE: (27733..27777) \";; (test -0.785398163397448 (atan -1.0 1.0))\"\n ATMOSPHERE: (27777..27778) \"\n\"\n ATMOSPHERE: (27778..27815) \";; ;; (test undefined (atan 0.0 0.0))\"\n ATMOSPHERE: (27815..27817) \"\n\n\"\n ATMOSPHERE: (27817..27843) \";; (test 1764 (square 42))\"\n ATMOSPHERE: (27843..27844) \"\n\"\n ATMOSPHERE: (27844..27866) \";; (test 4 (square 2))\"\n ATMOSPHERE: (27866..27868) \"\n\n\"\n ATMOSPHERE: (27868..27900) \";; (test 3.0 (inexact (sqrt 9)))\"\n ATMOSPHERE: (27900..27901) \"\n\"\n ATMOSPHERE: (27901..27935) \";; (test 1.4142135623731 (sqrt 2))\"\n ATMOSPHERE: (27935..27936) \"\n\"\n ATMOSPHERE: (27936..27974) \";; (test 0.0+1.0i (inexact (sqrt -1)))\"\n ATMOSPHERE: (27974..27976) \"\n\n\"\n ATMOSPHERE: (27976..28051) \";; (test '(2 0) (call-with-values (lambda () (exact-integer-sqrt 4)) list))\"\n ATMOSPHERE: (28051..28052) \"\n\"\n ATMOSPHERE: (28052..28127) \";; (test '(2 1) (call-with-values (lambda () (exact-integer-sqrt 5)) list))\"\n ATMOSPHERE: (28127..28129) \"\n\n\"\n ATMOSPHERE: (28129..28152) \";; (test 27 (expt 3 3))\"\n ATMOSPHERE: (28152..28153) \"\n\"\n ATMOSPHERE: (28153..28175) \";; (test 1 (expt 0 0))\"\n ATMOSPHERE: (28175..28176) \"\n\"\n ATMOSPHERE: (28176..28198) \";; (test 0 (expt 0 1))\"\n ATMOSPHERE: (28198..28199) \"\n\"\n ATMOSPHERE: (28199..28225) \";; (test 1.0 (expt 0.0 0))\"\n ATMOSPHERE: (28225..28226) \"\n\"\n ATMOSPHERE: (28226..28252) \";; (test 0.0 (expt 0 1.0))\"\n ATMOSPHERE: (28252..28254) \"\n\n\"\n ATMOSPHERE: (28254..28291) \";; (test 1+2i (make-rectangular 1 2))\"\n ATMOSPHERE: (28291..28293) \"\n\n\"\n ATMOSPHERE: (28293..28355) \";; (test 0.54030230586814+0.841470984807897i (make-polar 1 1))\"\n ATMOSPHERE: (28355..28357) \"\n\n\"\n ATMOSPHERE: (28357..28385) \";; (test 1 (real-part 1+2i))\"\n ATMOSPHERE: (28385..28387) \"\n\n\"\n ATMOSPHERE: (28387..28415) \";; (test 2 (imag-part 1+2i))\"\n ATMOSPHERE: (28415..28417) \"\n\n\"\n ATMOSPHERE: (28417..28460) \";; (test 2.23606797749979 (magnitude 1+2i))\"\n ATMOSPHERE: (28460..28462) \"\n\n\"\n ATMOSPHERE: (28462..28501) \";; (test 1.10714871779409 (angle 1+2i))\"\n ATMOSPHERE: (28501..28503) \"\n\n\"\n ATMOSPHERE: (28503..28528) \";; (test 1.0 (inexact 1))\"\n ATMOSPHERE: (28528..28529) \"\n\"\n ATMOSPHERE: (28529..28564) \";; (test #t (inexact? (inexact 1)))\"\n ATMOSPHERE: (28564..28565) \"\n\"\n ATMOSPHERE: (28565..28588) \";; (test 1 (exact 1.0))\"\n ATMOSPHERE: (28588..28589) \"\n\"\n ATMOSPHERE: (28589..28622) \";; (test #t (exact? (exact 1.0)))\"\n ATMOSPHERE: (28622..28624) \"\n\n\"\n FORM: (28624..28657)\n OPEN_PAREN: (28624..28625) \"(\"\n SYMBOL: (28625..28629)\n IDENTIFIER: (28625..28629) \"test\"\n ATMOSPHERE: (28629..28630) \" \"\n CONSTANT: (28630..28633)\n NUMBER: (28630..28633) \"100\"\n ATMOSPHERE: (28633..28634) \" \"\n FORM: (28634..28656)\n OPEN_PAREN: (28634..28635) \"(\"\n SYMBOL: (28635..28649)\n IDENTIFIER: (28635..28649) \"string->number\"\n ATMOSPHERE: (28649..28650) \" \"\n CONSTANT: (28650..28655)\n STRING: (28650..28655) \"\"100\"\"\n CLOSE_PAREN: (28655..28656) \")\"\n CLOSE_PAREN: (28656..28657) \")\"\n ATMOSPHERE: (28657..28658) \"\n\"\n FORM: (28658..28694)\n OPEN_PAREN: (28658..28659) \"(\"\n SYMBOL: (28659..28663)\n IDENTIFIER: (28659..28663) \"test\"\n ATMOSPHERE: (28663..28664) \" \"\n CONSTANT: (28664..28667)\n NUMBER: (28664..28667) \"256\"\n ATMOSPHERE: (28667..28668) \" \"\n FORM: (28668..28693)\n OPEN_PAREN: (28668..28669) \"(\"\n SYMBOL: (28669..28683)\n IDENTIFIER: (28669..28683) \"string->number\"\n ATMOSPHERE: (28683..28684) \" \"\n CONSTANT: (28684..28689)\n STRING: (28684..28689) \"\"100\"\"\n ATMOSPHERE: (28689..28690) \" \"\n CONSTANT: (28690..28692)\n NUMBER: (28690..28692) \"16\"\n CLOSE_PAREN: (28692..28693) \")\"\n CLOSE_PAREN: (28693..28694) \")\"\n ATMOSPHERE: (28694..28695) \"\n\"\n FORM: (28695..28730)\n OPEN_PAREN: (28695..28696) \"(\"\n SYMBOL: (28696..28700)\n IDENTIFIER: (28696..28700) \"test\"\n ATMOSPHERE: (28700..28701) \" \"\n CONSTANT: (28701..28706)\n NUMBER: (28701..28706) \"100.0\"\n ATMOSPHERE: (28706..28707) \" \"\n FORM: (28707..28729)\n OPEN_PAREN: (28707..28708) \"(\"\n SYMBOL: (28708..28722)\n IDENTIFIER: (28708..28722) \"string->number\"\n ATMOSPHERE: (28722..28723) \" \"\n CONSTANT: (28723..28728)\n STRING: (28723..28728) \"\"1e2\"\"\n CLOSE_PAREN: (28728..28729) \")\"\n CLOSE_PAREN: (28729..28730) \")\"\n ATMOSPHERE: (28730..28732) \"\n\n\"\n FORM: (28732..28742)\n OPEN_PAREN: (28732..28733) \"(\"\n SYMBOL: (28733..28741)\n IDENTIFIER: (28733..28741) \"test-end\"\n CLOSE_PAREN: (28741..28742) \")\"\n ATMOSPHERE: (28742..28744) \"\n\n\"\n FORM: (28744..28771)\n OPEN_PAREN: (28744..28745) \"(\"\n SYMBOL: (28745..28755)\n IDENTIFIER: (28745..28755) \"test-begin\"\n ATMOSPHERE: (28755..28756) \" \"\n CONSTANT: (28756..28770)\n STRING: (28756..28770) \"\"6.3 Booleans\"\"\n CLOSE_PAREN: (28770..28771) \")\"\n ATMOSPHERE: (28771..28773) \"\n\n\"\n FORM: (28773..28785)\n OPEN_PAREN: (28773..28774) \"(\"\n SYMBOL: (28774..28778)\n IDENTIFIER: (28774..28778) \"test\"\n ATMOSPHERE: (28778..28779) \" \"\n CONSTANT: (28779..28781)\n BOOLEAN: (28779..28781) \"#t\"\n ATMOSPHERE: (28781..28782) \" \"\n CONSTANT: (28782..28784)\n BOOLEAN: (28782..28784) \"#t\"\n CLOSE_PAREN: (28784..28785) \")\"\n ATMOSPHERE: (28785..28786) \"\n\"\n FORM: (28786..28798)\n OPEN_PAREN: (28786..28787) \"(\"\n SYMBOL: (28787..28791)\n IDENTIFIER: (28787..28791) \"test\"\n ATMOSPHERE: (28791..28792) \" \"\n CONSTANT: (28792..28794)\n BOOLEAN: (28792..28794) \"#f\"\n ATMOSPHERE: (28794..28795) \" \"\n CONSTANT: (28795..28797)\n BOOLEAN: (28795..28797) \"#f\"\n CLOSE_PAREN: (28797..28798) \")\"\n ATMOSPHERE: (28798..28799) \"\n\"\n FORM: (28799..28812)\n OPEN_PAREN: (28799..28800) \"(\"\n SYMBOL: (28800..28804)\n IDENTIFIER: (28800..28804) \"test\"\n ATMOSPHERE: (28804..28805) \" \"\n CONSTANT: (28805..28807)\n BOOLEAN: (28805..28807) \"#f\"\n ATMOSPHERE: (28807..28808) \" \"\n QUOTED_DATUM: (28808..28811)\n QUOTE: (28808..28809) \"'\"\n CONSTANT: (28809..28811)\n BOOLEAN: (28809..28811) \"#f\"\n CLOSE_PAREN: (28811..28812) \")\"\n ATMOSPHERE: (28812..28814) \"\n\n\"\n FORM: (28814..28832)\n OPEN_PAREN: (28814..28815) \"(\"\n SYMBOL: (28815..28819)\n IDENTIFIER: (28815..28819) \"test\"\n ATMOSPHERE: (28819..28820) \" \"\n CONSTANT: (28820..28822)\n BOOLEAN: (28820..28822) \"#f\"\n ATMOSPHERE: (28822..28823) \" \"\n FORM: (28823..28831)\n OPEN_PAREN: (28823..28824) \"(\"\n SYMBOL: (28824..28827)\n IDENTIFIER: (28824..28827) \"not\"\n ATMOSPHERE: (28827..28828) \" \"\n CONSTANT: (28828..28830)\n BOOLEAN: (28828..28830) \"#t\"\n CLOSE_PAREN: (28830..28831) \")\"\n CLOSE_PAREN: (28831..28832) \")\"\n ATMOSPHERE: (28832..28833) \"\n\"\n FORM: (28833..28850)\n OPEN_PAREN: (28833..28834) \"(\"\n SYMBOL: (28834..28838)\n IDENTIFIER: (28834..28838) \"test\"\n ATMOSPHERE: (28838..28839) \" \"\n CONSTANT: (28839..28841)\n BOOLEAN: (28839..28841) \"#f\"\n ATMOSPHERE: (28841..28842) \" \"\n FORM: (28842..28849)\n OPEN_PAREN: (28842..28843) \"(\"\n SYMBOL: (28843..28846)\n IDENTIFIER: (28843..28846) \"not\"\n ATMOSPHERE: (28846..28847) \" \"\n CONSTANT: (28847..28848)\n NUMBER: (28847..28848) \"3\"\n CLOSE_PAREN: (28848..28849) \")\"\n CLOSE_PAREN: (28849..28850) \")\"\n ATMOSPHERE: (28850..28851) \"\n\"\n FORM: (28851..28875)\n OPEN_PAREN: (28851..28852) \"(\"\n SYMBOL: (28852..28856)\n IDENTIFIER: (28852..28856) \"test\"\n ATMOSPHERE: (28856..28857) \" \"\n CONSTANT: (28857..28859)\n BOOLEAN: (28857..28859) \"#f\"\n ATMOSPHERE: (28859..28860) \" \"\n FORM: (28860..28874)\n OPEN_PAREN: (28860..28861) \"(\"\n SYMBOL: (28861..28864)\n IDENTIFIER: (28861..28864) \"not\"\n ATMOSPHERE: (28864..28865) \" \"\n FORM: (28865..28873)\n OPEN_PAREN: (28865..28866) \"(\"\n SYMBOL: (28866..28870)\n IDENTIFIER: (28866..28870) \"list\"\n ATMOSPHERE: (28870..28871) \" \"\n CONSTANT: (28871..28872)\n NUMBER: (28871..28872) \"3\"\n CLOSE_PAREN: (28872..28873) \")\"\n CLOSE_PAREN: (28873..28874) \")\"\n CLOSE_PAREN: (28874..28875) \")\"\n ATMOSPHERE: (28875..28876) \"\n\"\n FORM: (28876..28894)\n OPEN_PAREN: (28876..28877) \"(\"\n SYMBOL: (28877..28881)\n IDENTIFIER: (28877..28881) \"test\"\n ATMOSPHERE: (28881..28882) \" \"\n CONSTANT: (28882..28884)\n BOOLEAN: (28882..28884) \"#t\"\n ATMOSPHERE: (28884..28885) \" \"\n FORM: (28885..28893)\n OPEN_PAREN: (28885..28886) \"(\"\n SYMBOL: (28886..28889)\n IDENTIFIER: (28886..28889) \"not\"\n ATMOSPHERE: (28889..28890) \" \"\n CONSTANT: (28890..28892)\n BOOLEAN: (28890..28892) \"#f\"\n CLOSE_PAREN: (28892..28893) \")\"\n CLOSE_PAREN: (28893..28894) \")\"\n ATMOSPHERE: (28894..28895) \"\n\"\n FORM: (28895..28914)\n OPEN_PAREN: (28895..28896) \"(\"\n SYMBOL: (28896..28900)\n IDENTIFIER: (28896..28900) \"test\"\n ATMOSPHERE: (28900..28901) \" \"\n CONSTANT: (28901..28903)\n BOOLEAN: (28901..28903) \"#f\"\n ATMOSPHERE: (28903..28904) \" \"\n FORM: (28904..28913)\n OPEN_PAREN: (28904..28905) \"(\"\n SYMBOL: (28905..28908)\n IDENTIFIER: (28905..28908) \"not\"\n ATMOSPHERE: (28908..28909) \" \"\n QUOTED_DATUM: (28909..28912)\n QUOTE: (28909..28910) \"'\"\n FORM: (28910..28912)\n OPEN_PAREN: (28910..28911) \"(\"\n CLOSE_PAREN: (28911..28912) \")\"\n CLOSE_PAREN: (28912..28913) \")\"\n CLOSE_PAREN: (28913..28914) \")\"\n ATMOSPHERE: (28914..28915) \"\n\"\n FORM: (28915..28937)\n OPEN_PAREN: (28915..28916) \"(\"\n SYMBOL: (28916..28920)\n IDENTIFIER: (28916..28920) \"test\"\n ATMOSPHERE: (28920..28921) \" \"\n CONSTANT: (28921..28923)\n BOOLEAN: (28921..28923) \"#f\"\n ATMOSPHERE: (28923..28924) \" \"\n FORM: (28924..28936)\n OPEN_PAREN: (28924..28925) \"(\"\n SYMBOL: (28925..28928)\n IDENTIFIER: (28925..28928) \"not\"\n ATMOSPHERE: (28928..28929) \" \"\n FORM: (28929..28935)\n OPEN_PAREN: (28929..28930) \"(\"\n SYMBOL: (28930..28934)\n IDENTIFIER: (28930..28934) \"list\"\n CLOSE_PAREN: (28934..28935) \")\"\n CLOSE_PAREN: (28935..28936) \")\"\n CLOSE_PAREN: (28936..28937) \")\"\n ATMOSPHERE: (28937..28938) \"\n\"\n FORM: (28938..28958)\n OPEN_PAREN: (28938..28939) \"(\"\n SYMBOL: (28939..28943)\n IDENTIFIER: (28939..28943) \"test\"\n ATMOSPHERE: (28943..28944) \" \"\n CONSTANT: (28944..28946)\n BOOLEAN: (28944..28946) \"#f\"\n ATMOSPHERE: (28946..28947) \" \"\n FORM: (28947..28957)\n OPEN_PAREN: (28947..28948) \"(\"\n SYMBOL: (28948..28951)\n IDENTIFIER: (28948..28951) \"not\"\n ATMOSPHERE: (28951..28952) \" \"\n QUOTED_DATUM: (28952..28956)\n QUOTE: (28952..28953) \"'\"\n SYMBOL: (28953..28956)\n IDENTIFIER: (28953..28956) \"nil\"\n CLOSE_PAREN: (28956..28957) \")\"\n CLOSE_PAREN: (28957..28958) \")\"\n ATMOSPHERE: (28958..28960) \"\n\n\"\n FORM: (28960..28983)\n OPEN_PAREN: (28960..28961) \"(\"\n SYMBOL: (28961..28965)\n IDENTIFIER: (28961..28965) \"test\"\n ATMOSPHERE: (28965..28966) \" \"\n CONSTANT: (28966..28968)\n BOOLEAN: (28966..28968) \"#t\"\n ATMOSPHERE: (28968..28969) \" \"\n FORM: (28969..28982)\n OPEN_PAREN: (28969..28970) \"(\"\n SYMBOL: (28970..28978)\n IDENTIFIER: (28970..28978) \"boolean?\"\n ATMOSPHERE: (28978..28979) \" \"\n CONSTANT: (28979..28981)\n BOOLEAN: (28979..28981) \"#f\"\n CLOSE_PAREN: (28981..28982) \")\"\n CLOSE_PAREN: (28982..28983) \")\"\n ATMOSPHERE: (28983..28984) \"\n\"\n FORM: (28984..29006)\n OPEN_PAREN: (28984..28985) \"(\"\n SYMBOL: (28985..28989)\n IDENTIFIER: (28985..28989) \"test\"\n ATMOSPHERE: (28989..28990) \" \"\n CONSTANT: (28990..28992)\n BOOLEAN: (28990..28992) \"#f\"\n ATMOSPHERE: (28992..28993) \" \"\n FORM: (28993..29005)\n OPEN_PAREN: (28993..28994) \"(\"\n SYMBOL: (28994..29002)\n IDENTIFIER: (28994..29002) \"boolean?\"\n ATMOSPHERE: (29002..29003) \" \"\n CONSTANT: (29003..29004)\n NUMBER: (29003..29004) \"0\"\n CLOSE_PAREN: (29004..29005) \")\"\n CLOSE_PAREN: (29005..29006) \")\"\n ATMOSPHERE: (29006..29007) \"\n\"\n FORM: (29007..29031)\n OPEN_PAREN: (29007..29008) \"(\"\n SYMBOL: (29008..29012)\n IDENTIFIER: (29008..29012) \"test\"\n ATMOSPHERE: (29012..29013) \" \"\n CONSTANT: (29013..29015)\n BOOLEAN: (29013..29015) \"#f\"\n ATMOSPHERE: (29015..29016) \" \"\n FORM: (29016..29030)\n OPEN_PAREN: (29016..29017) \"(\"\n SYMBOL: (29017..29025)\n IDENTIFIER: (29017..29025) \"boolean?\"\n ATMOSPHERE: (29025..29026) \" \"\n QUOTED_DATUM: (29026..29029)\n QUOTE: (29026..29027) \"'\"\n FORM: (29027..29029)\n OPEN_PAREN: (29027..29028) \"(\"\n CLOSE_PAREN: (29028..29029) \")\"\n CLOSE_PAREN: (29029..29030) \")\"\n CLOSE_PAREN: (29030..29031) \")\"\n ATMOSPHERE: (29031..29033) \"\n\n\"\n FORM: (29033..29060)\n OPEN_PAREN: (29033..29034) \"(\"\n SYMBOL: (29034..29038)\n IDENTIFIER: (29034..29038) \"test\"\n ATMOSPHERE: (29038..29039) \" \"\n CONSTANT: (29039..29041)\n BOOLEAN: (29039..29041) \"#t\"\n ATMOSPHERE: (29041..29042) \" \"\n FORM: (29042..29059)\n OPEN_PAREN: (29042..29043) \"(\"\n SYMBOL: (29043..29052)\n IDENTIFIER: (29043..29052) \"boolean=?\"\n ATMOSPHERE: (29052..29053) \" \"\n CONSTANT: (29053..29055)\n BOOLEAN: (29053..29055) \"#t\"\n ATMOSPHERE: (29055..29056) \" \"\n CONSTANT: (29056..29058)\n BOOLEAN: (29056..29058) \"#t\"\n CLOSE_PAREN: (29058..29059) \")\"\n CLOSE_PAREN: (29059..29060) \")\"\n ATMOSPHERE: (29060..29061) \"\n\"\n FORM: (29061..29088)\n OPEN_PAREN: (29061..29062) \"(\"\n SYMBOL: (29062..29066)\n IDENTIFIER: (29062..29066) \"test\"\n ATMOSPHERE: (29066..29067) \" \"\n CONSTANT: (29067..29069)\n BOOLEAN: (29067..29069) \"#t\"\n ATMOSPHERE: (29069..29070) \" \"\n FORM: (29070..29087)\n OPEN_PAREN: (29070..29071) \"(\"\n SYMBOL: (29071..29080)\n IDENTIFIER: (29071..29080) \"boolean=?\"\n ATMOSPHERE: (29080..29081) \" \"\n CONSTANT: (29081..29083)\n BOOLEAN: (29081..29083) \"#f\"\n ATMOSPHERE: (29083..29084) \" \"\n CONSTANT: (29084..29086)\n BOOLEAN: (29084..29086) \"#f\"\n CLOSE_PAREN: (29086..29087) \")\"\n CLOSE_PAREN: (29087..29088) \")\"\n ATMOSPHERE: (29088..29089) \"\n\"\n FORM: (29089..29116)\n OPEN_PAREN: (29089..29090) \"(\"\n SYMBOL: (29090..29094)\n IDENTIFIER: (29090..29094) \"test\"\n ATMOSPHERE: (29094..29095) \" \"\n CONSTANT: (29095..29097)\n BOOLEAN: (29095..29097) \"#f\"\n ATMOSPHERE: (29097..29098) \" \"\n FORM: (29098..29115)\n OPEN_PAREN: (29098..29099) \"(\"\n SYMBOL: (29099..29108)\n IDENTIFIER: (29099..29108) \"boolean=?\"\n ATMOSPHERE: (29108..29109) \" \"\n CONSTANT: (29109..29111)\n BOOLEAN: (29109..29111) \"#t\"\n ATMOSPHERE: (29111..29112) \" \"\n CONSTANT: (29112..29114)\n BOOLEAN: (29112..29114) \"#f\"\n CLOSE_PAREN: (29114..29115) \")\"\n CLOSE_PAREN: (29115..29116) \")\"\n ATMOSPHERE: (29116..29117) \"\n\"\n FORM: (29117..29147)\n OPEN_PAREN: (29117..29118) \"(\"\n SYMBOL: (29118..29122)\n IDENTIFIER: (29118..29122) \"test\"\n ATMOSPHERE: (29122..29123) \" \"\n CONSTANT: (29123..29125)\n BOOLEAN: (29123..29125) \"#t\"\n ATMOSPHERE: (29125..29126) \" \"\n FORM: (29126..29146)\n OPEN_PAREN: (29126..29127) \"(\"\n SYMBOL: (29127..29136)\n IDENTIFIER: (29127..29136) \"boolean=?\"\n ATMOSPHERE: (29136..29137) \" \"\n CONSTANT: (29137..29139)\n BOOLEAN: (29137..29139) \"#f\"\n ATMOSPHERE: (29139..29140) \" \"\n CONSTANT: (29140..29142)\n BOOLEAN: (29140..29142) \"#f\"\n ATMOSPHERE: (29142..29143) \" \"\n CONSTANT: (29143..29145)\n BOOLEAN: (29143..29145) \"#f\"\n CLOSE_PAREN: (29145..29146) \")\"\n CLOSE_PAREN: (29146..29147) \")\"\n ATMOSPHERE: (29147..29148) \"\n\"\n FORM: (29148..29178)\n OPEN_PAREN: (29148..29149) \"(\"\n SYMBOL: (29149..29153)\n IDENTIFIER: (29149..29153) \"test\"\n ATMOSPHERE: (29153..29154) \" \"\n CONSTANT: (29154..29156)\n BOOLEAN: (29154..29156) \"#f\"\n ATMOSPHERE: (29156..29157) \" \"\n FORM: (29157..29177)\n OPEN_PAREN: (29157..29158) \"(\"\n SYMBOL: (29158..29167)\n IDENTIFIER: (29158..29167) \"boolean=?\"\n ATMOSPHERE: (29167..29168) \" \"\n CONSTANT: (29168..29170)\n BOOLEAN: (29168..29170) \"#t\"\n ATMOSPHERE: (29170..29171) \" \"\n CONSTANT: (29171..29173)\n BOOLEAN: (29171..29173) \"#t\"\n ATMOSPHERE: (29173..29174) \" \"\n CONSTANT: (29174..29176)\n BOOLEAN: (29174..29176) \"#f\"\n CLOSE_PAREN: (29176..29177) \")\"\n CLOSE_PAREN: (29177..29178) \")\"\n ATMOSPHERE: (29178..29180) \"\n\n\"\n FORM: (29180..29190)\n OPEN_PAREN: (29180..29181) \"(\"\n SYMBOL: (29181..29189)\n IDENTIFIER: (29181..29189) \"test-end\"\n CLOSE_PAREN: (29189..29190) \")\"\n ATMOSPHERE: (29190..29192) \"\n\n\"\n FORM: (29192..29216)\n OPEN_PAREN: (29192..29193) \"(\"\n SYMBOL: (29193..29203)\n IDENTIFIER: (29193..29203) \"test-begin\"\n ATMOSPHERE: (29203..29204) \" \"\n CONSTANT: (29204..29215)\n STRING: (29204..29215) \"\"6.4 Lists\"\"\n CLOSE_PAREN: (29215..29216) \")\"\n ATMOSPHERE: (29216..29218) \"\n\n\"\n ATMOSPHERE: (29218..29247) \";; (let* ((x (list 'a 'b 'c))\"\n ATMOSPHERE: (29247..29248) \"\n\"\n ATMOSPHERE: (29248..29264) \";; (y x))\"\n ATMOSPHERE: (29264..29265) \"\n\"\n ATMOSPHERE: (29265..29296) \";; (test '(a b c) (values y))\"\n ATMOSPHERE: (29296..29297) \"\n\"\n ATMOSPHERE: (29297..29321) \";; (test #t (list? y))\"\n ATMOSPHERE: (29321..29322) \"\n\"\n ATMOSPHERE: (29322..29341) \";; (set-cdr! x 4)\"\n ATMOSPHERE: (29341..29342) \"\n\"\n ATMOSPHERE: (29342..29373) \";; (test '(a . 4) (values x))\"\n ATMOSPHERE: (29373..29374) \"\n\"\n ATMOSPHERE: (29374..29399) \";; (test #t (eqv? x y))\"\n ATMOSPHERE: (29399..29400) \"\n\"\n ATMOSPHERE: (29400..29424) \";; (test #f (list? y))\"\n ATMOSPHERE: (29424..29425) \"\n\"\n ATMOSPHERE: (29425..29444) \";; (set-cdr! x x)\"\n ATMOSPHERE: (29444..29445) \"\n\"\n ATMOSPHERE: (29445..29470) \";; (test #f (list? x)))\"\n ATMOSPHERE: (29470..29472) \"\n\n\"\n FORM: (29472..29498)\n OPEN_PAREN: (29472..29473) \"(\"\n SYMBOL: (29473..29477)\n IDENTIFIER: (29473..29477) \"test\"\n ATMOSPHERE: (29477..29478) \" \"\n CONSTANT: (29478..29480)\n BOOLEAN: (29478..29480) \"#t\"\n ATMOSPHERE: (29480..29481) \" \"\n FORM: (29481..29497)\n OPEN_PAREN: (29481..29482) \"(\"\n SYMBOL: (29482..29487)\n IDENTIFIER: (29482..29487) \"pair?\"\n ATMOSPHERE: (29487..29488) \" \"\n QUOTED_DATUM: (29488..29496)\n QUOTE: (29488..29489) \"'\"\n FORM: (29489..29496)\n OPEN_PAREN: (29489..29490) \"(\"\n SYMBOL: (29490..29491)\n IDENTIFIER: (29490..29491) \"a\"\n ATMOSPHERE: (29491..29492) \" \"\n DOTTED_TAIL: (29492..29495)\n DOT: (29492..29493) \".\"\n ATMOSPHERE: (29493..29494) \" \"\n SYMBOL: (29494..29495)\n IDENTIFIER: (29494..29495) \"b\"\n CLOSE_PAREN: (29495..29496) \")\"\n CLOSE_PAREN: (29496..29497) \")\"\n CLOSE_PAREN: (29497..29498) \")\"\n ATMOSPHERE: (29498..29499) \"\n\"\n FORM: (29499..29525)\n OPEN_PAREN: (29499..29500) \"(\"\n SYMBOL: (29500..29504)\n IDENTIFIER: (29500..29504) \"test\"\n ATMOSPHERE: (29504..29505) \" \"\n CONSTANT: (29505..29507)\n BOOLEAN: (29505..29507) \"#t\"\n ATMOSPHERE: (29507..29508) \" \"\n FORM: (29508..29524)\n OPEN_PAREN: (29508..29509) \"(\"\n SYMBOL: (29509..29514)\n IDENTIFIER: (29509..29514) \"pair?\"\n ATMOSPHERE: (29514..29515) \" \"\n QUOTED_DATUM: (29515..29523)\n QUOTE: (29515..29516) \"'\"\n FORM: (29516..29523)\n OPEN_PAREN: (29516..29517) \"(\"\n SYMBOL: (29517..29518)\n IDENTIFIER: (29517..29518) \"a\"\n ATMOSPHERE: (29518..29519) \" \"\n SYMBOL: (29519..29520)\n IDENTIFIER: (29519..29520) \"b\"\n ATMOSPHERE: (29520..29521) \" \"\n SYMBOL: (29521..29522)\n IDENTIFIER: (29521..29522) \"c\"\n CLOSE_PAREN: (29522..29523) \")\"\n CLOSE_PAREN: (29523..29524) \")\"\n CLOSE_PAREN: (29524..29525) \")\"\n ATMOSPHERE: (29525..29526) \"\n\"\n FORM: (29526..29547)\n OPEN_PAREN: (29526..29527) \"(\"\n SYMBOL: (29527..29531)\n IDENTIFIER: (29527..29531) \"test\"\n ATMOSPHERE: (29531..29532) \" \"\n CONSTANT: (29532..29534)\n BOOLEAN: (29532..29534) \"#f\"\n ATMOSPHERE: (29534..29535) \" \"\n FORM: (29535..29546)\n OPEN_PAREN: (29535..29536) \"(\"\n SYMBOL: (29536..29541)\n IDENTIFIER: (29536..29541) \"pair?\"\n ATMOSPHERE: (29541..29542) \" \"\n QUOTED_DATUM: (29542..29545)\n QUOTE: (29542..29543) \"'\"\n FORM: (29543..29545)\n OPEN_PAREN: (29543..29544) \"(\"\n CLOSE_PAREN: (29544..29545) \")\"\n CLOSE_PAREN: (29545..29546) \")\"\n CLOSE_PAREN: (29546..29547) \")\"\n ATMOSPHERE: (29547..29548) \"\n\"\n FORM: (29548..29573)\n OPEN_PAREN: (29548..29549) \"(\"\n SYMBOL: (29549..29553)\n IDENTIFIER: (29549..29553) \"test\"\n ATMOSPHERE: (29553..29554) \" \"\n CONSTANT: (29554..29556)\n BOOLEAN: (29554..29556) \"#f\"\n ATMOSPHERE: (29556..29557) \" \"\n FORM: (29557..29572)\n OPEN_PAREN: (29557..29558) \"(\"\n SYMBOL: (29558..29563)\n IDENTIFIER: (29558..29563) \"pair?\"\n ATMOSPHERE: (29563..29564) \" \"\n QUOTED_DATUM: (29564..29571)\n QUOTE: (29564..29565) \"'\"\n VEC: (29565..29571)\n OPEN_PAREN: (29565..29567) \"#(\"\n SYMBOL: (29567..29568)\n IDENTIFIER: (29567..29568) \"a\"\n ATMOSPHERE: (29568..29569) \" \"\n SYMBOL: (29569..29570)\n IDENTIFIER: (29569..29570) \"b\"\n CLOSE_PAREN: (29570..29571) \")\"\n CLOSE_PAREN: (29571..29572) \")\"\n CLOSE_PAREN: (29572..29573) \")\"\n ATMOSPHERE: (29573..29575) \"\n\n\"\n FORM: (29575..29600)\n OPEN_PAREN: (29575..29576) \"(\"\n SYMBOL: (29576..29580)\n IDENTIFIER: (29576..29580) \"test\"\n ATMOSPHERE: (29580..29581) \" \"\n QUOTED_DATUM: (29581..29586)\n QUOTE: (29581..29582) \"'\"\n FORM: (29582..29585)\n OPEN_PAREN: (29582..29583) \"(\"\n SYMBOL: (29583..29584)\n IDENTIFIER: (29583..29584) \"a\"\n CLOSE_PAREN: (29584..29585) \")\"\n ATMOSPHERE: (29585..29586) \" \"\n FORM: (29586..29599)\n OPEN_PAREN: (29586..29587) \"(\"\n SYMBOL: (29587..29591)\n IDENTIFIER: (29587..29591) \"cons\"\n ATMOSPHERE: (29591..29592) \" \"\n QUOTED_DATUM: (29592..29595)\n QUOTE: (29592..29593) \"'\"\n SYMBOL: (29593..29594)\n IDENTIFIER: (29593..29594) \"a\"\n ATMOSPHERE: (29594..29595) \" \"\n QUOTED_DATUM: (29595..29598)\n QUOTE: (29595..29596) \"'\"\n FORM: (29596..29598)\n OPEN_PAREN: (29596..29597) \"(\"\n CLOSE_PAREN: (29597..29598) \")\"\n CLOSE_PAREN: (29598..29599) \")\"\n CLOSE_PAREN: (29599..29600) \")\"\n ATMOSPHERE: (29600..29601) \"\n\"\n FORM: (29601..29641)\n OPEN_PAREN: (29601..29602) \"(\"\n SYMBOL: (29602..29606)\n IDENTIFIER: (29602..29606) \"test\"\n ATMOSPHERE: (29606..29607) \" \"\n QUOTED_DATUM: (29607..29620)\n QUOTE: (29607..29608) \"'\"\n FORM: (29608..29619)\n OPEN_PAREN: (29608..29609) \"(\"\n FORM: (29609..29612)\n OPEN_PAREN: (29609..29610) \"(\"\n SYMBOL: (29610..29611)\n IDENTIFIER: (29610..29611) \"a\"\n CLOSE_PAREN: (29611..29612) \")\"\n ATMOSPHERE: (29612..29613) \" \"\n SYMBOL: (29613..29614)\n IDENTIFIER: (29613..29614) \"b\"\n ATMOSPHERE: (29614..29615) \" \"\n SYMBOL: (29615..29616)\n IDENTIFIER: (29615..29616) \"c\"\n ATMOSPHERE: (29616..29617) \" \"\n SYMBOL: (29617..29618)\n IDENTIFIER: (29617..29618) \"d\"\n CLOSE_PAREN: (29618..29619) \")\"\n ATMOSPHERE: (29619..29620) \" \"\n FORM: (29620..29640)\n OPEN_PAREN: (29620..29621) \"(\"\n SYMBOL: (29621..29625)\n IDENTIFIER: (29621..29625) \"cons\"\n ATMOSPHERE: (29625..29626) \" \"\n QUOTED_DATUM: (29626..29631)\n QUOTE: (29626..29627) \"'\"\n FORM: (29627..29630)\n OPEN_PAREN: (29627..29628) \"(\"\n SYMBOL: (29628..29629)\n IDENTIFIER: (29628..29629) \"a\"\n CLOSE_PAREN: (29629..29630) \")\"\n ATMOSPHERE: (29630..29631) \" \"\n QUOTED_DATUM: (29631..29639)\n QUOTE: (29631..29632) \"'\"\n FORM: (29632..29639)\n OPEN_PAREN: (29632..29633) \"(\"\n SYMBOL: (29633..29634)\n IDENTIFIER: (29633..29634) \"b\"\n ATMOSPHERE: (29634..29635) \" \"\n SYMBOL: (29635..29636)\n IDENTIFIER: (29635..29636) \"c\"\n ATMOSPHERE: (29636..29637) \" \"\n SYMBOL: (29637..29638)\n IDENTIFIER: (29637..29638) \"d\"\n CLOSE_PAREN: (29638..29639) \")\"\n CLOSE_PAREN: (29639..29640) \")\"\n CLOSE_PAREN: (29640..29641) \")\"\n ATMOSPHERE: (29641..29642) \"\n\"\n FORM: (29642..29677)\n OPEN_PAREN: (29642..29643) \"(\"\n SYMBOL: (29643..29647)\n IDENTIFIER: (29643..29647) \"test\"\n ATMOSPHERE: (29647..29648) \" \"\n QUOTED_DATUM: (29648..29659)\n QUOTE: (29648..29649) \"'\"\n FORM: (29649..29658)\n OPEN_PAREN: (29649..29650) \"(\"\n CONSTANT: (29650..29653)\n STRING: (29650..29653) \"\"a\"\"\n ATMOSPHERE: (29653..29654) \" \"\n SYMBOL: (29654..29655)\n IDENTIFIER: (29654..29655) \"b\"\n ATMOSPHERE: (29655..29656) \" \"\n SYMBOL: (29656..29657)\n IDENTIFIER: (29656..29657) \"c\"\n CLOSE_PAREN: (29657..29658) \")\"\n ATMOSPHERE: (29658..29659) \" \"\n FORM: (29659..29676)\n OPEN_PAREN: (29659..29660) \"(\"\n SYMBOL: (29660..29664)\n IDENTIFIER: (29660..29664) \"cons\"\n ATMOSPHERE: (29664..29665) \" \"\n CONSTANT: (29665..29668)\n STRING: (29665..29668) \"\"a\"\"\n ATMOSPHERE: (29668..29669) \" \"\n QUOTED_DATUM: (29669..29675)\n QUOTE: (29669..29670) \"'\"\n FORM: (29670..29675)\n OPEN_PAREN: (29670..29671) \"(\"\n SYMBOL: (29671..29672)\n IDENTIFIER: (29671..29672) \"b\"\n ATMOSPHERE: (29672..29673) \" \"\n SYMBOL: (29673..29674)\n IDENTIFIER: (29673..29674) \"c\"\n CLOSE_PAREN: (29674..29675) \")\"\n CLOSE_PAREN: (29675..29676) \")\"\n CLOSE_PAREN: (29676..29677) \")\"\n ATMOSPHERE: (29677..29678) \"\n\"\n ATMOSPHERE: (29678..29712) \";;; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (29712..29713) \"\n\"\n ATMOSPHERE: (29713..29743) \";; (test '(a . 3) (cons 'a 3))\"\n ATMOSPHERE: (29743..29744) \"\n\"\n ATMOSPHERE: (29744..29783) \";; (test '((a b) . c) (cons '(a b) 'c))\"\n ATMOSPHERE: (29783..29785) \"\n\n\"\n FORM: (29785..29809)\n OPEN_PAREN: (29785..29786) \"(\"\n SYMBOL: (29786..29790)\n IDENTIFIER: (29786..29790) \"test\"\n ATMOSPHERE: (29790..29791) \" \"\n QUOTED_DATUM: (29791..29794)\n QUOTE: (29791..29792) \"'\"\n SYMBOL: (29792..29793)\n IDENTIFIER: (29792..29793) \"a\"\n ATMOSPHERE: (29793..29794) \" \"\n FORM: (29794..29808)\n OPEN_PAREN: (29794..29795) \"(\"\n SYMBOL: (29795..29798)\n IDENTIFIER: (29795..29798) \"car\"\n ATMOSPHERE: (29798..29799) \" \"\n QUOTED_DATUM: (29799..29807)\n QUOTE: (29799..29800) \"'\"\n FORM: (29800..29807)\n OPEN_PAREN: (29800..29801) \"(\"\n SYMBOL: (29801..29802)\n IDENTIFIER: (29801..29802) \"a\"\n ATMOSPHERE: (29802..29803) \" \"\n SYMBOL: (29803..29804)\n IDENTIFIER: (29803..29804) \"b\"\n ATMOSPHERE: (29804..29805) \" \"\n SYMBOL: (29805..29806)\n IDENTIFIER: (29805..29806) \"c\"\n CLOSE_PAREN: (29806..29807) \")\"\n CLOSE_PAREN: (29807..29808) \")\"\n CLOSE_PAREN: (29808..29809) \")\"\n ATMOSPHERE: (29809..29810) \"\n\"\n FORM: (29810..29840)\n OPEN_PAREN: (29810..29811) \"(\"\n SYMBOL: (29811..29815)\n IDENTIFIER: (29811..29815) \"test\"\n ATMOSPHERE: (29815..29816) \" \"\n QUOTED_DATUM: (29816..29821)\n QUOTE: (29816..29817) \"'\"\n FORM: (29817..29820)\n OPEN_PAREN: (29817..29818) \"(\"\n SYMBOL: (29818..29819)\n IDENTIFIER: (29818..29819) \"a\"\n CLOSE_PAREN: (29819..29820) \")\"\n ATMOSPHERE: (29820..29821) \" \"\n FORM: (29821..29839)\n OPEN_PAREN: (29821..29822) \"(\"\n SYMBOL: (29822..29825)\n IDENTIFIER: (29822..29825) \"car\"\n ATMOSPHERE: (29825..29826) \" \"\n QUOTED_DATUM: (29826..29838)\n QUOTE: (29826..29827) \"'\"\n FORM: (29827..29838)\n OPEN_PAREN: (29827..29828) \"(\"\n FORM: (29828..29831)\n OPEN_PAREN: (29828..29829) \"(\"\n SYMBOL: (29829..29830)\n IDENTIFIER: (29829..29830) \"a\"\n CLOSE_PAREN: (29830..29831) \")\"\n ATMOSPHERE: (29831..29832) \" \"\n SYMBOL: (29832..29833)\n IDENTIFIER: (29832..29833) \"b\"\n ATMOSPHERE: (29833..29834) \" \"\n SYMBOL: (29834..29835)\n IDENTIFIER: (29834..29835) \"c\"\n ATMOSPHERE: (29835..29836) \" \"\n SYMBOL: (29836..29837)\n IDENTIFIER: (29836..29837) \"d\"\n CLOSE_PAREN: (29837..29838) \")\"\n CLOSE_PAREN: (29838..29839) \")\"\n CLOSE_PAREN: (29839..29840) \")\"\n ATMOSPHERE: (29840..29841) \"\n\"\n FORM: (29841..29864)\n OPEN_PAREN: (29841..29842) \"(\"\n SYMBOL: (29842..29846)\n IDENTIFIER: (29842..29846) \"test\"\n ATMOSPHERE: (29846..29847) \" \"\n CONSTANT: (29847..29848)\n NUMBER: (29847..29848) \"1\"\n ATMOSPHERE: (29848..29849) \" \"\n FORM: (29849..29863)\n OPEN_PAREN: (29849..29850) \"(\"\n SYMBOL: (29850..29853)\n IDENTIFIER: (29850..29853) \"car\"\n ATMOSPHERE: (29853..29854) \" \"\n QUOTED_DATUM: (29854..29862)\n QUOTE: (29854..29855) \"'\"\n FORM: (29855..29862)\n OPEN_PAREN: (29855..29856) \"(\"\n CONSTANT: (29856..29857)\n NUMBER: (29856..29857) \"1\"\n ATMOSPHERE: (29857..29858) \" \"\n DOTTED_TAIL: (29858..29861)\n DOT: (29858..29859) \".\"\n ATMOSPHERE: (29859..29860) \" \"\n CONSTANT: (29860..29861)\n NUMBER: (29860..29861) \"2\"\n CLOSE_PAREN: (29861..29862) \")\"\n CLOSE_PAREN: (29862..29863) \")\"\n CLOSE_PAREN: (29863..29864) \")\"\n ATMOSPHERE: (29864..29866) \"\n\n\"\n FORM: (29866..29900)\n OPEN_PAREN: (29866..29867) \"(\"\n SYMBOL: (29867..29871)\n IDENTIFIER: (29867..29871) \"test\"\n ATMOSPHERE: (29871..29872) \" \"\n QUOTED_DATUM: (29872..29881)\n QUOTE: (29872..29873) \"'\"\n FORM: (29873..29880)\n OPEN_PAREN: (29873..29874) \"(\"\n SYMBOL: (29874..29875)\n IDENTIFIER: (29874..29875) \"b\"\n ATMOSPHERE: (29875..29876) \" \"\n SYMBOL: (29876..29877)\n IDENTIFIER: (29876..29877) \"c\"\n ATMOSPHERE: (29877..29878) \" \"\n SYMBOL: (29878..29879)\n IDENTIFIER: (29878..29879) \"d\"\n CLOSE_PAREN: (29879..29880) \")\"\n ATMOSPHERE: (29880..29881) \" \"\n FORM: (29881..29899)\n OPEN_PAREN: (29881..29882) \"(\"\n SYMBOL: (29882..29885)\n IDENTIFIER: (29882..29885) \"cdr\"\n ATMOSPHERE: (29885..29886) \" \"\n QUOTED_DATUM: (29886..29898)\n QUOTE: (29886..29887) \"'\"\n FORM: (29887..29898)\n OPEN_PAREN: (29887..29888) \"(\"\n FORM: (29888..29891)\n OPEN_PAREN: (29888..29889) \"(\"\n SYMBOL: (29889..29890)\n IDENTIFIER: (29889..29890) \"a\"\n CLOSE_PAREN: (29890..29891) \")\"\n ATMOSPHERE: (29891..29892) \" \"\n SYMBOL: (29892..29893)\n IDENTIFIER: (29892..29893) \"b\"\n ATMOSPHERE: (29893..29894) \" \"\n SYMBOL: (29894..29895)\n IDENTIFIER: (29894..29895) \"c\"\n ATMOSPHERE: (29895..29896) \" \"\n SYMBOL: (29896..29897)\n IDENTIFIER: (29896..29897) \"d\"\n CLOSE_PAREN: (29897..29898) \")\"\n CLOSE_PAREN: (29898..29899) \")\"\n CLOSE_PAREN: (29899..29900) \")\"\n ATMOSPHERE: (29900..29901) \"\n\"\n ATMOSPHERE: (29901..29961) \";; (test 2 (cdr '(1 . 2))) ; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (29961..29962) \"\n\"\n FORM: (29962..29991)\n OPEN_PAREN: (29962..29963) \"(\"\n SYMBOL: (29963..29969)\n IDENTIFIER: (29963..29969) \"define\"\n ATMOSPHERE: (29969..29970) \" \"\n FORM: (29970..29973)\n OPEN_PAREN: (29970..29971) \"(\"\n SYMBOL: (29971..29972)\n IDENTIFIER: (29971..29972) \"g\"\n CLOSE_PAREN: (29972..29973) \")\"\n ATMOSPHERE: (29973..29974) \" \"\n QUOTED_DATUM: (29974..29990)\n QUOTE: (29974..29975) \"'\"\n FORM: (29975..29990)\n OPEN_PAREN: (29975..29976) \"(\"\n SYMBOL: (29976..29989)\n IDENTIFIER: (29976..29989) \"constant-list\"\n CLOSE_PAREN: (29989..29990) \")\"\n CLOSE_PAREN: (29990..29991) \")\"\n ATMOSPHERE: (29991..29993) \"\n\n\"\n FORM: (29993..30019)\n OPEN_PAREN: (29993..29994) \"(\"\n SYMBOL: (29994..29998)\n IDENTIFIER: (29994..29998) \"test\"\n ATMOSPHERE: (29998..29999) \" \"\n CONSTANT: (29999..30001)\n BOOLEAN: (29999..30001) \"#t\"\n ATMOSPHERE: (30001..30002) \" \"\n FORM: (30002..30018)\n OPEN_PAREN: (30002..30003) \"(\"\n SYMBOL: (30003..30008)\n IDENTIFIER: (30003..30008) \"list?\"\n ATMOSPHERE: (30008..30009) \" \"\n QUOTED_DATUM: (30009..30017)\n QUOTE: (30009..30010) \"'\"\n FORM: (30010..30017)\n OPEN_PAREN: (30010..30011) \"(\"\n SYMBOL: (30011..30012)\n IDENTIFIER: (30011..30012) \"a\"\n ATMOSPHERE: (30012..30013) \" \"\n SYMBOL: (30013..30014)\n IDENTIFIER: (30013..30014) \"b\"\n ATMOSPHERE: (30014..30015) \" \"\n SYMBOL: (30015..30016)\n IDENTIFIER: (30015..30016) \"c\"\n CLOSE_PAREN: (30016..30017) \")\"\n CLOSE_PAREN: (30017..30018) \")\"\n CLOSE_PAREN: (30018..30019) \")\"\n ATMOSPHERE: (30019..30020) \"\n\"\n FORM: (30020..30041)\n OPEN_PAREN: (30020..30021) \"(\"\n SYMBOL: (30021..30025)\n IDENTIFIER: (30021..30025) \"test\"\n ATMOSPHERE: (30025..30026) \" \"\n CONSTANT: (30026..30028)\n BOOLEAN: (30026..30028) \"#t\"\n ATMOSPHERE: (30028..30029) \" \"\n FORM: (30029..30040)\n OPEN_PAREN: (30029..30030) \"(\"\n SYMBOL: (30030..30035)\n IDENTIFIER: (30030..30035) \"list?\"\n ATMOSPHERE: (30035..30036) \" \"\n QUOTED_DATUM: (30036..30039)\n QUOTE: (30036..30037) \"'\"\n FORM: (30037..30039)\n OPEN_PAREN: (30037..30038) \"(\"\n CLOSE_PAREN: (30038..30039) \")\"\n CLOSE_PAREN: (30039..30040) \")\"\n CLOSE_PAREN: (30040..30041) \")\"\n ATMOSPHERE: (30041..30042) \"\n\"\n ATMOSPHERE: (30042..30105) \";; (test #f (list? '(a . b))) ; FIXME: Quoting of dotted forms\"\n ATMOSPHERE: (30105..30106) \"\n\"\n ATMOSPHERE: (30106..30192) \"; FIXME: recurse in `list?` ; (test #f (let ((x (list 'a))) (set-cdr! x x) (list? x)))\"\n ATMOSPHERE: (30192..30194) \"\n\n\"\n FORM: (30194..30223)\n OPEN_PAREN: (30194..30195) \"(\"\n SYMBOL: (30195..30199)\n IDENTIFIER: (30195..30199) \"test\"\n ATMOSPHERE: (30199..30200) \" \"\n QUOTED_DATUM: (30200..30207)\n QUOTE: (30200..30201) \"'\"\n FORM: (30201..30206)\n OPEN_PAREN: (30201..30202) \"(\"\n CONSTANT: (30202..30203)\n NUMBER: (30202..30203) \"3\"\n ATMOSPHERE: (30203..30204) \" \"\n CONSTANT: (30204..30205)\n NUMBER: (30204..30205) \"3\"\n CLOSE_PAREN: (30205..30206) \")\"\n ATMOSPHERE: (30206..30207) \" \"\n FORM: (30207..30222)\n OPEN_PAREN: (30207..30208) \"(\"\n SYMBOL: (30208..30217)\n IDENTIFIER: (30208..30217) \"make-list\"\n ATMOSPHERE: (30217..30218) \" \"\n CONSTANT: (30218..30219)\n NUMBER: (30218..30219) \"2\"\n ATMOSPHERE: (30219..30220) \" \"\n CONSTANT: (30220..30221)\n NUMBER: (30220..30221) \"3\"\n CLOSE_PAREN: (30221..30222) \")\"\n CLOSE_PAREN: (30222..30223) \")\"\n ATMOSPHERE: (30223..30225) \"\n\n\"\n FORM: (30225..30261)\n OPEN_PAREN: (30225..30226) \"(\"\n SYMBOL: (30226..30230)\n IDENTIFIER: (30226..30230) \"test\"\n ATMOSPHERE: (30230..30231) \" \"\n QUOTED_DATUM: (30231..30240)\n QUOTE: (30231..30232) \"'\"\n FORM: (30232..30239)\n OPEN_PAREN: (30232..30233) \"(\"\n SYMBOL: (30233..30234)\n IDENTIFIER: (30233..30234) \"a\"\n ATMOSPHERE: (30234..30235) \" \"\n CONSTANT: (30235..30236)\n NUMBER: (30235..30236) \"7\"\n ATMOSPHERE: (30236..30237) \" \"\n SYMBOL: (30237..30238)\n IDENTIFIER: (30237..30238) \"c\"\n CLOSE_PAREN: (30238..30239) \")\"\n ATMOSPHERE: (30239..30240) \" \"\n FORM: (30240..30260)\n OPEN_PAREN: (30240..30241) \"(\"\n SYMBOL: (30241..30245)\n IDENTIFIER: (30241..30245) \"list\"\n ATMOSPHERE: (30245..30246) \" \"\n QUOTED_DATUM: (30246..30249)\n QUOTE: (30246..30247) \"'\"\n SYMBOL: (30247..30248)\n IDENTIFIER: (30247..30248) \"a\"\n ATMOSPHERE: (30248..30249) \" \"\n FORM: (30249..30256)\n OPEN_PAREN: (30249..30250) \"(\"\n SYMBOL: (30250..30251)\n IDENTIFIER: (30250..30251) \"+\"\n ATMOSPHERE: (30251..30252) \" \"\n CONSTANT: (30252..30253)\n NUMBER: (30252..30253) \"3\"\n ATMOSPHERE: (30253..30254) \" \"\n CONSTANT: (30254..30255)\n NUMBER: (30254..30255) \"4\"\n CLOSE_PAREN: (30255..30256) \")\"\n ATMOSPHERE: (30256..30257) \" \"\n QUOTED_DATUM: (30257..30259)\n QUOTE: (30257..30258) \"'\"\n SYMBOL: (30258..30259)\n IDENTIFIER: (30258..30259) \"c\"\n CLOSE_PAREN: (30259..30260) \")\"\n CLOSE_PAREN: (30260..30261) \")\"\n ATMOSPHERE: (30261..30262) \"\n\"\n FORM: (30262..30279)\n OPEN_PAREN: (30262..30263) \"(\"\n SYMBOL: (30263..30267)\n IDENTIFIER: (30263..30267) \"test\"\n ATMOSPHERE: (30267..30268) \" \"\n QUOTED_DATUM: (30268..30272)\n QUOTE: (30268..30269) \"'\"\n FORM: (30269..30271)\n OPEN_PAREN: (30269..30270) \"(\"\n CLOSE_PAREN: (30270..30271) \")\"\n ATMOSPHERE: (30271..30272) \" \"\n FORM: (30272..30278)\n OPEN_PAREN: (30272..30273) \"(\"\n SYMBOL: (30273..30277)\n IDENTIFIER: (30273..30277) \"list\"\n CLOSE_PAREN: (30277..30278) \")\"\n CLOSE_PAREN: (30278..30279) \")\"\n ATMOSPHERE: (30279..30281) \"\n\n\"\n FORM: (30281..30307)\n OPEN_PAREN: (30281..30282) \"(\"\n SYMBOL: (30282..30286)\n IDENTIFIER: (30282..30286) \"test\"\n ATMOSPHERE: (30286..30287) \" \"\n CONSTANT: (30287..30288)\n NUMBER: (30287..30288) \"3\"\n ATMOSPHERE: (30288..30289) \" \"\n FORM: (30289..30306)\n OPEN_PAREN: (30289..30290) \"(\"\n SYMBOL: (30290..30296)\n IDENTIFIER: (30290..30296) \"length\"\n ATMOSPHERE: (30296..30297) \" \"\n QUOTED_DATUM: (30297..30305)\n QUOTE: (30297..30298) \"'\"\n FORM: (30298..30305)\n OPEN_PAREN: (30298..30299) \"(\"\n SYMBOL: (30299..30300)\n IDENTIFIER: (30299..30300) \"a\"\n ATMOSPHERE: (30300..30301) \" \"\n SYMBOL: (30301..30302)\n IDENTIFIER: (30301..30302) \"b\"\n ATMOSPHERE: (30302..30303) \" \"\n SYMBOL: (30303..30304)\n IDENTIFIER: (30303..30304) \"c\"\n CLOSE_PAREN: (30304..30305) \")\"\n CLOSE_PAREN: (30305..30306) \")\"\n CLOSE_PAREN: (30306..30307) \")\"\n ATMOSPHERE: (30307..30308) \"\n\"\n FORM: (30308..30342)\n OPEN_PAREN: (30308..30309) \"(\"\n SYMBOL: (30309..30313)\n IDENTIFIER: (30309..30313) \"test\"\n ATMOSPHERE: (30313..30314) \" \"\n CONSTANT: (30314..30315)\n NUMBER: (30314..30315) \"3\"\n ATMOSPHERE: (30315..30316) \" \"\n FORM: (30316..30341)\n OPEN_PAREN: (30316..30317) \"(\"\n SYMBOL: (30317..30323)\n IDENTIFIER: (30317..30323) \"length\"\n ATMOSPHERE: (30323..30324) \" \"\n QUOTED_DATUM: (30324..30340)\n QUOTE: (30324..30325) \"'\"\n FORM: (30325..30340)\n OPEN_PAREN: (30325..30326) \"(\"\n SYMBOL: (30326..30327)\n IDENTIFIER: (30326..30327) \"a\"\n ATMOSPHERE: (30327..30328) \" \"\n FORM: (30328..30331)\n OPEN_PAREN: (30328..30329) \"(\"\n SYMBOL: (30329..30330)\n IDENTIFIER: (30329..30330) \"b\"\n CLOSE_PAREN: (30330..30331) \")\"\n ATMOSPHERE: (30331..30332) \" \"\n FORM: (30332..30339)\n OPEN_PAREN: (30332..30333) \"(\"\n SYMBOL: (30333..30334)\n IDENTIFIER: (30333..30334) \"c\"\n ATMOSPHERE: (30334..30335) \" \"\n SYMBOL: (30335..30336)\n IDENTIFIER: (30335..30336) \"d\"\n ATMOSPHERE: (30336..30337) \" \"\n SYMBOL: (30337..30338)\n IDENTIFIER: (30337..30338) \"e\"\n CLOSE_PAREN: (30338..30339) \")\"\n CLOSE_PAREN: (30339..30340) \")\"\n CLOSE_PAREN: (30340..30341) \")\"\n CLOSE_PAREN: (30341..30342) \")\"\n ATMOSPHERE: (30342..30343) \"\n\"\n FORM: (30343..30364)\n OPEN_PAREN: (30343..30344) \"(\"\n SYMBOL: (30344..30348)\n IDENTIFIER: (30344..30348) \"test\"\n ATMOSPHERE: (30348..30349) \" \"\n CONSTANT: (30349..30350)\n NUMBER: (30349..30350) \"0\"\n ATMOSPHERE: (30350..30351) \" \"\n FORM: (30351..30363)\n OPEN_PAREN: (30351..30352) \"(\"\n SYMBOL: (30352..30358)\n IDENTIFIER: (30352..30358) \"length\"\n ATMOSPHERE: (30358..30359) \" \"\n QUOTED_DATUM: (30359..30362)\n QUOTE: (30359..30360) \"'\"\n FORM: (30360..30362)\n OPEN_PAREN: (30360..30361) \"(\"\n CLOSE_PAREN: (30361..30362) \")\"\n CLOSE_PAREN: (30362..30363) \")\"\n CLOSE_PAREN: (30363..30364) \")\"\n ATMOSPHERE: (30364..30366) \"\n\n\"\n FORM: (30366..30398)\n OPEN_PAREN: (30366..30367) \"(\"\n SYMBOL: (30367..30371)\n IDENTIFIER: (30367..30371) \"test\"\n ATMOSPHERE: (30371..30372) \" \"\n QUOTED_DATUM: (30372..30379)\n QUOTE: (30372..30373) \"'\"\n FORM: (30373..30378)\n OPEN_PAREN: (30373..30374) \"(\"\n SYMBOL: (30374..30375)\n IDENTIFIER: (30374..30375) \"x\"\n ATMOSPHERE: (30375..30376) \" \"\n SYMBOL: (30376..30377)\n IDENTIFIER: (30376..30377) \"y\"\n CLOSE_PAREN: (30377..30378) \")\"\n ATMOSPHERE: (30378..30379) \" \"\n FORM: (30379..30397)\n OPEN_PAREN: (30379..30380) \"(\"\n SYMBOL: (30380..30386)\n IDENTIFIER: (30380..30386) \"append\"\n ATMOSPHERE: (30386..30387) \" \"\n QUOTED_DATUM: (30387..30392)\n QUOTE: (30387..30388) \"'\"\n FORM: (30388..30391)\n OPEN_PAREN: (30388..30389) \"(\"\n SYMBOL: (30389..30390)\n IDENTIFIER: (30389..30390) \"x\"\n CLOSE_PAREN: (30390..30391) \")\"\n ATMOSPHERE: (30391..30392) \" \"\n QUOTED_DATUM: (30392..30396)\n QUOTE: (30392..30393) \"'\"\n FORM: (30393..30396)\n OPEN_PAREN: (30393..30394) \"(\"\n SYMBOL: (30394..30395)\n IDENTIFIER: (30394..30395) \"y\"\n CLOSE_PAREN: (30395..30396) \")\"\n CLOSE_PAREN: (30396..30397) \")\"\n CLOSE_PAREN: (30397..30398) \")\"\n ATMOSPHERE: (30398..30399) \"\n\"\n FORM: (30399..30439)\n OPEN_PAREN: (30399..30400) \"(\"\n SYMBOL: (30400..30404)\n IDENTIFIER: (30400..30404) \"test\"\n ATMOSPHERE: (30404..30405) \" \"\n QUOTED_DATUM: (30405..30416)\n QUOTE: (30405..30406) \"'\"\n FORM: (30406..30415)\n OPEN_PAREN: (30406..30407) \"(\"\n SYMBOL: (30407..30408)\n IDENTIFIER: (30407..30408) \"a\"\n ATMOSPHERE: (30408..30409) \" \"\n SYMBOL: (30409..30410)\n IDENTIFIER: (30409..30410) \"b\"\n ATMOSPHERE: (30410..30411) \" \"\n SYMBOL: (30411..30412)\n IDENTIFIER: (30411..30412) \"c\"\n ATMOSPHERE: (30412..30413) \" \"\n SYMBOL: (30413..30414)\n IDENTIFIER: (30413..30414) \"d\"\n CLOSE_PAREN: (30414..30415) \")\"\n ATMOSPHERE: (30415..30416) \" \"\n FORM: (30416..30438)\n OPEN_PAREN: (30416..30417) \"(\"\n SYMBOL: (30417..30423)\n IDENTIFIER: (30417..30423) \"append\"\n ATMOSPHERE: (30423..30424) \" \"\n QUOTED_DATUM: (30424..30429)\n QUOTE: (30424..30425) \"'\"\n FORM: (30425..30428)\n OPEN_PAREN: (30425..30426) \"(\"\n SYMBOL: (30426..30427)\n IDENTIFIER: (30426..30427) \"a\"\n CLOSE_PAREN: (30427..30428) \")\"\n ATMOSPHERE: (30428..30429) \" \"\n QUOTED_DATUM: (30429..30437)\n QUOTE: (30429..30430) \"'\"\n FORM: (30430..30437)\n OPEN_PAREN: (30430..30431) \"(\"\n SYMBOL: (30431..30432)\n IDENTIFIER: (30431..30432) \"b\"\n ATMOSPHERE: (30432..30433) \" \"\n SYMBOL: (30433..30434)\n IDENTIFIER: (30433..30434) \"c\"\n ATMOSPHERE: (30434..30435) \" \"\n SYMBOL: (30435..30436)\n IDENTIFIER: (30435..30436) \"d\"\n CLOSE_PAREN: (30436..30437) \")\"\n CLOSE_PAREN: (30437..30438) \")\"\n CLOSE_PAREN: (30438..30439) \")\"\n ATMOSPHERE: (30439..30440) \"\n\"\n FORM: (30440..30484)\n OPEN_PAREN: (30440..30441) \"(\"\n SYMBOL: (30441..30445)\n IDENTIFIER: (30441..30445) \"test\"\n ATMOSPHERE: (30445..30446) \" \"\n QUOTED_DATUM: (30446..30459)\n QUOTE: (30446..30447) \"'\"\n FORM: (30447..30458)\n OPEN_PAREN: (30447..30448) \"(\"\n SYMBOL: (30448..30449)\n IDENTIFIER: (30448..30449) \"a\"\n ATMOSPHERE: (30449..30450) \" \"\n FORM: (30450..30453)\n OPEN_PAREN: (30450..30451) \"(\"\n SYMBOL: (30451..30452)\n IDENTIFIER: (30451..30452) \"b\"\n CLOSE_PAREN: (30452..30453) \")\"\n ATMOSPHERE: (30453..30454) \" \"\n FORM: (30454..30457)\n OPEN_PAREN: (30454..30455) \"(\"\n SYMBOL: (30455..30456)\n IDENTIFIER: (30455..30456) \"c\"\n CLOSE_PAREN: (30456..30457) \")\"\n CLOSE_PAREN: (30457..30458) \")\"\n ATMOSPHERE: (30458..30459) \" \"\n FORM: (30459..30483)\n OPEN_PAREN: (30459..30460) \"(\"\n SYMBOL: (30460..30466)\n IDENTIFIER: (30460..30466) \"append\"\n ATMOSPHERE: (30466..30467) \" \"\n QUOTED_DATUM: (30467..30476)\n QUOTE: (30467..30468) \"'\"\n FORM: (30468..30475)\n OPEN_PAREN: (30468..30469) \"(\"\n SYMBOL: (30469..30470)\n IDENTIFIER: (30469..30470) \"a\"\n ATMOSPHERE: (30470..30471) \" \"\n FORM: (30471..30474)\n OPEN_PAREN: (30471..30472) \"(\"\n SYMBOL: (30472..30473)\n IDENTIFIER: (30472..30473) \"b\"\n CLOSE_PAREN: (30473..30474) \")\"\n CLOSE_PAREN: (30474..30475) \")\"\n ATMOSPHERE: (30475..30476) \" \"\n QUOTED_DATUM: (30476..30482)\n QUOTE: (30476..30477) \"'\"\n FORM: (30477..30482)\n OPEN_PAREN: (30477..30478) \"(\"\n FORM: (30478..30481)\n OPEN_PAREN: (30478..30479) \"(\"\n SYMBOL: (30479..30480)\n IDENTIFIER: (30479..30480) \"c\"\n CLOSE_PAREN: (30480..30481) \")\"\n CLOSE_PAREN: (30481..30482) \")\"\n CLOSE_PAREN: (30482..30483) \")\"\n CLOSE_PAREN: (30483..30484) \")\"\n ATMOSPHERE: (30484..30486) \"\n\n\"\n FORM: (30486..30530)\n OPEN_PAREN: (30486..30487) \"(\"\n SYMBOL: (30487..30491)\n IDENTIFIER: (30487..30491) \"test\"\n ATMOSPHERE: (30491..30492) \" \"\n QUOTED_DATUM: (30492..30505)\n QUOTE: (30492..30493) \"'\"\n FORM: (30493..30504)\n OPEN_PAREN: (30493..30494) \"(\"\n SYMBOL: (30494..30495)\n IDENTIFIER: (30494..30495) \"a\"\n ATMOSPHERE: (30495..30496) \" \"\n SYMBOL: (30496..30497)\n IDENTIFIER: (30496..30497) \"b\"\n ATMOSPHERE: (30497..30498) \" \"\n SYMBOL: (30498..30499)\n IDENTIFIER: (30498..30499) \"c\"\n ATMOSPHERE: (30499..30500) \" \"\n DOTTED_TAIL: (30500..30503)\n DOT: (30500..30501) \".\"\n ATMOSPHERE: (30501..30502) \" \"\n SYMBOL: (30502..30503)\n IDENTIFIER: (30502..30503) \"d\"\n CLOSE_PAREN: (30503..30504) \")\"\n ATMOSPHERE: (30504..30505) \" \"\n FORM: (30505..30529)\n OPEN_PAREN: (30505..30506) \"(\"\n SYMBOL: (30506..30512)\n IDENTIFIER: (30506..30512) \"append\"\n ATMOSPHERE: (30512..30513) \" \"\n QUOTED_DATUM: (30513..30520)\n QUOTE: (30513..30514) \"'\"\n FORM: (30514..30519)\n OPEN_PAREN: (30514..30515) \"(\"\n SYMBOL: (30515..30516)\n IDENTIFIER: (30515..30516) \"a\"\n ATMOSPHERE: (30516..30517) \" \"\n SYMBOL: (30517..30518)\n IDENTIFIER: (30517..30518) \"b\"\n CLOSE_PAREN: (30518..30519) \")\"\n ATMOSPHERE: (30519..30520) \" \"\n QUOTED_DATUM: (30520..30528)\n QUOTE: (30520..30521) \"'\"\n FORM: (30521..30528)\n OPEN_PAREN: (30521..30522) \"(\"\n SYMBOL: (30522..30523)\n IDENTIFIER: (30522..30523) \"c\"\n ATMOSPHERE: (30523..30524) \" \"\n DOTTED_TAIL: (30524..30527)\n DOT: (30524..30525) \".\"\n ATMOSPHERE: (30525..30526) \" \"\n SYMBOL: (30526..30527)\n IDENTIFIER: (30526..30527) \"d\"\n CLOSE_PAREN: (30527..30528) \")\"\n CLOSE_PAREN: (30528..30529) \")\"\n CLOSE_PAREN: (30529..30530) \")\"\n ATMOSPHERE: (30530..30531) \"\n\"\n FORM: (30531..30556)\n OPEN_PAREN: (30531..30532) \"(\"\n SYMBOL: (30532..30536)\n IDENTIFIER: (30532..30536) \"test\"\n ATMOSPHERE: (30536..30537) \" \"\n QUOTED_DATUM: (30537..30540)\n QUOTE: (30537..30538) \"'\"\n SYMBOL: (30538..30539)\n IDENTIFIER: (30538..30539) \"a\"\n ATMOSPHERE: (30539..30540) \" \"\n FORM: (30540..30555)\n OPEN_PAREN: (30540..30541) \"(\"\n SYMBOL: (30541..30547)\n IDENTIFIER: (30541..30547) \"append\"\n ATMOSPHERE: (30547..30548) \" \"\n QUOTED_DATUM: (30548..30552)\n QUOTE: (30548..30549) \"'\"\n FORM: (30549..30551)\n OPEN_PAREN: (30549..30550) \"(\"\n CLOSE_PAREN: (30550..30551) \")\"\n ATMOSPHERE: (30551..30552) \" \"\n QUOTED_DATUM: (30552..30554)\n QUOTE: (30552..30553) \"'\"\n SYMBOL: (30553..30554)\n IDENTIFIER: (30553..30554) \"a\"\n CLOSE_PAREN: (30554..30555) \")\"\n CLOSE_PAREN: (30555..30556) \")\"\n ATMOSPHERE: (30556..30558) \"\n\n\"\n FORM: (30558..30592)\n OPEN_PAREN: (30558..30559) \"(\"\n SYMBOL: (30559..30563)\n IDENTIFIER: (30559..30563) \"test\"\n ATMOSPHERE: (30563..30564) \" \"\n QUOTED_DATUM: (30564..30573)\n QUOTE: (30564..30565) \"'\"\n FORM: (30565..30572)\n OPEN_PAREN: (30565..30566) \"(\"\n SYMBOL: (30566..30567)\n IDENTIFIER: (30566..30567) \"c\"\n ATMOSPHERE: (30567..30568) \" \"\n SYMBOL: (30568..30569)\n IDENTIFIER: (30568..30569) \"b\"\n ATMOSPHERE: (30569..30570) \" \"\n SYMBOL: (30570..30571)\n IDENTIFIER: (30570..30571) \"a\"\n CLOSE_PAREN: (30571..30572) \")\"\n ATMOSPHERE: (30572..30573) \" \"\n FORM: (30573..30591)\n OPEN_PAREN: (30573..30574) \"(\"\n SYMBOL: (30574..30581)\n IDENTIFIER: (30574..30581) \"reverse\"\n ATMOSPHERE: (30581..30582) \" \"\n QUOTED_DATUM: (30582..30590)\n QUOTE: (30582..30583) \"'\"\n FORM: (30583..30590)\n OPEN_PAREN: (30583..30584) \"(\"\n SYMBOL: (30584..30585)\n IDENTIFIER: (30584..30585) \"a\"\n ATMOSPHERE: (30585..30586) \" \"\n SYMBOL: (30586..30587)\n IDENTIFIER: (30586..30587) \"b\"\n ATMOSPHERE: (30587..30588) \" \"\n SYMBOL: (30588..30589)\n IDENTIFIER: (30588..30589) \"c\"\n CLOSE_PAREN: (30589..30590) \")\"\n CLOSE_PAREN: (30590..30591) \")\"\n CLOSE_PAREN: (30591..30592) \")\"\n ATMOSPHERE: (30592..30593) \"\n\"\n FORM: (30593..30651)\n OPEN_PAREN: (30593..30594) \"(\"\n SYMBOL: (30594..30598)\n IDENTIFIER: (30594..30598) \"test\"\n ATMOSPHERE: (30598..30599) \" \"\n QUOTED_DATUM: (30599..30620)\n QUOTE: (30599..30600) \"'\"\n FORM: (30600..30619)\n OPEN_PAREN: (30600..30601) \"(\"\n FORM: (30601..30608)\n OPEN_PAREN: (30601..30602) \"(\"\n SYMBOL: (30602..30603)\n IDENTIFIER: (30602..30603) \"e\"\n ATMOSPHERE: (30603..30604) \" \"\n FORM: (30604..30607)\n OPEN_PAREN: (30604..30605) \"(\"\n SYMBOL: (30605..30606)\n IDENTIFIER: (30605..30606) \"f\"\n CLOSE_PAREN: (30606..30607) \")\"\n CLOSE_PAREN: (30607..30608) \")\"\n ATMOSPHERE: (30608..30609) \" \"\n SYMBOL: (30609..30610)\n IDENTIFIER: (30609..30610) \"d\"\n ATMOSPHERE: (30610..30611) \" \"\n FORM: (30611..30616)\n OPEN_PAREN: (30611..30612) \"(\"\n SYMBOL: (30612..30613)\n IDENTIFIER: (30612..30613) \"b\"\n ATMOSPHERE: (30613..30614) \" \"\n SYMBOL: (30614..30615)\n IDENTIFIER: (30614..30615) \"c\"\n CLOSE_PAREN: (30615..30616) \")\"\n ATMOSPHERE: (30616..30617) \" \"\n SYMBOL: (30617..30618)\n IDENTIFIER: (30617..30618) \"a\"\n CLOSE_PAREN: (30618..30619) \")\"\n ATMOSPHERE: (30619..30620) \" \"\n FORM: (30620..30650)\n OPEN_PAREN: (30620..30621) \"(\"\n SYMBOL: (30621..30628)\n IDENTIFIER: (30621..30628) \"reverse\"\n ATMOSPHERE: (30628..30629) \" \"\n QUOTED_DATUM: (30629..30649)\n QUOTE: (30629..30630) \"'\"\n FORM: (30630..30649)\n OPEN_PAREN: (30630..30631) \"(\"\n SYMBOL: (30631..30632)\n IDENTIFIER: (30631..30632) \"a\"\n ATMOSPHERE: (30632..30633) \" \"\n FORM: (30633..30638)\n OPEN_PAREN: (30633..30634) \"(\"\n SYMBOL: (30634..30635)\n IDENTIFIER: (30634..30635) \"b\"\n ATMOSPHERE: (30635..30636) \" \"\n SYMBOL: (30636..30637)\n IDENTIFIER: (30636..30637) \"c\"\n CLOSE_PAREN: (30637..30638) \")\"\n ATMOSPHERE: (30638..30639) \" \"\n SYMBOL: (30639..30640)\n IDENTIFIER: (30639..30640) \"d\"\n ATMOSPHERE: (30640..30641) \" \"\n FORM: (30641..30648)\n OPEN_PAREN: (30641..30642) \"(\"\n SYMBOL: (30642..30643)\n IDENTIFIER: (30642..30643) \"e\"\n ATMOSPHERE: (30643..30644) \" \"\n FORM: (30644..30647)\n OPEN_PAREN: (30644..30645) \"(\"\n SYMBOL: (30645..30646)\n IDENTIFIER: (30645..30646) \"f\"\n CLOSE_PAREN: (30646..30647) \")\"\n CLOSE_PAREN: (30647..30648) \")\"\n CLOSE_PAREN: (30648..30649) \")\"\n CLOSE_PAREN: (30649..30650) \")\"\n CLOSE_PAREN: (30650..30651) \")\"\n ATMOSPHERE: (30651..30653) \"\n\n\"\n FORM: (30653..30693)\n OPEN_PAREN: (30653..30654) \"(\"\n SYMBOL: (30654..30658)\n IDENTIFIER: (30654..30658) \"test\"\n ATMOSPHERE: (30658..30659) \" \"\n QUOTED_DATUM: (30659..30666)\n QUOTE: (30659..30660) \"'\"\n FORM: (30660..30665)\n OPEN_PAREN: (30660..30661) \"(\"\n SYMBOL: (30661..30662)\n IDENTIFIER: (30661..30662) \"d\"\n ATMOSPHERE: (30662..30663) \" \"\n SYMBOL: (30663..30664)\n IDENTIFIER: (30663..30664) \"e\"\n CLOSE_PAREN: (30664..30665) \")\"\n ATMOSPHERE: (30665..30666) \" \"\n FORM: (30666..30692)\n OPEN_PAREN: (30666..30667) \"(\"\n SYMBOL: (30667..30676)\n IDENTIFIER: (30667..30676) \"list-tail\"\n ATMOSPHERE: (30676..30677) \" \"\n QUOTED_DATUM: (30677..30690)\n QUOTE: (30677..30678) \"'\"\n FORM: (30678..30689)\n OPEN_PAREN: (30678..30679) \"(\"\n SYMBOL: (30679..30680)\n IDENTIFIER: (30679..30680) \"a\"\n ATMOSPHERE: (30680..30681) \" \"\n SYMBOL: (30681..30682)\n IDENTIFIER: (30681..30682) \"b\"\n ATMOSPHERE: (30682..30683) \" \"\n SYMBOL: (30683..30684)\n IDENTIFIER: (30683..30684) \"c\"\n ATMOSPHERE: (30684..30685) \" \"\n SYMBOL: (30685..30686)\n IDENTIFIER: (30685..30686) \"d\"\n ATMOSPHERE: (30686..30687) \" \"\n SYMBOL: (30687..30688)\n IDENTIFIER: (30687..30688) \"e\"\n CLOSE_PAREN: (30688..30689) \")\"\n ATMOSPHERE: (30689..30690) \" \"\n CONSTANT: (30690..30691)\n NUMBER: (30690..30691) \"3\"\n CLOSE_PAREN: (30691..30692) \")\"\n CLOSE_PAREN: (30692..30693) \")\"\n ATMOSPHERE: (30693..30695) \"\n\n\"\n FORM: (30695..30728)\n OPEN_PAREN: (30695..30696) \"(\"\n SYMBOL: (30696..30700)\n IDENTIFIER: (30696..30700) \"test\"\n ATMOSPHERE: (30700..30701) \" \"\n QUOTED_DATUM: (30701..30704)\n QUOTE: (30701..30702) \"'\"\n SYMBOL: (30702..30703)\n IDENTIFIER: (30702..30703) \"c\"\n ATMOSPHERE: (30703..30704) \" \"\n FORM: (30704..30727)\n OPEN_PAREN: (30704..30705) \"(\"\n SYMBOL: (30705..30713)\n IDENTIFIER: (30705..30713) \"list-ref\"\n ATMOSPHERE: (30713..30714) \" \"\n QUOTED_DATUM: (30714..30725)\n QUOTE: (30714..30715) \"'\"\n FORM: (30715..30724)\n OPEN_PAREN: (30715..30716) \"(\"\n SYMBOL: (30716..30717)\n IDENTIFIER: (30716..30717) \"a\"\n ATMOSPHERE: (30717..30718) \" \"\n SYMBOL: (30718..30719)\n IDENTIFIER: (30718..30719) \"b\"\n ATMOSPHERE: (30719..30720) \" \"\n SYMBOL: (30720..30721)\n IDENTIFIER: (30720..30721) \"c\"\n ATMOSPHERE: (30721..30722) \" \"\n SYMBOL: (30722..30723)\n IDENTIFIER: (30722..30723) \"d\"\n CLOSE_PAREN: (30723..30724) \")\"\n ATMOSPHERE: (30724..30725) \" \"\n CONSTANT: (30725..30726)\n NUMBER: (30725..30726) \"2\"\n CLOSE_PAREN: (30726..30727) \")\"\n CLOSE_PAREN: (30727..30728) \")\"\n ATMOSPHERE: (30728..30729) \"\n\"\n ATMOSPHERE: (30729..30761) \";; (test 'c (list-ref '(a b c d)\"\n ATMOSPHERE: (30761..30762) \"\n\"\n ATMOSPHERE: (30762..30831) \";; (exact (round 1.8)))) FIXME: support `round` and `exact`\"\n ATMOSPHERE: (30831..30833) \"\n\n\"\n FORM: (30833..30959)\n OPEN_PAREN: (30833..30834) \"(\"\n SYMBOL: (30834..30838)\n IDENTIFIER: (30834..30838) \"test\"\n ATMOSPHERE: (30838..30839) \" \"\n QUOTED_DATUM: (30839..30869)\n QUOTE: (30839..30840) \"'\"\n FORM: (30840..30864)\n OPEN_PAREN: (30840..30841) \"(\"\n CONSTANT: (30841..30842)\n NUMBER: (30841..30842) \"0\"\n ATMOSPHERE: (30842..30843) \" \"\n FORM: (30843..30856)\n OPEN_PAREN: (30843..30844) \"(\"\n CONSTANT: (30844..30849)\n STRING: (30844..30849) \"\"Sue\"\"\n ATMOSPHERE: (30849..30850) \" \"\n CONSTANT: (30850..30855)\n STRING: (30850..30855) \"\"Sue\"\"\n CLOSE_PAREN: (30855..30856) \")\"\n ATMOSPHERE: (30856..30857) \" \"\n CONSTANT: (30857..30863)\n STRING: (30857..30863) \"\"Anna\"\"\n CLOSE_PAREN: (30863..30864) \")\"\n ATMOSPHERE: (30864..30869) \"\n \"\n FORM: (30869..30958)\n OPEN_PAREN: (30869..30870) \"(\"\n SYMBOL: (30870..30873)\n IDENTIFIER: (30870..30873) \"let\"\n ATMOSPHERE: (30873..30874) \" \"\n FORM: (30874..30908)\n OPEN_PAREN: (30874..30875) \"(\"\n FORM: (30875..30907)\n OPEN_PAREN: (30875..30876) \"(\"\n SYMBOL: (30876..30879)\n IDENTIFIER: (30876..30879) \"lst\"\n ATMOSPHERE: (30879..30880) \" \"\n FORM: (30880..30906)\n OPEN_PAREN: (30880..30881) \"(\"\n SYMBOL: (30881..30885)\n IDENTIFIER: (30881..30885) \"list\"\n ATMOSPHERE: (30885..30886) \" \"\n CONSTANT: (30886..30887)\n NUMBER: (30886..30887) \"0\"\n ATMOSPHERE: (30887..30888) \" \"\n QUOTED_DATUM: (30888..30899)\n QUOTE: (30888..30889) \"'\"\n FORM: (30889..30898)\n OPEN_PAREN: (30889..30890) \"(\"\n CONSTANT: (30890..30891)\n NUMBER: (30890..30891) \"2\"\n ATMOSPHERE: (30891..30892) \" \"\n CONSTANT: (30892..30893)\n NUMBER: (30892..30893) \"2\"\n ATMOSPHERE: (30893..30894) \" \"\n CONSTANT: (30894..30895)\n NUMBER: (30894..30895) \"2\"\n ATMOSPHERE: (30895..30896) \" \"\n CONSTANT: (30896..30897)\n NUMBER: (30896..30897) \"2\"\n CLOSE_PAREN: (30897..30898) \")\"\n ATMOSPHERE: (30898..30899) \" \"\n CONSTANT: (30899..30905)\n STRING: (30899..30905) \"\"Anna\"\"\n CLOSE_PAREN: (30905..30906) \")\"\n CLOSE_PAREN: (30906..30907) \")\"\n CLOSE_PAREN: (30907..30908) \")\"\n ATMOSPHERE: (30908..30915) \"\n \"\n FORM: (30915..30947)\n OPEN_PAREN: (30915..30916) \"(\"\n SYMBOL: (30916..30925)\n IDENTIFIER: (30916..30925) \"list-set!\"\n ATMOSPHERE: (30925..30926) \" \"\n SYMBOL: (30926..30929)\n IDENTIFIER: (30926..30929) \"lst\"\n ATMOSPHERE: (30929..30930) \" \"\n CONSTANT: (30930..30931)\n NUMBER: (30930..30931) \"1\"\n ATMOSPHERE: (30931..30932) \" \"\n QUOTED_DATUM: (30932..30946)\n QUOTE: (30932..30933) \"'\"\n FORM: (30933..30946)\n OPEN_PAREN: (30933..30934) \"(\"\n CONSTANT: (30934..30939)\n STRING: (30934..30939) \"\"Sue\"\"\n ATMOSPHERE: (30939..30940) \" \"\n CONSTANT: (30940..30945)\n STRING: (30940..30945) \"\"Sue\"\"\n CLOSE_PAREN: (30945..30946) \")\"\n CLOSE_PAREN: (30946..30947) \")\"\n ATMOSPHERE: (30947..30954) \"\n \"\n SYMBOL: (30954..30957)\n IDENTIFIER: (30954..30957) \"lst\"\n CLOSE_PAREN: (30957..30958) \")\"\n CLOSE_PAREN: (30958..30959) \")\"\n ATMOSPHERE: (30959..30961) \"\n\n\"\n FORM: (30961..30995)\n OPEN_PAREN: (30961..30962) \"(\"\n SYMBOL: (30962..30966)\n IDENTIFIER: (30962..30966) \"test\"\n ATMOSPHERE: (30966..30967) \" \"\n QUOTED_DATUM: (30967..30976)\n QUOTE: (30967..30968) \"'\"\n FORM: (30968..30975)\n OPEN_PAREN: (30968..30969) \"(\"\n SYMBOL: (30969..30970)\n IDENTIFIER: (30969..30970) \"a\"\n ATMOSPHERE: (30970..30971) \" \"\n SYMBOL: (30971..30972)\n IDENTIFIER: (30971..30972) \"b\"\n ATMOSPHERE: (30972..30973) \" \"\n SYMBOL: (30973..30974)\n IDENTIFIER: (30973..30974) \"c\"\n CLOSE_PAREN: (30974..30975) \")\"\n ATMOSPHERE: (30975..30976) \" \"\n FORM: (30976..30994)\n OPEN_PAREN: (30976..30977) \"(\"\n SYMBOL: (30977..30981)\n IDENTIFIER: (30977..30981) \"memq\"\n ATMOSPHERE: (30981..30982) \" \"\n QUOTED_DATUM: (30982..30985)\n QUOTE: (30982..30983) \"'\"\n SYMBOL: (30983..30984)\n IDENTIFIER: (30983..30984) \"a\"\n ATMOSPHERE: (30984..30985) \" \"\n QUOTED_DATUM: (30985..30993)\n QUOTE: (30985..30986) \"'\"\n FORM: (30986..30993)\n OPEN_PAREN: (30986..30987) \"(\"\n SYMBOL: (30987..30988)\n IDENTIFIER: (30987..30988) \"a\"\n ATMOSPHERE: (30988..30989) \" \"\n SYMBOL: (30989..30990)\n IDENTIFIER: (30989..30990) \"b\"\n ATMOSPHERE: (30990..30991) \" \"\n SYMBOL: (30991..30992)\n IDENTIFIER: (30991..30992) \"c\"\n CLOSE_PAREN: (30992..30993) \")\"\n CLOSE_PAREN: (30993..30994) \")\"\n CLOSE_PAREN: (30994..30995) \")\"\n ATMOSPHERE: (30995..30996) \"\n\"\n FORM: (30996..31028)\n OPEN_PAREN: (30996..30997) \"(\"\n SYMBOL: (30997..31001)\n IDENTIFIER: (30997..31001) \"test\"\n ATMOSPHERE: (31001..31002) \" \"\n QUOTED_DATUM: (31002..31009)\n QUOTE: (31002..31003) \"'\"\n FORM: (31003..31008)\n OPEN_PAREN: (31003..31004) \"(\"\n SYMBOL: (31004..31005)\n IDENTIFIER: (31004..31005) \"b\"\n ATMOSPHERE: (31005..31006) \" \"\n SYMBOL: (31006..31007)\n IDENTIFIER: (31006..31007) \"c\"\n CLOSE_PAREN: (31007..31008) \")\"\n ATMOSPHERE: (31008..31009) \" \"\n FORM: (31009..31027)\n OPEN_PAREN: (31009..31010) \"(\"\n SYMBOL: (31010..31014)\n IDENTIFIER: (31010..31014) \"memq\"\n ATMOSPHERE: (31014..31015) \" \"\n QUOTED_DATUM: (31015..31018)\n QUOTE: (31015..31016) \"'\"\n SYMBOL: (31016..31017)\n IDENTIFIER: (31016..31017) \"b\"\n ATMOSPHERE: (31017..31018) \" \"\n QUOTED_DATUM: (31018..31026)\n QUOTE: (31018..31019) \"'\"\n FORM: (31019..31026)\n OPEN_PAREN: (31019..31020) \"(\"\n SYMBOL: (31020..31021)\n IDENTIFIER: (31020..31021) \"a\"\n ATMOSPHERE: (31021..31022) \" \"\n SYMBOL: (31022..31023)\n IDENTIFIER: (31022..31023) \"b\"\n ATMOSPHERE: (31023..31024) \" \"\n SYMBOL: (31024..31025)\n IDENTIFIER: (31024..31025) \"c\"\n CLOSE_PAREN: (31025..31026) \")\"\n CLOSE_PAREN: (31026..31027) \")\"\n CLOSE_PAREN: (31027..31028) \")\"\n ATMOSPHERE: (31028..31029) \"\n\"\n FORM: (31029..31057)\n OPEN_PAREN: (31029..31030) \"(\"\n SYMBOL: (31030..31034)\n IDENTIFIER: (31030..31034) \"test\"\n ATMOSPHERE: (31034..31035) \" \"\n CONSTANT: (31035..31037)\n BOOLEAN: (31035..31037) \"#f\"\n ATMOSPHERE: (31037..31038) \" \"\n FORM: (31038..31056)\n OPEN_PAREN: (31038..31039) \"(\"\n SYMBOL: (31039..31043)\n IDENTIFIER: (31039..31043) \"memq\"\n ATMOSPHERE: (31043..31044) \" \"\n QUOTED_DATUM: (31044..31047)\n QUOTE: (31044..31045) \"'\"\n SYMBOL: (31045..31046)\n IDENTIFIER: (31045..31046) \"a\"\n ATMOSPHERE: (31046..31047) \" \"\n QUOTED_DATUM: (31047..31055)\n QUOTE: (31047..31048) \"'\"\n FORM: (31048..31055)\n OPEN_PAREN: (31048..31049) \"(\"\n SYMBOL: (31049..31050)\n IDENTIFIER: (31049..31050) \"b\"\n ATMOSPHERE: (31050..31051) \" \"\n SYMBOL: (31051..31052)\n IDENTIFIER: (31051..31052) \"c\"\n ATMOSPHERE: (31052..31053) \" \"\n SYMBOL: (31053..31054)\n IDENTIFIER: (31053..31054) \"d\"\n CLOSE_PAREN: (31054..31055) \")\"\n CLOSE_PAREN: (31055..31056) \")\"\n CLOSE_PAREN: (31056..31057) \")\"\n ATMOSPHERE: (31057..31058) \"\n\"\n FORM: (31058..31095)\n OPEN_PAREN: (31058..31059) \"(\"\n SYMBOL: (31059..31063)\n IDENTIFIER: (31059..31063) \"test\"\n ATMOSPHERE: (31063..31064) \" \"\n CONSTANT: (31064..31066)\n BOOLEAN: (31064..31066) \"#f\"\n ATMOSPHERE: (31066..31067) \" \"\n FORM: (31067..31094)\n OPEN_PAREN: (31067..31068) \"(\"\n SYMBOL: (31068..31072)\n IDENTIFIER: (31068..31072) \"memq\"\n ATMOSPHERE: (31072..31073) \" \"\n FORM: (31073..31082)\n OPEN_PAREN: (31073..31074) \"(\"\n SYMBOL: (31074..31078)\n IDENTIFIER: (31074..31078) \"list\"\n ATMOSPHERE: (31078..31079) \" \"\n QUOTED_DATUM: (31079..31081)\n QUOTE: (31079..31080) \"'\"\n SYMBOL: (31080..31081)\n IDENTIFIER: (31080..31081) \"a\"\n CLOSE_PAREN: (31081..31082) \")\"\n ATMOSPHERE: (31082..31083) \" \"\n QUOTED_DATUM: (31083..31093)\n QUOTE: (31083..31084) \"'\"\n FORM: (31084..31093)\n OPEN_PAREN: (31084..31085) \"(\"\n SYMBOL: (31085..31086)\n IDENTIFIER: (31085..31086) \"b\"\n ATMOSPHERE: (31086..31087) \" \"\n FORM: (31087..31090)\n OPEN_PAREN: (31087..31088) \"(\"\n SYMBOL: (31088..31089)\n IDENTIFIER: (31088..31089) \"a\"\n CLOSE_PAREN: (31089..31090) \")\"\n ATMOSPHERE: (31090..31091) \" \"\n SYMBOL: (31091..31092)\n IDENTIFIER: (31091..31092) \"c\"\n CLOSE_PAREN: (31092..31093) \")\"\n CLOSE_PAREN: (31093..31094) \")\"\n CLOSE_PAREN: (31094..31095) \")\"\n ATMOSPHERE: (31095..31096) \"\n\"\n FORM: (31096..31141)\n OPEN_PAREN: (31096..31097) \"(\"\n SYMBOL: (31097..31101)\n IDENTIFIER: (31097..31101) \"test\"\n ATMOSPHERE: (31101..31102) \" \"\n QUOTED_DATUM: (31102..31111)\n QUOTE: (31102..31103) \"'\"\n FORM: (31103..31110)\n OPEN_PAREN: (31103..31104) \"(\"\n FORM: (31104..31107)\n OPEN_PAREN: (31104..31105) \"(\"\n SYMBOL: (31105..31106)\n IDENTIFIER: (31105..31106) \"a\"\n CLOSE_PAREN: (31106..31107) \")\"\n ATMOSPHERE: (31107..31108) \" \"\n SYMBOL: (31108..31109)\n IDENTIFIER: (31108..31109) \"c\"\n CLOSE_PAREN: (31109..31110) \")\"\n ATMOSPHERE: (31110..31111) \" \"\n FORM: (31111..31140)\n OPEN_PAREN: (31111..31112) \"(\"\n SYMBOL: (31112..31118)\n IDENTIFIER: (31112..31118) \"member\"\n ATMOSPHERE: (31118..31119) \" \"\n FORM: (31119..31128)\n OPEN_PAREN: (31119..31120) \"(\"\n SYMBOL: (31120..31124)\n IDENTIFIER: (31120..31124) \"list\"\n ATMOSPHERE: (31124..31125) \" \"\n QUOTED_DATUM: (31125..31127)\n QUOTE: (31125..31126) \"'\"\n SYMBOL: (31126..31127)\n IDENTIFIER: (31126..31127) \"a\"\n CLOSE_PAREN: (31127..31128) \")\"\n ATMOSPHERE: (31128..31129) \" \"\n QUOTED_DATUM: (31129..31139)\n QUOTE: (31129..31130) \"'\"\n FORM: (31130..31139)\n OPEN_PAREN: (31130..31131) \"(\"\n SYMBOL: (31131..31132)\n IDENTIFIER: (31131..31132) \"b\"\n ATMOSPHERE: (31132..31133) \" \"\n FORM: (31133..31136)\n OPEN_PAREN: (31133..31134) \"(\"\n SYMBOL: (31134..31135)\n IDENTIFIER: (31134..31135) \"a\"\n CLOSE_PAREN: (31135..31136) \")\"\n ATMOSPHERE: (31136..31137) \" \"\n SYMBOL: (31137..31138)\n IDENTIFIER: (31137..31138) \"c\"\n CLOSE_PAREN: (31138..31139) \")\"\n CLOSE_PAREN: (31139..31140) \")\"\n CLOSE_PAREN: (31140..31141) \")\"\n ATMOSPHERE: (31141..31142) \"\n\"\n ATMOSPHERE: (31142..31201) \"; (test '(\"b\" \"c\") (member \"B\" '(\"a\" \"b\" \"c\") string-ci=?))\"\n ATMOSPHERE: (31201..31202) \"\n\"\n FORM: (31202..31257)\n OPEN_PAREN: (31202..31203) \"(\"\n SYMBOL: (31203..31207)\n IDENTIFIER: (31203..31207) \"test\"\n ATMOSPHERE: (31207..31208) \" \"\n QUOTED_DATUM: (31208..31219)\n QUOTE: (31208..31209) \"'\"\n FORM: (31209..31218)\n OPEN_PAREN: (31209..31210) \"(\"\n CONSTANT: (31210..31213)\n CHARACTER: (31210..31213) \"#\\b\"\n ATMOSPHERE: (31213..31214) \" \"\n CONSTANT: (31214..31217)\n CHARACTER: (31214..31217) \"#\\c\"\n CLOSE_PAREN: (31217..31218) \")\"\n ATMOSPHERE: (31218..31219) \" \"\n FORM: (31219..31256)\n OPEN_PAREN: (31219..31220) \"(\"\n SYMBOL: (31220..31226)\n IDENTIFIER: (31220..31226) \"member\"\n ATMOSPHERE: (31226..31227) \" \"\n CONSTANT: (31227..31230)\n CHARACTER: (31227..31230) \"#\\B\"\n ATMOSPHERE: (31230..31231) \" \"\n QUOTED_DATUM: (31231..31246)\n QUOTE: (31231..31232) \"'\"\n FORM: (31232..31245)\n OPEN_PAREN: (31232..31233) \"(\"\n CONSTANT: (31233..31236)\n CHARACTER: (31233..31236) \"#\\a\"\n ATMOSPHERE: (31236..31237) \" \"\n CONSTANT: (31237..31240)\n CHARACTER: (31237..31240) \"#\\b\"\n ATMOSPHERE: (31240..31241) \" \"\n CONSTANT: (31241..31244)\n CHARACTER: (31241..31244) \"#\\c\"\n CLOSE_PAREN: (31244..31245) \")\"\n ATMOSPHERE: (31245..31246) \" \"\n SYMBOL: (31246..31255)\n IDENTIFIER: (31246..31255) \"char-ci=?\"\n CLOSE_PAREN: (31255..31256) \")\"\n CLOSE_PAREN: (31256..31257) \")\"\n ATMOSPHERE: (31257..31258) \"\n\"\n FORM: (31258..31301)\n OPEN_PAREN: (31258..31259) \"(\"\n SYMBOL: (31259..31263)\n IDENTIFIER: (31259..31263) \"test\"\n ATMOSPHERE: (31263..31264) \" \"\n QUOTED_DATUM: (31264..31275)\n QUOTE: (31264..31265) \"'\"\n FORM: (31265..31274)\n OPEN_PAREN: (31265..31266) \"(\"\n CONSTANT: (31266..31269)\n NUMBER: (31266..31269) \"101\"\n ATMOSPHERE: (31269..31270) \" \"\n CONSTANT: (31270..31273)\n NUMBER: (31270..31273) \"102\"\n CLOSE_PAREN: (31273..31274) \")\"\n ATMOSPHERE: (31274..31275) \" \"\n FORM: (31275..31300)\n OPEN_PAREN: (31275..31276) \"(\"\n SYMBOL: (31276..31280)\n IDENTIFIER: (31276..31280) \"memv\"\n ATMOSPHERE: (31280..31281) \" \"\n CONSTANT: (31281..31284)\n NUMBER: (31281..31284) \"101\"\n ATMOSPHERE: (31284..31285) \" \"\n QUOTED_DATUM: (31285..31299)\n QUOTE: (31285..31286) \"'\"\n FORM: (31286..31299)\n OPEN_PAREN: (31286..31287) \"(\"\n CONSTANT: (31287..31290)\n NUMBER: (31287..31290) \"100\"\n ATMOSPHERE: (31290..31291) \" \"\n CONSTANT: (31291..31294)\n NUMBER: (31291..31294) \"101\"\n ATMOSPHERE: (31294..31295) \" \"\n CONSTANT: (31295..31298)\n NUMBER: (31295..31298) \"102\"\n CLOSE_PAREN: (31298..31299) \")\"\n CLOSE_PAREN: (31299..31300) \")\"\n CLOSE_PAREN: (31300..31301) \")\"\n ATMOSPHERE: (31301..31303) \"\n\n\"\n FORM: (31303..31425)\n OPEN_PAREN: (31303..31304) \"(\"\n SYMBOL: (31304..31307)\n IDENTIFIER: (31304..31307) \"let\"\n ATMOSPHERE: (31307..31308) \" \"\n FORM: (31308..31310)\n OPEN_PAREN: (31308..31309) \"(\"\n CLOSE_PAREN: (31309..31310) \")\"\n ATMOSPHERE: (31310..31313) \"\n \"\n FORM: (31313..31344)\n OPEN_PAREN: (31313..31314) \"(\"\n SYMBOL: (31314..31320)\n IDENTIFIER: (31314..31320) \"define\"\n ATMOSPHERE: (31320..31321) \" \"\n SYMBOL: (31321..31322)\n IDENTIFIER: (31321..31322) \"e\"\n ATMOSPHERE: (31322..31323) \" \"\n QUOTED_DATUM: (31323..31343)\n QUOTE: (31323..31324) \"'\"\n FORM: (31324..31343)\n OPEN_PAREN: (31324..31325) \"(\"\n FORM: (31325..31330)\n OPEN_PAREN: (31325..31326) \"(\"\n SYMBOL: (31326..31327)\n IDENTIFIER: (31326..31327) \"a\"\n ATMOSPHERE: (31327..31328) \" \"\n CONSTANT: (31328..31329)\n NUMBER: (31328..31329) \"1\"\n CLOSE_PAREN: (31329..31330) \")\"\n ATMOSPHERE: (31330..31331) \" \"\n FORM: (31331..31336)\n OPEN_PAREN: (31331..31332) \"(\"\n SYMBOL: (31332..31333)\n IDENTIFIER: (31332..31333) \"b\"\n ATMOSPHERE: (31333..31334) \" \"\n CONSTANT: (31334..31335)\n NUMBER: (31334..31335) \"2\"\n CLOSE_PAREN: (31335..31336) \")\"\n ATMOSPHERE: (31336..31337) \" \"\n FORM: (31337..31342)\n OPEN_PAREN: (31337..31338) \"(\"\n SYMBOL: (31338..31339)\n IDENTIFIER: (31338..31339) \"c\"\n ATMOSPHERE: (31339..31340) \" \"\n CONSTANT: (31340..31341)\n NUMBER: (31340..31341) \"3\"\n CLOSE_PAREN: (31341..31342) \")\"\n CLOSE_PAREN: (31342..31343) \")\"\n CLOSE_PAREN: (31343..31344) \")\"\n ATMOSPHERE: (31344..31347) \"\n \"\n FORM: (31347..31372)\n OPEN_PAREN: (31347..31348) \"(\"\n SYMBOL: (31348..31352)\n IDENTIFIER: (31348..31352) \"test\"\n ATMOSPHERE: (31352..31353) \" \"\n QUOTED_DATUM: (31353..31360)\n QUOTE: (31353..31354) \"'\"\n FORM: (31354..31359)\n OPEN_PAREN: (31354..31355) \"(\"\n SYMBOL: (31355..31356)\n IDENTIFIER: (31355..31356) \"a\"\n ATMOSPHERE: (31356..31357) \" \"\n CONSTANT: (31357..31358)\n NUMBER: (31357..31358) \"1\"\n CLOSE_PAREN: (31358..31359) \")\"\n ATMOSPHERE: (31359..31360) \" \"\n FORM: (31360..31371)\n OPEN_PAREN: (31360..31361) \"(\"\n SYMBOL: (31361..31365)\n IDENTIFIER: (31361..31365) \"assq\"\n ATMOSPHERE: (31365..31366) \" \"\n QUOTED_DATUM: (31366..31369)\n QUOTE: (31366..31367) \"'\"\n SYMBOL: (31367..31368)\n IDENTIFIER: (31367..31368) \"a\"\n ATMOSPHERE: (31368..31369) \" \"\n SYMBOL: (31369..31370)\n IDENTIFIER: (31369..31370) \"e\"\n CLOSE_PAREN: (31370..31371) \")\"\n CLOSE_PAREN: (31371..31372) \")\"\n ATMOSPHERE: (31372..31375) \"\n \"\n FORM: (31375..31400)\n OPEN_PAREN: (31375..31376) \"(\"\n SYMBOL: (31376..31380)\n IDENTIFIER: (31376..31380) \"test\"\n ATMOSPHERE: (31380..31381) \" \"\n QUOTED_DATUM: (31381..31388)\n QUOTE: (31381..31382) \"'\"\n FORM: (31382..31387)\n OPEN_PAREN: (31382..31383) \"(\"\n SYMBOL: (31383..31384)\n IDENTIFIER: (31383..31384) \"b\"\n ATMOSPHERE: (31384..31385) \" \"\n CONSTANT: (31385..31386)\n NUMBER: (31385..31386) \"2\"\n CLOSE_PAREN: (31386..31387) \")\"\n ATMOSPHERE: (31387..31388) \" \"\n FORM: (31388..31399)\n OPEN_PAREN: (31388..31389) \"(\"\n SYMBOL: (31389..31393)\n IDENTIFIER: (31389..31393) \"assq\"\n ATMOSPHERE: (31393..31394) \" \"\n QUOTED_DATUM: (31394..31397)\n QUOTE: (31394..31395) \"'\"\n SYMBOL: (31395..31396)\n IDENTIFIER: (31395..31396) \"b\"\n ATMOSPHERE: (31396..31397) \" \"\n SYMBOL: (31397..31398)\n IDENTIFIER: (31397..31398) \"e\"\n CLOSE_PAREN: (31398..31399) \")\"\n CLOSE_PAREN: (31399..31400) \")\"\n ATMOSPHERE: (31400..31403) \"\n \"\n FORM: (31403..31424)\n OPEN_PAREN: (31403..31404) \"(\"\n SYMBOL: (31404..31408)\n IDENTIFIER: (31404..31408) \"test\"\n ATMOSPHERE: (31408..31409) \" \"\n CONSTANT: (31409..31411)\n BOOLEAN: (31409..31411) \"#f\"\n ATMOSPHERE: (31411..31412) \" \"\n FORM: (31412..31423)\n OPEN_PAREN: (31412..31413) \"(\"\n SYMBOL: (31413..31417)\n IDENTIFIER: (31413..31417) \"assq\"\n ATMOSPHERE: (31417..31418) \" \"\n QUOTED_DATUM: (31418..31421)\n QUOTE: (31418..31419) \"'\"\n SYMBOL: (31419..31420)\n IDENTIFIER: (31419..31420) \"d\"\n ATMOSPHERE: (31420..31421) \" \"\n SYMBOL: (31421..31422)\n IDENTIFIER: (31421..31422) \"e\"\n CLOSE_PAREN: (31422..31423) \")\"\n CLOSE_PAREN: (31423..31424) \")\"\n CLOSE_PAREN: (31424..31425) \")\"\n ATMOSPHERE: (31425..31427) \"\n\n\"\n FORM: (31427..31474)\n OPEN_PAREN: (31427..31428) \"(\"\n SYMBOL: (31428..31432)\n IDENTIFIER: (31428..31432) \"test\"\n ATMOSPHERE: (31432..31433) \" \"\n CONSTANT: (31433..31435)\n BOOLEAN: (31433..31435) \"#f\"\n ATMOSPHERE: (31435..31436) \" \"\n FORM: (31436..31473)\n OPEN_PAREN: (31436..31437) \"(\"\n SYMBOL: (31437..31441)\n IDENTIFIER: (31437..31441) \"assq\"\n ATMOSPHERE: (31441..31442) \" \"\n FORM: (31442..31451)\n OPEN_PAREN: (31442..31443) \"(\"\n SYMBOL: (31443..31447)\n IDENTIFIER: (31443..31447) \"list\"\n ATMOSPHERE: (31447..31448) \" \"\n QUOTED_DATUM: (31448..31450)\n QUOTE: (31448..31449) \"'\"\n SYMBOL: (31449..31450)\n IDENTIFIER: (31449..31450) \"a\"\n CLOSE_PAREN: (31450..31451) \")\"\n ATMOSPHERE: (31451..31452) \" \"\n QUOTED_DATUM: (31452..31472)\n QUOTE: (31452..31453) \"'\"\n FORM: (31453..31472)\n OPEN_PAREN: (31453..31454) \"(\"\n FORM: (31454..31459)\n OPEN_PAREN: (31454..31455) \"(\"\n FORM: (31455..31458)\n OPEN_PAREN: (31455..31456) \"(\"\n SYMBOL: (31456..31457)\n IDENTIFIER: (31456..31457) \"a\"\n CLOSE_PAREN: (31457..31458) \")\"\n CLOSE_PAREN: (31458..31459) \")\"\n ATMOSPHERE: (31459..31460) \" \"\n FORM: (31460..31465)\n OPEN_PAREN: (31460..31461) \"(\"\n FORM: (31461..31464)\n OPEN_PAREN: (31461..31462) \"(\"\n SYMBOL: (31462..31463)\n IDENTIFIER: (31462..31463) \"b\"\n CLOSE_PAREN: (31463..31464) \")\"\n CLOSE_PAREN: (31464..31465) \")\"\n ATMOSPHERE: (31465..31466) \" \"\n FORM: (31466..31471)\n OPEN_PAREN: (31466..31467) \"(\"\n FORM: (31467..31470)\n OPEN_PAREN: (31467..31468) \"(\"\n SYMBOL: (31468..31469)\n IDENTIFIER: (31468..31469) \"c\"\n CLOSE_PAREN: (31469..31470) \")\"\n CLOSE_PAREN: (31470..31471) \")\"\n CLOSE_PAREN: (31471..31472) \")\"\n CLOSE_PAREN: (31472..31473) \")\"\n CLOSE_PAREN: (31473..31474) \")\"\n ATMOSPHERE: (31474..31475) \"\n\"\n FORM: (31475..31527)\n OPEN_PAREN: (31475..31476) \"(\"\n SYMBOL: (31476..31480)\n IDENTIFIER: (31476..31480) \"test\"\n ATMOSPHERE: (31480..31481) \" \"\n QUOTED_DATUM: (31481..31488)\n QUOTE: (31481..31482) \"'\"\n FORM: (31482..31487)\n OPEN_PAREN: (31482..31483) \"(\"\n FORM: (31483..31486)\n OPEN_PAREN: (31483..31484) \"(\"\n SYMBOL: (31484..31485)\n IDENTIFIER: (31484..31485) \"a\"\n CLOSE_PAREN: (31485..31486) \")\"\n CLOSE_PAREN: (31486..31487) \")\"\n ATMOSPHERE: (31487..31488) \" \"\n FORM: (31488..31526)\n OPEN_PAREN: (31488..31489) \"(\"\n SYMBOL: (31489..31494)\n IDENTIFIER: (31489..31494) \"assoc\"\n ATMOSPHERE: (31494..31495) \" \"\n FORM: (31495..31504)\n OPEN_PAREN: (31495..31496) \"(\"\n SYMBOL: (31496..31500)\n IDENTIFIER: (31496..31500) \"list\"\n ATMOSPHERE: (31500..31501) \" \"\n QUOTED_DATUM: (31501..31503)\n QUOTE: (31501..31502) \"'\"\n SYMBOL: (31502..31503)\n IDENTIFIER: (31502..31503) \"a\"\n CLOSE_PAREN: (31503..31504) \")\"\n ATMOSPHERE: (31504..31505) \" \"\n QUOTED_DATUM: (31505..31525)\n QUOTE: (31505..31506) \"'\"\n FORM: (31506..31525)\n OPEN_PAREN: (31506..31507) \"(\"\n FORM: (31507..31512)\n OPEN_PAREN: (31507..31508) \"(\"\n FORM: (31508..31511)\n OPEN_PAREN: (31508..31509) \"(\"\n SYMBOL: (31509..31510)\n IDENTIFIER: (31509..31510) \"a\"\n CLOSE_PAREN: (31510..31511) \")\"\n CLOSE_PAREN: (31511..31512) \")\"\n ATMOSPHERE: (31512..31513) \" \"\n FORM: (31513..31518)\n OPEN_PAREN: (31513..31514) \"(\"\n FORM: (31514..31517)\n OPEN_PAREN: (31514..31515) \"(\"\n SYMBOL: (31515..31516)\n IDENTIFIER: (31515..31516) \"b\"\n CLOSE_PAREN: (31516..31517) \")\"\n CLOSE_PAREN: (31517..31518) \")\"\n ATMOSPHERE: (31518..31519) \" \"\n FORM: (31519..31524)\n OPEN_PAREN: (31519..31520) \"(\"\n FORM: (31520..31523)\n OPEN_PAREN: (31520..31521) \"(\"\n SYMBOL: (31521..31522)\n IDENTIFIER: (31521..31522) \"c\"\n CLOSE_PAREN: (31522..31523) \")\"\n CLOSE_PAREN: (31523..31524) \")\"\n CLOSE_PAREN: (31524..31525) \")\"\n CLOSE_PAREN: (31525..31526) \")\"\n CLOSE_PAREN: (31526..31527) \")\"\n ATMOSPHERE: (31527..31528) \"\n\"\n FORM: (31528..31576)\n OPEN_PAREN: (31528..31529) \"(\"\n SYMBOL: (31529..31533)\n IDENTIFIER: (31529..31533) \"test\"\n ATMOSPHERE: (31533..31534) \" \"\n QUOTED_DATUM: (31534..31541)\n QUOTE: (31534..31535) \"'\"\n FORM: (31535..31540)\n OPEN_PAREN: (31535..31536) \"(\"\n CONSTANT: (31536..31537)\n NUMBER: (31536..31537) \"2\"\n ATMOSPHERE: (31537..31538) \" \"\n CONSTANT: (31538..31539)\n NUMBER: (31538..31539) \"4\"\n CLOSE_PAREN: (31539..31540) \")\"\n ATMOSPHERE: (31540..31541) \" \"\n FORM: (31541..31575)\n OPEN_PAREN: (31541..31542) \"(\"\n SYMBOL: (31542..31547)\n IDENTIFIER: (31542..31547) \"assoc\"\n ATMOSPHERE: (31547..31548) \" \"\n CONSTANT: (31548..31551)\n NUMBER: (31548..31551) \"2.0\"\n ATMOSPHERE: (31551..31552) \" \"\n QUOTED_DATUM: (31552..31573)\n QUOTE: (31552..31553) \"'\"\n FORM: (31553..31572)\n OPEN_PAREN: (31553..31554) \"(\"\n FORM: (31554..31559)\n OPEN_PAREN: (31554..31555) \"(\"\n CONSTANT: (31555..31556)\n NUMBER: (31555..31556) \"1\"\n ATMOSPHERE: (31556..31557) \" \"\n CONSTANT: (31557..31558)\n NUMBER: (31557..31558) \"1\"\n CLOSE_PAREN: (31558..31559) \")\"\n ATMOSPHERE: (31559..31560) \" \"\n FORM: (31560..31565)\n OPEN_PAREN: (31560..31561) \"(\"\n CONSTANT: (31561..31562)\n NUMBER: (31561..31562) \"2\"\n ATMOSPHERE: (31562..31563) \" \"\n CONSTANT: (31563..31564)\n NUMBER: (31563..31564) \"4\"\n CLOSE_PAREN: (31564..31565) \")\"\n ATMOSPHERE: (31565..31566) \" \"\n FORM: (31566..31571)\n OPEN_PAREN: (31566..31567) \"(\"\n CONSTANT: (31567..31568)\n NUMBER: (31567..31568) \"3\"\n ATMOSPHERE: (31568..31569) \" \"\n CONSTANT: (31569..31570)\n NUMBER: (31569..31570) \"9\"\n CLOSE_PAREN: (31570..31571) \")\"\n CLOSE_PAREN: (31571..31572) \")\"\n ATMOSPHERE: (31572..31573) \" \"\n SYMBOL: (31573..31574)\n IDENTIFIER: (31573..31574) \"=\"\n CLOSE_PAREN: (31574..31575) \")\"\n CLOSE_PAREN: (31575..31576) \")\"\n ATMOSPHERE: (31576..31577) \"\n\"\n FORM: (31577..31622)\n OPEN_PAREN: (31577..31578) \"(\"\n SYMBOL: (31578..31582)\n IDENTIFIER: (31578..31582) \"test\"\n ATMOSPHERE: (31582..31583) \" \"\n QUOTED_DATUM: (31583..31590)\n QUOTE: (31583..31584) \"'\"\n FORM: (31584..31589)\n OPEN_PAREN: (31584..31585) \"(\"\n CONSTANT: (31585..31586)\n NUMBER: (31585..31586) \"5\"\n ATMOSPHERE: (31586..31587) \" \"\n CONSTANT: (31587..31588)\n NUMBER: (31587..31588) \"7\"\n CLOSE_PAREN: (31588..31589) \")\"\n ATMOSPHERE: (31589..31590) \" \"\n FORM: (31590..31621)\n OPEN_PAREN: (31590..31591) \"(\"\n SYMBOL: (31591..31595)\n IDENTIFIER: (31591..31595) \"assv\"\n ATMOSPHERE: (31595..31596) \" \"\n CONSTANT: (31596..31597)\n NUMBER: (31596..31597) \"5\"\n ATMOSPHERE: (31597..31598) \" \"\n QUOTED_DATUM: (31598..31620)\n QUOTE: (31598..31599) \"'\"\n FORM: (31599..31620)\n OPEN_PAREN: (31599..31600) \"(\"\n FORM: (31600..31605)\n OPEN_PAREN: (31600..31601) \"(\"\n CONSTANT: (31601..31602)\n NUMBER: (31601..31602) \"2\"\n ATMOSPHERE: (31602..31603) \" \"\n CONSTANT: (31603..31604)\n NUMBER: (31603..31604) \"3\"\n CLOSE_PAREN: (31604..31605) \")\"\n ATMOSPHERE: (31605..31606) \" \"\n FORM: (31606..31611)\n OPEN_PAREN: (31606..31607) \"(\"\n CONSTANT: (31607..31608)\n NUMBER: (31607..31608) \"5\"\n ATMOSPHERE: (31608..31609) \" \"\n CONSTANT: (31609..31610)\n NUMBER: (31609..31610) \"7\"\n CLOSE_PAREN: (31610..31611) \")\"\n ATMOSPHERE: (31611..31612) \" \"\n FORM: (31612..31619)\n OPEN_PAREN: (31612..31613) \"(\"\n CONSTANT: (31613..31615)\n NUMBER: (31613..31615) \"11\"\n ATMOSPHERE: (31615..31616) \" \"\n CONSTANT: (31616..31618)\n NUMBER: (31616..31618) \"13\"\n CLOSE_PAREN: (31618..31619) \")\"\n CLOSE_PAREN: (31619..31620) \")\"\n CLOSE_PAREN: (31620..31621) \")\"\n CLOSE_PAREN: (31621..31622) \")\"\n ATMOSPHERE: (31622..31624) \"\n\n\"\n FORM: (31624..31660)\n OPEN_PAREN: (31624..31625) \"(\"\n SYMBOL: (31625..31629)\n IDENTIFIER: (31625..31629) \"test\"\n ATMOSPHERE: (31629..31630) \" \"\n QUOTED_DATUM: (31630..31639)\n QUOTE: (31630..31631) \"'\"\n FORM: (31631..31638)\n OPEN_PAREN: (31631..31632) \"(\"\n CONSTANT: (31632..31633)\n NUMBER: (31632..31633) \"1\"\n ATMOSPHERE: (31633..31634) \" \"\n CONSTANT: (31634..31635)\n NUMBER: (31634..31635) \"2\"\n ATMOSPHERE: (31635..31636) \" \"\n CONSTANT: (31636..31637)\n NUMBER: (31636..31637) \"3\"\n CLOSE_PAREN: (31637..31638) \")\"\n ATMOSPHERE: (31638..31639) \" \"\n FORM: (31639..31659)\n OPEN_PAREN: (31639..31640) \"(\"\n SYMBOL: (31640..31649)\n IDENTIFIER: (31640..31649) \"list-copy\"\n ATMOSPHERE: (31649..31650) \" \"\n QUOTED_DATUM: (31650..31658)\n QUOTE: (31650..31651) \"'\"\n FORM: (31651..31658)\n OPEN_PAREN: (31651..31652) \"(\"\n CONSTANT: (31652..31653)\n NUMBER: (31652..31653) \"1\"\n ATMOSPHERE: (31653..31654) \" \"\n CONSTANT: (31654..31655)\n NUMBER: (31654..31655) \"2\"\n ATMOSPHERE: (31655..31656) \" \"\n CONSTANT: (31656..31657)\n NUMBER: (31656..31657) \"3\"\n CLOSE_PAREN: (31657..31658) \")\"\n CLOSE_PAREN: (31658..31659) \")\"\n CLOSE_PAREN: (31659..31660) \")\"\n ATMOSPHERE: (31660..31661) \"\n\"\n FORM: (31661..31691)\n OPEN_PAREN: (31661..31662) \"(\"\n SYMBOL: (31662..31666)\n IDENTIFIER: (31662..31666) \"test\"\n ATMOSPHERE: (31666..31667) \" \"\n CONSTANT: (31667..31672)\n STRING: (31667..31672) \"\"foo\"\"\n ATMOSPHERE: (31672..31673) \" \"\n FORM: (31673..31690)\n OPEN_PAREN: (31673..31674) \"(\"\n SYMBOL: (31674..31683)\n IDENTIFIER: (31674..31683) \"list-copy\"\n ATMOSPHERE: (31683..31684) \" \"\n CONSTANT: (31684..31689)\n STRING: (31684..31689) \"\"foo\"\"\n CLOSE_PAREN: (31689..31690) \")\"\n CLOSE_PAREN: (31690..31691) \")\"\n ATMOSPHERE: (31691..31692) \"\n\"\n FORM: (31692..31718)\n OPEN_PAREN: (31692..31693) \"(\"\n SYMBOL: (31693..31697)\n IDENTIFIER: (31693..31697) \"test\"\n ATMOSPHERE: (31697..31698) \" \"\n QUOTED_DATUM: (31698..31702)\n QUOTE: (31698..31699) \"'\"\n FORM: (31699..31701)\n OPEN_PAREN: (31699..31700) \"(\"\n CLOSE_PAREN: (31700..31701) \")\"\n ATMOSPHERE: (31701..31702) \" \"\n FORM: (31702..31717)\n OPEN_PAREN: (31702..31703) \"(\"\n SYMBOL: (31703..31712)\n IDENTIFIER: (31703..31712) \"list-copy\"\n ATMOSPHERE: (31712..31713) \" \"\n QUOTED_DATUM: (31713..31716)\n QUOTE: (31713..31714) \"'\"\n FORM: (31714..31716)\n OPEN_PAREN: (31714..31715) \"(\"\n CLOSE_PAREN: (31715..31716) \")\"\n CLOSE_PAREN: (31716..31717) \")\"\n CLOSE_PAREN: (31717..31718) \")\"\n ATMOSPHERE: (31718..31719) \"\n\"\n FORM: (31719..31755)\n OPEN_PAREN: (31719..31720) \"(\"\n SYMBOL: (31720..31724)\n IDENTIFIER: (31720..31724) \"test\"\n ATMOSPHERE: (31724..31725) \" \"\n QUOTED_DATUM: (31725..31734)\n QUOTE: (31725..31726) \"'\"\n FORM: (31726..31733)\n OPEN_PAREN: (31726..31727) \"(\"\n CONSTANT: (31727..31728)\n NUMBER: (31727..31728) \"3\"\n ATMOSPHERE: (31728..31729) \" \"\n DOTTED_TAIL: (31729..31732)\n DOT: (31729..31730) \".\"\n ATMOSPHERE: (31730..31731) \" \"\n CONSTANT: (31731..31732)\n NUMBER: (31731..31732) \"4\"\n CLOSE_PAREN: (31732..31733) \")\"\n ATMOSPHERE: (31733..31734) \" \"\n FORM: (31734..31754)\n OPEN_PAREN: (31734..31735) \"(\"\n SYMBOL: (31735..31744)\n IDENTIFIER: (31735..31744) \"list-copy\"\n ATMOSPHERE: (31744..31745) \" \"\n QUOTED_DATUM: (31745..31753)\n QUOTE: (31745..31746) \"'\"\n FORM: (31746..31753)\n OPEN_PAREN: (31746..31747) \"(\"\n CONSTANT: (31747..31748)\n NUMBER: (31747..31748) \"3\"\n ATMOSPHERE: (31748..31749) \" \"\n DOTTED_TAIL: (31749..31752)\n DOT: (31749..31750) \".\"\n ATMOSPHERE: (31750..31751) \" \"\n CONSTANT: (31751..31752)\n NUMBER: (31751..31752) \"4\"\n CLOSE_PAREN: (31752..31753) \")\"\n CLOSE_PAREN: (31753..31754) \")\"\n CLOSE_PAREN: (31754..31755) \")\"\n ATMOSPHERE: (31755..31756) \"\n\"\n FORM: (31756..31800)\n OPEN_PAREN: (31756..31757) \"(\"\n SYMBOL: (31757..31761)\n IDENTIFIER: (31757..31761) \"test\"\n ATMOSPHERE: (31761..31762) \" \"\n QUOTED_DATUM: (31762..31775)\n QUOTE: (31762..31763) \"'\"\n FORM: (31763..31774)\n OPEN_PAREN: (31763..31764) \"(\"\n CONSTANT: (31764..31765)\n NUMBER: (31764..31765) \"6\"\n ATMOSPHERE: (31765..31766) \" \"\n CONSTANT: (31766..31767)\n NUMBER: (31766..31767) \"7\"\n ATMOSPHERE: (31767..31768) \" \"\n CONSTANT: (31768..31769)\n NUMBER: (31768..31769) \"8\"\n ATMOSPHERE: (31769..31770) \" \"\n DOTTED_TAIL: (31770..31773)\n DOT: (31770..31771) \".\"\n ATMOSPHERE: (31771..31772) \" \"\n CONSTANT: (31772..31773)\n NUMBER: (31772..31773) \"9\"\n CLOSE_PAREN: (31773..31774) \")\"\n ATMOSPHERE: (31774..31775) \" \"\n FORM: (31775..31799)\n OPEN_PAREN: (31775..31776) \"(\"\n SYMBOL: (31776..31785)\n IDENTIFIER: (31776..31785) \"list-copy\"\n ATMOSPHERE: (31785..31786) \" \"\n QUOTED_DATUM: (31786..31798)\n QUOTE: (31786..31787) \"'\"\n FORM: (31787..31798)\n OPEN_PAREN: (31787..31788) \"(\"\n CONSTANT: (31788..31789)\n NUMBER: (31788..31789) \"6\"\n ATMOSPHERE: (31789..31790) \" \"\n CONSTANT: (31790..31791)\n NUMBER: (31790..31791) \"7\"\n ATMOSPHERE: (31791..31792) \" \"\n CONSTANT: (31792..31793)\n NUMBER: (31792..31793) \"8\"\n ATMOSPHERE: (31793..31794) \" \"\n DOTTED_TAIL: (31794..31797)\n DOT: (31794..31795) \".\"\n ATMOSPHERE: (31795..31796) \" \"\n CONSTANT: (31796..31797)\n NUMBER: (31796..31797) \"9\"\n CLOSE_PAREN: (31797..31798) \")\"\n CLOSE_PAREN: (31798..31799) \")\"\n CLOSE_PAREN: (31799..31800) \")\"\n ATMOSPHERE: (31800..31801) \"\n\"\n FORM: (31801..32035)\n OPEN_PAREN: (31801..31802) \"(\"\n SYMBOL: (31802..31806)\n IDENTIFIER: (31802..31806) \"let*\"\n ATMOSPHERE: (31806..31807) \" \"\n FORM: (31807..31857)\n OPEN_PAREN: (31807..31808) \"(\"\n FORM: (31808..31829)\n OPEN_PAREN: (31808..31809) \"(\"\n SYMBOL: (31809..31811)\n IDENTIFIER: (31809..31811) \"l1\"\n ATMOSPHERE: (31811..31812) \" \"\n QUOTED_DATUM: (31812..31828)\n QUOTE: (31812..31813) \"'\"\n FORM: (31813..31828)\n OPEN_PAREN: (31813..31814) \"(\"\n FORM: (31814..31819)\n OPEN_PAREN: (31814..31815) \"(\"\n SYMBOL: (31815..31816)\n IDENTIFIER: (31815..31816) \"a\"\n ATMOSPHERE: (31816..31817) \" \"\n SYMBOL: (31817..31818)\n IDENTIFIER: (31817..31818) \"b\"\n CLOSE_PAREN: (31818..31819) \")\"\n ATMOSPHERE: (31819..31820) \" \"\n FORM: (31820..31825)\n OPEN_PAREN: (31820..31821) \"(\"\n SYMBOL: (31821..31822)\n IDENTIFIER: (31821..31822) \"c\"\n ATMOSPHERE: (31822..31823) \" \"\n SYMBOL: (31823..31824)\n IDENTIFIER: (31823..31824) \"d\"\n CLOSE_PAREN: (31824..31825) \")\"\n ATMOSPHERE: (31825..31826) \" \"\n SYMBOL: (31826..31827)\n IDENTIFIER: (31826..31827) \"e\"\n CLOSE_PAREN: (31827..31828) \")\"\n CLOSE_PAREN: (31828..31829) \")\"\n ATMOSPHERE: (31829..31837) \"\n \"\n FORM: (31837..31856)\n OPEN_PAREN: (31837..31838) \"(\"\n SYMBOL: (31838..31840)\n IDENTIFIER: (31838..31840) \"l2\"\n ATMOSPHERE: (31840..31841) \" \"\n FORM: (31841..31855)\n OPEN_PAREN: (31841..31842) \"(\"\n SYMBOL: (31842..31851)\n IDENTIFIER: (31842..31851) \"list-copy\"\n ATMOSPHERE: (31851..31852) \" \"\n SYMBOL: (31852..31854)\n IDENTIFIER: (31852..31854) \"l1\"\n CLOSE_PAREN: (31854..31855) \")\"\n CLOSE_PAREN: (31855..31856) \")\"\n CLOSE_PAREN: (31856..31857) \")\"\n ATMOSPHERE: (31857..31860) \"\n \"\n FORM: (31860..31886)\n OPEN_PAREN: (31860..31861) \"(\"\n SYMBOL: (31861..31865)\n IDENTIFIER: (31861..31865) \"test\"\n ATMOSPHERE: (31865..31866) \" \"\n SYMBOL: (31866..31868)\n IDENTIFIER: (31866..31868) \"l2\"\n ATMOSPHERE: (31868..31869) \" \"\n QUOTED_DATUM: (31869..31885)\n QUOTE: (31869..31870) \"'\"\n FORM: (31870..31885)\n OPEN_PAREN: (31870..31871) \"(\"\n FORM: (31871..31876)\n OPEN_PAREN: (31871..31872) \"(\"\n SYMBOL: (31872..31873)\n IDENTIFIER: (31872..31873) \"a\"\n ATMOSPHERE: (31873..31874) \" \"\n SYMBOL: (31874..31875)\n IDENTIFIER: (31874..31875) \"b\"\n CLOSE_PAREN: (31875..31876) \")\"\n ATMOSPHERE: (31876..31877) \" \"\n FORM: (31877..31882)\n OPEN_PAREN: (31877..31878) \"(\"\n SYMBOL: (31878..31879)\n IDENTIFIER: (31878..31879) \"c\"\n ATMOSPHERE: (31879..31880) \" \"\n SYMBOL: (31880..31881)\n IDENTIFIER: (31880..31881) \"d\"\n CLOSE_PAREN: (31881..31882) \")\"\n ATMOSPHERE: (31882..31883) \" \"\n SYMBOL: (31883..31884)\n IDENTIFIER: (31883..31884) \"e\"\n CLOSE_PAREN: (31884..31885) \")\"\n CLOSE_PAREN: (31885..31886) \")\"\n ATMOSPHERE: (31886..31889) \"\n \"\n FORM: (31889..31922)\n OPEN_PAREN: (31889..31890) \"(\"\n SYMBOL: (31890..31894)\n IDENTIFIER: (31890..31894) \"test\"\n ATMOSPHERE: (31894..31895) \" \"\n CONSTANT: (31895..31897)\n BOOLEAN: (31895..31897) \"#t\"\n ATMOSPHERE: (31897..31898) \" \"\n FORM: (31898..31921)\n OPEN_PAREN: (31898..31899) \"(\"\n SYMBOL: (31899..31902)\n IDENTIFIER: (31899..31902) \"eq?\"\n ATMOSPHERE: (31902..31903) \" \"\n FORM: (31903..31911)\n OPEN_PAREN: (31903..31904) \"(\"\n SYMBOL: (31904..31907)\n IDENTIFIER: (31904..31907) \"car\"\n ATMOSPHERE: (31907..31908) \" \"\n SYMBOL: (31908..31910)\n IDENTIFIER: (31908..31910) \"l1\"\n CLOSE_PAREN: (31910..31911) \")\"\n ATMOSPHERE: (31911..31912) \" \"\n FORM: (31912..31920)\n OPEN_PAREN: (31912..31913) \"(\"\n SYMBOL: (31913..31916)\n IDENTIFIER: (31913..31916) \"car\"\n ATMOSPHERE: (31916..31917) \" \"\n SYMBOL: (31917..31919)\n IDENTIFIER: (31917..31919) \"l2\"\n CLOSE_PAREN: (31919..31920) \")\"\n CLOSE_PAREN: (31920..31921) \")\"\n CLOSE_PAREN: (31921..31922) \")\"\n ATMOSPHERE: (31922..31925) \"\n \"\n FORM: (31925..31960)\n OPEN_PAREN: (31925..31926) \"(\"\n SYMBOL: (31926..31930)\n IDENTIFIER: (31926..31930) \"test\"\n ATMOSPHERE: (31930..31931) \" \"\n CONSTANT: (31931..31933)\n BOOLEAN: (31931..31933) \"#t\"\n ATMOSPHERE: (31933..31934) \" \"\n FORM: (31934..31959)\n OPEN_PAREN: (31934..31935) \"(\"\n SYMBOL: (31935..31938)\n IDENTIFIER: (31935..31938) \"eq?\"\n ATMOSPHERE: (31938..31939) \" \"\n FORM: (31939..31948)\n OPEN_PAREN: (31939..31940) \"(\"\n SYMBOL: (31940..31944)\n IDENTIFIER: (31940..31944) \"cadr\"\n ATMOSPHERE: (31944..31945) \" \"\n SYMBOL: (31945..31947)\n IDENTIFIER: (31945..31947) \"l1\"\n CLOSE_PAREN: (31947..31948) \")\"\n ATMOSPHERE: (31948..31949) \" \"\n FORM: (31949..31958)\n OPEN_PAREN: (31949..31950) \"(\"\n SYMBOL: (31950..31954)\n IDENTIFIER: (31950..31954) \"cadr\"\n ATMOSPHERE: (31954..31955) \" \"\n SYMBOL: (31955..31957)\n IDENTIFIER: (31955..31957) \"l2\"\n CLOSE_PAREN: (31957..31958) \")\"\n CLOSE_PAREN: (31958..31959) \")\"\n CLOSE_PAREN: (31959..31960) \")\"\n ATMOSPHERE: (31960..31963) \"\n \"\n FORM: (31963..31996)\n OPEN_PAREN: (31963..31964) \"(\"\n SYMBOL: (31964..31968)\n IDENTIFIER: (31964..31968) \"test\"\n ATMOSPHERE: (31968..31969) \" \"\n CONSTANT: (31969..31971)\n BOOLEAN: (31969..31971) \"#f\"\n ATMOSPHERE: (31971..31972) \" \"\n FORM: (31972..31995)\n OPEN_PAREN: (31972..31973) \"(\"\n SYMBOL: (31973..31976)\n IDENTIFIER: (31973..31976) \"eq?\"\n ATMOSPHERE: (31976..31977) \" \"\n FORM: (31977..31985)\n OPEN_PAREN: (31977..31978) \"(\"\n SYMBOL: (31978..31981)\n IDENTIFIER: (31978..31981) \"cdr\"\n ATMOSPHERE: (31981..31982) \" \"\n SYMBOL: (31982..31984)\n IDENTIFIER: (31982..31984) \"l1\"\n CLOSE_PAREN: (31984..31985) \")\"\n ATMOSPHERE: (31985..31986) \" \"\n FORM: (31986..31994)\n OPEN_PAREN: (31986..31987) \"(\"\n SYMBOL: (31987..31990)\n IDENTIFIER: (31987..31990) \"cdr\"\n ATMOSPHERE: (31990..31991) \" \"\n SYMBOL: (31991..31993)\n IDENTIFIER: (31991..31993) \"l2\"\n CLOSE_PAREN: (31993..31994) \")\"\n CLOSE_PAREN: (31994..31995) \")\"\n CLOSE_PAREN: (31995..31996) \")\"\n ATMOSPHERE: (31996..31999) \"\n \"\n FORM: (31999..32034)\n OPEN_PAREN: (31999..32000) \"(\"\n SYMBOL: (32000..32004)\n IDENTIFIER: (32000..32004) \"test\"\n ATMOSPHERE: (32004..32005) \" \"\n CONSTANT: (32005..32007)\n BOOLEAN: (32005..32007) \"#f\"\n ATMOSPHERE: (32007..32008) \" \"\n FORM: (32008..32033)\n OPEN_PAREN: (32008..32009) \"(\"\n SYMBOL: (32009..32012)\n IDENTIFIER: (32009..32012) \"eq?\"\n ATMOSPHERE: (32012..32013) \" \"\n FORM: (32013..32022)\n OPEN_PAREN: (32013..32014) \"(\"\n SYMBOL: (32014..32018)\n IDENTIFIER: (32014..32018) \"cddr\"\n ATMOSPHERE: (32018..32019) \" \"\n SYMBOL: (32019..32021)\n IDENTIFIER: (32019..32021) \"l1\"\n CLOSE_PAREN: (32021..32022) \")\"\n ATMOSPHERE: (32022..32023) \" \"\n FORM: (32023..32032)\n OPEN_PAREN: (32023..32024) \"(\"\n SYMBOL: (32024..32028)\n IDENTIFIER: (32024..32028) \"cddr\"\n ATMOSPHERE: (32028..32029) \" \"\n SYMBOL: (32029..32031)\n IDENTIFIER: (32029..32031) \"l2\"\n CLOSE_PAREN: (32031..32032) \")\"\n CLOSE_PAREN: (32032..32033) \")\"\n CLOSE_PAREN: (32033..32034) \")\"\n CLOSE_PAREN: (32034..32035) \")\"\n ATMOSPHERE: (32035..32037) \"\n\n\"\n FORM: (32037..32047)\n OPEN_PAREN: (32037..32038) \"(\"\n SYMBOL: (32038..32046)\n IDENTIFIER: (32038..32046) \"test-end\"\n CLOSE_PAREN: (32046..32047) \")\"\n ATMOSPHERE: (32047..32049) \"\n\n\"\n FORM: (32049..32075)\n OPEN_PAREN: (32049..32050) \"(\"\n SYMBOL: (32050..32060)\n IDENTIFIER: (32050..32060) \"test-begin\"\n ATMOSPHERE: (32060..32061) \" \"\n CONSTANT: (32061..32074)\n STRING: (32061..32074) \"\"6.5 Symbols\"\"\n CLOSE_PAREN: (32074..32075) \")\"\n ATMOSPHERE: (32075..32077) \"\n\n\"\n FORM: (32077..32101)\n OPEN_PAREN: (32077..32078) \"(\"\n SYMBOL: (32078..32082)\n IDENTIFIER: (32078..32082) \"test\"\n ATMOSPHERE: (32082..32083) \" \"\n CONSTANT: (32083..32085)\n BOOLEAN: (32083..32085) \"#t\"\n ATMOSPHERE: (32085..32086) \" \"\n FORM: (32086..32100)\n OPEN_PAREN: (32086..32087) \"(\"\n SYMBOL: (32087..32094)\n IDENTIFIER: (32087..32094) \"symbol?\"\n ATMOSPHERE: (32094..32095) \" \"\n QUOTED_DATUM: (32095..32099)\n QUOTE: (32095..32096) \"'\"\n SYMBOL: (32096..32099)\n IDENTIFIER: (32096..32099) \"foo\"\n CLOSE_PAREN: (32099..32100) \")\"\n CLOSE_PAREN: (32100..32101) \")\"\n ATMOSPHERE: (32101..32102) \"\n\"\n FORM: (32102..32134)\n OPEN_PAREN: (32102..32103) \"(\"\n SYMBOL: (32103..32107)\n IDENTIFIER: (32103..32107) \"test\"\n ATMOSPHERE: (32107..32108) \" \"\n CONSTANT: (32108..32110)\n BOOLEAN: (32108..32110) \"#t\"\n ATMOSPHERE: (32110..32111) \" \"\n FORM: (32111..32133)\n OPEN_PAREN: (32111..32112) \"(\"\n SYMBOL: (32112..32119)\n IDENTIFIER: (32112..32119) \"symbol?\"\n ATMOSPHERE: (32119..32120) \" \"\n FORM: (32120..32132)\n OPEN_PAREN: (32120..32121) \"(\"\n SYMBOL: (32121..32124)\n IDENTIFIER: (32121..32124) \"car\"\n ATMOSPHERE: (32124..32125) \" \"\n QUOTED_DATUM: (32125..32131)\n QUOTE: (32125..32126) \"'\"\n FORM: (32126..32131)\n OPEN_PAREN: (32126..32127) \"(\"\n SYMBOL: (32127..32128)\n IDENTIFIER: (32127..32128) \"a\"\n ATMOSPHERE: (32128..32129) \" \"\n SYMBOL: (32129..32130)\n IDENTIFIER: (32129..32130) \"b\"\n CLOSE_PAREN: (32130..32131) \")\"\n CLOSE_PAREN: (32131..32132) \")\"\n CLOSE_PAREN: (32132..32133) \")\"\n CLOSE_PAREN: (32133..32134) \")\"\n ATMOSPHERE: (32134..32135) \"\n\"\n FORM: (32135..32160)\n OPEN_PAREN: (32135..32136) \"(\"\n SYMBOL: (32136..32140)\n IDENTIFIER: (32136..32140) \"test\"\n ATMOSPHERE: (32140..32141) \" \"\n CONSTANT: (32141..32143)\n BOOLEAN: (32141..32143) \"#f\"\n ATMOSPHERE: (32143..32144) \" \"\n FORM: (32144..32159)\n OPEN_PAREN: (32144..32145) \"(\"\n SYMBOL: (32145..32152)\n IDENTIFIER: (32145..32152) \"symbol?\"\n ATMOSPHERE: (32152..32153) \" \"\n CONSTANT: (32153..32158)\n STRING: (32153..32158) \"\"bar\"\"\n CLOSE_PAREN: (32158..32159) \")\"\n CLOSE_PAREN: (32159..32160) \")\"\n ATMOSPHERE: (32160..32161) \"\n\"\n FORM: (32161..32185)\n OPEN_PAREN: (32161..32162) \"(\"\n SYMBOL: (32162..32166)\n IDENTIFIER: (32162..32166) \"test\"\n ATMOSPHERE: (32166..32167) \" \"\n CONSTANT: (32167..32169)\n BOOLEAN: (32167..32169) \"#t\"\n ATMOSPHERE: (32169..32170) \" \"\n FORM: (32170..32184)\n OPEN_PAREN: (32170..32171) \"(\"\n SYMBOL: (32171..32178)\n IDENTIFIER: (32171..32178) \"symbol?\"\n ATMOSPHERE: (32178..32179) \" \"\n QUOTED_DATUM: (32179..32183)\n QUOTE: (32179..32180) \"'\"\n SYMBOL: (32180..32183)\n IDENTIFIER: (32180..32183) \"nil\"\n CLOSE_PAREN: (32183..32184) \")\"\n CLOSE_PAREN: (32184..32185) \")\"\n ATMOSPHERE: (32185..32186) \"\n\"\n FORM: (32186..32209)\n OPEN_PAREN: (32186..32187) \"(\"\n SYMBOL: (32187..32191)\n IDENTIFIER: (32187..32191) \"test\"\n ATMOSPHERE: (32191..32192) \" \"\n CONSTANT: (32192..32194)\n BOOLEAN: (32192..32194) \"#f\"\n ATMOSPHERE: (32194..32195) \" \"\n FORM: (32195..32208)\n OPEN_PAREN: (32195..32196) \"(\"\n SYMBOL: (32196..32203)\n IDENTIFIER: (32196..32203) \"symbol?\"\n ATMOSPHERE: (32203..32204) \" \"\n QUOTED_DATUM: (32204..32207)\n QUOTE: (32204..32205) \"'\"\n FORM: (32205..32207)\n OPEN_PAREN: (32205..32206) \"(\"\n CLOSE_PAREN: (32206..32207) \")\"\n CLOSE_PAREN: (32207..32208) \")\"\n CLOSE_PAREN: (32208..32209) \")\"\n ATMOSPHERE: (32209..32210) \"\n\"\n FORM: (32210..32232)\n OPEN_PAREN: (32210..32211) \"(\"\n SYMBOL: (32211..32215)\n IDENTIFIER: (32211..32215) \"test\"\n ATMOSPHERE: (32215..32216) \" \"\n CONSTANT: (32216..32218)\n BOOLEAN: (32216..32218) \"#f\"\n ATMOSPHERE: (32218..32219) \" \"\n FORM: (32219..32231)\n OPEN_PAREN: (32219..32220) \"(\"\n SYMBOL: (32220..32227)\n IDENTIFIER: (32220..32227) \"symbol?\"\n ATMOSPHERE: (32227..32228) \" \"\n CONSTANT: (32228..32230)\n BOOLEAN: (32228..32230) \"#f\"\n CLOSE_PAREN: (32230..32231) \")\"\n CLOSE_PAREN: (32231..32232) \")\"\n ATMOSPHERE: (32232..32234) \"\n\n\"\n FORM: (32234..32260)\n OPEN_PAREN: (32234..32235) \"(\"\n SYMBOL: (32235..32239)\n IDENTIFIER: (32235..32239) \"test\"\n ATMOSPHERE: (32239..32240) \" \"\n CONSTANT: (32240..32242)\n BOOLEAN: (32240..32242) \"#t\"\n ATMOSPHERE: (32242..32243) \" \"\n FORM: (32243..32259)\n OPEN_PAREN: (32243..32244) \"(\"\n SYMBOL: (32244..32252)\n IDENTIFIER: (32244..32252) \"symbol=?\"\n ATMOSPHERE: (32252..32253) \" \"\n QUOTED_DATUM: (32253..32256)\n QUOTE: (32253..32254) \"'\"\n SYMBOL: (32254..32255)\n IDENTIFIER: (32254..32255) \"a\"\n ATMOSPHERE: (32255..32256) \" \"\n QUOTED_DATUM: (32256..32258)\n QUOTE: (32256..32257) \"'\"\n SYMBOL: (32257..32258)\n IDENTIFIER: (32257..32258) \"a\"\n CLOSE_PAREN: (32258..32259) \")\"\n CLOSE_PAREN: (32259..32260) \")\"\n ATMOSPHERE: (32260..32261) \"\n\"\n FORM: (32261..32287)\n OPEN_PAREN: (32261..32262) \"(\"\n SYMBOL: (32262..32266)\n IDENTIFIER: (32262..32266) \"test\"\n ATMOSPHERE: (32266..32267) \" \"\n CONSTANT: (32267..32269)\n BOOLEAN: (32267..32269) \"#f\"\n ATMOSPHERE: (32269..32270) \" \"\n FORM: (32270..32286)\n OPEN_PAREN: (32270..32271) \"(\"\n SYMBOL: (32271..32279)\n IDENTIFIER: (32271..32279) \"symbol=?\"\n ATMOSPHERE: (32279..32280) \" \"\n QUOTED_DATUM: (32280..32283)\n QUOTE: (32280..32281) \"'\"\n SYMBOL: (32281..32282)\n IDENTIFIER: (32281..32282) \"a\"\n ATMOSPHERE: (32282..32283) \" \"\n QUOTED_DATUM: (32283..32285)\n QUOTE: (32283..32284) \"'\"\n SYMBOL: (32284..32285)\n IDENTIFIER: (32284..32285) \"A\"\n CLOSE_PAREN: (32285..32286) \")\"\n CLOSE_PAREN: (32286..32287) \")\"\n ATMOSPHERE: (32287..32288) \"\n\"\n FORM: (32288..32317)\n OPEN_PAREN: (32288..32289) \"(\"\n SYMBOL: (32289..32293)\n IDENTIFIER: (32289..32293) \"test\"\n ATMOSPHERE: (32293..32294) \" \"\n CONSTANT: (32294..32296)\n BOOLEAN: (32294..32296) \"#t\"\n ATMOSPHERE: (32296..32297) \" \"\n FORM: (32297..32316)\n OPEN_PAREN: (32297..32298) \"(\"\n SYMBOL: (32298..32306)\n IDENTIFIER: (32298..32306) \"symbol=?\"\n ATMOSPHERE: (32306..32307) \" \"\n QUOTED_DATUM: (32307..32310)\n QUOTE: (32307..32308) \"'\"\n SYMBOL: (32308..32309)\n IDENTIFIER: (32308..32309) \"a\"\n ATMOSPHERE: (32309..32310) \" \"\n QUOTED_DATUM: (32310..32313)\n QUOTE: (32310..32311) \"'\"\n SYMBOL: (32311..32312)\n IDENTIFIER: (32311..32312) \"a\"\n ATMOSPHERE: (32312..32313) \" \"\n QUOTED_DATUM: (32313..32315)\n QUOTE: (32313..32314) \"'\"\n SYMBOL: (32314..32315)\n IDENTIFIER: (32314..32315) \"a\"\n CLOSE_PAREN: (32315..32316) \")\"\n CLOSE_PAREN: (32316..32317) \")\"\n ATMOSPHERE: (32317..32318) \"\n\"\n FORM: (32318..32347)\n OPEN_PAREN: (32318..32319) \"(\"\n SYMBOL: (32319..32323)\n IDENTIFIER: (32319..32323) \"test\"\n ATMOSPHERE: (32323..32324) \" \"\n CONSTANT: (32324..32326)\n BOOLEAN: (32324..32326) \"#f\"\n ATMOSPHERE: (32326..32327) \" \"\n FORM: (32327..32346)\n OPEN_PAREN: (32327..32328) \"(\"\n SYMBOL: (32328..32336)\n IDENTIFIER: (32328..32336) \"symbol=?\"\n ATMOSPHERE: (32336..32337) \" \"\n QUOTED_DATUM: (32337..32340)\n QUOTE: (32337..32338) \"'\"\n SYMBOL: (32338..32339)\n IDENTIFIER: (32338..32339) \"a\"\n ATMOSPHERE: (32339..32340) \" \"\n QUOTED_DATUM: (32340..32343)\n QUOTE: (32340..32341) \"'\"\n SYMBOL: (32341..32342)\n IDENTIFIER: (32341..32342) \"a\"\n ATMOSPHERE: (32342..32343) \" \"\n QUOTED_DATUM: (32343..32345)\n QUOTE: (32343..32344) \"'\"\n SYMBOL: (32344..32345)\n IDENTIFIER: (32344..32345) \"A\"\n CLOSE_PAREN: (32345..32346) \")\"\n CLOSE_PAREN: (32346..32347) \")\"\n ATMOSPHERE: (32347..32349) \"\n\n\"\n FORM: (32349..32404)\n OPEN_PAREN: (32349..32350) \"(\"\n SYMBOL: (32350..32354)\n IDENTIFIER: (32350..32354) \"test\"\n ATMOSPHERE: (32354..32355) \" \"\n CONSTANT: (32355..32368)\n STRING: (32355..32368) \"\"flying-fish\"\"\n ATMOSPHERE: (32368..32374) \" \n\"\n FORM: (32374..32403)\n OPEN_PAREN: (32374..32375) \"(\"\n SYMBOL: (32375..32389)\n IDENTIFIER: (32375..32389) \"symbol->string\"\n ATMOSPHERE: (32389..32390) \" \"\n QUOTED_DATUM: (32390..32402)\n QUOTE: (32390..32391) \"'\"\n SYMBOL: (32391..32402)\n IDENTIFIER: (32391..32402) \"flying-fish\"\n CLOSE_PAREN: (32402..32403) \")\"\n CLOSE_PAREN: (32403..32404) \")\"\n ATMOSPHERE: (32404..32405) \"\n\"\n FORM: (32405..32445)\n OPEN_PAREN: (32405..32406) \"(\"\n SYMBOL: (32406..32410)\n IDENTIFIER: (32406..32410) \"test\"\n ATMOSPHERE: (32410..32411) \" \"\n CONSTANT: (32411..32419)\n STRING: (32411..32419) \"\"Martin\"\"\n ATMOSPHERE: (32419..32420) \" \"\n FORM: (32420..32444)\n OPEN_PAREN: (32420..32421) \"(\"\n SYMBOL: (32421..32435)\n IDENTIFIER: (32421..32435) \"symbol->string\"\n ATMOSPHERE: (32435..32436) \" \"\n QUOTED_DATUM: (32436..32443)\n QUOTE: (32436..32437) \"'\"\n SYMBOL: (32437..32443)\n IDENTIFIER: (32437..32443) \"Martin\"\n CLOSE_PAREN: (32443..32444) \")\"\n CLOSE_PAREN: (32444..32445) \")\"\n ATMOSPHERE: (32445..32446) \"\n\"\n FORM: (32446..32506)\n OPEN_PAREN: (32446..32447) \"(\"\n SYMBOL: (32447..32451)\n IDENTIFIER: (32447..32451) \"test\"\n ATMOSPHERE: (32451..32452) \" \"\n CONSTANT: (32452..32461)\n STRING: (32452..32461) \"\"Malvina\"\"\n ATMOSPHERE: (32461..32462) \" \"\n FORM: (32462..32505)\n OPEN_PAREN: (32462..32463) \"(\"\n SYMBOL: (32463..32477)\n IDENTIFIER: (32463..32477) \"symbol->string\"\n ATMOSPHERE: (32477..32478) \" \"\n FORM: (32478..32504)\n OPEN_PAREN: (32478..32479) \"(\"\n SYMBOL: (32479..32493)\n IDENTIFIER: (32479..32493) \"string->symbol\"\n ATMOSPHERE: (32493..32494) \" \"\n CONSTANT: (32494..32503)\n STRING: (32494..32503) \"\"Malvina\"\"\n CLOSE_PAREN: (32503..32504) \")\"\n CLOSE_PAREN: (32504..32505) \")\"\n CLOSE_PAREN: (32505..32506) \")\"\n ATMOSPHERE: (32506..32508) \"\n\n\"\n FORM: (32508..32558)\n OPEN_PAREN: (32508..32509) \"(\"\n SYMBOL: (32509..32513)\n IDENTIFIER: (32509..32513) \"test\"\n ATMOSPHERE: (32513..32514) \" \"\n QUOTED_DATUM: (32514..32527)\n QUOTE: (32514..32515) \"'\"\n SYMBOL: (32515..32526)\n IDENTIFIER: (32515..32526) \"mISSISSIppi\"\n ATMOSPHERE: (32526..32527) \" \"\n FORM: (32527..32557)\n OPEN_PAREN: (32527..32528) \"(\"\n SYMBOL: (32528..32542)\n IDENTIFIER: (32528..32542) \"string->symbol\"\n ATMOSPHERE: (32542..32543) \" \"\n CONSTANT: (32543..32556)\n STRING: (32543..32556) \"\"mISSISSIppi\"\"\n CLOSE_PAREN: (32556..32557) \")\"\n CLOSE_PAREN: (32557..32558) \")\"\n ATMOSPHERE: (32558..32559) \"\n\"\n FORM: (32559..32608)\n OPEN_PAREN: (32559..32560) \"(\"\n SYMBOL: (32560..32564)\n IDENTIFIER: (32560..32564) \"test\"\n ATMOSPHERE: (32564..32565) \" \"\n CONSTANT: (32565..32567)\n BOOLEAN: (32565..32567) \"#t\"\n ATMOSPHERE: (32567..32568) \" \"\n FORM: (32568..32607)\n OPEN_PAREN: (32568..32569) \"(\"\n SYMBOL: (32569..32572)\n IDENTIFIER: (32569..32572) \"eq?\"\n ATMOSPHERE: (32572..32573) \" \"\n QUOTED_DATUM: (32573..32581)\n QUOTE: (32573..32574) \"'\"\n SYMBOL: (32574..32580)\n IDENTIFIER: (32574..32580) \"bitBlt\"\n ATMOSPHERE: (32580..32581) \" \"\n FORM: (32581..32606)\n OPEN_PAREN: (32581..32582) \"(\"\n SYMBOL: (32582..32596)\n IDENTIFIER: (32582..32596) \"string->symbol\"\n ATMOSPHERE: (32596..32597) \" \"\n CONSTANT: (32597..32605)\n STRING: (32597..32605) \"\"bitBlt\"\"\n CLOSE_PAREN: (32605..32606) \")\"\n CLOSE_PAREN: (32606..32607) \")\"\n CLOSE_PAREN: (32607..32608) \")\"\n ATMOSPHERE: (32608..32609) \"\n\"\n FORM: (32609..32678)\n OPEN_PAREN: (32609..32610) \"(\"\n SYMBOL: (32610..32614)\n IDENTIFIER: (32610..32614) \"test\"\n ATMOSPHERE: (32614..32615) \" \"\n CONSTANT: (32615..32617)\n BOOLEAN: (32615..32617) \"#t\"\n ATMOSPHERE: (32617..32618) \" \"\n FORM: (32618..32677)\n OPEN_PAREN: (32618..32619) \"(\"\n SYMBOL: (32619..32622)\n IDENTIFIER: (32619..32622) \"eq?\"\n ATMOSPHERE: (32622..32623) \" \"\n QUOTED_DATUM: (32623..32633)\n QUOTE: (32623..32624) \"'\"\n SYMBOL: (32624..32632)\n IDENTIFIER: (32624..32632) \"LollyPop\"\n ATMOSPHERE: (32632..32633) \" \"\n FORM: (32633..32676)\n OPEN_PAREN: (32633..32634) \"(\"\n SYMBOL: (32634..32648)\n IDENTIFIER: (32634..32648) \"string->symbol\"\n ATMOSPHERE: (32648..32649) \" \"\n FORM: (32649..32675)\n OPEN_PAREN: (32649..32650) \"(\"\n SYMBOL: (32650..32664)\n IDENTIFIER: (32650..32664) \"symbol->string\"\n ATMOSPHERE: (32664..32665) \" \"\n QUOTED_DATUM: (32665..32674)\n QUOTE: (32665..32666) \"'\"\n SYMBOL: (32666..32674)\n IDENTIFIER: (32666..32674) \"LollyPop\"\n CLOSE_PAREN: (32674..32675) \")\"\n CLOSE_PAREN: (32675..32676) \")\"\n CLOSE_PAREN: (32676..32677) \")\"\n CLOSE_PAREN: (32677..32678) \")\"\n ATMOSPHERE: (32678..32679) \"\n\"\n FORM: (32679..32788)\n OPEN_PAREN: (32679..32680) \"(\"\n SYMBOL: (32680..32684)\n IDENTIFIER: (32680..32684) \"test\"\n ATMOSPHERE: (32684..32685) \" \"\n CONSTANT: (32685..32687)\n BOOLEAN: (32685..32687) \"#t\"\n ATMOSPHERE: (32687..32688) \" \"\n FORM: (32688..32787)\n OPEN_PAREN: (32688..32689) \"(\"\n SYMBOL: (32689..32697)\n IDENTIFIER: (32689..32697) \"string=?\"\n ATMOSPHERE: (32697..32698) \" \"\n CONSTANT: (32698..32715)\n STRING: (32698..32715) \"\"K. Harper, M.D.\"\"\n ATMOSPHERE: (32715..32735) \"\n \"\n FORM: (32735..32786)\n OPEN_PAREN: (32735..32736) \"(\"\n SYMBOL: (32736..32750)\n IDENTIFIER: (32736..32750) \"symbol->string\"\n ATMOSPHERE: (32750..32751) \" \"\n FORM: (32751..32785)\n OPEN_PAREN: (32751..32752) \"(\"\n SYMBOL: (32752..32766)\n IDENTIFIER: (32752..32766) \"string->symbol\"\n ATMOSPHERE: (32766..32767) \" \"\n CONSTANT: (32767..32784)\n STRING: (32767..32784) \"\"K. Harper, M.D.\"\"\n CLOSE_PAREN: (32784..32785) \")\"\n CLOSE_PAREN: (32785..32786) \")\"\n CLOSE_PAREN: (32786..32787) \")\"\n CLOSE_PAREN: (32787..32788) \")\"\n ATMOSPHERE: (32788..32790) \"\n\n\"\n FORM: (32790..32800)\n OPEN_PAREN: (32790..32791) \"(\"\n SYMBOL: (32791..32799)\n IDENTIFIER: (32791..32799) \"test-end\"\n CLOSE_PAREN: (32799..32800) \")\"\n ATMOSPHERE: (32800..32802) \"\n\n\"\n FORM: (32802..32831)\n OPEN_PAREN: (32802..32803) \"(\"\n SYMBOL: (32803..32813)\n IDENTIFIER: (32803..32813) \"test-begin\"\n ATMOSPHERE: (32813..32814) \" \"\n CONSTANT: (32814..32830)\n STRING: (32814..32830) \"\"6.6 Characters\"\"\n CLOSE_PAREN: (32830..32831) \")\"\n ATMOSPHERE: (32831..32833) \"\n\n\"\n FORM: (32833..32854)\n OPEN_PAREN: (32833..32834) \"(\"\n SYMBOL: (32834..32838)\n IDENTIFIER: (32834..32838) \"test\"\n ATMOSPHERE: (32838..32839) \" \"\n CONSTANT: (32839..32841)\n BOOLEAN: (32839..32841) \"#t\"\n ATMOSPHERE: (32841..32842) \" \"\n FORM: (32842..32853)\n OPEN_PAREN: (32842..32843) \"(\"\n SYMBOL: (32843..32848)\n IDENTIFIER: (32843..32848) \"char?\"\n ATMOSPHERE: (32848..32849) \" \"\n CONSTANT: (32849..32852)\n CHARACTER: (32849..32852) \"#\\a\"\n CLOSE_PAREN: (32852..32853) \")\"\n CLOSE_PAREN: (32853..32854) \")\"\n ATMOSPHERE: (32854..32855) \"\n\"\n FORM: (32855..32876)\n OPEN_PAREN: (32855..32856) \"(\"\n SYMBOL: (32856..32860)\n IDENTIFIER: (32856..32860) \"test\"\n ATMOSPHERE: (32860..32861) \" \"\n CONSTANT: (32861..32863)\n BOOLEAN: (32861..32863) \"#f\"\n ATMOSPHERE: (32863..32864) \" \"\n FORM: (32864..32875)\n OPEN_PAREN: (32864..32865) \"(\"\n SYMBOL: (32865..32870)\n IDENTIFIER: (32865..32870) \"char?\"\n ATMOSPHERE: (32870..32871) \" \"\n CONSTANT: (32871..32874)\n STRING: (32871..32874) \"\"a\"\"\n CLOSE_PAREN: (32874..32875) \")\"\n CLOSE_PAREN: (32875..32876) \")\"\n ATMOSPHERE: (32876..32877) \"\n\"\n FORM: (32877..32897)\n OPEN_PAREN: (32877..32878) \"(\"\n SYMBOL: (32878..32882)\n IDENTIFIER: (32878..32882) \"test\"\n ATMOSPHERE: (32882..32883) \" \"\n CONSTANT: (32883..32885)\n BOOLEAN: (32883..32885) \"#f\"\n ATMOSPHERE: (32885..32886) \" \"\n FORM: (32886..32896)\n OPEN_PAREN: (32886..32887) \"(\"\n SYMBOL: (32887..32892)\n IDENTIFIER: (32887..32892) \"char?\"\n ATMOSPHERE: (32892..32893) \" \"\n QUOTED_DATUM: (32893..32895)\n QUOTE: (32893..32894) \"'\"\n SYMBOL: (32894..32895)\n IDENTIFIER: (32894..32895) \"a\"\n CLOSE_PAREN: (32895..32896) \")\"\n CLOSE_PAREN: (32896..32897) \")\"\n ATMOSPHERE: (32897..32898) \"\n\"\n FORM: (32898..32917)\n OPEN_PAREN: (32898..32899) \"(\"\n SYMBOL: (32899..32903)\n IDENTIFIER: (32899..32903) \"test\"\n ATMOSPHERE: (32903..32904) \" \"\n CONSTANT: (32904..32906)\n BOOLEAN: (32904..32906) \"#f\"\n ATMOSPHERE: (32906..32907) \" \"\n FORM: (32907..32916)\n OPEN_PAREN: (32907..32908) \"(\"\n SYMBOL: (32908..32913)\n IDENTIFIER: (32908..32913) \"char?\"\n ATMOSPHERE: (32913..32914) \" \"\n CONSTANT: (32914..32915)\n NUMBER: (32914..32915) \"0\"\n CLOSE_PAREN: (32915..32916) \")\"\n CLOSE_PAREN: (32916..32917) \")\"\n ATMOSPHERE: (32917..32919) \"\n\n\"\n FORM: (32919..32949)\n OPEN_PAREN: (32919..32920) \"(\"\n SYMBOL: (32920..32924)\n IDENTIFIER: (32920..32924) \"test\"\n ATMOSPHERE: (32924..32925) \" \"\n CONSTANT: (32925..32927)\n BOOLEAN: (32925..32927) \"#t\"\n ATMOSPHERE: (32927..32928) \" \"\n FORM: (32928..32948)\n OPEN_PAREN: (32928..32929) \"(\"\n SYMBOL: (32929..32935)\n IDENTIFIER: (32929..32935) \"char=?\"\n ATMOSPHERE: (32935..32936) \" \"\n CONSTANT: (32936..32939)\n CHARACTER: (32936..32939) \"#\\a\"\n ATMOSPHERE: (32939..32940) \" \"\n CONSTANT: (32940..32943)\n CHARACTER: (32940..32943) \"#\\a\"\n ATMOSPHERE: (32943..32944) \" \"\n CONSTANT: (32944..32947)\n CHARACTER: (32944..32947) \"#\\a\"\n CLOSE_PAREN: (32947..32948) \")\"\n CLOSE_PAREN: (32948..32949) \")\"\n ATMOSPHERE: (32949..32950) \"\n\"\n FORM: (32950..32976)\n OPEN_PAREN: (32950..32951) \"(\"\n SYMBOL: (32951..32955)\n IDENTIFIER: (32951..32955) \"test\"\n ATMOSPHERE: (32955..32956) \" \"\n CONSTANT: (32956..32958)\n BOOLEAN: (32956..32958) \"#f\"\n ATMOSPHERE: (32958..32959) \" \"\n FORM: (32959..32975)\n OPEN_PAREN: (32959..32960) \"(\"\n SYMBOL: (32960..32966)\n IDENTIFIER: (32960..32966) \"char=?\"\n ATMOSPHERE: (32966..32967) \" \"\n CONSTANT: (32967..32970)\n CHARACTER: (32967..32970) \"#\\a\"\n ATMOSPHERE: (32970..32971) \" \"\n CONSTANT: (32971..32974)\n CHARACTER: (32971..32974) \"#\\A\"\n CLOSE_PAREN: (32974..32975) \")\"\n CLOSE_PAREN: (32975..32976) \")\"\n ATMOSPHERE: (32976..32977) \"\n\"\n FORM: (32977..33007)\n OPEN_PAREN: (32977..32978) \"(\"\n SYMBOL: (32978..32982)\n IDENTIFIER: (32978..32982) \"test\"\n ATMOSPHERE: (32982..32983) \" \"\n CONSTANT: (32983..32985)\n BOOLEAN: (32983..32985) \"#t\"\n ATMOSPHERE: (32985..32986) \" \"\n FORM: (32986..33006)\n OPEN_PAREN: (32986..32987) \"(\"\n SYMBOL: (32987..32993)\n IDENTIFIER: (32987..32993) \"char?\"\n ATMOSPHERE: (33078..33079) \" \"\n CONSTANT: (33079..33082)\n CHARACTER: (33079..33082) \"#\\a\"\n ATMOSPHERE: (33082..33083) \" \"\n CONSTANT: (33083..33086)\n CHARACTER: (33083..33086) \"#\\b\"\n CLOSE_PAREN: (33086..33087) \")\"\n CLOSE_PAREN: (33087..33088) \")\"\n ATMOSPHERE: (33088..33089) \"\n\"\n FORM: (33089..33115)\n OPEN_PAREN: (33089..33090) \"(\"\n SYMBOL: (33090..33094)\n IDENTIFIER: (33090..33094) \"test\"\n ATMOSPHERE: (33094..33095) \" \"\n CONSTANT: (33095..33097)\n BOOLEAN: (33095..33097) \"#f\"\n ATMOSPHERE: (33097..33098) \" \"\n FORM: (33098..33114)\n OPEN_PAREN: (33098..33099) \"(\"\n SYMBOL: (33099..33105)\n IDENTIFIER: (33099..33105) \"char>?\"\n ATMOSPHERE: (33105..33106) \" \"\n CONSTANT: (33106..33109)\n CHARACTER: (33106..33109) \"#\\a\"\n ATMOSPHERE: (33109..33110) \" \"\n CONSTANT: (33110..33113)\n CHARACTER: (33110..33113) \"#\\a\"\n CLOSE_PAREN: (33113..33114) \")\"\n CLOSE_PAREN: (33114..33115) \")\"\n ATMOSPHERE: (33115..33116) \"\n\"\n FORM: (33116..33146)\n OPEN_PAREN: (33116..33117) \"(\"\n SYMBOL: (33117..33121)\n IDENTIFIER: (33117..33121) \"test\"\n ATMOSPHERE: (33121..33122) \" \"\n CONSTANT: (33122..33124)\n BOOLEAN: (33122..33124) \"#t\"\n ATMOSPHERE: (33124..33125) \" \"\n FORM: (33125..33145)\n OPEN_PAREN: (33125..33126) \"(\"\n SYMBOL: (33126..33132)\n IDENTIFIER: (33126..33132) \"char>?\"\n ATMOSPHERE: (33132..33133) \" \"\n CONSTANT: (33133..33136)\n CHARACTER: (33133..33136) \"#\\c\"\n ATMOSPHERE: (33136..33137) \" \"\n CONSTANT: (33137..33140)\n CHARACTER: (33137..33140) \"#\\b\"\n ATMOSPHERE: (33140..33141) \" \"\n CONSTANT: (33141..33144)\n CHARACTER: (33141..33144) \"#\\a\"\n CLOSE_PAREN: (33144..33145) \")\"\n CLOSE_PAREN: (33145..33146) \")\"\n ATMOSPHERE: (33146..33147) \"\n\"\n FORM: (33147..33178)\n OPEN_PAREN: (33147..33148) \"(\"\n SYMBOL: (33148..33152)\n IDENTIFIER: (33148..33152) \"test\"\n ATMOSPHERE: (33152..33153) \" \"\n CONSTANT: (33153..33155)\n BOOLEAN: (33153..33155) \"#t\"\n ATMOSPHERE: (33155..33156) \" \"\n FORM: (33156..33177)\n OPEN_PAREN: (33156..33157) \"(\"\n SYMBOL: (33157..33164)\n IDENTIFIER: (33157..33164) \"char<=?\"\n ATMOSPHERE: (33164..33165) \" \"\n CONSTANT: (33165..33168)\n CHARACTER: (33165..33168) \"#\\a\"\n ATMOSPHERE: (33168..33169) \" \"\n CONSTANT: (33169..33172)\n CHARACTER: (33169..33172) \"#\\b\"\n ATMOSPHERE: (33172..33173) \" \"\n CONSTANT: (33173..33176)\n CHARACTER: (33173..33176) \"#\\b\"\n CLOSE_PAREN: (33176..33177) \")\"\n CLOSE_PAREN: (33177..33178) \")\"\n ATMOSPHERE: (33178..33179) \"\n\"\n FORM: (33179..33206)\n OPEN_PAREN: (33179..33180) \"(\"\n SYMBOL: (33180..33184)\n IDENTIFIER: (33180..33184) \"test\"\n ATMOSPHERE: (33184..33185) \" \"\n CONSTANT: (33185..33187)\n BOOLEAN: (33185..33187) \"#t\"\n ATMOSPHERE: (33187..33188) \" \"\n FORM: (33188..33205)\n OPEN_PAREN: (33188..33189) \"(\"\n SYMBOL: (33189..33196)\n IDENTIFIER: (33189..33196) \"char<=?\"\n ATMOSPHERE: (33196..33197) \" \"\n CONSTANT: (33197..33200)\n CHARACTER: (33197..33200) \"#\\a\"\n ATMOSPHERE: (33200..33201) \" \"\n CONSTANT: (33201..33204)\n CHARACTER: (33201..33204) \"#\\a\"\n CLOSE_PAREN: (33204..33205) \")\"\n CLOSE_PAREN: (33205..33206) \")\"\n ATMOSPHERE: (33206..33207) \"\n\"\n FORM: (33207..33234)\n OPEN_PAREN: (33207..33208) \"(\"\n SYMBOL: (33208..33212)\n IDENTIFIER: (33208..33212) \"test\"\n ATMOSPHERE: (33212..33213) \" \"\n CONSTANT: (33213..33215)\n BOOLEAN: (33213..33215) \"#f\"\n ATMOSPHERE: (33215..33216) \" \"\n FORM: (33216..33233)\n OPEN_PAREN: (33216..33217) \"(\"\n SYMBOL: (33217..33224)\n IDENTIFIER: (33217..33224) \"char<=?\"\n ATMOSPHERE: (33224..33225) \" \"\n CONSTANT: (33225..33228)\n CHARACTER: (33225..33228) \"#\\b\"\n ATMOSPHERE: (33228..33229) \" \"\n CONSTANT: (33229..33232)\n CHARACTER: (33229..33232) \"#\\a\"\n CLOSE_PAREN: (33232..33233) \")\"\n CLOSE_PAREN: (33233..33234) \")\"\n ATMOSPHERE: (33234..33235) \"\n\"\n FORM: (33235..33262)\n OPEN_PAREN: (33235..33236) \"(\"\n SYMBOL: (33236..33240)\n IDENTIFIER: (33236..33240) \"test\"\n ATMOSPHERE: (33240..33241) \" \"\n CONSTANT: (33241..33243)\n BOOLEAN: (33241..33243) \"#f\"\n ATMOSPHERE: (33243..33244) \" \"\n FORM: (33244..33261)\n OPEN_PAREN: (33244..33245) \"(\"\n SYMBOL: (33245..33252)\n IDENTIFIER: (33245..33252) \"char>=?\"\n ATMOSPHERE: (33252..33253) \" \"\n CONSTANT: (33253..33256)\n CHARACTER: (33253..33256) \"#\\a\"\n ATMOSPHERE: (33256..33257) \" \"\n CONSTANT: (33257..33260)\n CHARACTER: (33257..33260) \"#\\b\"\n CLOSE_PAREN: (33260..33261) \")\"\n CLOSE_PAREN: (33261..33262) \")\"\n ATMOSPHERE: (33262..33263) \"\n\"\n FORM: (33263..33290)\n OPEN_PAREN: (33263..33264) \"(\"\n SYMBOL: (33264..33268)\n IDENTIFIER: (33264..33268) \"test\"\n ATMOSPHERE: (33268..33269) \" \"\n CONSTANT: (33269..33271)\n BOOLEAN: (33269..33271) \"#t\"\n ATMOSPHERE: (33271..33272) \" \"\n FORM: (33272..33289)\n OPEN_PAREN: (33272..33273) \"(\"\n SYMBOL: (33273..33280)\n IDENTIFIER: (33273..33280) \"char>=?\"\n ATMOSPHERE: (33280..33281) \" \"\n CONSTANT: (33281..33284)\n CHARACTER: (33281..33284) \"#\\a\"\n ATMOSPHERE: (33284..33285) \" \"\n CONSTANT: (33285..33288)\n CHARACTER: (33285..33288) \"#\\a\"\n CLOSE_PAREN: (33288..33289) \")\"\n CLOSE_PAREN: (33289..33290) \")\"\n ATMOSPHERE: (33290..33291) \"\n\"\n FORM: (33291..33322)\n OPEN_PAREN: (33291..33292) \"(\"\n SYMBOL: (33292..33296)\n IDENTIFIER: (33292..33296) \"test\"\n ATMOSPHERE: (33296..33297) \" \"\n CONSTANT: (33297..33299)\n BOOLEAN: (33297..33299) \"#t\"\n ATMOSPHERE: (33299..33300) \" \"\n FORM: (33300..33321)\n OPEN_PAREN: (33300..33301) \"(\"\n SYMBOL: (33301..33308)\n IDENTIFIER: (33301..33308) \"char>=?\"\n ATMOSPHERE: (33308..33309) \" \"\n CONSTANT: (33309..33312)\n CHARACTER: (33309..33312) \"#\\b\"\n ATMOSPHERE: (33312..33313) \" \"\n CONSTANT: (33313..33316)\n CHARACTER: (33313..33316) \"#\\b\"\n ATMOSPHERE: (33316..33317) \" \"\n CONSTANT: (33317..33320)\n CHARACTER: (33317..33320) \"#\\a\"\n CLOSE_PAREN: (33320..33321) \")\"\n CLOSE_PAREN: (33321..33322) \")\"\n ATMOSPHERE: (33322..33324) \"\n\n\"\n FORM: (33324..33353)\n OPEN_PAREN: (33324..33325) \"(\"\n SYMBOL: (33325..33329)\n IDENTIFIER: (33325..33329) \"test\"\n ATMOSPHERE: (33329..33330) \" \"\n CONSTANT: (33330..33332)\n BOOLEAN: (33330..33332) \"#t\"\n ATMOSPHERE: (33332..33333) \" \"\n FORM: (33333..33352)\n OPEN_PAREN: (33333..33334) \"(\"\n SYMBOL: (33334..33343)\n IDENTIFIER: (33334..33343) \"char-ci=?\"\n ATMOSPHERE: (33343..33344) \" \"\n CONSTANT: (33344..33347)\n CHARACTER: (33344..33347) \"#\\a\"\n ATMOSPHERE: (33347..33348) \" \"\n CONSTANT: (33348..33351)\n CHARACTER: (33348..33351) \"#\\a\"\n CLOSE_PAREN: (33351..33352) \")\"\n CLOSE_PAREN: (33352..33353) \")\"\n ATMOSPHERE: (33353..33354) \"\n\"\n FORM: (33354..33387)\n OPEN_PAREN: (33354..33355) \"(\"\n SYMBOL: (33355..33359)\n IDENTIFIER: (33355..33359) \"test\"\n ATMOSPHERE: (33359..33360) \" \"\n CONSTANT: (33360..33362)\n BOOLEAN: (33360..33362) \"#t\"\n ATMOSPHERE: (33362..33363) \" \"\n FORM: (33363..33386)\n OPEN_PAREN: (33363..33364) \"(\"\n SYMBOL: (33364..33373)\n IDENTIFIER: (33364..33373) \"char-ci=?\"\n ATMOSPHERE: (33373..33374) \" \"\n CONSTANT: (33374..33377)\n CHARACTER: (33374..33377) \"#\\a\"\n ATMOSPHERE: (33377..33378) \" \"\n CONSTANT: (33378..33381)\n CHARACTER: (33378..33381) \"#\\A\"\n ATMOSPHERE: (33381..33382) \" \"\n CONSTANT: (33382..33385)\n CHARACTER: (33382..33385) \"#\\a\"\n CLOSE_PAREN: (33385..33386) \")\"\n CLOSE_PAREN: (33386..33387) \")\"\n ATMOSPHERE: (33387..33388) \"\n\"\n FORM: (33388..33417)\n OPEN_PAREN: (33388..33389) \"(\"\n SYMBOL: (33389..33393)\n IDENTIFIER: (33389..33393) \"test\"\n ATMOSPHERE: (33393..33394) \" \"\n CONSTANT: (33394..33396)\n BOOLEAN: (33394..33396) \"#f\"\n ATMOSPHERE: (33396..33397) \" \"\n FORM: (33397..33416)\n OPEN_PAREN: (33397..33398) \"(\"\n SYMBOL: (33398..33407)\n IDENTIFIER: (33398..33407) \"char-ci=?\"\n ATMOSPHERE: (33407..33408) \" \"\n CONSTANT: (33408..33411)\n CHARACTER: (33408..33411) \"#\\a\"\n ATMOSPHERE: (33411..33412) \" \"\n CONSTANT: (33412..33415)\n CHARACTER: (33412..33415) \"#\\b\"\n CLOSE_PAREN: (33415..33416) \")\"\n CLOSE_PAREN: (33416..33417) \")\"\n ATMOSPHERE: (33417..33418) \"\n\"\n FORM: (33418..33451)\n OPEN_PAREN: (33418..33419) \"(\"\n SYMBOL: (33419..33423)\n IDENTIFIER: (33419..33423) \"test\"\n ATMOSPHERE: (33423..33424) \" \"\n CONSTANT: (33424..33426)\n BOOLEAN: (33424..33426) \"#t\"\n ATMOSPHERE: (33426..33427) \" \"\n FORM: (33427..33450)\n OPEN_PAREN: (33427..33428) \"(\"\n SYMBOL: (33428..33437)\n IDENTIFIER: (33428..33437) \"char-ci?\"\n ATMOSPHERE: (33531..33532) \" \"\n CONSTANT: (33532..33535)\n CHARACTER: (33532..33535) \"#\\A\"\n ATMOSPHERE: (33535..33536) \" \"\n CONSTANT: (33536..33539)\n CHARACTER: (33536..33539) \"#\\b\"\n CLOSE_PAREN: (33539..33540) \")\"\n CLOSE_PAREN: (33540..33541) \")\"\n ATMOSPHERE: (33541..33542) \"\n\"\n FORM: (33542..33571)\n OPEN_PAREN: (33542..33543) \"(\"\n SYMBOL: (33543..33547)\n IDENTIFIER: (33543..33547) \"test\"\n ATMOSPHERE: (33547..33548) \" \"\n CONSTANT: (33548..33550)\n BOOLEAN: (33548..33550) \"#f\"\n ATMOSPHERE: (33550..33551) \" \"\n FORM: (33551..33570)\n OPEN_PAREN: (33551..33552) \"(\"\n SYMBOL: (33552..33561)\n IDENTIFIER: (33552..33561) \"char-ci>?\"\n ATMOSPHERE: (33561..33562) \" \"\n CONSTANT: (33562..33565)\n CHARACTER: (33562..33565) \"#\\a\"\n ATMOSPHERE: (33565..33566) \" \"\n CONSTANT: (33566..33569)\n CHARACTER: (33566..33569) \"#\\A\"\n CLOSE_PAREN: (33569..33570) \")\"\n CLOSE_PAREN: (33570..33571) \")\"\n ATMOSPHERE: (33571..33572) \"\n\"\n FORM: (33572..33605)\n OPEN_PAREN: (33572..33573) \"(\"\n SYMBOL: (33573..33577)\n IDENTIFIER: (33573..33577) \"test\"\n ATMOSPHERE: (33577..33578) \" \"\n CONSTANT: (33578..33580)\n BOOLEAN: (33578..33580) \"#t\"\n ATMOSPHERE: (33580..33581) \" \"\n FORM: (33581..33604)\n OPEN_PAREN: (33581..33582) \"(\"\n SYMBOL: (33582..33591)\n IDENTIFIER: (33582..33591) \"char-ci>?\"\n ATMOSPHERE: (33591..33592) \" \"\n CONSTANT: (33592..33595)\n CHARACTER: (33592..33595) \"#\\c\"\n ATMOSPHERE: (33595..33596) \" \"\n CONSTANT: (33596..33599)\n CHARACTER: (33596..33599) \"#\\B\"\n ATMOSPHERE: (33599..33600) \" \"\n CONSTANT: (33600..33603)\n CHARACTER: (33600..33603) \"#\\a\"\n CLOSE_PAREN: (33603..33604) \")\"\n CLOSE_PAREN: (33604..33605) \")\"\n ATMOSPHERE: (33605..33606) \"\n\"\n FORM: (33606..33640)\n OPEN_PAREN: (33606..33607) \"(\"\n SYMBOL: (33607..33611)\n IDENTIFIER: (33607..33611) \"test\"\n ATMOSPHERE: (33611..33612) \" \"\n CONSTANT: (33612..33614)\n BOOLEAN: (33612..33614) \"#t\"\n ATMOSPHERE: (33614..33615) \" \"\n FORM: (33615..33639)\n OPEN_PAREN: (33615..33616) \"(\"\n SYMBOL: (33616..33626)\n IDENTIFIER: (33616..33626) \"char-ci<=?\"\n ATMOSPHERE: (33626..33627) \" \"\n CONSTANT: (33627..33630)\n CHARACTER: (33627..33630) \"#\\a\"\n ATMOSPHERE: (33630..33631) \" \"\n CONSTANT: (33631..33634)\n CHARACTER: (33631..33634) \"#\\B\"\n ATMOSPHERE: (33634..33635) \" \"\n CONSTANT: (33635..33638)\n CHARACTER: (33635..33638) \"#\\b\"\n CLOSE_PAREN: (33638..33639) \")\"\n CLOSE_PAREN: (33639..33640) \")\"\n ATMOSPHERE: (33640..33641) \"\n\"\n FORM: (33641..33671)\n OPEN_PAREN: (33641..33642) \"(\"\n SYMBOL: (33642..33646)\n IDENTIFIER: (33642..33646) \"test\"\n ATMOSPHERE: (33646..33647) \" \"\n CONSTANT: (33647..33649)\n BOOLEAN: (33647..33649) \"#t\"\n ATMOSPHERE: (33649..33650) \" \"\n FORM: (33650..33670)\n OPEN_PAREN: (33650..33651) \"(\"\n SYMBOL: (33651..33661)\n IDENTIFIER: (33651..33661) \"char-ci<=?\"\n ATMOSPHERE: (33661..33662) \" \"\n CONSTANT: (33662..33665)\n CHARACTER: (33662..33665) \"#\\A\"\n ATMOSPHERE: (33665..33666) \" \"\n CONSTANT: (33666..33669)\n CHARACTER: (33666..33669) \"#\\a\"\n CLOSE_PAREN: (33669..33670) \")\"\n CLOSE_PAREN: (33670..33671) \")\"\n ATMOSPHERE: (33671..33672) \"\n\"\n FORM: (33672..33702)\n OPEN_PAREN: (33672..33673) \"(\"\n SYMBOL: (33673..33677)\n IDENTIFIER: (33673..33677) \"test\"\n ATMOSPHERE: (33677..33678) \" \"\n CONSTANT: (33678..33680)\n BOOLEAN: (33678..33680) \"#f\"\n ATMOSPHERE: (33680..33681) \" \"\n FORM: (33681..33701)\n OPEN_PAREN: (33681..33682) \"(\"\n SYMBOL: (33682..33692)\n IDENTIFIER: (33682..33692) \"char-ci<=?\"\n ATMOSPHERE: (33692..33693) \" \"\n CONSTANT: (33693..33696)\n CHARACTER: (33693..33696) \"#\\b\"\n ATMOSPHERE: (33696..33697) \" \"\n CONSTANT: (33697..33700)\n CHARACTER: (33697..33700) \"#\\A\"\n CLOSE_PAREN: (33700..33701) \")\"\n CLOSE_PAREN: (33701..33702) \")\"\n ATMOSPHERE: (33702..33703) \"\n\"\n FORM: (33703..33733)\n OPEN_PAREN: (33703..33704) \"(\"\n SYMBOL: (33704..33708)\n IDENTIFIER: (33704..33708) \"test\"\n ATMOSPHERE: (33708..33709) \" \"\n CONSTANT: (33709..33711)\n BOOLEAN: (33709..33711) \"#f\"\n ATMOSPHERE: (33711..33712) \" \"\n FORM: (33712..33732)\n OPEN_PAREN: (33712..33713) \"(\"\n SYMBOL: (33713..33723)\n IDENTIFIER: (33713..33723) \"char-ci>=?\"\n ATMOSPHERE: (33723..33724) \" \"\n CONSTANT: (33724..33727)\n CHARACTER: (33724..33727) \"#\\A\"\n ATMOSPHERE: (33727..33728) \" \"\n CONSTANT: (33728..33731)\n CHARACTER: (33728..33731) \"#\\b\"\n CLOSE_PAREN: (33731..33732) \")\"\n CLOSE_PAREN: (33732..33733) \")\"\n ATMOSPHERE: (33733..33734) \"\n\"\n FORM: (33734..33764)\n OPEN_PAREN: (33734..33735) \"(\"\n SYMBOL: (33735..33739)\n IDENTIFIER: (33735..33739) \"test\"\n ATMOSPHERE: (33739..33740) \" \"\n CONSTANT: (33740..33742)\n BOOLEAN: (33740..33742) \"#t\"\n ATMOSPHERE: (33742..33743) \" \"\n FORM: (33743..33763)\n OPEN_PAREN: (33743..33744) \"(\"\n SYMBOL: (33744..33754)\n IDENTIFIER: (33744..33754) \"char-ci>=?\"\n ATMOSPHERE: (33754..33755) \" \"\n CONSTANT: (33755..33758)\n CHARACTER: (33755..33758) \"#\\a\"\n ATMOSPHERE: (33758..33759) \" \"\n CONSTANT: (33759..33762)\n CHARACTER: (33759..33762) \"#\\A\"\n CLOSE_PAREN: (33762..33763) \")\"\n CLOSE_PAREN: (33763..33764) \")\"\n ATMOSPHERE: (33764..33765) \"\n\"\n FORM: (33765..33799)\n OPEN_PAREN: (33765..33766) \"(\"\n SYMBOL: (33766..33770)\n IDENTIFIER: (33766..33770) \"test\"\n ATMOSPHERE: (33770..33771) \" \"\n CONSTANT: (33771..33773)\n BOOLEAN: (33771..33773) \"#t\"\n ATMOSPHERE: (33773..33774) \" \"\n FORM: (33774..33798)\n OPEN_PAREN: (33774..33775) \"(\"\n SYMBOL: (33775..33785)\n IDENTIFIER: (33775..33785) \"char-ci>=?\"\n ATMOSPHERE: (33785..33786) \" \"\n CONSTANT: (33786..33789)\n CHARACTER: (33786..33789) \"#\\b\"\n ATMOSPHERE: (33789..33790) \" \"\n CONSTANT: (33790..33793)\n CHARACTER: (33790..33793) \"#\\B\"\n ATMOSPHERE: (33793..33794) \" \"\n CONSTANT: (33794..33797)\n CHARACTER: (33794..33797) \"#\\a\"\n CLOSE_PAREN: (33797..33798) \")\"\n CLOSE_PAREN: (33798..33799) \")\"\n ATMOSPHERE: (33799..33801) \"\n\n\"\n FORM: (33801..33833)\n OPEN_PAREN: (33801..33802) \"(\"\n SYMBOL: (33802..33806)\n IDENTIFIER: (33802..33806) \"test\"\n ATMOSPHERE: (33806..33807) \" \"\n CONSTANT: (33807..33809)\n BOOLEAN: (33807..33809) \"#t\"\n ATMOSPHERE: (33809..33810) \" \"\n FORM: (33810..33832)\n OPEN_PAREN: (33810..33811) \"(\"\n SYMBOL: (33811..33827)\n IDENTIFIER: (33811..33827) \"char-alphabetic?\"\n ATMOSPHERE: (33827..33828) \" \"\n CONSTANT: (33828..33831)\n CHARACTER: (33828..33831) \"#\\a\"\n CLOSE_PAREN: (33831..33832) \")\"\n CLOSE_PAREN: (33832..33833) \")\"\n ATMOSPHERE: (33833..33834) \"\n\"\n FORM: (33834..33870)\n OPEN_PAREN: (33834..33835) \"(\"\n SYMBOL: (33835..33839)\n IDENTIFIER: (33835..33839) \"test\"\n ATMOSPHERE: (33839..33840) \" \"\n CONSTANT: (33840..33842)\n BOOLEAN: (33840..33842) \"#f\"\n ATMOSPHERE: (33842..33843) \" \"\n FORM: (33843..33869)\n OPEN_PAREN: (33843..33844) \"(\"\n SYMBOL: (33844..33860)\n IDENTIFIER: (33844..33860) \"char-alphabetic?\"\n ATMOSPHERE: (33860..33861) \" \"\n CONSTANT: (33861..33868)\n CHARACTER: (33861..33868) \"#\\space\"\n CLOSE_PAREN: (33868..33869) \")\"\n CLOSE_PAREN: (33869..33870) \")\"\n ATMOSPHERE: (33870..33871) \"\n\"\n FORM: (33871..33900)\n OPEN_PAREN: (33871..33872) \"(\"\n SYMBOL: (33872..33876)\n IDENTIFIER: (33872..33876) \"test\"\n ATMOSPHERE: (33876..33877) \" \"\n CONSTANT: (33877..33879)\n BOOLEAN: (33877..33879) \"#t\"\n ATMOSPHERE: (33879..33880) \" \"\n FORM: (33880..33899)\n OPEN_PAREN: (33880..33881) \"(\"\n SYMBOL: (33881..33894)\n IDENTIFIER: (33881..33894) \"char-numeric?\"\n ATMOSPHERE: (33894..33895) \" \"\n CONSTANT: (33895..33898)\n CHARACTER: (33895..33898) \"#\\0\"\n CLOSE_PAREN: (33898..33899) \")\"\n CLOSE_PAREN: (33899..33900) \")\"\n ATMOSPHERE: (33900..33901) \"\n\"\n FORM: (33901..33930)\n OPEN_PAREN: (33901..33902) \"(\"\n SYMBOL: (33902..33906)\n IDENTIFIER: (33902..33906) \"test\"\n ATMOSPHERE: (33906..33907) \" \"\n CONSTANT: (33907..33909)\n BOOLEAN: (33907..33909) \"#f\"\n ATMOSPHERE: (33909..33910) \" \"\n FORM: (33910..33929)\n OPEN_PAREN: (33910..33911) \"(\"\n SYMBOL: (33911..33924)\n IDENTIFIER: (33911..33924) \"char-numeric?\"\n ATMOSPHERE: (33924..33925) \" \"\n CONSTANT: (33925..33928)\n CHARACTER: (33925..33928) \"#\\.\"\n CLOSE_PAREN: (33928..33929) \")\"\n CLOSE_PAREN: (33929..33930) \")\"\n ATMOSPHERE: (33930..33931) \"\n\"\n FORM: (33931..33960)\n OPEN_PAREN: (33931..33932) \"(\"\n SYMBOL: (33932..33936)\n IDENTIFIER: (33932..33936) \"test\"\n ATMOSPHERE: (33936..33937) \" \"\n CONSTANT: (33937..33939)\n BOOLEAN: (33937..33939) \"#f\"\n ATMOSPHERE: (33939..33940) \" \"\n FORM: (33940..33959)\n OPEN_PAREN: (33940..33941) \"(\"\n SYMBOL: (33941..33954)\n IDENTIFIER: (33941..33954) \"char-numeric?\"\n ATMOSPHERE: (33954..33955) \" \"\n CONSTANT: (33955..33958)\n CHARACTER: (33955..33958) \"#\\a\"\n CLOSE_PAREN: (33958..33959) \")\"\n CLOSE_PAREN: (33959..33960) \")\"\n ATMOSPHERE: (33960..33961) \"\n\"\n FORM: (33961..33997)\n OPEN_PAREN: (33961..33962) \"(\"\n SYMBOL: (33962..33966)\n IDENTIFIER: (33962..33966) \"test\"\n ATMOSPHERE: (33966..33967) \" \"\n CONSTANT: (33967..33969)\n BOOLEAN: (33967..33969) \"#t\"\n ATMOSPHERE: (33969..33970) \" \"\n FORM: (33970..33996)\n OPEN_PAREN: (33970..33971) \"(\"\n SYMBOL: (33971..33987)\n IDENTIFIER: (33971..33987) \"char-whitespace?\"\n ATMOSPHERE: (33987..33988) \" \"\n CONSTANT: (33988..33995)\n CHARACTER: (33988..33995) \"#\\space\"\n CLOSE_PAREN: (33995..33996) \")\"\n CLOSE_PAREN: (33996..33997) \")\"\n ATMOSPHERE: (33997..33998) \"\n\"\n FORM: (33998..34032)\n OPEN_PAREN: (33998..33999) \"(\"\n SYMBOL: (33999..34003)\n IDENTIFIER: (33999..34003) \"test\"\n ATMOSPHERE: (34003..34004) \" \"\n CONSTANT: (34004..34006)\n BOOLEAN: (34004..34006) \"#t\"\n ATMOSPHERE: (34006..34007) \" \"\n FORM: (34007..34031)\n OPEN_PAREN: (34007..34008) \"(\"\n SYMBOL: (34008..34024)\n IDENTIFIER: (34008..34024) \"char-whitespace?\"\n ATMOSPHERE: (34024..34025) \" \"\n CONSTANT: (34025..34030)\n CHARACTER: (34025..34030) \"#\\tab\"\n CLOSE_PAREN: (34030..34031) \")\"\n CLOSE_PAREN: (34031..34032) \")\"\n ATMOSPHERE: (34032..34033) \"\n\"\n FORM: (34033..34071)\n OPEN_PAREN: (34033..34034) \"(\"\n SYMBOL: (34034..34038)\n IDENTIFIER: (34034..34038) \"test\"\n ATMOSPHERE: (34038..34039) \" \"\n CONSTANT: (34039..34041)\n BOOLEAN: (34039..34041) \"#t\"\n ATMOSPHERE: (34041..34042) \" \"\n FORM: (34042..34070)\n OPEN_PAREN: (34042..34043) \"(\"\n SYMBOL: (34043..34059)\n IDENTIFIER: (34043..34059) \"char-whitespace?\"\n ATMOSPHERE: (34059..34060) \" \"\n CONSTANT: (34060..34069)\n CHARACTER: (34060..34069) \"#\\newline\"\n CLOSE_PAREN: (34069..34070) \")\"\n CLOSE_PAREN: (34070..34071) \")\"\n ATMOSPHERE: (34071..34072) \"\n\"\n FORM: (34072..34104)\n OPEN_PAREN: (34072..34073) \"(\"\n SYMBOL: (34073..34077)\n IDENTIFIER: (34073..34077) \"test\"\n ATMOSPHERE: (34077..34078) \" \"\n CONSTANT: (34078..34080)\n BOOLEAN: (34078..34080) \"#f\"\n ATMOSPHERE: (34080..34081) \" \"\n FORM: (34081..34103)\n OPEN_PAREN: (34081..34082) \"(\"\n SYMBOL: (34082..34098)\n IDENTIFIER: (34082..34098) \"char-whitespace?\"\n ATMOSPHERE: (34098..34099) \" \"\n CONSTANT: (34099..34102)\n CHARACTER: (34099..34102) \"#\\_\"\n CLOSE_PAREN: (34102..34103) \")\"\n CLOSE_PAREN: (34103..34104) \")\"\n ATMOSPHERE: (34104..34105) \"\n\"\n FORM: (34105..34137)\n OPEN_PAREN: (34105..34106) \"(\"\n SYMBOL: (34106..34110)\n IDENTIFIER: (34106..34110) \"test\"\n ATMOSPHERE: (34110..34111) \" \"\n CONSTANT: (34111..34113)\n BOOLEAN: (34111..34113) \"#f\"\n ATMOSPHERE: (34113..34114) \" \"\n FORM: (34114..34136)\n OPEN_PAREN: (34114..34115) \"(\"\n SYMBOL: (34115..34131)\n IDENTIFIER: (34115..34131) \"char-whitespace?\"\n ATMOSPHERE: (34131..34132) \" \"\n CONSTANT: (34132..34135)\n CHARACTER: (34132..34135) \"#\\a\"\n CLOSE_PAREN: (34135..34136) \")\"\n CLOSE_PAREN: (34136..34137) \")\"\n ATMOSPHERE: (34137..34138) \"\n\"\n FORM: (34138..34170)\n OPEN_PAREN: (34138..34139) \"(\"\n SYMBOL: (34139..34143)\n IDENTIFIER: (34139..34143) \"test\"\n ATMOSPHERE: (34143..34144) \" \"\n CONSTANT: (34144..34146)\n BOOLEAN: (34144..34146) \"#t\"\n ATMOSPHERE: (34146..34147) \" \"\n FORM: (34147..34169)\n OPEN_PAREN: (34147..34148) \"(\"\n SYMBOL: (34148..34164)\n IDENTIFIER: (34148..34164) \"char-upper-case?\"\n ATMOSPHERE: (34164..34165) \" \"\n CONSTANT: (34165..34168)\n CHARACTER: (34165..34168) \"#\\A\"\n CLOSE_PAREN: (34168..34169) \")\"\n CLOSE_PAREN: (34169..34170) \")\"\n ATMOSPHERE: (34170..34171) \"\n\"\n FORM: (34171..34203)\n OPEN_PAREN: (34171..34172) \"(\"\n SYMBOL: (34172..34176)\n IDENTIFIER: (34172..34176) \"test\"\n ATMOSPHERE: (34176..34177) \" \"\n CONSTANT: (34177..34179)\n BOOLEAN: (34177..34179) \"#f\"\n ATMOSPHERE: (34179..34180) \" \"\n FORM: (34180..34202)\n OPEN_PAREN: (34180..34181) \"(\"\n SYMBOL: (34181..34197)\n IDENTIFIER: (34181..34197) \"char-upper-case?\"\n ATMOSPHERE: (34197..34198) \" \"\n CONSTANT: (34198..34201)\n CHARACTER: (34198..34201) \"#\\a\"\n CLOSE_PAREN: (34201..34202) \")\"\n CLOSE_PAREN: (34202..34203) \")\"\n ATMOSPHERE: (34203..34204) \"\n\"\n FORM: (34204..34236)\n OPEN_PAREN: (34204..34205) \"(\"\n SYMBOL: (34205..34209)\n IDENTIFIER: (34205..34209) \"test\"\n ATMOSPHERE: (34209..34210) \" \"\n CONSTANT: (34210..34212)\n BOOLEAN: (34210..34212) \"#f\"\n ATMOSPHERE: (34212..34213) \" \"\n FORM: (34213..34235)\n OPEN_PAREN: (34213..34214) \"(\"\n SYMBOL: (34214..34230)\n IDENTIFIER: (34214..34230) \"char-upper-case?\"\n ATMOSPHERE: (34230..34231) \" \"\n CONSTANT: (34231..34234)\n CHARACTER: (34231..34234) \"#\\3\"\n CLOSE_PAREN: (34234..34235) \")\"\n CLOSE_PAREN: (34235..34236) \")\"\n ATMOSPHERE: (34236..34237) \"\n\"\n FORM: (34237..34269)\n OPEN_PAREN: (34237..34238) \"(\"\n SYMBOL: (34238..34242)\n IDENTIFIER: (34238..34242) \"test\"\n ATMOSPHERE: (34242..34243) \" \"\n CONSTANT: (34243..34245)\n BOOLEAN: (34243..34245) \"#t\"\n ATMOSPHERE: (34245..34246) \" \"\n FORM: (34246..34268)\n OPEN_PAREN: (34246..34247) \"(\"\n SYMBOL: (34247..34263)\n IDENTIFIER: (34247..34263) \"char-lower-case?\"\n ATMOSPHERE: (34263..34264) \" \"\n CONSTANT: (34264..34267)\n CHARACTER: (34264..34267) \"#\\a\"\n CLOSE_PAREN: (34267..34268) \")\"\n CLOSE_PAREN: (34268..34269) \")\"\n ATMOSPHERE: (34269..34270) \"\n\"\n FORM: (34270..34302)\n OPEN_PAREN: (34270..34271) \"(\"\n SYMBOL: (34271..34275)\n IDENTIFIER: (34271..34275) \"test\"\n ATMOSPHERE: (34275..34276) \" \"\n CONSTANT: (34276..34278)\n BOOLEAN: (34276..34278) \"#f\"\n ATMOSPHERE: (34278..34279) \" \"\n FORM: (34279..34301)\n OPEN_PAREN: (34279..34280) \"(\"\n SYMBOL: (34280..34296)\n IDENTIFIER: (34280..34296) \"char-lower-case?\"\n ATMOSPHERE: (34296..34297) \" \"\n CONSTANT: (34297..34300)\n CHARACTER: (34297..34300) \"#\\A\"\n CLOSE_PAREN: (34300..34301) \")\"\n CLOSE_PAREN: (34301..34302) \")\"\n ATMOSPHERE: (34302..34303) \"\n\"\n FORM: (34303..34335)\n OPEN_PAREN: (34303..34304) \"(\"\n SYMBOL: (34304..34308)\n IDENTIFIER: (34304..34308) \"test\"\n ATMOSPHERE: (34308..34309) \" \"\n CONSTANT: (34309..34311)\n BOOLEAN: (34309..34311) \"#f\"\n ATMOSPHERE: (34311..34312) \" \"\n FORM: (34312..34334)\n OPEN_PAREN: (34312..34313) \"(\"\n SYMBOL: (34313..34329)\n IDENTIFIER: (34313..34329) \"char-lower-case?\"\n ATMOSPHERE: (34329..34330) \" \"\n CONSTANT: (34330..34333)\n CHARACTER: (34330..34333) \"#\\3\"\n CLOSE_PAREN: (34333..34334) \")\"\n CLOSE_PAREN: (34334..34335) \")\"\n ATMOSPHERE: (34335..34337) \"\n\n\"\n FORM: (34337..34369)\n OPEN_PAREN: (34337..34338) \"(\"\n SYMBOL: (34338..34342)\n IDENTIFIER: (34338..34342) \"test\"\n ATMOSPHERE: (34342..34343) \" \"\n CONSTANT: (34343..34345)\n BOOLEAN: (34343..34345) \"#t\"\n ATMOSPHERE: (34345..34346) \" \"\n FORM: (34346..34368)\n OPEN_PAREN: (34346..34347) \"(\"\n SYMBOL: (34347..34363)\n IDENTIFIER: (34347..34363) \"char-alphabetic?\"\n ATMOSPHERE: (34363..34364) \" \"\n CONSTANT: (34364..34367)\n CHARACTER: (34364..34367) \"#\\Λ\"\n CLOSE_PAREN: (34367..34368) \")\"\n CLOSE_PAREN: (34368..34369) \")\"\n ATMOSPHERE: (34369..34370) \"\n\"\n FORM: (34370..34406)\n OPEN_PAREN: (34370..34371) \"(\"\n SYMBOL: (34371..34375)\n IDENTIFIER: (34371..34375) \"test\"\n ATMOSPHERE: (34375..34376) \" \"\n CONSTANT: (34376..34378)\n BOOLEAN: (34376..34378) \"#f\"\n ATMOSPHERE: (34378..34379) \" \"\n FORM: (34379..34405)\n OPEN_PAREN: (34379..34380) \"(\"\n SYMBOL: (34380..34396)\n IDENTIFIER: (34380..34396) \"char-alphabetic?\"\n ATMOSPHERE: (34396..34397) \" \"\n CONSTANT: (34397..34404)\n CHARACTER: (34397..34404) \"#\\x0E50\"\n CLOSE_PAREN: (34404..34405) \")\"\n CLOSE_PAREN: (34405..34406) \")\"\n ATMOSPHERE: (34406..34407) \"\n\"\n FORM: (34407..34439)\n OPEN_PAREN: (34407..34408) \"(\"\n SYMBOL: (34408..34412)\n IDENTIFIER: (34408..34412) \"test\"\n ATMOSPHERE: (34412..34413) \" \"\n CONSTANT: (34413..34415)\n BOOLEAN: (34413..34415) \"#t\"\n ATMOSPHERE: (34415..34416) \" \"\n FORM: (34416..34438)\n OPEN_PAREN: (34416..34417) \"(\"\n SYMBOL: (34417..34433)\n IDENTIFIER: (34417..34433) \"char-upper-case?\"\n ATMOSPHERE: (34433..34434) \" \"\n CONSTANT: (34434..34437)\n CHARACTER: (34434..34437) \"#\\Λ\"\n CLOSE_PAREN: (34437..34438) \")\"\n CLOSE_PAREN: (34438..34439) \")\"\n ATMOSPHERE: (34439..34440) \"\n\"\n FORM: (34440..34472)\n OPEN_PAREN: (34440..34441) \"(\"\n SYMBOL: (34441..34445)\n IDENTIFIER: (34441..34445) \"test\"\n ATMOSPHERE: (34445..34446) \" \"\n CONSTANT: (34446..34448)\n BOOLEAN: (34446..34448) \"#f\"\n ATMOSPHERE: (34448..34449) \" \"\n FORM: (34449..34471)\n OPEN_PAREN: (34449..34450) \"(\"\n SYMBOL: (34450..34466)\n IDENTIFIER: (34450..34466) \"char-upper-case?\"\n ATMOSPHERE: (34466..34467) \" \"\n CONSTANT: (34467..34470)\n CHARACTER: (34467..34470) \"#\\λ\"\n CLOSE_PAREN: (34470..34471) \")\"\n CLOSE_PAREN: (34471..34472) \")\"\n ATMOSPHERE: (34472..34473) \"\n\"\n FORM: (34473..34505)\n OPEN_PAREN: (34473..34474) \"(\"\n SYMBOL: (34474..34478)\n IDENTIFIER: (34474..34478) \"test\"\n ATMOSPHERE: (34478..34479) \" \"\n CONSTANT: (34479..34481)\n BOOLEAN: (34479..34481) \"#f\"\n ATMOSPHERE: (34481..34482) \" \"\n FORM: (34482..34504)\n OPEN_PAREN: (34482..34483) \"(\"\n SYMBOL: (34483..34499)\n IDENTIFIER: (34483..34499) \"char-lower-case?\"\n ATMOSPHERE: (34499..34500) \" \"\n CONSTANT: (34500..34503)\n CHARACTER: (34500..34503) \"#\\Λ\"\n CLOSE_PAREN: (34503..34504) \")\"\n CLOSE_PAREN: (34504..34505) \")\"\n ATMOSPHERE: (34505..34506) \"\n\"\n FORM: (34506..34538)\n OPEN_PAREN: (34506..34507) \"(\"\n SYMBOL: (34507..34511)\n IDENTIFIER: (34507..34511) \"test\"\n ATMOSPHERE: (34511..34512) \" \"\n CONSTANT: (34512..34514)\n BOOLEAN: (34512..34514) \"#t\"\n ATMOSPHERE: (34514..34515) \" \"\n FORM: (34515..34537)\n OPEN_PAREN: (34515..34516) \"(\"\n SYMBOL: (34516..34532)\n IDENTIFIER: (34516..34532) \"char-lower-case?\"\n ATMOSPHERE: (34532..34533) \" \"\n CONSTANT: (34533..34536)\n CHARACTER: (34533..34536) \"#\\λ\"\n CLOSE_PAREN: (34536..34537) \")\"\n CLOSE_PAREN: (34537..34538) \")\"\n ATMOSPHERE: (34538..34539) \"\n\"\n FORM: (34539..34568)\n OPEN_PAREN: (34539..34540) \"(\"\n SYMBOL: (34540..34544)\n IDENTIFIER: (34540..34544) \"test\"\n ATMOSPHERE: (34544..34545) \" \"\n CONSTANT: (34545..34547)\n BOOLEAN: (34545..34547) \"#f\"\n ATMOSPHERE: (34547..34548) \" \"\n FORM: (34548..34567)\n OPEN_PAREN: (34548..34549) \"(\"\n SYMBOL: (34549..34562)\n IDENTIFIER: (34549..34562) \"char-numeric?\"\n ATMOSPHERE: (34562..34563) \" \"\n CONSTANT: (34563..34566)\n CHARACTER: (34563..34566) \"#\\Λ\"\n CLOSE_PAREN: (34566..34567) \")\"\n CLOSE_PAREN: (34567..34568) \")\"\n ATMOSPHERE: (34568..34569) \"\n\"\n FORM: (34569..34602)\n OPEN_PAREN: (34569..34570) \"(\"\n SYMBOL: (34570..34574)\n IDENTIFIER: (34570..34574) \"test\"\n ATMOSPHERE: (34574..34575) \" \"\n CONSTANT: (34575..34577)\n BOOLEAN: (34575..34577) \"#t\"\n ATMOSPHERE: (34577..34578) \" \"\n FORM: (34578..34601)\n OPEN_PAREN: (34578..34579) \"(\"\n SYMBOL: (34579..34592)\n IDENTIFIER: (34579..34592) \"char-numeric?\"\n ATMOSPHERE: (34592..34593) \" \"\n CONSTANT: (34593..34600)\n CHARACTER: (34593..34600) \"#\\x0E50\"\n CLOSE_PAREN: (34600..34601) \")\"\n CLOSE_PAREN: (34601..34602) \")\"\n ATMOSPHERE: (34602..34603) \"\n\"\n FORM: (34603..34639)\n OPEN_PAREN: (34603..34604) \"(\"\n SYMBOL: (34604..34608)\n IDENTIFIER: (34604..34608) \"test\"\n ATMOSPHERE: (34608..34609) \" \"\n CONSTANT: (34609..34611)\n BOOLEAN: (34609..34611) \"#t\"\n ATMOSPHERE: (34611..34612) \" \"\n FORM: (34612..34638)\n OPEN_PAREN: (34612..34613) \"(\"\n SYMBOL: (34613..34629)\n IDENTIFIER: (34613..34629) \"char-whitespace?\"\n ATMOSPHERE: (34629..34630) \" \"\n CONSTANT: (34630..34637)\n CHARACTER: (34630..34637) \"#\\x1680\"\n CLOSE_PAREN: (34637..34638) \")\"\n CLOSE_PAREN: (34638..34639) \")\"\n ATMOSPHERE: (34639..34641) \"\n\n\"\n FORM: (34641..34667)\n OPEN_PAREN: (34641..34642) \"(\"\n SYMBOL: (34642..34646)\n IDENTIFIER: (34642..34646) \"test\"\n ATMOSPHERE: (34646..34647) \" \"\n CONSTANT: (34647..34648)\n NUMBER: (34647..34648) \"0\"\n ATMOSPHERE: (34648..34649) \" \"\n FORM: (34649..34666)\n OPEN_PAREN: (34649..34650) \"(\"\n SYMBOL: (34650..34661)\n IDENTIFIER: (34650..34661) \"digit-value\"\n ATMOSPHERE: (34661..34662) \" \"\n CONSTANT: (34662..34665)\n CHARACTER: (34662..34665) \"#\\0\"\n CLOSE_PAREN: (34665..34666) \")\"\n CLOSE_PAREN: (34666..34667) \")\"\n ATMOSPHERE: (34667..34668) \"\n\"\n FORM: (34668..34694)\n OPEN_PAREN: (34668..34669) \"(\"\n SYMBOL: (34669..34673)\n IDENTIFIER: (34669..34673) \"test\"\n ATMOSPHERE: (34673..34674) \" \"\n CONSTANT: (34674..34675)\n NUMBER: (34674..34675) \"3\"\n ATMOSPHERE: (34675..34676) \" \"\n FORM: (34676..34693)\n OPEN_PAREN: (34676..34677) \"(\"\n SYMBOL: (34677..34688)\n IDENTIFIER: (34677..34688) \"digit-value\"\n ATMOSPHERE: (34688..34689) \" \"\n CONSTANT: (34689..34692)\n CHARACTER: (34689..34692) \"#\\3\"\n CLOSE_PAREN: (34692..34693) \")\"\n CLOSE_PAREN: (34693..34694) \")\"\n ATMOSPHERE: (34694..34695) \"\n\"\n FORM: (34695..34721)\n OPEN_PAREN: (34695..34696) \"(\"\n SYMBOL: (34696..34700)\n IDENTIFIER: (34696..34700) \"test\"\n ATMOSPHERE: (34700..34701) \" \"\n CONSTANT: (34701..34702)\n NUMBER: (34701..34702) \"9\"\n ATMOSPHERE: (34702..34703) \" \"\n FORM: (34703..34720)\n OPEN_PAREN: (34703..34704) \"(\"\n SYMBOL: (34704..34715)\n IDENTIFIER: (34704..34715) \"digit-value\"\n ATMOSPHERE: (34715..34716) \" \"\n CONSTANT: (34716..34719)\n CHARACTER: (34716..34719) \"#\\9\"\n CLOSE_PAREN: (34719..34720) \")\"\n CLOSE_PAREN: (34720..34721) \")\"\n ATMOSPHERE: (34721..34722) \"\n\"\n FORM: (34722..34752)\n OPEN_PAREN: (34722..34723) \"(\"\n SYMBOL: (34723..34727)\n IDENTIFIER: (34723..34727) \"test\"\n ATMOSPHERE: (34727..34728) \" \"\n CONSTANT: (34728..34729)\n NUMBER: (34728..34729) \"4\"\n ATMOSPHERE: (34729..34730) \" \"\n FORM: (34730..34751)\n OPEN_PAREN: (34730..34731) \"(\"\n SYMBOL: (34731..34742)\n IDENTIFIER: (34731..34742) \"digit-value\"\n ATMOSPHERE: (34742..34743) \" \"\n CONSTANT: (34743..34750)\n CHARACTER: (34743..34750) \"#\\x0664\"\n CLOSE_PAREN: (34750..34751) \")\"\n CLOSE_PAREN: (34751..34752) \")\"\n ATMOSPHERE: (34752..34753) \"\n\"\n FORM: (34753..34783)\n OPEN_PAREN: (34753..34754) \"(\"\n SYMBOL: (34754..34758)\n IDENTIFIER: (34754..34758) \"test\"\n ATMOSPHERE: (34758..34759) \" \"\n CONSTANT: (34759..34760)\n NUMBER: (34759..34760) \"0\"\n ATMOSPHERE: (34760..34761) \" \"\n FORM: (34761..34782)\n OPEN_PAREN: (34761..34762) \"(\"\n SYMBOL: (34762..34773)\n IDENTIFIER: (34762..34773) \"digit-value\"\n ATMOSPHERE: (34773..34774) \" \"\n CONSTANT: (34774..34781)\n CHARACTER: (34774..34781) \"#\\x0AE6\"\n CLOSE_PAREN: (34781..34782) \")\"\n CLOSE_PAREN: (34782..34783) \")\"\n ATMOSPHERE: (34783..34784) \"\n\"\n FORM: (34784..34811)\n OPEN_PAREN: (34784..34785) \"(\"\n SYMBOL: (34785..34789)\n IDENTIFIER: (34785..34789) \"test\"\n ATMOSPHERE: (34789..34790) \" \"\n CONSTANT: (34790..34792)\n BOOLEAN: (34790..34792) \"#f\"\n ATMOSPHERE: (34792..34793) \" \"\n FORM: (34793..34810)\n OPEN_PAREN: (34793..34794) \"(\"\n SYMBOL: (34794..34805)\n IDENTIFIER: (34794..34805) \"digit-value\"\n ATMOSPHERE: (34805..34806) \" \"\n CONSTANT: (34806..34809)\n CHARACTER: (34806..34809) \"#\\.\"\n CLOSE_PAREN: (34809..34810) \")\"\n CLOSE_PAREN: (34810..34811) \")\"\n ATMOSPHERE: (34811..34812) \"\n\"\n FORM: (34812..34839)\n OPEN_PAREN: (34812..34813) \"(\"\n SYMBOL: (34813..34817)\n IDENTIFIER: (34813..34817) \"test\"\n ATMOSPHERE: (34817..34818) \" \"\n CONSTANT: (34818..34820)\n BOOLEAN: (34818..34820) \"#f\"\n ATMOSPHERE: (34820..34821) \" \"\n FORM: (34821..34838)\n OPEN_PAREN: (34821..34822) \"(\"\n SYMBOL: (34822..34833)\n IDENTIFIER: (34822..34833) \"digit-value\"\n ATMOSPHERE: (34833..34834) \" \"\n CONSTANT: (34834..34837)\n CHARACTER: (34834..34837) \"#\\-\"\n CLOSE_PAREN: (34837..34838) \")\"\n CLOSE_PAREN: (34838..34839) \")\"\n ATMOSPHERE: (34839..34841) \"\n\n\"\n FORM: (34841..34870)\n OPEN_PAREN: (34841..34842) \"(\"\n SYMBOL: (34842..34846)\n IDENTIFIER: (34842..34846) \"test\"\n ATMOSPHERE: (34846..34847) \" \"\n CONSTANT: (34847..34849)\n NUMBER: (34847..34849) \"97\"\n ATMOSPHERE: (34849..34850) \" \"\n FORM: (34850..34869)\n OPEN_PAREN: (34850..34851) \"(\"\n SYMBOL: (34851..34864)\n IDENTIFIER: (34851..34864) \"char->integer\"\n ATMOSPHERE: (34864..34865) \" \"\n CONSTANT: (34865..34868)\n CHARACTER: (34865..34868) \"#\\a\"\n CLOSE_PAREN: (34868..34869) \")\"\n CLOSE_PAREN: (34869..34870) \")\"\n ATMOSPHERE: (34870..34871) \"\n\"\n FORM: (34871..34900)\n OPEN_PAREN: (34871..34872) \"(\"\n SYMBOL: (34872..34876)\n IDENTIFIER: (34872..34876) \"test\"\n ATMOSPHERE: (34876..34877) \" \"\n CONSTANT: (34877..34880)\n CHARACTER: (34877..34880) \"#\\a\"\n ATMOSPHERE: (34880..34881) \" \"\n FORM: (34881..34899)\n OPEN_PAREN: (34881..34882) \"(\"\n SYMBOL: (34882..34895)\n IDENTIFIER: (34882..34895) \"integer->char\"\n ATMOSPHERE: (34895..34896) \" \"\n CONSTANT: (34896..34898)\n NUMBER: (34896..34898) \"97\"\n CLOSE_PAREN: (34898..34899) \")\"\n CLOSE_PAREN: (34899..34900) \")\"\n ATMOSPHERE: (34900..34902) \"\n\n\"\n FORM: (34902..34930)\n OPEN_PAREN: (34902..34903) \"(\"\n SYMBOL: (34903..34907)\n IDENTIFIER: (34903..34907) \"test\"\n ATMOSPHERE: (34907..34908) \" \"\n CONSTANT: (34908..34911)\n CHARACTER: (34908..34911) \"#\\A\"\n ATMOSPHERE: (34911..34912) \" \"\n FORM: (34912..34929)\n OPEN_PAREN: (34912..34913) \"(\"\n SYMBOL: (34913..34924)\n IDENTIFIER: (34913..34924) \"char-upcase\"\n ATMOSPHERE: (34924..34925) \" \"\n CONSTANT: (34925..34928)\n CHARACTER: (34925..34928) \"#\\a\"\n CLOSE_PAREN: (34928..34929) \")\"\n CLOSE_PAREN: (34929..34930) \")\"\n ATMOSPHERE: (34930..34931) \"\n\"\n FORM: (34931..34959)\n OPEN_PAREN: (34931..34932) \"(\"\n SYMBOL: (34932..34936)\n IDENTIFIER: (34932..34936) \"test\"\n ATMOSPHERE: (34936..34937) \" \"\n CONSTANT: (34937..34940)\n CHARACTER: (34937..34940) \"#\\A\"\n ATMOSPHERE: (34940..34941) \" \"\n FORM: (34941..34958)\n OPEN_PAREN: (34941..34942) \"(\"\n SYMBOL: (34942..34953)\n IDENTIFIER: (34942..34953) \"char-upcase\"\n ATMOSPHERE: (34953..34954) \" \"\n CONSTANT: (34954..34957)\n CHARACTER: (34954..34957) \"#\\A\"\n CLOSE_PAREN: (34957..34958) \")\"\n CLOSE_PAREN: (34958..34959) \")\"\n ATMOSPHERE: (34959..34960) \"\n\"\n FORM: (34960..34990)\n OPEN_PAREN: (34960..34961) \"(\"\n SYMBOL: (34961..34965)\n IDENTIFIER: (34961..34965) \"test\"\n ATMOSPHERE: (34965..34966) \" \"\n CONSTANT: (34966..34969)\n CHARACTER: (34966..34969) \"#\\a\"\n ATMOSPHERE: (34969..34970) \" \"\n FORM: (34970..34989)\n OPEN_PAREN: (34970..34971) \"(\"\n SYMBOL: (34971..34984)\n IDENTIFIER: (34971..34984) \"char-downcase\"\n ATMOSPHERE: (34984..34985) \" \"\n CONSTANT: (34985..34988)\n CHARACTER: (34985..34988) \"#\\a\"\n CLOSE_PAREN: (34988..34989) \")\"\n CLOSE_PAREN: (34989..34990) \")\"\n ATMOSPHERE: (34990..34991) \"\n\"\n FORM: (34991..35021)\n OPEN_PAREN: (34991..34992) \"(\"\n SYMBOL: (34992..34996)\n IDENTIFIER: (34992..34996) \"test\"\n ATMOSPHERE: (34996..34997) \" \"\n CONSTANT: (34997..35000)\n CHARACTER: (34997..35000) \"#\\a\"\n ATMOSPHERE: (35000..35001) \" \"\n FORM: (35001..35020)\n OPEN_PAREN: (35001..35002) \"(\"\n SYMBOL: (35002..35015)\n IDENTIFIER: (35002..35015) \"char-downcase\"\n ATMOSPHERE: (35015..35016) \" \"\n CONSTANT: (35016..35019)\n CHARACTER: (35016..35019) \"#\\A\"\n CLOSE_PAREN: (35019..35020) \")\"\n CLOSE_PAREN: (35020..35021) \")\"\n ATMOSPHERE: (35021..35022) \"\n\"\n FORM: (35022..35052)\n OPEN_PAREN: (35022..35023) \"(\"\n SYMBOL: (35023..35027)\n IDENTIFIER: (35023..35027) \"test\"\n ATMOSPHERE: (35027..35028) \" \"\n CONSTANT: (35028..35031)\n CHARACTER: (35028..35031) \"#\\a\"\n ATMOSPHERE: (35031..35032) \" \"\n FORM: (35032..35051)\n OPEN_PAREN: (35032..35033) \"(\"\n SYMBOL: (35033..35046)\n IDENTIFIER: (35033..35046) \"char-foldcase\"\n ATMOSPHERE: (35046..35047) \" \"\n CONSTANT: (35047..35050)\n CHARACTER: (35047..35050) \"#\\a\"\n CLOSE_PAREN: (35050..35051) \")\"\n CLOSE_PAREN: (35051..35052) \")\"\n ATMOSPHERE: (35052..35053) \"\n\"\n FORM: (35053..35083)\n OPEN_PAREN: (35053..35054) \"(\"\n SYMBOL: (35054..35058)\n IDENTIFIER: (35054..35058) \"test\"\n ATMOSPHERE: (35058..35059) \" \"\n CONSTANT: (35059..35062)\n CHARACTER: (35059..35062) \"#\\a\"\n ATMOSPHERE: (35062..35063) \" \"\n FORM: (35063..35082)\n OPEN_PAREN: (35063..35064) \"(\"\n SYMBOL: (35064..35077)\n IDENTIFIER: (35064..35077) \"char-foldcase\"\n ATMOSPHERE: (35077..35078) \" \"\n CONSTANT: (35078..35081)\n CHARACTER: (35078..35081) \"#\\A\"\n CLOSE_PAREN: (35081..35082) \")\"\n CLOSE_PAREN: (35082..35083) \")\"\n ATMOSPHERE: (35083..35085) \"\n\n\"\n FORM: (35085..35113)\n OPEN_PAREN: (35085..35086) \"(\"\n SYMBOL: (35086..35090)\n IDENTIFIER: (35086..35090) \"test\"\n ATMOSPHERE: (35090..35091) \" \"\n CONSTANT: (35091..35094)\n CHARACTER: (35091..35094) \"#\\Λ\"\n ATMOSPHERE: (35094..35095) \" \"\n FORM: (35095..35112)\n OPEN_PAREN: (35095..35096) \"(\"\n SYMBOL: (35096..35107)\n IDENTIFIER: (35096..35107) \"char-upcase\"\n ATMOSPHERE: (35107..35108) \" \"\n CONSTANT: (35108..35111)\n CHARACTER: (35108..35111) \"#\\λ\"\n CLOSE_PAREN: (35111..35112) \")\"\n CLOSE_PAREN: (35112..35113) \")\"\n ATMOSPHERE: (35113..35114) \"\n\"\n FORM: (35114..35142)\n OPEN_PAREN: (35114..35115) \"(\"\n SYMBOL: (35115..35119)\n IDENTIFIER: (35115..35119) \"test\"\n ATMOSPHERE: (35119..35120) \" \"\n CONSTANT: (35120..35123)\n CHARACTER: (35120..35123) \"#\\Λ\"\n ATMOSPHERE: (35123..35124) \" \"\n FORM: (35124..35141)\n OPEN_PAREN: (35124..35125) \"(\"\n SYMBOL: (35125..35136)\n IDENTIFIER: (35125..35136) \"char-upcase\"\n ATMOSPHERE: (35136..35137) \" \"\n CONSTANT: (35137..35140)\n CHARACTER: (35137..35140) \"#\\Λ\"\n CLOSE_PAREN: (35140..35141) \")\"\n CLOSE_PAREN: (35141..35142) \")\"\n ATMOSPHERE: (35142..35143) \"\n\"\n FORM: (35143..35173)\n OPEN_PAREN: (35143..35144) \"(\"\n SYMBOL: (35144..35148)\n IDENTIFIER: (35144..35148) \"test\"\n ATMOSPHERE: (35148..35149) \" \"\n CONSTANT: (35149..35152)\n CHARACTER: (35149..35152) \"#\\λ\"\n ATMOSPHERE: (35152..35153) \" \"\n FORM: (35153..35172)\n OPEN_PAREN: (35153..35154) \"(\"\n SYMBOL: (35154..35167)\n IDENTIFIER: (35154..35167) \"char-downcase\"\n ATMOSPHERE: (35167..35168) \" \"\n CONSTANT: (35168..35171)\n CHARACTER: (35168..35171) \"#\\λ\"\n CLOSE_PAREN: (35171..35172) \")\"\n CLOSE_PAREN: (35172..35173) \")\"\n ATMOSPHERE: (35173..35174) \"\n\"\n FORM: (35174..35204)\n OPEN_PAREN: (35174..35175) \"(\"\n SYMBOL: (35175..35179)\n IDENTIFIER: (35175..35179) \"test\"\n ATMOSPHERE: (35179..35180) \" \"\n CONSTANT: (35180..35183)\n CHARACTER: (35180..35183) \"#\\λ\"\n ATMOSPHERE: (35183..35184) \" \"\n FORM: (35184..35203)\n OPEN_PAREN: (35184..35185) \"(\"\n SYMBOL: (35185..35198)\n IDENTIFIER: (35185..35198) \"char-downcase\"\n ATMOSPHERE: (35198..35199) \" \"\n CONSTANT: (35199..35202)\n CHARACTER: (35199..35202) \"#\\Λ\"\n CLOSE_PAREN: (35202..35203) \")\"\n CLOSE_PAREN: (35203..35204) \")\"\n ATMOSPHERE: (35204..35205) \"\n\"\n FORM: (35205..35235)\n OPEN_PAREN: (35205..35206) \"(\"\n SYMBOL: (35206..35210)\n IDENTIFIER: (35206..35210) \"test\"\n ATMOSPHERE: (35210..35211) \" \"\n CONSTANT: (35211..35214)\n CHARACTER: (35211..35214) \"#\\λ\"\n ATMOSPHERE: (35214..35215) \" \"\n FORM: (35215..35234)\n OPEN_PAREN: (35215..35216) \"(\"\n SYMBOL: (35216..35229)\n IDENTIFIER: (35216..35229) \"char-foldcase\"\n ATMOSPHERE: (35229..35230) \" \"\n CONSTANT: (35230..35233)\n CHARACTER: (35230..35233) \"#\\λ\"\n CLOSE_PAREN: (35233..35234) \")\"\n CLOSE_PAREN: (35234..35235) \")\"\n ATMOSPHERE: (35235..35236) \"\n\"\n FORM: (35236..35266)\n OPEN_PAREN: (35236..35237) \"(\"\n SYMBOL: (35237..35241)\n IDENTIFIER: (35237..35241) \"test\"\n ATMOSPHERE: (35241..35242) \" \"\n CONSTANT: (35242..35245)\n CHARACTER: (35242..35245) \"#\\λ\"\n ATMOSPHERE: (35245..35246) \" \"\n FORM: (35246..35265)\n OPEN_PAREN: (35246..35247) \"(\"\n SYMBOL: (35247..35260)\n IDENTIFIER: (35247..35260) \"char-foldcase\"\n ATMOSPHERE: (35260..35261) \" \"\n CONSTANT: (35261..35264)\n CHARACTER: (35261..35264) \"#\\Λ\"\n CLOSE_PAREN: (35264..35265) \")\"\n CLOSE_PAREN: (35265..35266) \")\"\n ATMOSPHERE: (35266..35268) \"\n\n\"\n FORM: (35268..35278)\n OPEN_PAREN: (35268..35269) \"(\"\n SYMBOL: (35269..35277)\n IDENTIFIER: (35269..35277) \"test-end\"\n CLOSE_PAREN: (35277..35278) \")\"\n ATMOSPHERE: (35278..35280) \"\n\n\"\n FORM: (35280..35306)\n OPEN_PAREN: (35280..35281) \"(\"\n SYMBOL: (35281..35291)\n IDENTIFIER: (35281..35291) \"test-begin\"\n ATMOSPHERE: (35291..35292) \" \"\n CONSTANT: (35292..35305)\n STRING: (35292..35305) \"\"6.7 Strings\"\"\n CLOSE_PAREN: (35305..35306) \")\"\n ATMOSPHERE: (35306..35308) \"\n\n\"\n ATMOSPHERE: (35308..35333) \";; (test #t (string? \"\"))\"\n ATMOSPHERE: (35333..35334) \"\n\"\n ATMOSPHERE: (35334..35360) \";; (test #t (string? \" \"))\"\n ATMOSPHERE: (35360..35361) \"\n\"\n ATMOSPHERE: (35361..35386) \";; (test #f (string? 'a))\"\n ATMOSPHERE: (35386..35387) \"\n\"\n ATMOSPHERE: (35387..35413) \";; (test #f (string? #\\a))\"\n ATMOSPHERE: (35413..35415) \"\n\n\"\n ATMOSPHERE: (35415..35458) \";; (test 3 (string-length (make-string 3)))\"\n ATMOSPHERE: (35458..35459) \"\n\"\n ATMOSPHERE: (35459..35494) \";; (test \"---\" (make-string 3 #\\-))\"\n ATMOSPHERE: (35494..35496) \"\n\n\"\n ATMOSPHERE: (35496..35517) \";; (test \"\" (string))\"\n ATMOSPHERE: (35517..35518) \"\n\"\n ATMOSPHERE: (35518..35554) \";; (test \"---\" (string #\\- #\\- #\\-))\"\n ATMOSPHERE: (35554..35555) \"\n\"\n ATMOSPHERE: (35555..35606) \";; (test \"kitten\" (string #\\k #\\i #\\t #\\t #\\e #\\n))\"\n ATMOSPHERE: (35606..35608) \"\n\n\"\n ATMOSPHERE: (35608..35638) \";; (test 0 (string-length \"\"))\"\n ATMOSPHERE: (35638..35639) \"\n\"\n ATMOSPHERE: (35639..35670) \";; (test 1 (string-length \"a\"))\"\n ATMOSPHERE: (35670..35671) \"\n\"\n ATMOSPHERE: (35671..35704) \";; (test 3 (string-length \"abc\"))\"\n ATMOSPHERE: (35704..35706) \"\n\n\"\n ATMOSPHERE: (35706..35740) \";; (test #\\a (string-ref \"abc\" 0))\"\n ATMOSPHERE: (35740..35741) \"\n\"\n ATMOSPHERE: (35741..35775) \";; (test #\\b (string-ref \"abc\" 1))\"\n ATMOSPHERE: (35775..35776) \"\n\"\n ATMOSPHERE: (35776..35810) \";; (test #\\c (string-ref \"abc\" 2))\"\n ATMOSPHERE: (35810..35812) \"\n\n\"\n ATMOSPHERE: (35812..35890) \";; (test \"a-c\" (let ((str (string #\\a #\\b #\\c))) (string-set! str 1 #\\-) str))\"\n ATMOSPHERE: (35890..35892) \"\n\n\"\n ATMOSPHERE: (35892..35926) \";; (test (string #\\a #\\x1F700 #\\c)\"\n ATMOSPHERE: (35926..35927) \"\n\"\n ATMOSPHERE: (35927..35965) \";; (let ((s (string #\\a #\\b #\\c)))\"\n ATMOSPHERE: (35965..35966) \"\n\"\n ATMOSPHERE: (35966..36001) \";; (string-set! s 1 #\\x1F700)\"\n ATMOSPHERE: (36001..36002) \"\n\"\n ATMOSPHERE: (36002..36014) \";; s))\"\n ATMOSPHERE: (36014..36016) \"\n\n\"\n ATMOSPHERE: (36016..36045) \";; (test #t (string=? \"\" \"\"))\"\n ATMOSPHERE: (36045..36046) \"\n\"\n ATMOSPHERE: (36046..36087) \";; (test #t (string=? \"abc\" \"abc\" \"abc\"))\"\n ATMOSPHERE: (36087..36088) \"\n\"\n ATMOSPHERE: (36088..36120) \";; (test #f (string=? \"\" \"abc\"))\"\n ATMOSPHERE: (36120..36121) \"\n\"\n ATMOSPHERE: (36121..36156) \";; (test #f (string=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (36156..36158) \"\n\n\"\n ATMOSPHERE: (36158..36187) \";; (test #f (string? \"\" \"\"))\"\n ATMOSPHERE: (36370..36371) \"\n\"\n ATMOSPHERE: (36371..36406) \";; (test #f (string>? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36406..36407) \"\n\"\n ATMOSPHERE: (36407..36443) \";; (test #f (string>? \"abc\" \"abcd\"))\"\n ATMOSPHERE: (36443..36444) \"\n\"\n ATMOSPHERE: (36444..36486) \";; (test #t (string>? \"acd\" \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36486..36487) \"\n\"\n ATMOSPHERE: (36487..36522) \";; (test #f (string>? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36522..36524) \"\n\n\"\n ATMOSPHERE: (36524..36554) \";; (test #t (string<=? \"\" \"\"))\"\n ATMOSPHERE: (36554..36555) \"\n\"\n ATMOSPHERE: (36555..36591) \";; (test #t (string<=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36591..36592) \"\n\"\n ATMOSPHERE: (36592..36636) \";; (test #t (string<=? \"abc\" \"abcd\" \"abcd\"))\"\n ATMOSPHERE: (36636..36637) \"\n\"\n ATMOSPHERE: (36637..36674) \";; (test #f (string<=? \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36674..36675) \"\n\"\n ATMOSPHERE: (36675..36711) \";; (test #t (string<=? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36711..36713) \"\n\n\"\n ATMOSPHERE: (36713..36743) \";; (test #t (string>=? \"\" \"\"))\"\n ATMOSPHERE: (36743..36744) \"\n\"\n ATMOSPHERE: (36744..36780) \";; (test #t (string>=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36780..36781) \"\n\"\n ATMOSPHERE: (36781..36818) \";; (test #f (string>=? \"abc\" \"abcd\"))\"\n ATMOSPHERE: (36818..36819) \"\n\"\n ATMOSPHERE: (36819..36863) \";; (test #t (string>=? \"abcd\" \"abcd\" \"abc\"))\"\n ATMOSPHERE: (36863..36864) \"\n\"\n ATMOSPHERE: (36864..36900) \";; (test #f (string>=? \"abc\" \"bbc\"))\"\n ATMOSPHERE: (36900..36902) \"\n\n\"\n ATMOSPHERE: (36902..36934) \";; (test #t (string-ci=? \"\" \"\"))\"\n ATMOSPHERE: (36934..36935) \"\n\"\n ATMOSPHERE: (36935..36973) \";; (test #t (string-ci=? \"abc\" \"abc\"))\"\n ATMOSPHERE: (36973..36974) \"\n\"\n ATMOSPHERE: (36974..37009) \";; (test #f (string-ci=? \"\" \"abc\"))\"\n ATMOSPHERE: (37009..37010) \"\n\"\n ATMOSPHERE: (37010..37048) \";; (test #t (string-ci=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37048..37049) \"\n\"\n ATMOSPHERE: (37049..37088) \";; (test #f (string-ci=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37088..37090) \"\n\n\"\n ATMOSPHERE: (37090..37128) \";; (test #f (string-ci? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37248..37249) \"\n\"\n ATMOSPHERE: (37249..37288) \";; (test #f (string-ci>? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37288..37289) \"\n\"\n ATMOSPHERE: (37289..37328) \";; (test #t (string-ci>? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37328..37330) \"\n\n\"\n ATMOSPHERE: (37330..37369) \";; (test #t (string-ci<=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37369..37370) \"\n\"\n ATMOSPHERE: (37370..37410) \";; (test #t (string-ci<=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37410..37411) \"\n\"\n ATMOSPHERE: (37411..37451) \";; (test #f (string-ci<=? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37451..37453) \"\n\n\"\n ATMOSPHERE: (37453..37492) \";; (test #t (string-ci>=? \"abc\" \"aBc\"))\"\n ATMOSPHERE: (37492..37493) \"\n\"\n ATMOSPHERE: (37493..37533) \";; (test #f (string-ci>=? \"abc\" \"aBcD\"))\"\n ATMOSPHERE: (37533..37534) \"\n\"\n ATMOSPHERE: (37534..37574) \";; (test #t (string-ci>=? \"ABCd\" \"aBc\"))\"\n ATMOSPHERE: (37574..37576) \"\n\n\"\n ATMOSPHERE: (37576..37620) \";; (test #t (string-ci=? \"ΑΒΓ\" \"αβγ\" \"αβγ\"))\"\n ATMOSPHERE: (37620..37621) \"\n\"\n ATMOSPHERE: (37621..37659) \";; (test #f (string-ci? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37698..37699) \"\n\"\n ATMOSPHERE: (37699..37738) \";; (test #t (string-ci<=? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37738..37739) \"\n\"\n ATMOSPHERE: (37739..37778) \";; (test #t (string-ci>=? \"ΑΒΓ\" \"αβγ\"))\"\n ATMOSPHERE: (37778..37780) \"\n\n\"\n ATMOSPHERE: (37780..37791) \";; ;; latin\"\n ATMOSPHERE: (37791..37792) \"\n\"\n ATMOSPHERE: (37792..37829) \";; (test \"ABC\" (string-upcase \"abc\"))\"\n ATMOSPHERE: (37829..37830) \"\n\"\n ATMOSPHERE: (37830..37867) \";; (test \"ABC\" (string-upcase \"ABC\"))\"\n ATMOSPHERE: (37867..37868) \"\n\"\n ATMOSPHERE: (37868..37907) \";; (test \"abc\" (string-downcase \"abc\"))\"\n ATMOSPHERE: (37907..37908) \"\n\"\n ATMOSPHERE: (37908..37947) \";; (test \"abc\" (string-downcase \"ABC\"))\"\n ATMOSPHERE: (37947..37948) \"\n\"\n ATMOSPHERE: (37948..37987) \";; (test \"abc\" (string-foldcase \"abc\"))\"\n ATMOSPHERE: (37987..37988) \"\n\"\n ATMOSPHERE: (37988..38027) \";; (test \"abc\" (string-foldcase \"ABC\"))\"\n ATMOSPHERE: (38027..38029) \"\n\n\"\n ATMOSPHERE: (38029..38043) \";; ;; cyrillic\"\n ATMOSPHERE: (38043..38044) \"\n\"\n ATMOSPHERE: (38044..38081) \";; (test \"ΑΒΓ\" (string-upcase \"αβγ\"))\"\n ATMOSPHERE: (38081..38082) \"\n\"\n ATMOSPHERE: (38082..38119) \";; (test \"ΑΒΓ\" (string-upcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38119..38120) \"\n\"\n ATMOSPHERE: (38120..38159) \";; (test \"αβγ\" (string-downcase \"αβγ\"))\"\n ATMOSPHERE: (38159..38160) \"\n\"\n ATMOSPHERE: (38160..38199) \";; (test \"αβγ\" (string-downcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38199..38200) \"\n\"\n ATMOSPHERE: (38200..38239) \";; (test \"αβγ\" (string-foldcase \"αβγ\"))\"\n ATMOSPHERE: (38239..38240) \"\n\"\n ATMOSPHERE: (38240..38279) \";; (test \"αβγ\" (string-foldcase \"ΑΒΓ\"))\"\n ATMOSPHERE: (38279..38281) \"\n\n\"\n ATMOSPHERE: (38281..38300) \";; ;; special cases\"\n ATMOSPHERE: (38300..38301) \"\n\"\n ATMOSPHERE: (38301..38337) \";; (test \"SSA\" (string-upcase \"ßa\"))\"\n ATMOSPHERE: (38337..38338) \"\n\"\n ATMOSPHERE: (38338..38375) \";; (test \"ßa\" (string-downcase \"ßa\"))\"\n ATMOSPHERE: (38375..38376) \"\n\"\n ATMOSPHERE: (38376..38415) \";; (test \"ssa\" (string-downcase \"SSA\"))\"\n ATMOSPHERE: (38415..38416) \"\n\"\n ATMOSPHERE: (38416..38455) \";; (test \"maß\" (string-downcase \"Maß\"))\"\n ATMOSPHERE: (38455..38456) \"\n\"\n ATMOSPHERE: (38456..38496) \";; (test \"mass\" (string-foldcase \"Maß\"))\"\n ATMOSPHERE: (38496..38497) \"\n\"\n ATMOSPHERE: (38497..38530) \";; (test \"İ\" (string-upcase \"İ\"))\"\n ATMOSPHERE: (38530..38531) \"\n\"\n ATMOSPHERE: (38531..38573) \";; (test \"i\\x0307;\" (string-downcase \"İ\"))\"\n ATMOSPHERE: (38573..38574) \"\n\"\n ATMOSPHERE: (38574..38616) \";; (test \"i\\x0307;\" (string-foldcase \"İ\"))\"\n ATMOSPHERE: (38616..38617) \"\n\"\n ATMOSPHERE: (38617..38651) \";; (test \"J̌\" (string-upcase \"ǰ\"))\"\n ATMOSPHERE: (38651..38652) \"\n\"\n ATMOSPHERE: (38652..38687) \";; (test \"ſ\" (string-downcase \"ſ\"))\"\n ATMOSPHERE: (38687..38688) \"\n\"\n ATMOSPHERE: (38688..38723) \";; (test \"s\" (string-foldcase \"ſ\"))\"\n ATMOSPHERE: (38723..38725) \"\n\n\"\n ATMOSPHERE: (38725..38762) \";; ;; context-sensitive (final sigma)\"\n ATMOSPHERE: (38762..38763) \"\n\"\n ATMOSPHERE: (38763..38806) \";; (test \"ΓΛΏΣΣΑ\" (string-upcase \"γλώσσα\"))\"\n ATMOSPHERE: (38806..38807) \"\n\"\n ATMOSPHERE: (38807..38852) \";; (test \"γλώσσα\" (string-downcase \"ΓΛΏΣΣΑ\"))\"\n ATMOSPHERE: (38852..38853) \"\n\"\n ATMOSPHERE: (38853..38898) \";; (test \"γλώσσα\" (string-foldcase \"ΓΛΏΣΣΑ\"))\"\n ATMOSPHERE: (38898..38899) \"\n\"\n ATMOSPHERE: (38899..38940) \";; (test \"ΜΈΛΟΣ\" (string-upcase \"μέλος\"))\"\n ATMOSPHERE: (38940..38941) \"\n\"\n ATMOSPHERE: (38941..39016) \";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ\") '(\"μέλος\" \"μέλοσ\")) #t))\"\n ATMOSPHERE: (39016..39017) \"\n\"\n ATMOSPHERE: (39017..39060) \";; (test \"μέλοσ\" (string-foldcase \"ΜΈΛΟΣ\"))\"\n ATMOSPHERE: (39060..39061) \"\n\"\n ATMOSPHERE: (39061..39116) \";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ ΕΝΌΣ\")\"\n ATMOSPHERE: (39116..39117) \"\n\"\n ATMOSPHERE: (39117..39171) \";; '(\"μέλος ενός\" \"μέλοσ ενόσ\"))\"\n ATMOSPHERE: (39171..39172) \"\n\"\n ATMOSPHERE: (39172..39193) \";; #t))\"\n ATMOSPHERE: (39193..39195) \"\n\n\"\n ATMOSPHERE: (39195..39226) \";; (test \"\" (substring \"\" 0 0))\"\n ATMOSPHERE: (39226..39227) \"\n\"\n ATMOSPHERE: (39227..39259) \";; (test \"\" (substring \"a\" 0 0))\"\n ATMOSPHERE: (39259..39260) \"\n\"\n ATMOSPHERE: (39260..39294) \";; (test \"\" (substring \"abc\" 1 1))\"\n ATMOSPHERE: (39294..39295) \"\n\"\n ATMOSPHERE: (39295..39331) \";; (test \"ab\" (substring \"abc\" 0 2))\"\n ATMOSPHERE: (39331..39332) \"\n\"\n ATMOSPHERE: (39332..39368) \";; (test \"bc\" (substring \"abc\" 1 3))\"\n ATMOSPHERE: (39368..39370) \"\n\n\"\n FORM: (39370..39398)\n OPEN_PAREN: (39370..39371) \"(\"\n SYMBOL: (39371..39375)\n IDENTIFIER: (39371..39375) \"test\"\n ATMOSPHERE: (39375..39376) \" \"\n CONSTANT: (39376..39378)\n STRING: (39376..39378) \"\"\"\"\n ATMOSPHERE: (39378..39379) \" \"\n FORM: (39379..39397)\n OPEN_PAREN: (39379..39380) \"(\"\n SYMBOL: (39380..39393)\n IDENTIFIER: (39380..39393) \"string-append\"\n ATMOSPHERE: (39393..39394) \" \"\n CONSTANT: (39394..39396)\n STRING: (39394..39396) \"\"\"\"\n CLOSE_PAREN: (39396..39397) \")\"\n CLOSE_PAREN: (39397..39398) \")\"\n ATMOSPHERE: (39398..39399) \"\n\"\n FORM: (39399..39430)\n OPEN_PAREN: (39399..39400) \"(\"\n SYMBOL: (39400..39404)\n IDENTIFIER: (39400..39404) \"test\"\n ATMOSPHERE: (39404..39405) \" \"\n CONSTANT: (39405..39407)\n STRING: (39405..39407) \"\"\"\"\n ATMOSPHERE: (39407..39408) \" \"\n FORM: (39408..39429)\n OPEN_PAREN: (39408..39409) \"(\"\n SYMBOL: (39409..39422)\n IDENTIFIER: (39409..39422) \"string-append\"\n ATMOSPHERE: (39422..39423) \" \"\n CONSTANT: (39423..39425)\n STRING: (39423..39425) \"\"\"\"\n ATMOSPHERE: (39425..39426) \" \"\n CONSTANT: (39426..39428)\n STRING: (39426..39428) \"\"\"\"\n CLOSE_PAREN: (39428..39429) \")\"\n CLOSE_PAREN: (39429..39430) \")\"\n ATMOSPHERE: (39430..39431) \"\n\"\n FORM: (39431..39468)\n OPEN_PAREN: (39431..39432) \"(\"\n SYMBOL: (39432..39436)\n IDENTIFIER: (39432..39436) \"test\"\n ATMOSPHERE: (39436..39437) \" \"\n CONSTANT: (39437..39442)\n STRING: (39437..39442) \"\"abc\"\"\n ATMOSPHERE: (39442..39443) \" \"\n FORM: (39443..39467)\n OPEN_PAREN: (39443..39444) \"(\"\n SYMBOL: (39444..39457)\n IDENTIFIER: (39444..39457) \"string-append\"\n ATMOSPHERE: (39457..39458) \" \"\n CONSTANT: (39458..39460)\n STRING: (39458..39460) \"\"\"\"\n ATMOSPHERE: (39460..39461) \" \"\n CONSTANT: (39461..39466)\n STRING: (39461..39466) \"\"abc\"\"\n CLOSE_PAREN: (39466..39467) \")\"\n CLOSE_PAREN: (39467..39468) \")\"\n ATMOSPHERE: (39468..39469) \"\n\"\n FORM: (39469..39506)\n OPEN_PAREN: (39469..39470) \"(\"\n SYMBOL: (39470..39474)\n IDENTIFIER: (39470..39474) \"test\"\n ATMOSPHERE: (39474..39475) \" \"\n CONSTANT: (39475..39480)\n STRING: (39475..39480) \"\"abc\"\"\n ATMOSPHERE: (39480..39481) \" \"\n FORM: (39481..39505)\n OPEN_PAREN: (39481..39482) \"(\"\n SYMBOL: (39482..39495)\n IDENTIFIER: (39482..39495) \"string-append\"\n ATMOSPHERE: (39495..39496) \" \"\n CONSTANT: (39496..39501)\n STRING: (39496..39501) \"\"abc\"\"\n ATMOSPHERE: (39501..39502) \" \"\n CONSTANT: (39502..39504)\n STRING: (39502..39504) \"\"\"\"\n CLOSE_PAREN: (39504..39505) \")\"\n CLOSE_PAREN: (39505..39506) \")\"\n ATMOSPHERE: (39506..39507) \"\n\"\n FORM: (39507..39548)\n OPEN_PAREN: (39507..39508) \"(\"\n SYMBOL: (39508..39512)\n IDENTIFIER: (39508..39512) \"test\"\n ATMOSPHERE: (39512..39513) \" \"\n CONSTANT: (39513..39520)\n STRING: (39513..39520) \"\"abcde\"\"\n ATMOSPHERE: (39520..39521) \" \"\n FORM: (39521..39547)\n OPEN_PAREN: (39521..39522) \"(\"\n SYMBOL: (39522..39535)\n IDENTIFIER: (39522..39535) \"string-append\"\n ATMOSPHERE: (39535..39536) \" \"\n CONSTANT: (39536..39541)\n STRING: (39536..39541) \"\"abc\"\"\n ATMOSPHERE: (39541..39542) \" \"\n CONSTANT: (39542..39546)\n STRING: (39542..39546) \"\"de\"\"\n CLOSE_PAREN: (39546..39547) \")\"\n CLOSE_PAREN: (39547..39548) \")\"\n ATMOSPHERE: (39548..39549) \"\n\"\n FORM: (39549..39595)\n OPEN_PAREN: (39549..39550) \"(\"\n SYMBOL: (39550..39554)\n IDENTIFIER: (39550..39554) \"test\"\n ATMOSPHERE: (39554..39555) \" \"\n CONSTANT: (39555..39563)\n STRING: (39555..39563) \"\"abcdef\"\"\n ATMOSPHERE: (39563..39564) \" \"\n FORM: (39564..39594)\n OPEN_PAREN: (39564..39565) \"(\"\n SYMBOL: (39565..39578)\n IDENTIFIER: (39565..39578) \"string-append\"\n ATMOSPHERE: (39578..39579) \" \"\n CONSTANT: (39579..39584)\n STRING: (39579..39584) \"\"abc\"\"\n ATMOSPHERE: (39584..39585) \" \"\n CONSTANT: (39585..39589)\n STRING: (39585..39589) \"\"de\"\"\n ATMOSPHERE: (39589..39590) \" \"\n CONSTANT: (39590..39593)\n STRING: (39590..39593) \"\"f\"\"\n CLOSE_PAREN: (39593..39594) \")\"\n CLOSE_PAREN: (39594..39595) \")\"\n ATMOSPHERE: (39595..39597) \"\n\n\"\n ATMOSPHERE: (39597..39628) \";; (test '() (string->list \"\"))\"\n ATMOSPHERE: (39628..39629) \"\n\"\n ATMOSPHERE: (39629..39664) \";; (test '(#\\a) (string->list \"a\"))\"\n ATMOSPHERE: (39664..39665) \"\n\"\n ATMOSPHERE: (39665..39710) \";; (test '(#\\a #\\b #\\c) (string->list \"abc\"))\"\n ATMOSPHERE: (39710..39711) \"\n\"\n ATMOSPHERE: (39711..39758) \";; (test '(#\\a #\\b #\\c) (string->list \"abc\" 0))\"\n ATMOSPHERE: (39758..39759) \"\n\"\n ATMOSPHERE: (39759..39802) \";; (test '(#\\b #\\c) (string->list \"abc\" 1))\"\n ATMOSPHERE: (39802..39803) \"\n\"\n ATMOSPHERE: (39803..39848) \";; (test '(#\\b #\\c) (string->list \"abc\" 1 3))\"\n ATMOSPHERE: (39848..39850) \"\n\n\"\n ATMOSPHERE: (39850..39881) \";; (test \"\" (list->string '()))\"\n ATMOSPHERE: (39881..39882) \"\n\"\n ATMOSPHERE: (39882..39927) \";; (test \"abc\" (list->string '(#\\a #\\b #\\c)))\"\n ATMOSPHERE: (39927..39929) \"\n\n\"\n ATMOSPHERE: (39929..39958) \";; (test \"\" (string-copy \"\"))\"\n ATMOSPHERE: (39958..39959) \"\n\"\n ATMOSPHERE: (39959..39990) \";; (test \"\" (string-copy \"\" 0))\"\n ATMOSPHERE: (39990..39991) \"\n\"\n ATMOSPHERE: (39991..40024) \";; (test \"\" (string-copy \"\" 0 0))\"\n ATMOSPHERE: (40024..40025) \"\n\"\n ATMOSPHERE: (40025..40060) \";; (test \"abc\" (string-copy \"abc\"))\"\n ATMOSPHERE: (40060..40061) \"\n\"\n ATMOSPHERE: (40061..40098) \";; (test \"abc\" (string-copy \"abc\" 0))\"\n ATMOSPHERE: (40098..40099) \"\n\"\n ATMOSPHERE: (40099..40135) \";; (test \"bc\" (string-copy \"abc\" 1))\"\n ATMOSPHERE: (40135..40136) \"\n\"\n ATMOSPHERE: (40136..40173) \";; (test \"b\" (string-copy \"abc\" 1 2))\"\n ATMOSPHERE: (40173..40174) \"\n\"\n ATMOSPHERE: (40174..40212) \";; (test \"bc\" (string-copy \"abc\" 1 3))\"\n ATMOSPHERE: (40212..40214) \"\n\n\"\n ATMOSPHERE: (40214..40230) \";; (test \"-----\"\"\n ATMOSPHERE: (40230..40231) \"\n\"\n ATMOSPHERE: (40231..40299) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\-) str))\"\n ATMOSPHERE: (40299..40300) \"\n\"\n ATMOSPHERE: (40300..40316) \";; (test \"xx---\"\"\n ATMOSPHERE: (40316..40317) \"\n\"\n ATMOSPHERE: (40317..40387) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2) str))\"\n ATMOSPHERE: (40387..40388) \"\n\"\n ATMOSPHERE: (40388..40404) \";; (test \"xx-xx\"\"\n ATMOSPHERE: (40404..40405) \"\n\"\n ATMOSPHERE: (40405..40477) \";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2 3) str))\"\n ATMOSPHERE: (40477..40479) \"\n\n\"\n ATMOSPHERE: (40479..40495) \";; (test \"a12de\"\"\n ATMOSPHERE: (40495..40496) \"\n\"\n ATMOSPHERE: (40496..40576) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 \"12345\" 0 2) str))\"\n ATMOSPHERE: (40576..40577) \"\n\"\n ATMOSPHERE: (40577..40593) \";; (test \"-----\"\"\n ATMOSPHERE: (40593..40594) \"\n\"\n ATMOSPHERE: (40594..40668) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\") str))\"\n ATMOSPHERE: (40668..40669) \"\n\"\n ATMOSPHERE: (40669..40685) \";; (test \"---xx\"\"\n ATMOSPHERE: (40685..40686) \"\n\"\n ATMOSPHERE: (40686..40762) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\" 2) str))\"\n ATMOSPHERE: (40762..40763) \"\n\"\n ATMOSPHERE: (40763..40779) \";; (test \"xx---\"\"\n ATMOSPHERE: (40779..40780) \"\n\"\n ATMOSPHERE: (40780..40858) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 0 3) str))\"\n ATMOSPHERE: (40858..40859) \"\n\"\n ATMOSPHERE: (40859..40875) \";; (test \"xx-xx\"\"\n ATMOSPHERE: (40875..40876) \"\n\"\n ATMOSPHERE: (40876..40954) \";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 2 3) str))\"\n ATMOSPHERE: (40954..40956) \"\n\n\"\n ATMOSPHERE: (40956..40982) \";; ;; same source and dest\"\n ATMOSPHERE: (40982..40983) \"\n\"\n ATMOSPHERE: (40983..40999) \";; (test \"aabde\"\"\n ATMOSPHERE: (40999..41000) \"\n\"\n ATMOSPHERE: (41000..41076) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 str 0 2) str))\"\n ATMOSPHERE: (41076..41077) \"\n\"\n ATMOSPHERE: (41077..41093) \";; (test \"abcab\"\"\n ATMOSPHERE: (41093..41094) \"\n\"\n ATMOSPHERE: (41094..41170) \";; (let ((str (string-copy \"abcde\"))) (string-copy! str 3 str 0 2) str))\"\n ATMOSPHERE: (41170..41172) \"\n\n\"\n FORM: (41172..41182)\n OPEN_PAREN: (41172..41173) \"(\"\n SYMBOL: (41173..41181)\n IDENTIFIER: (41173..41181) \"test-end\"\n CLOSE_PAREN: (41181..41182) \")\"\n ATMOSPHERE: (41182..41184) \"\n\n\"\n FORM: (41184..41210)\n OPEN_PAREN: (41184..41185) \"(\"\n SYMBOL: (41185..41195)\n IDENTIFIER: (41185..41195) \"test-begin\"\n ATMOSPHERE: (41195..41196) \" \"\n CONSTANT: (41196..41209)\n STRING: (41196..41209) \"\"6.8 Vectors\"\"\n CLOSE_PAREN: (41209..41210) \")\"\n ATMOSPHERE: (41210..41212) \"\n\n\"\n FORM: (41212..41235)\n OPEN_PAREN: (41212..41213) \"(\"\n SYMBOL: (41213..41217)\n IDENTIFIER: (41213..41217) \"test\"\n ATMOSPHERE: (41217..41218) \" \"\n CONSTANT: (41218..41220)\n BOOLEAN: (41218..41220) \"#t\"\n ATMOSPHERE: (41220..41221) \" \"\n FORM: (41221..41234)\n OPEN_PAREN: (41221..41222) \"(\"\n SYMBOL: (41222..41229)\n IDENTIFIER: (41222..41229) \"vector?\"\n ATMOSPHERE: (41229..41230) \" \"\n VEC: (41230..41233)\n OPEN_PAREN: (41230..41232) \"#(\"\n CLOSE_PAREN: (41232..41233) \")\"\n CLOSE_PAREN: (41233..41234) \")\"\n CLOSE_PAREN: (41234..41235) \")\"\n ATMOSPHERE: (41235..41236) \"\n\"\n FORM: (41236..41264)\n OPEN_PAREN: (41236..41237) \"(\"\n SYMBOL: (41237..41241)\n IDENTIFIER: (41237..41241) \"test\"\n ATMOSPHERE: (41241..41242) \" \"\n CONSTANT: (41242..41244)\n BOOLEAN: (41242..41244) \"#t\"\n ATMOSPHERE: (41244..41245) \" \"\n FORM: (41245..41263)\n OPEN_PAREN: (41245..41246) \"(\"\n SYMBOL: (41246..41253)\n IDENTIFIER: (41246..41253) \"vector?\"\n ATMOSPHERE: (41253..41254) \" \"\n VEC: (41254..41262)\n OPEN_PAREN: (41254..41256) \"#(\"\n CONSTANT: (41256..41257)\n NUMBER: (41256..41257) \"1\"\n ATMOSPHERE: (41257..41258) \" \"\n CONSTANT: (41258..41259)\n NUMBER: (41258..41259) \"2\"\n ATMOSPHERE: (41259..41260) \" \"\n CONSTANT: (41260..41261)\n NUMBER: (41260..41261) \"3\"\n CLOSE_PAREN: (41261..41262) \")\"\n CLOSE_PAREN: (41262..41263) \")\"\n CLOSE_PAREN: (41263..41264) \")\"\n ATMOSPHERE: (41264..41265) \"\n\"\n FORM: (41265..41294)\n OPEN_PAREN: (41265..41266) \"(\"\n SYMBOL: (41266..41270)\n IDENTIFIER: (41266..41270) \"test\"\n ATMOSPHERE: (41270..41271) \" \"\n CONSTANT: (41271..41273)\n BOOLEAN: (41271..41273) \"#t\"\n ATMOSPHERE: (41273..41274) \" \"\n FORM: (41274..41293)\n OPEN_PAREN: (41274..41275) \"(\"\n SYMBOL: (41275..41282)\n IDENTIFIER: (41275..41282) \"vector?\"\n ATMOSPHERE: (41282..41283) \" \"\n QUOTED_DATUM: (41283..41292)\n QUOTE: (41283..41284) \"'\"\n VEC: (41284..41292)\n OPEN_PAREN: (41284..41286) \"#(\"\n CONSTANT: (41286..41287)\n NUMBER: (41286..41287) \"1\"\n ATMOSPHERE: (41287..41288) \" \"\n CONSTANT: (41288..41289)\n NUMBER: (41288..41289) \"2\"\n ATMOSPHERE: (41289..41290) \" \"\n CONSTANT: (41290..41291)\n NUMBER: (41290..41291) \"3\"\n CLOSE_PAREN: (41291..41292) \")\"\n CLOSE_PAREN: (41292..41293) \")\"\n CLOSE_PAREN: (41293..41294) \")\"\n ATMOSPHERE: (41294..41296) \"\n\n\"\n FORM: (41296..41336)\n OPEN_PAREN: (41296..41297) \"(\"\n SYMBOL: (41297..41301)\n IDENTIFIER: (41297..41301) \"test\"\n ATMOSPHERE: (41301..41302) \" \"\n CONSTANT: (41302..41303)\n NUMBER: (41302..41303) \"0\"\n ATMOSPHERE: (41303..41304) \" \"\n FORM: (41304..41335)\n OPEN_PAREN: (41304..41305) \"(\"\n SYMBOL: (41305..41318)\n IDENTIFIER: (41305..41318) \"vector-length\"\n ATMOSPHERE: (41318..41319) \" \"\n FORM: (41319..41334)\n OPEN_PAREN: (41319..41320) \"(\"\n SYMBOL: (41320..41331)\n IDENTIFIER: (41320..41331) \"make-vector\"\n ATMOSPHERE: (41331..41332) \" \"\n CONSTANT: (41332..41333)\n NUMBER: (41332..41333) \"0\"\n CLOSE_PAREN: (41333..41334) \")\"\n CLOSE_PAREN: (41334..41335) \")\"\n CLOSE_PAREN: (41335..41336) \")\"\n ATMOSPHERE: (41336..41337) \"\n\"\n FORM: (41337..41383)\n OPEN_PAREN: (41337..41338) \"(\"\n SYMBOL: (41338..41342)\n IDENTIFIER: (41338..41342) \"test\"\n ATMOSPHERE: (41342..41343) \" \"\n CONSTANT: (41343..41347)\n NUMBER: (41343..41347) \"1000\"\n ATMOSPHERE: (41347..41348) \" \"\n FORM: (41348..41382)\n OPEN_PAREN: (41348..41349) \"(\"\n SYMBOL: (41349..41362)\n IDENTIFIER: (41349..41362) \"vector-length\"\n ATMOSPHERE: (41362..41363) \" \"\n FORM: (41363..41381)\n OPEN_PAREN: (41363..41364) \"(\"\n SYMBOL: (41364..41375)\n IDENTIFIER: (41364..41375) \"make-vector\"\n ATMOSPHERE: (41375..41376) \" \"\n CONSTANT: (41376..41380)\n NUMBER: (41376..41380) \"1000\"\n CLOSE_PAREN: (41380..41381) \")\"\n CLOSE_PAREN: (41381..41382) \")\"\n CLOSE_PAREN: (41382..41383) \")\"\n ATMOSPHERE: (41383..41385) \"\n\n\"\n FORM: (41385..41436)\n OPEN_PAREN: (41385..41386) \"(\"\n SYMBOL: (41386..41390)\n IDENTIFIER: (41386..41390) \"test\"\n ATMOSPHERE: (41390..41391) \" \"\n VEC: (41391..41412)\n OPEN_PAREN: (41391..41393) \"#(\"\n CONSTANT: (41393..41394)\n NUMBER: (41393..41394) \"0\"\n ATMOSPHERE: (41394..41395) \" \"\n FORM: (41395..41404)\n OPEN_PAREN: (41395..41396) \"(\"\n CONSTANT: (41396..41397)\n NUMBER: (41396..41397) \"2\"\n ATMOSPHERE: (41397..41398) \" \"\n CONSTANT: (41398..41399)\n NUMBER: (41398..41399) \"2\"\n ATMOSPHERE: (41399..41400) \" \"\n CONSTANT: (41400..41401)\n NUMBER: (41400..41401) \"2\"\n ATMOSPHERE: (41401..41402) \" \"\n CONSTANT: (41402..41403)\n NUMBER: (41402..41403) \"2\"\n CLOSE_PAREN: (41403..41404) \")\"\n ATMOSPHERE: (41404..41405) \" \"\n CONSTANT: (41405..41411)\n STRING: (41405..41411) \"\"Anna\"\"\n CLOSE_PAREN: (41411..41412) \")\"\n ATMOSPHERE: (41412..41413) \" \"\n QUOTED_DATUM: (41413..41435)\n QUOTE: (41413..41414) \"'\"\n VEC: (41414..41435)\n OPEN_PAREN: (41414..41416) \"#(\"\n CONSTANT: (41416..41417)\n NUMBER: (41416..41417) \"0\"\n ATMOSPHERE: (41417..41418) \" \"\n FORM: (41418..41427)\n OPEN_PAREN: (41418..41419) \"(\"\n CONSTANT: (41419..41420)\n NUMBER: (41419..41420) \"2\"\n ATMOSPHERE: (41420..41421) \" \"\n CONSTANT: (41421..41422)\n NUMBER: (41421..41422) \"2\"\n ATMOSPHERE: (41422..41423) \" \"\n CONSTANT: (41423..41424)\n NUMBER: (41423..41424) \"2\"\n ATMOSPHERE: (41424..41425) \" \"\n CONSTANT: (41425..41426)\n NUMBER: (41425..41426) \"2\"\n CLOSE_PAREN: (41426..41427) \")\"\n ATMOSPHERE: (41427..41428) \" \"\n CONSTANT: (41428..41434)\n STRING: (41428..41434) \"\"Anna\"\"\n CLOSE_PAREN: (41434..41435) \")\"\n CLOSE_PAREN: (41435..41436) \")\"\n ATMOSPHERE: (41436..41438) \"\n\n\"\n FORM: (41438..41471)\n OPEN_PAREN: (41438..41439) \"(\"\n SYMBOL: (41439..41443)\n IDENTIFIER: (41439..41443) \"test\"\n ATMOSPHERE: (41443..41444) \" \"\n VEC: (41444..41452)\n OPEN_PAREN: (41444..41446) \"#(\"\n SYMBOL: (41446..41447)\n IDENTIFIER: (41446..41447) \"a\"\n ATMOSPHERE: (41447..41448) \" \"\n SYMBOL: (41448..41449)\n IDENTIFIER: (41448..41449) \"b\"\n ATMOSPHERE: (41449..41450) \" \"\n SYMBOL: (41450..41451)\n IDENTIFIER: (41450..41451) \"c\"\n CLOSE_PAREN: (41451..41452) \")\"\n ATMOSPHERE: (41452..41453) \" \"\n FORM: (41453..41470)\n OPEN_PAREN: (41453..41454) \"(\"\n SYMBOL: (41454..41460)\n IDENTIFIER: (41454..41460) \"vector\"\n ATMOSPHERE: (41460..41461) \" \"\n QUOTED_DATUM: (41461..41464)\n QUOTE: (41461..41462) \"'\"\n SYMBOL: (41462..41463)\n IDENTIFIER: (41462..41463) \"a\"\n ATMOSPHERE: (41463..41464) \" \"\n QUOTED_DATUM: (41464..41467)\n QUOTE: (41464..41465) \"'\"\n SYMBOL: (41465..41466)\n IDENTIFIER: (41465..41466) \"b\"\n ATMOSPHERE: (41466..41467) \" \"\n QUOTED_DATUM: (41467..41469)\n QUOTE: (41467..41468) \"'\"\n SYMBOL: (41468..41469)\n IDENTIFIER: (41468..41469) \"c\"\n CLOSE_PAREN: (41469..41470) \")\"\n CLOSE_PAREN: (41470..41471) \")\"\n ATMOSPHERE: (41471..41473) \"\n\n\"\n FORM: (41473..41518)\n OPEN_PAREN: (41473..41474) \"(\"\n SYMBOL: (41474..41478)\n IDENTIFIER: (41474..41478) \"test\"\n ATMOSPHERE: (41478..41479) \" \"\n CONSTANT: (41479..41480)\n NUMBER: (41479..41480) \"8\"\n ATMOSPHERE: (41480..41481) \" \"\n FORM: (41481..41517)\n OPEN_PAREN: (41481..41482) \"(\"\n SYMBOL: (41482..41492)\n IDENTIFIER: (41482..41492) \"vector-ref\"\n ATMOSPHERE: (41492..41493) \" \"\n QUOTED_DATUM: (41493..41515)\n QUOTE: (41493..41494) \"'\"\n VEC: (41494..41514)\n OPEN_PAREN: (41494..41496) \"#(\"\n CONSTANT: (41496..41497)\n NUMBER: (41496..41497) \"1\"\n ATMOSPHERE: (41497..41498) \" \"\n CONSTANT: (41498..41499)\n NUMBER: (41498..41499) \"1\"\n ATMOSPHERE: (41499..41500) \" \"\n CONSTANT: (41500..41501)\n NUMBER: (41500..41501) \"2\"\n ATMOSPHERE: (41501..41502) \" \"\n CONSTANT: (41502..41503)\n NUMBER: (41502..41503) \"3\"\n ATMOSPHERE: (41503..41504) \" \"\n CONSTANT: (41504..41505)\n NUMBER: (41504..41505) \"5\"\n ATMOSPHERE: (41505..41506) \" \"\n CONSTANT: (41506..41507)\n NUMBER: (41506..41507) \"8\"\n ATMOSPHERE: (41507..41508) \" \"\n CONSTANT: (41508..41510)\n NUMBER: (41508..41510) \"13\"\n ATMOSPHERE: (41510..41511) \" \"\n CONSTANT: (41511..41513)\n NUMBER: (41511..41513) \"21\"\n CLOSE_PAREN: (41513..41514) \")\"\n ATMOSPHERE: (41514..41515) \" \"\n CONSTANT: (41515..41516)\n NUMBER: (41515..41516) \"5\"\n CLOSE_PAREN: (41516..41517) \")\"\n CLOSE_PAREN: (41517..41518) \")\"\n ATMOSPHERE: (41518..41519) \"\n\"\n ATMOSPHERE: (41519..41564) \";; (test 13 (vector-ref '#(1 1 2 3 5 8 13 21)\"\n ATMOSPHERE: (41564..41565) \"\n\"\n ATMOSPHERE: (41565..41614) \";; (let ((i (round (* 2 (acos -1)))))\"\n ATMOSPHERE: (41614..41615) \"\n\"\n ATMOSPHERE: (41615..41648) \";; (if (inexact? i)\"\n ATMOSPHERE: (41648..41649) \"\n\"\n ATMOSPHERE: (41649..41679) \";; (exact i)\"\n ATMOSPHERE: (41679..41680) \"\n\"\n ATMOSPHERE: (41680..41706) \";; i))))\"\n ATMOSPHERE: (41706..41708) \"\n\n\"\n ATMOSPHERE: (41708..41784) \";; (test #(0 (\"Sue\" \"Sue\") \"Anna\") (let ((vec (vector 0 '(2 2 2 2) \"Anna\")))\"\n ATMOSPHERE: (41784..41785) \"\n\"\n ATMOSPHERE: (41785..41824) \";; (vector-set! vec 1 '(\"Sue\" \"Sue\"))\"\n ATMOSPHERE: (41824..41825) \"\n\"\n ATMOSPHERE: (41825..41835) \";; vec))\"\n ATMOSPHERE: (41835..41837) \"\n\n\"\n ATMOSPHERE: (41837..41896) \";; (test '(dah dah didah) (vector->list '#(dah dah didah)))\"\n ATMOSPHERE: (41896..41897) \"\n\"\n ATMOSPHERE: (41897..41954) \";; (test '(dah didah) (vector->list '#(dah dah didah) 1))\"\n ATMOSPHERE: (41954..41955) \"\n\"\n ATMOSPHERE: (41955..42008) \";; (test '(dah) (vector->list '#(dah dah didah) 1 2))\"\n ATMOSPHERE: (42008..42009) \"\n\"\n ATMOSPHERE: (42009..42063) \";; (test #(dididit dah) (list->vector '(dididit dah)))\"\n ATMOSPHERE: (42063..42065) \"\n\n\"\n ATMOSPHERE: (42065..42098) \";; (test #() (string->vector \"\"))\"\n ATMOSPHERE: (42098..42099) \"\n\"\n ATMOSPHERE: (42099..42146) \";; (test #(#\\A #\\B #\\C) (string->vector \"ABC\"))\"\n ATMOSPHERE: (42146..42147) \"\n\"\n ATMOSPHERE: (42147..42192) \";; (test #(#\\B #\\C) (string->vector \"ABC\" 1))\"\n ATMOSPHERE: (42192..42193) \"\n\"\n ATMOSPHERE: (42193..42236) \";; (test #(#\\B) (string->vector \"ABC\" 1 2))\"\n ATMOSPHERE: (42236..42238) \"\n\n\"\n ATMOSPHERE: (42238..42271) \";; (test \"\" (vector->string #()))\"\n ATMOSPHERE: (42271..42272) \"\n\"\n ATMOSPHERE: (42272..42319) \";; (test \"123\" (vector->string #(#\\1 #\\2 #\\3)))\"\n ATMOSPHERE: (42319..42320) \"\n\"\n ATMOSPHERE: (42320..42368) \";; (test \"23\" (vector->string #(#\\1 #\\2 #\\3) 1))\"\n ATMOSPHERE: (42368..42369) \"\n\"\n ATMOSPHERE: (42369..42418) \";; (test \"2\" (vector->string #(#\\1 #\\2 #\\3) 1 2))\"\n ATMOSPHERE: (42418..42420) \"\n\n\"\n ATMOSPHERE: (42420..42451) \";; (test #() (vector-copy #()))\"\n ATMOSPHERE: (42451..42452) \"\n\"\n ATMOSPHERE: (42452..42493) \";; (test #(a b c) (vector-copy #(a b c)))\"\n ATMOSPHERE: (42493..42494) \"\n\"\n ATMOSPHERE: (42494..42535) \";; (test #(b c) (vector-copy #(a b c) 1))\"\n ATMOSPHERE: (42535..42536) \"\n\"\n ATMOSPHERE: (42536..42577) \";; (test #(b) (vector-copy #(a b c) 1 2))\"\n ATMOSPHERE: (42577..42579) \"\n\n\"\n ATMOSPHERE: (42579..42612) \";; (test #() (vector-append #()))\"\n ATMOSPHERE: (42612..42613) \"\n\"\n ATMOSPHERE: (42613..42650) \";; (test #() (vector-append #() #()))\"\n ATMOSPHERE: (42650..42651) \"\n\"\n ATMOSPHERE: (42651..42698) \";; (test #(a b c) (vector-append #() #(a b c)))\"\n ATMOSPHERE: (42698..42699) \"\n\"\n ATMOSPHERE: (42699..42746) \";; (test #(a b c) (vector-append #(a b c) #()))\"\n ATMOSPHERE: (42746..42747) \"\n\"\n ATMOSPHERE: (42747..42801) \";; (test #(a b c d e) (vector-append #(a b c) #(d e)))\"\n ATMOSPHERE: (42801..42802) \"\n\"\n ATMOSPHERE: (42802..42863) \";; (test #(a b c d e f) (vector-append #(a b c) #(d e) #(f)))\"\n ATMOSPHERE: (42863..42865) \"\n\n\"\n ATMOSPHERE: (42865..42894) \";; (test #(1 2 smash smash 5)\"\n ATMOSPHERE: (42894..42895) \"\n\"\n ATMOSPHERE: (42895..42969) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'smash 2 4) vec))\"\n ATMOSPHERE: (42969..42970) \"\n\"\n ATMOSPHERE: (42970..42991) \";; (test #(x x x x x)\"\n ATMOSPHERE: (42991..42992) \"\n\"\n ATMOSPHERE: (42992..43058) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x) vec))\"\n ATMOSPHERE: (43058..43059) \"\n\"\n ATMOSPHERE: (43059..43080) \";; (test #(1 2 x x x)\"\n ATMOSPHERE: (43080..43081) \"\n\"\n ATMOSPHERE: (43081..43149) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2) vec))\"\n ATMOSPHERE: (43149..43150) \"\n\"\n ATMOSPHERE: (43150..43171) \";; (test #(1 2 x 4 5)\"\n ATMOSPHERE: (43171..43172) \"\n\"\n ATMOSPHERE: (43172..43242) \";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2 3) vec))\"\n ATMOSPHERE: (43242..43244) \"\n\n\"\n ATMOSPHERE: (43244..43265) \";; (test #(1 a b 4 5)\"\n ATMOSPHERE: (43265..43266) \"\n\"\n ATMOSPHERE: (43266..43348) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 #(a b c d e) 0 2) vec))\"\n ATMOSPHERE: (43348..43349) \"\n\"\n ATMOSPHERE: (43349..43370) \";; (test #(a b c d e)\"\n ATMOSPHERE: (43370..43371) \"\n\"\n ATMOSPHERE: (43371..43449) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e)) vec))\"\n ATMOSPHERE: (43449..43450) \"\n\"\n ATMOSPHERE: (43450..43471) \";; (test #(c d e 4 5)\"\n ATMOSPHERE: (43471..43472) \"\n\"\n ATMOSPHERE: (43472..43552) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e) 2) vec))\"\n ATMOSPHERE: (43552..43553) \"\n\"\n ATMOSPHERE: (43553..43574) \";; (test #(1 2 a b c)\"\n ATMOSPHERE: (43574..43575) \"\n\"\n ATMOSPHERE: (43575..43657) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 0 3) vec))\"\n ATMOSPHERE: (43657..43658) \"\n\"\n ATMOSPHERE: (43658..43679) \";; (test #(1 2 c 4 5)\"\n ATMOSPHERE: (43679..43680) \"\n\"\n ATMOSPHERE: (43680..43762) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 2 3) vec))\"\n ATMOSPHERE: (43762..43764) \"\n\n\"\n ATMOSPHERE: (43764..43790) \";; ;; same source and dest\"\n ATMOSPHERE: (43790..43791) \"\n\"\n ATMOSPHERE: (43791..43812) \";; (test #(1 1 2 4 5)\"\n ATMOSPHERE: (43812..43813) \"\n\"\n ATMOSPHERE: (43813..43886) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 vec 0 2) vec))\"\n ATMOSPHERE: (43886..43887) \"\n\"\n ATMOSPHERE: (43887..43908) \";; (test #(1 2 3 1 2)\"\n ATMOSPHERE: (43908..43909) \"\n\"\n ATMOSPHERE: (43909..43982) \";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 3 vec 0 2) vec))\"\n ATMOSPHERE: (43982..43984) \"\n\n\"\n FORM: (43984..43994)\n OPEN_PAREN: (43984..43985) \"(\"\n SYMBOL: (43985..43993)\n IDENTIFIER: (43985..43993) \"test-end\"\n CLOSE_PAREN: (43993..43994) \")\"\n ATMOSPHERE: (43994..43996) \"\n\n\"\n FORM: (43996..44026)\n OPEN_PAREN: (43996..43997) \"(\"\n SYMBOL: (43997..44007)\n IDENTIFIER: (43997..44007) \"test-begin\"\n ATMOSPHERE: (44007..44008) \" \"\n CONSTANT: (44008..44025)\n STRING: (44008..44025) \"\"6.9 Bytevectors\"\"\n CLOSE_PAREN: (44025..44026) \")\"\n ATMOSPHERE: (44026..44028) \"\n\n\"\n FORM: (44028..44057)\n OPEN_PAREN: (44028..44029) \"(\"\n SYMBOL: (44029..44033)\n IDENTIFIER: (44029..44033) \"test\"\n ATMOSPHERE: (44033..44034) \" \"\n CONSTANT: (44034..44036)\n BOOLEAN: (44034..44036) \"#t\"\n ATMOSPHERE: (44036..44037) \" \"\n FORM: (44037..44056)\n OPEN_PAREN: (44037..44038) \"(\"\n SYMBOL: (44038..44049)\n IDENTIFIER: (44038..44049) \"bytevector?\"\n ATMOSPHERE: (44049..44050) \" \"\n BYTEVEC: (44050..44055)\n OPEN_PAREN: (44050..44054) \"#u8(\"\n CLOSE_PAREN: (44054..44055) \")\"\n CLOSE_PAREN: (44055..44056) \")\"\n CLOSE_PAREN: (44056..44057) \")\"\n ATMOSPHERE: (44057..44058) \"\n\"\n FORM: (44058..44092)\n OPEN_PAREN: (44058..44059) \"(\"\n SYMBOL: (44059..44063)\n IDENTIFIER: (44059..44063) \"test\"\n ATMOSPHERE: (44063..44064) \" \"\n CONSTANT: (44064..44066)\n BOOLEAN: (44064..44066) \"#t\"\n ATMOSPHERE: (44066..44067) \" \"\n FORM: (44067..44091)\n OPEN_PAREN: (44067..44068) \"(\"\n SYMBOL: (44068..44079)\n IDENTIFIER: (44068..44079) \"bytevector?\"\n ATMOSPHERE: (44079..44080) \" \"\n BYTEVEC: (44080..44090)\n OPEN_PAREN: (44080..44084) \"#u8(\"\n CONSTANT: (44084..44085)\n NUMBER: (44084..44085) \"0\"\n ATMOSPHERE: (44085..44086) \" \"\n CONSTANT: (44086..44087)\n NUMBER: (44086..44087) \"1\"\n ATMOSPHERE: (44087..44088) \" \"\n CONSTANT: (44088..44089)\n NUMBER: (44088..44089) \"2\"\n CLOSE_PAREN: (44089..44090) \")\"\n CLOSE_PAREN: (44090..44091) \")\"\n CLOSE_PAREN: (44091..44092) \")\"\n ATMOSPHERE: (44092..44093) \"\n\"\n FORM: (44093..44120)\n OPEN_PAREN: (44093..44094) \"(\"\n SYMBOL: (44094..44098)\n IDENTIFIER: (44094..44098) \"test\"\n ATMOSPHERE: (44098..44099) \" \"\n CONSTANT: (44099..44101)\n BOOLEAN: (44099..44101) \"#f\"\n ATMOSPHERE: (44101..44102) \" \"\n FORM: (44102..44119)\n OPEN_PAREN: (44102..44103) \"(\"\n SYMBOL: (44103..44114)\n IDENTIFIER: (44103..44114) \"bytevector?\"\n ATMOSPHERE: (44114..44115) \" \"\n VEC: (44115..44118)\n OPEN_PAREN: (44115..44117) \"#(\"\n CLOSE_PAREN: (44117..44118) \")\"\n CLOSE_PAREN: (44118..44119) \")\"\n CLOSE_PAREN: (44119..44120) \")\"\n ATMOSPHERE: (44120..44121) \"\n\"\n FORM: (44121..44153)\n OPEN_PAREN: (44121..44122) \"(\"\n SYMBOL: (44122..44126)\n IDENTIFIER: (44122..44126) \"test\"\n ATMOSPHERE: (44126..44127) \" \"\n CONSTANT: (44127..44129)\n BOOLEAN: (44127..44129) \"#f\"\n ATMOSPHERE: (44129..44130) \" \"\n FORM: (44130..44152)\n OPEN_PAREN: (44130..44131) \"(\"\n SYMBOL: (44131..44142)\n IDENTIFIER: (44131..44142) \"bytevector?\"\n ATMOSPHERE: (44142..44143) \" \"\n VEC: (44143..44151)\n OPEN_PAREN: (44143..44145) \"#(\"\n CONSTANT: (44145..44146)\n NUMBER: (44145..44146) \"0\"\n ATMOSPHERE: (44146..44147) \" \"\n CONSTANT: (44147..44148)\n NUMBER: (44147..44148) \"1\"\n ATMOSPHERE: (44148..44149) \" \"\n CONSTANT: (44149..44150)\n NUMBER: (44149..44150) \"2\"\n CLOSE_PAREN: (44150..44151) \")\"\n CLOSE_PAREN: (44151..44152) \")\"\n CLOSE_PAREN: (44152..44153) \")\"\n ATMOSPHERE: (44153..44154) \"\n\"\n FORM: (44154..44181)\n OPEN_PAREN: (44154..44155) \"(\"\n SYMBOL: (44155..44159)\n IDENTIFIER: (44155..44159) \"test\"\n ATMOSPHERE: (44159..44160) \" \"\n CONSTANT: (44160..44162)\n BOOLEAN: (44160..44162) \"#f\"\n ATMOSPHERE: (44162..44163) \" \"\n FORM: (44163..44180)\n OPEN_PAREN: (44163..44164) \"(\"\n SYMBOL: (44164..44175)\n IDENTIFIER: (44164..44175) \"bytevector?\"\n ATMOSPHERE: (44175..44176) \" \"\n QUOTED_DATUM: (44176..44179)\n QUOTE: (44176..44177) \"'\"\n FORM: (44177..44179)\n OPEN_PAREN: (44177..44178) \"(\"\n CLOSE_PAREN: (44178..44179) \")\"\n CLOSE_PAREN: (44179..44180) \")\"\n CLOSE_PAREN: (44180..44181) \")\"\n ATMOSPHERE: (44181..44182) \"\n\"\n FORM: (44182..44225)\n OPEN_PAREN: (44182..44183) \"(\"\n SYMBOL: (44183..44187)\n IDENTIFIER: (44183..44187) \"test\"\n ATMOSPHERE: (44187..44188) \" \"\n CONSTANT: (44188..44190)\n BOOLEAN: (44188..44190) \"#t\"\n ATMOSPHERE: (44190..44191) \" \"\n FORM: (44191..44224)\n OPEN_PAREN: (44191..44192) \"(\"\n SYMBOL: (44192..44203)\n IDENTIFIER: (44192..44203) \"bytevector?\"\n ATMOSPHERE: (44203..44204) \" \"\n FORM: (44204..44223)\n OPEN_PAREN: (44204..44205) \"(\"\n SYMBOL: (44205..44220)\n IDENTIFIER: (44205..44220) \"make-bytevector\"\n ATMOSPHERE: (44220..44221) \" \"\n CONSTANT: (44221..44222)\n NUMBER: (44221..44222) \"0\"\n CLOSE_PAREN: (44222..44223) \")\"\n CLOSE_PAREN: (44223..44224) \")\"\n CLOSE_PAREN: (44224..44225) \")\"\n ATMOSPHERE: (44225..44227) \"\n\n\"\n FORM: (44227..44275)\n OPEN_PAREN: (44227..44228) \"(\"\n SYMBOL: (44228..44232)\n IDENTIFIER: (44228..44232) \"test\"\n ATMOSPHERE: (44232..44233) \" \"\n CONSTANT: (44233..44234)\n NUMBER: (44233..44234) \"0\"\n ATMOSPHERE: (44234..44235) \" \"\n FORM: (44235..44274)\n OPEN_PAREN: (44235..44236) \"(\"\n SYMBOL: (44236..44253)\n IDENTIFIER: (44236..44253) \"bytevector-length\"\n ATMOSPHERE: (44253..44254) \" \"\n FORM: (44254..44273)\n OPEN_PAREN: (44254..44255) \"(\"\n SYMBOL: (44255..44270)\n IDENTIFIER: (44255..44270) \"make-bytevector\"\n ATMOSPHERE: (44270..44271) \" \"\n CONSTANT: (44271..44272)\n NUMBER: (44271..44272) \"0\"\n CLOSE_PAREN: (44272..44273) \")\"\n CLOSE_PAREN: (44273..44274) \")\"\n CLOSE_PAREN: (44274..44275) \")\"\n ATMOSPHERE: (44275..44276) \"\n\"\n FORM: (44276..44330)\n OPEN_PAREN: (44276..44277) \"(\"\n SYMBOL: (44277..44281)\n IDENTIFIER: (44277..44281) \"test\"\n ATMOSPHERE: (44281..44282) \" \"\n CONSTANT: (44282..44286)\n NUMBER: (44282..44286) \"1024\"\n ATMOSPHERE: (44286..44287) \" \"\n FORM: (44287..44329)\n OPEN_PAREN: (44287..44288) \"(\"\n SYMBOL: (44288..44305)\n IDENTIFIER: (44288..44305) \"bytevector-length\"\n ATMOSPHERE: (44305..44306) \" \"\n FORM: (44306..44328)\n OPEN_PAREN: (44306..44307) \"(\"\n SYMBOL: (44307..44322)\n IDENTIFIER: (44307..44322) \"make-bytevector\"\n ATMOSPHERE: (44322..44323) \" \"\n CONSTANT: (44323..44327)\n NUMBER: (44323..44327) \"1024\"\n CLOSE_PAREN: (44327..44328) \")\"\n CLOSE_PAREN: (44328..44329) \")\"\n CLOSE_PAREN: (44329..44330) \")\"\n ATMOSPHERE: (44330..44331) \"\n\"\n FORM: (44331..44389)\n OPEN_PAREN: (44331..44332) \"(\"\n SYMBOL: (44332..44336)\n IDENTIFIER: (44332..44336) \"test\"\n ATMOSPHERE: (44336..44337) \" \"\n CONSTANT: (44337..44341)\n NUMBER: (44337..44341) \"1024\"\n ATMOSPHERE: (44341..44342) \" \"\n FORM: (44342..44388)\n OPEN_PAREN: (44342..44343) \"(\"\n SYMBOL: (44343..44360)\n IDENTIFIER: (44343..44360) \"bytevector-length\"\n ATMOSPHERE: (44360..44361) \" \"\n FORM: (44361..44387)\n OPEN_PAREN: (44361..44362) \"(\"\n SYMBOL: (44362..44377)\n IDENTIFIER: (44362..44377) \"make-bytevector\"\n ATMOSPHERE: (44377..44378) \" \"\n CONSTANT: (44378..44382)\n NUMBER: (44378..44382) \"1024\"\n ATMOSPHERE: (44382..44383) \" \"\n CONSTANT: (44383..44386)\n NUMBER: (44383..44386) \"255\"\n CLOSE_PAREN: (44386..44387) \")\"\n CLOSE_PAREN: (44387..44388) \")\"\n CLOSE_PAREN: (44388..44389) \")\"\n ATMOSPHERE: (44389..44391) \"\n\n\"\n FORM: (44391..44438)\n OPEN_PAREN: (44391..44392) \"(\"\n SYMBOL: (44392..44396)\n IDENTIFIER: (44392..44396) \"test\"\n ATMOSPHERE: (44396..44397) \" \"\n CONSTANT: (44397..44398)\n NUMBER: (44397..44398) \"3\"\n ATMOSPHERE: (44398..44399) \" \"\n FORM: (44399..44437)\n OPEN_PAREN: (44399..44400) \"(\"\n SYMBOL: (44400..44417)\n IDENTIFIER: (44400..44417) \"bytevector-length\"\n ATMOSPHERE: (44417..44418) \" \"\n FORM: (44418..44436)\n OPEN_PAREN: (44418..44419) \"(\"\n SYMBOL: (44419..44429)\n IDENTIFIER: (44419..44429) \"bytevector\"\n ATMOSPHERE: (44429..44430) \" \"\n CONSTANT: (44430..44431)\n NUMBER: (44430..44431) \"0\"\n ATMOSPHERE: (44431..44432) \" \"\n CONSTANT: (44432..44433)\n NUMBER: (44432..44433) \"1\"\n ATMOSPHERE: (44433..44434) \" \"\n CONSTANT: (44434..44435)\n NUMBER: (44434..44435) \"2\"\n CLOSE_PAREN: (44435..44436) \")\"\n CLOSE_PAREN: (44436..44437) \")\"\n CLOSE_PAREN: (44437..44438) \")\"\n ATMOSPHERE: (44438..44440) \"\n\n\"\n ATMOSPHERE: (44440..44492) \";; (test 0 (bytevector-u8-ref (bytevector 0 1 2) 0))\"\n ATMOSPHERE: (44492..44493) \"\n\"\n ATMOSPHERE: (44493..44545) \";; (test 1 (bytevector-u8-ref (bytevector 0 1 2) 1))\"\n ATMOSPHERE: (44545..44546) \"\n\"\n ATMOSPHERE: (44546..44598) \";; (test 2 (bytevector-u8-ref (bytevector 0 1 2) 2))\"\n ATMOSPHERE: (44598..44600) \"\n\n\"\n ATMOSPHERE: (44600..44621) \";; (test #u8(0 255 2)\"\n ATMOSPHERE: (44621..44622) \"\n\"\n ATMOSPHERE: (44622..44694) \";; (let ((bv (bytevector 0 1 2))) (bytevector-u8-set! bv 1 255) bv))\"\n ATMOSPHERE: (44694..44696) \"\n\n\"\n ATMOSPHERE: (44696..44735) \";; (test #u8() (bytevector-copy #u8()))\"\n ATMOSPHERE: (44735..44736) \"\n\"\n ATMOSPHERE: (44736..44785) \";; (test #u8(0 1 2) (bytevector-copy #u8(0 1 2)))\"\n ATMOSPHERE: (44785..44786) \"\n\"\n ATMOSPHERE: (44786..44835) \";; (test #u8(1 2) (bytevector-copy #u8(0 1 2) 1))\"\n ATMOSPHERE: (44835..44836) \"\n\"\n ATMOSPHERE: (44836..44885) \";; (test #u8(1) (bytevector-copy #u8(0 1 2) 1 2))\"\n ATMOSPHERE: (44885..44887) \"\n\n\"\n ATMOSPHERE: (44887..44910) \";; (test #u8(1 6 7 4 5)\"\n ATMOSPHERE: (44910..44911) \"\n\"\n ATMOSPHERE: (44911..44952) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (44952..44953) \"\n\"\n ATMOSPHERE: (44953..45005) \";; (bytevector-copy! bv 1 #u8(6 7 8 9 10) 0 2)\"\n ATMOSPHERE: (45005..45006) \"\n\"\n ATMOSPHERE: (45006..45019) \";; bv))\"\n ATMOSPHERE: (45019..45020) \"\n\"\n ATMOSPHERE: (45020..45044) \";; (test #u8(6 7 8 9 10)\"\n ATMOSPHERE: (45044..45045) \"\n\"\n ATMOSPHERE: (45045..45086) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45086..45087) \"\n\"\n ATMOSPHERE: (45087..45135) \";; (bytevector-copy! bv 0 #u8(6 7 8 9 10))\"\n ATMOSPHERE: (45135..45136) \"\n\"\n ATMOSPHERE: (45136..45149) \";; bv))\"\n ATMOSPHERE: (45149..45150) \"\n\"\n ATMOSPHERE: (45150..45174) \";; (test #u8(8 9 10 4 5)\"\n ATMOSPHERE: (45174..45175) \"\n\"\n ATMOSPHERE: (45175..45216) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45216..45217) \"\n\"\n ATMOSPHERE: (45217..45267) \";; (bytevector-copy! bv 0 #u8(6 7 8 9 10) 2)\"\n ATMOSPHERE: (45267..45268) \"\n\"\n ATMOSPHERE: (45268..45281) \";; bv))\"\n ATMOSPHERE: (45281..45282) \"\n\"\n ATMOSPHERE: (45282..45305) \";; (test #u8(1 2 6 7 8)\"\n ATMOSPHERE: (45305..45306) \"\n\"\n ATMOSPHERE: (45306..45347) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45347..45348) \"\n\"\n ATMOSPHERE: (45348..45400) \";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 0 3)\"\n ATMOSPHERE: (45400..45401) \"\n\"\n ATMOSPHERE: (45401..45414) \";; bv))\"\n ATMOSPHERE: (45414..45415) \"\n\"\n ATMOSPHERE: (45415..45438) \";; (test #u8(1 2 8 4 5)\"\n ATMOSPHERE: (45438..45439) \"\n\"\n ATMOSPHERE: (45439..45480) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45480..45481) \"\n\"\n ATMOSPHERE: (45481..45533) \";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 2 3)\"\n ATMOSPHERE: (45533..45534) \"\n\"\n ATMOSPHERE: (45534..45547) \";; bv))\"\n ATMOSPHERE: (45547..45549) \"\n\n\"\n ATMOSPHERE: (45549..45575) \";; ;; same source and dest\"\n ATMOSPHERE: (45575..45576) \"\n\"\n ATMOSPHERE: (45576..45599) \";; (test #u8(1 1 2 4 5)\"\n ATMOSPHERE: (45599..45600) \"\n\"\n ATMOSPHERE: (45600..45641) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45641..45642) \"\n\"\n ATMOSPHERE: (45642..45681) \";; (bytevector-copy! bv 1 bv 0 2)\"\n ATMOSPHERE: (45681..45682) \"\n\"\n ATMOSPHERE: (45682..45695) \";; bv))\"\n ATMOSPHERE: (45695..45696) \"\n\"\n ATMOSPHERE: (45696..45719) \";; (test #u8(1 2 3 1 2)\"\n ATMOSPHERE: (45719..45720) \"\n\"\n ATMOSPHERE: (45720..45761) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (45761..45762) \"\n\"\n ATMOSPHERE: (45762..45801) \";; (bytevector-copy! bv 3 bv 0 2)\"\n ATMOSPHERE: (45801..45802) \"\n\"\n ATMOSPHERE: (45802..45815) \";; bv))\"\n ATMOSPHERE: (45815..45817) \"\n\n\"\n ATMOSPHERE: (45817..45858) \";; (test #u8() (bytevector-append #u8()))\"\n ATMOSPHERE: (45858..45859) \"\n\"\n ATMOSPHERE: (45859..45906) \";; (test #u8() (bytevector-append #u8() #u8()))\"\n ATMOSPHERE: (45906..45907) \"\n\"\n ATMOSPHERE: (45907..45964) \";; (test #u8(0 1 2) (bytevector-append #u8() #u8(0 1 2)))\"\n ATMOSPHERE: (45964..45965) \"\n\"\n ATMOSPHERE: (45965..46022) \";; (test #u8(0 1 2) (bytevector-append #u8(0 1 2) #u8()))\"\n ATMOSPHERE: (46022..46023) \"\n\"\n ATMOSPHERE: (46023..46087) \";; (test #u8(0 1 2 3 4) (bytevector-append #u8(0 1 2) #u8(3 4)))\"\n ATMOSPHERE: (46087..46088) \"\n\"\n ATMOSPHERE: (46088..46161) \";; (test #u8(0 1 2 3 4 5) (bytevector-append #u8(0 1 2) #u8(3 4) #u8(5)))\"\n ATMOSPHERE: (46161..46163) \"\n\n\"\n ATMOSPHERE: (46163..46213) \";; (test \"ABC\" (utf8->string #u8(#x41 #x42 #x43)))\"\n ATMOSPHERE: (46213..46214) \"\n\"\n ATMOSPHERE: (46214..46268) \";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43) 1))\"\n ATMOSPHERE: (46268..46269) \"\n\"\n ATMOSPHERE: (46269..46328) \";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43 0) 1 4))\"\n ATMOSPHERE: (46328..46329) \"\n\"\n ATMOSPHERE: (46329..46380) \";; (test \"λ\" (utf8->string #u8(0 #xCE #xBB 0) 1 3))\"\n ATMOSPHERE: (46380..46381) \"\n\"\n ATMOSPHERE: (46381..46431) \";; (test #u8(#x41 #x42 #x43) (string->utf8 \"ABC\"))\"\n ATMOSPHERE: (46431..46432) \"\n\"\n ATMOSPHERE: (46432..46479) \";; (test #u8(#x42 #x43) (string->utf8 \"ABC\" 1))\"\n ATMOSPHERE: (46479..46480) \"\n\"\n ATMOSPHERE: (46480..46524) \";; (test #u8(#x42) (string->utf8 \"ABC\" 1 2))\"\n ATMOSPHERE: (46524..46525) \"\n\"\n ATMOSPHERE: (46525..46568) \";; (test #u8(#xCE #xBB) (string->utf8 \"λ\"))\"\n ATMOSPHERE: (46568..46570) \"\n\n\"\n FORM: (46570..46580)\n OPEN_PAREN: (46570..46571) \"(\"\n SYMBOL: (46571..46579)\n IDENTIFIER: (46571..46579) \"test-end\"\n CLOSE_PAREN: (46579..46580) \")\"\n ATMOSPHERE: (46580..46582) \"\n\n\"\n FORM: (46582..46618)\n OPEN_PAREN: (46582..46583) \"(\"\n SYMBOL: (46583..46593)\n IDENTIFIER: (46583..46593) \"test-begin\"\n ATMOSPHERE: (46593..46594) \" \"\n CONSTANT: (46594..46617)\n STRING: (46594..46617) \"\"6.10 Control Features\"\"\n CLOSE_PAREN: (46617..46618) \")\"\n ATMOSPHERE: (46618..46620) \"\n\n\"\n FORM: (46620..46646)\n OPEN_PAREN: (46620..46621) \"(\"\n SYMBOL: (46621..46625)\n IDENTIFIER: (46621..46625) \"test\"\n ATMOSPHERE: (46625..46626) \" \"\n CONSTANT: (46626..46628)\n BOOLEAN: (46626..46628) \"#t\"\n ATMOSPHERE: (46628..46629) \" \"\n FORM: (46629..46645)\n OPEN_PAREN: (46629..46630) \"(\"\n SYMBOL: (46630..46640)\n IDENTIFIER: (46630..46640) \"procedure?\"\n ATMOSPHERE: (46640..46641) \" \"\n SYMBOL: (46641..46644)\n IDENTIFIER: (46641..46644) \"car\"\n CLOSE_PAREN: (46644..46645) \")\"\n CLOSE_PAREN: (46645..46646) \")\"\n ATMOSPHERE: (46646..46647) \"\n\"\n FORM: (46647..46674)\n OPEN_PAREN: (46647..46648) \"(\"\n SYMBOL: (46648..46652)\n IDENTIFIER: (46648..46652) \"test\"\n ATMOSPHERE: (46652..46653) \" \"\n CONSTANT: (46653..46655)\n BOOLEAN: (46653..46655) \"#f\"\n ATMOSPHERE: (46655..46656) \" \"\n FORM: (46656..46673)\n OPEN_PAREN: (46656..46657) \"(\"\n SYMBOL: (46657..46667)\n IDENTIFIER: (46657..46667) \"procedure?\"\n ATMOSPHERE: (46667..46668) \" \"\n QUOTED_DATUM: (46668..46672)\n QUOTE: (46668..46669) \"'\"\n SYMBOL: (46669..46672)\n IDENTIFIER: (46669..46672) \"car\"\n CLOSE_PAREN: (46672..46673) \")\"\n CLOSE_PAREN: (46673..46674) \")\"\n ATMOSPHERE: (46674..46675) \"\n\"\n FORM: (46675..46718)\n OPEN_PAREN: (46675..46676) \"(\"\n SYMBOL: (46676..46680)\n IDENTIFIER: (46676..46680) \"test\"\n ATMOSPHERE: (46680..46681) \" \"\n CONSTANT: (46681..46683)\n BOOLEAN: (46681..46683) \"#t\"\n ATMOSPHERE: (46683..46684) \" \"\n FORM: (46684..46717)\n OPEN_PAREN: (46684..46685) \"(\"\n SYMBOL: (46685..46695)\n IDENTIFIER: (46685..46695) \"procedure?\"\n ATMOSPHERE: (46695..46696) \" \"\n FORM: (46696..46716)\n OPEN_PAREN: (46696..46697) \"(\"\n SYMBOL: (46697..46703)\n IDENTIFIER: (46697..46703) \"lambda\"\n ATMOSPHERE: (46703..46704) \" \"\n FORM: (46704..46707)\n OPEN_PAREN: (46704..46705) \"(\"\n SYMBOL: (46705..46706)\n IDENTIFIER: (46705..46706) \"x\"\n CLOSE_PAREN: (46706..46707) \")\"\n ATMOSPHERE: (46707..46708) \" \"\n FORM: (46708..46715)\n OPEN_PAREN: (46708..46709) \"(\"\n SYMBOL: (46709..46710)\n IDENTIFIER: (46709..46710) \"*\"\n ATMOSPHERE: (46710..46711) \" \"\n SYMBOL: (46711..46712)\n IDENTIFIER: (46711..46712) \"x\"\n ATMOSPHERE: (46712..46713) \" \"\n SYMBOL: (46713..46714)\n IDENTIFIER: (46713..46714) \"x\"\n CLOSE_PAREN: (46714..46715) \")\"\n CLOSE_PAREN: (46715..46716) \")\"\n CLOSE_PAREN: (46716..46717) \")\"\n CLOSE_PAREN: (46717..46718) \")\"\n ATMOSPHERE: (46718..46719) \"\n\"\n FORM: (46719..46763)\n OPEN_PAREN: (46719..46720) \"(\"\n SYMBOL: (46720..46724)\n IDENTIFIER: (46720..46724) \"test\"\n ATMOSPHERE: (46724..46725) \" \"\n CONSTANT: (46725..46727)\n BOOLEAN: (46725..46727) \"#f\"\n ATMOSPHERE: (46727..46728) \" \"\n FORM: (46728..46762)\n OPEN_PAREN: (46728..46729) \"(\"\n SYMBOL: (46729..46739)\n IDENTIFIER: (46729..46739) \"procedure?\"\n ATMOSPHERE: (46739..46740) \" \"\n QUOTED_DATUM: (46740..46761)\n QUOTE: (46740..46741) \"'\"\n FORM: (46741..46761)\n OPEN_PAREN: (46741..46742) \"(\"\n SYMBOL: (46742..46748)\n IDENTIFIER: (46742..46748) \"lambda\"\n ATMOSPHERE: (46748..46749) \" \"\n FORM: (46749..46752)\n OPEN_PAREN: (46749..46750) \"(\"\n SYMBOL: (46750..46751)\n IDENTIFIER: (46750..46751) \"x\"\n CLOSE_PAREN: (46751..46752) \")\"\n ATMOSPHERE: (46752..46753) \" \"\n FORM: (46753..46760)\n OPEN_PAREN: (46753..46754) \"(\"\n SYMBOL: (46754..46755)\n IDENTIFIER: (46754..46755) \"*\"\n ATMOSPHERE: (46755..46756) \" \"\n SYMBOL: (46756..46757)\n IDENTIFIER: (46756..46757) \"x\"\n ATMOSPHERE: (46757..46758) \" \"\n SYMBOL: (46758..46759)\n IDENTIFIER: (46758..46759) \"x\"\n CLOSE_PAREN: (46759..46760) \")\"\n CLOSE_PAREN: (46760..46761) \")\"\n CLOSE_PAREN: (46761..46762) \")\"\n CLOSE_PAREN: (46762..46763) \")\"\n ATMOSPHERE: (46763..46764) \"\n\"\n ATMOSPHERE: (46764..46820) \";; (test #t (call-with-current-continuation procedure?))\"\n ATMOSPHERE: (46820..46822) \"\n\n\"\n FORM: (46822..46851)\n OPEN_PAREN: (46822..46823) \"(\"\n SYMBOL: (46823..46827)\n IDENTIFIER: (46823..46827) \"test\"\n ATMOSPHERE: (46827..46828) \" \"\n CONSTANT: (46828..46829)\n NUMBER: (46828..46829) \"7\"\n ATMOSPHERE: (46829..46830) \" \"\n FORM: (46830..46850)\n OPEN_PAREN: (46830..46831) \"(\"\n SYMBOL: (46831..46836)\n IDENTIFIER: (46831..46836) \"apply\"\n ATMOSPHERE: (46836..46837) \" \"\n SYMBOL: (46837..46838)\n IDENTIFIER: (46837..46838) \"+\"\n ATMOSPHERE: (46838..46839) \" \"\n FORM: (46839..46849)\n OPEN_PAREN: (46839..46840) \"(\"\n SYMBOL: (46840..46844)\n IDENTIFIER: (46840..46844) \"list\"\n ATMOSPHERE: (46844..46845) \" \"\n CONSTANT: (46845..46846)\n NUMBER: (46845..46846) \"3\"\n ATMOSPHERE: (46846..46847) \" \"\n CONSTANT: (46847..46848)\n NUMBER: (46847..46848) \"4\"\n CLOSE_PAREN: (46848..46849) \")\"\n CLOSE_PAREN: (46849..46850) \")\"\n CLOSE_PAREN: (46850..46851) \")\"\n ATMOSPHERE: (46851..46852) \"\n\"\n FORM: (46852..46881)\n OPEN_PAREN: (46852..46853) \"(\"\n SYMBOL: (46853..46857)\n IDENTIFIER: (46853..46857) \"test\"\n ATMOSPHERE: (46857..46858) \" \"\n CONSTANT: (46858..46859)\n NUMBER: (46858..46859) \"7\"\n ATMOSPHERE: (46859..46860) \" \"\n FORM: (46860..46880)\n OPEN_PAREN: (46860..46861) \"(\"\n SYMBOL: (46861..46866)\n IDENTIFIER: (46861..46866) \"apply\"\n ATMOSPHERE: (46866..46867) \" \"\n SYMBOL: (46867..46868)\n IDENTIFIER: (46867..46868) \"+\"\n ATMOSPHERE: (46868..46869) \" \"\n CONSTANT: (46869..46870)\n NUMBER: (46869..46870) \"3\"\n ATMOSPHERE: (46870..46871) \" \"\n CONSTANT: (46871..46872)\n NUMBER: (46871..46872) \"4\"\n ATMOSPHERE: (46872..46873) \" \"\n FORM: (46873..46879)\n OPEN_PAREN: (46873..46874) \"(\"\n SYMBOL: (46874..46878)\n IDENTIFIER: (46874..46878) \"list\"\n CLOSE_PAREN: (46878..46879) \")\"\n CLOSE_PAREN: (46879..46880) \")\"\n CLOSE_PAREN: (46880..46881) \")\"\n ATMOSPHERE: (46881..46882) \"\n\"\n ATMOSPHERE: (46882..46926) \";; (test-error (apply +)) ;; not enough args\"\n ATMOSPHERE: (46926..46927) \"\n\"\n ATMOSPHERE: (46927..46978) \";; (test-error (apply + 3)) ;; final arg not a list\"\n ATMOSPHERE: (46978..46979) \"\n\"\n ATMOSPHERE: (46979..47032) \";; (test-error (apply + 3 4)) ;; final arg not a list\"\n ATMOSPHERE: (47032..47033) \"\n\"\n ATMOSPHERE: (47033..47094) \";; (test-error (apply + '(2 3 . 4))) ;; final arg is improper\"\n ATMOSPHERE: (47094..47097) \"\n\n\n\"\n ATMOSPHERE: (47097..47115) \";; (define compose\"\n ATMOSPHERE: (47115..47116) \"\n\"\n ATMOSPHERE: (47116..47134) \";; (lambda (f g)\"\n ATMOSPHERE: (47134..47135) \"\n\"\n ATMOSPHERE: (47135..47154) \";; (lambda args\"\n ATMOSPHERE: (47154..47155) \"\n\"\n ATMOSPHERE: (47155..47185) \";; (f (apply g args)))))\"\n ATMOSPHERE: (47185..47186) \"\n\"\n ATMOSPHERE: (47186..47202) \";; (test '(30 0)\"\n ATMOSPHERE: (47202..47203) \"\n\"\n ATMOSPHERE: (47203..47278) \";; (call-with-values (lambda () ((compose exact-integer-sqrt *) 12 75))\"\n ATMOSPHERE: (47278..47279) \"\n\"\n ATMOSPHERE: (47279..47294) \";; list))\"\n ATMOSPHERE: (47294..47296) \"\n\n\"\n ATMOSPHERE: (47296..47346) \";; (test '(b e h) (map cadr '((a b) (d e) (g h))))\"\n ATMOSPHERE: (47346..47348) \"\n\n\"\n ATMOSPHERE: (47348..47419) \";; (test '(1 4 27 256 3125) (map (lambda (n) (expt n n)) '(1 2 3 4 5)))\"\n ATMOSPHERE: (47419..47421) \"\n\n\"\n ATMOSPHERE: (47421..47467) \";; (test '(5 7 9) (map + '(1 2 3) '(4 5 6 7)))\"\n ATMOSPHERE: (47467..47469) \"\n\n\"\n ATMOSPHERE: (47469..47480) \";; (test #t\"\n ATMOSPHERE: (47480..47481) \"\n\"\n ATMOSPHERE: (47481..47515) \";; (let ((res (let ((count 0))\"\n ATMOSPHERE: (47515..47516) \"\n\"\n ATMOSPHERE: (47516..47558) \";; (map (lambda (ignored)\"\n ATMOSPHERE: (47558..47559) \"\n\"\n ATMOSPHERE: (47559..47610) \";; (set! count (+ count 1))\"\n ATMOSPHERE: (47610..47611) \"\n\"\n ATMOSPHERE: (47611..47644) \";; count)\"\n ATMOSPHERE: (47644..47645) \"\n\"\n ATMOSPHERE: (47645..47680) \";; '(a b)))))\"\n ATMOSPHERE: (47680..47681) \"\n\"\n ATMOSPHERE: (47681..47713) \";; (or (equal? res '(1 2))\"\n ATMOSPHERE: (47713..47714) \"\n\"\n ATMOSPHERE: (47714..47749) \";; (equal? res '(2 1)))))\"\n ATMOSPHERE: (47749..47751) \"\n\n\"\n ATMOSPHERE: (47751..47786) \";; (test '(10 200 3000 40 500 6000)\"\n ATMOSPHERE: (47786..47787) \"\n\"\n ATMOSPHERE: (47787..47824) \";; (let ((ls1 (list 10 100 1000))\"\n ATMOSPHERE: (47824..47825) \"\n\"\n ATMOSPHERE: (47825..47863) \";; (ls2 (list 1 2 3 4 5 6)))\"\n ATMOSPHERE: (47863..47864) \"\n\"\n ATMOSPHERE: (47864..47898) \";; (set-cdr! (cddr ls1) ls1)\"\n ATMOSPHERE: (47898..47899) \"\n\"\n ATMOSPHERE: (47899..47925) \";; (map * ls1 ls2)))\"\n ATMOSPHERE: (47925..47927) \"\n\n\"\n ATMOSPHERE: (47927..47981) \";; (test \"abdegh\" (string-map char-foldcase \"AbdEgH\"))\"\n ATMOSPHERE: (47981..47983) \"\n\n\"\n ATMOSPHERE: (47983..48009) \";; (test \"IBM\" (string-map\"\n ATMOSPHERE: (48009..48010) \"\n\"\n ATMOSPHERE: (48010..48025) \";; (lambda (c)\"\n ATMOSPHERE: (48025..48026) \"\n\"\n ATMOSPHERE: (48026..48072) \";; (integer->char (+ 1 (char->integer c))))\"\n ATMOSPHERE: (48072..48073) \"\n\"\n ATMOSPHERE: (48073..48084) \";; \"HAL\"))\"\n ATMOSPHERE: (48084..48086) \"\n\n\"\n ATMOSPHERE: (48086..48107) \";; (test \"StUdLyCaPs\"\"\n ATMOSPHERE: (48107..48108) \"\n\"\n ATMOSPHERE: (48108..48126) \";; (string-map\"\n ATMOSPHERE: (48126..48127) \"\n\"\n ATMOSPHERE: (48127..48201) \";; (lambda (c k) (if (eqv? k #\\u) (char-upcase c) (char-downcase c)))\"\n ATMOSPHERE: (48201..48202) \"\n\"\n ATMOSPHERE: (48202..48226) \";; \"studlycaps xxx\"\"\n ATMOSPHERE: (48226..48227) \"\n\"\n ATMOSPHERE: (48227..48249) \";; \"ululululul\"))\"\n ATMOSPHERE: (48249..48251) \"\n\n\"\n ATMOSPHERE: (48251..48309) \";; (test #(b e h) (vector-map cadr '#((a b) (d e) (g h))))\"\n ATMOSPHERE: (48309..48311) \"\n\n\"\n ATMOSPHERE: (48311..48338) \";; (test #(1 4 27 256 3125)\"\n ATMOSPHERE: (48338..48339) \"\n\"\n ATMOSPHERE: (48339..48381) \";; (vector-map (lambda (n) (expt n n))\"\n ATMOSPHERE: (48381..48382) \"\n\"\n ATMOSPHERE: (48382..48416) \";; '#(1 2 3 4 5)))\"\n ATMOSPHERE: (48416..48418) \"\n\n\"\n ATMOSPHERE: (48418..48473) \";; (test #(5 7 9) (vector-map + '#(1 2 3) '#(4 5 6 7)))\"\n ATMOSPHERE: (48473..48475) \"\n\n\"\n ATMOSPHERE: (48475..48486) \";; (test #t\"\n ATMOSPHERE: (48486..48487) \"\n\"\n ATMOSPHERE: (48487..48521) \";; (let ((res (let ((count 0))\"\n ATMOSPHERE: (48521..48522) \"\n\"\n ATMOSPHERE: (48522..48553) \";; (vector-map\"\n ATMOSPHERE: (48553..48554) \"\n\"\n ATMOSPHERE: (48554..48592) \";; (lambda (ignored)\"\n ATMOSPHERE: (48592..48593) \"\n\"\n ATMOSPHERE: (48593..48640) \";; (set! count (+ count 1))\"\n ATMOSPHERE: (48640..48641) \"\n\"\n ATMOSPHERE: (48641..48670) \";; count)\"\n ATMOSPHERE: (48670..48671) \"\n\"\n ATMOSPHERE: (48671..48703) \";; '#(a b)))))\"\n ATMOSPHERE: (48703..48704) \"\n\"\n ATMOSPHERE: (48704..48736) \";; (or (equal? res #(1 2))\"\n ATMOSPHERE: (48736..48737) \"\n\"\n ATMOSPHERE: (48737..48772) \";; (equal? res #(2 1)))))\"\n ATMOSPHERE: (48772..48774) \"\n\n\"\n ATMOSPHERE: (48774..48796) \";; (test #(0 1 4 9 16)\"\n ATMOSPHERE: (48796..48797) \"\n\"\n ATMOSPHERE: (48797..48830) \";; (let ((v (make-vector 5)))\"\n ATMOSPHERE: (48830..48831) \"\n\"\n ATMOSPHERE: (48831..48861) \";; (for-each (lambda (i)\"\n ATMOSPHERE: (48861..48862) \"\n\"\n ATMOSPHERE: (48862..48909) \";; (vector-set! v i (* i i)))\"\n ATMOSPHERE: (48909..48910) \"\n\"\n ATMOSPHERE: (48910..48942) \";; '(0 1 2 3 4))\"\n ATMOSPHERE: (48942..48943) \"\n\"\n ATMOSPHERE: (48943..48955) \";; v))\"\n ATMOSPHERE: (48955..48957) \"\n\n\"\n ATMOSPHERE: (48957..48970) \";; (test 9750\"\n ATMOSPHERE: (48970..48971) \"\n\"\n ATMOSPHERE: (48971..49008) \";; (let ((ls1 (list 10 100 1000))\"\n ATMOSPHERE: (49008..49009) \"\n\"\n ATMOSPHERE: (49009..49046) \";; (ls2 (list 1 2 3 4 5 6))\"\n ATMOSPHERE: (49046..49047) \"\n\"\n ATMOSPHERE: (49047..49070) \";; (count 0))\"\n ATMOSPHERE: (49070..49071) \"\n\"\n ATMOSPHERE: (49071..49105) \";; (set-cdr! (cddr ls1) ls1)\"\n ATMOSPHERE: (49105..49106) \"\n\"\n ATMOSPHERE: (49106..49179) \";; (for-each (lambda (x y) (set! count (+ count (* x y)))) ls2 ls1)\"\n ATMOSPHERE: (49179..49180) \"\n\"\n ATMOSPHERE: (49180..49196) \";; count))\"\n ATMOSPHERE: (49196..49198) \"\n\n\"\n ATMOSPHERE: (49198..49226) \";; (test '(101 100 99 98 97)\"\n ATMOSPHERE: (49226..49227) \"\n\"\n ATMOSPHERE: (49227..49248) \";; (let ((v '()))\"\n ATMOSPHERE: (49248..49249) \"\n\"\n ATMOSPHERE: (49249..49274) \";; (string-for-each\"\n ATMOSPHERE: (49274..49275) \"\n\"\n ATMOSPHERE: (49275..49333) \";; (lambda (c) (set! v (cons (char->integer c) v)))\"\n ATMOSPHERE: (49333..49334) \"\n\"\n ATMOSPHERE: (49334..49352) \";; \"abcde\")\"\n ATMOSPHERE: (49352..49353) \"\n\"\n ATMOSPHERE: (49353..49365) \";; v))\"\n ATMOSPHERE: (49365..49367) \"\n\n\"\n ATMOSPHERE: (49367..49414) \";; (test '(0 1 4 9 16) (let ((v (make-list 5)))\"\n ATMOSPHERE: (49414..49415) \"\n\"\n ATMOSPHERE: (49415..49436) \";; (vector-for-each\"\n ATMOSPHERE: (49436..49437) \"\n\"\n ATMOSPHERE: (49437..49479) \";; (lambda (i) (list-set! v i (* i i)))\"\n ATMOSPHERE: (49479..49480) \"\n\"\n ATMOSPHERE: (49480..49500) \";; '#(0 1 2 3 4))\"\n ATMOSPHERE: (49500..49501) \"\n\"\n ATMOSPHERE: (49501..49509) \";; v))\"\n ATMOSPHERE: (49509..49511) \"\n\n\"\n ATMOSPHERE: (49511..49554) \";; (test -3 (call-with-current-continuation\"\n ATMOSPHERE: (49554..49555) \"\n\"\n ATMOSPHERE: (49555..49574) \";; (lambda (exit)\"\n ATMOSPHERE: (49574..49575) \"\n\"\n ATMOSPHERE: (49575..49603) \";; (for-each (lambda (x)\"\n ATMOSPHERE: (49603..49604) \"\n\"\n ATMOSPHERE: (49604..49640) \";; (if (negative? x)\"\n ATMOSPHERE: (49640..49641) \"\n\"\n ATMOSPHERE: (49641..49674) \";; (exit x)))\"\n ATMOSPHERE: (49674..49675) \"\n\"\n ATMOSPHERE: (49675..49713) \";; '(54 0 37 -3 245 19))\"\n ATMOSPHERE: (49713..49714) \"\n\"\n ATMOSPHERE: (49714..49726) \";; #t)))\"\n ATMOSPHERE: (49726..49727) \"\n\"\n ATMOSPHERE: (49727..49749) \";; (define list-length\"\n ATMOSPHERE: (49749..49750) \"\n\"\n ATMOSPHERE: (49750..49768) \";; (lambda (obj)\"\n ATMOSPHERE: (49768..49769) \"\n\"\n ATMOSPHERE: (49769..49807) \";; (call-with-current-continuation\"\n ATMOSPHERE: (49807..49808) \"\n\"\n ATMOSPHERE: (49808..49833) \";; (lambda (return)\"\n ATMOSPHERE: (49833..49834) \"\n\"\n ATMOSPHERE: (49834..49856) \";; (letrec ((r\"\n ATMOSPHERE: (49856..49857) \"\n\"\n ATMOSPHERE: (49857..49891) \";; (lambda (obj)\"\n ATMOSPHERE: (49891..49892) \"\n\"\n ATMOSPHERE: (49892..49936) \";; (cond ((null? obj) 0)\"\n ATMOSPHERE: (49936..49937) \"\n\"\n ATMOSPHERE: (49937..49978) \";; ((pair? obj)\"\n ATMOSPHERE: (49978..49979) \"\n\"\n ATMOSPHERE: (49979..50029) \";; (+ (r (cdr obj)) 1))\"\n ATMOSPHERE: (50029..50030) \"\n\"\n ATMOSPHERE: (50030..50081) \";; (else (return #f))))))\"\n ATMOSPHERE: (50081..50082) \"\n\"\n ATMOSPHERE: (50082..50107) \";; (r obj))))))\"\n ATMOSPHERE: (50107..50109) \"\n\n\"\n ATMOSPHERE: (50109..50145) \";; (test 4 (list-length '(1 2 3 4)))\"\n ATMOSPHERE: (50145..50147) \"\n\n\"\n ATMOSPHERE: (50147..50184) \";; (test #f (list-length '(a b . c)))\"\n ATMOSPHERE: (50184..50186) \"\n\n\"\n ATMOSPHERE: (50186..50196) \";; (test 5\"\n ATMOSPHERE: (50196..50197) \"\n\"\n ATMOSPHERE: (50197..50246) \";; (call-with-values (lambda () (values 4 5))\"\n ATMOSPHERE: (50246..50247) \"\n\"\n ATMOSPHERE: (50247..50274) \";; (lambda (a b) b)))\"\n ATMOSPHERE: (50274..50276) \"\n\n\"\n ATMOSPHERE: (50276..50311) \";; (test -1 (call-with-values * -))\"\n ATMOSPHERE: (50311..50313) \"\n\n\"\n ATMOSPHERE: (50313..50348) \";; (test '(connect talk1 disconnect\"\n ATMOSPHERE: (50348..50349) \"\n\"\n ATMOSPHERE: (50349..50385) \";; connect talk2 disconnect)\"\n ATMOSPHERE: (50385..50386) \"\n\"\n ATMOSPHERE: (50386..50409) \";; (let ((path '())\"\n ATMOSPHERE: (50409..50410) \"\n\"\n ATMOSPHERE: (50410..50430) \";; (c #f))\"\n ATMOSPHERE: (50430..50431) \"\n\"\n ATMOSPHERE: (50431..50462) \";; (let ((add (lambda (s)\"\n ATMOSPHERE: (50462..50463) \"\n\"\n ATMOSPHERE: (50463..50513) \";; (set! path (cons s path)))))\"\n ATMOSPHERE: (50513..50514) \"\n\"\n ATMOSPHERE: (50514..50538) \";; (dynamic-wind\"\n ATMOSPHERE: (50538..50539) \"\n\"\n ATMOSPHERE: (50539..50578) \";; (lambda () (add 'connect))\"\n ATMOSPHERE: (50578..50579) \"\n\"\n ATMOSPHERE: (50579..50602) \";; (lambda ()\"\n ATMOSPHERE: (50602..50603) \"\n\"\n ATMOSPHERE: (50603..50654) \";; (add (call-with-current-continuation\"\n ATMOSPHERE: (50654..50655) \"\n\"\n ATMOSPHERE: (50655..50688) \";; (lambda (c0)\"\n ATMOSPHERE: (50688..50689) \"\n\"\n ATMOSPHERE: (50689..50723) \";; (set! c c0)\"\n ATMOSPHERE: (50723..50724) \"\n\"\n ATMOSPHERE: (50724..50757) \";; 'talk1))))\"\n ATMOSPHERE: (50757..50758) \"\n\"\n ATMOSPHERE: (50758..50801) \";; (lambda () (add 'disconnect)))\"\n ATMOSPHERE: (50801..50802) \"\n\"\n ATMOSPHERE: (50802..50836) \";; (if (< (length path) 4)\"\n ATMOSPHERE: (50836..50837) \"\n\"\n ATMOSPHERE: (50837..50862) \";; (c 'talk2)\"\n ATMOSPHERE: (50862..50863) \"\n\"\n ATMOSPHERE: (50863..50896) \";; (reverse path)))))\"\n ATMOSPHERE: (50896..50898) \"\n\n\"\n FORM: (50898..50908)\n OPEN_PAREN: (50898..50899) \"(\"\n SYMBOL: (50899..50907)\n IDENTIFIER: (50899..50907) \"test-end\"\n CLOSE_PAREN: (50907..50908) \")\"\n ATMOSPHERE: (50908..50910) \"\n\n\"\n FORM: (50910..50940)\n OPEN_PAREN: (50910..50911) \"(\"\n SYMBOL: (50911..50921)\n IDENTIFIER: (50911..50921) \"test-begin\"\n ATMOSPHERE: (50921..50922) \" \"\n CONSTANT: (50922..50939)\n STRING: (50922..50939) \"\"6.11 Exceptions\"\"\n CLOSE_PAREN: (50939..50940) \")\"\n ATMOSPHERE: (50940..50942) \"\n\n\"\n ATMOSPHERE: (50942..50953) \";; (test 65\"\n ATMOSPHERE: (50953..50954) \"\n\"\n ATMOSPHERE: (50954..50984) \";; (with-exception-handler\"\n ATMOSPHERE: (50984..50985) \"\n\"\n ATMOSPHERE: (50985..51010) \";; (lambda (con) 42)\"\n ATMOSPHERE: (51010..51011) \"\n\"\n ATMOSPHERE: (51011..51029) \";; (lambda ()\"\n ATMOSPHERE: (51029..51030) \"\n\"\n ATMOSPHERE: (51030..51083) \";; (+ (raise-continuable \"should be a number\")\"\n ATMOSPHERE: (51083..51084) \"\n\"\n ATMOSPHERE: (51084..51103) \";; 23))))\"\n ATMOSPHERE: (51103..51105) \"\n\n\"\n ATMOSPHERE: (51105..51116) \";; (test #t\"\n ATMOSPHERE: (51116..51117) \"\n\"\n ATMOSPHERE: (51117..51187) \";; (error-object? (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51187..51188) \"\n\"\n ATMOSPHERE: (51188..51204) \";; (test \"BOOM!\"\"\n ATMOSPHERE: (51204..51205) \"\n\"\n ATMOSPHERE: (51205..51282) \";; (error-object-message (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51282..51283) \"\n\"\n ATMOSPHERE: (51283..51300) \";; (test '(1 2 3)\"\n ATMOSPHERE: (51300..51301) \"\n\"\n ATMOSPHERE: (51301..51380) \";; (error-object-irritants (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))\"\n ATMOSPHERE: (51380..51382) \"\n\n\"\n ATMOSPHERE: (51382..51393) \";; (test #f\"\n ATMOSPHERE: (51393..51394) \"\n\"\n ATMOSPHERE: (51394..51456) \";; (file-error? (guard (exn (else exn)) (error \"BOOM!\"))))\"\n ATMOSPHERE: (51456..51457) \"\n\"\n ATMOSPHERE: (51457..51468) \";; (test #t\"\n ATMOSPHERE: (51468..51469) \"\n\"\n ATMOSPHERE: (51469..51550) \";; (file-error? (guard (exn (else exn)) (open-input-file \" no such file \"))))\"\n ATMOSPHERE: (51550..51552) \"\n\n\"\n ATMOSPHERE: (51552..51563) \";; (test #f\"\n ATMOSPHERE: (51563..51564) \"\n\"\n ATMOSPHERE: (51564..51626) \";; (read-error? (guard (exn (else exn)) (error \"BOOM!\"))))\"\n ATMOSPHERE: (51626..51627) \"\n\"\n ATMOSPHERE: (51627..51638) \";; (test #t\"\n ATMOSPHERE: (51638..51639) \"\n\"\n ATMOSPHERE: (51639..51716) \";; (read-error? (guard (exn (else exn)) (read (open-input-string \")\")))))\"\n ATMOSPHERE: (51716..51717) \"\n\"\n ATMOSPHERE: (51717..51728) \";; (test #t\"\n ATMOSPHERE: (51728..51729) \"\n\"\n ATMOSPHERE: (51729..51807) \";; (read-error? (guard (exn (else exn)) (read (open-input-string \"\\\"\")))))\"\n ATMOSPHERE: (51807..51809) \"\n\n\"\n ATMOSPHERE: (51809..51844) \";; (define something-went-wrong #f)\"\n ATMOSPHERE: (51844..51845) \"\n\"\n ATMOSPHERE: (51845..51884) \";; (define (test-exception-handler-1 v)\"\n ATMOSPHERE: (51884..51885) \"\n\"\n ATMOSPHERE: (51885..51921) \";; (call-with-current-continuation\"\n ATMOSPHERE: (51921..51922) \"\n\"\n ATMOSPHERE: (51922..51939) \";; (lambda (k)\"\n ATMOSPHERE: (51939..51940) \"\n\"\n ATMOSPHERE: (51940..51971) \";; (with-exception-handler\"\n ATMOSPHERE: (51971..51972) \"\n\"\n ATMOSPHERE: (51972..51992) \";; (lambda (x)\"\n ATMOSPHERE: (51992..51993) \"\n\"\n ATMOSPHERE: (51993..52054) \";; (set! something-went-wrong (list \"condition: \" x))\"\n ATMOSPHERE: (52054..52055) \"\n\"\n ATMOSPHERE: (52055..52081) \";; (k 'exception))\"\n ATMOSPHERE: (52081..52082) \"\n\"\n ATMOSPHERE: (52082..52101) \";; (lambda ()\"\n ATMOSPHERE: (52101..52102) \"\n\"\n ATMOSPHERE: (52102..52164) \";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error))))))))\"\n ATMOSPHERE: (52164..52165) \"\n\"\n ATMOSPHERE: (52165..52207) \";; (test 106 (test-exception-handler-1 5))\"\n ATMOSPHERE: (52207..52208) \"\n\"\n ATMOSPHERE: (52208..52241) \";; (test #f something-went-wrong)\"\n ATMOSPHERE: (52241..52242) \"\n\"\n ATMOSPHERE: (52242..52292) \";; (test 'exception (test-exception-handler-1 -1))\"\n ATMOSPHERE: (52292..52293) \"\n\"\n ATMOSPHERE: (52293..52349) \";; (test '(\"condition: \" an-error) something-went-wrong)\"\n ATMOSPHERE: (52349..52351) \"\n\n\"\n ATMOSPHERE: (52351..52384) \";; (set! something-went-wrong #f)\"\n ATMOSPHERE: (52384..52385) \"\n\"\n ATMOSPHERE: (52385..52424) \";; (define (test-exception-handler-2 v)\"\n ATMOSPHERE: (52424..52425) \"\n\"\n ATMOSPHERE: (52425..52474) \";; (guard (ex (else 'caught-another-exception))\"\n ATMOSPHERE: (52474..52475) \"\n\"\n ATMOSPHERE: (52475..52505) \";; (with-exception-handler\"\n ATMOSPHERE: (52505..52506) \"\n\"\n ATMOSPHERE: (52506..52525) \";; (lambda (x)\"\n ATMOSPHERE: (52525..52526) \"\n\"\n ATMOSPHERE: (52526..52566) \";; (set! something-went-wrong #t)\"\n ATMOSPHERE: (52566..52567) \"\n\"\n ATMOSPHERE: (52567..52599) \";; (list \"exception:\" x))\"\n ATMOSPHERE: (52599..52600) \"\n\"\n ATMOSPHERE: (52600..52618) \";; (lambda ()\"\n ATMOSPHERE: (52618..52619) \"\n\"\n ATMOSPHERE: (52619..52679) \";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error)))))))\"\n ATMOSPHERE: (52679..52680) \"\n\"\n ATMOSPHERE: (52680..52722) \";; (test 106 (test-exception-handler-2 5))\"\n ATMOSPHERE: (52722..52723) \"\n\"\n ATMOSPHERE: (52723..52756) \";; (test #f something-went-wrong)\"\n ATMOSPHERE: (52756..52757) \"\n\"\n ATMOSPHERE: (52757..52822) \";; (test 'caught-another-exception (test-exception-handler-2 -1))\"\n ATMOSPHERE: (52822..52823) \"\n\"\n ATMOSPHERE: (52823..52856) \";; (test #t something-went-wrong)\"\n ATMOSPHERE: (52856..52858) \"\n\n\"\n ATMOSPHERE: (52858..52921) \";; ;; Based on an example from R6RS-lib section 7.1 Exceptions.\"\n ATMOSPHERE: (52921..52922) \"\n\"\n ATMOSPHERE: (52922..52982) \";; ;; R7RS section 6.11 Exceptions has a simplified version.\"\n ATMOSPHERE: (52982..52983) \"\n\"\n ATMOSPHERE: (52983..53019) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (53019..53020) \"\n\"\n ATMOSPHERE: (53020..53060) \";; (value (with-exception-handler\"\n ATMOSPHERE: (53060..53061) \"\n\"\n ATMOSPHERE: (53061..53092) \";; (lambda (con)\"\n ATMOSPHERE: (53092..53093) \"\n\"\n ATMOSPHERE: (53093..53118) \";; (cond\"\n ATMOSPHERE: (53118..53119) \"\n\"\n ATMOSPHERE: (53119..53158) \";; ((not (list? con))\"\n ATMOSPHERE: (53158..53159) \"\n\"\n ATMOSPHERE: (53159..53193) \";; (raise con))\"\n ATMOSPHERE: (53193..53194) \"\n\"\n ATMOSPHERE: (53194..53227) \";; ((list? con)\"\n ATMOSPHERE: (53227..53228) \"\n\"\n ATMOSPHERE: (53228..53274) \";; (display (car con) out))\"\n ATMOSPHERE: (53274..53275) \"\n\"\n ATMOSPHERE: (53275..53301) \";; (else\"\n ATMOSPHERE: (53301..53302) \"\n\"\n ATMOSPHERE: (53302..53367) \";; (display \"a warning has been issued\" out)))\"\n ATMOSPHERE: (53367..53368) \"\n\"\n ATMOSPHERE: (53368..53391) \";; 42)\"\n ATMOSPHERE: (53391..53392) \"\n\"\n ATMOSPHERE: (53392..53420) \";; (lambda ()\"\n ATMOSPHERE: (53420..53421) \"\n\"\n ATMOSPHERE: (53421..53462) \";; (+ (raise-continuable\"\n ATMOSPHERE: (53462..53463) \"\n\"\n ATMOSPHERE: (53463..53515) \";; (list \"should be a number\"))\"\n ATMOSPHERE: (53515..53516) \"\n\"\n ATMOSPHERE: (53516..53546) \";; 23)))))\"\n ATMOSPHERE: (53546..53547) \"\n\"\n ATMOSPHERE: (53547..53603) \";; (test \"should be a number\" (get-output-string out))\"\n ATMOSPHERE: (53603..53604) \"\n\"\n ATMOSPHERE: (53604..53625) \";; (test 65 value))\"\n ATMOSPHERE: (53625..53627) \"\n\n\"\n ATMOSPHERE: (53627..53669) \";; ;; From SRFI-34 \"Examples\" section - #3\"\n ATMOSPHERE: (53669..53670) \"\n\"\n ATMOSPHERE: (53670..53713) \";; (define (test-exception-handler-3 v out)\"\n ATMOSPHERE: (53713..53714) \"\n\"\n ATMOSPHERE: (53714..53736) \";; (guard (condition\"\n ATMOSPHERE: (53736..53737) \"\n\"\n ATMOSPHERE: (53737..53755) \";; (else\"\n ATMOSPHERE: (53755..53756) \"\n\"\n ATMOSPHERE: (53756..53797) \";; (display \"condition: \" out)\"\n ATMOSPHERE: (53797..53798) \"\n\"\n ATMOSPHERE: (53798..53833) \";; (write condition out)\"\n ATMOSPHERE: (53833..53834) \"\n\"\n ATMOSPHERE: (53834..53865) \";; (display #\\! out)\"\n ATMOSPHERE: (53865..53866) \"\n\"\n ATMOSPHERE: (53866..53892) \";; 'exception))\"\n ATMOSPHERE: (53892..53893) \"\n\"\n ATMOSPHERE: (53893..53952) \";; (+ 1 (if (= v 0) (raise 'an-error) (/ 10 v)))))\"\n ATMOSPHERE: (53952..53953) \"\n\"\n ATMOSPHERE: (53953..53989) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (53989..53990) \"\n\"\n ATMOSPHERE: (53990..54041) \";; (value (test-exception-handler-3 0 out)))\"\n ATMOSPHERE: (54041..54042) \"\n\"\n ATMOSPHERE: (54042..54070) \";; (test 'exception value)\"\n ATMOSPHERE: (54070..54071) \"\n\"\n ATMOSPHERE: (54071..54130) \";; (test \"condition: an-error!\" (get-output-string out)))\"\n ATMOSPHERE: (54130..54132) \"\n\n\"\n ATMOSPHERE: (54132..54175) \";; (define (test-exception-handler-4 v out)\"\n ATMOSPHERE: (54175..54176) \"\n\"\n ATMOSPHERE: (54176..54212) \";; (call-with-current-continuation\"\n ATMOSPHERE: (54212..54213) \"\n\"\n ATMOSPHERE: (54213..54230) \";; (lambda (k)\"\n ATMOSPHERE: (54230..54231) \"\n\"\n ATMOSPHERE: (54231..54262) \";; (with-exception-handler\"\n ATMOSPHERE: (54262..54263) \"\n\"\n ATMOSPHERE: (54263..54283) \";; (lambda (x)\"\n ATMOSPHERE: (54283..54284) \"\n\"\n ATMOSPHERE: (54284..54320) \";; (display \"reraised \" out)\"\n ATMOSPHERE: (54320..54321) \"\n\"\n ATMOSPHERE: (54321..54363) \";; (write x out) (display #\\! out)\"\n ATMOSPHERE: (54363..54364) \"\n\"\n ATMOSPHERE: (54364..54385) \";; (k 'zero))\"\n ATMOSPHERE: (54385..54386) \"\n\"\n ATMOSPHERE: (54386..54405) \";; (lambda ()\"\n ATMOSPHERE: (54405..54406) \"\n\"\n ATMOSPHERE: (54406..54434) \";; (guard (condition\"\n ATMOSPHERE: (54434..54435) \"\n\"\n ATMOSPHERE: (54435..54476) \";; ((positive? condition)\"\n ATMOSPHERE: (54476..54477) \"\n\"\n ATMOSPHERE: (54477..54507) \";; 'positive)\"\n ATMOSPHERE: (54507..54508) \"\n\"\n ATMOSPHERE: (54508..54549) \";; ((negative? condition)\"\n ATMOSPHERE: (54549..54550) \"\n\"\n ATMOSPHERE: (54550..54581) \";; 'negative))\"\n ATMOSPHERE: (54581..54582) \"\n\"\n ATMOSPHERE: (54582..54610) \";; (raise v)))))))\"\n ATMOSPHERE: (54610..54612) \"\n\n\"\n ATMOSPHERE: (54612..54654) \";; ;; From SRFI-34 \"Examples\" section - #5\"\n ATMOSPHERE: (54654..54655) \"\n\"\n ATMOSPHERE: (54655..54691) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (54691..54692) \"\n\"\n ATMOSPHERE: (54692..54743) \";; (value (test-exception-handler-4 1 out)))\"\n ATMOSPHERE: (54743..54744) \"\n\"\n ATMOSPHERE: (54744..54782) \";; (test \"\" (get-output-string out))\"\n ATMOSPHERE: (54782..54783) \"\n\"\n ATMOSPHERE: (54783..54811) \";; (test 'positive value))\"\n ATMOSPHERE: (54811..54812) \"\n\"\n ATMOSPHERE: (54812..54854) \";; ;; From SRFI-34 \"Examples\" section - #6\"\n ATMOSPHERE: (54854..54855) \"\n\"\n ATMOSPHERE: (54855..54891) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (54891..54892) \"\n\"\n ATMOSPHERE: (54892..54944) \";; (value (test-exception-handler-4 -1 out)))\"\n ATMOSPHERE: (54944..54945) \"\n\"\n ATMOSPHERE: (54945..54983) \";; (test \"\" (get-output-string out))\"\n ATMOSPHERE: (54983..54984) \"\n\"\n ATMOSPHERE: (54984..55012) \";; (test 'negative value))\"\n ATMOSPHERE: (55012..55013) \"\n\"\n ATMOSPHERE: (55013..55055) \";; ;; From SRFI-34 \"Examples\" section - #7\"\n ATMOSPHERE: (55055..55056) \"\n\"\n ATMOSPHERE: (55056..55092) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (55092..55093) \"\n\"\n ATMOSPHERE: (55093..55144) \";; (value (test-exception-handler-4 0 out)))\"\n ATMOSPHERE: (55144..55145) \"\n\"\n ATMOSPHERE: (55145..55194) \";; (test \"reraised 0!\" (get-output-string out))\"\n ATMOSPHERE: (55194..55195) \"\n\"\n ATMOSPHERE: (55195..55219) \";; (test 'zero value))\"\n ATMOSPHERE: (55219..55221) \"\n\n\"\n ATMOSPHERE: (55221..55263) \";; ;; From SRFI-34 \"Examples\" section - #8\"\n ATMOSPHERE: (55263..55264) \"\n\"\n ATMOSPHERE: (55264..55275) \";; (test 42\"\n ATMOSPHERE: (55275..55276) \"\n\"\n ATMOSPHERE: (55276..55300) \";; (guard (condition\"\n ATMOSPHERE: (55300..55301) \"\n\"\n ATMOSPHERE: (55301..55344) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55344..55345) \"\n\"\n ATMOSPHERE: (55345..55382) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55382..55383) \"\n\"\n ATMOSPHERE: (55383..55421) \";; (raise (list (cons 'a 42)))))\"\n ATMOSPHERE: (55421..55423) \"\n\n\"\n ATMOSPHERE: (55423..55465) \";; ;; From SRFI-34 \"Examples\" section - #9\"\n ATMOSPHERE: (55465..55466) \"\n\"\n ATMOSPHERE: (55466..55484) \";; (test '(b . 23)\"\n ATMOSPHERE: (55484..55485) \"\n\"\n ATMOSPHERE: (55485..55509) \";; (guard (condition\"\n ATMOSPHERE: (55509..55510) \"\n\"\n ATMOSPHERE: (55510..55553) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55553..55554) \"\n\"\n ATMOSPHERE: (55554..55591) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55591..55592) \"\n\"\n ATMOSPHERE: (55592..55630) \";; (raise (list (cons 'b 23)))))\"\n ATMOSPHERE: (55630..55632) \"\n\n\"\n ATMOSPHERE: (55632..55650) \";; (test 'caught-d\"\n ATMOSPHERE: (55650..55651) \"\n\"\n ATMOSPHERE: (55651..55675) \";; (guard (condition\"\n ATMOSPHERE: (55675..55676) \"\n\"\n ATMOSPHERE: (55676..55722) \";; ((assq 'c condition) 'caught-c)\"\n ATMOSPHERE: (55722..55723) \"\n\"\n ATMOSPHERE: (55723..55770) \";; ((assq 'd condition) 'caught-d))\"\n ATMOSPHERE: (55770..55771) \"\n\"\n ATMOSPHERE: (55771..55785) \";; (list\"\n ATMOSPHERE: (55785..55786) \"\n\"\n ATMOSPHERE: (55786..55804) \";; (sqrt 8)\"\n ATMOSPHERE: (55804..55805) \"\n\"\n ATMOSPHERE: (55805..55832) \";; (guard (condition\"\n ATMOSPHERE: (55832..55833) \"\n\"\n ATMOSPHERE: (55833..55879) \";; ((assq 'a condition) => cdr)\"\n ATMOSPHERE: (55879..55880) \"\n\"\n ATMOSPHERE: (55880..55920) \";; ((assq 'b condition)))\"\n ATMOSPHERE: (55920..55921) \"\n\"\n ATMOSPHERE: (55921..55964) \";; (raise (list (cons 'd 24)))))))\"\n ATMOSPHERE: (55964..55966) \"\n\n\"\n FORM: (55966..55976)\n OPEN_PAREN: (55966..55967) \"(\"\n SYMBOL: (55967..55975)\n IDENTIFIER: (55967..55975) \"test-end\"\n CLOSE_PAREN: (55975..55976) \")\"\n ATMOSPHERE: (55976..55978) \"\n\n\"\n FORM: (55978..56025)\n OPEN_PAREN: (55978..55979) \"(\"\n SYMBOL: (55979..55989)\n IDENTIFIER: (55979..55989) \"test-begin\"\n ATMOSPHERE: (55989..55990) \" \"\n CONSTANT: (55990..56024)\n STRING: (55990..56024) \"\"6.12 Environments and evaluation\"\"\n CLOSE_PAREN: (56024..56025) \")\"\n ATMOSPHERE: (56025..56027) \"\n\n\"\n ATMOSPHERE: (56027..56088) \";; ;; (test 21 (eval '(* 7 3) (scheme-report-environment 5)))\"\n ATMOSPHERE: (56088..56090) \"\n\n\"\n ATMOSPHERE: (56090..56101) \";; (test 20\"\n ATMOSPHERE: (56101..56102) \"\n\"\n ATMOSPHERE: (56102..56171) \";; (let ((f (eval '(lambda (f x) (f x x)) (null-environment 5))))\"\n ATMOSPHERE: (56171..56172) \"\n\"\n ATMOSPHERE: (56172..56191) \";; (f + 10)))\"\n ATMOSPHERE: (56191..56193) \"\n\n\"\n ATMOSPHERE: (56193..56256) \";; (test 1024 (eval '(expt 2 10) (environment '(scheme base))))\"\n ATMOSPHERE: (56256..56257) \"\n\"\n ATMOSPHERE: (56257..56294) \";; ;; (sin 0) may return exact number\"\n ATMOSPHERE: (56294..56295) \"\n\"\n ATMOSPHERE: (56295..56366) \";; (test 0.0 (inexact (eval '(sin 0) (environment '(scheme inexact)))))\"\n ATMOSPHERE: (56366..56367) \"\n\"\n ATMOSPHERE: (56367..56378) \";; ;; ditto\"\n ATMOSPHERE: (56378..56379) \"\n\"\n ATMOSPHERE: (56379..56435) \";; (test 1024.0 (eval '(+ (expt 2 10) (inexact (sin 0)))\"\n ATMOSPHERE: (56435..56436) \"\n\"\n ATMOSPHERE: (56436..56506) \";; (environment '(scheme base) '(scheme inexact))))\"\n ATMOSPHERE: (56506..56508) \"\n\n\"\n FORM: (56508..56518)\n OPEN_PAREN: (56508..56509) \"(\"\n SYMBOL: (56509..56517)\n IDENTIFIER: (56509..56517) \"test-end\"\n CLOSE_PAREN: (56517..56518) \")\"\n ATMOSPHERE: (56518..56520) \"\n\n\"\n FORM: (56520..56556)\n OPEN_PAREN: (56520..56521) \"(\"\n SYMBOL: (56521..56531)\n IDENTIFIER: (56521..56531) \"test-begin\"\n ATMOSPHERE: (56531..56532) \" \"\n CONSTANT: (56532..56555)\n STRING: (56532..56555) \"\"6.13 Input and output\"\"\n CLOSE_PAREN: (56555..56556) \")\"\n ATMOSPHERE: (56556..56558) \"\n\n\"\n ATMOSPHERE: (56558..56599) \";; (test #t (port? (current-input-port)))\"\n ATMOSPHERE: (56599..56600) \"\n\"\n ATMOSPHERE: (56600..56647) \";; (test #t (input-port? (current-input-port)))\"\n ATMOSPHERE: (56647..56648) \"\n\"\n ATMOSPHERE: (56648..56697) \";; (test #t (output-port? (current-output-port)))\"\n ATMOSPHERE: (56697..56698) \"\n\"\n ATMOSPHERE: (56698..56746) \";; (test #t (output-port? (current-error-port)))\"\n ATMOSPHERE: (56746..56747) \"\n\"\n ATMOSPHERE: (56747..56799) \";; (test #t (input-port? (open-input-string \"abc\")))\"\n ATMOSPHERE: (56799..56800) \"\n\"\n ATMOSPHERE: (56800..56848) \";; (test #t (output-port? (open-output-string)))\"\n ATMOSPHERE: (56848..56850) \"\n\n\"\n ATMOSPHERE: (56850..56904) \";; (test #t (textual-port? (open-input-string \"abc\")))\"\n ATMOSPHERE: (56904..56905) \"\n\"\n ATMOSPHERE: (56905..56954) \";; (test #t (textual-port? (open-output-string)))\"\n ATMOSPHERE: (56954..56955) \"\n\"\n ATMOSPHERE: (56955..57017) \";; (test #t (binary-port? (open-input-bytevector #u8(0 1 2))))\"\n ATMOSPHERE: (57017..57018) \"\n\"\n ATMOSPHERE: (57018..57070) \";; (test #t (binary-port? (open-output-bytevector)))\"\n ATMOSPHERE: (57070..57072) \"\n\n\"\n ATMOSPHERE: (57072..57129) \";; (test #t (input-port-open? (open-input-string \"abc\")))\"\n ATMOSPHERE: (57129..57130) \"\n\"\n ATMOSPHERE: (57130..57183) \";; (test #t (output-port-open? (open-output-string)))\"\n ATMOSPHERE: (57183..57185) \"\n\n\"\n ATMOSPHERE: (57185..57196) \";; (test #f\"\n ATMOSPHERE: (57196..57197) \"\n\"\n ATMOSPHERE: (57197..57241) \";; (let ((in (open-input-string \"abc\")))\"\n ATMOSPHERE: (57241..57242) \"\n\"\n ATMOSPHERE: (57242..57272) \";; (close-input-port in)\"\n ATMOSPHERE: (57272..57273) \"\n\"\n ATMOSPHERE: (57273..57305) \";; (input-port-open? in)))\"\n ATMOSPHERE: (57305..57307) \"\n\n\"\n ATMOSPHERE: (57307..57318) \";; (test #f\"\n ATMOSPHERE: (57318..57319) \"\n\"\n ATMOSPHERE: (57319..57359) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57359..57360) \"\n\"\n ATMOSPHERE: (57360..57392) \";; (close-output-port out)\"\n ATMOSPHERE: (57392..57393) \"\n\"\n ATMOSPHERE: (57393..57427) \";; (output-port-open? out)))\"\n ATMOSPHERE: (57427..57429) \"\n\n\"\n ATMOSPHERE: (57429..57440) \";; (test #f\"\n ATMOSPHERE: (57440..57441) \"\n\"\n ATMOSPHERE: (57441..57481) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57481..57482) \"\n\"\n ATMOSPHERE: (57482..57507) \";; (close-port out)\"\n ATMOSPHERE: (57507..57508) \"\n\"\n ATMOSPHERE: (57508..57542) \";; (output-port-open? out)))\"\n ATMOSPHERE: (57542..57544) \"\n\n\"\n ATMOSPHERE: (57544..57559) \";; (test 'error\"\n ATMOSPHERE: (57559..57560) \"\n\"\n ATMOSPHERE: (57560..57604) \";; (let ((in (open-input-string \"abc\")))\"\n ATMOSPHERE: (57604..57605) \"\n\"\n ATMOSPHERE: (57605..57635) \";; (close-input-port in)\"\n ATMOSPHERE: (57635..57636) \"\n\"\n ATMOSPHERE: (57636..57689) \";; (guard (exn (else 'error)) (read-char in))))\"\n ATMOSPHERE: (57689..57691) \"\n\n\"\n ATMOSPHERE: (57691..57706) \";; (test 'error\"\n ATMOSPHERE: (57706..57707) \"\n\"\n ATMOSPHERE: (57707..57747) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (57747..57748) \"\n\"\n ATMOSPHERE: (57748..57780) \";; (close-output-port out)\"\n ATMOSPHERE: (57780..57781) \"\n\"\n ATMOSPHERE: (57781..57840) \";; (guard (exn (else 'error)) (write-char #\\c out))))\"\n ATMOSPHERE: (57840..57842) \"\n\n\"\n ATMOSPHERE: (57842..57881) \";; (test #t (eof-object? (eof-object)))\"\n ATMOSPHERE: (57881..57882) \"\n\"\n ATMOSPHERE: (57882..57938) \";; (test #t (eof-object? (read (open-input-string \"\"))))\"\n ATMOSPHERE: (57938..57939) \"\n\"\n ATMOSPHERE: (57939..57990) \";; (test #t (char-ready? (open-input-string \"42\")))\"\n ATMOSPHERE: (57990..57991) \"\n\"\n ATMOSPHERE: (57991..58037) \";; (test 42 (read (open-input-string \" 42 \")))\"\n ATMOSPHERE: (58037..58039) \"\n\n\"\n ATMOSPHERE: (58039..58100) \";; (test #t (eof-object? (read-char (open-input-string \"\"))))\"\n ATMOSPHERE: (58100..58101) \"\n\"\n ATMOSPHERE: (58101..58152) \";; (test #\\a (read-char (open-input-string \"abc\")))\"\n ATMOSPHERE: (58152..58154) \"\n\n\"\n ATMOSPHERE: (58154..58215) \";; (test #t (eof-object? (read-line (open-input-string \"\"))))\"\n ATMOSPHERE: (58215..58216) \"\n\"\n ATMOSPHERE: (58216..58269) \";; (test \"abc\" (read-line (open-input-string \"abc\")))\"\n ATMOSPHERE: (58269..58270) \"\n\"\n ATMOSPHERE: (58270..58330) \";; (test \"abc\" (read-line (open-input-string \"abc\\ndef\\n\")))\"\n ATMOSPHERE: (58330..58332) \"\n\n\"\n ATMOSPHERE: (58332..58397) \";; (test #t (eof-object? (read-string 3 (open-input-string \"\"))))\"\n ATMOSPHERE: (58397..58398) \"\n\"\n ATMOSPHERE: (58398..58456) \";; (test \"abc\" (read-string 3 (open-input-string \"abcd\")))\"\n ATMOSPHERE: (58456..58457) \"\n\"\n ATMOSPHERE: (58457..58521) \";; (test \"abc\" (read-string 3 (open-input-string \"abc\\ndef\\n\")))\"\n ATMOSPHERE: (58521..58523) \"\n\n\"\n ATMOSPHERE: (58523..58596) \";; (let ((in (open-input-string (string #\\x10F700 #\\x10F701 #\\x10F702))))\"\n ATMOSPHERE: (58596..58597) \"\n\"\n ATMOSPHERE: (58597..58628) \";; (let* ((c0 (peek-char in))\"\n ATMOSPHERE: (58628..58629) \"\n\"\n ATMOSPHERE: (58629..58660) \";; (c1 (read-char in))\"\n ATMOSPHERE: (58660..58661) \"\n\"\n ATMOSPHERE: (58661..58692) \";; (c2 (read-char in))\"\n ATMOSPHERE: (58692..58693) \"\n\"\n ATMOSPHERE: (58693..58725) \";; (c3 (read-char in)))\"\n ATMOSPHERE: (58725..58726) \"\n\"\n ATMOSPHERE: (58726..58752) \";; (test #\\x10F700 c0)\"\n ATMOSPHERE: (58752..58753) \"\n\"\n ATMOSPHERE: (58753..58779) \";; (test #\\x10F700 c1)\"\n ATMOSPHERE: (58779..58780) \"\n\"\n ATMOSPHERE: (58780..58806) \";; (test #\\x10F701 c2)\"\n ATMOSPHERE: (58806..58807) \"\n\"\n ATMOSPHERE: (58807..58835) \";; (test #\\x10F702 c3)))\"\n ATMOSPHERE: (58835..58837) \"\n\n\"\n ATMOSPHERE: (58837..58864) \";; (test (string #\\x10F700)\"\n ATMOSPHERE: (58864..58865) \"\n\"\n ATMOSPHERE: (58865..58905) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (58905..58906) \"\n\"\n ATMOSPHERE: (58906..58941) \";; (write-char #\\x10F700 out)\"\n ATMOSPHERE: (58941..58942) \"\n\"\n ATMOSPHERE: (58942..58976) \";; (get-output-string out)))\"\n ATMOSPHERE: (58976..58978) \"\n\n\"\n ATMOSPHERE: (58978..58992) \";; (test \"abc\"\"\n ATMOSPHERE: (58992..58993) \"\n\"\n ATMOSPHERE: (58993..59033) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59033..59034) \"\n\"\n ATMOSPHERE: (59034..59059) \";; (write 'abc out)\"\n ATMOSPHERE: (59059..59060) \"\n\"\n ATMOSPHERE: (59060..59094) \";; (get-output-string out)))\"\n ATMOSPHERE: (59094..59096) \"\n\n\"\n ATMOSPHERE: (59096..59114) \";; (test \"abc def\"\"\n ATMOSPHERE: (59114..59115) \"\n\"\n ATMOSPHERE: (59115..59155) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59155..59156) \"\n\"\n ATMOSPHERE: (59156..59188) \";; (display \"abc def\" out)\"\n ATMOSPHERE: (59188..59189) \"\n\"\n ATMOSPHERE: (59189..59223) \";; (get-output-string out)))\"\n ATMOSPHERE: (59223..59225) \"\n\n\"\n ATMOSPHERE: (59225..59239) \";; (test \"abc\"\"\n ATMOSPHERE: (59239..59240) \"\n\"\n ATMOSPHERE: (59240..59280) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59280..59281) \"\n\"\n ATMOSPHERE: (59281..59307) \";; (display #\\a out)\"\n ATMOSPHERE: (59307..59308) \"\n\"\n ATMOSPHERE: (59308..59334) \";; (display \"b\" out)\"\n ATMOSPHERE: (59334..59335) \"\n\"\n ATMOSPHERE: (59335..59361) \";; (display #\\c out)\"\n ATMOSPHERE: (59361..59362) \"\n\"\n ATMOSPHERE: (59362..59396) \";; (get-output-string out)))\"\n ATMOSPHERE: (59396..59398) \"\n\n\"\n ATMOSPHERE: (59398..59409) \";; (test #t\"\n ATMOSPHERE: (59409..59410) \"\n\"\n ATMOSPHERE: (59410..59452) \";; (let* ((out (open-output-string))\"\n ATMOSPHERE: (59452..59453) \"\n\"\n ATMOSPHERE: (59453..59519) \";; (r (begin (newline out) (get-output-string out))))\"\n ATMOSPHERE: (59519..59520) \"\n\"\n ATMOSPHERE: (59520..59571) \";; (or (equal? r \"\\n\") (equal? r \"\\r\\n\"))))\"\n ATMOSPHERE: (59571..59573) \"\n\n\"\n ATMOSPHERE: (59573..59591) \";; (test \"abc def\"\"\n ATMOSPHERE: (59591..59592) \"\n\"\n ATMOSPHERE: (59592..59632) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59632..59633) \"\n\"\n ATMOSPHERE: (59633..59670) \";; (write-string \"abc def\" out)\"\n ATMOSPHERE: (59670..59671) \"\n\"\n ATMOSPHERE: (59671..59705) \";; (get-output-string out)))\"\n ATMOSPHERE: (59705..59707) \"\n\n\"\n ATMOSPHERE: (59707..59721) \";; (test \"def\"\"\n ATMOSPHERE: (59721..59722) \"\n\"\n ATMOSPHERE: (59722..59762) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59762..59763) \"\n\"\n ATMOSPHERE: (59763..59802) \";; (write-string \"abc def\" out 4)\"\n ATMOSPHERE: (59802..59803) \"\n\"\n ATMOSPHERE: (59803..59837) \";; (get-output-string out)))\"\n ATMOSPHERE: (59837..59839) \"\n\n\"\n ATMOSPHERE: (59839..59853) \";; (test \"c d\"\"\n ATMOSPHERE: (59853..59854) \"\n\"\n ATMOSPHERE: (59854..59894) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (59894..59895) \"\n\"\n ATMOSPHERE: (59895..59936) \";; (write-string \"abc def\" out 2 5)\"\n ATMOSPHERE: (59936..59937) \"\n\"\n ATMOSPHERE: (59937..59971) \";; (get-output-string out)))\"\n ATMOSPHERE: (59971..59973) \"\n\n\"\n ATMOSPHERE: (59973..59984) \";; (test \"\"\"\n ATMOSPHERE: (59984..59985) \"\n\"\n ATMOSPHERE: (59985..60023) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (60023..60024) \"\n\"\n ATMOSPHERE: (60024..60054) \";; (flush-output-port out)\"\n ATMOSPHERE: (60054..60055) \"\n\"\n ATMOSPHERE: (60055..60087) \";; (get-output-string out)))\"\n ATMOSPHERE: (60087..60089) \"\n\n\"\n ATMOSPHERE: (60089..60155) \";; (test #t (eof-object? (read-u8 (open-input-bytevector #u8()))))\"\n ATMOSPHERE: (60155..60156) \"\n\"\n ATMOSPHERE: (60156..60212) \";; (test 1 (read-u8 (open-input-bytevector #u8(1 2 3))))\"\n ATMOSPHERE: (60212..60214) \"\n\n\"\n ATMOSPHERE: (60214..60290) \";; (test #t (eof-object? (read-bytevector 3 (open-input-bytevector #u8()))))\"\n ATMOSPHERE: (60290..60291) \"\n\"\n ATMOSPHERE: (60291..60346) \";; (test #t (u8-ready? (open-input-bytevector #u8(1))))\"\n ATMOSPHERE: (60346..60347) \"\n\"\n ATMOSPHERE: (60347..60414) \";; (test #u8(1) (read-bytevector 3 (open-input-bytevector #u8(1))))\"\n ATMOSPHERE: (60414..60415) \"\n\"\n ATMOSPHERE: (60415..60486) \";; (test #u8(1 2) (read-bytevector 3 (open-input-bytevector #u8(1 2))))\"\n ATMOSPHERE: (60486..60487) \"\n\"\n ATMOSPHERE: (60487..60562) \";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3))))\"\n ATMOSPHERE: (60562..60563) \"\n\"\n ATMOSPHERE: (60563..60640) \";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3 4))))\"\n ATMOSPHERE: (60640..60642) \"\n\n\"\n ATMOSPHERE: (60642..60653) \";; (test #t\"\n ATMOSPHERE: (60653..60654) \"\n\"\n ATMOSPHERE: (60654..60695) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60695..60696) \"\n\"\n ATMOSPHERE: (60696..60772) \";; (eof-object? (read-bytevector! bv (open-input-bytevector #u8())))))\"\n ATMOSPHERE: (60772..60774) \"\n\n\"\n ATMOSPHERE: (60774..60798) \";; (test #u8(6 7 8 9 10)\"\n ATMOSPHERE: (60798..60799) \"\n\"\n ATMOSPHERE: (60799..60838) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60838..60839) \"\n\"\n ATMOSPHERE: (60839..60911) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 5)\"\n ATMOSPHERE: (60911..60912) \"\n\"\n ATMOSPHERE: (60912..60923) \";; bv))\"\n ATMOSPHERE: (60923..60925) \"\n\n\"\n ATMOSPHERE: (60925..60948) \";; (test #u8(6 7 8 4 5)\"\n ATMOSPHERE: (60948..60949) \"\n\"\n ATMOSPHERE: (60949..60988) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (60988..60989) \"\n\"\n ATMOSPHERE: (60989..61061) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 3)\"\n ATMOSPHERE: (61061..61062) \"\n\"\n ATMOSPHERE: (61062..61073) \";; bv))\"\n ATMOSPHERE: (61073..61075) \"\n\n\"\n ATMOSPHERE: (61075..61098) \";; (test #u8(1 2 3 6 5)\"\n ATMOSPHERE: (61098..61099) \"\n\"\n ATMOSPHERE: (61099..61138) \";; (let ((bv (bytevector 1 2 3 4 5)))\"\n ATMOSPHERE: (61138..61139) \"\n\"\n ATMOSPHERE: (61139..61211) \";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 3 4)\"\n ATMOSPHERE: (61211..61212) \"\n\"\n ATMOSPHERE: (61212..61223) \";; bv))\"\n ATMOSPHERE: (61223..61225) \"\n\n\"\n ATMOSPHERE: (61225..61244) \";; (test #u8(1 2 3)\"\n ATMOSPHERE: (61244..61245) \"\n\"\n ATMOSPHERE: (61245..61287) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61287..61288) \"\n\"\n ATMOSPHERE: (61288..61311) \";; (write-u8 1 out)\"\n ATMOSPHERE: (61311..61312) \"\n\"\n ATMOSPHERE: (61312..61335) \";; (write-u8 2 out)\"\n ATMOSPHERE: (61335..61336) \"\n\"\n ATMOSPHERE: (61336..61359) \";; (write-u8 3 out)\"\n ATMOSPHERE: (61359..61360) \"\n\"\n ATMOSPHERE: (61360..61396) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61396..61398) \"\n\n\"\n ATMOSPHERE: (61398..61421) \";; (test #u8(1 2 3 4 5)\"\n ATMOSPHERE: (61421..61422) \"\n\"\n ATMOSPHERE: (61422..61464) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61464..61465) \"\n\"\n ATMOSPHERE: (61465..61509) \";; (write-bytevector #u8(1 2 3 4 5) out)\"\n ATMOSPHERE: (61509..61510) \"\n\"\n ATMOSPHERE: (61510..61546) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61546..61548) \"\n\n\"\n ATMOSPHERE: (61548..61567) \";; (test #u8(3 4 5)\"\n ATMOSPHERE: (61567..61568) \"\n\"\n ATMOSPHERE: (61568..61610) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61610..61611) \"\n\"\n ATMOSPHERE: (61611..61657) \";; (write-bytevector #u8(1 2 3 4 5) out 2)\"\n ATMOSPHERE: (61657..61658) \"\n\"\n ATMOSPHERE: (61658..61694) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61694..61696) \"\n\n\"\n ATMOSPHERE: (61696..61713) \";; (test #u8(3 4)\"\n ATMOSPHERE: (61713..61714) \"\n\"\n ATMOSPHERE: (61714..61756) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61756..61757) \"\n\"\n ATMOSPHERE: (61757..61805) \";; (write-bytevector #u8(1 2 3 4 5) out 2 4)\"\n ATMOSPHERE: (61805..61806) \"\n\"\n ATMOSPHERE: (61806..61842) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61842..61844) \"\n\n\"\n ATMOSPHERE: (61844..61858) \";; (test #u8()\"\n ATMOSPHERE: (61858..61859) \"\n\"\n ATMOSPHERE: (61859..61901) \";; (let ((out (open-output-bytevector)))\"\n ATMOSPHERE: (61901..61902) \"\n\"\n ATMOSPHERE: (61902..61932) \";; (flush-output-port out)\"\n ATMOSPHERE: (61932..61933) \"\n\"\n ATMOSPHERE: (61933..61969) \";; (get-output-bytevector out)))\"\n ATMOSPHERE: (61969..61971) \"\n\n\"\n ATMOSPHERE: (61971..61982) \";; (test #t\"\n ATMOSPHERE: (61982..61983) \"\n\"\n ATMOSPHERE: (61983..62002) \";; (and (member\"\n ATMOSPHERE: (62002..62003) \"\n\"\n ATMOSPHERE: (62003..62048) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62048..62049) \"\n\"\n ATMOSPHERE: (62049..62081) \";; (x (list 1)))\"\n ATMOSPHERE: (62081..62082) \"\n\"\n ATMOSPHERE: (62082..62111) \";; (set-cdr! x x)\"\n ATMOSPHERE: (62111..62112) \"\n\"\n ATMOSPHERE: (62112..62140) \";; (write x out)\"\n ATMOSPHERE: (62140..62141) \"\n\"\n ATMOSPHERE: (62141..62180) \";; (get-output-string out))\"\n ATMOSPHERE: (62180..62181) \"\n\"\n ATMOSPHERE: (62181..62254) \";; ;; labels not guaranteed to be 0 indexed, spacing may differ\"\n ATMOSPHERE: (62254..62255) \"\n\"\n ATMOSPHERE: (62255..62301) \";; '(\"#0=(1 . #0#)\" \"#1=(1 . #1#)\"))\"\n ATMOSPHERE: (62301..62302) \"\n\"\n ATMOSPHERE: (62302..62318) \";; #t))\"\n ATMOSPHERE: (62318..62320) \"\n\n\"\n ATMOSPHERE: (62320..62348) \";; (test \"((1 2 3) (1 2 3))\"\"\n ATMOSPHERE: (62348..62349) \"\n\"\n ATMOSPHERE: (62349..62388) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62388..62389) \"\n\"\n ATMOSPHERE: (62389..62419) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62419..62420) \"\n\"\n ATMOSPHERE: (62420..62451) \";; (write (list x x) out)\"\n ATMOSPHERE: (62451..62452) \"\n\"\n ATMOSPHERE: (62452..62486) \";; (get-output-string out)))\"\n ATMOSPHERE: (62486..62488) \"\n\n\"\n ATMOSPHERE: (62488..62516) \";; (test \"((1 2 3) (1 2 3))\"\"\n ATMOSPHERE: (62516..62517) \"\n\"\n ATMOSPHERE: (62517..62556) \";; (let ((out (open-output-string))\"\n ATMOSPHERE: (62556..62557) \"\n\"\n ATMOSPHERE: (62557..62587) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62587..62588) \"\n\"\n ATMOSPHERE: (62588..62626) \";; (write-simple (list x x) out)\"\n ATMOSPHERE: (62626..62627) \"\n\"\n ATMOSPHERE: (62627..62661) \";; (get-output-string out)))\"\n ATMOSPHERE: (62661..62663) \"\n\n\"\n ATMOSPHERE: (62663..62674) \";; (test #t\"\n ATMOSPHERE: (62674..62675) \"\n\"\n ATMOSPHERE: (62675..62727) \";; (and (member (let ((out (open-output-string))\"\n ATMOSPHERE: (62727..62728) \"\n\"\n ATMOSPHERE: (62728..62771) \";; (x (list 1 2 3)))\"\n ATMOSPHERE: (62771..62772) \"\n\"\n ATMOSPHERE: (62772..62823) \";; (write-shared (list x x) out)\"\n ATMOSPHERE: (62823..62824) \"\n\"\n ATMOSPHERE: (62824..62870) \";; (get-output-string out))\"\n ATMOSPHERE: (62870..62871) \"\n\"\n ATMOSPHERE: (62871..62932) \";; '(\"(#0=(1 2 3) #0#)\" \"(#1=(1 2 3) #1#)\"))\"\n ATMOSPHERE: (62932..62933) \"\n\"\n ATMOSPHERE: (62933..62949) \";; #t))\"\n ATMOSPHERE: (62949..62951) \"\n\n\"\n FORM: (62951..62977)\n OPEN_PAREN: (62951..62952) \"(\"\n SYMBOL: (62952..62962)\n IDENTIFIER: (62952..62962) \"test-begin\"\n ATMOSPHERE: (62962..62963) \" \"\n CONSTANT: (62963..62976)\n STRING: (62963..62976) \"\"Read syntax\"\"\n CLOSE_PAREN: (62976..62977) \")\"\n ATMOSPHERE: (62977..62979) \"\n\n\"\n ATMOSPHERE: (62979..63022) \";; ;; check reading boolean followed by eof\"\n ATMOSPHERE: (63022..63023) \"\n\"\n ATMOSPHERE: (63023..63067) \";; (test #t (read (open-input-string \"#t\")))\"\n ATMOSPHERE: (63067..63068) \"\n\"\n ATMOSPHERE: (63068..63115) \";; (test #t (read (open-input-string \"#true\")))\"\n ATMOSPHERE: (63115..63116) \"\n\"\n ATMOSPHERE: (63116..63160) \";; (test #f (read (open-input-string \"#f\")))\"\n ATMOSPHERE: (63160..63161) \"\n\"\n ATMOSPHERE: (63161..63209) \";; (test #f (read (open-input-string \"#false\")))\"\n ATMOSPHERE: (63209..63210) \"\n\"\n ATMOSPHERE: (63210..63233) \";; (define (read2 port)\"\n ATMOSPHERE: (63233..63234) \"\n\"\n ATMOSPHERE: (63234..63280) \";; (let* ((o1 (read port)) (o2 (read port)))\"\n ATMOSPHERE: (63280..63281) \"\n\"\n ATMOSPHERE: (63281..63302) \";; (cons o1 o2)))\"\n ATMOSPHERE: (63302..63303) \"\n\"\n ATMOSPHERE: (63303..63352) \";; ;; check reading boolean followed by delimiter\"\n ATMOSPHERE: (63352..63353) \"\n\"\n ATMOSPHERE: (63353..63410) \";; (test '(#t . (5)) (read2 (open-input-string \"#t(5)\")))\"\n ATMOSPHERE: (63410..63411) \"\n\"\n ATMOSPHERE: (63411..63469) \";; (test '(#t . 6) (read2 (open-input-string \"#true 6 \")))\"\n ATMOSPHERE: (63469..63470) \"\n\"\n ATMOSPHERE: (63470..63524) \";; (test '(#f . 7) (read2 (open-input-string \"#f 7\")))\"\n ATMOSPHERE: (63524..63525) \"\n\"\n ATMOSPHERE: (63525..63588) \";; (test '(#f . \"8\") (read2 (open-input-string \"#false\\\"8\\\"\")))\"\n ATMOSPHERE: (63588..63590) \"\n\n\"\n ATMOSPHERE: (63590..63635) \";; (test '() (read (open-input-string \"()\")))\"\n ATMOSPHERE: (63635..63636) \"\n\"\n ATMOSPHERE: (63636..63687) \";; (test '(1 2) (read (open-input-string \"(1 2)\")))\"\n ATMOSPHERE: (63687..63688) \"\n\"\n ATMOSPHERE: (63688..63743) \";; (test '(1 . 2) (read (open-input-string \"(1 . 2)\")))\"\n ATMOSPHERE: (63743..63744) \"\n\"\n ATMOSPHERE: (63744..63799) \";; (test '(1 2) (read (open-input-string \"(1 . (2))\")))\"\n ATMOSPHERE: (63799..63800) \"\n\"\n ATMOSPHERE: (63800..63871) \";; (test '(1 2 3 4 5) (read (open-input-string \"(1 . (2 3 4 . (5)))\")))\"\n ATMOSPHERE: (63871..63872) \"\n\"\n ATMOSPHERE: (63872..63933) \";; (test '1 (cadr (read (open-input-string \"#0=(1 . #0#)\"))))\"\n ATMOSPHERE: (63933..63934) \"\n\"\n ATMOSPHERE: (63934..64005) \";; (test '(1 2 3) (cadr (read (open-input-string \"(#0=(1 2 3) #0#)\"))))\"\n ATMOSPHERE: (64005..64007) \"\n\n\"\n ATMOSPHERE: (64007..64067) \";; (test '(quote (1 2)) (read (open-input-string \"'(1 2)\")))\"\n ATMOSPHERE: (64067..64068) \"\n\"\n ATMOSPHERE: (64068..64139) \";; (test '(quote (1 (unquote 2))) (read (open-input-string \"'(1 ,2)\")))\"\n ATMOSPHERE: (64139..64140) \"\n\"\n ATMOSPHERE: (64140..64221) \";; (test '(quote (1 (unquote-splicing 2))) (read (open-input-string \"'(1 ,@2)\")))\"\n ATMOSPHERE: (64221..64222) \"\n\"\n ATMOSPHERE: (64222..64298) \";; (test '(quasiquote (1 (unquote 2))) (read (open-input-string \"`(1 ,2)\")))\"\n ATMOSPHERE: (64298..64300) \"\n\n\"\n ATMOSPHERE: (64300..64346) \";; (test #() (read (open-input-string \"#()\")))\"\n ATMOSPHERE: (64346..64347) \"\n\"\n ATMOSPHERE: (64347..64399) \";; (test #(a b) (read (open-input-string \"#(a b)\")))\"\n ATMOSPHERE: (64399..64401) \"\n\n\"\n ATMOSPHERE: (64401..64451) \";; (test #u8() (read (open-input-string \"#u8()\")))\"\n ATMOSPHERE: (64451..64452) \"\n\"\n ATMOSPHERE: (64452..64508) \";; (test #u8(0 1) (read (open-input-string \"#u8(0 1)\")))\"\n ATMOSPHERE: (64508..64510) \"\n\n\"\n ATMOSPHERE: (64510..64557) \";; (test 'abc (read (open-input-string \"abc\")))\"\n ATMOSPHERE: (64557..64558) \"\n\"\n ATMOSPHERE: (64558..64609) \";; (test 'abc (read (open-input-string \"abc def\")))\"\n ATMOSPHERE: (64609..64610) \"\n\"\n ATMOSPHERE: (64610..64657) \";; (test 'ABC (read (open-input-string \"ABC\")))\"\n ATMOSPHERE: (64657..64658) \"\n\"\n ATMOSPHERE: (64658..64716) \";; (test 'Hello (read (open-input-string \"|H\\\\x65;llo|\")))\"\n ATMOSPHERE: (64716..64718) \"\n\n\"\n ATMOSPHERE: (64718..64777) \";; (test 'abc (read (open-input-string \"#!fold-case ABC\")))\"\n ATMOSPHERE: (64777..64778) \"\n\"\n ATMOSPHERE: (64778..64852) \";; (test 'ABC (read (open-input-string \"#!fold-case #!no-fold-case ABC\")))\"\n ATMOSPHERE: (64852..64854) \"\n\n\"\n ATMOSPHERE: (64854..64908) \";; (test 'def (read (open-input-string \"#; abc def\")))\"\n ATMOSPHERE: (64908..64909) \"\n\"\n ATMOSPHERE: (64909..64964) \";; (test 'def (read (open-input-string \"; abc \\ndef\")))\"\n ATMOSPHERE: (64964..64965) \"\n\"\n ATMOSPHERE: (64965..65022) \";; (test 'def (read (open-input-string \"#| abc |# def\")))\"\n ATMOSPHERE: (65022..65023) \"\n\"\n ATMOSPHERE: (65023..65090) \";; (test 'ghi (read (open-input-string \"#| abc #| def |# |# ghi\")))\"\n ATMOSPHERE: (65090..65091) \"\n\"\n ATMOSPHERE: (65091..65153) \";; (test 'ghi (read (open-input-string \"#; ; abc\\n def ghi\")))\"\n ATMOSPHERE: (65153..65154) \"\n\"\n ATMOSPHERE: (65154..65220) \";; (test '(abs -16) (read (open-input-string \"(#;sqrt abs -16)\")))\"\n ATMOSPHERE: (65220..65221) \"\n\"\n ATMOSPHERE: (65221..65281) \";; (test '(a d) (read (open-input-string \"(a #; #;b c d)\")))\"\n ATMOSPHERE: (65281..65282) \"\n\"\n ATMOSPHERE: (65282..65345) \";; (test '(a e) (read (open-input-string \"(a #;(b #;c d) e)\")))\"\n ATMOSPHERE: (65345..65346) \"\n\"\n ATMOSPHERE: (65346..65405) \";; (test '(a . c) (read (open-input-string \"(a . #;b c)\")))\"\n ATMOSPHERE: (65405..65406) \"\n\"\n ATMOSPHERE: (65406..65465) \";; (test '(a . b) (read (open-input-string \"(a . b #;c)\")))\"\n ATMOSPHERE: (65465..65467) \"\n\n\"\n ATMOSPHERE: (65467..65499) \";; (define (test-read-error str)\"\n ATMOSPHERE: (65499..65500) \"\n\"\n ATMOSPHERE: (65500..65521) \";; (test-assert str\"\n ATMOSPHERE: (65521..65522) \"\n\"\n ATMOSPHERE: (65522..65553) \";; (guard (exn (else #t))\"\n ATMOSPHERE: (65553..65554) \"\n\"\n ATMOSPHERE: (65554..65595) \";; (read (open-input-string str))\"\n ATMOSPHERE: (65595..65596) \"\n\"\n ATMOSPHERE: (65596..65612) \";; #f)))\"\n ATMOSPHERE: (65612..65614) \"\n\n\"\n ATMOSPHERE: (65614..65646) \";; (test-read-error \"(#;a . b)\")\"\n ATMOSPHERE: (65646..65647) \"\n\"\n ATMOSPHERE: (65647..65679) \";; (test-read-error \"(a . #;b)\")\"\n ATMOSPHERE: (65679..65680) \"\n\"\n ATMOSPHERE: (65680..65712) \";; (test-read-error \"(a #;. b)\")\"\n ATMOSPHERE: (65712..65713) \"\n\"\n ATMOSPHERE: (65713..65749) \";; (test-read-error \"(#;x #;y . z)\")\"\n ATMOSPHERE: (65749..65750) \"\n\"\n ATMOSPHERE: (65750..65789) \";; (test-read-error \"(#; #;x #;y . z)\")\"\n ATMOSPHERE: (65789..65790) \"\n\"\n ATMOSPHERE: (65790..65825) \";; (test-read-error \"(#; #;x . z)\")\"\n ATMOSPHERE: (65825..65827) \"\n\n\"\n ATMOSPHERE: (65827..65874) \";; (test #\\a (read (open-input-string \"#\\\\a\")))\"\n ATMOSPHERE: (65874..65875) \"\n\"\n ATMOSPHERE: (65875..65930) \";; (test #\\space (read (open-input-string \"#\\\\space\")))\"\n ATMOSPHERE: (65930..65931) \"\n\"\n ATMOSPHERE: (65931..65995) \";; (test 0 (char->integer (read (open-input-string \"#\\\\null\"))))\"\n ATMOSPHERE: (65995..65996) \"\n\"\n ATMOSPHERE: (65996..66061) \";; (test 7 (char->integer (read (open-input-string \"#\\\\alarm\"))))\"\n ATMOSPHERE: (66061..66062) \"\n\"\n ATMOSPHERE: (66062..66131) \";; (test 8 (char->integer (read (open-input-string \"#\\\\backspace\"))))\"\n ATMOSPHERE: (66131..66132) \"\n\"\n ATMOSPHERE: (66132..66195) \";; (test 9 (char->integer (read (open-input-string \"#\\\\tab\"))))\"\n ATMOSPHERE: (66195..66196) \"\n\"\n ATMOSPHERE: (66196..66264) \";; (test 10 (char->integer (read (open-input-string \"#\\\\newline\"))))\"\n ATMOSPHERE: (66264..66265) \"\n\"\n ATMOSPHERE: (66265..66332) \";; (test 13 (char->integer (read (open-input-string \"#\\\\return\"))))\"\n ATMOSPHERE: (66332..66333) \"\n\"\n ATMOSPHERE: (66333..66402) \";; (test #x7F (char->integer (read (open-input-string \"#\\\\delete\"))))\"\n ATMOSPHERE: (66402..66403) \"\n\"\n ATMOSPHERE: (66403..66472) \";; (test #x1B (char->integer (read (open-input-string \"#\\\\escape\"))))\"\n ATMOSPHERE: (66472..66473) \"\n\"\n ATMOSPHERE: (66473..66539) \";; (test #x03BB (char->integer (read (open-input-string \"#\\\\λ\"))))\"\n ATMOSPHERE: (66539..66540) \"\n\"\n ATMOSPHERE: (66540..66610) \";; (test #x03BB (char->integer (read (open-input-string \"#\\\\x03BB\"))))\"\n ATMOSPHERE: (66610..66612) \"\n\n\"\n ATMOSPHERE: (66612..66664) \";; (test \"abc\" (read (open-input-string \"\\\"abc\\\"\")))\"\n ATMOSPHERE: (66664..66665) \"\n\"\n ATMOSPHERE: (66665..66725) \";; (test \"abc\" (read (open-input-string \"\\\"abc\\\" \\\"def\\\"\")))\"\n ATMOSPHERE: (66725..66726) \"\n\"\n ATMOSPHERE: (66726..66778) \";; (test \"ABC\" (read (open-input-string \"\\\"ABC\\\"\")))\"\n ATMOSPHERE: (66778..66779) \"\n\"\n ATMOSPHERE: (66779..66840) \";; (test \"Hello\" (read (open-input-string \"\\\"H\\\\x65;llo\\\"\")))\"\n ATMOSPHERE: (66840..66841) \"\n\"\n ATMOSPHERE: (66841..66920) \";; (test 7 (char->integer (string-ref (read (open-input-string \"\\\"\\\\a\\\"\")) 0)))\"\n ATMOSPHERE: (66920..66921) \"\n\"\n ATMOSPHERE: (66921..67000) \";; (test 8 (char->integer (string-ref (read (open-input-string \"\\\"\\\\b\\\"\")) 0)))\"\n ATMOSPHERE: (67000..67001) \"\n\"\n ATMOSPHERE: (67001..67080) \";; (test 9 (char->integer (string-ref (read (open-input-string \"\\\"\\\\t\\\"\")) 0)))\"\n ATMOSPHERE: (67080..67081) \"\n\"\n ATMOSPHERE: (67081..67161) \";; (test 10 (char->integer (string-ref (read (open-input-string \"\\\"\\\\n\\\"\")) 0)))\"\n ATMOSPHERE: (67161..67162) \"\n\"\n ATMOSPHERE: (67162..67242) \";; (test 13 (char->integer (string-ref (read (open-input-string \"\\\"\\\\r\\\"\")) 0)))\"\n ATMOSPHERE: (67242..67243) \"\n\"\n ATMOSPHERE: (67243..67326) \";; (test #x22 (char->integer (string-ref (read (open-input-string \"\\\"\\\\\\\"\\\"\")) 0)))\"\n ATMOSPHERE: (67326..67327) \"\n\"\n ATMOSPHERE: (67327..67409) \";; (test #x7C (char->integer (string-ref (read (open-input-string \"\\\"\\\\|\\\"\")) 0)))\"\n ATMOSPHERE: (67409..67410) \"\n\"\n ATMOSPHERE: (67410..67488) \";; (test \"line 1\\nline 2\\n\" (read (open-input-string \"\\\"line 1\\nline 2\\n\\\"\")))\"\n ATMOSPHERE: (67488..67489) \"\n\"\n ATMOSPHERE: (67489..67573) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\ncontinued\\n\\\"\")))\"\n ATMOSPHERE: (67573..67574) \"\n\"\n ATMOSPHERE: (67574..67659) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\ncontinued\\n\\\"\")))\"\n ATMOSPHERE: (67659..67660) \"\n\"\n ATMOSPHERE: (67660..67745) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\n continued\\n\\\"\")))\"\n ATMOSPHERE: (67745..67746) \"\n\"\n ATMOSPHERE: (67746..67838) \";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t continued\\n\\\"\")))\"\n ATMOSPHERE: (67838..67839) \"\n\"\n ATMOSPHERE: (67839..67933) \";; (test \"line 1\\n\\nline 3\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t \\n\\nline 3\\n\\\"\")))\"\n ATMOSPHERE: (67933..67934) \"\n\"\n ATMOSPHERE: (67934..68023) \";; (test #x03BB (char->integer (string-ref (read (open-input-string \"\\\"\\\\x03BB;\\\"\")) 0)))\"\n ATMOSPHERE: (68023..68025) \"\n\n\"\n ATMOSPHERE: (68025..68060) \";; (define-syntax test-write-syntax\"\n ATMOSPHERE: (68060..68061) \"\n\"\n ATMOSPHERE: (68061..68082) \";; (syntax-rules ()\"\n ATMOSPHERE: (68082..68083) \"\n\"\n ATMOSPHERE: (68083..68130) \";; ((test-write-syntax expect-str obj-expr)\"\n ATMOSPHERE: (68130..68131) \"\n\"\n ATMOSPHERE: (68131..68172) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (68172..68173) \"\n\"\n ATMOSPHERE: (68173..68203) \";; (write obj-expr out)\"\n ATMOSPHERE: (68203..68204) \"\n\"\n ATMOSPHERE: (68204..68259) \";; (test expect-str (get-output-string out))))))\"\n ATMOSPHERE: (68259..68261) \"\n\n\"\n ATMOSPHERE: (68261..68294) \";; (test-write-syntax \"|.|\" '|.|)\"\n ATMOSPHERE: (68294..68295) \"\n\"\n ATMOSPHERE: (68295..68332) \";; (test-write-syntax \"|a b|\" '|a b|)\"\n ATMOSPHERE: (68332..68333) \"\n\"\n ATMOSPHERE: (68333..68368) \";; (test-write-syntax \"|,a|\" '|,a|)\"\n ATMOSPHERE: (68368..68369) \"\n\"\n ATMOSPHERE: (68369..68404) \";; (test-write-syntax \"|\\\"|\" '|\\\"|)\"\n ATMOSPHERE: (68404..68405) \"\n\"\n ATMOSPHERE: (68405..68441) \";; (test-write-syntax \"|\\\\||\" '|\\||)\"\n ATMOSPHERE: (68441..68442) \"\n\"\n ATMOSPHERE: (68442..68473) \";; (test-write-syntax \"||\" '||)\"\n ATMOSPHERE: (68473..68474) \"\n\"\n ATMOSPHERE: (68474..68517) \";; (test-write-syntax \"|\\\\\\\\123|\" '|\\\\123|)\"\n ATMOSPHERE: (68517..68518) \"\n\"\n ATMOSPHERE: (68518..68549) \";; (test-write-syntax \"a\" '|a|)\"\n ATMOSPHERE: (68549..68550) \"\n\"\n ATMOSPHERE: (68550..68588) \";; ;; (test-write-syntax \"a.b\" '|a.b|)\"\n ATMOSPHERE: (68588..68589) \"\n\"\n ATMOSPHERE: (68589..68622) \";; (test-write-syntax \"|2|\" '|2|)\"\n ATMOSPHERE: (68622..68623) \"\n\"\n ATMOSPHERE: (68623..68658) \";; (test-write-syntax \"|+3|\" '|+3|)\"\n ATMOSPHERE: (68658..68659) \"\n\"\n ATMOSPHERE: (68659..68696) \";; (test-write-syntax \"|-.4|\" '|-.4|)\"\n ATMOSPHERE: (68696..68697) \"\n\"\n ATMOSPHERE: (68697..68732) \";; (test-write-syntax \"|+i|\" '|+i|)\"\n ATMOSPHERE: (68732..68733) \"\n\"\n ATMOSPHERE: (68733..68768) \";; (test-write-syntax \"|-i|\" '|-i|)\"\n ATMOSPHERE: (68768..68769) \"\n\"\n ATMOSPHERE: (68769..68812) \";; (test-write-syntax \"|+inf.0|\" '|+inf.0|)\"\n ATMOSPHERE: (68812..68813) \"\n\"\n ATMOSPHERE: (68813..68856) \";; (test-write-syntax \"|-inf.0|\" '|-inf.0|)\"\n ATMOSPHERE: (68856..68857) \"\n\"\n ATMOSPHERE: (68857..68900) \";; (test-write-syntax \"|+nan.0|\" '|+nan.0|)\"\n ATMOSPHERE: (68900..68901) \"\n\"\n ATMOSPHERE: (68901..68944) \";; (test-write-syntax \"|+NaN.0|\" '|+NaN.0|)\"\n ATMOSPHERE: (68944..68945) \"\n\"\n ATMOSPHERE: (68945..68994) \";; (test-write-syntax \"|+NaN.0abc|\" '|+NaN.0abc|)\"\n ATMOSPHERE: (68994..68996) \"\n\n\"\n FORM: (68996..69006)\n OPEN_PAREN: (68996..68997) \"(\"\n SYMBOL: (68997..69005)\n IDENTIFIER: (68997..69005) \"test-end\"\n CLOSE_PAREN: (69005..69006) \")\"\n ATMOSPHERE: (69006..69008) \"\n\n\"\n FORM: (69008..69037)\n OPEN_PAREN: (69008..69009) \"(\"\n SYMBOL: (69009..69019)\n IDENTIFIER: (69009..69019) \"test-begin\"\n ATMOSPHERE: (69019..69020) \" \"\n CONSTANT: (69020..69036)\n STRING: (69020..69036) \"\"Numeric syntax\"\"\n CLOSE_PAREN: (69036..69037) \")\"\n ATMOSPHERE: (69037..69039) \"\n\n\"\n ATMOSPHERE: (69039..69091) \";; ;; Numeric syntax adapted from Peter Bex's tests.\"\n ATMOSPHERE: (69091..69092) \"\n\"\n ATMOSPHERE: (69092..69097) \";; ;;\"\n ATMOSPHERE: (69097..69098) \"\n\"\n ATMOSPHERE: (69098..69160) \";; ;; These are updated to R7RS, using string ports instead of\"\n ATMOSPHERE: (69160..69161) \"\n\"\n ATMOSPHERE: (69161..69232) \";; ;; string->number, and \"error\" tests removed because implementations\"\n ATMOSPHERE: (69232..69233) \"\n\"\n ATMOSPHERE: (69233..69303) \";; ;; are free to provide their own numeric extensions. Currently all\"\n ATMOSPHERE: (69303..69304) \"\n\"\n ATMOSPHERE: (69304..69369) \";; ;; tests are run by default - need to cond-expand and test for\"\n ATMOSPHERE: (69369..69370) \"\n\"\n ATMOSPHERE: (69370..69396) \";; ;; infinities and -0.0.\"\n ATMOSPHERE: (69396..69398) \"\n\n\"\n ATMOSPHERE: (69398..69435) \";; (define-syntax test-numeric-syntax\"\n ATMOSPHERE: (69435..69436) \"\n\"\n ATMOSPHERE: (69436..69457) \";; (syntax-rules ()\"\n ATMOSPHERE: (69457..69458) \"\n\"\n ATMOSPHERE: (69458..69507) \";; ((test-numeric-syntax str expect strs ...)\"\n ATMOSPHERE: (69507..69508) \"\n\"\n ATMOSPHERE: (69508..69557) \";; (let* ((z (read (open-input-string str)))\"\n ATMOSPHERE: (69557..69558) \"\n\"\n ATMOSPHERE: (69558..69599) \";; (out (open-output-string))\"\n ATMOSPHERE: (69599..69600) \"\n\"\n ATMOSPHERE: (69600..69669) \";; (z-str (begin (write z out) (get-output-string out))))\"\n ATMOSPHERE: (69669..69670) \"\n\"\n ATMOSPHERE: (69670..69704) \";; (test expect (values z))\"\n ATMOSPHERE: (69704..69705) \"\n\"\n ATMOSPHERE: (69705..69768) \";; (test #t (and (member z-str '(str strs ...)) #t))))))\"\n ATMOSPHERE: (69768..69770) \"\n\n\"\n ATMOSPHERE: (69770..69801) \";; ;; Each test is of the form:\"\n ATMOSPHERE: (69801..69802) \"\n\"\n ATMOSPHERE: (69802..69807) \";; ;;\"\n ATMOSPHERE: (69807..69808) \"\n\"\n ATMOSPHERE: (69808..69888) \";; ;; (test-numeric-syntax input-str expected-value expected-write-values ...)\"\n ATMOSPHERE: (69888..69889) \"\n\"\n ATMOSPHERE: (69889..69894) \";; ;;\"\n ATMOSPHERE: (69894..69895) \"\n\"\n ATMOSPHERE: (69895..69962) \";; ;; where the input should be eqv? to the expected-value, and the\"\n ATMOSPHERE: (69962..69963) \"\n\"\n ATMOSPHERE: (69963..70034) \";; ;; written output the same as any of the expected-write-values. The\"\n ATMOSPHERE: (70034..70035) \"\n\"\n ATMOSPHERE: (70035..70045) \";; ;; form\"\n ATMOSPHERE: (70045..70046) \"\n\"\n ATMOSPHERE: (70046..70051) \";; ;;\"\n ATMOSPHERE: (70051..70052) \"\n\"\n ATMOSPHERE: (70052..70106) \";; ;; (test-numeric-syntax input-str expected-value)\"\n ATMOSPHERE: (70106..70107) \"\n\"\n ATMOSPHERE: (70107..70112) \";; ;;\"\n ATMOSPHERE: (70112..70113) \"\n\"\n ATMOSPHERE: (70113..70137) \";; ;; is a shorthand for\"\n ATMOSPHERE: (70137..70138) \"\n\"\n ATMOSPHERE: (70138..70143) \";; ;;\"\n ATMOSPHERE: (70143..70144) \"\n\"\n ATMOSPHERE: (70144..70210) \";; ;; (test-numeric-syntax input-str expected-value (input-str))\"\n ATMOSPHERE: (70210..70212) \"\n\n\"\n ATMOSPHERE: (70212..70224) \";; ;; Simple\"\n ATMOSPHERE: (70224..70225) \"\n\"\n ATMOSPHERE: (70225..70255) \";; (test-numeric-syntax \"1\" 1)\"\n ATMOSPHERE: (70255..70256) \"\n\"\n ATMOSPHERE: (70256..70291) \";; (test-numeric-syntax \"+1\" 1 \"1\")\"\n ATMOSPHERE: (70291..70292) \"\n\"\n ATMOSPHERE: (70292..70324) \";; (test-numeric-syntax \"-1\" -1)\"\n ATMOSPHERE: (70324..70325) \"\n\"\n ATMOSPHERE: (70325..70370) \";; (test-numeric-syntax \"#i1\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70370..70371) \"\n\"\n ATMOSPHERE: (70371..70416) \";; (test-numeric-syntax \"#I1\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70416..70417) \"\n\"\n ATMOSPHERE: (70417..70466) \";; (test-numeric-syntax \"#i-1\" -1.0 \"-1.0\" \"-1.\")\"\n ATMOSPHERE: (70466..70467) \"\n\"\n ATMOSPHERE: (70467..70480) \";; ;; Decimal\"\n ATMOSPHERE: (70480..70481) \"\n\"\n ATMOSPHERE: (70481..70526) \";; (test-numeric-syntax \"1.0\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70526..70527) \"\n\"\n ATMOSPHERE: (70527..70571) \";; (test-numeric-syntax \"1.\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70571..70572) \"\n\"\n ATMOSPHERE: (70572..70622) \";; (test-numeric-syntax \".1\" 0.1 \"0.1\" \"100.0e-3\")\"\n ATMOSPHERE: (70622..70623) \"\n\"\n ATMOSPHERE: (70623..70677) \";; (test-numeric-syntax \"-.1\" -0.1 \"-0.1\" \"-100.0e-3\")\"\n ATMOSPHERE: (70677..70678) \"\n\"\n ATMOSPHERE: (70678..70754) \";; ;; Some Schemes don't allow negative zero. This is okay with the standard\"\n ATMOSPHERE: (70754..70755) \"\n\"\n ATMOSPHERE: (70755..70819) \";; (test-numeric-syntax \"-.0\" -0.0 \"-0.\" \"-0.0\" \"0.0\" \"0.\" \".0\")\"\n ATMOSPHERE: (70819..70820) \"\n\"\n ATMOSPHERE: (70820..70884) \";; (test-numeric-syntax \"-0.\" -0.0 \"-.0\" \"-0.0\" \"0.0\" \"0.\" \".0\")\"\n ATMOSPHERE: (70884..70885) \"\n\"\n ATMOSPHERE: (70885..70932) \";; (test-numeric-syntax \"#i1.0\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (70932..70933) \"\n\"\n ATMOSPHERE: (70933..70971) \";; (test-numeric-syntax \"#e1.0\" 1 \"1\")\"\n ATMOSPHERE: (70971..70972) \"\n\"\n ATMOSPHERE: (70972..71010) \";; (test-numeric-syntax \"#e-.0\" 0 \"0\")\"\n ATMOSPHERE: (71010..71011) \"\n\"\n ATMOSPHERE: (71011..71049) \";; (test-numeric-syntax \"#e-0.\" 0 \"0\")\"\n ATMOSPHERE: (71049..71050) \"\n\"\n ATMOSPHERE: (71050..71084) \";; ;; Decimal notation with suffix\"\n ATMOSPHERE: (71084..71085) \"\n\"\n ATMOSPHERE: (71085..71136) \";; (test-numeric-syntax \"1e2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71136..71137) \"\n\"\n ATMOSPHERE: (71137..71188) \";; (test-numeric-syntax \"1E2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71188..71189) \"\n\"\n ATMOSPHERE: (71189..71240) \";; (test-numeric-syntax \"1s2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71240..71241) \"\n\"\n ATMOSPHERE: (71241..71292) \";; (test-numeric-syntax \"1S2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71292..71293) \"\n\"\n ATMOSPHERE: (71293..71344) \";; (test-numeric-syntax \"1f2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71344..71345) \"\n\"\n ATMOSPHERE: (71345..71396) \";; (test-numeric-syntax \"1F2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71396..71397) \"\n\"\n ATMOSPHERE: (71397..71448) \";; (test-numeric-syntax \"1d2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71448..71449) \"\n\"\n ATMOSPHERE: (71449..71500) \";; (test-numeric-syntax \"1D2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71500..71501) \"\n\"\n ATMOSPHERE: (71501..71552) \";; (test-numeric-syntax \"1l2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71552..71553) \"\n\"\n ATMOSPHERE: (71553..71604) \";; (test-numeric-syntax \"1L2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (71604..71605) \"\n\"\n ATMOSPHERE: (71605..71619) \";; ;; NaN, Inf\"\n ATMOSPHERE: (71619..71620) \"\n\"\n ATMOSPHERE: (71620..71678) \";; (test-numeric-syntax \"+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (71678..71679) \"\n\"\n ATMOSPHERE: (71679..71737) \";; (test-numeric-syntax \"+NAN.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (71737..71738) \"\n\"\n ATMOSPHERE: (71738..71796) \";; (test-numeric-syntax \"+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (71796..71797) \"\n\"\n ATMOSPHERE: (71797..71855) \";; (test-numeric-syntax \"+InF.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (71855..71856) \"\n\"\n ATMOSPHERE: (71856..71914) \";; (test-numeric-syntax \"-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (71914..71915) \"\n\"\n ATMOSPHERE: (71915..71973) \";; (test-numeric-syntax \"-iNF.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (71973..71974) \"\n\"\n ATMOSPHERE: (71974..72034) \";; (test-numeric-syntax \"#i+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")\"\n ATMOSPHERE: (72034..72035) \"\n\"\n ATMOSPHERE: (72035..72095) \";; (test-numeric-syntax \"#i+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")\"\n ATMOSPHERE: (72095..72096) \"\n\"\n ATMOSPHERE: (72096..72156) \";; (test-numeric-syntax \"#i-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")\"\n ATMOSPHERE: (72156..72157) \"\n\"\n ATMOSPHERE: (72157..72175) \";; ;; Exact ratios\"\n ATMOSPHERE: (72175..72176) \"\n\"\n ATMOSPHERE: (72176..72214) \";; (test-numeric-syntax \"1/2\" (/ 1 2))\"\n ATMOSPHERE: (72214..72215) \"\n\"\n ATMOSPHERE: (72215..72261) \";; (test-numeric-syntax \"#e1/2\" (/ 1 2) \"1/2\")\"\n ATMOSPHERE: (72261..72262) \"\n\"\n ATMOSPHERE: (72262..72299) \";; (test-numeric-syntax \"10/2\" 5 \"5\")\"\n ATMOSPHERE: (72299..72300) \"\n\"\n ATMOSPHERE: (72300..72343) \";; (test-numeric-syntax \"-1/2\" (- (/ 1 2)))\"\n ATMOSPHERE: (72343..72344) \"\n\"\n ATMOSPHERE: (72344..72381) \";; (test-numeric-syntax \"0/10\" 0 \"0\")\"\n ATMOSPHERE: (72381..72382) \"\n\"\n ATMOSPHERE: (72382..72421) \";; (test-numeric-syntax \"#e0/10\" 0 \"0\")\"\n ATMOSPHERE: (72421..72422) \"\n\"\n ATMOSPHERE: (72422..72472) \";; (test-numeric-syntax \"#i3/2\" (/ 3.0 2.0) \"1.5\")\"\n ATMOSPHERE: (72472..72473) \"\n\"\n ATMOSPHERE: (72473..72492) \";; ;; Exact complex\"\n ATMOSPHERE: (72492..72493) \"\n\"\n ATMOSPHERE: (72493..72547) \";; (test-numeric-syntax \"1+2i\" (make-rectangular 1 2))\"\n ATMOSPHERE: (72547..72548) \"\n\"\n ATMOSPHERE: (72548..72609) \";; (test-numeric-syntax \"1+2I\" (make-rectangular 1 2) \"1+2i\")\"\n ATMOSPHERE: (72609..72610) \"\n\"\n ATMOSPHERE: (72610..72665) \";; (test-numeric-syntax \"1-2i\" (make-rectangular 1 -2))\"\n ATMOSPHERE: (72665..72666) \"\n\"\n ATMOSPHERE: (72666..72722) \";; (test-numeric-syntax \"-1+2i\" (make-rectangular -1 2))\"\n ATMOSPHERE: (72722..72723) \"\n\"\n ATMOSPHERE: (72723..72780) \";; (test-numeric-syntax \"-1-2i\" (make-rectangular -1 -2))\"\n ATMOSPHERE: (72780..72781) \"\n\"\n ATMOSPHERE: (72781..72857) \";; (test-numeric-syntax \"+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (72857..72858) \"\n\"\n ATMOSPHERE: (72858..72935) \";; (test-numeric-syntax \"0+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (72935..72936) \"\n\"\n ATMOSPHERE: (72936..73014) \";; (test-numeric-syntax \"0+1i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")\"\n ATMOSPHERE: (73014..73015) \"\n\"\n ATMOSPHERE: (73015..73092) \";; (test-numeric-syntax \"-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73092..73093) \"\n\"\n ATMOSPHERE: (73093..73171) \";; (test-numeric-syntax \"0-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73171..73172) \"\n\"\n ATMOSPHERE: (73172..73251) \";; (test-numeric-syntax \"0-1i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")\"\n ATMOSPHERE: (73251..73252) \"\n\"\n ATMOSPHERE: (73252..73323) \";; (test-numeric-syntax \"+2i\" (make-rectangular 0 2) \"2i\" \"+2i\" \"0+2i\")\"\n ATMOSPHERE: (73323..73324) \"\n\"\n ATMOSPHERE: (73324..73391) \";; (test-numeric-syntax \"-2i\" (make-rectangular 0 -2) \"-2i\" \"0-2i\")\"\n ATMOSPHERE: (73391..73392) \"\n\"\n ATMOSPHERE: (73392..73453) \";; ;; Decimal-notation complex numbers (rectangular notation)\"\n ATMOSPHERE: (73453..73454) \"\n\"\n ATMOSPHERE: (73454..73549) \";; (test-numeric-syntax \"1.0+2i\" (make-rectangular 1.0 2) \"1.0+2.0i\" \"1.0+2i\" \"1.+2i\" \"1.+2.i\")\"\n ATMOSPHERE: (73549..73550) \"\n\"\n ATMOSPHERE: (73550..73645) \";; (test-numeric-syntax \"1+2.0i\" (make-rectangular 1 2.0) \"1.0+2.0i\" \"1+2.0i\" \"1.+2.i\" \"1+2.i\")\"\n ATMOSPHERE: (73645..73646) \"\n\"\n ATMOSPHERE: (73646..73734) \";; (test-numeric-syntax \"1e2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")\"\n ATMOSPHERE: (73734..73735) \"\n\"\n ATMOSPHERE: (73735..73823) \";; (test-numeric-syntax \"1s2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")\"\n ATMOSPHERE: (73823..73824) \"\n\"\n ATMOSPHERE: (73824..73912) \";; (test-numeric-syntax \"1.0+1e2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")\"\n ATMOSPHERE: (73912..73913) \"\n\"\n ATMOSPHERE: (73913..74001) \";; (test-numeric-syntax \"1.0+1s2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")\"\n ATMOSPHERE: (74001..74002) \"\n\"\n ATMOSPHERE: (74002..74057) \";; ;; Fractional complex numbers (rectangular notation)\"\n ATMOSPHERE: (74057..74058) \"\n\"\n ATMOSPHERE: (74058..74128) \";; (test-numeric-syntax \"1/2+3/4i\" (make-rectangular (/ 1 2) (/ 3 4)))\"\n ATMOSPHERE: (74128..74129) \"\n\"\n ATMOSPHERE: (74129..74207) \";; ;; Mixed fractional/decimal notation complex numbers (rectangular notation)\"\n ATMOSPHERE: (74207..74208) \"\n\"\n ATMOSPHERE: (74208..74273) \";; (test-numeric-syntax \"0.5+3/4i\" (make-rectangular 0.5 (/ 3 4))\"\n ATMOSPHERE: (74273..74274) \"\n\"\n ATMOSPHERE: (74274..74343) \";; \"0.5+0.75i\" \".5+.75i\" \"0.5+3/4i\" \".5+3/4i\" \"500.0e-3+750.0e-3i\")\"\n ATMOSPHERE: (74343..74344) \"\n\"\n ATMOSPHERE: (74344..74389) \";; ;; Complex NaN, Inf (rectangular notation)\"\n ATMOSPHERE: (74389..74390) \"\n\"\n ATMOSPHERE: (74390..74484) \";; ;;(test-numeric-syntax \"+nan.0+nan.0i\" (make-rectangular the-nan the-nan) \"+NaN.0+NaN.0i\") \"\n ATMOSPHERE: (74484..74485) \"\n\"\n ATMOSPHERE: (74485..74574) \";; (test-numeric-syntax \"+inf.0+inf.0i\" (make-rectangular +inf.0 +inf.0) \"+Inf.0+Inf.0i\")\"\n ATMOSPHERE: (74574..74575) \"\n\"\n ATMOSPHERE: (74575..74664) \";; (test-numeric-syntax \"-inf.0+inf.0i\" (make-rectangular -inf.0 +inf.0) \"-Inf.0+Inf.0i\")\"\n ATMOSPHERE: (74664..74665) \"\n\"\n ATMOSPHERE: (74665..74754) \";; (test-numeric-syntax \"-inf.0-inf.0i\" (make-rectangular -inf.0 -inf.0) \"-Inf.0-Inf.0i\")\"\n ATMOSPHERE: (74754..74755) \"\n\"\n ATMOSPHERE: (74755..74844) \";; (test-numeric-syntax \"+inf.0-inf.0i\" (make-rectangular +inf.0 -inf.0) \"+Inf.0-Inf.0i\")\"\n ATMOSPHERE: (74844..74845) \"\n\"\n ATMOSPHERE: (74845..74883) \";; ;; Complex numbers (polar notation)\"\n ATMOSPHERE: (74883..74884) \"\n\"\n ATMOSPHERE: (74884..74938) \";; ;; Need to account for imprecision in write output.\"\n ATMOSPHERE: (74938..74939) \"\n\"\n ATMOSPHERE: (74939..75049) \";; ;;(test-numeric-syntax \"1@2\" -0.416146836547142+0.909297426825682i \"-0.416146836547142+0.909297426825682i\")\"\n ATMOSPHERE: (75049..75050) \"\n\"\n ATMOSPHERE: (75050..75069) \";; ;; Base prefixes\"\n ATMOSPHERE: (75069..75070) \"\n\"\n ATMOSPHERE: (75070..75109) \";; (test-numeric-syntax \"#x11\" 17 \"17\")\"\n ATMOSPHERE: (75109..75110) \"\n\"\n ATMOSPHERE: (75110..75149) \";; (test-numeric-syntax \"#X11\" 17 \"17\")\"\n ATMOSPHERE: (75149..75150) \"\n\"\n ATMOSPHERE: (75150..75189) \";; (test-numeric-syntax \"#d11\" 11 \"11\")\"\n ATMOSPHERE: (75189..75190) \"\n\"\n ATMOSPHERE: (75190..75229) \";; (test-numeric-syntax \"#D11\" 11 \"11\")\"\n ATMOSPHERE: (75229..75230) \"\n\"\n ATMOSPHERE: (75230..75267) \";; (test-numeric-syntax \"#o11\" 9 \"9\")\"\n ATMOSPHERE: (75267..75268) \"\n\"\n ATMOSPHERE: (75268..75305) \";; (test-numeric-syntax \"#O11\" 9 \"9\")\"\n ATMOSPHERE: (75305..75306) \"\n\"\n ATMOSPHERE: (75306..75343) \";; (test-numeric-syntax \"#b11\" 3 \"3\")\"\n ATMOSPHERE: (75343..75344) \"\n\"\n ATMOSPHERE: (75344..75381) \";; (test-numeric-syntax \"#B11\" 3 \"3\")\"\n ATMOSPHERE: (75381..75382) \"\n\"\n ATMOSPHERE: (75382..75418) \";; (test-numeric-syntax \"#o7\" 7 \"7\")\"\n ATMOSPHERE: (75418..75419) \"\n\"\n ATMOSPHERE: (75419..75457) \";; (test-numeric-syntax \"#xa\" 10 \"10\")\"\n ATMOSPHERE: (75457..75458) \"\n\"\n ATMOSPHERE: (75458..75496) \";; (test-numeric-syntax \"#xA\" 10 \"10\")\"\n ATMOSPHERE: (75496..75497) \"\n\"\n ATMOSPHERE: (75497..75535) \";; (test-numeric-syntax \"#xf\" 15 \"15\")\"\n ATMOSPHERE: (75535..75536) \"\n\"\n ATMOSPHERE: (75536..75578) \";; (test-numeric-syntax \"#x-10\" -16 \"-16\")\"\n ATMOSPHERE: (75578..75579) \"\n\"\n ATMOSPHERE: (75579..75621) \";; (test-numeric-syntax \"#d-10\" -10 \"-10\")\"\n ATMOSPHERE: (75621..75622) \"\n\"\n ATMOSPHERE: (75622..75662) \";; (test-numeric-syntax \"#o-10\" -8 \"-8\")\"\n ATMOSPHERE: (75662..75663) \"\n\"\n ATMOSPHERE: (75663..75703) \";; (test-numeric-syntax \"#b-10\" -2 \"-2\")\"\n ATMOSPHERE: (75703..75704) \"\n\"\n ATMOSPHERE: (75704..75733) \";; ;; Combination of prefixes\"\n ATMOSPHERE: (75733..75734) \"\n\"\n ATMOSPHERE: (75734..75775) \";; (test-numeric-syntax \"#e#x10\" 16 \"16\")\"\n ATMOSPHERE: (75775..75776) \"\n\"\n ATMOSPHERE: (75776..75827) \";; (test-numeric-syntax \"#i#x10\" 16.0 \"16.0\" \"16.\")\"\n ATMOSPHERE: (75827..75828) \"\n\"\n ATMOSPHERE: (75828..75879) \";; (test-numeric-syntax \"#x#i10\" 16.0 \"16.0\" \"16.\")\"\n ATMOSPHERE: (75879..75880) \"\n\"\n ATMOSPHERE: (75880..75931) \";; (test-numeric-syntax \"#i#x1/10\" 0.0625 \"0.0625\")\"\n ATMOSPHERE: (75931..75932) \"\n\"\n ATMOSPHERE: (75932..75983) \";; (test-numeric-syntax \"#x#i1/10\" 0.0625 \"0.0625\")\"\n ATMOSPHERE: (75983..75984) \"\n\"\n ATMOSPHERE: (75984..76037) \";; ;; (Attempted) decimal notation with base prefixes\"\n ATMOSPHERE: (76037..76038) \"\n\"\n ATMOSPHERE: (76038..76084) \";; (test-numeric-syntax \"#d1.\" 1.0 \"1.0\" \"1.\")\"\n ATMOSPHERE: (76084..76085) \"\n\"\n ATMOSPHERE: (76085..76142) \";; (test-numeric-syntax \"#d.1\" 0.1 \"0.1\" \".1\" \"100.0e-3\")\"\n ATMOSPHERE: (76142..76143) \"\n\"\n ATMOSPHERE: (76143..76185) \";; (test-numeric-syntax \"#x1e2\" 482 \"482\")\"\n ATMOSPHERE: (76185..76186) \"\n\"\n ATMOSPHERE: (76186..76239) \";; (test-numeric-syntax \"#d1e2\" 100.0 \"100.0\" \"100.\")\"\n ATMOSPHERE: (76239..76240) \"\n\"\n ATMOSPHERE: (76240..76269) \";; ;; Fractions with prefixes\"\n ATMOSPHERE: (76269..76270) \"\n\"\n ATMOSPHERE: (76270..76309) \";; (test-numeric-syntax \"#x10/2\" 8 \"8\")\"\n ATMOSPHERE: (76309..76310) \"\n\"\n ATMOSPHERE: (76310..76359) \";; (test-numeric-syntax \"#x11/2\" (/ 17 2) \"17/2\")\"\n ATMOSPHERE: (76359..76360) \"\n\"\n ATMOSPHERE: (76360..76409) \";; (test-numeric-syntax \"#d11/2\" (/ 11 2) \"11/2\")\"\n ATMOSPHERE: (76409..76410) \"\n\"\n ATMOSPHERE: (76410..76457) \";; (test-numeric-syntax \"#o11/2\" (/ 9 2) \"9/2\")\"\n ATMOSPHERE: (76457..76458) \"\n\"\n ATMOSPHERE: (76458..76506) \";; (test-numeric-syntax \"#b11/10\" (/ 3 2) \"3/2\")\"\n ATMOSPHERE: (76506..76507) \"\n\"\n ATMOSPHERE: (76507..76542) \";; ;; Complex numbers with prefixes\"\n ATMOSPHERE: (76542..76543) \"\n\"\n ATMOSPHERE: (76543..76614) \";; ;;(test-numeric-syntax \"#x10+11i\" (make-rectangular 16 17) \"16+17i\")\"\n ATMOSPHERE: (76614..76615) \"\n\"\n ATMOSPHERE: (76615..76699) \";; (test-numeric-syntax \"#d1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")\"\n ATMOSPHERE: (76699..76700) \"\n\"\n ATMOSPHERE: (76700..76769) \";; (test-numeric-syntax \"#d10+11i\" (make-rectangular 10 11) \"10+11i\")\"\n ATMOSPHERE: (76769..76770) \"\n\"\n ATMOSPHERE: (76770..76837) \";; ;;(test-numeric-syntax \"#o10+11i\" (make-rectangular 8 9) \"8+9i\")\"\n ATMOSPHERE: (76837..76838) \"\n\"\n ATMOSPHERE: (76838..76905) \";; ;;(test-numeric-syntax \"#b10+11i\" (make-rectangular 2 3) \"2+3i\")\"\n ATMOSPHERE: (76905..76906) \"\n\"\n ATMOSPHERE: (76906..76981) \";; ;;(test-numeric-syntax \"#e1.0+1.0i\" (make-rectangular 1 1) \"1+1i\" \"1+i\")\"\n ATMOSPHERE: (76981..76982) \"\n\"\n ATMOSPHERE: (76982..77068) \";; ;;(test-numeric-syntax \"#i1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")\"\n ATMOSPHERE: (77068..77070) \"\n\n\"\n ATMOSPHERE: (77070..77102) \";; (define-syntax test-precision\"\n ATMOSPHERE: (77102..77103) \"\n\"\n ATMOSPHERE: (77103..77124) \";; (syntax-rules ()\"\n ATMOSPHERE: (77124..77125) \"\n\"\n ATMOSPHERE: (77125..77162) \";; ((test-round-trip str alt ...)\"\n ATMOSPHERE: (77162..77163) \"\n\"\n ATMOSPHERE: (77163..77202) \";; (let* ((n (string->number str))\"\n ATMOSPHERE: (77202..77203) \"\n\"\n ATMOSPHERE: (77203..77243) \";; (str2 (number->string n))\"\n ATMOSPHERE: (77243..77244) \"\n\"\n ATMOSPHERE: (77244..77288) \";; (accepted (list str alt ...))\"\n ATMOSPHERE: (77288..77289) \"\n\"\n ATMOSPHERE: (77289..77332) \";; (ls (member str2 accepted)))\"\n ATMOSPHERE: (77332..77333) \"\n\"\n ATMOSPHERE: (77333..77391) \";; (test-assert (string-append \"(member? \" str2 \" \"\"\n ATMOSPHERE: (77391..77392) \"\n\"\n ATMOSPHERE: (77392..77463) \";; (let ((out (open-output-string)))\"\n ATMOSPHERE: (77463..77464) \"\n\"\n ATMOSPHERE: (77464..77524) \";; (write accepted out)\"\n ATMOSPHERE: (77524..77525) \"\n\"\n ATMOSPHERE: (77525..77589) \";; (get-output-string out))\"\n ATMOSPHERE: (77589..77590) \"\n\"\n ATMOSPHERE: (77590..77632) \";; \")\")\"\n ATMOSPHERE: (77632..77633) \"\n\"\n ATMOSPHERE: (77633..77656) \";; (pair? ls))\"\n ATMOSPHERE: (77656..77657) \"\n\"\n ATMOSPHERE: (77657..77683) \";; (when (pair? ls)\"\n ATMOSPHERE: (77683..77684) \"\n\"\n ATMOSPHERE: (77684..77751) \";; (test-assert (string-append \"(eqv?: \" str \" \" str2 \")\")\"\n ATMOSPHERE: (77751..77752) \"\n\"\n ATMOSPHERE: (77752..77806) \";; (eqv? n (string->number (car ls)))))))))\"\n ATMOSPHERE: (77806..77808) \"\n\n\"\n ATMOSPHERE: (77808..77863) \";; (test-precision \"-1.7976931348623157e+308\" \"-inf.0\")\"\n ATMOSPHERE: (77863..77864) \"\n\"\n ATMOSPHERE: (77864..77949) \";; (test-precision \"4.940656458412465e-324\" \"4.94065645841247e-324\" \"5.0e-324\" \"0.0\")\"\n ATMOSPHERE: (77949..77950) \"\n\"\n ATMOSPHERE: (77950..78035) \";; (test-precision \"9.881312916824931e-324\" \"9.88131291682493e-324\" \"1.0e-323\" \"0.0\")\"\n ATMOSPHERE: (78035..78036) \"\n\"\n ATMOSPHERE: (78036..78096) \";; (test-precision \"1.48219693752374e-323\" \"1.5e-323\" \"0.0\")\"\n ATMOSPHERE: (78096..78097) \"\n\"\n ATMOSPHERE: (78097..78182) \";; (test-precision \"1.976262583364986e-323\" \"1.97626258336499e-323\" \"2.0e-323\" \"0.0\")\"\n ATMOSPHERE: (78182..78183) \"\n\"\n ATMOSPHERE: (78183..78268) \";; (test-precision \"2.470328229206233e-323\" \"2.47032822920623e-323\" \"2.5e-323\" \"0.0\")\"\n ATMOSPHERE: (78268..78269) \"\n\"\n ATMOSPHERE: (78269..78354) \";; (test-precision \"2.420921664622108e-322\" \"2.42092166462211e-322\" \"2.4e-322\" \"0.0\")\"\n ATMOSPHERE: (78354..78355) \"\n\"\n ATMOSPHERE: (78355..78442) \";; (test-precision \"2.420921664622108e-320\" \"2.42092166462211e-320\" \"2.421e-320\" \"0.0\")\"\n ATMOSPHERE: (78442..78443) \"\n\"\n ATMOSPHERE: (78443..78495) \";; (test-precision \"1.4489974452386991\" \"1.4489975\")\"\n ATMOSPHERE: (78495..78496) \"\n\"\n ATMOSPHERE: (78496..78572) \";; (test-precision \"0.14285714285714282\" \"0.14285714285714288\" \"0.14285715\")\"\n ATMOSPHERE: (78572..78573) \"\n\"\n ATMOSPHERE: (78573..78627) \";; (test-precision \"1.7976931348623157e+308\" \"+inf.0\")\"\n ATMOSPHERE: (78627..78629) \"\n\n\"\n FORM: (78629..78639)\n OPEN_PAREN: (78629..78630) \"(\"\n SYMBOL: (78630..78638)\n IDENTIFIER: (78630..78638) \"test-end\"\n CLOSE_PAREN: (78638..78639) \")\"\n ATMOSPHERE: (78639..78641) \"\n\n\"\n FORM: (78641..78651)\n OPEN_PAREN: (78641..78642) \"(\"\n SYMBOL: (78642..78650)\n IDENTIFIER: (78642..78650) \"test-end\"\n CLOSE_PAREN: (78650..78651) \")\"\n ATMOSPHERE: (78651..78653) \"\n\n\"\n FORM: (78653..78689)\n OPEN_PAREN: (78653..78654) \"(\"\n SYMBOL: (78654..78664)\n IDENTIFIER: (78654..78664) \"test-begin\"\n ATMOSPHERE: (78664..78665) \" \"\n CONSTANT: (78665..78688)\n STRING: (78665..78688) \"\"6.14 System interface\"\"\n CLOSE_PAREN: (78688..78689) \")\"\n ATMOSPHERE: (78689..78691) \"\n\n\"\n ATMOSPHERE: (78691..78718) \";; ;; 6.14 System interface\"\n ATMOSPHERE: (78718..78720) \"\n\n\"\n ATMOSPHERE: (78720..78797) \";; ;; (test \"/usr/local/bin:/usr/bin:/bin\" (get-environment-variable \"PATH\"))\"\n ATMOSPHERE: (78797..78799) \"\n\n\"\n ATMOSPHERE: (78799..78855) \";; (test #t (string? (get-environment-variable \"PATH\")))\"\n ATMOSPHERE: (78855..78857) \"\n\n\"\n ATMOSPHERE: (78857..78933) \";; ;; (test '((\"USER\" . \"root\") (\"HOME\" . \"/\")) (get-environment-variables))\"\n ATMOSPHERE: (78933..78935) \"\n\n\"\n ATMOSPHERE: (78935..78978) \";; (let ((env (get-environment-variables)))\"\n ATMOSPHERE: (78978..78979) \"\n\"\n ATMOSPHERE: (78979..79005) \";; (define (env-pair? x)\"\n ATMOSPHERE: (79005..79006) \"\n\"\n ATMOSPHERE: (79006..79065) \";; (and (pair? x) (string? (car x)) (string? (cdr x))))\"\n ATMOSPHERE: (79065..79066) \"\n\"\n ATMOSPHERE: (79066..79093) \";; (define (all? pred ls)\"\n ATMOSPHERE: (79093..79094) \"\n\"\n ATMOSPHERE: (79094..79160) \";; (or (null? ls) (and (pred (car ls)) (all? pred (cdr ls)))))\"\n ATMOSPHERE: (79160..79161) \"\n\"\n ATMOSPHERE: (79161..79187) \";; (test #t (list? env))\"\n ATMOSPHERE: (79187..79188) \"\n\"\n ATMOSPHERE: (79188..79224) \";; (test #t (all? env-pair? env)))\"\n ATMOSPHERE: (79224..79226) \"\n\n\"\n ATMOSPHERE: (79226..79261) \";; (test #t (list? (command-line)))\"\n ATMOSPHERE: (79261..79263) \"\n\n\"\n ATMOSPHERE: (79263..79300) \";; (test #t (real? (current-second)))\"\n ATMOSPHERE: (79300..79301) \"\n\"\n ATMOSPHERE: (79301..79341) \";; (test #t (inexact? (current-second)))\"\n ATMOSPHERE: (79341..79342) \"\n\"\n ATMOSPHERE: (79342..79379) \";; (test #t (exact? (current-jiffy)))\"\n ATMOSPHERE: (79379..79380) \"\n\"\n ATMOSPHERE: (79380..79422) \";; (test #t (exact? (jiffies-per-second)))\"\n ATMOSPHERE: (79422..79424) \"\n\n\"\n ATMOSPHERE: (79424..79455) \";; (test #t (list? (features)))\"\n ATMOSPHERE: (79455..79456) \"\n\"\n ATMOSPHERE: (79456..79501) \";; (test #t (and (memq 'r7rs (features)) #t))\"\n ATMOSPHERE: (79501..79503) \"\n\n\"\n ATMOSPHERE: (79503..79534) \";; (test #t (file-exists? \".\"))\"\n ATMOSPHERE: (79534..79535) \"\n\"\n ATMOSPHERE: (79535..79579) \";; (test #f (file-exists? \" no such file \"))\"\n ATMOSPHERE: (79579..79581) \"\n\n\"\n ATMOSPHERE: (79581..79605) \";; (test #t (file-error?\"\n ATMOSPHERE: (79605..79606) \"\n\"\n ATMOSPHERE: (79606..79642) \";; (guard (exn (else exn))\"\n ATMOSPHERE: (79642..79643) \"\n\"\n ATMOSPHERE: (79643..79691) \";; (delete-file \" no such file \"))))\"\n ATMOSPHERE: (79691..79693) \"\n\n\"\n FORM: (79693..79703)\n OPEN_PAREN: (79693..79694) \"(\"\n SYMBOL: (79694..79702)\n IDENTIFIER: (79694..79702) \"test-end\"\n CLOSE_PAREN: (79702..79703) \")\"\n ATMOSPHERE: (79703..79705) \"\n\n\"\n FORM: (79705..79715)\n OPEN_PAREN: (79705..79706) \"(\"\n SYMBOL: (79706..79714)\n IDENTIFIER: (79706..79714) \"test-end\"\n CLOSE_PAREN: (79714..79715) \")\"\n ATMOSPHERE: (79715..79716) \"\n\"\n EOF: (79716..79716) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json b/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json deleted file mode 100644 index c53b6f9..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_collatz.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..638)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..64) \";; Modululs remainder\"\n ATMOSPHERE: (64..65) \"\n\"\n ATMOSPHERE: (65..67) \";;\"\n ATMOSPHERE: (67..68) \"\n\"\n ATMOSPHERE: (68..107) \";; Returns the modulus remainder of n/d\"\n ATMOSPHERE: (107..108) \"\n\"\n FORM: (108..177)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..115)\n IDENTIFIER: (109..115) \"define\"\n ATMOSPHERE: (115..116) \" \"\n FORM: (116..125)\n OPEN_PAREN: (116..117) \"(\"\n SYMBOL: (117..120)\n IDENTIFIER: (117..120) \"mod\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"n\"\n ATMOSPHERE: (122..123) \" \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"d\"\n CLOSE_PAREN: (124..125) \")\"\n ATMOSPHERE: (125..130) \"\n \"\n FORM: (130..176)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..133)\n IDENTIFIER: (131..133) \"if\"\n ATMOSPHERE: (133..134) \" \"\n FORM: (134..141)\n OPEN_PAREN: (134..135) \"(\"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"<\"\n ATMOSPHERE: (136..137) \" \"\n SYMBOL: (137..138)\n IDENTIFIER: (137..138) \"n\"\n ATMOSPHERE: (138..139) \" \"\n SYMBOL: (139..140)\n IDENTIFIER: (139..140) \"d\"\n CLOSE_PAREN: (140..141) \")\"\n ATMOSPHERE: (141..150) \"\n \"\n SYMBOL: (150..151)\n IDENTIFIER: (150..151) \"n\"\n ATMOSPHERE: (151..160) \"\n \"\n FORM: (160..175)\n OPEN_PAREN: (160..161) \"(\"\n SYMBOL: (161..164)\n IDENTIFIER: (161..164) \"mod\"\n ATMOSPHERE: (164..165) \" \"\n FORM: (165..172)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"-\"\n ATMOSPHERE: (167..168) \" \"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"n\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..171)\n IDENTIFIER: (170..171) \"d\"\n CLOSE_PAREN: (171..172) \")\"\n ATMOSPHERE: (172..173) \" \"\n SYMBOL: (173..174)\n IDENTIFIER: (173..174) \"d\"\n CLOSE_PAREN: (174..175) \")\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n ATMOSPHERE: (177..179) \"\n\n\"\n ATMOSPHERE: (179..233) \";; Find how long a given number takes to converge on 1\"\n ATMOSPHERE: (233..234) \"\n\"\n FORM: (234..514)\n OPEN_PAREN: (234..235) \"(\"\n SYMBOL: (235..241)\n IDENTIFIER: (235..241) \"define\"\n ATMOSPHERE: (241..242) \" \"\n FORM: (242..253)\n OPEN_PAREN: (242..243) \"(\"\n SYMBOL: (243..250)\n IDENTIFIER: (243..250) \"collatz\"\n ATMOSPHERE: (250..251) \" \"\n SYMBOL: (251..252)\n IDENTIFIER: (251..252) \"x\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..486)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..265)\n IDENTIFIER: (259..265) \"define\"\n ATMOSPHERE: (265..266) \" \"\n FORM: (266..292)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..283)\n IDENTIFIER: (267..283) \"collatz-internal\"\n ATMOSPHERE: (283..284) \" \"\n SYMBOL: (284..285)\n IDENTIFIER: (284..285) \"x\"\n ATMOSPHERE: (285..286) \" \"\n SYMBOL: (286..291)\n IDENTIFIER: (286..291) \"steps\"\n CLOSE_PAREN: (291..292) \")\"\n ATMOSPHERE: (292..301) \"\n \"\n FORM: (301..485)\n OPEN_PAREN: (301..302) \"(\"\n SYMBOL: (302..304)\n IDENTIFIER: (302..304) \"if\"\n ATMOSPHERE: (304..305) \" \"\n FORM: (305..312)\n OPEN_PAREN: (305..306) \"(\"\n SYMBOL: (306..307)\n IDENTIFIER: (306..307) \"=\"\n ATMOSPHERE: (307..308) \" \"\n SYMBOL: (308..309)\n IDENTIFIER: (308..309) \"x\"\n ATMOSPHERE: (309..310) \" \"\n CONSTANT: (310..311)\n NUMBER: (310..311) \"1\"\n CLOSE_PAREN: (311..312) \")\"\n ATMOSPHERE: (312..325) \"\n \"\n SYMBOL: (325..330)\n IDENTIFIER: (325..330) \"steps\"\n ATMOSPHERE: (330..343) \"\n \"\n FORM: (343..484)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..360)\n IDENTIFIER: (344..360) \"collatz-internal\"\n ATMOSPHERE: (360..377) \"\n \"\n FORM: (377..459)\n OPEN_PAREN: (377..378) \"(\"\n SYMBOL: (378..380)\n IDENTIFIER: (378..380) \"if\"\n ATMOSPHERE: (380..381) \" \"\n FORM: (381..396)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..383)\n IDENTIFIER: (382..383) \"=\"\n ATMOSPHERE: (383..384) \" \"\n FORM: (384..393)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..388)\n IDENTIFIER: (385..388) \"mod\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..390)\n IDENTIFIER: (389..390) \"x\"\n ATMOSPHERE: (390..391) \" \"\n CONSTANT: (391..392)\n NUMBER: (391..392) \"2\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..394) \" \"\n CONSTANT: (394..395)\n NUMBER: (394..395) \"0\"\n CLOSE_PAREN: (395..396) \")\"\n ATMOSPHERE: (396..417) \"\n \"\n FORM: (417..424)\n OPEN_PAREN: (417..418) \"(\"\n SYMBOL: (418..419)\n IDENTIFIER: (418..419) \"/\"\n ATMOSPHERE: (419..420) \" \"\n SYMBOL: (420..421)\n IDENTIFIER: (420..421) \"x\"\n ATMOSPHERE: (421..422) \" \"\n CONSTANT: (422..423)\n NUMBER: (422..423) \"2\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..445) \"\n \"\n FORM: (445..458)\n OPEN_PAREN: (445..446) \"(\"\n SYMBOL: (446..447)\n IDENTIFIER: (446..447) \"+\"\n ATMOSPHERE: (447..448) \" \"\n FORM: (448..455)\n OPEN_PAREN: (448..449) \"(\"\n SYMBOL: (449..450)\n IDENTIFIER: (449..450) \"*\"\n ATMOSPHERE: (450..451) \" \"\n SYMBOL: (451..452)\n IDENTIFIER: (451..452) \"x\"\n ATMOSPHERE: (452..453) \" \"\n CONSTANT: (453..454)\n NUMBER: (453..454) \"3\"\n CLOSE_PAREN: (454..455) \")\"\n ATMOSPHERE: (455..456) \" \"\n CONSTANT: (456..457)\n NUMBER: (456..457) \"1\"\n CLOSE_PAREN: (457..458) \")\"\n CLOSE_PAREN: (458..459) \")\"\n ATMOSPHERE: (459..472) \"\n \"\n FORM: (472..483)\n OPEN_PAREN: (472..473) \"(\"\n SYMBOL: (473..474)\n IDENTIFIER: (473..474) \"+\"\n ATMOSPHERE: (474..475) \" \"\n SYMBOL: (475..480)\n IDENTIFIER: (475..480) \"steps\"\n ATMOSPHERE: (480..481) \" \"\n CONSTANT: (481..482)\n NUMBER: (481..482) \"1\"\n CLOSE_PAREN: (482..483) \")\"\n CLOSE_PAREN: (483..484) \")\"\n CLOSE_PAREN: (484..485) \")\"\n CLOSE_PAREN: (485..486) \")\"\n ATMOSPHERE: (486..491) \"\n \"\n FORM: (491..513)\n OPEN_PAREN: (491..492) \"(\"\n SYMBOL: (492..508)\n IDENTIFIER: (492..508) \"collatz-internal\"\n ATMOSPHERE: (508..509) \" \"\n SYMBOL: (509..510)\n IDENTIFIER: (509..510) \"x\"\n ATMOSPHERE: (510..511) \" \"\n CONSTANT: (511..512)\n NUMBER: (511..512) \"0\"\n CLOSE_PAREN: (512..513) \")\"\n CLOSE_PAREN: (513..514) \")\"\n ATMOSPHERE: (514..516) \"\n\n\"\n FORM: (516..538)\n OPEN_PAREN: (516..517) \"(\"\n SYMBOL: (517..524)\n IDENTIFIER: (517..524) \"display\"\n ATMOSPHERE: (524..525) \" \"\n FORM: (525..537)\n OPEN_PAREN: (525..526) \"(\"\n SYMBOL: (526..533)\n IDENTIFIER: (526..533) \"collatz\"\n ATMOSPHERE: (533..534) \" \"\n CONSTANT: (534..536)\n NUMBER: (534..536) \"17\"\n CLOSE_PAREN: (536..537) \")\"\n CLOSE_PAREN: (537..538) \")\"\n FORM: (538..547)\n OPEN_PAREN: (538..539) \"(\"\n SYMBOL: (539..546)\n IDENTIFIER: (539..546) \"newline\"\n CLOSE_PAREN: (546..547) \")\"\n ATMOSPHERE: (547..548) \" \"\n ATMOSPHERE: (548..556) \";; => 12\"\n ATMOSPHERE: (556..557) \"\n\"\n FORM: (557..578)\n OPEN_PAREN: (557..558) \"(\"\n SYMBOL: (558..565)\n IDENTIFIER: (558..565) \"display\"\n ATMOSPHERE: (565..566) \" \"\n FORM: (566..577)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"collatz\"\n ATMOSPHERE: (574..575) \" \"\n CONSTANT: (575..576)\n NUMBER: (575..576) \"1\"\n CLOSE_PAREN: (576..577) \")\"\n CLOSE_PAREN: (577..578) \")\"\n FORM: (578..587)\n OPEN_PAREN: (578..579) \"(\"\n SYMBOL: (579..586)\n IDENTIFIER: (579..586) \"newline\"\n CLOSE_PAREN: (586..587) \")\"\n ATMOSPHERE: (587..589) \" \"\n ATMOSPHERE: (589..596) \";; => 0\"\n ATMOSPHERE: (596..597) \"\n\"\n FORM: (597..618)\n OPEN_PAREN: (597..598) \"(\"\n SYMBOL: (598..605)\n IDENTIFIER: (598..605) \"display\"\n ATMOSPHERE: (605..606) \" \"\n FORM: (606..617)\n OPEN_PAREN: (606..607) \"(\"\n SYMBOL: (607..614)\n IDENTIFIER: (607..614) \"collatz\"\n ATMOSPHERE: (614..615) \" \"\n CONSTANT: (615..616)\n NUMBER: (615..616) \"9\"\n CLOSE_PAREN: (616..617) \")\"\n CLOSE_PAREN: (617..618) \")\"\n FORM: (618..627)\n OPEN_PAREN: (618..619) \"(\"\n SYMBOL: (619..626)\n IDENTIFIER: (619..626) \"newline\"\n CLOSE_PAREN: (626..627) \")\"\n ATMOSPHERE: (627..629) \" \"\n ATMOSPHERE: (629..637) \";; => 19\"\n ATMOSPHERE: (637..638) \"\n\"\n EOF: (638..638) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_comment.scm.json b/test/Feersum.Tests/_snapshots/Parse_comment.scm.json deleted file mode 100644 index dc4b745..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_comment.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..163)\n ATMOSPHERE: (0..9) \"; this is\"\n ATMOSPHERE: (9..10) \"\n\"\n ATMOSPHERE: (10..33) \";; just a collection of\"\n ATMOSPHERE: (33..34) \"\n\"\n ATMOSPHERE: (34..47) \";;;; comments\"\n ATMOSPHERE: (47..48) \"\n\"\n ATMOSPHERE: (48..53) \"; and\"\n ATMOSPHERE: (53..54) \"\n\"\n ATMOSPHERE: (54..61) \";things\"\n ATMOSPHERE: (61..62) \"\n\"\n ATMOSPHERE: (62..75) \"; ; ; ; ; ; ;\"\n ATMOSPHERE: (75..76) \"\n\"\n CONSTANT: (76..77)\n NUMBER: (76..77) \"0\"\n ATMOSPHERE: (77..78) \"\n\"\n ATMOSPHERE: (78..147) \";; ^^ that one keeps the compiler happy. A file without statements is\"\n ATMOSPHERE: (147..148) \"\n\"\n ATMOSPHERE: (148..163) \";; \"undefined\".\"\n EOF: (163..163) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json b/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json deleted file mode 100644 index 622efca..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_comments_extended.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..534)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..121) \"#|\n The FACT procedure computes the factorial of a non-negative integer.\n|#\"\n ATMOSPHERE: (121..122) \"\n\"\n FORM: (122..507)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..129)\n IDENTIFIER: (123..129) \"define\"\n ATMOSPHERE: (129..130) \" \"\n SYMBOL: (130..134)\n IDENTIFIER: (130..134) \"fact\"\n ATMOSPHERE: (134..139) \"\n \"\n FORM: (139..506)\n OPEN_PAREN: (139..140) \"(\"\n SYMBOL: (140..146)\n IDENTIFIER: (140..146) \"lambda\"\n ATMOSPHERE: (146..147) \" \"\n FORM: (147..150)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..149)\n IDENTIFIER: (148..149) \"n\"\n CLOSE_PAREN: (149..150) \")\"\n ATMOSPHERE: (150..159) \"\n \"\n ATMOSPHERE: (159..216) \"; ; ~~~ Remove these when builtins are properly supported\"\n ATMOSPHERE: (216..225) \"\n \"\n ATMOSPHERE: (225..243) \"; (define (- x) x)\"\n ATMOSPHERE: (243..252) \"\n \"\n ATMOSPHERE: (252..270) \"; (define (= y) y)\"\n ATMOSPHERE: (270..279) \"\n \"\n ATMOSPHERE: (279..297) \"; (define (* z) z)\"\n ATMOSPHERE: (297..306) \"\n \"\n ATMOSPHERE: (306..356) \"; ; ~~~~ Remove when scopes are supported properly\"\n ATMOSPHERE: (356..365) \"\n \"\n ATMOSPHERE: (365..386) \"; (define (fact x) x)\"\n ATMOSPHERE: (386..396) \"\n\n \"\n FORM: (396..505)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..399)\n IDENTIFIER: (397..399) \"if\"\n ATMOSPHERE: (399..400) \" \"\n FORM: (400..407)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..402)\n IDENTIFIER: (401..402) \"=\"\n ATMOSPHERE: (402..403) \" \"\n SYMBOL: (403..404)\n IDENTIFIER: (403..404) \"n\"\n ATMOSPHERE: (404..405) \" \"\n CONSTANT: (405..406)\n NUMBER: (405..406) \"0\"\n CLOSE_PAREN: (406..407) \")\"\n ATMOSPHERE: (407..420) \"\n \"\n ATMOSPHERE: (420..442)\n ATMOSPHERE: (420..422) \"#;\"\n FORM: (422..429)\n OPEN_PAREN: (422..423) \"(\"\n SYMBOL: (423..424)\n IDENTIFIER: (423..424) \"=\"\n ATMOSPHERE: (424..425) \" \"\n SYMBOL: (425..426)\n IDENTIFIER: (425..426) \"n\"\n ATMOSPHERE: (426..427) \" \"\n CONSTANT: (427..428)\n NUMBER: (427..428) \"1\"\n CLOSE_PAREN: (428..429) \")\"\n ATMOSPHERE: (429..442) \"\n \"\n CONSTANT: (442..443)\n NUMBER: (442..443) \"1\"\n ATMOSPHERE: (443..451) \" \"\n ATMOSPHERE: (451..471) \";Base case: return 1\"\n ATMOSPHERE: (471..484) \"\n \"\n FORM: (484..504)\n OPEN_PAREN: (484..485) \"(\"\n SYMBOL: (485..486)\n IDENTIFIER: (485..486) \"*\"\n ATMOSPHERE: (486..487) \" \"\n SYMBOL: (487..488)\n IDENTIFIER: (487..488) \"n\"\n ATMOSPHERE: (488..489) \" \"\n FORM: (489..503)\n OPEN_PAREN: (489..490) \"(\"\n SYMBOL: (490..494)\n IDENTIFIER: (490..494) \"fact\"\n ATMOSPHERE: (494..495) \" \"\n FORM: (495..502)\n OPEN_PAREN: (495..496) \"(\"\n SYMBOL: (496..497)\n IDENTIFIER: (496..497) \"-\"\n ATMOSPHERE: (497..498) \" \"\n SYMBOL: (498..499)\n IDENTIFIER: (498..499) \"n\"\n ATMOSPHERE: (499..500) \" \"\n CONSTANT: (500..501)\n NUMBER: (500..501) \"1\"\n CLOSE_PAREN: (501..502) \")\"\n CLOSE_PAREN: (502..503) \")\"\n CLOSE_PAREN: (503..504) \")\"\n CLOSE_PAREN: (504..505) \")\"\n CLOSE_PAREN: (505..506) \")\"\n CLOSE_PAREN: (506..507) \")\"\n ATMOSPHERE: (507..509) \"\n\n\"\n FORM: (509..527)\n OPEN_PAREN: (509..510) \"(\"\n SYMBOL: (510..517)\n IDENTIFIER: (510..517) \"display\"\n ATMOSPHERE: (517..518) \" \"\n FORM: (518..526)\n OPEN_PAREN: (518..519) \"(\"\n SYMBOL: (519..523)\n IDENTIFIER: (519..523) \"fact\"\n ATMOSPHERE: (523..524) \" \"\n CONSTANT: (524..525)\n NUMBER: (524..525) \"3\"\n CLOSE_PAREN: (525..526) \")\"\n CLOSE_PAREN: (526..527) \")\"\n ATMOSPHERE: (527..528) \" \"\n ATMOSPHERE: (528..534) \"; -> 6\"\n EOF: (534..534) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json b/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json deleted file mode 100644 index 93b21f6..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_conditions.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..707)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \"\n\"\n FORM: (212..318)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..220)\n IDENTIFIER: (213..220) \"display\"\n ATMOSPHERE: (220..221) \" \"\n FORM: (221..317)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..226)\n IDENTIFIER: (222..226) \"list\"\n ATMOSPHERE: (226..231) \"\n \"\n FORM: (231..246)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..236)\n IDENTIFIER: (232..236) \"when\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..239)\n BOOLEAN: (237..239) \"#t\"\n ATMOSPHERE: (239..240) \" \"\n CONSTANT: (240..241)\n NUMBER: (240..241) \"1\"\n ATMOSPHERE: (241..242) \" \"\n CONSTANT: (242..243)\n NUMBER: (242..243) \"2\"\n ATMOSPHERE: (243..244) \" \"\n CONSTANT: (244..245)\n NUMBER: (244..245) \"3\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..251) \"\n \"\n FORM: (251..266)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..256)\n IDENTIFIER: (252..256) \"when\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..259)\n BOOLEAN: (257..259) \"#f\"\n ATMOSPHERE: (259..260) \" \"\n QUOTED_DATUM: (260..265)\n QUOTE: (260..261) \"'\"\n SYMBOL: (261..265)\n IDENTIFIER: (261..265) \"fail\"\n CLOSE_PAREN: (265..266) \")\"\n ATMOSPHERE: (266..271) \"\n \"\n FORM: (271..288)\n OPEN_PAREN: (271..272) \"(\"\n SYMBOL: (272..278)\n IDENTIFIER: (272..278) \"unless\"\n ATMOSPHERE: (278..279) \" \"\n CONSTANT: (279..281)\n BOOLEAN: (279..281) \"#f\"\n ATMOSPHERE: (281..282) \" \"\n QUOTED_DATUM: (282..287)\n QUOTE: (282..283) \"'\"\n SYMBOL: (283..287)\n IDENTIFIER: (283..287) \"yarp\"\n CLOSE_PAREN: (287..288) \")\"\n ATMOSPHERE: (288..293) \"\n \"\n FORM: (293..311)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..300)\n IDENTIFIER: (294..300) \"unless\"\n ATMOSPHERE: (300..301) \" \"\n CONSTANT: (301..306)\n BOOLEAN: (301..306) \"#true\"\n ATMOSPHERE: (306..307) \" \"\n CONSTANT: (307..310)\n NUMBER: (307..310) \"123\"\n CLOSE_PAREN: (310..311) \")\"\n ATMOSPHERE: (311..316) \"\n \"\n CLOSE_PAREN: (316..317) \")\"\n CLOSE_PAREN: (317..318) \")\"\n ATMOSPHERE: (318..320) \"\n\n\"\n FORM: (320..366)\n OPEN_PAREN: (320..321) \"(\"\n SYMBOL: (321..328)\n IDENTIFIER: (321..328) \"display\"\n ATMOSPHERE: (328..333) \"\n \"\n FORM: (333..365)\n OPEN_PAREN: (333..334) \"(\"\n SYMBOL: (334..336)\n IDENTIFIER: (334..336) \"if\"\n ATMOSPHERE: (336..337) \" \"\n CONSTANT: (337..339)\n BOOLEAN: (337..339) \"#t\"\n ATMOSPHERE: (339..348) \"\n \"\n CONSTANT: (348..351)\n NUMBER: (348..351) \"255\"\n ATMOSPHERE: (351..360) \"\n \"\n CONSTANT: (360..364)\n NUMBER: (360..364) \"-123\"\n CLOSE_PAREN: (364..365) \")\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..368) \"\n\n\"\n ATMOSPHERE: (368..421) \";; Hello isn't #f, therefore we should return \"world\"\"\n ATMOSPHERE: (421..422) \"\n\"\n FORM: (422..475)\n OPEN_PAREN: (422..423) \"(\"\n SYMBOL: (423..430)\n IDENTIFIER: (423..430) \"display\"\n ATMOSPHERE: (430..435) \"\n \"\n FORM: (435..474)\n OPEN_PAREN: (435..436) \"(\"\n SYMBOL: (436..438)\n IDENTIFIER: (436..438) \"if\"\n ATMOSPHERE: (438..439) \" \"\n CONSTANT: (439..446)\n STRING: (439..446) \"\"hello\"\"\n ATMOSPHERE: (446..455) \"\n \"\n CONSTANT: (455..462)\n STRING: (455..462) \"\"world\"\"\n ATMOSPHERE: (462..471) \"\n \"\n CONSTANT: (471..473)\n NUMBER: (471..473) \"-2\"\n CLOSE_PAREN: (473..474) \")\"\n CLOSE_PAREN: (474..475) \")\"\n ATMOSPHERE: (475..485) \"\n \n\"\n FORM: (485..565)\n OPEN_PAREN: (485..486) \"(\"\n SYMBOL: (486..493)\n IDENTIFIER: (486..493) \"display\"\n ATMOSPHERE: (493..498) \"\n \"\n FORM: (498..564)\n OPEN_PAREN: (498..499) \"(\"\n SYMBOL: (499..503)\n IDENTIFIER: (499..503) \"cond\"\n ATMOSPHERE: (503..512) \"\n \"\n FORM: (512..523)\n OPEN_PAREN: (512..513) \"(\"\n CONSTANT: (513..515)\n BOOLEAN: (513..515) \"#f\"\n ATMOSPHERE: (515..516) \" \"\n QUOTED_DATUM: (516..522)\n QUOTE: (516..517) \"'\"\n SYMBOL: (517..522)\n IDENTIFIER: (517..522) \"false\"\n CLOSE_PAREN: (522..523) \")\"\n ATMOSPHERE: (523..532) \"\n \"\n FORM: (532..542)\n OPEN_PAREN: (532..533) \"(\"\n CONSTANT: (533..535)\n BOOLEAN: (533..535) \"#t\"\n ATMOSPHERE: (535..536) \" \"\n QUOTED_DATUM: (536..541)\n QUOTE: (536..537) \"'\"\n SYMBOL: (537..541)\n IDENTIFIER: (537..541) \"true\"\n CLOSE_PAREN: (541..542) \")\"\n ATMOSPHERE: (542..551) \"\n \"\n FORM: (551..563)\n OPEN_PAREN: (551..552) \"(\"\n SYMBOL: (552..556)\n IDENTIFIER: (552..556) \"else\"\n ATMOSPHERE: (556..557) \" \"\n QUOTED_DATUM: (557..562)\n QUOTE: (557..558) \"'\"\n SYMBOL: (558..562)\n IDENTIFIER: (558..562) \"fail\"\n CLOSE_PAREN: (562..563) \")\"\n CLOSE_PAREN: (563..564) \")\"\n CLOSE_PAREN: (564..565) \")\"\n ATMOSPHERE: (565..566) \"\n\"\n FORM: (566..625)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"display\"\n ATMOSPHERE: (574..579) \"\n \"\n FORM: (579..624)\n OPEN_PAREN: (579..580) \"(\"\n SYMBOL: (580..584)\n IDENTIFIER: (580..584) \"cond\"\n ATMOSPHERE: (584..593) \"\n \"\n FORM: (593..604)\n OPEN_PAREN: (593..594) \"(\"\n CONSTANT: (594..596)\n BOOLEAN: (594..596) \"#f\"\n ATMOSPHERE: (596..597) \" \"\n QUOTED_DATUM: (597..603)\n QUOTE: (597..598) \"'\"\n SYMBOL: (598..603)\n IDENTIFIER: (598..603) \"false\"\n CLOSE_PAREN: (603..604) \")\"\n ATMOSPHERE: (604..613) \"\n \"\n FORM: (613..623)\n OPEN_PAREN: (613..614) \"(\"\n CONSTANT: (614..616)\n BOOLEAN: (614..616) \"#t\"\n ATMOSPHERE: (616..617) \" \"\n QUOTED_DATUM: (617..622)\n QUOTE: (617..618) \"'\"\n SYMBOL: (618..622)\n IDENTIFIER: (618..622) \"true\"\n CLOSE_PAREN: (622..623) \")\"\n CLOSE_PAREN: (623..624) \")\"\n CLOSE_PAREN: (624..625) \")\"\n ATMOSPHERE: (625..626) \"\n\"\n FORM: (626..665)\n OPEN_PAREN: (626..627) \"(\"\n SYMBOL: (627..634)\n IDENTIFIER: (627..634) \"display\"\n ATMOSPHERE: (634..639) \"\n \"\n FORM: (639..664)\n OPEN_PAREN: (639..640) \"(\"\n SYMBOL: (640..644)\n IDENTIFIER: (640..644) \"cond\"\n ATMOSPHERE: (644..653) \"\n \"\n FORM: (653..663)\n OPEN_PAREN: (653..654) \"(\"\n SYMBOL: (654..658)\n IDENTIFIER: (654..658) \"else\"\n ATMOSPHERE: (658..659) \" \"\n QUOTED_DATUM: (659..662)\n QUOTE: (659..660) \"'\"\n SYMBOL: (660..662)\n IDENTIFIER: (660..662) \"ok\"\n CLOSE_PAREN: (662..663) \")\"\n CLOSE_PAREN: (663..664) \")\"\n CLOSE_PAREN: (664..665) \")\"\n ATMOSPHERE: (665..666) \"\n\"\n FORM: (666..706)\n OPEN_PAREN: (666..667) \"(\"\n SYMBOL: (667..674)\n IDENTIFIER: (667..674) \"display\"\n ATMOSPHERE: (674..679) \"\n \"\n FORM: (679..705)\n OPEN_PAREN: (679..680) \"(\"\n SYMBOL: (680..684)\n IDENTIFIER: (680..684) \"cond\"\n ATMOSPHERE: (684..694) \" \n \"\n FORM: (694..704)\n OPEN_PAREN: (694..695) \"(\"\n CONSTANT: (695..697)\n BOOLEAN: (695..697) \"#f\"\n ATMOSPHERE: (697..698) \" \"\n QUOTED_DATUM: (698..703)\n QUOTE: (698..699) \"'\"\n SYMBOL: (699..703)\n IDENTIFIER: (699..703) \"fail\"\n CLOSE_PAREN: (703..704) \")\"\n CLOSE_PAREN: (704..705) \")\"\n CLOSE_PAREN: (705..706) \")\"\n ATMOSPHERE: (706..707) \"\n\"\n EOF: (707..707) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json b/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json deleted file mode 100644 index c337493..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_cxr.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..265)\n FORM: (0..58)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..20)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..19)\n IDENTIFIER: (16..19) \"cxr\"\n CLOSE_PAREN: (19..20) \")\"\n ATMOSPHERE: (20..25) \"\n \"\n FORM: (25..38)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"scheme\"\n ATMOSPHERE: (32..33) \" \"\n SYMBOL: (33..37)\n IDENTIFIER: (33..37) \"base\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..43) \"\n \"\n FORM: (43..57)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"scheme\"\n ATMOSPHERE: (50..51) \" \"\n SYMBOL: (51..56)\n IDENTIFIER: (51..56) \"write\"\n CLOSE_PAREN: (56..57) \")\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..60) \"\n\n\"\n FORM: (60..119)\n OPEN_PAREN: (60..61) \"(\"\n SYMBOL: (61..67)\n IDENTIFIER: (61..67) \"define\"\n ATMOSPHERE: (67..68) \" \"\n SYMBOL: (68..77)\n IDENTIFIER: (68..77) \"test-list\"\n ATMOSPHERE: (77..78) \" \"\n QUOTED_DATUM: (78..118)\n QUOTE: (78..79) \"'\"\n FORM: (79..118)\n OPEN_PAREN: (79..80) \"(\"\n ATMOSPHERE: (80..85) \"\n \"\n FORM: (85..92)\n OPEN_PAREN: (85..86) \"(\"\n CONSTANT: (86..87)\n NUMBER: (86..87) \"1\"\n ATMOSPHERE: (87..88) \" \"\n CONSTANT: (88..89)\n NUMBER: (88..89) \"2\"\n ATMOSPHERE: (89..90) \" \"\n CONSTANT: (90..91)\n NUMBER: (90..91) \"3\"\n CLOSE_PAREN: (91..92) \")\"\n ATMOSPHERE: (92..97) \"\n \"\n FORM: (97..104)\n OPEN_PAREN: (97..98) \"(\"\n CONSTANT: (98..99)\n NUMBER: (98..99) \"4\"\n ATMOSPHERE: (99..100) \" \"\n CONSTANT: (100..101)\n NUMBER: (100..101) \"5\"\n ATMOSPHERE: (101..102) \" \"\n CONSTANT: (102..103)\n NUMBER: (102..103) \"6\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..109) \"\n \"\n FORM: (109..116)\n OPEN_PAREN: (109..110) \"(\"\n CONSTANT: (110..111)\n NUMBER: (110..111) \"7\"\n ATMOSPHERE: (111..112) \" \"\n CONSTANT: (112..113)\n NUMBER: (112..113) \"8\"\n ATMOSPHERE: (113..114) \" \"\n CONSTANT: (114..115)\n NUMBER: (114..115) \"9\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..117) \"\n\"\n CLOSE_PAREN: (117..118) \")\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..121) \"\n\n\"\n FORM: (121..147)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..129)\n IDENTIFIER: (122..129) \"display\"\n ATMOSPHERE: (129..130) \" \"\n FORM: (130..146)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..135)\n IDENTIFIER: (131..135) \"caar\"\n ATMOSPHERE: (135..136) \" \"\n SYMBOL: (136..145)\n IDENTIFIER: (136..145) \"test-list\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n FORM: (147..156)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..155)\n IDENTIFIER: (148..155) \"newline\"\n CLOSE_PAREN: (155..156) \")\"\n ATMOSPHERE: (156..157) \"\n\"\n FORM: (157..183)\n OPEN_PAREN: (157..158) \"(\"\n SYMBOL: (158..165)\n IDENTIFIER: (158..165) \"display\"\n ATMOSPHERE: (165..166) \" \"\n FORM: (166..182)\n OPEN_PAREN: (166..167) \"(\"\n SYMBOL: (167..171)\n IDENTIFIER: (167..171) \"cadr\"\n ATMOSPHERE: (171..172) \" \"\n SYMBOL: (172..181)\n IDENTIFIER: (172..181) \"test-list\"\n CLOSE_PAREN: (181..182) \")\"\n CLOSE_PAREN: (182..183) \")\"\n FORM: (183..192)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"newline\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..193) \"\n\"\n FORM: (193..219)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..218)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..207)\n IDENTIFIER: (203..207) \"cdar\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..217)\n IDENTIFIER: (208..217) \"test-list\"\n CLOSE_PAREN: (217..218) \")\"\n CLOSE_PAREN: (218..219) \")\"\n FORM: (219..228)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..227)\n IDENTIFIER: (220..227) \"newline\"\n CLOSE_PAREN: (227..228) \")\"\n ATMOSPHERE: (228..229) \"\n\"\n FORM: (229..255)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..237)\n IDENTIFIER: (230..237) \"display\"\n ATMOSPHERE: (237..238) \" \"\n FORM: (238..254)\n OPEN_PAREN: (238..239) \"(\"\n SYMBOL: (239..243)\n IDENTIFIER: (239..243) \"cddr\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..253)\n IDENTIFIER: (244..253) \"test-list\"\n CLOSE_PAREN: (253..254) \")\"\n CLOSE_PAREN: (254..255) \")\"\n FORM: (255..264)\n OPEN_PAREN: (255..256) \"(\"\n SYMBOL: (256..263)\n IDENTIFIER: (256..263) \"newline\"\n CLOSE_PAREN: (263..264) \")\"\n ATMOSPHERE: (264..265) \"\n\"\n EOF: (265..265) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json b/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json deleted file mode 100644 index c408c04..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_define-and-assign.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..115)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n SYMBOL: (50..51)\n IDENTIFIER: (50..51) \"x\"\n ATMOSPHERE: (51..52) \" \"\n CONSTANT: (52..53)\n NUMBER: (52..53) \"2\"\n CLOSE_PAREN: (53..54) \")\"\n ATMOSPHERE: (54..55) \"\n\"\n FORM: (55..72)\n OPEN_PAREN: (55..56) \"(\"\n SYMBOL: (56..63)\n IDENTIFIER: (56..63) \"display\"\n ATMOSPHERE: (63..64) \" \"\n FORM: (64..71)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..66)\n IDENTIFIER: (65..66) \"+\"\n ATMOSPHERE: (66..67) \" \"\n SYMBOL: (67..68)\n IDENTIFIER: (67..68) \"x\"\n ATMOSPHERE: (68..69) \" \"\n CONSTANT: (69..70)\n NUMBER: (69..70) \"1\"\n CLOSE_PAREN: (70..71) \")\"\n CLOSE_PAREN: (71..72) \")\"\n ATMOSPHERE: (72..73) \" \"\n ATMOSPHERE: (73..79) \"; => 3\"\n ATMOSPHERE: (79..80) \"\n\"\n FORM: (80..90)\n OPEN_PAREN: (80..81) \"(\"\n SYMBOL: (81..85)\n IDENTIFIER: (81..85) \"set!\"\n ATMOSPHERE: (85..86) \" \"\n SYMBOL: (86..87)\n IDENTIFIER: (86..87) \"x\"\n ATMOSPHERE: (87..88) \" \"\n CONSTANT: (88..89)\n NUMBER: (88..89) \"4\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \"\n\"\n FORM: (91..108)\n OPEN_PAREN: (91..92) \"(\"\n SYMBOL: (92..99)\n IDENTIFIER: (92..99) \"display\"\n ATMOSPHERE: (99..100) \" \"\n FORM: (100..107)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..102)\n IDENTIFIER: (101..102) \"+\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"x\"\n ATMOSPHERE: (104..105) \" \"\n CONSTANT: (105..106)\n NUMBER: (105..106) \"1\"\n CLOSE_PAREN: (106..107) \")\"\n CLOSE_PAREN: (107..108) \")\"\n ATMOSPHERE: (108..109) \" \"\n ATMOSPHERE: (109..115) \"; => 5\"\n EOF: (115..115) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json b/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json deleted file mode 100644 index dc8de64..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_display-utils.sld.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..253)\n FORM: (0..252)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..38)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..24)\n IDENTIFIER: (17..24) \"example\"\n ATMOSPHERE: (24..25) \" \"\n SYMBOL: (25..37)\n IDENTIFIER: (25..37) \"displayutils\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..40) \"\n\t\"\n FORM: (40..60)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..47)\n IDENTIFIER: (41..47) \"export\"\n ATMOSPHERE: (47..48) \" \"\n SYMBOL: (48..59)\n IDENTIFIER: (48..59) \"display-all\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..62) \"\n\t\"\n FORM: (62..101)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..69)\n IDENTIFIER: (63..69) \"import\"\n ATMOSPHERE: (69..70) \" \"\n FORM: (70..83)\n OPEN_PAREN: (70..71) \"(\"\n SYMBOL: (71..77)\n IDENTIFIER: (71..77) \"scheme\"\n ATMOSPHERE: (77..78) \" \"\n SYMBOL: (78..82)\n IDENTIFIER: (78..82) \"base\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..86) \"\n\t\t\"\n FORM: (86..100)\n OPEN_PAREN: (86..87) \"(\"\n SYMBOL: (87..93)\n IDENTIFIER: (87..93) \"scheme\"\n ATMOSPHERE: (93..94) \" \"\n SYMBOL: (94..99)\n IDENTIFIER: (94..99) \"write\"\n CLOSE_PAREN: (99..100) \")\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..103) \"\n\t\"\n FORM: (103..251)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..109)\n IDENTIFIER: (104..109) \"begin\"\n ATMOSPHERE: (109..112) \"\n\t\t\"\n FORM: (112..250)\n OPEN_PAREN: (112..113) \"(\"\n SYMBOL: (113..119)\n IDENTIFIER: (113..119) \"define\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..140)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..132)\n IDENTIFIER: (121..132) \"display-all\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"things\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..144) \"\n\t\t\t\"\n FORM: (144..249)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..147)\n IDENTIFIER: (145..147) \"if\"\n ATMOSPHERE: (147..148) \" \"\n FORM: (148..162)\n OPEN_PAREN: (148..149) \"(\"\n SYMBOL: (149..154)\n IDENTIFIER: (149..154) \"null?\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..161)\n IDENTIFIER: (155..161) \"things\"\n CLOSE_PAREN: (161..162) \")\"\n ATMOSPHERE: (162..167) \"\n\t\t\t\t\"\n FORM: (167..176)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"newline\"\n CLOSE_PAREN: (175..176) \")\"\n ATMOSPHERE: (176..181) \"\n\t\t\t\t\"\n FORM: (181..248)\n OPEN_PAREN: (181..182) \"(\"\n SYMBOL: (182..187)\n IDENTIFIER: (182..187) \"begin\"\n ATMOSPHERE: (187..193) \"\n\t\t\t\t\t\"\n FORM: (193..215)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..214)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..206)\n IDENTIFIER: (203..206) \"car\"\n ATMOSPHERE: (206..207) \" \"\n SYMBOL: (207..213)\n IDENTIFIER: (207..213) \"things\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..221) \"\n\t\t\t\t\t\"\n FORM: (221..247)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..233)\n IDENTIFIER: (222..233) \"display-all\"\n ATMOSPHERE: (233..234) \" \"\n FORM: (234..246)\n OPEN_PAREN: (234..235) \"(\"\n SYMBOL: (235..238)\n IDENTIFIER: (235..238) \"cdr\"\n ATMOSPHERE: (238..239) \" \"\n SYMBOL: (239..245)\n IDENTIFIER: (239..245) \"things\"\n CLOSE_PAREN: (245..246) \")\"\n CLOSE_PAREN: (246..247) \")\"\n CLOSE_PAREN: (247..248) \")\"\n CLOSE_PAREN: (248..249) \")\"\n CLOSE_PAREN: (249..250) \")\"\n CLOSE_PAREN: (250..251) \")\"\n CLOSE_PAREN: (251..252) \")\"\n ATMOSPHERE: (252..253) \"\n\"\n EOF: (253..253) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_display.scm.json b/test/Feersum.Tests/_snapshots/Parse_display.scm.json deleted file mode 100644 index db6786f..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_display.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..255)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n CONSTANT: (51..53)\n STRING: (51..53) \"\"\"\"\n CLOSE_PAREN: (53..54) \")\"\n FORM: (54..63)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..62)\n IDENTIFIER: (55..62) \"newline\"\n CLOSE_PAREN: (62..63) \")\"\n ATMOSPHERE: (63..64) \" \"\n ATMOSPHERE: (64..69) \"; => \"\n ATMOSPHERE: (69..70) \"\n\"\n FORM: (70..82)\n OPEN_PAREN: (70..71) \"(\"\n SYMBOL: (71..78)\n IDENTIFIER: (71..78) \"display\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..81)\n OPEN_PAREN: (79..80) \"(\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n FORM: (82..91)\n OPEN_PAREN: (82..83) \"(\"\n SYMBOL: (83..90)\n IDENTIFIER: (83..90) \"newline\"\n CLOSE_PAREN: (90..91) \")\"\n ATMOSPHERE: (91..92) \" \"\n ATMOSPHERE: (92..96) \"; =>\"\n ATMOSPHERE: (96..97) \"\n\"\n FORM: (97..110)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..105)\n IDENTIFIER: (98..105) \"display\"\n ATMOSPHERE: (105..106) \" \"\n CONSTANT: (106..109)\n NUMBER: (106..109) \"123\"\n CLOSE_PAREN: (109..110) \")\"\n FORM: (110..119)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..118)\n IDENTIFIER: (111..118) \"newline\"\n CLOSE_PAREN: (118..119) \")\"\n ATMOSPHERE: (119..120) \" \"\n ATMOSPHERE: (120..128) \"; => 123\"\n ATMOSPHERE: (128..129) \"\n\"\n FORM: (129..152)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..137)\n IDENTIFIER: (130..137) \"display\"\n ATMOSPHERE: (137..138) \" \"\n CONSTANT: (138..151)\n STRING: (138..151) \"\"Hello World\"\"\n CLOSE_PAREN: (151..152) \")\"\n FORM: (152..165)\n OPEN_PAREN: (152..153) \"(\"\n SYMBOL: (153..160)\n IDENTIFIER: (153..160) \"display\"\n ATMOSPHERE: (160..161) \" \"\n CONSTANT: (161..164)\n CHARACTER: (161..164) \"#\\!\"\n CLOSE_PAREN: (164..165) \")\"\n FORM: (165..174)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..173)\n IDENTIFIER: (166..173) \"newline\"\n CLOSE_PAREN: (173..174) \")\"\n ATMOSPHERE: (174..175) \" \"\n ATMOSPHERE: (175..192) \"; => Hello World!\"\n ATMOSPHERE: (192..193) \"\n\"\n FORM: (193..240)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n QUOTED_DATUM: (202..239)\n QUOTE: (202..203) \"'\"\n FORM: (203..239)\n OPEN_PAREN: (203..204) \"(\"\n CONSTANT: (204..238)\n STRING: (204..238) \"\"I \\\" need \\v some \\x00; escaping\"\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n FORM: (240..249)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..248)\n IDENTIFIER: (241..248) \"newline\"\n CLOSE_PAREN: (248..249) \")\"\n ATMOSPHERE: (249..250) \" \"\n ATMOSPHERE: (250..255) \"; => \"\n EOF: (255..255) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json b/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json deleted file mode 100644 index 35cbb57..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_dragons.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..1158)\n FORM: (0..1127)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..24)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..23)\n IDENTIFIER: (17..23) \"dragon\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..29) \"\n \"\n FORM: (29..70)\n OPEN_PAREN: (29..30) \"(\"\n SYMBOL: (30..36)\n IDENTIFIER: (30..36) \"import\"\n ATMOSPHERE: (36..37) \" \"\n FORM: (37..50)\n OPEN_PAREN: (37..38) \"(\"\n SYMBOL: (38..44)\n IDENTIFIER: (38..44) \"scheme\"\n ATMOSPHERE: (44..45) \" \"\n SYMBOL: (45..49)\n IDENTIFIER: (45..49) \"base\"\n CLOSE_PAREN: (49..50) \")\"\n ATMOSPHERE: (50..55) \"\n \"\n FORM: (55..69)\n OPEN_PAREN: (55..56) \"(\"\n SYMBOL: (56..62)\n IDENTIFIER: (56..62) \"scheme\"\n ATMOSPHERE: (62..63) \" \"\n SYMBOL: (63..68)\n IDENTIFIER: (63..68) \"write\"\n CLOSE_PAREN: (68..69) \")\"\n CLOSE_PAREN: (69..70) \")\"\n ATMOSPHERE: (70..75) \"\n \"\n FORM: (75..90)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..82)\n IDENTIFIER: (76..82) \"export\"\n ATMOSPHERE: (82..83) \" \"\n SYMBOL: (83..89)\n IDENTIFIER: (83..89) \"dragon\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..95) \"\n \"\n FORM: (95..1126)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..101)\n IDENTIFIER: (96..101) \"begin\"\n ATMOSPHERE: (101..111) \"\n\n \"\n FORM: (111..295)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..118)\n IDENTIFIER: (112..118) \"define\"\n ATMOSPHERE: (118..119) \" \"\n FORM: (119..136)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..127)\n IDENTIFIER: (120..127) \"command\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"cmd\"\n ATMOSPHERE: (131..132) \" \"\n SYMBOL: (132..135)\n IDENTIFIER: (132..135) \"arg\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..149) \"\n \"\n FORM: (149..168)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..157)\n IDENTIFIER: (150..157) \"display\"\n ATMOSPHERE: (157..158) \" \"\n CONSTANT: (158..167)\n STRING: (158..167) \"\"turtle.\"\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..181) \"\n \"\n FORM: (181..194)\n OPEN_PAREN: (181..182) \"(\"\n SYMBOL: (182..189)\n IDENTIFIER: (182..189) \"display\"\n ATMOSPHERE: (189..190) \" \"\n SYMBOL: (190..193)\n IDENTIFIER: (190..193) \"cmd\"\n CLOSE_PAREN: (193..194) \")\"\n ATMOSPHERE: (194..207) \"\n \"\n FORM: (207..220)\n OPEN_PAREN: (207..208) \"(\"\n SYMBOL: (208..215)\n IDENTIFIER: (208..215) \"display\"\n ATMOSPHERE: (215..216) \" \"\n CONSTANT: (216..219)\n STRING: (216..219) \"\"(\"\"\n CLOSE_PAREN: (219..220) \")\"\n ATMOSPHERE: (220..233) \"\n \"\n FORM: (233..246)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..241)\n IDENTIFIER: (234..241) \"display\"\n ATMOSPHERE: (241..242) \" \"\n SYMBOL: (242..245)\n IDENTIFIER: (242..245) \"arg\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..259) \"\n \"\n FORM: (259..272)\n OPEN_PAREN: (259..260) \"(\"\n SYMBOL: (260..267)\n IDENTIFIER: (260..267) \"display\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..271)\n STRING: (268..271) \"\")\"\"\n CLOSE_PAREN: (271..272) \")\"\n ATMOSPHERE: (272..285) \"\n \"\n FORM: (285..294)\n OPEN_PAREN: (285..286) \"(\"\n SYMBOL: (286..293)\n IDENTIFIER: (286..293) \"newline\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..305) \"\n\n \"\n FORM: (305..476)\n OPEN_PAREN: (305..306) \"(\"\n SYMBOL: (306..312)\n IDENTIFIER: (306..312) \"define\"\n ATMOSPHERE: (312..313) \" \"\n FORM: (313..319)\n OPEN_PAREN: (313..314) \"(\"\n SYMBOL: (314..318)\n IDENTIFIER: (314..318) \"init\"\n CLOSE_PAREN: (318..319) \")\"\n ATMOSPHERE: (319..332) \"\n \"\n FORM: (332..357)\n OPEN_PAREN: (332..333) \"(\"\n SYMBOL: (333..340)\n IDENTIFIER: (333..340) \"display\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..356)\n STRING: (341..356) \"\"import turtle\"\"\n CLOSE_PAREN: (356..357) \")\"\n FORM: (357..366)\n OPEN_PAREN: (357..358) \"(\"\n SYMBOL: (358..365)\n IDENTIFIER: (358..365) \"newline\"\n CLOSE_PAREN: (365..366) \")\"\n ATMOSPHERE: (366..379) \"\n \"\n FORM: (379..398)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..387)\n IDENTIFIER: (380..387) \"command\"\n ATMOSPHERE: (387..388) \" \"\n CONSTANT: (388..395)\n STRING: (388..395) \"\"speed\"\"\n ATMOSPHERE: (395..396) \" \"\n CONSTANT: (396..397)\n NUMBER: (396..397) \"0\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..411) \"\n \"\n FORM: (411..437)\n OPEN_PAREN: (411..412) \"(\"\n SYMBOL: (412..419)\n IDENTIFIER: (412..419) \"command\"\n ATMOSPHERE: (419..420) \" \"\n CONSTANT: (420..428)\n STRING: (420..428) \"\"tracer\"\"\n ATMOSPHERE: (428..429) \" \"\n CONSTANT: (429..436)\n STRING: (429..436) \"\"False\"\"\n CLOSE_PAREN: (436..437) \")\"\n ATMOSPHERE: (437..450) \"\n \"\n FORM: (450..475)\n OPEN_PAREN: (450..451) \"(\"\n SYMBOL: (451..458)\n IDENTIFIER: (451..458) \"command\"\n ATMOSPHERE: (458..459) \" \"\n CONSTANT: (459..471)\n STRING: (459..471) \"\"showturtle\"\"\n ATMOSPHERE: (471..472) \" \"\n CONSTANT: (472..474)\n STRING: (472..474) \"\"\"\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n ATMOSPHERE: (476..486) \"\n\n \"\n FORM: (486..537)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..493)\n IDENTIFIER: (487..493) \"define\"\n ATMOSPHERE: (493..494) \" \"\n FORM: (494..504)\n OPEN_PAREN: (494..495) \"(\"\n SYMBOL: (495..503)\n IDENTIFIER: (495..503) \"finalise\"\n CLOSE_PAREN: (503..504) \")\"\n ATMOSPHERE: (504..517) \"\n \"\n FORM: (517..536)\n OPEN_PAREN: (517..518) \"(\"\n SYMBOL: (518..525)\n IDENTIFIER: (518..525) \"command\"\n ATMOSPHERE: (525..526) \" \"\n CONSTANT: (526..532)\n STRING: (526..532) \"\"done\"\"\n ATMOSPHERE: (532..533) \" \"\n CONSTANT: (533..535)\n STRING: (533..535) \"\"\"\"\n CLOSE_PAREN: (535..536) \")\"\n CLOSE_PAREN: (536..537) \")\"\n ATMOSPHERE: (537..548) \"\n\n\n \"\n FORM: (548..953)\n OPEN_PAREN: (548..549) \"(\"\n SYMBOL: (549..555)\n IDENTIFIER: (549..555) \"define\"\n ATMOSPHERE: (555..556) \" \"\n FORM: (556..583)\n OPEN_PAREN: (556..557) \"(\"\n SYMBOL: (557..568)\n IDENTIFIER: (557..568) \"dragon-iter\"\n ATMOSPHERE: (568..569) \" \"\n SYMBOL: (569..573)\n IDENTIFIER: (569..573) \"iter\"\n ATMOSPHERE: (573..574) \" \"\n SYMBOL: (574..578)\n IDENTIFIER: (574..578) \"size\"\n ATMOSPHERE: (578..579) \" \"\n SYMBOL: (579..582)\n IDENTIFIER: (579..582) \"dir\"\n CLOSE_PAREN: (582..583) \")\"\n ATMOSPHERE: (583..596) \"\n \"\n FORM: (596..952)\n OPEN_PAREN: (596..597) \"(\"\n SYMBOL: (597..599)\n IDENTIFIER: (597..599) \"if\"\n ATMOSPHERE: (599..600) \" \"\n FORM: (600..610)\n OPEN_PAREN: (600..601) \"(\"\n SYMBOL: (601..602)\n IDENTIFIER: (601..602) \"=\"\n ATMOSPHERE: (602..603) \" \"\n CONSTANT: (603..604)\n NUMBER: (603..604) \"0\"\n ATMOSPHERE: (604..605) \" \"\n SYMBOL: (605..609)\n IDENTIFIER: (605..609) \"iter\"\n CLOSE_PAREN: (609..610) \")\"\n ATMOSPHERE: (610..627) \"\n \"\n FORM: (627..646)\n OPEN_PAREN: (627..628) \"(\"\n SYMBOL: (628..635)\n IDENTIFIER: (628..635) \"command\"\n ATMOSPHERE: (635..636) \" \"\n CONSTANT: (636..640)\n STRING: (636..640) \"\"fd\"\"\n ATMOSPHERE: (640..641) \" \"\n SYMBOL: (641..645)\n IDENTIFIER: (641..645) \"size\"\n CLOSE_PAREN: (645..646) \")\"\n ATMOSPHERE: (646..663) \"\n \"\n FORM: (663..951)\n OPEN_PAREN: (663..664) \"(\"\n SYMBOL: (664..667)\n IDENTIFIER: (664..667) \"let\"\n ATMOSPHERE: (667..668) \" \"\n FORM: (668..796)\n OPEN_PAREN: (668..669) \"(\"\n FORM: (669..686)\n OPEN_PAREN: (669..670) \"(\"\n SYMBOL: (670..674)\n IDENTIFIER: (670..674) \"next\"\n ATMOSPHERE: (674..675) \" \"\n FORM: (675..685)\n OPEN_PAREN: (675..676) \"(\"\n SYMBOL: (676..677)\n IDENTIFIER: (676..677) \"-\"\n ATMOSPHERE: (677..678) \" \"\n SYMBOL: (678..682)\n IDENTIFIER: (678..682) \"iter\"\n ATMOSPHERE: (682..683) \" \"\n CONSTANT: (683..684)\n NUMBER: (683..684) \"1\"\n CLOSE_PAREN: (684..685) \")\"\n CLOSE_PAREN: (685..686) \")\"\n ATMOSPHERE: (686..709) \"\n \"\n FORM: (709..732)\n OPEN_PAREN: (709..710) \"(\"\n SYMBOL: (710..714)\n IDENTIFIER: (710..714) \"size\"\n ATMOSPHERE: (714..715) \" \"\n FORM: (715..731)\n OPEN_PAREN: (715..716) \"(\"\n SYMBOL: (716..717)\n IDENTIFIER: (716..717) \"*\"\n ATMOSPHERE: (717..718) \" \"\n SYMBOL: (718..722)\n IDENTIFIER: (718..722) \"size\"\n ATMOSPHERE: (722..723) \" \"\n CONSTANT: (723..730)\n NUMBER: (723..730) \"0.70711\"\n CLOSE_PAREN: (730..731) \")\"\n CLOSE_PAREN: (731..732) \")\"\n ATMOSPHERE: (732..755) \"\n \"\n FORM: (755..795)\n OPEN_PAREN: (755..756) \"(\"\n SYMBOL: (756..763)\n IDENTIFIER: (756..763) \"turncmd\"\n ATMOSPHERE: (763..764) \" \"\n FORM: (764..794)\n OPEN_PAREN: (764..765) \"(\"\n SYMBOL: (765..767)\n IDENTIFIER: (765..767) \"if\"\n ATMOSPHERE: (767..768) \" \"\n FORM: (768..783)\n OPEN_PAREN: (768..769) \"(\"\n SYMBOL: (769..772)\n IDENTIFIER: (769..772) \"eq?\"\n ATMOSPHERE: (772..773) \" \"\n SYMBOL: (773..776)\n IDENTIFIER: (773..776) \"dir\"\n ATMOSPHERE: (776..777) \" \"\n QUOTED_DATUM: (777..782)\n QUOTE: (777..778) \"'\"\n SYMBOL: (778..782)\n IDENTIFIER: (778..782) \"left\"\n CLOSE_PAREN: (782..783) \")\"\n ATMOSPHERE: (783..784) \" \"\n CONSTANT: (784..788)\n STRING: (784..788) \"\"lt\"\"\n ATMOSPHERE: (788..789) \" \"\n CONSTANT: (789..793)\n STRING: (789..793) \"\"rt\"\"\n CLOSE_PAREN: (793..794) \")\"\n CLOSE_PAREN: (794..795) \")\"\n CLOSE_PAREN: (795..796) \")\"\n ATMOSPHERE: (796..821) \"\n \"\n FORM: (821..850)\n OPEN_PAREN: (821..822) \"(\"\n SYMBOL: (822..833)\n IDENTIFIER: (822..833) \"dragon-iter\"\n ATMOSPHERE: (833..834) \" \"\n SYMBOL: (834..838)\n IDENTIFIER: (834..838) \"next\"\n ATMOSPHERE: (838..839) \" \"\n SYMBOL: (839..843)\n IDENTIFIER: (839..843) \"size\"\n ATMOSPHERE: (843..844) \" \"\n QUOTED_DATUM: (844..849)\n QUOTE: (844..845) \"'\"\n SYMBOL: (845..849)\n IDENTIFIER: (845..849) \"left\"\n CLOSE_PAREN: (849..850) \")\"\n ATMOSPHERE: (850..875) \"\n \"\n FORM: (875..895)\n OPEN_PAREN: (875..876) \"(\"\n SYMBOL: (876..883)\n IDENTIFIER: (876..883) \"command\"\n ATMOSPHERE: (883..884) \" \"\n SYMBOL: (884..891)\n IDENTIFIER: (884..891) \"turncmd\"\n ATMOSPHERE: (891..892) \" \"\n CONSTANT: (892..894)\n NUMBER: (892..894) \"90\"\n CLOSE_PAREN: (894..895) \")\"\n ATMOSPHERE: (895..920) \"\n \"\n FORM: (920..950)\n OPEN_PAREN: (920..921) \"(\"\n SYMBOL: (921..932)\n IDENTIFIER: (921..932) \"dragon-iter\"\n ATMOSPHERE: (932..933) \" \"\n SYMBOL: (933..937)\n IDENTIFIER: (933..937) \"next\"\n ATMOSPHERE: (937..938) \" \"\n SYMBOL: (938..942)\n IDENTIFIER: (938..942) \"size\"\n ATMOSPHERE: (942..943) \" \"\n QUOTED_DATUM: (943..949)\n QUOTE: (943..944) \"'\"\n SYMBOL: (944..949)\n IDENTIFIER: (944..949) \"right\"\n CLOSE_PAREN: (949..950) \")\"\n CLOSE_PAREN: (950..951) \")\"\n CLOSE_PAREN: (951..952) \")\"\n CLOSE_PAREN: (952..953) \")\"\n ATMOSPHERE: (953..963) \"\n\n \"\n FORM: (963..1107)\n OPEN_PAREN: (963..964) \"(\"\n SYMBOL: (964..970)\n IDENTIFIER: (964..970) \"define\"\n ATMOSPHERE: (970..971) \" \"\n FORM: (971..984)\n OPEN_PAREN: (971..972) \"(\"\n SYMBOL: (972..978)\n IDENTIFIER: (972..978) \"dragon\"\n ATMOSPHERE: (978..979) \" \"\n SYMBOL: (979..983)\n IDENTIFIER: (979..983) \"iter\"\n CLOSE_PAREN: (983..984) \")\"\n ATMOSPHERE: (984..997) \"\n \"\n FORM: (997..1003)\n OPEN_PAREN: (997..998) \"(\"\n SYMBOL: (998..1002)\n IDENTIFIER: (998..1002) \"init\"\n CLOSE_PAREN: (1002..1003) \")\"\n ATMOSPHERE: (1003..1016) \"\n \"\n FORM: (1016..1042)\n OPEN_PAREN: (1016..1017) \"(\"\n SYMBOL: (1017..1024)\n IDENTIFIER: (1017..1024) \"command\"\n ATMOSPHERE: (1024..1025) \" \"\n CONSTANT: (1025..1029)\n STRING: (1025..1029) \"\"rt\"\"\n ATMOSPHERE: (1029..1030) \" \"\n FORM: (1030..1041)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1032)\n IDENTIFIER: (1031..1032) \"*\"\n ATMOSPHERE: (1032..1033) \" \"\n CONSTANT: (1033..1035)\n NUMBER: (1033..1035) \"45\"\n ATMOSPHERE: (1035..1036) \" \"\n SYMBOL: (1036..1040)\n IDENTIFIER: (1036..1040) \"iter\"\n CLOSE_PAREN: (1040..1041) \")\"\n CLOSE_PAREN: (1041..1042) \")\"\n ATMOSPHERE: (1042..1055) \"\n \"\n FORM: (1055..1083)\n OPEN_PAREN: (1055..1056) \"(\"\n SYMBOL: (1056..1067)\n IDENTIFIER: (1056..1067) \"dragon-iter\"\n ATMOSPHERE: (1067..1068) \" \"\n SYMBOL: (1068..1072)\n IDENTIFIER: (1068..1072) \"iter\"\n ATMOSPHERE: (1072..1073) \" \"\n CONSTANT: (1073..1076)\n NUMBER: (1073..1076) \"450\"\n ATMOSPHERE: (1076..1077) \" \"\n QUOTED_DATUM: (1077..1082)\n QUOTE: (1077..1078) \"'\"\n SYMBOL: (1078..1082)\n IDENTIFIER: (1078..1082) \"left\"\n CLOSE_PAREN: (1082..1083) \")\"\n ATMOSPHERE: (1083..1096) \"\n \"\n FORM: (1096..1106)\n OPEN_PAREN: (1096..1097) \"(\"\n SYMBOL: (1097..1105)\n IDENTIFIER: (1097..1105) \"finalise\"\n CLOSE_PAREN: (1105..1106) \")\"\n CLOSE_PAREN: (1106..1107) \")\"\n ATMOSPHERE: (1107..1125) \"\n \n \"\n CLOSE_PAREN: (1125..1126) \")\"\n CLOSE_PAREN: (1126..1127) \")\"\n ATMOSPHERE: (1127..1129) \"\n\n\"\n FORM: (1129..1146)\n OPEN_PAREN: (1129..1130) \"(\"\n SYMBOL: (1130..1136)\n IDENTIFIER: (1130..1136) \"import\"\n ATMOSPHERE: (1136..1137) \" \"\n FORM: (1137..1145)\n OPEN_PAREN: (1137..1138) \"(\"\n SYMBOL: (1138..1144)\n IDENTIFIER: (1138..1144) \"dragon\"\n CLOSE_PAREN: (1144..1145) \")\"\n CLOSE_PAREN: (1145..1146) \")\"\n ATMOSPHERE: (1146..1148) \"\n\n\"\n FORM: (1148..1158)\n OPEN_PAREN: (1148..1149) \"(\"\n SYMBOL: (1149..1155)\n IDENTIFIER: (1149..1155) \"dragon\"\n ATMOSPHERE: (1155..1156) \" \"\n CONSTANT: (1156..1157)\n NUMBER: (1156..1157) \"3\"\n CLOSE_PAREN: (1157..1158) \")\"\n EOF: (1158..1158) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json b/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json deleted file mode 100644 index 06b09d0..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_envtest.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..272)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..41) \"\n\n\"\n FORM: (41..94)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"define\"\n ATMOSPHERE: (48..49) \" \"\n FORM: (49..56)\n OPEN_PAREN: (49..50) \"(\"\n SYMBOL: (50..53)\n IDENTIFIER: (50..53) \"foo\"\n ATMOSPHERE: (53..54) \" \"\n SYMBOL: (54..55)\n IDENTIFIER: (54..55) \"a\"\n CLOSE_PAREN: (55..56) \")\"\n ATMOSPHERE: (56..59) \"\n \"\n FORM: (59..87)\n OPEN_PAREN: (59..60) \"(\"\n SYMBOL: (60..66)\n IDENTIFIER: (60..66) \"define\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..71)\n IDENTIFIER: (68..71) \"bar\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"b\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..79) \"\n \"\n FORM: (79..86)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..81)\n IDENTIFIER: (80..81) \"+\"\n ATMOSPHERE: (81..82) \" \"\n SYMBOL: (82..83)\n IDENTIFIER: (82..83) \"a\"\n ATMOSPHERE: (83..84) \" \"\n SYMBOL: (84..85)\n IDENTIFIER: (84..85) \"b\"\n CLOSE_PAREN: (85..86) \")\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..90) \"\n \"\n SYMBOL: (90..93)\n IDENTIFIER: (90..93) \"bar\"\n CLOSE_PAREN: (93..94) \")\"\n ATMOSPHERE: (94..96) \"\n\n\"\n FORM: (96..119)\n OPEN_PAREN: (96..97) \"(\"\n SYMBOL: (97..104)\n IDENTIFIER: (97..104) \"display\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..118)\n OPEN_PAREN: (105..106) \"(\"\n FORM: (106..115)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..110)\n IDENTIFIER: (107..110) \"foo\"\n ATMOSPHERE: (110..111) \" \"\n CONSTANT: (111..114)\n NUMBER: (111..114) \"123\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..117)\n NUMBER: (116..117) \"4\"\n CLOSE_PAREN: (117..118) \")\"\n CLOSE_PAREN: (118..119) \")\"\n FORM: (119..128)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..127)\n IDENTIFIER: (120..127) \"newline\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..130) \"\n\n\"\n FORM: (130..240)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..137)\n IDENTIFIER: (131..137) \"define\"\n ATMOSPHERE: (137..138) \" \"\n FORM: (138..148)\n OPEN_PAREN: (138..139) \"(\"\n SYMBOL: (139..143)\n IDENTIFIER: (139..143) \"test\"\n ATMOSPHERE: (143..144) \" \"\n SYMBOL: (144..145)\n IDENTIFIER: (144..145) \"a\"\n ATMOSPHERE: (145..146) \" \"\n SYMBOL: (146..147)\n IDENTIFIER: (146..147) \"b\"\n CLOSE_PAREN: (147..148) \")\"\n ATMOSPHERE: (148..151) \"\n \"\n FORM: (151..226)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"define\"\n ATMOSPHERE: (158..159) \" \"\n FORM: (159..169)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..168)\n IDENTIFIER: (160..168) \"do-stuff\"\n CLOSE_PAREN: (168..169) \")\"\n ATMOSPHERE: (169..174) \"\n \"\n FORM: (174..209)\n OPEN_PAREN: (174..175) \"(\"\n SYMBOL: (175..181)\n IDENTIFIER: (175..181) \"define\"\n ATMOSPHERE: (181..182) \" \"\n FORM: (182..192)\n OPEN_PAREN: (182..183) \"(\"\n SYMBOL: (183..189)\n IDENTIFIER: (183..189) \"things\"\n ATMOSPHERE: (189..190) \" \"\n SYMBOL: (190..191)\n IDENTIFIER: (190..191) \"c\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..199) \"\n \"\n FORM: (199..208)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..201)\n IDENTIFIER: (200..201) \"+\"\n ATMOSPHERE: (201..202) \" \"\n SYMBOL: (202..203)\n IDENTIFIER: (202..203) \"a\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..205)\n IDENTIFIER: (204..205) \"b\"\n ATMOSPHERE: (205..206) \" \"\n SYMBOL: (206..207)\n IDENTIFIER: (206..207) \"c\"\n CLOSE_PAREN: (207..208) \")\"\n CLOSE_PAREN: (208..209) \")\"\n ATMOSPHERE: (209..214) \"\n \"\n FORM: (214..225)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..221)\n IDENTIFIER: (215..221) \"things\"\n ATMOSPHERE: (221..222) \" \"\n CONSTANT: (222..224)\n NUMBER: (222..224) \"12\"\n CLOSE_PAREN: (224..225) \")\"\n CLOSE_PAREN: (225..226) \")\"\n ATMOSPHERE: (226..229) \"\n \"\n FORM: (229..239)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..238)\n IDENTIFIER: (230..238) \"do-stuff\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..242) \"\n\n\"\n FORM: (242..262)\n OPEN_PAREN: (242..243) \"(\"\n SYMBOL: (243..250)\n IDENTIFIER: (243..250) \"display\"\n ATMOSPHERE: (250..251) \" \"\n FORM: (251..261)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..256)\n IDENTIFIER: (252..256) \"test\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..258)\n NUMBER: (257..258) \"1\"\n ATMOSPHERE: (258..259) \" \"\n CONSTANT: (259..260)\n NUMBER: (259..260) \"2\"\n CLOSE_PAREN: (260..261) \")\"\n CLOSE_PAREN: (261..262) \")\"\n FORM: (262..271)\n OPEN_PAREN: (262..263) \"(\"\n SYMBOL: (263..270)\n IDENTIFIER: (263..270) \"newline\"\n CLOSE_PAREN: (270..271) \")\"\n ATMOSPHERE: (271..272) \"\n\"\n EOF: (272..272) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json b/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json deleted file mode 100644 index ea8bf46..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_equivalence.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..2277)\n ATMOSPHERE: (0..62) \";; Tests for the Equivalence Predicates (section 6.1 of R7RS).\"\n ATMOSPHERE: (62..63) \"\n\"\n FORM: (63..104)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..70)\n IDENTIFIER: (64..70) \"import\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..84)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..78)\n IDENTIFIER: (72..78) \"scheme\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..83)\n IDENTIFIER: (79..83) \"base\"\n CLOSE_PAREN: (83..84) \")\"\n ATMOSPHERE: (84..89) \"\n \"\n FORM: (89..103)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..96)\n IDENTIFIER: (90..96) \"scheme\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..102)\n IDENTIFIER: (97..102) \"write\"\n CLOSE_PAREN: (102..103) \")\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..106) \"\n\n\"\n ATMOSPHERE: (106..128) \";; Trivial equivalence\"\n ATMOSPHERE: (128..129) \"\n\"\n FORM: (129..562)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..137)\n IDENTIFIER: (130..137) \"display\"\n ATMOSPHERE: (137..138) \" \"\n FORM: (138..561)\n OPEN_PAREN: (138..139) \"(\"\n SYMBOL: (139..143)\n IDENTIFIER: (139..143) \"list\"\n ATMOSPHERE: (143..149) \"\n\n \"\n FORM: (149..161)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..154)\n IDENTIFIER: (150..154) \"eqv?\"\n ATMOSPHERE: (154..155) \" \"\n QUOTED_DATUM: (155..158)\n QUOTE: (155..156) \"’\"\n SYMBOL: (156..157)\n IDENTIFIER: (156..157) \"a\"\n ATMOSPHERE: (157..158) \" \"\n QUOTED_DATUM: (158..160)\n QUOTE: (158..159) \"’\"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"a\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..162) \" \"\n ATMOSPHERE: (162..169) \"; ~> #t\"\n ATMOSPHERE: (169..174) \"\n \"\n FORM: (174..186)\n OPEN_PAREN: (174..175) \"(\"\n SYMBOL: (175..179)\n IDENTIFIER: (175..179) \"eqv?\"\n ATMOSPHERE: (179..180) \" \"\n QUOTED_DATUM: (180..183)\n QUOTE: (180..181) \"’\"\n SYMBOL: (181..182)\n IDENTIFIER: (181..182) \"a\"\n ATMOSPHERE: (182..183) \" \"\n QUOTED_DATUM: (183..185)\n QUOTE: (183..184) \"’\"\n SYMBOL: (184..185)\n IDENTIFIER: (184..185) \"b\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..187) \" \"\n ATMOSPHERE: (187..194) \"; ~> #f\"\n ATMOSPHERE: (194..199) \"\n \"\n FORM: (199..209)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..204)\n IDENTIFIER: (200..204) \"eqv?\"\n ATMOSPHERE: (204..205) \" \"\n CONSTANT: (205..206)\n NUMBER: (205..206) \"2\"\n ATMOSPHERE: (206..207) \" \"\n CONSTANT: (207..208)\n NUMBER: (207..208) \"2\"\n CLOSE_PAREN: (208..209) \")\"\n ATMOSPHERE: (209..210) \" \"\n ATMOSPHERE: (210..217) \"; ~> #t\"\n ATMOSPHERE: (217..222) \"\n \"\n FORM: (222..234)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..227)\n IDENTIFIER: (223..227) \"eqv?\"\n ATMOSPHERE: (227..228) \" \"\n CONSTANT: (228..229)\n NUMBER: (228..229) \"2\"\n ATMOSPHERE: (229..230) \" \"\n CONSTANT: (230..233)\n NUMBER: (230..233) \"2.0\"\n CLOSE_PAREN: (233..234) \")\"\n ATMOSPHERE: (234..235) \" \"\n ATMOSPHERE: (235..293) \"; ~> #f Should be false, but we don't do exact numbers :-/\"\n ATMOSPHERE: (293..298) \"\n \"\n FORM: (298..312)\n OPEN_PAREN: (298..299) \"(\"\n SYMBOL: (299..303)\n IDENTIFIER: (299..303) \"eqv?\"\n ATMOSPHERE: (303..304) \" \"\n QUOTED_DATUM: (304..308)\n QUOTE: (304..305) \"’\"\n FORM: (305..307)\n OPEN_PAREN: (305..306) \"(\"\n CLOSE_PAREN: (306..307) \")\"\n ATMOSPHERE: (307..308) \" \"\n QUOTED_DATUM: (308..311)\n QUOTE: (308..309) \"’\"\n FORM: (309..311)\n OPEN_PAREN: (309..310) \"(\"\n CLOSE_PAREN: (310..311) \")\"\n CLOSE_PAREN: (311..312) \")\"\n ATMOSPHERE: (312..313) \" \"\n ATMOSPHERE: (313..320) \"; ~> #t\"\n ATMOSPHERE: (320..325) \"\n \"\n FORM: (325..351)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..330)\n IDENTIFIER: (326..330) \"eqv?\"\n ATMOSPHERE: (330..331) \" \"\n CONSTANT: (331..340)\n NUMBER: (331..340) \"100000000\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..350)\n NUMBER: (341..350) \"100000000\"\n CLOSE_PAREN: (350..351) \")\"\n ATMOSPHERE: (351..352) \" \"\n ATMOSPHERE: (352..359) \"; ~> #t\"\n ATMOSPHERE: (359..364) \"\n \"\n ATMOSPHERE: (364..391) \"; (eqv? 0.0 +nan.0) ; ~> #f\"\n ATMOSPHERE: (391..396) \"\n \"\n FORM: (396..424)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..401)\n IDENTIFIER: (397..401) \"eqv?\"\n ATMOSPHERE: (401..402) \" \"\n FORM: (402..412)\n OPEN_PAREN: (402..403) \"(\"\n SYMBOL: (403..407)\n IDENTIFIER: (403..407) \"cons\"\n ATMOSPHERE: (407..408) \" \"\n CONSTANT: (408..409)\n NUMBER: (408..409) \"1\"\n ATMOSPHERE: (409..410) \" \"\n CONSTANT: (410..411)\n NUMBER: (410..411) \"2\"\n CLOSE_PAREN: (411..412) \")\"\n ATMOSPHERE: (412..413) \" \"\n FORM: (413..423)\n OPEN_PAREN: (413..414) \"(\"\n SYMBOL: (414..418)\n IDENTIFIER: (414..418) \"cons\"\n ATMOSPHERE: (418..419) \" \"\n CONSTANT: (419..420)\n NUMBER: (419..420) \"1\"\n ATMOSPHERE: (420..421) \" \"\n CONSTANT: (421..422)\n NUMBER: (421..422) \"2\"\n CLOSE_PAREN: (422..423) \")\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..425) \" \"\n ATMOSPHERE: (425..432) \"; ~> #f\"\n ATMOSPHERE: (432..437) \"\n \"\n FORM: (437..470)\n OPEN_PAREN: (437..438) \"(\"\n SYMBOL: (438..442)\n IDENTIFIER: (438..442) \"eqv?\"\n ATMOSPHERE: (442..443) \" \"\n FORM: (443..456)\n OPEN_PAREN: (443..444) \"(\"\n SYMBOL: (444..450)\n IDENTIFIER: (444..450) \"lambda\"\n ATMOSPHERE: (450..451) \" \"\n FORM: (451..453)\n OPEN_PAREN: (451..452) \"(\"\n CLOSE_PAREN: (452..453) \")\"\n ATMOSPHERE: (453..454) \" \"\n CONSTANT: (454..455)\n NUMBER: (454..455) \"1\"\n CLOSE_PAREN: (455..456) \")\"\n FORM: (456..469)\n OPEN_PAREN: (456..457) \"(\"\n SYMBOL: (457..463)\n IDENTIFIER: (457..463) \"lambda\"\n ATMOSPHERE: (463..464) \" \"\n FORM: (464..466)\n OPEN_PAREN: (464..465) \"(\"\n CLOSE_PAREN: (465..466) \")\"\n ATMOSPHERE: (466..467) \" \"\n CONSTANT: (467..468)\n NUMBER: (467..468) \"2\"\n CLOSE_PAREN: (468..469) \")\"\n CLOSE_PAREN: (469..470) \")\"\n ATMOSPHERE: (470..471) \" \"\n ATMOSPHERE: (471..478) \"; ~> #f\"\n ATMOSPHERE: (478..483) \"\n \"\n FORM: (483..519)\n OPEN_PAREN: (483..484) \"(\"\n SYMBOL: (484..487)\n IDENTIFIER: (484..487) \"let\"\n ATMOSPHERE: (487..488) \" \"\n FORM: (488..508)\n OPEN_PAREN: (488..489) \"(\"\n FORM: (489..507)\n OPEN_PAREN: (489..490) \"(\"\n SYMBOL: (490..491)\n IDENTIFIER: (490..491) \"p\"\n ATMOSPHERE: (491..492) \" \"\n FORM: (492..506)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..499)\n IDENTIFIER: (493..499) \"lambda\"\n ATMOSPHERE: (499..500) \" \"\n FORM: (500..503)\n OPEN_PAREN: (500..501) \"(\"\n SYMBOL: (501..502)\n IDENTIFIER: (501..502) \"x\"\n CLOSE_PAREN: (502..503) \")\"\n ATMOSPHERE: (503..504) \" \"\n SYMBOL: (504..505)\n IDENTIFIER: (504..505) \"x\"\n CLOSE_PAREN: (505..506) \")\"\n CLOSE_PAREN: (506..507) \")\"\n CLOSE_PAREN: (507..508) \")\"\n FORM: (508..518)\n OPEN_PAREN: (508..509) \"(\"\n SYMBOL: (509..513)\n IDENTIFIER: (509..513) \"eqv?\"\n ATMOSPHERE: (513..514) \" \"\n SYMBOL: (514..515)\n IDENTIFIER: (514..515) \"p\"\n ATMOSPHERE: (515..516) \" \"\n SYMBOL: (516..517)\n IDENTIFIER: (516..517) \"p\"\n CLOSE_PAREN: (517..518) \")\"\n CLOSE_PAREN: (518..519) \")\"\n ATMOSPHERE: (519..520) \" \"\n ATMOSPHERE: (520..527) \"; ~> #t\"\n ATMOSPHERE: (527..532) \"\n \"\n FORM: (532..546)\n OPEN_PAREN: (532..533) \"(\"\n SYMBOL: (533..537)\n IDENTIFIER: (533..537) \"eqv?\"\n ATMOSPHERE: (537..538) \" \"\n CONSTANT: (538..540)\n BOOLEAN: (538..540) \"#f\"\n ATMOSPHERE: (540..541) \" \"\n QUOTED_DATUM: (541..545)\n QUOTE: (541..542) \"’\"\n SYMBOL: (542..545)\n IDENTIFIER: (542..545) \"nil\"\n CLOSE_PAREN: (545..546) \")\"\n ATMOSPHERE: (546..547) \" \"\n ATMOSPHERE: (547..554) \"; ~> #f\"\n ATMOSPHERE: (554..560) \"\n\n \"\n CLOSE_PAREN: (560..561) \")\"\n CLOSE_PAREN: (561..562) \")\"\n FORM: (562..571)\n OPEN_PAREN: (562..563) \"(\"\n SYMBOL: (563..570)\n IDENTIFIER: (563..570) \"newline\"\n CLOSE_PAREN: (570..571) \")\"\n ATMOSPHERE: (571..573) \"\n\n\"\n ATMOSPHERE: (573..609) \";; implementaiton specified restults\"\n ATMOSPHERE: (609..610) \"\n\"\n FORM: (610..905)\n OPEN_PAREN: (610..611) \"(\"\n SYMBOL: (611..618)\n IDENTIFIER: (611..618) \"display\"\n ATMOSPHERE: (618..619) \" \"\n FORM: (619..904)\n OPEN_PAREN: (619..620) \"(\"\n SYMBOL: (620..624)\n IDENTIFIER: (620..624) \"list\"\n ATMOSPHERE: (624..630) \"\n\n \"\n FORM: (630..642)\n OPEN_PAREN: (630..631) \"(\"\n SYMBOL: (631..635)\n IDENTIFIER: (631..635) \"eqv?\"\n ATMOSPHERE: (635..636) \" \"\n CONSTANT: (636..638)\n STRING: (636..638) \"\"\"\"\n ATMOSPHERE: (638..639) \" \"\n CONSTANT: (639..641)\n STRING: (639..641) \"\"\"\"\n CLOSE_PAREN: (641..642) \")\"\n ATMOSPHERE: (642..643) \" \"\n ATMOSPHERE: (643..659) \"; ~> unspecified\"\n ATMOSPHERE: (659..664) \"\n \"\n FORM: (664..680)\n OPEN_PAREN: (664..665) \"(\"\n SYMBOL: (665..669)\n IDENTIFIER: (665..669) \"eqv?\"\n ATMOSPHERE: (669..670) \" \"\n QUOTED_DATUM: (670..675)\n QUOTE: (670..671) \"’\"\n VEC: (671..674)\n OPEN_PAREN: (671..673) \"#(\"\n CLOSE_PAREN: (673..674) \")\"\n ATMOSPHERE: (674..675) \" \"\n QUOTED_DATUM: (675..679)\n QUOTE: (675..676) \"’\"\n VEC: (676..679)\n OPEN_PAREN: (676..678) \"#(\"\n CLOSE_PAREN: (678..679) \")\"\n CLOSE_PAREN: (679..680) \")\"\n ATMOSPHERE: (680..681) \" \"\n ATMOSPHERE: (681..697) \"; ~> unspecified\"\n ATMOSPHERE: (697..702) \"\n \"\n FORM: (702..737)\n OPEN_PAREN: (702..703) \"(\"\n SYMBOL: (703..707)\n IDENTIFIER: (703..707) \"eqv?\"\n ATMOSPHERE: (707..708) \" \"\n FORM: (708..722)\n OPEN_PAREN: (708..709) \"(\"\n SYMBOL: (709..715)\n IDENTIFIER: (709..715) \"lambda\"\n ATMOSPHERE: (715..716) \" \"\n FORM: (716..719)\n OPEN_PAREN: (716..717) \"(\"\n SYMBOL: (717..718)\n IDENTIFIER: (717..718) \"x\"\n CLOSE_PAREN: (718..719) \")\"\n ATMOSPHERE: (719..720) \" \"\n SYMBOL: (720..721)\n IDENTIFIER: (720..721) \"x\"\n CLOSE_PAREN: (721..722) \")\"\n FORM: (722..736)\n OPEN_PAREN: (722..723) \"(\"\n SYMBOL: (723..729)\n IDENTIFIER: (723..729) \"lambda\"\n ATMOSPHERE: (729..730) \" \"\n FORM: (730..733)\n OPEN_PAREN: (730..731) \"(\"\n SYMBOL: (731..732)\n IDENTIFIER: (731..732) \"x\"\n CLOSE_PAREN: (732..733) \")\"\n ATMOSPHERE: (733..734) \" \"\n SYMBOL: (734..735)\n IDENTIFIER: (734..735) \"x\"\n CLOSE_PAREN: (735..736) \")\"\n CLOSE_PAREN: (736..737) \")\"\n ATMOSPHERE: (737..738) \" \"\n ATMOSPHERE: (738..754) \"; ~> unspecified\"\n ATMOSPHERE: (754..759) \"\n \"\n FORM: (759..794)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..764)\n IDENTIFIER: (760..764) \"eqv?\"\n ATMOSPHERE: (764..765) \" \"\n FORM: (765..779)\n OPEN_PAREN: (765..766) \"(\"\n SYMBOL: (766..772)\n IDENTIFIER: (766..772) \"lambda\"\n ATMOSPHERE: (772..773) \" \"\n FORM: (773..776)\n OPEN_PAREN: (773..774) \"(\"\n SYMBOL: (774..775)\n IDENTIFIER: (774..775) \"x\"\n CLOSE_PAREN: (775..776) \")\"\n ATMOSPHERE: (776..777) \" \"\n SYMBOL: (777..778)\n IDENTIFIER: (777..778) \"x\"\n CLOSE_PAREN: (778..779) \")\"\n FORM: (779..793)\n OPEN_PAREN: (779..780) \"(\"\n SYMBOL: (780..786)\n IDENTIFIER: (780..786) \"lambda\"\n ATMOSPHERE: (786..787) \" \"\n FORM: (787..790)\n OPEN_PAREN: (787..788) \"(\"\n SYMBOL: (788..789)\n IDENTIFIER: (788..789) \"y\"\n CLOSE_PAREN: (789..790) \")\"\n ATMOSPHERE: (790..791) \" \"\n SYMBOL: (791..792)\n IDENTIFIER: (791..792) \"y\"\n CLOSE_PAREN: (792..793) \")\"\n CLOSE_PAREN: (793..794) \")\"\n ATMOSPHERE: (794..795) \" \"\n ATMOSPHERE: (795..811) \"; ~> unspecified\"\n ATMOSPHERE: (811..816) \"\n \"\n ATMOSPHERE: (816..853) \"; (eqv? 1.0e0 1.0f0) ; ~> unspecified\"\n ATMOSPHERE: (853..858) \"\n \"\n ATMOSPHERE: (858..897) \"; (eqv? +nan.0 +nan.0) ; ~> unspecified\"\n ATMOSPHERE: (897..903) \"\n\n \"\n CLOSE_PAREN: (903..904) \")\"\n CLOSE_PAREN: (904..905) \")\"\n FORM: (905..914)\n OPEN_PAREN: (905..906) \"(\"\n SYMBOL: (906..913)\n IDENTIFIER: (906..913) \"newline\"\n CLOSE_PAREN: (913..914) \")\"\n ATMOSPHERE: (914..916) \"\n\n\"\n ATMOSPHERE: (916..979) \";; Lambdas that capture state should be different for each call\"\n ATMOSPHERE: (979..980) \"\n\"\n FORM: (980..1097)\n OPEN_PAREN: (980..981) \"(\"\n SYMBOL: (981..987)\n IDENTIFIER: (981..987) \"define\"\n ATMOSPHERE: (987..988) \" \"\n SYMBOL: (988..999)\n IDENTIFIER: (988..999) \"gen-counter\"\n ATMOSPHERE: (999..1004) \"\n \"\n FORM: (1004..1096)\n OPEN_PAREN: (1004..1005) \"(\"\n SYMBOL: (1005..1011)\n IDENTIFIER: (1005..1011) \"lambda\"\n ATMOSPHERE: (1011..1012) \" \"\n FORM: (1012..1014)\n OPEN_PAREN: (1012..1013) \"(\"\n CLOSE_PAREN: (1013..1014) \")\"\n ATMOSPHERE: (1014..1023) \"\n \"\n FORM: (1023..1095)\n OPEN_PAREN: (1023..1024) \"(\"\n SYMBOL: (1024..1027)\n IDENTIFIER: (1024..1027) \"let\"\n ATMOSPHERE: (1027..1028) \" \"\n FORM: (1028..1035)\n OPEN_PAREN: (1028..1029) \"(\"\n FORM: (1029..1034)\n OPEN_PAREN: (1029..1030) \"(\"\n SYMBOL: (1030..1031)\n IDENTIFIER: (1030..1031) \"n\"\n ATMOSPHERE: (1031..1032) \" \"\n CONSTANT: (1032..1033)\n NUMBER: (1032..1033) \"0\"\n CLOSE_PAREN: (1033..1034) \")\"\n CLOSE_PAREN: (1034..1035) \")\"\n ATMOSPHERE: (1035..1048) \"\n \"\n FORM: (1048..1094)\n OPEN_PAREN: (1048..1049) \"(\"\n SYMBOL: (1049..1055)\n IDENTIFIER: (1049..1055) \"lambda\"\n ATMOSPHERE: (1055..1056) \" \"\n FORM: (1056..1058)\n OPEN_PAREN: (1056..1057) \"(\"\n CLOSE_PAREN: (1057..1058) \")\"\n ATMOSPHERE: (1058..1075) \"\n \"\n FORM: (1075..1091)\n OPEN_PAREN: (1075..1076) \"(\"\n SYMBOL: (1076..1080)\n IDENTIFIER: (1076..1080) \"set!\"\n ATMOSPHERE: (1080..1081) \" \"\n SYMBOL: (1081..1082)\n IDENTIFIER: (1081..1082) \"n\"\n ATMOSPHERE: (1082..1083) \" \"\n FORM: (1083..1090)\n OPEN_PAREN: (1083..1084) \"(\"\n SYMBOL: (1084..1085)\n IDENTIFIER: (1084..1085) \"+\"\n ATMOSPHERE: (1085..1086) \" \"\n SYMBOL: (1086..1087)\n IDENTIFIER: (1086..1087) \"n\"\n ATMOSPHERE: (1087..1088) \" \"\n CONSTANT: (1088..1089)\n NUMBER: (1088..1089) \"1\"\n CLOSE_PAREN: (1089..1090) \")\"\n CLOSE_PAREN: (1090..1091) \")\"\n ATMOSPHERE: (1091..1092) \" \"\n SYMBOL: (1092..1093)\n IDENTIFIER: (1092..1093) \"n\"\n CLOSE_PAREN: (1093..1094) \")\"\n CLOSE_PAREN: (1094..1095) \")\"\n CLOSE_PAREN: (1095..1096) \")\"\n CLOSE_PAREN: (1096..1097) \")\"\n ATMOSPHERE: (1097..1098) \"\n\"\n FORM: (1098..1148)\n OPEN_PAREN: (1098..1099) \"(\"\n SYMBOL: (1099..1106)\n IDENTIFIER: (1099..1106) \"display\"\n ATMOSPHERE: (1106..1107) \" \"\n FORM: (1107..1147)\n OPEN_PAREN: (1107..1108) \"(\"\n SYMBOL: (1108..1111)\n IDENTIFIER: (1108..1111) \"let\"\n ATMOSPHERE: (1111..1112) \" \"\n FORM: (1112..1131)\n OPEN_PAREN: (1112..1113) \"(\"\n FORM: (1113..1130)\n OPEN_PAREN: (1113..1114) \"(\"\n SYMBOL: (1114..1115)\n IDENTIFIER: (1114..1115) \"g\"\n ATMOSPHERE: (1115..1116) \" \"\n FORM: (1116..1129)\n OPEN_PAREN: (1116..1117) \"(\"\n SYMBOL: (1117..1128)\n IDENTIFIER: (1117..1128) \"gen-counter\"\n CLOSE_PAREN: (1128..1129) \")\"\n CLOSE_PAREN: (1129..1130) \")\"\n CLOSE_PAREN: (1130..1131) \")\"\n ATMOSPHERE: (1131..1136) \"\n \"\n FORM: (1136..1146)\n OPEN_PAREN: (1136..1137) \"(\"\n SYMBOL: (1137..1141)\n IDENTIFIER: (1137..1141) \"eqv?\"\n ATMOSPHERE: (1141..1142) \" \"\n SYMBOL: (1142..1143)\n IDENTIFIER: (1142..1143) \"g\"\n ATMOSPHERE: (1143..1144) \" \"\n SYMBOL: (1144..1145)\n IDENTIFIER: (1144..1145) \"g\"\n CLOSE_PAREN: (1145..1146) \")\"\n CLOSE_PAREN: (1146..1147) \")\"\n CLOSE_PAREN: (1147..1148) \")\"\n ATMOSPHERE: (1148..1149) \" \"\n ATMOSPHERE: (1149..1156) \"; ~> #t\"\n ATMOSPHERE: (1156..1157) \"\n\"\n FORM: (1157..1201)\n OPEN_PAREN: (1157..1158) \"(\"\n SYMBOL: (1158..1165)\n IDENTIFIER: (1158..1165) \"display\"\n ATMOSPHERE: (1165..1166) \" \"\n FORM: (1166..1200)\n OPEN_PAREN: (1166..1167) \"(\"\n SYMBOL: (1167..1171)\n IDENTIFIER: (1167..1171) \"eqv?\"\n ATMOSPHERE: (1171..1172) \" \"\n FORM: (1172..1185)\n OPEN_PAREN: (1172..1173) \"(\"\n SYMBOL: (1173..1184)\n IDENTIFIER: (1173..1184) \"gen-counter\"\n CLOSE_PAREN: (1184..1185) \")\"\n ATMOSPHERE: (1185..1186) \" \"\n FORM: (1186..1199)\n OPEN_PAREN: (1186..1187) \"(\"\n SYMBOL: (1187..1198)\n IDENTIFIER: (1187..1198) \"gen-counter\"\n CLOSE_PAREN: (1198..1199) \")\"\n CLOSE_PAREN: (1199..1200) \")\"\n CLOSE_PAREN: (1200..1201) \")\"\n ATMOSPHERE: (1201..1202) \" \"\n ATMOSPHERE: (1202..1209) \"; ~> #f\"\n ATMOSPHERE: (1209..1210) \"\n\"\n FORM: (1210..1219)\n OPEN_PAREN: (1210..1211) \"(\"\n SYMBOL: (1211..1218)\n IDENTIFIER: (1211..1218) \"newline\"\n CLOSE_PAREN: (1218..1219) \")\"\n ATMOSPHERE: (1219..1221) \"\n\n\"\n ATMOSPHERE: (1221..1292) \";; The `eq?` Predicate is allowed to just do a pointer equivalence test\"\n ATMOSPHERE: (1292..1293) \"\n\"\n FORM: (1293..1748)\n OPEN_PAREN: (1293..1294) \"(\"\n SYMBOL: (1294..1301)\n IDENTIFIER: (1294..1301) \"display\"\n ATMOSPHERE: (1301..1303) \"\n \"\n FORM: (1303..1747)\n OPEN_PAREN: (1303..1304) \"(\"\n SYMBOL: (1304..1308)\n IDENTIFIER: (1304..1308) \"list\"\n ATMOSPHERE: (1308..1311) \"\n \"\n FORM: (1311..1322)\n OPEN_PAREN: (1311..1312) \"(\"\n SYMBOL: (1312..1315)\n IDENTIFIER: (1312..1315) \"eq?\"\n ATMOSPHERE: (1315..1316) \" \"\n QUOTED_DATUM: (1316..1319)\n QUOTE: (1316..1317) \"’\"\n SYMBOL: (1317..1318)\n IDENTIFIER: (1317..1318) \"a\"\n ATMOSPHERE: (1318..1319) \" \"\n QUOTED_DATUM: (1319..1321)\n QUOTE: (1319..1320) \"’\"\n SYMBOL: (1320..1321)\n IDENTIFIER: (1320..1321) \"a\"\n CLOSE_PAREN: (1321..1322) \")\"\n ATMOSPHERE: (1322..1323) \" \"\n ATMOSPHERE: (1323..1330) \"; -> #t\"\n ATMOSPHERE: (1330..1333) \"\n \"\n FORM: (1333..1348)\n OPEN_PAREN: (1333..1334) \"(\"\n SYMBOL: (1334..1337)\n IDENTIFIER: (1334..1337) \"eq?\"\n ATMOSPHERE: (1337..1338) \" \"\n QUOTED_DATUM: (1338..1343)\n QUOTE: (1338..1339) \"’\"\n FORM: (1339..1342)\n OPEN_PAREN: (1339..1340) \"(\"\n SYMBOL: (1340..1341)\n IDENTIFIER: (1340..1341) \"a\"\n CLOSE_PAREN: (1341..1342) \")\"\n ATMOSPHERE: (1342..1343) \" \"\n QUOTED_DATUM: (1343..1347)\n QUOTE: (1343..1344) \"’\"\n FORM: (1344..1347)\n OPEN_PAREN: (1344..1345) \"(\"\n SYMBOL: (1345..1346)\n IDENTIFIER: (1345..1346) \"a\"\n CLOSE_PAREN: (1346..1347) \")\"\n CLOSE_PAREN: (1347..1348) \")\"\n ATMOSPHERE: (1348..1349) \" \"\n ATMOSPHERE: (1349..1365) \"; -> unspecified\"\n ATMOSPHERE: (1365..1368) \"\n \"\n FORM: (1368..1393)\n OPEN_PAREN: (1368..1369) \"(\"\n SYMBOL: (1369..1372)\n IDENTIFIER: (1369..1372) \"eq?\"\n ATMOSPHERE: (1372..1373) \" \"\n FORM: (1373..1382)\n OPEN_PAREN: (1373..1374) \"(\"\n SYMBOL: (1374..1378)\n IDENTIFIER: (1374..1378) \"list\"\n ATMOSPHERE: (1378..1379) \" \"\n QUOTED_DATUM: (1379..1381)\n QUOTE: (1379..1380) \"’\"\n SYMBOL: (1380..1381)\n IDENTIFIER: (1380..1381) \"a\"\n CLOSE_PAREN: (1381..1382) \")\"\n ATMOSPHERE: (1382..1383) \" \"\n FORM: (1383..1392)\n OPEN_PAREN: (1383..1384) \"(\"\n SYMBOL: (1384..1388)\n IDENTIFIER: (1384..1388) \"list\"\n ATMOSPHERE: (1388..1389) \" \"\n QUOTED_DATUM: (1389..1391)\n QUOTE: (1389..1390) \"’\"\n SYMBOL: (1390..1391)\n IDENTIFIER: (1390..1391) \"a\"\n CLOSE_PAREN: (1391..1392) \")\"\n CLOSE_PAREN: (1392..1393) \")\"\n ATMOSPHERE: (1393..1394) \" \"\n ATMOSPHERE: (1394..1401) \"; -> #f\"\n ATMOSPHERE: (1401..1404) \"\n \"\n FORM: (1404..1417)\n OPEN_PAREN: (1404..1405) \"(\"\n SYMBOL: (1405..1408)\n IDENTIFIER: (1405..1408) \"eq?\"\n ATMOSPHERE: (1408..1409) \" \"\n CONSTANT: (1409..1412)\n STRING: (1409..1412) \"\"a\"\"\n ATMOSPHERE: (1412..1413) \" \"\n CONSTANT: (1413..1416)\n STRING: (1413..1416) \"\"a\"\"\n CLOSE_PAREN: (1416..1417) \")\"\n ATMOSPHERE: (1417..1418) \" \"\n ATMOSPHERE: (1418..1434) \"; -> unspecified\"\n ATMOSPHERE: (1434..1437) \"\n \"\n FORM: (1437..1448)\n OPEN_PAREN: (1437..1438) \"(\"\n SYMBOL: (1438..1441)\n IDENTIFIER: (1438..1441) \"eq?\"\n ATMOSPHERE: (1441..1442) \" \"\n CONSTANT: (1442..1444)\n STRING: (1442..1444) \"\"\"\"\n ATMOSPHERE: (1444..1445) \" \"\n CONSTANT: (1445..1447)\n STRING: (1445..1447) \"\"\"\"\n CLOSE_PAREN: (1447..1448) \")\"\n ATMOSPHERE: (1448..1449) \" \"\n ATMOSPHERE: (1449..1465) \"; -> unspecified\"\n ATMOSPHERE: (1465..1468) \"\n \"\n FORM: (1468..1481)\n OPEN_PAREN: (1468..1469) \"(\"\n SYMBOL: (1469..1472)\n IDENTIFIER: (1469..1472) \"eq?\"\n ATMOSPHERE: (1472..1473) \" \"\n QUOTED_DATUM: (1473..1477)\n QUOTE: (1473..1474) \"’\"\n FORM: (1474..1476)\n OPEN_PAREN: (1474..1475) \"(\"\n CLOSE_PAREN: (1475..1476) \")\"\n ATMOSPHERE: (1476..1477) \" \"\n QUOTED_DATUM: (1477..1480)\n QUOTE: (1477..1478) \"’\"\n FORM: (1478..1480)\n OPEN_PAREN: (1478..1479) \"(\"\n CLOSE_PAREN: (1479..1480) \")\"\n CLOSE_PAREN: (1480..1481) \")\"\n ATMOSPHERE: (1481..1482) \" \"\n ATMOSPHERE: (1482..1489) \"; -> #t\"\n ATMOSPHERE: (1489..1492) \"\n \"\n FORM: (1492..1501)\n OPEN_PAREN: (1492..1493) \"(\"\n SYMBOL: (1493..1496)\n IDENTIFIER: (1493..1496) \"eq?\"\n ATMOSPHERE: (1496..1497) \" \"\n CONSTANT: (1497..1498)\n NUMBER: (1497..1498) \"2\"\n ATMOSPHERE: (1498..1499) \" \"\n CONSTANT: (1499..1500)\n NUMBER: (1499..1500) \"2\"\n CLOSE_PAREN: (1500..1501) \")\"\n ATMOSPHERE: (1501..1502) \" \"\n ATMOSPHERE: (1502..1518) \"; -> unspecified\"\n ATMOSPHERE: (1518..1521) \"\n \"\n FORM: (1521..1534)\n OPEN_PAREN: (1521..1522) \"(\"\n SYMBOL: (1522..1525)\n IDENTIFIER: (1522..1525) \"eq?\"\n ATMOSPHERE: (1525..1526) \" \"\n CONSTANT: (1526..1529)\n CHARACTER: (1526..1529) \"#\\A\"\n ATMOSPHERE: (1529..1530) \" \"\n CONSTANT: (1530..1533)\n CHARACTER: (1530..1533) \"#\\A\"\n CLOSE_PAREN: (1533..1534) \")\"\n ATMOSPHERE: (1534..1535) \" \"\n ATMOSPHERE: (1535..1551) \"; -> unspecified\"\n ATMOSPHERE: (1551..1554) \"\n \"\n FORM: (1554..1567)\n OPEN_PAREN: (1554..1555) \"(\"\n SYMBOL: (1555..1558)\n IDENTIFIER: (1555..1558) \"eq?\"\n ATMOSPHERE: (1558..1559) \" \"\n SYMBOL: (1559..1562)\n IDENTIFIER: (1559..1562) \"car\"\n ATMOSPHERE: (1562..1563) \" \"\n SYMBOL: (1563..1566)\n IDENTIFIER: (1563..1566) \"car\"\n CLOSE_PAREN: (1566..1567) \")\"\n ATMOSPHERE: (1567..1568) \" \"\n ATMOSPHERE: (1568..1575) \"; -> #t\"\n ATMOSPHERE: (1575..1578) \"\n \"\n FORM: (1578..1608)\n OPEN_PAREN: (1578..1579) \"(\"\n SYMBOL: (1579..1582)\n IDENTIFIER: (1579..1582) \"let\"\n ATMOSPHERE: (1582..1583) \" \"\n FORM: (1583..1596)\n OPEN_PAREN: (1583..1584) \"(\"\n FORM: (1584..1595)\n OPEN_PAREN: (1584..1585) \"(\"\n SYMBOL: (1585..1586)\n IDENTIFIER: (1585..1586) \"n\"\n ATMOSPHERE: (1586..1587) \" \"\n FORM: (1587..1594)\n OPEN_PAREN: (1587..1588) \"(\"\n SYMBOL: (1588..1589)\n IDENTIFIER: (1588..1589) \"+\"\n ATMOSPHERE: (1589..1590) \" \"\n CONSTANT: (1590..1591)\n NUMBER: (1590..1591) \"2\"\n ATMOSPHERE: (1591..1592) \" \"\n CONSTANT: (1592..1593)\n NUMBER: (1592..1593) \"3\"\n CLOSE_PAREN: (1593..1594) \")\"\n CLOSE_PAREN: (1594..1595) \")\"\n CLOSE_PAREN: (1595..1596) \")\"\n ATMOSPHERE: (1596..1598) \"\n\t\"\n FORM: (1598..1607)\n OPEN_PAREN: (1598..1599) \"(\"\n SYMBOL: (1599..1602)\n IDENTIFIER: (1599..1602) \"eq?\"\n ATMOSPHERE: (1602..1603) \" \"\n SYMBOL: (1603..1604)\n IDENTIFIER: (1603..1604) \"n\"\n ATMOSPHERE: (1604..1605) \" \"\n SYMBOL: (1605..1606)\n IDENTIFIER: (1605..1606) \"n\"\n CLOSE_PAREN: (1606..1607) \")\"\n CLOSE_PAREN: (1607..1608) \")\"\n ATMOSPHERE: (1608..1609) \" \"\n ATMOSPHERE: (1609..1625) \"; -> unspecified\"\n ATMOSPHERE: (1625..1628) \"\n \"\n FORM: (1628..1653)\n OPEN_PAREN: (1628..1629) \"(\"\n SYMBOL: (1629..1632)\n IDENTIFIER: (1629..1632) \"let\"\n ATMOSPHERE: (1632..1633) \" \"\n FORM: (1633..1643)\n OPEN_PAREN: (1633..1634) \"(\"\n FORM: (1634..1642)\n OPEN_PAREN: (1634..1635) \"(\"\n SYMBOL: (1635..1636)\n IDENTIFIER: (1635..1636) \"x\"\n ATMOSPHERE: (1636..1637) \" \"\n QUOTED_DATUM: (1637..1641)\n QUOTE: (1637..1638) \"’\"\n FORM: (1638..1641)\n OPEN_PAREN: (1638..1639) \"(\"\n SYMBOL: (1639..1640)\n IDENTIFIER: (1639..1640) \"a\"\n CLOSE_PAREN: (1640..1641) \")\"\n CLOSE_PAREN: (1641..1642) \")\"\n CLOSE_PAREN: (1642..1643) \")\"\n FORM: (1643..1652)\n OPEN_PAREN: (1643..1644) \"(\"\n SYMBOL: (1644..1647)\n IDENTIFIER: (1644..1647) \"eq?\"\n ATMOSPHERE: (1647..1648) \" \"\n SYMBOL: (1648..1649)\n IDENTIFIER: (1648..1649) \"x\"\n ATMOSPHERE: (1649..1650) \" \"\n SYMBOL: (1650..1651)\n IDENTIFIER: (1650..1651) \"x\"\n CLOSE_PAREN: (1651..1652) \")\"\n CLOSE_PAREN: (1652..1653) \")\"\n ATMOSPHERE: (1653..1654) \" \"\n ATMOSPHERE: (1654..1661) \"; -> #t\"\n ATMOSPHERE: (1661..1664) \"\n \"\n FORM: (1664..1689)\n OPEN_PAREN: (1664..1665) \"(\"\n SYMBOL: (1665..1668)\n IDENTIFIER: (1665..1668) \"let\"\n ATMOSPHERE: (1668..1669) \" \"\n FORM: (1669..1679)\n OPEN_PAREN: (1669..1670) \"(\"\n FORM: (1670..1678)\n OPEN_PAREN: (1670..1671) \"(\"\n SYMBOL: (1671..1672)\n IDENTIFIER: (1671..1672) \"x\"\n ATMOSPHERE: (1672..1673) \" \"\n QUOTED_DATUM: (1673..1677)\n QUOTE: (1673..1674) \"’\"\n VEC: (1674..1677)\n OPEN_PAREN: (1674..1676) \"#(\"\n CLOSE_PAREN: (1676..1677) \")\"\n CLOSE_PAREN: (1677..1678) \")\"\n CLOSE_PAREN: (1678..1679) \")\"\n FORM: (1679..1688)\n OPEN_PAREN: (1679..1680) \"(\"\n SYMBOL: (1680..1683)\n IDENTIFIER: (1680..1683) \"eq?\"\n ATMOSPHERE: (1683..1684) \" \"\n SYMBOL: (1684..1685)\n IDENTIFIER: (1684..1685) \"x\"\n ATMOSPHERE: (1685..1686) \" \"\n SYMBOL: (1686..1687)\n IDENTIFIER: (1686..1687) \"x\"\n CLOSE_PAREN: (1687..1688) \")\"\n CLOSE_PAREN: (1688..1689) \")\"\n ATMOSPHERE: (1689..1690) \" \"\n ATMOSPHERE: (1690..1697) \"; -> #t\"\n ATMOSPHERE: (1697..1700) \"\n \"\n FORM: (1700..1735)\n OPEN_PAREN: (1700..1701) \"(\"\n SYMBOL: (1701..1704)\n IDENTIFIER: (1701..1704) \"let\"\n ATMOSPHERE: (1704..1705) \" \"\n FORM: (1705..1725)\n OPEN_PAREN: (1705..1706) \"(\"\n FORM: (1706..1724)\n OPEN_PAREN: (1706..1707) \"(\"\n SYMBOL: (1707..1708)\n IDENTIFIER: (1707..1708) \"p\"\n ATMOSPHERE: (1708..1709) \" \"\n FORM: (1709..1723)\n OPEN_PAREN: (1709..1710) \"(\"\n SYMBOL: (1710..1716)\n IDENTIFIER: (1710..1716) \"lambda\"\n ATMOSPHERE: (1716..1717) \" \"\n FORM: (1717..1720)\n OPEN_PAREN: (1717..1718) \"(\"\n SYMBOL: (1718..1719)\n IDENTIFIER: (1718..1719) \"x\"\n CLOSE_PAREN: (1719..1720) \")\"\n ATMOSPHERE: (1720..1721) \" \"\n SYMBOL: (1721..1722)\n IDENTIFIER: (1721..1722) \"x\"\n CLOSE_PAREN: (1722..1723) \")\"\n CLOSE_PAREN: (1723..1724) \")\"\n CLOSE_PAREN: (1724..1725) \")\"\n FORM: (1725..1734)\n OPEN_PAREN: (1725..1726) \"(\"\n SYMBOL: (1726..1729)\n IDENTIFIER: (1726..1729) \"eq?\"\n ATMOSPHERE: (1729..1730) \" \"\n SYMBOL: (1730..1731)\n IDENTIFIER: (1730..1731) \"p\"\n ATMOSPHERE: (1731..1732) \" \"\n SYMBOL: (1732..1733)\n IDENTIFIER: (1732..1733) \"p\"\n CLOSE_PAREN: (1733..1734) \")\"\n CLOSE_PAREN: (1734..1735) \")\"\n ATMOSPHERE: (1735..1736) \" \"\n ATMOSPHERE: (1736..1743) \"; -> #t\"\n ATMOSPHERE: (1743..1746) \"\n \"\n CLOSE_PAREN: (1746..1747) \")\"\n CLOSE_PAREN: (1747..1748) \")\"\n FORM: (1748..1757)\n OPEN_PAREN: (1748..1749) \"(\"\n SYMBOL: (1749..1756)\n IDENTIFIER: (1749..1756) \"newline\"\n CLOSE_PAREN: (1756..1757) \")\"\n ATMOSPHERE: (1757..1759) \"\n\n\"\n ATMOSPHERE: (1759..1831) \";; The `equals?` predicate should recursively calculate equivalence. For\"\n ATMOSPHERE: (1831..1832) \"\n\"\n ATMOSPHERE: (1832..1887) \";; our implementation this is close to `object.Equals`.\"\n ATMOSPHERE: (1887..1888) \"\n\"\n FORM: (1888..2267)\n OPEN_PAREN: (1888..1889) \"(\"\n SYMBOL: (1889..1896)\n IDENTIFIER: (1889..1896) \"display\"\n ATMOSPHERE: (1896..1898) \"\n \"\n FORM: (1898..2266)\n OPEN_PAREN: (1898..1899) \"(\"\n SYMBOL: (1899..1903)\n IDENTIFIER: (1899..1903) \"list\"\n ATMOSPHERE: (1903..1906) \"\n \"\n FORM: (1906..1920)\n OPEN_PAREN: (1906..1907) \"(\"\n SYMBOL: (1907..1913)\n IDENTIFIER: (1907..1913) \"equal?\"\n ATMOSPHERE: (1913..1914) \" \"\n QUOTED_DATUM: (1914..1917)\n QUOTE: (1914..1915) \"’\"\n SYMBOL: (1915..1916)\n IDENTIFIER: (1915..1916) \"a\"\n ATMOSPHERE: (1916..1917) \" \"\n QUOTED_DATUM: (1917..1919)\n QUOTE: (1917..1918) \"’\"\n SYMBOL: (1918..1919)\n IDENTIFIER: (1918..1919) \"a\"\n CLOSE_PAREN: (1919..1920) \")\"\n ATMOSPHERE: (1920..1921) \" \"\n ATMOSPHERE: (1921..1928) \"; -> #t\"\n ATMOSPHERE: (1928..1931) \"\n \"\n FORM: (1931..1949)\n OPEN_PAREN: (1931..1932) \"(\"\n SYMBOL: (1932..1938)\n IDENTIFIER: (1932..1938) \"equal?\"\n ATMOSPHERE: (1938..1939) \" \"\n QUOTED_DATUM: (1939..1944)\n QUOTE: (1939..1940) \"’\"\n FORM: (1940..1943)\n OPEN_PAREN: (1940..1941) \"(\"\n SYMBOL: (1941..1942)\n IDENTIFIER: (1941..1942) \"a\"\n CLOSE_PAREN: (1942..1943) \")\"\n ATMOSPHERE: (1943..1944) \" \"\n QUOTED_DATUM: (1944..1948)\n QUOTE: (1944..1945) \"’\"\n FORM: (1945..1948)\n OPEN_PAREN: (1945..1946) \"(\"\n SYMBOL: (1946..1947)\n IDENTIFIER: (1946..1947) \"a\"\n CLOSE_PAREN: (1947..1948) \")\"\n CLOSE_PAREN: (1948..1949) \")\"\n ATMOSPHERE: (1949..1950) \" \"\n ATMOSPHERE: (1950..1957) \"; -> #t\"\n ATMOSPHERE: (1957..1960) \"\n \"\n FORM: (1960..1989)\n OPEN_PAREN: (1960..1961) \"(\"\n SYMBOL: (1961..1967)\n IDENTIFIER: (1961..1967) \"equal?\"\n ATMOSPHERE: (1967..1968) \" \"\n QUOTED_DATUM: (1968..1978)\n QUOTE: (1968..1969) \"’\"\n FORM: (1969..1978)\n OPEN_PAREN: (1969..1970) \"(\"\n SYMBOL: (1970..1971)\n IDENTIFIER: (1970..1971) \"a\"\n ATMOSPHERE: (1971..1972) \" \"\n FORM: (1972..1975)\n OPEN_PAREN: (1972..1973) \"(\"\n SYMBOL: (1973..1974)\n IDENTIFIER: (1973..1974) \"b\"\n CLOSE_PAREN: (1974..1975) \")\"\n ATMOSPHERE: (1975..1976) \" \"\n SYMBOL: (1976..1977)\n IDENTIFIER: (1976..1977) \"c\"\n CLOSE_PAREN: (1977..1978) \")\"\n QUOTED_DATUM: (1978..1988)\n QUOTE: (1978..1979) \"’\"\n FORM: (1979..1988)\n OPEN_PAREN: (1979..1980) \"(\"\n SYMBOL: (1980..1981)\n IDENTIFIER: (1980..1981) \"a\"\n ATMOSPHERE: (1981..1982) \" \"\n FORM: (1982..1985)\n OPEN_PAREN: (1982..1983) \"(\"\n SYMBOL: (1983..1984)\n IDENTIFIER: (1983..1984) \"b\"\n CLOSE_PAREN: (1984..1985) \")\"\n ATMOSPHERE: (1985..1986) \" \"\n SYMBOL: (1986..1987)\n IDENTIFIER: (1986..1987) \"c\"\n CLOSE_PAREN: (1987..1988) \")\"\n CLOSE_PAREN: (1988..1989) \")\"\n ATMOSPHERE: (1989..1990) \" \"\n ATMOSPHERE: (1990..1997) \"; -> #t\"\n ATMOSPHERE: (1997..2000) \"\n \"\n FORM: (2000..2020)\n OPEN_PAREN: (2000..2001) \"(\"\n SYMBOL: (2001..2007)\n IDENTIFIER: (2001..2007) \"equal?\"\n ATMOSPHERE: (2007..2008) \" \"\n CONSTANT: (2008..2013)\n STRING: (2008..2013) \"\"abc\"\"\n ATMOSPHERE: (2013..2014) \" \"\n CONSTANT: (2014..2019)\n STRING: (2014..2019) \"\"abc\"\"\n CLOSE_PAREN: (2019..2020) \")\"\n ATMOSPHERE: (2020..2021) \" \"\n ATMOSPHERE: (2021..2028) \"; -> #t\"\n ATMOSPHERE: (2028..2031) \"\n \"\n FORM: (2031..2043)\n OPEN_PAREN: (2031..2032) \"(\"\n SYMBOL: (2032..2038)\n IDENTIFIER: (2032..2038) \"equal?\"\n ATMOSPHERE: (2038..2039) \" \"\n CONSTANT: (2039..2040)\n NUMBER: (2039..2040) \"2\"\n ATMOSPHERE: (2040..2041) \" \"\n CONSTANT: (2041..2042)\n NUMBER: (2041..2042) \"2\"\n CLOSE_PAREN: (2042..2043) \")\"\n ATMOSPHERE: (2043..2044) \" \"\n ATMOSPHERE: (2044..2051) \"; -> #t\"\n ATMOSPHERE: (2051..2054) \"\n \"\n FORM: (2054..2099)\n OPEN_PAREN: (2054..2055) \"(\"\n SYMBOL: (2055..2061)\n IDENTIFIER: (2055..2061) \"equal?\"\n ATMOSPHERE: (2061..2062) \" \"\n FORM: (2062..2080)\n OPEN_PAREN: (2062..2063) \"(\"\n SYMBOL: (2063..2074)\n IDENTIFIER: (2063..2074) \"make-vector\"\n ATMOSPHERE: (2074..2075) \" \"\n CONSTANT: (2075..2076)\n NUMBER: (2075..2076) \"5\"\n ATMOSPHERE: (2076..2077) \" \"\n QUOTED_DATUM: (2077..2079)\n QUOTE: (2077..2078) \"’\"\n SYMBOL: (2078..2079)\n IDENTIFIER: (2078..2079) \"a\"\n CLOSE_PAREN: (2079..2080) \")\"\n FORM: (2080..2098)\n OPEN_PAREN: (2080..2081) \"(\"\n SYMBOL: (2081..2092)\n IDENTIFIER: (2081..2092) \"make-vector\"\n ATMOSPHERE: (2092..2093) \" \"\n CONSTANT: (2093..2094)\n NUMBER: (2093..2094) \"5\"\n ATMOSPHERE: (2094..2095) \" \"\n QUOTED_DATUM: (2095..2097)\n QUOTE: (2095..2096) \"’\"\n SYMBOL: (2096..2097)\n IDENTIFIER: (2096..2097) \"a\"\n CLOSE_PAREN: (2097..2098) \")\"\n CLOSE_PAREN: (2098..2099) \")\"\n ATMOSPHERE: (2099..2100) \" \"\n ATMOSPHERE: (2100..2107) \"; -> #t\"\n ATMOSPHERE: (2107..2110) \"\n \"\n ATMOSPHERE: (2110..2149) \"; We don't support quote references yet\"\n ATMOSPHERE: (2149..2152) \"\n \"\n ATMOSPHERE: (2152..2205) \"; (equal? ’#1=(a b . #1#)’#2=(a b a b . #2#)) ; -> #t\"\n ATMOSPHERE: (2205..2208) \"\n \"\n FORM: (2208..2245)\n OPEN_PAREN: (2208..2209) \"(\"\n SYMBOL: (2209..2215)\n IDENTIFIER: (2209..2215) \"equal?\"\n ATMOSPHERE: (2215..2216) \" \"\n FORM: (2216..2230)\n OPEN_PAREN: (2216..2217) \"(\"\n SYMBOL: (2217..2223)\n IDENTIFIER: (2217..2223) \"lambda\"\n ATMOSPHERE: (2223..2224) \" \"\n FORM: (2224..2227)\n OPEN_PAREN: (2224..2225) \"(\"\n SYMBOL: (2225..2226)\n IDENTIFIER: (2225..2226) \"x\"\n CLOSE_PAREN: (2226..2227) \")\"\n ATMOSPHERE: (2227..2228) \" \"\n SYMBOL: (2228..2229)\n IDENTIFIER: (2228..2229) \"x\"\n CLOSE_PAREN: (2229..2230) \")\"\n FORM: (2230..2244)\n OPEN_PAREN: (2230..2231) \"(\"\n SYMBOL: (2231..2237)\n IDENTIFIER: (2231..2237) \"lambda\"\n ATMOSPHERE: (2237..2238) \" \"\n FORM: (2238..2241)\n OPEN_PAREN: (2238..2239) \"(\"\n SYMBOL: (2239..2240)\n IDENTIFIER: (2239..2240) \"y\"\n CLOSE_PAREN: (2240..2241) \")\"\n ATMOSPHERE: (2241..2242) \" \"\n SYMBOL: (2242..2243)\n IDENTIFIER: (2242..2243) \"y\"\n CLOSE_PAREN: (2243..2244) \")\"\n CLOSE_PAREN: (2244..2245) \")\"\n ATMOSPHERE: (2245..2246) \" \"\n ATMOSPHERE: (2246..2262) \"; -> unspecified\"\n ATMOSPHERE: (2262..2265) \"\n \"\n CLOSE_PAREN: (2265..2266) \")\"\n CLOSE_PAREN: (2266..2267) \")\"\n FORM: (2267..2276)\n OPEN_PAREN: (2267..2268) \"(\"\n SYMBOL: (2268..2275)\n IDENTIFIER: (2268..2275) \"newline\"\n CLOSE_PAREN: (2275..2276) \")\"\n ATMOSPHERE: (2276..2277) \"\n\"\n EOF: (2277..2277) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json b/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json deleted file mode 100644 index b6cd076..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_eratosthenes.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..1136)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n ATMOSPHERE: (42..88) \";; Implementation of the Sieve of Eratosthenes\"\n ATMOSPHERE: (88..89) \"\n\"\n ATMOSPHERE: (89..143) \";; https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes\"\n ATMOSPHERE: (143..144) \"\n\"\n FORM: (144..1030)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..151)\n IDENTIFIER: (145..151) \"define\"\n ATMOSPHERE: (151..152) \" \"\n FORM: (152..168)\n OPEN_PAREN: (152..153) \"(\"\n SYMBOL: (153..165)\n IDENTIFIER: (153..165) \"eratosthenes\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"n\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..173) \"\n \"\n ATMOSPHERE: (173..223) \";; Mark multiples of the given prime in the vector\"\n ATMOSPHERE: (223..228) \"\n \"\n FORM: (228..552)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..235)\n IDENTIFIER: (229..235) \"define\"\n ATMOSPHERE: (235..236) \" \"\n FORM: (236..261)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..251)\n IDENTIFIER: (237..251) \"mark-multiples\"\n ATMOSPHERE: (251..252) \" \"\n SYMBOL: (252..253)\n IDENTIFIER: (252..253) \"p\"\n ATMOSPHERE: (253..254) \" \"\n SYMBOL: (254..260)\n IDENTIFIER: (254..260) \"marked\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..270) \"\n \"\n FORM: (270..506)\n OPEN_PAREN: (270..271) \"(\"\n SYMBOL: (271..277)\n IDENTIFIER: (271..277) \"define\"\n ATMOSPHERE: (277..278) \" \"\n FORM: (278..308)\n OPEN_PAREN: (278..279) \"(\"\n SYMBOL: (279..296)\n IDENTIFIER: (279..296) \"mark-multiples-at\"\n ATMOSPHERE: (296..297) \" \"\n SYMBOL: (297..298)\n IDENTIFIER: (297..298) \"p\"\n ATMOSPHERE: (298..299) \" \"\n SYMBOL: (299..300)\n IDENTIFIER: (299..300) \"m\"\n ATMOSPHERE: (300..301) \" \"\n SYMBOL: (301..307)\n IDENTIFIER: (301..307) \"marked\"\n CLOSE_PAREN: (307..308) \")\"\n ATMOSPHERE: (308..321) \"\n \"\n FORM: (321..505)\n OPEN_PAREN: (321..322) \"(\"\n SYMBOL: (322..324)\n IDENTIFIER: (322..324) \"if\"\n ATMOSPHERE: (324..325) \" \"\n FORM: (325..354)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..328)\n IDENTIFIER: (326..328) \">=\"\n ATMOSPHERE: (328..329) \" \"\n SYMBOL: (329..330)\n IDENTIFIER: (329..330) \"m\"\n ATMOSPHERE: (330..331) \" \"\n FORM: (331..353)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..345)\n IDENTIFIER: (332..345) \"vector-length\"\n ATMOSPHERE: (345..346) \" \"\n SYMBOL: (346..352)\n IDENTIFIER: (346..352) \"marked\"\n CLOSE_PAREN: (352..353) \")\"\n CLOSE_PAREN: (353..354) \")\"\n ATMOSPHERE: (354..371) \"\n \"\n SYMBOL: (371..377)\n IDENTIFIER: (371..377) \"marked\"\n ATMOSPHERE: (377..394) \"\n \"\n FORM: (394..504)\n OPEN_PAREN: (394..395) \"(\"\n SYMBOL: (395..400)\n IDENTIFIER: (395..400) \"begin\"\n ATMOSPHERE: (400..421) \"\n \"\n FORM: (421..446)\n OPEN_PAREN: (421..422) \"(\"\n SYMBOL: (422..433)\n IDENTIFIER: (422..433) \"vector-set!\"\n ATMOSPHERE: (433..434) \" \"\n SYMBOL: (434..440)\n IDENTIFIER: (434..440) \"marked\"\n ATMOSPHERE: (440..441) \" \"\n SYMBOL: (441..442)\n IDENTIFIER: (441..442) \"m\"\n ATMOSPHERE: (442..443) \" \"\n CONSTANT: (443..445)\n BOOLEAN: (443..445) \"#t\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..467) \"\n \"\n FORM: (467..503)\n OPEN_PAREN: (467..468) \"(\"\n SYMBOL: (468..485)\n IDENTIFIER: (468..485) \"mark-multiples-at\"\n ATMOSPHERE: (485..486) \" \"\n SYMBOL: (486..487)\n IDENTIFIER: (486..487) \"p\"\n ATMOSPHERE: (487..488) \" \"\n FORM: (488..495)\n OPEN_PAREN: (488..489) \"(\"\n SYMBOL: (489..490)\n IDENTIFIER: (489..490) \"+\"\n ATMOSPHERE: (490..491) \" \"\n SYMBOL: (491..492)\n IDENTIFIER: (491..492) \"m\"\n ATMOSPHERE: (492..493) \" \"\n SYMBOL: (493..494)\n IDENTIFIER: (493..494) \"p\"\n CLOSE_PAREN: (494..495) \")\"\n ATMOSPHERE: (495..496) \" \"\n SYMBOL: (496..502)\n IDENTIFIER: (496..502) \"marked\"\n CLOSE_PAREN: (502..503) \")\"\n CLOSE_PAREN: (503..504) \")\"\n CLOSE_PAREN: (504..505) \")\"\n CLOSE_PAREN: (505..506) \")\"\n ATMOSPHERE: (506..515) \"\n \"\n FORM: (515..551)\n OPEN_PAREN: (515..516) \"(\"\n SYMBOL: (516..533)\n IDENTIFIER: (516..533) \"mark-multiples-at\"\n ATMOSPHERE: (533..534) \" \"\n SYMBOL: (534..535)\n IDENTIFIER: (534..535) \"p\"\n ATMOSPHERE: (535..536) \" \"\n FORM: (536..543)\n OPEN_PAREN: (536..537) \"(\"\n SYMBOL: (537..538)\n IDENTIFIER: (537..538) \"*\"\n ATMOSPHERE: (538..539) \" \"\n SYMBOL: (539..540)\n IDENTIFIER: (539..540) \"p\"\n ATMOSPHERE: (540..541) \" \"\n SYMBOL: (541..542)\n IDENTIFIER: (541..542) \"p\"\n CLOSE_PAREN: (542..543) \")\"\n ATMOSPHERE: (543..544) \" \"\n SYMBOL: (544..550)\n IDENTIFIER: (544..550) \"marked\"\n CLOSE_PAREN: (550..551) \")\"\n CLOSE_PAREN: (551..552) \")\"\n ATMOSPHERE: (552..557) \"\n \"\n ATMOSPHERE: (557..613) \";; main prime sieve. Recursively marks multiples of each\"\n ATMOSPHERE: (613..618) \"\n \"\n ATMOSPHERE: (618..667) \";; prime and builds up a list of them as it goes.\"\n ATMOSPHERE: (667..672) \"\n \"\n FORM: (672..995)\n OPEN_PAREN: (672..673) \"(\"\n SYMBOL: (673..679)\n IDENTIFIER: (673..679) \"define\"\n ATMOSPHERE: (679..680) \" \"\n FORM: (680..701)\n OPEN_PAREN: (680..681) \"(\"\n SYMBOL: (681..684)\n IDENTIFIER: (681..684) \"siv\"\n ATMOSPHERE: (684..685) \" \"\n SYMBOL: (685..686)\n IDENTIFIER: (685..686) \"p\"\n ATMOSPHERE: (686..687) \" \"\n SYMBOL: (687..693)\n IDENTIFIER: (687..693) \"marked\"\n ATMOSPHERE: (693..694) \" \"\n SYMBOL: (694..700)\n IDENTIFIER: (694..700) \"primes\"\n CLOSE_PAREN: (700..701) \")\"\n ATMOSPHERE: (701..710) \"\n \"\n FORM: (710..994)\n OPEN_PAREN: (710..711) \"(\"\n SYMBOL: (711..713)\n IDENTIFIER: (711..713) \"if\"\n ATMOSPHERE: (713..714) \" \"\n FORM: (714..743)\n OPEN_PAREN: (714..715) \"(\"\n SYMBOL: (715..717)\n IDENTIFIER: (715..717) \">=\"\n ATMOSPHERE: (717..718) \" \"\n SYMBOL: (718..719)\n IDENTIFIER: (718..719) \"p\"\n ATMOSPHERE: (719..720) \" \"\n FORM: (720..742)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..734)\n IDENTIFIER: (721..734) \"vector-length\"\n ATMOSPHERE: (734..735) \" \"\n SYMBOL: (735..741)\n IDENTIFIER: (735..741) \"marked\"\n CLOSE_PAREN: (741..742) \")\"\n CLOSE_PAREN: (742..743) \")\"\n ATMOSPHERE: (743..756) \"\n \"\n SYMBOL: (756..762)\n IDENTIFIER: (756..762) \"primes\"\n ATMOSPHERE: (762..775) \"\n \"\n ATMOSPHERE: (775..838) \";; If the item is marked, it is a multiple of some other prime.\"\n ATMOSPHERE: (838..851) \"\n \"\n FORM: (851..993)\n OPEN_PAREN: (851..852) \"(\"\n SYMBOL: (852..854)\n IDENTIFIER: (852..854) \"if\"\n ATMOSPHERE: (854..855) \" \"\n FORM: (855..876)\n OPEN_PAREN: (855..856) \"(\"\n SYMBOL: (856..866)\n IDENTIFIER: (856..866) \"vector-ref\"\n ATMOSPHERE: (866..867) \" \"\n SYMBOL: (867..873)\n IDENTIFIER: (867..873) \"marked\"\n ATMOSPHERE: (873..874) \" \"\n SYMBOL: (874..875)\n IDENTIFIER: (874..875) \"p\"\n CLOSE_PAREN: (875..876) \")\"\n ATMOSPHERE: (876..893) \"\n \"\n FORM: (893..920)\n OPEN_PAREN: (893..894) \"(\"\n SYMBOL: (894..897)\n IDENTIFIER: (894..897) \"siv\"\n ATMOSPHERE: (897..898) \" \"\n FORM: (898..905)\n OPEN_PAREN: (898..899) \"(\"\n SYMBOL: (899..900)\n IDENTIFIER: (899..900) \"+\"\n ATMOSPHERE: (900..901) \" \"\n CONSTANT: (901..902)\n NUMBER: (901..902) \"1\"\n ATMOSPHERE: (902..903) \" \"\n SYMBOL: (903..904)\n IDENTIFIER: (903..904) \"p\"\n CLOSE_PAREN: (904..905) \")\"\n ATMOSPHERE: (905..906) \" \"\n SYMBOL: (906..912)\n IDENTIFIER: (906..912) \"marked\"\n ATMOSPHERE: (912..913) \" \"\n SYMBOL: (913..919)\n IDENTIFIER: (913..919) \"primes\"\n CLOSE_PAREN: (919..920) \")\"\n ATMOSPHERE: (920..937) \"\n \"\n FORM: (937..992)\n OPEN_PAREN: (937..938) \"(\"\n SYMBOL: (938..941)\n IDENTIFIER: (938..941) \"siv\"\n ATMOSPHERE: (941..942) \" \"\n FORM: (942..949)\n OPEN_PAREN: (942..943) \"(\"\n SYMBOL: (943..944)\n IDENTIFIER: (943..944) \"+\"\n ATMOSPHERE: (944..945) \" \"\n CONSTANT: (945..946)\n NUMBER: (945..946) \"1\"\n ATMOSPHERE: (946..947) \" \"\n SYMBOL: (947..948)\n IDENTIFIER: (947..948) \"p\"\n CLOSE_PAREN: (948..949) \")\"\n ATMOSPHERE: (949..950) \" \"\n FORM: (950..975)\n OPEN_PAREN: (950..951) \"(\"\n SYMBOL: (951..965)\n IDENTIFIER: (951..965) \"mark-multiples\"\n ATMOSPHERE: (965..966) \" \"\n SYMBOL: (966..967)\n IDENTIFIER: (966..967) \"p\"\n ATMOSPHERE: (967..968) \" \"\n SYMBOL: (968..974)\n IDENTIFIER: (968..974) \"marked\"\n CLOSE_PAREN: (974..975) \")\"\n ATMOSPHERE: (975..976) \" \"\n FORM: (976..991)\n OPEN_PAREN: (976..977) \"(\"\n SYMBOL: (977..981)\n IDENTIFIER: (977..981) \"cons\"\n ATMOSPHERE: (981..982) \" \"\n SYMBOL: (982..983)\n IDENTIFIER: (982..983) \"p\"\n ATMOSPHERE: (983..984) \" \"\n SYMBOL: (984..990)\n IDENTIFIER: (984..990) \"primes\"\n CLOSE_PAREN: (990..991) \")\"\n CLOSE_PAREN: (991..992) \")\"\n CLOSE_PAREN: (992..993) \")\"\n CLOSE_PAREN: (993..994) \")\"\n CLOSE_PAREN: (994..995) \")\"\n ATMOSPHERE: (995..1000) \"\n \"\n FORM: (1000..1029)\n OPEN_PAREN: (1000..1001) \"(\"\n SYMBOL: (1001..1004)\n IDENTIFIER: (1001..1004) \"siv\"\n ATMOSPHERE: (1004..1005) \" \"\n CONSTANT: (1005..1006)\n NUMBER: (1005..1006) \"2\"\n ATMOSPHERE: (1006..1007) \" \"\n FORM: (1007..1025)\n OPEN_PAREN: (1007..1008) \"(\"\n SYMBOL: (1008..1019)\n IDENTIFIER: (1008..1019) \"make-vector\"\n ATMOSPHERE: (1019..1020) \" \"\n SYMBOL: (1020..1021)\n IDENTIFIER: (1020..1021) \"n\"\n ATMOSPHERE: (1021..1022) \" \"\n CONSTANT: (1022..1024)\n BOOLEAN: (1022..1024) \"#f\"\n CLOSE_PAREN: (1024..1025) \")\"\n ATMOSPHERE: (1025..1026) \" \"\n FORM: (1026..1028)\n OPEN_PAREN: (1026..1027) \"(\"\n CLOSE_PAREN: (1027..1028) \")\"\n CLOSE_PAREN: (1028..1029) \")\"\n CLOSE_PAREN: (1029..1030) \")\"\n ATMOSPHERE: (1030..1032) \"\n\n\"\n ATMOSPHERE: (1032..1069) \";; ;; Display the first 10,000 primes\"\n ATMOSPHERE: (1069..1070) \"\n\"\n ATMOSPHERE: (1070..1104) \";; (display (eratosthenes 104730))\"\n ATMOSPHERE: (1104..1105) \"\n\"\n FORM: (1105..1135)\n OPEN_PAREN: (1105..1106) \"(\"\n SYMBOL: (1106..1113)\n IDENTIFIER: (1106..1113) \"display\"\n ATMOSPHERE: (1113..1114) \" \"\n FORM: (1114..1134)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1127)\n IDENTIFIER: (1115..1127) \"eratosthenes\"\n ATMOSPHERE: (1127..1128) \" \"\n CONSTANT: (1128..1133)\n NUMBER: (1128..1133) \"10000\"\n CLOSE_PAREN: (1133..1134) \")\"\n CLOSE_PAREN: (1134..1135) \")\"\n ATMOSPHERE: (1135..1136) \"\n\"\n EOF: (1136..1136) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fact.scm.json b/test/Feersum.Tests/_snapshots/Parse_fact.scm.json deleted file mode 100644 index ef8d389..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fact.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..143)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..115)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..58)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..55)\n IDENTIFIER: (51..55) \"fact\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"n\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..63) \"\n \"\n FORM: (63..114)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"=\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"n\"\n ATMOSPHERE: (71..72) \" \"\n CONSTANT: (72..73)\n NUMBER: (72..73) \"0\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..83) \"\n \"\n CONSTANT: (83..84)\n NUMBER: (83..84) \"1\"\n ATMOSPHERE: (84..93) \"\n \"\n FORM: (93..113)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..95)\n IDENTIFIER: (94..95) \"*\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..112)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..103)\n IDENTIFIER: (99..103) \"fact\"\n ATMOSPHERE: (103..104) \" \"\n FORM: (104..111)\n OPEN_PAREN: (104..105) \"(\"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"-\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"n\"\n ATMOSPHERE: (108..109) \" \"\n CONSTANT: (109..110)\n NUMBER: (109..110) \"1\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..135)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..125)\n IDENTIFIER: (118..125) \"display\"\n ATMOSPHERE: (125..126) \" \"\n FORM: (126..134)\n OPEN_PAREN: (126..127) \"(\"\n SYMBOL: (127..131)\n IDENTIFIER: (127..131) \"fact\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"4\"\n CLOSE_PAREN: (133..134) \")\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n ATMOSPHERE: (136..143) \"; => 24\"\n EOF: (143..143) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json deleted file mode 100644 index 51a9a37..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/3.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..133)\n ATMOSPHERE: (0..12) \"; expectfail\"\n ATMOSPHERE: (12..13) \"\n\"\n FORM: (13..25)\n OPEN_PAREN: (13..14) \"(\"\n SYMBOL: (14..20)\n IDENTIFIER: (14..20) \"define\"\n ATMOSPHERE: (20..21) \" \"\n SYMBOL: (21..22)\n IDENTIFIER: (21..22) \"n\"\n ATMOSPHERE: (22..23) \" \"\n CONSTANT: (23..24)\n NUMBER: (23..24) \"1\"\n CLOSE_PAREN: (24..25) \")\"\n ATMOSPHERE: (25..26) \"\n\"\n FORM: (26..133)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"lambda\"\n ATMOSPHERE: (33..34) \" \"\n FORM: (34..36)\n OPEN_PAREN: (34..35) \"(\"\n CLOSE_PAREN: (35..36) \")\"\n ATMOSPHERE: (36..45) \"\n \"\n FORM: (45..132)\n OPEN_PAREN: (45..46) \"(\"\n SYMBOL: (46..50)\n IDENTIFIER: (46..50) \"set!\"\n ATMOSPHERE: (50..51) \" \"\n SYMBOL: (51..52)\n IDENTIFIER: (51..52) \"n\"\n ATMOSPHERE: (52..53) \" \"\n FORM: (53..60)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..55)\n IDENTIFIER: (54..55) \"+\"\n ATMOSPHERE: (55..56) \" \"\n CONSTANT: (56..57)\n NUMBER: (56..57) \"1\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"n\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..61) \" \"\n ATMOSPHERE: (61..121) \"; note the `)` is on the next line. This `set!` is malformed\"\n ATMOSPHERE: (121..130) \"\n \"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"n\"\n CLOSE_PAREN: (131..132) \")\"\n CLOSE_PAREN: (132..133) \")\"\n EOF: (133..133) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json deleted file mode 100644 index f63ae72..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-imports.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..112)\n FORM: (0..29)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..28)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..12)\n IDENTIFIER: (9..12) \"not\"\n ATMOSPHERE: (12..13) \" \"\n SYMBOL: (13..14)\n IDENTIFIER: (13..14) \"a\"\n ATMOSPHERE: (14..15) \" \"\n SYMBOL: (15..19)\n IDENTIFIER: (15..19) \"real\"\n ATMOSPHERE: (19..20) \" \"\n SYMBOL: (20..27)\n IDENTIFIER: (20..27) \"library\"\n CLOSE_PAREN: (27..28) \")\"\n CLOSE_PAREN: (28..29) \")\"\n ATMOSPHERE: (29..30) \"\n\"\n FORM: (30..47)\n OPEN_PAREN: (30..31) \"(\"\n SYMBOL: (31..37)\n IDENTIFIER: (31..37) \"import\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..46)\n IDENTIFIER: (38..46) \"badthing\"\n CLOSE_PAREN: (46..47) \")\"\n ATMOSPHERE: (47..48) \"\n\"\n FORM: (48..112)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..63)\n IDENTIFIER: (49..63) \"define-library\"\n ATMOSPHERE: (63..64) \" \"\n FORM: (64..70)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..69)\n IDENTIFIER: (65..69) \"test\"\n CLOSE_PAREN: (69..70) \")\"\n ATMOSPHERE: (70..75) \"\n \"\n FORM: (75..111)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..82)\n IDENTIFIER: (76..82) \"import\"\n ATMOSPHERE: (82..83) \" \"\n FORM: (83..110)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..88)\n IDENTIFIER: (84..88) \"only\"\n ATMOSPHERE: (88..89) \" \"\n FORM: (89..103)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..94)\n IDENTIFIER: (90..94) \"test\"\n ATMOSPHERE: (94..95) \" \"\n SYMBOL: (95..102)\n IDENTIFIER: (95..102) \"greeter\"\n CLOSE_PAREN: (102..103) \")\"\n ATMOSPHERE: (103..104) \" \"\n SYMBOL: (104..109)\n IDENTIFIER: (104..109) \"greet\"\n CLOSE_PAREN: (109..110) \")\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n EOF: (112..112) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json deleted file mode 100644 index e248f15..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-letrecs.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..389)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..24) \"\n\n\"\n FORM: (24..246)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"letrec\"\n ATMOSPHERE: (31..32) \" \"\n FORM: (32..124)\n OPEN_PAREN: (32..33) \"(\"\n FORM: (33..53)\n OPEN_PAREN: (33..34) \"(\"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"first\"\n ATMOSPHERE: (39..40) \" \"\n FORM: (40..52)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..42)\n IDENTIFIER: (41..42) \"+\"\n ATMOSPHERE: (42..43) \" \"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"second\"\n ATMOSPHERE: (49..50) \" \"\n CONSTANT: (50..51)\n NUMBER: (50..51) \"1\"\n CLOSE_PAREN: (51..52) \")\"\n CLOSE_PAREN: (52..53) \")\"\n ATMOSPHERE: (53..54) \" \"\n ATMOSPHERE: (54..104) \"; Can't reference second here, it isn't intialised\"\n ATMOSPHERE: (104..109) \"\n \"\n FORM: (109..123)\n OPEN_PAREN: (109..110) \"(\"\n SYMBOL: (110..116)\n IDENTIFIER: (110..116) \"second\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..122)\n IDENTIFIER: (117..122) \"first\"\n CLOSE_PAREN: (122..123) \")\"\n CLOSE_PAREN: (123..124) \")\"\n ATMOSPHERE: (124..135) \" \"\n ATMOSPHERE: (135..179) \"; Can't reference first here, initialisation\"\n ATMOSPHERE: (179..210) \"\n \"\n ATMOSPHERE: (210..234) \"; order isn't specified.\"\n ATMOSPHERE: (234..239) \"\n \"\n SYMBOL: (239..245)\n IDENTIFIER: (239..245) \"second\"\n CLOSE_PAREN: (245..246) \")\"\n ATMOSPHERE: (246..247) \"\n\"\n FORM: (247..388)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..255)\n IDENTIFIER: (248..255) \"letrec*\"\n ATMOSPHERE: (255..256) \" \"\n FORM: (256..340)\n OPEN_PAREN: (256..257) \"(\"\n FORM: (257..279)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..263)\n IDENTIFIER: (258..263) \"first\"\n ATMOSPHERE: (263..264) \" \"\n FORM: (264..278)\n OPEN_PAREN: (264..265) \"(\"\n SYMBOL: (265..266)\n IDENTIFIER: (265..266) \"-\"\n ATMOSPHERE: (266..267) \" \"\n SYMBOL: (267..273)\n IDENTIFIER: (267..273) \"second\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..277)\n NUMBER: (274..277) \"100\"\n CLOSE_PAREN: (277..278) \")\"\n CLOSE_PAREN: (278..279) \")\"\n ATMOSPHERE: (279..280) \" \"\n ATMOSPHERE: (280..320) \"; Can't referenc second, not initialised\"\n ATMOSPHERE: (320..325) \"\n \"\n FORM: (325..339)\n OPEN_PAREN: (325..326) \"(\"\n SYMBOL: (326..332)\n IDENTIFIER: (326..332) \"second\"\n ATMOSPHERE: (332..333) \" \"\n SYMBOL: (333..338)\n IDENTIFIER: (333..338) \"first\"\n CLOSE_PAREN: (338..339) \")\"\n CLOSE_PAREN: (339..340) \")\"\n ATMOSPHERE: (340..354) \" \"\n ATMOSPHERE: (354..376) \"; This is actually OK.\"\n ATMOSPHERE: (376..381) \"\n \"\n SYMBOL: (381..387)\n IDENTIFIER: (381..387) \"second\"\n CLOSE_PAREN: (387..388) \")\"\n ATMOSPHERE: (388..389) \"\n\"\n EOF: (389..389) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json deleted file mode 100644 index 3524e38..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names-parsefail.scm.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Diagnostics": [ - { - "Kind": { - "Level": { - "Case": "Error" - }, - "Code": 10, - "Title": "Parse error" - }, - "Location": { - "Case": "Point", - "Fields": [ - { - "Source": "fail/bad-library-names-parsefail.scm", - "Line": 2, - "Col": 1 - } - ] - }, - "Message": "Expected expression after `.`" - } - ], - "Root": "PROGRAM: (0..19)\n FORM: (0..18)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n DOTTED_TAIL: (16..17)\n DOT: (16..17) \".\"\n CLOSE_PAREN: (17..18) \")\"\n ATMOSPHERE: (18..19) \"\n\"\n EOF: (19..19) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json deleted file mode 100644 index 3903a6a..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-library-names.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..189)\n FORM: (0..24)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n CONSTANT: (16..23)\n STRING: (16..23) \"\"hello\"\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..25) \"\n\"\n FORM: (25..64)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..40)\n IDENTIFIER: (26..40) \"define-library\"\n ATMOSPHERE: (40..41) \" \"\n FORM: (41..63)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"scheme\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..62)\n IDENTIFIER: (49..62) \"|silly'chars|\"\n CLOSE_PAREN: (62..63) \")\"\n CLOSE_PAREN: (63..64) \")\"\n ATMOSPHERE: (64..65) \"\n\"\n FORM: (65..91)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..80)\n IDENTIFIER: (66..80) \"define-library\"\n ATMOSPHERE: (80..81) \" \"\n FORM: (81..90)\n OPEN_PAREN: (81..82) \"(\"\n SYMBOL: (82..86)\n IDENTIFIER: (82..86) \"some\"\n ATMOSPHERE: (86..87) \" \"\n QUOTED_DATUM: (87..89)\n QUOTE: (87..88) \"'\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"t\"\n CLOSE_PAREN: (89..90) \")\"\n CLOSE_PAREN: (90..91) \")\"\n ATMOSPHERE: (91..92) \"\n\"\n FORM: (92..124)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..107)\n IDENTIFIER: (93..107) \"define-library\"\n ATMOSPHERE: (107..108) \" \"\n FORM: (108..123)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..113)\n IDENTIFIER: (109..113) \"srfi\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..119)\n IDENTIFIER: (114..119) \"trust\"\n ATMOSPHERE: (119..120) \" \"\n SYMBOL: (120..122)\n IDENTIFIER: (120..122) \"me\"\n CLOSE_PAREN: (122..123) \")\"\n CLOSE_PAREN: (123..124) \")\"\n ATMOSPHERE: (124..125) \"\n\"\n FORM: (125..188)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..140)\n IDENTIFIER: (126..140) \"define-library\"\n ATMOSPHERE: (140..141) \" \"\n FORM: (141..157)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..149)\n IDENTIFIER: (142..149) \"missing\"\n ATMOSPHERE: (149..150) \" \"\n SYMBOL: (150..156)\n IDENTIFIER: (150..156) \"export\"\n CLOSE_PAREN: (156..157) \")\"\n ATMOSPHERE: (157..162) \"\n \"\n FORM: (162..187)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..169)\n IDENTIFIER: (163..169) \"export\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..172)\n IDENTIFIER: (170..172) \"we\"\n ATMOSPHERE: (172..173) \" \"\n SYMBOL: (173..180)\n IDENTIFIER: (173..180) \"|don't|\"\n ATMOSPHERE: (180..181) \" \"\n SYMBOL: (181..186)\n IDENTIFIER: (181..186) \"exist\"\n CLOSE_PAREN: (186..187) \")\"\n CLOSE_PAREN: (187..188) \")\"\n ATMOSPHERE: (188..189) \"\n\"\n EOF: (189..189) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json deleted file mode 100644 index 06d5390..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/bad-strings-and-idents.scm.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Diagnostics": [ - { - "Kind": { - "Level": { - "Case": "Error" - }, - "Code": 10, - "Title": "Parse error" - }, - "Location": { - "Case": "Point", - "Fields": [ - { - "Source": "fail/bad-strings-and-idents.scm", - "Line": 11, - "Col": 1 - } - ] - }, - "Message": "Unexpected token Error '|\\x\n'" - } - ], - "Root": "PROGRAM: (0..193)\n ATMOSPHERE: (0..76) \";; FIXME: Almost none of these generate parser errors any more. We should be\"\n ATMOSPHERE: (76..77) \"\n\"\n ATMOSPHERE: (77..141) \";; more strict about what we accept as strings or idents.\"\n ATMOSPHERE: (141..143) \"\n\n\"\n CONSTANT: (143..148)\n STRING: (143..148) \"\"\\x;\"\"\n ATMOSPHERE: (148..149) \"\n\"\n CONSTANT: (149..155)\n STRING: (149..155) \"\"\\x20\"\"\n ATMOSPHERE: (155..156) \"\n\"\n CONSTANT: (156..171)\n STRING: (156..171) \"\"\\x10000;\\\"\n'|\"\"\n ATMOSPHERE: (171..172) \"\n\"\n CONSTANT: (172..180)\n CHARACTER: (172..180) \"#\\x12345\"\n ATMOSPHERE: (180..181) \"\n\"\n QUOTED_DATUM: (181..188)\n QUOTE: (181..182) \"'\"\n SYMBOL: (182..187)\n IDENTIFIER: (182..187) \"|\\x;|\"\n ATMOSPHERE: (187..188) \"\n\"\n QUOTED_DATUM: (188..193)\n QUOTE: (188..189) \"'\"\n CONSTANT: (189..193)\n ERROR: (189..193) \"|\\x\n\"\n EOF: (193..193) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json b/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json deleted file mode 100644 index af66d97..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fail/macrofails.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..426)\n FORM: (0..22)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..23) \"\n\"\n FORM: (23..147)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..37)\n IDENTIFIER: (24..37) \"define-syntax\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..48)\n IDENTIFIER: (38..48) \"test-macro\"\n ATMOSPHERE: (48..53) \"\n \"\n FORM: (53..146)\n OPEN_PAREN: (53..54) \"(\"\n SYMBOL: (54..66)\n IDENTIFIER: (54..66) \"syntax-rules\"\n ATMOSPHERE: (66..67) \" \"\n SYMBOL: (67..70)\n IDENTIFIER: (67..70) \":::\"\n ATMOSPHERE: (70..71) \" \"\n FORM: (71..77)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..76)\n IDENTIFIER: (72..76) \"test\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..86) \"\n \"\n FORM: (86..97)\n OPEN_PAREN: (86..87) \"(\"\n FORM: (87..90)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"_\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \" \"\n QUOTED_DATUM: (91..96)\n QUOTE: (91..92) \"'\"\n SYMBOL: (92..96)\n IDENTIFIER: (92..96) \"nowt\"\n CLOSE_PAREN: (96..97) \")\"\n ATMOSPHERE: (97..106) \"\n \"\n FORM: (106..145)\n OPEN_PAREN: (106..107) \"(\"\n FORM: (107..126)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"_\"\n ATMOSPHERE: (109..110) \" \"\n SYMBOL: (110..114)\n IDENTIFIER: (110..114) \"test\"\n ATMOSPHERE: (114..115) \" \"\n SYMBOL: (115..121)\n IDENTIFIER: (115..121) \"things\"\n ATMOSPHERE: (121..122) \" \"\n SYMBOL: (122..125)\n IDENTIFIER: (122..125) \":::\"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..127) \" \"\n FORM: (127..144)\n OPEN_PAREN: (127..128) \"(\"\n SYMBOL: (128..132)\n IDENTIFIER: (128..132) \"list\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"things\"\n ATMOSPHERE: (139..140) \" \"\n SYMBOL: (140..143)\n IDENTIFIER: (140..143) \":::\"\n CLOSE_PAREN: (143..144) \")\"\n CLOSE_PAREN: (144..145) \")\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n ATMOSPHERE: (147..149) \"\n\n\"\n FORM: (149..161)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..160)\n IDENTIFIER: (150..160) \"test-macro\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..162) \"\n\"\n FORM: (162..185)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..173)\n IDENTIFIER: (163..173) \"test-macro\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..178)\n IDENTIFIER: (174..178) \"test\"\n ATMOSPHERE: (178..179) \" \"\n CONSTANT: (179..180)\n NUMBER: (179..180) \"1\"\n ATMOSPHERE: (180..181) \" \"\n CONSTANT: (181..182)\n NUMBER: (181..182) \"2\"\n ATMOSPHERE: (182..183) \" \"\n CONSTANT: (183..184)\n NUMBER: (183..184) \"3\"\n CLOSE_PAREN: (184..185) \")\"\n ATMOSPHERE: (185..186) \"\n\"\n FORM: (186..212)\n OPEN_PAREN: (186..187) \"(\"\n SYMBOL: (187..197)\n IDENTIFIER: (187..197) \"test-macro\"\n ATMOSPHERE: (197..198) \" \"\n SYMBOL: (198..202)\n IDENTIFIER: (198..202) \"fail\"\n ATMOSPHERE: (202..203) \" \"\n SYMBOL: (203..207)\n IDENTIFIER: (203..207) \"this\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..211)\n IDENTIFIER: (208..211) \"one\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..214) \"\n\n\"\n FORM: (214..426)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..225)\n IDENTIFIER: (215..225) \"let-syntax\"\n ATMOSPHERE: (225..230) \"\n \"\n FORM: (230..405)\n OPEN_PAREN: (230..231) \"(\"\n FORM: (231..404)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..239)\n IDENTIFIER: (232..239) \"another\"\n ATMOSPHERE: (239..240) \" \"\n FORM: (240..403)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..253)\n IDENTIFIER: (241..253) \"syntax-rules\"\n ATMOSPHERE: (253..254) \" \"\n FORM: (254..256)\n OPEN_PAREN: (254..255) \"(\"\n CLOSE_PAREN: (255..256) \")\"\n ATMOSPHERE: (256..265) \"\n \"\n FORM: (265..285)\n OPEN_PAREN: (265..266) \"(\"\n FORM: (266..275)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..268)\n IDENTIFIER: (267..268) \"_\"\n ATMOSPHERE: (268..269) \" \"\n SYMBOL: (269..270)\n IDENTIFIER: (269..270) \"a\"\n ATMOSPHERE: (270..271) \" \"\n SYMBOL: (271..274)\n IDENTIFIER: (271..274) \"...\"\n CLOSE_PAREN: (274..275) \")\"\n ATMOSPHERE: (275..276) \" \"\n QUOTED_DATUM: (276..284)\n QUOTE: (276..277) \"'\"\n FORM: (277..284)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..279)\n IDENTIFIER: (278..279) \"a\"\n ATMOSPHERE: (279..280) \" \"\n SYMBOL: (280..283)\n IDENTIFIER: (280..283) \"...\"\n CLOSE_PAREN: (283..284) \")\"\n CLOSE_PAREN: (284..285) \")\"\n ATMOSPHERE: (285..294) \"\n \"\n ATMOSPHERE: (294..327) \"; we expect a diagnostic for both\"\n ATMOSPHERE: (327..336) \"\n \"\n ATMOSPHERE: (336..366) \"; these malformed dotted forms\"\n ATMOSPHERE: (366..375) \"\n \"\n FORM: (375..393)\n OPEN_PAREN: (375..376) \"(\"\n FORM: (376..381)\n OPEN_PAREN: (376..377) \"(\"\n DOTTED_TAIL: (377..380)\n DOT: (377..378) \".\"\n ATMOSPHERE: (378..379) \" \"\n SYMBOL: (379..380)\n IDENTIFIER: (379..380) \"_\"\n CLOSE_PAREN: (380..381) \")\"\n ATMOSPHERE: (381..382) \" \"\n FORM: (382..392)\n OPEN_PAREN: (382..383) \"(\"\n DOTTED_TAIL: (383..391)\n DOT: (383..384) \".\"\n ATMOSPHERE: (384..385) \" \"\n CONSTANT: (385..391)\n STRING: (385..391) \"\"test\"\"\n CLOSE_PAREN: (391..392) \")\"\n CLOSE_PAREN: (392..393) \")\"\n ATMOSPHERE: (393..402) \"\n \"\n CLOSE_PAREN: (402..403) \")\"\n CLOSE_PAREN: (403..404) \")\"\n CLOSE_PAREN: (404..405) \")\"\n ATMOSPHERE: (405..410) \"\n \"\n FORM: (410..425)\n OPEN_PAREN: (410..411) \"(\"\n SYMBOL: (411..418)\n IDENTIFIER: (411..418) \"another\"\n ATMOSPHERE: (418..419) \" \"\n CONSTANT: (419..420)\n NUMBER: (419..420) \"1\"\n ATMOSPHERE: (420..421) \" \"\n CONSTANT: (421..422)\n NUMBER: (421..422) \"2\"\n ATMOSPHERE: (422..423) \" \"\n CONSTANT: (423..424)\n NUMBER: (423..424) \"3\"\n CLOSE_PAREN: (424..425) \")\"\n CLOSE_PAREN: (425..426) \")\"\n EOF: (426..426) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_false.scm.json b/test/Feersum.Tests/_snapshots/Parse_false.scm.json deleted file mode 100644 index 41c4b53..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_false.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..2)\n CONSTANT: (0..2)\n BOOLEAN: (0..2) \"#f\"\n EOF: (2..2) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_fib.scm.json b/test/Feersum.Tests/_snapshots/Parse_fib.scm.json deleted file mode 100644 index b55f9b6..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_fib.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..267)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..56) \"; 1 1 2 3 5 8\"\n ATMOSPHERE: (56..57) \"\n\"\n ATMOSPHERE: (57..70) \"; 1 2 3 4 5 6\"\n ATMOSPHERE: (70..72) \"\n\n\"\n FORM: (72..236)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..79)\n IDENTIFIER: (73..79) \"define\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..87)\n OPEN_PAREN: (80..81) \"(\"\n SYMBOL: (81..84)\n IDENTIFIER: (81..84) \"fib\"\n ATMOSPHERE: (84..85) \" \"\n SYMBOL: (85..86)\n IDENTIFIER: (85..86) \"n\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..92) \"\n \"\n FORM: (92..212)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..99)\n IDENTIFIER: (93..99) \"define\"\n ATMOSPHERE: (99..100) \" \"\n FORM: (100..123)\n OPEN_PAREN: (100..101) \"(\"\n SYMBOL: (101..111)\n IDENTIFIER: (101..111) \"fib-helper\"\n ATMOSPHERE: (111..112) \" \"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"n\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..118)\n IDENTIFIER: (114..118) \"last\"\n ATMOSPHERE: (118..119) \" \"\n SYMBOL: (119..122)\n IDENTIFIER: (119..122) \"cur\"\n CLOSE_PAREN: (122..123) \")\"\n ATMOSPHERE: (123..132) \"\n \"\n FORM: (132..211)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..135)\n IDENTIFIER: (133..135) \"if\"\n ATMOSPHERE: (135..136) \" \"\n FORM: (136..144)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..139)\n IDENTIFIER: (137..139) \"<=\"\n ATMOSPHERE: (139..140) \" \"\n SYMBOL: (140..141)\n IDENTIFIER: (140..141) \"n\"\n ATMOSPHERE: (141..142) \" \"\n CONSTANT: (142..143)\n NUMBER: (142..143) \"2\"\n CLOSE_PAREN: (143..144) \")\"\n ATMOSPHERE: (144..157) \"\n \"\n SYMBOL: (157..160)\n IDENTIFIER: (157..160) \"cur\"\n ATMOSPHERE: (160..173) \"\n \"\n FORM: (173..210)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..184)\n IDENTIFIER: (174..184) \"fib-helper\"\n ATMOSPHERE: (184..185) \" \"\n FORM: (185..192)\n OPEN_PAREN: (185..186) \"(\"\n SYMBOL: (186..187)\n IDENTIFIER: (186..187) \"-\"\n ATMOSPHERE: (187..188) \" \"\n SYMBOL: (188..189)\n IDENTIFIER: (188..189) \"n\"\n ATMOSPHERE: (189..190) \" \"\n CONSTANT: (190..191)\n NUMBER: (190..191) \"1\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..193) \" \"\n SYMBOL: (193..196)\n IDENTIFIER: (193..196) \"cur\"\n ATMOSPHERE: (196..197) \" \"\n FORM: (197..209)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..199)\n IDENTIFIER: (198..199) \"+\"\n ATMOSPHERE: (199..200) \" \"\n SYMBOL: (200..203)\n IDENTIFIER: (200..203) \"cur\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..208)\n IDENTIFIER: (204..208) \"last\"\n CLOSE_PAREN: (208..209) \")\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..217) \"\n \"\n FORM: (217..235)\n OPEN_PAREN: (217..218) \"(\"\n SYMBOL: (218..228)\n IDENTIFIER: (218..228) \"fib-helper\"\n ATMOSPHERE: (228..229) \" \"\n SYMBOL: (229..230)\n IDENTIFIER: (229..230) \"n\"\n ATMOSPHERE: (230..231) \" \"\n CONSTANT: (231..232)\n NUMBER: (231..232) \"1\"\n ATMOSPHERE: (232..233) \" \"\n CONSTANT: (233..234)\n NUMBER: (233..234) \"1\"\n CLOSE_PAREN: (234..235) \")\"\n CLOSE_PAREN: (235..236) \")\"\n ATMOSPHERE: (236..239) \"\n\n\n\"\n FORM: (239..257)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..247)\n IDENTIFIER: (240..247) \"display\"\n ATMOSPHERE: (247..248) \" \"\n FORM: (248..256)\n OPEN_PAREN: (248..249) \"(\"\n SYMBOL: (249..252)\n IDENTIFIER: (249..252) \"fib\"\n ATMOSPHERE: (252..253) \" \"\n CONSTANT: (253..255)\n NUMBER: (253..255) \"40\"\n CLOSE_PAREN: (255..256) \")\"\n CLOSE_PAREN: (256..257) \")\"\n FORM: (257..266)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..265)\n IDENTIFIER: (258..265) \"newline\"\n CLOSE_PAREN: (265..266) \")\"\n ATMOSPHERE: (266..267) \"\n\"\n EOF: (267..267) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json b/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json deleted file mode 100644 index 4bda91e..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_gcd.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..449)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..106)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..60)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..55)\n IDENTIFIER: (52..55) \"mod\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"a\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"b\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..63) \"\n \"\n FORM: (63..105)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"<\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"a\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"b\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..81) \"\n \"\n SYMBOL: (81..82)\n IDENTIFIER: (81..82) \"a\"\n ATMOSPHERE: (82..89) \"\n \"\n FORM: (89..104)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..93)\n IDENTIFIER: (90..93) \"mod\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..101)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..96)\n IDENTIFIER: (95..96) \"-\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..98)\n IDENTIFIER: (97..98) \"a\"\n ATMOSPHERE: (98..99) \" \"\n SYMBOL: (99..100)\n IDENTIFIER: (99..100) \"b\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..102) \" \"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"b\"\n CLOSE_PAREN: (103..104) \")\"\n CLOSE_PAREN: (104..105) \")\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..108) \"\n\n\"\n FORM: (108..173)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..115)\n IDENTIFIER: (109..115) \"define\"\n ATMOSPHERE: (115..116) \" \"\n FORM: (116..125)\n OPEN_PAREN: (116..117) \"(\"\n SYMBOL: (117..120)\n IDENTIFIER: (117..120) \"gcd\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"a\"\n ATMOSPHERE: (122..123) \" \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"b\"\n CLOSE_PAREN: (124..125) \")\"\n ATMOSPHERE: (125..128) \"\n \"\n FORM: (128..172)\n OPEN_PAREN: (128..129) \"(\"\n SYMBOL: (129..131)\n IDENTIFIER: (129..131) \"if\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..139)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"=\"\n ATMOSPHERE: (134..135) \" \"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"b\"\n ATMOSPHERE: (136..137) \" \"\n CONSTANT: (137..138)\n NUMBER: (137..138) \"0\"\n CLOSE_PAREN: (138..139) \")\"\n ATMOSPHERE: (139..146) \"\n \"\n SYMBOL: (146..147)\n IDENTIFIER: (146..147) \"a\"\n ATMOSPHERE: (147..154) \"\n \"\n FORM: (154..171)\n OPEN_PAREN: (154..155) \"(\"\n SYMBOL: (155..158)\n IDENTIFIER: (155..158) \"gcd\"\n ATMOSPHERE: (158..159) \" \"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"b\"\n ATMOSPHERE: (160..161) \" \"\n FORM: (161..170)\n OPEN_PAREN: (161..162) \"(\"\n SYMBOL: (162..165)\n IDENTIFIER: (162..165) \"mod\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"a\"\n ATMOSPHERE: (167..168) \" \"\n SYMBOL: (168..169)\n IDENTIFIER: (168..169) \"b\"\n CLOSE_PAREN: (169..170) \")\"\n CLOSE_PAREN: (170..171) \")\"\n CLOSE_PAREN: (171..172) \")\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..175) \"\n\n\"\n FORM: (175..195)\n OPEN_PAREN: (175..176) \"(\"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"display\"\n ATMOSPHERE: (183..184) \" \"\n FORM: (184..194)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..188)\n IDENTIFIER: (185..188) \"gcd\"\n ATMOSPHERE: (188..189) \" \"\n CONSTANT: (189..190)\n NUMBER: (189..190) \"8\"\n ATMOSPHERE: (190..191) \" \"\n CONSTANT: (191..193)\n NUMBER: (191..193) \"12\"\n CLOSE_PAREN: (193..194) \")\"\n CLOSE_PAREN: (194..195) \")\"\n FORM: (195..204)\n OPEN_PAREN: (195..196) \"(\"\n SYMBOL: (196..203)\n IDENTIFIER: (196..203) \"newline\"\n CLOSE_PAREN: (203..204) \")\"\n ATMOSPHERE: (204..205) \"\n\"\n FORM: (205..226)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..213)\n IDENTIFIER: (206..213) \"display\"\n ATMOSPHERE: (213..214) \" \"\n FORM: (214..225)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..218)\n IDENTIFIER: (215..218) \"gcd\"\n ATMOSPHERE: (218..219) \" \"\n CONSTANT: (219..221)\n NUMBER: (219..221) \"42\"\n ATMOSPHERE: (221..222) \" \"\n CONSTANT: (222..224)\n NUMBER: (222..224) \"56\"\n CLOSE_PAREN: (224..225) \")\"\n CLOSE_PAREN: (225..226) \")\"\n FORM: (226..235)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..234)\n IDENTIFIER: (227..234) \"newline\"\n CLOSE_PAREN: (234..235) \")\"\n ATMOSPHERE: (235..236) \"\n\"\n FORM: (236..265)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..244)\n IDENTIFIER: (237..244) \"display\"\n ATMOSPHERE: (244..245) \" \"\n FORM: (245..264)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..249)\n IDENTIFIER: (246..249) \"gcd\"\n ATMOSPHERE: (249..250) \" \"\n CONSTANT: (250..256)\n NUMBER: (250..256) \"461952\"\n ATMOSPHERE: (256..257) \" \"\n CONSTANT: (257..263)\n NUMBER: (257..263) \"116298\"\n CLOSE_PAREN: (263..264) \")\"\n CLOSE_PAREN: (264..265) \")\"\n FORM: (265..274)\n OPEN_PAREN: (265..266) \"(\"\n SYMBOL: (266..273)\n IDENTIFIER: (266..273) \"newline\"\n CLOSE_PAREN: (273..274) \")\"\n ATMOSPHERE: (274..275) \"\n\"\n FORM: (275..308)\n OPEN_PAREN: (275..276) \"(\"\n SYMBOL: (276..283)\n IDENTIFIER: (276..283) \"display\"\n ATMOSPHERE: (283..284) \" \"\n FORM: (284..307)\n OPEN_PAREN: (284..285) \"(\"\n SYMBOL: (285..288)\n IDENTIFIER: (285..288) \"gcd\"\n ATMOSPHERE: (288..289) \" \"\n CONSTANT: (289..296)\n NUMBER: (289..296) \"7966496\"\n ATMOSPHERE: (296..297) \" \"\n CONSTANT: (297..306)\n NUMBER: (297..306) \"314080416\"\n CLOSE_PAREN: (306..307) \")\"\n CLOSE_PAREN: (307..308) \")\"\n FORM: (308..317)\n OPEN_PAREN: (308..309) \"(\"\n SYMBOL: (309..316)\n IDENTIFIER: (309..316) \"newline\"\n CLOSE_PAREN: (316..317) \")\"\n ATMOSPHERE: (317..318) \"\n\"\n FORM: (318..351)\n OPEN_PAREN: (318..319) \"(\"\n SYMBOL: (319..326)\n IDENTIFIER: (319..326) \"display\"\n ATMOSPHERE: (326..327) \" \"\n FORM: (327..350)\n OPEN_PAREN: (327..328) \"(\"\n SYMBOL: (328..331)\n IDENTIFIER: (328..331) \"gcd\"\n ATMOSPHERE: (331..332) \" \"\n CONSTANT: (332..340)\n NUMBER: (332..340) \"24826148\"\n ATMOSPHERE: (340..341) \" \"\n CONSTANT: (341..349)\n NUMBER: (341..349) \"45296490\"\n CLOSE_PAREN: (349..350) \")\"\n CLOSE_PAREN: (350..351) \")\"\n FORM: (351..360)\n OPEN_PAREN: (351..352) \"(\"\n SYMBOL: (352..359)\n IDENTIFIER: (352..359) \"newline\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..361) \"\n\"\n FORM: (361..381)\n OPEN_PAREN: (361..362) \"(\"\n SYMBOL: (362..369)\n IDENTIFIER: (362..369) \"display\"\n ATMOSPHERE: (369..370) \" \"\n FORM: (370..380)\n OPEN_PAREN: (370..371) \"(\"\n SYMBOL: (371..374)\n IDENTIFIER: (371..374) \"gcd\"\n ATMOSPHERE: (374..375) \" \"\n CONSTANT: (375..377)\n NUMBER: (375..377) \"12\"\n ATMOSPHERE: (377..378) \" \"\n CONSTANT: (378..379)\n NUMBER: (378..379) \"0\"\n CLOSE_PAREN: (379..380) \")\"\n CLOSE_PAREN: (380..381) \")\"\n FORM: (381..390)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..389)\n IDENTIFIER: (382..389) \"newline\"\n CLOSE_PAREN: (389..390) \")\"\n ATMOSPHERE: (390..391) \"\n\"\n FORM: (391..410)\n OPEN_PAREN: (391..392) \"(\"\n SYMBOL: (392..399)\n IDENTIFIER: (392..399) \"display\"\n ATMOSPHERE: (399..400) \" \"\n FORM: (400..409)\n OPEN_PAREN: (400..401) \"(\"\n SYMBOL: (401..404)\n IDENTIFIER: (401..404) \"gcd\"\n ATMOSPHERE: (404..405) \" \"\n CONSTANT: (405..406)\n NUMBER: (405..406) \"0\"\n ATMOSPHERE: (406..407) \" \"\n CONSTANT: (407..408)\n NUMBER: (407..408) \"0\"\n CLOSE_PAREN: (408..409) \")\"\n CLOSE_PAREN: (409..410) \")\"\n FORM: (410..419)\n OPEN_PAREN: (410..411) \"(\"\n SYMBOL: (411..418)\n IDENTIFIER: (411..418) \"newline\"\n CLOSE_PAREN: (418..419) \")\"\n ATMOSPHERE: (419..420) \"\n\"\n FORM: (420..439)\n OPEN_PAREN: (420..421) \"(\"\n SYMBOL: (421..428)\n IDENTIFIER: (421..428) \"display\"\n ATMOSPHERE: (428..429) \" \"\n FORM: (429..438)\n OPEN_PAREN: (429..430) \"(\"\n SYMBOL: (430..433)\n IDENTIFIER: (430..433) \"gcd\"\n ATMOSPHERE: (433..434) \" \"\n CONSTANT: (434..435)\n NUMBER: (434..435) \"0\"\n ATMOSPHERE: (435..436) \" \"\n CONSTANT: (436..437)\n NUMBER: (436..437) \"9\"\n CLOSE_PAREN: (437..438) \")\"\n CLOSE_PAREN: (438..439) \")\"\n FORM: (439..448)\n OPEN_PAREN: (439..440) \"(\"\n SYMBOL: (440..447)\n IDENTIFIER: (440..447) \"newline\"\n CLOSE_PAREN: (447..448) \")\"\n ATMOSPHERE: (448..449) \"\n\"\n EOF: (449..449) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json b/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json deleted file mode 100644 index bba9d5e..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_greatest_diff.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..836)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..82)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..60)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..55)\n IDENTIFIER: (52..55) \"min\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"x\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..59)\n IDENTIFIER: (58..59) \"y\"\n CLOSE_PAREN: (59..60) \")\"\n ATMOSPHERE: (60..65) \"\n \"\n FORM: (65..81)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..68)\n IDENTIFIER: (66..68) \"if\"\n ATMOSPHERE: (68..69) \" \"\n FORM: (69..76)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"<\"\n ATMOSPHERE: (71..72) \" \"\n SYMBOL: (72..73)\n IDENTIFIER: (72..73) \"x\"\n ATMOSPHERE: (73..74) \" \"\n SYMBOL: (74..75)\n IDENTIFIER: (74..75) \"y\"\n CLOSE_PAREN: (75..76) \")\"\n ATMOSPHERE: (76..77) \" \"\n SYMBOL: (77..78)\n IDENTIFIER: (77..78) \"x\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..80)\n IDENTIFIER: (79..80) \"y\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..83) \"\n\"\n FORM: (83..122)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..90)\n IDENTIFIER: (84..90) \"define\"\n ATMOSPHERE: (90..91) \" \"\n FORM: (91..100)\n OPEN_PAREN: (91..92) \"(\"\n SYMBOL: (92..95)\n IDENTIFIER: (92..95) \"max\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"x\"\n ATMOSPHERE: (97..98) \" \"\n SYMBOL: (98..99)\n IDENTIFIER: (98..99) \"y\"\n CLOSE_PAREN: (99..100) \")\"\n ATMOSPHERE: (100..105) \"\n \"\n FORM: (105..121)\n OPEN_PAREN: (105..106) \"(\"\n SYMBOL: (106..108)\n IDENTIFIER: (106..108) \"if\"\n ATMOSPHERE: (108..109) \" \"\n FORM: (109..116)\n OPEN_PAREN: (109..110) \"(\"\n SYMBOL: (110..111)\n IDENTIFIER: (110..111) \">\"\n ATMOSPHERE: (111..112) \" \"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"x\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"y\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..118)\n IDENTIFIER: (117..118) \"x\"\n ATMOSPHERE: (118..119) \" \"\n SYMBOL: (119..120)\n IDENTIFIER: (119..120) \"y\"\n CLOSE_PAREN: (120..121) \")\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..124) \"\n\n\"\n ATMOSPHERE: (124..171) \";; Computes the greatest consecutive difference\"\n ATMOSPHERE: (171..172) \"\n\"\n FORM: (172..566)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..179)\n IDENTIFIER: (173..179) \"define\"\n ATMOSPHERE: (179..180) \" \"\n FORM: (180..200)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..194)\n IDENTIFIER: (181..194) \"greatest-diff\"\n ATMOSPHERE: (194..195) \" \"\n SYMBOL: (195..199)\n IDENTIFIER: (195..199) \"nums\"\n CLOSE_PAREN: (199..200) \")\"\n ATMOSPHERE: (200..205) \"\n \"\n FORM: (205..523)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..212)\n IDENTIFIER: (206..212) \"define\"\n ATMOSPHERE: (212..213) \" \"\n FORM: (213..248)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..234)\n IDENTIFIER: (214..234) \"greatest-diff-helper\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..239)\n IDENTIFIER: (235..239) \"nums\"\n ATMOSPHERE: (239..240) \" \"\n SYMBOL: (240..243)\n IDENTIFIER: (240..243) \"low\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..247)\n IDENTIFIER: (244..247) \"ret\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..257) \"\n \"\n FORM: (257..522)\n OPEN_PAREN: (257..258) \"(\"\n SYMBOL: (258..260)\n IDENTIFIER: (258..260) \"if\"\n ATMOSPHERE: (260..261) \" \"\n FORM: (261..273)\n OPEN_PAREN: (261..262) \"(\"\n SYMBOL: (262..267)\n IDENTIFIER: (262..267) \"null?\"\n ATMOSPHERE: (267..268) \" \"\n SYMBOL: (268..272)\n IDENTIFIER: (268..272) \"nums\"\n CLOSE_PAREN: (272..273) \")\"\n ATMOSPHERE: (273..286) \"\n \"\n SYMBOL: (286..289)\n IDENTIFIER: (286..289) \"ret\"\n ATMOSPHERE: (289..302) \"\n \"\n FORM: (302..521)\n OPEN_PAREN: (302..303) \"(\"\n SYMBOL: (303..307)\n IDENTIFIER: (303..307) \"let*\"\n ATMOSPHERE: (307..308) \" \"\n FORM: (308..468)\n OPEN_PAREN: (308..309) \"(\"\n FORM: (309..325)\n OPEN_PAREN: (309..310) \"(\"\n SYMBOL: (310..313)\n IDENTIFIER: (310..313) \"cur\"\n ATMOSPHERE: (313..314) \" \"\n FORM: (314..324)\n OPEN_PAREN: (314..315) \"(\"\n SYMBOL: (315..318)\n IDENTIFIER: (315..318) \"car\"\n ATMOSPHERE: (318..319) \" \"\n SYMBOL: (319..323)\n IDENTIFIER: (319..323) \"nums\"\n CLOSE_PAREN: (323..324) \")\"\n CLOSE_PAREN: (324..325) \")\"\n ATMOSPHERE: (325..342) \"\n \"\n FORM: (342..359)\n OPEN_PAREN: (342..343) \"(\"\n SYMBOL: (343..347)\n IDENTIFIER: (343..347) \"rest\"\n ATMOSPHERE: (347..348) \" \"\n FORM: (348..358)\n OPEN_PAREN: (348..349) \"(\"\n SYMBOL: (349..352)\n IDENTIFIER: (349..352) \"cdr\"\n ATMOSPHERE: (352..353) \" \"\n SYMBOL: (353..357)\n IDENTIFIER: (353..357) \"nums\"\n CLOSE_PAREN: (357..358) \")\"\n CLOSE_PAREN: (358..359) \")\"\n ATMOSPHERE: (359..376) \"\n \"\n FORM: (376..394)\n OPEN_PAREN: (376..377) \"(\"\n SYMBOL: (377..381)\n IDENTIFIER: (377..381) \"diff\"\n ATMOSPHERE: (381..382) \" \"\n FORM: (382..393)\n OPEN_PAREN: (382..383) \"(\"\n SYMBOL: (383..384)\n IDENTIFIER: (383..384) \"-\"\n ATMOSPHERE: (384..385) \" \"\n SYMBOL: (385..388)\n IDENTIFIER: (385..388) \"cur\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..392)\n IDENTIFIER: (389..392) \"low\"\n CLOSE_PAREN: (392..393) \")\"\n CLOSE_PAREN: (393..394) \")\"\n ATMOSPHERE: (394..411) \"\n \"\n FORM: (411..430)\n OPEN_PAREN: (411..412) \"(\"\n SYMBOL: (412..415)\n IDENTIFIER: (412..415) \"low\"\n ATMOSPHERE: (415..416) \" \"\n FORM: (416..429)\n OPEN_PAREN: (416..417) \"(\"\n SYMBOL: (417..420)\n IDENTIFIER: (417..420) \"min\"\n ATMOSPHERE: (420..421) \" \"\n SYMBOL: (421..424)\n IDENTIFIER: (421..424) \"low\"\n ATMOSPHERE: (424..425) \" \"\n SYMBOL: (425..428)\n IDENTIFIER: (425..428) \"cur\"\n CLOSE_PAREN: (428..429) \")\"\n CLOSE_PAREN: (429..430) \")\"\n ATMOSPHERE: (430..447) \"\n \"\n FORM: (447..467)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..451)\n IDENTIFIER: (448..451) \"ret\"\n ATMOSPHERE: (451..452) \" \"\n FORM: (452..466)\n OPEN_PAREN: (452..453) \"(\"\n SYMBOL: (453..456)\n IDENTIFIER: (453..456) \"max\"\n ATMOSPHERE: (456..457) \" \"\n SYMBOL: (457..461)\n IDENTIFIER: (457..461) \"diff\"\n ATMOSPHERE: (461..462) \" \"\n SYMBOL: (462..465)\n IDENTIFIER: (462..465) \"ret\"\n CLOSE_PAREN: (465..466) \")\"\n CLOSE_PAREN: (466..467) \")\"\n CLOSE_PAREN: (467..468) \")\"\n ATMOSPHERE: (468..485) \"\n \"\n FORM: (485..520)\n OPEN_PAREN: (485..486) \"(\"\n SYMBOL: (486..506)\n IDENTIFIER: (486..506) \"greatest-diff-helper\"\n ATMOSPHERE: (506..507) \" \"\n SYMBOL: (507..511)\n IDENTIFIER: (507..511) \"rest\"\n ATMOSPHERE: (511..512) \" \"\n SYMBOL: (512..515)\n IDENTIFIER: (512..515) \"low\"\n ATMOSPHERE: (515..516) \" \"\n SYMBOL: (516..519)\n IDENTIFIER: (516..519) \"ret\"\n CLOSE_PAREN: (519..520) \")\"\n CLOSE_PAREN: (520..521) \")\"\n CLOSE_PAREN: (521..522) \")\"\n CLOSE_PAREN: (522..523) \")\"\n ATMOSPHERE: (523..528) \"\n \"\n FORM: (528..565)\n OPEN_PAREN: (528..529) \"(\"\n SYMBOL: (529..549)\n IDENTIFIER: (529..549) \"greatest-diff-helper\"\n ATMOSPHERE: (549..550) \" \"\n SYMBOL: (550..554)\n IDENTIFIER: (550..554) \"nums\"\n ATMOSPHERE: (554..555) \" \"\n CONSTANT: (555..561)\n NUMBER: (555..561) \"100000\"\n ATMOSPHERE: (561..562) \" \"\n CONSTANT: (562..564)\n NUMBER: (562..564) \"-1\"\n CLOSE_PAREN: (564..565) \")\"\n CLOSE_PAREN: (565..566) \")\"\n ATMOSPHERE: (566..569) \"\n\n\n\"\n FORM: (569..611)\n OPEN_PAREN: (569..570) \"(\"\n SYMBOL: (570..577)\n IDENTIFIER: (570..577) \"display\"\n ATMOSPHERE: (577..578) \" \"\n FORM: (578..610)\n OPEN_PAREN: (578..579) \"(\"\n SYMBOL: (579..592)\n IDENTIFIER: (579..592) \"greatest-diff\"\n ATMOSPHERE: (592..593) \" \"\n FORM: (593..609)\n OPEN_PAREN: (593..594) \"(\"\n SYMBOL: (594..598)\n IDENTIFIER: (594..598) \"list\"\n ATMOSPHERE: (598..599) \" \"\n CONSTANT: (599..600)\n NUMBER: (599..600) \"1\"\n ATMOSPHERE: (600..601) \" \"\n CONSTANT: (601..602)\n NUMBER: (601..602) \"2\"\n ATMOSPHERE: (602..603) \" \"\n CONSTANT: (603..604)\n NUMBER: (603..604) \"3\"\n ATMOSPHERE: (604..605) \" \"\n CONSTANT: (605..606)\n NUMBER: (605..606) \"4\"\n ATMOSPHERE: (606..607) \" \"\n CONSTANT: (607..608)\n NUMBER: (607..608) \"5\"\n CLOSE_PAREN: (608..609) \")\"\n CLOSE_PAREN: (609..610) \")\"\n CLOSE_PAREN: (610..611) \")\"\n FORM: (611..620)\n OPEN_PAREN: (611..612) \"(\"\n SYMBOL: (612..619)\n IDENTIFIER: (612..619) \"newline\"\n CLOSE_PAREN: (619..620) \")\"\n ATMOSPHERE: (620..622) \" \"\n ATMOSPHERE: (622..634) \"; -> 4 (1 5)\"\n ATMOSPHERE: (634..635) \"\n\"\n FORM: (635..675)\n OPEN_PAREN: (635..636) \"(\"\n SYMBOL: (636..643)\n IDENTIFIER: (636..643) \"display\"\n ATMOSPHERE: (643..644) \" \"\n FORM: (644..674)\n OPEN_PAREN: (644..645) \"(\"\n SYMBOL: (645..658)\n IDENTIFIER: (645..658) \"greatest-diff\"\n ATMOSPHERE: (658..659) \" \"\n FORM: (659..673)\n OPEN_PAREN: (659..660) \"(\"\n SYMBOL: (660..664)\n IDENTIFIER: (660..664) \"list\"\n ATMOSPHERE: (664..665) \" \"\n CONSTANT: (665..666)\n NUMBER: (665..666) \"7\"\n ATMOSPHERE: (666..667) \" \"\n CONSTANT: (667..668)\n NUMBER: (667..668) \"1\"\n ATMOSPHERE: (668..669) \" \"\n CONSTANT: (669..670)\n NUMBER: (669..670) \"5\"\n ATMOSPHERE: (670..671) \" \"\n CONSTANT: (671..672)\n NUMBER: (671..672) \"4\"\n CLOSE_PAREN: (672..673) \")\"\n CLOSE_PAREN: (673..674) \")\"\n CLOSE_PAREN: (674..675) \")\"\n FORM: (675..684)\n OPEN_PAREN: (675..676) \"(\"\n SYMBOL: (676..683)\n IDENTIFIER: (676..683) \"newline\"\n CLOSE_PAREN: (683..684) \")\"\n ATMOSPHERE: (684..688) \" \"\n ATMOSPHERE: (688..700) \"; -> 4 (1 5)\"\n ATMOSPHERE: (700..701) \"\n\"\n FORM: (701..741)\n OPEN_PAREN: (701..702) \"(\"\n SYMBOL: (702..709)\n IDENTIFIER: (702..709) \"display\"\n ATMOSPHERE: (709..710) \" \"\n FORM: (710..740)\n OPEN_PAREN: (710..711) \"(\"\n SYMBOL: (711..724)\n IDENTIFIER: (711..724) \"greatest-diff\"\n ATMOSPHERE: (724..725) \" \"\n FORM: (725..739)\n OPEN_PAREN: (725..726) \"(\"\n SYMBOL: (726..730)\n IDENTIFIER: (726..730) \"list\"\n ATMOSPHERE: (730..731) \" \"\n CONSTANT: (731..732)\n NUMBER: (731..732) \"9\"\n ATMOSPHERE: (732..733) \" \"\n CONSTANT: (733..734)\n NUMBER: (733..734) \"4\"\n ATMOSPHERE: (734..735) \" \"\n CONSTANT: (735..736)\n NUMBER: (735..736) \"3\"\n ATMOSPHERE: (736..737) \" \"\n CONSTANT: (737..738)\n NUMBER: (737..738) \"2\"\n CLOSE_PAREN: (738..739) \")\"\n CLOSE_PAREN: (739..740) \")\"\n CLOSE_PAREN: (740..741) \")\"\n FORM: (741..750)\n OPEN_PAREN: (741..742) \"(\"\n SYMBOL: (742..749)\n IDENTIFIER: (742..749) \"newline\"\n CLOSE_PAREN: (749..750) \")\"\n ATMOSPHERE: (750..754) \" \"\n ATMOSPHERE: (754..768) \"; -> -1 (none)\"\n ATMOSPHERE: (768..769) \"\n\"\n FORM: (769..810)\n OPEN_PAREN: (769..770) \"(\"\n SYMBOL: (770..777)\n IDENTIFIER: (770..777) \"display\"\n ATMOSPHERE: (777..778) \" \"\n FORM: (778..809)\n OPEN_PAREN: (778..779) \"(\"\n SYMBOL: (779..792)\n IDENTIFIER: (779..792) \"greatest-diff\"\n ATMOSPHERE: (792..793) \" \"\n FORM: (793..808)\n OPEN_PAREN: (793..794) \"(\"\n SYMBOL: (794..798)\n IDENTIFIER: (794..798) \"list\"\n ATMOSPHERE: (798..799) \" \"\n CONSTANT: (799..800)\n NUMBER: (799..800) \"1\"\n ATMOSPHERE: (800..801) \" \"\n CONSTANT: (801..802)\n NUMBER: (801..802) \"5\"\n ATMOSPHERE: (802..803) \" \"\n CONSTANT: (803..804)\n NUMBER: (803..804) \"2\"\n ATMOSPHERE: (804..805) \" \"\n CONSTANT: (805..807)\n NUMBER: (805..807) \"10\"\n CLOSE_PAREN: (807..808) \")\"\n CLOSE_PAREN: (808..809) \")\"\n CLOSE_PAREN: (809..810) \")\"\n FORM: (810..819)\n OPEN_PAREN: (810..811) \"(\"\n SYMBOL: (811..818)\n IDENTIFIER: (811..818) \"newline\"\n CLOSE_PAREN: (818..819) \")\"\n ATMOSPHERE: (819..822) \" \"\n ATMOSPHERE: (822..835) \"; -> 9 (1 10)\"\n ATMOSPHERE: (835..836) \"\n\"\n EOF: (836..836) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_hello.scm.json b/test/Feersum.Tests/_snapshots/Parse_hello.scm.json deleted file mode 100644 index 1efa6e3..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_hello.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..46)\n FORM: (0..23)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n CLOSE_PAREN: (22..23) \")\"\n ATMOSPHERE: (23..24) \"\n\"\n FORM: (24..46)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..32)\n IDENTIFIER: (25..32) \"display\"\n ATMOSPHERE: (32..33) \" \"\n CONSTANT: (33..45)\n STRING: (33..45) \"\"helloworld\"\"\n CLOSE_PAREN: (45..46) \")\"\n EOF: (46..46) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json b/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json deleted file mode 100644 index b706ad2..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_importtest.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..107)\n ATMOSPHERE: (0..29) \"; !depends: display-utils.sld\"\n ATMOSPHERE: (29..30) \"\n\"\n FORM: (30..61)\n OPEN_PAREN: (30..31) \"(\"\n SYMBOL: (31..37)\n IDENTIFIER: (31..37) \"import\"\n ATMOSPHERE: (37..38) \" \"\n FORM: (38..60)\n OPEN_PAREN: (38..39) \"(\"\n SYMBOL: (39..46)\n IDENTIFIER: (39..46) \"example\"\n ATMOSPHERE: (46..47) \" \"\n SYMBOL: (47..59)\n IDENTIFIER: (47..59) \"displayutils\"\n CLOSE_PAREN: (59..60) \")\"\n CLOSE_PAREN: (60..61) \")\"\n ATMOSPHERE: (61..62) \"\n\"\n FORM: (62..107)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..74)\n IDENTIFIER: (63..74) \"display-all\"\n ATMOSPHERE: (74..75) \" \"\n QUOTED_DATUM: (75..106)\n QUOTE: (75..76) \"'\"\n FORM: (76..106)\n OPEN_PAREN: (76..77) \"(\"\n CONSTANT: (77..86)\n STRING: (77..86) \"\"library\"\"\n ATMOSPHERE: (86..87) \" \"\n CONSTANT: (87..98)\n STRING: (87..98) \"\"reference\"\"\n ATMOSPHERE: (98..99) \" \"\n CONSTANT: (99..105)\n STRING: (99..105) \"\"test\"\"\n CLOSE_PAREN: (105..106) \")\"\n CLOSE_PAREN: (106..107) \")\"\n EOF: (107..107) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json deleted file mode 100644 index ed01736..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_issue-4.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..328)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..118)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..66)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..63)\n IDENTIFIER: (51..63) \"make-counter\"\n ATMOSPHERE: (63..64) \" \"\n SYMBOL: (64..65)\n IDENTIFIER: (64..65) \"n\"\n CLOSE_PAREN: (65..66) \")\"\n ATMOSPHERE: (66..71) \"\n \"\n FORM: (71..117)\n OPEN_PAREN: (71..72) \"(\"\n SYMBOL: (72..78)\n IDENTIFIER: (72..78) \"lambda\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..81)\n OPEN_PAREN: (79..80) \"(\"\n CLOSE_PAREN: (80..81) \")\"\n ATMOSPHERE: (81..90) \"\n \"\n FORM: (90..106)\n OPEN_PAREN: (90..91) \"(\"\n SYMBOL: (91..95)\n IDENTIFIER: (91..95) \"set!\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..105)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..100)\n IDENTIFIER: (99..100) \"+\"\n ATMOSPHERE: (100..101) \" \"\n CONSTANT: (101..102)\n NUMBER: (101..102) \"1\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..104)\n IDENTIFIER: (103..104) \"n\"\n CLOSE_PAREN: (104..105) \")\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..115) \"\n \"\n SYMBOL: (115..116)\n IDENTIFIER: (115..116) \"n\"\n CLOSE_PAREN: (116..117) \")\"\n CLOSE_PAREN: (117..118) \")\"\n ATMOSPHERE: (118..119) \"\n\"\n FORM: (119..154)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..126)\n IDENTIFIER: (120..126) \"define\"\n ATMOSPHERE: (126..127) \" \"\n SYMBOL: (127..135)\n IDENTIFIER: (127..135) \"from-ten\"\n ATMOSPHERE: (135..136) \" \"\n FORM: (136..153)\n OPEN_PAREN: (136..137) \"(\"\n SYMBOL: (137..149)\n IDENTIFIER: (137..149) \"make-counter\"\n ATMOSPHERE: (149..150) \" \"\n CONSTANT: (150..152)\n NUMBER: (150..152) \"10\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n ATMOSPHERE: (154..155) \"\n\"\n FORM: (155..191)\n OPEN_PAREN: (155..156) \"(\"\n SYMBOL: (156..162)\n IDENTIFIER: (156..162) \"define\"\n ATMOSPHERE: (162..163) \" \"\n SYMBOL: (163..171)\n IDENTIFIER: (163..171) \"from-ton\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..190)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..185)\n IDENTIFIER: (173..185) \"make-counter\"\n ATMOSPHERE: (185..186) \" \"\n CONSTANT: (186..189)\n NUMBER: (186..189) \"100\"\n CLOSE_PAREN: (189..190) \")\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..193) \"\n\n\"\n FORM: (193..213)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..201)\n IDENTIFIER: (194..201) \"display\"\n ATMOSPHERE: (201..202) \" \"\n FORM: (202..212)\n OPEN_PAREN: (202..203) \"(\"\n SYMBOL: (203..211)\n IDENTIFIER: (203..211) \"from-ten\"\n CLOSE_PAREN: (211..212) \")\"\n CLOSE_PAREN: (212..213) \")\"\n ATMOSPHERE: (213..214) \"\n\"\n FORM: (214..234)\n OPEN_PAREN: (214..215) \"(\"\n SYMBOL: (215..222)\n IDENTIFIER: (215..222) \"display\"\n ATMOSPHERE: (222..223) \" \"\n FORM: (223..233)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..232)\n IDENTIFIER: (224..232) \"from-ton\"\n CLOSE_PAREN: (232..233) \")\"\n CLOSE_PAREN: (233..234) \")\"\n ATMOSPHERE: (234..236) \"\n\n\"\n ATMOSPHERE: (236..266) \";; This should return 102 + 12\"\n ATMOSPHERE: (266..267) \"\n\"\n FORM: (267..302)\n OPEN_PAREN: (267..268) \"(\"\n SYMBOL: (268..275)\n IDENTIFIER: (268..275) \"display\"\n ATMOSPHERE: (275..276) \" \"\n FORM: (276..301)\n OPEN_PAREN: (276..277) \"(\"\n SYMBOL: (277..278)\n IDENTIFIER: (277..278) \"+\"\n ATMOSPHERE: (278..279) \" \"\n FORM: (279..289)\n OPEN_PAREN: (279..280) \"(\"\n SYMBOL: (280..288)\n IDENTIFIER: (280..288) \"from-ton\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..290) \" \"\n FORM: (290..300)\n OPEN_PAREN: (290..291) \"(\"\n SYMBOL: (291..299)\n IDENTIFIER: (291..299) \"from-ten\"\n CLOSE_PAREN: (299..300) \")\"\n CLOSE_PAREN: (300..301) \")\"\n CLOSE_PAREN: (301..302) \")\"\n ATMOSPHERE: (302..303) \"\n\"\n FORM: (303..328)\n OPEN_PAREN: (303..304) \"(\"\n SYMBOL: (304..305)\n IDENTIFIER: (304..305) \"+\"\n ATMOSPHERE: (305..306) \" \"\n FORM: (306..316)\n OPEN_PAREN: (306..307) \"(\"\n SYMBOL: (307..315)\n IDENTIFIER: (307..315) \"from-ton\"\n CLOSE_PAREN: (315..316) \")\"\n ATMOSPHERE: (316..317) \" \"\n FORM: (317..327)\n OPEN_PAREN: (317..318) \"(\"\n SYMBOL: (318..326)\n IDENTIFIER: (318..326) \"from-ten\"\n CLOSE_PAREN: (326..327) \")\"\n CLOSE_PAREN: (327..328) \")\"\n EOF: (328..328) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json deleted file mode 100644 index e616052..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_issue-45.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..370)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..22)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..21)\n IDENTIFIER: (16..21) \"write\"\n CLOSE_PAREN: (21..22) \")\"\n ATMOSPHERE: (22..27) \"\n \"\n FORM: (27..40)\n OPEN_PAREN: (27..28) \"(\"\n SYMBOL: (28..34)\n IDENTIFIER: (28..34) \"scheme\"\n ATMOSPHERE: (34..35) \" \"\n SYMBOL: (35..39)\n IDENTIFIER: (35..39) \"base\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..149)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..57)\n IDENTIFIER: (44..57) \"define-syntax\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..61)\n IDENTIFIER: (58..61) \"bug\"\n ATMOSPHERE: (61..66) \"\n \"\n FORM: (66..148)\n OPEN_PAREN: (66..67) \"(\"\n SYMBOL: (67..79)\n IDENTIFIER: (67..79) \"syntax-rules\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..82)\n OPEN_PAREN: (80..81) \"(\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..91) \"\n \"\n FORM: (91..147)\n OPEN_PAREN: (91..92) \"(\"\n FORM: (92..113)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..96)\n IDENTIFIER: (93..96) \"bug\"\n ATMOSPHERE: (96..97) \" \"\n FORM: (97..104)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..99)\n IDENTIFIER: (98..99) \"a\"\n ATMOSPHERE: (99..100) \" \"\n SYMBOL: (100..103)\n IDENTIFIER: (100..103) \"...\"\n CLOSE_PAREN: (103..104) \")\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..112)\n OPEN_PAREN: (105..106) \"(\"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"b\"\n ATMOSPHERE: (107..108) \" \"\n SYMBOL: (108..111)\n IDENTIFIER: (108..111) \"...\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n ATMOSPHERE: (113..114) \" \"\n FORM: (114..146)\n OPEN_PAREN: (114..115) \"(\"\n SYMBOL: (115..119)\n IDENTIFIER: (115..119) \"cons\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..132)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..125)\n IDENTIFIER: (121..125) \"list\"\n ATMOSPHERE: (125..126) \" \"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"a\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"...\"\n CLOSE_PAREN: (131..132) \")\"\n ATMOSPHERE: (132..133) \" \"\n FORM: (133..145)\n OPEN_PAREN: (133..134) \"(\"\n SYMBOL: (134..138)\n IDENTIFIER: (134..138) \"list\"\n ATMOSPHERE: (138..139) \" \"\n SYMBOL: (139..140)\n IDENTIFIER: (139..140) \"b\"\n ATMOSPHERE: (140..141) \" \"\n SYMBOL: (141..144)\n IDENTIFIER: (141..144) \"...\"\n CLOSE_PAREN: (144..145) \")\"\n CLOSE_PAREN: (145..146) \")\"\n CLOSE_PAREN: (146..147) \")\"\n CLOSE_PAREN: (147..148) \")\"\n CLOSE_PAREN: (148..149) \")\"\n ATMOSPHERE: (149..150) \"\n\"\n FORM: (150..245)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..164)\n IDENTIFIER: (151..164) \"define-syntax\"\n ATMOSPHERE: (164..165) \" \"\n SYMBOL: (165..168)\n IDENTIFIER: (165..168) \"zip\"\n ATMOSPHERE: (168..173) \"\n \"\n FORM: (173..244)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..186)\n IDENTIFIER: (174..186) \"syntax-rules\"\n ATMOSPHERE: (186..187) \" \"\n FORM: (187..189)\n OPEN_PAREN: (187..188) \"(\"\n CLOSE_PAREN: (188..189) \")\"\n ATMOSPHERE: (189..198) \"\n \"\n FORM: (198..243)\n OPEN_PAREN: (198..199) \"(\"\n FORM: (199..220)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..203)\n IDENTIFIER: (200..203) \"bug\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..211)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..206)\n IDENTIFIER: (205..206) \"a\"\n ATMOSPHERE: (206..207) \" \"\n SYMBOL: (207..210)\n IDENTIFIER: (207..210) \"...\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..212) \" \"\n FORM: (212..219)\n OPEN_PAREN: (212..213) \"(\"\n SYMBOL: (213..214)\n IDENTIFIER: (213..214) \"b\"\n ATMOSPHERE: (214..215) \" \"\n SYMBOL: (215..218)\n IDENTIFIER: (215..218) \"...\"\n CLOSE_PAREN: (218..219) \")\"\n CLOSE_PAREN: (219..220) \")\"\n ATMOSPHERE: (220..221) \" \"\n FORM: (221..242)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..226)\n IDENTIFIER: (222..226) \"list\"\n ATMOSPHERE: (226..227) \" \"\n FORM: (227..237)\n OPEN_PAREN: (227..228) \"(\"\n SYMBOL: (228..232)\n IDENTIFIER: (228..232) \"cons\"\n ATMOSPHERE: (232..233) \" \"\n SYMBOL: (233..234)\n IDENTIFIER: (233..234) \"a\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"b\"\n CLOSE_PAREN: (236..237) \")\"\n ATMOSPHERE: (237..238) \" \"\n SYMBOL: (238..241)\n IDENTIFIER: (238..241) \"...\"\n CLOSE_PAREN: (241..242) \")\"\n CLOSE_PAREN: (242..243) \")\"\n CLOSE_PAREN: (243..244) \")\"\n CLOSE_PAREN: (244..245) \")\"\n ATMOSPHERE: (245..247) \"\n\n\"\n FORM: (247..360)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..255)\n IDENTIFIER: (248..255) \"display\"\n ATMOSPHERE: (255..256) \" \"\n FORM: (256..359)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..261)\n IDENTIFIER: (257..261) \"list\"\n ATMOSPHERE: (261..266) \"\n \"\n FORM: (266..285)\n OPEN_PAREN: (266..267) \"(\"\n SYMBOL: (267..270)\n IDENTIFIER: (267..270) \"bug\"\n ATMOSPHERE: (270..271) \" \"\n FORM: (271..278)\n OPEN_PAREN: (271..272) \"(\"\n CONSTANT: (272..273)\n NUMBER: (272..273) \"1\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..275)\n NUMBER: (274..275) \"2\"\n ATMOSPHERE: (275..276) \" \"\n CONSTANT: (276..277)\n NUMBER: (276..277) \"3\"\n CLOSE_PAREN: (277..278) \")\"\n ATMOSPHERE: (278..279) \" \"\n FORM: (279..284)\n OPEN_PAREN: (279..280) \"(\"\n CONSTANT: (280..281)\n NUMBER: (280..281) \"4\"\n ATMOSPHERE: (281..282) \" \"\n CONSTANT: (282..283)\n NUMBER: (282..283) \"5\"\n CLOSE_PAREN: (283..284) \")\"\n CLOSE_PAREN: (284..285) \")\"\n ATMOSPHERE: (285..286) \" \"\n ATMOSPHERE: (286..305) \"; -> '((1 2 3) 4 5)\"\n ATMOSPHERE: (305..310) \"\n \"\n FORM: (310..327)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..314)\n IDENTIFIER: (311..314) \"zip\"\n ATMOSPHERE: (314..315) \" \"\n FORM: (315..320)\n OPEN_PAREN: (315..316) \"(\"\n CONSTANT: (316..317)\n NUMBER: (316..317) \"1\"\n ATMOSPHERE: (317..318) \" \"\n CONSTANT: (318..319)\n NUMBER: (318..319) \"2\"\n CLOSE_PAREN: (319..320) \")\"\n ATMOSPHERE: (320..321) \" \"\n FORM: (321..326)\n OPEN_PAREN: (321..322) \"(\"\n CONSTANT: (322..323)\n NUMBER: (322..323) \"3\"\n ATMOSPHERE: (323..324) \" \"\n CONSTANT: (324..325)\n NUMBER: (324..325) \"4\"\n CLOSE_PAREN: (325..326) \")\"\n CLOSE_PAREN: (326..327) \")\"\n ATMOSPHERE: (327..330) \" \"\n ATMOSPHERE: (330..353) \"; -> '((1 . 3) (2 . 4))\"\n ATMOSPHERE: (353..358) \"\n \"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n FORM: (360..369)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..368)\n IDENTIFIER: (361..368) \"newline\"\n CLOSE_PAREN: (368..369) \")\"\n ATMOSPHERE: (369..370) \"\n\"\n EOF: (370..370) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json deleted file mode 100644 index fde647c..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_issue-5_a.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..171)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..140)\n OPEN_PAREN: (42..43) \"(\"\n FORM: (43..133)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"lambda\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..54)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..53)\n IDENTIFIER: (52..53) \"a\"\n CLOSE_PAREN: (53..54) \")\"\n ATMOSPHERE: (54..59) \"\n \"\n FORM: (59..126)\n OPEN_PAREN: (59..60) \"(\"\n SYMBOL: (60..67)\n IDENTIFIER: (60..67) \"display\"\n ATMOSPHERE: (67..76) \"\n \"\n FORM: (76..125)\n OPEN_PAREN: (76..77) \"(\"\n SYMBOL: (77..79)\n IDENTIFIER: (77..79) \"if\"\n ATMOSPHERE: (79..80) \" \"\n CONSTANT: (80..82)\n BOOLEAN: (80..82) \"#f\"\n ATMOSPHERE: (82..97) \"\n \"\n FORM: (97..110)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..104)\n IDENTIFIER: (98..104) \"lambda\"\n ATMOSPHERE: (104..105) \" \"\n FORM: (105..107)\n OPEN_PAREN: (105..106) \"(\"\n CLOSE_PAREN: (106..107) \")\"\n ATMOSPHERE: (107..108) \" \"\n SYMBOL: (108..109)\n IDENTIFIER: (108..109) \"a\"\n CLOSE_PAREN: (109..110) \")\"\n ATMOSPHERE: (110..123) \"\n \"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"a\"\n CLOSE_PAREN: (124..125) \")\"\n CLOSE_PAREN: (125..126) \")\"\n ATMOSPHERE: (126..131) \"\n \"\n SYMBOL: (131..132)\n IDENTIFIER: (131..132) \"a\"\n CLOSE_PAREN: (132..133) \")\"\n ATMOSPHERE: (133..136) \"\n \"\n CONSTANT: (136..139)\n NUMBER: (136..139) \"101\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \" \"\n ATMOSPHERE: (141..171) \"; -> should be 101, but is '()\"\n EOF: (171..171) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json b/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json deleted file mode 100644 index 4792721..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_issue-5_b.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..393)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..321)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..59)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..56)\n IDENTIFIER: (51..56) \"check\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..58)\n IDENTIFIER: (57..58) \"n\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..64) \"\n \"\n FORM: (64..320)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..71)\n IDENTIFIER: (65..71) \"letrec\"\n ATMOSPHERE: (71..72) \" \"\n FORM: (72..301)\n OPEN_PAREN: (72..73) \"(\"\n FORM: (73..180)\n OPEN_PAREN: (73..74) \"(\"\n SYMBOL: (74..78)\n IDENTIFIER: (74..78) \"odd?\"\n ATMOSPHERE: (78..79) \" \"\n FORM: (79..179)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..86)\n IDENTIFIER: (80..86) \"lambda\"\n ATMOSPHERE: (86..87) \" \"\n FORM: (87..90)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..89)\n IDENTIFIER: (88..89) \"m\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..107) \"\n \"\n FORM: (107..178)\n OPEN_PAREN: (107..108) \"(\"\n SYMBOL: (108..110)\n IDENTIFIER: (108..110) \"if\"\n ATMOSPHERE: (110..111) \" \"\n FORM: (111..118)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..113)\n IDENTIFIER: (112..113) \"=\"\n ATMOSPHERE: (113..114) \" \"\n SYMBOL: (114..115)\n IDENTIFIER: (114..115) \"m\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..117)\n NUMBER: (116..117) \"0\"\n CLOSE_PAREN: (117..118) \")\"\n ATMOSPHERE: (118..139) \"\n \"\n CONSTANT: (139..141)\n BOOLEAN: (139..141) \"#f\"\n ATMOSPHERE: (141..162) \"\n \"\n FORM: (162..177)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..168)\n IDENTIFIER: (163..168) \"even?\"\n ATMOSPHERE: (168..169) \" \"\n FORM: (169..176)\n OPEN_PAREN: (169..170) \"(\"\n SYMBOL: (170..171)\n IDENTIFIER: (170..171) \"-\"\n ATMOSPHERE: (171..172) \" \"\n SYMBOL: (172..173)\n IDENTIFIER: (172..173) \"m\"\n ATMOSPHERE: (173..174) \" \"\n CONSTANT: (174..175)\n NUMBER: (174..175) \"1\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n CLOSE_PAREN: (177..178) \")\"\n CLOSE_PAREN: (178..179) \")\"\n CLOSE_PAREN: (179..180) \")\"\n ATMOSPHERE: (180..193) \"\n \"\n FORM: (193..300)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..199)\n IDENTIFIER: (194..199) \"even?\"\n ATMOSPHERE: (199..200) \" \"\n FORM: (200..299)\n OPEN_PAREN: (200..201) \"(\"\n SYMBOL: (201..207)\n IDENTIFIER: (201..207) \"lambda\"\n ATMOSPHERE: (207..208) \" \"\n FORM: (208..211)\n OPEN_PAREN: (208..209) \"(\"\n SYMBOL: (209..210)\n IDENTIFIER: (209..210) \"m\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..228) \"\n \"\n FORM: (228..298)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..231)\n IDENTIFIER: (229..231) \"if\"\n ATMOSPHERE: (231..232) \" \"\n FORM: (232..239)\n OPEN_PAREN: (232..233) \"(\"\n SYMBOL: (233..234)\n IDENTIFIER: (233..234) \"=\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"m\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..238)\n NUMBER: (237..238) \"0\"\n CLOSE_PAREN: (238..239) \")\"\n ATMOSPHERE: (239..260) \"\n \"\n CONSTANT: (260..262)\n BOOLEAN: (260..262) \"#t\"\n ATMOSPHERE: (262..283) \"\n \"\n FORM: (283..297)\n OPEN_PAREN: (283..284) \"(\"\n SYMBOL: (284..288)\n IDENTIFIER: (284..288) \"odd?\"\n ATMOSPHERE: (288..289) \" \"\n FORM: (289..296)\n OPEN_PAREN: (289..290) \"(\"\n SYMBOL: (290..291)\n IDENTIFIER: (290..291) \"-\"\n ATMOSPHERE: (291..292) \" \"\n SYMBOL: (292..293)\n IDENTIFIER: (292..293) \"m\"\n ATMOSPHERE: (293..294) \" \"\n CONSTANT: (294..295)\n NUMBER: (294..295) \"1\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n CLOSE_PAREN: (298..299) \")\"\n CLOSE_PAREN: (299..300) \")\"\n CLOSE_PAREN: (300..301) \")\"\n ATMOSPHERE: (301..310) \"\n \"\n FORM: (310..319)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..316)\n IDENTIFIER: (311..316) \"even?\"\n ATMOSPHERE: (316..317) \" \"\n SYMBOL: (317..318)\n IDENTIFIER: (317..318) \"n\"\n CLOSE_PAREN: (318..319) \")\"\n CLOSE_PAREN: (319..320) \")\"\n CLOSE_PAREN: (320..321) \")\"\n ATMOSPHERE: (321..323) \"\n\n\"\n FORM: (323..343)\n OPEN_PAREN: (323..324) \"(\"\n SYMBOL: (324..331)\n IDENTIFIER: (324..331) \"display\"\n ATMOSPHERE: (331..332) \" \"\n FORM: (332..342)\n OPEN_PAREN: (332..333) \"(\"\n SYMBOL: (333..338)\n IDENTIFIER: (333..338) \"check\"\n ATMOSPHERE: (338..339) \" \"\n CONSTANT: (339..341)\n NUMBER: (339..341) \"54\"\n CLOSE_PAREN: (341..342) \")\"\n CLOSE_PAREN: (342..343) \")\"\n FORM: (343..352)\n OPEN_PAREN: (343..344) \"(\"\n SYMBOL: (344..351)\n IDENTIFIER: (344..351) \"newline\"\n CLOSE_PAREN: (351..352) \")\"\n ATMOSPHERE: (352..353) \"\n\"\n FORM: (353..372)\n OPEN_PAREN: (353..354) \"(\"\n SYMBOL: (354..361)\n IDENTIFIER: (354..361) \"display\"\n ATMOSPHERE: (361..362) \" \"\n FORM: (362..371)\n OPEN_PAREN: (362..363) \"(\"\n SYMBOL: (363..368)\n IDENTIFIER: (363..368) \"check\"\n ATMOSPHERE: (368..369) \" \"\n CONSTANT: (369..370)\n NUMBER: (369..370) \"7\"\n CLOSE_PAREN: (370..371) \")\"\n CLOSE_PAREN: (371..372) \")\"\n FORM: (372..381)\n OPEN_PAREN: (372..373) \"(\"\n SYMBOL: (373..380)\n IDENTIFIER: (373..380) \"newline\"\n CLOSE_PAREN: (380..381) \")\"\n ATMOSPHERE: (381..382) \"\n\"\n FORM: (382..393)\n OPEN_PAREN: (382..383) \"(\"\n SYMBOL: (383..388)\n IDENTIFIER: (383..388) \"check\"\n ATMOSPHERE: (388..389) \" \"\n CONSTANT: (389..392)\n NUMBER: (389..392) \"123\"\n CLOSE_PAREN: (392..393) \")\"\n EOF: (393..393) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json b/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json deleted file mode 100644 index 736c07a..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_iterfact.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..354)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..115)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..58)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..55)\n IDENTIFIER: (51..55) \"fact\"\n ATMOSPHERE: (55..56) \" \"\n SYMBOL: (56..57)\n IDENTIFIER: (56..57) \"n\"\n CLOSE_PAREN: (57..58) \")\"\n ATMOSPHERE: (58..63) \"\n \"\n FORM: (63..114)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..66)\n IDENTIFIER: (64..66) \"if\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..74)\n OPEN_PAREN: (67..68) \"(\"\n SYMBOL: (68..69)\n IDENTIFIER: (68..69) \"=\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..71)\n IDENTIFIER: (70..71) \"n\"\n ATMOSPHERE: (71..72) \" \"\n CONSTANT: (72..73)\n NUMBER: (72..73) \"0\"\n CLOSE_PAREN: (73..74) \")\"\n ATMOSPHERE: (74..83) \"\n \"\n CONSTANT: (83..84)\n NUMBER: (83..84) \"1\"\n ATMOSPHERE: (84..93) \"\n \"\n FORM: (93..113)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..95)\n IDENTIFIER: (94..95) \"*\"\n ATMOSPHERE: (95..96) \" \"\n SYMBOL: (96..97)\n IDENTIFIER: (96..97) \"n\"\n ATMOSPHERE: (97..98) \" \"\n FORM: (98..112)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..103)\n IDENTIFIER: (99..103) \"fact\"\n ATMOSPHERE: (103..104) \" \"\n FORM: (104..111)\n OPEN_PAREN: (104..105) \"(\"\n SYMBOL: (105..106)\n IDENTIFIER: (105..106) \"-\"\n ATMOSPHERE: (106..107) \" \"\n SYMBOL: (107..108)\n IDENTIFIER: (107..108) \"n\"\n ATMOSPHERE: (108..109) \" \"\n CONSTANT: (109..110)\n NUMBER: (109..110) \"1\"\n CLOSE_PAREN: (110..111) \")\"\n CLOSE_PAREN: (111..112) \")\"\n CLOSE_PAREN: (112..113) \")\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..277)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..124)\n IDENTIFIER: (118..124) \"define\"\n ATMOSPHERE: (124..125) \" \"\n FORM: (125..137)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..134)\n IDENTIFIER: (126..134) \"iterfact\"\n ATMOSPHERE: (134..135) \" \"\n SYMBOL: (135..136)\n IDENTIFIER: (135..136) \"n\"\n CLOSE_PAREN: (136..137) \")\"\n ATMOSPHERE: (137..142) \"\n \"\n FORM: (142..253)\n OPEN_PAREN: (142..143) \"(\"\n SYMBOL: (143..149)\n IDENTIFIER: (143..149) \"define\"\n ATMOSPHERE: (149..150) \" \"\n FORM: (150..170)\n OPEN_PAREN: (150..151) \"(\"\n SYMBOL: (151..163)\n IDENTIFIER: (151..163) \"iterfact-acc\"\n ATMOSPHERE: (163..164) \" \"\n SYMBOL: (164..165)\n IDENTIFIER: (164..165) \"n\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..169)\n IDENTIFIER: (166..169) \"acc\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..179) \"\n \"\n FORM: (179..252)\n OPEN_PAREN: (179..180) \"(\"\n SYMBOL: (180..182)\n IDENTIFIER: (180..182) \"if\"\n ATMOSPHERE: (182..183) \" \"\n FORM: (183..190)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..185)\n IDENTIFIER: (184..185) \"=\"\n ATMOSPHERE: (185..186) \" \"\n SYMBOL: (186..187)\n IDENTIFIER: (186..187) \"n\"\n ATMOSPHERE: (187..188) \" \"\n CONSTANT: (188..189)\n NUMBER: (188..189) \"0\"\n CLOSE_PAREN: (189..190) \")\"\n ATMOSPHERE: (190..203) \"\n \"\n SYMBOL: (203..206)\n IDENTIFIER: (203..206) \"acc\"\n ATMOSPHERE: (206..219) \"\n \"\n FORM: (219..251)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..232)\n IDENTIFIER: (220..232) \"iterfact-acc\"\n ATMOSPHERE: (232..233) \" \"\n FORM: (233..240)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..235)\n IDENTIFIER: (234..235) \"-\"\n ATMOSPHERE: (235..236) \" \"\n SYMBOL: (236..237)\n IDENTIFIER: (236..237) \"n\"\n ATMOSPHERE: (237..238) \" \"\n CONSTANT: (238..239)\n NUMBER: (238..239) \"1\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \" \"\n FORM: (241..250)\n OPEN_PAREN: (241..242) \"(\"\n SYMBOL: (242..243)\n IDENTIFIER: (242..243) \"*\"\n ATMOSPHERE: (243..244) \" \"\n SYMBOL: (244..247)\n IDENTIFIER: (244..247) \"acc\"\n ATMOSPHERE: (247..248) \" \"\n SYMBOL: (248..249)\n IDENTIFIER: (248..249) \"n\"\n CLOSE_PAREN: (249..250) \")\"\n CLOSE_PAREN: (250..251) \")\"\n CLOSE_PAREN: (251..252) \")\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..276)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..271)\n IDENTIFIER: (259..271) \"iterfact-acc\"\n ATMOSPHERE: (271..272) \" \"\n SYMBOL: (272..273)\n IDENTIFIER: (272..273) \"n\"\n ATMOSPHERE: (273..274) \" \"\n CONSTANT: (274..275)\n NUMBER: (274..275) \"1\"\n CLOSE_PAREN: (275..276) \")\"\n CLOSE_PAREN: (276..277) \")\"\n ATMOSPHERE: (277..279) \"\n\n\"\n FORM: (279..297)\n OPEN_PAREN: (279..280) \"(\"\n SYMBOL: (280..287)\n IDENTIFIER: (280..287) \"display\"\n ATMOSPHERE: (287..288) \" \"\n FORM: (288..296)\n OPEN_PAREN: (288..289) \"(\"\n SYMBOL: (289..293)\n IDENTIFIER: (289..293) \"fact\"\n ATMOSPHERE: (293..294) \" \"\n CONSTANT: (294..295)\n NUMBER: (294..295) \"4\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n FORM: (297..306)\n OPEN_PAREN: (297..298) \"(\"\n SYMBOL: (298..305)\n IDENTIFIER: (298..305) \"newline\"\n CLOSE_PAREN: (305..306) \")\"\n ATMOSPHERE: (306..307) \" \"\n ATMOSPHERE: (307..314) \"; => 24\"\n ATMOSPHERE: (314..315) \"\n\"\n FORM: (315..337)\n OPEN_PAREN: (315..316) \"(\"\n SYMBOL: (316..323)\n IDENTIFIER: (316..323) \"display\"\n ATMOSPHERE: (323..324) \" \"\n FORM: (324..336)\n OPEN_PAREN: (324..325) \"(\"\n SYMBOL: (325..333)\n IDENTIFIER: (325..333) \"iterfact\"\n ATMOSPHERE: (333..334) \" \"\n CONSTANT: (334..335)\n NUMBER: (334..335) \"4\"\n CLOSE_PAREN: (335..336) \")\"\n CLOSE_PAREN: (336..337) \")\"\n FORM: (337..346)\n OPEN_PAREN: (337..338) \"(\"\n SYMBOL: (338..345)\n IDENTIFIER: (338..345) \"newline\"\n CLOSE_PAREN: (345..346) \")\"\n ATMOSPHERE: (346..347) \" \"\n ATMOSPHERE: (347..354) \"; => 24\"\n EOF: (354..354) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json b/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json deleted file mode 100644 index 542e604..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_lambdas.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..190)\n FORM: (0..40)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..9)\n IDENTIFIER: (8..9) \"x\"\n ATMOSPHERE: (9..10) \" \"\n FORM: (10..39)\n OPEN_PAREN: (10..11) \"(\"\n SYMBOL: (11..17)\n IDENTIFIER: (11..17) \"lambda\"\n ATMOSPHERE: (17..18) \" \"\n SYMBOL: (18..19)\n IDENTIFIER: (18..19) \"y\"\n ATMOSPHERE: (19..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"lambda\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..33)\n IDENTIFIER: (32..33) \"z\"\n ATMOSPHERE: (33..34) \" \"\n CONSTANT: (34..37)\n NUMBER: (34..37) \"100\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n CLOSE_PAREN: (39..40) \")\"\n ATMOSPHERE: (40..41) \"\n\"\n FORM: (41..83)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"define\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..50)\n IDENTIFIER: (49..50) \"y\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..82)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..58)\n IDENTIFIER: (52..58) \"lambda\"\n ATMOSPHERE: (58..59) \" \"\n SYMBOL: (59..60)\n IDENTIFIER: (59..60) \"y\"\n ATMOSPHERE: (60..65) \"\n \"\n FORM: (65..81)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..72)\n IDENTIFIER: (66..72) \"lambda\"\n ATMOSPHERE: (72..73) \" \"\n SYMBOL: (73..74)\n IDENTIFIER: (73..74) \"z\"\n ATMOSPHERE: (74..75) \" \"\n CONSTANT: (75..80)\n NUMBER: (75..80) \"23123\"\n CLOSE_PAREN: (80..81) \")\"\n CLOSE_PAREN: (81..82) \")\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..84) \"\n\"\n FORM: (84..109)\n OPEN_PAREN: (84..85) \"(\"\n SYMBOL: (85..91)\n IDENTIFIER: (85..91) \"define\"\n ATMOSPHERE: (91..92) \" \"\n SYMBOL: (92..93)\n IDENTIFIER: (92..93) \"z\"\n ATMOSPHERE: (93..94) \" \"\n FORM: (94..108)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..101)\n IDENTIFIER: (95..101) \"lambda\"\n ATMOSPHERE: (101..102) \" \"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"y\"\n ATMOSPHERE: (103..104) \" \"\n CONSTANT: (104..107)\n NUMBER: (104..107) \"123\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..110) \"\n\"\n FORM: (110..140)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..117)\n IDENTIFIER: (111..117) \"define\"\n ATMOSPHERE: (117..118) \" \"\n SYMBOL: (118..119)\n IDENTIFIER: (118..119) \"a\"\n ATMOSPHERE: (119..120) \" \"\n FORM: (120..139)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..127)\n IDENTIFIER: (121..127) \"lambda\"\n ATMOSPHERE: (127..128) \" \"\n FORM: (128..135)\n OPEN_PAREN: (128..129) \"(\"\n SYMBOL: (129..130)\n IDENTIFIER: (129..130) \"a\"\n ATMOSPHERE: (130..131) \" \"\n SYMBOL: (131..132)\n IDENTIFIER: (131..132) \"b\"\n ATMOSPHERE: (132..133) \" \"\n SYMBOL: (133..134)\n IDENTIFIER: (133..134) \"c\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..138)\n NUMBER: (136..138) \"20\"\n CLOSE_PAREN: (138..139) \")\"\n CLOSE_PAREN: (139..140) \")\"\n ATMOSPHERE: (140..141) \"\n\"\n FORM: (141..175)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..148)\n IDENTIFIER: (142..148) \"define\"\n ATMOSPHERE: (148..149) \" \"\n SYMBOL: (149..150)\n IDENTIFIER: (149..150) \"b\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..174)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"lambda\"\n ATMOSPHERE: (158..159) \" \"\n FORM: (159..168)\n OPEN_PAREN: (159..160) \"(\"\n SYMBOL: (160..161)\n IDENTIFIER: (160..161) \"a\"\n ATMOSPHERE: (161..162) \" \"\n SYMBOL: (162..163)\n IDENTIFIER: (162..163) \"b\"\n ATMOSPHERE: (163..164) \" \"\n DOTTED_TAIL: (164..167)\n DOT: (164..165) \".\"\n ATMOSPHERE: (165..166) \" \"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"c\"\n CLOSE_PAREN: (167..168) \")\"\n ATMOSPHERE: (168..169) \" \"\n CONSTANT: (169..173)\n NUMBER: (169..173) \"1234\"\n CLOSE_PAREN: (173..174) \")\"\n CLOSE_PAREN: (174..175) \")\"\n ATMOSPHERE: (175..176) \"\n\"\n FORM: (176..181)\n OPEN_PAREN: (176..177) \"(\"\n FORM: (177..180)\n OPEN_PAREN: (177..178) \"(\"\n SYMBOL: (178..179)\n IDENTIFIER: (178..179) \"x\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..182) \" \"\n ATMOSPHERE: (182..190) \"; -> 100\"\n EOF: (190..190) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_let.scm.json b/test/Feersum.Tests/_snapshots/Parse_let.scm.json deleted file mode 100644 index 2dc3af7..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_let.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..152)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..134)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..49)\n IDENTIFIER: (43..49) \"define\"\n ATMOSPHERE: (49..50) \" \"\n FORM: (50..57)\n OPEN_PAREN: (50..51) \"(\"\n SYMBOL: (51..54)\n IDENTIFIER: (51..54) \"foo\"\n ATMOSPHERE: (54..55) \" \"\n SYMBOL: (55..56)\n IDENTIFIER: (55..56) \"a\"\n CLOSE_PAREN: (56..57) \")\"\n ATMOSPHERE: (57..62) \"\n \"\n FORM: (62..133)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..66)\n IDENTIFIER: (63..66) \"let\"\n ATMOSPHERE: (66..67) \" \"\n FORM: (67..90)\n OPEN_PAREN: (67..68) \"(\"\n FORM: (68..73)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..70)\n IDENTIFIER: (69..70) \"b\"\n ATMOSPHERE: (70..71) \" \"\n SYMBOL: (71..72)\n IDENTIFIER: (71..72) \"a\"\n CLOSE_PAREN: (72..73) \")\"\n ATMOSPHERE: (73..82) \"\n \"\n FORM: (82..89)\n OPEN_PAREN: (82..83) \"(\"\n SYMBOL: (83..84)\n IDENTIFIER: (83..84) \"c\"\n ATMOSPHERE: (84..85) \" \"\n CONSTANT: (85..88)\n NUMBER: (85..88) \"100\"\n CLOSE_PAREN: (88..89) \")\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..99) \"\n \"\n FORM: (99..116)\n OPEN_PAREN: (99..100) \"(\"\n SYMBOL: (100..107)\n IDENTIFIER: (100..107) \"display\"\n ATMOSPHERE: (107..108) \" \"\n FORM: (108..115)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..110)\n IDENTIFIER: (109..110) \"+\"\n ATMOSPHERE: (110..111) \" \"\n SYMBOL: (111..112)\n IDENTIFIER: (111..112) \"a\"\n ATMOSPHERE: (112..113) \" \"\n SYMBOL: (113..114)\n IDENTIFIER: (113..114) \"b\"\n CLOSE_PAREN: (114..115) \")\"\n CLOSE_PAREN: (115..116) \")\"\n ATMOSPHERE: (116..125) \"\n \"\n FORM: (125..132)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"-\"\n ATMOSPHERE: (127..128) \" \"\n SYMBOL: (128..129)\n IDENTIFIER: (128..129) \"b\"\n ATMOSPHERE: (129..130) \" \"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"c\"\n CLOSE_PAREN: (131..132) \")\"\n CLOSE_PAREN: (132..133) \")\"\n CLOSE_PAREN: (133..134) \")\"\n ATMOSPHERE: (134..135) \"\n\"\n FORM: (135..144)\n OPEN_PAREN: (135..136) \"(\"\n SYMBOL: (136..139)\n IDENTIFIER: (136..139) \"foo\"\n ATMOSPHERE: (139..140) \" \"\n CONSTANT: (140..143)\n NUMBER: (140..143) \"123\"\n CLOSE_PAREN: (143..144) \")\"\n ATMOSPHERE: (144..145) \" \"\n ATMOSPHERE: (145..152) \"; ~> 23\"\n EOF: (152..152) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json b/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json deleted file mode 100644 index 1071386..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_libcapture.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..238)\n FORM: (0..170)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..29)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..20)\n IDENTIFIER: (17..20) \"lib\"\n ATMOSPHERE: (20..21) \" \"\n SYMBOL: (21..28)\n IDENTIFIER: (21..28) \"capture\"\n CLOSE_PAREN: (28..29) \")\"\n ATMOSPHERE: (29..34) \"\n \"\n FORM: (34..49)\n OPEN_PAREN: (34..35) \"(\"\n SYMBOL: (35..41)\n IDENTIFIER: (35..41) \"export\"\n ATMOSPHERE: (41..42) \" \"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"testit\"\n CLOSE_PAREN: (48..49) \")\"\n ATMOSPHERE: (49..54) \"\n \"\n FORM: (54..169)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..60)\n IDENTIFIER: (55..60) \"begin\"\n ATMOSPHERE: (60..69) \"\n \"\n FORM: (69..93)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..76)\n IDENTIFIER: (70..76) \"define\"\n ATMOSPHERE: (76..77) \" \"\n SYMBOL: (77..83)\n IDENTIFIER: (77..83) \"testit\"\n ATMOSPHERE: (83..84) \" \"\n CONSTANT: (84..92)\n STRING: (84..92) \"\"broken\"\"\n CLOSE_PAREN: (92..93) \")\"\n ATMOSPHERE: (93..102) \"\n \"\n FORM: (102..168)\n OPEN_PAREN: (102..103) \"(\"\n SYMBOL: (103..106)\n IDENTIFIER: (103..106) \"let\"\n ATMOSPHERE: (106..107) \" \"\n FORM: (107..129)\n OPEN_PAREN: (107..108) \"(\"\n FORM: (108..128)\n OPEN_PAREN: (108..109) \"(\"\n SYMBOL: (109..120)\n IDENTIFIER: (109..120) \"replacement\"\n ATMOSPHERE: (120..121) \" \"\n CONSTANT: (121..127)\n STRING: (121..127) \"\"pass\"\"\n CLOSE_PAREN: (127..128) \")\"\n CLOSE_PAREN: (128..129) \")\"\n ATMOSPHERE: (129..142) \"\n \"\n FORM: (142..167)\n OPEN_PAREN: (142..143) \"(\"\n SYMBOL: (143..147)\n IDENTIFIER: (143..147) \"set!\"\n ATMOSPHERE: (147..148) \" \"\n SYMBOL: (148..154)\n IDENTIFIER: (148..154) \"testit\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..166)\n IDENTIFIER: (155..166) \"replacement\"\n CLOSE_PAREN: (166..167) \")\"\n CLOSE_PAREN: (167..168) \")\"\n CLOSE_PAREN: (168..169) \")\"\n CLOSE_PAREN: (169..170) \")\"\n ATMOSPHERE: (170..171) \"\n\"\n FORM: (171..212)\n OPEN_PAREN: (171..172) \"(\"\n SYMBOL: (172..178)\n IDENTIFIER: (172..178) \"import\"\n ATMOSPHERE: (178..179) \" \"\n FORM: (179..192)\n OPEN_PAREN: (179..180) \"(\"\n SYMBOL: (180..183)\n IDENTIFIER: (180..183) \"lib\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"capture\"\n CLOSE_PAREN: (191..192) \")\"\n ATMOSPHERE: (192..197) \"\n \"\n FORM: (197..211)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..204)\n IDENTIFIER: (198..204) \"scheme\"\n ATMOSPHERE: (204..205) \" \"\n SYMBOL: (205..210)\n IDENTIFIER: (205..210) \"write\"\n CLOSE_PAREN: (210..211) \")\"\n CLOSE_PAREN: (211..212) \")\"\n ATMOSPHERE: (212..213) \"\n\"\n FORM: (213..229)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..221)\n IDENTIFIER: (214..221) \"display\"\n ATMOSPHERE: (221..222) \" \"\n SYMBOL: (222..228)\n IDENTIFIER: (222..228) \"testit\"\n CLOSE_PAREN: (228..229) \")\"\n FORM: (229..238)\n OPEN_PAREN: (229..230) \"(\"\n SYMBOL: (230..237)\n IDENTIFIER: (230..237) \"newline\"\n CLOSE_PAREN: (237..238) \")\"\n EOF: (238..238) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json b/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json deleted file mode 100644 index 032a5d4..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_libgreet.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..268)\n FORM: (0..195)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..15)\n IDENTIFIER: (1..15) \"define-library\"\n ATMOSPHERE: (15..16) \" \"\n FORM: (16..30)\n OPEN_PAREN: (16..17) \"(\"\n SYMBOL: (17..21)\n IDENTIFIER: (17..21) \"test\"\n ATMOSPHERE: (21..22) \" \"\n SYMBOL: (22..29)\n IDENTIFIER: (22..29) \"greeter\"\n CLOSE_PAREN: (29..30) \")\"\n ATMOSPHERE: (30..32) \"\n\t\"\n FORM: (32..46)\n OPEN_PAREN: (32..33) \"(\"\n SYMBOL: (33..39)\n IDENTIFIER: (33..39) \"export\"\n ATMOSPHERE: (39..40) \" \"\n SYMBOL: (40..45)\n IDENTIFIER: (40..45) \"greet\"\n CLOSE_PAREN: (45..46) \")\"\n ATMOSPHERE: (46..48) \"\n\t\"\n FORM: (48..87)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..55)\n IDENTIFIER: (49..55) \"import\"\n ATMOSPHERE: (55..56) \" \"\n FORM: (56..69)\n OPEN_PAREN: (56..57) \"(\"\n SYMBOL: (57..63)\n IDENTIFIER: (57..63) \"scheme\"\n ATMOSPHERE: (63..64) \" \"\n SYMBOL: (64..68)\n IDENTIFIER: (64..68) \"base\"\n CLOSE_PAREN: (68..69) \")\"\n ATMOSPHERE: (69..72) \"\n\t\t\"\n FORM: (72..86)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..79)\n IDENTIFIER: (73..79) \"scheme\"\n ATMOSPHERE: (79..80) \" \"\n SYMBOL: (80..85)\n IDENTIFIER: (80..85) \"write\"\n CLOSE_PAREN: (85..86) \")\"\n CLOSE_PAREN: (86..87) \")\"\n ATMOSPHERE: (87..89) \"\n\t\"\n FORM: (89..194)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..95)\n IDENTIFIER: (90..95) \"begin\"\n ATMOSPHERE: (95..98) \"\n\t\t\"\n FORM: (98..193)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..105)\n IDENTIFIER: (99..105) \"define\"\n ATMOSPHERE: (105..106) \" \"\n FORM: (106..120)\n OPEN_PAREN: (106..107) \"(\"\n SYMBOL: (107..112)\n IDENTIFIER: (107..112) \"greet\"\n ATMOSPHERE: (112..113) \" \"\n SYMBOL: (113..119)\n IDENTIFIER: (113..119) \"person\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..124) \"\n\t\t\t\"\n FORM: (124..142)\n OPEN_PAREN: (124..125) \"(\"\n SYMBOL: (125..132)\n IDENTIFIER: (125..132) \"display\"\n ATMOSPHERE: (132..133) \" \"\n CONSTANT: (133..141)\n STRING: (133..141) \"\"Hello \"\"\n CLOSE_PAREN: (141..142) \")\"\n ATMOSPHERE: (142..146) \"\n\t\t\t\"\n FORM: (146..162)\n OPEN_PAREN: (146..147) \"(\"\n SYMBOL: (147..154)\n IDENTIFIER: (147..154) \"display\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..161)\n IDENTIFIER: (155..161) \"person\"\n CLOSE_PAREN: (161..162) \")\"\n ATMOSPHERE: (162..166) \"\n\t\t\t\"\n FORM: (166..179)\n OPEN_PAREN: (166..167) \"(\"\n SYMBOL: (167..174)\n IDENTIFIER: (167..174) \"display\"\n ATMOSPHERE: (174..175) \" \"\n CONSTANT: (175..178)\n CHARACTER: (175..178) \"#\\!\"\n CLOSE_PAREN: (178..179) \")\"\n ATMOSPHERE: (179..183) \"\n\t\t\t\"\n FORM: (183..192)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..191)\n IDENTIFIER: (184..191) \"newline\"\n CLOSE_PAREN: (191..192) \")\"\n CLOSE_PAREN: (192..193) \")\"\n CLOSE_PAREN: (193..194) \")\"\n CLOSE_PAREN: (194..195) \")\"\n ATMOSPHERE: (195..197) \"\n\n\"\n FORM: (197..247)\n OPEN_PAREN: (197..198) \"(\"\n SYMBOL: (198..204)\n IDENTIFIER: (198..204) \"import\"\n ATMOSPHERE: (204..205) \" \"\n FORM: (205..246)\n OPEN_PAREN: (205..206) \"(\"\n SYMBOL: (206..212)\n IDENTIFIER: (206..212) \"prefix\"\n ATMOSPHERE: (212..213) \" \"\n FORM: (213..240)\n OPEN_PAREN: (213..214) \"(\"\n SYMBOL: (214..218)\n IDENTIFIER: (214..218) \"only\"\n ATMOSPHERE: (218..219) \" \"\n FORM: (219..233)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..224)\n IDENTIFIER: (220..224) \"test\"\n ATMOSPHERE: (224..225) \" \"\n SYMBOL: (225..232)\n IDENTIFIER: (225..232) \"greeter\"\n CLOSE_PAREN: (232..233) \")\"\n ATMOSPHERE: (233..234) \" \"\n SYMBOL: (234..239)\n IDENTIFIER: (234..239) \"greet\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \" \"\n SYMBOL: (241..245)\n IDENTIFIER: (241..245) \"grt/\"\n CLOSE_PAREN: (245..246) \")\"\n CLOSE_PAREN: (246..247) \")\"\n ATMOSPHERE: (247..249) \"\n\n\"\n FORM: (249..268)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..259)\n IDENTIFIER: (250..259) \"grt/greet\"\n ATMOSPHERE: (259..260) \" \"\n CONSTANT: (260..267)\n STRING: (260..267) \"\"world\"\"\n CLOSE_PAREN: (267..268) \")\"\n EOF: (268..268) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_libs.scm.json b/test/Feersum.Tests/_snapshots/Parse_libs.scm.json deleted file mode 100644 index 941a551..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_libs.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..530)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..94)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..57)\n IDENTIFIER: (43..57) \"define-library\"\n ATMOSPHERE: (57..58) \" \"\n FORM: (58..93)\n OPEN_PAREN: (58..59) \"(\"\n SYMBOL: (59..61)\n IDENTIFIER: (59..61) \"it\"\n ATMOSPHERE: (61..62) \" \"\n SYMBOL: (62..68)\n IDENTIFIER: (62..68) \"should\"\n ATMOSPHERE: (68..69) \" \"\n CONSTANT: (69..72)\n NUMBER: (69..72) \"100\"\n ATMOSPHERE: (72..73) \" \"\n SYMBOL: (73..80)\n IDENTIFIER: (73..80) \"support\"\n ATMOSPHERE: (80..81) \" \"\n CONSTANT: (81..84)\n NUMBER: (81..84) \"202\"\n ATMOSPHERE: (84..85) \" \"\n SYMBOL: (85..92)\n IDENTIFIER: (85..92) \"numbers\"\n CLOSE_PAREN: (92..93) \")\"\n CLOSE_PAREN: (93..94) \")\"\n ATMOSPHERE: (94..95) \"\n\"\n FORM: (95..129)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..110)\n IDENTIFIER: (96..110) \"define-library\"\n ATMOSPHERE: (110..111) \" \"\n FORM: (111..128)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..116)\n IDENTIFIER: (112..116) \"test\"\n ATMOSPHERE: (116..117) \" \"\n SYMBOL: (117..127)\n IDENTIFIER: (117..127) \"dependency\"\n CLOSE_PAREN: (127..128) \")\"\n CLOSE_PAREN: (128..129) \")\"\n ATMOSPHERE: (129..130) \"\n\"\n FORM: (130..346)\n OPEN_PAREN: (130..131) \"(\"\n SYMBOL: (131..145)\n IDENTIFIER: (131..145) \"define-library\"\n ATMOSPHERE: (145..146) \" \"\n FORM: (146..160)\n OPEN_PAREN: (146..147) \"(\"\n SYMBOL: (147..154)\n IDENTIFIER: (147..154) \"example\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..159)\n IDENTIFIER: (155..159) \"grid\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..162) \"\n\t\"\n FORM: (162..215)\n OPEN_PAREN: (162..163) \"(\"\n SYMBOL: (163..169)\n IDENTIFIER: (163..169) \"export\"\n ATMOSPHERE: (169..170) \" \"\n SYMBOL: (170..173)\n IDENTIFIER: (170..173) \"fiz\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..177)\n IDENTIFIER: (174..177) \"buz\"\n ATMOSPHERE: (177..180) \"\n\t\t\"\n FORM: (180..214)\n OPEN_PAREN: (180..181) \"(\"\n SYMBOL: (181..187)\n IDENTIFIER: (181..187) \"rename\"\n ATMOSPHERE: (187..188) \" \"\n SYMBOL: (188..199)\n IDENTIFIER: (188..199) \"hidden-name\"\n ATMOSPHERE: (199..200) \" \"\n SYMBOL: (200..213)\n IDENTIFIER: (200..213) \"external-name\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..217) \"\n\t\"\n FORM: (217..243)\n OPEN_PAREN: (217..218) \"(\"\n SYMBOL: (218..224)\n IDENTIFIER: (218..224) \"import\"\n ATMOSPHERE: (224..225) \" \"\n FORM: (225..242)\n OPEN_PAREN: (225..226) \"(\"\n SYMBOL: (226..230)\n IDENTIFIER: (226..230) \"test\"\n ATMOSPHERE: (230..231) \" \"\n SYMBOL: (231..241)\n IDENTIFIER: (231..241) \"dependency\"\n CLOSE_PAREN: (241..242) \")\"\n CLOSE_PAREN: (242..243) \")\"\n ATMOSPHERE: (243..245) \"\n\t\"\n FORM: (245..345)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..251)\n IDENTIFIER: (246..251) \"begin\"\n ATMOSPHERE: (251..254) \"\n\t\t\"\n FORM: (254..270)\n OPEN_PAREN: (254..255) \"(\"\n SYMBOL: (255..261)\n IDENTIFIER: (255..261) \"define\"\n ATMOSPHERE: (261..262) \" \"\n SYMBOL: (262..265)\n IDENTIFIER: (262..265) \"fiz\"\n ATMOSPHERE: (265..266) \" \"\n CONSTANT: (266..269)\n NUMBER: (266..269) \"100\"\n CLOSE_PAREN: (269..270) \")\"\n ATMOSPHERE: (270..273) \"\n\t\t\"\n FORM: (273..289)\n OPEN_PAREN: (273..274) \"(\"\n SYMBOL: (274..280)\n IDENTIFIER: (274..280) \"define\"\n ATMOSPHERE: (280..281) \" \"\n SYMBOL: (281..284)\n IDENTIFIER: (281..284) \"buz\"\n ATMOSPHERE: (284..285) \" \"\n CONSTANT: (285..288)\n NUMBER: (285..288) \"100\"\n CLOSE_PAREN: (288..289) \")\"\n ATMOSPHERE: (289..292) \"\n\t\t\"\n FORM: (292..316)\n OPEN_PAREN: (292..293) \"(\"\n SYMBOL: (293..299)\n IDENTIFIER: (293..299) \"define\"\n ATMOSPHERE: (299..300) \" \"\n SYMBOL: (300..311)\n IDENTIFIER: (300..311) \"hidden-name\"\n ATMOSPHERE: (311..312) \" \"\n CONSTANT: (312..315)\n NUMBER: (312..315) \"101\"\n CLOSE_PAREN: (315..316) \")\"\n ATMOSPHERE: (316..319) \"\n\t\t\"\n FORM: (319..344)\n OPEN_PAREN: (319..320) \"(\"\n SYMBOL: (320..326)\n IDENTIFIER: (320..326) \"define\"\n ATMOSPHERE: (326..327) \" \"\n SYMBOL: (327..339)\n IDENTIFIER: (327..339) \"not-exported\"\n ATMOSPHERE: (339..340) \" \"\n CONSTANT: (340..343)\n NUMBER: (340..343) \"100\"\n CLOSE_PAREN: (343..344) \")\"\n CLOSE_PAREN: (344..345) \")\"\n CLOSE_PAREN: (345..346) \")\"\n ATMOSPHERE: (346..347) \"\n\"\n FORM: (347..477)\n OPEN_PAREN: (347..348) \"(\"\n SYMBOL: (348..362)\n IDENTIFIER: (348..362) \"define-library\"\n ATMOSPHERE: (362..363) \" \"\n FORM: (363..377)\n OPEN_PAREN: (363..364) \"(\"\n SYMBOL: (364..368)\n IDENTIFIER: (364..368) \"test\"\n ATMOSPHERE: (368..369) \" \"\n SYMBOL: (369..376)\n IDENTIFIER: (369..376) \"greeter\"\n CLOSE_PAREN: (376..377) \")\"\n ATMOSPHERE: (377..379) \"\n\t\"\n FORM: (379..417)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..386)\n IDENTIFIER: (380..386) \"import\"\n ATMOSPHERE: (386..387) \" \"\n FORM: (387..416)\n OPEN_PAREN: (387..388) \"(\"\n SYMBOL: (388..394)\n IDENTIFIER: (388..394) \"prefix\"\n ATMOSPHERE: (394..395) \" \"\n FORM: (395..409)\n OPEN_PAREN: (395..396) \"(\"\n SYMBOL: (396..403)\n IDENTIFIER: (396..403) \"example\"\n ATMOSPHERE: (403..404) \" \"\n SYMBOL: (404..408)\n IDENTIFIER: (404..408) \"grid\"\n CLOSE_PAREN: (408..409) \")\"\n ATMOSPHERE: (409..410) \" \"\n SYMBOL: (410..415)\n IDENTIFIER: (410..415) \"grid/\"\n CLOSE_PAREN: (415..416) \")\"\n CLOSE_PAREN: (416..417) \")\"\n ATMOSPHERE: (417..419) \"\n\t\"\n FORM: (419..433)\n OPEN_PAREN: (419..420) \"(\"\n SYMBOL: (420..426)\n IDENTIFIER: (420..426) \"export\"\n ATMOSPHERE: (426..427) \" \"\n SYMBOL: (427..432)\n IDENTIFIER: (427..432) \"greet\"\n CLOSE_PAREN: (432..433) \")\"\n ATMOSPHERE: (433..435) \"\n\t\"\n FORM: (435..476)\n OPEN_PAREN: (435..436) \"(\"\n SYMBOL: (436..441)\n IDENTIFIER: (436..441) \"begin\"\n ATMOSPHERE: (441..442) \" \"\n FORM: (442..475)\n OPEN_PAREN: (442..443) \"(\"\n SYMBOL: (443..449)\n IDENTIFIER: (443..449) \"define\"\n ATMOSPHERE: (449..450) \" \"\n SYMBOL: (450..455)\n IDENTIFIER: (450..455) \"greet\"\n ATMOSPHERE: (455..456) \" \"\n SYMBOL: (456..474)\n IDENTIFIER: (456..474) \"grid/external-name\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n CLOSE_PAREN: (476..477) \")\"\n ATMOSPHERE: (477..478) \"\n\"\n FORM: (478..514)\n OPEN_PAREN: (478..479) \"(\"\n SYMBOL: (479..485)\n IDENTIFIER: (479..485) \"import\"\n ATMOSPHERE: (485..486) \" \"\n FORM: (486..513)\n OPEN_PAREN: (486..487) \"(\"\n SYMBOL: (487..491)\n IDENTIFIER: (487..491) \"only\"\n ATMOSPHERE: (491..492) \" \"\n FORM: (492..506)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..497)\n IDENTIFIER: (493..497) \"test\"\n ATMOSPHERE: (497..498) \" \"\n SYMBOL: (498..505)\n IDENTIFIER: (498..505) \"greeter\"\n CLOSE_PAREN: (505..506) \")\"\n ATMOSPHERE: (506..507) \" \"\n SYMBOL: (507..512)\n IDENTIFIER: (507..512) \"greet\"\n CLOSE_PAREN: (512..513) \")\"\n CLOSE_PAREN: (513..514) \")\"\n ATMOSPHERE: (514..515) \"\n\"\n FORM: (515..530)\n OPEN_PAREN: (515..516) \"(\"\n SYMBOL: (516..523)\n IDENTIFIER: (516..523) \"display\"\n ATMOSPHERE: (523..524) \" \"\n SYMBOL: (524..529)\n IDENTIFIER: (524..529) \"greet\"\n CLOSE_PAREN: (529..530) \")\"\n EOF: (530..530) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_lists.scm.json b/test/Feersum.Tests/_snapshots/Parse_lists.scm.json deleted file mode 100644 index 43485e5..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_lists.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..2619)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..239)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..51)\n IDENTIFIER: (44..51) \"display\"\n ATMOSPHERE: (51..52) \" \"\n FORM: (52..238)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..57)\n IDENTIFIER: (53..57) \"list\"\n ATMOSPHERE: (57..62) \"\n \"\n FORM: (62..77)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..67)\n IDENTIFIER: (63..67) \"list\"\n ATMOSPHERE: (67..68) \" \"\n CONSTANT: (68..70)\n NUMBER: (68..70) \"12\"\n ATMOSPHERE: (70..71) \" \"\n CONSTANT: (71..73)\n NUMBER: (71..73) \"34\"\n ATMOSPHERE: (73..74) \" \"\n CONSTANT: (74..76)\n NUMBER: (74..76) \"56\"\n CLOSE_PAREN: (76..77) \")\"\n ATMOSPHERE: (77..105) \" \"\n ATMOSPHERE: (105..117) \"; (12 34 56)\"\n ATMOSPHERE: (117..122) \"\n \"\n FORM: (122..155)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..126)\n IDENTIFIER: (123..126) \"cdr\"\n ATMOSPHERE: (126..127) \" \"\n FORM: (127..154)\n OPEN_PAREN: (127..128) \"(\"\n SYMBOL: (128..131)\n IDENTIFIER: (128..131) \"cdr\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..153)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..137)\n IDENTIFIER: (133..137) \"list\"\n ATMOSPHERE: (137..138) \" \"\n CONSTANT: (138..141)\n STRING: (138..141) \"\"a\"\"\n ATMOSPHERE: (141..142) \" \"\n CONSTANT: (142..145)\n CHARACTER: (142..145) \"#\\B\"\n ATMOSPHERE: (145..146) \" \"\n CONSTANT: (146..148)\n BOOLEAN: (146..148) \"#f\"\n ATMOSPHERE: (148..149) \" \"\n CONSTANT: (149..152)\n NUMBER: (149..152) \"4.0\"\n CLOSE_PAREN: (152..153) \")\"\n CLOSE_PAREN: (153..154) \")\"\n CLOSE_PAREN: (154..155) \")\"\n ATMOSPHERE: (155..165) \" \"\n ATMOSPHERE: (165..178) \"; -> (#f 4.0)\"\n ATMOSPHERE: (178..183) \"\n \"\n FORM: (183..224)\n OPEN_PAREN: (183..184) \"(\"\n SYMBOL: (184..187)\n IDENTIFIER: (184..187) \"car\"\n ATMOSPHERE: (187..188) \" \"\n FORM: (188..223)\n OPEN_PAREN: (188..189) \"(\"\n SYMBOL: (189..192)\n IDENTIFIER: (189..192) \"cdr\"\n ATMOSPHERE: (192..193) \" \"\n FORM: (193..222)\n OPEN_PAREN: (193..194) \"(\"\n SYMBOL: (194..197)\n IDENTIFIER: (194..197) \"car\"\n ATMOSPHERE: (197..198) \" \"\n FORM: (198..221)\n OPEN_PAREN: (198..199) \"(\"\n SYMBOL: (199..203)\n IDENTIFIER: (199..203) \"list\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..216)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..209)\n IDENTIFIER: (205..209) \"list\"\n ATMOSPHERE: (209..210) \" \"\n CONSTANT: (210..211)\n NUMBER: (210..211) \"1\"\n ATMOSPHERE: (211..212) \" \"\n CONSTANT: (212..213)\n NUMBER: (212..213) \"2\"\n ATMOSPHERE: (213..214) \" \"\n CONSTANT: (214..215)\n NUMBER: (214..215) \"3\"\n CLOSE_PAREN: (215..216) \")\"\n ATMOSPHERE: (216..217) \" \"\n CONSTANT: (217..218)\n NUMBER: (217..218) \"4\"\n ATMOSPHERE: (218..219) \" \"\n CONSTANT: (219..220)\n NUMBER: (219..220) \"5\"\n CLOSE_PAREN: (220..221) \")\"\n CLOSE_PAREN: (221..222) \")\"\n CLOSE_PAREN: (222..223) \")\"\n CLOSE_PAREN: (223..224) \")\"\n ATMOSPHERE: (224..226) \" \"\n ATMOSPHERE: (226..232) \"; -> 2\"\n ATMOSPHERE: (232..237) \"\n \"\n CLOSE_PAREN: (237..238) \")\"\n CLOSE_PAREN: (238..239) \")\"\n ATMOSPHERE: (239..240) \"\n\"\n FORM: (240..249)\n OPEN_PAREN: (240..241) \"(\"\n SYMBOL: (241..248)\n IDENTIFIER: (241..248) \"newline\"\n CLOSE_PAREN: (248..249) \")\"\n ATMOSPHERE: (249..251) \"\n\n\"\n FORM: (251..436)\n OPEN_PAREN: (251..252) \"(\"\n SYMBOL: (252..258)\n IDENTIFIER: (252..258) \"define\"\n ATMOSPHERE: (258..259) \" \"\n FORM: (259..269)\n OPEN_PAREN: (259..260) \"(\"\n SYMBOL: (260..263)\n IDENTIFIER: (260..263) \"rev\"\n ATMOSPHERE: (263..264) \" \"\n SYMBOL: (264..268)\n IDENTIFIER: (264..268) \"list\"\n CLOSE_PAREN: (268..269) \")\"\n ATMOSPHERE: (269..274) \"\n \"\n FORM: (274..408)\n OPEN_PAREN: (274..275) \"(\"\n SYMBOL: (275..281)\n IDENTIFIER: (275..281) \"define\"\n ATMOSPHERE: (281..282) \" \"\n FORM: (282..305)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..295)\n IDENTIFIER: (283..295) \"rev-with-acc\"\n ATMOSPHERE: (295..296) \" \"\n SYMBOL: (296..300)\n IDENTIFIER: (296..300) \"list\"\n ATMOSPHERE: (300..301) \" \"\n SYMBOL: (301..304)\n IDENTIFIER: (301..304) \"acc\"\n CLOSE_PAREN: (304..305) \")\"\n ATMOSPHERE: (305..314) \"\n \"\n FORM: (314..407)\n OPEN_PAREN: (314..315) \"(\"\n SYMBOL: (315..317)\n IDENTIFIER: (315..317) \"if\"\n ATMOSPHERE: (317..318) \" \"\n FORM: (318..330)\n OPEN_PAREN: (318..319) \"(\"\n SYMBOL: (319..324)\n IDENTIFIER: (319..324) \"null?\"\n ATMOSPHERE: (324..325) \" \"\n SYMBOL: (325..329)\n IDENTIFIER: (325..329) \"list\"\n CLOSE_PAREN: (329..330) \")\"\n ATMOSPHERE: (330..343) \"\n \"\n SYMBOL: (343..346)\n IDENTIFIER: (343..346) \"acc\"\n ATMOSPHERE: (346..359) \"\n \"\n FORM: (359..406)\n OPEN_PAREN: (359..360) \"(\"\n SYMBOL: (360..372)\n IDENTIFIER: (360..372) \"rev-with-acc\"\n ATMOSPHERE: (372..373) \" \"\n FORM: (373..383)\n OPEN_PAREN: (373..374) \"(\"\n SYMBOL: (374..377)\n IDENTIFIER: (374..377) \"cdr\"\n ATMOSPHERE: (377..378) \" \"\n SYMBOL: (378..382)\n IDENTIFIER: (378..382) \"list\"\n CLOSE_PAREN: (382..383) \")\"\n ATMOSPHERE: (383..384) \" \"\n FORM: (384..405)\n OPEN_PAREN: (384..385) \"(\"\n SYMBOL: (385..389)\n IDENTIFIER: (385..389) \"cons\"\n ATMOSPHERE: (389..390) \" \"\n FORM: (390..400)\n OPEN_PAREN: (390..391) \"(\"\n SYMBOL: (391..394)\n IDENTIFIER: (391..394) \"car\"\n ATMOSPHERE: (394..395) \" \"\n SYMBOL: (395..399)\n IDENTIFIER: (395..399) \"list\"\n CLOSE_PAREN: (399..400) \")\"\n ATMOSPHERE: (400..401) \" \"\n SYMBOL: (401..404)\n IDENTIFIER: (401..404) \"acc\"\n CLOSE_PAREN: (404..405) \")\"\n CLOSE_PAREN: (405..406) \")\"\n CLOSE_PAREN: (406..407) \")\"\n CLOSE_PAREN: (407..408) \")\"\n ATMOSPHERE: (408..413) \"\n \"\n FORM: (413..435)\n OPEN_PAREN: (413..414) \"(\"\n SYMBOL: (414..426)\n IDENTIFIER: (414..426) \"rev-with-acc\"\n ATMOSPHERE: (426..427) \" \"\n SYMBOL: (427..431)\n IDENTIFIER: (427..431) \"list\"\n ATMOSPHERE: (431..432) \" \"\n FORM: (432..434)\n OPEN_PAREN: (432..433) \"(\"\n CLOSE_PAREN: (433..434) \")\"\n CLOSE_PAREN: (434..435) \")\"\n CLOSE_PAREN: (435..436) \")\"\n ATMOSPHERE: (436..438) \"\n\n\"\n FORM: (438..470)\n OPEN_PAREN: (438..439) \"(\"\n SYMBOL: (439..446)\n IDENTIFIER: (439..446) \"display\"\n ATMOSPHERE: (446..447) \" \"\n FORM: (447..469)\n OPEN_PAREN: (447..448) \"(\"\n SYMBOL: (448..451)\n IDENTIFIER: (448..451) \"rev\"\n ATMOSPHERE: (451..452) \" \"\n FORM: (452..468)\n OPEN_PAREN: (452..453) \"(\"\n SYMBOL: (453..457)\n IDENTIFIER: (453..457) \"list\"\n ATMOSPHERE: (457..458) \" \"\n CONSTANT: (458..459)\n NUMBER: (458..459) \"1\"\n ATMOSPHERE: (459..460) \" \"\n CONSTANT: (460..461)\n NUMBER: (460..461) \"2\"\n ATMOSPHERE: (461..462) \" \"\n CONSTANT: (462..463)\n NUMBER: (462..463) \"3\"\n ATMOSPHERE: (463..464) \" \"\n CONSTANT: (464..465)\n NUMBER: (464..465) \"4\"\n ATMOSPHERE: (465..466) \" \"\n CONSTANT: (466..467)\n NUMBER: (466..467) \"5\"\n CLOSE_PAREN: (467..468) \")\"\n CLOSE_PAREN: (468..469) \")\"\n CLOSE_PAREN: (469..470) \")\"\n ATMOSPHERE: (470..471) \"\n\"\n FORM: (471..480)\n OPEN_PAREN: (471..472) \"(\"\n SYMBOL: (472..479)\n IDENTIFIER: (472..479) \"newline\"\n CLOSE_PAREN: (479..480) \")\"\n ATMOSPHERE: (480..482) \"\n\n\"\n FORM: (482..513)\n OPEN_PAREN: (482..483) \"(\"\n SYMBOL: (483..490)\n IDENTIFIER: (483..490) \"display\"\n ATMOSPHERE: (490..491) \" \"\n FORM: (491..512)\n OPEN_PAREN: (491..492) \"(\"\n SYMBOL: (492..497)\n IDENTIFIER: (492..497) \"list?\"\n ATMOSPHERE: (497..498) \" \"\n FORM: (498..511)\n OPEN_PAREN: (498..499) \"(\"\n SYMBOL: (499..503)\n IDENTIFIER: (499..503) \"cons\"\n ATMOSPHERE: (503..504) \" \"\n CONSTANT: (504..507)\n STRING: (504..507) \"\"a\"\"\n ATMOSPHERE: (507..508) \" \"\n FORM: (508..510)\n OPEN_PAREN: (508..509) \"(\"\n CLOSE_PAREN: (509..510) \")\"\n CLOSE_PAREN: (510..511) \")\"\n CLOSE_PAREN: (511..512) \")\"\n CLOSE_PAREN: (512..513) \")\"\n ATMOSPHERE: (513..514) \" \"\n ATMOSPHERE: (514..521) \"; -> #t\"\n ATMOSPHERE: (521..522) \"\n\"\n FORM: (522..557)\n OPEN_PAREN: (522..523) \"(\"\n SYMBOL: (523..530)\n IDENTIFIER: (523..530) \"display\"\n ATMOSPHERE: (530..531) \" \"\n FORM: (531..556)\n OPEN_PAREN: (531..532) \"(\"\n SYMBOL: (532..537)\n IDENTIFIER: (532..537) \"list?\"\n ATMOSPHERE: (537..538) \" \"\n FORM: (538..555)\n OPEN_PAREN: (538..539) \"(\"\n SYMBOL: (539..543)\n IDENTIFIER: (539..543) \"cons\"\n ATMOSPHERE: (543..544) \" \"\n CONSTANT: (544..547)\n STRING: (544..547) \"\"a\"\"\n ATMOSPHERE: (547..548) \" \"\n FORM: (548..554)\n OPEN_PAREN: (548..549) \"(\"\n SYMBOL: (549..553)\n IDENTIFIER: (549..553) \"list\"\n CLOSE_PAREN: (553..554) \")\"\n CLOSE_PAREN: (554..555) \")\"\n CLOSE_PAREN: (555..556) \")\"\n CLOSE_PAREN: (556..557) \")\"\n ATMOSPHERE: (557..558) \" \"\n ATMOSPHERE: (558..565) \"; -> #t\"\n ATMOSPHERE: (565..566) \"\n\"\n FORM: (566..598)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..574)\n IDENTIFIER: (567..574) \"display\"\n ATMOSPHERE: (574..575) \" \"\n FORM: (575..597)\n OPEN_PAREN: (575..576) \"(\"\n SYMBOL: (576..581)\n IDENTIFIER: (576..581) \"list?\"\n ATMOSPHERE: (581..582) \" \"\n FORM: (582..596)\n OPEN_PAREN: (582..583) \"(\"\n SYMBOL: (583..587)\n IDENTIFIER: (583..587) \"cons\"\n ATMOSPHERE: (587..588) \" \"\n CONSTANT: (588..591)\n STRING: (588..591) \"\"a\"\"\n ATMOSPHERE: (591..592) \" \"\n CONSTANT: (592..595)\n STRING: (592..595) \"\"b\"\"\n CLOSE_PAREN: (595..596) \")\"\n CLOSE_PAREN: (596..597) \")\"\n CLOSE_PAREN: (597..598) \")\"\n ATMOSPHERE: (598..599) \" \"\n ATMOSPHERE: (599..606) \"; -> #f\"\n ATMOSPHERE: (606..607) \"\n\"\n FORM: (607..616)\n OPEN_PAREN: (607..608) \"(\"\n SYMBOL: (608..615)\n IDENTIFIER: (608..615) \"newline\"\n CLOSE_PAREN: (615..616) \")\"\n ATMOSPHERE: (616..618) \"\n\n\"\n FORM: (618..649)\n OPEN_PAREN: (618..619) \"(\"\n SYMBOL: (619..626)\n IDENTIFIER: (619..626) \"display\"\n ATMOSPHERE: (626..627) \" \"\n FORM: (627..648)\n OPEN_PAREN: (627..628) \"(\"\n SYMBOL: (628..633)\n IDENTIFIER: (628..633) \"pair?\"\n ATMOSPHERE: (633..634) \" \"\n FORM: (634..647)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..639)\n IDENTIFIER: (635..639) \"cons\"\n ATMOSPHERE: (639..640) \" \"\n CONSTANT: (640..643)\n STRING: (640..643) \"\"a\"\"\n ATMOSPHERE: (643..644) \" \"\n FORM: (644..646)\n OPEN_PAREN: (644..645) \"(\"\n CLOSE_PAREN: (645..646) \")\"\n CLOSE_PAREN: (646..647) \")\"\n CLOSE_PAREN: (647..648) \")\"\n CLOSE_PAREN: (648..649) \")\"\n ATMOSPHERE: (649..650) \" \"\n ATMOSPHERE: (650..657) \"; -> #t\"\n ATMOSPHERE: (657..658) \"\n\"\n FORM: (658..693)\n OPEN_PAREN: (658..659) \"(\"\n SYMBOL: (659..666)\n IDENTIFIER: (659..666) \"display\"\n ATMOSPHERE: (666..667) \" \"\n FORM: (667..692)\n OPEN_PAREN: (667..668) \"(\"\n SYMBOL: (668..673)\n IDENTIFIER: (668..673) \"pair?\"\n ATMOSPHERE: (673..674) \" \"\n FORM: (674..691)\n OPEN_PAREN: (674..675) \"(\"\n SYMBOL: (675..679)\n IDENTIFIER: (675..679) \"cons\"\n ATMOSPHERE: (679..680) \" \"\n CONSTANT: (680..683)\n STRING: (680..683) \"\"a\"\"\n ATMOSPHERE: (683..684) \" \"\n FORM: (684..690)\n OPEN_PAREN: (684..685) \"(\"\n SYMBOL: (685..689)\n IDENTIFIER: (685..689) \"list\"\n CLOSE_PAREN: (689..690) \")\"\n CLOSE_PAREN: (690..691) \")\"\n CLOSE_PAREN: (691..692) \")\"\n CLOSE_PAREN: (692..693) \")\"\n ATMOSPHERE: (693..694) \" \"\n ATMOSPHERE: (694..701) \"; -> #t\"\n ATMOSPHERE: (701..702) \"\n\"\n FORM: (702..734)\n OPEN_PAREN: (702..703) \"(\"\n SYMBOL: (703..710)\n IDENTIFIER: (703..710) \"display\"\n ATMOSPHERE: (710..711) \" \"\n FORM: (711..733)\n OPEN_PAREN: (711..712) \"(\"\n SYMBOL: (712..717)\n IDENTIFIER: (712..717) \"pair?\"\n ATMOSPHERE: (717..718) \" \"\n FORM: (718..732)\n OPEN_PAREN: (718..719) \"(\"\n SYMBOL: (719..723)\n IDENTIFIER: (719..723) \"cons\"\n ATMOSPHERE: (723..724) \" \"\n CONSTANT: (724..727)\n STRING: (724..727) \"\"a\"\"\n ATMOSPHERE: (727..728) \" \"\n CONSTANT: (728..731)\n STRING: (728..731) \"\"b\"\"\n CLOSE_PAREN: (731..732) \")\"\n CLOSE_PAREN: (732..733) \")\"\n CLOSE_PAREN: (733..734) \")\"\n ATMOSPHERE: (734..735) \" \"\n ATMOSPHERE: (735..742) \"; -> #t\"\n ATMOSPHERE: (742..743) \"\n\"\n FORM: (743..752)\n OPEN_PAREN: (743..744) \"(\"\n SYMBOL: (744..751)\n IDENTIFIER: (744..751) \"newline\"\n CLOSE_PAREN: (751..752) \")\"\n ATMOSPHERE: (752..754) \"\n\n\"\n FORM: (754..782)\n OPEN_PAREN: (754..755) \"(\"\n SYMBOL: (755..762)\n IDENTIFIER: (755..762) \"display\"\n ATMOSPHERE: (762..763) \" \"\n FORM: (763..781)\n OPEN_PAREN: (763..764) \"(\"\n SYMBOL: (764..770)\n IDENTIFIER: (764..770) \"append\"\n ATMOSPHERE: (770..771) \" \"\n QUOTED_DATUM: (771..776)\n QUOTE: (771..772) \"’\"\n FORM: (772..775)\n OPEN_PAREN: (772..773) \"(\"\n SYMBOL: (773..774)\n IDENTIFIER: (773..774) \"x\"\n CLOSE_PAREN: (774..775) \")\"\n ATMOSPHERE: (775..776) \" \"\n QUOTED_DATUM: (776..780)\n QUOTE: (776..777) \"’\"\n FORM: (777..780)\n OPEN_PAREN: (777..778) \"(\"\n SYMBOL: (778..779)\n IDENTIFIER: (778..779) \"y\"\n CLOSE_PAREN: (779..780) \")\"\n CLOSE_PAREN: (780..781) \")\"\n CLOSE_PAREN: (781..782) \")\"\n FORM: (782..791)\n OPEN_PAREN: (782..783) \"(\"\n SYMBOL: (783..790)\n IDENTIFIER: (783..790) \"newline\"\n CLOSE_PAREN: (790..791) \")\"\n ATMOSPHERE: (791..792) \" \"\n ATMOSPHERE: (792..802) \"; -> (x y)\"\n ATMOSPHERE: (802..803) \"\n\"\n FORM: (803..835)\n OPEN_PAREN: (803..804) \"(\"\n SYMBOL: (804..811)\n IDENTIFIER: (804..811) \"display\"\n ATMOSPHERE: (811..812) \" \"\n FORM: (812..834)\n OPEN_PAREN: (812..813) \"(\"\n SYMBOL: (813..819)\n IDENTIFIER: (813..819) \"append\"\n ATMOSPHERE: (819..820) \" \"\n QUOTED_DATUM: (820..825)\n QUOTE: (820..821) \"’\"\n FORM: (821..824)\n OPEN_PAREN: (821..822) \"(\"\n SYMBOL: (822..823)\n IDENTIFIER: (822..823) \"a\"\n CLOSE_PAREN: (823..824) \")\"\n ATMOSPHERE: (824..825) \" \"\n QUOTED_DATUM: (825..833)\n QUOTE: (825..826) \"’\"\n FORM: (826..833)\n OPEN_PAREN: (826..827) \"(\"\n SYMBOL: (827..828)\n IDENTIFIER: (827..828) \"b\"\n ATMOSPHERE: (828..829) \" \"\n SYMBOL: (829..830)\n IDENTIFIER: (829..830) \"c\"\n ATMOSPHERE: (830..831) \" \"\n SYMBOL: (831..832)\n IDENTIFIER: (831..832) \"d\"\n CLOSE_PAREN: (832..833) \")\"\n CLOSE_PAREN: (833..834) \")\"\n CLOSE_PAREN: (834..835) \")\"\n FORM: (835..844)\n OPEN_PAREN: (835..836) \"(\"\n SYMBOL: (836..843)\n IDENTIFIER: (836..843) \"newline\"\n CLOSE_PAREN: (843..844) \")\"\n ATMOSPHERE: (844..845) \" \"\n ATMOSPHERE: (845..859) \"; -> (a b c d)\"\n ATMOSPHERE: (859..860) \"\n\"\n FORM: (860..894)\n OPEN_PAREN: (860..861) \"(\"\n SYMBOL: (861..868)\n IDENTIFIER: (861..868) \"display\"\n ATMOSPHERE: (868..869) \" \"\n FORM: (869..893)\n OPEN_PAREN: (869..870) \"(\"\n SYMBOL: (870..876)\n IDENTIFIER: (870..876) \"append\"\n ATMOSPHERE: (876..877) \" \"\n QUOTED_DATUM: (877..886)\n QUOTE: (877..878) \"’\"\n FORM: (878..885)\n OPEN_PAREN: (878..879) \"(\"\n SYMBOL: (879..880)\n IDENTIFIER: (879..880) \"a\"\n ATMOSPHERE: (880..881) \" \"\n FORM: (881..884)\n OPEN_PAREN: (881..882) \"(\"\n SYMBOL: (882..883)\n IDENTIFIER: (882..883) \"b\"\n CLOSE_PAREN: (883..884) \")\"\n CLOSE_PAREN: (884..885) \")\"\n ATMOSPHERE: (885..886) \" \"\n QUOTED_DATUM: (886..892)\n QUOTE: (886..887) \"’\"\n FORM: (887..892)\n OPEN_PAREN: (887..888) \"(\"\n FORM: (888..891)\n OPEN_PAREN: (888..889) \"(\"\n SYMBOL: (889..890)\n IDENTIFIER: (889..890) \"c\"\n CLOSE_PAREN: (890..891) \")\"\n CLOSE_PAREN: (891..892) \")\"\n CLOSE_PAREN: (892..893) \")\"\n CLOSE_PAREN: (893..894) \")\"\n FORM: (894..903)\n OPEN_PAREN: (894..895) \"(\"\n SYMBOL: (895..902)\n IDENTIFIER: (895..902) \"newline\"\n CLOSE_PAREN: (902..903) \")\"\n ATMOSPHERE: (903..904) \" \"\n ATMOSPHERE: (904..920) \"; -> (a (b) (c))\"\n ATMOSPHERE: (920..921) \"\n\"\n FORM: (921..955)\n OPEN_PAREN: (921..922) \"(\"\n SYMBOL: (922..929)\n IDENTIFIER: (922..929) \"display\"\n ATMOSPHERE: (929..930) \" \"\n FORM: (930..954)\n OPEN_PAREN: (930..931) \"(\"\n SYMBOL: (931..937)\n IDENTIFIER: (931..937) \"append\"\n ATMOSPHERE: (937..938) \" \"\n QUOTED_DATUM: (938..945)\n QUOTE: (938..939) \"’\"\n FORM: (939..944)\n OPEN_PAREN: (939..940) \"(\"\n SYMBOL: (940..941)\n IDENTIFIER: (940..941) \"a\"\n ATMOSPHERE: (941..942) \" \"\n SYMBOL: (942..943)\n IDENTIFIER: (942..943) \"b\"\n CLOSE_PAREN: (943..944) \")\"\n ATMOSPHERE: (944..945) \" \"\n QUOTED_DATUM: (945..953)\n QUOTE: (945..946) \"’\"\n FORM: (946..953)\n OPEN_PAREN: (946..947) \"(\"\n SYMBOL: (947..948)\n IDENTIFIER: (947..948) \"c\"\n ATMOSPHERE: (948..949) \" \"\n DOTTED_TAIL: (949..952)\n DOT: (949..950) \".\"\n ATMOSPHERE: (950..951) \" \"\n SYMBOL: (951..952)\n IDENTIFIER: (951..952) \"d\"\n CLOSE_PAREN: (952..953) \")\"\n CLOSE_PAREN: (953..954) \")\"\n CLOSE_PAREN: (954..955) \")\"\n FORM: (955..964)\n OPEN_PAREN: (955..956) \"(\"\n SYMBOL: (956..963)\n IDENTIFIER: (956..963) \"newline\"\n CLOSE_PAREN: (963..964) \")\"\n ATMOSPHERE: (964..965) \" \"\n ATMOSPHERE: (965..1005) \"; -> (a b c . d) ;; FIXME: quoted pairs!\"\n ATMOSPHERE: (1005..1006) \"\n\"\n FORM: (1006..1044)\n OPEN_PAREN: (1006..1007) \"(\"\n SYMBOL: (1007..1014)\n IDENTIFIER: (1007..1014) \"display\"\n ATMOSPHERE: (1014..1015) \" \"\n FORM: (1015..1043)\n OPEN_PAREN: (1015..1016) \"(\"\n SYMBOL: (1016..1022)\n IDENTIFIER: (1016..1022) \"append\"\n ATMOSPHERE: (1022..1023) \" \"\n QUOTED_DATUM: (1023..1030)\n QUOTE: (1023..1024) \"’\"\n FORM: (1024..1029)\n OPEN_PAREN: (1024..1025) \"(\"\n SYMBOL: (1025..1026)\n IDENTIFIER: (1025..1026) \"a\"\n ATMOSPHERE: (1026..1027) \" \"\n SYMBOL: (1027..1028)\n IDENTIFIER: (1027..1028) \"b\"\n CLOSE_PAREN: (1028..1029) \")\"\n ATMOSPHERE: (1029..1030) \" \"\n FORM: (1030..1042)\n OPEN_PAREN: (1030..1031) \"(\"\n SYMBOL: (1031..1035)\n IDENTIFIER: (1031..1035) \"cons\"\n ATMOSPHERE: (1035..1036) \" \"\n QUOTED_DATUM: (1036..1039)\n QUOTE: (1036..1037) \"'\"\n SYMBOL: (1037..1038)\n IDENTIFIER: (1037..1038) \"c\"\n ATMOSPHERE: (1038..1039) \" \"\n QUOTED_DATUM: (1039..1041)\n QUOTE: (1039..1040) \"'\"\n SYMBOL: (1040..1041)\n IDENTIFIER: (1040..1041) \"d\"\n CLOSE_PAREN: (1041..1042) \")\"\n CLOSE_PAREN: (1042..1043) \")\"\n CLOSE_PAREN: (1043..1044) \")\"\n FORM: (1044..1053)\n OPEN_PAREN: (1044..1045) \"(\"\n SYMBOL: (1045..1052)\n IDENTIFIER: (1045..1052) \"newline\"\n CLOSE_PAREN: (1052..1053) \")\"\n ATMOSPHERE: (1053..1054) \" \"\n ATMOSPHERE: (1054..1070) \"; -> (a b c . d)\"\n ATMOSPHERE: (1070..1071) \"\n\"\n FORM: (1071..1096)\n OPEN_PAREN: (1071..1072) \"(\"\n SYMBOL: (1072..1079)\n IDENTIFIER: (1072..1079) \"display\"\n ATMOSPHERE: (1079..1080) \" \"\n FORM: (1080..1095)\n OPEN_PAREN: (1080..1081) \"(\"\n SYMBOL: (1081..1087)\n IDENTIFIER: (1081..1087) \"append\"\n ATMOSPHERE: (1087..1088) \" \"\n QUOTED_DATUM: (1088..1092)\n QUOTE: (1088..1089) \"’\"\n FORM: (1089..1091)\n OPEN_PAREN: (1089..1090) \"(\"\n CLOSE_PAREN: (1090..1091) \")\"\n ATMOSPHERE: (1091..1092) \" \"\n QUOTED_DATUM: (1092..1094)\n QUOTE: (1092..1093) \"’\"\n SYMBOL: (1093..1094)\n IDENTIFIER: (1093..1094) \"a\"\n CLOSE_PAREN: (1094..1095) \")\"\n CLOSE_PAREN: (1095..1096) \")\"\n FORM: (1096..1105)\n OPEN_PAREN: (1096..1097) \"(\"\n SYMBOL: (1097..1104)\n IDENTIFIER: (1097..1104) \"newline\"\n CLOSE_PAREN: (1104..1105) \")\"\n ATMOSPHERE: (1105..1106) \" \"\n ATMOSPHERE: (1106..1112) \"; -> a\"\n ATMOSPHERE: (1112..1114) \"\n\n\"\n FORM: (1114..1142)\n OPEN_PAREN: (1114..1115) \"(\"\n SYMBOL: (1115..1122)\n IDENTIFIER: (1115..1122) \"display\"\n ATMOSPHERE: (1122..1123) \" \"\n FORM: (1123..1141)\n OPEN_PAREN: (1123..1124) \"(\"\n SYMBOL: (1124..1131)\n IDENTIFIER: (1124..1131) \"reverse\"\n ATMOSPHERE: (1131..1132) \" \"\n QUOTED_DATUM: (1132..1140)\n QUOTE: (1132..1133) \"’\"\n FORM: (1133..1140)\n OPEN_PAREN: (1133..1134) \"(\"\n SYMBOL: (1134..1135)\n IDENTIFIER: (1134..1135) \"a\"\n ATMOSPHERE: (1135..1136) \" \"\n SYMBOL: (1136..1137)\n IDENTIFIER: (1136..1137) \"b\"\n ATMOSPHERE: (1137..1138) \" \"\n SYMBOL: (1138..1139)\n IDENTIFIER: (1138..1139) \"c\"\n CLOSE_PAREN: (1139..1140) \")\"\n CLOSE_PAREN: (1140..1141) \")\"\n CLOSE_PAREN: (1141..1142) \")\"\n FORM: (1142..1151)\n OPEN_PAREN: (1142..1143) \"(\"\n SYMBOL: (1143..1150)\n IDENTIFIER: (1143..1150) \"newline\"\n CLOSE_PAREN: (1150..1151) \")\"\n ATMOSPHERE: (1151..1152) \" \"\n ATMOSPHERE: (1152..1164) \"; -> (c b a)\"\n ATMOSPHERE: (1164..1165) \"\n\"\n FORM: (1165..1205)\n OPEN_PAREN: (1165..1166) \"(\"\n SYMBOL: (1166..1173)\n IDENTIFIER: (1166..1173) \"display\"\n ATMOSPHERE: (1173..1174) \" \"\n FORM: (1174..1204)\n OPEN_PAREN: (1174..1175) \"(\"\n SYMBOL: (1175..1182)\n IDENTIFIER: (1175..1182) \"reverse\"\n ATMOSPHERE: (1182..1183) \" \"\n QUOTED_DATUM: (1183..1203)\n QUOTE: (1183..1184) \"’\"\n FORM: (1184..1203)\n OPEN_PAREN: (1184..1185) \"(\"\n SYMBOL: (1185..1186)\n IDENTIFIER: (1185..1186) \"a\"\n ATMOSPHERE: (1186..1187) \" \"\n FORM: (1187..1192)\n OPEN_PAREN: (1187..1188) \"(\"\n SYMBOL: (1188..1189)\n IDENTIFIER: (1188..1189) \"b\"\n ATMOSPHERE: (1189..1190) \" \"\n SYMBOL: (1190..1191)\n IDENTIFIER: (1190..1191) \"c\"\n CLOSE_PAREN: (1191..1192) \")\"\n ATMOSPHERE: (1192..1193) \" \"\n SYMBOL: (1193..1194)\n IDENTIFIER: (1193..1194) \"d\"\n ATMOSPHERE: (1194..1195) \" \"\n FORM: (1195..1202)\n OPEN_PAREN: (1195..1196) \"(\"\n SYMBOL: (1196..1197)\n IDENTIFIER: (1196..1197) \"e\"\n ATMOSPHERE: (1197..1198) \" \"\n FORM: (1198..1201)\n OPEN_PAREN: (1198..1199) \"(\"\n SYMBOL: (1199..1200)\n IDENTIFIER: (1199..1200) \"f\"\n CLOSE_PAREN: (1200..1201) \")\"\n CLOSE_PAREN: (1201..1202) \")\"\n CLOSE_PAREN: (1202..1203) \")\"\n CLOSE_PAREN: (1203..1204) \")\"\n CLOSE_PAREN: (1204..1205) \")\"\n FORM: (1205..1214)\n OPEN_PAREN: (1205..1206) \"(\"\n SYMBOL: (1206..1213)\n IDENTIFIER: (1206..1213) \"newline\"\n CLOSE_PAREN: (1213..1214) \")\"\n ATMOSPHERE: (1214..1215) \" \"\n ATMOSPHERE: (1215..1239) \"; -> ((e (f)) d (b c) a)\"\n ATMOSPHERE: (1239..1241) \"\n\n\"\n FORM: (1241..1276)\n OPEN_PAREN: (1241..1242) \"(\"\n SYMBOL: (1242..1248)\n IDENTIFIER: (1242..1248) \"define\"\n ATMOSPHERE: (1248..1249) \" \"\n SYMBOL: (1249..1258)\n IDENTIFIER: (1249..1258) \"test-list\"\n ATMOSPHERE: (1258..1259) \" \"\n QUOTED_DATUM: (1259..1275)\n QUOTE: (1259..1260) \"'\"\n FORM: (1260..1275)\n OPEN_PAREN: (1260..1261) \"(\"\n SYMBOL: (1261..1262)\n IDENTIFIER: (1261..1262) \"a\"\n ATMOSPHERE: (1262..1263) \" \"\n SYMBOL: (1263..1264)\n IDENTIFIER: (1263..1264) \"b\"\n ATMOSPHERE: (1264..1265) \" \"\n SYMBOL: (1265..1266)\n IDENTIFIER: (1265..1266) \"c\"\n ATMOSPHERE: (1266..1267) \" \"\n SYMBOL: (1267..1268)\n IDENTIFIER: (1267..1268) \"d\"\n ATMOSPHERE: (1268..1269) \" \"\n SYMBOL: (1269..1270)\n IDENTIFIER: (1269..1270) \"e\"\n ATMOSPHERE: (1270..1271) \" \"\n SYMBOL: (1271..1272)\n IDENTIFIER: (1271..1272) \"f\"\n ATMOSPHERE: (1272..1273) \" \"\n SYMBOL: (1273..1274)\n IDENTIFIER: (1273..1274) \"g\"\n CLOSE_PAREN: (1274..1275) \")\"\n CLOSE_PAREN: (1275..1276) \")\"\n ATMOSPHERE: (1276..1277) \"\n\"\n FORM: (1277..1310)\n OPEN_PAREN: (1277..1278) \"(\"\n SYMBOL: (1278..1285)\n IDENTIFIER: (1278..1285) \"display\"\n ATMOSPHERE: (1285..1286) \" \"\n FORM: (1286..1309)\n OPEN_PAREN: (1286..1287) \"(\"\n SYMBOL: (1287..1296)\n IDENTIFIER: (1287..1296) \"list-tail\"\n ATMOSPHERE: (1296..1297) \" \"\n SYMBOL: (1297..1306)\n IDENTIFIER: (1297..1306) \"test-list\"\n ATMOSPHERE: (1306..1307) \" \"\n CONSTANT: (1307..1308)\n NUMBER: (1307..1308) \"1\"\n CLOSE_PAREN: (1308..1309) \")\"\n CLOSE_PAREN: (1309..1310) \")\"\n FORM: (1310..1319)\n OPEN_PAREN: (1310..1311) \"(\"\n SYMBOL: (1311..1318)\n IDENTIFIER: (1311..1318) \"newline\"\n CLOSE_PAREN: (1318..1319) \")\"\n ATMOSPHERE: (1319..1320) \"\n\"\n FORM: (1320..1353)\n OPEN_PAREN: (1320..1321) \"(\"\n SYMBOL: (1321..1328)\n IDENTIFIER: (1321..1328) \"display\"\n ATMOSPHERE: (1328..1329) \" \"\n FORM: (1329..1352)\n OPEN_PAREN: (1329..1330) \"(\"\n SYMBOL: (1330..1339)\n IDENTIFIER: (1330..1339) \"list-tail\"\n ATMOSPHERE: (1339..1340) \" \"\n SYMBOL: (1340..1349)\n IDENTIFIER: (1340..1349) \"test-list\"\n ATMOSPHERE: (1349..1350) \" \"\n CONSTANT: (1350..1351)\n NUMBER: (1350..1351) \"0\"\n CLOSE_PAREN: (1351..1352) \")\"\n CLOSE_PAREN: (1352..1353) \")\"\n FORM: (1353..1362)\n OPEN_PAREN: (1353..1354) \"(\"\n SYMBOL: (1354..1361)\n IDENTIFIER: (1354..1361) \"newline\"\n CLOSE_PAREN: (1361..1362) \")\"\n ATMOSPHERE: (1362..1363) \"\n\"\n FORM: (1363..1396)\n OPEN_PAREN: (1363..1364) \"(\"\n SYMBOL: (1364..1371)\n IDENTIFIER: (1364..1371) \"display\"\n ATMOSPHERE: (1371..1372) \" \"\n FORM: (1372..1395)\n OPEN_PAREN: (1372..1373) \"(\"\n SYMBOL: (1373..1382)\n IDENTIFIER: (1373..1382) \"list-tail\"\n ATMOSPHERE: (1382..1383) \" \"\n SYMBOL: (1383..1392)\n IDENTIFIER: (1383..1392) \"test-list\"\n ATMOSPHERE: (1392..1393) \" \"\n CONSTANT: (1393..1394)\n NUMBER: (1393..1394) \"6\"\n CLOSE_PAREN: (1394..1395) \")\"\n CLOSE_PAREN: (1395..1396) \")\"\n FORM: (1396..1405)\n OPEN_PAREN: (1396..1397) \"(\"\n SYMBOL: (1397..1404)\n IDENTIFIER: (1397..1404) \"newline\"\n CLOSE_PAREN: (1404..1405) \")\"\n ATMOSPHERE: (1405..1407) \"\n\n\"\n FORM: (1407..1442)\n OPEN_PAREN: (1407..1408) \"(\"\n SYMBOL: (1408..1415)\n IDENTIFIER: (1408..1415) \"display\"\n ATMOSPHERE: (1415..1418) \"\n \"\n FORM: (1418..1441)\n OPEN_PAREN: (1418..1419) \"(\"\n SYMBOL: (1419..1427)\n IDENTIFIER: (1419..1427) \"list-ref\"\n ATMOSPHERE: (1427..1428) \" \"\n QUOTED_DATUM: (1428..1439)\n QUOTE: (1428..1429) \"’\"\n FORM: (1429..1438)\n OPEN_PAREN: (1429..1430) \"(\"\n SYMBOL: (1430..1431)\n IDENTIFIER: (1430..1431) \"a\"\n ATMOSPHERE: (1431..1432) \" \"\n SYMBOL: (1432..1433)\n IDENTIFIER: (1432..1433) \"b\"\n ATMOSPHERE: (1433..1434) \" \"\n SYMBOL: (1434..1435)\n IDENTIFIER: (1434..1435) \"c\"\n ATMOSPHERE: (1435..1436) \" \"\n SYMBOL: (1436..1437)\n IDENTIFIER: (1436..1437) \"d\"\n CLOSE_PAREN: (1437..1438) \")\"\n ATMOSPHERE: (1438..1439) \" \"\n CONSTANT: (1439..1440)\n NUMBER: (1439..1440) \"2\"\n CLOSE_PAREN: (1440..1441) \")\"\n CLOSE_PAREN: (1441..1442) \")\"\n ATMOSPHERE: (1442..1443) \" \"\n ATMOSPHERE: (1443..1449) \"; =⇒ c\"\n ATMOSPHERE: (1449..1450) \"\n\"\n FORM: (1450..1459)\n OPEN_PAREN: (1450..1451) \"(\"\n SYMBOL: (1451..1458)\n IDENTIFIER: (1451..1458) \"newline\"\n CLOSE_PAREN: (1458..1459) \")\"\n ATMOSPHERE: (1459..1461) \"\n\n\"\n FORM: (1461..1568)\n OPEN_PAREN: (1461..1462) \"(\"\n SYMBOL: (1462..1469)\n IDENTIFIER: (1462..1469) \"display\"\n ATMOSPHERE: (1469..1472) \"\n \"\n FORM: (1472..1543)\n OPEN_PAREN: (1472..1473) \"(\"\n SYMBOL: (1473..1476)\n IDENTIFIER: (1473..1476) \"let\"\n ATMOSPHERE: (1476..1477) \" \"\n FORM: (1477..1507)\n OPEN_PAREN: (1477..1478) \"(\"\n FORM: (1478..1506)\n OPEN_PAREN: (1478..1479) \"(\"\n SYMBOL: (1479..1481)\n IDENTIFIER: (1479..1481) \"ls\"\n ATMOSPHERE: (1481..1482) \" \"\n FORM: (1482..1505)\n OPEN_PAREN: (1482..1483) \"(\"\n SYMBOL: (1483..1487)\n IDENTIFIER: (1483..1487) \"list\"\n ATMOSPHERE: (1487..1488) \" \"\n QUOTED_DATUM: (1488..1493)\n QUOTE: (1488..1489) \"’\"\n SYMBOL: (1489..1492)\n IDENTIFIER: (1489..1492) \"one\"\n ATMOSPHERE: (1492..1493) \" \"\n QUOTED_DATUM: (1493..1498)\n QUOTE: (1493..1494) \"’\"\n SYMBOL: (1494..1497)\n IDENTIFIER: (1494..1497) \"two\"\n ATMOSPHERE: (1497..1498) \" \"\n QUOTED_DATUM: (1498..1504)\n QUOTE: (1498..1499) \"’\"\n SYMBOL: (1499..1504)\n IDENTIFIER: (1499..1504) \"five!\"\n CLOSE_PAREN: (1504..1505) \")\"\n CLOSE_PAREN: (1505..1506) \")\"\n CLOSE_PAREN: (1506..1507) \")\"\n ATMOSPHERE: (1507..1512) \"\n \"\n FORM: (1512..1535)\n OPEN_PAREN: (1512..1513) \"(\"\n SYMBOL: (1513..1522)\n IDENTIFIER: (1513..1522) \"list-set!\"\n ATMOSPHERE: (1522..1523) \" \"\n SYMBOL: (1523..1525)\n IDENTIFIER: (1523..1525) \"ls\"\n ATMOSPHERE: (1525..1526) \" \"\n CONSTANT: (1526..1527)\n NUMBER: (1526..1527) \"2\"\n ATMOSPHERE: (1527..1528) \" \"\n QUOTED_DATUM: (1528..1534)\n QUOTE: (1528..1529) \"’\"\n SYMBOL: (1529..1534)\n IDENTIFIER: (1529..1534) \"three\"\n CLOSE_PAREN: (1534..1535) \")\"\n ATMOSPHERE: (1535..1540) \"\n \"\n SYMBOL: (1540..1542)\n IDENTIFIER: (1540..1542) \"ls\"\n CLOSE_PAREN: (1542..1543) \")\"\n ATMOSPHERE: (1543..1544) \" \"\n ATMOSPHERE: (1544..1564) \"; =⇒ (one two three)\"\n ATMOSPHERE: (1564..1567) \"\n \"\n CLOSE_PAREN: (1567..1568) \")\"\n FORM: (1568..1577)\n OPEN_PAREN: (1568..1569) \"(\"\n SYMBOL: (1569..1576)\n IDENTIFIER: (1569..1576) \"newline\"\n CLOSE_PAREN: (1576..1577) \")\"\n ATMOSPHERE: (1577..1579) \"\n\n\"\n FORM: (1579..1626)\n OPEN_PAREN: (1579..1580) \"(\"\n SYMBOL: (1580..1587)\n IDENTIFIER: (1580..1587) \"display\"\n ATMOSPHERE: (1587..1588) \" \"\n FORM: (1588..1625)\n OPEN_PAREN: (1588..1589) \"(\"\n SYMBOL: (1589..1592)\n IDENTIFIER: (1589..1592) \"eq?\"\n ATMOSPHERE: (1592..1593) \" \"\n FORM: (1593..1614)\n OPEN_PAREN: (1593..1594) \"(\"\n SYMBOL: (1594..1603)\n IDENTIFIER: (1594..1603) \"list-copy\"\n ATMOSPHERE: (1603..1604) \" \"\n SYMBOL: (1604..1613)\n IDENTIFIER: (1604..1613) \"test-list\"\n CLOSE_PAREN: (1613..1614) \")\"\n ATMOSPHERE: (1614..1615) \" \"\n SYMBOL: (1615..1624)\n IDENTIFIER: (1615..1624) \"test-list\"\n CLOSE_PAREN: (1624..1625) \")\"\n CLOSE_PAREN: (1625..1626) \")\"\n FORM: (1626..1635)\n OPEN_PAREN: (1626..1627) \"(\"\n SYMBOL: (1627..1634)\n IDENTIFIER: (1627..1634) \"newline\"\n CLOSE_PAREN: (1634..1635) \")\"\n ATMOSPHERE: (1635..1636) \"\n\"\n FORM: (1636..1659)\n OPEN_PAREN: (1636..1637) \"(\"\n SYMBOL: (1637..1644)\n IDENTIFIER: (1637..1644) \"display\"\n ATMOSPHERE: (1644..1645) \" \"\n FORM: (1645..1658)\n OPEN_PAREN: (1645..1646) \"(\"\n SYMBOL: (1646..1655)\n IDENTIFIER: (1646..1655) \"list-copy\"\n ATMOSPHERE: (1655..1656) \" \"\n CONSTANT: (1656..1657)\n NUMBER: (1656..1657) \"2\"\n CLOSE_PAREN: (1657..1658) \")\"\n CLOSE_PAREN: (1658..1659) \")\"\n FORM: (1659..1668)\n OPEN_PAREN: (1659..1660) \"(\"\n SYMBOL: (1660..1667)\n IDENTIFIER: (1660..1667) \"newline\"\n CLOSE_PAREN: (1667..1668) \")\"\n ATMOSPHERE: (1668..1671) \"\n\n\n\"\n FORM: (1671..1699)\n OPEN_PAREN: (1671..1672) \"(\"\n SYMBOL: (1672..1679)\n IDENTIFIER: (1672..1679) \"display\"\n ATMOSPHERE: (1679..1680) \" \"\n FORM: (1680..1698)\n OPEN_PAREN: (1680..1681) \"(\"\n SYMBOL: (1681..1685)\n IDENTIFIER: (1681..1685) \"memq\"\n ATMOSPHERE: (1685..1686) \" \"\n QUOTED_DATUM: (1686..1689)\n QUOTE: (1686..1687) \"’\"\n SYMBOL: (1687..1688)\n IDENTIFIER: (1687..1688) \"a\"\n ATMOSPHERE: (1688..1689) \" \"\n QUOTED_DATUM: (1689..1697)\n QUOTE: (1689..1690) \"’\"\n FORM: (1690..1697)\n OPEN_PAREN: (1690..1691) \"(\"\n SYMBOL: (1691..1692)\n IDENTIFIER: (1691..1692) \"a\"\n ATMOSPHERE: (1692..1693) \" \"\n SYMBOL: (1693..1694)\n IDENTIFIER: (1693..1694) \"b\"\n ATMOSPHERE: (1694..1695) \" \"\n SYMBOL: (1695..1696)\n IDENTIFIER: (1695..1696) \"c\"\n CLOSE_PAREN: (1696..1697) \")\"\n CLOSE_PAREN: (1697..1698) \")\"\n CLOSE_PAREN: (1698..1699) \")\"\n FORM: (1699..1708)\n OPEN_PAREN: (1699..1700) \"(\"\n SYMBOL: (1700..1707)\n IDENTIFIER: (1700..1707) \"newline\"\n CLOSE_PAREN: (1707..1708) \")\"\n ATMOSPHERE: (1708..1709) \" \"\n ATMOSPHERE: (1709..1721) \"; -> (a b c)\"\n ATMOSPHERE: (1721..1722) \"\n\"\n FORM: (1722..1750)\n OPEN_PAREN: (1722..1723) \"(\"\n SYMBOL: (1723..1730)\n IDENTIFIER: (1723..1730) \"display\"\n ATMOSPHERE: (1730..1731) \" \"\n FORM: (1731..1749)\n OPEN_PAREN: (1731..1732) \"(\"\n SYMBOL: (1732..1736)\n IDENTIFIER: (1732..1736) \"memq\"\n ATMOSPHERE: (1736..1737) \" \"\n QUOTED_DATUM: (1737..1740)\n QUOTE: (1737..1738) \"’\"\n SYMBOL: (1738..1739)\n IDENTIFIER: (1738..1739) \"b\"\n ATMOSPHERE: (1739..1740) \" \"\n QUOTED_DATUM: (1740..1748)\n QUOTE: (1740..1741) \"’\"\n FORM: (1741..1748)\n OPEN_PAREN: (1741..1742) \"(\"\n SYMBOL: (1742..1743)\n IDENTIFIER: (1742..1743) \"a\"\n ATMOSPHERE: (1743..1744) \" \"\n SYMBOL: (1744..1745)\n IDENTIFIER: (1744..1745) \"b\"\n ATMOSPHERE: (1745..1746) \" \"\n SYMBOL: (1746..1747)\n IDENTIFIER: (1746..1747) \"c\"\n CLOSE_PAREN: (1747..1748) \")\"\n CLOSE_PAREN: (1748..1749) \")\"\n CLOSE_PAREN: (1749..1750) \")\"\n FORM: (1750..1759)\n OPEN_PAREN: (1750..1751) \"(\"\n SYMBOL: (1751..1758)\n IDENTIFIER: (1751..1758) \"newline\"\n CLOSE_PAREN: (1758..1759) \")\"\n ATMOSPHERE: (1759..1760) \" \"\n ATMOSPHERE: (1760..1770) \"; -> (b c)\"\n ATMOSPHERE: (1770..1771) \"\n\"\n FORM: (1771..1799)\n OPEN_PAREN: (1771..1772) \"(\"\n SYMBOL: (1772..1779)\n IDENTIFIER: (1772..1779) \"display\"\n ATMOSPHERE: (1779..1780) \" \"\n FORM: (1780..1798)\n OPEN_PAREN: (1780..1781) \"(\"\n SYMBOL: (1781..1785)\n IDENTIFIER: (1781..1785) \"memq\"\n ATMOSPHERE: (1785..1786) \" \"\n QUOTED_DATUM: (1786..1789)\n QUOTE: (1786..1787) \"’\"\n SYMBOL: (1787..1788)\n IDENTIFIER: (1787..1788) \"a\"\n ATMOSPHERE: (1788..1789) \" \"\n QUOTED_DATUM: (1789..1797)\n QUOTE: (1789..1790) \"’\"\n FORM: (1790..1797)\n OPEN_PAREN: (1790..1791) \"(\"\n SYMBOL: (1791..1792)\n IDENTIFIER: (1791..1792) \"b\"\n ATMOSPHERE: (1792..1793) \" \"\n SYMBOL: (1793..1794)\n IDENTIFIER: (1793..1794) \"c\"\n ATMOSPHERE: (1794..1795) \" \"\n SYMBOL: (1795..1796)\n IDENTIFIER: (1795..1796) \"d\"\n CLOSE_PAREN: (1796..1797) \")\"\n CLOSE_PAREN: (1797..1798) \")\"\n CLOSE_PAREN: (1798..1799) \")\"\n FORM: (1799..1808)\n OPEN_PAREN: (1799..1800) \"(\"\n SYMBOL: (1800..1807)\n IDENTIFIER: (1800..1807) \"newline\"\n CLOSE_PAREN: (1807..1808) \")\"\n ATMOSPHERE: (1808..1809) \" \"\n ATMOSPHERE: (1809..1816) \"; -> #f\"\n ATMOSPHERE: (1816..1817) \"\n\"\n FORM: (1817..1854)\n OPEN_PAREN: (1817..1818) \"(\"\n SYMBOL: (1818..1825)\n IDENTIFIER: (1818..1825) \"display\"\n ATMOSPHERE: (1825..1826) \" \"\n FORM: (1826..1853)\n OPEN_PAREN: (1826..1827) \"(\"\n SYMBOL: (1827..1831)\n IDENTIFIER: (1827..1831) \"memq\"\n ATMOSPHERE: (1831..1832) \" \"\n FORM: (1832..1841)\n OPEN_PAREN: (1832..1833) \"(\"\n SYMBOL: (1833..1837)\n IDENTIFIER: (1833..1837) \"list\"\n ATMOSPHERE: (1837..1838) \" \"\n QUOTED_DATUM: (1838..1840)\n QUOTE: (1838..1839) \"’\"\n SYMBOL: (1839..1840)\n IDENTIFIER: (1839..1840) \"a\"\n CLOSE_PAREN: (1840..1841) \")\"\n ATMOSPHERE: (1841..1842) \" \"\n QUOTED_DATUM: (1842..1852)\n QUOTE: (1842..1843) \"’\"\n FORM: (1843..1852)\n OPEN_PAREN: (1843..1844) \"(\"\n SYMBOL: (1844..1845)\n IDENTIFIER: (1844..1845) \"b\"\n ATMOSPHERE: (1845..1846) \" \"\n FORM: (1846..1849)\n OPEN_PAREN: (1846..1847) \"(\"\n SYMBOL: (1847..1848)\n IDENTIFIER: (1847..1848) \"a\"\n CLOSE_PAREN: (1848..1849) \")\"\n ATMOSPHERE: (1849..1850) \" \"\n SYMBOL: (1850..1851)\n IDENTIFIER: (1850..1851) \"c\"\n CLOSE_PAREN: (1851..1852) \")\"\n CLOSE_PAREN: (1852..1853) \")\"\n CLOSE_PAREN: (1853..1854) \")\"\n FORM: (1854..1863)\n OPEN_PAREN: (1854..1855) \"(\"\n SYMBOL: (1855..1862)\n IDENTIFIER: (1855..1862) \"newline\"\n CLOSE_PAREN: (1862..1863) \")\"\n ATMOSPHERE: (1863..1864) \" \"\n ATMOSPHERE: (1864..1871) \"; -> #f\"\n ATMOSPHERE: (1871..1872) \"\n\"\n FORM: (1872..1913)\n OPEN_PAREN: (1872..1873) \"(\"\n SYMBOL: (1873..1880)\n IDENTIFIER: (1873..1880) \"display\"\n ATMOSPHERE: (1880..1881) \" \"\n FORM: (1881..1912)\n OPEN_PAREN: (1881..1882) \"(\"\n SYMBOL: (1882..1888)\n IDENTIFIER: (1882..1888) \"member\"\n ATMOSPHERE: (1888..1889) \" \"\n FORM: (1889..1898)\n OPEN_PAREN: (1889..1890) \"(\"\n SYMBOL: (1890..1894)\n IDENTIFIER: (1890..1894) \"list\"\n ATMOSPHERE: (1894..1895) \" \"\n QUOTED_DATUM: (1895..1897)\n QUOTE: (1895..1896) \"’\"\n SYMBOL: (1896..1897)\n IDENTIFIER: (1896..1897) \"a\"\n CLOSE_PAREN: (1897..1898) \")\"\n ATMOSPHERE: (1898..1901) \"\n \"\n QUOTED_DATUM: (1901..1911)\n QUOTE: (1901..1902) \"’\"\n FORM: (1902..1911)\n OPEN_PAREN: (1902..1903) \"(\"\n SYMBOL: (1903..1904)\n IDENTIFIER: (1903..1904) \"b\"\n ATMOSPHERE: (1904..1905) \" \"\n FORM: (1905..1908)\n OPEN_PAREN: (1905..1906) \"(\"\n SYMBOL: (1906..1907)\n IDENTIFIER: (1906..1907) \"a\"\n CLOSE_PAREN: (1907..1908) \")\"\n ATMOSPHERE: (1908..1909) \" \"\n SYMBOL: (1909..1910)\n IDENTIFIER: (1909..1910) \"c\"\n CLOSE_PAREN: (1910..1911) \")\"\n CLOSE_PAREN: (1911..1912) \")\"\n CLOSE_PAREN: (1912..1913) \")\"\n FORM: (1913..1922)\n OPEN_PAREN: (1913..1914) \"(\"\n SYMBOL: (1914..1921)\n IDENTIFIER: (1914..1921) \"newline\"\n CLOSE_PAREN: (1921..1922) \")\"\n ATMOSPHERE: (1922..1923) \" \"\n ATMOSPHERE: (1923..1935) \"; -> ((a) c)\"\n ATMOSPHERE: (1935..1936) \"\n\"\n FORM: (1936..1987)\n OPEN_PAREN: (1936..1937) \"(\"\n SYMBOL: (1937..1944)\n IDENTIFIER: (1937..1944) \"display\"\n ATMOSPHERE: (1944..1945) \" \"\n FORM: (1945..1986)\n OPEN_PAREN: (1945..1946) \"(\"\n SYMBOL: (1946..1952)\n IDENTIFIER: (1946..1952) \"member\"\n ATMOSPHERE: (1952..1953) \" \"\n CONSTANT: (1953..1956)\n CHARACTER: (1953..1956) \"#\\B\"\n ATMOSPHERE: (1956..1959) \"\n \"\n QUOTED_DATUM: (1959..1976)\n QUOTE: (1959..1960) \"’\"\n FORM: (1960..1973)\n OPEN_PAREN: (1960..1961) \"(\"\n CONSTANT: (1961..1964)\n CHARACTER: (1961..1964) \"#\\a\"\n ATMOSPHERE: (1964..1965) \" \"\n CONSTANT: (1965..1968)\n CHARACTER: (1965..1968) \"#\\b\"\n ATMOSPHERE: (1968..1969) \" \"\n CONSTANT: (1969..1972)\n CHARACTER: (1969..1972) \"#\\c\"\n CLOSE_PAREN: (1972..1973) \")\"\n ATMOSPHERE: (1973..1976) \"\n \"\n SYMBOL: (1976..1985)\n IDENTIFIER: (1976..1985) \"char-ci=?\"\n CLOSE_PAREN: (1985..1986) \")\"\n CLOSE_PAREN: (1986..1987) \")\"\n FORM: (1987..1996)\n OPEN_PAREN: (1987..1988) \"(\"\n SYMBOL: (1988..1995)\n IDENTIFIER: (1988..1995) \"newline\"\n CLOSE_PAREN: (1995..1996) \")\"\n ATMOSPHERE: (1996..1997) \" \"\n ATMOSPHERE: (1997..2011) \"; -> (#\\b #\\c)\"\n ATMOSPHERE: (2011..2012) \"\n\"\n FORM: (2012..2047)\n OPEN_PAREN: (2012..2013) \"(\"\n SYMBOL: (2013..2020)\n IDENTIFIER: (2013..2020) \"display\"\n ATMOSPHERE: (2020..2021) \" \"\n FORM: (2021..2046)\n OPEN_PAREN: (2021..2022) \"(\"\n SYMBOL: (2022..2026)\n IDENTIFIER: (2022..2026) \"memq\"\n ATMOSPHERE: (2026..2027) \" \"\n CONSTANT: (2027..2030)\n NUMBER: (2027..2030) \"101\"\n ATMOSPHERE: (2030..2031) \" \"\n QUOTED_DATUM: (2031..2045)\n QUOTE: (2031..2032) \"’\"\n FORM: (2032..2045)\n OPEN_PAREN: (2032..2033) \"(\"\n CONSTANT: (2033..2036)\n NUMBER: (2033..2036) \"100\"\n ATMOSPHERE: (2036..2037) \" \"\n CONSTANT: (2037..2040)\n NUMBER: (2037..2040) \"101\"\n ATMOSPHERE: (2040..2041) \" \"\n CONSTANT: (2041..2044)\n NUMBER: (2041..2044) \"102\"\n CLOSE_PAREN: (2044..2045) \")\"\n CLOSE_PAREN: (2045..2046) \")\"\n CLOSE_PAREN: (2046..2047) \")\"\n FORM: (2047..2056)\n OPEN_PAREN: (2047..2048) \"(\"\n SYMBOL: (2048..2055)\n IDENTIFIER: (2048..2055) \"newline\"\n CLOSE_PAREN: (2055..2056) \")\"\n ATMOSPHERE: (2056..2057) \" \"\n ATMOSPHERE: (2057..2073) \"; -> unspecified\"\n ATMOSPHERE: (2073..2074) \"\n\"\n FORM: (2074..2109)\n OPEN_PAREN: (2074..2075) \"(\"\n SYMBOL: (2075..2082)\n IDENTIFIER: (2075..2082) \"display\"\n ATMOSPHERE: (2082..2083) \" \"\n FORM: (2083..2108)\n OPEN_PAREN: (2083..2084) \"(\"\n SYMBOL: (2084..2088)\n IDENTIFIER: (2084..2088) \"memv\"\n ATMOSPHERE: (2088..2089) \" \"\n CONSTANT: (2089..2092)\n NUMBER: (2089..2092) \"101\"\n ATMOSPHERE: (2092..2093) \" \"\n QUOTED_DATUM: (2093..2107)\n QUOTE: (2093..2094) \"’\"\n FORM: (2094..2107)\n OPEN_PAREN: (2094..2095) \"(\"\n CONSTANT: (2095..2098)\n NUMBER: (2095..2098) \"100\"\n ATMOSPHERE: (2098..2099) \" \"\n CONSTANT: (2099..2102)\n NUMBER: (2099..2102) \"101\"\n ATMOSPHERE: (2102..2103) \" \"\n CONSTANT: (2103..2106)\n NUMBER: (2103..2106) \"102\"\n CLOSE_PAREN: (2106..2107) \")\"\n CLOSE_PAREN: (2107..2108) \")\"\n CLOSE_PAREN: (2108..2109) \")\"\n FORM: (2109..2118)\n OPEN_PAREN: (2109..2110) \"(\"\n SYMBOL: (2110..2117)\n IDENTIFIER: (2110..2117) \"newline\"\n CLOSE_PAREN: (2117..2118) \")\"\n ATMOSPHERE: (2118..2119) \" \"\n ATMOSPHERE: (2119..2133) \"; -> (101 102)\"\n ATMOSPHERE: (2133..2135) \"\n\n\"\n FORM: (2135..2166)\n OPEN_PAREN: (2135..2136) \"(\"\n SYMBOL: (2136..2142)\n IDENTIFIER: (2136..2142) \"define\"\n ATMOSPHERE: (2142..2143) \" \"\n SYMBOL: (2143..2144)\n IDENTIFIER: (2143..2144) \"e\"\n ATMOSPHERE: (2144..2145) \" \"\n QUOTED_DATUM: (2145..2165)\n QUOTE: (2145..2146) \"’\"\n FORM: (2146..2165)\n OPEN_PAREN: (2146..2147) \"(\"\n FORM: (2147..2152)\n OPEN_PAREN: (2147..2148) \"(\"\n SYMBOL: (2148..2149)\n IDENTIFIER: (2148..2149) \"a\"\n ATMOSPHERE: (2149..2150) \" \"\n CONSTANT: (2150..2151)\n NUMBER: (2150..2151) \"1\"\n CLOSE_PAREN: (2151..2152) \")\"\n ATMOSPHERE: (2152..2153) \" \"\n FORM: (2153..2158)\n OPEN_PAREN: (2153..2154) \"(\"\n SYMBOL: (2154..2155)\n IDENTIFIER: (2154..2155) \"b\"\n ATMOSPHERE: (2155..2156) \" \"\n CONSTANT: (2156..2157)\n NUMBER: (2156..2157) \"2\"\n CLOSE_PAREN: (2157..2158) \")\"\n ATMOSPHERE: (2158..2159) \" \"\n FORM: (2159..2164)\n OPEN_PAREN: (2159..2160) \"(\"\n SYMBOL: (2160..2161)\n IDENTIFIER: (2160..2161) \"c\"\n ATMOSPHERE: (2161..2162) \" \"\n CONSTANT: (2162..2163)\n NUMBER: (2162..2163) \"3\"\n CLOSE_PAREN: (2163..2164) \")\"\n CLOSE_PAREN: (2164..2165) \")\"\n CLOSE_PAREN: (2165..2166) \")\"\n ATMOSPHERE: (2166..2167) \"\n\"\n FORM: (2167..2188)\n OPEN_PAREN: (2167..2168) \"(\"\n SYMBOL: (2168..2175)\n IDENTIFIER: (2168..2175) \"display\"\n ATMOSPHERE: (2175..2176) \" \"\n FORM: (2176..2187)\n OPEN_PAREN: (2176..2177) \"(\"\n SYMBOL: (2177..2181)\n IDENTIFIER: (2177..2181) \"assq\"\n ATMOSPHERE: (2181..2182) \" \"\n QUOTED_DATUM: (2182..2185)\n QUOTE: (2182..2183) \"’\"\n SYMBOL: (2183..2184)\n IDENTIFIER: (2183..2184) \"a\"\n ATMOSPHERE: (2184..2185) \" \"\n SYMBOL: (2185..2186)\n IDENTIFIER: (2185..2186) \"e\"\n CLOSE_PAREN: (2186..2187) \")\"\n CLOSE_PAREN: (2187..2188) \")\"\n FORM: (2188..2197)\n OPEN_PAREN: (2188..2189) \"(\"\n SYMBOL: (2189..2196)\n IDENTIFIER: (2189..2196) \"newline\"\n CLOSE_PAREN: (2196..2197) \")\"\n ATMOSPHERE: (2197..2198) \" \"\n ATMOSPHERE: (2198..2208) \"; -> (a 1)\"\n ATMOSPHERE: (2208..2209) \"\n\"\n FORM: (2209..2230)\n OPEN_PAREN: (2209..2210) \"(\"\n SYMBOL: (2210..2217)\n IDENTIFIER: (2210..2217) \"display\"\n ATMOSPHERE: (2217..2218) \" \"\n FORM: (2218..2229)\n OPEN_PAREN: (2218..2219) \"(\"\n SYMBOL: (2219..2223)\n IDENTIFIER: (2219..2223) \"assq\"\n ATMOSPHERE: (2223..2224) \" \"\n QUOTED_DATUM: (2224..2227)\n QUOTE: (2224..2225) \"’\"\n SYMBOL: (2225..2226)\n IDENTIFIER: (2225..2226) \"b\"\n ATMOSPHERE: (2226..2227) \" \"\n SYMBOL: (2227..2228)\n IDENTIFIER: (2227..2228) \"e\"\n CLOSE_PAREN: (2228..2229) \")\"\n CLOSE_PAREN: (2229..2230) \")\"\n FORM: (2230..2239)\n OPEN_PAREN: (2230..2231) \"(\"\n SYMBOL: (2231..2238)\n IDENTIFIER: (2231..2238) \"newline\"\n CLOSE_PAREN: (2238..2239) \")\"\n ATMOSPHERE: (2239..2240) \" \"\n ATMOSPHERE: (2240..2250) \"; -> (b 2)\"\n ATMOSPHERE: (2250..2251) \"\n\"\n FORM: (2251..2272)\n OPEN_PAREN: (2251..2252) \"(\"\n SYMBOL: (2252..2259)\n IDENTIFIER: (2252..2259) \"display\"\n ATMOSPHERE: (2259..2260) \" \"\n FORM: (2260..2271)\n OPEN_PAREN: (2260..2261) \"(\"\n SYMBOL: (2261..2265)\n IDENTIFIER: (2261..2265) \"assq\"\n ATMOSPHERE: (2265..2266) \" \"\n QUOTED_DATUM: (2266..2269)\n QUOTE: (2266..2267) \"’\"\n SYMBOL: (2267..2268)\n IDENTIFIER: (2267..2268) \"d\"\n ATMOSPHERE: (2268..2269) \" \"\n SYMBOL: (2269..2270)\n IDENTIFIER: (2269..2270) \"e\"\n CLOSE_PAREN: (2270..2271) \")\"\n CLOSE_PAREN: (2271..2272) \")\"\n FORM: (2272..2281)\n OPEN_PAREN: (2272..2273) \"(\"\n SYMBOL: (2273..2280)\n IDENTIFIER: (2273..2280) \"newline\"\n CLOSE_PAREN: (2280..2281) \")\"\n ATMOSPHERE: (2281..2282) \" \"\n ATMOSPHERE: (2282..2289) \"; -> #f\"\n ATMOSPHERE: (2289..2290) \"\n\"\n FORM: (2290..2337)\n OPEN_PAREN: (2290..2291) \"(\"\n SYMBOL: (2291..2298)\n IDENTIFIER: (2291..2298) \"display\"\n ATMOSPHERE: (2298..2299) \" \"\n FORM: (2299..2336)\n OPEN_PAREN: (2299..2300) \"(\"\n SYMBOL: (2300..2304)\n IDENTIFIER: (2300..2304) \"assq\"\n ATMOSPHERE: (2304..2305) \" \"\n FORM: (2305..2314)\n OPEN_PAREN: (2305..2306) \"(\"\n SYMBOL: (2306..2310)\n IDENTIFIER: (2306..2310) \"list\"\n ATMOSPHERE: (2310..2311) \" \"\n QUOTED_DATUM: (2311..2313)\n QUOTE: (2311..2312) \"’\"\n SYMBOL: (2312..2313)\n IDENTIFIER: (2312..2313) \"a\"\n CLOSE_PAREN: (2313..2314) \")\"\n ATMOSPHERE: (2314..2315) \" \"\n QUOTED_DATUM: (2315..2335)\n QUOTE: (2315..2316) \"’\"\n FORM: (2316..2335)\n OPEN_PAREN: (2316..2317) \"(\"\n FORM: (2317..2322)\n OPEN_PAREN: (2317..2318) \"(\"\n FORM: (2318..2321)\n OPEN_PAREN: (2318..2319) \"(\"\n SYMBOL: (2319..2320)\n IDENTIFIER: (2319..2320) \"a\"\n CLOSE_PAREN: (2320..2321) \")\"\n CLOSE_PAREN: (2321..2322) \")\"\n ATMOSPHERE: (2322..2323) \" \"\n FORM: (2323..2328)\n OPEN_PAREN: (2323..2324) \"(\"\n FORM: (2324..2327)\n OPEN_PAREN: (2324..2325) \"(\"\n SYMBOL: (2325..2326)\n IDENTIFIER: (2325..2326) \"b\"\n CLOSE_PAREN: (2326..2327) \")\"\n CLOSE_PAREN: (2327..2328) \")\"\n ATMOSPHERE: (2328..2329) \" \"\n FORM: (2329..2334)\n OPEN_PAREN: (2329..2330) \"(\"\n FORM: (2330..2333)\n OPEN_PAREN: (2330..2331) \"(\"\n SYMBOL: (2331..2332)\n IDENTIFIER: (2331..2332) \"c\"\n CLOSE_PAREN: (2332..2333) \")\"\n CLOSE_PAREN: (2333..2334) \")\"\n CLOSE_PAREN: (2334..2335) \")\"\n CLOSE_PAREN: (2335..2336) \")\"\n CLOSE_PAREN: (2336..2337) \")\"\n FORM: (2337..2346)\n OPEN_PAREN: (2337..2338) \"(\"\n SYMBOL: (2338..2345)\n IDENTIFIER: (2338..2345) \"newline\"\n CLOSE_PAREN: (2345..2346) \")\"\n ATMOSPHERE: (2346..2347) \" \"\n ATMOSPHERE: (2347..2354) \"; -> #f\"\n ATMOSPHERE: (2354..2355) \"\n\"\n FORM: (2355..2403)\n OPEN_PAREN: (2355..2356) \"(\"\n SYMBOL: (2356..2363)\n IDENTIFIER: (2356..2363) \"display\"\n ATMOSPHERE: (2363..2364) \" \"\n FORM: (2364..2402)\n OPEN_PAREN: (2364..2365) \"(\"\n SYMBOL: (2365..2370)\n IDENTIFIER: (2365..2370) \"assoc\"\n ATMOSPHERE: (2370..2371) \" \"\n FORM: (2371..2380)\n OPEN_PAREN: (2371..2372) \"(\"\n SYMBOL: (2372..2376)\n IDENTIFIER: (2372..2376) \"list\"\n ATMOSPHERE: (2376..2377) \" \"\n QUOTED_DATUM: (2377..2379)\n QUOTE: (2377..2378) \"’\"\n SYMBOL: (2378..2379)\n IDENTIFIER: (2378..2379) \"a\"\n CLOSE_PAREN: (2379..2380) \")\"\n ATMOSPHERE: (2380..2381) \" \"\n QUOTED_DATUM: (2381..2401)\n QUOTE: (2381..2382) \"’\"\n FORM: (2382..2401)\n OPEN_PAREN: (2382..2383) \"(\"\n FORM: (2383..2388)\n OPEN_PAREN: (2383..2384) \"(\"\n FORM: (2384..2387)\n OPEN_PAREN: (2384..2385) \"(\"\n SYMBOL: (2385..2386)\n IDENTIFIER: (2385..2386) \"a\"\n CLOSE_PAREN: (2386..2387) \")\"\n CLOSE_PAREN: (2387..2388) \")\"\n ATMOSPHERE: (2388..2389) \" \"\n FORM: (2389..2394)\n OPEN_PAREN: (2389..2390) \"(\"\n FORM: (2390..2393)\n OPEN_PAREN: (2390..2391) \"(\"\n SYMBOL: (2391..2392)\n IDENTIFIER: (2391..2392) \"b\"\n CLOSE_PAREN: (2392..2393) \")\"\n CLOSE_PAREN: (2393..2394) \")\"\n ATMOSPHERE: (2394..2395) \" \"\n FORM: (2395..2400)\n OPEN_PAREN: (2395..2396) \"(\"\n FORM: (2396..2399)\n OPEN_PAREN: (2396..2397) \"(\"\n SYMBOL: (2397..2398)\n IDENTIFIER: (2397..2398) \"c\"\n CLOSE_PAREN: (2398..2399) \")\"\n CLOSE_PAREN: (2399..2400) \")\"\n CLOSE_PAREN: (2400..2401) \")\"\n CLOSE_PAREN: (2401..2402) \")\"\n CLOSE_PAREN: (2402..2403) \")\"\n FORM: (2403..2412)\n OPEN_PAREN: (2403..2404) \"(\"\n SYMBOL: (2404..2411)\n IDENTIFIER: (2404..2411) \"newline\"\n CLOSE_PAREN: (2411..2412) \")\"\n ATMOSPHERE: (2412..2413) \" \"\n ATMOSPHERE: (2413..2423) \"; -> ((a))\"\n ATMOSPHERE: (2423..2424) \"\n\"\n FORM: (2424..2468)\n OPEN_PAREN: (2424..2425) \"(\"\n SYMBOL: (2425..2432)\n IDENTIFIER: (2425..2432) \"display\"\n ATMOSPHERE: (2432..2433) \" \"\n FORM: (2433..2467)\n OPEN_PAREN: (2433..2434) \"(\"\n SYMBOL: (2434..2439)\n IDENTIFIER: (2434..2439) \"assoc\"\n ATMOSPHERE: (2439..2440) \" \"\n CONSTANT: (2440..2443)\n NUMBER: (2440..2443) \"2.0\"\n ATMOSPHERE: (2443..2444) \" \"\n QUOTED_DATUM: (2444..2465)\n QUOTE: (2444..2445) \"’\"\n FORM: (2445..2464)\n OPEN_PAREN: (2445..2446) \"(\"\n FORM: (2446..2451)\n OPEN_PAREN: (2446..2447) \"(\"\n CONSTANT: (2447..2448)\n NUMBER: (2447..2448) \"1\"\n ATMOSPHERE: (2448..2449) \" \"\n CONSTANT: (2449..2450)\n NUMBER: (2449..2450) \"1\"\n CLOSE_PAREN: (2450..2451) \")\"\n ATMOSPHERE: (2451..2452) \" \"\n FORM: (2452..2457)\n OPEN_PAREN: (2452..2453) \"(\"\n CONSTANT: (2453..2454)\n NUMBER: (2453..2454) \"2\"\n ATMOSPHERE: (2454..2455) \" \"\n CONSTANT: (2455..2456)\n NUMBER: (2455..2456) \"4\"\n CLOSE_PAREN: (2456..2457) \")\"\n ATMOSPHERE: (2457..2458) \" \"\n FORM: (2458..2463)\n OPEN_PAREN: (2458..2459) \"(\"\n CONSTANT: (2459..2460)\n NUMBER: (2459..2460) \"3\"\n ATMOSPHERE: (2460..2461) \" \"\n CONSTANT: (2461..2462)\n NUMBER: (2461..2462) \"9\"\n CLOSE_PAREN: (2462..2463) \")\"\n CLOSE_PAREN: (2463..2464) \")\"\n ATMOSPHERE: (2464..2465) \" \"\n SYMBOL: (2465..2466)\n IDENTIFIER: (2465..2466) \"=\"\n CLOSE_PAREN: (2466..2467) \")\"\n CLOSE_PAREN: (2467..2468) \")\"\n FORM: (2468..2477)\n OPEN_PAREN: (2468..2469) \"(\"\n SYMBOL: (2469..2476)\n IDENTIFIER: (2469..2476) \"newline\"\n CLOSE_PAREN: (2476..2477) \")\"\n ATMOSPHERE: (2477..2478) \" \"\n ATMOSPHERE: (2478..2488) \"; -> (2 4)\"\n ATMOSPHERE: (2488..2489) \"\n\"\n FORM: (2489..2530)\n OPEN_PAREN: (2489..2490) \"(\"\n SYMBOL: (2490..2497)\n IDENTIFIER: (2490..2497) \"display\"\n ATMOSPHERE: (2497..2498) \" \"\n FORM: (2498..2529)\n OPEN_PAREN: (2498..2499) \"(\"\n SYMBOL: (2499..2503)\n IDENTIFIER: (2499..2503) \"assq\"\n ATMOSPHERE: (2503..2504) \" \"\n CONSTANT: (2504..2505)\n NUMBER: (2504..2505) \"5\"\n ATMOSPHERE: (2505..2506) \" \"\n QUOTED_DATUM: (2506..2528)\n QUOTE: (2506..2507) \"’\"\n FORM: (2507..2528)\n OPEN_PAREN: (2507..2508) \"(\"\n FORM: (2508..2513)\n OPEN_PAREN: (2508..2509) \"(\"\n CONSTANT: (2509..2510)\n NUMBER: (2509..2510) \"2\"\n ATMOSPHERE: (2510..2511) \" \"\n CONSTANT: (2511..2512)\n NUMBER: (2511..2512) \"3\"\n CLOSE_PAREN: (2512..2513) \")\"\n ATMOSPHERE: (2513..2514) \" \"\n FORM: (2514..2519)\n OPEN_PAREN: (2514..2515) \"(\"\n CONSTANT: (2515..2516)\n NUMBER: (2515..2516) \"5\"\n ATMOSPHERE: (2516..2517) \" \"\n CONSTANT: (2517..2518)\n NUMBER: (2517..2518) \"7\"\n CLOSE_PAREN: (2518..2519) \")\"\n ATMOSPHERE: (2519..2520) \" \"\n FORM: (2520..2527)\n OPEN_PAREN: (2520..2521) \"(\"\n CONSTANT: (2521..2523)\n NUMBER: (2521..2523) \"11\"\n ATMOSPHERE: (2523..2524) \" \"\n CONSTANT: (2524..2526)\n NUMBER: (2524..2526) \"13\"\n CLOSE_PAREN: (2526..2527) \")\"\n CLOSE_PAREN: (2527..2528) \")\"\n CLOSE_PAREN: (2528..2529) \")\"\n CLOSE_PAREN: (2529..2530) \")\"\n FORM: (2530..2539)\n OPEN_PAREN: (2530..2531) \"(\"\n SYMBOL: (2531..2538)\n IDENTIFIER: (2531..2538) \"newline\"\n CLOSE_PAREN: (2538..2539) \")\"\n ATMOSPHERE: (2539..2540) \" \"\n ATMOSPHERE: (2540..2556) \"; -> unspecified\"\n ATMOSPHERE: (2556..2557) \"\n\"\n FORM: (2557..2598)\n OPEN_PAREN: (2557..2558) \"(\"\n SYMBOL: (2558..2565)\n IDENTIFIER: (2558..2565) \"display\"\n ATMOSPHERE: (2565..2566) \" \"\n FORM: (2566..2597)\n OPEN_PAREN: (2566..2567) \"(\"\n SYMBOL: (2567..2571)\n IDENTIFIER: (2567..2571) \"assv\"\n ATMOSPHERE: (2571..2572) \" \"\n CONSTANT: (2572..2573)\n NUMBER: (2572..2573) \"5\"\n ATMOSPHERE: (2573..2574) \" \"\n QUOTED_DATUM: (2574..2596)\n QUOTE: (2574..2575) \"’\"\n FORM: (2575..2596)\n OPEN_PAREN: (2575..2576) \"(\"\n FORM: (2576..2581)\n OPEN_PAREN: (2576..2577) \"(\"\n CONSTANT: (2577..2578)\n NUMBER: (2577..2578) \"2\"\n ATMOSPHERE: (2578..2579) \" \"\n CONSTANT: (2579..2580)\n NUMBER: (2579..2580) \"3\"\n CLOSE_PAREN: (2580..2581) \")\"\n ATMOSPHERE: (2581..2582) \" \"\n FORM: (2582..2587)\n OPEN_PAREN: (2582..2583) \"(\"\n CONSTANT: (2583..2584)\n NUMBER: (2583..2584) \"5\"\n ATMOSPHERE: (2584..2585) \" \"\n CONSTANT: (2585..2586)\n NUMBER: (2585..2586) \"7\"\n CLOSE_PAREN: (2586..2587) \")\"\n ATMOSPHERE: (2587..2588) \" \"\n FORM: (2588..2595)\n OPEN_PAREN: (2588..2589) \"(\"\n CONSTANT: (2589..2591)\n NUMBER: (2589..2591) \"11\"\n ATMOSPHERE: (2591..2592) \" \"\n CONSTANT: (2592..2594)\n NUMBER: (2592..2594) \"13\"\n CLOSE_PAREN: (2594..2595) \")\"\n CLOSE_PAREN: (2595..2596) \")\"\n CLOSE_PAREN: (2596..2597) \")\"\n CLOSE_PAREN: (2597..2598) \")\"\n FORM: (2598..2607)\n OPEN_PAREN: (2598..2599) \"(\"\n SYMBOL: (2599..2606)\n IDENTIFIER: (2599..2606) \"newline\"\n CLOSE_PAREN: (2606..2607) \")\"\n ATMOSPHERE: (2607..2608) \" \"\n ATMOSPHERE: (2608..2618) \"; -> (5 7)\"\n ATMOSPHERE: (2618..2619) \"\n\"\n EOF: (2619..2619) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_literals.scm.json b/test/Feersum.Tests/_snapshots/Parse_literals.scm.json deleted file mode 100644 index a5876d2..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_literals.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..25)\n CONSTANT: (0..1)\n NUMBER: (0..1) \"1\"\n ATMOSPHERE: (1..2) \"\n\"\n CONSTANT: (2..15)\n STRING: (2..15) \"\"hello world\"\"\n ATMOSPHERE: (15..16) \"\n\"\n CONSTANT: (16..18)\n BOOLEAN: (16..18) \"#t\"\n ATMOSPHERE: (18..19) \"\n\"\n CONSTANT: (19..21)\n BOOLEAN: (19..21) \"#f\"\n ATMOSPHERE: (21..22) \"\n\"\n CONSTANT: (22..25)\n NUMBER: (22..25) \"123\"\n EOF: (25..25) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json b/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json deleted file mode 100644 index 7caf8c6..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_load_and_store.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..46)\n FORM: (0..16)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..11)\n IDENTIFIER: (8..11) \"foo\"\n ATMOSPHERE: (11..12) \" \"\n CONSTANT: (12..15)\n NUMBER: (12..15) \"100\"\n CLOSE_PAREN: (15..16) \")\"\n ATMOSPHERE: (16..17) \"\n\"\n FORM: (17..37)\n OPEN_PAREN: (17..18) \"(\"\n SYMBOL: (18..24)\n IDENTIFIER: (18..24) \"define\"\n ATMOSPHERE: (24..25) \" \"\n SYMBOL: (25..28)\n IDENTIFIER: (25..28) \"bar\"\n ATMOSPHERE: (28..29) \" \"\n CONSTANT: (29..36)\n STRING: (29..36) \"\"hello\"\"\n CLOSE_PAREN: (36..37) \")\"\n ATMOSPHERE: (37..38) \"\n\"\n SYMBOL: (38..41)\n IDENTIFIER: (38..41) \"foo\"\n ATMOSPHERE: (41..42) \"\n\"\n SYMBOL: (42..45)\n IDENTIFIER: (42..45) \"bar\"\n ATMOSPHERE: (45..46) \"\n\"\n EOF: (46..46) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_locals.scm.json b/test/Feersum.Tests/_snapshots/Parse_locals.scm.json deleted file mode 100644 index 03e4156..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_locals.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..182)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..161)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..59)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"fact\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..58)\n IDENTIFIER: (57..58) \"n\"\n CLOSE_PAREN: (58..59) \")\"\n ATMOSPHERE: (59..64) \"\n \"\n FORM: (64..160)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..67)\n IDENTIFIER: (65..67) \"if\"\n ATMOSPHERE: (67..68) \" \"\n FORM: (68..75)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..70)\n IDENTIFIER: (69..70) \"=\"\n ATMOSPHERE: (70..71) \" \"\n SYMBOL: (71..72)\n IDENTIFIER: (71..72) \"n\"\n ATMOSPHERE: (72..73) \" \"\n CONSTANT: (73..74)\n NUMBER: (73..74) \"0\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..84) \"\n \"\n CONSTANT: (84..85)\n NUMBER: (84..85) \"1\"\n ATMOSPHERE: (85..94) \"\n \"\n FORM: (94..159)\n OPEN_PAREN: (94..95) \"(\"\n SYMBOL: (95..100)\n IDENTIFIER: (95..100) \"begin\"\n ATMOSPHERE: (100..113) \"\n \"\n FORM: (113..131)\n OPEN_PAREN: (113..114) \"(\"\n SYMBOL: (114..120)\n IDENTIFIER: (114..120) \"define\"\n ATMOSPHERE: (120..121) \" \"\n SYMBOL: (121..122)\n IDENTIFIER: (121..122) \"m\"\n ATMOSPHERE: (122..123) \" \"\n FORM: (123..130)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..125)\n IDENTIFIER: (124..125) \"-\"\n ATMOSPHERE: (125..126) \" \"\n SYMBOL: (126..127)\n IDENTIFIER: (126..127) \"n\"\n ATMOSPHERE: (127..128) \" \"\n CONSTANT: (128..129)\n NUMBER: (128..129) \"1\"\n CLOSE_PAREN: (129..130) \")\"\n CLOSE_PAREN: (130..131) \")\"\n ATMOSPHERE: (131..144) \"\n \"\n FORM: (144..158)\n OPEN_PAREN: (144..145) \"(\"\n SYMBOL: (145..146)\n IDENTIFIER: (145..146) \"*\"\n ATMOSPHERE: (146..147) \" \"\n SYMBOL: (147..148)\n IDENTIFIER: (147..148) \"n\"\n ATMOSPHERE: (148..149) \" \"\n FORM: (149..157)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..154)\n IDENTIFIER: (150..154) \"fact\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..156)\n IDENTIFIER: (155..156) \"m\"\n CLOSE_PAREN: (156..157) \")\"\n CLOSE_PAREN: (157..158) \")\"\n CLOSE_PAREN: (158..159) \")\"\n CLOSE_PAREN: (159..160) \")\"\n CLOSE_PAREN: (160..161) \")\"\n ATMOSPHERE: (161..163) \"\n\n\"\n FORM: (163..181)\n OPEN_PAREN: (163..164) \"(\"\n SYMBOL: (164..171)\n IDENTIFIER: (164..171) \"display\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..180)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..177)\n IDENTIFIER: (173..177) \"fact\"\n ATMOSPHERE: (177..178) \" \"\n CONSTANT: (178..179)\n NUMBER: (178..179) \"5\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..182) \" \"\n EOF: (182..182) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json b/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json deleted file mode 100644 index a4a3f75..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_norun/forever.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..81)\n FORM: (0..14)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n SYMBOL: (8..13)\n IDENTIFIER: (8..13) \"world\"\n CLOSE_PAREN: (13..14) \")\"\n ATMOSPHERE: (14..15) \"\n\"\n FORM: (15..39)\n OPEN_PAREN: (15..16) \"(\"\n SYMBOL: (16..22)\n IDENTIFIER: (16..22) \"define\"\n ATMOSPHERE: (22..23) \" \"\n FORM: (23..30)\n OPEN_PAREN: (23..24) \"(\"\n SYMBOL: (24..29)\n IDENTIFIER: (24..29) \"hello\"\n CLOSE_PAREN: (29..30) \")\"\n ATMOSPHERE: (30..31) \" \"\n FORM: (31..38)\n OPEN_PAREN: (31..32) \"(\"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"world\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..72)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..45)\n IDENTIFIER: (41..45) \"set!\"\n ATMOSPHERE: (45..46) \" \"\n SYMBOL: (46..51)\n IDENTIFIER: (46..51) \"world\"\n ATMOSPHERE: (51..52) \" \"\n FORM: (52..71)\n OPEN_PAREN: (52..53) \"(\"\n SYMBOL: (53..59)\n IDENTIFIER: (53..59) \"lambda\"\n ATMOSPHERE: (59..60) \" \"\n FORM: (60..62)\n OPEN_PAREN: (60..61) \"(\"\n CLOSE_PAREN: (61..62) \")\"\n ATMOSPHERE: (62..63) \" \"\n FORM: (63..70)\n OPEN_PAREN: (63..64) \"(\"\n SYMBOL: (64..69)\n IDENTIFIER: (64..69) \"hello\"\n CLOSE_PAREN: (69..70) \")\"\n CLOSE_PAREN: (70..71) \")\"\n CLOSE_PAREN: (71..72) \")\"\n ATMOSPHERE: (72..73) \"\n\"\n FORM: (73..80)\n OPEN_PAREN: (73..74) \"(\"\n SYMBOL: (74..79)\n IDENTIFIER: (74..79) \"hello\"\n CLOSE_PAREN: (79..80) \")\"\n ATMOSPHERE: (80..81) \"\n\"\n EOF: (81..81) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_null.scm.json b/test/Feersum.Tests/_snapshots/Parse_null.scm.json deleted file mode 100644 index 8cacfd3..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_null.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..2)\n FORM: (0..2)\n OPEN_PAREN: (0..1) \"(\"\n CLOSE_PAREN: (1..2) \")\"\n EOF: (2..2) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json b/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json deleted file mode 100644 index 58aeda3..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_parameters.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..97)\n FORM: (0..24)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"define\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..17)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..12)\n IDENTIFIER: (9..12) \"foo\"\n ATMOSPHERE: (12..13) \" \"\n SYMBOL: (13..14)\n IDENTIFIER: (13..14) \"a\"\n ATMOSPHERE: (14..15) \" \"\n SYMBOL: (15..16)\n IDENTIFIER: (15..16) \"b\"\n CLOSE_PAREN: (16..17) \")\"\n ATMOSPHERE: (17..22) \"\n \"\n SYMBOL: (22..23)\n IDENTIFIER: (22..23) \"b\"\n CLOSE_PAREN: (23..24) \")\"\n ATMOSPHERE: (24..25) \"\n\"\n FORM: (25..51)\n OPEN_PAREN: (25..26) \"(\"\n SYMBOL: (26..32)\n IDENTIFIER: (26..32) \"define\"\n ATMOSPHERE: (32..33) \" \"\n FORM: (33..44)\n OPEN_PAREN: (33..34) \"(\"\n SYMBOL: (34..37)\n IDENTIFIER: (34..37) \"bar\"\n ATMOSPHERE: (37..38) \" \"\n SYMBOL: (38..39)\n IDENTIFIER: (38..39) \"a\"\n ATMOSPHERE: (39..40) \" \"\n SYMBOL: (40..41)\n IDENTIFIER: (40..41) \"b\"\n ATMOSPHERE: (41..42) \" \"\n SYMBOL: (42..43)\n IDENTIFIER: (42..43) \"c\"\n CLOSE_PAREN: (43..44) \")\"\n ATMOSPHERE: (44..49) \"\n \"\n SYMBOL: (49..50)\n IDENTIFIER: (49..50) \"a\"\n CLOSE_PAREN: (50..51) \")\"\n ATMOSPHERE: (51..52) \"\n\"\n ATMOSPHERE: (52..71) \"; should return 101\"\n ATMOSPHERE: (71..72) \"\n\"\n FORM: (72..97)\n OPEN_PAREN: (72..73) \"(\"\n SYMBOL: (73..76)\n IDENTIFIER: (73..76) \"bar\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..90)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..81)\n IDENTIFIER: (78..81) \"foo\"\n ATMOSPHERE: (81..82) \" \"\n CONSTANT: (82..85)\n NUMBER: (82..85) \"123\"\n ATMOSPHERE: (85..86) \" \"\n CONSTANT: (86..89)\n NUMBER: (86..89) \"101\"\n CLOSE_PAREN: (89..90) \")\"\n ATMOSPHERE: (90..91) \" \"\n CONSTANT: (91..93)\n NUMBER: (91..93) \"78\"\n ATMOSPHERE: (93..94) \" \"\n CONSTANT: (94..96)\n NUMBER: (94..96) \"90\"\n CLOSE_PAREN: (96..97) \")\"\n EOF: (97..97) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json b/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json deleted file mode 100644 index 05e90fa..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_process-context.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..199)\n FORM: (0..66)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..32)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..31)\n IDENTIFIER: (16..31) \"process-context\"\n CLOSE_PAREN: (31..32) \")\"\n ATMOSPHERE: (32..35) \"\n \"\n FORM: (35..48)\n OPEN_PAREN: (35..36) \"(\"\n SYMBOL: (36..42)\n IDENTIFIER: (36..42) \"scheme\"\n ATMOSPHERE: (42..43) \" \"\n SYMBOL: (43..47)\n IDENTIFIER: (43..47) \"base\"\n CLOSE_PAREN: (47..48) \")\"\n ATMOSPHERE: (48..51) \"\n \"\n FORM: (51..65)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..58)\n IDENTIFIER: (52..58) \"scheme\"\n ATMOSPHERE: (58..59) \" \"\n SYMBOL: (59..64)\n IDENTIFIER: (59..64) \"write\"\n CLOSE_PAREN: (64..65) \")\"\n CLOSE_PAREN: (65..66) \")\"\n ATMOSPHERE: (66..68) \"\n\n\"\n FORM: (68..122)\n OPEN_PAREN: (68..69) \"(\"\n SYMBOL: (69..76)\n IDENTIFIER: (69..76) \"display\"\n ATMOSPHERE: (76..77) \" \"\n FORM: (77..121)\n OPEN_PAREN: (77..78) \"(\"\n SYMBOL: (78..102)\n IDENTIFIER: (78..102) \"get-environment-variable\"\n ATMOSPHERE: (102..103) \" \"\n CONSTANT: (103..120)\n STRING: (103..120) \"\"FEERSUM_TESTING\"\"\n CLOSE_PAREN: (120..121) \")\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..123) \"\n\"\n FORM: (123..186)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..131)\n IDENTIFIER: (124..131) \"display\"\n ATMOSPHERE: (131..132) \" \"\n FORM: (132..185)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..138)\n IDENTIFIER: (133..138) \"assoc\"\n ATMOSPHERE: (138..139) \" \"\n CONSTANT: (139..156)\n STRING: (139..156) \"\"FEERSUM_TESTING\"\"\n ATMOSPHERE: (156..157) \" \"\n FORM: (157..184)\n OPEN_PAREN: (157..158) \"(\"\n SYMBOL: (158..183)\n IDENTIFIER: (158..183) \"get-environment-variables\"\n CLOSE_PAREN: (183..184) \")\"\n CLOSE_PAREN: (184..185) \")\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..188) \"\n\n\"\n FORM: (188..198)\n OPEN_PAREN: (188..189) \"(\"\n SYMBOL: (189..193)\n IDENTIFIER: (189..193) \"exit\"\n ATMOSPHERE: (193..194) \" \"\n CONSTANT: (194..197)\n NUMBER: (194..197) \"123\"\n CLOSE_PAREN: (197..198) \")\"\n ATMOSPHERE: (198..199) \"\n\"\n EOF: (199..199) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json b/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json deleted file mode 100644 index 512f9a9..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_qsort.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..2752)\n ATMOSPHERE: (0..26) \";; Sorting library example\"\n ATMOSPHERE: (26..27) \"\n\"\n FORM: (27..2545)\n OPEN_PAREN: (27..28) \"(\"\n SYMBOL: (28..42)\n IDENTIFIER: (28..42) \"define-library\"\n ATMOSPHERE: (42..43) \" \"\n FORM: (43..49)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..48)\n IDENTIFIER: (44..48) \"sort\"\n CLOSE_PAREN: (48..49) \")\"\n ATMOSPHERE: (49..54) \"\n \"\n FORM: (54..258)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..61)\n IDENTIFIER: (55..61) \"import\"\n ATMOSPHERE: (61..62) \" \"\n FORM: (62..75)\n OPEN_PAREN: (62..63) \"(\"\n SYMBOL: (63..69)\n IDENTIFIER: (63..69) \"scheme\"\n ATMOSPHERE: (69..70) \" \"\n SYMBOL: (70..74)\n IDENTIFIER: (70..74) \"base\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..84) \"\n \"\n ATMOSPHERE: (84..151) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (151..160) \"\n \"\n ATMOSPHERE: (160..224) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (224..233) \"\n \"\n FORM: (233..257)\n OPEN_PAREN: (233..234) \"(\"\n SYMBOL: (234..241)\n IDENTIFIER: (234..241) \"feersum\"\n ATMOSPHERE: (241..242) \" \"\n SYMBOL: (242..249)\n IDENTIFIER: (242..249) \"builtin\"\n ATMOSPHERE: (249..250) \" \"\n SYMBOL: (250..256)\n IDENTIFIER: (250..256) \"macros\"\n CLOSE_PAREN: (256..257) \")\"\n CLOSE_PAREN: (257..258) \")\"\n ATMOSPHERE: (258..263) \"\n \"\n FORM: (263..291)\n OPEN_PAREN: (263..264) \"(\"\n SYMBOL: (264..270)\n IDENTIFIER: (264..270) \"export\"\n ATMOSPHERE: (270..271) \" \"\n FORM: (271..290)\n OPEN_PAREN: (271..272) \"(\"\n SYMBOL: (272..278)\n IDENTIFIER: (272..278) \"rename\"\n ATMOSPHERE: (278..279) \" \"\n SYMBOL: (279..284)\n IDENTIFIER: (279..284) \"qsort\"\n ATMOSPHERE: (284..285) \" \"\n SYMBOL: (285..289)\n IDENTIFIER: (285..289) \"sort\"\n CLOSE_PAREN: (289..290) \")\"\n CLOSE_PAREN: (290..291) \")\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..2544)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..302)\n IDENTIFIER: (297..302) \"begin\"\n ATMOSPHERE: (302..311) \"\n \"\n ATMOSPHERE: (311..332) \";; Partition Utitlity\"\n ATMOSPHERE: (332..341) \"\n \"\n ATMOSPHERE: (341..342) \";\"\n ATMOSPHERE: (342..351) \"\n \"\n ATMOSPHERE: (351..422) \"; This function takes a given `lst` and partitions it around a `pivot`.\"\n ATMOSPHERE: (422..431) \"\n \"\n ATMOSPHERE: (431..503) \"; The result is a list who's `car` is a list containing the numbers less\"\n ATMOSPHERE: (503..512) \"\n \"\n ATMOSPHERE: (512..583) \"; than the pivot, and `cdr` is a list containing those greater than the\"\n ATMOSPHERE: (583..592) \"\n \"\n ATMOSPHERE: (592..600) \"; pivot.\"\n ATMOSPHERE: (600..609) \"\n \"\n FORM: (609..1024)\n OPEN_PAREN: (609..610) \"(\"\n SYMBOL: (610..616)\n IDENTIFIER: (610..616) \"define\"\n ATMOSPHERE: (616..617) \" \"\n FORM: (617..638)\n OPEN_PAREN: (617..618) \"(\"\n SYMBOL: (618..627)\n IDENTIFIER: (618..627) \"partition\"\n ATMOSPHERE: (627..628) \" \"\n SYMBOL: (628..633)\n IDENTIFIER: (628..633) \"pivot\"\n ATMOSPHERE: (633..634) \" \"\n SYMBOL: (634..637)\n IDENTIFIER: (634..637) \"lst\"\n CLOSE_PAREN: (637..638) \")\"\n ATMOSPHERE: (638..651) \"\n \"\n FORM: (651..1023)\n OPEN_PAREN: (651..652) \"(\"\n SYMBOL: (652..654)\n IDENTIFIER: (652..654) \"if\"\n ATMOSPHERE: (654..655) \" \"\n FORM: (655..666)\n OPEN_PAREN: (655..656) \"(\"\n SYMBOL: (656..661)\n IDENTIFIER: (656..661) \"null?\"\n ATMOSPHERE: (661..662) \" \"\n SYMBOL: (662..665)\n IDENTIFIER: (662..665) \"lst\"\n CLOSE_PAREN: (665..666) \")\"\n ATMOSPHERE: (666..683) \"\n \"\n QUOTED_DATUM: (683..705)\n QUOTE: (683..684) \"'\"\n FORM: (684..688)\n OPEN_PAREN: (684..685) \"(\"\n FORM: (685..687)\n OPEN_PAREN: (685..686) \"(\"\n CLOSE_PAREN: (686..687) \")\"\n CLOSE_PAREN: (687..688) \")\"\n ATMOSPHERE: (688..705) \"\n \"\n FORM: (705..1022)\n OPEN_PAREN: (705..706) \"(\"\n SYMBOL: (706..709)\n IDENTIFIER: (706..709) \"let\"\n ATMOSPHERE: (709..710) \" \"\n FORM: (710..786)\n OPEN_PAREN: (710..711) \"(\"\n FORM: (711..730)\n OPEN_PAREN: (711..712) \"(\"\n SYMBOL: (712..719)\n IDENTIFIER: (712..719) \"current\"\n ATMOSPHERE: (719..720) \" \"\n FORM: (720..729)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..724)\n IDENTIFIER: (721..724) \"car\"\n ATMOSPHERE: (724..725) \" \"\n SYMBOL: (725..728)\n IDENTIFIER: (725..728) \"lst\"\n CLOSE_PAREN: (728..729) \")\"\n CLOSE_PAREN: (729..730) \")\"\n ATMOSPHERE: (730..751) \"\n \"\n FORM: (751..785)\n OPEN_PAREN: (751..752) \"(\"\n SYMBOL: (752..756)\n IDENTIFIER: (752..756) \"rest\"\n ATMOSPHERE: (756..757) \" \"\n FORM: (757..784)\n OPEN_PAREN: (757..758) \"(\"\n SYMBOL: (758..767)\n IDENTIFIER: (758..767) \"partition\"\n ATMOSPHERE: (767..768) \" \"\n SYMBOL: (768..773)\n IDENTIFIER: (768..773) \"pivot\"\n ATMOSPHERE: (773..774) \" \"\n FORM: (774..783)\n OPEN_PAREN: (774..775) \"(\"\n SYMBOL: (775..778)\n IDENTIFIER: (775..778) \"cdr\"\n ATMOSPHERE: (778..779) \" \"\n SYMBOL: (779..782)\n IDENTIFIER: (779..782) \"lst\"\n CLOSE_PAREN: (782..783) \")\"\n CLOSE_PAREN: (783..784) \")\"\n CLOSE_PAREN: (784..785) \")\"\n CLOSE_PAREN: (785..786) \")\"\n ATMOSPHERE: (786..807) \"\n \"\n FORM: (807..1021)\n OPEN_PAREN: (807..808) \"(\"\n SYMBOL: (808..810)\n IDENTIFIER: (808..810) \"if\"\n ATMOSPHERE: (810..811) \" \"\n FORM: (811..828)\n OPEN_PAREN: (811..812) \"(\"\n SYMBOL: (812..813)\n IDENTIFIER: (812..813) \"<\"\n ATMOSPHERE: (813..814) \" \"\n SYMBOL: (814..821)\n IDENTIFIER: (814..821) \"current\"\n ATMOSPHERE: (821..822) \" \"\n SYMBOL: (822..827)\n IDENTIFIER: (822..827) \"pivot\"\n CLOSE_PAREN: (827..828) \")\"\n ATMOSPHERE: (828..853) \"\n \"\n FORM: (853..924)\n OPEN_PAREN: (853..854) \"(\"\n SYMBOL: (854..858)\n IDENTIFIER: (854..858) \"cons\"\n ATMOSPHERE: (858..859) \" \"\n FORM: (859..884)\n OPEN_PAREN: (859..860) \"(\"\n SYMBOL: (860..864)\n IDENTIFIER: (860..864) \"cons\"\n ATMOSPHERE: (864..865) \" \"\n SYMBOL: (865..872)\n IDENTIFIER: (865..872) \"current\"\n ATMOSPHERE: (872..873) \" \"\n FORM: (873..883)\n OPEN_PAREN: (873..874) \"(\"\n SYMBOL: (874..877)\n IDENTIFIER: (874..877) \"car\"\n ATMOSPHERE: (877..878) \" \"\n SYMBOL: (878..882)\n IDENTIFIER: (878..882) \"rest\"\n CLOSE_PAREN: (882..883) \")\"\n CLOSE_PAREN: (883..884) \")\"\n ATMOSPHERE: (884..913) \"\n \"\n FORM: (913..923)\n OPEN_PAREN: (913..914) \"(\"\n SYMBOL: (914..917)\n IDENTIFIER: (914..917) \"cdr\"\n ATMOSPHERE: (917..918) \" \"\n SYMBOL: (918..922)\n IDENTIFIER: (918..922) \"rest\"\n CLOSE_PAREN: (922..923) \")\"\n CLOSE_PAREN: (923..924) \")\"\n ATMOSPHERE: (924..949) \"\n \"\n FORM: (949..1020)\n OPEN_PAREN: (949..950) \"(\"\n SYMBOL: (950..954)\n IDENTIFIER: (950..954) \"cons\"\n ATMOSPHERE: (954..955) \" \"\n FORM: (955..965)\n OPEN_PAREN: (955..956) \"(\"\n SYMBOL: (956..959)\n IDENTIFIER: (956..959) \"car\"\n ATMOSPHERE: (959..960) \" \"\n SYMBOL: (960..964)\n IDENTIFIER: (960..964) \"rest\"\n CLOSE_PAREN: (964..965) \")\"\n ATMOSPHERE: (965..994) \"\n \"\n FORM: (994..1019)\n OPEN_PAREN: (994..995) \"(\"\n SYMBOL: (995..999)\n IDENTIFIER: (995..999) \"cons\"\n ATMOSPHERE: (999..1000) \" \"\n SYMBOL: (1000..1007)\n IDENTIFIER: (1000..1007) \"current\"\n ATMOSPHERE: (1007..1008) \" \"\n FORM: (1008..1018)\n OPEN_PAREN: (1008..1009) \"(\"\n SYMBOL: (1009..1012)\n IDENTIFIER: (1009..1012) \"cdr\"\n ATMOSPHERE: (1012..1013) \" \"\n SYMBOL: (1013..1017)\n IDENTIFIER: (1013..1017) \"rest\"\n CLOSE_PAREN: (1017..1018) \")\"\n CLOSE_PAREN: (1018..1019) \")\"\n CLOSE_PAREN: (1019..1020) \")\"\n CLOSE_PAREN: (1020..1021) \")\"\n CLOSE_PAREN: (1021..1022) \")\"\n CLOSE_PAREN: (1022..1023) \")\"\n CLOSE_PAREN: (1023..1024) \")\"\n ATMOSPHERE: (1024..1034) \"\n\n \"\n ATMOSPHERE: (1034..1079) \";; Append the `right` list to the `left` one.\"\n ATMOSPHERE: (1079..1088) \"\n \"\n ATMOSPHERE: (1088..1089) \";\"\n ATMOSPHERE: (1089..1098) \"\n \"\n ATMOSPHERE: (1098..1170) \"; This function uses two helpers to tail-recursively reconstruct a list.\"\n ATMOSPHERE: (1170..1179) \"\n \"\n ATMOSPHERE: (1179..1247) \"; The `append-helper` first recurses moving elements from the `left`\"\n ATMOSPHERE: (1247..1256) \"\n \"\n ATMOSPHERE: (1256..1327) \"; list into the accumuulator. Once the left list is empty the base case\"\n ATMOSPHERE: (1327..1336) \"\n \"\n ATMOSPHERE: (1336..1398) \"; uses `rebuild` to tail-recursively construct the final list.\"\n ATMOSPHERE: (1398..1407) \"\n \"\n FORM: (1407..1890)\n OPEN_PAREN: (1407..1408) \"(\"\n SYMBOL: (1408..1414)\n IDENTIFIER: (1408..1414) \"define\"\n ATMOSPHERE: (1414..1415) \" \"\n FORM: (1415..1434)\n OPEN_PAREN: (1415..1416) \"(\"\n SYMBOL: (1416..1422)\n IDENTIFIER: (1416..1422) \"append\"\n ATMOSPHERE: (1422..1423) \" \"\n SYMBOL: (1423..1427)\n IDENTIFIER: (1423..1427) \"left\"\n ATMOSPHERE: (1427..1428) \" \"\n SYMBOL: (1428..1433)\n IDENTIFIER: (1428..1433) \"right\"\n CLOSE_PAREN: (1433..1434) \")\"\n ATMOSPHERE: (1434..1447) \"\n \"\n FORM: (1447..1597)\n OPEN_PAREN: (1447..1448) \"(\"\n SYMBOL: (1448..1454)\n IDENTIFIER: (1448..1454) \"define\"\n ATMOSPHERE: (1454..1455) \" \"\n FORM: (1455..1474)\n OPEN_PAREN: (1455..1456) \"(\"\n SYMBOL: (1456..1463)\n IDENTIFIER: (1456..1463) \"rebuild\"\n ATMOSPHERE: (1463..1464) \" \"\n SYMBOL: (1464..1467)\n IDENTIFIER: (1464..1467) \"acc\"\n ATMOSPHERE: (1467..1468) \" \"\n SYMBOL: (1468..1473)\n IDENTIFIER: (1468..1473) \"right\"\n CLOSE_PAREN: (1473..1474) \")\"\n ATMOSPHERE: (1474..1491) \"\n \"\n FORM: (1491..1596)\n OPEN_PAREN: (1491..1492) \"(\"\n SYMBOL: (1492..1494)\n IDENTIFIER: (1492..1494) \"if\"\n ATMOSPHERE: (1494..1495) \" \"\n FORM: (1495..1506)\n OPEN_PAREN: (1495..1496) \"(\"\n SYMBOL: (1496..1501)\n IDENTIFIER: (1496..1501) \"null?\"\n ATMOSPHERE: (1501..1502) \" \"\n SYMBOL: (1502..1505)\n IDENTIFIER: (1502..1505) \"acc\"\n CLOSE_PAREN: (1505..1506) \")\"\n ATMOSPHERE: (1506..1527) \"\n \"\n SYMBOL: (1527..1532)\n IDENTIFIER: (1527..1532) \"right\"\n ATMOSPHERE: (1532..1553) \"\n \"\n FORM: (1553..1595)\n OPEN_PAREN: (1553..1554) \"(\"\n SYMBOL: (1554..1561)\n IDENTIFIER: (1554..1561) \"rebuild\"\n ATMOSPHERE: (1561..1562) \" \"\n FORM: (1562..1571)\n OPEN_PAREN: (1562..1563) \"(\"\n SYMBOL: (1563..1566)\n IDENTIFIER: (1563..1566) \"cdr\"\n ATMOSPHERE: (1566..1567) \" \"\n SYMBOL: (1567..1570)\n IDENTIFIER: (1567..1570) \"acc\"\n CLOSE_PAREN: (1570..1571) \")\"\n ATMOSPHERE: (1571..1572) \" \"\n FORM: (1572..1594)\n OPEN_PAREN: (1572..1573) \"(\"\n SYMBOL: (1573..1577)\n IDENTIFIER: (1573..1577) \"cons\"\n ATMOSPHERE: (1577..1578) \" \"\n FORM: (1578..1587)\n OPEN_PAREN: (1578..1579) \"(\"\n SYMBOL: (1579..1582)\n IDENTIFIER: (1579..1582) \"car\"\n ATMOSPHERE: (1582..1583) \" \"\n SYMBOL: (1583..1586)\n IDENTIFIER: (1583..1586) \"acc\"\n CLOSE_PAREN: (1586..1587) \")\"\n ATMOSPHERE: (1587..1588) \" \"\n SYMBOL: (1588..1593)\n IDENTIFIER: (1588..1593) \"right\"\n CLOSE_PAREN: (1593..1594) \")\"\n CLOSE_PAREN: (1594..1595) \")\"\n CLOSE_PAREN: (1595..1596) \")\"\n CLOSE_PAREN: (1596..1597) \")\"\n ATMOSPHERE: (1597..1610) \"\n \"\n FORM: (1610..1846)\n OPEN_PAREN: (1610..1611) \"(\"\n SYMBOL: (1611..1617)\n IDENTIFIER: (1611..1617) \"define\"\n ATMOSPHERE: (1617..1618) \" \"\n FORM: (1618..1648)\n OPEN_PAREN: (1618..1619) \"(\"\n SYMBOL: (1619..1632)\n IDENTIFIER: (1619..1632) \"append-helper\"\n ATMOSPHERE: (1632..1633) \" \"\n SYMBOL: (1633..1636)\n IDENTIFIER: (1633..1636) \"acc\"\n ATMOSPHERE: (1636..1637) \" \"\n SYMBOL: (1637..1641)\n IDENTIFIER: (1637..1641) \"left\"\n ATMOSPHERE: (1641..1642) \" \"\n SYMBOL: (1642..1647)\n IDENTIFIER: (1642..1647) \"right\"\n CLOSE_PAREN: (1647..1648) \")\"\n ATMOSPHERE: (1648..1665) \"\n \"\n FORM: (1665..1845)\n OPEN_PAREN: (1665..1666) \"(\"\n SYMBOL: (1666..1668)\n IDENTIFIER: (1666..1668) \"if\"\n ATMOSPHERE: (1668..1669) \" \"\n FORM: (1669..1681)\n OPEN_PAREN: (1669..1670) \"(\"\n SYMBOL: (1670..1675)\n IDENTIFIER: (1670..1675) \"null?\"\n ATMOSPHERE: (1675..1676) \" \"\n SYMBOL: (1676..1680)\n IDENTIFIER: (1676..1680) \"left\"\n CLOSE_PAREN: (1680..1681) \")\"\n ATMOSPHERE: (1681..1702) \"\n \"\n FORM: (1702..1721)\n OPEN_PAREN: (1702..1703) \"(\"\n SYMBOL: (1703..1710)\n IDENTIFIER: (1703..1710) \"rebuild\"\n ATMOSPHERE: (1710..1711) \" \"\n SYMBOL: (1711..1714)\n IDENTIFIER: (1711..1714) \"acc\"\n ATMOSPHERE: (1714..1715) \" \"\n SYMBOL: (1715..1720)\n IDENTIFIER: (1715..1720) \"right\"\n CLOSE_PAREN: (1720..1721) \")\"\n ATMOSPHERE: (1721..1742) \"\n \"\n FORM: (1742..1844)\n OPEN_PAREN: (1742..1743) \"(\"\n SYMBOL: (1743..1756)\n IDENTIFIER: (1743..1756) \"append-helper\"\n ATMOSPHERE: (1756..1757) \" \"\n FORM: (1757..1778)\n OPEN_PAREN: (1757..1758) \"(\"\n SYMBOL: (1758..1762)\n IDENTIFIER: (1758..1762) \"cons\"\n ATMOSPHERE: (1762..1763) \" \"\n FORM: (1763..1773)\n OPEN_PAREN: (1763..1764) \"(\"\n SYMBOL: (1764..1767)\n IDENTIFIER: (1764..1767) \"car\"\n ATMOSPHERE: (1767..1768) \" \"\n SYMBOL: (1768..1772)\n IDENTIFIER: (1768..1772) \"left\"\n CLOSE_PAREN: (1772..1773) \")\"\n ATMOSPHERE: (1773..1774) \" \"\n SYMBOL: (1774..1777)\n IDENTIFIER: (1774..1777) \"acc\"\n CLOSE_PAREN: (1777..1778) \")\"\n ATMOSPHERE: (1778..1803) \"\n \"\n FORM: (1803..1813)\n OPEN_PAREN: (1803..1804) \"(\"\n SYMBOL: (1804..1807)\n IDENTIFIER: (1804..1807) \"cdr\"\n ATMOSPHERE: (1807..1808) \" \"\n SYMBOL: (1808..1812)\n IDENTIFIER: (1808..1812) \"left\"\n CLOSE_PAREN: (1812..1813) \")\"\n ATMOSPHERE: (1813..1838) \"\n \"\n SYMBOL: (1838..1843)\n IDENTIFIER: (1838..1843) \"right\"\n CLOSE_PAREN: (1843..1844) \")\"\n CLOSE_PAREN: (1844..1845) \")\"\n CLOSE_PAREN: (1845..1846) \")\"\n ATMOSPHERE: (1846..1859) \"\n \"\n FORM: (1859..1889)\n OPEN_PAREN: (1859..1860) \"(\"\n SYMBOL: (1860..1873)\n IDENTIFIER: (1860..1873) \"append-helper\"\n ATMOSPHERE: (1873..1874) \" \"\n QUOTED_DATUM: (1874..1878)\n QUOTE: (1874..1875) \"'\"\n FORM: (1875..1877)\n OPEN_PAREN: (1875..1876) \"(\"\n CLOSE_PAREN: (1876..1877) \")\"\n ATMOSPHERE: (1877..1878) \" \"\n SYMBOL: (1878..1882)\n IDENTIFIER: (1878..1882) \"left\"\n ATMOSPHERE: (1882..1883) \" \"\n SYMBOL: (1883..1888)\n IDENTIFIER: (1883..1888) \"right\"\n CLOSE_PAREN: (1888..1889) \")\"\n CLOSE_PAREN: (1889..1890) \")\"\n ATMOSPHERE: (1890..1900) \"\n\n \"\n ATMOSPHERE: (1900..1938) \";; Recursive quicksort implementation.\"\n ATMOSPHERE: (1938..1947) \"\n \"\n ATMOSPHERE: (1947..1948) \";\"\n ATMOSPHERE: (1948..1957) \"\n \"\n ATMOSPHERE: (1957..2026) \"; Takes a list of numbers and returns a sorted list. Trivially sorted\"\n ATMOSPHERE: (2026..2035) \"\n \"\n ATMOSPHERE: (2035..2106) \"; lists are immediately returned. Complex lists are split using a token\"\n ATMOSPHERE: (2106..2115) \"\n \"\n ATMOSPHERE: (2115..2177) \"; pivot and the high and low sub-lists are individually sorted\"\n ATMOSPHERE: (2177..2186) \"\n \"\n ATMOSPHERE: (2186..2200) \"; recurisvely.\"\n ATMOSPHERE: (2200..2209) \"\n \"\n FORM: (2209..2534)\n OPEN_PAREN: (2209..2210) \"(\"\n SYMBOL: (2210..2216)\n IDENTIFIER: (2210..2216) \"define\"\n ATMOSPHERE: (2216..2217) \" \"\n FORM: (2217..2229)\n OPEN_PAREN: (2217..2218) \"(\"\n SYMBOL: (2218..2223)\n IDENTIFIER: (2218..2223) \"qsort\"\n ATMOSPHERE: (2223..2224) \" \"\n SYMBOL: (2224..2228)\n IDENTIFIER: (2224..2228) \"nums\"\n CLOSE_PAREN: (2228..2229) \")\"\n ATMOSPHERE: (2229..2242) \"\n \"\n FORM: (2242..2533)\n OPEN_PAREN: (2242..2243) \"(\"\n SYMBOL: (2243..2245)\n IDENTIFIER: (2243..2245) \"if\"\n ATMOSPHERE: (2245..2246) \" \"\n FORM: (2246..2282)\n OPEN_PAREN: (2246..2247) \"(\"\n SYMBOL: (2247..2249)\n IDENTIFIER: (2247..2249) \"or\"\n ATMOSPHERE: (2249..2250) \" \"\n FORM: (2250..2262)\n OPEN_PAREN: (2250..2251) \"(\"\n SYMBOL: (2251..2256)\n IDENTIFIER: (2251..2256) \"null?\"\n ATMOSPHERE: (2256..2257) \" \"\n SYMBOL: (2257..2261)\n IDENTIFIER: (2257..2261) \"nums\"\n CLOSE_PAREN: (2261..2262) \")\"\n ATMOSPHERE: (2262..2263) \" \"\n FORM: (2263..2281)\n OPEN_PAREN: (2263..2264) \"(\"\n SYMBOL: (2264..2269)\n IDENTIFIER: (2264..2269) \"null?\"\n ATMOSPHERE: (2269..2270) \" \"\n FORM: (2270..2280)\n OPEN_PAREN: (2270..2271) \"(\"\n SYMBOL: (2271..2274)\n IDENTIFIER: (2271..2274) \"cdr\"\n ATMOSPHERE: (2274..2275) \" \"\n SYMBOL: (2275..2279)\n IDENTIFIER: (2275..2279) \"nums\"\n CLOSE_PAREN: (2279..2280) \")\"\n CLOSE_PAREN: (2280..2281) \")\"\n CLOSE_PAREN: (2281..2282) \")\"\n ATMOSPHERE: (2282..2299) \"\n \"\n SYMBOL: (2299..2303)\n IDENTIFIER: (2299..2303) \"nums\"\n ATMOSPHERE: (2303..2320) \"\n \"\n FORM: (2320..2532)\n OPEN_PAREN: (2320..2321) \"(\"\n SYMBOL: (2321..2325)\n IDENTIFIER: (2321..2325) \"let*\"\n ATMOSPHERE: (2325..2326) \" \"\n FORM: (2326..2413)\n OPEN_PAREN: (2326..2327) \"(\"\n FORM: (2327..2345)\n OPEN_PAREN: (2327..2328) \"(\"\n SYMBOL: (2328..2333)\n IDENTIFIER: (2328..2333) \"pivot\"\n ATMOSPHERE: (2333..2334) \" \"\n FORM: (2334..2344)\n OPEN_PAREN: (2334..2335) \"(\"\n SYMBOL: (2335..2338)\n IDENTIFIER: (2335..2338) \"car\"\n ATMOSPHERE: (2338..2339) \" \"\n SYMBOL: (2339..2343)\n IDENTIFIER: (2339..2343) \"nums\"\n CLOSE_PAREN: (2343..2344) \")\"\n CLOSE_PAREN: (2344..2345) \")\"\n ATMOSPHERE: (2345..2370) \"\n \"\n FORM: (2370..2412)\n OPEN_PAREN: (2370..2371) \"(\"\n SYMBOL: (2371..2382)\n IDENTIFIER: (2371..2382) \"partitioned\"\n ATMOSPHERE: (2382..2383) \" \"\n FORM: (2383..2411)\n OPEN_PAREN: (2383..2384) \"(\"\n SYMBOL: (2384..2393)\n IDENTIFIER: (2384..2393) \"partition\"\n ATMOSPHERE: (2393..2394) \" \"\n SYMBOL: (2394..2399)\n IDENTIFIER: (2394..2399) \"pivot\"\n ATMOSPHERE: (2399..2400) \" \"\n FORM: (2400..2410)\n OPEN_PAREN: (2400..2401) \"(\"\n SYMBOL: (2401..2404)\n IDENTIFIER: (2401..2404) \"cdr\"\n ATMOSPHERE: (2404..2405) \" \"\n SYMBOL: (2405..2409)\n IDENTIFIER: (2405..2409) \"nums\"\n CLOSE_PAREN: (2409..2410) \")\"\n CLOSE_PAREN: (2410..2411) \")\"\n CLOSE_PAREN: (2411..2412) \")\"\n CLOSE_PAREN: (2412..2413) \")\"\n ATMOSPHERE: (2413..2434) \"\n \"\n FORM: (2434..2531)\n OPEN_PAREN: (2434..2435) \"(\"\n SYMBOL: (2435..2441)\n IDENTIFIER: (2435..2441) \"append\"\n ATMOSPHERE: (2441..2442) \" \"\n FORM: (2442..2467)\n OPEN_PAREN: (2442..2443) \"(\"\n SYMBOL: (2443..2448)\n IDENTIFIER: (2443..2448) \"qsort\"\n ATMOSPHERE: (2448..2449) \" \"\n FORM: (2449..2466)\n OPEN_PAREN: (2449..2450) \"(\"\n SYMBOL: (2450..2453)\n IDENTIFIER: (2450..2453) \"car\"\n ATMOSPHERE: (2453..2454) \" \"\n SYMBOL: (2454..2465)\n IDENTIFIER: (2454..2465) \"partitioned\"\n CLOSE_PAREN: (2465..2466) \")\"\n CLOSE_PAREN: (2466..2467) \")\"\n ATMOSPHERE: (2467..2492) \"\n \"\n FORM: (2492..2530)\n OPEN_PAREN: (2492..2493) \"(\"\n SYMBOL: (2493..2497)\n IDENTIFIER: (2493..2497) \"cons\"\n ATMOSPHERE: (2497..2498) \" \"\n SYMBOL: (2498..2503)\n IDENTIFIER: (2498..2503) \"pivot\"\n ATMOSPHERE: (2503..2504) \" \"\n FORM: (2504..2529)\n OPEN_PAREN: (2504..2505) \"(\"\n SYMBOL: (2505..2510)\n IDENTIFIER: (2505..2510) \"qsort\"\n ATMOSPHERE: (2510..2511) \" \"\n FORM: (2511..2528)\n OPEN_PAREN: (2511..2512) \"(\"\n SYMBOL: (2512..2515)\n IDENTIFIER: (2512..2515) \"cdr\"\n ATMOSPHERE: (2515..2516) \" \"\n SYMBOL: (2516..2527)\n IDENTIFIER: (2516..2527) \"partitioned\"\n CLOSE_PAREN: (2527..2528) \")\"\n CLOSE_PAREN: (2528..2529) \")\"\n CLOSE_PAREN: (2529..2530) \")\"\n CLOSE_PAREN: (2530..2531) \")\"\n CLOSE_PAREN: (2531..2532) \")\"\n CLOSE_PAREN: (2532..2533) \")\"\n CLOSE_PAREN: (2533..2534) \")\"\n ATMOSPHERE: (2534..2543) \"\n \"\n CLOSE_PAREN: (2543..2544) \")\"\n CLOSE_PAREN: (2544..2545) \")\"\n ATMOSPHERE: (2545..2547) \"\n\n\"\n FORM: (2547..2629)\n OPEN_PAREN: (2547..2548) \"(\"\n SYMBOL: (2548..2554)\n IDENTIFIER: (2548..2554) \"import\"\n ATMOSPHERE: (2554..2559) \"\n \"\n FORM: (2559..2572)\n OPEN_PAREN: (2559..2560) \"(\"\n SYMBOL: (2560..2566)\n IDENTIFIER: (2560..2566) \"scheme\"\n ATMOSPHERE: (2566..2567) \" \"\n SYMBOL: (2567..2571)\n IDENTIFIER: (2567..2571) \"base\"\n CLOSE_PAREN: (2571..2572) \")\"\n ATMOSPHERE: (2572..2577) \"\n \"\n FORM: (2577..2591)\n OPEN_PAREN: (2577..2578) \"(\"\n SYMBOL: (2578..2584)\n IDENTIFIER: (2578..2584) \"scheme\"\n ATMOSPHERE: (2584..2585) \" \"\n SYMBOL: (2585..2590)\n IDENTIFIER: (2585..2590) \"write\"\n CLOSE_PAREN: (2590..2591) \")\"\n ATMOSPHERE: (2591..2596) \"\n \"\n FORM: (2596..2628)\n OPEN_PAREN: (2596..2597) \"(\"\n SYMBOL: (2597..2603)\n IDENTIFIER: (2597..2603) \"rename\"\n ATMOSPHERE: (2603..2604) \" \"\n FORM: (2604..2610)\n OPEN_PAREN: (2604..2605) \"(\"\n SYMBOL: (2605..2609)\n IDENTIFIER: (2605..2609) \"sort\"\n CLOSE_PAREN: (2609..2610) \")\"\n ATMOSPHERE: (2610..2611) \" \"\n FORM: (2611..2627)\n OPEN_PAREN: (2611..2612) \"(\"\n SYMBOL: (2612..2616)\n IDENTIFIER: (2612..2616) \"sort\"\n ATMOSPHERE: (2616..2617) \" \"\n SYMBOL: (2617..2626)\n IDENTIFIER: (2617..2626) \"quicksort\"\n CLOSE_PAREN: (2626..2627) \")\"\n CLOSE_PAREN: (2627..2628) \")\"\n CLOSE_PAREN: (2628..2629) \")\"\n ATMOSPHERE: (2629..2631) \"\n\n\"\n FORM: (2631..2668)\n OPEN_PAREN: (2631..2632) \"(\"\n SYMBOL: (2632..2639)\n IDENTIFIER: (2632..2639) \"display\"\n ATMOSPHERE: (2639..2640) \" \"\n FORM: (2640..2667)\n OPEN_PAREN: (2640..2641) \"(\"\n SYMBOL: (2641..2650)\n IDENTIFIER: (2641..2650) \"quicksort\"\n ATMOSPHERE: (2650..2651) \" \"\n QUOTED_DATUM: (2651..2666)\n QUOTE: (2651..2652) \"'\"\n FORM: (2652..2666)\n OPEN_PAREN: (2652..2653) \"(\"\n CONSTANT: (2653..2655)\n NUMBER: (2653..2655) \"79\"\n ATMOSPHERE: (2655..2656) \" \"\n CONSTANT: (2656..2658)\n NUMBER: (2656..2658) \"23\"\n ATMOSPHERE: (2658..2659) \" \"\n CONSTANT: (2659..2661)\n NUMBER: (2659..2661) \"45\"\n ATMOSPHERE: (2661..2662) \" \"\n CONSTANT: (2662..2663)\n NUMBER: (2662..2663) \"6\"\n ATMOSPHERE: (2663..2664) \" \"\n CONSTANT: (2664..2665)\n NUMBER: (2664..2665) \"9\"\n CLOSE_PAREN: (2665..2666) \")\"\n CLOSE_PAREN: (2666..2667) \")\"\n CLOSE_PAREN: (2667..2668) \")\"\n FORM: (2668..2677)\n OPEN_PAREN: (2668..2669) \"(\"\n SYMBOL: (2669..2676)\n IDENTIFIER: (2669..2676) \"newline\"\n CLOSE_PAREN: (2676..2677) \")\"\n ATMOSPHERE: (2677..2678) \"\n\"\n FORM: (2678..2742)\n OPEN_PAREN: (2678..2679) \"(\"\n SYMBOL: (2679..2686)\n IDENTIFIER: (2679..2686) \"display\"\n ATMOSPHERE: (2686..2687) \" \"\n FORM: (2687..2741)\n OPEN_PAREN: (2687..2688) \"(\"\n SYMBOL: (2688..2697)\n IDENTIFIER: (2688..2697) \"quicksort\"\n ATMOSPHERE: (2697..2698) \" \"\n QUOTED_DATUM: (2698..2740)\n QUOTE: (2698..2699) \"'\"\n FORM: (2699..2740)\n OPEN_PAREN: (2699..2700) \"(\"\n CONSTANT: (2700..2701)\n NUMBER: (2700..2701) \"9\"\n ATMOSPHERE: (2701..2702) \" \"\n CONSTANT: (2702..2703)\n NUMBER: (2702..2703) \"8\"\n ATMOSPHERE: (2703..2704) \" \"\n CONSTANT: (2704..2705)\n NUMBER: (2704..2705) \"7\"\n ATMOSPHERE: (2705..2706) \" \"\n CONSTANT: (2706..2707)\n NUMBER: (2706..2707) \"6\"\n ATMOSPHERE: (2707..2708) \" \"\n CONSTANT: (2708..2709)\n NUMBER: (2708..2709) \"5\"\n ATMOSPHERE: (2709..2710) \" \"\n CONSTANT: (2710..2711)\n NUMBER: (2710..2711) \"4\"\n ATMOSPHERE: (2711..2712) \" \"\n CONSTANT: (2712..2713)\n NUMBER: (2712..2713) \"3\"\n ATMOSPHERE: (2713..2714) \" \"\n CONSTANT: (2714..2715)\n NUMBER: (2714..2715) \"2\"\n ATMOSPHERE: (2715..2716) \" \"\n CONSTANT: (2716..2717)\n NUMBER: (2716..2717) \"1\"\n ATMOSPHERE: (2717..2718) \" \"\n CONSTANT: (2718..2719)\n NUMBER: (2718..2719) \"0\"\n ATMOSPHERE: (2719..2720) \" \"\n CONSTANT: (2720..2721)\n NUMBER: (2720..2721) \"0\"\n ATMOSPHERE: (2721..2722) \" \"\n CONSTANT: (2722..2723)\n NUMBER: (2722..2723) \"1\"\n ATMOSPHERE: (2723..2724) \" \"\n CONSTANT: (2724..2725)\n NUMBER: (2724..2725) \"2\"\n ATMOSPHERE: (2725..2726) \" \"\n CONSTANT: (2726..2727)\n NUMBER: (2726..2727) \"3\"\n ATMOSPHERE: (2727..2728) \" \"\n CONSTANT: (2728..2729)\n NUMBER: (2728..2729) \"4\"\n ATMOSPHERE: (2729..2730) \" \"\n CONSTANT: (2730..2731)\n NUMBER: (2730..2731) \"5\"\n ATMOSPHERE: (2731..2732) \" \"\n CONSTANT: (2732..2733)\n NUMBER: (2732..2733) \"6\"\n ATMOSPHERE: (2733..2734) \" \"\n CONSTANT: (2734..2735)\n NUMBER: (2734..2735) \"7\"\n ATMOSPHERE: (2735..2736) \" \"\n CONSTANT: (2736..2737)\n NUMBER: (2736..2737) \"8\"\n ATMOSPHERE: (2737..2738) \" \"\n CONSTANT: (2738..2739)\n NUMBER: (2738..2739) \"9\"\n CLOSE_PAREN: (2739..2740) \")\"\n CLOSE_PAREN: (2740..2741) \")\"\n CLOSE_PAREN: (2741..2742) \")\"\n FORM: (2742..2751)\n OPEN_PAREN: (2742..2743) \"(\"\n SYMBOL: (2743..2750)\n IDENTIFIER: (2743..2750) \"newline\"\n CLOSE_PAREN: (2750..2751) \")\"\n ATMOSPHERE: (2751..2752) \"\n\"\n EOF: (2752..2752) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json b/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json deleted file mode 100644 index ef8169c..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_quotes.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..502)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..54)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n QUOTED_DATUM: (51..53)\n QUOTE: (51..52) \"'\"\n CONSTANT: (52..53)\n NUMBER: (52..53) \"1\"\n CLOSE_PAREN: (53..54) \")\"\n FORM: (54..63)\n OPEN_PAREN: (54..55) \"(\"\n SYMBOL: (55..62)\n IDENTIFIER: (55..62) \"newline\"\n CLOSE_PAREN: (62..63) \")\"\n ATMOSPHERE: (63..64) \"\n\"\n FORM: (64..88)\n OPEN_PAREN: (64..65) \"(\"\n SYMBOL: (65..72)\n IDENTIFIER: (65..72) \"display\"\n ATMOSPHERE: (72..73) \" \"\n QUOTED_DATUM: (73..87)\n QUOTE: (73..74) \"'\"\n CONSTANT: (74..87)\n STRING: (74..87) \"\"hello world\"\"\n CLOSE_PAREN: (87..88) \")\"\n FORM: (88..97)\n OPEN_PAREN: (88..89) \"(\"\n SYMBOL: (89..96)\n IDENTIFIER: (89..96) \"newline\"\n CLOSE_PAREN: (96..97) \")\"\n ATMOSPHERE: (97..98) \"\n\"\n FORM: (98..111)\n OPEN_PAREN: (98..99) \"(\"\n SYMBOL: (99..106)\n IDENTIFIER: (99..106) \"display\"\n ATMOSPHERE: (106..107) \" \"\n QUOTED_DATUM: (107..110)\n QUOTE: (107..108) \"'\"\n FORM: (108..110)\n OPEN_PAREN: (108..109) \"(\"\n CLOSE_PAREN: (109..110) \")\"\n CLOSE_PAREN: (110..111) \")\"\n FORM: (111..120)\n OPEN_PAREN: (111..112) \"(\"\n SYMBOL: (112..119)\n IDENTIFIER: (112..119) \"newline\"\n CLOSE_PAREN: (119..120) \")\"\n ATMOSPHERE: (120..121) \"\n\"\n FORM: (121..139)\n OPEN_PAREN: (121..122) \"(\"\n SYMBOL: (122..129)\n IDENTIFIER: (122..129) \"display\"\n ATMOSPHERE: (129..130) \" \"\n QUOTED_DATUM: (130..138)\n QUOTE: (130..131) \"'\"\n FORM: (131..138)\n OPEN_PAREN: (131..132) \"(\"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"1\"\n ATMOSPHERE: (133..134) \" \"\n CONSTANT: (134..135)\n NUMBER: (134..135) \"2\"\n ATMOSPHERE: (135..136) \" \"\n CONSTANT: (136..137)\n NUMBER: (136..137) \"3\"\n CLOSE_PAREN: (137..138) \")\"\n CLOSE_PAREN: (138..139) \")\"\n FORM: (139..148)\n OPEN_PAREN: (139..140) \"(\"\n SYMBOL: (140..147)\n IDENTIFIER: (140..147) \"newline\"\n CLOSE_PAREN: (147..148) \")\"\n ATMOSPHERE: (148..149) \"\n\"\n FORM: (149..168)\n OPEN_PAREN: (149..150) \"(\"\n SYMBOL: (150..157)\n IDENTIFIER: (150..157) \"display\"\n ATMOSPHERE: (157..158) \" \"\n FORM: (158..167)\n OPEN_PAREN: (158..159) \"(\"\n SYMBOL: (159..164)\n IDENTIFIER: (159..164) \"quote\"\n ATMOSPHERE: (164..165) \" \"\n CONSTANT: (165..166)\n NUMBER: (165..166) \"1\"\n CLOSE_PAREN: (166..167) \")\"\n CLOSE_PAREN: (167..168) \")\"\n FORM: (168..177)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..176)\n IDENTIFIER: (169..176) \"newline\"\n CLOSE_PAREN: (176..177) \")\"\n ATMOSPHERE: (177..178) \"\n\"\n FORM: (178..209)\n OPEN_PAREN: (178..179) \"(\"\n SYMBOL: (179..186)\n IDENTIFIER: (179..186) \"display\"\n ATMOSPHERE: (186..187) \" \"\n FORM: (187..208)\n OPEN_PAREN: (187..188) \"(\"\n SYMBOL: (188..193)\n IDENTIFIER: (188..193) \"quote\"\n ATMOSPHERE: (193..194) \" \"\n CONSTANT: (194..207)\n STRING: (194..207) \"\"hello world\"\"\n CLOSE_PAREN: (207..208) \")\"\n CLOSE_PAREN: (208..209) \")\"\n FORM: (209..218)\n OPEN_PAREN: (209..210) \"(\"\n SYMBOL: (210..217)\n IDENTIFIER: (210..217) \"newline\"\n CLOSE_PAREN: (217..218) \")\"\n ATMOSPHERE: (218..219) \"\n\"\n FORM: (219..239)\n OPEN_PAREN: (219..220) \"(\"\n SYMBOL: (220..227)\n IDENTIFIER: (220..227) \"display\"\n ATMOSPHERE: (227..228) \" \"\n FORM: (228..238)\n OPEN_PAREN: (228..229) \"(\"\n SYMBOL: (229..234)\n IDENTIFIER: (229..234) \"quote\"\n ATMOSPHERE: (234..235) \" \"\n FORM: (235..237)\n OPEN_PAREN: (235..236) \"(\"\n CLOSE_PAREN: (236..237) \")\"\n CLOSE_PAREN: (237..238) \")\"\n CLOSE_PAREN: (238..239) \")\"\n FORM: (239..248)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..247)\n IDENTIFIER: (240..247) \"newline\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..249) \"\n\"\n FORM: (249..274)\n OPEN_PAREN: (249..250) \"(\"\n SYMBOL: (250..257)\n IDENTIFIER: (250..257) \"display\"\n ATMOSPHERE: (257..258) \" \"\n FORM: (258..273)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..264)\n IDENTIFIER: (259..264) \"quote\"\n ATMOSPHERE: (264..265) \" \"\n FORM: (265..272)\n OPEN_PAREN: (265..266) \"(\"\n CONSTANT: (266..267)\n NUMBER: (266..267) \"1\"\n ATMOSPHERE: (267..268) \" \"\n CONSTANT: (268..269)\n NUMBER: (268..269) \"2\"\n ATMOSPHERE: (269..270) \" \"\n CONSTANT: (270..271)\n NUMBER: (270..271) \"3\"\n CLOSE_PAREN: (271..272) \")\"\n CLOSE_PAREN: (272..273) \")\"\n CLOSE_PAREN: (273..274) \")\"\n FORM: (274..283)\n OPEN_PAREN: (274..275) \"(\"\n SYMBOL: (275..282)\n IDENTIFIER: (275..282) \"newline\"\n CLOSE_PAREN: (282..283) \")\"\n ATMOSPHERE: (283..284) \"\n\"\n FORM: (284..313)\n OPEN_PAREN: (284..285) \"(\"\n SYMBOL: (285..292)\n IDENTIFIER: (285..292) \"display\"\n ATMOSPHERE: (292..293) \" \"\n FORM: (293..312)\n OPEN_PAREN: (293..294) \"(\"\n SYMBOL: (294..297)\n IDENTIFIER: (294..297) \"car\"\n ATMOSPHERE: (297..298) \" \"\n FORM: (298..311)\n OPEN_PAREN: (298..299) \"(\"\n SYMBOL: (299..302)\n IDENTIFIER: (299..302) \"cdr\"\n ATMOSPHERE: (302..303) \" \"\n QUOTED_DATUM: (303..310)\n QUOTE: (303..304) \"'\"\n QUOTED_DATUM: (304..310)\n QUOTE: (304..305) \"'\"\n QUOTED_DATUM: (305..310)\n QUOTE: (305..306) \"'\"\n QUOTED_DATUM: (306..310)\n QUOTE: (306..307) \"'\"\n CONSTANT: (307..310)\n NUMBER: (307..310) \"123\"\n CLOSE_PAREN: (310..311) \")\"\n CLOSE_PAREN: (311..312) \")\"\n CLOSE_PAREN: (312..313) \")\"\n FORM: (313..322)\n OPEN_PAREN: (313..314) \"(\"\n SYMBOL: (314..321)\n IDENTIFIER: (314..321) \"newline\"\n CLOSE_PAREN: (321..322) \")\"\n ATMOSPHERE: (322..323) \"\n\"\n FORM: (323..335)\n OPEN_PAREN: (323..324) \"(\"\n SYMBOL: (324..331)\n IDENTIFIER: (324..331) \"display\"\n ATMOSPHERE: (331..332) \" \"\n QUOTED_DATUM: (332..334)\n QUOTE: (332..333) \"'\"\n SYMBOL: (333..334)\n IDENTIFIER: (333..334) \"d\"\n CLOSE_PAREN: (334..335) \")\"\n FORM: (335..344)\n OPEN_PAREN: (335..336) \"(\"\n SYMBOL: (336..343)\n IDENTIFIER: (336..343) \"newline\"\n CLOSE_PAREN: (343..344) \")\"\n ATMOSPHERE: (344..345) \"\n\"\n FORM: (345..363)\n OPEN_PAREN: (345..346) \"(\"\n SYMBOL: (346..353)\n IDENTIFIER: (346..353) \"display\"\n ATMOSPHERE: (353..354) \" \"\n QUOTED_DATUM: (354..362)\n QUOTE: (354..355) \"'\"\n SYMBOL: (355..362)\n IDENTIFIER: (355..362) \"|\\x20;|\"\n CLOSE_PAREN: (362..363) \")\"\n FORM: (363..372)\n OPEN_PAREN: (363..364) \"(\"\n SYMBOL: (364..371)\n IDENTIFIER: (364..371) \"newline\"\n CLOSE_PAREN: (371..372) \")\"\n ATMOSPHERE: (372..373) \"\n\"\n FORM: (373..397)\n OPEN_PAREN: (373..374) \"(\"\n SYMBOL: (374..381)\n IDENTIFIER: (374..381) \"display\"\n ATMOSPHERE: (381..382) \" \"\n QUOTED_DATUM: (382..396)\n QUOTE: (382..383) \"'\"\n SYMBOL: (383..396)\n IDENTIFIER: (383..396) \"|test\\tident|\"\n CLOSE_PAREN: (396..397) \")\"\n FORM: (397..406)\n OPEN_PAREN: (397..398) \"(\"\n SYMBOL: (398..405)\n IDENTIFIER: (398..405) \"newline\"\n CLOSE_PAREN: (405..406) \")\"\n ATMOSPHERE: (406..407) \"\n\"\n FORM: (407..431)\n OPEN_PAREN: (407..408) \"(\"\n SYMBOL: (408..415)\n IDENTIFIER: (408..415) \"display\"\n ATMOSPHERE: (415..416) \" \"\n QUOTED_DATUM: (416..430)\n QUOTE: (416..417) \"'\"\n SYMBOL: (417..430)\n IDENTIFIER: (417..430) \"|hello world|\"\n CLOSE_PAREN: (430..431) \")\"\n FORM: (431..440)\n OPEN_PAREN: (431..432) \"(\"\n SYMBOL: (432..439)\n IDENTIFIER: (432..439) \"newline\"\n CLOSE_PAREN: (439..440) \")\"\n ATMOSPHERE: (440..441) \"\n\"\n FORM: (441..453)\n OPEN_PAREN: (441..442) \"(\"\n SYMBOL: (442..449)\n IDENTIFIER: (442..449) \"display\"\n ATMOSPHERE: (449..450) \" \"\n CONSTANT: (450..452)\n BOOLEAN: (450..452) \"#t\"\n CLOSE_PAREN: (452..453) \")\"\n FORM: (453..462)\n OPEN_PAREN: (453..454) \"(\"\n SYMBOL: (454..461)\n IDENTIFIER: (454..461) \"newline\"\n CLOSE_PAREN: (461..462) \")\"\n ATMOSPHERE: (462..463) \"\n\"\n FORM: (463..492)\n OPEN_PAREN: (463..464) \"(\"\n SYMBOL: (464..471)\n IDENTIFIER: (464..471) \"display\"\n ATMOSPHERE: (471..472) \" \"\n QUOTED_DATUM: (472..491)\n QUOTE: (472..473) \"’\"\n CONSTANT: (473..491)\n STRING: (473..491) \"\"funky-quote-char\"\"\n CLOSE_PAREN: (491..492) \")\"\n FORM: (492..501)\n OPEN_PAREN: (492..493) \"(\"\n SYMBOL: (493..500)\n IDENTIFIER: (493..500) \"newline\"\n CLOSE_PAREN: (500..501) \")\"\n ATMOSPHERE: (501..502) \"\n\"\n EOF: (502..502) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json b/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json deleted file mode 100644 index 98f0297..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_self-capture.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..818)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n ATMOSPHERE: (43..92) \";; Captured Local Compaction (shadow locals) Test\"\n ATMOSPHERE: (92..93) \"\n\"\n ATMOSPHERE: (93..94) \";\"\n ATMOSPHERE: (94..95) \"\n\"\n ATMOSPHERE: (95..174) \"; In this example `foo` has two locals. The first is the function `bar` and the\"\n ATMOSPHERE: (174..175) \"\n\"\n ATMOSPHERE: (175..248) \"; second is the initial value `baz`. Once we have performed free variable\"\n ATMOSPHERE: (248..249) \"\n\"\n ATMOSPHERE: (249..324) \"; analysis on the function we identify that `Local 0` (bar) is captured. We\"\n ATMOSPHERE: (324..325) \"\n\"\n ATMOSPHERE: (325..405) \"; want the Lower pass to re-write `baz` from `Local 1` down to `Local 0` in this\"\n ATMOSPHERE: (405..406) \"\n\"\n ATMOSPHERE: (406..484) \"; case, as well as re-writing the references to the captured value to the env.\"\n ATMOSPHERE: (484..485) \"\n\"\n ATMOSPHERE: (485..486) \";\"\n ATMOSPHERE: (486..487) \"\n\"\n ATMOSPHERE: (487..572) \"; captures, locals -- Lower --> captures, locals \"\n ATMOSPHERE: (572..573) \"\n\"\n FORM: (573..791)\n OPEN_PAREN: (573..574) \"(\"\n SYMBOL: (574..580)\n IDENTIFIER: (574..580) \"define\"\n ATMOSPHERE: (580..581) \" \"\n FORM: (581..586)\n OPEN_PAREN: (581..582) \"(\"\n SYMBOL: (582..585)\n IDENTIFIER: (582..585) \"foo\"\n CLOSE_PAREN: (585..586) \")\"\n ATMOSPHERE: (586..592) \" \"\n ATMOSPHERE: (592..637) \"; [], [Local 0; Local 1] -> [], [Local 0]\"\n ATMOSPHERE: (637..640) \"\n \"\n FORM: (640..760)\n OPEN_PAREN: (640..641) \"(\"\n SYMBOL: (641..647)\n IDENTIFIER: (641..647) \"define\"\n ATMOSPHERE: (647..648) \" \"\n FORM: (648..655)\n OPEN_PAREN: (648..649) \"(\"\n SYMBOL: (649..652)\n IDENTIFIER: (649..652) \"bar\"\n ATMOSPHERE: (652..653) \" \"\n SYMBOL: (653..654)\n IDENTIFIER: (653..654) \"x\"\n CLOSE_PAREN: (654..655) \")\"\n ATMOSPHERE: (655..657) \" \"\n ATMOSPHERE: (657..713) \"; [Local 0], [Arg 0] -> [Environment 0], [Arg 0]\"\n ATMOSPHERE: (713..718) \"\n \"\n FORM: (718..759)\n OPEN_PAREN: (718..719) \"(\"\n SYMBOL: (719..721)\n IDENTIFIER: (719..721) \"if\"\n ATMOSPHERE: (721..722) \" \"\n FORM: (722..730)\n OPEN_PAREN: (722..723) \"(\"\n SYMBOL: (723..724)\n IDENTIFIER: (723..724) \"<\"\n ATMOSPHERE: (724..725) \" \"\n SYMBOL: (725..726)\n IDENTIFIER: (725..726) \"x\"\n ATMOSPHERE: (726..727) \" \"\n CONSTANT: (727..729)\n NUMBER: (727..729) \"10\"\n CLOSE_PAREN: (729..730) \")\"\n ATMOSPHERE: (730..737) \"\n \"\n SYMBOL: (737..738)\n IDENTIFIER: (737..738) \"x\"\n ATMOSPHERE: (738..745) \"\n \"\n FORM: (745..758)\n OPEN_PAREN: (745..746) \"(\"\n SYMBOL: (746..749)\n IDENTIFIER: (746..749) \"bar\"\n ATMOSPHERE: (749..750) \" \"\n FORM: (750..757)\n OPEN_PAREN: (750..751) \"(\"\n SYMBOL: (751..752)\n IDENTIFIER: (751..752) \"-\"\n ATMOSPHERE: (752..753) \" \"\n SYMBOL: (753..754)\n IDENTIFIER: (753..754) \"x\"\n ATMOSPHERE: (754..755) \" \"\n CONSTANT: (755..756)\n NUMBER: (755..756) \"1\"\n CLOSE_PAREN: (756..757) \")\"\n CLOSE_PAREN: (757..758) \")\"\n CLOSE_PAREN: (758..759) \")\"\n CLOSE_PAREN: (759..760) \")\"\n ATMOSPHERE: (760..763) \"\n \"\n FORM: (763..778)\n OPEN_PAREN: (763..764) \"(\"\n SYMBOL: (764..770)\n IDENTIFIER: (764..770) \"define\"\n ATMOSPHERE: (770..771) \" \"\n SYMBOL: (771..774)\n IDENTIFIER: (771..774) \"baz\"\n ATMOSPHERE: (774..775) \" \"\n CONSTANT: (775..777)\n NUMBER: (775..777) \"10\"\n CLOSE_PAREN: (777..778) \")\"\n ATMOSPHERE: (778..781) \"\n \"\n FORM: (781..790)\n OPEN_PAREN: (781..782) \"(\"\n SYMBOL: (782..785)\n IDENTIFIER: (782..785) \"bar\"\n ATMOSPHERE: (785..786) \" \"\n SYMBOL: (786..789)\n IDENTIFIER: (786..789) \"baz\"\n CLOSE_PAREN: (789..790) \")\"\n CLOSE_PAREN: (790..791) \")\"\n ATMOSPHERE: (791..793) \"\n\n\"\n FORM: (793..808)\n OPEN_PAREN: (793..794) \"(\"\n SYMBOL: (794..801)\n IDENTIFIER: (794..801) \"display\"\n ATMOSPHERE: (801..802) \" \"\n FORM: (802..807)\n OPEN_PAREN: (802..803) \"(\"\n SYMBOL: (803..806)\n IDENTIFIER: (803..806) \"foo\"\n CLOSE_PAREN: (806..807) \")\"\n CLOSE_PAREN: (807..808) \")\"\n FORM: (808..817)\n OPEN_PAREN: (808..809) \"(\"\n SYMBOL: (809..816)\n IDENTIFIER: (809..816) \"newline\"\n CLOSE_PAREN: (816..817) \")\"\n ATMOSPHERE: (817..818) \"\n\"\n EOF: (818..818) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json b/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json deleted file mode 100644 index d1e003e..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_string-join.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..483)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..40) \"\n\"\n FORM: (40..300)\n OPEN_PAREN: (40..41) \"(\"\n SYMBOL: (41..47)\n IDENTIFIER: (41..47) \"define\"\n ATMOSPHERE: (47..48) \" \"\n FORM: (48..76)\n OPEN_PAREN: (48..49) \"(\"\n SYMBOL: (49..60)\n IDENTIFIER: (49..60) \"string-join\"\n ATMOSPHERE: (60..61) \" \"\n SYMBOL: (61..65)\n IDENTIFIER: (61..65) \"list\"\n ATMOSPHERE: (65..66) \" \"\n SYMBOL: (66..75)\n IDENTIFIER: (66..75) \"delimiter\"\n CLOSE_PAREN: (75..76) \")\"\n ATMOSPHERE: (76..79) \"\n \"\n FORM: (79..229)\n OPEN_PAREN: (79..80) \"(\"\n SYMBOL: (80..86)\n IDENTIFIER: (80..86) \"define\"\n ATMOSPHERE: (86..87) \" \"\n FORM: (87..115)\n OPEN_PAREN: (87..88) \"(\"\n SYMBOL: (88..102)\n IDENTIFIER: (88..102) \"string-join-to\"\n ATMOSPHERE: (102..103) \" \"\n SYMBOL: (103..109)\n IDENTIFIER: (103..109) \"result\"\n ATMOSPHERE: (109..110) \" \"\n SYMBOL: (110..114)\n IDENTIFIER: (110..114) \"list\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..120) \"\n \"\n FORM: (120..228)\n OPEN_PAREN: (120..121) \"(\"\n SYMBOL: (121..123)\n IDENTIFIER: (121..123) \"if\"\n ATMOSPHERE: (123..124) \" \"\n FORM: (124..136)\n OPEN_PAREN: (124..125) \"(\"\n SYMBOL: (125..130)\n IDENTIFIER: (125..130) \"null?\"\n ATMOSPHERE: (130..131) \" \"\n SYMBOL: (131..135)\n IDENTIFIER: (131..135) \"list\"\n CLOSE_PAREN: (135..136) \")\"\n ATMOSPHERE: (136..143) \"\n \"\n SYMBOL: (143..149)\n IDENTIFIER: (143..149) \"result\"\n ATMOSPHERE: (149..156) \"\n \"\n FORM: (156..227)\n OPEN_PAREN: (156..157) \"(\"\n SYMBOL: (157..171)\n IDENTIFIER: (157..171) \"string-join-to\"\n ATMOSPHERE: (171..172) \" \"\n FORM: (172..215)\n OPEN_PAREN: (172..173) \"(\"\n SYMBOL: (173..186)\n IDENTIFIER: (173..186) \"string-append\"\n ATMOSPHERE: (186..187) \" \"\n SYMBOL: (187..193)\n IDENTIFIER: (187..193) \"result\"\n ATMOSPHERE: (193..194) \" \"\n SYMBOL: (194..203)\n IDENTIFIER: (194..203) \"delimiter\"\n ATMOSPHERE: (203..204) \" \"\n FORM: (204..214)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..208)\n IDENTIFIER: (205..208) \"car\"\n ATMOSPHERE: (208..209) \" \"\n SYMBOL: (209..213)\n IDENTIFIER: (209..213) \"list\"\n CLOSE_PAREN: (213..214) \")\"\n CLOSE_PAREN: (214..215) \")\"\n ATMOSPHERE: (215..216) \" \"\n FORM: (216..226)\n OPEN_PAREN: (216..217) \"(\"\n SYMBOL: (217..220)\n IDENTIFIER: (217..220) \"cdr\"\n ATMOSPHERE: (220..221) \" \"\n SYMBOL: (221..225)\n IDENTIFIER: (221..225) \"list\"\n CLOSE_PAREN: (225..226) \")\"\n CLOSE_PAREN: (226..227) \")\"\n CLOSE_PAREN: (227..228) \")\"\n CLOSE_PAREN: (228..229) \")\"\n ATMOSPHERE: (229..232) \"\n \"\n FORM: (232..299)\n OPEN_PAREN: (232..233) \"(\"\n SYMBOL: (233..235)\n IDENTIFIER: (233..235) \"if\"\n ATMOSPHERE: (235..236) \" \"\n FORM: (236..248)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..242)\n IDENTIFIER: (237..242) \"null?\"\n ATMOSPHERE: (242..243) \" \"\n SYMBOL: (243..247)\n IDENTIFIER: (243..247) \"list\"\n CLOSE_PAREN: (247..248) \")\"\n ATMOSPHERE: (248..253) \"\n \"\n CONSTANT: (253..255)\n STRING: (253..255) \"\"\"\"\n ATMOSPHERE: (255..260) \"\n \"\n FORM: (260..298)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..275)\n IDENTIFIER: (261..275) \"string-join-to\"\n ATMOSPHERE: (275..276) \" \"\n FORM: (276..286)\n OPEN_PAREN: (276..277) \"(\"\n SYMBOL: (277..280)\n IDENTIFIER: (277..280) \"car\"\n ATMOSPHERE: (280..281) \" \"\n SYMBOL: (281..285)\n IDENTIFIER: (281..285) \"list\"\n CLOSE_PAREN: (285..286) \")\"\n ATMOSPHERE: (286..287) \" \"\n FORM: (287..297)\n OPEN_PAREN: (287..288) \"(\"\n SYMBOL: (288..291)\n IDENTIFIER: (288..291) \"cdr\"\n ATMOSPHERE: (291..292) \" \"\n SYMBOL: (292..296)\n IDENTIFIER: (292..296) \"list\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n CLOSE_PAREN: (298..299) \")\"\n CLOSE_PAREN: (299..300) \")\"\n ATMOSPHERE: (300..301) \"\n\"\n FORM: (301..360)\n OPEN_PAREN: (301..302) \"(\"\n SYMBOL: (302..309)\n IDENTIFIER: (302..309) \"display\"\n ATMOSPHERE: (309..310) \" \"\n FORM: (310..359)\n OPEN_PAREN: (310..311) \"(\"\n SYMBOL: (311..324)\n IDENTIFIER: (311..324) \"string-append\"\n ATMOSPHERE: (324..325) \" \"\n CONSTANT: (325..330)\n STRING: (325..330) \"\"<<{\"\"\n ATMOSPHERE: (330..331) \" \"\n FORM: (331..352)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..343)\n IDENTIFIER: (332..343) \"string-join\"\n ATMOSPHERE: (343..344) \" \"\n QUOTED_DATUM: (344..348)\n QUOTE: (344..345) \"'\"\n FORM: (345..347)\n OPEN_PAREN: (345..346) \"(\"\n CLOSE_PAREN: (346..347) \")\"\n ATMOSPHERE: (347..348) \" \"\n CONSTANT: (348..351)\n STRING: (348..351) \"\"-\"\"\n CLOSE_PAREN: (351..352) \")\"\n ATMOSPHERE: (352..353) \" \"\n CONSTANT: (353..358)\n STRING: (353..358) \"\"}>>\"\"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n FORM: (360..369)\n OPEN_PAREN: (360..361) \"(\"\n SYMBOL: (361..368)\n IDENTIFIER: (361..368) \"newline\"\n CLOSE_PAREN: (368..369) \")\"\n ATMOSPHERE: (369..370) \"\n\"\n FORM: (370..415)\n OPEN_PAREN: (370..371) \"(\"\n SYMBOL: (371..378)\n IDENTIFIER: (371..378) \"display\"\n ATMOSPHERE: (378..379) \" \"\n FORM: (379..414)\n OPEN_PAREN: (379..380) \"(\"\n SYMBOL: (380..391)\n IDENTIFIER: (380..391) \"string-join\"\n ATMOSPHERE: (391..392) \" \"\n FORM: (392..408)\n OPEN_PAREN: (392..393) \"(\"\n SYMBOL: (393..397)\n IDENTIFIER: (393..397) \"cons\"\n ATMOSPHERE: (397..398) \" \"\n CONSTANT: (398..403)\n STRING: (398..403) \"\"foo\"\"\n ATMOSPHERE: (403..404) \" \"\n QUOTED_DATUM: (404..407)\n QUOTE: (404..405) \"'\"\n FORM: (405..407)\n OPEN_PAREN: (405..406) \"(\"\n CLOSE_PAREN: (406..407) \")\"\n CLOSE_PAREN: (407..408) \")\"\n ATMOSPHERE: (408..409) \" \"\n CONSTANT: (409..413)\n STRING: (409..413) \"\"||\"\"\n CLOSE_PAREN: (413..414) \")\"\n CLOSE_PAREN: (414..415) \")\"\n FORM: (415..424)\n OPEN_PAREN: (415..416) \"(\"\n SYMBOL: (416..423)\n IDENTIFIER: (416..423) \"newline\"\n CLOSE_PAREN: (423..424) \")\"\n ATMOSPHERE: (424..425) \"\n\"\n FORM: (425..473)\n OPEN_PAREN: (425..426) \"(\"\n SYMBOL: (426..433)\n IDENTIFIER: (426..433) \"display\"\n ATMOSPHERE: (433..434) \" \"\n FORM: (434..472)\n OPEN_PAREN: (434..435) \"(\"\n SYMBOL: (435..446)\n IDENTIFIER: (435..446) \"string-join\"\n ATMOSPHERE: (446..447) \" \"\n QUOTED_DATUM: (447..468)\n QUOTE: (447..448) \"'\"\n FORM: (448..467)\n OPEN_PAREN: (448..449) \"(\"\n CONSTANT: (449..454)\n STRING: (449..454) \"\"foo\"\"\n ATMOSPHERE: (454..455) \" \"\n CONSTANT: (455..460)\n STRING: (455..460) \"\"bar\"\"\n ATMOSPHERE: (460..461) \" \"\n CONSTANT: (461..466)\n STRING: (461..466) \"\"baz\"\"\n CLOSE_PAREN: (466..467) \")\"\n ATMOSPHERE: (467..468) \" \"\n CONSTANT: (468..471)\n STRING: (468..471) \"\":\"\"\n CLOSE_PAREN: (471..472) \")\"\n CLOSE_PAREN: (472..473) \")\"\n FORM: (473..482)\n OPEN_PAREN: (473..474) \"(\"\n SYMBOL: (474..481)\n IDENTIFIER: (474..481) \"newline\"\n CLOSE_PAREN: (481..482) \")\"\n ATMOSPHERE: (482..483) \"\n\"\n EOF: (483..483) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_strings.scm.json b/test/Feersum.Tests/_snapshots/Parse_strings.scm.json deleted file mode 100644 index d72ba78..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_strings.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..33)\n CONSTANT: (0..13)\n STRING: (0..13) \"\"hello world\"\"\n ATMOSPHERE: (13..14) \"\n\"\n CONSTANT: (14..32)\n STRING: (14..32) \"\"stuff and things\"\"\n ATMOSPHERE: (32..33) \"\n\"\n EOF: (33..33) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json b/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json deleted file mode 100644 index 3be415f..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_swapit.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..403)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..115)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..50)\n IDENTIFIER: (44..50) \"define\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..64)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"swap\"\n ATMOSPHERE: (56..57) \" \"\n SYMBOL: (57..59)\n IDENTIFIER: (57..59) \"me\"\n ATMOSPHERE: (59..60) \" \"\n SYMBOL: (60..63)\n IDENTIFIER: (60..63) \"you\"\n CLOSE_PAREN: (63..64) \")\"\n ATMOSPHERE: (64..69) \"\n \"\n FORM: (69..114)\n OPEN_PAREN: (69..70) \"(\"\n SYMBOL: (70..73)\n IDENTIFIER: (70..73) \"let\"\n ATMOSPHERE: (73..74) \" \"\n FORM: (74..101)\n OPEN_PAREN: (74..75) \"(\"\n FORM: (75..83)\n OPEN_PAREN: (75..76) \"(\"\n SYMBOL: (76..78)\n IDENTIFIER: (76..78) \"me\"\n ATMOSPHERE: (78..79) \" \"\n SYMBOL: (79..82)\n IDENTIFIER: (79..82) \"you\"\n CLOSE_PAREN: (82..83) \")\"\n ATMOSPHERE: (83..92) \"\n \"\n FORM: (92..100)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..96)\n IDENTIFIER: (93..96) \"you\"\n ATMOSPHERE: (96..97) \" \"\n SYMBOL: (97..99)\n IDENTIFIER: (97..99) \"me\"\n CLOSE_PAREN: (99..100) \")\"\n CLOSE_PAREN: (100..101) \")\"\n ATMOSPHERE: (101..110) \"\n \"\n SYMBOL: (110..113)\n IDENTIFIER: (110..113) \"you\"\n CLOSE_PAREN: (113..114) \")\"\n CLOSE_PAREN: (114..115) \")\"\n ATMOSPHERE: (115..117) \"\n\n\"\n FORM: (117..340)\n OPEN_PAREN: (117..118) \"(\"\n SYMBOL: (118..121)\n IDENTIFIER: (118..121) \"let\"\n ATMOSPHERE: (121..122) \" \"\n FORM: (122..135)\n OPEN_PAREN: (122..123) \"(\"\n FORM: (123..128)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..125)\n IDENTIFIER: (124..125) \"x\"\n ATMOSPHERE: (125..126) \" \"\n CONSTANT: (126..127)\n NUMBER: (126..127) \"1\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..129) \" \"\n FORM: (129..134)\n OPEN_PAREN: (129..130) \"(\"\n SYMBOL: (130..131)\n IDENTIFIER: (130..131) \"y\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..133)\n NUMBER: (132..133) \"2\"\n CLOSE_PAREN: (133..134) \")\"\n CLOSE_PAREN: (134..135) \")\"\n ATMOSPHERE: (135..140) \"\n \"\n FORM: (140..298)\n OPEN_PAREN: (140..141) \"(\"\n SYMBOL: (141..154)\n IDENTIFIER: (141..154) \"define-syntax\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..160)\n IDENTIFIER: (155..160) \"swap!\"\n ATMOSPHERE: (160..169) \"\n \"\n FORM: (169..297)\n OPEN_PAREN: (169..170) \"(\"\n SYMBOL: (170..182)\n IDENTIFIER: (170..182) \"syntax-rules\"\n ATMOSPHERE: (182..183) \" \"\n FORM: (183..185)\n OPEN_PAREN: (183..184) \"(\"\n CLOSE_PAREN: (184..185) \")\"\n ATMOSPHERE: (185..198) \"\n \"\n FORM: (198..296)\n OPEN_PAREN: (198..199) \"(\"\n FORM: (199..210)\n OPEN_PAREN: (199..200) \"(\"\n SYMBOL: (200..205)\n IDENTIFIER: (200..205) \"swap!\"\n ATMOSPHERE: (205..206) \" \"\n SYMBOL: (206..207)\n IDENTIFIER: (206..207) \"a\"\n ATMOSPHERE: (207..208) \" \"\n SYMBOL: (208..209)\n IDENTIFIER: (208..209) \"b\"\n CLOSE_PAREN: (209..210) \")\"\n ATMOSPHERE: (210..224) \"\n \"\n FORM: (224..295)\n OPEN_PAREN: (224..225) \"(\"\n SYMBOL: (225..228)\n IDENTIFIER: (225..228) \"let\"\n ATMOSPHERE: (228..229) \" \"\n FORM: (229..238)\n OPEN_PAREN: (229..230) \"(\"\n FORM: (230..237)\n OPEN_PAREN: (230..231) \"(\"\n SYMBOL: (231..234)\n IDENTIFIER: (231..234) \"tmp\"\n ATMOSPHERE: (234..235) \" \"\n SYMBOL: (235..236)\n IDENTIFIER: (235..236) \"a\"\n CLOSE_PAREN: (236..237) \")\"\n CLOSE_PAREN: (237..238) \")\"\n ATMOSPHERE: (238..255) \"\n \"\n FORM: (255..265)\n OPEN_PAREN: (255..256) \"(\"\n SYMBOL: (256..260)\n IDENTIFIER: (256..260) \"set!\"\n ATMOSPHERE: (260..261) \" \"\n SYMBOL: (261..262)\n IDENTIFIER: (261..262) \"a\"\n ATMOSPHERE: (262..263) \" \"\n SYMBOL: (263..264)\n IDENTIFIER: (263..264) \"b\"\n CLOSE_PAREN: (264..265) \")\"\n ATMOSPHERE: (265..282) \"\n \"\n FORM: (282..294)\n OPEN_PAREN: (282..283) \"(\"\n SYMBOL: (283..287)\n IDENTIFIER: (283..287) \"set!\"\n ATMOSPHERE: (287..288) \" \"\n SYMBOL: (288..289)\n IDENTIFIER: (288..289) \"b\"\n ATMOSPHERE: (289..290) \" \"\n SYMBOL: (290..293)\n IDENTIFIER: (290..293) \"tmp\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n CLOSE_PAREN: (295..296) \")\"\n CLOSE_PAREN: (296..297) \")\"\n CLOSE_PAREN: (297..298) \")\"\n ATMOSPHERE: (298..303) \"\n \"\n FORM: (303..314)\n OPEN_PAREN: (303..304) \"(\"\n SYMBOL: (304..309)\n IDENTIFIER: (304..309) \"swap!\"\n ATMOSPHERE: (309..310) \" \"\n SYMBOL: (310..311)\n IDENTIFIER: (310..311) \"x\"\n ATMOSPHERE: (311..312) \" \"\n SYMBOL: (312..313)\n IDENTIFIER: (312..313) \"y\"\n CLOSE_PAREN: (313..314) \")\"\n ATMOSPHERE: (314..319) \"\n \"\n FORM: (319..339)\n OPEN_PAREN: (319..320) \"(\"\n SYMBOL: (320..327)\n IDENTIFIER: (320..327) \"display\"\n ATMOSPHERE: (327..328) \" \"\n FORM: (328..338)\n OPEN_PAREN: (328..329) \"(\"\n SYMBOL: (329..333)\n IDENTIFIER: (329..333) \"list\"\n ATMOSPHERE: (333..334) \" \"\n SYMBOL: (334..335)\n IDENTIFIER: (334..335) \"x\"\n ATMOSPHERE: (335..336) \" \"\n SYMBOL: (336..337)\n IDENTIFIER: (336..337) \"y\"\n CLOSE_PAREN: (337..338) \")\"\n CLOSE_PAREN: (338..339) \")\"\n CLOSE_PAREN: (339..340) \")\"\n ATMOSPHERE: (340..342) \"\n\n\"\n FORM: (342..376)\n OPEN_PAREN: (342..343) \"(\"\n SYMBOL: (343..350)\n IDENTIFIER: (343..350) \"display\"\n ATMOSPHERE: (350..351) \" \"\n FORM: (351..375)\n OPEN_PAREN: (351..352) \"(\"\n SYMBOL: (352..356)\n IDENTIFIER: (352..356) \"swap\"\n ATMOSPHERE: (356..357) \" \"\n CONSTANT: (357..365)\n STRING: (357..365) \"\"Fooble\"\"\n ATMOSPHERE: (365..366) \" \"\n CONSTANT: (366..374)\n STRING: (366..374) \"\"Barble\"\"\n CLOSE_PAREN: (374..375) \")\"\n CLOSE_PAREN: (375..376) \")\"\n ATMOSPHERE: (376..378) \"\n\n\"\n FORM: (378..403)\n OPEN_PAREN: (378..379) \"(\"\n SYMBOL: (379..380)\n IDENTIFIER: (379..380) \"=\"\n ATMOSPHERE: (380..381) \" \"\n FORM: (381..398)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..386)\n IDENTIFIER: (382..386) \"swap\"\n ATMOSPHERE: (386..387) \" \"\n CONSTANT: (387..390)\n NUMBER: (387..390) \"123\"\n ATMOSPHERE: (390..391) \" \"\n CONSTANT: (391..397)\n STRING: (391..397) \"\"Test\"\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..399) \" \"\n CONSTANT: (399..402)\n NUMBER: (399..402) \"123\"\n CLOSE_PAREN: (402..403) \")\"\n EOF: (403..403) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json b/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json deleted file mode 100644 index 96ad499..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_symbols.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..792)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..231)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..230)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..61) \"\n \"\n FORM: (61..75)\n OPEN_PAREN: (61..62) \"(\"\n SYMBOL: (62..69)\n IDENTIFIER: (62..69) \"symbol?\"\n ATMOSPHERE: (69..70) \" \"\n QUOTED_DATUM: (70..74)\n QUOTE: (70..71) \"’\"\n SYMBOL: (71..74)\n IDENTIFIER: (71..74) \"foo\"\n CLOSE_PAREN: (74..75) \")\"\n ATMOSPHERE: (75..76) \" \"\n ATMOSPHERE: (76..83) \"; -> #t\"\n ATMOSPHERE: (83..88) \"\n \"\n FORM: (88..110)\n OPEN_PAREN: (88..89) \"(\"\n SYMBOL: (89..96)\n IDENTIFIER: (89..96) \"symbol?\"\n ATMOSPHERE: (96..97) \" \"\n FORM: (97..109)\n OPEN_PAREN: (97..98) \"(\"\n SYMBOL: (98..101)\n IDENTIFIER: (98..101) \"car\"\n ATMOSPHERE: (101..102) \" \"\n QUOTED_DATUM: (102..108)\n QUOTE: (102..103) \"’\"\n FORM: (103..108)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..105)\n IDENTIFIER: (104..105) \"a\"\n ATMOSPHERE: (105..106) \" \"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"b\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n CLOSE_PAREN: (109..110) \")\"\n ATMOSPHERE: (110..111) \" \"\n ATMOSPHERE: (111..118) \"; -> #t\"\n ATMOSPHERE: (118..123) \"\n \"\n FORM: (123..138)\n OPEN_PAREN: (123..124) \"(\"\n SYMBOL: (124..131)\n IDENTIFIER: (124..131) \"symbol?\"\n ATMOSPHERE: (131..132) \" \"\n CONSTANT: (132..137)\n STRING: (132..137) \"\"bar\"\"\n CLOSE_PAREN: (137..138) \")\"\n ATMOSPHERE: (138..139) \" \"\n ATMOSPHERE: (139..146) \"; -> #f\"\n ATMOSPHERE: (146..151) \"\n \"\n FORM: (151..165)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..159)\n IDENTIFIER: (152..159) \"symbol?\"\n ATMOSPHERE: (159..160) \" \"\n QUOTED_DATUM: (160..164)\n QUOTE: (160..161) \"’\"\n SYMBOL: (161..164)\n IDENTIFIER: (161..164) \"nil\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..166) \" \"\n ATMOSPHERE: (166..173) \"; -> #t\"\n ATMOSPHERE: (173..178) \"\n \"\n FORM: (178..191)\n OPEN_PAREN: (178..179) \"(\"\n SYMBOL: (179..186)\n IDENTIFIER: (179..186) \"symbol?\"\n ATMOSPHERE: (186..187) \" \"\n QUOTED_DATUM: (187..190)\n QUOTE: (187..188) \"’\"\n FORM: (188..190)\n OPEN_PAREN: (188..189) \"(\"\n CLOSE_PAREN: (189..190) \")\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..192) \" \"\n ATMOSPHERE: (192..199) \"; -> #f\"\n ATMOSPHERE: (199..204) \"\n \"\n FORM: (204..216)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..212)\n IDENTIFIER: (205..212) \"symbol?\"\n ATMOSPHERE: (212..213) \" \"\n CONSTANT: (213..215)\n BOOLEAN: (213..215) \"#f\"\n CLOSE_PAREN: (215..216) \")\"\n ATMOSPHERE: (216..217) \" \"\n ATMOSPHERE: (217..224) \"; -> #f\"\n ATMOSPHERE: (224..229) \"\n \"\n CLOSE_PAREN: (229..230) \")\"\n CLOSE_PAREN: (230..231) \")\"\n FORM: (231..240)\n OPEN_PAREN: (231..232) \"(\"\n SYMBOL: (232..239)\n IDENTIFIER: (232..239) \"newline\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..241) \"\n\"\n FORM: (241..326)\n OPEN_PAREN: (241..242) \"(\"\n SYMBOL: (242..249)\n IDENTIFIER: (242..249) \"display\"\n ATMOSPHERE: (249..250) \" \"\n FORM: (250..325)\n OPEN_PAREN: (250..251) \"(\"\n SYMBOL: (251..255)\n IDENTIFIER: (251..255) \"list\"\n ATMOSPHERE: (255..260) \"\n \"\n FORM: (260..291)\n OPEN_PAREN: (260..261) \"(\"\n SYMBOL: (261..269)\n IDENTIFIER: (261..269) \"symbol=?\"\n ATMOSPHERE: (269..270) \" \"\n QUOTED_DATUM: (270..277)\n QUOTE: (270..271) \"'\"\n SYMBOL: (271..276)\n IDENTIFIER: (271..276) \"hello\"\n ATMOSPHERE: (276..277) \" \"\n QUOTED_DATUM: (277..284)\n QUOTE: (277..278) \"'\"\n SYMBOL: (278..283)\n IDENTIFIER: (278..283) \"hello\"\n ATMOSPHERE: (283..284) \" \"\n QUOTED_DATUM: (284..290)\n QUOTE: (284..285) \"'\"\n SYMBOL: (285..290)\n IDENTIFIER: (285..290) \"hello\"\n CLOSE_PAREN: (290..291) \")\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..319)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..305)\n IDENTIFIER: (297..305) \"symbol=?\"\n ATMOSPHERE: (305..306) \" \"\n CONSTANT: (306..312)\n STRING: (306..312) \"\"nope\"\"\n ATMOSPHERE: (312..313) \" \"\n QUOTED_DATUM: (313..318)\n QUOTE: (313..314) \"'\"\n SYMBOL: (314..318)\n IDENTIFIER: (314..318) \"nope\"\n CLOSE_PAREN: (318..319) \")\"\n ATMOSPHERE: (319..324) \"\n \"\n CLOSE_PAREN: (324..325) \")\"\n CLOSE_PAREN: (325..326) \")\"\n FORM: (326..335)\n OPEN_PAREN: (326..327) \"(\"\n SYMBOL: (327..334)\n IDENTIFIER: (327..334) \"newline\"\n CLOSE_PAREN: (334..335) \")\"\n ATMOSPHERE: (335..336) \"\n\"\n FORM: (336..783)\n OPEN_PAREN: (336..337) \"(\"\n SYMBOL: (337..344)\n IDENTIFIER: (337..344) \"display\"\n ATMOSPHERE: (344..345) \" \"\n FORM: (345..782)\n OPEN_PAREN: (345..346) \"(\"\n SYMBOL: (346..350)\n IDENTIFIER: (346..350) \"list\"\n ATMOSPHERE: (350..355) \"\n \"\n FORM: (355..384)\n OPEN_PAREN: (355..356) \"(\"\n SYMBOL: (356..370)\n IDENTIFIER: (356..370) \"symbol->string\"\n ATMOSPHERE: (370..371) \" \"\n QUOTED_DATUM: (371..383)\n QUOTE: (371..372) \"’\"\n SYMBOL: (372..383)\n IDENTIFIER: (372..383) \"flying-fish\"\n CLOSE_PAREN: (383..384) \")\"\n ATMOSPHERE: (384..385) \" \"\n ATMOSPHERE: (385..403) \"; -> \"flying-fish\"\"\n ATMOSPHERE: (403..408) \"\n \"\n FORM: (408..432)\n OPEN_PAREN: (408..409) \"(\"\n SYMBOL: (409..423)\n IDENTIFIER: (409..423) \"symbol->string\"\n ATMOSPHERE: (423..424) \" \"\n QUOTED_DATUM: (424..431)\n QUOTE: (424..425) \"’\"\n SYMBOL: (425..431)\n IDENTIFIER: (425..431) \"Martin\"\n CLOSE_PAREN: (431..432) \")\"\n ATMOSPHERE: (432..433) \" \"\n ATMOSPHERE: (433..446) \"; -> \"Martin\"\"\n ATMOSPHERE: (446..451) \"\n \"\n FORM: (451..494)\n OPEN_PAREN: (451..452) \"(\"\n SYMBOL: (452..466)\n IDENTIFIER: (452..466) \"symbol->string\"\n ATMOSPHERE: (466..467) \" \"\n FORM: (467..493)\n OPEN_PAREN: (467..468) \"(\"\n SYMBOL: (468..482)\n IDENTIFIER: (468..482) \"string->symbol\"\n ATMOSPHERE: (482..483) \" \"\n CONSTANT: (483..492)\n STRING: (483..492) \"\"Malvina\"\"\n CLOSE_PAREN: (492..493) \")\"\n CLOSE_PAREN: (493..494) \")\"\n ATMOSPHERE: (494..495) \" \"\n ATMOSPHERE: (495..509) \"; -> \"Malvina\"\"\n ATMOSPHERE: (509..514) \"\n \"\n FORM: (514..544)\n OPEN_PAREN: (514..515) \"(\"\n SYMBOL: (515..529)\n IDENTIFIER: (515..529) \"string->symbol\"\n ATMOSPHERE: (529..530) \" \"\n CONSTANT: (530..543)\n STRING: (530..543) \"\"mISSISSIppi\"\"\n CLOSE_PAREN: (543..544) \")\"\n ATMOSPHERE: (544..545) \" \"\n ATMOSPHERE: (545..561) \"; -> mISSISSIppi\"\n ATMOSPHERE: (561..566) \"\n \"\n FORM: (566..606)\n OPEN_PAREN: (566..567) \"(\"\n SYMBOL: (567..571)\n IDENTIFIER: (567..571) \"eqv?\"\n ATMOSPHERE: (571..572) \" \"\n QUOTED_DATUM: (572..580)\n QUOTE: (572..573) \"’\"\n SYMBOL: (573..579)\n IDENTIFIER: (573..579) \"bitBlt\"\n ATMOSPHERE: (579..580) \" \"\n FORM: (580..605)\n OPEN_PAREN: (580..581) \"(\"\n SYMBOL: (581..595)\n IDENTIFIER: (581..595) \"string->symbol\"\n ATMOSPHERE: (595..596) \" \"\n CONSTANT: (596..604)\n STRING: (596..604) \"\"bitBlt\"\"\n CLOSE_PAREN: (604..605) \")\"\n CLOSE_PAREN: (605..606) \")\"\n ATMOSPHERE: (606..607) \" \"\n ATMOSPHERE: (607..614) \"; -> #t\"\n ATMOSPHERE: (614..619) \"\n \"\n FORM: (619..677)\n OPEN_PAREN: (619..620) \"(\"\n SYMBOL: (620..624)\n IDENTIFIER: (620..624) \"eqv?\"\n ATMOSPHERE: (624..625) \" \"\n QUOTED_DATUM: (625..634)\n QUOTE: (625..626) \"’\"\n SYMBOL: (626..634)\n IDENTIFIER: (626..634) \"LollyPop\"\n FORM: (634..676)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..649)\n IDENTIFIER: (635..649) \"string->symbol\"\n FORM: (649..675)\n OPEN_PAREN: (649..650) \"(\"\n SYMBOL: (650..664)\n IDENTIFIER: (650..664) \"symbol->string\"\n ATMOSPHERE: (664..665) \" \"\n QUOTED_DATUM: (665..674)\n QUOTE: (665..666) \"’\"\n SYMBOL: (666..674)\n IDENTIFIER: (666..674) \"LollyPop\"\n CLOSE_PAREN: (674..675) \")\"\n CLOSE_PAREN: (675..676) \")\"\n CLOSE_PAREN: (676..677) \")\"\n ATMOSPHERE: (677..678) \" \"\n ATMOSPHERE: (678..685) \"; -> #t\"\n ATMOSPHERE: (685..690) \"\n \"\n FORM: (690..768)\n OPEN_PAREN: (690..691) \"(\"\n SYMBOL: (691..699)\n IDENTIFIER: (691..699) \"string=?\"\n ATMOSPHERE: (699..700) \" \"\n CONSTANT: (700..717)\n STRING: (700..717) \"\"K. Harper, M.D.\"\"\n FORM: (717..767)\n OPEN_PAREN: (717..718) \"(\"\n SYMBOL: (718..732)\n IDENTIFIER: (718..732) \"symbol->string\"\n FORM: (732..766)\n OPEN_PAREN: (732..733) \"(\"\n SYMBOL: (733..747)\n IDENTIFIER: (733..747) \"string->symbol\"\n ATMOSPHERE: (747..748) \" \"\n CONSTANT: (748..765)\n STRING: (748..765) \"\"K. Harper, M.D.\"\"\n CLOSE_PAREN: (765..766) \")\"\n CLOSE_PAREN: (766..767) \")\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..769) \" \"\n ATMOSPHERE: (769..776) \"; -> #t\"\n ATMOSPHERE: (776..781) \"\n \"\n CLOSE_PAREN: (781..782) \")\"\n CLOSE_PAREN: (782..783) \")\"\n FORM: (783..792)\n OPEN_PAREN: (783..784) \"(\"\n SYMBOL: (784..791)\n IDENTIFIER: (784..791) \"newline\"\n CLOSE_PAREN: (791..792) \")\"\n EOF: (792..792) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_tail.scm.json b/test/Feersum.Tests/_snapshots/Parse_tail.scm.json deleted file mode 100644 index 5399b53..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_tail.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..986)\n FORM: (0..211)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n ATMOSPHERE: (26..93) \";; FIXME: we shouldn't _need_ to import this, but we have no way of\"\n ATMOSPHERE: (93..98) \"\n \"\n ATMOSPHERE: (98..162) \";; exporting or re-exporting macro definitions currently.\"\n ATMOSPHERE: (162..167) \"\n \"\n FORM: (167..191)\n OPEN_PAREN: (167..168) \"(\"\n SYMBOL: (168..175)\n IDENTIFIER: (168..175) \"feersum\"\n ATMOSPHERE: (175..176) \" \"\n SYMBOL: (176..183)\n IDENTIFIER: (176..183) \"builtin\"\n ATMOSPHERE: (183..184) \" \"\n SYMBOL: (184..190)\n IDENTIFIER: (184..190) \"macros\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..210)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..203)\n IDENTIFIER: (197..203) \"scheme\"\n ATMOSPHERE: (203..204) \" \"\n SYMBOL: (204..209)\n IDENTIFIER: (204..209) \"write\"\n CLOSE_PAREN: (209..210) \")\"\n CLOSE_PAREN: (210..211) \")\"\n ATMOSPHERE: (211..213) \"\n\n\"\n ATMOSPHERE: (213..275) \";; Without proper tail recursion this will overflow the stack:\"\n ATMOSPHERE: (275..276) \"\n\"\n ATMOSPHERE: (276..277) \";\"\n ATMOSPHERE: (277..278) \"\n\"\n ATMOSPHERE: (278..296) \"; ! stack overflow\"\n ATMOSPHERE: (296..297) \"\n\"\n ATMOSPHERE: (297..343) \"; [ping] -> [ping] -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (343..344) \"\n\"\n ATMOSPHERE: (344..350) \"; ....\"\n ATMOSPHERE: (350..351) \"\n\"\n ATMOSPHERE: (351..397) \"; -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (397..398) \"\n\"\n ATMOSPHERE: (398..444) \"; -> [pong] -> [pong] -> ... -> [pong]\"\n ATMOSPHERE: (444..445) \"\n\"\n ATMOSPHERE: (445..491) \"; [ping] -> [ping] -> [ping] -> ... -> [ping]\"\n ATMOSPHERE: (491..493) \"\n\n\"\n ATMOSPHERE: (493..552) \";; With proper tail recursive calls stack use is constant: \"\n ATMOSPHERE: (552..553) \"\n\"\n ATMOSPHERE: (553..591) \"; [ping] -> [pong] -> [ping] -> [pong]\"\n ATMOSPHERE: (591..593) \"\n\n\"\n FORM: (593..756)\n OPEN_PAREN: (593..594) \"(\"\n SYMBOL: (594..601)\n IDENTIFIER: (594..601) \"display\"\n ATMOSPHERE: (601..605) \" \n \"\n FORM: (605..755)\n OPEN_PAREN: (605..606) \"(\"\n SYMBOL: (606..612)\n IDENTIFIER: (606..612) \"letrec\"\n ATMOSPHERE: (612..613) \" \"\n FORM: (613..738)\n OPEN_PAREN: (613..614) \"(\"\n FORM: (614..644)\n OPEN_PAREN: (614..615) \"(\"\n SYMBOL: (615..619)\n IDENTIFIER: (615..619) \"ping\"\n ATMOSPHERE: (619..620) \" \"\n FORM: (620..643)\n OPEN_PAREN: (620..621) \"(\"\n SYMBOL: (621..627)\n IDENTIFIER: (621..627) \"lambda\"\n ATMOSPHERE: (627..628) \" \"\n FORM: (628..631)\n OPEN_PAREN: (628..629) \"(\"\n SYMBOL: (629..630)\n IDENTIFIER: (629..630) \"x\"\n CLOSE_PAREN: (630..631) \")\"\n ATMOSPHERE: (631..634) \"\n \"\n FORM: (634..642)\n OPEN_PAREN: (634..635) \"(\"\n SYMBOL: (635..639)\n IDENTIFIER: (635..639) \"pong\"\n ATMOSPHERE: (639..640) \" \"\n SYMBOL: (640..641)\n IDENTIFIER: (640..641) \"x\"\n CLOSE_PAREN: (641..642) \")\"\n CLOSE_PAREN: (642..643) \")\"\n CLOSE_PAREN: (643..644) \")\"\n ATMOSPHERE: (644..654) \"\n \"\n FORM: (654..737)\n OPEN_PAREN: (654..655) \"(\"\n SYMBOL: (655..659)\n IDENTIFIER: (655..659) \"pong\"\n ATMOSPHERE: (659..660) \" \"\n FORM: (660..736)\n OPEN_PAREN: (660..661) \"(\"\n SYMBOL: (661..667)\n IDENTIFIER: (661..667) \"lambda\"\n ATMOSPHERE: (667..668) \" \"\n FORM: (668..671)\n OPEN_PAREN: (668..669) \"(\"\n SYMBOL: (669..670)\n IDENTIFIER: (669..670) \"x\"\n CLOSE_PAREN: (670..671) \")\"\n ATMOSPHERE: (671..682) \"\n \"\n FORM: (682..735)\n OPEN_PAREN: (682..683) \"(\"\n SYMBOL: (683..685)\n IDENTIFIER: (683..685) \"if\"\n ATMOSPHERE: (685..686) \" \"\n FORM: (686..693)\n OPEN_PAREN: (686..687) \"(\"\n SYMBOL: (687..688)\n IDENTIFIER: (687..688) \">\"\n ATMOSPHERE: (688..689) \" \"\n CONSTANT: (689..690)\n NUMBER: (689..690) \"0\"\n ATMOSPHERE: (690..691) \" \"\n SYMBOL: (691..692)\n IDENTIFIER: (691..692) \"x\"\n CLOSE_PAREN: (692..693) \")\"\n ATMOSPHERE: (693..706) \"\n \"\n SYMBOL: (706..707)\n IDENTIFIER: (706..707) \"x\"\n ATMOSPHERE: (707..720) \"\n \"\n FORM: (720..734)\n OPEN_PAREN: (720..721) \"(\"\n SYMBOL: (721..725)\n IDENTIFIER: (721..725) \"ping\"\n ATMOSPHERE: (725..726) \" \"\n FORM: (726..733)\n OPEN_PAREN: (726..727) \"(\"\n SYMBOL: (727..728)\n IDENTIFIER: (727..728) \"-\"\n ATMOSPHERE: (728..729) \" \"\n SYMBOL: (729..730)\n IDENTIFIER: (729..730) \"x\"\n ATMOSPHERE: (730..731) \" \"\n CONSTANT: (731..732)\n NUMBER: (731..732) \"1\"\n CLOSE_PAREN: (732..733) \")\"\n CLOSE_PAREN: (733..734) \")\"\n CLOSE_PAREN: (734..735) \")\"\n CLOSE_PAREN: (735..736) \")\"\n CLOSE_PAREN: (736..737) \")\"\n CLOSE_PAREN: (737..738) \")\"\n ATMOSPHERE: (738..741) \"\n \"\n FORM: (741..754)\n OPEN_PAREN: (741..742) \"(\"\n SYMBOL: (742..746)\n IDENTIFIER: (742..746) \"ping\"\n ATMOSPHERE: (746..747) \" \"\n CONSTANT: (747..753)\n NUMBER: (747..753) \"100000\"\n CLOSE_PAREN: (753..754) \")\"\n CLOSE_PAREN: (754..755) \")\"\n CLOSE_PAREN: (755..756) \")\"\n ATMOSPHERE: (756..759) \"\n\n\n\"\n FORM: (759..768)\n OPEN_PAREN: (759..760) \"(\"\n SYMBOL: (760..767)\n IDENTIFIER: (760..767) \"newline\"\n CLOSE_PAREN: (767..768) \")\"\n ATMOSPHERE: (768..770) \"\n\n\"\n ATMOSPHERE: (770..823) \"; Tail context should flow into `and` and `or` macros\"\n ATMOSPHERE: (823..824) \"\n\"\n FORM: (824..985)\n OPEN_PAREN: (824..825) \"(\"\n SYMBOL: (825..832)\n IDENTIFIER: (825..832) \"display\"\n ATMOSPHERE: (832..835) \"\n \"\n FORM: (835..984)\n OPEN_PAREN: (835..836) \"(\"\n SYMBOL: (836..842)\n IDENTIFIER: (836..842) \"letrec\"\n ATMOSPHERE: (842..847) \"\n \"\n FORM: (847..967)\n OPEN_PAREN: (847..848) \"(\"\n FORM: (848..966)\n OPEN_PAREN: (848..849) \"(\"\n SYMBOL: (849..852)\n IDENTIFIER: (849..852) \"foo\"\n ATMOSPHERE: (852..853) \" \"\n FORM: (853..965)\n OPEN_PAREN: (853..854) \"(\"\n SYMBOL: (854..860)\n IDENTIFIER: (854..860) \"lambda\"\n ATMOSPHERE: (860..861) \" \"\n FORM: (861..864)\n OPEN_PAREN: (861..862) \"(\"\n SYMBOL: (862..863)\n IDENTIFIER: (862..863) \"x\"\n CLOSE_PAREN: (863..864) \")\"\n ATMOSPHERE: (864..872) \"\n \"\n FORM: (872..964)\n OPEN_PAREN: (872..873) \"(\"\n SYMBOL: (873..876)\n IDENTIFIER: (873..876) \"and\"\n ATMOSPHERE: (876..877) \" \"\n CONSTANT: (877..879)\n BOOLEAN: (877..879) \"#t\"\n ATMOSPHERE: (879..889) \"\n \"\n FORM: (889..963)\n OPEN_PAREN: (889..890) \"(\"\n SYMBOL: (890..892)\n IDENTIFIER: (890..892) \"or\"\n ATMOSPHERE: (892..893) \" \"\n CONSTANT: (893..895)\n BOOLEAN: (893..895) \"#f\"\n ATMOSPHERE: (895..907) \"\n \"\n FORM: (907..962)\n OPEN_PAREN: (907..908) \"(\"\n SYMBOL: (908..910)\n IDENTIFIER: (908..910) \"if\"\n ATMOSPHERE: (910..911) \" \"\n FORM: (911..918)\n OPEN_PAREN: (911..912) \"(\"\n SYMBOL: (912..913)\n IDENTIFIER: (912..913) \">\"\n ATMOSPHERE: (913..914) \" \"\n CONSTANT: (914..915)\n NUMBER: (914..915) \"0\"\n ATMOSPHERE: (915..916) \" \"\n SYMBOL: (916..917)\n IDENTIFIER: (916..917) \"x\"\n CLOSE_PAREN: (917..918) \")\"\n ATMOSPHERE: (918..932) \"\n \"\n CONSTANT: (932..934)\n BOOLEAN: (932..934) \"#t\"\n ATMOSPHERE: (934..948) \"\n \"\n FORM: (948..961)\n OPEN_PAREN: (948..949) \"(\"\n SYMBOL: (949..952)\n IDENTIFIER: (949..952) \"foo\"\n ATMOSPHERE: (952..953) \" \"\n FORM: (953..960)\n OPEN_PAREN: (953..954) \"(\"\n SYMBOL: (954..955)\n IDENTIFIER: (954..955) \"-\"\n ATMOSPHERE: (955..956) \" \"\n SYMBOL: (956..957)\n IDENTIFIER: (956..957) \"x\"\n ATMOSPHERE: (957..958) \" \"\n CONSTANT: (958..959)\n NUMBER: (958..959) \"1\"\n CLOSE_PAREN: (959..960) \")\"\n CLOSE_PAREN: (960..961) \")\"\n CLOSE_PAREN: (961..962) \")\"\n CLOSE_PAREN: (962..963) \")\"\n CLOSE_PAREN: (963..964) \")\"\n CLOSE_PAREN: (964..965) \")\"\n CLOSE_PAREN: (965..966) \")\"\n CLOSE_PAREN: (966..967) \")\"\n ATMOSPHERE: (967..971) \"\n \"\n FORM: (971..983)\n OPEN_PAREN: (971..972) \"(\"\n SYMBOL: (972..975)\n IDENTIFIER: (972..975) \"foo\"\n ATMOSPHERE: (975..976) \" \"\n CONSTANT: (976..982)\n NUMBER: (976..982) \"100000\"\n CLOSE_PAREN: (982..983) \")\"\n CLOSE_PAREN: (983..984) \")\"\n CLOSE_PAREN: (984..985) \")\"\n ATMOSPHERE: (985..986) \"\n\"\n EOF: (986..986) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_time.scm.json b/test/Feersum.Tests/_snapshots/Parse_time.scm.json deleted file mode 100644 index 9bb69cc..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_time.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..265)\n FORM: (0..55)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n ATMOSPHERE: (38..41) \"\n \"\n FORM: (41..54)\n OPEN_PAREN: (41..42) \"(\"\n SYMBOL: (42..48)\n IDENTIFIER: (42..48) \"scheme\"\n ATMOSPHERE: (48..49) \" \"\n SYMBOL: (49..53)\n IDENTIFIER: (49..53) \"time\"\n CLOSE_PAREN: (53..54) \")\"\n CLOSE_PAREN: (54..55) \")\"\n ATMOSPHERE: (55..57) \"\n\n\"\n FORM: (57..224)\n OPEN_PAREN: (57..58) \"(\"\n SYMBOL: (58..64)\n IDENTIFIER: (58..64) \"define\"\n ATMOSPHERE: (64..65) \" \"\n FORM: (65..80)\n OPEN_PAREN: (65..66) \"(\"\n SYMBOL: (66..77)\n IDENTIFIER: (66..77) \"time-length\"\n ATMOSPHERE: (77..78) \" \"\n SYMBOL: (78..79)\n IDENTIFIER: (78..79) \"x\"\n CLOSE_PAREN: (79..80) \")\"\n ATMOSPHERE: (80..83) \"\n \"\n FORM: (83..223)\n OPEN_PAREN: (83..84) \"(\"\n SYMBOL: (84..87)\n IDENTIFIER: (84..87) \"let\"\n ATMOSPHERE: (87..88) \" \"\n FORM: (88..142)\n OPEN_PAREN: (88..89) \"(\"\n FORM: (89..109)\n OPEN_PAREN: (89..90) \"(\"\n SYMBOL: (90..94)\n IDENTIFIER: (90..94) \"list\"\n ATMOSPHERE: (94..95) \" \"\n FORM: (95..108)\n OPEN_PAREN: (95..96) \"(\"\n SYMBOL: (96..105)\n IDENTIFIER: (96..105) \"make-list\"\n ATMOSPHERE: (105..106) \" \"\n SYMBOL: (106..107)\n IDENTIFIER: (106..107) \"x\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..118) \"\n \"\n FORM: (118..141)\n OPEN_PAREN: (118..119) \"(\"\n SYMBOL: (119..124)\n IDENTIFIER: (119..124) \"start\"\n ATMOSPHERE: (124..125) \" \"\n FORM: (125..140)\n OPEN_PAREN: (125..126) \"(\"\n SYMBOL: (126..139)\n IDENTIFIER: (126..139) \"current-jiffy\"\n CLOSE_PAREN: (139..140) \")\"\n CLOSE_PAREN: (140..141) \")\"\n CLOSE_PAREN: (141..142) \")\"\n ATMOSPHERE: (142..147) \"\n \"\n FORM: (147..160)\n OPEN_PAREN: (147..148) \"(\"\n SYMBOL: (148..154)\n IDENTIFIER: (148..154) \"length\"\n ATMOSPHERE: (154..155) \" \"\n SYMBOL: (155..159)\n IDENTIFIER: (155..159) \"list\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..165) \"\n \"\n FORM: (165..222)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..167)\n IDENTIFIER: (166..167) \"/\"\n ATMOSPHERE: (167..168) \" \"\n FORM: (168..193)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..170)\n IDENTIFIER: (169..170) \"-\"\n ATMOSPHERE: (170..171) \" \"\n FORM: (171..186)\n OPEN_PAREN: (171..172) \"(\"\n SYMBOL: (172..185)\n IDENTIFIER: (172..185) \"current-jiffy\"\n CLOSE_PAREN: (185..186) \")\"\n ATMOSPHERE: (186..187) \" \"\n SYMBOL: (187..192)\n IDENTIFIER: (187..192) \"start\"\n CLOSE_PAREN: (192..193) \")\"\n ATMOSPHERE: (193..201) \"\n \"\n FORM: (201..221)\n OPEN_PAREN: (201..202) \"(\"\n SYMBOL: (202..220)\n IDENTIFIER: (202..220) \"jiffies-per-second\"\n CLOSE_PAREN: (220..221) \")\"\n CLOSE_PAREN: (221..222) \")\"\n CLOSE_PAREN: (222..223) \")\"\n CLOSE_PAREN: (223..224) \")\"\n ATMOSPHERE: (224..226) \"\n\n\"\n FORM: (226..242)\n OPEN_PAREN: (226..227) \"(\"\n SYMBOL: (227..238)\n IDENTIFIER: (227..238) \"time-length\"\n ATMOSPHERE: (238..239) \" \"\n CONSTANT: (239..241)\n NUMBER: (239..241) \"10\"\n CLOSE_PAREN: (241..242) \")\"\n ATMOSPHERE: (242..243) \"\n\"\n FORM: (243..261)\n OPEN_PAREN: (243..244) \"(\"\n SYMBOL: (244..255)\n IDENTIFIER: (244..255) \"time-length\"\n ATMOSPHERE: (255..256) \" \"\n CONSTANT: (256..260)\n NUMBER: (256..260) \"1000\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..263) \"\n\n\"\n CONSTANT: (263..264)\n NUMBER: (263..264) \"0\"\n ATMOSPHERE: (264..265) \"\n\"\n EOF: (265..265) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json b/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json deleted file mode 100644 index cdc9dc9..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_user-macros.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..555)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..43) \"\n\n\"\n FORM: (43..131)\n OPEN_PAREN: (43..44) \"(\"\n SYMBOL: (44..57)\n IDENTIFIER: (44..57) \"define-syntax\"\n ATMOSPHERE: (57..58) \" \"\n SYMBOL: (58..61)\n IDENTIFIER: (58..61) \"foo\"\n ATMOSPHERE: (61..66) \"\n \"\n FORM: (66..130)\n OPEN_PAREN: (66..67) \"(\"\n SYMBOL: (67..79)\n IDENTIFIER: (67..79) \"syntax-rules\"\n ATMOSPHERE: (79..80) \" \"\n FORM: (80..82)\n OPEN_PAREN: (80..81) \"(\"\n CLOSE_PAREN: (81..82) \")\"\n ATMOSPHERE: (82..91) \"\n \"\n FORM: (91..109)\n OPEN_PAREN: (91..92) \"(\"\n FORM: (92..99)\n OPEN_PAREN: (92..93) \"(\"\n SYMBOL: (93..94)\n IDENTIFIER: (93..94) \"_\"\n ATMOSPHERE: (94..95) \" \"\n CONSTANT: (95..98)\n NUMBER: (95..98) \"123\"\n CLOSE_PAREN: (98..99) \")\"\n ATMOSPHERE: (99..100) \" \"\n QUOTED_DATUM: (100..108)\n QUOTE: (100..101) \"'\"\n FORM: (101..108)\n OPEN_PAREN: (101..102) \"(\"\n CONSTANT: (102..103)\n NUMBER: (102..103) \"1\"\n ATMOSPHERE: (103..104) \" \"\n CONSTANT: (104..105)\n NUMBER: (104..105) \"2\"\n ATMOSPHERE: (105..106) \" \"\n CONSTANT: (106..107)\n NUMBER: (106..107) \"3\"\n CLOSE_PAREN: (107..108) \")\"\n CLOSE_PAREN: (108..109) \")\"\n ATMOSPHERE: (109..118) \"\n \"\n FORM: (118..129)\n OPEN_PAREN: (118..119) \"(\"\n FORM: (119..122)\n OPEN_PAREN: (119..120) \"(\"\n SYMBOL: (120..121)\n IDENTIFIER: (120..121) \"_\"\n CLOSE_PAREN: (121..122) \")\"\n ATMOSPHERE: (122..123) \" \"\n CONSTANT: (123..128)\n STRING: (123..128) \"\"bar\"\"\n CLOSE_PAREN: (128..129) \")\"\n CLOSE_PAREN: (129..130) \")\"\n CLOSE_PAREN: (130..131) \")\"\n ATMOSPHERE: (131..132) \"\n\"\n FORM: (132..172)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..140)\n IDENTIFIER: (133..140) \"display\"\n ATMOSPHERE: (140..141) \" \"\n FORM: (141..171)\n OPEN_PAREN: (141..142) \"(\"\n SYMBOL: (142..146)\n IDENTIFIER: (142..146) \"list\"\n ATMOSPHERE: (146..151) \"\n \"\n FORM: (151..160)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..155)\n IDENTIFIER: (152..155) \"foo\"\n ATMOSPHERE: (155..156) \" \"\n CONSTANT: (156..159)\n NUMBER: (156..159) \"123\"\n CLOSE_PAREN: (159..160) \")\"\n ATMOSPHERE: (160..165) \"\n \"\n FORM: (165..170)\n OPEN_PAREN: (165..166) \"(\"\n SYMBOL: (166..169)\n IDENTIFIER: (166..169) \"foo\"\n CLOSE_PAREN: (169..170) \")\"\n CLOSE_PAREN: (170..171) \")\"\n CLOSE_PAREN: (171..172) \")\"\n ATMOSPHERE: (172..173) \"\n\"\n FORM: (173..182)\n OPEN_PAREN: (173..174) \"(\"\n SYMBOL: (174..181)\n IDENTIFIER: (174..181) \"newline\"\n CLOSE_PAREN: (181..182) \")\"\n ATMOSPHERE: (182..184) \"\n\n\"\n FORM: (184..360)\n OPEN_PAREN: (184..185) \"(\"\n SYMBOL: (185..188)\n IDENTIFIER: (185..188) \"let\"\n ATMOSPHERE: (188..189) \" \"\n FORM: (189..191)\n OPEN_PAREN: (189..190) \"(\"\n CLOSE_PAREN: (190..191) \")\"\n ATMOSPHERE: (191..196) \"\n \"\n FORM: (196..306)\n OPEN_PAREN: (196..197) \"(\"\n SYMBOL: (197..210)\n IDENTIFIER: (197..210) \"define-syntax\"\n ATMOSPHERE: (210..211) \" \"\n SYMBOL: (211..214)\n IDENTIFIER: (211..214) \"foo\"\n ATMOSPHERE: (214..223) \"\n \"\n FORM: (223..305)\n OPEN_PAREN: (223..224) \"(\"\n SYMBOL: (224..236)\n IDENTIFIER: (224..236) \"syntax-rules\"\n ATMOSPHERE: (236..237) \" \"\n FORM: (237..242)\n OPEN_PAREN: (237..238) \"(\"\n SYMBOL: (238..241)\n IDENTIFIER: (238..241) \"bar\"\n CLOSE_PAREN: (241..242) \")\"\n ATMOSPHERE: (242..255) \"\n \"\n FORM: (255..273)\n OPEN_PAREN: (255..256) \"(\"\n FORM: (256..263)\n OPEN_PAREN: (256..257) \"(\"\n SYMBOL: (257..258)\n IDENTIFIER: (257..258) \"_\"\n ATMOSPHERE: (258..259) \" \"\n SYMBOL: (259..262)\n IDENTIFIER: (259..262) \"bar\"\n CLOSE_PAREN: (262..263) \")\"\n ATMOSPHERE: (263..264) \" \"\n CONSTANT: (264..272)\n STRING: (264..272) \"\"foobar\"\"\n CLOSE_PAREN: (272..273) \")\"\n ATMOSPHERE: (273..286) \"\n \"\n FORM: (286..304)\n OPEN_PAREN: (286..287) \"(\"\n FORM: (287..294)\n OPEN_PAREN: (287..288) \"(\"\n SYMBOL: (288..289)\n IDENTIFIER: (288..289) \"_\"\n ATMOSPHERE: (289..290) \" \"\n SYMBOL: (290..293)\n IDENTIFIER: (290..293) \"baz\"\n CLOSE_PAREN: (293..294) \")\"\n ATMOSPHERE: (294..295) \" \"\n CONSTANT: (295..303)\n STRING: (295..303) \"\"bizbaz\"\"\n CLOSE_PAREN: (303..304) \")\"\n CLOSE_PAREN: (304..305) \")\"\n CLOSE_PAREN: (305..306) \")\"\n ATMOSPHERE: (306..311) \"\n \"\n FORM: (311..345)\n OPEN_PAREN: (311..312) \"(\"\n SYMBOL: (312..319)\n IDENTIFIER: (312..319) \"display\"\n ATMOSPHERE: (319..320) \" \"\n FORM: (320..344)\n OPEN_PAREN: (320..321) \"(\"\n SYMBOL: (321..325)\n IDENTIFIER: (321..325) \"list\"\n ATMOSPHERE: (325..326) \" \"\n FORM: (326..335)\n OPEN_PAREN: (326..327) \"(\"\n SYMBOL: (327..330)\n IDENTIFIER: (327..330) \"foo\"\n ATMOSPHERE: (330..331) \" \"\n SYMBOL: (331..334)\n IDENTIFIER: (331..334) \"bar\"\n CLOSE_PAREN: (334..335) \")\"\n ATMOSPHERE: (335..336) \" \"\n FORM: (336..343)\n OPEN_PAREN: (336..337) \"(\"\n SYMBOL: (337..340)\n IDENTIFIER: (337..340) \"foo\"\n ATMOSPHERE: (340..341) \" \"\n SYMBOL: (341..342)\n IDENTIFIER: (341..342) \"b\"\n CLOSE_PAREN: (342..343) \")\"\n CLOSE_PAREN: (343..344) \")\"\n CLOSE_PAREN: (344..345) \")\"\n ATMOSPHERE: (345..350) \"\n \"\n FORM: (350..359)\n OPEN_PAREN: (350..351) \"(\"\n SYMBOL: (351..358)\n IDENTIFIER: (351..358) \"newline\"\n CLOSE_PAREN: (358..359) \")\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..362) \"\n\n\"\n FORM: (362..477)\n OPEN_PAREN: (362..363) \"(\"\n SYMBOL: (363..370)\n IDENTIFIER: (363..370) \"display\"\n ATMOSPHERE: (370..375) \"\n \"\n FORM: (375..476)\n OPEN_PAREN: (375..376) \"(\"\n SYMBOL: (376..386)\n IDENTIFIER: (376..386) \"let-syntax\"\n ATMOSPHERE: (386..395) \"\n \"\n FORM: (395..455)\n OPEN_PAREN: (395..396) \"(\"\n FORM: (396..454)\n OPEN_PAREN: (396..397) \"(\"\n SYMBOL: (397..400)\n IDENTIFIER: (397..400) \"foo\"\n ATMOSPHERE: (400..401) \" \"\n FORM: (401..453)\n OPEN_PAREN: (401..402) \"(\"\n SYMBOL: (402..414)\n IDENTIFIER: (402..414) \"syntax-rules\"\n ATMOSPHERE: (414..415) \" \"\n FORM: (415..417)\n OPEN_PAREN: (415..416) \"(\"\n CLOSE_PAREN: (416..417) \")\"\n ATMOSPHERE: (417..430) \"\n \"\n FORM: (430..452)\n OPEN_PAREN: (430..431) \"(\"\n FORM: (431..438)\n OPEN_PAREN: (431..432) \"(\"\n SYMBOL: (432..435)\n IDENTIFIER: (432..435) \"foo\"\n ATMOSPHERE: (435..436) \" \"\n SYMBOL: (436..437)\n IDENTIFIER: (436..437) \"_\"\n CLOSE_PAREN: (437..438) \")\"\n ATMOSPHERE: (438..439) \" \"\n QUOTED_DATUM: (439..451)\n QUOTE: (439..440) \"'\"\n FORM: (440..451)\n OPEN_PAREN: (440..441) \"(\"\n SYMBOL: (441..446)\n IDENTIFIER: (441..446) \"inner\"\n ATMOSPHERE: (446..447) \" \"\n SYMBOL: (447..450)\n IDENTIFIER: (447..450) \"foo\"\n CLOSE_PAREN: (450..451) \")\"\n CLOSE_PAREN: (451..452) \")\"\n CLOSE_PAREN: (452..453) \")\"\n CLOSE_PAREN: (453..454) \")\"\n CLOSE_PAREN: (454..455) \")\"\n ATMOSPHERE: (455..464) \"\n \"\n FORM: (464..475)\n OPEN_PAREN: (464..465) \"(\"\n SYMBOL: (465..468)\n IDENTIFIER: (465..468) \"foo\"\n ATMOSPHERE: (468..469) \" \"\n CONSTANT: (469..474)\n STRING: (469..474) \"\"123\"\"\n CLOSE_PAREN: (474..475) \")\"\n CLOSE_PAREN: (475..476) \")\"\n CLOSE_PAREN: (476..477) \")\"\n FORM: (477..486)\n OPEN_PAREN: (477..478) \"(\"\n SYMBOL: (478..485)\n IDENTIFIER: (478..485) \"newline\"\n CLOSE_PAREN: (485..486) \")\"\n ATMOSPHERE: (486..488) \"\n\n\"\n ATMOSPHERE: (488..524) \"; Should be the first `foo` again...\"\n ATMOSPHERE: (524..525) \"\n\"\n FORM: (525..544)\n OPEN_PAREN: (525..526) \"(\"\n SYMBOL: (526..533)\n IDENTIFIER: (526..533) \"display\"\n ATMOSPHERE: (533..534) \" \"\n FORM: (534..543)\n OPEN_PAREN: (534..535) \"(\"\n SYMBOL: (535..538)\n IDENTIFIER: (535..538) \"foo\"\n ATMOSPHERE: (538..539) \" \"\n CONSTANT: (539..542)\n NUMBER: (539..542) \"123\"\n CLOSE_PAREN: (542..543) \")\"\n CLOSE_PAREN: (543..544) \")\"\n FORM: (544..553)\n OPEN_PAREN: (544..545) \"(\"\n SYMBOL: (545..552)\n IDENTIFIER: (545..552) \"newline\"\n CLOSE_PAREN: (552..553) \")\"\n ATMOSPHERE: (553..555) \"\n\n\"\n EOF: (555..555) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json b/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json deleted file mode 100644 index 517b4d8..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_vectors.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..511)\n FORM: (0..41)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..26) \"\n \"\n FORM: (26..40)\n OPEN_PAREN: (26..27) \"(\"\n SYMBOL: (27..33)\n IDENTIFIER: (27..33) \"scheme\"\n ATMOSPHERE: (33..34) \" \"\n SYMBOL: (34..39)\n IDENTIFIER: (34..39) \"write\"\n CLOSE_PAREN: (39..40) \")\"\n CLOSE_PAREN: (40..41) \")\"\n ATMOSPHERE: (41..42) \"\n\"\n FORM: (42..511)\n OPEN_PAREN: (42..43) \"(\"\n SYMBOL: (43..50)\n IDENTIFIER: (43..50) \"display\"\n ATMOSPHERE: (50..51) \" \"\n FORM: (51..510)\n OPEN_PAREN: (51..52) \"(\"\n SYMBOL: (52..56)\n IDENTIFIER: (52..56) \"list\"\n ATMOSPHERE: (56..66) \"\n \n \"\n ATMOSPHERE: (66..79) \";; vector new\"\n ATMOSPHERE: (79..84) \"\n \"\n FORM: (84..98)\n OPEN_PAREN: (84..85) \"(\"\n SYMBOL: (85..91)\n IDENTIFIER: (85..91) \"vector\"\n ATMOSPHERE: (91..92) \" \"\n CONSTANT: (92..93)\n NUMBER: (92..93) \"1\"\n ATMOSPHERE: (93..94) \" \"\n CONSTANT: (94..95)\n NUMBER: (94..95) \"2\"\n ATMOSPHERE: (95..96) \" \"\n CONSTANT: (96..97)\n NUMBER: (96..97) \"3\"\n CLOSE_PAREN: (97..98) \")\"\n ATMOSPHERE: (98..103) \"\n \"\n FORM: (103..123)\n OPEN_PAREN: (103..104) \"(\"\n SYMBOL: (104..115)\n IDENTIFIER: (104..115) \"make-vector\"\n ATMOSPHERE: (115..116) \" \"\n CONSTANT: (116..118)\n NUMBER: (116..118) \"10\"\n ATMOSPHERE: (118..119) \" \"\n CONSTANT: (119..122)\n CHARACTER: (119..122) \"#\\a\"\n CLOSE_PAREN: (122..123) \")\"\n ATMOSPHERE: (123..129) \"\n\n \"\n ATMOSPHERE: (129..147) \";; Vector literals\"\n ATMOSPHERE: (147..152) \"\n \"\n VEC: (152..173)\n OPEN_PAREN: (152..154) \"#(\"\n CONSTANT: (154..155)\n NUMBER: (154..155) \"0\"\n ATMOSPHERE: (155..156) \" \"\n FORM: (156..165)\n OPEN_PAREN: (156..157) \"(\"\n CONSTANT: (157..158)\n NUMBER: (157..158) \"2\"\n ATMOSPHERE: (158..159) \" \"\n CONSTANT: (159..160)\n NUMBER: (159..160) \"2\"\n ATMOSPHERE: (160..161) \" \"\n CONSTANT: (161..162)\n NUMBER: (161..162) \"2\"\n ATMOSPHERE: (162..163) \" \"\n CONSTANT: (163..164)\n NUMBER: (163..164) \"2\"\n CLOSE_PAREN: (164..165) \")\"\n ATMOSPHERE: (165..166) \" \"\n CONSTANT: (166..172)\n STRING: (166..172) \"\"Anna\"\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..179) \"\n\n \"\n ATMOSPHERE: (179..199) \";; Vector type check\"\n ATMOSPHERE: (199..204) \"\n \"\n FORM: (204..217)\n OPEN_PAREN: (204..205) \"(\"\n SYMBOL: (205..212)\n IDENTIFIER: (205..212) \"vector?\"\n ATMOSPHERE: (212..213) \" \"\n VEC: (213..216)\n OPEN_PAREN: (213..215) \"#(\"\n CLOSE_PAREN: (215..216) \")\"\n CLOSE_PAREN: (216..217) \")\"\n ATMOSPHERE: (217..222) \"\n \"\n FORM: (222..240)\n OPEN_PAREN: (222..223) \"(\"\n SYMBOL: (223..230)\n IDENTIFIER: (223..230) \"vector?\"\n ATMOSPHERE: (230..231) \" \"\n VEC: (231..239)\n OPEN_PAREN: (231..233) \"#(\"\n CONSTANT: (233..234)\n NUMBER: (233..234) \"1\"\n ATMOSPHERE: (234..235) \" \"\n CONSTANT: (235..236)\n NUMBER: (235..236) \"2\"\n ATMOSPHERE: (236..237) \" \"\n CONSTANT: (237..238)\n NUMBER: (237..238) \"3\"\n CLOSE_PAREN: (238..239) \")\"\n CLOSE_PAREN: (239..240) \")\"\n ATMOSPHERE: (240..245) \"\n \"\n FORM: (245..261)\n OPEN_PAREN: (245..246) \"(\"\n SYMBOL: (246..253)\n IDENTIFIER: (246..253) \"vector?\"\n ATMOSPHERE: (253..254) \" \"\n CONSTANT: (254..260)\n STRING: (254..260) \"\"Test\"\"\n CLOSE_PAREN: (260..261) \")\"\n ATMOSPHERE: (261..267) \"\n\n \"\n ATMOSPHERE: (267..291) \";; General vector method\"\n ATMOSPHERE: (291..296) \"\n \"\n FORM: (296..326)\n OPEN_PAREN: (296..297) \"(\"\n SYMBOL: (297..310)\n IDENTIFIER: (297..310) \"vector-length\"\n ATMOSPHERE: (310..311) \" \"\n VEC: (311..325)\n OPEN_PAREN: (311..313) \"#(\"\n CONSTANT: (313..316)\n CHARACTER: (313..316) \"#\\a\"\n ATMOSPHERE: (316..317) \" \"\n CONSTANT: (317..320)\n CHARACTER: (317..320) \"#\\b\"\n ATMOSPHERE: (320..321) \" \"\n CONSTANT: (321..324)\n CHARACTER: (321..324) \"#\\c\"\n CLOSE_PAREN: (324..325) \")\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..331) \"\n \"\n FORM: (331..360)\n OPEN_PAREN: (331..332) \"(\"\n SYMBOL: (332..342)\n IDENTIFIER: (332..342) \"vector-ref\"\n ATMOSPHERE: (342..343) \" \"\n VEC: (343..357)\n OPEN_PAREN: (343..345) \"#(\"\n SYMBOL: (345..346)\n IDENTIFIER: (345..346) \"a\"\n ATMOSPHERE: (346..347) \" \"\n CONSTANT: (347..349)\n BOOLEAN: (347..349) \"#f\"\n ATMOSPHERE: (349..350) \" \"\n CONSTANT: (350..356)\n STRING: (350..356) \"\"test\"\"\n CLOSE_PAREN: (356..357) \")\"\n ATMOSPHERE: (357..358) \" \"\n CONSTANT: (358..359)\n NUMBER: (358..359) \"2\"\n CLOSE_PAREN: (359..360) \")\"\n ATMOSPHERE: (360..365) \"\n \"\n FORM: (365..401)\n OPEN_PAREN: (365..366) \"(\"\n SYMBOL: (366..376)\n IDENTIFIER: (366..376) \"vector-ref\"\n ATMOSPHERE: (376..377) \" \"\n QUOTED_DATUM: (377..399)\n QUOTE: (377..378) \"'\"\n VEC: (378..398)\n OPEN_PAREN: (378..380) \"#(\"\n CONSTANT: (380..381)\n NUMBER: (380..381) \"1\"\n ATMOSPHERE: (381..382) \" \"\n CONSTANT: (382..383)\n NUMBER: (382..383) \"1\"\n ATMOSPHERE: (383..384) \" \"\n CONSTANT: (384..385)\n NUMBER: (384..385) \"2\"\n ATMOSPHERE: (385..386) \" \"\n CONSTANT: (386..387)\n NUMBER: (386..387) \"3\"\n ATMOSPHERE: (387..388) \" \"\n CONSTANT: (388..389)\n NUMBER: (388..389) \"5\"\n ATMOSPHERE: (389..390) \" \"\n CONSTANT: (390..391)\n NUMBER: (390..391) \"8\"\n ATMOSPHERE: (391..392) \" \"\n CONSTANT: (392..394)\n NUMBER: (392..394) \"13\"\n ATMOSPHERE: (394..395) \" \"\n CONSTANT: (395..397)\n NUMBER: (395..397) \"21\"\n CLOSE_PAREN: (397..398) \")\"\n ATMOSPHERE: (398..399) \" \"\n CONSTANT: (399..400)\n NUMBER: (399..400) \"5\"\n CLOSE_PAREN: (400..401) \")\"\n ATMOSPHERE: (401..406) \"\n \"\n FORM: (406..503)\n OPEN_PAREN: (406..407) \"(\"\n SYMBOL: (407..410)\n IDENTIFIER: (407..410) \"let\"\n ATMOSPHERE: (410..411) \" \"\n FORM: (411..447)\n OPEN_PAREN: (411..412) \"(\"\n FORM: (412..446)\n OPEN_PAREN: (412..413) \"(\"\n SYMBOL: (413..416)\n IDENTIFIER: (413..416) \"vec\"\n ATMOSPHERE: (416..417) \" \"\n FORM: (417..445)\n OPEN_PAREN: (417..418) \"(\"\n SYMBOL: (418..424)\n IDENTIFIER: (418..424) \"vector\"\n ATMOSPHERE: (424..425) \" \"\n CONSTANT: (425..426)\n NUMBER: (425..426) \"0\"\n ATMOSPHERE: (426..427) \" \"\n QUOTED_DATUM: (427..438)\n QUOTE: (427..428) \"'\"\n FORM: (428..437)\n OPEN_PAREN: (428..429) \"(\"\n CONSTANT: (429..430)\n NUMBER: (429..430) \"2\"\n ATMOSPHERE: (430..431) \" \"\n CONSTANT: (431..432)\n NUMBER: (431..432) \"2\"\n ATMOSPHERE: (432..433) \" \"\n CONSTANT: (433..434)\n NUMBER: (433..434) \"2\"\n ATMOSPHERE: (434..435) \" \"\n CONSTANT: (435..436)\n NUMBER: (435..436) \"2\"\n CLOSE_PAREN: (436..437) \")\"\n ATMOSPHERE: (437..438) \" \"\n CONSTANT: (438..444)\n STRING: (438..444) \"\"Anna\"\"\n CLOSE_PAREN: (444..445) \")\"\n CLOSE_PAREN: (445..446) \")\"\n CLOSE_PAREN: (446..447) \")\"\n ATMOSPHERE: (447..456) \"\n \"\n FORM: (456..490)\n OPEN_PAREN: (456..457) \"(\"\n SYMBOL: (457..468)\n IDENTIFIER: (457..468) \"vector-set!\"\n ATMOSPHERE: (468..469) \" \"\n SYMBOL: (469..472)\n IDENTIFIER: (469..472) \"vec\"\n ATMOSPHERE: (472..473) \" \"\n CONSTANT: (473..474)\n NUMBER: (473..474) \"1\"\n ATMOSPHERE: (474..475) \" \"\n QUOTED_DATUM: (475..489)\n QUOTE: (475..476) \"'\"\n FORM: (476..489)\n OPEN_PAREN: (476..477) \"(\"\n CONSTANT: (477..482)\n STRING: (477..482) \"\"Sue\"\"\n ATMOSPHERE: (482..483) \" \"\n CONSTANT: (483..488)\n STRING: (483..488) \"\"Sue\"\"\n CLOSE_PAREN: (488..489) \")\"\n CLOSE_PAREN: (489..490) \")\"\n ATMOSPHERE: (490..499) \"\n \"\n SYMBOL: (499..502)\n IDENTIFIER: (499..502) \"vec\"\n CLOSE_PAREN: (502..503) \")\"\n ATMOSPHERE: (503..509) \"\n\n \"\n CLOSE_PAREN: (509..510) \")\"\n CLOSE_PAREN: (510..511) \")\"\n EOF: (511..511) \"\"\n" -} \ No newline at end of file diff --git a/test/Feersum.Tests/_snapshots/Parse_zed.scm.json b/test/Feersum.Tests/_snapshots/Parse_zed.scm.json deleted file mode 100644 index 02259aa..0000000 --- a/test/Feersum.Tests/_snapshots/Parse_zed.scm.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "Diagnostics": [], - "Root": "PROGRAM: (0..725)\n FORM: (0..39)\n OPEN_PAREN: (0..1) \"(\"\n SYMBOL: (1..7)\n IDENTIFIER: (1..7) \"import\"\n ATMOSPHERE: (7..8) \" \"\n FORM: (8..21)\n OPEN_PAREN: (8..9) \"(\"\n SYMBOL: (9..15)\n IDENTIFIER: (9..15) \"scheme\"\n ATMOSPHERE: (15..16) \" \"\n SYMBOL: (16..20)\n IDENTIFIER: (16..20) \"base\"\n CLOSE_PAREN: (20..21) \")\"\n ATMOSPHERE: (21..24) \"\n \"\n FORM: (24..38)\n OPEN_PAREN: (24..25) \"(\"\n SYMBOL: (25..31)\n IDENTIFIER: (25..31) \"scheme\"\n ATMOSPHERE: (31..32) \" \"\n SYMBOL: (32..37)\n IDENTIFIER: (32..37) \"write\"\n CLOSE_PAREN: (37..38) \")\"\n CLOSE_PAREN: (38..39) \")\"\n ATMOSPHERE: (39..41) \"\n\n\"\n ATMOSPHERE: (41..92) \";; This is the zed combinator from lambda calculus.\"\n ATMOSPHERE: (92..93) \"\n\"\n FORM: (93..181)\n OPEN_PAREN: (93..94) \"(\"\n SYMBOL: (94..100)\n IDENTIFIER: (94..100) \"define\"\n ATMOSPHERE: (100..101) \" \"\n FORM: (101..106)\n OPEN_PAREN: (101..102) \"(\"\n SYMBOL: (102..103)\n IDENTIFIER: (102..103) \"Z\"\n ATMOSPHERE: (103..104) \" \"\n SYMBOL: (104..105)\n IDENTIFIER: (104..105) \"f\"\n CLOSE_PAREN: (105..106) \")\"\n ATMOSPHERE: (106..109) \"\n \"\n FORM: (109..180)\n OPEN_PAREN: (109..110) \"(\"\n FORM: (110..128)\n OPEN_PAREN: (110..111) \"(\"\n SYMBOL: (111..117)\n IDENTIFIER: (111..117) \"lambda\"\n ATMOSPHERE: (117..118) \" \"\n FORM: (118..121)\n OPEN_PAREN: (118..119) \"(\"\n SYMBOL: (119..120)\n IDENTIFIER: (119..120) \"g\"\n CLOSE_PAREN: (120..121) \")\"\n ATMOSPHERE: (121..122) \" \"\n FORM: (122..127)\n OPEN_PAREN: (122..123) \"(\"\n SYMBOL: (123..124)\n IDENTIFIER: (123..124) \"g\"\n ATMOSPHERE: (124..125) \" \"\n SYMBOL: (125..126)\n IDENTIFIER: (125..126) \"g\"\n CLOSE_PAREN: (126..127) \")\"\n CLOSE_PAREN: (127..128) \")\"\n ATMOSPHERE: (128..132) \"\n \"\n FORM: (132..179)\n OPEN_PAREN: (132..133) \"(\"\n SYMBOL: (133..139)\n IDENTIFIER: (133..139) \"lambda\"\n ATMOSPHERE: (139..140) \" \"\n FORM: (140..143)\n OPEN_PAREN: (140..141) \"(\"\n SYMBOL: (141..142)\n IDENTIFIER: (141..142) \"g\"\n CLOSE_PAREN: (142..143) \")\"\n ATMOSPHERE: (143..148) \"\n \"\n FORM: (148..178)\n OPEN_PAREN: (148..149) \"(\"\n SYMBOL: (149..150)\n IDENTIFIER: (149..150) \"f\"\n ATMOSPHERE: (150..151) \" \"\n FORM: (151..177)\n OPEN_PAREN: (151..152) \"(\"\n SYMBOL: (152..158)\n IDENTIFIER: (152..158) \"lambda\"\n ATMOSPHERE: (158..159) \" \"\n SYMBOL: (159..160)\n IDENTIFIER: (159..160) \"a\"\n ATMOSPHERE: (160..161) \" \"\n FORM: (161..176)\n OPEN_PAREN: (161..162) \"(\"\n SYMBOL: (162..167)\n IDENTIFIER: (162..167) \"apply\"\n ATMOSPHERE: (167..168) \" \"\n FORM: (168..173)\n OPEN_PAREN: (168..169) \"(\"\n SYMBOL: (169..170)\n IDENTIFIER: (169..170) \"g\"\n ATMOSPHERE: (170..171) \" \"\n SYMBOL: (171..172)\n IDENTIFIER: (171..172) \"g\"\n CLOSE_PAREN: (172..173) \")\"\n ATMOSPHERE: (173..174) \" \"\n SYMBOL: (174..175)\n IDENTIFIER: (174..175) \"a\"\n CLOSE_PAREN: (175..176) \")\"\n CLOSE_PAREN: (176..177) \")\"\n CLOSE_PAREN: (177..178) \")\"\n CLOSE_PAREN: (178..179) \")\"\n CLOSE_PAREN: (179..180) \")\"\n CLOSE_PAREN: (180..181) \")\"\n ATMOSPHERE: (181..183) \"\n\n\"\n ATMOSPHERE: (183..220) \";; Echo just prints out its arguments\"\n ATMOSPHERE: (220..221) \"\n\"\n FORM: (221..295)\n OPEN_PAREN: (221..222) \"(\"\n SYMBOL: (222..228)\n IDENTIFIER: (222..228) \"define\"\n ATMOSPHERE: (228..229) \" \"\n SYMBOL: (229..233)\n IDENTIFIER: (229..233) \"echo\"\n ATMOSPHERE: (233..236) \"\n \"\n FORM: (236..294)\n OPEN_PAREN: (236..237) \"(\"\n SYMBOL: (237..238)\n IDENTIFIER: (237..238) \"Z\"\n ATMOSPHERE: (238..239) \" \"\n FORM: (239..293)\n OPEN_PAREN: (239..240) \"(\"\n SYMBOL: (240..246)\n IDENTIFIER: (240..246) \"lambda\"\n ATMOSPHERE: (246..247) \" \"\n FORM: (247..253)\n OPEN_PAREN: (247..248) \"(\"\n SYMBOL: (248..252)\n IDENTIFIER: (248..252) \"echo\"\n CLOSE_PAREN: (252..253) \")\"\n ATMOSPHERE: (253..258) \"\n \"\n FORM: (258..292)\n OPEN_PAREN: (258..259) \"(\"\n SYMBOL: (259..265)\n IDENTIFIER: (259..265) \"lambda\"\n ATMOSPHERE: (265..266) \" \"\n SYMBOL: (266..270)\n IDENTIFIER: (266..270) \"args\"\n ATMOSPHERE: (270..277) \"\n \"\n FORM: (277..291)\n OPEN_PAREN: (277..278) \"(\"\n SYMBOL: (278..285)\n IDENTIFIER: (278..285) \"display\"\n ATMOSPHERE: (285..286) \" \"\n SYMBOL: (286..290)\n IDENTIFIER: (286..290) \"args\"\n CLOSE_PAREN: (290..291) \")\"\n CLOSE_PAREN: (291..292) \")\"\n CLOSE_PAREN: (292..293) \")\"\n CLOSE_PAREN: (293..294) \")\"\n CLOSE_PAREN: (294..295) \")\"\n ATMOSPHERE: (295..297) \"\n\n\"\n FORM: (297..317)\n OPEN_PAREN: (297..298) \"(\"\n SYMBOL: (298..302)\n IDENTIFIER: (298..302) \"echo\"\n ATMOSPHERE: (302..303) \" \"\n CONSTANT: (303..316)\n STRING: (303..316) \"\"hello world\"\"\n CLOSE_PAREN: (316..317) \")\"\n FORM: (317..326)\n OPEN_PAREN: (317..318) \"(\"\n SYMBOL: (318..325)\n IDENTIFIER: (318..325) \"newline\"\n CLOSE_PAREN: (325..326) \")\"\n ATMOSPHERE: (326..328) \"\n\n\"\n ATMOSPHERE: (328..380) \";; Recursive fibonacci defined using the combinator.\"\n ATMOSPHERE: (380..381) \"\n\"\n FORM: (381..501)\n OPEN_PAREN: (381..382) \"(\"\n SYMBOL: (382..388)\n IDENTIFIER: (382..388) \"define\"\n ATMOSPHERE: (388..389) \" \"\n SYMBOL: (389..392)\n IDENTIFIER: (389..392) \"fib\"\n ATMOSPHERE: (392..395) \"\n \"\n FORM: (395..500)\n OPEN_PAREN: (395..396) \"(\"\n SYMBOL: (396..397)\n IDENTIFIER: (396..397) \"Z\"\n ATMOSPHERE: (397..398) \" \"\n FORM: (398..499)\n OPEN_PAREN: (398..399) \"(\"\n SYMBOL: (399..405)\n IDENTIFIER: (399..405) \"lambda\"\n ATMOSPHERE: (405..406) \" \"\n FORM: (406..411)\n OPEN_PAREN: (406..407) \"(\"\n SYMBOL: (407..410)\n IDENTIFIER: (407..410) \"fib\"\n CLOSE_PAREN: (410..411) \")\"\n ATMOSPHERE: (411..416) \"\n \"\n FORM: (416..498)\n OPEN_PAREN: (416..417) \"(\"\n SYMBOL: (417..423)\n IDENTIFIER: (417..423) \"lambda\"\n ATMOSPHERE: (423..424) \" \"\n FORM: (424..427)\n OPEN_PAREN: (424..425) \"(\"\n SYMBOL: (425..426)\n IDENTIFIER: (425..426) \"n\"\n CLOSE_PAREN: (426..427) \")\"\n ATMOSPHERE: (427..434) \"\n \"\n FORM: (434..497)\n OPEN_PAREN: (434..435) \"(\"\n SYMBOL: (435..437)\n IDENTIFIER: (435..437) \"if\"\n ATMOSPHERE: (437..438) \" \"\n FORM: (438..446)\n OPEN_PAREN: (438..439) \"(\"\n SYMBOL: (439..441)\n IDENTIFIER: (439..441) \"<=\"\n ATMOSPHERE: (441..442) \" \"\n SYMBOL: (442..443)\n IDENTIFIER: (442..443) \"n\"\n ATMOSPHERE: (443..444) \" \"\n CONSTANT: (444..445)\n NUMBER: (444..445) \"2\"\n CLOSE_PAREN: (445..446) \")\"\n ATMOSPHERE: (446..455) \"\n \"\n CONSTANT: (455..456)\n NUMBER: (455..456) \"1\"\n ATMOSPHERE: (456..465) \"\n \"\n FORM: (465..496)\n OPEN_PAREN: (465..466) \"(\"\n SYMBOL: (466..467)\n IDENTIFIER: (466..467) \"+\"\n ATMOSPHERE: (467..468) \" \"\n FORM: (468..481)\n OPEN_PAREN: (468..469) \"(\"\n SYMBOL: (469..472)\n IDENTIFIER: (469..472) \"fib\"\n ATMOSPHERE: (472..473) \" \"\n FORM: (473..480)\n OPEN_PAREN: (473..474) \"(\"\n SYMBOL: (474..475)\n IDENTIFIER: (474..475) \"-\"\n ATMOSPHERE: (475..476) \" \"\n SYMBOL: (476..477)\n IDENTIFIER: (476..477) \"n\"\n ATMOSPHERE: (477..478) \" \"\n CONSTANT: (478..479)\n NUMBER: (478..479) \"1\"\n CLOSE_PAREN: (479..480) \")\"\n CLOSE_PAREN: (480..481) \")\"\n ATMOSPHERE: (481..482) \" \"\n FORM: (482..495)\n OPEN_PAREN: (482..483) \"(\"\n SYMBOL: (483..486)\n IDENTIFIER: (483..486) \"fib\"\n ATMOSPHERE: (486..487) \" \"\n FORM: (487..494)\n OPEN_PAREN: (487..488) \"(\"\n SYMBOL: (488..489)\n IDENTIFIER: (488..489) \"-\"\n ATMOSPHERE: (489..490) \" \"\n SYMBOL: (490..491)\n IDENTIFIER: (490..491) \"n\"\n ATMOSPHERE: (491..492) \" \"\n CONSTANT: (492..493)\n NUMBER: (492..493) \"2\"\n CLOSE_PAREN: (493..494) \")\"\n CLOSE_PAREN: (494..495) \")\"\n CLOSE_PAREN: (495..496) \")\"\n CLOSE_PAREN: (496..497) \")\"\n CLOSE_PAREN: (497..498) \")\"\n CLOSE_PAREN: (498..499) \")\"\n CLOSE_PAREN: (499..500) \")\"\n CLOSE_PAREN: (500..501) \")\"\n ATMOSPHERE: (501..503) \"\n\n\"\n FORM: (503..520)\n OPEN_PAREN: (503..504) \"(\"\n SYMBOL: (504..511)\n IDENTIFIER: (504..511) \"display\"\n ATMOSPHERE: (511..512) \" \"\n FORM: (512..519)\n OPEN_PAREN: (512..513) \"(\"\n SYMBOL: (513..516)\n IDENTIFIER: (513..516) \"fib\"\n ATMOSPHERE: (516..517) \" \"\n CONSTANT: (517..518)\n NUMBER: (517..518) \"5\"\n CLOSE_PAREN: (518..519) \")\"\n CLOSE_PAREN: (519..520) \")\"\n FORM: (520..529)\n OPEN_PAREN: (520..521) \"(\"\n SYMBOL: (521..528)\n IDENTIFIER: (521..528) \"newline\"\n CLOSE_PAREN: (528..529) \")\"\n ATMOSPHERE: (529..531) \"\n\n\"\n ATMOSPHERE: (531..583) \";; Recursive factorial defined using the combinator.\"\n ATMOSPHERE: (583..584) \"\n\"\n FORM: (584..694)\n OPEN_PAREN: (584..585) \"(\"\n SYMBOL: (585..591)\n IDENTIFIER: (585..591) \"define\"\n ATMOSPHERE: (591..592) \" \"\n SYMBOL: (592..596)\n IDENTIFIER: (592..596) \"fact\"\n ATMOSPHERE: (596..599) \"\n \"\n FORM: (599..693)\n OPEN_PAREN: (599..600) \"(\"\n SYMBOL: (600..601)\n IDENTIFIER: (600..601) \"Z\"\n ATMOSPHERE: (601..602) \" \"\n FORM: (602..692)\n OPEN_PAREN: (602..603) \"(\"\n SYMBOL: (603..609)\n IDENTIFIER: (603..609) \"lambda\"\n ATMOSPHERE: (609..610) \" \"\n FORM: (610..616)\n OPEN_PAREN: (610..611) \"(\"\n SYMBOL: (611..615)\n IDENTIFIER: (611..615) \"fact\"\n CLOSE_PAREN: (615..616) \")\"\n ATMOSPHERE: (616..621) \"\n \"\n FORM: (621..691)\n OPEN_PAREN: (621..622) \"(\"\n SYMBOL: (622..628)\n IDENTIFIER: (622..628) \"lambda\"\n ATMOSPHERE: (628..629) \" \"\n FORM: (629..632)\n OPEN_PAREN: (629..630) \"(\"\n SYMBOL: (630..631)\n IDENTIFIER: (630..631) \"n\"\n CLOSE_PAREN: (631..632) \")\"\n ATMOSPHERE: (632..639) \"\n \"\n FORM: (639..690)\n OPEN_PAREN: (639..640) \"(\"\n SYMBOL: (640..642)\n IDENTIFIER: (640..642) \"if\"\n ATMOSPHERE: (642..643) \" \"\n FORM: (643..650)\n OPEN_PAREN: (643..644) \"(\"\n SYMBOL: (644..645)\n IDENTIFIER: (644..645) \"=\"\n ATMOSPHERE: (645..646) \" \"\n SYMBOL: (646..647)\n IDENTIFIER: (646..647) \"n\"\n ATMOSPHERE: (647..648) \" \"\n CONSTANT: (648..649)\n NUMBER: (648..649) \"0\"\n CLOSE_PAREN: (649..650) \")\"\n ATMOSPHERE: (650..659) \"\n \"\n CONSTANT: (659..660)\n NUMBER: (659..660) \"1\"\n ATMOSPHERE: (660..669) \"\n \"\n FORM: (669..689)\n OPEN_PAREN: (669..670) \"(\"\n SYMBOL: (670..671)\n IDENTIFIER: (670..671) \"*\"\n ATMOSPHERE: (671..672) \" \"\n SYMBOL: (672..673)\n IDENTIFIER: (672..673) \"n\"\n ATMOSPHERE: (673..674) \" \"\n FORM: (674..688)\n OPEN_PAREN: (674..675) \"(\"\n SYMBOL: (675..679)\n IDENTIFIER: (675..679) \"fact\"\n ATMOSPHERE: (679..680) \" \"\n FORM: (680..687)\n OPEN_PAREN: (680..681) \"(\"\n SYMBOL: (681..682)\n IDENTIFIER: (681..682) \"-\"\n ATMOSPHERE: (682..683) \" \"\n SYMBOL: (683..684)\n IDENTIFIER: (683..684) \"n\"\n ATMOSPHERE: (684..685) \" \"\n CONSTANT: (685..686)\n NUMBER: (685..686) \"1\"\n CLOSE_PAREN: (686..687) \")\"\n CLOSE_PAREN: (687..688) \")\"\n CLOSE_PAREN: (688..689) \")\"\n CLOSE_PAREN: (689..690) \")\"\n CLOSE_PAREN: (690..691) \")\"\n CLOSE_PAREN: (691..692) \")\"\n CLOSE_PAREN: (692..693) \")\"\n CLOSE_PAREN: (693..694) \")\"\n ATMOSPHERE: (694..696) \"\n\n\"\n FORM: (696..715)\n OPEN_PAREN: (696..697) \"(\"\n SYMBOL: (697..704)\n IDENTIFIER: (697..704) \"display\"\n ATMOSPHERE: (704..705) \" \"\n FORM: (705..714)\n OPEN_PAREN: (705..706) \"(\"\n SYMBOL: (706..710)\n IDENTIFIER: (706..710) \"fact\"\n ATMOSPHERE: (710..711) \" \"\n CONSTANT: (711..713)\n NUMBER: (711..713) \"12\"\n CLOSE_PAREN: (713..714) \")\"\n CLOSE_PAREN: (714..715) \")\"\n FORM: (715..724)\n OPEN_PAREN: (715..716) \"(\"\n SYMBOL: (716..723)\n IDENTIFIER: (716..723) \"newline\"\n CLOSE_PAREN: (723..724) \")\"\n ATMOSPHERE: (724..725) \"\n\"\n EOF: (725..725) \"\"\n" -} \ No newline at end of file From 283e77374376f0584db6f4d7744f06c18939af3a Mon Sep 17 00:00:00 2001 From: Will Speak Date: Mon, 24 Jun 2024 08:05:52 +0100 Subject: [PATCH 15/15] chore: Bump Package Versions Upgrade to the latest versions of most packages. This includes a breaking change to the debug output of `Firethorn` so test needed re-generating too. --- Directory.Build.props | 2 +- spec/alist.ast | 24 +- spec/begin.ast | 39 +- spec/booleans.ast | 174 +- spec/builtin-macros.ast | 48 +- spec/builtins.ast | 48 +- spec/byte-vectors.ast | 62 +- spec/capturetest.ast | 24 +- spec/characters.ast | 1166 +-- spec/chibi-r7rs-tests.ast | 8255 ++++++----------- spec/collatz.ast | 72 +- spec/comment.ast | 26 +- spec/comments_extended.ast | 52 +- spec/conditions.ast | 114 +- spec/cxr.ast | 38 +- spec/define-and-assign.ast | 15 +- spec/display-utils.ast | 33 +- spec/display.ast | 26 +- spec/dragons.ast | 144 +- spec/envtest.ast | 46 +- spec/equivalence.ast | 233 +- spec/eratosthenes.ast | 82 +- spec/fact.ast | 19 +- spec/fail/3.ast | 12 +- spec/fail/bad-imports.ast | 9 +- spec/fail/bad-letrecs.ast | 25 +- spec/fail/bad-library-names-parsefail.ast | 3 +- spec/fail/bad-library-names.ast | 20 +- spec/fail/bad-strings-and-idents.ast | 36 +- spec/fail/macrofails.ast | 49 +- spec/fib.ast | 37 +- spec/gcd.ast | 57 +- spec/greatest_diff.ast | 70 +- spec/hello.ast | 5 +- spec/importtest.ast | 12 +- spec/issue-4.ast | 38 +- spec/issue-45.ast | 38 +- spec/issue-5_a.ast | 24 +- spec/issue-5_b.ast | 43 +- spec/iterfact.ast | 41 +- spec/lambdas.ast | 21 +- spec/let.ast | 21 +- spec/libcapture.ast | 28 +- spec/libgreet.ast | 41 +- spec/libs.ast | 54 +- spec/lists.ast | 242 +- spec/literals.ast | 14 +- spec/load_and_store.ast | 14 +- spec/locals.ast | 26 +- spec/norun/forever.ast | 12 +- spec/parameters.ast | 15 +- spec/process-context.ast | 24 +- spec/qsort.ast | 190 +- spec/quotes.ast | 61 +- spec/self-capture.ast | 59 +- spec/string-join.ast | 59 +- spec/strings.ast | 10 +- spec/swapit.ast | 58 +- spec/symbols.ast | 86 +- spec/tail.ast | 108 +- spec/time.ast | 39 +- spec/user-macros.ast | 85 +- spec/vectors.ast | 82 +- spec/zed.ast | 96 +- .../Feersum.CompilerServices.fsproj | 6 +- src/Feersum.Stage1/Feersum.Stage1.fsproj | 2 +- src/Feersum/Feersum.fsproj | 2 +- test/Feersum.Tests/Feersum.Tests.fsproj | 10 +- 68 files changed, 4433 insertions(+), 8293 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index e0ec469..6693113 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -25,6 +25,6 @@ all build - + diff --git a/spec/alist.ast b/spec/alist.ast index 466a1a1..4cae190 100644 --- a/spec/alist.ast +++ b/spec/alist.ast @@ -12,8 +12,7 @@ PROGRAM: (0..206) SYMBOL: (16..21) IDENTIFIER: (16..21) "write" CLOSE_PAREN: (21..22) ")" - ATMOSPHERE: (22..25) " - " + ATMOSPHERE: (22..25) "\n " FORM: (25..38) OPEN_PAREN: (25..26) "(" SYMBOL: (26..32) @@ -23,8 +22,7 @@ PROGRAM: (0..206) IDENTIFIER: (33..37) "base" CLOSE_PAREN: (37..38) ")" CLOSE_PAREN: (38..39) ")" - ATMOSPHERE: (39..40) " -" + ATMOSPHERE: (39..40) "\n" FORM: (40..154) OPEN_PAREN: (40..41) "(" SYMBOL: (41..54) @@ -32,8 +30,7 @@ PROGRAM: (0..206) ATMOSPHERE: (54..55) " " SYMBOL: (55..60) IDENTIFIER: (55..60) "alist" - ATMOSPHERE: (60..63) " - " + ATMOSPHERE: (60..63) "\n " FORM: (63..153) OPEN_PAREN: (63..64) "(" SYMBOL: (64..76) @@ -42,8 +39,7 @@ PROGRAM: (0..206) FORM: (77..79) OPEN_PAREN: (77..78) "(" CLOSE_PAREN: (78..79) ")" - ATMOSPHERE: (79..85) " - " + ATMOSPHERE: (79..85) "\n " FORM: (85..93) OPEN_PAREN: (85..86) "(" FORM: (86..89) @@ -56,8 +52,7 @@ PROGRAM: (0..206) OPEN_PAREN: (90..91) "(" CLOSE_PAREN: (91..92) ")" CLOSE_PAREN: (92..93) ")" - ATMOSPHERE: (93..99) " - " + ATMOSPHERE: (93..99) "\n " FORM: (99..152) OPEN_PAREN: (99..100) "(" FORM: (100..113) @@ -77,8 +72,7 @@ PROGRAM: (0..206) SYMBOL: (109..112) IDENTIFIER: (109..112) "..." CLOSE_PAREN: (112..113) ")" - ATMOSPHERE: (113..120) " - " + ATMOSPHERE: (113..120) "\n " FORM: (120..151) OPEN_PAREN: (120..121) "(" SYMBOL: (121..125) @@ -111,8 +105,7 @@ PROGRAM: (0..206) CLOSE_PAREN: (151..152) ")" CLOSE_PAREN: (152..153) ")" CLOSE_PAREN: (153..154) ")" - ATMOSPHERE: (154..155) " -" + ATMOSPHERE: (154..155) "\n" FORM: (155..196) OPEN_PAREN: (155..156) "(" SYMBOL: (156..163) @@ -153,6 +146,5 @@ PROGRAM: (0..206) SYMBOL: (197..204) IDENTIFIER: (197..204) "newline" CLOSE_PAREN: (204..205) ")" - ATMOSPHERE: (205..206) " -" + ATMOSPHERE: (205..206) "\n" EOF: (206..206) "" diff --git a/spec/begin.ast b/spec/begin.ast index 2666fb0..5f3796f 100644 --- a/spec/begin.ast +++ b/spec/begin.ast @@ -1,43 +1,34 @@ PROGRAM: (0..272) ATMOSPHERE: (0..66) ";; The `begin` special form takes a sequence and returns the value" - ATMOSPHERE: (66..67) " -" + ATMOSPHERE: (66..67) "\n" ATMOSPHERE: (67..93) ";; of the last expression." - ATMOSPHERE: (93..94) " -" + ATMOSPHERE: (93..94) "\n" FORM: (94..262) OPEN_PAREN: (94..95) "(" SYMBOL: (95..100) IDENTIFIER: (95..100) "begin" - ATMOSPHERE: (100..105) " - " + ATMOSPHERE: (100..105) "\n " CONSTANT: (105..107) NUMBER: (105..107) "12" - ATMOSPHERE: (107..112) " - " + ATMOSPHERE: (107..112) "\n " FORM: (112..164) OPEN_PAREN: (112..113) "(" SYMBOL: (113..118) IDENTIFIER: (113..118) "begin" - ATMOSPHERE: (118..128) " - " + ATMOSPHERE: (118..128) " \n " CONSTANT: (128..135) - STRING: (128..135) ""hello"" - ATMOSPHERE: (135..144) " - " + STRING: (128..135) "\"hello\"" + ATMOSPHERE: (135..144) "\n " CONSTANT: (144..147) NUMBER: (144..147) "123" - ATMOSPHERE: (147..156) " - " + ATMOSPHERE: (147..156) "\n " CONSTANT: (156..163) - STRING: (156..163) ""world"" + STRING: (156..163) "\"world\"" CLOSE_PAREN: (163..164) ")" - ATMOSPHERE: (164..169) " - " + ATMOSPHERE: (164..169) "\n " CONSTANT: (169..182) - STRING: (169..182) ""hello world"" - ATMOSPHERE: (182..187) " - " + STRING: (169..182) "\"hello world\"" + ATMOSPHERE: (182..187) "\n " FORM: (187..261) OPEN_PAREN: (187..188) "(" SYMBOL: (188..190) @@ -60,8 +51,7 @@ PROGRAM: (0..272) CONSTANT: (207..209) BOOLEAN: (207..209) "#t" CLOSE_PAREN: (209..210) ")" - ATMOSPHERE: (210..219) " - " + ATMOSPHERE: (210..219) "\n " FORM: (219..235) OPEN_PAREN: (219..220) "(" SYMBOL: (220..225) @@ -79,8 +69,7 @@ PROGRAM: (0..272) CONSTANT: (232..234) NUMBER: (232..234) "45" CLOSE_PAREN: (234..235) ")" - ATMOSPHERE: (235..244) " - " + ATMOSPHERE: (235..244) "\n " FORM: (244..260) OPEN_PAREN: (244..245) "(" SYMBOL: (245..250) diff --git a/spec/booleans.ast b/spec/booleans.ast index c52d106..8280d8b 100644 --- a/spec/booleans.ast +++ b/spec/booleans.ast @@ -12,8 +12,7 @@ PROGRAM: (0..1176) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,11 +22,9 @@ PROGRAM: (0..1176) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" ATMOSPHERE: (42..76) ";; Boolean literals and truthiness" - ATMOSPHERE: (76..77) " -" + ATMOSPHERE: (76..77) "\n" FORM: (77..531) OPEN_PAREN: (77..78) "(" SYMBOL: (78..85) @@ -37,24 +34,19 @@ PROGRAM: (0..1176) OPEN_PAREN: (86..87) "(" SYMBOL: (87..91) IDENTIFIER: (87..91) "list" - ATMOSPHERE: (91..96) " - " + ATMOSPHERE: (91..96) "\n " CONSTANT: (96..98) BOOLEAN: (96..98) "#f" - ATMOSPHERE: (98..103) " - " + ATMOSPHERE: (98..103) "\n " CONSTANT: (103..109) BOOLEAN: (103..109) "#false" - ATMOSPHERE: (109..114) " - " + ATMOSPHERE: (109..114) "\n " CONSTANT: (114..116) BOOLEAN: (114..116) "#t" - ATMOSPHERE: (116..121) " - " + ATMOSPHERE: (116..121) "\n " CONSTANT: (121..126) BOOLEAN: (121..126) "#true" - ATMOSPHERE: (126..131) " - " + ATMOSPHERE: (126..131) "\n " FORM: (131..145) OPEN_PAREN: (131..132) "(" SYMBOL: (132..135) @@ -66,8 +58,7 @@ PROGRAM: (0..1176) CONSTANT: (139..144) BOOLEAN: (139..144) "#true" CLOSE_PAREN: (144..145) ")" - ATMOSPHERE: (145..150) " - " + ATMOSPHERE: (145..150) "\n " FORM: (150..165) OPEN_PAREN: (150..151) "(" SYMBOL: (151..155) @@ -79,8 +70,7 @@ PROGRAM: (0..1176) CONSTANT: (159..164) BOOLEAN: (159..164) "#true" CLOSE_PAREN: (164..165) ")" - ATMOSPHERE: (165..170) " - " + ATMOSPHERE: (165..170) "\n " FORM: (170..187) OPEN_PAREN: (170..171) "(" SYMBOL: (171..177) @@ -92,8 +82,7 @@ PROGRAM: (0..1176) CONSTANT: (181..186) BOOLEAN: (181..186) "#true" CLOSE_PAREN: (186..187) ")" - ATMOSPHERE: (187..192) " - " + ATMOSPHERE: (187..192) "\n " FORM: (192..207) OPEN_PAREN: (192..193) "(" SYMBOL: (193..196) @@ -105,8 +94,7 @@ PROGRAM: (0..1176) CONSTANT: (200..206) BOOLEAN: (200..206) "#false" CLOSE_PAREN: (206..207) ")" - ATMOSPHERE: (207..212) " - " + ATMOSPHERE: (207..212) "\n " FORM: (212..228) OPEN_PAREN: (212..213) "(" SYMBOL: (213..217) @@ -118,8 +106,7 @@ PROGRAM: (0..1176) CONSTANT: (221..227) BOOLEAN: (221..227) "#false" CLOSE_PAREN: (227..228) ")" - ATMOSPHERE: (228..233) " - " + ATMOSPHERE: (228..233) "\n " FORM: (233..251) OPEN_PAREN: (233..234) "(" SYMBOL: (234..240) @@ -131,8 +118,7 @@ PROGRAM: (0..1176) CONSTANT: (244..250) BOOLEAN: (244..250) "#false" CLOSE_PAREN: (250..251) ")" - ATMOSPHERE: (251..256) " - " + ATMOSPHERE: (251..256) "\n " FORM: (256..303) OPEN_PAREN: (256..257) "(" SYMBOL: (257..259) @@ -149,21 +135,18 @@ PROGRAM: (0..1176) CONSTANT: (268..273) BOOLEAN: (268..273) "#true" CLOSE_PAREN: (273..274) ")" - ATMOSPHERE: (274..283) " - " + ATMOSPHERE: (274..283) "\n " QUOTED_DATUM: (283..297) QUOTE: (283..284) "'" SYMBOL: (284..288) IDENTIFIER: (284..288) "fail" - ATMOSPHERE: (288..297) " - " + ATMOSPHERE: (288..297) "\n " QUOTED_DATUM: (297..302) QUOTE: (297..298) "'" SYMBOL: (298..302) IDENTIFIER: (298..302) "pass" CLOSE_PAREN: (302..303) ")" - ATMOSPHERE: (303..308) " - " + ATMOSPHERE: (303..308) "\n " FORM: (308..355) OPEN_PAREN: (308..309) "(" SYMBOL: (309..311) @@ -180,21 +163,18 @@ PROGRAM: (0..1176) CONSTANT: (323..325) BOOLEAN: (323..325) "#f" CLOSE_PAREN: (325..326) ")" - ATMOSPHERE: (326..335) " - " + ATMOSPHERE: (326..335) "\n " QUOTED_DATUM: (335..349) QUOTE: (335..336) "'" SYMBOL: (336..340) IDENTIFIER: (336..340) "fail" - ATMOSPHERE: (340..349) " - " + ATMOSPHERE: (340..349) "\n " QUOTED_DATUM: (349..354) QUOTE: (349..350) "'" SYMBOL: (350..354) IDENTIFIER: (350..354) "pass" CLOSE_PAREN: (354..355) ")" - ATMOSPHERE: (355..360) " - " + ATMOSPHERE: (355..360) "\n " FORM: (360..395) OPEN_PAREN: (360..361) "(" SYMBOL: (361..363) @@ -202,21 +182,18 @@ PROGRAM: (0..1176) ATMOSPHERE: (363..364) " " CONSTANT: (364..366) BOOLEAN: (364..366) "#f" - ATMOSPHERE: (366..375) " - " + ATMOSPHERE: (366..375) "\n " QUOTED_DATUM: (375..389) QUOTE: (375..376) "'" SYMBOL: (376..380) IDENTIFIER: (376..380) "fail" - ATMOSPHERE: (380..389) " - " + ATMOSPHERE: (380..389) "\n " QUOTED_DATUM: (389..394) QUOTE: (389..390) "'" SYMBOL: (390..394) IDENTIFIER: (390..394) "pass" CLOSE_PAREN: (394..395) ")" - ATMOSPHERE: (395..400) " - " + ATMOSPHERE: (395..400) "\n " FORM: (400..435) OPEN_PAREN: (400..401) "(" SYMBOL: (401..403) @@ -224,21 +201,18 @@ PROGRAM: (0..1176) ATMOSPHERE: (403..404) " " CONSTANT: (404..406) BOOLEAN: (404..406) "#t" - ATMOSPHERE: (406..415) " - " + ATMOSPHERE: (406..415) "\n " QUOTED_DATUM: (415..429) QUOTE: (415..416) "'" SYMBOL: (416..420) IDENTIFIER: (416..420) "pass" - ATMOSPHERE: (420..429) " - " + ATMOSPHERE: (420..429) "\n " QUOTED_DATUM: (429..434) QUOTE: (429..430) "'" SYMBOL: (430..434) IDENTIFIER: (430..434) "fail" CLOSE_PAREN: (434..435) ")" - ATMOSPHERE: (435..440) " - " + ATMOSPHERE: (435..440) "\n " FORM: (440..476) OPEN_PAREN: (440..441) "(" SYMBOL: (441..443) @@ -249,21 +223,18 @@ PROGRAM: (0..1176) FORM: (445..447) OPEN_PAREN: (445..446) "(" CLOSE_PAREN: (446..447) ")" - ATMOSPHERE: (447..456) " - " + ATMOSPHERE: (447..456) "\n " QUOTED_DATUM: (456..470) QUOTE: (456..457) "'" SYMBOL: (457..461) IDENTIFIER: (457..461) "pass" - ATMOSPHERE: (461..470) " - " + ATMOSPHERE: (461..470) "\n " QUOTED_DATUM: (470..475) QUOTE: (470..471) "'" SYMBOL: (471..475) IDENTIFIER: (471..475) "fail" CLOSE_PAREN: (475..476) ")" - ATMOSPHERE: (476..481) " - " + ATMOSPHERE: (476..481) "\n " FORM: (481..524) OPEN_PAREN: (481..482) "(" SYMBOL: (482..484) @@ -273,21 +244,18 @@ PROGRAM: (0..1176) QUOTE: (485..486) "'" SYMBOL: (486..495) IDENTIFIER: (486..495) "something" - ATMOSPHERE: (495..504) " - " + ATMOSPHERE: (495..504) "\n " QUOTED_DATUM: (504..518) QUOTE: (504..505) "'" SYMBOL: (505..509) IDENTIFIER: (505..509) "pass" - ATMOSPHERE: (509..518) " - " + ATMOSPHERE: (509..518) "\n " QUOTED_DATUM: (518..523) QUOTE: (518..519) "'" SYMBOL: (519..523) IDENTIFIER: (519..523) "fail" CLOSE_PAREN: (523..524) ")" - ATMOSPHERE: (524..529) " - " + ATMOSPHERE: (524..529) "\n " CLOSE_PAREN: (529..530) ")" CLOSE_PAREN: (530..531) ")" FORM: (531..540) @@ -295,11 +263,9 @@ PROGRAM: (0..1176) SYMBOL: (532..539) IDENTIFIER: (532..539) "newline" CLOSE_PAREN: (539..540) ")" - ATMOSPHERE: (540..541) " -" + ATMOSPHERE: (540..541) "\n" ATMOSPHERE: (541..590) ";; Quoting of boolean values does nothing to them" - ATMOSPHERE: (590..591) " -" + ATMOSPHERE: (590..591) "\n" FORM: (591..626) OPEN_PAREN: (591..592) "(" SYMBOL: (592..599) @@ -309,14 +275,12 @@ PROGRAM: (0..1176) OPEN_PAREN: (600..601) "(" SYMBOL: (601..605) IDENTIFIER: (601..605) "list" - ATMOSPHERE: (605..610) " - " + ATMOSPHERE: (605..610) "\n " QUOTED_DATUM: (610..618) QUOTE: (610..611) "'" CONSTANT: (611..613) BOOLEAN: (611..613) "#f" - ATMOSPHERE: (613..618) " - " + ATMOSPHERE: (613..618) "\n " QUOTED_DATUM: (618..624) QUOTE: (618..619) "'" CONSTANT: (619..624) @@ -328,11 +292,9 @@ PROGRAM: (0..1176) SYMBOL: (627..634) IDENTIFIER: (627..634) "newline" CLOSE_PAREN: (634..635) ")" - ATMOSPHERE: (635..636) " -" + ATMOSPHERE: (635..636) "\n" ATMOSPHERE: (636..693) ";; Boolean procedures, we don't have many of them builtin" - ATMOSPHERE: (693..694) " -" + ATMOSPHERE: (693..694) "\n" FORM: (694..1167) OPEN_PAREN: (694..695) "(" SYMBOL: (695..702) @@ -342,8 +304,7 @@ PROGRAM: (0..1176) OPEN_PAREN: (703..704) "(" SYMBOL: (704..708) IDENTIFIER: (704..708) "list" - ATMOSPHERE: (708..713) " - " + ATMOSPHERE: (708..713) "\n " FORM: (713..721) OPEN_PAREN: (713..714) "(" SYMBOL: (714..717) @@ -354,8 +315,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (720..721) ")" ATMOSPHERE: (721..722) " " ATMOSPHERE: (722..729) "; -> #f" - ATMOSPHERE: (729..734) " - " + ATMOSPHERE: (729..734) "\n " FORM: (734..741) OPEN_PAREN: (734..735) "(" SYMBOL: (735..738) @@ -366,8 +326,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (740..741) ")" ATMOSPHERE: (741..742) " " ATMOSPHERE: (742..749) "; -> #f" - ATMOSPHERE: (749..754) " - " + ATMOSPHERE: (749..754) "\n " FORM: (754..768) OPEN_PAREN: (754..755) "(" SYMBOL: (755..758) @@ -384,8 +343,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (767..768) ")" ATMOSPHERE: (768..769) " " ATMOSPHERE: (769..776) "; -> #f" - ATMOSPHERE: (776..781) " - " + ATMOSPHERE: (776..781) "\n " FORM: (781..789) OPEN_PAREN: (781..782) "(" SYMBOL: (782..785) @@ -396,8 +354,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (788..789) ")" ATMOSPHERE: (789..790) " " ATMOSPHERE: (790..797) "; -> #t" - ATMOSPHERE: (797..802) " - " + ATMOSPHERE: (797..802) "\n " FORM: (802..811) OPEN_PAREN: (802..803) "(" SYMBOL: (803..806) @@ -411,8 +368,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (810..811) ")" ATMOSPHERE: (811..812) " " ATMOSPHERE: (812..819) "; -> #f" - ATMOSPHERE: (819..824) " - " + ATMOSPHERE: (819..824) "\n " FORM: (824..836) OPEN_PAREN: (824..825) "(" SYMBOL: (825..828) @@ -426,8 +382,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (835..836) ")" ATMOSPHERE: (836..837) " " ATMOSPHERE: (837..844) "; -> #f" - ATMOSPHERE: (844..849) " - " + ATMOSPHERE: (844..849) "\n " FORM: (849..859) OPEN_PAREN: (849..850) "(" SYMBOL: (850..853) @@ -440,9 +395,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (858..859) ")" ATMOSPHERE: (859..860) " " ATMOSPHERE: (860..867) "; -> #f" - ATMOSPHERE: (867..873) " - - " + ATMOSPHERE: (867..873) "\n\n " FORM: (873..886) OPEN_PAREN: (873..874) "(" SYMBOL: (874..882) @@ -453,8 +406,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (885..886) ")" ATMOSPHERE: (886..887) " " ATMOSPHERE: (887..894) "; -> #t" - ATMOSPHERE: (894..899) " - " + ATMOSPHERE: (894..899) "\n " FORM: (899..911) OPEN_PAREN: (899..900) "(" SYMBOL: (900..908) @@ -465,8 +417,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (910..911) ")" ATMOSPHERE: (911..912) " " ATMOSPHERE: (912..919) "; -> #f" - ATMOSPHERE: (919..924) " - " + ATMOSPHERE: (919..924) "\n " FORM: (924..938) OPEN_PAREN: (924..925) "(" SYMBOL: (925..933) @@ -480,9 +431,7 @@ PROGRAM: (0..1176) CLOSE_PAREN: (937..938) ")" ATMOSPHERE: (938..939) " " ATMOSPHERE: (939..946) "; -> #f" - ATMOSPHERE: (946..956) " - - " + ATMOSPHERE: (946..956) "\n \n " FORM: (956..976) OPEN_PAREN: (956..957) "(" SYMBOL: (957..966) @@ -497,8 +446,7 @@ PROGRAM: (0..1176) CONSTANT: (973..975) BOOLEAN: (973..975) "#t" CLOSE_PAREN: (975..976) ")" - ATMOSPHERE: (976..981) " - " + ATMOSPHERE: (976..981) "\n " FORM: (981..1001) OPEN_PAREN: (981..982) "(" SYMBOL: (982..991) @@ -513,8 +461,7 @@ PROGRAM: (0..1176) CONSTANT: (998..1000) BOOLEAN: (998..1000) "#t" CLOSE_PAREN: (1000..1001) ")" - ATMOSPHERE: (1001..1006) " - " + ATMOSPHERE: (1001..1006) "\n " FORM: (1006..1032) OPEN_PAREN: (1006..1007) "(" SYMBOL: (1007..1016) @@ -535,8 +482,7 @@ PROGRAM: (0..1176) CONSTANT: (1029..1031) BOOLEAN: (1029..1031) "#t" CLOSE_PAREN: (1031..1032) ")" - ATMOSPHERE: (1032..1037) " - " + ATMOSPHERE: (1032..1037) "\n " FORM: (1037..1060) OPEN_PAREN: (1037..1038) "(" SYMBOL: (1038..1047) @@ -554,8 +500,7 @@ PROGRAM: (0..1176) CONSTANT: (1057..1059) BOOLEAN: (1057..1059) "#f" CLOSE_PAREN: (1059..1060) ")" - ATMOSPHERE: (1060..1065) " - " + ATMOSPHERE: (1060..1065) "\n " FORM: (1065..1082) OPEN_PAREN: (1065..1066) "(" SYMBOL: (1066..1075) @@ -567,8 +512,7 @@ PROGRAM: (0..1176) CONSTANT: (1079..1081) BOOLEAN: (1079..1081) "#f" CLOSE_PAREN: (1081..1082) ")" - ATMOSPHERE: (1082..1087) " - " + ATMOSPHERE: (1082..1087) "\n " FORM: (1087..1103) OPEN_PAREN: (1087..1088) "(" SYMBOL: (1088..1097) @@ -580,8 +524,7 @@ PROGRAM: (0..1176) CONSTANT: (1101..1102) NUMBER: (1101..1102) "0" CLOSE_PAREN: (1102..1103) ")" - ATMOSPHERE: (1103..1108) " - " + ATMOSPHERE: (1103..1108) "\n " FORM: (1108..1126) OPEN_PAREN: (1108..1109) "(" SYMBOL: (1109..1118) @@ -596,8 +539,7 @@ PROGRAM: (0..1176) OPEN_PAREN: (1123..1124) "(" CLOSE_PAREN: (1124..1125) ")" CLOSE_PAREN: (1125..1126) ")" - ATMOSPHERE: (1126..1131) " - " + ATMOSPHERE: (1126..1131) "\n " FORM: (1131..1159) OPEN_PAREN: (1131..1132) "(" SYMBOL: (1132..1141) @@ -618,9 +560,7 @@ PROGRAM: (0..1176) CONSTANT: (1156..1158) BOOLEAN: (1156..1158) "#t" CLOSE_PAREN: (1158..1159) ")" - ATMOSPHERE: (1159..1165) " - - " + ATMOSPHERE: (1159..1165) "\n\n " CLOSE_PAREN: (1165..1166) ")" CLOSE_PAREN: (1166..1167) ")" FORM: (1167..1176) diff --git a/spec/builtin-macros.ast b/spec/builtin-macros.ast index cc36307..4505964 100644 --- a/spec/builtin-macros.ast +++ b/spec/builtin-macros.ast @@ -12,14 +12,11 @@ PROGRAM: (0..499) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" - ATMOSPHERE: (93..98) " - " + ATMOSPHERE: (93..98) "\n " ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." - ATMOSPHERE: (162..167) " - " + ATMOSPHERE: (162..167) "\n " FORM: (167..191) OPEN_PAREN: (167..168) "(" SYMBOL: (168..175) @@ -31,8 +28,7 @@ PROGRAM: (0..499) SYMBOL: (184..190) IDENTIFIER: (184..190) "macros" CLOSE_PAREN: (190..191) ")" - ATMOSPHERE: (191..196) " - " + ATMOSPHERE: (191..196) "\n " FORM: (196..210) OPEN_PAREN: (196..197) "(" SYMBOL: (197..203) @@ -42,20 +38,17 @@ PROGRAM: (0..499) IDENTIFIER: (204..209) "write" CLOSE_PAREN: (209..210) ")" CLOSE_PAREN: (210..211) ")" - ATMOSPHERE: (211..212) " -" + ATMOSPHERE: (211..212) "\n" FORM: (212..498) OPEN_PAREN: (212..213) "(" SYMBOL: (213..220) IDENTIFIER: (213..220) "display" - ATMOSPHERE: (220..225) " - " + ATMOSPHERE: (220..225) "\n " FORM: (225..497) OPEN_PAREN: (225..226) "(" SYMBOL: (226..230) IDENTIFIER: (226..230) "list" - ATMOSPHERE: (230..239) " - " + ATMOSPHERE: (230..239) "\n " FORM: (239..260) OPEN_PAREN: (239..240) "(" SYMBOL: (240..243) @@ -87,8 +80,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (259..260) ")" ATMOSPHERE: (260..261) " " ATMOSPHERE: (261..268) "; -> #t" - ATMOSPHERE: (268..277) " - " + ATMOSPHERE: (268..277) "\n " FORM: (277..298) OPEN_PAREN: (277..278) "(" SYMBOL: (278..281) @@ -120,8 +112,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (297..298) ")" ATMOSPHERE: (298..299) " " ATMOSPHERE: (299..306) "; -> #f" - ATMOSPHERE: (306..315) " - " + ATMOSPHERE: (306..315) "\n " FORM: (315..334) OPEN_PAREN: (315..316) "(" SYMBOL: (316..319) @@ -151,8 +142,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (333..334) ")" ATMOSPHERE: (334..335) " " ATMOSPHERE: (335..346) "; -> '(f g)" - ATMOSPHERE: (346..355) " - " + ATMOSPHERE: (346..355) "\n " FORM: (355..360) OPEN_PAREN: (355..356) "(" SYMBOL: (356..359) @@ -160,8 +150,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (359..360) ")" ATMOSPHERE: (360..361) " " ATMOSPHERE: (361..368) "; -> #t" - ATMOSPHERE: (368..377) " - " + ATMOSPHERE: (368..377) "\n " FORM: (377..387) OPEN_PAREN: (377..378) "(" SYMBOL: (378..380) @@ -175,8 +164,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (386..387) ")" ATMOSPHERE: (387..388) " " ATMOSPHERE: (388..395) "; -> #t" - ATMOSPHERE: (395..404) " - " + ATMOSPHERE: (395..404) "\n " FORM: (404..429) OPEN_PAREN: (404..405) "(" SYMBOL: (405..407) @@ -205,8 +193,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (428..429) ")" ATMOSPHERE: (429..430) " " ATMOSPHERE: (430..437) "; -> #t" - ATMOSPHERE: (437..446) " - " + ATMOSPHERE: (437..446) "\n " FORM: (446..464) OPEN_PAREN: (446..447) "(" SYMBOL: (447..449) @@ -226,8 +213,7 @@ PROGRAM: (0..499) CLOSE_PAREN: (463..464) ")" ATMOSPHERE: (464..465) " " ATMOSPHERE: (465..470) "; 100" - ATMOSPHERE: (470..479) " - " + ATMOSPHERE: (470..479) "\n " FORM: (479..483) OPEN_PAREN: (479..480) "(" SYMBOL: (480..482) @@ -235,10 +221,8 @@ PROGRAM: (0..499) CLOSE_PAREN: (482..483) ")" ATMOSPHERE: (483..484) " " ATMOSPHERE: (484..491) "; -> #f" - ATMOSPHERE: (491..496) " - " + ATMOSPHERE: (491..496) "\n " CLOSE_PAREN: (496..497) ")" CLOSE_PAREN: (497..498) ")" - ATMOSPHERE: (498..499) " -" + ATMOSPHERE: (498..499) "\n" EOF: (499..499) "" diff --git a/spec/builtins.ast b/spec/builtins.ast index de3ab7d..69786a3 100644 --- a/spec/builtins.ast +++ b/spec/builtins.ast @@ -13,8 +13,7 @@ PROGRAM: (0..317) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" CLOSE_PAREN: (21..22) ")" - ATMOSPHERE: (22..23) " -" + ATMOSPHERE: (22..23) "\n" FORM: (23..26) OPEN_PAREN: (23..24) "(" SYMBOL: (24..25) @@ -22,8 +21,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (25..26) ")" ATMOSPHERE: (26..28) " " ATMOSPHERE: (28..35) "; => #t" - ATMOSPHERE: (35..36) " -" + ATMOSPHERE: (35..36) "\n" FORM: (36..43) OPEN_PAREN: (36..37) "(" SYMBOL: (37..38) @@ -37,8 +35,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (42..43) ")" ATMOSPHERE: (43..44) " " ATMOSPHERE: (44..51) "; => #t" - ATMOSPHERE: (51..52) " -" + ATMOSPHERE: (51..52) "\n" FORM: (52..59) OPEN_PAREN: (52..53) "(" SYMBOL: (53..54) @@ -52,14 +49,12 @@ PROGRAM: (0..317) CLOSE_PAREN: (58..59) ")" ATMOSPHERE: (59..60) " " ATMOSPHERE: (60..67) "; => #f" - ATMOSPHERE: (67..68) " -" + ATMOSPHERE: (67..68) "\n" FORM: (68..317) OPEN_PAREN: (68..69) "(" SYMBOL: (69..71) IDENTIFIER: (69..71) "if" - ATMOSPHERE: (71..77) " - " + ATMOSPHERE: (71..77) " \n " FORM: (77..83) OPEN_PAREN: (77..78) "(" SYMBOL: (78..80) @@ -70,14 +65,12 @@ PROGRAM: (0..317) CLOSE_PAREN: (82..83) ")" ATMOSPHERE: (83..84) " " ATMOSPHERE: (84..91) "; => #t" - ATMOSPHERE: (91..96) " - " + ATMOSPHERE: (91..96) "\n " FORM: (96..295) OPEN_PAREN: (96..97) "(" SYMBOL: (97..98) IDENTIFIER: (97..98) "+" - ATMOSPHERE: (98..107) " - " + ATMOSPHERE: (98..107) "\n " FORM: (107..119) OPEN_PAREN: (107..108) "(" SYMBOL: (108..109) @@ -97,8 +90,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (118..119) ")" ATMOSPHERE: (119..120) " " ATMOSPHERE: (120..127) "; => 95" - ATMOSPHERE: (127..136) " - " + ATMOSPHERE: (127..136) "\n " FORM: (136..145) OPEN_PAREN: (136..137) "(" SYMBOL: (137..138) @@ -115,8 +107,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (144..145) ")" ATMOSPHERE: (145..146) " " ATMOSPHERE: (146..153) "; => -6" - ATMOSPHERE: (153..162) " - " + ATMOSPHERE: (153..162) "\n " FORM: (162..167) OPEN_PAREN: (162..163) "(" SYMBOL: (163..164) @@ -127,8 +118,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (166..167) ")" ATMOSPHERE: (167..168) " " ATMOSPHERE: (168..175) "; => -9" - ATMOSPHERE: (175..184) " - " + ATMOSPHERE: (175..184) "\n " FORM: (184..187) OPEN_PAREN: (184..185) "(" SYMBOL: (185..186) @@ -136,8 +126,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (186..187) ")" ATMOSPHERE: (187..188) " " ATMOSPHERE: (188..194) "; => 1" - ATMOSPHERE: (194..203) " - " + ATMOSPHERE: (194..203) "\n " FORM: (203..208) OPEN_PAREN: (203..204) "(" SYMBOL: (204..205) @@ -148,8 +137,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (207..208) ")" ATMOSPHERE: (208..209) " " ATMOSPHERE: (209..217) "; => 0.5" - ATMOSPHERE: (217..226) " - " + ATMOSPHERE: (217..226) "\n " FORM: (226..233) OPEN_PAREN: (226..227) "(" SYMBOL: (227..228) @@ -163,8 +151,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (232..233) ")" ATMOSPHERE: (233..234) " " ATMOSPHERE: (234..242) "; => 2.5" - ATMOSPHERE: (242..251) " - " + ATMOSPHERE: (242..251) "\n " FORM: (251..258) OPEN_PAREN: (251..252) "(" SYMBOL: (252..253) @@ -178,8 +165,7 @@ PROGRAM: (0..317) CLOSE_PAREN: (257..258) ")" ATMOSPHERE: (258..259) " " ATMOSPHERE: (259..266) "; => 40" - ATMOSPHERE: (266..275) " - " + ATMOSPHERE: (266..275) "\n " FORM: (275..281) OPEN_PAREN: (275..276) "(" SYMBOL: (276..277) @@ -190,13 +176,11 @@ PROGRAM: (0..317) CLOSE_PAREN: (280..281) ")" ATMOSPHERE: (281..282) " " ATMOSPHERE: (282..289) "; => 76" - ATMOSPHERE: (289..294) " - " + ATMOSPHERE: (289..294) "\n " CLOSE_PAREN: (294..295) ")" ATMOSPHERE: (295..296) " " ATMOSPHERE: (296..304) "; => 200" - ATMOSPHERE: (304..309) " - " + ATMOSPHERE: (304..309) "\n " FORM: (309..316) OPEN_PAREN: (309..310) "(" SYMBOL: (310..311) diff --git a/spec/byte-vectors.ast b/spec/byte-vectors.ast index 9a02493..44b3497 100644 --- a/spec/byte-vectors.ast +++ b/spec/byte-vectors.ast @@ -12,8 +12,7 @@ PROGRAM: (0..539) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..539) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..296) OPEN_PAREN: (42..43) "(" SYMBOL: (43..50) @@ -34,24 +32,19 @@ PROGRAM: (0..539) OPEN_PAREN: (51..52) "(" SYMBOL: (52..56) IDENTIFIER: (52..56) "list" - ATMOSPHERE: (56..63) " - - " + ATMOSPHERE: (56..63) " \n\n " ATMOSPHERE: (63..86) ";; byte vector literals" - ATMOSPHERE: (86..91) " - " + ATMOSPHERE: (86..91) "\n " BYTEVEC: (91..96) OPEN_PAREN: (91..95) "#u8(" CLOSE_PAREN: (95..96) ")" - ATMOSPHERE: (96..101) " - " + ATMOSPHERE: (96..101) "\n " BYTEVEC: (101..109) OPEN_PAREN: (101..105) "#u8(" CONSTANT: (105..108) NUMBER: (105..108) "255" CLOSE_PAREN: (108..109) ")" - ATMOSPHERE: (109..114) " - " + ATMOSPHERE: (109..114) "\n " BYTEVEC: (114..126) OPEN_PAREN: (114..118) "#u8(" ATMOSPHERE: (118..119) " " @@ -65,9 +58,7 @@ PROGRAM: (0..539) NUMBER: (123..124) "3" ATMOSPHERE: (124..125) " " CLOSE_PAREN: (125..126) ")" - ATMOSPHERE: (126..132) " - - " + ATMOSPHERE: (126..132) "\n\n " FORM: (132..151) OPEN_PAREN: (132..133) "(" SYMBOL: (133..144) @@ -77,8 +68,7 @@ PROGRAM: (0..539) OPEN_PAREN: (145..149) "#u8(" CLOSE_PAREN: (149..150) ")" CLOSE_PAREN: (150..151) ")" - ATMOSPHERE: (151..156) " - " + ATMOSPHERE: (151..156) "\n " FORM: (156..186) OPEN_PAREN: (156..157) "(" SYMBOL: (157..168) @@ -96,19 +86,15 @@ PROGRAM: (0..539) NUMBER: (181..184) "255" CLOSE_PAREN: (184..185) ")" CLOSE_PAREN: (185..186) ")" - ATMOSPHERE: (186..192) " - - " + ATMOSPHERE: (186..192) "\n\n " ATMOSPHERE: (192..218) ";; byte vector constructor" - ATMOSPHERE: (218..223) " - " + ATMOSPHERE: (218..223) "\n " FORM: (223..235) OPEN_PAREN: (223..224) "(" SYMBOL: (224..234) IDENTIFIER: (224..234) "bytevector" CLOSE_PAREN: (234..235) ")" - ATMOSPHERE: (235..240) " - " + ATMOSPHERE: (235..240) "\n " FORM: (240..260) OPEN_PAREN: (240..241) "(" SYMBOL: (241..251) @@ -126,8 +112,7 @@ PROGRAM: (0..539) CONSTANT: (258..259) NUMBER: (258..259) "5" CLOSE_PAREN: (259..260) ")" - ATMOSPHERE: (260..265) " - " + ATMOSPHERE: (260..265) "\n " FORM: (265..288) OPEN_PAREN: (265..266) "(" SYMBOL: (266..281) @@ -139,9 +124,7 @@ PROGRAM: (0..539) CONSTANT: (285..287) NUMBER: (285..287) "90" CLOSE_PAREN: (287..288) ")" - ATMOSPHERE: (288..294) " - - " + ATMOSPHERE: (288..294) "\n\n " CLOSE_PAREN: (294..295) ")" CLOSE_PAREN: (295..296) ")" FORM: (296..305) @@ -149,9 +132,7 @@ PROGRAM: (0..539) SYMBOL: (297..304) IDENTIFIER: (297..304) "newline" CLOSE_PAREN: (304..305) ")" - ATMOSPHERE: (305..307) " - -" + ATMOSPHERE: (305..307) "\n\n" FORM: (307..342) OPEN_PAREN: (307..308) "(" SYMBOL: (308..314) @@ -178,8 +159,7 @@ PROGRAM: (0..539) NUMBER: (339..340) "5" CLOSE_PAREN: (340..341) ")" CLOSE_PAREN: (341..342) ")" - ATMOSPHERE: (342..343) " -" + ATMOSPHERE: (342..343) "\n" FORM: (343..384) OPEN_PAREN: (343..344) "(" SYMBOL: (344..351) @@ -199,8 +179,7 @@ PROGRAM: (0..539) SYMBOL: (385..392) IDENTIFIER: (385..392) "newline" CLOSE_PAREN: (392..393) ")" - ATMOSPHERE: (393..394) " -" + ATMOSPHERE: (393..394) "\n" FORM: (394..437) OPEN_PAREN: (394..395) "(" SYMBOL: (395..402) @@ -223,8 +202,7 @@ PROGRAM: (0..539) SYMBOL: (438..445) IDENTIFIER: (438..445) "newline" CLOSE_PAREN: (445..446) ")" - ATMOSPHERE: (446..447) " -" + ATMOSPHERE: (446..447) "\n" FORM: (447..485) OPEN_PAREN: (447..448) "(" SYMBOL: (448..466) @@ -239,8 +217,7 @@ PROGRAM: (0..539) CONSTANT: (481..484) NUMBER: (481..484) "101" CLOSE_PAREN: (484..485) ")" - ATMOSPHERE: (485..486) " -" + ATMOSPHERE: (485..486) "\n" FORM: (486..529) OPEN_PAREN: (486..487) "(" SYMBOL: (487..494) @@ -263,6 +240,5 @@ PROGRAM: (0..539) SYMBOL: (530..537) IDENTIFIER: (530..537) "newline" CLOSE_PAREN: (537..538) ")" - ATMOSPHERE: (538..539) " -" + ATMOSPHERE: (538..539) "\n" EOF: (539..539) "" diff --git a/spec/capturetest.ast b/spec/capturetest.ast index b5c2b49..fe1906d 100644 --- a/spec/capturetest.ast +++ b/spec/capturetest.ast @@ -12,8 +12,7 @@ PROGRAM: (0..208) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..208) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..84) OPEN_PAREN: (42..43) "(" SYMBOL: (43..50) @@ -61,8 +59,7 @@ PROGRAM: (0..208) CLOSE_PAREN: (81..82) ")" CLOSE_PAREN: (82..83) ")" CLOSE_PAREN: (83..84) ")" - ATMOSPHERE: (84..85) " -" + ATMOSPHERE: (84..85) "\n" FORM: (85..140) OPEN_PAREN: (85..86) "(" SYMBOL: (86..93) @@ -111,8 +108,7 @@ PROGRAM: (0..208) CLOSE_PAREN: (137..138) ")" CLOSE_PAREN: (138..139) ")" CLOSE_PAREN: (139..140) ")" - ATMOSPHERE: (140..141) " -" + ATMOSPHERE: (140..141) "\n" FORM: (141..208) OPEN_PAREN: (141..142) "(" FORM: (142..202) @@ -127,8 +123,7 @@ PROGRAM: (0..208) SYMBOL: (152..153) IDENTIFIER: (152..153) "a" CLOSE_PAREN: (153..154) ")" - ATMOSPHERE: (154..159) " - " + ATMOSPHERE: (154..159) "\n " FORM: (159..188) OPEN_PAREN: (159..160) "(" SYMBOL: (160..166) @@ -139,8 +134,7 @@ PROGRAM: (0..208) SYMBOL: (168..169) IDENTIFIER: (168..169) "b" CLOSE_PAREN: (169..170) ")" - ATMOSPHERE: (170..180) " - " + ATMOSPHERE: (170..180) " \n " FORM: (180..187) OPEN_PAREN: (180..181) "(" SYMBOL: (181..182) @@ -154,8 +148,7 @@ PROGRAM: (0..208) CLOSE_PAREN: (186..187) ")" CLOSE_PAREN: (187..188) ")" CLOSE_PAREN: (188..189) ")" - ATMOSPHERE: (189..192) " - " + ATMOSPHERE: (189..192) "\n " FORM: (192..201) OPEN_PAREN: (192..193) "(" SYMBOL: (193..194) @@ -168,8 +161,7 @@ PROGRAM: (0..208) NUMBER: (197..200) "123" CLOSE_PAREN: (200..201) ")" CLOSE_PAREN: (201..202) ")" - ATMOSPHERE: (202..204) " - " + ATMOSPHERE: (202..204) "\n " CONSTANT: (204..207) NUMBER: (204..207) "246" CLOSE_PAREN: (207..208) ")" diff --git a/spec/characters.ast b/spec/characters.ast index f3caa26..af38403 100644 --- a/spec/characters.ast +++ b/spec/characters.ast @@ -12,14 +12,11 @@ PROGRAM: (0..5347) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" - ATMOSPHERE: (93..98) " - " + ATMOSPHERE: (93..98) "\n " ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." - ATMOSPHERE: (162..167) " - " + ATMOSPHERE: (162..167) "\n " FORM: (167..191) OPEN_PAREN: (167..168) "(" SYMBOL: (168..175) @@ -31,8 +28,7 @@ PROGRAM: (0..5347) SYMBOL: (184..190) IDENTIFIER: (184..190) "macros" CLOSE_PAREN: (190..191) ")" - ATMOSPHERE: (191..196) " - " + ATMOSPHERE: (191..196) "\n " FORM: (196..210) OPEN_PAREN: (196..197) "(" SYMBOL: (197..203) @@ -42,9 +38,7 @@ PROGRAM: (0..5347) IDENTIFIER: (204..209) "write" CLOSE_PAREN: (209..210) ")" CLOSE_PAREN: (210..211) ")" - ATMOSPHERE: (211..213) " - -" + ATMOSPHERE: (211..213) "\n\n" FORM: (213..799) OPEN_PAREN: (213..214) "(" SYMBOL: (214..221) @@ -54,165 +48,152 @@ PROGRAM: (0..5347) OPEN_PAREN: (222..223) "(" SYMBOL: (223..232) IDENTIFIER: (223..232) "boolean=?" - ATMOSPHERE: (232..237) " - " + ATMOSPHERE: (232..237) "\n " CONSTANT: (237..239) BOOLEAN: (237..239) "#t" - ATMOSPHERE: (239..249) " - - " + ATMOSPHERE: (239..249) "\n \n " FORM: (249..278) OPEN_PAREN: (249..250) "(" SYMBOL: (250..256) IDENTIFIER: (250..256) "equal?" ATMOSPHERE: (256..257) " " CONSTANT: (257..264) - CHARACTER: (257..264) "#\alarm" + CHARACTER: (257..264) "#\\alarm" ATMOSPHERE: (264..270) " " CONSTANT: (270..277) - CHARACTER: (270..277) "#\x0007" + CHARACTER: (270..277) "#\\x0007" CLOSE_PAREN: (277..278) ")" ATMOSPHERE: (278..280) " " ATMOSPHERE: (280..288) "; U+0007" - ATMOSPHERE: (288..293) " - " + ATMOSPHERE: (288..293) "\n " FORM: (293..322) OPEN_PAREN: (293..294) "(" SYMBOL: (294..300) IDENTIFIER: (294..300) "equal?" ATMOSPHERE: (300..301) " " CONSTANT: (301..312) - CHARACTER: (301..312) "#\backspace" + CHARACTER: (301..312) "#\\backspace" ATMOSPHERE: (312..314) " " CONSTANT: (314..321) - CHARACTER: (314..321) "#\x0008" + CHARACTER: (314..321) "#\\x0008" CLOSE_PAREN: (321..322) ")" ATMOSPHERE: (322..324) " " ATMOSPHERE: (324..332) "; U+0008" - ATMOSPHERE: (332..337) " - " + ATMOSPHERE: (332..337) "\n " FORM: (337..366) OPEN_PAREN: (337..338) "(" SYMBOL: (338..344) IDENTIFIER: (338..344) "equal?" ATMOSPHERE: (344..345) " " CONSTANT: (345..353) - CHARACTER: (345..353) "#\delete" + CHARACTER: (345..353) "#\\delete" ATMOSPHERE: (353..358) " " CONSTANT: (358..365) - CHARACTER: (358..365) "#\x007F" + CHARACTER: (358..365) "#\\x007F" CLOSE_PAREN: (365..366) ")" ATMOSPHERE: (366..368) " " ATMOSPHERE: (368..376) "; U+007F" - ATMOSPHERE: (376..381) " - " + ATMOSPHERE: (376..381) "\n " FORM: (381..410) OPEN_PAREN: (381..382) "(" SYMBOL: (382..388) IDENTIFIER: (382..388) "equal?" ATMOSPHERE: (388..389) " " CONSTANT: (389..397) - CHARACTER: (389..397) "#\escape" + CHARACTER: (389..397) "#\\escape" ATMOSPHERE: (397..402) " " CONSTANT: (402..409) - CHARACTER: (402..409) "#\x001B" + CHARACTER: (402..409) "#\\x001B" CLOSE_PAREN: (409..410) ")" ATMOSPHERE: (410..412) " " ATMOSPHERE: (412..420) "; U+001B" - ATMOSPHERE: (420..425) " - " + ATMOSPHERE: (420..425) "\n " FORM: (425..454) OPEN_PAREN: (425..426) "(" SYMBOL: (426..432) IDENTIFIER: (426..432) "equal?" ATMOSPHERE: (432..433) " " CONSTANT: (433..442) - CHARACTER: (433..442) "#\newline" + CHARACTER: (433..442) "#\\newline" ATMOSPHERE: (442..446) " " CONSTANT: (446..453) - CHARACTER: (446..453) "#\x000A" + CHARACTER: (446..453) "#\\x000A" CLOSE_PAREN: (453..454) ")" ATMOSPHERE: (454..456) " " ATMOSPHERE: (456..488) "; the linefeed character, U+000A" - ATMOSPHERE: (488..493) " - " + ATMOSPHERE: (488..493) "\n " FORM: (493..522) OPEN_PAREN: (493..494) "(" SYMBOL: (494..500) IDENTIFIER: (494..500) "equal?" ATMOSPHERE: (500..501) " " CONSTANT: (501..507) - CHARACTER: (501..507) "#\null" + CHARACTER: (501..507) "#\\null" ATMOSPHERE: (507..514) " " CONSTANT: (514..521) - CHARACTER: (514..521) "#\x0000" + CHARACTER: (514..521) "#\\x0000" CLOSE_PAREN: (521..522) ")" ATMOSPHERE: (522..524) " " ATMOSPHERE: (524..552) "; the null character, U+0000" - ATMOSPHERE: (552..557) " - " + ATMOSPHERE: (552..557) "\n " FORM: (557..586) OPEN_PAREN: (557..558) "(" SYMBOL: (558..564) IDENTIFIER: (558..564) "equal?" ATMOSPHERE: (564..565) " " CONSTANT: (565..573) - CHARACTER: (565..573) "#\return" + CHARACTER: (565..573) "#\\return" ATMOSPHERE: (573..578) " " CONSTANT: (578..585) - CHARACTER: (578..585) "#\x000D" + CHARACTER: (578..585) "#\\x000D" CLOSE_PAREN: (585..586) ")" ATMOSPHERE: (586..588) " " ATMOSPHERE: (588..618) "; the return character, U+000D" - ATMOSPHERE: (618..623) " - " + ATMOSPHERE: (618..623) "\n " FORM: (623..652) OPEN_PAREN: (623..624) "(" SYMBOL: (624..630) IDENTIFIER: (624..630) "equal?" ATMOSPHERE: (630..631) " " CONSTANT: (631..638) - CHARACTER: (631..638) "#\space" + CHARACTER: (631..638) "#\\space" ATMOSPHERE: (638..644) " " CONSTANT: (644..647) - CHARACTER: (644..647) "#\ " + CHARACTER: (644..647) "#\\ " ATMOSPHERE: (647..651) " " CLOSE_PAREN: (651..652) ")" ATMOSPHERE: (652..654) " " ATMOSPHERE: (654..690) "; the preferred way to write a space" - ATMOSPHERE: (690..695) " - " + ATMOSPHERE: (690..695) "\n " FORM: (695..724) OPEN_PAREN: (695..696) "(" SYMBOL: (696..702) IDENTIFIER: (696..702) "equal?" ATMOSPHERE: (702..703) " " CONSTANT: (703..708) - CHARACTER: (703..708) "#\tab" + CHARACTER: (703..708) "#\\tab" ATMOSPHERE: (708..716) " " CONSTANT: (716..723) - CHARACTER: (716..723) "#\x0009" + CHARACTER: (716..723) "#\\x0009" CLOSE_PAREN: (723..724) ")" ATMOSPHERE: (724..726) " " ATMOSPHERE: (726..753) "; the tab character, U+0009" - ATMOSPHERE: (753..758) " - " + ATMOSPHERE: (753..758) "\n " FORM: (758..787) OPEN_PAREN: (758..759) "(" SYMBOL: (759..765) IDENTIFIER: (759..765) "equal?" ATMOSPHERE: (765..766) " " CONSTANT: (766..773) - CHARACTER: (766..773) "#\x03BB" + CHARACTER: (766..773) "#\\x03BB" ATMOSPHERE: (773..779) " " CONSTANT: (779..782) - CHARACTER: (779..782) "#\λ" + CHARACTER: (779..782) "#\\λ" ATMOSPHERE: (782..786) " " CLOSE_PAREN: (786..787) ")" ATMOSPHERE: (787..789) " " ATMOSPHERE: (789..792) "; λ" - ATMOSPHERE: (792..797) " - " + ATMOSPHERE: (792..797) "\n " CLOSE_PAREN: (797..798) ")" CLOSE_PAREN: (798..799) ")" FORM: (799..808) @@ -220,12 +201,9 @@ PROGRAM: (0..5347) SYMBOL: (800..807) IDENTIFIER: (800..807) "newline" CLOSE_PAREN: (807..808) ")" - ATMOSPHERE: (808..810) " - -" + ATMOSPHERE: (808..810) "\n\n" ATMOSPHERE: (810..840) ";; Simple character operations" - ATMOSPHERE: (840..841) " -" + ATMOSPHERE: (840..841) "\n" FORM: (841..1660) OPEN_PAREN: (841..842) "(" SYMBOL: (842..849) @@ -235,38 +213,34 @@ PROGRAM: (0..5347) OPEN_PAREN: (850..851) "(" SYMBOL: (851..855) IDENTIFIER: (851..855) "list" - ATMOSPHERE: (855..860) " - " + ATMOSPHERE: (855..860) "\n " FORM: (860..875) OPEN_PAREN: (860..861) "(" SYMBOL: (861..866) IDENTIFIER: (861..866) "char?" ATMOSPHERE: (866..867) " " CONSTANT: (867..874) - CHARACTER: (867..874) "#\space" + CHARACTER: (867..874) "#\\space" CLOSE_PAREN: (874..875) ")" - ATMOSPHERE: (875..880) " - " + ATMOSPHERE: (875..880) "\n " FORM: (880..893) OPEN_PAREN: (880..881) "(" SYMBOL: (881..886) IDENTIFIER: (881..886) "char?" ATMOSPHERE: (886..887) " " CONSTANT: (887..892) - CHARACTER: (887..892) "#\tab" + CHARACTER: (887..892) "#\\tab" CLOSE_PAREN: (892..893) ")" - ATMOSPHERE: (893..898) " - " + ATMOSPHERE: (893..898) "\n " FORM: (898..912) OPEN_PAREN: (898..899) "(" SYMBOL: (899..904) IDENTIFIER: (899..904) "char?" ATMOSPHERE: (904..905) " " CONSTANT: (905..911) - CHARACTER: (905..911) "#\null" + CHARACTER: (905..911) "#\\null" CLOSE_PAREN: (911..912) ")" - ATMOSPHERE: (912..917) " - " + ATMOSPHERE: (912..917) "\n " FORM: (917..928) OPEN_PAREN: (917..918) "(" SYMBOL: (918..923) @@ -275,8 +249,7 @@ PROGRAM: (0..5347) CONSTANT: (924..927) NUMBER: (924..927) "101" CLOSE_PAREN: (927..928) ")" - ATMOSPHERE: (928..933) " - " + ATMOSPHERE: (928..933) "\n " FORM: (933..943) OPEN_PAREN: (933..934) "(" SYMBOL: (934..939) @@ -285,20 +258,15 @@ PROGRAM: (0..5347) CONSTANT: (940..942) NUMBER: (940..942) "00" CLOSE_PAREN: (942..943) ")" - ATMOSPHERE: (943..953) " - - " + ATMOSPHERE: (943..953) "\n \n " FORM: (953..1241) OPEN_PAREN: (953..954) "(" SYMBOL: (954..963) IDENTIFIER: (954..963) "boolean=?" - ATMOSPHERE: (963..972) " - " + ATMOSPHERE: (963..972) "\n " CONSTANT: (972..974) BOOLEAN: (972..974) "#t" - ATMOSPHERE: (974..988) " - - " + ATMOSPHERE: (974..988) "\n \n " FORM: (988..1021) OPEN_PAREN: (988..989) "(" SYMBOL: (989..995) @@ -310,14 +278,13 @@ PROGRAM: (0..5347) IDENTIFIER: (997..1008) "digit-value" ATMOSPHERE: (1008..1009) " " CONSTANT: (1009..1012) - CHARACTER: (1009..1012) "#\3" + CHARACTER: (1009..1012) "#\\3" CLOSE_PAREN: (1012..1013) ")" ATMOSPHERE: (1013..1019) " " CONSTANT: (1019..1020) NUMBER: (1019..1020) "3" CLOSE_PAREN: (1020..1021) ")" - ATMOSPHERE: (1021..1030) " - " + ATMOSPHERE: (1021..1030) "\n " FORM: (1030..1063) OPEN_PAREN: (1030..1031) "(" SYMBOL: (1031..1037) @@ -329,14 +296,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1039..1050) "digit-value" ATMOSPHERE: (1050..1051) " " CONSTANT: (1051..1058) - CHARACTER: (1051..1058) "#\x0664" + CHARACTER: (1051..1058) "#\\x0664" CLOSE_PAREN: (1058..1059) ")" ATMOSPHERE: (1059..1061) " " CONSTANT: (1061..1062) NUMBER: (1061..1062) "4" CLOSE_PAREN: (1062..1063) ")" - ATMOSPHERE: (1063..1072) " - " + ATMOSPHERE: (1063..1072) "\n " FORM: (1072..1105) OPEN_PAREN: (1072..1073) "(" SYMBOL: (1073..1079) @@ -348,14 +314,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1081..1092) "digit-value" ATMOSPHERE: (1092..1093) " " CONSTANT: (1093..1100) - CHARACTER: (1093..1100) "#\x0AE6" + CHARACTER: (1093..1100) "#\\x0AE6" CLOSE_PAREN: (1100..1101) ")" ATMOSPHERE: (1101..1103) " " CONSTANT: (1103..1104) NUMBER: (1103..1104) "0" CLOSE_PAREN: (1104..1105) ")" - ATMOSPHERE: (1105..1114) " - " + ATMOSPHERE: (1105..1114) "\n " FORM: (1114..1147) OPEN_PAREN: (1114..1115) "(" SYMBOL: (1115..1121) @@ -367,14 +332,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1123..1134) "digit-value" ATMOSPHERE: (1134..1135) " " CONSTANT: (1135..1142) - CHARACTER: (1135..1142) "#\x0EA6" + CHARACTER: (1135..1142) "#\\x0EA6" CLOSE_PAREN: (1142..1143) ")" ATMOSPHERE: (1143..1144) " " CONSTANT: (1144..1146) BOOLEAN: (1144..1146) "#f" CLOSE_PAREN: (1146..1147) ")" - ATMOSPHERE: (1147..1156) " - " + ATMOSPHERE: (1147..1156) "\n " FORM: (1156..1189) OPEN_PAREN: (1156..1157) "(" SYMBOL: (1157..1163) @@ -386,14 +350,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1165..1176) "digit-value" ATMOSPHERE: (1176..1177) " " CONSTANT: (1177..1180) - CHARACTER: (1177..1180) "#\১" + CHARACTER: (1177..1180) "#\\১" CLOSE_PAREN: (1180..1181) ")" ATMOSPHERE: (1181..1187) " " CONSTANT: (1187..1188) NUMBER: (1187..1188) "1" CLOSE_PAREN: (1188..1189) ")" - ATMOSPHERE: (1189..1198) " - " + ATMOSPHERE: (1189..1198) "\n " FORM: (1198..1231) OPEN_PAREN: (1198..1199) "(" SYMBOL: (1199..1205) @@ -405,29 +368,23 @@ PROGRAM: (0..5347) IDENTIFIER: (1207..1218) "digit-value" ATMOSPHERE: (1218..1219) " " CONSTANT: (1219..1222) - CHARACTER: (1219..1222) "#\५" + CHARACTER: (1219..1222) "#\\५" CLOSE_PAREN: (1222..1223) ")" ATMOSPHERE: (1223..1229) " " CONSTANT: (1229..1230) NUMBER: (1229..1230) "5" CLOSE_PAREN: (1230..1231) ")" - ATMOSPHERE: (1231..1240) " - " + ATMOSPHERE: (1231..1240) "\n " CLOSE_PAREN: (1240..1241) ")" - ATMOSPHERE: (1241..1247) " - - " + ATMOSPHERE: (1241..1247) "\n\n " FORM: (1247..1653) OPEN_PAREN: (1247..1248) "(" SYMBOL: (1248..1257) IDENTIFIER: (1248..1257) "boolean=?" - ATMOSPHERE: (1257..1266) " - " + ATMOSPHERE: (1257..1266) "\n " CONSTANT: (1266..1268) BOOLEAN: (1266..1268) "#t" - ATMOSPHERE: (1268..1278) " - - " + ATMOSPHERE: (1268..1278) "\n\n " FORM: (1278..1313) OPEN_PAREN: (1278..1279) "(" SYMBOL: (1279..1285) @@ -439,14 +396,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1287..1300) "char->integer" ATMOSPHERE: (1300..1301) " " CONSTANT: (1301..1308) - CHARACTER: (1301..1308) "#\space" + CHARACTER: (1301..1308) "#\\space" CLOSE_PAREN: (1308..1309) ")" ATMOSPHERE: (1309..1310) " " CONSTANT: (1310..1312) NUMBER: (1310..1312) "32" CLOSE_PAREN: (1312..1313) ")" - ATMOSPHERE: (1313..1322) " - " + ATMOSPHERE: (1313..1322) "\n " FORM: (1322..1355) OPEN_PAREN: (1322..1323) "(" SYMBOL: (1323..1329) @@ -458,14 +414,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1331..1344) "char->integer" ATMOSPHERE: (1344..1345) " " CONSTANT: (1345..1351) - CHARACTER: (1345..1351) "#\null" + CHARACTER: (1345..1351) "#\\null" CLOSE_PAREN: (1351..1352) ")" ATMOSPHERE: (1352..1353) " " CONSTANT: (1353..1354) NUMBER: (1353..1354) "0" CLOSE_PAREN: (1354..1355) ")" - ATMOSPHERE: (1355..1364) " - " + ATMOSPHERE: (1355..1364) "\n " FORM: (1364..1401) OPEN_PAREN: (1364..1365) "(" SYMBOL: (1365..1371) @@ -477,14 +432,13 @@ PROGRAM: (0..5347) IDENTIFIER: (1373..1386) "char->integer" ATMOSPHERE: (1386..1387) " " CONSTANT: (1387..1394) - CHARACTER: (1387..1394) "#\x0EA6" + CHARACTER: (1387..1394) "#\\x0EA6" CLOSE_PAREN: (1394..1395) ")" ATMOSPHERE: (1395..1396) " " CONSTANT: (1396..1400) NUMBER: (1396..1400) "3750" CLOSE_PAREN: (1400..1401) ")" - ATMOSPHERE: (1401..1410) " - " + ATMOSPHERE: (1401..1410) "\n " FORM: (1410..1441) OPEN_PAREN: (1410..1411) "(" SYMBOL: (1411..1417) @@ -500,10 +454,9 @@ PROGRAM: (0..5347) CLOSE_PAREN: (1435..1436) ")" ATMOSPHERE: (1436..1437) " " CONSTANT: (1437..1440) - CHARACTER: (1437..1440) "#\&" + CHARACTER: (1437..1440) "#\\&" CLOSE_PAREN: (1440..1441) ")" - ATMOSPHERE: (1441..1450) " - " + ATMOSPHERE: (1441..1450) "\n " FORM: (1450..1484) OPEN_PAREN: (1450..1451) "(" SYMBOL: (1451..1457) @@ -519,10 +472,9 @@ PROGRAM: (0..5347) CLOSE_PAREN: (1474..1475) ")" ATMOSPHERE: (1475..1476) " " CONSTANT: (1476..1483) - CHARACTER: (1476..1483) "#\x0000" + CHARACTER: (1476..1483) "#\\x0000" CLOSE_PAREN: (1483..1484) ")" - ATMOSPHERE: (1484..1493) " - " + ATMOSPHERE: (1484..1493) "\n " FORM: (1493..1531) OPEN_PAREN: (1493..1494) "(" SYMBOL: (1494..1500) @@ -538,11 +490,9 @@ PROGRAM: (0..5347) CLOSE_PAREN: (1521..1522) ")" ATMOSPHERE: (1522..1523) " " CONSTANT: (1523..1530) - CHARACTER: (1523..1530) "#\xD7FF" + CHARACTER: (1523..1530) "#\\xD7FF" CLOSE_PAREN: (1530..1531) ")" - ATMOSPHERE: (1531..1541) " - - " + ATMOSPHERE: (1531..1541) "\n\n " FORM: (1541..1643) OPEN_PAREN: (1541..1542) "(" SYMBOL: (1542..1545) @@ -565,8 +515,7 @@ PROGRAM: (0..5347) CLOSE_PAREN: (1577..1578) ")" CLOSE_PAREN: (1578..1579) ")" CLOSE_PAREN: (1579..1580) ")" - ATMOSPHERE: (1580..1593) " - " + ATMOSPHERE: (1580..1593) "\n " FORM: (1593..1642) OPEN_PAREN: (1593..1594) "(" SYMBOL: (1594..1597) @@ -600,11 +549,9 @@ PROGRAM: (0..5347) CLOSE_PAREN: (1640..1641) ")" CLOSE_PAREN: (1641..1642) ")" CLOSE_PAREN: (1642..1643) ")" - ATMOSPHERE: (1643..1652) " - " + ATMOSPHERE: (1643..1652) "\n " CLOSE_PAREN: (1652..1653) ")" - ATMOSPHERE: (1653..1658) " - " + ATMOSPHERE: (1653..1658) "\n " CLOSE_PAREN: (1658..1659) ")" CLOSE_PAREN: (1659..1660) ")" FORM: (1660..1669) @@ -612,12 +559,9 @@ PROGRAM: (0..5347) SYMBOL: (1661..1668) IDENTIFIER: (1661..1668) "newline" CLOSE_PAREN: (1668..1669) ")" - ATMOSPHERE: (1669..1671) " - -" + ATMOSPHERE: (1669..1671) "\n\n" ATMOSPHERE: (1671..1695) ";; Character comparisons" - ATMOSPHERE: (1695..1696) " -" + ATMOSPHERE: (1695..1696) "\n" FORM: (1696..3757) OPEN_PAREN: (1696..1697) "(" SYMBOL: (1697..1704) @@ -627,77 +571,70 @@ PROGRAM: (0..5347) OPEN_PAREN: (1705..1706) "(" SYMBOL: (1706..1715) IDENTIFIER: (1706..1715) "boolean=?" - ATMOSPHERE: (1715..1720) " - " + ATMOSPHERE: (1715..1720) "\n " CONSTANT: (1720..1722) BOOLEAN: (1720..1722) "#t" - ATMOSPHERE: (1722..1732) " - - " + ATMOSPHERE: (1722..1732) "\n \n " FORM: (1732..1752) OPEN_PAREN: (1732..1733) "(" SYMBOL: (1733..1739) IDENTIFIER: (1733..1739) "char=?" ATMOSPHERE: (1739..1740) " " CONSTANT: (1740..1743) - CHARACTER: (1740..1743) "#\a" + CHARACTER: (1740..1743) "#\\a" ATMOSPHERE: (1743..1744) " " CONSTANT: (1744..1747) - CHARACTER: (1744..1747) "#\a" + CHARACTER: (1744..1747) "#\\a" ATMOSPHERE: (1747..1748) " " CONSTANT: (1748..1751) - CHARACTER: (1748..1751) "#\a" + CHARACTER: (1748..1751) "#\\a" CLOSE_PAREN: (1751..1752) ")" - ATMOSPHERE: (1752..1757) " - " + ATMOSPHERE: (1752..1757) "\n " FORM: (1757..1780) OPEN_PAREN: (1757..1758) "(" SYMBOL: (1758..1767) IDENTIFIER: (1758..1767) "char-ci=?" ATMOSPHERE: (1767..1768) " " CONSTANT: (1768..1771) - CHARACTER: (1768..1771) "#\a" + CHARACTER: (1768..1771) "#\\a" ATMOSPHERE: (1771..1772) " " CONSTANT: (1772..1775) - CHARACTER: (1772..1775) "#\a" + CHARACTER: (1772..1775) "#\\a" ATMOSPHERE: (1775..1776) " " CONSTANT: (1776..1779) - CHARACTER: (1776..1779) "#\a" + CHARACTER: (1776..1779) "#\\a" CLOSE_PAREN: (1779..1780) ")" - ATMOSPHERE: (1780..1785) " - " + ATMOSPHERE: (1780..1785) "\n " FORM: (1785..1805) OPEN_PAREN: (1785..1786) "(" SYMBOL: (1786..1792) IDENTIFIER: (1786..1792) "char=?" ATMOSPHERE: (1792..1793) " " CONSTANT: (1793..1796) - CHARACTER: (1793..1796) "#\A" + CHARACTER: (1793..1796) "#\\A" ATMOSPHERE: (1796..1797) " " CONSTANT: (1797..1800) - CHARACTER: (1797..1800) "#\A" + CHARACTER: (1797..1800) "#\\A" ATMOSPHERE: (1800..1801) " " CONSTANT: (1801..1804) - CHARACTER: (1801..1804) "#\A" + CHARACTER: (1801..1804) "#\\A" CLOSE_PAREN: (1804..1805) ")" - ATMOSPHERE: (1805..1810) " - " + ATMOSPHERE: (1805..1810) "\n " FORM: (1810..1833) OPEN_PAREN: (1810..1811) "(" SYMBOL: (1811..1820) IDENTIFIER: (1811..1820) "char-ci=?" ATMOSPHERE: (1820..1821) " " CONSTANT: (1821..1824) - CHARACTER: (1821..1824) "#\A" + CHARACTER: (1821..1824) "#\\A" ATMOSPHERE: (1824..1825) " " CONSTANT: (1825..1828) - CHARACTER: (1825..1828) "#\A" + CHARACTER: (1825..1828) "#\\A" ATMOSPHERE: (1828..1829) " " CONSTANT: (1829..1832) - CHARACTER: (1829..1832) "#\A" + CHARACTER: (1829..1832) "#\\A" CLOSE_PAREN: (1832..1833) ")" - ATMOSPHERE: (1833..1838) " - " + ATMOSPHERE: (1833..1838) "\n " FORM: (1838..1864) OPEN_PAREN: (1838..1839) "(" SYMBOL: (1839..1842) @@ -709,109 +646,103 @@ PROGRAM: (0..5347) IDENTIFIER: (1844..1850) "char=?" ATMOSPHERE: (1850..1851) " " CONSTANT: (1851..1854) - CHARACTER: (1851..1854) "#\a" + CHARACTER: (1851..1854) "#\\a" ATMOSPHERE: (1854..1855) " " CONSTANT: (1855..1858) - CHARACTER: (1855..1858) "#\A" + CHARACTER: (1855..1858) "#\\A" ATMOSPHERE: (1858..1859) " " CONSTANT: (1859..1862) - CHARACTER: (1859..1862) "#\a" + CHARACTER: (1859..1862) "#\\a" CLOSE_PAREN: (1862..1863) ")" CLOSE_PAREN: (1863..1864) ")" - ATMOSPHERE: (1864..1869) " - " + ATMOSPHERE: (1864..1869) "\n " FORM: (1869..1892) OPEN_PAREN: (1869..1870) "(" SYMBOL: (1870..1879) IDENTIFIER: (1870..1879) "char-ci=?" ATMOSPHERE: (1879..1880) " " CONSTANT: (1880..1883) - CHARACTER: (1880..1883) "#\a" + CHARACTER: (1880..1883) "#\\a" ATMOSPHERE: (1883..1884) " " CONSTANT: (1884..1887) - CHARACTER: (1884..1887) "#\A" + CHARACTER: (1884..1887) "#\\A" ATMOSPHERE: (1887..1888) " " CONSTANT: (1888..1891) - CHARACTER: (1888..1891) "#\a" + CHARACTER: (1888..1891) "#\\a" CLOSE_PAREN: (1891..1892) ")" - ATMOSPHERE: (1892..1897) " - " + ATMOSPHERE: (1892..1897) "\n " FORM: (1897..1917) OPEN_PAREN: (1897..1898) "(" SYMBOL: (1898..1904) IDENTIFIER: (1898..1904) "char=?" ATMOSPHERE: (1904..1905) " " CONSTANT: (1905..1908) - CHARACTER: (1905..1908) "#\λ" + CHARACTER: (1905..1908) "#\\λ" ATMOSPHERE: (1908..1909) " " CONSTANT: (1909..1912) - CHARACTER: (1909..1912) "#\λ" + CHARACTER: (1909..1912) "#\\λ" ATMOSPHERE: (1912..1913) " " CONSTANT: (1913..1916) - CHARACTER: (1913..1916) "#\λ" + CHARACTER: (1913..1916) "#\\λ" CLOSE_PAREN: (1916..1917) ")" - ATMOSPHERE: (1917..1922) " - " + ATMOSPHERE: (1917..1922) "\n " FORM: (1922..1945) OPEN_PAREN: (1922..1923) "(" SYMBOL: (1923..1932) IDENTIFIER: (1923..1932) "char-ci=?" ATMOSPHERE: (1932..1933) " " CONSTANT: (1933..1936) - CHARACTER: (1933..1936) "#\λ" + CHARACTER: (1933..1936) "#\\λ" ATMOSPHERE: (1936..1937) " " CONSTANT: (1937..1940) - CHARACTER: (1937..1940) "#\λ" + CHARACTER: (1937..1940) "#\\λ" ATMOSPHERE: (1940..1941) " " CONSTANT: (1941..1944) - CHARACTER: (1941..1944) "#\λ" + CHARACTER: (1941..1944) "#\\λ" CLOSE_PAREN: (1944..1945) ")" - ATMOSPHERE: (1945..1950) " - " + ATMOSPHERE: (1945..1950) "\n " FORM: (1950..1978) OPEN_PAREN: (1950..1951) "(" SYMBOL: (1951..1957) IDENTIFIER: (1951..1957) "char=?" ATMOSPHERE: (1957..1958) " " CONSTANT: (1958..1961) - CHARACTER: (1958..1961) "#\Λ" + CHARACTER: (1958..1961) "#\\Λ" ATMOSPHERE: (1961..1962) " " CONSTANT: (1962..1965) - CHARACTER: (1962..1965) "#\Λ" + CHARACTER: (1962..1965) "#\\Λ" ATMOSPHERE: (1965..1966) " " CONSTANT: (1966..1969) - CHARACTER: (1966..1969) "#\Λ" + CHARACTER: (1966..1969) "#\\Λ" ATMOSPHERE: (1969..1970) " " CONSTANT: (1970..1973) - CHARACTER: (1970..1973) "#\Λ" + CHARACTER: (1970..1973) "#\\Λ" ATMOSPHERE: (1973..1974) " " CONSTANT: (1974..1977) - CHARACTER: (1974..1977) "#\Λ" + CHARACTER: (1974..1977) "#\\Λ" CLOSE_PAREN: (1977..1978) ")" - ATMOSPHERE: (1978..1983) " - " + ATMOSPHERE: (1978..1983) "\n " FORM: (1983..2014) OPEN_PAREN: (1983..1984) "(" SYMBOL: (1984..1993) IDENTIFIER: (1984..1993) "char-ci=?" ATMOSPHERE: (1993..1994) " " CONSTANT: (1994..1997) - CHARACTER: (1994..1997) "#\Λ" + CHARACTER: (1994..1997) "#\\Λ" ATMOSPHERE: (1997..1998) " " CONSTANT: (1998..2001) - CHARACTER: (1998..2001) "#\Λ" + CHARACTER: (1998..2001) "#\\Λ" ATMOSPHERE: (2001..2002) " " CONSTANT: (2002..2005) - CHARACTER: (2002..2005) "#\Λ" + CHARACTER: (2002..2005) "#\\Λ" ATMOSPHERE: (2005..2006) " " CONSTANT: (2006..2009) - CHARACTER: (2006..2009) "#\Λ" + CHARACTER: (2006..2009) "#\\Λ" ATMOSPHERE: (2009..2010) " " CONSTANT: (2010..2013) - CHARACTER: (2010..2013) "#\Λ" + CHARACTER: (2010..2013) "#\\Λ" CLOSE_PAREN: (2013..2014) ")" - ATMOSPHERE: (2014..2019) " - " + ATMOSPHERE: (2014..2019) "\n " FORM: (2019..2053) OPEN_PAREN: (2019..2020) "(" SYMBOL: (2020..2023) @@ -823,45 +754,43 @@ PROGRAM: (0..5347) IDENTIFIER: (2025..2031) "char=?" ATMOSPHERE: (2031..2032) " " CONSTANT: (2032..2035) - CHARACTER: (2032..2035) "#\Λ" + CHARACTER: (2032..2035) "#\\Λ" ATMOSPHERE: (2035..2036) " " CONSTANT: (2036..2039) - CHARACTER: (2036..2039) "#\λ" + CHARACTER: (2036..2039) "#\\λ" ATMOSPHERE: (2039..2040) " " CONSTANT: (2040..2043) - CHARACTER: (2040..2043) "#\Λ" + CHARACTER: (2040..2043) "#\\Λ" ATMOSPHERE: (2043..2044) " " CONSTANT: (2044..2047) - CHARACTER: (2044..2047) "#\Λ" + CHARACTER: (2044..2047) "#\\Λ" ATMOSPHERE: (2047..2048) " " CONSTANT: (2048..2051) - CHARACTER: (2048..2051) "#\Λ" + CHARACTER: (2048..2051) "#\\Λ" CLOSE_PAREN: (2051..2052) ")" CLOSE_PAREN: (2052..2053) ")" - ATMOSPHERE: (2053..2058) " - " + ATMOSPHERE: (2053..2058) "\n " FORM: (2058..2089) OPEN_PAREN: (2058..2059) "(" SYMBOL: (2059..2068) IDENTIFIER: (2059..2068) "char-ci=?" ATMOSPHERE: (2068..2069) " " CONSTANT: (2069..2072) - CHARACTER: (2069..2072) "#\Λ" + CHARACTER: (2069..2072) "#\\Λ" ATMOSPHERE: (2072..2073) " " CONSTANT: (2073..2076) - CHARACTER: (2073..2076) "#\λ" + CHARACTER: (2073..2076) "#\\λ" ATMOSPHERE: (2076..2077) " " CONSTANT: (2077..2080) - CHARACTER: (2077..2080) "#\Λ" + CHARACTER: (2077..2080) "#\\Λ" ATMOSPHERE: (2080..2081) " " CONSTANT: (2081..2084) - CHARACTER: (2081..2084) "#\Λ" + CHARACTER: (2081..2084) "#\\Λ" ATMOSPHERE: (2084..2085) " " CONSTANT: (2085..2088) - CHARACTER: (2085..2088) "#\Λ" + CHARACTER: (2085..2088) "#\\Λ" CLOSE_PAREN: (2088..2089) ")" - ATMOSPHERE: (2089..2094) " - " + ATMOSPHERE: (2089..2094) "\n " FORM: (2094..2128) OPEN_PAREN: (2094..2095) "(" SYMBOL: (2095..2098) @@ -873,20 +802,19 @@ PROGRAM: (0..5347) IDENTIFIER: (2100..2106) "char=?" ATMOSPHERE: (2106..2107) " " CONSTANT: (2107..2110) - CHARACTER: (2107..2110) "#\λ" + CHARACTER: (2107..2110) "#\\λ" ATMOSPHERE: (2110..2111) " " CONSTANT: (2111..2114) - CHARACTER: (2111..2114) "#\λ" + CHARACTER: (2111..2114) "#\\λ" ATMOSPHERE: (2114..2115) " " CONSTANT: (2115..2118) - CHARACTER: (2115..2118) "#\λ" + CHARACTER: (2115..2118) "#\\λ" ATMOSPHERE: (2118..2119) " " CONSTANT: (2119..2126) - CHARACTER: (2119..2126) "#\space" + CHARACTER: (2119..2126) "#\\space" CLOSE_PAREN: (2126..2127) ")" CLOSE_PAREN: (2127..2128) ")" - ATMOSPHERE: (2128..2133) " - " + ATMOSPHERE: (2128..2133) "\n " FORM: (2133..2170) OPEN_PAREN: (2133..2134) "(" SYMBOL: (2134..2137) @@ -898,20 +826,19 @@ PROGRAM: (0..5347) IDENTIFIER: (2139..2148) "char-ci=?" ATMOSPHERE: (2148..2149) " " CONSTANT: (2149..2152) - CHARACTER: (2149..2152) "#\λ" + CHARACTER: (2149..2152) "#\\λ" ATMOSPHERE: (2152..2153) " " CONSTANT: (2153..2156) - CHARACTER: (2153..2156) "#\λ" + CHARACTER: (2153..2156) "#\\λ" ATMOSPHERE: (2156..2157) " " CONSTANT: (2157..2160) - CHARACTER: (2157..2160) "#\λ" + CHARACTER: (2157..2160) "#\\λ" ATMOSPHERE: (2160..2161) " " CONSTANT: (2161..2168) - CHARACTER: (2161..2168) "#\space" + CHARACTER: (2161..2168) "#\\space" CLOSE_PAREN: (2168..2169) ")" CLOSE_PAREN: (2169..2170) ")" - ATMOSPHERE: (2170..2175) " - " + ATMOSPHERE: (2170..2175) "\n " FORM: (2175..2197) OPEN_PAREN: (2175..2176) "(" SYMBOL: (2176..2179) @@ -923,14 +850,13 @@ PROGRAM: (0..5347) IDENTIFIER: (2181..2187) "char=?" ATMOSPHERE: (2187..2188) " " CONSTANT: (2188..2191) - CHARACTER: (2188..2191) "#\a" + CHARACTER: (2188..2191) "#\\a" ATMOSPHERE: (2191..2192) " " CONSTANT: (2192..2195) - CHARACTER: (2192..2195) "#\λ" + CHARACTER: (2192..2195) "#\\λ" CLOSE_PAREN: (2195..2196) ")" CLOSE_PAREN: (2196..2197) ")" - ATMOSPHERE: (2197..2202) " - " + ATMOSPHERE: (2197..2202) "\n " FORM: (2202..2227) OPEN_PAREN: (2202..2203) "(" SYMBOL: (2203..2206) @@ -942,53 +868,49 @@ PROGRAM: (0..5347) IDENTIFIER: (2208..2217) "char-ci=?" ATMOSPHERE: (2217..2218) " " CONSTANT: (2218..2221) - CHARACTER: (2218..2221) "#\a" + CHARACTER: (2218..2221) "#\\a" ATMOSPHERE: (2221..2222) " " CONSTANT: (2222..2225) - CHARACTER: (2222..2225) "#\λ" + CHARACTER: (2222..2225) "#\\λ" CLOSE_PAREN: (2225..2226) ")" CLOSE_PAREN: (2226..2227) ")" - ATMOSPHERE: (2227..2233) " - - " + ATMOSPHERE: (2227..2233) "\n\n " FORM: (2233..2257) OPEN_PAREN: (2233..2234) "(" SYMBOL: (2234..2240) IDENTIFIER: (2234..2240) "char?" ATMOSPHERE: (3006..3007) " " CONSTANT: (3007..3010) - CHARACTER: (3007..3010) "#\a" + CHARACTER: (3007..3010) "#\\a" ATMOSPHERE: (3010..3011) " " CONSTANT: (3011..3014) - CHARACTER: (3011..3014) "#\b" + CHARACTER: (3011..3014) "#\\b" ATMOSPHERE: (3014..3015) " " CONSTANT: (3015..3018) - CHARACTER: (3015..3018) "#\c" + CHARACTER: (3015..3018) "#\\c" ATMOSPHERE: (3018..3019) " " CONSTANT: (3019..3022) - CHARACTER: (3019..3022) "#\d" + CHARACTER: (3019..3022) "#\\d" CLOSE_PAREN: (3022..3023) ")" CLOSE_PAREN: (3023..3024) ")" - ATMOSPHERE: (3024..3029) " - " + ATMOSPHERE: (3024..3029) "\n " FORM: (3029..3062) OPEN_PAREN: (3029..3030) "(" SYMBOL: (3030..3033) @@ -1479,20 +1378,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3035..3044) "char-ci>?" ATMOSPHERE: (3044..3045) " " CONSTANT: (3045..3048) - CHARACTER: (3045..3048) "#\a" + CHARACTER: (3045..3048) "#\\a" ATMOSPHERE: (3048..3049) " " CONSTANT: (3049..3052) - CHARACTER: (3049..3052) "#\b" + CHARACTER: (3049..3052) "#\\b" ATMOSPHERE: (3052..3053) " " CONSTANT: (3053..3056) - CHARACTER: (3053..3056) "#\c" + CHARACTER: (3053..3056) "#\\c" ATMOSPHERE: (3056..3057) " " CONSTANT: (3057..3060) - CHARACTER: (3057..3060) "#\d" + CHARACTER: (3057..3060) "#\\d" CLOSE_PAREN: (3060..3061) ")" CLOSE_PAREN: (3061..3062) ")" - ATMOSPHERE: (3062..3067) " - " + ATMOSPHERE: (3062..3067) "\n " FORM: (3067..3097) OPEN_PAREN: (3067..3068) "(" SYMBOL: (3068..3071) @@ -1504,20 +1402,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3073..3079) "char>?" ATMOSPHERE: (3079..3080) " " CONSTANT: (3080..3083) - CHARACTER: (3080..3083) "#\A" + CHARACTER: (3080..3083) "#\\A" ATMOSPHERE: (3083..3084) " " CONSTANT: (3084..3087) - CHARACTER: (3084..3087) "#\b" + CHARACTER: (3084..3087) "#\\b" ATMOSPHERE: (3087..3088) " " CONSTANT: (3088..3091) - CHARACTER: (3088..3091) "#\c" + CHARACTER: (3088..3091) "#\\c" ATMOSPHERE: (3091..3092) " " CONSTANT: (3092..3095) - CHARACTER: (3092..3095) "#\D" + CHARACTER: (3092..3095) "#\\D" CLOSE_PAREN: (3095..3096) ")" CLOSE_PAREN: (3096..3097) ")" - ATMOSPHERE: (3097..3102) " - " + ATMOSPHERE: (3097..3102) "\n " FORM: (3102..3135) OPEN_PAREN: (3102..3103) "(" SYMBOL: (3103..3106) @@ -1529,58 +1426,55 @@ PROGRAM: (0..5347) IDENTIFIER: (3108..3117) "char-ci>?" ATMOSPHERE: (3117..3118) " " CONSTANT: (3118..3121) - CHARACTER: (3118..3121) "#\A" + CHARACTER: (3118..3121) "#\\A" ATMOSPHERE: (3121..3122) " " CONSTANT: (3122..3125) - CHARACTER: (3122..3125) "#\b" + CHARACTER: (3122..3125) "#\\b" ATMOSPHERE: (3125..3126) " " CONSTANT: (3126..3129) - CHARACTER: (3126..3129) "#\c" + CHARACTER: (3126..3129) "#\\c" ATMOSPHERE: (3129..3130) " " CONSTANT: (3130..3133) - CHARACTER: (3130..3133) "#\D" + CHARACTER: (3130..3133) "#\\D" CLOSE_PAREN: (3133..3134) ")" CLOSE_PAREN: (3134..3135) ")" - ATMOSPHERE: (3135..3140) " - " + ATMOSPHERE: (3135..3140) "\n " FORM: (3140..3164) OPEN_PAREN: (3140..3141) "(" SYMBOL: (3141..3147) IDENTIFIER: (3141..3147) "char>?" ATMOSPHERE: (3147..3148) " " CONSTANT: (3148..3151) - CHARACTER: (3148..3151) "#\d" + CHARACTER: (3148..3151) "#\\d" ATMOSPHERE: (3151..3152) " " CONSTANT: (3152..3155) - CHARACTER: (3152..3155) "#\c" + CHARACTER: (3152..3155) "#\\c" ATMOSPHERE: (3155..3156) " " CONSTANT: (3156..3159) - CHARACTER: (3156..3159) "#\b" + CHARACTER: (3156..3159) "#\\b" ATMOSPHERE: (3159..3160) " " CONSTANT: (3160..3163) - CHARACTER: (3160..3163) "#\a" + CHARACTER: (3160..3163) "#\\a" CLOSE_PAREN: (3163..3164) ")" - ATMOSPHERE: (3164..3169) " - " + ATMOSPHERE: (3164..3169) "\n " FORM: (3169..3196) OPEN_PAREN: (3169..3170) "(" SYMBOL: (3170..3179) IDENTIFIER: (3170..3179) "char-ci>?" ATMOSPHERE: (3179..3180) " " CONSTANT: (3180..3183) - CHARACTER: (3180..3183) "#\d" + CHARACTER: (3180..3183) "#\\d" ATMOSPHERE: (3183..3184) " " CONSTANT: (3184..3187) - CHARACTER: (3184..3187) "#\c" + CHARACTER: (3184..3187) "#\\c" ATMOSPHERE: (3187..3188) " " CONSTANT: (3188..3191) - CHARACTER: (3188..3191) "#\b" + CHARACTER: (3188..3191) "#\\b" ATMOSPHERE: (3191..3192) " " CONSTANT: (3192..3195) - CHARACTER: (3192..3195) "#\a" + CHARACTER: (3192..3195) "#\\a" CLOSE_PAREN: (3195..3196) ")" - ATMOSPHERE: (3196..3201) " - " + ATMOSPHERE: (3196..3201) "\n " FORM: (3201..3231) OPEN_PAREN: (3201..3202) "(" SYMBOL: (3202..3205) @@ -1592,40 +1486,37 @@ PROGRAM: (0..5347) IDENTIFIER: (3207..3213) "char>?" ATMOSPHERE: (3213..3214) " " CONSTANT: (3214..3217) - CHARACTER: (3214..3217) "#\D" + CHARACTER: (3214..3217) "#\\D" ATMOSPHERE: (3217..3218) " " CONSTANT: (3218..3221) - CHARACTER: (3218..3221) "#\c" + CHARACTER: (3218..3221) "#\\c" ATMOSPHERE: (3221..3222) " " CONSTANT: (3222..3225) - CHARACTER: (3222..3225) "#\b" + CHARACTER: (3222..3225) "#\\b" ATMOSPHERE: (3225..3226) " " CONSTANT: (3226..3229) - CHARACTER: (3226..3229) "#\A" + CHARACTER: (3226..3229) "#\\A" CLOSE_PAREN: (3229..3230) ")" CLOSE_PAREN: (3230..3231) ")" - ATMOSPHERE: (3231..3236) " - " + ATMOSPHERE: (3231..3236) "\n " FORM: (3236..3263) OPEN_PAREN: (3236..3237) "(" SYMBOL: (3237..3246) IDENTIFIER: (3237..3246) "char-ci>?" ATMOSPHERE: (3246..3247) " " CONSTANT: (3247..3250) - CHARACTER: (3247..3250) "#\D" + CHARACTER: (3247..3250) "#\\D" ATMOSPHERE: (3250..3251) " " CONSTANT: (3251..3254) - CHARACTER: (3251..3254) "#\c" + CHARACTER: (3251..3254) "#\\c" ATMOSPHERE: (3254..3255) " " CONSTANT: (3255..3258) - CHARACTER: (3255..3258) "#\b" + CHARACTER: (3255..3258) "#\\b" ATMOSPHERE: (3258..3259) " " CONSTANT: (3259..3262) - CHARACTER: (3259..3262) "#\A" + CHARACTER: (3259..3262) "#\\A" CLOSE_PAREN: (3262..3263) ")" - ATMOSPHERE: (3263..3269) " - - " + ATMOSPHERE: (3263..3269) "\n\n " FORM: (3269..3300) OPEN_PAREN: (3269..3270) "(" SYMBOL: (3270..3273) @@ -1637,20 +1528,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3275..3282) "char>=?" ATMOSPHERE: (3282..3283) " " CONSTANT: (3283..3286) - CHARACTER: (3283..3286) "#\a" + CHARACTER: (3283..3286) "#\\a" ATMOSPHERE: (3286..3287) " " CONSTANT: (3287..3290) - CHARACTER: (3287..3290) "#\b" + CHARACTER: (3287..3290) "#\\b" ATMOSPHERE: (3290..3291) " " CONSTANT: (3291..3294) - CHARACTER: (3291..3294) "#\c" + CHARACTER: (3291..3294) "#\\c" ATMOSPHERE: (3294..3295) " " CONSTANT: (3295..3298) - CHARACTER: (3295..3298) "#\d" + CHARACTER: (3295..3298) "#\\d" CLOSE_PAREN: (3298..3299) ")" CLOSE_PAREN: (3299..3300) ")" - ATMOSPHERE: (3300..3305) " - " + ATMOSPHERE: (3300..3305) "\n " FORM: (3305..3339) OPEN_PAREN: (3305..3306) "(" SYMBOL: (3306..3309) @@ -1662,20 +1552,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3311..3321) "char-ci>=?" ATMOSPHERE: (3321..3322) " " CONSTANT: (3322..3325) - CHARACTER: (3322..3325) "#\a" + CHARACTER: (3322..3325) "#\\a" ATMOSPHERE: (3325..3326) " " CONSTANT: (3326..3329) - CHARACTER: (3326..3329) "#\b" + CHARACTER: (3326..3329) "#\\b" ATMOSPHERE: (3329..3330) " " CONSTANT: (3330..3333) - CHARACTER: (3330..3333) "#\c" + CHARACTER: (3330..3333) "#\\c" ATMOSPHERE: (3333..3334) " " CONSTANT: (3334..3337) - CHARACTER: (3334..3337) "#\d" + CHARACTER: (3334..3337) "#\\d" CLOSE_PAREN: (3337..3338) ")" CLOSE_PAREN: (3338..3339) ")" - ATMOSPHERE: (3339..3344) " - " + ATMOSPHERE: (3339..3344) "\n " FORM: (3344..3375) OPEN_PAREN: (3344..3345) "(" SYMBOL: (3345..3348) @@ -1687,20 +1576,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3350..3357) "char>=?" ATMOSPHERE: (3357..3358) " " CONSTANT: (3358..3361) - CHARACTER: (3358..3361) "#\A" + CHARACTER: (3358..3361) "#\\A" ATMOSPHERE: (3361..3362) " " CONSTANT: (3362..3365) - CHARACTER: (3362..3365) "#\b" + CHARACTER: (3362..3365) "#\\b" ATMOSPHERE: (3365..3366) " " CONSTANT: (3366..3369) - CHARACTER: (3366..3369) "#\c" + CHARACTER: (3366..3369) "#\\c" ATMOSPHERE: (3369..3370) " " CONSTANT: (3370..3373) - CHARACTER: (3370..3373) "#\D" + CHARACTER: (3370..3373) "#\\D" CLOSE_PAREN: (3373..3374) ")" CLOSE_PAREN: (3374..3375) ")" - ATMOSPHERE: (3375..3380) " - " + ATMOSPHERE: (3375..3380) "\n " FORM: (3380..3414) OPEN_PAREN: (3380..3381) "(" SYMBOL: (3381..3384) @@ -1712,58 +1600,55 @@ PROGRAM: (0..5347) IDENTIFIER: (3386..3396) "char-ci>=?" ATMOSPHERE: (3396..3397) " " CONSTANT: (3397..3400) - CHARACTER: (3397..3400) "#\A" + CHARACTER: (3397..3400) "#\\A" ATMOSPHERE: (3400..3401) " " CONSTANT: (3401..3404) - CHARACTER: (3401..3404) "#\b" + CHARACTER: (3401..3404) "#\\b" ATMOSPHERE: (3404..3405) " " CONSTANT: (3405..3408) - CHARACTER: (3405..3408) "#\c" + CHARACTER: (3405..3408) "#\\c" ATMOSPHERE: (3408..3409) " " CONSTANT: (3409..3412) - CHARACTER: (3409..3412) "#\D" + CHARACTER: (3409..3412) "#\\D" CLOSE_PAREN: (3412..3413) ")" CLOSE_PAREN: (3413..3414) ")" - ATMOSPHERE: (3414..3419) " - " + ATMOSPHERE: (3414..3419) "\n " FORM: (3419..3444) OPEN_PAREN: (3419..3420) "(" SYMBOL: (3420..3427) IDENTIFIER: (3420..3427) "char>=?" ATMOSPHERE: (3427..3428) " " CONSTANT: (3428..3431) - CHARACTER: (3428..3431) "#\d" + CHARACTER: (3428..3431) "#\\d" ATMOSPHERE: (3431..3432) " " CONSTANT: (3432..3435) - CHARACTER: (3432..3435) "#\c" + CHARACTER: (3432..3435) "#\\c" ATMOSPHERE: (3435..3436) " " CONSTANT: (3436..3439) - CHARACTER: (3436..3439) "#\b" + CHARACTER: (3436..3439) "#\\b" ATMOSPHERE: (3439..3440) " " CONSTANT: (3440..3443) - CHARACTER: (3440..3443) "#\a" + CHARACTER: (3440..3443) "#\\a" CLOSE_PAREN: (3443..3444) ")" - ATMOSPHERE: (3444..3449) " - " + ATMOSPHERE: (3444..3449) "\n " FORM: (3449..3477) OPEN_PAREN: (3449..3450) "(" SYMBOL: (3450..3460) IDENTIFIER: (3450..3460) "char-ci>=?" ATMOSPHERE: (3460..3461) " " CONSTANT: (3461..3464) - CHARACTER: (3461..3464) "#\d" + CHARACTER: (3461..3464) "#\\d" ATMOSPHERE: (3464..3465) " " CONSTANT: (3465..3468) - CHARACTER: (3465..3468) "#\c" + CHARACTER: (3465..3468) "#\\c" ATMOSPHERE: (3468..3469) " " CONSTANT: (3469..3472) - CHARACTER: (3469..3472) "#\b" + CHARACTER: (3469..3472) "#\\b" ATMOSPHERE: (3472..3473) " " CONSTANT: (3473..3476) - CHARACTER: (3473..3476) "#\a" + CHARACTER: (3473..3476) "#\\a" CLOSE_PAREN: (3476..3477) ")" - ATMOSPHERE: (3477..3482) " - " + ATMOSPHERE: (3477..3482) "\n " FORM: (3482..3513) OPEN_PAREN: (3482..3483) "(" SYMBOL: (3483..3486) @@ -1775,115 +1660,109 @@ PROGRAM: (0..5347) IDENTIFIER: (3488..3495) "char>=?" ATMOSPHERE: (3495..3496) " " CONSTANT: (3496..3499) - CHARACTER: (3496..3499) "#\D" + CHARACTER: (3496..3499) "#\\D" ATMOSPHERE: (3499..3500) " " CONSTANT: (3500..3503) - CHARACTER: (3500..3503) "#\c" + CHARACTER: (3500..3503) "#\\c" ATMOSPHERE: (3503..3504) " " CONSTANT: (3504..3507) - CHARACTER: (3504..3507) "#\b" + CHARACTER: (3504..3507) "#\\b" ATMOSPHERE: (3507..3508) " " CONSTANT: (3508..3511) - CHARACTER: (3508..3511) "#\A" + CHARACTER: (3508..3511) "#\\A" CLOSE_PAREN: (3511..3512) ")" CLOSE_PAREN: (3512..3513) ")" - ATMOSPHERE: (3513..3518) " - " + ATMOSPHERE: (3513..3518) "\n " FORM: (3518..3546) OPEN_PAREN: (3518..3519) "(" SYMBOL: (3519..3529) IDENTIFIER: (3519..3529) "char-ci>=?" ATMOSPHERE: (3529..3530) " " CONSTANT: (3530..3533) - CHARACTER: (3530..3533) "#\D" + CHARACTER: (3530..3533) "#\\D" ATMOSPHERE: (3533..3534) " " CONSTANT: (3534..3537) - CHARACTER: (3534..3537) "#\c" + CHARACTER: (3534..3537) "#\\c" ATMOSPHERE: (3537..3538) " " CONSTANT: (3538..3541) - CHARACTER: (3538..3541) "#\b" + CHARACTER: (3538..3541) "#\\b" ATMOSPHERE: (3541..3542) " " CONSTANT: (3542..3545) - CHARACTER: (3542..3545) "#\A" + CHARACTER: (3542..3545) "#\\A" CLOSE_PAREN: (3545..3546) ")" - ATMOSPHERE: (3546..3551) " - " + ATMOSPHERE: (3546..3551) "\n " FORM: (3551..3572) OPEN_PAREN: (3551..3552) "(" SYMBOL: (3552..3559) IDENTIFIER: (3552..3559) "char>=?" ATMOSPHERE: (3559..3560) " " CONSTANT: (3560..3563) - CHARACTER: (3560..3563) "#\λ" + CHARACTER: (3560..3563) "#\\λ" ATMOSPHERE: (3563..3564) " " CONSTANT: (3564..3567) - CHARACTER: (3564..3567) "#\λ" + CHARACTER: (3564..3567) "#\\λ" ATMOSPHERE: (3567..3568) " " CONSTANT: (3568..3571) - CHARACTER: (3568..3571) "#\λ" + CHARACTER: (3568..3571) "#\\λ" CLOSE_PAREN: (3571..3572) ")" - ATMOSPHERE: (3572..3577) " - " + ATMOSPHERE: (3572..3577) "\n " FORM: (3577..3601) OPEN_PAREN: (3577..3578) "(" SYMBOL: (3578..3588) IDENTIFIER: (3578..3588) "char-ci>=?" ATMOSPHERE: (3588..3589) " " CONSTANT: (3589..3592) - CHARACTER: (3589..3592) "#\λ" + CHARACTER: (3589..3592) "#\\λ" ATMOSPHERE: (3592..3593) " " CONSTANT: (3593..3596) - CHARACTER: (3593..3596) "#\λ" + CHARACTER: (3593..3596) "#\\λ" ATMOSPHERE: (3596..3597) " " CONSTANT: (3597..3600) - CHARACTER: (3597..3600) "#\λ" + CHARACTER: (3597..3600) "#\\λ" CLOSE_PAREN: (3600..3601) ")" - ATMOSPHERE: (3601..3606) " - " + ATMOSPHERE: (3601..3606) "\n " FORM: (3606..3635) OPEN_PAREN: (3606..3607) "(" SYMBOL: (3607..3614) IDENTIFIER: (3607..3614) "char>=?" ATMOSPHERE: (3614..3615) " " CONSTANT: (3615..3618) - CHARACTER: (3615..3618) "#\Λ" + CHARACTER: (3615..3618) "#\\Λ" ATMOSPHERE: (3618..3619) " " CONSTANT: (3619..3622) - CHARACTER: (3619..3622) "#\Λ" + CHARACTER: (3619..3622) "#\\Λ" ATMOSPHERE: (3622..3623) " " CONSTANT: (3623..3626) - CHARACTER: (3623..3626) "#\Λ" + CHARACTER: (3623..3626) "#\\Λ" ATMOSPHERE: (3626..3627) " " CONSTANT: (3627..3630) - CHARACTER: (3627..3630) "#\Λ" + CHARACTER: (3627..3630) "#\\Λ" ATMOSPHERE: (3630..3631) " " CONSTANT: (3631..3634) - CHARACTER: (3631..3634) "#\Λ" + CHARACTER: (3631..3634) "#\\Λ" CLOSE_PAREN: (3634..3635) ")" - ATMOSPHERE: (3635..3640) " - " + ATMOSPHERE: (3635..3640) "\n " FORM: (3640..3672) OPEN_PAREN: (3640..3641) "(" SYMBOL: (3641..3651) IDENTIFIER: (3641..3651) "char-ci>=?" ATMOSPHERE: (3651..3652) " " CONSTANT: (3652..3655) - CHARACTER: (3652..3655) "#\Λ" + CHARACTER: (3652..3655) "#\\Λ" ATMOSPHERE: (3655..3656) " " CONSTANT: (3656..3659) - CHARACTER: (3656..3659) "#\Λ" + CHARACTER: (3656..3659) "#\\Λ" ATMOSPHERE: (3659..3660) " " CONSTANT: (3660..3663) - CHARACTER: (3660..3663) "#\Λ" + CHARACTER: (3660..3663) "#\\Λ" ATMOSPHERE: (3663..3664) " " CONSTANT: (3664..3667) - CHARACTER: (3664..3667) "#\Λ" + CHARACTER: (3664..3667) "#\\Λ" ATMOSPHERE: (3667..3668) " " CONSTANT: (3668..3671) - CHARACTER: (3668..3671) "#\Λ" + CHARACTER: (3668..3671) "#\\Λ" CLOSE_PAREN: (3671..3672) ")" - ATMOSPHERE: (3672..3677) " - " + ATMOSPHERE: (3672..3677) "\n " FORM: (3677..3712) OPEN_PAREN: (3677..3678) "(" SYMBOL: (3678..3681) @@ -1895,46 +1774,43 @@ PROGRAM: (0..5347) IDENTIFIER: (3683..3690) "char>=?" ATMOSPHERE: (3690..3691) " " CONSTANT: (3691..3694) - CHARACTER: (3691..3694) "#\Λ" + CHARACTER: (3691..3694) "#\\Λ" ATMOSPHERE: (3694..3695) " " CONSTANT: (3695..3698) - CHARACTER: (3695..3698) "#\λ" + CHARACTER: (3695..3698) "#\\λ" ATMOSPHERE: (3698..3699) " " CONSTANT: (3699..3702) - CHARACTER: (3699..3702) "#\Λ" + CHARACTER: (3699..3702) "#\\Λ" ATMOSPHERE: (3702..3703) " " CONSTANT: (3703..3706) - CHARACTER: (3703..3706) "#\Λ" + CHARACTER: (3703..3706) "#\\Λ" ATMOSPHERE: (3706..3707) " " CONSTANT: (3707..3710) - CHARACTER: (3707..3710) "#\Λ" + CHARACTER: (3707..3710) "#\\Λ" CLOSE_PAREN: (3710..3711) ")" CLOSE_PAREN: (3711..3712) ")" - ATMOSPHERE: (3712..3717) " - " + ATMOSPHERE: (3712..3717) "\n " FORM: (3717..3749) OPEN_PAREN: (3717..3718) "(" SYMBOL: (3718..3728) IDENTIFIER: (3718..3728) "char-ci>=?" ATMOSPHERE: (3728..3729) " " CONSTANT: (3729..3732) - CHARACTER: (3729..3732) "#\Λ" + CHARACTER: (3729..3732) "#\\Λ" ATMOSPHERE: (3732..3733) " " CONSTANT: (3733..3736) - CHARACTER: (3733..3736) "#\λ" + CHARACTER: (3733..3736) "#\\λ" ATMOSPHERE: (3736..3737) " " CONSTANT: (3737..3740) - CHARACTER: (3737..3740) "#\Λ" + CHARACTER: (3737..3740) "#\\Λ" ATMOSPHERE: (3740..3741) " " CONSTANT: (3741..3744) - CHARACTER: (3741..3744) "#\Λ" + CHARACTER: (3741..3744) "#\\Λ" ATMOSPHERE: (3744..3745) " " CONSTANT: (3745..3748) - CHARACTER: (3745..3748) "#\Λ" + CHARACTER: (3745..3748) "#\\Λ" CLOSE_PAREN: (3748..3749) ")" - ATMOSPHERE: (3749..3755) " - - " + ATMOSPHERE: (3749..3755) "\n\n " CLOSE_PAREN: (3755..3756) ")" CLOSE_PAREN: (3756..3757) ")" FORM: (3757..3766) @@ -1942,12 +1818,9 @@ PROGRAM: (0..5347) SYMBOL: (3758..3765) IDENTIFIER: (3758..3765) "newline" CLOSE_PAREN: (3765..3766) ")" - ATMOSPHERE: (3766..3768) " - -" + ATMOSPHERE: (3766..3768) "\n\n" ATMOSPHERE: (3768..3797) ";; Character class predicates" - ATMOSPHERE: (3797..3798) " -" + ATMOSPHERE: (3797..3798) "\n" FORM: (3798..4869) OPEN_PAREN: (3798..3799) "(" SYMBOL: (3799..3806) @@ -1957,23 +1830,19 @@ PROGRAM: (0..5347) OPEN_PAREN: (3807..3808) "(" SYMBOL: (3808..3817) IDENTIFIER: (3808..3817) "boolean=?" - ATMOSPHERE: (3817..3822) " - " + ATMOSPHERE: (3817..3822) "\n " CONSTANT: (3822..3824) BOOLEAN: (3822..3824) "#t" - ATMOSPHERE: (3824..3830) " - - " + ATMOSPHERE: (3824..3830) "\n\n " FORM: (3830..3852) OPEN_PAREN: (3830..3831) "(" SYMBOL: (3831..3847) IDENTIFIER: (3831..3847) "char-alphabetic?" ATMOSPHERE: (3847..3848) " " CONSTANT: (3848..3851) - CHARACTER: (3848..3851) "#\a" + CHARACTER: (3848..3851) "#\\a" CLOSE_PAREN: (3851..3852) ")" - ATMOSPHERE: (3852..3857) " - " + ATMOSPHERE: (3852..3857) "\n " FORM: (3857..3885) OPEN_PAREN: (3857..3858) "(" SYMBOL: (3858..3861) @@ -1985,21 +1854,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3863..3879) "char-alphabetic?" ATMOSPHERE: (3879..3880) " " CONSTANT: (3880..3883) - CHARACTER: (3880..3883) "#\५" + CHARACTER: (3880..3883) "#\\५" CLOSE_PAREN: (3883..3884) ")" CLOSE_PAREN: (3884..3885) ")" - ATMOSPHERE: (3885..3890) " - " + ATMOSPHERE: (3885..3890) "\n " FORM: (3890..3912) OPEN_PAREN: (3890..3891) "(" SYMBOL: (3891..3907) IDENTIFIER: (3891..3907) "char-alphabetic?" ATMOSPHERE: (3907..3908) " " CONSTANT: (3908..3911) - CHARACTER: (3908..3911) "#\λ" + CHARACTER: (3908..3911) "#\\λ" CLOSE_PAREN: (3911..3912) ")" - ATMOSPHERE: (3912..3917) " - " + ATMOSPHERE: (3912..3917) "\n " FORM: (3917..3948) OPEN_PAREN: (3917..3918) "(" SYMBOL: (3918..3921) @@ -2011,11 +1878,10 @@ PROGRAM: (0..5347) IDENTIFIER: (3923..3939) "char-alphabetic?" ATMOSPHERE: (3939..3940) " " CONSTANT: (3940..3946) - CHARACTER: (3940..3946) "#\null" + CHARACTER: (3940..3946) "#\\null" CLOSE_PAREN: (3946..3947) ")" CLOSE_PAREN: (3947..3948) ")" - ATMOSPHERE: (3948..3953) " - " + ATMOSPHERE: (3948..3953) "\n " FORM: (3953..3985) OPEN_PAREN: (3953..3954) "(" SYMBOL: (3954..3957) @@ -2027,12 +1893,10 @@ PROGRAM: (0..5347) IDENTIFIER: (3959..3975) "char-alphabetic?" ATMOSPHERE: (3975..3976) " " CONSTANT: (3976..3983) - CHARACTER: (3976..3983) "#\space" + CHARACTER: (3976..3983) "#\\space" CLOSE_PAREN: (3983..3984) ")" CLOSE_PAREN: (3984..3985) ")" - ATMOSPHERE: (3985..3991) " - - " + ATMOSPHERE: (3985..3991) "\n\n " FORM: (3991..4016) OPEN_PAREN: (3991..3992) "(" SYMBOL: (3992..3995) @@ -2044,21 +1908,19 @@ PROGRAM: (0..5347) IDENTIFIER: (3997..4010) "char-numeric?" ATMOSPHERE: (4010..4011) " " CONSTANT: (4011..4014) - CHARACTER: (4011..4014) "#\a" + CHARACTER: (4011..4014) "#\\a" CLOSE_PAREN: (4014..4015) ")" CLOSE_PAREN: (4015..4016) ")" - ATMOSPHERE: (4016..4021) " - " + ATMOSPHERE: (4016..4021) "\n " FORM: (4021..4040) OPEN_PAREN: (4021..4022) "(" SYMBOL: (4022..4035) IDENTIFIER: (4022..4035) "char-numeric?" ATMOSPHERE: (4035..4036) " " CONSTANT: (4036..4039) - CHARACTER: (4036..4039) "#\५" + CHARACTER: (4036..4039) "#\\५" CLOSE_PAREN: (4039..4040) ")" - ATMOSPHERE: (4040..4045) " - " + ATMOSPHERE: (4040..4045) "\n " FORM: (4045..4070) OPEN_PAREN: (4045..4046) "(" SYMBOL: (4046..4049) @@ -2070,11 +1932,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4051..4064) "char-numeric?" ATMOSPHERE: (4064..4065) " " CONSTANT: (4065..4068) - CHARACTER: (4065..4068) "#\λ" + CHARACTER: (4065..4068) "#\\λ" CLOSE_PAREN: (4068..4069) ")" CLOSE_PAREN: (4069..4070) ")" - ATMOSPHERE: (4070..4075) " - " + ATMOSPHERE: (4070..4075) "\n " FORM: (4075..4103) OPEN_PAREN: (4075..4076) "(" SYMBOL: (4076..4079) @@ -2086,11 +1947,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4081..4094) "char-numeric?" ATMOSPHERE: (4094..4095) " " CONSTANT: (4095..4101) - CHARACTER: (4095..4101) "#\null" + CHARACTER: (4095..4101) "#\\null" CLOSE_PAREN: (4101..4102) ")" CLOSE_PAREN: (4102..4103) ")" - ATMOSPHERE: (4103..4108) " - " + ATMOSPHERE: (4103..4108) "\n " FORM: (4108..4137) OPEN_PAREN: (4108..4109) "(" SYMBOL: (4109..4112) @@ -2102,12 +1962,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4114..4127) "char-numeric?" ATMOSPHERE: (4127..4128) " " CONSTANT: (4128..4135) - CHARACTER: (4128..4135) "#\space" + CHARACTER: (4128..4135) "#\\space" CLOSE_PAREN: (4135..4136) ")" CLOSE_PAREN: (4136..4137) ")" - ATMOSPHERE: (4137..4143) " - - " + ATMOSPHERE: (4137..4143) "\n\n " FORM: (4143..4171) OPEN_PAREN: (4143..4144) "(" SYMBOL: (4144..4147) @@ -2119,11 +1977,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4149..4165) "char-whitespace?" ATMOSPHERE: (4165..4166) " " CONSTANT: (4166..4169) - CHARACTER: (4166..4169) "#\a" + CHARACTER: (4166..4169) "#\\a" CLOSE_PAREN: (4169..4170) ")" CLOSE_PAREN: (4170..4171) ")" - ATMOSPHERE: (4171..4176) " - " + ATMOSPHERE: (4171..4176) "\n " FORM: (4176..4204) OPEN_PAREN: (4176..4177) "(" SYMBOL: (4177..4180) @@ -2135,11 +1992,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4182..4198) "char-whitespace?" ATMOSPHERE: (4198..4199) " " CONSTANT: (4199..4202) - CHARACTER: (4199..4202) "#\५" + CHARACTER: (4199..4202) "#\\५" CLOSE_PAREN: (4202..4203) ")" CLOSE_PAREN: (4203..4204) ")" - ATMOSPHERE: (4204..4209) " - " + ATMOSPHERE: (4204..4209) "\n " FORM: (4209..4237) OPEN_PAREN: (4209..4210) "(" SYMBOL: (4210..4213) @@ -2151,11 +2007,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4215..4231) "char-whitespace?" ATMOSPHERE: (4231..4232) " " CONSTANT: (4232..4235) - CHARACTER: (4232..4235) "#\λ" + CHARACTER: (4232..4235) "#\\λ" CLOSE_PAREN: (4235..4236) ")" CLOSE_PAREN: (4236..4237) ")" - ATMOSPHERE: (4237..4242) " - " + ATMOSPHERE: (4237..4242) "\n " FORM: (4242..4273) OPEN_PAREN: (4242..4243) "(" SYMBOL: (4243..4246) @@ -2167,32 +2022,28 @@ PROGRAM: (0..5347) IDENTIFIER: (4248..4264) "char-whitespace?" ATMOSPHERE: (4264..4265) " " CONSTANT: (4265..4271) - CHARACTER: (4265..4271) "#\null" + CHARACTER: (4265..4271) "#\\null" CLOSE_PAREN: (4271..4272) ")" CLOSE_PAREN: (4272..4273) ")" - ATMOSPHERE: (4273..4278) " - " + ATMOSPHERE: (4273..4278) "\n " FORM: (4278..4304) OPEN_PAREN: (4278..4279) "(" SYMBOL: (4279..4295) IDENTIFIER: (4279..4295) "char-whitespace?" ATMOSPHERE: (4295..4296) " " CONSTANT: (4296..4303) - CHARACTER: (4296..4303) "#\space" + CHARACTER: (4296..4303) "#\\space" CLOSE_PAREN: (4303..4304) ")" - ATMOSPHERE: (4304..4309) " - " + ATMOSPHERE: (4304..4309) "\n " FORM: (4309..4333) OPEN_PAREN: (4309..4310) "(" SYMBOL: (4310..4326) IDENTIFIER: (4310..4326) "char-whitespace?" ATMOSPHERE: (4326..4327) " " CONSTANT: (4327..4332) - CHARACTER: (4327..4332) "#\tab" + CHARACTER: (4327..4332) "#\\tab" CLOSE_PAREN: (4332..4333) ")" - ATMOSPHERE: (4333..4343) " - - " + ATMOSPHERE: (4333..4343) "\n \n " FORM: (4343..4371) OPEN_PAREN: (4343..4344) "(" SYMBOL: (4344..4347) @@ -2204,21 +2055,19 @@ PROGRAM: (0..5347) IDENTIFIER: (4349..4365) "char-upper-case?" ATMOSPHERE: (4365..4366) " " CONSTANT: (4366..4369) - CHARACTER: (4366..4369) "#\a" + CHARACTER: (4366..4369) "#\\a" CLOSE_PAREN: (4369..4370) ")" CLOSE_PAREN: (4370..4371) ")" - ATMOSPHERE: (4371..4376) " - " + ATMOSPHERE: (4371..4376) "\n " FORM: (4376..4398) OPEN_PAREN: (4376..4377) "(" SYMBOL: (4377..4393) IDENTIFIER: (4377..4393) "char-upper-case?" ATMOSPHERE: (4393..4394) " " CONSTANT: (4394..4397) - CHARACTER: (4394..4397) "#\A" + CHARACTER: (4394..4397) "#\\A" CLOSE_PAREN: (4397..4398) ")" - ATMOSPHERE: (4398..4403) " - " + ATMOSPHERE: (4398..4403) "\n " FORM: (4403..4431) OPEN_PAREN: (4403..4404) "(" SYMBOL: (4404..4407) @@ -2230,11 +2079,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4409..4425) "char-upper-case?" ATMOSPHERE: (4425..4426) " " CONSTANT: (4426..4429) - CHARACTER: (4426..4429) "#\५" + CHARACTER: (4426..4429) "#\\५" CLOSE_PAREN: (4429..4430) ")" CLOSE_PAREN: (4430..4431) ")" - ATMOSPHERE: (4431..4436) " - " + ATMOSPHERE: (4431..4436) "\n " FORM: (4436..4464) OPEN_PAREN: (4436..4437) "(" SYMBOL: (4437..4440) @@ -2246,21 +2094,19 @@ PROGRAM: (0..5347) IDENTIFIER: (4442..4458) "char-upper-case?" ATMOSPHERE: (4458..4459) " " CONSTANT: (4459..4462) - CHARACTER: (4459..4462) "#\λ" + CHARACTER: (4459..4462) "#\\λ" CLOSE_PAREN: (4462..4463) ")" CLOSE_PAREN: (4463..4464) ")" - ATMOSPHERE: (4464..4469) " - " + ATMOSPHERE: (4464..4469) "\n " FORM: (4469..4491) OPEN_PAREN: (4469..4470) "(" SYMBOL: (4470..4486) IDENTIFIER: (4470..4486) "char-upper-case?" ATMOSPHERE: (4486..4487) " " CONSTANT: (4487..4490) - CHARACTER: (4487..4490) "#\Λ" + CHARACTER: (4487..4490) "#\\Λ" CLOSE_PAREN: (4490..4491) ")" - ATMOSPHERE: (4491..4496) " - " + ATMOSPHERE: (4491..4496) "\n " FORM: (4496..4527) OPEN_PAREN: (4496..4497) "(" SYMBOL: (4497..4500) @@ -2272,11 +2118,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4502..4518) "char-upper-case?" ATMOSPHERE: (4518..4519) " " CONSTANT: (4519..4525) - CHARACTER: (4519..4525) "#\null" + CHARACTER: (4519..4525) "#\\null" CLOSE_PAREN: (4525..4526) ")" CLOSE_PAREN: (4526..4527) ")" - ATMOSPHERE: (4527..4532) " - " + ATMOSPHERE: (4527..4532) "\n " FORM: (4532..4564) OPEN_PAREN: (4532..4533) "(" SYMBOL: (4533..4536) @@ -2288,11 +2133,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4538..4554) "char-upper-case?" ATMOSPHERE: (4554..4555) " " CONSTANT: (4555..4562) - CHARACTER: (4555..4562) "#\space" + CHARACTER: (4555..4562) "#\\space" CLOSE_PAREN: (4562..4563) ")" CLOSE_PAREN: (4563..4564) ")" - ATMOSPHERE: (4564..4569) " - " + ATMOSPHERE: (4564..4569) "\n " FORM: (4569..4599) OPEN_PAREN: (4569..4570) "(" SYMBOL: (4570..4573) @@ -2304,22 +2148,19 @@ PROGRAM: (0..5347) IDENTIFIER: (4575..4591) "char-upper-case?" ATMOSPHERE: (4591..4592) " " CONSTANT: (4592..4597) - CHARACTER: (4592..4597) "#\tab" + CHARACTER: (4592..4597) "#\\tab" CLOSE_PAREN: (4597..4598) ")" CLOSE_PAREN: (4598..4599) ")" - ATMOSPHERE: (4599..4605) " - - " + ATMOSPHERE: (4599..4605) "\n\n " FORM: (4605..4627) OPEN_PAREN: (4605..4606) "(" SYMBOL: (4606..4622) IDENTIFIER: (4606..4622) "char-lower-case?" ATMOSPHERE: (4622..4623) " " CONSTANT: (4623..4626) - CHARACTER: (4623..4626) "#\a" + CHARACTER: (4623..4626) "#\\a" CLOSE_PAREN: (4626..4627) ")" - ATMOSPHERE: (4627..4632) " - " + ATMOSPHERE: (4627..4632) "\n " FORM: (4632..4660) OPEN_PAREN: (4632..4633) "(" SYMBOL: (4633..4636) @@ -2331,11 +2172,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4638..4654) "char-lower-case?" ATMOSPHERE: (4654..4655) " " CONSTANT: (4655..4658) - CHARACTER: (4655..4658) "#\A" + CHARACTER: (4655..4658) "#\\A" CLOSE_PAREN: (4658..4659) ")" CLOSE_PAREN: (4659..4660) ")" - ATMOSPHERE: (4660..4665) " - " + ATMOSPHERE: (4660..4665) "\n " FORM: (4665..4693) OPEN_PAREN: (4665..4666) "(" SYMBOL: (4666..4669) @@ -2347,21 +2187,19 @@ PROGRAM: (0..5347) IDENTIFIER: (4671..4687) "char-lower-case?" ATMOSPHERE: (4687..4688) " " CONSTANT: (4688..4691) - CHARACTER: (4688..4691) "#\५" + CHARACTER: (4688..4691) "#\\५" CLOSE_PAREN: (4691..4692) ")" CLOSE_PAREN: (4692..4693) ")" - ATMOSPHERE: (4693..4698) " - " + ATMOSPHERE: (4693..4698) "\n " FORM: (4698..4720) OPEN_PAREN: (4698..4699) "(" SYMBOL: (4699..4715) IDENTIFIER: (4699..4715) "char-lower-case?" ATMOSPHERE: (4715..4716) " " CONSTANT: (4716..4719) - CHARACTER: (4716..4719) "#\λ" + CHARACTER: (4716..4719) "#\\λ" CLOSE_PAREN: (4719..4720) ")" - ATMOSPHERE: (4720..4725) " - " + ATMOSPHERE: (4720..4725) "\n " FORM: (4725..4753) OPEN_PAREN: (4725..4726) "(" SYMBOL: (4726..4729) @@ -2373,11 +2211,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4731..4747) "char-lower-case?" ATMOSPHERE: (4747..4748) " " CONSTANT: (4748..4751) - CHARACTER: (4748..4751) "#\Λ" + CHARACTER: (4748..4751) "#\\Λ" CLOSE_PAREN: (4751..4752) ")" CLOSE_PAREN: (4752..4753) ")" - ATMOSPHERE: (4753..4758) " - " + ATMOSPHERE: (4753..4758) "\n " FORM: (4758..4789) OPEN_PAREN: (4758..4759) "(" SYMBOL: (4759..4762) @@ -2389,11 +2226,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4764..4780) "char-lower-case?" ATMOSPHERE: (4780..4781) " " CONSTANT: (4781..4787) - CHARACTER: (4781..4787) "#\null" + CHARACTER: (4781..4787) "#\\null" CLOSE_PAREN: (4787..4788) ")" CLOSE_PAREN: (4788..4789) ")" - ATMOSPHERE: (4789..4794) " - " + ATMOSPHERE: (4789..4794) "\n " FORM: (4794..4826) OPEN_PAREN: (4794..4795) "(" SYMBOL: (4795..4798) @@ -2405,11 +2241,10 @@ PROGRAM: (0..5347) IDENTIFIER: (4800..4816) "char-lower-case?" ATMOSPHERE: (4816..4817) " " CONSTANT: (4817..4824) - CHARACTER: (4817..4824) "#\space" + CHARACTER: (4817..4824) "#\\space" CLOSE_PAREN: (4824..4825) ")" CLOSE_PAREN: (4825..4826) ")" - ATMOSPHERE: (4826..4831) " - " + ATMOSPHERE: (4826..4831) "\n " FORM: (4831..4861) OPEN_PAREN: (4831..4832) "(" SYMBOL: (4832..4835) @@ -2421,20 +2256,15 @@ PROGRAM: (0..5347) IDENTIFIER: (4837..4853) "char-lower-case?" ATMOSPHERE: (4853..4854) " " CONSTANT: (4854..4859) - CHARACTER: (4854..4859) "#\tab" + CHARACTER: (4854..4859) "#\\tab" CLOSE_PAREN: (4859..4860) ")" CLOSE_PAREN: (4860..4861) ")" - ATMOSPHERE: (4861..4867) " - - " + ATMOSPHERE: (4861..4867) "\n\n " CLOSE_PAREN: (4867..4868) ")" CLOSE_PAREN: (4868..4869) ")" - ATMOSPHERE: (4869..4871) " - -" + ATMOSPHERE: (4869..4871) "\n\n" ATMOSPHERE: (4871..4891) ";; casing transforms" - ATMOSPHERE: (4891..4892) " -" + ATMOSPHERE: (4891..4892) "\n" FORM: (4892..5346) OPEN_PAREN: (4892..4893) "(" SYMBOL: (4893..4900) @@ -2444,190 +2274,170 @@ PROGRAM: (0..5347) OPEN_PAREN: (4901..4902) "(" SYMBOL: (4902..4906) IDENTIFIER: (4902..4906) "list" - ATMOSPHERE: (4906..4911) " - " + ATMOSPHERE: (4906..4911) "\n " FORM: (4911..4928) OPEN_PAREN: (4911..4912) "(" SYMBOL: (4912..4923) IDENTIFIER: (4912..4923) "char-upcase" ATMOSPHERE: (4923..4924) " " CONSTANT: (4924..4927) - CHARACTER: (4924..4927) "#\a" + CHARACTER: (4924..4927) "#\\a" CLOSE_PAREN: (4927..4928) ")" - ATMOSPHERE: (4928..4933) " - " + ATMOSPHERE: (4928..4933) "\n " FORM: (4933..4950) OPEN_PAREN: (4933..4934) "(" SYMBOL: (4934..4945) IDENTIFIER: (4934..4945) "char-upcase" ATMOSPHERE: (4945..4946) " " CONSTANT: (4946..4949) - CHARACTER: (4946..4949) "#\A" + CHARACTER: (4946..4949) "#\\A" CLOSE_PAREN: (4949..4950) ")" - ATMOSPHERE: (4950..4955) " - " + ATMOSPHERE: (4950..4955) "\n " FORM: (4955..4972) OPEN_PAREN: (4955..4956) "(" SYMBOL: (4956..4967) IDENTIFIER: (4956..4967) "char-upcase" ATMOSPHERE: (4967..4968) " " CONSTANT: (4968..4971) - CHARACTER: (4968..4971) "#\५" + CHARACTER: (4968..4971) "#\\५" CLOSE_PAREN: (4971..4972) ")" - ATMOSPHERE: (4972..4977) " - " + ATMOSPHERE: (4972..4977) "\n " FORM: (4977..4994) OPEN_PAREN: (4977..4978) "(" SYMBOL: (4978..4989) IDENTIFIER: (4978..4989) "char-upcase" ATMOSPHERE: (4989..4990) " " CONSTANT: (4990..4993) - CHARACTER: (4990..4993) "#\λ" + CHARACTER: (4990..4993) "#\\λ" CLOSE_PAREN: (4993..4994) ")" - ATMOSPHERE: (4994..4999) " - " + ATMOSPHERE: (4994..4999) "\n " FORM: (4999..5019) OPEN_PAREN: (4999..5000) "(" SYMBOL: (5000..5011) IDENTIFIER: (5000..5011) "char-upcase" ATMOSPHERE: (5011..5012) " " CONSTANT: (5012..5018) - CHARACTER: (5012..5018) "#\null" + CHARACTER: (5012..5018) "#\\null" CLOSE_PAREN: (5018..5019) ")" - ATMOSPHERE: (5019..5024) " - " + ATMOSPHERE: (5019..5024) "\n " FORM: (5024..5045) OPEN_PAREN: (5024..5025) "(" SYMBOL: (5025..5036) IDENTIFIER: (5025..5036) "char-upcase" ATMOSPHERE: (5036..5037) " " CONSTANT: (5037..5044) - CHARACTER: (5037..5044) "#\space" + CHARACTER: (5037..5044) "#\\space" CLOSE_PAREN: (5044..5045) ")" - ATMOSPHERE: (5045..5050) " - " + ATMOSPHERE: (5045..5050) "\n " FORM: (5050..5069) OPEN_PAREN: (5050..5051) "(" SYMBOL: (5051..5064) IDENTIFIER: (5051..5064) "char-downcase" ATMOSPHERE: (5064..5065) " " CONSTANT: (5065..5068) - CHARACTER: (5065..5068) "#\a" + CHARACTER: (5065..5068) "#\\a" CLOSE_PAREN: (5068..5069) ")" - ATMOSPHERE: (5069..5074) " - " + ATMOSPHERE: (5069..5074) "\n " FORM: (5074..5093) OPEN_PAREN: (5074..5075) "(" SYMBOL: (5075..5088) IDENTIFIER: (5075..5088) "char-downcase" ATMOSPHERE: (5088..5089) " " CONSTANT: (5089..5092) - CHARACTER: (5089..5092) "#\A" + CHARACTER: (5089..5092) "#\\A" CLOSE_PAREN: (5092..5093) ")" - ATMOSPHERE: (5093..5098) " - " + ATMOSPHERE: (5093..5098) "\n " FORM: (5098..5117) OPEN_PAREN: (5098..5099) "(" SYMBOL: (5099..5112) IDENTIFIER: (5099..5112) "char-downcase" ATMOSPHERE: (5112..5113) " " CONSTANT: (5113..5116) - CHARACTER: (5113..5116) "#\५" + CHARACTER: (5113..5116) "#\\५" CLOSE_PAREN: (5116..5117) ")" - ATMOSPHERE: (5117..5122) " - " + ATMOSPHERE: (5117..5122) "\n " FORM: (5122..5141) OPEN_PAREN: (5122..5123) "(" SYMBOL: (5123..5136) IDENTIFIER: (5123..5136) "char-downcase" ATMOSPHERE: (5136..5137) " " CONSTANT: (5137..5140) - CHARACTER: (5137..5140) "#\Λ" + CHARACTER: (5137..5140) "#\\Λ" CLOSE_PAREN: (5140..5141) ")" - ATMOSPHERE: (5141..5146) " - " + ATMOSPHERE: (5141..5146) "\n " FORM: (5146..5166) OPEN_PAREN: (5146..5147) "(" SYMBOL: (5147..5158) IDENTIFIER: (5147..5158) "char-upcase" ATMOSPHERE: (5158..5159) " " CONSTANT: (5159..5165) - CHARACTER: (5159..5165) "#\null" + CHARACTER: (5159..5165) "#\\null" CLOSE_PAREN: (5165..5166) ")" - ATMOSPHERE: (5166..5171) " - " + ATMOSPHERE: (5166..5171) "\n " FORM: (5171..5192) OPEN_PAREN: (5171..5172) "(" SYMBOL: (5172..5183) IDENTIFIER: (5172..5183) "char-upcase" ATMOSPHERE: (5183..5184) " " CONSTANT: (5184..5191) - CHARACTER: (5184..5191) "#\space" + CHARACTER: (5184..5191) "#\\space" CLOSE_PAREN: (5191..5192) ")" - ATMOSPHERE: (5192..5197) " - " + ATMOSPHERE: (5192..5197) "\n " FORM: (5197..5216) OPEN_PAREN: (5197..5198) "(" SYMBOL: (5198..5211) IDENTIFIER: (5198..5211) "char-foldcase" ATMOSPHERE: (5211..5212) " " CONSTANT: (5212..5215) - CHARACTER: (5212..5215) "#\a" + CHARACTER: (5212..5215) "#\\a" CLOSE_PAREN: (5215..5216) ")" - ATMOSPHERE: (5216..5221) " - " + ATMOSPHERE: (5216..5221) "\n " FORM: (5221..5240) OPEN_PAREN: (5221..5222) "(" SYMBOL: (5222..5235) IDENTIFIER: (5222..5235) "char-foldcase" ATMOSPHERE: (5235..5236) " " CONSTANT: (5236..5239) - CHARACTER: (5236..5239) "#\A" + CHARACTER: (5236..5239) "#\\A" CLOSE_PAREN: (5239..5240) ")" - ATMOSPHERE: (5240..5245) " - " + ATMOSPHERE: (5240..5245) "\n " FORM: (5245..5264) OPEN_PAREN: (5245..5246) "(" SYMBOL: (5246..5259) IDENTIFIER: (5246..5259) "char-foldcase" ATMOSPHERE: (5259..5260) " " CONSTANT: (5260..5263) - CHARACTER: (5260..5263) "#\५" + CHARACTER: (5260..5263) "#\\५" CLOSE_PAREN: (5263..5264) ")" - ATMOSPHERE: (5264..5269) " - " + ATMOSPHERE: (5264..5269) "\n " FORM: (5269..5288) OPEN_PAREN: (5269..5270) "(" SYMBOL: (5270..5283) IDENTIFIER: (5270..5283) "char-foldcase" ATMOSPHERE: (5283..5284) " " CONSTANT: (5284..5287) - CHARACTER: (5284..5287) "#\Λ" + CHARACTER: (5284..5287) "#\\Λ" CLOSE_PAREN: (5287..5288) ")" - ATMOSPHERE: (5288..5293) " - " + ATMOSPHERE: (5288..5293) "\n " FORM: (5293..5313) OPEN_PAREN: (5293..5294) "(" SYMBOL: (5294..5305) IDENTIFIER: (5294..5305) "char-upcase" ATMOSPHERE: (5305..5306) " " CONSTANT: (5306..5312) - CHARACTER: (5306..5312) "#\null" + CHARACTER: (5306..5312) "#\\null" CLOSE_PAREN: (5312..5313) ")" - ATMOSPHERE: (5313..5318) " - " + ATMOSPHERE: (5313..5318) "\n " FORM: (5318..5339) OPEN_PAREN: (5318..5319) "(" SYMBOL: (5319..5330) IDENTIFIER: (5319..5330) "char-upcase" ATMOSPHERE: (5330..5331) " " CONSTANT: (5331..5338) - CHARACTER: (5331..5338) "#\space" + CHARACTER: (5331..5338) "#\\space" CLOSE_PAREN: (5338..5339) ")" - ATMOSPHERE: (5339..5344) " - " + ATMOSPHERE: (5339..5344) "\n " CLOSE_PAREN: (5344..5345) ")" CLOSE_PAREN: (5345..5346) ")" - ATMOSPHERE: (5346..5347) " -" + ATMOSPHERE: (5346..5347) "\n" EOF: (5347..5347) "" diff --git a/spec/chibi-r7rs-tests.ast b/spec/chibi-r7rs-tests.ast index 2057f7e..05d3cbd 100644 --- a/spec/chibi-r7rs-tests.ast +++ b/spec/chibi-r7rs-tests.ast @@ -1,87 +1,56 @@ PROGRAM: (0..79716) ATMOSPHERE: (0..24) ";; -*- coding: utf-8 -*-" - ATMOSPHERE: (24..26) " - -" + ATMOSPHERE: (24..26) "\n\n" ATMOSPHERE: (26..99) ";;;;; This file is a modified version of the Chibi Scheme R7RS Test Suite" - ATMOSPHERE: (99..100) " -" + ATMOSPHERE: (99..100) "\n" ATMOSPHERE: (100..102) ";;" - ATMOSPHERE: (102..103) " -" + ATMOSPHERE: (102..103) "\n" ATMOSPHERE: (103..180) ";; Check out Chibi Scheme on GitHub: " - ATMOSPHERE: (180..182) " - -" + ATMOSPHERE: (180..182) "\n\n" ATMOSPHERE: (182..218) "; Copyright (c) 2009-2018 Alex Shinn" - ATMOSPHERE: (218..219) " -" + ATMOSPHERE: (218..219) "\n" ATMOSPHERE: (219..241) "; All rights reserved." - ATMOSPHERE: (241..243) " - -" + ATMOSPHERE: (241..243) "\n\n" ATMOSPHERE: (243..311) "; Redistribution and use in source and binary forms, with or without" - ATMOSPHERE: (311..312) " -" + ATMOSPHERE: (311..312) "\n" ATMOSPHERE: (312..380) "; modification, are permitted provided that the following conditions" - ATMOSPHERE: (380..381) " -" + ATMOSPHERE: (380..381) "\n" ATMOSPHERE: (381..391) "; are met:" - ATMOSPHERE: (391..392) " -" + ATMOSPHERE: (391..392) "\n" ATMOSPHERE: (392..459) "; 1. Redistributions of source code must retain the above copyright" - ATMOSPHERE: (459..460) " -" + ATMOSPHERE: (459..460) "\n" ATMOSPHERE: (460..526) "; notice, this list of conditions and the following disclaimer." - ATMOSPHERE: (526..527) " -" + ATMOSPHERE: (526..527) "\n" ATMOSPHERE: (527..597) "; 2. Redistributions in binary form must reproduce the above copyright" - ATMOSPHERE: (597..598) " -" + ATMOSPHERE: (597..598) "\n" ATMOSPHERE: (598..670) "; notice, this list of conditions and the following disclaimer in the" - ATMOSPHERE: (670..671) " -" + ATMOSPHERE: (670..671) "\n" ATMOSPHERE: (671..744) "; documentation and/or other materials provided with the distribution." - ATMOSPHERE: (744..745) " -" + ATMOSPHERE: (744..745) "\n" ATMOSPHERE: (745..819) "; 3. The name of the author may not be used to endorse or promote products" - ATMOSPHERE: (819..820) " -" + ATMOSPHERE: (819..820) "\n" ATMOSPHERE: (820..894) "; derived from this software without specific prior written permission." - ATMOSPHERE: (894..896) " - -" + ATMOSPHERE: (894..896) "\n\n" ATMOSPHERE: (896..966) "; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR" - ATMOSPHERE: (966..967) " -" + ATMOSPHERE: (966..967) "\n" ATMOSPHERE: (967..1042) "; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES" - ATMOSPHERE: (1042..1043) " -" + ATMOSPHERE: (1042..1043) "\n" ATMOSPHERE: (1043..1116) "; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED." - ATMOSPHERE: (1116..1117) " -" + ATMOSPHERE: (1116..1117) "\n" ATMOSPHERE: (1117..1183) "; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT," - ATMOSPHERE: (1183..1184) " -" + ATMOSPHERE: (1183..1184) "\n" ATMOSPHERE: (1184..1258) "; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT" - ATMOSPHERE: (1258..1259) " -" + ATMOSPHERE: (1258..1259) "\n" ATMOSPHERE: (1259..1334) "; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE," - ATMOSPHERE: (1334..1335) " -" + ATMOSPHERE: (1334..1335) "\n" ATMOSPHERE: (1335..1406) "; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY" - ATMOSPHERE: (1406..1407) " -" + ATMOSPHERE: (1406..1407) "\n" ATMOSPHERE: (1407..1476) "; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT" - ATMOSPHERE: (1476..1477) " -" + ATMOSPHERE: (1476..1477) "\n" ATMOSPHERE: (1477..1551) "; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF" - ATMOSPHERE: (1551..1552) " -" + ATMOSPHERE: (1551..1552) "\n" ATMOSPHERE: (1552..1619) "; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - ATMOSPHERE: (1619..1621) " - -" + ATMOSPHERE: (1619..1621) "\n\n" FORM: (1621..2109) OPEN_PAREN: (1621..1622) "(" SYMBOL: (1622..1628) @@ -95,14 +64,11 @@ PROGRAM: (0..79716) SYMBOL: (1637..1641) IDENTIFIER: (1637..1641) "base" CLOSE_PAREN: (1641..1642) ")" - ATMOSPHERE: (1642..1647) " - " + ATMOSPHERE: (1642..1647) "\n " ATMOSPHERE: (1647..1714) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" - ATMOSPHERE: (1714..1719) " - " + ATMOSPHERE: (1714..1719) "\n " ATMOSPHERE: (1719..1783) ";; exporting or re-exporting macro definitions currently." - ATMOSPHERE: (1783..1788) " - " + ATMOSPHERE: (1783..1788) "\n " FORM: (1788..1812) OPEN_PAREN: (1788..1789) "(" SYMBOL: (1789..1796) @@ -114,17 +80,13 @@ PROGRAM: (0..79716) SYMBOL: (1805..1811) IDENTIFIER: (1805..1811) "macros" CLOSE_PAREN: (1811..1812) ")" - ATMOSPHERE: (1812..1813) " -" + ATMOSPHERE: (1812..1813) "\n" ATMOSPHERE: (1813..1848) ";; (scheme char) (scheme lazy)" - ATMOSPHERE: (1848..1849) " -" + ATMOSPHERE: (1848..1849) "\n" ATMOSPHERE: (1849..1907) ";; (scheme inexact) (scheme complex) (scheme time)" - ATMOSPHERE: (1907..1908) " -" + ATMOSPHERE: (1907..1908) "\n" ATMOSPHERE: (1908..1946) ";; (scheme file) (scheme read)" - ATMOSPHERE: (1946..1949) " - " + ATMOSPHERE: (1946..1949) "\n " FORM: (1949..1963) OPEN_PAREN: (1949..1950) "(" SYMBOL: (1950..1956) @@ -133,48 +95,33 @@ PROGRAM: (0..79716) SYMBOL: (1957..1962) IDENTIFIER: (1957..1962) "write" CLOSE_PAREN: (1962..1963) ")" - ATMOSPHERE: (1963..1964) " -" + ATMOSPHERE: (1963..1964) "\n" ATMOSPHERE: (1964..2034) ";; (scheme eval) (scheme process-context) (scheme case-lambda)" - ATMOSPHERE: (2034..2035) " -" + ATMOSPHERE: (2034..2035) "\n" ATMOSPHERE: (2035..2059) ";; (scheme r5rs)" - ATMOSPHERE: (2059..2060) " -" + ATMOSPHERE: (2059..2060) "\n" ATMOSPHERE: (2060..2099) ";; (chibi test) ; or (srfi 64)" - ATMOSPHERE: (2099..2108) " - " + ATMOSPHERE: (2099..2108) "\n " CLOSE_PAREN: (2108..2109) ")" - ATMOSPHERE: (2109..2111) " - -" + ATMOSPHERE: (2109..2111) "\n\n" ATMOSPHERE: (2111..2177) ";; R7RS test suite. Covers all procedures and syntax in the small" - ATMOSPHERE: (2177..2178) " -" + ATMOSPHERE: (2177..2178) "\n" ATMOSPHERE: (2178..2243) ";; language except `delete-file'. Currently assumes full-unicode" - ATMOSPHERE: (2243..2244) " -" + ATMOSPHERE: (2243..2244) "\n" ATMOSPHERE: (2244..2305) ";; support, the full numeric tower and all standard libraries" - ATMOSPHERE: (2305..2306) " -" + ATMOSPHERE: (2305..2306) "\n" ATMOSPHERE: (2306..2318) ";; provided." - ATMOSPHERE: (2318..2319) " -" + ATMOSPHERE: (2318..2319) "\n" ATMOSPHERE: (2319..2321) ";;" - ATMOSPHERE: (2321..2322) " -" + ATMOSPHERE: (2321..2322) "\n" ATMOSPHERE: (2322..2389) ";; Uses the (chibi test) library which is written in portable R7RS." - ATMOSPHERE: (2389..2390) " -" + ATMOSPHERE: (2389..2390) "\n" ATMOSPHERE: (2390..2459) ";; This is mostly a subset of SRFI-64, providing test-begin, test-end" - ATMOSPHERE: (2459..2460) " -" + ATMOSPHERE: (2459..2460) "\n" ATMOSPHERE: (2460..2514) ";; and test, which could be defined as something like:" - ATMOSPHERE: (2514..2515) " -" + ATMOSPHERE: (2514..2515) "\n" ATMOSPHERE: (2515..2517) ";;" - ATMOSPHERE: (2517..2518) " -" + ATMOSPHERE: (2517..2518) "\n" FORM: (2518..2541) OPEN_PAREN: (2518..2519) "(" SYMBOL: (2519..2525) @@ -186,8 +133,7 @@ PROGRAM: (0..79716) CONSTANT: (2539..2540) NUMBER: (2539..2540) "0" CLOSE_PAREN: (2540..2541) ")" - ATMOSPHERE: (2541..2542) " -" + ATMOSPHERE: (2541..2542) "\n" FORM: (2542..2678) OPEN_PAREN: (2542..2543) "(" SYMBOL: (2543..2549) @@ -198,8 +144,7 @@ PROGRAM: (0..79716) SYMBOL: (2551..2557) IDENTIFIER: (2551..2557) "indent" CLOSE_PAREN: (2557..2558) ")" - ATMOSPHERE: (2558..2561) " - " + ATMOSPHERE: (2558..2561) "\n " FORM: (2561..2650) OPEN_PAREN: (2561..2562) "(" SYMBOL: (2562..2568) @@ -213,8 +158,7 @@ PROGRAM: (0..79716) SYMBOL: (2580..2581) IDENTIFIER: (2580..2581) "n" CLOSE_PAREN: (2581..2582) ")" - ATMOSPHERE: (2582..2584) " - " + ATMOSPHERE: (2582..2584) "\n\t" FORM: (2584..2649) OPEN_PAREN: (2584..2585) "(" SYMBOL: (2585..2587) @@ -231,24 +175,21 @@ PROGRAM: (0..79716) CONSTANT: (2593..2594) NUMBER: (2593..2594) "0" CLOSE_PAREN: (2594..2595) ")" - ATMOSPHERE: (2595..2598) " - " + ATMOSPHERE: (2595..2598) "\n\t\t" FORM: (2598..2648) OPEN_PAREN: (2598..2599) "(" SYMBOL: (2599..2604) IDENTIFIER: (2599..2604) "begin" - ATMOSPHERE: (2604..2609) " - " + ATMOSPHERE: (2604..2609) "\n\t\t " FORM: (2609..2623) OPEN_PAREN: (2609..2610) "(" SYMBOL: (2610..2617) IDENTIFIER: (2610..2617) "display" ATMOSPHERE: (2617..2618) " " CONSTANT: (2618..2622) - STRING: (2618..2622) ""\t"" + STRING: (2618..2622) "\"\\t\"" CLOSE_PAREN: (2622..2623) ")" - ATMOSPHERE: (2623..2628) " - " + ATMOSPHERE: (2623..2628) "\n\t\t " FORM: (2628..2647) OPEN_PAREN: (2628..2629) "(" SYMBOL: (2629..2638) @@ -269,8 +210,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (2647..2648) ")" CLOSE_PAREN: (2648..2649) ")" CLOSE_PAREN: (2649..2650) ")" - ATMOSPHERE: (2650..2653) " - " + ATMOSPHERE: (2650..2653) "\n " FORM: (2653..2677) OPEN_PAREN: (2653..2654) "(" SYMBOL: (2654..2663) @@ -280,9 +220,7 @@ PROGRAM: (0..79716) IDENTIFIER: (2664..2676) "indent-level" CLOSE_PAREN: (2676..2677) ")" CLOSE_PAREN: (2677..2678) ")" - ATMOSPHERE: (2678..2680) " - -" + ATMOSPHERE: (2678..2680) "\n\n" FORM: (2680..2696) OPEN_PAREN: (2680..2681) "(" SYMBOL: (2681..2687) @@ -305,8 +243,7 @@ PROGRAM: (0..79716) CONSTANT: (2710..2711) NUMBER: (2710..2711) "0" CLOSE_PAREN: (2711..2712) ")" - ATMOSPHERE: (2712..2713) " -" + ATMOSPHERE: (2712..2713) "\n" FORM: (2713..2834) OPEN_PAREN: (2713..2714) "(" SYMBOL: (2714..2720) @@ -323,15 +260,14 @@ PROGRAM: (0..79716) SYMBOL: (2735..2736) IDENTIFIER: (2735..2736) "o" CLOSE_PAREN: (2736..2737) ")" - ATMOSPHERE: (2737..2740) " - " + ATMOSPHERE: (2737..2740) "\n " FORM: (2740..2756) OPEN_PAREN: (2740..2741) "(" SYMBOL: (2741..2748) IDENTIFIER: (2741..2748) "display" ATMOSPHERE: (2748..2749) " " CONSTANT: (2749..2755) - STRING: (2749..2755) ""### "" + STRING: (2749..2755) "\"### \"" CLOSE_PAREN: (2755..2756) ")" FORM: (2756..2767) OPEN_PAREN: (2756..2757) "(" @@ -346,8 +282,7 @@ PROGRAM: (0..79716) SYMBOL: (2768..2775) IDENTIFIER: (2768..2775) "newline" CLOSE_PAREN: (2775..2776) ")" - ATMOSPHERE: (2776..2779) " - " + ATMOSPHERE: (2776..2779) "\n " FORM: (2779..2817) OPEN_PAREN: (2779..2780) "(" SYMBOL: (2780..2784) @@ -368,21 +303,17 @@ PROGRAM: (0..79716) NUMBER: (2814..2815) "1" CLOSE_PAREN: (2815..2816) ")" CLOSE_PAREN: (2816..2817) ")" - ATMOSPHERE: (2817..2820) " - " + ATMOSPHERE: (2817..2820) "\n " FORM: (2820..2828) OPEN_PAREN: (2820..2821) "(" SYMBOL: (2821..2827) IDENTIFIER: (2821..2827) "indent" CLOSE_PAREN: (2827..2828) ")" - ATMOSPHERE: (2828..2831) " - " + ATMOSPHERE: (2828..2831) "\n " CONSTANT: (2831..2833) BOOLEAN: (2831..2833) "#f" CLOSE_PAREN: (2833..2834) ")" - ATMOSPHERE: (2834..2836) " - -" + ATMOSPHERE: (2834..2836) "\n\n" FORM: (2836..3011) OPEN_PAREN: (2836..2837) "(" SYMBOL: (2837..2843) @@ -393,30 +324,28 @@ PROGRAM: (0..79716) SYMBOL: (2845..2863) IDENTIFIER: (2845..2863) "print-test-summary" CLOSE_PAREN: (2863..2864) ")" - ATMOSPHERE: (2864..2867) " - " + ATMOSPHERE: (2864..2867) "\n " FORM: (2867..2901) OPEN_PAREN: (2867..2868) "(" SYMBOL: (2868..2875) IDENTIFIER: (2868..2875) "display" ATMOSPHERE: (2875..2876) " " CONSTANT: (2876..2900) - STRING: (2876..2900) ""----------------------"" + STRING: (2876..2900) "\"----------------------\"" CLOSE_PAREN: (2900..2901) ")" FORM: (2901..2910) OPEN_PAREN: (2901..2902) "(" SYMBOL: (2902..2909) IDENTIFIER: (2902..2909) "newline" CLOSE_PAREN: (2909..2910) ")" - ATMOSPHERE: (2910..2913) " - " + ATMOSPHERE: (2910..2913) "\n " FORM: (2913..2932) OPEN_PAREN: (2913..2914) "(" SYMBOL: (2914..2921) IDENTIFIER: (2914..2921) "display" ATMOSPHERE: (2921..2922) " " CONSTANT: (2922..2931) - STRING: (2922..2931) ""Total: "" + STRING: (2922..2931) "\"Total: \"" CLOSE_PAREN: (2931..2932) ")" FORM: (2932..2947) OPEN_PAREN: (2932..2933) "(" @@ -431,15 +360,14 @@ PROGRAM: (0..79716) SYMBOL: (2948..2955) IDENTIFIER: (2948..2955) "newline" CLOSE_PAREN: (2955..2956) ")" - ATMOSPHERE: (2956..2959) " - " + ATMOSPHERE: (2956..2959) "\n " FORM: (2959..2978) OPEN_PAREN: (2959..2960) "(" SYMBOL: (2960..2967) IDENTIFIER: (2960..2967) "display" ATMOSPHERE: (2967..2968) " " CONSTANT: (2968..2977) - STRING: (2968..2977) ""Fails: "" + STRING: (2968..2977) "\"Fails: \"" CLOSE_PAREN: (2977..2978) ")" FORM: (2978..2993) OPEN_PAREN: (2978..2979) "(" @@ -454,14 +382,11 @@ PROGRAM: (0..79716) SYMBOL: (2994..3001) IDENTIFIER: (2994..3001) "newline" CLOSE_PAREN: (3001..3002) ")" - ATMOSPHERE: (3002..3005) " - " + ATMOSPHERE: (3002..3005) "\n " SYMBOL: (3005..3010) IDENTIFIER: (3005..3010) "fails" CLOSE_PAREN: (3010..3011) ")" - ATMOSPHERE: (3011..3013) " - -" + ATMOSPHERE: (3011..3013) "\n\n" FORM: (3013..3151) OPEN_PAREN: (3013..3014) "(" SYMBOL: (3014..3020) @@ -478,15 +403,13 @@ PROGRAM: (0..79716) SYMBOL: (3033..3034) IDENTIFIER: (3033..3034) "o" CLOSE_PAREN: (3034..3035) ")" - ATMOSPHERE: (3035..3038) " - " + ATMOSPHERE: (3035..3038) "\n " FORM: (3038..3047) OPEN_PAREN: (3038..3039) "(" SYMBOL: (3039..3046) IDENTIFIER: (3039..3046) "newline" CLOSE_PAREN: (3046..3047) ")" - ATMOSPHERE: (3047..3050) " - " + ATMOSPHERE: (3047..3050) "\n " FORM: (3050..3088) OPEN_PAREN: (3050..3051) "(" SYMBOL: (3051..3055) @@ -507,8 +430,7 @@ PROGRAM: (0..79716) NUMBER: (3085..3086) "1" CLOSE_PAREN: (3086..3087) ")" CLOSE_PAREN: (3087..3088) ")" - ATMOSPHERE: (3088..3091) " - " + ATMOSPHERE: (3088..3091) "\n " FORM: (3091..3150) OPEN_PAREN: (3091..3092) "(" SYMBOL: (3092..3094) @@ -525,15 +447,13 @@ PROGRAM: (0..79716) CONSTANT: (3111..3112) NUMBER: (3111..3112) "0" CLOSE_PAREN: (3112..3113) ")" - ATMOSPHERE: (3113..3117) " - " + ATMOSPHERE: (3113..3117) "\n\t " FORM: (3117..3137) OPEN_PAREN: (3117..3118) "(" SYMBOL: (3118..3136) IDENTIFIER: (3118..3136) "print-test-summary" CLOSE_PAREN: (3136..3137) ")" - ATMOSPHERE: (3137..3141) " - " + ATMOSPHERE: (3137..3141) "\n\t " FORM: (3141..3149) OPEN_PAREN: (3141..3142) "(" SYMBOL: (3142..3148) @@ -541,9 +461,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (3148..3149) ")" CLOSE_PAREN: (3149..3150) ")" CLOSE_PAREN: (3150..3151) ")" - ATMOSPHERE: (3151..3153) " - -" + ATMOSPHERE: (3151..3153) "\n\n" FORM: (3153..3522) OPEN_PAREN: (3153..3154) "(" SYMBOL: (3154..3167) @@ -551,8 +469,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (3167..3168) " " SYMBOL: (3168..3172) IDENTIFIER: (3168..3172) "test" - ATMOSPHERE: (3172..3175) " - " + ATMOSPHERE: (3172..3175) "\n " FORM: (3175..3521) OPEN_PAREN: (3175..3176) "(" SYMBOL: (3176..3188) @@ -561,8 +478,7 @@ PROGRAM: (0..79716) FORM: (3189..3191) OPEN_PAREN: (3189..3190) "(" CLOSE_PAREN: (3190..3191) ")" - ATMOSPHERE: (3191..3193) " - " + ATMOSPHERE: (3191..3193) "\n\t" FORM: (3193..3520) OPEN_PAREN: (3193..3194) "(" FORM: (3194..3211) @@ -576,8 +492,7 @@ PROGRAM: (0..79716) SYMBOL: (3206..3210) IDENTIFIER: (3206..3210) "expr" CLOSE_PAREN: (3210..3211) ")" - ATMOSPHERE: (3211..3214) " - " + ATMOSPHERE: (3211..3214) "\n\t " FORM: (3214..3519) OPEN_PAREN: (3214..3215) "(" SYMBOL: (3215..3218) @@ -594,8 +509,7 @@ PROGRAM: (0..79716) IDENTIFIER: (3225..3229) "expr" CLOSE_PAREN: (3229..3230) ")" CLOSE_PAREN: (3230..3231) ")" - ATMOSPHERE: (3231..3236) " - " + ATMOSPHERE: (3231..3236) "\n\t " FORM: (3236..3260) OPEN_PAREN: (3236..3237) "(" SYMBOL: (3237..3241) @@ -616,8 +530,7 @@ PROGRAM: (0..79716) NUMBER: (3257..3258) "1" CLOSE_PAREN: (3258..3259) ")" CLOSE_PAREN: (3259..3260) ")" - ATMOSPHERE: (3260..3265) " - " + ATMOSPHERE: (3260..3265) "\n\t " FORM: (3265..3518) OPEN_PAREN: (3265..3266) "(" SYMBOL: (3266..3268) @@ -634,24 +547,21 @@ PROGRAM: (0..79716) SYMBOL: (3281..3289) IDENTIFIER: (3281..3289) "expected" CLOSE_PAREN: (3289..3290) ")" - ATMOSPHERE: (3290..3296) " - " + ATMOSPHERE: (3290..3296) "\n\t\t " FORM: (3296..3309) OPEN_PAREN: (3296..3297) "(" SYMBOL: (3297..3304) IDENTIFIER: (3297..3304) "display" ATMOSPHERE: (3304..3305) " " CONSTANT: (3305..3308) - STRING: (3305..3308) ""."" + STRING: (3305..3308) "\".\"" CLOSE_PAREN: (3308..3309) ")" - ATMOSPHERE: (3309..3315) " - " + ATMOSPHERE: (3309..3315) "\n\t\t " FORM: (3315..3517) OPEN_PAREN: (3315..3316) "(" SYMBOL: (3316..3321) IDENTIFIER: (3316..3321) "begin" - ATMOSPHERE: (3321..3326) " - " + ATMOSPHERE: (3321..3326) "\n\t\t\t " FORM: (3326..3350) OPEN_PAREN: (3326..3327) "(" SYMBOL: (3327..3331) @@ -672,25 +582,22 @@ PROGRAM: (0..79716) NUMBER: (3347..3348) "1" CLOSE_PAREN: (3348..3349) ")" CLOSE_PAREN: (3349..3350) ")" - ATMOSPHERE: (3350..3355) " - " + ATMOSPHERE: (3350..3355) "\n\t\t\t " FORM: (3355..3364) OPEN_PAREN: (3355..3356) "(" SYMBOL: (3356..3363) IDENTIFIER: (3356..3363) "newline" CLOSE_PAREN: (3363..3364) ")" - ATMOSPHERE: (3364..3369) " - " + ATMOSPHERE: (3364..3369) "\n\t\t\t " FORM: (3369..3387) OPEN_PAREN: (3369..3370) "(" SYMBOL: (3370..3377) IDENTIFIER: (3370..3377) "display" ATMOSPHERE: (3377..3378) " " CONSTANT: (3378..3386) - STRING: (3378..3386) ""FAIL: "" + STRING: (3378..3386) "\"FAIL: \"" CLOSE_PAREN: (3386..3387) ")" - ATMOSPHERE: (3387..3392) " - " + ATMOSPHERE: (3387..3392) "\n\t\t\t " FORM: (3392..3407) OPEN_PAREN: (3392..3393) "(" SYMBOL: (3393..3400) @@ -701,18 +608,16 @@ PROGRAM: (0..79716) SYMBOL: (3402..3406) IDENTIFIER: (3402..3406) "expr" CLOSE_PAREN: (3406..3407) ")" - ATMOSPHERE: (3407..3412) " - " + ATMOSPHERE: (3407..3412) "\n\t\t\t " FORM: (3412..3435) OPEN_PAREN: (3412..3413) "(" SYMBOL: (3413..3420) IDENTIFIER: (3413..3420) "display" ATMOSPHERE: (3420..3421) " " CONSTANT: (3421..3434) - STRING: (3421..3434) "": expected "" + STRING: (3421..3434) "\": expected \"" CLOSE_PAREN: (3434..3435) ")" - ATMOSPHERE: (3435..3440) " - " + ATMOSPHERE: (3435..3440) "\n\t\t\t " FORM: (3440..3458) OPEN_PAREN: (3440..3441) "(" SYMBOL: (3441..3448) @@ -721,18 +626,16 @@ PROGRAM: (0..79716) SYMBOL: (3449..3457) IDENTIFIER: (3449..3457) "expected" CLOSE_PAREN: (3457..3458) ")" - ATMOSPHERE: (3458..3463) " - " + ATMOSPHERE: (3458..3463) "\n\t\t\t " FORM: (3463..3484) OPEN_PAREN: (3463..3464) "(" SYMBOL: (3464..3471) IDENTIFIER: (3464..3471) "display" ATMOSPHERE: (3471..3472) " " CONSTANT: (3472..3483) - STRING: (3472..3483) "" but got "" + STRING: (3472..3483) "\" but got \"" CLOSE_PAREN: (3483..3484) ")" - ATMOSPHERE: (3484..3489) " - " + ATMOSPHERE: (3484..3489) "\n\t\t\t " FORM: (3489..3502) OPEN_PAREN: (3489..3490) "(" SYMBOL: (3490..3497) @@ -741,8 +644,7 @@ PROGRAM: (0..79716) SYMBOL: (3498..3501) IDENTIFIER: (3498..3501) "res" CLOSE_PAREN: (3501..3502) ")" - ATMOSPHERE: (3502..3507) " - " + ATMOSPHERE: (3502..3507) "\n\t\t\t " FORM: (3507..3516) OPEN_PAREN: (3507..3508) "(" SYMBOL: (3508..3515) @@ -754,41 +656,31 @@ PROGRAM: (0..79716) CLOSE_PAREN: (3519..3520) ")" CLOSE_PAREN: (3520..3521) ")" CLOSE_PAREN: (3521..3522) ")" - ATMOSPHERE: (3522..3524) " - -" + ATMOSPHERE: (3522..3524) "\n\n" ATMOSPHERE: (3524..3526) ";;" - ATMOSPHERE: (3526..3527) " -" + ATMOSPHERE: (3526..3527) "\n" ATMOSPHERE: (3527..3586) ";; however (chibi test) provides nicer output, timings, and" - ATMOSPHERE: (3586..3587) " -" + ATMOSPHERE: (3586..3587) "\n" ATMOSPHERE: (3587..3641) ";; approximate equivalence for floating point numbers." - ATMOSPHERE: (3641..3643) " - -" + ATMOSPHERE: (3641..3643) "\n\n" FORM: (3643..3662) OPEN_PAREN: (3643..3644) "(" SYMBOL: (3644..3654) IDENTIFIER: (3644..3654) "test-begin" ATMOSPHERE: (3654..3655) " " CONSTANT: (3655..3661) - STRING: (3655..3661) ""R7RS"" + STRING: (3655..3661) "\"R7RS\"" CLOSE_PAREN: (3661..3662) ")" - ATMOSPHERE: (3662..3664) " - -" + ATMOSPHERE: (3662..3664) "\n\n" FORM: (3664..3709) OPEN_PAREN: (3664..3665) "(" SYMBOL: (3665..3675) IDENTIFIER: (3665..3675) "test-begin" ATMOSPHERE: (3675..3676) " " CONSTANT: (3676..3708) - STRING: (3676..3708) ""4.1 Primitive expression types"" + STRING: (3676..3708) "\"4.1 Primitive expression types\"" CLOSE_PAREN: (3708..3709) ")" - ATMOSPHERE: (3709..3711) " - -" + ATMOSPHERE: (3709..3711) "\n\n" FORM: (3711..3749) OPEN_PAREN: (3711..3712) "(" SYMBOL: (3712..3715) @@ -797,8 +689,7 @@ PROGRAM: (0..79716) FORM: (3716..3718) OPEN_PAREN: (3716..3717) "(" CLOSE_PAREN: (3717..3718) ")" - ATMOSPHERE: (3718..3721) " - " + ATMOSPHERE: (3718..3721) "\n " FORM: (3721..3734) OPEN_PAREN: (3721..3722) "(" SYMBOL: (3722..3728) @@ -810,8 +701,7 @@ PROGRAM: (0..79716) CONSTANT: (3731..3733) NUMBER: (3731..3733) "28" CLOSE_PAREN: (3733..3734) ")" - ATMOSPHERE: (3734..3737) " - " + ATMOSPHERE: (3734..3737) "\n " FORM: (3737..3748) OPEN_PAREN: (3737..3738) "(" SYMBOL: (3738..3742) @@ -824,10 +714,7 @@ PROGRAM: (0..79716) IDENTIFIER: (3746..3747) "x" CLOSE_PAREN: (3747..3748) ")" CLOSE_PAREN: (3748..3749) ")" - ATMOSPHERE: (3749..3752) " - - -" + ATMOSPHERE: (3749..3752) "\n\n\n" FORM: (3752..3771) OPEN_PAREN: (3752..3753) "(" SYMBOL: (3753..3757) @@ -847,8 +734,7 @@ PROGRAM: (0..79716) IDENTIFIER: (3768..3769) "a" CLOSE_PAREN: (3769..3770) ")" CLOSE_PAREN: (3770..3771) ")" - ATMOSPHERE: (3771..3772) " -" + ATMOSPHERE: (3771..3772) "\n" FORM: (3772..3804) OPEN_PAREN: (3772..3773) "(" SYMBOL: (3773..3777) @@ -884,8 +770,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (3801..3802) ")" CLOSE_PAREN: (3802..3803) ")" CLOSE_PAREN: (3803..3804) ")" - ATMOSPHERE: (3804..3805) " -" + ATMOSPHERE: (3804..3805) "\n" FORM: (3805..3836) OPEN_PAREN: (3805..3806) "(" SYMBOL: (3806..3810) @@ -923,9 +808,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (3833..3834) ")" CLOSE_PAREN: (3834..3835) ")" CLOSE_PAREN: (3835..3836) ")" - ATMOSPHERE: (3836..3838) " - -" + ATMOSPHERE: (3836..3838) "\n\n" FORM: (3838..3850) OPEN_PAREN: (3838..3839) "(" SYMBOL: (3839..3843) @@ -941,8 +824,7 @@ PROGRAM: (0..79716) SYMBOL: (3848..3849) IDENTIFIER: (3848..3849) "a" CLOSE_PAREN: (3849..3850) ")" - ATMOSPHERE: (3850..3851) " -" + ATMOSPHERE: (3850..3851) "\n" FORM: (3851..3876) OPEN_PAREN: (3851..3852) "(" SYMBOL: (3852..3856) @@ -974,8 +856,7 @@ PROGRAM: (0..79716) IDENTIFIER: (3873..3874) "c" CLOSE_PAREN: (3874..3875) ")" CLOSE_PAREN: (3875..3876) ")" - ATMOSPHERE: (3876..3877) " -" + ATMOSPHERE: (3876..3877) "\n" FORM: (3877..3891) OPEN_PAREN: (3877..3878) "(" SYMBOL: (3878..3882) @@ -993,8 +874,7 @@ PROGRAM: (0..79716) OPEN_PAREN: (3888..3889) "(" CLOSE_PAREN: (3889..3890) ")" CLOSE_PAREN: (3890..3891) ")" - ATMOSPHERE: (3891..3892) " -" + ATMOSPHERE: (3891..3892) "\n" FORM: (3892..3916) OPEN_PAREN: (3892..3893) "(" SYMBOL: (3893..3897) @@ -1028,8 +908,7 @@ PROGRAM: (0..79716) NUMBER: (3913..3914) "2" CLOSE_PAREN: (3914..3915) ")" CLOSE_PAREN: (3915..3916) ")" - ATMOSPHERE: (3916..3917) " -" + ATMOSPHERE: (3916..3917) "\n" FORM: (3917..3945) OPEN_PAREN: (3917..3918) "(" SYMBOL: (3918..3922) @@ -1057,8 +936,7 @@ PROGRAM: (0..79716) IDENTIFIER: (3942..3943) "a" CLOSE_PAREN: (3943..3944) ")" CLOSE_PAREN: (3944..3945) ")" - ATMOSPHERE: (3945..3946) " -" + ATMOSPHERE: (3945..3946) "\n" FORM: (3946..3967) OPEN_PAREN: (3946..3947) "(" SYMBOL: (3947..3951) @@ -1082,37 +960,33 @@ PROGRAM: (0..79716) SYMBOL: (3965..3966) IDENTIFIER: (3965..3966) "a" CLOSE_PAREN: (3966..3967) ")" - ATMOSPHERE: (3967..3969) " - -" + ATMOSPHERE: (3967..3969) "\n\n" FORM: (3969..3988) OPEN_PAREN: (3969..3970) "(" SYMBOL: (3970..3974) IDENTIFIER: (3970..3974) "test" ATMOSPHERE: (3974..3975) " " CONSTANT: (3975..3980) - STRING: (3975..3980) ""abc"" + STRING: (3975..3980) "\"abc\"" ATMOSPHERE: (3980..3981) " " QUOTED_DATUM: (3981..3987) QUOTE: (3981..3982) "'" CONSTANT: (3982..3987) - STRING: (3982..3987) ""abc"" + STRING: (3982..3987) "\"abc\"" CLOSE_PAREN: (3987..3988) ")" - ATMOSPHERE: (3988..3989) " -" + ATMOSPHERE: (3988..3989) "\n" FORM: (3989..4007) OPEN_PAREN: (3989..3990) "(" SYMBOL: (3990..3994) IDENTIFIER: (3990..3994) "test" ATMOSPHERE: (3994..3995) " " CONSTANT: (3995..4000) - STRING: (3995..4000) ""abc"" + STRING: (3995..4000) "\"abc\"" ATMOSPHERE: (4000..4001) " " CONSTANT: (4001..4006) - STRING: (4001..4006) ""abc"" + STRING: (4001..4006) "\"abc\"" CLOSE_PAREN: (4006..4007) ")" - ATMOSPHERE: (4007..4008) " -" + ATMOSPHERE: (4007..4008) "\n" FORM: (4008..4029) OPEN_PAREN: (4008..4009) "(" SYMBOL: (4009..4013) @@ -1126,8 +1000,7 @@ PROGRAM: (0..79716) CONSTANT: (4022..4028) NUMBER: (4022..4028) "145932" CLOSE_PAREN: (4028..4029) ")" - ATMOSPHERE: (4029..4030) " -" + ATMOSPHERE: (4029..4030) "\n" FORM: (4030..4050) OPEN_PAREN: (4030..4031) "(" SYMBOL: (4031..4035) @@ -1139,8 +1012,7 @@ PROGRAM: (0..79716) CONSTANT: (4043..4049) NUMBER: (4043..4049) "145932" CLOSE_PAREN: (4049..4050) ")" - ATMOSPHERE: (4050..4051) " -" + ATMOSPHERE: (4050..4051) "\n" FORM: (4051..4064) OPEN_PAREN: (4051..4052) "(" SYMBOL: (4052..4056) @@ -1154,8 +1026,7 @@ PROGRAM: (0..79716) CONSTANT: (4061..4063) BOOLEAN: (4061..4063) "#t" CLOSE_PAREN: (4063..4064) ")" - ATMOSPHERE: (4064..4065) " -" + ATMOSPHERE: (4064..4065) "\n" FORM: (4065..4077) OPEN_PAREN: (4065..4066) "(" SYMBOL: (4066..4070) @@ -1167,9 +1038,7 @@ PROGRAM: (0..79716) CONSTANT: (4074..4076) BOOLEAN: (4074..4076) "#t" CLOSE_PAREN: (4076..4077) ")" - ATMOSPHERE: (4077..4079) " - -" + ATMOSPHERE: (4077..4079) "\n\n" FORM: (4079..4095) OPEN_PAREN: (4079..4080) "(" SYMBOL: (4080..4084) @@ -1190,8 +1059,7 @@ PROGRAM: (0..79716) NUMBER: (4092..4093) "4" CLOSE_PAREN: (4093..4094) ")" CLOSE_PAREN: (4094..4095) ")" - ATMOSPHERE: (4095..4096) " -" + ATMOSPHERE: (4095..4096) "\n" FORM: (4096..4123) OPEN_PAREN: (4096..4097) "(" SYMBOL: (4097..4101) @@ -1224,9 +1092,7 @@ PROGRAM: (0..79716) NUMBER: (4120..4121) "4" CLOSE_PAREN: (4121..4122) ")" CLOSE_PAREN: (4122..4123) ")" - ATMOSPHERE: (4123..4125) " - -" + ATMOSPHERE: (4123..4125) "\n\n" FORM: (4125..4158) OPEN_PAREN: (4125..4126) "(" SYMBOL: (4126..4130) @@ -1265,8 +1131,7 @@ PROGRAM: (0..79716) NUMBER: (4155..4156) "4" CLOSE_PAREN: (4156..4157) ")" CLOSE_PAREN: (4157..4158) ")" - ATMOSPHERE: (4158..4159) " -" + ATMOSPHERE: (4158..4159) "\n" FORM: (4159..4209) OPEN_PAREN: (4159..4160) "(" SYMBOL: (4160..4166) @@ -1274,8 +1139,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (4166..4167) " " SYMBOL: (4167..4183) IDENTIFIER: (4167..4183) "reverse-subtract" - ATMOSPHERE: (4183..4186) " - " + ATMOSPHERE: (4183..4186) "\n " FORM: (4186..4208) OPEN_PAREN: (4186..4187) "(" SYMBOL: (4187..4193) @@ -1303,8 +1167,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (4206..4207) ")" CLOSE_PAREN: (4207..4208) ")" CLOSE_PAREN: (4208..4209) ")" - ATMOSPHERE: (4209..4210) " -" + ATMOSPHERE: (4209..4210) "\n" FORM: (4210..4242) OPEN_PAREN: (4210..4211) "(" SYMBOL: (4211..4215) @@ -1325,8 +1188,7 @@ PROGRAM: (0..79716) NUMBER: (4238..4240) "10" CLOSE_PAREN: (4240..4241) ")" CLOSE_PAREN: (4241..4242) ")" - ATMOSPHERE: (4242..4243) " -" + ATMOSPHERE: (4242..4243) "\n" FORM: (4243..4297) OPEN_PAREN: (4243..4244) "(" SYMBOL: (4244..4250) @@ -1334,8 +1196,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (4250..4251) " " SYMBOL: (4251..4255) IDENTIFIER: (4251..4255) "add4" - ATMOSPHERE: (4255..4258) " - " + ATMOSPHERE: (4255..4258) "\n " FORM: (4258..4296) OPEN_PAREN: (4258..4259) "(" SYMBOL: (4259..4262) @@ -1352,8 +1213,7 @@ PROGRAM: (0..79716) NUMBER: (4267..4268) "4" CLOSE_PAREN: (4268..4269) ")" CLOSE_PAREN: (4269..4270) ")" - ATMOSPHERE: (4270..4275) " - " + ATMOSPHERE: (4270..4275) "\n " FORM: (4275..4295) OPEN_PAREN: (4275..4276) "(" SYMBOL: (4276..4282) @@ -1379,8 +1239,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (4294..4295) ")" CLOSE_PAREN: (4295..4296) ")" CLOSE_PAREN: (4296..4297) ")" - ATMOSPHERE: (4297..4298) " -" + ATMOSPHERE: (4297..4298) "\n" FORM: (4298..4316) OPEN_PAREN: (4298..4299) "(" SYMBOL: (4299..4303) @@ -1398,9 +1257,7 @@ PROGRAM: (0..79716) NUMBER: (4313..4314) "6" CLOSE_PAREN: (4314..4315) ")" CLOSE_PAREN: (4315..4316) ")" - ATMOSPHERE: (4316..4318) " - -" + ATMOSPHERE: (4316..4318) "\n\n" FORM: (4318..4358) OPEN_PAREN: (4318..4319) "(" SYMBOL: (4319..4323) @@ -1450,8 +1307,7 @@ PROGRAM: (0..79716) NUMBER: (4355..4356) "6" CLOSE_PAREN: (4356..4357) ")" CLOSE_PAREN: (4357..4358) ")" - ATMOSPHERE: (4358..4359) " -" + ATMOSPHERE: (4358..4359) "\n" FORM: (4359..4404) OPEN_PAREN: (4359..4360) "(" SYMBOL: (4360..4364) @@ -1493,8 +1349,7 @@ PROGRAM: (0..79716) SYMBOL: (4391..4392) IDENTIFIER: (4391..4392) "z" CLOSE_PAREN: (4392..4393) ")" - ATMOSPHERE: (4393..4395) " - " + ATMOSPHERE: (4393..4395) "\n " CONSTANT: (4395..4396) NUMBER: (4395..4396) "3" ATMOSPHERE: (4396..4397) " " @@ -1508,9 +1363,7 @@ PROGRAM: (0..79716) NUMBER: (4401..4402) "6" CLOSE_PAREN: (4402..4403) ")" CLOSE_PAREN: (4403..4404) ")" - ATMOSPHERE: (4404..4406) " - -" + ATMOSPHERE: (4404..4406) "\n\n" FORM: (4406..4439) OPEN_PAREN: (4406..4407) "(" SYMBOL: (4407..4411) @@ -1549,8 +1402,7 @@ PROGRAM: (0..79716) IDENTIFIER: (4435..4437) "no" CLOSE_PAREN: (4437..4438) ")" CLOSE_PAREN: (4438..4439) ")" - ATMOSPHERE: (4439..4440) " -" + ATMOSPHERE: (4439..4440) "\n" FORM: (4440..4472) OPEN_PAREN: (4440..4441) "(" SYMBOL: (4441..4445) @@ -1589,8 +1441,7 @@ PROGRAM: (0..79716) IDENTIFIER: (4468..4470) "no" CLOSE_PAREN: (4470..4471) ")" CLOSE_PAREN: (4471..4472) ")" - ATMOSPHERE: (4472..4473) " -" + ATMOSPHERE: (4472..4473) "\n" FORM: (4473..4518) OPEN_PAREN: (4473..4474) "(" SYMBOL: (4474..4478) @@ -1615,8 +1466,7 @@ PROGRAM: (0..79716) CONSTANT: (4490..4491) NUMBER: (4490..4491) "2" CLOSE_PAREN: (4491..4492) ")" - ATMOSPHERE: (4492..4497) " - " + ATMOSPHERE: (4492..4497) "\n " FORM: (4497..4504) OPEN_PAREN: (4497..4498) "(" SYMBOL: (4498..4499) @@ -1628,8 +1478,7 @@ PROGRAM: (0..79716) CONSTANT: (4502..4503) NUMBER: (4502..4503) "2" CLOSE_PAREN: (4503..4504) ")" - ATMOSPHERE: (4504..4509) " - " + ATMOSPHERE: (4504..4509) "\n " FORM: (4509..4516) OPEN_PAREN: (4509..4510) "(" SYMBOL: (4510..4511) @@ -1643,8 +1492,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (4515..4516) ")" CLOSE_PAREN: (4516..4517) ")" CLOSE_PAREN: (4517..4518) ")" - ATMOSPHERE: (4518..4519) " -" + ATMOSPHERE: (4518..4519) "\n" FORM: (4519..4561) OPEN_PAREN: (4519..4520) "(" SYMBOL: (4520..4523) @@ -1653,8 +1501,7 @@ PROGRAM: (0..79716) FORM: (4524..4526) OPEN_PAREN: (4524..4525) "(" CLOSE_PAREN: (4525..4526) ")" - ATMOSPHERE: (4526..4529) " - " + ATMOSPHERE: (4526..4529) "\n " FORM: (4529..4541) OPEN_PAREN: (4529..4530) "(" SYMBOL: (4530..4536) @@ -1666,8 +1513,7 @@ PROGRAM: (0..79716) CONSTANT: (4539..4540) NUMBER: (4539..4540) "2" CLOSE_PAREN: (4540..4541) ")" - ATMOSPHERE: (4541..4544) " - " + ATMOSPHERE: (4541..4544) "\n " FORM: (4544..4560) OPEN_PAREN: (4544..4545) "(" SYMBOL: (4545..4549) @@ -1689,31 +1535,24 @@ PROGRAM: (0..79716) CLOSE_PAREN: (4558..4559) ")" CLOSE_PAREN: (4559..4560) ")" CLOSE_PAREN: (4560..4561) ")" - ATMOSPHERE: (4561..4563) " - -" + ATMOSPHERE: (4561..4563) "\n\n" FORM: (4563..4573) OPEN_PAREN: (4563..4564) "(" SYMBOL: (4564..4572) IDENTIFIER: (4564..4572) "test-end" CLOSE_PAREN: (4572..4573) ")" - ATMOSPHERE: (4573..4575) " - -" + ATMOSPHERE: (4573..4575) "\n\n" FORM: (4575..4618) OPEN_PAREN: (4575..4576) "(" SYMBOL: (4576..4586) IDENTIFIER: (4576..4586) "test-begin" ATMOSPHERE: (4586..4587) " " CONSTANT: (4587..4617) - STRING: (4587..4617) ""4.2 Derived expression types"" + STRING: (4587..4617) "\"4.2 Derived expression types\"" CLOSE_PAREN: (4617..4618) ")" - ATMOSPHERE: (4618..4620) " - -" + ATMOSPHERE: (4618..4620) "\n\n" ATMOSPHERE: (4620..4664) ";;;;; FIXME: No `cond` or `case` support yet" - ATMOSPHERE: (4664..4665) " -" + ATMOSPHERE: (4664..4665) "\n" FORM: (4665..4736) OPEN_PAREN: (4665..4666) "(" SYMBOL: (4666..4670) @@ -1723,8 +1562,7 @@ PROGRAM: (0..79716) QUOTE: (4671..4672) "'" SYMBOL: (4672..4679) IDENTIFIER: (4672..4679) "greater" - ATMOSPHERE: (4679..4684) " - " + ATMOSPHERE: (4679..4684) "\n " FORM: (4684..4735) OPEN_PAREN: (4684..4685) "(" SYMBOL: (4685..4689) @@ -1749,8 +1587,7 @@ PROGRAM: (0..79716) SYMBOL: (4700..4707) IDENTIFIER: (4700..4707) "greater" CLOSE_PAREN: (4707..4708) ")" - ATMOSPHERE: (4708..4719) " - " + ATMOSPHERE: (4708..4719) "\n " FORM: (4719..4734) OPEN_PAREN: (4719..4720) "(" FORM: (4720..4727) @@ -1772,9 +1609,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (4733..4734) ")" CLOSE_PAREN: (4734..4735) ")" CLOSE_PAREN: (4735..4736) ")" - ATMOSPHERE: (4736..4738) " - -" + ATMOSPHERE: (4736..4738) "\n\n" FORM: (4738..4831) OPEN_PAREN: (4738..4739) "(" SYMBOL: (4739..4743) @@ -1784,8 +1619,7 @@ PROGRAM: (0..79716) QUOTE: (4744..4745) "'" SYMBOL: (4745..4750) IDENTIFIER: (4745..4750) "equal" - ATMOSPHERE: (4750..4755) " - " + ATMOSPHERE: (4750..4755) "\n " FORM: (4755..4830) OPEN_PAREN: (4755..4756) "(" SYMBOL: (4756..4760) @@ -1810,8 +1644,7 @@ PROGRAM: (0..79716) SYMBOL: (4771..4778) IDENTIFIER: (4771..4778) "greater" CLOSE_PAREN: (4778..4779) ")" - ATMOSPHERE: (4779..4790) " - " + ATMOSPHERE: (4779..4790) "\n " FORM: (4790..4805) OPEN_PAREN: (4790..4791) "(" FORM: (4791..4798) @@ -1831,8 +1664,7 @@ PROGRAM: (0..79716) SYMBOL: (4800..4804) IDENTIFIER: (4800..4804) "less" CLOSE_PAREN: (4804..4805) ")" - ATMOSPHERE: (4805..4816) " - " + ATMOSPHERE: (4805..4816) "\n " FORM: (4816..4829) OPEN_PAREN: (4816..4817) "(" SYMBOL: (4817..4821) @@ -1845,73 +1677,47 @@ PROGRAM: (0..79716) CLOSE_PAREN: (4828..4829) ")" CLOSE_PAREN: (4829..4830) ")" CLOSE_PAREN: (4830..4831) ")" - ATMOSPHERE: (4831..4833) " - -" + ATMOSPHERE: (4831..4833) "\n\n" ATMOSPHERE: (4833..4843) ";; (test 2" - ATMOSPHERE: (4843..4844) " -" + ATMOSPHERE: (4843..4844) "\n" ATMOSPHERE: (4844..4891) ";; (cond ((assv 'b '((a 1) (b 2))) => cadr)" - ATMOSPHERE: (4891..4892) " -" + ATMOSPHERE: (4891..4892) "\n" ATMOSPHERE: (4892..4916) ";; (else #f)))" - ATMOSPHERE: (4916..4918) " - -" + ATMOSPHERE: (4916..4918) "\n\n" ATMOSPHERE: (4918..4937) ";; (test 'composite" - ATMOSPHERE: (4937..4938) " -" + ATMOSPHERE: (4937..4938) "\n" ATMOSPHERE: (4938..4958) ";; (case (* 2 3)" - ATMOSPHERE: (4958..4959) " -" + ATMOSPHERE: (4958..4959) "\n" ATMOSPHERE: (4959..4986) ";; ((2 3 5 7) 'prime)" - ATMOSPHERE: (4986..4987) " -" + ATMOSPHERE: (4986..4987) "\n" ATMOSPHERE: (4987..5022) ";; ((1 4 6 8 9) 'composite)))" - ATMOSPHERE: (5022..5024) " - -" + ATMOSPHERE: (5022..5024) "\n\n" ATMOSPHERE: (5024..5035) ";; (test 'c" - ATMOSPHERE: (5035..5036) " -" + ATMOSPHERE: (5035..5036) "\n" ATMOSPHERE: (5036..5061) ";; (case (car '(c d))" - ATMOSPHERE: (5061..5062) " -" + ATMOSPHERE: (5061..5062) "\n" ATMOSPHERE: (5062..5091) ";; ((a e i o u) 'vowel)" - ATMOSPHERE: (5091..5092) " -" + ATMOSPHERE: (5091..5092) "\n" ATMOSPHERE: (5092..5119) ";; ((w y) 'semivowel)" - ATMOSPHERE: (5119..5120) " -" + ATMOSPHERE: (5119..5120) "\n" ATMOSPHERE: (5120..5155) ";; (else => (lambda (x) x))))" - ATMOSPHERE: (5155..5157) " - -" + ATMOSPHERE: (5155..5157) "\n\n" ATMOSPHERE: (5157..5207) ";; (test '((other . z) (semivowel . y) (other . x)" - ATMOSPHERE: (5207..5208) " -" + ATMOSPHERE: (5207..5208) "\n" ATMOSPHERE: (5208..5247) ";; (semivowel . w) (vowel . u))" - ATMOSPHERE: (5247..5248) " -" + ATMOSPHERE: (5247..5248) "\n" ATMOSPHERE: (5248..5271) ";; (map (lambda (x)" - ATMOSPHERE: (5271..5272) " -" + ATMOSPHERE: (5271..5272) "\n" ATMOSPHERE: (5272..5293) ";; (case x" - ATMOSPHERE: (5293..5294) " -" + ATMOSPHERE: (5293..5294) "\n" ATMOSPHERE: (5294..5355) ";; ((a e i o u) => (lambda (w) (cons 'vowel w)))" - ATMOSPHERE: (5355..5356) " -" + ATMOSPHERE: (5355..5356) "\n" ATMOSPHERE: (5356..5399) ";; ((w y) (cons 'semivowel x))" - ATMOSPHERE: (5399..5400) " -" + ATMOSPHERE: (5399..5400) "\n" ATMOSPHERE: (5400..5456) ";; (else => (lambda (w) (cons 'other w)))))" - ATMOSPHERE: (5456..5457) " -" + ATMOSPHERE: (5456..5457) "\n" ATMOSPHERE: (5457..5483) ";; '(z y x w u)))" - ATMOSPHERE: (5483..5485) " - -" + ATMOSPHERE: (5483..5485) "\n\n" FORM: (5485..5516) OPEN_PAREN: (5485..5486) "(" SYMBOL: (5486..5490) @@ -1950,8 +1756,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5513..5514) ")" CLOSE_PAREN: (5514..5515) ")" CLOSE_PAREN: (5515..5516) ")" - ATMOSPHERE: (5516..5517) " -" + ATMOSPHERE: (5516..5517) "\n" FORM: (5517..5548) OPEN_PAREN: (5517..5518) "(" SYMBOL: (5518..5522) @@ -1990,8 +1795,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5545..5546) ")" CLOSE_PAREN: (5546..5547) ")" CLOSE_PAREN: (5547..5548) ")" - ATMOSPHERE: (5548..5549) " -" + ATMOSPHERE: (5548..5549) "\n" FORM: (5549..5582) OPEN_PAREN: (5549..5550) "(" SYMBOL: (5550..5554) @@ -2036,8 +1840,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5579..5580) ")" CLOSE_PAREN: (5580..5581) ")" CLOSE_PAREN: (5581..5582) ")" - ATMOSPHERE: (5582..5583) " -" + ATMOSPHERE: (5582..5583) "\n" FORM: (5583..5598) OPEN_PAREN: (5583..5584) "(" SYMBOL: (5584..5588) @@ -2052,9 +1855,7 @@ PROGRAM: (0..79716) IDENTIFIER: (5593..5596) "and" CLOSE_PAREN: (5596..5597) ")" CLOSE_PAREN: (5597..5598) ")" - ATMOSPHERE: (5598..5600) " - -" + ATMOSPHERE: (5598..5600) "\n\n" FORM: (5600..5630) OPEN_PAREN: (5600..5601) "(" SYMBOL: (5601..5605) @@ -2093,8 +1894,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5627..5628) ")" CLOSE_PAREN: (5628..5629) ")" CLOSE_PAREN: (5629..5630) ")" - ATMOSPHERE: (5630..5631) " -" + ATMOSPHERE: (5630..5631) "\n" FORM: (5631..5661) OPEN_PAREN: (5631..5632) "(" SYMBOL: (5632..5636) @@ -2133,8 +1933,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5658..5659) ")" CLOSE_PAREN: (5659..5660) ")" CLOSE_PAREN: (5660..5661) ")" - ATMOSPHERE: (5661..5662) " -" + ATMOSPHERE: (5661..5662) "\n" FORM: (5662..5685) OPEN_PAREN: (5662..5663) "(" SYMBOL: (5663..5667) @@ -2158,8 +1957,7 @@ PROGRAM: (0..79716) BOOLEAN: (5681..5683) "#f" CLOSE_PAREN: (5683..5684) ")" CLOSE_PAREN: (5684..5685) ")" - ATMOSPHERE: (5685..5686) " -" + ATMOSPHERE: (5685..5686) "\n" FORM: (5686..5759) OPEN_PAREN: (5686..5687) "(" SYMBOL: (5687..5691) @@ -2207,8 +2005,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5720..5721) ")" ATMOSPHERE: (5721..5722) " " ATMOSPHERE: (5722..5745) ";; FIXME: No `memq` yet" - ATMOSPHERE: (5745..5750) " - " + ATMOSPHERE: (5745..5750) "\n " FORM: (5750..5757) OPEN_PAREN: (5750..5751) "(" SYMBOL: (5751..5752) @@ -2222,9 +2019,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5756..5757) ")" CLOSE_PAREN: (5757..5758) ")" CLOSE_PAREN: (5758..5759) ")" - ATMOSPHERE: (5759..5761) " - -" + ATMOSPHERE: (5759..5761) "\n\n" FORM: (5761..5799) OPEN_PAREN: (5761..5762) "(" SYMBOL: (5762..5766) @@ -2258,8 +2053,7 @@ PROGRAM: (0..79716) NUMBER: (5784..5785) "3" CLOSE_PAREN: (5785..5786) ")" CLOSE_PAREN: (5786..5787) ")" - ATMOSPHERE: (5787..5790) " - " + ATMOSPHERE: (5787..5790) "\n " FORM: (5790..5797) OPEN_PAREN: (5790..5791) "(" SYMBOL: (5791..5792) @@ -2273,9 +2067,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5796..5797) ")" CLOSE_PAREN: (5797..5798) ")" CLOSE_PAREN: (5798..5799) ")" - ATMOSPHERE: (5799..5801) " - -" + ATMOSPHERE: (5799..5801) "\n\n" FORM: (5801..5878) OPEN_PAREN: (5801..5802) "(" SYMBOL: (5802..5806) @@ -2309,8 +2101,7 @@ PROGRAM: (0..79716) NUMBER: (5825..5826) "3" CLOSE_PAREN: (5826..5827) ")" CLOSE_PAREN: (5827..5828) ")" - ATMOSPHERE: (5828..5831) " - " + ATMOSPHERE: (5828..5831) "\n " FORM: (5831..5876) OPEN_PAREN: (5831..5832) "(" SYMBOL: (5832..5835) @@ -2326,8 +2117,7 @@ PROGRAM: (0..79716) CONSTANT: (5840..5841) NUMBER: (5840..5841) "7" CLOSE_PAREN: (5841..5842) ")" - ATMOSPHERE: (5842..5851) " - " + ATMOSPHERE: (5842..5851) "\n " FORM: (5851..5862) OPEN_PAREN: (5851..5852) "(" SYMBOL: (5852..5853) @@ -2346,8 +2136,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5860..5861) ")" CLOSE_PAREN: (5861..5862) ")" CLOSE_PAREN: (5862..5863) ")" - ATMOSPHERE: (5863..5868) " - " + ATMOSPHERE: (5863..5868) "\n " FORM: (5868..5875) OPEN_PAREN: (5868..5869) "(" SYMBOL: (5869..5870) @@ -2362,9 +2151,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5875..5876) ")" CLOSE_PAREN: (5876..5877) ")" CLOSE_PAREN: (5877..5878) ")" - ATMOSPHERE: (5878..5880) " - -" + ATMOSPHERE: (5878..5880) "\n\n" FORM: (5880..5959) OPEN_PAREN: (5880..5881) "(" SYMBOL: (5881..5885) @@ -2398,8 +2185,7 @@ PROGRAM: (0..79716) NUMBER: (5904..5905) "3" CLOSE_PAREN: (5905..5906) ")" CLOSE_PAREN: (5906..5907) ")" - ATMOSPHERE: (5907..5910) " - " + ATMOSPHERE: (5907..5910) "\n " FORM: (5910..5957) OPEN_PAREN: (5910..5911) "(" SYMBOL: (5911..5915) @@ -2415,8 +2201,7 @@ PROGRAM: (0..79716) CONSTANT: (5920..5921) NUMBER: (5920..5921) "7" CLOSE_PAREN: (5921..5922) ")" - ATMOSPHERE: (5922..5932) " - " + ATMOSPHERE: (5922..5932) "\n " FORM: (5932..5943) OPEN_PAREN: (5932..5933) "(" SYMBOL: (5933..5934) @@ -2435,8 +2220,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5941..5942) ")" CLOSE_PAREN: (5942..5943) ")" CLOSE_PAREN: (5943..5944) ")" - ATMOSPHERE: (5944..5949) " - " + ATMOSPHERE: (5944..5949) "\n " FORM: (5949..5956) OPEN_PAREN: (5949..5950) "(" SYMBOL: (5950..5951) @@ -2451,9 +2235,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (5956..5957) ")" CLOSE_PAREN: (5957..5958) ")" CLOSE_PAREN: (5958..5959) ")" - ATMOSPHERE: (5959..5961) " - -" + ATMOSPHERE: (5959..5961) "\n\n" FORM: (5961..6263) OPEN_PAREN: (5961..5962) "(" SYMBOL: (5962..5966) @@ -2461,8 +2243,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (5966..5967) " " CONSTANT: (5967..5969) BOOLEAN: (5967..5969) "#t" - ATMOSPHERE: (5969..5974) " - " + ATMOSPHERE: (5969..5974) "\n " FORM: (5974..6262) OPEN_PAREN: (5974..5975) "(" SYMBOL: (5975..5981) @@ -2474,8 +2255,7 @@ PROGRAM: (0..79716) OPEN_PAREN: (5983..5984) "(" SYMBOL: (5984..5989) IDENTIFIER: (5984..5989) "even?" - ATMOSPHERE: (5989..6004) " - " + ATMOSPHERE: (5989..6004) "\n " FORM: (6004..6105) OPEN_PAREN: (6004..6005) "(" SYMBOL: (6005..6011) @@ -2486,8 +2266,7 @@ PROGRAM: (0..79716) SYMBOL: (6013..6014) IDENTIFIER: (6013..6014) "n" CLOSE_PAREN: (6014..6015) ")" - ATMOSPHERE: (6015..6032) " - " + ATMOSPHERE: (6015..6032) "\n " FORM: (6032..6104) OPEN_PAREN: (6032..6033) "(" SYMBOL: (6033..6035) @@ -2501,12 +2280,10 @@ PROGRAM: (0..79716) SYMBOL: (6043..6044) IDENTIFIER: (6043..6044) "n" CLOSE_PAREN: (6044..6045) ")" - ATMOSPHERE: (6045..6066) " - " + ATMOSPHERE: (6045..6066) "\n " CONSTANT: (6066..6068) BOOLEAN: (6066..6068) "#t" - ATMOSPHERE: (6068..6089) " - " + ATMOSPHERE: (6068..6089) "\n " FORM: (6089..6103) OPEN_PAREN: (6089..6090) "(" SYMBOL: (6090..6094) @@ -2527,14 +2304,12 @@ PROGRAM: (0..79716) CLOSE_PAREN: (6103..6104) ")" CLOSE_PAREN: (6104..6105) ")" CLOSE_PAREN: (6105..6106) ")" - ATMOSPHERE: (6106..6120) " - " + ATMOSPHERE: (6106..6120) "\n " FORM: (6120..6243) OPEN_PAREN: (6120..6121) "(" SYMBOL: (6121..6125) IDENTIFIER: (6121..6125) "odd?" - ATMOSPHERE: (6125..6140) " - " + ATMOSPHERE: (6125..6140) "\n " FORM: (6140..6242) OPEN_PAREN: (6140..6141) "(" SYMBOL: (6141..6147) @@ -2545,8 +2320,7 @@ PROGRAM: (0..79716) SYMBOL: (6149..6150) IDENTIFIER: (6149..6150) "n" CLOSE_PAREN: (6150..6151) ")" - ATMOSPHERE: (6151..6168) " - " + ATMOSPHERE: (6151..6168) "\n " FORM: (6168..6241) OPEN_PAREN: (6168..6169) "(" SYMBOL: (6169..6171) @@ -2560,12 +2334,10 @@ PROGRAM: (0..79716) SYMBOL: (6179..6180) IDENTIFIER: (6179..6180) "n" CLOSE_PAREN: (6180..6181) ")" - ATMOSPHERE: (6181..6202) " - " + ATMOSPHERE: (6181..6202) "\n " CONSTANT: (6202..6204) BOOLEAN: (6202..6204) "#f" - ATMOSPHERE: (6204..6225) " - " + ATMOSPHERE: (6204..6225) "\n " FORM: (6225..6240) OPEN_PAREN: (6225..6226) "(" SYMBOL: (6226..6231) @@ -2587,8 +2359,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (6241..6242) ")" CLOSE_PAREN: (6242..6243) ")" CLOSE_PAREN: (6243..6244) ")" - ATMOSPHERE: (6244..6251) " - " + ATMOSPHERE: (6244..6251) "\n " FORM: (6251..6261) OPEN_PAREN: (6251..6252) "(" SYMBOL: (6252..6257) @@ -2599,9 +2370,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (6260..6261) ")" CLOSE_PAREN: (6261..6262) ")" CLOSE_PAREN: (6262..6263) ")" - ATMOSPHERE: (6263..6265) " - -" + ATMOSPHERE: (6263..6265) "\n\n" FORM: (6265..6555) OPEN_PAREN: (6265..6266) "(" SYMBOL: (6266..6270) @@ -2609,8 +2378,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (6270..6271) " " CONSTANT: (6271..6272) NUMBER: (6271..6272) "5" - ATMOSPHERE: (6272..6277) " - " + ATMOSPHERE: (6272..6277) "\n " FORM: (6277..6554) OPEN_PAREN: (6277..6278) "(" SYMBOL: (6278..6285) @@ -2622,8 +2390,7 @@ PROGRAM: (0..79716) OPEN_PAREN: (6287..6288) "(" SYMBOL: (6288..6289) IDENTIFIER: (6288..6289) "p" - ATMOSPHERE: (6289..6305) " - " + ATMOSPHERE: (6289..6305) "\n " FORM: (6305..6352) OPEN_PAREN: (6305..6306) "(" SYMBOL: (6306..6312) @@ -2634,8 +2401,7 @@ PROGRAM: (0..79716) SYMBOL: (6314..6315) IDENTIFIER: (6314..6315) "x" CLOSE_PAREN: (6315..6316) ")" - ATMOSPHERE: (6316..6334) " - " + ATMOSPHERE: (6316..6334) "\n " FORM: (6334..6351) OPEN_PAREN: (6334..6335) "(" SYMBOL: (6335..6336) @@ -2664,14 +2430,12 @@ PROGRAM: (0..79716) CLOSE_PAREN: (6350..6351) ")" CLOSE_PAREN: (6351..6352) ")" CLOSE_PAREN: (6352..6353) ")" - ATMOSPHERE: (6353..6368) " - " + ATMOSPHERE: (6353..6368) "\n " FORM: (6368..6493) OPEN_PAREN: (6368..6369) "(" SYMBOL: (6369..6370) IDENTIFIER: (6369..6370) "q" - ATMOSPHERE: (6370..6386) " - " + ATMOSPHERE: (6370..6386) "\n " FORM: (6386..6492) OPEN_PAREN: (6386..6387) "(" SYMBOL: (6387..6393) @@ -2682,8 +2446,7 @@ PROGRAM: (0..79716) SYMBOL: (6395..6396) IDENTIFIER: (6395..6396) "y" CLOSE_PAREN: (6396..6397) ")" - ATMOSPHERE: (6397..6415) " - " + ATMOSPHERE: (6397..6415) "\n " FORM: (6415..6491) OPEN_PAREN: (6415..6416) "(" SYMBOL: (6416..6418) @@ -2697,12 +2460,10 @@ PROGRAM: (0..79716) SYMBOL: (6426..6427) IDENTIFIER: (6426..6427) "y" CLOSE_PAREN: (6427..6428) ")" - ATMOSPHERE: (6428..6450) " - " + ATMOSPHERE: (6428..6450) "\n " CONSTANT: (6450..6451) NUMBER: (6450..6451) "0" - ATMOSPHERE: (6451..6473) " - " + ATMOSPHERE: (6451..6473) "\n " FORM: (6473..6490) OPEN_PAREN: (6473..6474) "(" SYMBOL: (6474..6475) @@ -2732,8 +2493,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (6490..6491) ")" CLOSE_PAREN: (6491..6492) ")" CLOSE_PAREN: (6492..6493) ")" - ATMOSPHERE: (6493..6508) " - " + ATMOSPHERE: (6493..6508) "\n " FORM: (6508..6517) OPEN_PAREN: (6508..6509) "(" SYMBOL: (6509..6510) @@ -2748,8 +2508,7 @@ PROGRAM: (0..79716) NUMBER: (6514..6515) "5" CLOSE_PAREN: (6515..6516) ")" CLOSE_PAREN: (6516..6517) ")" - ATMOSPHERE: (6517..6532) " - " + ATMOSPHERE: (6517..6532) "\n " FORM: (6532..6537) OPEN_PAREN: (6532..6533) "(" SYMBOL: (6533..6534) @@ -2759,202 +2518,128 @@ PROGRAM: (0..79716) IDENTIFIER: (6535..6536) "x" CLOSE_PAREN: (6536..6537) ")" CLOSE_PAREN: (6537..6538) ")" - ATMOSPHERE: (6538..6552) " - " + ATMOSPHERE: (6538..6552) "\n " SYMBOL: (6552..6553) IDENTIFIER: (6552..6553) "y" CLOSE_PAREN: (6553..6554) ")" CLOSE_PAREN: (6554..6555) ")" - ATMOSPHERE: (6555..6558) " - - -" + ATMOSPHERE: (6555..6558) "\n\n\n" ATMOSPHERE: (6558..6590) ";;; FIXME: `let*values` support." - ATMOSPHERE: (6590..6591) " -" + ATMOSPHERE: (6590..6591) "\n" ATMOSPHERE: (6591..6645) ";; ;; By Jussi Piitulainen " - ATMOSPHERE: (6645..6646) " -" + ATMOSPHERE: (6645..6646) "\n" ATMOSPHERE: (6646..6692) ";; ;; and John Cowan :" - ATMOSPHERE: (6692..6693) " -" + ATMOSPHERE: (6692..6693) "\n" ATMOSPHERE: (6693..6781) ";; ;; http://lists.scheme-reports.org/pipermail/scheme-reports/2013-December/003876.html" - ATMOSPHERE: (6781..6782) " -" + ATMOSPHERE: (6781..6782) "\n" ATMOSPHERE: (6782..6804) ";; (define (means ton)" - ATMOSPHERE: (6804..6805) " -" + ATMOSPHERE: (6804..6805) "\n" ATMOSPHERE: (6805..6818) ";; (letrec*" - ATMOSPHERE: (6818..6819) " -" + ATMOSPHERE: (6818..6819) "\n" ATMOSPHERE: (6819..6833) ";; ((mean" - ATMOSPHERE: (6833..6834) " -" + ATMOSPHERE: (6833..6834) "\n" ATMOSPHERE: (6834..6858) ";; (lambda (f g)" - ATMOSPHERE: (6858..6859) " -" + ATMOSPHERE: (6858..6859) "\n" ATMOSPHERE: (6859..6895) ";; (f (/ (sum g ton) n))))" - ATMOSPHERE: (6895..6896) " -" + ATMOSPHERE: (6895..6896) "\n" ATMOSPHERE: (6896..6909) ";; (sum" - ATMOSPHERE: (6909..6910) " -" + ATMOSPHERE: (6909..6910) "\n" ATMOSPHERE: (6910..6936) ";; (lambda (g ton)" - ATMOSPHERE: (6936..6937) " -" + ATMOSPHERE: (6936..6937) "\n" ATMOSPHERE: (6937..6965) ";; (if (null? ton)" - ATMOSPHERE: (6965..6966) " -" + ATMOSPHERE: (6965..6966) "\n" ATMOSPHERE: (6966..6984) ";; (+)" - ATMOSPHERE: (6984..6985) " -" + ATMOSPHERE: (6984..6985) "\n" ATMOSPHERE: (6985..7017) ";; (if (number? ton)" - ATMOSPHERE: (7017..7018) " -" + ATMOSPHERE: (7017..7018) "\n" ATMOSPHERE: (7018..7044) ";; (g ton)" - ATMOSPHERE: (7044..7045) " -" + ATMOSPHERE: (7044..7045) "\n" ATMOSPHERE: (7045..7084) ";; (+ (sum g (car ton))" - ATMOSPHERE: (7084..7085) " -" + ATMOSPHERE: (7084..7085) "\n" ATMOSPHERE: (7085..7129) ";; (sum g (cdr ton)))))))" - ATMOSPHERE: (7129..7130) " -" + ATMOSPHERE: (7129..7130) "\n" ATMOSPHERE: (7130..7168) ";; (n (sum (lambda (x) 1) ton)))" - ATMOSPHERE: (7168..7169) " -" + ATMOSPHERE: (7168..7169) "\n" ATMOSPHERE: (7169..7204) ";; (values (mean values values)" - ATMOSPHERE: (7204..7205) " -" + ATMOSPHERE: (7204..7205) "\n" ATMOSPHERE: (7205..7234) ";; (mean exp log)" - ATMOSPHERE: (7234..7235) " -" + ATMOSPHERE: (7234..7235) "\n" ATMOSPHERE: (7235..7263) ";; (mean / /))))" - ATMOSPHERE: (7263..7264) " -" + ATMOSPHERE: (7263..7264) "\n" ATMOSPHERE: (7264..7314) ";; (let*-values (((a b c) (means '(8 5 99 1 22))))" - ATMOSPHERE: (7314..7315) " -" + ATMOSPHERE: (7314..7315) "\n" ATMOSPHERE: (7315..7331) ";; (test 27 a)" - ATMOSPHERE: (7331..7332) " -" + ATMOSPHERE: (7331..7332) "\n" ATMOSPHERE: (7332..7351) ";; (test 9.728 b)" - ATMOSPHERE: (7351..7352) " -" + ATMOSPHERE: (7351..7352) "\n" ATMOSPHERE: (7352..7375) ";; (test 1800/497 c))" - ATMOSPHERE: (7375..7377) " - -" + ATMOSPHERE: (7375..7377) "\n\n" ATMOSPHERE: (7377..7431) ";; (let*-values (((root rem) (exact-integer-sqrt 32)))" - ATMOSPHERE: (7431..7432) " -" + ATMOSPHERE: (7431..7432) "\n" ATMOSPHERE: (7432..7460) ";; (test 35 (* root rem)))" - ATMOSPHERE: (7460..7462) " - -" + ATMOSPHERE: (7460..7462) "\n\n" ATMOSPHERE: (7462..7486) ";; (test '(1073741824 0)" - ATMOSPHERE: (7486..7487) " -" + ATMOSPHERE: (7486..7487) "\n" ATMOSPHERE: (7487..7554) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 60))))" - ATMOSPHERE: (7554..7555) " -" + ATMOSPHERE: (7554..7555) "\n" ATMOSPHERE: (7555..7581) ";; (list root rem)))" - ATMOSPHERE: (7581..7583) " - -" + ATMOSPHERE: (7581..7583) "\n\n" ATMOSPHERE: (7583..7616) ";; (test '(1518500249 3000631951)" - ATMOSPHERE: (7616..7617) " -" + ATMOSPHERE: (7616..7617) "\n" ATMOSPHERE: (7617..7684) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 61))))" - ATMOSPHERE: (7684..7685) " -" + ATMOSPHERE: (7684..7685) "\n" ATMOSPHERE: (7685..7711) ";; (list root rem)))" - ATMOSPHERE: (7711..7713) " - -" + ATMOSPHERE: (7711..7713) "\n\n" ATMOSPHERE: (7713..7762) ";; (test '(815238614083298888 443242361398135744)" - ATMOSPHERE: (7762..7763) " -" + ATMOSPHERE: (7762..7763) "\n" ATMOSPHERE: (7763..7831) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 119))))" - ATMOSPHERE: (7831..7832) " -" + ATMOSPHERE: (7831..7832) "\n" ATMOSPHERE: (7832..7858) ";; (list root rem)))" - ATMOSPHERE: (7858..7860) " - -" + ATMOSPHERE: (7858..7860) "\n\n" ATMOSPHERE: (7860..7893) ";; (test '(1152921504606846976 0)" - ATMOSPHERE: (7893..7894) " -" + ATMOSPHERE: (7893..7894) "\n" ATMOSPHERE: (7894..7962) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 120))))" - ATMOSPHERE: (7962..7963) " -" + ATMOSPHERE: (7962..7963) "\n" ATMOSPHERE: (7963..7989) ";; (list root rem)))" - ATMOSPHERE: (7989..7991) " - -" + ATMOSPHERE: (7989..7991) "\n\n" ATMOSPHERE: (7991..8042) ";; (test '(1630477228166597776 1772969445592542976)" - ATMOSPHERE: (8042..8043) " -" + ATMOSPHERE: (8042..8043) "\n" ATMOSPHERE: (8043..8111) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 121))))" - ATMOSPHERE: (8111..8112) " -" + ATMOSPHERE: (8111..8112) "\n" ATMOSPHERE: (8112..8138) ";; (list root rem)))" - ATMOSPHERE: (8138..8140) " - -" + ATMOSPHERE: (8138..8140) "\n\n" ATMOSPHERE: (8140..8193) ";; (test '(31622776601683793319 62545769258890964239)" - ATMOSPHERE: (8193..8194) " -" + ATMOSPHERE: (8193..8194) "\n" ATMOSPHERE: (8194..8262) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 10 39))))" - ATMOSPHERE: (8262..8263) " -" + ATMOSPHERE: (8262..8263) "\n" ATMOSPHERE: (8263..8289) ";; (list root rem)))" - ATMOSPHERE: (8289..8291) " - -" + ATMOSPHERE: (8289..8291) "\n\n" ATMOSPHERE: (8291..8355) ";; (let*-values (((root rem) (exact-integer-sqrt (expt 2 140))))" - ATMOSPHERE: (8355..8356) " -" + ATMOSPHERE: (8355..8356) "\n" ATMOSPHERE: (8356..8373) ";; (test 0 rem)" - ATMOSPHERE: (8373..8374) " -" + ATMOSPHERE: (8373..8374) "\n" ATMOSPHERE: (8374..8413) ";; (test (expt 2 140) (square root)))" - ATMOSPHERE: (8413..8415) " - -" + ATMOSPHERE: (8413..8415) "\n\n" ATMOSPHERE: (8415..8469) ";; (test '(x y x y) (let ((a 'a) (b 'b) (x 'x) (y 'y))" - ATMOSPHERE: (8469..8470) " -" + ATMOSPHERE: (8469..8470) "\n" ATMOSPHERE: (8470..8509) ";; (let*-values (((a b) (values x y))" - ATMOSPHERE: (8509..8510) " -" + ATMOSPHERE: (8509..8510) "\n" ATMOSPHERE: (8510..8550) ";; ((x y) (values a b)))" - ATMOSPHERE: (8550..8551) " -" + ATMOSPHERE: (8550..8551) "\n" ATMOSPHERE: (8551..8575) ";; (list a b x y))))" - ATMOSPHERE: (8575..8577) " - -" + ATMOSPHERE: (8575..8577) "\n\n" ATMOSPHERE: (8577..8610) ";; (test 'ok (let-values () 'ok))" - ATMOSPHERE: (8610..8612) " - -" + ATMOSPHERE: (8610..8612) "\n\n" ATMOSPHERE: (8612..8635) ";; (test 1 (let ((x 1))" - ATMOSPHERE: (8635..8636) " -" - ATMOSPHERE: (8636..8657) ";; (let*-values ()" - ATMOSPHERE: (8657..8658) " -" - ATMOSPHERE: (8658..8678) ";; (define x 2)" - ATMOSPHERE: (8678..8679) " -" - ATMOSPHERE: (8679..8690) ";; #f)" - ATMOSPHERE: (8690..8691) " -" - ATMOSPHERE: (8691..8700) ";; x))" - ATMOSPHERE: (8700..8702) " - -" + ATMOSPHERE: (8635..8636) "\n" + ATMOSPHERE: (8636..8657) ";; \t (let*-values ()" + ATMOSPHERE: (8657..8658) "\n" + ATMOSPHERE: (8658..8678) ";; \t (define x 2)" + ATMOSPHERE: (8678..8679) "\n" + ATMOSPHERE: (8679..8690) ";; \t #f)" + ATMOSPHERE: (8690..8691) "\n" + ATMOSPHERE: (8691..8700) ";; \t x))" + ATMOSPHERE: (8700..8702) "\n\n" FORM: (8702..8757) OPEN_PAREN: (8702..8703) "(" SYMBOL: (8703..8706) @@ -2963,8 +2648,7 @@ PROGRAM: (0..79716) FORM: (8707..8709) OPEN_PAREN: (8707..8708) "(" CLOSE_PAREN: (8708..8709) ")" - ATMOSPHERE: (8709..8712) " - " + ATMOSPHERE: (8709..8712) "\n " FORM: (8712..8724) OPEN_PAREN: (8712..8713) "(" SYMBOL: (8713..8719) @@ -2976,8 +2660,7 @@ PROGRAM: (0..79716) CONSTANT: (8722..8723) NUMBER: (8722..8723) "0" CLOSE_PAREN: (8723..8724) ")" - ATMOSPHERE: (8724..8727) " - " + ATMOSPHERE: (8724..8727) "\n " FORM: (8727..8737) OPEN_PAREN: (8727..8728) "(" SYMBOL: (8728..8732) @@ -2989,8 +2672,7 @@ PROGRAM: (0..79716) CONSTANT: (8735..8736) NUMBER: (8735..8736) "5" CLOSE_PAREN: (8736..8737) ")" - ATMOSPHERE: (8737..8740) " - " + ATMOSPHERE: (8737..8740) "\n " FORM: (8740..8756) OPEN_PAREN: (8740..8741) "(" SYMBOL: (8741..8745) @@ -3012,393 +2694,254 @@ PROGRAM: (0..79716) CLOSE_PAREN: (8754..8755) ")" CLOSE_PAREN: (8755..8756) ")" CLOSE_PAREN: (8756..8757) ")" - ATMOSPHERE: (8757..8759) " - -" + ATMOSPHERE: (8757..8759) "\n\n" ATMOSPHERE: (8759..8782) ";;; FIXME: `do` support" - ATMOSPHERE: (8782..8783) " -" + ATMOSPHERE: (8782..8783) "\n" ATMOSPHERE: (8783..8831) ";; (test #(0 1 2 3 4) (do ((vec (make-vector 5))" - ATMOSPHERE: (8831..8832) " -" + ATMOSPHERE: (8831..8832) "\n" ATMOSPHERE: (8832..8854) ";; (i 0 (+ i 1)))" - ATMOSPHERE: (8854..8855) " -" + ATMOSPHERE: (8854..8855) "\n" ATMOSPHERE: (8855..8875) ";; ((= i 5) vec)" - ATMOSPHERE: (8875..8876) " -" + ATMOSPHERE: (8875..8876) "\n" ATMOSPHERE: (8876..8904) ";; (vector-set! vec i i)))" - ATMOSPHERE: (8904..8906) " - -" + ATMOSPHERE: (8904..8906) "\n\n" ATMOSPHERE: (8906..8941) ";; (test 25 (let ((x '(1 3 5 7 9)))" - ATMOSPHERE: (8941..8942) " -" + ATMOSPHERE: (8941..8942) "\n" ATMOSPHERE: (8942..8965) ";; (do ((x x (cdr x))" - ATMOSPHERE: (8965..8966) " -" + ATMOSPHERE: (8965..8966) "\n" ATMOSPHERE: (8966..9000) ";; (sum 0 (+ sum (car x))))" - ATMOSPHERE: (9000..9001) " -" + ATMOSPHERE: (9000..9001) "\n" ATMOSPHERE: (9001..9028) ";; ((null? x) sum))))" - ATMOSPHERE: (9028..9030) " - -" + ATMOSPHERE: (9028..9030) "\n\n" ATMOSPHERE: (9030..9048) ";;; FIXME: looping" - ATMOSPHERE: (9048..9049) " -" + ATMOSPHERE: (9048..9049) "\n" ATMOSPHERE: (9049..9076) ";; (test '((6 1 3) (-5 -2))" - ATMOSPHERE: (9076..9077) " -" + ATMOSPHERE: (9076..9077) "\n" ATMOSPHERE: (9077..9119) ";; (let loop ((numbers '(3 -2 1 6 -5))" - ATMOSPHERE: (9119..9120) " -" + ATMOSPHERE: (9119..9120) "\n" ATMOSPHERE: (9120..9150) ";; (nonneg '())" - ATMOSPHERE: (9150..9151) " -" + ATMOSPHERE: (9150..9151) "\n" ATMOSPHERE: (9151..9179) ";; (neg '()))" - ATMOSPHERE: (9179..9180) " -" + ATMOSPHERE: (9179..9180) "\n" ATMOSPHERE: (9180..9230) ";; (cond ((null? numbers) (list nonneg neg))" - ATMOSPHERE: (9230..9231) " -" + ATMOSPHERE: (9230..9231) "\n" ATMOSPHERE: (9231..9267) ";; ((>= (car numbers) 0)" - ATMOSPHERE: (9267..9268) " -" + ATMOSPHERE: (9267..9268) "\n" ATMOSPHERE: (9268..9303) ";; (loop (cdr numbers)" - ATMOSPHERE: (9303..9304) " -" + ATMOSPHERE: (9303..9304) "\n" ATMOSPHERE: (9304..9353) ";; (cons (car numbers) nonneg)" - ATMOSPHERE: (9353..9354) " -" + ATMOSPHERE: (9353..9354) "\n" ATMOSPHERE: (9354..9381) ";; neg))" - ATMOSPHERE: (9381..9382) " -" + ATMOSPHERE: (9381..9382) "\n" ATMOSPHERE: (9382..9417) ";; ((< (car numbers) 0)" - ATMOSPHERE: (9417..9418) " -" + ATMOSPHERE: (9417..9418) "\n" ATMOSPHERE: (9418..9453) ";; (loop (cdr numbers)" - ATMOSPHERE: (9453..9454) " -" + ATMOSPHERE: (9453..9454) "\n" ATMOSPHERE: (9454..9482) ";; nonneg" - ATMOSPHERE: (9482..9483) " -" + ATMOSPHERE: (9482..9483) "\n" ATMOSPHERE: (9483..9534) ";; (cons (car numbers) neg))))))" - ATMOSPHERE: (9534..9536) " - -" + ATMOSPHERE: (9534..9536) "\n\n" ATMOSPHERE: (9536..9571) ";; (test 3 (force (delay (+ 1 2))))" - ATMOSPHERE: (9571..9573) " - -" + ATMOSPHERE: (9571..9573) "\n\n" ATMOSPHERE: (9573..9590) ";; (test '(3 3) " - ATMOSPHERE: (9590..9591) " -" + ATMOSPHERE: (9590..9591) "\n" ATMOSPHERE: (9591..9624) ";; (let ((p (delay (+ 1 2))))" - ATMOSPHERE: (9624..9625) " -" + ATMOSPHERE: (9624..9625) "\n" ATMOSPHERE: (9625..9662) ";; (list (force p) (force p))))" - ATMOSPHERE: (9662..9664) " - -" + ATMOSPHERE: (9662..9664) "\n\n" ATMOSPHERE: (9664..9683) ";; (define integers" - ATMOSPHERE: (9683..9684) " -" + ATMOSPHERE: (9683..9684) "\n" ATMOSPHERE: (9684..9703) ";; (letrec ((next" - ATMOSPHERE: (9703..9704) " -" + ATMOSPHERE: (9703..9704) "\n" ATMOSPHERE: (9704..9730) ";; (lambda (n)" - ATMOSPHERE: (9730..9731) " -" + ATMOSPHERE: (9730..9731) "\n" ATMOSPHERE: (9731..9782) ";; (delay (cons n (next (+ n 1)))))))" - ATMOSPHERE: (9782..9783) " -" + ATMOSPHERE: (9782..9783) "\n" ATMOSPHERE: (9783..9800) ";; (next 0)))" - ATMOSPHERE: (9800..9801) " -" + ATMOSPHERE: (9800..9801) "\n" ATMOSPHERE: (9801..9816) ";; (define head" - ATMOSPHERE: (9816..9817) " -" + ATMOSPHERE: (9816..9817) "\n" ATMOSPHERE: (9817..9861) ";; (lambda (stream) (car (force stream))))" - ATMOSPHERE: (9861..9862) " -" + ATMOSPHERE: (9861..9862) "\n" ATMOSPHERE: (9862..9877) ";; (define tail" - ATMOSPHERE: (9877..9878) " -" + ATMOSPHERE: (9877..9878) "\n" ATMOSPHERE: (9878..9922) ";; (lambda (stream) (cdr (force stream))))" - ATMOSPHERE: (9922..9924) " - -" + ATMOSPHERE: (9922..9924) "\n\n" ATMOSPHERE: (9924..9965) ";; (test 2 (head (tail (tail integers))))" - ATMOSPHERE: (9965..9967) " - -" + ATMOSPHERE: (9965..9967) "\n\n" ATMOSPHERE: (9967..9998) ";; (define (stream-filter p? s)" - ATMOSPHERE: (9998..9999) " -" + ATMOSPHERE: (9998..9999) "\n" ATMOSPHERE: (9999..10016) ";; (delay-force" - ATMOSPHERE: (10016..10017) " -" + ATMOSPHERE: (10016..10017) "\n" ATMOSPHERE: (10017..10045) ";; (if (null? (force s)) " - ATMOSPHERE: (10045..10046) " -" + ATMOSPHERE: (10045..10046) "\n" ATMOSPHERE: (10046..10067) ";; (delay '())" - ATMOSPHERE: (10067..10068) " -" + ATMOSPHERE: (10067..10068) "\n" ATMOSPHERE: (10068..10103) ";; (let ((h (car (force s)))" - ATMOSPHERE: (10103..10104) " -" + ATMOSPHERE: (10103..10104) "\n" ATMOSPHERE: (10104..10140) ";; (t (cdr (force s))))" - ATMOSPHERE: (10140..10141) " -" + ATMOSPHERE: (10140..10141) "\n" ATMOSPHERE: (10141..10163) ";; (if (p? h)" - ATMOSPHERE: (10163..10164) " -" + ATMOSPHERE: (10163..10164) "\n" ATMOSPHERE: (10164..10217) ";; (delay (cons h (stream-filter p? t)))" - ATMOSPHERE: (10217..10218) " -" + ATMOSPHERE: (10217..10218) "\n" ATMOSPHERE: (10218..10259) ";; (stream-filter p? t))))))" - ATMOSPHERE: (10259..10261) " - -" + ATMOSPHERE: (10259..10261) "\n\n" ATMOSPHERE: (10261..10323) ";; (test 5 (head (tail (tail (stream-filter odd? integers)))))" - ATMOSPHERE: (10323..10325) " - -" + ATMOSPHERE: (10323..10325) "\n\n" ATMOSPHERE: (10325..10335) ";; (let ()" - ATMOSPHERE: (10335..10336) " -" + ATMOSPHERE: (10335..10336) "\n" ATMOSPHERE: (10336..10353) ";; (define x 5)" - ATMOSPHERE: (10353..10354) " -" + ATMOSPHERE: (10353..10354) "\n" ATMOSPHERE: (10354..10375) ";; (define count 0)" - ATMOSPHERE: (10375..10376) " -" + ATMOSPHERE: (10375..10376) "\n" ATMOSPHERE: (10376..10390) ";; (define p" - ATMOSPHERE: (10390..10391) " -" + ATMOSPHERE: (10390..10391) "\n" ATMOSPHERE: (10391..10436) ";; (delay (begin (set! count (+ count 1))" - ATMOSPHERE: (10436..10437) " -" + ATMOSPHERE: (10436..10437) "\n" ATMOSPHERE: (10437..10473) ";; (if (> count x)" - ATMOSPHERE: (10473..10474) " -" + ATMOSPHERE: (10473..10474) "\n" ATMOSPHERE: (10474..10504) ";; count" - ATMOSPHERE: (10504..10505) " -" + ATMOSPHERE: (10504..10505) "\n" ATMOSPHERE: (10505..10543) ";; (force p)))))" - ATMOSPHERE: (10543..10544) " -" + ATMOSPHERE: (10543..10544) "\n" ATMOSPHERE: (10544..10567) ";; (test 6 (force p))" - ATMOSPHERE: (10567..10568) " -" + ATMOSPHERE: (10567..10568) "\n" ATMOSPHERE: (10568..10612) ";; (test 6 (begin (set! x 10) (force p))))" - ATMOSPHERE: (10612..10614) " - -" + ATMOSPHERE: (10612..10614) "\n\n" ATMOSPHERE: (10614..10653) ";; (test #t (promise? (delay (+ 2 2))))" - ATMOSPHERE: (10653..10654) " -" + ATMOSPHERE: (10653..10654) "\n" ATMOSPHERE: (10654..10700) ";; (test #t (promise? (make-promise (+ 2 2))))" - ATMOSPHERE: (10700..10701) " -" + ATMOSPHERE: (10700..10701) "\n" ATMOSPHERE: (10701..10712) ";; (test #t" - ATMOSPHERE: (10712..10713) " -" + ATMOSPHERE: (10712..10713) "\n" ATMOSPHERE: (10713..10746) ";; (let ((x (delay (+ 2 2))))" - ATMOSPHERE: (10746..10747) " -" + ATMOSPHERE: (10746..10747) "\n" ATMOSPHERE: (10747..10765) ";; (force x)" - ATMOSPHERE: (10765..10766) " -" + ATMOSPHERE: (10765..10766) "\n" ATMOSPHERE: (10766..10789) ";; (promise? x)))" - ATMOSPHERE: (10789..10790) " -" + ATMOSPHERE: (10789..10790) "\n" ATMOSPHERE: (10790..10801) ";; (test #t" - ATMOSPHERE: (10801..10802) " -" + ATMOSPHERE: (10801..10802) "\n" ATMOSPHERE: (10802..10842) ";; (let ((x (make-promise (+ 2 2))))" - ATMOSPHERE: (10842..10843) " -" + ATMOSPHERE: (10842..10843) "\n" ATMOSPHERE: (10843..10861) ";; (force x)" - ATMOSPHERE: (10861..10862) " -" + ATMOSPHERE: (10861..10862) "\n" ATMOSPHERE: (10862..10885) ";; (promise? x)))" - ATMOSPHERE: (10885..10886) " -" + ATMOSPHERE: (10885..10886) "\n" ATMOSPHERE: (10886..10928) ";; (test 4 (force (make-promise (+ 2 2))))" - ATMOSPHERE: (10928..10929) " -" + ATMOSPHERE: (10928..10929) "\n" ATMOSPHERE: (10929..10986) ";; (test 4 (force (make-promise (make-promise (+ 2 2)))))" - ATMOSPHERE: (10986..10988) " - -" + ATMOSPHERE: (10986..10988) "\n\n" ATMOSPHERE: (10988..11004) ";; (define radix" - ATMOSPHERE: (11004..11005) " -" + ATMOSPHERE: (11004..11005) "\n" ATMOSPHERE: (11005..11025) ";; (make-parameter" - ATMOSPHERE: (11025..11026) " -" + ATMOSPHERE: (11025..11026) "\n" ATMOSPHERE: (11026..11034) ";; 10" - ATMOSPHERE: (11034..11035) " -" + ATMOSPHERE: (11034..11035) "\n" ATMOSPHERE: (11035..11052) ";; (lambda (x)" - ATMOSPHERE: (11052..11053) " -" + ATMOSPHERE: (11052..11053) "\n" ATMOSPHERE: (11053..11095) ";; (if (and (integer? x) (<= 2 x 16))" - ATMOSPHERE: (11095..11096) " -" + ATMOSPHERE: (11095..11096) "\n" ATMOSPHERE: (11096..11109) ";; x" - ATMOSPHERE: (11109..11110) " -" - ATMOSPHERE: (11110..11149) ";; (error "invalid radix")))))" - ATMOSPHERE: (11149..11150) " -" + ATMOSPHERE: (11109..11110) "\n" + ATMOSPHERE: (11110..11149) ";; (error \"invalid radix\")))))" + ATMOSPHERE: (11149..11150) "\n" ATMOSPHERE: (11150..11194) ";; (define (f n) (number->string n (radix)))" - ATMOSPHERE: (11194..11195) " -" - ATMOSPHERE: (11195..11216) ";; (test "12" (f 12))" - ATMOSPHERE: (11216..11217) " -" - ATMOSPHERE: (11217..11258) ";; (test "1100" (parameterize ((radix 2))" - ATMOSPHERE: (11258..11259) " -" + ATMOSPHERE: (11194..11195) "\n" + ATMOSPHERE: (11195..11216) ";; (test \"12\" (f 12))" + ATMOSPHERE: (11216..11217) "\n" + ATMOSPHERE: (11217..11258) ";; (test \"1100\" (parameterize ((radix 2))" + ATMOSPHERE: (11258..11259) "\n" ATMOSPHERE: (11259..11272) ";; (f 12)))" - ATMOSPHERE: (11272..11273) " -" - ATMOSPHERE: (11273..11294) ";; (test "12" (f 12))" - ATMOSPHERE: (11294..11296) " - -" + ATMOSPHERE: (11272..11273) "\n" + ATMOSPHERE: (11273..11294) ";; (test \"12\" (f 12))" + ATMOSPHERE: (11294..11296) "\n\n" ATMOSPHERE: (11296..11336) ";; (test '(list 3 4) `(list ,(+ 1 2) 4))" - ATMOSPHERE: (11336..11337) " -" + ATMOSPHERE: (11336..11337) "\n" ATMOSPHERE: (11337..11405) ";; (let ((name 'a)) (test '(list a (quote a)) `(list ,name ',name)))" - ATMOSPHERE: (11405..11406) " -" + ATMOSPHERE: (11405..11406) "\n" ATMOSPHERE: (11406..11468) ";; (test '(a 3 4 5 6 b) `(a ,(+ 1 2) ,@(map abs '(4 -5 6)) b))" - ATMOSPHERE: (11468..11469) " -" + ATMOSPHERE: (11468..11469) "\n" ATMOSPHERE: (11469..11494) ";; (test #(10 5 4 16 9 8)" - ATMOSPHERE: (11494..11495) " -" + ATMOSPHERE: (11494..11495) "\n" ATMOSPHERE: (11495..11547) ";; `#(10 5 ,(square 2) ,@(map square '(4 3)) 8))" - ATMOSPHERE: (11547..11548) " -" + ATMOSPHERE: (11547..11548) "\n" ATMOSPHERE: (11548..11590) ";; (test '(a `(b ,(+ 1 2) ,(foo 4 d) e) f)" - ATMOSPHERE: (11590..11591) " -" + ATMOSPHERE: (11590..11591) "\n" ATMOSPHERE: (11591..11640) ";; `(a `(b ,(+ 1 2) ,(foo ,(+ 1 3) d) e) f) )" - ATMOSPHERE: (11640..11641) " -" + ATMOSPHERE: (11640..11641) "\n" ATMOSPHERE: (11641..11660) ";; (let ((name1 'x)" - ATMOSPHERE: (11660..11661) " -" + ATMOSPHERE: (11660..11661) "\n" ATMOSPHERE: (11661..11681) ";; (name2 'y))" - ATMOSPHERE: (11681..11682) " -" + ATMOSPHERE: (11681..11682) "\n" ATMOSPHERE: (11682..11747) ";; (test '(a `(b ,x ,'y d) e) `(a `(b ,,name1 ,',name2 d) e)))" - ATMOSPHERE: (11747..11748) " -" + ATMOSPHERE: (11747..11748) "\n" ATMOSPHERE: (11748..11810) ";; (test '(list 3 4) (quasiquote (list (unquote (+ 1 2)) 4)) )" - ATMOSPHERE: (11810..11811) " -" + ATMOSPHERE: (11810..11811) "\n" ATMOSPHERE: (11811..11879) ";; (test `(list ,(+ 1 2) 4) (quasiquote (list (unquote (+ 1 2)) 4)))" - ATMOSPHERE: (11879..11881) " - -" + ATMOSPHERE: (11879..11881) "\n\n" ATMOSPHERE: (11881..11896) ";; (define plus" - ATMOSPHERE: (11896..11897) " -" + ATMOSPHERE: (11896..11897) "\n" ATMOSPHERE: (11897..11915) ";; (case-lambda " - ATMOSPHERE: (11915..11916) " -" + ATMOSPHERE: (11915..11916) "\n" ATMOSPHERE: (11916..11928) ";; (() 0)" - ATMOSPHERE: (11928..11929) " -" + ATMOSPHERE: (11928..11929) "\n" ATMOSPHERE: (11929..11942) ";; ((x) x)" - ATMOSPHERE: (11942..11943) " -" + ATMOSPHERE: (11942..11943) "\n" ATMOSPHERE: (11943..11964) ";; ((x y) (+ x y))" - ATMOSPHERE: (11964..11965) " -" + ATMOSPHERE: (11964..11965) "\n" ATMOSPHERE: (11965..11994) ";; ((x y z) (+ (+ x y) z))" - ATMOSPHERE: (11994..11995) " -" + ATMOSPHERE: (11994..11995) "\n" ATMOSPHERE: (11995..12024) ";; (args (apply + args))))" - ATMOSPHERE: (12024..12026) " - -" + ATMOSPHERE: (12024..12026) "\n\n" ATMOSPHERE: (12026..12044) ";; (test 0 (plus))" - ATMOSPHERE: (12044..12045) " -" + ATMOSPHERE: (12044..12045) "\n" ATMOSPHERE: (12045..12065) ";; (test 1 (plus 1))" - ATMOSPHERE: (12065..12066) " -" + ATMOSPHERE: (12065..12066) "\n" ATMOSPHERE: (12066..12088) ";; (test 3 (plus 1 2))" - ATMOSPHERE: (12088..12089) " -" + ATMOSPHERE: (12088..12089) "\n" ATMOSPHERE: (12089..12113) ";; (test 6 (plus 1 2 3))" - ATMOSPHERE: (12113..12114) " -" + ATMOSPHERE: (12113..12114) "\n" ATMOSPHERE: (12114..12141) ";; (test 10 (plus 1 2 3 4))" - ATMOSPHERE: (12141..12143) " - -" + ATMOSPHERE: (12141..12143) "\n\n" ATMOSPHERE: (12143..12158) ";; (define mult" - ATMOSPHERE: (12158..12159) " -" + ATMOSPHERE: (12158..12159) "\n" ATMOSPHERE: (12159..12176) ";; (case-lambda" - ATMOSPHERE: (12176..12177) " -" + ATMOSPHERE: (12176..12177) "\n" ATMOSPHERE: (12177..12189) ";; (() 1)" - ATMOSPHERE: (12189..12190) " -" + ATMOSPHERE: (12189..12190) "\n" ATMOSPHERE: (12190..12203) ";; ((x) x)" - ATMOSPHERE: (12203..12204) " -" + ATMOSPHERE: (12203..12204) "\n" ATMOSPHERE: (12204..12225) ";; ((x y) (* x y))" - ATMOSPHERE: (12225..12226) " -" + ATMOSPHERE: (12225..12226) "\n" ATMOSPHERE: (12226..12268) ";; ((x y . z) (apply mult (* x y) z))))" - ATMOSPHERE: (12268..12270) " - -" + ATMOSPHERE: (12268..12270) "\n\n" ATMOSPHERE: (12270..12288) ";; (test 1 (mult))" - ATMOSPHERE: (12288..12289) " -" + ATMOSPHERE: (12288..12289) "\n" ATMOSPHERE: (12289..12309) ";; (test 1 (mult 1))" - ATMOSPHERE: (12309..12310) " -" + ATMOSPHERE: (12309..12310) "\n" ATMOSPHERE: (12310..12332) ";; (test 2 (mult 1 2))" - ATMOSPHERE: (12332..12333) " -" + ATMOSPHERE: (12332..12333) "\n" ATMOSPHERE: (12333..12357) ";; (test 6 (mult 1 2 3))" - ATMOSPHERE: (12357..12358) " -" + ATMOSPHERE: (12357..12358) "\n" ATMOSPHERE: (12358..12385) ";; (test 24 (mult 1 2 3 4))" - ATMOSPHERE: (12385..12387) " - -" + ATMOSPHERE: (12385..12387) "\n\n" FORM: (12387..12397) OPEN_PAREN: (12387..12388) "(" SYMBOL: (12388..12396) IDENTIFIER: (12388..12396) "test-end" CLOSE_PAREN: (12396..12397) ")" - ATMOSPHERE: (12397..12399) " - -" + ATMOSPHERE: (12397..12399) "\n\n" FORM: (12399..12424) OPEN_PAREN: (12399..12400) "(" SYMBOL: (12400..12410) IDENTIFIER: (12400..12410) "test-begin" ATMOSPHERE: (12410..12411) " " CONSTANT: (12411..12423) - STRING: (12411..12423) ""4.3 Macros"" + STRING: (12411..12423) "\"4.3 Macros\"" CLOSE_PAREN: (12423..12424) ")" - ATMOSPHERE: (12424..12426) " - -" + ATMOSPHERE: (12424..12426) "\n\n" FORM: (12426..12757) OPEN_PAREN: (12426..12427) "(" SYMBOL: (12427..12431) @@ -3413,8 +2956,7 @@ PROGRAM: (0..79716) OPEN_PAREN: (12437..12438) "(" SYMBOL: (12438..12448) IDENTIFIER: (12438..12448) "let-syntax" - ATMOSPHERE: (12448..12464) " - " + ATMOSPHERE: (12448..12464) "\n " FORM: (12464..12668) OPEN_PAREN: (12464..12465) "(" FORM: (12465..12667) @@ -3430,8 +2972,7 @@ PROGRAM: (0..79716) FORM: (12485..12487) OPEN_PAREN: (12485..12486) "(" CLOSE_PAREN: (12486..12487) ")" - ATMOSPHERE: (12487..12512) " - " + ATMOSPHERE: (12487..12512) "\n " FORM: (12512..12665) OPEN_PAREN: (12512..12513) "(" FORM: (12513..12540) @@ -3451,8 +2992,7 @@ PROGRAM: (0..79716) SYMBOL: (12536..12539) IDENTIFIER: (12536..12539) "..." CLOSE_PAREN: (12539..12540) ")" - ATMOSPHERE: (12540..12566) " - " + ATMOSPHERE: (12540..12566) "\n " FORM: (12566..12664) OPEN_PAREN: (12566..12567) "(" SYMBOL: (12567..12569) @@ -3460,8 +3000,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (12569..12570) " " SYMBOL: (12570..12574) IDENTIFIER: (12570..12574) "test" - ATMOSPHERE: (12574..12604) " - " + ATMOSPHERE: (12574..12604) "\n " FORM: (12604..12663) OPEN_PAREN: (12604..12605) "(" SYMBOL: (12605..12610) @@ -3469,8 +3008,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (12610..12611) " " SYMBOL: (12611..12616) IDENTIFIER: (12611..12616) "stmt1" - ATMOSPHERE: (12616..12653) " - " + ATMOSPHERE: (12616..12653) "\n " SYMBOL: (12653..12658) IDENTIFIER: (12653..12658) "stmt2" ATMOSPHERE: (12658..12659) " " @@ -3482,8 +3020,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (12665..12666) ")" CLOSE_PAREN: (12666..12667) ")" CLOSE_PAREN: (12667..12668) ")" - ATMOSPHERE: (12668..12682) " - " + ATMOSPHERE: (12668..12682) "\n " FORM: (12682..12755) OPEN_PAREN: (12682..12683) "(" SYMBOL: (12683..12686) @@ -3500,8 +3037,7 @@ PROGRAM: (0..79716) BOOLEAN: (12692..12694) "#t" CLOSE_PAREN: (12694..12695) ")" CLOSE_PAREN: (12695..12696) ")" - ATMOSPHERE: (12696..12712) " - " + ATMOSPHERE: (12696..12712) "\n " FORM: (12712..12736) OPEN_PAREN: (12712..12713) "(" SYMBOL: (12713..12717) @@ -3524,16 +3060,13 @@ PROGRAM: (0..79716) IDENTIFIER: (12731..12734) "now" CLOSE_PAREN: (12734..12735) ")" CLOSE_PAREN: (12735..12736) ")" - ATMOSPHERE: (12736..12752) " - " + ATMOSPHERE: (12736..12752) "\n " SYMBOL: (12752..12754) IDENTIFIER: (12752..12754) "if" CLOSE_PAREN: (12754..12755) ")" CLOSE_PAREN: (12755..12756) ")" CLOSE_PAREN: (12756..12757) ")" - ATMOSPHERE: (12757..12759) " - -" + ATMOSPHERE: (12757..12759) "\n\n" FORM: (12759..12871) OPEN_PAREN: (12759..12760) "(" SYMBOL: (12760..12764) @@ -3562,8 +3095,7 @@ PROGRAM: (0..79716) IDENTIFIER: (12782..12787) "outer" CLOSE_PAREN: (12787..12788) ")" CLOSE_PAREN: (12788..12789) ")" - ATMOSPHERE: (12789..12792) " - " + ATMOSPHERE: (12789..12792) "\n " FORM: (12792..12869) OPEN_PAREN: (12792..12793) "(" SYMBOL: (12793..12803) @@ -3599,8 +3131,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (12832..12833) ")" CLOSE_PAREN: (12833..12834) ")" CLOSE_PAREN: (12834..12835) ")" - ATMOSPHERE: (12835..12840) " - " + ATMOSPHERE: (12835..12840) "\n " FORM: (12840..12868) OPEN_PAREN: (12840..12841) "(" SYMBOL: (12841..12844) @@ -3619,8 +3150,7 @@ PROGRAM: (0..79716) IDENTIFIER: (12850..12855) "inner" CLOSE_PAREN: (12855..12856) ")" CLOSE_PAREN: (12856..12857) ")" - ATMOSPHERE: (12857..12864) " - " + ATMOSPHERE: (12857..12864) "\n " FORM: (12864..12867) OPEN_PAREN: (12864..12865) "(" SYMBOL: (12865..12866) @@ -3630,126 +3160,83 @@ PROGRAM: (0..79716) CLOSE_PAREN: (12868..12869) ")" CLOSE_PAREN: (12869..12870) ")" CLOSE_PAREN: (12870..12871) ")" - ATMOSPHERE: (12871..12873) " - -" + ATMOSPHERE: (12871..12873) "\n\n" ATMOSPHERE: (12873..12891) ";;; FIXME: hygene?" - ATMOSPHERE: (12891..12892) " -" + ATMOSPHERE: (12891..12892) "\n" ATMOSPHERE: (12892..12917) ";; (test 7 (letrec-syntax" - ATMOSPHERE: (12917..12918) " -" + ATMOSPHERE: (12917..12918) "\n" ATMOSPHERE: (12918..12947) ";; ((my-or (syntax-rules ()" - ATMOSPHERE: (12947..12948) " -" + ATMOSPHERE: (12947..12948) "\n" ATMOSPHERE: (12948..12975) ";; ((my-or) #f)" - ATMOSPHERE: (12975..12976) " -" + ATMOSPHERE: (12975..12976) "\n" ATMOSPHERE: (12976..13004) ";; ((my-or e) e)" - ATMOSPHERE: (13004..13005) " -" + ATMOSPHERE: (13004..13005) "\n" ATMOSPHERE: (13005..13038) ";; ((my-or e1 e2 ...)" - ATMOSPHERE: (13038..13039) " -" + ATMOSPHERE: (13038..13039) "\n" ATMOSPHERE: (13039..13071) ";; (let ((temp e1))" - ATMOSPHERE: (13071..13072) " -" + ATMOSPHERE: (13071..13072) "\n" ATMOSPHERE: (13072..13098) ";; (if temp" - ATMOSPHERE: (13098..13099) " -" + ATMOSPHERE: (13098..13099) "\n" ATMOSPHERE: (13099..13125) ";; temp" - ATMOSPHERE: (13125..13126) " -" + ATMOSPHERE: (13125..13126) "\n" ATMOSPHERE: (13126..13168) ";; (my-or e2 ...)))))))" - ATMOSPHERE: (13168..13169) " -" + ATMOSPHERE: (13168..13169) "\n" ATMOSPHERE: (13169..13186) ";; (let ((x #f)" - ATMOSPHERE: (13186..13187) " -" + ATMOSPHERE: (13186..13187) "\n" ATMOSPHERE: (13187..13203) ";; (y 7)" - ATMOSPHERE: (13203..13204) " -" + ATMOSPHERE: (13203..13204) "\n" ATMOSPHERE: (13204..13223) ";; (temp 8)" - ATMOSPHERE: (13223..13224) " -" + ATMOSPHERE: (13223..13224) "\n" ATMOSPHERE: (13224..13245) ";; (let odd?)" - ATMOSPHERE: (13245..13246) " -" + ATMOSPHERE: (13245..13246) "\n" ATMOSPHERE: (13246..13268) ";; (if even?))" - ATMOSPHERE: (13268..13269) " -" + ATMOSPHERE: (13268..13269) "\n" ATMOSPHERE: (13269..13284) ";; (my-or x" - ATMOSPHERE: (13284..13285) " -" + ATMOSPHERE: (13284..13285) "\n" ATMOSPHERE: (13285..13309) ";; (let temp)" - ATMOSPHERE: (13309..13310) " -" + ATMOSPHERE: (13309..13310) "\n" ATMOSPHERE: (13310..13330) ";; (if y)" - ATMOSPHERE: (13330..13331) " -" + ATMOSPHERE: (13330..13331) "\n" ATMOSPHERE: (13331..13350) ";; y))))" - ATMOSPHERE: (13350..13352) " - -" + ATMOSPHERE: (13350..13352) "\n\n" ATMOSPHERE: (13352..13397) ";;; FIXME: quoted elipsis `(... ...)` support" - ATMOSPHERE: (13397..13398) " -" + ATMOSPHERE: (13397..13398) "\n" ATMOSPHERE: (13398..13430) ";; (define-syntax be-like-begin1" - ATMOSPHERE: (13430..13431) " -" + ATMOSPHERE: (13430..13431) "\n" ATMOSPHERE: (13431..13452) ";; (syntax-rules ()" - ATMOSPHERE: (13452..13453) " -" + ATMOSPHERE: (13452..13453) "\n" ATMOSPHERE: (13453..13482) ";; ((be-like-begin1 name)" - ATMOSPHERE: (13482..13483) " -" + ATMOSPHERE: (13482..13483) "\n" ATMOSPHERE: (13483..13510) ";; (define-syntax name" - ATMOSPHERE: (13510..13511) " -" + ATMOSPHERE: (13510..13511) "\n" ATMOSPHERE: (13511..13537) ";; (syntax-rules ()" - ATMOSPHERE: (13537..13538) " -" + ATMOSPHERE: (13537..13538) "\n" ATMOSPHERE: (13538..13572) ";; ((name expr (... ...))" - ATMOSPHERE: (13572..13573) " -" + ATMOSPHERE: (13572..13573) "\n" ATMOSPHERE: (13573..13614) ";; (begin expr (... ...))))))))" - ATMOSPHERE: (13614..13615) " -" + ATMOSPHERE: (13614..13615) "\n" ATMOSPHERE: (13615..13644) ";; (be-like-begin1 sequence1)" - ATMOSPHERE: (13644..13645) " -" + ATMOSPHERE: (13644..13645) "\n" ATMOSPHERE: (13645..13676) ";; (test 3 (sequence1 0 1 2 3))" - ATMOSPHERE: (13676..13678) " - -" + ATMOSPHERE: (13676..13678) "\n\n" ATMOSPHERE: (13678..13710) ";; (define-syntax be-like-begin2" - ATMOSPHERE: (13710..13711) " -" + ATMOSPHERE: (13710..13711) "\n" ATMOSPHERE: (13711..13732) ";; (syntax-rules ()" - ATMOSPHERE: (13732..13733) " -" + ATMOSPHERE: (13732..13733) "\n" ATMOSPHERE: (13733..13762) ";; ((be-like-begin2 name)" - ATMOSPHERE: (13762..13763) " -" + ATMOSPHERE: (13762..13763) "\n" ATMOSPHERE: (13763..13790) ";; (define-syntax name" - ATMOSPHERE: (13790..13791) " -" + ATMOSPHERE: (13790..13791) "\n" ATMOSPHERE: (13791..13822) ";; (... (syntax-rules ()" - ATMOSPHERE: (13822..13823) " -" + ATMOSPHERE: (13822..13823) "\n" ATMOSPHERE: (13823..13856) ";; ((name expr ...)" - ATMOSPHERE: (13856..13857) " -" + ATMOSPHERE: (13856..13857) "\n" ATMOSPHERE: (13857..13898) ";; (begin expr ...))))))))" - ATMOSPHERE: (13898..13899) " -" + ATMOSPHERE: (13898..13899) "\n" ATMOSPHERE: (13899..13928) ";; (be-like-begin2 sequence2)" - ATMOSPHERE: (13928..13929) " -" + ATMOSPHERE: (13928..13929) "\n" ATMOSPHERE: (13929..13960) ";; (test 4 (sequence2 1 2 3 4))" - ATMOSPHERE: (13960..13962) " - -" + ATMOSPHERE: (13960..13962) "\n\n" FORM: (13962..14152) OPEN_PAREN: (13962..13963) "(" SYMBOL: (13963..13976) @@ -3757,8 +3244,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (13976..13977) " " SYMBOL: (13977..13991) IDENTIFIER: (13977..13991) "be-like-begin3" - ATMOSPHERE: (13991..13994) " - " + ATMOSPHERE: (13991..13994) "\n " FORM: (13994..14151) OPEN_PAREN: (13994..13995) "(" SYMBOL: (13995..14007) @@ -3767,8 +3253,7 @@ PROGRAM: (0..79716) FORM: (14008..14010) OPEN_PAREN: (14008..14009) "(" CLOSE_PAREN: (14009..14010) ")" - ATMOSPHERE: (14010..14015) " - " + ATMOSPHERE: (14010..14015) "\n " FORM: (14015..14150) OPEN_PAREN: (14015..14016) "(" FORM: (14016..14037) @@ -3779,8 +3264,7 @@ PROGRAM: (0..79716) SYMBOL: (14032..14036) IDENTIFIER: (14032..14036) "name" CLOSE_PAREN: (14036..14037) ")" - ATMOSPHERE: (14037..14043) " - " + ATMOSPHERE: (14037..14043) "\n " FORM: (14043..14149) OPEN_PAREN: (14043..14044) "(" SYMBOL: (14044..14057) @@ -3788,8 +3272,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (14057..14058) " " SYMBOL: (14058..14062) IDENTIFIER: (14058..14062) "name" - ATMOSPHERE: (14062..14070) " - " + ATMOSPHERE: (14062..14070) "\n " FORM: (14070..14148) OPEN_PAREN: (14070..14071) "(" SYMBOL: (14071..14083) @@ -3801,8 +3284,7 @@ PROGRAM: (0..79716) FORM: (14089..14091) OPEN_PAREN: (14089..14090) "(" CLOSE_PAREN: (14090..14091) ")" - ATMOSPHERE: (14091..14101) " - " + ATMOSPHERE: (14091..14101) "\n " FORM: (14101..14147) OPEN_PAREN: (14101..14102) "(" FORM: (14102..14118) @@ -3816,8 +3298,7 @@ PROGRAM: (0..79716) SYMBOL: (14113..14117) IDENTIFIER: (14113..14117) "dots" CLOSE_PAREN: (14117..14118) ")" - ATMOSPHERE: (14118..14129) " - " + ATMOSPHERE: (14118..14129) "\n " FORM: (14129..14146) OPEN_PAREN: (14129..14130) "(" SYMBOL: (14130..14135) @@ -3835,8 +3316,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (14149..14150) ")" CLOSE_PAREN: (14150..14151) ")" CLOSE_PAREN: (14151..14152) ")" - ATMOSPHERE: (14152..14153) " -" + ATMOSPHERE: (14152..14153) "\n" FORM: (14153..14179) OPEN_PAREN: (14153..14154) "(" SYMBOL: (14154..14168) @@ -3845,8 +3325,7 @@ PROGRAM: (0..79716) SYMBOL: (14169..14178) IDENTIFIER: (14169..14178) "sequence3" CLOSE_PAREN: (14178..14179) ")" - ATMOSPHERE: (14179..14180) " -" + ATMOSPHERE: (14179..14180) "\n" FORM: (14180..14208) OPEN_PAREN: (14180..14181) "(" SYMBOL: (14181..14185) @@ -3873,12 +3352,9 @@ PROGRAM: (0..79716) NUMBER: (14205..14206) "5" CLOSE_PAREN: (14206..14207) ")" CLOSE_PAREN: (14207..14208) ")" - ATMOSPHERE: (14208..14210) " - -" + ATMOSPHERE: (14208..14210) "\n\n" ATMOSPHERE: (14210..14228) ";; ellipsis escape" - ATMOSPHERE: (14228..14229) " -" + ATMOSPHERE: (14228..14229) "\n" FORM: (14229..14369) OPEN_PAREN: (14229..14230) "(" SYMBOL: (14230..14243) @@ -3886,8 +3362,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (14243..14244) " " SYMBOL: (14244..14254) IDENTIFIER: (14244..14254) "elli-esc-1" - ATMOSPHERE: (14254..14257) " - " + ATMOSPHERE: (14254..14257) "\n " FORM: (14257..14368) OPEN_PAREN: (14257..14258) "(" SYMBOL: (14258..14270) @@ -3896,8 +3371,7 @@ PROGRAM: (0..79716) FORM: (14271..14273) OPEN_PAREN: (14271..14272) "(" CLOSE_PAREN: (14272..14273) ")" - ATMOSPHERE: (14273..14278) " - " + ATMOSPHERE: (14273..14278) "\n " FORM: (14278..14299) OPEN_PAREN: (14278..14279) "(" FORM: (14279..14282) @@ -3905,8 +3379,7 @@ PROGRAM: (0..79716) SYMBOL: (14280..14281) IDENTIFIER: (14280..14281) "_" CLOSE_PAREN: (14281..14282) ")" - ATMOSPHERE: (14282..14288) " - " + ATMOSPHERE: (14282..14288) "\n " QUOTED_DATUM: (14288..14298) QUOTE: (14288..14289) "'" FORM: (14289..14298) @@ -3918,8 +3391,7 @@ PROGRAM: (0..79716) IDENTIFIER: (14294..14297) "..." CLOSE_PAREN: (14297..14298) ")" CLOSE_PAREN: (14298..14299) ")" - ATMOSPHERE: (14299..14304) " - " + ATMOSPHERE: (14299..14304) "\n " FORM: (14304..14331) OPEN_PAREN: (14304..14305) "(" FORM: (14305..14310) @@ -3930,8 +3402,7 @@ PROGRAM: (0..79716) SYMBOL: (14308..14309) IDENTIFIER: (14308..14309) "x" CLOSE_PAREN: (14309..14310) ")" - ATMOSPHERE: (14310..14316) " - " + ATMOSPHERE: (14310..14316) "\n " QUOTED_DATUM: (14316..14330) QUOTE: (14316..14317) "'" FORM: (14317..14330) @@ -3949,8 +3420,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (14328..14329) ")" CLOSE_PAREN: (14329..14330) ")" CLOSE_PAREN: (14330..14331) ")" - ATMOSPHERE: (14331..14336) " - " + ATMOSPHERE: (14331..14336) "\n " FORM: (14336..14367) OPEN_PAREN: (14336..14337) "(" FORM: (14337..14344) @@ -3964,8 +3434,7 @@ PROGRAM: (0..79716) SYMBOL: (14342..14343) IDENTIFIER: (14342..14343) "y" CLOSE_PAREN: (14343..14344) ")" - ATMOSPHERE: (14344..14350) " - " + ATMOSPHERE: (14344..14350) "\n " QUOTED_DATUM: (14350..14366) QUOTE: (14350..14351) "'" FORM: (14351..14366) @@ -3988,9 +3457,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (14366..14367) ")" CLOSE_PAREN: (14367..14368) ")" CLOSE_PAREN: (14368..14369) ")" - ATMOSPHERE: (14369..14371) " - -" + ATMOSPHERE: (14369..14371) "\n\n" FORM: (14371..14395) OPEN_PAREN: (14371..14372) "(" SYMBOL: (14372..14376) @@ -4007,8 +3474,7 @@ PROGRAM: (0..79716) IDENTIFIER: (14383..14393) "elli-esc-1" CLOSE_PAREN: (14393..14394) ")" CLOSE_PAREN: (14394..14395) ")" - ATMOSPHERE: (14395..14396) " -" + ATMOSPHERE: (14395..14396) "\n" FORM: (14396..14430) OPEN_PAREN: (14396..14397) "(" SYMBOL: (14397..14401) @@ -4034,8 +3500,7 @@ PROGRAM: (0..79716) NUMBER: (14425..14428) "100" CLOSE_PAREN: (14428..14429) ")" CLOSE_PAREN: (14429..14430) ")" - ATMOSPHERE: (14430..14431) " -" + ATMOSPHERE: (14430..14431) "\n" FORM: (14431..14473) OPEN_PAREN: (14431..14432) "(" SYMBOL: (14432..14436) @@ -4067,12 +3532,9 @@ PROGRAM: (0..79716) NUMBER: (14468..14471) "200" CLOSE_PAREN: (14471..14472) ")" CLOSE_PAREN: (14472..14473) ")" - ATMOSPHERE: (14473..14475) " - -" + ATMOSPHERE: (14473..14475) "\n\n" ATMOSPHERE: (14475..14532) ";; Syntax pattern with ellipsis in middle of proper list." - ATMOSPHERE: (14532..14533) " -" + ATMOSPHERE: (14532..14533) "\n" FORM: (14533..14689) OPEN_PAREN: (14533..14534) "(" SYMBOL: (14534..14547) @@ -4080,8 +3542,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (14547..14548) " " SYMBOL: (14548..14554) IDENTIFIER: (14548..14554) "part-2" - ATMOSPHERE: (14554..14557) " - " + ATMOSPHERE: (14554..14557) "\n " FORM: (14557..14688) OPEN_PAREN: (14557..14558) "(" SYMBOL: (14558..14570) @@ -4090,8 +3551,7 @@ PROGRAM: (0..79716) FORM: (14571..14573) OPEN_PAREN: (14571..14572) "(" CLOSE_PAREN: (14572..14573) ")" - ATMOSPHERE: (14573..14578) " - " + ATMOSPHERE: (14573..14578) "\n " FORM: (14578..14663) OPEN_PAREN: (14578..14579) "(" FORM: (14579..14600) @@ -4123,8 +3583,7 @@ PROGRAM: (0..79716) SYMBOL: (14598..14599) IDENTIFIER: (14598..14599) "y" CLOSE_PAREN: (14599..14600) ")" - ATMOSPHERE: (14600..14606) " - " + ATMOSPHERE: (14600..14606) "\n " FORM: (14606..14662) OPEN_PAREN: (14606..14607) "(" SYMBOL: (14607..14613) @@ -4179,8 +3638,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (14660..14661) ")" CLOSE_PAREN: (14661..14662) ")" CLOSE_PAREN: (14662..14663) ")" - ATMOSPHERE: (14663..14668) " - " + ATMOSPHERE: (14663..14668) "\n " FORM: (14668..14687) OPEN_PAREN: (14668..14669) "(" FORM: (14669..14679) @@ -4202,8 +3660,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (14686..14687) ")" CLOSE_PAREN: (14687..14688) ")" CLOSE_PAREN: (14688..14689) ")" - ATMOSPHERE: (14689..14690) " -" + ATMOSPHERE: (14689..14690) "\n" FORM: (14690..14800) OPEN_PAREN: (14690..14691) "(" SYMBOL: (14691..14695) @@ -4255,8 +3712,7 @@ PROGRAM: (0..79716) NUMBER: (14733..14735) "77" CLOSE_PAREN: (14735..14736) ")" CLOSE_PAREN: (14736..14737) ")" - ATMOSPHERE: (14737..14742) " - " + ATMOSPHERE: (14737..14742) "\n " FORM: (14742..14799) OPEN_PAREN: (14742..14743) "(" SYMBOL: (14743..14749) @@ -4320,45 +3776,31 @@ PROGRAM: (0..79716) NUMBER: (14796..14798) "77" CLOSE_PAREN: (14798..14799) ")" CLOSE_PAREN: (14799..14800) ")" - ATMOSPHERE: (14800..14801) " -" + ATMOSPHERE: (14800..14801) "\n" ATMOSPHERE: (14801..14863) ";; ;; Syntax pattern with ellipsis in middle of improper list." - ATMOSPHERE: (14863..14864) " -" + ATMOSPHERE: (14863..14864) "\n" ATMOSPHERE: (14864..14889) ";; (define-syntax part-2x" - ATMOSPHERE: (14889..14890) " -" + ATMOSPHERE: (14889..14890) "\n" ATMOSPHERE: (14890..14911) ";; (syntax-rules ()" - ATMOSPHERE: (14911..14912) " -" + ATMOSPHERE: (14911..14912) "\n" ATMOSPHERE: (14912..14950) ";; ((_ (a b (m n) ... x y . rest))" - ATMOSPHERE: (14950..14951) " -" + ATMOSPHERE: (14950..14951) "\n" ATMOSPHERE: (14951..15014) ";; (vector (list a b) (list m ...) (list n ...) (list x y)" - ATMOSPHERE: (15014..15015) " -" - ATMOSPHERE: (15015..15053) ";; (cons "rest:" 'rest)))" - ATMOSPHERE: (15053..15054) " -" + ATMOSPHERE: (15014..15015) "\n" + ATMOSPHERE: (15015..15053) ";; (cons \"rest:\" 'rest)))" + ATMOSPHERE: (15053..15054) "\n" ATMOSPHERE: (15054..15082) ";; ((_ . rest) 'error)))" - ATMOSPHERE: (15082..15083) " -" - ATMOSPHERE: (15083..15143) ";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) ("rest:"))" - ATMOSPHERE: (15143..15144) " -" + ATMOSPHERE: (15082..15083) "\n" + ATMOSPHERE: (15083..15143) ";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\"))" + ATMOSPHERE: (15143..15144) "\n" ATMOSPHERE: (15144..15212) ";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77)))" - ATMOSPHERE: (15212..15213) " -" - ATMOSPHERE: (15213..15282) ";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) ("rest:" . "tail"))" - ATMOSPHERE: (15282..15283) " -" - ATMOSPHERE: (15283..15360) ";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . "tail")))" - ATMOSPHERE: (15360..15362) " - -" + ATMOSPHERE: (15212..15213) "\n" + ATMOSPHERE: (15213..15282) ";; (test '#((10 43) (31 41 51) (32 42 52) (63 77) (\"rest:\" . \"tail\"))" + ATMOSPHERE: (15282..15283) "\n" + ATMOSPHERE: (15283..15360) ";; (part-2x (10 (+ 21 22) (31 32) (41 42) (51 52) (+ 61 2) 77 . \"tail\")))" + ATMOSPHERE: (15360..15362) "\n\n" ATMOSPHERE: (15362..15375) ";; underscore" - ATMOSPHERE: (15375..15376) " -" + ATMOSPHERE: (15375..15376) "\n" FORM: (15376..15439) OPEN_PAREN: (15376..15377) "(" SYMBOL: (15377..15390) @@ -4366,8 +3808,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (15390..15391) " " SYMBOL: (15391..15401) IDENTIFIER: (15391..15401) "underscore" - ATMOSPHERE: (15401..15404) " - " + ATMOSPHERE: (15401..15404) "\n " FORM: (15404..15438) OPEN_PAREN: (15404..15405) "(" SYMBOL: (15405..15417) @@ -4376,8 +3817,7 @@ PROGRAM: (0..79716) FORM: (15418..15420) OPEN_PAREN: (15418..15419) "(" CLOSE_PAREN: (15419..15420) ")" - ATMOSPHERE: (15420..15425) " - " + ATMOSPHERE: (15420..15425) "\n " FORM: (15425..15437) OPEN_PAREN: (15425..15426) "(" FORM: (15426..15433) @@ -4396,8 +3836,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (15436..15437) ")" CLOSE_PAREN: (15437..15438) ")" CLOSE_PAREN: (15438..15439) ")" - ATMOSPHERE: (15439..15440) " -" + ATMOSPHERE: (15439..15440) "\n" FORM: (15440..15466) OPEN_PAREN: (15440..15441) "(" SYMBOL: (15441..15445) @@ -4417,9 +3856,7 @@ PROGRAM: (0..79716) IDENTIFIER: (15461..15464) "foo" CLOSE_PAREN: (15464..15465) ")" CLOSE_PAREN: (15465..15466) ")" - ATMOSPHERE: (15466..15468) " - -" + ATMOSPHERE: (15466..15468) "\n\n" FORM: (15468..15595) OPEN_PAREN: (15468..15469) "(" SYMBOL: (15469..15472) @@ -4428,8 +3865,7 @@ PROGRAM: (0..79716) FORM: (15473..15475) OPEN_PAREN: (15473..15474) "(" CLOSE_PAREN: (15474..15475) ")" - ATMOSPHERE: (15475..15478) " - " + ATMOSPHERE: (15475..15478) "\n " FORM: (15478..15562) OPEN_PAREN: (15478..15479) "(" SYMBOL: (15479..15492) @@ -4437,8 +3873,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (15492..15493) " " SYMBOL: (15493..15504) IDENTIFIER: (15493..15504) "underscore2" - ATMOSPHERE: (15504..15509) " - " + ATMOSPHERE: (15504..15509) "\n " FORM: (15509..15561) OPEN_PAREN: (15509..15510) "(" SYMBOL: (15510..15522) @@ -4447,8 +3882,7 @@ PROGRAM: (0..79716) FORM: (15523..15525) OPEN_PAREN: (15523..15524) "(" CLOSE_PAREN: (15524..15525) ")" - ATMOSPHERE: (15525..15532) " - " + ATMOSPHERE: (15525..15532) "\n " FORM: (15532..15560) OPEN_PAREN: (15532..15533) "(" FORM: (15533..15556) @@ -4474,8 +3908,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (15559..15560) ")" CLOSE_PAREN: (15560..15561) ")" CLOSE_PAREN: (15561..15562) ")" - ATMOSPHERE: (15562..15565) " - " + ATMOSPHERE: (15562..15565) "\n " FORM: (15565..15594) OPEN_PAREN: (15565..15566) "(" SYMBOL: (15566..15570) @@ -4500,9 +3933,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (15592..15593) ")" CLOSE_PAREN: (15593..15594) ")" CLOSE_PAREN: (15594..15595) ")" - ATMOSPHERE: (15595..15597) " - -" + ATMOSPHERE: (15595..15597) "\n\n" FORM: (15597..15705) OPEN_PAREN: (15597..15598) "(" SYMBOL: (15598..15611) @@ -4510,8 +3941,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (15611..15612) " " SYMBOL: (15612..15622) IDENTIFIER: (15612..15622) "count-to-2" - ATMOSPHERE: (15622..15625) " - " + ATMOSPHERE: (15622..15625) "\n " FORM: (15625..15704) OPEN_PAREN: (15625..15626) "(" SYMBOL: (15626..15638) @@ -4520,8 +3950,7 @@ PROGRAM: (0..79716) FORM: (15639..15641) OPEN_PAREN: (15639..15640) "(" CLOSE_PAREN: (15640..15641) ")" - ATMOSPHERE: (15641..15646) " - " + ATMOSPHERE: (15641..15646) "\n " FORM: (15646..15653) OPEN_PAREN: (15646..15647) "(" FORM: (15647..15650) @@ -4533,8 +3962,7 @@ PROGRAM: (0..79716) CONSTANT: (15651..15652) NUMBER: (15651..15652) "0" CLOSE_PAREN: (15652..15653) ")" - ATMOSPHERE: (15653..15658) " - " + ATMOSPHERE: (15653..15658) "\n " FORM: (15658..15667) OPEN_PAREN: (15658..15659) "(" FORM: (15659..15664) @@ -4549,8 +3977,7 @@ PROGRAM: (0..79716) CONSTANT: (15665..15666) NUMBER: (15665..15666) "1" CLOSE_PAREN: (15666..15667) ")" - ATMOSPHERE: (15667..15672) " - " + ATMOSPHERE: (15667..15672) "\n " FORM: (15672..15683) OPEN_PAREN: (15672..15673) "(" FORM: (15673..15680) @@ -4568,8 +3995,7 @@ PROGRAM: (0..79716) CONSTANT: (15681..15682) NUMBER: (15681..15682) "2" CLOSE_PAREN: (15682..15683) ")" - ATMOSPHERE: (15683..15688) " - " + ATMOSPHERE: (15683..15688) "\n " FORM: (15688..15703) OPEN_PAREN: (15688..15689) "(" FORM: (15689..15696) @@ -4591,8 +4017,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (15702..15703) ")" CLOSE_PAREN: (15703..15704) ")" CLOSE_PAREN: (15704..15705) ")" - ATMOSPHERE: (15705..15706) " -" + ATMOSPHERE: (15705..15706) "\n" FORM: (15706..15786) OPEN_PAREN: (15706..15707) "(" SYMBOL: (15707..15711) @@ -4611,8 +4036,7 @@ PROGRAM: (0..79716) SYMBOL: (15718..15722) IDENTIFIER: (15718..15722) "many" CLOSE_PAREN: (15722..15723) ")" - ATMOSPHERE: (15723..15728) " - " + ATMOSPHERE: (15723..15728) "\n " FORM: (15728..15785) OPEN_PAREN: (15728..15729) "(" SYMBOL: (15729..15733) @@ -4655,9 +4079,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (15783..15784) ")" CLOSE_PAREN: (15784..15785) ")" CLOSE_PAREN: (15785..15786) ")" - ATMOSPHERE: (15786..15788) " - -" + ATMOSPHERE: (15786..15788) "\n\n" FORM: (15788..15898) OPEN_PAREN: (15788..15789) "(" SYMBOL: (15789..15802) @@ -4665,8 +4087,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (15802..15803) " " SYMBOL: (15803..15814) IDENTIFIER: (15803..15814) "count-to-2_" - ATMOSPHERE: (15814..15817) " - " + ATMOSPHERE: (15814..15817) "\n " FORM: (15817..15897) OPEN_PAREN: (15817..15818) "(" SYMBOL: (15818..15830) @@ -4677,8 +4098,7 @@ PROGRAM: (0..79716) SYMBOL: (15832..15833) IDENTIFIER: (15832..15833) "_" CLOSE_PAREN: (15833..15834) ")" - ATMOSPHERE: (15834..15839) " - " + ATMOSPHERE: (15834..15839) "\n " FORM: (15839..15846) OPEN_PAREN: (15839..15840) "(" FORM: (15840..15843) @@ -4690,8 +4110,7 @@ PROGRAM: (0..79716) CONSTANT: (15844..15845) NUMBER: (15844..15845) "0" CLOSE_PAREN: (15845..15846) ")" - ATMOSPHERE: (15846..15851) " - " + ATMOSPHERE: (15846..15851) "\n " FORM: (15851..15860) OPEN_PAREN: (15851..15852) "(" FORM: (15852..15857) @@ -4706,8 +4125,7 @@ PROGRAM: (0..79716) CONSTANT: (15858..15859) NUMBER: (15858..15859) "1" CLOSE_PAREN: (15859..15860) ")" - ATMOSPHERE: (15860..15865) " - " + ATMOSPHERE: (15860..15865) "\n " FORM: (15865..15876) OPEN_PAREN: (15865..15866) "(" FORM: (15866..15873) @@ -4725,8 +4143,7 @@ PROGRAM: (0..79716) CONSTANT: (15874..15875) NUMBER: (15874..15875) "2" CLOSE_PAREN: (15875..15876) ")" - ATMOSPHERE: (15876..15881) " - " + ATMOSPHERE: (15876..15881) "\n " FORM: (15881..15896) OPEN_PAREN: (15881..15882) "(" FORM: (15882..15889) @@ -4748,8 +4165,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (15895..15896) ")" CLOSE_PAREN: (15896..15897) ")" CLOSE_PAREN: (15897..15898) ")" - ATMOSPHERE: (15898..15899) " -" + ATMOSPHERE: (15898..15899) "\n" FORM: (15899..16015) OPEN_PAREN: (15899..15900) "(" SYMBOL: (15900..15904) @@ -4771,8 +4187,7 @@ PROGRAM: (0..79716) SYMBOL: (15916..15920) IDENTIFIER: (15916..15920) "fail" CLOSE_PAREN: (15920..15921) ")" - ATMOSPHERE: (15921..15926) " - " + ATMOSPHERE: (15921..15926) "\n " FORM: (15926..16014) OPEN_PAREN: (15926..15927) "(" SYMBOL: (15927..15931) @@ -4795,8 +4210,7 @@ PROGRAM: (0..79716) SYMBOL: (15951..15962) IDENTIFIER: (15951..15962) "count-to-2_" CLOSE_PAREN: (15962..15963) ")" - ATMOSPHERE: (15963..15974) " - " + ATMOSPHERE: (15963..15974) "\n " FORM: (15974..15991) OPEN_PAREN: (15974..15975) "(" SYMBOL: (15975..15986) @@ -4828,9 +4242,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (16012..16013) ")" CLOSE_PAREN: (16013..16014) ")" CLOSE_PAREN: (16014..16015) ")" - ATMOSPHERE: (16015..16017) " - -" + ATMOSPHERE: (16015..16017) "\n\n" FORM: (16017..16209) OPEN_PAREN: (16017..16018) "(" SYMBOL: (16018..16031) @@ -4838,8 +4250,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (16031..16032) " " SYMBOL: (16032..16043) IDENTIFIER: (16032..16043) "jabberwocky" - ATMOSPHERE: (16043..16046) " - " + ATMOSPHERE: (16043..16046) "\n " FORM: (16046..16208) OPEN_PAREN: (16046..16047) "(" SYMBOL: (16047..16059) @@ -4848,8 +4259,7 @@ PROGRAM: (0..79716) FORM: (16060..16062) OPEN_PAREN: (16060..16061) "(" CLOSE_PAREN: (16061..16062) ")" - ATMOSPHERE: (16062..16067) " - " + ATMOSPHERE: (16062..16067) "\n " FORM: (16067..16207) OPEN_PAREN: (16067..16068) "(" FORM: (16068..16078) @@ -4860,14 +4270,12 @@ PROGRAM: (0..79716) SYMBOL: (16071..16077) IDENTIFIER: (16071..16077) "hatter" CLOSE_PAREN: (16077..16078) ")" - ATMOSPHERE: (16078..16084) " - " + ATMOSPHERE: (16078..16084) "\n " FORM: (16084..16206) OPEN_PAREN: (16084..16085) "(" SYMBOL: (16085..16090) IDENTIFIER: (16085..16090) "begin" - ATMOSPHERE: (16090..16098) " - " + ATMOSPHERE: (16090..16098) "\n " FORM: (16098..16120) OPEN_PAREN: (16098..16099) "(" SYMBOL: (16099..16105) @@ -4879,8 +4287,7 @@ PROGRAM: (0..79716) CONSTANT: (16117..16119) NUMBER: (16117..16119) "42" CLOSE_PAREN: (16119..16120) ")" - ATMOSPHERE: (16120..16128) " - " + ATMOSPHERE: (16120..16128) "\n " FORM: (16128..16205) OPEN_PAREN: (16128..16129) "(" SYMBOL: (16129..16142) @@ -4888,8 +4295,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (16142..16143) " " SYMBOL: (16143..16149) IDENTIFIER: (16143..16149) "hatter" - ATMOSPHERE: (16149..16159) " - " + ATMOSPHERE: (16149..16159) "\n " FORM: (16159..16204) OPEN_PAREN: (16159..16160) "(" SYMBOL: (16160..16172) @@ -4898,8 +4304,7 @@ PROGRAM: (0..79716) FORM: (16173..16175) OPEN_PAREN: (16173..16174) "(" CLOSE_PAREN: (16174..16175) ")" - ATMOSPHERE: (16175..16187) " - " + ATMOSPHERE: (16175..16187) "\n " FORM: (16187..16203) OPEN_PAREN: (16187..16188) "(" FORM: (16188..16191) @@ -4917,8 +4322,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (16206..16207) ")" CLOSE_PAREN: (16207..16208) ")" CLOSE_PAREN: (16208..16209) ")" - ATMOSPHERE: (16209..16210) " -" + ATMOSPHERE: (16209..16210) "\n" FORM: (16210..16234) OPEN_PAREN: (16210..16211) "(" SYMBOL: (16211..16222) @@ -4927,8 +4331,7 @@ PROGRAM: (0..79716) SYMBOL: (16223..16233) IDENTIFIER: (16223..16233) "mad-hatter" CLOSE_PAREN: (16233..16234) ")" - ATMOSPHERE: (16234..16235) " -" + ATMOSPHERE: (16234..16235) "\n" FORM: (16235..16257) OPEN_PAREN: (16235..16236) "(" SYMBOL: (16236..16240) @@ -4943,13 +4346,9 @@ PROGRAM: (0..79716) IDENTIFIER: (16245..16255) "mad-hatter" CLOSE_PAREN: (16255..16256) ")" CLOSE_PAREN: (16256..16257) ")" - ATMOSPHERE: (16257..16259) " - -" + ATMOSPHERE: (16257..16259) "\n\n" ATMOSPHERE: (16259..16307) ";; (test 'ok (let ((=> #f)) (cond (#t => 'ok))))" - ATMOSPHERE: (16307..16309) " - -" + ATMOSPHERE: (16307..16309) "\n\n" FORM: (16309..16387) OPEN_PAREN: (16309..16310) "(" SYMBOL: (16310..16313) @@ -4958,8 +4357,7 @@ PROGRAM: (0..79716) FORM: (16314..16316) OPEN_PAREN: (16314..16315) "(" CLOSE_PAREN: (16315..16316) ")" - ATMOSPHERE: (16316..16319) " - " + ATMOSPHERE: (16316..16319) "\n " FORM: (16319..16331) OPEN_PAREN: (16319..16320) "(" SYMBOL: (16320..16326) @@ -4971,8 +4369,7 @@ PROGRAM: (0..79716) CONSTANT: (16329..16330) NUMBER: (16329..16330) "1" CLOSE_PAREN: (16330..16331) ")" - ATMOSPHERE: (16331..16334) " - " + ATMOSPHERE: (16331..16334) "\n " FORM: (16334..16373) OPEN_PAREN: (16334..16335) "(" SYMBOL: (16335..16345) @@ -4981,8 +4378,7 @@ PROGRAM: (0..79716) FORM: (16346..16348) OPEN_PAREN: (16346..16347) "(" CLOSE_PAREN: (16347..16348) ")" - ATMOSPHERE: (16348..16353) " - " + ATMOSPHERE: (16348..16353) "\n " FORM: (16353..16365) OPEN_PAREN: (16353..16354) "(" SYMBOL: (16354..16360) @@ -4994,13 +4390,11 @@ PROGRAM: (0..79716) CONSTANT: (16363..16364) NUMBER: (16363..16364) "2" CLOSE_PAREN: (16364..16365) ")" - ATMOSPHERE: (16365..16370) " - " + ATMOSPHERE: (16365..16370) "\n " CONSTANT: (16370..16372) BOOLEAN: (16370..16372) "#f" CLOSE_PAREN: (16372..16373) ")" - ATMOSPHERE: (16373..16376) " - " + ATMOSPHERE: (16373..16376) "\n " FORM: (16376..16386) OPEN_PAREN: (16376..16377) "(" SYMBOL: (16377..16381) @@ -5013,9 +4407,7 @@ PROGRAM: (0..79716) IDENTIFIER: (16384..16385) "x" CLOSE_PAREN: (16385..16386) ")" CLOSE_PAREN: (16386..16387) ")" - ATMOSPHERE: (16387..16389) " - -" + ATMOSPHERE: (16387..16389) "\n\n" FORM: (16389..16565) OPEN_PAREN: (16389..16390) "(" SYMBOL: (16390..16393) @@ -5024,8 +4416,7 @@ PROGRAM: (0..79716) FORM: (16394..16396) OPEN_PAREN: (16394..16395) "(" CLOSE_PAREN: (16395..16396) ")" - ATMOSPHERE: (16396..16398) " - " + ATMOSPHERE: (16396..16398) "\n " FORM: (16398..16532) OPEN_PAREN: (16398..16399) "(" SYMBOL: (16399..16412) @@ -5033,8 +4424,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (16412..16413) " " SYMBOL: (16413..16416) IDENTIFIER: (16413..16416) "foo" - ATMOSPHERE: (16416..16420) " - " + ATMOSPHERE: (16416..16420) "\n " FORM: (16420..16531) OPEN_PAREN: (16420..16421) "(" SYMBOL: (16421..16433) @@ -5043,8 +4433,7 @@ PROGRAM: (0..79716) FORM: (16434..16436) OPEN_PAREN: (16434..16435) "(" CLOSE_PAREN: (16435..16436) ")" - ATMOSPHERE: (16436..16442) " - " + ATMOSPHERE: (16436..16442) "\n " FORM: (16442..16530) OPEN_PAREN: (16442..16443) "(" FORM: (16443..16454) @@ -5058,8 +4447,7 @@ PROGRAM: (0..79716) SYMBOL: (16452..16453) IDENTIFIER: (16452..16453) "y" CLOSE_PAREN: (16453..16454) ")" - ATMOSPHERE: (16454..16461) " - " + ATMOSPHERE: (16454..16461) "\n " FORM: (16461..16529) OPEN_PAREN: (16461..16462) "(" SYMBOL: (16462..16475) @@ -5067,8 +4455,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (16475..16476) " " SYMBOL: (16476..16479) IDENTIFIER: (16476..16479) "bar" - ATMOSPHERE: (16479..16488) " - " + ATMOSPHERE: (16479..16488) "\n " FORM: (16488..16528) OPEN_PAREN: (16488..16489) "(" SYMBOL: (16489..16501) @@ -5077,8 +4464,7 @@ PROGRAM: (0..79716) FORM: (16502..16504) OPEN_PAREN: (16502..16503) "(" CLOSE_PAREN: (16503..16504) ")" - ATMOSPHERE: (16504..16515) " - " + ATMOSPHERE: (16504..16515) "\n " FORM: (16515..16527) OPEN_PAREN: (16515..16516) "(" FORM: (16516..16523) @@ -5100,8 +4486,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (16529..16530) ")" CLOSE_PAREN: (16530..16531) ")" CLOSE_PAREN: (16531..16532) ")" - ATMOSPHERE: (16532..16534) " - " + ATMOSPHERE: (16532..16534) "\n " FORM: (16534..16545) OPEN_PAREN: (16534..16535) "(" SYMBOL: (16535..16538) @@ -5113,8 +4498,7 @@ PROGRAM: (0..79716) SYMBOL: (16543..16544) IDENTIFIER: (16543..16544) "x" CLOSE_PAREN: (16544..16545) ")" - ATMOSPHERE: (16545..16547) " - " + ATMOSPHERE: (16545..16547) "\n " FORM: (16547..16564) OPEN_PAREN: (16547..16548) "(" SYMBOL: (16548..16552) @@ -5135,46 +4519,31 @@ PROGRAM: (0..79716) CLOSE_PAREN: (16562..16563) ")" CLOSE_PAREN: (16563..16564) ")" CLOSE_PAREN: (16564..16565) ")" - ATMOSPHERE: (16565..16567) " - -" + ATMOSPHERE: (16565..16567) "\n\n" ATMOSPHERE: (16567..16613) ";;; FIXME: Mutual recursion of `define` forms?" - ATMOSPHERE: (16613..16614) " -" + ATMOSPHERE: (16613..16614) "\n" ATMOSPHERE: (16614..16623) ";; (begin" - ATMOSPHERE: (16623..16624) " -" + ATMOSPHERE: (16623..16624) "\n" ATMOSPHERE: (16624..16648) ";; (define-syntax ffoo" - ATMOSPHERE: (16648..16649) " -" + ATMOSPHERE: (16648..16649) "\n" ATMOSPHERE: (16649..16672) ";; (syntax-rules ()" - ATMOSPHERE: (16672..16673) " -" + ATMOSPHERE: (16672..16673) "\n" ATMOSPHERE: (16673..16692) ";; ((ffoo ff)" - ATMOSPHERE: (16692..16693) " -" + ATMOSPHERE: (16692..16693) "\n" ATMOSPHERE: (16693..16709) ";; (begin" - ATMOSPHERE: (16709..16710) " -" + ATMOSPHERE: (16709..16710) "\n" ATMOSPHERE: (16710..16736) ";; (define (ff x)" - ATMOSPHERE: (16736..16737) " -" + ATMOSPHERE: (16736..16737) "\n" ATMOSPHERE: (16737..16758) ";; (gg x))" - ATMOSPHERE: (16758..16759) " -" + ATMOSPHERE: (16758..16759) "\n" ATMOSPHERE: (16759..16785) ";; (define (gg x)" - ATMOSPHERE: (16785..16786) " -" + ATMOSPHERE: (16785..16786) "\n" ATMOSPHERE: (16786..16812) ";; (* x x))))))" - ATMOSPHERE: (16812..16813) " -" + ATMOSPHERE: (16812..16813) "\n" ATMOSPHERE: (16813..16827) ";; (ffoo ff)" - ATMOSPHERE: (16827..16828) " -" + ATMOSPHERE: (16827..16828) "\n" ATMOSPHERE: (16828..16852) ";; (test 100 (ff 10)))" - ATMOSPHERE: (16852..16854) " - -" + ATMOSPHERE: (16852..16854) "\n\n" FORM: (16854..16998) OPEN_PAREN: (16854..16855) "(" SYMBOL: (16855..16865) @@ -5186,8 +4555,7 @@ PROGRAM: (0..79716) OPEN_PAREN: (16867..16868) "(" SYMBOL: (16868..16878) IDENTIFIER: (16868..16878) "vector-lit" - ATMOSPHERE: (16878..16894) " - " + ATMOSPHERE: (16878..16894) "\n " FORM: (16894..16967) OPEN_PAREN: (16894..16895) "(" SYMBOL: (16895..16907) @@ -5196,8 +4564,7 @@ PROGRAM: (0..79716) FORM: (16908..16910) OPEN_PAREN: (16908..16909) "(" CLOSE_PAREN: (16909..16910) ")" - ATMOSPHERE: (16910..16928) " - " + ATMOSPHERE: (16910..16928) "\n " FORM: (16928..16966) OPEN_PAREN: (16928..16929) "(" FORM: (16929..16941) @@ -5205,8 +4572,7 @@ PROGRAM: (0..79716) SYMBOL: (16930..16940) IDENTIFIER: (16930..16940) "vector-lit" CLOSE_PAREN: (16940..16941) ")" - ATMOSPHERE: (16941..16960) " - " + ATMOSPHERE: (16941..16960) "\n " QUOTED_DATUM: (16960..16965) QUOTE: (16960..16961) "'" VEC: (16961..16965) @@ -5218,8 +4584,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (16966..16967) ")" CLOSE_PAREN: (16967..16968) ")" CLOSE_PAREN: (16968..16969) ")" - ATMOSPHERE: (16969..16972) " - " + ATMOSPHERE: (16969..16972) "\n " FORM: (16972..16997) OPEN_PAREN: (16972..16973) "(" SYMBOL: (16973..16977) @@ -5240,46 +4605,32 @@ PROGRAM: (0..79716) CLOSE_PAREN: (16995..16996) ")" CLOSE_PAREN: (16996..16997) ")" CLOSE_PAREN: (16997..16998) ")" - ATMOSPHERE: (16998..17000) " - -" + ATMOSPHERE: (16998..17000) "\n\n" ATMOSPHERE: (17000..17010) ";; (let ()" - ATMOSPHERE: (17010..17011) " -" + ATMOSPHERE: (17010..17011) "\n" ATMOSPHERE: (17011..17040) ";; ;; forward hygienic refs" - ATMOSPHERE: (17040..17041) " -" + ATMOSPHERE: (17040..17041) "\n" ATMOSPHERE: (17041..17067) ";; (define-syntax foo399" - ATMOSPHERE: (17067..17068) " -" + ATMOSPHERE: (17067..17068) "\n" ATMOSPHERE: (17068..17113) ";; (syntax-rules () ((foo399) (bar399))))" - ATMOSPHERE: (17113..17114) " -" + ATMOSPHERE: (17113..17114) "\n" ATMOSPHERE: (17114..17136) ";; (define (quux399)" - ATMOSPHERE: (17136..17137) " -" + ATMOSPHERE: (17136..17137) "\n" ATMOSPHERE: (17137..17153) ";; (foo399))" - ATMOSPHERE: (17153..17154) " -" + ATMOSPHERE: (17153..17154) "\n" ATMOSPHERE: (17154..17175) ";; (define (bar399)" - ATMOSPHERE: (17175..17176) " -" + ATMOSPHERE: (17175..17176) "\n" ATMOSPHERE: (17176..17186) ";; 42)" - ATMOSPHERE: (17186..17187) " -" + ATMOSPHERE: (17186..17187) "\n" ATMOSPHERE: (17187..17212) ";; (test 42 (quux399)))" - ATMOSPHERE: (17212..17214) " - -" + ATMOSPHERE: (17212..17214) "\n\n" ATMOSPHERE: (17214..17232) ";;; FIXME: Hygene." - ATMOSPHERE: (17232..17233) " -" + ATMOSPHERE: (17232..17233) "\n" FORM: (17233..17519) OPEN_PAREN: (17233..17234) "(" SYMBOL: (17234..17244) IDENTIFIER: (17234..17244) "let-syntax" - ATMOSPHERE: (17244..17249) " - " + ATMOSPHERE: (17244..17249) "\n " FORM: (17249..17483) OPEN_PAREN: (17249..17250) "(" FORM: (17250..17482) @@ -5295,8 +4646,7 @@ PROGRAM: (0..79716) FORM: (17267..17269) OPEN_PAREN: (17267..17268) "(" CLOSE_PAREN: (17268..17269) ")" - ATMOSPHERE: (17269..17280) " - " + ATMOSPHERE: (17269..17280) "\n " FORM: (17280..17480) OPEN_PAREN: (17280..17281) "(" FORM: (17281..17286) @@ -5312,8 +4662,7 @@ PROGRAM: (0..79716) OPEN_PAREN: (17287..17288) "(" SYMBOL: (17288..17298) IDENTIFIER: (17288..17298) "let-syntax" - ATMOSPHERE: (17298..17320) " - " + ATMOSPHERE: (17298..17320) "\n " FORM: (17320..17453) OPEN_PAREN: (17320..17321) "(" FORM: (17321..17452) @@ -5331,8 +4680,7 @@ PROGRAM: (0..79716) SYMBOL: (17339..17340) IDENTIFIER: (17339..17340) "k" CLOSE_PAREN: (17340..17341) ")" - ATMOSPHERE: (17341..17369) " - " + ATMOSPHERE: (17341..17369) "\n " FORM: (17369..17396) OPEN_PAREN: (17369..17370) "(" FORM: (17370..17375) @@ -5349,8 +4697,7 @@ PROGRAM: (0..79716) SYMBOL: (17377..17395) IDENTIFIER: (17377..17395) "bound-identifier=?" CLOSE_PAREN: (17395..17396) ")" - ATMOSPHERE: (17396..17424) " - " + ATMOSPHERE: (17396..17424) "\n " FORM: (17424..17450) OPEN_PAREN: (17424..17425) "(" FORM: (17425..17430) @@ -5370,8 +4717,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (17450..17451) ")" CLOSE_PAREN: (17451..17452) ")" CLOSE_PAREN: (17452..17453) ")" - ATMOSPHERE: (17453..17473) " - " + ATMOSPHERE: (17453..17473) "\n " FORM: (17473..17478) OPEN_PAREN: (17473..17474) "(" SYMBOL: (17474..17475) @@ -5385,8 +4731,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (17480..17481) ")" CLOSE_PAREN: (17481..17482) ")" CLOSE_PAREN: (17482..17483) ")" - ATMOSPHERE: (17483..17486) " - " + ATMOSPHERE: (17483..17486) "\n " FORM: (17486..17518) OPEN_PAREN: (17486..17487) "(" SYMBOL: (17487..17491) @@ -5407,12 +4752,9 @@ PROGRAM: (0..79716) CLOSE_PAREN: (17516..17517) ")" CLOSE_PAREN: (17517..17518) ")" CLOSE_PAREN: (17518..17519) ")" - ATMOSPHERE: (17519..17521) " - -" + ATMOSPHERE: (17519..17521) "\n\n" ATMOSPHERE: (17521..17569) ";; literal has priority to ellipsis (R7RS 4.3.2)" - ATMOSPHERE: (17569..17570) " -" + ATMOSPHERE: (17569..17570) "\n" FORM: (17570..17703) OPEN_PAREN: (17570..17571) "(" SYMBOL: (17571..17574) @@ -5421,8 +4763,7 @@ PROGRAM: (0..79716) FORM: (17575..17577) OPEN_PAREN: (17575..17576) "(" CLOSE_PAREN: (17576..17577) ")" - ATMOSPHERE: (17577..17580) " - " + ATMOSPHERE: (17577..17580) "\n " FORM: (17580..17665) OPEN_PAREN: (17580..17581) "(" SYMBOL: (17581..17594) @@ -5430,8 +4771,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (17594..17595) " " SYMBOL: (17595..17605) IDENTIFIER: (17595..17605) "elli-lit-1" - ATMOSPHERE: (17605..17610) " - " + ATMOSPHERE: (17605..17610) "\n " FORM: (17610..17664) OPEN_PAREN: (17610..17611) "(" SYMBOL: (17611..17623) @@ -5445,8 +4785,7 @@ PROGRAM: (0..79716) SYMBOL: (17629..17632) IDENTIFIER: (17629..17632) "..." CLOSE_PAREN: (17632..17633) ")" - ATMOSPHERE: (17633..17640) " - " + ATMOSPHERE: (17633..17640) "\n " FORM: (17640..17663) OPEN_PAREN: (17640..17641) "(" FORM: (17641..17646) @@ -5457,8 +4796,7 @@ PROGRAM: (0..79716) SYMBOL: (17644..17645) IDENTIFIER: (17644..17645) "x" CLOSE_PAREN: (17645..17646) ")" - ATMOSPHERE: (17646..17654) " - " + ATMOSPHERE: (17646..17654) "\n " QUOTED_DATUM: (17654..17662) QUOTE: (17654..17655) "'" FORM: (17655..17662) @@ -5472,8 +4810,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (17662..17663) ")" CLOSE_PAREN: (17663..17664) ")" CLOSE_PAREN: (17664..17665) ")" - ATMOSPHERE: (17665..17668) " - " + ATMOSPHERE: (17665..17668) "\n " FORM: (17668..17702) OPEN_PAREN: (17668..17669) "(" SYMBOL: (17669..17673) @@ -5500,53 +4837,26 @@ PROGRAM: (0..79716) CLOSE_PAREN: (17700..17701) ")" CLOSE_PAREN: (17701..17702) ")" CLOSE_PAREN: (17702..17703) ")" - ATMOSPHERE: (17703..17705) " - -" + ATMOSPHERE: (17703..17705) "\n\n" ATMOSPHERE: (17705..17720) ";; bad ellipsis" - ATMOSPHERE: (17720..17721) " -" - ATMOSPHERE: (17721..18159) "#| -(test 'error - (guard (exn (else 'error)) - (eval - '(define-syntax bad-elli-1 - (syntax-rules () - ((_ ... x) - '(... x)))) - (interaction-environment)))) - -(test 'error - (guard (exn (else 'error)) - (eval - '(define-syntax bad-elli-2 - (syntax-rules () - ((_ (... x)) - '(... x)))) - (interaction-environment)))) -|#" - ATMOSPHERE: (18159..18161) " - -" + ATMOSPHERE: (17720..17721) "\n" + ATMOSPHERE: (17721..18159) "#|\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-1\n (syntax-rules ()\n ((_ ... x)\n '(... x))))\n (interaction-environment))))\n\n(test 'error\n (guard (exn (else 'error))\n (eval\n '(define-syntax bad-elli-2\n (syntax-rules ()\n ((_ (... x))\n '(... x))))\n (interaction-environment))))\n|#" + ATMOSPHERE: (18159..18161) "\n\n" FORM: (18161..18171) OPEN_PAREN: (18161..18162) "(" SYMBOL: (18162..18170) IDENTIFIER: (18162..18170) "test-end" CLOSE_PAREN: (18170..18171) ")" - ATMOSPHERE: (18171..18173) " - -" + ATMOSPHERE: (18171..18173) "\n\n" FORM: (18173..18207) OPEN_PAREN: (18173..18174) "(" SYMBOL: (18174..18184) IDENTIFIER: (18174..18184) "test-begin" ATMOSPHERE: (18184..18185) " " CONSTANT: (18185..18206) - STRING: (18185..18206) ""5 Program structure"" + STRING: (18185..18206) "\"5 Program structure\"" CLOSE_PAREN: (18206..18207) ")" - ATMOSPHERE: (18207..18209) " - -" + ATMOSPHERE: (18207..18209) "\n\n" FORM: (18209..18245) OPEN_PAREN: (18209..18210) "(" SYMBOL: (18210..18216) @@ -5554,8 +4864,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (18216..18217) " " SYMBOL: (18217..18221) IDENTIFIER: (18217..18221) "add3" - ATMOSPHERE: (18221..18224) " - " + ATMOSPHERE: (18221..18224) "\n " FORM: (18224..18244) OPEN_PAREN: (18224..18225) "(" SYMBOL: (18225..18231) @@ -5580,8 +4889,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (18242..18243) ")" CLOSE_PAREN: (18243..18244) ")" CLOSE_PAREN: (18244..18245) ")" - ATMOSPHERE: (18245..18246) " -" + ATMOSPHERE: (18245..18246) "\n" FORM: (18246..18263) OPEN_PAREN: (18246..18247) "(" SYMBOL: (18247..18251) @@ -5599,8 +4907,7 @@ PROGRAM: (0..79716) NUMBER: (18260..18261) "3" CLOSE_PAREN: (18261..18262) ")" CLOSE_PAREN: (18262..18263) ")" - ATMOSPHERE: (18263..18264) " -" + ATMOSPHERE: (18263..18264) "\n" FORM: (18264..18282) OPEN_PAREN: (18264..18265) "(" SYMBOL: (18265..18271) @@ -5612,8 +4919,7 @@ PROGRAM: (0..79716) SYMBOL: (18278..18281) IDENTIFIER: (18278..18281) "car" CLOSE_PAREN: (18281..18282) ")" - ATMOSPHERE: (18282..18283) " -" + ATMOSPHERE: (18282..18283) "\n" FORM: (18283..18306) OPEN_PAREN: (18283..18284) "(" SYMBOL: (18284..18288) @@ -5639,194 +4945,128 @@ PROGRAM: (0..79716) CLOSE_PAREN: (18303..18304) ")" CLOSE_PAREN: (18304..18305) ")" CLOSE_PAREN: (18305..18306) ")" - ATMOSPHERE: (18306..18308) " - -" + ATMOSPHERE: (18306..18308) "\n\n" ATMOSPHERE: (18308..18345) ";;; FIXME: `define` mutual recursion." - ATMOSPHERE: (18345..18346) " -" + ATMOSPHERE: (18345..18346) "\n" ATMOSPHERE: (18346..18370) ";; (test 45 (let ((x 5))" - ATMOSPHERE: (18370..18371) " -" + ATMOSPHERE: (18370..18371) "\n" ATMOSPHERE: (18371..18411) ";; (define foo (lambda (y) (bar x y)))" - ATMOSPHERE: (18411..18412) " -" + ATMOSPHERE: (18411..18412) "\n" ATMOSPHERE: (18412..18458) ";; (define bar (lambda (a b) (+ (* a b) a)))" - ATMOSPHERE: (18458..18459) " -" + ATMOSPHERE: (18458..18459) "\n" ATMOSPHERE: (18459..18479) ";; (foo (+ x 3))))" - ATMOSPHERE: (18479..18481) " - -" + ATMOSPHERE: (18479..18481) "\n\n" ATMOSPHERE: (18481..18493) ";; (test 'ok" - ATMOSPHERE: (18493..18494) " -" + ATMOSPHERE: (18493..18494) "\n" ATMOSPHERE: (18494..18508) ";; (let ()" - ATMOSPHERE: (18508..18509) " -" + ATMOSPHERE: (18508..18509) "\n" ATMOSPHERE: (18509..18545) ";; (define-values () (values))" - ATMOSPHERE: (18545..18546) " -" + ATMOSPHERE: (18545..18546) "\n" ATMOSPHERE: (18546..18560) ";; 'ok))" - ATMOSPHERE: (18560..18561) " -" + ATMOSPHERE: (18560..18561) "\n" ATMOSPHERE: (18561..18571) ";; (test 1" - ATMOSPHERE: (18571..18572) " -" + ATMOSPHERE: (18571..18572) "\n" ATMOSPHERE: (18572..18586) ";; (let ()" - ATMOSPHERE: (18586..18587) " -" + ATMOSPHERE: (18586..18587) "\n" ATMOSPHERE: (18587..18626) ";; (define-values (x) (values 1))" - ATMOSPHERE: (18626..18627) " -" + ATMOSPHERE: (18626..18627) "\n" ATMOSPHERE: (18627..18639) ";; x))" - ATMOSPHERE: (18639..18640) " -" + ATMOSPHERE: (18639..18640) "\n" ATMOSPHERE: (18640..18650) ";; (test 3" - ATMOSPHERE: (18650..18651) " -" + ATMOSPHERE: (18650..18651) "\n" ATMOSPHERE: (18651..18665) ";; (let ()" - ATMOSPHERE: (18665..18666) " -" + ATMOSPHERE: (18665..18666) "\n" ATMOSPHERE: (18666..18705) ";; (define-values x (values 1 2))" - ATMOSPHERE: (18705..18706) " -" + ATMOSPHERE: (18705..18706) "\n" ATMOSPHERE: (18706..18728) ";; (apply + x)))" - ATMOSPHERE: (18728..18729) " -" + ATMOSPHERE: (18728..18729) "\n" ATMOSPHERE: (18729..18739) ";; (test 3" - ATMOSPHERE: (18739..18740) " -" + ATMOSPHERE: (18739..18740) "\n" ATMOSPHERE: (18740..18754) ";; (let ()" - ATMOSPHERE: (18754..18755) " -" + ATMOSPHERE: (18754..18755) "\n" ATMOSPHERE: (18755..18798) ";; (define-values (x y) (values 1 2))" - ATMOSPHERE: (18798..18799) " -" + ATMOSPHERE: (18798..18799) "\n" ATMOSPHERE: (18799..18817) ";; (+ x y)))" - ATMOSPHERE: (18817..18818) " -" + ATMOSPHERE: (18817..18818) "\n" ATMOSPHERE: (18818..18828) ";; (test 6" - ATMOSPHERE: (18828..18829) " -" + ATMOSPHERE: (18828..18829) "\n" ATMOSPHERE: (18829..18843) ";; (let ()" - ATMOSPHERE: (18843..18844) " -" + ATMOSPHERE: (18843..18844) "\n" ATMOSPHERE: (18844..18891) ";; (define-values (x y z) (values 1 2 3))" - ATMOSPHERE: (18891..18892) " -" + ATMOSPHERE: (18891..18892) "\n" ATMOSPHERE: (18892..18912) ";; (+ x y z)))" - ATMOSPHERE: (18912..18913) " -" + ATMOSPHERE: (18912..18913) "\n" ATMOSPHERE: (18913..18924) ";; (test 10" - ATMOSPHERE: (18924..18925) " -" + ATMOSPHERE: (18924..18925) "\n" ATMOSPHERE: (18925..18939) ";; (let ()" - ATMOSPHERE: (18939..18940) " -" + ATMOSPHERE: (18939..18940) "\n" ATMOSPHERE: (18940..18991) ";; (define-values (x y . z) (values 1 2 3 4))" - ATMOSPHERE: (18991..18992) " -" + ATMOSPHERE: (18991..18992) "\n" ATMOSPHERE: (18992..19027) ";; (+ x y (car z) (cadr z))))" - ATMOSPHERE: (19027..19029) " - -" + ATMOSPHERE: (19027..19029) "\n\n" ATMOSPHERE: (19029..19063) ";; (test '(2 1) (let ((x 1) (y 2))" - ATMOSPHERE: (19063..19064) " -" + ATMOSPHERE: (19063..19064) "\n" ATMOSPHERE: (19064..19089) ";; (define-syntax swap!" - ATMOSPHERE: (19089..19090) " -" + ATMOSPHERE: (19089..19090) "\n" ATMOSPHERE: (19090..19113) ";; (syntax-rules ()" - ATMOSPHERE: (19113..19114) " -" + ATMOSPHERE: (19113..19114) "\n" ATMOSPHERE: (19114..19135) ";; ((swap! a b)" - ATMOSPHERE: (19135..19136) " -" + ATMOSPHERE: (19135..19136) "\n" ATMOSPHERE: (19136..19160) ";; (let ((tmp a))" - ATMOSPHERE: (19160..19161) " -" + ATMOSPHERE: (19160..19161) "\n" ATMOSPHERE: (19161..19183) ";; (set! a b)" - ATMOSPHERE: (19183..19184) " -" + ATMOSPHERE: (19183..19184) "\n" ATMOSPHERE: (19184..19212) ";; (set! b tmp)))))" - ATMOSPHERE: (19212..19213) " -" + ATMOSPHERE: (19212..19213) "\n" ATMOSPHERE: (19213..19229) ";; (swap! x y)" - ATMOSPHERE: (19229..19230) " -" + ATMOSPHERE: (19229..19230) "\n" ATMOSPHERE: (19230..19247) ";; (list x y)))" - ATMOSPHERE: (19247..19249) " - -" + ATMOSPHERE: (19247..19249) "\n\n" ATMOSPHERE: (19249..19262) ";; ;; Records" - ATMOSPHERE: (19262..19264) " - -" + ATMOSPHERE: (19262..19264) "\n\n" ATMOSPHERE: (19264..19293) ";; (define-record-type " - ATMOSPHERE: (19293..19294) " -" + ATMOSPHERE: (19293..19294) "\n" ATMOSPHERE: (19294..19309) ";; (kons x y)" - ATMOSPHERE: (19309..19310) " -" + ATMOSPHERE: (19309..19310) "\n" ATMOSPHERE: (19310..19320) ";; pare?" - ATMOSPHERE: (19320..19321) " -" + ATMOSPHERE: (19320..19321) "\n" ATMOSPHERE: (19321..19342) ";; (x kar set-kar!)" - ATMOSPHERE: (19342..19343) " -" + ATMOSPHERE: (19342..19343) "\n" ATMOSPHERE: (19343..19356) ";; (y kdr))" - ATMOSPHERE: (19356..19358) " - -" + ATMOSPHERE: (19356..19358) "\n\n" ATMOSPHERE: (19358..19389) ";; (test #t (pare? (kons 1 2)))" - ATMOSPHERE: (19389..19390) " -" + ATMOSPHERE: (19389..19390) "\n" ATMOSPHERE: (19390..19421) ";; (test #f (pare? (cons 1 2)))" - ATMOSPHERE: (19421..19422) " -" + ATMOSPHERE: (19421..19422) "\n" ATMOSPHERE: (19422..19450) ";; (test 1 (kar (kons 1 2)))" - ATMOSPHERE: (19450..19451) " -" + ATMOSPHERE: (19450..19451) "\n" ATMOSPHERE: (19451..19479) ";; (test 2 (kdr (kons 1 2)))" - ATMOSPHERE: (19479..19480) " -" + ATMOSPHERE: (19479..19480) "\n" ATMOSPHERE: (19480..19512) ";; (test 3 (let ((k (kons 1 2)))" - ATMOSPHERE: (19512..19513) " -" + ATMOSPHERE: (19512..19513) "\n" ATMOSPHERE: (19513..19540) ";; (set-kar! k 3)" - ATMOSPHERE: (19540..19541) " -" + ATMOSPHERE: (19540..19541) "\n" ATMOSPHERE: (19541..19563) ";; (kar k)))" - ATMOSPHERE: (19563..19565) " - -" + ATMOSPHERE: (19563..19565) "\n\n" FORM: (19565..19575) OPEN_PAREN: (19565..19566) "(" SYMBOL: (19566..19574) IDENTIFIER: (19566..19574) "test-end" CLOSE_PAREN: (19574..19575) ")" - ATMOSPHERE: (19575..19577) " - -" + ATMOSPHERE: (19575..19577) "\n\n" ATMOSPHERE: (19577..19652) ";; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" - ATMOSPHERE: (19652..19653) " -" + ATMOSPHERE: (19652..19653) "\n" ATMOSPHERE: (19653..19680) ";; ;; 6 Standard Procedures" - ATMOSPHERE: (19680..19682) " - -" + ATMOSPHERE: (19680..19682) "\n\n" FORM: (19682..19723) OPEN_PAREN: (19682..19683) "(" SYMBOL: (19683..19693) IDENTIFIER: (19683..19693) "test-begin" ATMOSPHERE: (19693..19694) " " CONSTANT: (19694..19722) - STRING: (19694..19722) ""6.1 Equivalence Predicates"" + STRING: (19694..19722) "\"6.1 Equivalence Predicates\"" CLOSE_PAREN: (19722..19723) ")" - ATMOSPHERE: (19723..19725) " - -" + ATMOSPHERE: (19723..19725) "\n\n" FORM: (19725..19747) OPEN_PAREN: (19725..19726) "(" SYMBOL: (19726..19730) @@ -5851,8 +5091,7 @@ PROGRAM: (0..79716) IDENTIFIER: (19744..19745) "a" CLOSE_PAREN: (19745..19746) ")" CLOSE_PAREN: (19746..19747) ")" - ATMOSPHERE: (19747..19748) " -" + ATMOSPHERE: (19747..19748) "\n" FORM: (19748..19770) OPEN_PAREN: (19748..19749) "(" SYMBOL: (19749..19753) @@ -5877,8 +5116,7 @@ PROGRAM: (0..79716) IDENTIFIER: (19767..19768) "b" CLOSE_PAREN: (19768..19769) ")" CLOSE_PAREN: (19769..19770) ")" - ATMOSPHERE: (19770..19771) " -" + ATMOSPHERE: (19770..19771) "\n" FORM: (19771..19791) OPEN_PAREN: (19771..19772) "(" SYMBOL: (19772..19776) @@ -5899,8 +5137,7 @@ PROGRAM: (0..79716) NUMBER: (19788..19789) "2" CLOSE_PAREN: (19789..19790) ")" CLOSE_PAREN: (19790..19791) ")" - ATMOSPHERE: (19791..19792) " -" + ATMOSPHERE: (19791..19792) "\n" FORM: (19792..19816) OPEN_PAREN: (19792..19793) "(" SYMBOL: (19793..19797) @@ -5927,8 +5164,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (19813..19814) ")" CLOSE_PAREN: (19814..19815) ")" CLOSE_PAREN: (19815..19816) ")" - ATMOSPHERE: (19816..19817) " -" + ATMOSPHERE: (19816..19817) "\n" FORM: (19817..19853) OPEN_PAREN: (19817..19818) "(" SYMBOL: (19818..19822) @@ -5949,8 +5185,7 @@ PROGRAM: (0..79716) NUMBER: (19842..19851) "100000000" CLOSE_PAREN: (19851..19852) ")" CLOSE_PAREN: (19852..19853) ")" - ATMOSPHERE: (19853..19854) " -" + ATMOSPHERE: (19853..19854) "\n" FORM: (19854..19892) OPEN_PAREN: (19854..19855) "(" SYMBOL: (19855..19859) @@ -5989,8 +5224,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (19889..19890) ")" CLOSE_PAREN: (19890..19891) ")" CLOSE_PAREN: (19891..19892) ")" - ATMOSPHERE: (19892..19893) " -" + ATMOSPHERE: (19892..19893) "\n" FORM: (19893..19952) OPEN_PAREN: (19893..19894) "(" SYMBOL: (19894..19898) @@ -6016,8 +5250,7 @@ PROGRAM: (0..79716) CONSTANT: (19919..19920) NUMBER: (19919..19920) "1" CLOSE_PAREN: (19920..19921) ")" - ATMOSPHERE: (19921..19937) " - " + ATMOSPHERE: (19921..19937) "\n " FORM: (19937..19950) OPEN_PAREN: (19937..19938) "(" SYMBOL: (19938..19944) @@ -6032,8 +5265,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (19949..19950) ")" CLOSE_PAREN: (19950..19951) ")" CLOSE_PAREN: (19951..19952) ")" - ATMOSPHERE: (19952..19953) " -" + ATMOSPHERE: (19952..19953) "\n" FORM: (19953..19977) OPEN_PAREN: (19953..19954) "(" SYMBOL: (19954..19958) @@ -6056,9 +5288,7 @@ PROGRAM: (0..79716) IDENTIFIER: (19972..19975) "nil" CLOSE_PAREN: (19975..19976) ")" CLOSE_PAREN: (19976..19977) ")" - ATMOSPHERE: (19977..19979) " - -" + ATMOSPHERE: (19977..19979) "\n\n" FORM: (19979..20068) OPEN_PAREN: (19979..19980) "(" SYMBOL: (19980..19986) @@ -6066,8 +5296,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (19986..19987) " " SYMBOL: (19987..19998) IDENTIFIER: (19987..19998) "gen-counter" - ATMOSPHERE: (19998..20001) " - " + ATMOSPHERE: (19998..20001) "\n " FORM: (20001..20067) OPEN_PAREN: (20001..20002) "(" SYMBOL: (20002..20008) @@ -6076,8 +5305,7 @@ PROGRAM: (0..79716) FORM: (20009..20011) OPEN_PAREN: (20009..20010) "(" CLOSE_PAREN: (20010..20011) ")" - ATMOSPHERE: (20011..20016) " - " + ATMOSPHERE: (20011..20016) "\n " FORM: (20016..20066) OPEN_PAREN: (20016..20017) "(" SYMBOL: (20017..20020) @@ -6094,8 +5322,7 @@ PROGRAM: (0..79716) NUMBER: (20025..20026) "0" CLOSE_PAREN: (20026..20027) ")" CLOSE_PAREN: (20027..20028) ")" - ATMOSPHERE: (20028..20035) " - " + ATMOSPHERE: (20028..20035) "\n " FORM: (20035..20065) OPEN_PAREN: (20035..20036) "(" SYMBOL: (20036..20042) @@ -6132,8 +5359,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20065..20066) ")" CLOSE_PAREN: (20066..20067) ")" CLOSE_PAREN: (20067..20068) ")" - ATMOSPHERE: (20068..20069) " -" + ATMOSPHERE: (20068..20069) "\n" FORM: (20069..20125) OPEN_PAREN: (20069..20070) "(" SYMBOL: (20070..20074) @@ -6141,8 +5367,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20074..20075) " " CONSTANT: (20075..20077) BOOLEAN: (20075..20077) "#t" - ATMOSPHERE: (20077..20082) " - " + ATMOSPHERE: (20077..20082) "\n " FORM: (20082..20124) OPEN_PAREN: (20082..20083) "(" SYMBOL: (20083..20086) @@ -6162,8 +5387,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20103..20104) ")" CLOSE_PAREN: (20104..20105) ")" CLOSE_PAREN: (20105..20106) ")" - ATMOSPHERE: (20106..20113) " - " + ATMOSPHERE: (20106..20113) "\n " FORM: (20113..20123) OPEN_PAREN: (20113..20114) "(" SYMBOL: (20114..20118) @@ -6177,8 +5401,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20122..20123) ")" CLOSE_PAREN: (20123..20124) ")" CLOSE_PAREN: (20124..20125) ")" - ATMOSPHERE: (20125..20126) " -" + ATMOSPHERE: (20125..20126) "\n" FORM: (20126..20170) OPEN_PAREN: (20126..20127) "(" SYMBOL: (20127..20131) @@ -6205,8 +5428,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20167..20168) ")" CLOSE_PAREN: (20168..20169) ")" CLOSE_PAREN: (20169..20170) ")" - ATMOSPHERE: (20170..20171) " -" + ATMOSPHERE: (20170..20171) "\n" FORM: (20171..20259) OPEN_PAREN: (20171..20172) "(" SYMBOL: (20172..20178) @@ -6214,8 +5436,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20178..20179) " " SYMBOL: (20179..20188) IDENTIFIER: (20179..20188) "gen-loser" - ATMOSPHERE: (20188..20191) " - " + ATMOSPHERE: (20188..20191) "\n " FORM: (20191..20258) OPEN_PAREN: (20191..20192) "(" SYMBOL: (20192..20198) @@ -6224,8 +5445,7 @@ PROGRAM: (0..79716) FORM: (20199..20201) OPEN_PAREN: (20199..20200) "(" CLOSE_PAREN: (20200..20201) ")" - ATMOSPHERE: (20201..20206) " - " + ATMOSPHERE: (20201..20206) "\n " FORM: (20206..20257) OPEN_PAREN: (20206..20207) "(" SYMBOL: (20207..20210) @@ -6242,8 +5462,7 @@ PROGRAM: (0..79716) NUMBER: (20215..20216) "0" CLOSE_PAREN: (20216..20217) ")" CLOSE_PAREN: (20217..20218) ")" - ATMOSPHERE: (20218..20225) " - " + ATMOSPHERE: (20218..20225) "\n " FORM: (20225..20256) OPEN_PAREN: (20225..20226) "(" SYMBOL: (20226..20232) @@ -6280,8 +5499,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20256..20257) ")" CLOSE_PAREN: (20257..20258) ")" CLOSE_PAREN: (20258..20259) ")" - ATMOSPHERE: (20259..20260) " -" + ATMOSPHERE: (20259..20260) "\n" FORM: (20260..20306) OPEN_PAREN: (20260..20261) "(" SYMBOL: (20261..20265) @@ -6309,8 +5527,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20288..20289) ")" CLOSE_PAREN: (20289..20290) ")" CLOSE_PAREN: (20290..20291) ")" - ATMOSPHERE: (20291..20294) " - " + ATMOSPHERE: (20291..20294) "\n " FORM: (20294..20304) OPEN_PAREN: (20294..20295) "(" SYMBOL: (20295..20299) @@ -6324,9 +5541,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20303..20304) ")" CLOSE_PAREN: (20304..20305) ")" CLOSE_PAREN: (20305..20306) ")" - ATMOSPHERE: (20306..20308) " - -" + ATMOSPHERE: (20306..20308) "\n\n" FORM: (20308..20433) OPEN_PAREN: (20308..20309) "(" SYMBOL: (20309..20313) @@ -6334,8 +5549,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20313..20314) " " CONSTANT: (20314..20316) BOOLEAN: (20314..20316) "#f" - ATMOSPHERE: (20316..20317) " -" + ATMOSPHERE: (20316..20317) "\n" FORM: (20317..20432) OPEN_PAREN: (20317..20318) "(" SYMBOL: (20318..20324) @@ -6386,8 +5600,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20363..20364) ")" CLOSE_PAREN: (20364..20365) ")" CLOSE_PAREN: (20365..20366) ")" - ATMOSPHERE: (20366..20376) " - " + ATMOSPHERE: (20366..20376) "\n " FORM: (20376..20416) OPEN_PAREN: (20376..20377) "(" SYMBOL: (20377..20378) @@ -6432,8 +5645,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20414..20415) ")" CLOSE_PAREN: (20415..20416) ")" CLOSE_PAREN: (20416..20417) ")" - ATMOSPHERE: (20417..20421) " - " + ATMOSPHERE: (20417..20421) "\n " FORM: (20421..20431) OPEN_PAREN: (20421..20422) "(" SYMBOL: (20422..20426) @@ -6447,9 +5659,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20430..20431) ")" CLOSE_PAREN: (20431..20432) ")" CLOSE_PAREN: (20432..20433) ")" - ATMOSPHERE: (20433..20435) " - -" + ATMOSPHERE: (20433..20435) "\n\n" FORM: (20435..20482) OPEN_PAREN: (20435..20436) "(" SYMBOL: (20436..20440) @@ -6457,8 +5667,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20440..20441) " " CONSTANT: (20441..20443) BOOLEAN: (20441..20443) "#t" - ATMOSPHERE: (20443..20448) " - " + ATMOSPHERE: (20443..20448) "\n " FORM: (20448..20481) OPEN_PAREN: (20448..20449) "(" SYMBOL: (20449..20452) @@ -6480,8 +5689,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20460..20461) ")" CLOSE_PAREN: (20461..20462) ")" CLOSE_PAREN: (20462..20463) ")" - ATMOSPHERE: (20463..20470) " - " + ATMOSPHERE: (20463..20470) "\n " FORM: (20470..20480) OPEN_PAREN: (20470..20471) "(" SYMBOL: (20471..20475) @@ -6495,9 +5703,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20479..20480) ")" CLOSE_PAREN: (20480..20481) ")" CLOSE_PAREN: (20481..20482) ")" - ATMOSPHERE: (20482..20484) " - -" + ATMOSPHERE: (20482..20484) "\n\n" FORM: (20484..20505) OPEN_PAREN: (20484..20485) "(" SYMBOL: (20485..20489) @@ -6522,8 +5728,7 @@ PROGRAM: (0..79716) IDENTIFIER: (20502..20503) "a" CLOSE_PAREN: (20503..20504) ")" CLOSE_PAREN: (20504..20505) ")" - ATMOSPHERE: (20505..20506) " -" + ATMOSPHERE: (20505..20506) "\n" FORM: (20506..20541) OPEN_PAREN: (20506..20507) "(" SYMBOL: (20507..20511) @@ -6560,8 +5765,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20538..20539) ")" CLOSE_PAREN: (20539..20540) ")" CLOSE_PAREN: (20540..20541) ")" - ATMOSPHERE: (20541..20542) " -" + ATMOSPHERE: (20541..20542) "\n" FORM: (20542..20565) OPEN_PAREN: (20542..20543) "(" SYMBOL: (20543..20547) @@ -6588,8 +5792,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20562..20563) ")" CLOSE_PAREN: (20563..20564) ")" CLOSE_PAREN: (20564..20565) ")" - ATMOSPHERE: (20565..20566) " -" + ATMOSPHERE: (20565..20566) "\n" FORM: (20566..20612) OPEN_PAREN: (20566..20567) "(" SYMBOL: (20567..20571) @@ -6597,8 +5800,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20571..20572) " " CONSTANT: (20572..20574) BOOLEAN: (20572..20574) "#t" - ATMOSPHERE: (20574..20579) " - " + ATMOSPHERE: (20574..20579) "\n " FORM: (20579..20611) OPEN_PAREN: (20579..20580) "(" SYMBOL: (20580..20583) @@ -6620,8 +5822,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20591..20592) ")" CLOSE_PAREN: (20592..20593) ")" CLOSE_PAREN: (20593..20594) ")" - ATMOSPHERE: (20594..20601) " - " + ATMOSPHERE: (20594..20601) "\n " FORM: (20601..20610) OPEN_PAREN: (20601..20602) "(" SYMBOL: (20602..20605) @@ -6635,8 +5836,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20609..20610) ")" CLOSE_PAREN: (20610..20611) ")" CLOSE_PAREN: (20611..20612) ")" - ATMOSPHERE: (20612..20613) " -" + ATMOSPHERE: (20612..20613) "\n" FORM: (20613..20659) OPEN_PAREN: (20613..20614) "(" SYMBOL: (20614..20618) @@ -6644,8 +5844,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20618..20619) " " CONSTANT: (20619..20621) BOOLEAN: (20619..20621) "#t" - ATMOSPHERE: (20621..20626) " - " + ATMOSPHERE: (20621..20626) "\n " FORM: (20626..20658) OPEN_PAREN: (20626..20627) "(" SYMBOL: (20627..20630) @@ -6665,8 +5864,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20638..20639) ")" CLOSE_PAREN: (20639..20640) ")" CLOSE_PAREN: (20640..20641) ")" - ATMOSPHERE: (20641..20648) " - " + ATMOSPHERE: (20641..20648) "\n " FORM: (20648..20657) OPEN_PAREN: (20648..20649) "(" SYMBOL: (20649..20652) @@ -6680,8 +5878,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20656..20657) ")" CLOSE_PAREN: (20657..20658) ")" CLOSE_PAREN: (20658..20659) ")" - ATMOSPHERE: (20659..20660) " -" + ATMOSPHERE: (20659..20660) "\n" FORM: (20660..20716) OPEN_PAREN: (20660..20661) "(" SYMBOL: (20661..20665) @@ -6689,8 +5886,7 @@ PROGRAM: (0..79716) ATMOSPHERE: (20665..20666) " " CONSTANT: (20666..20668) BOOLEAN: (20666..20668) "#t" - ATMOSPHERE: (20668..20673) " - " + ATMOSPHERE: (20668..20673) "\n " FORM: (20673..20715) OPEN_PAREN: (20673..20674) "(" SYMBOL: (20674..20677) @@ -6719,8 +5915,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20695..20696) ")" CLOSE_PAREN: (20696..20697) ")" CLOSE_PAREN: (20697..20698) ")" - ATMOSPHERE: (20698..20705) " - " + ATMOSPHERE: (20698..20705) "\n " FORM: (20705..20714) OPEN_PAREN: (20705..20706) "(" SYMBOL: (20706..20709) @@ -6734,9 +5929,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20713..20714) ")" CLOSE_PAREN: (20714..20715) ")" CLOSE_PAREN: (20715..20716) ")" - ATMOSPHERE: (20716..20718) " - -" + ATMOSPHERE: (20716..20718) "\n\n" FORM: (20718..20742) OPEN_PAREN: (20718..20719) "(" SYMBOL: (20719..20723) @@ -6761,8 +5954,7 @@ PROGRAM: (0..79716) IDENTIFIER: (20739..20740) "a" CLOSE_PAREN: (20740..20741) ")" CLOSE_PAREN: (20741..20742) ")" - ATMOSPHERE: (20742..20743) " -" + ATMOSPHERE: (20742..20743) "\n" FORM: (20743..20771) OPEN_PAREN: (20743..20744) "(" SYMBOL: (20744..20748) @@ -6793,8 +5985,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20768..20769) ")" CLOSE_PAREN: (20769..20770) ")" CLOSE_PAREN: (20770..20771) ")" - ATMOSPHERE: (20771..20772) " -" + ATMOSPHERE: (20771..20772) "\n" FORM: (20772..20829) OPEN_PAREN: (20772..20773) "(" SYMBOL: (20773..20777) @@ -6824,8 +6015,7 @@ PROGRAM: (0..79716) SYMBOL: (20797..20798) IDENTIFIER: (20797..20798) "c" CLOSE_PAREN: (20798..20799) ")" - ATMOSPHERE: (20799..20817) " - " + ATMOSPHERE: (20799..20817) "\n " QUOTED_DATUM: (20817..20827) QUOTE: (20817..20818) "'" FORM: (20818..20827) @@ -6844,8 +6034,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20826..20827) ")" CLOSE_PAREN: (20827..20828) ")" CLOSE_PAREN: (20828..20829) ")" - ATMOSPHERE: (20829..20830) " -" + ATMOSPHERE: (20829..20830) "\n" FORM: (20830..20860) OPEN_PAREN: (20830..20831) "(" SYMBOL: (20831..20835) @@ -6860,14 +6049,13 @@ PROGRAM: (0..79716) IDENTIFIER: (20840..20846) "equal?" ATMOSPHERE: (20846..20847) " " CONSTANT: (20847..20852) - STRING: (20847..20852) ""abc"" + STRING: (20847..20852) "\"abc\"" ATMOSPHERE: (20852..20853) " " CONSTANT: (20853..20858) - STRING: (20853..20858) ""abc"" + STRING: (20853..20858) "\"abc\"" CLOSE_PAREN: (20858..20859) ")" CLOSE_PAREN: (20859..20860) ")" - ATMOSPHERE: (20860..20861) " -" + ATMOSPHERE: (20860..20861) "\n" FORM: (20861..20883) OPEN_PAREN: (20861..20862) "(" SYMBOL: (20862..20866) @@ -6888,8 +6076,7 @@ PROGRAM: (0..79716) NUMBER: (20880..20881) "2" CLOSE_PAREN: (20881..20882) ")" CLOSE_PAREN: (20882..20883) ")" - ATMOSPHERE: (20883..20884) " -" + ATMOSPHERE: (20883..20884) "\n" FORM: (20884..20957) OPEN_PAREN: (20884..20885) "(" SYMBOL: (20885..20889) @@ -6916,8 +6103,7 @@ PROGRAM: (0..79716) SYMBOL: (20917..20918) IDENTIFIER: (20917..20918) "a" CLOSE_PAREN: (20918..20919) ")" - ATMOSPHERE: (20919..20937) " - " + ATMOSPHERE: (20919..20937) "\n " FORM: (20937..20955) OPEN_PAREN: (20937..20938) "(" SYMBOL: (20938..20949) @@ -6933,762 +6119,478 @@ PROGRAM: (0..79716) CLOSE_PAREN: (20954..20955) ")" CLOSE_PAREN: (20955..20956) ")" CLOSE_PAREN: (20956..20957) ")" - ATMOSPHERE: (20957..20959) " - -" + ATMOSPHERE: (20957..20959) "\n\n" FORM: (20959..20969) OPEN_PAREN: (20959..20960) "(" SYMBOL: (20960..20968) IDENTIFIER: (20960..20968) "test-end" CLOSE_PAREN: (20968..20969) ")" - ATMOSPHERE: (20969..20971) " - -" + ATMOSPHERE: (20969..20971) "\n\n" FORM: (20971..20997) OPEN_PAREN: (20971..20972) "(" SYMBOL: (20972..20982) IDENTIFIER: (20972..20982) "test-begin" ATMOSPHERE: (20982..20983) " " CONSTANT: (20983..20996) - STRING: (20983..20996) ""6.2 Numbers"" + STRING: (20983..20996) "\"6.2 Numbers\"" CLOSE_PAREN: (20996..20997) ")" - ATMOSPHERE: (20997..20999) " - -" + ATMOSPHERE: (20997..20999) "\n\n" ATMOSPHERE: (20999..21027) ";; (test #t (complex? 3+4i))" - ATMOSPHERE: (21027..21028) " -" + ATMOSPHERE: (21027..21028) "\n" ATMOSPHERE: (21028..21053) ";; (test #t (complex? 3))" - ATMOSPHERE: (21053..21054) " -" + ATMOSPHERE: (21053..21054) "\n" ATMOSPHERE: (21054..21076) ";; (test #t (real? 3))" - ATMOSPHERE: (21076..21077) " -" + ATMOSPHERE: (21076..21077) "\n" ATMOSPHERE: (21077..21105) ";; (test #t (real? -2.5+0i))" - ATMOSPHERE: (21105..21106) " -" + ATMOSPHERE: (21105..21106) "\n" ATMOSPHERE: (21106..21136) ";; (test #f (real? -2.5+0.0i))" - ATMOSPHERE: (21136..21137) " -" + ATMOSPHERE: (21136..21137) "\n" ATMOSPHERE: (21137..21164) ";; (test #t (real? #e1e10))" - ATMOSPHERE: (21164..21165) " -" + ATMOSPHERE: (21164..21165) "\n" ATMOSPHERE: (21165..21192) ";; (test #t (real? +inf.0))" - ATMOSPHERE: (21192..21193) " -" + ATMOSPHERE: (21192..21193) "\n" ATMOSPHERE: (21193..21224) ";; (test #f (rational? -inf.0))" - ATMOSPHERE: (21224..21225) " -" + ATMOSPHERE: (21224..21225) "\n" ATMOSPHERE: (21225..21256) ";; (test #f (rational? +nan.0))" - ATMOSPHERE: (21256..21257) " -" + ATMOSPHERE: (21256..21257) "\n" ATMOSPHERE: (21257..21300) ";; (test #t (rational? 9007199254740991.0))" - ATMOSPHERE: (21300..21301) " -" + ATMOSPHERE: (21300..21301) "\n" ATMOSPHERE: (21301..21344) ";; (test #t (rational? 9007199254740992.0))" - ATMOSPHERE: (21344..21345) " -" + ATMOSPHERE: (21344..21345) "\n" ATMOSPHERE: (21345..21392) ";; (test #t (rational? 1.7976931348623157e308))" - ATMOSPHERE: (21392..21393) " -" + ATMOSPHERE: (21392..21393) "\n" ATMOSPHERE: (21393..21422) ";; (test #t (rational? 6/10))" - ATMOSPHERE: (21422..21423) " -" + ATMOSPHERE: (21422..21423) "\n" ATMOSPHERE: (21423..21451) ";; (test #t (rational? 6/3))" - ATMOSPHERE: (21451..21452) " -" + ATMOSPHERE: (21451..21452) "\n" ATMOSPHERE: (21452..21480) ";; (test #t (integer? 3+0i))" - ATMOSPHERE: (21480..21481) " -" + ATMOSPHERE: (21480..21481) "\n" ATMOSPHERE: (21481..21508) ";; (test #t (integer? 3.0))" - ATMOSPHERE: (21508..21509) " -" + ATMOSPHERE: (21508..21509) "\n" ATMOSPHERE: (21509..21536) ";; (test #t (integer? 8/4))" - ATMOSPHERE: (21536..21538) " - -" + ATMOSPHERE: (21536..21538) "\n\n" ATMOSPHERE: (21538..21563) ";; (test #f (exact? 3.0))" - ATMOSPHERE: (21563..21564) " -" + ATMOSPHERE: (21563..21564) "\n" ATMOSPHERE: (21564..21591) ";; (test #t (exact? #e3.0))" - ATMOSPHERE: (21591..21592) " -" + ATMOSPHERE: (21591..21592) "\n" ATMOSPHERE: (21592..21618) ";; (test #t (inexact? 3.))" - ATMOSPHERE: (21618..21620) " - -" + ATMOSPHERE: (21618..21620) "\n\n" ATMOSPHERE: (21620..21652) ";; (test #t (exact-integer? 32))" - ATMOSPHERE: (21652..21653) " -" + ATMOSPHERE: (21652..21653) "\n" ATMOSPHERE: (21653..21687) ";; (test #f (exact-integer? 32.0))" - ATMOSPHERE: (21687..21688) " -" + ATMOSPHERE: (21687..21688) "\n" ATMOSPHERE: (21688..21722) ";; (test #f (exact-integer? 32/5))" - ATMOSPHERE: (21722..21724) " - -" + ATMOSPHERE: (21722..21724) "\n\n" ATMOSPHERE: (21724..21748) ";; (test #t (finite? 3))" - ATMOSPHERE: (21748..21749) " -" + ATMOSPHERE: (21748..21749) "\n" ATMOSPHERE: (21749..21778) ";; (test #f (finite? +inf.0))" - ATMOSPHERE: (21778..21779) " -" + ATMOSPHERE: (21778..21779) "\n" ATMOSPHERE: (21779..21812) ";; (test #f (finite? 3.0+inf.0i))" - ATMOSPHERE: (21812..21814) " - -" + ATMOSPHERE: (21812..21814) "\n\n" ATMOSPHERE: (21814..21840) ";; (test #f (infinite? 3))" - ATMOSPHERE: (21840..21841) " -" + ATMOSPHERE: (21840..21841) "\n" ATMOSPHERE: (21841..21872) ";; (test #t (infinite? +inf.0))" - ATMOSPHERE: (21872..21873) " -" + ATMOSPHERE: (21872..21873) "\n" ATMOSPHERE: (21873..21904) ";; (test #f (infinite? +nan.0))" - ATMOSPHERE: (21904..21905) " -" + ATMOSPHERE: (21904..21905) "\n" ATMOSPHERE: (21905..21940) ";; (test #t (infinite? 3.0+inf.0i))" - ATMOSPHERE: (21940..21942) " - -" + ATMOSPHERE: (21940..21942) "\n\n" ATMOSPHERE: (21942..21968) ";; (test #t (nan? +nan.0))" - ATMOSPHERE: (21968..21969) " -" + ATMOSPHERE: (21968..21969) "\n" ATMOSPHERE: (21969..21991) ";; (test #f (nan? 32))" - ATMOSPHERE: (21991..21992) " -" + ATMOSPHERE: (21991..21992) "\n" ATMOSPHERE: (21992..22026) ";; ;; (test #t (nan? +nan.0+5.0i))" - ATMOSPHERE: (22026..22027) " -" + ATMOSPHERE: (22026..22027) "\n" ATMOSPHERE: (22027..22051) ";; (test #f (nan? 1+2i))" - ATMOSPHERE: (22051..22053) " - -" + ATMOSPHERE: (22051..22053) "\n\n" ATMOSPHERE: (22053..22084) ";; (test #t (= 1 1.0 1.0+0.0i))" - ATMOSPHERE: (22084..22085) " -" + ATMOSPHERE: (22084..22085) "\n" ATMOSPHERE: (22085..22114) ";; (test #f (= 1.0 1.0+1.0i))" - ATMOSPHERE: (22114..22115) " -" + ATMOSPHERE: (22114..22115) "\n" ATMOSPHERE: (22115..22137) ";; (test #t (< 1 2 3))" - ATMOSPHERE: (22137..22138) " -" + ATMOSPHERE: (22137..22138) "\n" ATMOSPHERE: (22138..22160) ";; (test #f (< 1 1 2))" - ATMOSPHERE: (22160..22161) " -" + ATMOSPHERE: (22160..22161) "\n" ATMOSPHERE: (22161..22189) ";; (test #t (> 3.0 2.0 1.0))" - ATMOSPHERE: (22189..22190) " -" + ATMOSPHERE: (22189..22190) "\n" ATMOSPHERE: (22190..22219) ";; (test #f (> -3.0 2.0 1.0))" - ATMOSPHERE: (22219..22220) " -" + ATMOSPHERE: (22219..22220) "\n" ATMOSPHERE: (22220..22243) ";; (test #t (<= 1 1 2))" - ATMOSPHERE: (22243..22244) " -" + ATMOSPHERE: (22243..22244) "\n" ATMOSPHERE: (22244..22267) ";; (test #f (<= 1 2 1))" - ATMOSPHERE: (22267..22268) " -" + ATMOSPHERE: (22267..22268) "\n" ATMOSPHERE: (22268..22291) ";; (test #t (>= 2 1 1))" - ATMOSPHERE: (22291..22292) " -" + ATMOSPHERE: (22291..22292) "\n" ATMOSPHERE: (22292..22315) ";; (test #f (>= 1 2 1))" - ATMOSPHERE: (22315..22316) " -" + ATMOSPHERE: (22315..22316) "\n" ATMOSPHERE: (22316..22341) ";; (test #f (< +nan.0 0))" - ATMOSPHERE: (22341..22342) " -" + ATMOSPHERE: (22341..22342) "\n" ATMOSPHERE: (22342..22367) ";; (test #f (> +nan.0 0))" - ATMOSPHERE: (22367..22368) " -" + ATMOSPHERE: (22367..22368) "\n" ATMOSPHERE: (22368..22395) ";; (test #f (< +nan.0 0.0))" - ATMOSPHERE: (22395..22396) " -" + ATMOSPHERE: (22395..22396) "\n" ATMOSPHERE: (22396..22423) ";; (test #f (> +nan.0 0.0))" - ATMOSPHERE: (22423..22424) " -" + ATMOSPHERE: (22423..22424) "\n" ATMOSPHERE: (22424..22471) ";; (test '(#t #f) (list (<= 1 1 2) (<= 2 1 3)))" - ATMOSPHERE: (22471..22473) " - -" + ATMOSPHERE: (22471..22473) "\n\n" ATMOSPHERE: (22473..22516) ";; ;; From R7RS 6.2.6 Numerical operations:" - ATMOSPHERE: (22516..22517) " -" + ATMOSPHERE: (22516..22517) "\n" ATMOSPHERE: (22517..22522) ";; ;;" - ATMOSPHERE: (22522..22523) " -" + ATMOSPHERE: (22522..22523) "\n" ATMOSPHERE: (22523..22576) ";; ;; These predicates are required to be transitive." - ATMOSPHERE: (22576..22577) " -" + ATMOSPHERE: (22576..22577) "\n" ATMOSPHERE: (22577..22582) ";; ;;" - ATMOSPHERE: (22582..22583) " -" + ATMOSPHERE: (22582..22583) "\n" ATMOSPHERE: (22583..22651) ";; ;; _Note:_ The traditional implementations of these predicates in" - ATMOSPHERE: (22651..22652) " -" + ATMOSPHERE: (22651..22652) "\n" ATMOSPHERE: (22652..22728) ";; ;; Lisp-like languages, which involve converting all arguments to inexact" - ATMOSPHERE: (22728..22729) " -" + ATMOSPHERE: (22728..22729) "\n" ATMOSPHERE: (22729..22790) ";; ;; numbers if any argument is inexact, are not transitive." - ATMOSPHERE: (22790..22792) " - -" + ATMOSPHERE: (22790..22792) "\n\n" ATMOSPHERE: (22792..22822) ";; ;; Example from Alan Bawden" - ATMOSPHERE: (22822..22823) " -" + ATMOSPHERE: (22822..22823) "\n" ATMOSPHERE: (22823..22855) ";; (let ((a (- (expt 2 1000) 1))" - ATMOSPHERE: (22855..22856) " -" + ATMOSPHERE: (22855..22856) "\n" ATMOSPHERE: (22856..22926) ";; (b (inexact (expt 2 1000))) ; assuming > single-float-epsilon" - ATMOSPHERE: (22926..22927) " -" + ATMOSPHERE: (22926..22927) "\n" ATMOSPHERE: (22927..22960) ";; (c (+ (expt 2 1000) 1)))" - ATMOSPHERE: (22960..22961) " -" + ATMOSPHERE: (22960..22961) "\n" ATMOSPHERE: (22961..23000) ";; (test #t (if (and (= a b) (= b c))" - ATMOSPHERE: (23000..23001) " -" + ATMOSPHERE: (23000..23001) "\n" ATMOSPHERE: (23001..23026) ";; (= a c)" - ATMOSPHERE: (23026..23027) " -" + ATMOSPHERE: (23026..23027) "\n" ATMOSPHERE: (23027..23050) ";; #t)))" - ATMOSPHERE: (23050..23052) " - -" + ATMOSPHERE: (23050..23052) "\n\n" ATMOSPHERE: (23052..23097) ";; ;; From CLtL 12.3. Comparisons on Numbers:" - ATMOSPHERE: (23097..23098) " -" + ATMOSPHERE: (23097..23098) "\n" ATMOSPHERE: (23098..23103) ";; ;;" - ATMOSPHERE: (23103..23104) " -" + ATMOSPHERE: (23103..23104) "\n" ATMOSPHERE: (23104..23174) ";; ;; Let _a_ be the result of (/ 10.0 single-float-epsilon), and let" - ATMOSPHERE: (23174..23175) " -" + ATMOSPHERE: (23174..23175) "\n" ATMOSPHERE: (23175..23245) ";; ;; _j_ be the result of (floor a). ..., all of (<= a j), (< j (+ j" - ATMOSPHERE: (23245..23246) " -" + ATMOSPHERE: (23245..23246) "\n" ATMOSPHERE: (23246..23315) ";; ;; 1)), and (<= (+ j 1) a) would be true; transitivity would then" - ATMOSPHERE: (23315..23316) " -" + ATMOSPHERE: (23315..23316) "\n" ATMOSPHERE: (23316..23362) ";; ;; imply that (< a a) ought to be true ..." - ATMOSPHERE: (23362..23364) " - -" + ATMOSPHERE: (23362..23364) "\n\n" ATMOSPHERE: (23364..23408) ";; ;; Transliteration from Jussi Piitulainen" - ATMOSPHERE: (23408..23409) " -" + ATMOSPHERE: (23408..23409) "\n" ATMOSPHERE: (23409..23440) ";; (define single-float-epsilon" - ATMOSPHERE: (23440..23441) " -" + ATMOSPHERE: (23440..23441) "\n" ATMOSPHERE: (23441..23473) ";; (do ((eps 1.0 (* eps 2.0)))" - ATMOSPHERE: (23473..23474) " -" + ATMOSPHERE: (23473..23474) "\n" ATMOSPHERE: (23474..23510) ";; ((= eps (+ eps 1.0)) eps)))" - ATMOSPHERE: (23510..23512) " - -" + ATMOSPHERE: (23510..23512) "\n\n" ATMOSPHERE: (23512..23555) ";; (let* ((a (/ 10.0 single-float-epsilon))" - ATMOSPHERE: (23555..23556) " -" + ATMOSPHERE: (23555..23556) "\n" ATMOSPHERE: (23556..23580) ";; (j (exact a)))" - ATMOSPHERE: (23580..23581) " -" + ATMOSPHERE: (23580..23581) "\n" ATMOSPHERE: (23581..23627) ";; (test #t (if (and (<= a j) (< j (+ j 1)))" - ATMOSPHERE: (23627..23628) " -" + ATMOSPHERE: (23627..23628) "\n" ATMOSPHERE: (23628..23666) ";; (not (<= (+ j 1) a))" - ATMOSPHERE: (23666..23667) " -" + ATMOSPHERE: (23666..23667) "\n" ATMOSPHERE: (23667..23690) ";; #t)))" - ATMOSPHERE: (23690..23692) " - -" + ATMOSPHERE: (23690..23692) "\n\n" ATMOSPHERE: (23692..23714) ";; (test #t (zero? 0))" - ATMOSPHERE: (23714..23715) " -" + ATMOSPHERE: (23714..23715) "\n" ATMOSPHERE: (23715..23739) ";; (test #t (zero? 0.0))" - ATMOSPHERE: (23739..23740) " -" + ATMOSPHERE: (23739..23740) "\n" ATMOSPHERE: (23740..23769) ";; (test #t (zero? 0.0+0.0i))" - ATMOSPHERE: (23769..23770) " -" + ATMOSPHERE: (23769..23770) "\n" ATMOSPHERE: (23770..23792) ";; (test #f (zero? 1))" - ATMOSPHERE: (23792..23793) " -" + ATMOSPHERE: (23792..23793) "\n" ATMOSPHERE: (23793..23816) ";; (test #f (zero? -1))" - ATMOSPHERE: (23816..23818) " - -" + ATMOSPHERE: (23816..23818) "\n\n" ATMOSPHERE: (23818..23844) ";; (test #f (positive? 0))" - ATMOSPHERE: (23844..23845) " -" + ATMOSPHERE: (23844..23845) "\n" ATMOSPHERE: (23845..23873) ";; (test #f (positive? 0.0))" - ATMOSPHERE: (23873..23874) " -" + ATMOSPHERE: (23873..23874) "\n" ATMOSPHERE: (23874..23900) ";; (test #t (positive? 1))" - ATMOSPHERE: (23900..23901) " -" + ATMOSPHERE: (23900..23901) "\n" ATMOSPHERE: (23901..23929) ";; (test #t (positive? 1.0))" - ATMOSPHERE: (23929..23930) " -" + ATMOSPHERE: (23929..23930) "\n" ATMOSPHERE: (23930..23957) ";; (test #f (positive? -1))" - ATMOSPHERE: (23957..23958) " -" + ATMOSPHERE: (23957..23958) "\n" ATMOSPHERE: (23958..23987) ";; (test #f (positive? -1.0))" - ATMOSPHERE: (23987..23988) " -" + ATMOSPHERE: (23987..23988) "\n" ATMOSPHERE: (23988..24019) ";; (test #t (positive? +inf.0))" - ATMOSPHERE: (24019..24020) " -" + ATMOSPHERE: (24019..24020) "\n" ATMOSPHERE: (24020..24051) ";; (test #f (positive? -inf.0))" - ATMOSPHERE: (24051..24052) " -" + ATMOSPHERE: (24051..24052) "\n" ATMOSPHERE: (24052..24083) ";; (test #f (positive? +nan.0))" - ATMOSPHERE: (24083..24085) " - -" + ATMOSPHERE: (24083..24085) "\n\n" ATMOSPHERE: (24085..24111) ";; (test #f (negative? 0))" - ATMOSPHERE: (24111..24112) " -" + ATMOSPHERE: (24111..24112) "\n" ATMOSPHERE: (24112..24140) ";; (test #f (negative? 0.0))" - ATMOSPHERE: (24140..24141) " -" + ATMOSPHERE: (24140..24141) "\n" ATMOSPHERE: (24141..24167) ";; (test #f (negative? 1))" - ATMOSPHERE: (24167..24168) " -" + ATMOSPHERE: (24167..24168) "\n" ATMOSPHERE: (24168..24196) ";; (test #f (negative? 1.0))" - ATMOSPHERE: (24196..24197) " -" + ATMOSPHERE: (24196..24197) "\n" ATMOSPHERE: (24197..24224) ";; (test #t (negative? -1))" - ATMOSPHERE: (24224..24225) " -" + ATMOSPHERE: (24224..24225) "\n" ATMOSPHERE: (24225..24254) ";; (test #t (negative? -1.0))" - ATMOSPHERE: (24254..24255) " -" + ATMOSPHERE: (24254..24255) "\n" ATMOSPHERE: (24255..24286) ";; (test #f (negative? +inf.0))" - ATMOSPHERE: (24286..24287) " -" + ATMOSPHERE: (24286..24287) "\n" ATMOSPHERE: (24287..24318) ";; (test #t (negative? -inf.0))" - ATMOSPHERE: (24318..24319) " -" + ATMOSPHERE: (24318..24319) "\n" ATMOSPHERE: (24319..24350) ";; (test #f (negative? +nan.0))" - ATMOSPHERE: (24350..24352) " - -" + ATMOSPHERE: (24350..24352) "\n\n" ATMOSPHERE: (24352..24373) ";; (test #f (odd? 0))" - ATMOSPHERE: (24373..24374) " -" + ATMOSPHERE: (24373..24374) "\n" ATMOSPHERE: (24374..24395) ";; (test #t (odd? 1))" - ATMOSPHERE: (24395..24396) " -" + ATMOSPHERE: (24395..24396) "\n" ATMOSPHERE: (24396..24418) ";; (test #t (odd? -1))" - ATMOSPHERE: (24418..24419) " -" + ATMOSPHERE: (24418..24419) "\n" ATMOSPHERE: (24419..24442) ";; (test #f (odd? 102))" - ATMOSPHERE: (24442..24444) " - -" + ATMOSPHERE: (24442..24444) "\n\n" ATMOSPHERE: (24444..24466) ";; (test #t (even? 0))" - ATMOSPHERE: (24466..24467) " -" + ATMOSPHERE: (24466..24467) "\n" ATMOSPHERE: (24467..24489) ";; (test #f (even? 1))" - ATMOSPHERE: (24489..24490) " -" + ATMOSPHERE: (24489..24490) "\n" ATMOSPHERE: (24490..24513) ";; (test #t (even? -2))" - ATMOSPHERE: (24513..24514) " -" + ATMOSPHERE: (24513..24514) "\n" ATMOSPHERE: (24514..24538) ";; (test #t (even? 102))" - ATMOSPHERE: (24538..24540) " - -" + ATMOSPHERE: (24538..24540) "\n\n" ATMOSPHERE: (24540..24559) ";; (test 3 (max 3))" - ATMOSPHERE: (24559..24560) " -" + ATMOSPHERE: (24559..24560) "\n" ATMOSPHERE: (24560..24581) ";; (test 4 (max 3 4))" - ATMOSPHERE: (24581..24582) " -" + ATMOSPHERE: (24581..24582) "\n" ATMOSPHERE: (24582..24607) ";; (test 4.0 (max 3.9 4))" - ATMOSPHERE: (24607..24608) " -" + ATMOSPHERE: (24607..24608) "\n" ATMOSPHERE: (24608..24635) ";; (test 5.0 (max 5 3.9 4))" - ATMOSPHERE: (24635..24636) " -" + ATMOSPHERE: (24635..24636) "\n" ATMOSPHERE: (24636..24669) ";; (test +inf.0 (max 100 +inf.0))" - ATMOSPHERE: (24669..24670) " -" + ATMOSPHERE: (24669..24670) "\n" ATMOSPHERE: (24670..24689) ";; (test 3 (min 3))" - ATMOSPHERE: (24689..24690) " -" + ATMOSPHERE: (24689..24690) "\n" ATMOSPHERE: (24690..24711) ";; (test 3 (min 3 4))" - ATMOSPHERE: (24711..24712) " -" + ATMOSPHERE: (24711..24712) "\n" ATMOSPHERE: (24712..24737) ";; (test 3.0 (min 3 3.1))" - ATMOSPHERE: (24737..24738) " -" + ATMOSPHERE: (24737..24738) "\n" ATMOSPHERE: (24738..24772) ";; (test -inf.0 (min -inf.0 -100))" - ATMOSPHERE: (24772..24774) " - -" + ATMOSPHERE: (24772..24774) "\n\n" ATMOSPHERE: (24774..24793) ";; (test 7 (+ 3 4))" - ATMOSPHERE: (24793..24794) " -" + ATMOSPHERE: (24793..24794) "\n" ATMOSPHERE: (24794..24811) ";; (test 3 (+ 3))" - ATMOSPHERE: (24811..24812) " -" + ATMOSPHERE: (24811..24812) "\n" ATMOSPHERE: (24812..24827) ";; (test 0 (+))" - ATMOSPHERE: (24827..24828) " -" + ATMOSPHERE: (24827..24828) "\n" ATMOSPHERE: (24828..24845) ";; (test 4 (* 4))" - ATMOSPHERE: (24845..24846) " -" + ATMOSPHERE: (24845..24846) "\n" ATMOSPHERE: (24846..24861) ";; (test 1 (*))" - ATMOSPHERE: (24861..24863) " - -" + ATMOSPHERE: (24861..24863) "\n\n" ATMOSPHERE: (24863..24883) ";; (test -1 (- 3 4))" - ATMOSPHERE: (24883..24884) " -" + ATMOSPHERE: (24883..24884) "\n" ATMOSPHERE: (24884..24906) ";; (test -6 (- 3 4 5))" - ATMOSPHERE: (24906..24907) " -" + ATMOSPHERE: (24906..24907) "\n" ATMOSPHERE: (24907..24925) ";; (test -3 (- 3))" - ATMOSPHERE: (24925..24926) " -" + ATMOSPHERE: (24925..24926) "\n" ATMOSPHERE: (24926..24950) ";; (test 3/20 (/ 3 4 5))" - ATMOSPHERE: (24950..24951) " -" + ATMOSPHERE: (24950..24951) "\n" ATMOSPHERE: (24951..24970) ";; (test 1/3 (/ 3))" - ATMOSPHERE: (24970..24972) " - -" + ATMOSPHERE: (24970..24972) "\n\n" ATMOSPHERE: (24972..24992) ";; (test 7 (abs -7))" - ATMOSPHERE: (24992..24993) " -" + ATMOSPHERE: (24992..24993) "\n" ATMOSPHERE: (24993..25012) ";; (test 7 (abs 7))" - ATMOSPHERE: (25012..25014) " - -" + ATMOSPHERE: (25012..25014) "\n\n" ATMOSPHERE: (25014..25056) ";; (test-values (values 2 1) (floor/ 5 2))" - ATMOSPHERE: (25056..25057) " -" + ATMOSPHERE: (25056..25057) "\n" ATMOSPHERE: (25057..25101) ";; (test-values (values -3 1) (floor/ -5 2))" - ATMOSPHERE: (25101..25102) " -" + ATMOSPHERE: (25101..25102) "\n" ATMOSPHERE: (25102..25147) ";; (test-values (values -3 -1) (floor/ 5 -2))" - ATMOSPHERE: (25147..25148) " -" + ATMOSPHERE: (25147..25148) "\n" ATMOSPHERE: (25148..25193) ";; (test-values (values 2 -1) (floor/ -5 -2))" - ATMOSPHERE: (25193..25194) " -" + ATMOSPHERE: (25193..25194) "\n" ATMOSPHERE: (25194..25239) ";; (test-values (values 2 1) (truncate/ 5 2))" - ATMOSPHERE: (25239..25240) " -" + ATMOSPHERE: (25239..25240) "\n" ATMOSPHERE: (25240..25288) ";; (test-values (values -2 -1) (truncate/ -5 2))" - ATMOSPHERE: (25288..25289) " -" + ATMOSPHERE: (25288..25289) "\n" ATMOSPHERE: (25289..25336) ";; (test-values (values -2 1) (truncate/ 5 -2))" - ATMOSPHERE: (25336..25337) " -" + ATMOSPHERE: (25336..25337) "\n" ATMOSPHERE: (25337..25385) ";; (test-values (values 2 -1) (truncate/ -5 -2))" - ATMOSPHERE: (25385..25386) " -" + ATMOSPHERE: (25385..25386) "\n" ATMOSPHERE: (25386..25440) ";; (test-values (values 2.0 -1.0) (truncate/ -5.0 -2))" - ATMOSPHERE: (25440..25442) " - -" + ATMOSPHERE: (25440..25442) "\n\n" ATMOSPHERE: (25442..25467) ";; (test 1 (modulo 13 4))" - ATMOSPHERE: (25467..25468) " -" + ATMOSPHERE: (25467..25468) "\n" ATMOSPHERE: (25468..25496) ";; (test 1 (remainder 13 4))" - ATMOSPHERE: (25496..25498) " - -" + ATMOSPHERE: (25496..25498) "\n\n" ATMOSPHERE: (25498..25524) ";; (test 3 (modulo -13 4))" - ATMOSPHERE: (25524..25525) " -" + ATMOSPHERE: (25524..25525) "\n" ATMOSPHERE: (25525..25555) ";; (test -1 (remainder -13 4))" - ATMOSPHERE: (25555..25557) " - -" + ATMOSPHERE: (25555..25557) "\n\n" ATMOSPHERE: (25557..25584) ";; (test -3 (modulo 13 -4))" - ATMOSPHERE: (25584..25585) " -" + ATMOSPHERE: (25584..25585) "\n" ATMOSPHERE: (25585..25614) ";; (test 1 (remainder 13 -4))" - ATMOSPHERE: (25614..25616) " - -" + ATMOSPHERE: (25614..25616) "\n\n" ATMOSPHERE: (25616..25644) ";; (test -1 (modulo -13 -4))" - ATMOSPHERE: (25644..25645) " -" + ATMOSPHERE: (25644..25645) "\n" ATMOSPHERE: (25645..25676) ";; (test -1 (remainder -13 -4))" - ATMOSPHERE: (25676..25678) " - -" + ATMOSPHERE: (25676..25678) "\n\n" ATMOSPHERE: (25678..25713) ";; (test -1.0 (remainder -13 -4.0))" - ATMOSPHERE: (25713..25715) " - -" + ATMOSPHERE: (25713..25715) "\n\n" ATMOSPHERE: (25715..25739) ";; (test 4 (gcd 32 -36))" - ATMOSPHERE: (25739..25740) " -" + ATMOSPHERE: (25739..25740) "\n" ATMOSPHERE: (25740..25757) ";; (test 0 (gcd))" - ATMOSPHERE: (25757..25758) " -" + ATMOSPHERE: (25757..25758) "\n" ATMOSPHERE: (25758..25784) ";; (test 288 (lcm 32 -36))" - ATMOSPHERE: (25784..25785) " -" + ATMOSPHERE: (25784..25785) "\n" ATMOSPHERE: (25785..25815) ";; (test 288.0 (lcm 32.0 -36))" - ATMOSPHERE: (25815..25816) " -" + ATMOSPHERE: (25815..25816) "\n" ATMOSPHERE: (25816..25833) ";; (test 1 (lcm))" - ATMOSPHERE: (25833..25835) " - -" + ATMOSPHERE: (25833..25835) "\n\n" ATMOSPHERE: (25835..25866) ";; (test 3 (numerator (/ 6 4)))" - ATMOSPHERE: (25866..25867) " -" + ATMOSPHERE: (25866..25867) "\n" ATMOSPHERE: (25867..25900) ";; (test 2 (denominator (/ 6 4)))" - ATMOSPHERE: (25900..25901) " -" + ATMOSPHERE: (25900..25901) "\n" ATMOSPHERE: (25901..25946) ";; (test 2.0 (denominator (inexact (/ 6 4))))" - ATMOSPHERE: (25946..25947) " -" + ATMOSPHERE: (25946..25947) "\n" ATMOSPHERE: (25947..25977) ";; (test 11.0 (numerator 5.5))" - ATMOSPHERE: (25977..25978) " -" + ATMOSPHERE: (25977..25978) "\n" ATMOSPHERE: (25978..26009) ";; (test 2.0 (denominator 5.5))" - ATMOSPHERE: (26009..26010) " -" + ATMOSPHERE: (26009..26010) "\n" ATMOSPHERE: (26010..26039) ";; (test 5.0 (numerator 5.0))" - ATMOSPHERE: (26039..26040) " -" + ATMOSPHERE: (26039..26040) "\n" ATMOSPHERE: (26040..26071) ";; (test 1.0 (denominator 5.0))" - ATMOSPHERE: (26071..26073) " - -" + ATMOSPHERE: (26071..26073) "\n\n" ATMOSPHERE: (26073..26100) ";; (test -5.0 (floor -4.3))" - ATMOSPHERE: (26100..26101) " -" + ATMOSPHERE: (26100..26101) "\n" ATMOSPHERE: (26101..26130) ";; (test -4.0 (ceiling -4.3))" - ATMOSPHERE: (26130..26131) " -" + ATMOSPHERE: (26130..26131) "\n" ATMOSPHERE: (26131..26161) ";; (test -4.0 (truncate -4.3))" - ATMOSPHERE: (26161..26162) " -" + ATMOSPHERE: (26161..26162) "\n" ATMOSPHERE: (26162..26189) ";; (test -4.0 (round -4.3))" - ATMOSPHERE: (26189..26191) " - -" + ATMOSPHERE: (26189..26191) "\n\n" ATMOSPHERE: (26191..26216) ";; (test 3.0 (floor 3.5))" - ATMOSPHERE: (26216..26217) " -" + ATMOSPHERE: (26216..26217) "\n" ATMOSPHERE: (26217..26244) ";; (test 4.0 (ceiling 3.5))" - ATMOSPHERE: (26244..26245) " -" + ATMOSPHERE: (26244..26245) "\n" ATMOSPHERE: (26245..26273) ";; (test 3.0 (truncate 3.5))" - ATMOSPHERE: (26273..26274) " -" + ATMOSPHERE: (26273..26274) "\n" ATMOSPHERE: (26274..26299) ";; (test 4.0 (round 3.5))" - ATMOSPHERE: (26299..26301) " - -" + ATMOSPHERE: (26299..26301) "\n\n" ATMOSPHERE: (26301..26324) ";; (test 4 (round 7/2))" - ATMOSPHERE: (26324..26325) " -" + ATMOSPHERE: (26324..26325) "\n" ATMOSPHERE: (26325..26346) ";; (test 7 (round 7))" - ATMOSPHERE: (26346..26347) " -" + ATMOSPHERE: (26346..26347) "\n" ATMOSPHERE: (26347..26371) ";; (test 1 (round 7/10))" - ATMOSPHERE: (26371..26372) " -" + ATMOSPHERE: (26371..26372) "\n" ATMOSPHERE: (26372..26397) ";; (test -4 (round -7/2))" - ATMOSPHERE: (26397..26398) " -" + ATMOSPHERE: (26397..26398) "\n" ATMOSPHERE: (26398..26421) ";; (test -7 (round -7))" - ATMOSPHERE: (26421..26422) " -" + ATMOSPHERE: (26421..26422) "\n" ATMOSPHERE: (26422..26448) ";; (test -1 (round -7/10))" - ATMOSPHERE: (26448..26450) " - -" + ATMOSPHERE: (26448..26450) "\n\n" ATMOSPHERE: (26450..26493) ";; (test 1/3 (rationalize (exact .3) 1/10))" - ATMOSPHERE: (26493..26494) " -" + ATMOSPHERE: (26493..26494) "\n" ATMOSPHERE: (26494..26531) ";; (test #i1/3 (rationalize .3 1/10))" - ATMOSPHERE: (26531..26533) " - -" + ATMOSPHERE: (26531..26533) "\n\n" ATMOSPHERE: (26533..26591) ";; (test 1.0 (inexact (exp 0))) ;; may return exact number" - ATMOSPHERE: (26591..26592) " -" + ATMOSPHERE: (26591..26592) "\n" ATMOSPHERE: (26592..26626) ";; (test 20.0855369231877 (exp 3))" - ATMOSPHERE: (26626..26628) " - -" + ATMOSPHERE: (26626..26628) "\n\n" ATMOSPHERE: (26628..26686) ";; (test 0.0 (inexact (log 1))) ;; may return exact number" - ATMOSPHERE: (26686..26687) " -" + ATMOSPHERE: (26686..26687) "\n" ATMOSPHERE: (26687..26714) ";; (test 1.0 (log (exp 1)))" - ATMOSPHERE: (26714..26715) " -" + ATMOSPHERE: (26714..26715) "\n" ATMOSPHERE: (26715..26744) ";; (test 42.0 (log (exp 42)))" - ATMOSPHERE: (26744..26745) " -" + ATMOSPHERE: (26744..26745) "\n" ATMOSPHERE: (26745..26771) ";; (test 2.0 (log 100 10))" - ATMOSPHERE: (26771..26772) " -" + ATMOSPHERE: (26771..26772) "\n" ATMOSPHERE: (26772..26799) ";; (test 12.0 (log 4096 2))" - ATMOSPHERE: (26799..26801) " - -" + ATMOSPHERE: (26799..26801) "\n\n" ATMOSPHERE: (26801..26859) ";; (test 0.0 (inexact (sin 0))) ;; may return exact number" - ATMOSPHERE: (26859..26860) " -" + ATMOSPHERE: (26859..26860) "\n" ATMOSPHERE: (26860..26895) ";; (test 1.0 (sin 1.5707963267949))" - ATMOSPHERE: (26895..26896) " -" + ATMOSPHERE: (26895..26896) "\n" ATMOSPHERE: (26896..26954) ";; (test 1.0 (inexact (cos 0))) ;; may return exact number" - ATMOSPHERE: (26954..26955) " -" + ATMOSPHERE: (26954..26955) "\n" ATMOSPHERE: (26955..26992) ";; (test -1.0 (cos 3.14159265358979))" - ATMOSPHERE: (26992..26993) " -" + ATMOSPHERE: (26992..26993) "\n" ATMOSPHERE: (26993..27051) ";; (test 0.0 (inexact (tan 0))) ;; may return exact number" - ATMOSPHERE: (27051..27052) " -" + ATMOSPHERE: (27051..27052) "\n" ATMOSPHERE: (27052..27085) ";; (test 1.5574077246549 (tan 1))" - ATMOSPHERE: (27085..27087) " - -" + ATMOSPHERE: (27085..27087) "\n\n" ATMOSPHERE: (27087..27146) ";; (test 0.0 (inexact (asin 0))) ;; may return exact number" - ATMOSPHERE: (27146..27147) " -" + ATMOSPHERE: (27146..27147) "\n" ATMOSPHERE: (27147..27181) ";; (test 1.5707963267949 (asin 1))" - ATMOSPHERE: (27181..27182) " -" + ATMOSPHERE: (27181..27182) "\n" ATMOSPHERE: (27182..27241) ";; (test 0.0 (inexact (acos 1))) ;; may return exact number" - ATMOSPHERE: (27241..27242) " -" + ATMOSPHERE: (27241..27242) "\n" ATMOSPHERE: (27242..27278) ";; (test 3.14159265358979 (acos -1))" - ATMOSPHERE: (27278..27280) " - -" + ATMOSPHERE: (27278..27280) "\n\n" ATMOSPHERE: (27280..27315) ";; ;; (test 0.0-0.0i (asin 0+0.0i))" - ATMOSPHERE: (27315..27316) " -" + ATMOSPHERE: (27315..27316) "\n" ATMOSPHERE: (27316..27366) ";; ;; (test 1.5707963267948966+0.0i (acos 0+0.0i))" - ATMOSPHERE: (27366..27368) " - -" + ATMOSPHERE: (27366..27368) "\n\n" ATMOSPHERE: (27368..27396) ";; (test 0.0 (atan 0.0 1.0))" - ATMOSPHERE: (27396..27397) " -" + ATMOSPHERE: (27396..27397) "\n" ATMOSPHERE: (27397..27427) ";; (test -0.0 (atan -0.0 1.0))" - ATMOSPHERE: (27427..27428) " -" + ATMOSPHERE: (27427..27428) "\n" ATMOSPHERE: (27428..27470) ";; (test 0.785398163397448 (atan 1.0 1.0))" - ATMOSPHERE: (27470..27471) " -" + ATMOSPHERE: (27470..27471) "\n" ATMOSPHERE: (27471..27511) ";; (test 1.5707963267949 (atan 1.0 0.0))" - ATMOSPHERE: (27511..27512) " -" + ATMOSPHERE: (27511..27512) "\n" ATMOSPHERE: (27512..27554) ";; (test 2.35619449019234 (atan 1.0 -1.0))" - ATMOSPHERE: (27554..27555) " -" + ATMOSPHERE: (27554..27555) "\n" ATMOSPHERE: (27555..27597) ";; (test 3.14159265358979 (atan 0.0 -1.0))" - ATMOSPHERE: (27597..27598) " -" + ATMOSPHERE: (27597..27598) "\n" ATMOSPHERE: (27598..27644) ";; (test -3.14159265358979 (atan -0.0 -1.0)) ;" - ATMOSPHERE: (27644..27645) " -" + ATMOSPHERE: (27644..27645) "\n" ATMOSPHERE: (27645..27689) ";; (test -2.35619449019234 (atan -1.0 -1.0))" - ATMOSPHERE: (27689..27690) " -" + ATMOSPHERE: (27689..27690) "\n" ATMOSPHERE: (27690..27732) ";; (test -1.5707963267949 (atan -1.0 0.0))" - ATMOSPHERE: (27732..27733) " -" + ATMOSPHERE: (27732..27733) "\n" ATMOSPHERE: (27733..27777) ";; (test -0.785398163397448 (atan -1.0 1.0))" - ATMOSPHERE: (27777..27778) " -" + ATMOSPHERE: (27777..27778) "\n" ATMOSPHERE: (27778..27815) ";; ;; (test undefined (atan 0.0 0.0))" - ATMOSPHERE: (27815..27817) " - -" + ATMOSPHERE: (27815..27817) "\n\n" ATMOSPHERE: (27817..27843) ";; (test 1764 (square 42))" - ATMOSPHERE: (27843..27844) " -" + ATMOSPHERE: (27843..27844) "\n" ATMOSPHERE: (27844..27866) ";; (test 4 (square 2))" - ATMOSPHERE: (27866..27868) " - -" + ATMOSPHERE: (27866..27868) "\n\n" ATMOSPHERE: (27868..27900) ";; (test 3.0 (inexact (sqrt 9)))" - ATMOSPHERE: (27900..27901) " -" + ATMOSPHERE: (27900..27901) "\n" ATMOSPHERE: (27901..27935) ";; (test 1.4142135623731 (sqrt 2))" - ATMOSPHERE: (27935..27936) " -" + ATMOSPHERE: (27935..27936) "\n" ATMOSPHERE: (27936..27974) ";; (test 0.0+1.0i (inexact (sqrt -1)))" - ATMOSPHERE: (27974..27976) " - -" + ATMOSPHERE: (27974..27976) "\n\n" ATMOSPHERE: (27976..28051) ";; (test '(2 0) (call-with-values (lambda () (exact-integer-sqrt 4)) list))" - ATMOSPHERE: (28051..28052) " -" + ATMOSPHERE: (28051..28052) "\n" ATMOSPHERE: (28052..28127) ";; (test '(2 1) (call-with-values (lambda () (exact-integer-sqrt 5)) list))" - ATMOSPHERE: (28127..28129) " - -" + ATMOSPHERE: (28127..28129) "\n\n" ATMOSPHERE: (28129..28152) ";; (test 27 (expt 3 3))" - ATMOSPHERE: (28152..28153) " -" + ATMOSPHERE: (28152..28153) "\n" ATMOSPHERE: (28153..28175) ";; (test 1 (expt 0 0))" - ATMOSPHERE: (28175..28176) " -" + ATMOSPHERE: (28175..28176) "\n" ATMOSPHERE: (28176..28198) ";; (test 0 (expt 0 1))" - ATMOSPHERE: (28198..28199) " -" + ATMOSPHERE: (28198..28199) "\n" ATMOSPHERE: (28199..28225) ";; (test 1.0 (expt 0.0 0))" - ATMOSPHERE: (28225..28226) " -" + ATMOSPHERE: (28225..28226) "\n" ATMOSPHERE: (28226..28252) ";; (test 0.0 (expt 0 1.0))" - ATMOSPHERE: (28252..28254) " - -" + ATMOSPHERE: (28252..28254) "\n\n" ATMOSPHERE: (28254..28291) ";; (test 1+2i (make-rectangular 1 2))" - ATMOSPHERE: (28291..28293) " - -" + ATMOSPHERE: (28291..28293) "\n\n" ATMOSPHERE: (28293..28355) ";; (test 0.54030230586814+0.841470984807897i (make-polar 1 1))" - ATMOSPHERE: (28355..28357) " - -" + ATMOSPHERE: (28355..28357) "\n\n" ATMOSPHERE: (28357..28385) ";; (test 1 (real-part 1+2i))" - ATMOSPHERE: (28385..28387) " - -" + ATMOSPHERE: (28385..28387) "\n\n" ATMOSPHERE: (28387..28415) ";; (test 2 (imag-part 1+2i))" - ATMOSPHERE: (28415..28417) " - -" + ATMOSPHERE: (28415..28417) "\n\n" ATMOSPHERE: (28417..28460) ";; (test 2.23606797749979 (magnitude 1+2i))" - ATMOSPHERE: (28460..28462) " - -" + ATMOSPHERE: (28460..28462) "\n\n" ATMOSPHERE: (28462..28501) ";; (test 1.10714871779409 (angle 1+2i))" - ATMOSPHERE: (28501..28503) " - -" + ATMOSPHERE: (28501..28503) "\n\n" ATMOSPHERE: (28503..28528) ";; (test 1.0 (inexact 1))" - ATMOSPHERE: (28528..28529) " -" + ATMOSPHERE: (28528..28529) "\n" ATMOSPHERE: (28529..28564) ";; (test #t (inexact? (inexact 1)))" - ATMOSPHERE: (28564..28565) " -" + ATMOSPHERE: (28564..28565) "\n" ATMOSPHERE: (28565..28588) ";; (test 1 (exact 1.0))" - ATMOSPHERE: (28588..28589) " -" + ATMOSPHERE: (28588..28589) "\n" ATMOSPHERE: (28589..28622) ";; (test #t (exact? (exact 1.0)))" - ATMOSPHERE: (28622..28624) " - -" + ATMOSPHERE: (28622..28624) "\n\n" FORM: (28624..28657) OPEN_PAREN: (28624..28625) "(" SYMBOL: (28625..28629) @@ -7703,11 +6605,10 @@ PROGRAM: (0..79716) IDENTIFIER: (28635..28649) "string->number" ATMOSPHERE: (28649..28650) " " CONSTANT: (28650..28655) - STRING: (28650..28655) ""100"" + STRING: (28650..28655) "\"100\"" CLOSE_PAREN: (28655..28656) ")" CLOSE_PAREN: (28656..28657) ")" - ATMOSPHERE: (28657..28658) " -" + ATMOSPHERE: (28657..28658) "\n" FORM: (28658..28694) OPEN_PAREN: (28658..28659) "(" SYMBOL: (28659..28663) @@ -7722,14 +6623,13 @@ PROGRAM: (0..79716) IDENTIFIER: (28669..28683) "string->number" ATMOSPHERE: (28683..28684) " " CONSTANT: (28684..28689) - STRING: (28684..28689) ""100"" + STRING: (28684..28689) "\"100\"" ATMOSPHERE: (28689..28690) " " CONSTANT: (28690..28692) NUMBER: (28690..28692) "16" CLOSE_PAREN: (28692..28693) ")" CLOSE_PAREN: (28693..28694) ")" - ATMOSPHERE: (28694..28695) " -" + ATMOSPHERE: (28694..28695) "\n" FORM: (28695..28730) OPEN_PAREN: (28695..28696) "(" SYMBOL: (28696..28700) @@ -7744,31 +6644,25 @@ PROGRAM: (0..79716) IDENTIFIER: (28708..28722) "string->number" ATMOSPHERE: (28722..28723) " " CONSTANT: (28723..28728) - STRING: (28723..28728) ""1e2"" + STRING: (28723..28728) "\"1e2\"" CLOSE_PAREN: (28728..28729) ")" CLOSE_PAREN: (28729..28730) ")" - ATMOSPHERE: (28730..28732) " - -" + ATMOSPHERE: (28730..28732) "\n\n" FORM: (28732..28742) OPEN_PAREN: (28732..28733) "(" SYMBOL: (28733..28741) IDENTIFIER: (28733..28741) "test-end" CLOSE_PAREN: (28741..28742) ")" - ATMOSPHERE: (28742..28744) " - -" + ATMOSPHERE: (28742..28744) "\n\n" FORM: (28744..28771) OPEN_PAREN: (28744..28745) "(" SYMBOL: (28745..28755) IDENTIFIER: (28745..28755) "test-begin" ATMOSPHERE: (28755..28756) " " CONSTANT: (28756..28770) - STRING: (28756..28770) ""6.3 Booleans"" + STRING: (28756..28770) "\"6.3 Booleans\"" CLOSE_PAREN: (28770..28771) ")" - ATMOSPHERE: (28771..28773) " - -" + ATMOSPHERE: (28771..28773) "\n\n" FORM: (28773..28785) OPEN_PAREN: (28773..28774) "(" SYMBOL: (28774..28778) @@ -7780,8 +6674,7 @@ PROGRAM: (0..79716) CONSTANT: (28782..28784) BOOLEAN: (28782..28784) "#t" CLOSE_PAREN: (28784..28785) ")" - ATMOSPHERE: (28785..28786) " -" + ATMOSPHERE: (28785..28786) "\n" FORM: (28786..28798) OPEN_PAREN: (28786..28787) "(" SYMBOL: (28787..28791) @@ -7793,8 +6686,7 @@ PROGRAM: (0..79716) CONSTANT: (28795..28797) BOOLEAN: (28795..28797) "#f" CLOSE_PAREN: (28797..28798) ")" - ATMOSPHERE: (28798..28799) " -" + ATMOSPHERE: (28798..28799) "\n" FORM: (28799..28812) OPEN_PAREN: (28799..28800) "(" SYMBOL: (28800..28804) @@ -7808,9 +6700,7 @@ PROGRAM: (0..79716) CONSTANT: (28809..28811) BOOLEAN: (28809..28811) "#f" CLOSE_PAREN: (28811..28812) ")" - ATMOSPHERE: (28812..28814) " - -" + ATMOSPHERE: (28812..28814) "\n\n" FORM: (28814..28832) OPEN_PAREN: (28814..28815) "(" SYMBOL: (28815..28819) @@ -7828,8 +6718,7 @@ PROGRAM: (0..79716) BOOLEAN: (28828..28830) "#t" CLOSE_PAREN: (28830..28831) ")" CLOSE_PAREN: (28831..28832) ")" - ATMOSPHERE: (28832..28833) " -" + ATMOSPHERE: (28832..28833) "\n" FORM: (28833..28850) OPEN_PAREN: (28833..28834) "(" SYMBOL: (28834..28838) @@ -7847,8 +6736,7 @@ PROGRAM: (0..79716) NUMBER: (28847..28848) "3" CLOSE_PAREN: (28848..28849) ")" CLOSE_PAREN: (28849..28850) ")" - ATMOSPHERE: (28850..28851) " -" + ATMOSPHERE: (28850..28851) "\n" FORM: (28851..28875) OPEN_PAREN: (28851..28852) "(" SYMBOL: (28852..28856) @@ -7872,8 +6760,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (28872..28873) ")" CLOSE_PAREN: (28873..28874) ")" CLOSE_PAREN: (28874..28875) ")" - ATMOSPHERE: (28875..28876) " -" + ATMOSPHERE: (28875..28876) "\n" FORM: (28876..28894) OPEN_PAREN: (28876..28877) "(" SYMBOL: (28877..28881) @@ -7891,8 +6778,7 @@ PROGRAM: (0..79716) BOOLEAN: (28890..28892) "#f" CLOSE_PAREN: (28892..28893) ")" CLOSE_PAREN: (28893..28894) ")" - ATMOSPHERE: (28894..28895) " -" + ATMOSPHERE: (28894..28895) "\n" FORM: (28895..28914) OPEN_PAREN: (28895..28896) "(" SYMBOL: (28896..28900) @@ -7913,8 +6799,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (28911..28912) ")" CLOSE_PAREN: (28912..28913) ")" CLOSE_PAREN: (28913..28914) ")" - ATMOSPHERE: (28914..28915) " -" + ATMOSPHERE: (28914..28915) "\n" FORM: (28915..28937) OPEN_PAREN: (28915..28916) "(" SYMBOL: (28916..28920) @@ -7935,8 +6820,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (28934..28935) ")" CLOSE_PAREN: (28935..28936) ")" CLOSE_PAREN: (28936..28937) ")" - ATMOSPHERE: (28937..28938) " -" + ATMOSPHERE: (28937..28938) "\n" FORM: (28938..28958) OPEN_PAREN: (28938..28939) "(" SYMBOL: (28939..28943) @@ -7956,9 +6840,7 @@ PROGRAM: (0..79716) IDENTIFIER: (28953..28956) "nil" CLOSE_PAREN: (28956..28957) ")" CLOSE_PAREN: (28957..28958) ")" - ATMOSPHERE: (28958..28960) " - -" + ATMOSPHERE: (28958..28960) "\n\n" FORM: (28960..28983) OPEN_PAREN: (28960..28961) "(" SYMBOL: (28961..28965) @@ -7976,8 +6858,7 @@ PROGRAM: (0..79716) BOOLEAN: (28979..28981) "#f" CLOSE_PAREN: (28981..28982) ")" CLOSE_PAREN: (28982..28983) ")" - ATMOSPHERE: (28983..28984) " -" + ATMOSPHERE: (28983..28984) "\n" FORM: (28984..29006) OPEN_PAREN: (28984..28985) "(" SYMBOL: (28985..28989) @@ -7995,8 +6876,7 @@ PROGRAM: (0..79716) NUMBER: (29003..29004) "0" CLOSE_PAREN: (29004..29005) ")" CLOSE_PAREN: (29005..29006) ")" - ATMOSPHERE: (29006..29007) " -" + ATMOSPHERE: (29006..29007) "\n" FORM: (29007..29031) OPEN_PAREN: (29007..29008) "(" SYMBOL: (29008..29012) @@ -8017,9 +6897,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29028..29029) ")" CLOSE_PAREN: (29029..29030) ")" CLOSE_PAREN: (29030..29031) ")" - ATMOSPHERE: (29031..29033) " - -" + ATMOSPHERE: (29031..29033) "\n\n" FORM: (29033..29060) OPEN_PAREN: (29033..29034) "(" SYMBOL: (29034..29038) @@ -8040,8 +6918,7 @@ PROGRAM: (0..79716) BOOLEAN: (29056..29058) "#t" CLOSE_PAREN: (29058..29059) ")" CLOSE_PAREN: (29059..29060) ")" - ATMOSPHERE: (29060..29061) " -" + ATMOSPHERE: (29060..29061) "\n" FORM: (29061..29088) OPEN_PAREN: (29061..29062) "(" SYMBOL: (29062..29066) @@ -8062,8 +6939,7 @@ PROGRAM: (0..79716) BOOLEAN: (29084..29086) "#f" CLOSE_PAREN: (29086..29087) ")" CLOSE_PAREN: (29087..29088) ")" - ATMOSPHERE: (29088..29089) " -" + ATMOSPHERE: (29088..29089) "\n" FORM: (29089..29116) OPEN_PAREN: (29089..29090) "(" SYMBOL: (29090..29094) @@ -8084,8 +6960,7 @@ PROGRAM: (0..79716) BOOLEAN: (29112..29114) "#f" CLOSE_PAREN: (29114..29115) ")" CLOSE_PAREN: (29115..29116) ")" - ATMOSPHERE: (29116..29117) " -" + ATMOSPHERE: (29116..29117) "\n" FORM: (29117..29147) OPEN_PAREN: (29117..29118) "(" SYMBOL: (29118..29122) @@ -8109,8 +6984,7 @@ PROGRAM: (0..79716) BOOLEAN: (29143..29145) "#f" CLOSE_PAREN: (29145..29146) ")" CLOSE_PAREN: (29146..29147) ")" - ATMOSPHERE: (29147..29148) " -" + ATMOSPHERE: (29147..29148) "\n" FORM: (29148..29178) OPEN_PAREN: (29148..29149) "(" SYMBOL: (29149..29153) @@ -8134,59 +7008,42 @@ PROGRAM: (0..79716) BOOLEAN: (29174..29176) "#f" CLOSE_PAREN: (29176..29177) ")" CLOSE_PAREN: (29177..29178) ")" - ATMOSPHERE: (29178..29180) " - -" + ATMOSPHERE: (29178..29180) "\n\n" FORM: (29180..29190) OPEN_PAREN: (29180..29181) "(" SYMBOL: (29181..29189) IDENTIFIER: (29181..29189) "test-end" CLOSE_PAREN: (29189..29190) ")" - ATMOSPHERE: (29190..29192) " - -" + ATMOSPHERE: (29190..29192) "\n\n" FORM: (29192..29216) OPEN_PAREN: (29192..29193) "(" SYMBOL: (29193..29203) IDENTIFIER: (29193..29203) "test-begin" ATMOSPHERE: (29203..29204) " " CONSTANT: (29204..29215) - STRING: (29204..29215) ""6.4 Lists"" + STRING: (29204..29215) "\"6.4 Lists\"" CLOSE_PAREN: (29215..29216) ")" - ATMOSPHERE: (29216..29218) " - -" + ATMOSPHERE: (29216..29218) "\n\n" ATMOSPHERE: (29218..29247) ";; (let* ((x (list 'a 'b 'c))" - ATMOSPHERE: (29247..29248) " -" + ATMOSPHERE: (29247..29248) "\n" ATMOSPHERE: (29248..29264) ";; (y x))" - ATMOSPHERE: (29264..29265) " -" + ATMOSPHERE: (29264..29265) "\n" ATMOSPHERE: (29265..29296) ";; (test '(a b c) (values y))" - ATMOSPHERE: (29296..29297) " -" + ATMOSPHERE: (29296..29297) "\n" ATMOSPHERE: (29297..29321) ";; (test #t (list? y))" - ATMOSPHERE: (29321..29322) " -" + ATMOSPHERE: (29321..29322) "\n" ATMOSPHERE: (29322..29341) ";; (set-cdr! x 4)" - ATMOSPHERE: (29341..29342) " -" + ATMOSPHERE: (29341..29342) "\n" ATMOSPHERE: (29342..29373) ";; (test '(a . 4) (values x))" - ATMOSPHERE: (29373..29374) " -" + ATMOSPHERE: (29373..29374) "\n" ATMOSPHERE: (29374..29399) ";; (test #t (eqv? x y))" - ATMOSPHERE: (29399..29400) " -" + ATMOSPHERE: (29399..29400) "\n" ATMOSPHERE: (29400..29424) ";; (test #f (list? y))" - ATMOSPHERE: (29424..29425) " -" + ATMOSPHERE: (29424..29425) "\n" ATMOSPHERE: (29425..29444) ";; (set-cdr! x x)" - ATMOSPHERE: (29444..29445) " -" + ATMOSPHERE: (29444..29445) "\n" ATMOSPHERE: (29445..29470) ";; (test #f (list? x)))" - ATMOSPHERE: (29470..29472) " - -" + ATMOSPHERE: (29470..29472) "\n\n" FORM: (29472..29498) OPEN_PAREN: (29472..29473) "(" SYMBOL: (29473..29477) @@ -8215,8 +7072,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29495..29496) ")" CLOSE_PAREN: (29496..29497) ")" CLOSE_PAREN: (29497..29498) ")" - ATMOSPHERE: (29498..29499) " -" + ATMOSPHERE: (29498..29499) "\n" FORM: (29499..29525) OPEN_PAREN: (29499..29500) "(" SYMBOL: (29500..29504) @@ -8245,8 +7101,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29522..29523) ")" CLOSE_PAREN: (29523..29524) ")" CLOSE_PAREN: (29524..29525) ")" - ATMOSPHERE: (29525..29526) " -" + ATMOSPHERE: (29525..29526) "\n" FORM: (29526..29547) OPEN_PAREN: (29526..29527) "(" SYMBOL: (29527..29531) @@ -8267,8 +7122,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29544..29545) ")" CLOSE_PAREN: (29545..29546) ")" CLOSE_PAREN: (29546..29547) ")" - ATMOSPHERE: (29547..29548) " -" + ATMOSPHERE: (29547..29548) "\n" FORM: (29548..29573) OPEN_PAREN: (29548..29549) "(" SYMBOL: (29549..29553) @@ -8294,9 +7148,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29570..29571) ")" CLOSE_PAREN: (29571..29572) ")" CLOSE_PAREN: (29572..29573) ")" - ATMOSPHERE: (29573..29575) " - -" + ATMOSPHERE: (29573..29575) "\n\n" FORM: (29575..29600) OPEN_PAREN: (29575..29576) "(" SYMBOL: (29576..29580) @@ -8327,8 +7179,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29597..29598) ")" CLOSE_PAREN: (29598..29599) ")" CLOSE_PAREN: (29599..29600) ")" - ATMOSPHERE: (29600..29601) " -" + ATMOSPHERE: (29600..29601) "\n" FORM: (29601..29641) OPEN_PAREN: (29601..29602) "(" SYMBOL: (29602..29606) @@ -8382,8 +7233,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29638..29639) ")" CLOSE_PAREN: (29639..29640) ")" CLOSE_PAREN: (29640..29641) ")" - ATMOSPHERE: (29641..29642) " -" + ATMOSPHERE: (29641..29642) "\n" FORM: (29642..29677) OPEN_PAREN: (29642..29643) "(" SYMBOL: (29643..29647) @@ -8394,7 +7244,7 @@ PROGRAM: (0..79716) FORM: (29649..29658) OPEN_PAREN: (29649..29650) "(" CONSTANT: (29650..29653) - STRING: (29650..29653) ""a"" + STRING: (29650..29653) "\"a\"" ATMOSPHERE: (29653..29654) " " SYMBOL: (29654..29655) IDENTIFIER: (29654..29655) "b" @@ -8409,7 +7259,7 @@ PROGRAM: (0..79716) IDENTIFIER: (29660..29664) "cons" ATMOSPHERE: (29664..29665) " " CONSTANT: (29665..29668) - STRING: (29665..29668) ""a"" + STRING: (29665..29668) "\"a\"" ATMOSPHERE: (29668..29669) " " QUOTED_DATUM: (29669..29675) QUOTE: (29669..29670) "'" @@ -8423,18 +7273,13 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29674..29675) ")" CLOSE_PAREN: (29675..29676) ")" CLOSE_PAREN: (29676..29677) ")" - ATMOSPHERE: (29677..29678) " -" + ATMOSPHERE: (29677..29678) "\n" ATMOSPHERE: (29678..29712) ";;; FIXME: Quoting of dotted forms" - ATMOSPHERE: (29712..29713) " -" + ATMOSPHERE: (29712..29713) "\n" ATMOSPHERE: (29713..29743) ";; (test '(a . 3) (cons 'a 3))" - ATMOSPHERE: (29743..29744) " -" + ATMOSPHERE: (29743..29744) "\n" ATMOSPHERE: (29744..29783) ";; (test '((a b) . c) (cons '(a b) 'c))" - ATMOSPHERE: (29783..29785) " - -" + ATMOSPHERE: (29783..29785) "\n\n" FORM: (29785..29809) OPEN_PAREN: (29785..29786) "(" SYMBOL: (29786..29790) @@ -8465,8 +7310,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29806..29807) ")" CLOSE_PAREN: (29807..29808) ")" CLOSE_PAREN: (29808..29809) ")" - ATMOSPHERE: (29809..29810) " -" + ATMOSPHERE: (29809..29810) "\n" FORM: (29810..29840) OPEN_PAREN: (29810..29811) "(" SYMBOL: (29811..29815) @@ -8506,8 +7350,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29837..29838) ")" CLOSE_PAREN: (29838..29839) ")" CLOSE_PAREN: (29839..29840) ")" - ATMOSPHERE: (29840..29841) " -" + ATMOSPHERE: (29840..29841) "\n" FORM: (29841..29864) OPEN_PAREN: (29841..29842) "(" SYMBOL: (29842..29846) @@ -8536,9 +7379,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29861..29862) ")" CLOSE_PAREN: (29862..29863) ")" CLOSE_PAREN: (29863..29864) ")" - ATMOSPHERE: (29864..29866) " - -" + ATMOSPHERE: (29864..29866) "\n\n" FORM: (29866..29900) OPEN_PAREN: (29866..29867) "(" SYMBOL: (29867..29871) @@ -8584,11 +7425,9 @@ PROGRAM: (0..79716) CLOSE_PAREN: (29897..29898) ")" CLOSE_PAREN: (29898..29899) ")" CLOSE_PAREN: (29899..29900) ")" - ATMOSPHERE: (29900..29901) " -" + ATMOSPHERE: (29900..29901) "\n" ATMOSPHERE: (29901..29961) ";; (test 2 (cdr '(1 . 2))) ; FIXME: Quoting of dotted forms" - ATMOSPHERE: (29961..29962) " -" + ATMOSPHERE: (29961..29962) "\n" FORM: (29962..29991) OPEN_PAREN: (29962..29963) "(" SYMBOL: (29963..29969) @@ -8608,9 +7447,7 @@ PROGRAM: (0..79716) IDENTIFIER: (29976..29989) "constant-list" CLOSE_PAREN: (29989..29990) ")" CLOSE_PAREN: (29990..29991) ")" - ATMOSPHERE: (29991..29993) " - -" + ATMOSPHERE: (29991..29993) "\n\n" FORM: (29993..30019) OPEN_PAREN: (29993..29994) "(" SYMBOL: (29994..29998) @@ -8639,8 +7476,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30016..30017) ")" CLOSE_PAREN: (30017..30018) ")" CLOSE_PAREN: (30018..30019) ")" - ATMOSPHERE: (30019..30020) " -" + ATMOSPHERE: (30019..30020) "\n" FORM: (30020..30041) OPEN_PAREN: (30020..30021) "(" SYMBOL: (30021..30025) @@ -8661,15 +7497,11 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30038..30039) ")" CLOSE_PAREN: (30039..30040) ")" CLOSE_PAREN: (30040..30041) ")" - ATMOSPHERE: (30041..30042) " -" + ATMOSPHERE: (30041..30042) "\n" ATMOSPHERE: (30042..30105) ";; (test #f (list? '(a . b))) ; FIXME: Quoting of dotted forms" - ATMOSPHERE: (30105..30106) " -" + ATMOSPHERE: (30105..30106) "\n" ATMOSPHERE: (30106..30192) "; FIXME: recurse in `list?` ; (test #f (let ((x (list 'a))) (set-cdr! x x) (list? x)))" - ATMOSPHERE: (30192..30194) " - -" + ATMOSPHERE: (30192..30194) "\n\n" FORM: (30194..30223) OPEN_PAREN: (30194..30195) "(" SYMBOL: (30195..30199) @@ -8698,9 +7530,7 @@ PROGRAM: (0..79716) NUMBER: (30220..30221) "3" CLOSE_PAREN: (30221..30222) ")" CLOSE_PAREN: (30222..30223) ")" - ATMOSPHERE: (30223..30225) " - -" + ATMOSPHERE: (30223..30225) "\n\n" FORM: (30225..30261) OPEN_PAREN: (30225..30226) "(" SYMBOL: (30226..30230) @@ -8748,8 +7578,7 @@ PROGRAM: (0..79716) IDENTIFIER: (30258..30259) "c" CLOSE_PAREN: (30259..30260) ")" CLOSE_PAREN: (30260..30261) ")" - ATMOSPHERE: (30261..30262) " -" + ATMOSPHERE: (30261..30262) "\n" FORM: (30262..30279) OPEN_PAREN: (30262..30263) "(" SYMBOL: (30263..30267) @@ -8767,9 +7596,7 @@ PROGRAM: (0..79716) IDENTIFIER: (30273..30277) "list" CLOSE_PAREN: (30277..30278) ")" CLOSE_PAREN: (30278..30279) ")" - ATMOSPHERE: (30279..30281) " - -" + ATMOSPHERE: (30279..30281) "\n\n" FORM: (30281..30307) OPEN_PAREN: (30281..30282) "(" SYMBOL: (30282..30286) @@ -8798,8 +7625,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30304..30305) ")" CLOSE_PAREN: (30305..30306) ")" CLOSE_PAREN: (30306..30307) ")" - ATMOSPHERE: (30307..30308) " -" + ATMOSPHERE: (30307..30308) "\n" FORM: (30308..30342) OPEN_PAREN: (30308..30309) "(" SYMBOL: (30309..30313) @@ -8840,8 +7666,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30339..30340) ")" CLOSE_PAREN: (30340..30341) ")" CLOSE_PAREN: (30341..30342) ")" - ATMOSPHERE: (30342..30343) " -" + ATMOSPHERE: (30342..30343) "\n" FORM: (30343..30364) OPEN_PAREN: (30343..30344) "(" SYMBOL: (30344..30348) @@ -8862,9 +7687,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30361..30362) ")" CLOSE_PAREN: (30362..30363) ")" CLOSE_PAREN: (30363..30364) ")" - ATMOSPHERE: (30364..30366) " - -" + ATMOSPHERE: (30364..30366) "\n\n" FORM: (30366..30398) OPEN_PAREN: (30366..30367) "(" SYMBOL: (30367..30371) @@ -8903,8 +7726,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30395..30396) ")" CLOSE_PAREN: (30396..30397) ")" CLOSE_PAREN: (30397..30398) ")" - ATMOSPHERE: (30398..30399) " -" + ATMOSPHERE: (30398..30399) "\n" FORM: (30399..30439) OPEN_PAREN: (30399..30400) "(" SYMBOL: (30400..30404) @@ -8955,8 +7777,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30436..30437) ")" CLOSE_PAREN: (30437..30438) ")" CLOSE_PAREN: (30438..30439) ")" - ATMOSPHERE: (30439..30440) " -" + ATMOSPHERE: (30439..30440) "\n" FORM: (30440..30484) OPEN_PAREN: (30440..30441) "(" SYMBOL: (30441..30445) @@ -9013,9 +7834,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30481..30482) ")" CLOSE_PAREN: (30482..30483) ")" CLOSE_PAREN: (30483..30484) ")" - ATMOSPHERE: (30484..30486) " - -" + ATMOSPHERE: (30484..30486) "\n\n" FORM: (30486..30530) OPEN_PAREN: (30486..30487) "(" SYMBOL: (30487..30491) @@ -9072,8 +7891,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30527..30528) ")" CLOSE_PAREN: (30528..30529) ")" CLOSE_PAREN: (30529..30530) ")" - ATMOSPHERE: (30530..30531) " -" + ATMOSPHERE: (30530..30531) "\n" FORM: (30531..30556) OPEN_PAREN: (30531..30532) "(" SYMBOL: (30532..30536) @@ -9101,9 +7919,7 @@ PROGRAM: (0..79716) IDENTIFIER: (30553..30554) "a" CLOSE_PAREN: (30554..30555) ")" CLOSE_PAREN: (30555..30556) ")" - ATMOSPHERE: (30556..30558) " - -" + ATMOSPHERE: (30556..30558) "\n\n" FORM: (30558..30592) OPEN_PAREN: (30558..30559) "(" SYMBOL: (30559..30563) @@ -9143,8 +7959,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30589..30590) ")" CLOSE_PAREN: (30590..30591) ")" CLOSE_PAREN: (30591..30592) ")" - ATMOSPHERE: (30592..30593) " -" + ATMOSPHERE: (30592..30593) "\n" FORM: (30593..30651) OPEN_PAREN: (30593..30594) "(" SYMBOL: (30594..30598) @@ -9220,9 +8035,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30648..30649) ")" CLOSE_PAREN: (30649..30650) ")" CLOSE_PAREN: (30650..30651) ")" - ATMOSPHERE: (30651..30653) " - -" + ATMOSPHERE: (30651..30653) "\n\n" FORM: (30653..30693) OPEN_PAREN: (30653..30654) "(" SYMBOL: (30654..30658) @@ -9268,9 +8081,7 @@ PROGRAM: (0..79716) NUMBER: (30690..30691) "3" CLOSE_PAREN: (30691..30692) ")" CLOSE_PAREN: (30692..30693) ")" - ATMOSPHERE: (30693..30695) " - -" + ATMOSPHERE: (30693..30695) "\n\n" FORM: (30695..30728) OPEN_PAREN: (30695..30696) "(" SYMBOL: (30696..30700) @@ -9307,15 +8118,11 @@ PROGRAM: (0..79716) NUMBER: (30725..30726) "2" CLOSE_PAREN: (30726..30727) ")" CLOSE_PAREN: (30727..30728) ")" - ATMOSPHERE: (30728..30729) " -" + ATMOSPHERE: (30728..30729) "\n" ATMOSPHERE: (30729..30761) ";; (test 'c (list-ref '(a b c d)" - ATMOSPHERE: (30761..30762) " -" + ATMOSPHERE: (30761..30762) "\n" ATMOSPHERE: (30762..30831) ";; (exact (round 1.8)))) FIXME: support `round` and `exact`" - ATMOSPHERE: (30831..30833) " - -" + ATMOSPHERE: (30831..30833) "\n\n" FORM: (30833..30959) OPEN_PAREN: (30833..30834) "(" SYMBOL: (30834..30838) @@ -9331,17 +8138,16 @@ PROGRAM: (0..79716) FORM: (30843..30856) OPEN_PAREN: (30843..30844) "(" CONSTANT: (30844..30849) - STRING: (30844..30849) ""Sue"" + STRING: (30844..30849) "\"Sue\"" ATMOSPHERE: (30849..30850) " " CONSTANT: (30850..30855) - STRING: (30850..30855) ""Sue"" + STRING: (30850..30855) "\"Sue\"" CLOSE_PAREN: (30855..30856) ")" ATMOSPHERE: (30856..30857) " " CONSTANT: (30857..30863) - STRING: (30857..30863) ""Anna"" + STRING: (30857..30863) "\"Anna\"" CLOSE_PAREN: (30863..30864) ")" - ATMOSPHERE: (30864..30869) " - " + ATMOSPHERE: (30864..30869) "\n " FORM: (30869..30958) OPEN_PAREN: (30869..30870) "(" SYMBOL: (30870..30873) @@ -9380,12 +8186,11 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30897..30898) ")" ATMOSPHERE: (30898..30899) " " CONSTANT: (30899..30905) - STRING: (30899..30905) ""Anna"" + STRING: (30899..30905) "\"Anna\"" CLOSE_PAREN: (30905..30906) ")" CLOSE_PAREN: (30906..30907) ")" CLOSE_PAREN: (30907..30908) ")" - ATMOSPHERE: (30908..30915) " - " + ATMOSPHERE: (30908..30915) "\n " FORM: (30915..30947) OPEN_PAREN: (30915..30916) "(" SYMBOL: (30916..30925) @@ -9402,21 +8207,18 @@ PROGRAM: (0..79716) FORM: (30933..30946) OPEN_PAREN: (30933..30934) "(" CONSTANT: (30934..30939) - STRING: (30934..30939) ""Sue"" + STRING: (30934..30939) "\"Sue\"" ATMOSPHERE: (30939..30940) " " CONSTANT: (30940..30945) - STRING: (30940..30945) ""Sue"" + STRING: (30940..30945) "\"Sue\"" CLOSE_PAREN: (30945..30946) ")" CLOSE_PAREN: (30946..30947) ")" - ATMOSPHERE: (30947..30954) " - " + ATMOSPHERE: (30947..30954) "\n " SYMBOL: (30954..30957) IDENTIFIER: (30954..30957) "lst" CLOSE_PAREN: (30957..30958) ")" CLOSE_PAREN: (30958..30959) ")" - ATMOSPHERE: (30959..30961) " - -" + ATMOSPHERE: (30959..30961) "\n\n" FORM: (30961..30995) OPEN_PAREN: (30961..30962) "(" SYMBOL: (30962..30966) @@ -9461,8 +8263,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (30992..30993) ")" CLOSE_PAREN: (30993..30994) ")" CLOSE_PAREN: (30994..30995) ")" - ATMOSPHERE: (30995..30996) " -" + ATMOSPHERE: (30995..30996) "\n" FORM: (30996..31028) OPEN_PAREN: (30996..30997) "(" SYMBOL: (30997..31001) @@ -9504,8 +8305,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31025..31026) ")" CLOSE_PAREN: (31026..31027) ")" CLOSE_PAREN: (31027..31028) ")" - ATMOSPHERE: (31028..31029) " -" + ATMOSPHERE: (31028..31029) "\n" FORM: (31029..31057) OPEN_PAREN: (31029..31030) "(" SYMBOL: (31030..31034) @@ -9539,8 +8339,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31054..31055) ")" CLOSE_PAREN: (31055..31056) ")" CLOSE_PAREN: (31056..31057) ")" - ATMOSPHERE: (31057..31058) " -" + ATMOSPHERE: (31057..31058) "\n" FORM: (31058..31095) OPEN_PAREN: (31058..31059) "(" SYMBOL: (31059..31063) @@ -9583,8 +8382,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31092..31093) ")" CLOSE_PAREN: (31093..31094) ")" CLOSE_PAREN: (31094..31095) ")" - ATMOSPHERE: (31095..31096) " -" + ATMOSPHERE: (31095..31096) "\n" FORM: (31096..31141) OPEN_PAREN: (31096..31097) "(" SYMBOL: (31097..31101) @@ -9638,11 +8436,9 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31138..31139) ")" CLOSE_PAREN: (31139..31140) ")" CLOSE_PAREN: (31140..31141) ")" - ATMOSPHERE: (31141..31142) " -" - ATMOSPHERE: (31142..31201) "; (test '("b" "c") (member "B" '("a" "b" "c") string-ci=?))" - ATMOSPHERE: (31201..31202) " -" + ATMOSPHERE: (31141..31142) "\n" + ATMOSPHERE: (31142..31201) "; (test '(\"b\" \"c\") (member \"B\" '(\"a\" \"b\" \"c\") string-ci=?))" + ATMOSPHERE: (31201..31202) "\n" FORM: (31202..31257) OPEN_PAREN: (31202..31203) "(" SYMBOL: (31203..31207) @@ -9653,10 +8449,10 @@ PROGRAM: (0..79716) FORM: (31209..31218) OPEN_PAREN: (31209..31210) "(" CONSTANT: (31210..31213) - CHARACTER: (31210..31213) "#\b" + CHARACTER: (31210..31213) "#\\b" ATMOSPHERE: (31213..31214) " " CONSTANT: (31214..31217) - CHARACTER: (31214..31217) "#\c" + CHARACTER: (31214..31217) "#\\c" CLOSE_PAREN: (31217..31218) ")" ATMOSPHERE: (31218..31219) " " FORM: (31219..31256) @@ -9665,28 +8461,27 @@ PROGRAM: (0..79716) IDENTIFIER: (31220..31226) "member" ATMOSPHERE: (31226..31227) " " CONSTANT: (31227..31230) - CHARACTER: (31227..31230) "#\B" + CHARACTER: (31227..31230) "#\\B" ATMOSPHERE: (31230..31231) " " QUOTED_DATUM: (31231..31246) QUOTE: (31231..31232) "'" FORM: (31232..31245) OPEN_PAREN: (31232..31233) "(" CONSTANT: (31233..31236) - CHARACTER: (31233..31236) "#\a" + CHARACTER: (31233..31236) "#\\a" ATMOSPHERE: (31236..31237) " " CONSTANT: (31237..31240) - CHARACTER: (31237..31240) "#\b" + CHARACTER: (31237..31240) "#\\b" ATMOSPHERE: (31240..31241) " " CONSTANT: (31241..31244) - CHARACTER: (31241..31244) "#\c" + CHARACTER: (31241..31244) "#\\c" CLOSE_PAREN: (31244..31245) ")" ATMOSPHERE: (31245..31246) " " SYMBOL: (31246..31255) IDENTIFIER: (31246..31255) "char-ci=?" CLOSE_PAREN: (31255..31256) ")" CLOSE_PAREN: (31256..31257) ")" - ATMOSPHERE: (31257..31258) " -" + ATMOSPHERE: (31257..31258) "\n" FORM: (31258..31301) OPEN_PAREN: (31258..31259) "(" SYMBOL: (31259..31263) @@ -9726,9 +8521,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31298..31299) ")" CLOSE_PAREN: (31299..31300) ")" CLOSE_PAREN: (31300..31301) ")" - ATMOSPHERE: (31301..31303) " - -" + ATMOSPHERE: (31301..31303) "\n\n" FORM: (31303..31425) OPEN_PAREN: (31303..31304) "(" SYMBOL: (31304..31307) @@ -9737,8 +8530,7 @@ PROGRAM: (0..79716) FORM: (31308..31310) OPEN_PAREN: (31308..31309) "(" CLOSE_PAREN: (31309..31310) ")" - ATMOSPHERE: (31310..31313) " - " + ATMOSPHERE: (31310..31313) "\n " FORM: (31313..31344) OPEN_PAREN: (31313..31314) "(" SYMBOL: (31314..31320) @@ -9779,8 +8571,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31341..31342) ")" CLOSE_PAREN: (31342..31343) ")" CLOSE_PAREN: (31343..31344) ")" - ATMOSPHERE: (31344..31347) " - " + ATMOSPHERE: (31344..31347) "\n " FORM: (31347..31372) OPEN_PAREN: (31347..31348) "(" SYMBOL: (31348..31352) @@ -9811,8 +8602,7 @@ PROGRAM: (0..79716) IDENTIFIER: (31369..31370) "e" CLOSE_PAREN: (31370..31371) ")" CLOSE_PAREN: (31371..31372) ")" - ATMOSPHERE: (31372..31375) " - " + ATMOSPHERE: (31372..31375) "\n " FORM: (31375..31400) OPEN_PAREN: (31375..31376) "(" SYMBOL: (31376..31380) @@ -9843,8 +8633,7 @@ PROGRAM: (0..79716) IDENTIFIER: (31397..31398) "e" CLOSE_PAREN: (31398..31399) ")" CLOSE_PAREN: (31399..31400) ")" - ATMOSPHERE: (31400..31403) " - " + ATMOSPHERE: (31400..31403) "\n " FORM: (31403..31424) OPEN_PAREN: (31403..31404) "(" SYMBOL: (31404..31408) @@ -9868,9 +8657,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31422..31423) ")" CLOSE_PAREN: (31423..31424) ")" CLOSE_PAREN: (31424..31425) ")" - ATMOSPHERE: (31425..31427) " - -" + ATMOSPHERE: (31425..31427) "\n\n" FORM: (31427..31474) OPEN_PAREN: (31427..31428) "(" SYMBOL: (31428..31432) @@ -9928,8 +8715,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31471..31472) ")" CLOSE_PAREN: (31472..31473) ")" CLOSE_PAREN: (31473..31474) ")" - ATMOSPHERE: (31474..31475) " -" + ATMOSPHERE: (31474..31475) "\n" FORM: (31475..31527) OPEN_PAREN: (31475..31476) "(" SYMBOL: (31476..31480) @@ -9995,8 +8781,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31524..31525) ")" CLOSE_PAREN: (31525..31526) ")" CLOSE_PAREN: (31526..31527) ")" - ATMOSPHERE: (31527..31528) " -" + ATMOSPHERE: (31527..31528) "\n" FORM: (31528..31576) OPEN_PAREN: (31528..31529) "(" SYMBOL: (31529..31533) @@ -10057,8 +8842,7 @@ PROGRAM: (0..79716) IDENTIFIER: (31573..31574) "=" CLOSE_PAREN: (31574..31575) ")" CLOSE_PAREN: (31575..31576) ")" - ATMOSPHERE: (31576..31577) " -" + ATMOSPHERE: (31576..31577) "\n" FORM: (31577..31622) OPEN_PAREN: (31577..31578) "(" SYMBOL: (31578..31582) @@ -10116,9 +8900,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31619..31620) ")" CLOSE_PAREN: (31620..31621) ")" CLOSE_PAREN: (31621..31622) ")" - ATMOSPHERE: (31622..31624) " - -" + ATMOSPHERE: (31622..31624) "\n\n" FORM: (31624..31660) OPEN_PAREN: (31624..31625) "(" SYMBOL: (31625..31629) @@ -10158,15 +8940,14 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31657..31658) ")" CLOSE_PAREN: (31658..31659) ")" CLOSE_PAREN: (31659..31660) ")" - ATMOSPHERE: (31660..31661) " -" + ATMOSPHERE: (31660..31661) "\n" FORM: (31661..31691) OPEN_PAREN: (31661..31662) "(" SYMBOL: (31662..31666) IDENTIFIER: (31662..31666) "test" ATMOSPHERE: (31666..31667) " " CONSTANT: (31667..31672) - STRING: (31667..31672) ""foo"" + STRING: (31667..31672) "\"foo\"" ATMOSPHERE: (31672..31673) " " FORM: (31673..31690) OPEN_PAREN: (31673..31674) "(" @@ -10174,11 +8955,10 @@ PROGRAM: (0..79716) IDENTIFIER: (31674..31683) "list-copy" ATMOSPHERE: (31683..31684) " " CONSTANT: (31684..31689) - STRING: (31684..31689) ""foo"" + STRING: (31684..31689) "\"foo\"" CLOSE_PAREN: (31689..31690) ")" CLOSE_PAREN: (31690..31691) ")" - ATMOSPHERE: (31691..31692) " -" + ATMOSPHERE: (31691..31692) "\n" FORM: (31692..31718) OPEN_PAREN: (31692..31693) "(" SYMBOL: (31693..31697) @@ -10202,8 +8982,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31715..31716) ")" CLOSE_PAREN: (31716..31717) ")" CLOSE_PAREN: (31717..31718) ")" - ATMOSPHERE: (31718..31719) " -" + ATMOSPHERE: (31718..31719) "\n" FORM: (31719..31755) OPEN_PAREN: (31719..31720) "(" SYMBOL: (31720..31724) @@ -10243,8 +9022,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31752..31753) ")" CLOSE_PAREN: (31753..31754) ")" CLOSE_PAREN: (31754..31755) ")" - ATMOSPHERE: (31755..31756) " -" + ATMOSPHERE: (31755..31756) "\n" FORM: (31756..31800) OPEN_PAREN: (31756..31757) "(" SYMBOL: (31757..31761) @@ -10296,8 +9074,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31797..31798) ")" CLOSE_PAREN: (31798..31799) ")" CLOSE_PAREN: (31799..31800) ")" - ATMOSPHERE: (31800..31801) " -" + ATMOSPHERE: (31800..31801) "\n" FORM: (31801..32035) OPEN_PAREN: (31801..31802) "(" SYMBOL: (31802..31806) @@ -10336,8 +9113,7 @@ PROGRAM: (0..79716) IDENTIFIER: (31826..31827) "e" CLOSE_PAREN: (31827..31828) ")" CLOSE_PAREN: (31828..31829) ")" - ATMOSPHERE: (31829..31837) " - " + ATMOSPHERE: (31829..31837) "\n " FORM: (31837..31856) OPEN_PAREN: (31837..31838) "(" SYMBOL: (31838..31840) @@ -10353,8 +9129,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31854..31855) ")" CLOSE_PAREN: (31855..31856) ")" CLOSE_PAREN: (31856..31857) ")" - ATMOSPHERE: (31857..31860) " - " + ATMOSPHERE: (31857..31860) "\n " FORM: (31860..31886) OPEN_PAREN: (31860..31861) "(" SYMBOL: (31861..31865) @@ -10389,8 +9164,7 @@ PROGRAM: (0..79716) IDENTIFIER: (31883..31884) "e" CLOSE_PAREN: (31884..31885) ")" CLOSE_PAREN: (31885..31886) ")" - ATMOSPHERE: (31886..31889) " - " + ATMOSPHERE: (31886..31889) "\n " FORM: (31889..31922) OPEN_PAREN: (31889..31890) "(" SYMBOL: (31890..31894) @@ -10423,8 +9197,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31919..31920) ")" CLOSE_PAREN: (31920..31921) ")" CLOSE_PAREN: (31921..31922) ")" - ATMOSPHERE: (31922..31925) " - " + ATMOSPHERE: (31922..31925) "\n " FORM: (31925..31960) OPEN_PAREN: (31925..31926) "(" SYMBOL: (31926..31930) @@ -10457,8 +9230,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31957..31958) ")" CLOSE_PAREN: (31958..31959) ")" CLOSE_PAREN: (31959..31960) ")" - ATMOSPHERE: (31960..31963) " - " + ATMOSPHERE: (31960..31963) "\n " FORM: (31963..31996) OPEN_PAREN: (31963..31964) "(" SYMBOL: (31964..31968) @@ -10491,8 +9263,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (31993..31994) ")" CLOSE_PAREN: (31994..31995) ")" CLOSE_PAREN: (31995..31996) ")" - ATMOSPHERE: (31996..31999) " - " + ATMOSPHERE: (31996..31999) "\n " FORM: (31999..32034) OPEN_PAREN: (31999..32000) "(" SYMBOL: (32000..32004) @@ -10526,28 +9297,22 @@ PROGRAM: (0..79716) CLOSE_PAREN: (32032..32033) ")" CLOSE_PAREN: (32033..32034) ")" CLOSE_PAREN: (32034..32035) ")" - ATMOSPHERE: (32035..32037) " - -" + ATMOSPHERE: (32035..32037) "\n\n" FORM: (32037..32047) OPEN_PAREN: (32037..32038) "(" SYMBOL: (32038..32046) IDENTIFIER: (32038..32046) "test-end" CLOSE_PAREN: (32046..32047) ")" - ATMOSPHERE: (32047..32049) " - -" + ATMOSPHERE: (32047..32049) "\n\n" FORM: (32049..32075) OPEN_PAREN: (32049..32050) "(" SYMBOL: (32050..32060) IDENTIFIER: (32050..32060) "test-begin" ATMOSPHERE: (32060..32061) " " CONSTANT: (32061..32074) - STRING: (32061..32074) ""6.5 Symbols"" + STRING: (32061..32074) "\"6.5 Symbols\"" CLOSE_PAREN: (32074..32075) ")" - ATMOSPHERE: (32075..32077) " - -" + ATMOSPHERE: (32075..32077) "\n\n" FORM: (32077..32101) OPEN_PAREN: (32077..32078) "(" SYMBOL: (32078..32082) @@ -10567,8 +9332,7 @@ PROGRAM: (0..79716) IDENTIFIER: (32096..32099) "foo" CLOSE_PAREN: (32099..32100) ")" CLOSE_PAREN: (32100..32101) ")" - ATMOSPHERE: (32101..32102) " -" + ATMOSPHERE: (32101..32102) "\n" FORM: (32102..32134) OPEN_PAREN: (32102..32103) "(" SYMBOL: (32103..32107) @@ -10600,8 +9364,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (32131..32132) ")" CLOSE_PAREN: (32132..32133) ")" CLOSE_PAREN: (32133..32134) ")" - ATMOSPHERE: (32134..32135) " -" + ATMOSPHERE: (32134..32135) "\n" FORM: (32135..32160) OPEN_PAREN: (32135..32136) "(" SYMBOL: (32136..32140) @@ -10616,11 +9379,10 @@ PROGRAM: (0..79716) IDENTIFIER: (32145..32152) "symbol?" ATMOSPHERE: (32152..32153) " " CONSTANT: (32153..32158) - STRING: (32153..32158) ""bar"" + STRING: (32153..32158) "\"bar\"" CLOSE_PAREN: (32158..32159) ")" CLOSE_PAREN: (32159..32160) ")" - ATMOSPHERE: (32160..32161) " -" + ATMOSPHERE: (32160..32161) "\n" FORM: (32161..32185) OPEN_PAREN: (32161..32162) "(" SYMBOL: (32162..32166) @@ -10640,8 +9402,7 @@ PROGRAM: (0..79716) IDENTIFIER: (32180..32183) "nil" CLOSE_PAREN: (32183..32184) ")" CLOSE_PAREN: (32184..32185) ")" - ATMOSPHERE: (32185..32186) " -" + ATMOSPHERE: (32185..32186) "\n" FORM: (32186..32209) OPEN_PAREN: (32186..32187) "(" SYMBOL: (32187..32191) @@ -10662,8 +9423,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (32206..32207) ")" CLOSE_PAREN: (32207..32208) ")" CLOSE_PAREN: (32208..32209) ")" - ATMOSPHERE: (32209..32210) " -" + ATMOSPHERE: (32209..32210) "\n" FORM: (32210..32232) OPEN_PAREN: (32210..32211) "(" SYMBOL: (32211..32215) @@ -10681,9 +9441,7 @@ PROGRAM: (0..79716) BOOLEAN: (32228..32230) "#f" CLOSE_PAREN: (32230..32231) ")" CLOSE_PAREN: (32231..32232) ")" - ATMOSPHERE: (32232..32234) " - -" + ATMOSPHERE: (32232..32234) "\n\n" FORM: (32234..32260) OPEN_PAREN: (32234..32235) "(" SYMBOL: (32235..32239) @@ -10708,8 +9466,7 @@ PROGRAM: (0..79716) IDENTIFIER: (32257..32258) "a" CLOSE_PAREN: (32258..32259) ")" CLOSE_PAREN: (32259..32260) ")" - ATMOSPHERE: (32260..32261) " -" + ATMOSPHERE: (32260..32261) "\n" FORM: (32261..32287) OPEN_PAREN: (32261..32262) "(" SYMBOL: (32262..32266) @@ -10734,8 +9491,7 @@ PROGRAM: (0..79716) IDENTIFIER: (32284..32285) "A" CLOSE_PAREN: (32285..32286) ")" CLOSE_PAREN: (32286..32287) ")" - ATMOSPHERE: (32287..32288) " -" + ATMOSPHERE: (32287..32288) "\n" FORM: (32288..32317) OPEN_PAREN: (32288..32289) "(" SYMBOL: (32289..32293) @@ -10765,8 +9521,7 @@ PROGRAM: (0..79716) IDENTIFIER: (32314..32315) "a" CLOSE_PAREN: (32315..32316) ")" CLOSE_PAREN: (32316..32317) ")" - ATMOSPHERE: (32317..32318) " -" + ATMOSPHERE: (32317..32318) "\n" FORM: (32318..32347) OPEN_PAREN: (32318..32319) "(" SYMBOL: (32319..32323) @@ -10796,18 +9551,15 @@ PROGRAM: (0..79716) IDENTIFIER: (32344..32345) "A" CLOSE_PAREN: (32345..32346) ")" CLOSE_PAREN: (32346..32347) ")" - ATMOSPHERE: (32347..32349) " - -" + ATMOSPHERE: (32347..32349) "\n\n" FORM: (32349..32404) OPEN_PAREN: (32349..32350) "(" SYMBOL: (32350..32354) IDENTIFIER: (32350..32354) "test" ATMOSPHERE: (32354..32355) " " CONSTANT: (32355..32368) - STRING: (32355..32368) ""flying-fish"" - ATMOSPHERE: (32368..32374) " -" + STRING: (32355..32368) "\"flying-fish\"" + ATMOSPHERE: (32368..32374) " \n" FORM: (32374..32403) OPEN_PAREN: (32374..32375) "(" SYMBOL: (32375..32389) @@ -10819,15 +9571,14 @@ PROGRAM: (0..79716) IDENTIFIER: (32391..32402) "flying-fish" CLOSE_PAREN: (32402..32403) ")" CLOSE_PAREN: (32403..32404) ")" - ATMOSPHERE: (32404..32405) " -" + ATMOSPHERE: (32404..32405) "\n" FORM: (32405..32445) OPEN_PAREN: (32405..32406) "(" SYMBOL: (32406..32410) IDENTIFIER: (32406..32410) "test" ATMOSPHERE: (32410..32411) " " CONSTANT: (32411..32419) - STRING: (32411..32419) ""Martin"" + STRING: (32411..32419) "\"Martin\"" ATMOSPHERE: (32419..32420) " " FORM: (32420..32444) OPEN_PAREN: (32420..32421) "(" @@ -10840,15 +9591,14 @@ PROGRAM: (0..79716) IDENTIFIER: (32437..32443) "Martin" CLOSE_PAREN: (32443..32444) ")" CLOSE_PAREN: (32444..32445) ")" - ATMOSPHERE: (32445..32446) " -" + ATMOSPHERE: (32445..32446) "\n" FORM: (32446..32506) OPEN_PAREN: (32446..32447) "(" SYMBOL: (32447..32451) IDENTIFIER: (32447..32451) "test" ATMOSPHERE: (32451..32452) " " CONSTANT: (32452..32461) - STRING: (32452..32461) ""Malvina"" + STRING: (32452..32461) "\"Malvina\"" ATMOSPHERE: (32461..32462) " " FORM: (32462..32505) OPEN_PAREN: (32462..32463) "(" @@ -10861,13 +9611,11 @@ PROGRAM: (0..79716) IDENTIFIER: (32479..32493) "string->symbol" ATMOSPHERE: (32493..32494) " " CONSTANT: (32494..32503) - STRING: (32494..32503) ""Malvina"" + STRING: (32494..32503) "\"Malvina\"" CLOSE_PAREN: (32503..32504) ")" CLOSE_PAREN: (32504..32505) ")" CLOSE_PAREN: (32505..32506) ")" - ATMOSPHERE: (32506..32508) " - -" + ATMOSPHERE: (32506..32508) "\n\n" FORM: (32508..32558) OPEN_PAREN: (32508..32509) "(" SYMBOL: (32509..32513) @@ -10884,11 +9632,10 @@ PROGRAM: (0..79716) IDENTIFIER: (32528..32542) "string->symbol" ATMOSPHERE: (32542..32543) " " CONSTANT: (32543..32556) - STRING: (32543..32556) ""mISSISSIppi"" + STRING: (32543..32556) "\"mISSISSIppi\"" CLOSE_PAREN: (32556..32557) ")" CLOSE_PAREN: (32557..32558) ")" - ATMOSPHERE: (32558..32559) " -" + ATMOSPHERE: (32558..32559) "\n" FORM: (32559..32608) OPEN_PAREN: (32559..32560) "(" SYMBOL: (32560..32564) @@ -10913,12 +9660,11 @@ PROGRAM: (0..79716) IDENTIFIER: (32582..32596) "string->symbol" ATMOSPHERE: (32596..32597) " " CONSTANT: (32597..32605) - STRING: (32597..32605) ""bitBlt"" + STRING: (32597..32605) "\"bitBlt\"" CLOSE_PAREN: (32605..32606) ")" CLOSE_PAREN: (32606..32607) ")" CLOSE_PAREN: (32607..32608) ")" - ATMOSPHERE: (32608..32609) " -" + ATMOSPHERE: (32608..32609) "\n" FORM: (32609..32678) OPEN_PAREN: (32609..32610) "(" SYMBOL: (32610..32614) @@ -10955,8 +9701,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (32675..32676) ")" CLOSE_PAREN: (32676..32677) ")" CLOSE_PAREN: (32677..32678) ")" - ATMOSPHERE: (32678..32679) " -" + ATMOSPHERE: (32678..32679) "\n" FORM: (32679..32788) OPEN_PAREN: (32679..32680) "(" SYMBOL: (32680..32684) @@ -10971,9 +9716,8 @@ PROGRAM: (0..79716) IDENTIFIER: (32689..32697) "string=?" ATMOSPHERE: (32697..32698) " " CONSTANT: (32698..32715) - STRING: (32698..32715) ""K. Harper, M.D."" - ATMOSPHERE: (32715..32735) " - " + STRING: (32698..32715) "\"K. Harper, M.D.\"" + ATMOSPHERE: (32715..32735) "\n " FORM: (32735..32786) OPEN_PAREN: (32735..32736) "(" SYMBOL: (32736..32750) @@ -10985,33 +9729,27 @@ PROGRAM: (0..79716) IDENTIFIER: (32752..32766) "string->symbol" ATMOSPHERE: (32766..32767) " " CONSTANT: (32767..32784) - STRING: (32767..32784) ""K. Harper, M.D."" + STRING: (32767..32784) "\"K. Harper, M.D.\"" CLOSE_PAREN: (32784..32785) ")" CLOSE_PAREN: (32785..32786) ")" CLOSE_PAREN: (32786..32787) ")" CLOSE_PAREN: (32787..32788) ")" - ATMOSPHERE: (32788..32790) " - -" + ATMOSPHERE: (32788..32790) "\n\n" FORM: (32790..32800) OPEN_PAREN: (32790..32791) "(" SYMBOL: (32791..32799) IDENTIFIER: (32791..32799) "test-end" CLOSE_PAREN: (32799..32800) ")" - ATMOSPHERE: (32800..32802) " - -" + ATMOSPHERE: (32800..32802) "\n\n" FORM: (32802..32831) OPEN_PAREN: (32802..32803) "(" SYMBOL: (32803..32813) IDENTIFIER: (32803..32813) "test-begin" ATMOSPHERE: (32813..32814) " " CONSTANT: (32814..32830) - STRING: (32814..32830) ""6.6 Characters"" + STRING: (32814..32830) "\"6.6 Characters\"" CLOSE_PAREN: (32830..32831) ")" - ATMOSPHERE: (32831..32833) " - -" + ATMOSPHERE: (32831..32833) "\n\n" FORM: (32833..32854) OPEN_PAREN: (32833..32834) "(" SYMBOL: (32834..32838) @@ -11026,11 +9764,10 @@ PROGRAM: (0..79716) IDENTIFIER: (32843..32848) "char?" ATMOSPHERE: (32848..32849) " " CONSTANT: (32849..32852) - CHARACTER: (32849..32852) "#\a" + CHARACTER: (32849..32852) "#\\a" CLOSE_PAREN: (32852..32853) ")" CLOSE_PAREN: (32853..32854) ")" - ATMOSPHERE: (32854..32855) " -" + ATMOSPHERE: (32854..32855) "\n" FORM: (32855..32876) OPEN_PAREN: (32855..32856) "(" SYMBOL: (32856..32860) @@ -11045,11 +9782,10 @@ PROGRAM: (0..79716) IDENTIFIER: (32865..32870) "char?" ATMOSPHERE: (32870..32871) " " CONSTANT: (32871..32874) - STRING: (32871..32874) ""a"" + STRING: (32871..32874) "\"a\"" CLOSE_PAREN: (32874..32875) ")" CLOSE_PAREN: (32875..32876) ")" - ATMOSPHERE: (32876..32877) " -" + ATMOSPHERE: (32876..32877) "\n" FORM: (32877..32897) OPEN_PAREN: (32877..32878) "(" SYMBOL: (32878..32882) @@ -11069,8 +9805,7 @@ PROGRAM: (0..79716) IDENTIFIER: (32894..32895) "a" CLOSE_PAREN: (32895..32896) ")" CLOSE_PAREN: (32896..32897) ")" - ATMOSPHERE: (32897..32898) " -" + ATMOSPHERE: (32897..32898) "\n" FORM: (32898..32917) OPEN_PAREN: (32898..32899) "(" SYMBOL: (32899..32903) @@ -11088,9 +9823,7 @@ PROGRAM: (0..79716) NUMBER: (32914..32915) "0" CLOSE_PAREN: (32915..32916) ")" CLOSE_PAREN: (32916..32917) ")" - ATMOSPHERE: (32917..32919) " - -" + ATMOSPHERE: (32917..32919) "\n\n" FORM: (32919..32949) OPEN_PAREN: (32919..32920) "(" SYMBOL: (32920..32924) @@ -11105,17 +9838,16 @@ PROGRAM: (0..79716) IDENTIFIER: (32929..32935) "char=?" ATMOSPHERE: (32935..32936) " " CONSTANT: (32936..32939) - CHARACTER: (32936..32939) "#\a" + CHARACTER: (32936..32939) "#\\a" ATMOSPHERE: (32939..32940) " " CONSTANT: (32940..32943) - CHARACTER: (32940..32943) "#\a" + CHARACTER: (32940..32943) "#\\a" ATMOSPHERE: (32943..32944) " " CONSTANT: (32944..32947) - CHARACTER: (32944..32947) "#\a" + CHARACTER: (32944..32947) "#\\a" CLOSE_PAREN: (32947..32948) ")" CLOSE_PAREN: (32948..32949) ")" - ATMOSPHERE: (32949..32950) " -" + ATMOSPHERE: (32949..32950) "\n" FORM: (32950..32976) OPEN_PAREN: (32950..32951) "(" SYMBOL: (32951..32955) @@ -11130,14 +9862,13 @@ PROGRAM: (0..79716) IDENTIFIER: (32960..32966) "char=?" ATMOSPHERE: (32966..32967) " " CONSTANT: (32967..32970) - CHARACTER: (32967..32970) "#\a" + CHARACTER: (32967..32970) "#\\a" ATMOSPHERE: (32970..32971) " " CONSTANT: (32971..32974) - CHARACTER: (32971..32974) "#\A" + CHARACTER: (32971..32974) "#\\A" CLOSE_PAREN: (32974..32975) ")" CLOSE_PAREN: (32975..32976) ")" - ATMOSPHERE: (32976..32977) " -" + ATMOSPHERE: (32976..32977) "\n" FORM: (32977..33007) OPEN_PAREN: (32977..32978) "(" SYMBOL: (32978..32982) @@ -11152,17 +9883,16 @@ PROGRAM: (0..79716) IDENTIFIER: (32987..32993) "char?" ATMOSPHERE: (33078..33079) " " CONSTANT: (33079..33082) - CHARACTER: (33079..33082) "#\a" + CHARACTER: (33079..33082) "#\\a" ATMOSPHERE: (33082..33083) " " CONSTANT: (33083..33086) - CHARACTER: (33083..33086) "#\b" + CHARACTER: (33083..33086) "#\\b" CLOSE_PAREN: (33086..33087) ")" CLOSE_PAREN: (33087..33088) ")" - ATMOSPHERE: (33088..33089) " -" + ATMOSPHERE: (33088..33089) "\n" FORM: (33089..33115) OPEN_PAREN: (33089..33090) "(" SYMBOL: (33090..33094) @@ -11243,14 +9970,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33099..33105) "char>?" ATMOSPHERE: (33105..33106) " " CONSTANT: (33106..33109) - CHARACTER: (33106..33109) "#\a" + CHARACTER: (33106..33109) "#\\a" ATMOSPHERE: (33109..33110) " " CONSTANT: (33110..33113) - CHARACTER: (33110..33113) "#\a" + CHARACTER: (33110..33113) "#\\a" CLOSE_PAREN: (33113..33114) ")" CLOSE_PAREN: (33114..33115) ")" - ATMOSPHERE: (33115..33116) " -" + ATMOSPHERE: (33115..33116) "\n" FORM: (33116..33146) OPEN_PAREN: (33116..33117) "(" SYMBOL: (33117..33121) @@ -11265,17 +9991,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33126..33132) "char>?" ATMOSPHERE: (33132..33133) " " CONSTANT: (33133..33136) - CHARACTER: (33133..33136) "#\c" + CHARACTER: (33133..33136) "#\\c" ATMOSPHERE: (33136..33137) " " CONSTANT: (33137..33140) - CHARACTER: (33137..33140) "#\b" + CHARACTER: (33137..33140) "#\\b" ATMOSPHERE: (33140..33141) " " CONSTANT: (33141..33144) - CHARACTER: (33141..33144) "#\a" + CHARACTER: (33141..33144) "#\\a" CLOSE_PAREN: (33144..33145) ")" CLOSE_PAREN: (33145..33146) ")" - ATMOSPHERE: (33146..33147) " -" + ATMOSPHERE: (33146..33147) "\n" FORM: (33147..33178) OPEN_PAREN: (33147..33148) "(" SYMBOL: (33148..33152) @@ -11290,17 +10015,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33157..33164) "char<=?" ATMOSPHERE: (33164..33165) " " CONSTANT: (33165..33168) - CHARACTER: (33165..33168) "#\a" + CHARACTER: (33165..33168) "#\\a" ATMOSPHERE: (33168..33169) " " CONSTANT: (33169..33172) - CHARACTER: (33169..33172) "#\b" + CHARACTER: (33169..33172) "#\\b" ATMOSPHERE: (33172..33173) " " CONSTANT: (33173..33176) - CHARACTER: (33173..33176) "#\b" + CHARACTER: (33173..33176) "#\\b" CLOSE_PAREN: (33176..33177) ")" CLOSE_PAREN: (33177..33178) ")" - ATMOSPHERE: (33178..33179) " -" + ATMOSPHERE: (33178..33179) "\n" FORM: (33179..33206) OPEN_PAREN: (33179..33180) "(" SYMBOL: (33180..33184) @@ -11315,14 +10039,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33189..33196) "char<=?" ATMOSPHERE: (33196..33197) " " CONSTANT: (33197..33200) - CHARACTER: (33197..33200) "#\a" + CHARACTER: (33197..33200) "#\\a" ATMOSPHERE: (33200..33201) " " CONSTANT: (33201..33204) - CHARACTER: (33201..33204) "#\a" + CHARACTER: (33201..33204) "#\\a" CLOSE_PAREN: (33204..33205) ")" CLOSE_PAREN: (33205..33206) ")" - ATMOSPHERE: (33206..33207) " -" + ATMOSPHERE: (33206..33207) "\n" FORM: (33207..33234) OPEN_PAREN: (33207..33208) "(" SYMBOL: (33208..33212) @@ -11337,14 +10060,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33217..33224) "char<=?" ATMOSPHERE: (33224..33225) " " CONSTANT: (33225..33228) - CHARACTER: (33225..33228) "#\b" + CHARACTER: (33225..33228) "#\\b" ATMOSPHERE: (33228..33229) " " CONSTANT: (33229..33232) - CHARACTER: (33229..33232) "#\a" + CHARACTER: (33229..33232) "#\\a" CLOSE_PAREN: (33232..33233) ")" CLOSE_PAREN: (33233..33234) ")" - ATMOSPHERE: (33234..33235) " -" + ATMOSPHERE: (33234..33235) "\n" FORM: (33235..33262) OPEN_PAREN: (33235..33236) "(" SYMBOL: (33236..33240) @@ -11359,14 +10081,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33245..33252) "char>=?" ATMOSPHERE: (33252..33253) " " CONSTANT: (33253..33256) - CHARACTER: (33253..33256) "#\a" + CHARACTER: (33253..33256) "#\\a" ATMOSPHERE: (33256..33257) " " CONSTANT: (33257..33260) - CHARACTER: (33257..33260) "#\b" + CHARACTER: (33257..33260) "#\\b" CLOSE_PAREN: (33260..33261) ")" CLOSE_PAREN: (33261..33262) ")" - ATMOSPHERE: (33262..33263) " -" + ATMOSPHERE: (33262..33263) "\n" FORM: (33263..33290) OPEN_PAREN: (33263..33264) "(" SYMBOL: (33264..33268) @@ -11381,14 +10102,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33273..33280) "char>=?" ATMOSPHERE: (33280..33281) " " CONSTANT: (33281..33284) - CHARACTER: (33281..33284) "#\a" + CHARACTER: (33281..33284) "#\\a" ATMOSPHERE: (33284..33285) " " CONSTANT: (33285..33288) - CHARACTER: (33285..33288) "#\a" + CHARACTER: (33285..33288) "#\\a" CLOSE_PAREN: (33288..33289) ")" CLOSE_PAREN: (33289..33290) ")" - ATMOSPHERE: (33290..33291) " -" + ATMOSPHERE: (33290..33291) "\n" FORM: (33291..33322) OPEN_PAREN: (33291..33292) "(" SYMBOL: (33292..33296) @@ -11403,18 +10123,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33301..33308) "char>=?" ATMOSPHERE: (33308..33309) " " CONSTANT: (33309..33312) - CHARACTER: (33309..33312) "#\b" + CHARACTER: (33309..33312) "#\\b" ATMOSPHERE: (33312..33313) " " CONSTANT: (33313..33316) - CHARACTER: (33313..33316) "#\b" + CHARACTER: (33313..33316) "#\\b" ATMOSPHERE: (33316..33317) " " CONSTANT: (33317..33320) - CHARACTER: (33317..33320) "#\a" + CHARACTER: (33317..33320) "#\\a" CLOSE_PAREN: (33320..33321) ")" CLOSE_PAREN: (33321..33322) ")" - ATMOSPHERE: (33322..33324) " - -" + ATMOSPHERE: (33322..33324) "\n\n" FORM: (33324..33353) OPEN_PAREN: (33324..33325) "(" SYMBOL: (33325..33329) @@ -11429,14 +10147,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33334..33343) "char-ci=?" ATMOSPHERE: (33343..33344) " " CONSTANT: (33344..33347) - CHARACTER: (33344..33347) "#\a" + CHARACTER: (33344..33347) "#\\a" ATMOSPHERE: (33347..33348) " " CONSTANT: (33348..33351) - CHARACTER: (33348..33351) "#\a" + CHARACTER: (33348..33351) "#\\a" CLOSE_PAREN: (33351..33352) ")" CLOSE_PAREN: (33352..33353) ")" - ATMOSPHERE: (33353..33354) " -" + ATMOSPHERE: (33353..33354) "\n" FORM: (33354..33387) OPEN_PAREN: (33354..33355) "(" SYMBOL: (33355..33359) @@ -11451,17 +10168,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33364..33373) "char-ci=?" ATMOSPHERE: (33373..33374) " " CONSTANT: (33374..33377) - CHARACTER: (33374..33377) "#\a" + CHARACTER: (33374..33377) "#\\a" ATMOSPHERE: (33377..33378) " " CONSTANT: (33378..33381) - CHARACTER: (33378..33381) "#\A" + CHARACTER: (33378..33381) "#\\A" ATMOSPHERE: (33381..33382) " " CONSTANT: (33382..33385) - CHARACTER: (33382..33385) "#\a" + CHARACTER: (33382..33385) "#\\a" CLOSE_PAREN: (33385..33386) ")" CLOSE_PAREN: (33386..33387) ")" - ATMOSPHERE: (33387..33388) " -" + ATMOSPHERE: (33387..33388) "\n" FORM: (33388..33417) OPEN_PAREN: (33388..33389) "(" SYMBOL: (33389..33393) @@ -11476,14 +10192,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33398..33407) "char-ci=?" ATMOSPHERE: (33407..33408) " " CONSTANT: (33408..33411) - CHARACTER: (33408..33411) "#\a" + CHARACTER: (33408..33411) "#\\a" ATMOSPHERE: (33411..33412) " " CONSTANT: (33412..33415) - CHARACTER: (33412..33415) "#\b" + CHARACTER: (33412..33415) "#\\b" CLOSE_PAREN: (33415..33416) ")" CLOSE_PAREN: (33416..33417) ")" - ATMOSPHERE: (33417..33418) " -" + ATMOSPHERE: (33417..33418) "\n" FORM: (33418..33451) OPEN_PAREN: (33418..33419) "(" SYMBOL: (33419..33423) @@ -11498,17 +10213,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33428..33437) "char-ci?" ATMOSPHERE: (33531..33532) " " CONSTANT: (33532..33535) - CHARACTER: (33532..33535) "#\A" + CHARACTER: (33532..33535) "#\\A" ATMOSPHERE: (33535..33536) " " CONSTANT: (33536..33539) - CHARACTER: (33536..33539) "#\b" + CHARACTER: (33536..33539) "#\\b" CLOSE_PAREN: (33539..33540) ")" CLOSE_PAREN: (33540..33541) ")" - ATMOSPHERE: (33541..33542) " -" + ATMOSPHERE: (33541..33542) "\n" FORM: (33542..33571) OPEN_PAREN: (33542..33543) "(" SYMBOL: (33543..33547) @@ -11589,14 +10300,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33552..33561) "char-ci>?" ATMOSPHERE: (33561..33562) " " CONSTANT: (33562..33565) - CHARACTER: (33562..33565) "#\a" + CHARACTER: (33562..33565) "#\\a" ATMOSPHERE: (33565..33566) " " CONSTANT: (33566..33569) - CHARACTER: (33566..33569) "#\A" + CHARACTER: (33566..33569) "#\\A" CLOSE_PAREN: (33569..33570) ")" CLOSE_PAREN: (33570..33571) ")" - ATMOSPHERE: (33571..33572) " -" + ATMOSPHERE: (33571..33572) "\n" FORM: (33572..33605) OPEN_PAREN: (33572..33573) "(" SYMBOL: (33573..33577) @@ -11611,17 +10321,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33582..33591) "char-ci>?" ATMOSPHERE: (33591..33592) " " CONSTANT: (33592..33595) - CHARACTER: (33592..33595) "#\c" + CHARACTER: (33592..33595) "#\\c" ATMOSPHERE: (33595..33596) " " CONSTANT: (33596..33599) - CHARACTER: (33596..33599) "#\B" + CHARACTER: (33596..33599) "#\\B" ATMOSPHERE: (33599..33600) " " CONSTANT: (33600..33603) - CHARACTER: (33600..33603) "#\a" + CHARACTER: (33600..33603) "#\\a" CLOSE_PAREN: (33603..33604) ")" CLOSE_PAREN: (33604..33605) ")" - ATMOSPHERE: (33605..33606) " -" + ATMOSPHERE: (33605..33606) "\n" FORM: (33606..33640) OPEN_PAREN: (33606..33607) "(" SYMBOL: (33607..33611) @@ -11636,17 +10345,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33616..33626) "char-ci<=?" ATMOSPHERE: (33626..33627) " " CONSTANT: (33627..33630) - CHARACTER: (33627..33630) "#\a" + CHARACTER: (33627..33630) "#\\a" ATMOSPHERE: (33630..33631) " " CONSTANT: (33631..33634) - CHARACTER: (33631..33634) "#\B" + CHARACTER: (33631..33634) "#\\B" ATMOSPHERE: (33634..33635) " " CONSTANT: (33635..33638) - CHARACTER: (33635..33638) "#\b" + CHARACTER: (33635..33638) "#\\b" CLOSE_PAREN: (33638..33639) ")" CLOSE_PAREN: (33639..33640) ")" - ATMOSPHERE: (33640..33641) " -" + ATMOSPHERE: (33640..33641) "\n" FORM: (33641..33671) OPEN_PAREN: (33641..33642) "(" SYMBOL: (33642..33646) @@ -11661,14 +10369,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33651..33661) "char-ci<=?" ATMOSPHERE: (33661..33662) " " CONSTANT: (33662..33665) - CHARACTER: (33662..33665) "#\A" + CHARACTER: (33662..33665) "#\\A" ATMOSPHERE: (33665..33666) " " CONSTANT: (33666..33669) - CHARACTER: (33666..33669) "#\a" + CHARACTER: (33666..33669) "#\\a" CLOSE_PAREN: (33669..33670) ")" CLOSE_PAREN: (33670..33671) ")" - ATMOSPHERE: (33671..33672) " -" + ATMOSPHERE: (33671..33672) "\n" FORM: (33672..33702) OPEN_PAREN: (33672..33673) "(" SYMBOL: (33673..33677) @@ -11683,14 +10390,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33682..33692) "char-ci<=?" ATMOSPHERE: (33692..33693) " " CONSTANT: (33693..33696) - CHARACTER: (33693..33696) "#\b" + CHARACTER: (33693..33696) "#\\b" ATMOSPHERE: (33696..33697) " " CONSTANT: (33697..33700) - CHARACTER: (33697..33700) "#\A" + CHARACTER: (33697..33700) "#\\A" CLOSE_PAREN: (33700..33701) ")" CLOSE_PAREN: (33701..33702) ")" - ATMOSPHERE: (33702..33703) " -" + ATMOSPHERE: (33702..33703) "\n" FORM: (33703..33733) OPEN_PAREN: (33703..33704) "(" SYMBOL: (33704..33708) @@ -11705,14 +10411,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33713..33723) "char-ci>=?" ATMOSPHERE: (33723..33724) " " CONSTANT: (33724..33727) - CHARACTER: (33724..33727) "#\A" + CHARACTER: (33724..33727) "#\\A" ATMOSPHERE: (33727..33728) " " CONSTANT: (33728..33731) - CHARACTER: (33728..33731) "#\b" + CHARACTER: (33728..33731) "#\\b" CLOSE_PAREN: (33731..33732) ")" CLOSE_PAREN: (33732..33733) ")" - ATMOSPHERE: (33733..33734) " -" + ATMOSPHERE: (33733..33734) "\n" FORM: (33734..33764) OPEN_PAREN: (33734..33735) "(" SYMBOL: (33735..33739) @@ -11727,14 +10432,13 @@ PROGRAM: (0..79716) IDENTIFIER: (33744..33754) "char-ci>=?" ATMOSPHERE: (33754..33755) " " CONSTANT: (33755..33758) - CHARACTER: (33755..33758) "#\a" + CHARACTER: (33755..33758) "#\\a" ATMOSPHERE: (33758..33759) " " CONSTANT: (33759..33762) - CHARACTER: (33759..33762) "#\A" + CHARACTER: (33759..33762) "#\\A" CLOSE_PAREN: (33762..33763) ")" CLOSE_PAREN: (33763..33764) ")" - ATMOSPHERE: (33764..33765) " -" + ATMOSPHERE: (33764..33765) "\n" FORM: (33765..33799) OPEN_PAREN: (33765..33766) "(" SYMBOL: (33766..33770) @@ -11749,18 +10453,16 @@ PROGRAM: (0..79716) IDENTIFIER: (33775..33785) "char-ci>=?" ATMOSPHERE: (33785..33786) " " CONSTANT: (33786..33789) - CHARACTER: (33786..33789) "#\b" + CHARACTER: (33786..33789) "#\\b" ATMOSPHERE: (33789..33790) " " CONSTANT: (33790..33793) - CHARACTER: (33790..33793) "#\B" + CHARACTER: (33790..33793) "#\\B" ATMOSPHERE: (33793..33794) " " CONSTANT: (33794..33797) - CHARACTER: (33794..33797) "#\a" + CHARACTER: (33794..33797) "#\\a" CLOSE_PAREN: (33797..33798) ")" CLOSE_PAREN: (33798..33799) ")" - ATMOSPHERE: (33799..33801) " - -" + ATMOSPHERE: (33799..33801) "\n\n" FORM: (33801..33833) OPEN_PAREN: (33801..33802) "(" SYMBOL: (33802..33806) @@ -11775,11 +10477,10 @@ PROGRAM: (0..79716) IDENTIFIER: (33811..33827) "char-alphabetic?" ATMOSPHERE: (33827..33828) " " CONSTANT: (33828..33831) - CHARACTER: (33828..33831) "#\a" + CHARACTER: (33828..33831) "#\\a" CLOSE_PAREN: (33831..33832) ")" CLOSE_PAREN: (33832..33833) ")" - ATMOSPHERE: (33833..33834) " -" + ATMOSPHERE: (33833..33834) "\n" FORM: (33834..33870) OPEN_PAREN: (33834..33835) "(" SYMBOL: (33835..33839) @@ -11794,11 +10495,10 @@ PROGRAM: (0..79716) IDENTIFIER: (33844..33860) "char-alphabetic?" ATMOSPHERE: (33860..33861) " " CONSTANT: (33861..33868) - CHARACTER: (33861..33868) "#\space" + CHARACTER: (33861..33868) "#\\space" CLOSE_PAREN: (33868..33869) ")" CLOSE_PAREN: (33869..33870) ")" - ATMOSPHERE: (33870..33871) " -" + ATMOSPHERE: (33870..33871) "\n" FORM: (33871..33900) OPEN_PAREN: (33871..33872) "(" SYMBOL: (33872..33876) @@ -11813,11 +10513,10 @@ PROGRAM: (0..79716) IDENTIFIER: (33881..33894) "char-numeric?" ATMOSPHERE: (33894..33895) " " CONSTANT: (33895..33898) - CHARACTER: (33895..33898) "#\0" + CHARACTER: (33895..33898) "#\\0" CLOSE_PAREN: (33898..33899) ")" CLOSE_PAREN: (33899..33900) ")" - ATMOSPHERE: (33900..33901) " -" + ATMOSPHERE: (33900..33901) "\n" FORM: (33901..33930) OPEN_PAREN: (33901..33902) "(" SYMBOL: (33902..33906) @@ -11832,11 +10531,10 @@ PROGRAM: (0..79716) IDENTIFIER: (33911..33924) "char-numeric?" ATMOSPHERE: (33924..33925) " " CONSTANT: (33925..33928) - CHARACTER: (33925..33928) "#\." + CHARACTER: (33925..33928) "#\\." CLOSE_PAREN: (33928..33929) ")" CLOSE_PAREN: (33929..33930) ")" - ATMOSPHERE: (33930..33931) " -" + ATMOSPHERE: (33930..33931) "\n" FORM: (33931..33960) OPEN_PAREN: (33931..33932) "(" SYMBOL: (33932..33936) @@ -11851,11 +10549,10 @@ PROGRAM: (0..79716) IDENTIFIER: (33941..33954) "char-numeric?" ATMOSPHERE: (33954..33955) " " CONSTANT: (33955..33958) - CHARACTER: (33955..33958) "#\a" + CHARACTER: (33955..33958) "#\\a" CLOSE_PAREN: (33958..33959) ")" CLOSE_PAREN: (33959..33960) ")" - ATMOSPHERE: (33960..33961) " -" + ATMOSPHERE: (33960..33961) "\n" FORM: (33961..33997) OPEN_PAREN: (33961..33962) "(" SYMBOL: (33962..33966) @@ -11870,11 +10567,10 @@ PROGRAM: (0..79716) IDENTIFIER: (33971..33987) "char-whitespace?" ATMOSPHERE: (33987..33988) " " CONSTANT: (33988..33995) - CHARACTER: (33988..33995) "#\space" + CHARACTER: (33988..33995) "#\\space" CLOSE_PAREN: (33995..33996) ")" CLOSE_PAREN: (33996..33997) ")" - ATMOSPHERE: (33997..33998) " -" + ATMOSPHERE: (33997..33998) "\n" FORM: (33998..34032) OPEN_PAREN: (33998..33999) "(" SYMBOL: (33999..34003) @@ -11889,11 +10585,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34008..34024) "char-whitespace?" ATMOSPHERE: (34024..34025) " " CONSTANT: (34025..34030) - CHARACTER: (34025..34030) "#\tab" + CHARACTER: (34025..34030) "#\\tab" CLOSE_PAREN: (34030..34031) ")" CLOSE_PAREN: (34031..34032) ")" - ATMOSPHERE: (34032..34033) " -" + ATMOSPHERE: (34032..34033) "\n" FORM: (34033..34071) OPEN_PAREN: (34033..34034) "(" SYMBOL: (34034..34038) @@ -11908,11 +10603,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34043..34059) "char-whitespace?" ATMOSPHERE: (34059..34060) " " CONSTANT: (34060..34069) - CHARACTER: (34060..34069) "#\newline" + CHARACTER: (34060..34069) "#\\newline" CLOSE_PAREN: (34069..34070) ")" CLOSE_PAREN: (34070..34071) ")" - ATMOSPHERE: (34071..34072) " -" + ATMOSPHERE: (34071..34072) "\n" FORM: (34072..34104) OPEN_PAREN: (34072..34073) "(" SYMBOL: (34073..34077) @@ -11927,11 +10621,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34082..34098) "char-whitespace?" ATMOSPHERE: (34098..34099) " " CONSTANT: (34099..34102) - CHARACTER: (34099..34102) "#\_" + CHARACTER: (34099..34102) "#\\_" CLOSE_PAREN: (34102..34103) ")" CLOSE_PAREN: (34103..34104) ")" - ATMOSPHERE: (34104..34105) " -" + ATMOSPHERE: (34104..34105) "\n" FORM: (34105..34137) OPEN_PAREN: (34105..34106) "(" SYMBOL: (34106..34110) @@ -11946,11 +10639,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34115..34131) "char-whitespace?" ATMOSPHERE: (34131..34132) " " CONSTANT: (34132..34135) - CHARACTER: (34132..34135) "#\a" + CHARACTER: (34132..34135) "#\\a" CLOSE_PAREN: (34135..34136) ")" CLOSE_PAREN: (34136..34137) ")" - ATMOSPHERE: (34137..34138) " -" + ATMOSPHERE: (34137..34138) "\n" FORM: (34138..34170) OPEN_PAREN: (34138..34139) "(" SYMBOL: (34139..34143) @@ -11965,11 +10657,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34148..34164) "char-upper-case?" ATMOSPHERE: (34164..34165) " " CONSTANT: (34165..34168) - CHARACTER: (34165..34168) "#\A" + CHARACTER: (34165..34168) "#\\A" CLOSE_PAREN: (34168..34169) ")" CLOSE_PAREN: (34169..34170) ")" - ATMOSPHERE: (34170..34171) " -" + ATMOSPHERE: (34170..34171) "\n" FORM: (34171..34203) OPEN_PAREN: (34171..34172) "(" SYMBOL: (34172..34176) @@ -11984,11 +10675,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34181..34197) "char-upper-case?" ATMOSPHERE: (34197..34198) " " CONSTANT: (34198..34201) - CHARACTER: (34198..34201) "#\a" + CHARACTER: (34198..34201) "#\\a" CLOSE_PAREN: (34201..34202) ")" CLOSE_PAREN: (34202..34203) ")" - ATMOSPHERE: (34203..34204) " -" + ATMOSPHERE: (34203..34204) "\n" FORM: (34204..34236) OPEN_PAREN: (34204..34205) "(" SYMBOL: (34205..34209) @@ -12003,11 +10693,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34214..34230) "char-upper-case?" ATMOSPHERE: (34230..34231) " " CONSTANT: (34231..34234) - CHARACTER: (34231..34234) "#\3" + CHARACTER: (34231..34234) "#\\3" CLOSE_PAREN: (34234..34235) ")" CLOSE_PAREN: (34235..34236) ")" - ATMOSPHERE: (34236..34237) " -" + ATMOSPHERE: (34236..34237) "\n" FORM: (34237..34269) OPEN_PAREN: (34237..34238) "(" SYMBOL: (34238..34242) @@ -12022,11 +10711,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34247..34263) "char-lower-case?" ATMOSPHERE: (34263..34264) " " CONSTANT: (34264..34267) - CHARACTER: (34264..34267) "#\a" + CHARACTER: (34264..34267) "#\\a" CLOSE_PAREN: (34267..34268) ")" CLOSE_PAREN: (34268..34269) ")" - ATMOSPHERE: (34269..34270) " -" + ATMOSPHERE: (34269..34270) "\n" FORM: (34270..34302) OPEN_PAREN: (34270..34271) "(" SYMBOL: (34271..34275) @@ -12041,11 +10729,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34280..34296) "char-lower-case?" ATMOSPHERE: (34296..34297) " " CONSTANT: (34297..34300) - CHARACTER: (34297..34300) "#\A" + CHARACTER: (34297..34300) "#\\A" CLOSE_PAREN: (34300..34301) ")" CLOSE_PAREN: (34301..34302) ")" - ATMOSPHERE: (34302..34303) " -" + ATMOSPHERE: (34302..34303) "\n" FORM: (34303..34335) OPEN_PAREN: (34303..34304) "(" SYMBOL: (34304..34308) @@ -12060,12 +10747,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34313..34329) "char-lower-case?" ATMOSPHERE: (34329..34330) " " CONSTANT: (34330..34333) - CHARACTER: (34330..34333) "#\3" + CHARACTER: (34330..34333) "#\\3" CLOSE_PAREN: (34333..34334) ")" CLOSE_PAREN: (34334..34335) ")" - ATMOSPHERE: (34335..34337) " - -" + ATMOSPHERE: (34335..34337) "\n\n" FORM: (34337..34369) OPEN_PAREN: (34337..34338) "(" SYMBOL: (34338..34342) @@ -12080,11 +10765,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34347..34363) "char-alphabetic?" ATMOSPHERE: (34363..34364) " " CONSTANT: (34364..34367) - CHARACTER: (34364..34367) "#\Λ" + CHARACTER: (34364..34367) "#\\Λ" CLOSE_PAREN: (34367..34368) ")" CLOSE_PAREN: (34368..34369) ")" - ATMOSPHERE: (34369..34370) " -" + ATMOSPHERE: (34369..34370) "\n" FORM: (34370..34406) OPEN_PAREN: (34370..34371) "(" SYMBOL: (34371..34375) @@ -12099,11 +10783,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34380..34396) "char-alphabetic?" ATMOSPHERE: (34396..34397) " " CONSTANT: (34397..34404) - CHARACTER: (34397..34404) "#\x0E50" + CHARACTER: (34397..34404) "#\\x0E50" CLOSE_PAREN: (34404..34405) ")" CLOSE_PAREN: (34405..34406) ")" - ATMOSPHERE: (34406..34407) " -" + ATMOSPHERE: (34406..34407) "\n" FORM: (34407..34439) OPEN_PAREN: (34407..34408) "(" SYMBOL: (34408..34412) @@ -12118,11 +10801,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34417..34433) "char-upper-case?" ATMOSPHERE: (34433..34434) " " CONSTANT: (34434..34437) - CHARACTER: (34434..34437) "#\Λ" + CHARACTER: (34434..34437) "#\\Λ" CLOSE_PAREN: (34437..34438) ")" CLOSE_PAREN: (34438..34439) ")" - ATMOSPHERE: (34439..34440) " -" + ATMOSPHERE: (34439..34440) "\n" FORM: (34440..34472) OPEN_PAREN: (34440..34441) "(" SYMBOL: (34441..34445) @@ -12137,11 +10819,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34450..34466) "char-upper-case?" ATMOSPHERE: (34466..34467) " " CONSTANT: (34467..34470) - CHARACTER: (34467..34470) "#\λ" + CHARACTER: (34467..34470) "#\\λ" CLOSE_PAREN: (34470..34471) ")" CLOSE_PAREN: (34471..34472) ")" - ATMOSPHERE: (34472..34473) " -" + ATMOSPHERE: (34472..34473) "\n" FORM: (34473..34505) OPEN_PAREN: (34473..34474) "(" SYMBOL: (34474..34478) @@ -12156,11 +10837,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34483..34499) "char-lower-case?" ATMOSPHERE: (34499..34500) " " CONSTANT: (34500..34503) - CHARACTER: (34500..34503) "#\Λ" + CHARACTER: (34500..34503) "#\\Λ" CLOSE_PAREN: (34503..34504) ")" CLOSE_PAREN: (34504..34505) ")" - ATMOSPHERE: (34505..34506) " -" + ATMOSPHERE: (34505..34506) "\n" FORM: (34506..34538) OPEN_PAREN: (34506..34507) "(" SYMBOL: (34507..34511) @@ -12175,11 +10855,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34516..34532) "char-lower-case?" ATMOSPHERE: (34532..34533) " " CONSTANT: (34533..34536) - CHARACTER: (34533..34536) "#\λ" + CHARACTER: (34533..34536) "#\\λ" CLOSE_PAREN: (34536..34537) ")" CLOSE_PAREN: (34537..34538) ")" - ATMOSPHERE: (34538..34539) " -" + ATMOSPHERE: (34538..34539) "\n" FORM: (34539..34568) OPEN_PAREN: (34539..34540) "(" SYMBOL: (34540..34544) @@ -12194,11 +10873,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34549..34562) "char-numeric?" ATMOSPHERE: (34562..34563) " " CONSTANT: (34563..34566) - CHARACTER: (34563..34566) "#\Λ" + CHARACTER: (34563..34566) "#\\Λ" CLOSE_PAREN: (34566..34567) ")" CLOSE_PAREN: (34567..34568) ")" - ATMOSPHERE: (34568..34569) " -" + ATMOSPHERE: (34568..34569) "\n" FORM: (34569..34602) OPEN_PAREN: (34569..34570) "(" SYMBOL: (34570..34574) @@ -12213,11 +10891,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34579..34592) "char-numeric?" ATMOSPHERE: (34592..34593) " " CONSTANT: (34593..34600) - CHARACTER: (34593..34600) "#\x0E50" + CHARACTER: (34593..34600) "#\\x0E50" CLOSE_PAREN: (34600..34601) ")" CLOSE_PAREN: (34601..34602) ")" - ATMOSPHERE: (34602..34603) " -" + ATMOSPHERE: (34602..34603) "\n" FORM: (34603..34639) OPEN_PAREN: (34603..34604) "(" SYMBOL: (34604..34608) @@ -12232,12 +10909,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34613..34629) "char-whitespace?" ATMOSPHERE: (34629..34630) " " CONSTANT: (34630..34637) - CHARACTER: (34630..34637) "#\x1680" + CHARACTER: (34630..34637) "#\\x1680" CLOSE_PAREN: (34637..34638) ")" CLOSE_PAREN: (34638..34639) ")" - ATMOSPHERE: (34639..34641) " - -" + ATMOSPHERE: (34639..34641) "\n\n" FORM: (34641..34667) OPEN_PAREN: (34641..34642) "(" SYMBOL: (34642..34646) @@ -12252,11 +10927,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34650..34661) "digit-value" ATMOSPHERE: (34661..34662) " " CONSTANT: (34662..34665) - CHARACTER: (34662..34665) "#\0" + CHARACTER: (34662..34665) "#\\0" CLOSE_PAREN: (34665..34666) ")" CLOSE_PAREN: (34666..34667) ")" - ATMOSPHERE: (34667..34668) " -" + ATMOSPHERE: (34667..34668) "\n" FORM: (34668..34694) OPEN_PAREN: (34668..34669) "(" SYMBOL: (34669..34673) @@ -12271,11 +10945,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34677..34688) "digit-value" ATMOSPHERE: (34688..34689) " " CONSTANT: (34689..34692) - CHARACTER: (34689..34692) "#\3" + CHARACTER: (34689..34692) "#\\3" CLOSE_PAREN: (34692..34693) ")" CLOSE_PAREN: (34693..34694) ")" - ATMOSPHERE: (34694..34695) " -" + ATMOSPHERE: (34694..34695) "\n" FORM: (34695..34721) OPEN_PAREN: (34695..34696) "(" SYMBOL: (34696..34700) @@ -12290,11 +10963,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34704..34715) "digit-value" ATMOSPHERE: (34715..34716) " " CONSTANT: (34716..34719) - CHARACTER: (34716..34719) "#\9" + CHARACTER: (34716..34719) "#\\9" CLOSE_PAREN: (34719..34720) ")" CLOSE_PAREN: (34720..34721) ")" - ATMOSPHERE: (34721..34722) " -" + ATMOSPHERE: (34721..34722) "\n" FORM: (34722..34752) OPEN_PAREN: (34722..34723) "(" SYMBOL: (34723..34727) @@ -12309,11 +10981,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34731..34742) "digit-value" ATMOSPHERE: (34742..34743) " " CONSTANT: (34743..34750) - CHARACTER: (34743..34750) "#\x0664" + CHARACTER: (34743..34750) "#\\x0664" CLOSE_PAREN: (34750..34751) ")" CLOSE_PAREN: (34751..34752) ")" - ATMOSPHERE: (34752..34753) " -" + ATMOSPHERE: (34752..34753) "\n" FORM: (34753..34783) OPEN_PAREN: (34753..34754) "(" SYMBOL: (34754..34758) @@ -12328,11 +10999,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34762..34773) "digit-value" ATMOSPHERE: (34773..34774) " " CONSTANT: (34774..34781) - CHARACTER: (34774..34781) "#\x0AE6" + CHARACTER: (34774..34781) "#\\x0AE6" CLOSE_PAREN: (34781..34782) ")" CLOSE_PAREN: (34782..34783) ")" - ATMOSPHERE: (34783..34784) " -" + ATMOSPHERE: (34783..34784) "\n" FORM: (34784..34811) OPEN_PAREN: (34784..34785) "(" SYMBOL: (34785..34789) @@ -12347,11 +11017,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34794..34805) "digit-value" ATMOSPHERE: (34805..34806) " " CONSTANT: (34806..34809) - CHARACTER: (34806..34809) "#\." + CHARACTER: (34806..34809) "#\\." CLOSE_PAREN: (34809..34810) ")" CLOSE_PAREN: (34810..34811) ")" - ATMOSPHERE: (34811..34812) " -" + ATMOSPHERE: (34811..34812) "\n" FORM: (34812..34839) OPEN_PAREN: (34812..34813) "(" SYMBOL: (34813..34817) @@ -12366,12 +11035,10 @@ PROGRAM: (0..79716) IDENTIFIER: (34822..34833) "digit-value" ATMOSPHERE: (34833..34834) " " CONSTANT: (34834..34837) - CHARACTER: (34834..34837) "#\-" + CHARACTER: (34834..34837) "#\\-" CLOSE_PAREN: (34837..34838) ")" CLOSE_PAREN: (34838..34839) ")" - ATMOSPHERE: (34839..34841) " - -" + ATMOSPHERE: (34839..34841) "\n\n" FORM: (34841..34870) OPEN_PAREN: (34841..34842) "(" SYMBOL: (34842..34846) @@ -12386,18 +11053,17 @@ PROGRAM: (0..79716) IDENTIFIER: (34851..34864) "char->integer" ATMOSPHERE: (34864..34865) " " CONSTANT: (34865..34868) - CHARACTER: (34865..34868) "#\a" + CHARACTER: (34865..34868) "#\\a" CLOSE_PAREN: (34868..34869) ")" CLOSE_PAREN: (34869..34870) ")" - ATMOSPHERE: (34870..34871) " -" + ATMOSPHERE: (34870..34871) "\n" FORM: (34871..34900) OPEN_PAREN: (34871..34872) "(" SYMBOL: (34872..34876) IDENTIFIER: (34872..34876) "test" ATMOSPHERE: (34876..34877) " " CONSTANT: (34877..34880) - CHARACTER: (34877..34880) "#\a" + CHARACTER: (34877..34880) "#\\a" ATMOSPHERE: (34880..34881) " " FORM: (34881..34899) OPEN_PAREN: (34881..34882) "(" @@ -12408,16 +11074,14 @@ PROGRAM: (0..79716) NUMBER: (34896..34898) "97" CLOSE_PAREN: (34898..34899) ")" CLOSE_PAREN: (34899..34900) ")" - ATMOSPHERE: (34900..34902) " - -" + ATMOSPHERE: (34900..34902) "\n\n" FORM: (34902..34930) OPEN_PAREN: (34902..34903) "(" SYMBOL: (34903..34907) IDENTIFIER: (34903..34907) "test" ATMOSPHERE: (34907..34908) " " CONSTANT: (34908..34911) - CHARACTER: (34908..34911) "#\A" + CHARACTER: (34908..34911) "#\\A" ATMOSPHERE: (34911..34912) " " FORM: (34912..34929) OPEN_PAREN: (34912..34913) "(" @@ -12425,18 +11089,17 @@ PROGRAM: (0..79716) IDENTIFIER: (34913..34924) "char-upcase" ATMOSPHERE: (34924..34925) " " CONSTANT: (34925..34928) - CHARACTER: (34925..34928) "#\a" + CHARACTER: (34925..34928) "#\\a" CLOSE_PAREN: (34928..34929) ")" CLOSE_PAREN: (34929..34930) ")" - ATMOSPHERE: (34930..34931) " -" + ATMOSPHERE: (34930..34931) "\n" FORM: (34931..34959) OPEN_PAREN: (34931..34932) "(" SYMBOL: (34932..34936) IDENTIFIER: (34932..34936) "test" ATMOSPHERE: (34936..34937) " " CONSTANT: (34937..34940) - CHARACTER: (34937..34940) "#\A" + CHARACTER: (34937..34940) "#\\A" ATMOSPHERE: (34940..34941) " " FORM: (34941..34958) OPEN_PAREN: (34941..34942) "(" @@ -12444,18 +11107,17 @@ PROGRAM: (0..79716) IDENTIFIER: (34942..34953) "char-upcase" ATMOSPHERE: (34953..34954) " " CONSTANT: (34954..34957) - CHARACTER: (34954..34957) "#\A" + CHARACTER: (34954..34957) "#\\A" CLOSE_PAREN: (34957..34958) ")" CLOSE_PAREN: (34958..34959) ")" - ATMOSPHERE: (34959..34960) " -" + ATMOSPHERE: (34959..34960) "\n" FORM: (34960..34990) OPEN_PAREN: (34960..34961) "(" SYMBOL: (34961..34965) IDENTIFIER: (34961..34965) "test" ATMOSPHERE: (34965..34966) " " CONSTANT: (34966..34969) - CHARACTER: (34966..34969) "#\a" + CHARACTER: (34966..34969) "#\\a" ATMOSPHERE: (34969..34970) " " FORM: (34970..34989) OPEN_PAREN: (34970..34971) "(" @@ -12463,18 +11125,17 @@ PROGRAM: (0..79716) IDENTIFIER: (34971..34984) "char-downcase" ATMOSPHERE: (34984..34985) " " CONSTANT: (34985..34988) - CHARACTER: (34985..34988) "#\a" + CHARACTER: (34985..34988) "#\\a" CLOSE_PAREN: (34988..34989) ")" CLOSE_PAREN: (34989..34990) ")" - ATMOSPHERE: (34990..34991) " -" + ATMOSPHERE: (34990..34991) "\n" FORM: (34991..35021) OPEN_PAREN: (34991..34992) "(" SYMBOL: (34992..34996) IDENTIFIER: (34992..34996) "test" ATMOSPHERE: (34996..34997) " " CONSTANT: (34997..35000) - CHARACTER: (34997..35000) "#\a" + CHARACTER: (34997..35000) "#\\a" ATMOSPHERE: (35000..35001) " " FORM: (35001..35020) OPEN_PAREN: (35001..35002) "(" @@ -12482,18 +11143,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35002..35015) "char-downcase" ATMOSPHERE: (35015..35016) " " CONSTANT: (35016..35019) - CHARACTER: (35016..35019) "#\A" + CHARACTER: (35016..35019) "#\\A" CLOSE_PAREN: (35019..35020) ")" CLOSE_PAREN: (35020..35021) ")" - ATMOSPHERE: (35021..35022) " -" + ATMOSPHERE: (35021..35022) "\n" FORM: (35022..35052) OPEN_PAREN: (35022..35023) "(" SYMBOL: (35023..35027) IDENTIFIER: (35023..35027) "test" ATMOSPHERE: (35027..35028) " " CONSTANT: (35028..35031) - CHARACTER: (35028..35031) "#\a" + CHARACTER: (35028..35031) "#\\a" ATMOSPHERE: (35031..35032) " " FORM: (35032..35051) OPEN_PAREN: (35032..35033) "(" @@ -12501,18 +11161,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35033..35046) "char-foldcase" ATMOSPHERE: (35046..35047) " " CONSTANT: (35047..35050) - CHARACTER: (35047..35050) "#\a" + CHARACTER: (35047..35050) "#\\a" CLOSE_PAREN: (35050..35051) ")" CLOSE_PAREN: (35051..35052) ")" - ATMOSPHERE: (35052..35053) " -" + ATMOSPHERE: (35052..35053) "\n" FORM: (35053..35083) OPEN_PAREN: (35053..35054) "(" SYMBOL: (35054..35058) IDENTIFIER: (35054..35058) "test" ATMOSPHERE: (35058..35059) " " CONSTANT: (35059..35062) - CHARACTER: (35059..35062) "#\a" + CHARACTER: (35059..35062) "#\\a" ATMOSPHERE: (35062..35063) " " FORM: (35063..35082) OPEN_PAREN: (35063..35064) "(" @@ -12520,19 +11179,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35064..35077) "char-foldcase" ATMOSPHERE: (35077..35078) " " CONSTANT: (35078..35081) - CHARACTER: (35078..35081) "#\A" + CHARACTER: (35078..35081) "#\\A" CLOSE_PAREN: (35081..35082) ")" CLOSE_PAREN: (35082..35083) ")" - ATMOSPHERE: (35083..35085) " - -" + ATMOSPHERE: (35083..35085) "\n\n" FORM: (35085..35113) OPEN_PAREN: (35085..35086) "(" SYMBOL: (35086..35090) IDENTIFIER: (35086..35090) "test" ATMOSPHERE: (35090..35091) " " CONSTANT: (35091..35094) - CHARACTER: (35091..35094) "#\Λ" + CHARACTER: (35091..35094) "#\\Λ" ATMOSPHERE: (35094..35095) " " FORM: (35095..35112) OPEN_PAREN: (35095..35096) "(" @@ -12540,18 +11197,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35096..35107) "char-upcase" ATMOSPHERE: (35107..35108) " " CONSTANT: (35108..35111) - CHARACTER: (35108..35111) "#\λ" + CHARACTER: (35108..35111) "#\\λ" CLOSE_PAREN: (35111..35112) ")" CLOSE_PAREN: (35112..35113) ")" - ATMOSPHERE: (35113..35114) " -" + ATMOSPHERE: (35113..35114) "\n" FORM: (35114..35142) OPEN_PAREN: (35114..35115) "(" SYMBOL: (35115..35119) IDENTIFIER: (35115..35119) "test" ATMOSPHERE: (35119..35120) " " CONSTANT: (35120..35123) - CHARACTER: (35120..35123) "#\Λ" + CHARACTER: (35120..35123) "#\\Λ" ATMOSPHERE: (35123..35124) " " FORM: (35124..35141) OPEN_PAREN: (35124..35125) "(" @@ -12559,18 +11215,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35125..35136) "char-upcase" ATMOSPHERE: (35136..35137) " " CONSTANT: (35137..35140) - CHARACTER: (35137..35140) "#\Λ" + CHARACTER: (35137..35140) "#\\Λ" CLOSE_PAREN: (35140..35141) ")" CLOSE_PAREN: (35141..35142) ")" - ATMOSPHERE: (35142..35143) " -" + ATMOSPHERE: (35142..35143) "\n" FORM: (35143..35173) OPEN_PAREN: (35143..35144) "(" SYMBOL: (35144..35148) IDENTIFIER: (35144..35148) "test" ATMOSPHERE: (35148..35149) " " CONSTANT: (35149..35152) - CHARACTER: (35149..35152) "#\λ" + CHARACTER: (35149..35152) "#\\λ" ATMOSPHERE: (35152..35153) " " FORM: (35153..35172) OPEN_PAREN: (35153..35154) "(" @@ -12578,18 +11233,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35154..35167) "char-downcase" ATMOSPHERE: (35167..35168) " " CONSTANT: (35168..35171) - CHARACTER: (35168..35171) "#\λ" + CHARACTER: (35168..35171) "#\\λ" CLOSE_PAREN: (35171..35172) ")" CLOSE_PAREN: (35172..35173) ")" - ATMOSPHERE: (35173..35174) " -" + ATMOSPHERE: (35173..35174) "\n" FORM: (35174..35204) OPEN_PAREN: (35174..35175) "(" SYMBOL: (35175..35179) IDENTIFIER: (35175..35179) "test" ATMOSPHERE: (35179..35180) " " CONSTANT: (35180..35183) - CHARACTER: (35180..35183) "#\λ" + CHARACTER: (35180..35183) "#\\λ" ATMOSPHERE: (35183..35184) " " FORM: (35184..35203) OPEN_PAREN: (35184..35185) "(" @@ -12597,18 +11251,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35185..35198) "char-downcase" ATMOSPHERE: (35198..35199) " " CONSTANT: (35199..35202) - CHARACTER: (35199..35202) "#\Λ" + CHARACTER: (35199..35202) "#\\Λ" CLOSE_PAREN: (35202..35203) ")" CLOSE_PAREN: (35203..35204) ")" - ATMOSPHERE: (35204..35205) " -" + ATMOSPHERE: (35204..35205) "\n" FORM: (35205..35235) OPEN_PAREN: (35205..35206) "(" SYMBOL: (35206..35210) IDENTIFIER: (35206..35210) "test" ATMOSPHERE: (35210..35211) " " CONSTANT: (35211..35214) - CHARACTER: (35211..35214) "#\λ" + CHARACTER: (35211..35214) "#\\λ" ATMOSPHERE: (35214..35215) " " FORM: (35215..35234) OPEN_PAREN: (35215..35216) "(" @@ -12616,18 +11269,17 @@ PROGRAM: (0..79716) IDENTIFIER: (35216..35229) "char-foldcase" ATMOSPHERE: (35229..35230) " " CONSTANT: (35230..35233) - CHARACTER: (35230..35233) "#\λ" + CHARACTER: (35230..35233) "#\\λ" CLOSE_PAREN: (35233..35234) ")" CLOSE_PAREN: (35234..35235) ")" - ATMOSPHERE: (35235..35236) " -" + ATMOSPHERE: (35235..35236) "\n" FORM: (35236..35266) OPEN_PAREN: (35236..35237) "(" SYMBOL: (35237..35241) IDENTIFIER: (35237..35241) "test" ATMOSPHERE: (35241..35242) " " CONSTANT: (35242..35245) - CHARACTER: (35242..35245) "#\λ" + CHARACTER: (35242..35245) "#\\λ" ATMOSPHERE: (35245..35246) " " FORM: (35246..35265) OPEN_PAREN: (35246..35247) "(" @@ -12635,382 +11287,246 @@ PROGRAM: (0..79716) IDENTIFIER: (35247..35260) "char-foldcase" ATMOSPHERE: (35260..35261) " " CONSTANT: (35261..35264) - CHARACTER: (35261..35264) "#\Λ" + CHARACTER: (35261..35264) "#\\Λ" CLOSE_PAREN: (35264..35265) ")" CLOSE_PAREN: (35265..35266) ")" - ATMOSPHERE: (35266..35268) " - -" + ATMOSPHERE: (35266..35268) "\n\n" FORM: (35268..35278) OPEN_PAREN: (35268..35269) "(" SYMBOL: (35269..35277) IDENTIFIER: (35269..35277) "test-end" CLOSE_PAREN: (35277..35278) ")" - ATMOSPHERE: (35278..35280) " - -" + ATMOSPHERE: (35278..35280) "\n\n" FORM: (35280..35306) OPEN_PAREN: (35280..35281) "(" SYMBOL: (35281..35291) IDENTIFIER: (35281..35291) "test-begin" ATMOSPHERE: (35291..35292) " " CONSTANT: (35292..35305) - STRING: (35292..35305) ""6.7 Strings"" + STRING: (35292..35305) "\"6.7 Strings\"" CLOSE_PAREN: (35305..35306) ")" - ATMOSPHERE: (35306..35308) " - -" - ATMOSPHERE: (35308..35333) ";; (test #t (string? ""))" - ATMOSPHERE: (35333..35334) " -" - ATMOSPHERE: (35334..35360) ";; (test #t (string? " "))" - ATMOSPHERE: (35360..35361) " -" + ATMOSPHERE: (35306..35308) "\n\n" + ATMOSPHERE: (35308..35333) ";; (test #t (string? \"\"))" + ATMOSPHERE: (35333..35334) "\n" + ATMOSPHERE: (35334..35360) ";; (test #t (string? \" \"))" + ATMOSPHERE: (35360..35361) "\n" ATMOSPHERE: (35361..35386) ";; (test #f (string? 'a))" - ATMOSPHERE: (35386..35387) " -" - ATMOSPHERE: (35387..35413) ";; (test #f (string? #\a))" - ATMOSPHERE: (35413..35415) " - -" + ATMOSPHERE: (35386..35387) "\n" + ATMOSPHERE: (35387..35413) ";; (test #f (string? #\\a))" + ATMOSPHERE: (35413..35415) "\n\n" ATMOSPHERE: (35415..35458) ";; (test 3 (string-length (make-string 3)))" - ATMOSPHERE: (35458..35459) " -" - ATMOSPHERE: (35459..35494) ";; (test "---" (make-string 3 #\-))" - ATMOSPHERE: (35494..35496) " - -" - ATMOSPHERE: (35496..35517) ";; (test "" (string))" - ATMOSPHERE: (35517..35518) " -" - ATMOSPHERE: (35518..35554) ";; (test "---" (string #\- #\- #\-))" - ATMOSPHERE: (35554..35555) " -" - ATMOSPHERE: (35555..35606) ";; (test "kitten" (string #\k #\i #\t #\t #\e #\n))" - ATMOSPHERE: (35606..35608) " - -" - ATMOSPHERE: (35608..35638) ";; (test 0 (string-length ""))" - ATMOSPHERE: (35638..35639) " -" - ATMOSPHERE: (35639..35670) ";; (test 1 (string-length "a"))" - ATMOSPHERE: (35670..35671) " -" - ATMOSPHERE: (35671..35704) ";; (test 3 (string-length "abc"))" - ATMOSPHERE: (35704..35706) " - -" - ATMOSPHERE: (35706..35740) ";; (test #\a (string-ref "abc" 0))" - ATMOSPHERE: (35740..35741) " -" - ATMOSPHERE: (35741..35775) ";; (test #\b (string-ref "abc" 1))" - ATMOSPHERE: (35775..35776) " -" - ATMOSPHERE: (35776..35810) ";; (test #\c (string-ref "abc" 2))" - ATMOSPHERE: (35810..35812) " - -" - ATMOSPHERE: (35812..35890) ";; (test "a-c" (let ((str (string #\a #\b #\c))) (string-set! str 1 #\-) str))" - ATMOSPHERE: (35890..35892) " - -" - ATMOSPHERE: (35892..35926) ";; (test (string #\a #\x1F700 #\c)" - ATMOSPHERE: (35926..35927) " -" - ATMOSPHERE: (35927..35965) ";; (let ((s (string #\a #\b #\c)))" - ATMOSPHERE: (35965..35966) " -" - ATMOSPHERE: (35966..36001) ";; (string-set! s 1 #\x1F700)" - ATMOSPHERE: (36001..36002) " -" + ATMOSPHERE: (35458..35459) "\n" + ATMOSPHERE: (35459..35494) ";; (test \"---\" (make-string 3 #\\-))" + ATMOSPHERE: (35494..35496) "\n\n" + ATMOSPHERE: (35496..35517) ";; (test \"\" (string))" + ATMOSPHERE: (35517..35518) "\n" + ATMOSPHERE: (35518..35554) ";; (test \"---\" (string #\\- #\\- #\\-))" + ATMOSPHERE: (35554..35555) "\n" + ATMOSPHERE: (35555..35606) ";; (test \"kitten\" (string #\\k #\\i #\\t #\\t #\\e #\\n))" + ATMOSPHERE: (35606..35608) "\n\n" + ATMOSPHERE: (35608..35638) ";; (test 0 (string-length \"\"))" + ATMOSPHERE: (35638..35639) "\n" + ATMOSPHERE: (35639..35670) ";; (test 1 (string-length \"a\"))" + ATMOSPHERE: (35670..35671) "\n" + ATMOSPHERE: (35671..35704) ";; (test 3 (string-length \"abc\"))" + ATMOSPHERE: (35704..35706) "\n\n" + ATMOSPHERE: (35706..35740) ";; (test #\\a (string-ref \"abc\" 0))" + ATMOSPHERE: (35740..35741) "\n" + ATMOSPHERE: (35741..35775) ";; (test #\\b (string-ref \"abc\" 1))" + ATMOSPHERE: (35775..35776) "\n" + ATMOSPHERE: (35776..35810) ";; (test #\\c (string-ref \"abc\" 2))" + ATMOSPHERE: (35810..35812) "\n\n" + ATMOSPHERE: (35812..35890) ";; (test \"a-c\" (let ((str (string #\\a #\\b #\\c))) (string-set! str 1 #\\-) str))" + ATMOSPHERE: (35890..35892) "\n\n" + ATMOSPHERE: (35892..35926) ";; (test (string #\\a #\\x1F700 #\\c)" + ATMOSPHERE: (35926..35927) "\n" + ATMOSPHERE: (35927..35965) ";; (let ((s (string #\\a #\\b #\\c)))" + ATMOSPHERE: (35965..35966) "\n" + ATMOSPHERE: (35966..36001) ";; (string-set! s 1 #\\x1F700)" + ATMOSPHERE: (36001..36002) "\n" ATMOSPHERE: (36002..36014) ";; s))" - ATMOSPHERE: (36014..36016) " - -" - ATMOSPHERE: (36016..36045) ";; (test #t (string=? "" ""))" - ATMOSPHERE: (36045..36046) " -" - ATMOSPHERE: (36046..36087) ";; (test #t (string=? "abc" "abc" "abc"))" - ATMOSPHERE: (36087..36088) " -" - ATMOSPHERE: (36088..36120) ";; (test #f (string=? "" "abc"))" - ATMOSPHERE: (36120..36121) " -" - ATMOSPHERE: (36121..36156) ";; (test #f (string=? "abc" "aBc"))" - ATMOSPHERE: (36156..36158) " - -" - ATMOSPHERE: (36158..36187) ";; (test #f (string? "" ""))" - ATMOSPHERE: (36370..36371) " -" - ATMOSPHERE: (36371..36406) ";; (test #f (string>? "abc" "abc"))" - ATMOSPHERE: (36406..36407) " -" - ATMOSPHERE: (36407..36443) ";; (test #f (string>? "abc" "abcd"))" - ATMOSPHERE: (36443..36444) " -" - ATMOSPHERE: (36444..36486) ";; (test #t (string>? "acd" "abcd" "abc"))" - ATMOSPHERE: (36486..36487) " -" - ATMOSPHERE: (36487..36522) ";; (test #f (string>? "abc" "bbc"))" - ATMOSPHERE: (36522..36524) " - -" - ATMOSPHERE: (36524..36554) ";; (test #t (string<=? "" ""))" - ATMOSPHERE: (36554..36555) " -" - ATMOSPHERE: (36555..36591) ";; (test #t (string<=? "abc" "abc"))" - ATMOSPHERE: (36591..36592) " -" - ATMOSPHERE: (36592..36636) ";; (test #t (string<=? "abc" "abcd" "abcd"))" - ATMOSPHERE: (36636..36637) " -" - ATMOSPHERE: (36637..36674) ";; (test #f (string<=? "abcd" "abc"))" - ATMOSPHERE: (36674..36675) " -" - ATMOSPHERE: (36675..36711) ";; (test #t (string<=? "abc" "bbc"))" - ATMOSPHERE: (36711..36713) " - -" - ATMOSPHERE: (36713..36743) ";; (test #t (string>=? "" ""))" - ATMOSPHERE: (36743..36744) " -" - ATMOSPHERE: (36744..36780) ";; (test #t (string>=? "abc" "abc"))" - ATMOSPHERE: (36780..36781) " -" - ATMOSPHERE: (36781..36818) ";; (test #f (string>=? "abc" "abcd"))" - ATMOSPHERE: (36818..36819) " -" - ATMOSPHERE: (36819..36863) ";; (test #t (string>=? "abcd" "abcd" "abc"))" - ATMOSPHERE: (36863..36864) " -" - ATMOSPHERE: (36864..36900) ";; (test #f (string>=? "abc" "bbc"))" - ATMOSPHERE: (36900..36902) " - -" - ATMOSPHERE: (36902..36934) ";; (test #t (string-ci=? "" ""))" - ATMOSPHERE: (36934..36935) " -" - ATMOSPHERE: (36935..36973) ";; (test #t (string-ci=? "abc" "abc"))" - ATMOSPHERE: (36973..36974) " -" - ATMOSPHERE: (36974..37009) ";; (test #f (string-ci=? "" "abc"))" - ATMOSPHERE: (37009..37010) " -" - ATMOSPHERE: (37010..37048) ";; (test #t (string-ci=? "abc" "aBc"))" - ATMOSPHERE: (37048..37049) " -" - ATMOSPHERE: (37049..37088) ";; (test #f (string-ci=? "abc" "aBcD"))" - ATMOSPHERE: (37088..37090) " - -" - ATMOSPHERE: (37090..37128) ";; (test #f (string-ci? "abc" "aBc"))" - ATMOSPHERE: (37248..37249) " -" - ATMOSPHERE: (37249..37288) ";; (test #f (string-ci>? "abc" "aBcD"))" - ATMOSPHERE: (37288..37289) " -" - ATMOSPHERE: (37289..37328) ";; (test #t (string-ci>? "ABCd" "aBc"))" - ATMOSPHERE: (37328..37330) " - -" - ATMOSPHERE: (37330..37369) ";; (test #t (string-ci<=? "abc" "aBc"))" - ATMOSPHERE: (37369..37370) " -" - ATMOSPHERE: (37370..37410) ";; (test #t (string-ci<=? "abc" "aBcD"))" - ATMOSPHERE: (37410..37411) " -" - ATMOSPHERE: (37411..37451) ";; (test #f (string-ci<=? "ABCd" "aBc"))" - ATMOSPHERE: (37451..37453) " - -" - ATMOSPHERE: (37453..37492) ";; (test #t (string-ci>=? "abc" "aBc"))" - ATMOSPHERE: (37492..37493) " -" - ATMOSPHERE: (37493..37533) ";; (test #f (string-ci>=? "abc" "aBcD"))" - ATMOSPHERE: (37533..37534) " -" - ATMOSPHERE: (37534..37574) ";; (test #t (string-ci>=? "ABCd" "aBc"))" - ATMOSPHERE: (37574..37576) " - -" - ATMOSPHERE: (37576..37620) ";; (test #t (string-ci=? "ΑΒΓ" "αβγ" "αβγ"))" - ATMOSPHERE: (37620..37621) " -" - ATMOSPHERE: (37621..37659) ";; (test #f (string-ci? "ΑΒΓ" "αβγ"))" - ATMOSPHERE: (37698..37699) " -" - ATMOSPHERE: (37699..37738) ";; (test #t (string-ci<=? "ΑΒΓ" "αβγ"))" - ATMOSPHERE: (37738..37739) " -" - ATMOSPHERE: (37739..37778) ";; (test #t (string-ci>=? "ΑΒΓ" "αβγ"))" - ATMOSPHERE: (37778..37780) " - -" + ATMOSPHERE: (36014..36016) "\n\n" + ATMOSPHERE: (36016..36045) ";; (test #t (string=? \"\" \"\"))" + ATMOSPHERE: (36045..36046) "\n" + ATMOSPHERE: (36046..36087) ";; (test #t (string=? \"abc\" \"abc\" \"abc\"))" + ATMOSPHERE: (36087..36088) "\n" + ATMOSPHERE: (36088..36120) ";; (test #f (string=? \"\" \"abc\"))" + ATMOSPHERE: (36120..36121) "\n" + ATMOSPHERE: (36121..36156) ";; (test #f (string=? \"abc\" \"aBc\"))" + ATMOSPHERE: (36156..36158) "\n\n" + ATMOSPHERE: (36158..36187) ";; (test #f (string? \"\" \"\"))" + ATMOSPHERE: (36370..36371) "\n" + ATMOSPHERE: (36371..36406) ";; (test #f (string>? \"abc\" \"abc\"))" + ATMOSPHERE: (36406..36407) "\n" + ATMOSPHERE: (36407..36443) ";; (test #f (string>? \"abc\" \"abcd\"))" + ATMOSPHERE: (36443..36444) "\n" + ATMOSPHERE: (36444..36486) ";; (test #t (string>? \"acd\" \"abcd\" \"abc\"))" + ATMOSPHERE: (36486..36487) "\n" + ATMOSPHERE: (36487..36522) ";; (test #f (string>? \"abc\" \"bbc\"))" + ATMOSPHERE: (36522..36524) "\n\n" + ATMOSPHERE: (36524..36554) ";; (test #t (string<=? \"\" \"\"))" + ATMOSPHERE: (36554..36555) "\n" + ATMOSPHERE: (36555..36591) ";; (test #t (string<=? \"abc\" \"abc\"))" + ATMOSPHERE: (36591..36592) "\n" + ATMOSPHERE: (36592..36636) ";; (test #t (string<=? \"abc\" \"abcd\" \"abcd\"))" + ATMOSPHERE: (36636..36637) "\n" + ATMOSPHERE: (36637..36674) ";; (test #f (string<=? \"abcd\" \"abc\"))" + ATMOSPHERE: (36674..36675) "\n" + ATMOSPHERE: (36675..36711) ";; (test #t (string<=? \"abc\" \"bbc\"))" + ATMOSPHERE: (36711..36713) "\n\n" + ATMOSPHERE: (36713..36743) ";; (test #t (string>=? \"\" \"\"))" + ATMOSPHERE: (36743..36744) "\n" + ATMOSPHERE: (36744..36780) ";; (test #t (string>=? \"abc\" \"abc\"))" + ATMOSPHERE: (36780..36781) "\n" + ATMOSPHERE: (36781..36818) ";; (test #f (string>=? \"abc\" \"abcd\"))" + ATMOSPHERE: (36818..36819) "\n" + ATMOSPHERE: (36819..36863) ";; (test #t (string>=? \"abcd\" \"abcd\" \"abc\"))" + ATMOSPHERE: (36863..36864) "\n" + ATMOSPHERE: (36864..36900) ";; (test #f (string>=? \"abc\" \"bbc\"))" + ATMOSPHERE: (36900..36902) "\n\n" + ATMOSPHERE: (36902..36934) ";; (test #t (string-ci=? \"\" \"\"))" + ATMOSPHERE: (36934..36935) "\n" + ATMOSPHERE: (36935..36973) ";; (test #t (string-ci=? \"abc\" \"abc\"))" + ATMOSPHERE: (36973..36974) "\n" + ATMOSPHERE: (36974..37009) ";; (test #f (string-ci=? \"\" \"abc\"))" + ATMOSPHERE: (37009..37010) "\n" + ATMOSPHERE: (37010..37048) ";; (test #t (string-ci=? \"abc\" \"aBc\"))" + ATMOSPHERE: (37048..37049) "\n" + ATMOSPHERE: (37049..37088) ";; (test #f (string-ci=? \"abc\" \"aBcD\"))" + ATMOSPHERE: (37088..37090) "\n\n" + ATMOSPHERE: (37090..37128) ";; (test #f (string-ci? \"abc\" \"aBc\"))" + ATMOSPHERE: (37248..37249) "\n" + ATMOSPHERE: (37249..37288) ";; (test #f (string-ci>? \"abc\" \"aBcD\"))" + ATMOSPHERE: (37288..37289) "\n" + ATMOSPHERE: (37289..37328) ";; (test #t (string-ci>? \"ABCd\" \"aBc\"))" + ATMOSPHERE: (37328..37330) "\n\n" + ATMOSPHERE: (37330..37369) ";; (test #t (string-ci<=? \"abc\" \"aBc\"))" + ATMOSPHERE: (37369..37370) "\n" + ATMOSPHERE: (37370..37410) ";; (test #t (string-ci<=? \"abc\" \"aBcD\"))" + ATMOSPHERE: (37410..37411) "\n" + ATMOSPHERE: (37411..37451) ";; (test #f (string-ci<=? \"ABCd\" \"aBc\"))" + ATMOSPHERE: (37451..37453) "\n\n" + ATMOSPHERE: (37453..37492) ";; (test #t (string-ci>=? \"abc\" \"aBc\"))" + ATMOSPHERE: (37492..37493) "\n" + ATMOSPHERE: (37493..37533) ";; (test #f (string-ci>=? \"abc\" \"aBcD\"))" + ATMOSPHERE: (37533..37534) "\n" + ATMOSPHERE: (37534..37574) ";; (test #t (string-ci>=? \"ABCd\" \"aBc\"))" + ATMOSPHERE: (37574..37576) "\n\n" + ATMOSPHERE: (37576..37620) ";; (test #t (string-ci=? \"ΑΒΓ\" \"αβγ\" \"αβγ\"))" + ATMOSPHERE: (37620..37621) "\n" + ATMOSPHERE: (37621..37659) ";; (test #f (string-ci? \"ΑΒΓ\" \"αβγ\"))" + ATMOSPHERE: (37698..37699) "\n" + ATMOSPHERE: (37699..37738) ";; (test #t (string-ci<=? \"ΑΒΓ\" \"αβγ\"))" + ATMOSPHERE: (37738..37739) "\n" + ATMOSPHERE: (37739..37778) ";; (test #t (string-ci>=? \"ΑΒΓ\" \"αβγ\"))" + ATMOSPHERE: (37778..37780) "\n\n" ATMOSPHERE: (37780..37791) ";; ;; latin" - ATMOSPHERE: (37791..37792) " -" - ATMOSPHERE: (37792..37829) ";; (test "ABC" (string-upcase "abc"))" - ATMOSPHERE: (37829..37830) " -" - ATMOSPHERE: (37830..37867) ";; (test "ABC" (string-upcase "ABC"))" - ATMOSPHERE: (37867..37868) " -" - ATMOSPHERE: (37868..37907) ";; (test "abc" (string-downcase "abc"))" - ATMOSPHERE: (37907..37908) " -" - ATMOSPHERE: (37908..37947) ";; (test "abc" (string-downcase "ABC"))" - ATMOSPHERE: (37947..37948) " -" - ATMOSPHERE: (37948..37987) ";; (test "abc" (string-foldcase "abc"))" - ATMOSPHERE: (37987..37988) " -" - ATMOSPHERE: (37988..38027) ";; (test "abc" (string-foldcase "ABC"))" - ATMOSPHERE: (38027..38029) " - -" + ATMOSPHERE: (37791..37792) "\n" + ATMOSPHERE: (37792..37829) ";; (test \"ABC\" (string-upcase \"abc\"))" + ATMOSPHERE: (37829..37830) "\n" + ATMOSPHERE: (37830..37867) ";; (test \"ABC\" (string-upcase \"ABC\"))" + ATMOSPHERE: (37867..37868) "\n" + ATMOSPHERE: (37868..37907) ";; (test \"abc\" (string-downcase \"abc\"))" + ATMOSPHERE: (37907..37908) "\n" + ATMOSPHERE: (37908..37947) ";; (test \"abc\" (string-downcase \"ABC\"))" + ATMOSPHERE: (37947..37948) "\n" + ATMOSPHERE: (37948..37987) ";; (test \"abc\" (string-foldcase \"abc\"))" + ATMOSPHERE: (37987..37988) "\n" + ATMOSPHERE: (37988..38027) ";; (test \"abc\" (string-foldcase \"ABC\"))" + ATMOSPHERE: (38027..38029) "\n\n" ATMOSPHERE: (38029..38043) ";; ;; cyrillic" - ATMOSPHERE: (38043..38044) " -" - ATMOSPHERE: (38044..38081) ";; (test "ΑΒΓ" (string-upcase "αβγ"))" - ATMOSPHERE: (38081..38082) " -" - ATMOSPHERE: (38082..38119) ";; (test "ΑΒΓ" (string-upcase "ΑΒΓ"))" - ATMOSPHERE: (38119..38120) " -" - ATMOSPHERE: (38120..38159) ";; (test "αβγ" (string-downcase "αβγ"))" - ATMOSPHERE: (38159..38160) " -" - ATMOSPHERE: (38160..38199) ";; (test "αβγ" (string-downcase "ΑΒΓ"))" - ATMOSPHERE: (38199..38200) " -" - ATMOSPHERE: (38200..38239) ";; (test "αβγ" (string-foldcase "αβγ"))" - ATMOSPHERE: (38239..38240) " -" - ATMOSPHERE: (38240..38279) ";; (test "αβγ" (string-foldcase "ΑΒΓ"))" - ATMOSPHERE: (38279..38281) " - -" + ATMOSPHERE: (38043..38044) "\n" + ATMOSPHERE: (38044..38081) ";; (test \"ΑΒΓ\" (string-upcase \"αβγ\"))" + ATMOSPHERE: (38081..38082) "\n" + ATMOSPHERE: (38082..38119) ";; (test \"ΑΒΓ\" (string-upcase \"ΑΒΓ\"))" + ATMOSPHERE: (38119..38120) "\n" + ATMOSPHERE: (38120..38159) ";; (test \"αβγ\" (string-downcase \"αβγ\"))" + ATMOSPHERE: (38159..38160) "\n" + ATMOSPHERE: (38160..38199) ";; (test \"αβγ\" (string-downcase \"ΑΒΓ\"))" + ATMOSPHERE: (38199..38200) "\n" + ATMOSPHERE: (38200..38239) ";; (test \"αβγ\" (string-foldcase \"αβγ\"))" + ATMOSPHERE: (38239..38240) "\n" + ATMOSPHERE: (38240..38279) ";; (test \"αβγ\" (string-foldcase \"ΑΒΓ\"))" + ATMOSPHERE: (38279..38281) "\n\n" ATMOSPHERE: (38281..38300) ";; ;; special cases" - ATMOSPHERE: (38300..38301) " -" - ATMOSPHERE: (38301..38337) ";; (test "SSA" (string-upcase "ßa"))" - ATMOSPHERE: (38337..38338) " -" - ATMOSPHERE: (38338..38375) ";; (test "ßa" (string-downcase "ßa"))" - ATMOSPHERE: (38375..38376) " -" - ATMOSPHERE: (38376..38415) ";; (test "ssa" (string-downcase "SSA"))" - ATMOSPHERE: (38415..38416) " -" - ATMOSPHERE: (38416..38455) ";; (test "maß" (string-downcase "Maß"))" - ATMOSPHERE: (38455..38456) " -" - ATMOSPHERE: (38456..38496) ";; (test "mass" (string-foldcase "Maß"))" - ATMOSPHERE: (38496..38497) " -" - ATMOSPHERE: (38497..38530) ";; (test "İ" (string-upcase "İ"))" - ATMOSPHERE: (38530..38531) " -" - ATMOSPHERE: (38531..38573) ";; (test "i\x0307;" (string-downcase "İ"))" - ATMOSPHERE: (38573..38574) " -" - ATMOSPHERE: (38574..38616) ";; (test "i\x0307;" (string-foldcase "İ"))" - ATMOSPHERE: (38616..38617) " -" - ATMOSPHERE: (38617..38651) ";; (test "J̌" (string-upcase "ǰ"))" - ATMOSPHERE: (38651..38652) " -" - ATMOSPHERE: (38652..38687) ";; (test "ſ" (string-downcase "ſ"))" - ATMOSPHERE: (38687..38688) " -" - ATMOSPHERE: (38688..38723) ";; (test "s" (string-foldcase "ſ"))" - ATMOSPHERE: (38723..38725) " - -" + ATMOSPHERE: (38300..38301) "\n" + ATMOSPHERE: (38301..38337) ";; (test \"SSA\" (string-upcase \"ßa\"))" + ATMOSPHERE: (38337..38338) "\n" + ATMOSPHERE: (38338..38375) ";; (test \"ßa\" (string-downcase \"ßa\"))" + ATMOSPHERE: (38375..38376) "\n" + ATMOSPHERE: (38376..38415) ";; (test \"ssa\" (string-downcase \"SSA\"))" + ATMOSPHERE: (38415..38416) "\n" + ATMOSPHERE: (38416..38455) ";; (test \"maß\" (string-downcase \"Maß\"))" + ATMOSPHERE: (38455..38456) "\n" + ATMOSPHERE: (38456..38496) ";; (test \"mass\" (string-foldcase \"Maß\"))" + ATMOSPHERE: (38496..38497) "\n" + ATMOSPHERE: (38497..38530) ";; (test \"İ\" (string-upcase \"İ\"))" + ATMOSPHERE: (38530..38531) "\n" + ATMOSPHERE: (38531..38573) ";; (test \"i\\x0307;\" (string-downcase \"İ\"))" + ATMOSPHERE: (38573..38574) "\n" + ATMOSPHERE: (38574..38616) ";; (test \"i\\x0307;\" (string-foldcase \"İ\"))" + ATMOSPHERE: (38616..38617) "\n" + ATMOSPHERE: (38617..38651) ";; (test \"J̌\" (string-upcase \"ǰ\"))" + ATMOSPHERE: (38651..38652) "\n" + ATMOSPHERE: (38652..38687) ";; (test \"ſ\" (string-downcase \"ſ\"))" + ATMOSPHERE: (38687..38688) "\n" + ATMOSPHERE: (38688..38723) ";; (test \"s\" (string-foldcase \"ſ\"))" + ATMOSPHERE: (38723..38725) "\n\n" ATMOSPHERE: (38725..38762) ";; ;; context-sensitive (final sigma)" - ATMOSPHERE: (38762..38763) " -" - ATMOSPHERE: (38763..38806) ";; (test "ΓΛΏΣΣΑ" (string-upcase "γλώσσα"))" - ATMOSPHERE: (38806..38807) " -" - ATMOSPHERE: (38807..38852) ";; (test "γλώσσα" (string-downcase "ΓΛΏΣΣΑ"))" - ATMOSPHERE: (38852..38853) " -" - ATMOSPHERE: (38853..38898) ";; (test "γλώσσα" (string-foldcase "ΓΛΏΣΣΑ"))" - ATMOSPHERE: (38898..38899) " -" - ATMOSPHERE: (38899..38940) ";; (test "ΜΈΛΟΣ" (string-upcase "μέλος"))" - ATMOSPHERE: (38940..38941) " -" - ATMOSPHERE: (38941..39016) ";; (test #t (and (member (string-downcase "ΜΈΛΟΣ") '("μέλος" "μέλοσ")) #t))" - ATMOSPHERE: (39016..39017) " -" - ATMOSPHERE: (39017..39060) ";; (test "μέλοσ" (string-foldcase "ΜΈΛΟΣ"))" - ATMOSPHERE: (39060..39061) " -" - ATMOSPHERE: (39061..39116) ";; (test #t (and (member (string-downcase "ΜΈΛΟΣ ΕΝΌΣ")" - ATMOSPHERE: (39116..39117) " -" - ATMOSPHERE: (39117..39171) ";; '("μέλος ενός" "μέλοσ ενόσ"))" - ATMOSPHERE: (39171..39172) " -" + ATMOSPHERE: (38762..38763) "\n" + ATMOSPHERE: (38763..38806) ";; (test \"ΓΛΏΣΣΑ\" (string-upcase \"γλώσσα\"))" + ATMOSPHERE: (38806..38807) "\n" + ATMOSPHERE: (38807..38852) ";; (test \"γλώσσα\" (string-downcase \"ΓΛΏΣΣΑ\"))" + ATMOSPHERE: (38852..38853) "\n" + ATMOSPHERE: (38853..38898) ";; (test \"γλώσσα\" (string-foldcase \"ΓΛΏΣΣΑ\"))" + ATMOSPHERE: (38898..38899) "\n" + ATMOSPHERE: (38899..38940) ";; (test \"ΜΈΛΟΣ\" (string-upcase \"μέλος\"))" + ATMOSPHERE: (38940..38941) "\n" + ATMOSPHERE: (38941..39016) ";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ\") '(\"μέλος\" \"μέλοσ\")) #t))" + ATMOSPHERE: (39016..39017) "\n" + ATMOSPHERE: (39017..39060) ";; (test \"μέλοσ\" (string-foldcase \"ΜΈΛΟΣ\"))" + ATMOSPHERE: (39060..39061) "\n" + ATMOSPHERE: (39061..39116) ";; (test #t (and (member (string-downcase \"ΜΈΛΟΣ ΕΝΌΣ\")" + ATMOSPHERE: (39116..39117) "\n" + ATMOSPHERE: (39117..39171) ";; '(\"μέλος ενός\" \"μέλοσ ενόσ\"))" + ATMOSPHERE: (39171..39172) "\n" ATMOSPHERE: (39172..39193) ";; #t))" - ATMOSPHERE: (39193..39195) " - -" - ATMOSPHERE: (39195..39226) ";; (test "" (substring "" 0 0))" - ATMOSPHERE: (39226..39227) " -" - ATMOSPHERE: (39227..39259) ";; (test "" (substring "a" 0 0))" - ATMOSPHERE: (39259..39260) " -" - ATMOSPHERE: (39260..39294) ";; (test "" (substring "abc" 1 1))" - ATMOSPHERE: (39294..39295) " -" - ATMOSPHERE: (39295..39331) ";; (test "ab" (substring "abc" 0 2))" - ATMOSPHERE: (39331..39332) " -" - ATMOSPHERE: (39332..39368) ";; (test "bc" (substring "abc" 1 3))" - ATMOSPHERE: (39368..39370) " - -" + ATMOSPHERE: (39193..39195) "\n\n" + ATMOSPHERE: (39195..39226) ";; (test \"\" (substring \"\" 0 0))" + ATMOSPHERE: (39226..39227) "\n" + ATMOSPHERE: (39227..39259) ";; (test \"\" (substring \"a\" 0 0))" + ATMOSPHERE: (39259..39260) "\n" + ATMOSPHERE: (39260..39294) ";; (test \"\" (substring \"abc\" 1 1))" + ATMOSPHERE: (39294..39295) "\n" + ATMOSPHERE: (39295..39331) ";; (test \"ab\" (substring \"abc\" 0 2))" + ATMOSPHERE: (39331..39332) "\n" + ATMOSPHERE: (39332..39368) ";; (test \"bc\" (substring \"abc\" 1 3))" + ATMOSPHERE: (39368..39370) "\n\n" FORM: (39370..39398) OPEN_PAREN: (39370..39371) "(" SYMBOL: (39371..39375) IDENTIFIER: (39371..39375) "test" ATMOSPHERE: (39375..39376) " " CONSTANT: (39376..39378) - STRING: (39376..39378) """" + STRING: (39376..39378) "\"\"" ATMOSPHERE: (39378..39379) " " FORM: (39379..39397) OPEN_PAREN: (39379..39380) "(" @@ -13018,18 +11534,17 @@ PROGRAM: (0..79716) IDENTIFIER: (39380..39393) "string-append" ATMOSPHERE: (39393..39394) " " CONSTANT: (39394..39396) - STRING: (39394..39396) """" + STRING: (39394..39396) "\"\"" CLOSE_PAREN: (39396..39397) ")" CLOSE_PAREN: (39397..39398) ")" - ATMOSPHERE: (39398..39399) " -" + ATMOSPHERE: (39398..39399) "\n" FORM: (39399..39430) OPEN_PAREN: (39399..39400) "(" SYMBOL: (39400..39404) IDENTIFIER: (39400..39404) "test" ATMOSPHERE: (39404..39405) " " CONSTANT: (39405..39407) - STRING: (39405..39407) """" + STRING: (39405..39407) "\"\"" ATMOSPHERE: (39407..39408) " " FORM: (39408..39429) OPEN_PAREN: (39408..39409) "(" @@ -13037,21 +11552,20 @@ PROGRAM: (0..79716) IDENTIFIER: (39409..39422) "string-append" ATMOSPHERE: (39422..39423) " " CONSTANT: (39423..39425) - STRING: (39423..39425) """" + STRING: (39423..39425) "\"\"" ATMOSPHERE: (39425..39426) " " CONSTANT: (39426..39428) - STRING: (39426..39428) """" + STRING: (39426..39428) "\"\"" CLOSE_PAREN: (39428..39429) ")" CLOSE_PAREN: (39429..39430) ")" - ATMOSPHERE: (39430..39431) " -" + ATMOSPHERE: (39430..39431) "\n" FORM: (39431..39468) OPEN_PAREN: (39431..39432) "(" SYMBOL: (39432..39436) IDENTIFIER: (39432..39436) "test" ATMOSPHERE: (39436..39437) " " CONSTANT: (39437..39442) - STRING: (39437..39442) ""abc"" + STRING: (39437..39442) "\"abc\"" ATMOSPHERE: (39442..39443) " " FORM: (39443..39467) OPEN_PAREN: (39443..39444) "(" @@ -13059,21 +11573,20 @@ PROGRAM: (0..79716) IDENTIFIER: (39444..39457) "string-append" ATMOSPHERE: (39457..39458) " " CONSTANT: (39458..39460) - STRING: (39458..39460) """" + STRING: (39458..39460) "\"\"" ATMOSPHERE: (39460..39461) " " CONSTANT: (39461..39466) - STRING: (39461..39466) ""abc"" + STRING: (39461..39466) "\"abc\"" CLOSE_PAREN: (39466..39467) ")" CLOSE_PAREN: (39467..39468) ")" - ATMOSPHERE: (39468..39469) " -" + ATMOSPHERE: (39468..39469) "\n" FORM: (39469..39506) OPEN_PAREN: (39469..39470) "(" SYMBOL: (39470..39474) IDENTIFIER: (39470..39474) "test" ATMOSPHERE: (39474..39475) " " CONSTANT: (39475..39480) - STRING: (39475..39480) ""abc"" + STRING: (39475..39480) "\"abc\"" ATMOSPHERE: (39480..39481) " " FORM: (39481..39505) OPEN_PAREN: (39481..39482) "(" @@ -13081,21 +11594,20 @@ PROGRAM: (0..79716) IDENTIFIER: (39482..39495) "string-append" ATMOSPHERE: (39495..39496) " " CONSTANT: (39496..39501) - STRING: (39496..39501) ""abc"" + STRING: (39496..39501) "\"abc\"" ATMOSPHERE: (39501..39502) " " CONSTANT: (39502..39504) - STRING: (39502..39504) """" + STRING: (39502..39504) "\"\"" CLOSE_PAREN: (39504..39505) ")" CLOSE_PAREN: (39505..39506) ")" - ATMOSPHERE: (39506..39507) " -" + ATMOSPHERE: (39506..39507) "\n" FORM: (39507..39548) OPEN_PAREN: (39507..39508) "(" SYMBOL: (39508..39512) IDENTIFIER: (39508..39512) "test" ATMOSPHERE: (39512..39513) " " CONSTANT: (39513..39520) - STRING: (39513..39520) ""abcde"" + STRING: (39513..39520) "\"abcde\"" ATMOSPHERE: (39520..39521) " " FORM: (39521..39547) OPEN_PAREN: (39521..39522) "(" @@ -13103,21 +11615,20 @@ PROGRAM: (0..79716) IDENTIFIER: (39522..39535) "string-append" ATMOSPHERE: (39535..39536) " " CONSTANT: (39536..39541) - STRING: (39536..39541) ""abc"" + STRING: (39536..39541) "\"abc\"" ATMOSPHERE: (39541..39542) " " CONSTANT: (39542..39546) - STRING: (39542..39546) ""de"" + STRING: (39542..39546) "\"de\"" CLOSE_PAREN: (39546..39547) ")" CLOSE_PAREN: (39547..39548) ")" - ATMOSPHERE: (39548..39549) " -" + ATMOSPHERE: (39548..39549) "\n" FORM: (39549..39595) OPEN_PAREN: (39549..39550) "(" SYMBOL: (39550..39554) IDENTIFIER: (39550..39554) "test" ATMOSPHERE: (39554..39555) " " CONSTANT: (39555..39563) - STRING: (39555..39563) ""abcdef"" + STRING: (39555..39563) "\"abcdef\"" ATMOSPHERE: (39563..39564) " " FORM: (39564..39594) OPEN_PAREN: (39564..39565) "(" @@ -13125,154 +11636,105 @@ PROGRAM: (0..79716) IDENTIFIER: (39565..39578) "string-append" ATMOSPHERE: (39578..39579) " " CONSTANT: (39579..39584) - STRING: (39579..39584) ""abc"" + STRING: (39579..39584) "\"abc\"" ATMOSPHERE: (39584..39585) " " CONSTANT: (39585..39589) - STRING: (39585..39589) ""de"" + STRING: (39585..39589) "\"de\"" ATMOSPHERE: (39589..39590) " " CONSTANT: (39590..39593) - STRING: (39590..39593) ""f"" + STRING: (39590..39593) "\"f\"" CLOSE_PAREN: (39593..39594) ")" CLOSE_PAREN: (39594..39595) ")" - ATMOSPHERE: (39595..39597) " - -" - ATMOSPHERE: (39597..39628) ";; (test '() (string->list ""))" - ATMOSPHERE: (39628..39629) " -" - ATMOSPHERE: (39629..39664) ";; (test '(#\a) (string->list "a"))" - ATMOSPHERE: (39664..39665) " -" - ATMOSPHERE: (39665..39710) ";; (test '(#\a #\b #\c) (string->list "abc"))" - ATMOSPHERE: (39710..39711) " -" - ATMOSPHERE: (39711..39758) ";; (test '(#\a #\b #\c) (string->list "abc" 0))" - ATMOSPHERE: (39758..39759) " -" - ATMOSPHERE: (39759..39802) ";; (test '(#\b #\c) (string->list "abc" 1))" - ATMOSPHERE: (39802..39803) " -" - ATMOSPHERE: (39803..39848) ";; (test '(#\b #\c) (string->list "abc" 1 3))" - ATMOSPHERE: (39848..39850) " - -" - ATMOSPHERE: (39850..39881) ";; (test "" (list->string '()))" - ATMOSPHERE: (39881..39882) " -" - ATMOSPHERE: (39882..39927) ";; (test "abc" (list->string '(#\a #\b #\c)))" - ATMOSPHERE: (39927..39929) " - -" - ATMOSPHERE: (39929..39958) ";; (test "" (string-copy ""))" - ATMOSPHERE: (39958..39959) " -" - ATMOSPHERE: (39959..39990) ";; (test "" (string-copy "" 0))" - ATMOSPHERE: (39990..39991) " -" - ATMOSPHERE: (39991..40024) ";; (test "" (string-copy "" 0 0))" - ATMOSPHERE: (40024..40025) " -" - ATMOSPHERE: (40025..40060) ";; (test "abc" (string-copy "abc"))" - ATMOSPHERE: (40060..40061) " -" - ATMOSPHERE: (40061..40098) ";; (test "abc" (string-copy "abc" 0))" - ATMOSPHERE: (40098..40099) " -" - ATMOSPHERE: (40099..40135) ";; (test "bc" (string-copy "abc" 1))" - ATMOSPHERE: (40135..40136) " -" - ATMOSPHERE: (40136..40173) ";; (test "b" (string-copy "abc" 1 2))" - ATMOSPHERE: (40173..40174) " -" - ATMOSPHERE: (40174..40212) ";; (test "bc" (string-copy "abc" 1 3))" - ATMOSPHERE: (40212..40214) " - -" - ATMOSPHERE: (40214..40230) ";; (test "-----"" - ATMOSPHERE: (40230..40231) " -" - ATMOSPHERE: (40231..40299) ";; (let ((str (make-string 5 #\x))) (string-fill! str #\-) str))" - ATMOSPHERE: (40299..40300) " -" - ATMOSPHERE: (40300..40316) ";; (test "xx---"" - ATMOSPHERE: (40316..40317) " -" - ATMOSPHERE: (40317..40387) ";; (let ((str (make-string 5 #\x))) (string-fill! str #\- 2) str))" - ATMOSPHERE: (40387..40388) " -" - ATMOSPHERE: (40388..40404) ";; (test "xx-xx"" - ATMOSPHERE: (40404..40405) " -" - ATMOSPHERE: (40405..40477) ";; (let ((str (make-string 5 #\x))) (string-fill! str #\- 2 3) str))" - ATMOSPHERE: (40477..40479) " - -" - ATMOSPHERE: (40479..40495) ";; (test "a12de"" - ATMOSPHERE: (40495..40496) " -" - ATMOSPHERE: (40496..40576) ";; (let ((str (string-copy "abcde"))) (string-copy! str 1 "12345" 0 2) str))" - ATMOSPHERE: (40576..40577) " -" - ATMOSPHERE: (40577..40593) ";; (test "-----"" - ATMOSPHERE: (40593..40594) " -" - ATMOSPHERE: (40594..40668) ";; (let ((str (make-string 5 #\x))) (string-copy! str 0 "-----") str))" - ATMOSPHERE: (40668..40669) " -" - ATMOSPHERE: (40669..40685) ";; (test "---xx"" - ATMOSPHERE: (40685..40686) " -" - ATMOSPHERE: (40686..40762) ";; (let ((str (make-string 5 #\x))) (string-copy! str 0 "-----" 2) str))" - ATMOSPHERE: (40762..40763) " -" - ATMOSPHERE: (40763..40779) ";; (test "xx---"" - ATMOSPHERE: (40779..40780) " -" - ATMOSPHERE: (40780..40858) ";; (let ((str (make-string 5 #\x))) (string-copy! str 2 "-----" 0 3) str))" - ATMOSPHERE: (40858..40859) " -" - ATMOSPHERE: (40859..40875) ";; (test "xx-xx"" - ATMOSPHERE: (40875..40876) " -" - ATMOSPHERE: (40876..40954) ";; (let ((str (make-string 5 #\x))) (string-copy! str 2 "-----" 2 3) str))" - ATMOSPHERE: (40954..40956) " - -" + ATMOSPHERE: (39595..39597) "\n\n" + ATMOSPHERE: (39597..39628) ";; (test '() (string->list \"\"))" + ATMOSPHERE: (39628..39629) "\n" + ATMOSPHERE: (39629..39664) ";; (test '(#\\a) (string->list \"a\"))" + ATMOSPHERE: (39664..39665) "\n" + ATMOSPHERE: (39665..39710) ";; (test '(#\\a #\\b #\\c) (string->list \"abc\"))" + ATMOSPHERE: (39710..39711) "\n" + ATMOSPHERE: (39711..39758) ";; (test '(#\\a #\\b #\\c) (string->list \"abc\" 0))" + ATMOSPHERE: (39758..39759) "\n" + ATMOSPHERE: (39759..39802) ";; (test '(#\\b #\\c) (string->list \"abc\" 1))" + ATMOSPHERE: (39802..39803) "\n" + ATMOSPHERE: (39803..39848) ";; (test '(#\\b #\\c) (string->list \"abc\" 1 3))" + ATMOSPHERE: (39848..39850) "\n\n" + ATMOSPHERE: (39850..39881) ";; (test \"\" (list->string '()))" + ATMOSPHERE: (39881..39882) "\n" + ATMOSPHERE: (39882..39927) ";; (test \"abc\" (list->string '(#\\a #\\b #\\c)))" + ATMOSPHERE: (39927..39929) "\n\n" + ATMOSPHERE: (39929..39958) ";; (test \"\" (string-copy \"\"))" + ATMOSPHERE: (39958..39959) "\n" + ATMOSPHERE: (39959..39990) ";; (test \"\" (string-copy \"\" 0))" + ATMOSPHERE: (39990..39991) "\n" + ATMOSPHERE: (39991..40024) ";; (test \"\" (string-copy \"\" 0 0))" + ATMOSPHERE: (40024..40025) "\n" + ATMOSPHERE: (40025..40060) ";; (test \"abc\" (string-copy \"abc\"))" + ATMOSPHERE: (40060..40061) "\n" + ATMOSPHERE: (40061..40098) ";; (test \"abc\" (string-copy \"abc\" 0))" + ATMOSPHERE: (40098..40099) "\n" + ATMOSPHERE: (40099..40135) ";; (test \"bc\" (string-copy \"abc\" 1))" + ATMOSPHERE: (40135..40136) "\n" + ATMOSPHERE: (40136..40173) ";; (test \"b\" (string-copy \"abc\" 1 2))" + ATMOSPHERE: (40173..40174) "\n" + ATMOSPHERE: (40174..40212) ";; (test \"bc\" (string-copy \"abc\" 1 3))" + ATMOSPHERE: (40212..40214) "\n\n" + ATMOSPHERE: (40214..40230) ";; (test \"-----\"" + ATMOSPHERE: (40230..40231) "\n" + ATMOSPHERE: (40231..40299) ";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\-) str))" + ATMOSPHERE: (40299..40300) "\n" + ATMOSPHERE: (40300..40316) ";; (test \"xx---\"" + ATMOSPHERE: (40316..40317) "\n" + ATMOSPHERE: (40317..40387) ";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2) str))" + ATMOSPHERE: (40387..40388) "\n" + ATMOSPHERE: (40388..40404) ";; (test \"xx-xx\"" + ATMOSPHERE: (40404..40405) "\n" + ATMOSPHERE: (40405..40477) ";; (let ((str (make-string 5 #\\x))) (string-fill! str #\\- 2 3) str))" + ATMOSPHERE: (40477..40479) "\n\n" + ATMOSPHERE: (40479..40495) ";; (test \"a12de\"" + ATMOSPHERE: (40495..40496) "\n" + ATMOSPHERE: (40496..40576) ";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 \"12345\" 0 2) str))" + ATMOSPHERE: (40576..40577) "\n" + ATMOSPHERE: (40577..40593) ";; (test \"-----\"" + ATMOSPHERE: (40593..40594) "\n" + ATMOSPHERE: (40594..40668) ";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\") str))" + ATMOSPHERE: (40668..40669) "\n" + ATMOSPHERE: (40669..40685) ";; (test \"---xx\"" + ATMOSPHERE: (40685..40686) "\n" + ATMOSPHERE: (40686..40762) ";; (let ((str (make-string 5 #\\x))) (string-copy! str 0 \"-----\" 2) str))" + ATMOSPHERE: (40762..40763) "\n" + ATMOSPHERE: (40763..40779) ";; (test \"xx---\"" + ATMOSPHERE: (40779..40780) "\n" + ATMOSPHERE: (40780..40858) ";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 0 3) str))" + ATMOSPHERE: (40858..40859) "\n" + ATMOSPHERE: (40859..40875) ";; (test \"xx-xx\"" + ATMOSPHERE: (40875..40876) "\n" + ATMOSPHERE: (40876..40954) ";; (let ((str (make-string 5 #\\x))) (string-copy! str 2 \"-----\" 2 3) str))" + ATMOSPHERE: (40954..40956) "\n\n" ATMOSPHERE: (40956..40982) ";; ;; same source and dest" - ATMOSPHERE: (40982..40983) " -" - ATMOSPHERE: (40983..40999) ";; (test "aabde"" - ATMOSPHERE: (40999..41000) " -" - ATMOSPHERE: (41000..41076) ";; (let ((str (string-copy "abcde"))) (string-copy! str 1 str 0 2) str))" - ATMOSPHERE: (41076..41077) " -" - ATMOSPHERE: (41077..41093) ";; (test "abcab"" - ATMOSPHERE: (41093..41094) " -" - ATMOSPHERE: (41094..41170) ";; (let ((str (string-copy "abcde"))) (string-copy! str 3 str 0 2) str))" - ATMOSPHERE: (41170..41172) " - -" + ATMOSPHERE: (40982..40983) "\n" + ATMOSPHERE: (40983..40999) ";; (test \"aabde\"" + ATMOSPHERE: (40999..41000) "\n" + ATMOSPHERE: (41000..41076) ";; (let ((str (string-copy \"abcde\"))) (string-copy! str 1 str 0 2) str))" + ATMOSPHERE: (41076..41077) "\n" + ATMOSPHERE: (41077..41093) ";; (test \"abcab\"" + ATMOSPHERE: (41093..41094) "\n" + ATMOSPHERE: (41094..41170) ";; (let ((str (string-copy \"abcde\"))) (string-copy! str 3 str 0 2) str))" + ATMOSPHERE: (41170..41172) "\n\n" FORM: (41172..41182) OPEN_PAREN: (41172..41173) "(" SYMBOL: (41173..41181) IDENTIFIER: (41173..41181) "test-end" CLOSE_PAREN: (41181..41182) ")" - ATMOSPHERE: (41182..41184) " - -" + ATMOSPHERE: (41182..41184) "\n\n" FORM: (41184..41210) OPEN_PAREN: (41184..41185) "(" SYMBOL: (41185..41195) IDENTIFIER: (41185..41195) "test-begin" ATMOSPHERE: (41195..41196) " " CONSTANT: (41196..41209) - STRING: (41196..41209) ""6.8 Vectors"" + STRING: (41196..41209) "\"6.8 Vectors\"" CLOSE_PAREN: (41209..41210) ")" - ATMOSPHERE: (41210..41212) " - -" + ATMOSPHERE: (41210..41212) "\n\n" FORM: (41212..41235) OPEN_PAREN: (41212..41213) "(" SYMBOL: (41213..41217) @@ -13291,8 +11753,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41232..41233) ")" CLOSE_PAREN: (41233..41234) ")" CLOSE_PAREN: (41234..41235) ")" - ATMOSPHERE: (41235..41236) " -" + ATMOSPHERE: (41235..41236) "\n" FORM: (41236..41264) OPEN_PAREN: (41236..41237) "(" SYMBOL: (41237..41241) @@ -13319,8 +11780,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41261..41262) ")" CLOSE_PAREN: (41262..41263) ")" CLOSE_PAREN: (41263..41264) ")" - ATMOSPHERE: (41264..41265) " -" + ATMOSPHERE: (41264..41265) "\n" FORM: (41265..41294) OPEN_PAREN: (41265..41266) "(" SYMBOL: (41266..41270) @@ -13349,9 +11809,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41291..41292) ")" CLOSE_PAREN: (41292..41293) ")" CLOSE_PAREN: (41293..41294) ")" - ATMOSPHERE: (41294..41296) " - -" + ATMOSPHERE: (41294..41296) "\n\n" FORM: (41296..41336) OPEN_PAREN: (41296..41297) "(" SYMBOL: (41297..41301) @@ -13375,8 +11833,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41333..41334) ")" CLOSE_PAREN: (41334..41335) ")" CLOSE_PAREN: (41335..41336) ")" - ATMOSPHERE: (41336..41337) " -" + ATMOSPHERE: (41336..41337) "\n" FORM: (41337..41383) OPEN_PAREN: (41337..41338) "(" SYMBOL: (41338..41342) @@ -13400,9 +11857,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41380..41381) ")" CLOSE_PAREN: (41381..41382) ")" CLOSE_PAREN: (41382..41383) ")" - ATMOSPHERE: (41383..41385) " - -" + ATMOSPHERE: (41383..41385) "\n\n" FORM: (41385..41436) OPEN_PAREN: (41385..41386) "(" SYMBOL: (41386..41390) @@ -13429,7 +11884,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41403..41404) ")" ATMOSPHERE: (41404..41405) " " CONSTANT: (41405..41411) - STRING: (41405..41411) ""Anna"" + STRING: (41405..41411) "\"Anna\"" CLOSE_PAREN: (41411..41412) ")" ATMOSPHERE: (41412..41413) " " QUOTED_DATUM: (41413..41435) @@ -13455,12 +11910,10 @@ PROGRAM: (0..79716) CLOSE_PAREN: (41426..41427) ")" ATMOSPHERE: (41427..41428) " " CONSTANT: (41428..41434) - STRING: (41428..41434) ""Anna"" + STRING: (41428..41434) "\"Anna\"" CLOSE_PAREN: (41434..41435) ")" CLOSE_PAREN: (41435..41436) ")" - ATMOSPHERE: (41436..41438) " - -" + ATMOSPHERE: (41436..41438) "\n\n" FORM: (41438..41471) OPEN_PAREN: (41438..41439) "(" SYMBOL: (41439..41443) @@ -13499,9 +11952,7 @@ PROGRAM: (0..79716) IDENTIFIER: (41468..41469) "c" CLOSE_PAREN: (41469..41470) ")" CLOSE_PAREN: (41470..41471) ")" - ATMOSPHERE: (41471..41473) " - -" + ATMOSPHERE: (41471..41473) "\n\n" FORM: (41473..41518) OPEN_PAREN: (41473..41474) "(" SYMBOL: (41474..41478) @@ -13548,196 +11999,128 @@ PROGRAM: (0..79716) NUMBER: (41515..41516) "5" CLOSE_PAREN: (41516..41517) ")" CLOSE_PAREN: (41517..41518) ")" - ATMOSPHERE: (41518..41519) " -" + ATMOSPHERE: (41518..41519) "\n" ATMOSPHERE: (41519..41564) ";; (test 13 (vector-ref '#(1 1 2 3 5 8 13 21)" - ATMOSPHERE: (41564..41565) " -" + ATMOSPHERE: (41564..41565) "\n" ATMOSPHERE: (41565..41614) ";; (let ((i (round (* 2 (acos -1)))))" - ATMOSPHERE: (41614..41615) " -" + ATMOSPHERE: (41614..41615) "\n" ATMOSPHERE: (41615..41648) ";; (if (inexact? i)" - ATMOSPHERE: (41648..41649) " -" + ATMOSPHERE: (41648..41649) "\n" ATMOSPHERE: (41649..41679) ";; (exact i)" - ATMOSPHERE: (41679..41680) " -" + ATMOSPHERE: (41679..41680) "\n" ATMOSPHERE: (41680..41706) ";; i))))" - ATMOSPHERE: (41706..41708) " - -" - ATMOSPHERE: (41708..41784) ";; (test #(0 ("Sue" "Sue") "Anna") (let ((vec (vector 0 '(2 2 2 2) "Anna")))" - ATMOSPHERE: (41784..41785) " -" - ATMOSPHERE: (41785..41824) ";; (vector-set! vec 1 '("Sue" "Sue"))" - ATMOSPHERE: (41824..41825) " -" + ATMOSPHERE: (41706..41708) "\n\n" + ATMOSPHERE: (41708..41784) ";; (test #(0 (\"Sue\" \"Sue\") \"Anna\") (let ((vec (vector 0 '(2 2 2 2) \"Anna\")))" + ATMOSPHERE: (41784..41785) "\n" + ATMOSPHERE: (41785..41824) ";; (vector-set! vec 1 '(\"Sue\" \"Sue\"))" + ATMOSPHERE: (41824..41825) "\n" ATMOSPHERE: (41825..41835) ";; vec))" - ATMOSPHERE: (41835..41837) " - -" + ATMOSPHERE: (41835..41837) "\n\n" ATMOSPHERE: (41837..41896) ";; (test '(dah dah didah) (vector->list '#(dah dah didah)))" - ATMOSPHERE: (41896..41897) " -" + ATMOSPHERE: (41896..41897) "\n" ATMOSPHERE: (41897..41954) ";; (test '(dah didah) (vector->list '#(dah dah didah) 1))" - ATMOSPHERE: (41954..41955) " -" + ATMOSPHERE: (41954..41955) "\n" ATMOSPHERE: (41955..42008) ";; (test '(dah) (vector->list '#(dah dah didah) 1 2))" - ATMOSPHERE: (42008..42009) " -" + ATMOSPHERE: (42008..42009) "\n" ATMOSPHERE: (42009..42063) ";; (test #(dididit dah) (list->vector '(dididit dah)))" - ATMOSPHERE: (42063..42065) " - -" - ATMOSPHERE: (42065..42098) ";; (test #() (string->vector ""))" - ATMOSPHERE: (42098..42099) " -" - ATMOSPHERE: (42099..42146) ";; (test #(#\A #\B #\C) (string->vector "ABC"))" - ATMOSPHERE: (42146..42147) " -" - ATMOSPHERE: (42147..42192) ";; (test #(#\B #\C) (string->vector "ABC" 1))" - ATMOSPHERE: (42192..42193) " -" - ATMOSPHERE: (42193..42236) ";; (test #(#\B) (string->vector "ABC" 1 2))" - ATMOSPHERE: (42236..42238) " - -" - ATMOSPHERE: (42238..42271) ";; (test "" (vector->string #()))" - ATMOSPHERE: (42271..42272) " -" - ATMOSPHERE: (42272..42319) ";; (test "123" (vector->string #(#\1 #\2 #\3)))" - ATMOSPHERE: (42319..42320) " -" - ATMOSPHERE: (42320..42368) ";; (test "23" (vector->string #(#\1 #\2 #\3) 1))" - ATMOSPHERE: (42368..42369) " -" - ATMOSPHERE: (42369..42418) ";; (test "2" (vector->string #(#\1 #\2 #\3) 1 2))" - ATMOSPHERE: (42418..42420) " - -" + ATMOSPHERE: (42063..42065) "\n\n" + ATMOSPHERE: (42065..42098) ";; (test #() (string->vector \"\"))" + ATMOSPHERE: (42098..42099) "\n" + ATMOSPHERE: (42099..42146) ";; (test #(#\\A #\\B #\\C) (string->vector \"ABC\"))" + ATMOSPHERE: (42146..42147) "\n" + ATMOSPHERE: (42147..42192) ";; (test #(#\\B #\\C) (string->vector \"ABC\" 1))" + ATMOSPHERE: (42192..42193) "\n" + ATMOSPHERE: (42193..42236) ";; (test #(#\\B) (string->vector \"ABC\" 1 2))" + ATMOSPHERE: (42236..42238) "\n\n" + ATMOSPHERE: (42238..42271) ";; (test \"\" (vector->string #()))" + ATMOSPHERE: (42271..42272) "\n" + ATMOSPHERE: (42272..42319) ";; (test \"123\" (vector->string #(#\\1 #\\2 #\\3)))" + ATMOSPHERE: (42319..42320) "\n" + ATMOSPHERE: (42320..42368) ";; (test \"23\" (vector->string #(#\\1 #\\2 #\\3) 1))" + ATMOSPHERE: (42368..42369) "\n" + ATMOSPHERE: (42369..42418) ";; (test \"2\" (vector->string #(#\\1 #\\2 #\\3) 1 2))" + ATMOSPHERE: (42418..42420) "\n\n" ATMOSPHERE: (42420..42451) ";; (test #() (vector-copy #()))" - ATMOSPHERE: (42451..42452) " -" + ATMOSPHERE: (42451..42452) "\n" ATMOSPHERE: (42452..42493) ";; (test #(a b c) (vector-copy #(a b c)))" - ATMOSPHERE: (42493..42494) " -" + ATMOSPHERE: (42493..42494) "\n" ATMOSPHERE: (42494..42535) ";; (test #(b c) (vector-copy #(a b c) 1))" - ATMOSPHERE: (42535..42536) " -" + ATMOSPHERE: (42535..42536) "\n" ATMOSPHERE: (42536..42577) ";; (test #(b) (vector-copy #(a b c) 1 2))" - ATMOSPHERE: (42577..42579) " - -" + ATMOSPHERE: (42577..42579) "\n\n" ATMOSPHERE: (42579..42612) ";; (test #() (vector-append #()))" - ATMOSPHERE: (42612..42613) " -" + ATMOSPHERE: (42612..42613) "\n" ATMOSPHERE: (42613..42650) ";; (test #() (vector-append #() #()))" - ATMOSPHERE: (42650..42651) " -" + ATMOSPHERE: (42650..42651) "\n" ATMOSPHERE: (42651..42698) ";; (test #(a b c) (vector-append #() #(a b c)))" - ATMOSPHERE: (42698..42699) " -" + ATMOSPHERE: (42698..42699) "\n" ATMOSPHERE: (42699..42746) ";; (test #(a b c) (vector-append #(a b c) #()))" - ATMOSPHERE: (42746..42747) " -" + ATMOSPHERE: (42746..42747) "\n" ATMOSPHERE: (42747..42801) ";; (test #(a b c d e) (vector-append #(a b c) #(d e)))" - ATMOSPHERE: (42801..42802) " -" + ATMOSPHERE: (42801..42802) "\n" ATMOSPHERE: (42802..42863) ";; (test #(a b c d e f) (vector-append #(a b c) #(d e) #(f)))" - ATMOSPHERE: (42863..42865) " - -" + ATMOSPHERE: (42863..42865) "\n\n" ATMOSPHERE: (42865..42894) ";; (test #(1 2 smash smash 5)" - ATMOSPHERE: (42894..42895) " -" + ATMOSPHERE: (42894..42895) "\n" ATMOSPHERE: (42895..42969) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'smash 2 4) vec))" - ATMOSPHERE: (42969..42970) " -" + ATMOSPHERE: (42969..42970) "\n" ATMOSPHERE: (42970..42991) ";; (test #(x x x x x)" - ATMOSPHERE: (42991..42992) " -" + ATMOSPHERE: (42991..42992) "\n" ATMOSPHERE: (42992..43058) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x) vec))" - ATMOSPHERE: (43058..43059) " -" + ATMOSPHERE: (43058..43059) "\n" ATMOSPHERE: (43059..43080) ";; (test #(1 2 x x x)" - ATMOSPHERE: (43080..43081) " -" + ATMOSPHERE: (43080..43081) "\n" ATMOSPHERE: (43081..43149) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2) vec))" - ATMOSPHERE: (43149..43150) " -" + ATMOSPHERE: (43149..43150) "\n" ATMOSPHERE: (43150..43171) ";; (test #(1 2 x 4 5)" - ATMOSPHERE: (43171..43172) " -" + ATMOSPHERE: (43171..43172) "\n" ATMOSPHERE: (43172..43242) ";; (let ((vec (vector 1 2 3 4 5))) (vector-fill! vec 'x 2 3) vec))" - ATMOSPHERE: (43242..43244) " - -" + ATMOSPHERE: (43242..43244) "\n\n" ATMOSPHERE: (43244..43265) ";; (test #(1 a b 4 5)" - ATMOSPHERE: (43265..43266) " -" + ATMOSPHERE: (43265..43266) "\n" ATMOSPHERE: (43266..43348) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 #(a b c d e) 0 2) vec))" - ATMOSPHERE: (43348..43349) " -" + ATMOSPHERE: (43348..43349) "\n" ATMOSPHERE: (43349..43370) ";; (test #(a b c d e)" - ATMOSPHERE: (43370..43371) " -" + ATMOSPHERE: (43370..43371) "\n" ATMOSPHERE: (43371..43449) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e)) vec))" - ATMOSPHERE: (43449..43450) " -" + ATMOSPHERE: (43449..43450) "\n" ATMOSPHERE: (43450..43471) ";; (test #(c d e 4 5)" - ATMOSPHERE: (43471..43472) " -" + ATMOSPHERE: (43471..43472) "\n" ATMOSPHERE: (43472..43552) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 0 #(a b c d e) 2) vec))" - ATMOSPHERE: (43552..43553) " -" + ATMOSPHERE: (43552..43553) "\n" ATMOSPHERE: (43553..43574) ";; (test #(1 2 a b c)" - ATMOSPHERE: (43574..43575) " -" + ATMOSPHERE: (43574..43575) "\n" ATMOSPHERE: (43575..43657) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 0 3) vec))" - ATMOSPHERE: (43657..43658) " -" + ATMOSPHERE: (43657..43658) "\n" ATMOSPHERE: (43658..43679) ";; (test #(1 2 c 4 5)" - ATMOSPHERE: (43679..43680) " -" + ATMOSPHERE: (43679..43680) "\n" ATMOSPHERE: (43680..43762) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 2 #(a b c d e) 2 3) vec))" - ATMOSPHERE: (43762..43764) " - -" + ATMOSPHERE: (43762..43764) "\n\n" ATMOSPHERE: (43764..43790) ";; ;; same source and dest" - ATMOSPHERE: (43790..43791) " -" + ATMOSPHERE: (43790..43791) "\n" ATMOSPHERE: (43791..43812) ";; (test #(1 1 2 4 5)" - ATMOSPHERE: (43812..43813) " -" + ATMOSPHERE: (43812..43813) "\n" ATMOSPHERE: (43813..43886) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 1 vec 0 2) vec))" - ATMOSPHERE: (43886..43887) " -" + ATMOSPHERE: (43886..43887) "\n" ATMOSPHERE: (43887..43908) ";; (test #(1 2 3 1 2)" - ATMOSPHERE: (43908..43909) " -" + ATMOSPHERE: (43908..43909) "\n" ATMOSPHERE: (43909..43982) ";; (let ((vec (vector 1 2 3 4 5))) (vector-copy! vec 3 vec 0 2) vec))" - ATMOSPHERE: (43982..43984) " - -" + ATMOSPHERE: (43982..43984) "\n\n" FORM: (43984..43994) OPEN_PAREN: (43984..43985) "(" SYMBOL: (43985..43993) IDENTIFIER: (43985..43993) "test-end" CLOSE_PAREN: (43993..43994) ")" - ATMOSPHERE: (43994..43996) " - -" + ATMOSPHERE: (43994..43996) "\n\n" FORM: (43996..44026) OPEN_PAREN: (43996..43997) "(" SYMBOL: (43997..44007) IDENTIFIER: (43997..44007) "test-begin" ATMOSPHERE: (44007..44008) " " CONSTANT: (44008..44025) - STRING: (44008..44025) ""6.9 Bytevectors"" + STRING: (44008..44025) "\"6.9 Bytevectors\"" CLOSE_PAREN: (44025..44026) ")" - ATMOSPHERE: (44026..44028) " - -" + ATMOSPHERE: (44026..44028) "\n\n" FORM: (44028..44057) OPEN_PAREN: (44028..44029) "(" SYMBOL: (44029..44033) @@ -13756,8 +12139,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44054..44055) ")" CLOSE_PAREN: (44055..44056) ")" CLOSE_PAREN: (44056..44057) ")" - ATMOSPHERE: (44057..44058) " -" + ATMOSPHERE: (44057..44058) "\n" FORM: (44058..44092) OPEN_PAREN: (44058..44059) "(" SYMBOL: (44059..44063) @@ -13784,8 +12166,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44089..44090) ")" CLOSE_PAREN: (44090..44091) ")" CLOSE_PAREN: (44091..44092) ")" - ATMOSPHERE: (44092..44093) " -" + ATMOSPHERE: (44092..44093) "\n" FORM: (44093..44120) OPEN_PAREN: (44093..44094) "(" SYMBOL: (44094..44098) @@ -13804,8 +12185,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44117..44118) ")" CLOSE_PAREN: (44118..44119) ")" CLOSE_PAREN: (44119..44120) ")" - ATMOSPHERE: (44120..44121) " -" + ATMOSPHERE: (44120..44121) "\n" FORM: (44121..44153) OPEN_PAREN: (44121..44122) "(" SYMBOL: (44122..44126) @@ -13832,8 +12212,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44150..44151) ")" CLOSE_PAREN: (44151..44152) ")" CLOSE_PAREN: (44152..44153) ")" - ATMOSPHERE: (44153..44154) " -" + ATMOSPHERE: (44153..44154) "\n" FORM: (44154..44181) OPEN_PAREN: (44154..44155) "(" SYMBOL: (44155..44159) @@ -13854,8 +12233,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44178..44179) ")" CLOSE_PAREN: (44179..44180) ")" CLOSE_PAREN: (44180..44181) ")" - ATMOSPHERE: (44181..44182) " -" + ATMOSPHERE: (44181..44182) "\n" FORM: (44182..44225) OPEN_PAREN: (44182..44183) "(" SYMBOL: (44183..44187) @@ -13879,9 +12257,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44222..44223) ")" CLOSE_PAREN: (44223..44224) ")" CLOSE_PAREN: (44224..44225) ")" - ATMOSPHERE: (44225..44227) " - -" + ATMOSPHERE: (44225..44227) "\n\n" FORM: (44227..44275) OPEN_PAREN: (44227..44228) "(" SYMBOL: (44228..44232) @@ -13905,8 +12281,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44272..44273) ")" CLOSE_PAREN: (44273..44274) ")" CLOSE_PAREN: (44274..44275) ")" - ATMOSPHERE: (44275..44276) " -" + ATMOSPHERE: (44275..44276) "\n" FORM: (44276..44330) OPEN_PAREN: (44276..44277) "(" SYMBOL: (44277..44281) @@ -13930,8 +12305,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44327..44328) ")" CLOSE_PAREN: (44328..44329) ")" CLOSE_PAREN: (44329..44330) ")" - ATMOSPHERE: (44330..44331) " -" + ATMOSPHERE: (44330..44331) "\n" FORM: (44331..44389) OPEN_PAREN: (44331..44332) "(" SYMBOL: (44332..44336) @@ -13958,9 +12332,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44386..44387) ")" CLOSE_PAREN: (44387..44388) ")" CLOSE_PAREN: (44388..44389) ")" - ATMOSPHERE: (44389..44391) " - -" + ATMOSPHERE: (44389..44391) "\n\n" FORM: (44391..44438) OPEN_PAREN: (44391..44392) "(" SYMBOL: (44392..44396) @@ -13990,191 +12362,126 @@ PROGRAM: (0..79716) CLOSE_PAREN: (44435..44436) ")" CLOSE_PAREN: (44436..44437) ")" CLOSE_PAREN: (44437..44438) ")" - ATMOSPHERE: (44438..44440) " - -" + ATMOSPHERE: (44438..44440) "\n\n" ATMOSPHERE: (44440..44492) ";; (test 0 (bytevector-u8-ref (bytevector 0 1 2) 0))" - ATMOSPHERE: (44492..44493) " -" + ATMOSPHERE: (44492..44493) "\n" ATMOSPHERE: (44493..44545) ";; (test 1 (bytevector-u8-ref (bytevector 0 1 2) 1))" - ATMOSPHERE: (44545..44546) " -" + ATMOSPHERE: (44545..44546) "\n" ATMOSPHERE: (44546..44598) ";; (test 2 (bytevector-u8-ref (bytevector 0 1 2) 2))" - ATMOSPHERE: (44598..44600) " - -" + ATMOSPHERE: (44598..44600) "\n\n" ATMOSPHERE: (44600..44621) ";; (test #u8(0 255 2)" - ATMOSPHERE: (44621..44622) " -" + ATMOSPHERE: (44621..44622) "\n" ATMOSPHERE: (44622..44694) ";; (let ((bv (bytevector 0 1 2))) (bytevector-u8-set! bv 1 255) bv))" - ATMOSPHERE: (44694..44696) " - -" + ATMOSPHERE: (44694..44696) "\n\n" ATMOSPHERE: (44696..44735) ";; (test #u8() (bytevector-copy #u8()))" - ATMOSPHERE: (44735..44736) " -" + ATMOSPHERE: (44735..44736) "\n" ATMOSPHERE: (44736..44785) ";; (test #u8(0 1 2) (bytevector-copy #u8(0 1 2)))" - ATMOSPHERE: (44785..44786) " -" + ATMOSPHERE: (44785..44786) "\n" ATMOSPHERE: (44786..44835) ";; (test #u8(1 2) (bytevector-copy #u8(0 1 2) 1))" - ATMOSPHERE: (44835..44836) " -" + ATMOSPHERE: (44835..44836) "\n" ATMOSPHERE: (44836..44885) ";; (test #u8(1) (bytevector-copy #u8(0 1 2) 1 2))" - ATMOSPHERE: (44885..44887) " - -" + ATMOSPHERE: (44885..44887) "\n\n" ATMOSPHERE: (44887..44910) ";; (test #u8(1 6 7 4 5)" - ATMOSPHERE: (44910..44911) " -" + ATMOSPHERE: (44910..44911) "\n" ATMOSPHERE: (44911..44952) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (44952..44953) " -" + ATMOSPHERE: (44952..44953) "\n" ATMOSPHERE: (44953..45005) ";; (bytevector-copy! bv 1 #u8(6 7 8 9 10) 0 2)" - ATMOSPHERE: (45005..45006) " -" + ATMOSPHERE: (45005..45006) "\n" ATMOSPHERE: (45006..45019) ";; bv))" - ATMOSPHERE: (45019..45020) " -" + ATMOSPHERE: (45019..45020) "\n" ATMOSPHERE: (45020..45044) ";; (test #u8(6 7 8 9 10)" - ATMOSPHERE: (45044..45045) " -" + ATMOSPHERE: (45044..45045) "\n" ATMOSPHERE: (45045..45086) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (45086..45087) " -" + ATMOSPHERE: (45086..45087) "\n" ATMOSPHERE: (45087..45135) ";; (bytevector-copy! bv 0 #u8(6 7 8 9 10))" - ATMOSPHERE: (45135..45136) " -" + ATMOSPHERE: (45135..45136) "\n" ATMOSPHERE: (45136..45149) ";; bv))" - ATMOSPHERE: (45149..45150) " -" + ATMOSPHERE: (45149..45150) "\n" ATMOSPHERE: (45150..45174) ";; (test #u8(8 9 10 4 5)" - ATMOSPHERE: (45174..45175) " -" + ATMOSPHERE: (45174..45175) "\n" ATMOSPHERE: (45175..45216) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (45216..45217) " -" + ATMOSPHERE: (45216..45217) "\n" ATMOSPHERE: (45217..45267) ";; (bytevector-copy! bv 0 #u8(6 7 8 9 10) 2)" - ATMOSPHERE: (45267..45268) " -" + ATMOSPHERE: (45267..45268) "\n" ATMOSPHERE: (45268..45281) ";; bv))" - ATMOSPHERE: (45281..45282) " -" + ATMOSPHERE: (45281..45282) "\n" ATMOSPHERE: (45282..45305) ";; (test #u8(1 2 6 7 8)" - ATMOSPHERE: (45305..45306) " -" + ATMOSPHERE: (45305..45306) "\n" ATMOSPHERE: (45306..45347) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (45347..45348) " -" + ATMOSPHERE: (45347..45348) "\n" ATMOSPHERE: (45348..45400) ";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 0 3)" - ATMOSPHERE: (45400..45401) " -" + ATMOSPHERE: (45400..45401) "\n" ATMOSPHERE: (45401..45414) ";; bv))" - ATMOSPHERE: (45414..45415) " -" + ATMOSPHERE: (45414..45415) "\n" ATMOSPHERE: (45415..45438) ";; (test #u8(1 2 8 4 5)" - ATMOSPHERE: (45438..45439) " -" + ATMOSPHERE: (45438..45439) "\n" ATMOSPHERE: (45439..45480) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (45480..45481) " -" + ATMOSPHERE: (45480..45481) "\n" ATMOSPHERE: (45481..45533) ";; (bytevector-copy! bv 2 #u8(6 7 8 9 10) 2 3)" - ATMOSPHERE: (45533..45534) " -" + ATMOSPHERE: (45533..45534) "\n" ATMOSPHERE: (45534..45547) ";; bv))" - ATMOSPHERE: (45547..45549) " - -" + ATMOSPHERE: (45547..45549) "\n\n" ATMOSPHERE: (45549..45575) ";; ;; same source and dest" - ATMOSPHERE: (45575..45576) " -" + ATMOSPHERE: (45575..45576) "\n" ATMOSPHERE: (45576..45599) ";; (test #u8(1 1 2 4 5)" - ATMOSPHERE: (45599..45600) " -" + ATMOSPHERE: (45599..45600) "\n" ATMOSPHERE: (45600..45641) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (45641..45642) " -" + ATMOSPHERE: (45641..45642) "\n" ATMOSPHERE: (45642..45681) ";; (bytevector-copy! bv 1 bv 0 2)" - ATMOSPHERE: (45681..45682) " -" + ATMOSPHERE: (45681..45682) "\n" ATMOSPHERE: (45682..45695) ";; bv))" - ATMOSPHERE: (45695..45696) " -" + ATMOSPHERE: (45695..45696) "\n" ATMOSPHERE: (45696..45719) ";; (test #u8(1 2 3 1 2)" - ATMOSPHERE: (45719..45720) " -" + ATMOSPHERE: (45719..45720) "\n" ATMOSPHERE: (45720..45761) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (45761..45762) " -" + ATMOSPHERE: (45761..45762) "\n" ATMOSPHERE: (45762..45801) ";; (bytevector-copy! bv 3 bv 0 2)" - ATMOSPHERE: (45801..45802) " -" + ATMOSPHERE: (45801..45802) "\n" ATMOSPHERE: (45802..45815) ";; bv))" - ATMOSPHERE: (45815..45817) " - -" + ATMOSPHERE: (45815..45817) "\n\n" ATMOSPHERE: (45817..45858) ";; (test #u8() (bytevector-append #u8()))" - ATMOSPHERE: (45858..45859) " -" + ATMOSPHERE: (45858..45859) "\n" ATMOSPHERE: (45859..45906) ";; (test #u8() (bytevector-append #u8() #u8()))" - ATMOSPHERE: (45906..45907) " -" + ATMOSPHERE: (45906..45907) "\n" ATMOSPHERE: (45907..45964) ";; (test #u8(0 1 2) (bytevector-append #u8() #u8(0 1 2)))" - ATMOSPHERE: (45964..45965) " -" + ATMOSPHERE: (45964..45965) "\n" ATMOSPHERE: (45965..46022) ";; (test #u8(0 1 2) (bytevector-append #u8(0 1 2) #u8()))" - ATMOSPHERE: (46022..46023) " -" + ATMOSPHERE: (46022..46023) "\n" ATMOSPHERE: (46023..46087) ";; (test #u8(0 1 2 3 4) (bytevector-append #u8(0 1 2) #u8(3 4)))" - ATMOSPHERE: (46087..46088) " -" + ATMOSPHERE: (46087..46088) "\n" ATMOSPHERE: (46088..46161) ";; (test #u8(0 1 2 3 4 5) (bytevector-append #u8(0 1 2) #u8(3 4) #u8(5)))" - ATMOSPHERE: (46161..46163) " - -" - ATMOSPHERE: (46163..46213) ";; (test "ABC" (utf8->string #u8(#x41 #x42 #x43)))" - ATMOSPHERE: (46213..46214) " -" - ATMOSPHERE: (46214..46268) ";; (test "ABC" (utf8->string #u8(0 #x41 #x42 #x43) 1))" - ATMOSPHERE: (46268..46269) " -" - ATMOSPHERE: (46269..46328) ";; (test "ABC" (utf8->string #u8(0 #x41 #x42 #x43 0) 1 4))" - ATMOSPHERE: (46328..46329) " -" - ATMOSPHERE: (46329..46380) ";; (test "λ" (utf8->string #u8(0 #xCE #xBB 0) 1 3))" - ATMOSPHERE: (46380..46381) " -" - ATMOSPHERE: (46381..46431) ";; (test #u8(#x41 #x42 #x43) (string->utf8 "ABC"))" - ATMOSPHERE: (46431..46432) " -" - ATMOSPHERE: (46432..46479) ";; (test #u8(#x42 #x43) (string->utf8 "ABC" 1))" - ATMOSPHERE: (46479..46480) " -" - ATMOSPHERE: (46480..46524) ";; (test #u8(#x42) (string->utf8 "ABC" 1 2))" - ATMOSPHERE: (46524..46525) " -" - ATMOSPHERE: (46525..46568) ";; (test #u8(#xCE #xBB) (string->utf8 "λ"))" - ATMOSPHERE: (46568..46570) " - -" + ATMOSPHERE: (46161..46163) "\n\n" + ATMOSPHERE: (46163..46213) ";; (test \"ABC\" (utf8->string #u8(#x41 #x42 #x43)))" + ATMOSPHERE: (46213..46214) "\n" + ATMOSPHERE: (46214..46268) ";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43) 1))" + ATMOSPHERE: (46268..46269) "\n" + ATMOSPHERE: (46269..46328) ";; (test \"ABC\" (utf8->string #u8(0 #x41 #x42 #x43 0) 1 4))" + ATMOSPHERE: (46328..46329) "\n" + ATMOSPHERE: (46329..46380) ";; (test \"λ\" (utf8->string #u8(0 #xCE #xBB 0) 1 3))" + ATMOSPHERE: (46380..46381) "\n" + ATMOSPHERE: (46381..46431) ";; (test #u8(#x41 #x42 #x43) (string->utf8 \"ABC\"))" + ATMOSPHERE: (46431..46432) "\n" + ATMOSPHERE: (46432..46479) ";; (test #u8(#x42 #x43) (string->utf8 \"ABC\" 1))" + ATMOSPHERE: (46479..46480) "\n" + ATMOSPHERE: (46480..46524) ";; (test #u8(#x42) (string->utf8 \"ABC\" 1 2))" + ATMOSPHERE: (46524..46525) "\n" + ATMOSPHERE: (46525..46568) ";; (test #u8(#xCE #xBB) (string->utf8 \"λ\"))" + ATMOSPHERE: (46568..46570) "\n\n" FORM: (46570..46580) OPEN_PAREN: (46570..46571) "(" SYMBOL: (46571..46579) IDENTIFIER: (46571..46579) "test-end" CLOSE_PAREN: (46579..46580) ")" - ATMOSPHERE: (46580..46582) " - -" + ATMOSPHERE: (46580..46582) "\n\n" FORM: (46582..46618) OPEN_PAREN: (46582..46583) "(" SYMBOL: (46583..46593) IDENTIFIER: (46583..46593) "test-begin" ATMOSPHERE: (46593..46594) " " CONSTANT: (46594..46617) - STRING: (46594..46617) ""6.10 Control Features"" + STRING: (46594..46617) "\"6.10 Control Features\"" CLOSE_PAREN: (46617..46618) ")" - ATMOSPHERE: (46618..46620) " - -" + ATMOSPHERE: (46618..46620) "\n\n" FORM: (46620..46646) OPEN_PAREN: (46620..46621) "(" SYMBOL: (46621..46625) @@ -14192,8 +12499,7 @@ PROGRAM: (0..79716) IDENTIFIER: (46641..46644) "car" CLOSE_PAREN: (46644..46645) ")" CLOSE_PAREN: (46645..46646) ")" - ATMOSPHERE: (46646..46647) " -" + ATMOSPHERE: (46646..46647) "\n" FORM: (46647..46674) OPEN_PAREN: (46647..46648) "(" SYMBOL: (46648..46652) @@ -14213,8 +12519,7 @@ PROGRAM: (0..79716) IDENTIFIER: (46669..46672) "car" CLOSE_PAREN: (46672..46673) ")" CLOSE_PAREN: (46673..46674) ")" - ATMOSPHERE: (46674..46675) " -" + ATMOSPHERE: (46674..46675) "\n" FORM: (46675..46718) OPEN_PAREN: (46675..46676) "(" SYMBOL: (46676..46680) @@ -14253,8 +12558,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (46715..46716) ")" CLOSE_PAREN: (46716..46717) ")" CLOSE_PAREN: (46717..46718) ")" - ATMOSPHERE: (46718..46719) " -" + ATMOSPHERE: (46718..46719) "\n" FORM: (46719..46763) OPEN_PAREN: (46719..46720) "(" SYMBOL: (46720..46724) @@ -14295,12 +12599,9 @@ PROGRAM: (0..79716) CLOSE_PAREN: (46760..46761) ")" CLOSE_PAREN: (46761..46762) ")" CLOSE_PAREN: (46762..46763) ")" - ATMOSPHERE: (46763..46764) " -" + ATMOSPHERE: (46763..46764) "\n" ATMOSPHERE: (46764..46820) ";; (test #t (call-with-current-continuation procedure?))" - ATMOSPHERE: (46820..46822) " - -" + ATMOSPHERE: (46820..46822) "\n\n" FORM: (46822..46851) OPEN_PAREN: (46822..46823) "(" SYMBOL: (46823..46827) @@ -14330,8 +12631,7 @@ PROGRAM: (0..79716) CLOSE_PAREN: (46848..46849) ")" CLOSE_PAREN: (46849..46850) ")" CLOSE_PAREN: (46850..46851) ")" - ATMOSPHERE: (46851..46852) " -" + ATMOSPHERE: (46851..46852) "\n" FORM: (46852..46881) OPEN_PAREN: (46852..46853) "(" SYMBOL: (46853..46857) @@ -14361,2448 +12661,1577 @@ PROGRAM: (0..79716) CLOSE_PAREN: (46878..46879) ")" CLOSE_PAREN: (46879..46880) ")" CLOSE_PAREN: (46880..46881) ")" - ATMOSPHERE: (46881..46882) " -" + ATMOSPHERE: (46881..46882) "\n" ATMOSPHERE: (46882..46926) ";; (test-error (apply +)) ;; not enough args" - ATMOSPHERE: (46926..46927) " -" + ATMOSPHERE: (46926..46927) "\n" ATMOSPHERE: (46927..46978) ";; (test-error (apply + 3)) ;; final arg not a list" - ATMOSPHERE: (46978..46979) " -" + ATMOSPHERE: (46978..46979) "\n" ATMOSPHERE: (46979..47032) ";; (test-error (apply + 3 4)) ;; final arg not a list" - ATMOSPHERE: (47032..47033) " -" + ATMOSPHERE: (47032..47033) "\n" ATMOSPHERE: (47033..47094) ";; (test-error (apply + '(2 3 . 4))) ;; final arg is improper" - ATMOSPHERE: (47094..47097) " - - -" + ATMOSPHERE: (47094..47097) "\n\n\n" ATMOSPHERE: (47097..47115) ";; (define compose" - ATMOSPHERE: (47115..47116) " -" + ATMOSPHERE: (47115..47116) "\n" ATMOSPHERE: (47116..47134) ";; (lambda (f g)" - ATMOSPHERE: (47134..47135) " -" + ATMOSPHERE: (47134..47135) "\n" ATMOSPHERE: (47135..47154) ";; (lambda args" - ATMOSPHERE: (47154..47155) " -" + ATMOSPHERE: (47154..47155) "\n" ATMOSPHERE: (47155..47185) ";; (f (apply g args)))))" - ATMOSPHERE: (47185..47186) " -" + ATMOSPHERE: (47185..47186) "\n" ATMOSPHERE: (47186..47202) ";; (test '(30 0)" - ATMOSPHERE: (47202..47203) " -" + ATMOSPHERE: (47202..47203) "\n" ATMOSPHERE: (47203..47278) ";; (call-with-values (lambda () ((compose exact-integer-sqrt *) 12 75))" - ATMOSPHERE: (47278..47279) " -" + ATMOSPHERE: (47278..47279) "\n" ATMOSPHERE: (47279..47294) ";; list))" - ATMOSPHERE: (47294..47296) " - -" + ATMOSPHERE: (47294..47296) "\n\n" ATMOSPHERE: (47296..47346) ";; (test '(b e h) (map cadr '((a b) (d e) (g h))))" - ATMOSPHERE: (47346..47348) " - -" + ATMOSPHERE: (47346..47348) "\n\n" ATMOSPHERE: (47348..47419) ";; (test '(1 4 27 256 3125) (map (lambda (n) (expt n n)) '(1 2 3 4 5)))" - ATMOSPHERE: (47419..47421) " - -" + ATMOSPHERE: (47419..47421) "\n\n" ATMOSPHERE: (47421..47467) ";; (test '(5 7 9) (map + '(1 2 3) '(4 5 6 7)))" - ATMOSPHERE: (47467..47469) " - -" + ATMOSPHERE: (47467..47469) "\n\n" ATMOSPHERE: (47469..47480) ";; (test #t" - ATMOSPHERE: (47480..47481) " -" + ATMOSPHERE: (47480..47481) "\n" ATMOSPHERE: (47481..47515) ";; (let ((res (let ((count 0))" - ATMOSPHERE: (47515..47516) " -" + ATMOSPHERE: (47515..47516) "\n" ATMOSPHERE: (47516..47558) ";; (map (lambda (ignored)" - ATMOSPHERE: (47558..47559) " -" + ATMOSPHERE: (47558..47559) "\n" ATMOSPHERE: (47559..47610) ";; (set! count (+ count 1))" - ATMOSPHERE: (47610..47611) " -" + ATMOSPHERE: (47610..47611) "\n" ATMOSPHERE: (47611..47644) ";; count)" - ATMOSPHERE: (47644..47645) " -" + ATMOSPHERE: (47644..47645) "\n" ATMOSPHERE: (47645..47680) ";; '(a b)))))" - ATMOSPHERE: (47680..47681) " -" + ATMOSPHERE: (47680..47681) "\n" ATMOSPHERE: (47681..47713) ";; (or (equal? res '(1 2))" - ATMOSPHERE: (47713..47714) " -" + ATMOSPHERE: (47713..47714) "\n" ATMOSPHERE: (47714..47749) ";; (equal? res '(2 1)))))" - ATMOSPHERE: (47749..47751) " - -" + ATMOSPHERE: (47749..47751) "\n\n" ATMOSPHERE: (47751..47786) ";; (test '(10 200 3000 40 500 6000)" - ATMOSPHERE: (47786..47787) " -" + ATMOSPHERE: (47786..47787) "\n" ATMOSPHERE: (47787..47824) ";; (let ((ls1 (list 10 100 1000))" - ATMOSPHERE: (47824..47825) " -" + ATMOSPHERE: (47824..47825) "\n" ATMOSPHERE: (47825..47863) ";; (ls2 (list 1 2 3 4 5 6)))" - ATMOSPHERE: (47863..47864) " -" + ATMOSPHERE: (47863..47864) "\n" ATMOSPHERE: (47864..47898) ";; (set-cdr! (cddr ls1) ls1)" - ATMOSPHERE: (47898..47899) " -" + ATMOSPHERE: (47898..47899) "\n" ATMOSPHERE: (47899..47925) ";; (map * ls1 ls2)))" - ATMOSPHERE: (47925..47927) " - -" - ATMOSPHERE: (47927..47981) ";; (test "abdegh" (string-map char-foldcase "AbdEgH"))" - ATMOSPHERE: (47981..47983) " - -" - ATMOSPHERE: (47983..48009) ";; (test "IBM" (string-map" - ATMOSPHERE: (48009..48010) " -" + ATMOSPHERE: (47925..47927) "\n\n" + ATMOSPHERE: (47927..47981) ";; (test \"abdegh\" (string-map char-foldcase \"AbdEgH\"))" + ATMOSPHERE: (47981..47983) "\n\n" + ATMOSPHERE: (47983..48009) ";; (test \"IBM\" (string-map" + ATMOSPHERE: (48009..48010) "\n" ATMOSPHERE: (48010..48025) ";; (lambda (c)" - ATMOSPHERE: (48025..48026) " -" + ATMOSPHERE: (48025..48026) "\n" ATMOSPHERE: (48026..48072) ";; (integer->char (+ 1 (char->integer c))))" - ATMOSPHERE: (48072..48073) " -" - ATMOSPHERE: (48073..48084) ";; "HAL"))" - ATMOSPHERE: (48084..48086) " - -" - ATMOSPHERE: (48086..48107) ";; (test "StUdLyCaPs"" - ATMOSPHERE: (48107..48108) " -" + ATMOSPHERE: (48072..48073) "\n" + ATMOSPHERE: (48073..48084) ";; \"HAL\"))" + ATMOSPHERE: (48084..48086) "\n\n" + ATMOSPHERE: (48086..48107) ";; (test \"StUdLyCaPs\"" + ATMOSPHERE: (48107..48108) "\n" ATMOSPHERE: (48108..48126) ";; (string-map" - ATMOSPHERE: (48126..48127) " -" - ATMOSPHERE: (48127..48201) ";; (lambda (c k) (if (eqv? k #\u) (char-upcase c) (char-downcase c)))" - ATMOSPHERE: (48201..48202) " -" - ATMOSPHERE: (48202..48226) ";; "studlycaps xxx"" - ATMOSPHERE: (48226..48227) " -" - ATMOSPHERE: (48227..48249) ";; "ululululul"))" - ATMOSPHERE: (48249..48251) " - -" + ATMOSPHERE: (48126..48127) "\n" + ATMOSPHERE: (48127..48201) ";; (lambda (c k) (if (eqv? k #\\u) (char-upcase c) (char-downcase c)))" + ATMOSPHERE: (48201..48202) "\n" + ATMOSPHERE: (48202..48226) ";; \"studlycaps xxx\"" + ATMOSPHERE: (48226..48227) "\n" + ATMOSPHERE: (48227..48249) ";; \"ululululul\"))" + ATMOSPHERE: (48249..48251) "\n\n" ATMOSPHERE: (48251..48309) ";; (test #(b e h) (vector-map cadr '#((a b) (d e) (g h))))" - ATMOSPHERE: (48309..48311) " - -" + ATMOSPHERE: (48309..48311) "\n\n" ATMOSPHERE: (48311..48338) ";; (test #(1 4 27 256 3125)" - ATMOSPHERE: (48338..48339) " -" + ATMOSPHERE: (48338..48339) "\n" ATMOSPHERE: (48339..48381) ";; (vector-map (lambda (n) (expt n n))" - ATMOSPHERE: (48381..48382) " -" + ATMOSPHERE: (48381..48382) "\n" ATMOSPHERE: (48382..48416) ";; '#(1 2 3 4 5)))" - ATMOSPHERE: (48416..48418) " - -" + ATMOSPHERE: (48416..48418) "\n\n" ATMOSPHERE: (48418..48473) ";; (test #(5 7 9) (vector-map + '#(1 2 3) '#(4 5 6 7)))" - ATMOSPHERE: (48473..48475) " - -" + ATMOSPHERE: (48473..48475) "\n\n" ATMOSPHERE: (48475..48486) ";; (test #t" - ATMOSPHERE: (48486..48487) " -" + ATMOSPHERE: (48486..48487) "\n" ATMOSPHERE: (48487..48521) ";; (let ((res (let ((count 0))" - ATMOSPHERE: (48521..48522) " -" + ATMOSPHERE: (48521..48522) "\n" ATMOSPHERE: (48522..48553) ";; (vector-map" - ATMOSPHERE: (48553..48554) " -" + ATMOSPHERE: (48553..48554) "\n" ATMOSPHERE: (48554..48592) ";; (lambda (ignored)" - ATMOSPHERE: (48592..48593) " -" + ATMOSPHERE: (48592..48593) "\n" ATMOSPHERE: (48593..48640) ";; (set! count (+ count 1))" - ATMOSPHERE: (48640..48641) " -" + ATMOSPHERE: (48640..48641) "\n" ATMOSPHERE: (48641..48670) ";; count)" - ATMOSPHERE: (48670..48671) " -" + ATMOSPHERE: (48670..48671) "\n" ATMOSPHERE: (48671..48703) ";; '#(a b)))))" - ATMOSPHERE: (48703..48704) " -" + ATMOSPHERE: (48703..48704) "\n" ATMOSPHERE: (48704..48736) ";; (or (equal? res #(1 2))" - ATMOSPHERE: (48736..48737) " -" + ATMOSPHERE: (48736..48737) "\n" ATMOSPHERE: (48737..48772) ";; (equal? res #(2 1)))))" - ATMOSPHERE: (48772..48774) " - -" + ATMOSPHERE: (48772..48774) "\n\n" ATMOSPHERE: (48774..48796) ";; (test #(0 1 4 9 16)" - ATMOSPHERE: (48796..48797) " -" + ATMOSPHERE: (48796..48797) "\n" ATMOSPHERE: (48797..48830) ";; (let ((v (make-vector 5)))" - ATMOSPHERE: (48830..48831) " -" + ATMOSPHERE: (48830..48831) "\n" ATMOSPHERE: (48831..48861) ";; (for-each (lambda (i)" - ATMOSPHERE: (48861..48862) " -" + ATMOSPHERE: (48861..48862) "\n" ATMOSPHERE: (48862..48909) ";; (vector-set! v i (* i i)))" - ATMOSPHERE: (48909..48910) " -" + ATMOSPHERE: (48909..48910) "\n" ATMOSPHERE: (48910..48942) ";; '(0 1 2 3 4))" - ATMOSPHERE: (48942..48943) " -" + ATMOSPHERE: (48942..48943) "\n" ATMOSPHERE: (48943..48955) ";; v))" - ATMOSPHERE: (48955..48957) " - -" + ATMOSPHERE: (48955..48957) "\n\n" ATMOSPHERE: (48957..48970) ";; (test 9750" - ATMOSPHERE: (48970..48971) " -" + ATMOSPHERE: (48970..48971) "\n" ATMOSPHERE: (48971..49008) ";; (let ((ls1 (list 10 100 1000))" - ATMOSPHERE: (49008..49009) " -" + ATMOSPHERE: (49008..49009) "\n" ATMOSPHERE: (49009..49046) ";; (ls2 (list 1 2 3 4 5 6))" - ATMOSPHERE: (49046..49047) " -" + ATMOSPHERE: (49046..49047) "\n" ATMOSPHERE: (49047..49070) ";; (count 0))" - ATMOSPHERE: (49070..49071) " -" + ATMOSPHERE: (49070..49071) "\n" ATMOSPHERE: (49071..49105) ";; (set-cdr! (cddr ls1) ls1)" - ATMOSPHERE: (49105..49106) " -" + ATMOSPHERE: (49105..49106) "\n" ATMOSPHERE: (49106..49179) ";; (for-each (lambda (x y) (set! count (+ count (* x y)))) ls2 ls1)" - ATMOSPHERE: (49179..49180) " -" + ATMOSPHERE: (49179..49180) "\n" ATMOSPHERE: (49180..49196) ";; count))" - ATMOSPHERE: (49196..49198) " - -" + ATMOSPHERE: (49196..49198) "\n\n" ATMOSPHERE: (49198..49226) ";; (test '(101 100 99 98 97)" - ATMOSPHERE: (49226..49227) " -" + ATMOSPHERE: (49226..49227) "\n" ATMOSPHERE: (49227..49248) ";; (let ((v '()))" - ATMOSPHERE: (49248..49249) " -" + ATMOSPHERE: (49248..49249) "\n" ATMOSPHERE: (49249..49274) ";; (string-for-each" - ATMOSPHERE: (49274..49275) " -" + ATMOSPHERE: (49274..49275) "\n" ATMOSPHERE: (49275..49333) ";; (lambda (c) (set! v (cons (char->integer c) v)))" - ATMOSPHERE: (49333..49334) " -" - ATMOSPHERE: (49334..49352) ";; "abcde")" - ATMOSPHERE: (49352..49353) " -" + ATMOSPHERE: (49333..49334) "\n" + ATMOSPHERE: (49334..49352) ";; \"abcde\")" + ATMOSPHERE: (49352..49353) "\n" ATMOSPHERE: (49353..49365) ";; v))" - ATMOSPHERE: (49365..49367) " - -" + ATMOSPHERE: (49365..49367) "\n\n" ATMOSPHERE: (49367..49414) ";; (test '(0 1 4 9 16) (let ((v (make-list 5)))" - ATMOSPHERE: (49414..49415) " -" + ATMOSPHERE: (49414..49415) "\n" ATMOSPHERE: (49415..49436) ";; (vector-for-each" - ATMOSPHERE: (49436..49437) " -" + ATMOSPHERE: (49436..49437) "\n" ATMOSPHERE: (49437..49479) ";; (lambda (i) (list-set! v i (* i i)))" - ATMOSPHERE: (49479..49480) " -" + ATMOSPHERE: (49479..49480) "\n" ATMOSPHERE: (49480..49500) ";; '#(0 1 2 3 4))" - ATMOSPHERE: (49500..49501) " -" + ATMOSPHERE: (49500..49501) "\n" ATMOSPHERE: (49501..49509) ";; v))" - ATMOSPHERE: (49509..49511) " - -" + ATMOSPHERE: (49509..49511) "\n\n" ATMOSPHERE: (49511..49554) ";; (test -3 (call-with-current-continuation" - ATMOSPHERE: (49554..49555) " -" + ATMOSPHERE: (49554..49555) "\n" ATMOSPHERE: (49555..49574) ";; (lambda (exit)" - ATMOSPHERE: (49574..49575) " -" + ATMOSPHERE: (49574..49575) "\n" ATMOSPHERE: (49575..49603) ";; (for-each (lambda (x)" - ATMOSPHERE: (49603..49604) " -" + ATMOSPHERE: (49603..49604) "\n" ATMOSPHERE: (49604..49640) ";; (if (negative? x)" - ATMOSPHERE: (49640..49641) " -" + ATMOSPHERE: (49640..49641) "\n" ATMOSPHERE: (49641..49674) ";; (exit x)))" - ATMOSPHERE: (49674..49675) " -" + ATMOSPHERE: (49674..49675) "\n" ATMOSPHERE: (49675..49713) ";; '(54 0 37 -3 245 19))" - ATMOSPHERE: (49713..49714) " -" + ATMOSPHERE: (49713..49714) "\n" ATMOSPHERE: (49714..49726) ";; #t)))" - ATMOSPHERE: (49726..49727) " -" + ATMOSPHERE: (49726..49727) "\n" ATMOSPHERE: (49727..49749) ";; (define list-length" - ATMOSPHERE: (49749..49750) " -" + ATMOSPHERE: (49749..49750) "\n" ATMOSPHERE: (49750..49768) ";; (lambda (obj)" - ATMOSPHERE: (49768..49769) " -" + ATMOSPHERE: (49768..49769) "\n" ATMOSPHERE: (49769..49807) ";; (call-with-current-continuation" - ATMOSPHERE: (49807..49808) " -" + ATMOSPHERE: (49807..49808) "\n" ATMOSPHERE: (49808..49833) ";; (lambda (return)" - ATMOSPHERE: (49833..49834) " -" + ATMOSPHERE: (49833..49834) "\n" ATMOSPHERE: (49834..49856) ";; (letrec ((r" - ATMOSPHERE: (49856..49857) " -" + ATMOSPHERE: (49856..49857) "\n" ATMOSPHERE: (49857..49891) ";; (lambda (obj)" - ATMOSPHERE: (49891..49892) " -" + ATMOSPHERE: (49891..49892) "\n" ATMOSPHERE: (49892..49936) ";; (cond ((null? obj) 0)" - ATMOSPHERE: (49936..49937) " -" + ATMOSPHERE: (49936..49937) "\n" ATMOSPHERE: (49937..49978) ";; ((pair? obj)" - ATMOSPHERE: (49978..49979) " -" + ATMOSPHERE: (49978..49979) "\n" ATMOSPHERE: (49979..50029) ";; (+ (r (cdr obj)) 1))" - ATMOSPHERE: (50029..50030) " -" + ATMOSPHERE: (50029..50030) "\n" ATMOSPHERE: (50030..50081) ";; (else (return #f))))))" - ATMOSPHERE: (50081..50082) " -" + ATMOSPHERE: (50081..50082) "\n" ATMOSPHERE: (50082..50107) ";; (r obj))))))" - ATMOSPHERE: (50107..50109) " - -" + ATMOSPHERE: (50107..50109) "\n\n" ATMOSPHERE: (50109..50145) ";; (test 4 (list-length '(1 2 3 4)))" - ATMOSPHERE: (50145..50147) " - -" + ATMOSPHERE: (50145..50147) "\n\n" ATMOSPHERE: (50147..50184) ";; (test #f (list-length '(a b . c)))" - ATMOSPHERE: (50184..50186) " - -" + ATMOSPHERE: (50184..50186) "\n\n" ATMOSPHERE: (50186..50196) ";; (test 5" - ATMOSPHERE: (50196..50197) " -" + ATMOSPHERE: (50196..50197) "\n" ATMOSPHERE: (50197..50246) ";; (call-with-values (lambda () (values 4 5))" - ATMOSPHERE: (50246..50247) " -" + ATMOSPHERE: (50246..50247) "\n" ATMOSPHERE: (50247..50274) ";; (lambda (a b) b)))" - ATMOSPHERE: (50274..50276) " - -" + ATMOSPHERE: (50274..50276) "\n\n" ATMOSPHERE: (50276..50311) ";; (test -1 (call-with-values * -))" - ATMOSPHERE: (50311..50313) " - -" + ATMOSPHERE: (50311..50313) "\n\n" ATMOSPHERE: (50313..50348) ";; (test '(connect talk1 disconnect" - ATMOSPHERE: (50348..50349) " -" + ATMOSPHERE: (50348..50349) "\n" ATMOSPHERE: (50349..50385) ";; connect talk2 disconnect)" - ATMOSPHERE: (50385..50386) " -" + ATMOSPHERE: (50385..50386) "\n" ATMOSPHERE: (50386..50409) ";; (let ((path '())" - ATMOSPHERE: (50409..50410) " -" + ATMOSPHERE: (50409..50410) "\n" ATMOSPHERE: (50410..50430) ";; (c #f))" - ATMOSPHERE: (50430..50431) " -" + ATMOSPHERE: (50430..50431) "\n" ATMOSPHERE: (50431..50462) ";; (let ((add (lambda (s)" - ATMOSPHERE: (50462..50463) " -" + ATMOSPHERE: (50462..50463) "\n" ATMOSPHERE: (50463..50513) ";; (set! path (cons s path)))))" - ATMOSPHERE: (50513..50514) " -" + ATMOSPHERE: (50513..50514) "\n" ATMOSPHERE: (50514..50538) ";; (dynamic-wind" - ATMOSPHERE: (50538..50539) " -" + ATMOSPHERE: (50538..50539) "\n" ATMOSPHERE: (50539..50578) ";; (lambda () (add 'connect))" - ATMOSPHERE: (50578..50579) " -" + ATMOSPHERE: (50578..50579) "\n" ATMOSPHERE: (50579..50602) ";; (lambda ()" - ATMOSPHERE: (50602..50603) " -" + ATMOSPHERE: (50602..50603) "\n" ATMOSPHERE: (50603..50654) ";; (add (call-with-current-continuation" - ATMOSPHERE: (50654..50655) " -" + ATMOSPHERE: (50654..50655) "\n" ATMOSPHERE: (50655..50688) ";; (lambda (c0)" - ATMOSPHERE: (50688..50689) " -" + ATMOSPHERE: (50688..50689) "\n" ATMOSPHERE: (50689..50723) ";; (set! c c0)" - ATMOSPHERE: (50723..50724) " -" + ATMOSPHERE: (50723..50724) "\n" ATMOSPHERE: (50724..50757) ";; 'talk1))))" - ATMOSPHERE: (50757..50758) " -" + ATMOSPHERE: (50757..50758) "\n" ATMOSPHERE: (50758..50801) ";; (lambda () (add 'disconnect)))" - ATMOSPHERE: (50801..50802) " -" + ATMOSPHERE: (50801..50802) "\n" ATMOSPHERE: (50802..50836) ";; (if (< (length path) 4)" - ATMOSPHERE: (50836..50837) " -" + ATMOSPHERE: (50836..50837) "\n" ATMOSPHERE: (50837..50862) ";; (c 'talk2)" - ATMOSPHERE: (50862..50863) " -" + ATMOSPHERE: (50862..50863) "\n" ATMOSPHERE: (50863..50896) ";; (reverse path)))))" - ATMOSPHERE: (50896..50898) " - -" + ATMOSPHERE: (50896..50898) "\n\n" FORM: (50898..50908) OPEN_PAREN: (50898..50899) "(" SYMBOL: (50899..50907) IDENTIFIER: (50899..50907) "test-end" CLOSE_PAREN: (50907..50908) ")" - ATMOSPHERE: (50908..50910) " - -" + ATMOSPHERE: (50908..50910) "\n\n" FORM: (50910..50940) OPEN_PAREN: (50910..50911) "(" SYMBOL: (50911..50921) IDENTIFIER: (50911..50921) "test-begin" ATMOSPHERE: (50921..50922) " " CONSTANT: (50922..50939) - STRING: (50922..50939) ""6.11 Exceptions"" + STRING: (50922..50939) "\"6.11 Exceptions\"" CLOSE_PAREN: (50939..50940) ")" - ATMOSPHERE: (50940..50942) " - -" + ATMOSPHERE: (50940..50942) "\n\n" ATMOSPHERE: (50942..50953) ";; (test 65" - ATMOSPHERE: (50953..50954) " -" + ATMOSPHERE: (50953..50954) "\n" ATMOSPHERE: (50954..50984) ";; (with-exception-handler" - ATMOSPHERE: (50984..50985) " -" + ATMOSPHERE: (50984..50985) "\n" ATMOSPHERE: (50985..51010) ";; (lambda (con) 42)" - ATMOSPHERE: (51010..51011) " -" + ATMOSPHERE: (51010..51011) "\n" ATMOSPHERE: (51011..51029) ";; (lambda ()" - ATMOSPHERE: (51029..51030) " -" - ATMOSPHERE: (51030..51083) ";; (+ (raise-continuable "should be a number")" - ATMOSPHERE: (51083..51084) " -" + ATMOSPHERE: (51029..51030) "\n" + ATMOSPHERE: (51030..51083) ";; (+ (raise-continuable \"should be a number\")" + ATMOSPHERE: (51083..51084) "\n" ATMOSPHERE: (51084..51103) ";; 23))))" - ATMOSPHERE: (51103..51105) " - -" + ATMOSPHERE: (51103..51105) "\n\n" ATMOSPHERE: (51105..51116) ";; (test #t" - ATMOSPHERE: (51116..51117) " -" - ATMOSPHERE: (51117..51187) ";; (error-object? (guard (exn (else exn)) (error "BOOM!" 1 2 3))))" - ATMOSPHERE: (51187..51188) " -" - ATMOSPHERE: (51188..51204) ";; (test "BOOM!"" - ATMOSPHERE: (51204..51205) " -" - ATMOSPHERE: (51205..51282) ";; (error-object-message (guard (exn (else exn)) (error "BOOM!" 1 2 3))))" - ATMOSPHERE: (51282..51283) " -" + ATMOSPHERE: (51116..51117) "\n" + ATMOSPHERE: (51117..51187) ";; (error-object? (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))" + ATMOSPHERE: (51187..51188) "\n" + ATMOSPHERE: (51188..51204) ";; (test \"BOOM!\"" + ATMOSPHERE: (51204..51205) "\n" + ATMOSPHERE: (51205..51282) ";; (error-object-message (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))" + ATMOSPHERE: (51282..51283) "\n" ATMOSPHERE: (51283..51300) ";; (test '(1 2 3)" - ATMOSPHERE: (51300..51301) " -" - ATMOSPHERE: (51301..51380) ";; (error-object-irritants (guard (exn (else exn)) (error "BOOM!" 1 2 3))))" - ATMOSPHERE: (51380..51382) " - -" + ATMOSPHERE: (51300..51301) "\n" + ATMOSPHERE: (51301..51380) ";; (error-object-irritants (guard (exn (else exn)) (error \"BOOM!\" 1 2 3))))" + ATMOSPHERE: (51380..51382) "\n\n" ATMOSPHERE: (51382..51393) ";; (test #f" - ATMOSPHERE: (51393..51394) " -" - ATMOSPHERE: (51394..51456) ";; (file-error? (guard (exn (else exn)) (error "BOOM!"))))" - ATMOSPHERE: (51456..51457) " -" + ATMOSPHERE: (51393..51394) "\n" + ATMOSPHERE: (51394..51456) ";; (file-error? (guard (exn (else exn)) (error \"BOOM!\"))))" + ATMOSPHERE: (51456..51457) "\n" ATMOSPHERE: (51457..51468) ";; (test #t" - ATMOSPHERE: (51468..51469) " -" - ATMOSPHERE: (51469..51550) ";; (file-error? (guard (exn (else exn)) (open-input-file " no such file "))))" - ATMOSPHERE: (51550..51552) " - -" + ATMOSPHERE: (51468..51469) "\n" + ATMOSPHERE: (51469..51550) ";; (file-error? (guard (exn (else exn)) (open-input-file \" no such file \"))))" + ATMOSPHERE: (51550..51552) "\n\n" ATMOSPHERE: (51552..51563) ";; (test #f" - ATMOSPHERE: (51563..51564) " -" - ATMOSPHERE: (51564..51626) ";; (read-error? (guard (exn (else exn)) (error "BOOM!"))))" - ATMOSPHERE: (51626..51627) " -" + ATMOSPHERE: (51563..51564) "\n" + ATMOSPHERE: (51564..51626) ";; (read-error? (guard (exn (else exn)) (error \"BOOM!\"))))" + ATMOSPHERE: (51626..51627) "\n" ATMOSPHERE: (51627..51638) ";; (test #t" - ATMOSPHERE: (51638..51639) " -" - ATMOSPHERE: (51639..51716) ";; (read-error? (guard (exn (else exn)) (read (open-input-string ")")))))" - ATMOSPHERE: (51716..51717) " -" + ATMOSPHERE: (51638..51639) "\n" + ATMOSPHERE: (51639..51716) ";; (read-error? (guard (exn (else exn)) (read (open-input-string \")\")))))" + ATMOSPHERE: (51716..51717) "\n" ATMOSPHERE: (51717..51728) ";; (test #t" - ATMOSPHERE: (51728..51729) " -" - ATMOSPHERE: (51729..51807) ";; (read-error? (guard (exn (else exn)) (read (open-input-string "\"")))))" - ATMOSPHERE: (51807..51809) " - -" + ATMOSPHERE: (51728..51729) "\n" + ATMOSPHERE: (51729..51807) ";; (read-error? (guard (exn (else exn)) (read (open-input-string \"\\\"\")))))" + ATMOSPHERE: (51807..51809) "\n\n" ATMOSPHERE: (51809..51844) ";; (define something-went-wrong #f)" - ATMOSPHERE: (51844..51845) " -" + ATMOSPHERE: (51844..51845) "\n" ATMOSPHERE: (51845..51884) ";; (define (test-exception-handler-1 v)" - ATMOSPHERE: (51884..51885) " -" + ATMOSPHERE: (51884..51885) "\n" ATMOSPHERE: (51885..51921) ";; (call-with-current-continuation" - ATMOSPHERE: (51921..51922) " -" + ATMOSPHERE: (51921..51922) "\n" ATMOSPHERE: (51922..51939) ";; (lambda (k)" - ATMOSPHERE: (51939..51940) " -" + ATMOSPHERE: (51939..51940) "\n" ATMOSPHERE: (51940..51971) ";; (with-exception-handler" - ATMOSPHERE: (51971..51972) " -" + ATMOSPHERE: (51971..51972) "\n" ATMOSPHERE: (51972..51992) ";; (lambda (x)" - ATMOSPHERE: (51992..51993) " -" - ATMOSPHERE: (51993..52054) ";; (set! something-went-wrong (list "condition: " x))" - ATMOSPHERE: (52054..52055) " -" + ATMOSPHERE: (51992..51993) "\n" + ATMOSPHERE: (51993..52054) ";; (set! something-went-wrong (list \"condition: \" x))" + ATMOSPHERE: (52054..52055) "\n" ATMOSPHERE: (52055..52081) ";; (k 'exception))" - ATMOSPHERE: (52081..52082) " -" + ATMOSPHERE: (52081..52082) "\n" ATMOSPHERE: (52082..52101) ";; (lambda ()" - ATMOSPHERE: (52101..52102) " -" + ATMOSPHERE: (52101..52102) "\n" ATMOSPHERE: (52102..52164) ";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error))))))))" - ATMOSPHERE: (52164..52165) " -" + ATMOSPHERE: (52164..52165) "\n" ATMOSPHERE: (52165..52207) ";; (test 106 (test-exception-handler-1 5))" - ATMOSPHERE: (52207..52208) " -" + ATMOSPHERE: (52207..52208) "\n" ATMOSPHERE: (52208..52241) ";; (test #f something-went-wrong)" - ATMOSPHERE: (52241..52242) " -" + ATMOSPHERE: (52241..52242) "\n" ATMOSPHERE: (52242..52292) ";; (test 'exception (test-exception-handler-1 -1))" - ATMOSPHERE: (52292..52293) " -" - ATMOSPHERE: (52293..52349) ";; (test '("condition: " an-error) something-went-wrong)" - ATMOSPHERE: (52349..52351) " - -" + ATMOSPHERE: (52292..52293) "\n" + ATMOSPHERE: (52293..52349) ";; (test '(\"condition: \" an-error) something-went-wrong)" + ATMOSPHERE: (52349..52351) "\n\n" ATMOSPHERE: (52351..52384) ";; (set! something-went-wrong #f)" - ATMOSPHERE: (52384..52385) " -" + ATMOSPHERE: (52384..52385) "\n" ATMOSPHERE: (52385..52424) ";; (define (test-exception-handler-2 v)" - ATMOSPHERE: (52424..52425) " -" + ATMOSPHERE: (52424..52425) "\n" ATMOSPHERE: (52425..52474) ";; (guard (ex (else 'caught-another-exception))" - ATMOSPHERE: (52474..52475) " -" + ATMOSPHERE: (52474..52475) "\n" ATMOSPHERE: (52475..52505) ";; (with-exception-handler" - ATMOSPHERE: (52505..52506) " -" + ATMOSPHERE: (52505..52506) "\n" ATMOSPHERE: (52506..52525) ";; (lambda (x)" - ATMOSPHERE: (52525..52526) " -" + ATMOSPHERE: (52525..52526) "\n" ATMOSPHERE: (52526..52566) ";; (set! something-went-wrong #t)" - ATMOSPHERE: (52566..52567) " -" - ATMOSPHERE: (52567..52599) ";; (list "exception:" x))" - ATMOSPHERE: (52599..52600) " -" + ATMOSPHERE: (52566..52567) "\n" + ATMOSPHERE: (52567..52599) ";; (list \"exception:\" x))" + ATMOSPHERE: (52599..52600) "\n" ATMOSPHERE: (52600..52618) ";; (lambda ()" - ATMOSPHERE: (52618..52619) " -" + ATMOSPHERE: (52618..52619) "\n" ATMOSPHERE: (52619..52679) ";; (+ 1 (if (> v 0) (+ v 100) (raise 'an-error)))))))" - ATMOSPHERE: (52679..52680) " -" + ATMOSPHERE: (52679..52680) "\n" ATMOSPHERE: (52680..52722) ";; (test 106 (test-exception-handler-2 5))" - ATMOSPHERE: (52722..52723) " -" + ATMOSPHERE: (52722..52723) "\n" ATMOSPHERE: (52723..52756) ";; (test #f something-went-wrong)" - ATMOSPHERE: (52756..52757) " -" + ATMOSPHERE: (52756..52757) "\n" ATMOSPHERE: (52757..52822) ";; (test 'caught-another-exception (test-exception-handler-2 -1))" - ATMOSPHERE: (52822..52823) " -" + ATMOSPHERE: (52822..52823) "\n" ATMOSPHERE: (52823..52856) ";; (test #t something-went-wrong)" - ATMOSPHERE: (52856..52858) " - -" + ATMOSPHERE: (52856..52858) "\n\n" ATMOSPHERE: (52858..52921) ";; ;; Based on an example from R6RS-lib section 7.1 Exceptions." - ATMOSPHERE: (52921..52922) " -" + ATMOSPHERE: (52921..52922) "\n" ATMOSPHERE: (52922..52982) ";; ;; R7RS section 6.11 Exceptions has a simplified version." - ATMOSPHERE: (52982..52983) " -" + ATMOSPHERE: (52982..52983) "\n" ATMOSPHERE: (52983..53019) ";; (let* ((out (open-output-string))" - ATMOSPHERE: (53019..53020) " -" + ATMOSPHERE: (53019..53020) "\n" ATMOSPHERE: (53020..53060) ";; (value (with-exception-handler" - ATMOSPHERE: (53060..53061) " -" + ATMOSPHERE: (53060..53061) "\n" ATMOSPHERE: (53061..53092) ";; (lambda (con)" - ATMOSPHERE: (53092..53093) " -" + ATMOSPHERE: (53092..53093) "\n" ATMOSPHERE: (53093..53118) ";; (cond" - ATMOSPHERE: (53118..53119) " -" + ATMOSPHERE: (53118..53119) "\n" ATMOSPHERE: (53119..53158) ";; ((not (list? con))" - ATMOSPHERE: (53158..53159) " -" + ATMOSPHERE: (53158..53159) "\n" ATMOSPHERE: (53159..53193) ";; (raise con))" - ATMOSPHERE: (53193..53194) " -" + ATMOSPHERE: (53193..53194) "\n" ATMOSPHERE: (53194..53227) ";; ((list? con)" - ATMOSPHERE: (53227..53228) " -" + ATMOSPHERE: (53227..53228) "\n" ATMOSPHERE: (53228..53274) ";; (display (car con) out))" - ATMOSPHERE: (53274..53275) " -" + ATMOSPHERE: (53274..53275) "\n" ATMOSPHERE: (53275..53301) ";; (else" - ATMOSPHERE: (53301..53302) " -" - ATMOSPHERE: (53302..53367) ";; (display "a warning has been issued" out)))" - ATMOSPHERE: (53367..53368) " -" + ATMOSPHERE: (53301..53302) "\n" + ATMOSPHERE: (53302..53367) ";; (display \"a warning has been issued\" out)))" + ATMOSPHERE: (53367..53368) "\n" ATMOSPHERE: (53368..53391) ";; 42)" - ATMOSPHERE: (53391..53392) " -" + ATMOSPHERE: (53391..53392) "\n" ATMOSPHERE: (53392..53420) ";; (lambda ()" - ATMOSPHERE: (53420..53421) " -" + ATMOSPHERE: (53420..53421) "\n" ATMOSPHERE: (53421..53462) ";; (+ (raise-continuable" - ATMOSPHERE: (53462..53463) " -" - ATMOSPHERE: (53463..53515) ";; (list "should be a number"))" - ATMOSPHERE: (53515..53516) " -" + ATMOSPHERE: (53462..53463) "\n" + ATMOSPHERE: (53463..53515) ";; (list \"should be a number\"))" + ATMOSPHERE: (53515..53516) "\n" ATMOSPHERE: (53516..53546) ";; 23)))))" - ATMOSPHERE: (53546..53547) " -" - ATMOSPHERE: (53547..53603) ";; (test "should be a number" (get-output-string out))" - ATMOSPHERE: (53603..53604) " -" + ATMOSPHERE: (53546..53547) "\n" + ATMOSPHERE: (53547..53603) ";; (test \"should be a number\" (get-output-string out))" + ATMOSPHERE: (53603..53604) "\n" ATMOSPHERE: (53604..53625) ";; (test 65 value))" - ATMOSPHERE: (53625..53627) " - -" - ATMOSPHERE: (53627..53669) ";; ;; From SRFI-34 "Examples" section - #3" - ATMOSPHERE: (53669..53670) " -" + ATMOSPHERE: (53625..53627) "\n\n" + ATMOSPHERE: (53627..53669) ";; ;; From SRFI-34 \"Examples\" section - #3" + ATMOSPHERE: (53669..53670) "\n" ATMOSPHERE: (53670..53713) ";; (define (test-exception-handler-3 v out)" - ATMOSPHERE: (53713..53714) " -" + ATMOSPHERE: (53713..53714) "\n" ATMOSPHERE: (53714..53736) ";; (guard (condition" - ATMOSPHERE: (53736..53737) " -" + ATMOSPHERE: (53736..53737) "\n" ATMOSPHERE: (53737..53755) ";; (else" - ATMOSPHERE: (53755..53756) " -" - ATMOSPHERE: (53756..53797) ";; (display "condition: " out)" - ATMOSPHERE: (53797..53798) " -" + ATMOSPHERE: (53755..53756) "\n" + ATMOSPHERE: (53756..53797) ";; (display \"condition: \" out)" + ATMOSPHERE: (53797..53798) "\n" ATMOSPHERE: (53798..53833) ";; (write condition out)" - ATMOSPHERE: (53833..53834) " -" - ATMOSPHERE: (53834..53865) ";; (display #\! out)" - ATMOSPHERE: (53865..53866) " -" + ATMOSPHERE: (53833..53834) "\n" + ATMOSPHERE: (53834..53865) ";; (display #\\! out)" + ATMOSPHERE: (53865..53866) "\n" ATMOSPHERE: (53866..53892) ";; 'exception))" - ATMOSPHERE: (53892..53893) " -" + ATMOSPHERE: (53892..53893) "\n" ATMOSPHERE: (53893..53952) ";; (+ 1 (if (= v 0) (raise 'an-error) (/ 10 v)))))" - ATMOSPHERE: (53952..53953) " -" + ATMOSPHERE: (53952..53953) "\n" ATMOSPHERE: (53953..53989) ";; (let* ((out (open-output-string))" - ATMOSPHERE: (53989..53990) " -" + ATMOSPHERE: (53989..53990) "\n" ATMOSPHERE: (53990..54041) ";; (value (test-exception-handler-3 0 out)))" - ATMOSPHERE: (54041..54042) " -" + ATMOSPHERE: (54041..54042) "\n" ATMOSPHERE: (54042..54070) ";; (test 'exception value)" - ATMOSPHERE: (54070..54071) " -" - ATMOSPHERE: (54071..54130) ";; (test "condition: an-error!" (get-output-string out)))" - ATMOSPHERE: (54130..54132) " - -" + ATMOSPHERE: (54070..54071) "\n" + ATMOSPHERE: (54071..54130) ";; (test \"condition: an-error!\" (get-output-string out)))" + ATMOSPHERE: (54130..54132) "\n\n" ATMOSPHERE: (54132..54175) ";; (define (test-exception-handler-4 v out)" - ATMOSPHERE: (54175..54176) " -" + ATMOSPHERE: (54175..54176) "\n" ATMOSPHERE: (54176..54212) ";; (call-with-current-continuation" - ATMOSPHERE: (54212..54213) " -" + ATMOSPHERE: (54212..54213) "\n" ATMOSPHERE: (54213..54230) ";; (lambda (k)" - ATMOSPHERE: (54230..54231) " -" + ATMOSPHERE: (54230..54231) "\n" ATMOSPHERE: (54231..54262) ";; (with-exception-handler" - ATMOSPHERE: (54262..54263) " -" + ATMOSPHERE: (54262..54263) "\n" ATMOSPHERE: (54263..54283) ";; (lambda (x)" - ATMOSPHERE: (54283..54284) " -" - ATMOSPHERE: (54284..54320) ";; (display "reraised " out)" - ATMOSPHERE: (54320..54321) " -" - ATMOSPHERE: (54321..54363) ";; (write x out) (display #\! out)" - ATMOSPHERE: (54363..54364) " -" + ATMOSPHERE: (54283..54284) "\n" + ATMOSPHERE: (54284..54320) ";; (display \"reraised \" out)" + ATMOSPHERE: (54320..54321) "\n" + ATMOSPHERE: (54321..54363) ";; (write x out) (display #\\! out)" + ATMOSPHERE: (54363..54364) "\n" ATMOSPHERE: (54364..54385) ";; (k 'zero))" - ATMOSPHERE: (54385..54386) " -" + ATMOSPHERE: (54385..54386) "\n" ATMOSPHERE: (54386..54405) ";; (lambda ()" - ATMOSPHERE: (54405..54406) " -" + ATMOSPHERE: (54405..54406) "\n" ATMOSPHERE: (54406..54434) ";; (guard (condition" - ATMOSPHERE: (54434..54435) " -" + ATMOSPHERE: (54434..54435) "\n" ATMOSPHERE: (54435..54476) ";; ((positive? condition)" - ATMOSPHERE: (54476..54477) " -" + ATMOSPHERE: (54476..54477) "\n" ATMOSPHERE: (54477..54507) ";; 'positive)" - ATMOSPHERE: (54507..54508) " -" + ATMOSPHERE: (54507..54508) "\n" ATMOSPHERE: (54508..54549) ";; ((negative? condition)" - ATMOSPHERE: (54549..54550) " -" + ATMOSPHERE: (54549..54550) "\n" ATMOSPHERE: (54550..54581) ";; 'negative))" - ATMOSPHERE: (54581..54582) " -" + ATMOSPHERE: (54581..54582) "\n" ATMOSPHERE: (54582..54610) ";; (raise v)))))))" - ATMOSPHERE: (54610..54612) " - -" - ATMOSPHERE: (54612..54654) ";; ;; From SRFI-34 "Examples" section - #5" - ATMOSPHERE: (54654..54655) " -" + ATMOSPHERE: (54610..54612) "\n\n" + ATMOSPHERE: (54612..54654) ";; ;; From SRFI-34 \"Examples\" section - #5" + ATMOSPHERE: (54654..54655) "\n" ATMOSPHERE: (54655..54691) ";; (let* ((out (open-output-string))" - ATMOSPHERE: (54691..54692) " -" + ATMOSPHERE: (54691..54692) "\n" ATMOSPHERE: (54692..54743) ";; (value (test-exception-handler-4 1 out)))" - ATMOSPHERE: (54743..54744) " -" - ATMOSPHERE: (54744..54782) ";; (test "" (get-output-string out))" - ATMOSPHERE: (54782..54783) " -" + ATMOSPHERE: (54743..54744) "\n" + ATMOSPHERE: (54744..54782) ";; (test \"\" (get-output-string out))" + ATMOSPHERE: (54782..54783) "\n" ATMOSPHERE: (54783..54811) ";; (test 'positive value))" - ATMOSPHERE: (54811..54812) " -" - ATMOSPHERE: (54812..54854) ";; ;; From SRFI-34 "Examples" section - #6" - ATMOSPHERE: (54854..54855) " -" + ATMOSPHERE: (54811..54812) "\n" + ATMOSPHERE: (54812..54854) ";; ;; From SRFI-34 \"Examples\" section - #6" + ATMOSPHERE: (54854..54855) "\n" ATMOSPHERE: (54855..54891) ";; (let* ((out (open-output-string))" - ATMOSPHERE: (54891..54892) " -" + ATMOSPHERE: (54891..54892) "\n" ATMOSPHERE: (54892..54944) ";; (value (test-exception-handler-4 -1 out)))" - ATMOSPHERE: (54944..54945) " -" - ATMOSPHERE: (54945..54983) ";; (test "" (get-output-string out))" - ATMOSPHERE: (54983..54984) " -" + ATMOSPHERE: (54944..54945) "\n" + ATMOSPHERE: (54945..54983) ";; (test \"\" (get-output-string out))" + ATMOSPHERE: (54983..54984) "\n" ATMOSPHERE: (54984..55012) ";; (test 'negative value))" - ATMOSPHERE: (55012..55013) " -" - ATMOSPHERE: (55013..55055) ";; ;; From SRFI-34 "Examples" section - #7" - ATMOSPHERE: (55055..55056) " -" + ATMOSPHERE: (55012..55013) "\n" + ATMOSPHERE: (55013..55055) ";; ;; From SRFI-34 \"Examples\" section - #7" + ATMOSPHERE: (55055..55056) "\n" ATMOSPHERE: (55056..55092) ";; (let* ((out (open-output-string))" - ATMOSPHERE: (55092..55093) " -" + ATMOSPHERE: (55092..55093) "\n" ATMOSPHERE: (55093..55144) ";; (value (test-exception-handler-4 0 out)))" - ATMOSPHERE: (55144..55145) " -" - ATMOSPHERE: (55145..55194) ";; (test "reraised 0!" (get-output-string out))" - ATMOSPHERE: (55194..55195) " -" + ATMOSPHERE: (55144..55145) "\n" + ATMOSPHERE: (55145..55194) ";; (test \"reraised 0!\" (get-output-string out))" + ATMOSPHERE: (55194..55195) "\n" ATMOSPHERE: (55195..55219) ";; (test 'zero value))" - ATMOSPHERE: (55219..55221) " - -" - ATMOSPHERE: (55221..55263) ";; ;; From SRFI-34 "Examples" section - #8" - ATMOSPHERE: (55263..55264) " -" + ATMOSPHERE: (55219..55221) "\n\n" + ATMOSPHERE: (55221..55263) ";; ;; From SRFI-34 \"Examples\" section - #8" + ATMOSPHERE: (55263..55264) "\n" ATMOSPHERE: (55264..55275) ";; (test 42" - ATMOSPHERE: (55275..55276) " -" + ATMOSPHERE: (55275..55276) "\n" ATMOSPHERE: (55276..55300) ";; (guard (condition" - ATMOSPHERE: (55300..55301) " -" + ATMOSPHERE: (55300..55301) "\n" ATMOSPHERE: (55301..55344) ";; ((assq 'a condition) => cdr)" - ATMOSPHERE: (55344..55345) " -" + ATMOSPHERE: (55344..55345) "\n" ATMOSPHERE: (55345..55382) ";; ((assq 'b condition)))" - ATMOSPHERE: (55382..55383) " -" + ATMOSPHERE: (55382..55383) "\n" ATMOSPHERE: (55383..55421) ";; (raise (list (cons 'a 42)))))" - ATMOSPHERE: (55421..55423) " - -" - ATMOSPHERE: (55423..55465) ";; ;; From SRFI-34 "Examples" section - #9" - ATMOSPHERE: (55465..55466) " -" + ATMOSPHERE: (55421..55423) "\n\n" + ATMOSPHERE: (55423..55465) ";; ;; From SRFI-34 \"Examples\" section - #9" + ATMOSPHERE: (55465..55466) "\n" ATMOSPHERE: (55466..55484) ";; (test '(b . 23)" - ATMOSPHERE: (55484..55485) " -" + ATMOSPHERE: (55484..55485) "\n" ATMOSPHERE: (55485..55509) ";; (guard (condition" - ATMOSPHERE: (55509..55510) " -" + ATMOSPHERE: (55509..55510) "\n" ATMOSPHERE: (55510..55553) ";; ((assq 'a condition) => cdr)" - ATMOSPHERE: (55553..55554) " -" + ATMOSPHERE: (55553..55554) "\n" ATMOSPHERE: (55554..55591) ";; ((assq 'b condition)))" - ATMOSPHERE: (55591..55592) " -" + ATMOSPHERE: (55591..55592) "\n" ATMOSPHERE: (55592..55630) ";; (raise (list (cons 'b 23)))))" - ATMOSPHERE: (55630..55632) " - -" + ATMOSPHERE: (55630..55632) "\n\n" ATMOSPHERE: (55632..55650) ";; (test 'caught-d" - ATMOSPHERE: (55650..55651) " -" + ATMOSPHERE: (55650..55651) "\n" ATMOSPHERE: (55651..55675) ";; (guard (condition" - ATMOSPHERE: (55675..55676) " -" + ATMOSPHERE: (55675..55676) "\n" ATMOSPHERE: (55676..55722) ";; ((assq 'c condition) 'caught-c)" - ATMOSPHERE: (55722..55723) " -" + ATMOSPHERE: (55722..55723) "\n" ATMOSPHERE: (55723..55770) ";; ((assq 'd condition) 'caught-d))" - ATMOSPHERE: (55770..55771) " -" + ATMOSPHERE: (55770..55771) "\n" ATMOSPHERE: (55771..55785) ";; (list" - ATMOSPHERE: (55785..55786) " -" + ATMOSPHERE: (55785..55786) "\n" ATMOSPHERE: (55786..55804) ";; (sqrt 8)" - ATMOSPHERE: (55804..55805) " -" + ATMOSPHERE: (55804..55805) "\n" ATMOSPHERE: (55805..55832) ";; (guard (condition" - ATMOSPHERE: (55832..55833) " -" + ATMOSPHERE: (55832..55833) "\n" ATMOSPHERE: (55833..55879) ";; ((assq 'a condition) => cdr)" - ATMOSPHERE: (55879..55880) " -" + ATMOSPHERE: (55879..55880) "\n" ATMOSPHERE: (55880..55920) ";; ((assq 'b condition)))" - ATMOSPHERE: (55920..55921) " -" + ATMOSPHERE: (55920..55921) "\n" ATMOSPHERE: (55921..55964) ";; (raise (list (cons 'd 24)))))))" - ATMOSPHERE: (55964..55966) " - -" + ATMOSPHERE: (55964..55966) "\n\n" FORM: (55966..55976) OPEN_PAREN: (55966..55967) "(" SYMBOL: (55967..55975) IDENTIFIER: (55967..55975) "test-end" CLOSE_PAREN: (55975..55976) ")" - ATMOSPHERE: (55976..55978) " - -" + ATMOSPHERE: (55976..55978) "\n\n" FORM: (55978..56025) OPEN_PAREN: (55978..55979) "(" SYMBOL: (55979..55989) IDENTIFIER: (55979..55989) "test-begin" ATMOSPHERE: (55989..55990) " " CONSTANT: (55990..56024) - STRING: (55990..56024) ""6.12 Environments and evaluation"" + STRING: (55990..56024) "\"6.12 Environments and evaluation\"" CLOSE_PAREN: (56024..56025) ")" - ATMOSPHERE: (56025..56027) " - -" + ATMOSPHERE: (56025..56027) "\n\n" ATMOSPHERE: (56027..56088) ";; ;; (test 21 (eval '(* 7 3) (scheme-report-environment 5)))" - ATMOSPHERE: (56088..56090) " - -" + ATMOSPHERE: (56088..56090) "\n\n" ATMOSPHERE: (56090..56101) ";; (test 20" - ATMOSPHERE: (56101..56102) " -" + ATMOSPHERE: (56101..56102) "\n" ATMOSPHERE: (56102..56171) ";; (let ((f (eval '(lambda (f x) (f x x)) (null-environment 5))))" - ATMOSPHERE: (56171..56172) " -" + ATMOSPHERE: (56171..56172) "\n" ATMOSPHERE: (56172..56191) ";; (f + 10)))" - ATMOSPHERE: (56191..56193) " - -" + ATMOSPHERE: (56191..56193) "\n\n" ATMOSPHERE: (56193..56256) ";; (test 1024 (eval '(expt 2 10) (environment '(scheme base))))" - ATMOSPHERE: (56256..56257) " -" + ATMOSPHERE: (56256..56257) "\n" ATMOSPHERE: (56257..56294) ";; ;; (sin 0) may return exact number" - ATMOSPHERE: (56294..56295) " -" + ATMOSPHERE: (56294..56295) "\n" ATMOSPHERE: (56295..56366) ";; (test 0.0 (inexact (eval '(sin 0) (environment '(scheme inexact)))))" - ATMOSPHERE: (56366..56367) " -" + ATMOSPHERE: (56366..56367) "\n" ATMOSPHERE: (56367..56378) ";; ;; ditto" - ATMOSPHERE: (56378..56379) " -" + ATMOSPHERE: (56378..56379) "\n" ATMOSPHERE: (56379..56435) ";; (test 1024.0 (eval '(+ (expt 2 10) (inexact (sin 0)))" - ATMOSPHERE: (56435..56436) " -" + ATMOSPHERE: (56435..56436) "\n" ATMOSPHERE: (56436..56506) ";; (environment '(scheme base) '(scheme inexact))))" - ATMOSPHERE: (56506..56508) " - -" + ATMOSPHERE: (56506..56508) "\n\n" FORM: (56508..56518) OPEN_PAREN: (56508..56509) "(" SYMBOL: (56509..56517) IDENTIFIER: (56509..56517) "test-end" CLOSE_PAREN: (56517..56518) ")" - ATMOSPHERE: (56518..56520) " - -" + ATMOSPHERE: (56518..56520) "\n\n" FORM: (56520..56556) OPEN_PAREN: (56520..56521) "(" SYMBOL: (56521..56531) IDENTIFIER: (56521..56531) "test-begin" ATMOSPHERE: (56531..56532) " " CONSTANT: (56532..56555) - STRING: (56532..56555) ""6.13 Input and output"" + STRING: (56532..56555) "\"6.13 Input and output\"" CLOSE_PAREN: (56555..56556) ")" - ATMOSPHERE: (56556..56558) " - -" + ATMOSPHERE: (56556..56558) "\n\n" ATMOSPHERE: (56558..56599) ";; (test #t (port? (current-input-port)))" - ATMOSPHERE: (56599..56600) " -" + ATMOSPHERE: (56599..56600) "\n" ATMOSPHERE: (56600..56647) ";; (test #t (input-port? (current-input-port)))" - ATMOSPHERE: (56647..56648) " -" + ATMOSPHERE: (56647..56648) "\n" ATMOSPHERE: (56648..56697) ";; (test #t (output-port? (current-output-port)))" - ATMOSPHERE: (56697..56698) " -" + ATMOSPHERE: (56697..56698) "\n" ATMOSPHERE: (56698..56746) ";; (test #t (output-port? (current-error-port)))" - ATMOSPHERE: (56746..56747) " -" - ATMOSPHERE: (56747..56799) ";; (test #t (input-port? (open-input-string "abc")))" - ATMOSPHERE: (56799..56800) " -" + ATMOSPHERE: (56746..56747) "\n" + ATMOSPHERE: (56747..56799) ";; (test #t (input-port? (open-input-string \"abc\")))" + ATMOSPHERE: (56799..56800) "\n" ATMOSPHERE: (56800..56848) ";; (test #t (output-port? (open-output-string)))" - ATMOSPHERE: (56848..56850) " - -" - ATMOSPHERE: (56850..56904) ";; (test #t (textual-port? (open-input-string "abc")))" - ATMOSPHERE: (56904..56905) " -" + ATMOSPHERE: (56848..56850) "\n\n" + ATMOSPHERE: (56850..56904) ";; (test #t (textual-port? (open-input-string \"abc\")))" + ATMOSPHERE: (56904..56905) "\n" ATMOSPHERE: (56905..56954) ";; (test #t (textual-port? (open-output-string)))" - ATMOSPHERE: (56954..56955) " -" + ATMOSPHERE: (56954..56955) "\n" ATMOSPHERE: (56955..57017) ";; (test #t (binary-port? (open-input-bytevector #u8(0 1 2))))" - ATMOSPHERE: (57017..57018) " -" + ATMOSPHERE: (57017..57018) "\n" ATMOSPHERE: (57018..57070) ";; (test #t (binary-port? (open-output-bytevector)))" - ATMOSPHERE: (57070..57072) " - -" - ATMOSPHERE: (57072..57129) ";; (test #t (input-port-open? (open-input-string "abc")))" - ATMOSPHERE: (57129..57130) " -" + ATMOSPHERE: (57070..57072) "\n\n" + ATMOSPHERE: (57072..57129) ";; (test #t (input-port-open? (open-input-string \"abc\")))" + ATMOSPHERE: (57129..57130) "\n" ATMOSPHERE: (57130..57183) ";; (test #t (output-port-open? (open-output-string)))" - ATMOSPHERE: (57183..57185) " - -" + ATMOSPHERE: (57183..57185) "\n\n" ATMOSPHERE: (57185..57196) ";; (test #f" - ATMOSPHERE: (57196..57197) " -" - ATMOSPHERE: (57197..57241) ";; (let ((in (open-input-string "abc")))" - ATMOSPHERE: (57241..57242) " -" + ATMOSPHERE: (57196..57197) "\n" + ATMOSPHERE: (57197..57241) ";; (let ((in (open-input-string \"abc\")))" + ATMOSPHERE: (57241..57242) "\n" ATMOSPHERE: (57242..57272) ";; (close-input-port in)" - ATMOSPHERE: (57272..57273) " -" + ATMOSPHERE: (57272..57273) "\n" ATMOSPHERE: (57273..57305) ";; (input-port-open? in)))" - ATMOSPHERE: (57305..57307) " - -" + ATMOSPHERE: (57305..57307) "\n\n" ATMOSPHERE: (57307..57318) ";; (test #f" - ATMOSPHERE: (57318..57319) " -" + ATMOSPHERE: (57318..57319) "\n" ATMOSPHERE: (57319..57359) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (57359..57360) " -" + ATMOSPHERE: (57359..57360) "\n" ATMOSPHERE: (57360..57392) ";; (close-output-port out)" - ATMOSPHERE: (57392..57393) " -" + ATMOSPHERE: (57392..57393) "\n" ATMOSPHERE: (57393..57427) ";; (output-port-open? out)))" - ATMOSPHERE: (57427..57429) " - -" + ATMOSPHERE: (57427..57429) "\n\n" ATMOSPHERE: (57429..57440) ";; (test #f" - ATMOSPHERE: (57440..57441) " -" + ATMOSPHERE: (57440..57441) "\n" ATMOSPHERE: (57441..57481) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (57481..57482) " -" + ATMOSPHERE: (57481..57482) "\n" ATMOSPHERE: (57482..57507) ";; (close-port out)" - ATMOSPHERE: (57507..57508) " -" + ATMOSPHERE: (57507..57508) "\n" ATMOSPHERE: (57508..57542) ";; (output-port-open? out)))" - ATMOSPHERE: (57542..57544) " - -" + ATMOSPHERE: (57542..57544) "\n\n" ATMOSPHERE: (57544..57559) ";; (test 'error" - ATMOSPHERE: (57559..57560) " -" - ATMOSPHERE: (57560..57604) ";; (let ((in (open-input-string "abc")))" - ATMOSPHERE: (57604..57605) " -" + ATMOSPHERE: (57559..57560) "\n" + ATMOSPHERE: (57560..57604) ";; (let ((in (open-input-string \"abc\")))" + ATMOSPHERE: (57604..57605) "\n" ATMOSPHERE: (57605..57635) ";; (close-input-port in)" - ATMOSPHERE: (57635..57636) " -" + ATMOSPHERE: (57635..57636) "\n" ATMOSPHERE: (57636..57689) ";; (guard (exn (else 'error)) (read-char in))))" - ATMOSPHERE: (57689..57691) " - -" + ATMOSPHERE: (57689..57691) "\n\n" ATMOSPHERE: (57691..57706) ";; (test 'error" - ATMOSPHERE: (57706..57707) " -" + ATMOSPHERE: (57706..57707) "\n" ATMOSPHERE: (57707..57747) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (57747..57748) " -" + ATMOSPHERE: (57747..57748) "\n" ATMOSPHERE: (57748..57780) ";; (close-output-port out)" - ATMOSPHERE: (57780..57781) " -" - ATMOSPHERE: (57781..57840) ";; (guard (exn (else 'error)) (write-char #\c out))))" - ATMOSPHERE: (57840..57842) " - -" + ATMOSPHERE: (57780..57781) "\n" + ATMOSPHERE: (57781..57840) ";; (guard (exn (else 'error)) (write-char #\\c out))))" + ATMOSPHERE: (57840..57842) "\n\n" ATMOSPHERE: (57842..57881) ";; (test #t (eof-object? (eof-object)))" - ATMOSPHERE: (57881..57882) " -" - ATMOSPHERE: (57882..57938) ";; (test #t (eof-object? (read (open-input-string ""))))" - ATMOSPHERE: (57938..57939) " -" - ATMOSPHERE: (57939..57990) ";; (test #t (char-ready? (open-input-string "42")))" - ATMOSPHERE: (57990..57991) " -" - ATMOSPHERE: (57991..58037) ";; (test 42 (read (open-input-string " 42 ")))" - ATMOSPHERE: (58037..58039) " - -" - ATMOSPHERE: (58039..58100) ";; (test #t (eof-object? (read-char (open-input-string ""))))" - ATMOSPHERE: (58100..58101) " -" - ATMOSPHERE: (58101..58152) ";; (test #\a (read-char (open-input-string "abc")))" - ATMOSPHERE: (58152..58154) " - -" - ATMOSPHERE: (58154..58215) ";; (test #t (eof-object? (read-line (open-input-string ""))))" - ATMOSPHERE: (58215..58216) " -" - ATMOSPHERE: (58216..58269) ";; (test "abc" (read-line (open-input-string "abc")))" - ATMOSPHERE: (58269..58270) " -" - ATMOSPHERE: (58270..58330) ";; (test "abc" (read-line (open-input-string "abc\ndef\n")))" - ATMOSPHERE: (58330..58332) " - -" - ATMOSPHERE: (58332..58397) ";; (test #t (eof-object? (read-string 3 (open-input-string ""))))" - ATMOSPHERE: (58397..58398) " -" - ATMOSPHERE: (58398..58456) ";; (test "abc" (read-string 3 (open-input-string "abcd")))" - ATMOSPHERE: (58456..58457) " -" - ATMOSPHERE: (58457..58521) ";; (test "abc" (read-string 3 (open-input-string "abc\ndef\n")))" - ATMOSPHERE: (58521..58523) " - -" - ATMOSPHERE: (58523..58596) ";; (let ((in (open-input-string (string #\x10F700 #\x10F701 #\x10F702))))" - ATMOSPHERE: (58596..58597) " -" + ATMOSPHERE: (57881..57882) "\n" + ATMOSPHERE: (57882..57938) ";; (test #t (eof-object? (read (open-input-string \"\"))))" + ATMOSPHERE: (57938..57939) "\n" + ATMOSPHERE: (57939..57990) ";; (test #t (char-ready? (open-input-string \"42\")))" + ATMOSPHERE: (57990..57991) "\n" + ATMOSPHERE: (57991..58037) ";; (test 42 (read (open-input-string \" 42 \")))" + ATMOSPHERE: (58037..58039) "\n\n" + ATMOSPHERE: (58039..58100) ";; (test #t (eof-object? (read-char (open-input-string \"\"))))" + ATMOSPHERE: (58100..58101) "\n" + ATMOSPHERE: (58101..58152) ";; (test #\\a (read-char (open-input-string \"abc\")))" + ATMOSPHERE: (58152..58154) "\n\n" + ATMOSPHERE: (58154..58215) ";; (test #t (eof-object? (read-line (open-input-string \"\"))))" + ATMOSPHERE: (58215..58216) "\n" + ATMOSPHERE: (58216..58269) ";; (test \"abc\" (read-line (open-input-string \"abc\")))" + ATMOSPHERE: (58269..58270) "\n" + ATMOSPHERE: (58270..58330) ";; (test \"abc\" (read-line (open-input-string \"abc\\ndef\\n\")))" + ATMOSPHERE: (58330..58332) "\n\n" + ATMOSPHERE: (58332..58397) ";; (test #t (eof-object? (read-string 3 (open-input-string \"\"))))" + ATMOSPHERE: (58397..58398) "\n" + ATMOSPHERE: (58398..58456) ";; (test \"abc\" (read-string 3 (open-input-string \"abcd\")))" + ATMOSPHERE: (58456..58457) "\n" + ATMOSPHERE: (58457..58521) ";; (test \"abc\" (read-string 3 (open-input-string \"abc\\ndef\\n\")))" + ATMOSPHERE: (58521..58523) "\n\n" + ATMOSPHERE: (58523..58596) ";; (let ((in (open-input-string (string #\\x10F700 #\\x10F701 #\\x10F702))))" + ATMOSPHERE: (58596..58597) "\n" ATMOSPHERE: (58597..58628) ";; (let* ((c0 (peek-char in))" - ATMOSPHERE: (58628..58629) " -" + ATMOSPHERE: (58628..58629) "\n" ATMOSPHERE: (58629..58660) ";; (c1 (read-char in))" - ATMOSPHERE: (58660..58661) " -" + ATMOSPHERE: (58660..58661) "\n" ATMOSPHERE: (58661..58692) ";; (c2 (read-char in))" - ATMOSPHERE: (58692..58693) " -" + ATMOSPHERE: (58692..58693) "\n" ATMOSPHERE: (58693..58725) ";; (c3 (read-char in)))" - ATMOSPHERE: (58725..58726) " -" - ATMOSPHERE: (58726..58752) ";; (test #\x10F700 c0)" - ATMOSPHERE: (58752..58753) " -" - ATMOSPHERE: (58753..58779) ";; (test #\x10F700 c1)" - ATMOSPHERE: (58779..58780) " -" - ATMOSPHERE: (58780..58806) ";; (test #\x10F701 c2)" - ATMOSPHERE: (58806..58807) " -" - ATMOSPHERE: (58807..58835) ";; (test #\x10F702 c3)))" - ATMOSPHERE: (58835..58837) " - -" - ATMOSPHERE: (58837..58864) ";; (test (string #\x10F700)" - ATMOSPHERE: (58864..58865) " -" + ATMOSPHERE: (58725..58726) "\n" + ATMOSPHERE: (58726..58752) ";; (test #\\x10F700 c0)" + ATMOSPHERE: (58752..58753) "\n" + ATMOSPHERE: (58753..58779) ";; (test #\\x10F700 c1)" + ATMOSPHERE: (58779..58780) "\n" + ATMOSPHERE: (58780..58806) ";; (test #\\x10F701 c2)" + ATMOSPHERE: (58806..58807) "\n" + ATMOSPHERE: (58807..58835) ";; (test #\\x10F702 c3)))" + ATMOSPHERE: (58835..58837) "\n\n" + ATMOSPHERE: (58837..58864) ";; (test (string #\\x10F700)" + ATMOSPHERE: (58864..58865) "\n" ATMOSPHERE: (58865..58905) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (58905..58906) " -" - ATMOSPHERE: (58906..58941) ";; (write-char #\x10F700 out)" - ATMOSPHERE: (58941..58942) " -" + ATMOSPHERE: (58905..58906) "\n" + ATMOSPHERE: (58906..58941) ";; (write-char #\\x10F700 out)" + ATMOSPHERE: (58941..58942) "\n" ATMOSPHERE: (58942..58976) ";; (get-output-string out)))" - ATMOSPHERE: (58976..58978) " - -" - ATMOSPHERE: (58978..58992) ";; (test "abc"" - ATMOSPHERE: (58992..58993) " -" + ATMOSPHERE: (58976..58978) "\n\n" + ATMOSPHERE: (58978..58992) ";; (test \"abc\"" + ATMOSPHERE: (58992..58993) "\n" ATMOSPHERE: (58993..59033) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (59033..59034) " -" + ATMOSPHERE: (59033..59034) "\n" ATMOSPHERE: (59034..59059) ";; (write 'abc out)" - ATMOSPHERE: (59059..59060) " -" + ATMOSPHERE: (59059..59060) "\n" ATMOSPHERE: (59060..59094) ";; (get-output-string out)))" - ATMOSPHERE: (59094..59096) " - -" - ATMOSPHERE: (59096..59114) ";; (test "abc def"" - ATMOSPHERE: (59114..59115) " -" + ATMOSPHERE: (59094..59096) "\n\n" + ATMOSPHERE: (59096..59114) ";; (test \"abc def\"" + ATMOSPHERE: (59114..59115) "\n" ATMOSPHERE: (59115..59155) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (59155..59156) " -" - ATMOSPHERE: (59156..59188) ";; (display "abc def" out)" - ATMOSPHERE: (59188..59189) " -" + ATMOSPHERE: (59155..59156) "\n" + ATMOSPHERE: (59156..59188) ";; (display \"abc def\" out)" + ATMOSPHERE: (59188..59189) "\n" ATMOSPHERE: (59189..59223) ";; (get-output-string out)))" - ATMOSPHERE: (59223..59225) " - -" - ATMOSPHERE: (59225..59239) ";; (test "abc"" - ATMOSPHERE: (59239..59240) " -" + ATMOSPHERE: (59223..59225) "\n\n" + ATMOSPHERE: (59225..59239) ";; (test \"abc\"" + ATMOSPHERE: (59239..59240) "\n" ATMOSPHERE: (59240..59280) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (59280..59281) " -" - ATMOSPHERE: (59281..59307) ";; (display #\a out)" - ATMOSPHERE: (59307..59308) " -" - ATMOSPHERE: (59308..59334) ";; (display "b" out)" - ATMOSPHERE: (59334..59335) " -" - ATMOSPHERE: (59335..59361) ";; (display #\c out)" - ATMOSPHERE: (59361..59362) " -" + ATMOSPHERE: (59280..59281) "\n" + ATMOSPHERE: (59281..59307) ";; (display #\\a out)" + ATMOSPHERE: (59307..59308) "\n" + ATMOSPHERE: (59308..59334) ";; (display \"b\" out)" + ATMOSPHERE: (59334..59335) "\n" + ATMOSPHERE: (59335..59361) ";; (display #\\c out)" + ATMOSPHERE: (59361..59362) "\n" ATMOSPHERE: (59362..59396) ";; (get-output-string out)))" - ATMOSPHERE: (59396..59398) " - -" + ATMOSPHERE: (59396..59398) "\n\n" ATMOSPHERE: (59398..59409) ";; (test #t" - ATMOSPHERE: (59409..59410) " -" + ATMOSPHERE: (59409..59410) "\n" ATMOSPHERE: (59410..59452) ";; (let* ((out (open-output-string))" - ATMOSPHERE: (59452..59453) " -" + ATMOSPHERE: (59452..59453) "\n" ATMOSPHERE: (59453..59519) ";; (r (begin (newline out) (get-output-string out))))" - ATMOSPHERE: (59519..59520) " -" - ATMOSPHERE: (59520..59571) ";; (or (equal? r "\n") (equal? r "\r\n"))))" - ATMOSPHERE: (59571..59573) " - -" - ATMOSPHERE: (59573..59591) ";; (test "abc def"" - ATMOSPHERE: (59591..59592) " -" + ATMOSPHERE: (59519..59520) "\n" + ATMOSPHERE: (59520..59571) ";; (or (equal? r \"\\n\") (equal? r \"\\r\\n\"))))" + ATMOSPHERE: (59571..59573) "\n\n" + ATMOSPHERE: (59573..59591) ";; (test \"abc def\"" + ATMOSPHERE: (59591..59592) "\n" ATMOSPHERE: (59592..59632) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (59632..59633) " -" - ATMOSPHERE: (59633..59670) ";; (write-string "abc def" out)" - ATMOSPHERE: (59670..59671) " -" + ATMOSPHERE: (59632..59633) "\n" + ATMOSPHERE: (59633..59670) ";; (write-string \"abc def\" out)" + ATMOSPHERE: (59670..59671) "\n" ATMOSPHERE: (59671..59705) ";; (get-output-string out)))" - ATMOSPHERE: (59705..59707) " - -" - ATMOSPHERE: (59707..59721) ";; (test "def"" - ATMOSPHERE: (59721..59722) " -" + ATMOSPHERE: (59705..59707) "\n\n" + ATMOSPHERE: (59707..59721) ";; (test \"def\"" + ATMOSPHERE: (59721..59722) "\n" ATMOSPHERE: (59722..59762) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (59762..59763) " -" - ATMOSPHERE: (59763..59802) ";; (write-string "abc def" out 4)" - ATMOSPHERE: (59802..59803) " -" + ATMOSPHERE: (59762..59763) "\n" + ATMOSPHERE: (59763..59802) ";; (write-string \"abc def\" out 4)" + ATMOSPHERE: (59802..59803) "\n" ATMOSPHERE: (59803..59837) ";; (get-output-string out)))" - ATMOSPHERE: (59837..59839) " - -" - ATMOSPHERE: (59839..59853) ";; (test "c d"" - ATMOSPHERE: (59853..59854) " -" + ATMOSPHERE: (59837..59839) "\n\n" + ATMOSPHERE: (59839..59853) ";; (test \"c d\"" + ATMOSPHERE: (59853..59854) "\n" ATMOSPHERE: (59854..59894) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (59894..59895) " -" - ATMOSPHERE: (59895..59936) ";; (write-string "abc def" out 2 5)" - ATMOSPHERE: (59936..59937) " -" + ATMOSPHERE: (59894..59895) "\n" + ATMOSPHERE: (59895..59936) ";; (write-string \"abc def\" out 2 5)" + ATMOSPHERE: (59936..59937) "\n" ATMOSPHERE: (59937..59971) ";; (get-output-string out)))" - ATMOSPHERE: (59971..59973) " - -" - ATMOSPHERE: (59973..59984) ";; (test """ - ATMOSPHERE: (59984..59985) " -" + ATMOSPHERE: (59971..59973) "\n\n" + ATMOSPHERE: (59973..59984) ";; (test \"\"" + ATMOSPHERE: (59984..59985) "\n" ATMOSPHERE: (59985..60023) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (60023..60024) " -" + ATMOSPHERE: (60023..60024) "\n" ATMOSPHERE: (60024..60054) ";; (flush-output-port out)" - ATMOSPHERE: (60054..60055) " -" + ATMOSPHERE: (60054..60055) "\n" ATMOSPHERE: (60055..60087) ";; (get-output-string out)))" - ATMOSPHERE: (60087..60089) " - -" + ATMOSPHERE: (60087..60089) "\n\n" ATMOSPHERE: (60089..60155) ";; (test #t (eof-object? (read-u8 (open-input-bytevector #u8()))))" - ATMOSPHERE: (60155..60156) " -" + ATMOSPHERE: (60155..60156) "\n" ATMOSPHERE: (60156..60212) ";; (test 1 (read-u8 (open-input-bytevector #u8(1 2 3))))" - ATMOSPHERE: (60212..60214) " - -" + ATMOSPHERE: (60212..60214) "\n\n" ATMOSPHERE: (60214..60290) ";; (test #t (eof-object? (read-bytevector 3 (open-input-bytevector #u8()))))" - ATMOSPHERE: (60290..60291) " -" + ATMOSPHERE: (60290..60291) "\n" ATMOSPHERE: (60291..60346) ";; (test #t (u8-ready? (open-input-bytevector #u8(1))))" - ATMOSPHERE: (60346..60347) " -" + ATMOSPHERE: (60346..60347) "\n" ATMOSPHERE: (60347..60414) ";; (test #u8(1) (read-bytevector 3 (open-input-bytevector #u8(1))))" - ATMOSPHERE: (60414..60415) " -" + ATMOSPHERE: (60414..60415) "\n" ATMOSPHERE: (60415..60486) ";; (test #u8(1 2) (read-bytevector 3 (open-input-bytevector #u8(1 2))))" - ATMOSPHERE: (60486..60487) " -" + ATMOSPHERE: (60486..60487) "\n" ATMOSPHERE: (60487..60562) ";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3))))" - ATMOSPHERE: (60562..60563) " -" + ATMOSPHERE: (60562..60563) "\n" ATMOSPHERE: (60563..60640) ";; (test #u8(1 2 3) (read-bytevector 3 (open-input-bytevector #u8(1 2 3 4))))" - ATMOSPHERE: (60640..60642) " - -" + ATMOSPHERE: (60640..60642) "\n\n" ATMOSPHERE: (60642..60653) ";; (test #t" - ATMOSPHERE: (60653..60654) " -" + ATMOSPHERE: (60653..60654) "\n" ATMOSPHERE: (60654..60695) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (60695..60696) " -" + ATMOSPHERE: (60695..60696) "\n" ATMOSPHERE: (60696..60772) ";; (eof-object? (read-bytevector! bv (open-input-bytevector #u8())))))" - ATMOSPHERE: (60772..60774) " - -" + ATMOSPHERE: (60772..60774) "\n\n" ATMOSPHERE: (60774..60798) ";; (test #u8(6 7 8 9 10)" - ATMOSPHERE: (60798..60799) " -" + ATMOSPHERE: (60798..60799) "\n" ATMOSPHERE: (60799..60838) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (60838..60839) " -" + ATMOSPHERE: (60838..60839) "\n" ATMOSPHERE: (60839..60911) ";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 5)" - ATMOSPHERE: (60911..60912) " -" + ATMOSPHERE: (60911..60912) "\n" ATMOSPHERE: (60912..60923) ";; bv))" - ATMOSPHERE: (60923..60925) " - -" + ATMOSPHERE: (60923..60925) "\n\n" ATMOSPHERE: (60925..60948) ";; (test #u8(6 7 8 4 5)" - ATMOSPHERE: (60948..60949) " -" + ATMOSPHERE: (60948..60949) "\n" ATMOSPHERE: (60949..60988) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (60988..60989) " -" + ATMOSPHERE: (60988..60989) "\n" ATMOSPHERE: (60989..61061) ";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 0 3)" - ATMOSPHERE: (61061..61062) " -" + ATMOSPHERE: (61061..61062) "\n" ATMOSPHERE: (61062..61073) ";; bv))" - ATMOSPHERE: (61073..61075) " - -" + ATMOSPHERE: (61073..61075) "\n\n" ATMOSPHERE: (61075..61098) ";; (test #u8(1 2 3 6 5)" - ATMOSPHERE: (61098..61099) " -" + ATMOSPHERE: (61098..61099) "\n" ATMOSPHERE: (61099..61138) ";; (let ((bv (bytevector 1 2 3 4 5)))" - ATMOSPHERE: (61138..61139) " -" + ATMOSPHERE: (61138..61139) "\n" ATMOSPHERE: (61139..61211) ";; (read-bytevector! bv (open-input-bytevector #u8(6 7 8 9 10)) 3 4)" - ATMOSPHERE: (61211..61212) " -" + ATMOSPHERE: (61211..61212) "\n" ATMOSPHERE: (61212..61223) ";; bv))" - ATMOSPHERE: (61223..61225) " - -" + ATMOSPHERE: (61223..61225) "\n\n" ATMOSPHERE: (61225..61244) ";; (test #u8(1 2 3)" - ATMOSPHERE: (61244..61245) " -" + ATMOSPHERE: (61244..61245) "\n" ATMOSPHERE: (61245..61287) ";; (let ((out (open-output-bytevector)))" - ATMOSPHERE: (61287..61288) " -" + ATMOSPHERE: (61287..61288) "\n" ATMOSPHERE: (61288..61311) ";; (write-u8 1 out)" - ATMOSPHERE: (61311..61312) " -" + ATMOSPHERE: (61311..61312) "\n" ATMOSPHERE: (61312..61335) ";; (write-u8 2 out)" - ATMOSPHERE: (61335..61336) " -" + ATMOSPHERE: (61335..61336) "\n" ATMOSPHERE: (61336..61359) ";; (write-u8 3 out)" - ATMOSPHERE: (61359..61360) " -" + ATMOSPHERE: (61359..61360) "\n" ATMOSPHERE: (61360..61396) ";; (get-output-bytevector out)))" - ATMOSPHERE: (61396..61398) " - -" + ATMOSPHERE: (61396..61398) "\n\n" ATMOSPHERE: (61398..61421) ";; (test #u8(1 2 3 4 5)" - ATMOSPHERE: (61421..61422) " -" + ATMOSPHERE: (61421..61422) "\n" ATMOSPHERE: (61422..61464) ";; (let ((out (open-output-bytevector)))" - ATMOSPHERE: (61464..61465) " -" + ATMOSPHERE: (61464..61465) "\n" ATMOSPHERE: (61465..61509) ";; (write-bytevector #u8(1 2 3 4 5) out)" - ATMOSPHERE: (61509..61510) " -" + ATMOSPHERE: (61509..61510) "\n" ATMOSPHERE: (61510..61546) ";; (get-output-bytevector out)))" - ATMOSPHERE: (61546..61548) " - -" + ATMOSPHERE: (61546..61548) "\n\n" ATMOSPHERE: (61548..61567) ";; (test #u8(3 4 5)" - ATMOSPHERE: (61567..61568) " -" + ATMOSPHERE: (61567..61568) "\n" ATMOSPHERE: (61568..61610) ";; (let ((out (open-output-bytevector)))" - ATMOSPHERE: (61610..61611) " -" + ATMOSPHERE: (61610..61611) "\n" ATMOSPHERE: (61611..61657) ";; (write-bytevector #u8(1 2 3 4 5) out 2)" - ATMOSPHERE: (61657..61658) " -" + ATMOSPHERE: (61657..61658) "\n" ATMOSPHERE: (61658..61694) ";; (get-output-bytevector out)))" - ATMOSPHERE: (61694..61696) " - -" + ATMOSPHERE: (61694..61696) "\n\n" ATMOSPHERE: (61696..61713) ";; (test #u8(3 4)" - ATMOSPHERE: (61713..61714) " -" + ATMOSPHERE: (61713..61714) "\n" ATMOSPHERE: (61714..61756) ";; (let ((out (open-output-bytevector)))" - ATMOSPHERE: (61756..61757) " -" + ATMOSPHERE: (61756..61757) "\n" ATMOSPHERE: (61757..61805) ";; (write-bytevector #u8(1 2 3 4 5) out 2 4)" - ATMOSPHERE: (61805..61806) " -" + ATMOSPHERE: (61805..61806) "\n" ATMOSPHERE: (61806..61842) ";; (get-output-bytevector out)))" - ATMOSPHERE: (61842..61844) " - -" + ATMOSPHERE: (61842..61844) "\n\n" ATMOSPHERE: (61844..61858) ";; (test #u8()" - ATMOSPHERE: (61858..61859) " -" + ATMOSPHERE: (61858..61859) "\n" ATMOSPHERE: (61859..61901) ";; (let ((out (open-output-bytevector)))" - ATMOSPHERE: (61901..61902) " -" + ATMOSPHERE: (61901..61902) "\n" ATMOSPHERE: (61902..61932) ";; (flush-output-port out)" - ATMOSPHERE: (61932..61933) " -" + ATMOSPHERE: (61932..61933) "\n" ATMOSPHERE: (61933..61969) ";; (get-output-bytevector out)))" - ATMOSPHERE: (61969..61971) " - -" + ATMOSPHERE: (61969..61971) "\n\n" ATMOSPHERE: (61971..61982) ";; (test #t" - ATMOSPHERE: (61982..61983) " -" + ATMOSPHERE: (61982..61983) "\n" ATMOSPHERE: (61983..62002) ";; (and (member" - ATMOSPHERE: (62002..62003) " -" + ATMOSPHERE: (62002..62003) "\n" ATMOSPHERE: (62003..62048) ";; (let ((out (open-output-string))" - ATMOSPHERE: (62048..62049) " -" + ATMOSPHERE: (62048..62049) "\n" ATMOSPHERE: (62049..62081) ";; (x (list 1)))" - ATMOSPHERE: (62081..62082) " -" + ATMOSPHERE: (62081..62082) "\n" ATMOSPHERE: (62082..62111) ";; (set-cdr! x x)" - ATMOSPHERE: (62111..62112) " -" + ATMOSPHERE: (62111..62112) "\n" ATMOSPHERE: (62112..62140) ";; (write x out)" - ATMOSPHERE: (62140..62141) " -" + ATMOSPHERE: (62140..62141) "\n" ATMOSPHERE: (62141..62180) ";; (get-output-string out))" - ATMOSPHERE: (62180..62181) " -" + ATMOSPHERE: (62180..62181) "\n" ATMOSPHERE: (62181..62254) ";; ;; labels not guaranteed to be 0 indexed, spacing may differ" - ATMOSPHERE: (62254..62255) " -" - ATMOSPHERE: (62255..62301) ";; '("#0=(1 . #0#)" "#1=(1 . #1#)"))" - ATMOSPHERE: (62301..62302) " -" + ATMOSPHERE: (62254..62255) "\n" + ATMOSPHERE: (62255..62301) ";; '(\"#0=(1 . #0#)\" \"#1=(1 . #1#)\"))" + ATMOSPHERE: (62301..62302) "\n" ATMOSPHERE: (62302..62318) ";; #t))" - ATMOSPHERE: (62318..62320) " - -" - ATMOSPHERE: (62320..62348) ";; (test "((1 2 3) (1 2 3))"" - ATMOSPHERE: (62348..62349) " -" + ATMOSPHERE: (62318..62320) "\n\n" + ATMOSPHERE: (62320..62348) ";; (test \"((1 2 3) (1 2 3))\"" + ATMOSPHERE: (62348..62349) "\n" ATMOSPHERE: (62349..62388) ";; (let ((out (open-output-string))" - ATMOSPHERE: (62388..62389) " -" + ATMOSPHERE: (62388..62389) "\n" ATMOSPHERE: (62389..62419) ";; (x (list 1 2 3)))" - ATMOSPHERE: (62419..62420) " -" + ATMOSPHERE: (62419..62420) "\n" ATMOSPHERE: (62420..62451) ";; (write (list x x) out)" - ATMOSPHERE: (62451..62452) " -" + ATMOSPHERE: (62451..62452) "\n" ATMOSPHERE: (62452..62486) ";; (get-output-string out)))" - ATMOSPHERE: (62486..62488) " - -" - ATMOSPHERE: (62488..62516) ";; (test "((1 2 3) (1 2 3))"" - ATMOSPHERE: (62516..62517) " -" + ATMOSPHERE: (62486..62488) "\n\n" + ATMOSPHERE: (62488..62516) ";; (test \"((1 2 3) (1 2 3))\"" + ATMOSPHERE: (62516..62517) "\n" ATMOSPHERE: (62517..62556) ";; (let ((out (open-output-string))" - ATMOSPHERE: (62556..62557) " -" + ATMOSPHERE: (62556..62557) "\n" ATMOSPHERE: (62557..62587) ";; (x (list 1 2 3)))" - ATMOSPHERE: (62587..62588) " -" + ATMOSPHERE: (62587..62588) "\n" ATMOSPHERE: (62588..62626) ";; (write-simple (list x x) out)" - ATMOSPHERE: (62626..62627) " -" + ATMOSPHERE: (62626..62627) "\n" ATMOSPHERE: (62627..62661) ";; (get-output-string out)))" - ATMOSPHERE: (62661..62663) " - -" + ATMOSPHERE: (62661..62663) "\n\n" ATMOSPHERE: (62663..62674) ";; (test #t" - ATMOSPHERE: (62674..62675) " -" + ATMOSPHERE: (62674..62675) "\n" ATMOSPHERE: (62675..62727) ";; (and (member (let ((out (open-output-string))" - ATMOSPHERE: (62727..62728) " -" + ATMOSPHERE: (62727..62728) "\n" ATMOSPHERE: (62728..62771) ";; (x (list 1 2 3)))" - ATMOSPHERE: (62771..62772) " -" + ATMOSPHERE: (62771..62772) "\n" ATMOSPHERE: (62772..62823) ";; (write-shared (list x x) out)" - ATMOSPHERE: (62823..62824) " -" + ATMOSPHERE: (62823..62824) "\n" ATMOSPHERE: (62824..62870) ";; (get-output-string out))" - ATMOSPHERE: (62870..62871) " -" - ATMOSPHERE: (62871..62932) ";; '("(#0=(1 2 3) #0#)" "(#1=(1 2 3) #1#)"))" - ATMOSPHERE: (62932..62933) " -" + ATMOSPHERE: (62870..62871) "\n" + ATMOSPHERE: (62871..62932) ";; '(\"(#0=(1 2 3) #0#)\" \"(#1=(1 2 3) #1#)\"))" + ATMOSPHERE: (62932..62933) "\n" ATMOSPHERE: (62933..62949) ";; #t))" - ATMOSPHERE: (62949..62951) " - -" + ATMOSPHERE: (62949..62951) "\n\n" FORM: (62951..62977) OPEN_PAREN: (62951..62952) "(" SYMBOL: (62952..62962) IDENTIFIER: (62952..62962) "test-begin" ATMOSPHERE: (62962..62963) " " CONSTANT: (62963..62976) - STRING: (62963..62976) ""Read syntax"" + STRING: (62963..62976) "\"Read syntax\"" CLOSE_PAREN: (62976..62977) ")" - ATMOSPHERE: (62977..62979) " - -" + ATMOSPHERE: (62977..62979) "\n\n" ATMOSPHERE: (62979..63022) ";; ;; check reading boolean followed by eof" - ATMOSPHERE: (63022..63023) " -" - ATMOSPHERE: (63023..63067) ";; (test #t (read (open-input-string "#t")))" - ATMOSPHERE: (63067..63068) " -" - ATMOSPHERE: (63068..63115) ";; (test #t (read (open-input-string "#true")))" - ATMOSPHERE: (63115..63116) " -" - ATMOSPHERE: (63116..63160) ";; (test #f (read (open-input-string "#f")))" - ATMOSPHERE: (63160..63161) " -" - ATMOSPHERE: (63161..63209) ";; (test #f (read (open-input-string "#false")))" - ATMOSPHERE: (63209..63210) " -" + ATMOSPHERE: (63022..63023) "\n" + ATMOSPHERE: (63023..63067) ";; (test #t (read (open-input-string \"#t\")))" + ATMOSPHERE: (63067..63068) "\n" + ATMOSPHERE: (63068..63115) ";; (test #t (read (open-input-string \"#true\")))" + ATMOSPHERE: (63115..63116) "\n" + ATMOSPHERE: (63116..63160) ";; (test #f (read (open-input-string \"#f\")))" + ATMOSPHERE: (63160..63161) "\n" + ATMOSPHERE: (63161..63209) ";; (test #f (read (open-input-string \"#false\")))" + ATMOSPHERE: (63209..63210) "\n" ATMOSPHERE: (63210..63233) ";; (define (read2 port)" - ATMOSPHERE: (63233..63234) " -" + ATMOSPHERE: (63233..63234) "\n" ATMOSPHERE: (63234..63280) ";; (let* ((o1 (read port)) (o2 (read port)))" - ATMOSPHERE: (63280..63281) " -" + ATMOSPHERE: (63280..63281) "\n" ATMOSPHERE: (63281..63302) ";; (cons o1 o2)))" - ATMOSPHERE: (63302..63303) " -" + ATMOSPHERE: (63302..63303) "\n" ATMOSPHERE: (63303..63352) ";; ;; check reading boolean followed by delimiter" - ATMOSPHERE: (63352..63353) " -" - ATMOSPHERE: (63353..63410) ";; (test '(#t . (5)) (read2 (open-input-string "#t(5)")))" - ATMOSPHERE: (63410..63411) " -" - ATMOSPHERE: (63411..63469) ";; (test '(#t . 6) (read2 (open-input-string "#true 6 ")))" - ATMOSPHERE: (63469..63470) " -" - ATMOSPHERE: (63470..63524) ";; (test '(#f . 7) (read2 (open-input-string "#f 7")))" - ATMOSPHERE: (63524..63525) " -" - ATMOSPHERE: (63525..63588) ";; (test '(#f . "8") (read2 (open-input-string "#false\"8\"")))" - ATMOSPHERE: (63588..63590) " - -" - ATMOSPHERE: (63590..63635) ";; (test '() (read (open-input-string "()")))" - ATMOSPHERE: (63635..63636) " -" - ATMOSPHERE: (63636..63687) ";; (test '(1 2) (read (open-input-string "(1 2)")))" - ATMOSPHERE: (63687..63688) " -" - ATMOSPHERE: (63688..63743) ";; (test '(1 . 2) (read (open-input-string "(1 . 2)")))" - ATMOSPHERE: (63743..63744) " -" - ATMOSPHERE: (63744..63799) ";; (test '(1 2) (read (open-input-string "(1 . (2))")))" - ATMOSPHERE: (63799..63800) " -" - ATMOSPHERE: (63800..63871) ";; (test '(1 2 3 4 5) (read (open-input-string "(1 . (2 3 4 . (5)))")))" - ATMOSPHERE: (63871..63872) " -" - ATMOSPHERE: (63872..63933) ";; (test '1 (cadr (read (open-input-string "#0=(1 . #0#)"))))" - ATMOSPHERE: (63933..63934) " -" - ATMOSPHERE: (63934..64005) ";; (test '(1 2 3) (cadr (read (open-input-string "(#0=(1 2 3) #0#)"))))" - ATMOSPHERE: (64005..64007) " - -" - ATMOSPHERE: (64007..64067) ";; (test '(quote (1 2)) (read (open-input-string "'(1 2)")))" - ATMOSPHERE: (64067..64068) " -" - ATMOSPHERE: (64068..64139) ";; (test '(quote (1 (unquote 2))) (read (open-input-string "'(1 ,2)")))" - ATMOSPHERE: (64139..64140) " -" - ATMOSPHERE: (64140..64221) ";; (test '(quote (1 (unquote-splicing 2))) (read (open-input-string "'(1 ,@2)")))" - ATMOSPHERE: (64221..64222) " -" - ATMOSPHERE: (64222..64298) ";; (test '(quasiquote (1 (unquote 2))) (read (open-input-string "`(1 ,2)")))" - ATMOSPHERE: (64298..64300) " - -" - ATMOSPHERE: (64300..64346) ";; (test #() (read (open-input-string "#()")))" - ATMOSPHERE: (64346..64347) " -" - ATMOSPHERE: (64347..64399) ";; (test #(a b) (read (open-input-string "#(a b)")))" - ATMOSPHERE: (64399..64401) " - -" - ATMOSPHERE: (64401..64451) ";; (test #u8() (read (open-input-string "#u8()")))" - ATMOSPHERE: (64451..64452) " -" - ATMOSPHERE: (64452..64508) ";; (test #u8(0 1) (read (open-input-string "#u8(0 1)")))" - ATMOSPHERE: (64508..64510) " - -" - ATMOSPHERE: (64510..64557) ";; (test 'abc (read (open-input-string "abc")))" - ATMOSPHERE: (64557..64558) " -" - ATMOSPHERE: (64558..64609) ";; (test 'abc (read (open-input-string "abc def")))" - ATMOSPHERE: (64609..64610) " -" - ATMOSPHERE: (64610..64657) ";; (test 'ABC (read (open-input-string "ABC")))" - ATMOSPHERE: (64657..64658) " -" - ATMOSPHERE: (64658..64716) ";; (test 'Hello (read (open-input-string "|H\\x65;llo|")))" - ATMOSPHERE: (64716..64718) " - -" - ATMOSPHERE: (64718..64777) ";; (test 'abc (read (open-input-string "#!fold-case ABC")))" - ATMOSPHERE: (64777..64778) " -" - ATMOSPHERE: (64778..64852) ";; (test 'ABC (read (open-input-string "#!fold-case #!no-fold-case ABC")))" - ATMOSPHERE: (64852..64854) " - -" - ATMOSPHERE: (64854..64908) ";; (test 'def (read (open-input-string "#; abc def")))" - ATMOSPHERE: (64908..64909) " -" - ATMOSPHERE: (64909..64964) ";; (test 'def (read (open-input-string "; abc \ndef")))" - ATMOSPHERE: (64964..64965) " -" - ATMOSPHERE: (64965..65022) ";; (test 'def (read (open-input-string "#| abc |# def")))" - ATMOSPHERE: (65022..65023) " -" - ATMOSPHERE: (65023..65090) ";; (test 'ghi (read (open-input-string "#| abc #| def |# |# ghi")))" - ATMOSPHERE: (65090..65091) " -" - ATMOSPHERE: (65091..65153) ";; (test 'ghi (read (open-input-string "#; ; abc\n def ghi")))" - ATMOSPHERE: (65153..65154) " -" - ATMOSPHERE: (65154..65220) ";; (test '(abs -16) (read (open-input-string "(#;sqrt abs -16)")))" - ATMOSPHERE: (65220..65221) " -" - ATMOSPHERE: (65221..65281) ";; (test '(a d) (read (open-input-string "(a #; #;b c d)")))" - ATMOSPHERE: (65281..65282) " -" - ATMOSPHERE: (65282..65345) ";; (test '(a e) (read (open-input-string "(a #;(b #;c d) e)")))" - ATMOSPHERE: (65345..65346) " -" - ATMOSPHERE: (65346..65405) ";; (test '(a . c) (read (open-input-string "(a . #;b c)")))" - ATMOSPHERE: (65405..65406) " -" - ATMOSPHERE: (65406..65465) ";; (test '(a . b) (read (open-input-string "(a . b #;c)")))" - ATMOSPHERE: (65465..65467) " - -" + ATMOSPHERE: (63352..63353) "\n" + ATMOSPHERE: (63353..63410) ";; (test '(#t . (5)) (read2 (open-input-string \"#t(5)\")))" + ATMOSPHERE: (63410..63411) "\n" + ATMOSPHERE: (63411..63469) ";; (test '(#t . 6) (read2 (open-input-string \"#true 6 \")))" + ATMOSPHERE: (63469..63470) "\n" + ATMOSPHERE: (63470..63524) ";; (test '(#f . 7) (read2 (open-input-string \"#f 7\")))" + ATMOSPHERE: (63524..63525) "\n" + ATMOSPHERE: (63525..63588) ";; (test '(#f . \"8\") (read2 (open-input-string \"#false\\\"8\\\"\")))" + ATMOSPHERE: (63588..63590) "\n\n" + ATMOSPHERE: (63590..63635) ";; (test '() (read (open-input-string \"()\")))" + ATMOSPHERE: (63635..63636) "\n" + ATMOSPHERE: (63636..63687) ";; (test '(1 2) (read (open-input-string \"(1 2)\")))" + ATMOSPHERE: (63687..63688) "\n" + ATMOSPHERE: (63688..63743) ";; (test '(1 . 2) (read (open-input-string \"(1 . 2)\")))" + ATMOSPHERE: (63743..63744) "\n" + ATMOSPHERE: (63744..63799) ";; (test '(1 2) (read (open-input-string \"(1 . (2))\")))" + ATMOSPHERE: (63799..63800) "\n" + ATMOSPHERE: (63800..63871) ";; (test '(1 2 3 4 5) (read (open-input-string \"(1 . (2 3 4 . (5)))\")))" + ATMOSPHERE: (63871..63872) "\n" + ATMOSPHERE: (63872..63933) ";; (test '1 (cadr (read (open-input-string \"#0=(1 . #0#)\"))))" + ATMOSPHERE: (63933..63934) "\n" + ATMOSPHERE: (63934..64005) ";; (test '(1 2 3) (cadr (read (open-input-string \"(#0=(1 2 3) #0#)\"))))" + ATMOSPHERE: (64005..64007) "\n\n" + ATMOSPHERE: (64007..64067) ";; (test '(quote (1 2)) (read (open-input-string \"'(1 2)\")))" + ATMOSPHERE: (64067..64068) "\n" + ATMOSPHERE: (64068..64139) ";; (test '(quote (1 (unquote 2))) (read (open-input-string \"'(1 ,2)\")))" + ATMOSPHERE: (64139..64140) "\n" + ATMOSPHERE: (64140..64221) ";; (test '(quote (1 (unquote-splicing 2))) (read (open-input-string \"'(1 ,@2)\")))" + ATMOSPHERE: (64221..64222) "\n" + ATMOSPHERE: (64222..64298) ";; (test '(quasiquote (1 (unquote 2))) (read (open-input-string \"`(1 ,2)\")))" + ATMOSPHERE: (64298..64300) "\n\n" + ATMOSPHERE: (64300..64346) ";; (test #() (read (open-input-string \"#()\")))" + ATMOSPHERE: (64346..64347) "\n" + ATMOSPHERE: (64347..64399) ";; (test #(a b) (read (open-input-string \"#(a b)\")))" + ATMOSPHERE: (64399..64401) "\n\n" + ATMOSPHERE: (64401..64451) ";; (test #u8() (read (open-input-string \"#u8()\")))" + ATMOSPHERE: (64451..64452) "\n" + ATMOSPHERE: (64452..64508) ";; (test #u8(0 1) (read (open-input-string \"#u8(0 1)\")))" + ATMOSPHERE: (64508..64510) "\n\n" + ATMOSPHERE: (64510..64557) ";; (test 'abc (read (open-input-string \"abc\")))" + ATMOSPHERE: (64557..64558) "\n" + ATMOSPHERE: (64558..64609) ";; (test 'abc (read (open-input-string \"abc def\")))" + ATMOSPHERE: (64609..64610) "\n" + ATMOSPHERE: (64610..64657) ";; (test 'ABC (read (open-input-string \"ABC\")))" + ATMOSPHERE: (64657..64658) "\n" + ATMOSPHERE: (64658..64716) ";; (test 'Hello (read (open-input-string \"|H\\\\x65;llo|\")))" + ATMOSPHERE: (64716..64718) "\n\n" + ATMOSPHERE: (64718..64777) ";; (test 'abc (read (open-input-string \"#!fold-case ABC\")))" + ATMOSPHERE: (64777..64778) "\n" + ATMOSPHERE: (64778..64852) ";; (test 'ABC (read (open-input-string \"#!fold-case #!no-fold-case ABC\")))" + ATMOSPHERE: (64852..64854) "\n\n" + ATMOSPHERE: (64854..64908) ";; (test 'def (read (open-input-string \"#; abc def\")))" + ATMOSPHERE: (64908..64909) "\n" + ATMOSPHERE: (64909..64964) ";; (test 'def (read (open-input-string \"; abc \\ndef\")))" + ATMOSPHERE: (64964..64965) "\n" + ATMOSPHERE: (64965..65022) ";; (test 'def (read (open-input-string \"#| abc |# def\")))" + ATMOSPHERE: (65022..65023) "\n" + ATMOSPHERE: (65023..65090) ";; (test 'ghi (read (open-input-string \"#| abc #| def |# |# ghi\")))" + ATMOSPHERE: (65090..65091) "\n" + ATMOSPHERE: (65091..65153) ";; (test 'ghi (read (open-input-string \"#; ; abc\\n def ghi\")))" + ATMOSPHERE: (65153..65154) "\n" + ATMOSPHERE: (65154..65220) ";; (test '(abs -16) (read (open-input-string \"(#;sqrt abs -16)\")))" + ATMOSPHERE: (65220..65221) "\n" + ATMOSPHERE: (65221..65281) ";; (test '(a d) (read (open-input-string \"(a #; #;b c d)\")))" + ATMOSPHERE: (65281..65282) "\n" + ATMOSPHERE: (65282..65345) ";; (test '(a e) (read (open-input-string \"(a #;(b #;c d) e)\")))" + ATMOSPHERE: (65345..65346) "\n" + ATMOSPHERE: (65346..65405) ";; (test '(a . c) (read (open-input-string \"(a . #;b c)\")))" + ATMOSPHERE: (65405..65406) "\n" + ATMOSPHERE: (65406..65465) ";; (test '(a . b) (read (open-input-string \"(a . b #;c)\")))" + ATMOSPHERE: (65465..65467) "\n\n" ATMOSPHERE: (65467..65499) ";; (define (test-read-error str)" - ATMOSPHERE: (65499..65500) " -" + ATMOSPHERE: (65499..65500) "\n" ATMOSPHERE: (65500..65521) ";; (test-assert str" - ATMOSPHERE: (65521..65522) " -" + ATMOSPHERE: (65521..65522) "\n" ATMOSPHERE: (65522..65553) ";; (guard (exn (else #t))" - ATMOSPHERE: (65553..65554) " -" + ATMOSPHERE: (65553..65554) "\n" ATMOSPHERE: (65554..65595) ";; (read (open-input-string str))" - ATMOSPHERE: (65595..65596) " -" + ATMOSPHERE: (65595..65596) "\n" ATMOSPHERE: (65596..65612) ";; #f)))" - ATMOSPHERE: (65612..65614) " - -" - ATMOSPHERE: (65614..65646) ";; (test-read-error "(#;a . b)")" - ATMOSPHERE: (65646..65647) " -" - ATMOSPHERE: (65647..65679) ";; (test-read-error "(a . #;b)")" - ATMOSPHERE: (65679..65680) " -" - ATMOSPHERE: (65680..65712) ";; (test-read-error "(a #;. b)")" - ATMOSPHERE: (65712..65713) " -" - ATMOSPHERE: (65713..65749) ";; (test-read-error "(#;x #;y . z)")" - ATMOSPHERE: (65749..65750) " -" - ATMOSPHERE: (65750..65789) ";; (test-read-error "(#; #;x #;y . z)")" - ATMOSPHERE: (65789..65790) " -" - ATMOSPHERE: (65790..65825) ";; (test-read-error "(#; #;x . z)")" - ATMOSPHERE: (65825..65827) " - -" - ATMOSPHERE: (65827..65874) ";; (test #\a (read (open-input-string "#\\a")))" - ATMOSPHERE: (65874..65875) " -" - ATMOSPHERE: (65875..65930) ";; (test #\space (read (open-input-string "#\\space")))" - ATMOSPHERE: (65930..65931) " -" - ATMOSPHERE: (65931..65995) ";; (test 0 (char->integer (read (open-input-string "#\\null"))))" - ATMOSPHERE: (65995..65996) " -" - ATMOSPHERE: (65996..66061) ";; (test 7 (char->integer (read (open-input-string "#\\alarm"))))" - ATMOSPHERE: (66061..66062) " -" - ATMOSPHERE: (66062..66131) ";; (test 8 (char->integer (read (open-input-string "#\\backspace"))))" - ATMOSPHERE: (66131..66132) " -" - ATMOSPHERE: (66132..66195) ";; (test 9 (char->integer (read (open-input-string "#\\tab"))))" - ATMOSPHERE: (66195..66196) " -" - ATMOSPHERE: (66196..66264) ";; (test 10 (char->integer (read (open-input-string "#\\newline"))))" - ATMOSPHERE: (66264..66265) " -" - ATMOSPHERE: (66265..66332) ";; (test 13 (char->integer (read (open-input-string "#\\return"))))" - ATMOSPHERE: (66332..66333) " -" - ATMOSPHERE: (66333..66402) ";; (test #x7F (char->integer (read (open-input-string "#\\delete"))))" - ATMOSPHERE: (66402..66403) " -" - ATMOSPHERE: (66403..66472) ";; (test #x1B (char->integer (read (open-input-string "#\\escape"))))" - ATMOSPHERE: (66472..66473) " -" - ATMOSPHERE: (66473..66539) ";; (test #x03BB (char->integer (read (open-input-string "#\\λ"))))" - ATMOSPHERE: (66539..66540) " -" - ATMOSPHERE: (66540..66610) ";; (test #x03BB (char->integer (read (open-input-string "#\\x03BB"))))" - ATMOSPHERE: (66610..66612) " - -" - ATMOSPHERE: (66612..66664) ";; (test "abc" (read (open-input-string "\"abc\"")))" - ATMOSPHERE: (66664..66665) " -" - ATMOSPHERE: (66665..66725) ";; (test "abc" (read (open-input-string "\"abc\" \"def\"")))" - ATMOSPHERE: (66725..66726) " -" - ATMOSPHERE: (66726..66778) ";; (test "ABC" (read (open-input-string "\"ABC\"")))" - ATMOSPHERE: (66778..66779) " -" - ATMOSPHERE: (66779..66840) ";; (test "Hello" (read (open-input-string "\"H\\x65;llo\"")))" - ATMOSPHERE: (66840..66841) " -" - ATMOSPHERE: (66841..66920) ";; (test 7 (char->integer (string-ref (read (open-input-string "\"\\a\"")) 0)))" - ATMOSPHERE: (66920..66921) " -" - ATMOSPHERE: (66921..67000) ";; (test 8 (char->integer (string-ref (read (open-input-string "\"\\b\"")) 0)))" - ATMOSPHERE: (67000..67001) " -" - ATMOSPHERE: (67001..67080) ";; (test 9 (char->integer (string-ref (read (open-input-string "\"\\t\"")) 0)))" - ATMOSPHERE: (67080..67081) " -" - ATMOSPHERE: (67081..67161) ";; (test 10 (char->integer (string-ref (read (open-input-string "\"\\n\"")) 0)))" - ATMOSPHERE: (67161..67162) " -" - ATMOSPHERE: (67162..67242) ";; (test 13 (char->integer (string-ref (read (open-input-string "\"\\r\"")) 0)))" - ATMOSPHERE: (67242..67243) " -" - ATMOSPHERE: (67243..67326) ";; (test #x22 (char->integer (string-ref (read (open-input-string "\"\\\"\"")) 0)))" - ATMOSPHERE: (67326..67327) " -" - ATMOSPHERE: (67327..67409) ";; (test #x7C (char->integer (string-ref (read (open-input-string "\"\\|\"")) 0)))" - ATMOSPHERE: (67409..67410) " -" - ATMOSPHERE: (67410..67488) ";; (test "line 1\nline 2\n" (read (open-input-string "\"line 1\nline 2\n\"")))" - ATMOSPHERE: (67488..67489) " -" - ATMOSPHERE: (67489..67573) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\\ncontinued\n\"")))" - ATMOSPHERE: (67573..67574) " -" - ATMOSPHERE: (67574..67659) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\ \ncontinued\n\"")))" - ATMOSPHERE: (67659..67660) " -" - ATMOSPHERE: (67660..67745) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\\n continued\n\"")))" - ATMOSPHERE: (67745..67746) " -" - ATMOSPHERE: (67746..67838) ";; (test "line 1continued\n" (read (open-input-string "\"line 1\\ \t \n \t continued\n\"")))" - ATMOSPHERE: (67838..67839) " -" - ATMOSPHERE: (67839..67933) ";; (test "line 1\n\nline 3\n" (read (open-input-string "\"line 1\\ \t \n \t \n\nline 3\n\"")))" - ATMOSPHERE: (67933..67934) " -" - ATMOSPHERE: (67934..68023) ";; (test #x03BB (char->integer (string-ref (read (open-input-string "\"\\x03BB;\"")) 0)))" - ATMOSPHERE: (68023..68025) " - -" + ATMOSPHERE: (65612..65614) "\n\n" + ATMOSPHERE: (65614..65646) ";; (test-read-error \"(#;a . b)\")" + ATMOSPHERE: (65646..65647) "\n" + ATMOSPHERE: (65647..65679) ";; (test-read-error \"(a . #;b)\")" + ATMOSPHERE: (65679..65680) "\n" + ATMOSPHERE: (65680..65712) ";; (test-read-error \"(a #;. b)\")" + ATMOSPHERE: (65712..65713) "\n" + ATMOSPHERE: (65713..65749) ";; (test-read-error \"(#;x #;y . z)\")" + ATMOSPHERE: (65749..65750) "\n" + ATMOSPHERE: (65750..65789) ";; (test-read-error \"(#; #;x #;y . z)\")" + ATMOSPHERE: (65789..65790) "\n" + ATMOSPHERE: (65790..65825) ";; (test-read-error \"(#; #;x . z)\")" + ATMOSPHERE: (65825..65827) "\n\n" + ATMOSPHERE: (65827..65874) ";; (test #\\a (read (open-input-string \"#\\\\a\")))" + ATMOSPHERE: (65874..65875) "\n" + ATMOSPHERE: (65875..65930) ";; (test #\\space (read (open-input-string \"#\\\\space\")))" + ATMOSPHERE: (65930..65931) "\n" + ATMOSPHERE: (65931..65995) ";; (test 0 (char->integer (read (open-input-string \"#\\\\null\"))))" + ATMOSPHERE: (65995..65996) "\n" + ATMOSPHERE: (65996..66061) ";; (test 7 (char->integer (read (open-input-string \"#\\\\alarm\"))))" + ATMOSPHERE: (66061..66062) "\n" + ATMOSPHERE: (66062..66131) ";; (test 8 (char->integer (read (open-input-string \"#\\\\backspace\"))))" + ATMOSPHERE: (66131..66132) "\n" + ATMOSPHERE: (66132..66195) ";; (test 9 (char->integer (read (open-input-string \"#\\\\tab\"))))" + ATMOSPHERE: (66195..66196) "\n" + ATMOSPHERE: (66196..66264) ";; (test 10 (char->integer (read (open-input-string \"#\\\\newline\"))))" + ATMOSPHERE: (66264..66265) "\n" + ATMOSPHERE: (66265..66332) ";; (test 13 (char->integer (read (open-input-string \"#\\\\return\"))))" + ATMOSPHERE: (66332..66333) "\n" + ATMOSPHERE: (66333..66402) ";; (test #x7F (char->integer (read (open-input-string \"#\\\\delete\"))))" + ATMOSPHERE: (66402..66403) "\n" + ATMOSPHERE: (66403..66472) ";; (test #x1B (char->integer (read (open-input-string \"#\\\\escape\"))))" + ATMOSPHERE: (66472..66473) "\n" + ATMOSPHERE: (66473..66539) ";; (test #x03BB (char->integer (read (open-input-string \"#\\\\λ\"))))" + ATMOSPHERE: (66539..66540) "\n" + ATMOSPHERE: (66540..66610) ";; (test #x03BB (char->integer (read (open-input-string \"#\\\\x03BB\"))))" + ATMOSPHERE: (66610..66612) "\n\n" + ATMOSPHERE: (66612..66664) ";; (test \"abc\" (read (open-input-string \"\\\"abc\\\"\")))" + ATMOSPHERE: (66664..66665) "\n" + ATMOSPHERE: (66665..66725) ";; (test \"abc\" (read (open-input-string \"\\\"abc\\\" \\\"def\\\"\")))" + ATMOSPHERE: (66725..66726) "\n" + ATMOSPHERE: (66726..66778) ";; (test \"ABC\" (read (open-input-string \"\\\"ABC\\\"\")))" + ATMOSPHERE: (66778..66779) "\n" + ATMOSPHERE: (66779..66840) ";; (test \"Hello\" (read (open-input-string \"\\\"H\\\\x65;llo\\\"\")))" + ATMOSPHERE: (66840..66841) "\n" + ATMOSPHERE: (66841..66920) ";; (test 7 (char->integer (string-ref (read (open-input-string \"\\\"\\\\a\\\"\")) 0)))" + ATMOSPHERE: (66920..66921) "\n" + ATMOSPHERE: (66921..67000) ";; (test 8 (char->integer (string-ref (read (open-input-string \"\\\"\\\\b\\\"\")) 0)))" + ATMOSPHERE: (67000..67001) "\n" + ATMOSPHERE: (67001..67080) ";; (test 9 (char->integer (string-ref (read (open-input-string \"\\\"\\\\t\\\"\")) 0)))" + ATMOSPHERE: (67080..67081) "\n" + ATMOSPHERE: (67081..67161) ";; (test 10 (char->integer (string-ref (read (open-input-string \"\\\"\\\\n\\\"\")) 0)))" + ATMOSPHERE: (67161..67162) "\n" + ATMOSPHERE: (67162..67242) ";; (test 13 (char->integer (string-ref (read (open-input-string \"\\\"\\\\r\\\"\")) 0)))" + ATMOSPHERE: (67242..67243) "\n" + ATMOSPHERE: (67243..67326) ";; (test #x22 (char->integer (string-ref (read (open-input-string \"\\\"\\\\\\\"\\\"\")) 0)))" + ATMOSPHERE: (67326..67327) "\n" + ATMOSPHERE: (67327..67409) ";; (test #x7C (char->integer (string-ref (read (open-input-string \"\\\"\\\\|\\\"\")) 0)))" + ATMOSPHERE: (67409..67410) "\n" + ATMOSPHERE: (67410..67488) ";; (test \"line 1\\nline 2\\n\" (read (open-input-string \"\\\"line 1\\nline 2\\n\\\"\")))" + ATMOSPHERE: (67488..67489) "\n" + ATMOSPHERE: (67489..67573) ";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\ncontinued\\n\\\"\")))" + ATMOSPHERE: (67573..67574) "\n" + ATMOSPHERE: (67574..67659) ";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\ncontinued\\n\\\"\")))" + ATMOSPHERE: (67659..67660) "\n" + ATMOSPHERE: (67660..67745) ";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\\\n continued\\n\\\"\")))" + ATMOSPHERE: (67745..67746) "\n" + ATMOSPHERE: (67746..67838) ";; (test \"line 1continued\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t continued\\n\\\"\")))" + ATMOSPHERE: (67838..67839) "\n" + ATMOSPHERE: (67839..67933) ";; (test \"line 1\\n\\nline 3\\n\" (read (open-input-string \"\\\"line 1\\\\ \\t \\n \\t \\n\\nline 3\\n\\\"\")))" + ATMOSPHERE: (67933..67934) "\n" + ATMOSPHERE: (67934..68023) ";; (test #x03BB (char->integer (string-ref (read (open-input-string \"\\\"\\\\x03BB;\\\"\")) 0)))" + ATMOSPHERE: (68023..68025) "\n\n" ATMOSPHERE: (68025..68060) ";; (define-syntax test-write-syntax" - ATMOSPHERE: (68060..68061) " -" + ATMOSPHERE: (68060..68061) "\n" ATMOSPHERE: (68061..68082) ";; (syntax-rules ()" - ATMOSPHERE: (68082..68083) " -" + ATMOSPHERE: (68082..68083) "\n" ATMOSPHERE: (68083..68130) ";; ((test-write-syntax expect-str obj-expr)" - ATMOSPHERE: (68130..68131) " -" + ATMOSPHERE: (68130..68131) "\n" ATMOSPHERE: (68131..68172) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (68172..68173) " -" + ATMOSPHERE: (68172..68173) "\n" ATMOSPHERE: (68173..68203) ";; (write obj-expr out)" - ATMOSPHERE: (68203..68204) " -" + ATMOSPHERE: (68203..68204) "\n" ATMOSPHERE: (68204..68259) ";; (test expect-str (get-output-string out))))))" - ATMOSPHERE: (68259..68261) " - -" - ATMOSPHERE: (68261..68294) ";; (test-write-syntax "|.|" '|.|)" - ATMOSPHERE: (68294..68295) " -" - ATMOSPHERE: (68295..68332) ";; (test-write-syntax "|a b|" '|a b|)" - ATMOSPHERE: (68332..68333) " -" - ATMOSPHERE: (68333..68368) ";; (test-write-syntax "|,a|" '|,a|)" - ATMOSPHERE: (68368..68369) " -" - ATMOSPHERE: (68369..68404) ";; (test-write-syntax "|\"|" '|\"|)" - ATMOSPHERE: (68404..68405) " -" - ATMOSPHERE: (68405..68441) ";; (test-write-syntax "|\\||" '|\||)" - ATMOSPHERE: (68441..68442) " -" - ATMOSPHERE: (68442..68473) ";; (test-write-syntax "||" '||)" - ATMOSPHERE: (68473..68474) " -" - ATMOSPHERE: (68474..68517) ";; (test-write-syntax "|\\\\123|" '|\\123|)" - ATMOSPHERE: (68517..68518) " -" - ATMOSPHERE: (68518..68549) ";; (test-write-syntax "a" '|a|)" - ATMOSPHERE: (68549..68550) " -" - ATMOSPHERE: (68550..68588) ";; ;; (test-write-syntax "a.b" '|a.b|)" - ATMOSPHERE: (68588..68589) " -" - ATMOSPHERE: (68589..68622) ";; (test-write-syntax "|2|" '|2|)" - ATMOSPHERE: (68622..68623) " -" - ATMOSPHERE: (68623..68658) ";; (test-write-syntax "|+3|" '|+3|)" - ATMOSPHERE: (68658..68659) " -" - ATMOSPHERE: (68659..68696) ";; (test-write-syntax "|-.4|" '|-.4|)" - ATMOSPHERE: (68696..68697) " -" - ATMOSPHERE: (68697..68732) ";; (test-write-syntax "|+i|" '|+i|)" - ATMOSPHERE: (68732..68733) " -" - ATMOSPHERE: (68733..68768) ";; (test-write-syntax "|-i|" '|-i|)" - ATMOSPHERE: (68768..68769) " -" - ATMOSPHERE: (68769..68812) ";; (test-write-syntax "|+inf.0|" '|+inf.0|)" - ATMOSPHERE: (68812..68813) " -" - ATMOSPHERE: (68813..68856) ";; (test-write-syntax "|-inf.0|" '|-inf.0|)" - ATMOSPHERE: (68856..68857) " -" - ATMOSPHERE: (68857..68900) ";; (test-write-syntax "|+nan.0|" '|+nan.0|)" - ATMOSPHERE: (68900..68901) " -" - ATMOSPHERE: (68901..68944) ";; (test-write-syntax "|+NaN.0|" '|+NaN.0|)" - ATMOSPHERE: (68944..68945) " -" - ATMOSPHERE: (68945..68994) ";; (test-write-syntax "|+NaN.0abc|" '|+NaN.0abc|)" - ATMOSPHERE: (68994..68996) " - -" + ATMOSPHERE: (68259..68261) "\n\n" + ATMOSPHERE: (68261..68294) ";; (test-write-syntax \"|.|\" '|.|)" + ATMOSPHERE: (68294..68295) "\n" + ATMOSPHERE: (68295..68332) ";; (test-write-syntax \"|a b|\" '|a b|)" + ATMOSPHERE: (68332..68333) "\n" + ATMOSPHERE: (68333..68368) ";; (test-write-syntax \"|,a|\" '|,a|)" + ATMOSPHERE: (68368..68369) "\n" + ATMOSPHERE: (68369..68404) ";; (test-write-syntax \"|\\\"|\" '|\\\"|)" + ATMOSPHERE: (68404..68405) "\n" + ATMOSPHERE: (68405..68441) ";; (test-write-syntax \"|\\\\||\" '|\\||)" + ATMOSPHERE: (68441..68442) "\n" + ATMOSPHERE: (68442..68473) ";; (test-write-syntax \"||\" '||)" + ATMOSPHERE: (68473..68474) "\n" + ATMOSPHERE: (68474..68517) ";; (test-write-syntax \"|\\\\\\\\123|\" '|\\\\123|)" + ATMOSPHERE: (68517..68518) "\n" + ATMOSPHERE: (68518..68549) ";; (test-write-syntax \"a\" '|a|)" + ATMOSPHERE: (68549..68550) "\n" + ATMOSPHERE: (68550..68588) ";; ;; (test-write-syntax \"a.b\" '|a.b|)" + ATMOSPHERE: (68588..68589) "\n" + ATMOSPHERE: (68589..68622) ";; (test-write-syntax \"|2|\" '|2|)" + ATMOSPHERE: (68622..68623) "\n" + ATMOSPHERE: (68623..68658) ";; (test-write-syntax \"|+3|\" '|+3|)" + ATMOSPHERE: (68658..68659) "\n" + ATMOSPHERE: (68659..68696) ";; (test-write-syntax \"|-.4|\" '|-.4|)" + ATMOSPHERE: (68696..68697) "\n" + ATMOSPHERE: (68697..68732) ";; (test-write-syntax \"|+i|\" '|+i|)" + ATMOSPHERE: (68732..68733) "\n" + ATMOSPHERE: (68733..68768) ";; (test-write-syntax \"|-i|\" '|-i|)" + ATMOSPHERE: (68768..68769) "\n" + ATMOSPHERE: (68769..68812) ";; (test-write-syntax \"|+inf.0|\" '|+inf.0|)" + ATMOSPHERE: (68812..68813) "\n" + ATMOSPHERE: (68813..68856) ";; (test-write-syntax \"|-inf.0|\" '|-inf.0|)" + ATMOSPHERE: (68856..68857) "\n" + ATMOSPHERE: (68857..68900) ";; (test-write-syntax \"|+nan.0|\" '|+nan.0|)" + ATMOSPHERE: (68900..68901) "\n" + ATMOSPHERE: (68901..68944) ";; (test-write-syntax \"|+NaN.0|\" '|+NaN.0|)" + ATMOSPHERE: (68944..68945) "\n" + ATMOSPHERE: (68945..68994) ";; (test-write-syntax \"|+NaN.0abc|\" '|+NaN.0abc|)" + ATMOSPHERE: (68994..68996) "\n\n" FORM: (68996..69006) OPEN_PAREN: (68996..68997) "(" SYMBOL: (68997..69005) IDENTIFIER: (68997..69005) "test-end" CLOSE_PAREN: (69005..69006) ")" - ATMOSPHERE: (69006..69008) " - -" + ATMOSPHERE: (69006..69008) "\n\n" FORM: (69008..69037) OPEN_PAREN: (69008..69009) "(" SYMBOL: (69009..69019) IDENTIFIER: (69009..69019) "test-begin" ATMOSPHERE: (69019..69020) " " CONSTANT: (69020..69036) - STRING: (69020..69036) ""Numeric syntax"" + STRING: (69020..69036) "\"Numeric syntax\"" CLOSE_PAREN: (69036..69037) ")" - ATMOSPHERE: (69037..69039) " - -" + ATMOSPHERE: (69037..69039) "\n\n" ATMOSPHERE: (69039..69091) ";; ;; Numeric syntax adapted from Peter Bex's tests." - ATMOSPHERE: (69091..69092) " -" + ATMOSPHERE: (69091..69092) "\n" ATMOSPHERE: (69092..69097) ";; ;;" - ATMOSPHERE: (69097..69098) " -" + ATMOSPHERE: (69097..69098) "\n" ATMOSPHERE: (69098..69160) ";; ;; These are updated to R7RS, using string ports instead of" - ATMOSPHERE: (69160..69161) " -" - ATMOSPHERE: (69161..69232) ";; ;; string->number, and "error" tests removed because implementations" - ATMOSPHERE: (69232..69233) " -" + ATMOSPHERE: (69160..69161) "\n" + ATMOSPHERE: (69161..69232) ";; ;; string->number, and \"error\" tests removed because implementations" + ATMOSPHERE: (69232..69233) "\n" ATMOSPHERE: (69233..69303) ";; ;; are free to provide their own numeric extensions. Currently all" - ATMOSPHERE: (69303..69304) " -" + ATMOSPHERE: (69303..69304) "\n" ATMOSPHERE: (69304..69369) ";; ;; tests are run by default - need to cond-expand and test for" - ATMOSPHERE: (69369..69370) " -" + ATMOSPHERE: (69369..69370) "\n" ATMOSPHERE: (69370..69396) ";; ;; infinities and -0.0." - ATMOSPHERE: (69396..69398) " - -" + ATMOSPHERE: (69396..69398) "\n\n" ATMOSPHERE: (69398..69435) ";; (define-syntax test-numeric-syntax" - ATMOSPHERE: (69435..69436) " -" + ATMOSPHERE: (69435..69436) "\n" ATMOSPHERE: (69436..69457) ";; (syntax-rules ()" - ATMOSPHERE: (69457..69458) " -" + ATMOSPHERE: (69457..69458) "\n" ATMOSPHERE: (69458..69507) ";; ((test-numeric-syntax str expect strs ...)" - ATMOSPHERE: (69507..69508) " -" + ATMOSPHERE: (69507..69508) "\n" ATMOSPHERE: (69508..69557) ";; (let* ((z (read (open-input-string str)))" - ATMOSPHERE: (69557..69558) " -" + ATMOSPHERE: (69557..69558) "\n" ATMOSPHERE: (69558..69599) ";; (out (open-output-string))" - ATMOSPHERE: (69599..69600) " -" + ATMOSPHERE: (69599..69600) "\n" ATMOSPHERE: (69600..69669) ";; (z-str (begin (write z out) (get-output-string out))))" - ATMOSPHERE: (69669..69670) " -" + ATMOSPHERE: (69669..69670) "\n" ATMOSPHERE: (69670..69704) ";; (test expect (values z))" - ATMOSPHERE: (69704..69705) " -" + ATMOSPHERE: (69704..69705) "\n" ATMOSPHERE: (69705..69768) ";; (test #t (and (member z-str '(str strs ...)) #t))))))" - ATMOSPHERE: (69768..69770) " - -" + ATMOSPHERE: (69768..69770) "\n\n" ATMOSPHERE: (69770..69801) ";; ;; Each test is of the form:" - ATMOSPHERE: (69801..69802) " -" + ATMOSPHERE: (69801..69802) "\n" ATMOSPHERE: (69802..69807) ";; ;;" - ATMOSPHERE: (69807..69808) " -" + ATMOSPHERE: (69807..69808) "\n" ATMOSPHERE: (69808..69888) ";; ;; (test-numeric-syntax input-str expected-value expected-write-values ...)" - ATMOSPHERE: (69888..69889) " -" + ATMOSPHERE: (69888..69889) "\n" ATMOSPHERE: (69889..69894) ";; ;;" - ATMOSPHERE: (69894..69895) " -" + ATMOSPHERE: (69894..69895) "\n" ATMOSPHERE: (69895..69962) ";; ;; where the input should be eqv? to the expected-value, and the" - ATMOSPHERE: (69962..69963) " -" + ATMOSPHERE: (69962..69963) "\n" ATMOSPHERE: (69963..70034) ";; ;; written output the same as any of the expected-write-values. The" - ATMOSPHERE: (70034..70035) " -" + ATMOSPHERE: (70034..70035) "\n" ATMOSPHERE: (70035..70045) ";; ;; form" - ATMOSPHERE: (70045..70046) " -" + ATMOSPHERE: (70045..70046) "\n" ATMOSPHERE: (70046..70051) ";; ;;" - ATMOSPHERE: (70051..70052) " -" + ATMOSPHERE: (70051..70052) "\n" ATMOSPHERE: (70052..70106) ";; ;; (test-numeric-syntax input-str expected-value)" - ATMOSPHERE: (70106..70107) " -" + ATMOSPHERE: (70106..70107) "\n" ATMOSPHERE: (70107..70112) ";; ;;" - ATMOSPHERE: (70112..70113) " -" + ATMOSPHERE: (70112..70113) "\n" ATMOSPHERE: (70113..70137) ";; ;; is a shorthand for" - ATMOSPHERE: (70137..70138) " -" + ATMOSPHERE: (70137..70138) "\n" ATMOSPHERE: (70138..70143) ";; ;;" - ATMOSPHERE: (70143..70144) " -" + ATMOSPHERE: (70143..70144) "\n" ATMOSPHERE: (70144..70210) ";; ;; (test-numeric-syntax input-str expected-value (input-str))" - ATMOSPHERE: (70210..70212) " - -" + ATMOSPHERE: (70210..70212) "\n\n" ATMOSPHERE: (70212..70224) ";; ;; Simple" - ATMOSPHERE: (70224..70225) " -" - ATMOSPHERE: (70225..70255) ";; (test-numeric-syntax "1" 1)" - ATMOSPHERE: (70255..70256) " -" - ATMOSPHERE: (70256..70291) ";; (test-numeric-syntax "+1" 1 "1")" - ATMOSPHERE: (70291..70292) " -" - ATMOSPHERE: (70292..70324) ";; (test-numeric-syntax "-1" -1)" - ATMOSPHERE: (70324..70325) " -" - ATMOSPHERE: (70325..70370) ";; (test-numeric-syntax "#i1" 1.0 "1.0" "1.")" - ATMOSPHERE: (70370..70371) " -" - ATMOSPHERE: (70371..70416) ";; (test-numeric-syntax "#I1" 1.0 "1.0" "1.")" - ATMOSPHERE: (70416..70417) " -" - ATMOSPHERE: (70417..70466) ";; (test-numeric-syntax "#i-1" -1.0 "-1.0" "-1.")" - ATMOSPHERE: (70466..70467) " -" + ATMOSPHERE: (70224..70225) "\n" + ATMOSPHERE: (70225..70255) ";; (test-numeric-syntax \"1\" 1)" + ATMOSPHERE: (70255..70256) "\n" + ATMOSPHERE: (70256..70291) ";; (test-numeric-syntax \"+1\" 1 \"1\")" + ATMOSPHERE: (70291..70292) "\n" + ATMOSPHERE: (70292..70324) ";; (test-numeric-syntax \"-1\" -1)" + ATMOSPHERE: (70324..70325) "\n" + ATMOSPHERE: (70325..70370) ";; (test-numeric-syntax \"#i1\" 1.0 \"1.0\" \"1.\")" + ATMOSPHERE: (70370..70371) "\n" + ATMOSPHERE: (70371..70416) ";; (test-numeric-syntax \"#I1\" 1.0 \"1.0\" \"1.\")" + ATMOSPHERE: (70416..70417) "\n" + ATMOSPHERE: (70417..70466) ";; (test-numeric-syntax \"#i-1\" -1.0 \"-1.0\" \"-1.\")" + ATMOSPHERE: (70466..70467) "\n" ATMOSPHERE: (70467..70480) ";; ;; Decimal" - ATMOSPHERE: (70480..70481) " -" - ATMOSPHERE: (70481..70526) ";; (test-numeric-syntax "1.0" 1.0 "1.0" "1.")" - ATMOSPHERE: (70526..70527) " -" - ATMOSPHERE: (70527..70571) ";; (test-numeric-syntax "1." 1.0 "1.0" "1.")" - ATMOSPHERE: (70571..70572) " -" - ATMOSPHERE: (70572..70622) ";; (test-numeric-syntax ".1" 0.1 "0.1" "100.0e-3")" - ATMOSPHERE: (70622..70623) " -" - ATMOSPHERE: (70623..70677) ";; (test-numeric-syntax "-.1" -0.1 "-0.1" "-100.0e-3")" - ATMOSPHERE: (70677..70678) " -" + ATMOSPHERE: (70480..70481) "\n" + ATMOSPHERE: (70481..70526) ";; (test-numeric-syntax \"1.0\" 1.0 \"1.0\" \"1.\")" + ATMOSPHERE: (70526..70527) "\n" + ATMOSPHERE: (70527..70571) ";; (test-numeric-syntax \"1.\" 1.0 \"1.0\" \"1.\")" + ATMOSPHERE: (70571..70572) "\n" + ATMOSPHERE: (70572..70622) ";; (test-numeric-syntax \".1\" 0.1 \"0.1\" \"100.0e-3\")" + ATMOSPHERE: (70622..70623) "\n" + ATMOSPHERE: (70623..70677) ";; (test-numeric-syntax \"-.1\" -0.1 \"-0.1\" \"-100.0e-3\")" + ATMOSPHERE: (70677..70678) "\n" ATMOSPHERE: (70678..70754) ";; ;; Some Schemes don't allow negative zero. This is okay with the standard" - ATMOSPHERE: (70754..70755) " -" - ATMOSPHERE: (70755..70819) ";; (test-numeric-syntax "-.0" -0.0 "-0." "-0.0" "0.0" "0." ".0")" - ATMOSPHERE: (70819..70820) " -" - ATMOSPHERE: (70820..70884) ";; (test-numeric-syntax "-0." -0.0 "-.0" "-0.0" "0.0" "0." ".0")" - ATMOSPHERE: (70884..70885) " -" - ATMOSPHERE: (70885..70932) ";; (test-numeric-syntax "#i1.0" 1.0 "1.0" "1.")" - ATMOSPHERE: (70932..70933) " -" - ATMOSPHERE: (70933..70971) ";; (test-numeric-syntax "#e1.0" 1 "1")" - ATMOSPHERE: (70971..70972) " -" - ATMOSPHERE: (70972..71010) ";; (test-numeric-syntax "#e-.0" 0 "0")" - ATMOSPHERE: (71010..71011) " -" - ATMOSPHERE: (71011..71049) ";; (test-numeric-syntax "#e-0." 0 "0")" - ATMOSPHERE: (71049..71050) " -" + ATMOSPHERE: (70754..70755) "\n" + ATMOSPHERE: (70755..70819) ";; (test-numeric-syntax \"-.0\" -0.0 \"-0.\" \"-0.0\" \"0.0\" \"0.\" \".0\")" + ATMOSPHERE: (70819..70820) "\n" + ATMOSPHERE: (70820..70884) ";; (test-numeric-syntax \"-0.\" -0.0 \"-.0\" \"-0.0\" \"0.0\" \"0.\" \".0\")" + ATMOSPHERE: (70884..70885) "\n" + ATMOSPHERE: (70885..70932) ";; (test-numeric-syntax \"#i1.0\" 1.0 \"1.0\" \"1.\")" + ATMOSPHERE: (70932..70933) "\n" + ATMOSPHERE: (70933..70971) ";; (test-numeric-syntax \"#e1.0\" 1 \"1\")" + ATMOSPHERE: (70971..70972) "\n" + ATMOSPHERE: (70972..71010) ";; (test-numeric-syntax \"#e-.0\" 0 \"0\")" + ATMOSPHERE: (71010..71011) "\n" + ATMOSPHERE: (71011..71049) ";; (test-numeric-syntax \"#e-0.\" 0 \"0\")" + ATMOSPHERE: (71049..71050) "\n" ATMOSPHERE: (71050..71084) ";; ;; Decimal notation with suffix" - ATMOSPHERE: (71084..71085) " -" - ATMOSPHERE: (71085..71136) ";; (test-numeric-syntax "1e2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71136..71137) " -" - ATMOSPHERE: (71137..71188) ";; (test-numeric-syntax "1E2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71188..71189) " -" - ATMOSPHERE: (71189..71240) ";; (test-numeric-syntax "1s2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71240..71241) " -" - ATMOSPHERE: (71241..71292) ";; (test-numeric-syntax "1S2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71292..71293) " -" - ATMOSPHERE: (71293..71344) ";; (test-numeric-syntax "1f2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71344..71345) " -" - ATMOSPHERE: (71345..71396) ";; (test-numeric-syntax "1F2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71396..71397) " -" - ATMOSPHERE: (71397..71448) ";; (test-numeric-syntax "1d2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71448..71449) " -" - ATMOSPHERE: (71449..71500) ";; (test-numeric-syntax "1D2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71500..71501) " -" - ATMOSPHERE: (71501..71552) ";; (test-numeric-syntax "1l2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71552..71553) " -" - ATMOSPHERE: (71553..71604) ";; (test-numeric-syntax "1L2" 100.0 "100.0" "100.")" - ATMOSPHERE: (71604..71605) " -" + ATMOSPHERE: (71084..71085) "\n" + ATMOSPHERE: (71085..71136) ";; (test-numeric-syntax \"1e2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71136..71137) "\n" + ATMOSPHERE: (71137..71188) ";; (test-numeric-syntax \"1E2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71188..71189) "\n" + ATMOSPHERE: (71189..71240) ";; (test-numeric-syntax \"1s2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71240..71241) "\n" + ATMOSPHERE: (71241..71292) ";; (test-numeric-syntax \"1S2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71292..71293) "\n" + ATMOSPHERE: (71293..71344) ";; (test-numeric-syntax \"1f2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71344..71345) "\n" + ATMOSPHERE: (71345..71396) ";; (test-numeric-syntax \"1F2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71396..71397) "\n" + ATMOSPHERE: (71397..71448) ";; (test-numeric-syntax \"1d2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71448..71449) "\n" + ATMOSPHERE: (71449..71500) ";; (test-numeric-syntax \"1D2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71500..71501) "\n" + ATMOSPHERE: (71501..71552) ";; (test-numeric-syntax \"1l2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71552..71553) "\n" + ATMOSPHERE: (71553..71604) ";; (test-numeric-syntax \"1L2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (71604..71605) "\n" ATMOSPHERE: (71605..71619) ";; ;; NaN, Inf" - ATMOSPHERE: (71619..71620) " -" - ATMOSPHERE: (71620..71678) ";; (test-numeric-syntax "+nan.0" +nan.0 "+nan.0" "+NaN.0")" - ATMOSPHERE: (71678..71679) " -" - ATMOSPHERE: (71679..71737) ";; (test-numeric-syntax "+NAN.0" +nan.0 "+nan.0" "+NaN.0")" - ATMOSPHERE: (71737..71738) " -" - ATMOSPHERE: (71738..71796) ";; (test-numeric-syntax "+inf.0" +inf.0 "+inf.0" "+Inf.0")" - ATMOSPHERE: (71796..71797) " -" - ATMOSPHERE: (71797..71855) ";; (test-numeric-syntax "+InF.0" +inf.0 "+inf.0" "+Inf.0")" - ATMOSPHERE: (71855..71856) " -" - ATMOSPHERE: (71856..71914) ";; (test-numeric-syntax "-inf.0" -inf.0 "-inf.0" "-Inf.0")" - ATMOSPHERE: (71914..71915) " -" - ATMOSPHERE: (71915..71973) ";; (test-numeric-syntax "-iNF.0" -inf.0 "-inf.0" "-Inf.0")" - ATMOSPHERE: (71973..71974) " -" - ATMOSPHERE: (71974..72034) ";; (test-numeric-syntax "#i+nan.0" +nan.0 "+nan.0" "+NaN.0")" - ATMOSPHERE: (72034..72035) " -" - ATMOSPHERE: (72035..72095) ";; (test-numeric-syntax "#i+inf.0" +inf.0 "+inf.0" "+Inf.0")" - ATMOSPHERE: (72095..72096) " -" - ATMOSPHERE: (72096..72156) ";; (test-numeric-syntax "#i-inf.0" -inf.0 "-inf.0" "-Inf.0")" - ATMOSPHERE: (72156..72157) " -" + ATMOSPHERE: (71619..71620) "\n" + ATMOSPHERE: (71620..71678) ";; (test-numeric-syntax \"+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")" + ATMOSPHERE: (71678..71679) "\n" + ATMOSPHERE: (71679..71737) ";; (test-numeric-syntax \"+NAN.0\" +nan.0 \"+nan.0\" \"+NaN.0\")" + ATMOSPHERE: (71737..71738) "\n" + ATMOSPHERE: (71738..71796) ";; (test-numeric-syntax \"+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")" + ATMOSPHERE: (71796..71797) "\n" + ATMOSPHERE: (71797..71855) ";; (test-numeric-syntax \"+InF.0\" +inf.0 \"+inf.0\" \"+Inf.0\")" + ATMOSPHERE: (71855..71856) "\n" + ATMOSPHERE: (71856..71914) ";; (test-numeric-syntax \"-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")" + ATMOSPHERE: (71914..71915) "\n" + ATMOSPHERE: (71915..71973) ";; (test-numeric-syntax \"-iNF.0\" -inf.0 \"-inf.0\" \"-Inf.0\")" + ATMOSPHERE: (71973..71974) "\n" + ATMOSPHERE: (71974..72034) ";; (test-numeric-syntax \"#i+nan.0\" +nan.0 \"+nan.0\" \"+NaN.0\")" + ATMOSPHERE: (72034..72035) "\n" + ATMOSPHERE: (72035..72095) ";; (test-numeric-syntax \"#i+inf.0\" +inf.0 \"+inf.0\" \"+Inf.0\")" + ATMOSPHERE: (72095..72096) "\n" + ATMOSPHERE: (72096..72156) ";; (test-numeric-syntax \"#i-inf.0\" -inf.0 \"-inf.0\" \"-Inf.0\")" + ATMOSPHERE: (72156..72157) "\n" ATMOSPHERE: (72157..72175) ";; ;; Exact ratios" - ATMOSPHERE: (72175..72176) " -" - ATMOSPHERE: (72176..72214) ";; (test-numeric-syntax "1/2" (/ 1 2))" - ATMOSPHERE: (72214..72215) " -" - ATMOSPHERE: (72215..72261) ";; (test-numeric-syntax "#e1/2" (/ 1 2) "1/2")" - ATMOSPHERE: (72261..72262) " -" - ATMOSPHERE: (72262..72299) ";; (test-numeric-syntax "10/2" 5 "5")" - ATMOSPHERE: (72299..72300) " -" - ATMOSPHERE: (72300..72343) ";; (test-numeric-syntax "-1/2" (- (/ 1 2)))" - ATMOSPHERE: (72343..72344) " -" - ATMOSPHERE: (72344..72381) ";; (test-numeric-syntax "0/10" 0 "0")" - ATMOSPHERE: (72381..72382) " -" - ATMOSPHERE: (72382..72421) ";; (test-numeric-syntax "#e0/10" 0 "0")" - ATMOSPHERE: (72421..72422) " -" - ATMOSPHERE: (72422..72472) ";; (test-numeric-syntax "#i3/2" (/ 3.0 2.0) "1.5")" - ATMOSPHERE: (72472..72473) " -" + ATMOSPHERE: (72175..72176) "\n" + ATMOSPHERE: (72176..72214) ";; (test-numeric-syntax \"1/2\" (/ 1 2))" + ATMOSPHERE: (72214..72215) "\n" + ATMOSPHERE: (72215..72261) ";; (test-numeric-syntax \"#e1/2\" (/ 1 2) \"1/2\")" + ATMOSPHERE: (72261..72262) "\n" + ATMOSPHERE: (72262..72299) ";; (test-numeric-syntax \"10/2\" 5 \"5\")" + ATMOSPHERE: (72299..72300) "\n" + ATMOSPHERE: (72300..72343) ";; (test-numeric-syntax \"-1/2\" (- (/ 1 2)))" + ATMOSPHERE: (72343..72344) "\n" + ATMOSPHERE: (72344..72381) ";; (test-numeric-syntax \"0/10\" 0 \"0\")" + ATMOSPHERE: (72381..72382) "\n" + ATMOSPHERE: (72382..72421) ";; (test-numeric-syntax \"#e0/10\" 0 \"0\")" + ATMOSPHERE: (72421..72422) "\n" + ATMOSPHERE: (72422..72472) ";; (test-numeric-syntax \"#i3/2\" (/ 3.0 2.0) \"1.5\")" + ATMOSPHERE: (72472..72473) "\n" ATMOSPHERE: (72473..72492) ";; ;; Exact complex" - ATMOSPHERE: (72492..72493) " -" - ATMOSPHERE: (72493..72547) ";; (test-numeric-syntax "1+2i" (make-rectangular 1 2))" - ATMOSPHERE: (72547..72548) " -" - ATMOSPHERE: (72548..72609) ";; (test-numeric-syntax "1+2I" (make-rectangular 1 2) "1+2i")" - ATMOSPHERE: (72609..72610) " -" - ATMOSPHERE: (72610..72665) ";; (test-numeric-syntax "1-2i" (make-rectangular 1 -2))" - ATMOSPHERE: (72665..72666) " -" - ATMOSPHERE: (72666..72722) ";; (test-numeric-syntax "-1+2i" (make-rectangular -1 2))" - ATMOSPHERE: (72722..72723) " -" - ATMOSPHERE: (72723..72780) ";; (test-numeric-syntax "-1-2i" (make-rectangular -1 -2))" - ATMOSPHERE: (72780..72781) " -" - ATMOSPHERE: (72781..72857) ";; (test-numeric-syntax "+i" (make-rectangular 0 1) "+i" "+1i" "0+i" "0+1i")" - ATMOSPHERE: (72857..72858) " -" - ATMOSPHERE: (72858..72935) ";; (test-numeric-syntax "0+i" (make-rectangular 0 1) "+i" "+1i" "0+i" "0+1i")" - ATMOSPHERE: (72935..72936) " -" - ATMOSPHERE: (72936..73014) ";; (test-numeric-syntax "0+1i" (make-rectangular 0 1) "+i" "+1i" "0+i" "0+1i")" - ATMOSPHERE: (73014..73015) " -" - ATMOSPHERE: (73015..73092) ";; (test-numeric-syntax "-i" (make-rectangular 0 -1) "-i" "-1i" "0-i" "0-1i")" - ATMOSPHERE: (73092..73093) " -" - ATMOSPHERE: (73093..73171) ";; (test-numeric-syntax "0-i" (make-rectangular 0 -1) "-i" "-1i" "0-i" "0-1i")" - ATMOSPHERE: (73171..73172) " -" - ATMOSPHERE: (73172..73251) ";; (test-numeric-syntax "0-1i" (make-rectangular 0 -1) "-i" "-1i" "0-i" "0-1i")" - ATMOSPHERE: (73251..73252) " -" - ATMOSPHERE: (73252..73323) ";; (test-numeric-syntax "+2i" (make-rectangular 0 2) "2i" "+2i" "0+2i")" - ATMOSPHERE: (73323..73324) " -" - ATMOSPHERE: (73324..73391) ";; (test-numeric-syntax "-2i" (make-rectangular 0 -2) "-2i" "0-2i")" - ATMOSPHERE: (73391..73392) " -" + ATMOSPHERE: (72492..72493) "\n" + ATMOSPHERE: (72493..72547) ";; (test-numeric-syntax \"1+2i\" (make-rectangular 1 2))" + ATMOSPHERE: (72547..72548) "\n" + ATMOSPHERE: (72548..72609) ";; (test-numeric-syntax \"1+2I\" (make-rectangular 1 2) \"1+2i\")" + ATMOSPHERE: (72609..72610) "\n" + ATMOSPHERE: (72610..72665) ";; (test-numeric-syntax \"1-2i\" (make-rectangular 1 -2))" + ATMOSPHERE: (72665..72666) "\n" + ATMOSPHERE: (72666..72722) ";; (test-numeric-syntax \"-1+2i\" (make-rectangular -1 2))" + ATMOSPHERE: (72722..72723) "\n" + ATMOSPHERE: (72723..72780) ";; (test-numeric-syntax \"-1-2i\" (make-rectangular -1 -2))" + ATMOSPHERE: (72780..72781) "\n" + ATMOSPHERE: (72781..72857) ";; (test-numeric-syntax \"+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")" + ATMOSPHERE: (72857..72858) "\n" + ATMOSPHERE: (72858..72935) ";; (test-numeric-syntax \"0+i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")" + ATMOSPHERE: (72935..72936) "\n" + ATMOSPHERE: (72936..73014) ";; (test-numeric-syntax \"0+1i\" (make-rectangular 0 1) \"+i\" \"+1i\" \"0+i\" \"0+1i\")" + ATMOSPHERE: (73014..73015) "\n" + ATMOSPHERE: (73015..73092) ";; (test-numeric-syntax \"-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")" + ATMOSPHERE: (73092..73093) "\n" + ATMOSPHERE: (73093..73171) ";; (test-numeric-syntax \"0-i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")" + ATMOSPHERE: (73171..73172) "\n" + ATMOSPHERE: (73172..73251) ";; (test-numeric-syntax \"0-1i\" (make-rectangular 0 -1) \"-i\" \"-1i\" \"0-i\" \"0-1i\")" + ATMOSPHERE: (73251..73252) "\n" + ATMOSPHERE: (73252..73323) ";; (test-numeric-syntax \"+2i\" (make-rectangular 0 2) \"2i\" \"+2i\" \"0+2i\")" + ATMOSPHERE: (73323..73324) "\n" + ATMOSPHERE: (73324..73391) ";; (test-numeric-syntax \"-2i\" (make-rectangular 0 -2) \"-2i\" \"0-2i\")" + ATMOSPHERE: (73391..73392) "\n" ATMOSPHERE: (73392..73453) ";; ;; Decimal-notation complex numbers (rectangular notation)" - ATMOSPHERE: (73453..73454) " -" - ATMOSPHERE: (73454..73549) ";; (test-numeric-syntax "1.0+2i" (make-rectangular 1.0 2) "1.0+2.0i" "1.0+2i" "1.+2i" "1.+2.i")" - ATMOSPHERE: (73549..73550) " -" - ATMOSPHERE: (73550..73645) ";; (test-numeric-syntax "1+2.0i" (make-rectangular 1 2.0) "1.0+2.0i" "1+2.0i" "1.+2.i" "1+2.i")" - ATMOSPHERE: (73645..73646) " -" - ATMOSPHERE: (73646..73734) ";; (test-numeric-syntax "1e2+1.0i" (make-rectangular 100.0 1.0) "100.0+1.0i" "100.+1.i")" - ATMOSPHERE: (73734..73735) " -" - ATMOSPHERE: (73735..73823) ";; (test-numeric-syntax "1s2+1.0i" (make-rectangular 100.0 1.0) "100.0+1.0i" "100.+1.i")" - ATMOSPHERE: (73823..73824) " -" - ATMOSPHERE: (73824..73912) ";; (test-numeric-syntax "1.0+1e2i" (make-rectangular 1.0 100.0) "1.0+100.0i" "1.+100.i")" - ATMOSPHERE: (73912..73913) " -" - ATMOSPHERE: (73913..74001) ";; (test-numeric-syntax "1.0+1s2i" (make-rectangular 1.0 100.0) "1.0+100.0i" "1.+100.i")" - ATMOSPHERE: (74001..74002) " -" + ATMOSPHERE: (73453..73454) "\n" + ATMOSPHERE: (73454..73549) ";; (test-numeric-syntax \"1.0+2i\" (make-rectangular 1.0 2) \"1.0+2.0i\" \"1.0+2i\" \"1.+2i\" \"1.+2.i\")" + ATMOSPHERE: (73549..73550) "\n" + ATMOSPHERE: (73550..73645) ";; (test-numeric-syntax \"1+2.0i\" (make-rectangular 1 2.0) \"1.0+2.0i\" \"1+2.0i\" \"1.+2.i\" \"1+2.i\")" + ATMOSPHERE: (73645..73646) "\n" + ATMOSPHERE: (73646..73734) ";; (test-numeric-syntax \"1e2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")" + ATMOSPHERE: (73734..73735) "\n" + ATMOSPHERE: (73735..73823) ";; (test-numeric-syntax \"1s2+1.0i\" (make-rectangular 100.0 1.0) \"100.0+1.0i\" \"100.+1.i\")" + ATMOSPHERE: (73823..73824) "\n" + ATMOSPHERE: (73824..73912) ";; (test-numeric-syntax \"1.0+1e2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")" + ATMOSPHERE: (73912..73913) "\n" + ATMOSPHERE: (73913..74001) ";; (test-numeric-syntax \"1.0+1s2i\" (make-rectangular 1.0 100.0) \"1.0+100.0i\" \"1.+100.i\")" + ATMOSPHERE: (74001..74002) "\n" ATMOSPHERE: (74002..74057) ";; ;; Fractional complex numbers (rectangular notation)" - ATMOSPHERE: (74057..74058) " -" - ATMOSPHERE: (74058..74128) ";; (test-numeric-syntax "1/2+3/4i" (make-rectangular (/ 1 2) (/ 3 4)))" - ATMOSPHERE: (74128..74129) " -" + ATMOSPHERE: (74057..74058) "\n" + ATMOSPHERE: (74058..74128) ";; (test-numeric-syntax \"1/2+3/4i\" (make-rectangular (/ 1 2) (/ 3 4)))" + ATMOSPHERE: (74128..74129) "\n" ATMOSPHERE: (74129..74207) ";; ;; Mixed fractional/decimal notation complex numbers (rectangular notation)" - ATMOSPHERE: (74207..74208) " -" - ATMOSPHERE: (74208..74273) ";; (test-numeric-syntax "0.5+3/4i" (make-rectangular 0.5 (/ 3 4))" - ATMOSPHERE: (74273..74274) " -" - ATMOSPHERE: (74274..74343) ";; "0.5+0.75i" ".5+.75i" "0.5+3/4i" ".5+3/4i" "500.0e-3+750.0e-3i")" - ATMOSPHERE: (74343..74344) " -" + ATMOSPHERE: (74207..74208) "\n" + ATMOSPHERE: (74208..74273) ";; (test-numeric-syntax \"0.5+3/4i\" (make-rectangular 0.5 (/ 3 4))" + ATMOSPHERE: (74273..74274) "\n" + ATMOSPHERE: (74274..74343) ";; \"0.5+0.75i\" \".5+.75i\" \"0.5+3/4i\" \".5+3/4i\" \"500.0e-3+750.0e-3i\")" + ATMOSPHERE: (74343..74344) "\n" ATMOSPHERE: (74344..74389) ";; ;; Complex NaN, Inf (rectangular notation)" - ATMOSPHERE: (74389..74390) " -" - ATMOSPHERE: (74390..74484) ";; ;;(test-numeric-syntax "+nan.0+nan.0i" (make-rectangular the-nan the-nan) "+NaN.0+NaN.0i") " - ATMOSPHERE: (74484..74485) " -" - ATMOSPHERE: (74485..74574) ";; (test-numeric-syntax "+inf.0+inf.0i" (make-rectangular +inf.0 +inf.0) "+Inf.0+Inf.0i")" - ATMOSPHERE: (74574..74575) " -" - ATMOSPHERE: (74575..74664) ";; (test-numeric-syntax "-inf.0+inf.0i" (make-rectangular -inf.0 +inf.0) "-Inf.0+Inf.0i")" - ATMOSPHERE: (74664..74665) " -" - ATMOSPHERE: (74665..74754) ";; (test-numeric-syntax "-inf.0-inf.0i" (make-rectangular -inf.0 -inf.0) "-Inf.0-Inf.0i")" - ATMOSPHERE: (74754..74755) " -" - ATMOSPHERE: (74755..74844) ";; (test-numeric-syntax "+inf.0-inf.0i" (make-rectangular +inf.0 -inf.0) "+Inf.0-Inf.0i")" - ATMOSPHERE: (74844..74845) " -" + ATMOSPHERE: (74389..74390) "\n" + ATMOSPHERE: (74390..74484) ";; ;;(test-numeric-syntax \"+nan.0+nan.0i\" (make-rectangular the-nan the-nan) \"+NaN.0+NaN.0i\") " + ATMOSPHERE: (74484..74485) "\n" + ATMOSPHERE: (74485..74574) ";; (test-numeric-syntax \"+inf.0+inf.0i\" (make-rectangular +inf.0 +inf.0) \"+Inf.0+Inf.0i\")" + ATMOSPHERE: (74574..74575) "\n" + ATMOSPHERE: (74575..74664) ";; (test-numeric-syntax \"-inf.0+inf.0i\" (make-rectangular -inf.0 +inf.0) \"-Inf.0+Inf.0i\")" + ATMOSPHERE: (74664..74665) "\n" + ATMOSPHERE: (74665..74754) ";; (test-numeric-syntax \"-inf.0-inf.0i\" (make-rectangular -inf.0 -inf.0) \"-Inf.0-Inf.0i\")" + ATMOSPHERE: (74754..74755) "\n" + ATMOSPHERE: (74755..74844) ";; (test-numeric-syntax \"+inf.0-inf.0i\" (make-rectangular +inf.0 -inf.0) \"+Inf.0-Inf.0i\")" + ATMOSPHERE: (74844..74845) "\n" ATMOSPHERE: (74845..74883) ";; ;; Complex numbers (polar notation)" - ATMOSPHERE: (74883..74884) " -" + ATMOSPHERE: (74883..74884) "\n" ATMOSPHERE: (74884..74938) ";; ;; Need to account for imprecision in write output." - ATMOSPHERE: (74938..74939) " -" - ATMOSPHERE: (74939..75049) ";; ;;(test-numeric-syntax "1@2" -0.416146836547142+0.909297426825682i "-0.416146836547142+0.909297426825682i")" - ATMOSPHERE: (75049..75050) " -" + ATMOSPHERE: (74938..74939) "\n" + ATMOSPHERE: (74939..75049) ";; ;;(test-numeric-syntax \"1@2\" -0.416146836547142+0.909297426825682i \"-0.416146836547142+0.909297426825682i\")" + ATMOSPHERE: (75049..75050) "\n" ATMOSPHERE: (75050..75069) ";; ;; Base prefixes" - ATMOSPHERE: (75069..75070) " -" - ATMOSPHERE: (75070..75109) ";; (test-numeric-syntax "#x11" 17 "17")" - ATMOSPHERE: (75109..75110) " -" - ATMOSPHERE: (75110..75149) ";; (test-numeric-syntax "#X11" 17 "17")" - ATMOSPHERE: (75149..75150) " -" - ATMOSPHERE: (75150..75189) ";; (test-numeric-syntax "#d11" 11 "11")" - ATMOSPHERE: (75189..75190) " -" - ATMOSPHERE: (75190..75229) ";; (test-numeric-syntax "#D11" 11 "11")" - ATMOSPHERE: (75229..75230) " -" - ATMOSPHERE: (75230..75267) ";; (test-numeric-syntax "#o11" 9 "9")" - ATMOSPHERE: (75267..75268) " -" - ATMOSPHERE: (75268..75305) ";; (test-numeric-syntax "#O11" 9 "9")" - ATMOSPHERE: (75305..75306) " -" - ATMOSPHERE: (75306..75343) ";; (test-numeric-syntax "#b11" 3 "3")" - ATMOSPHERE: (75343..75344) " -" - ATMOSPHERE: (75344..75381) ";; (test-numeric-syntax "#B11" 3 "3")" - ATMOSPHERE: (75381..75382) " -" - ATMOSPHERE: (75382..75418) ";; (test-numeric-syntax "#o7" 7 "7")" - ATMOSPHERE: (75418..75419) " -" - ATMOSPHERE: (75419..75457) ";; (test-numeric-syntax "#xa" 10 "10")" - ATMOSPHERE: (75457..75458) " -" - ATMOSPHERE: (75458..75496) ";; (test-numeric-syntax "#xA" 10 "10")" - ATMOSPHERE: (75496..75497) " -" - ATMOSPHERE: (75497..75535) ";; (test-numeric-syntax "#xf" 15 "15")" - ATMOSPHERE: (75535..75536) " -" - ATMOSPHERE: (75536..75578) ";; (test-numeric-syntax "#x-10" -16 "-16")" - ATMOSPHERE: (75578..75579) " -" - ATMOSPHERE: (75579..75621) ";; (test-numeric-syntax "#d-10" -10 "-10")" - ATMOSPHERE: (75621..75622) " -" - ATMOSPHERE: (75622..75662) ";; (test-numeric-syntax "#o-10" -8 "-8")" - ATMOSPHERE: (75662..75663) " -" - ATMOSPHERE: (75663..75703) ";; (test-numeric-syntax "#b-10" -2 "-2")" - ATMOSPHERE: (75703..75704) " -" + ATMOSPHERE: (75069..75070) "\n" + ATMOSPHERE: (75070..75109) ";; (test-numeric-syntax \"#x11\" 17 \"17\")" + ATMOSPHERE: (75109..75110) "\n" + ATMOSPHERE: (75110..75149) ";; (test-numeric-syntax \"#X11\" 17 \"17\")" + ATMOSPHERE: (75149..75150) "\n" + ATMOSPHERE: (75150..75189) ";; (test-numeric-syntax \"#d11\" 11 \"11\")" + ATMOSPHERE: (75189..75190) "\n" + ATMOSPHERE: (75190..75229) ";; (test-numeric-syntax \"#D11\" 11 \"11\")" + ATMOSPHERE: (75229..75230) "\n" + ATMOSPHERE: (75230..75267) ";; (test-numeric-syntax \"#o11\" 9 \"9\")" + ATMOSPHERE: (75267..75268) "\n" + ATMOSPHERE: (75268..75305) ";; (test-numeric-syntax \"#O11\" 9 \"9\")" + ATMOSPHERE: (75305..75306) "\n" + ATMOSPHERE: (75306..75343) ";; (test-numeric-syntax \"#b11\" 3 \"3\")" + ATMOSPHERE: (75343..75344) "\n" + ATMOSPHERE: (75344..75381) ";; (test-numeric-syntax \"#B11\" 3 \"3\")" + ATMOSPHERE: (75381..75382) "\n" + ATMOSPHERE: (75382..75418) ";; (test-numeric-syntax \"#o7\" 7 \"7\")" + ATMOSPHERE: (75418..75419) "\n" + ATMOSPHERE: (75419..75457) ";; (test-numeric-syntax \"#xa\" 10 \"10\")" + ATMOSPHERE: (75457..75458) "\n" + ATMOSPHERE: (75458..75496) ";; (test-numeric-syntax \"#xA\" 10 \"10\")" + ATMOSPHERE: (75496..75497) "\n" + ATMOSPHERE: (75497..75535) ";; (test-numeric-syntax \"#xf\" 15 \"15\")" + ATMOSPHERE: (75535..75536) "\n" + ATMOSPHERE: (75536..75578) ";; (test-numeric-syntax \"#x-10\" -16 \"-16\")" + ATMOSPHERE: (75578..75579) "\n" + ATMOSPHERE: (75579..75621) ";; (test-numeric-syntax \"#d-10\" -10 \"-10\")" + ATMOSPHERE: (75621..75622) "\n" + ATMOSPHERE: (75622..75662) ";; (test-numeric-syntax \"#o-10\" -8 \"-8\")" + ATMOSPHERE: (75662..75663) "\n" + ATMOSPHERE: (75663..75703) ";; (test-numeric-syntax \"#b-10\" -2 \"-2\")" + ATMOSPHERE: (75703..75704) "\n" ATMOSPHERE: (75704..75733) ";; ;; Combination of prefixes" - ATMOSPHERE: (75733..75734) " -" - ATMOSPHERE: (75734..75775) ";; (test-numeric-syntax "#e#x10" 16 "16")" - ATMOSPHERE: (75775..75776) " -" - ATMOSPHERE: (75776..75827) ";; (test-numeric-syntax "#i#x10" 16.0 "16.0" "16.")" - ATMOSPHERE: (75827..75828) " -" - ATMOSPHERE: (75828..75879) ";; (test-numeric-syntax "#x#i10" 16.0 "16.0" "16.")" - ATMOSPHERE: (75879..75880) " -" - ATMOSPHERE: (75880..75931) ";; (test-numeric-syntax "#i#x1/10" 0.0625 "0.0625")" - ATMOSPHERE: (75931..75932) " -" - ATMOSPHERE: (75932..75983) ";; (test-numeric-syntax "#x#i1/10" 0.0625 "0.0625")" - ATMOSPHERE: (75983..75984) " -" + ATMOSPHERE: (75733..75734) "\n" + ATMOSPHERE: (75734..75775) ";; (test-numeric-syntax \"#e#x10\" 16 \"16\")" + ATMOSPHERE: (75775..75776) "\n" + ATMOSPHERE: (75776..75827) ";; (test-numeric-syntax \"#i#x10\" 16.0 \"16.0\" \"16.\")" + ATMOSPHERE: (75827..75828) "\n" + ATMOSPHERE: (75828..75879) ";; (test-numeric-syntax \"#x#i10\" 16.0 \"16.0\" \"16.\")" + ATMOSPHERE: (75879..75880) "\n" + ATMOSPHERE: (75880..75931) ";; (test-numeric-syntax \"#i#x1/10\" 0.0625 \"0.0625\")" + ATMOSPHERE: (75931..75932) "\n" + ATMOSPHERE: (75932..75983) ";; (test-numeric-syntax \"#x#i1/10\" 0.0625 \"0.0625\")" + ATMOSPHERE: (75983..75984) "\n" ATMOSPHERE: (75984..76037) ";; ;; (Attempted) decimal notation with base prefixes" - ATMOSPHERE: (76037..76038) " -" - ATMOSPHERE: (76038..76084) ";; (test-numeric-syntax "#d1." 1.0 "1.0" "1.")" - ATMOSPHERE: (76084..76085) " -" - ATMOSPHERE: (76085..76142) ";; (test-numeric-syntax "#d.1" 0.1 "0.1" ".1" "100.0e-3")" - ATMOSPHERE: (76142..76143) " -" - ATMOSPHERE: (76143..76185) ";; (test-numeric-syntax "#x1e2" 482 "482")" - ATMOSPHERE: (76185..76186) " -" - ATMOSPHERE: (76186..76239) ";; (test-numeric-syntax "#d1e2" 100.0 "100.0" "100.")" - ATMOSPHERE: (76239..76240) " -" + ATMOSPHERE: (76037..76038) "\n" + ATMOSPHERE: (76038..76084) ";; (test-numeric-syntax \"#d1.\" 1.0 \"1.0\" \"1.\")" + ATMOSPHERE: (76084..76085) "\n" + ATMOSPHERE: (76085..76142) ";; (test-numeric-syntax \"#d.1\" 0.1 \"0.1\" \".1\" \"100.0e-3\")" + ATMOSPHERE: (76142..76143) "\n" + ATMOSPHERE: (76143..76185) ";; (test-numeric-syntax \"#x1e2\" 482 \"482\")" + ATMOSPHERE: (76185..76186) "\n" + ATMOSPHERE: (76186..76239) ";; (test-numeric-syntax \"#d1e2\" 100.0 \"100.0\" \"100.\")" + ATMOSPHERE: (76239..76240) "\n" ATMOSPHERE: (76240..76269) ";; ;; Fractions with prefixes" - ATMOSPHERE: (76269..76270) " -" - ATMOSPHERE: (76270..76309) ";; (test-numeric-syntax "#x10/2" 8 "8")" - ATMOSPHERE: (76309..76310) " -" - ATMOSPHERE: (76310..76359) ";; (test-numeric-syntax "#x11/2" (/ 17 2) "17/2")" - ATMOSPHERE: (76359..76360) " -" - ATMOSPHERE: (76360..76409) ";; (test-numeric-syntax "#d11/2" (/ 11 2) "11/2")" - ATMOSPHERE: (76409..76410) " -" - ATMOSPHERE: (76410..76457) ";; (test-numeric-syntax "#o11/2" (/ 9 2) "9/2")" - ATMOSPHERE: (76457..76458) " -" - ATMOSPHERE: (76458..76506) ";; (test-numeric-syntax "#b11/10" (/ 3 2) "3/2")" - ATMOSPHERE: (76506..76507) " -" + ATMOSPHERE: (76269..76270) "\n" + ATMOSPHERE: (76270..76309) ";; (test-numeric-syntax \"#x10/2\" 8 \"8\")" + ATMOSPHERE: (76309..76310) "\n" + ATMOSPHERE: (76310..76359) ";; (test-numeric-syntax \"#x11/2\" (/ 17 2) \"17/2\")" + ATMOSPHERE: (76359..76360) "\n" + ATMOSPHERE: (76360..76409) ";; (test-numeric-syntax \"#d11/2\" (/ 11 2) \"11/2\")" + ATMOSPHERE: (76409..76410) "\n" + ATMOSPHERE: (76410..76457) ";; (test-numeric-syntax \"#o11/2\" (/ 9 2) \"9/2\")" + ATMOSPHERE: (76457..76458) "\n" + ATMOSPHERE: (76458..76506) ";; (test-numeric-syntax \"#b11/10\" (/ 3 2) \"3/2\")" + ATMOSPHERE: (76506..76507) "\n" ATMOSPHERE: (76507..76542) ";; ;; Complex numbers with prefixes" - ATMOSPHERE: (76542..76543) " -" - ATMOSPHERE: (76543..76614) ";; ;;(test-numeric-syntax "#x10+11i" (make-rectangular 16 17) "16+17i")" - ATMOSPHERE: (76614..76615) " -" - ATMOSPHERE: (76615..76699) ";; (test-numeric-syntax "#d1.0+1.0i" (make-rectangular 1.0 1.0) "1.0+1.0i" "1.+1.i")" - ATMOSPHERE: (76699..76700) " -" - ATMOSPHERE: (76700..76769) ";; (test-numeric-syntax "#d10+11i" (make-rectangular 10 11) "10+11i")" - ATMOSPHERE: (76769..76770) " -" - ATMOSPHERE: (76770..76837) ";; ;;(test-numeric-syntax "#o10+11i" (make-rectangular 8 9) "8+9i")" - ATMOSPHERE: (76837..76838) " -" - ATMOSPHERE: (76838..76905) ";; ;;(test-numeric-syntax "#b10+11i" (make-rectangular 2 3) "2+3i")" - ATMOSPHERE: (76905..76906) " -" - ATMOSPHERE: (76906..76981) ";; ;;(test-numeric-syntax "#e1.0+1.0i" (make-rectangular 1 1) "1+1i" "1+i")" - ATMOSPHERE: (76981..76982) " -" - ATMOSPHERE: (76982..77068) ";; ;;(test-numeric-syntax "#i1.0+1.0i" (make-rectangular 1.0 1.0) "1.0+1.0i" "1.+1.i")" - ATMOSPHERE: (77068..77070) " - -" + ATMOSPHERE: (76542..76543) "\n" + ATMOSPHERE: (76543..76614) ";; ;;(test-numeric-syntax \"#x10+11i\" (make-rectangular 16 17) \"16+17i\")" + ATMOSPHERE: (76614..76615) "\n" + ATMOSPHERE: (76615..76699) ";; (test-numeric-syntax \"#d1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")" + ATMOSPHERE: (76699..76700) "\n" + ATMOSPHERE: (76700..76769) ";; (test-numeric-syntax \"#d10+11i\" (make-rectangular 10 11) \"10+11i\")" + ATMOSPHERE: (76769..76770) "\n" + ATMOSPHERE: (76770..76837) ";; ;;(test-numeric-syntax \"#o10+11i\" (make-rectangular 8 9) \"8+9i\")" + ATMOSPHERE: (76837..76838) "\n" + ATMOSPHERE: (76838..76905) ";; ;;(test-numeric-syntax \"#b10+11i\" (make-rectangular 2 3) \"2+3i\")" + ATMOSPHERE: (76905..76906) "\n" + ATMOSPHERE: (76906..76981) ";; ;;(test-numeric-syntax \"#e1.0+1.0i\" (make-rectangular 1 1) \"1+1i\" \"1+i\")" + ATMOSPHERE: (76981..76982) "\n" + ATMOSPHERE: (76982..77068) ";; ;;(test-numeric-syntax \"#i1.0+1.0i\" (make-rectangular 1.0 1.0) \"1.0+1.0i\" \"1.+1.i\")" + ATMOSPHERE: (77068..77070) "\n\n" ATMOSPHERE: (77070..77102) ";; (define-syntax test-precision" - ATMOSPHERE: (77102..77103) " -" + ATMOSPHERE: (77102..77103) "\n" ATMOSPHERE: (77103..77124) ";; (syntax-rules ()" - ATMOSPHERE: (77124..77125) " -" + ATMOSPHERE: (77124..77125) "\n" ATMOSPHERE: (77125..77162) ";; ((test-round-trip str alt ...)" - ATMOSPHERE: (77162..77163) " -" + ATMOSPHERE: (77162..77163) "\n" ATMOSPHERE: (77163..77202) ";; (let* ((n (string->number str))" - ATMOSPHERE: (77202..77203) " -" + ATMOSPHERE: (77202..77203) "\n" ATMOSPHERE: (77203..77243) ";; (str2 (number->string n))" - ATMOSPHERE: (77243..77244) " -" + ATMOSPHERE: (77243..77244) "\n" ATMOSPHERE: (77244..77288) ";; (accepted (list str alt ...))" - ATMOSPHERE: (77288..77289) " -" + ATMOSPHERE: (77288..77289) "\n" ATMOSPHERE: (77289..77332) ";; (ls (member str2 accepted)))" - ATMOSPHERE: (77332..77333) " -" - ATMOSPHERE: (77333..77391) ";; (test-assert (string-append "(member? " str2 " "" - ATMOSPHERE: (77391..77392) " -" + ATMOSPHERE: (77332..77333) "\n" + ATMOSPHERE: (77333..77391) ";; (test-assert (string-append \"(member? \" str2 \" \"" + ATMOSPHERE: (77391..77392) "\n" ATMOSPHERE: (77392..77463) ";; (let ((out (open-output-string)))" - ATMOSPHERE: (77463..77464) " -" + ATMOSPHERE: (77463..77464) "\n" ATMOSPHERE: (77464..77524) ";; (write accepted out)" - ATMOSPHERE: (77524..77525) " -" + ATMOSPHERE: (77524..77525) "\n" ATMOSPHERE: (77525..77589) ";; (get-output-string out))" - ATMOSPHERE: (77589..77590) " -" - ATMOSPHERE: (77590..77632) ";; ")")" - ATMOSPHERE: (77632..77633) " -" + ATMOSPHERE: (77589..77590) "\n" + ATMOSPHERE: (77590..77632) ";; \")\")" + ATMOSPHERE: (77632..77633) "\n" ATMOSPHERE: (77633..77656) ";; (pair? ls))" - ATMOSPHERE: (77656..77657) " -" + ATMOSPHERE: (77656..77657) "\n" ATMOSPHERE: (77657..77683) ";; (when (pair? ls)" - ATMOSPHERE: (77683..77684) " -" - ATMOSPHERE: (77684..77751) ";; (test-assert (string-append "(eqv?: " str " " str2 ")")" - ATMOSPHERE: (77751..77752) " -" + ATMOSPHERE: (77683..77684) "\n" + ATMOSPHERE: (77684..77751) ";; (test-assert (string-append \"(eqv?: \" str \" \" str2 \")\")" + ATMOSPHERE: (77751..77752) "\n" ATMOSPHERE: (77752..77806) ";; (eqv? n (string->number (car ls)))))))))" - ATMOSPHERE: (77806..77808) " - -" - ATMOSPHERE: (77808..77863) ";; (test-precision "-1.7976931348623157e+308" "-inf.0")" - ATMOSPHERE: (77863..77864) " -" - ATMOSPHERE: (77864..77949) ";; (test-precision "4.940656458412465e-324" "4.94065645841247e-324" "5.0e-324" "0.0")" - ATMOSPHERE: (77949..77950) " -" - ATMOSPHERE: (77950..78035) ";; (test-precision "9.881312916824931e-324" "9.88131291682493e-324" "1.0e-323" "0.0")" - ATMOSPHERE: (78035..78036) " -" - ATMOSPHERE: (78036..78096) ";; (test-precision "1.48219693752374e-323" "1.5e-323" "0.0")" - ATMOSPHERE: (78096..78097) " -" - ATMOSPHERE: (78097..78182) ";; (test-precision "1.976262583364986e-323" "1.97626258336499e-323" "2.0e-323" "0.0")" - ATMOSPHERE: (78182..78183) " -" - ATMOSPHERE: (78183..78268) ";; (test-precision "2.470328229206233e-323" "2.47032822920623e-323" "2.5e-323" "0.0")" - ATMOSPHERE: (78268..78269) " -" - ATMOSPHERE: (78269..78354) ";; (test-precision "2.420921664622108e-322" "2.42092166462211e-322" "2.4e-322" "0.0")" - ATMOSPHERE: (78354..78355) " -" - ATMOSPHERE: (78355..78442) ";; (test-precision "2.420921664622108e-320" "2.42092166462211e-320" "2.421e-320" "0.0")" - ATMOSPHERE: (78442..78443) " -" - ATMOSPHERE: (78443..78495) ";; (test-precision "1.4489974452386991" "1.4489975")" - ATMOSPHERE: (78495..78496) " -" - ATMOSPHERE: (78496..78572) ";; (test-precision "0.14285714285714282" "0.14285714285714288" "0.14285715")" - ATMOSPHERE: (78572..78573) " -" - ATMOSPHERE: (78573..78627) ";; (test-precision "1.7976931348623157e+308" "+inf.0")" - ATMOSPHERE: (78627..78629) " - -" + ATMOSPHERE: (77806..77808) "\n\n" + ATMOSPHERE: (77808..77863) ";; (test-precision \"-1.7976931348623157e+308\" \"-inf.0\")" + ATMOSPHERE: (77863..77864) "\n" + ATMOSPHERE: (77864..77949) ";; (test-precision \"4.940656458412465e-324\" \"4.94065645841247e-324\" \"5.0e-324\" \"0.0\")" + ATMOSPHERE: (77949..77950) "\n" + ATMOSPHERE: (77950..78035) ";; (test-precision \"9.881312916824931e-324\" \"9.88131291682493e-324\" \"1.0e-323\" \"0.0\")" + ATMOSPHERE: (78035..78036) "\n" + ATMOSPHERE: (78036..78096) ";; (test-precision \"1.48219693752374e-323\" \"1.5e-323\" \"0.0\")" + ATMOSPHERE: (78096..78097) "\n" + ATMOSPHERE: (78097..78182) ";; (test-precision \"1.976262583364986e-323\" \"1.97626258336499e-323\" \"2.0e-323\" \"0.0\")" + ATMOSPHERE: (78182..78183) "\n" + ATMOSPHERE: (78183..78268) ";; (test-precision \"2.470328229206233e-323\" \"2.47032822920623e-323\" \"2.5e-323\" \"0.0\")" + ATMOSPHERE: (78268..78269) "\n" + ATMOSPHERE: (78269..78354) ";; (test-precision \"2.420921664622108e-322\" \"2.42092166462211e-322\" \"2.4e-322\" \"0.0\")" + ATMOSPHERE: (78354..78355) "\n" + ATMOSPHERE: (78355..78442) ";; (test-precision \"2.420921664622108e-320\" \"2.42092166462211e-320\" \"2.421e-320\" \"0.0\")" + ATMOSPHERE: (78442..78443) "\n" + ATMOSPHERE: (78443..78495) ";; (test-precision \"1.4489974452386991\" \"1.4489975\")" + ATMOSPHERE: (78495..78496) "\n" + ATMOSPHERE: (78496..78572) ";; (test-precision \"0.14285714285714282\" \"0.14285714285714288\" \"0.14285715\")" + ATMOSPHERE: (78572..78573) "\n" + ATMOSPHERE: (78573..78627) ";; (test-precision \"1.7976931348623157e+308\" \"+inf.0\")" + ATMOSPHERE: (78627..78629) "\n\n" FORM: (78629..78639) OPEN_PAREN: (78629..78630) "(" SYMBOL: (78630..78638) IDENTIFIER: (78630..78638) "test-end" CLOSE_PAREN: (78638..78639) ")" - ATMOSPHERE: (78639..78641) " - -" + ATMOSPHERE: (78639..78641) "\n\n" FORM: (78641..78651) OPEN_PAREN: (78641..78642) "(" SYMBOL: (78642..78650) IDENTIFIER: (78642..78650) "test-end" CLOSE_PAREN: (78650..78651) ")" - ATMOSPHERE: (78651..78653) " - -" + ATMOSPHERE: (78651..78653) "\n\n" FORM: (78653..78689) OPEN_PAREN: (78653..78654) "(" SYMBOL: (78654..78664) IDENTIFIER: (78654..78664) "test-begin" ATMOSPHERE: (78664..78665) " " CONSTANT: (78665..78688) - STRING: (78665..78688) ""6.14 System interface"" + STRING: (78665..78688) "\"6.14 System interface\"" CLOSE_PAREN: (78688..78689) ")" - ATMOSPHERE: (78689..78691) " - -" + ATMOSPHERE: (78689..78691) "\n\n" ATMOSPHERE: (78691..78718) ";; ;; 6.14 System interface" - ATMOSPHERE: (78718..78720) " - -" - ATMOSPHERE: (78720..78797) ";; ;; (test "/usr/local/bin:/usr/bin:/bin" (get-environment-variable "PATH"))" - ATMOSPHERE: (78797..78799) " - -" - ATMOSPHERE: (78799..78855) ";; (test #t (string? (get-environment-variable "PATH")))" - ATMOSPHERE: (78855..78857) " - -" - ATMOSPHERE: (78857..78933) ";; ;; (test '(("USER" . "root") ("HOME" . "/")) (get-environment-variables))" - ATMOSPHERE: (78933..78935) " - -" + ATMOSPHERE: (78718..78720) "\n\n" + ATMOSPHERE: (78720..78797) ";; ;; (test \"/usr/local/bin:/usr/bin:/bin\" (get-environment-variable \"PATH\"))" + ATMOSPHERE: (78797..78799) "\n\n" + ATMOSPHERE: (78799..78855) ";; (test #t (string? (get-environment-variable \"PATH\")))" + ATMOSPHERE: (78855..78857) "\n\n" + ATMOSPHERE: (78857..78933) ";; ;; (test '((\"USER\" . \"root\") (\"HOME\" . \"/\")) (get-environment-variables))" + ATMOSPHERE: (78933..78935) "\n\n" ATMOSPHERE: (78935..78978) ";; (let ((env (get-environment-variables)))" - ATMOSPHERE: (78978..78979) " -" + ATMOSPHERE: (78978..78979) "\n" ATMOSPHERE: (78979..79005) ";; (define (env-pair? x)" - ATMOSPHERE: (79005..79006) " -" + ATMOSPHERE: (79005..79006) "\n" ATMOSPHERE: (79006..79065) ";; (and (pair? x) (string? (car x)) (string? (cdr x))))" - ATMOSPHERE: (79065..79066) " -" + ATMOSPHERE: (79065..79066) "\n" ATMOSPHERE: (79066..79093) ";; (define (all? pred ls)" - ATMOSPHERE: (79093..79094) " -" + ATMOSPHERE: (79093..79094) "\n" ATMOSPHERE: (79094..79160) ";; (or (null? ls) (and (pred (car ls)) (all? pred (cdr ls)))))" - ATMOSPHERE: (79160..79161) " -" + ATMOSPHERE: (79160..79161) "\n" ATMOSPHERE: (79161..79187) ";; (test #t (list? env))" - ATMOSPHERE: (79187..79188) " -" + ATMOSPHERE: (79187..79188) "\n" ATMOSPHERE: (79188..79224) ";; (test #t (all? env-pair? env)))" - ATMOSPHERE: (79224..79226) " - -" + ATMOSPHERE: (79224..79226) "\n\n" ATMOSPHERE: (79226..79261) ";; (test #t (list? (command-line)))" - ATMOSPHERE: (79261..79263) " - -" + ATMOSPHERE: (79261..79263) "\n\n" ATMOSPHERE: (79263..79300) ";; (test #t (real? (current-second)))" - ATMOSPHERE: (79300..79301) " -" + ATMOSPHERE: (79300..79301) "\n" ATMOSPHERE: (79301..79341) ";; (test #t (inexact? (current-second)))" - ATMOSPHERE: (79341..79342) " -" + ATMOSPHERE: (79341..79342) "\n" ATMOSPHERE: (79342..79379) ";; (test #t (exact? (current-jiffy)))" - ATMOSPHERE: (79379..79380) " -" + ATMOSPHERE: (79379..79380) "\n" ATMOSPHERE: (79380..79422) ";; (test #t (exact? (jiffies-per-second)))" - ATMOSPHERE: (79422..79424) " - -" + ATMOSPHERE: (79422..79424) "\n\n" ATMOSPHERE: (79424..79455) ";; (test #t (list? (features)))" - ATMOSPHERE: (79455..79456) " -" + ATMOSPHERE: (79455..79456) "\n" ATMOSPHERE: (79456..79501) ";; (test #t (and (memq 'r7rs (features)) #t))" - ATMOSPHERE: (79501..79503) " - -" - ATMOSPHERE: (79503..79534) ";; (test #t (file-exists? "."))" - ATMOSPHERE: (79534..79535) " -" - ATMOSPHERE: (79535..79579) ";; (test #f (file-exists? " no such file "))" - ATMOSPHERE: (79579..79581) " - -" + ATMOSPHERE: (79501..79503) "\n\n" + ATMOSPHERE: (79503..79534) ";; (test #t (file-exists? \".\"))" + ATMOSPHERE: (79534..79535) "\n" + ATMOSPHERE: (79535..79579) ";; (test #f (file-exists? \" no such file \"))" + ATMOSPHERE: (79579..79581) "\n\n" ATMOSPHERE: (79581..79605) ";; (test #t (file-error?" - ATMOSPHERE: (79605..79606) " -" + ATMOSPHERE: (79605..79606) "\n" ATMOSPHERE: (79606..79642) ";; (guard (exn (else exn))" - ATMOSPHERE: (79642..79643) " -" - ATMOSPHERE: (79643..79691) ";; (delete-file " no such file "))))" - ATMOSPHERE: (79691..79693) " - -" + ATMOSPHERE: (79642..79643) "\n" + ATMOSPHERE: (79643..79691) ";; (delete-file \" no such file \"))))" + ATMOSPHERE: (79691..79693) "\n\n" FORM: (79693..79703) OPEN_PAREN: (79693..79694) "(" SYMBOL: (79694..79702) IDENTIFIER: (79694..79702) "test-end" CLOSE_PAREN: (79702..79703) ")" - ATMOSPHERE: (79703..79705) " - -" + ATMOSPHERE: (79703..79705) "\n\n" FORM: (79705..79715) OPEN_PAREN: (79705..79706) "(" SYMBOL: (79706..79714) IDENTIFIER: (79706..79714) "test-end" CLOSE_PAREN: (79714..79715) ")" - ATMOSPHERE: (79715..79716) " -" + ATMOSPHERE: (79715..79716) "\n" EOF: (79716..79716) "" diff --git a/spec/collatz.ast b/spec/collatz.ast index 04a4e06..a762933 100644 --- a/spec/collatz.ast +++ b/spec/collatz.ast @@ -12,8 +12,7 @@ PROGRAM: (0..638) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,18 +22,13 @@ PROGRAM: (0..638) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" ATMOSPHERE: (43..64) ";; Modululs remainder" - ATMOSPHERE: (64..65) " -" + ATMOSPHERE: (64..65) "\n" ATMOSPHERE: (65..67) ";;" - ATMOSPHERE: (67..68) " -" + ATMOSPHERE: (67..68) "\n" ATMOSPHERE: (68..107) ";; Returns the modulus remainder of n/d" - ATMOSPHERE: (107..108) " -" + ATMOSPHERE: (107..108) "\n" FORM: (108..177) OPEN_PAREN: (108..109) "(" SYMBOL: (109..115) @@ -51,8 +45,7 @@ PROGRAM: (0..638) SYMBOL: (123..124) IDENTIFIER: (123..124) "d" CLOSE_PAREN: (124..125) ")" - ATMOSPHERE: (125..130) " - " + ATMOSPHERE: (125..130) "\n " FORM: (130..176) OPEN_PAREN: (130..131) "(" SYMBOL: (131..133) @@ -69,12 +62,10 @@ PROGRAM: (0..638) SYMBOL: (139..140) IDENTIFIER: (139..140) "d" CLOSE_PAREN: (140..141) ")" - ATMOSPHERE: (141..150) " - " + ATMOSPHERE: (141..150) "\n " SYMBOL: (150..151) IDENTIFIER: (150..151) "n" - ATMOSPHERE: (151..160) " - " + ATMOSPHERE: (151..160) "\n " FORM: (160..175) OPEN_PAREN: (160..161) "(" SYMBOL: (161..164) @@ -97,12 +88,9 @@ PROGRAM: (0..638) CLOSE_PAREN: (174..175) ")" CLOSE_PAREN: (175..176) ")" CLOSE_PAREN: (176..177) ")" - ATMOSPHERE: (177..179) " - -" + ATMOSPHERE: (177..179) "\n\n" ATMOSPHERE: (179..233) ";; Find how long a given number takes to converge on 1" - ATMOSPHERE: (233..234) " -" + ATMOSPHERE: (233..234) "\n" FORM: (234..514) OPEN_PAREN: (234..235) "(" SYMBOL: (235..241) @@ -116,8 +104,7 @@ PROGRAM: (0..638) SYMBOL: (251..252) IDENTIFIER: (251..252) "x" CLOSE_PAREN: (252..253) ")" - ATMOSPHERE: (253..258) " - " + ATMOSPHERE: (253..258) "\n " FORM: (258..486) OPEN_PAREN: (258..259) "(" SYMBOL: (259..265) @@ -134,8 +121,7 @@ PROGRAM: (0..638) SYMBOL: (286..291) IDENTIFIER: (286..291) "steps" CLOSE_PAREN: (291..292) ")" - ATMOSPHERE: (292..301) " - " + ATMOSPHERE: (292..301) "\n " FORM: (301..485) OPEN_PAREN: (301..302) "(" SYMBOL: (302..304) @@ -152,18 +138,15 @@ PROGRAM: (0..638) CONSTANT: (310..311) NUMBER: (310..311) "1" CLOSE_PAREN: (311..312) ")" - ATMOSPHERE: (312..325) " - " + ATMOSPHERE: (312..325) "\n " SYMBOL: (325..330) IDENTIFIER: (325..330) "steps" - ATMOSPHERE: (330..343) " - " + ATMOSPHERE: (330..343) "\n " FORM: (343..484) OPEN_PAREN: (343..344) "(" SYMBOL: (344..360) IDENTIFIER: (344..360) "collatz-internal" - ATMOSPHERE: (360..377) " - " + ATMOSPHERE: (360..377) "\n " FORM: (377..459) OPEN_PAREN: (377..378) "(" SYMBOL: (378..380) @@ -189,8 +172,7 @@ PROGRAM: (0..638) CONSTANT: (394..395) NUMBER: (394..395) "0" CLOSE_PAREN: (395..396) ")" - ATMOSPHERE: (396..417) " - " + ATMOSPHERE: (396..417) "\n " FORM: (417..424) OPEN_PAREN: (417..418) "(" SYMBOL: (418..419) @@ -202,8 +184,7 @@ PROGRAM: (0..638) CONSTANT: (422..423) NUMBER: (422..423) "2" CLOSE_PAREN: (423..424) ")" - ATMOSPHERE: (424..445) " - " + ATMOSPHERE: (424..445) "\n " FORM: (445..458) OPEN_PAREN: (445..446) "(" SYMBOL: (446..447) @@ -225,8 +206,7 @@ PROGRAM: (0..638) NUMBER: (456..457) "1" CLOSE_PAREN: (457..458) ")" CLOSE_PAREN: (458..459) ")" - ATMOSPHERE: (459..472) " - " + ATMOSPHERE: (459..472) "\n " FORM: (472..483) OPEN_PAREN: (472..473) "(" SYMBOL: (473..474) @@ -241,8 +221,7 @@ PROGRAM: (0..638) CLOSE_PAREN: (483..484) ")" CLOSE_PAREN: (484..485) ")" CLOSE_PAREN: (485..486) ")" - ATMOSPHERE: (486..491) " - " + ATMOSPHERE: (486..491) "\n " FORM: (491..513) OPEN_PAREN: (491..492) "(" SYMBOL: (492..508) @@ -255,9 +234,7 @@ PROGRAM: (0..638) NUMBER: (511..512) "0" CLOSE_PAREN: (512..513) ")" CLOSE_PAREN: (513..514) ")" - ATMOSPHERE: (514..516) " - -" + ATMOSPHERE: (514..516) "\n\n" FORM: (516..538) OPEN_PAREN: (516..517) "(" SYMBOL: (517..524) @@ -279,8 +256,7 @@ PROGRAM: (0..638) CLOSE_PAREN: (546..547) ")" ATMOSPHERE: (547..548) " " ATMOSPHERE: (548..556) ";; => 12" - ATMOSPHERE: (556..557) " -" + ATMOSPHERE: (556..557) "\n" FORM: (557..578) OPEN_PAREN: (557..558) "(" SYMBOL: (558..565) @@ -302,8 +278,7 @@ PROGRAM: (0..638) CLOSE_PAREN: (586..587) ")" ATMOSPHERE: (587..589) " " ATMOSPHERE: (589..596) ";; => 0" - ATMOSPHERE: (596..597) " -" + ATMOSPHERE: (596..597) "\n" FORM: (597..618) OPEN_PAREN: (597..598) "(" SYMBOL: (598..605) @@ -325,6 +300,5 @@ PROGRAM: (0..638) CLOSE_PAREN: (626..627) ")" ATMOSPHERE: (627..629) " " ATMOSPHERE: (629..637) ";; => 19" - ATMOSPHERE: (637..638) " -" + ATMOSPHERE: (637..638) "\n" EOF: (638..638) "" diff --git a/spec/comment.ast b/spec/comment.ast index 5c486b7..ef3b437 100644 --- a/spec/comment.ast +++ b/spec/comment.ast @@ -1,28 +1,20 @@ PROGRAM: (0..163) ATMOSPHERE: (0..9) "; this is" - ATMOSPHERE: (9..10) " -" + ATMOSPHERE: (9..10) "\n" ATMOSPHERE: (10..33) ";; just a collection of" - ATMOSPHERE: (33..34) " -" + ATMOSPHERE: (33..34) "\n" ATMOSPHERE: (34..47) ";;;; comments" - ATMOSPHERE: (47..48) " -" + ATMOSPHERE: (47..48) "\n" ATMOSPHERE: (48..53) "; and" - ATMOSPHERE: (53..54) " -" + ATMOSPHERE: (53..54) "\n" ATMOSPHERE: (54..61) ";things" - ATMOSPHERE: (61..62) " -" + ATMOSPHERE: (61..62) "\n" ATMOSPHERE: (62..75) "; ; ; ; ; ; ;" - ATMOSPHERE: (75..76) " -" + ATMOSPHERE: (75..76) "\n" CONSTANT: (76..77) NUMBER: (76..77) "0" - ATMOSPHERE: (77..78) " -" + ATMOSPHERE: (77..78) "\n" ATMOSPHERE: (78..147) ";; ^^ that one keeps the compiler happy. A file without statements is" - ATMOSPHERE: (147..148) " -" - ATMOSPHERE: (148..163) ";; "undefined"." + ATMOSPHERE: (147..148) "\n" + ATMOSPHERE: (148..163) ";; \"undefined\"." EOF: (163..163) "" diff --git a/spec/comments_extended.ast b/spec/comments_extended.ast index 223ccbf..2c49343 100644 --- a/spec/comments_extended.ast +++ b/spec/comments_extended.ast @@ -12,8 +12,7 @@ PROGRAM: (0..534) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,14 +22,9 @@ PROGRAM: (0..534) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" - ATMOSPHERE: (43..121) "#| - The FACT procedure computes the factorial of a non-negative integer. -|#" - ATMOSPHERE: (121..122) " -" + ATMOSPHERE: (41..43) "\n\n" + ATMOSPHERE: (43..121) "#|\n The FACT procedure computes the factorial of a non-negative integer.\n|#" + ATMOSPHERE: (121..122) "\n" FORM: (122..507) OPEN_PAREN: (122..123) "(" SYMBOL: (123..129) @@ -38,8 +32,7 @@ PROGRAM: (0..534) ATMOSPHERE: (129..130) " " SYMBOL: (130..134) IDENTIFIER: (130..134) "fact" - ATMOSPHERE: (134..139) " - " + ATMOSPHERE: (134..139) "\n " FORM: (139..506) OPEN_PAREN: (139..140) "(" SYMBOL: (140..146) @@ -50,27 +43,19 @@ PROGRAM: (0..534) SYMBOL: (148..149) IDENTIFIER: (148..149) "n" CLOSE_PAREN: (149..150) ")" - ATMOSPHERE: (150..159) " - " + ATMOSPHERE: (150..159) "\n " ATMOSPHERE: (159..216) "; ; ~~~ Remove these when builtins are properly supported" - ATMOSPHERE: (216..225) " - " + ATMOSPHERE: (216..225) "\n " ATMOSPHERE: (225..243) "; (define (- x) x)" - ATMOSPHERE: (243..252) " - " + ATMOSPHERE: (243..252) "\n " ATMOSPHERE: (252..270) "; (define (= y) y)" - ATMOSPHERE: (270..279) " - " + ATMOSPHERE: (270..279) "\n " ATMOSPHERE: (279..297) "; (define (* z) z)" - ATMOSPHERE: (297..306) " - " + ATMOSPHERE: (297..306) "\n " ATMOSPHERE: (306..356) "; ; ~~~~ Remove when scopes are supported properly" - ATMOSPHERE: (356..365) " - " + ATMOSPHERE: (356..365) "\n " ATMOSPHERE: (365..386) "; (define (fact x) x)" - ATMOSPHERE: (386..396) " - - " + ATMOSPHERE: (386..396) "\n\n " FORM: (396..505) OPEN_PAREN: (396..397) "(" SYMBOL: (397..399) @@ -87,8 +72,7 @@ PROGRAM: (0..534) CONSTANT: (405..406) NUMBER: (405..406) "0" CLOSE_PAREN: (406..407) ")" - ATMOSPHERE: (407..420) " - " + ATMOSPHERE: (407..420) "\n " ATMOSPHERE: (420..442) ATMOSPHERE: (420..422) "#;" FORM: (422..429) @@ -102,14 +86,12 @@ PROGRAM: (0..534) CONSTANT: (427..428) NUMBER: (427..428) "1" CLOSE_PAREN: (428..429) ")" - ATMOSPHERE: (429..442) " - " + ATMOSPHERE: (429..442) "\n " CONSTANT: (442..443) NUMBER: (442..443) "1" ATMOSPHERE: (443..451) " " ATMOSPHERE: (451..471) ";Base case: return 1" - ATMOSPHERE: (471..484) " - " + ATMOSPHERE: (471..484) "\n " FORM: (484..504) OPEN_PAREN: (484..485) "(" SYMBOL: (485..486) @@ -139,9 +121,7 @@ PROGRAM: (0..534) CLOSE_PAREN: (504..505) ")" CLOSE_PAREN: (505..506) ")" CLOSE_PAREN: (506..507) ")" - ATMOSPHERE: (507..509) " - -" + ATMOSPHERE: (507..509) "\n\n" FORM: (509..527) OPEN_PAREN: (509..510) "(" SYMBOL: (510..517) diff --git a/spec/conditions.ast b/spec/conditions.ast index 495f0a9..cb63afe 100644 --- a/spec/conditions.ast +++ b/spec/conditions.ast @@ -12,14 +12,11 @@ PROGRAM: (0..707) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" - ATMOSPHERE: (93..98) " - " + ATMOSPHERE: (93..98) "\n " ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." - ATMOSPHERE: (162..167) " - " + ATMOSPHERE: (162..167) "\n " FORM: (167..191) OPEN_PAREN: (167..168) "(" SYMBOL: (168..175) @@ -31,8 +28,7 @@ PROGRAM: (0..707) SYMBOL: (184..190) IDENTIFIER: (184..190) "macros" CLOSE_PAREN: (190..191) ")" - ATMOSPHERE: (191..196) " - " + ATMOSPHERE: (191..196) "\n " FORM: (196..210) OPEN_PAREN: (196..197) "(" SYMBOL: (197..203) @@ -42,8 +38,7 @@ PROGRAM: (0..707) IDENTIFIER: (204..209) "write" CLOSE_PAREN: (209..210) ")" CLOSE_PAREN: (210..211) ")" - ATMOSPHERE: (211..212) " -" + ATMOSPHERE: (211..212) "\n" FORM: (212..318) OPEN_PAREN: (212..213) "(" SYMBOL: (213..220) @@ -53,8 +48,7 @@ PROGRAM: (0..707) OPEN_PAREN: (221..222) "(" SYMBOL: (222..226) IDENTIFIER: (222..226) "list" - ATMOSPHERE: (226..231) " - " + ATMOSPHERE: (226..231) "\n " FORM: (231..246) OPEN_PAREN: (231..232) "(" SYMBOL: (232..236) @@ -72,8 +66,7 @@ PROGRAM: (0..707) CONSTANT: (244..245) NUMBER: (244..245) "3" CLOSE_PAREN: (245..246) ")" - ATMOSPHERE: (246..251) " - " + ATMOSPHERE: (246..251) "\n " FORM: (251..266) OPEN_PAREN: (251..252) "(" SYMBOL: (252..256) @@ -87,8 +80,7 @@ PROGRAM: (0..707) SYMBOL: (261..265) IDENTIFIER: (261..265) "fail" CLOSE_PAREN: (265..266) ")" - ATMOSPHERE: (266..271) " - " + ATMOSPHERE: (266..271) "\n " FORM: (271..288) OPEN_PAREN: (271..272) "(" SYMBOL: (272..278) @@ -102,8 +94,7 @@ PROGRAM: (0..707) SYMBOL: (283..287) IDENTIFIER: (283..287) "yarp" CLOSE_PAREN: (287..288) ")" - ATMOSPHERE: (288..293) " - " + ATMOSPHERE: (288..293) "\n " FORM: (293..311) OPEN_PAREN: (293..294) "(" SYMBOL: (294..300) @@ -115,19 +106,15 @@ PROGRAM: (0..707) CONSTANT: (307..310) NUMBER: (307..310) "123" CLOSE_PAREN: (310..311) ")" - ATMOSPHERE: (311..316) " - " + ATMOSPHERE: (311..316) "\n " CLOSE_PAREN: (316..317) ")" CLOSE_PAREN: (317..318) ")" - ATMOSPHERE: (318..320) " - -" + ATMOSPHERE: (318..320) "\n\n" FORM: (320..366) OPEN_PAREN: (320..321) "(" SYMBOL: (321..328) IDENTIFIER: (321..328) "display" - ATMOSPHERE: (328..333) " - " + ATMOSPHERE: (328..333) "\n " FORM: (333..365) OPEN_PAREN: (333..334) "(" SYMBOL: (334..336) @@ -135,60 +122,48 @@ PROGRAM: (0..707) ATMOSPHERE: (336..337) " " CONSTANT: (337..339) BOOLEAN: (337..339) "#t" - ATMOSPHERE: (339..348) " - " + ATMOSPHERE: (339..348) "\n " CONSTANT: (348..351) NUMBER: (348..351) "255" - ATMOSPHERE: (351..360) " - " + ATMOSPHERE: (351..360) "\n " CONSTANT: (360..364) NUMBER: (360..364) "-123" CLOSE_PAREN: (364..365) ")" CLOSE_PAREN: (365..366) ")" - ATMOSPHERE: (366..368) " - -" - ATMOSPHERE: (368..421) ";; Hello isn't #f, therefore we should return "world"" - ATMOSPHERE: (421..422) " -" + ATMOSPHERE: (366..368) "\n\n" + ATMOSPHERE: (368..421) ";; Hello isn't #f, therefore we should return \"world\"" + ATMOSPHERE: (421..422) "\n" FORM: (422..475) OPEN_PAREN: (422..423) "(" SYMBOL: (423..430) IDENTIFIER: (423..430) "display" - ATMOSPHERE: (430..435) " - " + ATMOSPHERE: (430..435) "\n " FORM: (435..474) OPEN_PAREN: (435..436) "(" SYMBOL: (436..438) IDENTIFIER: (436..438) "if" ATMOSPHERE: (438..439) " " CONSTANT: (439..446) - STRING: (439..446) ""hello"" - ATMOSPHERE: (446..455) " - " + STRING: (439..446) "\"hello\"" + ATMOSPHERE: (446..455) "\n " CONSTANT: (455..462) - STRING: (455..462) ""world"" - ATMOSPHERE: (462..471) " - " + STRING: (455..462) "\"world\"" + ATMOSPHERE: (462..471) "\n " CONSTANT: (471..473) NUMBER: (471..473) "-2" CLOSE_PAREN: (473..474) ")" CLOSE_PAREN: (474..475) ")" - ATMOSPHERE: (475..485) " - -" + ATMOSPHERE: (475..485) "\n \n" FORM: (485..565) OPEN_PAREN: (485..486) "(" SYMBOL: (486..493) IDENTIFIER: (486..493) "display" - ATMOSPHERE: (493..498) " - " + ATMOSPHERE: (493..498) "\n " FORM: (498..564) OPEN_PAREN: (498..499) "(" SYMBOL: (499..503) IDENTIFIER: (499..503) "cond" - ATMOSPHERE: (503..512) " - " + ATMOSPHERE: (503..512) "\n " FORM: (512..523) OPEN_PAREN: (512..513) "(" CONSTANT: (513..515) @@ -199,8 +174,7 @@ PROGRAM: (0..707) SYMBOL: (517..522) IDENTIFIER: (517..522) "false" CLOSE_PAREN: (522..523) ")" - ATMOSPHERE: (523..532) " - " + ATMOSPHERE: (523..532) "\n " FORM: (532..542) OPEN_PAREN: (532..533) "(" CONSTANT: (533..535) @@ -211,8 +185,7 @@ PROGRAM: (0..707) SYMBOL: (537..541) IDENTIFIER: (537..541) "true" CLOSE_PAREN: (541..542) ")" - ATMOSPHERE: (542..551) " - " + ATMOSPHERE: (542..551) "\n " FORM: (551..563) OPEN_PAREN: (551..552) "(" SYMBOL: (552..556) @@ -225,20 +198,17 @@ PROGRAM: (0..707) CLOSE_PAREN: (562..563) ")" CLOSE_PAREN: (563..564) ")" CLOSE_PAREN: (564..565) ")" - ATMOSPHERE: (565..566) " -" + ATMOSPHERE: (565..566) "\n" FORM: (566..625) OPEN_PAREN: (566..567) "(" SYMBOL: (567..574) IDENTIFIER: (567..574) "display" - ATMOSPHERE: (574..579) " - " + ATMOSPHERE: (574..579) "\n " FORM: (579..624) OPEN_PAREN: (579..580) "(" SYMBOL: (580..584) IDENTIFIER: (580..584) "cond" - ATMOSPHERE: (584..593) " - " + ATMOSPHERE: (584..593) "\n " FORM: (593..604) OPEN_PAREN: (593..594) "(" CONSTANT: (594..596) @@ -249,8 +219,7 @@ PROGRAM: (0..707) SYMBOL: (598..603) IDENTIFIER: (598..603) "false" CLOSE_PAREN: (603..604) ")" - ATMOSPHERE: (604..613) " - " + ATMOSPHERE: (604..613) "\n " FORM: (613..623) OPEN_PAREN: (613..614) "(" CONSTANT: (614..616) @@ -263,20 +232,17 @@ PROGRAM: (0..707) CLOSE_PAREN: (622..623) ")" CLOSE_PAREN: (623..624) ")" CLOSE_PAREN: (624..625) ")" - ATMOSPHERE: (625..626) " -" + ATMOSPHERE: (625..626) "\n" FORM: (626..665) OPEN_PAREN: (626..627) "(" SYMBOL: (627..634) IDENTIFIER: (627..634) "display" - ATMOSPHERE: (634..639) " - " + ATMOSPHERE: (634..639) "\n " FORM: (639..664) OPEN_PAREN: (639..640) "(" SYMBOL: (640..644) IDENTIFIER: (640..644) "cond" - ATMOSPHERE: (644..653) " - " + ATMOSPHERE: (644..653) "\n " FORM: (653..663) OPEN_PAREN: (653..654) "(" SYMBOL: (654..658) @@ -289,20 +255,17 @@ PROGRAM: (0..707) CLOSE_PAREN: (662..663) ")" CLOSE_PAREN: (663..664) ")" CLOSE_PAREN: (664..665) ")" - ATMOSPHERE: (665..666) " -" + ATMOSPHERE: (665..666) "\n" FORM: (666..706) OPEN_PAREN: (666..667) "(" SYMBOL: (667..674) IDENTIFIER: (667..674) "display" - ATMOSPHERE: (674..679) " - " + ATMOSPHERE: (674..679) "\n " FORM: (679..705) OPEN_PAREN: (679..680) "(" SYMBOL: (680..684) IDENTIFIER: (680..684) "cond" - ATMOSPHERE: (684..694) " - " + ATMOSPHERE: (684..694) " \n " FORM: (694..704) OPEN_PAREN: (694..695) "(" CONSTANT: (695..697) @@ -315,6 +278,5 @@ PROGRAM: (0..707) CLOSE_PAREN: (703..704) ")" CLOSE_PAREN: (704..705) ")" CLOSE_PAREN: (705..706) ")" - ATMOSPHERE: (706..707) " -" + ATMOSPHERE: (706..707) "\n" EOF: (707..707) "" diff --git a/spec/cxr.ast b/spec/cxr.ast index 4b4dd13..8dff57e 100644 --- a/spec/cxr.ast +++ b/spec/cxr.ast @@ -12,8 +12,7 @@ PROGRAM: (0..265) SYMBOL: (16..19) IDENTIFIER: (16..19) "cxr" CLOSE_PAREN: (19..20) ")" - ATMOSPHERE: (20..25) " - " + ATMOSPHERE: (20..25) "\n " FORM: (25..38) OPEN_PAREN: (25..26) "(" SYMBOL: (26..32) @@ -22,8 +21,7 @@ PROGRAM: (0..265) SYMBOL: (33..37) IDENTIFIER: (33..37) "base" CLOSE_PAREN: (37..38) ")" - ATMOSPHERE: (38..43) " - " + ATMOSPHERE: (38..43) "\n " FORM: (43..57) OPEN_PAREN: (43..44) "(" SYMBOL: (44..50) @@ -33,9 +31,7 @@ PROGRAM: (0..265) IDENTIFIER: (51..56) "write" CLOSE_PAREN: (56..57) ")" CLOSE_PAREN: (57..58) ")" - ATMOSPHERE: (58..60) " - -" + ATMOSPHERE: (58..60) "\n\n" FORM: (60..119) OPEN_PAREN: (60..61) "(" SYMBOL: (61..67) @@ -48,8 +44,7 @@ PROGRAM: (0..265) QUOTE: (78..79) "'" FORM: (79..118) OPEN_PAREN: (79..80) "(" - ATMOSPHERE: (80..85) " - " + ATMOSPHERE: (80..85) "\n " FORM: (85..92) OPEN_PAREN: (85..86) "(" CONSTANT: (86..87) @@ -61,8 +56,7 @@ PROGRAM: (0..265) CONSTANT: (90..91) NUMBER: (90..91) "3" CLOSE_PAREN: (91..92) ")" - ATMOSPHERE: (92..97) " - " + ATMOSPHERE: (92..97) "\n " FORM: (97..104) OPEN_PAREN: (97..98) "(" CONSTANT: (98..99) @@ -74,8 +68,7 @@ PROGRAM: (0..265) CONSTANT: (102..103) NUMBER: (102..103) "6" CLOSE_PAREN: (103..104) ")" - ATMOSPHERE: (104..109) " - " + ATMOSPHERE: (104..109) "\n " FORM: (109..116) OPEN_PAREN: (109..110) "(" CONSTANT: (110..111) @@ -87,13 +80,10 @@ PROGRAM: (0..265) CONSTANT: (114..115) NUMBER: (114..115) "9" CLOSE_PAREN: (115..116) ")" - ATMOSPHERE: (116..117) " -" + ATMOSPHERE: (116..117) "\n" CLOSE_PAREN: (117..118) ")" CLOSE_PAREN: (118..119) ")" - ATMOSPHERE: (119..121) " - -" + ATMOSPHERE: (119..121) "\n\n" FORM: (121..147) OPEN_PAREN: (121..122) "(" SYMBOL: (122..129) @@ -113,8 +103,7 @@ PROGRAM: (0..265) SYMBOL: (148..155) IDENTIFIER: (148..155) "newline" CLOSE_PAREN: (155..156) ")" - ATMOSPHERE: (156..157) " -" + ATMOSPHERE: (156..157) "\n" FORM: (157..183) OPEN_PAREN: (157..158) "(" SYMBOL: (158..165) @@ -134,8 +123,7 @@ PROGRAM: (0..265) SYMBOL: (184..191) IDENTIFIER: (184..191) "newline" CLOSE_PAREN: (191..192) ")" - ATMOSPHERE: (192..193) " -" + ATMOSPHERE: (192..193) "\n" FORM: (193..219) OPEN_PAREN: (193..194) "(" SYMBOL: (194..201) @@ -155,8 +143,7 @@ PROGRAM: (0..265) SYMBOL: (220..227) IDENTIFIER: (220..227) "newline" CLOSE_PAREN: (227..228) ")" - ATMOSPHERE: (228..229) " -" + ATMOSPHERE: (228..229) "\n" FORM: (229..255) OPEN_PAREN: (229..230) "(" SYMBOL: (230..237) @@ -176,6 +163,5 @@ PROGRAM: (0..265) SYMBOL: (256..263) IDENTIFIER: (256..263) "newline" CLOSE_PAREN: (263..264) ")" - ATMOSPHERE: (264..265) " -" + ATMOSPHERE: (264..265) "\n" EOF: (265..265) "" diff --git a/spec/define-and-assign.ast b/spec/define-and-assign.ast index 1f1fc61..9b1284d 100644 --- a/spec/define-and-assign.ast +++ b/spec/define-and-assign.ast @@ -12,8 +12,7 @@ PROGRAM: (0..115) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..115) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..54) OPEN_PAREN: (42..43) "(" SYMBOL: (43..49) @@ -36,8 +34,7 @@ PROGRAM: (0..115) CONSTANT: (52..53) NUMBER: (52..53) "2" CLOSE_PAREN: (53..54) ")" - ATMOSPHERE: (54..55) " -" + ATMOSPHERE: (54..55) "\n" FORM: (55..72) OPEN_PAREN: (55..56) "(" SYMBOL: (56..63) @@ -57,8 +54,7 @@ PROGRAM: (0..115) CLOSE_PAREN: (71..72) ")" ATMOSPHERE: (72..73) " " ATMOSPHERE: (73..79) "; => 3" - ATMOSPHERE: (79..80) " -" + ATMOSPHERE: (79..80) "\n" FORM: (80..90) OPEN_PAREN: (80..81) "(" SYMBOL: (81..85) @@ -70,8 +66,7 @@ PROGRAM: (0..115) CONSTANT: (88..89) NUMBER: (88..89) "4" CLOSE_PAREN: (89..90) ")" - ATMOSPHERE: (90..91) " -" + ATMOSPHERE: (90..91) "\n" FORM: (91..108) OPEN_PAREN: (91..92) "(" SYMBOL: (92..99) diff --git a/spec/display-utils.ast b/spec/display-utils.ast index 38b6cb3..a3aa85a 100644 --- a/spec/display-utils.ast +++ b/spec/display-utils.ast @@ -12,8 +12,7 @@ PROGRAM: (0..253) SYMBOL: (25..37) IDENTIFIER: (25..37) "displayutils" CLOSE_PAREN: (37..38) ")" - ATMOSPHERE: (38..40) " - " + ATMOSPHERE: (38..40) "\n\t" FORM: (40..60) OPEN_PAREN: (40..41) "(" SYMBOL: (41..47) @@ -22,8 +21,7 @@ PROGRAM: (0..253) SYMBOL: (48..59) IDENTIFIER: (48..59) "display-all" CLOSE_PAREN: (59..60) ")" - ATMOSPHERE: (60..62) " - " + ATMOSPHERE: (60..62) "\n\t" FORM: (62..101) OPEN_PAREN: (62..63) "(" SYMBOL: (63..69) @@ -37,8 +35,7 @@ PROGRAM: (0..253) SYMBOL: (78..82) IDENTIFIER: (78..82) "base" CLOSE_PAREN: (82..83) ")" - ATMOSPHERE: (83..86) " - " + ATMOSPHERE: (83..86) "\n\t\t" FORM: (86..100) OPEN_PAREN: (86..87) "(" SYMBOL: (87..93) @@ -48,14 +45,12 @@ PROGRAM: (0..253) IDENTIFIER: (94..99) "write" CLOSE_PAREN: (99..100) ")" CLOSE_PAREN: (100..101) ")" - ATMOSPHERE: (101..103) " - " + ATMOSPHERE: (101..103) "\n\t" FORM: (103..251) OPEN_PAREN: (103..104) "(" SYMBOL: (104..109) IDENTIFIER: (104..109) "begin" - ATMOSPHERE: (109..112) " - " + ATMOSPHERE: (109..112) "\n\t\t" FORM: (112..250) OPEN_PAREN: (112..113) "(" SYMBOL: (113..119) @@ -69,8 +64,7 @@ PROGRAM: (0..253) SYMBOL: (133..139) IDENTIFIER: (133..139) "things" CLOSE_PAREN: (139..140) ")" - ATMOSPHERE: (140..144) " - " + ATMOSPHERE: (140..144) "\n\t\t\t" FORM: (144..249) OPEN_PAREN: (144..145) "(" SYMBOL: (145..147) @@ -84,21 +78,18 @@ PROGRAM: (0..253) SYMBOL: (155..161) IDENTIFIER: (155..161) "things" CLOSE_PAREN: (161..162) ")" - ATMOSPHERE: (162..167) " - " + ATMOSPHERE: (162..167) "\n\t\t\t\t" FORM: (167..176) OPEN_PAREN: (167..168) "(" SYMBOL: (168..175) IDENTIFIER: (168..175) "newline" CLOSE_PAREN: (175..176) ")" - ATMOSPHERE: (176..181) " - " + ATMOSPHERE: (176..181) "\n\t\t\t\t" FORM: (181..248) OPEN_PAREN: (181..182) "(" SYMBOL: (182..187) IDENTIFIER: (182..187) "begin" - ATMOSPHERE: (187..193) " - " + ATMOSPHERE: (187..193) "\n\t\t\t\t\t" FORM: (193..215) OPEN_PAREN: (193..194) "(" SYMBOL: (194..201) @@ -113,8 +104,7 @@ PROGRAM: (0..253) IDENTIFIER: (207..213) "things" CLOSE_PAREN: (213..214) ")" CLOSE_PAREN: (214..215) ")" - ATMOSPHERE: (215..221) " - " + ATMOSPHERE: (215..221) "\n\t\t\t\t\t" FORM: (221..247) OPEN_PAREN: (221..222) "(" SYMBOL: (222..233) @@ -134,6 +124,5 @@ PROGRAM: (0..253) CLOSE_PAREN: (249..250) ")" CLOSE_PAREN: (250..251) ")" CLOSE_PAREN: (251..252) ")" - ATMOSPHERE: (252..253) " -" + ATMOSPHERE: (252..253) "\n" EOF: (253..253) "" diff --git a/spec/display.ast b/spec/display.ast index f057d8e..9696922 100644 --- a/spec/display.ast +++ b/spec/display.ast @@ -12,8 +12,7 @@ PROGRAM: (0..255) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,15 +22,14 @@ PROGRAM: (0..255) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..54) OPEN_PAREN: (42..43) "(" SYMBOL: (43..50) IDENTIFIER: (43..50) "display" ATMOSPHERE: (50..51) " " CONSTANT: (51..53) - STRING: (51..53) """" + STRING: (51..53) "\"\"" CLOSE_PAREN: (53..54) ")" FORM: (54..63) OPEN_PAREN: (54..55) "(" @@ -40,8 +38,7 @@ PROGRAM: (0..255) CLOSE_PAREN: (62..63) ")" ATMOSPHERE: (63..64) " " ATMOSPHERE: (64..69) "; => " - ATMOSPHERE: (69..70) " -" + ATMOSPHERE: (69..70) "\n" FORM: (70..82) OPEN_PAREN: (70..71) "(" SYMBOL: (71..78) @@ -58,8 +55,7 @@ PROGRAM: (0..255) CLOSE_PAREN: (90..91) ")" ATMOSPHERE: (91..92) " " ATMOSPHERE: (92..96) "; =>" - ATMOSPHERE: (96..97) " -" + ATMOSPHERE: (96..97) "\n" FORM: (97..110) OPEN_PAREN: (97..98) "(" SYMBOL: (98..105) @@ -75,15 +71,14 @@ PROGRAM: (0..255) CLOSE_PAREN: (118..119) ")" ATMOSPHERE: (119..120) " " ATMOSPHERE: (120..128) "; => 123" - ATMOSPHERE: (128..129) " -" + ATMOSPHERE: (128..129) "\n" FORM: (129..152) OPEN_PAREN: (129..130) "(" SYMBOL: (130..137) IDENTIFIER: (130..137) "display" ATMOSPHERE: (137..138) " " CONSTANT: (138..151) - STRING: (138..151) ""Hello World"" + STRING: (138..151) "\"Hello World\"" CLOSE_PAREN: (151..152) ")" FORM: (152..165) OPEN_PAREN: (152..153) "(" @@ -91,7 +86,7 @@ PROGRAM: (0..255) IDENTIFIER: (153..160) "display" ATMOSPHERE: (160..161) " " CONSTANT: (161..164) - CHARACTER: (161..164) "#\!" + CHARACTER: (161..164) "#\\!" CLOSE_PAREN: (164..165) ")" FORM: (165..174) OPEN_PAREN: (165..166) "(" @@ -100,8 +95,7 @@ PROGRAM: (0..255) CLOSE_PAREN: (173..174) ")" ATMOSPHERE: (174..175) " " ATMOSPHERE: (175..192) "; => Hello World!" - ATMOSPHERE: (192..193) " -" + ATMOSPHERE: (192..193) "\n" FORM: (193..240) OPEN_PAREN: (193..194) "(" SYMBOL: (194..201) @@ -112,7 +106,7 @@ PROGRAM: (0..255) FORM: (203..239) OPEN_PAREN: (203..204) "(" CONSTANT: (204..238) - STRING: (204..238) ""I \" need \v some \x00; escaping"" + STRING: (204..238) "\"I \\\" need \\v some \\x00; escaping\"" CLOSE_PAREN: (238..239) ")" CLOSE_PAREN: (239..240) ")" FORM: (240..249) diff --git a/spec/dragons.ast b/spec/dragons.ast index 4ed854d..14a3f1b 100644 --- a/spec/dragons.ast +++ b/spec/dragons.ast @@ -9,8 +9,7 @@ PROGRAM: (0..1158) SYMBOL: (17..23) IDENTIFIER: (17..23) "dragon" CLOSE_PAREN: (23..24) ")" - ATMOSPHERE: (24..29) " - " + ATMOSPHERE: (24..29) "\n " FORM: (29..70) OPEN_PAREN: (29..30) "(" SYMBOL: (30..36) @@ -24,8 +23,7 @@ PROGRAM: (0..1158) SYMBOL: (45..49) IDENTIFIER: (45..49) "base" CLOSE_PAREN: (49..50) ")" - ATMOSPHERE: (50..55) " - " + ATMOSPHERE: (50..55) "\n " FORM: (55..69) OPEN_PAREN: (55..56) "(" SYMBOL: (56..62) @@ -35,8 +33,7 @@ PROGRAM: (0..1158) IDENTIFIER: (63..68) "write" CLOSE_PAREN: (68..69) ")" CLOSE_PAREN: (69..70) ")" - ATMOSPHERE: (70..75) " - " + ATMOSPHERE: (70..75) "\n " FORM: (75..90) OPEN_PAREN: (75..76) "(" SYMBOL: (76..82) @@ -45,15 +42,12 @@ PROGRAM: (0..1158) SYMBOL: (83..89) IDENTIFIER: (83..89) "dragon" CLOSE_PAREN: (89..90) ")" - ATMOSPHERE: (90..95) " - " + ATMOSPHERE: (90..95) "\n " FORM: (95..1126) OPEN_PAREN: (95..96) "(" SYMBOL: (96..101) IDENTIFIER: (96..101) "begin" - ATMOSPHERE: (101..111) " - - " + ATMOSPHERE: (101..111) "\n\n " FORM: (111..295) OPEN_PAREN: (111..112) "(" SYMBOL: (112..118) @@ -70,18 +64,16 @@ PROGRAM: (0..1158) SYMBOL: (132..135) IDENTIFIER: (132..135) "arg" CLOSE_PAREN: (135..136) ")" - ATMOSPHERE: (136..149) " - " + ATMOSPHERE: (136..149) "\n " FORM: (149..168) OPEN_PAREN: (149..150) "(" SYMBOL: (150..157) IDENTIFIER: (150..157) "display" ATMOSPHERE: (157..158) " " CONSTANT: (158..167) - STRING: (158..167) ""turtle."" + STRING: (158..167) "\"turtle.\"" CLOSE_PAREN: (167..168) ")" - ATMOSPHERE: (168..181) " - " + ATMOSPHERE: (168..181) "\n " FORM: (181..194) OPEN_PAREN: (181..182) "(" SYMBOL: (182..189) @@ -90,18 +82,16 @@ PROGRAM: (0..1158) SYMBOL: (190..193) IDENTIFIER: (190..193) "cmd" CLOSE_PAREN: (193..194) ")" - ATMOSPHERE: (194..207) " - " + ATMOSPHERE: (194..207) "\n " FORM: (207..220) OPEN_PAREN: (207..208) "(" SYMBOL: (208..215) IDENTIFIER: (208..215) "display" ATMOSPHERE: (215..216) " " CONSTANT: (216..219) - STRING: (216..219) ""("" + STRING: (216..219) "\"(\"" CLOSE_PAREN: (219..220) ")" - ATMOSPHERE: (220..233) " - " + ATMOSPHERE: (220..233) "\n " FORM: (233..246) OPEN_PAREN: (233..234) "(" SYMBOL: (234..241) @@ -110,27 +100,23 @@ PROGRAM: (0..1158) SYMBOL: (242..245) IDENTIFIER: (242..245) "arg" CLOSE_PAREN: (245..246) ")" - ATMOSPHERE: (246..259) " - " + ATMOSPHERE: (246..259) "\n " FORM: (259..272) OPEN_PAREN: (259..260) "(" SYMBOL: (260..267) IDENTIFIER: (260..267) "display" ATMOSPHERE: (267..268) " " CONSTANT: (268..271) - STRING: (268..271) "")"" + STRING: (268..271) "\")\"" CLOSE_PAREN: (271..272) ")" - ATMOSPHERE: (272..285) " - " + ATMOSPHERE: (272..285) "\n " FORM: (285..294) OPEN_PAREN: (285..286) "(" SYMBOL: (286..293) IDENTIFIER: (286..293) "newline" CLOSE_PAREN: (293..294) ")" CLOSE_PAREN: (294..295) ")" - ATMOSPHERE: (295..305) " - - " + ATMOSPHERE: (295..305) "\n\n " FORM: (305..476) OPEN_PAREN: (305..306) "(" SYMBOL: (306..312) @@ -141,64 +127,58 @@ PROGRAM: (0..1158) SYMBOL: (314..318) IDENTIFIER: (314..318) "init" CLOSE_PAREN: (318..319) ")" - ATMOSPHERE: (319..332) " - " + ATMOSPHERE: (319..332) "\n " FORM: (332..357) OPEN_PAREN: (332..333) "(" SYMBOL: (333..340) IDENTIFIER: (333..340) "display" ATMOSPHERE: (340..341) " " CONSTANT: (341..356) - STRING: (341..356) ""import turtle"" + STRING: (341..356) "\"import turtle\"" CLOSE_PAREN: (356..357) ")" FORM: (357..366) OPEN_PAREN: (357..358) "(" SYMBOL: (358..365) IDENTIFIER: (358..365) "newline" CLOSE_PAREN: (365..366) ")" - ATMOSPHERE: (366..379) " - " + ATMOSPHERE: (366..379) "\n " FORM: (379..398) OPEN_PAREN: (379..380) "(" SYMBOL: (380..387) IDENTIFIER: (380..387) "command" ATMOSPHERE: (387..388) " " CONSTANT: (388..395) - STRING: (388..395) ""speed"" + STRING: (388..395) "\"speed\"" ATMOSPHERE: (395..396) " " CONSTANT: (396..397) NUMBER: (396..397) "0" CLOSE_PAREN: (397..398) ")" - ATMOSPHERE: (398..411) " - " + ATMOSPHERE: (398..411) "\n " FORM: (411..437) OPEN_PAREN: (411..412) "(" SYMBOL: (412..419) IDENTIFIER: (412..419) "command" ATMOSPHERE: (419..420) " " CONSTANT: (420..428) - STRING: (420..428) ""tracer"" + STRING: (420..428) "\"tracer\"" ATMOSPHERE: (428..429) " " CONSTANT: (429..436) - STRING: (429..436) ""False"" + STRING: (429..436) "\"False\"" CLOSE_PAREN: (436..437) ")" - ATMOSPHERE: (437..450) " - " + ATMOSPHERE: (437..450) "\n " FORM: (450..475) OPEN_PAREN: (450..451) "(" SYMBOL: (451..458) IDENTIFIER: (451..458) "command" ATMOSPHERE: (458..459) " " CONSTANT: (459..471) - STRING: (459..471) ""showturtle"" + STRING: (459..471) "\"showturtle\"" ATMOSPHERE: (471..472) " " CONSTANT: (472..474) - STRING: (472..474) """" + STRING: (472..474) "\"\"" CLOSE_PAREN: (474..475) ")" CLOSE_PAREN: (475..476) ")" - ATMOSPHERE: (476..486) " - - " + ATMOSPHERE: (476..486) "\n\n " FORM: (486..537) OPEN_PAREN: (486..487) "(" SYMBOL: (487..493) @@ -209,24 +189,20 @@ PROGRAM: (0..1158) SYMBOL: (495..503) IDENTIFIER: (495..503) "finalise" CLOSE_PAREN: (503..504) ")" - ATMOSPHERE: (504..517) " - " + ATMOSPHERE: (504..517) "\n " FORM: (517..536) OPEN_PAREN: (517..518) "(" SYMBOL: (518..525) IDENTIFIER: (518..525) "command" ATMOSPHERE: (525..526) " " CONSTANT: (526..532) - STRING: (526..532) ""done"" + STRING: (526..532) "\"done\"" ATMOSPHERE: (532..533) " " CONSTANT: (533..535) - STRING: (533..535) """" + STRING: (533..535) "\"\"" CLOSE_PAREN: (535..536) ")" CLOSE_PAREN: (536..537) ")" - ATMOSPHERE: (537..548) " - - - " + ATMOSPHERE: (537..548) "\n\n\n " FORM: (548..953) OPEN_PAREN: (548..549) "(" SYMBOL: (549..555) @@ -246,8 +222,7 @@ PROGRAM: (0..1158) SYMBOL: (579..582) IDENTIFIER: (579..582) "dir" CLOSE_PAREN: (582..583) ")" - ATMOSPHERE: (583..596) " - " + ATMOSPHERE: (583..596) "\n " FORM: (596..952) OPEN_PAREN: (596..597) "(" SYMBOL: (597..599) @@ -264,21 +239,19 @@ PROGRAM: (0..1158) SYMBOL: (605..609) IDENTIFIER: (605..609) "iter" CLOSE_PAREN: (609..610) ")" - ATMOSPHERE: (610..627) " - " + ATMOSPHERE: (610..627) "\n " FORM: (627..646) OPEN_PAREN: (627..628) "(" SYMBOL: (628..635) IDENTIFIER: (628..635) "command" ATMOSPHERE: (635..636) " " CONSTANT: (636..640) - STRING: (636..640) ""fd"" + STRING: (636..640) "\"fd\"" ATMOSPHERE: (640..641) " " SYMBOL: (641..645) IDENTIFIER: (641..645) "size" CLOSE_PAREN: (645..646) ")" - ATMOSPHERE: (646..663) " - " + ATMOSPHERE: (646..663) "\n " FORM: (663..951) OPEN_PAREN: (663..664) "(" SYMBOL: (664..667) @@ -303,8 +276,7 @@ PROGRAM: (0..1158) NUMBER: (683..684) "1" CLOSE_PAREN: (684..685) ")" CLOSE_PAREN: (685..686) ")" - ATMOSPHERE: (686..709) " - " + ATMOSPHERE: (686..709) "\n " FORM: (709..732) OPEN_PAREN: (709..710) "(" SYMBOL: (710..714) @@ -322,8 +294,7 @@ PROGRAM: (0..1158) NUMBER: (723..730) "0.70711" CLOSE_PAREN: (730..731) ")" CLOSE_PAREN: (731..732) ")" - ATMOSPHERE: (732..755) " - " + ATMOSPHERE: (732..755) "\n " FORM: (755..795) OPEN_PAREN: (755..756) "(" SYMBOL: (756..763) @@ -349,15 +320,14 @@ PROGRAM: (0..1158) CLOSE_PAREN: (782..783) ")" ATMOSPHERE: (783..784) " " CONSTANT: (784..788) - STRING: (784..788) ""lt"" + STRING: (784..788) "\"lt\"" ATMOSPHERE: (788..789) " " CONSTANT: (789..793) - STRING: (789..793) ""rt"" + STRING: (789..793) "\"rt\"" CLOSE_PAREN: (793..794) ")" CLOSE_PAREN: (794..795) ")" CLOSE_PAREN: (795..796) ")" - ATMOSPHERE: (796..821) " - " + ATMOSPHERE: (796..821) "\n " FORM: (821..850) OPEN_PAREN: (821..822) "(" SYMBOL: (822..833) @@ -374,8 +344,7 @@ PROGRAM: (0..1158) SYMBOL: (845..849) IDENTIFIER: (845..849) "left" CLOSE_PAREN: (849..850) ")" - ATMOSPHERE: (850..875) " - " + ATMOSPHERE: (850..875) "\n " FORM: (875..895) OPEN_PAREN: (875..876) "(" SYMBOL: (876..883) @@ -387,8 +356,7 @@ PROGRAM: (0..1158) CONSTANT: (892..894) NUMBER: (892..894) "90" CLOSE_PAREN: (894..895) ")" - ATMOSPHERE: (895..920) " - " + ATMOSPHERE: (895..920) "\n " FORM: (920..950) OPEN_PAREN: (920..921) "(" SYMBOL: (921..932) @@ -408,9 +376,7 @@ PROGRAM: (0..1158) CLOSE_PAREN: (950..951) ")" CLOSE_PAREN: (951..952) ")" CLOSE_PAREN: (952..953) ")" - ATMOSPHERE: (953..963) " - - " + ATMOSPHERE: (953..963) "\n\n " FORM: (963..1107) OPEN_PAREN: (963..964) "(" SYMBOL: (964..970) @@ -424,22 +390,20 @@ PROGRAM: (0..1158) SYMBOL: (979..983) IDENTIFIER: (979..983) "iter" CLOSE_PAREN: (983..984) ")" - ATMOSPHERE: (984..997) " - " + ATMOSPHERE: (984..997) "\n " FORM: (997..1003) OPEN_PAREN: (997..998) "(" SYMBOL: (998..1002) IDENTIFIER: (998..1002) "init" CLOSE_PAREN: (1002..1003) ")" - ATMOSPHERE: (1003..1016) " - " + ATMOSPHERE: (1003..1016) "\n " FORM: (1016..1042) OPEN_PAREN: (1016..1017) "(" SYMBOL: (1017..1024) IDENTIFIER: (1017..1024) "command" ATMOSPHERE: (1024..1025) " " CONSTANT: (1025..1029) - STRING: (1025..1029) ""rt"" + STRING: (1025..1029) "\"rt\"" ATMOSPHERE: (1029..1030) " " FORM: (1030..1041) OPEN_PAREN: (1030..1031) "(" @@ -453,8 +417,7 @@ PROGRAM: (0..1158) IDENTIFIER: (1036..1040) "iter" CLOSE_PAREN: (1040..1041) ")" CLOSE_PAREN: (1041..1042) ")" - ATMOSPHERE: (1042..1055) " - " + ATMOSPHERE: (1042..1055) "\n " FORM: (1055..1083) OPEN_PAREN: (1055..1056) "(" SYMBOL: (1056..1067) @@ -471,22 +434,17 @@ PROGRAM: (0..1158) SYMBOL: (1078..1082) IDENTIFIER: (1078..1082) "left" CLOSE_PAREN: (1082..1083) ")" - ATMOSPHERE: (1083..1096) " - " + ATMOSPHERE: (1083..1096) "\n " FORM: (1096..1106) OPEN_PAREN: (1096..1097) "(" SYMBOL: (1097..1105) IDENTIFIER: (1097..1105) "finalise" CLOSE_PAREN: (1105..1106) ")" CLOSE_PAREN: (1106..1107) ")" - ATMOSPHERE: (1107..1125) " - - " + ATMOSPHERE: (1107..1125) "\n \n " CLOSE_PAREN: (1125..1126) ")" CLOSE_PAREN: (1126..1127) ")" - ATMOSPHERE: (1127..1129) " - -" + ATMOSPHERE: (1127..1129) "\n\n" FORM: (1129..1146) OPEN_PAREN: (1129..1130) "(" SYMBOL: (1130..1136) @@ -498,9 +456,7 @@ PROGRAM: (0..1158) IDENTIFIER: (1138..1144) "dragon" CLOSE_PAREN: (1144..1145) ")" CLOSE_PAREN: (1145..1146) ")" - ATMOSPHERE: (1146..1148) " - -" + ATMOSPHERE: (1146..1148) "\n\n" FORM: (1148..1158) OPEN_PAREN: (1148..1149) "(" SYMBOL: (1149..1155) diff --git a/spec/envtest.ast b/spec/envtest.ast index 8db5af4..4e4533b 100644 --- a/spec/envtest.ast +++ b/spec/envtest.ast @@ -12,8 +12,7 @@ PROGRAM: (0..272) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..24) " - " + ATMOSPHERE: (21..24) "\n " FORM: (24..38) OPEN_PAREN: (24..25) "(" SYMBOL: (25..31) @@ -23,9 +22,7 @@ PROGRAM: (0..272) IDENTIFIER: (32..37) "write" CLOSE_PAREN: (37..38) ")" CLOSE_PAREN: (38..39) ")" - ATMOSPHERE: (39..41) " - -" + ATMOSPHERE: (39..41) "\n\n" FORM: (41..94) OPEN_PAREN: (41..42) "(" SYMBOL: (42..48) @@ -39,8 +36,7 @@ PROGRAM: (0..272) SYMBOL: (54..55) IDENTIFIER: (54..55) "a" CLOSE_PAREN: (55..56) ")" - ATMOSPHERE: (56..59) " - " + ATMOSPHERE: (56..59) "\n " FORM: (59..87) OPEN_PAREN: (59..60) "(" SYMBOL: (60..66) @@ -54,8 +50,7 @@ PROGRAM: (0..272) SYMBOL: (72..73) IDENTIFIER: (72..73) "b" CLOSE_PAREN: (73..74) ")" - ATMOSPHERE: (74..79) " - " + ATMOSPHERE: (74..79) "\n " FORM: (79..86) OPEN_PAREN: (79..80) "(" SYMBOL: (80..81) @@ -68,14 +63,11 @@ PROGRAM: (0..272) IDENTIFIER: (84..85) "b" CLOSE_PAREN: (85..86) ")" CLOSE_PAREN: (86..87) ")" - ATMOSPHERE: (87..90) " - " + ATMOSPHERE: (87..90) "\n " SYMBOL: (90..93) IDENTIFIER: (90..93) "bar" CLOSE_PAREN: (93..94) ")" - ATMOSPHERE: (94..96) " - -" + ATMOSPHERE: (94..96) "\n\n" FORM: (96..119) OPEN_PAREN: (96..97) "(" SYMBOL: (97..104) @@ -101,9 +93,7 @@ PROGRAM: (0..272) SYMBOL: (120..127) IDENTIFIER: (120..127) "newline" CLOSE_PAREN: (127..128) ")" - ATMOSPHERE: (128..130) " - -" + ATMOSPHERE: (128..130) "\n\n" FORM: (130..240) OPEN_PAREN: (130..131) "(" SYMBOL: (131..137) @@ -120,8 +110,7 @@ PROGRAM: (0..272) SYMBOL: (146..147) IDENTIFIER: (146..147) "b" CLOSE_PAREN: (147..148) ")" - ATMOSPHERE: (148..151) " - " + ATMOSPHERE: (148..151) "\n " FORM: (151..226) OPEN_PAREN: (151..152) "(" SYMBOL: (152..158) @@ -132,8 +121,7 @@ PROGRAM: (0..272) SYMBOL: (160..168) IDENTIFIER: (160..168) "do-stuff" CLOSE_PAREN: (168..169) ")" - ATMOSPHERE: (169..174) " - " + ATMOSPHERE: (169..174) "\n " FORM: (174..209) OPEN_PAREN: (174..175) "(" SYMBOL: (175..181) @@ -147,8 +135,7 @@ PROGRAM: (0..272) SYMBOL: (190..191) IDENTIFIER: (190..191) "c" CLOSE_PAREN: (191..192) ")" - ATMOSPHERE: (192..199) " - " + ATMOSPHERE: (192..199) "\n " FORM: (199..208) OPEN_PAREN: (199..200) "(" SYMBOL: (200..201) @@ -164,8 +151,7 @@ PROGRAM: (0..272) IDENTIFIER: (206..207) "c" CLOSE_PAREN: (207..208) ")" CLOSE_PAREN: (208..209) ")" - ATMOSPHERE: (209..214) " - " + ATMOSPHERE: (209..214) "\n " FORM: (214..225) OPEN_PAREN: (214..215) "(" SYMBOL: (215..221) @@ -175,17 +161,14 @@ PROGRAM: (0..272) NUMBER: (222..224) "12" CLOSE_PAREN: (224..225) ")" CLOSE_PAREN: (225..226) ")" - ATMOSPHERE: (226..229) " - " + ATMOSPHERE: (226..229) "\n " FORM: (229..239) OPEN_PAREN: (229..230) "(" SYMBOL: (230..238) IDENTIFIER: (230..238) "do-stuff" CLOSE_PAREN: (238..239) ")" CLOSE_PAREN: (239..240) ")" - ATMOSPHERE: (240..242) " - -" + ATMOSPHERE: (240..242) "\n\n" FORM: (242..262) OPEN_PAREN: (242..243) "(" SYMBOL: (243..250) @@ -208,6 +191,5 @@ PROGRAM: (0..272) SYMBOL: (263..270) IDENTIFIER: (263..270) "newline" CLOSE_PAREN: (270..271) ")" - ATMOSPHERE: (271..272) " -" + ATMOSPHERE: (271..272) "\n" EOF: (272..272) "" diff --git a/spec/equivalence.ast b/spec/equivalence.ast index 1200367..6dd3dd7 100644 --- a/spec/equivalence.ast +++ b/spec/equivalence.ast @@ -1,7 +1,6 @@ PROGRAM: (0..2277) ATMOSPHERE: (0..62) ";; Tests for the Equivalence Predicates (section 6.1 of R7RS)." - ATMOSPHERE: (62..63) " -" + ATMOSPHERE: (62..63) "\n" FORM: (63..104) OPEN_PAREN: (63..64) "(" SYMBOL: (64..70) @@ -15,8 +14,7 @@ PROGRAM: (0..2277) SYMBOL: (79..83) IDENTIFIER: (79..83) "base" CLOSE_PAREN: (83..84) ")" - ATMOSPHERE: (84..89) " - " + ATMOSPHERE: (84..89) "\n " FORM: (89..103) OPEN_PAREN: (89..90) "(" SYMBOL: (90..96) @@ -26,12 +24,9 @@ PROGRAM: (0..2277) IDENTIFIER: (97..102) "write" CLOSE_PAREN: (102..103) ")" CLOSE_PAREN: (103..104) ")" - ATMOSPHERE: (104..106) " - -" + ATMOSPHERE: (104..106) "\n\n" ATMOSPHERE: (106..128) ";; Trivial equivalence" - ATMOSPHERE: (128..129) " -" + ATMOSPHERE: (128..129) "\n" FORM: (129..562) OPEN_PAREN: (129..130) "(" SYMBOL: (130..137) @@ -41,9 +36,7 @@ PROGRAM: (0..2277) OPEN_PAREN: (138..139) "(" SYMBOL: (139..143) IDENTIFIER: (139..143) "list" - ATMOSPHERE: (143..149) " - - " + ATMOSPHERE: (143..149) "\n\n " FORM: (149..161) OPEN_PAREN: (149..150) "(" SYMBOL: (150..154) @@ -61,8 +54,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (160..161) ")" ATMOSPHERE: (161..162) " " ATMOSPHERE: (162..169) "; ~> #t" - ATMOSPHERE: (169..174) " - " + ATMOSPHERE: (169..174) "\n " FORM: (174..186) OPEN_PAREN: (174..175) "(" SYMBOL: (175..179) @@ -80,8 +72,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (185..186) ")" ATMOSPHERE: (186..187) " " ATMOSPHERE: (187..194) "; ~> #f" - ATMOSPHERE: (194..199) " - " + ATMOSPHERE: (194..199) "\n " FORM: (199..209) OPEN_PAREN: (199..200) "(" SYMBOL: (200..204) @@ -95,8 +86,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (208..209) ")" ATMOSPHERE: (209..210) " " ATMOSPHERE: (210..217) "; ~> #t" - ATMOSPHERE: (217..222) " - " + ATMOSPHERE: (217..222) "\n " FORM: (222..234) OPEN_PAREN: (222..223) "(" SYMBOL: (223..227) @@ -110,8 +100,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (233..234) ")" ATMOSPHERE: (234..235) " " ATMOSPHERE: (235..293) "; ~> #f Should be false, but we don't do exact numbers :-/" - ATMOSPHERE: (293..298) " - " + ATMOSPHERE: (293..298) "\n " FORM: (298..312) OPEN_PAREN: (298..299) "(" SYMBOL: (299..303) @@ -131,8 +120,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (311..312) ")" ATMOSPHERE: (312..313) " " ATMOSPHERE: (313..320) "; ~> #t" - ATMOSPHERE: (320..325) " - " + ATMOSPHERE: (320..325) "\n " FORM: (325..351) OPEN_PAREN: (325..326) "(" SYMBOL: (326..330) @@ -146,11 +134,9 @@ PROGRAM: (0..2277) CLOSE_PAREN: (350..351) ")" ATMOSPHERE: (351..352) " " ATMOSPHERE: (352..359) "; ~> #t" - ATMOSPHERE: (359..364) " - " + ATMOSPHERE: (359..364) "\n " ATMOSPHERE: (364..391) "; (eqv? 0.0 +nan.0) ; ~> #f" - ATMOSPHERE: (391..396) " - " + ATMOSPHERE: (391..396) "\n " FORM: (396..424) OPEN_PAREN: (396..397) "(" SYMBOL: (397..401) @@ -182,8 +168,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (423..424) ")" ATMOSPHERE: (424..425) " " ATMOSPHERE: (425..432) "; ~> #f" - ATMOSPHERE: (432..437) " - " + ATMOSPHERE: (432..437) "\n " FORM: (437..470) OPEN_PAREN: (437..438) "(" SYMBOL: (438..442) @@ -216,8 +201,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (469..470) ")" ATMOSPHERE: (470..471) " " ATMOSPHERE: (471..478) "; ~> #f" - ATMOSPHERE: (478..483) " - " + ATMOSPHERE: (478..483) "\n " FORM: (483..519) OPEN_PAREN: (483..484) "(" SYMBOL: (484..487) @@ -260,8 +244,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (518..519) ")" ATMOSPHERE: (519..520) " " ATMOSPHERE: (520..527) "; ~> #t" - ATMOSPHERE: (527..532) " - " + ATMOSPHERE: (527..532) "\n " FORM: (532..546) OPEN_PAREN: (532..533) "(" SYMBOL: (533..537) @@ -277,9 +260,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (545..546) ")" ATMOSPHERE: (546..547) " " ATMOSPHERE: (547..554) "; ~> #f" - ATMOSPHERE: (554..560) " - - " + ATMOSPHERE: (554..560) "\n\n " CLOSE_PAREN: (560..561) ")" CLOSE_PAREN: (561..562) ")" FORM: (562..571) @@ -287,12 +268,9 @@ PROGRAM: (0..2277) SYMBOL: (563..570) IDENTIFIER: (563..570) "newline" CLOSE_PAREN: (570..571) ")" - ATMOSPHERE: (571..573) " - -" + ATMOSPHERE: (571..573) "\n\n" ATMOSPHERE: (573..609) ";; implementaiton specified restults" - ATMOSPHERE: (609..610) " -" + ATMOSPHERE: (609..610) "\n" FORM: (610..905) OPEN_PAREN: (610..611) "(" SYMBOL: (611..618) @@ -302,24 +280,21 @@ PROGRAM: (0..2277) OPEN_PAREN: (619..620) "(" SYMBOL: (620..624) IDENTIFIER: (620..624) "list" - ATMOSPHERE: (624..630) " - - " + ATMOSPHERE: (624..630) "\n\n " FORM: (630..642) OPEN_PAREN: (630..631) "(" SYMBOL: (631..635) IDENTIFIER: (631..635) "eqv?" ATMOSPHERE: (635..636) " " CONSTANT: (636..638) - STRING: (636..638) """" + STRING: (636..638) "\"\"" ATMOSPHERE: (638..639) " " CONSTANT: (639..641) - STRING: (639..641) """" + STRING: (639..641) "\"\"" CLOSE_PAREN: (641..642) ")" ATMOSPHERE: (642..643) " " ATMOSPHERE: (643..659) "; ~> unspecified" - ATMOSPHERE: (659..664) " - " + ATMOSPHERE: (659..664) "\n " FORM: (664..680) OPEN_PAREN: (664..665) "(" SYMBOL: (665..669) @@ -339,8 +314,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (679..680) ")" ATMOSPHERE: (680..681) " " ATMOSPHERE: (681..697) "; ~> unspecified" - ATMOSPHERE: (697..702) " - " + ATMOSPHERE: (697..702) "\n " FORM: (702..737) OPEN_PAREN: (702..703) "(" SYMBOL: (703..707) @@ -377,8 +351,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (736..737) ")" ATMOSPHERE: (737..738) " " ATMOSPHERE: (738..754) "; ~> unspecified" - ATMOSPHERE: (754..759) " - " + ATMOSPHERE: (754..759) "\n " FORM: (759..794) OPEN_PAREN: (759..760) "(" SYMBOL: (760..764) @@ -415,15 +388,11 @@ PROGRAM: (0..2277) CLOSE_PAREN: (793..794) ")" ATMOSPHERE: (794..795) " " ATMOSPHERE: (795..811) "; ~> unspecified" - ATMOSPHERE: (811..816) " - " + ATMOSPHERE: (811..816) "\n " ATMOSPHERE: (816..853) "; (eqv? 1.0e0 1.0f0) ; ~> unspecified" - ATMOSPHERE: (853..858) " - " + ATMOSPHERE: (853..858) "\n " ATMOSPHERE: (858..897) "; (eqv? +nan.0 +nan.0) ; ~> unspecified" - ATMOSPHERE: (897..903) " - - " + ATMOSPHERE: (897..903) "\n\n " CLOSE_PAREN: (903..904) ")" CLOSE_PAREN: (904..905) ")" FORM: (905..914) @@ -431,12 +400,9 @@ PROGRAM: (0..2277) SYMBOL: (906..913) IDENTIFIER: (906..913) "newline" CLOSE_PAREN: (913..914) ")" - ATMOSPHERE: (914..916) " - -" + ATMOSPHERE: (914..916) "\n\n" ATMOSPHERE: (916..979) ";; Lambdas that capture state should be different for each call" - ATMOSPHERE: (979..980) " -" + ATMOSPHERE: (979..980) "\n" FORM: (980..1097) OPEN_PAREN: (980..981) "(" SYMBOL: (981..987) @@ -444,8 +410,7 @@ PROGRAM: (0..2277) ATMOSPHERE: (987..988) " " SYMBOL: (988..999) IDENTIFIER: (988..999) "gen-counter" - ATMOSPHERE: (999..1004) " - " + ATMOSPHERE: (999..1004) "\n " FORM: (1004..1096) OPEN_PAREN: (1004..1005) "(" SYMBOL: (1005..1011) @@ -454,8 +419,7 @@ PROGRAM: (0..2277) FORM: (1012..1014) OPEN_PAREN: (1012..1013) "(" CLOSE_PAREN: (1013..1014) ")" - ATMOSPHERE: (1014..1023) " - " + ATMOSPHERE: (1014..1023) "\n " FORM: (1023..1095) OPEN_PAREN: (1023..1024) "(" SYMBOL: (1024..1027) @@ -472,8 +436,7 @@ PROGRAM: (0..2277) NUMBER: (1032..1033) "0" CLOSE_PAREN: (1033..1034) ")" CLOSE_PAREN: (1034..1035) ")" - ATMOSPHERE: (1035..1048) " - " + ATMOSPHERE: (1035..1048) "\n " FORM: (1048..1094) OPEN_PAREN: (1048..1049) "(" SYMBOL: (1049..1055) @@ -482,8 +445,7 @@ PROGRAM: (0..2277) FORM: (1056..1058) OPEN_PAREN: (1056..1057) "(" CLOSE_PAREN: (1057..1058) ")" - ATMOSPHERE: (1058..1075) " - " + ATMOSPHERE: (1058..1075) "\n " FORM: (1075..1091) OPEN_PAREN: (1075..1076) "(" SYMBOL: (1076..1080) @@ -511,8 +473,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1094..1095) ")" CLOSE_PAREN: (1095..1096) ")" CLOSE_PAREN: (1096..1097) ")" - ATMOSPHERE: (1097..1098) " -" + ATMOSPHERE: (1097..1098) "\n" FORM: (1098..1148) OPEN_PAREN: (1098..1099) "(" SYMBOL: (1099..1106) @@ -537,8 +498,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1128..1129) ")" CLOSE_PAREN: (1129..1130) ")" CLOSE_PAREN: (1130..1131) ")" - ATMOSPHERE: (1131..1136) " - " + ATMOSPHERE: (1131..1136) "\n " FORM: (1136..1146) OPEN_PAREN: (1136..1137) "(" SYMBOL: (1137..1141) @@ -554,8 +514,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1147..1148) ")" ATMOSPHERE: (1148..1149) " " ATMOSPHERE: (1149..1156) "; ~> #t" - ATMOSPHERE: (1156..1157) " -" + ATMOSPHERE: (1156..1157) "\n" FORM: (1157..1201) OPEN_PAREN: (1157..1158) "(" SYMBOL: (1158..1165) @@ -581,31 +540,25 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1200..1201) ")" ATMOSPHERE: (1201..1202) " " ATMOSPHERE: (1202..1209) "; ~> #f" - ATMOSPHERE: (1209..1210) " -" + ATMOSPHERE: (1209..1210) "\n" FORM: (1210..1219) OPEN_PAREN: (1210..1211) "(" SYMBOL: (1211..1218) IDENTIFIER: (1211..1218) "newline" CLOSE_PAREN: (1218..1219) ")" - ATMOSPHERE: (1219..1221) " - -" + ATMOSPHERE: (1219..1221) "\n\n" ATMOSPHERE: (1221..1292) ";; The `eq?` Predicate is allowed to just do a pointer equivalence test" - ATMOSPHERE: (1292..1293) " -" + ATMOSPHERE: (1292..1293) "\n" FORM: (1293..1748) OPEN_PAREN: (1293..1294) "(" SYMBOL: (1294..1301) IDENTIFIER: (1294..1301) "display" - ATMOSPHERE: (1301..1303) " - " + ATMOSPHERE: (1301..1303) "\n " FORM: (1303..1747) OPEN_PAREN: (1303..1304) "(" SYMBOL: (1304..1308) IDENTIFIER: (1304..1308) "list" - ATMOSPHERE: (1308..1311) " - " + ATMOSPHERE: (1308..1311) "\n " FORM: (1311..1322) OPEN_PAREN: (1311..1312) "(" SYMBOL: (1312..1315) @@ -623,8 +576,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1321..1322) ")" ATMOSPHERE: (1322..1323) " " ATMOSPHERE: (1323..1330) "; -> #t" - ATMOSPHERE: (1330..1333) " - " + ATMOSPHERE: (1330..1333) "\n " FORM: (1333..1348) OPEN_PAREN: (1333..1334) "(" SYMBOL: (1334..1337) @@ -648,8 +600,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1347..1348) ")" ATMOSPHERE: (1348..1349) " " ATMOSPHERE: (1349..1365) "; -> unspecified" - ATMOSPHERE: (1365..1368) " - " + ATMOSPHERE: (1365..1368) "\n " FORM: (1368..1393) OPEN_PAREN: (1368..1369) "(" SYMBOL: (1369..1372) @@ -679,38 +630,35 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1392..1393) ")" ATMOSPHERE: (1393..1394) " " ATMOSPHERE: (1394..1401) "; -> #f" - ATMOSPHERE: (1401..1404) " - " + ATMOSPHERE: (1401..1404) "\n " FORM: (1404..1417) OPEN_PAREN: (1404..1405) "(" SYMBOL: (1405..1408) IDENTIFIER: (1405..1408) "eq?" ATMOSPHERE: (1408..1409) " " CONSTANT: (1409..1412) - STRING: (1409..1412) ""a"" + STRING: (1409..1412) "\"a\"" ATMOSPHERE: (1412..1413) " " CONSTANT: (1413..1416) - STRING: (1413..1416) ""a"" + STRING: (1413..1416) "\"a\"" CLOSE_PAREN: (1416..1417) ")" ATMOSPHERE: (1417..1418) " " ATMOSPHERE: (1418..1434) "; -> unspecified" - ATMOSPHERE: (1434..1437) " - " + ATMOSPHERE: (1434..1437) "\n " FORM: (1437..1448) OPEN_PAREN: (1437..1438) "(" SYMBOL: (1438..1441) IDENTIFIER: (1438..1441) "eq?" ATMOSPHERE: (1441..1442) " " CONSTANT: (1442..1444) - STRING: (1442..1444) """" + STRING: (1442..1444) "\"\"" ATMOSPHERE: (1444..1445) " " CONSTANT: (1445..1447) - STRING: (1445..1447) """" + STRING: (1445..1447) "\"\"" CLOSE_PAREN: (1447..1448) ")" ATMOSPHERE: (1448..1449) " " ATMOSPHERE: (1449..1465) "; -> unspecified" - ATMOSPHERE: (1465..1468) " - " + ATMOSPHERE: (1465..1468) "\n " FORM: (1468..1481) OPEN_PAREN: (1468..1469) "(" SYMBOL: (1469..1472) @@ -730,8 +678,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1480..1481) ")" ATMOSPHERE: (1481..1482) " " ATMOSPHERE: (1482..1489) "; -> #t" - ATMOSPHERE: (1489..1492) " - " + ATMOSPHERE: (1489..1492) "\n " FORM: (1492..1501) OPEN_PAREN: (1492..1493) "(" SYMBOL: (1493..1496) @@ -745,23 +692,21 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1500..1501) ")" ATMOSPHERE: (1501..1502) " " ATMOSPHERE: (1502..1518) "; -> unspecified" - ATMOSPHERE: (1518..1521) " - " + ATMOSPHERE: (1518..1521) "\n " FORM: (1521..1534) OPEN_PAREN: (1521..1522) "(" SYMBOL: (1522..1525) IDENTIFIER: (1522..1525) "eq?" ATMOSPHERE: (1525..1526) " " CONSTANT: (1526..1529) - CHARACTER: (1526..1529) "#\A" + CHARACTER: (1526..1529) "#\\A" ATMOSPHERE: (1529..1530) " " CONSTANT: (1530..1533) - CHARACTER: (1530..1533) "#\A" + CHARACTER: (1530..1533) "#\\A" CLOSE_PAREN: (1533..1534) ")" ATMOSPHERE: (1534..1535) " " ATMOSPHERE: (1535..1551) "; -> unspecified" - ATMOSPHERE: (1551..1554) " - " + ATMOSPHERE: (1551..1554) "\n " FORM: (1554..1567) OPEN_PAREN: (1554..1555) "(" SYMBOL: (1555..1558) @@ -775,8 +720,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1566..1567) ")" ATMOSPHERE: (1567..1568) " " ATMOSPHERE: (1568..1575) "; -> #t" - ATMOSPHERE: (1575..1578) " - " + ATMOSPHERE: (1575..1578) "\n " FORM: (1578..1608) OPEN_PAREN: (1578..1579) "(" SYMBOL: (1579..1582) @@ -802,8 +746,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1593..1594) ")" CLOSE_PAREN: (1594..1595) ")" CLOSE_PAREN: (1595..1596) ")" - ATMOSPHERE: (1596..1598) " - " + ATMOSPHERE: (1596..1598) "\n\t" FORM: (1598..1607) OPEN_PAREN: (1598..1599) "(" SYMBOL: (1599..1602) @@ -818,8 +761,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1607..1608) ")" ATMOSPHERE: (1608..1609) " " ATMOSPHERE: (1609..1625) "; -> unspecified" - ATMOSPHERE: (1625..1628) " - " + ATMOSPHERE: (1625..1628) "\n " FORM: (1628..1653) OPEN_PAREN: (1628..1629) "(" SYMBOL: (1629..1632) @@ -855,8 +797,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1652..1653) ")" ATMOSPHERE: (1653..1654) " " ATMOSPHERE: (1654..1661) "; -> #t" - ATMOSPHERE: (1661..1664) " - " + ATMOSPHERE: (1661..1664) "\n " FORM: (1664..1689) OPEN_PAREN: (1664..1665) "(" SYMBOL: (1665..1668) @@ -890,8 +831,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1688..1689) ")" ATMOSPHERE: (1689..1690) " " ATMOSPHERE: (1690..1697) "; -> #t" - ATMOSPHERE: (1697..1700) " - " + ATMOSPHERE: (1697..1700) "\n " FORM: (1700..1735) OPEN_PAREN: (1700..1701) "(" SYMBOL: (1701..1704) @@ -934,8 +874,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1734..1735) ")" ATMOSPHERE: (1735..1736) " " ATMOSPHERE: (1736..1743) "; -> #t" - ATMOSPHERE: (1743..1746) " - " + ATMOSPHERE: (1743..1746) "\n " CLOSE_PAREN: (1746..1747) ")" CLOSE_PAREN: (1747..1748) ")" FORM: (1748..1757) @@ -943,27 +882,21 @@ PROGRAM: (0..2277) SYMBOL: (1749..1756) IDENTIFIER: (1749..1756) "newline" CLOSE_PAREN: (1756..1757) ")" - ATMOSPHERE: (1757..1759) " - -" + ATMOSPHERE: (1757..1759) "\n\n" ATMOSPHERE: (1759..1831) ";; The `equals?` predicate should recursively calculate equivalence. For" - ATMOSPHERE: (1831..1832) " -" + ATMOSPHERE: (1831..1832) "\n" ATMOSPHERE: (1832..1887) ";; our implementation this is close to `object.Equals`." - ATMOSPHERE: (1887..1888) " -" + ATMOSPHERE: (1887..1888) "\n" FORM: (1888..2267) OPEN_PAREN: (1888..1889) "(" SYMBOL: (1889..1896) IDENTIFIER: (1889..1896) "display" - ATMOSPHERE: (1896..1898) " - " + ATMOSPHERE: (1896..1898) "\n " FORM: (1898..2266) OPEN_PAREN: (1898..1899) "(" SYMBOL: (1899..1903) IDENTIFIER: (1899..1903) "list" - ATMOSPHERE: (1903..1906) " - " + ATMOSPHERE: (1903..1906) "\n " FORM: (1906..1920) OPEN_PAREN: (1906..1907) "(" SYMBOL: (1907..1913) @@ -981,8 +914,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1919..1920) ")" ATMOSPHERE: (1920..1921) " " ATMOSPHERE: (1921..1928) "; -> #t" - ATMOSPHERE: (1928..1931) " - " + ATMOSPHERE: (1928..1931) "\n " FORM: (1931..1949) OPEN_PAREN: (1931..1932) "(" SYMBOL: (1932..1938) @@ -1006,8 +938,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1948..1949) ")" ATMOSPHERE: (1949..1950) " " ATMOSPHERE: (1950..1957) "; -> #t" - ATMOSPHERE: (1957..1960) " - " + ATMOSPHERE: (1957..1960) "\n " FORM: (1960..1989) OPEN_PAREN: (1960..1961) "(" SYMBOL: (1961..1967) @@ -1048,23 +979,21 @@ PROGRAM: (0..2277) CLOSE_PAREN: (1988..1989) ")" ATMOSPHERE: (1989..1990) " " ATMOSPHERE: (1990..1997) "; -> #t" - ATMOSPHERE: (1997..2000) " - " + ATMOSPHERE: (1997..2000) "\n " FORM: (2000..2020) OPEN_PAREN: (2000..2001) "(" SYMBOL: (2001..2007) IDENTIFIER: (2001..2007) "equal?" ATMOSPHERE: (2007..2008) " " CONSTANT: (2008..2013) - STRING: (2008..2013) ""abc"" + STRING: (2008..2013) "\"abc\"" ATMOSPHERE: (2013..2014) " " CONSTANT: (2014..2019) - STRING: (2014..2019) ""abc"" + STRING: (2014..2019) "\"abc\"" CLOSE_PAREN: (2019..2020) ")" ATMOSPHERE: (2020..2021) " " ATMOSPHERE: (2021..2028) "; -> #t" - ATMOSPHERE: (2028..2031) " - " + ATMOSPHERE: (2028..2031) "\n " FORM: (2031..2043) OPEN_PAREN: (2031..2032) "(" SYMBOL: (2032..2038) @@ -1078,8 +1007,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (2042..2043) ")" ATMOSPHERE: (2043..2044) " " ATMOSPHERE: (2044..2051) "; -> #t" - ATMOSPHERE: (2051..2054) " - " + ATMOSPHERE: (2051..2054) "\n " FORM: (2054..2099) OPEN_PAREN: (2054..2055) "(" SYMBOL: (2055..2061) @@ -1114,14 +1042,11 @@ PROGRAM: (0..2277) CLOSE_PAREN: (2098..2099) ")" ATMOSPHERE: (2099..2100) " " ATMOSPHERE: (2100..2107) "; -> #t" - ATMOSPHERE: (2107..2110) " - " + ATMOSPHERE: (2107..2110) "\n " ATMOSPHERE: (2110..2149) "; We don't support quote references yet" - ATMOSPHERE: (2149..2152) " - " + ATMOSPHERE: (2149..2152) "\n " ATMOSPHERE: (2152..2205) "; (equal? ’#1=(a b . #1#)’#2=(a b a b . #2#)) ; -> #t" - ATMOSPHERE: (2205..2208) " - " + ATMOSPHERE: (2205..2208) "\n " FORM: (2208..2245) OPEN_PAREN: (2208..2209) "(" SYMBOL: (2209..2215) @@ -1158,8 +1083,7 @@ PROGRAM: (0..2277) CLOSE_PAREN: (2244..2245) ")" ATMOSPHERE: (2245..2246) " " ATMOSPHERE: (2246..2262) "; -> unspecified" - ATMOSPHERE: (2262..2265) " - " + ATMOSPHERE: (2262..2265) "\n " CLOSE_PAREN: (2265..2266) ")" CLOSE_PAREN: (2266..2267) ")" FORM: (2267..2276) @@ -1167,6 +1091,5 @@ PROGRAM: (0..2277) SYMBOL: (2268..2275) IDENTIFIER: (2268..2275) "newline" CLOSE_PAREN: (2275..2276) ")" - ATMOSPHERE: (2276..2277) " -" + ATMOSPHERE: (2276..2277) "\n" EOF: (2277..2277) "" diff --git a/spec/eratosthenes.ast b/spec/eratosthenes.ast index 51db531..412d051 100644 --- a/spec/eratosthenes.ast +++ b/spec/eratosthenes.ast @@ -12,8 +12,7 @@ PROGRAM: (0..1136) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,14 +22,11 @@ PROGRAM: (0..1136) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" ATMOSPHERE: (42..88) ";; Implementation of the Sieve of Eratosthenes" - ATMOSPHERE: (88..89) " -" + ATMOSPHERE: (88..89) "\n" ATMOSPHERE: (89..143) ";; https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes" - ATMOSPHERE: (143..144) " -" + ATMOSPHERE: (143..144) "\n" FORM: (144..1030) OPEN_PAREN: (144..145) "(" SYMBOL: (145..151) @@ -44,11 +40,9 @@ PROGRAM: (0..1136) SYMBOL: (166..167) IDENTIFIER: (166..167) "n" CLOSE_PAREN: (167..168) ")" - ATMOSPHERE: (168..173) " - " + ATMOSPHERE: (168..173) "\n " ATMOSPHERE: (173..223) ";; Mark multiples of the given prime in the vector" - ATMOSPHERE: (223..228) " - " + ATMOSPHERE: (223..228) "\n " FORM: (228..552) OPEN_PAREN: (228..229) "(" SYMBOL: (229..235) @@ -65,8 +59,7 @@ PROGRAM: (0..1136) SYMBOL: (254..260) IDENTIFIER: (254..260) "marked" CLOSE_PAREN: (260..261) ")" - ATMOSPHERE: (261..270) " - " + ATMOSPHERE: (261..270) "\n " FORM: (270..506) OPEN_PAREN: (270..271) "(" SYMBOL: (271..277) @@ -86,8 +79,7 @@ PROGRAM: (0..1136) SYMBOL: (301..307) IDENTIFIER: (301..307) "marked" CLOSE_PAREN: (307..308) ")" - ATMOSPHERE: (308..321) " - " + ATMOSPHERE: (308..321) "\n " FORM: (321..505) OPEN_PAREN: (321..322) "(" SYMBOL: (322..324) @@ -110,18 +102,15 @@ PROGRAM: (0..1136) IDENTIFIER: (346..352) "marked" CLOSE_PAREN: (352..353) ")" CLOSE_PAREN: (353..354) ")" - ATMOSPHERE: (354..371) " - " + ATMOSPHERE: (354..371) "\n " SYMBOL: (371..377) IDENTIFIER: (371..377) "marked" - ATMOSPHERE: (377..394) " - " + ATMOSPHERE: (377..394) "\n " FORM: (394..504) OPEN_PAREN: (394..395) "(" SYMBOL: (395..400) IDENTIFIER: (395..400) "begin" - ATMOSPHERE: (400..421) " - " + ATMOSPHERE: (400..421) "\n " FORM: (421..446) OPEN_PAREN: (421..422) "(" SYMBOL: (422..433) @@ -136,8 +125,7 @@ PROGRAM: (0..1136) CONSTANT: (443..445) BOOLEAN: (443..445) "#t" CLOSE_PAREN: (445..446) ")" - ATMOSPHERE: (446..467) " - " + ATMOSPHERE: (446..467) "\n " FORM: (467..503) OPEN_PAREN: (467..468) "(" SYMBOL: (468..485) @@ -164,8 +152,7 @@ PROGRAM: (0..1136) CLOSE_PAREN: (503..504) ")" CLOSE_PAREN: (504..505) ")" CLOSE_PAREN: (505..506) ")" - ATMOSPHERE: (506..515) " - " + ATMOSPHERE: (506..515) "\n " FORM: (515..551) OPEN_PAREN: (515..516) "(" SYMBOL: (516..533) @@ -190,14 +177,11 @@ PROGRAM: (0..1136) IDENTIFIER: (544..550) "marked" CLOSE_PAREN: (550..551) ")" CLOSE_PAREN: (551..552) ")" - ATMOSPHERE: (552..557) " - " + ATMOSPHERE: (552..557) "\n " ATMOSPHERE: (557..613) ";; main prime sieve. Recursively marks multiples of each" - ATMOSPHERE: (613..618) " - " + ATMOSPHERE: (613..618) "\n " ATMOSPHERE: (618..667) ";; prime and builds up a list of them as it goes." - ATMOSPHERE: (667..672) " - " + ATMOSPHERE: (667..672) "\n " FORM: (672..995) OPEN_PAREN: (672..673) "(" SYMBOL: (673..679) @@ -217,8 +201,7 @@ PROGRAM: (0..1136) SYMBOL: (694..700) IDENTIFIER: (694..700) "primes" CLOSE_PAREN: (700..701) ")" - ATMOSPHERE: (701..710) " - " + ATMOSPHERE: (701..710) "\n " FORM: (710..994) OPEN_PAREN: (710..711) "(" SYMBOL: (711..713) @@ -241,15 +224,12 @@ PROGRAM: (0..1136) IDENTIFIER: (735..741) "marked" CLOSE_PAREN: (741..742) ")" CLOSE_PAREN: (742..743) ")" - ATMOSPHERE: (743..756) " - " + ATMOSPHERE: (743..756) "\n " SYMBOL: (756..762) IDENTIFIER: (756..762) "primes" - ATMOSPHERE: (762..775) " - " + ATMOSPHERE: (762..775) "\n " ATMOSPHERE: (775..838) ";; If the item is marked, it is a multiple of some other prime." - ATMOSPHERE: (838..851) " - " + ATMOSPHERE: (838..851) "\n " FORM: (851..993) OPEN_PAREN: (851..852) "(" SYMBOL: (852..854) @@ -266,8 +246,7 @@ PROGRAM: (0..1136) SYMBOL: (874..875) IDENTIFIER: (874..875) "p" CLOSE_PAREN: (875..876) ")" - ATMOSPHERE: (876..893) " - " + ATMOSPHERE: (876..893) "\n " FORM: (893..920) OPEN_PAREN: (893..894) "(" SYMBOL: (894..897) @@ -291,8 +270,7 @@ PROGRAM: (0..1136) SYMBOL: (913..919) IDENTIFIER: (913..919) "primes" CLOSE_PAREN: (919..920) ")" - ATMOSPHERE: (920..937) " - " + ATMOSPHERE: (920..937) "\n " FORM: (937..992) OPEN_PAREN: (937..938) "(" SYMBOL: (938..941) @@ -337,8 +315,7 @@ PROGRAM: (0..1136) CLOSE_PAREN: (992..993) ")" CLOSE_PAREN: (993..994) ")" CLOSE_PAREN: (994..995) ")" - ATMOSPHERE: (995..1000) " - " + ATMOSPHERE: (995..1000) "\n " FORM: (1000..1029) OPEN_PAREN: (1000..1001) "(" SYMBOL: (1001..1004) @@ -364,15 +341,11 @@ PROGRAM: (0..1136) CLOSE_PAREN: (1027..1028) ")" CLOSE_PAREN: (1028..1029) ")" CLOSE_PAREN: (1029..1030) ")" - ATMOSPHERE: (1030..1032) " - -" + ATMOSPHERE: (1030..1032) "\n\n" ATMOSPHERE: (1032..1069) ";; ;; Display the first 10,000 primes" - ATMOSPHERE: (1069..1070) " -" + ATMOSPHERE: (1069..1070) "\n" ATMOSPHERE: (1070..1104) ";; (display (eratosthenes 104730))" - ATMOSPHERE: (1104..1105) " -" + ATMOSPHERE: (1104..1105) "\n" FORM: (1105..1135) OPEN_PAREN: (1105..1106) "(" SYMBOL: (1106..1113) @@ -387,6 +360,5 @@ PROGRAM: (0..1136) NUMBER: (1128..1133) "10000" CLOSE_PAREN: (1133..1134) ")" CLOSE_PAREN: (1134..1135) ")" - ATMOSPHERE: (1135..1136) " -" + ATMOSPHERE: (1135..1136) "\n" EOF: (1136..1136) "" diff --git a/spec/fact.ast b/spec/fact.ast index 3f9e9ba..96357b5 100644 --- a/spec/fact.ast +++ b/spec/fact.ast @@ -12,8 +12,7 @@ PROGRAM: (0..143) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..143) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..115) OPEN_PAREN: (42..43) "(" SYMBOL: (43..49) @@ -38,8 +36,7 @@ PROGRAM: (0..143) SYMBOL: (56..57) IDENTIFIER: (56..57) "n" CLOSE_PAREN: (57..58) ")" - ATMOSPHERE: (58..63) " - " + ATMOSPHERE: (58..63) "\n " FORM: (63..114) OPEN_PAREN: (63..64) "(" SYMBOL: (64..66) @@ -56,12 +53,10 @@ PROGRAM: (0..143) CONSTANT: (72..73) NUMBER: (72..73) "0" CLOSE_PAREN: (73..74) ")" - ATMOSPHERE: (74..83) " - " + ATMOSPHERE: (74..83) "\n " CONSTANT: (83..84) NUMBER: (83..84) "1" - ATMOSPHERE: (84..93) " - " + ATMOSPHERE: (84..93) "\n " FORM: (93..113) OPEN_PAREN: (93..94) "(" SYMBOL: (94..95) @@ -90,9 +85,7 @@ PROGRAM: (0..143) CLOSE_PAREN: (112..113) ")" CLOSE_PAREN: (113..114) ")" CLOSE_PAREN: (114..115) ")" - ATMOSPHERE: (115..117) " - -" + ATMOSPHERE: (115..117) "\n\n" FORM: (117..135) OPEN_PAREN: (117..118) "(" SYMBOL: (118..125) diff --git a/spec/fail/3.ast b/spec/fail/3.ast index 855b51c..fabc65d 100644 --- a/spec/fail/3.ast +++ b/spec/fail/3.ast @@ -1,7 +1,6 @@ PROGRAM: (0..133) ATMOSPHERE: (0..12) "; expectfail" - ATMOSPHERE: (12..13) " -" + ATMOSPHERE: (12..13) "\n" FORM: (13..25) OPEN_PAREN: (13..14) "(" SYMBOL: (14..20) @@ -13,8 +12,7 @@ PROGRAM: (0..133) CONSTANT: (23..24) NUMBER: (23..24) "1" CLOSE_PAREN: (24..25) ")" - ATMOSPHERE: (25..26) " -" + ATMOSPHERE: (25..26) "\n" FORM: (26..133) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +21,7 @@ PROGRAM: (0..133) FORM: (34..36) OPEN_PAREN: (34..35) "(" CLOSE_PAREN: (35..36) ")" - ATMOSPHERE: (36..45) " - " + ATMOSPHERE: (36..45) "\n " FORM: (45..132) OPEN_PAREN: (45..46) "(" SYMBOL: (46..50) @@ -46,8 +43,7 @@ PROGRAM: (0..133) CLOSE_PAREN: (59..60) ")" ATMOSPHERE: (60..61) " " ATMOSPHERE: (61..121) "; note the `)` is on the next line. This `set!` is malformed" - ATMOSPHERE: (121..130) " - " + ATMOSPHERE: (121..130) "\n " SYMBOL: (130..131) IDENTIFIER: (130..131) "n" CLOSE_PAREN: (131..132) ")" diff --git a/spec/fail/bad-imports.ast b/spec/fail/bad-imports.ast index e0e073e..8b34d66 100644 --- a/spec/fail/bad-imports.ast +++ b/spec/fail/bad-imports.ast @@ -19,8 +19,7 @@ PROGRAM: (0..112) IDENTIFIER: (20..27) "library" CLOSE_PAREN: (27..28) ")" CLOSE_PAREN: (28..29) ")" - ATMOSPHERE: (29..30) " -" + ATMOSPHERE: (29..30) "\n" FORM: (30..47) OPEN_PAREN: (30..31) "(" SYMBOL: (31..37) @@ -29,8 +28,7 @@ PROGRAM: (0..112) SYMBOL: (38..46) IDENTIFIER: (38..46) "badthing" CLOSE_PAREN: (46..47) ")" - ATMOSPHERE: (47..48) " -" + ATMOSPHERE: (47..48) "\n" FORM: (48..112) OPEN_PAREN: (48..49) "(" SYMBOL: (49..63) @@ -41,8 +39,7 @@ PROGRAM: (0..112) SYMBOL: (65..69) IDENTIFIER: (65..69) "test" CLOSE_PAREN: (69..70) ")" - ATMOSPHERE: (70..75) " - " + ATMOSPHERE: (70..75) "\n " FORM: (75..111) OPEN_PAREN: (75..76) "(" SYMBOL: (76..82) diff --git a/spec/fail/bad-letrecs.ast b/spec/fail/bad-letrecs.ast index 4274188..72cf9e2 100644 --- a/spec/fail/bad-letrecs.ast +++ b/spec/fail/bad-letrecs.ast @@ -13,9 +13,7 @@ PROGRAM: (0..389) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" CLOSE_PAREN: (21..22) ")" - ATMOSPHERE: (22..24) " - -" + ATMOSPHERE: (22..24) "\n\n" FORM: (24..246) OPEN_PAREN: (24..25) "(" SYMBOL: (25..31) @@ -42,8 +40,7 @@ PROGRAM: (0..389) CLOSE_PAREN: (52..53) ")" ATMOSPHERE: (53..54) " " ATMOSPHERE: (54..104) "; Can't reference second here, it isn't intialised" - ATMOSPHERE: (104..109) " - " + ATMOSPHERE: (104..109) "\n " FORM: (109..123) OPEN_PAREN: (109..110) "(" SYMBOL: (110..116) @@ -55,16 +52,13 @@ PROGRAM: (0..389) CLOSE_PAREN: (123..124) ")" ATMOSPHERE: (124..135) " " ATMOSPHERE: (135..179) "; Can't reference first here, initialisation" - ATMOSPHERE: (179..210) " - " + ATMOSPHERE: (179..210) "\n " ATMOSPHERE: (210..234) "; order isn't specified." - ATMOSPHERE: (234..239) " - " + ATMOSPHERE: (234..239) "\n " SYMBOL: (239..245) IDENTIFIER: (239..245) "second" CLOSE_PAREN: (245..246) ")" - ATMOSPHERE: (246..247) " -" + ATMOSPHERE: (246..247) "\n" FORM: (247..388) OPEN_PAREN: (247..248) "(" SYMBOL: (248..255) @@ -91,8 +85,7 @@ PROGRAM: (0..389) CLOSE_PAREN: (278..279) ")" ATMOSPHERE: (279..280) " " ATMOSPHERE: (280..320) "; Can't referenc second, not initialised" - ATMOSPHERE: (320..325) " - " + ATMOSPHERE: (320..325) "\n " FORM: (325..339) OPEN_PAREN: (325..326) "(" SYMBOL: (326..332) @@ -104,11 +97,9 @@ PROGRAM: (0..389) CLOSE_PAREN: (339..340) ")" ATMOSPHERE: (340..354) " " ATMOSPHERE: (354..376) "; This is actually OK." - ATMOSPHERE: (376..381) " - " + ATMOSPHERE: (376..381) "\n " SYMBOL: (381..387) IDENTIFIER: (381..387) "second" CLOSE_PAREN: (387..388) ")" - ATMOSPHERE: (388..389) " -" + ATMOSPHERE: (388..389) "\n" EOF: (389..389) "" diff --git a/spec/fail/bad-library-names-parsefail.ast b/spec/fail/bad-library-names-parsefail.ast index e8ed191..eb26a2c 100644 --- a/spec/fail/bad-library-names-parsefail.ast +++ b/spec/fail/bad-library-names-parsefail.ast @@ -7,6 +7,5 @@ PROGRAM: (0..19) DOTTED_TAIL: (16..17) DOT: (16..17) "." CLOSE_PAREN: (17..18) ")" - ATMOSPHERE: (18..19) " -" + ATMOSPHERE: (18..19) "\n" EOF: (19..19) "" diff --git a/spec/fail/bad-library-names.ast b/spec/fail/bad-library-names.ast index eb77187..8a8ea3c 100644 --- a/spec/fail/bad-library-names.ast +++ b/spec/fail/bad-library-names.ast @@ -5,10 +5,9 @@ PROGRAM: (0..189) IDENTIFIER: (1..15) "define-library" ATMOSPHERE: (15..16) " " CONSTANT: (16..23) - STRING: (16..23) ""hello"" + STRING: (16..23) "\"hello\"" CLOSE_PAREN: (23..24) ")" - ATMOSPHERE: (24..25) " -" + ATMOSPHERE: (24..25) "\n" FORM: (25..64) OPEN_PAREN: (25..26) "(" SYMBOL: (26..40) @@ -23,8 +22,7 @@ PROGRAM: (0..189) IDENTIFIER: (49..62) "|silly'chars|" CLOSE_PAREN: (62..63) ")" CLOSE_PAREN: (63..64) ")" - ATMOSPHERE: (64..65) " -" + ATMOSPHERE: (64..65) "\n" FORM: (65..91) OPEN_PAREN: (65..66) "(" SYMBOL: (66..80) @@ -41,8 +39,7 @@ PROGRAM: (0..189) IDENTIFIER: (88..89) "t" CLOSE_PAREN: (89..90) ")" CLOSE_PAREN: (90..91) ")" - ATMOSPHERE: (91..92) " -" + ATMOSPHERE: (91..92) "\n" FORM: (92..124) OPEN_PAREN: (92..93) "(" SYMBOL: (93..107) @@ -60,8 +57,7 @@ PROGRAM: (0..189) IDENTIFIER: (120..122) "me" CLOSE_PAREN: (122..123) ")" CLOSE_PAREN: (123..124) ")" - ATMOSPHERE: (124..125) " -" + ATMOSPHERE: (124..125) "\n" FORM: (125..188) OPEN_PAREN: (125..126) "(" SYMBOL: (126..140) @@ -75,8 +71,7 @@ PROGRAM: (0..189) SYMBOL: (150..156) IDENTIFIER: (150..156) "export" CLOSE_PAREN: (156..157) ")" - ATMOSPHERE: (157..162) " - " + ATMOSPHERE: (157..162) "\n " FORM: (162..187) OPEN_PAREN: (162..163) "(" SYMBOL: (163..169) @@ -92,6 +87,5 @@ PROGRAM: (0..189) IDENTIFIER: (181..186) "exist" CLOSE_PAREN: (186..187) ")" CLOSE_PAREN: (187..188) ")" - ATMOSPHERE: (188..189) " -" + ATMOSPHERE: (188..189) "\n" EOF: (189..189) "" diff --git a/spec/fail/bad-strings-and-idents.ast b/spec/fail/bad-strings-and-idents.ast index cac6bec..bd82eb6 100644 --- a/spec/fail/bad-strings-and-idents.ast +++ b/spec/fail/bad-strings-and-idents.ast @@ -1,37 +1,27 @@ PROGRAM: (0..193) ATMOSPHERE: (0..76) ";; FIXME: Almost none of these generate parser errors any more. We should be" - ATMOSPHERE: (76..77) " -" + ATMOSPHERE: (76..77) "\n" ATMOSPHERE: (77..141) ";; more strict about what we accept as strings or idents." - ATMOSPHERE: (141..143) " - -" + ATMOSPHERE: (141..143) "\n\n" CONSTANT: (143..148) - STRING: (143..148) ""\x;"" - ATMOSPHERE: (148..149) " -" + STRING: (143..148) "\"\\x;\"" + ATMOSPHERE: (148..149) "\n" CONSTANT: (149..155) - STRING: (149..155) ""\x20"" - ATMOSPHERE: (155..156) " -" + STRING: (149..155) "\"\\x20\"" + ATMOSPHERE: (155..156) "\n" CONSTANT: (156..171) - STRING: (156..171) ""\x10000;\" -'|"" - ATMOSPHERE: (171..172) " -" + STRING: (156..171) "\"\\x10000;\\\"\n'|\"" + ATMOSPHERE: (171..172) "\n" CONSTANT: (172..180) - CHARACTER: (172..180) "#\x12345" - ATMOSPHERE: (180..181) " -" + CHARACTER: (172..180) "#\\x12345" + ATMOSPHERE: (180..181) "\n" QUOTED_DATUM: (181..188) QUOTE: (181..182) "'" SYMBOL: (182..187) - IDENTIFIER: (182..187) "|\x;|" - ATMOSPHERE: (187..188) " -" + IDENTIFIER: (182..187) "|\\x;|" + ATMOSPHERE: (187..188) "\n" QUOTED_DATUM: (188..193) QUOTE: (188..189) "'" CONSTANT: (189..193) - ERROR: (189..193) "|\x -" + ERROR: (189..193) "|\\x\n" EOF: (193..193) "" diff --git a/spec/fail/macrofails.ast b/spec/fail/macrofails.ast index 4b81412..9c48fc8 100644 --- a/spec/fail/macrofails.ast +++ b/spec/fail/macrofails.ast @@ -13,8 +13,7 @@ PROGRAM: (0..426) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" CLOSE_PAREN: (21..22) ")" - ATMOSPHERE: (22..23) " -" + ATMOSPHERE: (22..23) "\n" FORM: (23..147) OPEN_PAREN: (23..24) "(" SYMBOL: (24..37) @@ -22,8 +21,7 @@ PROGRAM: (0..426) ATMOSPHERE: (37..38) " " SYMBOL: (38..48) IDENTIFIER: (38..48) "test-macro" - ATMOSPHERE: (48..53) " - " + ATMOSPHERE: (48..53) "\n " FORM: (53..146) OPEN_PAREN: (53..54) "(" SYMBOL: (54..66) @@ -37,8 +35,7 @@ PROGRAM: (0..426) SYMBOL: (72..76) IDENTIFIER: (72..76) "test" CLOSE_PAREN: (76..77) ")" - ATMOSPHERE: (77..86) " - " + ATMOSPHERE: (77..86) "\n " FORM: (86..97) OPEN_PAREN: (86..87) "(" FORM: (87..90) @@ -52,8 +49,7 @@ PROGRAM: (0..426) SYMBOL: (92..96) IDENTIFIER: (92..96) "nowt" CLOSE_PAREN: (96..97) ")" - ATMOSPHERE: (97..106) " - " + ATMOSPHERE: (97..106) "\n " FORM: (106..145) OPEN_PAREN: (106..107) "(" FORM: (107..126) @@ -85,16 +81,13 @@ PROGRAM: (0..426) CLOSE_PAREN: (144..145) ")" CLOSE_PAREN: (145..146) ")" CLOSE_PAREN: (146..147) ")" - ATMOSPHERE: (147..149) " - -" + ATMOSPHERE: (147..149) "\n\n" FORM: (149..161) OPEN_PAREN: (149..150) "(" SYMBOL: (150..160) IDENTIFIER: (150..160) "test-macro" CLOSE_PAREN: (160..161) ")" - ATMOSPHERE: (161..162) " -" + ATMOSPHERE: (161..162) "\n" FORM: (162..185) OPEN_PAREN: (162..163) "(" SYMBOL: (163..173) @@ -112,8 +105,7 @@ PROGRAM: (0..426) CONSTANT: (183..184) NUMBER: (183..184) "3" CLOSE_PAREN: (184..185) ")" - ATMOSPHERE: (185..186) " -" + ATMOSPHERE: (185..186) "\n" FORM: (186..212) OPEN_PAREN: (186..187) "(" SYMBOL: (187..197) @@ -128,15 +120,12 @@ PROGRAM: (0..426) SYMBOL: (208..211) IDENTIFIER: (208..211) "one" CLOSE_PAREN: (211..212) ")" - ATMOSPHERE: (212..214) " - -" + ATMOSPHERE: (212..214) "\n\n" FORM: (214..426) OPEN_PAREN: (214..215) "(" SYMBOL: (215..225) IDENTIFIER: (215..225) "let-syntax" - ATMOSPHERE: (225..230) " - " + ATMOSPHERE: (225..230) "\n " FORM: (230..405) OPEN_PAREN: (230..231) "(" FORM: (231..404) @@ -152,8 +141,7 @@ PROGRAM: (0..426) FORM: (254..256) OPEN_PAREN: (254..255) "(" CLOSE_PAREN: (255..256) ")" - ATMOSPHERE: (256..265) " - " + ATMOSPHERE: (256..265) "\n " FORM: (265..285) OPEN_PAREN: (265..266) "(" FORM: (266..275) @@ -179,14 +167,11 @@ PROGRAM: (0..426) IDENTIFIER: (280..283) "..." CLOSE_PAREN: (283..284) ")" CLOSE_PAREN: (284..285) ")" - ATMOSPHERE: (285..294) " - " + ATMOSPHERE: (285..294) "\n " ATMOSPHERE: (294..327) "; we expect a diagnostic for both" - ATMOSPHERE: (327..336) " - " + ATMOSPHERE: (327..336) "\n " ATMOSPHERE: (336..366) "; these malformed dotted forms" - ATMOSPHERE: (366..375) " - " + ATMOSPHERE: (366..375) "\n " FORM: (375..393) OPEN_PAREN: (375..376) "(" FORM: (376..381) @@ -204,16 +189,14 @@ PROGRAM: (0..426) DOT: (383..384) "." ATMOSPHERE: (384..385) " " CONSTANT: (385..391) - STRING: (385..391) ""test"" + STRING: (385..391) "\"test\"" CLOSE_PAREN: (391..392) ")" CLOSE_PAREN: (392..393) ")" - ATMOSPHERE: (393..402) " - " + ATMOSPHERE: (393..402) "\n " CLOSE_PAREN: (402..403) ")" CLOSE_PAREN: (403..404) ")" CLOSE_PAREN: (404..405) ")" - ATMOSPHERE: (405..410) " - " + ATMOSPHERE: (405..410) "\n " FORM: (410..425) OPEN_PAREN: (410..411) "(" SYMBOL: (411..418) diff --git a/spec/fib.ast b/spec/fib.ast index 97841b3..9d20e7f 100644 --- a/spec/fib.ast +++ b/spec/fib.ast @@ -12,8 +12,7 @@ PROGRAM: (0..267) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,16 +22,11 @@ PROGRAM: (0..267) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" ATMOSPHERE: (43..56) "; 1 1 2 3 5 8" - ATMOSPHERE: (56..57) " -" + ATMOSPHERE: (56..57) "\n" ATMOSPHERE: (57..70) "; 1 2 3 4 5 6" - ATMOSPHERE: (70..72) " - -" + ATMOSPHERE: (70..72) "\n\n" FORM: (72..236) OPEN_PAREN: (72..73) "(" SYMBOL: (73..79) @@ -46,8 +40,7 @@ PROGRAM: (0..267) SYMBOL: (85..86) IDENTIFIER: (85..86) "n" CLOSE_PAREN: (86..87) ")" - ATMOSPHERE: (87..92) " - " + ATMOSPHERE: (87..92) "\n " FORM: (92..212) OPEN_PAREN: (92..93) "(" SYMBOL: (93..99) @@ -67,8 +60,7 @@ PROGRAM: (0..267) SYMBOL: (119..122) IDENTIFIER: (119..122) "cur" CLOSE_PAREN: (122..123) ")" - ATMOSPHERE: (123..132) " - " + ATMOSPHERE: (123..132) "\n " FORM: (132..211) OPEN_PAREN: (132..133) "(" SYMBOL: (133..135) @@ -85,12 +77,10 @@ PROGRAM: (0..267) CONSTANT: (142..143) NUMBER: (142..143) "2" CLOSE_PAREN: (143..144) ")" - ATMOSPHERE: (144..157) " - " + ATMOSPHERE: (144..157) "\n " SYMBOL: (157..160) IDENTIFIER: (157..160) "cur" - ATMOSPHERE: (160..173) " - " + ATMOSPHERE: (160..173) "\n " FORM: (173..210) OPEN_PAREN: (173..174) "(" SYMBOL: (174..184) @@ -125,8 +115,7 @@ PROGRAM: (0..267) CLOSE_PAREN: (209..210) ")" CLOSE_PAREN: (210..211) ")" CLOSE_PAREN: (211..212) ")" - ATMOSPHERE: (212..217) " - " + ATMOSPHERE: (212..217) "\n " FORM: (217..235) OPEN_PAREN: (217..218) "(" SYMBOL: (218..228) @@ -142,10 +131,7 @@ PROGRAM: (0..267) NUMBER: (233..234) "1" CLOSE_PAREN: (234..235) ")" CLOSE_PAREN: (235..236) ")" - ATMOSPHERE: (236..239) " - - -" + ATMOSPHERE: (236..239) "\n\n\n" FORM: (239..257) OPEN_PAREN: (239..240) "(" SYMBOL: (240..247) @@ -165,6 +151,5 @@ PROGRAM: (0..267) SYMBOL: (258..265) IDENTIFIER: (258..265) "newline" CLOSE_PAREN: (265..266) ")" - ATMOSPHERE: (266..267) " -" + ATMOSPHERE: (266..267) "\n" EOF: (267..267) "" diff --git a/spec/gcd.ast b/spec/gcd.ast index e773b84..fcd90f3 100644 --- a/spec/gcd.ast +++ b/spec/gcd.ast @@ -12,8 +12,7 @@ PROGRAM: (0..449) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,9 +22,7 @@ PROGRAM: (0..449) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..106) OPEN_PAREN: (43..44) "(" SYMBOL: (44..50) @@ -42,8 +39,7 @@ PROGRAM: (0..449) SYMBOL: (58..59) IDENTIFIER: (58..59) "b" CLOSE_PAREN: (59..60) ")" - ATMOSPHERE: (60..63) " - " + ATMOSPHERE: (60..63) "\n " FORM: (63..105) OPEN_PAREN: (63..64) "(" SYMBOL: (64..66) @@ -60,12 +56,10 @@ PROGRAM: (0..449) SYMBOL: (72..73) IDENTIFIER: (72..73) "b" CLOSE_PAREN: (73..74) ")" - ATMOSPHERE: (74..81) " - " + ATMOSPHERE: (74..81) "\n " SYMBOL: (81..82) IDENTIFIER: (81..82) "a" - ATMOSPHERE: (82..89) " - " + ATMOSPHERE: (82..89) "\n " FORM: (89..104) OPEN_PAREN: (89..90) "(" SYMBOL: (90..93) @@ -88,9 +82,7 @@ PROGRAM: (0..449) CLOSE_PAREN: (103..104) ")" CLOSE_PAREN: (104..105) ")" CLOSE_PAREN: (105..106) ")" - ATMOSPHERE: (106..108) " - -" + ATMOSPHERE: (106..108) "\n\n" FORM: (108..173) OPEN_PAREN: (108..109) "(" SYMBOL: (109..115) @@ -107,8 +99,7 @@ PROGRAM: (0..449) SYMBOL: (123..124) IDENTIFIER: (123..124) "b" CLOSE_PAREN: (124..125) ")" - ATMOSPHERE: (125..128) " - " + ATMOSPHERE: (125..128) "\n " FORM: (128..172) OPEN_PAREN: (128..129) "(" SYMBOL: (129..131) @@ -125,12 +116,10 @@ PROGRAM: (0..449) CONSTANT: (137..138) NUMBER: (137..138) "0" CLOSE_PAREN: (138..139) ")" - ATMOSPHERE: (139..146) " - " + ATMOSPHERE: (139..146) "\n " SYMBOL: (146..147) IDENTIFIER: (146..147) "a" - ATMOSPHERE: (147..154) " - " + ATMOSPHERE: (147..154) "\n " FORM: (154..171) OPEN_PAREN: (154..155) "(" SYMBOL: (155..158) @@ -153,9 +142,7 @@ PROGRAM: (0..449) CLOSE_PAREN: (170..171) ")" CLOSE_PAREN: (171..172) ")" CLOSE_PAREN: (172..173) ")" - ATMOSPHERE: (173..175) " - -" + ATMOSPHERE: (173..175) "\n\n" FORM: (175..195) OPEN_PAREN: (175..176) "(" SYMBOL: (176..183) @@ -178,8 +165,7 @@ PROGRAM: (0..449) SYMBOL: (196..203) IDENTIFIER: (196..203) "newline" CLOSE_PAREN: (203..204) ")" - ATMOSPHERE: (204..205) " -" + ATMOSPHERE: (204..205) "\n" FORM: (205..226) OPEN_PAREN: (205..206) "(" SYMBOL: (206..213) @@ -202,8 +188,7 @@ PROGRAM: (0..449) SYMBOL: (227..234) IDENTIFIER: (227..234) "newline" CLOSE_PAREN: (234..235) ")" - ATMOSPHERE: (235..236) " -" + ATMOSPHERE: (235..236) "\n" FORM: (236..265) OPEN_PAREN: (236..237) "(" SYMBOL: (237..244) @@ -226,8 +211,7 @@ PROGRAM: (0..449) SYMBOL: (266..273) IDENTIFIER: (266..273) "newline" CLOSE_PAREN: (273..274) ")" - ATMOSPHERE: (274..275) " -" + ATMOSPHERE: (274..275) "\n" FORM: (275..308) OPEN_PAREN: (275..276) "(" SYMBOL: (276..283) @@ -250,8 +234,7 @@ PROGRAM: (0..449) SYMBOL: (309..316) IDENTIFIER: (309..316) "newline" CLOSE_PAREN: (316..317) ")" - ATMOSPHERE: (317..318) " -" + ATMOSPHERE: (317..318) "\n" FORM: (318..351) OPEN_PAREN: (318..319) "(" SYMBOL: (319..326) @@ -274,8 +257,7 @@ PROGRAM: (0..449) SYMBOL: (352..359) IDENTIFIER: (352..359) "newline" CLOSE_PAREN: (359..360) ")" - ATMOSPHERE: (360..361) " -" + ATMOSPHERE: (360..361) "\n" FORM: (361..381) OPEN_PAREN: (361..362) "(" SYMBOL: (362..369) @@ -298,8 +280,7 @@ PROGRAM: (0..449) SYMBOL: (382..389) IDENTIFIER: (382..389) "newline" CLOSE_PAREN: (389..390) ")" - ATMOSPHERE: (390..391) " -" + ATMOSPHERE: (390..391) "\n" FORM: (391..410) OPEN_PAREN: (391..392) "(" SYMBOL: (392..399) @@ -322,8 +303,7 @@ PROGRAM: (0..449) SYMBOL: (411..418) IDENTIFIER: (411..418) "newline" CLOSE_PAREN: (418..419) ")" - ATMOSPHERE: (419..420) " -" + ATMOSPHERE: (419..420) "\n" FORM: (420..439) OPEN_PAREN: (420..421) "(" SYMBOL: (421..428) @@ -346,6 +326,5 @@ PROGRAM: (0..449) SYMBOL: (440..447) IDENTIFIER: (440..447) "newline" CLOSE_PAREN: (447..448) ")" - ATMOSPHERE: (448..449) " -" + ATMOSPHERE: (448..449) "\n" EOF: (449..449) "" diff --git a/spec/greatest_diff.ast b/spec/greatest_diff.ast index d7ac15c..f4967de 100644 --- a/spec/greatest_diff.ast +++ b/spec/greatest_diff.ast @@ -12,8 +12,7 @@ PROGRAM: (0..836) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,9 +22,7 @@ PROGRAM: (0..836) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..82) OPEN_PAREN: (43..44) "(" SYMBOL: (44..50) @@ -42,8 +39,7 @@ PROGRAM: (0..836) SYMBOL: (58..59) IDENTIFIER: (58..59) "y" CLOSE_PAREN: (59..60) ")" - ATMOSPHERE: (60..65) " - " + ATMOSPHERE: (60..65) "\n " FORM: (65..81) OPEN_PAREN: (65..66) "(" SYMBOL: (66..68) @@ -68,8 +64,7 @@ PROGRAM: (0..836) IDENTIFIER: (79..80) "y" CLOSE_PAREN: (80..81) ")" CLOSE_PAREN: (81..82) ")" - ATMOSPHERE: (82..83) " -" + ATMOSPHERE: (82..83) "\n" FORM: (83..122) OPEN_PAREN: (83..84) "(" SYMBOL: (84..90) @@ -86,8 +81,7 @@ PROGRAM: (0..836) SYMBOL: (98..99) IDENTIFIER: (98..99) "y" CLOSE_PAREN: (99..100) ")" - ATMOSPHERE: (100..105) " - " + ATMOSPHERE: (100..105) "\n " FORM: (105..121) OPEN_PAREN: (105..106) "(" SYMBOL: (106..108) @@ -112,12 +106,9 @@ PROGRAM: (0..836) IDENTIFIER: (119..120) "y" CLOSE_PAREN: (120..121) ")" CLOSE_PAREN: (121..122) ")" - ATMOSPHERE: (122..124) " - -" + ATMOSPHERE: (122..124) "\n\n" ATMOSPHERE: (124..171) ";; Computes the greatest consecutive difference" - ATMOSPHERE: (171..172) " -" + ATMOSPHERE: (171..172) "\n" FORM: (172..566) OPEN_PAREN: (172..173) "(" SYMBOL: (173..179) @@ -131,8 +122,7 @@ PROGRAM: (0..836) SYMBOL: (195..199) IDENTIFIER: (195..199) "nums" CLOSE_PAREN: (199..200) ")" - ATMOSPHERE: (200..205) " - " + ATMOSPHERE: (200..205) "\n " FORM: (205..523) OPEN_PAREN: (205..206) "(" SYMBOL: (206..212) @@ -152,8 +142,7 @@ PROGRAM: (0..836) SYMBOL: (244..247) IDENTIFIER: (244..247) "ret" CLOSE_PAREN: (247..248) ")" - ATMOSPHERE: (248..257) " - " + ATMOSPHERE: (248..257) "\n " FORM: (257..522) OPEN_PAREN: (257..258) "(" SYMBOL: (258..260) @@ -167,12 +156,10 @@ PROGRAM: (0..836) SYMBOL: (268..272) IDENTIFIER: (268..272) "nums" CLOSE_PAREN: (272..273) ")" - ATMOSPHERE: (273..286) " - " + ATMOSPHERE: (273..286) "\n " SYMBOL: (286..289) IDENTIFIER: (286..289) "ret" - ATMOSPHERE: (289..302) " - " + ATMOSPHERE: (289..302) "\n " FORM: (302..521) OPEN_PAREN: (302..303) "(" SYMBOL: (303..307) @@ -194,8 +181,7 @@ PROGRAM: (0..836) IDENTIFIER: (319..323) "nums" CLOSE_PAREN: (323..324) ")" CLOSE_PAREN: (324..325) ")" - ATMOSPHERE: (325..342) " - " + ATMOSPHERE: (325..342) "\n " FORM: (342..359) OPEN_PAREN: (342..343) "(" SYMBOL: (343..347) @@ -210,8 +196,7 @@ PROGRAM: (0..836) IDENTIFIER: (353..357) "nums" CLOSE_PAREN: (357..358) ")" CLOSE_PAREN: (358..359) ")" - ATMOSPHERE: (359..376) " - " + ATMOSPHERE: (359..376) "\n " FORM: (376..394) OPEN_PAREN: (376..377) "(" SYMBOL: (377..381) @@ -229,8 +214,7 @@ PROGRAM: (0..836) IDENTIFIER: (389..392) "low" CLOSE_PAREN: (392..393) ")" CLOSE_PAREN: (393..394) ")" - ATMOSPHERE: (394..411) " - " + ATMOSPHERE: (394..411) "\n " FORM: (411..430) OPEN_PAREN: (411..412) "(" SYMBOL: (412..415) @@ -248,8 +232,7 @@ PROGRAM: (0..836) IDENTIFIER: (425..428) "cur" CLOSE_PAREN: (428..429) ")" CLOSE_PAREN: (429..430) ")" - ATMOSPHERE: (430..447) " - " + ATMOSPHERE: (430..447) "\n " FORM: (447..467) OPEN_PAREN: (447..448) "(" SYMBOL: (448..451) @@ -268,8 +251,7 @@ PROGRAM: (0..836) CLOSE_PAREN: (465..466) ")" CLOSE_PAREN: (466..467) ")" CLOSE_PAREN: (467..468) ")" - ATMOSPHERE: (468..485) " - " + ATMOSPHERE: (468..485) "\n " FORM: (485..520) OPEN_PAREN: (485..486) "(" SYMBOL: (486..506) @@ -287,8 +269,7 @@ PROGRAM: (0..836) CLOSE_PAREN: (520..521) ")" CLOSE_PAREN: (521..522) ")" CLOSE_PAREN: (522..523) ")" - ATMOSPHERE: (523..528) " - " + ATMOSPHERE: (523..528) "\n " FORM: (528..565) OPEN_PAREN: (528..529) "(" SYMBOL: (529..549) @@ -304,10 +285,7 @@ PROGRAM: (0..836) NUMBER: (562..564) "-1" CLOSE_PAREN: (564..565) ")" CLOSE_PAREN: (565..566) ")" - ATMOSPHERE: (566..569) " - - -" + ATMOSPHERE: (566..569) "\n\n\n" FORM: (569..611) OPEN_PAREN: (569..570) "(" SYMBOL: (570..577) @@ -347,8 +325,7 @@ PROGRAM: (0..836) CLOSE_PAREN: (619..620) ")" ATMOSPHERE: (620..622) " " ATMOSPHERE: (622..634) "; -> 4 (1 5)" - ATMOSPHERE: (634..635) " -" + ATMOSPHERE: (634..635) "\n" FORM: (635..675) OPEN_PAREN: (635..636) "(" SYMBOL: (636..643) @@ -385,8 +362,7 @@ PROGRAM: (0..836) CLOSE_PAREN: (683..684) ")" ATMOSPHERE: (684..688) " " ATMOSPHERE: (688..700) "; -> 4 (1 5)" - ATMOSPHERE: (700..701) " -" + ATMOSPHERE: (700..701) "\n" FORM: (701..741) OPEN_PAREN: (701..702) "(" SYMBOL: (702..709) @@ -423,8 +399,7 @@ PROGRAM: (0..836) CLOSE_PAREN: (749..750) ")" ATMOSPHERE: (750..754) " " ATMOSPHERE: (754..768) "; -> -1 (none)" - ATMOSPHERE: (768..769) " -" + ATMOSPHERE: (768..769) "\n" FORM: (769..810) OPEN_PAREN: (769..770) "(" SYMBOL: (770..777) @@ -461,6 +436,5 @@ PROGRAM: (0..836) CLOSE_PAREN: (818..819) ")" ATMOSPHERE: (819..822) " " ATMOSPHERE: (822..835) "; -> 9 (1 10)" - ATMOSPHERE: (835..836) " -" + ATMOSPHERE: (835..836) "\n" EOF: (836..836) "" diff --git a/spec/hello.ast b/spec/hello.ast index 0ed5c7b..d2a9a90 100644 --- a/spec/hello.ast +++ b/spec/hello.ast @@ -13,14 +13,13 @@ PROGRAM: (0..46) IDENTIFIER: (16..21) "write" CLOSE_PAREN: (21..22) ")" CLOSE_PAREN: (22..23) ")" - ATMOSPHERE: (23..24) " -" + ATMOSPHERE: (23..24) "\n" FORM: (24..46) OPEN_PAREN: (24..25) "(" SYMBOL: (25..32) IDENTIFIER: (25..32) "display" ATMOSPHERE: (32..33) " " CONSTANT: (33..45) - STRING: (33..45) ""helloworld"" + STRING: (33..45) "\"helloworld\"" CLOSE_PAREN: (45..46) ")" EOF: (46..46) "" diff --git a/spec/importtest.ast b/spec/importtest.ast index 7572391..bdaa9d8 100644 --- a/spec/importtest.ast +++ b/spec/importtest.ast @@ -1,7 +1,6 @@ PROGRAM: (0..107) ATMOSPHERE: (0..29) "; !depends: display-utils.sld" - ATMOSPHERE: (29..30) " -" + ATMOSPHERE: (29..30) "\n" FORM: (30..61) OPEN_PAREN: (30..31) "(" SYMBOL: (31..37) @@ -16,8 +15,7 @@ PROGRAM: (0..107) IDENTIFIER: (47..59) "displayutils" CLOSE_PAREN: (59..60) ")" CLOSE_PAREN: (60..61) ")" - ATMOSPHERE: (61..62) " -" + ATMOSPHERE: (61..62) "\n" FORM: (62..107) OPEN_PAREN: (62..63) "(" SYMBOL: (63..74) @@ -28,13 +26,13 @@ PROGRAM: (0..107) FORM: (76..106) OPEN_PAREN: (76..77) "(" CONSTANT: (77..86) - STRING: (77..86) ""library"" + STRING: (77..86) "\"library\"" ATMOSPHERE: (86..87) " " CONSTANT: (87..98) - STRING: (87..98) ""reference"" + STRING: (87..98) "\"reference\"" ATMOSPHERE: (98..99) " " CONSTANT: (99..105) - STRING: (99..105) ""test"" + STRING: (99..105) "\"test\"" CLOSE_PAREN: (105..106) ")" CLOSE_PAREN: (106..107) ")" EOF: (107..107) "" diff --git a/spec/issue-4.ast b/spec/issue-4.ast index 9b21aec..1715fc6 100644 --- a/spec/issue-4.ast +++ b/spec/issue-4.ast @@ -12,8 +12,7 @@ PROGRAM: (0..328) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..328) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..118) OPEN_PAREN: (42..43) "(" SYMBOL: (43..49) @@ -38,8 +36,7 @@ PROGRAM: (0..328) SYMBOL: (64..65) IDENTIFIER: (64..65) "n" CLOSE_PAREN: (65..66) ")" - ATMOSPHERE: (66..71) " - " + ATMOSPHERE: (66..71) "\n " FORM: (71..117) OPEN_PAREN: (71..72) "(" SYMBOL: (72..78) @@ -48,8 +45,7 @@ PROGRAM: (0..328) FORM: (79..81) OPEN_PAREN: (79..80) "(" CLOSE_PAREN: (80..81) ")" - ATMOSPHERE: (81..90) " - " + ATMOSPHERE: (81..90) "\n " FORM: (90..106) OPEN_PAREN: (90..91) "(" SYMBOL: (91..95) @@ -70,14 +66,12 @@ PROGRAM: (0..328) IDENTIFIER: (103..104) "n" CLOSE_PAREN: (104..105) ")" CLOSE_PAREN: (105..106) ")" - ATMOSPHERE: (106..115) " - " + ATMOSPHERE: (106..115) "\n " SYMBOL: (115..116) IDENTIFIER: (115..116) "n" CLOSE_PAREN: (116..117) ")" CLOSE_PAREN: (117..118) ")" - ATMOSPHERE: (118..119) " -" + ATMOSPHERE: (118..119) "\n" FORM: (119..154) OPEN_PAREN: (119..120) "(" SYMBOL: (120..126) @@ -95,8 +89,7 @@ PROGRAM: (0..328) NUMBER: (150..152) "10" CLOSE_PAREN: (152..153) ")" CLOSE_PAREN: (153..154) ")" - ATMOSPHERE: (154..155) " -" + ATMOSPHERE: (154..155) "\n" FORM: (155..191) OPEN_PAREN: (155..156) "(" SYMBOL: (156..162) @@ -114,9 +107,7 @@ PROGRAM: (0..328) NUMBER: (186..189) "100" CLOSE_PAREN: (189..190) ")" CLOSE_PAREN: (190..191) ")" - ATMOSPHERE: (191..193) " - -" + ATMOSPHERE: (191..193) "\n\n" FORM: (193..213) OPEN_PAREN: (193..194) "(" SYMBOL: (194..201) @@ -128,8 +119,7 @@ PROGRAM: (0..328) IDENTIFIER: (203..211) "from-ten" CLOSE_PAREN: (211..212) ")" CLOSE_PAREN: (212..213) ")" - ATMOSPHERE: (213..214) " -" + ATMOSPHERE: (213..214) "\n" FORM: (214..234) OPEN_PAREN: (214..215) "(" SYMBOL: (215..222) @@ -141,12 +131,9 @@ PROGRAM: (0..328) IDENTIFIER: (224..232) "from-ton" CLOSE_PAREN: (232..233) ")" CLOSE_PAREN: (233..234) ")" - ATMOSPHERE: (234..236) " - -" + ATMOSPHERE: (234..236) "\n\n" ATMOSPHERE: (236..266) ";; This should return 102 + 12" - ATMOSPHERE: (266..267) " -" + ATMOSPHERE: (266..267) "\n" FORM: (267..302) OPEN_PAREN: (267..268) "(" SYMBOL: (268..275) @@ -170,8 +157,7 @@ PROGRAM: (0..328) CLOSE_PAREN: (299..300) ")" CLOSE_PAREN: (300..301) ")" CLOSE_PAREN: (301..302) ")" - ATMOSPHERE: (302..303) " -" + ATMOSPHERE: (302..303) "\n" FORM: (303..328) OPEN_PAREN: (303..304) "(" SYMBOL: (304..305) diff --git a/spec/issue-45.ast b/spec/issue-45.ast index d060ec5..e7a7d3c 100644 --- a/spec/issue-45.ast +++ b/spec/issue-45.ast @@ -12,8 +12,7 @@ PROGRAM: (0..370) SYMBOL: (16..21) IDENTIFIER: (16..21) "write" CLOSE_PAREN: (21..22) ")" - ATMOSPHERE: (22..27) " - " + ATMOSPHERE: (22..27) "\n " FORM: (27..40) OPEN_PAREN: (27..28) "(" SYMBOL: (28..34) @@ -23,9 +22,7 @@ PROGRAM: (0..370) IDENTIFIER: (35..39) "base" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..149) OPEN_PAREN: (43..44) "(" SYMBOL: (44..57) @@ -33,8 +30,7 @@ PROGRAM: (0..370) ATMOSPHERE: (57..58) " " SYMBOL: (58..61) IDENTIFIER: (58..61) "bug" - ATMOSPHERE: (61..66) " - " + ATMOSPHERE: (61..66) "\n " FORM: (66..148) OPEN_PAREN: (66..67) "(" SYMBOL: (67..79) @@ -43,8 +39,7 @@ PROGRAM: (0..370) FORM: (80..82) OPEN_PAREN: (80..81) "(" CLOSE_PAREN: (81..82) ")" - ATMOSPHERE: (82..91) " - " + ATMOSPHERE: (82..91) "\n " FORM: (91..147) OPEN_PAREN: (91..92) "(" FORM: (92..113) @@ -103,8 +98,7 @@ PROGRAM: (0..370) CLOSE_PAREN: (146..147) ")" CLOSE_PAREN: (147..148) ")" CLOSE_PAREN: (148..149) ")" - ATMOSPHERE: (149..150) " -" + ATMOSPHERE: (149..150) "\n" FORM: (150..245) OPEN_PAREN: (150..151) "(" SYMBOL: (151..164) @@ -112,8 +106,7 @@ PROGRAM: (0..370) ATMOSPHERE: (164..165) " " SYMBOL: (165..168) IDENTIFIER: (165..168) "zip" - ATMOSPHERE: (168..173) " - " + ATMOSPHERE: (168..173) "\n " FORM: (173..244) OPEN_PAREN: (173..174) "(" SYMBOL: (174..186) @@ -122,8 +115,7 @@ PROGRAM: (0..370) FORM: (187..189) OPEN_PAREN: (187..188) "(" CLOSE_PAREN: (188..189) ")" - ATMOSPHERE: (189..198) " - " + ATMOSPHERE: (189..198) "\n " FORM: (198..243) OPEN_PAREN: (198..199) "(" FORM: (199..220) @@ -173,9 +165,7 @@ PROGRAM: (0..370) CLOSE_PAREN: (242..243) ")" CLOSE_PAREN: (243..244) ")" CLOSE_PAREN: (244..245) ")" - ATMOSPHERE: (245..247) " - -" + ATMOSPHERE: (245..247) "\n\n" FORM: (247..360) OPEN_PAREN: (247..248) "(" SYMBOL: (248..255) @@ -185,8 +175,7 @@ PROGRAM: (0..370) OPEN_PAREN: (256..257) "(" SYMBOL: (257..261) IDENTIFIER: (257..261) "list" - ATMOSPHERE: (261..266) " - " + ATMOSPHERE: (261..266) "\n " FORM: (266..285) OPEN_PAREN: (266..267) "(" SYMBOL: (267..270) @@ -215,8 +204,7 @@ PROGRAM: (0..370) CLOSE_PAREN: (284..285) ")" ATMOSPHERE: (285..286) " " ATMOSPHERE: (286..305) "; -> '((1 2 3) 4 5)" - ATMOSPHERE: (305..310) " - " + ATMOSPHERE: (305..310) "\n " FORM: (310..327) OPEN_PAREN: (310..311) "(" SYMBOL: (311..314) @@ -242,8 +230,7 @@ PROGRAM: (0..370) CLOSE_PAREN: (326..327) ")" ATMOSPHERE: (327..330) " " ATMOSPHERE: (330..353) "; -> '((1 . 3) (2 . 4))" - ATMOSPHERE: (353..358) " - " + ATMOSPHERE: (353..358) "\n " CLOSE_PAREN: (358..359) ")" CLOSE_PAREN: (359..360) ")" FORM: (360..369) @@ -251,6 +238,5 @@ PROGRAM: (0..370) SYMBOL: (361..368) IDENTIFIER: (361..368) "newline" CLOSE_PAREN: (368..369) ")" - ATMOSPHERE: (369..370) " -" + ATMOSPHERE: (369..370) "\n" EOF: (370..370) "" diff --git a/spec/issue-5_a.ast b/spec/issue-5_a.ast index 8e0968b..a04ccee 100644 --- a/spec/issue-5_a.ast +++ b/spec/issue-5_a.ast @@ -12,8 +12,7 @@ PROGRAM: (0..171) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..171) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..140) OPEN_PAREN: (42..43) "(" FORM: (43..133) @@ -37,14 +35,12 @@ PROGRAM: (0..171) SYMBOL: (52..53) IDENTIFIER: (52..53) "a" CLOSE_PAREN: (53..54) ")" - ATMOSPHERE: (54..59) " - " + ATMOSPHERE: (54..59) "\n " FORM: (59..126) OPEN_PAREN: (59..60) "(" SYMBOL: (60..67) IDENTIFIER: (60..67) "display" - ATMOSPHERE: (67..76) " - " + ATMOSPHERE: (67..76) "\n " FORM: (76..125) OPEN_PAREN: (76..77) "(" SYMBOL: (77..79) @@ -52,8 +48,7 @@ PROGRAM: (0..171) ATMOSPHERE: (79..80) " " CONSTANT: (80..82) BOOLEAN: (80..82) "#f" - ATMOSPHERE: (82..97) " - " + ATMOSPHERE: (82..97) "\n " FORM: (97..110) OPEN_PAREN: (97..98) "(" SYMBOL: (98..104) @@ -66,19 +61,16 @@ PROGRAM: (0..171) SYMBOL: (108..109) IDENTIFIER: (108..109) "a" CLOSE_PAREN: (109..110) ")" - ATMOSPHERE: (110..123) " - " + ATMOSPHERE: (110..123) "\n " SYMBOL: (123..124) IDENTIFIER: (123..124) "a" CLOSE_PAREN: (124..125) ")" CLOSE_PAREN: (125..126) ")" - ATMOSPHERE: (126..131) " - " + ATMOSPHERE: (126..131) "\n " SYMBOL: (131..132) IDENTIFIER: (131..132) "a" CLOSE_PAREN: (132..133) ")" - ATMOSPHERE: (133..136) " - " + ATMOSPHERE: (133..136) "\n " CONSTANT: (136..139) NUMBER: (136..139) "101" CLOSE_PAREN: (139..140) ")" diff --git a/spec/issue-5_b.ast b/spec/issue-5_b.ast index 4319ba7..ea3c224 100644 --- a/spec/issue-5_b.ast +++ b/spec/issue-5_b.ast @@ -12,8 +12,7 @@ PROGRAM: (0..393) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..393) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..321) OPEN_PAREN: (42..43) "(" SYMBOL: (43..49) @@ -38,8 +36,7 @@ PROGRAM: (0..393) SYMBOL: (57..58) IDENTIFIER: (57..58) "n" CLOSE_PAREN: (58..59) ")" - ATMOSPHERE: (59..64) " - " + ATMOSPHERE: (59..64) "\n " FORM: (64..320) OPEN_PAREN: (64..65) "(" SYMBOL: (65..71) @@ -62,8 +59,7 @@ PROGRAM: (0..393) SYMBOL: (88..89) IDENTIFIER: (88..89) "m" CLOSE_PAREN: (89..90) ")" - ATMOSPHERE: (90..107) " - " + ATMOSPHERE: (90..107) "\n " FORM: (107..178) OPEN_PAREN: (107..108) "(" SYMBOL: (108..110) @@ -80,12 +76,10 @@ PROGRAM: (0..393) CONSTANT: (116..117) NUMBER: (116..117) "0" CLOSE_PAREN: (117..118) ")" - ATMOSPHERE: (118..139) " - " + ATMOSPHERE: (118..139) "\n " CONSTANT: (139..141) BOOLEAN: (139..141) "#f" - ATMOSPHERE: (141..162) " - " + ATMOSPHERE: (141..162) "\n " FORM: (162..177) OPEN_PAREN: (162..163) "(" SYMBOL: (163..168) @@ -106,8 +100,7 @@ PROGRAM: (0..393) CLOSE_PAREN: (177..178) ")" CLOSE_PAREN: (178..179) ")" CLOSE_PAREN: (179..180) ")" - ATMOSPHERE: (180..193) " - " + ATMOSPHERE: (180..193) "\n " FORM: (193..300) OPEN_PAREN: (193..194) "(" SYMBOL: (194..199) @@ -123,8 +116,7 @@ PROGRAM: (0..393) SYMBOL: (209..210) IDENTIFIER: (209..210) "m" CLOSE_PAREN: (210..211) ")" - ATMOSPHERE: (211..228) " - " + ATMOSPHERE: (211..228) "\n " FORM: (228..298) OPEN_PAREN: (228..229) "(" SYMBOL: (229..231) @@ -141,12 +133,10 @@ PROGRAM: (0..393) CONSTANT: (237..238) NUMBER: (237..238) "0" CLOSE_PAREN: (238..239) ")" - ATMOSPHERE: (239..260) " - " + ATMOSPHERE: (239..260) "\n " CONSTANT: (260..262) BOOLEAN: (260..262) "#t" - ATMOSPHERE: (262..283) " - " + ATMOSPHERE: (262..283) "\n " FORM: (283..297) OPEN_PAREN: (283..284) "(" SYMBOL: (284..288) @@ -168,8 +158,7 @@ PROGRAM: (0..393) CLOSE_PAREN: (298..299) ")" CLOSE_PAREN: (299..300) ")" CLOSE_PAREN: (300..301) ")" - ATMOSPHERE: (301..310) " - " + ATMOSPHERE: (301..310) "\n " FORM: (310..319) OPEN_PAREN: (310..311) "(" SYMBOL: (311..316) @@ -180,9 +169,7 @@ PROGRAM: (0..393) CLOSE_PAREN: (318..319) ")" CLOSE_PAREN: (319..320) ")" CLOSE_PAREN: (320..321) ")" - ATMOSPHERE: (321..323) " - -" + ATMOSPHERE: (321..323) "\n\n" FORM: (323..343) OPEN_PAREN: (323..324) "(" SYMBOL: (324..331) @@ -202,8 +189,7 @@ PROGRAM: (0..393) SYMBOL: (344..351) IDENTIFIER: (344..351) "newline" CLOSE_PAREN: (351..352) ")" - ATMOSPHERE: (352..353) " -" + ATMOSPHERE: (352..353) "\n" FORM: (353..372) OPEN_PAREN: (353..354) "(" SYMBOL: (354..361) @@ -223,8 +209,7 @@ PROGRAM: (0..393) SYMBOL: (373..380) IDENTIFIER: (373..380) "newline" CLOSE_PAREN: (380..381) ")" - ATMOSPHERE: (381..382) " -" + ATMOSPHERE: (381..382) "\n" FORM: (382..393) OPEN_PAREN: (382..383) "(" SYMBOL: (383..388) diff --git a/spec/iterfact.ast b/spec/iterfact.ast index 3482317..9f2e86b 100644 --- a/spec/iterfact.ast +++ b/spec/iterfact.ast @@ -12,8 +12,7 @@ PROGRAM: (0..354) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..354) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..115) OPEN_PAREN: (42..43) "(" SYMBOL: (43..49) @@ -38,8 +36,7 @@ PROGRAM: (0..354) SYMBOL: (56..57) IDENTIFIER: (56..57) "n" CLOSE_PAREN: (57..58) ")" - ATMOSPHERE: (58..63) " - " + ATMOSPHERE: (58..63) "\n " FORM: (63..114) OPEN_PAREN: (63..64) "(" SYMBOL: (64..66) @@ -56,12 +53,10 @@ PROGRAM: (0..354) CONSTANT: (72..73) NUMBER: (72..73) "0" CLOSE_PAREN: (73..74) ")" - ATMOSPHERE: (74..83) " - " + ATMOSPHERE: (74..83) "\n " CONSTANT: (83..84) NUMBER: (83..84) "1" - ATMOSPHERE: (84..93) " - " + ATMOSPHERE: (84..93) "\n " FORM: (93..113) OPEN_PAREN: (93..94) "(" SYMBOL: (94..95) @@ -90,9 +85,7 @@ PROGRAM: (0..354) CLOSE_PAREN: (112..113) ")" CLOSE_PAREN: (113..114) ")" CLOSE_PAREN: (114..115) ")" - ATMOSPHERE: (115..117) " - -" + ATMOSPHERE: (115..117) "\n\n" FORM: (117..277) OPEN_PAREN: (117..118) "(" SYMBOL: (118..124) @@ -106,8 +99,7 @@ PROGRAM: (0..354) SYMBOL: (135..136) IDENTIFIER: (135..136) "n" CLOSE_PAREN: (136..137) ")" - ATMOSPHERE: (137..142) " - " + ATMOSPHERE: (137..142) "\n " FORM: (142..253) OPEN_PAREN: (142..143) "(" SYMBOL: (143..149) @@ -124,8 +116,7 @@ PROGRAM: (0..354) SYMBOL: (166..169) IDENTIFIER: (166..169) "acc" CLOSE_PAREN: (169..170) ")" - ATMOSPHERE: (170..179) " - " + ATMOSPHERE: (170..179) "\n " FORM: (179..252) OPEN_PAREN: (179..180) "(" SYMBOL: (180..182) @@ -142,12 +133,10 @@ PROGRAM: (0..354) CONSTANT: (188..189) NUMBER: (188..189) "0" CLOSE_PAREN: (189..190) ")" - ATMOSPHERE: (190..203) " - " + ATMOSPHERE: (190..203) "\n " SYMBOL: (203..206) IDENTIFIER: (203..206) "acc" - ATMOSPHERE: (206..219) " - " + ATMOSPHERE: (206..219) "\n " FORM: (219..251) OPEN_PAREN: (219..220) "(" SYMBOL: (220..232) @@ -179,8 +168,7 @@ PROGRAM: (0..354) CLOSE_PAREN: (250..251) ")" CLOSE_PAREN: (251..252) ")" CLOSE_PAREN: (252..253) ")" - ATMOSPHERE: (253..258) " - " + ATMOSPHERE: (253..258) "\n " FORM: (258..276) OPEN_PAREN: (258..259) "(" SYMBOL: (259..271) @@ -193,9 +181,7 @@ PROGRAM: (0..354) NUMBER: (274..275) "1" CLOSE_PAREN: (275..276) ")" CLOSE_PAREN: (276..277) ")" - ATMOSPHERE: (277..279) " - -" + ATMOSPHERE: (277..279) "\n\n" FORM: (279..297) OPEN_PAREN: (279..280) "(" SYMBOL: (280..287) @@ -217,8 +203,7 @@ PROGRAM: (0..354) CLOSE_PAREN: (305..306) ")" ATMOSPHERE: (306..307) " " ATMOSPHERE: (307..314) "; => 24" - ATMOSPHERE: (314..315) " -" + ATMOSPHERE: (314..315) "\n" FORM: (315..337) OPEN_PAREN: (315..316) "(" SYMBOL: (316..323) diff --git a/spec/lambdas.ast b/spec/lambdas.ast index 3ec42ec..4122cf1 100644 --- a/spec/lambdas.ast +++ b/spec/lambdas.ast @@ -14,8 +14,7 @@ PROGRAM: (0..190) ATMOSPHERE: (17..18) " " SYMBOL: (18..19) IDENTIFIER: (18..19) "y" - ATMOSPHERE: (19..24) " - " + ATMOSPHERE: (19..24) "\n " FORM: (24..38) OPEN_PAREN: (24..25) "(" SYMBOL: (25..31) @@ -29,8 +28,7 @@ PROGRAM: (0..190) CLOSE_PAREN: (37..38) ")" CLOSE_PAREN: (38..39) ")" CLOSE_PAREN: (39..40) ")" - ATMOSPHERE: (40..41) " -" + ATMOSPHERE: (40..41) "\n" FORM: (41..83) OPEN_PAREN: (41..42) "(" SYMBOL: (42..48) @@ -46,8 +44,7 @@ PROGRAM: (0..190) ATMOSPHERE: (58..59) " " SYMBOL: (59..60) IDENTIFIER: (59..60) "y" - ATMOSPHERE: (60..65) " - " + ATMOSPHERE: (60..65) "\n " FORM: (65..81) OPEN_PAREN: (65..66) "(" SYMBOL: (66..72) @@ -61,8 +58,7 @@ PROGRAM: (0..190) CLOSE_PAREN: (80..81) ")" CLOSE_PAREN: (81..82) ")" CLOSE_PAREN: (82..83) ")" - ATMOSPHERE: (83..84) " -" + ATMOSPHERE: (83..84) "\n" FORM: (84..109) OPEN_PAREN: (84..85) "(" SYMBOL: (85..91) @@ -83,8 +79,7 @@ PROGRAM: (0..190) NUMBER: (104..107) "123" CLOSE_PAREN: (107..108) ")" CLOSE_PAREN: (108..109) ")" - ATMOSPHERE: (109..110) " -" + ATMOSPHERE: (109..110) "\n" FORM: (110..140) OPEN_PAREN: (110..111) "(" SYMBOL: (111..117) @@ -114,8 +109,7 @@ PROGRAM: (0..190) NUMBER: (136..138) "20" CLOSE_PAREN: (138..139) ")" CLOSE_PAREN: (139..140) ")" - ATMOSPHERE: (140..141) " -" + ATMOSPHERE: (140..141) "\n" FORM: (141..175) OPEN_PAREN: (141..142) "(" SYMBOL: (142..148) @@ -148,8 +142,7 @@ PROGRAM: (0..190) NUMBER: (169..173) "1234" CLOSE_PAREN: (173..174) ")" CLOSE_PAREN: (174..175) ")" - ATMOSPHERE: (175..176) " -" + ATMOSPHERE: (175..176) "\n" FORM: (176..181) OPEN_PAREN: (176..177) "(" FORM: (177..180) diff --git a/spec/let.ast b/spec/let.ast index 9c4f9c0..f0b743f 100644 --- a/spec/let.ast +++ b/spec/let.ast @@ -12,8 +12,7 @@ PROGRAM: (0..152) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..152) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..134) OPEN_PAREN: (42..43) "(" SYMBOL: (43..49) @@ -38,8 +36,7 @@ PROGRAM: (0..152) SYMBOL: (55..56) IDENTIFIER: (55..56) "a" CLOSE_PAREN: (56..57) ")" - ATMOSPHERE: (57..62) " - " + ATMOSPHERE: (57..62) "\n " FORM: (62..133) OPEN_PAREN: (62..63) "(" SYMBOL: (63..66) @@ -55,8 +52,7 @@ PROGRAM: (0..152) SYMBOL: (71..72) IDENTIFIER: (71..72) "a" CLOSE_PAREN: (72..73) ")" - ATMOSPHERE: (73..82) " - " + ATMOSPHERE: (73..82) "\n " FORM: (82..89) OPEN_PAREN: (82..83) "(" SYMBOL: (83..84) @@ -66,8 +62,7 @@ PROGRAM: (0..152) NUMBER: (85..88) "100" CLOSE_PAREN: (88..89) ")" CLOSE_PAREN: (89..90) ")" - ATMOSPHERE: (90..99) " - " + ATMOSPHERE: (90..99) "\n " FORM: (99..116) OPEN_PAREN: (99..100) "(" SYMBOL: (100..107) @@ -85,8 +80,7 @@ PROGRAM: (0..152) IDENTIFIER: (113..114) "b" CLOSE_PAREN: (114..115) ")" CLOSE_PAREN: (115..116) ")" - ATMOSPHERE: (116..125) " - " + ATMOSPHERE: (116..125) "\n " FORM: (125..132) OPEN_PAREN: (125..126) "(" SYMBOL: (126..127) @@ -100,8 +94,7 @@ PROGRAM: (0..152) CLOSE_PAREN: (131..132) ")" CLOSE_PAREN: (132..133) ")" CLOSE_PAREN: (133..134) ")" - ATMOSPHERE: (134..135) " -" + ATMOSPHERE: (134..135) "\n" FORM: (135..144) OPEN_PAREN: (135..136) "(" SYMBOL: (136..139) diff --git a/spec/libcapture.ast b/spec/libcapture.ast index dbc911e..55702d9 100644 --- a/spec/libcapture.ast +++ b/spec/libcapture.ast @@ -12,8 +12,7 @@ PROGRAM: (0..238) SYMBOL: (21..28) IDENTIFIER: (21..28) "capture" CLOSE_PAREN: (28..29) ")" - ATMOSPHERE: (29..34) " - " + ATMOSPHERE: (29..34) "\n " FORM: (34..49) OPEN_PAREN: (34..35) "(" SYMBOL: (35..41) @@ -22,14 +21,12 @@ PROGRAM: (0..238) SYMBOL: (42..48) IDENTIFIER: (42..48) "testit" CLOSE_PAREN: (48..49) ")" - ATMOSPHERE: (49..54) " - " + ATMOSPHERE: (49..54) "\n " FORM: (54..169) OPEN_PAREN: (54..55) "(" SYMBOL: (55..60) IDENTIFIER: (55..60) "begin" - ATMOSPHERE: (60..69) " - " + ATMOSPHERE: (60..69) "\n " FORM: (69..93) OPEN_PAREN: (69..70) "(" SYMBOL: (70..76) @@ -39,10 +36,9 @@ PROGRAM: (0..238) IDENTIFIER: (77..83) "testit" ATMOSPHERE: (83..84) " " CONSTANT: (84..92) - STRING: (84..92) ""broken"" + STRING: (84..92) "\"broken\"" CLOSE_PAREN: (92..93) ")" - ATMOSPHERE: (93..102) " - " + ATMOSPHERE: (93..102) "\n " FORM: (102..168) OPEN_PAREN: (102..103) "(" SYMBOL: (103..106) @@ -56,11 +52,10 @@ PROGRAM: (0..238) IDENTIFIER: (109..120) "replacement" ATMOSPHERE: (120..121) " " CONSTANT: (121..127) - STRING: (121..127) ""pass"" + STRING: (121..127) "\"pass\"" CLOSE_PAREN: (127..128) ")" CLOSE_PAREN: (128..129) ")" - ATMOSPHERE: (129..142) " - " + ATMOSPHERE: (129..142) "\n " FORM: (142..167) OPEN_PAREN: (142..143) "(" SYMBOL: (143..147) @@ -75,8 +70,7 @@ PROGRAM: (0..238) CLOSE_PAREN: (167..168) ")" CLOSE_PAREN: (168..169) ")" CLOSE_PAREN: (169..170) ")" - ATMOSPHERE: (170..171) " -" + ATMOSPHERE: (170..171) "\n" FORM: (171..212) OPEN_PAREN: (171..172) "(" SYMBOL: (172..178) @@ -90,8 +84,7 @@ PROGRAM: (0..238) SYMBOL: (184..191) IDENTIFIER: (184..191) "capture" CLOSE_PAREN: (191..192) ")" - ATMOSPHERE: (192..197) " - " + ATMOSPHERE: (192..197) "\n " FORM: (197..211) OPEN_PAREN: (197..198) "(" SYMBOL: (198..204) @@ -101,8 +94,7 @@ PROGRAM: (0..238) IDENTIFIER: (205..210) "write" CLOSE_PAREN: (210..211) ")" CLOSE_PAREN: (211..212) ")" - ATMOSPHERE: (212..213) " -" + ATMOSPHERE: (212..213) "\n" FORM: (213..229) OPEN_PAREN: (213..214) "(" SYMBOL: (214..221) diff --git a/spec/libgreet.ast b/spec/libgreet.ast index ebb3879..b4a507e 100644 --- a/spec/libgreet.ast +++ b/spec/libgreet.ast @@ -12,8 +12,7 @@ PROGRAM: (0..268) SYMBOL: (22..29) IDENTIFIER: (22..29) "greeter" CLOSE_PAREN: (29..30) ")" - ATMOSPHERE: (30..32) " - " + ATMOSPHERE: (30..32) "\n\t" FORM: (32..46) OPEN_PAREN: (32..33) "(" SYMBOL: (33..39) @@ -22,8 +21,7 @@ PROGRAM: (0..268) SYMBOL: (40..45) IDENTIFIER: (40..45) "greet" CLOSE_PAREN: (45..46) ")" - ATMOSPHERE: (46..48) " - " + ATMOSPHERE: (46..48) "\n\t" FORM: (48..87) OPEN_PAREN: (48..49) "(" SYMBOL: (49..55) @@ -37,8 +35,7 @@ PROGRAM: (0..268) SYMBOL: (64..68) IDENTIFIER: (64..68) "base" CLOSE_PAREN: (68..69) ")" - ATMOSPHERE: (69..72) " - " + ATMOSPHERE: (69..72) "\n\t\t" FORM: (72..86) OPEN_PAREN: (72..73) "(" SYMBOL: (73..79) @@ -48,14 +45,12 @@ PROGRAM: (0..268) IDENTIFIER: (80..85) "write" CLOSE_PAREN: (85..86) ")" CLOSE_PAREN: (86..87) ")" - ATMOSPHERE: (87..89) " - " + ATMOSPHERE: (87..89) "\n\t" FORM: (89..194) OPEN_PAREN: (89..90) "(" SYMBOL: (90..95) IDENTIFIER: (90..95) "begin" - ATMOSPHERE: (95..98) " - " + ATMOSPHERE: (95..98) "\n\t\t" FORM: (98..193) OPEN_PAREN: (98..99) "(" SYMBOL: (99..105) @@ -69,18 +64,16 @@ PROGRAM: (0..268) SYMBOL: (113..119) IDENTIFIER: (113..119) "person" CLOSE_PAREN: (119..120) ")" - ATMOSPHERE: (120..124) " - " + ATMOSPHERE: (120..124) "\n\t\t\t" FORM: (124..142) OPEN_PAREN: (124..125) "(" SYMBOL: (125..132) IDENTIFIER: (125..132) "display" ATMOSPHERE: (132..133) " " CONSTANT: (133..141) - STRING: (133..141) ""Hello "" + STRING: (133..141) "\"Hello \"" CLOSE_PAREN: (141..142) ")" - ATMOSPHERE: (142..146) " - " + ATMOSPHERE: (142..146) "\n\t\t\t" FORM: (146..162) OPEN_PAREN: (146..147) "(" SYMBOL: (147..154) @@ -89,18 +82,16 @@ PROGRAM: (0..268) SYMBOL: (155..161) IDENTIFIER: (155..161) "person" CLOSE_PAREN: (161..162) ")" - ATMOSPHERE: (162..166) " - " + ATMOSPHERE: (162..166) "\n\t\t\t" FORM: (166..179) OPEN_PAREN: (166..167) "(" SYMBOL: (167..174) IDENTIFIER: (167..174) "display" ATMOSPHERE: (174..175) " " CONSTANT: (175..178) - CHARACTER: (175..178) "#\!" + CHARACTER: (175..178) "#\\!" CLOSE_PAREN: (178..179) ")" - ATMOSPHERE: (179..183) " - " + ATMOSPHERE: (179..183) "\n\t\t\t" FORM: (183..192) OPEN_PAREN: (183..184) "(" SYMBOL: (184..191) @@ -109,9 +100,7 @@ PROGRAM: (0..268) CLOSE_PAREN: (192..193) ")" CLOSE_PAREN: (193..194) ")" CLOSE_PAREN: (194..195) ")" - ATMOSPHERE: (195..197) " - -" + ATMOSPHERE: (195..197) "\n\n" FORM: (197..247) OPEN_PAREN: (197..198) "(" SYMBOL: (198..204) @@ -144,15 +133,13 @@ PROGRAM: (0..268) IDENTIFIER: (241..245) "grt/" CLOSE_PAREN: (245..246) ")" CLOSE_PAREN: (246..247) ")" - ATMOSPHERE: (247..249) " - -" + ATMOSPHERE: (247..249) "\n\n" FORM: (249..268) OPEN_PAREN: (249..250) "(" SYMBOL: (250..259) IDENTIFIER: (250..259) "grt/greet" ATMOSPHERE: (259..260) " " CONSTANT: (260..267) - STRING: (260..267) ""world"" + STRING: (260..267) "\"world\"" CLOSE_PAREN: (267..268) ")" EOF: (268..268) "" diff --git a/spec/libs.ast b/spec/libs.ast index 2c314be..366d499 100644 --- a/spec/libs.ast +++ b/spec/libs.ast @@ -12,8 +12,7 @@ PROGRAM: (0..530) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..530) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..94) OPEN_PAREN: (42..43) "(" SYMBOL: (43..57) @@ -51,8 +49,7 @@ PROGRAM: (0..530) IDENTIFIER: (85..92) "numbers" CLOSE_PAREN: (92..93) ")" CLOSE_PAREN: (93..94) ")" - ATMOSPHERE: (94..95) " -" + ATMOSPHERE: (94..95) "\n" FORM: (95..129) OPEN_PAREN: (95..96) "(" SYMBOL: (96..110) @@ -67,8 +64,7 @@ PROGRAM: (0..530) IDENTIFIER: (117..127) "dependency" CLOSE_PAREN: (127..128) ")" CLOSE_PAREN: (128..129) ")" - ATMOSPHERE: (129..130) " -" + ATMOSPHERE: (129..130) "\n" FORM: (130..346) OPEN_PAREN: (130..131) "(" SYMBOL: (131..145) @@ -82,8 +78,7 @@ PROGRAM: (0..530) SYMBOL: (155..159) IDENTIFIER: (155..159) "grid" CLOSE_PAREN: (159..160) ")" - ATMOSPHERE: (160..162) " - " + ATMOSPHERE: (160..162) "\n\t" FORM: (162..215) OPEN_PAREN: (162..163) "(" SYMBOL: (163..169) @@ -94,8 +89,7 @@ PROGRAM: (0..530) ATMOSPHERE: (173..174) " " SYMBOL: (174..177) IDENTIFIER: (174..177) "buz" - ATMOSPHERE: (177..180) " - " + ATMOSPHERE: (177..180) "\n\t\t" FORM: (180..214) OPEN_PAREN: (180..181) "(" SYMBOL: (181..187) @@ -108,8 +102,7 @@ PROGRAM: (0..530) IDENTIFIER: (200..213) "external-name" CLOSE_PAREN: (213..214) ")" CLOSE_PAREN: (214..215) ")" - ATMOSPHERE: (215..217) " - " + ATMOSPHERE: (215..217) "\n\t" FORM: (217..243) OPEN_PAREN: (217..218) "(" SYMBOL: (218..224) @@ -124,14 +117,12 @@ PROGRAM: (0..530) IDENTIFIER: (231..241) "dependency" CLOSE_PAREN: (241..242) ")" CLOSE_PAREN: (242..243) ")" - ATMOSPHERE: (243..245) " - " + ATMOSPHERE: (243..245) "\n\t" FORM: (245..345) OPEN_PAREN: (245..246) "(" SYMBOL: (246..251) IDENTIFIER: (246..251) "begin" - ATMOSPHERE: (251..254) " - " + ATMOSPHERE: (251..254) "\n\t\t" FORM: (254..270) OPEN_PAREN: (254..255) "(" SYMBOL: (255..261) @@ -143,8 +134,7 @@ PROGRAM: (0..530) CONSTANT: (266..269) NUMBER: (266..269) "100" CLOSE_PAREN: (269..270) ")" - ATMOSPHERE: (270..273) " - " + ATMOSPHERE: (270..273) "\n\t\t" FORM: (273..289) OPEN_PAREN: (273..274) "(" SYMBOL: (274..280) @@ -156,8 +146,7 @@ PROGRAM: (0..530) CONSTANT: (285..288) NUMBER: (285..288) "100" CLOSE_PAREN: (288..289) ")" - ATMOSPHERE: (289..292) " - " + ATMOSPHERE: (289..292) "\n\t\t" FORM: (292..316) OPEN_PAREN: (292..293) "(" SYMBOL: (293..299) @@ -169,8 +158,7 @@ PROGRAM: (0..530) CONSTANT: (312..315) NUMBER: (312..315) "101" CLOSE_PAREN: (315..316) ")" - ATMOSPHERE: (316..319) " - " + ATMOSPHERE: (316..319) "\n\t\t" FORM: (319..344) OPEN_PAREN: (319..320) "(" SYMBOL: (320..326) @@ -184,8 +172,7 @@ PROGRAM: (0..530) CLOSE_PAREN: (343..344) ")" CLOSE_PAREN: (344..345) ")" CLOSE_PAREN: (345..346) ")" - ATMOSPHERE: (346..347) " -" + ATMOSPHERE: (346..347) "\n" FORM: (347..477) OPEN_PAREN: (347..348) "(" SYMBOL: (348..362) @@ -199,8 +186,7 @@ PROGRAM: (0..530) SYMBOL: (369..376) IDENTIFIER: (369..376) "greeter" CLOSE_PAREN: (376..377) ")" - ATMOSPHERE: (377..379) " - " + ATMOSPHERE: (377..379) "\n\t" FORM: (379..417) OPEN_PAREN: (379..380) "(" SYMBOL: (380..386) @@ -224,8 +210,7 @@ PROGRAM: (0..530) IDENTIFIER: (410..415) "grid/" CLOSE_PAREN: (415..416) ")" CLOSE_PAREN: (416..417) ")" - ATMOSPHERE: (417..419) " - " + ATMOSPHERE: (417..419) "\n\t" FORM: (419..433) OPEN_PAREN: (419..420) "(" SYMBOL: (420..426) @@ -234,8 +219,7 @@ PROGRAM: (0..530) SYMBOL: (427..432) IDENTIFIER: (427..432) "greet" CLOSE_PAREN: (432..433) ")" - ATMOSPHERE: (433..435) " - " + ATMOSPHERE: (433..435) "\n\t" FORM: (435..476) OPEN_PAREN: (435..436) "(" SYMBOL: (436..441) @@ -254,8 +238,7 @@ PROGRAM: (0..530) CLOSE_PAREN: (474..475) ")" CLOSE_PAREN: (475..476) ")" CLOSE_PAREN: (476..477) ")" - ATMOSPHERE: (477..478) " -" + ATMOSPHERE: (477..478) "\n" FORM: (478..514) OPEN_PAREN: (478..479) "(" SYMBOL: (479..485) @@ -279,8 +262,7 @@ PROGRAM: (0..530) IDENTIFIER: (507..512) "greet" CLOSE_PAREN: (512..513) ")" CLOSE_PAREN: (513..514) ")" - ATMOSPHERE: (514..515) " -" + ATMOSPHERE: (514..515) "\n" FORM: (515..530) OPEN_PAREN: (515..516) "(" SYMBOL: (516..523) diff --git a/spec/lists.ast b/spec/lists.ast index 016f6b8..9f81217 100644 --- a/spec/lists.ast +++ b/spec/lists.ast @@ -12,8 +12,7 @@ PROGRAM: (0..2619) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,9 +22,7 @@ PROGRAM: (0..2619) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..239) OPEN_PAREN: (43..44) "(" SYMBOL: (44..51) @@ -35,8 +32,7 @@ PROGRAM: (0..2619) OPEN_PAREN: (52..53) "(" SYMBOL: (53..57) IDENTIFIER: (53..57) "list" - ATMOSPHERE: (57..62) " - " + ATMOSPHERE: (57..62) "\n " FORM: (62..77) OPEN_PAREN: (62..63) "(" SYMBOL: (63..67) @@ -53,8 +49,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (76..77) ")" ATMOSPHERE: (77..105) " " ATMOSPHERE: (105..117) "; (12 34 56)" - ATMOSPHERE: (117..122) " - " + ATMOSPHERE: (117..122) "\n " FORM: (122..155) OPEN_PAREN: (122..123) "(" SYMBOL: (123..126) @@ -71,10 +66,10 @@ PROGRAM: (0..2619) IDENTIFIER: (133..137) "list" ATMOSPHERE: (137..138) " " CONSTANT: (138..141) - STRING: (138..141) ""a"" + STRING: (138..141) "\"a\"" ATMOSPHERE: (141..142) " " CONSTANT: (142..145) - CHARACTER: (142..145) "#\B" + CHARACTER: (142..145) "#\\B" ATMOSPHERE: (145..146) " " CONSTANT: (146..148) BOOLEAN: (146..148) "#f" @@ -86,8 +81,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (154..155) ")" ATMOSPHERE: (155..165) " " ATMOSPHERE: (165..178) "; -> (#f 4.0)" - ATMOSPHERE: (178..183) " - " + ATMOSPHERE: (178..183) "\n " FORM: (183..224) OPEN_PAREN: (183..184) "(" SYMBOL: (184..187) @@ -134,20 +128,16 @@ PROGRAM: (0..2619) CLOSE_PAREN: (223..224) ")" ATMOSPHERE: (224..226) " " ATMOSPHERE: (226..232) "; -> 2" - ATMOSPHERE: (232..237) " - " + ATMOSPHERE: (232..237) "\n " CLOSE_PAREN: (237..238) ")" CLOSE_PAREN: (238..239) ")" - ATMOSPHERE: (239..240) " -" + ATMOSPHERE: (239..240) "\n" FORM: (240..249) OPEN_PAREN: (240..241) "(" SYMBOL: (241..248) IDENTIFIER: (241..248) "newline" CLOSE_PAREN: (248..249) ")" - ATMOSPHERE: (249..251) " - -" + ATMOSPHERE: (249..251) "\n\n" FORM: (251..436) OPEN_PAREN: (251..252) "(" SYMBOL: (252..258) @@ -161,8 +151,7 @@ PROGRAM: (0..2619) SYMBOL: (264..268) IDENTIFIER: (264..268) "list" CLOSE_PAREN: (268..269) ")" - ATMOSPHERE: (269..274) " - " + ATMOSPHERE: (269..274) "\n " FORM: (274..408) OPEN_PAREN: (274..275) "(" SYMBOL: (275..281) @@ -179,8 +168,7 @@ PROGRAM: (0..2619) SYMBOL: (301..304) IDENTIFIER: (301..304) "acc" CLOSE_PAREN: (304..305) ")" - ATMOSPHERE: (305..314) " - " + ATMOSPHERE: (305..314) "\n " FORM: (314..407) OPEN_PAREN: (314..315) "(" SYMBOL: (315..317) @@ -194,12 +182,10 @@ PROGRAM: (0..2619) SYMBOL: (325..329) IDENTIFIER: (325..329) "list" CLOSE_PAREN: (329..330) ")" - ATMOSPHERE: (330..343) " - " + ATMOSPHERE: (330..343) "\n " SYMBOL: (343..346) IDENTIFIER: (343..346) "acc" - ATMOSPHERE: (346..359) " - " + ATMOSPHERE: (346..359) "\n " FORM: (359..406) OPEN_PAREN: (359..360) "(" SYMBOL: (360..372) @@ -234,8 +220,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (405..406) ")" CLOSE_PAREN: (406..407) ")" CLOSE_PAREN: (407..408) ")" - ATMOSPHERE: (408..413) " - " + ATMOSPHERE: (408..413) "\n " FORM: (413..435) OPEN_PAREN: (413..414) "(" SYMBOL: (414..426) @@ -249,9 +234,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (433..434) ")" CLOSE_PAREN: (434..435) ")" CLOSE_PAREN: (435..436) ")" - ATMOSPHERE: (436..438) " - -" + ATMOSPHERE: (436..438) "\n\n" FORM: (438..470) OPEN_PAREN: (438..439) "(" SYMBOL: (439..446) @@ -284,16 +267,13 @@ PROGRAM: (0..2619) CLOSE_PAREN: (467..468) ")" CLOSE_PAREN: (468..469) ")" CLOSE_PAREN: (469..470) ")" - ATMOSPHERE: (470..471) " -" + ATMOSPHERE: (470..471) "\n" FORM: (471..480) OPEN_PAREN: (471..472) "(" SYMBOL: (472..479) IDENTIFIER: (472..479) "newline" CLOSE_PAREN: (479..480) ")" - ATMOSPHERE: (480..482) " - -" + ATMOSPHERE: (480..482) "\n\n" FORM: (482..513) OPEN_PAREN: (482..483) "(" SYMBOL: (483..490) @@ -310,7 +290,7 @@ PROGRAM: (0..2619) IDENTIFIER: (499..503) "cons" ATMOSPHERE: (503..504) " " CONSTANT: (504..507) - STRING: (504..507) ""a"" + STRING: (504..507) "\"a\"" ATMOSPHERE: (507..508) " " FORM: (508..510) OPEN_PAREN: (508..509) "(" @@ -320,8 +300,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (512..513) ")" ATMOSPHERE: (513..514) " " ATMOSPHERE: (514..521) "; -> #t" - ATMOSPHERE: (521..522) " -" + ATMOSPHERE: (521..522) "\n" FORM: (522..557) OPEN_PAREN: (522..523) "(" SYMBOL: (523..530) @@ -338,7 +317,7 @@ PROGRAM: (0..2619) IDENTIFIER: (539..543) "cons" ATMOSPHERE: (543..544) " " CONSTANT: (544..547) - STRING: (544..547) ""a"" + STRING: (544..547) "\"a\"" ATMOSPHERE: (547..548) " " FORM: (548..554) OPEN_PAREN: (548..549) "(" @@ -350,8 +329,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (556..557) ")" ATMOSPHERE: (557..558) " " ATMOSPHERE: (558..565) "; -> #t" - ATMOSPHERE: (565..566) " -" + ATMOSPHERE: (565..566) "\n" FORM: (566..598) OPEN_PAREN: (566..567) "(" SYMBOL: (567..574) @@ -368,25 +346,22 @@ PROGRAM: (0..2619) IDENTIFIER: (583..587) "cons" ATMOSPHERE: (587..588) " " CONSTANT: (588..591) - STRING: (588..591) ""a"" + STRING: (588..591) "\"a\"" ATMOSPHERE: (591..592) " " CONSTANT: (592..595) - STRING: (592..595) ""b"" + STRING: (592..595) "\"b\"" CLOSE_PAREN: (595..596) ")" CLOSE_PAREN: (596..597) ")" CLOSE_PAREN: (597..598) ")" ATMOSPHERE: (598..599) " " ATMOSPHERE: (599..606) "; -> #f" - ATMOSPHERE: (606..607) " -" + ATMOSPHERE: (606..607) "\n" FORM: (607..616) OPEN_PAREN: (607..608) "(" SYMBOL: (608..615) IDENTIFIER: (608..615) "newline" CLOSE_PAREN: (615..616) ")" - ATMOSPHERE: (616..618) " - -" + ATMOSPHERE: (616..618) "\n\n" FORM: (618..649) OPEN_PAREN: (618..619) "(" SYMBOL: (619..626) @@ -403,7 +378,7 @@ PROGRAM: (0..2619) IDENTIFIER: (635..639) "cons" ATMOSPHERE: (639..640) " " CONSTANT: (640..643) - STRING: (640..643) ""a"" + STRING: (640..643) "\"a\"" ATMOSPHERE: (643..644) " " FORM: (644..646) OPEN_PAREN: (644..645) "(" @@ -413,8 +388,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (648..649) ")" ATMOSPHERE: (649..650) " " ATMOSPHERE: (650..657) "; -> #t" - ATMOSPHERE: (657..658) " -" + ATMOSPHERE: (657..658) "\n" FORM: (658..693) OPEN_PAREN: (658..659) "(" SYMBOL: (659..666) @@ -431,7 +405,7 @@ PROGRAM: (0..2619) IDENTIFIER: (675..679) "cons" ATMOSPHERE: (679..680) " " CONSTANT: (680..683) - STRING: (680..683) ""a"" + STRING: (680..683) "\"a\"" ATMOSPHERE: (683..684) " " FORM: (684..690) OPEN_PAREN: (684..685) "(" @@ -443,8 +417,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (692..693) ")" ATMOSPHERE: (693..694) " " ATMOSPHERE: (694..701) "; -> #t" - ATMOSPHERE: (701..702) " -" + ATMOSPHERE: (701..702) "\n" FORM: (702..734) OPEN_PAREN: (702..703) "(" SYMBOL: (703..710) @@ -461,25 +434,22 @@ PROGRAM: (0..2619) IDENTIFIER: (719..723) "cons" ATMOSPHERE: (723..724) " " CONSTANT: (724..727) - STRING: (724..727) ""a"" + STRING: (724..727) "\"a\"" ATMOSPHERE: (727..728) " " CONSTANT: (728..731) - STRING: (728..731) ""b"" + STRING: (728..731) "\"b\"" CLOSE_PAREN: (731..732) ")" CLOSE_PAREN: (732..733) ")" CLOSE_PAREN: (733..734) ")" ATMOSPHERE: (734..735) " " ATMOSPHERE: (735..742) "; -> #t" - ATMOSPHERE: (742..743) " -" + ATMOSPHERE: (742..743) "\n" FORM: (743..752) OPEN_PAREN: (743..744) "(" SYMBOL: (744..751) IDENTIFIER: (744..751) "newline" CLOSE_PAREN: (751..752) ")" - ATMOSPHERE: (752..754) " - -" + ATMOSPHERE: (752..754) "\n\n" FORM: (754..782) OPEN_PAREN: (754..755) "(" SYMBOL: (755..762) @@ -514,8 +484,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (790..791) ")" ATMOSPHERE: (791..792) " " ATMOSPHERE: (792..802) "; -> (x y)" - ATMOSPHERE: (802..803) " -" + ATMOSPHERE: (802..803) "\n" FORM: (803..835) OPEN_PAREN: (803..804) "(" SYMBOL: (804..811) @@ -556,8 +525,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (843..844) ")" ATMOSPHERE: (844..845) " " ATMOSPHERE: (845..859) "; -> (a b c d)" - ATMOSPHERE: (859..860) " -" + ATMOSPHERE: (859..860) "\n" FORM: (860..894) OPEN_PAREN: (860..861) "(" SYMBOL: (861..868) @@ -601,8 +569,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (902..903) ")" ATMOSPHERE: (903..904) " " ATMOSPHERE: (904..920) "; -> (a (b) (c))" - ATMOSPHERE: (920..921) " -" + ATMOSPHERE: (920..921) "\n" FORM: (921..955) OPEN_PAREN: (921..922) "(" SYMBOL: (922..929) @@ -646,8 +613,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (963..964) ")" ATMOSPHERE: (964..965) " " ATMOSPHERE: (965..1005) "; -> (a b c . d) ;; FIXME: quoted pairs!" - ATMOSPHERE: (1005..1006) " -" + ATMOSPHERE: (1005..1006) "\n" FORM: (1006..1044) OPEN_PAREN: (1006..1007) "(" SYMBOL: (1007..1014) @@ -693,8 +659,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1052..1053) ")" ATMOSPHERE: (1053..1054) " " ATMOSPHERE: (1054..1070) "; -> (a b c . d)" - ATMOSPHERE: (1070..1071) " -" + ATMOSPHERE: (1070..1071) "\n" FORM: (1071..1096) OPEN_PAREN: (1071..1072) "(" SYMBOL: (1072..1079) @@ -724,9 +689,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1104..1105) ")" ATMOSPHERE: (1105..1106) " " ATMOSPHERE: (1106..1112) "; -> a" - ATMOSPHERE: (1112..1114) " - -" + ATMOSPHERE: (1112..1114) "\n\n" FORM: (1114..1142) OPEN_PAREN: (1114..1115) "(" SYMBOL: (1115..1122) @@ -759,8 +722,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1150..1151) ")" ATMOSPHERE: (1151..1152) " " ATMOSPHERE: (1152..1164) "; -> (c b a)" - ATMOSPHERE: (1164..1165) " -" + ATMOSPHERE: (1164..1165) "\n" FORM: (1165..1205) OPEN_PAREN: (1165..1166) "(" SYMBOL: (1166..1173) @@ -811,9 +773,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1213..1214) ")" ATMOSPHERE: (1214..1215) " " ATMOSPHERE: (1215..1239) "; -> ((e (f)) d (b c) a)" - ATMOSPHERE: (1239..1241) " - -" + ATMOSPHERE: (1239..1241) "\n\n" FORM: (1241..1276) OPEN_PAREN: (1241..1242) "(" SYMBOL: (1242..1248) @@ -848,8 +808,7 @@ PROGRAM: (0..2619) IDENTIFIER: (1273..1274) "g" CLOSE_PAREN: (1274..1275) ")" CLOSE_PAREN: (1275..1276) ")" - ATMOSPHERE: (1276..1277) " -" + ATMOSPHERE: (1276..1277) "\n" FORM: (1277..1310) OPEN_PAREN: (1277..1278) "(" SYMBOL: (1278..1285) @@ -872,8 +831,7 @@ PROGRAM: (0..2619) SYMBOL: (1311..1318) IDENTIFIER: (1311..1318) "newline" CLOSE_PAREN: (1318..1319) ")" - ATMOSPHERE: (1319..1320) " -" + ATMOSPHERE: (1319..1320) "\n" FORM: (1320..1353) OPEN_PAREN: (1320..1321) "(" SYMBOL: (1321..1328) @@ -896,8 +854,7 @@ PROGRAM: (0..2619) SYMBOL: (1354..1361) IDENTIFIER: (1354..1361) "newline" CLOSE_PAREN: (1361..1362) ")" - ATMOSPHERE: (1362..1363) " -" + ATMOSPHERE: (1362..1363) "\n" FORM: (1363..1396) OPEN_PAREN: (1363..1364) "(" SYMBOL: (1364..1371) @@ -920,15 +877,12 @@ PROGRAM: (0..2619) SYMBOL: (1397..1404) IDENTIFIER: (1397..1404) "newline" CLOSE_PAREN: (1404..1405) ")" - ATMOSPHERE: (1405..1407) " - -" + ATMOSPHERE: (1405..1407) "\n\n" FORM: (1407..1442) OPEN_PAREN: (1407..1408) "(" SYMBOL: (1408..1415) IDENTIFIER: (1408..1415) "display" - ATMOSPHERE: (1415..1418) " - " + ATMOSPHERE: (1415..1418) "\n " FORM: (1418..1441) OPEN_PAREN: (1418..1419) "(" SYMBOL: (1419..1427) @@ -957,22 +911,18 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1441..1442) ")" ATMOSPHERE: (1442..1443) " " ATMOSPHERE: (1443..1449) "; =⇒ c" - ATMOSPHERE: (1449..1450) " -" + ATMOSPHERE: (1449..1450) "\n" FORM: (1450..1459) OPEN_PAREN: (1450..1451) "(" SYMBOL: (1451..1458) IDENTIFIER: (1451..1458) "newline" CLOSE_PAREN: (1458..1459) ")" - ATMOSPHERE: (1459..1461) " - -" + ATMOSPHERE: (1459..1461) "\n\n" FORM: (1461..1568) OPEN_PAREN: (1461..1462) "(" SYMBOL: (1462..1469) IDENTIFIER: (1462..1469) "display" - ATMOSPHERE: (1469..1472) " - " + ATMOSPHERE: (1469..1472) "\n " FORM: (1472..1543) OPEN_PAREN: (1472..1473) "(" SYMBOL: (1473..1476) @@ -1007,8 +957,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1504..1505) ")" CLOSE_PAREN: (1505..1506) ")" CLOSE_PAREN: (1506..1507) ")" - ATMOSPHERE: (1507..1512) " - " + ATMOSPHERE: (1507..1512) "\n " FORM: (1512..1535) OPEN_PAREN: (1512..1513) "(" SYMBOL: (1513..1522) @@ -1025,24 +974,20 @@ PROGRAM: (0..2619) SYMBOL: (1529..1534) IDENTIFIER: (1529..1534) "three" CLOSE_PAREN: (1534..1535) ")" - ATMOSPHERE: (1535..1540) " - " + ATMOSPHERE: (1535..1540) "\n " SYMBOL: (1540..1542) IDENTIFIER: (1540..1542) "ls" CLOSE_PAREN: (1542..1543) ")" ATMOSPHERE: (1543..1544) " " ATMOSPHERE: (1544..1564) "; =⇒ (one two three)" - ATMOSPHERE: (1564..1567) " - " + ATMOSPHERE: (1564..1567) "\n " CLOSE_PAREN: (1567..1568) ")" FORM: (1568..1577) OPEN_PAREN: (1568..1569) "(" SYMBOL: (1569..1576) IDENTIFIER: (1569..1576) "newline" CLOSE_PAREN: (1576..1577) ")" - ATMOSPHERE: (1577..1579) " - -" + ATMOSPHERE: (1577..1579) "\n\n" FORM: (1579..1626) OPEN_PAREN: (1579..1580) "(" SYMBOL: (1580..1587) @@ -1071,8 +1016,7 @@ PROGRAM: (0..2619) SYMBOL: (1627..1634) IDENTIFIER: (1627..1634) "newline" CLOSE_PAREN: (1634..1635) ")" - ATMOSPHERE: (1635..1636) " -" + ATMOSPHERE: (1635..1636) "\n" FORM: (1636..1659) OPEN_PAREN: (1636..1637) "(" SYMBOL: (1637..1644) @@ -1092,10 +1036,7 @@ PROGRAM: (0..2619) SYMBOL: (1660..1667) IDENTIFIER: (1660..1667) "newline" CLOSE_PAREN: (1667..1668) ")" - ATMOSPHERE: (1668..1671) " - - -" + ATMOSPHERE: (1668..1671) "\n\n\n" FORM: (1671..1699) OPEN_PAREN: (1671..1672) "(" SYMBOL: (1672..1679) @@ -1133,8 +1074,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1707..1708) ")" ATMOSPHERE: (1708..1709) " " ATMOSPHERE: (1709..1721) "; -> (a b c)" - ATMOSPHERE: (1721..1722) " -" + ATMOSPHERE: (1721..1722) "\n" FORM: (1722..1750) OPEN_PAREN: (1722..1723) "(" SYMBOL: (1723..1730) @@ -1172,8 +1112,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1758..1759) ")" ATMOSPHERE: (1759..1760) " " ATMOSPHERE: (1760..1770) "; -> (b c)" - ATMOSPHERE: (1770..1771) " -" + ATMOSPHERE: (1770..1771) "\n" FORM: (1771..1799) OPEN_PAREN: (1771..1772) "(" SYMBOL: (1772..1779) @@ -1211,8 +1150,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1807..1808) ")" ATMOSPHERE: (1808..1809) " " ATMOSPHERE: (1809..1816) "; -> #f" - ATMOSPHERE: (1816..1817) " -" + ATMOSPHERE: (1816..1817) "\n" FORM: (1817..1854) OPEN_PAREN: (1817..1818) "(" SYMBOL: (1818..1825) @@ -1259,8 +1197,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1862..1863) ")" ATMOSPHERE: (1863..1864) " " ATMOSPHERE: (1864..1871) "; -> #f" - ATMOSPHERE: (1871..1872) " -" + ATMOSPHERE: (1871..1872) "\n" FORM: (1872..1913) OPEN_PAREN: (1872..1873) "(" SYMBOL: (1873..1880) @@ -1281,8 +1218,7 @@ PROGRAM: (0..2619) SYMBOL: (1896..1897) IDENTIFIER: (1896..1897) "a" CLOSE_PAREN: (1897..1898) ")" - ATMOSPHERE: (1898..1901) " - " + ATMOSPHERE: (1898..1901) "\n " QUOTED_DATUM: (1901..1911) QUOTE: (1901..1902) "’" FORM: (1902..1911) @@ -1308,8 +1244,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (1921..1922) ")" ATMOSPHERE: (1922..1923) " " ATMOSPHERE: (1923..1935) "; -> ((a) c)" - ATMOSPHERE: (1935..1936) " -" + ATMOSPHERE: (1935..1936) "\n" FORM: (1936..1987) OPEN_PAREN: (1936..1937) "(" SYMBOL: (1937..1944) @@ -1321,24 +1256,22 @@ PROGRAM: (0..2619) IDENTIFIER: (1946..1952) "member" ATMOSPHERE: (1952..1953) " " CONSTANT: (1953..1956) - CHARACTER: (1953..1956) "#\B" - ATMOSPHERE: (1956..1959) " - " + CHARACTER: (1953..1956) "#\\B" + ATMOSPHERE: (1956..1959) "\n " QUOTED_DATUM: (1959..1976) QUOTE: (1959..1960) "’" FORM: (1960..1973) OPEN_PAREN: (1960..1961) "(" CONSTANT: (1961..1964) - CHARACTER: (1961..1964) "#\a" + CHARACTER: (1961..1964) "#\\a" ATMOSPHERE: (1964..1965) " " CONSTANT: (1965..1968) - CHARACTER: (1965..1968) "#\b" + CHARACTER: (1965..1968) "#\\b" ATMOSPHERE: (1968..1969) " " CONSTANT: (1969..1972) - CHARACTER: (1969..1972) "#\c" + CHARACTER: (1969..1972) "#\\c" CLOSE_PAREN: (1972..1973) ")" - ATMOSPHERE: (1973..1976) " - " + ATMOSPHERE: (1973..1976) "\n " SYMBOL: (1976..1985) IDENTIFIER: (1976..1985) "char-ci=?" CLOSE_PAREN: (1985..1986) ")" @@ -1349,9 +1282,8 @@ PROGRAM: (0..2619) IDENTIFIER: (1988..1995) "newline" CLOSE_PAREN: (1995..1996) ")" ATMOSPHERE: (1996..1997) " " - ATMOSPHERE: (1997..2011) "; -> (#\b #\c)" - ATMOSPHERE: (2011..2012) " -" + ATMOSPHERE: (1997..2011) "; -> (#\\b #\\c)" + ATMOSPHERE: (2011..2012) "\n" FORM: (2012..2047) OPEN_PAREN: (2012..2013) "(" SYMBOL: (2013..2020) @@ -1387,8 +1319,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2055..2056) ")" ATMOSPHERE: (2056..2057) " " ATMOSPHERE: (2057..2073) "; -> unspecified" - ATMOSPHERE: (2073..2074) " -" + ATMOSPHERE: (2073..2074) "\n" FORM: (2074..2109) OPEN_PAREN: (2074..2075) "(" SYMBOL: (2075..2082) @@ -1424,9 +1355,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2117..2118) ")" ATMOSPHERE: (2118..2119) " " ATMOSPHERE: (2119..2133) "; -> (101 102)" - ATMOSPHERE: (2133..2135) " - -" + ATMOSPHERE: (2133..2135) "\n\n" FORM: (2135..2166) OPEN_PAREN: (2135..2136) "(" SYMBOL: (2136..2142) @@ -1467,8 +1396,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2163..2164) ")" CLOSE_PAREN: (2164..2165) ")" CLOSE_PAREN: (2165..2166) ")" - ATMOSPHERE: (2166..2167) " -" + ATMOSPHERE: (2166..2167) "\n" FORM: (2167..2188) OPEN_PAREN: (2167..2168) "(" SYMBOL: (2168..2175) @@ -1495,8 +1423,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2196..2197) ")" ATMOSPHERE: (2197..2198) " " ATMOSPHERE: (2198..2208) "; -> (a 1)" - ATMOSPHERE: (2208..2209) " -" + ATMOSPHERE: (2208..2209) "\n" FORM: (2209..2230) OPEN_PAREN: (2209..2210) "(" SYMBOL: (2210..2217) @@ -1523,8 +1450,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2238..2239) ")" ATMOSPHERE: (2239..2240) " " ATMOSPHERE: (2240..2250) "; -> (b 2)" - ATMOSPHERE: (2250..2251) " -" + ATMOSPHERE: (2250..2251) "\n" FORM: (2251..2272) OPEN_PAREN: (2251..2252) "(" SYMBOL: (2252..2259) @@ -1551,8 +1477,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2280..2281) ")" ATMOSPHERE: (2281..2282) " " ATMOSPHERE: (2282..2289) "; -> #f" - ATMOSPHERE: (2289..2290) " -" + ATMOSPHERE: (2289..2290) "\n" FORM: (2290..2337) OPEN_PAREN: (2290..2291) "(" SYMBOL: (2291..2298) @@ -1614,8 +1539,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2345..2346) ")" ATMOSPHERE: (2346..2347) " " ATMOSPHERE: (2347..2354) "; -> #f" - ATMOSPHERE: (2354..2355) " -" + ATMOSPHERE: (2354..2355) "\n" FORM: (2355..2403) OPEN_PAREN: (2355..2356) "(" SYMBOL: (2356..2363) @@ -1677,8 +1601,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2411..2412) ")" ATMOSPHERE: (2412..2413) " " ATMOSPHERE: (2413..2423) "; -> ((a))" - ATMOSPHERE: (2423..2424) " -" + ATMOSPHERE: (2423..2424) "\n" FORM: (2424..2468) OPEN_PAREN: (2424..2425) "(" SYMBOL: (2425..2432) @@ -1735,8 +1658,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2476..2477) ")" ATMOSPHERE: (2477..2478) " " ATMOSPHERE: (2478..2488) "; -> (2 4)" - ATMOSPHERE: (2488..2489) " -" + ATMOSPHERE: (2488..2489) "\n" FORM: (2489..2530) OPEN_PAREN: (2489..2490) "(" SYMBOL: (2490..2497) @@ -1790,8 +1712,7 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2538..2539) ")" ATMOSPHERE: (2539..2540) " " ATMOSPHERE: (2540..2556) "; -> unspecified" - ATMOSPHERE: (2556..2557) " -" + ATMOSPHERE: (2556..2557) "\n" FORM: (2557..2598) OPEN_PAREN: (2557..2558) "(" SYMBOL: (2558..2565) @@ -1845,6 +1766,5 @@ PROGRAM: (0..2619) CLOSE_PAREN: (2606..2607) ")" ATMOSPHERE: (2607..2608) " " ATMOSPHERE: (2608..2618) "; -> (5 7)" - ATMOSPHERE: (2618..2619) " -" + ATMOSPHERE: (2618..2619) "\n" EOF: (2619..2619) "" diff --git a/spec/literals.ast b/spec/literals.ast index 73b0817..1218cb9 100644 --- a/spec/literals.ast +++ b/spec/literals.ast @@ -1,20 +1,16 @@ PROGRAM: (0..25) CONSTANT: (0..1) NUMBER: (0..1) "1" - ATMOSPHERE: (1..2) " -" + ATMOSPHERE: (1..2) "\n" CONSTANT: (2..15) - STRING: (2..15) ""hello world"" - ATMOSPHERE: (15..16) " -" + STRING: (2..15) "\"hello world\"" + ATMOSPHERE: (15..16) "\n" CONSTANT: (16..18) BOOLEAN: (16..18) "#t" - ATMOSPHERE: (18..19) " -" + ATMOSPHERE: (18..19) "\n" CONSTANT: (19..21) BOOLEAN: (19..21) "#f" - ATMOSPHERE: (21..22) " -" + ATMOSPHERE: (21..22) "\n" CONSTANT: (22..25) NUMBER: (22..25) "123" EOF: (25..25) "" diff --git a/spec/load_and_store.ast b/spec/load_and_store.ast index 3eed316..3060a18 100644 --- a/spec/load_and_store.ast +++ b/spec/load_and_store.ast @@ -10,8 +10,7 @@ PROGRAM: (0..46) CONSTANT: (12..15) NUMBER: (12..15) "100" CLOSE_PAREN: (15..16) ")" - ATMOSPHERE: (16..17) " -" + ATMOSPHERE: (16..17) "\n" FORM: (17..37) OPEN_PAREN: (17..18) "(" SYMBOL: (18..24) @@ -21,16 +20,13 @@ PROGRAM: (0..46) IDENTIFIER: (25..28) "bar" ATMOSPHERE: (28..29) " " CONSTANT: (29..36) - STRING: (29..36) ""hello"" + STRING: (29..36) "\"hello\"" CLOSE_PAREN: (36..37) ")" - ATMOSPHERE: (37..38) " -" + ATMOSPHERE: (37..38) "\n" SYMBOL: (38..41) IDENTIFIER: (38..41) "foo" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" SYMBOL: (42..45) IDENTIFIER: (42..45) "bar" - ATMOSPHERE: (45..46) " -" + ATMOSPHERE: (45..46) "\n" EOF: (46..46) "" diff --git a/spec/locals.ast b/spec/locals.ast index b01eea9..62cfae0 100644 --- a/spec/locals.ast +++ b/spec/locals.ast @@ -12,8 +12,7 @@ PROGRAM: (0..182) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,9 +22,7 @@ PROGRAM: (0..182) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..161) OPEN_PAREN: (43..44) "(" SYMBOL: (44..50) @@ -39,8 +36,7 @@ PROGRAM: (0..182) SYMBOL: (57..58) IDENTIFIER: (57..58) "n" CLOSE_PAREN: (58..59) ")" - ATMOSPHERE: (59..64) " - " + ATMOSPHERE: (59..64) "\n " FORM: (64..160) OPEN_PAREN: (64..65) "(" SYMBOL: (65..67) @@ -57,18 +53,15 @@ PROGRAM: (0..182) CONSTANT: (73..74) NUMBER: (73..74) "0" CLOSE_PAREN: (74..75) ")" - ATMOSPHERE: (75..84) " - " + ATMOSPHERE: (75..84) "\n " CONSTANT: (84..85) NUMBER: (84..85) "1" - ATMOSPHERE: (85..94) " - " + ATMOSPHERE: (85..94) "\n " FORM: (94..159) OPEN_PAREN: (94..95) "(" SYMBOL: (95..100) IDENTIFIER: (95..100) "begin" - ATMOSPHERE: (100..113) " - " + ATMOSPHERE: (100..113) "\n " FORM: (113..131) OPEN_PAREN: (113..114) "(" SYMBOL: (114..120) @@ -89,8 +82,7 @@ PROGRAM: (0..182) NUMBER: (128..129) "1" CLOSE_PAREN: (129..130) ")" CLOSE_PAREN: (130..131) ")" - ATMOSPHERE: (131..144) " - " + ATMOSPHERE: (131..144) "\n " FORM: (144..158) OPEN_PAREN: (144..145) "(" SYMBOL: (145..146) @@ -111,9 +103,7 @@ PROGRAM: (0..182) CLOSE_PAREN: (158..159) ")" CLOSE_PAREN: (159..160) ")" CLOSE_PAREN: (160..161) ")" - ATMOSPHERE: (161..163) " - -" + ATMOSPHERE: (161..163) "\n\n" FORM: (163..181) OPEN_PAREN: (163..164) "(" SYMBOL: (164..171) diff --git a/spec/norun/forever.ast b/spec/norun/forever.ast index ecbba7c..81faefc 100644 --- a/spec/norun/forever.ast +++ b/spec/norun/forever.ast @@ -7,8 +7,7 @@ PROGRAM: (0..81) SYMBOL: (8..13) IDENTIFIER: (8..13) "world" CLOSE_PAREN: (13..14) ")" - ATMOSPHERE: (14..15) " -" + ATMOSPHERE: (14..15) "\n" FORM: (15..39) OPEN_PAREN: (15..16) "(" SYMBOL: (16..22) @@ -26,8 +25,7 @@ PROGRAM: (0..81) IDENTIFIER: (32..37) "world" CLOSE_PAREN: (37..38) ")" CLOSE_PAREN: (38..39) ")" - ATMOSPHERE: (39..40) " -" + ATMOSPHERE: (39..40) "\n" FORM: (40..72) OPEN_PAREN: (40..41) "(" SYMBOL: (41..45) @@ -52,13 +50,11 @@ PROGRAM: (0..81) CLOSE_PAREN: (69..70) ")" CLOSE_PAREN: (70..71) ")" CLOSE_PAREN: (71..72) ")" - ATMOSPHERE: (72..73) " -" + ATMOSPHERE: (72..73) "\n" FORM: (73..80) OPEN_PAREN: (73..74) "(" SYMBOL: (74..79) IDENTIFIER: (74..79) "hello" CLOSE_PAREN: (79..80) ")" - ATMOSPHERE: (80..81) " -" + ATMOSPHERE: (80..81) "\n" EOF: (81..81) "" diff --git a/spec/parameters.ast b/spec/parameters.ast index 33cbc43..6864c3c 100644 --- a/spec/parameters.ast +++ b/spec/parameters.ast @@ -15,13 +15,11 @@ PROGRAM: (0..97) SYMBOL: (15..16) IDENTIFIER: (15..16) "b" CLOSE_PAREN: (16..17) ")" - ATMOSPHERE: (17..22) " - " + ATMOSPHERE: (17..22) "\n " SYMBOL: (22..23) IDENTIFIER: (22..23) "b" CLOSE_PAREN: (23..24) ")" - ATMOSPHERE: (24..25) " -" + ATMOSPHERE: (24..25) "\n" FORM: (25..51) OPEN_PAREN: (25..26) "(" SYMBOL: (26..32) @@ -41,16 +39,13 @@ PROGRAM: (0..97) SYMBOL: (42..43) IDENTIFIER: (42..43) "c" CLOSE_PAREN: (43..44) ")" - ATMOSPHERE: (44..49) " - " + ATMOSPHERE: (44..49) "\n " SYMBOL: (49..50) IDENTIFIER: (49..50) "a" CLOSE_PAREN: (50..51) ")" - ATMOSPHERE: (51..52) " -" + ATMOSPHERE: (51..52) "\n" ATMOSPHERE: (52..71) "; should return 101" - ATMOSPHERE: (71..72) " -" + ATMOSPHERE: (71..72) "\n" FORM: (72..97) OPEN_PAREN: (72..73) "(" SYMBOL: (73..76) diff --git a/spec/process-context.ast b/spec/process-context.ast index bb4fd44..59b0c58 100644 --- a/spec/process-context.ast +++ b/spec/process-context.ast @@ -12,8 +12,7 @@ PROGRAM: (0..199) SYMBOL: (16..31) IDENTIFIER: (16..31) "process-context" CLOSE_PAREN: (31..32) ")" - ATMOSPHERE: (32..35) " - " + ATMOSPHERE: (32..35) "\n " FORM: (35..48) OPEN_PAREN: (35..36) "(" SYMBOL: (36..42) @@ -22,8 +21,7 @@ PROGRAM: (0..199) SYMBOL: (43..47) IDENTIFIER: (43..47) "base" CLOSE_PAREN: (47..48) ")" - ATMOSPHERE: (48..51) " - " + ATMOSPHERE: (48..51) "\n " FORM: (51..65) OPEN_PAREN: (51..52) "(" SYMBOL: (52..58) @@ -33,9 +31,7 @@ PROGRAM: (0..199) IDENTIFIER: (59..64) "write" CLOSE_PAREN: (64..65) ")" CLOSE_PAREN: (65..66) ")" - ATMOSPHERE: (66..68) " - -" + ATMOSPHERE: (66..68) "\n\n" FORM: (68..122) OPEN_PAREN: (68..69) "(" SYMBOL: (69..76) @@ -47,11 +43,10 @@ PROGRAM: (0..199) IDENTIFIER: (78..102) "get-environment-variable" ATMOSPHERE: (102..103) " " CONSTANT: (103..120) - STRING: (103..120) ""FEERSUM_TESTING"" + STRING: (103..120) "\"FEERSUM_TESTING\"" CLOSE_PAREN: (120..121) ")" CLOSE_PAREN: (121..122) ")" - ATMOSPHERE: (122..123) " -" + ATMOSPHERE: (122..123) "\n" FORM: (123..186) OPEN_PAREN: (123..124) "(" SYMBOL: (124..131) @@ -63,7 +58,7 @@ PROGRAM: (0..199) IDENTIFIER: (133..138) "assoc" ATMOSPHERE: (138..139) " " CONSTANT: (139..156) - STRING: (139..156) ""FEERSUM_TESTING"" + STRING: (139..156) "\"FEERSUM_TESTING\"" ATMOSPHERE: (156..157) " " FORM: (157..184) OPEN_PAREN: (157..158) "(" @@ -72,9 +67,7 @@ PROGRAM: (0..199) CLOSE_PAREN: (183..184) ")" CLOSE_PAREN: (184..185) ")" CLOSE_PAREN: (185..186) ")" - ATMOSPHERE: (186..188) " - -" + ATMOSPHERE: (186..188) "\n\n" FORM: (188..198) OPEN_PAREN: (188..189) "(" SYMBOL: (189..193) @@ -83,6 +76,5 @@ PROGRAM: (0..199) CONSTANT: (194..197) NUMBER: (194..197) "123" CLOSE_PAREN: (197..198) ")" - ATMOSPHERE: (198..199) " -" + ATMOSPHERE: (198..199) "\n" EOF: (199..199) "" diff --git a/spec/qsort.ast b/spec/qsort.ast index b5f06c3..db6ddff 100644 --- a/spec/qsort.ast +++ b/spec/qsort.ast @@ -1,7 +1,6 @@ PROGRAM: (0..2752) ATMOSPHERE: (0..26) ";; Sorting library example" - ATMOSPHERE: (26..27) " -" + ATMOSPHERE: (26..27) "\n" FORM: (27..2545) OPEN_PAREN: (27..28) "(" SYMBOL: (28..42) @@ -12,8 +11,7 @@ PROGRAM: (0..2752) SYMBOL: (44..48) IDENTIFIER: (44..48) "sort" CLOSE_PAREN: (48..49) ")" - ATMOSPHERE: (49..54) " - " + ATMOSPHERE: (49..54) "\n " FORM: (54..258) OPEN_PAREN: (54..55) "(" SYMBOL: (55..61) @@ -27,14 +25,11 @@ PROGRAM: (0..2752) SYMBOL: (70..74) IDENTIFIER: (70..74) "base" CLOSE_PAREN: (74..75) ")" - ATMOSPHERE: (75..84) " - " + ATMOSPHERE: (75..84) "\n " ATMOSPHERE: (84..151) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" - ATMOSPHERE: (151..160) " - " + ATMOSPHERE: (151..160) "\n " ATMOSPHERE: (160..224) ";; exporting or re-exporting macro definitions currently." - ATMOSPHERE: (224..233) " - " + ATMOSPHERE: (224..233) "\n " FORM: (233..257) OPEN_PAREN: (233..234) "(" SYMBOL: (234..241) @@ -47,8 +42,7 @@ PROGRAM: (0..2752) IDENTIFIER: (250..256) "macros" CLOSE_PAREN: (256..257) ")" CLOSE_PAREN: (257..258) ")" - ATMOSPHERE: (258..263) " - " + ATMOSPHERE: (258..263) "\n " FORM: (263..291) OPEN_PAREN: (263..264) "(" SYMBOL: (264..270) @@ -66,32 +60,24 @@ PROGRAM: (0..2752) IDENTIFIER: (285..289) "sort" CLOSE_PAREN: (289..290) ")" CLOSE_PAREN: (290..291) ")" - ATMOSPHERE: (291..296) " - " + ATMOSPHERE: (291..296) "\n " FORM: (296..2544) OPEN_PAREN: (296..297) "(" SYMBOL: (297..302) IDENTIFIER: (297..302) "begin" - ATMOSPHERE: (302..311) " - " + ATMOSPHERE: (302..311) "\n " ATMOSPHERE: (311..332) ";; Partition Utitlity" - ATMOSPHERE: (332..341) " - " + ATMOSPHERE: (332..341) "\n " ATMOSPHERE: (341..342) ";" - ATMOSPHERE: (342..351) " - " + ATMOSPHERE: (342..351) "\n " ATMOSPHERE: (351..422) "; This function takes a given `lst` and partitions it around a `pivot`." - ATMOSPHERE: (422..431) " - " + ATMOSPHERE: (422..431) "\n " ATMOSPHERE: (431..503) "; The result is a list who's `car` is a list containing the numbers less" - ATMOSPHERE: (503..512) " - " + ATMOSPHERE: (503..512) "\n " ATMOSPHERE: (512..583) "; than the pivot, and `cdr` is a list containing those greater than the" - ATMOSPHERE: (583..592) " - " + ATMOSPHERE: (583..592) "\n " ATMOSPHERE: (592..600) "; pivot." - ATMOSPHERE: (600..609) " - " + ATMOSPHERE: (600..609) "\n " FORM: (609..1024) OPEN_PAREN: (609..610) "(" SYMBOL: (610..616) @@ -108,8 +94,7 @@ PROGRAM: (0..2752) SYMBOL: (634..637) IDENTIFIER: (634..637) "lst" CLOSE_PAREN: (637..638) ")" - ATMOSPHERE: (638..651) " - " + ATMOSPHERE: (638..651) "\n " FORM: (651..1023) OPEN_PAREN: (651..652) "(" SYMBOL: (652..654) @@ -123,8 +108,7 @@ PROGRAM: (0..2752) SYMBOL: (662..665) IDENTIFIER: (662..665) "lst" CLOSE_PAREN: (665..666) ")" - ATMOSPHERE: (666..683) " - " + ATMOSPHERE: (666..683) "\n " QUOTED_DATUM: (683..705) QUOTE: (683..684) "'" FORM: (684..688) @@ -133,8 +117,7 @@ PROGRAM: (0..2752) OPEN_PAREN: (685..686) "(" CLOSE_PAREN: (686..687) ")" CLOSE_PAREN: (687..688) ")" - ATMOSPHERE: (688..705) " - " + ATMOSPHERE: (688..705) "\n " FORM: (705..1022) OPEN_PAREN: (705..706) "(" SYMBOL: (706..709) @@ -156,8 +139,7 @@ PROGRAM: (0..2752) IDENTIFIER: (725..728) "lst" CLOSE_PAREN: (728..729) ")" CLOSE_PAREN: (729..730) ")" - ATMOSPHERE: (730..751) " - " + ATMOSPHERE: (730..751) "\n " FORM: (751..785) OPEN_PAREN: (751..752) "(" SYMBOL: (752..756) @@ -182,8 +164,7 @@ PROGRAM: (0..2752) CLOSE_PAREN: (783..784) ")" CLOSE_PAREN: (784..785) ")" CLOSE_PAREN: (785..786) ")" - ATMOSPHERE: (786..807) " - " + ATMOSPHERE: (786..807) "\n " FORM: (807..1021) OPEN_PAREN: (807..808) "(" SYMBOL: (808..810) @@ -200,8 +181,7 @@ PROGRAM: (0..2752) SYMBOL: (822..827) IDENTIFIER: (822..827) "pivot" CLOSE_PAREN: (827..828) ")" - ATMOSPHERE: (828..853) " - " + ATMOSPHERE: (828..853) "\n " FORM: (853..924) OPEN_PAREN: (853..854) "(" SYMBOL: (854..858) @@ -224,8 +204,7 @@ PROGRAM: (0..2752) IDENTIFIER: (878..882) "rest" CLOSE_PAREN: (882..883) ")" CLOSE_PAREN: (883..884) ")" - ATMOSPHERE: (884..913) " - " + ATMOSPHERE: (884..913) "\n " FORM: (913..923) OPEN_PAREN: (913..914) "(" SYMBOL: (914..917) @@ -235,8 +214,7 @@ PROGRAM: (0..2752) IDENTIFIER: (918..922) "rest" CLOSE_PAREN: (922..923) ")" CLOSE_PAREN: (923..924) ")" - ATMOSPHERE: (924..949) " - " + ATMOSPHERE: (924..949) "\n " FORM: (949..1020) OPEN_PAREN: (949..950) "(" SYMBOL: (950..954) @@ -250,8 +228,7 @@ PROGRAM: (0..2752) SYMBOL: (960..964) IDENTIFIER: (960..964) "rest" CLOSE_PAREN: (964..965) ")" - ATMOSPHERE: (965..994) " - " + ATMOSPHERE: (965..994) "\n " FORM: (994..1019) OPEN_PAREN: (994..995) "(" SYMBOL: (995..999) @@ -274,27 +251,19 @@ PROGRAM: (0..2752) CLOSE_PAREN: (1021..1022) ")" CLOSE_PAREN: (1022..1023) ")" CLOSE_PAREN: (1023..1024) ")" - ATMOSPHERE: (1024..1034) " - - " + ATMOSPHERE: (1024..1034) "\n\n " ATMOSPHERE: (1034..1079) ";; Append the `right` list to the `left` one." - ATMOSPHERE: (1079..1088) " - " + ATMOSPHERE: (1079..1088) "\n " ATMOSPHERE: (1088..1089) ";" - ATMOSPHERE: (1089..1098) " - " + ATMOSPHERE: (1089..1098) "\n " ATMOSPHERE: (1098..1170) "; This function uses two helpers to tail-recursively reconstruct a list." - ATMOSPHERE: (1170..1179) " - " + ATMOSPHERE: (1170..1179) "\n " ATMOSPHERE: (1179..1247) "; The `append-helper` first recurses moving elements from the `left`" - ATMOSPHERE: (1247..1256) " - " + ATMOSPHERE: (1247..1256) "\n " ATMOSPHERE: (1256..1327) "; list into the accumuulator. Once the left list is empty the base case" - ATMOSPHERE: (1327..1336) " - " + ATMOSPHERE: (1327..1336) "\n " ATMOSPHERE: (1336..1398) "; uses `rebuild` to tail-recursively construct the final list." - ATMOSPHERE: (1398..1407) " - " + ATMOSPHERE: (1398..1407) "\n " FORM: (1407..1890) OPEN_PAREN: (1407..1408) "(" SYMBOL: (1408..1414) @@ -311,8 +280,7 @@ PROGRAM: (0..2752) SYMBOL: (1428..1433) IDENTIFIER: (1428..1433) "right" CLOSE_PAREN: (1433..1434) ")" - ATMOSPHERE: (1434..1447) " - " + ATMOSPHERE: (1434..1447) "\n " FORM: (1447..1597) OPEN_PAREN: (1447..1448) "(" SYMBOL: (1448..1454) @@ -329,8 +297,7 @@ PROGRAM: (0..2752) SYMBOL: (1468..1473) IDENTIFIER: (1468..1473) "right" CLOSE_PAREN: (1473..1474) ")" - ATMOSPHERE: (1474..1491) " - " + ATMOSPHERE: (1474..1491) "\n " FORM: (1491..1596) OPEN_PAREN: (1491..1492) "(" SYMBOL: (1492..1494) @@ -344,12 +311,10 @@ PROGRAM: (0..2752) SYMBOL: (1502..1505) IDENTIFIER: (1502..1505) "acc" CLOSE_PAREN: (1505..1506) ")" - ATMOSPHERE: (1506..1527) " - " + ATMOSPHERE: (1506..1527) "\n " SYMBOL: (1527..1532) IDENTIFIER: (1527..1532) "right" - ATMOSPHERE: (1532..1553) " - " + ATMOSPHERE: (1532..1553) "\n " FORM: (1553..1595) OPEN_PAREN: (1553..1554) "(" SYMBOL: (1554..1561) @@ -384,8 +349,7 @@ PROGRAM: (0..2752) CLOSE_PAREN: (1594..1595) ")" CLOSE_PAREN: (1595..1596) ")" CLOSE_PAREN: (1596..1597) ")" - ATMOSPHERE: (1597..1610) " - " + ATMOSPHERE: (1597..1610) "\n " FORM: (1610..1846) OPEN_PAREN: (1610..1611) "(" SYMBOL: (1611..1617) @@ -405,8 +369,7 @@ PROGRAM: (0..2752) SYMBOL: (1642..1647) IDENTIFIER: (1642..1647) "right" CLOSE_PAREN: (1647..1648) ")" - ATMOSPHERE: (1648..1665) " - " + ATMOSPHERE: (1648..1665) "\n " FORM: (1665..1845) OPEN_PAREN: (1665..1666) "(" SYMBOL: (1666..1668) @@ -420,8 +383,7 @@ PROGRAM: (0..2752) SYMBOL: (1676..1680) IDENTIFIER: (1676..1680) "left" CLOSE_PAREN: (1680..1681) ")" - ATMOSPHERE: (1681..1702) " - " + ATMOSPHERE: (1681..1702) "\n " FORM: (1702..1721) OPEN_PAREN: (1702..1703) "(" SYMBOL: (1703..1710) @@ -433,8 +395,7 @@ PROGRAM: (0..2752) SYMBOL: (1715..1720) IDENTIFIER: (1715..1720) "right" CLOSE_PAREN: (1720..1721) ")" - ATMOSPHERE: (1721..1742) " - " + ATMOSPHERE: (1721..1742) "\n " FORM: (1742..1844) OPEN_PAREN: (1742..1743) "(" SYMBOL: (1743..1756) @@ -457,8 +418,7 @@ PROGRAM: (0..2752) SYMBOL: (1774..1777) IDENTIFIER: (1774..1777) "acc" CLOSE_PAREN: (1777..1778) ")" - ATMOSPHERE: (1778..1803) " - " + ATMOSPHERE: (1778..1803) "\n " FORM: (1803..1813) OPEN_PAREN: (1803..1804) "(" SYMBOL: (1804..1807) @@ -467,15 +427,13 @@ PROGRAM: (0..2752) SYMBOL: (1808..1812) IDENTIFIER: (1808..1812) "left" CLOSE_PAREN: (1812..1813) ")" - ATMOSPHERE: (1813..1838) " - " + ATMOSPHERE: (1813..1838) "\n " SYMBOL: (1838..1843) IDENTIFIER: (1838..1843) "right" CLOSE_PAREN: (1843..1844) ")" CLOSE_PAREN: (1844..1845) ")" CLOSE_PAREN: (1845..1846) ")" - ATMOSPHERE: (1846..1859) " - " + ATMOSPHERE: (1846..1859) "\n " FORM: (1859..1889) OPEN_PAREN: (1859..1860) "(" SYMBOL: (1860..1873) @@ -494,27 +452,19 @@ PROGRAM: (0..2752) IDENTIFIER: (1883..1888) "right" CLOSE_PAREN: (1888..1889) ")" CLOSE_PAREN: (1889..1890) ")" - ATMOSPHERE: (1890..1900) " - - " + ATMOSPHERE: (1890..1900) "\n\n " ATMOSPHERE: (1900..1938) ";; Recursive quicksort implementation." - ATMOSPHERE: (1938..1947) " - " + ATMOSPHERE: (1938..1947) "\n " ATMOSPHERE: (1947..1948) ";" - ATMOSPHERE: (1948..1957) " - " + ATMOSPHERE: (1948..1957) "\n " ATMOSPHERE: (1957..2026) "; Takes a list of numbers and returns a sorted list. Trivially sorted" - ATMOSPHERE: (2026..2035) " - " + ATMOSPHERE: (2026..2035) "\n " ATMOSPHERE: (2035..2106) "; lists are immediately returned. Complex lists are split using a token" - ATMOSPHERE: (2106..2115) " - " + ATMOSPHERE: (2106..2115) "\n " ATMOSPHERE: (2115..2177) "; pivot and the high and low sub-lists are individually sorted" - ATMOSPHERE: (2177..2186) " - " + ATMOSPHERE: (2177..2186) "\n " ATMOSPHERE: (2186..2200) "; recurisvely." - ATMOSPHERE: (2200..2209) " - " + ATMOSPHERE: (2200..2209) "\n " FORM: (2209..2534) OPEN_PAREN: (2209..2210) "(" SYMBOL: (2210..2216) @@ -528,8 +478,7 @@ PROGRAM: (0..2752) SYMBOL: (2224..2228) IDENTIFIER: (2224..2228) "nums" CLOSE_PAREN: (2228..2229) ")" - ATMOSPHERE: (2229..2242) " - " + ATMOSPHERE: (2229..2242) "\n " FORM: (2242..2533) OPEN_PAREN: (2242..2243) "(" SYMBOL: (2243..2245) @@ -564,12 +513,10 @@ PROGRAM: (0..2752) CLOSE_PAREN: (2279..2280) ")" CLOSE_PAREN: (2280..2281) ")" CLOSE_PAREN: (2281..2282) ")" - ATMOSPHERE: (2282..2299) " - " + ATMOSPHERE: (2282..2299) "\n " SYMBOL: (2299..2303) IDENTIFIER: (2299..2303) "nums" - ATMOSPHERE: (2303..2320) " - " + ATMOSPHERE: (2303..2320) "\n " FORM: (2320..2532) OPEN_PAREN: (2320..2321) "(" SYMBOL: (2321..2325) @@ -591,8 +538,7 @@ PROGRAM: (0..2752) IDENTIFIER: (2339..2343) "nums" CLOSE_PAREN: (2343..2344) ")" CLOSE_PAREN: (2344..2345) ")" - ATMOSPHERE: (2345..2370) " - " + ATMOSPHERE: (2345..2370) "\n " FORM: (2370..2412) OPEN_PAREN: (2370..2371) "(" SYMBOL: (2371..2382) @@ -617,8 +563,7 @@ PROGRAM: (0..2752) CLOSE_PAREN: (2410..2411) ")" CLOSE_PAREN: (2411..2412) ")" CLOSE_PAREN: (2412..2413) ")" - ATMOSPHERE: (2413..2434) " - " + ATMOSPHERE: (2413..2434) "\n " FORM: (2434..2531) OPEN_PAREN: (2434..2435) "(" SYMBOL: (2435..2441) @@ -638,8 +583,7 @@ PROGRAM: (0..2752) IDENTIFIER: (2454..2465) "partitioned" CLOSE_PAREN: (2465..2466) ")" CLOSE_PAREN: (2466..2467) ")" - ATMOSPHERE: (2467..2492) " - " + ATMOSPHERE: (2467..2492) "\n " FORM: (2492..2530) OPEN_PAREN: (2492..2493) "(" SYMBOL: (2493..2497) @@ -667,19 +611,15 @@ PROGRAM: (0..2752) CLOSE_PAREN: (2531..2532) ")" CLOSE_PAREN: (2532..2533) ")" CLOSE_PAREN: (2533..2534) ")" - ATMOSPHERE: (2534..2543) " - " + ATMOSPHERE: (2534..2543) "\n " CLOSE_PAREN: (2543..2544) ")" CLOSE_PAREN: (2544..2545) ")" - ATMOSPHERE: (2545..2547) " - -" + ATMOSPHERE: (2545..2547) "\n\n" FORM: (2547..2629) OPEN_PAREN: (2547..2548) "(" SYMBOL: (2548..2554) IDENTIFIER: (2548..2554) "import" - ATMOSPHERE: (2554..2559) " - " + ATMOSPHERE: (2554..2559) "\n " FORM: (2559..2572) OPEN_PAREN: (2559..2560) "(" SYMBOL: (2560..2566) @@ -688,8 +628,7 @@ PROGRAM: (0..2752) SYMBOL: (2567..2571) IDENTIFIER: (2567..2571) "base" CLOSE_PAREN: (2571..2572) ")" - ATMOSPHERE: (2572..2577) " - " + ATMOSPHERE: (2572..2577) "\n " FORM: (2577..2591) OPEN_PAREN: (2577..2578) "(" SYMBOL: (2578..2584) @@ -698,8 +637,7 @@ PROGRAM: (0..2752) SYMBOL: (2585..2590) IDENTIFIER: (2585..2590) "write" CLOSE_PAREN: (2590..2591) ")" - ATMOSPHERE: (2591..2596) " - " + ATMOSPHERE: (2591..2596) "\n " FORM: (2596..2628) OPEN_PAREN: (2596..2597) "(" SYMBOL: (2597..2603) @@ -721,9 +659,7 @@ PROGRAM: (0..2752) CLOSE_PAREN: (2626..2627) ")" CLOSE_PAREN: (2627..2628) ")" CLOSE_PAREN: (2628..2629) ")" - ATMOSPHERE: (2629..2631) " - -" + ATMOSPHERE: (2629..2631) "\n\n" FORM: (2631..2668) OPEN_PAREN: (2631..2632) "(" SYMBOL: (2632..2639) @@ -760,8 +696,7 @@ PROGRAM: (0..2752) SYMBOL: (2669..2676) IDENTIFIER: (2669..2676) "newline" CLOSE_PAREN: (2676..2677) ")" - ATMOSPHERE: (2677..2678) " -" + ATMOSPHERE: (2677..2678) "\n" FORM: (2678..2742) OPEN_PAREN: (2678..2679) "(" SYMBOL: (2679..2686) @@ -843,6 +778,5 @@ PROGRAM: (0..2752) SYMBOL: (2743..2750) IDENTIFIER: (2743..2750) "newline" CLOSE_PAREN: (2750..2751) ")" - ATMOSPHERE: (2751..2752) " -" + ATMOSPHERE: (2751..2752) "\n" EOF: (2752..2752) "" diff --git a/spec/quotes.ast b/spec/quotes.ast index 87202a3..d3d48e6 100644 --- a/spec/quotes.ast +++ b/spec/quotes.ast @@ -12,8 +12,7 @@ PROGRAM: (0..502) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..502) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..54) OPEN_PAREN: (42..43) "(" SYMBOL: (43..50) @@ -40,8 +38,7 @@ PROGRAM: (0..502) SYMBOL: (55..62) IDENTIFIER: (55..62) "newline" CLOSE_PAREN: (62..63) ")" - ATMOSPHERE: (63..64) " -" + ATMOSPHERE: (63..64) "\n" FORM: (64..88) OPEN_PAREN: (64..65) "(" SYMBOL: (65..72) @@ -50,15 +47,14 @@ PROGRAM: (0..502) QUOTED_DATUM: (73..87) QUOTE: (73..74) "'" CONSTANT: (74..87) - STRING: (74..87) ""hello world"" + STRING: (74..87) "\"hello world\"" CLOSE_PAREN: (87..88) ")" FORM: (88..97) OPEN_PAREN: (88..89) "(" SYMBOL: (89..96) IDENTIFIER: (89..96) "newline" CLOSE_PAREN: (96..97) ")" - ATMOSPHERE: (97..98) " -" + ATMOSPHERE: (97..98) "\n" FORM: (98..111) OPEN_PAREN: (98..99) "(" SYMBOL: (99..106) @@ -75,8 +71,7 @@ PROGRAM: (0..502) SYMBOL: (112..119) IDENTIFIER: (112..119) "newline" CLOSE_PAREN: (119..120) ")" - ATMOSPHERE: (120..121) " -" + ATMOSPHERE: (120..121) "\n" FORM: (121..139) OPEN_PAREN: (121..122) "(" SYMBOL: (122..129) @@ -101,8 +96,7 @@ PROGRAM: (0..502) SYMBOL: (140..147) IDENTIFIER: (140..147) "newline" CLOSE_PAREN: (147..148) ")" - ATMOSPHERE: (148..149) " -" + ATMOSPHERE: (148..149) "\n" FORM: (149..168) OPEN_PAREN: (149..150) "(" SYMBOL: (150..157) @@ -122,8 +116,7 @@ PROGRAM: (0..502) SYMBOL: (169..176) IDENTIFIER: (169..176) "newline" CLOSE_PAREN: (176..177) ")" - ATMOSPHERE: (177..178) " -" + ATMOSPHERE: (177..178) "\n" FORM: (178..209) OPEN_PAREN: (178..179) "(" SYMBOL: (179..186) @@ -135,7 +128,7 @@ PROGRAM: (0..502) IDENTIFIER: (188..193) "quote" ATMOSPHERE: (193..194) " " CONSTANT: (194..207) - STRING: (194..207) ""hello world"" + STRING: (194..207) "\"hello world\"" CLOSE_PAREN: (207..208) ")" CLOSE_PAREN: (208..209) ")" FORM: (209..218) @@ -143,8 +136,7 @@ PROGRAM: (0..502) SYMBOL: (210..217) IDENTIFIER: (210..217) "newline" CLOSE_PAREN: (217..218) ")" - ATMOSPHERE: (218..219) " -" + ATMOSPHERE: (218..219) "\n" FORM: (219..239) OPEN_PAREN: (219..220) "(" SYMBOL: (220..227) @@ -165,8 +157,7 @@ PROGRAM: (0..502) SYMBOL: (240..247) IDENTIFIER: (240..247) "newline" CLOSE_PAREN: (247..248) ")" - ATMOSPHERE: (248..249) " -" + ATMOSPHERE: (248..249) "\n" FORM: (249..274) OPEN_PAREN: (249..250) "(" SYMBOL: (250..257) @@ -195,8 +186,7 @@ PROGRAM: (0..502) SYMBOL: (275..282) IDENTIFIER: (275..282) "newline" CLOSE_PAREN: (282..283) ")" - ATMOSPHERE: (283..284) " -" + ATMOSPHERE: (283..284) "\n" FORM: (284..313) OPEN_PAREN: (284..285) "(" SYMBOL: (285..292) @@ -230,8 +220,7 @@ PROGRAM: (0..502) SYMBOL: (314..321) IDENTIFIER: (314..321) "newline" CLOSE_PAREN: (321..322) ")" - ATMOSPHERE: (322..323) " -" + ATMOSPHERE: (322..323) "\n" FORM: (323..335) OPEN_PAREN: (323..324) "(" SYMBOL: (324..331) @@ -247,8 +236,7 @@ PROGRAM: (0..502) SYMBOL: (336..343) IDENTIFIER: (336..343) "newline" CLOSE_PAREN: (343..344) ")" - ATMOSPHERE: (344..345) " -" + ATMOSPHERE: (344..345) "\n" FORM: (345..363) OPEN_PAREN: (345..346) "(" SYMBOL: (346..353) @@ -257,15 +245,14 @@ PROGRAM: (0..502) QUOTED_DATUM: (354..362) QUOTE: (354..355) "'" SYMBOL: (355..362) - IDENTIFIER: (355..362) "|\x20;|" + IDENTIFIER: (355..362) "|\\x20;|" CLOSE_PAREN: (362..363) ")" FORM: (363..372) OPEN_PAREN: (363..364) "(" SYMBOL: (364..371) IDENTIFIER: (364..371) "newline" CLOSE_PAREN: (371..372) ")" - ATMOSPHERE: (372..373) " -" + ATMOSPHERE: (372..373) "\n" FORM: (373..397) OPEN_PAREN: (373..374) "(" SYMBOL: (374..381) @@ -274,15 +261,14 @@ PROGRAM: (0..502) QUOTED_DATUM: (382..396) QUOTE: (382..383) "'" SYMBOL: (383..396) - IDENTIFIER: (383..396) "|test\tident|" + IDENTIFIER: (383..396) "|test\\tident|" CLOSE_PAREN: (396..397) ")" FORM: (397..406) OPEN_PAREN: (397..398) "(" SYMBOL: (398..405) IDENTIFIER: (398..405) "newline" CLOSE_PAREN: (405..406) ")" - ATMOSPHERE: (406..407) " -" + ATMOSPHERE: (406..407) "\n" FORM: (407..431) OPEN_PAREN: (407..408) "(" SYMBOL: (408..415) @@ -298,8 +284,7 @@ PROGRAM: (0..502) SYMBOL: (432..439) IDENTIFIER: (432..439) "newline" CLOSE_PAREN: (439..440) ")" - ATMOSPHERE: (440..441) " -" + ATMOSPHERE: (440..441) "\n" FORM: (441..453) OPEN_PAREN: (441..442) "(" SYMBOL: (442..449) @@ -313,8 +298,7 @@ PROGRAM: (0..502) SYMBOL: (454..461) IDENTIFIER: (454..461) "newline" CLOSE_PAREN: (461..462) ")" - ATMOSPHERE: (462..463) " -" + ATMOSPHERE: (462..463) "\n" FORM: (463..492) OPEN_PAREN: (463..464) "(" SYMBOL: (464..471) @@ -323,13 +307,12 @@ PROGRAM: (0..502) QUOTED_DATUM: (472..491) QUOTE: (472..473) "’" CONSTANT: (473..491) - STRING: (473..491) ""funky-quote-char"" + STRING: (473..491) "\"funky-quote-char\"" CLOSE_PAREN: (491..492) ")" FORM: (492..501) OPEN_PAREN: (492..493) "(" SYMBOL: (493..500) IDENTIFIER: (493..500) "newline" CLOSE_PAREN: (500..501) ")" - ATMOSPHERE: (501..502) " -" + ATMOSPHERE: (501..502) "\n" EOF: (502..502) "" diff --git a/spec/self-capture.ast b/spec/self-capture.ast index a711f23..f8993ea 100644 --- a/spec/self-capture.ast +++ b/spec/self-capture.ast @@ -12,8 +12,7 @@ PROGRAM: (0..818) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,36 +22,25 @@ PROGRAM: (0..818) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" ATMOSPHERE: (43..92) ";; Captured Local Compaction (shadow locals) Test" - ATMOSPHERE: (92..93) " -" + ATMOSPHERE: (92..93) "\n" ATMOSPHERE: (93..94) ";" - ATMOSPHERE: (94..95) " -" + ATMOSPHERE: (94..95) "\n" ATMOSPHERE: (95..174) "; In this example `foo` has two locals. The first is the function `bar` and the" - ATMOSPHERE: (174..175) " -" + ATMOSPHERE: (174..175) "\n" ATMOSPHERE: (175..248) "; second is the initial value `baz`. Once we have performed free variable" - ATMOSPHERE: (248..249) " -" + ATMOSPHERE: (248..249) "\n" ATMOSPHERE: (249..324) "; analysis on the function we identify that `Local 0` (bar) is captured. We" - ATMOSPHERE: (324..325) " -" + ATMOSPHERE: (324..325) "\n" ATMOSPHERE: (325..405) "; want the Lower pass to re-write `baz` from `Local 1` down to `Local 0` in this" - ATMOSPHERE: (405..406) " -" + ATMOSPHERE: (405..406) "\n" ATMOSPHERE: (406..484) "; case, as well as re-writing the references to the captured value to the env." - ATMOSPHERE: (484..485) " -" + ATMOSPHERE: (484..485) "\n" ATMOSPHERE: (485..486) ";" - ATMOSPHERE: (486..487) " -" + ATMOSPHERE: (486..487) "\n" ATMOSPHERE: (487..572) "; captures, locals -- Lower --> captures, locals " - ATMOSPHERE: (572..573) " -" + ATMOSPHERE: (572..573) "\n" FORM: (573..791) OPEN_PAREN: (573..574) "(" SYMBOL: (574..580) @@ -65,8 +53,7 @@ PROGRAM: (0..818) CLOSE_PAREN: (585..586) ")" ATMOSPHERE: (586..592) " " ATMOSPHERE: (592..637) "; [], [Local 0; Local 1] -> [], [Local 0]" - ATMOSPHERE: (637..640) " - " + ATMOSPHERE: (637..640) "\n " FORM: (640..760) OPEN_PAREN: (640..641) "(" SYMBOL: (641..647) @@ -82,8 +69,7 @@ PROGRAM: (0..818) CLOSE_PAREN: (654..655) ")" ATMOSPHERE: (655..657) " " ATMOSPHERE: (657..713) "; [Local 0], [Arg 0] -> [Environment 0], [Arg 0]" - ATMOSPHERE: (713..718) " - " + ATMOSPHERE: (713..718) "\n " FORM: (718..759) OPEN_PAREN: (718..719) "(" SYMBOL: (719..721) @@ -100,12 +86,10 @@ PROGRAM: (0..818) CONSTANT: (727..729) NUMBER: (727..729) "10" CLOSE_PAREN: (729..730) ")" - ATMOSPHERE: (730..737) " - " + ATMOSPHERE: (730..737) "\n " SYMBOL: (737..738) IDENTIFIER: (737..738) "x" - ATMOSPHERE: (738..745) " - " + ATMOSPHERE: (738..745) "\n " FORM: (745..758) OPEN_PAREN: (745..746) "(" SYMBOL: (746..749) @@ -125,8 +109,7 @@ PROGRAM: (0..818) CLOSE_PAREN: (757..758) ")" CLOSE_PAREN: (758..759) ")" CLOSE_PAREN: (759..760) ")" - ATMOSPHERE: (760..763) " - " + ATMOSPHERE: (760..763) "\n " FORM: (763..778) OPEN_PAREN: (763..764) "(" SYMBOL: (764..770) @@ -138,8 +121,7 @@ PROGRAM: (0..818) CONSTANT: (775..777) NUMBER: (775..777) "10" CLOSE_PAREN: (777..778) ")" - ATMOSPHERE: (778..781) " - " + ATMOSPHERE: (778..781) "\n " FORM: (781..790) OPEN_PAREN: (781..782) "(" SYMBOL: (782..785) @@ -149,9 +131,7 @@ PROGRAM: (0..818) IDENTIFIER: (786..789) "baz" CLOSE_PAREN: (789..790) ")" CLOSE_PAREN: (790..791) ")" - ATMOSPHERE: (791..793) " - -" + ATMOSPHERE: (791..793) "\n\n" FORM: (793..808) OPEN_PAREN: (793..794) "(" SYMBOL: (794..801) @@ -168,6 +148,5 @@ PROGRAM: (0..818) SYMBOL: (809..816) IDENTIFIER: (809..816) "newline" CLOSE_PAREN: (816..817) ")" - ATMOSPHERE: (817..818) " -" + ATMOSPHERE: (817..818) "\n" EOF: (818..818) "" diff --git a/spec/string-join.ast b/spec/string-join.ast index fe13635..2bfa155 100644 --- a/spec/string-join.ast +++ b/spec/string-join.ast @@ -12,8 +12,7 @@ PROGRAM: (0..483) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..24) " - " + ATMOSPHERE: (21..24) "\n " FORM: (24..38) OPEN_PAREN: (24..25) "(" SYMBOL: (25..31) @@ -23,8 +22,7 @@ PROGRAM: (0..483) IDENTIFIER: (32..37) "write" CLOSE_PAREN: (37..38) ")" CLOSE_PAREN: (38..39) ")" - ATMOSPHERE: (39..40) " -" + ATMOSPHERE: (39..40) "\n" FORM: (40..300) OPEN_PAREN: (40..41) "(" SYMBOL: (41..47) @@ -41,8 +39,7 @@ PROGRAM: (0..483) SYMBOL: (66..75) IDENTIFIER: (66..75) "delimiter" CLOSE_PAREN: (75..76) ")" - ATMOSPHERE: (76..79) " - " + ATMOSPHERE: (76..79) "\n " FORM: (79..229) OPEN_PAREN: (79..80) "(" SYMBOL: (80..86) @@ -59,8 +56,7 @@ PROGRAM: (0..483) SYMBOL: (110..114) IDENTIFIER: (110..114) "list" CLOSE_PAREN: (114..115) ")" - ATMOSPHERE: (115..120) " - " + ATMOSPHERE: (115..120) "\n " FORM: (120..228) OPEN_PAREN: (120..121) "(" SYMBOL: (121..123) @@ -74,12 +70,10 @@ PROGRAM: (0..483) SYMBOL: (131..135) IDENTIFIER: (131..135) "list" CLOSE_PAREN: (135..136) ")" - ATMOSPHERE: (136..143) " - " + ATMOSPHERE: (136..143) "\n " SYMBOL: (143..149) IDENTIFIER: (143..149) "result" - ATMOSPHERE: (149..156) " - " + ATMOSPHERE: (149..156) "\n " FORM: (156..227) OPEN_PAREN: (156..157) "(" SYMBOL: (157..171) @@ -117,8 +111,7 @@ PROGRAM: (0..483) CLOSE_PAREN: (226..227) ")" CLOSE_PAREN: (227..228) ")" CLOSE_PAREN: (228..229) ")" - ATMOSPHERE: (229..232) " - " + ATMOSPHERE: (229..232) "\n " FORM: (232..299) OPEN_PAREN: (232..233) "(" SYMBOL: (233..235) @@ -132,12 +125,10 @@ PROGRAM: (0..483) SYMBOL: (243..247) IDENTIFIER: (243..247) "list" CLOSE_PAREN: (247..248) ")" - ATMOSPHERE: (248..253) " - " + ATMOSPHERE: (248..253) "\n " CONSTANT: (253..255) - STRING: (253..255) """" - ATMOSPHERE: (255..260) " - " + STRING: (253..255) "\"\"" + ATMOSPHERE: (255..260) "\n " FORM: (260..298) OPEN_PAREN: (260..261) "(" SYMBOL: (261..275) @@ -163,8 +154,7 @@ PROGRAM: (0..483) CLOSE_PAREN: (297..298) ")" CLOSE_PAREN: (298..299) ")" CLOSE_PAREN: (299..300) ")" - ATMOSPHERE: (300..301) " -" + ATMOSPHERE: (300..301) "\n" FORM: (301..360) OPEN_PAREN: (301..302) "(" SYMBOL: (302..309) @@ -176,7 +166,7 @@ PROGRAM: (0..483) IDENTIFIER: (311..324) "string-append" ATMOSPHERE: (324..325) " " CONSTANT: (325..330) - STRING: (325..330) ""<<{"" + STRING: (325..330) "\"<<{\"" ATMOSPHERE: (330..331) " " FORM: (331..352) OPEN_PAREN: (331..332) "(" @@ -190,11 +180,11 @@ PROGRAM: (0..483) CLOSE_PAREN: (346..347) ")" ATMOSPHERE: (347..348) " " CONSTANT: (348..351) - STRING: (348..351) ""-"" + STRING: (348..351) "\"-\"" CLOSE_PAREN: (351..352) ")" ATMOSPHERE: (352..353) " " CONSTANT: (353..358) - STRING: (353..358) ""}>>"" + STRING: (353..358) "\"}>>\"" CLOSE_PAREN: (358..359) ")" CLOSE_PAREN: (359..360) ")" FORM: (360..369) @@ -202,8 +192,7 @@ PROGRAM: (0..483) SYMBOL: (361..368) IDENTIFIER: (361..368) "newline" CLOSE_PAREN: (368..369) ")" - ATMOSPHERE: (369..370) " -" + ATMOSPHERE: (369..370) "\n" FORM: (370..415) OPEN_PAREN: (370..371) "(" SYMBOL: (371..378) @@ -220,7 +209,7 @@ PROGRAM: (0..483) IDENTIFIER: (393..397) "cons" ATMOSPHERE: (397..398) " " CONSTANT: (398..403) - STRING: (398..403) ""foo"" + STRING: (398..403) "\"foo\"" ATMOSPHERE: (403..404) " " QUOTED_DATUM: (404..407) QUOTE: (404..405) "'" @@ -230,7 +219,7 @@ PROGRAM: (0..483) CLOSE_PAREN: (407..408) ")" ATMOSPHERE: (408..409) " " CONSTANT: (409..413) - STRING: (409..413) ""||"" + STRING: (409..413) "\"||\"" CLOSE_PAREN: (413..414) ")" CLOSE_PAREN: (414..415) ")" FORM: (415..424) @@ -238,8 +227,7 @@ PROGRAM: (0..483) SYMBOL: (416..423) IDENTIFIER: (416..423) "newline" CLOSE_PAREN: (423..424) ")" - ATMOSPHERE: (424..425) " -" + ATMOSPHERE: (424..425) "\n" FORM: (425..473) OPEN_PAREN: (425..426) "(" SYMBOL: (426..433) @@ -255,17 +243,17 @@ PROGRAM: (0..483) FORM: (448..467) OPEN_PAREN: (448..449) "(" CONSTANT: (449..454) - STRING: (449..454) ""foo"" + STRING: (449..454) "\"foo\"" ATMOSPHERE: (454..455) " " CONSTANT: (455..460) - STRING: (455..460) ""bar"" + STRING: (455..460) "\"bar\"" ATMOSPHERE: (460..461) " " CONSTANT: (461..466) - STRING: (461..466) ""baz"" + STRING: (461..466) "\"baz\"" CLOSE_PAREN: (466..467) ")" ATMOSPHERE: (467..468) " " CONSTANT: (468..471) - STRING: (468..471) "":"" + STRING: (468..471) "\":\"" CLOSE_PAREN: (471..472) ")" CLOSE_PAREN: (472..473) ")" FORM: (473..482) @@ -273,6 +261,5 @@ PROGRAM: (0..483) SYMBOL: (474..481) IDENTIFIER: (474..481) "newline" CLOSE_PAREN: (481..482) ")" - ATMOSPHERE: (482..483) " -" + ATMOSPHERE: (482..483) "\n" EOF: (483..483) "" diff --git a/spec/strings.ast b/spec/strings.ast index 5ccf17f..0a6af8b 100644 --- a/spec/strings.ast +++ b/spec/strings.ast @@ -1,10 +1,8 @@ PROGRAM: (0..33) CONSTANT: (0..13) - STRING: (0..13) ""hello world"" - ATMOSPHERE: (13..14) " -" + STRING: (0..13) "\"hello world\"" + ATMOSPHERE: (13..14) "\n" CONSTANT: (14..32) - STRING: (14..32) ""stuff and things"" - ATMOSPHERE: (32..33) " -" + STRING: (14..32) "\"stuff and things\"" + ATMOSPHERE: (32..33) "\n" EOF: (33..33) "" diff --git a/spec/swapit.ast b/spec/swapit.ast index 07ae9b1..25a5050 100644 --- a/spec/swapit.ast +++ b/spec/swapit.ast @@ -12,8 +12,7 @@ PROGRAM: (0..403) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,9 +22,7 @@ PROGRAM: (0..403) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..115) OPEN_PAREN: (43..44) "(" SYMBOL: (44..50) @@ -42,8 +39,7 @@ PROGRAM: (0..403) SYMBOL: (60..63) IDENTIFIER: (60..63) "you" CLOSE_PAREN: (63..64) ")" - ATMOSPHERE: (64..69) " - " + ATMOSPHERE: (64..69) "\n " FORM: (69..114) OPEN_PAREN: (69..70) "(" SYMBOL: (70..73) @@ -59,8 +55,7 @@ PROGRAM: (0..403) SYMBOL: (79..82) IDENTIFIER: (79..82) "you" CLOSE_PAREN: (82..83) ")" - ATMOSPHERE: (83..92) " - " + ATMOSPHERE: (83..92) "\n " FORM: (92..100) OPEN_PAREN: (92..93) "(" SYMBOL: (93..96) @@ -70,15 +65,12 @@ PROGRAM: (0..403) IDENTIFIER: (97..99) "me" CLOSE_PAREN: (99..100) ")" CLOSE_PAREN: (100..101) ")" - ATMOSPHERE: (101..110) " - " + ATMOSPHERE: (101..110) "\n " SYMBOL: (110..113) IDENTIFIER: (110..113) "you" CLOSE_PAREN: (113..114) ")" CLOSE_PAREN: (114..115) ")" - ATMOSPHERE: (115..117) " - -" + ATMOSPHERE: (115..117) "\n\n" FORM: (117..340) OPEN_PAREN: (117..118) "(" SYMBOL: (118..121) @@ -104,8 +96,7 @@ PROGRAM: (0..403) NUMBER: (132..133) "2" CLOSE_PAREN: (133..134) ")" CLOSE_PAREN: (134..135) ")" - ATMOSPHERE: (135..140) " - " + ATMOSPHERE: (135..140) "\n " FORM: (140..298) OPEN_PAREN: (140..141) "(" SYMBOL: (141..154) @@ -113,8 +104,7 @@ PROGRAM: (0..403) ATMOSPHERE: (154..155) " " SYMBOL: (155..160) IDENTIFIER: (155..160) "swap!" - ATMOSPHERE: (160..169) " - " + ATMOSPHERE: (160..169) "\n " FORM: (169..297) OPEN_PAREN: (169..170) "(" SYMBOL: (170..182) @@ -123,8 +113,7 @@ PROGRAM: (0..403) FORM: (183..185) OPEN_PAREN: (183..184) "(" CLOSE_PAREN: (184..185) ")" - ATMOSPHERE: (185..198) " - " + ATMOSPHERE: (185..198) "\n " FORM: (198..296) OPEN_PAREN: (198..199) "(" FORM: (199..210) @@ -138,8 +127,7 @@ PROGRAM: (0..403) SYMBOL: (208..209) IDENTIFIER: (208..209) "b" CLOSE_PAREN: (209..210) ")" - ATMOSPHERE: (210..224) " - " + ATMOSPHERE: (210..224) "\n " FORM: (224..295) OPEN_PAREN: (224..225) "(" SYMBOL: (225..228) @@ -156,8 +144,7 @@ PROGRAM: (0..403) IDENTIFIER: (235..236) "a" CLOSE_PAREN: (236..237) ")" CLOSE_PAREN: (237..238) ")" - ATMOSPHERE: (238..255) " - " + ATMOSPHERE: (238..255) "\n " FORM: (255..265) OPEN_PAREN: (255..256) "(" SYMBOL: (256..260) @@ -169,8 +156,7 @@ PROGRAM: (0..403) SYMBOL: (263..264) IDENTIFIER: (263..264) "b" CLOSE_PAREN: (264..265) ")" - ATMOSPHERE: (265..282) " - " + ATMOSPHERE: (265..282) "\n " FORM: (282..294) OPEN_PAREN: (282..283) "(" SYMBOL: (283..287) @@ -186,8 +172,7 @@ PROGRAM: (0..403) CLOSE_PAREN: (295..296) ")" CLOSE_PAREN: (296..297) ")" CLOSE_PAREN: (297..298) ")" - ATMOSPHERE: (298..303) " - " + ATMOSPHERE: (298..303) "\n " FORM: (303..314) OPEN_PAREN: (303..304) "(" SYMBOL: (304..309) @@ -199,8 +184,7 @@ PROGRAM: (0..403) SYMBOL: (312..313) IDENTIFIER: (312..313) "y" CLOSE_PAREN: (313..314) ")" - ATMOSPHERE: (314..319) " - " + ATMOSPHERE: (314..319) "\n " FORM: (319..339) OPEN_PAREN: (319..320) "(" SYMBOL: (320..327) @@ -219,9 +203,7 @@ PROGRAM: (0..403) CLOSE_PAREN: (337..338) ")" CLOSE_PAREN: (338..339) ")" CLOSE_PAREN: (339..340) ")" - ATMOSPHERE: (340..342) " - -" + ATMOSPHERE: (340..342) "\n\n" FORM: (342..376) OPEN_PAREN: (342..343) "(" SYMBOL: (343..350) @@ -233,15 +215,13 @@ PROGRAM: (0..403) IDENTIFIER: (352..356) "swap" ATMOSPHERE: (356..357) " " CONSTANT: (357..365) - STRING: (357..365) ""Fooble"" + STRING: (357..365) "\"Fooble\"" ATMOSPHERE: (365..366) " " CONSTANT: (366..374) - STRING: (366..374) ""Barble"" + STRING: (366..374) "\"Barble\"" CLOSE_PAREN: (374..375) ")" CLOSE_PAREN: (375..376) ")" - ATMOSPHERE: (376..378) " - -" + ATMOSPHERE: (376..378) "\n\n" FORM: (378..403) OPEN_PAREN: (378..379) "(" SYMBOL: (379..380) @@ -256,7 +236,7 @@ PROGRAM: (0..403) NUMBER: (387..390) "123" ATMOSPHERE: (390..391) " " CONSTANT: (391..397) - STRING: (391..397) ""Test"" + STRING: (391..397) "\"Test\"" CLOSE_PAREN: (397..398) ")" ATMOSPHERE: (398..399) " " CONSTANT: (399..402) diff --git a/spec/symbols.ast b/spec/symbols.ast index d2cec56..3d0c386 100644 --- a/spec/symbols.ast +++ b/spec/symbols.ast @@ -12,8 +12,7 @@ PROGRAM: (0..792) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..792) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..231) OPEN_PAREN: (42..43) "(" SYMBOL: (43..50) @@ -34,8 +32,7 @@ PROGRAM: (0..792) OPEN_PAREN: (51..52) "(" SYMBOL: (52..56) IDENTIFIER: (52..56) "list" - ATMOSPHERE: (56..61) " - " + ATMOSPHERE: (56..61) "\n " FORM: (61..75) OPEN_PAREN: (61..62) "(" SYMBOL: (62..69) @@ -48,8 +45,7 @@ PROGRAM: (0..792) CLOSE_PAREN: (74..75) ")" ATMOSPHERE: (75..76) " " ATMOSPHERE: (76..83) "; -> #t" - ATMOSPHERE: (83..88) " - " + ATMOSPHERE: (83..88) "\n " FORM: (88..110) OPEN_PAREN: (88..89) "(" SYMBOL: (89..96) @@ -74,20 +70,18 @@ PROGRAM: (0..792) CLOSE_PAREN: (109..110) ")" ATMOSPHERE: (110..111) " " ATMOSPHERE: (111..118) "; -> #t" - ATMOSPHERE: (118..123) " - " + ATMOSPHERE: (118..123) "\n " FORM: (123..138) OPEN_PAREN: (123..124) "(" SYMBOL: (124..131) IDENTIFIER: (124..131) "symbol?" ATMOSPHERE: (131..132) " " CONSTANT: (132..137) - STRING: (132..137) ""bar"" + STRING: (132..137) "\"bar\"" CLOSE_PAREN: (137..138) ")" ATMOSPHERE: (138..139) " " ATMOSPHERE: (139..146) "; -> #f" - ATMOSPHERE: (146..151) " - " + ATMOSPHERE: (146..151) "\n " FORM: (151..165) OPEN_PAREN: (151..152) "(" SYMBOL: (152..159) @@ -100,8 +94,7 @@ PROGRAM: (0..792) CLOSE_PAREN: (164..165) ")" ATMOSPHERE: (165..166) " " ATMOSPHERE: (166..173) "; -> #t" - ATMOSPHERE: (173..178) " - " + ATMOSPHERE: (173..178) "\n " FORM: (178..191) OPEN_PAREN: (178..179) "(" SYMBOL: (179..186) @@ -115,8 +108,7 @@ PROGRAM: (0..792) CLOSE_PAREN: (190..191) ")" ATMOSPHERE: (191..192) " " ATMOSPHERE: (192..199) "; -> #f" - ATMOSPHERE: (199..204) " - " + ATMOSPHERE: (199..204) "\n " FORM: (204..216) OPEN_PAREN: (204..205) "(" SYMBOL: (205..212) @@ -127,8 +119,7 @@ PROGRAM: (0..792) CLOSE_PAREN: (215..216) ")" ATMOSPHERE: (216..217) " " ATMOSPHERE: (217..224) "; -> #f" - ATMOSPHERE: (224..229) " - " + ATMOSPHERE: (224..229) "\n " CLOSE_PAREN: (229..230) ")" CLOSE_PAREN: (230..231) ")" FORM: (231..240) @@ -136,8 +127,7 @@ PROGRAM: (0..792) SYMBOL: (232..239) IDENTIFIER: (232..239) "newline" CLOSE_PAREN: (239..240) ")" - ATMOSPHERE: (240..241) " -" + ATMOSPHERE: (240..241) "\n" FORM: (241..326) OPEN_PAREN: (241..242) "(" SYMBOL: (242..249) @@ -147,8 +137,7 @@ PROGRAM: (0..792) OPEN_PAREN: (250..251) "(" SYMBOL: (251..255) IDENTIFIER: (251..255) "list" - ATMOSPHERE: (255..260) " - " + ATMOSPHERE: (255..260) "\n " FORM: (260..291) OPEN_PAREN: (260..261) "(" SYMBOL: (261..269) @@ -169,23 +158,21 @@ PROGRAM: (0..792) SYMBOL: (285..290) IDENTIFIER: (285..290) "hello" CLOSE_PAREN: (290..291) ")" - ATMOSPHERE: (291..296) " - " + ATMOSPHERE: (291..296) "\n " FORM: (296..319) OPEN_PAREN: (296..297) "(" SYMBOL: (297..305) IDENTIFIER: (297..305) "symbol=?" ATMOSPHERE: (305..306) " " CONSTANT: (306..312) - STRING: (306..312) ""nope"" + STRING: (306..312) "\"nope\"" ATMOSPHERE: (312..313) " " QUOTED_DATUM: (313..318) QUOTE: (313..314) "'" SYMBOL: (314..318) IDENTIFIER: (314..318) "nope" CLOSE_PAREN: (318..319) ")" - ATMOSPHERE: (319..324) " - " + ATMOSPHERE: (319..324) "\n " CLOSE_PAREN: (324..325) ")" CLOSE_PAREN: (325..326) ")" FORM: (326..335) @@ -193,8 +180,7 @@ PROGRAM: (0..792) SYMBOL: (327..334) IDENTIFIER: (327..334) "newline" CLOSE_PAREN: (334..335) ")" - ATMOSPHERE: (335..336) " -" + ATMOSPHERE: (335..336) "\n" FORM: (336..783) OPEN_PAREN: (336..337) "(" SYMBOL: (337..344) @@ -204,8 +190,7 @@ PROGRAM: (0..792) OPEN_PAREN: (345..346) "(" SYMBOL: (346..350) IDENTIFIER: (346..350) "list" - ATMOSPHERE: (350..355) " - " + ATMOSPHERE: (350..355) "\n " FORM: (355..384) OPEN_PAREN: (355..356) "(" SYMBOL: (356..370) @@ -217,9 +202,8 @@ PROGRAM: (0..792) IDENTIFIER: (372..383) "flying-fish" CLOSE_PAREN: (383..384) ")" ATMOSPHERE: (384..385) " " - ATMOSPHERE: (385..403) "; -> "flying-fish"" - ATMOSPHERE: (403..408) " - " + ATMOSPHERE: (385..403) "; -> \"flying-fish\"" + ATMOSPHERE: (403..408) "\n " FORM: (408..432) OPEN_PAREN: (408..409) "(" SYMBOL: (409..423) @@ -231,9 +215,8 @@ PROGRAM: (0..792) IDENTIFIER: (425..431) "Martin" CLOSE_PAREN: (431..432) ")" ATMOSPHERE: (432..433) " " - ATMOSPHERE: (433..446) "; -> "Martin"" - ATMOSPHERE: (446..451) " - " + ATMOSPHERE: (433..446) "; -> \"Martin\"" + ATMOSPHERE: (446..451) "\n " FORM: (451..494) OPEN_PAREN: (451..452) "(" SYMBOL: (452..466) @@ -245,25 +228,23 @@ PROGRAM: (0..792) IDENTIFIER: (468..482) "string->symbol" ATMOSPHERE: (482..483) " " CONSTANT: (483..492) - STRING: (483..492) ""Malvina"" + STRING: (483..492) "\"Malvina\"" CLOSE_PAREN: (492..493) ")" CLOSE_PAREN: (493..494) ")" ATMOSPHERE: (494..495) " " - ATMOSPHERE: (495..509) "; -> "Malvina"" - ATMOSPHERE: (509..514) " - " + ATMOSPHERE: (495..509) "; -> \"Malvina\"" + ATMOSPHERE: (509..514) "\n " FORM: (514..544) OPEN_PAREN: (514..515) "(" SYMBOL: (515..529) IDENTIFIER: (515..529) "string->symbol" ATMOSPHERE: (529..530) " " CONSTANT: (530..543) - STRING: (530..543) ""mISSISSIppi"" + STRING: (530..543) "\"mISSISSIppi\"" CLOSE_PAREN: (543..544) ")" ATMOSPHERE: (544..545) " " ATMOSPHERE: (545..561) "; -> mISSISSIppi" - ATMOSPHERE: (561..566) " - " + ATMOSPHERE: (561..566) "\n " FORM: (566..606) OPEN_PAREN: (566..567) "(" SYMBOL: (567..571) @@ -280,13 +261,12 @@ PROGRAM: (0..792) IDENTIFIER: (581..595) "string->symbol" ATMOSPHERE: (595..596) " " CONSTANT: (596..604) - STRING: (596..604) ""bitBlt"" + STRING: (596..604) "\"bitBlt\"" CLOSE_PAREN: (604..605) ")" CLOSE_PAREN: (605..606) ")" ATMOSPHERE: (606..607) " " ATMOSPHERE: (607..614) "; -> #t" - ATMOSPHERE: (614..619) " - " + ATMOSPHERE: (614..619) "\n " FORM: (619..677) OPEN_PAREN: (619..620) "(" SYMBOL: (620..624) @@ -314,15 +294,14 @@ PROGRAM: (0..792) CLOSE_PAREN: (676..677) ")" ATMOSPHERE: (677..678) " " ATMOSPHERE: (678..685) "; -> #t" - ATMOSPHERE: (685..690) " - " + ATMOSPHERE: (685..690) "\n " FORM: (690..768) OPEN_PAREN: (690..691) "(" SYMBOL: (691..699) IDENTIFIER: (691..699) "string=?" ATMOSPHERE: (699..700) " " CONSTANT: (700..717) - STRING: (700..717) ""K. Harper, M.D."" + STRING: (700..717) "\"K. Harper, M.D.\"" FORM: (717..767) OPEN_PAREN: (717..718) "(" SYMBOL: (718..732) @@ -333,14 +312,13 @@ PROGRAM: (0..792) IDENTIFIER: (733..747) "string->symbol" ATMOSPHERE: (747..748) " " CONSTANT: (748..765) - STRING: (748..765) ""K. Harper, M.D."" + STRING: (748..765) "\"K. Harper, M.D.\"" CLOSE_PAREN: (765..766) ")" CLOSE_PAREN: (766..767) ")" CLOSE_PAREN: (767..768) ")" ATMOSPHERE: (768..769) " " ATMOSPHERE: (769..776) "; -> #t" - ATMOSPHERE: (776..781) " - " + ATMOSPHERE: (776..781) "\n " CLOSE_PAREN: (781..782) ")" CLOSE_PAREN: (782..783) ")" FORM: (783..792) diff --git a/spec/tail.ast b/spec/tail.ast index d61b72b..e5f2140 100644 --- a/spec/tail.ast +++ b/spec/tail.ast @@ -12,14 +12,11 @@ PROGRAM: (0..986) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " ATMOSPHERE: (26..93) ";; FIXME: we shouldn't _need_ to import this, but we have no way of" - ATMOSPHERE: (93..98) " - " + ATMOSPHERE: (93..98) "\n " ATMOSPHERE: (98..162) ";; exporting or re-exporting macro definitions currently." - ATMOSPHERE: (162..167) " - " + ATMOSPHERE: (162..167) "\n " FORM: (167..191) OPEN_PAREN: (167..168) "(" SYMBOL: (168..175) @@ -31,8 +28,7 @@ PROGRAM: (0..986) SYMBOL: (184..190) IDENTIFIER: (184..190) "macros" CLOSE_PAREN: (190..191) ")" - ATMOSPHERE: (191..196) " - " + ATMOSPHERE: (191..196) "\n " FORM: (196..210) OPEN_PAREN: (196..197) "(" SYMBOL: (197..203) @@ -42,47 +38,32 @@ PROGRAM: (0..986) IDENTIFIER: (204..209) "write" CLOSE_PAREN: (209..210) ")" CLOSE_PAREN: (210..211) ")" - ATMOSPHERE: (211..213) " - -" + ATMOSPHERE: (211..213) "\n\n" ATMOSPHERE: (213..275) ";; Without proper tail recursion this will overflow the stack:" - ATMOSPHERE: (275..276) " -" + ATMOSPHERE: (275..276) "\n" ATMOSPHERE: (276..277) ";" - ATMOSPHERE: (277..278) " -" + ATMOSPHERE: (277..278) "\n" ATMOSPHERE: (278..296) "; ! stack overflow" - ATMOSPHERE: (296..297) " -" + ATMOSPHERE: (296..297) "\n" ATMOSPHERE: (297..343) "; [ping] -> [ping] -> [ping] -> ... -> [ping]" - ATMOSPHERE: (343..344) " -" + ATMOSPHERE: (343..344) "\n" ATMOSPHERE: (344..350) "; ...." - ATMOSPHERE: (350..351) " -" + ATMOSPHERE: (350..351) "\n" ATMOSPHERE: (351..397) "; -> [ping] -> ... -> [ping]" - ATMOSPHERE: (397..398) " -" + ATMOSPHERE: (397..398) "\n" ATMOSPHERE: (398..444) "; -> [pong] -> [pong] -> ... -> [pong]" - ATMOSPHERE: (444..445) " -" + ATMOSPHERE: (444..445) "\n" ATMOSPHERE: (445..491) "; [ping] -> [ping] -> [ping] -> ... -> [ping]" - ATMOSPHERE: (491..493) " - -" + ATMOSPHERE: (491..493) "\n\n" ATMOSPHERE: (493..552) ";; With proper tail recursive calls stack use is constant: " - ATMOSPHERE: (552..553) " -" + ATMOSPHERE: (552..553) "\n" ATMOSPHERE: (553..591) "; [ping] -> [pong] -> [ping] -> [pong]" - ATMOSPHERE: (591..593) " - -" + ATMOSPHERE: (591..593) "\n\n" FORM: (593..756) OPEN_PAREN: (593..594) "(" SYMBOL: (594..601) IDENTIFIER: (594..601) "display" - ATMOSPHERE: (601..605) " - " + ATMOSPHERE: (601..605) " \n " FORM: (605..755) OPEN_PAREN: (605..606) "(" SYMBOL: (606..612) @@ -105,8 +86,7 @@ PROGRAM: (0..986) SYMBOL: (629..630) IDENTIFIER: (629..630) "x" CLOSE_PAREN: (630..631) ")" - ATMOSPHERE: (631..634) " - " + ATMOSPHERE: (631..634) "\n " FORM: (634..642) OPEN_PAREN: (634..635) "(" SYMBOL: (635..639) @@ -117,8 +97,7 @@ PROGRAM: (0..986) CLOSE_PAREN: (641..642) ")" CLOSE_PAREN: (642..643) ")" CLOSE_PAREN: (643..644) ")" - ATMOSPHERE: (644..654) " - " + ATMOSPHERE: (644..654) "\n " FORM: (654..737) OPEN_PAREN: (654..655) "(" SYMBOL: (655..659) @@ -134,8 +113,7 @@ PROGRAM: (0..986) SYMBOL: (669..670) IDENTIFIER: (669..670) "x" CLOSE_PAREN: (670..671) ")" - ATMOSPHERE: (671..682) " - " + ATMOSPHERE: (671..682) "\n " FORM: (682..735) OPEN_PAREN: (682..683) "(" SYMBOL: (683..685) @@ -152,12 +130,10 @@ PROGRAM: (0..986) SYMBOL: (691..692) IDENTIFIER: (691..692) "x" CLOSE_PAREN: (692..693) ")" - ATMOSPHERE: (693..706) " - " + ATMOSPHERE: (693..706) "\n " SYMBOL: (706..707) IDENTIFIER: (706..707) "x" - ATMOSPHERE: (707..720) " - " + ATMOSPHERE: (707..720) "\n " FORM: (720..734) OPEN_PAREN: (720..721) "(" SYMBOL: (721..725) @@ -179,8 +155,7 @@ PROGRAM: (0..986) CLOSE_PAREN: (735..736) ")" CLOSE_PAREN: (736..737) ")" CLOSE_PAREN: (737..738) ")" - ATMOSPHERE: (738..741) " - " + ATMOSPHERE: (738..741) "\n " FORM: (741..754) OPEN_PAREN: (741..742) "(" SYMBOL: (742..746) @@ -191,33 +166,25 @@ PROGRAM: (0..986) CLOSE_PAREN: (753..754) ")" CLOSE_PAREN: (754..755) ")" CLOSE_PAREN: (755..756) ")" - ATMOSPHERE: (756..759) " - - -" + ATMOSPHERE: (756..759) "\n\n\n" FORM: (759..768) OPEN_PAREN: (759..760) "(" SYMBOL: (760..767) IDENTIFIER: (760..767) "newline" CLOSE_PAREN: (767..768) ")" - ATMOSPHERE: (768..770) " - -" + ATMOSPHERE: (768..770) "\n\n" ATMOSPHERE: (770..823) "; Tail context should flow into `and` and `or` macros" - ATMOSPHERE: (823..824) " -" + ATMOSPHERE: (823..824) "\n" FORM: (824..985) OPEN_PAREN: (824..825) "(" SYMBOL: (825..832) IDENTIFIER: (825..832) "display" - ATMOSPHERE: (832..835) " - " + ATMOSPHERE: (832..835) "\n " FORM: (835..984) OPEN_PAREN: (835..836) "(" SYMBOL: (836..842) IDENTIFIER: (836..842) "letrec" - ATMOSPHERE: (842..847) " - " + ATMOSPHERE: (842..847) "\n " FORM: (847..967) OPEN_PAREN: (847..848) "(" FORM: (848..966) @@ -235,8 +202,7 @@ PROGRAM: (0..986) SYMBOL: (862..863) IDENTIFIER: (862..863) "x" CLOSE_PAREN: (863..864) ")" - ATMOSPHERE: (864..872) " - " + ATMOSPHERE: (864..872) "\n " FORM: (872..964) OPEN_PAREN: (872..873) "(" SYMBOL: (873..876) @@ -244,8 +210,7 @@ PROGRAM: (0..986) ATMOSPHERE: (876..877) " " CONSTANT: (877..879) BOOLEAN: (877..879) "#t" - ATMOSPHERE: (879..889) " - " + ATMOSPHERE: (879..889) "\n " FORM: (889..963) OPEN_PAREN: (889..890) "(" SYMBOL: (890..892) @@ -253,8 +218,7 @@ PROGRAM: (0..986) ATMOSPHERE: (892..893) " " CONSTANT: (893..895) BOOLEAN: (893..895) "#f" - ATMOSPHERE: (895..907) " - " + ATMOSPHERE: (895..907) "\n " FORM: (907..962) OPEN_PAREN: (907..908) "(" SYMBOL: (908..910) @@ -271,12 +235,10 @@ PROGRAM: (0..986) SYMBOL: (916..917) IDENTIFIER: (916..917) "x" CLOSE_PAREN: (917..918) ")" - ATMOSPHERE: (918..932) " - " + ATMOSPHERE: (918..932) "\n " CONSTANT: (932..934) BOOLEAN: (932..934) "#t" - ATMOSPHERE: (934..948) " - " + ATMOSPHERE: (934..948) "\n " FORM: (948..961) OPEN_PAREN: (948..949) "(" SYMBOL: (949..952) @@ -300,8 +262,7 @@ PROGRAM: (0..986) CLOSE_PAREN: (964..965) ")" CLOSE_PAREN: (965..966) ")" CLOSE_PAREN: (966..967) ")" - ATMOSPHERE: (967..971) " - " + ATMOSPHERE: (967..971) "\n " FORM: (971..983) OPEN_PAREN: (971..972) "(" SYMBOL: (972..975) @@ -312,6 +273,5 @@ PROGRAM: (0..986) CLOSE_PAREN: (982..983) ")" CLOSE_PAREN: (983..984) ")" CLOSE_PAREN: (984..985) ")" - ATMOSPHERE: (985..986) " -" + ATMOSPHERE: (985..986) "\n" EOF: (986..986) "" diff --git a/spec/time.ast b/spec/time.ast index a166a52..23a66a6 100644 --- a/spec/time.ast +++ b/spec/time.ast @@ -12,8 +12,7 @@ PROGRAM: (0..265) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..24) " - " + ATMOSPHERE: (21..24) "\n " FORM: (24..38) OPEN_PAREN: (24..25) "(" SYMBOL: (25..31) @@ -22,8 +21,7 @@ PROGRAM: (0..265) SYMBOL: (32..37) IDENTIFIER: (32..37) "write" CLOSE_PAREN: (37..38) ")" - ATMOSPHERE: (38..41) " - " + ATMOSPHERE: (38..41) "\n " FORM: (41..54) OPEN_PAREN: (41..42) "(" SYMBOL: (42..48) @@ -33,9 +31,7 @@ PROGRAM: (0..265) IDENTIFIER: (49..53) "time" CLOSE_PAREN: (53..54) ")" CLOSE_PAREN: (54..55) ")" - ATMOSPHERE: (55..57) " - -" + ATMOSPHERE: (55..57) "\n\n" FORM: (57..224) OPEN_PAREN: (57..58) "(" SYMBOL: (58..64) @@ -49,8 +45,7 @@ PROGRAM: (0..265) SYMBOL: (78..79) IDENTIFIER: (78..79) "x" CLOSE_PAREN: (79..80) ")" - ATMOSPHERE: (80..83) " - " + ATMOSPHERE: (80..83) "\n " FORM: (83..223) OPEN_PAREN: (83..84) "(" SYMBOL: (84..87) @@ -72,8 +67,7 @@ PROGRAM: (0..265) IDENTIFIER: (106..107) "x" CLOSE_PAREN: (107..108) ")" CLOSE_PAREN: (108..109) ")" - ATMOSPHERE: (109..118) " - " + ATMOSPHERE: (109..118) "\n " FORM: (118..141) OPEN_PAREN: (118..119) "(" SYMBOL: (119..124) @@ -86,8 +80,7 @@ PROGRAM: (0..265) CLOSE_PAREN: (139..140) ")" CLOSE_PAREN: (140..141) ")" CLOSE_PAREN: (141..142) ")" - ATMOSPHERE: (142..147) " - " + ATMOSPHERE: (142..147) "\n " FORM: (147..160) OPEN_PAREN: (147..148) "(" SYMBOL: (148..154) @@ -96,8 +89,7 @@ PROGRAM: (0..265) SYMBOL: (155..159) IDENTIFIER: (155..159) "list" CLOSE_PAREN: (159..160) ")" - ATMOSPHERE: (160..165) " - " + ATMOSPHERE: (160..165) "\n " FORM: (165..222) OPEN_PAREN: (165..166) "(" SYMBOL: (166..167) @@ -117,8 +109,7 @@ PROGRAM: (0..265) SYMBOL: (187..192) IDENTIFIER: (187..192) "start" CLOSE_PAREN: (192..193) ")" - ATMOSPHERE: (193..201) " - " + ATMOSPHERE: (193..201) "\n " FORM: (201..221) OPEN_PAREN: (201..202) "(" SYMBOL: (202..220) @@ -127,9 +118,7 @@ PROGRAM: (0..265) CLOSE_PAREN: (221..222) ")" CLOSE_PAREN: (222..223) ")" CLOSE_PAREN: (223..224) ")" - ATMOSPHERE: (224..226) " - -" + ATMOSPHERE: (224..226) "\n\n" FORM: (226..242) OPEN_PAREN: (226..227) "(" SYMBOL: (227..238) @@ -138,8 +127,7 @@ PROGRAM: (0..265) CONSTANT: (239..241) NUMBER: (239..241) "10" CLOSE_PAREN: (241..242) ")" - ATMOSPHERE: (242..243) " -" + ATMOSPHERE: (242..243) "\n" FORM: (243..261) OPEN_PAREN: (243..244) "(" SYMBOL: (244..255) @@ -148,11 +136,8 @@ PROGRAM: (0..265) CONSTANT: (256..260) NUMBER: (256..260) "1000" CLOSE_PAREN: (260..261) ")" - ATMOSPHERE: (261..263) " - -" + ATMOSPHERE: (261..263) "\n\n" CONSTANT: (263..264) NUMBER: (263..264) "0" - ATMOSPHERE: (264..265) " -" + ATMOSPHERE: (264..265) "\n" EOF: (265..265) "" diff --git a/spec/user-macros.ast b/spec/user-macros.ast index 5e8c255..7737e43 100644 --- a/spec/user-macros.ast +++ b/spec/user-macros.ast @@ -12,8 +12,7 @@ PROGRAM: (0..555) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,9 +22,7 @@ PROGRAM: (0..555) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..43) " - -" + ATMOSPHERE: (41..43) "\n\n" FORM: (43..131) OPEN_PAREN: (43..44) "(" SYMBOL: (44..57) @@ -33,8 +30,7 @@ PROGRAM: (0..555) ATMOSPHERE: (57..58) " " SYMBOL: (58..61) IDENTIFIER: (58..61) "foo" - ATMOSPHERE: (61..66) " - " + ATMOSPHERE: (61..66) "\n " FORM: (66..130) OPEN_PAREN: (66..67) "(" SYMBOL: (67..79) @@ -43,8 +39,7 @@ PROGRAM: (0..555) FORM: (80..82) OPEN_PAREN: (80..81) "(" CLOSE_PAREN: (81..82) ")" - ATMOSPHERE: (82..91) " - " + ATMOSPHERE: (82..91) "\n " FORM: (91..109) OPEN_PAREN: (91..92) "(" FORM: (92..99) @@ -70,8 +65,7 @@ PROGRAM: (0..555) NUMBER: (106..107) "3" CLOSE_PAREN: (107..108) ")" CLOSE_PAREN: (108..109) ")" - ATMOSPHERE: (109..118) " - " + ATMOSPHERE: (109..118) "\n " FORM: (118..129) OPEN_PAREN: (118..119) "(" FORM: (119..122) @@ -81,12 +75,11 @@ PROGRAM: (0..555) CLOSE_PAREN: (121..122) ")" ATMOSPHERE: (122..123) " " CONSTANT: (123..128) - STRING: (123..128) ""bar"" + STRING: (123..128) "\"bar\"" CLOSE_PAREN: (128..129) ")" CLOSE_PAREN: (129..130) ")" CLOSE_PAREN: (130..131) ")" - ATMOSPHERE: (131..132) " -" + ATMOSPHERE: (131..132) "\n" FORM: (132..172) OPEN_PAREN: (132..133) "(" SYMBOL: (133..140) @@ -96,8 +89,7 @@ PROGRAM: (0..555) OPEN_PAREN: (141..142) "(" SYMBOL: (142..146) IDENTIFIER: (142..146) "list" - ATMOSPHERE: (146..151) " - " + ATMOSPHERE: (146..151) "\n " FORM: (151..160) OPEN_PAREN: (151..152) "(" SYMBOL: (152..155) @@ -106,8 +98,7 @@ PROGRAM: (0..555) CONSTANT: (156..159) NUMBER: (156..159) "123" CLOSE_PAREN: (159..160) ")" - ATMOSPHERE: (160..165) " - " + ATMOSPHERE: (160..165) "\n " FORM: (165..170) OPEN_PAREN: (165..166) "(" SYMBOL: (166..169) @@ -115,16 +106,13 @@ PROGRAM: (0..555) CLOSE_PAREN: (169..170) ")" CLOSE_PAREN: (170..171) ")" CLOSE_PAREN: (171..172) ")" - ATMOSPHERE: (172..173) " -" + ATMOSPHERE: (172..173) "\n" FORM: (173..182) OPEN_PAREN: (173..174) "(" SYMBOL: (174..181) IDENTIFIER: (174..181) "newline" CLOSE_PAREN: (181..182) ")" - ATMOSPHERE: (182..184) " - -" + ATMOSPHERE: (182..184) "\n\n" FORM: (184..360) OPEN_PAREN: (184..185) "(" SYMBOL: (185..188) @@ -133,8 +121,7 @@ PROGRAM: (0..555) FORM: (189..191) OPEN_PAREN: (189..190) "(" CLOSE_PAREN: (190..191) ")" - ATMOSPHERE: (191..196) " - " + ATMOSPHERE: (191..196) "\n " FORM: (196..306) OPEN_PAREN: (196..197) "(" SYMBOL: (197..210) @@ -142,8 +129,7 @@ PROGRAM: (0..555) ATMOSPHERE: (210..211) " " SYMBOL: (211..214) IDENTIFIER: (211..214) "foo" - ATMOSPHERE: (214..223) " - " + ATMOSPHERE: (214..223) "\n " FORM: (223..305) OPEN_PAREN: (223..224) "(" SYMBOL: (224..236) @@ -154,8 +140,7 @@ PROGRAM: (0..555) SYMBOL: (238..241) IDENTIFIER: (238..241) "bar" CLOSE_PAREN: (241..242) ")" - ATMOSPHERE: (242..255) " - " + ATMOSPHERE: (242..255) "\n " FORM: (255..273) OPEN_PAREN: (255..256) "(" FORM: (256..263) @@ -168,10 +153,9 @@ PROGRAM: (0..555) CLOSE_PAREN: (262..263) ")" ATMOSPHERE: (263..264) " " CONSTANT: (264..272) - STRING: (264..272) ""foobar"" + STRING: (264..272) "\"foobar\"" CLOSE_PAREN: (272..273) ")" - ATMOSPHERE: (273..286) " - " + ATMOSPHERE: (273..286) "\n " FORM: (286..304) OPEN_PAREN: (286..287) "(" FORM: (287..294) @@ -184,12 +168,11 @@ PROGRAM: (0..555) CLOSE_PAREN: (293..294) ")" ATMOSPHERE: (294..295) " " CONSTANT: (295..303) - STRING: (295..303) ""bizbaz"" + STRING: (295..303) "\"bizbaz\"" CLOSE_PAREN: (303..304) ")" CLOSE_PAREN: (304..305) ")" CLOSE_PAREN: (305..306) ")" - ATMOSPHERE: (306..311) " - " + ATMOSPHERE: (306..311) "\n " FORM: (311..345) OPEN_PAREN: (311..312) "(" SYMBOL: (312..319) @@ -219,29 +202,24 @@ PROGRAM: (0..555) CLOSE_PAREN: (342..343) ")" CLOSE_PAREN: (343..344) ")" CLOSE_PAREN: (344..345) ")" - ATMOSPHERE: (345..350) " - " + ATMOSPHERE: (345..350) "\n " FORM: (350..359) OPEN_PAREN: (350..351) "(" SYMBOL: (351..358) IDENTIFIER: (351..358) "newline" CLOSE_PAREN: (358..359) ")" CLOSE_PAREN: (359..360) ")" - ATMOSPHERE: (360..362) " - -" + ATMOSPHERE: (360..362) "\n\n" FORM: (362..477) OPEN_PAREN: (362..363) "(" SYMBOL: (363..370) IDENTIFIER: (363..370) "display" - ATMOSPHERE: (370..375) " - " + ATMOSPHERE: (370..375) "\n " FORM: (375..476) OPEN_PAREN: (375..376) "(" SYMBOL: (376..386) IDENTIFIER: (376..386) "let-syntax" - ATMOSPHERE: (386..395) " - " + ATMOSPHERE: (386..395) "\n " FORM: (395..455) OPEN_PAREN: (395..396) "(" FORM: (396..454) @@ -257,8 +235,7 @@ PROGRAM: (0..555) FORM: (415..417) OPEN_PAREN: (415..416) "(" CLOSE_PAREN: (416..417) ")" - ATMOSPHERE: (417..430) " - " + ATMOSPHERE: (417..430) "\n " FORM: (430..452) OPEN_PAREN: (430..431) "(" FORM: (431..438) @@ -284,15 +261,14 @@ PROGRAM: (0..555) CLOSE_PAREN: (452..453) ")" CLOSE_PAREN: (453..454) ")" CLOSE_PAREN: (454..455) ")" - ATMOSPHERE: (455..464) " - " + ATMOSPHERE: (455..464) "\n " FORM: (464..475) OPEN_PAREN: (464..465) "(" SYMBOL: (465..468) IDENTIFIER: (465..468) "foo" ATMOSPHERE: (468..469) " " CONSTANT: (469..474) - STRING: (469..474) ""123"" + STRING: (469..474) "\"123\"" CLOSE_PAREN: (474..475) ")" CLOSE_PAREN: (475..476) ")" CLOSE_PAREN: (476..477) ")" @@ -301,12 +277,9 @@ PROGRAM: (0..555) SYMBOL: (478..485) IDENTIFIER: (478..485) "newline" CLOSE_PAREN: (485..486) ")" - ATMOSPHERE: (486..488) " - -" + ATMOSPHERE: (486..488) "\n\n" ATMOSPHERE: (488..524) "; Should be the first `foo` again..." - ATMOSPHERE: (524..525) " -" + ATMOSPHERE: (524..525) "\n" FORM: (525..544) OPEN_PAREN: (525..526) "(" SYMBOL: (526..533) @@ -326,7 +299,5 @@ PROGRAM: (0..555) SYMBOL: (545..552) IDENTIFIER: (545..552) "newline" CLOSE_PAREN: (552..553) ")" - ATMOSPHERE: (553..555) " - -" + ATMOSPHERE: (553..555) "\n\n" EOF: (555..555) "" diff --git a/spec/vectors.ast b/spec/vectors.ast index 0352235..fd0c7da 100644 --- a/spec/vectors.ast +++ b/spec/vectors.ast @@ -12,8 +12,7 @@ PROGRAM: (0..511) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..26) " - " + ATMOSPHERE: (21..26) "\n " FORM: (26..40) OPEN_PAREN: (26..27) "(" SYMBOL: (27..33) @@ -23,8 +22,7 @@ PROGRAM: (0..511) IDENTIFIER: (34..39) "write" CLOSE_PAREN: (39..40) ")" CLOSE_PAREN: (40..41) ")" - ATMOSPHERE: (41..42) " -" + ATMOSPHERE: (41..42) "\n" FORM: (42..511) OPEN_PAREN: (42..43) "(" SYMBOL: (43..50) @@ -34,12 +32,9 @@ PROGRAM: (0..511) OPEN_PAREN: (51..52) "(" SYMBOL: (52..56) IDENTIFIER: (52..56) "list" - ATMOSPHERE: (56..66) " - - " + ATMOSPHERE: (56..66) "\n \n " ATMOSPHERE: (66..79) ";; vector new" - ATMOSPHERE: (79..84) " - " + ATMOSPHERE: (79..84) "\n " FORM: (84..98) OPEN_PAREN: (84..85) "(" SYMBOL: (85..91) @@ -54,8 +49,7 @@ PROGRAM: (0..511) CONSTANT: (96..97) NUMBER: (96..97) "3" CLOSE_PAREN: (97..98) ")" - ATMOSPHERE: (98..103) " - " + ATMOSPHERE: (98..103) "\n " FORM: (103..123) OPEN_PAREN: (103..104) "(" SYMBOL: (104..115) @@ -65,14 +59,11 @@ PROGRAM: (0..511) NUMBER: (116..118) "10" ATMOSPHERE: (118..119) " " CONSTANT: (119..122) - CHARACTER: (119..122) "#\a" + CHARACTER: (119..122) "#\\a" CLOSE_PAREN: (122..123) ")" - ATMOSPHERE: (123..129) " - - " + ATMOSPHERE: (123..129) "\n\n " ATMOSPHERE: (129..147) ";; Vector literals" - ATMOSPHERE: (147..152) " - " + ATMOSPHERE: (147..152) "\n " VEC: (152..173) OPEN_PAREN: (152..154) "#(" CONSTANT: (154..155) @@ -94,14 +85,11 @@ PROGRAM: (0..511) CLOSE_PAREN: (164..165) ")" ATMOSPHERE: (165..166) " " CONSTANT: (166..172) - STRING: (166..172) ""Anna"" + STRING: (166..172) "\"Anna\"" CLOSE_PAREN: (172..173) ")" - ATMOSPHERE: (173..179) " - - " + ATMOSPHERE: (173..179) "\n\n " ATMOSPHERE: (179..199) ";; Vector type check" - ATMOSPHERE: (199..204) " - " + ATMOSPHERE: (199..204) "\n " FORM: (204..217) OPEN_PAREN: (204..205) "(" SYMBOL: (205..212) @@ -111,8 +99,7 @@ PROGRAM: (0..511) OPEN_PAREN: (213..215) "#(" CLOSE_PAREN: (215..216) ")" CLOSE_PAREN: (216..217) ")" - ATMOSPHERE: (217..222) " - " + ATMOSPHERE: (217..222) "\n " FORM: (222..240) OPEN_PAREN: (222..223) "(" SYMBOL: (223..230) @@ -130,22 +117,18 @@ PROGRAM: (0..511) NUMBER: (237..238) "3" CLOSE_PAREN: (238..239) ")" CLOSE_PAREN: (239..240) ")" - ATMOSPHERE: (240..245) " - " + ATMOSPHERE: (240..245) "\n " FORM: (245..261) OPEN_PAREN: (245..246) "(" SYMBOL: (246..253) IDENTIFIER: (246..253) "vector?" ATMOSPHERE: (253..254) " " CONSTANT: (254..260) - STRING: (254..260) ""Test"" + STRING: (254..260) "\"Test\"" CLOSE_PAREN: (260..261) ")" - ATMOSPHERE: (261..267) " - - " + ATMOSPHERE: (261..267) "\n\n " ATMOSPHERE: (267..291) ";; General vector method" - ATMOSPHERE: (291..296) " - " + ATMOSPHERE: (291..296) "\n " FORM: (296..326) OPEN_PAREN: (296..297) "(" SYMBOL: (297..310) @@ -154,17 +137,16 @@ PROGRAM: (0..511) VEC: (311..325) OPEN_PAREN: (311..313) "#(" CONSTANT: (313..316) - CHARACTER: (313..316) "#\a" + CHARACTER: (313..316) "#\\a" ATMOSPHERE: (316..317) " " CONSTANT: (317..320) - CHARACTER: (317..320) "#\b" + CHARACTER: (317..320) "#\\b" ATMOSPHERE: (320..321) " " CONSTANT: (321..324) - CHARACTER: (321..324) "#\c" + CHARACTER: (321..324) "#\\c" CLOSE_PAREN: (324..325) ")" CLOSE_PAREN: (325..326) ")" - ATMOSPHERE: (326..331) " - " + ATMOSPHERE: (326..331) "\n " FORM: (331..360) OPEN_PAREN: (331..332) "(" SYMBOL: (332..342) @@ -179,14 +161,13 @@ PROGRAM: (0..511) BOOLEAN: (347..349) "#f" ATMOSPHERE: (349..350) " " CONSTANT: (350..356) - STRING: (350..356) ""test"" + STRING: (350..356) "\"test\"" CLOSE_PAREN: (356..357) ")" ATMOSPHERE: (357..358) " " CONSTANT: (358..359) NUMBER: (358..359) "2" CLOSE_PAREN: (359..360) ")" - ATMOSPHERE: (360..365) " - " + ATMOSPHERE: (360..365) "\n " FORM: (365..401) OPEN_PAREN: (365..366) "(" SYMBOL: (366..376) @@ -224,8 +205,7 @@ PROGRAM: (0..511) CONSTANT: (399..400) NUMBER: (399..400) "5" CLOSE_PAREN: (400..401) ")" - ATMOSPHERE: (401..406) " - " + ATMOSPHERE: (401..406) "\n " FORM: (406..503) OPEN_PAREN: (406..407) "(" SYMBOL: (407..410) @@ -264,12 +244,11 @@ PROGRAM: (0..511) CLOSE_PAREN: (436..437) ")" ATMOSPHERE: (437..438) " " CONSTANT: (438..444) - STRING: (438..444) ""Anna"" + STRING: (438..444) "\"Anna\"" CLOSE_PAREN: (444..445) ")" CLOSE_PAREN: (445..446) ")" CLOSE_PAREN: (446..447) ")" - ATMOSPHERE: (447..456) " - " + ATMOSPHERE: (447..456) "\n " FORM: (456..490) OPEN_PAREN: (456..457) "(" SYMBOL: (457..468) @@ -286,20 +265,17 @@ PROGRAM: (0..511) FORM: (476..489) OPEN_PAREN: (476..477) "(" CONSTANT: (477..482) - STRING: (477..482) ""Sue"" + STRING: (477..482) "\"Sue\"" ATMOSPHERE: (482..483) " " CONSTANT: (483..488) - STRING: (483..488) ""Sue"" + STRING: (483..488) "\"Sue\"" CLOSE_PAREN: (488..489) ")" CLOSE_PAREN: (489..490) ")" - ATMOSPHERE: (490..499) " - " + ATMOSPHERE: (490..499) "\n " SYMBOL: (499..502) IDENTIFIER: (499..502) "vec" CLOSE_PAREN: (502..503) ")" - ATMOSPHERE: (503..509) " - - " + ATMOSPHERE: (503..509) "\n\n " CLOSE_PAREN: (509..510) ")" CLOSE_PAREN: (510..511) ")" EOF: (511..511) "" diff --git a/spec/zed.ast b/spec/zed.ast index 75e3d1a..abe298e 100644 --- a/spec/zed.ast +++ b/spec/zed.ast @@ -12,8 +12,7 @@ PROGRAM: (0..725) SYMBOL: (16..20) IDENTIFIER: (16..20) "base" CLOSE_PAREN: (20..21) ")" - ATMOSPHERE: (21..24) " - " + ATMOSPHERE: (21..24) "\n " FORM: (24..38) OPEN_PAREN: (24..25) "(" SYMBOL: (25..31) @@ -23,12 +22,9 @@ PROGRAM: (0..725) IDENTIFIER: (32..37) "write" CLOSE_PAREN: (37..38) ")" CLOSE_PAREN: (38..39) ")" - ATMOSPHERE: (39..41) " - -" + ATMOSPHERE: (39..41) "\n\n" ATMOSPHERE: (41..92) ";; This is the zed combinator from lambda calculus." - ATMOSPHERE: (92..93) " -" + ATMOSPHERE: (92..93) "\n" FORM: (93..181) OPEN_PAREN: (93..94) "(" SYMBOL: (94..100) @@ -42,8 +38,7 @@ PROGRAM: (0..725) SYMBOL: (104..105) IDENTIFIER: (104..105) "f" CLOSE_PAREN: (105..106) ")" - ATMOSPHERE: (106..109) " - " + ATMOSPHERE: (106..109) "\n " FORM: (109..180) OPEN_PAREN: (109..110) "(" FORM: (110..128) @@ -66,8 +61,7 @@ PROGRAM: (0..725) IDENTIFIER: (125..126) "g" CLOSE_PAREN: (126..127) ")" CLOSE_PAREN: (127..128) ")" - ATMOSPHERE: (128..132) " - " + ATMOSPHERE: (128..132) "\n " FORM: (132..179) OPEN_PAREN: (132..133) "(" SYMBOL: (133..139) @@ -78,8 +72,7 @@ PROGRAM: (0..725) SYMBOL: (141..142) IDENTIFIER: (141..142) "g" CLOSE_PAREN: (142..143) ")" - ATMOSPHERE: (143..148) " - " + ATMOSPHERE: (143..148) "\n " FORM: (148..178) OPEN_PAREN: (148..149) "(" SYMBOL: (149..150) @@ -115,12 +108,9 @@ PROGRAM: (0..725) CLOSE_PAREN: (178..179) ")" CLOSE_PAREN: (179..180) ")" CLOSE_PAREN: (180..181) ")" - ATMOSPHERE: (181..183) " - -" + ATMOSPHERE: (181..183) "\n\n" ATMOSPHERE: (183..220) ";; Echo just prints out its arguments" - ATMOSPHERE: (220..221) " -" + ATMOSPHERE: (220..221) "\n" FORM: (221..295) OPEN_PAREN: (221..222) "(" SYMBOL: (222..228) @@ -128,8 +118,7 @@ PROGRAM: (0..725) ATMOSPHERE: (228..229) " " SYMBOL: (229..233) IDENTIFIER: (229..233) "echo" - ATMOSPHERE: (233..236) " - " + ATMOSPHERE: (233..236) "\n " FORM: (236..294) OPEN_PAREN: (236..237) "(" SYMBOL: (237..238) @@ -145,8 +134,7 @@ PROGRAM: (0..725) SYMBOL: (248..252) IDENTIFIER: (248..252) "echo" CLOSE_PAREN: (252..253) ")" - ATMOSPHERE: (253..258) " - " + ATMOSPHERE: (253..258) "\n " FORM: (258..292) OPEN_PAREN: (258..259) "(" SYMBOL: (259..265) @@ -154,8 +142,7 @@ PROGRAM: (0..725) ATMOSPHERE: (265..266) " " SYMBOL: (266..270) IDENTIFIER: (266..270) "args" - ATMOSPHERE: (270..277) " - " + ATMOSPHERE: (270..277) "\n " FORM: (277..291) OPEN_PAREN: (277..278) "(" SYMBOL: (278..285) @@ -168,28 +155,23 @@ PROGRAM: (0..725) CLOSE_PAREN: (292..293) ")" CLOSE_PAREN: (293..294) ")" CLOSE_PAREN: (294..295) ")" - ATMOSPHERE: (295..297) " - -" + ATMOSPHERE: (295..297) "\n\n" FORM: (297..317) OPEN_PAREN: (297..298) "(" SYMBOL: (298..302) IDENTIFIER: (298..302) "echo" ATMOSPHERE: (302..303) " " CONSTANT: (303..316) - STRING: (303..316) ""hello world"" + STRING: (303..316) "\"hello world\"" CLOSE_PAREN: (316..317) ")" FORM: (317..326) OPEN_PAREN: (317..318) "(" SYMBOL: (318..325) IDENTIFIER: (318..325) "newline" CLOSE_PAREN: (325..326) ")" - ATMOSPHERE: (326..328) " - -" + ATMOSPHERE: (326..328) "\n\n" ATMOSPHERE: (328..380) ";; Recursive fibonacci defined using the combinator." - ATMOSPHERE: (380..381) " -" + ATMOSPHERE: (380..381) "\n" FORM: (381..501) OPEN_PAREN: (381..382) "(" SYMBOL: (382..388) @@ -197,8 +179,7 @@ PROGRAM: (0..725) ATMOSPHERE: (388..389) " " SYMBOL: (389..392) IDENTIFIER: (389..392) "fib" - ATMOSPHERE: (392..395) " - " + ATMOSPHERE: (392..395) "\n " FORM: (395..500) OPEN_PAREN: (395..396) "(" SYMBOL: (396..397) @@ -214,8 +195,7 @@ PROGRAM: (0..725) SYMBOL: (407..410) IDENTIFIER: (407..410) "fib" CLOSE_PAREN: (410..411) ")" - ATMOSPHERE: (411..416) " - " + ATMOSPHERE: (411..416) "\n " FORM: (416..498) OPEN_PAREN: (416..417) "(" SYMBOL: (417..423) @@ -226,8 +206,7 @@ PROGRAM: (0..725) SYMBOL: (425..426) IDENTIFIER: (425..426) "n" CLOSE_PAREN: (426..427) ")" - ATMOSPHERE: (427..434) " - " + ATMOSPHERE: (427..434) "\n " FORM: (434..497) OPEN_PAREN: (434..435) "(" SYMBOL: (435..437) @@ -244,12 +223,10 @@ PROGRAM: (0..725) CONSTANT: (444..445) NUMBER: (444..445) "2" CLOSE_PAREN: (445..446) ")" - ATMOSPHERE: (446..455) " - " + ATMOSPHERE: (446..455) "\n " CONSTANT: (455..456) NUMBER: (455..456) "1" - ATMOSPHERE: (456..465) " - " + ATMOSPHERE: (456..465) "\n " FORM: (465..496) OPEN_PAREN: (465..466) "(" SYMBOL: (466..467) @@ -296,9 +273,7 @@ PROGRAM: (0..725) CLOSE_PAREN: (498..499) ")" CLOSE_PAREN: (499..500) ")" CLOSE_PAREN: (500..501) ")" - ATMOSPHERE: (501..503) " - -" + ATMOSPHERE: (501..503) "\n\n" FORM: (503..520) OPEN_PAREN: (503..504) "(" SYMBOL: (504..511) @@ -318,12 +293,9 @@ PROGRAM: (0..725) SYMBOL: (521..528) IDENTIFIER: (521..528) "newline" CLOSE_PAREN: (528..529) ")" - ATMOSPHERE: (529..531) " - -" + ATMOSPHERE: (529..531) "\n\n" ATMOSPHERE: (531..583) ";; Recursive factorial defined using the combinator." - ATMOSPHERE: (583..584) " -" + ATMOSPHERE: (583..584) "\n" FORM: (584..694) OPEN_PAREN: (584..585) "(" SYMBOL: (585..591) @@ -331,8 +303,7 @@ PROGRAM: (0..725) ATMOSPHERE: (591..592) " " SYMBOL: (592..596) IDENTIFIER: (592..596) "fact" - ATMOSPHERE: (596..599) " - " + ATMOSPHERE: (596..599) "\n " FORM: (599..693) OPEN_PAREN: (599..600) "(" SYMBOL: (600..601) @@ -348,8 +319,7 @@ PROGRAM: (0..725) SYMBOL: (611..615) IDENTIFIER: (611..615) "fact" CLOSE_PAREN: (615..616) ")" - ATMOSPHERE: (616..621) " - " + ATMOSPHERE: (616..621) "\n " FORM: (621..691) OPEN_PAREN: (621..622) "(" SYMBOL: (622..628) @@ -360,8 +330,7 @@ PROGRAM: (0..725) SYMBOL: (630..631) IDENTIFIER: (630..631) "n" CLOSE_PAREN: (631..632) ")" - ATMOSPHERE: (632..639) " - " + ATMOSPHERE: (632..639) "\n " FORM: (639..690) OPEN_PAREN: (639..640) "(" SYMBOL: (640..642) @@ -378,12 +347,10 @@ PROGRAM: (0..725) CONSTANT: (648..649) NUMBER: (648..649) "0" CLOSE_PAREN: (649..650) ")" - ATMOSPHERE: (650..659) " - " + ATMOSPHERE: (650..659) "\n " CONSTANT: (659..660) NUMBER: (659..660) "1" - ATMOSPHERE: (660..669) " - " + ATMOSPHERE: (660..669) "\n " FORM: (669..689) OPEN_PAREN: (669..670) "(" SYMBOL: (670..671) @@ -415,9 +382,7 @@ PROGRAM: (0..725) CLOSE_PAREN: (691..692) ")" CLOSE_PAREN: (692..693) ")" CLOSE_PAREN: (693..694) ")" - ATMOSPHERE: (694..696) " - -" + ATMOSPHERE: (694..696) "\n\n" FORM: (696..715) OPEN_PAREN: (696..697) "(" SYMBOL: (697..704) @@ -437,6 +402,5 @@ PROGRAM: (0..725) SYMBOL: (716..723) IDENTIFIER: (716..723) "newline" CLOSE_PAREN: (723..724) ")" - ATMOSPHERE: (724..725) " -" + ATMOSPHERE: (724..725) "\n" EOF: (725..725) "" diff --git a/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj b/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj index 8942d7c..e9e92e8 100644 --- a/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj +++ b/src/Feersum.CompilerServices/Feersum.CompilerServices.fsproj @@ -36,8 +36,8 @@ - + - + - \ No newline at end of file + diff --git a/src/Feersum.Stage1/Feersum.Stage1.fsproj b/src/Feersum.Stage1/Feersum.Stage1.fsproj index ff3b3c2..eb7dc4f 100644 --- a/src/Feersum.Stage1/Feersum.Stage1.fsproj +++ b/src/Feersum.Stage1/Feersum.Stage1.fsproj @@ -12,7 +12,7 @@ - + diff --git a/src/Feersum/Feersum.fsproj b/src/Feersum/Feersum.fsproj index 7d97e67..54f70b1 100644 --- a/src/Feersum/Feersum.fsproj +++ b/src/Feersum/Feersum.fsproj @@ -22,7 +22,7 @@ - + diff --git a/test/Feersum.Tests/Feersum.Tests.fsproj b/test/Feersum.Tests/Feersum.Tests.fsproj index 0b62c2d..e390062 100644 --- a/test/Feersum.Tests/Feersum.Tests.fsproj +++ b/test/Feersum.Tests/Feersum.Tests.fsproj @@ -22,14 +22,14 @@ - - - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all