Class: Dhall::Builtins::Optional_fold

Inherits:
Dhall::Builtin show all
Defined in:
lib/dhall/builtins.rb

Instance Method Summary collapse

Methods inherited from Dhall::Builtin

#as_json, #unfill

Methods inherited from Expression

#&, #*, #+, #as_dhall, #cache_key, #concat, decode, #deep_merge, #deep_merge_type, #dhall_eq, #digest, #fetch, #fusion, #merge, #normalize, #resolve, #shift, #slice, #substitute, #to_cbor, #to_proc, #to_s, #|

Instance Method Details

#call(*args) ⇒ Object



387
388
389
390
391
392
393
# File 'lib/dhall/builtins.rb', line 387

def call(*args)
	args.reduce(self) do |fold, arg|
		fold.fill_or_call(arg) do
			fold.optional.reduce(arg, &fold.f)
		end || super
	end
end