means .=impend:-)
or some such.
I like those. I feel similar to Matt W. I kind of like .push and
.unshift the way they are (probably just habit) But I can appreciate
that non-mutating alternatives might open a new class of algorithms from
the functional world.
Daniel.
Em Dom, 2009-06-14 às 10:09 -0500, Patrick R. Michaud escreveu:
> On Sat, Jun 06, 2009 at 08:01:50AM -0700, Daniel Ruoso wrote:
> > rakudo: multi a (Str $a, Str $b) { [+$a, +$b] }; multi a (Array
> > $a, $b where '+') { [+] @($a) }; ('1', '2', '
ite to "is ref", copying the actual value to a
new container.
So, it is not at all complicated, it's just oriented to the Capture, and
the capture provides semantics to the call that are not present in any
other language I'm aware of.
daniel
the class, and the lookup of private methods should honor
the original place of declaration...
daniel
", :e
This still allow the existance of the most specific PathName type, and a
signature like
multi stat(PathName $name, *%switches) { ... }
where...
role PathName {
multi method ACCEPTS(Str $path where { .defined }) {
$path ~~ //
}
multi method ACCEPTS(Str $path where { not .defined }) {
1;
}
}
daniel
Em Sex, 2009-07-10 às 15:39 -0700, Jon Lang escreveu:
> The key to understanding roles is to note that roles don't implement
> methods; classes implement methods.
Er, while I see your point, Roles are not just interfaces... they are OO
components that can be plugged into other classes. They often
/; # prints abc
{
my $/ is context;
'bcd' ~~ /bcd';
say $/; # prints bcd;
}
say $/; # still prints abc;
}
I'm pretty sure that was just said by TimToady on IRC a lot of time ago
and no spec actually defines it.
That being said, I don't think there's a reason for .match and .subst
not to look and set $*/.
daniel
to the XML spec...
daniel
+1
Carl Mäsak wrote:
Very nicely put. We can't predict the future, but in creating
something that'll at least persist through the next decade, let's not
do elaborate things with lots of moving parts.
Let's make a solid ground to stand on; something so stable that it
works uphill and underwater.
ect point.
The bless-BUILDALL-BUILD chain uses the positional arguments as the
candidate protoobjects that define additional parameters for the
builders. the named parameters are passed to each BUILD method for
initialization.
Again, if you want a custom signature for new, just write a custom new.
daniel
he other thing you're missing is that Range is a role, not a class,
which means that any type can behave like a range even if it provides a
completely different behavior, which might include
method list {
fail "This type of Range cannot be used as a list..."
}
daniel
t Instant doesn't. Instant is a TAI epoch value, DateTime
is a fully-qualified date and time specification according to some
specific Calendar.
I'm comitting a new revision of the Temporal spec now that should make
this distinction even clearer...
daniel
Em Qua, 2009-09-09 às 09:07 -0400, Mark J. Reed escreveu:
> I would change the doc to refer to TAI as a "time scale", and also
> avoid referring to the numerical value of an Instant as an "epoch".
I knew there was something wrong in my use of that terms, please fix it
if you like...
daniel
Em Ter, 2009-09-15 às 19:33 -0400, Aaron Sherman escreveu:
> I tried this out, and I'm not 100% certain why I got what I did (#20
> release):
> Code:
> my $x = \(-> { say "Perl 6" }); say $x();
> Output:
> Perl 6
> 1
> First off, why can I invoke a capture when it contains a lambda? Shouldn't I
ou want, although $m(A.new: )
should have the same effect.
daniel
s before Devel::Declare)...
But in Perl 6, that is pretty much interesting, because we have
something pretty abstract, which is the STD parse tree, which needs to
be converted into some implementation's optree/bytecode/whatever.
but I'm sort of half thinking out loud as well ;)
daniel
e it while copying the values into
@stuff, which is basically the difference between assign and bind.
daniel
"One must command from each what each can perform, the king went
on. "Authority is based first of all upon reason. If you command your
subjects to jump into the ocean, there will be a revolution. I am
entitled to command obedience because my orders are reasonable."
"Then my sunset?" insiste
ant
and DateTime.
The thing is, much like a Str can't be seen as a Buf without an
encoding... a Instant can't be seen as a Date without a timezone...
That's the barrier between Instant and DateTime, as currently stated at
S32/Temporal.pod...
Take a look at all the classes and roles declared there...
daniel
e, in a particular timezone in a
particular calendar (gregorian) to an instant, then ask for the amount
of seconds elapsed from that instant to the current instant (and that
will return you a Duration object (which conceptually only know about
TAI), which in turn can be converted (provided a timezone and a
calendar) to a Gregorian::Duration.
daniel
nput date is UTC, the conversion to TAI is well-defined, too.
> (And if you don't make that assumption, then you're opening a large
> can of worms; see
> e.g.http://www.ucolick.org/~sla/leapsecs/epochtime.html ).
Important point. I can't assume the input date is UTC, I can't even
assume it uses the gregorian calendar. So yes, we already openned that
large can of worms...
daniel
immutable and timezone definitions are not anyhow
predictable. So when you get a duration (in the precision of seconds) it
specifies an immutable amount of time. But if it's not in the precision of
seconds, then well... it can be anything...
daniel
handle this action,
# $post is visible in the closure
});
}
my @tokens = ($request, 'perl', 'tree_matching');
my $action = @tokens.reduce: &handle;
$action.execute;
This will get even better as custom grammars get into the play...
daniel
ire different set of maintainance
challenges, including a very precise delta documentation and probably a
lot of coercion functions, i.e: coerce from Int version 0.003 to Int
0.004 back and forth.
That way we have both the grammar, the CORE and the setting being
versioned, and it will be easier to adapt for the future...
daniel
r even
3) complain upfront that the version os not available in backward
emulation, but try to get the closest version that could be emulated and
give it a try.
daniel
t's
attributes, it is always accessed through methods.
In java, a public attribute is accessed without the mediation of any
method.
daniel
Em Ter, 2010-03-23 às 20:53 +0100, Moritz Lenz escreveu:
> unless you count 'trusts'
> traits, which are specific to single classes, not groups of subclasses
Yes, that was what I meant...
daniel
mization because you're
dealing with a set of small integers.
If there's a strong case for bitsets, maybe it's worth having a
specialized declarator.
daniel
is that when a programmer with
sufficient communication skills have a composed word (i.e.: week-day),
he will have the ability to use the hyphen instead of either supress it
or use an underscore...
daniel
amusing, cannot be stated as sane design...
daniel
nerally have declared receiver types.
> Thoughts?
Apparently you're trying to override the default dispatching mechanism
which, I think, is something already supported by Perl 6 (although not
yet fully spec.
daniel
quot;MessageQueue" notifies the scheduler through a Control
Exception whenever new data is available in that queue so the
target process might be raised.
12 - Exception handling gets a bit hairy, since exceptions might only
be raised at the calling scope when the value is consumed.
13 - List assignment and Sink context might result in synchronized
behavior.
comments? ideas?
daniel
ate.
But maybe each actor is tied to a particular OS thread, which would
simplify a bit... Also, it is possible to suspend an "actor" in order to
implement a time-sharing scheduler as well...
daniel
Em Ter, 2010-05-11 às 21:45 -0300, Daniel Ruoso escreveu:
> The threading model topic still needs lots of thinking, so I decided to
> try out some ideas.
After BrowserUK feedback and some more reading (including
http://www.c2.com/cgi/wiki?MessagePassingConcurrency ) and links from
there
Em Ter, 2010-05-11 às 21:45 -0300, Daniel Ruoso escreveu:
> he threading model topic still needs lots of thinking, so I decided to
> try out some ideas.
After I sent the second version, I just realized I could make it simpler
by just assuming "one OS thread per Coroutine Group"
lar OS threads and queues implemented in the
process address space. I'd consider other abstractions to be possible,
but probably better implement them as separated modules...
daniel
Junctions, Hyper Operators, even
the "async" block, specify almost no requirements on the concurrency
model.
The discussion is more about *one* specific threading model designed to
support all the Perl 6 features in a scalable way.
daniel
hat path since I was trying to get Perl 5 interoperability
and therefore used refcount garbage collector.
The other possibility would be to use processor affinity to force
different threads to spawn in the same processor and that way ensure
serialized access to the non-thread-safe data.
daniel
it has been sent result in a runtime exception.
This is exactly what I meant by RemoteValue, RemoteInvocation and
InvocationQueue in my original idea.
daniel
ply go to the
we-can-spawn-as-many-os-threads-as-we-want model..
daniel
om outer scopes to
the current scope and making them shared (or a RemoteValue in my
original idea) is probably prettier. Accessing the OUTER scope in
run-time (via string eval, OUTER::{$var} or CALLER::{$var}) could be
subject to additional restrictions.
daniel
es".
But what we might be getting here is at the point where we don't need
green threads at all... I'm still not sure about one point or another,
tho..
daniel
"shared state" and "massage-passing" concurrency. This
balance will be implemented by modules.
comments are appreciated.
daniel
<>
Am 30.09.2017 19:34 schrieb "Mark Devine" :
My most common OC case: initialize attributes at OC time from external
input that will be parsed with grammars &/| scrubbed with elaborate
conditional tests.
Just a shot in the dark without fully understanding the above: maybe your
difficulties indicat
very informative. It just says "Confused at line 28, near my @sorted".
Cheers,
Daniel.
--
No trees were destroyed in the generation of this email, but a large
number of electrons were severely inconvenienced.
t;
Thanks. The blacklash "unspace" works.
my @sorted = @names.sort({ %sets{$_} })\
.sort({ %matches{$_} })\
.reverse;
Though I'm a bit sad that you need that and you can't just separate methods
with spaces.
Daniel.
--
No trees were des
postcircumfix:sym<{ }>, couldn't find final
'}'
%matches{ $r1 > $r2 ? $p1 : $p2 }++;
# Idea 2 gives: Unable to parse blockoid, couldn't find final '}'
$r1 > $r2 ? { %matches{$p1}++ } : { %matches{$p2}++ };
Is there a way to make something along these lines wor
ative:
$r1 > $r2 ?? { %matches{$p1}++ } !! { %matches{$p2}++ };
Now the problem is that %matches is empty. I'm not sure why. Maybe you can't
have code blocks inside ?? ... !! ...
Daniel.
--
No trees were destroyed in the generation of this email, but a large number
of electrons were severely inconvenienced.
not a big fan of special cases. As you said, they make the language
harder to learn. I would add that it makes it harder to predict what a piece
of code is going to do. One thing I want from a programing language is to
predict what it's going to do.
Cheers,
Daniel.
--
No trees were destro
s, I confirmed that the following
works:
$r1 > $r2 ?? {%matches{$p1}++}() !! {%matches{$p2}++}();
So, in this needlessly complex code, I basically create an anonymous
function and immediately execute it.
Cheers,
Daniel.
--
No trees were destroyed in the generation of this email, but a large number
of electrons were severely inconvenienced.
On Mon, Dec 27, 2010 at 10:03 PM, Moritz Lenz wrote:
> or
>
> my $closure = $r1 > $r2 ?? { %matches{$p1}++ } !! { %matches{$p2}++ };
> # invoke it
> $closure();
>
That's very cool. Perl 6 is a functional language with lambdas and
everything.
Daniel.
--
No t
mind that TTIAR is always a syntax error
> in Perl6, then if your code is compiling, whatever is between ?? and !! must
> be a single term.
>
> It's really the TTIAR thing that makes reading Perl6 so incredibly
> predictable, I think.
>
What is TTIAR?
Daniel.
--
No tree
T
> Multi()
>
> &say.WHAT
> Multi()
>
> &sin.WHAT
> Multi().
Interesting. I imagine that Multi() means that the function has multiple
definitions. For example, I expect that "sin" has one implementation for
floats and another for complex numbers.
> But ser
two terms one after the
other with nothing in between.
Yes, Multi() means it is a multimethod. Multimethods [are routines
> that can have multiple variants that share the same name, selected by
> arity, types, or some other constraints.][3]
>
Thanks.
Daniel.
--
No trees were
On Tue, Dec 28, 2010 at 5:27 AM, yary wrote:
> On Mon, Dec 27, 2010 at 8:50 PM, Daniel Carrera
> wrote:
> >
> > So TTIR just means that any two terms must be separated by something,
> like
> > an operator (2+5). Which basically is common sense and I'm actually
&g
", "length" and "size" without success.
3) More generally, is there a way to find out what methods are
available? I'm thinking of something like "@foo.METHODS" and it'd give
me a list of all the methods available in arrays. That would be
useful.
Cheers,
D
Thanks.
On Wed, Dec 29, 2010 at 12:51 AM, Will Coleda wrote:
> On Tue, Dec 28, 2010 at 6:32 PM, Daniel Carrera wrote:
>> 1) Does anyone know what a "Parcel" is?
>>
>> <1 2 3 4>.WHAT => Parcel()
>> <1 2 3 4 ; 2 3 4 ; 5>.WHAT => Pa
esearch (e.g.
Masters thesis, PhD thesis, or university research), does that count
as "production environment" or just "real problems"?
Daniel.
--
No trees were destroyed in the generation of this email, but a large
number of electrons were severely inconvenienced.
ting for a specific feature to be implemented in Rakudo.
* Rakudo is too slow.
* I didn't realize Rakudo was ready for use.
* Other [ fill in the blank ]
Daniel.
--
No trees were destroyed in the generation of this email, but a large
number of electrons were severely inconvenienced.
Out of curiosity, is it possible to get Rakukdo to talk to C, C++ or Fortran?
On Thu, Dec 30, 2010 at 8:04 PM, Patrick R. Michaud wrote:
>
> On behalf of the Rakudo and Perl 6 development teams, I'm happy to
> announce the December 2010 release of "Rakudo Star", a useful and usable
> distribution
;.
But as you can imagine, I need to spend most of my time doing my
research. I can't afford a big battle to get Rakudo and Fortran 95
talking to each other.
Daniel.
--
No trees were destroyed in the generation of this email, but a large
number of electrons were severely inconvenienced.
On Fri, Dec 31, 2010 at 7:17 PM, Paul Makepeace wrote:
> On Tue, Dec 28, 2010 at 23:02, Gabor Szabo wrote:
>> We will have questions about usage of Perl 5 and we think there should
>> be also questions
>> about Perl 6.
>
> Should Perl 6 be called something else?
> * No
> * Yes, not sure what
On Sat, Jan 1, 2011 at 1:26 AM, Chas. Owens wrote:
> On Wed, Dec 29, 2010 at 21:39, Xue, Brian wrote:
>> I want to adding one more answer about what are people waiting for before
>> they
>> start using Perl 6.
>>
>> There hasn't an official release of PERL6.0, just Rakudo. I'm afraid of
>> Raku
r. In turn, if Perl 6.0 is ready and Rakudo hasn't released a
1.0 I might figure that they still need more time.
Daniel.
--
No trees were destroyed in the generation of this email, but a large
number of electrons were severely inconvenienced.
xpecting that when Rakudo is ready it would have a
1.0 release. I sure did. Using year + month is nice in a way, but it
means that you don't immediately know if the release is production vs
devel, or whether it's a major vs minor release.
Daniel.
--
No trees were destroyed in the
nux?
I suspect 1.0
> - At what point was each of the above declared a "production release";
> was it concurrent with the release, or some time afterwards?
IMO, concurrent.
Daniel.
--
No trees were destroyed in the generation of this email. However, a
large number of electrons were severely inconvenienced.
e, yes. I
don't think it's a rule, but I expect to see a feature freeze, and a
period where you just look for bugs for the existing feature set, and
then comes the production release.
Daniel.
--
No trees were destroyed in the generation of this email. However, a
large number of elec
n official blessing is needed by most of us. This can
> be Larry for Perl or Patrick for Rakudo or having it
> "supplied by our vendor" (e.g. Ubuntu, Red Hat or ActiveState).
Yeah, something like that.
Daniel.
--
No trees were destroyed in the generation of this email. However, a
large number of electrons were severely inconvenienced.
development list and track its progress in order to decide
for myself if it is ready for use. I certainly don't have the time or
energy or inclination to do that for every single software product I
use.
I will make exceptions for software that has a very long history. I
have no doubt that Emacs
That's rather annoying. Isn't there a way to fix that?
On Tue, Jan 4, 2011 at 8:25 AM, Moritz Lenz wrote:
> On 01/04/2011 03:19 AM, gvim wrote:
>> Does this mean I have no option but to install git in order to keep my Perl
>> 6 up to date?
>
> No. You can download and install a release tarball o
On Tue, Jan 4, 2011 at 9:38 AM, Jan Ingvoldstad wrote:
> On Tue, Jan 4, 2011 at 09:30, Daniel Carrera wrote:
>>
>> That's rather annoying. Isn't there a way to fix that?
>
> Yes, install Rakudo Star instead, that bundles a suitable version of Parrot.
Oh, gvim w
about strange attractors and orbits, but I
haven't the faintest clue how big the "orbit" of either Perl 6 or
Rakudo is. Therefore, I cannot recommend it to other people, and I
will hesitate to use it on anything that is very important.
Daniel.
On Wed, Jan 5, 2011 at 12:38 PM, Ric
one who wants to see increased adoption of Perl 6 /
Rakudo.
Cheers,
Daniel.
--
No trees were destroyed in the generation of this email. However, a
large number of electrons were severely inconvenienced.
use. For any given software package, 99.99% of
users do not follow the developers list of look through the test
suite.
Daniel.
--
No trees were destroyed in the generation of this email. However, a
large number of electrons were severely inconvenienced.
of
> the compiler, they will look at the size of the test suites.
If they are critics to begin with, the size of the test suite will not
impress them. They could just as well conclude that Perl 6 must have a
million corner cases and gotchas that have to be tested. I have never
seen a language re
ideas. As it is, I'll probably use PDL or NumPy for that
purpose.
Daniel.
On Thu, Jan 6, 2011 at 2:39 PM, Stefan Hornburg (Racke)
wrote:
> On 01/05/2011 02:51 PM, Gabor Szabo wrote:
>>
>> Let me just give a probably totally irrelevant comment here.
>> I think most of the
On Thu, Jan 6, 2011 at 3:32 PM, Guy Hulbert wrote:
> On Thu, 2011-06-01 at 14:53 +0100, Daniel Carrera wrote:
>> I would be very interested to see something that allowed Rakudo to
>> talk to Fortran 95.
>>
>> I am going to use Fortran 95 for my thesis work, and maybe I
Is it possible to explain briefly wht the Rulle-Takens algorithm is?
That web page seems to mainly explain how some fractals like the
Mandelbrot set and the Julia set are generated. Is there a specific,
simple algorithm that we can try to implement in PDL, Perl 5 and Perl
6?
On Thu, Jan 6, 2011 a
n no
offence by this, is that people try to divert the question because they
do not like the answer. If Perl 6 + implementations had a support
comparable to C99 or Fortran 2003, I strongly suspect that most people
would have answered with "yes, it is production ready".
Daniel.
On 11
ons.
Javascript has the advantage of being in the browser. The only thing I
like about Javascript is that it is a functional language, but it is not
a terribly well designed one.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
:c is the same as 0:Inf:c
: is the same as 0..Inf
I think you get the idea. This is inspired by NumPy.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
oblem is that something like "2..10..3" might be confusing.
Hmm... I must have made a mistake here somewhere... After defining
these functions, the traditional range '2..10' doesn't work anymore. I
suppose that my new functions have a higher precedence than the
traditional .. operator. I tried to fix this, but I failed:
multi sub prefix:<..>( Int $b ) is looser(&infix:) { 0..$b }
So, I'm not doing this right.
Cheers.
Daniel.
--
I'm not overweight, I'm undertall.
>
> e.g. 0,3...* > 0, 3, 6, 9, 12
Interesting... but it doesn't seem to work in Rakudo Star (2012.02):
> @(2,5..10)
2 5 6 7 8 9 10
:-(
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
example, just now I have been looking for the methods supported by the
Range object (to see how I'd obtain the beginning and end points of a
range) and haven't found anything.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
On 22 March 2012 00:08, Brandon Allbery wrote:
> * + $c --- the next value is the current value plus $c. ("*" means
> "Whatever", and generally refers to the current value of something. In this
> case, we're specifying how to make a new value given a current value. You
> can think of it as a w
a' ... /f/ # stop when the regular expression matches
Interesting.
Cheer,
Daniel.
--
I'm not overweight, I'm undertall.
; 1, *+2 ... 13 # start at 1, step by 2s, stop at 13.
> 1, 1, *+* ... * # each new term is the sum of the previous two.
Oh! That second one is cool. a one line implementation of the
Fibonacci sequence.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
But that's a bit of a problem if I *don't* want a value higher than 100.
> 2,4,8... * >= 100
2 4 8 16 32 64 128
There is no simple formula I can use at the end to get the sequence to
stop where I want. So I have to do something like:
my @a = 2,4,8... * >= 100;
@a.pop
# Use @a
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
On 22 March 2012 12:06, Moritz Lenz wrote:
>
>> But that's a bit of a problem if I *don't* want a value higher than 100.
>
> Then exclude it: 2, 4, 8 ...^ * > 100
Ok... I looked up what you did. I see how it works. Thanks.
Related questions: What types of sequences can Perl 6 recognize?
--
/compilers/features) so I am leaving the question
intentionally vague. I'd be interested in anything that you think is
interesting (e.g. speed, development style, progress, whatever).
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
ew days ago, but I quickly got stuck on how
to deal with multi-dimensional arrays. I might come back to this in
the summer if I have more time then.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
Hello,
I've been reading a little about NQP (Not Quite Perl). I was wondering
if NQP is part of the Parrot project, or if it is an independent spec.
I'm wondering if a program written in NQP will be faster in general,
or faster under Rakudo/Parrot, or not fast at all.
Cheers,
Daniel.
-
ran, but last time I
checked I think I was told that getting Rakudo to talk to Fortran
would be very difficult.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
> NQP (and thus Rakudo) has its own mechanism for calling C libraries. In
> Rakudo, this is available through NativeCall.pm in
> https://github.com/jnthn/zavolaj/
>
> (Note that currently NativeCall doesn't work together with precompiled
> modules; should still work in the latest Rakudo Star release though).
Thanks. I'll have a look.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
\[ 1,2,3], \[3,4,5], \[5,6,7] ];
In my mind, what would happen here is that the array on the right-hand
side (an array of arrays) would be converted into a matrix, which is a
2D object, and you could do regular matrix operations.
Is this sort of thing possible in Perl 6?
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
lso override the .STORE method of a scalar, but that's a bit
> creepy if you ask me).
Hmm... So you'd have to mess with the STORE method of *all* scalars
(i.e. not just the Vector() class) ?
Daniel.
--
I'm not overweight, I'm undertall.
with the STORE method of *all* scalars
>> (i.e. not just the Vector() class) ?
>
> No. Just those that you want to behave specially. And I never
> recommended it.
Ok.
Cheers,
Daniel.
--
I'm not overweight, I'm undertall.
Where in Rakudo is the slowdown? I'm by no means a compiler developer, but
I enjoy tinkering.
Dan
On Wed, Apr 13, 2016 at 8:04 AM, Elizabeth Mattijsen via RT <
perl6-bugs-follo...@perl.org> wrote:
> > On 12 Apr 2016, at 04:40, Daniel Green (via RT) <
> perl6-bugs-f
I've been looking into this and just got some clarification from TimToady
on expected behaviour for adverbs and chains in general (
http://irclog.perlgeek.de/perl6/2016-06-02#i_12589974). The gist is that
adverbs should be placed at the end of a chain and then distributed to all
the operators in th
Even if there are no other changes to existing behaviour, I would still
suggest 'warn'ing or 'note'ing when a non-existent part is hit and
resolving is stopped. Or at least changing the documentation, because the
current behaviour is definitely a bit surprising (at least in my opinion).
Dan
501 - 600 of 1122 matches
Mail list logo