Top all-time · #1591
Inside ocharles
Personal blog · ocharles.org.uk/blogprogramming
Inside ocharles is a personal blog at ocharles.org.uk about programming. Since 2012, 45 different Hacker News readers have linked it 70 times, most often “24 Days of GHC Extensions”. The last post was in 2022, but the archive is still widely read.
Too few sampled comments (27) to say how often HN recommends it.?
Why HN links it
HN readers link Oliver Charles's Haskell blog, especially his '24 Days of Hackage' and GHC extensions series, plus posts on view patterns, Template Haskell, Nix and Static Pointers. Several comments praise them.
- Recommended for · 8 comments
- Called useful, understandable or great: 24 Days of Hackage, Template Haskell post, GHC extensions series, tic-tac-toe tutorial
Summarised by Claude from a sample of 27 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- 24 Days of GHC Extensions6 people · 6 mentions · first linked 2014-12-09
- How I develop with Nix6 people · 6 mentions · first linked 2014-08-27
- Realtime statistics of Haskell programs4 people · 4 mentions · first linked 2012-12-15
- Asteroids & Netwire3 people · 3 mentions · first linked 2013-08-19
- /blog/guest-posts/2014-12-23-static-pointers.html2 people · 3 mentions · first linked 2015-01-19
- /blog/2 people · 2 mentions · first linked 2013-03-05
- /blog/2 people · 2 mentions · first linked 2017-02-17
- Persistent & esqueleto — querying databases in Haskell2 people · 2 mentions · first linked 2013-12-06
- Who Authorized These Ghosts?2 people · 2 mentions · first linked 2019-08-15
- Self-Memoizing HTML Rendering via Mutually Recursive Data Types2 people · 2 mentions · first linked 2014-11-12
What Hacker News says?
Ghost of Departed proofs provides a fairly trivial way to generate proofs from arbitrary code and track them in the type system. See this article for example: https://ocharles.org.uk/blog/posts/2019-08-09-who-authorized... This post shows a simple "positive" assertions, without any combinatorial logic associated with the proofs. But this is similar to programming by contracts.
Comment linking /blog/posts/2019-08-09-who-authorized-these-ghosts.html
on “Parse, Don’t Validate”Submitted How I develop with Nix as a story · 144 points
HN discussionThe solution in Haskell is quite clean, I believe. fizzBuzz n | n `mod` 15 == 0 = "FizzBuzz" | n `mod` 3 == 0 = "Fizz" | n `mod` 5 == 0 = "Buzz" | otherwise = show n main = mapM_ (print . fizzBuzz) [1..100] I agree with you about generalizing pattern matching for less simple cases. Your example brought to mind view patterns, about which Oliver O'Charles had a nice writeup recently [1]. Nifty little extension. [1] ht…
Comment linking /blog/posts/2014-12-02-view-patterns.html
on “Streem – a new programming language from Matz”Submitted Monad transformers, free monads, mtl, laws and a new approach as a story · 95 points
HN discussionI'm sorry, I don't understand or maybe I wasn't clear. These extensions change the meanings (semantics and syntax) of Haskell programs accepted by the compiler. A program which would normally terminate using Haskell's ordinary lazy semantics might not terminate when using the Strict extension that changes the default semantics to less lazy. As far as I can tell from blogs like [1], the other language extensions also…
Comment linking /blog/
on “Why I’m Learning Perl 6”Submitted Self-Memoizing HTML Rendering via Mutually Recursive Data Types as a story · 65 points
HN discussionExcept in Haskell you can build ekg right into your server. http://ocharles.org.uk/blog/posts/2012-12-11-24-day-of-hacka...
Comment linking /blog/posts/2012-12-11-24-day-of-hackage-ekg.html
on “What it's like to use Haskell”Submitted 24 Days of Hackage: pandoc as a story · 64 points
HN discussionHowdy! I've been using https://github.com/jspahrsummers/ObjectiveHaskell/ as my bridge between the two worlds (with some modifications for iOS that I'll be posting soon). Haskell has a wonderful FFI that lets you easily call C/Objective-C from Haskell and vice versa. There's also Manuel Chakravarty's extremely exciting "Inline Objective-C" project (coming soon) that allows you to embed Objective-C code directly into…
Comment linking /blog/posts/2013-08-18-asteroids-in-netwire.html
on “iPhone, meet Haskell”Submitted Solving Clasical AI Planning Problems with Fast Downward and Haskell as a story · 62 points
HN discussionNice. Here's one I always remember (written in Haskell) - https://ocharles.org.uk/ OCharles originally did it in Perl/Moose and with a module of mine (Acme::URL) which is how I stumbled across the CV in the first place - https://web.archive.org/web/20120119150530/http://ocharles.o...
Comment linking /
on “Resume in C”Submitted Realtime statistics of Haskell programs as a story · 59 points
HN discussionI've found the "24 Days of Hackage" series incredibly useful - each day is a brief introduction to a useful Haskell library, many of which show off features of Haskell that aren't available in 'standard' languages. Even better, each one comes with working example source on GitHub, so you've got a starting point if you do want to experiment. http://ocharles.org.uk/blog/ (I'm a Haskell beginner, currently experimentin…
Comment linking /blog/
on “GHC 7.8.1 released”Submitted 24 Days of GHC Extensions: Welcome as a story · 12 points
HN discussionNot to bombard you with too much at once, but one interesting CloudHaskell-related extension that's landing in GHC 7.10 is Static Pointers: safe references to "static" code (constant values, functions, etc.) that can be passed between running instances of a program. https://ocharles.org.uk/blog/guest-posts/2014-12-23-static-p...
Comment linking /blog/guest-posts/2014-12-23-static-pointers.html
on “I think I've solved the Haskell records problem”Submitted A Comparison Between Perl and Haskell as a story · 12 points
HN discussionThe Nix manual is a good start: http://nixos.org/nix/manual/#chap-quick-start Then there are a lot tutorial about setting up a development environment for a particular language. See: go: http://lethalman.blogspot.it/2015/02/developing-in-golang-wi... haskell: https://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-... python: http://datakurre.pandala.org/2015/10/nix-for-python-develope... node.js: http://sanderv…
Comment linking /blog/posts/2014-02-04-how-i-develop-with-nixos.html
on “Node v6.6.0”Submitted Engine.IO and Socket.IO for Haskell as a story · 7 points
HN discussionI've been teaching myself Template Haskell recently, and found https://ocharles.org.uk/blog/guest-posts/2014-12-22-template... to be a really understandable explanation. It specifically doesn't cover quasiquotation, but it has many links to things which do.
Comment linking /blog/guest-posts/2014-12-22-template-haskell.html
on “Programming R at native speed using Haskell”Submitted Interpreting Haskell Inside PostgreSQL With Singleton Types as a story · 4 points
HN discussionI spent some time writing Asteroids in netwire - a functional reactive programming library in Haskell - in my free time over a few evenings. I blogged about this at http://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-ne... - and I don't think it pretends to be OO. It was a radically different style, and I left feeling fairly convinced that FRP is a fantastic model for realtime interactions
Comment linking /blog/posts/2013-08-18-asteroids-in-netwire.html
on “How Class-based Programming Sucks (2011)”Submitted How I Develop with Nix as a story · 4 points
HN discussionI love haskell but I wish there was less blogging about why everyone else should use it and more building things that will make people want to use it. The community is extraordinarily friendly to beginners, as long as you only count how they interact with beginners. If you count having resources that allow beginners to figure something out without having to ask then they are extraordinarily unfriendly. If I find a p…
Comment linking /blog/
on “Why Haskell Is Worth Learning”Submitted 24 Days of GHC Extensions as a story · 3 points
HN discussionI hear NixOS (linux distro based on functional principles) solves the package management problem for Haskell. * https://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-... * https://www.reddit.com/r/haskell/comments/1vghgw/nixos_a_gnu... * https://nixos.org/~eelco/pubs/nixos-jfp-final.pdf * http://fuuzetsu.co.uk/blog/posts/2014-06-28-My-experience-wi...
Comment linking /blog/posts/2014-02-04-how-i-develop-with-nixos.html
on “The Four Flaws of Haskell”Submitted Haskell's async as a story · 3 points
HN discussionYou have misunderstood me. I know cabal - with and without sandbox. I said am amazed that sandboxes or nix tools are necessary in Haskell _at all_ while every other language which uses a package manager has one that works out of the box without any hassle and without any sandbox tricks. > Nix and NixOS are two completely unrelated projects, that not even be recommendable in a development environment. Other Haskell d…
Comment linking /blog/posts/2014-02-04-how-i-develop-with-nixos.html
on “Haskell Is Exceptionally Unsafe (2012)”Submitted Tic-tac-toe in Haskell as a story · 3 points
HN discussion> Static types are not powerful enough to cross remote boundaries. ? Is this related: https://ocharles.org.uk/blog/guest-posts/2014-12-23-static-p...
Comment linking /blog/guest-posts/2014-12-23-static-pointers.html
on “Dueling Rhetoric of Clojure and Haskell”Submitted Asteroids & Netwire as a story · 3 points
HN discussion