001453682 000__ 06416cam\a22005417i\4500 001453682 001__ 1453682 001453682 003__ OCoLC 001453682 005__ 20230314003439.0 001453682 006__ m\\\\\o\\d\\\\\\\\ 001453682 007__ cr\cn\nnnunnun 001453682 008__ 221231s2023\\\\cau\\\\\o\\\\\001\0\eng\d 001453682 019__ $$a1356437013 001453682 020__ $$a9781484288887$$q(electronic bk.) 001453682 020__ $$a1484288882$$q(electronic bk.) 001453682 020__ $$z1484288874 001453682 020__ $$z9781484288870 001453682 0247_ $$a10.1007/978-1-4842-8888-7$$2doi 001453682 035__ $$aSP(OCoLC)1356575286 001453682 040__ $$aEBLCP$$beng$$erda$$cEBLCP$$dORMDA$$dYDX$$dGW5XE 001453682 049__ $$aISEA 001453682 050_4 $$aQA76.625$$b.Y36 2023 001453682 08204 $$a006.76$$223 001453682 1001_ $$aYang, Danny,$$eauthor. 001453682 24510 $$aIntroducing Rescript :$$bfunctional programming for web applications /$$cDanny Yang. 001453682 264_1 $$aBerkeley, CA :$$bApress L. P.,$$c[2023] 001453682 300__ $$a1 online resource (281 pages) 001453682 336__ $$atext$$btxt$$2rdacontent 001453682 337__ $$acomputer$$bc$$2rdamedia 001453682 338__ $$aonline resource$$bcr$$2rdacarrier 001453682 500__ $$aAdvanced Topic: Generic Hash Set/Hash Map Keys 001453682 500__ $$aIncludes index. 001453682 5050_ $$aIntro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Introduction -- Chapter 1: ReScript Basics -- Expressions, Values, and Side Effects -- Compile Time and Runtime -- Types, Typechecking, and Type Inference -- Primitive Types and Operators -- Integer and Float -- Boolean -- String -- Unit -- Printing and Debugging -- Bindings -- Mutation and Refs -- Blocks -- Block Scoping -- Conditionals -- Switches -- Loops -- Putting It All Together -- Final Thoughts -- Chapter 2: Functions -- Defining and Using Functions -- Type Annotations 001453682 5058_ $$aUsing Standard Library Functions and Opening Modules -- Higher-Order Functions -- Piping -- Labeled and Optional Parameters -- Currying and Partial Application -- Polymorphic Functions -- Pure Functions -- Ignoring Return Values -- Recursion -- Syntax -- How to Use Recursion -- Final Thoughts -- Chapter 3: Composite Data Types -- Tuples -- Creating Tuples -- Accessing Tuples -- Pattern Matching with Tuples -- Variants -- Declaring and Constructing Variants -- Pattern Matching with Variants -- Exhaustiveness -- Complex Patterns -- Variants with Data -- Recursive Data Types -- Options 001453682 5058_ $$aPattern Matching Options -- Exceptions and Error Handling -- Raising Exceptions -- Catching Exceptions -- Custom Exceptions -- Another Way to Handle Errors: Result -- Result in Action -- Defining Errors for Results -- Composing Results -- Final Thoughts -- Chapter 4: Records and Objects -- Records -- Declaring and Creating Records -- Nominal Typing -- Accessing Record Fields -- Updating Records -- Mutable Fields -- Optional Fields -- Destructuring Records -- Pattern Matching with Records -- Records and Variants -- Printing Records -- Records and JSON -- Serialization -- Deserialization -- Objects 001453682 5058_ $$aDeclaring and Creating Objects -- Accessing Object Fields -- Structural Typing -- Mutating Objects -- Printing Objects -- Objects and JSON -- Serializing Objects -- Deserializing Objects -- Objects vs. Records -- Chapter 5: Lists and Arrays -- Arrays -- Array Standard Library -- Note on Accessing Arrays -- Higher-Order Functions for Arrays -- Map -- Filter -- Reduce -- Composing Higher-Order Functions -- Higher-Order Functions in Action -- Generalizing Higher-Order Functions -- Lists -- Building a List -- Immutability and Lists -- Pattern Matching with List -- Higher-Order Functions with Lists 001453682 5058_ $$aDrawbacks of Lists -- Use Cases for Immutable Collections -- Lists vs. Arrays -- Final Thoughts -- Chapter 6: Collections -- Immutable Collections -- Immutable Sets -- Creating a Set -- Updating a Set -- Common Set Operations -- Immutable Maps -- Creating a Map -- Updating a Map -- Accessing a Map -- Using Collections: Luggage Example Revisited -- Advanced Topic: Generic Collections -- Mutable Collections -- Mutable Stack -- Mutable Queue -- Mutable Set and Mutable Map -- Mutable Map Example -- Hash Set and Hash Map -- Creating a Hash Set/Hash Map -- Accessing Hash Maps -- Hash Map Example 001453682 506__ $$aAccess limited to authorized users. 001453682 520__ $$aThis book serves as a succinct guide on ReScript, a functional language for building web applications. Using examples of ReScript language features along with explanations of fundamental concepts in functional programming, this book will show web developers with a background in JavaScript how to effectively use ReScript to its full potential. In Introducing ReScript, you'll learn how to use features in ReScript that JavaScript lacks, such as type inference, null-safety, algebraic data types, pattern matching, and more. Along the way, you'll pick up functional programming concepts like immutability and higher-order functions. You'll also gain a sense of how ReScript works under the hood and how to leverage interoperability between ReScript and JavaScript. Whether you're a web developer interested in dabbling with functional programming or you just want to learn how to write safer and cleaner code for web applications, this book is a great way for you to get started with ReScript. What You Will Learn Use ReScript to write clean, safe, and elegant software Understand the features of ReScript that set it apart from JavaScript, such as type inference, null-safety, and algebraic data types Explore functional programming concepts like immutabhigher-orderr order functions, and pattern matching Use popular JavaScript libraries and frameworks in your ReScript code and integrate ReScript code into JavaScript codebases Who This Book Is For Web developers that want a strictly typed, safer alternative to JavaScript, as well as web developers interested in learning functional programming and leveraging the elegant and powerful functional features in ReScript. 001453682 588__ $$aDescription based on online resource; title from digital title page (viewed on January 17, 2023). 001453682 650_0 $$aWeb applications$$xProgramming. 001453682 655_0 $$aElectronic books. 001453682 77608 $$iPrint version:$$aYang, Danny$$tIntroducing Rescript$$dBerkeley, CA : Apress L. P.,c2023$$z9781484288870 001453682 852__ $$bebk 001453682 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-1-4842-8888-7$$zOnline Access$$91397441.1 001453682 909CO $$ooai:library.usi.edu:1453682$$pGLOBAL_SET 001453682 980__ $$aBIB 001453682 980__ $$aEBOOK 001453682 982__ $$aEbook 001453682 983__ $$aOnline 001453682 994__ $$a92$$bISE