Skip to content

Commit 04569b5

Browse files
authored
* Adapt to agda/agda#5289 * [ admin ] exclude more of the modules from the safe index * [ fix ] add --rewriting option to index.agda
1 parent d66a21f commit 04569b5

File tree

8 files changed

+72
-5
lines changed

8 files changed

+72
-5
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ matrix:
5656
cd ../ &&
5757
git clone https://github.com/agda/agda &&
5858
cd agda &&
59-
git checkout fec60970117acab3aeee56bea88bc38136db6c1b &&
59+
git checkout 63218e5924df4e1a23ce9cb65e10a679c0cee0ce &&
6060
cabal install --only-dependencies --dry -v > $HOME/installplan.txt ;
6161
fi
6262

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ Non-backwards compatible changes
3737
* The types of the `clause` and `absurd-clause` constructors of the
3838
`Clause` datatype now take an extra argument `(tel : Telescope)`,
3939
where `Telescope = List (String × Arg Type)`.
40+
* The following constructors have been added to the `Sort` datatype:
41+
`prop : (t : Term) → Sort`, `propLit : (n : Nat) → Sort`, and
42+
`inf : (n : Nat) → Sort`.
4043

4144
See the release notes of Agda 2.6.2 for more information.
4245

src/Reflection/Annotated.agda

+15
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ mutual
131131
data Sortₐ′ {ℓ} : Typeₐ ℓ ⟨sort⟩ where
132132
set : {t} Termₐ Ann t Sortₐ′ Ann (set t)
133133
lit : n Sortₐ′ Ann (lit n)
134+
prop : {t} Termₐ Ann t Sortₐ′ Ann (prop t)
135+
propLit : n Sortₐ′ Ann (propLit n)
136+
inf : n Sortₐ′ Ann (inf n)
134137
unknown : Sortₐ′ Ann unknown
135138

136139
data Patternₐ′ {ℓ} : Typeₐ ℓ ⟨pat⟩ where
@@ -197,6 +200,9 @@ module _ (annFun : AnnotationFun Ann) where
197200
annotate′ {⟨pat⟩} (absurd x) = absurd x
198201
annotate′ {⟨sort⟩} (set t) = set (annotate t)
199202
annotate′ {⟨sort⟩} (lit n) = lit n
203+
annotate′ {⟨sort⟩} (prop t) = prop (annotate t)
204+
annotate′ {⟨sort⟩} (propLit n) = propLit n
205+
annotate′ {⟨sort⟩} (inf n) = inf n
200206
annotate′ {⟨sort⟩} unknown = unknown
201207
annotate′ {⟨clause⟩} (clause tel ps t) = clause (annotate tel) (annotate ps) (annotate t)
202208
annotate′ {⟨clause⟩} (absurd-clause tel ps) = absurd-clause (annotate tel) (annotate ps)
@@ -234,6 +240,9 @@ mutual
234240
map′ ⟨pat⟩ f (absurd x) = absurd x
235241
map′ ⟨sort⟩ f (set t) = set (map f t)
236242
map′ ⟨sort⟩ f (lit n) = lit n
243+
map′ ⟨sort⟩ f (prop t) = prop (map f t)
244+
map′ ⟨sort⟩ f (propLit n) = propLit n
245+
map′ ⟨sort⟩ f (inf n) = inf n
237246
map′ ⟨sort⟩ f unknown = unknown
238247
map′ ⟨clause⟩ f (clause Γ ps args) = clause (map f Γ) (map f ps) (map f args)
239248
map′ ⟨clause⟩ f (absurd-clause Γ ps) = absurd-clause (map f Γ) (map f ps)
@@ -271,6 +280,9 @@ module _ {W : Set ℓ} (ε : W) (_∪_ : W → W → W) where
271280
defaultAnn ⟨pat⟩ (absurd x) = ε
272281
defaultAnn ⟨sort⟩ (set t) = ann t
273282
defaultAnn ⟨sort⟩ (lit n) = ε
283+
defaultAnn ⟨sort⟩ (prop t) = ann t
284+
defaultAnn ⟨sort⟩ (propLit n) = ε
285+
defaultAnn ⟨sort⟩ (inf n) = ε
274286
defaultAnn ⟨sort⟩ unknown = ε
275287
defaultAnn ⟨clause⟩ (clause Γ ps t) = ann Γ ∪ (ann ps ∪ ann t)
276288
defaultAnn ⟨clause⟩ (absurd-clause Γ ps) = ann Γ ∪ ann ps
@@ -321,6 +333,9 @@ module Traverse {M : Set → Set} (appl : RawApplicative M) where
321333
traverse′ {⟨pat⟩} (absurd x) = pure (absurd x)
322334
traverse′ {⟨sort⟩} (set t) = set <$> traverse t
323335
traverse′ {⟨sort⟩} (lit n) = pure (lit n)
336+
traverse′ {⟨sort⟩} (prop t) = prop <$> traverse t
337+
traverse′ {⟨sort⟩} (propLit n) = pure (propLit n)
338+
traverse′ {⟨sort⟩} (inf n) = pure (inf n)
324339
traverse′ {⟨sort⟩} unknown = pure unknown
325340
traverse′ {⟨clause⟩} (clause Γ ps t) = clause <$> traverse Γ <*> traverse ps <*> traverse t
326341
traverse′ {⟨clause⟩} (absurd-clause Γ ps) = absurd-clause <$> traverse Γ <*> traverse ps

src/Reflection/Show.agda

+3
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ mutual
9797
showSort : Sort String
9898
showSort (set t) = "Set" <+> parensIfSpace (showTerm t)
9999
showSort (lit n) = "Set" ++ ℕ.show n -- no space to disambiguate from set t
100+
showSort (prop t) = "Prop" <+> parensIfSpace (showTerm t)
101+
showSort (propLit n) = "Prop" ++ ℕ.show n -- no space to disambiguate from prop t
102+
showSort (inf n) = "Setω" ++ ℕ.show n
100103
showSort unknown = "unknown"
101104

102105
showPatterns : List (Arg Pattern) String

src/Reflection/Term.agda

+35
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,14 @@ set-injective refl = refl
237237
slit-injective : {x y} Sort.lit x ≡ lit y x ≡ y
238238
slit-injective refl = refl
239239

240+
prop-injective : {x y} prop x ≡ prop y x ≡ y
241+
prop-injective refl = refl
242+
243+
propLit-injective : {x y} propLit x ≡ propLit y x ≡ y
244+
propLit-injective refl = refl
245+
246+
inf-injective : {x y} inf x ≡ inf y x ≡ y
247+
inf-injective refl = refl
240248

241249
var x args ≟ var x′ args′ =
242250
Dec.map′ (uncurry (cong₂ var)) var-injective (x ℕ.≟ x′ ×-dec args ≟-Args args′)
@@ -349,13 +357,40 @@ unknown ≟ pat-lam _ _ = no λ()
349357

350358
set t ≟-Sort set t′ = Dec.map′ (cong set) set-injective (t ≟ t′)
351359
lit n ≟-Sort lit n′ = Dec.map′ (cong lit) slit-injective (n ℕ.≟ n′)
360+
prop t ≟-Sort prop t′ = Dec.map′ (cong prop) prop-injective (t ≟ t′)
361+
propLit n ≟-Sort propLit n′ = Dec.map′ (cong propLit) propLit-injective (n ℕ.≟ n′)
362+
inf n ≟-Sort inf n′ = Dec.map′ (cong inf) inf-injective (n ℕ.≟ n′)
352363
unknown ≟-Sort unknown = yes refl
353364
set _ ≟-Sort lit _ = no λ()
365+
set _ ≟-Sort prop _ = no λ()
366+
set _ ≟-Sort propLit _ = no λ()
367+
set _ ≟-Sort inf _ = no λ()
354368
set _ ≟-Sort unknown = no λ()
355369
lit _ ≟-Sort set _ = no λ()
370+
lit _ ≟-Sort prop _ = no λ()
371+
lit _ ≟-Sort propLit _ = no λ()
372+
lit _ ≟-Sort inf _ = no λ()
356373
lit _ ≟-Sort unknown = no λ()
374+
prop _ ≟-Sort set _ = no λ()
375+
prop _ ≟-Sort lit _ = no λ()
376+
prop _ ≟-Sort propLit _ = no λ()
377+
prop _ ≟-Sort inf _ = no λ()
378+
prop _ ≟-Sort unknown = no λ()
379+
propLit _ ≟-Sort set _ = no λ()
380+
propLit _ ≟-Sort lit _ = no λ()
381+
propLit _ ≟-Sort prop _ = no λ()
382+
propLit _ ≟-Sort inf _ = no λ()
383+
propLit _ ≟-Sort unknown = no λ()
384+
inf _ ≟-Sort set _ = no λ()
385+
inf _ ≟-Sort lit _ = no λ()
386+
inf _ ≟-Sort prop _ = no λ()
387+
inf _ ≟-Sort propLit _ = no λ()
388+
inf _ ≟-Sort unknown = no λ()
357389
unknown ≟-Sort set _ = no λ()
358390
unknown ≟-Sort lit _ = no λ()
391+
unknown ≟-Sort prop _ = no λ()
392+
unknown ≟-Sort propLit _ = no λ()
393+
unknown ≟-Sort inf _ = no λ()
359394

360395

361396
pat-con-injective₁ : {c c′ args args′} Pattern.con c args ≡ con c′ args′ c ≡ c′

src/Reflection/Traversal.agda

+6-3
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,12 @@ module _ (actions : Actions) where
111111
traverseTel Γ ((x , ty) ∷ tel) =
112112
_∷_ ∘ (x ,_) <$> traverseArg Γ ty ⊛ traverseTel ((x , ty) ∷cxt Γ) tel
113113

114-
traverseSort Γ (Sort.set t) = Sort.set <$> traverseTerm Γ t
115-
traverseSort Γ t@(Sort.lit _) = pure t
116-
traverseSort Γ [email protected] = pure t
114+
traverseSort Γ (Sort.set t) = Sort.set <$> traverseTerm Γ t
115+
traverseSort Γ t@(Sort.lit _) = pure t
116+
traverseSort Γ (Sort.prop t) = Sort.prop <$> traverseTerm Γ t
117+
traverseSort Γ t@(Sort.propLit _) = pure t
118+
traverseSort Γ t@(Sort.inf _) = pure t
119+
traverseSort Γ [email protected] = pure t
117120

118121
traversePattern Γ (Pattern.con c ps) = Pattern.con <$> onCon Γ c ⊛ traversePats Γ ps
119122
traversePattern Γ (Pattern.dot t) = Pattern.dot <$> traverseTerm Γ t

travis/index.agda

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS --rewriting #-}
2+
13
module index where
24

35
-- You probably want to start with this module:

travis/index.sh

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ for file in $( find src -name "*.agda" | sort ); do
77
if [[ ! $i == *Unsafe \
88
&& ! $i == Reflection \
99
&& ! $i == IO* \
10-
&& ! $i == *TrustMe ]]; then echo "import $i" >> safe.agda; fi
10+
&& ! $i == *TrustMe \
11+
&& ! $i == Debug* \
12+
&& ! $i == Codata.Musical* \
13+
&& ! $i == Foreign* \
14+
&& ! $i == System* \
15+
&& ! $i == Text.Pretty* \
16+
]]; then echo "import $i" >> safe.agda; fi
1117
fi
1218
done

0 commit comments

Comments
 (0)