For the last few days, I have been fangirl-vomiting my excitement over [Elixir] at one of my boyfriends as well as various other friends. Reading through their "getting started" has got me thinking over my existing chatbot and finding ways that this will make life a ton easier, especially since Python is getting a bit slow for what I do. Not to mention I'm starting to really dislike using pip (and dependencies in general).
I have done some functional programming in the past, but never got too deeply into it. haskell kinda scared me away. Elixir, on the other hand, has got me so ridiculously excited and stoked to program again. Finally digging into it was the best decision I've made in 2020.
Some of the things that got me ridiculously excited early on include:
* variable pinning
* functions able to have multiple clauses
* ease of reading/writing files
* `=` being a match operator
* lexical scopes
I have been meaning to write my bot in Elixir for some time now, but have always kept to the comfort that is the already-knowing of Python. I have three or four independent little bots that I use regularly, and with Elixir, I think I can easily make them into one bot. So far, I don't feel like I'm fighting with Elixir to make it do what I want, as I am often lately feeling with Python (which is why the current bot is split into different pieces).
Putting it all into practice has been pretty wonderful experience and I look forward to sharing the code I have been writing!
Comments via [Fediverse post](https://cute.science/notice/9x16RDQIEsxZA26DSK)
The following is the entire script run in the bookmarklet. I am posting it here so you can verify that the bookmarklet and this is the same. If you are also a Humble Partner, feel free to edit it for your own partner ID. Or if you wanna support someone else that isn't me, you can also do that! I just wanted to make it super easy for people to use this without having to remember to manually add a partner ID. <3
I do not use `window.location.href` because it will return any tracking arguments too, and those make for awfully long sharing links. They also are trackers, which I'm not keen on.