Lispz - Functional Programming for the Single Page Application

Lispz - Functional Programming for the Single Page Application

no server needed!

About the Book

Lispz encourages a functional programming style and data immutability in lisp-like syntax for running in the browser. It compiles to JavaScript, so can easily make use of all the JavaScript libraries and packages.

Lisp (without the z) is a functional language with a long pedigree. Only FORTRAN is an older living language. Traditionally it did not address data immutability, although Clojure (a relatively recent arrival) does.

Lispz as part of the Lisp family encourages functional programming. With Lisp, functions are the main form of flow control. Lisp has very few syntax rules when compared to other languages. Not only does this make it easier to learn, but it also encourages problem decomposition into smaller functions.

Lispz supports data immutability at the program level. This means it allows the creation and update of local data within a function but makes it harder and more obvious to change data passed in or from a more global scope. This works well due to the single threading and co-operative multi-tasking nature of the JavaScript VM.

If the Lisp syntax scares you, just remember that change encourages learning. In practice due to the much simpler syntax, it provides a lot less scaffolding than JavaScript, while still making it abundantly clear when a function needs to be decomposed.

Lispz inherits real macros from Lisp. With macros that use the underlying language you can create new domain specific languages to meet any need.

Lispz uses the power of closures from JavaScript to capture variables that can change to the function currently running.

Lispz includes a simple module system to provide name-spacing and separation of concerns.

Lispz is for single-page applications - including

  • Riot for web components
  • Bootstrap for visual
  • Message passing for decoupling
  • and much more...
  • Share this book

  • Categories

    • Computers and Programming
    • Functional Programming
    • Web Development
  • Feedback

    Email the Author(s)

About the Author

Paul Marrington
Paul Marrington

After an education in Physics, Maths and Electronics, I "fell" into programming. I was emplloyed to wire up data recorders and ended up writing a program to simulate polution from a power station in Fiji ... and never looked back. From the early days I had an interest in languages and user interfaces. I implemented FORTH and RATFOR systems and wrote what is now called DSLs for industry specific systems.

I did my apprenticeships in C (80s), C++ (90s), Java/J2EE (00s). I worked in GIS before was called GIS and developed my first single page applications long before the name was coined.

I have a strong preference for dynamic typing although I prefer strong typing as being more explcit. I believe in explicit over implicit even when it is not completely DRY. On the other hand I believe that scaffolding hides the meaning of code and makes it harder to maintain. In general I lean towards declarative programming styles - and functional programming supports this.

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub