diff options
author | Gabriel Dos Reis <gdr@axiomatics.org> | 2016-01-16 13:47:40 -0800 |
---|---|---|
committer | Gabriel Dos Reis <gdr@axiomatics.org> | 2016-01-16 13:47:40 -0800 |
commit | b2eb2e7744d9947f6b5cf61c917014d9d5a4da7d (patch) | |
tree | b1da457baf0a9e187e733c41a3daa30c4f594c4d /src/algebra/compiler.spad.pamphlet | |
parent | 7a0c86e9fcbccd980eb5d0a94fb0d6d6c1a7b0d6 (diff) | |
download | open-axiom-b2eb2e7744d9947f6b5cf61c917014d9d5a4da7d.tar.gz |
Reduce dependencies on databases to catgeory.daase during algebra build
Diffstat (limited to 'src/algebra/compiler.spad.pamphlet')
-rw-r--r-- | src/algebra/compiler.spad.pamphlet | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/algebra/compiler.spad.pamphlet b/src/algebra/compiler.spad.pamphlet index 49d87f80..e85ee1f7 100644 --- a/src/algebra/compiler.spad.pamphlet +++ b/src/algebra/compiler.spad.pamphlet @@ -22,7 +22,7 @@ ++ Description: ++ This domain provides representations for the intermediate ++ form data structure used by the Spad elaborator. -InternalRepresentationForm(): Public == Private where +InternalRepresentationForm: Public == Private where Public == Join(SetCategory, HomotopicTo Syntax) with irVar: (Identifier, InternalTypeForm) -> % ++ \spad{irVar(x,t)} returns an IR for a variable reference @@ -40,13 +40,13 @@ InternalRepresentationForm(): Public == Private where coerce(x: Syntax): % == per x irVar(x,t) == - buildSyntax('%irVar,[x::Syntax,t::Syntax])::% + per buildSyntax('%irVar,[x::Syntax,t::Syntax]) irCtor(x,t) == - buildSyntax('%irCtor,[x::Syntax,t::Syntax])::% + per buildSyntax('%irCtor,[x::Syntax,t::Syntax]) irDef(f,ts,e) == - buildSyntax('%irDef,[f::Syntax, ts::Syntax, e::Syntax])::% + per buildSyntax('%irDef,[f::Syntax, ts::Syntax, e::Syntax]) @ @@ -57,7 +57,7 @@ InternalRepresentationForm(): Public == Private where ++ Date Last Modified: March 12, 2010 ++ Description: ++ This domain provides representations for internal type form. -InternalTypeForm(): Public == Private where +InternalTypeForm: Public == Private where Public == Join(SetCategory, HomotopicTo Syntax) with jokerMode: % ++ \spad{jokerMode} is a constant that stands for any mode @@ -85,7 +85,7 @@ InternalTypeForm(): Public == Private where \section{Elaboration domain} <<domain ELABOR Elaboration>>= )abbrev domain ELABOR Elaboration -Elaboration(): Public == Private where +Elaboration: Public == Private where Public == CoercibleTo OutputForm with elaboration: (InternalRepresentationForm, InternalTypeForm, Environment) -> % ++ \spad{elaboration(ir,ty,env)} construct an elaboration object for @@ -114,7 +114,7 @@ Elaboration(): Public == Private where <<domain CMPCTXT CompilationContext>>= )abbrev domain CMPCTXT CompilationContext -CompilationContext(): Public == Private where +CompilationContext: Public == Private where Public == SetCategory with getExitMode: (%,Integer) -> InternalTypeForm pushExitMode!: (%, InternalTypeForm) -> % @@ -131,7 +131,7 @@ CompilationContext(): Public == Private where ++ Date Last Modified: March 12, 2010 ++ Description: ++ This package implements a Spad compiler. -CompilerPackage(): Public == Private where +CompilerPackage: Public == Private where Public == Type with macroExpand: (SpadAst, Environment) -> SpadAst ++ \spad{macroExpand(s,e)} traverses the syntax object \spad{s} @@ -249,7 +249,7 @@ CompilerPackage(): Public == Private where \section{License} <<license>>= ---Copyright (C) 2007-2010, Gabriel Dos Reis. +--Copyright (C) 2007-2016, Gabriel Dos Reis. --All rights reserved. -- --Redistribution and use in source and binary forms, with or without @@ -286,6 +286,9 @@ CompilerPackage(): Public == Private where <<license>> <<domain IRFORM InternalRepresentationForm>> +<<domain ITFORM InternalTypeForm>> +<<domain ELABOR Elaboration>> +<<domain CMPCTXT CompilationContext>> <<package COMPILER CompilerPackage>> @ |