1
$\begingroup$

I have run into the symbol

FE`None

multiple times. What is this symbol, and what is it designed to indicate? All I could find is that FE indicates the front-end, but it's unfortunately a very Ungoogleable term. I believe that it's not something I should ever "see" on the front, but I'm guessing it represents some sort of display element. Perhaps "this object is un-representable to the front end" or something like?

To be clear, I'm not asking for aid in fixing my program so as to not produce this output. This is a question about the definition of the symbol, out of purely intellectual curiosity.

Edit: After a long while debugging the application, I've managed to reduce the problematic code that caused this happen. See, it was doing some fuzzy logic computations, and various computations were being represented using If statements. For instance If[True,a,b] evaluates to a always, then If[var,a,b] could be used to represent a fuzzy mixture of a and b. (This was not my design decision.) Then the computations were implemented as different overloads of If. Naturally, this meant Unprotecting If as well.

Through a chain of some slightly-off Holds and Evaluates, confusing = and :=, there was some code that ended up running under certain circumstances to evaluate to:

Unprotect[If];
Unprotect[If];
If[True,a_,b_] := If[RandomReal[] > 0.5,a,b];

I think it's pretty obvious how this could could lead to some weird problems down the line. As a minimal case, run the above, followed by If[True,1,2]. I tested on a few different versions of Mathematica on different machines, it seems to consistently produce 2, with a "Full output could not be displayed" warning. Pressing "Show full output" 3 times then waiting 15 minutes caused the output to re-render as "FE`None".

$\endgroup$
  • 1
    $\begingroup$ I doubt this is answerable unless someone happens to have experienced the exact same problem. Can you provide any more information about your application? $\endgroup$ – Mr.Wizard Jul 19 '16 at 7:14
  • 3
    $\begingroup$ FE` Symbols are used by the Front End as part of its normal operations. (e.g. (29244)) Why one is "leaking" out to a returned evaluation I cannot say. $\endgroup$ – Mr.Wizard Jul 19 '16 at 7:22
  • 2
    $\begingroup$ Can you add some code that returns FE`None? $\endgroup$ – Karsten 7. Jul 19 '16 at 18:07
  • 3
    $\begingroup$ The Symbol has no definition; it is simply None in the Front End context. The curiosity about in my mind seems firmly centered on why this was returned by an evaluation and we still do not have even a description of the code you were running. This is why I joined three other longstanding members in voting to close. $\endgroup$ – Mr.Wizard Jul 19 '16 at 18:24
  • 1
    $\begingroup$ @Mr.Wizard My random guess, FWIW, is that FE`None works like System`None in certain FE` functions, and it's in the FE` context for security reasons. I agree it would be nice to have code to reproduce its top-level appearance. $\endgroup$ – Michael E2 Jul 19 '16 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.