Email the Author

You can use this page to email Paul Marrington about Lispz - Functional Programming for the Single Page Application.

Please include an email address so the author can respond to your query

This message will be sent to Paul Marrington

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

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...

About the Author

Paul Marrington’s avatar Paul Marrington

@paulmarrington

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.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Lispz-anoldlanguageforanewparadigm › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss