class Dhall::Builtins::Optional_build

Public Instance Methods

fusion(*args) click to toggle source
Calls superclass method Dhall::Expression#fusion
# File lib/dhall/builtins.rb, line 293
def fusion(*args)
        _, arg, = args
        if arg.is_a?(Application) &&
           arg.function.is_a?(Application) &&
           arg.function.function == Optional_fold.new
                arg.argument
        else
                super
        end
end

Protected Instance Methods

some(type) click to toggle source
# File lib/dhall/builtins.rb, line 314
def some(type)
        Function.of_arguments(
                type,
                body: Dhall::Optional.new(
                        value:      Variable["_"],
                        value_type: type
                )
        )
end
uncurried_call(type, f) click to toggle source
# File lib/dhall/builtins.rb, line 306
def uncurried_call(type, f)
        f.call(
                Optional.new.call(type),
                some(type),
                OptionalNone.new(value_type: type)
        )
end