1,004 karma · joined July 4, 2014
Anyone who's learned one or two languages should be able to pick up the basics of any of the standard ones pretty much instantaneously.
At a certain point, the reason we like some particular wacky physical model is always going to be "it has the best combination of explanatory power and simplicity"
Maybe this will make people tend to shorter lines, counterbalancing the natural tendency towards incomprehensibility of array and stack languages
(fn add-1 [x] (+ x 1))
(lambda add-2 [x] (+ x 2))
transpiles to the following lua: local function add_1(x)
return (x + 1)
end
local function add_2(x)
_G.assert((nil ~= x), "Missing argument x on /home/sullyj3/tmp/fn-vs-lambda/fnl/x.fnl:3")
return (x + 2)
end
return add_2 (*) <$> [1..10] <*> [2,3,5]
-- or
liftA2 (*) [1..10] [2,3,5]
Admittedly also not accessible to non-haskellers. But on the other hand, if you're going to learn a language, you ought to learn its idioms at some point.For example if you have a shell.nix that you were running with `nix-shell` which defaults to using channels to obtain nixpkgs
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# ...
You can reuse it in your flake.nix devShells.${system}.default = import ./shell.nix { inherit pkgs; };
And it will use the locked nixpkgs input defined in your flake. You can run it with the new `nix develop` command, but `nix-shell` will continue to work, giving you the previous behaviour.It's conceptually comparably complicated, but the actual practical experience of writing flakes is much more complicated. This is not the fault of flakes specifically, but rather due to the complexity of nixpkgs. Although on second thoughts the fact that there are a bunch of libraries like flake-utils and flake-parts out there does seem to point at a verbosity UX issue.
It seems plausible to me that even if we are to the AI as cats are to us, we've reached an absolute threshold of generality that allows the AI to be confident in our ability to follow simple (to it) instructions, in a way that cats can't for us.
>>> from operator import `add`
>>> list(map(add, range(5), range(10, 15)))
[10, 12, 14, 16, 18]
>>> add3 = lambda x,y,z: x+y+z
>>> list(map(add3, range(5), range(10, 15), range(100, 105)))
[110, 113, 116, 119, 122]> I’ve never heard someone criticize me
I wonder if there could perhaps be some causal link here.
People in positions of power often suffer from atrophy of their instinct for social acceptability, because people are less likely to call them out.
This comparison doesn't make much sense - computers have a very small number of cores, let's say 10, and brains have 86 billion neurons. 86 billion things operating at 1Hz is also in the GHz range. This is leaving aside the issue that a CPU cycle and a neuron firing are doing completely different sorts of work - comparing them is kind of nonsensical in the first place.
Natural selection is
- random
- blind - gradient descent is prone to getting stuck in local minima, has no foresight, no ability to go back to the drawing board, no "understanding" of what it's doing.
- not even optimizing for intelligence, except instrumentally - to the extent that increasing intelligence interferes with survival, it has to be sacrificed
- subject to hard constraints like the limits on size imposed by childbirth