All in all, fitting BS into our build process wasn’t a walk in the park and it’s unlikely you’d have as many issues with Elm. Both brunch and rollup were actually non-starters as they both had odd build errors together with some of the BS libraries we were using. Just to add as well, we had many build issues with BuckleScript. These peripheral issues that you’ve listed are issues you can see on a web-page presenting the language, not something you’d necessarily consider in an actual project. There are lots of people who think the tools of abstraction you have in Elm are plenty and you might be one of those people. I would actually advise you to look further into Elm and see if you have any actual issues with it. It gives you the highest language-construct/power ratio I’ve ever seen and it has kept all of its core values while doing so (compilation speed, no ambiguity, performance, etc.). You might instead want to think about what the language and technologies actually provide in terms of abstractions.Įlm is a half-way Haskell, OCaml is a complete language that although it’s certainly not as ergonomic as Haskell and it’s lacking many of the tools that Haskell provides, it never does anything half-way. There are plenty of reasons pertaining to the Elm language to simply want something else and I feel like the above points are very superficial. It’s nice that BS already does a lot of this beforehand but I wouldn’t think it was an issue in actual projects. This can be solved pretty easily via something like rollup, as far as I know. It’s not something you will completely avoid, switching to BS. We’ve had some issues with bucklescript libraries not keeping up and having to juggle versions for a bit, plus odd build tool changes throughout version changes. Elm does move fast, though, so I see your point. To address some of your issues with Elm more specifically, though: I wish more of my work was spent on it, actually. It makes things like interacting with GTM/LocalStorage/everything else in JS so much more controlled.Īll in all our OCaml + bucklescript-tea bits are my favorite part of our code base. In Elm this would take the shape of serialization/deserialization at the border by way of ports, but with OCaml I’ve simply elected to make functors that generate modules that simply cannot be misused instead and so will tell you about it at compile-time, with proper type support. A lot of the code that deals with external things is actually functor code that is there to put type safe interfaces on those external things. They’re not big apps so I can’t speak to that, but I can tell you that growing them and adding features is very enjoyable. All in all it’s something like 3k lines that deal with i18n, Google tag manager support, a type safe interface to localstorage and regular TEA code. So this was the story about why I inclined towards ReasonML, but I’m curious if the experience of using Reason with is as good as using Elm? What are people’s experience with using this combination for some real-world project and what are some learning resources for use OCaml + bucklescript-tea for a few small apps with a base of shared code. I’m inclining towards ReasonML because it has proper code boundaries instead of using indentation, its support for React-Native is also better (in case I needed that in future), and it’s support for dead code elimination hence smaller file size. The time some important libraries will take to update for the newest version of the language (0.19) if I’m using the newest version.Ībsence of some proper tool to remove dead code safely (a simple Hello World application is composed of almost 8000 lines of code). The absence of syntactic code boundaries (like curly braces or do-end), which was the reason I preferred Ruby over Python, when I was new to programming. Whether you are learning to code, thinking about it, looking for a job in software development, Join a Moroccan developers community who can help you in your learning journey.īut in order to achieve this mission you need to follow/respect the □・rules.Screenshot from 05-01-01.png 736×548 82.7 KB Join us and level up your programming skills in the process, or give 15 to 30 min of your time to help others who need it, a value is added in both ways. README.md TeaCode : Turning Tea into CodeĪs human beings, we love bringing value to ourselves and to others.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |