aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/float.gleam13
-rw-r--r--src/int.gleam8
-rw-r--r--src/str.gleam14
3 files changed, 21 insertions, 14 deletions
diff --git a/src/float.gleam b/src/float.gleam
new file mode 100644
index 0000000..2d3ca3c
--- /dev/null
+++ b/src/float.gleam
@@ -0,0 +1,13 @@
+import iodata
+
+pub enum NotAFloat =
+ | NotAFloat
+
+pub external fn parse(String) -> Result(Float, NotAFloat) =
+ "gleam__stdlib" "parse_float";
+
+pub fn to_string(f) {
+ f
+ |> iodata:from_float
+ |> iodata:to_string
+}
diff --git a/src/int.gleam b/src/int.gleam
new file mode 100644
index 0000000..00571de
--- /dev/null
+++ b/src/int.gleam
@@ -0,0 +1,8 @@
+pub enum NotAnInt =
+ | NotAnInt
+
+pub external fn parse(String) -> Result(Int, NotAnInt) = "gleam__stdlib" "parse_int";
+
+pub external fn to_string(Int) -> String = "erlang" "integer_to_binary"
+
+pub external fn to_base_string(Int, Int) -> String = "erlang" "integer_to_binary"
diff --git a/src/str.gleam b/src/str.gleam
index 8a7708b..9a6c3f3 100644
--- a/src/str.gleam
+++ b/src/str.gleam
@@ -37,17 +37,3 @@ pub fn replace(string, pattern, with) {
pub fn append(s1, s2) {
iodata:new(s1) |> iodata:append(_, s2) |> iodata:to_string(_)
}
-
-pub external fn from_int(Int) -> String = "erlang" "integer_to_binary"
-
-pub external fn parse_int(String) -> Result(Int, ParseError) = "gleam__stdlib" "parse_int";
-
-pub external fn parse_float(String) -> Result(Float, ParseError) = "gleam__stdlib" "parse_float";
-
-pub external fn base_from_int(Int, Int) -> String = "erlang" "integer_to_binary"
-
-pub fn from_float(f) {
- f
- |> iodata:from_float
- |> iodata:to_string
-}