Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Elixir have a language specification?

Tags:

elixir

Does Elixir have a language specification document? If yes, where is it?

The Elixir website has library documentation, and I found some documentation on guards and operators, but I did not find a language spec that, for example, documents syntax or provides a list of Elixir keywords (Elixir language keywords, not Keyword lists).

like image 524
Doug Richardson Avatar asked May 11 '17 19:05

Doug Richardson


People also ask

What is elixir language used for?

Elixir, a dynamic, functional programming language, is designed for building scalable and maintainable applications with a simple, modern, and tidy syntax. Although it is easy to understand, Elixir's approach to concurrency and its data type nuances require some getting used to.

When should I use elixir?

Elixir is great for web applications of any size, web APIs (such as JSON or GraphQL), event-driven systems, distributed systems, internet of things, embedded systems, and much more.


1 Answers

There's no formal specification. Here are some things to look at, that describe the language and might be useful:

  • Syntax Reference - available only in master docs.
  • Kernel.SpecialForms - these are the things that are provided "by the language" and cannot be changed - more or less like keywords in other languages. Everything else is macros/functions implemented in Elixir.
  • Kernel - this module is imported by default and can be viewed as the "base" of the language - everything from here can be locally changed by importing, though.
like image 190
michalmuskala Avatar answered Jan 04 '23 15:01

michalmuskala