Readit News logoReadit News
xscott commented on God created the real numbers   ethanheilman.com/x/34/ind... · Posted by u/EthanHeilman
tshaddox · a day ago
If a number if computable, it means you can compute it to any given precision using an algorithm which halts.

It doesn't mean that you can compute a complete representation in decimal (or any other positional numeral system) of the number using an algorithm which halts. This is of course impossible with computable numbers like pi or 1/3.

But you can compute the value of pi or 1/3 within error bound n, for any rational number n. Thus we say pi and 1/3 are both computable numbers. This isn't quite the same as saying you can always generate the first n digits of the decimal representation, because as you point out, any decimal digit can be sensitive to arbitrarily small changes in value.

But given these definitions, we can see that adding two computable numbers is indeed computable. In your example, the decimal representation of the output could begin with 0.5 or 0.6, depending on the precision you chose and the values of the two inputs at that chosen precision. Regardless, the output will be within the chosen precision.

Your example also comes close to illustrating that testing the equality of two computable numbers is not computable. There is no finite algorithm which can tell you if any two computable numbers are equal (or tell you which one is larger). Again, you can compute whether they are within any chosen bound of each other, but not whether they are equal.

xscott · 11 hours ago
I did say we needed to be careful with the definitions. I'm sure you can look at Wikipedia to see that Minsky gave a definition like I used. You're not wrong to use a new definition though.
xscott commented on God created the real numbers   ethanheilman.com/x/34/ind... · Posted by u/EthanHeilman
tshaddox · a day ago
It seems like you're suggesting that mathematicians replace the reals with the computables. This is a reasonable thing to try, and is likely of particular interest to constructivists. There's even this whole field:

https://en.wikipedia.org/wiki/Computable_analysis

xscott · 11 hours ago
> It seems like you're suggesting that mathematicians replace the reals with the computables.

No, not any more. :-)

I liked the idea a year or two ago, but I've come to believe that even the Integers are too bizarre to worry about. For now, I'm content just playing with fixed and floating point, maybe with arbitrary precision. Stuff I can reason about.

I just think people are a little too casual thinking they are really using the Reals. It might be like Feynman's quote about saying you understand QM.

xscott commented on The Lobster Programming Language   strlen.com/lobster/... · Posted by u/klaussilveira
nathan_compton · 2 days ago
One thing I hate about Generative AI is that it has flipped the value prop of making your language similar to an existing popular language. This helps new programmers but it really messes with generative AI. I can feel the era of fun new programming languages that might break big ending.
xscott · a day ago
I don't know. I wrote a compiler with a syntax that's close to all the curly languages, but different in some ways. ChatGPT had no problem cranking out some test cases after I explained the rules and gave minimal examples. I guarantee it wasn't trained on any source code of my language, because none existed more than two months ago.
xscott commented on The Lobster Programming Language   strlen.com/lobster/... · Posted by u/klaussilveira
harikb · 2 days ago
> Flow-Sensitive Type-Inference

imho, I don't consider Type-inference as a good thing when it happens from 50 lines ahead/below. How would regular people follow along?

Good case

x = "hello" // infer type as string - good thing.

Bad case

var/declare x;

50 lines later

if (....)

     x = "world" // infer type as string - this is bad

xscott · a day ago
I agree with your point in general, and I'm curious if it's a problem in Lobster. Here's one in Rust:

    let i = 1;
    let j = 1;
    print!("i: {:?}\n", !i);
    print!("j: {:?}\n", !j);

    // pretend there's a lot of code here

    // spooky action at a distance
    let v = vec![1, 2, 3];
    v[i];

You might think those two print statements would print the same value. They do not.

xscott commented on God created the real numbers   ethanheilman.com/x/34/ind... · Posted by u/EthanHeilman
tshaddox · 2 days ago
I'm more troubled by the fact that almost all real numbers are uncomputable (same goes for complex numbers, of course). It's very straightforward to see that this is the case, but the mathematics involved to even begin to ponder questions like "under which operations is the set of computable reals not closed" seem to be far over my head.
xscott · a day ago
Are there any operations you can even perform on the computables in the general case? Take addition, it seems simple until you try to add two computable numbers:

      0.59999999999999999999999...
    + 0.00000000000000000000000...
    ------------------------------
      0.?
Until you see a non-nine in that first number, or a non-zero in the second, you can't even emit the first digit of the output. From outside the black box, you don't know if the nines and zeros will stop or continue forever.

I think you can make pathological cases for every arithmetic operation, so maybe (I'm not sure) none of the operations are computable. (Need to be careful with the definitions though, and I'm being pretty sloppy)

xscott commented on God created the real numbers   ethanheilman.com/x/34/ind... · Posted by u/EthanHeilman
john-h-k · 2 days ago
> And I agree that our formalism of integers is simpler and more elegant than our formalism of real numbers. But that could just be because we've done a worse job formalizing real numbers!

Everything you can express in integers you can express in reals, but there are many things expressable in reals not possible in integers. It would be surprising if the formalism for a thing that completely supersets another thing had an equally simple formalism

xscott · a day ago
> [...] but there are many things expressible in reals not possible in integers

Are you sure there is anything we can express in the Reals that isn't an integer in disguise?

The first answer might be the sqrt(2) or pi, but we can write a finite program to spit out digits of those forever (assuming a Turing machine with integer positions on a countably infinite length tape). The binary encoding of the program represents the number, and it only needs to be finite, not even an integer at infinity.

Then you might say Chaitin's constant, but that's just a name for one value we don't know and can't figure out. You can approximate it to some number of digits, but that doesn't seem good enough to express it. You can prove a program can't emit all the digits indefinitely. And even if you could, is giving one Real number a name enough? Names are countable, and again arguably finite.

It seems to me we can prove there are more Reals than there are Integer or Computable numbers, but we can't "express" more than a finite number of those which aren't computable. Integers in disguise.

xscott commented on The Lobster Programming Language   strlen.com/lobster/... · Posted by u/klaussilveira
xscott · 2 days ago
I had seen Lobster before, but not really looked closely. Seeing it again now, I think I was wrong to dismiss it. Just at the syntactic level with semantics described in the link, it looks like it really might be "Python done right". The link mentions lots of features, but the following bits caught my eye.

The let/var declarations for constants/variables is much better than implicit declaration, which silently hides typos and necessitates ugly global/nonlocal declarations. (Mojo offers this improvement too.)

I don't know for sure, but it seems like it's embraced block arguments comparable to how Ruby or SmallTalk does it. So you can add your own control flow, container visitors, etc. I think of this as another syntax for passing a lambda function as an argument, and I'm curious if Lobster's optimizer flattens it to a basic block when possible.

I think I'll try to learn more about it. I wonder if the name is a nod to Accelerando.

xscott commented on Theft is not fair use   jskfellows.stanford.edu/t... · Posted by u/bgwalter
DrScientist · 10 days ago
The debate about leaving the EU was multi-faceted [1] - but a significant part was a kind of nostalgia for when Britain was indeed Great, and the idea that a UK free from the shackles of the EU could be great again. Take back control was the slogan - a complete misunderstanding of the difference between lost sovereignty and pooled sovereignty.

I see the same forces driving the US now as it undermines international organisations.

[1] and sure xenophobia played a depressingly large part.

xscott · 8 days ago
I hadn't thought about it before, but I think the nostalgia angle can explain a bunch of the US attitudes. It seems like a lot of people across the spectrum think the 1950s were a better time: The bigots because of race issues, the incels because of sexual expectations, the young generations envying (and resenting) how the boomers "had it easy", and the hippies thinking new technology is ending the world.

I think they're all wrong, but there's no fixing it. Assuming there are no civil or world wars in the near future that radically change the trajectory, China will rise and the US will end up lower on the ladder.

> nostalgia for when Britain was indeed Great

I'm sure you didn't intend it, but that capital G sure sounds a lot like the slogan for a US political party.

Deleted Comment

xscott commented on Theft is not fair use   jskfellows.stanford.edu/t... · Posted by u/bgwalter
DrScientist · 15 days ago
Picking at tangential points while avoiding the main argument hmm....

Admit it - you misunderstood my original point and accused me of then changing the argument.

Bottom line - the original poster was implying there was no harm because simple copying doesn't create a loss. I was pointing out that a key test ( in considering copyright issues ) is whether such an action causing harm - and in this case there are many very good cases to be made about resulting loss of revenue.

Let's be clear, I think LLMs etc are a huge technical advance - I just think it's wrong to try and ignore the law because it get's in the way of large companies attempts to make money.

xscott · 15 days ago
> Picking at tangential points while avoiding the main argument hmm....

I've tried (and occasionally failed) to avoid the parts of what you wrote which were just the typical flame war bait. And of course I'm guilty of trying to antagonize you in a few places. The topic is interesting, but our conversation about it was not.

I appreciate the link to the UK law, but the rest of this comment thread is mostly two people talking past each other.

u/xscott

KarmaCake day1339August 5, 2019View Original