The Center for Technology Innovation sponsors a series of day-long workshops on cutting-edge technology issues with nationally-known speakers. Open to the public, the $165 registration fee includes handouts, breaks, lunch, and parking in the UWM Union parking structure. Discounted rate is available for UWM MIS/ITM alumni for $145.

Functional Reactive Programming on the front end using Elm
Friday, April 14, 2017
8:30am – 4:30pm, Lubar Hall N333


Workshop presenter, Daniel Hinojosa is a programmer, consultant, instructor, speaker, and author. With over 20 years of experience, he does work for private, educational, and government institutions. Daniel loves JVM languages like Java, Groovy, and Scala; but also works with non-JVM languages like Haskell, Ruby, Python, LISP, C, C++. He is an avid Pomodoro Technique Practitioner and makes every attempt to learn a new programming language every year. Daniel is the author of Testing in Scala and video of Beginning Scala Programming Video Series for O’Reilly Publishing.

Elm is a JavaScript front end that competes with React and Angular; it is a functional language based on Haskell that compiles into JavaScript and is used to create dynamic or single app based applications. Elm is fast, and is well designed with its architecture, and integrates well with preexisting HTML and JavaScript Applications. The one day workshop starts with an introduction to the tools of Elm and then proceeds into a rigorous introduction into Haskell-style functional programming the Elm way.  We will then discuss the Elm Architecture and how to create the full dynamic application using Elm’s Model, View, Update and discuss how Elm processes Effects using Command, Tasks, and Subscriptions.  Finally, we conclude, with why Elm should be a consideration for dynamic web development.

Who should attend:
Any developer curious about the Elm Programming language.  Knowledge of any modern programming language is all that is needed.

Student requirements
Students should bring their own laptop

The topics you will learn are:

  • Introduction Elm Programming Language

Explanation of the Elm

Competitors to Elm

The need of functional over imperative on the front end

Performance of Elm

Reactive Programming

  • Elm Tooling





  • Elm Language Basic

Comments, Numbers, Assignments, Boolean, and Characters



Functional Conditions


  • Elm Functions

Basic Functions

Infix Functions

  • Elm Modules

Creating Your Module

Importing Modules

  • Elm Advanced Functions

Higher Order Functions

Backward and Forward Function Application

Function Composition


  • Types

Union Types


Records and Record Types

  • The Elm Architecture
  • Simple Elm Programs




  • Advanced Elm Programs




  • Embedding Elm

JavaScript to Elm

Elm to JavaScript


Recent workshops included:

  • rediscovering JavaScript
  • A Thorough Introduction to Grails 3
  • Java Design Patterns
  • The Antifragility Edge: Business and Technology
  • Aurelia: Single Page Applications Done Right
  • A Swift Kickstart: Introducing the Swift 2.0 Programming Language
  • AngularJS Hands-on Programming Codecamp

To automatically receive information on upcoming workshops, please click here to request being added to our mailing list. 


The Center also sponsors panel discussions with IT leaders who present their thoughts on topics of interest to the local IT community. Audience participation follows the presentation.

For More Information

Dr. Atish Sinha
Director, Center for Technology Innovation
Professor, Information Technology Management
Lubar Hall N363
(414) 229-3301