Extension Property Calls for KatLang Code Readability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

KatLang programming language lacks the ability to extend non-static objects with functionality from other non-static structures, limiting code readability and functionality due to the absence of user-defined static structures and applicable extension methods.

Innovation Solution

The introduction of 'extension property calls' allows accessing properties from other objects within the same visibility scope, enabling the use of regular properties as extension properties without special syntax, simplifying code and improving readability by allowing expressions to be written in the order they are executed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If KatLang does not support user-defined static structures and extension methods, then the language maintains simplicity in its core structure, but the ability to extend non-static objects with functionality from other non-static structures is limited

Engineering Contradiction:
Improveability to extend objects with functionalityVSAvoidlanguage structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism that allows non-static properties to be accessed on non-static objects without requiring static structures. The property access expression is translated into a property call expression, acting as a mediator between the object and the property, enabling extension functionality while maintaining the non-static nature of both objects and properties

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of requiring static structures to provide extension functionality (the conventional approach), the patent inverts the approach by allowing non-static properties to be accessed on non-static objects. This inversion enables extension capabilities while maintaining language simplicity and avoiding static structures

Inventive Principle:
Principle #13The other way round (Inversion)

2Ease of operation

If property access syntax is used to access properties from other objects, then code readability is improved, but the syntax must be extended to allow accessing properties not contained in the object itself

Engineering Contradiction:
Improvecode readabilityVSAvoidparser complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The parser uses property visibility as an intermediary criterion to determine whether a property access expression should be interpreted as accessing a contained property or an extension property. This intermediary mechanism allows the parser to maintain simple syntax while enabling extended functionality through visibility checks

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The property access expression is given universal functionality, serving both to access properties contained in the object and to access properties from other objects within the same visibility scope. This multi-functionality eliminates the need for separate syntax while improving code readability

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If extension property calls are allowed without special syntax, then code conciseness is improved, but the language must allow accessing properties from any object within visibility scope

Engineering Contradiction:
Improvecode concisenessVSAvoidproperty accessibility scope
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by restricting property accessibility to properties within the same visibility scope as the object. This ensures that extension property calls remain concise and intuitive while maintaining controlled accessibility, allowing the language to extend functionality without creating unrestricted access

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11947932B2Extension property calls
Publication Date: 2024.04.02 LOGICS RES CENT SIA
  • US11947932B2 patent drawing
  • US11947932B2 patent drawing

AI summary

In programming environments, an object can be extended by adding a new property (subroutine) to the collection of the object properties. The properties of the object can be accessed using property access syntax. Extension property call is an innovation which allows the use of an object together with property access expression to access the properties (subroutines) that are not contained in the object itself, but which are contained in another object and are visible in the scope where the property access expression is used. The extension properties do not have special extension property definition syntax. Any regular property (subroutine) can be used as the extension property of the object if the property is visible in the scope where the property access expression is used. Extension property calls makes programming language code concise, improving code readability.