At least in #perl6 I've never seen anybody try to write an auto-deduced
sequence, and fail because of floating-point errors.
Except for Martin's 1, sqrt(2), 2...8
But, yes, the widespread use of Rats rather than Nums
means only the edgiest of edge-cases fails. And as you get
an explicit
On 03/25/2012 06:55 AM, Moritz Lenz wrote:
I don't know if the majority of the perl6-language posters have realized
it yet, but both Perl 6 and the its implementations are quite mature
these days. Mature enough that such proposals should be prototyped as
modules, and thoroughly tested on lots
I also like agreement, conformance... In a situation like this, I
reach for a thesaurus- very useful when looking for just the right
name for a variable/method name/way to describe a concept. Here's a
grab bag to start with:
accord, agree, conformance, conformation, conformity, congruence,
yary suggested:
In a situation like this, I reach for a thesaurus
The standout from that list for me is: 'consonance'.
Second favorite is: 'gibe' or 'jibe'.
But the underlying operation is .ACCEPTS(),
so perhaps the operation should be referred to
as acceptance or acceptibility.
Damian
On Fri, Mar 23, 2012 at 07:14:51PM +1100, Damian Conway wrote:
: For example:
:
: 1, 1.0001, 1.0002 ... *
:
: won't deduce a correct arithmetic sequence either (on most hardware).
Actually, that one works fine in both niecza and rakudo, since those are Rats.
Larry
Actually, that one works fine in both niecza and rakudo, since those are Rats.
Oh, that's good to hear.
It doesn't change my underlying argument however. Any operations
performed on genuine floats are going to lose precision, and if we're
using such operations to infer relationships (such as
On 2012-March-23, at 12:01 am, Damian Conway wrote:
[...] we ought to allow for the inevitable loss of significant digits within
the two preliminary division ops, and therefore compare the results with an
suitably larger epsilon.
That would not only be computational more justifiable, I
On 2012-March-21, at 6:38 pm, Daniel Carrera wrote:
The idea of smart-matching a function just doesn't quite fit with my brain. I
can memorize the fact that smart-matching 7 and foo means evaluating foo(7)
and seeing if the value is true, but I can't say I understand it.
Maybe it just needs
On 03/23/2012 09:14 AM, Damian Conway wrote:
it means we cannot do the same fuzziness for the endpoint,
Except that we will be encouraging people to use: * = $END
as their standard endpoint pattern, which will provide
most of the necessary fuzz.
and which will still surprise those people
On 03/25/2012 05:59 AM, David Green wrote:
On 2012-March-23, at 12:01 am, Damian Conway wrote:
[...] we ought to allow for the inevitable loss of significant digits within
the two preliminary division ops, and therefore compare the results with an
suitably larger epsilon.
That would not
Patrick correctly observed:
On Rakudo on my system, sqrt(2) indeed produces a Num,
but since floating point arithmetic doesn't result in
sqrt(2) / 1 == 2 / sqrt(2), no geometric sequence is deduced
and the sequence fails with unable to deduce sequence.
Although, arguably, that might be
On 03/23/2012 07:01 AM, Damian Conway wrote:
Patrick correctly observed:
On Rakudo on my system, sqrt(2) indeed produces a Num,
but since floating point arithmetic doesn't result in
sqrt(2) / 1 == 2 / sqrt(2), no geometric sequence is deduced
and the sequence fails with unable to deduce
On 03/23/2012 05:30 AM, Patrick R. Michaud wrote:
On Fri, Mar 23, 2012 at 03:03:09PM +1300, Martin D Kealey wrote:
Question: do we support
1, 2i, -4 ... 256
I think this ought to work, but for some reason Rakudo on my system
hangs whenever I try it.
The problem was that infix:!=
But unless we twist smartmatching semantics for that purpose,
No!
Please, no.
;-)
it means we cannot do the same fuzziness for the endpoint,
Except that we will be encouraging people to use: * = $END
as their standard endpoint pattern, which will provide
most of the necessary fuzz.
So
On Thu, Mar 22, 2012 at 11:07:08AM -0500, Bruce Gray wrote:
Well, it works in Niecza. It does not (yet) work in Rakudo:
15:25 Util perl6: my @squares := 0, (- *@a { @a.elems ** 2 })
... *; say ~@squares[^11];
15:25 p6eval ..niecza v15-4-g1f35f89: OUTPUT0 1 4 9 16 25 36 49
64 81
On 22 March 2012 04:59, Jonathan Lang datawea...@gmail.com wrote:
My understanding is if you want to count by threes, starting at 2 and ending
at 14, you should be able to write:
2, 5 ... 14
That certainly looks very intuitive, and it is similar to what I would
write in an email. The only
Jonathan Lang (), Daniel ():
So:
1, 3 ... 13 # same as 1,3,5,7,9,11,13
1 ... 10 # same as 1,2,3,4,5,6,7,8,9,10
1, 2, 4 ... 100 # same as 1,2,4,8,16,32,64
That last one doesn't work on Rakudo :-(
And it never will. Note that 100 is not a power of 2, and that the
goal needs to match
On 22 March 2012 11:02, Carl Mäsak cma...@gmail.com wrote:
1, 2, 4 ... 100 # same as 1,2,4,8,16,32,64
That last one doesn't work on Rakudo :-(
And it never will. Note that 100 is not a power of 2, and that the
goal needs to match exactly. This is because smartmatching is used,
...
If
On 03/22/2012 11:51 AM, Daniel Carrera wrote:
On 22 March 2012 11:02, Carl Mäsak cma...@gmail.com wrote:
1, 2, 4 ... 100 # same as 1,2,4,8,16,32,64
That last one doesn't work on Rakudo :-(
And it never will. Note that 100 is not a power of 2, and that the
goal needs to match exactly.
On 22 March 2012 12:06, Moritz Lenz mor...@faui2k3.org 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
Daniel ():
Related questions: What types of sequences can Perl 6 recognize?
As covered by Jonathan Lang earlier in this thread (though it was
perhaps easy to miss), Perl 6 auto-detects arithmetic sequences (same
additive difference each time) and geometric sequences (same
multiplicative factor
On Mar 21, 2012, at 11:49 PM, Jonathan Lang wrote:
What I want to know is whether there's a way to define a step
function that's based in part or in whole on the current term's
index. For example, how would I use infix:... to generate the
perfect squares between 0 and 100? Namely,
On Thu, Mar 22, 2012 at 9:07 AM, Bruce Gray bruce.g...@acm.org wrote:
On Mar 21, 2012, at 11:49 PM, Jonathan Lang wrote:
What I want to know is whether there's a way to define a step function
that's based in part or in whole on the current term's index. For example,
how would I use
Am 22.03.2012 17:07, schrieb Bruce Gray:
I have run into the same need for something like :index, while
playing with RosettaCode tasks like Continued_fraction.
If you want the index, don't use series. It's easy enough to access the
array elements yourself. You can do something like
my @a :=
On Thu, 22 Mar 2012, Carl Mäsak wrote:
Jonathan Lang (), Daniel ():
1, 2, 4 ... 100 # same as 1,2,4,8,16,32,64
That last one doesn't work on Rakudo :-(
And it never will. Note that 100 is not a power of 2, and that the goal
needs to match exactly. This is because smartmatching is
On Fri, Mar 23, 2012 at 03:03:09PM +1300, Martin D Kealey wrote:
On Thu, 22 Mar 2012, Carl Mäsak wrote:
Jonathan Lang (), Daniel ():
1, 2, 4 ... 100 # same as 1,2,4,8,16,32,64
That last one doesn't work on Rakudo :-(
And it never will. Note that 100 is not a power of 2, and that
On 03/21/2012 09:07 PM, Daniel Carrera wrote:
Hello,
Is it possible to create a new range operator ':' such that:
a:b is the same as a..b (this is the easy part)
a:b:c is a range from 'a' to 'b' by steps of 'c'. For example, 2:15:3
== 2,5,8,11,14
That can be done by giving the new
Hi Moritz
a:b is the same as a..b (this is the easy part)
a:b:c is a range from 'a' to 'b' by steps of 'c'. For example, 2:15:3
== 2,5,8,11,14
That can be done by giving the new infix:: operator list associativity
(niecza already supports this)
Can you explain or give me a link that
Is it possible to create a new range operator ':' such that:
Do you need to?
a:b:c is a range from 'a' to 'b' by steps of 'c'.
Perl 6 already has: $a,*+$c...* =$b
E.g. 2, 5 ...^ *=15 2,5,8,11,14
:b is the same as 0..b
Perl 6 already has ^$b
e,g, ^100 0..99
a: is the same
Daniel (), Damian ():
: is the same as 0..Inf
Perl 6 already has: ^Inf 0,1,2,3,4,5,
Hah, Damian made an off-by-one error! Oh wait...
// Carl
Damian (), Daniel ():
Perl 6 already has: 0,$c...*
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
:-(
Keep in mind that infix:.. will listify to the kind of
one-step-at-a-time range that was produced
Interesting... but it doesn't seem to work in Rakudo Star (2012.02):
@(2,5..10)
You need three dots, not two.
Damian
On 21 March 2012 22:50, Carl Mäsak cma...@gmail.com wrote:
It would also produce an infinite list, because by the rules you need
the RHS of infix:... to match exactly, and 10 is not in the infinite
list 2, 5, 8, 11, 14... Which is why you'd need to write something
like * = 10.
Ok, so
Ok, so infix:... isn't what I wish for either... Can you help me
understand Damian's example?
Breaking down that example:
$a, # Start at $a
*+$c # Generate next number via: sub($prev_num} { $prev_num + $c }
... # Repeat until...
* =$b # ...this sub matches:
On 22 March 2012 00:08, Brandon Allbery allber...@gmail.com 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
On Wed, Mar 21, 2012 at 7:52 PM, Daniel Carrera dcarr...@gmail.com wrote:
* = $b --- this determines where the sequence ends: when the current value
is greater or equal to $b.
So... after the ... you have an anonymous function that has to
return 'True' for the sequence to end? Seems
On 22 March 2012 01:13, Solomon Foster colo...@gmail.com wrote:
It actually smartmatches whatever is on the right hand side against
the sequence, and stops when the smartmatch returns True. It just
happens that you smartmatch an anonymous function, it executes the
function and returns its
My understanding is if you want to count by threes, starting at 2 and ending at
14, you should be able to write:
2, 5 ... 14
That is, the list-building operator looks at the previous two or three terms
preceding it to determine where to start and what step function to use, and
then looks
What I want to know is whether there's a way to define a step function that's
based in part or in whole on the current term's index. For example, how would
I use infix:... to generate the perfect squares between 0 and 100? Namely,
'0,1,4,9,16,25,36,49,64,81,100'. For example, is Perl 6 set
39 matches
Mail list logo