tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

stableRunner.tri (822B)


      1 !import "prelude" !Local
      2 !import "parser" !Local
      3 !import "source.resolve" !Local
      4 !import "STABLE_COMPILER_MANIFEST" E
      5 
      6 -- Fixture = (environment, (source, (arguments, expected))). No recursion list.
      7 compileFixture fixture = E.compileStableModuleDefinitions (fst fixture) (fst (snd fixture))
      8 fixtureArguments fixture = fst (snd (snd fixture))
      9 fixtureExpected fixture = snd (snd (snd fixture))
     10 constructionReady fixture = lazyResult (_ _ : false) (definitions _ : equal? definitions definitions) (compileFixture fixture)
     11 diagnosticMatches fixture = lazyResult (problem _ : equal? (parserDiagnosticExpected problem) (fixtureExpected fixture)) (_ _ : false) (compileFixture fixture)
     12 matchesPublished executable fixture = equal? (foldl (f argument : f argument) executable (fixtureArguments fixture)) (fixtureExpected fixture)