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

PCUIC PHOAS #573

Open
wants to merge 147 commits into
base: coq-8.14
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
dc339ff
Adapt to removal of first argument of PrivatePolymorphic in Coq #14727.
herbelin Oct 22, 2021
ea3719f
Simplification of PrivatePolymorphism solves the coq/coq#14903 issue.
herbelin Oct 22, 2021
75127a6
Fix reify/quote of predicate and branches binding name contexts (wron…
mattam82 Nov 25, 2021
129475b
Adapt to coq/coq#15294 (comparison is no longer extracted to int)
Lysxia Dec 11, 2021
f309b9e
Merge pull request #621 from Lysxia/overlay-15294
TheoWinterhalter Dec 14, 2021
cfa9984
adapt to #14137
Alizter Jan 4, 2022
d601c2f
adapt to coq/coq#15446
olaure01 Jan 7, 2022
35df3d3
Merge pull request #624 from Alizter/setoid-rewrite-type
ppedrot Jan 7, 2022
717d48c
Merge pull request #628 from olaure01/signatureT
mattam82 Jan 10, 2022
bf8375e
Adapt w.r.t. coq/coq#15442.
ppedrot Jan 10, 2022
edf5061
Merge pull request #630 from ppedrot/deprecate-program-naming-mode
ppedrot Jan 11, 2022
1368aec
Missing adaptation to coq/coq#15442.
ppedrot Jan 12, 2022
a44a2fd
Merge pull request #631 from ppedrot/deprecate-program-naming-mode-mi…
ppedrot Jan 12, 2022
06457c0
Merge branch 'coq-8.14'
mattam82 Jan 25, 2022
bdaec46
Fixes after merge
mattam82 Jan 25, 2022
b19ebf8
Try to make the safechecker run again
mattam82 Jan 27, 2022
cc26139
Make master compile some examples: universes are broken right now
mattam82 Jan 27, 2022
fc3a268
Finish updating master with 8.14 changes
mattam82 Jan 27, 2022
7bebcd6
Fix Extraction files requiring Ascii
mattam82 Jan 27, 2022
8f40d07
Fix build.yml to require coq.dev
mattam82 Jan 28, 2022
be3af83
Upate opam dependencies
mattam82 Jan 28, 2022
176add0
Call Coq's CList.filter_map
mattam82 Jan 28, 2022
eb780f4
Move filter_map to tm_util
mattam82 Jan 28, 2022
0ee5bc8
Merge pull request #635 from MetaCoq/master-merge-8.14
mattam82 Jan 28, 2022
a149fee
pass on pcuic syntax
MevenBertrand Jan 5, 2022
51b62f5
cleaning up the removal of ContextRelations
MevenBertrand Jan 7, 2022
21a0144
document Nicolas' refactoring
MevenBertrand Jan 11, 2022
430252b
finished pass on pcuic
MevenBertrand Jan 26, 2022
09d855e
pass on safechecker
MevenBertrand Jan 26, 2022
f495006
first batch of remarks by Théo
MevenBertrand Jan 27, 2022
393a5b7
qualifying import to pass opam build
MevenBertrand Jan 27, 2022
1413c65
removing useless notation
MevenBertrand Jan 28, 2022
cd3bc92
Merge pull request #625 from MetaCoq/filesdoc
MevenBertrand Jan 28, 2022
51ac3cb
adapt to coq/coq#15220
gares Nov 29, 2021
ec96734
Merge pull request #613 from gares/dynlink-w-findlib
ppedrot Feb 3, 2022
c69085d
Fix compilation of safechecker with findlib
gares Feb 7, 2022
7ffff46
export OCAMLPATH
gares Feb 8, 2022
4026e06
Avoid warning keeping template-coq/build around
gares Feb 8, 2022
0b893e2
META: safechecker depends on template
gares Feb 10, 2022
1e24c40
Merge pull request #640 from gares/fix-findlib
mattam82 Feb 10, 2022
96f5dee
Change the univ representation so that global universes are really re…
mattam82 Jan 27, 2022
6b9e43b
New global_env structure in template-coq/reification
mattam82 Feb 2, 2022
cdb0762
Adapt PCUIC to new global_env structure
mattam82 Feb 8, 2022
e406d57
Adapt Template -> PCUIC Correctness proof
mattam82 Feb 8, 2022
42d6c2b
Fix udecl definition (was not including set in global levels)
mattam82 Feb 9, 2022
56fc551
Adapted safe_checker to new global env
mattam82 Feb 9, 2022
caa1b86
Adapt erasure to new global env
mattam82 Feb 9, 2022
b182531
Adapted erasure to new environment representation
mattam82 Feb 9, 2022
ccc5499
Fix quoting
mattam82 Feb 9, 2022
bff9cc4
Disable quoting of the universe graph for now
mattam82 Feb 9, 2022
95387c7
Fix warnings in extraction, using `Stdlib` instead of `Pervasives`
mattam82 Feb 10, 2022
9209af0
Factorize Extraction files
mattam82 Feb 10, 2022
1ad0f14
Fix quoting of universe contexts/safecheck to use restricted graph
mattam82 Feb 10, 2022
4a153c0
Adapt test-suite to change in global_env
mattam82 Feb 10, 2022
9e99741
Remove deprecation and other warnings
mattam82 Feb 10, 2022
085c7c6
Try to fix weird type equality issue in ocaml 4.07.1
mattam82 Feb 10, 2022
07776b1
Minor fixes
mattam82 Feb 10, 2022
578f1c1
Guard .merlin target: only applies when extracted files have been pro…
mattam82 Feb 10, 2022
ff3336b
Fix configure script call
mattam82 Feb 11, 2022
8ee8f75
Fix template-coq Makefile requirerments for install target
mattam82 Feb 11, 2022
98bf5c2
Fix opam/findlib installation
mattam82 Feb 11, 2022
afc6d36
Fix safechecker
mattam82 Feb 11, 2022
ebb430d
Fix local builds of plugins
mattam82 Feb 11, 2022
5113744
Make the local build not interfer with the global one
mattam82 Feb 11, 2022
ed72148
No more -I ../template_coq needed
mattam82 Feb 11, 2022
f64d8ca
Make META a phony rule so it is properly regenerated for each plugni
mattam82 Feb 11, 2022
fb0a5a8
Remove _build directory, no longer needed
mattam82 Feb 11, 2022
15cc7dc
Fix the test-suite makefiles
mattam82 Feb 11, 2022
e9f2ee2
Fix examples Makefile
mattam82 Feb 11, 2022
2598ee4
No longer mkdir build
mattam82 Feb 11, 2022
2c38bc1
Fix translations
mattam82 Feb 11, 2022
b5e4809
Merge pull request #634 from MetaCoq/master-global-universes
mattam82 Feb 11, 2022
b077764
Update copyright notice in README
mattam82 Feb 11, 2022
8531d62
Merge pull request #599 from herbelin/master+adapt-coq-pr14727-rework…
ppedrot Feb 14, 2022
42fb30a
Add stdlib-shims dependency to compile with ocaml < 4.07
mattam82 Feb 16, 2022
5962851
Merge pull request #647 from MetaCoq/stdlib-shims-dep
mattam82 Feb 16, 2022
af51a04
Update the META files for the dependency on stdlib-shims as well
mattam82 Feb 16, 2022
b638bfe
Merge branch 'coq-8.14' into master-merge-8.14
mattam82 Feb 17, 2022
321f34d
Fix a typo
mattam82 Feb 16, 2022
f09c0db
Revert extraction of nat to int (not compatible with certicoq)
mattam82 Feb 17, 2022
804d9ee
Merge pull request #648 from MetaCoq/master-merge-8.14
mattam82 Feb 17, 2022
234a829
Adapt to coq/coq#15754 (#655)
proux01 Mar 16, 2022
f0a3a56
Adapt w.r.t. coq/coq#15837.
ppedrot Mar 21, 2022
9793d93
Merge pull request #668 from ppedrot/reduce-universe-footprint
ppedrot Mar 22, 2022
4845d2a
Adapt w.r.t. coq/coq#15856.
ppedrot Mar 25, 2022
72667aa
Merge pull request #670 from ppedrot/universes-rm-univ-of-sort
ppedrot Mar 28, 2022
1cf25d9
Adapt w.r.t. coq/coq#15863.
ppedrot Mar 29, 2022
90dbbcb
Merge pull request #673 from ppedrot/universes-rm-small-levels
ppedrot Mar 29, 2022
0914586
Adapt w.r.t. coq/coq#15871.
ppedrot Mar 30, 2022
d012c81
Merge pull request #674 from ppedrot/univ-cleanup-api
ppedrot Mar 31, 2022
374086a
Merge pull request #649 from MetaCoq/extraction-no-ascii
mattam82 Feb 17, 2022
7478e56
Merge pull request #652 from MetaCoq/remove-primitives
mattam82 Feb 18, 2022
38c93a4
Merge pull request #653 from MetaCoq/self-erasure
mattam82 Feb 18, 2022
e30240f
Merge pull request #654 from MetaCoq/parameter-stripping
mattam82 Mar 1, 2022
fa458d8
Parameter stripping integration (#656)
mattam82 Mar 2, 2022
8af7ac2
Generic EnvMap (#658)
mattam82 Mar 5, 2022
83b4f94
Clean erasure (#661)
mattam82 Mar 8, 2022
7bdd877
Abstract env for safetyping (#662)
tabareau Mar 15, 2022
9a18b38
Merge pull request #663 from MetaCoq/bytestring
mattam82 Mar 16, 2022
a75750c
Merge pull request #664 from kyoDralliam/fix-case-insensitive
mattam82 Mar 16, 2022
20f630e
Merge pull request #665 from kyoDralliam/fix-file-ambiguity
mattam82 Mar 17, 2022
9c66c7b
Merge pull request #667 from MetaCoq/hnf_ctor_types
mattam82 Mar 20, 2022
272c438
Add a relevance field to constant bodies (#666)
mattam82 Mar 21, 2022
4058bc6
Implement a `infer_univs` mode for mkInductive (#612)
mattam82 Mar 24, 2022
9169639
Abstract env check (#671)
tabareau Mar 28, 2022
00a137a
Eta expand fixpoints (#669)
mattam82 Mar 29, 2022
73203c8
Merge pull request #675 from MetaCoq/typing-wf-forall-decls
tabareau Mar 31, 2022
c2453fe
Reorganise Universes.v and have check_univs only alter level [exprs] …
yannl35133 Apr 1, 2022
7790324
Thread eta expansion everywhere (#676)
mattam82 Apr 1, 2022
0fcb5ba
Update .gitignore
mattam82 Apr 25, 2022
65f8e13
Missing links in PCUIC’s Readme
MevenBertrand Apr 4, 2022
a5b3a05
Erasure optimizations preserves wellformedness and expansion (#677)
mattam82 Apr 5, 2022
b63ce43
Merge pull request #678 from MetaCoq/eenvmap-in-optimize-prop-discr
mattam82 Apr 6, 2022
2266b98
Strict eta expanded constructors (#680)
mattam82 Apr 10, 2022
5d66647
Refinements of EWellformed and EWcbvEvalEtaInd (#681)
mattam82 Apr 13, 2022
1d6c6d3
Inline projections optimization (#683)
mattam82 Apr 13, 2022
1495a1e
Make safechecker compute (#682)
tabareau Apr 14, 2022
9244ffb
Merge pull request #684 from MetaCoq/erasure-cleanups
mattam82 Apr 16, 2022
3bbfbd9
Slightly faster erasure of global environments (#685)
mattam82 Apr 17, 2022
ef9a873
Merge pull request #686 from MetaCoq/hott-tests
mattam82 Apr 21, 2022
8d8f3bc
Use explicit records for projection names and declarations, add irrel…
mattam82 Apr 21, 2022
881d6df
Remove accidentaly commited file
mattam82 Apr 21, 2022
9392e04
Merge pull request #690 from MetaCoq/safeconversion-admit-free
mattam82 Apr 22, 2022
0daa598
add constraints between monomorphic sorts to udecl (#687)
kyoDralliam Apr 25, 2022
acd3b3c
Merge pull request #692 from MetaCoq/writing_cleanups
mattam82 Apr 25, 2022
bb38e92
Merge pull request #691 from MetaCoq/cleanup-all-erasure
mattam82 Apr 25, 2022
76ee01d
Fixes after merge of 8.14 changes
mattam82 Apr 25, 2022
cbac790
Merge pull request #694 from MetaCoq/master-8.14-merge
mattam82 Apr 25, 2022
9474d7c
Adapt w.r.t. coq/coq#15943.
ppedrot Apr 27, 2022
42dba86
Merge pull request #698 from ppedrot/cache-projection-relevance
ppedrot Apr 28, 2022
c104fb3
Merge coq-8.14 branch in master
mattam82 Jun 8, 2022
c35be57
Fixes after merge of 8.14 branch
mattam82 Jun 9, 2022
8b835e7
Fix build.yml
mattam82 Jun 9, 2022
7d16657
Fix `quick` target by setting universe checking in translation_utils.v
mattam82 Jun 9, 2022
dc7848b
Fix generous_packed
mattam82 Jun 9, 2022
ea94a7f
Update master status badge
mattam82 Jun 15, 2022
d98e388
Fix CI instructions
mattam82 Jun 15, 2022
290e3b2
Fix CI instructions
mattam82 Jun 15, 2022
4461fe7
Fill one admitted proof in Firstorder, remove dead code
mattam82 Jun 17, 2022
4c8b06d
Merge pull request #713 from MetaCoq/clean-admits
mattam82 Jun 17, 2022
daf3e47
Replace all uses of `todo` and `Admitted` by axioms (#717)
yforster Jun 26, 2022
29126ac
Ensure constant constructors are declared in evaluation (#718)
mattam82 Jun 27, 2022
ea2d0be
Update readmes (#719)
mattam82 Jun 27, 2022
8e541ec
Fix README
mattam82 Jun 27, 2022
f6d8e17
Remove warnings (#720)
yforster Jun 28, 2022
5a9c2aa
Add a PCUICPHOAS file implementing a PHOAS variant of the syntax
mattam82 Jul 12, 2021
f03ae80
Allow giving only one binder name and retriviing it in the phoas repr…
mattam82 Jun 29, 2022
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
22 changes: 19 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,26 @@ name: MetaCoq CI
on: [push, pull_request]

jobs:
checktodos:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 1

- name: Check for todos
run: ./checktodos.sh

build:
runs-on: ubuntu-latest

strategy:
matrix:
coq_version:
- '8.14'
- '8.16'
ocaml_version:
- '4.07-flambda'
- '4.12-flambda'
- '4.14-flambda'
target: [ local, opam, quick ]
fail-fast: true

Expand All @@ -33,6 +43,12 @@ jobs:
sudo chown -R coq:coq . # <--
opam exec -- ocamlfind list
endGroup
before_install: |
startGroup "Print opam config"
opam config list; opam repo list; opam list
opam pin -n coq-equations http://github.com/mattam82/Coq-Equations.git#8.16
opam install --confirm-level=unsafe-yes coq-equations.8.16.dev
endGroup
script: |
startGroup "Build project"
opam exec -- ./configure.sh --enable-${{matrix.target}}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -352,3 +352,6 @@ erasure/src/eEnvMap.ml
erasure/src/eEnvMap.mli
erasure/src/eGlobalEnv.mli
erasure/src/eGlobalEnv.ml
Makefile.conf
test-suite/plugin-demo/src/META.coq-metacoq-demo-plugin
pcuic/src/META.coq-metacoq-pcuic
9 changes: 6 additions & 3 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
"label": "make",
"type": "shell",
"command": "make",
"problemMatcher": []
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
},
},
{
"label": "makevos",
Expand All @@ -17,8 +21,7 @@
},
"command": "opam exec -- make -f Makefile.pcuic vos",
"group": {
"kind": "build",
"isDefault": true
"kind": "build"
},
"problemMatcher": []
}
Expand Down
8 changes: 4 additions & 4 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ To setup a fresh `opam` installation, you might want to create a
one yet. You need to use **opam 2** to obtain the right version of
`Equations`.

# opam switch create coq.8.14 4.07.1
# opam switch create coq.8.16 --packages=ocaml-variants.4.13.1+options,ocaml-option-flambda
# eval $(opam env)

This creates the `coq.8.14` switch which initially contains only the
basic `OCaml` `4.07.1` compiler, and puts you in the right environment
(check with `ocamlc -v`).
This creates the `coq.8.16` switch which initially contains only the
basic `OCaml` `4.13.1` compiler with the `flambda` option enabled,
and puts you in the right environment (check with `ocamlc -v`).

Once in the right switch, you can install `Coq` and the `Equations` package using:

Expand Down
33 changes: 30 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,32 @@
TIMED ?=

all: template-coq pcuic safechecker erasure examples test-suite translations

.PHONY: all template-coq pcuic erasure install html clean mrproper .merlin test-suite translations
-include Makefile.conf

ifeq '$(METACOQ_CONFIG)' 'local'
ifeq ($(shell which cygpath 2>/dev/null),)
OCAMLPATH := $(shell pwd)/template-coq/:$(OCAMLPATH)
else
OCAMLPATH := $(shell cygpath -m `pwd`)/template-coq/;$(OCAMLPATH)
endif
export OCAMLPATH
endif

all: printconf template-coq pcuic safechecker erasure examples

.PHONY: printconf all template-coq pcuic erasure install html clean mrproper .merlin test-suite translations

printconf:
ifeq '$(METACOQ_CONFIG)' 'local'
@echo "Local configuration"
else
ifeq '$(METACOQ_CONFIG)' 'global'
@echo "Global configuration"
else
@echo "Run ./configure.sh first"
@exit 1
endif
endif

install: all translations
$(MAKE) -C template-coq install
Expand Down Expand Up @@ -95,7 +119,7 @@ ci-local-noclean:
./configure.sh local
$(MAKE) all test-suite TIMED=pretty-timed

ci-local: ci-local-noclean
ci-local: ci-local-noclean
$(MAKE) clean

ci-quick:
Expand All @@ -106,3 +130,6 @@ ci-opam:
# Use -v so that regular output is produced
opam install -v -y .
opam remove -y coq-metacoq coq-metacoq-template

checktodos:
sh checktodos.sh
Loading