This missed the point. The point of not that you can forget to check the null case. The point is that you can express that sometimes there's no null case.
The "no null" case in traditional languages is just "int" instead of "*int". All values inside an "int" are valid integers.
Certainly it's problematic to use the same language primitive to mean "a pointer" and "this might be empty", but it's what people use them for in every language that has pointers (that I've used anyway).
The Data Parallel Haskell work on flattening ran into problems with space blow-up due to replicating arrays to perform flattening. Does Futhank avoid those problems?
Yes. Since Futhark does not perform full flattening, replication is limited to how much parallelism is exploited, not how much parallelism is available.
(That said, memory explosion is still a common symptom when the compiler misjudges how much parallelism should be exploited.)
Aside: does that mean that Falcon 9 could carry ~20,000 CubeSats at the cost of 62M/20k = USD 3,100 per satelite? That would be awesome. Now if I could just find another 19,999 people who want to ride-share with me.
I wonder if this is a good thing. On one hand, the common availability of cubesats would be so much fun from a hacker point of view, but on the other I worry that such a low cost per satellite will start to pollute space. If every bay area hobbiest has one floating in the sky, we're inevitably going to have ones that go unmanaged, rogue, etc with no plans for cleanup/repair if things go wrong.
Many of the cheapest, hackeriest cubesats are deployed into low orbits that decay within weeks or months. Space isn't completely empty, only mostly empty, and even minute air resistance is enough that things like the ISS need to thrust regularly to stay in orbit [1]. I believe it's a common mission profile for cubesats that're built as aerospace engineering senior projects, for example.
If a cloud of 20000 cubesats were released by a single rocket, at least they would all be in approximately the same orbit, which is better than having 20000 cubesats spread out over 20000 orbits. Not to mention, they don't stay up indefinitely- launched into a low orbit, drag eventually pulls them back down.
I'd definitely buy a cubesat launch slot for 3k. Perhaps someone should set up a kickstarter or something.
Unless your Australian... in which case the government says you have to have a stupidly huge insurance policy and other red tape that would make it easily 10x that cost.
This has already been requested quite often, the Go team refused pretending it wasn't "readable". "readability" is their number one excuse to get away with not discussing a feature at first place.
even when the company realized its agents were helping scammers avoid detection
I'm inclined to say on the record here that actively assisting and rendering aid to someone seeking avoid fraud detection kind of answers that question right off the bat
Yea, this could mean that a WU employee explained to a customer why they were being refused service, and explained how they'd have to redo their request in order to send money.
The prosecution will spin it as in cahoots, when it could have just been good customer service explaining a bunch of stupid rules.
How does it perform on short strings (e.g. <= 16 bytes)? We've seen several new hash functions lately with great throughput numbers, but unfortunately they often end up being slower than FNV when used e.g. on keys in hash maps, which are often short strings.