1,324 reputation
71544
bio website
location
age
visits member for 3 years, 9 months
seen 20 hours ago

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
14
comment My Google Chrome extensions have all stopped working
It's also possible that it happened because I enabled some experimental settings under about:flags.
Feb
14
comment My Google Chrome extensions have all stopped working
@Enigma All of my Chrome extensions are working again, and now I don't know why they stopped working in the first place. However, I have sometimes encountered this problem after enabling experimental settings in about:flags. Try reinstalling Chrome if this happens to be the case.
Feb
10
comment Is it possible to set Google Docs as the default text editor on Windows?
It looks like it might be possible to open local documents using Google Docs. Actually, there's a program called GDocsOpen that does exactly that. :)
Feb
10
asked Is it possible to set Google Docs as the default text editor on Windows?
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?