Skip to content

Commit 5f1c861

Browse files
committed
Undo space in links to Ch6
1 parent 37c4582 commit 5f1c861

9 files changed

+15
-14
lines changed

1-getting-started.org

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,7 @@ second case, we ask ~ghci~ to print the type of the expression
906906
without actually evaluating it, so it does not have to be so
907907
specific. It answers, in effect, "its type is numeric". We will
908908
see more of this style of type annotation in
909-
[[file:6-using-type classes.org][Chapter 6, Using Type Classes]].
909+
[[file:6-using-typeclasses.org][Chapter 6, Using Type Classes]].
910910

911911
** A simple program
912912

13-data-structures.org

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ We've told you how powerful and expressive Haskell's type system
487487
is. We've shown you a lot of ways to use that power. Here's a
488488
chance to really see that in action.
489489

490-
Back in [[file:6-using-type classes.org::*Numeric Types][the section called "Numeric Types"]]
490+
Back in [[file:6-using-typeclasses.org::*Numeric Types][the section called "Numeric Types"]]
491491
type classes that come with Haskell. Let's see what we can do by
492492
defining new types and utilizing the numeric type classes to
493493
integrate them with basic mathematics in Haskell.

16-programming-with-monads.org

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@ ghci> second odd ('a',1)
683683
#+END_SRC
684684

685685
(Indeed, we already encountered ~second~, in
686-
[[file:6-using-type classes.org::*JSON type classes without overlapping instances][the section called "JSON type classes without overlapping instances"]]
686+
[[file:6-using-typeclasses.org::*JSON type classes without overlapping instances][the section called "JSON type classes without overlapping instances"]]
687687
We can use ~first~ to golf our definition of ~randomsIO~, turning
688688
it into a one-liner.
689689

2-types-and-functions.org

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ useful kinds of code. In languages like Python, "duck typing" is
142142
common, where an object acts enough like another to be used as a
143143
substitute for it[fn:1]. Fortunately, Haskell's system of
144144
/type classes/, which we will cover in
145-
[[file:6-using-type classes.org][Chapter 6, Using Type Classes]], provides almost all of the
145+
[[file:6-using-typeclasses.org][Chapter 6, Using Type Classes]], provides almost all of the
146146
benefits of dynamic typing, in a safe and convenient form. Haskell
147147
has some support for programming with truly dynamic types, though
148148
it is not quite as easy as in a language that wholeheartedly
@@ -1277,7 +1277,7 @@ point numbers. Haskell deliberately avoids even this kind of
12771277
simple automatic coercion.
12781278

12791279
This is not the whole story of polymorphism in Haskell: we'll
1280-
return to the subject in [[file:6-using-type classes.org][Chapter 6, Using Type Classes]].
1280+
return to the subject in [[file:6-using-typeclasses.org][Chapter 6, Using Type Classes]].
12811281

12821282
*** Reasoning about polymorphic functions
12831283

20-systems-programming-in-haskell.org

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ highlighted:
317317
and ~Show~ type classes. In addition, ~Month~ and ~Day~ are
318318
declared as members of the ~Enum~ and ~Bounded~ type classes. For
319319
more information on these type classes, refer to
320-
[[file:6-using-type classes.org::*Important%20Built-In%20Type%20Classes][the section called "Important Built-In Type Classes"]]
320+
[[file:6-using-typeclasses.org::*Important%20Built-In%20Type%20Classes][the section called "Important Built-In Type Classes"]]
321321

322322
You can generate ~CalendarTime~ values several ways. You could
323323
start by converting a ~ClockTime~ to a ~CalendarTime~ such as

3-defining-types-streamlining-functions.org

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ their type and value constructors have different names.
6666
Deriving what?
6767

6868
We'll explain the full meaning of ~deriving (Show)~ later, in
69-
[[file:6-using-type classes.org::*Show][the section called "Show"]]
69+
[[file:6-using-typeclasses.org::*Show][the section called "Show"]]
7070
need to tack this onto a type declaration so that ~ghci~ will
7171
automatically know how to print a value of this type.
7272
#+END_NOTE

6-using-typeclasses.org

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ that we could fix the problem by defining an instance of ~BasicEq~
161161
for ~[Char]~, which is the same as ~String~.
162162

163163
We'll go into more detail on defining instances in
164-
[[file:6-using-type classes.org::*Declaring type class instances][the section called "Declaring type class instances"]]
164+
[[file:6-using-typeclasses.org::*Declaring type class instances][the section called "Declaring type class instances"]]
165165
let's continue to look at ways to define type classes. In this
166166
example, a not-equal-to function might be useful. Here's what we
167167
might say to define a type class with two functions:
@@ -228,7 +228,7 @@ instances of a particular type class by implementing the functions
228228
necessary for that type class.
229229

230230
Recall our attempt to create a test for equality over a ~Color~
231-
type back in [[file:6-using-type classes.org::*The need for type classes][the section called "The need for type classes"]]
231+
type back in [[file:6-using-typeclasses.org::*The need for type classes][the section called "The need for type classes"]]
232232
let's see how we could make that same ~Color~ type a member of the
233233
~BasicEq3~ class.
234234

@@ -244,13 +244,13 @@ instance BasicEq3 Color where
244244
#+END_SRC
245245

246246
Notice that we provide essentially the same function as we used
247-
back in [[file:6-using-type classes.org::*The need for type classes][the section called "The need for type classes"]]
247+
back in [[file:6-using-typeclasses.org::*The need for type classes][the section called "The need for type classes"]]
248248
the implementation is identical. However, in this case, we can use
249249
~isEqual3~ on /any/ type that we declare is an instance of
250250
~BasicEq3~, not just this one color type. We could define equality
251251
tests for anything from numbers to graphics using the same basic
252252
pattern. In fact, as you will see in
253-
[[file:6-using-type classes.org::*Equality, Ordering, and Comparisons][the section called "Equality, Ordering, and Comparisons"]]
253+
[[file:6-using-typeclasses.org::*Equality, Ordering, and Comparisons][the section called "Equality, Ordering, and Comparisons"]]
254254
exactly how you can make Haskell's ~==~ operator work for your own
255255
custom types.
256256

@@ -351,7 +351,7 @@ instance Show Color where
351351
#+END_SRC
352352

353353
This example defines an instance of ~Show~ for our type ~Color~
354-
(see [[file:6-using-type classes.org::*The need for type classes][the section called "The need for type classes"]]
354+
(see [[file:6-using-typeclasses.org::*The need for type classes][the section called "The need for type classes"]]
355355
implementation is simple: we define a function ~show~ and that's
356356
all that's needed.
357357

@@ -574,7 +574,7 @@ True
574574

575575
Since so many different types are instances of ~Read~ and ~Show~
576576
by default (and others can be made instances easily; see
577-
[[file:6-using-type classes.org::*Automatic Derivation][the section called "Automatic Derivation"]]
577+
[[file:6-using-typeclasses.org::*Automatic Derivation][the section called "Automatic Derivation"]]
578578
some really complex data structures. Here are a few examples of
579579
slightly more complex data structures:
580580

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ typeclass:
2020
# First, manually check that all instances of "Typeclass" don't need to be "Type Class"
2121
sed -i 's/Typeclass/Type class/g' *.org
2222
sed -i 's/typeclass/type class/g' *.org
23+
sed -i 's/6-using-type classes.org/6-using-typeclasses.org/g' *.org

README.org

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ changes listed as /enhancements/ in the issue tracker.
1313
4. DONE [[file:3-defining-types-streamlining-functions.org][Defining Types, Streamlining Functions]]
1414
5. DONE [[file:4-functional-programming.org][Functional programming]]
1515
6. DONE [[file:5-writing-a-library.org][Writing a library]]
16-
7. DONE [[file:6-using-type classes.org][Using type classes]]
16+
7. DONE [[file:6-using-typeclasses.org][Using type classes]]
1717
8. DONE [[file:7-io.org][I/O]]
1818
9. DONE [[file:8-efficient-file-processing-regular-expressions-and-file-name-matching.org][Effiient file processing]]
1919
10. DONE [[file:9-a-library-for-searching-the-file-system.org][A library for searching the file system]]

0 commit comments

Comments
 (0)