FSharp.Core.Fluent icon indicating copy to clipboard operation
FSharp.Core.Fluent copied to clipboard

map2, map3, and mapi2 are missing

Open OlegAlexander opened this issue 3 years ago • 16 comments

Description

The functions map2, map3, and mapi2 are missing. There may be others--I'll look more carefully this weekend! Thank you.

OlegAlexander avatar Sep 23 '22 03:09 OlegAlexander

Here's a more complete list of missing functions:

  • allPairs
  • exists2
  • fold2
  • foldback2
  • forall2
  • insertAt
  • insertManyAt
  • iter2
  • iteri2
  • map2
  • map3
  • mapi2
  • removeAt
  • removeManyAt
  • splitAt
  • tryExactlyOne
  • updateAt

OlegAlexander avatar Sep 25 '22 00:09 OlegAlexander

The missing '2' functions are by design

Could you submit a PR for the others?

dsyme avatar Sep 25 '22 09:09 dsyme

@OlegAlexander would you like to become co-maintainer here?

dsyme avatar Sep 25 '22 09:09 dsyme

I've started working on the PR, but it looks like it will take me a while because I can only work on it in my spare time.

I'd be honored to become a co-maintainer of this library! But let's see how well I do on the PR first :)

OlegAlexander avatar Sep 27 '22 03:09 OlegAlexander

OK! :)

dsyme avatar Sep 27 '22 11:09 dsyme

@OlegAlexander Please submti a PR with additions and version bump to https://github.com/fsprojects/FSharp.Core.Fluent/blob/main/RELEASE_NOTES.md when you're done, thanks! After that's accepted auto-publish will kick in

dsyme avatar Nov 11 '22 01:11 dsyme

Hi @dsyme, thank you for approving my changes! Sorry it took me so long to complete this task.

OlegAlexander avatar Nov 11 '22 01:11 OlegAlexander

And there it is! https://www.nuget.org/packages/FSharp.Core.Fluent/3.0.2

dsyme avatar Nov 11 '22 02:11 dsyme

Some warning about symbols, maybe we should switch to embedded symbols: https://www.nuget.org/packages/FSharp.Core.Fluent/

dsyme avatar Nov 11 '22 02:11 dsyme

That's great! But it seems the API documentation isn't being generated:

https://fsprojects.github.io/FSharp.Core.Fluent/reference/index.html

OlegAlexander avatar Nov 11 '22 02:11 OlegAlexander

The problem is the build is building into bin but the fsdocs execution doesn't know about this

This is because FAKE is being used to artificially set the OutputPath https://github.com/fsprojects/FSharp.Core.Fluent/blob/main/build.fsx#L48

Either set the OutputPath property during the docs build or stop setting it during the FAKE build.

TBH we should just rip out the use of both FAKE and Paket from this repo. It's too simple to need either.

    /home/runner/work/FSharp.Core.Fluent/FSharp.Core.Fluent/src/FSharp.Core.Fluent/bin/Release/net6.0/FSharp.Core.Fluent.dll
*** /home/runner/work/FSharp.Core.Fluent/FSharp.Core.Fluent/src/FSharp.Core.Fluent/bin/Release/net6.0/FSharp.Core.Fluent.dll does not exist, has it been built? You may need to provide --properties Configuration=Release.

Substitutions/parameters:
  root --> https://fsprojects.github.io/FSharp.Core.Fluent/
  fsdocs-authors --> Don Syme;Phillip Carter
  fsdocs-collection-name --> FSharp.Core.Fluent
  fsdocs-collection-name-link --> https://fsprojects.github.io/FSharp.Core.Fluent/
  fsdocs-copyright --> Copyright 2017-2021
  fsdocs-logo-src --> https://fsprojects.github.io/FSharp.Core.Fluent/img/logo.png
  fsdocs-navbar-position --> fixed-left
  fsdocs-theme --> default
  fsdocs-logo-link --> https://fsprojects.github.io/FSharp.Core.Fluent/
  fsdocs-license-link --> https://github.com/fsprojects/FSharp.Core.Fluent/blob/master/LICENSE.md
  fsdocs-release-notes-link --> https://github.com/fsprojects/FSharp.Core.Fluent/blob/master/RELEASE_NOTES.md
  fsdocs-package-project-url --> https://fsprojects.github.io/FSharp.Core.Fluent/
  fsdocs-package-icon-url --> https://fsprojects.github.io/FSharp.Core.Fluent/img/logo.png
  fsdocs-package-tags --> F#;fluent;fsharp
  fsdocs-package-version --> 1.0.0
  fsdocs-repository-link --> https://github.com/fsprojects/FSharp.Core.Fluent/
using extra content from /home/runner/.nuget/packages/fsharp.formatting.commandtool/11.4.1/extras
warning: error during cleaning, continuing: Could not find a part of the path '/home/runner/work/FSharp.Core.Fluent/FSharp.Core.Fluent/output'.
note, no template files: 'docs/reference/_template.html', 'docs/_template.html', 'docs/reference/_template.md', 'docs/_template.md' found, using default template /home/runner/.nuget/packages/fsharp.formatting.commandtool/11.4.1/templates/_template.html

dsyme avatar Nov 11 '22 10:11 dsyme

Those errors are from the github action log. Turning on --strict would cause the build to fail properly in this case I believe

dsyme avatar Nov 11 '22 10:11 dsyme

I tried and failed to fix the docs by editing the build script. I don't have any experience with fake. When I run index.html with Open with Live Server in VSCode, it opens in my localhost. However, all the links point to https://fsprojects.github.io/FSharp.Core.Fluent/, which seems wrong. Shouldn't all the links be relative to localhost when I run it locally?

OlegAlexander avatar Nov 12 '22 01:11 OlegAlexander

Push what you have? :)

dsyme avatar Nov 12 '22 10:11 dsyme

To a PR

dsyme avatar Nov 12 '22 10:11 dsyme

Nothing new to push yet :) I'm trying to make fsdocs build generate the docs so that the links are relative to localhost and not hardcoded to point to https://fsprojects.github.io/FSharp.Core.Fluent/. But no luck yet.

You can reproduce the issue locally by running dotnet fake build and then opening index.html with Live Server in VSCode.

Also, using fsdocs build --strict doesn't fail the build.

OlegAlexander avatar Nov 13 '22 04:11 OlegAlexander