[Haskell-cafe] Are you a Haskell expert? [How easy is it to
hire Haskell programmers]
Bulat Ziganshin
bulat.ziganshin at gmail.com
Sat Jul 3 08:01:01 EDT 2010
Hello Ivan,
Saturday, July 3, 2010, 3:24:34 PM, you wrote:
>> haskell code is easily ported between OSes, unlike C one. when i
>> ported my application from Win to Linux, i spend one day on haskell
>> code and 3 days on C one, despite the fact that haskell code dealed
>> with OS interaction and C used purely for computations
> Care to provide more details? This story intrigues me (even though I've
> never really used C that much, and would prefer to keep it that way).
since 2004 i'm developing FreeArc archiver, something like winzip. in
2007 i've ported it to Linux. the only Haskell part that required was
my own I/O library: i developed it in 2005 since ghc doesn't supported
large files and unicode filenames at that time. my library used
Win-specific calls and i, naturally, required to add some Unix way to
compile it - i just used standard Haskell I/O calls
generally speaking, as far as your program utilizes only existing
Haskell libraries, it just work. problems starts only when existing
Haskell libraries can't serve your needs and you start binding to some
C or OS-specific code
for the C part, i have found that some APIs i've used in mingw were in
fact MSVC-compatibility ones, and was absent in Linux gcc
i just looked at my darcs repository. Unix-specific patches were:
> added /dev/urandom as entropy source for Unix
> Unixifying: dir.size:=0
> Added Unix support for GetPhysicalMemory, GetProcessorsCount
> Unix: config files in "/etc"; fixed compilation scripts
> Unix: look for SFX in /usr/lib
> Unix: UTF8 for filelist/screen/filenames/cmdline encoding
> Unix: getThreadCPUTime
> CUI: hidden password input now works on Unix too
so, the main catch for C part were OS-specific calls like
GetPhysicalMemory - i spent lot of time reading mans. for Haskell
part, main changes were about default directories
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe
mailing list