-
Notifications
You must be signed in to change notification settings - Fork 11
Description
"BS... ....should be used for building absolutely everything absolutely all the time"
If we want to target every possible system and platform including Furbies and TV-remotes, we will have to support pointers and everyone who disagrees is not a real programmer.
C pointers are not an option for a real general purpose language, only idiots would use that syntax. Memory is just an array of bytes after all, dereferencing should be as easy as accessing an array element, since there is no specific array to be accessed the array name can be dropped, so we just use (addr) for dereferencing, as is standard in BS.
For getting the address of an object we could use a pointing Emoji 👉 (I know this is a Problem when using Microsoft Word 2003, I will have to think to about this further.)
€AnInt IsProbablyAn Integer = 69;
€APointer IsProbablyAn Integer = 👉€AnInt;
€SomeValue = (€Apointer);
Since parentheses will almost certainly be used for precedence of operators, only the result of expressions inside redundant parentheses should be dereferenced.
€Result = (3 + 1);
The expression above will try to assign the value of memory[4] to €Result,
this will probably cause a segmentation fault, the following expression however will not, but instead assign 16 to €Result:
€Result = (3 + 1)*4;
This will make it harder for the weak brained, who need “helper parentheses” to understand there own code, to intrude into software development.
Assigning a Value to an integer expression result is nonsensical for that reason I propose to interpret any integer result on the left side of an assignment statement as a Pointer to the memory address to which the right side of the assignment statement is to be assigned.
42069 = 666;
(42069) = 123;
The first statement Assigns the Value 666 to the memory position 42069. The second Statement dereferences 42069, gets its value (666 in this case) from Ram and assigns 123 to 667th byte in Ram. One more beautifully horrible result of that would be that, in order to simply assign a value to a variable you would actually need get a pointer to that variable and assign the value to it, like this:
👉€AnInt = 911;
All these are just rough ideas and I am still conflicted on a lot of things, I strongly encourage you to suggest improvements.