opam-monorepo
ionide-vscode-fsharp
opam-monorepo | ionide-vscode-fsharp | |
---|---|---|
2 | 16 | |
130 | 841 | |
0.0% | 0.6% | |
6.8 | 8.7 | |
about 2 months ago | 7 days ago | |
OCaml | F# | |
ISC License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opam-monorepo
-
Why OCaml?
Re: dependency management and build tooling: these days I'm using opam-monorepo (https://github.com/tarides/opam-monorepo, previously known as duniverse) to manage dependencies and it's working out pretty well for me. It vendors all dependencies into a node_modules-like directory inside the projects and writes an opam-compatible lockfile, and it builds all the dependencies using dune. For the most widely used packages that don't already use dune it uses an overlay containing dune ports at https://github.com/dune-universe/opam-overlays.
-
My adventures in ML Land
There is a lot to be desired about OCaml tooling, but I am really excited about opam-tools and duniverse.
ionide-vscode-fsharp
- Ask HN: Why do you think F# is not more popular, even within the .NET ecosystem?
-
Is there a modern IDE with good support for OCaml?
I'd love to see something similar to Microsoft's Ionide project or for JetBrains to invest in IDE support.
-
Why OCaml?
> Pretty good, https://ionide.io
It pains me to admit it because I really like F# but, with due respect to the developers, Ionide and its related projects are the most unstable toolchain I've ever used.
Spend half a day reloading the editor because the extension keeps hanging on non-trivial MSBuild only to discover that the formatter has truncated in half one of the files you worked on due to a soundness bug. (OCaml's editor support, in contrast, is quite stable.)
Rider is the best editing experience I've had with F#, by far.
-
How to get a non-broken F# development experience?
I know it's a recurring topic but it's reaching a high level of pain *again* (see NET SDK 6.0.400 and 7.0.100 previews don't currently work with Ionide).
-
The Case for C# and .NET
I don't disagree but it owes a lot of that to OCaml. That said, since we're talking about C#, F# and VS Code I'm gonna talk about a pet peeve I have. If you open a C# project in VS Code when the "Ionide" (basically the F# plugin for Code) is installed then Ionide thinks it's a F# project and will open some F# stuff after a few seconds (or prompt you to setup some F# stuff in its gitignore). The root cause has been identified (plugin activates when it sees a ".sln" file), a PR have been opened and rejected with no mention as to why (https://github.com/ionide/ionide-vscode-fsharp/pull/1401) and the developers behind it are frustratingly non-communicative about it, closing issues about it (https://github.com/ionide/ionide-vscode-fsharp/issues/1701). Usual rules about OSS maintainers apply, they don't technically owe us users anything ... but man it feels like we're being trolled by now :D
-
Rust Is Hard, Or: The Misery of Mainstream Programming
F# doesn't have a hard dependency on vscode. Resources from MS will obviously encourage using MS tooling, but ionide [1] is really good. The lsp+neovim workflow is not as good but getting better.
[1] https://ionide.io/
-
Making Ionide less "intrusive" in its new vscode version
Important thread about this: https://github.com/ionide/ionide-vscode-fsharp/issues/1693
-
Perf Avore: A Rule Based CrossPlatform Performance Based Monitoring and Analysis Tool
Perf Avore was developed on VSCode using the ionide plugin and dotnet cli.
-
A few newbie questions
I was on .Net 5 but same issue on 6. I tried the fix here- setting FSharp.dotnetRoot explicitly in settings.json and so far it seems better.
-
Debugging tests in VS Code
Make sure to keep an eye on this MR for that very capability :)
What are some alternatives?
ocaml-containers - A lightweight, modular standard library extension, string library, and interfaces to various libraries (unix, threads, etc.) BSD license.
playwright-dotnet - .NET version of the Playwright testing and automation library.
utop - Universal toplevel for OCaml
proposal-pipeline-operator - A proposal for adding a useful pipe operator to JavaScript.
Feliz - A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F#, optimized for happiness
jakt - The Jakt Programming Language
Perla - A cross-platform tool for unbundled front-end development that doesn't depend on Node or requires you to install a complex toolchain
Escalin
fs-components
elmish - Elm-like abstractions for F# apps
Fable: F# |> BABEL - F# to JavaScript, TypeScript, Python, Rust and Dart Compiler
Thoth.Json - Library for working with JSON in a type safe manner, this libs is targeting Fable