News aggregator

OI in 7.10.1

glasgow-user - Thu, 05/21/2015 - 1:00pm
Please, what is wrong here? --------------------------------------------------------------- module OI where class Foo a where foo :: a -> Bool instance Foo Bool where foo _ = True data C a = C a instance {-# OVERLAPPING #-} Foo a => Foo (C a) where foo (C a) = foo a instance {-# OVERLAPPING #-} Foo (C Bool) where foo _ = False --------------------------------------------------------------- By this I intended to test the overlapping instance control. I set the pragma as it is shown in the User guide. And ghc-7.10.1 -c -XFlexibleInstances OI.hs reports "Unrecognised pragma". Please, advise, ------ Sergei
Categories: Offsite Discussion

I'm taking another stab at learning Haskell after 15 years...what have I missed?

Haskell on Reddit - Thu, 05/21/2015 - 12:19pm

What are the most significant additions to the language in the last 15 years?

submitted by thecity2
[link] [18 comments]
Categories: Incoming News

Composite Replicated Data Types: eventually consistent libraries as non-leaky abstractions

Lambda the Ultimate - Thu, 05/21/2015 - 9:29am

Composite Replicated Data Types
Alexey Gotsman and Hongseok Yang

Modern large-scale distributed systems often rely on eventually consistent replicated stores, which achieve scalability in exchange for providing weak semantic guarantees. To compensate for this weakness, researchers have proposed various abstractions for programming on eventual consistency, such as replicated data types for resolving conflicting updates at different replicas and weak forms of transactions for maintaining relationships among objects. However, the subtle semantics of these abstractions makes using them correctly far from trivial.

To address this challenge, we propose composite replicated data types, which formalise a common way of organising applications on top of eventually consistent stores. Similarly to a class or an abstract data type, a composite data type encapsulates objects of replicated data types and operations used to access them, implemented using transactions. We develop a method for reasoning about programs with composite data types that reflects their modularity: the method allows abstracting away the internals of composite data type implementations when reasoning about their clients. We express the method as a denotational semantics for a programming language with composite data types. We demonstrate the effectiveness of our semantics by applying it to verify subtle data type examples and prove that it is sound and complete with respect to a standard non-compositional semantics

Categories: Offsite Discussion

Call for Participation: WPTE 2015 Second International Workshop on Rewriting Techniques for Program Transformations and Evaluation

General haskell list - Thu, 05/21/2015 - 8:49am
CALL FOR PARTICIPATION Second International Workshop on Second International Workshop on Rewriting Techniques for Program Transformations and Evaluation (WPTE 2015) affiliated with RDP 2015 2 July, 2015, Warsaw, Poland !! The early registration deadline ends on May 22 !! Aims and Scope ============== The aim of WPTE is to bring together the researchers working on program transformations, evaluation, and operationally-based programming language semantics, using rewriting methods, in order to share the techniques and recent developments and to exchange ideas to encourage further activation of research in this area. The previous WPTE was held in Vienna 2014. Registration ============ Note that early registration ends on
Categories: Incoming News

Library design around FFI library

haskell-cafe - Thu, 05/21/2015 - 5:20am
I'm implementing the low-level interface to a large C library (using c2hs). The C functions can be broadly classified by: *) the main datastructure they operate on, e.g. returnType AFunction (A* a, ...); *) creation, modification, read access, destruction operations for each of these datastructures, following a common pattern: ACreate(), ASet1(), ASet2(), .., ARead(), ADestroy(), BCreate(), etc. The library rests on top of MPI, so there are e.g. AScatterBegin(), AScatterEnd() function pairs that account for potentially large delays associated with computing and moving data around. On the Haskell side, the C pointer types are represented as e.g. data Ah = Ah (Ptr Ah) deriving instance Storable Ah and e.g. a Create function returns the representation of the fresh pointer along with the usual integer error code: ahCreate :: MPIComm -> IO (Ah, Err) What abstraction may I use to capture logic such as: *) separate read-only functions from the potentially overwriting ones *) guarantee preced
Categories: Offsite Discussion

SPLASH 2015 - Call for Contributions: Other Tracks

General haskell list - Thu, 05/21/2015 - 12:39am
/************************************************************************************/ ACM Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH'15) Pittsburgh, Pennsylvania, USA 25th-30th October, 2015<> Sponsored by ACM SIGPLAN /************************************************************************************/ COMBINED CALL FOR CONTRIBUTIONS Demos Doctoral Symposium OOPSLA Artifacts Posters SPLASH-E Student Research Competition Student Volunteers Tutorials Wavefront Workshops Co-Located Conferences: SLE, GPCE, DBPL, PLoP /************************************************************************************/ The ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) embraces all aspects of software construction and delivery to make it the premier conference at the intersection of programming, languages, and
Categories: Incoming News

Haskell job in a Bay Area early stage startup

Haskell on Reddit - Thu, 05/21/2015 - 12:06am

Linkqlo is a Palo Alto-based technology startup that is building a pioneering mobile community to connect people with better fitting clothes. It has already launched an iOS app, and you can play with it and get a feel of its business model to see if you'll click.

Linkqlo is looking to hire a server side engineer to build a solid backend for the service, and Haskell would be the language of choice if a strong candidate can be secured. I'm helping its founder to look for someone that can fill the role. Ideally you should have experience building SOA backend using one of Haskell's web frameworks (Yesod, Snap, Happstack, or others), and be willing to relocate to Bay Area. Knowledge of Pipe, Conduit, and SQL database would be a big plus.

If interested feel free to contact me ( for more information, or send a message (and/or a resume) to

submitted by ninegua
[link] [comment]
Categories: Incoming News

overlapping instances in 7.10.1

glasgow-user - Wed, 05/20/2015 - 8:52pm
Dear GHC developers, Please, test ghc-7.10.1 on making docon-2.12 and running its demotest/Main (see install.txt). docon-2.12 has been tested under ghc-7.8.2, and it has extensions: ... OverlappingInstances in docon.cabal. Making with ghc-7.10.1 issues a warning and advises to set the related pragma individually to each corresponding instance. (1) First, I ignored this warning, and surprisingly, the library has been made. In the build/ subdirectory there are .hi and .o files, and there have newly appeared the "dyn" files: Matr0_.dyn_hi Matr0_.dyn_o Matr0_.hi Matr0_.o ... (I do not know what does it mean "dyn"). Then, > make install reports runghc Setup.hs install --user Installing library in /home/mechvel/docon/2.12/docon/source/inst/lib/x86_64-linux-ghc-7.10.1/docon_99cUeE74HI58Sb9XilYAZ2 Registering docon-2.12.1... Instead of the .a file, ls shows there docon_99cUeE74HI58Sb9Xi
Categories: Offsite Discussion

About that Idris data declaration, could someone please clarify?

Haskell on Reddit - Wed, 05/20/2015 - 8:39pm

At the idris tutorial The code in question

data Vect : Nat -> Type -> Type where Nil : Vect Z a (::) : a -> Vect k a -> Vect (S k) a

some explanation follows, and then this bit:

... We explicitly state the type of the type constructor Vect — it takes a Nat and a type as an argument, where Type stands for the type of types.

Milk snort, WUT! The type of types? What about the type of the type of types? What about the ... infinite string (type of the)* type of types. Why not use a type variable for the type of types?

Where do I learn more about the type of types? Because, I don't feel comfortable moving ahead with the tutorial until this sits better. I haven't taken a course on type theory, that probably explains it.

submitted by herbadah
[link] [22 comments]
Categories: Incoming News

Can GHCi inspect the state of running threads?

glasgow-user - Wed, 05/20/2015 - 4:51pm
Hello, I have a multi-threaded and interactive application that sometimes stops responding, and it would be helpful being able to inspect the state when it doesn't. I thought the GHCi debugger could be useful here, however I see no way to signal a thread and have GHCi show me its state. Here is an example GHCi session: $ cat t.hs import Control.Concurrent import Control.Exception import Control.Monad import System.IO spawnThread :: String -> IO ThreadId spawnThread label = forkIO $ flip finally (putStrLn $ "bye " ++ label) $ forM_ [0..] $ \i -> threadDelay 1000000 $ ghci-7.10.1 t.hs -fbreak-on-exception -v0 *Main> hSetBuffering stdout LineBuffering *Main> t0 <- spawnThread "t0" *Main> throwTo t0 (ErrorCall "end") *Main> It looks like I'm not getting the "bye t0" message when stopping the thread while using -fbreak-on-exception. Is the debugger supposed to be used like this? Otherwise, is there any way in which I could inspect the state of a running thread? Thanks, Facundo
Categories: Offsite Discussion

[ANN] codex 0.3

haskell-cafe - Wed, 05/20/2015 - 3:08pm
Hello Café, I have released a new version of `codex`[1] (a ctags file generator for cabal project and their dependencies). It should be noted that *this version now fully support the windows operating system*, thanks to a great contribution from Ben James. This new version include: - Tagging of the current project can be turned-off - Fix/Enhance the `emacs` and `sublime` default format - Tags file name is now configurable - Replace `curl` with `wrep` - Misc fixes and portability enhancement Thanks to the contributors (Ben James, Tal Walter, Eyal Lotem). [1]
Categories: Offsite Discussion

Erlang Workshop 2015: deadline extension

General haskell list - Wed, 05/20/2015 - 12:22pm
Hi everyone, The PC has decided to extend the paper submission deadline for the 14th ACM SIGPLAN Erlang Workshop. New final dates are as follows, there will not be any further extensions Submissions due: Friday, 29 May, 2015 [extended] Author notification: Friday, 26 June, 2015 [unchanged] Final copy due: Sunday, 19 July, 2015 [unchanged] Workshop date: September 4, 2015 [unchanged] Apologies for any duplicates you may receive. CALL FOR PAPERS =============== Fourteenth ACM SIGPLAN Erlang Workshop ----------------------------------------------------------- Vancouver, Canada, September 4, 2015 Satellite event of the 20th ACM SIGPLAN International Conference on Functional Programming (ICFP 2015) August 30 - September 5, 2015 Erlang is a concurrent, distributed functional programming language aimed at systems with requirements of massive concurrency, soft real time response, fault tolerance, and high availability. It has been available as ope
Categories: Incoming News

NoOO languages

haskell-cafe - Wed, 05/20/2015 - 9:18am
Could we mimic the marketing success of NoSQL databases by branding functional languages as NoOO (or even NoIO)?
Categories: Offsite Discussion