bbcmicrobit / bbcmicrobit/PythonEditor

blocks: no warnings when connecting 'incompatible' blocks

Open
#40 5 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
201
Forks
126
PR merge metrics
No merged PRs in 30d

Description

(This one probably isn't trivial, as I think it's partially a blockly/Python limitation)

One of the things that blocks is quite good at is avoid syntax errors.

However, our current implementation doesn't protect the user from type error as well as it could.

For example, the following code fails as soon as it is run on the micro:bit
![image](https://cloud.githubusercontent.com/assets/147113/23947894/8abfaf0a-0978-11e7-844b-abc617bc3b8b.png)

PXT gives slightly more useful feedback:
![blocks types](https://cloud.githubusercontent.com/assets/147113/23947948/c7bb7ba0-0978-11e7-9f30-014e40112a2d.gif)

Do we have a way of giving more immediate feedback to users about type mismatches? Or even better, perhaps (although it's spooky action at a distance) automatically inserting the required conversion so it 'just works'?

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by reproducing the incompatible-block example in the browser and on the micro:bit, then investigate the current Blockly/Python type-handling behavior. Done would require an agreed approach that gives immediate type-mismatch feedback or inserts safe conversions.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
embedded-iot, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.