gbdev / gbdev/rgbds

Allow lazy evaluation of some expressions

Open
#663 4 comments 0 reactions 0 assignees View on GitHub
enhancement rgbasm
Dominant language
C++
Stars
1.6k
Forks
193
Avg merge
22h 17m
Merged PRs (30d)
26

Description

This is an internal requirement for features including:

- #201: User-defined functions (e.g. `def f(x) = x * n` where `f(5)` will multiply by whatever `n` currently is)
- #560: `WHILE` loops
- #619: Short-circuiting `&&` and `||` (so `2+2==4 || foo/bar==1` will evaluate to `1` even if `foo` is undefined or `bar` is 0)
- #621: Ternary operator (`cond ? then : else`)

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked issues #201, #560, #619, and #621 to understand the expression-evaluation requirements they describe. The issue does not name implementation files, tests, entry points, or a more specific completion criterion; done would require supporting the listed lazy-evaluation use cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
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.