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

Update the parser code for AST changes

For example, generate Src.Call instead of a chain of Src.App

087045f407b663dc681bf7046adb57e0a9bf15cd authored about 7 years ago by Evan Czaplicki <[email protected]>
Reformulate canonicalization environment

Build up the canonicalization environment more with dictionaries. Have
the lookup be by name fir...

903977a0ea6c484a7d86b548528b7824003d5c81 authored about 7 years ago by Evan Czaplicki <[email protected]>
Reformulate AST for changes in validation / canonicalization

Centralize data structures in the Source, Valid, and Canonical
categories. This is in contrast t...

959c23d930de5e43ac4fba4ac8b915714414747c authored about 7 years ago by Evan Czaplicki <[email protected]>
Update parser, remove (,,) syntax, and disallow top-level destructures

Mainly changing imports for the new UTF-8 backing code and generating
the more precise AST struc...

da9e6b71edbff156311cf1f6f1e98b0c70de7068 authored about 7 years ago by Evan Czaplicki <[email protected]>
Add ops, accessors, unit, and tuples to source AST

This has a couple benefits:

- More explicit
- Fewer type constraints generated
- No more checki...

9111afaf2945a19c5fb3d02492931836902f391d authored about 7 years ago by Evan Czaplicki <[email protected]>
Begin switching parser from UTF-16 to UTF-8

3b6fe38547b5502ecdb332918c23f5d9d5ae6b81 authored about 7 years ago by Evan Czaplicki <[email protected]>
Account for client and server kernel code

fa031590a204a5a58f9f37ce05a0088faf6b5b19 authored over 7 years ago by Evan Czaplicki <[email protected]>
Make it cheaper to parse symbols

6397e120ac921949afbd2835f872618f89a8504d authored over 7 years ago by Evan Czaplicki <[email protected]>
Destruct Parser new type directly, not with helper

This makes things a bit faster weirdly

765f61ac36322f6e6b2c62804c2b90c629e36aa0 authored over 7 years ago by Evan Czaplicki <[email protected]>
Switch to Data.Map.Strict in type inference

ed26ecac1fb12a065c6d6c40b34b20d48db67af0 authored over 7 years ago by Evan Czaplicki <[email protected]>
Move to newer dependencies

763189afa5d2dd47e2c1ba807d70f7e676fbbe6c authored over 7 years ago by Evan Czaplicki <[email protected]>
Improve the hints for import cycles a bit

b88742ec8875519d88a7f61c28c8b2a62185284f authored over 7 years ago by Evan Czaplicki <[email protected]>
Small improvement on constraint generation optimization

Now filter out union type constructors that are not direct
dependencies. There are a lot fewer o...

c1e272997687ee05037dfe7b2e52543776ac6519 authored over 7 years ago by Evan Czaplicki <[email protected]>
Trim available variable names in type inference

Based on findings of @qbolec in
https://github.com/qbolec/elm-make/commit/81d86e6a745b337a3d0bc1...

267d388fafc7ef1c63ce87958198a82e093c2be6 authored over 7 years ago by Evan Czaplicki <[email protected]>
Get __DEBUG and __PROD kernel flags working

298b6defafad8422404fd66cc789e02edcf9fd07 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add back support for '\r'

375ed593e43cf73886328091afbf8688a094cb3f authored over 7 years ago by Evan Czaplicki <[email protected]>
Thread the --debug flag through a bit differently

b3569f7f3a8263dc3a9081a17b79147f7830edd4 authored over 7 years ago by Evan Czaplicki <[email protected]>
Improve canonicalization hints and add JSON decoder hint

70865f593b2556a5695e746249117407cb71ed55 authored over 7 years ago by Evan Czaplicki <[email protected]>
Simplify escape characters

Escape characters in String and Char are now limited to the following
set:

\n
\t
\”
\’
\\
\u{00...

5fb0d04a106ab6318b4fe0f8d3270521e9b25034 authored over 7 years ago by Evan Czaplicki <[email protected]>
Merge branch 'dev' of github.com:elm-lang/elm-compiler into dev

ab16fc8d28da5c3bc9e0f0e55f8657e7da3a2c2d authored over 7 years ago by Evan Czaplicki <[email protected]>
Remove special case for Never flags. Use () instead.

59bd3fe7f89682b07ebe8718d866a6e35a427c3d authored over 7 years ago by Evan Czaplicki <[email protected]>
cosmetic: rename wrn to w in type annotations

8171ead8c861ce1d4b8c39834221b0e1274b454c authored over 7 years ago by Evan Czaplicki <[email protected]>
Disallow (+) in let expressions in the parser

bca019ddbd4e33aa82495a5546e3ceedfa5e395f authored over 7 years ago by Evan Czaplicki <[email protected]>
Merge pull request #1635 from fdbeirao/patch-1

Minor grammatical fixes

b49be28d915a8f608fd491746cdd662d17b5d6bc authored over 7 years ago by Evan Czaplicki <[email protected]>
PR review

5fb87abe73d1e8ea49277819097b6752de9b0d37 authored over 7 years ago by Fábio Beirão <[email protected]>
Minor grammatical fixes

9b75e696dc7d170c9fda09a509fdd4859e824b44 authored over 7 years ago by Fábio Beirão <[email protected]>
Merge pull request #1621 from andys8/patch-1

Port-modules: Typo "thes" fixed

c1f7404bb15ac9ab10c3cf0a1b177f9df893be0f authored over 7 years ago by Evan Czaplicki <[email protected]>
Port-modules: Typo "thes" fixed

4b45eb18f55e10073290aa4e463dcd5c89148a4c authored over 7 years ago by Andy <[email protected]>
Rename the document on cyclical module dependencies

59295e16f554e0d14e1b3e30e9eaf8b78faca9da authored over 7 years ago by Evan Czaplicki <[email protected]>
Write a bunch about breaking module cycles

44e663fd5710da07360c8a8add3924bf811ab123 authored over 7 years ago by Evan Czaplicki <[email protected]>
Make drawCycle available in Elm.Utils

bc3983f65c428ebfd8d3901e0c27d72105e6d8f6 authored over 7 years ago by Evan Czaplicki <[email protected]>
Rename some hints/

e83cc3c0d18a0db0cfaa34160d0b95e450fdd8ef authored over 7 years ago by Evan Czaplicki <[email protected]>
Add hints about port and effect modules

a958a9d3474a270e5e79e922ca66253ff0ef6bb7 authored over 7 years ago by Evan Czaplicki <[email protected]>
Mess with kernel generation for development, add some todos

d1780ddd6151e8c55fe3404810107912f61354d2 authored over 7 years ago by Evan Czaplicki <[email protected]>
Fix bug in kernel rebuilder, add all chunks

db25a22f927e9f8150abd4b79f0d246ca30871bf authored over 7 years ago by Evan Czaplicki <[email protected]>
Use INLINE on getPosition

4d47daf097d793230147a1bd000966feb7cdd3a7 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add INLINE pragmas for type class instances

This reduces allocation by a decent amount, from 24% of total to 18% of
total. It does not have ...

cea3cbbb150d281b28acdf5575abcb5651b6d351 authored over 7 years ago by Evan Czaplicki <[email protected]>
Handle new tokens in kernel code for field renaming

The __jsField tokens will be for local renaming within the file. The
__$elmField tokens are for ...

ca0d6e0b6ebeeaecef4d0104c76d90b680e07b34 authored over 7 years ago by Evan Czaplicki <[email protected]>
Generate effect managers without creating named record fields

This will produce JS that is easier to mangle. I think it also is a bit
clearer than what I had ...

f71ac0bb3a07c99d0df0a8c4384cd67de6a13e47 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add intToAscii which converts ints to valid JS field names

It converts an int to ASCII by checking if it is in progressively
larger “block sizes” to make s...

8060c4ec4e3b71063ac350f36f9c75a09dbd8994 authored over 7 years ago by Evan Czaplicki <[email protected]>
Correct NaN in reserved words / stop special casing kernel names

9b1217bbb7053aecdd412729649cf38de5553ace authored over 7 years ago by Evan Czaplicki <[email protected]>
Improve the error messages for bad rigid type variables

Use richer representation of type variables, so FlexVar, FlexSuper,
RigidVar, and RigidSuper are...

fbff9ce1fc9ad148908e4559065cd056de80c5eb authored over 7 years ago by Evan Czaplicki <[email protected]>
Stop attempting to rigidify when popping scheme pool

I believe that this is a safety precaution, not a necessary step.

Removing this code will set u...

40aafc6bb991aeebc7a550aabad31e2c29fe78a8 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add some SCC annotations for generating type constraints

0765fdedec929f6905967d953349d3f27c7c204c authored over 7 years ago by Evan Czaplicki <[email protected]>
Keep a pool stack, not just old and young

The Type.State now holds a stack of pools. This way when
Type.Solve.generalize moves things to “...

428b0a12f28b9ea8060bca97205786b73cd69e0d authored over 7 years ago by Evan Czaplicki <[email protected]>
Make Type.State.introduce allocate a bit less

696ee0a8623b76214e3ff0f0a21415c80266c37c authored over 7 years ago by Evan Czaplicki <[email protected]>
cosmetic: move generalize to bottom of Type.Solve module

09076ebb4facf5afe969764b2ba5a10f2a1beeab authored over 7 years ago by Evan Czaplicki <[email protected]>
Use qualified Type.bool so it is a little bit clearer

7f27a2f3b30b56d4a4da369a46acee0939ac0f2a authored over 7 years ago by Evan Czaplicki <[email protected]>
Move Super type into AST.Types

a0fccd57646777f2b72230fee528fd9e70441359 authored over 7 years ago by Evan Czaplicki <[email protected]>
Create a newtype for Marks so ranks and marks never get mixed up

34a253d27a7f2b581cee9bf985322593aaaacdbe authored over 7 years ago by Evan Czaplicki <[email protected]>
Use NOINLINE values to reduce allocation of Descriptors in constraint generation

Create NOINLINE values for primitives Types (float, char, string, bool)

Create NOINLINE for unn...

3e23ef2234b698af0d8e0f1c3068ce8c136a3066 authored over 7 years ago by Evan Czaplicki <[email protected]>
Do not expose Description fields / optimize copy and flatten

Type.State.flatten now only looks up maxRank once per call, rather than
once for every

The chan...

b02b4aa87aef3bb07d1f061aba4bcc27978d588a authored over 7 years ago by Evan Czaplicki <[email protected]>
Move constraint primitives into Type.Constraint

dbe6c7572273166438b35bb94b7a14989a8e4a15 authored over 7 years ago by Evan Czaplicki <[email protected]>
Only crawl type alias variables in adjustRankContent (and other optimizations)

When adjusting a type alias, I used to crawl the arguments and the
underlying type. All the type...

e6b8eb3bd815e995b818e13e80923d4289df2d88 authored over 7 years ago by Evan Czaplicki <[email protected]>
Use faster data structure in Type.Solve.generalize

By switching from a Dict to an Array, I can avoid rebalancing and
allocating quite as much stuff...

d228087f0f433d240eddab4b809dd225b409f43f authored over 7 years ago by Evan Czaplicki <[email protected]>
Add missing case to Json.Encode.encode

f2fb18c2f40248862186e72127827c580bd25507 authored over 7 years ago by Evan Czaplicki <[email protected]>
Merge pull request #1615 from simonewebdesign/patch-1

Fix typo

2a6bdde84ab95018466a6adbfda6fc92441c773c authored over 7 years ago by Evan Czaplicki <[email protected]>
Fix typo

5344b31b29c3c135ad12611785bb116dd8e2d194 authored over 7 years ago by Simone Vittori <[email protected]>
Make license go to present

a166d942d89ee2b702c6796fd62022687292f2ee authored over 7 years ago by Evan Czaplicki <[email protected]>
Fix "need N more arguments" error message

Say "1 more argument", not "1 more1 argument".

da3755abe598e646ca016903f3e41f5a49eab4cb authored over 7 years ago by spikefoo <[email protected]>
Merge pull request #1612 from gampleman/patch-1

Fix a few typos in the imports hint

f82095cd1ffda0f291d464d69be4f1c996908a59 authored over 7 years ago by Evan Czaplicki <[email protected]>
Fix a few typos in the imports hint

a8a4987a1411ede17ba9cf583f5c4ffda2ec91c9 authored over 7 years ago by Jakub Hampl <[email protected]>
Fix kernel symbol lookup for new parsing code

21cf408dcad9c9bfa03cb602af58e0eaf844a2c7 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add generic way to handle conditional dev/prod kernel code

4cd5aec314f02dba4258e76589552a7c1f4dde73 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add more vertical whitespace

d78a7531426b236c5fb875d553106ef700caa3a2 authored over 7 years ago by Evan Czaplicki <[email protected]>
Make canonicalization hint a bit friendlier

Any level of programmer can be surprised by how `import` works in Elm.
This stuff is always slig...

39de107e53cbbff9af26f48b125fc95519f43f7b authored over 7 years ago by Evan Czaplicki <[email protected]>
Add a hint for canonicalization errors

Fix https://github.com/elm-lang/package.elm-lang.org/issues/185

The idea is that when folks hav...

61e7508a9eb1da55061ce8a56b7fbb168e4a6a95 authored over 7 years ago by Evan Czaplicki <[email protected]>
Make it possible to JSON encode floats

445ea07155400b7ca60bfb89445a0138eaace674 authored over 7 years ago by Evan Czaplicki <[email protected]>
Redo decoder failure messages to look nicer with new error reporting

23f06c9c23bac95e371310df9009b0870b689f0a authored over 7 years ago by Evan Czaplicki <[email protected]>
Do not list (=>) as a default import

03b111e77d14bca3b46817b63c969a6ea1d0392e authored over 7 years ago by Evan Czaplicki <[email protected]>
Fix bug in Json.Encode.encodeUgly

2f5ffadf5ce8bcaa7420cce83647f4b62de51806 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add more restrictions on repo names

No dots in names, and names cannot end with dashes.

372b73e6f80c7d46ccf55e3c5a1570c103be6b19 authored over 7 years ago by Evan Czaplicki <[email protected]>
Fix typo in port conversions

2e354ce211c3880ca82533d62601d9f07a108f71 authored over 7 years ago by Evan Czaplicki <[email protected]>
Add ability to parse very old documentation format

e4b451f1dc5717c9582e87a9efb505e8715b3076 authored over 7 years ago by Evan Czaplicki <[email protected]>
Bump to 0.19

1361e2b6469be2af57a2694fae6c81bdba36c845 authored over 7 years ago by Evan Czaplicki <[email protected]>
Helper to figure out kernel name conditionally

666edc320e7498f55540f21d5cf78d7d0518a412 authored over 7 years ago by Evan Czaplicki <[email protected]>
Switch enums from numbers to strings

5a973c8b5f6301addff5205db4d4eff0d361d5b2 authored over 7 years ago by Evan Czaplicki <[email protected]>
Disallow equivalent representations of the same type

This is a very roundabout way to fix a big that manifested in elm diff.
When comparing types, so...

52e43bb268d1e21342c0d76ce601d13ad8e16dbe authored over 7 years ago by Evan Czaplicki <[email protected]>
cosmetic: shuffle code around a bit

309a8f8ed4fda5419e4a6d9e654fba8a3c0360bd authored over 7 years ago by Evan Czaplicki <[email protected]>
Expose Assoc and assocToText in Elm.Docs

b594c8f0dfd89376cf398860af034ebe4dcb991d authored over 7 years ago by Evan Czaplicki <[email protected]>
Add Json.Decode.string

c96fe59553a4a63751ccf8a2dee570536c0f26fd authored over 7 years ago by Evan Czaplicki <[email protected]>
Stop including -} in doc comments

466c477708ff5e1709f0927e482850dd252a24e2 authored over 7 years ago by Evan Czaplicki <[email protected]>
Introduce "ugly" encoding

Allow more compact representation

4cc8b091eea8cbf734f4632db4ec464d93bc1032 authored over 7 years ago by Evan Czaplicki <[email protected]>
Detect infinite types before unrolling functions upon mismatch

Fix #1593 and fix #1594

572f3c210fc2f337ffd17f85ee2f51ef6346322a authored over 7 years ago by Evan Czaplicki <[email protected]>
Do not claim it is an anonymous function

It is still a function. We are just not providing a name in the error
message.

70f3f60b8688a2cd538a88a3e7825a57140559b7 authored over 7 years ago by Evan Czaplicki <[email protected]>
Show better error messages on infinite comparable types

60ca557f13d52148f7d9b606776547bd1717675f authored over 7 years ago by Evan Czaplicki <[email protected]>
The Error structure describes how it should be displayed

This way we can decide whether to show ? or ∞ depending on how we
arrived at the error.

1408bc357c6eb670c272437d87f233180a7bdf28 authored over 7 years ago by Evan Czaplicki <[email protected]>
Detect infinite comparable types

Fix #1524
Fix #1552

Not sure if there is a better way to avoid this particular problem. I
hope ...

65aa02a5f403e8b66015a1205fbff80481560f1d authored over 7 years ago by Evan Czaplicki <[email protected]>
Move the occurs check into its own module

Preparing to fix a bug!

368cdbc3d97f238e3954026cd9d21bb5d7986fc8 authored over 7 years ago by Evan Czaplicki <[email protected]>
Better behavior when unifying with yourself

The OCaml and Haskell implementations both failed in weird ways when
unifying points with themse...

20fa5f279a3eceaa1df5b52eead43caf2f6dee81 authored over 7 years ago by Evan Czaplicki <[email protected]>
Start using strict State and Writer

This brings allocation down again. So the entire path of these
optimizations is 914MB => 841MB =...

772952749a999acf4d3ca94cbb11eef1229c951f authored over 7 years ago by Evan Czaplicki <[email protected]>
Update unification for new union-find algorithm

This changes how `merge` works slightly. Rather than freshly reading
the content to determine th...

56b0e370a7894a57b40402bc19422a62ae80d7c8 authored over 7 years ago by Evan Czaplicki <[email protected]>
Update for new Type representation

e00a3f3532973e0339fe30be8fdb2e93a4214708 authored over 7 years ago by Evan Czaplicki <[email protected]>
Name changes for simpler Type representation

This should be cosmetic. No serious changes in how the code is written.

d5b0b432f50fe0ed3103a496a1dac5d3ab5fedf0 authored over 7 years ago by Evan Czaplicki <[email protected]>
Get rid of pointless polymorphism in Type representations

9593f00ac539fc02b5821cf298e51b88d189a8dd authored over 7 years ago by Evan Czaplicki <[email protected]>
Implement a custom union-find algorithm

Minimize allocation and be more strict.

In my benchmarks, this reduced allocation from 914MB to...

f922d2a52d56bb893ff07cde35227e2e1c95d675 authored over 7 years ago by Evan Czaplicki <[email protected]>
Start generating shorter field names for union types

08a8971bfad5aaed0962b2980eddb73870f47c45 authored over 7 years ago by Evan Czaplicki <[email protected]>
Properly handle enums in kernel code

01ff2a9ae6a4757e2289903c166155114405ec2f authored over 7 years ago by Evan Czaplicki <[email protected]>
No longer need to carry table of names around

3dcae17d993ec61323bc7be6d201bb8b13620e7a authored over 7 years ago by Evan Czaplicki <[email protected]>
Devise scheme for deterministic operator names

All symbols are replaced by ASCII letters in a predictable way.

5758751eb4835dd0514669519103cda444206198 authored over 7 years ago by Evan Czaplicki <[email protected]>