lib/sfrp/mono/pattern.rb
def low_let_exps(set, receiver_exp, env)
        env.add_var(@ref_var_str, @type_str) if named?
        lets = (named? ? ["#{@ref_var_str} = (#{receiver_exp})"] : [])
        return lets if any?
        children = @arg_patterns.each_with_index.flat_map do |pat, mem_id|
          new_receiver = child_receiver_exp(set, receiver_exp, mem_id)
          pat.low_let_exps(set, new_receiver, env)
        end
        lets + children
      end
# Return whole let-low-exps for the pattern-matching.
Return whole let-low-exps for the pattern-matching.
Return whole let - low - exps for the pattern - matching .
def low_let_exps(set, receiver_exp, env)
        env.add_var(@ref_var_str, @type_str) if named?
        lets = (named? ? ["#{@ref_var_str} = (#{receiver_exp})"] : [])
        return lets if any?
        children = @arg_patterns.each_with_index.flat_map do |pat, mem_id|
          new_receiver = child_receiver_exp(set, receiver_exp, mem_id)
          pat.low_let_exps(set, new_receiver, env)
        end
        lets + children
      end
def low_let_exps ( set , receiver_exp , env ) env . add_var ( @ref_var_str , @type_str ) if named? lets = ( named? ? [ "#{@ref_var_str} = (#{receiver_exp})" ] : [ ] ) return lets if any? children = @arg_patterns . each_with_index . flat_map do | pat , mem_id | new_receiver = child_receiver_exp ( set , receiver_exp , mem_id ) pat . low_let_exps ( set , new_receiver , env ) end lets + children end
Return whole let-low-exps for the pattern-matching.
Return whole let - low - exps for the pattern - matching .
set
receiver_exp
env