racket / racket/rhombus

Redesign xexpr

Open
#129 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
601
Forks
74
Avg merge
2d 10h
Merged PRs (30d)
5

Description

Currently, xexpr doesn't support HTML5 boolean attributes. While HTML5 is not directly related to XML, xexpr has been widely used to represent HTML, so having this support would be great.

racket/racket#2885 could also potentially be fixed elegantly with a change of grammar. The problem is that attributes only support string, but in fact valid-char? could be in attributes too. The conservative solution is to convert valid-char? to string only in attributes to make it representable while minimizing changes. This results in an inconsistency however: it's OK to have valid-char? in bodies but not in attributes. However, if we allow a grammar change, allowing valid-char? in the attributes would make things consistent again. Another solution would be to get rid of valid-char? entirely from the whole grammar.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the xexpr grammar and the behavior described in racket/racket#2885, focusing on attribute handling for HTML5 boolean attributes and valid-char?. Done requires an agreed grammar or representation that supports the requested boolean attributes and resolves the attribute/body inconsistency.

Written by the indexing model from the issue text.

Assessment

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.