Better tools for thought
You can now share and load Eve programs with a link. There are two new icons in the editor at the top of the navigation pane: "Save to Gist" on the left, and "Load from Gist".
Clicking the "Save to Gist" button will upload your Eve program to a new Gist and provide you with a link to it:
You can copy this link and send it to a friend, who can then load your program using the "Load from Gist" button. Clicking this button will reveal an input box, into which you can paste Gist links:
When you load a Gist, you get a local copy of the linked Eve program. Any edits to this program will be made locally, and saved in your project workspace.
A nice feature here is that you can share Eve programs with friends new to Eve using play.witheve.com. Save your Eve program to Gist as normal, then load it at play.witheve.com. Now copy the address, and send it to anyone! Anyone with the link can load your program and run it in the browser, without any setup.
Note, that saving to Gist saves a snapshot of you code at the time the link is generated. If you update your code, you'll need to generate a new link to reflect the changes.
With a big thanks to the work of dwsmorris, you can embed CSS blocks into Eve documents. In the editor, you can create CSS blocks with the WYSIWYG toolbar:
fix[]
function (thanks @Cormac-Williams!)join[]
aggregatesort.test()
not correctly looking up results - [647]fullScan()
- [611]fix[]
function - [665]join[]
aggregate - [639]gaussian[]
- [641]join[]
documentation - [48]blocks
documentation - [34]sum[]
documentation - [39][688] [676] [686] [683] [662] [659] [654] [630] [637] [628] [626] [625] [56] [50] [47] [41] [40] [43] [37]
We published a package for Eve on npm, so you can now install Eve like so:
npm install -g witheve
This will give you a global Eve installation that you can invoke with the command eve
from anywhere. Doing so will start an Eve server, in the same way npm start
currently does. (Note: be sure to install witheve
, as installing eve
will give you a different package)
We're introducing the ability to run Eve in a custom project workspace. To create a new Eve project workspace, create a folder with an empty file named package.json
then start Eve from within this folder. Eve recognizes that it's starting in an Eve project, and will serve *.eve files from within this directory instead of the Eve examples folder. Furthermore, you can serve various assets, like images or CSS, by placing them in an "assets" sub-folder.
Now, Eve can be started in server mode using the --server
flag:
eve --server
Without this flag, execution of Eve programs happens within the browser, with the Eve server acting as an intermediary between the browser and your local system. In server mode, Eve will instead execute your program on the server. Currently written programs will operate exactly as before, but this is a preliminary step in order to get networked Eve applications going (like a chat server or a multiplayer game). There is still work needed to be done there (currently in review), so stay tuned for more!
This is one of the most requested features to date, so we're happy to bring it to you! You can now run Eve applications without the editor, which should pave the way to deploying them on your own server. You can specify which Eve program you want to run after the Eve command:
eve ~/myEveDir/myEveFile.eve
Now you can navigate to Eve in your browser to access the specified program. If you like, you can also recover the editor with a flag:
eve ~/myEveDir/myEveFile.eve --editor
This will run the supplied Eve program with the editor visible.
The standard library still needs a lot of work, but thanks to our intrepid community we made some great progress on adding basic functionality.
urlencode[]
(thanks @renegr!)match
- [14]hour-24
to #time
- [20]@name
- [21]split
- [23]sort
- [27][594] [485] [543] [567] [494] [488] [578] [615] [8] [11] [13] [16] [17] [19]
Eve is a set of tools to help us think. Currently, these tools include: a temporal query language, a compiler, and a database.
You'll need a recent node.js and then:
npm install
npm start
Then open http://localhost:8080/
in your browser.
You can learn about Eve with the following resources:
Please let us know what kind of documents would be the most helpful as you begin your journey with Eve. We want our documentation to be a highlight of the Eve experience, so any suggestions are greatly appreciated.
The Eve community is small but constantly growing, and everyone is welcome!
The best way to contribute right now is to write Eve code and report your experiences. Let us know what kind of programs you’re trying to write, what barriers your are facing in writing code (both mental and technological), and any errors you encounter along the way. Also, let us know what you love! What features are your favorite?
Another way to really help us is to host your *.eve
files on Github, so we can get Eve recognized as an official language in the eyes of Github. Be sure to also send us a link to your repo!
Please file any issues in this repository. Before you file an issue, please take a look to see if the issue already exists. When you file an issue, please include:
Eve is licensed under the Apache 2.0 license, see LICENSE for details.
Eve is currently at a very early, "pre-alpha" stage of development. This means the language, tools, and docs are largely incomplete, but undergoing rapid and continuous development. If you encounter errors while using Eve, don't worry: it's likely our fault. Please bring the problem to our attention by filing an issue.
As always, with pre-release software, don’t use this for anything important. We are continuously pushing to this codebase, so you can expect very rapid changes. At this time, we’re not prepared make the commitment that our changes will not break your code, but we’ll do our best to update you on the biggest changes.