### Gabriel Gonzalez

Discussion -A URL for every type, constructor, and term

22

7

3 comments

Alex Carter

+

2

3

2

3

2

I feel like I've just come back from the future after reading that post.

Add a comment...

Start a hangout

Gabriel Gonzalez

1,008 followers|346,290 views

AboutPostsPhotosYouTube

A URL for every type, constructor, and term

22

7

3 comments

Alex Carter

+

2

3

2

3

2

I feel like I've just come back from the future after reading that post.

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...

11

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

Add a comment...

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...

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...

15

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.

46

6

12 comments

Gabriel Gonzalez

+

1

2

1

2

1

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...

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...

21

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...

26

1

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...

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...

17

2

2 comments

Thanks!

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/

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/

16

1

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

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...

Basic Information

Gender

Male

Links

YouTube