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

Package manager #178

Open
2 tasks
brendanzab opened this issue Nov 5, 2018 · 4 comments
Open
2 tasks

Package manager #178

brendanzab opened this issue Nov 5, 2018 · 4 comments

Comments

@brendanzab
Copy link
Member

brendanzab commented Nov 5, 2018

It would be neat to have a way to define Pikelet packages!

I'm also thinking it would also be neat to be able to define packages using Pikelet records!

record {
    name = "prelude";
    version = "0.1.0";
    copyright = "Apache-2.0";
    dependencies = [];
}

Having custom literals or something, perhaps like in relit might make this nicer 🤔

TODO List

  • add a pikelet-package crate
  • ???
@brendanzab
Copy link
Member Author

Might be interesting to have a look at cargo to see what ideas we can steal. I'd also like to pick Yehuda Katz's brain on what he would do differently. I think he was doing work here: argon-package. It would also be interesting to look at Nix too.

@boomshroom
Copy link
Contributor

That right there is valid Nix syntax, though record would be parsed as a function rather than a keyword because it doesn't have to disambiguate between types and values (dynamically typed). It wouldn't know what to do with it, but it would parse and it wouldn't be too hard to translate that into a valid Niix derivation.

@brendanzab
Copy link
Member Author

Yeah, I think being able to abstract Pikelet to Nix, Dhall, JSON, etc. would be kind of neat! It would be cool if one could statically verify that a bit of Pikelet code could be transformed into one of those formats. Not sure how hard that would be though.

@brendanzab
Copy link
Member Author

brendanzab commented Mar 11, 2019

I'm definitely interested in languages that can be their own data formats - like REBOL, Lisp, Scheme, JavaScript, etc.

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

2 participants