Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple Configuration Language #51

Open
1 of 5 tasks
erikreinert opened this issue Aug 1, 2024 · 0 comments
Open
1 of 5 tasks

Decouple Configuration Language #51

erikreinert opened this issue Aug 1, 2024 · 0 comments
Assignees

Comments

@erikreinert
Copy link
Member

erikreinert commented Aug 1, 2024

Overview

After getting our first pipeline to run in GitHub Actions (https://github.com/ALT-F4-LLC/vorpal-sdk/actions/runs/10126896725/job/28004044745 - yay) there was a moment of realization that if you are using a compiled language (Go, Rust, etc) that you will need to compile your Vorpal code to run Vorpal. This was a known limitation however, it was still included to allow the project to go as far as it could with that.

Now that we have hit kind of a hard wall, it may be valuable to decouple the language to configure packages in from the language we build Vorpal in. Because we use GRPC, we will still need to translate ?? -> GRPC schemas but we can use that middle man language as the configuration interface.

Requirements

  1. Type System
    2a. Modularity (remotely downloadable is a plus)
    2b. Functional
  2. Easily Expressible (flattening, currying, etc)

Embedded Languages

There is the possibility of using a embedded language that works naturally with Rust that we could then import into the language and parse. This would be nice because then we could just inject the file directly into Rust language and build.

Investigate

  • Cue
  • DHall
  • KCL
  • Lua
  • Nickel
@erikreinert erikreinert self-assigned this Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant