-
Notifications
You must be signed in to change notification settings - Fork 51
Updates for 0.10 #36
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
Updates for 0.10 #36
Conversation
!/.travis.yml | ||
/bower_components/ | ||
/node_modules/ | ||
/output/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accidental replacement? Looks like the new one is missing node_modules
and doesn't cover anything the one didn't.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I copied it from another project. This package doesn't use anything from NPM, but maybe I should keep the dotfiles ..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does have a package.json
with dependencies for pulp
and the like though.
{ message :: String | ||
, position :: Position | ||
} | ||
|
||
instance showParseError :: Show ParseError where | ||
show (ParseError msg) = "ParseError { message: " <> msg.message <> ", position: " <> show msg.position <> " }" | ||
|
||
instance eqParseError :: Eq ParseError where | ||
eq (ParseError {message : m1, position : p1}) (ParseError {message : m2, position : p2}) = m1 == m2 && p1 == p2 | ||
derive instance eqParseError :: Eq ParseError |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Derive Newtype
too? It might be uncommonly used, but may as well since the ParseError
ctor isn't private or anything.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't, because of the record restriction. I could write it by hand with type-equality
, but do you think it's worth it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ohh, yeah. I keep forgetting about that 😄.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we going to add that deriving with type-equality
thing for 0.10.2? Or is it not too straightforward?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that if we do it for everything then it's not too difficult. Trying to pick out the record parts of a type would be much more difficult, or impossible in general, I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The downside of doing it for everything is that it makes writing the instance derivation slightly trickier.
👍 for the new stuff! |
@garyb Are you using this for anything at SlamData? I'm wondering because there is a bit of a risk of breakage here, even though the tests are passing. |
Yeah I think we are. As long as it's not losing functionality I don't think the breakage matters, there are other things that will need fixing too! |
Oh, didn't see this. |
It is now that |
MonadRec
, so now we can usetailrec
andsafely
to safely write recursive parsers)String
module over aStringLike
class, to support more efficient string representations.