Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get the typed core to compile #17

Closed
wants to merge 70 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
66f9801
typed-core types
jmcardon Aug 22, 2023
2d8964f
typed core type
jmcardon Aug 22, 2023
e1a8ce7
Fix deriving
0xd34df00d Aug 23, 2023
b217909
Make my linter shut up mostly
0xd34df00d Aug 23, 2023
fffc581
PactError → TypecheckError
0xd34df00d Aug 23, 2023
54c51a4
BuiltinTC can be just exported from pact-core/P.C.T, I guess
0xd34df00d Aug 24, 2023
1e3d27b
…and so does Pred, albeit without a type variable now
0xd34df00d Aug 24, 2023
ada82a7
Add some TODOs for convenience
0xd34df00d Aug 24, 2023
b1806f5
Now I need to hide Pred here
0xd34df00d Aug 24, 2023
5683b65
Types are explicit type args now so pass them
0xd34df00d Aug 24, 2023
8b137cd
I guess I figured out TC definitions
0xd34df00d Aug 24, 2023
c6629f9
New primitives to t-c's TypeOfBuilting
0xd34df00d Aug 24, 2023
0407f74
Split _dbg{Pred,Type} to IR and TC versions
0xd34df00d Aug 24, 2023
3a2c6ae
tyFunToArgList is useful, add it back to t-c
0xd34df00d Aug 24, 2023
e8c4487
Make toTypedArg fail explicitly on Nothing-annotated inputs
0xd34df00d Aug 24, 2023
860e6be
update flakes
rsoeldner Aug 25, 2023
6c2fc56
add nix building + cache action
rsoeldner Aug 25, 2023
79bd076
`let` now always has the type (and the var name is in the arg)
0xd34df00d Aug 25, 2023
2dbf463
Dummy-add ObjectLit to pattern matches where it's needed
0xd34df00d Aug 25, 2023
216ccd2
One more place where the type was expected to be possibly unannotated
0xd34df00d Aug 25, 2023
e9c30b7
More extra fields
0xd34df00d Aug 25, 2023
0d93157
Merge pull request #14 from kadena-io/rsoeldner/nix-gh
jmcardon Aug 28, 2023
9b5b2ff
liftType now actually converts the type from IR to TC
0xd34df00d Aug 28, 2023
8c0e027
Fix IR.Lam and IR.Let handling in TC
0xd34df00d Aug 28, 2023
db56cc5
Ok, I guess I figured both Control.Lens.At and DefunType
0xd34df00d Aug 28, 2023
75a3851
Bring back findIfDef
0xd34df00d Aug 29, 2023
125289c
Refactor out unifyFunArgs as it's useful in a couple of places at least
0xd34df00d Aug 29, 2023
041f768
Fix DynInvoke in checkTermType compilation
0xd34df00d Aug 29, 2023
8451edf
Refactor out getTopLevelDef
0xd34df00d Aug 29, 2023
a90a110
Oops I guess liftCoreType is basically liftType
0xd34df00d Aug 29, 2023
9b863c0
Update applications.yml
DevopsGoth Aug 29, 2023
1ed1a26
Proper nix.yml
DevopsGoth Aug 29, 2023
d545064
Refactor out unifyFun, as it'll be used elsewhere as well
0xd34df00d Aug 30, 2023
0a8a4fc
Handle Dcap/Dfun in vars in checkTermType
0xd34df00d Aug 30, 2023
38f3c8c
checkCapArgs
0xd34df00d Aug 30, 2023
9b462d3
argListToTyFun helper
0xd34df00d Aug 30, 2023
2122cb2
inferTerm for Dfuns
0xd34df00d Aug 30, 2023
299b478
Alrighty, apparently Dcap isn't needed here
0xd34df00d Aug 31, 2023
c44ca9a
Refactor out irFunToTc
0xd34df00d Aug 31, 2023
3bea3f0
One more _ifdType reference begone
0xd34df00d Aug 31, 2023
d060f39
liftNoFreeVars might also be useful later on
0xd34df00d Aug 31, 2023
af18616
inferDefun fixed
0xd34df00d Aug 31, 2023
d01962b
Note for self
0xd34df00d Aug 31, 2023
899fdf8
Refactor out toTypedArgs
0xd34df00d Sep 1, 2023
1cb1237
inferDefCap done
0xd34df00d Sep 1, 2023
fa435bf
Split Typed.IfDefun's def to keep arg types and ret type separately
0xd34df00d Sep 5, 2023
8953505
inferIfDef done
0xd34df00d Sep 5, 2023
707128e
Add a typed version of defType
0xd34df00d Sep 5, 2023
b01ac0e
Presumably tcFree |-> tcLoaded . loAllLoaded is a reasonable substitu…
0xd34df00d Sep 5, 2023
4215b3d
Some more linter happiness
0xd34df00d Sep 5, 2023
8716e2e
Remove annoying shadowing warnings
0xd34df00d Sep 5, 2023
4f5a315
Add a missing import
0xd34df00d Sep 12, 2023
7b814d0
Change Typecheck.inferModule to just `traverse inferDef` the defs
0xd34df00d Sep 18, 2023
4efda9c
Ditto for other top-level inference stuff
0xd34df00d Sep 19, 2023
616a81d
Some more ghc/linter warnings fixed
0xd34df00d Sep 19, 2023
4e1b08c
Apparently the coverage checker can't figure out the patterns are cov…
0xd34df00d Sep 19, 2023
56de388
Add two more missing cases
0xd34df00d Sep 19, 2023
3eefd4d
Merge pull request #15 from kadena-io/devops/nix-ci
jmcardon Oct 3, 2023
59d1a02
Merge branch 'master' into gr/fix-typed-core
0xd34df00d Oct 5, 2023
bf8274c
Just do `fmap absurd`
0xd34df00d Oct 5, 2023
a17837f
Merge remote-tracking branch 'origin/jose/obj-tables' into gr/fix-typ…
0xd34df00d Oct 11, 2023
50431fa
Fill out a hole in Pact.Core.Persistence that blocks compilation
0xd34df00d Oct 11, 2023
afa35ca
A lot more builtins added, wildcard that for now
0xd34df00d Oct 11, 2023
3311290
Workaround builtins reshuffling
0xd34df00d Oct 11, 2023
a25dc11
DynInvoke seems to be removed
0xd34df00d Oct 11, 2023
226073b
Stubs for new builtins in Overload
0xd34df00d Oct 11, 2023
96eeecf
Ok apparently caps stuff is also removed for now, so comment it out
0xd34df00d Oct 11, 2023
9f62b8c
More placeholders
0xd34df00d Oct 11, 2023
8c63652
Update Typed.ReplTopLevel to match IR structure, reusing the TopLevel…
0xd34df00d Oct 11, 2023
d0ac6d2
TLUse imports need no processing during inference
0xd34df00d Oct 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/applications.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: Build and publish application binaries
on:
workflow_dispatch:
push:
paths:
- '**'
- '!.github/**'
- '.github/workflows/applications.yml'

jobs:
build:
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Build and cache with Nix

on:
workflow_dispatch:
push:
paths:
- '**'
- '!.github/**'
- '.github/workflows/nix.yml'

jobs:
build-and-cache:
runs-on: ${{ matrix.os }}
timeout-minutes: 740
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-m1]
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Nix with caching
uses: kadena-io/setup-nix-with-cache/by-root@v3
with:
cache_url: s3://nixcache.chainweb.com?region=us-east-1
signing_private_key: ${{ secrets.NIX_CACHE_PRIVATE_KEY }}

- name: Set up AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.NIX_CACHE_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.NIX_CACHE_AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Give root user AWS credentials
uses: kadena-io/setup-nix-with-cache/copy-root-aws-credentials@v3

- name: Build and cache artifacts
run: |
echo Building the project and its devShell
nix build .#check --log-lines 500 --show-trace
Loading
Loading