(元々このブログはふと思ったことを短文でぽいぽい置くところだったりする)
RGBは情報を独立に保っていて出力もちゃんと独立に出る、素直な3次元空間 (測りは難しいけれど)。
でもAはそうではないよね。Aが0になるにつれて空間はどんどん小さくなっていき、最終的に1点になる。
底面が立方体の四次元錐になってるんですね。
ちゃんと (R,G,B,0) を同一視しないと、できる環境にしないと、まぁ色々問題が起きるものだな、という。
それこそ Color型はこうあるべきなんだな:
data Color where record : (I,I,I,I) → Color shrink : (r0:I,g0:I,b0:I) × (r1:I,g1:I,b1:I) → record (r0,g0,b0,0) = record (r1,g1,b1,0)
こういう言語がほしいものですね。まったく。