inventing Intention Description Language for drivers

Submitted by olecom
on April 11, 2008 - 7:29am
Summary: programming languages are CS cargo cult;
         for me it's plain text, so get `sed` and do text processing;
         but before, some kind of designing meta-language is needed anyway;
         drivers is a good place to try.
Conclusion: linux's, BSD arch/ && kernel/ analogue in meta-language.

Thinking more (after this entry) about all software over-complication,
programming languages, LISP, AI, etc., just remembered, that i was
(till 2005) a Mozilla/CSS/DOM/XML fan boy.

Oh yea! Happily now i can at least use this publication mechanism with all
that twisted HTML things (no, it's not true botting blog, just what boils
inside for years:).

I also remembered strange IDL thing in Mozilla sources.

So, those CS guys think software is not a plain text, but diamond, stone,
concrete and is a cult (think cargo cult)?

And guess what? Yes, and they need another language, meta-language!

http://en.wikipedia.org/wiki/Interface_description_language
(check all refs., be ready for hardcore CS hand waving and no info)

And what if software is a PLAIN TEXT? Well, in Open Source i can
prove that, `sed` is my tool, no problem transforming C *[ch]
(style is very important to have something done easily and without
side effects).

Just wrote about hardware guys, really pushing digital era and before that,
noted about development of their tools. So, IMHO hardware needs some kind
of meta-language on driver-software level. It's not David Wheeler's

   "Any problem in computer science can be solved with another layer
    of indirection. But that usually will create another problem."

It is hardware (yea, some firmware, but still). And generating C code
by semantically known and tested meta-language constructs is
development of "only generating and reading assembler"[*] as of now (in
kernel, of course).

[*] * http://kerneltrap.org/Linux/Decoding_Oops
    * "I would encourage lots of kernel hackers to read the assembler
       code gcc generates." Linus Torvalds @ 2007-07-24 19:48:13 GMT.

Just get your C after generation and go forward. Meta-language is just
non exclusive tool.

It's like linux/arch but not in functions and macro-wrappers, but in
meta-language.

> * to have one driver base for all kernels (Linux, BSD, GNU, etc.),
>   no binary or source compatibility layers
> * file system base
>
>  http://kernelnewbies.org/olecom

Do i have to invent Intention Description Language and its
implementation, to try this? IMHO for at least drivers, i can do that:

* RAM buffers
* DMA
* interrupts
* buses
* glue logic(in C)
* optimizations (in asm)
* (add yours)

Problems? Maybe it's not that easy? Maintaining? Egoism? License?

Ethics (much like ndiswrapper): there will be no more Linux source base.

(: Meta Source vs Open Source vs Free Software vs OpenBSD :)

Do i need that?

____
rhitoric trolling:
I have heard, that fruit and mushroom collectors are on big
demand in California.

Those robot guys are wanting to make a football team beating humans,
yet harvesting... (Sucks?)
-- 
sed 'sed && sh + olecom = love' << ''
-o--=O`C
 #oo'L O
<___=E M

[Yes, i was blind fan boy of Mozilla]-rc1

olecom
on
April 11, 2008 - 6:46pm

started as reply, but it's going to be another full entry, thus -rc1
___
Yes, i was a blind fan boy of Mozilla

But, you know, it is a good experience. At least i have no narrow view, as i can see in linux kernel guys.

Even back in those day, i was asking myself: why do i need to type all those stupid XML tags with all those symbols?

I could write it in a python-style:

def html id=main:
    def body style="display: block"
        def a href="kerneltrap.org":
            """My place of communication with the world."""
        def pre
            """I like it and i thank Jeremy for that!
            def is quoted, thus isn't a syntax
            """

this results in: you can imagine, can't you? (i just don't want to deal with all that &lt; crap; ask me for `sed` transfotm, and i will happily do it for you)

But what i could find in the net was 'Serialization' of python in XML. That was puzzling, who is stupid? It's not a text but object processing, still interesting. But in time i have opened my eyes, i've found Twisted Matrix and it's Banana protocol. Yes, those python guys, who don't like any smell of XML.

In short:

  i think CSS is a good cascading configuration paradigm for
  configuring (linux) kernel;

  now kbuild is a big crap (yes, working and maintained,
  FIXME: add LKML refs):
   - own limited parser (by Roman Zippel) which implements
   - very limited set of static conditions and relations
   (- UI frontends are here and coupled with kbuild)
   (not described)

  sh+sed can implement structure and syntax needed.
  Not, it's not a new CML1(Linux 2.4). CML1 *is* a shell
  script(s).

But before all ideas can easily go, i need The Good User
Interface in text console. Why? Did you see any interractive
CSS composer/editor, for X, for Linux, for 'the geek' console?
I didn't. (blessed WEB 2.0 era may have something already).

This is same as with syntax highlighting
  of regular expressions
  of sed (both of which i don't have) and
  of shell scripting (highlighting is very naive).

The tool is GNU Emacs 21. (what's in 22?)

In BRE (`sed`) every, every single symbol matters. Yet I
use subconcious to look and recognize all logic in those
symbols. Yea, LISP coders like to look at '(' ')', but
i don't like no color in BRE!

WEB 2.0 era http://www.google.com/search?q=CSS+editor

first link:
http://www.westciv.com/style_master/screenshots/screenshots_win.html

-> see in "Code" section
href="../images/screen_shots/win_syntax_color_large.jpg"
title="Syntax coloring: more than just pretty print"

They bet! BTW, Not bad one as it seems!

But i need cascading more, than style for kbuild. And this requires some kind of multidimentional walk+edit/select (think menuconfig), as connections and relations in CONFIG* symbols require. Style content will be a gcc options/#define soup.

GUI menus, lists are backward. Well, for me all GUI elements are so. They are not dynamic, and no, i don't need moving OpenGL crap, another dynamizm is needed. I'm thinking about UI, it's text/console based as it is not limited in the way one can go. And for visual i need another input system, it's also what i was going to do shell+sed and here writing.
(i still have much to do before any showtime).

plain-text drivers related reply on a comment

olecom
on
April 30, 2008 - 1:04pm

Reply from http://kerneltrap.org/Linux/Ksplice_Rebootless_Linux_Kernel_Security_Upd...

______
> Also, that crap about plain text kernel driver interfaces doesn't even make sense.

OK, what is POSIX+configure+forests of #ifdef/#endif in userspace applications, that were developed not only for Linux?

If Linux kernel developers don't bother much to document own APIs even in human-readable form, then what can i say about automated source processing?

Forcing to read sources, is kind of slavery: "i did job, care to read it". Examples that this is not working: vmsplice() security hole as well as many comments from top developers (e.g. Al), that there is no that much review. There is nothing "new" WRT automated tools for audit/maintaining of the code, not saying about generating it for quite clear and simple interfaces of hardware (take a look at LabView or SPICE models for analog components for instance). Please, be my guest, look at my stuff here on site and comment there.

This is off-topic indeed here. And take care of what you are calling crap, because real one can hit you in your face right from holes in Linux.
____

> Those robot guys are

olecom
on
May 21, 2008 - 12:13pm
> Those robot guys are wanting to make a football team beating
> humans, yet harvesting... (Sucks?)

http://www.press.redhat.com/2008/05/20/a-new-goal-for-open-source/

Crap.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.