Objeck 2023.10.0

Objeck is an open-source programming language inspired by Java and influenced by Scheme and UML. Objeck was designed to be fast, easier to use, lightweight and cross-platform.

Tags compiler debugger interpreter developers cross-plattform
License BSDL-2
State stable

Recent Releases

2023.10.028 Oct 2023 02:09 minor feature: Support for ML decision trees, along with minor language enhancements * Added decision-tree support to the System.ML bundle * Implemented Int- NaN(), Int- Inf(), Int- NegInf(), Float- NaN(), Float- Inf() and Float- NegInf() functions * Support for binary boolean static array initialization
2023.7.526 Jul 2023 15:14 minor bugfix: Improved memory management for REPL and LSP components
2023.7.217 Jul 2023 01:10 major feature: v2023.7.2 Minor updates to the 'Collection.Queue' class Upgraded OpenSSL to 1.1.1u for Windows and macOS Fixed bug #264
2023.6.122 Jun 2023 21:41 major feature: REPL shell support v2023.6.1 New RPEL client shell obi Added functions 'Directory- Delete(..)', 'Directory- GetWorking(..)' and 'Directory- SetWorking(..)' 'HardLink' class added #253 and #254 Fixed issue #240 Minor performance improvements v2023.5.2 Added the 'ByteBuffer' class and updated the 'Runtime- CommandOutput(..)' function Support for setting environment variables via 'Runtime- GetEnvironmentVariable(..)' and Runtime- SetEnvironmentVariable(..)' functions Optimized memory usage and refactored legacy code Modified the 'HttpClient' and 'HttpsClient' methods to use byte arrays instead of strings v2023.5.1 Tweaked syntax for 'TypeOf(..)' expressions (new) Better support for nested method calls with casts (new) Fixed issue #241 (bug)
2023.5.208 Jun 2023 16:11 minor feature: Minor enhancements v2023.5.2 Added the 'ByteBuffer' class and updated the 'Runtime- CommandOutput(..)' function Support for setting environment variables via 'Runtime- GetEnvironmentVariable(..)' and Runtime- SetEnvironmentVariable(..)' functions Optimized memory usage and refactored legacy code Modified the 'HttpClient' and 'HttpsClient' methods to use byte arrays instead of strings v2023.5.1 Tweaked syntax for 'TypeOf(..)' expressions (new) Better support for nested method calls with casts (new) Fixed issue #241 (bug) v2023.5.0 Improved runtime performance and memory usage (new) Relaxed constraint that concrete parameters be provided for resolved generics (new) Fixed MSYS2 issue #222 (new) Updated compiler error messages (new) Rewired the '-asm' compiler flag (bug)
2023.4.222 Apr 2023 15:00 major feature: New features added along with bug fixes v2023.4.2 Improved method inlining for system classes Toolchain uniformly, treating 'Int' types as 64-bits (instead of 32-bits on Windows and 64-bits on POSIX) issue #212 Fixed issues #196, #199, #205 and #207 for MSYS2 x86_64 Clang Resolved a bug that may allow unreferenced return values to remain on the calculation stack Fixed additional bugs during regression v2023.4.1 Added 'Int- Sqrt(..)' (new) Fixed bugs #191 (medium) and #198 (high) v2023.4.0 Added 'ArcSinh(..)', 'ArcCosh(..)', 'ArcTanh(..)', 'Round(..)', 'Exp(..)'' and 'Log10(..)' (new) Added back 'String- EqualsIgnoreCase(..)' (new) LSP support tested with Kate, Textadpt and ecode (new) For Windows, VM treats ints as 'int64_t'. All int values continue to be stored as 64-bit 'size_t' values. (new)
2023.2.109 Feb 2023 16:55 major feature: Improved web server and client support v2023.2.1 Numerous updates to the Web.HTTP.Server bundle (new) - Web server JSON configuration framework - Static file caching framework - Support for page alias forwarding - More robust cookie support - Added File- Copy(..) , Directory- Copy(..) and Directory - Rename(..) (new) - Fixed missing API documentation (bug)
2023.1.228 Jan 2023 17:44 major feature: Web server as a service support v2023.1.2 Added the Web.HTTP.Server bundle (new) - Created a MultipartEncoding class - Separated Request and Response objects - Added response compression support (i.e., decompress, gzip, and br ) - Added cookie support - Optimized POST request - Updated example code Built support for binary literals (i.e., 0b1011) Fixed an issue with the Collection.Generic.Map class that prevented it from deleting an element when the map size was one (bug) v2023.1.1 Resolved bug float related compiler optimization bug linked to legacy 32-bit support (bug) Fixed MSYS2 build scripts v2023.1.0 New functions and optimizations for core classes (new) Removal of more legacy 32-bit code on Windows (new)
6.9.101 Dec 2022 01:37 minor feature: Maintenance release v6.9.1 * Fixed static code analysis findings (new) * Updated documentation for MSYS2 support
6.8.317 Oct 2022 21:20 minor feature: Improved LSP support v6.8.3 1. Added LSP support for diagnostic warnings (new) 2. Fixed macOS ARM64 build process
6.8.211 Oct 2022 04:00 major feature: General maintenance v6.8.2 1. Refactored JIT compilers for maintainability 2. Updated deployment scripts a. Moved Linux ARM64 builds from the cross-compiler to on-device RPI4 b. Created new build utilities and updated build scripts to simplify deployments v6.8.1 1. Added Directory- GetSlash() function (new) 2. Renamed System.IO.File bundle to System.IO.Filesystem (new) 3. Added String- Remove(..) and String- RemoveAll(..) for substrings (new) 4. Re-added Window file association support for .obe files v6.8.0 1. For issue #67, I added the ability to generate a native portable runtime environment using the obb command. The portable runtime contains all application dependencies and a native launcher
6.7.119 Sep 2022 18:01 major feature: Library and component updates Highlights: 1. Upgraded Windows libraries (new) a. zLib moved to 1.2.12 b. OpenSSL moved to 1.1.1q c. SDL2 moved to 2.24.0 2. Updated SDL2 bindings to 2.0.6 compatibility (new) 3. Added the SDL2 GameController class (new) 4. Added a Remove method to the String class (new) 5. Optimized VM memory usage (new) 6. Windows file associations for .obe files, VM invoked by typing the filename (new) 7. Fixed issue #68
6.6.511 Sep 2022 06:35 major feature: Optimizations and bug fixes Highlights: 1. Dead store compiler optimization (new) 2. Compiler detection for assigned unused variables (new) 3. Support for constant propagation (new) 4. Fixed issues #60, #62, #63, #64, and #65
6.6.202 Sep 2022 14:17 major feature: Optimizations and maintenance updates Highlights: 1. Dead store compiler optimization (new) 2. Compiler detection for assigned unused variables (new) 3. Support for constant propagation (new) 4. Fixed issue #60
6.5.401 Aug 2022 05:01 major feature: Maintenance update with bug fixes, including LSP support Highlights: 1. Added the Runtime- SetLocale(..) function 2. Improved the performance of the HttpsClient and HttpsClient classes 3. Fixed bugs #55, #56, #57, #58 and #59 4. Resolved LSP issues with Visual Studio Code plugin (see objeck-lsp-1.1.14.zip)
6.4.401 Aug 2022 05:00 major feature: Maintenance update with bug fixes, including LSP support Highlights: 1. Added the Runtime- SetLocale(..) function 2. Improved the performance of the HttpsClient and HttpsClient classes 3. Fixed bugs #55, #56, #57, #58 and #59 4. Resolved LSP issues with Visual Studio Code plugin (see objeck-lsp-1.1.14.zip)
6.4.008 May 2022 17:03 major feature: Significant performance enhancements retired support for 32-bit targets Highlights: 1. Optimized execution for 64-bit targets (new) 2. Runtime memory usage reduced by about 50 (new) 3. Corrected type check bug in the memory manager (bug: medium) 4. Fixed divide by zero exception checking in arm64 JIT code (bug: low)
6.4.517 Apr 2022 13:18 minor feature: Performance improvements and minor enhancements Highlights: 1. Additional performance improvements for interpreted code (new) 2. Divide by zero detection in interpreted and JIT-compiled code (new) 3. Fixed array indexing issue with nested method calls (bug: low)
6.3.409 Apr 2022 21:42 minor feature: Performance improvements and minor enhancements Highlights: 1. More performance improvements for interpreted code 2. Updated command line documentation
6.3.302 Apr 2022 01:56 minor feature: Performance improvements and minor bug fixes Highlights: 1. Performance improvements for interpreted code 2. Bug fixes for LSP support (bug: medium)
6.2.310 Jan 2022 17:50 major feature: New webserver frame, new classes, and bug fixes Highlights: 1. Created a HTTPS and HTTP webserver framework (new) 2. Add a 'Stringify' interface (new) 3. Fixed bug #47 (minor)
6.2.106 Jan 2022 02:45 major feature: New classes and bug fixes Highlights: 1. Added HTTPS and HTTP web server classes (new) 2. Fixed bug #47 (bug: minor)consistencies for socket and file operations (bug: medium)
6.1.220 Dec 2021 20:55 major feature: Support for signals, runtime optimizations, and bug fixes Highlights: * Add support for signals (new) * Optimized calls to virtual methods (new) * Fixed I/O buffer size inconsistencies for socket and file operations (bug: medium)
6.0.431 Oct 2021 23:41 minor feature: Enhanced LSP support and minor bug fixes Highlights: 1. Added convenience methods to the JSON and XML parsers (new) 2. Added LSP support for method/function renaming (new) 3. Fixed a JSON parser bug that prevented arrays from being root elements (bug) 4. Compatible with LSP v1.0.2
6.0.125 Oct 2021 00:58 major feature: Enhanced LSP support Highlights: 1. Enhanced LSP support (new) 2. Improved the 'Logger' class 3. Minor bug fixes
5.9.103 Jun 2021 23:52 major feature: Improved memory usage Highlights: 1. Syntax highlighting and build support for Visual Studio Code (new) 2. More memory efficient String and Vector classes (new) 3. Added Resize(..) to the Hash class (new) 4. Fixed an issue that prevented array address value comparisons (bug #28, medium)
5.8.427 May 2021 02:07 minor feature: JSON enhancements and bug fixes Highlights: 1. Added builder methods to the JSON library (new) 2. Added IsNeg and NotNeg to numeric types (new) 3. Fixed TCPSocket and TCPSecureSocket 'WriteString(..)' methods, they were adding an extra byte to output (medium)
5.8.212 May 2021 09:07 minor feature: Minor enhancements and fixes Highlights: 1. Updates to class libraries (new) 2. Fixed an issue that caused duplicate source files to crash the compiler (minor)
5.7.317 Apr 2021 18:12 minor feature: Runtime and debugger enhancements with bug fixes Highlights: 1. Runtime performance enhancements (new) 2. Reduced VM memory usage (new) 3. Enhancements and bug fixes for the command line debugger a. Program arguments can be passed by command line (new) b. Pretty printing of String indexed elements (new) c. Breakpoint support for recursive calls (bug/low) d. Command line history for macOS and Linux (new) e. Support for program arguments with spaces (bug/medium) f. Incorrect MacOS execute permissions (bug/high) 4. Fixed a bug related to passing functions with generics as parameters (bug/medium) 5. Fixed a compiler check that allowed some static calls to methods (bug/low) 6. Fixed a compiler check that ignored unnecessary generic parameters (bug/low) 7. Resolved a stack trace print issue that caused some functions/methods to no pretty print (bug/low)
5.7.002 Apr 2021 14:59 major feature: Runtime enhancements Highlights: 1. Runtime performance enhancements (new) 2. Reduced VM memory usage (new)
5.6.105 Jan 2021 15:53 major feature: v5.6.1 --- Apple Silicon support Highlights: 1. Native support for Apple Silicon (new) 2. Fixed an issue with the debugger and memory manager (bug)
5.4.328 Sep 2020 14:59 minor feature: Minor enhancements and bug fixes Highlights: Added forward/backward iterators to the generic list classes resolution (new) Fixed minor issues in the generic collections bundle (bug)
5.4.121 Sep 2020 14:13 minor feature: Enhancements and tweaks Highlights: Added support for reverse iteration via the 'reverse' keyword (new) Made tweaks the to the SDL gaming engine (new) Minor updates to the Windows application launcher (new)
5.4.007 Sep 2020 02:40 minor feature: Enhancements and updates Highlights: 1. Fixed a critical issue in the VM that was incorrectly converting negative integers into floats (bug) 2. Added a Windows launcher app to simplify usage and installation (new) 3. Windows launcher will notify users of new versions (new)
5.3.930 Aug 2020 15:05 minor feature: Bug fixes, minor enhancements Highlights: 1. Improved generic definition syntax, both: '' and '' are acceptable (new) 2. Fixed type checking bugs for generics (bug) 3. Resolved issues preventing method calls within lambda expressions (bug)
5.3.829 Aug 2020 15:09 minor feature: Bug fixes, minor enhancements Highlights: 1. Improved generic definition syntax, both: '' and '' are acceptable (new) 2. Fixed type checking bugs for generics (bug)
5.3.731 Jul 2020 15:55 minor feature: Bug fix Highlights: 1. Fixed type checking bugs for generics (bug)
5.3.128 Dec 2019 17:31 minor feature: Raspberry Pi support and general updates. Highlights: 1. Native Raspberry Pi 3/4 support (with new ARMv7 JIT compiler) new 2. More efficient handoff between interpreted and JIT generated machine code new 3. Library names that don t end in ".obl" will have it appended new 4. Overall size of "*.obe" binaries has been reduced new 5. Libraries made more modular (see API docs) new 6. Fixed "Https- Get()" and "Https- Post()" bugs that affected Posix targets bug
5.2.116 Sep 2019 13:55 minor feature: Full support for type aliases. Highlights: 1. Aliases can be used to reference any type, including functions (new) 2. Added MultiMap to generic collections (new) 3. Fixed bug that allowed instance variables to referenced in static blocks on rare occasions (bug)
5.1.930 Aug 2019 06:22 minor feature: Updates to web clients and JSON library. Highlights: 1. Support for HTTP header requests (new) 2. JSON encode and decode text string functions (new) 3. General enhancements
5.1.612 Aug 2019 01:25 minor feature: Additional lambda and generics functionality Highlights: 1. Fixed compile time error when returning '@self' from a generic class 2. Added 'Each' and 'Limit' methods to generic collections 3. Support for lambda expressions without return values 4. 'ToString' methods added to holder classes
5.1.423 Jul 2019 14:53 minor feature: Minor enhancements and bug fixes. Highlights: 1. Added continue statement 2. Updated the Set generic collection class to use its generic type
5.1.216 Jul 2019 03:26 major feature: Support for lambda expression, closures and minor enhancements. Highlights: 1. Support for lambda expression and closures 2. Tweaks and improvements to memory allocation 3. Debugger enhancements a. Added a memory command to the debugger b. Modified continue command c. Fixed print formatting d. Updated Getting Started guide to cover debugger 4. Windows installed will automatically upgrade older versions
5.1.114 Jul 2019 17:53 major feature: Added support for lambda expressions and closures.
5.0.101 Jun 2019 23:12 minor feature: Added support for generics and boxing. Highlights: 1. Generic support a. Added support for generic programming b. Built generic based collections library Collection.Generic c. Refactored core libraries to use generic collections 2. Added boxing/unboxing support for primitive types (Bool, Byte, Char, Int and Float) 3. Bug fixes and enhancements a. Enhanced class documentation (new) b. Added Apply to generic Vector class (new) c. Speed enhancements made to the compiler d. Fixed a bug in the String- Replace() method e. Enhanced the code documentation system 4. For Windows 64-bit, code statically recompiled to resolve DLL dependencies (new)
5.0.028 May 2019 15:17 major feature: Added support for generic programming and type boxing. Highlights: 1. Generic support a. Added support for generics types b. Created generic based collections library Collection.Generic c. Refactored core libraries to use generic collections 2. Added boxing/unboxing support for primitive types (Bool, Byte, Char, Int and Float) 3. Bug fixes and enhancements a. Speed enhancements made to the compiler b. Fixed a bug in the 'String- Replace()' method c. Enhanced the code documentation system
4.1.1112 Apr 2019 16:44 minor feature: Enhancements and critical bug fixes. Highlights: 1. Added basic language features a. Support for multivariable declarations and assignments new b. Variable negation new c. Runtime asserts new 2. General performance enhancements for Windows platforms new 3. Minor enhancements and bug fixes to the debugger new 4. Fixed method inlining issue that may have caused incorrect code generation bug 5. Resolved compiler bug related to explicitly typed enum and const variables bug 6. Improved internal handling of UTF-8 to ASCII text conversion new
4.1.10112 Apr 2019 16:44 minor feature: Enhancements and critical bug fixes. Highlights: 1. Added basic language features a. Support for multivariable declarations and assignments new b. Variable negation new c. Runtime asserts new 2. General performance enhancements for Windows platforms new 3. Minor enhancements and bug fixes to the debugger new 4. Fixed method inlining issue that may have caused incorrect code generation bug 5. Resolved compiler bug related to explicitly typed enum and const variables bug 6. Improved internal handling of UTF-8 to ASCII text conversion new
4.1.1015 Mar 2019 16:24 minor feature: Optimizations and speed increases. Highlights: 1. JIT support for floating point functions (pow, sin, cos, log, etc.) new 2. More aggressive method inlining, general increased performance new 3. Fixed code examples bug
4.1.415 Jan 2019 00:19 minor feature: Added compression APIs, improved XML support and data serialization support. Highlights: 1. Added zlib byte compression and CRC32 APIs (new) 2. Target files (executables and libraries) compressed for size and integrity (new) 3. Improved XML parsing of CDATA tags (fix) 4. Fixed byte array to hex string functions (fix) 5. Fixed and optimized object serialization classes (fix)
4.1.205 Dec 2018 18:55 minor feature: Extended support for 2D game development. Highlights of this release include the following: 1. Added SDL2 support for texture streaming (new) 2. Improved VM performance (enhancement) 3. Addressed Windows 64-bit installer issue. Native DLLs for supporting libraries are now resolved. (bug) 4. Fixed esoteric memory allocation bug for macOS (bug)
4.1.125 Nov 2018 01:50 major feature: Extended support for 2D game development. Highlights: 1. Enhancements to the 2D gaming framework a. Added class support for tiled images b. Extended SDL2 support including direct pixel access c. Support for macOS Mojave (SDL2 = 2.0.9)
4.1.005 Oct 2018 22:25 major feature: Added support for 2D game development. Highlights: 1. Support for 2D game development 2. Encryption libraries upgraded from OpenSSL 1.0.x to 1.1.x 3. Sublime Text 3 support for syntax highlighting and building code 4. Bug fixes and general enhancements a. Faster VM startup b. Fixed float to string bug c. Resolved bug in 'all paths return' compiler check d. Fixed default parameter method inlining bug that caused VM crashes
3.6.013 Mar 2017 00:19 major feature: Made performance improvements. Highlights include the following: 1. Memory manager was reconfigured to handle larger loads more efficiently 2. Refactored the .obe file format making binaries smaller 3. Made performance improvements to the interpreter
3.5.1022 Feb 2017 17:33 minor feature: Improved error reporting and novel enhancements. Highlights of this release include the following: 1. For invalid method calls the compiler now shows possible alternatives (enhancement) 2. Add support for Unicode operators (i.e. for assignments, for method calls, and for logical comparisons) 3. Fixed a minor bug in the "UrlUtility- Encode(..)" method (bug/minor)
3.5.823 Jan 2017 15:21 minor feature: Bug fixes and enhancements. Highlights of this release include the following: 1. Revamped code examples (new) 2. Simplified the layout of files and directories (new) 3. Modified "FileReader- ReadString()" to handle different platform newline differences (bug/minor) 4. Fixed a compiler contextual check for certain types of method calls (bug/minor))
3.5.008 Nov 2016 17:18 minor feature: Minor updates. Highlights of this release include the following: 1. Optimizations to the runtime interpreter (new) 2. Default compiler optimization flag now set to high (new)
3.4.027 Aug 2016 19:38 minor feature: Updates and bug fixes. Highlights of this release include the following: 1. Added get "group" and get "owner" functions to the File class (new) 2. Windows installer supports upgrades from previous versions (new) 3. Fixed object serialization issues and enhanced overall functionality (bug/medium)
3.3.1413 Mar 2016 07:40 minor feature: Updates and bug fixes. Highlights of this release include the following: 1. Fixed documentation errors (bug/minor) 2. Made minor tweaks to class libraries (new)
3.3.1217 Jan 2016 17:12 minor feature: Updates and bug fixes. Highlights of this release include the following: 1. Faster code execution with on Windows and OS X (new) 2. Minor command line interface enhancements (new) 3. Made a fix to the "Console- ReadString()" function on Windows (bug/minor)
3.3.1115 Nov 2015 19:43 minor feature: Highlights of this release include the following: 1. Support for named constants using the "consts" keyword (new) 2. Added "IsUpper" and "IsLower" methods to the Character class (new) 3. Addressed a compiler bug that allowed objects to be casted as Int s (bug/high) 4. Fixed an issue with compound "not" expressions (bug/medium)
3.3.1009 Nov 2015 21:45 minor feature: Minor updates and bug fixes. Highlights of this release include the following: 1. Support for named constants using the "consts" keyword (new) 2. Added "IsUpper" and "IsLower" methods to the Character class (new) 3. Fixed an issue with compound "not" expressions (bug/medium)
3.3.915 Oct 2015 19:59 minor feature: Minor updates and bug fixes. Highlights of this release include the following: 1. Added better random number generation (new) 2. Resolved a bug that would not allow inferred Float values to be used as indices into arrays via Int casts (bug/minor)
3.3.8-326 Sep 2015 02:52 minor feature: Minor updates and bug fixes. Highlights of this release include the following: 1. Added support for bodiless "while" loops (new) 2. Addressed an issue with Vector copy constructors (bug/high) 3. Fixed a bug related to unary conditional expressions in loops (bug/med) 4. Resolved an issue parsing large HTTP/HTTPS cookies (bug/med)
3.3.8-223 Sep 2015 09:18 minor feature: Minor updates and bug fixes. Highlights of this release include the following: 1. Added support for bodiless while loops (new) 2. Addressed an issue with Vector copy constructors (bug/high) 3. Fixed a bug related to unary conditional expressions in loops (bug/med)