What Would Your Ideal Language Look Like?

I've been doing a lot of reading and writing about the nature of programming languages and how the relate with our spoken languages and I have identified some strengths and weaknesses between our spoken tongue and machine languages.  While it's easy to enumerate the differences, there are a few differences and similarities that interest me in particular.

  1. Both are made up of words consisting of verbs and nouns at the minimum.
  2. Machine languages tend to require definitions up front.
  3. Vague statements are tolerated in spoken languages as their meaning can be elaborated later.

To further appreciate the similarities between the two languages, I've been doing little exercises where I try to translate both contrived and randomly found sentences into a familiar syntax and made up syntaxes.  Here is an example of my exercises:

English:
The lazy dog sat under the tree while I drank beer.

JavaScript:
_while(
the(dog, lazy).sat(under, the.tree),
I.drank(beer)
)

Lisp:
(while
(sat (the (dog lazy)) under (the tree))
(drank I beer))

Tcl:
while
{sat [the [dog lazy]] under [the tree]}
{drank I beer}

I won't go into how I created these translations, because I'm sure you might disagree my assumptions.  When I asked my friend Dossy to translate the sentences into Lisp and Tcl, his translations made different assumptions.

Lately, I've been toying with JavaScript's ability to create functions and classes at runtime, especially with the idea of modeling real world objects.  My latest mini-project is a small library that allows you to create object types using a simple declarative vocabulary like so:

var schema = new schema();
with(schema) {
number.define("age");
text.define("name,email");
object.define("person,friends");
person.has(name, age, email, friends);
friends.is_many(person);
}

While I've only gotten pieces to work so far, the idea works well in JavaScript because both objects and object prototypes are designed to be extended at run-time.  While everybody knows you can add new properties to object instances at runtime, not as many know you can add properties to all objects of type person at runtime.

I'd like to get you, my friends, thinking about these things a little more, because I'd love to hear what you have to say about the subject.

My question to you guys is this:  If you had to built an ideal machine language (or even a library on an existing language) for translating declarative sentences from your spoken tongue, what would your syntax look like?  How would you use it to solve problems?