News aggregator

DSLDI: 3rd Workshop on Domain-Specific Language Designand Implementation

General haskell list - Tue, 03/03/2015 - 2:02pm
********************************************************************* FIRST CALL FOR TALK PROPOSALS DSLDI 2015 Third Workshop on Domain-Specific Language Design and Implementation July 7, 2015 Prague, Czech Republic Co-located with ECOOP ********************************************************************* Deadline for talk proposals: 2nd of April, 2015 If designed and implemented well, domain-specific languages (DSLs) combine the best features of general-purpose programming languages (e.g., performance) with high productivity (e.g., ease of programming). *** Workshop Goal *** The goal of the DSLDI workshop is to bring together researchers and practitioners interested in sharing ideas on how DSLs should be designed, implemented, supported by tools, and applied in realistic application contexts. We are both interested in discovering how already known domains such as graph processing or machine learning can be best supported by DSLs, but also in exploring n
Categories: Incoming News

Lifting Writer to ListT

haskell-cafe - Tue, 03/03/2015 - 1:03pm
Hi all, Suppose I have this monad stack: type MyMonad = ListT (Writer W) Where ListT is done right (from the list-t package). What I want is a nondeterministic computation where each alternative logs to the same writer, and indeed the type of runWriter . toList is MyMonad a -> ([a], w) so I think I got it right. What I would like to do is to write an instance of MonadWriter for this monad, but I'm stuck with the implementation of listen. Just using lift won't work, and indeed I see that MonadWriter lifting instances for other monads (e.g MaybeT), are a bit convoluted. Could someone explain me a little bit what should I do (what listen should do in a ListT in the first place) Thank you :) Nicola
Categories: Offsite Discussion

Am I using Parsec correctly?

haskell-cafe - Tue, 03/03/2015 - 12:00pm
Categories: Offsite Discussion

Error -> Except migration

libraries list - Tue, 03/03/2015 - 9:32am
Hi, In recent versions of transformers, 'ErrorT' has been deprecated in favour of 'ExceptT': This doesn't seem like a trivial like-for-like replacement since the implementation of 'fail' is different - in ErrorT it produces an exception within the ErrorT itself, and in ExceptT it just calls fail in the underlying monad. Is there any guidance or simple trick to find if a program is relying on the old behaviour? Otherwise migrating could be rather painful/dangerous, particularly as tests often don't cover exceptional cases well. I've spent a while searching for past discussion of the change, but haven't found anything, so please do point me at anything relevant if this has already been discussed. Cheers, Ganesh
Categories: Offsite Discussion

Threepenny-gui: How to create an event that triggers when a computation completes

Haskell on Reddit - Tue, 03/03/2015 - 8:58am

I want to create a game where the user plays the computer. The computer runs an algorithm to compute it's next move which takes some time, so I need an event (and/or behavior) that lets me know when the algorithm is done running. Is this possible in three-penny gui?

submitted by martingalemeasure
[link] [3 comments]
Categories: Incoming News

Happy Haskell Programming - Tue, 03/03/2015 - 8:31am
Categories: Offsite Blogs

Happy Haskell Programming - Tue, 03/03/2015 - 8:31am
Categories: Offsite Blogs

Difficulty making a TH template for a monadicexpression

haskell-cafe - Tue, 03/03/2015 - 8:05am
I’m at wits end as to how to express a monadic expression in TH. I’ll give here two ways to express a non TH version, and then a TH expression that does not quite work. It generates code that compiles, but it does not evaluate properly like the non TH version. Fundamentally, the problem is use of a recursive function using quasi quoting similar to what is in the standard Show example. Perhaps someone will have an idea on how to fix it. I have made several attempts and failed. Non TH Example A: Do notation ————————————— let r = BG.runBitGet flags (do let bits = [] v <- BG.getBit bits <- return $ if v then I1_7:bits else bits v <- BG.getBit bits <- return $ if v then I1_6:bits else bits v <- BG.getBit bits <- return $ if v then I1_5:bits else bits v <- BG.getBit bits <- return $ if v then I1_4:bits else bits v <- BG.getBit bits <- return $ if v then I1_3:bits else bit
Categories: Offsite Discussion

Dimitri Sabadie: al was shipped

Planet Haskell - Tue, 03/03/2015 - 5:45am

al was shipped. It includes several improvements, among them:

  • fix CPU architecture issues ;
  • since version 0.1.1, the stdcall flag is available ;
  • alcIsExtensionSupported was renamed to alcIsExtensionPresent as the former just doesn’t exist – sorry for the typo.

The stdcall flag might be a great ally for people compiling on a 32-bit Windows. For people on 64-bit Windows, the default is sufficient – and for UNIX systems, you don’t have anything special to do.

I’m also looking for hackers to test the library on the most OS as possible. I have issues with it (see this) and I’d like to hear from people. Even though I have that issue, al compiles well and runs great in ghci, which is weird regarding the fact running an application compiled with al silently crashes at startup.

About paths…

That’s a nasty issue I don’t really know how to correctly fix. Up to now, default OpenAL 1.1 SDK installation are detected for Windows. For people with custom installation and other systems, you have to pass the path of the SDK by hand. I know, it’s a pain in the ass, but I don’t want to depend on tools like pkg-config as that tool is not available everywhere – getting it on Windows is not that simple.

Categories: Offsite Blogs

Philip Wadler: Philosophers

Planet Haskell - Tue, 03/03/2015 - 4:58am

This may come in handy next time I need to lecture on Russell's Paradox. From SMBC.
Categories: Offsite Blogs

FP Complete: Hiring: Systems Engineer

Planet Haskell - Tue, 03/03/2015 - 4:45am

FP Complete is a small, fast-growing software company focused on software development tools and data analysis/modeling tools. We are the leading provider of commercial development tools for the Haskell language, with advanced users in finance, applied science & medicine, and Internet/mobile services.

As a modern distributed company, we seek the best staff from anywhere and allow them to telecommute. Therefore this position is open to applicants from all locations, and relocation is not required. Work from home is encouraged.

We provide a positive, technology-driven environment for smart, focused, self-managing people who like working with bright colleagues and users on a wide variety of design and implementation tasks.

We are looking to expand our engineering team with an additional systems engineer. This position will focus on system administration, with many opportunities to grow skills into larger scale systems design and development tasks.

This is a full-time, long-term contract position.

Primary responsibility

The primary responsibility of this role will be administration of a regulated software project. We are looking for some who can demonstrate trustworthiness in operating a high-stakes, high-reliability service. This position will be process oriented, and will have a large focus on correctness of implementation. Responsibilities will include managing cluster computing solutions for large, domain-specific cloud compute jobs, as well as management of clusters of machines hosting high-availability applications and web services.

This position will offer the opportunity to work on the production deployment of a high-performance (HPC) scientific processing application. You would be working hand-in-hand with other engineers writing Haskell libraries for distributed workload across this cluster and web services.

Secondary responsibility

This position will offer additional side projects which allow for more creative implementations, many of which will be high visibility as part of Haskell community infrastructure. This includes working with developers to create well-hosted technology demonstrations and improving online resources for learning Haskell.

  • AWS (EC2, VPC, IAM, RDS, ElastiCache)
  • Ubuntu server
  • Experience with managing high-availability systems
  • Shell scripting and automation of routine tasks
  • Strong organizational skills
  • Experience hosting SaaS systems
Nice to have:
  • Azure or other IaaS
  • Postgres
  • Jenkins
  • Docker
  • CoreOS
  • Service Discovery and HA architectures
  • Intrusion detection/prevention
  • Backup/restore
  • MediaWiki management
  • Configuration management

Additionally, as we are a functional programming shop, we are most interested in candidates who are intrigued by functional programming, as functional programming is a strong part of our engineering team culture.

If you are interested in applying for this position, please send your CV or resume to

Categories: Offsite Blogs

C2HS parse error on Windows ...

haskell-cafe - Tue, 03/03/2015 - 2:13am
Hi all, c2hs runs into the following error on all of my .chs files, but only on Windows: c:\\program files\\haskell platform\\2014.2.0.0\\mingw\\bin\\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include/stddef.h:20: (column 11) [ERROR] >>> Syntax error ! The symbol `__attribute__' does not fit here. My c2hs version is: C->Haskell Compiler, version 0.23.1 Snowbounder, 31 Oct 2014 build platform is "x86_64-mingw32" <1, True, True, 1> This is the command being run: "c:\Users\deech\AppData\Roaming\cabal\bin\c2hs.exe" "--cpp=c:\Program Files\Haskell Platform\2014.2.0.0\mingw\bin\gcc.exe" "--cppopts=-E" "--cppopts=-D__GLASGOW_HASKELL__=708" "--cppopts=-Dmingw32_BUILD_OS=1" "--cppopts=-Dx86_64_BUILD_ARCH=1" "--cppopts=-Dmingw32_HOST_OS=1" "--cppopts=-Dx86_64_HOST_ARCH=1" "--cppopts=-I./c-src" "--cppopts=-I./" "--cppopts=-IC:/MinGW/include" "--cppopts=-IC:\Users\deech\Downloads\fltkhs-" "--cppopts=-IC:\Users\deech\Downloads\fltkhs-"
Categories: Offsite Discussion

New Functional Programming Job Opportunities

haskell-cafe - Mon, 03/02/2015 - 7:00pm
Here are some functional programming job opportunities that were posted recently: Senior Software Engineer at McGraw-Hill Education Engineering Manager (OCaml or Haskell under Linux) at FireEye Cheers, Sean Murphy
Categories: Offsite Discussion has been accepted into GSoC 2015!

Haskell on Reddit - Mon, 03/02/2015 - 1:49pm

I'm pleased to announce has been accepted as a mentoring organization for Google Summer of Code 2015.

We now have a couple of weeks before the student application opens.

I invite folks to continue participating in the brainstorming thread and refining, submitting and expressing interest on entries in the trac.

submitted by edwardkmett
[link] [12 comments]
Categories: Incoming News