2/27/17

Ideas & Feedback for 'Ola AH' Programming Language are Welcome.

First stage - design stage - for 'Ola AH' Programming Language is nearing end, it's scheduled until April 2017.

By 1 April 2017 i should start writing 'Ola AH' Programming Language interpreter in Java.

i think i'll start with modelling software constructs, instructions & data types, as well as documenting these properly on this blog.

It'll be possible to program with these code pieces using a 'program interpretation tree' at first, parser will come later.

By 1 Jan 2022 - beta version or an RC version (feature complete, but perhaps untested) of 'Ola AH' Programming Language should be complete, with parser, intermediate data structure, interpreter & other parts.

C/Asm compiler for 'Ola AH' Programming Language should come later.


Meanwhile, ideas & feedback for what's planned is welcome - feel free to contact me:
- via e-mail: neomahakala108@gmail.com,
- in comments to this article,
- other ways if You prefer.

2/10/17

Space, Transformations & Recursion.

Introduction.

... had insights that this has uses in Mathematics as well as in Physics, probably more.

... i was exploring Linear Algebra, Geometry & other fields of Mathematics - i plan to study Mathematics at Warsaw University in future as well, i plan to learn Physics from books after that, and other Sciences (Electronics, Chemistry, Biology, Nanotechnology, Nanoelectromechanical Systems - NEMS) as well.

Stitie Space is a 3D objects matrix with convenience methods to animate & transform objects within.

Stitie Space can be Recursive, as objects within can be treated as machines that can run Space(s) within; that way Space can be more dense at certain point(s) or continuously - as much as available resources allow; This can include GRIDs, as machine with Stitie Space objects can be Distributed & Recursive so it scales well with hardware/software infrastructure investments.


Non-Cartesian Spaces & Transformations.

By Space i understand a mathematical construct spanned by a linearly independent, minimal vectors set (a basis for a 'vector space').

i think that Space with Cartesian coordinates has two perpendicular axes, with consistently same unit of distance between values on each axis. i think we can abstract from this however, and talk about 'n-dimensional Cartesian Spaces' with an amount of n perpendicular axes.

Non-Cartesian Spaces do not neccessarily have perpendicular axes, might have different number of axes that two, it is not neccessary to have distance between points on each axis the same - can be more dense or sparse around certain point(s). It is also possible for points in Non-Cartesian Space to be in Relation(s), for example:

  R = { 1 < 2, 2 > 3, 3 < 4, 4 < 2, ... };

Since we are using computers with a finite memory amount, we use discrete numbers for points & values on axes.

We also should use unambiguous 'position values' for points, not only an 'order relation' specified for these, as well.

One of future features planned for Stitie Space is space transformation(s) & projection(s) on different Cartesian or Non-Cartesian Spaces; this is about transformation, not only visualization in different Space(s).

Distance measuring between points in this/these Space(s) can be defined many ways as well (for example by number of 'hops' in the object graph, or by actual distance between objects when projected on the 'n-dimensional Cartesian Space').


Handling Many Objects at the same Coordinates.

With Recursion of Stitie Space, this can be done easily - a machine with object at coordinates creates Space(s) within, then 'sets up' multiple objects there at proper Coordinates, then concurrently manages interactions both within a Space, between objects in different Spaces within, and between object(s) within with the objects in the 'outer' Space(s).

Therefore Space Transformations can occur from any Space to any other Space, even if this potentially can cause 'collisions' of having multiple objects at the same Coordinates in the 'Result Space'.


Use example.

We can model gravity field around a 'magnet', where increases in 'attraction force' are higher near the magnet, and lose it's magnitude away from the magnet.

We might want to model Space with more dense coordinates near the magnet(s), and more sparse outside - to save the resources.

We might want to use transformation(s) as 'magnet(s)' move(s), using MATEN or/and Prism - Stitie Space's functionalities for transforming Space, or using other available ways as well - implemented already or planned in future.


See also, if You wish or need, ... : Stitie Machine 1.1 'Sunsail', Stitie Machine 1.2 'Satellite', Stitie Machine 1.3 'November Rain', Agile Transformation of Information State.


Esoteric Programming Languages, Funges & Ola AH Programming Language.

Introduction.

An esoteric programming language (sometimes shortened to esolang) is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language (particularly functional programming or procedural programming languages), or as a joke.

The use of esoteric distinguishes these languages from programming languages that working developers use to write software.

Usually, an esolang's creators do not intend the language to be used for mainstream programming, although some esoteric features, such as visuospatial syntax, have inspired practical applications in the arts.

Such languages are often popular among hackers and hobbyists.

Usability is rarely a goal for esoteric programming language designers—often it is quite the opposite.

Their usual aim is to remove or replace conventional language features while still maintaining a language that is Turing-complete, or even one for which the computational class is unknown.


Funges.

A funge is an esoteric programming language which models its programs as metric spaces with coordinate systems (often, but not necessarily, Cartesian) and which execute instructions located at points in their program space by moving an instruction pointer (a position vector which indicates the currently executing instruction) through that space.

Different instructions determine the direction in which the instruction pointer moves, and consequently, the sequence of instructions that is executed.

The current official standard for the behaviour of these programming languages is the Funge-98 specification. This specification is a generalisation of the semantics of the Befunge programming language, which has a two-dimensional toroidal topology.

Languages which adhere closely to this standard, such as Unefunge (one-dimensional) and Trefunge (three-dimensional), are sometimes called funges, while more 'distant relatives' which differ in significant respects, such as Wierd, are referred to as fungeoids.


'Ola AH' Programming Language.

'Ola AH' Programming Language has capability of either following classical programming methodologies, or, with use of Stitie Space, organize instructions to be executed as well as state (data) in the three dimensional space.

It is both practical and esoteric language according to design, with classical & visuospatial state/instruction organization.

i am using esoteric ideas in this a programming language i am creating in two ways:
- by experimenting with code & challenging programming languages' limits,
- by using Buddhist, Hermetic Qabbalah's & Wiccan/Witchcraft's symbolics, that are related with Many Aspects of Spiritual Ways.

i am trying to enter spiritual & esoteric markets as well, adressing the needs of the people for whom spiritual & esoteric ideas are important.


See also, if You wish or need, ... : Esoteric programming language, 'Ola AH' as a 4GL Programming Language.