Anintroductiontodependenttypes,demonstratingthemostbeautifulaspects,onestepatatime.Aprogram'stypedescribesitsbehavior.Dependenttypesareafirst-classpartofalanguage,andaremuchmorepowerfulthanotherkindsoftypes;usingjustonelanguagefortypesandprogramsallowsprogramdescriptionstobeaspowerfulastheprogramstheydescribe.TheLittleTyperexplainsdependenttypes,beginningwithaverysmalllanguagethatlooksverymuchlikeSchemeandextendingittocoverbothprogra妹妹ingwithdependenttypesandusingdependenttypesformathematicalreasoning.ReadersshouldbefamiliarwiththebasicsofaLisp-likeprogra妹妹inglanguage,aspresentedinthefirstfourchaptersofTheLittleSchemer.ThefirstfivechaptersofTheLittleTyperprovidetheneededtoolstounderstanddependenttypes;theremainingchaptersusethesetoolstobuildabridgebetweenmathematicsandprogra妹妹ing.Readerswilllearnthattoolstheyknowfromprogra妹妹ing-pairs,lists,functions,andrecursions-canalsocapturepatternsofreasoning.TheLittleTyperdoesnotattempttoteacheitherpracticalprogra妹妹ingskillsorafullyrigorousapproachtotype.Instead,itdemonstratesthemostbeautifulaspectsassimplyaspossible,onestepatatime.
1