Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Volt

< >

Volt is an open source programming language created in 2011.

#675on PLDB 13Years Old 158Repos
Download source code:
git clone https://github.com/VoltLang/Volta
Homepage · Source Code

Volt is a C-inspired programming language that toes the line between expressiveness and control.


Example from Linguist:
// Copyright © 2012-2013, Jakob Bornecrantz. All rights reserved. // See copyright notice in src/volt/license.d (BOOST ver. 1.0). module main; import core.stdc.stdio; import core.stdc.stdlib; import watt.process; import watt.path; import results; import list; import cmd; int main() { auto cmdGroup = new CmdGroup(); bool printOk = true; bool printImprovments = true; bool printFailing = true; bool printRegressions = true; string compiler = getEnv("VOLT"); if (compiler is null) { printf("compiler envar not set\n".ptr); return -1; } /// @todo Scan for files auto tests = testList; int total; int passed; int failed; int improved; int regressed; auto rets = new Result[] (tests.length); for (size_t i; i < tests.length; i++) { rets[i] = new Result(); rets[i].runTest(cmdGroup, tests[i], compiler); } cmdGroup.waitAll(); for (size_t i; i < tests.length; i++) { auto ret = rets[i]; total++; if (ret.ok) { passed++; improved += cast(int)!ret.hasPassed; if (!ret.hasPassed && printImprovments) { printf("%s: %s, improved!\n".ptr, ret.test.ptr, ret.msg.ptr); } else if (printOk) { printf("%s: %s\n".ptr, ret.test.ptr, ret.msg.ptr); } } else { failed++; regressed += cast(int)ret.hasPassed; if (ret.hasPassed && printRegressions) { printf("%s: %s, regressed!\n".ptr, ret.test.ptr, ret.msg.ptr); } else if (printFailing) { printf("%s: %s\n".ptr, ret.test.ptr, ret.msg.ptr); } } fflush(stdout); } auto xml = fopen("results.xml".ptr, "w+".ptr); if (xml !is null) { fprintf(xml, "<testsuites errors=\"%u\" failures=\"%u\" tests=\"%u\">\n".ptr, regressed, failed - regressed, total); for (size_t i; i < rets.length; i++) { rets[i].xmlLog(xml); } fprintf(xml, "</testsuites>\n".ptr); fflush(xml); fclose(xml); xml = null; } auto rate = cast(float)passed / cast(float)total * 100.f; printf("Summary: %i tests, %i pass%s, %i failure%s, %.2f%% pass rate, %i regressions, %i improvements.\n".ptr, total, passed, (passed == 1 ? "".ptr : "es".ptr), failed, (failed == 1 ? "".ptr : "s".ptr), cast(double)rate, regressed, improved); return regressed ? -1 : 0; }

Language features

Feature Supported Example Token
Print() Debugging ✓ printf
Comments ✓ // A comment
Line Comments ✓ // A comment //
Semantic Indentation X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v154.3.0