Comments (3)
For the long-term solution to this problem, maybe we say that, if the grammar goes Nt1 ::= Nt2 | …
, then Nt2<T>
is a subtype of Nt1<T>
?
from unseemly.
The type system can’t solve a parsing problem! (Well, in Unseemly, that’s not guaranteed to be true, but it’s true here.) The parser still needs to know what interpolation to parse it as.
Buuuut.... if you did have this rule, you could also say that you only add an interpolation for the “top” nonterminal of any hierarchy. I think that probably would just do the right in most cases!
from unseemly.
The simple solution is implemented, I think, but there's an exciting ICP that happens in beta.rs
when freshening .[ ,[name], : Int . five].
. Everything about bound_from_beta
looks super-wrong, but maybe I'm misunderstanding it.
from unseemly.
Related Issues (20)
- Improve documentation by including concrete examples next to syntax definitions
- Info: Implementing compilation targets HOT 1
- Language Server HOT 1
- Place `dotdotdot` (the quasiquotation construct) once per `Star` node, not once per nonterminal HOT 13
- Allow prelude languages, based on file extension
- Revise the implementation of splicing HOT 4
- Factor out a language library
- Add more core forms
- Typing needs to be aware of the length of repetitions
- MBE reform HOT 1
- Get rid of `literally` in `ast_walk::walk`
- Reduce or remove reliance on phaselessness HOT 2
- Allow subtyping at the syntax level HOT 1
- Freshen less
- Parsing: Replace `Biased` with a priority system. HOT 1
- Generate tooling for sub-languages
- Handle co/contra/in-variance correctly. HOT 1
- Lone foralls should be allowed on both sides of subtyping. (allow `⋯ <: ∀ Y. ⋯`) HOT 3
- Core syntax reform HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unseemly.