[gambit-list] Gerbil v0.7

Dimitris Vyzovitis vyzo at hackzen.org
Thu May 11 12:51:41 EDT 2017


A couple of notable facts about this release:
- gxi startup time was cut by 40% with the optimizer!
- there is content in the Gerbil wiki now to help get you started:
  https://github.com/vyzo/gerbil/wiki

-- vyzo

On Thu, May 11, 2017 at 6:57 PM, Dimitris Vyzovitis <vyzo at hackzen.org>
wrote:

> Hi all,
>
> Another week, another hacking spree and the gerbil compiler now has
> an optimizer.
> Currently it optimizes opt-lambda/case-lambda dispatch and inlines all
> struct operations for statically known structs, including struct
> direct constructor dispatch. All optimizations are applied across
> module boundaries.
>
> For sources and downloads:
> https://github.com/vyzo/gerbil
> https://github.com/vyzo/gerbil/releases
>
> Detailed changes since Gerbil v0.6:
> - compiler: modularize and implement optimizer pass
>   - optimizations:
>     - lift opt lambdas and case-lambdas and optimize direct call dispatch
>     - recognize struct MOP definitions and inline direct struct operations
>     - cross module optimization with concurrent compilation and ssxi
> module generation
>     - ssxi prelude for writing type declarations for the optimizer
>   - gxc:
>     - add -O and -no-ssxi options for optimization
>     - add -cc-options and -ld-options for gsc compilation flags
>     - add -h option for printing usage
> - runtime:
>   - new MOP functions: class-subtype? next-method call-next-method
> - stdlib
>   - std/text/zlib
>     - support transparent gzip/deflate decompression
>     - support gz compression
>     - support compression and decompression of input ports
>   - std/net/request
>     - accept gzip/deflate encoding with transparent content decompression
>   - std/iter
>     - accept when and unless filters in for and it's variants
>     - optimize iter transforms to use a direct iterator instead of a
> coroutine
>     - make coroutine and input-port iter-value idempotent between
> iter-next calls
>   - std/srfi/9
>     - generate record constructor that is recognized by the optimizer
>     - use interned symbols for module scoped records, as in defstruct
>   - std/misc/queue and std/test
>     - fix accessor bugs caught by the optimizer
>
> -- vyzo
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20170511/e09a1b4e/attachment.htm>


More information about the Gambit-list mailing list