Skip to content

Releases: dliting/nlang

NLang 0.3.0

Choose a tag to compare

@dliting dliting released this 31 Aug 05:54

Added

Changed

  • Language: && and || now short-circuit — the skipped operand is
    never evaluated (no side effects, no throws), matching C/C++/Java/Python
    conventions. Results stay int 0/1. Operands of &&, || and !
    must now be int: float/string operands were previously read as raw bits
    with meaningless truthiness and are now a compile error.

Breaking: the eager OP_LogicalAnd/OP_LogicalOr bytecode instructions
were removed — old .nmod modules must be recompiled.

As with previous releases, the zip and the NSIS installer contain the same
layout: bin/ with nide, ncc, nvm, ndisasm and the Qt runtime, plus
examples/, the offline documentation site, LICENSE, CHANGELOG.md and
README.md. The installer defaults to C:\Program Files\NLang; the zip is
portable — unzip anywhere writable and run bin\nide.exe.

NLang 0.2.0

Choose a tag to compare

@dliting dliting released this 30 Aug 21:15

Second release.

  • nide: File > Recent submenu — recent solutions, projects and files (most-recently-used, persisted across sessions, disambiguated by parent directory).
  • Centralized version management: the repository-root VERSION file is now the single source of the version — tool --version output, the About dialog, the docs-site footer and package names all derive from it.
  • Debuts CHANGELOG.md (Keep a Changelog format).

Windows assets: portable zip and NSIS installer. The executables link the MSVC runtime dynamically — install the VC++ Redistributable (aka.ms/vs/17/release/vc_redist.x64.exe) if Visual Studio 2022 is not on the machine.

Gates at tag time: ctest 36/36, e2e 821 passed / 0 failed, nlang-docs pytest 49 passed / 5 skipped, verify_package OK.

NLang 0.1.0

Choose a tag to compare

@dliting dliting released this 30 Aug 11:16

First public release of NLang.

NLang is a statically-typed scripting language extracted from a game engine I previously developed, shipped as a standalone teaching/research project: a compiler front end (ncc), a custom bytecode VM (nvm), a disassembler (ndisasm) and a Qt5 IDE (nide).

NLang IDE

Downloads (Windows x64)

  • NLang-0.1.0-win64.zip — portable: unzip and run bin\nide.exe
  • NLang-0.1.0-win64.exe — NSIS installer (Start Menu shortcut, defaults to C:\Program Files\NLang)

Both packages contain the full toolchain, runnable examples and the bundled offline documentation site (also reachable from the IDE Help menu). Packaging is verified per build: layout audit, offline docs-site audit, and a real compile-and-run smoke test of examples/hello.n with the packaged tools.

Language highlights

  • Static typing with classes, structs, interfaces and enums; generics via built-in List<K> / Dict<K,V>
  • Function and method references (Func), exception handling with finally, string interpolation, switch, foreach over arrays and collections
  • Explicit cross-module imports (.nproj projects, external .nmod modules)
  • Standard library: io / math / fs namespaces plus built-in string methods

Notes

  • The executables link the MSVC runtime dynamically — install the VC++ Redistributable if Visual Studio 2022 is not present.
  • The installer defaults to C:\Program Files\NLang (needs admin); copy examples/ to a writable folder before opening them in the IDE.

Test baseline at tag: 821 end-to-end tests and 32 ctest suites, all passing.

Building from source, the language reference and indexed examples: see the repository README.