Every Elm project needs the core libraries. They provide basic functionality including:
- The Basics — addition, subtraction, etc.
- Data Structures — lists, dictionaries, sets, etc.
All Elm files have some default imports:
import Basics exposing (..)
import List exposing ( List, (::) )
import Maybe exposing ( Maybe( Just, Nothing ) )
import Result exposing ( Result( Ok, Err ) )
import String
import Tuple
import Debug
import Platform exposing ( Program )
import Platform.Cmd exposing ( Cmd, (!) )
import Platform.Sub exposing ( Sub )
The intention is to include things that are both extremely useful and very
unlikely to overlap with anything that anyone will ever write in a library.
By keeping the set of default imports small, it also becomes easier to use
whatever version of map
suits your fancy. Finally, it makes it easier to
figure out where the heck a function is coming from.