adl-lang / adl

ADL (Algebraic Data Language)
Other
209 stars 22 forks source link

radlc #193

Open millergarym opened 1 year ago

millergarym commented 1 year ago
radlc help
ADL code generation cli tool

Usage: radlc [OPTIONS] <COMMAND>

Commands:
  gen
          generate source based on Workspace & Packages files (adl.work.json & adl.pkg.json)
  verify
          verify ADL
  ast
          generate the json AST for some ADL modules
  rust
          generate rust code for the some ADL modules
  typescript
          generate typescript code for the some ADL modules
  write-stdlib
          dump the embedded stdlib to the filesystem
  help
          Print this message or the help of the given subcommand(s)

Options:
  -l, --loglevel <LOGLEVEL>
          Set the loglevel. Overrides RUST_LOG if only level is specified, if level and module are specified here or in RUST_LOG, then the result is a combination of the env var and cli args. Possible values [OFF, ERROR, WARN, INFO, DEBUG, TRACE]

  -m, --log-filter-module <LOG_FILTER_MODULE>
          Set the module to filter. Can be used in conjunction with the env var RUST_LOG.

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version
timbod7 commented 1 year ago

I think it's pretty common for projects to have long lived branches for new features, and I'd like master to remain "prod grade, ready for use". The new rust codegen has a way to go before its at that stage.

I also want master to continue to have automation that builds the projects from the ground up, including bootstrapping etc. This is currently done by:

https://github.com/adl-lang/adl/blob/master/haskell/tools/scratch-build.sh

So we'd need to work out how to do this for the new rust code gen. Ideally it should be self hosting, and not required the haskell implementation to bootstrap the rust implementation.