class Dhall::If
Public Class Methods
decode(pred, thn, els)
click to toggle source
# File lib/dhall/binary.rb, line 194 def self.decode(pred, thn, els) new( predicate: Dhall.decode(pred), then: Dhall.decode(thn), else: Dhall.decode(els) ) end
Public Instance Methods
as_json()
click to toggle source
# File lib/dhall/ast.rb, line 1112 def as_json [14, predicate.as_json, self.then.as_json, self.else.as_json] end
normalize()
click to toggle source
Calls superclass method
Dhall::Expression#normalize
# File lib/dhall/normalize.rb, line 396 def normalize normalized = super if normalized.predicate.is_a?(Bool) normalized.predicate.reduce(normalized.then, normalized.else) elsif normalized.trivial? normalized.predicate elsif normalized.then == normalized.else normalized.then else normalized end end
trivial?()
click to toggle source
# File lib/dhall/normalize.rb, line 409 def trivial? self.then == Bool.new(value: true) && self.else == Bool.new(value: false) end