Book picks similar to
Drawing Programs: The Theory and Practice of Schematic Functional Programming by Tom Addis
factual
functional-programming
maths
programming
Baby Sense
Megan Faure - 2002
Offering age-appropriate advice on sleeping, eating, and early learning, as well as the basic sensory principles, Baby Sense is the perfect tool for every parent who has ever wondered why a baby is crying--and how to soothe him.
Microprocessors and Microcontrollers
N. Senthil Kumar - 2011
It also touches upon the fundamentals of 32 bit, and 64 bit advanced processors. The book throughout provides the most popular programming tool - the assembly language codes to enhance the knowledge of programming the processors.Clear and concise in its treatment of topics, the contents of the book is supported by learning tools such as review questions, application examples (case studies) and design-based exercises.
Pinch of Nom Food Planner: Includes 26 New Recipes
Kate Allinson - 2022
With one brand new recipe per week this gives you twenty-six exclusive Pinch of Nom recipes - all delicious, full of flavour and designed to keep you full and satisfied. Whether you want to keep track of calories, jot down your shopping lists, record healthy treats or celebrate key achievements, this book helps you plan for the future and see how far you've come.To give you more pages for writing up your goals and food plans, this book does not have any photographs of the recipes, however you can find them on the Pinch of Nom website. Instead the book is beautifully designed and illustrated with line drawings.The Pinch of Nom food blog has a hugely engaged online following and has helped thousands of people to lose weight and cook incredibly delicious and varied recipes. Packed with advice for keeping to your goals and stories from community members, the Pinch of Nom Food Planner is the ideal companion for tracking your weight-loss journey.
Just a Few Bumps
Emily L. Nash - 2020
Tackling the job with skills picked up along the way and enough Redbull to sink a battleship. The stories are real. The patients are real, and the emotions are real. Things I would tell my former student-self: You are going to laugh. You are going to cry. You are going to be scared. You are going to want to quit. You will have PTSD. You are going to see death. But hold on, you got this. It's just a few bumps.
The Art of the Metaobject Protocol
Gregor Kiczales - 1991
The authors, who developed the metaobject protocol andwho were among the group that developed CLOS, introduce this new approach toprogramming language design, describe its evolution and design principles, andpresent a formal specification of a metaobject protocol for CLOS.Kiczales, desRivi?res, and Bobrow show that the "art of metaobject protocol design" lies increating a synthetic combination of object-oriented and reflective techniques thatcan be applied under existing software engineering considerations to yield a newapproach to programming language design that meets a broad set of designcriteria.One of the major benefits of including the metaobject protocol inprogramming languages is that it allows users to adjust the language to better suittheir needs. Metaobject protocols also disprove the adage that adding moreflexibility to a programming language reduces its performance. In presenting theprinciples of metaobject protocols, the authors work with actual code for asimplified implementation of CLOS and its metaobject protocol, providing anopportunity for the reader to gain hands-on experience with the design process. Theyalso include a number of exercises that address important concerns and openissues.Gregor Kiczales and Jim des Rivi?res, are Members of the Research Staff, andDaniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox PaloAlto Research Center.
Mathematical Circles: Russian Experience (Mathematical World, Vol. 7)
Dmitri Fomin - 1996
The work is predicated on the idea that studying mathematics can generate the same enthusiasm as playing a team sport - without necessarily being competitive.
Professor Frisby's Mostly Adequate Guide to Functional Programming
Brian Lonsdorf
We'll use the world's most popular functional programming language: JavaScript. Some may feel this is a poor choice as it's against the grain of the current culture which, at the moment, feels predominately imperative. However, I believe it is the best way to learn FP for several reasons:You likely use it every day at work.This makes it possible to practice and apply your acquired knowledge each day on real world programs rather than pet projects on nights and weekends in an esoteric FP language.We don't have to learn everything up front to start writing programs.In a pure functional language, you cannot log a variable or read a DOM node without using monads. Here we can cheat a little as we learn to purify our codebase. It's also easier to get started in this language since it's mixed paradigm and you can fall back on your current practices while there are gaps in your knowledge.The language is fully capable of writing top notch functional code.We have all the features we need to mimic a language like Scala or Haskell with the help of a tiny library or two. Object-oriented programming currently dominates the industry, but it's clearly awkward in JavaScript. It's akin to camping off of a highway or tap dancing in galoshes. We have to bind all over the place lest this change out from under us, we don't have classes[^Yet], we have various work arounds for the quirky behavior when the new keyword is forgotten, private members are only available via closures. To a lot of us, FP feels more natural anyways.That said, typed functional languages will, without a doubt, be the best place to code in the style presented by this book. JavaScript will be our means of learning a paradigm, where you apply it is up to you. Luckily, the interfaces are mathematical and, as such, ubiquitous. You'll find yourself at home with swiftz, scalaz, haskell, purescript, and other mathematically inclined environments.
Differential Geometry
Erwin Kreyszig - 1991
With problems and solutions. Includes 99 illustrations.
Easy as Pi: The Countless Ways We Use Numbers Every Day
Jamie Buchan - 2009
Make this and all of the Blackboard Books(tm) a permanent fixture on your shelf, and you'll have instant access to a breadth of knowledge. Whether you need homework help or want to win that trivia game, this series is the trusted source for fun facts.
Programming Erlang
Joe Armstrong - 2007
It's used worldwide by companies who need to produce reliable, efficient, and scalable applications. Invest in learning Erlang now.Moore's Law is the observation that the amount you can do on a single chip doubles every two years. But Moore's Law is taking a detour. Rather than producing faster and faster processors, companies such as Intel and AMD are producing multi-core devices: single chips containing two, four, or more processors. If your programs aren't concurrent, they'll only run on a single processor at a time. Your users will think that your code is slow.Erlang is a programming language designed for building highly parallel, distributed, fault-tolerant systems. It has been used commercially for many years to build massive fault-tolerated systems that run for years with minimal failures.Erlang programs run seamlessly on multi-core computers: this means your Erlang program should run a lot faster on a 4 core processor than on a single core processor, all without you having to change a line of code.Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang.It includes example code you'll be able to build upon. In addition, the book contains the full source code for two interesting applications:A SHOUTcast server which you can use to stream music to every computer in your house, and a full-text indexing and search engine that can index gigabytes of data. Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.
Programming Clojure
Stuart Halloway - 2009
Clojure's clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony. Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp. Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones. Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory. Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer. Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code. Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.
Practical Common LISP
Peter Seibel - 2005
This is the first book that introduces Lisp as a language for the real world.Practical Common Lisp presents a thorough introduction to Common Lisp, providing you with an overall understanding of the language features and how they work. Over a third of the book is devoted to practical examples, such as the core of a spam filter and a web application for browsing MP3s and streaming them via the Shoutcast protocol to any standard MP3 client software (e.g., iTunes, XMMS, or WinAmp). In other "practical" chapters, author Peter Seibel demonstrates how to build a simple but flexible in-memory database, how to parse binary files, and how to build a unit test framework in 26 lines of code.
The Rust Programming Language
Steve Klabnik
This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.Known by the Rust community as "The Book," The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.The Book opens with a quick hands-on project to introduce the basics then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.The Rust Programming Language will show you how to: Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes Use Cargo, Rust’s built-in package manager, to build and maintain your code, including downloading and building dependencies Effectively use Rust’s zero-cost abstractions and employ your ownYou’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.
Elementary Differential Equations
Earl D. Rainville - 1962
Each chapter includes many illustrative examples to assist the reader. The book emphasizes methods for finding solutions to differential equations. It provides many abundant exercises, applications, and solved examples with careful attention given to readability. Elementary Differential Equations includes a thorough treatment of power series techniques. In addition, the book presents a classical treatment of several physical problems to show how Fourier series become involved in the solution of those problems. The eighth edition of Elementary Differential Equations has been revised to include a new supplement in many chapters that provides suggestions and exercises for using a computer to assist in the understanding of the material in the chapter. It also now provides an introduction to the phase plane and to different types of phase portraits. A valuable reference book for readers interested in exploring the technological and other applications of differential equations.
Colossus: Bletchley Park's Greatest Secret
Paul Gannon - 2006
Using science, math, innovation, and improvisation, Bletchley Park code breakers worked furiously to invent a machine to decipher what turned out to be the secrets of Nazi high command. It was called Colossus. What these code breakers didn't realize was that they had fashioned the world's first true computer. When the war ended, this incredible invention was dismantled and hidden away for almost 50 years. Paul Gannon has pieced together the tremendous story of what is now recognized as the greatest secret of Bletchley Park.