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

Register

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.

Description:
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-repl

elm-reactor

elm-make

elm-package

  • Elm Language Basic

Comments, Numbers, Assignments, Boolean, and Characters

Lists

Let

Functional Conditions

Tuples

  • 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

Currying

  • Types

Union Types

Maybe

Records and Record Types

  • The Elm Architecture
  • Simple Elm Programs

Model

View

Update

  • Advanced Elm Programs

Tasks

Commands

Subscriptions

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

Panels

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
sinha@uwm.edu