monostable / haskell-kicad-data Goto Github PK
View Code? Open in Web Editor NEWParse and write KiCad data in Haskell.
License: MIT License
Parse and write KiCad data in Haskell.
License: MIT License
S-expressions should be super simple to parse, they are a representation of the parse tree!
Just wondering if pretty-compact
produces noticeably better output than pretty
, in the context of kicad-data
? If the difference isn't that big, I wonder if it might be preferable to switch to pretty
instead, because:
pretty
is more widely usedpretty
has a more liberal licenseNeither of these is a big issue for me, but they both seem like small arguments in favor of pretty
.
This is due to breakage of API in nightly builds. Issue is discussed here: https://lists.launchpad.net/kicad-developers/msg29855.html
When using GHC 7.8.3, I get:
(used seed 4269272319002797922)
Properties Total
Passed 4 4
Failed 2 2
Total 6 6
Test suite kicad-data-quickcheck: FAIL
Test suite logged to: dist/test/kicad-data-0.4.0-kicad-data-quickcheck.log
0 of 1 test suites (0 of 1 test cases) passed.
kicad-data-0.4.0-kicad-data-quickcheck.log.zip
When using GHC 8.0.2, I get:
Expr:
parse all keywords: [OK, passed 100 tests]
PcbnewExpr:
parse fp_line correctly: [OK, passed 100 tests]
parse fp_arc correctly: [OK, passed 100 tests]
parse fp_poly correctly: [OK, passed 100 tests]
parse and write any PcbnewExpr: [OK, passed 100 tests]
parse and pretty any PcbnewExpr: [OK, passed 100 tests]
Properties Total
Passed 6 6
Failed 0 0
Total 6 6
I suspect it isn't actually the difference in compiler version that makes the difference, but rather some difference in the versions of dependencies used.
With GHC 7.8.3, my dependencies are as follows:
array == 0.5.0.0
base == 4.7.0.1
bytestring == 0.10.4.0
containers == 0.5.5.1
deepseq == 1.3.0.2
ghc-prim == 0.3.1.0
ieee754 == 0.7.9
integer-gmp == 0.5.1.0
lens-family == 1.1.0
lens-family-core == 1.1.0
mtl == 2.1.3.1
parsec == 3.1.11
parsec-numbers == 0.1.0
pretty-compact == 1.0
rts == 1.0
text == 1.1.0.0
transformers == 0.3.0.0
With GHC 8.0.2, my dependencies are:
array == 0.5.1.1
base == 4.9.1.0
binary == 0.8.3.0
bytestring == 0.10.8.1
containers == 0.5.7.1
deepseq == 1.4.2.0
ghc-prim == 0.5.0.0
ieee754 == 0.8.0
integer-gmp == 1.0.0.1
lens-family == 1.2.1
lens-family-core == 1.2.1
mtl == 2.2.1
parsec == 3.1.11
parsec-numbers == 0.1.0
pretty-compact == 1.0
rts == 1.0
text == 1.2.2.1
transformers == 0.5.2.0
Seem to appear in the wild e.g.
Error: https://travis-ci.org/monostable/haskell-kicad-data/builds/251176727#L2115
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.