We had our first meeting, a ghost dev meetup yesterday. In it we decided to put some high level plan of what we may achieve in GNU Ghost. This blog also tells from a galaxy view of what we might achieve in this project.
First Giant Leap
We feel that our first giant leap would be when we can do this. Look at a Python snippet below, its a syntactically right snippet and would pass the the python interpreter, but as a human we can say that "abc"
in the below snippet is bit odd.
numbers = [1, 2, "abc"]
Let’s say that we pass the above snippet to GNU Ghost, we might produce some output like this:
numbers = [1, 2, <GNUGhost id="qwert">"abc"</GNUGhost>]
----------
{
qwert:{
type: "Suggestion",
mssage: "shouldn't it be a number?"
}
}
Here the Ghost like a human detects that there is something wrong with "abc"
and tells (possibly the IDE plugin) that it can suggest user such a message.
Now take another python snippet as shown below. We have numbers = [1, 2, 3]
, which is okay, then the user types numbers_doubled =
numbers = [1, 2, 3]
numbers_doubled =
What if we have a such a good IDE plugin that comes up with a autocomplete like this numbers_doubled = [number * 2 for number in numbers]
, won’t it reduce your typing? Possibly the above code sniped when passed to GNU Ghost might give an output like this:
numbers = [1, 2, 3]
numbers_doubled = <GNUGhost id="asdfg"></GNUGhost>
----------
{
asdfg:{
type: "Autocomplete",
mssage: "[number * 2 for number in numbers]"
}
}
How we might ship?
We are not sill sure how we might ship GNU Ghost. May be we might develop ghosts for Julia, Python, R, etc, bundle it in one package called Ghost binary and ship it to people. We don’t know what the size and RAM consumption would be. Because of modern hardware we don’t mind even if it costs 1GB download and occupies RAM of nearly a GB.
There might be a Ghost Engine that interacts with the IDE, consults necessary ghost for autocompletion and suggestions. We also have the idea of making Ghost learn from your programming habits etc so that by time it will be your greatest friend.
Ghost Bar
“A ghost walks into a bar. The bartender says, ‘We don’t serve spirits!’”
For the front end, we might have a ghost bar in the IDE which might visually talk to the developer offering tips and so on. In the above image you can see a concept of ghost bar where the ghost recommends an autocompletion.
Wish us all the best
We are bunch of guys who have ventured into darkness so that we can bring out light for our beloved programming community. Wish us luck and if you want to join us or help us, please reach us at gnughost@protonmail.com.