Introdution

Welcome to The Carp Programming Language, an introductory book about Carp. Carp is a small programming language designed to work well for interactive and performance sensitive use cases like games, sound synthesis and visualizations. It uses a ownership system to achieve automatic and deterministic memory management similar of the Rust programming language.

Although it looks like a lisp, it is not. The runtime semantics are much closer to those of ML or Rust.

Who Carp Is For

TODO

Who This Book Is For

This book assumes that you’ve written code in another programming language but doesn’t make any assumptions about which one. We’ve tried to make the material broadly accessible to those from a wide variety of programming backgrounds. We don’t spend a lot of time talking about what programming is or how to think about it. If you’re entirely new to programming, you would be better served by reading a book that specifically provides an introduction to programming.

How to Use This Book

In general, this book assumes that you’re reading it in sequence from front to back. Later chapters build on concepts in earlier chapters, and earlier chapters might not delve into details on a topic; we typically revisit the topic in a later chapter.

In most situations, we'll lead you to the correct version of any code that doesn't compile.