> To make a Cygwin pugs, we would need to use a Cygwin GHC.[1] To the best > of my knowledge, nobody maintains public binaries of that; and there is > also the somewhat scary warning of a binary GHC being "a moving target" > since cygwin1.dll often changes in ABI-breaking ways. In short, a real > Cygwin port of pugs is something of a challenge. It might become easier > if done in cooperation with cygwin.com.
This is not going to be me. I don't know Haskell or cygwin1.dll. I have no desire to learn the latter and have the desire but no tuits to learn the former. > Until we find a champion for that cause, I think it would still be useful > to allow pugs to be built, as today, on Windows using Cygwin's gcc and > perl5 (just like Corion makes a native build with -- I think -- cc1.exe > and a homebrew perl5). The path question becomes the same as it is for > any other non-Cygwin tool used in a Cygwin shell; how is it solved there? I think the solution is to provide a Cygwin version of the Directory and IO Haskell modules. I don't know if this is possible in Haskell. I'd prefer to have a PugsDirectory and a PugsIO module and have them be aliases for the standard Directory and IO modules when it's not Cygwin. If it is Cygwin, then wrap every function call with a call to cygpath if the directory or file name begins with '/'. Is this possible? Desirable? Rob