»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:21 FROGGS left 00:22 beastd left
TimToady the failure mode is that JAST::Instruction.new has a slurpy *@args, and the first time we call it with any args, it says: Wrong number of arguments passed; expected 1..1, but got 6 00:22
00:22 laouji joined
TimToady as if the sig has @args instead of *@args, so probably a boolean lost somewhere due to ?"0"-ness 00:23
somewhere down in the metamodel/binder
00:30 andreoss left
eli-se That reminds me of me choosing to use 0 as the ID of the root user in a Python system. Each day I run a tool that detects suspicious constructs such as 'if user_id:' which should really be 'if user_id is not None:'. 00:32
I should have created a proper UserID data type since the current state of affairs is a nightmare. :D 00:33
geekosaur is suddenly reminded of ruby programs he's run across that extend nilClass to check if they're being used with <x> and if so substitute an appropriate value... 00:36
00:42 vendethiel left
TimToady well, I just don't see where the problem is; guessing it's a stage0 vs stage1 issue 00:47
TimToady givingup, soif anyoneelse wants to lookatit, feelfree. 00:48
TimToady retreatsfromthefinalfrontier 00:49
eli-se geekosaur: or be like Objective-C: class NilClass; def method_missing(*args); /* no-op */ end; end 00:56
Sending a message to nil is a no-op in Objective-C. \o/ 00:57
01:00 tinyblak joined 01:02 aindilis left 01:12 BenGoldberg joined 01:13 colomon left 01:15 colomon joined 01:27 vendethiel joined 01:46 ilbot3 joined 01:55 muraiki joined 02:16 noganex_ joined 02:18 noganex left 02:22 laouji_ joined 02:23 eli-se left 02:25 laouji left 02:26 laouji_ left, muraiki left, laouji joined 02:28 laouji left, laouji joined 02:29 larion joined 02:35 FROGGS joined
dalek kudo/nom: 2cb72b2 | TimToady++ | src/core/Any.pm:
add a print-nl default method
02:43
02:44 larion left 02:45 vendethiel left
TimToady I hate it when I mistype TEST_JOBS and don't notice till S17... 02:51
awwaiid CORE::.keys.grep(/infix/)>>.say # this used to give me a list of the core infix ops, but doesn't now (rakudo-star 2015-03). Is there a new way? 02:52
hm. I see them in there with CORE::, but I don't see them in the .keys 02:54
TimToady works here 02:55
awwaiid alright. thanks
TimToady (not star, master) 02:56
star-m: CORE::.keys.grep(/infix/)>>.say
camelia star-m 2013.03: OUTPUT«&infix:<andthen>␤&infix:<…>␤&infix:<...>␤&infix:<does>␤&infix:<≽>␤&infix:<≼>␤&infix:<⊎>␤&infix:<⊍>␤&infix:<⊅>␤&infix:<(>)>␤&infix:<⊇>␤&infix:<⊄>␤&infix:<(<)>␤&infix:<⊆>␤&infix:<⊖>␤&infix:<∖>␤&infix:<∩>␤…»
awwaiid huh. ok cool
hm. this REPL hates me. -e works as expected. 02:57
TimToady esp if you use non-ascii
I just wish the shell had another decent quote character other than ' 02:58
02:59 pullphinger joined
awwaiid oh wow you're right -- I exited and started it again and it worked, and surely used non-ascii previously 03:00
I'll have to watch out for that!
I often use $( ... ) as my `` char, but that only helps a subset of cases :) 03:02
TimToady hmm, I wonder if we could do a cheap repl by inputting lines in the shell and then piping to 'perl6 -' 03:04
probably wouldn't have shell-line editing though 03:05
03:16 aindilis joined 03:28 rhr joined 03:35 laouji left
awwaiid rlwrap 03:49
rlwrap perl6 - # seems to wait for ctrl-d before doing anything, like cat|perl6 - 03:53
04:03 aindilis left 04:04 FROGGS_ joined, aindilis joined 04:05 Exodist joined 04:06 Sqirrel left 04:07 FROGGS left 04:16 SamuraiJack joined 04:23 SamuraiJack left 04:25 laouji joined
BenGoldberg So I've got some perl6 code I want to benchmark, but I'm on windows and don't have the 'times' command. Does anyone know a reasonable substitute? 04:28
04:31 pecastro joined, lolisa joined, anaeem1_ joined 04:39 koo5 left
skids
.oO(Something needs to be done so Perl6 manpages and Perl5 manpages for identically named packages can coexsist)
04:47
04:53 adu joined 05:05 Sqirrel joined 05:09 kaare_ joined 05:15 virtualsue joined 05:40 BenGoldberg left 05:52 skids left 05:56 anaeem1_ left 05:57 lolisa left, rindolf joined, lolisa joined 06:02 telex left 06:04 telex joined 06:07 gfldex joined 06:23 anaeem1_ joined 06:41 anaeem1_ left 06:55 laouji left, adu left, laouji joined 07:02 lolisa left 07:06 rindolf left, anaeem1 joined 07:07 laouji left, laouji joined 07:09 FROGGS_ is now known as FROGGS
FROGGS smoking the ecosystem is almost impossible now 07:11
startup time with ~200 dists installed is at 3.6s :o( 07:12
sadly I am afk/offline most of the weekend
07:15 lolisa joined 07:22 cschwenz joined 07:24 inokenty left 07:26 lolisa left 07:28 FROGGS left 07:30 Sqirrel left 07:31 Sqirrel joined, yvan1 joined 07:35 _mg_ joined 07:40 yvan1 left 07:41 lolisa joined, inokenty joined 07:42 vendethiel joined 07:43 _mg_ left 07:48 rurban_ joined 07:58 diana_olhovik_ joined 08:04 Sqirrel left 08:07 vendethiel left 08:09 Sqirrel joined 08:14 cschwenz left 08:23 darutoko joined 08:27 anaeem1 left 08:40 lolisa left 08:43 rindolf joined 08:45 krunen joined 08:47 RabidGravy joined
masak good antenoon, #perl6 08:50
08:53 Sqirrel left, anaeem1 joined 08:57 robinsmidsrod left 08:58 robinsmidsrod joined 09:00 vendethiel joined
masak updated strangelyconsistent.org/blog/here-be-heredocs to reflect TimToady++'s latest work. 09:03
09:07 Sqirrel joined 09:13 Sqirrel left 09:14 vendethiel- joined, vendethiel left 09:15 Sqirrel joined 09:34 anaeem1 left 09:36 rurban_ left 09:39 diana_olhovik_ left, rurban_ joined 09:42 eli-se joined, Perl6_newbee joined 09:50 robinsmidsrod left 09:52 robinsmidsrod joined 09:56 Sqirrel left 10:05 Sqirrel joined 10:14 Sqirrel left 10:22 Sqirrel joined 10:24 _mg_ joined 10:25 robinsmidsrod left, anaeem1_ joined 10:26 robinsmidsrod joined, _mg_ left 10:31 laouji left 10:33 cschwenz1 joined 10:34 robinsmidsrod left 10:37 robinsmidsrod joined 10:46 anaeem1_ left 10:47 robinsmidsrod left 10:49 robinsmidsrod joined
literal masak: I updated perl6.vim to not choke on the whitespace in "qq :to" :P 10:50
masak :) 10:52
literal++
10:56 robinsmidsrod left
colomon masak++ # nice post 10:56
10:56 robinsmidsrod joined 10:57 diana_olhovik_ joined 10:59 robinsmidsrod left, robinsmidsrod joined 11:02 robinsmidsrod left 11:03 robinsmidsrod joined 11:05 robinsmidsrod left 11:07 robinsmidsrod joined 11:08 robinsmidsrod left 11:10 robinsmidsrod joined 11:20 RabidGravy left 11:21 tinyblak left 11:24 robinsmidsrod left 11:25 robinsmidsrod joined 11:34 RabidGravy joined 11:38 rurban_ left 11:47 kurahaupo joined, robinsmidsrod left 11:50 robinsmidsrod joined
timotimo oh, cool 11:51
11:54 RabidGravy left 11:55 BenGoldberg joined 12:11 spider-mario joined 12:26 diana_olhovik__ joined 12:27 diana_olhovik_ left
masak feels like all of #perl6 has taken the weekend off ;) 12:37
ShimmerFairy masak: wouldn't qq:to<VERSE> be seen as an argument to the :to adverb, or was that trickiness about () next to an adverb? (Feels like an argument in any case, so I personally wouldn't go for it) 12:42
masak++ too :)
masak it *is* an argument to the :to adverb
colomon masak: some of us are still trying to wake up
masak oh right. because time zones. 12:43
ShimmerFairy Oh? I always thought the :to adverb just told the Q lang "the string you get actually specifies the end delimiter to a heredoc. Oh and a heredoc is coming your way." 12:44
masak m: sub heredoc(:$to) { say "the value of the :to adverb is $to" }; say heredoc :to<VERSE> 12:47
camelia rakudo-moar 0b2092: OUTPUT«the value of the :to adverb is VERSE␤True␤»
masak m: sub heredoc(:$to) { say "the value of the :to adverb is $to" }; heredoc :to<VERSE>
camelia rakudo-moar 0b2092: OUTPUT«the value of the :to adverb is VERSE␤»
masak m: sub heredoc(:$to) { say "the value of the :to adverb is $to" }; heredoc :to 'VERSE'
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5=== Error while compiling /tmp/e1miiceVuj␤Two terms in a row␤at /tmp/e1miiceVuj:1␤------> 3of the :to adverb is $to" }; heredoc :to7⏏5 'VERSE'␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
masak well, there is some exception to the parsing going on.
but otherwise :to feels to me like an ordinary named argument on q or qq. 12:48
m: sub heredoc(:$to) { say "the value of the :to adverb is $to" }; heredoc :to('VERSE')
camelia rakudo-moar 0b2092: OUTPUT«the value of the :to adverb is VERSE␤»
ShimmerFairy Yeah, I just always saw the delimiter as the string given to Q, and the heredoc being some separate, special thing. (That is, that a heredoc's text isn't equivalent in the language's eyes to qq"the text in the heredoc") 12:49
or, to put it simply, I never thought of :to as taking an argument :P 12:50
masak oh, I see what you mean.
that might actually be a much closer understanding of what's going on.
"here, have a placeholder string -- but because I also said :to, we will go into heredoc parsing mode at the next newline" 12:51
moritz [ptc]++
ShimmerFairy so :to<VERSE> seemed to me like you were giving :to an argument, and leaving the Q lang no string to use as a delimiter, assuming <> next to an adverb without space is interpreted as an argument to it.
masak ShimmerFairy: I'm sorely tempted to add the essence of this discussion to the blog post. I wonder if it'd detract from the main thread of things too much or not. 12:52
ShimmerFairy Might be worth another post, if nothing else :)
masak oh, you're right.
ShimmerFairy I do realize I'm trying to make a very fine distinction, judging by how I struggled to put the point across. 12:53
timotimo github.com/botwillacceptanything/b...ptanything - interesting implementation of basically nomic
masak timotimo: wow, yes.
"No other entities, whether biological, legal, or digital, may claim ownership of any property owned by the Autonomous Software." *snrk* 12:54
nine masak: the way to indent the terminator in P5 is to include the indentation in the declaration: my $foo = <<' END';
ShimmerFairy masak: for a while actually I saw q:to/DELIM/ as one indivisible "atom" of syntax, and then one day I went "oh! qq is the Q lang thing, :to is the adverb, and /DELIM/ is the string! And the heredoc is a special extra thing the compiler knows how to handle."
masak nine: yeah, but. ick.
nine masak: exactly :) 12:55
12:55 eli-se left
masak ShimmerFairy: you're now convinced me that this deserves an extra blog post. 12:55
ShimmerFairy I'm fully willing to admit that my intuition that one day was wrong if it turns out to be so, though :) 12:56
m: sub heredoc(:$to) { say "the value of the :to adverb is $to" }; heredoc :to/VERSE/ 12:57
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5=== Error while compiling /tmp/69SOA7w1s0␤Missing required term after infix␤at /tmp/69SOA7w1s0:1␤------> 3:to adverb is $to" }; heredoc :to/VERSE/7⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
ShimmerFairy interesting
masak: by the way, and this is probably thanks to the synopses, q:to/DELIM/ just looks like a heredoc specifier to me (like << does to a P5 programmer, I bet), so there's no way you're stopping my // delims any time soon! :P 12:59
masak ShimmerFairy: as I said in the blog post, I don't expect to stop the inevitable flow of // usage :) 13:00
ShimmerFairy you say "inevitable" like it hasn't already happened :P
masak it's happened, it's happening, it will keep happening. 13:01
13:24 Rounin joined 13:27 koo5 joined
masak "mkdir a directory and all its parents" is already spec'd in newio, as `mkpath` 13:30
13:30 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
masak if we're gonna have that functionality in core, that's the name it should have :) 13:30
13:32 eli-se joined
masak .tell lizmat I'm not sure I think the second positional to tmpdir/homedir pulls its own weight. why not just construct the desired path object and pass it in as the first argument? 13:38
yoleaux masak: I'll pass your message to lizmat.
dalek ecs/newio: 84bb1f5 | (Carl Masak)++ | S16-io.pod:
fix copy-pasto
masak std: sub foo($a, $b --> Bool {} 13:42
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unable to parse signature at /tmp/d5F8WHwBdj line 1:␤------> 3sub foo7⏏5($a, $b --> Bool {}␤Couldn't find final ')'; gave up at /tmp/d5F8WHwBdj line 1:␤------> 3sub foo($a, $b --> Bool 7⏏5{}␤ expecting any of:␤ constr…»
masak std: sub foo($a, $b --> Bool) {}
camelia std 28329a7: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/pEuPk47vzO line 1:␤------> 3sub foo(7⏏5$a, $b --> Bool) {}␤ $b is declared but not used at /tmp/pEuPk47vzO line 1:␤------> 3sub foo($a, 7⏏5$b --> Bool) {}␤ok 00:00 139m␤»
masak std: sub foo($a, $b --> Bool) { say "yeah, yeah. using $a and $b. sheesh!" }
camelia std 28329a7: OUTPUT«ok 00:00 141m␤»
masak std: sub foo($a, $b, --> Bool) { say "yeah, yeah. using $a and $b. sheesh!" }
camelia std 28329a7: OUTPUT«ok 00:00 141m␤»
dalek ecs/newio: ff4f647 | (Carl Masak)++ | S32-setting-library/IO.pod:
remove extraneous comma before -->

  Syntax is allowed, it seems. But all the other siggies don't have that comma.
13:43
[Tux] HELP! 13:48
resolve stage failed for Slang::Tuxic: Project Slang::Tuxic not found in the ecosystem
masak oh noes
[Tux] now installed from git 13:49
# Failed test ''0' in Boolean context' 13:50
masak |Tux|: right. that changed yesterday.
[Tux] why? why? why? (I read the discussion)
masak m: say ?"0"
camelia rakudo-moar 0b2092: OUTPUT«True␤»
[Tux] that is so NOT perl
masak |Tux|: because Perl 6 makes a clearer distinction between numbers and strings. 13:51
non-empty strings are truthy. only the empty string is falsy.
13:51 Rounin left
[Tux] what was the verdict: 51 to 49? 13:51
masak no, there was agreement pretty much across the board.
[Tux] hmmm
nine I abstained 13:52
masak steps in front of nine, discreetly hiding him
complete agreement.
[Tux] I see someone in the back trying to raise a hand? 13:53
nine On the one hand PHP also considers "0" as true and it really sucks. On the other hand Perl 6 at least allows you to sanely state what data type you expect. So it's hard to say how it will be in practice.
masak I see April hath no release manager.
[Tux] method Bool { 13:54
$.text.defined && ($.text ne "0" && ?$.text);
}
:P
masak m: say Date(2015, 4, 23) - Date.today
camelia rakudo-moar 0b2092: OUTPUT«Cannot find method 'Date'␤ in block <unit> at /tmp/e_gN0Bdox7:1␤␤»
masak m: say Date.new(2015, 4, 23) - Date.today
camelia rakudo-moar 0b2092: OUTPUT«12␤»
nine I guess most falsy "0"s will come as URI parameters or parsed files. In both cases, APIs should be able to deal with it sensibly.
masak |Tux|: what about "0.0" ? 13:55
|Tux|: and "0." and "0e1" ?
nine m: say ?+"0"
camelia rakudo-moar 0b2092: OUTPUT«False␤»
[Tux] CSV is strings: it does not know about Int
masak |Tux|: why do you only check for that particular string zero? seems very arbitrary.
nine [Tux]: it's so easy to numify
[Tux] this was the first thing that sprang to mind 13:56
masak well, you can only numify if you know you have a number.
[Tux] I think I want "" or "0"
nine [Tux]: CSV cannot distinguish, true. But the code that processes the data contained in the CSV should know the data types involved.
masak yes, but why? there are a lot of strings that can represent 0.
nine DBI even uses "0e0" to mean zero but true. 13:57
[Tux] $.text.defined && $.text ne "0" && $.text ne "";
nine A neat hack but still a hack :)
masak nine: so does the infix:<..> operator in list context in p5, IIRC.
nine masak: we have to admit though, that it's probably a bit less DWIM and makes thinking about data types less optional. Which _is_ a step away from P5. 13:58
masak [Tux]: so " 0" is truthy? or is whitespace already trimmed at that point?
|Tux|: what about "00" ?
|Tux|: how about "0x0" ?
[Tux] yes, truth, and trimming is an option
13:58 eli-se left
[Tux] 0x0 it trutch, just as 0e0 13:58
masak ok. for some reason. :) 13:59
nine [Tux]: so the rule is: an undefined or empty string is falsy, or if it contains a zero but only if the zero is spelled exactly as "0" not any of the other ways to write it. 14:00
[Tux]: the part about the zero drowns the rest of the rule
[Tux] sounds about right 14:01
I might come back on thise once/if I implement typed fields
btw, lots of perl6 talks on NLPW, and people seemed to be enthusiastic 14:02
nine [Tux]: and we have: numbers can be written as decimals, hex, or binary or in scientific notation everywhere, including in strings, except for the zero in a string that makes it evaluate to False in boolean context. That may only be written as a decimal number with no leading zeros.
[Tux] I only came to halfway my stuff because of the overwhelming amount of questions - which I asked for 14:04
nine [Tux]: it's just such a special special case for the sake of some DWIM. And I've seen people write code like "if $str" which misses this special case so many times and had to fix real bugs that come from this.
masak |Tux|: ooc, what did people ask about?
er, [Tux]
[Tux] longest subject was the difference between undef in perl5 and Nil, Any, Str, Int in perl6 14:05
and why one would need it. which of course is easy to explain :) 14:06
moritz masak++ # blog post
masak I can see how that explanation might get long, yes :)
[Tux] masak, as I am "almost" done, what are the specifics that you require ? 14:08
if I add "strict" to what I already have, would that suffice for you?
masak [Tux]: I don't require anything, I think. I'm willing to take my Text::CSV off the ecosystem now.
[Tux] and how do I then upload mine? 14:09
masak commit to github.com/perl6/ecosystem
[Tux] FWIW having Slang::Tuxic not available through panda makes Travis fail 14:10
dalek osystem: 7893ed3 | masak++ | META.list:
remove my Text::CSV from the ecosystem
masak [Tux]: ^^
[Tux] do I create a pull request? 14:11
moritz [Tux]: if you can't commit directly, tell me your github ID, and I'll give you access 14:12
[Tux] Tux
moritz [Tux]: invitation sent
14:16 anaeem1 joined
dalek osystem: 1a79bb1 | (H.Merijn Brand)++ | META.list:
Add Text::CSV to the ecosystem

This is work based on perl5's Text::CSV_XS Extended to support most of the beauty the perl6 has to offer Implemented some of the features that masak's Text::CSV had
14:17
14:17 anaeem1 left, robinsmidsrod left
masak [Tux]++ 14:17
[Tux] docs is work in progress, as is the csv top-level function 14:18
14:18 anaeem1_ joined 14:19 BenGoldberg left, robinsmidsrod joined
[Tux] shit, that means I just committed myself to some maint work :/ 14:19
14:20 eli-se joined, BenGoldberg joined
jdv79 is the nlpw site down? 14:20
14:23 anaeem1_ left
eli-se jdv79: 14:26
yes
hij is kapot
[Tux] eli-se, did I miss you yesterday or did you deliberately try to avoid me? 14:28
eli-se I did not try to avoid anyone!
But I was at home.
14:29 robinsmidsrod left 14:30 robinsmidsrod joined 14:36 n0vacane left 14:38 robinsmidsrod left 14:40 robinsmidsrod joined 14:43 RabidGravy joined 14:46 raiph joined
raiph .tell ptc www.reddit.com/r/perl6/comments/326...rg/cq8q0yq 14:48
yoleaux raiph: I'll pass your message to ptc.
BenGoldberg I'm having a problem, which I *think* is caused due to gather/take. Here's the version with a workaround (fpaste.scsys.co.uk/471895), but if I change lines 41 and 42, swapping which is commented, I get "uninitialized value" errors on lines 23 and 26. 14:53
14:53 molaf_ left 14:54 molaf_ joined 14:59 robinsmidsrod left
dalek pan style="color: #395be5">perl6-examples: ac2cbfc | (L. Grondin)++ | categories/best-of-rosettacode/binomial-coefficient.pl:
updating binomial coeff implementation
15:01
pan style="color: #395be5">perl6-examples: c4decad | (L. Grondin)++ | / (216 files):
Merge branch 'master' of github.com:perl6/perl6-examples
15:03 robinsmidsrod joined 15:06 zakharyas joined 15:07 cschwenz1 left 15:10 aborazmeh joined, aborazmeh left, aborazmeh joined 15:20 aborazmeh left 15:23 diana_olhovik__ left
colomon BenGoldberg: like you’re getting the wrong $p? 15:34
15:36 aborazmeh joined, aborazmeh left, aborazmeh joined
BenGoldberg Somehow, $p is undefined, when it should be an Int (an earlier value from @primes) 15:41
15:48 skids joined
skids I uploaded github.com/skids/perl6xproto last night. It will need PR405 before an ecosystem add. 15:52
15:54 aborazmeh left 15:55 robinsmidsrod left 15:56 BenGoldberg left, robinsmidsrod joined
ugexe can someone rebuild projects.json? Digest is missing and blocking all sorts of stuff 15:58
nqp-j is also broke travis-ci.org/ugexe/zef/jobs/58081560#L236 16:02
seems weird to include the #vim stuff in the examples 16:09
16:12 skids left, tinyblak joined
TimToady yes, npq-j build is broken badly; I did some investigaton yesterday but decided it probably needed someone more familiar with debugging on jvm 16:13
jnthn: ^^ 16:14
ugexe well luckily it was building the day before yesterday 16:16
excuse my naivety, but is unboxing ala MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO something that would affect '1..1' ?
TimToady that's not the problem 16:17
well, if so, it's at a lower level
the immediate problem is that it's passing 6 arguments to a *@args which somehow is losing the * 16:18
ugexe ah. the other commits from yesterday looked harmless and straight forward to me, which i guess isnt saying much
TimToady but I looked at all the slurpy descriptors I could find and they all looked numeric, so maybe something in (de)serialization 16:19
at that point my fogbrane drifted in
16:20 dalek left 16:21 eli-se left, dalek joined, ChanServ sets mode: +v dalek
jnthn .tell FROGGS Please undo removing MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO; it's probably useful for, for example, v5. 16:25
yoleaux jnthn: I'll pass your message to FROGGS.
TimToady and maybe the jvm stage0? 16:27
jnthn Uh, yes, very much that.
nwc10 take off and, er "full clean build". It's the only way to be sure 16:28
jnthn oh, hmm
I think it mighta been timotimo's patch 16:29
16:29 pullphinger left, pullphinger joined
TimToady the patch desc seems a bit...moar-centric... 16:30
I guess there's a jvm-centric one too 16:31
"giving unknown data for now" is not terribly reassuring however
TimToady goes back to working on val 16:32
nwc10 .tell FROGGS Ooops you're innocent. Please try harder next time :-) 16:33
yoleaux nwc10: I'll pass your message to FROGGS.
TimToady well, but would v5 still need it? 16:34
jnthn No, I still want that bit of the FROGGS++ patch reverted
nwc10 op
.tell FROGGS Guess what, Problem *still* Exists Between (my) Keyboard And Chair. 16:35
yoleaux nwc10: I'll pass your message to FROGGS.
jnthn It's part of the 6model boolification API.
16:36 raiph left 16:41 pullphinger left 16:44 Sqirrel left
ugexe i think timotimos was fine because i was able to build jvm rakudo/nqp yesterday 16:51
18 hours ago was my last successful jvm build 16:52
16:56 lolisa joined 16:58 colomon left, Sqirrel joined 17:03 robinsmidsrod left 17:05 robinsmidsrod joined
dalek pan style="color: #395be5">perl6-examples: 0c8e290 | paultcochrane++ | categories/best-of-rosettacode/prime-decomposition.pl.niecza:
prime-decomposition now works in Rakudo
17:05
perl6-examples: d46ae5e | paultcochrane++ | categories/best-of-rosettacode/prime-decomposition.pl.niecza:
perl6-examples: Indent code consistently
17:05 dalek left 17:06 colomon joined, dalek joined, ChanServ sets mode: +v dalek 17:17 Perl6_newbee left 17:20 telex left
dalek c: 4b29315 | moritz++ | lib/Type/Str.pod:
Str.ends-with
17:22
17:22 telex joined 17:24 eli-se joined 17:28 rindolf left
moritz m: nqp::say(42) 17:29
camelia rakudo-moar 0b2092: OUTPUT«This type cannot unbox to a native string␤ in block <unit> at /tmp/SM8eWzlR7K:1␤␤»
moritz m: nqp::say("42")
camelia rakudo-moar 0b2092: OUTPUT«42␤»
17:29 robinsmidsrod left 17:31 aborazmeh joined, aborazmeh left, aborazmeh joined 17:32 robinsmidsrod joined, rindolf joined 17:36 aborazmeh left 17:39 robinsmidsrod left 17:40 aborazmeh joined, aborazmeh left, aborazmeh joined 17:42 robinsmidsrod joined 17:43 tinyblak left 17:45 aborazmeh left
TimToady ugexe: nqp wasn't bumped till after then, so it could have been latent unless you force nqp to use the master branch 17:50
17:53 xfix joined, xfix left, xfix joined
timotimo i'm fine? :S 17:54
dalek rl6-roast-data: 3b8310b | coke++ | / (9 files):
today (automated commit)
17:56
17:58 robinsmidsrod left
ugexe TimToady: "Note: checking out '2015.03-92-gc4044af'." was from my last successful jvm build (timotimo's last commit) 17:58
17:59 robinsmidsrod joined, anaeem1_ joined
ugexe im not sure if that proves anything or not re: bumping versions 18:00
18:00 anaeem1_ left
timotimo i don't remember changing anything in jvm code recently? 18:00
maybe i should backlog
18:00 anaeem1 joined
ugexe i think you're safe 18:00
timotimo thanks :)
18:03 robinsmidsrod left, robinsmidsrod joined 18:05 anaeem1 left
dalek pan style="color: #395be5">perl6-examples: 2a252e7 | paultcochrane++ | t/categories/best-of-rosettacode.t:
Add tests for best-of-rosettacode examples
18:05
18:10 robinsmidsrod left 18:11 robinsmidsrod joined 18:15 robinsmidsrod left 18:17 robinsmidsrod joined, robinsmidsrod left 18:18 robinsmidsrod joined 18:19 robinsmidsrod left 18:21 robinsmidsrod joined 18:29 Sqirrel left 18:32 kurahaupo left
ugexe the last nqp commit, d2d27cc, appears to be the culprit. however, the commit before that, 7238985 seems like it might be stuck at gen/jvm/stage2/NQP.nqp 18:35
awwaiid I gave a talk at DC-Baltimore Perl Workshop on Perl6/Rakudo today!
ugexe froggs other 2 commits from yesterday (the first 2) built ok
18:36 Sqirrel joined
TimToady awwaiid++ 18:37
TimToady imagines a point halfway between DC and Baltimore... 18:38
ugexe aaand 7238985 finished ok. so its the last commit 18:39
awwaiid We're in Silver Spring... which is on the DC side. We should find the geographical center of the last 4 years events
itz awwaiid: was it video'd?
awwaiid nope. OFF THE GRID 18:40
(because: nobody volunteered to [organize] video for the conference) 18:41
18:44 tinyblak joined
TimToady my son used to live in Silver Spring when he was a terp grad student 18:44
18:44 robinsmidsrod left
awwaiid beautiful weather, feel free to pop over 18:44
I will pair program with you on anything you like 18:45
or if I get to pick it might be nrepl interface to rakudo
18:47 robinsmidsrod joined 18:51 eli-se left
awwaiid actually jupyter might be better 18:52
19:01 bjz left 19:07 eli-se joined 19:13 bjz joined 19:18 xfix left 19:19 virtualsue left 19:21 Zoffix joined 19:35 rindolf left 19:40 Possum joined 19:41 virtualsue joined
vendethiel- m: say ((^7 X ^7).item) 19:41
camelia rakudo-moar 0b2092: OUTPUT«0 0 0 1 0 2 0 3 0 4 0 5 0 6 1 0 1 1 1 2 1 3 1 4 1 5 1 6 2 0 2 1 2 2 2 3 2 4 2 5 2 6 3 0 3 1 3 2 3 3 3 4 3 5 3 6 4 0 4 1 4 2 4 3 4 4 4 5 4 6 5 0 5 1 5 2 5 3 5 4 5 5 5 6 6 0 6 1 6 2 6 3 6 4 6 5 6 6␤»
vendethiel- m: say ((^7 X ^7).item).perl
camelia rakudo-moar 0b2092: OUTPUT«$(0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 6,…»
vendethiel- m: say ([^7 X ^7]).perl #wat 19:42
camelia rakudo-moar 0b2092: OUTPUT«[0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 6, …»
vendethiel- oh, duh.
m: say (^7 X ^7).tree.perl # obviously, there's no "itemized comma"...
camelia rakudo-moar 0b2092: OUTPUT«(0; 0; 0; 1; 0; 2; 0; 3; 0; 4; 0; 5; 0; 6; 1; 0; 1; 1; 1; 2; 1; 3; 1; 4; 1; 5; 1; 6; 2; 0; 2; 1; 2; 2; 2; 3; 2; 4; 2; 5; 2; 6; 3; 0; 3; 1; 3; 2; 3; 3; 3; 4; 3; 5; 3; 6; 4; 0; 4; 1; 4; 2; 4; 3; 4; 4; 4; 5; 4; 6; 5; 0; 5; 1; 5; 2; 5; 3; 5; 4; 5; 5; 5; 6; 6; …»
TimToady that's obviously wrong 19:43
vendethiel- well, I'd expected to turn ((0, 0), (0, 1),...) into ([0,0], [0, 1]...)
TimToady or at least $(0,0)... 19:44
19:44 nbdsp joined
TimToady m: say (^7 X ^7).perl 19:44
camelia rakudo-moar 0b2092: OUTPUT«(0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 6, …»
TimToady m: say (^7 X, ^7).perl
camelia rakudo-moar 0b2092: OUTPUT«(0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 6, …»
vendethiel- I tried that locally :)
TimToady well, I didn't expect it to work, since the metop just sends X, off to X 19:45
*meta
but I'm pretty sure I fixed that at one point, so I dunno what broke it
m: say (^7 X, ^7)[0] 19:46
camelia rakudo-moar 0b2092: OUTPUT«0␤»
TimToady noticed it some time ago, but been hoping for a GLR soonish 19:47
nbdsp Greetings! Could someone advise please how to use the 'pack' function for UInt64? When I use 'my UInt64 $i = 0x1122334455667788; my $b = pack('C', $i) ' - I get : Buf:0x<88>
m: my UInt64 $i=0x1122334455667788; pack('C', $i) 19:48
camelia ( no output )
timotimo m: my UInt64 $i=0x1122334455667788; say $i
camelia rakudo-moar 0b2092: OUTPUT«1234605616436508552␤»
timotimo m: my UInt64 $i=0x1122334455667788; say $i.base(16) 19:49
camelia rakudo-moar 0b2092: OUTPUT«1122334455667788␤»
nbdsp m: my UInt64 $i=0x1122334455667788; say pack('C', $i); 19:53
camelia rakudo-moar 0b2092: OUTPUT«Buf:0x<88>␤»
TimToady C is not what you want 19:54
19:54 BenGoldberg joined
TimToady m: my UInt64 $i=0x1122334455667788; say pack('Q', $i); 19:55
camelia rakudo-moar 0b2092: OUTPUT«Unrecognized directive 'Q'␤ in block at src/gen/m-CORE.setting:6914␤ in method reify at src/gen/m-CORE.setting:9710␤ in block at src/gen/m-CORE.setting:9546␤ in method reify at src/gen/m-CORE.setting:9517␤ in method gimme at src/gen/m-CORE…»
masak is open to hacking a hacking weekend on pack/unpack stuff with someone
TimToady m: my UInt64 $i=0x1122334455667788; say pack('q', $i); 19:56
camelia rakudo-moar 0b2092: OUTPUT«Unrecognized directive 'q'␤ in block at src/gen/m-CORE.setting:6914␤ in method reify at src/gen/m-CORE.setting:9710␤ in block at src/gen/m-CORE.setting:9546␤ in method reify at src/gen/m-CORE.setting:9517␤ in method gimme at src/gen/m-CORE…»
TimToady looks like we don't do that yet
nbdsp ok. )
19:58 HuRRiCuP joined
HuRRiCuP hi there 19:58
Can anyone tell me if there is a BNF form for perl6 grammar? 19:59
TimToady m: my UInt64 $i=0x1122334455667788; say Buf.new($i.polymod(256 xx *)); 20:00
camelia rakudo-moar 0b2092: OUTPUT«Buf:0x<88 77 66 55 44 33 22 11>␤»
TimToady m: my UInt64 $i=0x1122334455667788; say Buf.new($i.polymod(256 xx *).reverse);
camelia rakudo-moar 0b2092: OUTPUT«Buf:0x<11 22 33 44 55 66 77 88>␤»
20:00 yqt joined
TimToady HuRRiCuP: we parse Perl 6 with its own grammar, which is similar to BNF but rather more extensible 20:01
HuRRiCuP that sad :( thanks
TimToady no, that's happy
nbdsp TimToady: thanks!
masak HuRRiCuP: the question has been asked before. it's entirely possible to make a BNF->p6grammar converter. 20:02
HuRRiCuP: I guess all the people who wanted to do that have found that Perl 6 grammars are pretty nice. :)
(or, I dunno, maybe they were distracted or had other priorities) 20:03
TimToady I think that direction has been done more than once already
HuRRiCuP I wanted to create IDEA plugin for p5, but it requires BNF. And seems same problem with p6. And missing of good IDE is really bad
TimToady it's not bad enough to give up what we get with p6 grammars, and ide will happen anyway eventually 20:05
masak I doubt you'd get very far trying to describe either p5 or p6 with BNF anyway...
nbdsp BTW, is UInt64::polymod is some undocumented feature? 20:07
ugexe BNF is sad compared to perl6 grammars 20:10
HuRRiCuP i'm not talking about giving up something. just that it's sad :( "eventually" is really bad, cause I love perl with all of my heart and it's sad to see the trend of popularity of 5, and the same flaw (missing IDE) in 6. Production development is pretty hard in NP
dalek ast: 7c71d43 | usev6++ | S32-str/sprintf-b.t:
Add in-depth tests for '%b' directive
20:11
masak HuRRiCuP: I'm with you all the way on the desirability for an IntelliJ IDEA edition for Perl.
20:11 cschwenz joined
masak (6) :) 20:11
nbdsp PyDev plugin for Eclipse is pretty good. If Perl 5 for Eclipse is of similar quality, then that's a pretty good IDE. 20:14
TimToady nbdsp: look for polymod in design.perl6.org/S32/Numeric.html
virtualsue i have used EPIC, it's not bad 20:15
i was working with another developer who used it, so i tried it for the nth time and got on better with it then
nbdsp TimToady: thanks! 20:17
masak virtualsue: that's the first nice review of EPIC I've heard in a while. I might take another look. :) 20:21
vendethiel- m: say (^7 X ^7).tree.grep: { any(@$_) == 3 } # TimToady: "for the comma-product of ^7 with ^7, grep the one where at least one element of the tuple is 3" <- is that correct?
camelia rakudo-moar 0b2092: OUTPUT«3 3 3 3 3 3 3 3 3 3 3 3 3 3␤»
virtualsue i'm not actually using it now. it was just convenient for me to work with this other person with the same dev setup
masak .oO( 'course, with that name, expectations are bound to be high ) :) 20:22
20:23 kaare_ left
TimToady vendethiel-: it's correct insofar as it ought to work but not insofar as it does work 20:31
vendethiel- right. I guess I can replace that grep with `grep(3 ~~ *)`
I'm talking theorically :)
20:32 espadrine joined 20:34 beastd joined
TimToady good thing I fixed ~~ to pay attention to * last week, then... 20:34
vendethiel- TimToady++ # better one-liners :P 20:36
eli-se vendethiel-: no can't 20:37
grep uses ~~ implicitly
vendethiel- gne?
eli-se you have to use just grep(3)
otherwise it'll be like grep({ (3 ~~ *) ~~ $_ }) 20:38
which is, of course, horribly broken
vendethiel- eli-se: no. there's an overload for "Callable" in grep. 20:39
eli-se Not on my machine! 20:41
masak come to think of it, I wonder why we made Callable a role, and not a subtype.
vendethiel- eli-se: github.com/rakudo/rakudo/blob/2cb7...ny.pm#L233
masak Callable ought to be *defined* by the presence of .() on the type
same deal with Positional and Associative, I guess 20:42
eli-se why can't you like 20:43
git blame
on GitHub? Is it just that primitive or is it hidden somewhere?
oh there's a blame button :D
masak :P
masak .oO( they respond so quickly to user requests! ) 20:44
TimToady 3 ~~ * isn't gonna scan a list for you anyway
m: say [1,1,2,2,3] ~~ [*,3,*] 20:45
camelia rakudo-moar 0b2092: OUTPUT«True␤»
masak :(
yeah, we never did something about that "feature". 20:46
vendethiel- * should match one elem, ** any number :P
TimToady well, only if you say please
overloading array literals for it is wrong
masak maybe we should instead think in terms of combinators, or matchers, that can go on the rhs of ~~
vendethiel- TimToady: I was joking :-) 20:47
masak I don't like our current solution, which cuts too close to the semipredicate problem.
TimToady m: say [1,1,2,2,3] ~~ scanlist (*,3,*) or so maybe
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UaIygr7s0k␤Undeclared routines:␤ maybe used at line 1. Did you mean 'make'?␤ scanlist used at line 1␤␤»
masak TimToady: yeah, something like that, to indicate a DSL where * gets a special meaning. 20:48
dalek href="https://perl6.org:">perl6.org: 99ad3cb | (Steve Mynott)++ | source/ (2 files):
link to web pages rather than github for perl6-examples
masak or even something inspired by regexes.
TimToady m: say [1,1,2,2,3] ~~ / <,> 3 <,> / or so maybe
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/zjnryZUeP1:1␤------> 3say [1,1,2,2,3] ~~ / <7⏏5,> 3 <,> / or so maybe␤Unrecognized regex metacharacter , (must be quoted to match literally)␤a…»
TimToady I think we actually have <,> reserved for that 20:49
but only on cat
matching non-strings is still pretty handwavingly not-pretty
masak @array ~~ ML[ .* 3 .* ] 20:50
eli-se <,> looks like a very sad Asian.
TimToady dunno, looks more like a penguin to me
vendethiel- we don't have type parameters splat, do we?
TimToady or maybe an owl
masak eli-se: clearly it's a ration of food with elbows :) 20:52
hashtag #angband
eli-se It's probably an obscure operator.
TimToady splat? 20:53
vendethiel- I keep using that word! I need to stop. "star", as in "*@a" 20:55
dalek href="https://perl6.org:">perl6.org: 6d8feac | (Steve Mynott)++ | source/fun/index.html:
remove defunct parrot link
20:56
masak vendethiel-: oh, slurpy! :P
masak .oO( why didn't you *say* so! ) :P 20:57
vendethiel- right. too many names in different languages for this feature... naming is too hard :o
eli-se I call it "unpacking" regardless of what the language calls it. 20:58
20:59 darutoko left
masak also known as "destructuring" 21:03
'night, #perl6
vendethiel- night! 21:04
eli-se I like to call it "destructing" when unpacking reassign already-existing variables.
s/reassign/reassigns/ 21:05
21:10 robinsmidsrod left 21:11 vendethiel joined, robinsmidsrod joined
dalek p/sprintf: 6309355 | usev6++ | src/HLL/sprintf.nqp:
Improve handling of flags for '%b' directive
21:12
21:12 vendethiel- left 21:13 gargamel joined
kinslayer How do I assign something that change later so that it wont change where I assign it, in a hash in iterations so that what is in the first iteration wont change even if the variable change after. 21:16
21:21 diana_olhovik joined 21:22 espadrine left
raydiak kinslayer: it might be helpful if you can show exactly what you're trying to do in a short gist 21:25
kinslayer I assign a list into an array in a loop but I end up with values from the last iteration in all the places 21:26
raydiak you might want something like "for @array -> $_ is copy { ... }" if you mean what I think 21:27
kinslayer lpaste.net/130553
that is the code
I will try that... thanks 21:29
raydiak put "my @c" inside the loop maybe? you're binding instead of assigning on line 19, so just re-using the same array over and over
kinslayer Okay thanks. 21:30
raydiak you're welcome, good luck 21:31
21:31 robinsmidsrod left
kinslayer raydiak I had never figured that out by myself :D 21:32
21:32 robinsmidsrod joined
kinslayer but it does what it is supposed to now 21:32
raydiak nice :) 21:33
kinslayer yeah
21:34 RabidGravy left 21:36 virtualsue left
raydiak m: my @a = 1; say @a.clone; 21:37
camelia rakudo-moar 0b2092: OUTPUT«This type does not support elems␤ in method REIFY at src/gen/m-CORE.setting:10470␤ in method REIFY at src/gen/m-CORE.setting:10978␤ in method reify at src/gen/m-CORE.setting:9517␤ in block at src/gen/m-CORE.setting:9542␤ in method reify at …»
raydiak ^ known ?
m: my @a; say @a.clone;
camelia rakudo-moar 0b2092: OUTPUT«␤»
gfldex r: my @b; my @c; for 1..3 -> $a { @c = (); push @c, $a; @b[$a] := @c.clone; }; @b.perl.say; 21:38
camelia rakudo-jvm 0b2092: OUTPUT«cannot connect to eval server: Connection refused␤»
..rakudo-moar 0b2092: OUTPUT«[Any, 1, 2, 3]<>␤»
gfldex kinslayer: please note the Any 21:39
kinslayer gfldex sorry ?
21:50 zakharyas left
BenGoldberg m: fpaste.scsys.co.uk/471895 21:50
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YKyaNZ5jhd␤Confused␤at /tmp/YKyaNZ5jhd:1␤------> 3http:7⏏5//fpaste.scsys.co.uk/471895␤ expecting any of:␤ colon pair␤»
BenGoldberg Hmm, it was worth a try ;)
vendethiel BenGoldberg: only gist, iirc 21:58
BenGoldberg With gather/take, is there any convenient way to access the results-so-far? Aside from assigning the gather to a named variable, that is. 22:01
vendethiel BenGoldberg: don't think so 22:02
BenGoldberg Something like @*GATHER would be kinda useful, I think.
Especially if it behaved very non-magically, so I could do say "results so far: @*GATHER" (for debugging), without it trying to run the enclosing gather to the end to find how many elements there are. 22:04
The perl5 module, List::Gather, provides a 'gathered' keyword which gives a list of items so far, or a count of said items. 22:11
22:13 yqt left, yqt joined 22:28 n0vacane joined 22:30 HuRRiCuP left 22:46 diana_olhovik left 22:52 spider-mario left 23:07 bobkare joined
BenGoldberg m: gist.github.com/BenGoldberg1/c9f2a...c30fc343fc 23:24
camelia rakudo-moar 0b2092: OUTPUT«use-wheel: False␤1223␤In 5.1914275 seconds, we did 23 iterations.␤This is 4.4303806451662 iteration per second␤use-wheel: True␤1223␤In 5.0314319 seconds, we did 44 iterations.␤This is 8.74502544912387 iteration per second␤» 23:25
BenGoldberg camelia is about 2 or 3 times faster than my laptop.
23:28 n0vacane left 23:41 Sqirrel left 23:46 davido_ joined 23:56 Sqirrel joined