andrewg
Joined 18 years ago
Joined 18 years ago
You tell it what’s being renamed with a special comment.
Later, I used Common Lisp with SLIME and had a very similar experience, at least as productive, except that I was using my preferred IDE (Emacs) and saved the code to normal files so I could use more common tools like grep, SVN/Git, etc. I still built code into an image, which I could update live via the REPL.
I haven't used GNU Smalltalk personally, but I do like the idea of a Smalltalk that's less of an island, particularly if that makes it more palatable to a new generation of programmers.
message Config {
repeated Server server = 1;
}
message Server {
string address = 1;
int32 port = 2;
bool standby = 3;
}
And then you use the text representation in a config file: # main instance
server { address: "127.0.0.1" port: 4567 }
# backup instance
server { address: "127.0.0.1" port: 9876 standby: true }
And load it into a message instance: Config config;
google::protobuf::TextFormat::ParseFromString(input, &config); std::variant<int, bool, double> options;
options = true;
bool value = std::get<bool>(options);
bool has_bool = std::holds_alternative<bool>(options);
// or test which alternative is held
if (auto i = std::get_if<int>(&options)) {
// do something with int
} else if (auto b = std::get_if<bool>(&options)) {
// do something with bool
} else {
// do something with double
}Really beautiful album, especially the 5.1 surround version.
Also, some airlines now have officially certified iPads as EFBs, meaning pilots no longer need to carry paper backups.
In fact, it’s not just useful for the CI/CD pipeline - any developers making significant changes to base libraries or core infrastructure should be able to use the VFS in combination with a system like Bazel to run all (or a significant sample of) affected tests across the company.