Packages
gleam_stdlib
0.24.0
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
src/gleam/io.gleam
import gleam/string
/// Writes a string to standard output.
///
/// If you want your output to be printed on its own line see `println`.
///
/// ## Example
///
/// ```
/// > io.print("Hi mum")
/// // -> Hi mum
/// Nil
/// ```
///
pub fn print(string: String) -> Nil {
do_print(string)
}
if erlang {
external fn do_print(string: String) -> Nil =
"gleam_stdlib" "print"
}
if javascript {
external fn do_print(String) -> Nil =
"../gleam_stdlib.mjs" "print"
}
/// Writes a string to standard output, appending a newline to the end.
///
/// ## Example
///
/// ```gleam
/// > io.println("Hi mum")
/// // -> Hi mum
/// Nil
/// ```
///
pub fn println(string: String) -> Nil {
do_println(string)
}
if erlang {
external fn do_println(string: String) -> Nil =
"gleam_stdlib" "println"
}
if javascript {
external fn do_println(String) -> Nil =
"../gleam_stdlib.mjs" "log"
}
/// Prints a value to standard output (stdout) yielding Gleam syntax.
///
/// The value is returned after being printed so it can be used in pipelines.
///
/// ## Example
///
/// ```gleam
/// > io.debug("Hi mum")
/// // -> <<"Hi mum">>
/// "Hi mum"
///
/// > io.debug(Ok(1))
/// // -> {ok, 1}
/// Ok(1)
///
/// > import list
/// > [1, 2]
/// > |> list.map(fn(x) { x + 1 })
/// > |> io.debug
/// > |> list.map(fn(x) { x * 2 })
/// // -> [2, 3]
/// [4, 6]
/// ```
///
pub fn debug(term: anything) -> anything {
term
|> string.inspect
|> println
term
}