Ralph Mellor started an interesting discussion about the principles people have adopted for the design of their programming language. Recommended reading. And he initiated an at least equally interesting discussion on /r/ProgrammingLanguages about Jonathan Worthington‘s article titled: Racing to writeness to wrongness leads. As if there wasn’t already good stuff to read in this time of year!
Tis the Time of Year
Another batch of regular Advent posts:
- Testing your Times Tables by Ludo Tolhurst-Cleaver.
- Building a flexible grammar by Moray Jones.
- Web server from scratch with
Debianby Ramiro Encinas (Facebook comments).
- Designing a (little) Spacecraft by Alexander Kiryuhin.
- Building a (little) Spacecraft by Alexander Kiryuhin.
- Checking Your List Twice by Mark Swayne (Reddit comments).
- Compiling our way to happiness by Carl Mäsak.
And another batch of one-liner Advent posts by Andrew Shitov:
- Solving the Problem 34 of Project Euler
- What’s behind
0.1 + 0.2
- How many days in the century match the condition? (Reddit, Facebook comments)
- Another solution of yesterday’s problem (Reddit comments)
- Playing with Fibonacci numbers
- Distance between two points
- Playing with prime numbers (Reddit comments)
Improve Perl 6 Networking Support
Ben Davies has submitted a request for a grant to improve the networking support of Perl 6. Comments welcome!
last / LAST on whenever
A feature sometimes felt sorely missed: Timo Paulssen implemented the
last statement (and the
LAST phaser) on
whenever blocks. This now gives a more idiomatic way to get out of the implicit loop in a
Byte-oriented read/write methods
nqp:: functions that Stefan Seifert has implemented using Jonathan Worthington’s design from a few months ago, Elizabeth Mattijsen has implemented the associated functions in Perl 6:
blob8.read-int8/16/32/64/128 for reading signed integers,
blob8.read-uint8/16/32/64/128 for reading unsigned integers and
blob8.read-num32/64 for reading IEEE floating point values (full documentation).
And of course there are also counterparts for writing:
buf8.write-int8/16/32/64/128 for writing signed integers,
buf8.write-uint8/16/32/64/128 for writing unsigned integers, and
buf8.write-num32/64 for writing IEEE floating point values (full documentation).
All of these methods take a byte offset as the first parameter, and an optional endianness parameter for the last parameter. To indicate endianness, the
Endian enum has been created: it has three possible values:
NativeEndian (the endianness of the system Perl 6 is running on),
BigEndian. The default for the last parameter is
write-... methods take a second parameter as the value to set.
Other Core Developments
- Ticket status of past week.
- Ben Davies had his Pull Request implementing native descriptor access on sockets finally merged.
- Stefan Seifert fixed several issues related to writing binary data on big-endian systems, which affected pre-compilation on those systems.
- Jonathan Worthington has been very busy: he fixed some issues related to garbage collection and JITting and made failure to join a thread no longer a panic, but a normal exception. And he fixed a pesky issue that caused memory corruption if a type was being augmented with an additional attribute. And fixed a memory leak for long running processes such as with
cro. And he improved the performance of simple regular expressions.
- Nick Logan fixed an issue with
$*EXECUTABLEif Rakudo was invoked with a relative path.
- And many more smaller fixes and improvements.
Questions about Perl 6
- Accessing resources of a dynamically loaded module by Vadim Belman.
CompUnit :forceflag doesn’t seem to work by Richard Hainsworth.
- Updating a program in a
CompUnit::PrecompilationStore? by Richard Hainsworth.
.sort()doesn’t use overridden
- Catching up with
requirefor a metamodel class by Vadim Belman.
- Constraining multis and their use for selecting them by JJ Merelo.
- How does a triangular reduction on the comma operator know to make a list of all lists? by Sean.
- Can’t precompile when using some external module by JJ Merelo.
- Writable multidimensional subscript access with
- Fetch the content of url gets stuck when using
- Obtaining the
QASTof a Perl 6 file from another program by JJ Merelo.
Meanwhile on Twitter
- RunningRedis? by Jonathan Stowe.
- Documentation like Elixir by ryn1x.
- Excellent by りひにー.
- Proud! by Ludo Tolhurst-Cleaver.
- Starting by めしてろぼっと.
- Okinawa by magniolak.
- Thousands by The Perl Shop.
- Number of words by Fernando Correa de Oliveira.
- January 2017 by 幽夢.
- *K -> 44K by Joelle Maslak.
- Never got around by Tamara Roberson.
- All four happy by Ashe.
- IPV6 or Perl 6 first? by ホタペン.
- Seem to be different by take2.
- What it felt like by Carl Mäsak.
- Looks like a… by ryn1x.
- POD6 by JJ Merelo.
- Almost all new work in Perl 6 by Daddy December.
- Redis working again by Jonathan Stowe.
- Debut by 日暮・月乃.
- Arrive by Christmas? by Tatsuhiko Miyagawa.
- Tampered with by Shinji Kono.
- Parsing numbers by Joelle Maslak.
- Thanks David! by Simon Proctor.
- IP Comb by chenyf.
- CamelCase comb by chenyf.
- At least by Daniel Standage.
- Awesome by Kheled Mohamed.
- Non-existing nested objects by Simon Proctor.
- Is it good? by Ashe.
- But legible by George Furbish.
- Cannot remember by wata.
- Loving Perl 6 even more by JJ Merelo.
- State in Debian by Wouter Verhelst.
- The answer is Perl 6 by Mick Watson.
- Tomtit – task runner by CodeIgnition.
- Torture technique by int16h.
- Nifty feature by JJ Merelo.
- Brotherly by одишария-2-полушария.
- Unknown world by 夕は”.
- Errata link by brian d foy.
- You can
.fmtby Joelle Maslak.
- 6pad by MOONGIFT.
- 6pad again by ふるかわ ゆたろ ほぼぼっと.
- A break from tradition by Jonathan Stowe.
- Dreamer by Цифругл.
- Tryout your first Perl 6 web app by The Perl Shop.
Meanwhile on Facebook
- Perl at FOSDEM by Wendy van Dijk.
- Weirdness doesn’t stop by Andrew Shitov.
- Perl 6 Development Fund by Wendy van Dijk.
Perl 6 in comments
- Enjoy reading by xisukar.
- Not ossified by snapdangle.
- Crux of your joke by snapdangle.
- Any code can be an infix by b2gills.
asyncby Ralph Mellor.
- See wrong right by Ralph Mellor.
- Static type system? by Ralph Mellor.
- Not fun by Reini Urban.
- actors and monitors by Ralph Mellor.
- Static vs dynamic by Ralph Mellor.
- Rant by Ralph Mellor.
Perl 6 Modules
- StrictClass by Martin Barth.
- ASN::BER by Alexander Kiryuhin.
- Pod::Load by JJ Merelo.
- Tomtit by Alexey Melezhik (Reddit comments).
- Term::Choose, Term::TablePrint by Matthäus Kiem.
- Uzu by Sam Morrison.
- Chart::Gnuplot by Itsuki Toyota.
- IoC, Bailador by Martin Barth.
- PDF::Class by David Warring.
- Math::FFT::Libfftw3 by Fernando Santagata.
- Redis by Jonathan Stowe.
With lots of nice stuff to read, yours truly hopes you will have time enough to prepare for the holiday season.
In the coming weeks, the Perl 6 Weekly will most likely already be published on Sunday night (CET) rather than on Monday: publishing in the evening of the 24th and the 31st of December is not only in conflict with the schedule of yours truly, but probably also with most of the readers of the Perl 6 Weekly.