fathom
fathom copied to clipboard
π§ (Alpha stage software) A declarative data definition language for formally specifying binary data formats. π§
This is once thing needed to be able to parse simple glyphs. It allows the number of coordinates in the glyph to be determined by accessing the last end point...
This PR adds source location information to `core::Term` and `Value` so that this information can flow from the surface language through the core language and back out. This allows some...
``` test tests\succeed\stress.fathom ... FAILED failures: ---- tests\succeed\stress.fathom ---- unexpected command output: ---- command ---- "C:\\Users\\wes\\Work\\fathom\\target\\debug\\fathom.exe" "elab" "--term" "tests\\succeed\\stress.fathom" ---- status ---- exit code: 0xc00000fd ---- stderr ---- thread 'main'...
In the OpenType we sometimes have to employ records as a way to store intermediate values during parsing. For example: ``` htmx
**Note**: This is a draft because I'm not really sure if this is a good idea or not, just thought it was a fun thing to play around with, seeing...
Some of the codepaths in unification are not currently covered by the testsuite. - [ ] https://github.com/yeslogic/fathom/blob/b8e8b316e6f5fe1cde6141e5b1af62ffda64c54f/fathom/src/surface/elaboration/unification.rs#L306 - `f x` = `(f x).foo` (spine lengths differ) - [ ] https://github.com/yeslogic/fathom/blob/b8e8b316e6f5fe1cde6141e5b1af62ffda64c54f/fathom/src/surface/elaboration/unification.rs#L314...
It it might eventually be useful to be able to βconstrainβ representation types using something like `Format { Repr = ... }` (this popped up in other approaches to figuring...
OpenType contains sequences with an unspecified length in a number of places. We need a way to handle these. - Simple glyph flags (`glyf`) - The number of flags bytes...
Prior to the introduction of booleans in patterns, a name in a pattern always created a new binding that acts a catch-all. The initial implementation of booleans defines `true` and...
Refinement types are an important part of what we hope to add to Fathom. These should allow us to avoid the overflow and out-of-bounds access errors that are a common...