Merge Lexer and Syntax into Decoder; renames; Syntax class to type. - #129
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LexerandSyntaxmodules are merged into one,Decoder, since there doesn't seem need to separate them. As of now, all still have only pure functions.Modedatatype, which is moved toState.hs.Prettyfor the machine-to-machine protocol to talk to mpg123 does not fit. I renamed toCmdand have a functioncmdToBS(not the best name maybe but okay).Msgconstructors don't match the single-letter codes from mpg123, and in fact confusingly remap them. I changed this so they match.Tagbecause nothing is done with it. Maybe in the future we'll want version sniffing or something but I have no plans for that.Cmd(formerlyPrettyinSyntax) is demoted from a class to a datatype. I didn't see any advantage in the former, nor why the send protocol uses a class and the receive protocol a datatype. The code is simpler this way.Infotype is removed since it's an unhelpful wrapper around aByteString.kbit/sis nowkb/s.(empty).