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

Tracking issue for missing features #77

Closed
64 of 80 tasks
Nadrieril opened this issue Apr 15, 2019 · 17 comments
Closed
64 of 80 tasks

Tracking issue for missing features #77

Nadrieril opened this issue Apr 15, 2019 · 17 comments
Labels
standard-compliance Something doesn't work according to the dhall standard tracking-issue Gather progress on a particular topic

Comments

@Nadrieril
Copy link
Owner

Nadrieril commented Apr 15, 2019

Dhall spec

Pretty error messages

Public API

  • control import resolution
  • deserialize from file
  • settle lifetime behaviour in expr lifecycle
  • documentation
    • document nightlyness
    • deserialization functions
    • expression lifecycle
    • ...
  • publish to crates.io Publish to crates.io #74
  • split the public API into a separate crate
@FintanH
Copy link
Collaborator

FintanH commented Jul 17, 2019

Hey @Nadrieril is there any low hanging fruit where I could get started here? I'm new to Rust, but familiar with Dhall and have contributed to the language and Haskell implementation. Willing to get my hands dirty here 🙇

@Nadrieril
Copy link
Owner Author

Hey @FintanH ! Thanks for your interest in this project ! I'm glad you're willing to get your hands dirty because this project is quite a mess ^^
I can't see anything very low-hanging sadly. Would you be interested in trying one of the missing typechecking cases, say right-biased record merge for example ? I think it could make a nice mini-project

@FintanH
Copy link
Collaborator

FintanH commented Jul 17, 2019

Ya, I can give it a shot! :)

@Nadrieril
Copy link
Owner Author

Yay ! Could you open an issue about that feature ? Then over there you can bombard me with questions about the structure of the project, where the different bits are, how Values and Thunks work, or anything else you need. I'll try to answer as much as I'm able to.
As a start I'd recommend you try to break something in typecheck.rs and run cargo test, to help you get an idea of the thing.

@Nadrieril
Copy link
Owner Author

@basile-henry: if you're interested too, you're welcome to try recursive record merge for example. Just open an issue too and ask away !

@basile-henry
Copy link
Collaborator

@Nadrieril I might have a go at recursive record merge this weekend if no one has started working on that by then! 😄

@FintanH
Copy link
Collaborator

FintanH commented Jul 18, 2019

You can link the issue to the checklist if you want now :) #86

@FintanH
Copy link
Collaborator

FintanH commented Jul 31, 2019

I've created an issue for Combine #89. @basile-henry Did you start work on it? If not I could get cracking on it.

@basile-henry
Copy link
Collaborator

@FintanH I did start working on it but I didn't get very far. The codebase has changed quite a bit since last time I looked at it and I was struggling to find all the pieces I needed.
Feel free to take it over, you probably know more than I do about how everything fits together by now.
This is what I started doing, it's still very incomplete but maybe it'll help you getting started on that one: basile-henry@3b49079

@FintanH
Copy link
Collaborator

FintanH commented Aug 2, 2019

@Nadrieril I'm feeling some momentum after putting up those PRs for typechecking. What would make the most sense for working on next? 😁

@Nadrieril
Copy link
Owner Author

@FintanH :D
Let's see... The missing features are essentially about imports. There's a lot to do: we barely support local imports. You can pick what you want in there: remote imports, environment variables, checksums, import alternatives, ... Import alternatives may require some tinkering with the overengineered mess I made around ExprF, so you probably want to avoid that until I sort out the mess; the rest should be fine.

@FintanH
Copy link
Collaborator

FintanH commented Aug 3, 2019

I was thinking import would be next too. I'll do up some tickets and do some digging!

@Nadrieril
Copy link
Owner Author

Nadrieril commented Aug 3, 2019

There's a new feature to implement: projection by expression (#94) ! There's everything from parsing to typechecking left to implement, if anyone's interested

@Nadrieril
Copy link
Owner Author

@basile-henry @FintanH I've given both of you merge rights to this repo, so that you can merge your own PRs yourselves :). Here is what I propose: you can merge a PR yourself after I've approved it, or otherwise if I haven't approved or disapproved for 7 days you can go ahead and merge it (like what's done in dhall-lang). Mistakes are easy to fix, so we may as well err on the side of making things happen.

@FintanH
Copy link
Collaborator

FintanH commented Aug 11, 2019

Ya that sounds great. Thanks!

@Nadrieril
Copy link
Owner Author

Nadrieril commented Nov 12, 2019

I wrote one or two good first issues if anyone is interested :)

@Nadrieril Nadrieril added the standard-compliance Something doesn't work according to the dhall standard label Dec 21, 2019
@Nadrieril
Copy link
Owner Author

Now that most features are done, I'm closing this in favor of labeled issues https://github.com/Nadrieril/dhall-rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Astandard-compliance

@Nadrieril Nadrieril unpinned this issue Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
standard-compliance Something doesn't work according to the dhall standard tracking-issue Gather progress on a particular topic
Projects
None yet
Development

No branches or pull requests

3 participants