Timothy Clem
1facca0b50
Add failing toc summary test and refactor removeDupes
2017-02-14 11:29:24 -08:00
Rob Rix
6edd2fbaf4
Print failed examples nicely.
2017-02-14 09:57:21 -05:00
Rob Rix
e63de49d12
Move generate-test-cases into its own package.
...
When building a component, `stack` also builds all of the executables in the same package. This means that profiling iterative changes to semantic-diff also involve compiling, linking, and copying generate-test-cases. By moving it to its own package, we’re able to avoid that penalty.
2017-02-13 16:22:16 -05:00
Rob Rix
5c17ab5149
Restore AlignmentSpec to its former “glory.”
2017-02-13 12:17:46 -05:00
Rob Rix
0f0e65043e
Give up and disable AlignmentSpec.
2017-02-09 16:45:11 -05:00
Rob Rix
61c236b6ef
Merge branch 'master' into feature-vector-optimizations
2017-02-06 12:18:14 -05:00
joshvera
0f2995a5bd
Add -A4m and -n2m GC flags
...
Sets the allocation area size to 4Mb and divides the allocation areas into chunks of 2mb. During execution, when a process exhausts its current chunk, it is given another chunk from the pool until the pool is exhausted, at which point a collection is triggered. This allows the processors to make better use of available allocation area, even when cores allocate at different rates.
2017-02-03 17:45:57 -05:00
joshvera
9809e5a999
Revert "Add -A4M -n2m to rtsopts"
...
This reverts commit bd8a8efeadcfae3f098f97a1bf6c9357555f05cb.
2017-02-03 17:31:24 -05:00
joshvera
d8d732c1a2
Add -A4M -n2m to rtsopts
2017-02-03 17:06:59 -05:00
joshvera
f9400943a4
Move -fprof-auto to ghc-prof-options
...
Inserting cost centers can prevent inlining, so remove it from ghc-options
2017-02-03 16:53:16 -05:00
Rob Rix
466c39f920
🔥 the dependency on QuickCheck.
2017-02-03 16:23:49 -05:00
Rob Rix
7e1bd55c64
Generate an empty array.
2017-02-03 15:57:05 -05:00
Rob Rix
72a32ff289
Compute random numbers using the Mersenne twister.
2017-02-03 15:27:37 -05:00
Rob Rix
dda587e86d
Represent feature vectors using boxed Arrays.
2017-02-03 13:32:52 -05:00
Rick Winfrey
eda990ad7b
Remove tree-sitter-parsers; replace with language specific packages
...
- This allows us to migrate to haskell-tree-sitter, which provides an
open source git repository that contains no language bindings, but
provides the ffi for working with tree sitter.
- Additionally now semantic-diff uses language specific packages found
with the languages dir. Each language package contains a vendored
version of its associated tree-sitter project (i.e. language/ruby
contains tree-sitter-ruby). The implication is that generating a
language’s updated parser.c does not require a re-compilation of all
languages parser.c files.
2017-01-30 14:03:22 -08:00
Timothy Clem
02f87738c0
Plumb in cmd line option for new toc output format
2017-01-23 10:49:48 -08:00
Rob Rix
01347e4af9
Go back to QuickCheck’s RNG for RWS.
...
Changing the RNG changes the vectors which changes the similarities which changes the results which breaks the integration tests. See also #778 .
2017-01-10 16:29:07 -05:00
Rob Rix
d2709f6cab
First pass at generative testing using leancheck.
2017-01-09 16:12:25 -05:00
Rob Rix
89e1893462
🔥 semantic-diff’s linkage against QuickCheck.
2017-01-09 15:22:54 -05:00
Rob Rix
b4cd153a43
Generate random walks with mkStdGen.
2017-01-09 15:16:06 -05:00
Rob Rix
1ee9a60039
🔥 Arbitrary instances.
2017-01-09 14:59:04 -05:00
Rob Rix
21f0b8b152
🔥 {Term,Diff}.Arbitrary.
2017-01-09 14:46:47 -05:00
Rob Rix
a86db572f6
Integrate LeanCheck into Hspec.
2017-01-07 23:16:27 -05:00
Rob Rix
7154708015
Stub in an Hspec/LeanCheck integration module.
2017-01-05 16:41:23 -05:00
Rob Rix
c8da9c5f31
Define a module for a Listable instance over Text.
2017-01-05 15:35:01 -05:00
Rob Rix
22248f26bf
Stub in a Listable module.
2017-01-05 14:34:45 -05:00
Rob Rix
c18217567e
Depend on leancheck.
2017-01-05 14:32:20 -05:00
Timothy Clem
772265e0bb
Rename s/test/sexpression
2016-12-09 11:42:32 -08:00
Timothy Clem
686b0dffff
Add new sexp style test output for diffs
2016-12-09 08:31:13 -08:00
Rick Winfrey
bab0debf6d
Merge branch 'master' into parser-option
2016-11-22 15:19:30 -06:00
Josh Vera
75daa6d42e
Merge branch 'master' into go-parser
2016-11-22 14:07:33 -05:00
Rick Winfrey
bbdad9b2ae
Add simple count example
...
- Shows how a fixed point functor works with a base functor in isolation
- Shows cata, ana, hylo and para examples
2016-11-21 10:47:02 -06:00
Rick Winfrey
255490d680
Add FDoc.RecursionSchemes to cabal file
2016-11-17 16:17:26 -06:00
Rick Winfrey
7efc0dad6d
Add leafTermF documentation function
...
- Describe the shape of CofreeF
- Describe helper functions
2016-11-17 14:47:08 -06:00
joshvera
8dbac2c98a
switch statements
2016-11-10 16:19:53 -05:00
Timothy Clem
b62deb19bf
Show diffs in test cases. sha1, sha2 -> shas
2016-11-03 15:41:59 -07:00
Rick Winfrey
b928f94b05
🔥 Term.Instances
2016-11-03 16:49:41 -05:00
Rick Winfrey
a580fdcac0
Export Parse
2016-11-02 20:12:28 -05:00
Rick Winfrey
cfbbc27be7
Add aeson-pretty to build-depends for semantic-diff
2016-11-02 20:12:21 -05:00
joshvera
0d58e97070
Merge remote-tracking branch 'origin/master' into go-parser
2016-11-02 15:25:50 -04:00
Rick Winfrey
1cd998ff88
Merge branch 'master' into syntax-term-to-json
2016-11-01 17:58:15 -05:00
Rick Winfrey
4128798b34
Add Term.Instances to cabal file
2016-11-01 16:39:11 -05:00
joshvera
05f3929b6a
Merge remote-tracking branch 'origin/master' into go-parser
2016-11-01 12:48:15 -04:00
Timothy Clem
6cac25d2a9
Merge remote-tracking branch 'origin/master' into ruby
2016-11-01 08:50:54 -07:00
Rick Winfrey
532a29aeec
Rename SemanticGitDiffSpec.hs -> IntegrationFormatSpec.hs
2016-10-27 21:09:04 -05:00
Rick Winfrey
4ac2608749
Add HashMap
2016-10-27 20:23:31 -05:00
Rick Winfrey
203836fe74
Add effects to semantic-diff ⚡
2016-10-26 16:53:50 -05:00
Timothy Clem
c213e85e9c
Allow running integration tests only for one language
...
The --test-arguments can be passed like this:
stack build :integration-test --test-arguments "--language=ruby"
--language is naively parsed right now just to avoid getting in the way
of hspec's option parsing.
2016-10-19 10:15:58 -07:00
Timothy Clem
4b42939bf3
Basics of Ruby termConstructor
2016-10-19 08:30:46 -07:00
joshvera
72b43a1a05
Add Language.Go module
2016-10-17 15:39:25 -04:00
joshvera
1c3fe8e944
Add StrictData to semantic-diff library
2016-10-12 18:28:46 -04:00
Timothy Clem
1bdd67e5fa
Alphabetize while we're at it
2016-10-06 09:03:06 -07:00
Timothy Clem
e8e9dfdcd8
Minor version bump
2016-10-06 08:45:48 -07:00
Timothy Clem
068481b35b
Merge remote-tracking branch 'origin/master' into project-reorg
2016-10-06 08:45:04 -07:00
Timothy Clem
56b59ac1f1
Prune build-depends
2016-10-05 18:47:47 -07:00
Timothy Clem
9a91bb0c88
Rename executable semantic-diff
2016-10-05 16:33:26 -07:00
Timothy Clem
6cbfa91475
Try out moving project around
2016-10-05 16:17:46 -07:00
Rob Rix
8cec95aad4
Merge branch 'master' into pretty-print-expectations
...
# Conflicts:
# script/cibuild-semantic-diff
# script/cibuild-semantic-diff-linux
# test/RangeSpec.hs
# test/Spec.hs
2016-09-20 05:56:12 +09:00
Rob Rix
38d6bbe644
Merge branch 'master' into ghc8
2016-09-17 20:45:58 -04:00
Rob Rix
7a0534eaaf
🔥 -threaded & -fprof-auto on the lib.
...
Because:
```
Warning: 'ghc-options: -threaded' has no effect for libraries. It
should only
be used for executables.
Warning: 'ghc-options: -with-rtsopts' has no effect for libraries. It
should
only be used for executables.
```
2016-09-14 19:15:52 -04:00
Rick Winfrey
2f2dd26fbc
Add hspec-expectations-pretty-diff to semantic-diff
2016-09-14 16:44:46 -05:00
Rick Winfrey
91b12b71d0
Change semantic-diff-test -> test
2016-09-14 16:12:06 -05:00
Rob Rix
2e28d0d582
Data.These has its own Arbitrary instance these days.
2016-09-14 16:42:01 -04:00
Rob Rix
4a06d76054
Move cmarkParser to its own module.
2016-09-14 02:08:27 -04:00
Rob Rix
dcc164d09f
Add a spec for Source.
2016-09-13 11:35:10 -04:00
Rob Rix
2b34916554
Build and run RangeSpec 😔
2016-09-13 11:18:38 -04:00
Rob Rix
b4e6e1dbb8
Merge branch 'master' into markdown
2016-09-13 10:35:28 -04:00
Timothy Clem
e862ffe86e
Move to semver MAJOR.MINOR.PATCH
2016-09-08 13:28:43 -07:00
Timothy Clem
81651283ea
Version change to validate --version output
2016-09-08 11:11:16 -07:00
Timothy Clem
ed08914d18
Show version for both tool and library
2016-09-08 11:09:24 -07:00
Rob Rix
38abf6b339
Merge branch 'master' into abstract-term-construction-out-of-parsing
...
# Conflicts:
# src/Parser.hs
#
tools/semantic-git-diff/test/corpus/diff-summaries/javascript/switch-sta
tement.json
#
tools/semantic-git-diff/test/corpus/diff-summaries/javascript/throw-stat
ement.json
2016-09-08 09:52:01 -04:00
Rob Rix
cccd9e9cc6
Stub in a term constructor for C.
2016-09-07 15:10:49 -04:00
Rob Rix
64edd14b1d
Stub in a module for JS-specific stuff.
2016-09-07 11:50:41 -04:00
Rick Winfrey
b07d4d2cdf
Extract Arguments to its own module
2016-08-31 13:09:41 -05:00
Rob Rix
0ebb18da7e
Add cmark to our dependencies.
2016-08-29 12:51:44 -04:00
Timothy Clem
24cb9f8d94
No more os(darwin) specific options
2016-08-25 15:54:55 -07:00
joshvera
39757eca55
Add pgml=script/g++ to bench targets and -O2 on semantic-git-diff target
2016-08-19 16:31:19 -04:00
Rob Rix
2477a40b6c
Enable FlexibleContexts for the tests.
2016-08-11 12:29:17 -04:00
Rob Rix
47ea24e90a
Merge branch 'master' into precompute-p,q-grams
...
# Conflicts:
# test/CorpusSpec.hs
2016-08-10 10:24:07 -04:00
Rob Rix
b97b422cfb
Revert "Enable FlexibleContexts for the tests."
...
This reverts commit 1c0007137862d4c263d75225c7ff579c574c48b1.
2016-08-10 09:44:55 -04:00
Rob Rix
959f15198c
🔥 Data.Vector.Arbitrary.
2016-08-10 09:44:02 -04:00
Rob Rix
f0466c0c43
Enable FlexibleContexts for the tests.
2016-08-10 09:15:42 -04:00
joshvera
46b1a7385e
Include protolude for Unsafe in tests
2016-08-09 16:14:46 -04:00
Rob Rix
25f4d2e751
Merge branch 'master' into precompute-p,q-grams
...
# Conflicts:
# src/Diffing.hs
# src/Parser.hs
# src/TreeSitter.hs
2016-08-05 13:13:36 -04:00
Rob Rix
a06dd1dc1e
Move the Arbitrary instance over Vector into its own module.
2016-08-05 10:14:53 -04:00
Rob Rix
60c4effabe
Diffing annotates terms with their feature vectors.
2016-08-04 20:43:10 -04:00
Rob Rix
ec548b56d4
Sort the test dependencies alphabetically.
2016-08-04 20:42:39 -04:00
Rob Rix
9a14248c08
🔥 Operation.
2016-08-03 18:12:58 -04:00
joshvera
8b0f496b90
Merge remote-tracking branch 'origin/master' into error-syntax
2016-07-27 19:00:27 -04:00
joshvera
ae4142ad7c
Add SourceSpan module
2016-07-27 17:15:09 -04:00
Rob Rix
cfddd9ca75
Merge branch 'master' into sequenceable
2016-07-26 15:43:02 -04:00
Rob Rix
8f15a59282
Stub in a spec for the Mergeable stuff.
2016-07-26 03:56:52 -04:00
joshvera
1197d46d31
Remove megaparsec
2016-07-25 13:34:38 -04:00
Rob Rix
77969d5366
Merge branch 'master' into sequenceable
...
# Conflicts:
# src/Diff.hs
# src/Syntax.hs
2016-07-22 18:40:11 -04:00
Rob Rix
9ae7f52e8f
Rename Sequenceable to Mergeable.
2016-07-22 17:38:10 -04:00
Rob Rix
808f15d40e
Stub in a generic Sequenceable module.
2016-07-22 15:33:01 -04:00
Rob Rix
f53cf8f05e
Stub in a Sequenceable typeclass.
2016-07-22 15:28:47 -04:00
joshvera
485fc884a4
Merge branch 'syntax-redux' into property-tests
2016-07-22 14:39:54 -04:00
joshvera
70f9329f1a
Merge remote-tracking branch 'origin/master' into syntax-redux
2016-07-22 12:36:03 -04:00
joshvera
ad4d36f7fd
Add a CoArbitrary instance to Category
2016-07-17 11:18:31 -04:00
Rob Rix
631b557823
🔥 DiffOutput.hs.
2016-07-15 16:01:43 -04:00
joshvera
27c338331f
Merge remote-tracking branch 'origin/master' into syntax-redux
2016-07-14 15:22:46 -04:00
joshvera
453334d966
Use wl-pprint-text to pretty print diff summaries
2016-07-14 14:44:18 -04:00
joshvera
58ff433dd0
Merge remote-tracking branch 'origin/master' into pretty-print-summaries
2016-07-14 14:38:46 -04:00
joshvera
59426b86f6
Add megaparsec to pretty print summaries
2016-07-13 14:32:53 -04:00
joshvera
7169a51265
Use wl-pprint-text to pretty print diff summaries
2016-07-13 11:58:43 -04:00
Rob Rix
4f967e0e1a
🔥 Data.OrderedMap.
2016-07-12 23:27:20 -04:00
Rick Winfrey
177af03bd3
Merge branch 'master' into syntax-redux
2016-07-12 17:03:35 -05:00
Rob Rix
6c16a071bb
Stub in a generic align module.
2016-07-11 13:55:27 -04:00
Rob Rix
f97169b064
We no longer need syb.
2016-07-11 11:46:58 -04:00
Rob Rix
6c2948e317
Try to implement alignment over functors. Try, and fail miserably.
2016-07-08 17:59:54 -04:00
joshvera
1efd68d122
Merge remote-tracking branch 'origin/master' into syntax-redux
2016-07-06 16:22:25 -04:00
Rob Rix
4cfa993239
Move the Arbitrary gram functions into Data.RandomWalkSimilarity.
2016-07-05 09:18:53 -04:00
Rob Rix
28abcd1b38
Move Record’s Arbitrary instance into Data.Record.
2016-06-30 12:49:50 -04:00
Rob Rix
9611a27887
🔥 test/ArbitraryTerm.hs.
2016-06-27 15:03:04 -04:00
Rob Rix
b4107426de
Stub in a spec for Diff.
2016-06-27 13:12:06 -04:00
Rob Rix
5724d2cbb3
Use k-d trees to look up the nearest neighbour.
2016-06-24 11:10:18 -04:00
Rob Rix
b604ddd446
FlexibleContexts all the things.
2016-06-23 16:19:51 -04:00
Rob Rix
011623e028
Correct the spec module import.
2016-06-23 09:51:47 -04:00
Rob Rix
4a8b7631bb
Stub in a Data.Record.Arbitrary module.
2016-06-23 09:42:43 -04:00
Rob Rix
1170bfdcb2
Rename Data.Gram to Data.RandomWalkSimilarity.
2016-06-22 17:59:28 -04:00
Rob Rix
0bef12d722
Test that featureVector produces d-vectors.
2016-06-22 11:04:27 -04:00
Rob Rix
9a976869b2
Stub in a module for arbitrary grams.
2016-06-22 10:53:29 -04:00
Rob Rix
51392382ef
Stub in a spec for Data.Gram.
2016-06-22 10:41:13 -04:00
Rob Rix
226be486c8
Add a Random instance over Ratios.
2016-06-21 18:48:44 -04:00
Rob Rix
ce838de9b4
Bags are DLists.
2016-06-21 17:49:34 -04:00
Rob Rix
2c9ef943b8
Depend on hashable.
2016-06-21 17:24:18 -04:00
joshvera
0a574871c9
Merge remote-tracking branch 'origin/master' into syntax-redux
2016-06-21 17:08:40 -04:00
Rob Rix
f8988adf3b
Stub in a module for Grams.
2016-06-21 15:19:44 -04:00
Rob Rix
ba1fc277eb
Rework the constructors and eliminators a bit to not use tagged.
2016-06-16 16:41:43 -04:00
Rob Rix
d596c02e74
:=> and field are shorthand for Tagged.
2016-06-16 11:40:43 -04:00
Rob Rix
3809f3ee43
Stub in a Data.Record module.
2016-06-16 11:30:11 -04:00
Rick Winfrey
a79d5c5bd0
Merge remote-tracking branch 'origin/master' into syntax-redux
2016-06-07 16:50:11 -05:00
joshvera
f61f9675ae
Convert to function call
2016-06-06 14:56:28 -04:00
Rob Rix
29a725b125
Move ArbitraryDiff into semantic-diff proper.
2016-06-06 12:07:07 -04:00
Rob Rix
8780ea3f26
Move the Arbitrary instances for Join (,) and Join These into semantic-diff proper.
2016-06-06 11:50:45 -04:00
Rob Rix
4eb76ff3a3
Move the Arbitrary instance for Data.These into semantic-diff proper.
2016-06-06 11:46:30 -04:00
Rob Rix
378b577175
Move the Arbitrary instance for Patch into semantic-diff proper.
2016-06-06 11:43:38 -04:00
Rob Rix
a613fa0369
Merge branch 'push-benchmarks-to-graphite' into benchmark-alignment
2016-06-06 11:36:48 -04:00
Rob Rix
a571d9746d
Add RecordWildCards and FlexibleInstances to our default extensions.
2016-06-03 15:59:58 -04:00
Rob Rix
69fbaf8337
semantic-diff depends on QuickCheck.
2016-06-01 09:18:31 -04:00
Rob Rix
3ada142796
Stub in a module for arbitrary Terms.
2016-06-01 09:03:15 -04:00
Rob Rix
dadaa6b420
Add an Arbitrary instance for ArbitraryDiff.
2016-05-31 20:24:49 -04:00
Rob Rix
444bdb8c50
Depend on bifunctors & these.
2016-05-31 10:58:39 -04:00
Rob Rix
7a3cfd3425
Add a function to produce generative benchmarks.
2016-05-31 10:37:34 -04:00
Rob Rix
275751b0c5
Specify the default language.
2016-05-31 10:37:14 -04:00
Rob Rix
a7bdcaa7c2
Stub in a benchmark component.
2016-05-31 09:25:00 -04:00
Rob Rix
de6d7edec2
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
...
# Conflicts:
# semantic-diff.cabal
# src/Alignment.hs
# src/Control/Comonad/Cofree.hs
# src/Data/Adjoined.hs
# src/Diffing.hs
# src/Interpreter.hs
# src/Prologue.hs
# src/Renderer/JSON.hs
# src/Renderer/Patch.hs
# src/Renderer/Split.hs
# src/SplitDiff.hs
# src/Term.hs
# test/AlignmentSpec.hs
# test/ArbitraryTerm.hs
# test/PatchOutputSpec.hs
2016-05-27 09:35:26 -04:00
Rob Rix
cfe15a5afa
Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
...
# Conflicts:
# src/Alignment.hs
# src/Control/Comonad/Cofree.hs
# src/Data/Adjoined.hs
# src/Data/Align.hs
# src/Data/Bifunctor/These.hs
# src/Data/Coalescent.hs
# src/Data/Copointed.hs
# src/Data/Functor/Both.hs
# src/Data/Option.hs
# src/Line.hs
# src/Patch.hs
# src/Range.hs
# src/Renderer/JSON.hs
# src/Renderer/Patch.hs
# src/Renderer/Split.hs
# src/SplitDiff.hs
# stack.yaml
# test/AlignmentSpec.hs
# test/CorpusSpec.hs
# test/Data/Adjoined/Spec.hs
# test/Data/Functor/Both/Spec.hs
2016-05-26 15:25:45 -04:00
joshvera
2f761fc38b
Remove split dependency
2016-05-26 13:44:17 -04:00