799 reputation
523
bio website
location
age
visits member for 2 years, 3 months
seen Aug 15 at 3:24

I'm the author of a natural language programming tool called EngScript, which automatically translates English sentences into Python source code.

For reference, I've posted a link to questions with tags that I'm interested in.

Right now, I'm searching for a parser that can handle ambiguous grammars.

In theory, it would be possible to represent JavaScript code using Polish notation:

def sum , foo , bar baz {
    ; var theSum + foo + bar baz
    ; = return theSum
}

for var i 0 < i 10 ++ i {
    ; print sum 5 5
}

foreach current [ , 1 , 2 3 ] {
    ; print current
}

In theory, it would also be possible to create a very concise programming language with implicitly defined parameters:

isDivisibleBy: (foo % bar) == 0
//This is a function with 2 parameters: foo and bar.

isEven: isDivisibleBy(foo, 2)

isOdd: !isEven(param1)

firstCharacter: theString[0]

lastCharacter: theString[theString.length - 1]

firstNCharacters: theString[0:end]

firstCharacterIsLastCharacter: firstCharacter(stringParameter) == lastCharacter(stringParameter)

printEach: for current in anArray{ print current }

http://rosettacode.org/ is one of the most comprehensive programming language references I've ever found.

Optionally-typed programming languages are really awesome: they combine the type safety of languages like Java with the conciseness of languages like Python.

Some cool things that I've made:

Someday, I hope it will be possible to create a programming language that mixes code from different languages into a single file, like this:

Python {
    def foo():
        return "foo"
}
Ruby {
    def bar
        return foo + " was called from Python."
    end
}

799 Reputation

5 May 15
5 May 7
5 Apr 9
5 Apr 4
5 Apr 1
5 Mar 31
5 Feb 18
5 Jan 7
5 Dec 25 '13
10 Dec 24 '13
5 Dec 19 '13
5 Dec 3 '13
5 Dec 2 '13
5 Dec 1 '13
-5 Nov 10 '13
5 Oct 22 '13
15 Sep 19 '13
5 Sep 1 '13
10 Aug 19 '13
5 Jul 25 '13
5 Jul 18 '13
5 Jun 12 '13
5 May 22 '13
-2 May 17 '13
2 May 5 '13
5 Apr 25 '13
5 Apr 24 '13
5 Apr 8 '13
2 Apr 3 '13
20 Apr 1 '13