Skip to content

Next version #43

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

Merged
merged 70 commits into from
Mar 20, 2018
Merged

Next version #43

merged 70 commits into from
Mar 20, 2018

Conversation

garyb
Copy link
Member

@garyb garyb commented Jan 29, 2018

  • Fixes URI / AbsoluteURI representation to require Scheme
  • Parametrises user info / path / query / fragment parts to allow for customised encoding/parsing
  • Will switch to record representation for lenses-over-newtyped-records

@garyb garyb changed the title [WIP] Next version Next version Feb 6, 2018
@garyb
Copy link
Member Author

garyb commented Feb 6, 2018

Ok, this is done at last I think! It's basically a new library at this point, but it solves a lot of problems with the existing design, at the expense of being super picky (even more so than it was before) and involving a lot of type parameters. For most uses, I would expect library users would create fully-applied type synonyms of AbsoluteURI/URI/RelativeRef/URIRef with premade options records.

I think it should now be impossible to construct invalid (in the sense that they are un-parseable after printing) URIs too (aside from using the unsafe functions).

IPv6Address needs work, but it's no worse than it was before. With the new architecture it could be patched up externally too even, although it would be better to deal with it well in this library one day.

@garyb
Copy link
Member Author

garyb commented Feb 6, 2018

Will switch to record representation for lenses-over-newtyped-records

This ended up not happening, as the main advantage was to be able to share some lenses between relative/hierarchical parts, etc. but some of these types are now sum types, so require Traversal definitions rather than the simple lenses they were previously.

@safareli
Copy link
Contributor

Would be nice to add {from,to}NEString for SegmentNE

@garyb garyb merged commit 488afff into purescript-contrib:master Mar 20, 2018
@garyb garyb deleted the next branch March 20, 2018 18:31
@safareli safareli mentioned this pull request Mar 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants