Introduction

A barebones, compiled, statically typed programming language that nobody uses and nobody asked for.

Have you ever programmed in c and thought, "wow, this is legit just so much pain I cannot even live anymore"? Introducing a language that's just as bad, or worse. Welcome to my own frankenstein creation that is NoExcess. There's no excess syntax because I'm lazy. Go ahead! Try it yourself in like 2 years when it actually becomes functional, or never because i would be too lazy to finish the project.

Actual technical information (For people who care)

NoExcess is a very minimal language that once finished, will almost never add new syntax. This is because I want to avoid the problems that languages like c++ has. It is fully statically typed, and almost purely functional with the exception that the I/O functions to print and take in standard input will obviously have side effects. There are no variables, only functions that you call to return a value. There are no nested functions. Instead, you must pass in a function as an argument with the exact type and return value specified by declaration. Unfeatures like these, in my opinion, should be the goal for every language. To identify what the language does well, and only include the features that make that thing possible.

It WILL support I/O, a standard library containing functions for strings, integers/floats and collections such as arrays (support for arrays coming later on in development). Obviously, since it follows the philosophy of functions being "first class citizens", it will support passing in functions as parameters, calling them, declaring and defining them, and returning functions as values. It MIGHT support structs for making custom types, although I do not know yet if it is essential to the language.

It will compile to novm bytecode. Novm will be a separate project from NoExcess, but its goals will be similar. To have an unchanging, simple instruction set.

clone here: git clone git://prestonpan.tech/NoExcess.git