views:

142

answers:

3

I'm designing a programming language, purely for fun, and want to add as many experimental features as I can, just to make programming in it something completely different, and that not in a bad way like Brainf*ck or Malbolge.

However, I seem to be quite bad at coming up with new things for it but I'm sure that there are tons of things out there that have been talked about but never really tried out.

  • What experimental language features or concepts not implemented in mainstream languages are there at the moment?

E.g: If I asked this in, let's say, 1960, an answer could be "Object-oriented programming".

I'm sure that there are a lot of unimplemented ideas computer-scientists have (recently) come up with, at least I was told so.

+1  A: 

DWIMNWIS (Do What I Mean, Not What I say).

More seriously, an absolutely great feature (that'd be very-hard-to-impossible to implement) would be the ability for a language's program to be provable not to contain concurrency issues.

As far as MUST-HAVE features I'd say lambdas and First-class functions. Not exactly new or theoretical (how old is Lisp this year) but powerful and missing from many languages.

DVK
They've already done that, in COBOL I think, was it? Oh.. nevermind
Gary Rake
These days there aren't many languages anymore that don't have lambdas and higher order functions.
sepp2k
+1 for DWIMNWIS
seanizer
+3  A: 

One current area of research are dependent types. There's still a lot of things you can do with those, that hasn't been done yet.

sepp2k
A: 

read ACM and IEEE publications for research ideas

Steven A. Lowe