[Haskell] Registration now open: Haskell in Leipzig (Germany) December 4/5
Register now - for Amazing Talks and Thrilling Tutorials: HaL-10 Haskell in Leipzig December 4/5 http://nfa.imn.htwk-leipzig.de/HAL2015/ Opens with an invited talk by Joachim Breitner on MonadFix, closes with a presentation of Liquid Haskell by Michael Beaumont. - Johannes Waldmann. PS: HaL-1 (in 2006, on quite the same day) also had a MonadFix talk. Well of course, this has something to do with recurrence... ___ Haskell mailing list Haskell@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell
[Haskell] 2nd CfP: Haskell in Leipzig (Germany) 2015
HaL-10 Haskell in Leipzig (December 4/5) http://nfa.imn.htwk-leipzig.de/HAL2015/ We are proud to present Joachim Breitner (nomeata) as our invited speaker. The submission deadline (November 2) is approaching! See you - Johannes Waldmann (PC chair) ___ Haskell mailing list Haskell@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell
[Haskell] CfP: Haskell in Leipzig (Germany), 4/5 December 2015
"Haskell in Leipzig" (Germany) workshop http://nfa.imn.htwk-leipzig.de/HAL2015/ welcomes Your contribution. Now. Wir rechnen mit Vorträgen und Tutorien und freuen uns über weitere Vorschläge (Musik/live coding, mini-hackathon, Rätsel, ..) * bis 2. November: Einreichung von Beiträgen * 5. November: Bekanntgabe des Programms * bis 27. November: Anmeldung * 4. und 5. Dezember: Workshop Herzliche Grüße, Johannes Waldmann, Leipzig. ___ Haskell mailing list Haskell@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell
[Haskell] Call for participation: 8th International School on Rewriting - ISR 2015
Call for participation 8th International School on Rewriting - ISR 2015 August 10-14, Leipzig, Germany http://www.imn.htwk-leipzig.de/ISR2015/ * early registration deadline: July 1 * student research posters welcome = The 8th International School on Rewriting (ISR 2015) is aimed at master and PhD students, researchers, and practitioners interested in the study of rewriting concepts and their applications. The school features lectures by renowned researchers in rewriting, and is organized in two parallel tracks: Basic: aimed at students that enter the field. Aart Middeldorp and Sarah Winkler: Introductory Course Advanced: several shorter courses, showing different areas of rewriting research, with applications. David Sabel and Manfred Schmidt-Schauß: Rewriting Techniques for Correctness of Program Transformations Makoto Hamana: Algebraic Semantics of Higher-Order Abstract Syntax and Second-Order Rewriting Santiago Escobar: Term Rewriting applied to Cryptographic Protocol Analysis Hans Zantema: SAT/SMT encodings for rewrite problems Femke van Raamsdonk: Higher-Order Rewriting Alfons Geser: Proving Abstract Rewriting Properties with PVS Georg Moser: Termination and Complexity Detlef Plump: Rule-based Graph Programming Also, we encourage participants to submit a presentation of their research, in the form of a poster. These posters will be reviewed by experts in rewriting, and will be displayed and discussed during the school. Rewriting is a branch of computer science whose origins go back to the origins of computer science itself (with Thue, Church, Post, and many other prominent researchers). It has strong links with mathematics, algebra, and logic, and it is the basis of well-known programming paradigms like functional and equational programming. In these programming paradigms and corresponding languages, the notions of reduction, pattern matching, confluence, termination, strategy, etc., are essential. Rewriting provides a solid framework for understanding, using, and teaching all these notions. Rewriting techniques are also used in many other areas of software engineering (scripting, prototyping, automated transformation of legacy systems, refactoring, web services, etc.) Rewriting techniques play a relevant role in computing research, education, and industry. International Schools on Rewriting are promoted by the IFIP Working Group 1.6 Term Rewriting. ISR 2015 organizing committee: Alfons Geser, Christine Klöden, and Johannes Waldmann. Note: ISR 2015 is right after CADE ( http://www.inf.fu-berlin.de/cade25/ ) You can go from Berlin to Leipzig in 1 hour by train. ___ Haskell mailing list Haskell@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell
[Haskell] 2nd CfP: WFLP 2014 - Workshop on Functional and (Constraint) Logic Programming
(note: Deadline extended to July 10th) *** 23rd International Workshop on Functional and (Constraint) Logic Programming http://www.imn.htwk-leipzig.de/WFLP2014/ colocated with 28th Workshop on (Constraint) Logic Programming (WLP 2014) September 15 - 17, at Leucorea conference center in Lutherstadt Wittenberg, Germany. *** Dates: * submission closes: July 10, 2014 * notification: August 4, 2014 * final version due: September 1, 2014 * workshop: September 15 - 17, 2014 *** The international workshops on functional and logic programming aim at bringing together researchers interested in functional programming, logic programming, as well as their integration. The workshops on (constraint) logic programming serve as the scientific forum of the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence, and operations research. In this year both workshops will be jointly organized and co-located, in order to promote the cross-fertilizing exchange of ideas and experiences among researchers and students from the different communities interested in the foundations, applications, and combinations of high-level, declarative programming languages and related areas. The technical program of the workshop will include invited talks, presentations of refereed papers and demo presentations. The joint workshop will consist of two tracks (WFLP and WLP). Sessions of these two tracks will be interleaved. Topics The topics of interest include (but are not limited to): Functional programming Logic programming Constraint programming Deductive databases, data mining Extensions of declarative languages, objects Multi-paradigm declarative programming Foundations, semantics, nonmonotonic reasoning, dynamics Parallelism, concurrency Program analysis, abstract interpretation Program transformation, partial evaluation, meta-programming Specification, verification, declarative debugging Knowledge representation, machine learning Interaction of declarative programming with other formalisms (e.g., agents, XML, Java) Implementation of declarative languages Advanced programming environments and tools Software technique for declarative programming Applications The primary focus is on new and original research results but submissions describing innovative products, prototypes under development, application systems, or interesting experiments (e.g., benchmarks) are also encouraged. Program Committee (WFLP track) Elvira Albert, Complutense University of Madrid, Spain Sergio Antoy, Portland State University Mauricio Ayala-Rincon, University of Brasilia, Brazil William Byrd, University of Utah Michael Hanus , Universität Kiel, Germany Herbert Kuchen, Universität Münster, Germany Carlos Olarte, DECC, Pontificia Universidad Javeriana Cali, Colombia Janis Voigtländer, Universität Bonn, Germany Johannes Waldmann (chair), HTWK Leipzig, Germany Peter J. Stuckey, NICTA and the University of Melbourne, Australia René Thiemann, University of Innsbruck, Austria Organising Committee Stefan Brass (chair) Universität Halle, Germany signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] CFP: WFLP 2014 - Workshop on Functional and (Constraint) Logic Programming
23rd International Workshop on Functional and (Constraint) Logic Programming http://www.imn.htwk-leipzig.de/WFLP2014/ colocated with 28th Workshop on (Constraint) Logic Programming (WLP 2014) September 15 - 17, at Leucorea conference center in Lutherstadt Wittenberg, Germany. *** Dates: * submission closes: July 1, 2014 * notification: August 1, 2014 * final version due: September 1, 2014 * workshop: September 15 - 17, 2014 *** The international workshops on functional and logic programming aim at bringing together researchers interested in functional programming, logic programming, as well as their integration. The workshops on (constraint) logic programming serve as the scientific forum of the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence, and operations research. In this year both workshops will be jointly organized and co-located, in order to promote the cross-fertilizing exchange of ideas and experiences among researchers and students from the different communities interested in the foundations, applications, and combinations of high-level, declarative programming languages and related areas. The technical program of the workshop will include invited talks, presentations of refereed papers and demo presentations. The joint workshop will consist of two tracks (WFLP and WLP). Sessions of these two tracks will be interleaved. Topics The topics of interest include (but are not limited to): Functional programming Logic programming Constraint programming Deductive databases, data mining Extensions of declarative languages, objects Multi-paradigm declarative programming Foundations, semantics, nonmonotonic reasoning, dynamics Parallelism, concurrency Program analysis, abstract interpretation Program transformation, partial evaluation, meta-programming Specification, verification, declarative debugging Knowledge representation, machine learning Interaction of declarative programming with other formalisms (e.g., agents, XML, Java) Implementation of declarative languages Advanced programming environments and tools Software technique for declarative programming Applications The primary focus is on new and original research results but submissions describing innovative products, prototypes under development, application systems, or interesting experiments (e.g., benchmarks) are also encouraged. Program Committee (WFLP track) Elvira Albert, Complutense University of Madrid, Spain Sergio Antoy, Portland State University Mauricio Ayala-Rincon, University of Brasilia, Brazil William Byrd, University of Utah Michael Hanus , Universität Kiel, Germany Herbert Kuchen, Universität Münster, Germany Carlos Olarte, DECC, Pontificia Universidad Javeriana Cali, Colombia Janis Voigtländer, Universität Bonn, Germany Johannes Waldmann (chair), HTWK Leipzig, Germany Peter J. Stuckey, NICTA and the University of Melbourne, Australia René Thiemann, University of Innsbruck, Austria Organising Committee Stefan Brass (chair) Universität Halle, Germany signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Looking for a Yesod presentation in Leipzig, Germany
Have you applied Yesod recently? ( http://www.yesodweb.com/ ) Would you enjoy presenting your Yesod project to C.S. master's students during a course (Oberseminar) that I'm teaching at HTWK Leipzig currently? Then email me with details: a short description of your project, preferrably including (link to) source code; and a preferred date (in November or December). The presentation can be in German or in English. Total time is 90 minutes, but this should include (plenty of) discussion, or even live coding. No, I don't have any funding for this - except you'll get free beer at our local Haskell group meeting (Stammtisch) which we can schedule for right after your talk. - Johannes. ( http://www.imn.htwk-leipzig.de/~waldmann/ ) ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] ANN: set-cover solves Sudoku, Soma cube, 8 Queens etc.
Henning Thielemann lemming at henning-thielemann.de writes: .. package set-cover for solving exact set cover problems. http://hackage.haskell.org/package/set-cover It's hard to evaluate whether one could use the library because there's essentially no visible documentation. E.g., what does Math.SetCover.Exact.search do? Its type refers to State which seems implementation-dependent, and hides the connection to the specification of the set cover problem. Putting some text and examples into the haddocks might help. But of course putting the specification there would be even better. Also, care to explain what algorithm your solver uses, and give some performance data (e.g., N-queens for N=10,20,40,..)? - J.W. signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] xmonad (+ mate) evince problem?
Problem solved: with mate, use atril instead of evince. (I think it is a gtk2/tgk3 issue and it's got nothing to do with xmonad.) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Hoogle vs Hayoo
Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk writes: I always thought [hayoo] was just Hoogle with more indexed docs. Wait - there's a semantic difference: hoogle does understand type signatures (e.g., it can specialize them, or flip arguments of functions) while hayoo just treats signatures as strings (it seems). Example: search for [a] - [a] hoogle: will also return Data.Text.transpose :: [Text] - [Text] (note: instantiated a to Text) hayoo: will also return Data.List.isInfixOf :: [a] - [a] - Bool (note: the type is [a] - ([a] - Bool), so it does actually not contain the type from the query) I much prefer hoogle's query semantics. - J.W. PS: but hoogle also returns inits :: [a] - [[a]] which is not an instance of the query. Why is this? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] haskore - lilypond - typesetting?
I tried using lilypond ( http://www.lilypond.org/ ) for typesetting of sheet music. While the output looks nice, the input language IMHO is quite horrible, because the underlying data/execution model is underspecified. For some parts, it tries to describe the logical structure of the score; but for others, the layout; and in addition it has several non-obvious context-dependencies (but see below), preventing modularity. Is there a better option? E.g., starting from a clear mathematical model, as in Haskore, and use lilypond only as a PDF rendering engine? Do I want hly / hts perhaps? http://rd.slavepianos.org/?t=hly As I see it, the main high-level design problem is that the source language needs partial evaluation annotations for abstractions applications: sometimes they should be expanded (for MIDI rendering, always) and sometimes not (in typesetting, to create repetition marks instead of actually repeating notes). PS: I agree that some of lilypond's context dependencies (relative pitch, implicit note length) do really save large amounts of tedious typing: c4 e g a c1 is much more economical than [c 1 qn, e 1 qn, g 1 qn , a 1 qn, c 2 fn] which I guess is the Haskore equivalent. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] xmonad (+ mate) evince problem?
Hi. I am using xmonad + mate (on fedora 19) and evince (PDF viewer) seems unresponsive: it reacts to my (mouse) input only after switching to another screen and back. Any hints? - Thanks, J. W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] What does it mean to derive equations of restricted from in Haskell?
Daryoush Mehrtash dmehrtash at gmail.com writes: What does restricted form mean? non-restricted: e.g., f (f x y) z = f x (f y z)) restricted: the shape of function declarations in Haskell (where lhs is a pattern) definitions are terminating ... non-termination: an equation like f x y = f y x when you orient it as a rule f x y - f y x, there are infinite derivations and exhaustive non-exhaustive: you have an equation f (x : ys) = ... but you don't have an equation for f [] = ... (all the above is is standard stuff in algebraic specification, equational reasoning, etc.) - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] TH splicing and recompilation checking
Hi. we are using template Haskell to splice in some code that is produced by reading and transforming the contents of another file. now, if this other file is touched (by editing), but not the main file, then ghc (and cabal) do not realize that the main file does need to be recompiled. is there a way to tell them about the dependency? (example main file: https://github.com/apunktbau/co4/blob/master/CO4/Test/Queens.hs) - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] Workshop on Termination (deadline extension: July 22)
13th International Workshop on Termination (WST) Centro Residenziale Universitario di Bertinoro (near Bologna, Italy) http://www.imn.htwk-leipzig.de/WST2013/ submission: July 22, 2013 notification: July 25, 2013 final version: August 10, 2013 workshop: August 29 - 31, 2013 The Workshop on Termination traditionally brings together, in an informal setting, researchers interested in all aspects of termination, whether this interest be practical or theoretical, primary or derived. The workshop also provides a ground for cross-fertilisation of ideas from term rewriting and from the different programming language communities. The friendly atmosphere enables fruitful exchanges leading to joint research and subsequent publications. The 13th Workshop on Termination will be held from August 29 to 31, 2013, at the Centro Residenziale Universitario di Bertinoro (Italy). It will be a joint workshop, together with the 3rd International Workshop on Foundational and Practical Aspects of Resource Analysis. The sessions of WST and FOPARA will be interleaved, this way facilitating the interaction between the two communities. ( complete CfP see http://www.imn.htwk-leipzig.de/WST2013/ ) signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell-cafe] Workshop on Termination (deadline: July 22)
Dear all. Still one week to go: submit your results and questions on all things related to termination and bounded resource consumption (of user programs, of type checkers, etc.) to the Workshop on Termination. We are specifically encouraging contributions from the Haskell (and Agda, and Idris) community. - Johannes. # 13th International Workshop on Termination (WST) ( full CfP see http://www.imn.htwk-leipzig.de/WST2013/ ) Centro Residenziale Universitario di Bertinoro (near Bologna, Italy). submission: July 22, 2013 notification: July 25, 2013 final version: August 10, 2013 workshop: August 29 - 31, 2013 The Workshop on Termination traditionally brings together, in an informal setting, researchers interested in all aspects of termination, whether this interest be practical or theoretical, primary or derived. The workshop also provides a ground for cross-fertilisation of ideas from term rewriting and from the different programming language communities. The friendly atmosphere enables fruitful exchanges leading to joint research and subsequent publications. signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] question about indentation conventions
Code which is part of some expression should be indented further in than the beginning of that expression [...] Yes. Then the next question is how much further in. My answer is: it does not matter, but make it consistent (like 4 spaces), with the implication that indentation should *not* depend on length of identifiers in the previous line(s) Example (bad): foo x = do bar baz Example (good): foo x = do bar baz Reason: when refactoring later changes the name foo, or the number or names of its arguments, you'll have to re-indent code (in the bad version): (a) this needs tool support and (b) it creates noise in the diffs. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Installing Z3 on OS X 10.8.4 ( Off topic )
Unable to locate executable for z3 well, do you really have z3 in the $PATH? what does 'which z3' answer? I used this for installation of z3: python scripts/mk_make.py --prefix=/usr/local and note that the install script says: Z3 shared libraries were installed at /usr/local/lib, make sure this directory is in your LD_LIBRARY_PATH environment variable. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] how to debug stack overflow?
What is the recommended method to find the exact reason for a stack overflow (when running a Haskell program compiled with ghc)? When I compile with -prof -auto-all, and run with +RTS -xc, I see a very short call stack, which can't be right. But that's probably because I am calling some library method that was compiled without -auto-all so it's invisible in the trace? I can avoid the overflow by +RTS -K1G or something but I want to investigate because it might indicate some inefficiency in the code (evaluations happening at the wrong time). - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] how to debug stack overflow?
Aleksey Uymanov s9gf4ult at gmail.com writes: Try to use heap profiling. There is very high probability that the problem is because of space leak. Really? Would it help in the standard example: main = print $ foldr (+) 0 [1 .. 1::Int] this leaks space (that is, cannot run in small space) only because it leaks closures, right? but how I'm going to recognize them in the heap profile? When I run the above with +RTS -K1G -M1G -h -p I do indeed get heap overflow (instead of stack overflow) but the heap profile shows an allocation of 30k bytes only. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: standalone-haddock-1.0
Roman Cheplyaka roma at ro-che.info writes: http://feuerbach.github.io/standalone-haddock/ yes, awesome! I took me a while to figure out I need to add --package-db $HOME/.ghc/x86_64-linux-7.6.3/package.conf.d um, where's --hyperlink-source ? - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] Call for Participation: Workshop on Haskell and Rewriting Techniques (June 27, Eindhoven)
The list of accepted papers, and preliminary schedule, for the first International Workshop on Haskell And Rewriting Techniques (June 27, Eindhoven/NL, as part of RDP 2013) is available from the workshop web site http://www.imn.htwk-leipzig.de/HART2013/ Register soon - RDP early registration deadline is June 1! Best regards - Kristoffer H Rose and Johannes Waldmann. signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] Generalizing unionWithKey, unionWith, ...
Jose A. Lopes jose.lopes at ist.utl.pt writes: unionWith :: Ord k = (a - b - c) - Map k a - Map k b - Map k c what should be the result of unionWith undefined (M.singleton False 42) (M.singleton True bar) ? perhaps you mean intersectionWith, which already has the type you want. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Generalizing unionWithKey, unionWith, ...
Jose A. Lopes jose.lopes at ist.utl.pt writes: What makes it an interesting example ? it shows that your proposed type for unionWith is not reasonable. why would you want to use undefined in that particular case? the two argument maps have disjoint key sets, so the combining function will never be called, and writing undefined just states this. of course, all of this refers to the implicit specification for unionWith, which should contain something like M.keysSet (M.unionWith f m1 m2) = S.union (M.keysSet m1) (M.keysSet m2) (hence the name, union) and this is an implication of M.lookup k (M.unionWith f m1 m1) = case (M.lookup k m1, M.lookup k m2) of (Nothing,Nothing) - Nothing (Just v1, Nothing) - Just v1 (Nothing,Just v2) - Just v2 (Just v1, Just v2) - Just (f v1 v2) I would very much welcome that such specs be added to the library documentation - in some suitable way, e.g., haddock can generate source links already, and it would be nice if it also could show spec links, pointing to small/quick-check properties, which I guess are in the source code somewhere already, cf. https://github.com/haskell/containers/blob/master/tests/map-properties.hs#L408 - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] Call for Participation: HaL8 - Haskell in Leipzig (Germany), June 21
Hal8 - Haskell in Leipzig, June 21. visit the workshop web site for program and registration: http://www.bioinf.uni-leipzig.de/conference-registration/13haskell See you - Johannes Waldmann. signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] What symbol / atom/ interned-string package is currently preferred?
http://hackage.haskell.org/package/intern what does this package do? OK, I can read efficient hash consing but what does it mean exactly? and how would I actually use it? - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] What symbol / atom/ interned-string package is currently preferred?
https://github.com/ekmett/intern/blob/master/examples/Term.hs sure I found this but that still does not say much. I known generally what hash consing is (and that's why I think I might want to use this package) but I don't see what is the (implied) contract for this implementation: It looks like I need to write some instances (to make my typ internable) but what properties should they have, and what properties of the functions defined in the package do I get in return? - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] CfP Workshop Haskell and Rewriting Techniques (Deadline: May 21)
final call for papers (note: extended deadline) == Rewriting is the science of replacing equals by equals and thus a very powerful method for dealing with equations. There are strong connections between Haskell programming and rewriting. Therefore, we announce a new workshop, International Workshop on Haskell And Rewriting Techniques (HART 2013) http://www.imn.htwk-leipzig.de/HART2013/ to be held on June 27, in conjunction with RDP 2013, in Eindhoven. (RDP contains RTA, the main rewriting conference.) We plan a half day of discussions, in an informal setting, on how Haskell and rewriting techniques and theories can cross-fertilize each other. Topics of interest are, for example, equational reasoning and other rewriting techniques for program verification and analysis; lambda calculi and type systems for functional programs and higher order rewriting systems; rewriting of type expressions in the type checker; rewriting of programs by refactoring tools, optimizers, code generators; execution of programs as a form of graph rewriting; template Haskell, introducing a rewriting-like macro language into the compilation process. This list of topics is non-exclusive. If you have a contribution that connects Haskell and rewriting, then submit. When in doubt, contact a member of the PC. Program committee: Alcino Cunha (U Minho) Jürgen Giesl (RWTH Aachen) Andy Gill (U of Kansas) Johan Jeuring (U Utrecht) Keisuke Nakano (UEC Tokyo) Kristoffer H Rose (IBM Watson) (co-chair) Christian Sternagel (JAIST) Janis Voigtländer (U Bonn) Johannes Waldmann (HTWK Leipzig) (co-chair) Dates: May 21: deadline for submissions May 28: notification of acceptance June 27: workshop Submission and Proceedings: Two categories of submissions are invited: Extended abstracts. Presenting original research, and also preliminary reports of work in progress. Will be included in the proceedings. Presentation-only papers. Describing work recently published or submitted. Will not be included in the proceedings. Papers should be at most 5 pages in length, and should use the easychair.cls style. Submission is handled through the EasyChair HART2013 page, https://www.easychair.org/conferences/?conf=hart2013 In line with the informal style of the workshop, the reviewing of submissions will be light. When accepting and scheduling presentations, preference will be given to original research. Proceedings will be made available electronically at the workshop. signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] Backward compatibility
Adrian May adrian.alexander.may at gmail.com writes: this decision to change the default syntax in GHC7 what decision? what syntax? here's the release notes (7 vs. 6) http://www.haskell.org/ghc/docs/7.0.1/html/users_guide/release-7-0-1.html I guess you are referring to hierarchical module names? (import List = import Data.List) Indeed, I cannot build WASH http://hackage.haskell.org/package/WashNGo-2.12.0.1 on ghc-7.6.3, and I don't see how it could have worked on 7.0, as hackage claims it did. (building the executables: when using base and haskell89, import Prelude is ambiguous; when using haskell98 only, modules like System.Exit are not available.) I think this could be fixed in a straightforward way, but that fixing it is necessary at all, just proves your point. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Backward compatibility
Byron Hale byron.hale at einfo.com writes: I was just in the process of trying to get Haskell 7.6 installed. You cannot install Haskell 7.6. Haskell is a language. You can install a language implementation (compiler/interpreter). There may be several. You can also install a set of libraries. These may be bundled (one compiler with one set of libraries). One such bundle is called the Haskell platform. Is this what you are trying to install? (But then the version is nothing like 7.6, this looks more like a compiler version.) Of course this naming error is directly suggested by haskell.org, where we have the equally meaningless Download Haskell right on the front page. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Fwd: How to do automatic reinstall of all dependencies?
Alexander Kjeldaas alexander.kjeldaas at gmail.com writes: cabal install --upgrade-dependencies `eval echo $(ghc-global-constraints )` package-name for a moment I was reading ghc --global-constraints there ... - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] what happened to alexAndPred?
Hi. I have ghc-7.6.3 and alex-3.0.5. When I build https://github.com/jwaldmann/smt-lib it breaks with Language/SMTLIB/Lexer.x:6:5: Not in scope: `alexAndPred'. It was working with alex-2.3.5. I was going t add Can I constrain the alex version in the cabal file (I recall this is difficult for executables since they're not registered with ghc) but it wouldn't help since alex-2.3.5 cannot be built with a recent ghc-7.6 because Module `System.IO.Error' does not export `try'. Also, not with ghc-7.4.2 because of dist/build/alex/alex-tmp/Scan.hs:344:17: Illegal bang-pattern (use -XBangPatterns): And not with = ghc-7.2 because of Linking /tmp/alex-2.3.5-20331/alex-2.3.5/dist/setup/setup ... unrecognized option `--disable-benchmarks' ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] version of containers fixed by template-haskell?
Is it still the case that It just doesn't work to have multiple versions of a wired-in package (cf. http://hackage.haskell.org/trac/ghc/ticket/5704 )? ghc-7.6.2 comes with containers-0.5.0.0 and template-haskell-2.8.0.0 . It seems I can upgrade to containers-0.5.2.1 and use it with no problems but not alongside template-haskell: ... changes: containers-0.5.0.0 - 0.5.2.1, Warning: The following packages are likely to be broken by the reinstalls: ... ghc-7.6.2 (Isn't it somewhat bold of cabal-install to offer to break ghc-7.6.2? like, this will completely hose the compiler?) That's bad, because I use containers everywhere, and I assume that 0.5.2.1 has some advantages (like, speed) over 0.5.0.0. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] version of containers fixed by template-haskell?
Roman Cheplyaka roma at ro-che.info writes: ghc is the package that provides the GHC API. Breaking it should not affect the compiler itself, since it is statically linked. Yes. But once ghc (the package) is broken, it cannot be fixed (except by re-installing ghc (the compiler))? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] version of containers fixed by template-haskell?
Roman Cheplyaka roma at ro-che.info writes: On second thought, are you trying to install it globally? locally ghc is installed globally, and local packages should not break it. still cabal-install says so (and I don't dare to test ...) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] data types with overlapping component names (in one module)?
What is the current situation: can we have two types with overlapping component names in one module? module M where data T1 = C1 { foo :: Int } data T2 = C2 { foo :: String } It seems not (ghc says: Multiple declarations of 'foo'). This comes close: http://www.haskell.org/ghc/docs/7.6.2/html/users_guide/syntax-extns.html#disambiguate-fields but still requires the definitions to reside in different modules? This is a major pain (it forces me to spread the source over several files), and also a show-stopper when selling Haskell to OO folks, who naturally assume that a class also denotes a scope. (And that you could nest them.) Are/were there plans/proposals to address this? - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Prolog-style patterns
Yuras Shumovich shumovichy at gmail.com writes: Will not it be a nightmare to implement and maintain checker for overlapping/unused clauses for non-linear patterns? For sure it does not look straightforward. Note that there are some results and algorithms for non-linear patterns, cf. this short survey by S. Tison: Tree Automata, (Dis-)Equality Constraints and Term Rewriting: What's New? http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=3140 and some background in Tree automata with constraints (esp. Sec. 4.4.5) http://tata.gforge.inria.fr/chap4.php (advertisement starts here) (overlap checking for) non-linear patterns in Haskell looks like an ideal topic for a submission to the Haskell and Rewriting workshop http://www.imn.htwk-leipzig.de/HART2013/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] CfP: Workshop Haskell and Rewriting Techniques HART 2013
Rewriting is the science of replacing equals by equals and thus a very powerful method for dealing with equations. There are strong connections between Haskell programming and rewriting. Therefore, we announce a new workshop, International Workshop on Haskell And Rewriting Techniques (HART 2013) http://www.imn.htwk-leipzig.de/HART2013/ to be held on June 27, in conjunction with RDP 2013, in Eindhoven. (RDP contains RTA, the main rewriting conference.) We plan a half day of discussions, in an informal setting, on how Haskell and rewriting techniques and theories can cross-fertilize each other. Topics of interest are, for example, equational reasoning and other rewriting techniques for program verification and analysis; lambda calculi and type systems for functional programs and higher order rewriting systems; rewriting of type expressions in the type checker; rewriting of programs by refactoring tools, optimizers, code generators; execution of programs as a form of graph rewriting; template Haskell, introducing a rewriting-like macro language into the compilation process. This list of topics is non-exclusive. If you have a contribution that connects Haskell and rewriting, then submit. When in doubt, contact a member of the PC. Program committee: Alcino Cunha (U Minho) Jürgen Giesl (RWTH Aachen) Andy Gill (U of Kansas) Johan Jeuring (U Utrecht) Keisuke Nakano (UEC Tokyo) Kristoffer H Rose (IBM Watson) (co-chair) Christian Sternagel (JAIST) Janis Voigtländer (U Bonn) Johannes Waldmann (HTWK Leipzig) (co-chair) Dates: May 6: deadline for submissions May 20: notification of acceptance June 27: workshop Submission and Proceedings: Two categories of submissions are invited: Extended abstracts. Presenting original research, and also preliminary reports of work in progress. Will be included in the proceedings. Presentation-only papers. Describing work recently published or submitted. Will not be included in the proceedings. Papers should be at most 5 pages in length, and should use the easychair.cls style. Submission is handled through the EasyChair HART2013 page, https://www.easychair.org/conferences/?conf=hart2013 In line with the informal style of the workshop, the reviewing of submissions will be light. When accepting and scheduling presentations, preference will be given to original research. Proceedings will be made available electronically at the workshop. signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] Error when building executable with profiling enabled
Krzysztof Skrzętnicki gtener at gmail.com writes: see this documentation on profiling with TH: http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/template-haskell.html#id624714 GHC cannot load the profiled object code and use it when executing the splices. That means I do not get profiling information for the code that gets spliced in? Or for the code that is producing the splice? What's the work-around for the first case? (short of -ddump-splices, which seems somewhat problematic, according to http://hackage.haskell.org/trac/ghc/ticket/5016 ) - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell is a declarative language? Let's see how easy it is to declare types of things.
Albert Y. C. Lai trebla at vex.net writes: Quantifiers are complicated, but I don't see how explicit is more so than implicit. [...] I have just seen recently [...] Great example. I completely agree. My feeling is that mathematicians use this principle of leaving out some of the quantifiers and putting some others in the wrong place as a cultural entry barrier to protect their field from newbies. Well, not use, but willingly tolerate, perhaps. (I do have a diploma in mathematics, from a German university.) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell is a declarative language? Let's see how easy it is to declare types of things.
Tom Ellis tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk writes: I didn't see an example of quantifiers in the wrong place. The example was: every x satisfies P(x,y) for some y ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell is a declarative language? Let's see how easy it is to declare types of things.
I absolutely love to use Haskell when teaching (and I have several years of experience doing it). And I absolutely dislike it when I have to jump through hoops to declare types in the most correct way, and in the most natural places. This is hard to sell to the students. - Examples: 1. for explicit declaration of type variables, as in reverse :: forall (a :: *) . [a] - [a] I have to switch on RankNTypes and/or KindSignatures (ghc suggests). C'mon, this has nothing to do with ranks per se. It's a type of a very simple function! IMHO even Java/C# do this better (with slightly strange syntax, but at least you get to declare the type variable). 2. for declaring types of local variables, as in \ (xs :: [Bool]) - ... I have to enable PatternSignatures (actually ghc suggests ScopedTypeVariables but again there is no type variable in sight) I need to do this often, to disambiguate properties for Smallcheck. All of this just because it seemed, at some time, a clever idea to allow the programmer to omit quantifiers? (I know, mathematicians do this all over the place, but it is never helpful, and especially not when teaching.) I think that (1) implies (2): there could be no ambiguity about scopes (of typevars in patterns) if each typevar had to be introduced by explicit quantification. Then (in a pattern signature) a use could be distinguished from a declaration. Yes, the above is a rant. I can achieve what I want with some ghc options, and perhaps my point is that these should be on by default - or have better names, because presently, they are unintelligible to the (beginner) student. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] mueval, interpreter options
What am I missing? I want to use mueval to read a file that contains instance Serial m a = Serial m (Tree a) (as in http://hackage.haskell.org/packages/archive/smallcheck/1.0.2/doc/html/Test-SmallCheck-Series.html) so I put in my call of mueval: let Right opts = M.interpreterOpts [] keepCurrentDir $ do System.Directory.setCurrentDirectory d I.runInterpreter $ Mueval.Interpreter.interpreter $ opts { M.timeLimit = 10 -- seconds? , M.modules = Just [ Prelude , Test.SmallCheck.Drivers, Test.SmallCheck.Series , GHC.Generics ] , M.namedExtensions = [ MultiParamTypeClasses , FlexibleInstances, DeriveGeneric ] but it gives me MultiParamTypeClasses is not enabled on inputs like {-# language MultiParamTypeClasses #-} import Test.SmallCheck.Series import GHC.Generics data Tree a = Null | Fork (Tree a) a (Tree a) deriving Generic instance Serial m a = Serial m (Tree a) where I don't understand mueval's design anyway here: do the interpreter options mean that these are automatically on, or just that the source text will be allowed to switch then on? (I'd prefer the latter.) Thanks - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] package show needs QuickCheck2.6?
Hi, I noticed that compilation of mueval (recent: 0.8.2) breaks because show (0.5) cannot be built: it seems the type of Failure changed in QuickCheck (from 2.5 to 2.6). The build succeeds with --constraint 'QuickCheck2.6' . ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] 2nd CfP: Haskell in Leipzig (Germany) (Deadline: March 31, Workshop: June 21)
Haskell in Leipzig! Now in its 8th year! http://www.bioinf.uni-leipzig.de/conference-registration/13haskell/ Calling for papers, tutorials, performances! ... on Haskell in particular, but also functional programming in general, and its extension by other paradigms. We'd love to hear about news of the language, libraries, and tools; Haskell applications in art and industry; and teaching Haskell. Presentations should be given in German but we can switch to English if requested. Submission until: March 31 Notification: April 15 Workshop: June 21 Invited talk by Christian Höner zu Siederdissen: ADPfusion: high-performance dynamic programming in Haskell Program comittee: Ralf Dorn (Otto-Nagel-Gymnasium Berlin), Georg Martius (MPI Leipzig), Petra Hofstedt (BTU Cottbus), Andres Löh (Well-Typed LLP), Alf Richter (iba CG Leipzig), Uwe Schmidt (FH Wedel), Peter Stadler (Univ. Leipzig), Henning Thielemann (Univ. Halle), Janis Voigtländer (Univ. Bonn), Johannes Waldmann (HTWK Leipzig) signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell-cafe] package dependencies should distinguish between API and implementation?
Package dependencies are modelled by a relation A depends-on B. Shouldn't this in fact be two relations: API-depends-on and implementation-depends-on? (meaning that A API-depends-on B iff some type of B is visible to the user of A) So what we currently have is implementation-depends-on and API-depends-on is a sub-relation of that. The point being the following: assume * A implementation-depends-on B.1 * not (A API-depends-on B.1), * U implementation-depends-on A * U implementation-depends-on B = 2 Then U (indirectly) implementation-depends on two versions of B but it should still be safe? (e.g., I can install B.3, re-compile U, but keep A) Example: A = template-haskell, B = containers (at least I don't see any mention of Data.Map/Set in th's API, I think the only dependency is in the implementation of PprM http://hackage.haskell.org/packages/archive/template-haskell/2.8.0.0/doc/html/Language-Haskell-TH-PprLib.html ) or in general, A (and B.1) are baked into ghc, but there is some B.2/B.3 out there which U wants to use. Or is this what already happens? (ghc would notice that B.1.foo is different from B.2.foo. cabal-install would warn, but proceed? Then the effect of the proposal would just be to switch off these warnings in some cases?) - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] package dependencies should distinguish between API and implementation?
Alexander Kjeldaas alexander.kjeldaas at gmail.com writes: There's a third relation, A API-ABI-depends-on B iff some type of B is used in the hidden binary representation that is used in backing the API visible to A. Yes. Does this hold in the example I mentioned? I think the only dependency [ of template-haskell on containers ] is in the implementation of PprMhttp://hackage.haskell.org/packages/archive/template-haskell/2.8.0.0/doc/html/Language-Haskell-TH-PprLib.html - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] package show needs upper version bound for smallcheck?
Could the maintainers of show http://hackage.haskell.org/package/show-0.4.1.2 please add some version bound ( 1 or similar) for the smallcheck dependency? Thanks for the quick reaction. show-0.5 now depends on smallcheck=1.0 This works until the next API-breaking change in smallcheck ... I admit that I find too-detailed upper bounds on dependencies impractical as well, because they make upgrades really painful; so mostly I'm too lazy to write any bounds. Which is a bad idea, as the above example shows. Perhaps a dependency on a major version (only) could be a reasonable policy (smallcheck == 1.*) PS: Anyway the underlying problems that these policies try to solve (did the API really change? did the observable behaviour of the implementation change?) can only be solved by formal specification and verification. (e.g., you write down the full specification of a sort function, then a machine can check whether some library contains some function that claims to fulfil this spec, and it can also check whether the claim holds true - if the implementation comes with a proof) (Corollary: Agda would not need a package versioning policy because it can solve these problems at the language level :-) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] package show needs upper version bound for smallcheck?
Since smallcheck-1.0 contains API changes - Could the maintainers of show http://hackage.haskell.org/package/show-0.4.1.2 please add some version bound ( 1 or similar) for the smallcheck dependency? Thanks - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] CfP: (NEW!) Workshop Haskell and Rewriting Techniques HART 2013
Rewriting is the science of replacing equals by equals and thus a very powerful method for dealing with equations. There are strong connections between Haskell programming and rewriting. Therefore, we announce a new workshop, International Workshop on Haskell And Rewriting Techniques (HART 2013) http://www.imn.htwk-leipzig.de/HART2013/ to be held on June 27, in conjunction with RDP 2013, in Eindhoven. (RDP contains RTA, the main rewriting conference.) We plan a half day of discussions, in an informal setting, on how Haskell and rewriting techniques and theories can cross-fertilize each other. Topics of interest are, for example, equational reasoning and other rewriting techniques for program verification and analysis; lambda calculi and type systems for functional programs and higher order rewriting systems; rewriting of type expressions in the type checker; rewriting of programs by refactoring tools, optimizers, code generators; execution of programs as a form of graph rewriting; template Haskell, introducing a rewriting-like macro language into the compilation process. This list of topics is non-exclusive. If you have a contribution that connects Haskell and rewriting, then submit. When in doubt, contact a member of the PC. Program committee: Alcino Cunha (U Minho) Jürgen Giesl (RWTH Aachen) Andy Gill (U of Kansas) Johan Jeuring (U Utrecht) Keisuke Nakano (UEC Tokyo) Kristoffer H Rose (IBM Watson) (co-chair) Christian Sternagel (JAIST) Janis Voigtländer (U Bonn) Johannes Waldmann (HTWK Leipzig) (co-chair) Dates: May 6: deadline for submissions May 20: notification of acceptance June 27: workshop Submission and Proceedings: Two categories of submissions are invited: Extended abstracts. Presenting original research, and also preliminary reports of work in progress. Will be included in the proceedings. Presentation-only papers. Describing work recently published or submitted. Will not be included in the proceedings. Papers should be at most 5 pages in length, and should use the easychair.cls style. Submission is handled through the EasyChair HART2013 page, https://www.easychair.org/conferences/?conf=hart2013 In line with the informal style of the workshop, the reviewing of submissions will be light. When accepting and scheduling presentations, preference will be given to original research. Proceedings will be made available electronically at the workshop. signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell-cafe] how to release (on hackage) a package that needs foreign libs?
What is the recommended approach for publishing (on hackage) a package that depends on external libraries? In my case, the current version of http://hackage.haskell.org/package/satchmo (sources at https://github.com/jwaldmann/satchmo) depends on minisat-haskell-bindings (in Haskell), minisat-c-bindings (in C), and minisat (C++), all from https://github.com/niklasso/ My guess is that this would require that the external libraries are packaged (deb, rpm?), then hackage gods install them, and only then, my package will be built (and docs will be shown)? - J.W. signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] Haskell in Leipzig (Germany) : call for papers, tutorials, performances
Haskell in Leipzig! Now in its 8th year! http://www.bioinf.uni-leipzig.de/conference-registration/13haskell/ Calling for papers, tutorials, performances! ... on Haskell in particular, but also functional programming in general, and its extension by other paradigms. We'd love to hear about news of the language, libraries, and tools; Haskell applications in art and industry; and teaching Haskell. Presentations should be given in German but we can switch to English if requested. Submission until: March 31 Notification: April 15 Workshop: June 21 Invited talk by Christian Höner zu Siederdissen: ADPfusion: high-performance dynamic programming in Haskell Program comittee: Ralf Dorn (Otto-Nagel-Gymnasium Berlin), Georg Martius (MPI Leipzig), Petra Hofstedt (BTU Cottbus), Andres Löh (Well-Typed LLP), Alf Richter (iba CG Leipzig), Uwe Schmidt (FH Wedel), Peter Stadler (Univ. Leipzig), Henning Thielemann (Univ. Halle), Janis Voigtländer (Univ. Bonn), Johannes Waldmann (HTWK Leipzig) signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell-cafe] Text.PrettyPrint.HughesPJ is sloooow (and wl-pprint-text is fast)
I was running into serious performance problems when printing moderately sized Doc and Xml data (HaXml goes via Doc). So I replace Text.PrettyPrint.HughesPJ with Text.PrettyPrint.Leijen.Text, and patched the HaXml printer in the same way. Now it is running much faster. This confirms some of the comments here: http://stackoverflow.com/questions/9761507/which-pretty-print-library If you want to see for yourself, here is a test case. It constructs and prints a document tree with about 10^4 nodes, rendered to an Xml document with 10^6 (nonblank) chars: https://github.com/jwaldmann/haskell-tpdb/blob/master/test/speed.hs Of the 4 output methods (fin the main program), only one takes 1 second. Rendering via HughesPJ needs extra stack (!) and takes about 20 seconds. Rendering via Text.XML.HaXml.ByteStringPP seems much slower still (!) (ghc-7.6.2, pretty-1.1.1.0, HaXml-1.23.3, wl-pprint-text-1.1.0.0, amd64, fedora 18, kernel 3.7.4) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Why should we write a `par` b `pseq` (f a b) instead of a `par` b `par` (f a b)?
Petr P petr.mvd at gmail.com writes: Is there any reason to use a `par` b `pseq` (a + b) instead of a `par` b `par` (a + b) (better ask this on parallel-haskell?) It seems to me that the second variant would work as well: The main thread would block on one of the sparked computations, I think the main thread would not block at all. Instead, it would start to evaluate a (or b) right away, since (+) is strict, thus duplicating the work of a spark, and causing the spark to fizzle. Why does it work in a `par` b `pseq` a+b ? I am not even sure - there might be a race condition: assume that evaluation (to WHNF) of b (and of a) takes a long time, but b (in the main thread) finishes shortly before a does (in the spark), then the spark still fizzles and its work was in vain? J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] using/building ghc head?
Hi. I wanted to do some experiments with GHC Head but * I cannot use the snapshot bindist: ./configure --prefix=/opt checking for path to top of build tree... ./configure: line 2138: utils/ghc-pwd/dist-install/build/tmp/ghc-pwd-bindist: No such file or directory * I cannot compile snapshot from source (with ghc-7.6.1) utils/haddock/src/Haddock/Convert.hs:201:42: Not in scope: data constructor `HsBang' this is for ghc-7.7.20121213 (date Dec 21), which is the latest snapshot according to http://www.haskell.org/ghc/dist/current/dist/ what am I missing? - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cannot read a large integer on linux
read 18780189038289e49 :: Integer this might be related: http://hackage.haskell.org/trac/ghc/ticket/5688 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Example programs with ample use of deepseq?
http://article.gmane.org/gmane.comp.lang.haskell.parallel/340 (with follow-up message about rseq = rdeepseq) - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Hoogle index completeness
Hayoo has them all [ .. ] but Hoogle is better with types? it seems Hayoo only does exact (string?) match on types, while Hoogle also knows about polymorphisms, permutations etc. E.g., search for String - Int. Hoogle finds length :: [a]- Int as well, I think Hayoo doesn't. J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Exploring Programming Language Theory
Stephen Tetley stephen.tetley at gmail.com writes: Also Franklyn Turbak and David Gifford's Design Concepts for Programming Languages is very good (and new!) but huge. Yes! I like that book very much, and I use it for teaching semantics and compilation of programming languages. Semantics - by writing interpreters, in several domains. The book avoids the M word, but of course it is actually the Identity monad, the State monad, the CPS monad etc. (I guess it should really be presented via monad transformers, though.) J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell] CfP: Conf. Rewriting Techniques and Applications RTA 2013 -- deadline February 1
RTA http://rta2013.few.vu.nl/cfp.html Deadline: February 1, Conference: June 24-26, Eindhoven NL Dear all, instead of copying the complete CfP, I'd like to specifically address the Haskell community: There are strong connections between (functional) programming and rewriting. For example, the execution of a program is a form of graph rewriting; the type checker rewrites type expressions; the code generator rewrites the program (for optimization). The conference on Rewriting Techniques and Applications is the major forum for the exchange of new ideas on all matters related to rewriting, covering the whole range from foundations to applications. And you should take the opportunity to contribute your ideas. Note: If you = Simon Peyton Jones, then you are the invited speaker. Else, follow the usual process of submitting a paper by February 1. Best regards, on behalf of the RTA programme committee, Johannes Waldmann. signature.asc Description: OpenPGP digital signature ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell-cafe] hsql-mysql encoding issues
Daniel van den Eijkel dvde at gmx.net writes: ... but I use HDBC and I'm happy with it. including its handling of character encodings? (That is, do you have, e.g., texts with umlauts in your data?) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] hsql-mysql encoding issues
Hi. I am using hsql-(mysql-)1.8.2 When compiled with ghc-7.6, the resulting executable does not seem to be able to read strings from the DB correctly (umlauts do vanish) while it worked with hsql-(mysql-)1.8.1 and ghc-7.4. the mysql server says (show variables) | character_set_client| latin1 | | character_set_connection| latin1 | | character_set_database | latin1 | | character_set_filesystem| binary | | character_set_results | latin1 | | character_set_server| latin1 | | character_set_system| utf8| hsql is using type String all over the place, while it should be ByteString? Internally, Database.HSQL.Types.SqlBind uses Foreign.C.String.peekCStringLen . Did the behaviour of this function change? hsql is quite old, but so is my application. Assuming I find the time to rewrite my code (not likely) - what DB binding should I rather be using? Thanks - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Solving integer equations in Haskell
Justin Paston-Cooper paston.cooper at gmail.com writes: Can anyone suggest a library written in Haskell which can solve equations of the form xM(transpose(x)) = y, where x should be an integer vector, M is an integer matrix and y is an integer? when in doubt, use brute force: write this as a constraint system (in QF_NIA or QF_BV logics) and solve with Z3. Use SBV to write the constraints programmatically http://hackage.haskell.org/package/sbv J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] CPS Streams
jeff p mutjida at gmail.com writes: I've always thought that the essence of iteratees is just CPS for sure, at some level of abstraction this ought to be true, since CPS simulates call-by-value in a call-by-name language, cf. Gordon Plotkin: Call-by-Name, Call-by Value and the Lambda Calculus TCS , Vol. 1, pp. 125-159, http://homepages.inf.ed.ac.uk/gdp/publications/ and the purpose of iteratee is to provide strict [...] I/O http://hackage.haskell.org/package/iteratee-0.8.9.4 J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ghc-mtl, hint, mueval for ghc-7.6 ?
While porting some code to 7.6, I'm stuck here: Preprocessing library ghc-mtl-1.0.1.1... [1 of 1] Compiling Control.Monad.Ghc ( Control/Monad/Ghc.hs, dist/build/Control/Monad/Ghc.o ) Control/Monad/Ghc.hs:29:48: No instance for (DynFlags.HasDynFlags Ghc) this seems to block hint and mueval. Is there a known workaround for this problem, or a sugggested replacement package? Thanks - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] referential transparency? (for fixity of local operators)
wren ng thornton wren at freegeek.org writes: As for whether the default should be infix 9 instead of infixl 9 ... that was exactly the point of my message. - J. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] referential transparency? (for fixity of local operators)
I was really surprised at the following: *Main 1 + 2 * 3 7 *Main ( \ (+) (*) - 1 + 2 * 3 ) (+) (*) 9 because I was somehow assuming that either a) the Prelude fixities of the operators are kept b) or they are undefined, so the parser rejects. but the Haskell standard says Any operator lacking a fixity declaration is assumed to be infixl 9. This really should be infix 9? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE: Sylvia, a lambda calculus visualizer
Sylvia is a lambda calculus visualizer. Such a thing is certainly nice to have. I use this one for teaching: http://joerg.endrullis.de/lambdaCalculator.html ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHC 6.13 and GHC 7.6 in parallel on Linux
How is it possible to run 2 different versions of GHC if you installed the binary packages in standard locations, look in /usr/local/bin/ghc* : you have ghc-6.12.3, ghc-7.6.1 etc. and each one knows how to find their libraries. you can even say cabal install --with-ghc=ghc-7.6.1 foo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Wanted: Haskell binding for libbdd (buddy)
Peter Gammie peteg42 at gmail.com writes: My hBDD bindings are on Hackage. Great! Perhaps add category: logic in the cabal file? J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Wanted: Haskell binding for libbdd (buddy)
Are there any Haskell bindings for BDD libraries (reduced ordered binary decision diagrams)? E.g., it seems buddy is commonly used http://packages.debian.org/squeeze/libbdd-dev and it has an Ocaml binding. Yes, there is http://hackage.haskell.org/package/obdd but I need better performance (with the same API, ideally). Thanks - J.W. PS: I wonder where performance goes out the window ... I suspect Map (Int,Int) whatever should really be a hashtable but I don't like it in IO, it should be in ST? signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ghc-7.4 on CentOS-5.8 ?
Tim Docker twd2 at dockerz.net writes: I need to use a more recent version of gcc Thanks! Yes, that seems to be it. When building gcc didn't work, it took me a while to figure out that I was running into this bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51935 so I am using mpfr-3.0.1 (instead of 3.1.0). ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ghc-7.4 on CentOS-5.8 ?
Dear all, I need a recent ghc on a not-so-recent (?) CentOS. The ghc binary package (7.2 or 7.4) does not work because of a mismatch in the libc version. ghc-7.0 is working but when I use it to compile 7.4, it breaks with some linker error (relocation R_X86_64_PC32 ...) it also suggests recompile with -fPIC but I don't see how. (In this particular case, I absolutely cannot change/update the OS.) Thanks, J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Request for optimizing help.
First, why do you think your code is non-optimal? you don't show your main program, so we don't know what you're measuring. Just by looking at some types (and not analysing the algorithm): 11 data FilterState a = FilterState { 14 , taps :: [a] -- current delay tap stored values the State really is taps only. (as and bs don't change ?) so taps should be separate. 25 newTaps = wk : init (taps s) init could be expensive (linear in the list length) (but you have linear cost elsewhere, so maybe it does not hurt) Use some different sequence type (instead of list)? It seems you actually want a strict sequence (while (:) is lazy) of strict values. 31 runFilter :: Kernel a - FilterState a - [a] - IO ([a], FilterState a) why IO? there's no IO in the implementation. it looks like a simple fold. the type is polymorphic, so ghc needs to be able to inline the dictionary arguments. (I think that it means that it wants to see all the code when compiling main, but I'm not sure. Experts can tell by studing -ddump-simpl output.) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] not enough fusion?
Dear all, while doing some benchmarking (*) I noticed that function s1 is considerably faster than s2 (but I wanted s2 because it looks more natural) (for n = 1, s1 takes 20 s, s2 takes 13 s; compiled by ghc-7.4.2 -O2) s1 :: Int - Int s1 n = sum $ do x - [ 0 .. n-1 ] return $ sum $ do y - [ 0 .. n-1 ] return $ gcd x y s2 :: Int - Int s2 n = sum $ do x - [ 0 .. n-1 ] y - [ 0 .. n-1 ] return $ gcd x y I was expecting that in both programs, all lists will be fused away (are they?) so the code generator essentially can produce straightforward assembly code (no allocations, no closures, etc.) For reference, I also wrote the equivalent imperative program (two nested loops, one accumulator for the sum) (with the straightforward recursive gcd) and runtimes are (for same input as above) C/gcc: 7.3 s , Java: 7.7 s, C#/Mono: 8.7 s So, they sort of agree with each other, but disagree with ghc. Where does the factor 2 come from? Lists? Laziness? Does ghc turn the tail recursion (in gcd) into a loop? (gcc does). (I am looking at -ddump-asm but can't quite see through it.) (*) benchmarking to show that today's compilers are clever enough such that the choice of paradigm/language does not really matter for this kind of low-level programming. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Requesting Feedback: I Love Haskell, but can't find a place to use it
Jonathan Geddes geddes.jonathan at gmail.com writes: I love Haskell. It is my absolute favorite language. But I have a very hard time finding places where I can actually use it! have you considered your head as such a place that should be easy to find. even just for specifying things, Haskell is tremendously useful. even if you don't write programs, but just their types. you can express your software design that way, and have it formally verified (by the compiler's type checker). best regards, J. W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Formalisation for types of monads
Ertugrul Söylemez es at ertes.de writes: Note about []: Don't even mention foldl. The folding combinator for lists is foldr, period. Amen. I ignore foldl in teaching but it will appear under the name of IEnumerableT.Aggregate(z, f) (from Linq). Note, the Linq designers got the argument order right (put the Nil case first, and the Cons case later). J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Threads and hGetLine
There are two threads, one which is waits on input via hGetLine and another, which should terminate this thread or close this handle. like this? The trick is to fork the blocking call (hGetLine) and wait on an MVar. That way, the kill signal can be handled: {-# language PatternSignatures #-} import Control.Concurrent import Control.Concurrent.MVar import Control.Exception import System.IO main = do pid - forkIO $ do s - wawiter putStrLn s threadDelay $ 5 * 10^6 killThread pid waiter = do v - newEmptyMVar forkIO $ do s - hGetLine stdin ; putMVar v s readMVar v `Control.Exception.catch` \ (e :: AsyncException ) - return killed PS: and I refuse to use the ScopedTypeVariables pragma since obviously there are no type variables. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] static linking with ghc?
Hi. I want to produce a statically linked executable. I am trying 'ghc --make -fforce-recomp -static -optl-static Main' but it gives lots of errors like (.text+0xfa): undefined reference to `pthread_mutex_unlock' collect2: ld returned 1 exit status A similar thing is mentioned here (see Caveat) http://www.haskell.org/haskellwiki/Web/Literature/Static_linking The ghc user guide talks a great length about shared libs http://www.haskell.org/ghc/docs/latest/html/users_guide/using-shared-libs.html but I don't see anything on how to switch this off. - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] static linking with ghc?
Scott Lawrence bytbox at gmail.com writes: Adding -optl-pthread fixes it for me. great! in my case, I also needed to add '-pgml g++' and together, this seems to work. Thanks. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: signed-multiset-0.1
Stefan Holdermans stefan at vectorfabrics.com writes: This package provides an efficient implementation of so-called signed multisets, which generalise multisets by allowing for negative membership. SignedMultiset a = Data.Map.Map a Integer so what do I gain by using your library? (what is the API difference?) Perhaps you could state this clearly at the top of the package description (visible on hackage). I sometimes find I want a type Map with default (the default value is stored when the Map is constructed, and you never put keys in there that map to this default). Best - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] is this an arrow?
Dear Cafe, I have the following types: type Computer a b = ( a - IO ( Maybe b ) ) type Transformer a b c d = Computer a ( b, c - d ) For example, a SAT solver: minisat :: Computer CNF Assignment, and when I use it to solve an application problem via transformation to SAT, I need t :: Transformer Problem SAT Assignment Solution Now - what is the proper abstraction? Is this an arrow somehow? And is there already a type and a library that would contain useful combinators like some of these: http://autolat.imn.htwk-leipzig.de/gitweb/?p=box;a=blob;f=src/exotic/Strategy.hs;h=238b5f55fabf356e0ce484d0f6b882a06d6e6cfc;hb=HEAD Thanks - J.W. signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] mueval leaving behind tmp files
The following program prints Right (test,Bool,True) as it should, but it leaves behind in /tmp two files (name is a long string of digits) and an empty directory (name is ghcN_N). ... and it deletes the input file (/tmp/Main.hs). That's not nice. Ideally, I would want to read input from a String (instead of the file), and not write to disk at all. But cleaning up properly would be OK as a work-around. import Language.Haskell.Interpreter import Mueval.Interpreter import Mueval.ArgsParse main = do writeFile /tmp/Main.hs test = True result - runInterpreter $ interpreter $ Options { timeLimit =1, modules =Just [Prelude], expression =test , loadFile =/tmp/Main.hs, user=what, printType =True , extensions =False,namedExtensions = [] , noImports =False, rLimits =False, help=True } print result ghc --version The Glorious Glasgow Haskell Compilation System, version 7.4.1 ghc-pkg list| egrep 'mueval|hint' hint-0.3.3.4 mueval-0.8.1.1 uname -a Linux octopus 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] mueval leaving behind tmp files
mueval-0.8.1.1 this is actually 0.8.2 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ghci can't load file whose name contains non-ASCII chars?
I must be making some obvious mistake here, but I'm not seeing it. The file name contains O-umlaut, and the OS handles it fine, but ghci does not like it (although it accepts umlauts in the contents of the file (UTF-8) e.g., as a module name) $ cat fÖÖbar.hs main = print $ product [1..100] $ ghci fÖÖbar.hs GHCi, version 7.4.1: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. no location info: can't find file: f??bar.hs Failed, modules loaded: none. this is on a standard ubuntu install (11.10 and 11.04) with $ locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE=en_US.UTF-8 ... $ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.4.1 $ uname -a Linux octopus 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] for = flip map
Good: we have mapM, and we have forM ( = flip mapM ) . Sure this is just a convenience, and indeed forM xs $ \ x - do ... is quite handy, especially if xs is really small, and ... is some larger expression. Bad: we have map, but we are missing: for ( = flip map ) . The function is very convenient, for the same reasons as above. I can't remember how often I typed for = flip map in a source file. I never put this definition in a module either, since the import statement would be longer than the definition. So, I'm all for for . In Data.List? In the Prelude? (Should put it right next to map.) - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Polymorphic addition function with variable number of arguments?
Can someone tell me why this is not working that someone is actually ghci: Prelude instance (Num a, Add a b) = Add (a - b) where add x y = add (x + y) interactive:8:30: Expecting one more argument to `Add (a - b)' In the instance declaration for `Add (a - b)' ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Polymorphic addition function with variable number of arguments?
The problem seems to be that numeric literals are polymorphic. With your code, this works: *Main let x = 8 :: Int *Main add x x x :: Int 24 *Main add x x :: Int 16 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE : Leksah 0.12
Sounds good - but my build fails on ubuntu-11.10: Building gtksourceview2-0.12.3... Preprocessing library gtksourceview2-0.12.3... ./gtksourceview2.h:10:48: fatal error: gtksourceview/gtksourceundomanager.h: No such file or directory compilation terminated. gtk2hsC2hs: Error during preprocessing on ubuntu-11.04: Building gtksourceview2-0.12.3... Preprocessing library gtksourceview2-0.12.3... dist/build/Graphics/UI/Gtk/SourceView/Types.h:1:28: fatal error: gtksourceview2.h: No such file or directory compilation terminated. gtk2hsC2hs: Error during preprocessing custom header file - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANNOUNCE : Leksah 0.12
cabal install --extra-include-dirs=. gtksourceview2 yes this works. thanks! - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] help with safecopy + acid-state
Can I really rename old.T = new.T_orig ? It looks as if then tries to load the wrong acid-state snapshot. The name of your data type doesn't matter as acid-state doesn't store that on the disk. I think it does - because file names are state/T/*.log and so on? J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Stuck on HXT basics
Couldn't match expected type `Data.Tree.NTree.TypeDefs.NTree XNode' with actual type `hxt-8.5.4:Data.Tree.NTree.TypeDefs.NTree hxt-8.5.4:Text.XML.HXT.DOM.TypeDefs.XNode' perhaps you have installed several (conflicting) versions of packages. I use hxt = 9, and here is some example code: http://dfa.imn.htwk-leipzig.de/cgi-bin/gitweb.cgi?p=tpdb.git;a=tree;f=TPDB/XTC;hb=master Best - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] help with safecopy + acid-state
Felipe Almeida Lessa felipe.lessa at gmail.com writes: data T_orig = T_orig Foo $(deriveSafeCopy 0 'base ''T_orig) data T = T Foo Bar $(deriveSafeCopy 0 'extension ''T) instance Migrate T where type MigrateFrom T = T_Orig ... As you can read from deriveSafeCopy's documentation [1], you need to increase the version of your data type (e.g. change that zero to one). Thanks - which zero? (there are two of them.) and how does it play together with Data.Acid? Can I really rename old.T = new.T_orig ? It looks as if then tries to load the wrong acid-state snapshot. Best - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] help with safecopy + acid-state
Dear all, I can't quite get safecopy to work with acid-state: old version of code : data T = T Foo $(deriveSafeCopy 0 'base ''T) new version : data T_orig = T_orig Foo $(deriveSafeCopy 0 'base ''T_orig) data T = T Foo Bar $(deriveSafeCopy 0 'extension ''T) instance Migrate T where type MigrateFrom T = T_Orig ... but when my (new) application reads the state from disk (written by the old application) I get Could not parse saved checkpoint due to the following error: Failed reading: Duplicate version tags: [0,0] When I change the version number in deriveSafeCopy, I get Failed reading: safecopy: Map: Cannot find getter associated with this version number: Version {unVersion = 2} I don't even know where the 2 comes from. Any hints appreciated - J.W. signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Need advice: Haskell in Web Client
dokondr dokondr at gmail.com writes: It would be great if I could write Web client code in pure Haskell [...] not exactly Haskell, but you may want to have a look at OPA http://opalang.org/ the idea is that you write all of the application in one (statically typed, functional) language and the framework takes care of distributing the code to server and client (and on the client, it shows up as JavaScript) J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] haxr standalone server?
How could I use haxr (http://www.haskell.org/haskellwiki/HaXR) to build a stateful server? It should listen on some port, and fork threads (inside Haskell land) to handle incoming calls. Any of the Haskell web frameworks can do this? I guess this is the same question as: http://www.haskell.org/pipermail/haskell-cafe/2009-December/071185.html Thanks - J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] haxr standalone server?
Michael Snoyman michael at snoyman.com writes: It seems like the issue is that HaXR uses CGI, whereas you want to tie it in with a web server, correct? Yes. There's a deprecated package[1] to allow CGI apps to be run on any WAI handler (such as Warp). why deprecated? what's the problem with that package? J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] cabal install --hyperlink-source ?
Hello. I can do cabal install --enable-documentation which is nice because it does configure, build, haddock and copy in one go, but I don't see how to pass options from cabal install to cabal haddock (e.g., --hyperlink-source) Any hints appreciated, J.W. signature.asc Description: OpenPGP digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Is SmallCheck maintained?
On Mon, Nov 14, 2011 at 9:54 AM, Roman Cheplyaka roma at ro-che.info wrote: Does anyone currently work on Test.SmallCheck? not working on, but I'm using it in teaching. The one change that I would want in SmallCheck is that Serial should use size, not depth (that is, not take the max over the subtrees, but the sum). I think this would help somewhat against the explosion of test sets. Yes, I can write Serial instances as I fancy but it's the default instances (for tuples, lists) that I think should be changed. At least, an alternative should be provided. On the other hand, that could easily be forked off as a student project, so there is no hurry. Best, Johannes. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] FFI / enums
Does this work with ghc -XForeignFunctionInterface ? http://en.wikibooks.org/wiki/Haskell/FFI#Enumerations I am getting a syntax error right after #{. But then, the description is for hsc2hs (not ghc). And it mentions macros, while C meanwhile has real enums. Well, at leat one can write enum match { foo, bar }. The FFI Addendum does not mention enums at all. So - what's the agreeable way to do this? - Thanks, J.W. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe