News aggregator

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

left to right pipeline of functions

haskell-cafe - Sun, 06/12/2016 - 6:46am
Hi, I am learning about monads, and this question came to mind: is there a way to have a sequence of functions left to right like so: g = return 2 >>= \n -> return (n + 1) >>= \n -> return (n + 3) Either: some kind of generic monad that makes this legal, or some way to do this without monad (i.e., without the "returns").
Categories: Offsite Discussion

Allow extra commas in module declarations or lists?

glasgow-user - Sat, 06/11/2016 - 8:12pm
Some languages like Perl allow you to include additional commas in your lists, so that you can freely reorder them without worrying about adding or removing commas from the last or first item: my < at >array = ( 1, 2, 3, ); Perl even allows multiple redundant commas everywhere after the first element, which is less useful but has come up on occasion: my < at >array = (1,,,2,,,,,,,,,3,,,,,); I propose allowing an optional single extra comma at the end in module declarations, record declarations, record constructors, and list constructors: module Example ( module Example, SomeConstructor(..), ) where data SomeConstructor = SomeConstructor { foo :: Int, bar :: Int, } baz :: SomeConstructor -> SomeConstructor baz x = x { foo = 5, bar = 10, } qux :: [ Int ] qux = [ 1, 2, 3, ] What do you think? _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users< at >haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Categories: Offsite Discussion

CFP: DEADLINE APPROACHING - MSWiM 2016

General haskell list - Sat, 06/11/2016 - 2:56pm
=================================================== Call-For-Papers: 19th ACM/IEEE MSWiM 2016 Malta, Nov 13-17, 2016 http://www.mswimconf.com/2016 ==================================================== IMPORTANT: Submission deadline Extended: Paper registration through EDAS: June 12th, 2016 Paper Submission: June 12th, 2016 =================================================== ------ ACM/IEEE* MSWiM 2016 is the 19th Annual International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems. MSWiM is an international forum dedicated to in-depth discussion of Wireless and Mobile systems, networks, algorithms and applications, with an emphasis on rigorous performance evaluation. MSWiM is a highly selective conference with a long track record of publishing innovative ideas and breakthroughs. MSWiM 2016 will be held Malta, Nov 13-17, 2016 Authors are encouraged to submit full papers presenting new research related to the theory or pra
Categories: Incoming News

Call pattern specialization limit messages

haskell-cafe - Sat, 06/11/2016 - 4:32am
When I compile Data.Sequence with -dppr-debug, I get several messages about constructor specialization exceeding the call pattern limit. Things like SpecConstr Function ‘$j_ssfy{v} [lid]’ has four call patterns, but the limit is 3 Use -fspec-constr-count=n to set the bound Specialisations: [([sc_sAZr{v} [lid]], [sc_sAZr{v} [lid], lvl_sdmH{v} [lid]]), ([sc_sAZs{v} [lid]], [sc_sAZs{v} [lid], lvl_sw9X{v} [lid]]), ([sc_sAZt{v} [lid]], [sc_sAZt{v} [lid], lvl_swa0{v} [lid]]), ([sc_sAZu{v} [lid]], [sc_sAZu{v} [lid], lvl_swat{v} [lid]])] How can I figure out what function this sort of thing is actually talking about? I'd love to see what benchmarks say about whether tweaking -fspec-constr-count is a good idea, but I don't know what to benchmark. Thanks, David _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo
Categories: Offsite Discussion

All-fail case in asum

haskell-cafe - Fri, 06/10/2016 - 3:37pm
Hello I want to define some parser such way: myParser = tryA <|> tryB <|> fail "input must be either A or B" It works. But then I want to rewrite it with asum: myParser = asum [tryA, tryB, fail "must be A or B"] It works, but the wrong way. Instead of my error it writes "empty". Just "empty". It is so because in base library asum = foldr (<|>) empty What if it was defined asum [] = empty asum [x:xs] = x <|> asum xs It would help me with my parser. But what can this break? Why isn't this done yet?
Categories: Offsite Discussion

GHC 8 + ImpredictiveTypes + $

haskell-cafe - Fri, 06/10/2016 - 9:59am
Hi, I have had a number of trivial compilation failures in many of my projects that contain instances for MonadBaseControl (from monad-control) since upgrading to GHC 8. Now, I say 'trivial' since the actual fix is incredibly minor - a change of compose (.) to apply ($). What was less trivial was the (additional) hair loss arriving at the fix. I've put together a minimal example that demonstrates both the failing (pre-GHC8) and the fixed (GHC8) instances here: https://gist.github.com/brendanhay/e6f2501c15ac5160ca7dbb6ada6777f0 Since I found the error message somewhat directionless, I'd like some help actually understanding the root cause and why the 'fix' works: * I assume previously GHC did not fully check type aliases that were impredictive prior to GHC 8? * What does this imply for a type alias such as for the alias RunInBase used in monad-control that contains RankNTypes: http://hackage.haskell.org/package/monad-control-1.0.1.0/docs/Control-Monad-Trans-Control.html#t:RunInBase - Is such an alias not
Categories: Offsite Discussion