extrema.is articles
https://www.extrema.is/articles
Thu, 19 Sep 2024 08:33:39 +0900Feed of articles on extrema.isen-usTravis Cardwelltravis.cardwell@extrema.isHaskell Books: Functional Design and Architecture
https://www.extrema.is/articles/haskell-books/functional-design-and-architecture
https://www.extrema.is/articles/haskell-books/functional-design-and-architecture#20240919083339Thu, 19 Sep 2024 08:33:39 +0900Functional Design and Architecture lays out a comprehensive and complete approach to software design that utilizes the powerful and fascinating ideas of functional programming. Its examples are in Haskell, but its universal principles can be put into practice with any functional programming language. Inside, you'll find cutting-edge functional design principles and practices for every stage of application development, from architecting your application through to running simple and maintainable tests.Haskell Books: Mathematics in Programming
https://www.extrema.is/articles/haskell-books/mathematics-in-programming
https://www.extrema.is/articles/haskell-books/mathematics-in-programmingWed, 07 Aug 2024 05:57:16 +0900The book presents the mathematical view and tools of computer programming with broad and friendly context. It explains the basic concepts such as recursion, computation model, types, data, and etc. The book serves as an introductory and reference guide to the engineers, students, researchers, and professionals who are interested in functional programming, type system, and computer programming languages.Haskell Books: Introduction to Computation
https://www.extrema.is/articles/haskell-books/introduction-to-computation
https://www.extrema.is/articles/haskell-books/introduction-to-computationWed, 20 Mar 2024 13:26:12 +0900Computation, itself a form of calculation, incorporates steps that include arithmetical and non-arithmetical (logical) steps following a specific set of rules (an algorithm). This uniquely accessible textbook introduces students using a very distinctive approach, quite rapidly leading them into essential topics with sufficient depth, yet in a highly intuitive manner. From core elements like sets, types, Venn diagrams and logic, to patterns of reasoning, calculus, recursion and expression trees, the book spans the breadth of key concepts and methods that will enable students to readily progress with their studies in Computer Science.Haskell Books: Soar with Haskell
https://www.extrema.is/articles/haskell-books/soar-with-haskell
https://www.extrema.is/articles/haskell-books/soar-with-haskellTue, 02 Jan 2024 20:47:29 +0900With software systems reaching new levels of complexity and programmers aiming for the highest productivity levels, software developers and language designers are turning toward functional programming because of its powerful and mature abstraction mechanisms. This book will help you tap into this approach with Haskell, the programming language that has been leading the way in pure functional programming for over three decades. The book begins by helping you get to grips with basic functions and algebraic datatypes, and gradually adds abstraction mechanisms and other powerful language features. Next, you'll explore recursion, formulate higher-order functions as reusable templates, and get the job done with laziness. As you advance, you'll learn how Haskell reconciliates its purity with the practical need for side effects and comes out stronger with a rich hierarchy of abstractions, such as functors, applicative functors, and monads. Finally, you'll understand how all these elements are combined in the design and implementation of custom domain-specific languages for tackling practical problems such as parsing, as well as the revolutionary functional technique of property-based testing. By the end of this book, you'll have mastered the key concepts of functional programming and be able to develop idiomatic Haskell solutions.Haskell Books: Effective Haskell
https://www.extrema.is/articles/haskell-books/effective-haskell
https://www.extrema.is/articles/haskell-books/effective-haskellFri, 04 Aug 2023 04:52:17 +0900Put the power of Haskell to work in your programs, learning from an engineer who uses Haskell daily to get practical work done efficiently. Leverage powerful features like Monad Transformers and Type Families to build useful applications. Realize the benefits of a pure functional language, like protecting your code from side effects. Manage concurrent processes fearlessly. Apply functional techniques to working with databases and building RESTful services. Don't get bogged down in theory, but learn to employ advanced programming concepts to solve real-world problems. Don't just learn the syntax, but dive deeply into Haskell as you build efficient, well-tested programs.Haskell Books: Learn Physics with Functional Programming
https://www.extrema.is/articles/haskell-books/learn-physics-with-functional-programming
https://www.extrema.is/articles/haskell-books/learn-physics-with-functional-programmingSun, 05 Mar 2023 08:13:50 +0900Learn Physics with Functional Programming is your key to unlocking the mysteries of theoretical physics by coding the underlying math in Haskell. You'll use Haskell's type system to check that your code makes sense as you deepen your understanding of Newtonian mechanics and electromagnetic theory, including how to describe and calculate electric and magnetic fields.Haskell Books: Production Haskell
https://www.extrema.is/articles/haskell-books/production-haskell
https://www.extrema.is/articles/haskell-books/production-haskellFri, 03 Feb 2023 04:53:14 +0900Are you excited about Haskell, but don't know where to begin? Are you thrilled by the technical advantages, but worried about the unknown pitfalls? This book has you covered. After reading this book, you should feel comfortable writing large software projects in Haskell, evaluating competing libraries and techniques, and productively reading material from a variety of Haskell users.Costco Japan Secrets
https://www.extrema.is/articles/costco-japan-secrets
https://www.extrema.is/articles/costco-japan-secretsWed, 23 Nov 2022 10:19:40 +0900This article documents some "secrets" about shopping at Costco Japan.Haskell Books: Practical Haskell
https://www.extrema.is/articles/haskell-books/practical-haskell
https://www.extrema.is/articles/haskell-books/practical-haskell#20220930053049Fri, 30 Sep 2022 05:30:49 +0900Get a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This updated edition includes more modern treatment of Haskell's web framework and APIs. This book contains excellent coverage of the Haskell ecosystem and supporting tools, including Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, WAI and Elm to develop the back end and front end of web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.Haskell Books: Haskell (Almost) Standard Libraries
https://www.extrema.is/articles/haskell-books/haskell-almost-standard-libraries
https://www.extrema.is/articles/haskell-books/haskell-almost-standard-librariesSun, 13 Mar 2022 06:32:33 +0900How do I match against a regex? How do I copy a file and handle any exception? These are just a couple of examples of common tasks which require libraries in Haskell. Everybody know which one you should use... right? This books walk you through the main "standard" libraries in the ecosystem, with lots of examples to get you started.Haskell Books: Learn Haskell by building a blog generator
https://www.extrema.is/articles/haskell-books/learn-haskell-blog-generator
https://www.extrema.is/articles/haskell-books/learn-haskell-blog-generatorSun, 13 Mar 2022 06:32:33 +0900In this book we will implement a simple static blog generator in Haskell, converting documents written in our own custom markup language to HTML. In each chapter of the book we will focus on a particular task we wish to achieve, and through the chapter we'll learn just enough Haskell to complete the task.Haskell Books: Retrocomputing with Clash
https://www.extrema.is/articles/haskell-books/retrocomputing-with-clash
https://www.extrema.is/articles/haskell-books/retrocomputing-with-clashTue, 07 Dec 2021 15:14:57 +0900Haskell has become the functional programming language of choice for many developers due to its excellent tools for abstraction and principled program design. The open source Clash hardware description language now brings these features to FPGA development. Retrocomputing with Clash takes the experienced Haskell programmer on a journey into the world of hardware design with Clash. Our approach is based on using Haskell to its fullest potential, using abstractions like monads and lenses in building a library of reusable components. But that wouldn't put the fun in functional programming! And so we put these components to good use in implementing various retro-computing devices.Haskell Books: Book of Monads
https://www.extrema.is/articles/haskell-books/book-of-monads
https://www.extrema.is/articles/haskell-books/book-of-monads#20211010180504Sun, 10 Oct 2021 18:05:04 +0900In functional programming, at the heart of input/output, failure, state, logic, and much more, lies a powerful abstraction called monad. This book provides a journey from the very first concepts, to the myriad of monads available to programmers, down to the categorical foundations.Reader-Friendly Haskell Imports
https://www.extrema.is/articles/reader-friendly-haskell-imports
https://www.extrema.is/articles/reader-friendly-haskell-importsMon, 27 Sep 2021 12:29:23 +0900This article describes some practices that I follow to make my Haskell code easier to read. In general, these practices allow readers to determine where types, functions, etc. are defined without having to use an IDE or other tooling.Haskell Books: Haskell Made Easy
https://www.extrema.is/articles/haskell-books/haskell-made-easy
https://www.extrema.is/articles/haskell-books/haskell-made-easySun, 26 Sep 2021 09:27:39 +0900This book will help you learn HASKELL very easily. In this book, you will learn HASKELL from scratch and discover the FULL BLUEPRINT ON HOW TO MOVE from a beginner to an expert in HASKELL, how to avoid most mistakes that most people make in HASKELL, how to become a PRO in HASKELL, and how to avoid most errors in HASKELL.Haskell Books: Haskell Programming
https://www.extrema.is/articles/haskell-books/haskell-programming-a-step-by-step-guide
https://www.extrema.is/articles/haskell-books/haskell-programming-a-step-by-step-guideSun, 26 Sep 2021 09:27:39 +0900A balance of flexible and inflexible qualities make Haskell a fascinating programming language to learn and use.Haskell Books: Learn Haskell Quickly
https://www.extrema.is/articles/haskell-books/learn-haskell-quickly
https://www.extrema.is/articles/haskell-books/learn-haskell-quicklySun, 26 Sep 2021 09:27:39 +0900This book specifically written for beginners. This book serves as a teaching guide and also a reference manual to accompany you through this wonderful world of programming. We take you step-by-step through writing your very first program, explaining each portion of code as we go along. The book includes practical examples for beginners.Haskell Books: What the Industrial Coder Misses
https://www.extrema.is/articles/haskell-books/what-the-industrial-coder-misses
https://www.extrema.is/articles/haskell-books/what-the-industrial-coder-missesSun, 26 Sep 2021 09:27:39 +0900The world of software coding has been having serious problems in programming language designs and methodologies. The problems were caused mostly by the practicing language designers having too little (if any) knowledge about languages and methodologies. These problems caused the industry to be several times less efficient. The biggest problem in the situation is that neither the software coders nor the financial decision makers are aware of the problem. Though the waking up is obviously visible--it is still too slow. This book presents the most needed knowledge in a concise and explanatory, "you could have invented" style. It is not a programming language tutorial, but rather a presentation of concepts, without many technicalities, using a pseudo-code that is inspired by Haskell.Haskell Books: Category Theory For Programmers
https://www.extrema.is/articles/haskell-books/category-theory-for-programmers
https://www.extrema.is/articles/haskell-books/category-theory-for-programmersThu, 22 Jul 2021 17:25:49 +0900Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming. That's because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well-structured programs are easier to understand and maintain and are less likely to contain bugs. Category theory provides the language to talk about structure and learning it will make you a better programmer.Haskell Books: Categories and Haskell
https://www.extrema.is/articles/haskell-books/categories-and-haskell
https://www.extrema.is/articles/haskell-books/categories-and-haskellThu, 22 Jul 2021 17:14:39 +0900This document contains notes on category theory in the context of (functional) programming. Originally they were lecture notes for a seminar hosted at Centrum Wiskunde & Informatica, the national research centre for mathematics and computer science in the Netherlands. The main reason for compiling these notes is to provide a way to gain familiarity with concepts of category theory (and other branches of mathematics) that apply in a broad sense to the field of functional programming.