NILs and Boolean Spectrals - bug or behaviour?

NIL(Spread)->->-AND(Boolean Spectral)=1
NIL(Spread)->->-OR(Boolean Spectral=0
NIL(Spread)->->-OR(Boolean)=NIL
NIL(Spread)->->-AND(Boolean)=NIL

Bug or behaviour?

behaviour… no text …

neutral element of OR, + = 0
neutral element of AND, * = 1
neutral element of Spread = NIL

NIL(Spread)->->-OR(Boolean)=NIL
NIL(Spread)->->-AND(Boolean)=NIL
do OR or AND (or anything else) 0 times, collect the results (none) and give me the result as a spread -> NIL

NIL(Spread)->->-AND(Boolean Spectral)=1
multiply all elements of a spread containing nothing -> neutral element of multiplication

NIL(Spread)->->-OR(Boolean Spectral=0
add up all elements of a spread containing nothing -> neutral element of addition

note that spectral nodes have a bin size which means you deal with a nested structure. (a spread of spreads)

if binsize is -1 (which is the default) then the incoming spread is seen as a spread ONE slice that is NIL.
( () )

therefore you get one value that is the neutral element of that spectral operation.

if binsize is > 0 then the incoming spread is seen as a sequence of bins of that binsize. since NIL has nothing to offer NIL now is seen as a sequence of 0 bins, which is quite different:
()

anyway in this case the general rule applies:
do anything 0 times, collect the results (none) and give me the result as a spread -> NIL

thanks. yeah this pretty much how I saw it. I was more just wondering if anyone else though it was a bug ;)

yippeh!.. no text …