Reference¶
-
fpbox.funcs.binmap(f, xs)¶ Strict version of lazy_binmap
-
fpbox.funcs.c(f, g)¶ Function composition
-
fpbox.funcs.collect(items, convert=(<class 'list'>, <class 'tuple'>), convert_to=<class 'tuple'>)¶ Converts a nested list/tuple/generator into a tuple. If no nested list/tuple/generator is found (or if multiple are found) then “items” is returned unchanged to the caller. Useful for generic functions.
Parameters: - items – Target sequence
- convert – Tuple of types to convert into target type
- convert_to – Target type
Returns: The collected sequence
-
fpbox.funcs.compose(*fs)¶ Function composition over a list of functions
-
fpbox.funcs.curry(f, args_supplied=())¶ Takes a function, and then returns a function that takes each argument for the original function through __call__. You probably shouldn’t use this with builtins! Even if it seems to work with a builtin, it might not work properly in previous versions of Python.
-
fpbox.funcs.filter(f, xs)¶ Strict version of filter
-
fpbox.funcs.head(xs)¶
-
fpbox.funcs.init(xs)¶
-
fpbox.funcs.last(xs)¶
-
fpbox.funcs.lazy(f)¶ A decorator to simply yield the result of a function
-
fpbox.funcs.lazy_binmap(f, xs)¶ Maps a binary function over a sequence. The function is applied to each item and the item after it until the last item is reached.
-
fpbox.funcs.lazy_reduce(f, xs)¶ Lazy version of functools.reduce
-
fpbox.funcs.lazy_reverse_binmap(f, xs)¶ Same as lazy_binmap, except the parameters are flipped for the binary function
-
fpbox.funcs.map(f, xs)¶ Strict version of map
-
fpbox.funcs.partition(f, xs)¶ Works similar to filter, except it returns a two-item tuple where the first item is the sequence of items that passed the filter and the second is a sequence of items that didn’t pass the filter
-
fpbox.funcs.reverse(xs)¶ Returns a reversed sequence
-
fpbox.funcs.reverse_binmap(f, xs)¶ Strict version of lazy_reverse_binmap
-
fpbox.funcs.sum(xs)¶ A “sum” implementation that can take advantage of operator overloading
-
fpbox.funcs.tail(xs)¶
-
class
fpbox.types.Array(*items)¶ Immutable homogenous collection. It can be initialized with either a single list/tuple/generator (which will return an Array consisting of the contents of said list/tuple/generator) or it can just be given multiple arguments to initialize the Array with
-
class
fpbox.types.Char(char)¶ Holds a single character
-
exception
fpbox.types.FPboxException¶
-
class
fpbox.types.Stream(xs)¶ Takes any iterable, returns a Stream object that gives access to a set of lazy (FP-related) methods. Some things to note: no methods mutate the iterable, most methods return a Stream object, and the Stream objects themselves are generators that yield the contents of the original iterable
-
dropwhile(f)¶
-
filter(f)¶
-
list()¶ Packs the stream up into a list
-
map(f)¶
-
reduce(f)¶
-
takewhile(f)¶
-
tuple()¶ Packs the stream up into a tuple
-
-
fpbox.types.chars(string)¶ Helper function that returns an array of characters from a string