From 03e34fa8fd52b43063a8b6036371cb6e4deed555 Mon Sep 17 00:00:00 2001 From: Brian Hicks Date: Wed, 12 May 2021 15:18:00 -0500 Subject: [PATCH] update roadmap --- README.md | 10 ++++---- next-features.json | 62 +++++++++++++++++++++------------------------- 2 files changed, 33 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index afd7274..d022a3e 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/next-features.json b/next-features.json index 0f6cfb2..a0be504 100644 --- a/next-features.json +++ b/next-features.json @@ -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, - "matches": 10 + "rating": 995, + "matches": 15 }, { - "id": 1633470887, - "name": "aggregation", - "rating": 1143, + "id": 1524275694, + "name": "model safety", + "rating": 1156, "matches": 10 }, { - "id": 1705325885, - "name": "negation", - "rating": 1215, - "matches": 10 + "id": 1633470887, + "name": "aggregation", + "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 } ] } \ No newline at end of file