Related articles |
---|
language evaluation metrics? kcooper@cs.ubc.ca (1998-11-19) |
Re: language evaluation metrics? jk@icok.net (Jimmy Kerl) (1998-11-21) |
Re: language evaluation metrics? kcooper@cs.ubc.ca (1998-11-21) |
Re: language evaluation metrics? dwight@pentasoft.com (1998-11-24) |
Re: language evaluation metrics? cef@geodesic.com (Charles Fiterman) (1998-11-24) |
From: | Charles Fiterman <cef@geodesic.com> |
Newsgroups: | comp.compilers,comp.lang.misc |
Date: | 24 Nov 1998 22:26:08 -0500 |
Organization: | Geodesic Systems |
References: | 98-11-098 98-11-110 |
Keywords: | design |
Kendra Cooper wrote:
> I'm actually working on a requirements specification language....
>
> But when people develop new languages, how do they know they have
> "everything" in the language? (programming language or other)?
First the power of a language comes from what it can't do not what it
can. The power of pure functional languages comes from the absence of
side effects. The power of Java is that you can't escape the type
system and write a virus.
Languages need to start small and be expandable. To make them fully
expandable I propose using the following string notation.
Strings are marked two ways [] . Strings become something else only
when some language construct says so.
if x < y
print
hi sailor
want a date
The material under the print is simply a string. The matereal under
the if starts a string but context causes it to be cast to code. If x
>= y at compile time the string under the if is discarded at compile
time.
The sample statement is lexically equivalent to
if x < y [print [hi sailor\nwant a date\n]\n]
except for line number annotation.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.