Pages: 208 Published: April 2019 ISBN: 9781680506334
In Print
Web Development with ReasonML
Type-Safe, Functional Programming for JavaScript Developers
by J. David Eisenberg
ReasonML is a new, type-safe, functional language that compiles to
efficient, readable JavaScript. ReasonML interoperates with existing
JavaScript libraries and works especially well with React, one of the
most popular front-end frameworks. Learn how to take advantage of the
power of a functional language while keeping the flexibility of the
whole JavaScript ecosystem. Move beyond theory and get things done
faster and more reliably with ReasonML today.
ReasonML is a new syntax for OCaml, a battle-tested programming language
used in industry for over 20 years. Designed to be familiar to
JavaScript programmers, ReasonML code compiles to highly readable
JavaScript. With ReasonML, you get OCaml’s powerful functional
programming features: a strong static type system with an excellent type
inference engine, pattern matching, and features for functional
programming with immutable variables. ReasonML also allows flexibility
with opt-in side effects, mutation, and object-oriented programming.
ReasonML hits the sweet spot between the pure theoretical world and the
laissez-faire approach of JavaScript.
Start using ReasonML’s powerful type system as you learn the essentials
of the language: variables and arithmetic operations. Gain expressive
power as you write functions with named parameters and currying. Define
your own data types, and integrate all these capabilities into a simple
web page. Take advantage of ReasonML’s functional data structures with
map and reduce functions. Discover new ways to write algorithms with
ReasonML’s recursion support. Interoperate with existing JavaScript
libraries with bindings, and write reactive web applications using
ReasonML in tandem with React. Reinforce concepts with examples that
range from short, tightly focused functions to complete programs, and
practice your new skills with exercises in each chapter.
With ReasonML, harness the awesome power of a functional language while
retaining the best features of JavaScript to produce concise, fast,
type-safe programs.
What You Need
You’ll need to have node.js (version 10.0 or above) and npm (version 5.6
or above). Once you install the bs-platform package and fire up a text
editor, you’re ready to go. There are plugins for many popular editors
that will make editing easier.
J. David Eisenberg is a programmer and instructor at Evergreen
Valley College in San Jose, California.
He is co-author of several books on programming technology (SVG, Elixir,
Erlang, and ClojureScript).
David’s interest in foreign languages has led him to write online
tutorials for Korean, Modern Greek, and Russian.
He is also a cat person.