Builtins::Getting_Tag_From_Non_Union(3) Tried to do a constructor case statement wrongly


Builtins::Getting_Tag_From_Non_Union( )


This Exception is thrown when a case statement is used on something other than an ADT, for example:

 i = 5;
 case i of {
     A(a) -> putStrLn(a);
     | B(b) -> putStrLn(b);

In the example, the compiler would catch the error - in practice this error can occur when accessing an uninitialised value, or a value with inconsistent type information due to foreign function calls.


Kaya standard library by Edwin Brady, Chris Morris and others ([email protected]). For further information see http://kayalang.org/


The Kaya standard library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (version 2.1 or any later version) as published by the Free Software Foundation.