The results are in!! The powerful Haskell community includes researchers who advance the language, and users who apply the language to solve real-world problems. Recently 1100 people took the time to respond to FP Complete's Haskell User Survey. Here are the key results. See the full report by clicking here. Executive Summary Haskell is thriving in a wide range of real-world uses, and growing rapi
I’m pleased to announce the release of a Haskell library for connecting to SQL Server databases via ODBC. Features The library is very simple, but what it does support should be high quality: Correct Unicode handling. All text is handled through the Text type. The test suite randomly generates Unicode to send to the server and query back in a roundtrip. A very simple API: simply connect, execute o
Streaming data is a problem domain I’ve played with a lot in Haskell. In Haskell, the closest we come to built-in streaming data support is laziness-by-default, which doesn’t fully capture streaming data. (I’m not going into those details today, but if you want to understand this better, there’s plenty of information in the conduit tutorial.) Real streaming data is handled at the library level in
The exceptions package provides three typeclasses for generalizing exception handling to monads beyond IO: MonadThrow is for monads which allow reporting an exception MonadCatch is for monads which also allow catching a throw exception MonadMask is for monads which also allow safely acquiring resources in the presence of asynchronous exceptions For reference, these are defined as: class Monad m =>
Haskell is an amazing language. With its extremely powerful type system and a pure functional paradigm it prevents programmers from introducing many kinds of bugs, that are notorious in other languages. Despite those powers, code is still written by humans, and bugs are inevitable, so writing quality test suites is just as important as writing an application itself. Over the course of history bugg
Last week, I was at DevConTLV X and attended a workshop by Aaron Cruz. While the title was a bit of a lie (it wasn’t four hours, and we didn’t do a chat app), it was a great way to see some basics of concurrency in different languages. Of course, that made me all the more curious to add Haskell to the mix. I’ve provided multiple different implementations of this program in Haskell, focusing on dif
The content below is still correct, but has been absorbed into the more comprehensive safe exception handling tutorial document instead. I recommend reading that, which provides more information and more up-to-date library references. Over the years, I’ve written a number of different documents, tutorials, comments, and libraries on how to do proper exception handling in Haskell. Most of this has
In our last blog post we showed you the new docker init executable pid1. What if we wanted to use our shiny new pid1 binary on a CentOS Docker image but we compiled it on Ubuntu? The answer is that it wouldn’t likely work. All Linux flavors package things up a little differently and with different versions and flags. If we were to compile pid1 completely static it could be portable (within a given
Work motivation While working for various clients that needed fast binary serialization, we had discovered that the binary and cereal packages are both inefficient and so we created the store package. In the high-frequency trading sector, we had to decode and encode a binary protocol into Haskell data structures for analysis. During this process it was made apparent to us that while we had been at
A couple months ago, Michael Snoyman wrote a blogpost describing an experiment in an efficient implementation of binary serialization. Since then, we’ve developed this approach into a new package for efficient serialization of Haskell datatypes. I’m happy to announce that today we are putting out the initial release of our new new store package! The store package takes a different approach than mo
We do a lot of work at FP Complete in the realm of multi-machine computing for our customers. One of the things we need to do efficiently to get good speedups from adding more machines is optimizing serialization. Since our multi-machine work often revolves around scientific and mathematical computing, we primarily need to make sure that there is efficient serialization of primitive data types (li
Status of School of Haskell 2.0 Earlier this year, I wrote a blogpost about our plans for the next version of the School of Haskell. SoH is a community service and project to make it possible to use interactive snippets of Haskell on any website, in particular on schoolofhaskell.com. Today, we are open sourcing the SoH 2.0 repositories! We’ve also retired FP Haskell Center, and SoH pages that were
You can use Stack and the Stackage snapshots with GHC 7.10.3 right now! By default (since v0.1.4), Stack insists that the minor version of GHC matches the version that was used to build the Stackage snapshot. This means that using the current LTS 3.x and nightly snapshots will require GHC 7.10.2, even if GHC 7.10.3 is installed (as this is the safest option for reproducability). However, this beha
Kubernetes (AKA “k8s”) From kubernetes.io: Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of “labels” and “pods”, it groups the containers which make up an application into logical units for easy manageme
This post shows how we can render automata on the web using a number of reusable components from the Haskell ecosystem. In this part we'll explore how to make extensible folds for hashing, explore the connection between Gabriel Gonzales' `foldl` library and Moore machines, discover a Comonad, and concoct a way to generate custom PNGs by leveraging pieces of the existing Haskell ecosystem.
The stack build tool is a cross-platform program for developing Haskell projects. It is aimed at Haskellers both new and experienced. I recently put together an in-depth guide to using stack for Haskell development. EDIT The content below is now significantly outdated. We strongly recommend reading the guide on the Stack website. The official home for this document is in the stack repository. Belo
TL;DR: if you just want to get started use stack‘s Docker support, see the Docker page on the stack wiki. The rest of this post gives background on the benefits, implementation, and reasons for our choices. A brief history Using LXC for containerization is an integral component of the FP Complete Haskell Center and School of Haskell, so lightweight virtualization was not new to us. We started tent
Interactive code snippets not yet available for SoH 2.0, see our Status of of School of Haskell 2.0 blog post perf and low-level Haskell programsTL;DR: perf can be particularly helpful when profiling performance critical sections of your programs. We show how through an example. The perf_events framework in the linux kernel, together with the perf userland tools, can be used to profile application
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く