Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Y

    Yann Esposito

    yannesposito.com · Personal blog · on HN since 2010

    Yann Esposito writes programming tutorials, mainly on Haskell and Vim, plus posts on web development and site generators.

    Visit blogRSSHN submissions
    ProgrammingLanguages & CompilersOpen Source & Linux
    What HN says

    HN commenters repeatedly recommend his Learn Vim Progressively guide as the best way to start, and also link his Haskell material.

    Stats for nerds
    47HN people shared it
    34linked in comments
    1.3Kstory points
    Aug 2023last shared
    2011people per year2023

    Top posts on HN

    1. 1
      Learn Vim Progressively
      14 people · 685 points · first shared 2011 · 113 comments on HN
    2. 2
      Learn Haskell Fast and Hard
      16 people · 364 points · first shared 2012 · 126 comments on HN
    3. 3
      Haskell web programming (a simple tutorial)
      3 people · 209 points · first shared 2012 · 60 comments on HN
    4. 4
      Haskell opengl mandelbrot
      2 people · 28 points · first shared 2012 · 2 comments on HN
    5. 5
      Holy Haskell Project Starter
      4 people · 8 points · first shared 2013 · 1 comments on HN
    6. 6
      Vim as IDE
      1 person · 7 points · first shared 2015 · Discussion on HN
    7. 7
      Programming Language Experience
      1 person · 7 points · first shared 2011 · Discussion on HN
    8. 8
      Holy Haskell Project Starter - Learn how to start a new Haskell project
      2 people · 5 points · first shared 2013 · Discussion on HN
    9. 9
      Rational Web Framework Choice
      1 person · 5 points · first shared 2013 · 1 comments on HN
    10. 10
      Cappuccino vs jQuery
      1 person · 4 points · first shared 2010 · 1 comments on HN

    What HN people wrote when they linked it

    • qixxiqApr 2012

      The Yesod method does seem interesting (best explanation I could find of it is at [1]. Perhaps that would be a better plan, although you could look at the encoding syntax as strongly typed strings. If you look at the 'boldheart' example once the <strong>&lt;3</strong> is saved as an "type html" string, it is not re-encoded when placed inside another "type html" string.

      As for the "yet-another" argument - I know. Convincing developers to switch to a language that is not leaps-and-bounds ahead of their choice language is hard to impossible. The reality is that I'm simply not happy with any of my options and decided it would be an interesting experiment to write my own. I'm not planning on writing any serious applications in it myself -- unless somehow it can pick up a community.

      The remixing though I find interesting. This is simply an attempt at making something "better" than the other options. Languages get stuck with broken features in order to maintain backwards compatibility. I see this as a way to take the good parts of any languages and turn it into something I would like to use. I'd rather stick with what works.

      [1] http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/

    • nnqApr 2014

      I sincerely recommend against LYAH! It takes sooooooooo loooooong to get to the interesting bits that actually make Haskell worth learning an has so many try-to-be-funny examples that it makes you run away screaming... I tried going through it but it was literally oscillating between putting my mind to sleep and making wish to grab a chainsaw :) And the "humor" and "pretty pictures" don't help either... they were more like poignant guide to ruby, something that you either love or they annoy the hel out of you (this was for me), but either way they don't help the learning experience at all.

      I suggest HFH ("Haskell Fast & Hard") as the introductory tutorial to start with instead. You can pick from 2 formats:

      - http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ - static all-in-one-page format with pretty pictures

      - https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/haskell-fast-hard - split version, but with the ability to open snippets in their web based IDE

      ...after this, Real World Haskell is probably the next step: http://book.realworldhaskell.org/read/ (I'm still at this step).

    • muriculaJan 2016

      I am very much the same way. What I eventually did to get a foothold on the language was power through the first few chapters of 'learn you a haskell', and read 'haskell the hard way' and then sat down and typed out a tutorial implementing the Kaleidoscope teaching language in Haskell [2].

      It was slow at first, and there was a lot of "now what's this arrow doing here?", but I would go back to the books when I had questions and eventually things started making sense. That won't work for everyone, but maybe it will work for you too?

      The folks in #haskell are generally pretty helpful, and delightfully easy to troll.

      [2]: http://www.stephendiehl.com/llvm/
      [1]: http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/

    • SkyMarshalApr 2012

      From the Learn More link at the bottom [1]:

      > Note the awesome Shakespearean inspired name convention. Another good reason to use yesod.

      Lol.

      > Until here I believe it goes in the right direction. Even if I believe the real future is by generating HTML pages from the client (using javascript) and server limited to serve JSON (or XML, or any object representation system).

      This is a little unclear. Do you mean, prior to Yesod you thought web development was heading in the right direction, but Yesod made you realize there was a much better way, even if the future is HTML5 rich web apps with the app server as a JSON/XML API endpoint?

      1. http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/

    • leggomylibroOct 2017

      I like the "Learn Vim Progressively" guide. It starts with just a few commands, and introduces new ones in small batches when you feel comfortable with the ones you're using.

      http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

      I'd add windows to your list of things to take a look at once you feel comfortable with the editor. You can split your workspace with ctrl+w followed by 'v' (vertical) or 's' (split). Then you can switch between those panes by pressing ctrl+w twice, or ctrl+w followed by hjkl or an arrow key. You can also resize the windows and stuff, it's great for things like viewing a header and source file at the same time.

    • astrofinchAug 2011

      I mastered most of the more commonly known motions, including most of the ones on this page (http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/) and some that aren't on it. It didn't seem to be delivering the promised efficiency improvements, so now I only use it for git commit messages, line editing in zsh, and file processing with macros (which are pretty nice--best way I know of to reformat data; much easier than writing a script). I don't think it was worth it--should have shipped product instead and used nano for my command line editing needs.

    Related

    FP Complete Blogfpcomplete.com201 people

    Monads and GATs in Nightly Rust

    FP Complete Blog
    Company · last shared 2025
    Edward Z. Yangblog.ezyang.com165 people

    PyTorch Internals: Ezyang's Blog

    Edward Z. Yang
    Personal · last shared 2026
    Haskell for Allhaskellforall.com190 people

    The category design pattern

    Haskell for All
    Personal · last shared 2026
    Alexis Kinglexi-lambda.github.io172 people

    Parse, Don’t Validate

    Alexis King
    Personal · last shared 2026
    Jasper Van der Jeugtjaspervdj.be62 people

    Turnstyle – An esoteric, graphical functional language

    Jasper Van der Jeugt
    Personal · last shared 2026
    Valued Lessonsvaluedlessons.com19 people

    Monads in Python (with nice syntax)

    Valued Lessons
    Personal · last shared 2019
    Justin Leblog.jle.im36 people

    Typesafe Neural Networks in Haskell with Dependent Types

    Justin Le
    Personal · last shared 2026
    Yogthosyogthos.net45 people

    Why I'm Productive in Clojure (2013)

    Yogthos
    Personal · last shared 2026