richardschneider / net-ipfs-http-client

InterPlanetary File System client for .Net (C#, VB, F# ...)
MIT License
158 stars 52 forks source link

Implemented "free monad" pattern to extend the F# API surface with an embedded language #33

Closed vukovinski closed 6 years ago

vukovinski commented 6 years ago

This is a major feature and it allows for writing distributed programs and protocols atop the IPFS in a declarative manner. Such declarative programs can even be manipulated and reasoned about without using reflection.

I intend to maintain the feature long-term.

While I haven't touched the base API and tests all pass, I did had to refactor the solution to accommodate the fsharp project. Unfortunately, this broke the documentation build.

I hope that you can fix the docs build, and maybe point me to how to generate docs for the new feature.

vukovinski commented 6 years ago

Fails because it's not configured for the new solution structure

src\IpfsApi\bin\Release\Ipfs.Api.0.21.1.nupkg src\bin\Release\Ipfs.Api.0.21.1.nupkg

Successfully created package 'C:\projects\net-ipfs-api\src\IpfsApi\bin\Release\Ipfs.Api.0.21.1.nupkg'.
  Successfully created package 'C:\projects\net-ipfs-api\src\IpfsApi\bin\Release\Ipfs.Api.0.21.1.symbols.nupkg'.
  IpfsApi -> C:\projects\net-ipfs-api\src\IpfsApi\bin\Release\netstandard2\Ipfs.Api.dll
  Successfully created package 'C:\projects\net-ipfs-api\src\IpfsDsl\bin\Release\IpfsDSL.0.21.1.nupkg'.
appveyor PushArtifact "src\bin\%CONFIGURATION%\Ipfs.Api.%GitVersion_MajorMinorPatch%.nupkg"
File not found: C:\projects\net-ipfs-api\src\bin\Release\Ipfs.Api.0.21.1.nupkg
Command exited with code 2
richardschneider commented 6 years ago

Thanks for taking interest in this project. Look's like you have a cool idea. However, I'm not sure that Ipfs.Core needs it.

Why not create your own DSL project and just include Ipfs.Core. I'll be happy to include a link to your project in my readme and documentation.

vukovinski commented 6 years ago

Okay Richard, I published the project and cross-linked to your API docs. It would be great if you'd just recommend the FSharp community to take a look at the DSL somewhere in the readme or the docs. Thanks!

https://github.com/cloveekprojeqt/ipfs-dsl

richardschneider commented 6 years ago

Added a link to DSL in the readme.

Good luck with the project.