google / google/codeworld

Block UI errors could generate 'undefined' instead of errors

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

説明

Currently, missing blocks generate empty strings in codegen, leading to code that doesn't compile. Instead, they and other errors that break code generation could generate `undefined`, which would lead to runnable code. There are a few possibilities:
1. Generate the code with undefined, but still refuse to run it. I'd probably want to accompany this with different syntax highlighting for `undefined` to make it clear that it's a placeholder for an error.
2. Generate and actually run the code! Add a regexp matcher that replaces the resulting runtime errors with clearer ones and highlights or flashes the blocks that are responsible. This requires some kind of map from source locations to blocks, which could be tricky to build -- but which would also be awesome.

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

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

調査の方向性

ファイルやテストは指定されていません。まずブロックコードの生成と欠落したブロックの処理箇所を特定し、次に undefined またはランタイムエラーに対して意図されている動作と、担当するブロックをどのように特定すべきかを明確にしてください。選択した動作が実装され、コード生成の失敗によって誤解を招く空の出力が生成されなくなれば完了です。

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

評価

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

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

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