-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
You choose all of the terms in the tree, like you would choose XML tags. The linked GitHub repo and corresponding organization page explain more details.
So LinkText is simply a hierarchical set of notes/thoughts/code/etc.. A simple parser would take the tree and parse it into term/text/code/nest nodes. It is then up to you to figure out what they mean.
BaseLink is a budding compiler/package manager for LinkText. It builds upon the base structure of a LinkText tree of terms and such, and makes it into a programming language that feels somewhere between a "Tree Assembly" like language, and Ruby or Python. It defines a set of "keywords" (key terms) which are used to define functions, classes, variables, function calls, iterators, etc..
Essentially each "file" in a BaseLink project is a module, and each module has a DSL. The "main" DSL for BaseLink is the code tree DSL, which implements the forms for functions/classes/etc. as just described. Files are arranged into a "deck", which is just a package. But there are other DSls like those for writing parsers (as grammars), generating text, defining CLI hooks, etc.. Whatever you can conjure up.
These datatype implementations are currently stored in the wolf repo (the "stdlib"). In addition, a high-level Rails-like framework is planned to be in the crow repo. This separation is here so on the one-hand the "stdlib" is minimal, while the framework is robust and all-inclusive. For an example of some code, check out for instance this first pass at a dynamic array, here is a small snippet.
These datatype implementations are currently stored in the wolf repo (the "stdlib"). In addition, a high-level Rails-like framework is planned to be in the crow repo. This separation is here so on the one-hand the "stdlib" is minimal, while the framework is robust and all-inclusive. For an example of some code, check out for instance this first pass at a dynamic array, here is a small snippet.