Releases: nbuilding/N-lang
Releases · nbuilding/N-lang
N v0.0.3
N v0.0.2
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
Fixes
- Fixed bug where dividing an
int
by anint
would return a float at runtime - Fixed bug where multiline records would get printed out without commas
- Fixed bug where the outputs
parseInt
andparseFloat
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 bystrip
- Fixed bug where exponent would not return a float at runtime
N v0.0
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 berequest.request
- Changed function value and type syntax
- Disallowed newline before function call parentheses and member access brackets
Additions
- Added
parseInt
andparseFloat
- Added a proper procedure for writing to stdout (
SystemIO.sendSTDOUT
) - Allowed
|
to be used for defaulting - Allowed
~
operator to get applied tomaybe
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
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 avalue
- 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
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
andthen
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
What Changed:
Additions
- Added
FileIO.{writeBytes, appendBytes, readBytes, getFiles}
andSystemIO.run
FileIO.write
andFileIO.append
useutf-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 forrecords
andlists
- Added
hex
,binary
,octal
literals - Added casting for uninitialized type variables
- Added type checking tests
- Added
continue
,break
, andwhile
- Support Unicode escape sequences,
\v
,\0
,\f
, and\b
forchar
andstr
literals - Support
else if
Changes
json.stringify
turns NaN and Infinities intonull
- 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 exceptionsintCode
givesU+FFFD
for invalid code points- Syntax tests also read as
utf-8
now - Added
match
expressions - Removed one-item tuples
N v1.2.4
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
What changed:
- Fixed a bug with adding
char
s andstr
s. - 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
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
andutf-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.