Jump to content

Cloudic Coding

- - - - -

  • Please log in to reply
No replies to this topic

#1
alan2here

alan2here

    Newbie

  • Members
  • Pip
  • 5 posts
I've been thinking about various issues with most languages. Thease include lots of converting data between similar formats, lack of expression, lack of the generic, too hard to expand things after they are complete and how real code re-use is still too hard. I've developed what I think could be a good solution. The novel stuff is quite a few bricks into this wall of text and the description starts off seeming very conventional, sorry about this but I things need to be described in order.

The language is has garbage collection and consists of variables (references to data structures or basic types), processes and basic processes.

Basic types are like C++ POD types, although created and named differently.

Structures don't have type names and contain a list (optionally a set or map instead) of refrances to other structures, they can also have properties and be marked as dividers, more on this later. As such structures can represent lists, trees, webs, be object like with groups of things etc... These are referred to as the structures shape.

Processes have ID numbers and names, names are like labels, all refering to processes is done with the ID and usually behind the scenes, many processes will exist in the same scope with the same name, this is usual. Processes must describe what they are capable of processing and how efficently as well as how this is done, for example a process that uses exactly two binary tree shaped structures, mutating one and finishing in Olog(n) time.

Structures can also have one or more properties, thease are words that show what the structure is like, a structures properties or individual properties can optionally be constant, meaning that an error will occur if anything tries to change the property.

There is an online data store of processes that is integral to the language, processes are downloaded from this as required.

There is an intellisense style list of functions that shows whats possible in a given context. For example, a structure or structures would show everything that could be done with them, with the most efficient, best complexity class, best community rated stuff at the top. This uses the structures properties to determine it's shape and intended use. With no properties or in the case of structures with non-constant properties thats been mutated in a way that makes it too difficult to work out, the list only shows the most generic processes, for example traversing, searching or comparing the shape of different structures, in these cases it's still possible to perform any operation on the structure given the ID of the process required.

Structures marked as dividers show that they are the start of new things, for example in a tree of items the first structures that are the start of an item would be dividers.

Basic processes are low level flow control and the such, although syntactically there shouldn't be much difference between them and other processes.

Furthermore, I don't mind tricks like thease stackoverflow.com/...performance and think they can be permitted safely. I've also put thought into making concurrency straightforward to use.

Edited by alan2here, 18 February 2012 - 07:04 AM.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users