|
Assistant.PTSSpecification | Portability | portable (depende de GHC - GTK2HS) | Stability | Version de juguete. |
|
|
|
|
|
Description |
Definicion de la especificacion de PTS.
|
|
Synopsis |
|
type Sort = String | | type S = [Sort] | | type A = [(Sort, Sort)] | | type R = [(Sort, Sort, Sort)] | | type PTS = (String, S, A, R) | | newPTS :: String -> S -> A -> R -> Maybe PTS | | anySort :: Sort | | inSorts :: Sort -> PTS -> Bool | | inAxioms :: (Sort, Sort) -> PTS -> Bool | | inRules :: (Sort, Sort, Sort) -> PTS -> Bool | | filterAxioms :: A -> (Sort, Sort) -> A | | filterRules :: R -> (Sort, Sort, Sort) -> R | | subPTS :: PTS -> PTS -> Bool |
|
|
|
Tipos
|
|
type Sort = String |
Definicion de un sort.
|
|
type S = [Sort] |
Definicion de S (conjunto de sorts)
|
|
type A = [(Sort, Sort)] |
Definicion de A (conjunto de axiomas)
|
|
type R = [(Sort, Sort, Sort)] |
Definicion de R (conjunto de reglas)
|
|
type PTS = (String, S, A, R) |
Definicion de un Pure Type System (PTS)
|
|
Constructores
|
|
newPTS :: String -> S -> A -> R -> Maybe PTS |
Dadas una lista de Sorts, una de pares de Sorts y una de triplas de Sorts,
define, si es posible una nueva especificacion de PTS, tomando la primera
lista como los Sorts, la segunda como los axiomas y la tercera como las
relaciones.
|
|
anySort :: Sort |
Define un sort generico.
|
|
Metodos
|
|
inSorts :: Sort -> PTS -> Bool |
Verifica si un Sort se encuentra definido en un PTS.
|
|
inAxioms :: (Sort, Sort) -> PTS -> Bool |
Verifica si un par de sorts se encuentra definido como axioma de un PTS.
Si los argumentos se encuentran completamente definidos, entonces retorna
TRUE si son parte de un axioma. Si solo uno se encuentra definido, entonces
retorna TRUE si existe la posibilidad de que forme parte de un axioma. Si
ninguno se encuentra definido, retorna FALSE.
|
|
inRules :: (Sort, Sort, Sort) -> PTS -> Bool |
Verifica si una tripla de sorts se encuentra definido como regla de un PTS.
|
|
filterAxioms :: A -> (Sort, Sort) -> A |
Dado un conjunto de axiomas y un par de sorts, filtra del conjunto de
axiomas a aquellos que se ajustan al par de sorts recibido.
|
|
filterRules :: R -> (Sort, Sort, Sort) -> R |
Dado un conjunto de reglas y una tripla de sorts, filtra del conjunto de
reglas a aquellas que se ajustan a la tripla de sorts recibida.
|
|
subPTS :: PTS -> PTS -> Bool |
Dadas dos especificaciones de PTS, determina si los elementos de la primera
(Sorts, Axiomas y Reglas) se encuentran tambien definidas en la segunda.
|
|
Produced by Haddock version 0.8 |