﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
190	In order to improve the error messages	imendez	Víctor de Buen Remiro	"This code:

//////////////////////////////////////////////////////////////////
Text SelectorLetraA(Set set)
{
  Set sel = Select(set, Real(Text t) { t == ""a"" });
  sel[1][1]
};
Set G = [[ [[""b"" ]] ]];
Text U = SelectorLetraA(c[1]);
Set A = EvalSet(G, Text(Set c) { SelectorLetraA(c) });
//////////////////////////////////////////////////////////////////

yields twice the same error because the function ""SelectorLetraA"" contains a 
mistake, since the set ""sel"" can be empty, and then you can't take sel[1][1] 
element.

It makes imposible to create both ""A"" and ""U"" objects, due to the same error. But 
the error message that TOL returns is different:

//////////////////////////////////////////////////////////////////
ERROR: c no es un objeto de tipo Set.
ERROR: Argumentos erróneos para Text SelectorLetraA (Set set)
ERROR: U no se pudo crear.
ERROR: Intento de acceso al elemento 1-esimo de un conjunto de 0 elementos
ERROR: Fallo en la función ""SelectorLetraA""
ERROR: Fallo en la función """"
ERROR: Fallo en EvalSet.
//////////////////////////////////////////////////////////////////

In the first case, you can know that ""U"" can't be created, but in the second case, 
when trying to create ""A"", you only know there is a mistake in ""EvalSet"", so if you 
have a lot of ""EvalSet"" in your code, you will spent much time trying to find the 
error.

It's only a dummy example to show that an improvement in error and warning 
messages can supply a valuable time to the analyst.

I think it's not a high-priority theme, but in the future it may be a good way to 
improve TOL.

Regards"	enhancement	closed	lowest		Various	1.1.1	minor	invalid		
