I'm the author of a natural language programming system called EngScript.

Some of my favorite software projects are:

I have written some useful macros in sweet.js:

//for repeating if statements
macro ifs{
    rule{
        {$($x {$y...}) ...}
    } => {

        $(if($x){
            $y...
        }) ...
    }
}

//a concise way to define several different functions
macro manyFuncs{
    rule{{$($x ($y...) {$z...}) ...}
    } => {
        $(function $x($y...){
            $z...
        }) ...
    }
}

ifs {
    a{
        b
    }
    c{
        d
    }
}

manyFuncs{
    fullName(firstName, lastName) {
        return firstName + lastName;
    }
    squared(a){
        return a*a;
    }
}

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

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
}
1d
comment "The username or password is incorrect." without entering login details
Surprisingly, I now have this problem on Windows 10. I hope this issue will be fixed eventually.
Aug
25
awarded Supporter
Aug
25
comment Is Autism a duplicate of Parenting?
An 'autism' tag already exists on cogsci.stackexchange.com.
Aug
25
comment Is there a search engine that support regular expression search?
Google Search is able to find matches of some simple regular expressions. See this answer for an example of regular expression searching.
Aug
25
comment Is there a way to search in Google using regular expressions (regex)?
This answer is now somewhat outdated: see this answer for example of Google regular expression searches.
Aug
25
answered Is there a way to search in Google using regular expressions (regex)?
Aug
23
comment Is there a text-to-speech software that accepts IPA-based phonetic transcription?
This question is closed now, so I hope it will eventually be migrated to softwarerecs.stackexchange.com.
Aug
22
comment Is there a Marpa port for Node.js or other Earley parser with full abstract syntax forest support?
Also, it might be possible to automatically translate Marpa's source code into JavaScript using Perlito. I haven't yet tested this solution, though.
Aug
22
comment Is there a Marpa port for Node.js or other Earley parser with full abstract syntax forest support?
The Nearley parser for node.js looks very promising, since it is able to generate an array of multiple parsings for ambiguous grammars. I'm not sure if it will produce an entire parse forest in all cases, though.
Aug
22
awarded Commentator
Aug
16
comment How do I start writing a transpiler? Is it even possible?
This topic was undeleted, fortunately. :)
Aug
13
awarded Notable Question
Aug
13
awarded Good Question
Jul
31
answered Voice notifications for Google Calendar on Windows
Jul
24
comment Sharing data across multiple windows in javascript (client-side)
The first link in this answer appears to be broken. Is an up-to-date link available?
Jul
23
awarded Popular Question
Jul
18
awarded Popular Question
Jul
14
awarded Nice Question
Jul
10
revised Convert javascript code to c code
an alternative solution using Lua
Jul
9
revised Convert javascript code to c code
added 5 characters in body
1 2 3 4 5