[Haskell-cafe] GHCi and Cairo on Windows
In effort to keep my work cross-platform, I am trying to get GHCi and Cairo working together nicely on Windows (as a back-end to Diagrams, if it matters.) When loading the library in GHCi I get the following error: Loading package cairo-0.12.2 ... linking ... ghc: unable to load package `cairo-0.12.2' I am able to build, link, and execute successfully using 'ghc --make' so I know the libraries are installed correctly. I'm using GHC as packaged in the most recent version of the Haskell Platform and the most recent all-in-one Windows bundle of GTK. I've seen quite similar errors reported months ago with no apparent solution. Any help would be appreciated! --Karl ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell at University in Munich
On Mon, Dec 5, 2011 at 00:18, Bartosz Wójcik wrote: If Munich and 200 km circle do not provide with any offer, perhaps you may know what is available in Europe, limiting language of study to [German, English, Polish]? I believe the following recent thread will help answer this question: http://thread.gmane.org/gmane.comp.lang.haskell.cafe/93650 Regards, Sean ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to get a file path to the program invoked?
This is how I finally solved this problem for POSIX complaint system: -- -- TestRun -- module Main where import System.Cmd (rawSystem) import System.Directory (getCurrentDirectory) import System.Environment.Executable (ScriptPath(..), getScriptPath) import System.FilePath.Posix (splitFileName) main = do path - getMyPath putStrLn $ myPath = ++ path let cmdLine = path ++ args.sh rawSystem cmdLine [iphone, test-twitts.txt] {-- data ScriptPath Source Constructors: Executable FilePathit was (probably) a proper compiled executable RunGHC FilePathit was a script run by runghc/runhaskell Interactive we are in GHCi --} getMyPath = do curDir - getCurrentDirectory -- from System.Directory scriptPath - getScriptPath -- from System.Environment.Executable let path = getMyPath' scriptPath curDir return path getMyPath' (Executable path) _ = fst (splitFileName path) getMyPath' (RunGHC path) _ = fst (splitFileName path) getMyPath' Interactive curDir = curDir++/ -- All the best, Dmitri O. Kondratiev This is what keeps me going: discovery doko...@gmail.com http://sites.google.com/site/dokondr/welcome ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] FLOPS 2012: final call for papers deadline extension
Final Call For Papers = _EXTENDED SUBMISSION DEADLINE : December 16, 2011_ *Eleventh International Symposium on Functional and Logic Programming (FLOPS 2012)* May 23-25, 2012 Kobe, Japan [http://www.org.kobe-u.ac.jp/flops2012/] FLOPS is a forum for research on all issues concerning declarative programming, including functional programming and logic programming, and aims to promote cross-fertilization and integration between the two paradigms. Previous FLOPS meetings were held in Fuji Susono (1995), Shonan Village (1996), Kyoto (1998), Tsukuba (1999), Tokyo (2001), Aizu (2002), Nara (2004), Fuji Susono (2006), Ise (2008), and Sendai (2010). Topics == FLOPS solicits original papers in all areas of functional and logic programming, including (but not limited to): - Declarative Pearls: new and excellent declarative programs with illustrative applications. - Language issues: language design and constructs, programming methodology, integration of paradigms, interfacing with other languages, type systems, constraints, concurrency and distributed computing. - Foundations: logic and semantics, rewrite systems and narrowing, type theory, proof systems. - Implementation issues: compilation techniques, memory management, program analysis and transformation, partial evaluation, parallelism. - Applications: case studies, real-world applications, graphical user interfaces, Internet applications, XML, databases, formal methods and model checking. The proceedings will be published as an LNCS volume. The proceedings of the previous meeting (FLOPS 2010) were published as LNCS 6009. PC co-Chairs - Tom Schrijvers (Ghent University, Belgium) - Peter Thiemann (University of Freiburg, Germany) PC Members == - Salvador Abreu (University of Evora, Portugal) - Thorsten Altenkirch (University of Nottingham, UK) - Sebastian Brand (NICTA, Australia) - Giuseppe Castagna (CNRS Univ Paris 7, France) - Sebastian Fischer (Germany) - Marco Gavanelli (University of Ferrara, Italy) - Joxan Jaffar (National University of Singapore, Singapore) - Barry Jay (University of Sydney, Australia) - Andy King (University of Kent, UK) - Claude Kirchner (INRIA, France) - Neelakantan R. Krishnaswami (Microsoft Cambridge, UK) - Yulya Lierler (University of Kentucky, USA) - Keiko Nakata (Tallinn University of Technology, Estonia) - Peter Schneider-Kamp (University of Southern Denmark, Denmark) - Olin Shivers (Northeastern University, USA) - Paul Tarau (University of Northern Texas, USA) - Kazunori Ueda (Waseda University, Japan) - Meng Wang (Chalmers Technical University, Sweden) General Chair and Local co-Chairs = - Naoyuki Tamura (Kobe University, Japan) - Mutsunori Banbara (Kobe University, Japan) - Katsutoshi Hirayama (Kobe University, Japan) Submission == Submissions must be unpublished and not submitted for publication elsewhere. Work that already appeared in unpublished or informally published workshops proceedings may be submitted. Submissions should fall into one of the following categories: - Regular research papers: they should describe new results and will be judged on originality, correctness, and significance. - System descriptions: they should contain a link to a working system and will be judged on originality, usefulness, and design. Submissions must be written in English and can be up to 15 pages long, though pearls are typically considerably shorter. Authors are required to use LaTeX2e and the Springer llncs class file, available at [http://www.springer.de/comp/lncs/authors.html]. Regular research papers should be supported by proofs and/or experimental results. In case of lack of space, this supporting information should be made accessible otherwise (e.g., a link to a web page, or an appendix). Papers should be submitted electronically at [https://www.easychair.org/conferences/?conf=flops2012]. Important Dates === - Submission deadline : December 16, 2011 (EXTENDED) - Author notification : February 3, 2012 - Camera-ready copy : March 2, 2012 Place and Related Events Takikawa Memorial Hall, Kobe University, 1-1 Rokkodai, Nada, Kobe 657-8501 Japan. The 23rd International Conference on Rewriting Techniques and Applications (RTA 2012) and satellite workshops including WFLP 2012 will be held in the week after FLOPS at Nagoya, Japan. Some Previous FLOPS === - FLOPS 2010, Sendai: [http://www.kb.ecei.tohoku.ac.jp/flops2010/] - FLOPS 2008, Ise: [http://www.math.nagoya-u.ac.jp/~garrigue/FLOPS2008/] - FLOPS 2006, Fuji Susono: [http://hagi.is.s.u-tokyo.ac.jp/FLOPS2006/] Sponsors - Japan Society for Software Science and Technology (JSSST) SIGPPL In Cooperation with
[Haskell-cafe] List x ByteString x Lazy Bytestring
Hello Café, I've used Haskell and GHC to solve particular real life application. 4 tools were developed and their function is almost the same - they modify textual input according to patterns found in the text. Thus, it is something like a compiler, the result is also a text and it is not parsed to tokens as patterns appear on a different level. The tools differ in tasks and number of modifications performed, otherwise, in principal, they are very much similar. I used lists (Prelude, Data.List) to develop the tools. After successfully completing the development, I've started to optimize the code to make the tools faster. After modification of some algorithms (which dropped the processing time notably), I started to change data structures. I swapped lists with lazy bytestrings. Nevertheless, what an unpleasant surprise, the processing speed dropped down, significantly / more then 30% time needed). So my questions follow: - What kind of application is lazy bytestring suitable for? - Would it be worth using strict bytestring even if input files may be large? (They would fit in memory, but may consume whole) - If bytestring is not suitable for text manipulation, is there something faster than lists? - It would be nice to have native sort for lazy bytestring - would it be slower than pack $ Data.List.sort $ unpack ? - If bytestring is suitable for text manipulation could we have some hGetTextualContents which translates Windows EOL (CR+LF) to LF? I'm sorry if the answers are obvious. Could anyone point me to some article/pages I could read about? Thanks and regards, John -- http://www.fastmail.fm - A fast, anti-spam email service. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] List x ByteString x Lazy Bytestring
Hi, - If bytestring is not suitable for text manipulation, is there something faster than lists? Have a look at the text package[1]. Cheers, Simon [1] http://hackage.haskell.org/package/text ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] writeFile: commitBuffer: invalid argument (Illegal byte sequence)
I don't actually need UTF-16 code in these strings. I would rather filter them out before writing such strings to a file. What would be a simple filter to do this? *Albert Y. C. Lai* trebla at vex.net haskell-cafe%40haskell.org?Subject=Re%3A%20%5BHaskell-cafe%5D%20writeFile%3A%20commitBuffer%3A%20invalid%20argument%0A%20%28Illegal%20byte%20sequence%29In-Reply-To=%3C4EDBBEB6.3050201%40vex.net%3E wrote: On 11-12-04 07:08 AM, dokondr wrote: * In GHC 7.0.3 / Mac OS X when trying to: ** ** writeFile someFile (Hoping You Have A iPhone When I Do This) Lol ** Sleep Is When You Close These ---gt; \55357\56384 ** ** I get: * * commitBuffer: invalid argument (Illegal byte sequence) ** ** The string I am trying to write can also be seen here: ** http://twitter.com/#!/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aenhttp://twitter.com/#%21/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aen ** http://twitter.com/#%21/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aen * \55357 and \56384 would be surrogates D83D and DC40 for use in UTF-16 only. Haskell's Char is not a UTF-16 code unit (unlike early versions of Java and probably current ones). GHC is correct in rejecting them. Haskell's Char is a Unicode character directly. If you want the character U+1F440 EYES, write \128064 directly (or \x1f440, or \x1F440). Use http://www.unicode.org/charts/ to find out what you are getting into. You can enter a hexadecimal number or choose a category. On Sun, Dec 4, 2011 at 11:43 PM, Erik Hesselink hessel...@gmail.com wrote: Yes, you can set the text encoding on the handle you're reading this text from [1]. The default text encoding is determined by the environment, which is why I asked about LANG. If you're entering literal strings, see Albert Lai's answer. Erik [1] http://hackage.haskell.org/packages/archive/base/latest/doc/html/System-IO.html#g:23 On Sun, Dec 4, 2011 at 19:13, dokondr doko...@gmail.com wrote: Is there any other way to solve this problem without changing LANG environment variable? On Sun, Dec 4, 2011 at 8:27 PM, Erik Hesselink hessel...@gmail.com wrote: What is the value of your LANG environment variable? Does it still give the error if you set it to e.g. en_US.UTF-8? Erik On Sun, Dec 4, 2011 at 13:12, dokondr doko...@gmail.com wrote: Correct url of a bad string: http://twitter.com/#!/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aenhttp://twitter.com/#%21/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aen On Sun, Dec 4, 2011 at 3:08 PM, dokondr doko...@gmail.com wrote: Hi, In GHC 7.0.3 / Mac OS X when trying to: writeFile someFile (Hoping You Have A iPhone When I Do This) Lol Sleep Is When You Close These ---gt; \55357\56384 I get: commitBuffer: invalid argument (Illegal byte sequence) The string I am trying to write can also be seen here: http://twitter.com/#!/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aenhttp://twitter.com/#%21/search/Hoping%20You%20Have%20A%20iPhone%20When%20I%20Do%20This%20lang%3Aen It looks like 'writeFile' can not write unicode characters. Any workarounds? Thanks! Dmitri ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] List x ByteString x Lazy Bytestring
However the performance issues seem odd: text is based on bytestring. 2011/12/5 Simon Hengel s...@typeful.net Hi, - If bytestring is not suitable for text manipulation, is there something faster than lists? Have a look at the text package[1]. Cheers, Simon [1] http://hackage.haskell.org/package/text ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] List x ByteString x Lazy Bytestring
On Mon, Dec 5, 2011 at 6:09 AM, Yves Parès limestr...@gmail.com wrote: However the performance issues seem odd: text is based on bytestring. This is not the case. Text is based on ByteArray#, GHC internal type for blocks of bytes. The text package depends on the bytestring package because it allows you to encode/decode Text-ByteString. -- Johan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to get a file path to the program invoked?
Balazs, thanks for your comments! The first comment works just fine. With / operator I get this: Main System.Environment.Executable System.FilePath /abc / / / Instead of getting /abc/ I get /. What am I doing wrong? On Mon, Dec 5, 2011 at 6:03 PM, Balazs Komuves bkomu...@gmail.com wrote: Two small comments: 1) This should work on Windows too, if you just leave out the word Posix from the source: import System.FilePath (splitFileName) 2) In general when dealing with paths, use the / operator (from System.FilePath) instead of ++ / ++ Balazs On Mon, Dec 5, 2011 at 1:44 PM, dokondr doko...@gmail.com wrote: This is how I finally solved this problem for POSIX complaint system: -- -- TestRun -- module Main where import System.Cmd (rawSystem) import System.Directory (getCurrentDirectory) import System.Environment.Executable (ScriptPath(..), getScriptPath) import System.FilePath.Posix (splitFileName) main = do path - getMyPath putStrLn $ myPath = ++ path let cmdLine = path ++ args.sh rawSystem cmdLine [iphone, test-twitts.txt] {-- data ScriptPath Source Constructors: Executable FilePathit was (probably) a proper compiled executable RunGHC FilePathit was a script run by runghc/runhaskell Interactive we are in GHCi --} getMyPath = do curDir - getCurrentDirectory -- from System.Directory scriptPath - getScriptPath -- from System.Environment.Executable let path = getMyPath' scriptPath curDir return path getMyPath' (Executable path) _ = fst (splitFileName path) getMyPath' (RunGHC path) _ = fst (splitFileName path) getMyPath' Interactive curDir = curDir++/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] List x ByteString x Lazy Bytestring
On Monday 05 December 2011, 14:14:56, John Sneer wrote: I've used Haskell and GHC to solve particular real life application. 4 tools were developed and their function is almost the same - they modify textual input according to patterns found in the text. Thus, it Hmm, modification can be a problem for ByteStrings, since it entails copying. That could be worse for strict BytStrings than lazy, if in the lazy ByteString you can reuse many chunks. is something like a compiler, the result is also a text and it is not parsed to tokens as patterns appear on a different level. The tools differ in tasks and number of modifications performed, otherwise, in principal, they are very much similar. I used lists (Prelude, Data.List) to develop the tools. After successfully completing the development, I've started to optimize the code to make the tools faster. After modification of some algorithms (which dropped the processing time notably), I started to change data structures. I swapped lists with lazy bytestrings. Nevertheless, what an unpleasant surprise, the processing speed dropped down, significantly / more then 30% time needed). Two main possibilities: 1. your algorithm isn't suited for ByteStrings 2. you're doing it wrong The above indicates 1., but without a more detailed description and/or code, it's impossible to tell. So my questions follow: - What kind of application is lazy bytestring suitable for? Anything that involves examining large sequences of bytes (or ASCII [latin1/other single-byte encoding] text) basically sequentially (it's not good if you have to jump forwards and backwards a lot and far). Also some types of modification of such data. - Would it be worth using strict bytestring even if input files may be large? (They would fit in memory, but may consume whole) Probably not, see above. But see above. - If bytestring is not suitable for text manipulation, is there something faster than lists? text has already been mentioned, but again, there are types of manipulation it's not well-suited for and where a linked list may be superior. - It would be nice to have native sort for lazy bytestring - would it be slower than pack $ Data.List.sort $ unpack ? The natural sort for ByteStrings would be a counting sort, O(alphabet size + length), so for long ByteStrings, it should be significantly faster than pack . sort . unpack, but for short ones, it would be significantly slower. - If bytestring is suitable for text manipulation could we have some hGetTextualContents which translates Windows EOL (CR+LF) to LF? Doing such a transformation would be kind of against the purpose of ByteStrings, I think. Isn't the point of ByteStrings to get the raw bytes as efficiently as possible? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to get a file path to the program invoked?
Hi. On 5 December 2011 14:53, dokondr doko...@gmail.com wrote: Main System.Environment.Executable System.FilePath /abc / / / Instead of getting /abc/ I get /. What am I doing wrong? It thinks the second path is an absolute path. Combine two paths, if the second path isAbsolute, then it returns the second. http://hackage.haskell.org/packages/archive/filepath/latest/doc/html/System-FilePath-Posix.html#v:combine HTH, Ozgur ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to get a file path to the program invoked?
On Monday 05 December 2011, 15:53:35, dokondr wrote: Balazs, thanks for your comments! The first comment works just fine. With / operator I get this: Main System.Environment.Executable System.FilePath /abc / / / Instead of getting /abc/ I get /. What am I doing wrong? The second path is absolute. / is an alias for combine, the docs for that say: Combine two paths, if the second path isAbsolute, then it returns the second. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] List x ByteString x Lazy Bytestring
Oh, sorry, my bad. I misunderstood the dependency. 2011/12/5 Johan Tibell johan.tib...@gmail.com On Mon, Dec 5, 2011 at 6:09 AM, Yves Parès limestr...@gmail.com wrote: However the performance issues seem odd: text is based on bytestring. This is not the case. Text is based on ByteArray#, GHC internal type for blocks of bytes. The text package depends on the bytestring package because it allows you to encode/decode Text-ByteString. -- Johan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to get a file path to the program invoked?
The operator / is an alias for `combine`, which the documentation says: Combine two paths, if the second path isAbsolute, then it returns the second. In this case, / is absolute, so it is returned. If you wish to add a trailing path separator, use `addTrailingPathSeparator`. Erik On Mon, Dec 5, 2011 at 15:53, dokondr doko...@gmail.com wrote: Balazs, thanks for your comments! The first comment works just fine. With / operator I get this: Main System.Environment.Executable System.FilePath /abc / / / Instead of getting /abc/ I get /. What am I doing wrong? On Mon, Dec 5, 2011 at 6:03 PM, Balazs Komuves bkomu...@gmail.com wrote: Two small comments: 1) This should work on Windows too, if you just leave out the word Posix from the source: import System.FilePath (splitFileName) 2) In general when dealing with paths, use the / operator (from System.FilePath) instead of ++ / ++ Balazs On Mon, Dec 5, 2011 at 1:44 PM, dokondr doko...@gmail.com wrote: This is how I finally solved this problem for POSIX complaint system: -- -- TestRun -- module Main where import System.Cmd (rawSystem) import System.Directory (getCurrentDirectory) import System.Environment.Executable (ScriptPath(..), getScriptPath) import System.FilePath.Posix (splitFileName) main = do path - getMyPath putStrLn $ myPath = ++ path let cmdLine = path ++ args.sh rawSystem cmdLine [iphone, test-twitts.txt] {-- data ScriptPath Source Constructors: Executable FilePath it was (probably) a proper compiled executable RunGHC FilePath it was a script run by runghc/runhaskell Interactive we are in GHCi --} getMyPath = do curDir - getCurrentDirectory -- from System.Directory scriptPath - getScriptPath -- from System.Environment.Executable let path = getMyPath' scriptPath curDir return path getMyPath' (Executable path) _ = fst (splitFileName path) getMyPath' (RunGHC path) _ = fst (splitFileName path) getMyPath' Interactive curDir = curDir++/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How to get a file path to the program invoked?
Thanks, 'addTrailingPathSeparator' works just fine ! On Mon, Dec 5, 2011 at 7:52 PM, Erik Hesselink hessel...@gmail.com wrote: The operator / is an alias for `combine`, which the documentation says: Combine two paths, if the second path isAbsolute, then it returns the second. In this case, / is absolute, so it is returned. If you wish to add a trailing path separator, use `addTrailingPathSeparator`. Erik On Mon, Dec 5, 2011 at 15:53, dokondr doko...@gmail.com wrote: Balazs, thanks for your comments! The first comment works just fine. With / operator I get this: Main System.Environment.Executable System.FilePath /abc / / / Instead of getting /abc/ I get /. What am I doing wrong? On Mon, Dec 5, 2011 at 6:03 PM, Balazs Komuves bkomu...@gmail.com wrote: Two small comments: 1) This should work on Windows too, if you just leave out the word Posix from the source: import System.FilePath (splitFileName) 2) In general when dealing with paths, use the / operator (from System.FilePath) instead of ++ / ++ Balazs On Mon, Dec 5, 2011 at 1:44 PM, dokondr doko...@gmail.com wrote: This is how I finally solved this problem for POSIX complaint system: -- -- TestRun -- module Main where import System.Cmd (rawSystem) import System.Directory (getCurrentDirectory) import System.Environment.Executable (ScriptPath(..), getScriptPath) import System.FilePath.Posix (splitFileName) main = do path - getMyPath putStrLn $ myPath = ++ path let cmdLine = path ++ args.sh rawSystem cmdLine [iphone, test-twitts.txt] {-- data ScriptPath Source Constructors: Executable FilePathit was (probably) a proper compiled executable RunGHC FilePathit was a script run by runghc/runhaskell Interactive we are in GHCi --} getMyPath = do curDir - getCurrentDirectory -- from System.Directory scriptPath - getScriptPath -- from System.Environment.Executable let path = getMyPath' scriptPath curDir return path getMyPath' (Executable path) _ = fst (splitFileName path) getMyPath' (RunGHC path) _ = fst (splitFileName path) getMyPath' Interactive curDir = curDir++/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Poll: Do you want a mascot? -- please stop this
On 23/11/11 19:11, heathmatlock wrote: Question: Do you want a mascot? No. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] could not create compact unwind
The ld warning is benign. You can safely ignore it. It is a known issue with GHC and the latest Mac OS X tool chain, and we are stuck with it for awhile: http://hackage.haskell.org/trac/ghc/ticket/5019 The best way to remove versions of Haskell on a Mac is now my shiny new Mac uninstaller! I just put out a release candidate yesterday. You can find it here: Source: UninstallHS.hs (just runhaskell this)Executable: uninstall-hs.tgz (unpack and run if your ghc is broken) Running without will just list what's there and suggest what to do next. It is dry-run by default. - Mark PS.: rm -rf ~/.ghc only removes the package databases, not the packages themselves. It also removes your ghci configuration, so I don't recommend it. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Poll: Do you want a mascot? -- please stop this
On Monday 05 December 2011, 17:03:35, Mark Lentczner wrote: On 23/11/11 19:11, heathmatlock wrote: Question: Do you want a mascot? No. I thought it was dead. Since it isn't: also no. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell at University in Munich
Am 05.12.2011 12:00, schrieb bar...@sudety.it: Hello Haskell Cafe, I would be grateful for any information regarding Haskell (or at least Functional Programming) lectures at Universities near to Munich, Germany (Master or Bachelor). Unconfirmed information I've got regarding LMU and TUM are not promising. Is Munich really that bad? FP'ers at LMU and TUM, please speak up. (I know that at least research-wise there are quite a few around there, though I don't know what they do in teaching.) If Munich and 200 km circle do not provide with any offer, perhaps Less than 200 km from Munich: http://db.inf.uni-tuebingen.de/teaching/ws1112/afp Also, Germany extends farther than 200 km beyond Munich. :-) Say, Bonn: http://www.iai.uni-bonn.de/~jv/teaching/dp11/ http://www.iai.uni-bonn.de/~jv/teaching/ffp/ you may know what is available in Europe, limiting language of study to [German, English,Polish]? The thread Sean pointed to may provide information on that. Obvious candidates are Utrecht and Chalmers, both teaching in English I suppose, at least at Master level. Best, Janis. -- Jun.-Prof. Dr. Janis Voigtländer http://www.iai.uni-bonn.de/~jv/ mailto:j...@iai.uni-bonn.de ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHCi and Cairo on Windows
On Windows, it is necessary to add to your PATH variable the bin directory where the gtk+ DLL lives. Note, this is the C DLL, not the Haskell one produced by gtk2hs. For instance, on my machine the relevant directory is C:\workspace\ext\gtk+-2.20\bin. It is quite likely different on yours. On 5/12/2011, at 8:23, smelt...@eecs.oregonstate.edu wrote: In effort to keep my work cross-platform, I am trying to get GHCi and Cairo working together nicely on Windows (as a back-end to Diagrams, if it matters.) When loading the library in GHCi I get the following error: Loading package cairo-0.12.2 ... linking ... ghc: unable to load package `cairo-0.12.2' I am able to build, link, and execute successfully using 'ghc --make' so I know the libraries are installed correctly. I'm using GHC as packaged in the most recent version of the Haskell Platform and the most recent all-in-one Windows bundle of GTK. I've seen quite similar errors reported months ago with no apparent solution. Any help would be appreciated! --Karl ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHCi and Cairo on Windows
Thanks, but I don't believe this is my problem. The directory into which I've installed the GTK library is indeed on my path and is found without having to specify it when I compile with GHC. It's just the interpreter that seems to be failing. On Mon, Dec 5, 2011 at 1:32 PM, Malcolm Wallace malcolm.wall...@me.comwrote: On Windows, it is necessary to add to your PATH variable the bin directory where the gtk+ DLL lives. Note, this is the C DLL, not the Haskell one produced by gtk2hs. For instance, on my machine the relevant directory is C:\workspace\ext\gtk+-2.20\bin. It is quite likely different on yours. On 5/12/2011, at 8:23, smelt...@eecs.oregonstate.edu wrote: In effort to keep my work cross-platform, I am trying to get GHCi and Cairo working together nicely on Windows (as a back-end to Diagrams, if it matters.) When loading the library in GHCi I get the following error: Loading package cairo-0.12.2 ... linking ... ghc: unable to load package `cairo-0.12.2' I am able to build, link, and execute successfully using 'ghc --make' so I know the libraries are installed correctly. I'm using GHC as packaged in the most recent version of the Haskell Platform and the most recent all-in-one Windows bundle of GTK. I've seen quite similar errors reported months ago with no apparent solution. Any help would be appreciated! --Karl ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: monad-control-0.3
I'm trying to convert from 0.2 to 0.3, but in way over my head. {-# LANGUAGE GeneralizedNewtypeDeriving #-} newtype Annex a = Annex { runAnnex :: StateT AnnexState IO a } deriving ( Monad, MonadIO, -- MonadControlIO MonadBaseControl IO ) I added that after seeing this when I changed some code to use the new liftBaseOp instead of liftIOOp. (They're equivilant, right?) No instance for (MonadBaseControl IO Annex) arising from a use of `liftBaseOp' But with ghc 7.0.4, the derivation fails: Annex.hs:45:17: Can't make a derived instance of `MonadBaseControl IO Annex' (even with cunning newtype deriving): the class has associated types In the newtype declaration for `Annex' The only way I can find to make my code compile is to lose the newtype. But of course that makes for some ugly type messages. -- see shy jo signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: monad-control-0.3
On Tue, Dec 6, 2011 at 5:03 AM, Joey Hess j...@kitenet.net wrote: I'm trying to convert from 0.2 to 0.3, but in way over my head. {-# LANGUAGE GeneralizedNewtypeDeriving #-} newtype Annex a = Annex { runAnnex :: StateT AnnexState IO a } deriving ( Monad, MonadIO, -- MonadControlIO MonadBaseControl IO ) I added that after seeing this when I changed some code to use the new liftBaseOp instead of liftIOOp. (They're equivilant, right?) No instance for (MonadBaseControl IO Annex) arising from a use of `liftBaseOp' But with ghc 7.0.4, the derivation fails: Annex.hs:45:17: Can't make a derived instance of `MonadBaseControl IO Annex' (even with cunning newtype deriving): the class has associated types In the newtype declaration for `Annex' The only way I can find to make my code compile is to lose the newtype. But of course that makes for some ugly type messages. -- see shy jo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe Hi Joey, I just spent a fair amount of time yesterday upgrading packages to monad-control 0.3. What I had to do was add in the MonadTransControl and MonadBaseControl instances manually. It's actually not too difficult; just copy out the instance for StateT and make a few changes. Be warned that Bas used some tricky CPP stuff, however, which you'll have to unwind ;). Michael ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: monad-control-0.3
Michael Snoyman wrote: I just spent a fair amount of time yesterday upgrading packages to monad-control 0.3. What I had to do was add in the MonadTransControl and MonadBaseControl instances manually. It's actually not too difficult; just copy out the instance for StateT and make a few changes. Be warned that Bas used some tricky CPP stuff, however, which you'll have to unwind ;). I forgot to mention that I tried doing that, based on the example in the haddock, but failed miserably. Care to share a working example, perhaps in the form of a patch to the monad-control haddock? :) -- see shy jo signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: monad-control-0.3
On Tue, Dec 6, 2011 at 6:04 AM, Joey Hess j...@kitenet.net wrote: Michael Snoyman wrote: I just spent a fair amount of time yesterday upgrading packages to monad-control 0.3. What I had to do was add in the MonadTransControl and MonadBaseControl instances manually. It's actually not too difficult; just copy out the instance for StateT and make a few changes. Be warned that Bas used some tricky CPP stuff, however, which you'll have to unwind ;). I forgot to mention that I tried doing that, based on the example in the haddock, but failed miserably. Care to share a working example, perhaps in the form of a patch to the monad-control haddock? :) -- see shy jo Maybe this will help[1]. It's using RWST instead of StateT, but it's the same idea. [1] https://github.com/yesodweb/yesod/commit/7619e4e9dd88c152d1e00b6fea073c3d52dc797f#L0R105 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] List x ByteString x Lazy Bytestring
I wonder what profiling tells you, you should identify where your performance problems actually are before trying to optimise. Some things that might help are using something like Blaze-Builder[1] to construct your bytestrings for output. I'm hoping that they're sufficiently lazy that you can lazily read in the input, and write output as you've made it available. if you use the blaze-builder-enumerator package, you should be able to get exactly what you want (but probably requires some minor knowledge of iteratees). Anyway, without seeing your code, we can't easily tell you what's wrong. Cheers, Alex [1] http://hackage.haskell.org/package/blaze-builder [2] http://hackage.haskell.org/package/blaze-builder-enumerator On 6 December 2011 02:11, Yves Parès limestr...@gmail.com wrote: Oh, sorry, my bad. I misunderstood the dependency. 2011/12/5 Johan Tibell johan.tib...@gmail.com On Mon, Dec 5, 2011 at 6:09 AM, Yves Parès limestr...@gmail.com wrote: However the performance issues seem odd: text is based on bytestring. This is not the case. Text is based on ByteArray#, GHC internal type for blocks of bytes. The text package depends on the bytestring package because it allows you to encode/decode Text-ByteString. -- Johan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe -- -- Alex Mason ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Complete package description list
Hi, I would like to know: 1. The correct source to get the complete list of available Haskell package descriptions 2. Any feed or notification mechanism to get newer updates on packages How often does the 00-index.tar.gz file from: http://hackage.haskell.org/packages/archive/00-index.tar.gz get updated? Or if there is a newer version, where is it made available? Given 00-index.tar.gz, and using the following RSS feed: http://hackage.haskell.org/packages/archive/recent.rss give me the complete list of available packages? Appreciate any suggestions in this regard, Thanks! SK -- Shakthi Kannan http://www.shakthimaan.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe