I'm experimenting with ansi-terminal in Haskell and seem to be having trouble with the behavior on Windows as compared to Linux. On Linux, I get a blue "@" which I can move around with wasd keys (as expected), and can quit by pressing any other key. On windows, I just get a white "@" that doesn't move, and can't move the character at all.

How can I duplicate Linux behavior in Windows?

A few notes:

By Windows, I mean that I compiled and ran under wine

cabal 1.18.0.3

ghc 7.6.3

installed ansi-terminal by 'wine cabal install'

I'd prefer not to have to use ncurses (hscurses) if possible

update: The minimal failing code is:

import System.Console.ANSI main :: IO () main = do clearScreen setCursorPosition 0 0 setSGR [SetColor Foreground Vivid Blue] putStrLn "@" setSGR [Reset]

On Linux, this does the "right" thing in that a blue "@" is printed. Under wine, I see no changes. I'm hoping that this is just a peculiarity of wine and not Windows, as I don't have access to a Windows box to try this on.

The (original) code I tried: