On Thu, 6 Aug 2020 11:51:43 +0200 "H.Merijn Brand" <perl5@tux.freedom.nl> wrote: > 4. The point is not "just" to make the language more attractive to new > programmers. (if that was the only point to make, Raku could well > be the answer). We - as core developers - are currently hindered in > making changes to the core to fix issues or add features we want to > have (with end users in focus) *without* breaking the world. I am getting very tired of hearing this as an argument. As a person who actually *has* added a feature (the `isa` operator), *is* adding a feature (`FINALLY` blocks), and plans to add many more (try/catch, dumbmatch, ...) I can categorically state that none of this has ever got in my way. Not one thing that could be called "supporting legacy" has ever been in the way of my adding any of these things, and I don't anticipate any of them being so. There is a huge long list of things that could be better, which would make adding these things easier. Such ideas as: *) There is almost no documentation at all of how to actually add new features, warnings, keywords, opcodes, syntax, ... I have had to discover it all from scratch, and lots of asking questions - mostly to DaveM. We have a very tiny bus-factor about this and frankly it scares me :( *) The whole "regen" system is a bit weird. *) A lot of the core tests are very fragile to breakage by adding new features. t/op/coreamp.t and the "untagged opcode" warnings that come from B/Opcode.pm in relation to the "Safe" feature, are two that come to mind. Fixing those is each a trivial one-word change but first you have to know and understand them. That takes time. Again. > As an example, $Foo'Bar'x was perl4 syntax for > $Foo::Bar::x and it is *still* supported. Getting rid of that in a > limited scope will make the parser a lot easier to extend and e.g. > support try/catch. (this may be a false dependency, but used just > as an example). It definitely is a false example. I can again state with absolute certainty that never once have I had to think about Package'Separators when adding `isa` or `FINALLY` and I don't expect I will have to when adding try/catch either. > I honestly think that there is less than 0.01% of the > users who would object to dropping support for "'" as package > separator if that would open the road to full-featured exception > handling. *Those* are the changed being discussed. We haven't discussed dropping anything. The only discussions about "Perl 7" we've ever had have been about what features and pragmata to enable by default, on the hope of being nicer to new users. Never was any of that aimed at making our lives as core maintainers easier. It is totally orthogonal to that. In summary can we *please* put this whole argument to bed, that "Perl 7 makes it easier for us to maintain core". It doesn't. There are other things core could do to make that easier but this is not one of them. -- Paul "LeoNerd" Evans leonerd@leonerd.org.uk | https://metacpan.org/author/PEVANS http://www.leonerd.org.uk/ | https://www.tindie.com/stores/leonerd/Thread Previous | Thread Next