Module Julia.Types

A library to represent a subset of Julia programs.

Author: Michael Hanus

Version: June 2020

Summary of exported operations:

Exported datatypes:


JLType

Julia types.

Constructors:

  • JLBoolType :: JLType
  • JLInt32 :: JLType
  • JLInt64 :: JLType
  • JLFloat64 :: JLType
  • JLStringType :: JLType
  • JLStruct :: String -> JLType
  • JLArray :: [JLType] -> JLType

JLExp

Julia expressions.

Constructors:

  • JLBool :: Bool -> JLExp
  • JLInt :: Int -> JLExp
  • JLFloat :: Float -> JLExp
  • JLString :: String -> JLExp
  • JLIVar :: Int -> JLExp
  • JLSVar :: String -> JLExp
  • JLArrayAcc :: JLExp -> JLExp -> JLExp
  • JLArrayInit :: [JLExp] -> JLExp
  • JLStructAcc :: JLExp -> String -> JLExp
  • JLOp :: String -> JLExp -> JLExp -> JLExp
  • JLFCall :: String -> [JLExp] -> JLExp

JLStm

Julia statements.

Constructors:


JLTop

Julia top-level entities occurring in scripts. These are function declarations or statements. A function declaration consists of a name, indexed arguments with optional types, an optional result type and the body represented by a list of statements.

Constructors:


JLModule

Julia module consisting of the module name, exported names, imported modules, and a list of top-level entities.

Constructors:

  • JLModule :: String -> [String] -> [String] -> [JLTop] -> JLModule

Exported operations: