* Larry Wall <[EMAIL PROTECTED]> [2008-08-08 19:45]:
> q'foo is now a valid identifier.
Qa tlho', Larry.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
es also do this (in
particular, variables and functions in XPath), which is where
I first encountered identifiers with dashes. I have been wishing
I could have them in mainstream languages ever since.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Michael Mangelsdorf <[EMAIL PROTECTED]> [2008-08-11 20:25]:
> Unicode guillemets for hyper ops?
Unicode? I don’t know about your ISO-8859-1, but mine has
guillemets. :-)
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
ll cause the end of
Perl 6, as you argue, but I also don’t care at all about whether
they are allowed. I’m not going to use them anyway.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
course, you explicitly stick your hands in),
kind of like the safety that hygienic macros provide.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
In some sense, from the reactive programming perspective `1..*`
is actually easier than `1..$n`. For the latter’s iterator the
answer to “do you have another element” implies a conditional
somewhere, whereas for the former’s it’s trivially “yes.”
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
t;'
Modification of a read-only value attempted at -e line 1.
--
*AUTOLOAD=*_;sub _{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1}
&Just->another->Perl->hack;
#Aristotle Pagaltzis // <http://plasmasturm.org/>
es, and much less likely for class-
private ones. So Perl 6 defaults the right thing here, it would
seem.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
} part is
enough for Stack Overflow to bring up the right Q&A. The long
human-readable path segment after that is merely for the benefit
of humans.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Larry Wall <[EMAIL PROTECTED]> [2008-10-13 19:00]:
> Maybe we're looking at a generalized tree query language
That’s an intriguing observation. Another case for having some
XPath-ish facility in the language?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
ly to lead to problematic code, so it seems like a
bad idea. Interfaces should be designed to encourage people to
do things correctly and to make it hard to even think about the
nearly certainly wrong way.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
nd `git diff`,
and people with git repositories on NFS filesystems reported
3–6-fold speedups of these commands, without the local case being
adversely affected.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
e to
handle errors after the guard clause passes and the operation is
attempted.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
he spirit of Perl 6, which says TMTOWTDI yet tries to
provide one good default way of doing any particular thing.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
y $i;
while ( @stuff ) {
$_->do_something( ++$i ) for @stuff;
}
# plus some way of attaching this fix-up just once
{ @stuff = grep !$_->valid, @stuff }
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Bruce Gray <[EMAIL PROTECTED]> [2008-12-03 18:20]:
> In Perl 5 or Perl 6, why not move the grep() into the while()?
Because it’s only a figurative example and you’re supposed to
consider the general problem, not nitpick the specific example…
Regards,
--
Aristotle Pagaltzis
be solved by the CPAN collective much
better than any boil-the-ocean abstract interface design that the
Perl 6 cabal would produce – if indeed these are real problems at
all in practice.
All that’s necessary is to design the interface such that it
won’t obstruct subsequent “userland” solution approaches.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
[EMAIL PROTECTED]> [2008-12-03 20:10]:
> Aristotle Pagaltzis wrote:
> > * Bruce Gray <[EMAIL PROTECTED]> [2008-12-03 18:20]:
> >> In Perl 5 or Perl 6, why not move the grep() into the
> >> while()?
> >
> > Because it's only a figurative exa
t;
> repeat {
> PRE { doSomething(); }
> doSomethingElse();
> } while someCondition();
That will run doSomething() once unconditionally. That’s not what
I’m after.
--
*AUTOLOAD=*_;sub _{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1}
&Just->another->Perl->hack;
#Aristotle Pagaltzis // <http://plasmasturm.org/>
; END ;
and similarly you can say
IF NOT loop.last ; ... ; END ;
to do something on all iterations but the ultimate.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Mark Overmeer <[EMAIL PROTECTED]> [2008-12-04 16:50]:
> * Aristotle Pagaltzis ([EMAIL PROTECTED]) [081204 14:38]:
> > Furthermore, from the point of view of the OS, even treating file
> > names as opaque binary blobs is actually fine! Programs don’t
> > care after all
lob. I think none.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
enly there is no good and natural indentation
style for at least one of the blocks.
Also, you are supposed to be able to leave the parentheses off
the `while` condition in Perl 6, and then it breaks down
visually, particularly if you throw an arrow in there.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
good or relevant
example? (And if so, why?) Or are you suggesting that approach
was a failure or horrible in some way?
> Are "we" just getting old, grumpy and tired? Where is the new
> blood to stir us up?
Busy designing their own second system. You want to invite a
bunch of PHP kids? I’m game. :-)
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
a/~cks/space/blog/python/OsListdirProblem
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
e ownership and access permissions between Win32
and Unix? I don’t see such a thing being possible at all: there
are too many differences with pervasive consequences. The most
you can reasonably do (AFAICT) is map Win32-style owner/access
info to a Unix-style API for reading only.
Regards,
--
Aris
* Aristotle Pagaltzis <[EMAIL PROTECTED]> [2008-12-10 01:10]:
> Well go on.
Btw, I just realised that it can be read as sarcastic, which I
didn’t intend. I am honestly curious, even if skeptical. I am
biased, but I am open to be convinced.
Regards,
--
Aristotle Pagaltzis
Unix have such pervasive effects
that it seems impossible to provide even a rudimentary abstract
interface.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
with it
compared to if it were locked up in the invocation semantics of a
closure trait.
`FIRST` and `LAST` are justifiable regardless of what other
mechanisms are available simply because they’re things you want
so frequently. `LOOP n` is just overgeneralisation. Thumbs down.
Regards,
--
Ari
d to say in the absolutely
most straightforward manner possible. The order of execution is
crystal clear, the intent behind the loop completely explicit.
--
*AUTOLOAD=*_;sub _{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1}
&Just->another->Perl->hack;
#Aristotle Pagaltzis // <http://plasmasturm.org/>
loop the overall
effect of certain points is depenent on other points.
In Schwern’s terms, goto’ing into the middle of a terminating
loop is more skimmable than last’ing out of the middle of an
infinite loop.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
on.
That way, you get this combination:
sub pid_file_handler ( $filename ) {
# ... top half ...
yield;
# ... bottom half ...
}
sub init_server {
# ...
my $write_pid = pid_file_handler( $options );
become_daemon();
$write_pid();
# ...
}
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* jerry gay [2009-01-02 21:30]:
> the most likely short names, C<< < -d -o -c > >> are all taken
> by either p5 or p6 command-line.
Is `-q` taken?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* jerry gay [2009-01-09 22:45]:
> it's "eager" for the match to close
"Impatient", "hasty"?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Ovid [2009-01-12 16:05]:
> Or all could be allowed and $string.trim(:leading<0>) could all
> $string.rtrim internally.
++
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
n I could just do
`.ltrim` though.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Aristotle Pagaltzis [2009-01-12 20:55]:
> Also `:!start` to imply `:end` unless `:!end` (which in turn
> implies `:start` unless `:!end`)?
Ugh, forget this, I was having a blank moment.
Actually that makes me wonder now whether it’s actually a good
idea at all to make the fu
inverted by
“right-to-left”, in which it is contained, then what does the
latter even mean? (OK, we’re on a Perl 6 list so I guess the
answer is it’s a juction… :-) )
Clearly one of us has an inversed sense of which pair of terms is
ambiguous, and I don’t think it’s me… ;-)
Regards,
--
Aristo
* Larry Wall [2009-01-12 21:55]:
> * Aristotle Pagaltzis [2009-01-12 21:20]:
> > Plus if there are separate `.ltrim` and `.rtrim` functions it
> > would be better to implement `.trim` by calling them rather
> > than vice versa, so it wouldn’t even be less efficient two
>
ses the
relation of left/right in memory and left/right on screen.
I think a week’s worth of wolf sleep is catching up to me, sorry.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
t; trimming are infrequent compared to the frequency of basic
> input editing.
Good point, rings true.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
he hashes in an array would be simply
@array».values».=trim;
Imagine writing this in another language.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
vely rare thing.) Sticking
to a single common use-case eliminates the need for configuration
API, improving usability as a whole. Keep it simple.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Aristotle Pagaltzis [2009-01-02 23:00]:
> That way, you get this combination:
>
> sub pid_file_handler ( $filename ) {
> # ... top half ...
> yield;
> # ... bottom half ...
> }
>
> sub init_server {
> # ...
>
.)]
* Eric Wilhelm <[EMAIL PROTECTED]> [2008-02-24 02:05]:
> # from Aristotle Pagaltzis
> # on Saturday 23 February 2008 14:48:
> >I find the basic File::Fu interface interesting… but operator
> >overloading always makes me just ever so slightly queasy, and
> >this example
; fan-out the pain caused to others multiplies.
Sounds quite well reasoned to me. Is this something that makes
sense to encourage for 5-to-6 migrations of Perl code as well?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
whatever scopes use it. If I'm not following you,
> I'm totally lost.
you’re indeed following me. And it’s indeed not very exciting.
And that’s exactly the point. I find that regular, type-based
overloading is *very* exciting… but not in a good way. An
approach that makes operator overloading an unexciting business
therefore seems very useful to me.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* TSa <[EMAIL PROTECTED]> [2008-03-19 16:00]:
> Aristotle Pagaltzis wrote:
>> Something like
>>
>> path { $app_base_dir / $conf_dir / $foo_cfg . $cfg_ext }
>>
>> where the operators in that scope are overloaded irrespective of
>> the types o
s.
Strongly disagree. If context was sufficient to help the reader,
how did operator overloading get such a bad rep in C++? That’s
exactly what my proposal was all about: if you’re completely
changing the meaning of an operator, the reader should have
nearby indication of what is really going on.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Mark J. Reed <[EMAIL PROTECTED]> [2008-03-21 21:35]:
> On Fri, Mar 21, 2008 at 4:25 PM, Aristotle Pagaltzis <[EMAIL PROTECTED]>
> wrote:
> > It makes the meaning of the statement dependent on the types
> > of any variables, which is information that a reader won
might work.
What does Perl 6 do in that respect? Maybe semantics could be
borrowed from there?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
n is a Gtk2-Perl FAQ.
http://tinyurl.com/2uk5m5#head-20b1c1d3a92f0c61515cb88d15e06b686eba6cbc
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
ure about that. There are lots of financial
> transactions that deal in sub-$0.01 fractions: taxes, currency
> conversion, brokerage stuff...
They use decimal fixed point math where necessary.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Aristotle Pagaltzis <[EMAIL PROTECTED]> [2008-06-29 02:05]:
> [repeat of statements made days ago]
Sorry, I was only just catching up and didn’t notice this orphan
subthread had siblings, where the point was already covered.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Larry Wall <[EMAIL PROTECTED]> [2008-07-16 19:45]:
> Speaking on behalf of the mere mortal, My Eyes Glaze Over.
Yeah, this proposal seems to be slipping into APL territory.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Moritz Lenz [2009-07-10 00:25]:
> stat($str, :e)# let multi dispatch handle it for us
This gets my vote.
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
s. What am I missing?
> >
> A space between the colon and the opening brace ;-)
He is saying he can’t see how these differ from each other:
.doit(1,2,3): { $^a <=> $^b } # okay
+ .doit(1,2,3): { $^a <=> $^b } # okay
Or how these two differ from each other:
+ .doit(1,2,3):{ $^a <=> $^b } # okay
+ .doit(1,2,3):{ $^a <=> $^b } # okay
(Neither can I.)
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
one
> side of the conflict. You don't want to get tons of nonsense
> from your compiler on such a simple error, do you?
As I understood it from a YAPC keynote a year or two ago, STD
already has the speculative parse machinery in place. It seems
like this should be implementable with reasonable effort?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
hat
they are more or less the only real examples of such.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
then you have the
CPU interpreting a program (perl) that itself interprets another program
(the optree), which in turn was compiled from the user Perl program
earlier on.
Once you stop trying to artificially force everything into a single
absolute distinction, the entire debate about which is wh
exist who think they need this in
Perl, similar people will inevitably exist in any other language where
this can be done).
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Michael Zedeler [2015-06-16 13:10]:
> On 06/16/15 12:24, Aristotle Pagaltzis wrote:
>> * Michael Zedeler [2015-06-16 11:35]:
>>> This is working exactly as specified in the synopsis, but does Perl
>>> 6 NEED anything like this? Just because something is poss
* Michael Zedeler [2015-06-16 18:55]:
> For instance, why have Complex and Rat numbers in the core? If you're
> not working in a very specialized field (which probably *isn't*
> numerical computation), those datatypes are just esoteric constructs
> that you'll never use.
https://www.youtube.com/w
* yary [2015-06-17 17:10]:
> Perl6's "TEARDOWN"
Sorry for the confusion. It’s not in Perl 6. I invented .teardown for
this example because I didn’t want to call it .destroy – that’s all.
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
* Tom Browder [2015-07-23 01:05]:
> (There are plenty of free and handsome fonts to be had.)
Some of the best of which, ironically, also from Adobe…
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
ctually know what I’m talking about, though. Someone who does
in fact do Perl 6 will have to tell you whether I’ve just been running
my mouth randomly here.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
ng method call operator is the generic solution,
which obviates the endless writing of both a .trim and a .trim-rw, and
so on, for every single method. (Or .sort vs .sort! etc etc ad nauseam…)
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
cer
in that situation…
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
goes in place of XXX in the following to make it real?
$ 6 'my %h = a => 42, b => 666; dd $_ for %h,XXX'
Hash %h = {:a(42), :b(666)}
:a(42)
:b(666)
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
al
function, etc.) Do they have any examples of where this helps?
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
70 matches
Mail list logo