HN user

bor0

167 karma

my blog: https://bor0.wordpress.com author of: https://leanpub.com/gidti and https://leanpub.com/gibl

Posts74
Comments32
View on HN
bor0.wordpress.com 5y ago

Re-Inventing the Monad Wheel

bor0
1pts0
bor0.wordpress.com 5y ago

Algorithmic Puzzle: Continuous Increasing Subsequences

bor0
1pts1
bor0.wordpress.com 5y ago

Capturing Number Theory in Haskell

bor0
3pts0
bor0.wordpress.com 5y ago

Towards Hoare logic for a small imperative language in Haskell

bor0
3pts0
bor0.wordpress.com 5y ago

Haskell Memoization and Evaluation Model

bor0
3pts0
bor0.wordpress.com 5y ago

Proof: One Sunday every 7 days

bor0
3pts0
bor0.wordpress.com 5y ago

A simple Constraint Programming implementation

bor0
2pts0
bor0.wordpress.com 5y ago

Superliminal Game Overview

bor0
1pts0
bor0.wordpress.com 6y ago

Proofs and Computation with Trees

bor0
2pts0
bor0.wordpress.com 6y ago

Deriving a Quine in a Lisp

bor0
1pts0
bor0.wordpress.com 6y ago

Equational Reasoning in Racket

bor0
3pts0
bor0.wordpress.com 6y ago

Encoding probability and random variables in Racket

bor0
3pts0
bor0.wordpress.com 6y ago

Stay Home

bor0
1pts0
bor0.wordpress.com 6y ago

Introduction and Formalization of Boolean Algebra

bor0
1pts0
bor0.wordpress.com 6y ago

GEB: An EGB Overview (Part I)

bor0
1pts0
bor0.wordpress.com 6y ago

Idea: News Diversity

bor0
1pts0
bor0.wordpress.com 6y ago

Formalizing Expresiveness of Line Editors

bor0
1pts0
bor0.wordpress.com 6y ago

Proving Groupoids with Idris

bor0
2pts0
bor0.wordpress.com 6y ago

Freedom of Creativity

bor0
1pts0
bor0.wordpress.com 6y ago

Tuply Singleton v3 (With Proof)

bor0
1pts0
bor0.wordpress.com 6y ago

Tuply Singleton v2

bor0
1pts0
bor0.wordpress.com 6y ago

Tuply Singleton

bor0
2pts0
bor0.wordpress.com 6y ago

One plus one equals two

bor0
1pts0
bor0.wordpress.com 6y ago

Meet Them All

bor0
1pts0
bor0.wordpress.com 6y ago

Abstraction and Generalization of Objects

bor0
2pts0
bor0.wordpress.com 6y ago

Generalized Average

bor0
2pts0
bor0.wordpress.com 6y ago

Arithmetic on Algebraic Data Types

bor0
3pts0
bor0.wordpress.com 7y ago

Brief Introduction to ML with Gradient Descent

bor0
1pts0
bor0.wordpress.com 7y ago

Customer-Driven Engineering

bor0
3pts0
bor0.wordpress.com 7y ago

Lambda Calculus with Generalized Abstraction

bor0
1pts0

Hey, author here! Thank you for recommending my book. I am always happy when someone else finds my work useful :)

Anyone know if there's a decent way to get a printed copy?

I decided to re-publish the book with Apress, and it should be ready for print by March this year.

How is it better than tdd in Idris book?

I would not say it is better, or worse. I read TDD and it's a great book, but it was mostly focused on practical stuff (i.e. programming in Idris), and I found it lacking the theoretical explanations (for example, what proofs are and how to do a mathematical proof, or what is a type-checker and how to implement one) which I hoped to cover in my book.

It's a good post, but heavily OS dependant. For example, on my Mac:

  $ ls /dev/null /dev/full
  ls: /dev/full: No such file or directory
  /dev/null
I guess in theory, you can imitate `/dev/full` by other means.

Computation has been and is a huge part of my life, and thanks to it I live a decent life with my family. It also helped with self-esteem and other similar things.

But love? Love taught me things I couldn't imagine (in a positive way).

The whole article builds on the premise that the main point of every programming language is adoption and growth, while for Haskell we have

avoid success at all costs

According to that statement, to me it seems that the current "success" (however one defines it) of Haskell is just a side-effect.

Yes, it is used in industry, but I believe the bigger impact here is how other languages "steal" features from it.

Hi! Author here. First of all thanks to whoever shared this on HN, it was amazing to see it on the front page :)

but it's not really what it claims to be at all

I agree that the content may be interesting (only) to Coq newcomers, but I disagree with the quoted statement.

If you extract the code to Haskell e.g., and put some IO handling you basically have a line editor.

the length of the paper almost halves and the amount of substance becomes clearer

Thank you for this. I can amend it in a future version once I get more/other comments on the paper.

This is exactly what I did with my first book. It is available for free on Leanpub, but I charge minimum for Kindle/print using Amazon KDP.

I just wanted to get my message across and learn something on the way. It also sells relatively well, but that is a side-effect of my initial intentions :)

we wouldn't want to go full Haskell and avoid success at all costs

Can you elaborate on that statement? To me, it implies that going with Haskell avoids success, but I might be missing something. If that really is the implication, can you explain?

I usually write a book review post on my blog that contains these highlights. Whenever I need to recall something, I am reading my own posts.

I guess this is similar to spaced repetition.

Let's agree that re-inventing the wheel makes one more experienced, and also that it helps understanding things better. I believe that this distinction is what makes one a good/true programmer, compared to just lego play.

Edit: Also, I disagree that re-inventing the wheel is just busywork. Compare a programmer that just uses .sort() and another one that uses .sort() and implemented his own sort (disregarding the fact that he is not using his own sort) and really understands the math behind it. Which one would you rely on?

Programmers do not need to write much code anymore; all they need to do in most cases is wire together already available components.

As if this stops you from re-inventing the wheel in attempt to understand more. Understanding things is what distinguishes programmers.

I had exactly the same discussion with one of my friends that wants to become a programmer. His argument was that programming is not fun at all because all we do is use libraries and frameworks. My counter-argument was the paragraph above.

Learning Idris will definitely alter the way you think about programming and make you a better programmer, even if you don't program in it on a daily basis.

To me, personally, the biggest barrier was lack of a proper introduction with a lot of examples.

I try to break this barrier a bit with my upcoming book: Gentle Introduction to Dependent Types with Idris.

I am very interested in this area but it is impossible for newcomers to get a grasp of it without too much digging. Logical Foundations was OK but I was still missing the theoretical explanation ("why does this tactic work? it is magic!").

So with accumulated knowledge from IRC, forums I hope to address this.

Design patterns get obsolete. Programming languages get obsolete. Libraries get obsolete.

Mathematics doesn't. Learn CS foundations, logic, proofs to get better at understanding and gain abstraction experience.

Edit: books: How to prove it by D.Velleman, Proofs and concepts, Discrete Math by S.Epp