google / google/codeworld

Convert native GHC build of codeworld-api to use jsaddle instead of blank-canvas

オープン
#906 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
discussion
主要言語
Haskell
スター
1.3k
フォーク
201
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently, the native GHC build of codeworld-api depends on blank-canvas, which has very limited support for JavaScript events and expressions. Instead, I'd like for it to use jsaddle, which can run a much wider set of JavaScript expressions on the client. This should allow a lot more code sharing between the two builds.

Some problems this will solve:

1. The `codeWorldLogo` picture will work in native mode.
2. The `TextEntry` event constructor will work in native mode.
3. Multiuser (`groupActivityOf`) programs can work in native mode. This will require that the host process link in code for the relay server, as well.

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

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

調査の方向性

まず、codeworld-api のネイティブ GHC ビルドともう一方のビルドを比較し、その blank-canvas 統合箇所を特定します。codeWorldLogo、TextEntry、groupActivityOf のコードパスを追跡し、次にホストプロセスが relay-server のコードをどのようにリンクするかを確認します。完了条件は、これらの機能が blank-canvas なしのネイティブモードで動作することです。

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

評価

技術スタック
haskell
領域
backend, build-system
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

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

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