double( x ) / x = x
double( x ) = x * x
x * x = double( x )
In Haskell, only one of them happens to be legal. Because you are not writing a mathematical equation. You are specifying a computation. The fact that isn't even obvious, makes matters worse.
Some questions though:
Would you consider adding automatic server-side proccessing in the future based on file-extension? For example, compiling .less to .css on the fly?
I think, one of the more interesting directions of a web-based IDE is that they can stop pretending to be a file-editor on a file-system.
I also notice streams. Is this true collaborative editing?