FuJa0815/elm-ui/1.0.0

Rerouted (regenerated, verified). Same repository and tag, but GitHub now builds the zip with different bytes, so it no longer matches the SHA-1 package.elm-lang.org recorded. The Lamdera package server serves a copy recovered from https://github.com/FuJa0815/elm-ui.

What we checked: Tag 1.0.0 is still on github.com/FuJa0815/elm-ui; its commit 349b7160528c is from 2021-04-22 11:51 UTC, before the version was published (2021-04-22 12:12 UTC); elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip's SHA-1 is not the published one (GitHub's zip no longer comes out byte for byte the same), so the contents were checked instead.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/FuJa0815/elm-ui/zipball/1.0.0/

Element.Lazy

Same as Html.lazy. In case you're unfamiliar, here's a note from the Html library!


Since all Elm functions are pure we have a guarantee that the same input will always result in the same output. This module gives us tools to be lazy about building Html that utilize this fact.

Rather than immediately applying functions to their arguments, the lazy functions just bundle the function and arguments up for later. When diffing the old and new virtual DOM, it checks to see if all the arguments are equal by reference. If so, it skips calling the function!

This is a really cheap test and often makes things a lot faster, but definitely benchmark to be sure!


lazy : (a -> Element msg) -> a -> Element msg
lazy2 : (a -> b -> Element msg) -> a -> b -> Element msg
lazy3 : (a -> b -> c -> Element msg) -> a -> b -> c -> Element msg
lazy4 : (a -> b -> c -> d -> Element msg) -> a -> b -> c -> d -> Element msg
lazy5 : (a -> b -> c -> d -> e -> Element msg) -> a -> b -> c -> d -> e -> Element msg