A programming language with no keywords.
This programming language is still in development and can be unstable. Beta versions are not properly tested and might crash unexpectedly.
- Dynamic types
- Memory safe
- Interpreted
- Garbage collected
- Expandable with C and C++
- Improve
libnest
usage:- Separate execution and interpreter states
- Initialize everything with one function
- Quit everything with one function
- Execute a program in one function (given the path of the file)
- Rewrite nodes, parser, compiler and optimizer
- Rename
co.pause
toco.yield
- Make the return value of
co.yield
the arguments passed toco.call
when it is used to restart it - Change
co.call
to accept less arguments than the function requires - Change
err.try
to accept less arguments than the function requires - Add
is_space
,lremove
andrremove
tostdsutil.nest
- Add
batch
tostditutil.nest
- Add
enum
tostdsequtil.nest
- Change
generator
instdco.nest
to allow for different arguments of the function - Change
relative_path
instdfs.nest
to use the current working directory when nobase
is given - Add
get_capacity
tostdsys.nest
- Improve option handling in
stdjson.nest
- Remove
_cwd_
and rename_get_cwd
and_set_cwd
toget_cwd
andset_cwd
instdsys.nest
- Remove
reversed
fromstditutil.nest
and addreverse
andreverse_i
tostdsequtil.nest
- Rename
split
tolsplit
and addrsplit
tostdsutil.nest
- Finish implementing
Nst_fmt
and add a wrapper tostdsutil.nest
- Better testing with C
- Regular expressions in the standard library 1
- A custom graphics and UI standard library built on top of SDL2 2
- Closures
- Multithreading
The documentation is hosted on ReadTheDocs and can be found here.
To install Nest on Windows you will first need to install Visual C++ Redistributable that can be downloaded here:
Link | Architecture |
---|---|
https://aka.ms/vs/17/release/vc_redist.x64.exe | 64-bit |
https://aka.ms/vs/17/release/vc_redist.x86.exe | 32-bit |
After installing it you can download the installer from the desired release and run it. It is recommended to add Nest to the PATH environment variable to use it from the terminal.
Once installed you can check that it is working by running this command:
PS C:\> nest -V
Using Nest version: beta-0.15.0 x64
To compile Nest from source you will need to install Visual Studio 17 or newer with the Desktop development with C++ package.
Once installed you can clone the repository and open the solution located in
nest\build\windows\projects\nest\nest.sln
and compile it from there.
To create the installer you need to install InnoSetup, then navigate to
nest\build\windows
and run update_exes.bat
.
For this step you need to have either Nest already installed or Python 3 on
your machine, in case you want to use Python run update_exes.bat py
.
Once done you can navigate to nest\build\windows\installer
and compile
installer-script-x64.iss
and installer-script-x86.iss
.
To uninstall Nest on Windows you can do so from the control panel.
To Install Nest from the precompiled binaries archive download the .tar.gz
file with the desired architecture and extract it in the current directory with:
$ tar -xzf nest-[VERSION]-[ARCHITECTURE]-linux.tar.gz
Now run ./linux_install_[ARCHITECTURE].sh
to copy the binaries to
/usr/libs/nest
and to /usr/bin
and install the necessary libraries.
To compile Nest from source on Linux first clone the repository and enter in the
directory. From here run sudo bash configure.sh
to install the necessary
libraries.
Note: if you are not using apt
or dnf
this file will not work.
Once you have installed the libraries you can enter nest/build/linux/makefiles/
and run make help
to see what to compile. In general you will want to run
make install
or make install-x86
.
To uninstall Nest on Linux, copy
nest/build/linux/uninstall.sh
and execute it.
To install the VSCode extension download vs-code-extension-[VERSION].zip
,
extract it into %USERPROFILE%\.vscode\extensions
on Windows or into
~/.vscode/extensions
on Linux and reload the VS Code window.
Currently VS Code supports only syntax highlighting and commenting with keyboard
shortcuts, to run the Nest file you can install Code Runner and add
"nest": "cd $dir && nest $fileName"
inside "code-runner.executorMap"
in
settings.json
.
This method does not support input, to do that you can select the option to run Code Runner in the terminal.
To install the Sublime Text plugin download sublime-text-plugin-[VERSION].zip
from the latest release and extract it into %APPDATA%/SublimeText/Packages
on Windows or into ~/.config/sublime-text/Packages
on Linux.
In Sublime Text, in addition to syntax highlighting you can also run a script
with CTRL + B
and you can add and remove comments with the default keyboard
shortcuts.
Since Sublime Text does not support input from the user in the output panel,
you have to run the file from a terminal emulator, to do that I suggest
installing a plugin like Terminus
.