Patrick Thomson
94c8adba23
Fix most effects except Interpose
2019-07-06 11:27:12 -04:00
Patrick Thomson
f401f75303
WIP
2019-07-06 10:52:38 -04:00
Timothy Clem
a48aa65cfc
Bring back ping request/response
2019-07-05 15:34:35 -07:00
Timothy Clem
7b44a6a24e
Repeatable code gen from proto
2019-07-05 15:11:33 -07:00
Patrick Thomson
40a8e6d418
Merge pull request #193 from KevOrr/php-strict-equal-assignment
...
[#188 ] Fix PHP strict inequality assignment
2019-07-03 16:58:30 -04:00
Patrick Thomson
23733f9ac9
Merge branch 'master' into php-strict-equal-assignment
2019-07-03 12:07:55 -04:00
Patrick Thomson
cd232fb4ce
Merge pull request #192 from KevOrr/php-concat
...
[#186 ] Fix PHP string concatenation and augmented assignment
2019-07-03 12:07:32 -04:00
Patrick Thomson
cfcd27545d
Merge branch 'master' into php-concat
2019-07-03 11:06:42 -04:00
Patrick Thomson
daacddc5c4
Merge branch 'master' into php-strict-equal-assignment
2019-07-03 11:04:27 -04:00
Kevin Orr
5b5a9965dc
[ #186 ] Fix PHP string concatenation and augmented assignment
2019-07-03 09:54:13 -04:00
Rob Rix
d147bb8b28
Merge pull request #191 from github/fix-graph-vertex-ids
...
Include vertex IDs in JSON graph output and fix their format.
2019-07-02 14:35:19 -07:00
Kevin Orr
8a6737b079
[ #188 ] Fix PHP strict inequality assignment
2019-07-02 16:38:17 -04:00
Rob Rix
50db4efa0c
Generalize runHeap over the name type.
2019-07-02 13:01:00 -04:00
Rob Rix
b7124e0c5b
Generalize FrameId over the name type.
2019-07-02 13:00:51 -04:00
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
Patrick Thomson
785ba4dcea
Include vertex IDs in JSON graph output and fix their format.
...
As reported in #189 , the `edges` field of JSON graph output refers to
information not reflected in the rest of the output, specifically the
vertex IDs. This patch adds that information to the `ToJSON` instance
for `ControlFlowVertex`. It also includes a `toEncoding` instance for
a free speed boost.
During this patch, I realized that, because `hash` tends to return a
large number (since `Int` is 64-bit), we may run into errors when
decoding JSON. One example hash is `3500157981503982114`; passing that
to a JS engine's `Number.isSafeInteger` function returns false. The
correct thing to do here is return ids as strings, which I have done.
This is backwards-incompatible, but since this information was never
properly exposed, the impact is negligable.
2019-07-02 11:24:52 -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