This week in Julia: October 18
Major breaking changes
- As anticipated from last week’s integer arithmetic change, the usage of
itrunc
to truncate integers into a specific type has been removed. Since this is intrinsically a modular arithmetic calculation,rem
is now the way to do this, with the idiomatic syntax being1234 % Uint8 == 0xd2
. (#8648)
New proposals
Several new proposals (juleps) were submitted this week.
- Given that
convert
is one of the most heavily used functions in Julia, a renewed conversation about usingx as Foo
as sugar forconvert(Foo, x)::Foo
was started in #8710. - @StefanKarpinski put together a coherent story for how APL-style indexing and lazy transpose behaviors could be combined to solve some of the current inconsistencies (like the double-transpose of a vector not being a vector, and vector dot products being one-element arrays). #4774
0.4 project updates
- @JeffBezanson managed to get the call-overload branch passing tests! A few questions remain before it can get merged, though. #8712.
- And a postscript from last week: an intrepid group has managed to successfully build julia with MSVC. I missed including it last week, but I think it’s worthy of a note. See #7761 for details.
Package ecosystem
- A new compatibility package, Compat.jl, was created to help package authors transition to the new syntaxes in 0.4. See the users list announcement for more details.
- A new package, GeometricalPredicates.jl, provides fast, robust 2D and 3D geometrical predicates on generic point types. See the announcement on the julia-users mailing list for more details for more details and some snazzy images: