JoinourcommunityDiscordspace
JoinourPythonDiscordworkspacetodiscussandknowmoreaboutthebook: https://packt.link/dHrHU
Rewritethesome_function()function • 79
AlternativeMersenneclassdefinition • 80
Alternativealgorithmimplementations • 81
Mapandfilter • 82
Dictionarycomprehension • 82
Rawdatacleanup • 82
Chapter4:WorkingwithCollections 85
Anoverviewoffunctionvarieties..................................................86
ParsinganXMLfile • 89
Parsingafileatahigherlevel • 92
Pairingupitemsfromasequence • 95
Usingtheiter()functionexplicitly • 98
Extendinganiteration • 100
Applyinggeneratorexpressionstoscalarfunctions • 104
Usingany()andall()asreductions..................................................108
Usinglen()andsum()oncollections................................................110
Usingsumsandcountsforstatistics • 111
Usingzip()tostructureandflattensequences......................................116
Unzippingazippedsequence • 117
Flatteningsequences • 118
Structuringflatsequences • 120
Structuringflatsequences–analternativeapproach • 124
Usingsorted()andreversed()tochangetheorder.................................125
Usingenumerate()toincludeasequencenumber..................................127
Palindromicnumbers • 129
Handsofcards • 130
Replacelegs()withpairwise() • 131
Expandlegs()toincludeprocessing • 132
Chapter5:Higher-OrderFunctions133
Usingmax()andmin()tofindextrema.............................................134
UsingPythonlambdaforms • 138
Lambdasandthelambdacalculus • 140
Usingthemap()functiontoapplyafunctiontoacollection......................141
Workingwithlambdaformsandmap() • 143
Usingmap()withmultiplesequences • 144
Usingthefilter()functiontopassorrejectdata....................................146
Usingfilter()toidentifyoutliers • 149
Theiter()functionwithasentinelvalue............................................150
Usingsorted()toputdatainorder..................................................151
Overviewofwritinghigher-orderfunctions.......................................153
Writinghigher-ordermappingsandfilters.........................................153
Unwrappingdatawhilemapping • 156
Wrappingadditionaldatawhilemapping • 159
Flatteningdatawhilemapping • 161
Structuringdatawhilefiltering • 164
Buildinghigher-orderfunctionswithcallables....................................167
Assuringgoodfunctionaldesign • 168
Reviewofsomedesignpatterns.....................................................171
Classificationofstate • 173
Classificationofstate,PartII • 174
Optimizingafileparser • 175
Chapter6:RecursionsandReductions 177
Simplenumericalrecursions........................................................178
Implementingmanualtail-calloptimization • 180
Leavingrecursioninplace • 181
Handlingdifficulttail-calloptimization • 182
Processingcollectionsthroughrecursion • 184
Tail-calloptimizationforcollections • 185
Usingtheassignment(sometimescalledthe“walrus”)operatorinrecursions • 187
Reductionsandfoldingacollectionfrommanyitemstoone......................188
Tail-calloptimizationusingdeques • 190
Group-byreductionfrommanyitemstofewer....................................193
BuildingamappingwithCounter • 195
Buildingamappingbysorting • 196
Groupingorpartitioningdatabykeyvalues • 198
Writingmoregeneralgroup-byreductions • 203
Writinghigher-orderreductions • 205
Writingfileparsers • 207
ParsingCSVfiles • 211
Parsingplaintextfileswithheaders • 214
Multiplerecursionandcaching • 219
Refactortheall_print()function • 219
ParsingCSVfiles • 219
Classificationofstate,PartIII • 220
Dieselenginedata • 220
UsingNamedTupletocollectdata...................................................227
Usingfrozendataclassestocollectdata.............................................233
Complicatedobjectinitializationandpropertycomputations.....................237
Usingpyrsistenttocollectdata.....................................................240
Avoidingstatefulclassesbyusingfamiliesoftuples...............................246
ComputingSpearman’srank-ordercorrelation • 252
Polymorphismandtypepatternmatching..........................................257
Summary.............................................................................261
Exercises.............................................................................262
Frozendictionaries • 263
Dictionary-likesequences • 264
Revisetherank_xy()functiontousenativetypes • 265
Revisetherank_corr()function • 265
Revisethelegs()functiontousepyrsistent • 265
Chapter8:TheItertoolsModule 267
Workingwiththeinfiniteiterators.................................................269
Countingwithcount() • 269
Countingwithfloatarguments • 271
Re-iteratingacyclewithcycle() • 275
Usingcycle()fordatasampling • 276
Repeatingasinglevaluewithrepeat() • 278
Usingthefiniteiterators.............................................................280
Assigningnumberswithenumerate() • 281
Runningtotalswithaccumulate() • 284
Combiningiteratorswithchain() • 286
Partitioninganiteratorwithgroupby() • 287
Mergingiterableswithzip_longest()andzip() • 290
Creatingpairswithpairwise()) • 290
Filteringwithcompress() • 291
Pickingsubsetswithislice() • 293
Statefulfilteringwithdropwhile()andtakewhile() • 295
Twoapproachestofilteringwithfilterfalse()andfilter() • 297
Applyingafunctiontodataviastarmap()andmap() • 298
Cloningiteratorswithtee().........................................................301
Optimizethefind_first()function • 306
CompareChapter4withtheitertools.pairwise()recipe • 306
CompareChapter4withitertools.tee()recipe • 307
Splittingadatasetfortrainingandtestingpurposes • 307
Rankordering • 307
Chapter9:ItertoolsforCombinatorics–PermutationsandCombinations 309
Actualdomainofpixelcolorvalues • 338
Cribbagehandscoring • 339 Chapter10:TheFunctoolsModule343
Applyingpartialargumentswithpartial()..........................................351
Reducingsetsofdatawiththereduce()function...................................353
Combiningmap()andreduce() • 356
Usingthereduce()andpartial()functions • 358
Usingthemap()andreduce()functionstosanitizerawdata • 360
Usingthegroupby()andreduce()functions • 362
Avoidingproblemswithreduce() • 366
Comparestring.join()andreduce() • 370
Extendthecomma_fix()function • 370
Revisetheclean_sum()function • 371
Replacetruedivisionwithafraction • 391
Colorfileparsing • 391
Anscombe’squartetparsing • 392
Waypointcomputations • 393
Waypointgeofence • 393
Callableobjectfortherow_counter()function • 394
Decoratorsashigher-orderfunctions...............................................398
Usingthefunctoolsupdate_wrapper()function •
Cross-cuttingconcerns..............................................................404 Compositedesign....................................................................405
Preprocessingbaddata • 407 Addingaparametertoadecorator..................................................410
Datetimeconversions • 421
Optimizeadecorator • 423
None-tolerantfunctions • 423
Logging • 424
FunctionalcompositionwithPyMonad •
Functors–makingeverythingafunction..........................................434
UsingthelazyListMonad()monad • 436
Exercises.............................................................................449
Revisethearctangentseries • 449
Statisticalcomputations • 450
Datavalidation • 450
Multiplemodels • 451
Chapter14:TheMultiprocessing,Threading,andConcurrent.Futures
Theboundaryconditions • 455
Sharingresourceswithprocessorthreads • 456
Wherebenefitswillaccrue • 457
Usingmultiprocessingpoolsandtasks.............................................459
Processingmanylargefiles • 460
Parsinglogfiles–gatheringtherows • 462
Parsingloglinesintonamedtuples • 463
ParsingadditionalfieldsofanAccessobject • 467
Filteringtheaccessdetails • 471
Analyzingtheaccessdetails • 472
Thecompleteanalysisprocess • 473
Usingamultiprocessingpoolforconcurrentprocessing..........................474
Usingapply()tomakeasinglerequest • 478
Morecomplexmultiprocessingarchitectures • 479
Usingtheconcurrent.futuresmodule • 479
Usingconcurrent.futuresthreadpools • 480
Usingthethreadingandqueuemodules • 481
Usingasyncfunctions • 482
Designingconcurrentprocessing • 483 Summary.............................................................................486
Exercises.............................................................................487
Lazyparsing • 487
Filteraccesspathdetails • 488
Add@cachedecorators • 489
Createsampledata • 489
Changethepipelinestructure • 490
TheHTTPrequest-responsemodel.................................................492
Injectingstatethroughcookies • 495
Consideringaserverwithafunctionaldesign • 496
Lookingmoredeeplyintothefunctionalview • 497
Nestingtheservices • 498
TheWSGIstandard..................................................................499
RaisingexceptionsduringWSGIprocessing • 503
Pragmaticwebapplications • 505
Definingwebservicesasfunctions.................................................506
Flaskapplicationprocessing • 508
Thedataaccesstier • 513
Applyingafilter • 515
Serializingtheresults • 516
SerializingdatawithJSONorCSVformats • 518
SerializingdatawithXMLandHTML • 519
Trackingusage.......................................................................520
WSGIapplication:welcome • 524
WSGIapplication:demo • 524
SerializingdatawithXML • 525
SerializingdatawithHTML • 525
Preface
Functionalprogrammingoffersavarietyoftechniquesforcreatingsuccinctandexpressive software.WhilePythonisnotapurelyfunctionalprogramminglanguage,wecandoa greatdealoffunctionalprogramminginPython.
Pythonhasacoresetoffunctionalprogrammingfeatures.Thisletsusborrowmanydesign patternsandtechniquesfromotherfunctionallanguages.Theseborrowedconceptscan leadustocreateelegantprograms.Python’sgeneratorexpressions,inparticular,negate theneedtocreatelargein-memorydatastructures,leadingtoprogramsthatmayexecute morequicklybecausetheyusefewerresources.
Wecan’teasilycreatepurelyfunctionalprogramsinPython.Pythonlacksanumberof featuresthatwouldberequiredforthis.Wedon’thaveunlimitedrecursion,forexample, wedon’thavelazyevaluationofallexpressions,andwedon’thaveanoptimizingcompiler.
Thereareseveralkeyfeaturesoffunctionalprogramminglanguagesthatareavailable inPython.Oneofthemostimportantonesistheideaoffunctionsbeingfirst-classobjects.Pythonalsooffersanumberofhigher-orderfunctions.Thebuilt-in map(), filter(), and functools.reduce() functionsarewidelyusedinthisrole,andlessobviousare functionssuchas sorted(), min(),and max().
Insomecases,afunctionalapproachtoaproblemwillalsoleadtoextremelyhighperformancealgorithms.Pythonmakesittooeasytocreatelargeintermediatedata structures,tyingupmemory(andprocessortime).Withfunctionalprogrammingdesignpatterns,wecanoftenreplacelargelistswithgeneratorexpressionsthatareequally expressivebuttakeupmuchlessmemoryandrunmuchmorequickly.
We’lllookatthecorefeaturesoffunctionalprogrammingfromaPythonpointofview.
Ourobjectiveistoborrowgoodideasfromfunctionalprogramminglanguagesanduse thoseideastocreateexpressiveandsuccinctapplicationsinPython.
Whothisbookisfor
Thisbookisformoreexperiencedprogrammerswhowanttocreatesuccinct,expressive Pythonprogramsbyborrowingtechniquesanddesignpatternsfromfunctionalprogramminglanguages.Somealgorithmscanbeexpressedelegantlyinafunctionalstyle;we can—andshould—adaptthistomakePythonprogramsmorereadableandmaintainable.
ThisisnotintendedasatutorialonPython.Thisbookassumessomefamiliaritywiththe languageandthestandardlibrary.ForafoundationalintroductiontoPython,consider LearnPythonProgramming,ThirdEdition: https://www.packtpub.com/product/learn-p ython-programming-third-edition/9781801815093.
Whilewecoverthefoundationsoffunctionalprogramming,thisisnotacompletereviewof thevariouskindsoffunctionalprogrammingtechniques.Havinganexposuretofunctional programminginanotherlanguagecanbehelpful.
Whatthisbookcovers
Wecandecomposethisbookintotwogeneralkindsoftopics:
• EssentialsoffunctionalprogramminginPython.Thisisthecontentof Chapters1 through 7
• Librarymodulestohelpcreatefunctionalprograms.Thisisthesubjectofthe remainingchaptersofthebook. Chapter12 includesbothfundamentallanguageand librarytopics.
Chapter1, UnderstandingFunctionalProgramming,introducessomeofthetechniquesthat characterizefunctionalprogramming.We’llidentifysomeofthewaystomapthosefeatures toPython.We’llalsoaddresssomewaysthatthebenefitsoffunctionalprogrammingaccrue whenweusethesedesignpatternstobuildPythonapplications.
Chapter2, IntroducingEssentialFunctionalConcepts,delvesintocentralfeaturesofthe functionalprogrammingparadigm.We’lllookateachinsomedetailtoseehowthey’re implementedinPython.We’llalsopointoutsomefeaturesoffunctionallanguagesthat don’tapplywelltoPython.Inparticular,manyfunctionallanguageshavecomplextypematchingrulesrequiredtosupportcompilingandoptimizing.
Chapter3, Functions,Iterators,andGenerators,willshowhowtoleverageimmutablePython objects,andhowgeneratorexpressionsadaptfunctionalprogrammingconceptstothe Pythonlanguage.We’lllookatsomeofthebuilt-inPythoncollectionsandhowwecan leveragethemwithoutdepartingtoofarfromfunctionalprogrammingconcepts.
Chapter4, WorkingwithCollections,showshowyoucanuseanumberofbuilt-inPython functionstooperateoncollectionsofdata.Thischapterwillfocusonanumberofrelatively simplefunctions,suchas any() and all(),whichreduceacollectionofvaluestoasingle result.
Chapter5, Higher-OrderFunctions,examinesthecommonlyusedhigher-orderfunctions suchas map() and filter().Italsoshowsanumberofotherhigher-orderfunctionsas wellashowwecancreateourownfunctionsthatworkwithfunctionsorreturnfunctions.
Chapter6, RecursionsandReductions,teacheshowtodesignanalgorithmusingrecursion andthenoptimizeitintoahigh-performance for statement.We’llalsolookatsomeother reductionsthatarewidelyused,including collections.Counter().
Chapter7, ComplexStatelessObjects,showcasesanumberofwaysthatwecanuseimmutable tuples, typing.NamedTuple,andthefrozen @dataclass insteadofstatefulobjects.We’ll alsolookatthe pyrsistent moduleasawaytocreateimmutableobjects.Immutable objectshaveasimplerinterfacethanstatefulobjects:weneverhavetoworryabout abusinganattributeandsettinganobjectintosomeinconsistentorinvalidstate.
Chapter8, TheItertoolsModule,examinesanumberoffunctionsinthe itertools standard librarymodule.Thiscollectionoffunctionssimplifieswritingprogramsthatdealwith collectionsorgeneratorfunctions.
Chapter9, ItertoolsforCombinatorics–PermutationsandCombinations,coversthecombinatoricfunctionsinthe itertools module.Thesefunctionsaremorespecializedthanthose inthepreviouschapter.Thischapterincludessomeexamplesthatillustrateill-considered useofthesefunctionsandtheconsequencesofcombinatoricexplosion.
Chapter10, TheFunctoolsModule,focusesonhowtousesomeofthefunctionsinthe functools moduleforfunctionalprogramming.Afewfunctionsinthismodulearemore appropriateforbuildingdecorators,andtheyareleftfor Chapter12, DecoratorDesign Techniques.
Chapter11, TheToolzPackage,coversthe toolz package,anumberofcloselyrelated modulesthathelpuswritefunctionalprogramsinPython.The toolz modulesparallel thebuilt-in itertools and functools modules,providingalternativesthatareoftenmore sophisticatedandmakebetteruseofcurriedfunctions.
Chapter12, DecoratorDesignTechniques,covershowwecanlookatadecoratorasaway tobuildacompositefunction.Whilethereisconsiderableflexibilityhere,therearealso someconceptuallimitations:we’lllookatwaysthatoverlycomplexdecoratorscanbecome confusingratherthanhelpful.
Chapter13, ThePyMonadLibrary,examinessomeofthefeaturesofthePyMonadlibrary. Thisprovidessomeadditionalfunctionalprogrammingfeatures.Italsoprovidesawayto learnmoreaboutmonads.Insomefunctionallanguages,monadsareanimportantwayto forceaparticularorderforoperationsthatmightgetoptimizedintoanundesirableorder. SincePythonalreadyhasstrictorderingofexpressionsandstatements,themonadfeature ismoreinstructivethanpractical.
Chapter14, TheMultiprocessing,Threading,andConcurrent.FuturesModules,pointsout animportantconsequenceofgoodfunctionaldesign:wecandistributetheprocessing workload.Usingimmutableobjectsmeansthatwecan’tcorruptanobjectbecauseofpoorly synchronizedwriteoperations.
Chapter15, AFunctionalApproachtoWebServices,showshowwecanthinkofwebservices asanestedcollectionoffunctionsthattransformarequestintoareply.We’llseewaysto
Preface xxv leveragefunctionalprogrammingconceptsforbuildingresponsive,dynamicwebcontent.
Chapter16, AChi-SquaredCaseStudy,isabonus,online-onlycasestudyapplyinganumber offunctionalprogrammingtechniquestoaspecificexploratorydataanalysisproblem.We willapplya �� 2 statisticaltesttosomecomplexdatatoseeiftheresultsshowordinary variability,oriftheyareanindicationofsomethingthatrequiresdeeperanalysis.Youcan findthecasestudyhere: https://github.com/PacktPublishing/Functional-Python-P rogramming-3rd-Edition/blob/main/Bonus_Content/Chapter_16.pdf.
Togetthemostoutofthisbook
ThisbookpresumessomefamiliaritywithPython3andgeneralconceptsofapplication development.Wewon’tlookdeeplyatsubtleorcomplexfeaturesofPython;we’llavoid muchconsiderationoftheinternalsofthelanguage.
Someoftheexamplesuse exploratorydataanalysis (EDA)asaproblemdomaintoshow thevalueoffunctionalprogramming.Somefamiliaritywithbasicprobabilityandstatistics willhelpwiththis.Thereareonlyafewexamplesthatmoveintomoreseriousdatascience.
Python3.10isrequired.TheexampleshavealsobeentestedwithPython3.11,andwork correctly.Fordatasciencepurposes,it’softenhelpfultostartwiththe conda tooltocreate andmanagevirtualenvironments.It’snotrequired,however,andreadersshouldbeable touseanyavailablePython.
Additionalpackagesaregenerallyinstalledwithpip.Thecommandlookslikethis:
%python-mpipinstalltoolzpymonadpyrsistentbeautifulsoup4
Completetheexercises
Eachchapterincludesanumberofexercisesthathelpthereaderapplytheconceptsinthe chaptertorealcode.Mostoftheexercisesarebasedoncodeavailablefromthebook’s repositoryonGitHub: https://github.com/PacktPublishing/Functional-Python-Pro gramming-3rd-Edition.
Insomecases,thereaderwillnoticethatthecodeprovidedonGitHubincludespartial solutionstosomeoftheexercises.Theseserveashints,allowingthereadertoexplore alternativesolutions.
Inmanycases,exerciseswillneedunittestcasestoconfirmtheyactuallysolvetheproblem. TheseareoftenidenticaltotheunittestcasesalreadyprovidedintheGitHubrepository. Thereadershouldreplacethebook’sexamplefunctionnamewiththeirownsolutionto confirmthatitworks.
Insomecases,theexercisessuggestwritingaresponsedocumenttocompareandcontrast multiplesolutions.Ithelpstofindamentororexpertwhocanhelpthereaderbyreviewing thesesmalldocumentsforclarityandcompleteness.Agoodcomparisonbetweendesign approacheswillincludeperformancemeasurementsusingthe timeit moduletoshowthe performanceadvantagesofonedesignoveranother.
Downloadtheexamplecodefiles
ThecodebundleforthebookishostedonGitHubat https://github.com/PacktPublis hing/Functional-Python-Programming-3rd-Edition.Wealsohaveothercodebundles fromourrichcatalogofbooksandvideosavailableat https://github.com/PacktPublis hing/.Checkthemout!
Downloadthecolorimages
WealsoprovideaPDFfilethathascolorimagesofthescreenshots/diagramsusedinthis book.Youcandownloadithere: https://packt.link/OV1CB.
Conventionsused
Thereareanumberoftextconventionsusedthroughoutthisbook.
CodeInText:Indicatescodewordsinthetext,databasetablenames,foldernames,filenames, fileextensions,pathnames,dummyURLs,userinput,andTwitterhandles.Forexample: “Pythonhasotherstatements,suchas global or nonlocal,whichmodifytherulesfor variablesinaparticularnamespace.”
Bold:Indicatesanewterm,animportantword,orwordsyouseeonthescreen,suchasin menusordialogboxes.Forexample:“The basecase statesthatthesumofazero-length sequenceis0.The recursivecase statesthatthesumofasequenceisthefirstvalueplus thesumoftherestofthesequence.”
Ablockofcodeissetasfollows: print("Hello,World!")
Anycommand-lineinputoroutputiswrittenasfollows:
Warningsorimportantnotesappearlikethis. Tips andtricksappearlikethis.
Getintouch
Feedbackfromourreadersisalwayswelcome.
Generalfeedback:Email feedback@packtpub.com,andmentionthebook’stitleinthe subjectofyourmessage.Ifyouhavequestionsaboutanyaspectofthisbook,pleaseemail usat questions@packtpub.com.
Errata:Althoughwehavetakeneverycaretoensuretheaccuracyofourcontent,mistakes dohappen.Ifyouhavefoundamistakeinthisbookwewouldbegratefulifyouwould reportthistous.Pleasevisit https://subscription.packtpub.com/help,clickonthe SubmitErrata button,searchforyourbook,andenterthedetails.
Piracy:IfyoucomeacrossanyillegalcopiesofourworksinanyformontheInternet,
wewouldbegratefulifyouwouldprovideuswiththelocationaddressorwebsitename. Pleasecontactusat copyright@packtpub.com withalinktothematerial.
Ifyouareinterestedinbecominganauthor: Ifthereisatopicthatyouhaveexpertiseinandyouareinterestedineitherwritingorcontributingtoabook,pleasevisit http://authors.packtpub.com.
Shareyourthoughts
Onceyou’veread FunctionalPythonProgramming,ThirdEdition,we’dlovetohearyour thoughts!ScantheQRcodebelowtogostraighttotheAmazonreviewpageforthisbook andshareyourfeedback.
https://packt.link/r/1803232579
Yourreviewisimportanttousandthetechcommunityandwillhelpusmakesurewe’re deliveringexcellentqualitycontent.
Another random document with no related content on Scribd:
new leader, whose heart was not so easily moulded as that of Montezuma. Respect for the emperor, the Spaniards replied, had made them hitherto lenient toward his people, but if they remained obstinate no further mercy would be shown, and not one Mexican would be spared. “Two days hence not one Spaniard will be alive!” was the retort.
Hostilities were thereupon resumed, and Cortés did not delay the prearranged attempt to complete the capture of the approach to Tlacopan. The presence of the imperial corpse had either a retarding influence on the movements of the enemy, or else the Spaniards sallied unexpectedly and fought with greater energy, for the four remaining bridges were gained with little difficulty, and twenty horsemen passed on to the shore, while the infantry and allies took possession of the route, and began filling in the channels with débris, so as to form a solid path, or to repair the bridges at the deeper places. At this time a messenger arrived with the announcement from the chiefs who were directing the siege of the fort that they were willing to treat for peace. Leaving the forces in charge of Velazquez, Cortés hurried with some horsemen to answer the welcome summons. The chiefs proposed that if pardon was granted them for past offences they would raise the siege, repair the bridges and causeways, and return to peaceful intercourse. In order to arrange the conditions they demanded the liberation of the captured high-priest. This was at once agreed to, and after some discussion messengers were despatched to different parts of the city, bearing orders, it was said, to stay hostilities.
It is somewhat singular that the astute Cortés should have given such ready credence to proposals so advantageous to himself. Yet this appears to have been the case. Delighted with the happy adjustment of affairs, he ordered prepared a grand supper; but he had hardly seated himself at table before tidings reached him that the Mexicans had returned to the attack on the causeway, largely
reinforced by land and water, and were regaining the bridges taken that day. The conference had been a ruse to throw the Spaniards off their guard, to obtain the release of the high-priest, from whom besides much information was expected about the condition of the besieged, and to gain time for bringing up reinforcements.[813] Fearful that his retreat would yet be cut off, Cortés galloped back to the causeway, threw himself on the enemy, recovered the bridges, and was soon in hot pursuit of the flying Mexicans. He had not proceeded far, however, when the Indians, who had rushed for safety into the lake and the canals, were encouraged to return to the attack and cut off the cavalry. With furious charges they drove the guard from the bridges, and began to destroy them and remove the filling.[814] The causeway swarmed again with foes, and the water round it was alive with canoes, whence myriads of missiles were directed against the horsemen as they pushed their way back. On reaching the last causeway breach, nearest the city, the riders feared they would be overwhelmed, for here the enemy was gathered in masses and had destroyed the passage. Nothing was left for them but to take to the water, midst a storm of stones and darts, while lines of spears and javelins pressed against them from the land and from canoes. The party was thrown in disorder, and one rider was pitched from his saddle during the mêlée, obstructing the passage to the rest.[815] Cortés remained the last to cover the retreat, and single-handed now and then turned on the swarming warriors, striking with the energy of despair Eager to secure the great general, the enemy pressed heavily upon him, and but for the stout armor protecting himself and the horse he would certainly have perished. As it was, he received two severe wounds in the knee, besides many scratches. The last Spaniard having left the bank, Cortés rang loud his San Pedro cry, and clearing the way he leaped his heavily laden horse across the chasm, six feet in width, and quickly left behind him the discomfited crowd. “Had not God helped
me,” he writes, “that moment would have been my last.” Indeed, it was already rumored in the city that he was dead. It being found impossible to hold the causeway bridges, a guard was left only at the others, while the remainder of the troops returned to the fort, wornout and demoralized.[816]
Long since it had been agreed among the Spaniards that the city must be evacuated; time and method were the only questions. The former of these was now resolved on by the council: it should be this very night. It was safer to meet the issue now than later. The enemy was hourly reinforced. Perilous indeed was the undertaking to pass with luggage, war stores, prisoners, and women over the broken causeway in the darkness; but to remain was death. Botello, the astrologer, had declared for this time, and so it was determined. For Botello was wise and prudent, knowing Latin and the stars; he had foretold the greatness of Cortés, and had recommended his night attack on Narvaez, and general and soldiers believed in him.[817] Had he lived a century or two later his words might have been employed as the vox stellarum by the almanac makers. The Mexicans had said that they would make it a time of sore distress, any attempted escape of the intruders, a time when men must struggle, and women would pray and weep; and if so, it were no worse for the fugitives that black night should fling her mantle over the bloody scene.
Since the Indians were supposed to have destroyed the crossing at the causeway channels, a portable bridge was made with which to effect the passage. Two more would probably have been made had time and convenience permitted, but misfortune willed it otherwise. It was agreed that a large portion of the effects must be left behind in order not to encumber the march, but the gold demanded special care. The royal officials, Mejía and Ávila, were charged to secure it, and for this purpose a number of carriers were assigned, the general giving also one of his own mares. Their convoy was intrusted to a
body of infantry, under Alonso de Escobar.[818] The secretary, Hernandez, and the royal notaries were called to testify that all had been done that was possible. There still remained a large quantity of the bulky jewels belonging to the king, besides a mass of unappropriated treasure, which could not be intrusted to carriers, or for which no carriers were found, and rather than leave them to the ‘Indian dogs’ Cortés announced that the soldiers might take all they wished—after permitting his favorites the first selection. He warned them, however, that the more they took the more their safety would be endangered. The adherents of Cortés do not appear to have been eager to encumber themselves, and Bernal Diaz shared this prudence in taking only four chalchiuite stones. The men of Narvaez practised less restraint, and many loaded themselves with the metal. Cortés was afterward charged with having appropriated a considerable share of the wealth thus thrown open; he certainly had funds with which to send for horses, war material, and supplies.[819]
Sandoval was appointed to lead the van, with two hundred infantry and twenty horsemen, assisted by Ordaz, Andrés de Tapia, and others. With him went fifty men under Captain Magarino to carry the bridge. They were pledged to remain at their post to the last, and were escorted by a select body of infantry and allies. For the middle were destined the baggage and treasure, the prisoners and the sick, under a large escort, supervised by Cortés himself, who, with Olid, Morla, Ávila, and other captains, and a special force of one hundred men, were to render aid where needed. The artillery was intrusted to two hundred and fifty Tlascaltecs and fifty soldiers, and the rear was placed in charge of Alvarado and Velazquez, with thirty horsemen and about one hundred adherents of Cortés, with most of the men of Narvaez. The allied forces, of whom a number appear to have returned home during the inaction of Montezuma’s captivity, and who had suffered greatly during the siege, must still have numbered nearly six thousand men, including carriers, distributed among the
three divisions.[820] Among the prisoners Cortés enumerates the legitimate son of Montezuma, and two of his daughters, probably those bestowed on the general in marriage, King Cacama and his younger brother and successor, and several other high personages. [821] The sick were to be carried in hammocks and behind riders.
It is the evening of the 30th of June.[822] Fiery copper has been the sky that day; the sun blood-red and moon-like, turning day to night, when night is so soon to be employed as day. As the hour approaches, a fog sets in, which thickens into mist and denser moisture until, to favor the Spaniards, providence turns it to a drizzling rain,[823] thus to veil their movements, and make substantial the silence of the city, the lake, the distant wood; and thereupon all join fervently in the prayer of Father Olmedo and commend their lives to almighty God.
About midnight the order is given to march.[824] Stealthily they creep down the temple square and reach the Tlacopan road.[825] The streets are wholly deserted. All is quiet, save the dull rumble of tramping soldiers. The blessed rain, or some supernatural interposition, seems to keep the whole city within doors. And if this kind power will but have patience and not desert them for one brief hour—ah, it is so easy for Omnipotence to help! Along the road like a phantom the army moves. The van picks up the guard at the canal crossings. The causeway is almost reached. Already they begin to breathe freer; a feeling of intense relief steals into their breasts, and —Mother of God! what noise is that? It is the piercing outcry of a woman[826]—may the foul fiend seize her!—breaking upon the stillness like a warning note from the watch-tower of Avernus. On the instant the war-drum of the Tlatelulco temple sends forth its doleful sound, chilling the fugitives to the very heart’s core. Quickly its tones are drowned by the nearer, shriller trumpet-blasts and shouts of warriors, echoed and reëchoed from every quarter.
Meanwhile the advance column had reached the sixth bridge crossing,[827] the first to connect with the causeway, and had obliged the Mexican picket to retire, after exchanging a few shots. The portable bridge was here laid, and the van crossed with quickened steps, followed by the centre with the baggage and artillery. At this juncture the enemy fell upon the rear, rending the air with their yells, sending their missiles fast and furious, while from the cross-roads issued a swarm, with lance and sword, on Alvarado’s flank. Over the water resounded their cries, and canoes came crowding round the causeway to attack the forward ranks. To add to the horrors of the tumult, several men and horses slipped on the wet bridge and fell into the water; others, midst heart-rending cries, were crowded over the edge by those behind. All the rest succeeded in crossing, however, except about one hundred soldiers. These, it is said, bewildered by the battle cries and death shrieks, turned back to the fort, and there held out for three days, till hunger forced them to surrender and meet the fate of sacrificial victims at the coronation feast of Cuitlahuatzin.[828]
The half mile of causeway extending between the first and second breaches was now completely filled with Spaniards and allies, whose flanks were harassed by the forces brought forward in canoes on either side. Dark and foggy as the night was, the outline of the Indian crews could be distinguished by the white and colored tilmatli in which many of them were clad, owing to the coldness of the air. Fearlessly they jumped to the banks, and fought the Spaniards with lance and javelin, retreating into the water the moment the charge was over Some crept up the road sides, and seizing the legs of the fugitives endeavored to drag them into the water. So crowded were the soldiers that they could scarcely defend themselves; aggressive movements were out of the question.
Repeated orders had been transmitted to Magarino to hurry forward the removal of his bridge to the second channel, and, seeing
no more soldiers on the opposite bank of the first opening, he prepared to obey, but the structure had been so deeply imbedded in the banks from the heavy traffic that his men labored for some time in vain to lift it, exposed all the while to a fierce onslaught. Finally, after a number of the devoted band had succumbed, the bridge was released, but before it could be drawn over the causeway the enemy had borne it down at the other end so as effectually to wreck it.[829]
The loss of the bridge was a great calamity, and was so regarded by the troops, hemmed in as they were between two deep channels, on a causeway which in width would hold only twenty men in a line. On all sides were enemies thirsting for blood. Presently a rush was made for the second channel, where the soldiers had already begun, in face of the foe, to cross on a single beam, which had been left intact when the bridge was destroyed. As this was an exceedingly slow process, many took to the water, only to receive their deathblow at the hands of the watermen. Some were taken prisoners; some sank beneath their burden of gold; the horses found a ford on one side where the water was not above the saddle.
The canoes, however, were as numerous here as elsewhere, and their occupants as determined; and the horsemen had the greatest trouble to keep their seats while resisting them. The general, being at the head, suffered most. At one time some Indians seized him by the legs and tried to drag him off. The footing of the horse being so insecure, the attempt would probably have succeeded but for the prompt aid of Antonio de Quiñones, and Texmaxahuitzin, a Tlascaltec, known afterward as Antonio. Olid, who also came to the rescue, was almost overpowered, but managed to free himself by means of backhanded blows from his muscular arm. One of the cavalry, Juan de Salazar, the page of Cortés, then took the lead to clear the way for the rest, only to fall a victim to his zeal. The next moment his master had gained the bank, and thereupon directed the troops by the ford.[830]
Thus in the darkness the wild roar of battle continued, the commingling shouts and strokes of combatants falling on the distant ear as one continuous moan. The canoes now pressed on the fugitives in greater number at the ford than in the channel. Sandoval, with his party, had swum the channel before the Mexicans assembled there in great numbers, and was now leading the van down the causeway, scattering the assailants right and left. Little regular fighting was attempted, the Spaniards being intent on escaping and the Mexicans quickly yielding before the cavalry, taking refuge in and round the canoes. With greater hardihood and success, however, they harassed those on foot. On reaching the next channel, which was the last, the fugitives found with dismay that it was wider and deeper than the others, and with bitter regret they saw their mistake in not bringing three portable bridges. The enemy was here also gathering in ever increasing force, to watch the death trap. Every effort to clear a passage was stubbornly resisted, and, the soldiers growing more irresolute, a rider was sent to bring Cortés. Before he arrived, however, Sandoval had already plunged in with a number of the cavalry, followed by foot-soldiers, who seized the opportunity to fall into the wake, by either holding on to the trappings of the horses or striking out for themselves. The passage was extremely difficult, and more than one horseman reeled and fell, from the united pressure of friends and foes. Those who followed suffered yet more, being pushed down by comrades, struck by clubs and stones, pierced by spears, or, most horrible of all, drawn in by dusky boatmen, who carefully guarded them for the dread stone of sacrifice.
With five horsemen Cortés led a body of one hundred infantry to the mainland. Accompanying this force was a number of carriers with treasures secured by the general and his friends. Leaving the gold in charge of Jaramillo, with orders to hold the entrance of the causeway against assailants from the shore, Cortés returned to the channel
where Sandoval had taken a stand to keep clear the bank and protect the passage. Tidings coming that Alvarado was in danger, Cortés proceeded to the rear, beyond the second channel, and found it hotly contested. His opportune arrival infused fresh courage, as with gallant charges he relieved the troops from the terrible pressure. He looked in vain for many comrades who had been placed at this post, and would have gone in search of them had not Alvarado assured him that all the living were there. He was told that the guns reserved for the rear had for a while been directed with sweeping effect against the ever growing masses of warriors around them; but finally a simultaneous attack from the canoe crews on either side, and from the land forces to the rear, impelled by their own volume, had overwhelmed the narrow columns nearest the city, together with their cannon, killing and capturing a large number, and throwing the rest into the panic-stricken condition from which he had just extricated them.
Leaving Alvarado to cover the rear as best he could, Cortés hastened to direct the passage of the middle channel. What a sight was there! Of all the bloody terrors of that dark, sorrowful night, this was the most terrible! A bridge had been wanting, and behold, the bridge was there! With dead and living fugitives the chasm on either side the slippery beam had been filled,[831] and now the soldiers and allies were rushing, heedless of the groans beneath them, across this gory support, still narrow and full of gaps, to be filled by the next tripping fugitive. Scattered pell-mell on the bank lay the baggage and artillery, abandoned by the fleeing carriers, which, proving only an obstruction, Cortés ordered it thrown into the channel in order to widen the crossing.
But the end was not yet. Great as had been the woe, it was yet to be increased at the last and wider channel. Here was indeed a yawning abyss, having likewise a single remaining beam, whose narrow slippery surface served rather as a snare than a support.[832]
The necessarily slow motion of the train had enabled the Mexicans to come up in swarms, and like sharks surround the chasm. Harassed on every side, and with an avalanche rolling against the rear, the retreating thought only of escaping the new danger, and at once. They threw aside their arms and treasures and plunged in, bearing one another down regardless of any claims of friendship or humanity. And woful to hear were the heart-rending cries from that pit of Acheron. Some begged help of Mary and Santiago; some cursed their fate and him who had brought them to it, while many sank with mute despair into the arms of death; and over all roared the wild cries and insults of the Mexicans. In strong contrast to the panic-stricken men appeared a woman, María de Estrada, who, with shield and sword, faced the enemy like a lioness, standing forth among the men as a leader, and astonishing friend and foe with her prowess.[833]
Cortés did all he could, as became an able commander and valiant soldier, to save his men. He was indefatigable in his efforts, being everywhere present, encouraging, guiding, and protecting. Yet his position was most trying; there were that night so many brave soldiers given over to despair, so many ears deaf to commands and prudent counsel. Unable to do more at the channels, he hastened to look to those who had crossed and were proceeding in straggling bands to join Jaramillo. Heedless of companies or officers, the soldiers had banded in parties of a score or two, and sword in hand, where this had not been thrown away, they were hurrying down the causeway.[834] The assailants fell off somewhat beyond the last channel, and finding the advance comparatively safe, guided by his soldierly impulses Cortés again returned with a few horsemen[835] and foot-soldiers to cover the remnant of the army The rear, composed chiefly of the Narvaez party, were approaching the last channel, but under the continued onslaught panic had seized them. They made hardly an effort to defend themselves, and like the
Indians during the massacre by Alvarado they huddled one against the other, offering their backs as a target for unsparing attack. Among this number was the loyal and noble Velazquez de Leon, who shared with the Tonatiuh the command of this section. How he fell is not known, but he never crossed the last breach.[836]
Alvarado had been wounded and had lost his horse, in common with most of his party. Finding it impossible to control the men, he gathered a small band round him and sought the channel, leaving the rest to look to themselves.[837] On reaching the spot he saw a confused mass of struggling humanity in the water, but the solitary beam which spanned it was vacant, and steadying himself with his lance he sprang swiftly across. Narrow and slippery as was the beam, it was no insignificant feat for a wounded man to cross upon it, but time magnified the performance to something miraculous. When Alvarado came to the channel, it is related, no friendly beam spanned the wide, deep gap. His life turned on brief resolve and instant action. Lithe, strong, and determined, even though wounded, he was not yet ready to yield all. With a searching glance into the troubled pool and across the awful chasm he stepped back for a preparatory spring. Then, rushing forward, he planted the long pike upon the yielding débris and vaulted across, to the wonder of all witnesses. The Indians, says Camargo, prostrated themselves in admiration, and tearing up grass, ate it, with the exclamation, “Truly, this man is the Tonatiuh!” So runs the story, preserved by tradition, and by the name yet given to the spot, ‘El Salto de Alvarado.’[838]
Cortés and his small band of rescuers came up as Alvarado appeared, pike in hand and bleeding, accompanied by a few stragglers.[839] Among these was Juan Tirado, who, in gratitude for his deliverance, erected at this bridge after the conquest a hermitage to San Acacio, known also as De los Mártires—martyrs to avarice, as Torquemada intimates.[840] The badly wounded were now
mounted behind the horsemen,[841] and repelling the foes who still pressed on them, Cortés in person covered the remnant of the army in its retreat toward Tlacopan,[842] losing in this final struggle the gallant Captain Morla.[843] The route lay through Popotla village or suburb; and here, according to tradition, Cortés seated himself on a stone to weep over the misfortunes of this Sorrowful Night.[844]
By a similar process of annealing, gold is made soft and iron hard; so by misfortune the wise man is made wiser while the fool is hardened in his folly.
FOOTNOTES
[808] According to the version of the rabid Duran, based on native paintings and narratives, the bodies of the prisoners were found in the fort after its evacuation, that of Montezuma with five stabs in the breast. Hist. Ind., MS., ii. 477-9. Acosta seems rather to favor the story, improbable as several of its points are. Hist. Ind., 524. To some extent it rests on the statement repeated by Ixtlilxochitl, which assumes that Cacama, who had made himself particularly obnoxious to the Spaniards, was killed with 47 stabs before the fort was evacuated. Hist. Chich., 301. A more severe account is found in a manuscript fragment in Ramirez’ collection, written by a Tezcucan, wherein it is related that a sword was thrust into the intestines, ‘por la parte baxa ’ The body was thereupon taken to the roof, as if to address the people A stone struck the head, and now the Spaniards proclaimed that this had caused the death Soc Mex Geog , Boletin, x 362 This is substantially repeated in Ixtlilxochitl, Rel , 457 A stronger testimony, however, comes from Sahagun, who states that Cortés recommended to his followers the murder of the prisoners in order to terrify the natives and to assume the mastery ‘Y lo primero que hicieron, fue dàr Garrote à Motecuhçuma, y à Itzquauhtzin, Señor de Tlatelolco, y à otros ’ Version in Torquemada, i 498, and in Sahagun, Hist. Conq. [ed. 1840], 113. The issue, modified by the censor, merely states that the bodies were found near a stone, Teoaioc, outside the fort. Id. [ed. 1829], 31. This account has received its chief support in the quasi admission of Torquemada; and when he, the otherwise zealous champion of the conquerors, takes such a view, others may be pardoned for accepting it. ‘Y que esto aia sido asi, puede ser posible, pues para tenerse por seguros, le avian prendido; y viendo agora, que no
bastaba la prision, vsarian de este vltimo medio, para vèr si le aplacaban, y atemoriçaban estos Mexicanos.’ i. 498-9. Brasseur de Bourbourg accepts the version, and adds that Montezuma was told of his fate and urged to accept baptism ‘On répandit aussitôt la nouvelle de sa mort comme s’il eût expiré naturellement ’ Hence even the soldiers did not know of the murder Hist Nat Civ , iv 330-1 Bustamante, of course, adopts anything Sahagun may say against the Spaniards; and Carbajal takes Torquemada’s view, Hist Mex , ii 375, as does Beltrami, eager for any sensation Mex , ii 145 Vetancurt seeks to reconcile conflicting opinions by assuming that when Montezuma died Itzquauhtzin and several other prisoners were murdered and cast out together with the emperor’s body, in order to terrify the Mexicans and occupy their attention while the Spaniards hurried away. Teatro Mex., pt. iii. 142. ‘Io non posso persuadermi,’ says Clavigero, ‘che gli Spagnuoli si risolvessero a toglier la vita ad un Re, a cui doveano tanti beni, e dalla cui morte non potevano aspettarsi, se non molti mali.’ Storia Mess., iii. 131. Solis cannot believe Cortés guilty of an act so bad and reckless. Hist. Mex., ii. 150-1. Prescott disposes of the charge as an ‘absurdity’ and a ‘monstrous imputation.’ Hist. Mex., ii. 321. It must be considered, however, that the Spaniards did seek to profit by the death; and scruples about ‘killing a dog of an Indian,’ as they had so lately termed him, could not have weighed with such men when their interests were concerned; how much less when their lives were at stake? The whole argument, then, may be said to depend on the question whether Montezuma was more valuable as captive or as corpse If the people manifested little respect for the living ruler, the Spaniards could have had no reason to expect more for the dead His death would only have loosened the bond which still restrained a vast number, whether of kindred or of mere subjects, and given the hostile leaders fresh motives and strength for their operations Besides, Montezuma must have retained a great influence outside the city, which a fugitive army would have found of service. The recognition of this influence is shown by the efforts made to save the imperial children, as noticed even by the most rabid accusers of the Spaniards. It may be mentioned that no charge is brought forward in the residencias either against Cortés or Alvarado.
[809] Apanecatl, according to Brasseur de Bourbourg, Hist. Nat. Civ., iv. 332. Bernal Diaz sends these men to carry the news of the death, and following them were six high personages and most of the captive priests, carrying the body. Hist. Verdad., 105.
[810] Stones were thrown upon the cortege, and it was driven from quarter to quarter. Finally Apanecatl took refuge in the palace where Cuitlahuatzin held forth, and appealed to him, only to be repulsed by his courtiers. The body was nevertheless secured by a friendly party. Manuscrit Nahuatl, 1576, in Brasseur de Bourbourg, Hist. Nat. Civ., iv. 333.
[811] ‘Hicieron todas las solemnidades que solian hacer ... Mocthecuzoma lo enterraron en México ... algunos decian mal de Mocthecuzoma porque habia sido muy cruel ’ Hist Conq , 31 ‘Vimos q hizierõ muy gran llanto, q biẽ oimos las gritas, y aullidos q por èl dauan ’ Bernal Diaz, Hist Verdad , 105 ‘Hizieron muy gran llanto, para enterrar al rey en Chapultepec ’ Gomara, Hist Mex , 154 Herrera combines these two authorities in saying ‘le deuieron de enterrar en el monte de Chapultepèque, porque alli se oyò vn gran llanto ’ dec ii lib x cap x He forgets that Chapultepec lay three miles off Torquemada corrects Herrera, and insists that the ‘Copalco’ was the place He gives specimens of the insults offered during the cremation, i. 499. ‘Estaban indignados contra él.’ Ixtlilxochitl, Hist. Chich., 301. It has been asserted by some, says Duran, that the ashes were scattered to the winds, as unworthy of preservation. Hist. Ind., MS., ii. 479. Acosta attempts a modification by stating that the body being contemptuously rejected, a servant burned it, ‘y puso sus cenizas dõde pudo en lugar harto desechado.’ Hist. Ind., 524. The burial-place has certainly not been pointed out to posterity. According to Sahagun, the body of Itzquauhtzin was ‘cast forth’ from the quarters, together with that of Montezuma, and was taken in charge by his subjects of Tlatelulco, by whom he was greatly beloved and mourned. ubi sup. To ‘cast forth’ the bodies could have been only a needless insult, which Cortés was too prudent to inflict on the people
[812] ‘Que alçassen a su primo del Monteçuma, que con nosotros estaua, por Rey ’ Bernal Diaz, Hist Verdad , 105 ‘Dixo Cortes el se queria hallar a sus honras ’ Herrera, dec ii lib x cap x
[813] Prescott, following Clavigero, assumes that the whole was an artifice to liberate the two captive priests, one of whom was indispensable in the event of a coronation Mex , ii 338 Brasseur de Bourbourg supposes that the parley was conducted by the party favorable to the Spaniards, and duped by the stronger faction, which never intended to adhere to the arrangement Hist Nat Civ , 321
[814] ‘Como los peones estaban cansados y heridos y atemorizados; ninguno me siguió A cuya causa, después de pasadas yo las puentes las hallé tomadas ’ Cortés, Cartas, 134 Where had he left his prudence?
[815] ‘Hallé á todos los de caballo que conmigo iban, caidos en ella, y un caballo suelto ’ Id
[816] With a loss of over twenty men Bernal Diaz, Hist Verdad , 105 This author places all the fighting on the causeway on one day, a Thursday, the day of evacuating Mexico, and the day following the surrender of Montezuma’s body. Herrera, who is far more confused, has a sally on this day in three directions, one being the Tlacopan road; but the operations on the latter route are only partially told, and the rest referred to the third day of the siege. There are also several
contradictions to aid in confusing the many who follow him. Herrera, dec. ii. lib. x. cap. xi. Prescott abandons himself to the guidance of Clavigero for the occurrences of these days, but embellishes the narrative with some incidents belonging to the siege of Alvarado
[817] ‘Botello afirmò que supiessen que moriria el o su hermano, y algunos de la cõpañia, y qui se saluaria el Capitan, y otros muchos, y ninguno si salian de dia ’ Herrera, dec ii lib x cap xi ‘Hora lo creyesen, hora no ’ Gomara, Hist Mex , 159 ‘Anteponendo le vane osservazioni di quel meschino Soldato alla luce della prudenza militare,’ is the indignant comment of Clavigero, Storia Mess , iii 135 But there is no doubt that ‘military prudence’ had more weight in the matter than Botello’s words, and that the result was not due to his advice Solis casts the blame of crediting the ‘ignorant charlatan’ Botello chiefly on the majority of the council, to whom Cortés yielded. Hist. Mex., ii. 171-2. In order to lull any suspicions among the Mexicans, says Bernal Diaz, a leading priest and some other captives were sent to the Mexican camp with a proposal to surrender all the gold if the Spaniards were allowed to leave in peace eight days later. Hist. Verdad., 105.
[818] Lejalde, Segunda Prob., in Icazbalceta, Col. Doc., ii. 424. For carrying the royal treasures ‘les dió siete cauallos heridos, y cojos, y vna yegua, y muchos Indios Tlascaltecas, que segun dixeron, fueron mas de ochenta.’ Bernal Diaz, Hist. Verdad., 106.
[819] Bernal Diaz, for instance, states that he had hardly taken the four chalchiuites for his share, from a collection in a mat, when Cortés gave orders to his mayordomo to secure it. loc. cit. His penchant for appropriating large shares to himself is well known. Greed of gold was not now his motive, however, but rather a prudential care to secure means for his plans, and he could hardly neglect them when taking so great care of the royal portion Martyr, Gomara, and Herrera estimate the treasure at 700,000 ducats, chiefly in bulky jewels according to Gomara Bernal Diaz reckons in pesos, which may mean pesos de oro Peter Martyr assumes it to have been the general fund, from which the royal fifth had been set apart only at the last moment, but not apportioned dec v cap vi Solis assumes that 700,000 pesos remained after the king’s portion had been deducted Hist. Mex., 174-5. One witness estimates that over 2,000,000 pesos were lost during that night. Cortés, Residencia, ii. 414. The Carta del Ejército reduces the loss to 400,000 pesos de oro. Another witness states that 300,000 castellanos remained when the soldiers were told to help themselves; afterward the general compelled them to surrender what had been thus given, only to keep it for himself. Cortés, Residencia, i. 241-2. ‘Lo demás ... lo dimos y repartimos por los españoles para que lo sacasen,’ says Cortés, Cartas, 135, which may be interpreted as
either giving or intrusting. Whatever may have been left after the Spaniards had taken their loads was gleaned by the allies. Gomara, Hist. Mex., 159.
[820] Bernal Diaz gives Sandoval 100 young unmarried soldiers, with Francisco de Acevedo, the dandy, Ordaz, Tapia, and eight or nine of Narvaez’ men, captains on his staff To Cortés he gives 50 men, and adds B V de Tapia to his staff Hist Verdad , 105 This author is contradictory, however Herrera places Antonio de Quiñones as Sandoval’s chief aid, and Olid and Ordaz in the rear dec ii lib x cap xi ; Gomara, Hist Mex , 160; Cortés, Cartas, 134; Ramirez, Proceso contra Alvarado, 30 et seq
[821] Herrera adds a brother of Montezuma, and Sahagun names two sons Hist Conq , 33 So does Vetancurt, although he assumes that one was saved Teatro Mex , pt iii 142-3 Ixtlilxochitl gives a longer list, including two sons of Montezuma, and two sons and four daughters of Nezahualpilli, of Tezcuco One of the daughters escaped, but it was not the beloved of Cortés, who had been baptized and named Juana. Cacama is not included in the list, because he is assumed to have been stabbed to death before the fort was evacuated. Hist. Chich., 302; Relaciones, 390. With the prisoners’ division went Marina, the interpreter, the Tlascaltec princesses Luisa and Elvira, and some other women, protected, says Bernal Diaz, by 30 soldiers and 300 Tlascaltecs.
[822] This date is based on Cortés’ letter, wherein he places the arrival on Tlascala’s border on Sunday, July 8th, after giving a clear account of the intermediate days. Any doubt about this date is removed by the testimony in Lejalde, Segunda Probanza, in Icazbalceta, Col. Doc., i. 423, wherein the leading captains state that the siege lasted six days. This testimony also clears up the only doubtful point in Cortés’ account of the siege operations, where he disposes of the wounding and death of Montezuma in one sentence, and then resumes the description of the fighting in a manner that has assisted to mislead Gomara and many others into extending the stay in Mexico till July 10th Ixtlilxochitl adopts this date, yet in the Relaciones, 390, 412-13, he states that the siege lasted only seven days Bernal Diaz places the eve of the departure on a Thursday, July 10th [with Cortés it is Saturday], yet he dates the battle of Otumba just one week later than Cortés Hist Verdad , 105, 108 This latter date induces Zamacois to change the date of flight to July 8th. Hist. Méj., iii. 406-7. ‘La notte del 1 Luglio,’ says Clavigero, Storia Mess., iii. 135, but his reasons for the date are wrong, and the term he uses may apply also to the night following that adopted in the text.
[823] The Spaniards recognized this as a favoring shield direct from God, says Duran, Hist. Ind., MS., ii. 473-4.
[824] Ojeda was instructed to see that no somnolent or sick person was left. He found one man asleep on the roof and roused him. Herrera, dec. ii. lib. x. cap. xi.
Gomara takes the trouble to deny the statement of Cano that 270 men, ignorant of Cortés’ departure, were left behind to perish. Oviedo, iii. 551. A later note will explain the cause of this rumor
[825] The ravaging sallies of the preceding days, which had involved the destruction of houses in the vicinity and along the approaches to Tlacopan, had evidently obliged the enemy to retire from these streets and seek shelter elsewhere for the night Oviedo assumes that Cortés led the way, but Diaz and Herrera let him advance only when the first troops are guided into Tlacopan
[826] ‘Pasaron cuatro acequias, y antes que pasasen las demas salió vna muger á tomar agua y viólos ’ Sahagun, Hist Conq , 32 ‘A devil, without doubt,’ adds Camargo, who describes her as a keeper of an eating-house, and indicates exactly the location of her house Hist Tlax , 167 Cortés states that the alarm was given by the guard at the first breach held by the Mexicans, where the portable bridge was laid down. Cartas, 136.
[827] Sahagun names this Mictlantonco, and the next two Tlantecayocan and Petlacalco. In another place he names the first Tecpantzinco, and the second or third Tolteacali. Hist. Conq., loc. cit., and [ed. 1840] 121-2. Torquemada gives the second breach of the causeway the latter name. The names should probably be written Tecpantzinco, Tolteca-Acalulco, and Petlacalco.
[828] This native rumor, as recorded in the manuscripts used by Duran, Hist. Ind., MS., ii. 476-7, is probably the foundation for Cano’s statement, that Cortés abandoned 270 men in the fort. Herrera reduces them to 100. ‘Que se boluieron a la torre del templo, adonde se hizieron fuertes tres dias.’ dec. ii. lib. x. cap. xii.
[829] Bernal Diaz, Hist. Verdad., 106, assumes that the enemy bore it down before the baggage train had crossed, and that the channel was filled in consequence with artillery, baggage, and dead bodies. Gomara gets the bridge across the second breach. Both must be mistaken, however.
[830] Camargo relates the incidents of the passage in detail, and says that Cortés fell into a hole as the enemy pounced upon him. The two deliverers disputed the honor of having rescued the general. Hist. Tlax., 169.
[831] ‘El foso se hinchó hasta arriba; ... y los de la retroguardia pasaron sobre los muertos. Los españoles que aquí quedaron muertos fueron trescientos, y de los tlaxcaltecas y otros indios amigos fueron mas de dos mil.’ Sahagun, Hist. Conq. (ed 1840), 122
[832] Ramirez, Proceso contra Alvarado, 4, 53, 68.
[833] ‘Casò esta Señora, con Pedro Sanchez Farfan [who seized Narvaez], y dieronle en Encomienda el Pueblo de Tetela.’ She married a second time, and died in Puebla Torquemada, i 504
[834] Bernal Diaz formed one of a band of 50, who were repeatedly attacked with arms and midst insults He quotes some of the low expressions used Hist Verdad , 106
[835] One authority states that Cortés was nearing Tlacopan, when Olid and others called out to him that the fugitives were accusing the captains of abandoning them, and urged that they should turn back ‘It is a miracle to have escaped,’ was his reply, ‘and fewer will be left if we return ’ Saying this he headed a dozen horsemen and a few foot-soldiers and galloped back Bernal Diaz, Hist Verdad , 106 But Cortés was not the man to wait in such a case till entreaty came ‘Yo con tres ó cuatro de caballo,’ he says, ‘y hasta veinte peones, que osaron quedar conmigo, me fuí en la rezaga.’ Cartas, 135. He takes the palm from all American conquerors, exclaims Oviedo, iii. 326.
[836] Zamacois makes atonement for a lack of research by inventing doughty deeds for this hero. Hist. Méj., iii. 417-18.
[837] Among the soldiers contributed in later times by Garay’s expedition was one Ocampo, who, fond of scandal and pasquinades, libelled many of the captains, among them Alvarado, declaring that he had left Velazquez with over 200 men to die. Bernal Diaz, Hist. Verdad., 106-7. The charge came forward in the residencia, but Alvarado brought witnesses to prove that he had lost all control over the men, and could do nothing else than to save himself, wounded and unhorsed as he was. There were other witnesses who did all they could to blacken his fame, and to attribute to his neglect of duty a great portion of the loss sustained during that sad night. Ramirez, Proceso, 4, 38, 53, 68, and 288. Ramirez decides against the accused. But Alvarado was admittedly brave, recklessly so, and it must be regarded rather as his misfortune that a panic seized the men Perhaps, as commander intrusted with this section, he should have remained longer at his post This signified death, and such men as then comprised his command he regarded as hardly worth dying for He chose to save life at the expense of a blemish on his honor More it never amounted to, for the court absolved him He redeemed the fault afterward by brave achievements
[838] Camargo intimates that several Tlascalan chiefs of the expedition testified to the feat Hist Tlax , 168; and Gomara adds that several followers tried to imitate it, but failed, and were drowned. Hist. Mex., 160. Contradictory as Bernal Diaz is about the incidents of the night, he strenuously insists that the channel was examined during the following siege and found to be too wide and too deep to allow of such a leap. Hist. Verdad., 107. This solitary denial of a story which has
been adopted by almost every writer, from Oviedo to Prescott, finds support in testimony during the hero’s residencia, wherein it is distinctly stated that he crossed the channel on a fixed beam His own testimony gives assent to the charge so formulated, although hitherto he had no doubt allowed the other version to be believed Ramirez, Proceso, 4, 53, 68 et seq
[839] Seven Spaniards and eight Tlascaltecs, all badly wounded Bernal Diaz, Hist Verdad , 106
[840] ‘Durò poco este nombre, pues tampoco les convenia à los muertos, que iban cargados de Oro ’ Monarq Ind , i 504 Zamacois describes the site as he found it not long ago Hist Méj , iii 421-3 Bernal Diaz implies that the ‘martyr’ name was given in honor of those captured and sacrificed during the siege, a year later Hist Verdad , 153
[841] Alvarado was taken on Gamboa’s horse, Laso on Sandoval’s Ramirez, Proceso contra Alvarado, 69, 119
[842] Alvarado said that only the dead remained behind, but Olid insisted that a number were still fighting the enemy Cortés accordingly went back again and rescued several more Castañeda, in Id , 44 Bernal Diaz also states that Cortés returned as far as the bridges. Hist. Verdad., 106.
[843] The same who sprang into the sea, off Yucatan, to replace the rudder of his vessel, unshipped during the storm.
[844] La Noche Triste, as it has ever since been called Amid so much that is romantic the tendency to further romance is often uncontrollable. The truth of this statement is open to grave doubts. ‘Llegó [Alvarado] á Cortés, que estaba ençima de unas gradas de un qü, sentado diçiendo muchas lástimas.’ Oviedo, iii. 514. Zamacois describes the enormous tree, yet standing, which shaded the stone and bears the name of ‘Arbol de la Noche Triste. ’ Hist. Méj., iii. 424. Prescott improves the occasion by allowing the army to file past in sad dilapidation, regardless of the fact that the army was already gathered in Tlacopan. Mex., ii. 371-2. Testimony confirms the statement of Cortés that ‘fuí en la rezaga, peleando con los indios hasta llegar á una ciudad que se dice Tacuba’ [Tlacopan]. Cartas, 135-6.