600 reputation
1826
bio website
location
age
visits member for 2 years, 4 months
seen Sep 21 at 7:47

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.

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
}

Sep
24
awarded  Autobiographer
Sep
19
awarded  Popular Question
Jul
2
awarded  Curious
Jun
17
awarded  Yearling
Jun
10
awarded  Famous Question
May
21
awarded  Popular Question
Mar
24
awarded  Popular Question
Mar
24
awarded  Notable Question
Mar
13
awarded  Notable Question
Jan
16
awarded  Notable Question
Nov
4
awarded  Popular Question
Nov
4
awarded  Notable Question
Aug
31
accepted Is it really possible to run Linux applications within Windows using Wubi?
Aug
31
awarded  Popular Question
Aug
30
accepted Set time limits for specific applications (such as games)
Aug
17
comment How can you transfer wireless settings from Windows to Ubuntu?
That won't be easy if you need to save of lots of different network passwords for lots of different locations. Typing in 10 different network passwords manually is tedious - I still hope there's a better solution than this.
Jul
25
awarded  Popular Question
Jun
17
comment How to disable IPv6 permanently?
Why do you want to disable IPv6 permanently?
Jun
17
awarded  Yearling
Jun
15
asked How can I keep track of changes to files by specific programs?