I'm thinking of building a Kafka library on top of Brod. This is my first FFI project that I'm taking seriously and I have so many questions. My first goal is to implement all the functions necessary to make the Quick Demo from Brod in Gleam.
I'm starting with the brod:start_client function (https://hexdocs.pm/brod/brod.html#start_client/2) with the following spec:
-spec start_client([endpoint()], client_id()) -> ok | {error, any()}.
My first question is what is client_id() as the specs show that is an atom. How can I get such value in Gleam, it looks like a function with no arguments that shoots out a client_id, but I have no clue. Do atoms have a representation in gleam? How should I create one for the start_client/2 function?
-type client_id() :: atom().