Skip to content

Releases: nbuilding/N-lang

N v0.0.3

27 Jun 14:22
Compare
Choose a tag to compare

Fixes

  • Fixed breaking issues with FileIO where files were not found
  • Fixed issues where FileIO.append would cause runtime errors

N v0.0.2

25 Jun 03:45
Compare
Choose a tag to compare

Fixes

  • Made FileIO operations relative to the file which calls it, instead of where N is run
  • Fixed issues with assigning empty lists to variables
  • Fixed issue where class type name would be exploded into a record during type checking
  • Fixed issue where all FileIO byte-related functions would not work
  • Fixed issue where some FileIO functions returned invalid values
  • Fixed uncaught error with using |> on invalid types

Additions

  • Added a multipart/form-data request function
  • Added an xor operator ^^

Misc

  • Updated the pyinstaller dependency

N v0.0.1

10 Dec 17:35
Compare
Choose a tag to compare

Fixes

  • Fixed bug where dividing an int by an int would return a float at runtime
  • Fixed bug where multiline records would get printed out without commas
  • Fixed bug where the outputs parseInt and parseFloat would cause runtime errors if deconstructed
  • Fixed bug where send data with request.request would be invalid
  • Fixed bug where functions with generics would have an extra argument at runtime
  • Fixed bug where \r was not getting removed by strip
  • Fixed bug where exponent would not return a float at runtime

N v0.0

02 Dec 19:00
Compare
Choose a tag to compare

Fixes

  • Fixed bug where incorrectly typed arguments would throw a python error at compile time

Breaking Changes

  • Removed the legacy for loop syntax
  • Removed = as comparison
  • Removed not
  • Changed /= to ~=
  • Changed record syntax
  • Changed internal functions into internal traits when possible
  • Changed enum syntax
  • Changed all request functions to be request.request
  • Changed function value and type syntax
  • Disallowed newline before function call parentheses and member access brackets

Additions

  • Added parseInt and parseFloat
  • Added a proper procedure for writing to stdout (SystemIO.sendSTDOUT)
  • Allowed | to be used for defaulting
  • Allowed ~ operator to get applied to maybe types
  • Added exit function
  • Allowed match to deconstruct enum values
  • Added mut modifier
  • Added mutex library
  • Added ability to import python modules
  • Added internal traits
  • Allow records to be spread into function arguments
  • Added proper mutability

N v1.3.2

13 Aug 03:21
Compare
Choose a tag to compare

Fixes:

  • Fixed a bug where comparing a generic to and invalid type creates and error
  • Fixed an error where websocket.send would cause an error when connection closed
  • Fixed an error where times.getTime would cause a runtime error
  • Fixed an error where request would throw a runtime error when url is invalid
  • Fixed an error where json.parse would throw a runtime error if the property name was not encloded in quotes
  • Fixed an error where FileIO would not create folders
  • Fixed an error where using ~ on an int would return a bool
  • Fixed an error where while requried a value
  • Fixed an error where syntax errors in an imported file causes a runtime error
  • Fixed an error where destructuring the enum that comes out of websocket.send would cause a runtime error
  • Fixed an error where having no internet when making a request throwed a runtime error

Definitions

  • Defined what happens if range's third argument is 0
  • Defined behaviors for round
  • Defined behavior for strip
  • Defined text encoding for FileIO

Removals

  • Removed anonymous functions

N v1.3.1

21 Jul 05:12
Compare
Choose a tag to compare

Fixes

  • Keyboard Interrupts will now exit silently.
  • A custom error message will now show when the file it is looking for cannot be accessed.
  • Fixed an issue with ~.
  • Fixed an issue where parallel and then would not work with certain async functions.
  • Fixed an issue where WebSocket connections would not close even when onMessage returned true.
  • Fixed an issue where you could not use the .. operator with expressions.
  • Fixed an issue where a syntax error inside an imported file would cause a runtime error.

N v1.3.0

11 Jul 01:40
32f7afc
Compare
Choose a tag to compare

What Changed:

Additions

  • Added FileIO.{writeBytes, appendBytes, readBytes, getFiles} and SystemIO.run
  • FileIO.write and FileIO.append use utf-8
  • Added request.{delete, head, options, patch, put, createServer}, times.getTime, websocket.{createServer, close, user}
  • Added assert, which allows for unit tests
  • Added a stack trace for runtime errors
  • Added --newest, --version, --update
  • Added toFloat, printWithEnd, subsection, parallel, intoModule, getUnitTestResults
  • Added module type
  • Added >>, <<, in, value access operators
  • Added .. operator for records and lists
  • Added hex, binary, octal literals
  • Added casting for uninitialized type variables
  • Added type checking tests
  • Added continue, break, and while
  • Support Unicode escape sequences, \v, \0, \f, and \b for char and str literals
  • Support else if

Changes

  • json.stringify turns NaN and Infinities into null
  • Formally removed type
  • Allow trailing comma in function calls, type variable declarations, tuple literals, and type variables
  • Allow leading pipe in enum declarations
  • Allow parentheses in type annotations
  • match is no longer allowed as a variable name

Fixes

  • FileIO.read will no longer throw runtime exceptions
  • intCode gives U+FFFD for invalid code points
  • Syntax tests also read as utf-8 now
  • Added match expressions
  • Removed one-item tuples

N v1.2.4

08 Jun 01:48
e981c04
Compare
Choose a tag to compare

What changed:

  • Fixed an issue where functions could be defined with no return type.
  • Fixed an issue where invalid values would cause an error with the type display.
  • Fixed an issue where var could be called with a variable that does not exist.
  • Fixed an issue where a class type could not be referenced inside itself.
  • Fixed an issue where functions with no arguments had an incorrect type.
  • Fixed an issue where circular imports caused an infinite loop in the type checker.

N v1.2.3

29 Apr 19:23
6d5433b
Compare
Choose a tag to compare

What changed:

  • Fixed a bug with adding chars and strs.
  • Fixed a bug with split
  • Fixed a bug with json.stringify
  • Further improvements to the overall stability and other minor adjustments have been made to enhance the user experience.

N v1.2.2

26 Apr 21:37
309cb3b
Compare
Choose a tag to compare

What changed:

  • Fixed an issue where else if would not work as intended.
  • Fixed an issue where if statements could not be stacked.
  • Fixed an issue with utf-8 and utf-16 characters being read incorrectly.
  • Fixed an issue with the - not being able to be applied to variables.
  • Fixed an issue with times.sleep.
  • Fixed an issue where errors from imported files were counted as one.
  • Further improvements to the overall stability and other minor adjustments have been made to enhance the user experience.