Module definition and imports
To define a module in Elchemy you need to use a
module ModuleName exposing (..)
Which would directly translate to defmodule
block where functions/types mentioned in the exposing
clause will automatically use def
or defp
Imports
There are two types of imports in Elchemy.
Without exposing
One is a import without exposed functions like
import SomeModule
Which would directly translate to
alias SomeModule
Because it doesn't import any of the exposed contents, only makes sure that the module is in our namespace.
With exposing
import SomeModule exposing (funA, TypeA, funB)
Which outputs
import SomeModule, only: [{:fun_a, 0}, {:fun_b, 0}]
Which would put SomeModule
into our namespace and also allow us to use
fun_a
and fun_b
without explicitly adding a module name before them.