0

It seems to me that one way computer science could be divided up, is into three domains:

  1. What is efficient for humans to represent and comprehend
  2. What is efficient for computers to represent and process
  3. An idealized form of how computation/problems are defined that is extremely succinct, specific, and not tied to human or computer limitations

What I am most interested in, is this third domain. I believe if a lot of effort is invested there, it will drive the advancement of the other two domains.

Towards that end, I am interested in the development of an "ultimate" virtual machine. Something with a gratuitously minimal and impoverished grammar, and an extremely advanced type system.

I am wondering if anything like this exists. I am also trying to develop something like this, with the idea that it doesn't.

Raphael
  • 72,336
  • 29
  • 179
  • 389
sfultong
  • 73
  • 3
  • 2
  • is not computer science. I don't know what you mean by 3., but I do know that 2 and 3 together don't cover all of CS. It seems that you have a very limited view of what constitues the field, or maybe you want to talk only about a subset? Please clarify. Also, please explain why things like lamda-calculus don't answer your query.
  • – Raphael Jan 15 '17 at 12:03
  • Acoording to my view , the human brain is much advanced and efficient that it created computer. The human can transform a computer to such an extent that it computer can deal with any sort of difficulties or complications.So by raising third point , the first two points raised can also be defined accurately. – Sahil Mehta Jan 15 '17 at 08:43
  • @SahilMehta It is well established that computers as we know them can not solve all problems, no matter how much ingenuity we throw at programming them. (We don't know if that's the end of the story, though, but we believe it to be; cf. Church-Turing thesis.) – Raphael Jan 15 '17 at 12:05
  • 2
    Your goals seem to be directly contradictory. A machine model with a simple definition necessarily cannot have a complicated type system because the type system is part of the definition of the machine. – David Richerby Jan 15 '17 at 13:35
  • @Raphael simply typed lambda calculus may indeed be part of the answer I'm looking for, and is what I'm focusing on in developing my own VM right now. Why do you think VMs with new grammars are being continually developed rather than settling on something minimal like lambda calculus and focusing on making translation to machine code extremely efficient? – sfultong Jan 15 '17 at 17:14
  • @DavidRicherby what I want is a powerful type system, not necessarily a complex one. For instance, I could make the type system Turing complete without making the definition of the machine much more complex. – sfultong Jan 15 '17 at 17:21
  • @sfultong For many reasons, not all of them reasonable. – Raphael Jan 15 '17 at 18:07
  • How much literature search have you done? It seems to me that the quest for the ultimate virtual machine was a thing of the 1960s to 1980s, since then the consensus is that different models are good for different purposes. – Gilles 'SO- stop being evil' Jan 15 '17 at 19:49
  • @Gilles have not done a literature search. Are there any particular journals you recommend? I was hoping that by asking this question, people familiar with specific papers could refer me to them. – sfultong Jan 15 '17 at 21:11
  • Sorry, it's been a long time since I looked at that stuff and even then I was mostly focusing on functional languages. Each community has its own models that don't work so well in other settings. Even for functional programming, the models that work well for understanding what programs do aren't the same that work well for producing efficient compiled code, or for enforcing security restrictions. – Gilles 'SO- stop being evil' Jan 15 '17 at 21:27
  • It seems like total functional languages should allow for extremely efficient compilation, which is where my interest lies. – sfultong Jan 15 '17 at 22:34