Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/elm-tooling/elm-compiler-library
Compiler fork used in elm-language-server-haskell (archived). Use https://github.com/elm-tooling/elm-language-server instead
https://github.com/elm-tooling/elm-compiler-library
This will make it easier to generate integer identifiers when
generating production code (but st...
2c1b2e8e3bcb9a383796f8bc0383abd53f355f91 authored about 7 years ago by Evan Czaplicki <[email protected]>
The graph nodes are set up for cyclic values, tail calls, and effect
managers. This also tracks ...
If we know the frequency of each field, we can assign them short/unique
names. So the 53 most us...
57490fde6f77a60f8bf1d3454d55b74195e8a7a3 authored about 7 years ago by Evan Czaplicki <[email protected]>
d93de65de1aa7e5dc321b06d24fbc06010bda731 authored about 7 years ago by Evan Czaplicki <[email protected]>
9b18f28e45e09c49f9e668e3a1570b9e287f0cc5 authored about 7 years ago by Evan Czaplicki <[email protected]>
So far it converts everything except for case expressions. Need to make
some choices about how c...
086880c4bf52c54abfa3c226640fc2abc682e4b2 authored about 7 years ago by Evan Czaplicki <[email protected]>
The plan is to rely on JS minifiers for inlining of single-use
variables.
Longer-term, we would...
3c0075007b55f842c2859a5aaf0164b475d8918d authored about 7 years ago by Evan Czaplicki <[email protected]>76d3d24cbafdde973616f0739ed4892ec5f2ba8c authored about 7 years ago by Evan Czaplicki <[email protected]>
5c0addd811d6637306a8c9a6431d87bd5343a4e8 authored about 7 years ago by Evan Czaplicki <[email protected]>
The main goals here are:
1. Gather usage counts for each argument. This will make it easier to
...
e41ae102253f56b882eea7acb2a650f79b2414bf authored about 7 years ago by Evan Czaplicki <[email protected]>
bac53dee0c9834bfba5e98396ecba5f8d91eca8a authored about 7 years ago by Evan Czaplicki <[email protected]>
ea5c662995b0997264032fb1b251400e70c4ba82 authored about 7 years ago by Evan Czaplicki <[email protected]>
This organizes all the constraints from the value declarations and the
ports/effects in the modu...
Instead of a custom Solver monad, the new Type.Solve code uses plain IO
and threads some state a...
d3fa29017c1d66fda8e17045a23c0e1018d0d34b authored about 7 years ago by Evan Czaplicki <[email protected]>
They will always be prefixed, so it is silly to follow that Haskell
convention of repeating the ...
1aa236adc4840a42c62add68ad98f0ec07ece8d0 authored about 7 years ago by Evan Czaplicki <[email protected]>
179fad88d3161522545dec940262a7334f6cd516 authored about 7 years ago by Evan Czaplicki <[email protected]>
2e0beda9bc2aa1721297129524d6498ec3a0793d authored about 7 years ago by Evan Czaplicki <[email protected]>
212b60267f5ca34e8f4c9fda1ef83b28364eb4ac authored about 7 years ago by Evan Czaplicki <[email protected]>
86148e8f507e94843386c774c477951bb494b808 authored about 7 years ago by Evan Czaplicki <[email protected]>
Rather than using a ErrorT/StateT/IO monad stack, the new code uses a
CPS’d version that only tr...
adb93faf09ee48e5593d9021e07b887af1ebcbb3 authored about 7 years ago by Evan Czaplicki <[email protected]>
I noticed that every use of CLet had a list like [Scheme] where there
was only one scheme. So ra...
The old version builds Bags as you go, turning it into dictionary at
the end. That means adding ...
Create new “Expectation” type that holds context information about why
certain things should be ...
a964796310e36efaea035c342c2a5c3f70a6de9a authored about 7 years ago by Evan Czaplicki <[email protected]>
ea793f5ba0b902adaf036ba4279fa7d0d09ea480 authored about 7 years ago by Evan Czaplicki <[email protected]>
Use a new format for error reporting. It provides both the Context of
the constraint and the Cat...
This introduces the AST.Canonical.Annotation type that holds on to all
the free type variables i...
d9985bc27f57058cdf262880e00cbf30db6bbba1 authored about 7 years ago by Evan Czaplicki <[email protected]>
ea77dcfa71878f23e52690e56774ccedaf323182 authored about 7 years ago by Evan Czaplicki <[email protected]>
The code seems to be better if it is more explicit on these points.
3949a04e54f5ee86bbab9160b0be90eec02dd4df authored about 7 years ago by Evan Czaplicki <[email protected]>6e2f87e7c2581d645e5cc5d4a475c2a7d3e5f170 authored about 7 years ago by Evan Czaplicki <[email protected]>
e34add9b609d1057619513739b1a0a843b311033 authored about 7 years ago by Evan Czaplicki <[email protected]>
8867611a379a341dde64bb40e01f2d31a18da819 authored about 7 years ago by Evan Czaplicki <[email protected]>
9d6d260d0f5c63b4021a2852c4b2417c5bddb68e authored about 7 years ago by Evan Czaplicki <[email protected]>
Remove the AST.Type module and distribute it between AST.Source,
AST.Canonical, and AST.Utils.Type
85b2e31e4d576345a3938c0f041539841726a486 authored about 7 years ago by Evan Czaplicki <[email protected]>
All this logic moves to constraining expressions and patterns
specifically. This makes it easier...
e28d01ea01f9f5c59143cb937116928c50bfc888 authored about 7 years ago by Evan Czaplicki <[email protected]>
Rather than having all the logic that uses the core code in these
modules, the special uses are ...
a794af52b64e796b9b87c8ec33eaa47e5035935f authored about 7 years ago by Evan Czaplicki <[email protected]>
This change started because I could not remember if an Int was
zero-indexed or one-indexed. Now ...
Binops can only be used outside of the module they are defined in.
Binops need to work exactly ...
a0ee1f545e56fd1e97d41678c12b83b6b7755d15 authored about 7 years ago by Evan Czaplicki <[email protected]>64038dc5cb840d7b93b13a1b38ad83f17a2169b0 authored about 7 years ago by Evan Czaplicki <[email protected]>
New parser for numbers allocates a bit extra. Seems kind of lame. Need
to test if providing func...
This revealed that it is pretty silly to allow floats in pattern
matches. They had that only bec...
This also gives me an indexedMap function that I have been missing.
7c09ac2e9b8b3111c433e661d17942244347ec97 authored about 7 years ago by Evan Czaplicki <[email protected]>
All the type information needed is stored on the PCtor constructor
during the canonicalization p...
2e58494f3e08947ed40b5306b198e9423284c414 authored about 7 years ago by Evan Czaplicki <[email protected]>
The error types are shuffling around a bit as more things are caught
and as the code for catchin...
Moved the type instantiation code to Type.Instantiate. I suspect there
will be a couple differen...
Also move arity check of unions and aliases out into Canonicalize.Type
1aaf7939649db8c3cd9dc39a08428ee4af5394ab authored about 7 years ago by Evan Czaplicki <[email protected]>f3ae567a5e0ae5da0cbdb4011d757f7383e51d92 authored about 7 years ago by Evan Czaplicki <[email protected]>
This means we will not need to look any types up when generating type
constraints for patterns. ...
The old version allocated lists of booleans, then used List.or to check
them all. This meant all...
The new getVarNames implementation is just in IO, not in StateT. I
suspect this will be a decent...
This now matches the limits in AST.Expression.Canonical
45aaf5687a75f2f98bad69a185177cf0ebe52de1 authored about 7 years ago by Evan Czaplicki <[email protected]>5a635204276ea2e3d3b2e24c75525dd61aa17063 authored about 7 years ago by Evan Czaplicki <[email protected]>
c49ac3a40d4e12b12752858e45a5b45fd8d6bb50 authored about 7 years ago by Evan Czaplicki <[email protected]>
24caf2aaa981b8dc1263f49829b46a4b80bda5d5 authored about 7 years ago by Evan Czaplicki <[email protected]>
25ea6b65b65040cd31ce2d56a1dc9da55e807f2d authored about 7 years ago by Evan Czaplicki <[email protected]>
f903a1b3ca60084f73601bd006e28df9fa81bcaa authored about 7 years ago by Evan Czaplicki <[email protected]>
Also try to reduce allocations a bit by referring to NOINLINE’d names
when doing comparable tests.
cac719853ce466a0da78d40a51aafeadc9a6c1cd authored about 7 years ago by Evan Czaplicki <[email protected]>
ddb21c5d23ce45f075d4e7b6f16d4b09dc315126 authored about 7 years ago by Evan Czaplicki <[email protected]>
Goal is to avoid allocating new versions.
07f61dcaaba88bea3c94606457dbfeda1c3ff206 authored about 7 years ago by Evan Czaplicki <[email protected]>
The new implementation has a tail recursive gatherFreeVars function.
The idea is that you can av...
4d6851863793b06386a49aac6c9153e96e50dd61 authored about 7 years ago by Evan Czaplicki <[email protected]>
dfaef1811281c743b3a2734a9fea69e75af43d85 authored about 7 years ago by Evan Czaplicki <[email protected]>
3592fd889febdec712dc0cd77b4c5f9847720c74 authored about 7 years ago by Evan Czaplicki <[email protected]>
6a866cc0a1a9c9695d024272c15a4222cf4a3381 authored about 7 years ago by Evan Czaplicki <[email protected]>
32834fa59ac6323a44a6c5a935d608ce3f9c22ad authored about 7 years ago by Evan Czaplicki <[email protected]>
The “home” of any particular variable or type is tracked in the AST
directly now.
6f312254a65bf2de9e1c22f6abfac6d1fa080245 authored about 7 years ago by Evan Czaplicki <[email protected]>
6a46ae32b98d9526c52af70391206b5af21d9a26 authored about 7 years ago by Evan Czaplicki <[email protected]>
e92c8269d9dddb243d998f31b218b71ad12c2195 authored about 7 years ago by Evan Czaplicki <[email protected]>
Thanks to warning about unused variables.
652b118f50e937b73af42d693a9a221d600a2200 authored about 7 years ago by Evan Czaplicki <[email protected]>
The changes to the AST mean that this happens during validation. It is
definitely simpler now, a...
c215b4fbf2d9e30a705602bd8437f688dbe48718 authored about 7 years ago by Evan Czaplicki <[email protected]>
4c79ddd25fcf7bc7b0a75b605d762bb99a88d83a authored about 7 years ago by Evan Czaplicki <[email protected]>
This one allows cyclic values in top-level declarations as long as the
cycle includes at least o...
b49e8f7918590b227df09606e674a1281603605a authored about 7 years ago by Evan Czaplicki <[email protected]>
8b8849429565938bdfa40f40bb45d973090fee03 authored about 7 years ago by Evan Czaplicki <[email protected]>
Some highlights include:
- The “definition sorting” moves into expression canonicalization.
- C...
c62990e1285703f92e7bf38bcc6e0dcd0cf15702 authored about 7 years ago by Evan Czaplicki <[email protected]>
a561bf35c11fc660a5dbfa2984ee5fb1ebbf9bfe authored about 7 years ago by Evan Czaplicki <[email protected]>
1b6b47a99ca423235cbbb7e3a7b067ffdc7598be authored about 7 years ago by Evan Czaplicki <[email protected]>
e55ba2b02c5a5d92fdba44babeb067aad41ad4e7 authored about 7 years ago by Evan Czaplicki <[email protected]>
02a7ce05810ffa1219c9f2bb39a6348d5d360ee7 authored about 7 years ago by Evan Czaplicki <[email protected]>
c19392fbe3489cffc2ea2b760af9d579ae412bb8 authored about 7 years ago by Evan Czaplicki <[email protected]>
Mostly updating for changes in the AST code
38bfa1b956766f521aa478409453aceb119da22c authored about 7 years ago by Evan Czaplicki <[email protected]>6aa367f443fc970c9d28279417d872609f5ee3b8 authored about 7 years ago by Evan Czaplicki <[email protected]>
Stop supporting object fields that are quoted or numbers. Just use
normal names.
Things that moved to canonicalization include:
- Checking for free variables in unions and alia...
5fab52a59c2b26cfdf176275fc79043b0c0a75a1 authored about 7 years ago by Evan Czaplicki <[email protected]>