100% found this document useful (5 votes)
265 views

Learning Java Functional Programming 1st Edition Reese Richard M all chapter instant download

M

Uploaded by

sazmannafath
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (5 votes)
265 views

Learning Java Functional Programming 1st Edition Reese Richard M all chapter instant download

M

Uploaded by

sazmannafath
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

Experience Seamless Full Ebook Downloads for Every Genre at textbookfull.

com

Learning Java Functional Programming 1st Edition


Reese Richard M

https://textbookfull.com/product/learning-java-functional-
programming-1st-edition-reese-richard-m/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Learning Network Programming with Java 1st Edition Reese


Richard M

https://textbookfull.com/product/learning-network-programming-with-
java-1st-edition-reese-richard-m/

textboxfull.com

Natural Language Processing with Java Community Experience


Distilled 1st Edition Reese Richard M

https://textbookfull.com/product/natural-language-processing-with-
java-community-experience-distilled-1st-edition-reese-richard-m/

textboxfull.com

EJB 3 1 Cookbook 1st Edition M Reese Richard

https://textbookfull.com/product/ejb-3-1-cookbook-1st-edition-m-reese-
richard/

textboxfull.com

Java for Data Science 1st Edition Reese

https://textbookfull.com/product/java-for-data-science-1st-edition-
reese/

textboxfull.com
Learning Java Beginning programming with java for dummies
First Edition John Bach

https://textbookfull.com/product/learning-java-beginning-programming-
with-java-for-dummies-first-edition-john-bach/

textboxfull.com

Learning Java An Introduction to Real World Programming


with Java Marc Loy

https://textbookfull.com/product/learning-java-an-introduction-to-
real-world-programming-with-java-marc-loy/

textboxfull.com

Learning Java An Introduction to Real World Programming


with Java 5th Edition Marc Loy

https://textbookfull.com/product/learning-java-an-introduction-to-
real-world-programming-with-java-5th-edition-marc-loy/

textboxfull.com

Modern Java in Action Lambdas streams functional and


reactive programming Raoul-Gabriel Urma

https://textbookfull.com/product/modern-java-in-action-lambdas-
streams-functional-and-reactive-programming-raoul-gabriel-urma/

textboxfull.com

A Functional Approach to Java: Augmenting Object-Oriented


Java Code with Functional Principles 1st Edition Ben
Weidig
https://textbookfull.com/product/a-functional-approach-to-java-
augmenting-object-oriented-java-code-with-functional-principles-1st-
edition-ben-weidig/
textboxfull.com
Learning Java Functional
Programming

Create robust and maintainable Java applications


using the functional style of programming

Richard M Reese

BIRMINGHAM - MUMBAI
Learning Java Functional Programming

Copyright © 2015 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.

First published: October 2015

Production reference: 1091015

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham B3 2PB, UK.

ISBN 978-1-78355-848-3

www.packtpub.com
Credits

Author Project Coordinator


Richard M Reese Judie Jose

Reviewers Proofreader
Jose Luis Ordiales Coscia Safis Editing
David Greco
Hossein Kazemi Indexer
Rekha Nair
Amar Potghan

Graphics
Commissioning Editor
Jason Monteiro
Veena Pagare
Abhinash Sahu

Acquisition Editor
Vivek Anantharaman Production Coordinator
Aparna Bhagat

Content Development Editor


Susmita Sabat Cover Work
Aparna Bhagat

Technical Editor
Prajakta Mhatre

Copy Editor
Charlotte Carneiro
About the Author

Richard M Reese has worked in both industry and academics. For 17 years, he
worked in the telephone and aerospace industries, serving in several capacities,
including research and development, software development, supervision, and
training. He currently teaches at Tarleton State University, where he has the
opportunity to draw on his years of industry experience to enhance his teaching.

Richard has written several Java books and a C pointer book. He uses a concise and
easy-to-follow approach to the topics at hand. His Java books have addressed EJB
3.1, updates to Java 7 and 8, certification, jMonkeyEngine, and Natural Language
Processing.

Richard would like to thank his daughter, Jennifer, for her numerous
reviews and contributions; his wife, Karla, for her continued
support; and the staff at Packt for their work in making this
a better book.
About the Reviewers

Jose Luis Ordiales Coscia is a software engineer with much experience in


both academia and the private industry. He has a master's degree in computer
science, focusing his research on helping developers improve their service-oriented
applications.

He has more than 7 years of experience working in backend development with Java
and other JVM languages.

David Greco is a software architect with more than 27 years of working


experience. He started his career as a researcher in the field of high-performance
computing; thereafter, he moved to the business world, where he worked for
different enterprise software vendors and helped to create two start-ups. He played
different roles, those of a consultant and software architect and even a CTO. He's an
enthusiastic explorer of new technologies, and likes to introduce new technologies
into enterprises to improve their businesses. Over the past 5 years, he has fallen
in love with big data technologies and typed functional programming—Scala and
Haskell. When not working or hacking, he likes to practice karate and listen to jazz
and classical music.

Hossein Kazemi is an entrepreneur and software engineer based in Amsterdam,


the Netherlands. He holds a master's in artificial intelligence with a major in machine
learning and minor in Natural Language Processing (NLP) from the University
of Amsterdam. He has more than 5 years of hands-on experience in software
development and has worked on projects for large-scale machine learning and
NLP using Java and Scala.
Amar Potghan is a polyglot functional programming enthusiast. He has vast
experience in building scalable distributed systems. Amar is currently working
on Haskell and ClojureScript to build a next generation P2P lending platform
for a fintech company in Singapore. Before that, he was working as a consultant
at ThoughtWorks and as a senior software engineer for a couple of other global
software consultancies where he worked on continuous delivery, microservices,
big data, and analytics product development projects. Amar's current interests
are functional programming, distributed systems, and machine learning.
www.PacktPub.com

Support files, eBooks, discount offers, and more


For support files and downloads related to your book, please visit www.PacktPub.com.

Did you know that Packt offers eBook versions of every book published, with PDF
and ePub files available? You can upgrade to the eBook version at www.PacktPub.
com and as a print book customer, you are entitled to a discount on the eBook copy.
Get in touch with us at service@packtpub.com for more details.

At www.PacktPub.com, you can also read a collection of free technical articles,


sign up for a range of free newsletters and receive exclusive discounts and offers
on Packt books and eBooks.
TM

https://www2.packtpub.com/books/subscription/packtlib

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can search, access, and read Packt's entire library of books.

Why subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print, and bookmark content
• On demand and accessible via a web browser

Free access for Packt account holders


If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view 9 entirely free books. Simply use your login credentials for
immediate access.
Table of Contents
Preface vii
Chapter 1: Getting Started with Functional Programming 1
Aspects of functional programming 2
Functions 3
Function composition 6
Fluent interfaces 7
Strict versus non-strict evaluation 8
Persistent data structures 9
Recursion 10
Parallelism 11
Optional and monads 13
Java 8's support for functional style programming 14
Lambda expressions 15
Default methods 16
Functional interfaces 17
Method and constructor references 18
Collections 20
Summary 20
Chapter 2: Putting the Function in Functional Programming 23
Lambda expressions usage 24
Functional programming concepts in Java 26
High-order functions 26
Returning a function 29
First-class functions 31
The pure function 33
Support repeated execution 33
Eliminating dependencies between functions 36
Supporting lazy evaluation 37

[i]
Table of Contents

Referential transparency 37
Closure in Java 38
Currying 40
Lambda expressions revisited 43
Java 8 type inference 44
Exception handling in lambda expressions 46
Functional interfaces revisited 47
Creating a functional interface 47
Common functional interfaces 47
Function-type functional interfaces 48
Predicate-type functional interfaces 49
Consumer-type functional interfaces 50
Supplier-type functional interfaces 51
Operator-type functional interfaces 51
Summary 53
Chapter 3: Function Composition and Fluent Interfaces 55
Introduction to function composition 56
Creating composite functions prior to Java 8 56
Creating composite functions in Java 8 58
Using the Function interface for function composition 59
Using the Functional interface to supplement methods 60
Passing instances of the Functional interface 61
Fluent interfaces 64
Fluent interfaces in Java 8 64
Method chaining and cascading 65
Contrasting method cascading and fluent interfaces 67
Creating and using fluent interfaces 68
Using fluent interfaces to hide older interfaces/classes 72
Using fluent interfaces with the Properties class 74
Extending fluent interfaces 76
Default methods and functions 80
Static default methods 81
Default methods in Java 8 81
Multiple inheritance in Java 8 83
Summary 84
Chapter 4: Streams and the Evaluation of Expressions 85
The Stream class and its use 86
Intermediate and terminal methods 88
Creating streams 89
Fixed length streams 90

[ ii ]
Table of Contents

Infinite streams 90
Using the iterate method to create an infinite stream 91
Using the generate method to create an infinite stream 94
Using the Stream class methods 95
Filter methods 96
Using the filter method 97
Using the skip method 98
Sorting streams 99
Mapping methods 100
Understanding the mapping operation 100
Implementing the map-reduce paradigm 101
Using the flatmap method 103
Lazy and eager evaluation 106
Stream and concurrent processing 109
Understanding non-inference 110
Understanding stateless operations 111
Understanding side effects 112
Understanding the ordering 113
Summary 114
Chapter 5 Recursion Techniques in Java 8 117
Recursive data structures 118
Types of recursion 120
Using direct recursion 120
Head and tail recursion 121
Understanding recursion 123
The Node class 124
Using head recursion 126
Using tail recursion 127
Using the head and tail recursion 128
Creating a recursive solution based on a formula 129
Converting an iterative loop to a recursive solution 131
Merging two lists 132
Understanding the program stack 133
Recursive lambda expressions 137
Common problems found in recursive solutions 137
Absence of a base case 138
Using static or instance variables 138
Using the pre- and post-increment operators 139
Recursion implementation techniques 139
Using a wrapper method 140
Using short circuiting 140

[ iii ]
Table of Contents

Tail call optimization 141


Converting to a tail call 142
When to use recursion 143
Recursion and humor 144
Summary 146
Chapter 6: Optional and Monads 147
Using the Optional class 147
Creating Optional instances 148
Using the Optional class to support return values 149
Handling missing values 153
Using the orElse method to get a substitute value 153
Using the orElseGet method to use a function to get a substitute value 154
Using the orElseThrow method to throw an exception 154
Filter and transforming values 155
Using the Optional class's filter method 155
Using the Optional class's map method 156
Optional solution to the Customer problem 157
Disadvantages of the Optional class 159
Monads 160
Monads in Java 8 163
Using the of method as the unit function 164
Using the flatMap method 164
Using the map method 165
Using the Optional class with strings 166
Using monads with the Part class 167
A formal discussion of monads 168
Associativity 171
Left identity 171
Right identity 172
Summary 173
Chapter 7: Supporting Design Patterns Using Functional
Programming 175
Implementing the execute-around-method pattern 177
Object-oriented solution to the execute-around-method pattern 177
Functional solution to the execute-around-method pattern 178
Using the execute-around-method pattern with a stream 181
Implementing the factory pattern 182
Object-oriented solution to the factory pattern 183
Functional solution to the factory pattern 185
Implementing the command pattern 185
Object-oriented solution to the command pattern 186
Functional solution to the command pattern 188

[ iv ]
Table of Contents

Implementing the strategy pattern 189


Object-oriented solution to strategy pattern 190
Functional solution to the strategy pattern 194
Using the Function interface 195
Implementing the visitor pattern 196
Object-orient solution to the visitor pattern 197
Functional solution to the visitor pattern 200
Implementing the template pattern 202
Object-oriented solution to the template pattern 203
Functional solution to the template pattern 205
Summary 208
Chapter 8: Refactoring, Debugging, and Testing 209
Refactoring functional code 210
NetBeans support for refactoring 211
Converting anonymous inner classes to lambda expressions 211
Refactoring multiple code instances 212
Support of other refactoring operations 214
Eclipse support for refactoring 215
Converting anonymous inner classes to lambda expressions 215
Refactoring multiple code instances 217
Support of other refactoring operations 219
Debugging lambda expressions 220
Using the println method to assist debugging 221
Using the peek method to assist debugging 222
Debugging lambda expressions using NetBeans 222
Debugging lambda expressions using Eclipse 225
Debugging recursive lambda expressions 227
Debugging parallel streams 229
Testing functional programs 230
Testing lambda expressions 230
Copying the lambda expression 232
Using a method reference 233
Reorganizing the test class 234
Testing exceptions using a fluent style 236
Summary 237
Chapter 9: Bringing It All Together 239
Functional Zork 239
Playing the game 240
The game's architecture 243
Understanding the GameElements class 243
Introducing the Item, Direction, and NPC classes 244

[v]
Table of Contents

Implementing the FunctionalZork class 246


Initializing the game 247
Initializing the commands 250
Getting a command from the console 252
Parsing the command 255
Executing the command 255
Implementing the Character class 258
Implementing the pickup method 258
Implementing the drop method 259
Implementing the walk method 260
Implementing the inventory method 261
Implementing the Location class 262
Handling items 263
Handling NPCs 263
Handling directions 264
Summary 265
Epilogue 266
Index 267

[ vi ]
Preface
With the introduction of Java 8, many functional programming techniques have been
added to the language. However, functional programming may seem unfamiliar to
developers who are used to using imperative and object-oriented techniques. The
new additions to Java 8 offer the opportunity to develop more maintainable and
robust applications than that offered by earlier versions of Java.

The goal of this book is to introduce functional programming techniques to


developers who are not familiar with this technology. You will be guided through
the use of functional programming techniques with the help of numerous examples.
Older imperative and object-oriented approaches will be illustrated and contrasted
with equivalent functional programming solutions.

What this book covers


Chapter 1, Getting Started with Functional Programming, introduces the essential
elements of functional programming as supported by Java 8. This includes the
introduction of functional terms complemented by Java 8 examples.

Chapter 2, Putting the Function in Functional Programming, covers the types of


functions found in functional programming languages such as high-order functions,
first-class functions, and pure functions. The use of lambda expressions in support
of functions is explained.

Chapter 3, Function Composition and Fluent Interfaces, addresses how to use functional
composition. Also covered are fluent interfaces and the use of default methods.

Chapter 4, Streams and the Evaluation of Expressions, covers the basics of their creation
and use. Streams are an important addition to Java.

[ vii ]
Preface

Chapter 5, Recursion Techniques in Java 8, demonstrates recursion, a very useful


functional programming technique. While not new to Java, we explore the topic
in depth and examine the use of recursive lambda expressions.

Chapter 6, Optional and Monads, covers the use and the nature of monads in creating
fluent interfaces and producing resilient code. The Optional class provides a better
way of working with missing data.

Chapter 7, Supporting Design Patterns Using Functional Programming, illustrates design


patterns. They play an important role in Java programming. The impact of the
functional style of programming and lambda expressions is illustrated.

Chapter 8, Refactoring, Debugging, and Testing, demonstrates how these tools have
been affected by the new functional programming techniques and how IDEs
support them. These are valuable tools in the development process.

Chapter 9, Bringing It All Together, summarizes many of the functional programming


techniques presented earlier that are used in the creation of a demonstration
application. Such an application provides a concise illustration of how these
techniques support the development of robust and maintainable software.

What you need for this book


Java SDK 1.8 is needed for the functional programming examples encountered in the
book. Some of the examples use NetBeans 8.02 and Eclipse IDE for Java developers,
Mars Release Version 4.5.0.

Who this book is for


This book is for developers who are already proficient in Java and want to learn how
to use the functional programming features of Java 8. Familiarity with basic Java
object-oriented programming concepts is all that is needed. You will learn how to
apply lambda expressions and other functional programming techniques to create
a more elegant and maintainable code.

Conventions
In this book, you will find a number of text styles that distinguish between different
kinds of information. Here are some examples of these styles and an explanation of
their meaning.

[ viii ]
Preface

Code words in text are shown are follows: "As you may remember, the forEach
method accepts a lambda expression which matches the Consumer interface's
accept method."

A block of code is shown as follows:


list.forEach(new Consumer<String>() {
@Override
public void accept(String t) {
System.out.println(t);
}
});

The output of code sequences is formatted as shown here:


Starting FPS Game
Generating FPS Image
Rendering FPS Image
Updating FPS Game

New terms and important words are shown in bold. Words that you see on the screen,
for example, in menus or dialog boxes, appear in the text like this: "There is the text
form as entered by the user such as: drop Axe."

Warnings or important notes appear in a box like this.

Tips and tricks appear like this.

Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this book—what you liked or disliked. Reader feedback is important for us as it
helps us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail feedback@packtpub.com, and mention


the book's title in the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing
or contributing to a book, see our author guide at www.packtpub.com/authors.

[ ix ]
Preface

Customer support
Now that you are the proud owner of a Packt book, we have a number of things
to help you to get the most from your purchase.

Downloading the example code


You can download the example code files from your account at http://www.
packtpub.com for all the Packt Publishing books you have purchased. If you
purchased this book elsewhere, you can visit http://www.packtpub.com/support
and register to have the files e-mailed directly to you.

Errata
Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you find a mistake in one of our books—maybe a mistake in the text or
the code—we would be grateful if you could report this to us. By doing so, you can
save other readers from frustration and help us improve subsequent versions of this
book. If you find any errata, please report them by visiting http://www.packtpub.
com/submit-errata, selecting your book, clicking on the Errata Submission Form
link, and entering the details of your errata. Once your errata are verified, your
submission will be accepted and the errata will be uploaded to our website or
added to any list of existing errata under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/


content/support and enter the name of the book in the search field. The required
information will appear under the Errata section.

Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all
media. At Packt, we take the protection of our copyright and licenses very seriously.
If you come across any illegal copies of our works in any form on the Internet, please
provide us with the location address or website name immediately so that we can
pursue a remedy.

Please contact us at copyright@packtpub.com with a link to the suspected


pirated material.

We appreciate your help in protecting our authors and our ability to bring you
valuable content.

[x]
Preface

Questions
If you have a problem with any aspect of this book, you can contact us at
questions@packtpub.com, and we will do our best to address the problem.

[ xi ]
Getting Started with
Functional Programming
Functional programming languages have been used successfully for decades and
present a different and often more elegant way of expressing the program logic.
Functional languages, such as Lisp, Clojure, or Haskell, incorporate techniques that
may seem odd and hard to follow by programmers who are used to imperative
programming techniques.

A language such as Java, while not initially developed with a functional orientation,
can incorporate functional techniques. This is the major change to the language
made with the release of Java 8. Java now incorporates imperative, procedural,
object-oriented, and functional techniques.

It is possible to write a non-object-oriented program in Java. Likewise, it is possible


to write a nonfunctional program in Java 8. The goal of this book is to enlighten the
reader to the nature of functional programming techniques and how to incorporate
these techniques in Java 8 applications.

We will start with a discussion of the attributes commonly associated with


functional programming. From there, we will examine the support, Java provides
for developing applications using a functional-style programming approach.

A predominant feature of functional programming languages is the use of functions.


The term, function, is generally understood to be:

• A way of expressing an algorithm


• A mathematical function
• Where the goal is to avoid state changes and mutable data

[1]
Getting Started with Functional Programming

In functional programming, applications are constructed using only pure functions.


A pure function is a function which does not have side effects. A side effect occurs
when a function does something else besides simply returning a value, such as
mutating a global variable or performing IO. In this chapter, we will examine the
major aspects of functional programming including:

• Functions and function composition


• Fluent interfaces
• Strict and non-strict evaluation
• Persistent data structures, monads, and the Optional class
• Recursion and parallelism

This is followed by the support Java 8 provides for functional programming, including:

• Lambda expressions
• Default methods
• Functional interface
• Method and constructor references
• Collections

In addition, to our discussion of functional programming support as provided by


Java 8, refactoring, debugging, and testing Java 8 code are also important topics,
which need to be addressed. These topics are covered in Chapter 8, Refactoring,
Debugging, and Testing.

So, let's begin with an overview of what constitutes the functional


programming approach.

Aspects of functional programming


Functions can be simple or complex, but simpler functions are preferred. The
function should ideally not change the state of memory or perform I/O, and
consequently work with immutable data. These later two concepts are explored
in Chapter 6, Optional and Monads.

There are several aspects of functional programming languages that we will


explore here. They include:

• Functions
• Function composition
• Fluent interfaces

[2]
Chapter 1

• Strict versus non-strict evaluation


• Parallelism
• Persistent data structures
• Recursion
• Optional and monads

Each of these concepts will be introduced in the following sections. We will explore
the nature of each concept, explain why it is important, and when practical provide
simple examples using Java.

Functions
Functions are the foundation of functional programming languages. They play a
central role in supporting other functional programming concepts. In this section,
we will introduce many of the terms used to describe functions including high-order,
first-class, and pure functions. The concepts of closure and currying will also
be explained.

First-class and high-order functions are associated with functional programming. A


first-class function is a computer science term. It refers to functions that can be used
anywhere a first-class entity can be used. A first-class entity includes elements such
as numbers and strings. They can be used as an argument to a function, returned
from a function, or assigned to a variable.

High-order functions depend upon the existence of first-class functions. They are
functions that either:

• Take a function as an argument


• Return a function

Java 8 has introduced the concept of lambda expressions to the language. These are
essentially anonymous functions that can be passed to and returned from functions.
They can also be assigned to a variable. The basic form of a lambda expression
follows where a parameter, such as x, is passed to the body of the function. The
lambda operator, ->, separates the parameter from the body. This function is
passed a value, which is multiplied by two and then returned, as follows:
x -> 2 * x

In this lambda expression, it is assumed that an integer is passed and that integer is
returned. However, the data type is not restricted to an integer as we will see later.
In the following lambda expression, an argument is passed and nothing is returned:
x->System.out.println(x)

[3]
Getting Started with Functional Programming

Lambda expressions must be used in the proper context. It would not be appropriate
to pass a lambda expression, which returns a value to a method, to a function that
cannot use the returned value.

We can use the previous expression in many places that expect a single value being
passed and nothing to be returned as shown next. In the following example, an array
of integers is converted to a list. The lambda expression is then used as an argument
to the List class's forEach method, which displays each element of the list. The
forEach method applies the lambda expression to each element in the list, avoiding
having to create an explicit loop to achieve the same effect:
Integer arr[] = {1,2,3,4,5};
List<Integer> list = Arrays.asList(arr);
list.forEach(x->System.out.println(x));

Downloading the example code


You can download the example code files from your account at
http://www.packtpub.com for all the Packt Publishing books
you have purchased. If you purchased this book elsewhere, you can
visit http://www.packtpub.com/support and register to have
the files e-mailed directly to you.

The output will list the numbers one to five on separate lines.

Changing a program's state is avoided in functional programming. Calling a function


with the same input values should result in the same behavior each time. This makes
it easier to understand the function. Imperative programming changes the state
using statements such as the assignment statement.

A pure function is a function that has no side effects. This means that memory
external to the function is not modified, IO is not performed, and no exceptions are
thrown. With a pure function, when it is called repeatedly with the same parameters,
it will return the same value. This is called referential transparency.

With referential transparency, it is permissible to modify local variables within the


function as this does not change the state of the program. Any changes are not seen
outside of the function.

Advantages of pure function include:

• The function can be called repeatedly with the same argument and get the
same results. This enables caching optimization (memorization).
• With no dependencies between multiple pure functions, they can be
reordered and performed in parallel. They are essentially thread safe.

[4]
Chapter 1

• Pure function enables lazy evaluation as discussed later in the Strict versus
non-strict evaluation section. This implies that the execution of the function
can be delayed and its results can be cached potentially improving the
performance of a program.
• If the result of a function is not used, then it can be removed since it does
not affect other operations.

There are several other terms associated with functions, such as the term closure.
This refers to a function passed around along with its environment. The environment
consists of the variables it uses. Java 8 supports a form of closure, and will be
illustrated in Chapter 2, Putting the Function in Functional Programming.

Currying is the process of evaluating multiple arguments of a function one-by-one,


producing intermediate results. In the process, we introduce a new function with
one less argument than the previous step. For example, let's start with this function:

f ( x, y ) = x + y

We can evaluate it for the value of 3 and 4 as follows, returning a result of 7:

f ( 3, 4 ) = 3 + 4

If we substitute 3 for x we get:

f ( 3, y ) = 3 + y

Next, if we define g(y) as:

g ( y) = 3 + y

Then, the following is also true:

f ( 3, y ) = g ( y ) = 3 + y

We reduced the number of arguments from two to one. Using a value of 4 for
y yields the original result of 7. The process of currying, and partially applying
functions, permit high-order functions to be used more effectively. This will
become clearer in Chapter 2, Putting the Function in Functional Programming.

[5]
Getting Started with Functional Programming

Function composition
Imperative programming places emphasis on a step-by-step process to implement
an application. This is typified by a logical set of steps where code is executed using
basic control constructs and is often encapsulated in functions or procedures.

Functional programming places more emphasis on how these functions are arranged
and combined. It is this composition of functions, which typifies a functional style of
programming. Functions are not only used to organize the execution process, but are
also passed and returned from functions. Often data and the functions acting on the
data are passed together promoting more capable and expressive programs.

We will illustrate this technique using the Function interface as defined in the java.
util.function package. This interface possesses a compose and andThen methods.
Both of these methods return a composed function.

The compose method will execute the function passed to it first, and then uses its
result with the function the compose method is executed against. The andThen
method will execute the first function and then execute the function passed as an
argument to the andThen method.

The next code sequence demonstrates the compose method, which is passed as a
function to take the absolute value of a number. The absThenNegate variable is
assigned a function that will also negate the number. This variable is declared as a
Function type, which means that the function assigned to it expects to be passed as
an integer and returns an integer.

This function will execute the argument of the compose method and the Math class's
abs method first, against some value, and then apply the negateExact method
to this result. In other words, it will take the absolute value of a number and then
negate it. Both of these methods are expressed as method references, which are new
to Java 8. A method reference consist of the class name followed by a set of double
colons, and then a method name providing a simpler form of method invocation:
Function<Integer,Integer>absThenNegate =
((Function<Integer,Integer>)Math::negateExact)
.compose(Math::abs);

This is illustrated with the following sequence. The Function interface's apply
method is used to invoke the composed function:
System.out.println(absThenNegate.apply(-25));
System.out.println(absThenNegate.apply(25));

[6]
Chapter 1

Both of these statements will display a -25. In the first statement, the absolute value
of a -25 is obtained and then negated. The second statement works the same way
except its argument is +25.

The negateThenAbs variable that follows, illustrates the andThen method. The
function used as an argument to the andThen method is applied after the first function
is executed. In this case, the negateExact method is executed first and then the abs
function is applied:
Function<Integer,Integer>negateThenAbs =
((Function<Integer,Integer>)Math::negateExact)
.andThen(Math::abs);
System.out.println(negateThenAbs.apply(-25));
System.out.println(negateThenAbs.apply(25));

The output of both display statements will be 25.

We could have obtained the same results with a series of imperative statements.
However, this does not result in as much flexibility as can be obtained using
function composition. The ability to pass functions will provide the enhanced
flexibility. We will postpone a detailed discussion of this approach until Chapter 3,
Function Composition and Fluent Interfaces.

Fluent interfaces
Fluent interfaces constitute a way of composing expressions that are easier to write
and understand. A fluent interface is often implemented using method chaining,
sometimes called method cascading, where the returned value is used again in the
same context.

In Java 8, the use of fluent interfaces is found in numerous places. We will illustrate
this style with an example using the new Date and Time API.

Suppose we want to calculate a new date that is 2 years in the future, minus 1 month
plus 3 days. We can use the following code sequence to achieve this result. The
LocalDate class's method now returns an instance of the LocalDate class representing
the current date. This date is the base for creating a new day called futureDate:
LocalDate today = LocalDate.now();
LocalDate futureDate = today.plusYears(2);
futureDate = futureDate.minusMonths(1);
futureDate = futureDate.plusDays(3);
System.out.println(today);
System.out.println(futureDate);

[7]
Getting Started with Functional Programming

This will generate the following output:


2015-03-22
2017-02-25

Contrast this with the next code sequence, which takes advantage of the APIs fluent
interface and produces the same output:
LocalDatefutureDate = LocalDate.now()
.plusYears(2)
.minusMonths(1)
.plusDays(3);

The code flow is easy to read and flows in a more natural way. You will see repeated
usage of fluent interfaces in the book. Streams use this approach consistently.

Strict versus non-strict evaluation


Functional languages can be classified as either using strict or non-strict evaluation
of expressions. With strict evaluation, sometimes called eager evaluation, the
expressions are evaluated as they are encountered.

With non-strict evaluation, they are not evaluated until necessary. Non-strict
evaluation is sometimes called lazy evaluation. However, these terms are not
always strict synonyms. Non-strict evaluation is concerned with the semantics of the
expression, while lazy evaluation deals more with how the expression is evaluated.

Lazy evaluation is supported using streams. A stream can be thought of as a series of


elements that flow like a river or stream. They add a convenient means of processing
data in an easy-to-use and natural manner. The stream concept is support in Java 8
with the Stream class.

In the following sequence, a stream is created by generating five random numbers,


sorting these numbers, and then displaying them:
Random random = new Random();
random.ints()
.limit(5)
.sorted()
.forEach(x->System.out.println(x));

[8]
Other documents randomly have
different content
— Le connaître !… A quoi bon ? Il faut laisser les morts dormir en
paix…
— Et pourtant, Bessy, jamais vous ne refusez de me parler de
maman… Seulement, quand il s’agit de mon père, vous ne voulez
plus me répondre…
— Je ne le voyais pas beaucoup, lady Lilian.
— Mais assez cependant pour être capable de me dire comment il
était…
— Un beau et brillant cavalier, certes, fit Bessy d’un étrange
accent, amer et violent.
Instinctivement, Lilian ferma les yeux, ainsi que l’on fait à
l’approche d’un coup inévitable. Puis elle se pencha vers la dévouée
créature, dont le visage s’était creusé sous la force d’une émotion
secrète et lui demanda du même ton très bas :
— Bessy, ma chère Bessy, dites-moi, est-ce à cause de… de lui
que maman a été si malheureuse ?
— Oui, fit la vieille femme frémissante.
Cette brusque évocation du passé la prenait par surprise, ne lui
laissant pas la faculté de calculer ses paroles ; et les jours d’autrefois
se dressaient tout à coup dans son souvenir, l’emportant, dans le
mystère de leur résurrection soudaine, jusqu’à lui faire oublier à qui
elle parlait. En ce moment, elle ne songeait même plus à la présence
de Lilian… Tout haut, elle se rappelait ; et, pour elle seule, elle
acheva tout à coup, la voix sourde :
— Ah ! la pauvre jeune dame, l’a-t-il assez martyrisée, le
misérable, en dépit de sa jolie figure et de ses belles manières !… et
cependant, pour la tuer, il a fallu qu’il se soit déshonoré !
Un cri étouffé jaillit du cœur même de Lilian, rempli d’une
détresse si poignante que Bessy, rappelée à elle-même, la regarda,
avec une stupeur des paroles qui lui étaient échappées :
— O lady Lilian !… Qu’ai-je fait ! mon Dieu ! Pourquoi m’avez-vous
parlé de toutes ces choses !…
— Un jour ou l’autre, j’aurais toujours su, dit faiblement Lilian,
faisant un effort pour aspirer l’air qui lui manquait. Elle n’entrevit
même pas la possibilité de douter. Le souffle de la vérité l’avait
frappée au visage, la pénétrant jusqu’au plus intime de l’âme. Alors,
saisie d’une sorte de besoin âpre d’épuiser toute sa souffrance, de
connaître en entier l’affreuse vérité, elle reprit presque impérieuse,
insensible à sa propre angoisse… :
— Vous dites que… que mon… père s’est déshonoré… Comment ?
je veux savoir… N’essayez pas de me rien cacher… Ce serait pire que
tout maintenant…
Son jeune visage était devenu d’une blancheur de cire ; et le nom
de Robert, monté à sa pensée, la fit tressaillir comme une brûlure.
Mais Bessy ne remarqua rien, bouleversée par l’émotion et
subjuguée par cette soif de tout apprendre qu’elle sentait en Lilian.
— Il jouait, reprit-elle d’une voix basse comme elle eût parlé en
rêve, courbée machinalement vers son ouvrage… Il jouait tellement
qu’il s’est ruiné ! Tout y a passé jusqu’à son dernier, penny… Puis la
fortune de Madame a eu le même sort que la sienne. Et, malgré
cela, il a voulu continuer à jouer…
— Alors ?… questionna Lilian, l’accent impératif, les yeux
agrandis, brûlants de fièvre.
— Alors… ô ma petite fille ! pourquoi m’interrogez-vous ?… Alors
sont venues les heures terribles… Il n’avait plus d’argent… Il s’est
mis à s’en procurer par… tous les moyens, et, pour finir, il a fait de
fausses signatures. Un jour, tout s’est découvert… les tribunaux s’en
sont mêlés et…
— Et il a été condamné, acheva Lilian avec l’impression que tout
croulait autour d’elle. Instinctivement, elle étendit les mains en avant
comme pour se rattacher à un appui. Mais le vide était autour d’elle,
de même que dans sa jeune âme éperdue.
— Oui, il a été durement condamné, fit Bessy courbant encore sa
tête blanche.
Lilian serra l’une contre l’autre ses deux mains d’un geste d’infinie
souffrance et interrogea une dernière fois, d’une voix sans timbre, le
regard rempli d’épouvante :
— Où est-il maintenant ?…
— Il est mort il y a bientôt six ans… Déjà, depuis longtemps, sa
pauvre femme avait fini de souffrir, et vous étiez auprès de lady
Evans.
— Ainsi, tout le monde, en Angleterre, connaît cette horrible
histoire, tous ceux que je vois savent ou peuvent apprendre qui je
suis…
Elle s’interrompit, incapable de continuer. Elle avait la sensation
que, vers elle, montait un flot d’humiliation, où elle allait s’abîmer
sans espoir, emportée loin de Robert Noris qu’elle ne reverrait plus
jamais, jamais !
— Ne croyez pas, Lilian, ma chère petite enfant, que l’on se
souvienne encore de ces tristes événements… Il y a des années
qu’ils se sont passés… Et puis vous portez le nom de votre tante !
finit Bessy, dont le visage était inondé de larmes.
— Oui, c’est vrai, dit Lilian frissonnante… Jusqu’ici j’avais toujours
cru que tante Katie me l’avait fait prendre par affection, mais
maintenant je comprends… je comprends tout !
Oh oui ! elle comprenait, la pauvre enfant, pourquoi, le matin
même, lady Evans était devenue pensive en apprenant la demande
de Robert Noris… Et un besoin fou l’envahissait de se débattre, de se
révolter contre le malheur qui la saisissait à l’heure où elle était le
plus heureuse, de se répéter à elle-même jusqu’au moment où elle
en serait convaincue, qu’elle avait fait un rêve affreux ou que Bessy
s’était trompée.
Pourtant elle gardait un calme effrayant, droite devant la vieille
Bessy qui la considérait d’un air de détresse, et elle dit seulement
d’une voix plaintive :
— Laissez-moi maintenant…
— O lady Lilian, pourquoi ai-je parlé ?… Pourquoi m’avez-vous
interrogée ainsi tout à coup ?…
— Un jour ou l’autre, j’aurais toujours su, Bessy, répéta-t-elle
encore. Laissez-moi… Je veux être seule !
Et son accent était tout ensemble si absolu et si douloureux que,
lentement, la pauvre femme sortit sans oser ajouter un mot.
Lilian l’avait regardée partir, rassemblant toute sa force pour ne
point trahir la souffrance qui l’écrasait. Mais, quand elle fut seule,
elle tomba épuisée sur un fauteuil, cacha son visage dans ses mains
et un gémissement sourd lui échappa.
— Mon Dieu, mon Dieu, c’est trop cruel ! Être séparée de lui !
Ainsi il ne l’avait pas trompée, cet obscur pressentiment qui
l’avait poussée à questionner Bessy… Maintenant que l’entière clarté
s’était faite, elle se rappelait mille incidents, des mots qui, jadis,
étaient tombés, dépourvus de sens, dans son oreille et dont, à cette
heure, elle ne saisissait que trop la signification… Chaque minute qui
s’écoulait apportait à son souvenir une nouvelle preuve de la véracité
de Bessy. Vainement, désormais, elle eût voulu douter… Ah !
pourquoi, pourquoi avait-elle entendu l’affreuse révélation qui la
séparait irrévocablement de Robert Noris !… Sans hésitation, sans
pitié pour elle-même, elle jugeait qu’elle ne pouvait plus se
considérer comme sa fiancée. Il avait voulu faire sa femme de la
nièce de lady Evans, de la descendante d’une vieille famille honorée
et respectée ; mais non de la fille d’un homme publiquement flétri…
Toute union entre eux était devenue impossible, impossible,
impossible !…
Un frisson l’ébranla tout entière à la seule idée qu’il pourrait
apprendre la vérité… Oh ! cela, elle n’aurait pas la force de le
supporter ; de voir rejaillir sur elle quelque chose du mépris qu’il
éprouverait pour… son père… N’était-il pas aussi fier qu’elle-même,
— qu’elle avait été du moins ! — Elle se souvenait bien, tout à coup,
en quels termes elle l’avait entendu un jour parler d’un homme qui
avait lâchement failli… A tout prix, il fallait qu’il continuât d’ignorer le
cruel secret… La première, elle devait amener entre eux une rupture
désormais inévitable… Mieux valait n’importe quelle souffrance plutôt
que celle de le voir se détourner d’elle. Partir, il fallait partir avant
qu’il revînt ; car s’il l’interrogeait, elle serait incapable de se dérober
à la double question de ses lèvres et de son regard !… Mais quelle
raison, quel prétexte donner pour qu’il ne songeât point à la
suivre ?…
Dans son esprit surexcité, rempli de fièvre, les idées
tourbillonnaient ; une seule demeurait claire, obsédante et très
nette : empêcher Robert d’apprendre la vérité… Tout à coup, un
moyen sûr lui apparut de l’éloigner d’elle ; et incapable de raisonner,
emportée par l’élan d’un irrésistible désespoir, elle écrivit :
« Vous souvenez-vous qu’une fois, — nous étions dans la
montagne, — vous m’avez reproché d’être trop fière ? Vous aviez
raison, je le savais ; je le sais plus encore aujourd’hui. Ce matin, je
vous ai cru quand vous m’avez dit que vous ne vous intéressiez plus
à moi seulement par curiosité… Maintenant je n’ai plus foi et je sens
que ma confiance est bien morte. Désormais, quand je vous verrais
auprès de moi, je ne pourrais m’empêcher de penser que vous
m’observez afin de prendre des notes pour vos romans… Nous nous
sommes trompés l’un sur l’autre… Mieux vaut nous séparer dès
maintenant. Une grave et subite raison nous oblige à partir avant
votre retour. Il est bien qu’il en soit ainsi… Adieu, pardonnez-moi et
oubliez-moi… Je vous jure que j’agis en ce moment comme je crois
devoir le faire. »
— Est-ce que je vais signer le mensonge que je viens d’écrire ?
pensa-t-elle avec une sorte d’horreur.
Pourtant elle se pencha encore vers la table et traça le nom que,
le matin même, il lui donnait : Lilian. Puis elle mit l’adresse. La
même crainte affolante l’emportait qu’il en arrivât à la mépriser, s’il
savait… Et cette impression était si forte que, fiévreusement, elle
sortit de sa chambre pour jeter la lettre dans la boîte de l’hôtel, afin
que la distance fût tout de suite établie entre eux. Mais, quand elle
revint, cette énergie factice l’avait abandonnée. Anéantie, sans force,
elle se jeta sur son lit…
Au dehors, elle apercevait le paysage lumineux qu’elle avait tant
aimé à contempler, le ciel empourpré vers le couchant, puis nuancé
de tons exquis très doux, gris de perle, mauves, vert pâle ; au loin,
elle distinguait les crêtes neigeuses, à cette heure teintées de rose ;
et, plus près, les massifs fleuris du parc, la terrasse où, le matin
même, il lui avait dit qu’il l’aimait. Rien n’avait changé autour d’elle ;
rien ne portait la trace du déchirement qui venait de s’accomplir
dans sa jeune vie. Alors elle ferma les yeux pour ne plus voir,
meurtrie plus encore par cette sereine indifférence des choses…
Dans l’hôtel, à chaque instant, des pas retentissaient. Le moment
du dîner approchait, les femmes regagnaient leurs appartements.
Qu’auraient-ils dit tous ces étrangers, — et Mme de Vianne la
première, — s’ils avaient su quel était le père de Lilian Evans, ou
plutôt de Lilian Vincey ? Mais ils ne sauraient pas ! Demain à cette
même heure, elle serait loin, n’importe où, dans quelque village
perdu de la montagne, là où elle serait sûre que personne ne
viendrait la retrouver… pas même lui !… Ah ! comme elle comprenait
maintenant que sa pauvre mère eût succombé sous le poids d’une
souffrance dont elle devinait l’incessante torture.
— Oh ! pourquoi ne suis-je pas morte, ce matin, quand j’étais si
heureuse ! murmura-t-elle dans une plainte désespérée, répétant le
cri de suprême angoisse que tant d’autres créatures, atteintes en
pleine joie, avaient proféré avant elle.
La porte de sa chambre s’ouvrant tout à coup lui fit à peine
soulever les paupières. Sur le seuil de la pièce apparaissait lady
Evans encore habillée de ses vêtements de sortie. Elle tressaillit à la
vue de Lilian étendue toute blanche sur le lit :
— Lilian, chérie, qu’y a-t-il ?
L’enfant se redressa et serra ses doigts minces les uns contre les
autres. Elle ne pleurait toujours pas ; seulement, ses yeux bleus
semblaient devenus immenses dans l’altération de son visage
souffrant.
— Oh ! tante ! tante ! fit-elle passionnément, je comprends
maintenant pourquoi… le mariage dont je vous ai parlé ce matin
vous paraissait impossible… Ah ! vous aviez raison… trop raison !
— Lilian, mon enfant chérie, que vous est-il arrivé ? questionna
avidement lady Evans, effrayée de l’accent désolé de cette voix
qu’elle avait entendue si joyeuse quelques heures auparavant. Avez-
vous reçu de mauvaises nouvelles de M. Noris ?
Lilian se souleva un peu de nouveau sur son oreiller, les yeux
perdus dans ceux de lady Evans.
— Non, je ne sais rien de… de lui… Mais tantôt, j’étais
tourmentée, inquiète, parce que j’avais deviné que vous voyiez un
obstacle à… mon bonheur. Alors j’ai questionné Bessy, et, sans le
vouloir, la pauvre femme ! elle m’a appris toute l’histoire du passé.
Oh ! tante, c’est horrible !
— Elle vous a appris… Comment a-t-elle osé ?
— Qu’importe !… Aujourd’hui ou plus tard, la vérité devait
toujours m’être révélée, murmura Lilian du même ton brisé.
Lady Evans la serra contre elle. L’émotion l’étouffait.
— Mon enfant chérie, dit-elle tout bas, ne vous découragez pas
ainsi. Tout n’est pas perdu. Si M. Noris vous aime réellement, il
songera que vous n’êtes point responsable des actes de votre père,
et il les oubliera par tendresse pour vous…
Lilian secoua la tête d’un mouvement de révolte :
— Oh ! je ne veux pas qu’il sache la vérité… Je ne le veux pas. Je
ne pourrais me résigner à être dédaignée par lui ou épousée par
pitié… Et puis, dès qu’il s’agit de questions d’honneur, les hommes
n’ont plus le droit d’hésiter… Je ne veux pas mettre à l’épreuve
l’affection qu’il a pour moi… Oh ! tante, emmenez-moi avant qu’il soit
de retour !…
Lady Evans enlaça l’enfant plus étroitement encore ; elle sentait
qu’à cette heure rien ne pourrait apaiser son infinie détresse.
— Oui, nous partirons, ma bien-aimée… Nous ne verrons M. Noris
que quand vous le voudrez. Calmez-vous…
Et, pareils à des baisers de mère, les baisers de lady Evans
couvrirent le pauvre petit visage inondé de larmes tout à coup.
VI

Le vapeur filait rapidement vers Vevey, et Robert Noris arpentait


le pont, impatient de voir apparaître la petite ville que voilait un
brouillard léger.
Il venait d’obtenir, à Genève, un éclatant succès d’orateur. Jamais
il ne s’était montré plus original, plus charmeur, plus captivant ;
jamais sa pensée n’avait été plus haute, soudain dégagée du
pessimisme railleur dont elle était d’ordinaire attristée. Un vrai
triomphe ! reconnaissaient ses critiques mêmes, triomphe devant
lequel il était resté distrait et indifférent, tant l’unique intérêt de son
existence était ailleurs concentré.
Rien mieux que cette séparation de quelques jours ne lui eût
montré quelle place Lilian occupait maintenant dans sa vie ; et lui-
même tressaillait en y songeant, tandis que, debout sur le pont, il
regardait fuir l’eau mouvante. A n’en pouvoir douter, il savait
désormais que ce n’était pas un attrait fugitif qui l’entraînait vers
cette enfant.
Encore quelques instants, et il allait donc retrouver la caresse de
ses prunelles sombres, sentir vibrer son âme jeune, entendre sa voix
tout ensemble grave et fraîche qui avait prononcé pour lui tant de
consolantes paroles.
Telle qu’il la connaissait, il espérait presque la trouver tout à
l’heure, sur le quai, pour l’arrivée du vapeur.
— Vevey, Vevey — grand hôtel ! Vevey ! répéta le capitaine.
Le bateau stoppait. Les yeux chercheurs de Robert coururent sur
les groupes qui stationnaient au débarcadère ; mais ils n’aperçurent
point la silhouette élégante et jeune de Lilian, et ne rencontrèrent
point son regard brillant sous le petit chapeau masculin. Rien que
des visages étrangers ou indifférents autour de lui ; et, à
l’imperceptible sensation du froid qu’il en éprouva au cœur, il comprit
à quel point il avait espéré la voir dès la première minute de son
retour à Vevey.
Il regarda l’heure ; le bateau avait du retard. Quand il allait
arriver à l’hôtel, elle serait au dîner de table d’hôte et il ne pourrait
l’aborder qu’au milieu d’un monde curieux… Mais enfin il la verrait.
— Lady Evans est encore dans la salle à manger ?
Ce fut sa première question, quand il pénétra dans le hall
brillamment éclairé.
— Lady Evans ?… Mais madame et mademoiselle sont parties,
monsieur.
— Parties ?… vous dites parties ?
— Oui, Monsieur, hier matin même, par le premier train.
Robert, d’un geste machinal, passa la main sur son front avec
l’idée qu’il ne comprenait pas les paroles qui lui étaient adressées.
— Elles sont allées en excursion ?… Elles vont revenir ? insista-t-il.
— Oh ! je ne pense pas, monsieur. Lady Evans a dit que l’on
pouvait disposer de son appartement et tous les bagages ont été
emportés.
Et il ajouta, dominé par cette volonté de savoir qu’il sentait en
Robert Noris :
— Ces dames ont, parait-il, reçu des lettres qui les rappelaient
subitement en Angleterre.
Robert eut un léger signe de tête, et une sorte de sourire étrange
effleura sa bouche à la pensée qu’il en était à solliciter les
renseignements d’un domestique sur sa fiancée. Par un suprême
effort de volonté, il parvint à rester absolument maître de lui et dit,
la voix presque indifférente et calme :
— Vous aurez l’obligeance de me donner l’adresse actuelle de
lady Evans.
— Nous ne l’avons pas, monsieur ; lady Evans ne nous l’a pas
laissée ; et nous avons même ici plusieurs lettres pour elle que nous
ne savons où lui renvoyer.
— Des lettres ! fit Robert, songeant à celle qu’il avait écrite à lady
Evans. Ne l’avait-elle pas vue ?
Et d’un accent si impératif que le domestique n’osa répliquer, il
ajouta :
— Montrez-moi ces lettres. Il en est une que j’ai adressée de
Genève à lady Evans, et j’ai besoin de savoir si elle l’a reçue avant
son départ.
L’homme obéit et, parmi les enveloppes qu’il rapporta bientôt,
d’un coup d’œil, Robert distingua celle qui venait de lui… Ainsi lady
Evans n’avait pas eu connaissance de la demande qu’il lui adressait !
Un ébranlement secoua ses nerfs ; il prit le papier cacheté, et du
même ton bref et absolu qui rendait toute observation impossible, il
dit au domestique :
— Cette lettre est de moi. Je la ferai parvenir moi-même à lady
Evans, dès que je saurai où la lui adresser.
Et d’un pas lent, il monta dans sa chambre.
Lilian partie ! tandis qu’il était absent, sans un mot pour lui dire
où elle se rendait !… Mais, après tout, était-ce bien sans un mot
qu’elle était partie ? Dans son appartement, sans doute, il allait
trouver un billet d’explication… Comment n’avait-il pas
immédiatement pensé à cette probabilité si évidente…
Et il avait bien deviné ; au-dessus même des lettres et des
journaux arrivés en son absence et amassés sur son bureau, s’étalait
une enveloppe sur laquelle une écriture anglaise avait tracé son nom
en caractères rapides qu’on eût dits pleins de fièvre : l’écriture de
Lilian. Il déchira le cachet et lut… une fois, puis deux, puis une
troisième encore, et à demi-voix, il répéta lentement d’un accent
monotone et distinct certains mots du billet : « Je n’ai plus
confiance… Nous nous sommes trompés l’un sur l’autre… Mieux vaut
nous séparer… »
C’était elle, Lilian, qui avait écrit ces lignes… Mais c’était
impossible, impossible !… Il lisait mal ! il ne comprenait pas ! Il était
fou de croire à de semblables paroles !
Et pourtant ?… Il reconnaissait bien là son écriture, haute et
droite, — moins qu’à l’ordinaire cependant ! — sa signature « Lilian »,
avec cette seule différence qu’aujourd’hui un trait dur, écrasé,
finissait le dernier caractère du nom ! Quelqu’un lui avait dicté cette
lettre froide et cruelle, la lui avait imposée, mais elle ne l’avait pas
pensée, elle qui, trois jours plus tôt, répondait, vibrante d’émotion, à
la prière humble et suppliante qu’il lui adressait de devenir sa
femme.
Qu’avait-il pu survenir ?… Était-il vrai, ce rappel subit en
Angleterre !… Ou bien lady Evans, s’opposant pour un motif
quelconque au mariage de Lilian avec lui, avait-elle emmené la jeune
fille ?… Mais comment croire cela ?… Lilian était ferme et loyale
autant qu’un homme eût pu l’être. Elle ne se fût pas laissé entraîner
ainsi, après sa parole donnée. Alors c’était librement qu’elle était
partie ?… Quelqu’un avait-il donc entrepris de les séparer, de la lui
enlever ?… Isabelle, peut-être ?
Violemment, il sonna et demanda :
— Mme de Vianne est-elle de retour ?
— Non, monsieur, Mme la comtesse de Vianne est encore
absente. Elle a seulement annoncé son arrivée pour ce soir ou
demain matin.
— Et elle n’est pas revenue à l’hôtel depuis trois jours ?
— Non, monsieur, fit encore le domestique, qui, tout en gardant
une tenue respectueuse, considérait Robert avec surprise.
— C’est bien, merci. Vous pouvez vous retirer.
Fiévreusement, il se prit à marcher dans sa chambre, l’âme
étreinte par le mystère de ce départ. Un fait existait, défiant toute
discussion. Lilian lui avait promis de devenir sienne, et le lendemain
même, pendant qu’il était absent, elle s’était éloignée après lui avoir
rendu sa parole ! Pourquoi ?… C’était ce pourquoi qui lui torturait
l’esprit, surexcitant ses nerfs et sa pensée, devant l’impossibilité
d’obtenir une réponse… L’un après l’autre, les instants s’enfuyaient ;
il songeait toujours et un déchirement sourd lui meurtrissait l’âme,
car un doute lui venait, pénétrant peu à peu son esprit.
Tout d’abord, il avait cru impossible que l’étrange lettre de Lilian
fût l’expression de la vérité. Mais, en définitive, pourquoi refusait-il
d’admettre l’évidence ? Avec sa nature loyale et fière, Lilian avait dû
être profondément atteinte par les révélations d’Isabelle. Il avait cru
avoir cicatrisé cette blessure ; mais leur dernier entretien avait été si
court ! Comment pouvait-il être certain qu’en écoutant sa prière, elle
n’avait pas voulu seulement mettre un baume sur le coup reçu par
sa fierté… Si elle l’avait aimé, eût-elle disparu ainsi ; n’eût-elle pas
oublié sa dignité froissée, elle qui était d’âme si tendre ?…
Et la conclusion de l’analyse qu’il poursuivait âprement s’imposait
à lui dans sa cruelle évidence. Lilian Evans avait été flattée, dans son
orgueil féminin, de l’attention que lui montrait un homme qui n’était
pas, à ses yeux, le premier venu : elle ne l’avait pas aimé… Il en eut
soudain la pensée décevante. La foi qu’il s’était obstiné à conserver
en elle croulait, et son scepticisme des mauvais jours renaissait,
reprenant l’œuvre de destruction.
Ah ! toutes les femmes étaient bien pareilles, des êtres pétris de
vanité, même celles qui paraissaient les plus franches, même celles
qui semblaient posséder des âmes fraîches de petite fille. Et lui qui,
par métier, savait cela, qui les avait étudiées et jugées avec une
pénétration implacable, il s’était laissé prendre comme le plus naïf et
le plus inexpérimenté des hommes. Il avait donné à cette enfant un
amour qu’il n’avait jamais offert à aucune femme ; pour nulle autre,
il n’avait éprouvé ce respect profond, cette soif de se dévouer, cette
crainte de prononcer un mot qui pût blesser une illusion ou un
sentiment…
— Et maintenant, il ne me reste plus qu’à l’oublier, fit-il avec un
hautain mouvement d’épaules… Avec du temps et de la volonté, j’y
arriverai bien…
Sur sa table de travail, il aperçut, enfermée dans son enveloppe,
la lettre qu’il avait écrite à Genève pour lady Evans ; et une
contraction douloureuse crispa sa bouche. Il prit le papier qui avait
enfermé l’expression profonde de tout son espoir, le déchira, en
alluma les débris à la flamme tremblante d’une bougie et, au hasard,
jeta, dans la nuit, les cendres mortes… Puis il revint vers son
bureau… Le travail seul était capable d’engourdir un peu cette âpre
douleur qu’il éprouvait ; rassemblant toute sa volonté, il s’assit,
résolu à écrire ; mais c’était son propre cœur qu’il scrutait,
l’interrogeant sans pitié, l’obligeant à confesser le découragement,
l’amertume affreuse dont il était envahi.
Vainement aussi, il s’efforçait d’oublier Lilian telle qui l’avait
connue. Il la revoyait durant les promenades, alors qu’elle marchait
auprès de lui de son pas vif, léger comme un vol d’oiseau ; il la
revoyait, grave et recueillie, dans la petite église de Vevey ; puis,
dans le salon de l’hôtel, assise à sa place favorite, près d’une
fenêtre, sa tête blonde un peu levée vers lui, l’interrogeant de son
regard charmant. Mais surtout, avec une ténacité obsédante, il
l’apercevait au château des Crêtes, un peu penchée sur la balustrade
de la terrasse, une gerbe de fleurs sous ses mains dégantées, la
lumière avivant sa fraîcheur éblouissante, ses lèvres chaudes
entr’ouvertes sur les dents laiteuses. Il se rappelait tous les détails
de sa toilette ce jour-là, même les plus insignifiants : la blouse rose
pâle qui emprisonnait son buste souple, le ruban de satin blanc noué
autour de la taille, les souliers de cuir fauve cambrés sous la jupe
bleu sombre. Quel désir fou il avait eu alors de lui dire à quel point
elle lui était devenue chère !…
Là, dans son bureau, il avait, soigneusement enfermés, les
feuillets qui composaient le « livre de Lilian » ; et tout à coup, il se
leva, prêt à les réduire en cendres comme la lettre. Mais il s’arrêta
avec un sourire de suprême ironie…
— Ce serait un crime, murmura-t-il, de brûler des documents si
précieux !…
Et il se remit à écrire…
Le lendemain, le domestique, entrant dans sa chambre, l’avertit
que Mme de Vianne venait d’arriver. Voir Isabelle ?… Il le pouvait
maintenant. A quoi bon ? Qu’était pour lui Lilian désormais ? Toute la
nuit n’avait-il pas été dominé par la résolution de respecter la
distance qu’elle avait mise entre eux ?… Et pourtant quel besoin
ardent s’agitait sourdement en lui d’interroger Isabelle au sujet de la
jeune fille !
— Je l’aime toujours autant ! dit-il à demi-voix, considérant
fixement dans la glace son visage altéré par les émotions de la nuit,
et je ne songe qu’à acquérir la preuve que sa lettre ne contenait pas
la vérité entière !
Avec une impatience nerveuse qu’il ne se dissimulait pas, il
attendit l’heure où il lui serait possible de se présenter chez la jeune
femme. Chose étrange, on eût dit qu’elle prévoyait cette visite et
avait tenu à se montrer à lui, une fois de plus, aussi belle qu’elle
savait l’être. Quand il entra, elle était debout devant la cheminée,
arrangeant des gerbes de roses, drapée dans une sorte de
déshabillé de crêpe de Chine jaune pâle ; une ceinture byzantine
retenait à demi les plis souples autour de la taille, et les bras
admirables se dégageaient de l’ampleur des manches ourlées de
fines broderies.
Mais si elle avait espéré charmer ainsi Robert, elle dut être bien
trompée dans son attente. Il ne parut point remarquer l’éclatante
beauté de la jeune femme et serra d’un geste distrait, tout en
s’informant de son voyage, la main qu’elle lui tendait.
— Il a été excellent, je vous remercie. Je suis revenue par
Lausanne avec les de Moussy ; nous avons couché à Beau-Rivage ;
ce matin, j’ai repris le vapeur, et me voici de nouveau débarquée à
Vevey…, où m’attendaient toute sorte de nouvelles intéressantes !…
— Vraiment ?
Aussi clairement que s’il eût pénétré dans la pensée même de la
jeune femme, Robert savait qu’elle allait lui parler de Lilian.
— Tout d’abord, la disparition de vos… amies Evans.
Elle s’était un peu arrêtée avant de prononcer le mot « amies »,
et elle l’avait dit ensuite d’une façon dédaigneuse qui en faisait une
véritable insolence. Il sentit l’attaque, et sa voix devint brève et
froide :
— J’ai, en effet, appris hier soir, en arrivant ici, que lady Evans et
sa nièce n’étaient plus à Vevey.
— Et vous avez été surpris, désolé de ce départ ?… Voyons,
avouez-le ! dit-elle, la bouche railleuse et souriante, se renversant un
peu dans son fauteuil… Vous m’aviez l’air, en votre qualité d’homme
illustre, de vous trouver fort avant dans la faveur de ces dames.
Il dédaigna de relever le propos, et dit lentement :
— J’ai, comme vous le devinez très bien, été fort surpris…
— En vérité ?… Eh bien, moi, je ne l’ai pas été du tout !
— Parce que vous étiez au courant des projets de lady Evans ?
— Moi ?… Mon cher ami, vous rêvez, j’imagine. A quel propos
aurais-je reçu les confidences de lady Evans ?
Elle souriait toujours, d’une sorte de sourire triomphant ; et, entre
ses lèvres pourpres, ses petites dents avaient l’air prêtes à mordre.
Robert n’avait plus désormais l’ombre d’un doute, Isabelle
connaissait le motif qui avait éloigné Liban de lui.
— Isabelle, reprit-il, je vous prie de croire que je n’ai nulle
intention de vous froisser ou de vous offenser…, mettez le mot qui
vous conviendra…, en vous adressant une question ; mais j’ai besoin
de savoir si, depuis le moment où j’ai quitté Vevey, vous avez parlé,
écrit ou fait écrire à miss Lilian ou à lady Evans elle-même.
Une faible rougeur courut sur la peau mate de Mme de Vianne.
— Mon Dieu ! quel ton solennel pour peu de chose. Vous faut-il
un serment ?… Je vous jure que je n’ai ni parlé ni écrit à l’une des
deux personnes auxquelles vous vous intéressez si
particulièrement… Et maintenant que vous êtes tranquillisé sur ce
point, voulez-vous me permettre de vous dire que je suis, sinon
offensée, grâce à vos précautions oratoires, du moins peu flattée de
voir à quel degré vous redoutez de me voir approcher votre jeune
amie… Car j’imagine qu’elle seule vous occupe réellement.
Il regarda la jeune femme bien en face ; il devinait en elle,
désormais, une ennemie sans pitié… En d’autres temps, il eût trouvé
curieux de suivre les évolutions de cette âme féminine, mais il ne
songeait plus à la psychologie durant cette heure suprême de sa vie.
La voix dure, il demanda :
— Ne pensez-vous pas, Isabelle, que j’aie quelque droit de
craindre les entretiens que vous pourriez avoir avec miss Lilian ?
Elle se redressa, le bravant d’un sourire insolent :
— Pourquoi ?… Parce que, l’autre soir, j’ai eu la charité d’avertir
cette petite fille du rôle que vous lui faisiez jouer… Il était temps ;
elle prenait au sérieux vos attentions et était en passe de croire
que…
— Que je l’aimais, n’est-ce pas ? Elle ne se trompait pas, Isabelle ;
il n’y a maintenant personne au monde qui me soit cher comme elle.
Et il disait vrai. A cette heure encore, toute son âme appartenait
à Lilian. La jeune femme devint très pâle, et une expression cruelle
contracta son visage.
En vérité, c’est une si grande passion ?… Mon cher Robert, je
crois que vous perdez votre temps… Miss Lilian est, ce me semble,
une honnête fille !
— Isabelle ! fit-il avec un tel accent de colère qu’une seconde elle
eut peur du résultat de sa méchanceté.
Mais il se contint, et, hautain, presque menaçant, il continua :
— Une fois pour toutes, je vous avertis que jamais je ne
supporterai d’entendre insulter Mlle Evans comme vous vous
permettez de le faire, et cela, parce que, le jour où elle le voudra,
elle sera ma femme.
Isabelle eut un éclat de rire sec, cinglant ; mais, sur ses joues
sans couleur, les cils s’agitaient dans un battement éperdu.
— Ainsi vous voilà prêt à épouser miss Lilian ?… Rien ne pouvait
vraiment lui arriver de meilleur ? Si j’avais la moindre vengeance à
tirer de vous, mon cher cousin, je pourrais m’estimer satisfaite plus
que je n’eusse osé l’espérer… Et il se trouve que votre… fiancée a
disparu dès que vous l’avez eu quittée !…
Les yeux étincelants, elle le contemplait, la bouche railleuse et
méchante… Elle sentait la curiosité douloureuse de cet homme
qu’elle haïssait maintenant autant qu’elle avait été prête à l’aimer.
Quand elle avait appris le départ de Lilian, elle avait espéré que le
charme serait rompu, et qu’elle pourrait le reconquérir. Maintenant,
elle comprenait que Robert Noris s’était irrévocablement éloigné
d’elle, que son rêve ambitieux était bien fini ; et elle n’éprouvait plus
que le seul et affolant désir de le faire souffrir pour se venger de son
indifférence dédaigneuse.
Il était debout devant elle, impérieux, irrité, la dominant malgré
elle, et il l’interrogeait :
— Vous venez de faire, au sujet de miss Lilian, une allusion dont
j’ai le droit de connaître le sens… Vous soupçonnez ou vous
n’ignorez pas la cause certaine de son départ ?
Elle inclina la tête, tout en jouant avec ses bagues.
— Peut-être suis-je, en effet, un peu plus instruite que vous sur
ce sujet… Désirez-vous que je vous donne des éclaircissements ?…
Tout à l’heure vous paraissiez supposer que j’étais pour quelque
chose dans la… fuite de votre fiancée. Cherchez plutôt le motif de
cette disparition dans la famille Evans elle-même.
— Parce que ? dit-il, devenu si calme en apparence qu’elle
tressaillit, secouée d’un besoin furieux de briser cette impassibilité
orgueilleuse dans laquelle il s’enveloppait.
— Parce que vous y trouverez le mot de l’énigme que vous
cherchez et que je connais, moi !… Je suis curieuse aussi, Robert ;
plus que vous, car j’ai voulu savoir tout ce qui concernait miss Lilian ;
je me suis informée à de bonnes sources, en Angleterre… et j’ai
obtenu de curieuses révélations sur la famille de miss Lilian et miss
Lilian elle-même…
Une seconde, elle s’arrêta, fixant ses yeux ardents sur Robert qui
semblait insensible à toutes ses attaques, avide de constater la
poignante angoisse qui devait l’étreindre… Tout au plus avait-elle
une preuve qu’il était violemment atteint, dans la ligne profonde qui
creusait son front. Elle ignorait que Robert ne se souvenait pas
d’avoir souffert, à aucune heure de sa vie, comme il souffrait en ce
moment.
— Eh bien ? fit-il.
— Eh bien ! miss Lilian ne s’appelle pas du tout Lilian Evans, mais
bien Lilian Vincey… Vous avez eu bien raison, Robert, de venir, en
preux chevalier, lui offrir votre nom… Le sien, — son véritable, —
n’est point de ceux que l’on aime à porter. Il faut en prendre votre
parti, mon beau cousin, le père de miss Lilian, tout noble lord qu’il
était, n’a pas hésité à se rendre coupable de faux, et il a été traité
par la justice tout comme un simple malfaiteur !… Je…
Elle s’arrêta court devant l’expression terrible qu’avait prise le
visage de Robert.
— Quelle infâme calomnie racontez-vous là ? fit-il avec une
violence qui l’ébranla toute, bouleversant ses nerfs d’une impression
faite de peur et de plaisir… M’expliquerez-vous de quel droit vous
osez la forger ?
— La forger ?… Ah çà, Robert, vous devenez parfaitement
insolent !… Vous m’interrogez ; mais me ferez-vous la grâce de me
dire à quel propos j’aurais pris la peine d’inventer une pareille
histoire ?… Je ne suis pas un romancier, moi !… Si vous ne me croyez
pas, allez en Angleterre, dans le comté de Cornouailles. Informez-
vous… Et en attendant, songez au départ subit de votre fiancée, au
moment même où vous ne pouviez manquer d’apprendre la petite
anecdote concernant son père…
Elle s’interrompit, espérant qu’il allait lui répondre. A l’altération
profonde de ses traits, elle avait maintenant la certitude qu’il était
frappé en plein cœur, ainsi qu’elle l’avait souhaité. Il rencontra ses
yeux noirs, splendides, qui l’examinaient, brillant d’une flamme de
triompha et la voix âpre et méprisante, il lui jeta violemment :
— Quelle femme êtes-vous donc pour vous abaisser à de pareilles
vengeances !
Elle releva le mot, redevenue maîtresse d’elle-même, souriante
même dans la joie de son succès.
— Vous parlez de vengeance ?… De quoi voulez-vous que je me
venge ?… De ce que vous êtes résolu désormais à porter tous vos
hommages à la seule miss Lilian ? Vous êtes bien fat, mon cousin, et
il vous faut renoncer à vos prétentions ! Je sais bien que nous autres
femmes nous contribuons fort à vous les donner ; nous avons l’air de
nous laisser prendre au prestige des noms célébrés dans les
journaux, mais en réalité…
Il la regardait de ses yeux d’une clairvoyance sans merci ; et tout
à coup, elle se sentit entièrement pénétrée jusqu’au plus profond de
son cœur. Une espèce de colère aveugle lui monta au cerveau à
cette idée qu’il devinait aussi aisément que si elle les lui eût dits les
mobiles qui la faisaient parler ; et, le ton insultant, elle acheva,
interrompant sa propre phrase :
— Réellement, miss Lilian avait bien joué son personnage de
petite fille naïve et su vous amener là où elle prétendait. Il est
vraiment dommage que la hardiesse lui ait manqué au dernier
moment et qu’après avoir si bien réussi elle ait jugé à propos de
disparaître mystérieusement avec sa tante…
Il ne l’entendait plus… Lilian, fille d’un homme flétri ! Lilian,
présentée à lui comme une aventurière !… Et brusquement, tandis
qu’il songeait cela, l’âme torturée d’angoisse, dans sa pensée, se
dressait la vision d’un délicieux visage de jeune fille, illuminé par
deux grands yeux clairs et francs, par une bouche d’enfant rieuse. Si
un homme lui eût parlé comme Isabelle venait de le faire, il l’eût
souffleté et tué. Mais, elle, il n’avait pas même le droit de l’effleurer
d’un geste. Il devait résister à cette tentation folle qu’il avait de lui
étreindre les poignets jusqu’à les lui briser pour lui faire avouer
qu’elle avait menti en insultant Lilian.
— Alors vous prétendez, reprit-il encore, rassemblant toute sa
volonté pour se maîtriser, que l’accusation portée par vous contre le
père de Mlle Evans est l’entière vérité ?
— Le père de miss Vincey, voulez-vous dire ? Parfaitement ; ne
vous ai-je pas dit déjà que je tenais de sources très sûres les petits
détails biographiques en question ?…
L’accent d’Isabelle était si absolu qu’il ne douta plus cette fois de
sa parole. Mais était-il donc possible que Lilian connût la vérité au
moment où elle mettait sa main dans celle de l’homme qui avait foi
en elle… Était-il vrai qu’elle se fût enfuie, effrayée par la pensée qu’il
pouvait apprendre le secret qu’elle lui avait caché… Oh ! s’il lui avait
été possible de la voir, de lui parler… Mais où était-elle ?… Il
demanda une dernière fois :
— Et maintenant, me direz-vous de qui vous avez reçu les…
renseignements que vous venez de me donner ?… Vous comprenez
qu’ils sont assez graves pour que j’aie le droit de vouloir en
connaître l’auteur, afin de le questionner à mon tour…
Elle secoua négativement la tête :
— Pour un homme d’esprit, mon cher ami, vous vous montrez
bien naïf… Alors vous supposez que je vais, de l’humeur où vous
êtes, vous nommer la personne qui a été assez aimable pour
m’instruire ? Nullement ! Allez, je vous le répète, dans le
Cornouailles. Interrogez de droite et de gauche, et vous serez
bientôt suffisamment édifié, j’imagine. Ensuite, vous agirez comme
bon vous semblera… Et je comprendrai qu’alors, avec vos opinions
d’homme moderne sur l’atavisme, vous hésitiez à poursuivre vos
projets matrimoniaux.
Il ne lui répondit même pas. Il se leva, ayant la même impression
que si d’interminables années s’étaient écoulées depuis le moment
où il avait franchi le seuil de ce salon fleuri de roses.
— Je vous remercie, dit-il avec une indescriptible ironie, du grand
intérêt que vous avez bien voulu montrer pour mon avenir et que je
n’oublierai jamais…
Il la salua profondément. Elle répondit par un léger signe de tête.
Comme au début de leur entretien, ses yeux étincelaient sous ses
paupières un peu tombantes, et ses petites dents mordaient ses
lèvres pourpres, éclairées par un sourire de triomphe.
. . . . . . . . . . . . . . . . . . . .
Lorsque, quinze jours plus tard, Robert Noris débarqua
d’Angleterre, il avait la preuve qu’Isabelle lui avait dit vrai au sujet de
Charles Vincey.
VII

Le matin où, quelques jours à peine après son départ de Vevey,


Lilian était, selon son désir, arrivée à Ballaigues, elle s’était sentie
prise tout de suite de sympathie pour cet humble village de
montagne ; d’abord parce que Robert Noris l’avait aimé, s’était plu à
y venir travailler, lui en avait parlé plusieurs fois ; puis parce que le
pays lui-même l’avait conquise au premier regard.
Une telle sensation de calme puissant se dégageait de cette
solitude abritée, non encaissée, par les cimes du Jura, noires de
sapins dont l’odeur parfumait l’air vivifiant !… Elle avait l’impression
bizarre de se sentir protégée par ces montagnes mêmes qui
semblaient faire bonne garde autour d’elle, la séparer du monde
cruel, empêcher qu’une parole méchante ne vînt l’atteindre, la
délivrant de sa crainte obsédante : voir connu de tous, autour d’elle,
le pénible secret qui la concernait.
Certes, la colonie anglaise était relativement assez nombreuse à
Ballaigues ; mais ceux qui la composaient lui étaient étrangers. Tous
lui faisaient bon accueil, voyant son charme, sa simplicité exquise et
aussi la jugeant une riche héritière. Elle le savait et un pauvre petit
sourire amer errait sur ses lèvres quand un mot ou un détail
trahissait cette opinion flatteuse que l’on avait d’elle.
— S’ils connaissaient la vérité, ils se détourneraient de moi,
pensait-elle avec un sombre découragement.
Elle, si spontanée, si franche, si accueillante, était devenue
d’humeur sauvage. Cette nombreuse société qu’elle trouvait autour
d’elle lui était pénible ; et si elle avait écouté son seul sentiment, elle
se fût invariablement dérobée à toutes les invitations de promenade,
à toutes les réunions du soir qui la rapprochaient des autres
habitants de l’hôtel.
Pourtant, afin de rassurer lady Evans, inquiète à son sujet, par
fierté aussi, parce qu’elle ne voulait point trahir le regret poignant et
constant qui lui déchirait le cœur au souvenir de Robert, elle ne
repoussait pas toutes les avances qui venaient à elle. Seulement elle
avait bien perdu sa belle gaieté juvénile, son rire joyeux et sonore ;
et sa vivacité originale de pensée et d’expressions l’avait
abandonnée.
Elle causait bien encore quelquefois avec une animation presque
fiévreuse ; mais un observateur eût vite remarqué combien les
paroles qu’elle prononçait paraissaient lui être indifférentes. Dès
qu’elle se trouvait livrée à elle-même, son visage prenait une
expression d’indicible mélancolie ; et les yeux devenaient profonds et
sombres avec un regard désolé qui bouleversait lady Evans quand
elle le surprenait dans ses larges prunelles.
Jamais Lilian ne prononçait le nom de Robert dont elle ne savait
rien… Pas un mot n’était venu de lui ! De Vevey, plusieurs lettres
avaient été renvoyées à lady Evans ; mais celle qu’il devait lui
adresser de Genève ne s’y trouvait point mêlée.
Ah ! elle avait bien réussi à établir entre eux une séparation
irrévocable ! Sa volonté ne chancelait pas ; elle demeurait ferme dans
sa résolution de ne point le revoir, puisqu’une fatalité impitoyable les
éloignait l’un de l’autre.
Mais, obscurément, quelquefois, au fond de son cœur, une
révolte grondait qu’il eût accepté sa décision sans protester, sans
lutter pour la vaincre, qu’il n’eût pas deviné qu’elle lui avait donné
seulement un prétexte, et tenté de la rejoindre pour lui arracher la
véritable raison de son départ…
Pourtant, même s’il avait souhaité la revoir, comment eût-il eu la
pensée qu’elle pouvait être dans ce village solitaire ? N’avait-elle pas
tout fait pour qu’il ignorât où elle se trouvait, pour le détacher
d’elle ?… Ne lui avait-elle pas surtout adressé une lettre ?… Ah ! cette
lettre !
« Vous avez eu grand tort de l’écrire, Lilian, puisqu’elle ne
contenait point la vérité », avait dit gravement lady Evans.
« Vous avez eu grand tort ! » Que de fois les mots lui étaient
revenus, durs implacables, lui broyant le cœur… Certes ! si elle avait
commis une faute alors, elle en était cruellement punie… Mais
savait-elle seulement ce qu’elle faisait, le jour où, dans une fièvre de
désespoir, elle avait tracé ces malheureuses lignes !… Combien aussi
elle se répéta cela dans ses promenades solitaires !…
Il y avait, dans la montagne, un sommet voisin du village qu’on
appelait le Signal de Ballaigues. Dès son arrivée, elle se l’était fait
indiquer, se souvenant que Robert y était venu souvent… Et, chaque
jour, à l’heure où le soleil allait mourir, elle s’y rendait toute seule ;
elle s’asseyait sur une roche d’où la vue s’étendait très loin ; et les
mains tombées sur ses genoux, la pensée reprise par le souvenir des
heureux jours, elle restait les yeux perdus vers l’horizon admirable
des Alpes, toutes de neige, qui, sous le reflet pourpre du couchant,
se rosaient, devenaient insensiblement mauves, puis violettes, et
disparaissaient enfin dans une brume d’un gris de perle. Surtout, elle
aimait à regarder vers le lointain bleu où frémissaient les eaux du
Léman, au pied de Vevey. Elle les contemplait jusqu’à la dernière
minute où il lui était possible de les apercevoir, jusqu’au moment où
tout se voilait sous l’ombre sans cesse grandissante qui enveloppait
étrangement vite les villages épars au loin dans la vallée. Alors, un
peu frissonnante sous l’humidité du soir tout proche, elle
redescendait vers le village par les sentiers déserts ; à peine, parfois,
elle rencontrait quelque montagnard allant vers le pâturage trempé
de rosée, visiter son troupeau dont les clochettes tintaient avec une
harmonie mélancolique dans la paix silencieuse du crépuscule.
Elle se plaisait surtout aux longues courses qui, la fatiguant,
parvenaient à l’endormir d’un sommeil sans rêves ; car elle redoutait
ses réveils subits dans la nuit, alors qu’une vision bienheureuse lui
avait donné l’illusion de la présence de Robert. Alors, parfois, tandis
qu’elle était là, immobile, la tête abandonnée sur l’oreiller, les
paupières grandes ouvertes dans l’ombre, quand rien ne la distrayait
de son chagrin, il lui venait le désir fou d’écrire à Robert que jamais
elle n’avait douté de lui, de l’appeler par un mot pour lui tout
expliquer !… Oh ! comment lui, si perspicace, avait-il pu croire aux
caractères glacés et froids de sa lettre, plus qu’aux paroles tombées
de ses lèvres frémissantes quand elle lui répondait dans la paisible
allée du parc…
Mais si, par hasard, il venait, se rendant à sa prière, quand il
serait là, devant elle, que lui dire ?… La vérité ?… Rien qu’à cette
pensée, dans la nuit, son visage devenait brûlant… S’il se fût agi
d’elle seulement, elle eût maintenant fait bon marché de son orgueil
et accepté sans hésiter, pour obtenir le droit d’être réunie à lui, la
souffrance de le voir instruit, même de l’instruire elle-même du
douloureux secret. Mais c’était à lui surtout qu’elle songeait
désormais, et, impitoyablement, elle se disait qu’elle n’avait pas le
droit de lui demander une pareille preuve d’amour. En vain, lady
Evans, effrayée de la voir ainsi, tentait de l’encourager, de lui rendre
confiance dans l’avenir ; elle n’avait plus foi.
— Tante, que voulez-vous que j’espère ?… Rien ne peut changer
ma position… Vous ne pouvez pas empêcher que le passé n’existe et
qu’il ne soit impossible de m’épouser à un homme qui tient à sa
réputation…
La voix jeune avait un accent de désespoir calme, en prononçant
ces mots. Lilian énonçait simplement des faits indiscutables sur
lesquels, pendant de longues heures, elle avait dû réfléchir… Le
chagrin l’avait atteinte en plein bonheur, au plus profond du cœur ;
et il se trouvait des moments où sa pauvre âme ne savait plus où se
prendre, des moments où, contemplant le mélancolique portrait de
sa mère, elle se prenait à murmurer, avec un désir ardent d’être
exaucée :
— O maman, maman, prenez-moi avec vous, c’est trop dur et
trop difficile de vivre !
Elle avait si soigneusement fait le vide autour d’elle, dans son
fiévreux désir de fuir tous ceux qui pourraient connaître son origine,
qu’aucunes nouvelles d’amis ne lui parvenaient plus.
— Lilian, une lettre pour vous ! dit cependant un soir lady Evans,
comme elle rentrait d’une courte promenade dans le village, en
compagnie de plusieurs jeunes femmes de l’hôtel.
— Pour moi ? tante Katie.
Elle prit l’enveloppe que lui tendait lady Evans venue à sa
rencontre dans le jardin. Soudain, son cœur avait des battements
éperdus. Il faisait trop sombre pour qu’elle pût reconnaître l’écriture,
et elle dut rassembler toute sa volonté pour ne point gravir en
courant les marches du perron afin de gagner le vestibule éclairé.
Mais elle arriva cependant bien vite, et la faible rougeur qui avait un
instant coloré son blanc visage s’effaça. Non, ce n’était point Robert
qui lui écrivait ! Sa raison le lui avait crié tout de suite. La lettre que
tenaient ses petites mains tremblantes venait d’Enid. Elle allait
l’emporter, indifférente, pour la lire ; mais elle aperçut, à ses côtés,
lady Evans qui l’avait suivie et attendait, anxieuse. Elle devina que sa
tante avait eu, durant une seconde fugitive, la même pensée qu’elle
au sujet de la lettre, et, s’efforçant de parler, la voix indifférente, elle
dit :
— Ce sont des nouvelles d’Enid, tante. Je vais les lire
tranquillement, puis je me coucherai ; je suis un peu lasse. Bonsoir,
chère tante.
Oui, elle était bien lasse ! L’émotion qui l’avait ébranlée dans une
espérance folle la laissait sans force. Elle s’assit épuisée, et sans
faire un mouvement, elle regarda, de ses yeux tristes, bien loin dans
la nuit. Un souffle léger, parfumé de senteurs balsamiques, arrivait
jusqu’à elle par la fenêtre restée ouverte, soulevant le rideau de
mousseline, faisant vaciller un peu la flamme de la lampe, autour de
laquelle voletait éperdument un frêle papillon. De même que jadis, à
Vevey, le soir où elle avait, pour la première fois, parlé de Robert
avec Enid, un admirable croissant de lune illuminait les profondeurs
bleues de l’espace assombri ; et la cime découpée des montagnes se
dentelait merveilleusement sur l’horizon plus clair.
Elle demeurait immobile, et, sans qu’elle en eût conscience, une
à une, de grosses larmes ruisselaient sur son visage. La saveur
amère lui imprégnant les lèvres la rappela à elle-même. Alors elle se
redressa, aperçut la lettre jetée sur la table près d’elle, la prit
lentement et commença à lire :
« Ma Lilian chérie, pourquoi restes-tu ainsi sans m’écrire, sans
répondre à la lettre que je t’ai adressée il y a plus de trois longues
semaines ?… Tu étais plus confiante à Vevey, quand, la veille de mon
départ, nous parlions d’une personne qui t’intéressait tant… Te
souviens-tu ?… »
Si elle se souvenait !… Le papier lui échappa et glissa à terre.
— Pourquoi Enid me parle-t-elle de tout cela ? murmura-t-elle
d’un accent douloureux et bas. Je voudrais tant oublier !
La lettre lui semblait poignante à lire ; pourtant elle la reprit et
continua :
« Tu m’avais écrit, chérie, que je ne devais plus jamais te parler
de lui, que tu m’en faisais l’ardente prière, et je t’ai obéi… Je
t’obéirais même encore, si je ne croyais aujourd’hui, pour ton
bonheur même, devoir aller contre ton désir. Entends-moi bien, ma
Liban ; Robert Noris est ici, à Lugano, depuis trois jours. En ce
moment, tandis que je t’écris, je le vois de ma chambre, qui arpente
avec mon père une allée sous ma fenêtre, et souvent il lève la tête
de mon côté… Je devine bien pourquoi ; il sait à qui va être adressée
la lettre que je griffonne à cette heure.
« Ma bien chérie, j’ai tenu la promesse que je t’avais faite de ne
point dire où tu étais…, mais je me demande si je fais bien en
t’obéissant. Je suis sûre maintenant que M. Noris est venu à Lugano,
sachant que nous y étions, afin d’obtenir de tes nouvelles. Le
premier jour, simplement, comme pour s’acquitter d’un devoir de
politesse, il s’est informé de lady Evans et de toi ; et je lui ai répondu
par quelques mots brefs, car, je ne sais pourquoi, je m’imaginais qu’il
avait mal agi à ton égard, ma Lilian. Puis, hier, sa présence me
rappelait tant de choses qu’avec les enfants je me suis mise à parler
de toi, à me souvenir de notre cher séjour à Vevey ; et malgré moi,
pensant que tu étais triste, mon aimée, je t’appelais « ma pauvre
Lilian », quand j’avais à prononcer ton nom.
« Je ne croyais pas que M. Noris, arrêté à quelque distance,
m’entendît ; mais je me trompais… Un peu plus tard, comme je me
trouvais à l’écart dans le salon, il est venu s’asseoir près de moi et
m’a dit de sa manière grave, avec ce regard qui oblige toujours à lui
donner une franche réponse :
« — Sans le vouloir, j’ai été indiscret tantôt et j’ai surpris l’une de
vos paroles dont je voudrais bien avoir l’explication…; seriez-vous
assez bonne pour me la donner ? En parlant de Mlle Evans, vous
paraissiez la plaindre ; lui est-il arrivé un malheur ?
« — Je ne sais, ai-je dit ; Lilian, depuis son départ de Vevey, ne
m’a écrit que quelques lignes ; mais elles étaient si courtes et si
brèves ! Autrefois, quand nous étions séparées, elle m’envoyait des
volumes ! Il y a tant d’années que nous sommes amies ! Nous étions
encore des bébés quand nous nous sommes connues, et, jamais,
avant ces derniers jours, nous n’avions eu de secret l’une pour
l’autre… » Il a insisté avec un singulier accent : « Jamais ? » J’ai
répété : « Jamais ! » Et j’en avais le droit, n’est-ce pas ? ma Lilian.
« Alors il s’est mis à me parler de notre enfance, à m’interroger,
non pas curieusement, mais avec quelque chose de si vibrant et de
si triste dans la voix, que moi, qui le matin même eusse été charmée
de lui être désagréable, je me suis efforcée de lui donner sur toi tous
les détails dont je me souvenais… Ils avaient l’air de lui paraître si
bons à entendre ! et je voyais bien qu’il s’intéressait à toi, Lilian,
comme à Vevey… Aussi je ne comprenais plus, je ne comprends plus
ce qui se passe entre vous… De même que toi, il semble changé !
Chérie, ne veux-tu plus m’accorder ta confiance ? Dis-moi ce que tu
souhaites que je fasse… Tu sais bien que je te suis dévouée du fond
du cœur. »
La lettre retomba sur les genoux de Lilian. En elle, venait de se
réveiller plus ardent que jamais l’irrésistible désir de ne plus soutenir
son rôle d’indifférence aux yeux de Robert, de lui révéler qu’elle
s’était éloignée seulement pour un motif grave, si grave que ses
lèvres n’avaient pu se résoudre à le prononcer.
Et la tentation d’agir ainsi était si forte en elle, était tellement le
cri de tout son être, que, machinalement, elle se leva pour aller
écrire les mots qui se pressaient dans sa pensée. Mais son
mouvement même l’arrêta. A quoi bon cette lettre ! Ne regrettait-elle
pas déjà bien amèrement celle qu’elle lui avait adressée ainsi,
emportée par une folle et première impulsion… Si cette fois encore
elle allait se tromper !… Attendre, elle devait attendre ; et puis quand
elle serait plus calme, elle s’efforcerait de faire ce qui lui paraîtrait
juste et bien, elle demanderait conseil à lady Evans.
N’était-ce pas déjà une douceur inespérée et suprême de savoir
que Robert ne l’avait point rejetée tout à fait de sa pensée…, même
plus, semblait encore aimer à parler d’elle ?…
Était-ce l’influence de la lettre d’Enid ? le lendemain elle désira
avec une sorte d’impatience fébrile le moment du courrier de midi.
Mais l’heure passa, n’apportant rien pour elle. Il lui fallait maintenant
attendre jusqu’au soir ; et, sans qu’elle se le fût avoué, elle sentit
bien que, durant plusieurs jours, ces apparitions quotidiennes du
facteur seraient le seul intérêt de sa vie… Pourtant, que pouvait-elle
espérer ?
Vers la fin de l’après-midi, elle sortit pour sa chère promenade de
chaque jour dans la montagne ; et quand elle fut assise à sa place
accoutumée, elle prit la lettre d’Enid pour la lire, la relire, bien qu’elle
la sût désormais par cœur…
Mais soudain, brusquement, elle releva la tête, croyant avoir
entendu prononcer son nom tout près d’elle ; et ses mains
s’ouvrirent et la lettre d’Enid glissa sur le sol… Debout devant elle, la
regardant avec cette expression qu’elle n’aurait plus jamais espéré
revoir, était Robert Noris… Elle se leva toute droite, incapable de dire
un mot, de faire un geste, presque effrayée de cette réalisation d’un
rêve cru impossible ; mais son regard bleu avait un indicible
rayonnement.
— Vous n’avez pas même une pauvre parole d’accueil pour moi,
Lilian ?… Êtes-vous donc si irritée que je sois venu sans votre
consentement ? dit-il d’un ton bas et vibrant, sans cesser de la
contempler, comme s’il eût eu peur qu’elle ne lui échappât encore.
D’un seul coup d’œil, il avait lu l’affreuse tristesse des jours écoulés
sur le jeune visage effilé et pâli, dans lequel les yeux paraissaient
immenses.
Avant qu’il eût fini même de parler, d’un geste irréfléchi, elle avait
mis ses deux petites mains dans celle qu’il lui tendait, ainsi que le
matin où il l’avait quittée à Vevey.
— Irritée ? répéta-t-elle doucement avec une voix de rêve. Oh !
non, il me paraît si bon de vous voir !… Et pourtant… pourquoi, oh !
pourquoi êtes-vous venu ?… Qui vous a dit que j’étais ici ?…
— Votre amie, à Lugano… Elle n’a pas été sans pitié, comme
vous ! Elle a compris que, pour notre bonheur à tous deux, je devais
vous parler, et elle m’a révélé où vous étiez cachée, Lilian, afin que
je pusse venir vous demander pourquoi vous m’avez si durement
repoussé.
— Mon Dieu, mon Dieu ! fit-elle remuée jusqu’au fond de l’âme
par cet accent dont il parlait et qui résonnait plein d’une douceur
grave dans ce grand silence de la montagne. Ils étaient aussi seuls
qu’ils l’avaient été à Vevey la dernière fois qu’ils s’étaient vus.
— Lilian, continua-t-il du même ton ; — il était debout devant elle,
assise à sa même place, blanche comme sa robe, — Lilian, vous
souvenez-vous qu’un matin vous m’avez promis d’être ma femme
« dans la joie et dans la peine »…? Et pourtant, vous vous êtes
reprise tout de suite !…
— Parce qu’il le fallait, dit-elle faiblement ; et le flot des pensées
torturantes monta soudain dans son âme avec une irrésistible force,
dissipant la joie infinie et fugitive qui l’avait envahie à la vue de
Robert. Le jour où je vous ai fait la promesse dont vous parlez, je
croyais en avoir le droit ; mais, le soir même, quand vous avez été
là-bas, à Genève, j’ai appris que je ne pouvais devenir votre
femme…, qu’une raison très grave me le défendait.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like