|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## UNRELEASED |
| 3 | +## [1.2.0] - 2021-09-24 |
4 | 4 |
|
5 | 5 | Compatible with |
6 | 6 | - Coq 8.13 or 8.14 with Coq-Elpi 1.11.x |
7 | 7 |
|
8 | 8 | ### General |
9 | 9 |
|
10 | | -- **New** Check for instances which break Forgetful Inheritance, attribute |
11 | | - `#[non_forgetful_inheritance]` to disable the check. |
12 | 10 | - **Fix** Do not impose useless universe constraints on `option` and `prod` by using |
13 | 11 | custom inductive types. |
14 | | -- **New** Attributes `#[primitive]` and `#[primitive_class]` for |
15 | | - `HB.structure/mixin/factory` to generate primitive records. |
16 | | -- **New** `Strategy Opaque` for named mixins, improving conversion performance |
17 | | - on generated terms |
| 12 | +- **New** Check for instances which break Forgetful Inheritance, attribute |
| 13 | + `#[non_forgetful_inheritance]` to disable the check. |
18 | 14 | - **New** Factory instances are canonically (key `Factory.sort`) instances of all |
19 | 15 | the structures they can fulfill. This can be used inside proofs to provide |
20 | 16 | canonical instances on a type. |
21 | | -- **New** Tactic in term `HB.pack` and `HB.pack_for` taking a key `K` and a bunch of |
22 | | - factories and building a structure instance on `K` |
| 17 | + E.g. `(factoryInstance : SomeStructure.sort _)` works if `factoryInstance` can |
| 18 | + be used to build `SomeStructure` |
| 19 | +- **New** `Strategy Opaque` for named mixins, improving conversion performance |
| 20 | + on generated terms |
| 21 | +- **New** Attributes `#[primitive]` and `#[primitive_class]` for |
| 22 | + `HB.structure/mixin/factory` to generate primitive records. |
23 | 23 | - **New** Attribute `#[doc="text"]` supported by all commands and used by `HB.about` |
24 | 24 | - **New** Attribute `#[hnf]` supported by `HB.instance` |
25 | 25 |
|
26 | 26 | ### Commands |
27 | 27 |
|
28 | | -- **New** `HB.locate` and `HB.about` |
| 28 | +- **New** `HB.locate` to find where an instance comes from |
| 29 | +- **New** `HB.about` to display HB specific info attached to a HB |
| 30 | + generated constant |
| 31 | + |
| 32 | +### Tactics |
| 33 | + |
| 34 | +- **New** Tactic in term `HB.pack` and `HB.pack_for` taking a key `K` and a bunch of |
| 35 | + factories and building a structure instance on `K`. |
| 36 | + E.g. `pose K_fooType : Foo.type := HB.pack K f1 f2 ..` works if factories `f1 f2 ..` |
| 37 | + provide all mixins needed by structure `Foo`. |
29 | 38 |
|
30 | 39 | ## [1.1.0] - 2021-03-30 |
31 | 40 |
|
|
0 commit comments