Releases: Nxium-Developments/NextLanguage
Major changes from v2.1
The rewrite from v2.0's Javascript to use C.
What's Changed
- V2.0-dev by @Authie2 in #20
Full Changelog: v1.9...v2.1
MASSIVE CHANGES - v2.0 of NextLanguauge
We've been working on this update for quite a while now, v2.0 is the biggest release we've ever done. Changes ranging from rebuilding the entire syntax tree of NXL, to multi file support, bug fixes, along with NXL files now being configured inside the config, rename, and many more!
Major new Features
- A Rebuilt of NextLanguauge's entire syntax tree to use an Abstract Syntax Tree (AST)
- Addition of Multi File Support (You can now run NextLanguage using multiple files now.)
- Addition of
@forand@whileto NextLanguauge's goal of bring a turing complete programming language. - Addition of Importing and Exporting file functions and classes. (Multi File Support)
Changes
- Renamed
CONFIGtomain.config.file - Renamed
BUILD_CONGIGtopackage.config.val - Complete rewrite of the variables registrar
Bug Fixes
Functionality Update! - v1.9
We've been working on a better version release of v1.8 with better commands, and bugs fixes. A lot of things was changed in v1.9, you can view the branch commits related to this release here. With a lot of work being put into this version. So please enjoy it.
Major new features
- You can now configure the project files, by changing file paths on BUILD_CONFIG
npm run rebuildnow actually works, if the user usesnpm run buildwhen the project is already built. It will provide an error.- Any packages that isn't the main file, can now be ran using the BUILD_CONFIG file, if configured.
@outputnow can actually output variables values!CONFIGfile now will actually work regardless of directory issues.@outputcommand will now log items and output them into a file.@varwill now have a string type, and no default type set!- Project files will now be built, unlike previous builds where the files have to be manually created.
Changes
- Renamed
config.nxconftoCONFIG - Added
BUILD_CONFIGfile on project build. - Renamed
build.config.nxlftobuilded - Added
preload.jsfile creation on startup (this happens even thoughpackage-advancedis not set or just false). Preload will just run. It won't run beforeapp.nxl - Added
postload.jsfile creation on startup along withpreload.js, currently just runs JavaScript. It will just run, it won't run afterapp.nxlcurrently. - Refactored
:debug-mode, it will now not work :package-comwill now accept only values likex-autowhich is normal NXL code, andauto- Previous release, potentially contains
node_modulesfolder. It will now not come with it. - Added debug outputs to work, if enabled.
@outputcommand will now log the outputs in the builds/log folder
Bug Fixes
@ifstatement can't execute@elseblock, #5- ``@if``` statement evaluate x is equal to 10, #12
@varnow have no default variable, use@var [username]: (string)Aviato register a string, #10CONFIGfile only containing the NXL file name, causing crashes if ran incorrectlyinit.jsdoesn't work and just crashes.npm run buildjust not installing the correct dependencies- On build, project files weren't created.
How will I learn new syntaxes for this release?
New updates have been pushed to the documentations, and the correct examples for writing NXL code has been changed. You may refer to the documentation for help.
Full Changelog: v1.8...v1.9
Major Rebuilt to an working Language! - v1.8
In this release we've reworked NextLanguage from evaluating file extensions that weren't in javascript but written using javascript syntaxes to be able to read by javascript files. To an ACTUAL PL.
All the major features we've added are below. Plus a template explaining all the features!
Major new features!
- Actual reworked of NextLanguage into an actual Programming Language (PL)
- Added supports for comments with the tag
# - Added variables commands
- Added support for multiple variable types
- Added functions command
- Added If commands
- Added command chain within Functions and If Statements
- Added
@outputcommands to send whatever text to the console - Added variable contents output for the
@outputcommand - Added if statements evaluations
- Added advanced package functions (Currently WIP)
- Added main package identification (Currently WIP)
- Added content templates (When you first build your project it creates an template file which is your main codespace)
How all this works
We've written down an example you would see when you first generate your project, explaining what everything does.
For this PL, you'd need at least a small understanding of how PL normally works. If you do, then it should be easy for you
to understand. For beginners tho, we're working on a better version of this guide, tell you almost everything on how this
PL works.
# This is a comment, anything you write in this wont be executed.
# The commands below me are what initializes the file structure.
# Currently :package-main does not have a functionality, but it is
# there for the future when I add multi-file support.
# :package-com is an level setting, x-auto means that the code will
# run at an advanced level, which will allow us the execute the code
# structures in :packaged []; and if it is set to auto, it will Currently
# not work, as the beginner level coding is in progess.
:package-main root/me
:package-com x-auto
# The :packaged []; will execute whatever codes inside it. If any code
# is placed outside it, it may not work.
:packaged [
# Enables/Disables debuggging for developers
:debug-mode off
@var [score]: (integer)10
@var [percentage]: (percentage)11%
@output -----------------------------------------------------------------
@output
@output This is a output function, it sends whatever is written in here
@output before the next line and send it to the console, you don't really
@output need a comma on this. Or any of the other functions never really
@output needed a comma, so have fun!
@output
@output -----------------------------------------------------------------
@function [hello]:
:output This is a hello Function message. You are only seeing this
message because the call function called this hello function
A little note for you is that, only output commands are being
registered within @function and @if block chains. So you can't
really do alot here yet. But I'm working on adding more commands.
:end
@end
@output -----------------------------------------------------------------
@var [x]: (integer)11
@var [usernames]: "Someone"
@var [negativity]: (negatives)-10
@var [decimal]: (double)0.1
@if [x > 10]:
:output This is a if statement, if X is greater than 10. You will see this message!
Unfortunately anything you write that is registered in these block chains,
Including @if and @function will only be allowed to be written once. Each of the
registered commands can only be written on once.
:end
@else
:output Sadly, you changed this value (x). So you couldn't see the message I wrote for you :d
@end
@output -----------------------------------------------------------------
# The :call command is the only way to call functions (The variable part is now handled by @ouput)
# Currently its broken, so I made it so we don't really need :call any function registered will be
# automatically executed. I'm working on fixing the :call command atm, so be patient
:call [@function] /hello@run;
];
Full Changelog: v1.6...v1.8
Thank you to all the Contributors who worked on this!
@AshleyNex @RBLAuthorizations @AshleyAst
NPM Release - v1.7
We have decided to update this repositories to an npm build, and all
updates will be published there as well as the source code here.
We will link each major release build here. To visit the official npm
publish site of our builds.
Current Latest Release ATM Download v1.7.4
Compiler Update - v1.6
In this update, we will have updated the compiler to handle and generate new project files
with new optimizations.
Full Changelog: v1.5...v1.6
Updated compiling data
View the full log here
Full Changelog: v1.4...v1.5
Quick update for identification loading problems
Full Changelog: v1.3...v1.4
Major Rebuilt of NextLanguage
In this release, we rebuilt the entire NextLanguage Infrastructure and many other things, one major thing being that our NextLanguage
Syntaxes are now completely similar to JavaScript for the time being, until we can get our own documentation up and running then
we can start creating our own syntaxes.
🔔 Changes
- Rebuilds the entire NextLanguage Structure
- Added Millions more Syntaxes
- The ability to now run NextLanguage without any limitations due to software
limitations and other things. - NextLanguage new Syntaxes are now ran online
through via our servers. - We now have similar Syntaxes to JavaScript.
🛠 Fixes
- Compatibility Issues where the latest NextLanguage build
can't be built locally on other users computer. - Other Issues with building the latest build and fetching data
- Reading compatibility issues where the syntaxes can't be read.
- Failing to be rebuilt a issue where NextLanguage can't rebuild
itself, or failover to a backup build.
This build also patches some other bugs that stops the entire NextLanguage code from building on it's own, rendering it useless.
Full Changelog: v1.2...v1.3
Quick fixes for Download OPT
In this release we will fix some optimization for the previous release, which the node_modules folder did not get removed, for optimzation purposes. So in this release it should be fixed.
To note, we will still require NodeJS to be installed to run this application
Full Changelog: v1.0...v1.2