News aggregator

problem installing postgreSQL-libpq on Windows

haskell-cafe - Thu, 06/16/2016 - 8:19am
I want to install postgreSQL-libpq on Windows 7 64 bits with ghc version 7.10.1 and cabal version 1.22.4.0 This is what I did: Installed mingw From the msys prompt: pexports "d:\program files\postgreSQL\9.3\bin\libpq.dll" > libpq.def From the msys prompt: dlltool -d libpq.def -l libpq.a The file libpq.a is created. I copied the file to d:\program files\postgreSQL\9.3\bin\ and then from de cmd prompt: cabal install postgreSQL-libpq --extra-include-dirs="d:\program files\postgreSQL\9.3\include" --extra-lib-dirs="d:\program files\postgreSQl\9.3\bin" I get: Resolving dependencies... Configuring postgresql-libpq-0.9.1.1... Failed to install postgresql-libpq-0.9.1.1 Build log ( C:\Users\kees\AppData\Roaming\cabal\logs\postgresql-libpq-0.9.1.1.log ): [1 of 1] Compiling Main ( D:\Temp\cabal-tmp-6140\postgresql-libpq-0.9.1.1\dist\setup\setup.hs, D:\Temp\cabal-tmp-6140\postgresql-libpq-0.9.1.1\dist\setup\Main.o ) Linking D:\Temp\cabal-tmp-6140\postgresql-libpq-0.9.1.1\dist\setup\setup.ex
Categories: Offsite Discussion

ICPE 2017 - 1st Call for Papers

General haskell list - Wed, 06/15/2016 - 10:42pm
ICPE 2017 8th ACM/SPEC International Conference on Performance Engineering Sponsored by ACM SIGMETRICS, SIGSOFT, and SPEC RG L'Aquila, Italy April 22-26, 2017 https://icpe2017.spec.org/ ------------------------------------------------------------------------ IMPORTANT DATES Research and Industrial / Experience Abstracts: Sep 23, 2016 Research and Industrial / Experience Papers: Sep 30, 2016 Research and Industrial / Experience Paper Notification: Nov 18, 2016 Work-in-Progress/Vision Papers: Nov 25, 2016 Workshop Proposals: Nov 05, 2016 Workshop Proposal Notification: Nov 19, 2016 Dates for tutorials, posters and demos will be announced. ------------------------------------------------------------------------ SCOPE AND TOPICS The goal of the International Conference on Performance Engineering (ICPE) is to integrate theory an
Categories: Incoming News

This non-exhaustive pattern match seems exhaustive

haskell-cafe - Wed, 06/15/2016 - 9:33pm
I'm emulating a "closed typeclass" using a closed type family: * {-# LANGUAGE ExistentialQuantification #-}* * {-# LANGUAGE GADTs #-}* * {-# LANGUAGE LambdaCase #-}* * {-# LANGUAGE TypeFamilies #-}* * import GHC.Exts (Constraint)* * -- This is like* * --* * -- class Thing a -- instance Thing Int --* * type family Thing a :: Constraint where* * Thing Int = ()* * data Foo = forall a. Thing a => Foo (Bar a)* * data Bar a where* * Bar1 :: Bar Int* * Bar2 :: Bar Bool* * inspectFoo :: Foo -> ()* * inspectFoo = \case* * Foo Bar1 -> ()* * Foo Bar2 -> () -- This is required to suppress a warning* Here, it's not possible to create a Foo using "Foo Bar2", because there is no "Thing Bool" constraint in scope. Yet, when picking apart a Foo, I must still pattern match on this impossible data. Is there some smarter way to write this code? I thought of using `constraints`, and adding a catch
Categories: Offsite Discussion

SPLASH'16: 2nd Combined Call for Contributions toCollocated Events

General haskell list - Wed, 06/15/2016 - 9:12pm
################################################# ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH'16) ################################################# Amsterdam, The Netherlands Sun 30th October - Fri 4th November , 2016 http://2016.splashcon.org https://twitter.com/splashcon https://www.facebook.com/SPLASHCon/ Sponsored by ACM SIGPLAN Combined Call for Contributions to SPLASH tracks, collocated conferences, symposia and workshops: - SPLASH-I, SPLASH-E, Doctoral Symposium, Student Research Competition, Programming Languages Mentoring Workshop, Posters - Generative Programming: Concepts & Experiences (GPCE) - Software Language Engineering (SLE) - Scala Symposium - Workshops: AGERE, DSLDI, DSM, FOSD, ITSLE, LWC< at >SLE, META, MOBILE!, NOOL, PLATEAU, Parsing< at >SLE, REBLS, RUMPLE, SA-MDE, SEPS, VMIL, WODA The ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) embraces all aspects of software construction,
Categories: Incoming News

How to spot Monads, Applicatives ...

haskell-cafe - Wed, 06/15/2016 - 4:54pm
Hello all, I am at a stage, where I can use some of the Monads and Applicatives which are out there. But I hardly ever wrote my own instances. I am curious to learn about the thought processes which lead to the insight "hey that can be written nicely as an Applicative Functor" I suppose you can write everything without these type classes. Is it a promising approach to try without and then spot an element of repetition and factoring out that naturally leads to one of these typeclasses? Paticularly I am having difficulties with the *->* instances. E.g. why is the state "s" in the state monad the fixed type and the "a" the type parameter? When I am writing state code without the State monad the two look like equal candidates. Why not have "State a" monad, which threads an a-typed value and spits out states? While we're at it: would someone be so kind and explain what exactly is meant by an "effect"? I know that in haskell this is not the same as a "side effect" as there are no side-effects in haskell.
Categories: Offsite Discussion

ANN: eccrypto, aka Hecc, hF2

haskell-cafe - Wed, 06/15/2016 - 8:35am
Dear Haskell Community! It was a long~ish time ago I released hecc[1], which had an unfortunate but funny (to me) name, later together with hF2[2]. Since I have neither released hyperelliptic curve crypto support, nor my pairing based crypto, a generalising change in names would be in order. Today I am releasing eccrypto[3], which contains the code of both (to allow easier refactoring of new ideas) and something new: A pure Haskell, timing-attack resistant Ed25519[4] implementation! ...well, a very rough one at least. The code is not "done", gives wrong results, is _very_ slow, but it might serve as reading material as well as a primer what I plan to do in the future. I do not plan to add embedded C or assembler code, but plan to make the code comparatively fast to some common implementations as well as timing attack resistant (see: [5]), even if it will never be as fast as the best code used in contemporary benchmarks. Sadly, due to health issues, I am not able to work on said code and have not been for
Categories: Offsite Discussion

ANN: eccrypto, aka Hecc, hF2

libraries list - Wed, 06/15/2016 - 8:13am
Dear Haskell Community! It was a long~ish time ago I released hecc[1], which had an unfortunate but funny (to me) name, later together with hF2[2]. Since I have neither released hyperelliptic curve crypto support, nor my pairing based crypto, a generalising change in names would be in order. Today I am releasing eccrypto[3], which contains the code of both (to allow easier refactoring of new ideas) and something new: A pure Haskell, timing-attack resistant Ed25519[4] implementation! ...well, a very rough one at least. The code is not "done", gives wrong results, is _very_ slow, but it might serve as reading material as well as a primer what I plan to do in the future. I do not plan to add embedded C or assembler code, but plan to make the code comparatively fast to some common implementations as well as timing attack resistant (see: [5]), even if it will never be as fast as the best code used in contemporary benchmarks. Sadly, due to health issues, I am not able to work on said code and have not been for
Categories: Offsite Discussion

Help with Data.Conduit.List.mapAccum

haskell-cafe - Wed, 06/15/2016 - 6:53am
Hello, I'm trying to use Data.Conduit, but I get stuck with mapAccum as how to get and retrieve the result. If I use it, I get a simple conduit like : testC :: ConduitM () Int IO Int testC = Src =$= cdt where src = CL.sourceList [1..10] cdt = CL.mapAccum (\x s ->(x+s, x) 0 I can get the output with testC $$ CL.consume but how do I retrieve the accumulated sum ? Bruno _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Categories: Offsite Discussion

[ANN] Budapest Haskell Hackathon 2016, 6-7th Aug 2016

haskell-cafe - Tue, 06/14/2016 - 9:00pm
Hi everybody, I'm happy to announce that our local user group will hold a Haskell Hackathon in Budapest this year (this will be the second)! We will hold it from August 6th to the 7th (Saturday & Sunday). You can find out more on the following link: https://wiki.haskell.org/Budapest_Hackathon_2016 We will reguraly update the site with new information. If you decide to come, please fill out the following Google Form: http://goo.gl/forms/pqgh6fvK8F8a2pAg1 If you have a project, demo, or talk that you want to bring to the event please contact us, and we can talk about the details. You can find our contact info the events wiki site, or you can just contact me directly. The event will be open to people of all experience levels, from beginners to gurus. The only requisite is that you’re interested in the Haskell language, and want to hang out with us, and have a good time! Greetings from Daniel, and the other BP-HUG organizers. _______________________________________________ Haskell-Cafe mailing list Hask
Categories: Offsite Discussion

JTRES 2016, Submission Deadline Extended to July 3

General haskell list - Tue, 06/14/2016 - 8:55pm
******** ******** The paper submission deadline has been extended to ******** July 3, 2016 ******** ====================================================================== CALL FOR PAPERS The 14th Workshop on Java Technologies for Real-Time and Embedded Systems JTRES 2016 Part of the Managed Languages & Runtimes Week 2016 29 August - 2 September 2016 Lugano, Switzerland http://jtres2016.compute.dtu.dk/ ====================================================================== Submission deadline: 3 July, 2016 Submission site: https://easychair.org/conferences/?conf=jtres2016 ====================================================================== Over 90% of all microprocessors are now used for real-time and embedded applications. Embedded devices are deployed on a broad diversity of distinct processor arc
Categories: Incoming News

[ANN] Budapest Haskell Hackathon 2016, 6-7th Aug 2016

General haskell list - Tue, 06/14/2016 - 8:50pm
Hi everybody, I'm happy to announce that our local user group will hold a Haskell Hackathon in Budapest this year (this will be the second)! We will hold it from August 6th to the 7th (Saturday & Sunday). You can find out more on the following link: https://wiki.haskell.org/Budapest_Hackathon_2016 We will reguraly update the site with new information. If you decide to come, please fill out the following Google Form: http://goo.gl/forms/pqgh6fvK8F8a2pAg1 If you have a project, demo, or talk that you want to bring to the event please contact us, and we can talk about the details. You can find our contact info the events wiki site, or you can just contact me directly. The event will be open to people of all experience levels, from beginners to gurus. The only requisite is that you’re interested in the Haskell language, and want to hang out with us, and have a good time! Greetings from Daniel, and the other BP-HUG organizers. _______________________________________________ Haskell mailing list Haskel
Categories: Incoming News

Reminder: 10 days to submit talks to CUFP 2016

haskell-cafe - Tue, 06/14/2016 - 4:08pm
This CFP and the form for submitting presentation proposals can be found at: http://cufp.org/2016/call-for-presentations.html ---------------------------------------------------------------------- 2016 Call for Presentations Workshop for Commercial Users of Functional Programming 2016 Sponsored by SIGPLAN CUFP 2016 Co-located with ICFP 2016 Nara, Japan September 22-24 Talk Proposal Submission Deadline: 24 June 2016 The annual CUFP event is a place where people can see how others are using functional programming to solve real world problems; where practitioners meet and collaborate; where language designers and users can share ideas about the future of their favorite language; and where one can learn practical techniques and approaches for putting functional programming to work. ---------------------------------------------------------------------- Giving a CUFP Talk If you have experience using functional languages in a practical setting, we invite you to submit a proposal to give a talk at the event.
Categories: Offsite Discussion

Package takeover (also: the future of Netwire)

haskell-cafe - Tue, 06/14/2016 - 1:30pm
Hi everybody, I'd like to take over the following Hackage packages with my account named [esz]: * acme-schoenfinkel, * cascading, * continue, * contstuff-monads-tf, * contstuff-transformers, * contstuff, * dnscache, * fastirc, * ihttp, * instinct, * ismtp, * netlines, * netwire, * quickset, * web-page, * webwire, * yesod-tableview. These are actually already mine, but because my old account has become practically inaccessible, I'm now following the official [takeover procedure], asking myself whether I'm okay with that. =) After the takeover, I'm going to deprecate the following packages, unless someone would like to take over maintenance: * cascading: Clay is more comprehensive and easier to use. * contstuff*: Childhood experiments, because after writing a monad tutorial of course you must write an mtl replacement. * dnscache: Useful library, but needs maintenance. * fastirc: irc is reasonably efficient now (it used to be a String parser). * ihttp
Categories: Offsite Discussion

CUFP 2016 Call For Tutorials

haskell-cafe - Tue, 06/14/2016 - 7:50am
Hi all, The Commercial Users of Functional Programming (CUFP) 2016 has its Call for Tutorials open for submission. CUFP 2016 is being held in the historic city of Nara, Japan. The conference is devoted to showcase the state of the art of Functional Programming on industrial settings. This conference is co-located with the International Conference of Functional Programming (ICFP). We're looking for tutors that would like to host workshops on on the following themes: - Introductions to functional programming languages. In the past we have had sessions of Clojure, Erlang, F#, F*, Haskell, ML, OCaml, Scala, Scheme and others. - Advanced programming languages, concepts and applications (e.g. Lens, Liquid-Haskell, Agda, Idris, etc.) - Applying functional programming in particular areas, including Web, high-performance computing, finance. - Tools and techniques supporting state of the art functional programming. In the past we have had tutorials on QuickCheck, Elm and others. - Theory. Type theory, categor
Categories: Offsite Discussion

LOPSTR'16: Final Call for Papers and *Deadline Extension*

General haskell list - Mon, 06/13/2016 - 9:24pm
[ Please distribute, apologies for multiple postings. ] ====================================================================== LOPSTR 2016: Final Call for Papers / Deadline Extension ====================================================================== 26th International Symposium on Logic-Based Program Synthesis and Transformation LOPSTR 2016 http://cliplab.org/Conferences/LOPSTR16/ Edinburgh, UK, September 6-8, 2016 (co-located with PPDP 2016 and SAS 2016) ====================================================================== NEW DEADLINES: Abstract submission (extended): June 20, 2016 Paper/Extended abstract submission (extended): June 27, 2016 ====================================================================== INVITED SPEAKERS: Francesco Logozzo (Facebook, USA) [jointly with PPDP] Greg Morrisett (Cornell University, USA) [jointly with PPDP] Martin Vec
Categories: Incoming News

Two Lectureships (Assistant Professorships) at St Andrews

General haskell list - Mon, 06/13/2016 - 10:09am
We have two vacancies at St Andrews. These are fixed term (3 years), but we are likely to have permanent positions in time. We are looking for good researchers. I would welcome applications from the functional programming community. The deadline is June 29th. See: http://blogs.cs.st-andrews.ac.uk/csblog/2016/05/30/fixed-term-lectureships-in-computer-science/ for details. Best Wishes, Kevin PS If you are sending mail to kh< at >cs.st-andrews.ac.uk, you may get a bounce message. I should still have received your email despite the error message. For future mail, the best and most reliable email address to use is kevin< at >kevinhammond.net -please update your address book. -------- Kevin Hammond, Professor of Computer Science, University of St Andrews T: +44-1334 463241 F: +44-1334-463278 W: http://www.cs.st-andrews.ac.uk/~kh In accordance with University policy on electronic mail, this email reflects the opinions of the individual concerned, may contain confidential or copyright information that sho
Categories: Incoming News

CMM-to-ASM: Register allocation wierdness

glasgow-user - Sun, 06/12/2016 - 7:38pm
Hi, I am implementing unicode normalization in Haskell. I challenged myself to match the performance with the best C/C++ implementation, the best being the ICU library. I am almost there, beating it in one of the benchmarks and within 30% for others. I am out of all application level tricks that I could think of and now need help from the compiler. I started with a bare minimum loop and adding functionality incrementally watching where the performance trips. At one point I saw that adding just one 'if' condition reduced the performance by half. I looked at what's going on at the assembly level. Here is a github gist of the assembly instructions executed in the fast path of the loop, corresponding cmm snippets and also the full cmm corresponding to the loop: https://gist.github.com/harendra-kumar/7d34c6745f604a15a872768e57cd2447 I have annotated the assembly code with labels matching the corresponding CMM. With the addition of another "if" condition the loop which was pretty simple till now suddenly got
Categories: Offsite Discussion

[ANN] aivika-lattice-0.1

haskell-cafe - Sun, 06/12/2016 - 2:35pm
Hi Cafe, I’m glad to introduce a complete new module aivika-lattice [1] for the Aivika simulation library. It allows running nested discrete event simulations within lattice. If the naive approach implies that traversing the nested simulation nodes has an exponential complexity, then the lattice approach gives us a quadratical growth. This is a key feature, which makes the traversing a computationally feasible task even for a large size lattice. It can be useful for financial modeling, for instance. The model can be divided into two different parts. The first part is a discrete event simulation that branches in the lattice nodes. Within this simulation, we can update a mutable reference that can be observed in another part of the model. For example, such a reference can store a value of the modeled interest rate, or stock price, or exchange rate. It is important that the first part is forward traversing, when the time increases from the past to the future. The first part can even include discontinuous p
Categories: Offsite Discussion