About the Author

Lou Mauget

Known as Ed Mauget in civilian life. Lou is a name imposed by IBM in 1966. Newly infatuated with Microservices Architecture. Last spring I coded MockOla, a wire-framing tool for Keyhole Software. Have coded in Java since it was conceived. Also worked with C/C++. Current interests include microservices, Docker, Node JS, NoSQL databases, functional programming, single-page web applications ... any new software languages/frameworks.

This blog is about my dalliance with Elm; a purely functional, statically typed language that has type inference. It compiles to JavaScript. Functional programming is compelling, but heretofore, I’d only woven cherry-picked techniques into large object-oriented projects. In FP parlance, I’m partially applied! The times, they are a-changin’.

In this article, I’ll:
– touch on the reasoning for giving a nod to functional languages and data immutability;
– move on to Elm; a blazing-fast, statically typed, purely functional browser-side language that compiles to JavaScript and follows the principles of functional reactive programming;
– survey background items and the Elm environment;
– show a simple type-and-click application, followed by a more realistic To-do application;
– end with my impressions from functional-programming semi-outsider point-of-view.

In this post, we’ll discuss the concept of types, compare static and dynamic types, and show an unobtrusive type inference package provided by Flow.org.

Facebook developed and maintains Flow. The package provides static typing to normally late-bound JavaScript code, including React code. It provides this analysis to a JavaScript application, even if it is an existing application. Flow operates by carrying out a static abstract syntax tree (AST) analysis of type flows at build time.

The React Native framework supports an installable mobile application created from JavaScript source code. It is not a React-based web app wrapper. It isn’t a code generator. There is no required application source code in Java, Objective-C, Swift, or Kotlin. Moreover, a single React Native application targets both iOS and Android devices.

In this blog, we show a quick-start that results in an executing application on a phone, within five minutes. That application is live-reloadable, native cross-platform, and written in JavaScript. It is not a web application.

Egon: Don’t cross the streams. Peter: Why? Egon: It would be bad. – Ghostbusters (1984) In this post I’ll touch on the emergence of JavaScript reactive streams. We’ll look at a cool online interactive tool that is useful for checking behavior of stream operators. I’ll finish by showing six RxJs JSFiddle examples that you can run and modify. Background Rich …

This world is but a canvas to our imagination. -Henry David Thoreau Dynamic Web Graphics The past… Applets In the previous millennium, HTML markup had limited support for graphics. If we wanted dynamic graphics, or even a page that responded seamlessly to requests, we embedded a JavaScript VM in the page to host an Applet. Indeed, Applets were an original …