<div dir="ltr"><div><div>A couple of notable facts about this release:<br>- gxi startup time was cut by 40% with the optimizer!<br></div>- there is content in the Gerbil wiki now to help get you started: <br>  <a href="https://github.com/vyzo/gerbil/wiki">https://github.com/vyzo/gerbil/wiki</a><br><br></div>-- vyzo<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 11, 2017 at 6:57 PM, Dimitris Vyzovitis <span dir="ltr"><<a href="mailto:vyzo@hackzen.org" target="_blank">vyzo@hackzen.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi all,<br><br>Another week, another hacking spree and the gerbil compiler now has<br>an optimizer.<br>Currently it optimizes opt-lambda/case-lambda dispatch and inlines all<br>struct operations for statically known structs, including struct<br>direct constructor dispatch. All optimizations are applied across<br>module boundaries.<br><br>For sources and downloads:<br><a href="https://github.com/vyzo/gerbil" target="_blank">https://github.com/vyzo/gerbil</a><br><a href="https://github.com/vyzo/gerbil/releases" target="_blank">https://github.com/vyzo/<wbr>gerbil/releases</a><br><br>Detailed changes since Gerbil v0.6:<br>- compiler: modularize and implement optimizer pass<br>  - optimizations:<br>    - lift opt lambdas and case-lambdas and optimize direct call dispatch<br>    - recognize struct MOP definitions and inline direct struct operations<br>    - cross module optimization with concurrent compilation and ssxi module generation<br>    - ssxi prelude for writing type declarations for the optimizer<br>  - gxc:<br>    - add -O and -no-ssxi options for optimization<br>    - add -cc-options and -ld-options for gsc compilation flags<br>    - add -h option for printing usage<br>- runtime:<br>  - new MOP functions: class-subtype? next-method call-next-method<br>- stdlib<br>  - std/text/zlib<br>    - support transparent gzip/deflate decompression<br>    - support gz compression<br>    - support compression and decompression of input ports<br>  - std/net/request<br>    - accept gzip/deflate encoding with transparent content decompression<br>  - std/iter<br>    - accept when and unless filters in for and it's variants<br>    - optimize iter transforms to use a direct iterator instead of a coroutine<br>    - make coroutine and input-port iter-value idempotent between iter-next calls<br>  - std/srfi/9<br>    - generate record constructor that is recognized by the optimizer<br>    - use interned symbols for module scoped records, as in defstruct<br>  - std/misc/queue and std/test<br>    - fix accessor bugs caught by the optimizer<br><br></div>-- vyzo<br><br></div>
</blockquote></div><br></div>