perlweeklychallenge-club
ponyc
Our great sponsors
perlweeklychallenge-club | ponyc | |
---|---|---|
37 | 61 | |
171 | 5,598 | |
- | 0.6% | |
10.0 | 9.3 | |
5 days ago | 8 days ago | |
Perl | C | |
- | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
perlweeklychallenge-club
- Significant features introduced for recent versions of Perl
-
The one about frequency
Each week Mohammad S. Anwar sends out The Weekly Challenge, a chance for all of us to come up with solutions to two weekly tasks. My solutions are written in Python first, and then converted to Perl. It's a great way for us all to practice some coding.
-
Perl Weekly #645 - Advent Calendars
In the previous edition Mohammad sent a call to get sponsor for his Weekly programming challenge. Several people replied to me. Those messages were forwarded to Mohammad as that is his gig. However, I noticed that the link we used to have at the top of the Perl Weekly was only showing up on the web site. I added it back. In a nutshell, if you'd like to spoonsor/financially help the work of Mohammad S Anwar then either contact him or just support him via Patreon. If you'd like to support my work then you can do so either via Patreon or via GitHub.
-
Perl Weekly #644 - Perl Sponsor?
I run The Weekly Challenge project primarily focus on Perl and Raku but open to all programming languages. It was started on 25th March 2019. It has been going on un-interrupted ever since, thanks to the strong 350+ members of Team PWC. We were lucky enough to have solo sponsor, Perl Careers run by Peter Sergeant since July 2019 without break. Initially we had weekly prize sponsorship but later it was changed to monthly sponsorship. The best part was, I didn't have to move a finger to find the sponsor. Pete was generous enough to come forward and continued supporting the project for such a long time.
-
Juicy loops
Challenge, My solutions
-
Perl Weekly #636 - Happy Birthday Larry
I am not sure, if you noticed this but Perl Mongers certificate expired few days ago. I only noticed as one of the contributor to The Weekly Challenge shared link to the site. The very next day, I saw post by Olaf Alders on Twitter talking about it and sharing the tool that can help avoid such incident in future. The certificate has now been restored.
-
Ask HN: Are you using Raku? Pros / cons?
Oh yes, Bruce Gray was a major influence for me as well a couple of years ago. He often participates in the "Raku Study Group" meetings as well - these are very broad and informal meetings every second Sunday but around the end, Bruce almost always brings up some Raku (sometimes Perl) solutions for the weekly challenges from https://theweeklychallenge.org/. In case you are interested, the repo of the meetups: https://github.com/doomvox/raku-study
Back to the topic. I picked up Raku a couple of years ago and I mostly use it as a better shell.
The pros are that you can really quickly and swiftly deliver CLI automation tools and scripts; the language has a unique but very practical regex syntax, you have very rich tools for string manipulation and you have good utilities to "drain CPU" if you are willing to spend more resources to make something faster (e.g easy multithreading for operations). Also, the language is very pleasant to use, it makes you feel very clever and powerful.
The cons cannot be neglected, however, the biggest problem probably being the performance and stability of the only actually working compiler, Rakudo, and its most functioning bytecode VM, MoarVM. The rich string-processing system and regex engine can be surprisingly slothful if you have vast amounts of text, same for precise bigint and rational computations (which are the default). Not many people understand Rakudo (and especially the VMs) enough to work on bugs or performance improvements, and there are not many low-hanging fruit remaining. Considering this, I'm sad that there has been little strategy regarding getting new maintainers, or having a release strategy besides "we will not change anything that might break code, and just release new compiler versions every couple of months".
Also, I don't know how much this is a con for you but Raku is not a language you can just "learn", you have to explore it and always be ready for a new journey. It's a horizontally huge language with a lot of corner cases you probably cannot all keep in mind. I think I'm managing pretty well but it is definitely a risk; you should probably either find a small subset you are comfortable working with and stick to it, or be okay with exploration using whatever goes, from asking others and reading the docs to investigating the core library inside Rakudo (which is not as bad as it may sound but not everybody wants to do).
-
Counting the coins
Each week Mohammad S. Anwar sends out The Weekly Challenge, a chance for all of us to come up with solutions to two weekly tasks. My solutions are written in Python first, and then converted to Perl. It's a great way for us all to practice some coding.
-
Perl Weekly #622 - Perl v5.38 coming soon ...
I had almost forgot about participating The Perl and Raku Conference 2023 because of what I have gone through in the last few weeks and still going on. But the best part is, I have booked everything from air ticket to hotel reservations. Having said, I still have to get the slides ready for the my talk about The Weekly Challenge. If you are planning to attend the conference then please do come and see me. I would love to meet as many Perl enthusiasts as I can. I am mostly looking forward to meet the weekly challenge members. I got exactly 2 weeks time to get everything sorted before it is too late.
-
The dangers of each in Perl
It's been a very long time that I've made a post that wasn't related to The Weekly Challenge, but it's about time I did :)
ponyc
- Old Version
-
The problem with general purpose programming languages
For example, the actor's model is not used by a lot of languages, Pony (https://www.ponylang.io/) and Elixir are the only ones that I know, but they address the concurrency problem quite well, while it's a pain to deal with in other languages at large scale.
-
Found a language in development called Vale which claims to be the safest AOT compiled language in the World (Claims to beSafer than Rust)
And that last point is critical. If the language flatly can't represent some concepts it uses, they have to be implemented somewhere else. I had a similar discussion with a proponent for Pony once- the language itself is 100% safe, and fully dependent on C for its runtime and data structures. One of Rust's core strengths is being able to express unsafe concepts, meaning the unsafe code can expose a safe interface that accurately describes its requirements rather than an opaque C ABI. Vale doesn't seem to do that.
-
The Rust I wanted had no future
"Exterior iteration. Iteration used to be by stack / non-escaping coroutines, which we also called "interior" iteration, as opposed to "exterior" iteration by pointer-like things that live in variables you advance. Such coroutines are now finally supported by LLVM (they weren't at the time) and are actually a fairly old and reliable mechanism for a linking-friendly, not-having-to-inline-tons-of-library-code abstraction for iteration. They're in, like, BLISS and Modula-2 and such. Really normal thing to have, early Rust had them, and they got ripped out for a bunch of reasons that, again, mostly just form "an argument I lost" rather than anything I disagree with today. I wish Rust still had them. Maybe someday it will!"
I remember that one. The change was shortly after I started fooling with Rust and was major. Major as in it broke all the code that I'd written to that point.
"Async/await. I wanted a standard green-thread runtime with growable stacks -- essentially just "coroutines that escape, when you need them too"."
I remember that one, too; it was one of the things that drew me to the language---I was imagining something more like Pony (https://www.ponylang.io/).
"The Rust I Wanted probably had no future, or at least not one anywhere near as good as The Rust We Got."
Almost certainly true. But The Rust We Got is A Better C++, which was never appealing to me because I never liked C++ anyway.
-
How long until Rust becomes mandatory, and use of any other language opens the developer up to Reckless Endangerment charges
Pony or bust.
-
Universal parameter passing semantics
If you have a value in mutable storage, and want to treat it as an immutable parameter without copying it first, you will need to provide some way to guarantee that it won't be mutated while being treated as immutable! There doesn't seem to be a definitive best way to do that (although the likes of Pony make a try at it).
-
Virtual Threads Arrive in JDK 21, Ushering a New Era of Concurrency
The love child of Erlang and Rust exists already: Pony.
https://www.ponylang.io
It really is the best of both languages... unfortunately, the main supporter of Pony seems to have stopped using it in favour of Rust though :D.
But if that's really what you want, Pony is your language. It definitely deserves more love.
- Programming language rule
-
Why Turborepo is migrating from Go to Rust – Vercel
You can actually try to have a magic language which "does not ignore decades of PL research" but you are likely to get either something broken or a project that is likely not going to release in our lifetime.
-
Show HN: Ractor – a Rust-based actor framework with clusters and supervisors
Never a bad time to plug Pony lang[1] - a safety-oriented actor-model language. In addition to the numerous safety guarantees, you also get a beautiful syntax and automatic memory management. Really a great language that often gets overshadowed by Rust's hype-turfing.
[1]: https://www.ponylang.io/
What are some alternatives?
perl5 - 🐪 The Perl programming language
gleam - ⭐️ A friendly language for building type-safe, scalable systems!
inxi - inxi is a full featured CLI system information tool. It is available in most Linux distribution repositories, and does its best to support the BSDs.
Halide - a language for fast, portable data-parallel computation
Corinna - Corinna - Bring Modern OO to the Core of Perl
prolog-to-minizinc - A Prolog-to-MiniZinc translator
aoc - 🎄 advent of code 414⭐
Phoenix - wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
aoc - Advent of Code
tab-rs - The intuitive, config-driven terminal multiplexer designed for software & systems engineers
advent-of-code
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).