HN user

timon999

48 karma
Posts0
Comments11
View on HN
No posts found.

I don't see why the nature of truth is relevant here, unless you are claiming that we can't make deductive arguments about anything ever (I never used the word "truth" in my comment anyway). Also, constant accusations of "bad faith", i.e. dishonesty, are poor debate etiquette and just give the impression that you have no point to make on the object level.

This article by one of the Crystal developers explains why this comparison is not fair: https://crystal-lang.org/2016/07/15/fibonacci-benchmark.html.

When doing operations between integers, Ruby will make sure to create a Bignum in case of overflow, to give a correct result.

Now we can understand why Ruby is slower: it has to do this overflow check on every operation, preventing some optimizations. Crystal, on the other hand, can ask LLVM to optimize this code very well, sometimes even letting LLVM compute the result at compile time. However, Crystal might give incorrect results, while Ruby makes sure to always give the correct result.

The Bosque paper says the following:

JavaScript took an interesting step by decoupling the core compute language in the JS specification from the IO and event loop which are provided by the host [...]. We take the same approach of decoupling the core compute language, BOSQUE, from the host runtime which is responsible for managing environmental interaction.

So it seems that Bosque doesn't do IO directly, but instead specifies how a given input is mapped to some output.

A isn't making two statements. The (single) statement "I am a knave, but B isn't." is a conjunction that is false because it's right hand side is false.