aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Foreign.gleam11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Foreign.gleam b/src/Foreign.gleam
index 1be59d0..4c3cbe7 100644
--- a/src/Foreign.gleam
+++ b/src/Foreign.gleam
@@ -1,4 +1,4 @@
-module Foreign exposing Foreign, new/1
+module Foreign exposing Foreign, new/1, unsafeCoerce/1, identity/1
doc """
Foreign data is data that we don't know the type of yet.
@@ -12,7 +12,7 @@ external type Foreign
doc """
Convert any Gleam data into Foreign data.
"""
-external new : fn(a) { Foreign } = :gleam :identity
+external new : fn(a) { Foreign } = :"Gleam.Foreign" :identity
doc """
Unsafely cast any type into any other type.o
@@ -20,4 +20,9 @@ Unsafely cast any type into any other type.o
This is an escape hatch for the type system that may be useful when wrapping
native Erlang APIs. It is to be used as a last measure only.
"""
-external unsafeCoerce : fn(a) { b } = :gleam :identity
+external unsafeCoerce : fn(a) { b } = :"Gleam.Foreign" :identity
+
+doc False
+fn identity(x) {
+ x
+}