Math-editor mode
- 主要言語
- Haskell
- スター
- 1.3k
- フォーク
- 201
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
This proposal is to add a math-editor mode for CodeWorld. This would be a new mode that, instead of editing in a standard code editor, would integrate a WYSIWYG math editor into the UI.
Currently, there are three "modes" to CodeWorld.
1. Classic mode. This is the educational environment at http://code.world
2. Haskell mode. Located at http://code.world/haskell, this uses CodeMirror, but with a more standard Haskell UI.
3. Blocks mode. This replaces the code editor with a block-based version based on Blockly.
In this proposal, we'd add a fourth mode: http://code.world/algebra (not a real link) In this mode, instead of a coding editor based on CodeMirror, we'd offer an equation editor (like MathQuill or such, but possibly needing a lot of customization). This would require implementing a language based on the results of the math editor, possibly by converting via Haskell, similar to what we do now with blocks -- or possibly even by implementing an interpreter directly in JavaScript. (Obviously, that's no small undertaking, as it's essentially inventing a brand new language!)
The goal of doing this would be to take the underlying philosophy of CodeWorld even further, by allowing students to write in something even closer to mathematics.
This has some of the same limitations as blocks, in that if the implementation is by conversion to Haskell, then we'd either need to detect and prevent all possible errors at editing time (which is likely to be a leaky moving target), or somehow convert errors from Haskell back into the equation editor.
コントリビューションガイド
調査の方向性
まず、issue に記載されている既存の Blocks mode と Haskell mode の統合を確認します。これには、ブロックが Haskell に変換される方法と、エディター UI の選択方法が含まれます。提案ではファイルやテストが指定されていないため、まずそれらのエントリポイントを特定し、そのモードに Haskell ベースの言語と JavaScript インタープリターのどちらが必要なのかを明確にしてから、完了条件を定義します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- haskell, javascript
- 領域
- compilers, frontend
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100