# FortranProgram(name, returnType, arguments, symbols)ΒΆ

- name: Symbol
- returnType: Union(fst: FortranScalarType, void: void)
- arguments: List Symbol
- symbols: SymbolTable

FortranProgram allows the user to build and manipulate simple models of FORTRAN subprograms. These can then be transformed into actual FORTRAN notation.

- coerce: % -> OutputForm
- from CoercibleTo OutputForm

- coerce: Equation Expression Complex Float -> %
`coerce(eq)`

is undocumented.

- coerce: Equation Expression Float -> %
`coerce(eq)`

is undocumented.

- coerce: Equation Expression Integer -> %
`coerce(eq)`

is undocumented.

- coerce: Equation Expression MachineComplex -> %
`coerce(eq)`

is undocumented.

- coerce: Equation Expression MachineFloat -> %
`coerce(eq)`

is undocumented.

- coerce: Equation Expression MachineInteger -> %
`coerce(eq)`

is undocumented.

- coerce: Expression Complex Float -> %
`coerce(e)`

is undocumented.

- coerce: Expression Float -> %
`coerce(e)`

is undocumented.

- coerce: Expression Integer -> %
`coerce(e)`

is undocumented.

- coerce: Expression MachineComplex -> %
`coerce(e)`

is undocumented.

- coerce: Expression MachineFloat -> %
`coerce(e)`

is undocumented.

- coerce: Expression MachineInteger -> %
`coerce(e)`

is undocumented.

- coerce: FortranCode -> %
`coerce(fc)`

is undocumented.

- coerce: List FortranCode -> %
`coerce(lfc)`

is undocumented.

- coerce: Record(localSymbols: SymbolTable, code: List FortranCode) -> %
`coerce(r)`

is undocumented.- outputAsFortran: % -> Void
- from FortranProgramCategory