Julia

was checking their manual and found this, what do you think?
great idea
or
worst programmer nightmare

Attached: 2019-01-09-20:27:04_834x416_scrot.png (834x416, 42K)

Other urls found in this thread:

cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
twitter.com/NSFWRedditImage

in terms of efficiency it's based and redpilled unlike python.

Dumb idea. "on modern computers"? What about my chink RISC-clone toaster CPU, you lazy fucks? I bet they are just lazy and use the default hardware behavior. Correct me if they actually manually perform that wrap-around.

Manual wrap around is never done. catch-all overflows are a nightmare in performance and execution controll.

Based and mathpilled

The most retarded shit I've seen today

>ITT: Codemonkeys that don't understand 2's complement

The most retarded shit I've seen today

It's just C dogma because C standard (usage of twos complement is not guaranteed) makes shitton of behavior undefined regardless of being defined on all CPUs ever as the same instructions are used for signed and unsigned arithmetics.

This is kinda nightmare for logic-based optimization since x + 1 is no longer guaranteed to be greater than x, breaks all sorts of inductive proofs.

Hard to say. The formally correct way is to have separate type for non-wrapping integer and wrapping integer, but this is clunky as fuck.

>This is kinda nightmare for logic-based optimization since x + 1 is no longer guaranteed to be greater than x, breaks all sorts of inductive proofs.
not if you add strict bounds on variables you don't want to wrap around

The language is supposed to be fast, of course they are n't going to stop you from overflowing.

this. Goes to show how good the average Jow Forumsentleman really is

why did I have to be born a brainlet

Attached: 1537235951295.jpg (655x509, 79K)

In some cases yes. Can't be aplied universally though.

im just gona give this language a try guys.

Attached: 2019-01-09-22:56:21_793x323_scrot.png (793x323, 33K)

>1-indexed arrays
yeah no thanks

t. brainlet

if you can't convince the verifier that x is within the bounds at some point but you know it is (given some manual proof) you can add an assertion. if you aren't 100% sure you add `if (x < lower_bound || x > upper_bound) { return error; }`.
ideally, all the bounds should propagate from the application-site to the input-site or the external world that's outside the scope of your verifier. that's where you manually enforce bounds.

This is the most intuitive way to do this due to binary representation of negative numbers (2's comp). this isn't even a new idea, other languages such as Java do this as well

What's bad about it? If you want to know if it's wrapped just test to see if it's < 0. Better than having an error spit out.

makes sense for mathfags, triggers CScucks

Do you want to create a bloated piece of shit?

cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html

go away, tripfag, I wasn't talking to you.

no bully our sponsors!

>Edsger W. Dijkstra considered harmful

Am I missing something or is this exactly how unchecked (i.e. default) arithmetic works in C#?

This is how it works on most things that pay lip service to speed, because it's how it works in most cpus