Eigenstate: myrddin-dev mailing list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Release 0.3: Stand Back, We're Proffesionals.


On Fri, Jun 29, 2018 at 10:43:04PM -0400, James Turner wrote:
> Congrats. I'll be getting the OpenBSD updated in snapshots asap!
> 

I had to run gmake bootstrap before gmake, otherwise I got the below
message. Is this expected? Should the from git instructions be updated?

could not find mbld: did you run "make bootstrap"?

> On Fri, Jun 29, 2018 at 07:33:40PM -0700, Ori Bernstein wrote:
> > To quote the website, minus the detailed descriptions that people have already
> > posted on this list:
> > 
> > Thanks to everyone for the help, bug reports, patches, and everything else!
> > 
> > Downloading
> > -----------
> > 
> > The release has been tagged with r0.3.0 in git. If you want a
> > tarball, you can get it from here:
> > 
> > - https://myrlang.org/releases/myrddin-0.3.0.tar.bz2
> > - https://myrlang.org/releases/myrddin-0.3.0.tar.gz
> > - https://myrlang.org/releases/myrddin-0.3.0.tar.xz
> > 
> > Major Highlights since 0.2
> > --------------------------
> > 
> > Lots of churn. The bulk of the code size increase has been adding
> > tests for many of our libraries.
> > 
> > 	$ git diff --stat r0.2.2..HEAD | tail -n 1
> > 	322 files changed, 34451 insertions(+), 3860 deletions(-)
> > 	$ git log r0.2.2..HEAD --pretty=oneline | wc -l
> > 	359
> > 
> > - The 'in' token has been removed fully. Now, `for elt in seq` is invalid
> >   syntax: it must be written as `for elt : seq`. This frees up a useful
> >   variable name.
> > - A `default.nix` has been added for building on systems.
> > - Many language bugs have been fixed, including trait issues, thanks to
> >   lgv.
> > 	- Traits should work far more reliably.
> > 	- We should be more agressive about flagging uses of uninitialized
> > 	  variables.
> > 	- Linking against C works on OpenBSD
> > - Several language features have been added
> > 	- Enums should be slightly cheaper (thanks, mpu)
> > 	- Auto declarations are now supported.
> > 	- You can use `==` on enum style unions
> > - Many library bugs have been fixed, covering everything from
> >   the memory allocator, through to dealing with packet loss correctly
> >   in the DNS resolver.
> > - Mbld is a bit smarter in several ways.
> > 	- It knows when the compiler or libraries changed, so it will now
> > 	  rebuild your myrddin install changes. This prevents some mysterious
> > 	  build failures around mismatched library versions.
> > 	- mbld now outputs to `obj/` instead of the current working directory,
> > 	  leading to cleaner builds.
> > 	- mbld knows how to run subsets of tests.
> > 	- Several new CPU type tags are set by default.
> > - Several new libraries have been added, most notably:
> > 	- [libmath](https://git.eigenstate.org/ori/mc.git/tree/lib/math),
> > 	  which implements several floating point functions of interest
> > 	  from scratch.
> > 	- [libflate](https://git.eigenstate.org/ori/mc.git/tree/lib/flate),
> > 	  which implements gzip compression/decompression.
> > - Several  existing ones have been significantly improved.
> > 	- Libthread is now usable on OSX, thanks to the work of iriri. It also
> > 	  now uses futexes on OpenBSD, significantly improving its performance
> > 	  and behavior.
> > 	- Several threading bugs have been fixed in libstd, largely focused
> > 	  around forking and execing in a threaded program.
> > 	- Pledge has been added to libstd. It's invokes pledge on OpenBSD,
> > 	  and is a no-op on deficient platforms.
> > 	- Constant time RSA has been implemented in libcrypto, following the lead of
> > 	  BearSSL
> > 	- AES GCM mode is now implemented in libcrypto.
> > 	- SHA HMAC functions are now implemented in libcrypto.
> > 	- Libbio now has a vtable, and therefore can be used to buffer any
> > 	  stream of data.
> > - Others have been less significantly improved.
> > 	- Integers can be printed in any base.
> > 	- std.put now will allow printing arbitrary binary data, instead of
> > 	  just unicode.
> > 	- Libstd now counts graphemes instead of simply counting codepoints
> > 	  when outputting text.
> > 	- Libtermdraw also counts graphemes instead of codepoints.
> > 	- Regex has been sped up by several times.
> > 	- libfileutil has had several API signatures changed, and now
> > 	  has code to remove file trees recursively.
> > - IPv6 is now fully supported.
> > - The size of generated binaries is now smaller, thanks to enabling
> >   `--gc-sections` by default on platforms that support it.
> > - Dependent system tags can now be defined.
> > - Several new APIs have been added, including:
> > - Support for OpenBSD 6.3 (from 0.2.2)
> > 
> > Breaking changes
> > ----------------
> > 
> > - Auto variables have been removed in favor of the auto operator.
> > - Trait syntax has been changed, in order to reduce repetition and allow for
> >   auxiliary types to be attached to traits.
> > - The earlier `for, in` change.
> > - libbio now returns `std.result(@t, bio.err)` instead of a custom
> >   `bio.status(@t)` type.
> > - Hash tables now use traits instead of callbacks, meaning that all
> >   hash tables using `std.mkht(hashfn, cmpfn)` need to be replaced
> >   with `std.mkht()`. The types should be inferred appropriately in
> >   most cases.
> > - The various equality checking functions have been removed in favor
> >   of trait overloading `std.eq`.
> > - Several iterators have been moved out of libstd and into libiter
> > 
> > 
> > -- 
> >     Ori Bernstein
> > 
> 
> -- 
> James Turner
> 

-- 
James Turner

Follow-Ups:
Re: Release 0.3: Stand Back, We're Proffesionals.Ori Bernstein <ori@xxxxxxxxxxxxxx>
References:
Release 0.3: Stand Back, We're Proffesionals.Ori Bernstein <ori@xxxxxxxxxxxxxx>
Re: Release 0.3: Stand Back, We're Proffesionals.James Turner <james@xxxxxxxxxxxxxxx>