Skip to content
Михаил Страшун edited this page Nov 12, 2013 · 5 revisions

What is Volt?

Volt is a programming language project based on D semantics and syntax. It has a front-end written from scratch and uses LLVM as a back-end. It aims to feel similar to D in most part but prioritizes different goals and breaks backwards compatibility to add more consistency to some basic design elements.

Random facts:

  • Created with game dev as a primary usage case in mind. Embedded is second most important target.
  • Aims for a customizable run-time library with minimal assumptions from a compiler side about its capability.
  • Optional delegate as a global allocation hook, more manual allocation support both in language and in standard library, @nogc or some similar tool.
  • @safe by default. This may expand as a general attribute rule - more restrictive and common is the default.
  • Stable ABI is the major goal
  • More strict mangling and, possibly, overall object file generation
  • Various minor tweaks that do matter (for example, TypeInfo optimization)

Some changes in greater details

Team and development process

Volt is currently developed by David Herberth, Bernard Helyer and Jakob Bornecrantz. Currently focus is on getting working self-compiling Volt prototype and minimal simple tool stack used to organize the development.

  • All communications happen via #volt @ irc.freenode.net
  • Information is stored in simple online text pads, like this one: http://pad.walkyrie.se/p/Volt (roadmap). This will most likely change if project gets more attention.
  • Sources for compiler, standard library and a test suite are available on GitHub: https://github.com/VoltLang
  • Starting point for CI is https://ci.volt-lang.lv
  • Compiler front-end is currently written in D but will be ported to Volt as soon as it will become possible.
  • Contribution is, of course, welcome!
Clone this wiki locally