[SAOC 2025] Separate Semantic Routines from AST Nodes Weekly Update #11

Mohamed El Shorbagy mohrizq895 at gmail.com
Mon Dec 1 21:04:13 UTC 2025


# Summary of Progress (Nov. 24 - Dec. 01)

The work on breaking the semantic dependency of `mtype` on 
`typesem` continues, as many functions in `mtype` depend on 
semantic functions from `typesem`. Not only that, but some other 
functions across the front-end are also dependent on these 
`mtype` functions, which makes the refactoring process even 
harder. Another issue is that these `mtype` functions might 
contain both semantic and non-semantic related content, which 
should be split accordingly. Functions of this form were used 
eagerly even when some of their bodies were not needed (e.g., 
calling `isImaginary` in `hdrgen` while it contains `enum` 
semantic). The upcoming work is likely more planning than 
refactoring.

Here are some of the PRs opened during this week:
- [Move `Type.isString` to 
`typesem`](https://github.com/dlang/dmd/pull/22166)
- [Move `Type.isBoolean` to 
`typesem`](https://github.com/dlang/dmd/pull/22168)


More information about the Digitalmars-d mailing list