5,020 karma · joined September 23, 2022
Is this more an abstract concern over the state of the industry, or is there a specific language you had in mind that you'd prefer Rust was modeled after?
1. do the tutorial, maybe watch a guide
2. follow the dedicated onboarding track
3. give people around you the benefit of the doubt
4. point things out even if you don't know how to deal with them
Pretty reasonable advice for interacting with others in any capacity. If your jobs haven't provided stuff like this, maybe that reflects more on them.Also, most models are lossy compression. The heliocentric model is amazing because it is wrong. Complications are simply ignored.
> If we were using [humans] to analyze astronomy, we might just get increasingly complicated epicycles and never realize that the Sun is the real center of the solar system.
I explicitly request it. It's not great at coming up with interesting ideas, but neither am I, and it can sure iterate on them faster than I can...
Is this the aim of mathematics?
In my mind, tests are everyone's responsibility, but the goal differs. A regular developer adds features and should be writing tests to prove their code functions as intended. QA does not add features, so their goal is finding holes in code added by others.
It's the adversarial relationship mentioned by a parent:
> Have [QA] build tests to break the code. Don't give [QA] the job of making a test suite that passes.
The QA role (regardless of whether it's performed by an AI or a human) typically involves breaking tests, not writing them. (This applies more to unit tests, integration tests blur this line.)
That's more-or-less how I define QA work. The goal is not proving overall correctness, it's surfacing individual issues.
import { createContext, useContext, useState } from "react";
import { renderToStaticMarkup } from "react-dom/server";
const UserContext = createContext(null);
function UserProvider({ value, children }) {
const [name] = useState(value);
return <UserContext.Provider value={name}>{children}</UserContext.Provider>;
}
function UserName() {
return <span>{useContext(UserContext)}</span>;
}
function App() {
return (
<UserProvider value="Ada">
<UserName />
</UserProvider>
);
}
renderToStaticMarkup(<App />); // => "<span>Ada</span>"When I design my own languages (I have written several, all terrible!) it's typically to learn about language design.
To be fair "algebraic effects" is part of my priors. If you don't know what that is those specific words won't help you, but the examples should!
a = [undefined];
res = a.pop() // undefined
a = [];
res = a.pop() // undefinedConsole is IO and IO is the effect.
> Reliable TypeScript for the AI era
It is a library.