Does anyone know of any language servers that use the notebook capabilities introduced in LSP 3.17? Do any clients actually implement it?
I've found the official documentation from MS, but I haven't really found much else beyond that.
It seems promising for one of my long-term projects but I'm not even sure I understand what exactly it does, and I'm pretty sure what I have in mind is far from its intended use case.
Can't a neural network only ever achieve an O(1) time approximation of an NP hard problem? Unless you're using it as a heuristic inside some broader search algorithm.
Rust's traits are basically Haskell typeclasses, with a few extensions enabled, like multiple parameters.
Trait objects are basically existential types, with a few more restrictions on them. But in essence polymorphism in Haskell and Rust are very similar.
The big thing Rust is missing is higher kinded polymorphism, ie the ability to abstract over type constructors. This makes it easy, for example, to abstract over a container type while putting different things in that container.
This has get approved in the Associated Type Constructors RFC, but it's still in the works for actually landing.
Right, but Rice's theorem means that you either have false positives, false negatives, or "Unknown" answers in any static analysis. Which means that the CIA could never guarantee the absence of malware, for example, if any of the programs timed out in the static analysis.
Algebraic data is just so perfectly suited to abstract syntax. It's clearly possible to model an AST in C, but not to do it in an ergonomic z typesafe way.
Removing them wasn't necessary, but it's better. Elm isn't 1.0 yet, so "does this make the language better" is the metric for feature addition or deletion.
I wouldn't say that it's about performance for Elm. Its virtual-dom has been shown to be wickedly fast with pure code.
It's more that real programs need real effects: you need to send HTTP requests, read from user input, etc. Elm gives you a managed way to deal with those effects, while keeping the program declarative, and making as much of the logic side-effect free as is possible.
I don't think the semantics are any more imperative than IO in Haskell, it's just that there's a different abstraction used for dealing with it.
Moreover, Tasks are absolutely monadic, with `andThen` being the bind operator. Elm just chooses to focus on the individual use-case, as opposed to focusing on the broader abstraction.
It has changed, in that the language is moving away from Native code, and instead is trying to provide the web-platform as part of the language/core libs.
And for everything else, there's Ports. You can't use them in libraries, but for your own projects they're a much better JS FFI.
I've found the official documentation from MS, but I haven't really found much else beyond that.
It seems promising for one of my long-term projects but I'm not even sure I understand what exactly it does, and I'm pretty sure what I have in mind is far from its intended use case.