> they need to understand that there's another dimension to criticisms of Lisp that aren't just "I don't like parentheses" and that there is substantive feedback to be gleaned. I'm also somewhat reminded of the decline…
I think another macro, `json!()` works better as an example for that: inside the `json!()` you write something very similar to actual JSON. So when you see a `!` you know that there might be something…
Though at the same time the bit where `use strict` was optional wound up being off-putting to a lot of us, at least in part because we'd always wind up with _something_ that wasn't designed for `use strict` and had, uh,…
re: `fd` I also find it a lot better to do something like `fd -e py -X ruff format` than `find -name '*.py' -exec ruff format {} +`. Part of it is that `find` seems to come from before we standardized on `--foo --bar`…
>> Especially in the era of AI assistants, the downside of writing out explicit types and repetition matters very little > Yeah, let's design languages based on the capabilities of code assistance /s I mean, that _is_…
Which also makes more sense if you take into consideration that he has a form of colour blindness: https://commandcenter.blogspot.com/2020/09/color-blindness-i... Ultimately he's fine with _some_ syntax highlighting,…
I also use just as a command runner, but I gotta agree with the others here that it should be described accurately as a command runner, while make is a build system. There are some uses of make, especially by people who…
This seems similar to how macos has bash, but it has ancient bash. Allegedly the reason is that Apple is fine with GPL2 but not GPL3. Though at that point I kinda wonder why they bother shipping bash at all, when their…
> My own employer has ascribed some sort of spiritual status to prompts. You may want to get them away from the prompts asap. They might be headed down the route to heavy spiritual delusions:…
There's no discussing taste, especially with syntax. Personally I find the Rust syntax unoffensive, while the Go syntax comes off kind of … weird, with type signatures especially looking kind of like run-on sentences by…
Python is growing type annotations at a brisk pace though, and Typescript is cannibalizing Javascript at an incredible speed. Between that and even Java getting ADTs, I suspect the people who whine about "type nerds"…
You've already had some replies for the C FFI side of things, you might also be interested in maturin & PyO3 for python bindings. I haven't looked if they've exposed some python interface (guessing not), but Rust/Python…
> It absolutely does not matter what language this tool is written in. That goes for any tool. Eh, there are a lot of tools where it actually does kind of matter. I suspect for a lot of invocations of tools like `fd`…
> Generally speaking, non-religious people understand church to be a building. Whereas religious people understand that the people are the church, the building is just a building. The word "church" itself is used to…
You would likely approach it in any style with some helper functions once whatever's in the parentheses or ifs starts feeling big. E.g. in the dot style you could fn bookFilter(book: Book) -> bool { return…
> But in functional code, the entire chain is a single statement. There are no natural breakpoints where the reader could expect to find justifications for the code. How are we deciding what's "functional code", here?…
Right you are. I wish I had an excuse for my mistake, but I don't.
> Nope, pure functions are referentially transparent. The key idea is that you can replace the function invocation with a value and it shouldn’t change the program. [Edit: This is wrong: And idempotent.] Generally you…
I consider syntax highlighting to be a part of the _visual_ structure. Visibility is more than just whitespace and placement!
I'm more partial to the first one because it keeps a linear flow downwards, and a uniform structure. The second one kind of drifts off, and reshuffling parts of it is going to be … annoying. IME the dot style lends…
You've had some answers already, but I also think this is a good argument for syntax highlighting. With tools like tree-sitter it's pretty easy these days to get high quality syntax highlighting, which allows us humans…
IME what we want is generally for the code to be close to the left margin and flow predictably downwards. The example with intermediate values has a lot more value to me for complex instantiations, where we can avoid…
> I've never understood the hate for variable shadowing. Maybe it's because I mostly use Rust, That's likely a good chunk of it. My impression is it's more acceptable in languages where you have a very…
fwiw, once Python's introduced there's the third option on the table, comprehensions, which will also be suggested by linters to avoid lambdas: authors_of_long_books: set[Author] = {book.author for book in books if…
> they need to understand that there's another dimension to criticisms of Lisp that aren't just "I don't like parentheses" and that there is substantive feedback to be gleaned. I'm also somewhat reminded of the decline…
I think another macro, `json!()` works better as an example for that: inside the `json!()` you write something very similar to actual JSON. So when you see a `!` you know that there might be something…
Though at the same time the bit where `use strict` was optional wound up being off-putting to a lot of us, at least in part because we'd always wind up with _something_ that wasn't designed for `use strict` and had, uh,…
re: `fd` I also find it a lot better to do something like `fd -e py -X ruff format` than `find -name '*.py' -exec ruff format {} +`. Part of it is that `find` seems to come from before we standardized on `--foo --bar`…
>> Especially in the era of AI assistants, the downside of writing out explicit types and repetition matters very little > Yeah, let's design languages based on the capabilities of code assistance /s I mean, that _is_…
Which also makes more sense if you take into consideration that he has a form of colour blindness: https://commandcenter.blogspot.com/2020/09/color-blindness-i... Ultimately he's fine with _some_ syntax highlighting,…
I also use just as a command runner, but I gotta agree with the others here that it should be described accurately as a command runner, while make is a build system. There are some uses of make, especially by people who…
This seems similar to how macos has bash, but it has ancient bash. Allegedly the reason is that Apple is fine with GPL2 but not GPL3. Though at that point I kinda wonder why they bother shipping bash at all, when their…
> My own employer has ascribed some sort of spiritual status to prompts. You may want to get them away from the prompts asap. They might be headed down the route to heavy spiritual delusions:…
There's no discussing taste, especially with syntax. Personally I find the Rust syntax unoffensive, while the Go syntax comes off kind of … weird, with type signatures especially looking kind of like run-on sentences by…
Python is growing type annotations at a brisk pace though, and Typescript is cannibalizing Javascript at an incredible speed. Between that and even Java getting ADTs, I suspect the people who whine about "type nerds"…
You've already had some replies for the C FFI side of things, you might also be interested in maturin & PyO3 for python bindings. I haven't looked if they've exposed some python interface (guessing not), but Rust/Python…
> It absolutely does not matter what language this tool is written in. That goes for any tool. Eh, there are a lot of tools where it actually does kind of matter. I suspect for a lot of invocations of tools like `fd`…
> Generally speaking, non-religious people understand church to be a building. Whereas religious people understand that the people are the church, the building is just a building. The word "church" itself is used to…
You would likely approach it in any style with some helper functions once whatever's in the parentheses or ifs starts feeling big. E.g. in the dot style you could fn bookFilter(book: Book) -> bool { return…
> But in functional code, the entire chain is a single statement. There are no natural breakpoints where the reader could expect to find justifications for the code. How are we deciding what's "functional code", here?…
Right you are. I wish I had an excuse for my mistake, but I don't.
> Nope, pure functions are referentially transparent. The key idea is that you can replace the function invocation with a value and it shouldn’t change the program. [Edit: This is wrong: And idempotent.] Generally you…
I consider syntax highlighting to be a part of the _visual_ structure. Visibility is more than just whitespace and placement!
I'm more partial to the first one because it keeps a linear flow downwards, and a uniform structure. The second one kind of drifts off, and reshuffling parts of it is going to be … annoying. IME the dot style lends…
You've had some answers already, but I also think this is a good argument for syntax highlighting. With tools like tree-sitter it's pretty easy these days to get high quality syntax highlighting, which allows us humans…
IME what we want is generally for the code to be close to the left margin and flow predictably downwards. The example with intermediate values has a lot more value to me for complex instantiations, where we can avoid…
> I've never understood the hate for variable shadowing. Maybe it's because I mostly use Rust, That's likely a good chunk of it. My impression is it's more acceptable in languages where you have a very…
fwiw, once Python's introduced there's the third option on the table, comprehensions, which will also be suggested by linters to avoid lambdas: authors_of_long_books: set[Author] = {book.author for book in books if…