Пример #1
0
  static u2_flag
  _nest_dext(u2_wire wir_r,
             u2_noun van,
             u2_noun sut,
             u2_noun ref,
             u2_noun gil)
  {
    if ( (u2_yes == u2_sing(sut, ref)) ) {
      return u2_yes;
    }

    {
      u2_ho_jet *jet_j = &j2_mcj(Pt6, ut, nest)[0];

      if ( !(jet_j->sat_s & u2_jet_memo) ) {
        return _nest_dext_in(wir_r, van, sut, ref, gil);
      } else {
        c3_m    fun_m = u2_jet_fun_m(jet_j);
        u2_noun pro   = u2_rl_find_cell(wir_r, fun_m, sut, ref);

        if ( u2_none != pro ) {
          return pro;
        }
        else {
          pro = _nest_dext_in(wir_r, van, sut, ref, gil);

          return u2_rl_save_cell(wir_r, fun_m, sut, ref, pro);
        }
      }
    }
  }
Пример #2
0
  static u2_flag
  _nest_dext_to(u2_wire wir_r,
                u2_noun van,
                u2_noun sut,
                u2_flag tel,
                u2_noun ref,
                u2_noun gil)
  {
    u2_flag tyn = _nest_dext_in(wir_r, van, sut, tel, ref, gil);

    if ( (u2_yes == tyn) || (u2_no == tel) ) {
      return tyn;
    } else {
      u2_noun dun = j2_mcy(Pt6, ut, dunq)(wir_r, van, "need", sut);
      u2_noun niz = j2_mcy(Pt6, ut, dunq)(wir_r, van, "have", ref);

      u2_bl_push(wir_r, u2_bc(wir_r, c3__mean, dun));
      u2_bl_push(wir_r, u2_bc(wir_r, c3__mean, niz));

      return u2_bl_error(wir_r, "nest-fail");
    }
  }
Пример #3
0
  static u3_noun
  _nest_dext_to(
                u3_noun van,
                u3_noun sut,
                u3_noun tel,
                u3_noun ref,
                u3_noun gil)
  {
    u3_noun tyn = _nest_dext_in(van, sut, tel, ref, gil);

    if ( (c3y == tyn) || (c3n == tel) ) {
      return tyn;
    } else {
      // u3_noun dun = u3qfu_dunq(van, "need", sut);
      // u3_noun niz = u3qfu_dunq(van, "have", ref);

      // u3t_push(u3nc(c3__mean, dun));
      // u3t_push(u3nc(c3__mean, niz));

      return u3m_error("type-fail");
    }
  }