Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

January 02 2014

E.W. Dijkstra Archive: The next fifty years

In short, the opportunity to simplify will remain with us for many years, and I propose, in order to maintain our sanity and our enthusiasm, that we welcome the long duration of that opportunity, rather than to suffer from impatience each time the practitioners deride and discard our next successful pilot project as a toy problem: they will do so, even if you have achieved what, shortly before, they had confidently predicted to be impossible.

E.W. Dijkstra Archive: The next fifty years

In short, the opportunity to simplify will remain with us for many years, and I propose, in order to maintain our sanity and our enthusiasm, that we welcome the long duration of that opportunity, rather than to suffer from impatience each time the practitioners deride and discard our next successful pilot project as a toy problem: they will do so, even if you have achieved what, shortly before, they had confidently predicted to be impossible.

December 18 2013

Mio: A High-Performance Multicore IO Manager for GHC

Evaluations of the GHC RTS [...] show that it does not scale well on multicore processors, leading to poor performance of many network applications that try to use lightweight Haskell threads. In this paper, we show that the GHC IO manager, which is a crucial component of the GHC RTS, is the scaling bottleneck. Through a series of experiments, we identify key data structure, scheduling, and dispatching bottlenecks of the GHC IO manager. We then design a new multicore IO manager named Mio that eliminates all these bottlenecks. Our evaluations show that the new Mio manager improves realistic web server throughput by 6.5x and reduces expected web server response time by 5.7x. We also show that with Mio, McNettle (an SDN controller written in Haskell) can scale effectively to 40+ cores, reach a throughput of over 20 million new requests per second on a single machine, and hence become the fastest of all existing SDN controllers.

Mio: A High-Performance Multicore IO Manager for GHC

Evaluations of the GHC RTS [...] show that it does not scale well on multicore processors, leading to poor performance of many network applications that try to use lightweight Haskell threads. In this paper, we show that the GHC IO manager, which is a crucial component of the GHC RTS, is the scaling bottleneck. Through a series of experiments, we identify key data structure, scheduling, and dispatching bottlenecks of the GHC IO manager. We then design a new multicore IO manager named Mio that eliminates all these bottlenecks. Our evaluations show that the new Mio manager improves realistic web server throughput by 6.5x and reduces expected web server response time by 5.7x. We also show that with Mio, McNettle (an SDN controller written in Haskell) can scale effectively to 40+ cores, reach a throughput of over 20 million new requests per second on a single machine, and hence become the fastest of all existing SDN controllers.

December 07 2013

Dependently Typed Programming in Agda

In Hindley-Milner style languages, such as Haskell and ML, there is a clear separation between types and values. In a dependently typed language the line is more blurry – types can contain (depend on) arbitrary values and appear as arguments and results of ordinary functions.

Dependently Typed Programming in Agda

In Hindley-Milner style languages, such as Haskell and ML, there is a clear separation between types and values. In a dependently typed language the line is more blurry – types can contain (depend on) arbitrary values and appear as arguments and results of ordinary functions.

February 20 2013

February 18 2013

January 19 2013

Simonpj/Talk:FunWithTypeFuns - HaskellWiki

Ole Kiselyov, Simon Peyton Jones, Chung-chieh Shan: Tony Hoare has always been a leader in writing down and proving properties of programs. To prove properties of programs automatically, the most widely used technology today is by far the ubiquitous type checker. Alas, static type systems inevitably exclude some good programs and allow some bad ones. This dilemma motivates us to describe some fun we've been having with Haskell, by making the type system more expressive without losing the benefits of automatic proof and compact expression.

Simonpj/Talk:FunWithTypeFuns - HaskellWiki

Ole Kiselyov, Simon Peyton Jones, Chung-chieh Shan: Tony Hoare has always been a leader in writing down and proving properties of programs. To prove properties of programs automatically, the most widely used technology today is by far the ubiquitous type checker. Alas, static type systems inevitably exclude some good programs and allow some bad ones. This dilemma motivates us to describe some fun we've been having with Haskell, by making the type system more expressive without losing the benefits of automatic proof and compact expression.

January 17 2013

IO inside

The following text is an attempt to explain the details of Haskell I/O implementations.

IO inside

The following text is an attempt to explain the details of Haskell I/O implementations.

January 03 2013

Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell

Simon Peyton Jones: This tutorial focuses on explaining the "bits round the edges" of Haskell programs, rather than the beautiful functional core we all know and love.

Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell

Simon Peyton Jones: This tutorial focuses on explaining the "bits round the edges" of Haskell programs, rather than the beautiful functional core we all know and love.

December 26 2012

A History of Haskell - Being Lazy With Class

Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler - This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

A History of Haskell - Being Lazy With Class

Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler - This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

Theorems for free!

Philip Wadler - From the type of a polymorphic function we can derive a theorem that it satisfies. Every function of the same type satisfies the same theorem. This provides a free source of useful theorems, courtesy of Reynolds' abstraction theorem for the polymorphic lambda calculus.

Theorems for free!

Philip Wadler - From the type of a polymorphic function we can derive a theorem that it satisfies. Every function of the same type satisfies the same theorem. This provides a free source of useful theorems, courtesy of Reynolds' abstraction theorem for the polymorphic lambda calculus.

The Downfall of Imperative Programming

Bartosz Milewski: "After dedicating many years of my life to C++ and imperative languages, I decided to switch to functional programming and try to convince as many programmers as I can to make the same decision."

The Downfall of Imperative Programming

Bartosz Milewski: "After dedicating many years of my life to C++ and imperative languages, I decided to switch to functional programming and try to convince as many programmers as I can to make the same decision."
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.