News aggregator

Current state of Emscripten and LLVM for Haskell?

Haskell on Reddit - Sun, 10/12/2014 - 12:25pm

One of my side projects is that lately I've been trying to get the Elm compiler into JavaScript. I've tried GHCJS, which gives an error about too many variables.

Has anyone made progress in using Emscripten to try the Haskell->LLVM->JS route?

The wiki says that one of the main difficulties is compiling the Haskell runtime. Is this still a roadblock? Is there any way to statically link it into the LLVM generated, so that Emscripten doesn't have to worry about it?

Basically I'm just asking if anyone has tried Emscripten with Haskell since the last updates came out (about a year ago, from what I've found) and what progress was made.

submitted by jmite
[link] [6 comments]
Categories: Incoming News

Library for URL/URI?

haskell-cafe - Sun, 10/12/2014 - 11:53am
Hello, Probably a silly question... But do we have good library for URL manipulations? I spent 2 days looking for library, that - has permissive license - doesn't use `String` everywhere - handles query part parsing/rendering - has minimal dependencies (Probably URL lib should not depend on anything outside Haskell Platform.) The best thing I found so far is https://github.com/Soostone/uri-bytestring It has few unnecessary dependencies (like http-types or errors,) but I can fork it and fix for my needs. Unfortunately it has unclear license -- BSD3 according to cabal file, but GPL-3 in source header. Are there better libs I missed? What are you using for URLs? Thanks, Yuras
Categories: Offsite Discussion

Shaking up GHC

Haskell on Reddit - Sat, 10/11/2014 - 11:09pm
Categories: Incoming News

Discussion: Add safeWithFile function

libraries list - Sat, 10/11/2014 - 10:10pm
Some care is required to use withFile properly with lazy IO, and people sometimes get it wrong. In some cases, readFile is a suitable replacement. In other cases, however, it may be necessary to ensure the file gets closed in a timely manner, and it may not be necessary to read the whole file. The following seems to do the trick: safeWithFile :: (NFData a) => String -> IOMode -> (Handle -> IO a) -> IO a safeWithFile name mode f = withFile name mode $ f >=> (return $!!) Sample use: *SafeWithFile> safeWithFile "SafeWithFile.hs" ReadMode hGetContents >>= putStr module SafeWithFile (safeWithFile) where import Control.DeepSeq import System.IO import Control.Monad safeWithFile :: (NFData a) => String -> IOMode -> (Handle -> IO a) -> IO a safeWithFile name mode f = withFile name mode $ f >=> (return $!!) _______________________________________________ Libraries mailing list Libraries< at >haskell.org http://www.haskell.org/mailman/listinfo/libraries
Categories: Offsite Discussion

Send me everything you know about using haskell as a POSIX shell, or implementing GNU type things in haskell. (Please)

Haskell on Reddit - Sat, 10/11/2014 - 5:59pm

So far I think I am probably going to use the shell called Hell, as a base to code with. I am also probably going to re-write GNU as I need it except in a haskell way.

submitted by read_harder
[link] [20 comments]
Categories: Incoming News

Pretty Printing Libraries with an Emphasis onConsistency

haskell-cafe - Sat, 10/11/2014 - 10:52am
Hi all, It seems that all of the pretty printing libraries on Hackage at the moment have an emphasis on being compact, but not necessarily consistent. By consistent, I mean that similar blocks of code are indented in the same fashion, even when not strictly necessary. Take for example, the start of "Pretty Printing with Lazy Dequeues". Here, the example is: if True then if True then True else True else if False then False else False I call this inconsistent, because the two sides of the top-level if have been formatted under different rules. A consistent formatting of this would be: if True then if True then True else True else if False then False else False The above can obviously be reached if you *always* format `if` in this style, but that's not what I'm after. If it's possible to format both sides on one-line, then that should be preferred. So an equally desirable output (that meets my "consistency" requirement) is
Categories: Offsite Discussion

Optimizing isSuffixOf (was Re: Proposal: Make a very slight change to the semantics of Data.List.isSuffixOf)

libraries list - Sat, 10/11/2014 - 10:13am
On Fri, Oct 10, 2014 at 4:18 PM, Jon Fairbairn <jon.fairbairn< at >cl.cam.ac.uk> wrote: Is it only about wordiness & syntax? With the original a `isSuffixOf` b = reverse a `isPrefixOf` reverse b and with Jon's a `isSuffixOf` b = a `elem` tails b I'm completely convinced of the correctness, modulo that of the referenced functions. Moreover, the conviction was obtained cheaply. My finite neurons are saved for the greater task at hand. The proposal on the table snatches away that providence. I have to take it on the authority of others that it's correct. Rust recently exposed a bug in their string matching function. It's their version of Data.List.isInfixOf. See http://www.wabbo.org/blog/2014/22aug_on_bananas.html These days I point all my colleagues and friends to this article as a classic case of premature optimization. But I understand that some folks prefer their computations always rapid, if sometimes wrong. David, is there an application underlying the need for isSuffixOf speed? You might
Categories: Offsite Discussion

Why Do Monads Matter? - YouTube

del.icio.us/haskell - Sat, 10/11/2014 - 5:37am
Categories: Offsite Blogs

Skills Matter

del.icio.us/haskell - Sat, 10/11/2014 - 5:22am
Categories: Offsite Blogs

www.fpcomplete.com

del.icio.us/haskell - Sat, 10/11/2014 - 4:00am
Categories: Offsite Blogs

Mathematics of Program Construction (MPC 2015): firstcall for papers

General haskell list - Fri, 10/10/2014 - 1:59pm
Apologies for multiple copies. FIRST CALL FOR PAPERS 12th International Conference on Mathematics of Program Construction (MPC 2015) Königswinter, Germany, 29 June - 1 July 2015 http://www.cs.ox.ac.uk/conferences/MPC2015/ BACKGROUND The MPC conferences aim to promote the development of mathematical principles and techniques that are demonstrably practical and effective in the process of constructing computer programs, broadly interpreted. The 2015 MPC conference will be held in Königswinter, Germany, from 29th June to 1st July 2015. The previous conferences were held in Twente, The Netherlands (1989), Oxford, UK (1992), Kloster Irsee, Germany (1995), Marstrand, Sweden (1998), Ponte de Lima, Portugal (2000), Dagstuhl, Germany (2002), Stirling, UK (2004, colocated with AMAST), Kuressaare, Estonia (2006, colocated with AMAST), Marseille, France (2008), Québec City, Canada (2010, colocated with AMAST), and Madrid, Spain (2012). TOPICS Papers are solicited on mathematical methods and tools put to use
Categories: Incoming News

ICFP 2015 Call for Workshop and Co-located Event Proposals

General haskell list - Thu, 10/09/2014 - 11:32pm
CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS ICFP 2015 20th ACM SIGPLAN International Conference on Functional Programming August 30 - September 5, 2015 Vancouver, Canada http://icfpconference.org/icfp2015/ The 120th ACM SIGPLAN International Conference on Functional Programming will be held in Vancouver, British Columbia, Canada on August 30-September 5, 2015. ICFP provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. Proposals are invited for workshops (and other co-located events, such as tutorials) to be affiliated with ICFP 2015 and sponsored by SIGPLAN. These events should be less formal and more focused than ICFP itself, include sessions that enable interaction among the attendees, and foster the exchange of new ideas. The preference is for one-day events, but other schedules can also be considered
Categories: Incoming News

Haskell Weekly News: Issue 309

General haskell list - Thu, 10/09/2014 - 5:07am
Welcome to issue 309 of the HWN, an issue covering crowd-sourced bits of information about Haskell from around the web. This issue covers from September 28 to October 4, 2014 Quotes of the Week * Uh... I'ma have to read the IRC logs... No good quotes < at >remember'd Top Reddit Stories * Announcing needle: ASCII-fied arrow notation Domain: scrambledeggsontoast.github.io, Score: 103, Comments: 119 Original: [1] http://goo.gl/wCPh8K On Reddit: [2] http://goo.gl/UwTJSt * How we might abolish Cabal Hell, part 1 Domain: well-typed.com, Score: 95, Comments: 69 Original: [3] http://goo.gl/N19hPq On Reddit: [4] http://goo.gl/CQQRF0 * After some failed attempts to learn Parsec I came across this incredibly patient tutorial and now I'm writing parsers! Domain: github.com, Score: 79, Comments: 17 Original: [5] http://goo.gl/msqtkb On Reddit: [6] http://goo.gl/p3EgqQ * Neil Mitchell's Haskell Blog: Why Traversable/Foldable should not be in the Prelu
Categories: Incoming News

Proposal: Make a very slight change to the semantics of Data.List.isSuffixOf

libraries list - Wed, 10/08/2014 - 9:15am
Currently, isSuffixOf is defined like this: xs `isSuffixOf` ys = reverse xs `isPrefixOf` reverse ys If ys is much longer than xs, this is not so wonderful, because we have to reverse the whole spine of ys. It also will fail whenever either xs *or* ys is infinite. The following implementation seems a lot saner (although longer): isSuffixOf :: forall a . (Eq a) => [a] -> [a] -> Bool [] `isSuffixOf` _ = True needle `isSuffixOf` hay = maybe False (\fp -> needle `eq` getEndChunk hay fp) (getFrontPointer needle hay) where eq :: [a] -> [a] -> [a] (x:xs) `eq` (y:ys) = x==y && (xs `eq` ys) getEndChunk :: [a] -> [a] -> [a] getEndChunk (_:hy) (_:fp) = getEndChunk hy fp getEndChunk hy _ = hy getFrontPointer :: [a] -> [a] -> Maybe [a] getFrontPointer [] hy = Just hy getFrontPointer _ [] = Nothing getFrontPointer (_:nd) (_:hy) = getFrontPointer nd hy This doesn't do any of that crazy stuff, and it will w
Categories: Offsite Discussion

PLT Redex: The Summer School, Call for Participation

General haskell list - Tue, 10/07/2014 - 2:04pm
PLT REDEX: THE SUMMER SCHOOL CALL for PARTICIPATION Matthias Felleisen, Robert Bruce Findler, Matthew Flatt LOCATION: University of Utah, Salt Lake City DATES: July 27 - July 31, 2015 http://www.cs.utah.edu/~mflatt/plt-redex/ PLT Redex is a lightweight, embedded DSL for modeling programming languages, their reduction semantics, and their type systems. It comes with an IDE and a toolbox for exploring, testing, debugging, and type-setting language models. The PLT research group has successfully used Redex to model and analyze a wide spectrum of published models. The summer school will introduce students to the underlying theory of reduction semantics, programming in the Redex language, and using its tool suite effectively. The course is intended for PhD students and researchers in programming languages. Enrollment is limited to 25 attendees. While the workshop itself is free, attendees must pay for travel, room, and board. We expect room and board to be around $500, assuming an arrival in the evening of
Categories: Incoming News

New gtk2hs 0.12.4 release

gtk2hs - Wed, 11/21/2012 - 12:56pm

Thanks to John Lato and Duncan Coutts for the latest bugfix release! The latest packages should be buildable on GHC 7.6, and the cairo package should behave a bit nicer in ghci on Windows. Thanks to all!

~d

Categories: Incoming News