1,229 reputation
61541
bio website
location
age
visits member for 3 years, 6 months
seen Dec 21 at 18:30

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
}

Feb
10
awarded  Popular Question
Feb
5
comment How to protect the keyboard from your cat
I use a laptop computer most of the time, and I keep it closed whenever I'm not using it. :)
Feb
1
revised Cross Platform shortcuts
added 207 characters in body
Feb
1
answered Cross Platform shortcuts
Jan
29
awarded  Self-Learner
Jan
28
comment Organizing files on my computer into Mediawiki-style categories
What I need to find is a document management system that allows files to be sorted into categories, like MediaWiki categories. en.wikipedia.org/wiki/Document_management_system
Jan
26
awarded  Notable Question
Jan
23
comment Why do I need restart computer after installing new software?
In particular, which changes cannot come into effect when the computer is in use?
Jan
19
comment Symlink to a URL
@NotMe If you just want to create a cross-platform internet shortcut (using an HTML page that automatically redirects to another page), then see here: superuser.com/questions/538089/…
Jan
18
comment File system format for both windows and linux use (besides fat32)
There are now several duplicates of this question, including this one: superuser.com/questions/45130/cross-platform-file-system
Jan
18
revised How to create cross-platform Internet shortcut files
added 1 characters in body
Jan
18
comment Cross Platform shortcuts
You can also create cross-platform internet "shortcuts" by creating HTML redirect pages. See here: superuser.com/a/538093/85129
Jan
18
answered How to create cross-platform Internet shortcut files
Jan
18
asked How to create cross-platform Internet shortcut files
Jan
17
comment Is it possible to synchronize an entire Windows 7 installation between multiple computers?
It might be possible to synchronize a virtual machine between two computers. I wonder if there is any better solution than this. stackoverflow.com/questions/5233982/…
Jan
17
asked Is it possible to synchronize an entire Windows 7 installation between multiple computers?
Jan
12
comment Do any Javascript IDEs support automatic error highlighting (like the Eclipse Java IDE)?
I found out that the error highlighter for Eclipse and Aptana can't point out the use of non-existent variables. I wonder if there are any other IDEs that can do this?
Jan
12
comment Do any Javascript IDEs support automatic error highlighting (like the Eclipse Java IDE)?
I found out that it's also possible to install Eclipse plugins from the command line: stackoverflow.com/questions/7163970/…
Jan
11
comment Do any Javascript IDEs support automatic error highlighting (like the Eclipse Java IDE)?
Also, how can the JavaScript development tools be installed in Eclipse?
Jan
11
comment Do any Javascript IDEs support automatic error highlighting (like the Eclipse Java IDE)?
Do any other JavaScript IDEs have this feature (besides Eclipse)?