batteries-included
fslang-suggestions
Our great sponsors
batteries-included | fslang-suggestions | |
---|---|---|
3 | 43 | |
509 | 338 | |
0.2% | 0.6% | |
6.6 | 2.8 | |
13 days ago | 9 months ago | |
OCaml | ||
GNU General Public License v3.0 or later | - |
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.
batteries-included
-
Does type inference renders the code less readable ?
Here's a straight example: I've searched for a list of "awesome" OCaml libraries, chose "Batteries Included" which is apparently a widely-used OCaml library, and navigated to its source code on GitHub. Here's a random file:
-
F# (in)compatibility
Batteries Included got its implementation of Seq back in 2009: https://github.com/ocaml-batteries-team/batteries-included/commit/d67bfc69c79caa6b712ada4af0c6df604fb823b4
-
What would a principled imperative language look like?
Another example is imperative control flow. OCaml and SML only have basic loops, they don't have returns, breaks, continues. You can simulate them with exceptions, even in a generic way if you use some higher-order functions. Getting good performance for these kind of returns would rely on inlining this function and optimizing local exceptions, which OCaml probably doesn't do as of now.
fslang-suggestions
-
Reusing static constraints with multiple generics
Trying to extend this https://github.com/fsharp/fslang-suggestions/issues/1089 to have two generics:
-
VN Compiler. How to use Blazor components with Bolero. Introducing Blazor.Diagrams. (Pt. 1) (Restart)
Basically, what I've made in Spiral. There is even a F# issue to improve the syntax.
-
Can I call method on the output of the pipe?
Not currently supported but it's an open language suggestion that's likely to end up in F#. https://github.com/fsharp/fslang-suggestions/issues/506
- Mapperly - A .NET source generator for object to object mappings
-
Microfeatures I'd like to see in more languages
Re: the argument accessor shorthand, there seems to be a proposal for exactly that (using _ instead of &): https://github.com/fsharp/fslang-suggestions/issues/506#issu...
-
Need help with Azure.Storage.Blobs to do simple enumerate blob items
I found this post (https://github.com/fsharp/fslang-suggestions/issues/975) which is about the same thing, but I'm confused as to what the final resolution was. There was mention of a taskSeq, but I can't find much info on that.
-
OCaml programmer with some noob F# ecosystem questions
An issue in FSharp suggestions
-
Announcing .NET 7 Preview 7
F# doesn’t currently seem to support source generators.
-
What are the features you're looking forward to in the next version of Fsharp?
"Blessed" literals: only FSharp.List and System.Array have a built-in collection syntax in the language ([ ] and [| |]). Only FSharp.List has a special pattern matching constructor (::). The language itself shouldn't favor a particular type over another: it should be possible, at the library level, to write the same code but using different collection types (related discussion here).
-
F# (in)compatibility
I mostly write F# so I can only speak for F#, but if you want you can create a module which extends Seq to add the OCaml names. I suspect the same is possible in OCaml. The authors are not trying to impede compatibility, but compatibility is not a goal. If you value compatibility, or adhering to ML norms, and you use F#, I recommend you (kindly) advocate for it in relevant issues on the F# language discussion repo. https://github.com/fsharp/fslang-suggestions/issues
What are some alternatives?
factor - Factor programming language
ProjectReunion - The Windows App SDK empowers all Windows desktop apps with modern Windows UI, APIs, and platform features, including back-compat support, shipped via NuGet.
TablaM - The practical relational programing language for data-oriented applications
HVM - A massively parallel, optimal functional runtime in Rust
langs
nand2tetris - Original course HDL solutions, F# implementations for the software stack, and VHDL implementations for the hardware stack for the nand2tetris course and The Elements of Computing Systems book.
ocaml - The core OCaml system: compilers, runtime system, base libraries
fslang-design - RFCs and docs related to the F# language design process, see https://github.com/fsharp/fslang-suggestions to submit ideas
FSharpPlus - Extensions for F#
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
Paket - A dependency manager for .NET with support for NuGet packages and Git repositories.
Dotnet CLI - The .NET Core command-line (CLI) tools, used for building .NET Core apps and libraries through your development flow (compiling, NuGet package management, running, testing, ...).