fsprojects / .github Goto Github PK
View Code? Open in Web Editor NEWThe place to request for projects to be added or removed from the incubation space
The place to request for projects to be added or removed from the incubation space
The original fsprojects/fsharp-language-server repo seems completely unmaintained. I have forked it and republished the extension with a large number of improvements (probably a few extra bugs too :b ), from myself and other members of the community.
As requested in this issue faldor20/fsharp-language-server#15 , would it be possible to merge the two projects, or replace the old one, or some such, so that members of the community have less confusion and duplication?
Thanks.
I lost access to the organization and therefore my repo at github.com/fsprojects/Interstellar due to not having 2FA enabled, which I've since fixed. Is there a way I can get access back?
During last Office Hours in FSSF Slack we've discussed the idea of promoting bounties as a model of monetizing OSS and getting more contributors to F# projects.
For those unfamiliar with bounty model here is basic workflow:
Few points, that are summing up discussion.
Hello,
Unfortunately, I have already polluted the NuGet namespace with FSharp.Foo
packages before I found and read the guideline.
Since few people expect for me use those libraries, I'm considering either
In particular, FSharp.Span.Utils
seems falling into option 1; it's very small so that I can easily add docs and maintain, and thankfully some people liked it (not sure if it is actually used, though).
Can I transfer it to fsprojects?
Please, add https://github.com/YaccConstructor/YC.PrettyPrinter to fsprojects.
I started learning F# and this cheat-sheet was recommended to me and comes in and the top of searches (so it has some history) but I've found it largely out of date.
fsprojects/fsharp-cheatsheet#13 (comment)
I would be interested in updating it over time and @bartelink has offered to be a quiet second.
Please add F# 3D Math library to the list of F# projects:
https://github.com/eloraiby/FsMath3D
We have been working on this for about 100 hours now. It's been a good vehicle for learning F# and also might be of use to the community:
The FSharp solution contains implementations and tests of permutation algorithms from this paper:
Recently, I created the organisation fsharp-mobile. It aims to regroup all the efforts around improving toolings and frameworks for desktop and mobile development with F#.
I am already hosting most of the work I did over the years such as the F# mobile templates, 3rd party support and additional variants for Fabulous.
I would also like the main Fabulous repository to join this organisation if that's okay.
Hi, I am interested in becoming a maintainer of the FsLexYacc project. We are actively using the tools.
Hello,
I currently work on a library which I call "FsLocalState". The repo is here, and there is a description and some samples in the README.
Basically, it's about composing 'state-aware' functions as if they were just normal functions. Initially, I did that for signal processing and physics simulation, where is always a lot of state involved, with non-linear computations, e.g. when designing filters or modeling and numerically solving differential equations. But it's quite generic, and I guess it could be useful for other applications - not only in the "working with data series" domain. Another brief idea I had was creating a view engine and investigate how this relates to other approaches like react / virtual dom or Svelte/Sutil-like things. Maybe some other people are interested in this, too, and come up with other use cases - who knows...
If you think that this library would fit in fsprojects, then I could move it here?
Thanks, and have a nice sunday!
The layout of https://fsprojects.github.io/ occludes the project names. There is no point in a list of names that clips the names.
TickSpec is a mature open source testing library for .Net written in F#.
The original repository was held on CodePlex which is closing down soon.
Some users of the library have created their own clones of the repository on GitHub, others are unsure which repository to use, see thread:
I propose that the following repository is transferred to fsprojects as a common repository:
That way users can merge changes to a common repository.
I'd love to have Interstellar moved over here to fsprojects!
Related: fsharp/fsharp.org#854
Hello all,
I forked the shmew/Feliz.Plotly
repository and updated dependencies and Feliz api calls. I also created a pull request here. This pull request was created on March 8, 2023 and updated dependencies as well as removed webpack in favor of vite.
You can view documentation here: https://everybodykurts.github.io/Feliz.Plotly
Please let me know if you need any additional information.
Kurt
https://github.com/orgs/fsprojects/teams/fsharplus-admin
Add the users @adz and @wallymathieu
That project probably needs a new team, as well, that should include @forki and @cloudruntime.
Hello, I'd like to be added as the maintainer of GraphProvider. I use DGML routinely for domain modeling.
We should gradually make more "fsprojects" and other F# community libraries available as portable libraries (profile 7, 78 or 259). Portable libraries are consumable by both .NET Core and .NET Framework projects, as well as Windows apps and so on. Looking ahead it seems pretty important that we maximize the reach of F# libraries where possible. This will be a fairly long process but it will be worth it.
For example, we made FSharp.Control.AsyncSeq available as both a .NET 4.5 and Profile7 PCL in this PR. We could have made it only a Profile7 but decided to do both for the moment.
FsRandom is an fsharp library to generate random numbers in the way of functional programming including computation expressions.
It is extensible to support adding pseudo-random number generators and random functions such like generating random passwords or random user names.
Also, it can leverage System.Random class and its subclasses defined in libraries like MathNet.Numerics.
Hi, would it be possible to get FSharpLint into fsprojects? https://github.com/duckmatt/FSharpLint/issues/28
@sergey-tihon From time to time people ask if it would be possible to fork-and-reboot an apparently-abandoned F# community project (e.g. in a personal repository) into fsprojects.
In general in the past we've never had to do this as project owners have either decided to move in or not. However it's a scenario we should think about, and probably have some reasonable policy guidelines.
Some notes:
cc @cartermp
Hi, can I transfer https://github.com/jbfp/fsharp-dnx-templates to fsprojects? :)
i wanna move https://github.com/panesofglass/FSharp.Data.JsonSchema into fsproject. Im reaching out to the author cuz i dont wanna see this project die out. Writing this issue a lil preemptively while i get maintainer access to the repo
Related: fsprojects/FsHttp#79
Although there are still some TODOs open before transferring and releasing the next major, I would be happy to transfer FsHttp to fsprojects.
Thank you for maintaining this space.
Dear Maintainers,
Recently we created new NuGet account fsprojects that is owned by @fsprojects/owners group (that have a full control over all fsprojects organization)
The goals of this account are:
This account will not be used for publishing new version of the package.
If you are agree with goals, please feel free to add fsprojects to owners list of your fsprojects's packages.
@theburningmonk @ovatsus @colinbull @forki @luajalla @ptrelford @nelak @lasandell @panesofglass @dmitry-a-morozov @jbtule @dsevastianov @mavnn @ReedCopsey @duckmatt
@mausch @kimsk @dmohl @dtchepak @pezipink
Current state:
Hi, let's do it. Do I need to wait for approval or find a new maintainer or can I just press the button and make the transfer to kick things off?
hello, can I transfer FSharp.Data.Xsd?
Could we please move BioProviders to fsprojects? Recommended here. Thank you!
We've written a queue based on redis in f#, and we would like to add it to fsprojects.
It's based on OptimalBits/bull.
The repository is here: http://github.com/curit/oxen and the docs site is here: http://curit.github.io/oxen/
Let's use this issue to document how to switch to .NET-Core based tooling in "fsprojects" repos. A good measure of this is if "mono" is no longer required in the repo at all (except maybe for testing)
Typical commands to acquire and run paket:
dotnet tool install paket --tool-path .paket
.paket\paket restore
dotnet tool install fake-cli --tool-path .fake --version 5.12.6
.fake\fake run build.fsx
Many "fsprojects" repos use FAKE 4. See https://fake.build/fake-migrate-to-fake-5.html
At top of build.fsx
you'll need this:
#r @"paket:
source https://nuget.org/api/v2
framework netstandard2.0
nuget Fake.Core.Target
nuget Fake.Core.ReleaseNotes
nuget Fake.DotNet.Cli
nuget Fake.DotNet.AssemblyInfoFile
nuget Fake.Tools.Git //"
#if !FAKE
#load "./.fake/build.fsx/intellisense.fsx"
#r "netstandard" // Temp fix for https://github.com/fsharp/FAKE/issues/1985
#endif
Notes:
build.fsx.lock
whenever you update dependencies//"
on the last line, used by FAKE to detect the Paket section in the scriptTypical opens:
open Fake
open Fake.Core.TargetOperators
open Fake.Core
open Fake.Tools.Git
open Fake.DotNet
open Fake.IO
open Fake.IO.Globbing.Operators
open System
open System.IO
Typical code changes. When in doubt search for the old identifier in FAKE repository source
open Fake.Git --> open Fake.Tools.Git
open Fake.ReleaseNotesHelper --> remove
parseReleaseNotes --> ReleaseNotes.parse (open Fake.Core)
Target --> Target.create (open Fake.Core)
CreateFSharpAssemblyInfo --> AssemblyInfoFile.createFSharp (open Fake.DotNet)
Attribute.Title --> AssemblyInfo.Title (open Fake.DotNet)
CleanDirs --> Shell.cleanDirs (open Fake.IO)
!! --> open Fake.IO.Globbing.Operators
Paket.Pack --> Paket.pack (open Fake.DotNet.Paket)
toLines --> String.toLines
fullclean --> Repository.fullclean (open Fake.Tools.Git)
copyRecursive --> Shell.copyRecursive
stageAll --> Staging.stageAll
commit --> Commit.exec
DoNothing --> ignore
tracefn --> Trace.tracefn
RunTargetOrDefault --> Target.runOrDefault
Things with no alternative:
executeFSIWithArgs
Other notes:
Paket.pack
will need an explicit ToolPath
for .NET Core paket tool local install, e.g.let paketToolPath = __SOURCE_DIRECTORY__ + (if Environment.isWindows then "\\.paket\\paket.exe" else "/.paket/paket")
Target.create "NuGet" (fun _ ->
Paket.pack (fun p ->
printfn "p.ToolPath = %A" p.ToolPath
{ p with
...
ToolPath = paketToolPath
.... })
)
build.cmd
and build.sh
Each repo normally has a build.cmd
and build.fsx
that first acquire FAKE and Paket:
build.cmd:
@echo off
dotnet tool install fake-cli --tool-path .fake --version 5.12.6
dotnet tool install paket --tool-path .paket
.paket\paket.exe restore
if errorlevel 1 (
exit /b %errorlevel%
)
.fake\fake.exe run build.fsx %*
build.sh:
#!/bin/bash
if test "$OS" = "Windows_NT"
then
cmd /C build.cmd
else
dotnet tool install fake-cli --tool-path .fake --version 5.12.6
dotnet tool install paket --tool-path .paket
.paket/paket restore
exit_code=$?
if [ $exit_code -ne 0 ]; then
exit $exit_code
fi
.fake/fake run build.fsx $@
fi
Use this netfx.props
- updated so it doesn't need Mono: https://github.com/fsprojects/FsLexYacc/blob/2f9f06a1fe327e2c334abc6b76b60cce697b78d2/netfx.props
Projects such as FsLexYacc
include binary tools in their output nuget packages, and a targets file to use these
Add a "publish" step, e.g.
dotnet public -c Release -f netcoreapp2.0 src\FsLex\fslex.fsproj
Include the binaries in the nuget package, e.g.
../src/FsLex/bin/Release/net46/publish ==> build/fslex/net46
../src/FsLex/bin/Release/netcoreapp2.0/publish ==> build/fslex/netcoreapp2.0
../src/FsYacc/bin/Release/net46/publish ==> build/fsyacc/net46
../src/FsYacc/bin/Release/netcoreapp2.0/publish ==> build/fsyacc/netcoreapp2.0
Adjust the targets to start the right binary using the right runner, e.g.
<PropertyGroup>
.....
<FsLexToolPath Condition="'$(FsLexToolPath)' == '' AND '$(MSBuildRuntimeType)'!='Core'">$(MSBuildThisFileDirectory)/fslex/net46</FsLexToolPath>
<FsLexToolExe Condition="'$(FsLexToolExe)' == '' AND '$(MSBuildRuntimeType)'!='Core'">fslex.exe</FsLexToolExe>
<FsLexYaccToolRunner Condition="'$(UseFsLexYaccToolRunner)' != 'false' AND '$(FsLexYaccToolRunner)' == '' AND '$(MSBuildRuntimeType)'!='Core' AND '$(OS)' == 'Unix'">mono </FsLexYaccToolRunner>
<FsLexToolPath Condition="'$(FsLexToolPath)' == '' AND '$(MSBuildRuntimeType)'=='Core'">$(MSBuildThisFileDirectory)/fslex/netcoreapp2.0</FsLexToolPath>
<FsLexToolExe Condition="'$(FsLexToolExe)' == '' AND '$(MSBuildRuntimeType)'=='Core'">fslex.dll</FsLexToolExe>
<FsLexYaccToolRunner Condition="'$(UseFsLexYaccToolRunner)' != 'false' AND '$(FsLexYaccToolRunner)' == '' AND '$(MSBuildRuntimeType)'=='Core'">dotnet </FsLexYaccToolRunner>
</PropertyGroup>
...
<Exec Command="$(FsLexYaccToolRunner)"$(FsLexToolPath)\$(FsLexToolExe)" -o "$(FsLexOutputFolder)%(FsLex.Filename).fs" %(FsLex.OtherFlags) %(FsLex.Identity)"/>
Problems
At time of writing FSharp.Formatting is not yet able to produce docs for netstandard2.0
DLLs. Therefore the only option for producing docs is to make net46
or similar DLLs as part of your build.
At time of writing, both the fsformatting.exe
tool (normally driven by FAKE FSFormatting module) and the FSharp.Formatting libraries (normally driven by a generate.fsx
script) are .NET Framework only. This means documentation generation must run on NET Framework.
Recommendations:
switch to docsrc
and docs
for github pages, e.g. see the revised ProjectScaffold
Get rid of generate.fsx
and move to structure similar to ProjectScaffold doc generation
If still using generate.fsx
then make sure generate.fsx
is not a FAKE script and only generate docs using Windows. If necessary manually generate docs using fsi docsrc\generate.fsx
rather than doing it from FAKE 5
TBD
net4x
librariesTBD
The more the merrier! Would be sweet to have help when it comes to Fable related workflows, see fsprojects/FSharpPlus#392 for instance.
I'm interested in being the primary active maintainer for this repo.
Hi,
I've worked on this library - repo is here. A description of the library's goals and performance benchmarks compared to many other .NET collections are located here comparing this to most .NET collection libraries I could possibly find. Its been in some large production systems for a number of years now and its speed has made some of our programs viable in F# so its mostly stable at this point.
The library is an effort to reduce the penalty of immutability for both fun and for profit - to reduce the cost of immutability as much as possible (specifically speed) but keep its advantages.
I'm considering moving this to FsProjects as over the years there's been a lot of feedback around slow collection types in F#, specifically the Map over the years. In my personal use cases; this work has made F# feasible to use - it may help others as well.
It's pretty much an optimised HashMap/HashSet (HAMT) with specific modifications for the .NET runtime, with plenty of performance tuning iterations in an attempt to squeeze out as much performance as possible.
If you think this library is a good fit for fsprojects; happy to move it here. If not happy to hear that discussion as well of potential alternatives.
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.