Skip to content

Releases: RigCLang/rigc-lang

RigC v0.3.1

16 Oct 18:47
Compare
Choose a tag to compare

0.3.1 (2022-10-16)

Features

  • vm: danger conversion operator (4458a9f)
  • vm: null keyword and Null type. (a51ba6a)
  • vm: proper Addr<T> printing (c68421d)

Bug Fixes

  • vm: allow non-danger as operator to convert Addr<T> to Addr<Void> (698dfd3)
  • vm: missing escape of {} format braces (8934a79)

Full Changelog: v0.3.0...v0.3.1

RigC v0.2.1

16 Oct 13:13
Compare
Choose a tag to compare

RigC v0.2.1

Grab a binary from the section below or build the VM yourself using pacc:

Building using pacc

Use the following commands in the RigC root directory

pacc install
pacc build -c=Release -p=x64 --cores=N --verbose

Breaking changes

  • explicit return type is mandatory (until we introduce return type deduction)
     func foo() -> Int32 {
     	// ...
     }
  • renamed StaticArray<T, N> to Array<T, N>

Features

  • constructors can now be templated:
    Constructor template
  • convert types with as operator: 5 as Float32
  • printCharacters(addr: Addr<Char>, count: Int32) function
  • readInt<N: Int32>(info?: Array<Char, N>) -> Int32 function
  • readFloat<N: Int32>(info?: Array<Char, N>) -> Float64 function
  • allocateMemory(byteCount: Int32) -> Addr<Char> function (temporary, will be reworked later)
  • freeMemory(addr: Addr<Char>) function (temporary, will be reworked later)
  • --version program argument
    and many more...

Bug fixes

Generally more stable behavior, and...

  • fixed long lasting bug that resulted in broken self address in destructors
  • fixed module not being resolved properly when path started with .\
  • ... many more

v0.2.0-prealpha

16 Oct 12:50
Compare
Choose a tag to compare

0.2.0-prealpha (2022-10-16)

Features

  • add --logfile option (fc72e80)
  • add --logfile option (6161a49)
  • app: added basic destructor support (b7ce690)
  • clear logs on opening (18ab9bc)
  • clear logs on opening (0b56185)
  • don't send frame debug message if the frame is nullptr. (cf011c2)
  • format the stack frame' labels in a nicer way (54aecf2)
  • send actual context to the debugger (1171f0e)
  • send debug messages about the stack frames and allocations (54b39d7)
  • vm: --wait-for-connection program argument (358625d)
  • vm: Breakpoint struct for a DevServer (7005316)
  • vm: builtin::printCharacters function. (3d1355a)
  • vm: devserverLog function (729c165)
  • vm: added json package and some aliases. (ccb19fe)
  • vm: added Void type (e4d6b7c)
  • vm: added memory allocation / deallocation functions (fb8a54e)
  • VM: basic conversions example. (2939389)
  • VM: error handling and formatting utilities. (c443b24)
  • VM: exception handling for runtime_error. (322b55e)
  • vm: generate and use copy constructors for each type. (ea54c96)
  • VM: internal exception class and utils. (08ddecb)
  • vm: support constructor templates (ff4044b)
  • vm: working on a dev server (f7b80fa)
  • vm: working on a dev server and destructors. (16bb61f)

Bug Fixes

  • automation: fixed invalid tag for artifacts (f8fe4e0)
  • examples: made examples conforming to the new changes (61792b3)
  • proper case for program argument (now): --skip-root-exception-catching (d991b41)
  • proper case for program argument (now): --skip-root-exception-catching (afe08a1)
  • proper formatting in stack json requests (5878c27)
  • removed accidentally added test files. (0da83b1)
  • typo in json debug message alllocation -> allocation (2970c0d)
  • vm: added missing return types for readInt and readFloat (175a128)
  • VM: allocateOnStack condition in assert. (332388d)
  • VM: conversion operator wrong name extraction. (bad55d9)
  • vm: do not allow execution if error ocurred during argument parsing (4154ef9)
  • VM: evalPostfixOperator's paramString concatenation loop. (7bf77d3)
  • vm: method templates not being handled properly (problem with self param) (29d1e1e)
  • vm: non-debug build used debug-only code. (83d4eed)
  • vm: order of core type creation (7bfb829)
  • vm: path starting with .\ bug (337b4c3)
  • VM: unintended ADL-related error (53ae9af)
  • vm: variable getting invalid address when created (1c5b34c)

v0.1.1-prealpha

16 Oct 09:44
Compare
Choose a tag to compare

0.1.1-prealpha (2022-06-23)

Bug Fixes

  • automation: fixed invalid tag for artifacts (f8fe4e0)
  • automation: invalid tag being generated (eaeb64f)
  • missing CHANGELOG.md (eaeb64f)
  • VM: EnumType == operator in postInitialize. (352e9b2)

v0.1.0-prealpha

20 Jun 17:45
Compare
Choose a tag to compare

This is an experimental release of RigC's virtual machine on Windows x64 and Linux x64.

You can test it using command line:

VM filename

Example source code:

func main {
    print("Hello, World!\n");
}

Find other examples here.

Expect many bugs and crashes.