Paul Johnson

paulspontifications.blogspot.com · Personal blog · on HN since 2007

Paul Johnson writes about Haskell, functional programming, software patents, and how programmers work.

What HN saysHN links it for the post on Haskell versus C speed, which one commenter could not reproduce, and for the argument that software patents are patents on math.
17HN people shared it
7linked it in comments
12stories submitted
408story points
10 years agolast shared
2007people per year2026

Most-shared posts

  1. 1
    Patent 5,893,120 reduced to mathematical formulae
    4 people · 177 points · first shared 2011 · 39 comments on HN
  2. 2
    When Haskell is Faster than C
    2 people · 162 points · first shared 2013 · 115 comments on HN
  3. 3
  4. 4
    An Under-Appreciated Fact: We Don't Know How We Program
    1 people · 33 points · first shared 2008 · 28 comments on HN
  5. 5
    Is Functional Programming the new Python?
    1 people · 19 points · first shared 2008 · 13 comments on HN
  6. 6
    Bilski says software is not patentable
    1 people · 7 points · first shared 2010 · discussion on HN
  7. 7
    Software has CivEng Envy
    1 people · 3 points · first shared 2013 · 1 comments on HN
  8. 8
    Do software developers have a fiduciary duty to users?
    1 people · 2 points · first shared 2016 · discussion on HN
  9. 9
    Disruptive Innovation and Walmart Linux
    1 people · 1 points · first shared 2007 · discussion on HN
  10. 10
    Managing Risks in Company IT
    1 people · 1 points · first shared 2012 · discussion on HN
  11. 11
    When haskell is faster than c
    1 people · first shared 2013
  12. 12
    Software has civeng envy
    1 people · first shared 2015
  13. 13
    When haskell is faster than c
    1 people · first shared 2013
  14. 14
    Composability and productivity
    1 people · first shared 2009

What HN people wrote when they linked it

TheNewAndy · 2013-01-19
Before you go and rewrite everything in Haskell for speed, it might be worth trying to reproduce the results from here. I tried to and C was much faster than Haskell: http://paulspontifications.blogspot.com.au/2013/01/when-haskell-is-fas…
spookylukey · 2013-01-21
This article starts by totally misrepresenting the original article (http://paulspontifications.blogspot.co.uk/2013/01/when-haskell-is-fast… by saying that it said "Haskell beats out C when it comes to speed". If you bother to read even the TLDR of the original article you 'll find it says something completely different, which makes this article pretty poor as a response.
raphman · 2011-11-01
'Patent 5,893,120 reduced to mathematical formulae': http://paulspontifications.blogspot.com/2011/04/patent-5893120-reduced…
davorak · 2011-08-03
As far as I can tell all software patents are patents on math. Here is one example of a software patent reduced to mathematics and logic the extends it to all software patents: http://paulspontifications.blogspot.com/2011/04/patent-5893120-reduced…
seanp2k · 2011-05-16
http://www.google.com/patents?q=online+payment&btnG=Search+Patents Pretty much all of these are idiotic. See also: http://paulspontifications.blogspot.com/2011/04/patent-5893120-reduced… Software patents are stupid because you're trying to patent A WAY OF DOING SOMETHING and not A PRODUCT, even if said product is built from ways of doing something. Example: I patent "A method for storing data on physical storage using blocks" and sue everyone. There are people who try to patent RAM and storage: http://www.google.com/patents?q=a+method+for+storing+data&btnG=Sea… I'd wager that most of those are invalid patents / should be abolished.
eru · 2009-04-06
Yes. It makes composing larger programs out of smaller programs easier. Especially if functions have to be real mathematical functions, and can't have any side-effects. "Composability means that you can put two bits of code together and important correctness properties will be preserved automatically. This does not mean, of course, that the composition is automatically correct in a wider sense, but it does mean that you don’t introduce new bugs merely by sticking two things together." (http://paulspontifications.blogspot.com/2007/09/composability-and-prod…
paulajohnson · 2015-03-30
I wrote a rebuttal of the "blueprints for software" analogy a couple of years ago. http://paulspontifications.blogspot.co.uk/2013/01/software-has-civeng-… TL;DR: Source code is the blueprint for software. However that doesn't mean I completely disagree with Lamport's arguments. Specifications are necessary in large-scale software because otherwise you can't know if you have actually implemented everything the program is supposed to do. When you release it the end-users get angry and insist that they told you in that email / meeting / watercooler conversation last year how important it was that the program frobnicate the warbles. Lamport makes much of formal specifications. I agree that in some cases they do add value; trying to prove the correctness of a distributed protocol in any other way is dumb. But in my experience once you get up into application-level requirements a formal specification is basically source code you don't know how to compile; there is no formal correctness criteria against which you can verify it, and the stakeholders can't understand it in order to verify it.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close