github.com/xiaq/elvish@v0.12.0/website/src/blog/newsletter-july-2017.md (about) 1 Welcome to the first issue of Elvish Newsletter! 2 3 Elvish is a shell that seeks to combine a full-fledged programming language 4 with a friendly user interface. This newsletter is a summary of its progress 5 and future plans. 6 7 8 # Status Updates 9 10 * 18 pull requests to the [main repo](https://github.com/elves/elvish) have 11 been merged in the past four weeks. Among them 13 were made by @xofyargs, 12 and the rest by @myfreeweb, @jiujieti, @HeavyHorst, @silvasur and @ALSchwalm. 13 The [website repo](https://github.com/elves/elvish.io) has also 14 merged 3 pull reqeusts from @bengesoff, @zhsj and @silvasur. Many kudos! 15 16 * The [website](https://elvish.io) was [officially 17 live](/blog/live.html) on 3 July. Although the initial 18 [submission](https://news.ycombinator.com/item?id=14691639) to HN was a 19 failure, Elvish gained 20 [quite](https://www.reddit.com/r/programming/comments/6l38nd/elvish_friendly_and_expressive_shell/) 21 [some](https://www.reddit.com/r/golang/comments/6l3aev/elvish_friendly_and_expressive_shell_written_in_go/) 22 [popularity](https://www.reddit.com/r/linux/comments/6l6wcs/elvish_friendly_and_expressive_shell_now_ready/) 23 on Reddit, and [another](https://news.ycombinator.com/item?id=14698187) HN 24 submission made to the homepage. These, among others, have brought 40k 25 unique visitors to the website, totalling 340k HTTP requests. Thank you 26 Internet :) 27 28 * A lot of discussions have happened over the IM channels and the issue 29 tracker, and it has become necessary to better document the current status 30 of Elvish and organize the development effort, and this newsletter is 31 part of the response. 32 33 There is no fixed schedule yet, but the current plan is to publish 34 newsletters roughly every month. Preview releases of Elvish, which used to 35 happen quite arbitrarily, will also be done to coincide with the publication 36 of newsletters. 37 38 * There are now IM channels for developers, see below for details. 39 40 41 # Short-Term and Mid-Term Plans 42 43 The next preview release will be 0.10, and there is now a 44 [milestone](https://github.com/elves/elvish/milestone/2) for it, a list of 45 issues considered vital for the release. If you would like to contribute, you 46 are more than welcome to pick an issue from that list, although you are also 47 more than welcome to pick just any issue. 48 49 Aside from the short-term goal of releasing 0.10, here are the current mid-term 50 focus areas of Elvish development: 51 52 * Stabilizing the language core. 53 54 The core of Elvish is still pretty immature, and it is definitely not as 55 usable as any other dynamic language, say Python or Clojure. Among others, 56 the 0.10 milestone now plans changes to the implementation of maps 57 ([#414](https://github.com/elves/elvish/issues/414)), a new semantics of 58 element assignment ([#422](https://github.com/elves/elvish/issues/422)) 59 and enhanced syntax for function definition 60 ([#82](https://github.com/elves/elvish/issues/82) and 61 [#397](https://github.com/elves/elvish/issues/397)). You probably wouldn't 62 expect such fundamental changes in a mature language :) 63 64 A stable language core is a prerequisite for a 1.0 release. Elvish 1.x 65 will maintain backwards compatibility with code written for earlier 1.x 66 versions. 67 68 * Enhance usability of the user interface, and provide basic 69 programmability. 70 71 The goal is to build a fully programmable user interface, and there are a 72 lot to be done. Among others, the 0.10 milestone plans to support 73 manipulating the cursor 74 ([#415](https://github.com/elves/elvish/issues/415)) programmatically, 75 scrolling of previews in navigation mode previews 76 ([#381](https://github.com/elves/elvish/issues/381)), and invoking 77 external editors for editing code 78 ([#393](https://github.com/elves/elvish/issues/393)). 79 80 The user interface is important for two reasons. Enhancements to the UI 81 can improve the power of Elvish directly and significantly; its API is also 82 a very good place for testing the language. By developing the language and 83 the user interface in parallel, we can make sure that they work well 84 together. 85 86 Like many other open source projects, you are welcome to discuss and challenge 87 the current plan, or come up with your ideas regarding the design and 88 implementation. 89 90 (So what's the long-term goal of Elvish? The long-term goal is to remove the 91 "seeks to" part from the introduction of Elvish at the beginning of the post.) 92 93 94 # Development IM Channels 95 96 To better coordinate development, there are now IM channels for Elvish 97 development: 98 [#elvish-dev](http://webchat.freenode.net/?channels=elvish-dev) on freenode, 99 [elves/elvish-dev](https://gitter.im/elves/elvish-dev) on Gitter and 100 [@elvish_dev](https://telegram.me/elvish_dev) on Telegram. These channels are 101 all connected together thanks to [fishroom](https://github.com/tuna/fishroom). 102 103 For general questions, you are welcome in 104 [#elvish](https://webchat.freenode.net/?channels=elvish) on Freenode, 105 [elves/elvish-public](https://gitter.im/elves/elvish-public) on Gitter, or 106 [@elvish](https://telegram.me/elvish) on Telegram. 107 108 109 # Conclusion 110 111 This concludes this first issue of the newsletter. Hopefully future issues of 112 this newsletter will also feature blog posts from Elvish users like *Elvish for 113 Python Users* and popular Elvish modules like *Tetris in Your Shell* :) 114 115 Have Fun with Elvish! 116 117 \- xiaq