VisualFSharp
language-ext
Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
VisualFSharp | language-ext | |
---|---|---|
55 | 39 | |
3,647 | 5,921 | |
1.7% | - | |
9.7 | 6.7 | |
1 day ago | 6 days ago | |
F# | C# | |
MIT 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.
VisualFSharp
-
AOT
F# AOT feature tracking
- old languages compilers
-
Ask HN: Is Clojure Dead?
Can't speak to the others, but I'm pretty sure the F# team just doubled or tripled in size (it's still small though). Also the GitHub repo is very active: https://github.com/dotnet/fsharp .
- What are the features you're looking forward to in the next version of Fsharp?
-
Help with trying to get a .NetFramework project running in VS2022
Have you tried the workaround listed here? https://github.com/dotnet/fsharp/issues/12239
-
How to install Homebrew package manager on Steam Deck to compile software and install command-line programs without disabling the read-only partition (allowing the installation to persist on SteamOS updates)
(deck@steamdeck bin)$ brew install --build-from-source mono ==> Downloading https://github.com/mono/mono/commit/3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/77885651b42fb3b50e405e300ab4dce5d65e10eac8ee6b8d956b5240b58adcb3--3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch ==> Downloading https://raw.githubusercontent.com/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff Already downloaded: /home/deck/.cache/Homebrew/downloads/195208ba31cadc265ea97bb8aad4e78caab1200daf4d855e6c839b5f987f92db--configure-big_sur.diff ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-portable-pdb.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/81c9245ab2b5c07a5bc87a8792e374b22a652c14be27b73aa21c1948f1273464--fsharp-portable-pdb.patch ==> Downloading https://raw.githubusercontent.com/mono/mono/a22ed3f094e18f1f82e1c6cead28d872d3c57e40/packaging/MacSDK/patches/fsharp-netfx-multitarget.patch Already downloaded: /home/deck/.cache/Homebrew/downloads/13d3ba5313c9e2b60ebfa4c40d5039269485e75aa41fcf301cc55458382fcb29--fsharp-netfx-multitarget.patch ==> Downloading https://github.com/dotnet/fsharp/commit/be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch?full_index=1 Already downloaded: /home/deck/.cache/Homebrew/downloads/c3d6a94f53c828d6ad7b5a563682a6de3d388644f3a33f1ea55ec28fa461e24b--be6b22d11ae996b2d9b8e0724d9cf05ad65a0485.patch ==> Cloning https://github.com/dotnet/fsharp.git Updating /home/deck/.cache/Homebrew/mono--fsharp--git ==> Checking out tag v11.0.0-beta.20471.5 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 HEAD is now at 03283e07f Merge pull request #10172 from dotnet/merges/main-to-release/dev16.8 ==> Downloading https://raw.githubusercontent.com/mono/mono/3070886a1c5e3e3026d1077e36e67bd5310e0faa/packaging/MacSDK/fsharp-layout.sh Already downloaded: /home/deck/.cache/Homebrew/downloads/85ab59b70661632962989d0527aa31b2a720c49968d45f368ff0a1fa190159b0--fsharp-layout.sh ==> Cloning https://github.com/mono/msbuild.git Updating /home/deck/.cache/Homebrew/mono--msbuild--git origin/HEAD set to xplat-master refs/remotes/origin/xplat-master ==> Checking out revision 70bf6710473a2b6ffe363ea588f7b3ab87682a8d HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) HEAD is now at 70bf67104 prevent exception for increasing priority (#5547) ==> Downloading https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz Already downloaded: /home/deck/.cache/Homebrew/downloads/6092400166df5dee225b09670c68fa3aa400319e8871facaff0106aa143419fb--mono-6.12.0.122.tar.xz ==> Patching ==> Applying 3070886a1c5e3e3026d1077e36e67bd5310e0faa.patch patching file packaging/MacSDK/fsharp-layout.sh ==> Applying configure-big_sur.diff patching file configure Hunk #1 succeeded at 10928 (offset 2195 lines). ==> ./configure --prefix=/home/linuxbrew/.linuxbrew/Cellar/mono/6.12.0.122_1 --enable-nls=no Last 15 lines from /home/deck/.cache/Homebrew/Logs/mono/01.configure: checking whether we are using the GNU C++ compiler... yes checking whether g++-11 accepts -g... yes checking dependency style of g++-11... gcc3 checking for a Python interpreter with version >= 3.2... python checking for python... /usr/bin/python checking for python version... 3.1 checking for python platform... linux checking for python script directory... ${prefix}/lib/python3.10/site-packages checking for python extension module directory... ${exec_prefix}/lib/python3.10/site-packages checking dependency style of gcc-11... gcc3 checking for gawk... (cached) gawk checking how to run the C preprocessor... /lib/cpp configure: error: in `/tmp/mono-20220328-41596-77f8ae/mono-6.12.0.122': configure: error: C preprocessor "/lib/cpp" fails sanity check See `config.log' for more details READ THIS: https://docs.brew.sh/Troubleshooting
-
Hot-reload in Fun.Blazor
I know csharp got hot-reload for blazor for a while, I also keep tracking on the fsharp issue and hope there is some miracle which can happen. But there is no progress here. So I decide to have a look for what I can do. To make dotnet watch work directly is too hard to me which required a lot of knowledge about FSharp.Compiler.Service and the IL format which csharp roslyn is using for patch the program for hot-reload.
-
Data Access in Fsharp
If you get a message like "warning FS3511: This state machine is not statically compilable." don't worry it is being tracked in https://github.com/dotnet/fsharp/issues/12038
-
What I wish I knew when learning F#
You can simply contribute to https://github.com/dotnet/fsharp/, the maintainers are very friendly to new contributors in my experience (though the codebase is old and often quite hard to understand).
-
The Very First Post
The F# Programming Language: I consider F# as the functional-oriented sibling of C#. This language offers a nice introduction to statically-typed functional programming. It offers a really nice ML-like syntax, as well as some features like type providers (a way to define a schema for data such as a database table, JSON file, etc.).
language-ext
-
The combined power of F# and C#
> but I just want something closer to Scala, but for .Net
That's what I'm working toward with my language-ext library [1]. Obviously more support for expression based programming would be welcome (and higher kinds), but you can do a lot with LINQ and a good integrated library surface.
-
Option<T> monad for Unity/UniTask
Definitely a fan of option types, I wonder this library has anything over the C# library language-ext which also has an Option type?
-
Result pattern: language-ext vs FunctionalExtensions?
Hey, I am considering adopting the Result pattern in my codebase. Wanted to get some opinions from someone who has experience with it: should I start with language-ext or FunctionalExtensions?
-
John Carmack on Functional Programming in C++ (2018)
> [1] https://github.com/louthy/language-ext
Cool library. I've had a few of these patterns in my Sasa library for years, but you've taken it to the Haskell extreme! Probably further than most C# developers could stomach. ;-)
You might be interested in checking out the hash array mapped trie from Sasa [1]. It cleverly exploits the CLR's reified generics to unbox the trie at various levels which ends up saving quite a bit of space and indirections, so it performs almost on par with the mutable dictionary.
I had an earlier version that used an outer struct to ensure it's never null, similar to how your collections seem to work, but switched to classes to make it more idiomatic in C#.
I recently started sketching out a Haskell-like generic "Deriving" source generator, contrasted with your domain-specific piecemeal approach, ie. [Record], [Reader], etc. Did you ever try that approach?
[1] https://sourceforge.net/p/sasa/code/ci/default/tree/Sasa.Col...
[2] https://sourceforge.net/p/sasa/code/ci/57417faec5ed442224a0f...
-
What C# feature blew your mind when you learned it?
language-ext supports it and it's pretty dang cool.
-
Three words.,, => C# Functional Programming is awesome!!! Do you seasoned developers have any war-stories or nightmare stories regarding Functional Programming?
https://github.com/louthy/language-ext Honestly, this is pretty advanced for me, and im still a bit mind-blown looking at it, This is like the experts level library, with all of the methods AND tools to expand and build your own libraries.. While the above one just has the most commonly used It has a pretty cool immutable type generator I want to check out
- Welcome to C# 11
- Just “Discovered” Linq. Now Whole Program is Full of Linq.
-
Using functional extensions in production C# code?
As others have mentioned, language-ext has some pretty good functional extensions.
What are some alternatives?
OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching
CSharpFunctionalExtensions - Functional extensions for C#
Optional - A robust option type for C#
MoreLINQ - Extensions to LINQ to Objects
FunScript - F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider
Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
F# - Please file issues or pull requests here: https://github.com/dotnet/fsharp
Roslyn - The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
Nemerle - Nemerle language. Main repository.
ClojureCLR - A port of Clojure to the CLR, part of the Clojure project
ocaml - The core OCaml system: compilers, runtime system, base libraries
Fable - The project has moved to a separate organization. This project provides redirect for old Fable web site.