The language
Dove is a strictly typed programming language featuring a modern, clean syntax with a single type system. It provides the same benefits that C++ does but with the ease and convenience of modern technology. It is designed to be significantly safer than C++ and faster because of its over-obsession with optimization. Dove also comes with an built-in package manager called feather. The feather package manager allows for easy installation of legacy C/C++ libraries and also natively written Dove ones. Dove's syntax closely resembles C++ with shorter abbreviated keywords. Many of the basic concepts of C++ still persist but have been reworked to be more modern.
C++ Simple Program
Dove Simple Program
Compilation
Compiling Dove code requires use of the Dove Compiler. The Dove compiler along with the feather package manager, and Dove Extended Toolset (ET) can be downloaded as an install bundle from the homepage.
You can also specify libraries to use with the w/
flag, or -w
or --libs
Using the feather package manager is just as easy
You can specify on install wether you would like the ft
alias or fthr
alias. You can still, at all times use feather
This command links the qt libraries in the feather.prop file
Feather also support git version numbers similar to what ffmpeg uses. The above command adds that specific version into the project.
Feather install location
Feather libraries are all installed under
/cache/dove/*
/lib/*.rsrc (for runtime & shared libraries)
After the specific version is installed in the cache, the project generates a feather.prop file.
At compile time, the Dove Compiler will read the feather.prop file and automatically link the libraries.
Dove Extended Toolset
In order to prevent constant updating of new Dove language changes, the Dove Extended Toolset was created. The Dove language itself will only be updated when new syntax or types are added. However, when new library functions are added, the Dove Extended Toolset will be updated instead. The Dove compiler will automatically install all non-breaking updates of the Dove Extended Toolset whenever compiling any file. Some example functions provided by the Dove ET are sin, cos, min, max, clamp, etc.
The Dove extended toolset also provides functions for manipulating arrays as well.
Note that even though functions like "select" and "where" are provided by the Dove ET, they are not as efficient as using "map" or "pick" when doing simple filtering.
However, for complex datasets, "select" and "where" are more concise and performant.
Last updated