Skip to content

Releases: JDDev0/lang

v1.0.0-beta-02

06 Jun 18:11
Compare
Choose a tag to compare

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() to func.moduleExportCompositeVariable()
  • Rename func.getModuleVariableCollection() to func.getModuleVariableComposite()
  • Official spelling of this programming language is now Lang
  • Add LangTest functions: func.testAssertTypeEquals() and func.testAssertTypeNotEquals()
  • Rename func.formatTranslationTemplatePluralization() to func.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...() to func.test...()
  • Change behavior of func.makeFinal() and func.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() and func.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 and ARRAY variables can no longer be deleted directly)
  • Removal of func.clearVar(), func.clearAllVars(), and func.clearAllArrays()
  • func.arrayDelete() was renamed to func.arrayReset()
  • Removal of func.arrayClear()
  • Removal of the implicit array variable creation version of func.arrayMake()
  • Add l/L number postfix for LONG 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() and con.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() and con.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 and version

Lang native module updates

  • Rename CONSTRAINT_COLLECTION (Marked as deprecated and will be removed before 1.0.0 will be released) to CONSTRAINT_COMPOSITEin the DataObject class
  • Add the LangCompositeTypes class
  • The lang.platform package was moved outside the module package
  • Add throwError() helper methods
  • Add the withFunctionName() method in the FunctionPointerObject class
  • Add functionName attribute to the FunctionPointerObject 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

12 Feb 12:38
Compare
Choose a tag to compare
  • 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.