Re: [Haskell-cafe] Weird interaction between literate haskell, ghci and OverloadedStrings
Hi, Am Samstag, den 03.12.2011, 16:18 +1100 schrieb Erik de Castro Lopo: I'm working on a literate haskell document (actually TeX, but the example below is just test) and I'm using ByteStrings in the code. I know I can do: ghci -XOverloadedStrings file.lhs or, after ghci is running I can do: Main :set -XOverloadedStrings but I'd like to embed a directive in the file so that when loaded in GHCi, I will automatically get OverloadedStrings. This is mainly so that it JustWorks(tm) when I pass the file on to someone else. Is there a way to do this? There is a short example file below. I'm using ghc-7.0.4 from Debian testing. it does not seem to be related to literate haskell, if I copy the code from your file into a .hs without the , ghci still does not activate the OverloadedStrings extension when loading the file. I’d consider this a bug until the developers explain why this should or cannot be different, and suggest you file it as such. Greetings, Joachim -- Joachim nomeata Breitner m...@joachim-breitner.de | nome...@debian.org | GPG: 0x4743206C xmpp: nome...@joachim-breitner.de | http://www.joachim-breitner.de/ signature.asc Description: This is a digitally signed message part ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Weird interaction between literate haskell, ghci and OverloadedStrings
Joachim Breitner wrote: it does not seem to be related to literate haskell, if I copy the code from your file into a .hs without the , ghci still does not activate the OverloadedStrings extension when loading the file. I hadn't noticed that. I’d consider this a bug until the developers explain why this should or cannot be different, and suggest you file it as such. I agree. I've lodged a bug report here: http://hackage.haskell.org/trac/ghc/ticket/5673 Erik -- -- Erik de Castro Lopo http://www.mega-nerd.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Weird interaction between literate haskell, ghci and OverloadedStrings
On 3 December 2011 11:19, Erik de Castro Lopo mle...@mega-nerd.com wrote: Joachim Breitner wrote: it does not seem to be related to literate haskell, if I copy the code from your file into a .hs without the , ghci still does not activate the OverloadedStrings extension when loading the file. I hadn't noticed that. I’d consider this a bug until the developers explain why this should or cannot be different, and suggest you file it as such. I agree. I've lodged a bug report here: http://hackage.haskell.org/trac/ghc/ticket/5673 I think it's very dangerous if language extensions leak from modules by default. For example if someone creates a library and needs to use some unsafe language extensions like: {-# LANGUAGE UndecidableInstances, OverlappingInstances, IncoherentInstances #-} module SomeLib where ... You surely don't want to silently enable these in some unsuspecting client: module MyFirstHaskellModule where import SomeLib ... I can imagine having a pragma for explicitly exporting language extensions: {-# EXPORT_LANGUAGE OverloadedStrings #-} Cheers, Bas ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Weird interaction between literate haskell, ghci and OverloadedStrings
Hi, I'm working on a literate haskell document (actually TeX, but the example below is just test) and I'm using ByteStrings in the code. I know I can do: ghci -XOverloadedStrings file.lhs or, after ghci is running I can do: Main :set -XOverloadedStrings but I'd like to embed a directive in the file so that when loaded in GHCi, I will automatically get OverloadedStrings. This is mainly so that it JustWorks(tm) when I pass the file on to someone else. Is there a way to do this? There is a short example file below. I'm using ghc-7.0.4 from Debian testing. Cheers, Erik --8--8--8--8-- {-# LANGUAGE OverloadedStrings #-} This is just text that that ghc/ghci should ignore import Data.ByteString (ByteString) import qualified Data.ByteString.Char8 as BS Simple function: newlineCount :: ByteString - Int newlineCount bs = BS.foldl foldFun 0 bs where foldFun s ch = if ch == '\n' then s + 1 else s Once this file is loaded, I should be able to do this: newlineCount abcd\ncdead\nasdasd\n --8--8--8--8-- -- -- Erik de Castro Lopo http://www.mega-nerd.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Weird interaction between literate haskell, ghci and OverloadedStrings
On 3 December 2011 16:18, Erik de Castro Lopo mle...@mega-nerd.com wrote: Hi, I'm working on a literate haskell document (actually TeX, but the example below is just test) and I'm using ByteStrings in the code. I know I can do: ghci -XOverloadedStrings file.lhs or, after ghci is running I can do: Main :set -XOverloadedStrings Add :set -XOverloadedStrings to a (possibly local) .ghci file? It doesn't contain it within the same document, but then if it's a local one you could also add :load file.lhs in there so that you just have to type ghci. -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com IvanMiljenovic.wordpress.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Weird interaction between literate haskell, ghci and OverloadedStrings
Ivan Lazar Miljenovic wrote: Add :set -XOverloadedStrings to a (possibly local) .ghci file? It doesn't contain it within the same document, but then if it's a local one you could also add :load file.lhs in there so that you just have to type ghci. Unfortunately, thats no better than telling people do: ghci -XOverloadedStrings file.lhs Probably worse actually. Erik -- -- Erik de Castro Lopo http://www.mega-nerd.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe