I’m looking for a way to improve my skills, give something back to open source, and start to build a bit of a portfolio. I was thinking that an easy way to do that would be translating a library from Elm, which I’m familiar with and enjoy reading, into Elixir, which I’m learning and loving. Are there any libraries you guys know of in Elm that you wish existed in Elixir? I’m probably not up for something as complex as mdgriffith/elm-ui but maybe something a little less complex?
A lot of the libraries I’ve used in Elm were tightly coupled to the language’s particular features - for instance,
elm/parser and its use of custom operators, or
elm/json's decoders. Those would be tricky to convert.
There’s also an issue of convention - picking a library randomly, the signature for
toHtml : List (Attribute msg) -> String -> Html msg
wouldn’t be written options-first because the Elixir convention is “put the subject in first position”:
def to_html(markdown, options)
Final thought: what happens to the translated library when the original gets bug fixes?
Thanks for taking the time to reply. I appreciate your insights. Sure some libraries would be difficult for anyone and many would be difficult for me particularly. I don’t think the convention/style differences are insurmountable or even that significant. Both languages being functional with immutable data structures starts things off on a more compatible footing. The static vs dynamic typing is the more significant challenge for me. For the final thought I would say the same thing that happens with any library: You either maintain it and it continues to be useful or you let it wallow and no one uses it, devaluing all the initial work you put into it.
My take away from your post is that this doesn’t seem like a very good way to go about my stated goals. I can appreciate that. I have some other ideas but was just throwing this out there.
It seems like a perfectly reasonable idea to me, though I can’t make any helpful suggestions as I’m only tangentially familiar with Elm.
You might also want to cast around for existing Elixir open source projects that might appeal for you to contribute to. Of course you’ve probably thought through that so sorry if the suggestion seems patronising. But I know that in my case, when I’m working on a new platform, my tendency is to scurry away and hone skills in private, even though I know perfectly well from experience that it’s not always the most effective approach. FWIW, I also think contributions to existing projects are just as useful as part of a portfolio as a solo affair.