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

109 Commits

Author SHA1 Message Date
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