Skip to content

Commit e9c82ba

Browse files
committed
Auto merge of #652 - drtychai:master, r=jackh726
Hyperlink protocol changed: HTTP -> HTTPS (#1) Just as the title says; if the domain supported HTTPS, then the protocol was appropriately changed. The following ~two~ three sites were the only ones without TLS support configured: - `wambook.sourceforge.net` - `minikanren.org` - `blog.ezyang.com` FWIW, I went through and clicked at least one link for each unique FQDN.
2 parents c479242 + 5df9f48 commit e9c82ba

File tree

13 files changed

+51
-51
lines changed

13 files changed

+51
-51
lines changed

GLOSSARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Glossary
22

3-
Please see [Appendix A: Glossary and terminology](`http://rust-lang.github.io/chalk/book/glossary.html`) in Chalk book.
3+
Please see [Appendix A: Glossary and terminology](`https://rust-lang.github.io/chalk/book/glossary.html`) in Chalk book.

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,23 @@ suitable reference.
2424
[Prolog]: https://en.wikipedia.org/wiki/Prolog
2525
[Chalkidiki]: https://en.wikipedia.org/wiki/Chalkidiki
2626
[Aristotle]: https://en.wikipedia.org/wiki/Aristotle
27-
[chalk-lowering-details]: http://rust-lang.github.io/chalk/book/#chalk-works-by-converting-rust-goals-into-logical-inference-rules
27+
[chalk-lowering-details]: https://rust-lang.github.io/chalk/book/#chalk-works-by-converting-rust-goals-into-logical-inference-rules
2828

2929
## Blog posts
3030
[blog-posts]: #blog-posts
3131
Here are some blog posts talking about chalk:
3232

33-
- [Lowering Rust Traits to Logic](http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/)
33+
- [Lowering Rust Traits to Logic](https://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/)
3434
- Explains the basic concepts at play
35-
- [Unification in Chalk, Part 1](http://smallcultfollowing.com/babysteps/blog/2017/03/25/unification-in-chalk-part-1/)
35+
- [Unification in Chalk, Part 1](https://smallcultfollowing.com/babysteps/blog/2017/03/25/unification-in-chalk-part-1/)
3636
- An introduction to unification
37-
- [Unification in Chalk, Part 2](http://smallcultfollowing.com/babysteps/blog/2017/04/23/unification-in-chalk-part-2/)
37+
- [Unification in Chalk, Part 2](https://smallcultfollowing.com/babysteps/blog/2017/04/23/unification-in-chalk-part-2/)
3838
- Extending the system for associated types
39-
- [Negative reasoning in Chalk](http://aturon.github.io/blog/2017/04/24/negative-chalk/)
39+
- [Negative reasoning in Chalk](https://aturon.github.io/blog/2017/04/24/negative-chalk/)
4040
- How to prove that something is not true
41-
- [Query structure in chalk](http://smallcultfollowing.com/babysteps/blog/2017/05/25/query-structure-in-chalk/)
41+
- [Query structure in chalk](https://smallcultfollowing.com/babysteps/blog/2017/05/25/query-structure-in-chalk/)
4242
- The basic chalk query structure, with pointers into the chalk implementation
43-
- [Cyclic queries in chalk](http://smallcultfollowing.com/babysteps/blog/2017/09/12/tabling-handling-cyclic-queries-in-chalk/)
43+
- [Cyclic queries in chalk](https://smallcultfollowing.com/babysteps/blog/2017/09/12/tabling-handling-cyclic-queries-in-chalk/)
4444
- Handling cyclic relations and enabling the implementation of implied bounds and other long-desired features in an elegant way
4545

4646
## REPL

book/mermaid.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

book/src/bibliography.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ recommended texts and papers:
55

66
## Blog Posts
77

8-
* [Lowering Rust traits to logic](http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/)
9-
* [Unification in Chalk, part 1](http://smallcultfollowing.com/babysteps/blog/2017/03/25/unification-in-chalk-part-1/)
10-
* [Unification in Chalk, part 2](http://smallcultfollowing.com/babysteps/blog/2017/04/23/unification-in-chalk-part-2/)
8+
* [Lowering Rust traits to logic](https://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/)
9+
* [Unification in Chalk, part 1](https://smallcultfollowing.com/babysteps/blog/2017/03/25/unification-in-chalk-part-1/)
10+
* [Unification in Chalk, part 2](https://smallcultfollowing.com/babysteps/blog/2017/04/23/unification-in-chalk-part-2/)
1111
* [Negative reasoning in Chalk](https://aturon.github.io/blog/2017/04/24/negative-chalk/)
12-
* [Query structure in chalk](http://smallcultfollowing.com/babysteps/blog/2017/05/25/query-structure-in-chalk/)
13-
* [Cyclic queries in chalk](http://smallcultfollowing.com/babysteps/blog/2017/09/12/tabling-handling-cyclic-queries-in-chalk/)
14-
* [An on-demand SLG solver for chalk](http://smallcultfollowing.com/babysteps/blog/2018/01/31/an-on-demand-slg-solver-for-chalk/)
12+
* [Query structure in chalk](https://smallcultfollowing.com/babysteps/blog/2017/05/25/query-structure-in-chalk/)
13+
* [Cyclic queries in chalk](https://smallcultfollowing.com/babysteps/blog/2017/09/12/tabling-handling-cyclic-queries-in-chalk/)
14+
* [An on-demand SLG solver for chalk](https://smallcultfollowing.com/babysteps/blog/2018/01/31/an-on-demand-slg-solver-for-chalk/)
1515

1616
## Papers
1717

book/src/clauses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,4 @@ rule for generic functions like `foo` in our logic.
182182
This page is a lightly adapted version of a
183183
[blog post by Nicholas Matsakis][lrtl].
184184

185-
[lrtl]: http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/
185+
[lrtl]: https://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/

book/src/clauses/coherence.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This document was previously prepared for the initial design of coherence rules
77
>
88
> The role of the orphan rules in particular is basically to prevent you from implementing external traits for external types. So continuing our simple example of `Show`, if you are defining your own library, you could not implement `Show` for `Vec<T>`, because both `Show` and `Vec` are defined in the standard library. But you can implement `Show` for `MyType`, because you defined `MyType`. However, if you define your own trait `MyTrait`, then you can implement `MyTrait` for any type you like, including external types like `Vec<T>`. To this end, the orphan rule intuitively says “either the trait must be local or the self-type must be local”.
99
>
10-
> -- [Little Orphan Impls](http://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/) by Niko Matsakis
10+
> -- [Little Orphan Impls](https://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/) by Niko Matsakis
1111
1212
To check for coherence, the Rust compiler completes two separate but related checks:
1313

@@ -17,7 +17,7 @@ To check for coherence, the Rust compiler completes two separate but related che
1717
- **compatible** - any semver compatible world
1818
# Resources About Coherence
1919
- [Coherence - talk by withoutboats](https://air.mozilla.org/rust-meetup-march-2017/)
20-
- [Little Orphan Impls](http://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/)
20+
- [Little Orphan Impls](https://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/)
2121
- [RFC 1023 Rebalancing Coherence](https://rust-lang.github.io/rfcs/1023-rebalancing-coherence.html)
2222
- [Type classes: confluence, coherence and global uniqueness](http://blog.ezyang.com/2014/07/type-classes-confluence-coherence-global-uniqueness/)
2323
## Axioms & Properties of Coherence
@@ -44,7 +44,7 @@ There are several resources which can be used to figure out the orphan rules in
4444
- [RFC 1023: Rebalancing Coherence](https://rust-lang.github.io/rfcs/1023-rebalancing-coherence.html)
4545
- [*Trait Implementation Coherence*](https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence) [in the](https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence) [*Rust Reference*](https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence)
4646
- [E0210: A violation of the orphan rules in the](https://doc.rust-lang.org/error-index.html#E0210) [*Rust Error Index*](https://doc.rust-lang.org/error-index.html#E0210)
47-
- [*Little Orphan Impls*](http://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/) [by Niko Matsakis](http://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/)
47+
- [*Little Orphan Impls*](https://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/) [by Niko Matsakis](https://smallcultfollowing.com/babysteps/blog/2015/01/14/little-orphan-impls/)
4848

4949
Of all of these, RFC 1023 is probably considered the most authoritative source on the orphan rules. The orphan rules as proposed in that RFC are as follows:
5050

@@ -168,7 +168,7 @@ The conclusion from all of this is that it is perfectly safe to rule out impls t
168168

169169
## Discussion: Modelling the Overlap Check
170170

171-
[Aaron’s excellent blog post](http://aturon.github.io/blog/2017/04/24/negative-chalk/) talks about this exact problem from the point of view of negative reasoning. It also describes a potential solution which we will apply here to solve our problem.
171+
[Aaron’s excellent blog post](https://aturon.github.io/blog/2017/04/24/negative-chalk/) talks about this exact problem from the point of view of negative reasoning. It also describes a potential solution which we will apply here to solve our problem.
172172

173173
The **compatible modality** (`compat` in Aaron’s blog post) is necessary because we don’t always want to assume that all compatible impls exist. In particular, there are certain phases of compilation (e.g. trans) where the closed-world assumption is entirely necessary and sufficient.
174174

book/src/engine/slg.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,5 +298,5 @@ more answers later on.
298298
for negative reasoning, but not how the SLG solver does it
299299

300300
[readme]: https://github.com/rust-lang/chalk/blob/239e4ae4e69b2785b5f99e0f2b41fc16b0b4e65e/chalk-engine/src/README.md
301-
[slg-blog]: http://smallcultfollowing.com/babysteps/blog/2018/01/31/an-on-demand-slg-solver-for-chalk/
301+
[slg-blog]: https://smallcultfollowing.com/babysteps/blog/2018/01/31/an-on-demand-slg-solver-for-chalk/
302302
[negative-reasoning-blog]: https://aturon.github.io/blog/2017/04/24/negative-chalk/

book/src/recursive/search_graph.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ actually implement this? That's where the [`SearchGraph`] comes into play.
77
[cycles]: ./inductive_cycles.md
88
[coinduction]: ./coinduction.md
99
[stack]: ./stack.md
10-
[`SearchGraph`]: http://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.SearchGraph.html
11-
[`DepthFirstNumber`]: http://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.DepthFirstNumber.html
12-
[`Node`]: http://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.Node.html
13-
[`stack_depth`]: http://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.Node.html#structfield.stack_depth
10+
[`SearchGraph`]: https://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.SearchGraph.html
11+
[`DepthFirstNumber`]: https://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.DepthFirstNumber.html
12+
[`Node`]: https://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.Node.html
13+
[`stack_depth`]: https://rust-lang.github.io/chalk/chalk_recursive/search_graph/struct.Node.html#structfield.stack_depth
1414

1515
The role of the [`SearchGraph`] is to store information about each goal that we
1616
are currently solving. Typically, these are goals on the stack -- but other
@@ -183,7 +183,7 @@ recursively invoking some goal G2 that is in the search graph but *not* present
183183
on the stack, then we update the current [`Minimums`] with the values stored in
184184
the search graph.
185185

186-
[`Minimums`]: http://rust-lang.github.io/chalk/chalk_recursive/struct.Minimums.html
186+
[`Minimums`]: https://rust-lang.github.io/chalk/chalk_recursive/struct.Minimums.html
187187

188188
## Removing nodes from the graph
189189

book/src/recursive/stack.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ what it sounds like: a stack that stores each thing that the recursive solver is
55
solving. Initially, it contains only one item, the root goal that was given by
66
the user.
77

8-
[`Stack`]: http://rust-lang.github.io/chalk/chalk_recursive/stack/struct.Stack.html
8+
[`Stack`]: https://rust-lang.github.io/chalk/chalk_recursive/stack/struct.Stack.html
99

1010
Each frame on the stack has an associated [`StackDepth`], which is basically an
1111
index that increases (so 0 is the top of the stack, 1 is the next thing pushed,
1212
etc).
1313

14-
[`StackDepth`]: http://rust-lang.github.io/chalk/chalk_recursive/stack/struct.StackDepth.html
14+
[`StackDepth`]: https://rust-lang.github.io/chalk/chalk_recursive/stack/struct.StackDepth.html
1515

1616
## How the recursive solver works at the highest level
1717

@@ -74,4 +74,4 @@ detect a cycle by checking in the [search graph] to see whether G has an associa
7474
to learn more about that).
7575

7676
[search graph]: ./search_graph.md
77-
[`cycle`]: http://rust-lang.github.io/chalk/chalk_recursive/stack/struct.StackEntry.html#structfield.cycle
77+
[`cycle`]: https://rust-lang.github.io/chalk/chalk_recursive/stack/struct.StackEntry.html#structfield.cycle

book/src/types/operations/fold.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ chalk-ir and make a copy of it, possibly making small substitutions or
55
alterations along the way. Folding also allows copying a term from one
66
interner to another.
77

8-
[`Fold`]: http://rust-lang.github.io/chalk/chalk_ir/fold/trait.Fold.html
8+
[`Fold`]: https://rust-lang.github.io/chalk/chalk_ir/fold/trait.Fold.html
99

1010
To use the [`Fold`] trait, one invokes the [`Fold::fold_with`] method, supplying some
1111
"folder" as well as the number of "in scope binders" for that term (typically `0`
@@ -15,14 +15,14 @@ to start):
1515
let output_ty = input_ty.fold_with(&mut folder, 0);
1616
```
1717

18-
[`Fold::fold_with`]: http://rust-lang.github.io/chalk/chalk_ir/fold/trait.Fold.html#tymethod.fold_with
18+
[`Fold::fold_with`]: https://rust-lang.github.io/chalk/chalk_ir/fold/trait.Fold.html#tymethod.fold_with
1919

2020
The folder is some instance of the [`Folder`] trait. This trait
2121
defines a few key callbacks that allow you to substitute different
2222
values as the fold proceeds. For example, when a type is folded, the
2323
folder can substitute a new type in its place.
2424

25-
[`Folder`]: http://rust-lang.github.io/chalk/chalk_ir/fold/trait.Folder.html
25+
[`Folder`]: https://rust-lang.github.io/chalk/chalk_ir/fold/trait.Folder.html
2626

2727
## Uses for folders
2828

@@ -69,7 +69,7 @@ XXX explain with examples and in more detail
6969
The `Fold` trait defines a [`Result`] associated type, indicating the
7070
type that will result from folding.
7171

72-
[`Result`]: http://rust-lang.github.io/chalk/chalk_ir/fold/trait.Fold.html#associatedtype.Result
72+
[`Result`]: https://rust-lang.github.io/chalk/chalk_ir/fold/trait.Fold.html#associatedtype.Result
7373

7474
## When to implement the Fold and SuperFold traits
7575

book/src/types/role_of_interner.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Most everything in the IR is parameterized by the [`Interner`] trait:
44

5-
[`Interner`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html
5+
[`Interner`]: https://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html
66

77
```rust,ignore
88
trait Interner: Copy + Clone + Debug + Eq + Ord {
@@ -25,17 +25,17 @@ done via an "indirection" strategy. We'll explain that strategy here
2525
in terms of [`Ty`] and [`TyKind`], the two types used to represent
2626
Rust types, but the same pattern is repeated for many other things.
2727

28-
[`Interner`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html
29-
[`Ty`]: http://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html
30-
[`TyKind`]: http://rust-lang.github.io/chalk/chalk_ir/enum.TyKind.html
28+
[`Interner`]: https://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html
29+
[`Ty`]: https://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html
30+
[`TyKind`]: https://rust-lang.github.io/chalk/chalk_ir/enum.TyKind.html
3131

3232
Types are represented by a [`Ty<I>`] type and the [`TyKind<I>`] enum.
3333
There is no *direct* connection between them. The link is rather made
3434
by the [`Interner`] trait, via the [`InternedTy`] associated type:
3535

36-
[`Ty<I>`]: http://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html
37-
[`TyKind<I>`]: http://rust-lang.github.io/chalk/chalk_ir/enum.TyKind.html
38-
[`InternedTy`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html#associatedtype.InternedType
36+
[`Ty<I>`]: https://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html
37+
[`TyKind<I>`]: https://rust-lang.github.io/chalk/chalk_ir/enum.TyKind.html
38+
[`InternedTy`]: https://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html#associatedtype.InternedType
3939

4040
```rust,ignore
4141
struct Ty<I: Interner>(I::InternedTy);
@@ -45,8 +45,8 @@ enum TyKind<I: Interner> { .. }
4545
The way this works is that the [`Interner`] trait has an associated
4646
type [`InternedTy`] and two related methods, [`intern_ty`] and [`ty_data`]:
4747

48-
[`intern_ty`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html#tymethod.intern_ty
49-
[`ty_data`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html#tymethod.ty_data
48+
[`intern_ty`]: https://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html#tymethod.intern_ty
49+
[`ty_data`]: https://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html#tymethod.ty_data
5050

5151
```rust,ignore
5252
trait Interner {

book/src/types/rust_types.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ what sort of type you have, you invoke the [`kind`] method, which
66
returns a [`TyKind`]. As described earlier, the actual in-memory
77
representation of types is controlled by the [`Interner`] trait.
88

9-
[`Interner`]: http://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html
10-
[`Ty`]: http://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html
11-
[`TyKind`]: http://rust-lang.github.io/chalk/chalk_ir/enum.TyKind.html
12-
[`kind`]: http://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html#method.kind
9+
[`Interner`]: https://rust-lang.github.io/chalk/chalk_ir/interner/trait.Interner.html
10+
[`Ty`]: https://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html
11+
[`TyKind`]: https://rust-lang.github.io/chalk/chalk_ir/enum.TyKind.html
12+
[`kind`]: https://rust-lang.github.io/chalk/chalk_ir/struct.Ty.html#method.kind
1313

1414
## The `TyKind` variants and how they map to Rust syntax
1515

chalk-solve/src/infer/invert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ impl<I: Interner> InferenceTable<I> {
2121
/// negation-as-failure paper [1], where negative goals are only
2222
/// permitted if they contain no free (existential) variables.
2323
///
24-
/// [1] http://www.doc.ic.ac.uk/~klc/NegAsFailure.pdf
24+
/// [1] https://www.doc.ic.ac.uk/~klc/NegAsFailure.pdf
2525
///
2626
/// Restricting free existential variables is done because the
2727
/// semantics of such queries is not what you expect: it basically

0 commit comments

Comments
 (0)