34 Commits

Author SHA1 Message Date
11eadc1d9f abstract classes, interfaces, MI auto implementation and fine-grained visibility 2026-01-04 22:30:24 +01:00
96e1ffc7d5 fixed oop.md spelling 2026-01-04 20:18:49 +01:00
eca451b5a3 Implement restricted setter visibility (private set / protected set) for class fields and properties. 2026-01-03 23:38:53 +01:00
54af50d6d6 Implement support for late-initialized val fields in classes. Added ObjUnset, UnsetException, compile-time initialization checks, and write-once enforcement for val fields. 2026-01-03 22:05:29 +01:00
ce0fc3650d "cache" bug found and fixed, causing some improvemts in lambda processing. 2026-01-03 21:06:09 +01:00
cd2b1a9cb7 Extensions methods and properties now are correctly isolated, respect visibility rules and allow adding class properties and class vals. 2025-12-24 00:29:10 +01:00
8300c2a3ab v1.1.0-beta1: mini function declarations and working properties 2025-12-23 13:06:46 +01:00
5f3a54d08f Make ObjInt and ObjReal immutable and update number operations accordingly. Add support for class properties with get/set accessors. Rework loop parsing logic to improve clarity and consistency. Update .gitignore and TextMate grammar. Enhance Changelog and document new features. 2025-12-23 08:02:48 +01:00
157b716eb7 Implement automatic substitution for named parameters (auto-named arguments). Supported name: shorthand for name: name in function calls and class constructors. Updated documentation and tests. Built and deployed IDEA plugin and site. 2025-12-22 18:11:38 +01:00
0732202c80 improved vairable tracking, fixed plugin to wirk with 1.0.10, fixed lambda comparison 2025-12-22 14:55:53 +01:00
76a1804dc1 Implement init blocks for instance initialization, refactor class initialization logic to ensure correct inheritance and constructor chaining, update documentation and add tests. 2025-12-21 18:14:51 +01:00
b953282251 docs on updated scopes 2025-12-10 00:04:07 +01:00
65a7555e93 fix $76 add support for enum constants highlighting and initial enum documentation 2025-12-05 00:30:32 +01:00
e584c7aa63 site/docs improvements 2025-11-28 11:25:47 +01:00
aeeec2d417 added Multiple Inheritance 2025-11-17 00:28:07 +01:00
c854b06683 fixed comment before else in if;
dynamic now support indexing access
2025-10-04 11:25:19 +04:00
6d8eed7b8c added "dynamic" fields (get/set/call fields by name using dynamic standard function 2025-08-12 00:15:45 +03:00
be370dfdef fix #45 private statics and docs 2025-08-06 23:10:33 +03:00
a9f65bdbe3 refs #35 serializatino framework refactored: implementation put in open methods of Obj/ObjClass for flexibility 2025-07-19 12:28:14 +03:00
eee6d75587 extension methids 2025-06-20 03:43:58 +04:00
d482401b15 ObjInstance / ObjClass optimization no more list of accessible fields! 2025-06-10 23:51:01 +04:00
652e1d3af4 fix #15, default toString for a class
+default comparison for a class
!give up struct in favor of class (simpler)
2025-06-10 18:51:04 +04:00
2a93e6f7da fix #9 block argument {} call without () 2025-06-10 18:32:38 +04:00
20c81dbf2e fix #11 and private visibility for constructor params, fields and methods. 2025-06-10 12:07:07 +04:00
fffa3d31bb - rewritten/fixed buildconfig
- less noise
- cosmetics in CLI tool
2025-06-10 02:06:03 +04:00
d3f23be7fe OOP: structs with field access! 2025-06-08 18:09:55 +04:00
c0cf190452 fix: lambda now have correct closure 2025-06-08 00:30:13 +04:00
2344e19857 Renamed to lyng/3 2025-06-02 11:52:41 +04:00
dae09f0dc9 Renamed to lyng/2 2025-06-02 11:51:51 +04:00
e13dde68b5 Renamed to lyng 2025-06-02 11:38:17 +04:00
3908b8ee9f +for-else-labels-break is running
+String now is indexed with Char instances, size supported
+Char type and char constants
2025-05-31 15:08:11 +04:00
47c061d2b4 class constants added and class instances for integral types 2025-05-28 14:36:04 +04:00
f885300d18 converted namespaces to objects (coming to static objects, singletons) 2025-05-28 14:01:44 +04:00
d21544ca5d first OO features: x::class, x.method(1,2,3) builting Real.roundToInt 2025-05-28 11:44:55 +04:00