Rob Rix
|
dee2a94e53
|
Generalize the flow-insensitive analysis over the name type.
|
2019-07-02 12:51:30 -04:00 |
|
Rob Rix
|
b2b7d77d51
|
Parse to Core User instead of Core Name.
|
2019-07-02 12:41:01 -04:00 |
|
Rob Rix
|
db2b72a133
|
Record user names in Core.
|
2019-07-02 12:39:58 -04:00 |
|
Rob Rix
|
da7fd48cff
|
Export Ignored.
|
2019-07-02 12:08:56 -04:00 |
|
Rob Rix
|
f0c08d8712
|
Factor the ignoring part of Named out.
|
2019-07-02 12:08:13 -04:00 |
|
Rob Rix
|
daa280c300
|
Define a helper to extract the User name from a Named value.
|
2019-07-02 12:07:28 -04:00 |
|
Rob Rix
|
906eba62f0
|
Give Named a parameter.
|
2019-07-02 12:02:04 -04:00 |
|
Rob Rix
|
48aad70f9f
|
📝 Named.
|
2019-07-02 11:58:39 -04:00 |
|
Rob Rix
|
e1158d89bc
|
Define a Named newtype.
|
2019-07-02 11:57:23 -04:00 |
|
Rob Rix
|
f9133f1325
|
Generalize instantiate.
|
2019-07-02 11:55:09 -04:00 |
|
Rob Rix
|
f68e7d76bf
|
Generalize bind.
|
2019-07-02 11:52:18 -04:00 |
|
Rob Rix
|
f2d3fee17c
|
Give Scope an extra parameter for binding sites.
|
2019-07-02 11:45:22 -04:00 |
|
Rob Rix
|
9af28f2f81
|
Give Incr an extra type parameter.
|
2019-07-02 11:41:32 -04:00 |
|
Rob Rix
|
1f23bfe83e
|
Extract a helper to fold within a CoreF.
|
2019-07-02 11:05:48 -04:00 |
|
Rob Rix
|
610f150da7
|
Move encloseIf into Data.Name.
|
2019-07-02 10:56:52 -04:00 |
|
Rob Rix
|
e07917555d
|
Note a FIXME.
|
2019-07-02 10:41:44 -04:00 |
|
Rob Rix
|
ddceb039d2
|
Simplify annWith.
|
2019-07-02 10:37:29 -04:00 |
|
Rob Rix
|
f3b4242ce5
|
🔥 the parameter to Root.
|
2019-07-02 10:31:47 -04:00 |
|
Rob Rix
|
4ed4df88c1
|
🔥 prettify'.
|
2019-07-02 10:20:55 -04:00 |
|
Rob Rix
|
fa8314d393
|
Simplify the handling of binders.
|
2019-07-02 10:20:07 -04:00 |
|
Rob Rix
|
085e4c288c
|
Redefine prettify as a CoreF-algebra.
|
2019-07-02 10:17:28 -04:00 |
|
Rob Rix
|
42f11aa8a8
|
Pass the Style into prettify.
|
2019-07-02 10:01:26 -04:00 |
|
Rob Rix
|
ce086a9ed1
|
cata takes a CoreF-algebra.
|
2019-07-02 09:55:15 -04:00 |
|
Rob Rix
|
7ca8693a87
|
Rename kfold to cata.
|
2019-07-02 09:48:20 -04:00 |
|
Rob Rix
|
200563a030
|
Redefine efold as iter, taking a CoreF-algebra.
|
2019-07-02 09:47:55 -04:00 |
|
Rob Rix
|
fc757694c8
|
Use Scope in Core.
|
2019-07-02 09:38:06 -04:00 |
|
Rob Rix
|
37be0183c3
|
Define a function for folding over scopes.
|
2019-07-02 09:37:24 -04:00 |
|
Rob Rix
|
7eff780174
|
Export Scope.
|
2019-07-02 09:37:00 -04:00 |
|
Rob Rix
|
a78bee5909
|
Define a MonadTrans instance for Scope.
|
2019-07-02 09:33:22 -04:00 |
|
Rob Rix
|
fc354b2039
|
Define a Monad instance for Scope.
|
2019-07-02 09:32:43 -04:00 |
|
Rob Rix
|
cd8f32f496
|
Define an Applicative instance for Scope.
|
2019-07-02 09:30:55 -04:00 |
|
Rob Rix
|
0290e9f7c3
|
Define a Monad instance for Incr.
|
2019-07-02 09:30:06 -04:00 |
|
Rob Rix
|
d0f9cbbc10
|
Define an Applicative instance for Incr.
|
2019-07-02 09:29:35 -04:00 |
|
Rob Rix
|
24cff39c17
|
Rename subst to fromIncr.
|
2019-07-02 09:28:41 -04:00 |
|
Rob Rix
|
0834d306e5
|
Redefine match to avoid an fmap.
|
2019-07-02 09:28:19 -04:00 |
|
Rob Rix
|
d1a3e6c845
|
Define a Scope newtype performing alpha-equivalent equality tests.
|
2019-07-02 09:27:22 -04:00 |
|
Rob Rix
|
283eb244cb
|
Split Core into functor & fixpoint once more.
|
2019-07-02 09:22:46 -04:00 |
|
Rob Rix
|
0b28f734a1
|
Simplify folds over Core to not require Coercible constraints.
|
2019-07-02 09:02:59 -04:00 |
|
Rob Rix
|
80cf7fde1c
|
🔥 a redundant import.
|
2019-07-02 09:02:26 -04:00 |
|
Rob Rix
|
0b3e5a44d8
|
🔥 Path names.
|
2019-06-28 14:22:32 -04:00 |
|
Rob Rix
|
8325e58413
|
🔥, 🔥, so much 🔥
|
2019-06-28 14:10:35 -04:00 |
|
Rob Rix
|
4b0b429ae7
|
Define efold without reference to eiter.
|
2019-06-28 14:08:45 -04:00 |
|
Rob Rix
|
67fd04f7d6
|
🔥 redundant parens.
|
2019-06-28 13:33:53 -04:00 |
|
Rob Rix
|
70890eaf9b
|
🔥 gfold.
|
2019-06-28 13:30:57 -04:00 |
|
Rob Rix
|
4b2c69d9bf
|
Define >>= using efold.
|
2019-06-28 13:30:36 -04:00 |
|
Rob Rix
|
30873a7762
|
Turn the wheel to maximum fastness.
|
2019-06-28 13:15:05 -04:00 |
|
Rob Rix
|
bc2c536822
|
Define kfold in terms of gfold.
|
2019-06-28 12:58:56 -04:00 |
|
Rob Rix
|
88ab103a23
|
Avoid an fmap.
|
2019-06-28 12:53:24 -04:00 |
|
Rob Rix
|
87ad03cc6e
|
Export incr after all.
|
2019-06-28 12:46:10 -04:00 |
|
Rob Rix
|
6d7520a0cd
|
Don’t export match, subst, or incr.
|
2019-06-28 12:26:30 -04:00 |
|
Rob Rix
|
de799f08b4
|
Generalize & move bind & instantiate.
|
2019-06-28 12:08:40 -04:00 |
|
Rob Rix
|
f0fae35ec9
|
Use separate functor & recursive types.
|
2019-06-28 11:41:53 -04:00 |
|
Rob Rix
|
a6cd4debe6
|
Annotate only the continuation.
|
2019-06-28 10:40:58 -04:00 |
|
Rob Rix
|
adddb87dc2
|
Rename n' to c.
|
2019-06-28 10:18:19 -04:00 |
|
Rob Rix
|
6dbb851b55
|
Define efold using eiter.
|
2019-06-28 10:00:04 -04:00 |
|
Rob Rix
|
501dd59329
|
Define efficient Mendler-style iteration of Core terms.
|
2019-06-28 09:57:40 -04:00 |
|
Rob Rix
|
0086d1e27b
|
Define an efficient generalized fold over Core.
|
2019-06-28 09:06:42 -04:00 |
|
Rob Rix
|
dc925fafcf
|
Fix indentation.
|
2019-06-27 19:21:45 -04:00 |
|
Rob Rix
|
746f0c92e9
|
Extract Var into Core.
|
2019-06-27 19:16:58 -04:00 |
|
Rob Rix
|
22c478bf45
|
🔥 >>> in favour of <>.
|
2019-06-27 15:26:30 -04:00 |
|
Rob Rix
|
383342bf9c
|
Use the smart constructor when binding.
|
2019-06-27 12:34:34 -04:00 |
|
Rob Rix
|
901e0172df
|
Add a smart constructor for string primitives.
|
2019-06-27 12:31:27 -04:00 |
|
Rob Rix
|
694bafed7e
|
🔥 konst.
|
2019-06-27 12:13:53 -04:00 |
|
Rob Rix
|
1f3cf601ad
|
🔥 unP.
|
2019-06-27 12:12:29 -04:00 |
|
Rob Rix
|
e776cd4051
|
Avoid a lambda.
|
2019-06-27 12:10:59 -04:00 |
|
Rob Rix
|
bc8937e60a
|
Simplify prettify' using kfold.
|
2019-06-27 12:09:39 -04:00 |
|
Rob Rix
|
1247dffb8b
|
Split Core into a higher-order functor and its fixpoint.
|
2019-06-27 12:02:56 -04:00 |
|
Rob Rix
|
2c8e8dcf3c
|
Use Const instead of K.
|
2019-06-27 09:40:08 -04:00 |
|
Rob Rix
|
03749a7ef4
|
Define a constant fold over core.
|
2019-06-27 09:37:36 -04:00 |
|
Rob Rix
|
3e6b41a2c1
|
Dedent.
|
2019-06-26 14:56:56 -04:00 |
|
Rob Rix
|
7e8c06a0d6
|
🔥 a type signature.
|
2019-06-26 14:56:00 -04:00 |
|
Rob Rix
|
ae2ae625e0
|
Zero-index.
|
2019-06-26 14:55:11 -04:00 |
|
Rob Rix
|
9c6d400224
|
🔥 P.
|
2019-06-26 14:53:41 -04:00 |
|
Rob Rix
|
44c0e8a38f
|
Don’t bother passing a Gensym around.
|
2019-06-26 14:49:28 -04:00 |
|
Rob Rix
|
babeeea738
|
Print variables more deliberately.
|
2019-06-26 14:38:48 -04:00 |
|
Rob Rix
|
da8de1b907
|
Define unP pointfully.
|
2019-06-26 14:13:33 -04:00 |
|
Rob Rix
|
b9f286bad4
|
Move unP next to p.
|
2019-06-26 14:12:11 -04:00 |
|
Rob Rix
|
da29ba1bea
|
Give a root name to prettify'.
|
2019-06-26 14:00:20 -04:00 |
|
Rob Rix
|
1eb9199c58
|
🔥 a redundant sig.
|
2019-06-26 10:49:57 -04:00 |
|
Rob Rix
|
8610f62707
|
Don’t print a name with lambdas, we’re using de Bruijn for this.
|
2019-06-26 10:43:55 -04:00 |
|
Rob Rix
|
d8a76ee1e2
|
Give an alternative definition of prettify using gfold.
|
2019-06-26 10:38:07 -04:00 |
|
Rob Rix
|
cea99d2aae
|
Specialize the type of the k parameter.
|
2019-06-26 10:07:07 -04:00 |
|
Rob Rix
|
6e5d4baa5f
|
Decompose sequences deeply.
|
2019-06-26 08:41:25 -04:00 |
|
Rob Rix
|
4b11270791
|
Decompose sequences.
|
2019-06-26 08:41:15 -04:00 |
|
Rob Rix
|
4c439f9ae7
|
Spacing.
|
2019-06-25 23:03:11 -04:00 |
|
Rob Rix
|
6dec2691da
|
Improve sharing.
|
2019-06-25 21:49:12 -04:00 |
|
Rob Rix
|
56336ae59a
|
Rename the dist parameter to k.
|
2019-06-25 21:42:35 -04:00 |
|
Rob Rix
|
8e000365a1
|
🔥 the dependency on recursion-schemes.
|
2019-06-25 21:31:25 -04:00 |
|
Rob Rix
|
df2355d277
|
Fix naming across the board.
|
2019-06-25 21:30:54 -04:00 |
|
Rob Rix
|
2ad9b569dd
|
Unpack lambdas.
|
2019-06-25 21:17:46 -04:00 |
|
Rob Rix
|
d9dd852738
|
Rename gfoldT to gfold.
|
2019-06-25 21:16:43 -04:00 |
|
Rob Rix
|
e73f8fe345
|
Pretty-print using the new shapes.
|
2019-06-25 18:33:06 -04:00 |
|
Rob Rix
|
9790468ada
|
Define instantiation of Core terms.
|
2019-06-25 18:31:28 -04:00 |
|
Rob Rix
|
bde447c040
|
Export lam.
|
2019-06-25 18:30:59 -04:00 |
|
Rob Rix
|
a2c4ddad34
|
Correct a comment.
|
2019-06-25 18:30:03 -04:00 |
|
Rob Rix
|
978f66aca6
|
🔥 the base functor.
|
2019-06-25 18:21:57 -04:00 |
|
Rob Rix
|
1240265cde
|
Make Core scope-safe.
|
2019-06-25 18:01:56 -04:00 |
|
Rob Rix
|
ba8de743a0
|
Beautify.
|
2019-06-25 17:47:31 -04:00 |
|
Rob Rix
|
9db69d80fa
|
Add some helpers for Incr.
|
2019-06-25 17:39:15 -04:00 |
|
Rob Rix
|
1e3b473fc7
|
Define an Incr datatype for scoping.
|
2019-06-25 17:37:59 -04:00 |
|
Rob Rix
|
ffdefb05e9
|
Fix the doctest for concrete.
|
2019-06-25 14:27:50 -04:00 |
|
Rob Rix
|
58d819f81a
|
Turn on overloaded strings in the doctests.
|
2019-06-25 14:26:46 -04:00 |
|
Rob Rix
|
ce1d209b5e
|
Correct the doctest runner.
|
2019-06-25 14:24:49 -04:00 |
|
Rob Rix
|
2009e4ab93
|
Fix the IsString instance.
|
2019-06-25 14:21:42 -04:00 |
|
Rob Rix
|
2f077365e2
|
Generate Text.
|
2019-06-25 14:21:36 -04:00 |
|
Rob Rix
|
6097e4509e
|
🔥 an obsolete FIXME.
|
2019-06-25 13:13:05 -04:00 |
|
Rob Rix
|
31d396ee91
|
Merge branch 'master' into semantic-python
|
2019-06-17 10:54:55 -04:00 |
|
Jan Hrček
|
915937c4be
|
Fix some hlint warnings
|
2019-06-16 13:40:13 +02:00 |
|
Rob Rix
|
30fd1b4abf
|
Merge branch 'master' into remove-orphan-bytestring-listable
|
2019-06-14 16:34:13 -04:00 |
|
Patrick Thomson
|
e1d94f07d1
|
Remove Listable instance for Source.
This was created with a whole mess of Leancheck combinators. A
Hedgehog approach makes things easier.
|
2019-06-14 11:53:42 -04:00 |
|
Patrick Thomson
|
668d1f396f
|
Require Cabal 2.4.
|
2019-06-13 14:20:22 -04:00 |
|
Rob Rix
|
e9968caa45
|
Use Text for gensym’d names.
|
2019-06-12 10:55:04 -04:00 |
|
Rob Rix
|
06e3c7f0be
|
Factor the common bits of the string out.
|
2019-06-12 10:52:26 -04:00 |
|
Rob Rix
|
1bd25ace27
|
Represent user variables as Text.
|
2019-06-12 10:51:17 -04:00 |
|
Rob Rix
|
7583226a55
|
Represent paths as Text.
|
2019-06-12 10:43:54 -04:00 |
|
Rob Rix
|
be842df923
|
Represent strings as Text.
|
2019-06-12 10:39:54 -04:00 |
|
Rob Rix
|
afa8b7914b
|
Wrap.
|
2019-06-11 11:39:59 -04:00 |
|
Rob Rix
|
b8d5747941
|
We’re only supporting 8.6 at present anyway.
|
2019-06-11 11:38:55 -04:00 |
|
Rob Rix
|
b09e1a65ba
|
Add a description to semantic-core.
|
2019-06-11 11:26:47 -04:00 |
|
Rob Rix
|
d09ab401c0
|
Add stability fields to core & python.
|
2019-06-11 11:25:20 -04:00 |
|
Rob Rix
|
40e9999b02
|
Add bug-reports fields.
|
2019-06-11 11:23:38 -04:00 |
|
Rob Rix
|
e4e5370296
|
Correct some fields for Core.
|
2019-06-11 11:07:57 -04:00 |
|
Patrick Thomson
|
79fa92e9e6
|
Bump minimum base version to 4.12.0.0.
This should hopefully provide a more informative error message when
someone attempts to build the project with too old of a GHC.
|
2019-06-05 10:38:51 -04:00 |
|
Patrick Thomson
|
b135c62444
|
Address @robrix's suggestions.
|
2019-06-04 14:19:35 -04:00 |
|
Patrick Thomson
|
01a4bd2ed4
|
Label compound and assignment parsers and use infix chainl1.
|
2019-06-04 11:34:49 -04:00 |
|
Patrick Thomson
|
e9b0c4548f
|
Remove unused language extensions.
|
2019-06-04 11:32:45 -04:00 |
|
Patrick Thomson
|
11a5217f45
|
Enable tests.
|
2019-06-04 11:26:42 -04:00 |
|
Patrick Thomson
|
2b446df225
|
Add pretty-printer.
|
2019-06-04 10:54:39 -04:00 |
|
Patrick Thomson
|
e8ac13f098
|
Institute parser for Core.
I tried to pull the history from this patch over but I was not able to
figure out how to resolve conflicts from `git am`.
|
2019-06-03 16:09:47 -04:00 |
|
Rob Rix
|
937505e04f
|
Move Semantic.Core to Data.Core.
|
2019-06-03 11:47:03 -04:00 |
|
Rob Rix
|
34d7727ae7
|
Move Semantic.Name to Data.Name.
|
2019-06-03 11:45:12 -04:00 |
|
Rob Rix
|
7559eed761
|
Move Semantic.Eval to Analysis.Eval.
|
2019-06-03 11:40:37 -04:00 |
|
Rob Rix
|
f955ecbb6e
|
Move Semantic.Eval.* to Analysis.*.
|
2019-06-03 11:38:42 -04:00 |
|
Rob Rix
|
6dfa21bbbd
|
Rename Semantic.Data.Stack to Data.Stack.
|
2019-06-03 11:36:36 -04:00 |
|
Rob Rix
|
23ba75ba79
|
Copy in the semantic-core sources.
|
2019-06-03 11:34:15 -04:00 |
|