Profile

Cover photo
Gabriel Gonzalez
817 followers|299,281 views
AboutPostsPhotosYouTube

Stream

 
A URL for every type, constructor, and term
17
5
Jutaro jnf's profile photoPhilip Thrift's profile photoHilmar Hoffmann's profile photoStephen Pimentel's profile photo
3 comments
 
I feel like I've just come back from the future after reading that post.
Add a comment...
 
This post discusses the intersection of mathematics and model-view-controller
I'm releasing the mvc library for model-view-controller (MVC) programming in Haskell. I initially designed this library with games and user interfaces in mind, but the larger goal of this library is to provide a mathematicall...
25
1
Lone Ffog's profile photo
Add a comment...
 
This post explains how I optimize `pipes` using rewrite rules and short cut fusion.  Some of these innovations have already been adopted by `conduit`, too, so make sure to upgrade to get improved performance.
Rewrite rules are a powerful tool that you can use to optimize Haskell code without breaking backwards compatibility. This post will illustrate how I use rewrite rules to implement a form of shortcut fusion for my pipes strea...
15
Add a comment...

Gabriel Gonzalez

Shared publicly  - 
 
An all-atom protein search engine powered by Haskell
This post discusses a Haskell-based project that is the central component of my thesis: a fast, atomic-level structural search engine named "Suns". I will discuss what problem this search engine solves, why I chose Haskell for this project, and what were th...
16
2
Bartosz Milewski's profile photoGabriel Gonzalez's profile photoJim Stuttard's profile photoRyan Hill's profile photo
2 comments
 
Thanks!
Add a comment...

Gabriel Gonzalez

Shared publicly  - 
 
Manual proofs for the `pipes` laws
Out of all of Haskell's streaming libraries, pipes is the only that does not have a test suite. This is because I prefer to use equational reasoning to prove the correctness of pipes . For those new to Haskell, equational reasoning is the use of equations...
Out of all of Haskell's streaming libraries, pipes is the only that does not have a test suite. This is because I prefer to use equational reasoning to prove the correctness of pipes. For those new to Haskell, equational reas...
14
Andy Gill's profile photoGabriel Gonzalez's profile photo
5 comments
 
Neat, I will definitely try it.  However, Agda is still my ultimate goal.
Add a comment...
 
I'm a really big fan of Edward's `lens` library but it lacks tutorial material, so this is my first attempt to explain some common lens idioms.
47
6
changsheng liu's profile photoOliver Braun's profile photoBenjamin Russell's profile photosuhorng Y's profile photo
13 comments
 
Yeah, unfortunately `lens` abuses the type system a lot, which is a shame since the underlying concept actually has a reasonably simple type.
Add a comment...
Have him in circles
817 people
Anish Kumar's profile photo
Dobes Vandermeer's profile photo
Shinichi Higashino's profile photo
Stefan Holzmüller's profile photo
Kai Zhang's profile photo
Anthony Quizon's profile photo
Gergő Érdi's profile photo
Eric Hagen's profile photo
Bartosz Przygoda's profile photo
 
Here is a library for a neat applicative abstraction I found for creating updatable values resembling spreadsheets.  It comes with a companion github repository demonstrating GTK and SDL examples
What if I told you that a spreadsheet could be a library instead of an application? What would that even mean? How do we distill the logic behind spreadsheets into a reusable abstraction? My mvc-updates library answers this q...
20
Add a comment...
 
This is a very concise explanation I wrote up for how the `Functor`, `Applicative`, and `Monad` instances work for `ContT`.
I remember the first time I read the Monad instance for ContT I was so confused. I couldn't fathom how it worked because it was hard to discern the pattern. However, I later discovered that renaming things makes the pattern m...
12
Add a comment...
 
This is a tutorial I wrote up to teach basic tricks for equational reasoning in Haskell.
You may have heard that Haskell is "great for equational reasoning", but perhaps you didn't know precisely what that meant. This post will walk through an intermediate example of equational reasoning to show how you can inter...
19
2
Patrik Jansson's profile photoJim Stuttard's profile photo
Add a comment...

Gabriel Gonzalez

Shared publicly  - 
 
How to reimplement the conduit parsing API in 50 lines of pipes code
Michael's recent blog posts highlighted several deficiences of pipes -based parsing. Particularly, he emphasized that it was incompatible with idioms from the core pipes library, and I agree with that assessment. Programming with pipes-parse is a different ...
Michael's recent blog posts highlighted several deficiences of pipes-based parsing. Particularly, he emphasized that it was incompatible with idioms from the core pipes library, and I agree with that assessment. Programming w...
12
Add a comment...
 
The `pipes-4.0.0` release candidate is out.  Please check it out and please offer feedback.

All four core `pipes` libraries are getting upgraded simultaneously, so for links to all four of their Github repositories and their pre-generated haddocks, please visit the link to the corresponding reddit post which has more detailed information:

http://www.reddit.com/r/haskell/comments/1lh5u7/pipes400_release_candidate/
Haskell-Pipes-Library - Compositional pipelines
15
1
brad clawsie's profile photoPhilip Thrift's profile photo
 
awesome work and great docs!
Add a comment...
 
This is a post I wrote up to demystify the process of building a simple threading system and scheduler.
Haskell differentiates itself from most functional languages by having deep cultural roots in mathematics and computer science, which gives the misleading impression that Haskell is poorly suited to solving practical problems...
25
Paul Brauner's profile photo
2 comments
 
Oh I just saw you mention it at the end of the article. And funnily enough, it's mentioned as the main inspiration in the paper you've been inspired by :)
Add a comment...
People
Have him in circles
817 people
Anish Kumar's profile photo
Dobes Vandermeer's profile photo
Shinichi Higashino's profile photo
Stefan Holzmüller's profile photo
Kai Zhang's profile photo
Anthony Quizon's profile photo
Gergő Érdi's profile photo
Eric Hagen's profile photo
Bartosz Przygoda's profile photo
Links
Basic Information
Gender
Male