XFRP type checking and type environments.
Procs
proc initXfrpTypeEnv(): XfrpTypeEnv {...}{.raises: [], tags: [].}
- Source Edit
proc addFunc(typeEnv: var XfrpTypeEnv; id: XfrpId; argTypes: seq[XfrpType]; retType: XfrpType) {...}{.raises: [], tags: [].}
- Source Edit
proc addVar(typeEnv: var XfrpTypeEnv; id: XfrpId; ty: XfrpType) {...}{.raises: [], tags: [].}
- Source Edit
proc hasVarOrAdd(typeEnv: var XfrpTypeEnv; id: XfrpId; ty: XfrpType): bool {...}{. raises: [], tags: [].}
- Source Edit
proc getFuncType(typeEnv: XfrpTypeEnv; id: XfrpId): FuncType {...}{. raises: [KeyError], tags: [].}
- Source Edit
proc getVarType(typeEnv: XfrpTypeEnv; id: XfrpId): XfrpType {...}{. raises: [KeyError], tags: [].}
- Source Edit
proc `$`(typeEnv: XfrpTypeEnv): string {...}{.raises: [], tags: [].}
- Source Edit
proc xfrpTypeOf(env: XfrpTypeEnv; lit: WithCodeInfo[XfrpLiteral]): XfrpType {...}{. raises: [], tags: [].}
- Source Edit
proc xfrpTypeOf(env: XfrpTypeEnv; exp: WithCodeInfo[XfrpExpr]): XfrpType {...}{. raises: [XfrpTypeError, KeyError], tags: [].}
- Source Edit
proc makeTypeEnvironmentFromEnvironment(env: XfrpEnv): XfrpTypeEnv {...}{. raises: [KeyError, XfrpTypeError], tags: [].}
- Source Edit