[Haskell-cafe] preprocessor, how to?
Magnus Therning
magnus at therning.org
Mon Jan 6 10:19:37 UTC 2014
On Mon, Jan 06, 2014 at 09:25:25PM +1300, Chris Wong wrote:
> You can use forward slashes in Windows as well.
It's worth clarifying this somewhat I think. I found this at
http://is.gd/a5gCuk:
Every version of Windows has accepted "/" as a path separator. So
has every version of MS-DOS beginning with DOS 2.0 (the first
version that had subdirectories).
It's only been in command lines that "/" was not allowed, because it
had already been used as a switch delimiter in MS-DOS 1.0.
So as long as you keep away from stuff like System.Process.system you
should be fine with ordinary slashes.
/M
> On Jan 6, 2014 9:13 PM, "Kees Bleijenberg" <k.bleijenberg at lijbrandt.nl>
> wrote:
>
> > In a program I use a lot of hamlet files. All these hamlet files are in a
> > submap of the source map. In code:
> > allHtml = Mconcat [ $(hamletFile "hamlet\\belastingen.hamlet") renderUrl
> > ,$(hamletFile "hamlet\\winddruk.hamlet") renderUrl
> > ..
> > ,$(hamletFile "hamlet\\berekeningDruk.hamlet")
> > renderUrl
> > ,$(hamletFile "hamlet\\drukNaarBuigTrek.hamlet")
> > renderUrl]
> > This is a Windows program.
> >
> > For another project I want to use this piece of code on Linux. The code
> > should now be:
> > .. $(hamletFile "hamlet/winddruk.hamlet") renderUrl
> >
> > I can't use pathSeparator here, because this is all happening at compile
> > time. So I think I need a preprocessor.
> > I would like to have a kind of hamletDir macro and change the code to
> > something like:
> >
> > #ifdef Win32
> > hamletDir = "hamlet\\"
> > #else
> > hamletDir = "hamlet/"
> > #endif
> > ...
> > $(hamletFile "{hamletDir}winddruk.hamlet") renderUrl
> > Is it possible in Haskell and how do I it?
> >
> > All examples of preprocessing in Haskell I found are something like this:
> > #ifdef xxx
> > aaaa
> > #else
> > Bbbbb
> > #endif
> > I could use that. But a user defined macro is less code.
> >
> > Kees
> >
> >
> >
> >
> >
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
--
Magnus Therning OpenPGP: 0xAB4DFBA4
email: magnus at therning.org jabber: magnus at therning.org
twitter: magthe http://therning.org/magnus
Unreadable code,
Why would anyone use it?
Learn a better way.
-- Geoff Kuenning's contribution to the 2004 Perl Haiku Contest,
Haikus about Perl - 'Dishonerable Mention' winner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140106/2e0076fb/attachment.sig>
More information about the Haskell-Cafe
mailing list