Verbal/VerbalScript (.vrbl)
This example bit of syntax can only be described as annoying. I've taken various aspects of different languages and picked out things I hate, and shoved them in. It is unlikely that I'll go far with this language, however I think that if I plan on learning LLVM and need a toy to hook up to it, this will be the syntax for that.
- Instead of functions being declared with parentheses, brackets, and whatnot, functions are declared by verbosely specifying the input, output, and call section. I find it interesting, as it is more annoying to write, but, if it weren't for the lack of brackets, potentially faster to read. I both love and hate it.
- No
return
keyword. As the return variable is already specified in the declaration, there is no need to return. Maybe an exit type of keyword, eventually, but if you need to not continue forward then well you better learn how to construct your logic around that. Maybe if/else blocks for more pain. - Tabs over spaces. Various reasonings for this, but the main one is for accessability reasons. Tabs allow you to change the visual space, whereas 4 spaces will always be 4 spaces wide. Some spaces will be used, such as when allignment of various things after tabs needs to be done.
- And more, probably going to be added later
This language is in fact a work in progress. The syntax is missing a lot, including but not limited to: Arrays, Error Handling, Most Operators, Streams, potentially Channels, Threading/Concurrency, and whatever else I'm missing.
The namespace/package is based off of the folder the code is in. If your code is
in example/users/user.vrbl
, it'll be imported as example/users
, and
potentially called as users.Stuff
.
I was thinking about public and private and whatever else, and I was thinking of Go, which it does it's wonderfully nuanced Public/private casing, which also does a wonderful job at keeping standards, we could throw public/private into the attributes section of things to ensure maximum bloat. Otherwise, I do like the casing for visibility.
Comments: