Index
A
- algebraic data types / Revisiting Elm messages
- apm (Atom Package Manager)
- installing / Installing apm (Atom Package Manager)
- Application Programming Interface (API) / Blazing-fast virtual DOM
B
- Bootstrap-based HTML layout
- for unit converter app / A Bootstrap-based HTML layout for our app
- Bootstrap styles
- adding / Adding Bootstrap styles
- buttons
- reference link / Revisiting Elm messages
C
- Card.head function
- reference / Rendering the Card.title content block
- Card function
- about / Understanding the Card function
- Card.view, using / Understanding the use of Card.view
- Card.title content block, rendering / Rendering the Card.title content block
- Card.actions code / Understanding the Card.actions code
- case-of expressions
- used, for destructing tuples / Destructuring tuples in Elm using case-of expressions
- case expressions / Functions, pattern matching, and case expressions
- Codeanywhere
- about / Setting up a basic Rails 5.1.5 app using Codeanywhere
- used, for setting up Rails 5.1.5 app / Setting up a basic Rails 5.1.5 app using Codeanywhere
- Ruby 2.5.0, installing / Installing Ruby 2.5.0 and Rails 5.1.5 on Codeanywhere
- Rails 5.1.5, installing / Installing Ruby 2.5.0 and Rails 5.1.5 on Codeanywhere
- color schemes
- adding / Adding color schemes
- commands / Commands in Elm
- compiler error messages / Learning from compiler error messages
- conversion logic
- adding / Adding the conversion logic
- input function, improving / Improving the input function
- stumbling block / The stumbling block
- Result.Result error, dealing with / Dealing with the Result.Result error
- Result type, used to fix app / Using the Result type to fix our app
- conversion, calculating / Calculating the conversion
- app refactoring, let-expression used / Refactoring our app using a let expression
- create-elm-app
- about / Getting started fast with create-elm-app
- reference link / Getting started fast with create-elm-app
D
- data structures
- about / Values, expressions, data structures, and types in Elm, Data structures: lists, tuples, records, sets, arrays, and dictionaries
- lists / Lists
- tuples / Tuples
- records / Records
- sets / Sets
- arrays / Arrays
- dictionaries / Dictionaries
- reference link / Dictionaries
- declarative programming / Blazing-fast virtual DOM
- decodeTemperatureInfo
- updating / Updating decodeTemperatureInfo
- Document Object Model (DOM) / Blazing-fast virtual DOM
E
- Elevations
- reference / Understanding the use of Card.view
- Ellie-app
- about / Getting started fast with Ellie-app
- type annotations, adding / Adding type annotations
- Elm
- about / What is Elm?
- features / Why is it worth learning Elm?
- code, writing / Getting started with writing Elm code
- Ellie-app / Getting started fast with Ellie-app
- on Windows 10 / Getting started with Elm on Windows 10
- reference link / Installing apm (Atom Package Manager)
- FizzBuzz app, building / Building a simple FizzBuzz app in Elm
- reference / Building a static single-page portfolio
- HTML / HTML for Elm
- values, destructing / Destructuring values in Elm
- tuples, destructing with let-in expression / Destructuring tuples in Elm using let-in expressions
- randomness / Dealing with randomness in Elm
- integrating, with Rails 5.1.5 / Integrating Elm with Rails 5.1.5
- elm-make-app
- used, for creating portfolio / Creating our portfolio with elm-make-app
- elm-mdl
- adding, to weather app / Adding elm-mdl to our Model
- Elm app
- building / Let's build an app
- immutable data structures / Immutable data structures
- Elm architecture / The Elm architecture
- unidirectional data flows / Unidirectional data flows
- requirements / Our app requirements
- Elm architecture
- about / The Elm architecture
- Model / The Model
- View / The View
- Message / The Message
- Update / The Update
- enhancement, by adding effects / Improving the Elm architecture by adding effects
- elm package
- reference / Importing Material and Round modules
- Elm REPL / Values, expressions, data structures, and types in Elm
- Elm testing
- about / Introduction to Elm testing
- steps / Understanding how testing works in Elm
- working / Understanding how testing works in Elm
- describe function, using / The describe function
- Expect function / The test and Expect functions
- test function / The test and Expect functions
- Elm view
- HTML layout, converting into / Converting an HTML layout into an Elm view
- Elm weather app
- adding, to Rails app / Adding our Elm weather app to our Rails app
- Expect function
- reference / The test and Expect functions
- expressions
- about / Values, expressions, data structures, and types in Elm
- if expression / Functions, if expressions, and types
F
- features, Elm
- blazing-fast virtual DOM / Blazing-fast virtual DOM
- friendly compile-time errors / Friendly compile-time errors
- zero runtime exceptions / Zero runtime exceptions
- constraints as guarantees / Constraints as guarantees
- piped syntax / Piped syntax
- easy refactoring / Easy refactoring
- helpful type system / Helpful type system
- increased productivity / Increased productivity
- FizzBuzz app
- building, in Elm / Building a simple FizzBuzz app in Elm
- about / Revisiting the FizzBuzz app
- implementing, with List.map / Implementing FizzBuzz with List.map
- revisiting / Revisiting the FizzBuzz app
- logic, providing / Giving our FizzBuzz app some logic
- building, with tuple destruction inside case-of expression / Building a FizzBuzz app using tuple destructuring inside of a case-of expression
- fruit counter app
- building / Building the Fruit Counter app, Exposing everything we need
- Model / The Model
- View / The View
- Message / The Message
- Update / The Update
- beginnerProgram function, adding / Adding the beginnerProgram function
- buttons, adding / Views, buttons, and events
- views, updating / Views, buttons, and events
- events / Views, buttons, and events
- decrement message, constraining / Constraining the Decrement message
- improving / Improving the Fruit Counter app
- functions
- multiplyBy5 function / Functions, if expressions, and types
- update function / Functions, pattern matching, and case expressions
- fuzz tests
- writing / Writing fuzz tests in Elm
- working, with multiple fuzzer / Working with more than one fuzzer
H
- horizontal alignment
- reference / Building a static single-page portfolio
- Html.map
- reference link / Understanding Html.map
- about / Understanding Html.map
- HTML elements
- function signatures / Function signatures for HTML elements
- HTML layout
- converting, into Elm view / Converting an HTML layout into an Elm view
- HTTP package
- installing / Installing the HTTP package
- reference / Installing the HTTP package
I
- immutable data structures / Immutable data structures
- imperative programming / Blazing-fast virtual DOM
- imports
- adding, to weather app / Adding all the imports
- init function
- updating / Updating the init function, Updating the init function
- type annotation / Type annotations and type aliases
- type aliases / Type annotations and type aliases
- initModel
- Integrated Development Environment (IDE) / Setting up a basic Rails 5.1.5 app using Codeanywhere
J
- Json.Decode
- reference / Decoders and encoders
L
- let-in expressions
- used, for destructing tuples / Destructuring tuples in Elm using let-in expressions
- used, for destructing nested tuples / Destructuring nested tuples using let-in expressions
- used, for destructing records / Destructuring records in Elm using let-in expressions
- using, in unit tests / Using let-in expressions in our tests
- List.filter
- working with / Working with List.map and List.filter
- List.map
- working with / Working with List.map and List.filter
- used, for implementing FizzBuzz / Implementing FizzBuzz with List.map
M
- main
- Main.update function
- updating / Updating the Main.update function
- Main.view function
- updating / Updating the Main.view function
- Material.Color
- reference / Understanding the use of Card.view
- Material.Options
- reference / Rendering the Card.title content block
- material modules
- importing / Importing Material and Round modules
- Maybe
- working with / Working with Maybe
- using, with defaults / Result and Maybe with Defaults
- messages
- about / Revisiting Elm messages
- improving / Improving our messages
- Msg union type
- result / Result and Maybe
- Maybe / Result and Maybe
- updating / Updating the Msg union type and the update function
N
- nested tuples
- destructing, let-in expression used / Destructuring nested tuples using let-in expressions
O
- Open Weather Map API
P
- partial application / Understanding partial application
- pattern matching / Functions, pattern matching, and case expressions
- portfolio
- creating, with elm-make-app / Creating our portfolio with elm-make-app
- primitive types
- char type / Char and String types
- string types / Char and String types
- number type / The number type
R
- Rails 5.1.5
- setting up, with Codeanywhere / Setting up a basic Rails 5.1.5 app using Codeanywhere
- installing, on Codeanywhere / Installing Ruby 2.5.0 and Rails 5.1.5 on Codeanywhere
- Elm, integrating / Integrating Elm with Rails 5.1.5
- Rails app
- Elm weather app, adding / Adding our Elm weather app to our Rails app
- Rails project
- creating / Creating a brand new Rails project
- randomness
- dealing with / Dealing with randomness in Elm
- RawGit
- reference link / Converting an HTML layout into an Elm view
- records
- destructing, let-in expression used / Destructuring records in Elm using let-in expressions
- destructing / Destructuring records on the fly
- Result
- reference link / Dealing with the Result.Result error
- about / Result and Maybe
- working with / Working with Result
- using, with defaults / Result and Maybe with Defaults
- Round modules
- importing / Importing Material and Round modules
- reference / Rendering the Card.title content block
- Round package
- reference / Importing Material and Round modules
- Ruby 2.5.0
- installing, on Codeanywhere / Installing Ruby 2.5.0 and Rails 5.1.5 on Codeanywhere
S
- Single Page Applications (SPAs) / Blazing-fast virtual DOM
- static single-page portfolio
- building / Building a static single-page portfolio
- HTML, for Elm / HTML for Elm
- view function, adding / Adding our view function
- view function, calling from another file / Calling the view function from another file
- some style, adding / Adding some style
- view, splitting into multiple files / Splitting the view into multiple files
- Writer's portfolio, completing / Completing our Writer's portfolio
- page sections, rendering with case expressions / Rendering sections of our page using case expressions
- subscriptions / Subscriptions in Elm
T
- tagged unions / Revisiting Elm messages
- Textfield function
- reference / Understanding the Textfield function
- text function
- function signature / Function signature for text function
- tuples
- destructing, let-in expression used / Destructuring tuples in Elm using let-in expressions
- destructing, case-of expression used / Destructuring tuples in Elm using case-of expressions
- type alias Model
- type constructors / Revisiting Elm messages
- types
- about / Values, expressions, data structures, and types in Elm
- primitive types / Primitive types in Elm
U
- uiGradients
- reference link / Converting an HTML layout into an Elm view
- union types / Revisiting Elm messages
- unit-converter-complex / Adding the improved view to our functioning app
- unit conversion app
- building / Building our Unit Conversion app
- init function, updating / Updating the init function
- view, updating / Updating the view and update functions
- update functions, updating / Updating the view and update functions
- conversion logic, adding / Adding the conversion logic
- app, creating / Making our app look nicer
- improving / Improving the Unit Converter app
- unit conversion website
- building / What are we going to build?
- UnitConverter
- separating, into different module / Separating UnitConverter into a different module
- unit converter app
- improving / Improving the Unit Converter app
- Bootstrap-based HTML layout / A Bootstrap-based HTML layout for our app
- improved view, adding / Adding the improved view to our functioning app
- unit tests
- writing / Writing unit tests in Elm
- let-in expressions, using / Using let-in expressions in our tests
- JSON, decoding / Decoding JSON in our tests
- custom expectations, building while decoding JSON / Building custom expectations while decoding JSON
- update function
- updating / Updating the update function, Updating the Msg union type and the update function
- decoders / Decoders and encoders
- encoders / Decoders and encoders
- primitive values, decoding / Decoding primitive values
- JSON string returned, decoding from API / Decoding a JSON string returned from the API
- nested objects, decoding / Decoding nested objects
- getTemperature, adding / Adding getTemperature and decodeTemperatureInfo
- decodeTemperatureInfo / Adding getTemperature and decodeTemperatureInfo
V
- values
- about / Values, expressions, data structures, and types in Elm
- booleans value / Booleans
- view function
- updating / Updating the view function
- Textfield function / Understanding the Textfield function
- Textfield function, updating / Understanding the Textfield function
- Button function / Understanding the Button function
- about / Understanding the Button function
- Card function / Understanding the Card function
W
- weather app
- building / What are we going to build?, Building our weather app
- HTTP package, installing / Installing the HTTP package
- imports, adding / Adding all the imports
- conceptualizing / Conceptualizing the model
- Msg union type, setting up / Setting up Msg union type
- update function, updating / Updating the update function
- view, updating / Updating the view
- elm-mdl, adding / Adding elm-mdl to our Model
- weather data
- obtaining, from third-party API / Obtaining the weather data from a third-party API
- World Wide Web Consortium (W3C) / Blazing-fast virtual DOM