tmbb

tmbb

Shameless self promotion, but I’m doing my part. Rendering Phoenix templates 12x faster (usual disclaimers apply: This is probably true for highly dynamic templates; my implementation is not yet complete, etc.)

Bonus: these new templates make it much easier to send diffs over the network for things like Drab, LiveView, etc.

12
Post #11
potatosalad

potatosalad

I agree that one of the best ways to improve Elixir is to improve Erlang/OTP. There are many areas of OTP in particular that are unpolished/in need of some love. One area that is still not-as-good-as-it-could-be is the lack of Common Test integration with Elixir. Not that Common Test makes any of this easy to do, of course (it’s not designed very well to play nicely with anything other than Erlang/OTP; for example _SUITE.erl is literally hard-coded in a few places).

In general, I think there are people within the Erlang community who wouldn’t mind moving into the Elixir ecosystem, but have a hard time because they have to give up some of the tooling and frameworks they’re accustomed to using to do their work. Common Test is one of those areas where I don’t feel like we have an equivalent available in Elixir.

1
Post #12
sneako

sneako

I have really enjoyed using ExUnit, can you talk a little about what Common Test offers that ExUnit does not?

1
Post #13
tmbb

tmbb

That’s true, but don’t forget you can often leverage Elixir macros for dramatic performance improvements (like what I do above).

0
Post #14
brentjanderson

brentjanderson

I’d throw out there additional support for Elixir LS and editor integrations. I recently explored using Elixir/Erlang debugger support and, while the tools are nifty on their own, it would be amazing if it could be integrated into something like Visual Studio Code. If it was turnkey to setup sane defaults for an Elixir plugin for VS Code, Atom, Sublime, etc. I think that would be helpful for a lot of new developers:

  • Dialyzer support
    • Auto-detect and offer to insert type specs?
  • ExUnit integration
  • Better autocompletion and language snippets
  • Debugger integration (I suspect this is both rewarding and very complex)
  • Exposing powerful existing tools like :observer or :debugger (how many newcomers know about those tools out of the box?)
8
Post #15
thiagomajesk

thiagomajesk

Omnisharp is a great example

1
Post #16
hilko

hilko

Apologies if I’m misunderstanding you, but don’t you already get get Dialyzer support (problems tab, as well as in-editor) + suggested specs in VSCode.

Autocomplete and language snippets are a bit iffy sometimes, but for the most part they seem on par with what I’m used to in other editors. Definitely would love improvements there.

1
Post #17
JakeBecker

JakeBecker

I’m interested! I’ve tried to read up on various systems of type inference but I really struggle to understand the theory. If you have the beginnings of something written in Elixir, I’d be very interested in seeing the code.

3
Post #18
OvermindDL1

OvermindDL1

I have a few playground projects made, none are ‘complete’ by an stretch but playing with ideas as I get time (I’ve been out of time lately as well) such as TypedElixir and MLElixir among some others.

0
Post #19
jswny

jswny

Not sure what you mean exactly as this already exists and is written by the same guy @JakeBecker (who does amazing work) that Elixir LS is. However, I agree with your sentiment and I would say that editor/debugging support for the language would be my number one priority for improving ecosystem.

Elixir works great from the command line with basic text editor features and some better ones from the language server stuff. However, the language server and other editor support features could really use as much support as we can get. That’s going to drive adoption a lot and make development easier for more people. Editor integration is essential these days.

4
Post #20