Component: Ideas to Try Out
Open
Nobody has claimed this yet.
- Dominant language
- F#
- Stars
- 2.2k
- Forks
- 115
- Avg merge
- 17h 28m
- Merged PRs (30d)
- 50
Description
This Issue is a grab-bag dumping ground for a bunch of Dark ideas that we'd like to not forget about, but aren't high enough priority to seriously consider yet. If users submit Issues that seem really interesting but would fill up GitHub Issues, we might link them here, close the issue, and reopen it once we're able to tackle it.
- Allow users to comment on functions, like in the old days of PHP (eg see "User notes" in https://www.php.net/strip_tags)
- WebSockets support (see #4046)
- support user-defined languages (ambitious, uncertain, hard)
- build langs on and in darklang
- user provides AST, grammar, etc
- all gets compiled to some darklang bytecode (or interpreted) at end of day
- distributed treesitter (waves hands vaguely)
- build langs on and in darklang
- a web-hosted terminal emulator that can run Dark CLI apps
- probably xterm.js
- an officially-supported page where our users can log in
- allow our users to define their own CLIs hosted like this
- probably needs WASM runtime to come back in, and house the language server? or it could all be over HTTP
- something like
jq, in darktype Error = CouldNotNavigate of pathSoFar: List<JsonPath> * failureAt: JsonPath.Partlet navigate (json: Json) (path: JsonPath): Result<Json, Error> = ...- could wrap that such that:
json |> Json.Nav.accessField "fieldName" |> Json.Nav.accessIndex 4
- Add support for Mustache template system (see old #3354)
- support seamless RPC between Darklang CLI installs (see here)
- we have this old post where we advertise you can "build a slack app in seconds with Dark" but immediately say it's a bit of an exaggeration. Let's make it not an exaggeration. From signup to slack app in < 1min.
- some sort of GraphQL support
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file, test, or entry point is identified. This issue is a stale grab-bag of unrelated ideas, so start by choosing one proposal and locating its relevant subsystem before defining separate scope, acceptance criteria, and tests for that idea.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, php, wasm
- Domain
- backend-api-design, cli, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 10/100