It has a lot to do with GraphQL the ecosystem, though, doesn't it? SQL injection is a particularly bad problem because concatenating strings is the easy path to getting queries working, and parameterization takes (a…
Ah, whoops. That seems even more useless, though.
Small note: people often (but don't always) assume that a ring is unital (has an identity element), and that an algebra over a field is unital and associative. Also, the label "algebra" is vague here, and refers to an…
What would you do with that? For example, I can see the use of commutativity (ab = ba) and anticommutativity (ab = -ba), but I'm not sure what I'd do with the negation of commutativity (ab ≠ ba).
As mentioned below, he has a blog at https://www.iquilezles.org/blog/ and it's WordPress, so there's a feed at https://www.iquilezles.org/blog/wp-rss2.php .
1. How do they live on charity? 2. So what if they live on charity? I don't see how that would invalidate anything being said.
• Sure, it could come under the umbrella of "declarative programming", but that's an enormous umbrella, so that doesn't really say much. • I fail to see how differentiable programming (the idea of expressing the desired…
> These let you build all sorts of language constructs that you couldn't build in other programming languages. Many languages (e.g. Rust[0]) let you write procedural macros, even if their grammar is much more complex…
Yep, GP mentions in another comment that they misinterpreted the error.[0] Anyway, Python replaces the prompt ">>> " with "... " if the input is mid-statement, and I suppose it would be nice if Eshell did the same…
Wow, that's quite the list, but it's a bit weird to see Kaczynski thrown in after all of these mathematical legends. Also, there was quite a bit more to Godel's death than simply dying "from starvation and exhaustion"!…
It means that it's opaque to your ISP and other people on your network, which is at the very least useful for people using it at McDonald's or a university.
Didn't most old operating systems use cooperative multitasking? I remember, at least, that classic Mac OS (i.e. pre-OSX) didn't use preemptive multitasking, either. Anyway, this SO answer[0] explains why early Linux,…
It is already known that there is some association between intelligence and, for example, race. The underlying causes, whether they're wealth disparities, cultural attitudes toward intelligence, or genetics, don't…
Right, I mostly end up using Haskell's lists as an extremely ergonomic counterpart to iterators / generators in languages like Python and Rust.
There are better alternatives to linked lists for this use case. 1. Clojure uses wide balanced trees as its general-purpose ordered collection.[0] These have probably already been adapted for Haskell, and they offer…
Does this really work? I see no reason why my local "representative" would bother listening to me.
> If you don't box all your closures, functional programming in Rust gets tedious quite quickly. Somewhat true, but argument position and return position impl Trait have made that slightly nicer.
> The bigger problem is laziness. How is laziness implemented? A value is represented as an unevaluated thunk, a closure to compute the value. When the value is needed, the closure is run and then replaced by the…
Really? I have no experience with Haskell's internals, but self-referential objects are fairly common in Haskell thanks to its non-strictness. The simplest one is probably the list with one element repeated forever.…
They are the exact same sense! The exact same idea of shadowing is also present in, for example, sentences in first order logic.
Shadowing is when you have two separate variables with the same identifier. It is beyond obvious that all the x's refer to the same variable in dilap's example. Contrast that with an actual example of shadowing[0], in…
The value in Rust does not depend on f. I will be precise. There is no definition of f such that this function will print anything other than "4". fn main() { let mut x = 4; f(x); println!("{}", x); } Again, you seem to…
You seem to be confusing mutable variables with mutable references. A name, in Python, is a mutable cell that holds a reference. Python names definitely correspond to mutable, not immutable variables in Rust.
Here is the most common definition of strong typing, and below it an assertion that "Smalltalk, Perl, Ruby, Python, and Self are all strongly typed". https://en.wikipedia.org/wiki/Strong_and_weak_typing#Implici...
Reassignment isn't shadowing. See https://news.ycombinator.com/item?id=22444824 .
It has a lot to do with GraphQL the ecosystem, though, doesn't it? SQL injection is a particularly bad problem because concatenating strings is the easy path to getting queries working, and parameterization takes (a…
Ah, whoops. That seems even more useless, though.
Small note: people often (but don't always) assume that a ring is unital (has an identity element), and that an algebra over a field is unital and associative. Also, the label "algebra" is vague here, and refers to an…
What would you do with that? For example, I can see the use of commutativity (ab = ba) and anticommutativity (ab = -ba), but I'm not sure what I'd do with the negation of commutativity (ab ≠ ba).
As mentioned below, he has a blog at https://www.iquilezles.org/blog/ and it's WordPress, so there's a feed at https://www.iquilezles.org/blog/wp-rss2.php .
1. How do they live on charity? 2. So what if they live on charity? I don't see how that would invalidate anything being said.
• Sure, it could come under the umbrella of "declarative programming", but that's an enormous umbrella, so that doesn't really say much. • I fail to see how differentiable programming (the idea of expressing the desired…
> These let you build all sorts of language constructs that you couldn't build in other programming languages. Many languages (e.g. Rust[0]) let you write procedural macros, even if their grammar is much more complex…
Yep, GP mentions in another comment that they misinterpreted the error.[0] Anyway, Python replaces the prompt ">>> " with "... " if the input is mid-statement, and I suppose it would be nice if Eshell did the same…
Wow, that's quite the list, but it's a bit weird to see Kaczynski thrown in after all of these mathematical legends. Also, there was quite a bit more to Godel's death than simply dying "from starvation and exhaustion"!…
It means that it's opaque to your ISP and other people on your network, which is at the very least useful for people using it at McDonald's or a university.
Didn't most old operating systems use cooperative multitasking? I remember, at least, that classic Mac OS (i.e. pre-OSX) didn't use preemptive multitasking, either. Anyway, this SO answer[0] explains why early Linux,…
It is already known that there is some association between intelligence and, for example, race. The underlying causes, whether they're wealth disparities, cultural attitudes toward intelligence, or genetics, don't…
Right, I mostly end up using Haskell's lists as an extremely ergonomic counterpart to iterators / generators in languages like Python and Rust.
There are better alternatives to linked lists for this use case. 1. Clojure uses wide balanced trees as its general-purpose ordered collection.[0] These have probably already been adapted for Haskell, and they offer…
Does this really work? I see no reason why my local "representative" would bother listening to me.
> If you don't box all your closures, functional programming in Rust gets tedious quite quickly. Somewhat true, but argument position and return position impl Trait have made that slightly nicer.
> The bigger problem is laziness. How is laziness implemented? A value is represented as an unevaluated thunk, a closure to compute the value. When the value is needed, the closure is run and then replaced by the…
Really? I have no experience with Haskell's internals, but self-referential objects are fairly common in Haskell thanks to its non-strictness. The simplest one is probably the list with one element repeated forever.…
They are the exact same sense! The exact same idea of shadowing is also present in, for example, sentences in first order logic.
Shadowing is when you have two separate variables with the same identifier. It is beyond obvious that all the x's refer to the same variable in dilap's example. Contrast that with an actual example of shadowing[0], in…
The value in Rust does not depend on f. I will be precise. There is no definition of f such that this function will print anything other than "4". fn main() { let mut x = 4; f(x); println!("{}", x); } Again, you seem to…
You seem to be confusing mutable variables with mutable references. A name, in Python, is a mutable cell that holds a reference. Python names definitely correspond to mutable, not immutable variables in Rust.
Here is the most common definition of strong typing, and below it an assertion that "Smalltalk, Perl, Ruby, Python, and Self are all strongly typed". https://en.wikipedia.org/wiki/Strong_and_weak_typing#Implici...
Reassignment isn't shadowing. See https://news.ycombinator.com/item?id=22444824 .