Header menu logo Fabulous.AST

Types

Contents

Overview

F# is a strongly-typed language with a rich type system. Types in F# range from simple primitives to complex user-defined types. This document provides examples of how to work with various F# types in the Fabulous.AST library.

Primitive Types

F# includes various primitive types such as Boolean values, integers, floating-point numbers, characters, and strings.

#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.Core.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fabulous.AST.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.FCS.dll"

open Fabulous.AST
open type Fabulous.AST.Ast

Oak() {
    AnonymousModule() {
        // Boolean
        Value(ConstantPat(Constant "a"), Bool(false), Boolean())

        // Numeric types - integers
        Value(ConstantPat(Constant "b"), Byte(0uy), Byte()) // 8-bit unsigned integer
        Value(ConstantPat(Constant "c"), SByte(1y), SByte()) // 8-bit signed integer
        Value(ConstantPat(Constant "d"), Int16(1s), Int16()) // 16-bit signed integer
        Value(ConstantPat(Constant "e"), UInt16(1us), UInt16()) // 16-bit unsigned integer
        Value(ConstantPat(Constant "f"), Int(1), Int()) // 32-bit signed integer
        Value(ConstantPat(Constant "g"), UInt32(1u), UInt32()) // 32-bit unsigned integer
        Value(ConstantPat(Constant "h"), Int64(1L), Int64()) // 64-bit signed integer
        Value(ConstantPat(Constant "i"), UInt64(1UL), UInt64()) // 64-bit unsigned integer

        // Native integers
        Value(ConstantPat(Constant "j"), IntPtr(nativeint 1), IntPtr()) // Native signed integer
        Value(ConstantPat(Constant "k"), UIntPtr(unativeint 1), UIntPtr()) // Native unsigned integer

        // Floating-point types
        Value(ConstantPat(Constant "l"), Decimal(1.0m), Decimal()) // Decimal (fixed-point number)
        Value(ConstantPat(Constant "m"), Double(4.0), Double()) // 64-bit double-precision float
        Value(ConstantPat(Constant "n"), Single(1.0f), Single()) // 32-bit single-precision float
        Value(ConstantPat(Constant "r"), Float(1.0), Float()) // Alias for double
        Value(ConstantPat(Constant "s"), Float32(1.0f), Float32()) // Alias for single

        // Character and string
        Value(ConstantPat(Constant "o"), Char('c'), Char()) // Unicode character
        Value(ConstantPat(Constant "p"), String("str"), String()) // Unicode text
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let a: bool = false
let b: byte = 0uy
let c: sbyte = 1y
let d: int16 = 1s
let e: uint16 = 1us
let f: int = 1
let g: uint32 = 1u
let h: int64 = 1L
let i: uint64 = 1UL
let j: nativeint = nativeint 1
let k: unativeint = unativeint 1
let l: decimal = 1.0m
let m: double = 4.0
let n: single = 1.0f
let r: float = 1.0
let s: float32 = 1.0f
let o: char = 'c'
let p: string = "str"

String Literals

F# supports multiple ways to represent string literals. Each representation has specific use cases.

Oak() {
    AnonymousModule() {
        // Regular string with escape sequences
        Value("regularString", String("Hello\nWorld!"), String())

        // Verbatim string with @"..." syntax (preserves all whitespace and doesn't process escape sequences)
        Value(
            "verbatimString",
            VerbatimString(
                @"C:\Program Files\App
Multiple lines
    With indentation"
            ),
            String()
        )

        // Triple-quoted string with """...""" syntax (alternative verbatim string format)
        Value("tripleQuotedString", InterpolatedStringExpr("""{"name": "John", "age": 30}"""), String())

        // Interpolated string (requires special support)
        Value("interpolatedString", InterpolatedStringExpr([ Text("Hello, "); Expr(FillExpr("name"), 1) ]), String())
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let regularString: string = "Hello\nWorld!"

let verbatimString: string =
    @"C:\Program Files\App
Multiple lines
    With indentation"

let tripleQuotedString: string = $"{"name": "John", "age": 30}"
let interpolatedString: string = $"Hello, {name}"

Collection Types

F# provides several collection types, including arrays, lists, and sequences.

Oak() {
    AnonymousModule() {
        // One-dimensional array
        Value("array1d", ArrayExpr([ Int(1); Int(2); Int(3) ]), Array(Int()))

        // Two-dimensional array
        Value("array2d", AppExpr("Array2D.create", [ Int(2); Int(2); Int(0) ]), Array("int", 2))

        // Lists
        Value("list", ListExpr([ Int(1); Int(2); Int(3) ]), ListPostfix(Int()))

        // Sequence
        Value("sequence", SeqExpr([ Int(1); Int(2); Int(3) ]), SeqPostfix(Int()))

        // Using alternative syntax with postfix notation
        Value("listAlt", ListExpr([ String("a"); String("b") ]), ListPostfix(String()))
        Value("seqAlt", SeqExpr([ Bool(true); Bool(false) ]), SeqPostfix(Boolean()))
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let array1d: int[] = [| 1; 2; 3 |]
let array2d: int[,] = Array2D.create 2 2 0
let list: int list = [ 1; 2; 3 ]

let sequence: int seq =
    seq {
        1
        2
        3
    }

let listAlt: string list = [ "a"; "b" ]

let seqAlt: bool seq =
    seq {
        true
        false
    }

Tuple Types

Tuples group multiple values together in an ordered structure.

Oak() {
    AnonymousModule() {
        // Simple tuple (int * string)
        Value("simpleTuple", TupleExpr([ Int(1); String("hello") ]), Tuple([ Int(); String() ]))

        // Triple tuple (int * bool * string)
        Value("tripleTuple", TupleExpr([ Int(42); Bool(true); String("hello") ]), Tuple([ Int(); Boolean(); String() ]))

        // Nested tuples
        Value(
            "nestedTuple",
            TupleExpr(
                [ ConstantExpr(Int(1))
                  TupleExpr([ ConstantExpr(String("nested")); ConstantExpr(Bool(true)) ]) ]
            ),
            Tuple([ Int(); Tuple([ String(); Boolean() ]) ])
        )

        // Struct tuple (value type)
        Value("structTuple", StructTupleExpr([ Int(1); String("value") ]), StructTuple([ Int(); String() ]))
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let simpleTuple: int * string = 1, "hello"
let tripleTuple: int * bool * string = 42, true, "hello"
let nestedTuple: int * string * bool = 1, "nested", true
let structTuple: struct (int , string) = struct (1, "value")

Option Types

Option types represent values that might not exist.

Oak() {
    AnonymousModule() {
        // Option with Some value
        Value("someValue", AppExpr("Some", Int(42)), OptionPostfix(Int()))

        // Option with None value
        Value("noValue", Constant("None"), OptionPostfix(String()))

        // Using the option in a match expression
        Value(
            "optionMatch",
            MatchExpr(
                "someValue",
                [ MatchClauseExpr(LongIdentPat("Some", "x"), Constant("x"))
                  MatchClauseExpr(Constant("None"), Int(0)) ]
            ),
            Int()
        )

        // Alternative syntax
        Value("someAlt", AppExpr("Some", String("text")), OptionPostfix(String()))
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let someValue: int option = Some 42
let noValue: string option = None

let optionMatch: int =
    match someValue with
    | Some x -> x
    | None -> 0

let someAlt: string option = Some "text"

Function Types

F# is a functional-first language where functions are first-class values.

Oak() {
    AnonymousModule() {
        // Simple function (int -> string)
        Value("stringify", LambdaExpr(NamedPat("x"), AppExpr("string", Constant("x"))), Funs([ Int() ], String()))

        // Function with multiple parameters (int -> int -> int)
        Value(
            "add",
            LambdaExpr([ NamedPat("x"); NamedPat("y") ], InfixAppExpr("x", "+", "y")),
            Funs([ Int(); Int() ], Int())
        )

        // Higher-order function that takes a function as parameter
        Value(
            "applyTwice",
            LambdaExpr(
                ParenPat(
                    TuplePat(
                        [ ParameterPat(NamedPat("f"), Funs([ LongIdent("'a") ], LongIdent("'a")))
                          ParameterPat(NamedPat("x"), LongIdent("'a")) ]
                    )
                ),
                AppExpr("f", [ AppExpr("f", [ "x" ]) ])
            ),
            Funs([ Funs([ LongIdent("'a") ], LongIdent("'a")); LongIdent("'a") ], LongIdent("'a"))
        )
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"
// produces the following code:
let stringify: int -> string = fun x -> string x
let add: int -> int -> int = fun x y -> x + y
let applyTwice: 'a -> 'a -> 'a -> 'a = fun (f: 'a -> 'a, x: 'a) -> f f x

Generic Types

F# supports generic types with type parameters.

Oak() {
    AnonymousModule() {
        // Generic list of strings
        Value("stringList", ListExpr([ String("a"); String("b") ]), ListPrefix(String()))

        // Generic dictionary with string keys and int values
        Value("dictionary", AppExpr("Dictionary"), AppPrefix(LongIdent("Dictionary"), [ String(); Int() ]))

        // Generic Result type (for success/failure scenarios)
        Value("result", AppExpr("Ok", Int(42)), ResultPrefix(Int(), String()))

        // Using a custom generic type
        Value("customGeneric", AppExpr("CustomType", String("data")), AppPrefix("CustomType", [ String() ]))
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let stringList: list<string> = [ "a"; "b" ]
let dictionary: Dictionary<string, int> = Dictionary
let result: Result<int, string> = Ok 42
let customGeneric: CustomType<string> = CustomType "data"

Unit of Measure

F# supports units of measure for type-safe numeric calculations.

Oak() {
    AnonymousModule() {
        // Simple measurement
        Value("distance", ConstantExpr(ConstantMeasure("10.0", "m")), AppPrefix(Float(), "m"))

        // Compound measurement
        Value(
            "speed",
            ConstantExpr(ConstantMeasure("55.0", MeasureDivide("km", "h"))),
            AppPrefix(Float(), Tuple([ "km"; "h" ], "/"))
        )

        // Squared units
        Value(
            "area",
            ConstantExpr(ConstantMeasure("100.0", MeasurePower("m", Integer("2")))),
            AppPrefix(Float(), MeasurePowerType("m", Integer("2")))
        )

        // Calculations with units
        Value(
            "calculatedSpeed",
            InfixAppExpr(ConstantExpr(ConstantMeasure("100.0", "km")), "/", ConstantExpr(ConstantMeasure("2.0", "h"))),
            AppPrefix(Float(), Tuple([ "km"; "h" ], "/"))
        )
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let distance: float<m> = 10.0<m>
let speed: float<km / h> = 55.0<km / h>
let area: float<m^2> = 100.0<m^2>
let calculatedSpeed: float<km / h> = 100.0<km> / 2.0<h>

Type Abbreviations

Type abbreviations provide alternative names for existing types.

Oak() {
    AnonymousModule() {
        // Simple type abbreviation
        Abbrev("UserId", Int())

        // Type abbreviation for a more complex type
        Abbrev("UserMap", AppPrefix("Dictionary", [ String(); Int() ]))

        // Using type abbreviations
        Value("userId", Int(42), LongIdent("UserId"))

        // Type abbreviation with a unit of measure
        Abbrev("Distance", "m")
        Value("myDistance", ConstantExpr(ConstantMeasure("50.0", "m")), LongIdent("Distance"))
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
type UserId = int
type UserMap = Dictionary<string, int>
let userId: UserId = 42
type Distance = m
let myDistance: Distance = 50.0<m>

Type Constraints

F# allows you to constrain type parameters to have certain properties.

Oak() {
    AnonymousModule() {
        // Function with equality constraint
        Function(
            "areEqual",
            ParenPat(
                TuplePat(
                    [ ParameterPat(NamedPat("a"), WithGlobal("'T", ConstraintSingle("'T", "equality")))
                      ParameterPat(NamedPat("b"), "'T") ]
                )
            ),
            InfixAppExpr("a", "=", "b")
        )

        // Function with comparison constraint
        Function(
            "max",
            ParenPat(
                TuplePat(
                    [ ParameterPat(NamedPat("a"), WithGlobal("'T", ConstraintSingle("'T", "comparison")))
                      ParameterPat(NamedPat("b"), "'T") ]
                )
            ),
            IfThenElifExpr([ IfThenExpr(InfixAppExpr("a", ">", "b"), ConstantExpr("a")) ], ConstantExpr("b"))
        )
    }
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"

// produces the following code:
let areEqual (a: 'T when 'T: equality, b: 'T) = a = b

let max (a: 'T when 'T: comparison, b: 'T) =
    if a > b then a
    else b
namespace Fabulous
namespace Fabulous.AST
type Ast = class end
Multiple items
static member Ast.Oak: unit -> CollectionBuilder<Fantomas.Core.SyntaxOak.Oak,'marker>

--------------------
module Oak from Fabulous.AST
static member Ast.AnonymousModule: unit -> CollectionBuilder<Fantomas.Core.SyntaxOak.ModuleOrNamespaceNode,Fantomas.Core.SyntaxOak.ModuleDecl>
static member Ast.Value: name: string * value: string * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Value: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.ConstantPat: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ConstantPat: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
Multiple items
static member Ast.Constant: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>

--------------------
module Constant from Fabulous.AST
static member Ast.Bool: value: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Boolean: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Byte: value: byte -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Byte: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.SByte: value: sbyte -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.SByte: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Int16: value: int16 -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Int16: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.UInt16: value: uint16 -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.UInt16: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Int: value: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Int: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.UInt32: value: uint32 -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.UInt32: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Int64: value: int64 -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Int64: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.UInt64: value: uint64 -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.UInt64: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.IntPtr: value: System.IntPtr -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.IntPtr: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
Multiple items
val nativeint: value: 'T -> nativeint (requires member op_Explicit)

--------------------
type nativeint = System.IntPtr

--------------------
type nativeint<'Measure> = nativeint
static member Ast.UIntPtr: value: System.UIntPtr -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.UIntPtr: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
Multiple items
val unativeint: value: 'T -> unativeint (requires member op_Explicit)

--------------------
type unativeint = System.UIntPtr

--------------------
type unativeint<'Measure> = unativeint
static member Ast.Decimal: value: decimal -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Decimal: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Double: value: double -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Double: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
Multiple items
static member Ast.Single: value: single -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Single: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>

--------------------
module Single from Fabulous.AST
static member Ast.Float: value: float -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Float: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Float32: value: float32 -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Float32: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Char: value: char -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.Char: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
Multiple items
static member Ast.String: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.String: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.String: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>

--------------------
module String from Fabulous.AST

--------------------
module String from Microsoft.FSharp.Core
module Gen from Fabulous.AST
<summary> It takes the root of the widget tree and create the corresponding Fantomas node, and recursively creating all children nodes </summary>
val mkOak: root: WidgetBuilder<'node> -> 'node
val run: oak: Fantomas.Core.SyntaxOak.Oak -> string
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
static member Ast.VerbatimString: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.VerbatimString: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.InterpolatedStringExpr: part: string * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: parts: string list * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: part: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: parts: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: part: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: parts: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: part: TextSegment * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InterpolatedStringExpr: parts: TextSegment list * ?isVerbatim: bool * ?dollars: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
union case TextSegment.Text: string -> TextSegment
Multiple items
union case TextSegment.Expr: WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode> * int -> TextSegment

--------------------
module Expr from Fabulous.AST
static member Ast.FillExpr: value: string * identifier: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode>
static member Ast.FillExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * identifier: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode>
static member Ast.FillExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * identifier: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode>
static member Ast.FillExpr: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode>
static member Ast.FillExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode>
static member Ast.FillExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.FillExprNode>
static member Ast.ArrayExpr: value: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ArrayExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ArrayExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
Multiple items
static member Ast.Array: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Array: value: string * rank: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Array: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Array: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * rank: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>

--------------------
module Array from Fabulous.AST

--------------------
module Array from Microsoft.FSharp.Collections
static member Ast.AppExpr: name: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: string * item: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * item: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * item: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: string * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.AppExpr: name: string * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.ListExpr: value: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ListExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ListExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ListPostfix: first: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ListPostfix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.SeqExpr: body: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SeqExpr: body: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SeqExpr: body: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SeqExpr: body: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SeqPostfix: first: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.SeqPostfix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.TupleExpr: value: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.TupleExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.TupleExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
Multiple items
static member Ast.Tuple: items: string list * exponent: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Tuple: items: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Tuple: items: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list * exponent: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Tuple: items: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>

--------------------
module Tuple from Fabulous.AST
static member Ast.ConstantExpr: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ConstantExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.StructTupleExpr: value: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.StructTupleExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.StructTupleExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
Multiple items
static member Ast.StructTuple: items: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.StructTuple: items: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>

--------------------
module StructTuple from Fabulous.AST
static member Ast.OptionPostfix: first: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.OptionPostfix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.MatchExpr: value: string * clause: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * clause: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * clause: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: string * clauses: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * clauses: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * clauses: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: string * bodyExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
   (+0 other overloads)
static member Ast.LongIdentPat: ident: string * pair: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: ident: string * pairs: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: ident: string * pair: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: ident: string * pairs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: ident: string * pair: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: ident: string * pairs: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: pair: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: pairs: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: pair: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LongIdentPat: pairs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: string * value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: string list * value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: string list * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: string list * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> list * value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> list * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameter: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.LambdaExpr: parameter: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.NamedPat: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.Funs: parameters: string list * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameters: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameters: string list * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameter: string * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameter: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameter: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Funs: parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * operator: string * rhs: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
Multiple items
static member Ast.ParenPat: pat: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParenPat: pat: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParenPat: pat: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>

--------------------
module ParenPat from Fabulous.AST
Multiple items
static member Ast.TuplePat: values: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.TuplePat: values: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.TuplePat: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>

--------------------
module TuplePat from Fabulous.AST
static member Ast.ParameterPat: name: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * pType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * pType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * pType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * pType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.LongIdent: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.LongIdent: value: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ListPrefix: first: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ListPrefix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ListPrefix: first: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ListPrefix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.AppPrefix: t: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * postIdentifier: string list * arguments: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * argument: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * postIdentifier: string * arguments: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: string * postIdentifier: string list * arguments: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: string * postIdentifier: string * arguments: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * postIdentifier: string list * arguments: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * postIdentifier: string * arguments: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: string * postIdentifier: string * arguments: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: string * postIdentifier: string list * arguments: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.AppPrefix: t: string * postIdentifier: string * argument: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
   (+0 other overloads)
static member Ast.ResultPrefix: first: string * last: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ResultPrefix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * last: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ResultPrefix: first: string * last: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ResultPrefix: first: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * last: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
Multiple items
static member Ast.ConstantMeasure: constant: string * measure: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.ConstantMeasure: constant: string * measure: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.ConstantMeasure: constant: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * measure: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.ConstantMeasure: constant: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * measure: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>

--------------------
module ConstantMeasure from Fabulous.AST
static member Ast.MeasureDivide: lhs: string * rhs: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasureDivide: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> * rhs: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasureDivide: lhs: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasureDivide: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasurePower: measure: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> * node: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasurePower: measure: string * node: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasurePower: measure: string * node: WidgetBuilder<Fantomas.Core.SyntaxOak.RationalConstNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.MeasurePower: measure: WidgetBuilder<Fantomas.Core.SyntaxOak.Measure> * node: WidgetBuilder<Fantomas.Core.SyntaxOak.RationalConstNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Measure>
static member Ast.Integer: value: int -> WidgetBuilder<Fantomas.Core.SyntaxOak.RationalConstNode>
static member Ast.Integer: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.RationalConstNode>
static member Ast.MeasurePowerType: value: string * rational: WidgetBuilder<Fantomas.Core.SyntaxOak.RationalConstNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.MeasurePowerType: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * rational: WidgetBuilder<Fantomas.Core.SyntaxOak.RationalConstNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.Abbrev: name: string * alias: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.TypeDefnAbbrevNode>
static member Ast.Abbrev: name: string * alias: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.TypeDefnAbbrevNode>
static member Ast.Function: name: string * parameters: string * bodyExpr: string * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.Function: name: string * parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * bodyExpr: string * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
   (+0 other overloads)
static member Ast.WithGlobal: tp: string * constraints: WidgetBuilder<Fantomas.Core.SyntaxOak.TypeConstraint> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.WithGlobal: tp: string * constraints: WidgetBuilder<Fantomas.Core.SyntaxOak.TypeConstraint> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.WithGlobal: tp: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * constraints: WidgetBuilder<Fantomas.Core.SyntaxOak.TypeConstraint> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ConstraintSingle: typar: string * kind: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.TypeConstraint>
static member Ast.IfThenElifExpr: branches: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: string list * elseExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: string list * elseExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list * elseExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list * elseExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list * elseExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list * elseExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenElifExpr: branches: string list * elseExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
   (+0 other overloads)
static member Ast.IfThenExpr: ifExpr: string * thenExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.IfThenExpr: ifExpr: string * thenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.IfThenExpr: ifExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * thenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.IfThenExpr: ifExpr: string * thenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.IfThenExpr: ifExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * thenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.IfThenExpr: ifExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * thenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>

Type something to start searching.