1 Nov 2008 (updated 1 Nov 2008 at 13:44 UTC)
»
Oh my, its high up here!
I should remind myself to quote Newton. But I
don't. Why? Well that's implicit. The thing is every good
thought I have can probably be found in an scientific
archive somewhere or in some project X out there and My
whole experience is based of others efforts. That's how an
open system works and that's probably a key fact to explain
the technological success we have had the last centuries. So
I'm blowing in the wind and we all are blowing the wind.
What I'm heading at is my clambda stuff. This stuff will
be basically c morphed into a more lispy syntax. That is,
there should be a mapping between C-syntax and c-lambda and
when you managed to grasp that mapping the translation will
be simple meaning that you can actually use the c
experience. Now why this exercise? The main reason is that I
want to build my own object system!! ... Just kidding, When
I coded in C i just recognized that stuff I wanted that is
not that hard to do in lisp is difficult in C due to the
inferior pre-processor. Thats It, I wan't to add a lispy
pre-processor to C,C++,Java,C#,...
I choosen the Qi flavor of lisp because, well, I think it is
the best base to start from and I wanted to learn it
Now to mentally sell this stuff and have fun I would need to
implement extensions to C that makes a difference
e.g. with some batteries included. Ok here are some ideas,
1. Meta Object System, He he, I'm not kidding here,
look at Lisp, they have actually abstracted out the action
of dealing with objects in a tool that constructs object
systems - this is a neat idea and why not bring that over
to the C family so that everybody easily can make their own
home brew object system. (Python seem to have similar system
as well and you may find more examples)
2. Loop macro facilities This is what I have been
discussed and worked on during some time now.
3. Static type checking Tools exists today but I
would like to have better meta facilities to explore new
inroads and versions of it and better integration.
4. Custom types, deduction of types. Qi Has an
advanced type system, cool if we can use some of that.
5. structs vs file-systems Structs in C are a much
like file system without the tools of the file system. Well
Using C++ we do have the potential of a file system but it
would just be a cool idea to just tighten these two
metaphors together to see what it brings still keeping it
light weight. The idea is that we work with the struct
incrementally like in a shell we consider files, we consider
directories, we don't consider content, we just manages the
content structures and the metadata of the structures and at
a point the struct is set in stone e.g. this is a metastuff
to define data structures. Not to manage the content.
6. Different views of code
If you want to study very difficult code because the problem
is, difficult. The notation system is very important for
your success. Long variable names and whitespace is not well
suited for this. Hard stuff just demands that the patterns
inside in it can be recognized
and matched by your experience. For these use cases I
need some tools to design the notation systems.
My idea here is to use a simple notational macro facility
and a tool to layout sheet cheets information well alligned
in a column to the right of the code. E.g. I do not want to
use tool tip technology, I want to layout the translation
information well visible in a column to the right. Basically
a macro is associated with it's usage, it's usage for the
first time, it's usage after beeing not used for x lines of
code and so on. The idea is that the definition of these
macros should always be visible according to some logic
7. Transfer of Meta Information
True Openness will allow users to tag their information and
let these tags transfer through the system to basically do
more with your data. Think of associating each byte with a
meta information, have tools
to define how all basic operations handle the flow of
information. This framework can be used if you want to track
your content, for security and so on. It is wothless for
doing DRM cause the user is in power of it and this is why
it is interesting
</b>
He he in 10 years I will be finished with this and it will
rule the world.... No, of cause that will not happen, but It
is so fun blowing in the wind and what is important is
progress and that my friend, is all us blowing the wind.
I'm falling, Touching ground, Over and Out