brian
/
bad-datalog
Archived
1
0
Fork 0

update roadmap

parser
Brian Hicks 2021-05-12 15:18:00 -05:00
parent a83aeb78b8
commit 03e34fa8fd
2 changed files with 33 additions and 39 deletions

View File

@ -10,15 +10,15 @@ It's got some stuff in it:
It still needs some stuff before it's "good":
- A DSL to parse from a string to a datalog program (this would make it way easier to introduce new variables, among other things.)
- Any level of query plan optimization (in fact right now we definitely have the worst possible performance in a lot of cases.)
- A sample app
- Aggregation of any kind
- Named fields instead of just using positional semantics.
- Indexes or primary keys of any kind for faster queries
- Any level of query plan optimization (in fact right now we definitely have the worst possible performance in a lot of cases.)
- It might not be safe to store databases in the model (that is, it will break the Elm debugger because the Set implementation we use embeds a comparison function. It would be possible to take this out, but would require more effort than I want to make at the moment I'm writing this README.)
- Warnings for situations where queries might not work the way you expect (e.g. doing `reachable(a, c) :- reachable(a, b), reachable(b, c).` instead of `reachable(a, c) :- link(a, b), reachable(b, c).`)
- Nice errors that say exactly where the problem is in the query
- A DSL to parse from a string to a datalog program (this would make it way easier to introduce new variables, among other things.)
- Warnings for situations where queries might not work the way you expect (e.g. doing `reachable(a, c) :- reachable(a, b), reachable(b, c).` instead of `reachable(a, c) :- link(a, b), reachable(b, c).`)
- Indexes or primary keys of any kind for faster queries
- Named fields instead of just using positional semantics.
I plan to implement those things in roughly that order (maybe adding or dropping a few as I go) and releasing this as an Elm package when it's ready.
The rankings are in `next-features.json` in the root of this repo, and can be fed into [elo.bytes.zone](https://elo.bytes.zone) for further ranking.

View File

@ -3,62 +3,56 @@
{
"id": 232705142,
"name": "primary keys and indexes",
"rating": 1025,
"rating": 1054,
"matches": 15
},
{
"id": 245104970,
"name": "nicer errors that pinpoint issue location",
"rating": 1145,
"matches": 10
},
{
"id": 797886670,
"name": "query plan optimization",
"rating": 1183,
"matches": 11
"rating": 1198,
"matches": 12
},
{
"id": 1193371350,
"name": "warnings in odd querying situations",
"rating": 1080,
"matches": 10
},
{
"id": 1519967533,
"name": "named fields",
"rating": 1056,
"rating": 995,
"matches": 15
},
{
"id": 1524275694,
"name": "model safety",
"rating": 1156,
"matches": 10
},
{
"id": 1633470887,
"name": "aggregation",
"rating": 1143,
"matches": 10
},
{
"id": 1705325885,
"name": "negation",
"rating": 1215,
"matches": 10
"rating": 1202,
"matches": 15
},
{
"id": 1916244794,
"name": "string DSL",
"rating": 1197,
"matches": 11
"rating": 1122,
"matches": 15
},
{
"id": 3318043609,
"name": "sample app",
"rating": 1175,
"matches": 10
},
{
"id": 3492608027,
"name": "semi-naive evaluation",
"rating": 1320,
"matches": 10
},
{
"id": 3731542928,
"name": "filters in the frontend",
"rating": 1329,
"matches": 10
},
{
"id": 4223280004,
"name": "set semantics",
"rating": 1357,
"matches": 10
"rating": 1214,
"matches": 14
}
]
}