flix

0.67.2

Fixpoint3.Boxable

Definitions

@Inline @LoweringTarget
def box(x: a): Boxed with Order[a] Source

Boxes the given x.

def lift0X1(f: Vector[o1]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[o1] Source
def lift0X2(f: Vector[(o1, o2)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[o1], Order[o2] Source
def lift0X3(f: Vector[(o1, o2, o3)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[o1], Order[o2], Order[o3] Source
def lift0X4(f: Vector[(o1, o2, o3, o4)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[o1], Order[o2], Order[o3], Order[o4] Source
def lift0X5(f: Vector[(o1, o2, o3, o4, o5)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[o1], Order[o2], Order[o3], Order[o4], Order[o5] Source
def lift1(f: t1 -> t): Boxed -> Boxed with Order[t1], Order[t] Source

Lifts the given function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift1X1(f: i1 -> Vector[o1]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[o1] Source
def lift1X2(f: i1 -> Vector[(o1, o2)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[o1], Order[o2] Source
def lift1X3(f: i1 -> Vector[(o1, o2, o3)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[o1], Order[o2], Order[o3] Source
def lift1X4(f: i1 -> Vector[(o1, o2, o3, o4)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[o1], Order[o2], Order[o3], Order[o4] Source
def lift1X5(f: i1 -> Vector[(o1, o2, o3, o4, o5)]): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[o1], Order[o2], Order[o3], Order[o4], Order[o5] Source
def lift1b(f: t1 -> Bool): Boxed -> Bool with Order[t1] Source

Lifts the given Boolean-valued function f to operate on boxed values.

def lift2(f: t1 -> (t2 -> t)): Boxed -> (Boxed -> Boxed) with Order[t1], Order[t2], Order[t] Source

Lifts the given function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift2X1(f: i1 -> (i2 -> Vector[o1])): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[o1] Source
def lift2X2(f: i1 -> (i2 -> Vector[(o1, o2)])): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[o1], Order[o2] Source
def lift2X3(f: i1 -> (i2 -> Vector[(o1, o2, o3)])): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[o1], Order[o2], Order[o3] Source
def lift2X4(f: i1 -> (i2 -> Vector[(o1, o2, o3, o4)])): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[o1], Order[o2], Order[o3], Order[o4] Source
def lift2X5(f: i1 -> (i2 -> Vector[(o1, o2, o3, o4, o5)])): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[o1], Order[o2], Order[o3], Order[o4], Order[o5] Source
def lift2b(f: t1 -> (t2 -> Bool)): Boxed -> (Boxed -> Bool) with Order[t1], Order[t2] Source

Lifts the given Boolean-valued function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift3(f: t1 -> (t2 -> (t3 -> t))): Boxed -> (Boxed -> (Boxed -> Boxed)) with Order[t1], Order[t2], Order[t3], Order[t] Source

Lifts the given function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift3X1(f: i1 -> (i2 -> (i3 -> Vector[o1]))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[o1] Source
def lift3X2(f: i1 -> (i2 -> (i3 -> Vector[(o1, o2)]))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[o1], Order[o2] Source
def lift3X3(f: i1 -> (i2 -> (i3 -> Vector[(o1, o2, o3)]))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[o1], Order[o2], Order[o3] Source
def lift3X4(f: i1 -> (i2 -> (i3 -> Vector[(o1, o2, o3, o4)]))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[o1], Order[o2], Order[o3], Order[o4] Source
def lift3X5(f: i1 -> (i2 -> (i3 -> Vector[(o1, o2, o3, o4, o5)]))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[o1], Order[o2], Order[o3], Order[o4], Order[o5] Source
def lift3b(f: t1 -> (t2 -> (t3 -> Bool))): Boxed -> (Boxed -> (Boxed -> Bool)) with Order[t1], Order[t2], Order[t3] Source

Lifts the given Boolean-valued function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift4(f: t1 -> (t2 -> (t3 -> (t4 -> t)))): Boxed -> (Boxed -> (Boxed -> (Boxed -> Boxed))) with Order[t1], Order[t2], Order[t3], Order[t4], Order[t] Source

Lifts the given function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift4X1(f: i1 -> (i2 -> (i3 -> (i4 -> Vector[o1])))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[o1] Source
def lift4X2(f: i1 -> (i2 -> (i3 -> (i4 -> Vector[(o1, o2)])))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[o1], Order[o2] Source
def lift4X3(f: i1 -> (i2 -> (i3 -> (i4 -> Vector[(o1, o2, o3)])))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[o1], Order[o2], Order[o3] Source
def lift4X4(f: i1 -> (i2 -> (i3 -> (i4 -> Vector[(o1, o2, o3, o4)])))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[o1], Order[o2], Order[o3], Order[o4] Source
def lift4X5(f: i1 -> (i2 -> (i3 -> (i4 -> Vector[(o1, o2, o3, o4, o5)])))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[o1], Order[o2], Order[o3], Order[o4], Order[o5] Source
def lift4b(f: t1 -> (t2 -> (t3 -> (t4 -> Bool)))): Boxed -> (Boxed -> (Boxed -> (Boxed -> Bool))) with Order[t1], Order[t2], Order[t3], Order[t4] Source

Lifts the given Boolean-valued function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift5(f: t1 -> (t2 -> (t3 -> (t4 -> (t5 -> t))))): Boxed -> (Boxed -> (Boxed -> (Boxed -> (Boxed -> Boxed)))) with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5], Order[t] Source

Lifts the given function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

def lift5X1(f: i1 -> (i2 -> (i3 -> (i4 -> (i5 -> Vector[o1]))))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[i5], Order[o1] Source
def lift5X2(f: i1 -> (i2 -> (i3 -> (i4 -> (i5 -> Vector[(o1, o2)]))))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[i5], Order[o1], Order[o2] Source
def lift5X3(f: i1 -> (i2 -> (i3 -> (i4 -> (i5 -> Vector[(o1, o2, o3)]))))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[i5], Order[o1], Order[o2], Order[o3] Source
def lift5X4(f: i1 -> (i2 -> (i3 -> (i4 -> (i5 -> Vector[(o1, o2, o3, o4)]))))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[i5], Order[o1], Order[o2], Order[o3], Order[o4] Source
def lift5X5(f: i1 -> (i2 -> (i3 -> (i4 -> (i5 -> Vector[(o1, o2, o3, o4, o5)]))))): Vector[Boxed] -> Vector[Vector[Boxed]] with Order[i1], Order[i2], Order[i3], Order[i4], Order[i5], Order[o1], Order[o2], Order[o3], Order[o4], Order[o5] Source
def lift5b(f: t1 -> (t2 -> (t3 -> (t4 -> (t5 -> Bool))))): Boxed -> (Boxed -> (Boxed -> (Boxed -> (Boxed -> Bool)))) with Order[t1], Order[t2], Order[t3], Order[t4], Order[t5] Source

Lifts the given Boolean-valued function f to operate on boxed values.

Note: Accepts a curried function, but returns a non-curried function.

@LoweringTarget
def unbox(x: Boxed): a Source

Unboxes the given x.