Releases: JDDev0/lang
Releases · JDDev0/lang
v1.0.0-beta-02
Lang updates
- Add output of function names for partially called combinator functions to the stack trace output
- Add line numbers to the stack trace output
- Rename
func.moduleExportCollectionVariable()
tofunc.moduleExportCompositeVariable()
- Rename
func.getModuleVariableCollection()
tofunc.getModuleVariableComposite()
- Official spelling of this programming language is now
Lang
- Add LangTest functions:
func.testAssertTypeEquals()
andfunc.testAssertTypeNotEquals()
- Rename
func.formatTranslationTemplatePluralization()
tofunc.formatTemplatePluralization()
- Allow for-each iteration of struct definition objects and instance objects
- Add the
&Pair
predefined struct definition type and functions for it - Rename all LangTest functions from
func.langTest...()
tofunc.test...()
- Change behavior of
func.makeFinal()
andfunc.makeStatic()
: Pointer to variable which is to be modified must be provided - Add the
&Complex
predefined struct definition type and functions for it - Add the
&StackTraceElement
predefined struct definition type and functions for it - Define
func.isInstanceOf()
and the INSTANCE_OF operator (~~
) for struct definition types - Add the member access operator (
::
) - Add the
STRUCT
data type and struct functions - Removal of
func.hexToDez()
- Removal of
func.getErrorString()
- Removal of
func.dtoi()
andfunc.dtol()
- Removal of
func.getLangRequest()
- Removal of
func.condition()
- Change behavior of
func.freeVar()
: Pointer to variable which is to be deleted must be provided (FUNCTION_POINTER
andARRAY
variables can no longer be deleted directly) - Removal of
func.clearVar()
,func.clearAllVars()
, andfunc.clearAllArrays()
func.arrayDelete()
was renamed tofunc.arrayReset()
- Removal of
func.arrayClear()
- Removal of the implicit array variable creation version of
func.arrayMake()
- Add
l
/L
number postfix forLONG
values - Removal of the
USE_OF_COPY_AFTER_FP
warning - Removal of
func.copyAfterFP()
- Change
func.exec()
: Execute in callee scope - Improve assignment parsing: If lvalue contains opening
(
,[
, or{
but no matching closing bracket, the expression is no longer an assignment (func.println(Hello = 42)
is now working as expected) - Fix parsing of variables in translationKey, token, and function argument list parsing
- Change parsing of
con.repeat()
andcon.foreach()
: Parse operands as operation expressions - Improve parsing of operation expressions: Keep execution mode inside function calls and array creations (Add parser-only Comma operator)
- Change parsing of
con.if()
,con.elif()
,con.while()
andcon.until()
: Parse operand as operation expression instead of condition expression - Change default version of the INC (
▲
) operator to (+|
) and change default version of the DEC (▼
) operator to (-|
) - Add internal
functionName
attribute to Function Pointers for better stack trace outputs - Add the
BYTE_BUFFER
data type and byte buffer functions - Fix loading of modules with relative paths
- Removal of pointer redirection
- Add Lang error message for the Java
UnsupportedClassVersionError
for native Lang modules
Lang shell updates
- Add saving to .lang file dialog (save: CTRL + S, save as: CTRL + SHIFT + S)
- Change shortcut for inserting special chars to CTRL + I
- Add file chooser for inserting file paths (CTRL + SHIFT + F)
- Add improved auto-complets for
linker.unloadModule()
Lang module updates
- Add optional fields to LMC files:
description
andversion
Lang native module updates
- Rename
CONSTRAINT_COLLECTION
(Marked as deprecated and will be removed before 1.0.0 will be released) toCONSTRAINT_COMPOSITE
in theDataObject
class - Add the
LangCompositeTypes
class - The
lang.platform
package was moved outside themodule
package - Add
throwError()
helper methods - Add the
withFunctionName()
method in theFunctionPointerObject
class - Add
functionName
attribute to theFunctionPointerObject
class - Fix the unload method of Lang native modules was not executed on the same instance the load method was called on
- Add
createDataObject()
methods - Add the
callFunctionPointer(String, List<DataObject>, final int)
method - Add the
callFunctionPointer(DataObject, List<DataObject>, final int)
method - Add the
getPredefinedFunctionAsDataObject()
method
WARNING: The Lang programming language specification for v1.0.0 is not finalized. Some breaking changes can still be introduced.
v1.0.0-beta-01
- First v1.0.0 pre-release
WARNING: The Lang programming language specification for v1.0.0 is not finalized. Some breaking changes (like removal of Pointer-redirection or func.copyAfterFP()
) can still be introduced.