PureType
Get started
  • Overview
    • What is PureType?
    • Getting started
    • Supported languages and technologies
      • Elixir
  • The knowledge journey
    • Overview
    • Approach to learning
    • Activities and exercises
    • The knowledge landscape
  • The learning platform
    • Overview
    • Learn
    • My Progress
    • Team Progress
  • Integrating PureType
    • Overview
    • Feedback principles
    • SCM integrations
      • GitHub
    • IDE extensions
      • Cursor / Visual Studio Code
    • Learning integrations
  • Working with PureType
    • Data handling
    • Data residency
    • Privacy policy
  • Support
    • Help
Powered by GitBook
On this page
  • Checks
  • Supported versions
  • File extensions

Was this helpful?

  1. Overview
  2. Supported languages and technologies

Elixir

Details about the support for Elixir within PureType

PreviousSupported languages and technologiesNextOverview

Last updated 6 months ago

Was this helpful?

is a dynamic, functional language for building scalable and maintainable applications, running on the Erlang virtual machine.

Checks

Examples of checks for the language include the following areas:

  • if conditions vs guards - guards are a concept not always familiar to new engineers. Suggesting a rewrite of a function whose body is surrounded by an if condition is helpful for introducing the concept and spotting the pattern later on

  • comprehensions vs Enum pipelines - filter + map + reduce pipelines are easier to read and faster; pipelines can evolve into this form over time but typically are not spotted by those not familiar with the form

  • Map lookup - there are many different forms of map lookup, suitable for various forms. Given enough context, PureType can analyze and suggest the best option and ensure developers are familiar with all forms

  • bang vs non-bang functions - the intended error behaviour of using the incorrect form of the function can be surprising, or result in more error handling code than strictly necessary

Supported versions

All versions of Elixir are supported. Because only the structure of the code is reviewed, there is no issues with code intended to be run using an older Elixir version.

File extensions

.ex, .exs

.heex is currently not supported.

Elixir