def evaluar_en(self, estado): for constructor in self._constructor.evaluar_en(estado): nombres_parametros = map(lambda xs: xs[0], self._parametros) argumentos_no_evaluados = map(lambda xs: xs[1], self._parametros) for args in evaluar_lista_en(argumentos_no_evaluados, estado): constructor_ap = constructor for nombre_parametro, arg in zip(nombres_parametros, args): constructor_ap = constructor_ap.currificar_parametro( nombre_parametro, arg ) yield constructor_ap