Generation, visual diagrams, flow-charts, Mutal recursion
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Aug 04, 1998
- 638 views
Warning, this is gonna be long, I tried to make sure everything I wrote can actually be understood rather than just be a drain-of-thoughts. Maybe this mail is DiskMag material ? Oh well, I'll put a spell checker at it then, you people (please) look over my language mistakes. Language is just a tool never the point of the message First of all, notice that intellegence in the human brain is nothing more than being able to handle a complex database. Seeing how some 'data' relate, and index it accordingly. That is what makes us so bright, compared to a computer. We find relationships, and make a bunch of indexes to our data. Usually, try to eliminate as much data as we can, by forming rules, and conclusions. Actually, we can think quite a lot faster than a computer, though we're all suprised it can calculate all those nice 3D-worlds so fastly. Thing is, what is slow for us, is the input/output. Not the actual calculation. The problem lays again, as Robert has so often put it, around datatypes. Or more generaly, how do order, maintain our information ? How does the human database work. It makes its own indexes, and searches for relationships between data. And like in a database, you could order all ice-creams on taste, or on color, or on brand. In other words: you can have different perspectives on the same thing. This is essenstial. The human brain uses the perceiver-room for this. A room yet not emulated in any language. Flow-charts also have this problem. One of the advances of routines is re-usability. How do you do that with flow-charts ? The big-picture of an algorithm can't even be 3-Dimensional, not to mention 2-Dimensional, its multi-dimensional. A flow-chart is as teacher-room like as a language could be. But its an improvement. Considering a program in text form is 1-Dimensional. (think about it, it is) (yes, I know about the 2D-text based programming languages, they are quite interesting, forget the name though.) What was said about generations the first time was correct (1: machine code 2: formatted code (asm) 3: functional code 4: problem-oriented) Problem-oriented, well many languages have (unrightfully) claimed it to be. They are not. And though I speak high of Euphoria, it is completely *not* 4th-generation-like. The closest match to a 4-th generation programming language is Modula. But, basicallly, it simply applies the 'nature laws' of functional programming upon the problem. The solution, simply depends on your precision of explaining the problem, thereby giving away the solution. Think about it, how do we create an algorithm from a problem ? We try to describe the problem as precizely and detailed as we can to ourselves other persons will rather sum up some examples input and outputs and see what procces is needed to accomplish that. (any of the two methods sound familiar ?? A person consious in his teacher room will be aware of the first trick to force perceiver-like though and persons consious in their perceiver room, will use the second trick to force teacher-like thought. And yes, on a visual diagram you can 'emulate' all rooms. The thing is, Im looking for a programming language to do so. You could even write functions for Euphoria, really. Difficult though, we would be talking robots here. (Euphoria does have a nice performance rate compared to other languages used for this..) But how exactly do the perceiver room and teacher room (the rooms used for abstract thinking) differ and work together ? In the teacher room, every 'fact' gets a fixed position, or preferbly gets removed, by combing a bunch of facts into a rule, a theory. However, in a perceiver room nothing has a fixed position. Every fact, has a bunch of 'lines'/'links' to other facts. A fact for a perceiver is always relative to another 'fact'. Repeat my last sentence for yourself. Isnt this context-sensitive thinking ? Problem with perceivers is they tend to expend the biggest scope to apply on these relationships, and then start storing exceptions or adjust the conclusion when new information is achieved. Some one consious in their perceiver room (like I am) is tend to be very fanatic about what he sees as 'truth', forgetting the actual scope that comes together with the conclusion/rule/theory. On the other hand, it is far less manipulative as the teacher room can be. A teacher is sensitive for order. You tell him fact 'A' and fact 'B' and he will make a rule/theory to eliminate those facts (thinking he can regenerate them at any time using the rule/theory). However, whenever fact 'C' comes in, which proves the rule is wrong, then he will twist, manipulate, and try to find a way to fit fact 'C' into his set of rules/theories. And if this is impossible without changing a rule, the rule _will_ be changed, but also an 'emotion' is created. (one of the two emotions). Before I get everybody over me, hey, I think Im consious in my teacher part and we are not doing that much wish-full thinking..... We all use _all_ 7 rooms, but there is only one room that was first to conclude we could think, wich then took control, and bossed the other rooms around. It is the room used for the consious thinking, but both the perceiver room as well as the teacher room coult not think logically and abstract if not with co-operation of the other room. (BTW If you wonder what you are, a few typical things: perceiver-people see all abstract things as a 3-Dimensional picture, while teacher-people can get so focussed on a thought, a bomb could explode next to them, and they wouldnt notice. A drain of thoughts on the other hand is typical for perceivers. They move from subject to subject, forgetting where they start or where they're heading. And usually cant repeat the thought afterwards, they forget the routine over the internal lines to say it a bit more figuratively) Good analyzing comes from using both brain-parts. Notice the difference in scope between the two brain parts, a perceiver tries to see the big-picture, and makes quick conclusions and then keeps adjusting and filling in the blanks, while a teacher tries to start with the basics, and then expends more and more, always moving towards a big picture. (a famous teacher-consious person was for example Einstein). Now consider how we analyze something, we're switching between the two thinking-patterns. Getting into detail, getting back to the big picture, into detail again. Try applying this theory on a moment you had an idea for a new language suggestion to Robert. The discussion was at times, a mixture between top-down views and bottom-up views. (top-down: perceiver, bottom-up: teacher) Compliment to Robert, for having the most close teacher-room match (perfect match actually.. so consistent: tree-structures, declare-before-you-use, atom as only value datatype, etc.), although he might not intended to do so, even the lack for mutual recursion is a constent at being teacher-like. On the other hand, this also arguments Jiri's request for real mutal recursion off course. For me personally, Euphoria is so great, cuz it forces me to transform my perceiver-thoughts into a teacher's thinking pattern. But I too wouldnt might mutal recursion, it would make it easier for me, to put my thoughts into code at many points. (logically) So, the thing is how would a perceiver like programming language be possible ? Consider defining any object by the scope it applies on: default_y_jump: y = x + 2 whenever z > 2 Rule: y = x + 2 Scope: z > 2 Name of item: default_y_jump Now, introduce our first exception: end_of_screen_delimiter: default_y_jump.z = 0 whenever y = 20 Its just a first guess, and not veyr practical, but I wanted to show you, how complex such a program can be. On the other hand, its the only language which is really made for hacks. (exception-handlers.. as 'hacks' usually are) But now Ive bored you all enough, let it work into ya mind. You can read about all the room stuff at: http://www.freshy.com/theory/index0.htm Personally, ive used a nity o'tool called 'WebDownloader' to download the whole site in half a minute. If some one wants I could up it to Irv's site or email the zip to you, its the whole book online at the other side of that URL. Anyways, I just love these kind of discussion, although some might consider a big mail like this lots of spam, oh well.. Ralf Nieuwenhuijsen nieuwen at xs4all.nl