plotly / plotly/Plotly.NET

Generate C# bindings via code generation based on the core F# API

オープン
#424 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Area: CSharp Difficulty: Advanced FeatureRequest FsLab Hackathon 2023 Status: Available
主要言語
F#
スター
860
フォーク
99
平均マージ
22分
マージ済み PR(30日)
1

説明

Description

We basically have 2 options here:

(1) Reflection-based F# code generation project

A WIP of this approach can be found on the csharp-object-bindings branch, which is severely out of date, so it might be best to just initialize a new project in the current repo and copy the files over.

The gist is that a well-defined string template for csharp source files is populated based on reflection-based runtime inspection of the F# types, functions and methods.

(2) C# incremental/source generators

here I have no domain knowledge at all, and all tutorials look like pure arcane glyphs to me. I think source generators are now called incremental generators. I think they are aiming to do what we need. I have absolutely no idea how to do this though. If we go this way, we need an experienced C# dev on it.

https://github.com/dotnet/roslyn/blob/main/docs/features/incremental-generators.md

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、古くなった csharp-object-bindings ブランチ、特に src/Plotly.NET.Codegen を確認し、その reflection ベースのアプローチを、リンクされた Roslyn incremental generators のドキュメントと比較してください。この issue では、アプローチを選定し、コア F# API から C# bindings を生成する現行リポジトリでの実装が必要ですが、正確な完了基準は定義されていません。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp, fsharp
領域
tooling
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。