-
-
Notifications
You must be signed in to change notification settings - Fork 9
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
Issue#157 Add python support #161
Conversation
ee959f2
to
3c2251c
Compare
py "True" `shouldBe` MuBool True | ||
|
||
it "parses strings" $ do | ||
py "\"some string\"" `shouldBe` MuString "\"some string\"" |
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.
Why the extra quotes?
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 parsed strings include them.
"something"
gets parsed to Strings ["\"something\""]
.
I didn't remove those because the parser makes no distinction between normal strings and multline strings, and in case someone actually wanted a string which starts with quotes. E.g. "\"something\""
.
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.
Rethinking that though, if one were to want to parse a string which starts with quotes, this would be parsed as a triple escaped quote.
"\"something\""
would become Strings ["\"\\\"something\\\"\""]
.
So I guess I could take them out?
Thoughts?
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.
Also, I thought multiline strings got parsed to a list with as many elements as there were lines in the string (that's the why of the intercalate "\n" here), but apparently that's not the case. They also get parsed to a single element list.
So I have no clue as to why they get parsed to a list in the first place.
@rodri042 could you investigate alternative ways of speeding up the build time? Perhaps improving caching or using docker? |
74bcebd
to
054b5d7
Compare
054b5d7
to
21e1ea1
Compare
I have being investigating about the slow build times in python library. This is apparently a problem with GHC itself, which is slowing down See: |
59eb3a9
to
7eb5b46
Compare
Apparently this project has coped with this situation and is actually building things in travis 😮 We should check its https://github.com/diku-dk/futhark/blob/master/.travis.yml |
🆙 Building So, an option could be updating mulang to that - nightly- resolver and pointing language-python to its github's master branch - is that even possible with An other option could be forking it, and applying this patch: antalsz/hs-to-coq@c538e6a |
This reverts commit 7eb5b46.
Also using a more stable lts like 10.2 (ghc 8.2.22), see https://github.com/bjpop/language-python/blob/a5aeabfa58b65a742a6a6745720b4864c0ea770c/stack.yaml#L18, and applying the patch makes language-python compile in good-enough time. But this implies forking, and I'd like to avoid that if possible. Now - after fixing the travis timeouts with And, in any case, we need to update our lts to be more up-to-date, since both solutions require moving to more recent snapshots. So I will merge this PR by now and then work on the deps update #170 |
Fixes #157.
We may want to hold on to merge this since the travis build fails because of high build times?