Doom-ada: Doom Emacs Ada language module with syntax, LSP and Alire support

63 pointsposted 8 hours ago
by tomekw

8 Comments

valorzard

7 hours ago

Ada is something I've always wanted to get into (it interests me that there's a low level programming language that came around at the same time as C but just never took off)

Ada has a bunch of features built into it already, including concurrency support with tasks [0]

I just haven't found the right motivation to figure out what to do with it yet. Maybe I could play around with the Raylib bindings [1] at some point?

There's also the SDL bindings, which a LOT of work has seemingly gone into [2]

[0] https://learn.adacore.com/courses/intro-to-ada/chapters/task...

[1] https://blog.adacore.com/ada-gamedev-part-3-enjoy-video-game...

[2] https://github.com/ada-game-framework/sdlada

jordanb

6 hours ago

I learned Ada back in the day, and like it a lot. Always want a project to get back into it. It's more C++ than C though. Arguably, it's C++ done right, or rather, a worse-is-better situation with C++.

One take away is that learning Ada would be a good way to learn the proper way to write C++ code, because the patterns that C++ developers eventually adopted for that level of abstraction are prescribed in Ada. For instance, Ada's Controlled Types map pretty much exactly to the C++ "RAII" pattern.

Ada also is better than C as an embedded language because it has features that make mapping to hardware easier. For instance, it has Representation Clauses that describe to the compiler how a data structure needs to be laid out in memory. It also has native support for bit manipulation. This makes mmaped-io extremely easy and reliable.

globular-toast

5 hours ago

Why is it specific to doom emacs?

tomekw

5 hours ago

Nothing specific to Doom Emacs. And that’s great! I just packaged it so it just works! :)

forty

4 hours ago

The author/maintainer of doom emacs is amazing but also very nice, I think you should try to open a MR to include your work inside the project, which would make it even smoother to enable and also easier to discover

tomekw

3 hours ago

I will, I will. A man has to start somewhere ;) Thanks!

iLemming

3 hours ago

Yes! Doom Emacs & Spacemacs are recipe books, not necessarily concrete products you have to use in prescriptive manner. Any Emacs user can make use of their modules, some of them are full of interesting gems. I'd highly recommend exploring them for ideas.