org.finos.morphir.ir

Members list

Type members

Classlikes

final case class AccessControlled[+A](access: Access, value: A)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class Attributed[Case[_], A](caseValue: Case[Attributed[Case, A]], attributes: A)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final case class Field[+T](name: Name, data: T)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
Field[T]
object Field

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Field.type
trait InferredTypeOf[A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class IsNotAValue[-A] extends Serializable

Attributes

Companion
object
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
object IsNotAValue.type
object IsNotAValue extends IsNotAValue[Any]

Attributes

Companion
class
Supertypes
trait Sum
trait Mirror
class IsNotAValue[Any]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object Literal

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Literal.type
object Module extends ModuleModule

Attributes

Supertypes
trait ModuleModule
class Object
trait Matchable
class Any
Self type
Module.type
final case class MorphirIRFile(version: MorphirIRVersion, distribution: Distribution)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class MorphirIRVersion(version: String) extends Product, Serializable

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
object V1_0.type
object V2_0.type
object V3_0.type

Attributes

Companion
class
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class Named[+A](name: Name, value: A)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
Named[A]
object Named

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Named.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object NeedsAttributes.type
sealed abstract class NeedsAttributes[+A] extends Serializable

A value of type NeedAttributes[A] provides implicit evidence that a node with attributes type A needs attribute values, that is, that A is not equal to Any.

A value of type NeedAttributes[A] provides implicit evidence that a node with attributes type A needs attribute values, that is, that A is not equal to Any.

Attributes

Companion
object
Supertypes
trait Serializable
class Object
trait Matchable
class Any
Known subtypes
object NeedsAttributes.type

Attributes

Companion
class
Supertypes
trait Sum
trait Mirror
class NeedsAttributes[Nothing]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object PackageModule extends PackageModule

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final case class ParserError(msg: String) extends Exception

Attributes

Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
object Source

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Source.type
final implicit class StringContextOps(self: StringContext) extends AnyVal

Attributes

Supertypes
class AnyVal
trait Matchable
class Any
final implicit class StringOps(self: String) extends AnyVal

Attributes

Supertypes
class AnyVal
trait Matchable
class Any
object Type extends TypeModule

Attributes

Supertypes
trait TypeModule
class Object
trait Matchable
class Any
Self type
Type.type
trait TypeModule

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Type.type
Self type
object Value extends PatternModule

In functional programming data and logic are treated the same way and we refer to both as values. This module provides the building blocks for those values (data and logic) in the Morphir IR.

In functional programming data and logic are treated the same way and we refer to both as values. This module provides the building blocks for those values (data and logic) in the Morphir IR.

If you use Elm as your frontend language for Morphir then you should think about all the logic and constant values that you can put in the body of a function. Here are a few examples:

myThreshold =
   1000

min a b =
 if a < b then
   a
 else b

addTwo a = a + 2

All the above are values: the first one is just data, the second one is logic and the last one has both logic and data. In either case each value is represented by a Value expression. This is a recursive data structure with various node types representing each possible language construct. You can check out the documentation for values below to find more details. Here are the Morphir IR snippets for the above values as a quick reference:

myThreshold = Literal () (WholeNumberLiteral 1000)

min a b = IfThenElse () (Apply () (Apply () (Reference () (fqn "Morphir.SDK" "Basics" "lessThan")) (Variable () [ "a"
]) ) (Variable () [ "b" ]) ) (Variable () [ "a" ]) (Variable () [ "b" ])

addTwo a = Apply () (Apply () (Reference () (fqn "Morphir.SDK" "Basics" "add")) (Variable () [ "a" ]) ) (Literal ()
(WholeNumberLiteral 2))

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Value.type

Types

type ??? = Nothing
type Documented[+A] = Documented[A]

Value members

Concrete fields

val Documented: Documented.type

Implicits

Implicits

final implicit def StringContextOps(self: StringContext): StringContextOps
final implicit def StringOps(self: String): StringOps