Monday, March 2, 2009

MML

___So, here I am, week 9 of 10 in the quarter, getting ready for finals and the chaos that will come with them, only to realize, I'm currently between all of the homework assignments. I've somehow ended up with a day, maybe even two, of free time. Those who don't know me might think my response to empty hours of the day would be of the fairly typical variety: catching up on sleep, relaxing and playing video games... Those who do know me, on the other hand, won't be surprised to find that instead of doing all of those* (* = massive disdain) things, I'm creating my own programming language, please welcome project MML.
|
___What, might you ask, is MML? Well, as any who know me have likely already tuned out, I'll explain:
|
___MML (or MemMapLang or Memory Mapping Language) exists, for the moment, as pseudo code that will be, at some time (later in the development process), translated into C code, which can then be compiled to run wherever machine C can compile to.
|
___The basic concept that lies at it's core is the idea that, in order to improve performance and coding style/readability/understandability, any function or program in MML will be given a set of address spaces, pre-initialized in main memory, where all of the programs variables/arguments/return values can exist. Mapping with-in that space will then be controlled by the programmer, who will have to be conscious of what is assigned to where, and how much of that memory he/she is using. By giving the programmer the ability to call a program or function with multiple address spaces with set rules for access (read/write/execute) you can essentially construct a coding environment allows for both very strict memory rules, and incredibly flexible usage, of the given address space.
|
___At the moment, I'm still working on the spec and syntax that I want the language to have, how I want function calls to work, casting, pointers, etc. I'll have further updates as things progress (and I get past my finals, and I run into more free time).

No comments:

Post a Comment