There's also the new JVM option which eludes me at the moment which sweeps the strings which are promoted to the older generation and interns them. Not certain about whether `String.intern` is permanently stored; I…
They are genuine issues, within Rust, but the way you /categorize/ the severity of the issue is different within language communities. They don't impact usability /much/ because of Rust's community, focus, size and…
Not really third-party; ocaml-ppx is something similar to `javax` in the Java space? But it is optional and doesn't come bundled with OCaml. Recursive structures are only rare in Rust _because_ they suck to write and…
They require `sexp_of_t` and `t_of_sexp` because of their workflow being based on them; such as expectation testing [1] and tools such as [2]. It's a less noisy alternative to json for many people. [1]…
> You gave a beautiful answer about programming language You do the same thing as in Rust, Scala or Haskell and derive the printer [1]. Then at the callsite, if you know the type then you do `T.show` to print it or…
Would you not consider the object system to be ad-hoc polymorphism?
I don't think this list is fair at all. > No standard and easy way of implementing interfaces Firstly another commenter has mentioned [1] modules as interfaces. There is also the object system [2] which I've seen used…
The other comments have already covered the how, but I'd like to add that the mechanism used extensively in Nix [1]. [1] https://nixos.org/
The recipe is terrible, it neither has the detailed enough ingredients list nor the cooking technique for carbonara. Someone who hasn't cooked a carbonara just isn't going to be able to cook it with that recipe.
I have seen this technique (send all the indexed search terms) a few times in the wild. Racket (a scheme derivative specifically made for teaching) has a search page where everything public is indexed [1] (see…
(IANAL) The most horrible part is that _they are allowed to drop their case anytime_ in the UK civil court. In previous cases when the accused has run out of money, the defendants have to pay their costs [1] to keep the…
Emacs launches processes on the `PATH` so using `direnv`, you can change the `PATH` to the version of `rust-analyzer`/`gopls`/`python`/`psql`/`protoc` that you're using as well as setting the correct load paths for each…
I really feel this is an infra problem rather than a dev problem though; the reverse-proxy should strip 5xx response bodies before the egress no?
It's complex [1], OCaml does have a unboxed representation of floats in arrays [2] and records (provided all fields are floats), but elsewhere they are indeed boxed. [1]…
Have you heard of ReScript [1]? [1] https://rescript-lang.org/
Presumably because of emacs-ng [1], from the page " additive native layer over emacs, bringing features like Deno's Javascript and Async I/O environment, Mozilla's Webrender,". [1] https://github.com/emacs-ng/emacs-ng
Thanks for the link; not sure how I missed that completely while going through the thread documentation. I completely forgot about native modules completely... I don't think I disagree with anything you've said; though…
I meant exactly that, both core JS and ELisp share the same model of a global interpreter where blocks of code can be interleaved and yielded (both manually and in response to external events). I wanted to know what in…
Regarding threads, they are definitely more co-operative co-routines than threads. However, if I recall there are only a few calls which can switch the context; the usual culprits, such as `thread-yield`, `sleep-for`,…
Obligatory link: [1] https://github.com/ethan-leba/tree-edit
It already has a process/event queue like JS since Emacs 26. What did you mean in particular?
Emacs threads are not parallel and are co-operative rather than preemptive. The co-operative parts mean that you can guarantee atomic updates very easily when updating global variables or buffers so you don't run into…
I agree, You can /always/ go from `f : t -> r` to `f' : t option -> r option` with `Option.map` (ML-syntax, translate to w/e type syntax you're most familiar with), but the reverse is not true. I think that the example…
I think it's worth noting that when we talk about a system operating on a set of components, it literally means a function which either reads and creates new components or entities or mutates existing components. Most…
Nvidia has a visual difference, see the table [1]. [1] https://developer.nvidia.com/blog/introduction-turing-mesh-s...
There's also the new JVM option which eludes me at the moment which sweeps the strings which are promoted to the older generation and interns them. Not certain about whether `String.intern` is permanently stored; I…
They are genuine issues, within Rust, but the way you /categorize/ the severity of the issue is different within language communities. They don't impact usability /much/ because of Rust's community, focus, size and…
Not really third-party; ocaml-ppx is something similar to `javax` in the Java space? But it is optional and doesn't come bundled with OCaml. Recursive structures are only rare in Rust _because_ they suck to write and…
They require `sexp_of_t` and `t_of_sexp` because of their workflow being based on them; such as expectation testing [1] and tools such as [2]. It's a less noisy alternative to json for many people. [1]…
> You gave a beautiful answer about programming language You do the same thing as in Rust, Scala or Haskell and derive the printer [1]. Then at the callsite, if you know the type then you do `T.show` to print it or…
Would you not consider the object system to be ad-hoc polymorphism?
I don't think this list is fair at all. > No standard and easy way of implementing interfaces Firstly another commenter has mentioned [1] modules as interfaces. There is also the object system [2] which I've seen used…
The other comments have already covered the how, but I'd like to add that the mechanism used extensively in Nix [1]. [1] https://nixos.org/
The recipe is terrible, it neither has the detailed enough ingredients list nor the cooking technique for carbonara. Someone who hasn't cooked a carbonara just isn't going to be able to cook it with that recipe.
I have seen this technique (send all the indexed search terms) a few times in the wild. Racket (a scheme derivative specifically made for teaching) has a search page where everything public is indexed [1] (see…
(IANAL) The most horrible part is that _they are allowed to drop their case anytime_ in the UK civil court. In previous cases when the accused has run out of money, the defendants have to pay their costs [1] to keep the…
Emacs launches processes on the `PATH` so using `direnv`, you can change the `PATH` to the version of `rust-analyzer`/`gopls`/`python`/`psql`/`protoc` that you're using as well as setting the correct load paths for each…
I really feel this is an infra problem rather than a dev problem though; the reverse-proxy should strip 5xx response bodies before the egress no?
It's complex [1], OCaml does have a unboxed representation of floats in arrays [2] and records (provided all fields are floats), but elsewhere they are indeed boxed. [1]…
Have you heard of ReScript [1]? [1] https://rescript-lang.org/
Presumably because of emacs-ng [1], from the page " additive native layer over emacs, bringing features like Deno's Javascript and Async I/O environment, Mozilla's Webrender,". [1] https://github.com/emacs-ng/emacs-ng
Thanks for the link; not sure how I missed that completely while going through the thread documentation. I completely forgot about native modules completely... I don't think I disagree with anything you've said; though…
I meant exactly that, both core JS and ELisp share the same model of a global interpreter where blocks of code can be interleaved and yielded (both manually and in response to external events). I wanted to know what in…
Regarding threads, they are definitely more co-operative co-routines than threads. However, if I recall there are only a few calls which can switch the context; the usual culprits, such as `thread-yield`, `sleep-for`,…
Obligatory link: [1] https://github.com/ethan-leba/tree-edit
It already has a process/event queue like JS since Emacs 26. What did you mean in particular?
Emacs threads are not parallel and are co-operative rather than preemptive. The co-operative parts mean that you can guarantee atomic updates very easily when updating global variables or buffers so you don't run into…
I agree, You can /always/ go from `f : t -> r` to `f' : t option -> r option` with `Option.map` (ML-syntax, translate to w/e type syntax you're most familiar with), but the reverse is not true. I think that the example…
I think it's worth noting that when we talk about a system operating on a set of components, it literally means a function which either reads and creates new components or entities or mutates existing components. Most…
Nvidia has a visual difference, see the table [1]. [1] https://developer.nvidia.com/blog/introduction-turing-mesh-s...