I've been using it locally to write a few small scripts, nothing publicly available (yet). Traits and roles are really neat - they feel like a natural conclusion to what Ruby started building upon with respect to metaprogramming natural syntax and encouraging developer happiness over strictness. On the whole, however, many small parts of Perl 6 feel immature. There's no core JSON/YAML module, and there's no "official…
Rakudo has JSON support built in, and Rakudo Star, the example batteries-included dist, has two additional JSON modules - and ships zef for module management, replacing panda. The ecosystem is still young, and "not ready" is a perfectly reasonable point of view, but you're using definitions of core/official that don't really apply - rakudo is the base compiler, not a complete release.
Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
91–100 of 163 posts
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#92Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#93Perhaps you should look at this two presentations first: https://media.ccc.de/v/31c3_-_6243_-_en_-_saal_1_-_201412292... https://media.ccc.de/v/32c3-7130-the_perl_jam_2
Which are good points, but you probably knew that anyway. The rest is just a lot of pictures from the web and some guy screaming "wtf!!" a lot.
It has very little to do with Perl5 the language. The part where he touches on that subject is based on misunderstandings on what contexts and references are.
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#94I've been using it locally to write a few small scripts, nothing publicly available (yet). Traits and roles are really neat - they feel like a natural conclusion to what Ruby started building upon with respect to metaprogramming natural syntax and encouraging developer happiness over strictness. On the whole, however, many small parts of Perl 6 feel immature. There's no core JSON/YAML module, and there's no "official…
It sounds to me like you would like a "batteries included" version of Perl 6. (include JSON/YAML in the runtime) No. We only include things as part of the language where the design of it is immediately obvious, and is useful for many applications. It also helps if it has been proven in other languages. So Promises(Futures) are in there, but many other things are not. You can do anything in a module, so write an exter…
* Users don't have to worry about inconsistent distributions. Following a test suite is one thing, but test suites are (almost) never comprehensive and will not catch programmer errors with respect to particular systems (e.g, LP64 and LLP64). Everything will work until it doesn't, and programmers will have to provide edge-case workarounds until individual distributions fix their implementations.
The same goes for module managers. It's good to provide an open spec and encourage multiple frontends, but it's also good to provide a uniform interface for system administrators who just want to automate module installation for an application or framework. Python's easy_install wasn't ideal, but it provided exactly that sort of common denominator.
"Batteries included" makes it sound like I want my language to come with a playground, which I think is an unfair way to characterize the expectation that Perl 6 provide feature parity with the languages it competes with (i.e., Ruby 2 and Python 3).
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#95I'll be downvoted for that but isn't Perl been replaced by Python in the last 7-8 years? I've never seen Perl used in the companies I've worked for in the past 6 years.
I honestly have no idea why Python got so popular in that space. Those Python guys are always amazed when I show them a much more elegant Perl solution to their problem.
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#96I'll be downvoted for that but isn't Perl been replaced by Python in the last 7-8 years? I've never seen Perl used in the companies I've worked for in the past 6 years.
That said, frankly your comment is a bit off-topic and irrelevant--and you may get downvoted for that--because the question was not "Why use Perl 6 or not" but literally "What you do with it".
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#97Was very interested some years ago but lately I think many of the things I don't like with for example C# has snuck into the syntax. Capital letter keywords etc. Wish it was more like Perl 5 and more performant. But we shall see, it might change a lot the next years as it matures.
I can't think of a single capitalized keyword. Unless you mean capitalized built-in classes, or the infix meta operators. Certain parts are faster than Perl 5, for example this finds the sum of a range in less than a millisecond. ( of course it cheats by calling the sum method on the Range object ) my $sum = [+] 1..100000000000000000000000; That was the syntax for a left fold using the infix numeric addition operator…
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#98Earlier quoted context omitted.
I still chuckle, and try to remind everyone in the room that: 1) Node did not invent concurrency, Hoare did (if a single person should ever be credited on this), others understood the concept some 20 years. 2) Node was originally based on a library by a very-controversial, still largely acclaimed Perl contributor 3) 'use strict' is indeed a Perl idea, but (to a certain extent) is the JSON format 4) The first JS repos…
Whenever Node comes up somewhere, I wonder what happened to the original author of it, he was called Ryan, IIRC.
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#99Earlier quoted context omitted.
IIRC there's a module for parsing and running Perl 5 in 6. Am I wrong or is it not practically useful?
I think you mean Inline::Perl5: https://github.com/niner/Inline-Perl5 . It doesn't parse Perl 5 and run it inside of Perl 6 though, it just runs the Perl 5 interpreter for you from a Perl 6 program and lets you marshall data between the interpreters. It's a legitimate technique.
To be clear, Inline::Perl5 (and the other inlines like Inline::Python) automatically marshal data.
And exceptions. And classes (so you can sub-class a Perl 5 or Python etc. class in Perl 6). Etc.
Re: Ask HN: Perl 6: Do you use it, how do you like it, what do you do with it?
#100Earlier quoted context omitted.
Do you know what algorithm grammars use under the hood? I don't see it mentioned in documentation like this: https://docs.perl6.org/language/grammars "Group of named regexes that form a formal grammar" Are Perl 6 "regexes" as powerful as a context-free grammar? I guess they use the same kind of backtracking algorithm and ad hoc recursion as Perl 5? That is, does the algorithm for regexes differ from Perl 5, or only t…
IIRC, Perl 6 grammars are parsing expression grammars (PEGs). I don't know if these are compiled down to recursive descent or packrat parsers; my guess would be the latter (since that's typical for PEGs).
So it's basically a mix of paradigms, which muddies the waters in terms of what computational complexity guarantees you can get. Pure regular expressions can be matched in linear time; CFGs in cubic time and some subsets in linear time; packrat parsing in linear time, and backtracking PEG in exponential time. Perl 5 regexes are exponential time in general.
I've used regexes extensively on big data so I don't like this mix of paradigms. I'd rather have separate dialects for each paradigm than having to guess what it's using underneath.
Backtracking causes real problems in production: https://news.ycombinator.com/item?id=12132045
I would bet money that Perl 6 uses backtracking, because it has a mix of paradigms that makes it harder to do anything smarter.
Backtracking is also bad for adversarial input, which is essentially always a concern nowadays.