Skip to main content


To log something in the console, make sure to import the proper package. Then, in the main function, we can log like this:

import Effect (Effect)

main = log "Hello world"

Logging more than one thing

To run more than one thing in the main function, we need to use the do-keyword an proper indentation:

main = do
log "Hello world"
log "Hello World"

Logging an expression

In case of a variable:

name = "John Doe"

main = log (show name)

In case of a function-call:

double :: Int -> Int
double x = x * 2

main = log (show (double 2))

This will get "4" logged. Surprise! Please notice the additional braces around the function-call. Optionally, store the function call in a variable before logging.

Concatinating stuff in the console

In this example, we have a function for doubling an integer. The second function calls the first one, but converts and returns the first ones value to a string. Plus, it concatinates it with another string:

doubleNumber :: Int -> Int
doubleNumber x = x * 2

printDoubleNumber :: Int -> String
printDoubleNumber x = "The Result: " <> (show (doubleNumber x))

main = log (printDoubleNumber 2)

In the console: "The Result: 4"