1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 00:12:29 +03:00
Commit Graph

326 Commits

Author SHA1 Message Date
Rob Rix
c9b328eff5
🔥 a bunch of redundant prefixes. 2019-07-22 10:18:17 -04:00
Rob Rix
c175bc3553
Bind the global scope recursively. 2019-07-22 10:18:02 -04:00
Rob Rix
2a5c1818d1
🔥 lam'/lams'. 2019-07-22 10:12:48 -04:00
Rob Rix
1d50aecd9e
Define prog5 using lams. 2019-07-22 10:09:26 -04:00
Rob Rix
db448e6847
🔥 Let & Frame. 2019-07-22 10:07:27 -04:00
Rob Rix
b5a0624853
🔥 redundant parens. 2019-07-22 09:42:09 -04:00
Rob Rix
f24ef8b0a4
Correct the docs for Record. 2019-07-19 15:31:47 -04:00
Rob Rix
bff499e934
📝 :.. 2019-07-19 15:31:19 -04:00
Rob Rix
ef24642f26
Give fixity & precedence for :<-. 2019-07-19 15:25:33 -04:00
Rob Rix
38efb33327
Move unseq & unseqs up under >>>. 2019-07-19 15:19:34 -04:00
Rob Rix
e809a2935b
📝 :>>=. 2019-07-19 15:06:27 -04:00
Rob Rix
6f5e578d0f
Define a smart constructor for local bindings. 2019-07-19 15:04:27 -04:00
Rob Rix
15a125ba3b
Give fixity & precedence for >>>. 2019-07-19 15:01:01 -04:00
Rob Rix
a10cdc9380
Use >>> to define Block’s Semigroup instance. 2019-07-19 15:00:39 -04:00
Rob Rix
8c06d7bf0e
Reintroduce assignment syntax. 2019-07-19 14:58:31 -04:00
Rob Rix
cbf9f431dd
Define a smart-constructor for :>>. 2019-07-19 14:44:54 -04:00
Rob Rix
79f573795d
Parse records. 2019-07-19 14:36:22 -04:00
Rob Rix
972a52dcbf
Prefix records during pretty-printing. 2019-07-19 14:32:08 -04:00
Rob Rix
3459b3b058
Parse recursive bindings. 2019-07-19 14:28:48 -04:00
Rob Rix
2606e1eff1
🔥 a redundant where clause. 2019-07-19 14:26:08 -04:00
Rob Rix
1398c995a0
Redefine records as a flat list of bindings. 2019-07-19 14:21:39 -04:00
Rob Rix
f373ca410f
Define a smart constructor for recursive bindings. 2019-07-19 14:16:41 -04:00
Rob Rix
e259bc0e91
Define a recursive binder. 2019-07-19 14:03:31 -04:00
Rob Rix
00beb2dbce
Define a smart constructor for records. 2019-07-19 12:31:00 -04:00
Rob Rix
218c8f3ba0
Define records of simultaneously-bound fields. 2019-07-19 12:18:48 -04:00
Rob Rix
83cd925263
Use Named to represent the binder. 2019-07-19 12:03:50 -04:00
Rob Rix
de519912be
Generalize encloseIf to any Semigroup. 2019-07-19 11:53:09 -04:00
Rob Rix
ebafd644d3
Move encloseIf back into Data.Core.Pretty. 2019-07-19 11:52:17 -04:00
Rob Rix
0115512f58
Simplify how we instantiate in unlam. 2019-07-19 11:45:29 -04:00
Rob Rix
02b955819c
Correct prog5 to construct and return a new frame. 2019-07-19 11:10:40 -04:00
Rob Rix
90c6bea5f0
Increase the precedence of $$. 2019-07-19 11:08:23 -04:00
Rob Rix
53598bd6e9
Revert "Give fromScope a parameter to bind over the contents of the scope."
This reverts commit d998f66133.
2019-07-19 11:00:02 -04:00
Rob Rix
66c0bffc17
Instantiate. 2019-07-19 10:59:02 -04:00
Rob Rix
a45c029d86
Simplify prettyCore.go. 2019-07-19 09:59:08 -04:00
Rob Rix
d998f66133
Give fromScope a parameter to bind over the contents of the scope. 2019-07-19 09:58:10 -04:00
Rob Rix
790f4e3084
Revert "Define a fixpoint over rank-n quantified mendler-style recursive functions."
This reverts commit 835506030b.
2019-07-19 09:44:25 -04:00
Rob Rix
835506030b
Define a fixpoint over rank-n quantified mendler-style recursive functions. 2019-07-19 09:42:10 -04:00
Rob Rix
89cdd3bda3
Reformat the signature for typecheckingAnalysis. 2019-07-19 08:46:02 -04:00
Rob Rix
7d336c9d9a
Reformat a little. 2019-07-19 08:43:31 -04:00
Rob Rix
f81384767a
Reformat the signature for eval. 2019-07-18 22:00:45 -04:00
Rob Rix
01c963069e
Merge branch 'types-as-syntax' into gen-x 2019-07-18 21:37:07 -04:00
Rob Rix
4ccf31d863
Replace Substitutable with monadic substitution. 2019-07-18 17:01:03 -04:00
Rob Rix
fcaf1307dd
Replace FreeVariables with a function abstracted over a Foldable instance. 2019-07-18 16:53:00 -04:00
Rob Rix
e533091826
🔥 Gensym. 2019-07-18 16:39:23 -04:00
Rob Rix
cda5e3d80e
🔥 Namespaced. 2019-07-18 16:38:58 -04:00
Rob Rix
467292d509
🔥 Name. 2019-07-18 16:38:25 -04:00
Rob Rix
62c09c308b
🔥 Naming. 2019-07-18 16:37:51 -04:00
Rob Rix
59f09cc679
🔥 NamingC & runNaming. 2019-07-18 16:37:13 -04:00
Rob Rix
baa675f235
🔥 prime. 2019-07-18 16:35:57 -04:00
Rob Rix
03ed4cd3ae
Analyze with names in User. 2019-07-18 16:34:41 -04:00
Rob Rix
122b631811
Use Void to represent closed terms. 2019-07-18 16:19:05 -04:00
Rob Rix
5dbf727985
Generalize in pure code. 2019-07-18 16:10:16 -04:00
Rob Rix
a83cdffa73
Define a function to close a term. 2019-07-18 16:08:32 -04:00
Rob Rix
8371475e43
Use hoistTerm to generalize monotypes to polytypes. 2019-07-18 16:02:52 -04:00
Rob Rix
29fc72f288
Define a hoisting operation over Term. 2019-07-18 15:56:14 -04:00
Rob Rix
2388800416
🔥 the duplication between Monotype & Polytype. 2019-07-18 15:53:30 -04:00
Rob Rix
3e7123ff85
🔥 the M prefixes on Monotype’s constructors. 2019-07-18 15:48:24 -04:00
Rob Rix
b81cbf2686
Represent Monotype in Term. 2019-07-18 15:46:47 -04:00
Rob Rix
a5151d34e1
Derive Eq, Ord, & Show instances for Polytype. 2019-07-18 15:31:53 -04:00
Rob Rix
fcfc81606a
Derive some more instances for Monotype. 2019-07-18 15:26:13 -04:00
Rob Rix
c4fa4faf5c
🔥 PBound/PFree. 2019-07-18 15:24:43 -04:00
Rob Rix
7763028709
🔥 MFree. 2019-07-18 15:23:59 -04:00
Rob Rix
a9894d026e
Bind polytypes as scope-safe syntax. 2019-07-18 15:21:57 -04:00
Rob Rix
05a309745b
Tidy up the language extensions. 2019-07-18 14:45:30 -04:00
Rob Rix
70f67c0165
🔥 the Syntax class. 2019-07-18 14:44:36 -04:00
Rob Rix
2743895e78
🔥 the Syntax instance for Core. 2019-07-18 14:44:10 -04:00
Rob Rix
49baa468f9
🔥 iter. 2019-07-18 14:43:25 -04:00
Rob Rix
2f8126875d
Generalize stripAnnotations. 2019-07-18 14:41:04 -04:00
Rob Rix
9eae24ecc1
Recur through annotations. 2019-07-18 14:39:20 -04:00
Rob Rix
aa1e36bc93
Define stripAnnotations directly. 2019-07-18 14:37:19 -04:00
Rob Rix
97320176dc
🔥 interpret. 2019-07-18 14:34:44 -04:00
Rob Rix
4cbc23b76d
🔥 cata. 2019-07-18 14:34:16 -04:00
Rob Rix
e6e580d0a2
Spacing. 2019-07-18 14:30:20 -04:00
Rob Rix
fbb5688bd4
Use the top-level definition of with. 2019-07-18 14:29:57 -04:00
Rob Rix
d7e4f2129d
Combine prettyCore & prettify. 2019-07-18 14:28:12 -04:00
Rob Rix
4598da7e21
Define prettify direct-recursively.
This uses fromScope to recur, and accumulates a continuation for the variables to avoid n² fmaps.
2019-07-18 14:26:51 -04:00
Rob Rix
72701fe9fc
Reuse fromScope. 2019-07-18 11:02:56 -04:00
Rob Rix
e36cc7c184
Fix the doctest for concrete. 2019-07-18 10:25:43 -04:00
Rob Rix
325ec2a2c4
Sort the fixity declarations like in the syntax. 2019-07-17 15:29:40 -04:00
Rob Rix
d3cf5624e7
Give fixities for ... and .=. 2019-07-17 15:29:22 -04:00
Rob Rix
d9ea6e783e
Correct the precedences of pretty-printing for :. and :=. 2019-07-17 15:29:12 -04:00
Rob Rix
36827bb85c
Strip annotations in the tests. 2019-07-17 15:23:56 -04:00
Rob Rix
8aacefb5d1
Parse string literals. 2019-07-17 15:10:21 -04:00
Rob Rix
d076bbb21f
🔥 re-exports of iter & cata. 2019-07-17 14:54:29 -04:00
Rob Rix
1d94634cce
Generate User names. 2019-07-17 12:55:05 -04:00
Rob Rix
25f6f96ea4
Define a helper for constructing Named User. 2019-07-17 12:54:08 -04:00
Rob Rix
76f79fd315
Specialize pretty-printing to User. 2019-07-17 12:51:42 -04:00
Rob Rix
da85c697b2
Correct the types in the spec. 2019-07-17 12:44:34 -04:00
Rob Rix
c2812f8995
Fix up the generators. 2019-07-17 12:44:27 -04:00
Rob Rix
a1ee196d76
Define a helper to interpret a Term in some other eff-Carrier. 2019-07-17 11:57:44 -04:00
Rob Rix
1c85529a33
Move the fixities adjacent to Core. 2019-07-17 11:54:56 -04:00
Rob Rix
1e8a4ffa31
Replace Core with Term CoreF. 2019-07-17 11:53:20 -04:00
Rob Rix
1adc85d6a1
🔥 the Semigroup instance for Core. 2019-07-17 11:43:48 -04:00
Rob Rix
3e53644a36
Define block using a newtype helper.
We can’t rely on having a Semigroup instance for the term type.
2019-07-17 11:42:16 -04:00
Rob Rix
1e3e8dd425
Use the RightModule instance for CoreF to define the Monad instance for Core. 2019-07-17 11:24:57 -04:00
Rob Rix
e63e04724a
Define a RightModule instance for CoreF. 2019-07-17 11:24:44 -04:00
Rob Rix
d1c6d9fab8
Define a catamorphism over Terms. 2019-07-17 11:19:30 -04:00
Rob Rix
43061122b9
Define an iterator for Term. 2019-07-17 11:17:06 -04:00
Rob Rix
bb30733b83
Replace foldCoreF with a Syntax instance. 2019-07-17 11:15:24 -04:00
Rob Rix
7f828469c3
🔥 foldScope. 2019-07-17 11:14:46 -04:00