Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
29 views

[FREE PDF sample] Beginning Functional JavaScript: Functional Programming with JavaScript Using EcmaScript 6 1st Edition Anto Aravinth ebooks

Using

Uploaded by

rijniejacop69
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 (1 vote)
29 views

[FREE PDF sample] Beginning Functional JavaScript: Functional Programming with JavaScript Using EcmaScript 6 1st Edition Anto Aravinth ebooks

Using

Uploaded by

rijniejacop69
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

Beginning Functional JavaScript: Functional


Programming with JavaScript Using EcmaScript 6 1st
Edition Anto Aravinth

https://textbookfull.com/product/beginning-functional-
javascript-functional-programming-with-javascript-using-
ecmascript-6-1st-edition-anto-aravinth-2/

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.

Beginning Functional JavaScript: Functional Programming


with JavaScript Using EcmaScript 6 1st Edition Anto
Aravinth
https://textbookfull.com/product/beginning-functional-javascript-
functional-programming-with-javascript-using-ecmascript-6-1st-edition-
anto-aravinth-2/
textboxfull.com

Beginning Functional JavaScript: Uncover the Concepts of


Functional Programming with EcmaScript 8 2nd Edition
Srikanth Machiraju
https://textbookfull.com/product/beginning-functional-javascript-
uncover-the-concepts-of-functional-programming-with-ecmascript-8-2nd-
edition-srikanth-machiraju/
textboxfull.com

Functional Programming in JavaScript How to improve your


JavaScript programs using functional techniques First
Edition Luis Atencio
https://textbookfull.com/product/functional-programming-in-javascript-
how-to-improve-your-javascript-programs-using-functional-techniques-
first-edition-luis-atencio/
textboxfull.com

Functional Programming in JavaScript How to improve your


JavaScript programs using functional techniques 1 edition
Edition Luis Atencio
https://textbookfull.com/product/functional-programming-in-javascript-
how-to-improve-your-javascript-programs-using-functional-
techniques-1-edition-edition-luis-atencio/
textboxfull.com
Understanding ECMAScript 6 The definitive guide for
Javascript developers 1st Edition Nicholas C. Zakas

https://textbookfull.com/product/understanding-ecmascript-6-the-
definitive-guide-for-javascript-developers-1st-edition-nicholas-c-
zakas/
textboxfull.com

Get Programming with JavaScript Next New features of


ECMAScript 2015 2016 and beyond 1st Edition Jd Isaacks

https://textbookfull.com/product/get-programming-with-javascript-next-
new-features-of-ecmascript-2015-2016-and-beyond-1st-edition-jd-
isaacks/
textboxfull.com

Beginning Ethereum Smart Contracts Programming: With


Examples in Python, Solidity, and JavaScript Lee

https://textbookfull.com/product/beginning-ethereum-smart-contracts-
programming-with-examples-in-python-solidity-and-javascript-lee/

textboxfull.com

JavaScript Learn JavaScript in 24 Hours or Less A Beginner


s Guide To Learning JavaScript Programming Now JavaScript
JavaScript Programming 1st Edition Robert Dwight.
https://textbookfull.com/product/javascript-learn-javascript-
in-24-hours-or-less-a-beginner-s-guide-to-learning-javascript-
programming-now-javascript-javascript-programming-1st-edition-robert-
dwight/
textboxfull.com

Reactive Programming with JavaScript 1st Edition Hayward


Jonathan

https://textbookfull.com/product/reactive-programming-with-
javascript-1st-edition-hayward-jonathan/

textboxfull.com
Anto Aravinth

Beginning Functional JavaScript


Functional Programming with JavaScript
Using EcmaScript 6
Anto Aravinth
Chennai, Tamil Nadu, India

Any source code or other supplementary material referenced by the


author in this book is available to readers on GitHub via the book’s
product page, located at www.apress.com/978-1-4842-2655-1
. For more detailed information, please visit
http://www.apress.com/source-code .

ISBN 978-1-4842-2655-1 e-ISBN 978-1-4842-2656-8


DOI 10.1007/978-1-4842-2656-8

Library of Congress Control Number: 2017934504

© Anto Aravinth 2017

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

Trademarked names, logos, and images may appear in this book.


Rather than use a trademark symbol with every occurrence of a
trademarked name, logo, or image we use the names, logos, and
images only in an editorial fashion and to the benefit of the
trademark owner, with no intention of infringement of the
trademark. The use in this publication of trade names, trademarks,
service marks, and similar terms, even if they are not identified as
such, is not to be taken as an expression of opinion as to whether or
not they are subject to proprietary rights.

While the advice and information in this book are believed to be true
and accurate at the date of publication, neither the authors nor the
editors nor the publisher can accept any legal responsibility for any
errors or omissions that may be made. The publisher makes no
warranty, express or implied, with respect to the material contained
herein.

Printed on acid-free paper

Distributed to the book trade worldwide by Springer


Science+Business Media New York, 233 Spring Street, 6th Floor,
New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,
e-mail orders-ny@springer-sbm.com, or visit
www.springeronline.com. Apress Media, LLC is a California LLC and
the sole member (owner) is Springer Science + Business Media
Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware
corporation.
Dedicated to God, Belgin Rayen (late), Susila, Kishore, Ramya and
my beloved ones.
Acknowledgments
Writing a book is not easy as I would have thought. It’s almost very
like making a movie. You need to go to each publication unit with
your table of contents. The table of contents are like your movie
script. It needs to have a strong beginning, keep the audience
engaged, and then have a good ending. The screenplay should be
very good which is achieved via your text. The process of a book
starts when an editorial team accepts your table of contents. I want
to thank Pramila for that; she was helpful in the initial stages of the
book. Of course, writing a technical book needs to be technically
correct as well. And that’s where I need to give a special thanks to
our technical editorial team! They were very good at catching any
technical issues in my writing. I want to give special thanks to Anila
for working through the chapters and finding any grammatical errors
– and making sure the contents are good enough for the readers to
be engaged. All these phases are managed by our manager named
Prachi. Thanks, Prachi, for making it happen!
I want to dedicate this book to my Lord Jesus, late father Belgin
Rayen, and my beloved mother named Susila. I also want to give
thanks to Kishore, my brother-in-law, for supporting me throughout
my life and career. I never told my sister Ramya (one and only
sibling) that I’m authoring a book. I just couldn’t predict how she
would react to this event. Special thanks to her as well.
Special thanks to all my friends & colleagues who have been very
supportive in my career: Deepak, Vishal, Shiva, Mustafa, Anand,
Ram (Juspay), Vimal (Juspay), Lalitha, Swetha, Vishwapriya. Final
thanks to my close cousins: Bianca, Jennifer, Amara, Arun, Clinton,
Shiny, Sanju.
There can be improvements made in my style of writing, content,
authoring, etc. If you want to share your thoughts, please contact
me at antoaravinthrayen@gmail.com . I’m also available on
twitter @antoaravinth.
Thanks for purchasing this book! I hope you will enjoy it. Good
luck!
Anto Aravinth, India
Contents
Chapter 1:​Functional Programming in Simple Terms

What Is Functional Programming?​Why It Matters?​

Referential Transparency

Imperative, Declarative, Abstraction

Functional Programming Benefits

Pure Functions

Pure Functions Lead to Testable Code

Reasonable Code

Parallel Code

Cachable

Pipelines and Composable

Pure Function Is a Mathematical Function

What We Are Going to Build

Is JavaScript a Functional Programming Language?​

Summary

Chapter 2:​Fundamentals of JavaScript Functions

ECMAScript A Bit of History

Creating and Executing Functions


First Function

Strict Mode

Return Statement Is Optional

Multiple Statement Functions

Function Arguments

ES5 Functions Are Valid in ES6

Setting Up Our Project

Initial Setup

Our First Functional Approach to the Loop Problem

Gist on Exports

Gist on Imports

Running the Code Using Babel-Node

Creating Script in Npm

Running the Source Code from Git

Summary

Chapter 3:​Higher-Order Functions

Understanding Data

Understanding JavaScript Data Types

Storing a Function

Passing a Function
Returning a Function

Abstraction and Higher-Order Functions

Abstraction Definitions

Abstraction via Higher-Order Functions

Higher-Order Functions in the Real World

every Function

some Function

sort Function

Summary

Chapter 4:​Closures and Higher-Order Functions

Understanding Closures

What Are Closures?​

Remembering Where It Is Born

Revisiting sortBy Function

Higher-Order Functions in the Real World (Continued)

tap Function

unary Function

once Function

Memoize Function

Summary
Chapter 5:​Being Functional on Arrays

Working Functionally on Arrays

map

filter

Chaining Operations

concatAll

Reducing Function

reduce Function

Zipping Arrays

zip Function

Summary

Chapter 6:​Currying and Partial Application

A Few Terminologies

unary Function

Binary Function

variadic Functions

Currying

Currying Use Cases

A logger Function - Using Currying

Revisit Curry
Back to logger Function

Currying in Action

Finding number in Array Contents

squaring an Array

Data Flow

Partial Application

Implementing partial Function

Currying vs.​Partial Application

Summary

Chapter 7:​Composition and Pipelines

Composition in General Terms

Unix Philosophy

Functional Composition

Revisiting map,filter

compose Function

Playing with compose function

curry and partial to the Rescue

compose many function

Pipelines /​Sequence

Implementing pipe
Odds on Composition

Debugging Using tap Function

Summary

Chapter 8:​Fun with Functors

What Is a Functor?​

Functor Is a Container

Functor Implements Method Called map

MayBe

Implementing MayBe

Simple Use Cases

Real-World Use Cases

Either Functor

Implementing Either

Reddit Example Either Version

Word of Caution - Pointed Functor

Summary

Chapter 9:​Monads in Depth

Getting Reddit Comments for Our Search Query

The Problem

Implementation of the First Step


Problem of So Many maps

Solving the Problem via join

join Implementation

chain Implementation

Summary

Chapter 10:​Pause, Resume with Generators

Async Code and Its Problem

Callback Hell

Generators 101

Creating Generators

Caveats of Generators

yield New Keyword

done Property of Generator

Passing Data to Generators

Using Generators to Handle Async Calls

Generators for Async - A Simple Case

Generators for Async - A Real-World Case

Summary

Appendix A

How to Install Node In Your System


Installing Depedencies

Index
Contents at a Glance
About the Author

Acknowledgments

Chapter 1:​Functional Programming in Simple Terms

Chapter 2:​Fundamentals of JavaScript Functions

Chapter 3:​Higher-Order Functions

Chapter 4:​Closures and Higher-Order Functions

Chapter 5:​Being Functional on Arrays

Chapter 6:​Currying and Partial Application

Chapter 7:​Composition and Pipelines

Chapter 8:​Fun with Functors

Chapter 9:​Monads in Depth


Chapter 10:​Pause, Resume with Generators

Appendix A

Index
About the Author
Anto Aravinth

is a Senior Business Intelligence Developer at VisualBI, Chennai. He


has been busy developing web applications using Java; JavaScript;
and frameworks like ReactJs, Angular, etc., for the last five years. He
has a solid understanding of the Web and its standards. Anto is also
an open source contributor to popular frameworks such as ReactJs,
Selenium, and Groovy.
Anto loves playing table tennis in his free time. He has a great
sense of humor, too! Anto is also a Technical Development Editor for
React Quickly , a book that will be published by Manning in 2017.
© Anto Aravinth 2017
Anto Aravinth, Beginning Functional JavaScript, DOI 10.1007/978-1-4842-2656-
8_1

1. Functional Programming in Simple


Terms
Anto Aravinth1
(1) Chennai, Tamil Nadu, India

Electronic supplementary material


The online version of this chapter (doi:10.​1007/​978-1-4842-2656-8_​
1) contains supplementary material, which is available to authorized
users.

The first rule of functions is that they should be small. The


second rule of functions is that they should be smaller than
that.
—ROBERT C. MARTIN

Welcome to the functional programming world. The world, which


has only functions, living happily without any outside world
dependencies, without states, without mutations – forever.
Functional programming is a buzz in recent days. You might have
heard about this term within your team, in your local group meeting,
and have thought about this. If you’re already aware of what that
means, this is great! But for those who don’t know the term, don’t
worry. This chapter is for that purpose: to introduce you to
Functional terms in simple English.
We are going to begin this chapter by asking a simple question:
what is a function in Mathematics? Then later on we are going to
create a function in JavaScript with a simple example using our
function definition. The chapter ends by explaining the benefits that
functional programming gives to our developers.

What Is Functional Programming? Why It


Matters?
Before we begin to see what the functional programming term
means , we have to answer another question: what is a function in
mathematics? A function in mathematics can be written like this:

f(X) = Y

The statement can be read like “A Function F, which takes X as


its argument, and returns the output Y.” X and Y can be any number,
for instance. That’s a very simple definition. But there are key
takeaways in the definitions :
A function must always take an argument.
A function must always return a value.
A function should act only on its receiving arguments (i.e., X)
not the outside world.
For a given X, there will be only one Y.
You might be wondering why we saw the definition of functions
in mathematics rather than in JavaScript. Did you? That sounds like
a great question to me. The answer is pretty simple: functional
programming techniques are heavily based on mathematical
functions and its ideas. But hold your breath – we are not going to
teach you functional programming in mathematics, but rather use
JavaScript to teach them. But throughout the book, we will be
seeing the ideas of mathematical functions and how they are used in
order to understand functional programming.
Now with that definition in place, we are going to see the
examples of functions in JavaScript.
Imagine we have to write a function that does the tax
calculation. How are you going to do this in JavaScript?

Note
All the examples in the book will be written with ES6. The code
snippets in the book are stand-alone so that you can copy and
paste them in any one of your favorite browsers that supports
ES6. All the examples are run in the Chrome browser version
51.0.2704.84. The ES6 spec is over here: http://www.ecma-
international.org/ecma-262/6.0/

We can implement such a function like this as shown in Listing 1-1:

var percentValue = 5;
var calculateTax = (value) => { return value/100
* (100 + percentValue) }

Listing 1-1. Calculate Tax Function in ES6

The above function calculateTax does exactly what we want to


do. You can call this function with the value, which will return the
calculated tax value in the console. It looks neat, doesn’t it? Let’s
pause for a moment and analyze the above function with respect to
our mathematical definition. One of the key points of our
mathematical function term is that the function logic shouldn’t
depend upon the outside world. In our above-defined function
calculateTax, we have made the function depend on the global
variable percentValue. Thus the above function we have created
can’t be called as a real function in a mathematical sense. So let’s fix
that. (Doubt – Can’t change font in the template why?)
The fix is very straightforward: we have to just move the
percentValue as our function argument:
var calculateTax = (value, percentValue) => {
return value/100 * (100 + percentValue) }

Listing 1-2. Calculate Tax Function Rewritten

Now our function calculateTax can be called as a real function.


But what have we gained? We have just made the elimination of
global variable access inside our calculateTax function. Removing
global variable access inside a function makes it easy for testing.
(We will talk about the functional programming benefits in this
chapter later on)
Now we have made our relationship with the Math function to
our JavaScript function. With this simple exercise, we can define
functional programming in simple technical terms. Functional
programming is a paradigm in which we will be creating functions
that are going to work out its logic by depending only on its input.
This ensures that a function, when called multiple times, is going to
return the same result. The function also won’t change any data in
the outside world, leading to cachable and testable codebase.

Functions vs. Methods in Javascript


We have talked about the word “function” a lot in this text. Before
we move on, I want to make sure you understand the difference
between Functions and Methods in JavaScript.
Simply put, a Function is a piece of code that can be called
by its name. It can be pass arguments and return values.
However, Methods is a piece of code that must be called by
its name along with its associated object name.
We will look at a quick example of function and method in
Listing 1-3:
Function

var simple = (a) => {return a} // A simple


function
simple(5) //called by its name

Listing 1-3. A Simple Function


Method

var obj = {simple : (a) => {return a} }


obj.simple(5) //called by its name along with
its associated object

Listing 1-4. A Simple Method

There are two more important characteristics of Functional


programing that are missing in the definition. We are going to
discuss them in detail in the upcoming sections before we dive into
the benefits of functional programming.

Referential Transparency
With our above definition of function, we have made a statement
that all the functions are going to return the same value for the
same input. And this property of a function is called a Referential
transparency. We will take a simple example as shown in Listing 1-
5:

var identity = (i) => { return i }

Listing 1-5. Referential Transparency Example

In the above code snippet we have defined a simple function


called identity. This function is going to return whatever you‘re
passing as its input; that is, if you’re passing 5, it’s going to return
back the value 5 (i.e., the function is just acts as a mirror or
identity). Note that our function does operate only on the incoming
argument ‘i’, and there is no global reference inside our function
(remember in Listing 1-2, we removed ‘percentValue’ from global
access and made it an incoming argument). This function satisfies
the conditions ofReferential Transparency. Now imagine this function
is used between other function calls like this:
sum(4,5) + identity(1)

With our Referential Transparency definition we can convert the


above statement into this:

sum(4,5) + 1

Now this process is called a Substitution model as you can


directly substitute the result of the function as is (mainly because
the function doesn’t depend on other global variables for its logic)
with its value. This leads to parallel code and caching. Imagine
that with this model, you can easily run the above function with
multiple threads without even the need of synchronizing! Why? The
reason for synchronizing comes from the fact that threads shouldn’t
act upon global data when running parallel. Functions that obey
Referential Transparency are going to depend only on inputs from its
argument; hence threads are free to run without any locking
mechanism!
And since the function is going to return the same value for the
given input, we can, in fact cache it! For example, imagine there is a
function called ‘factorial’, which calculates the factorial of the given
number. ‘Factorial’ takes the input as its argument for which the
factorial needs to be calculated. We all know the ‘factorial’ of ‘5’
going to be ‘120’. What if the user calls the ‘factorial’ of ‘5’ a second
time? If the ‘factorial’ function obeys Referential transparency, we
know that the result is going to be ‘120’ as before (and it only
depends on the input argument). With this characteristic in mind, we
can cache the values of our ‘factorial’ function. Thus if a ‘factorial’ is
called for the second time with the input as ‘5’, we can return the
cached value instead of calculating once again
Here you can see how a simple idea helps in parallel code and
cachable code. We will be writing a function in our library for caching
the function results, later in the chapter.

Referential Transparency is a Philoshopy


Referential transparency is a word that came from Analytic
Philosophy (
https://en.wikipedia.org/wiki/Analytical_philoso
phy ). This branch of philosophy deals with Natural language
semantics and its meanings. Here the word “Referential” or
“Referent” means to the thing that the expression refers to. A
context in a sentence is “referentially transparent” if replacing a
term in that context by another term that refers to the same
entity doesn’t alter the meaning.
And that’s exactly how we have been defining Referential
transparency in our section. We have replaced the value of the
function, without affecting the context. Wow, functional
programming is a philosophy!

Imperative, Declarative, Abstraction


Functional programming is also about being declarative and writing
abstracted code. We need to understand these two terms before we
proceed further. We all know and have worked on N imperative
paradigm . We’ll take a problem and see how to solve it in an
imperative and declarative fashion.
Suppose you have a list or array and want to iterate through the
array and print it to the console. The code for might look like this:

var array = [1,2,3]


for(i=0;i<array.length;i++)
console.log(array[i]) //prints 1, 2, 3

Listing 1-6. Iterating over the Array Imperative Approach

It works fine. But in the above approach to solve our problem,


we are telling exactly “how” we need to do it. For example, we have
written an implicit for loop with an index calculation of the array
length and printing the items. We will stop here. What was the task
here? “Print the array elements,” right? But it looks like we are telling
the compiler what to do. In this case, we are telling “Get Array
Length, Loop our array, Get each Element of array using index etc.”
We call it an “imperative” solution. Imperative programming is all
about telling the compiler “how” to do the things.
We will now switch to the other side of the coin, Declarative
programming. In Declarative programming , we are going to tell
“what” the compiler needs to do rather than the “how” parts. The
“how” parts are being abstracted into common functions (these
functions are called as Higher-Order functions, which we will cover in
the upcoming chapters). Now we can use the in-built forEach
function to iterate the array and print it.

var array = [1,2,3]


array.forEach((element) => console.log(element))
//prints 1, 2, 3

Listing 1-7. Iterating over the Array Declarative Approach

The above code snippet does print exactly the same output in the
previous Listing 1-5. But here we have removed the “how” parts like
“Get Array Length, Loop our array, Get each Element of array using
index, etc.” We have used an abstracted function, which takes care
of “how” part, leaving us the developers to worry about our problem
in hand (“what” part). That’s great! We will be creating these in-built
functions throughout the textbook!
Functional programming is about creating functions in an
abstracted way, which can be reused by other parts of the code.
Now we have a solid understanding of what a functional
programming is; with this in mind, we can go and explore the
benefits of functional programming.

Functional Programming Benefits


We have seen the definition of functional programming and a very
simple example of a function in the JavaScript language. But we
have to answer a simple question: “What are the benefits of
Functional programming?” This section will help you see through the
lenses and see the huge benefits that functional programming is
opting to offer us! Most of the benefits of Functional programming
come from writing Pure Functions. So before we see the benefits of
Functional programming, we will see what a pure function is.

Pure Functions
With our definition in place, we can define what is meant by Pure
functions. Pure functions are the functions that return the same
output for the given input. Take an example as given in Listing 1-8:

var double = (value) => value * 2;

Listing 1-8. A Simple Pure Function

The above function ‘double’ is a pure function just because given


an input, it is going to always return the same output. You can try
yourself. Calling the double function with input 5 always gives back
the result as 10! Pure functions obey Referential transparency. Thus
we can replace double(5) with 10, without any hesitations.
So what’s the big deal about Pure Functions? It has many
benefits to give to us. We’ll discuss one after the other in the
following text.

Pure Functions Lead to Testable Code


Functions that are not pure have side effects. Take our previous tax
calculation example (Listing 1-1):

var percentValue = 5;
var calculateTax = (value) => { return value/100
* (100 + percentValue) } //depends on external
environment percentValue variable

The function calculateTax is not a pure function, mainly because


for calculating its logic it depends on the external environment .
However, the function works but the function is very tough to test!
Let’s see the reason for this.
Imagine we are planning to run a test for our calculateTax
function three times for three different tax calculations. We set up
the environment like this:

calculateTax(5) === 5.25

calculateTax(6) === 6.3

calculateTax(7) === 7.3500000000000005

The entire test passes! But hold on, since our original
calculateTax function depends on the external environment variable
percentValue, things can go wrong. Imagine the external
environment is changing the variable percentValue while you are
running the same test cases:

calculateTax(5) === 5.25

// percentValue is changed by other function to


2
calculateTax(6) === 6.3 //will the test pass?

// percentValue is changed by other function to


0
calculateTax(7) === 7.3500000000000005 //will
the test pass or throw exception?

As you can see here the function is very hard to test. However
we can easily fix the issue, by removing the external environment
dependency from our function, leading the code to this:

var calculateTax = (value, percentValue) => {


return value/100 * (100 + percentValue) }

Now you can test the above function without any pain! Before we
close this section, we need to mention an important property about
Pure function, which is “Pure Function also shouldn’t mutate any
external environment variables.”
In other words, the pure function shouldn’t depend on any
external variables (like shown in the example) and also change any
external variables. We’ll not take a quick look what we meant by
changing any external variables. For example, consider the following
code in Listing 1-9:

var global = "globalValue"


var badFunction = (value) => { global =
"changed"; return value * 2 }

Listing 1-9. BadFunction Example

When ‘badfunction’ function is called it changes the global


variable ‘global’ to value ‘changed’. Is it something to worry about?
Yes! Imagine another function that depends on ‘global’ variable for
its business logic! Thus, calling ‘badFunction’ affects other functions’
behavior. Functions of this nature (i.e., functions that have side
effects) make the code base hard to test. Apart from testing, these
side effects will make the system behavior very hard to predict in
case of debugging!
So we have seen with simple example of how a pure function can
help us in easy testing the code. Now we’ll look at other benefits we
get out of Pure Functions – Reasonable Code.

Reasonable Code
As developers we should be good at reasoning about the code or a
function. By creating and using Pure functions we can achieve that
very simply. To make this point clearer, we are going to use a simple
example of function double (from Listing 1-8):

var double = (value) => value * 2

By looking at this function name we can easily reason that this


function doubles the given number and nothing else! In fact, using
Another Random Scribd Document
with Unrelated Content
The Project Gutenberg eBook of Le retour
d'Imray
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

Title: Le retour d'Imray

Author: Rudyard Kipling

Translator: Arthur Austin-Jackson


Louis Fabulet

Release date: July 9, 2024 [eBook #73998]

Language: French

Original publication: Paris: Mercure de France, 1907

Credits: Véronique Le Bris, Laurent Vogel and the Online


Distributed Proofreading Team at
https://www.pgdp.net (This file was produced from
images generously made available by the Bibliothèque
nationale de France (BnF/Gallica))

*** START OF THE PROJECT GUTENBERG EBOOK LE RETOUR


D'IMRAY ***
RUDYARD KIPLING

Le
Retour d’Imray
Traduction de
LOUIS FABULET et ARTHUR AUSTIN-JACKSON

PARIS
SOCIÉTÉ DV MERCVRE DE FRANCE
XXVI , RVE DE CONDÉ , XXVI

MCMVII
ŒUVRES DE RUDYARD KIPLING
A LA MÊME LIBRAIRIE

LE LIVRE DE LA JUNGLE , traduit par Louis Fabulet et Robert


d’Humières. Vol. in-18 3.50
LE SECOND LIVRE DE LA JUNGLE , traduit par Louis Fabulet et
Robert d’Humières. Vol. in-18 3.50
LA PLUS BELLE HISTOIRE DU MONDE (La plus Belle Histoire du
Monde. Le Perturbateur du Trafic. La Légion perdue. Par-
dessus bord. Dans le Rukh. Un Congrès des Puissances.
Un Fait. Amour des Femmes), traduit par Louis Fabulet et
Robert d’Humières. Vol. in-18 3.50
L ’HOMME QUI VOULUT ÊTRE ROI (L’Homme qui voulut être Roi.
La Porte des Cent mille Peines. L’Étrange chevauchée.
L’Amendement de Tods. La Marque de la Bête. Bisesa.
Bertran et Bimi. L’Homme qui fut. Les Tambours du « Fore
and Aft »), traduit par Louis Fabulet et Robert d’Humières.
Vol. in-18 3.50
KIM , roman, traduit par Louis Fabulet et Charles Fountaine-
Walker. Vol. in-18 3.50
LES BATISSEURS DE PONTS (Les Bâtisseurs de Ponts. Petit
Tobrah. Namgay Doola. En Famine. Au fond de l’Impasse.
Les Finances des Dieux. La Cité des Songes), traduit par
Louis Fabulet et Robert d’Humières. Vol. in-18 3.50
STALKY ET C ie, roman, traduit par Paul Bettelheim et
Rodolphe Thomas. Vol. in-18 3.50
SUR LE MUR DE LA VILLE (Sur le Mur de la Ville. Trois et un…
de plus. L’Histoire de Muhammad Din. Lispeth. L’Autre.
Moti-Guj-Mutin. Une Fraude. La Libération de Pluffles.
L’Arrestation du Lieutenant Golightly. Une affaire de
chance. Dans l’erreur. Le Cas de divorce Bronckhort. Wee
Willie Winkie. En plein orgueil de jeunesse. Sans bénéfice
de clergé), traduit par Louis Fabulet, précédé d’une Étude
sur Rudyard Kipling par André Chevrillon. Vol. in-18 3.50
LETTRES DU JAPON , traduit par Louis Fabulet et Arthur Austin-
Jackson. Vol. in-18 3.50
L ’HISTOIRE DES GADSBY , roman, traduit par Louis Fabulet et
Arthur Austin-Jackson. Vol. in-18 3.50
IL A ÉTÉ TIRÉ DE CET OUVRAGE :
Sept exemplaires sur Hollande, numérotés de 1 à 7.

JUSTIFICATION DU TIRAGE :

Droits de traduction et de reproduction réservés pour tous pays.


LE RETOUR D’IMRAY

Imray acheva l’impossible. Sans avertir, sans motif concevable,


en pleine jeunesse, au seuil de sa carrière, il trouva bon de
disparaître du monde — je veux dire de la petite station hindoue
qu’il habitait.
Un jour, c’était un homme plein de vie, bien portant, heureux, et
fort en vue autour des billards de son cercle. Un matin, il n’était
plus, et il échappait à toute investigation. Il avait quitté le rang,
n’avait pas, à l’heure usuelle, paru à son bureau, et son dog-cart
n’était plus sur les routes. En raison de choses semblables, et
attendu que son absence embarrassait dans une mesure
microscopique l’administration de l’Empire de l’Inde, l’Empire de
l’Inde s’arrêta un instant microscopique à s’enquérir du sort d’Imray.
On dragua les mares, on sonda les puits, on dépêcha des
télégrammes le long des lignes de chemin de fer et jusqu’au port de
mer le plus proche — à douze cents milles de là ; mais Imray ne se
trouva au bout ni des dragues ni des fils télégraphiques. Il s’en était
allé, et le lieu où il habita ne le revit plus. Sur quoi le grand Empire
de l’Inde, qui ne pouvait retarder sa marche, se remit en route, et
Imray passa de l’état d’homme à l’état de mystère — une de ces
choses qui font le sujet des conversations autour des tables du
cercle durant un mois, et qu’ensuite on oublie totalement. Ses fusils,
ses chevaux, ses voitures furent vendus à l’encan ; son chef écrivit à
sa mère une lettre on ne peut plus absurde, déclarant qu’Imray avait
disparu d’une façon inexplicable et que son bungalow se trouvait
vide.
Après trois ou quatre mois d’une chaleur à griller, mon ami
Strickland, de la police, trouva bon de prendre en location le
bungalow, qui appartenait à un propriétaire du cru. C’était avant ses
fiançailles avec Miss Youghal — autre affaire racontée en autre lieu
— et alors qu’il poursuivait ses fouilles au sein de la vie indigène.
Pour ce qui est de la sienne, de vie, elle était assez singulière, et il
ne manquait pas de gens pour déplorer ses us et coutumes. Il y
avait toujours chez lui de quoi manger, mais d’heures réglées pour
les repas, aucune. Il mangeait, debout et en se promenant, ce qu’il
trouvait sur le buffet, et telle coutume n’a rien de bon pour les
humains. Son équipement privé se limitait à six carabines, trois fusils
de chasse, cinq selles, et toute une collection de solides gaules à
pêcher le « masheer », plus grosses et plus fortes que les plus
grandes gaules à saumon. Tout cela occupait la moitié de son
bungalow, dont l’autre moitié était abandonnée à Strickland et à sa
chienne Tietjens — une énorme bête de Rampour, qui dévorait
quotidiennement la ration de deux hommes. Elle parlait à Strickland
un langage à elle, et toutes les fois qu’en ses tournées elle voyait
des choses propres à troubler la paix de Sa Majesté la Reine-
Impératrice, elle revenait à son maître lui faire son rapport ; sur quoi
Strickland se livrait immédiatement à des démarches, qui se
terminaient par des ennuis, des amendes et de la prison pour autrui.
Les indigènes prenaient Tietjens pour un démon familier, et la
traitaient avec ce grand respect qu’ont enfanté la haine et la crainte.
L’une des pièces du bungalow était spécialement affectée à son
usage. Elle possédait en propre une couchette, une couverture, et
une jatte pour boire ; et quelqu’un entrait-il la nuit dans la chambre
de Strickland, qu’elle avait pour coutume de terrasser l’intrus et de
donner de la voix jusqu’à ce qu’on arrivât avec de la lumière.
Strickland lui avait dû la vie alors qu’il se trouvait sur la frontière à la
recherche d’un assassin du pays, lequel vint au point du jour avec
l’intention d’envoyer Strickland beaucoup plus loin que les îles
Andaman. Tietjens surprit l’homme au moment où il se glissait dans
la tente de Strickland un poignard entre les dents ; et une fois établi
aux yeux de la loi le bilan de son passé, cet homme fut pendu. A
dater de ce moment, Tietjens porta un collier d’argent brut et fit
usage d’un monogramme sur sa couverture de nuit ; cette
couverture, en outre, fut d’une étoffe de kashmir double, car
Tietjens était une chienne délicate.
En aucune circonstance ne se séparait-elle de Strickland ; et, une
fois qu’il était malade de la fièvre, elle fut cause d’un grand ennui
pour les médecins, attendu qu’elle ne savait comment venir en aide
à son maître, et ne permettait à âme qui vive de tout au moins
essayer. Macarnaght, du service médical de l’Inde, dut la frapper
d’un coup de crosse sur la tête avant d’arriver à lui faire comprendre
qu’elle devait céder la place à ceux qui pouvaient administrer de la
quinine.
Peu de temps après que Strickland eut pris le bungalow d’Imray,
je fus amené par mes affaires à traverser cette station, et,
naturellement, les logements du cercle se trouvant au complet, je
pris mes quartiers chez Strickland. Il s’agissait d’un désirable
bungalow de huit pièces, recouvert d’un chaume épais qui le
garantissait de toute infiltration de pluie. Sous le comble courait un
vélum qu’à sa propreté l’on pouvait prendre pour un plafond blanchi
à la chaux. Le propriétaire l’avait repeint lorsque Strickland loua le
bungalow ; et, à moins de savoir comment les bungalows de l’Inde
sont construits, on n’eût jamais soupçonné qu’au-dessus du vélum
c’était les profondeurs caverneuses du toit triangulaire, où les
poutres et le dessous du chaume servaient d’habitacle à toutes
sortes de rats, chauves-souris, fourmis et autres saletés.
A mon arrivée dans la verandah, Tietjens vint me saluer d’un
aboiement qu’on eût pris pour le « boum » du gros bourdon de Saint-
Paul, et me mit ses pattes sur l’épaule afin de me montrer qu’elle
était contente de me voir. Strickland était arrivé à gratter de droite et
de gauche une sorte de repas qu’il appelait déjeuner, et, à peine ce
repas terminé, sortit à ses affaires. Je restai seul avec Tietjens et les
miennes, d’affaires. L’ardeur de l’été s’était calmée pour faire place à
l’humidité chaude des pluies. Rien ne bougeait dans l’air tiède, mais
la pluie tombait en baguettes de fusil sur la terre, et répandait, en
rejaillissant, un léger brouillard bleu. Les bambous, les canneliers,
les poinsettias et les manguiers du jardin se tenaient immobiles sous
l’eau chaude qui les traversait de coups de fouet, et les grenouilles
commençaient à chanter dans les haies d’aloès. Un peu avant la
tombée de la nuit, et quand la pluie était au plus fort, j’allai
m’asseoir dans la verandah de derrière, entendis l’eau gronder au
sortir des larmiers, et, comme j’étais couvert de cette chose qu’on
appelle éruption de chaleur, je me mis à me gratter. Tietjens, sortie
de la maison en même temps que moi, posa sa tête sur mes
genoux, et accusa une extrême mélancolie ; aussi lui donnai-je des
biscuits lorsque le thé fut prêt, lequel thé je pris dans la verandah de
derrière à cause de la légère fraîcheur que j’y trouvai. Les pièces de
la maison, par-dessus mon épaule, étaient plongées dans l’obscurité.
L’odeur de la sellerie de Strickland et de la graisse de ses fusils
parvenait à mon odorat, et je n’éprouvais nul désir de demeurer au
milieu de ce fourbi. Mon serviteur vint à moi dans la pénombre, la
mousseline de ses vêtements adhérant étroitement à son corps
trempé, et m’annonça qu’un monsieur était là, qui demandait à voir
quelqu’un. Bien à contre-cœur, mais seulement à cause, je veux le
croire, de l’obscurité des pièces, je me rendis dans le salon nu, en
disant à mon homme d’apporter les lumières. Il se pouvait, oui ou
non, qu’un visiteur eût attendu — il me semblait avoir vu une
silhouette par l’une des fenêtres — mais, quand arrivèrent les
lumières, il n’y avait rien qu’au dehors les hallebardes de la pluie, et
dans mes narines l’odeur de la terre en train de boire. Je fis
comprendre à mon serviteur qu’il manquait peut-être un peu de
sagacité, et retournai dans la verandah causer avec Tietjens. Elle
était sortie sous la pluie, et j’eus de la peine à l’amadouer
suffisamment, même à renfort de petits fours glacés, pour la
ramener à moi. Strickland rentra, tout dégouttant de pluie, juste au
moment du dîner, et son premier mot fut :
— Il n’est venu personne ?
J’expliquai, avec force détails, qu’à la suite d’une fausse alerte
mon serviteur m’avait mandé au salon ; ou que quelque drôle avait
tenté de faire visite à Strickland, et que se ravisant il s’était sauvé
après avoir fait passer son nom. Strickland commanda le dîner, sans
plus, et, vu que c’était un vrai dîner, compliqué d’une nappe blanche,
nous nous assîmes à table.
A neuf heures, Strickland éprouva le besoin de se coucher, et de
mon côté je me sentis également fatigué. Dès qu’elle vit son maître
gagner sa propre chambre, laquelle était voisine de la chambre
d’honneur à elle réservée, Tietjens, qui était restée tout le temps
couchée sous la table, se leva pour aller se jeter sur le flanc dans la
verandah la plus abritée. Qu’une simple femme eût été prise du
caprice de coucher même dehors sous cette pluie battante, la chose
n’eût guère prêté à conséquence ; mais Tietjens était une chienne,
et par conséquent l’animal au-dessus. Je regardai Strickland,
m’attendant à le voir prendre un fouet pour l’écorcher vive. Il sourit
de façon bizarre, comme sourirait celui qui viendrait de vous
raconter quelque fâcheuse tragédie domestique.
— Elle a toujours fait cela depuis que j’ai emménagé ici, dit-il.
Laissez-la aller.
La chienne était le bien de Strickland, en sorte que je me tus ;
mais j’appréciai tout ce qui se passait en Strickland traité de cette
cavalière façon. Tietjens campa de l’autre côté de la fenêtre de ma
chambre, et l’un après l’autre les orages montèrent, fulminèrent sur
le chaume, et s’éteignirent au loin. Les éclairs éclaboussaient le ciel
comme fait l’œuf qu’on jette sur une porte de grange, sauf qu’au
lieu d’être jaune la clarté était bleu pâle ; et, regardant à travers mes
stores de bambou fendu, je pus voir que la grande chienne était
debout, et non point endormie, dans la verandah, le poil hérissé sur
l’échine, et les pattes ancrées au sol avec la rigidité du câble
métallique qui soutient un pont suspendu. Dans les très courts
instants de répit que laissait le tonnerre j’essayai de dormir, mais il
me semblait que quelqu’un avait de moi le plus urgent besoin. Quel
qu’il fût, ce quelqu’un essayait de m’appeler par mon nom, mais sa
voix n’était guère plus qu’un rauque murmure. Le tonnerre cessa, et
Tietjens s’en alla dans le jardin hurler à la lune bas à l’horizon. On
essaya d’ouvrir ma porte, on arpenta la maison dans tous les sens,
on stationna, le souffle oppressé, dans les verandahs ; et, juste au
moment où j’allais m’endormir, je crus entendre des coups et des
cris désordonnés au-dessus de ma tête ou contre la porte.
Je me précipitai dans la chambre de Strickland, et lui demandai
s’il était malade et s’il m’avait appelé. Il était couché à moitié habillé
sur son lit, une pipe à la bouche.
— Je savais bien que je vous verrais, dit-il. Je viens de me
promener dans la maison, n’est-ce pas ?
J’expliquai comme quoi il avait arpenté la salle à manger, le
fumoir et quelques autres pièces. Là-dessus il se prit à rire et me dit
de retourner me coucher. Je retournai me coucher, et dormis
jusqu’au matin ; mais, dans le trouble de mes nombreux et différents
rêves, j’avais conscience de commettre une injustice vis-à-vis de
quelqu’un aux désirs de qui je n’obtempérais pas. De quels besoins
s’agissait-il, je ne saurais le dire ; mais voletant, chuchotant,
tripotant les serrures, aux aguets, le pas indécis, Quelqu’un me
reprochait mon insouciance ; et, à demi éveillé, je ne cessai de
percevoir le hurlement de Tietjens dans le jardin et le fléau régulier
de la pluie.
Je passai deux jours en cette maison. Strickland se rendit chaque
matin à son bureau, me laissant seul des huit ou dix heures avec
Tietjens pour toute société. Tant qu’il faisait clair, tout allait bien
pour moi, et ainsi de Tietjens ; mais au crépuscule nous
déménagions l’un et l’autre dans la verandah de derrière, et nous
nous recherchions réciproquement, en quête de compagnie. Nous
étions seuls dans la maison ; mais celle-ci n’en était pas moins
beaucoup trop occupée par un hôte dans les affaires duquel je ne
tenais nullement à m’immiscer. Jamais je ne le vis, mais il me fut
loisible de voir les portières qui séparaient les pièces s’agiter sur son
récent passage, d’entendre les chaises craquer comme s’en
redressaient les bambous qu’un poids venait de quitter, et, lorsque
j’allais chercher un livre dans la salle à manger, de sentir que
quelqu’un attendait, dans les ombres de la verandah de devant, que
je m’en fusse allé. Tietjens ajoutait encore aux charmes du
crépuscule en plongeant un regard enflammé dans les pièces
assombries, tout le poil hérissé, et en suivant les mouvements de
quelque chose que je ne pouvais voir. Elle n’entrait jamais dans les
pièces, mais ses yeux allaient et venaient, intéressés : c’était on ne
peut plus suffisant. Elle attendait que mon serviteur vînt arranger les
lampes et rendre tout clair et habitable, pour rentrer avec moi et
passer son temps assise sur les hanches, à surveiller par-dessus mon
épaule les gestes d’un tiers invisible. Les chiens sont de gais
compagnons.
Je tâchai de faire comprendre à Strickland, aussi aimablement
qu’il se pouvait, que j’allais me transporter au cercle afin de chercher
à m’y caser. Je louais son hospitalité, trouvais charmants ses fusils et
ses gaules, mais ne me souciais guère de sa maison ni de
l’atmosphère d’icelle. Il m’écouta jusqu’au bout, et puis sourit d’un
air très las, mais sans mépris, attendu que c’est un homme qui
comprend les choses.
— Restez, dit-il, pour voir ce que cela signifie. Tout ce dont vous
m’avez parlé, je le sais depuis que j’ai pris le bungalow. Restez et
attendez. Tietjens m’a lâché. Allez-vous faire comme elle ?
Je l’avais aidé à se tirer de certaine petite affaire au sujet d’une
idole païenne, laquelle affaire m’avait conduit au seuil d’un asile
d’aliénés, et je n’éprouvais nul désir de l’aider à se tirer de nouvelles
expériences. C’était un homme sur qui pleuvaient les désagréments,
comme sur d’autres pleuvent les invitations à dîner.
Je tâchai, en conséquence, de lui faire comprendre plus
clairement que jamais que je professais pour lui la plus vive
affection, et m’estimerais heureux de le voir dans la journée ; mais
que je ne me souciais point de dormir sous son toit. C’était après
dîner, alors que Tietjens était allée s’étendre dans la verandah.
— Ma foi, je vous comprends, dit Strickland, les yeux fixés sur le
vélum. Regardez-moi cela !
Les queues de deux serpents marron pendaient entre l’étoffe et
la corniche du mur. Sous la lumière de la lampe elles projetaient de
longues ombres.
— Si vous avez peur des serpents, il va de soi… reprit Strickland.
J’ai à la fois la haine et la peur des serpents, attendu que si vous
regardez au fond des yeux n’importe lequel d’entre eux, vous verrez
qu’il en sait encore plus que nous sur le mystère de la chute de
l’homme, et ressent à l’égard de celui-ci tout le mépris que ressentit
le Démon lorsqu’Adam fut mis à la porte de l’Éden. Outre que sa
morsure est généralement fatale, et qu’il s’insinue dans les jambes
de pantalon.
— Vous devriez faire opérer la visite de votre chaume, dis-je.
Passez-moi une gaule, que nous les fassions dégringoler.
— Ils vont aller se cacher parmi les poutres du toit, repartit
Strickland. Je ne peux pas supporter les serpents au-dessus de la
tête ! Je vais monter dans le toit. Si je les fais tomber, tenez-vous par
là avec une baguette de fusil pour leur casser les reins.
Je n’étais guère pressé d’assister Strickland en son opération,
mais je pris la baguette, et attendis dans la salle à manger, tandis
qu’il apportait de la verandah une échelle de jardinier et l’appliquait
contre le mur de la pièce. Les queues de serpent remontèrent et
disparurent. Nous entendîmes l’élan sec et précipité de lourds corps
en train de courir à l’intérieur du bombé que formait le vélum.
Strickland prit une lampe avec lui, pendant que j’essayais de lui faire
comprendre le danger qu’il y avait à faire la chasse aux serpents de
toit entre un vélum et le chaume, sans parler des frais locatifs qu’on
occasionne en fendant les vélums.
— Allons donc ! fit Strickland. Ils vont sûrement se cacher le plus
près possible du vélum. Les briques sont trop froides pour eux, et
c’est la chaleur de la pièce qu’ils recherchent.
Il saisit le coin de l’étoffe, et l’arracha de la corniche. Elle céda
avec un grand bruit de déchirement, après quoi Strickland passa la
tête par l’ouverture pour se trouver plongé dans les ténèbres de
l’angle que formaient les poutres. Je serrai les dents et levai la
baguette, car je n’avais pas la moindre idée de ce qui pouvait
descendre.
— Hum ! fit Strickland, dont la voix roula et gronda dans le toit. Il
y a assez de place, là-haut, pour tout un autre étage, et, ma parole !
quelqu’un l’occupe.
— Les serpents ? répliquai-je d’au-dessous.
— Non. C’est un buffle. Tendez-moi le gros bout d’une gaule de
pêche, et je vais tâcher de l’atteindre. C’est sur la grosse poutre du
toit.
Je tendis la gaule.
— En voilà, un nid à hiboux et à reptiles. Pas étonnant que les
serpents y habitent, dit Strickland, en grimpant plus haut dans la
toiture.
Je voyais son coude aller et venir avec la gaule.
— Sors de là, qui que tu sois ! Gare le dessous ! Voilà que cela
tombe !
Je vis le vélum faire sac presque au centre de la pièce sous un
fardeau qui le faisait de plus en plus descendre vers la lampe
allumée sur la table. Je saisis la lampe pour la mettre à l’abri, et me
reculai. Alors le vélum s’arracha des murs, se déchira, se fendit, se
balança, et vomit sur la table quelque chose que je n’osai regarder,
jusqu’à ce que Strickland eût glissé en bas de l’échelle et se tînt à
côté de moi.
En sa qualité d’homme sobre de paroles, il ne parla guère ; il se
contenta de ramasser le bout pendant de la nappe et de le jeter par-
dessus les restes qui étaient sur la table.
— On dirait, fit-il, en déposant la lampe, que notre ami Imray est
revenu. Tiens ! et toi, qu’est-ce que tu veux ?
La nappe bougea, et un petit serpent sortit en frétillant, pour se
voir casser les reins avec le manche de la gaule. Quant à moi, je me
sentais le cœur trop malade pour dire rien qui vaille la peine de
quelque mention.
Strickland médita, et se versa à boire. La chose qui était sous la
nappe ne donna plus signe de vie.
— Est-ce Imray ? demandai-je.
Strickland retourna la nappe un instant, et regarda.
— C’est Imray, répondit-il, et il a la gorge coupée d’une oreille à
l’autre.
Là-dessus nous articulâmes, tous deux ensemble et nous parlant
à nous-mêmes :
— Voilà pourquoi il chuchotait par toute la maison.
Dans le jardin, Tietjens se mit à aboyer furieusement. Un peu
plus tard, son gros museau poussa la porte de la salle à manger.
Elle renifla et ne bougea plus. Le vélum en loques pendait
presque au niveau de la table, et c’est à peine s’il restait assez de
place pour se tenir à l’écart de la trouvaille.
Tietjens entra et s’assit, les dents à nu sous la lèvre, et les pattes
de devant calées. Elle regarda Strickland.
— C’est une sale affaire, ma vieille, fit-il. Les gens, en général, ne
grimpent guère dans les toits de leurs bungalows pour mourir, et en
tout cas ils ne réassujettiraient pas le vélum derrière eux. Voyons,
réfléchissons.
— Allons réfléchir ailleurs, dis-je.
— Excellente idée ! Éteignez les lampes. Nous allons aller dans
ma chambre.
Je n’éteignis pas les lampes. Je commençai par aller dans la
chambre de Strickland, lui laissant le soin de faire l’obscurité. Puis il
me suivit, après quoi nous bourrâmes nos pipes, et réfléchîmes.
Strickland, du moins, réfléchit. Car, pour moi, je me mis à fumer
avec rage, attendu que j’avais peur.
— Imray est de retour, dit Strickland. La question est : Qui a tué
Imray ? Ne dites rien, j’ai une idée à moi. Lorsque j’ai pris ce
bungalow, j’ai pris aussi la plupart des serviteurs d’Imray. Imray était
un garçon sans détours et bien inoffensif, qu’est-ce que vous en
dites ?
J’en tombai d’accord, malgré que le paquet qui était sous la
nappe ne parût ni l’un ni l’autre.
— Si je fais venir les domestiques, ils vont se soutenir mordicus
et mentir comme des Aryens. Que pensez-vous ?
— Faites-les venir un à un, dis-je.
— Ils courront tout raconter à leurs camarades, reprit Strickland.
Il nous faut les isoler. Croyez-vous que votre serviteur sache quelque
chose ?
— Cela se peut, je n’en sais rien ; mais je ne le crois pas
probable. Il n’est ici que depuis deux ou trois jours, répondis-je.
Qu’avez-vous dans l’idée ?
— Je ne peux rien dire. Comment diantre l’homme a-t-il passé à
l’envers du vélum ?
On entendit une grosse voix tousser derrière la porte de la
chambre à coucher de Strickland. Ce qui signifiait que Bahadour
Khan, son valet de chambre, venait de s’éveiller et voulait mettre
Strickland au lit.
— Entre, dit Strickland. La nuit est très chaude, n’est-ce pas ?
Bahadour Khan, un grand Mahométan de six pieds, turbanné de
vert, déclara qu’en effet c’était une nuit très chaude ; mais qu’il y
avait encore de la pluie dans l’air, ce qui, s’il plaisait à Son Honneur,
apporterait du soulagement au pays.
— Il en sera tel, s’il plaît à Dieu, repartit Strickland en arrachant
ses bottes. Je crains, Bahadour Khan, de t’avoir accablé de travail
depuis pas mal de temps — ma foi, depuis que tu es entré à mon
service. Cela remonte à quand ?
— Le Fils du Ciel a-t-il oublié ? C’était quand Imray Sahib est parti
secrètement pour l’Europe sans avertir ; et je suis entré — oui, moi
— à l’honoré service du protecteur du pauvre.
— Ainsi, Imray Sahib est allé en Europe ?
— C’est ce qu’on dit parmi ses anciens serviteurs.
— Et tu reprendras du service auprès de lui lorsqu’il reviendra ?
— Assurément, Sahib. C’était un bon maître, et il traitait ses gens
avec bienveillance.
— C’est certain. Écoute, je suis très fatigué, mais demain je vais
chasser l’antilope. Donne-moi la petite carabine dont je me sers pour
l’antilope noire ; elle est dans l’étui, là-bas.
L’homme se pencha sur l’étui, tendit les canons, la crosse et le
devant à Strickland, lequel adapta le tout ensemble, puis, avec un
bâillement plaintif, allongea le bras jusqu’à l’étui, y prit une
cartouche à balle, et la glissa dans la culasse du ·360 Express.
— Et comme cela, Imray Sahib est allé secrètement en Europe !
Voilà qui semble bien étrange, Bahadour Khan, ne trouves-tu pas ?
— Que sais-je des façons de l’homme blanc, Fils du Ciel ?
— Pas grand’chose, je l’avoue. Mais tout à l’heure tu en sauras
davantage. Il m’est arrivé d’apprendre qu’Imray Sahib est revenu de
ses si longs voyages, et qu’en ce moment il se trouve dans la pièce à
côté, où il attend son serviteur.
— Sahib !
La lumière de la lampe glissa le long des canons de la carabine
comme ils se mettaient au niveau de la large poitrine de Bahadour
Khan.
— Va voir ! dit Strickland. Prends une lampe. Ton maître est
fatigué, et il t’attend. Va !
L’homme prit une lampe, et s’en alla dans la salle à manger, suivi
de Strickland, qui presque le poussait du bout de la carabine. Il resta
un moment à regarder les sombres retraites que cachait le vélum, le
serpent qui se tordait sur le sol, et, en dernier lieu, tandis que son
visage se couvrait d’une sorte d’enduit grisâtre, cette chose qui était
sous la nappe.
— Tu as vu ? demanda Strickland, après un moment de silence.
— J’ai vu. Je suis d’argile dans les mains de l’homme blanc. Que
va faire Son Honneur ?
— Te pendre avant que ce mois soit écoulé. Quoi d’autre ?
— Pour l’avoir tué ? Mais, Sahib, réfléchis. En allant parmi nous,
ses serviteurs, il laissa tomber les yeux sur mon enfant, qui avait
quatre ans. Il lui jeta un sort, et en dix jours mon enfant — oui, mon
enfant ! — mourut de la fièvre.
— Qu’avait dit Imray Sahib ?
— Il avait dit que c’était un bel enfant, et l’avait caressé sur la
tête ; donc, mon enfant mourut. Donc, je tuai Imray Sahib au
crépuscule, lorsqu’il venait de rentrer du bureau et qu’il dormait.
Donc, je le traînai là-haut dans les poutres du toit et remis tout en
place derrière lui. Je suis le serviteur du Fils du Ciel.
Strickland me regarda par-dessus la carabine, et dit en langage
indigène :
— Tu es témoin de cet aveu ? Il a tué.
Bahadour Khan se tenait là, le visage gris cendre sous la lumière
de l’unique lampe. Le besoin de se justifier ne tarda pas à s’emparer
de lui.
— Je suis pris, dit-il, mais l’offense vient de cet homme. Il avait
jeté le mauvais œil sur mon enfant, et je l’ai tué et caché. Ceux-là
seulement que servent les démons (et son regard lança un éclair sur
Tietjens couchée immobile devant lui), ceux-là seulement pouvaient
savoir ce que j’avais fait.
— C’était fort habile. Mais tu aurais dû l’amarrer à la poutre avec
une corde. Maintenant, c’est toi qu’on va amarrer à une corde.
Planton !
Un policeman assoupi répondit à l’appel de Strickland. Un autre
le suivait, et Tietjens conserva une tranquillité merveilleuse.
— Emmenez-le au poste de police, dit Strickland. Il s’agit d’un cas
urgent.
— On me pend, alors ? demanda Bahadour Khan, sans faire la
moindre tentative de fuite, et en gardant les yeux attachés au sol.
— Si le soleil brille et si l’eau coule [1] — oui, répliqua Strickland.
[1] Proverbe indigène.

Bahadour Khan recula d’une longue enjambée, frissonna, et ne


bougea plus. Les deux policemen attendirent de nouveaux ordres.
— Allez ! fit Strickland.
— Pardon ; mais je m’en vais très vite, dit Bahadour Khan.
Regarde ! Je suis dès maintenant un homme mort.
Il leva le pied, et au petit doigt crochait la tête du serpent à demi
tué, solidement fixée dans l’agonie de la mort.
— Je sors d’une famille de propriétaires, dit Bahadour Khan, en
chancelant sur place. C’eût été une honte pour moi que de marcher
à la potence ; aussi, je prends ce chemin. Qu’on se rappelle que les
chemises du sahib sont toutes bien comptées, et qu’il y a dans sa
cuvette un morceau de savon d’extra. Mon enfant fut ensorcelé, et
j’ai fait périr le sorcier. Pourquoi chercheriez-vous à me faire périr par
la corde ? Mon honneur est sauf, et… et… je meurs.
Il mourut, au bout d’une heure, comme meurent ceux que pique
le petit karait brun. Et les policemen le portèrent, lui et cette chose
qui était sous la nappe, en leurs places respectives.

— Et c’est, dit Strickland d’un ton très calme, en grimpant dans


son lit, ce qu’on appelle le vingtième siècle. Avez-vous entendu ce
qu’a dit cet homme ?
— J’ai entendu, répliquai-je. Imray s’est trompé.
— Tout simplement pour avoir ignoré la nature de l’Oriental, et la
coïncidence d’une petite fièvre périodique. Il y avait quatre ans que
Bahadour Khan était avec lui.
Je frémis. Il y avait exactement ce laps de temps que mon propre
serviteur était avec moi. Lorsque je passai dans ma chambre, je
trouvai mon homme qui m’attendait, aussi impassible que l’effigie de
cuivre d’un penny, pour m’enlever mes bottes.
— Qu’est-ce donc qui est arrivé à Bahadour Khan ? dis-je.
— Il a été piqué par un serpent, et il est mort. Le reste, le sahib
le sait.
Telle fut la réponse.
— Et que sais-tu toi-même de cette affaire ?
— Tout ce qu’on pouvait recueillir de quelqu’un qui s’en vient au
crépuscule demander satisfaction. Doucement, sahib. Que j’enlève
ces bottes.
Je venais de céder au sommeil d’un homme qui n’en peut plus,
lorsque j’entendis Strickland crier de son côté de la maison :
— Tietjens est revenue à sa place !
Elle y était revenue, en effet. Le grand lévrier était
majestueusement étendu sur son propre lit, sur sa propre
couverture, tandis qu’en la chambre voisine allait et venait, balayant
la table, le vélum indolent et veuf.
DRAY WARA YOW DEE

Des amandes et des raisins, sahib ? Du raisin de Caboul ? Ou


peut-être un poney des plus beaux si seulement le sahib veut bien
venir avec moi ? Il a un mètre quarante au garrot, joue le polo,
s’attelle à la charrette, porte une dame, et — par le Saint Kurshed et
les Bienheureux Imams, c’est le sahib en personne ! Mon cœur est
gonflé et mon œil satisfait. Puissiez-vous ne jamais ressentir de
fatigue ! Telle l’eau fraîche au lit du Tirah, telle la vue d’un ami en un
lieu éloigné. Et que faites-vous, vous, dans ce maudit pays ? Au sud
du Delhi, sahib, vous savez le proverbe — « Rats les hommes, catins
les femmes. » Comment, c’est sur un ordre ? Oh, alors ! Un ordre est
un ordre jusqu’à ce qu’on soit assez fort pour désobéir. O mon frère,
ô mon ami, nous nous sommes rencontrés en une heure propice !
Tout va-t-il bien dans le cœur, le corps et la maison ? Jour heureux
que celui où tous deux nous nous retrouvons !
Je vais avec vous ? Grande est votre faveur. Y aura-t-il place pour
les piquets dans le compound ? J’ai trois chevaux, les charges et le
palefrenier. De plus, souvenez-vous que la police d’ici me tient pour
un voleur de chevaux. Qu’est-ce qu’ils y connaissent aux voleurs de
chevaux, ces bâtards des Lowlands ? Vous rappelez-vous le temps où
Kamal — le vagabond qu’il était — menait tapage aux portes de
Jumrud, et où il souleva les chevaux du colonel tous dans une nuit ?
Kamal est mort maintenant, mais son neveu a repris l’affaire en
main, et ce n’en est pas fini, qu’il se trouve encore des manquants
parmi les chevaux, si les recrues de l’autre côté de la passe de
Khaiber n’y veillent.
La paix de Dieu et la faveur de son Prophète soient sur cette
maison-ci et tout ce qu’il y a dedans ! Shafiz-ullah, attache la jument
pommelée sous l’arbre et tire de l’eau. Les chevaux peuvent rester
au soleil, mais replie-leur les feutres sur les reins. Non, mon ami,
inutile de les regarder. Ils sont destinés à être vendus à ces idiots
d’officiers qui connaissent si bien le cheval. La jument est pleine à
mettre bas ; le gris est un informe démon ; et l’isabelle… mais vous
connaissez le truc de la cheville dans le sabot. Dès qu’ils seront
vendus je retourne à Pubbi, ou, peut-être bien, dans la vallée de
Peshawer.
O ami de mon cœur, que c’est bon de vous revoir ! J’ai passé ma
journée à faire des courbettes et à mentir aux sahibs officiers par
rapport à ces chevaux, et j’ai soif de franc-parler. Auggrh ! C’est une
excellente chose que le tabac avant le repas. Allez de votre côté, car
nous ne sommes pas dans notre pays. Asseyez-vous dans la
verandah, et moi je vais étendre ici mon tapis. Mais il faut
auparavant que je boive. Au nom de Dieu et pour le remercier, trois
fois merci ! Voici, certes, une eau parfaite — aussi parfaite que l’eau
de Sheoran lorsqu’elle arrive des neiges.
Ils sont tous heureux et bien portants dans le nord — Khoda
Bash et les autres. Yar Khan est descendu du Kourdistan avec les
chevaux — trois douzaines seulement, dont une bonne moitié en
poneys de bât — et il a déclaré en plein sérail de Kashmir que vous
devriez, vous autres Anglais, envoyer des canons faire sauter l’amir
en enfer. Il y a, en ce moment, quinze péages sur la route de
Kaboul ; et à Dakka, lorsqu’il se croyait hors d’affaire, Yar Khan s’est
vu dépouillé de tous ses étalons du Balkh par le gouverneur ! C’est
criant d’injustice, et Yar Khan est fou de rage. Pour ce qui est des
autres, Mahbub Ali est encore à Pubbi, en train d’écrire Dieu sait
quoi. Tugluq Khan est en prison pour l’affaire du poste de police de
Kohat. Faiz Beg est descendu d’Ismail-ki-Dhera avec une ceinture
bokhariote pour toi, mon frère, à la fin de l’année, mais personne ne
savait où tu étais allé ; il n’était pas resté la moindre nouvelle. Les
cousins ont pris un nouvel herbage près de Pakpattan pour élever
des mules destinées aux charrettes du gouvernement, et il y a au
bazar une histoire de prêtre. Oh, oh ! Un conte d’un salé ! Écoute…
Sahib, pourquoi me demander cela ? Si mes vêtements sont
souillés, c’est à cause de la poussière de la route. Si j’ai les yeux
cernés, c’est à cause de l’éclat du soleil. Si j’ai les pieds gonflés, c’est
de les avoir lavés dans des eaux amères ; et si j’ai les joues creuses,
c’est parce que la nourriture, ici, est mauvaise. Au feu, votre argent !
Je n’en ai que faire. Je suis riche, et je vous prenais pour un ami ;
mais vous êtes comme les autres — un sahib. Un homme est-il
triste ? Donnez-lui de l’argent, disent les sahibs. Est-il déshonoré ?
Donnez-lui de l’argent, disent les sahibs. A-t-il un affront à venger ?
Donnez-lui de l’argent, disent les sahibs. Tels sont les sahibs, et tel
es-tu, toi — oui, toi.
Non, ne regardez pas les pieds de l’isabelle. Dommage que je ne
vous aie jamais appris à connaître les jambes d’un cheval ? Boiteux ?
Soit. Eh bien, quoi ? Les routes sont dures. Et la jument aussi, est
boiteuse ? Elle porte double fardeau, sahib.
Et maintenant, je vous en prie, laissez-moi partir. Grands sont la
faveur et l’honneur dont j’ai été l’objet de la part du sahib, et
gracieusement a-t-il montré sa croyance que les chevaux sont volés.
Lui plaira-t-il de m’envoyer à la thana [2] ? D’appeler un balayeur
pour me faire emmener par un de ces lézards-là ? Je suis l’ami du
sahib. J’ai bu de l’eau à l’ombre de sa maison et il m’a noirci la face.
Reste-t-il quelque chose à faire ? Le sahib me donnera-t-il huit annas
pour adoucir l’injure et… compléter l’insulte ?…
[2] Poste de police.

Pardonnez-moi, mon frère. Je ne savais — je ne sais pas en ce


moment — ce que je dis. Oui, je vous ai menti ! Je me couvrirai la
tête de poussière — je ne suis qu’un Afridi ! Les chevaux ont dû
marcher, tout boiteux qu’ils sont, depuis la vallée jusqu’ici, et j’ai les
yeux brouillés, et le corps me fait mal, à cause du manque de
sommeil, et j’ai le cœur desséché de chagrin et de honte. Mais, de
même que ce fut ma honte, de même, par le Dieu Dispensateur de
la Justice — par Allah-al-Mumit, ma vengeance sera mienne !
Ce n’est pas la première fois que nous causons le cœur à nu, et
nos doigts ont trempé dans le même plat, et tu as été pour moi
comme un frère. C’est pourquoi je te paie de mensonges et
d’ingratitude… comme un Pathan. Écoute, maintenant ! Quand la
douleur de l’âme passe de son poids les forces de l’endurance, on
arrive par la parole à l’alléger un peu ; en outre, l’esprit de l’homme
sincère est comme un puits, et le caillou de confession qu’on y laisse
tomber, s’y enfonce et plus ne se revoit. De la vallée je suis venu à
pied, lieue par lieue, dans la poitrine un feu pareil au feu de l’enfer.
Et pourquoi ? As-tu, alors, si vite oublié nos coutumes, parmi ces
gens d’ici qui vendent leurs femmes et leurs filles pour de l’argent ?
Reviens avec moi dans le nord et sois parmi des hommes une fois
encore. Reviens, lorsque cette affaire sera consommée et que je
t’appellerai ! La fleur des vergers de pêchers est sur toute la vallée,
et il n’est, ici, que poussière et grande puanteur. Un vent plaisant
souffle dans les mûriers, et les torrents sont éclatants d’eau de
neige, et les caravanes montent et les caravanes descendent, et cent
feux étincellent dans le boyau de la Passe, et le piquet de tente
répond au maillet, et le poney de charge hennit au poney de charge
à travers la fumée flottante du soir. Il fait bon maintenant dans le
nord. Reviens avec moi. Retournons aux nôtres ! Viens !
. . . . . . . . . . . . . . . . . . . .
D’où mon chagrin ? Lorsque l’homme s’arrache le cœur et
morceau par morceau le fait cuire à feu lent, est-ce pour rien autre
qu’une femme ? Ne ris pas, ami à moi, car ton temps aussi viendra.
C’était une femme des Abazai, et je la pris en mariage pour arrêter
la discorde entre notre village et les gens de Ghor. Je ne suis plus
jeune ? La chaux a touché ma barbe ? C’est vrai. Je n’avais aucun
besoin de me marier ? Non, mais je l’aimais. Que dit Rahman : —
« En celui dont le cœur ouvre la porte à l’Amour, il n’est que Folie et
rien autre. D’un éclair de l’œil elle t’a aveuglé, et des paupières et de
la frange des paupières pris en captivité sans rançon, et rien autre. »
Te rappelles-tu cette chanson durant que le mouton rôtissait au
camp de Pindi, parmi les Uzbegs de l’amir ?
Les gens des Abazai sont des chiens, et leurs femmes, les
servantes du péché. Il y avait bien parmi les siens, à elle, un
amoureux ; mais, de cela, son père ne me dit mot. Mon ami,
maudissez pour moi dans vos prières, comme je maudis chaque fois
que je prie depuis le Fakr jusqu’à l’Isha, le nom de Daoud Shah, des
Abazai, dont la tête repose encore sur le col, dont les mains sont
encore aux poignets, qui a causé mon déshonneur, qui a fait de mon
nom un objet de risée parmi les femmes du Petit Malikand.
Au bout de deux mois je me rendis en Hindoustan — à Chérat. Je
ne restai parti que douze jours ; mais j’avais déclaré que je resterais
quinze jours absent. Ainsi fis-je pour l’éprouver, car il est écrit : « Ne
te fie pas à l’incapable. » En remontant seul la gorge à la chute du
jour, j’entendis une voix d’homme chanter à la porte de ma maison ;
et c’était la voix de Daoud Shah, et la chanson qu’il chantait, c’était
Dray wara yow dee — les trois ne font qu’un. Ce fut comme si l’on
m’eût glissé une entrave autour du cœur et que tous les démons
eussent tiré dessus pour la serrer passé toute endurance. Je me
coulai silencieusement jusqu’en haut du chemin, mais la pluie avait
mouillé la mèche de mon flingot, et je ne pouvais tuer Daoud Shah
de loin. De plus, j’avais dans l’idée de tuer la femme aussi. De sorte
qu’il continuait de chanter, assis à l’extérieur de ma maison ; et voilà
que la femme ouvrit la porte, et j’approchai, rampant sur le ventre
parmi les rochers. Je n’avais sous la main que mon couteau. Or, mon
pied fit glisser une pierre, et tous deux regardèrent en bas de la
montagne, et lui, laissant là son flingot, fuit ma colère, à cause qu’il
avait peur pour la vie qui était en lui. Quant à la femme, elle ne
bougea que je ne fusse en face d’elle, lui criant : « O femme, qu’est-
ce donc que tu as fait ? » Et elle, le cœur exempt de crainte, bien
qu’elle connût ma pensée, se prit à rire et dit : « C’est peu de chose.
Je l’aimais, et toi tu n’es qu’un chien et un voleur de bétail qui
profites de la nuit. Frappe ! » Et moi, encore aveuglé par sa beauté…
car, ô mon ami ! les femmes des Abazai sont fort belles, je dis :
« N’as-tu donc point de crainte ? » Et elle, de répondre : « Aucune —
sauf la crainte de ne point mourir. » Alors, je dis : « N’aie point cette
crainte. » Et elle baissa la tête, et je la lui abattis à la nuque d’un
coup si fort que cette tête me sauta entre les pieds. Après quoi la
fureur des nôtres s’empara de moi, et je lui ébréchai les seins, afin
que les hommes du Petit Malikand pussent avoir connaissance du
crime, et je jetai le corps dans le cours d’eau qui aboutit à la rivière
de Caboul. Dray wara yow dee ! Dray wara yow dee ! Le corps sans
tête, l’âme sans lueur, et mon propre cœur enténébré… les trois ne
font qu’un… les trois ne font qu’un !
Cette nuit-là, sans faire halte, j’allai à Ghor, demander après
Daoud Shah. On me dit : « Il est allé à Pubbi pour des chevaux. Que
lui veux-tu ? La paix règne entre les villages. » Je répondis : « Oui-
da ! La paix de trahison et l’amour qu’à Gurel porta le démon Atala. »
Sur quoi je fis feu trois fois dans la barrière, me mis à rire et
poursuivis mon chemin.
Au cours de ces heures-là, frère et ami du cœur de mon cœur, la
lune et les étoiles étaient comme du sang au-dessus de moi, et
j’avais dans la bouche le goût de la terre sèche. Aussi ne rompis-je le
jeûne, et n’eus-je pour boisson que la pluie de la vallée de Ghor sur
la face.
A Pubbi je trouvai Mahbub Ali, l’écrivain, assis sur son lit de
sangle, et lui livrai mes armes conformément à votre Loi. Mais je ne
m’attristais pas, car il était dans mon cœur que je tuerais Daoud
Shah de mes mains que voici, de la sorte — comme on dépouille une
grappe de raisin. Mahbub Ali dit : « Daoud Shah vient à l’instant de
partir en toute hâte pour Peshawer, et il va choisir ses chevaux le
long de la route, en allant à Delhi, car on prétend que la compagnie
de tramways de Bombay est en train d’acheter dans cette dernière
ville des chevaux par wagonnées… huit chevaux au wagon. » Et ce
qu’il disait était vrai parler.
Alors je m’aperçus que la randonnée ne serait pas peu de chose,
car l’homme avait passé vos frontières pour échapper à ma colère.
Est-ce ainsi qu’il échappera ? Ne suis-je pas en vie ? Quand il irait
courir au nord jusqu’au Dora et jusqu’aux neiges, ou bien au sud
jusqu’à l’Eau Noire, je le suivrai, comme un amant, pas à pas, suit sa
maîtresse, et m’avançant sur lui je le prendrai tendrement… oh ! si
tendrement, dans mes bras, et lui dirai : « C’est bien travaillé, et bien
récompensé seras-tu. » Et Daoud Shah ne sortira pas de mon
étreinte le souffle aux narines. Augrrh ! Où est la cruche ? J’ai soif
autant qu’une jument grosse d’un mois.
Votre Loi ! Que me fait votre Loi ? Quand les chevaux se battent
dans les herbages, prêtent-ils attention aux barrières ; ou les
vautours d’Ali Musjid s’abstiennent-ils si la charogne gît à l’ombre du
Ghor Kuttri [3] ? L’affaire a pris naissance de l’autre côté de la
frontière. Elle prendra fin où Dieu voudra. Ici, dans mon propre pays,
ou en enfer. Les trois ne font qu’un.
[3] Caravansérail, à Peshawer.

Écoute, maintenant, toi qui partages le chagrin de mon cœur, et


je vais te raconter la randonnée. Je suivis la piste de Pubbi à
Peshawer, et je courus les rues de Peshawer comme un chien errant,
en quête de mon ennemi. Une fois, je crus le voir se laver la bouche
à la borne-fontaine du grand square ; mais, comme j’allais
l’atteindre, il était parti. Il se peut que ce fût lui, et qu’en voyant qui
j’étais il ait fui.
Une fille du bazar m’apprit qu’il irait à Nowshera. Je dis : — « O
cœur de mon cœur, Daoud Shah te visite-t-il ? » Elle répondit : —
« Parfaitement. » Je repris : — « Je souhaiterais de le voir, car nous
sommes amis, et voilà deux ans que nous ne nous sommes vus.
Cache-moi, je te prie, ici dans l’ombre de la persienne, et j’attendrai
sa venue. » Et la fille, de dire : — « O Pathan, regarde-moi dans les
yeux ! » Et couché sur son sein je tournai la tête et la regardai dans
les yeux, en jurant que je disais la vraie vérité de Dieu. Mais elle, de
répondre : — « Jamais ami n’attendit ami avec de pareils yeux.
Mentez à Dieu et au Prophète, mais à une femme vous ne sauriez
mentir. Hors d’ici ! Nul mal, à cause de moi, n’arrivera à Daoud
Shah. »
Sans la peur de votre police j’eusse étranglé cette fille ; et de la
sorte la randonnée eût été réduite à néant. Je me contentai donc de
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