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