1. you can define keywords, operators, grammar rules, general concepts endorsed by the language, etc.
2. do your worst
3. we are starting from the ground up, so it is prohibited to import complete keyword sets from an existing language (no OK, ALL JAVA KEYWORDS, THREAD OVER, HURRRRRRRRRR)
4. and we need a name for this language as well
Name:
Anonymous2012-01-20 13:26
Python
class FORCED_INDENTATION_OF_CODE:
def __init__(self):
print "Look mom, a procedure without parenthesis!"
Name:
Anonymous2012-01-20 13:43
( main ) = ( do ( "HELLO" ) ).
( var ( $HI = "Hello, world!" ) ).
( if ( $HI ) ) ( do ( "PRINT" ) ).
( "%d".printf( $HI.to_s ) ).
( end ( "PRINT" ).
( return 0 ).
( end ( "HELLO ) ).
that was kind of fun
Name:
Anonymous2012-01-20 13:51
A combination of COBOL and SQL with higher-order functions. Each statement is a function and has its own syntax and set of clauses. Keywords are reserved in some statements but can be used as variable or function names in others. Some keywords are synonyms but have slightly different syntax to match English grammar. User-defined functions can also have their own clause types. The documentation only shows basic uses of the statements, never the full variants. The only error messages are "TOO MUCH ON MY MIND." (out of memory), "I THINK I CAUGHT A BUG." (unhandled exception or signal) and "SORRY, I DON'T UNDERSTAND." (any compile-time error).
LET DOUBLE OF X BE MULTIPLY OF X AND Y GIVEN Y EQUALS 2.
COMPUTE DOUBLE OF 10 GIVING V.
WRITE OUT V LEFT ALIGNED NO PADDING.
.----------------------.
V | (1) (2)
>----+------------------+-+------------------------------------><
+-update-clause----+
+-read-only-clause-+
+-optimize-clause--+
'-isolation-clause-'
where order-by-clause is:
.-,------------------------------.
V .-ASC--. | >>-ORDER BY----+-sort-key--+------+---------+-+----------------><
| '-DESC-' |
'-ORDER OF--table-designator-'
Ducks.
Ducks are TOURING-COMPLETE, they can swim across a (theoretically) infinite river in either direction, at each step they can catch a fish, take a dump, or quack.
Name:
Anonymous2012-01-21 2:03
scheme, but every identifier and number and string must be represented as a balanced nesting of parenthesis.
Take the C language and make assignment statements create Prolog-style choicepoints of execution when the variable was assigned and when it wasn't assigned, perform backtracking on segfault.
Name:
Anonymous2012-01-21 19:41
It should have the :: and := operators, and $ to say that the thing is a variable. Now it's unusable.
Kinda like COBOL except the keywords are the tokens of this phrase: reminds me of my friend she's about to die cause she has cancer and her favorite character on touhou was letty white ^_^ let's hope she'll live
Just write a random grammar+semantics generator. Bound to be painful to use. Limit actual functionality as much as possible, enough to be Turing-complete (comes very cheap, can do everything), and add a lot of functionality that do overcomplicated one-off things nobody needs or wants or will ever use, bonus points if you only make the parts that make the language Turing-complete into such functionality (such as jumps and conditional jumps). Make recursion as broken as possible to make the language nearly unusable, but not broken sufficiently. Optional high-level or functional constructs which nevertheless are hopelessly unususble due to artificial restrictions as to their use (not creative enough? Think FIOC!).
Obviously this is all an utter waste of time. A good Lisper or just any computer scientist knows that you can just take any language, no matter how bad and as long as it's Turing-complete(hard not to get this, unless you start adding some very arbitrary restrictions), you can just make a compiler from your favorite language to this "new" language and just use whatever you want to write your code in without being forced to suffer...