»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:18 kid511 joined 00:19 kid51 left 00:37 bdmatatu joined, ocbtec left 00:51 tokuhirom joined 00:52 BenGoldberg joined 00:55 tokuhirom left 01:00 mr-foobar left, cdg left 01:01 mr-foobar joined, cdg joined 01:06 cdg left 01:26 astj joined 01:31 pierre_ joined 01:41 BenGoldberg left 01:43 BenGoldberg joined 01:45 molaf left, ilbot3 left 01:47 ilbot3 joined 01:48 kid511 left 01:49 bdmatatu left
richi238 Hi 01:50
if there is a subtype special_list and i want to know the exact where clause
is there a way to print it?
say special_list.WHAT doesn't tell enough info 01:51
geekosaur I think all it has at that point is compiled code, and there's nothing equivalent to perl 5's B::Deparse yet 01:52
01:53 sufrostico left 01:56 zakharyas joined, ssotka left
richi238 geekosaur: I see, thanks 01:58
01:58 molaf joined
timotimo i think at some point we actually installed the code for a where clause in some place and made it be printed out 02:01
but i can't remember what that was exactly
02:06 DarthGandalf joined 02:13 cpage_ joined 02:14 itaipu left 02:18 BenGoldberg left 02:25 mr-foobar left 02:26 AlexDaniel left, mr-foobar joined 02:31 cpage_ left 02:33 Amnez777 left 02:34 cdg joined 02:35 Amnez777 joined
dalek osystem: 2706026 | (Zoffix Znet)++ | META.list:
Add Test::When

Selectively run tests based on the environment and installed modules and C libs
02:38
02:41 BenGoldberg joined 02:44 BenGoldberg left 02:49 BenGoldberg joined 02:55 mr-foobar left, mr-foobar joined 02:57 noganex joined
Sgeo Why do unhandles Failures have to blow up on touching them? Why not turn that into the function that did that also Failing? 02:59
02:59 willthechill joined
geekosaur "Calling methods on unhandled failures propagates the failure. The specification says the result is another Failure, in Rakudo it causes the failure to throw." 03:00
03:00 noganex_ left
geekosaur and the answer might be that keeping track of the path of such a transited Failure might be painful *and* might happen long after the initial Failure... 03:01
s/might happen/it might eventually throw/ 03:03
03:05 Khisanth joined 03:11 |2701 left 03:33 mr-foobar left 03:34 mr-foobar joined
BenGoldberg One possible partial solition: first, create a subclass of Failure, Failure::Propagated. Next, add a FALLBACK method to Failure, which creates and returns a new instance of that subclass. Failure::Propagated would have a attribute, $.failure-origin, which contains the original Failure. 03:47
03:59 pierre_ left 04:02 pierre_ joined 04:09 cpage__ joined 04:11 mr-foobar left 04:13 mr-foobar joined 04:14 jjido joined 04:22 jjido left 04:23 drforr1 left 04:24 retup__ joined, hobbs joined, hobbs left, hobbs joined, dylanwh_ joined 04:25 drforr1 joined 04:27 BenGoldberg left 04:34 xenowoolfy joined, khw left 04:35 pierre_ left 04:37 xenowoolfy left 04:41 magiczna_dupa joined 04:43 Cabanossi left
Sgeo "If the divisors are given as a lazy list, runs until the remainder is 0. Otherwise, returns one more item in the result than the number of given divisors." 04:44
docs.perl6.org/routine/polymod
Wait, does it literally check that? Like Perl 6 code can detect whether a list is lazy or not?
04:45 Cabanossi joined
Sgeo Apparently yes it can. That's creepy 04:49
Sgeo is from Haskell-land where there's no real difference, except that infinite lists take infinitely long to tell you their size 04:50
jdv79 why wouldn't or couldn't it detect laziness? 04:55
04:56 grassass joined
jdv79 plus i thought the real distinction was about infinite vs not 04:56
04:59 cpage__ left 05:00 sno left 05:03 cdg left 05:12 Zoffix joined
Zoffix Sgeo, you think that's creepy? Check this out: 05:13
m: say (-∞..∞).elems
camelia rakudo-moar e39ce3: OUTPUT«Inf␤»
Zoffix :)
Sgeo What would .elems give on a list containing every real number? ;) 05:14
m: say 0 ~~ (-∞..∞) 05:15
camelia rakudo-moar e39ce3: OUTPUT«True␤»
Sgeo I don't know why I was thinking Perl6 would do the dumb thing there 05:16
Zoffix Isn't that what my eval above does?
Sgeo Zoffix, I thought it would be every integer, not every real
m: say 0.5 ~~ (-∞..∞)
camelia rakudo-moar e39ce3: OUTPUT«True␤»
Zoffix m: say π ~~ (-∞..∞)
camelia rakudo-moar e39ce3: OUTPUT«True␤»
Zoffix m: say 1+i10 ~~ (-∞..∞)
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wmds8PaFeQ␤Expected a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use a space like ~ ~)␤at /tmp/wmds8PaFeQ:1␤------> 3say 1+i10 ~~7⏏5 (-∞..∞)␤»
Sgeo m: say (-∞..∞)[0] 05:17
camelia rakudo-moar e39ce3: OUTPUT«-Inf␤»
Sgeo m: say (-∞..∞)[∞]
camelia rakudo-moar e39ce3: OUTPUT«Cannot coerce Inf to an Int␤ in block <unit> at /tmp/RXMHMjECh9 line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/RXMHMjECh9 line 1␤␤»
Zoffix I forget how to write complex numbers
Sgeo m: say (1+i10) ~~ (-∞..∞)
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DfSo24yHK7␤Undeclared routine:␤ i10 used at line 1␤␤»
Sgeo m: say (1+10i) ~~ (-∞..∞)
camelia rakudo-moar e39ce3: OUTPUT«True␤»
Sgeo That's, um. 05:18
Zoffix m: say (1+10i) ~~ (5..∞)
camelia rakudo-moar e39ce3: OUTPUT«False␤»
Zoffix :o
m: say @(5.5..10) 05:20
camelia rakudo-moar e39ce3: OUTPUT«(5.5 6.5 7.5 8.5 9.5)␤»
Zoffix m: say @((5.5+i10)..10)
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7cwcr2b5Ja␤Undeclared routine:␤ i10 used at line 1␤␤»
Sgeo Maybe (-∞..∞) should contain every computable number, but not any non-computable numbers, so if you do $noncomputable ~~ (-∞..∞) you get False 05:21
Zoffix m: say @((5.5+10i)..10)
camelia rakudo-moar e39ce3: OUTPUT«Complex objects are not valid endpoints for Ranges␤ in block <unit> at /tmp/DnZG7K_oZL line 1␤␤»
Sgeo I wonder if that can be twisted into a halting oracle somehow
My guess is that it's not even sensible to have $noncomputable... wait, it is. hmm 05:22
(Some structure effectively stating that it's Chaitin's constant or something)
Zoffix if Complex objects can't be endpoints for Ranges then say (1+10i) ~~ (-∞..∞) should be false, since .. operator increases each item by 1, and if you can't start with a Complex, you can't get to a point where increments by 1 will lead you to 1+10i being inside that range 05:23
</pedantry>
Sgeo m: say 0.5 ~~ (-2..2)
camelia rakudo-moar e39ce3: OUTPUT«True␤»
Zoffix hmmm 05:24
Sgeo m: (-2..2)[0]
camelia ( no output )
Sgeo m: say (-2..2)[0]
camelia rakudo-moar e39ce3: OUTPUT«-2␤»
Sgeo m: say (-2..2)[1]
camelia rakudo-moar e39ce3: OUTPUT«-1␤»
Zoffix That's kinda bugging me, 'cause:
Sgeo m: say (-2..2)[1]
camelia rakudo-moar e39ce3: OUTPUT«-1␤»
Zoffix m: say @(-2..2)
camelia rakudo-moar e39ce3: OUTPUT«(-2 -1 0 1 2)␤»
Sgeo m: say (-2..2)[1].5
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/abQ4WnD65r␤Malformed postfix call␤at /tmp/abQ4WnD65r:1␤------> 3say (-2..2)[1].7⏏055␤»
Sgeo m: say (-2..2)[1.5]
camelia rakudo-moar e39ce3: OUTPUT«-1␤»
Sgeo blinks
Zoffix 1.5 gets coerced into Int, which is 1 05:25
m: say 0.5 ∈ (-2..2) 05:26
camelia rakudo-moar e39ce3: OUTPUT«False␤»
Sgeo Is there a texas version of that operator? 05:27
Zoffix m: say 0.5 (elem) (-2..2)
camelia rakudo-moar e39ce3: OUTPUT«False␤»
Zoffix docs.perl6.org/language/unicode_texas 05:28
Sgeo TY
oops ty
Zoffix There are texas versions of everything.
05:31 woodruffw joined, woodruffw left, woodruffw joined 05:32 mtj_ joined 05:33 ssotka joined 05:35 domidumont joined 05:36 zhmylove joined 05:39 domidumont left 05:40 domidumont joined 05:44 wamba joined 05:45 tokuhirom joined 05:46 domidumont left 05:48 sno joined 05:51 Zoffix left 05:55 domidumont joined 05:56 jjido joined 06:04 jjido left 06:11 pierre_ joined 06:13 zhmylove left 06:21 _mg_ joined 06:23 CIAvash joined 06:24 firstdayonthejob joined 06:27 japhb joined 06:28 khagan joined, tony-o joined 06:29 sivoais joined 06:31 Fleurety joined 06:33 azawawi joined
azawawi hi 06:33
06:35 brrt joined 06:42 firstdayonthejob left, edehont joined, jast left, jast joined 06:48 wamba left 06:55 ssotka left 06:56 magiczna_dupa left 07:00 pierre_ left 07:06 pierre_ joined 07:07 avalenn joined 07:14 mohae left 07:23 zhmylove joined, RabidGravy joined 07:24 cpage_ joined
RabidGravy GOO MONIN 07:31
07:31 jack_rabbit left
brrt \o RabidGravy 07:34
07:36 mr-foobar left 07:45 cpage_ left
masak goo monin, #perl6 07:46
07:47 brrt left, cpage_ joined
moritz \o 07:51
masak ostensibly Perl 6 day today, though I might need to leech some of it to deadline-related $work :/ 07:54
07:55 CIAvash left 08:08 ocbtec joined 08:11 zhmylove left 08:12 pierre_ left, darutoko joined 08:14 stromper joined, pierre_ joined 08:16 stromper left
stmuk submits perl6 to YAPC 08:17
(EU) 08:18
talk even .. need coffee 08:27
RabidGravy concludes that whatever claims the GtkBuilder documentation about "being helpful to dynamic languages" they actual meant "how the python binding wanted to do it" 08:29
nine are you surprised?
08:30 pierre_ left 08:31 pierre_ joined 08:32 huggable joined 08:34 wamba joined
RabidGravy not really, but if they had gone one step further and passed the widget name to the callback of "gtk_builder_connect_signals_full" we'd be golden 08:36
08:38 willthechill left 08:41 Relsak joined 08:46 Relsak left 08:48 zhmylove joined 08:50 domidumont left 08:54 zhmylove left 09:03 g4 joined 09:04 domidumont joined 09:15 gregf_ left 09:17 gregf_ joined 09:29 edehont left 09:33 TEttinger left 09:36 mr-foobar joined 09:45 mr-foobar left 09:46 mr-foobar joined
masak I finally figured out how to draw SVG comfortably with Perl 6 09:47
lots of named subs producing paths and SVG fragments, lots of heredocs; put it all together in the end into a small heredoc drawing the whole SVG scene
make the heredocs of the qq variety, and then interpolate exclusively in {} blocks 09:48
09:51 andrewalker joined 10:00 abraxxa joined 10:04 zakharyas left
dalek k-simple/glade-app-supply: 3a4a4c8 | (Slobodan Mis􏿽xCC􏿽x8Ckovic􏿽xCC􏿽x81)++ | / (3 files):
Simplistic GTK::Simple::GladeApp

  * loads `$*PROGRAM`.glade
  * shows `mainWindow`
  * connects signals to `handle-signal(Str)`
10:06
k-simple/glade-app-supply: bacabad | RabidGravy++ | / (3 files):
Merge branch 'glade-app' of github.com/slobo/gtk-simple into slobo-glade-app
k-simple/glade-app-supply: cd859ad | RabidGravy++ | / (2 files):
Very basic Builder handling with supply on signal

Based on #16
The actual end-state would be more like each "handler" having an individual supply, and that would be able to receive an actual Perl object.
RabidGravy sorry for the spam there should have squished slobo's stuff first 10:17
10:18 rindolf joined
RabidGravy right anyway off out to the supermarket 10:25
10:30 astj left 10:31 astj joined 10:42 kid51 joined 10:48 pierre_ left 10:49 konobi joined
konobi howdy all... anyone know if there are any experiments with perl6 and nginx integration around? 10:49
10:52 wamba left 10:54 astj left 10:55 wamba joined 11:01 _mg_ left
nine konobi: in what way would they be integrated? 11:03
konobi nine: openresty.org/download/agentzh-ngi...als-en.pdf 11:04
psch m: my @a = 2, 2, 1, 1, 1, 1, .5, .5, .5, .5, .5, .5, .5, .5; say [eqv] @a.permutations[^10] # uhh
camelia rakudo-moar e39ce3: OUTPUT«True␤»
psch m: my @a = 2, 2, 1, 1, 1, 1, .5, .5, .5, .5, .5, .5, .5, .5; say @a.permutations[^3]
camelia rakudo-moar e39ce3: OUTPUT«((2 2 1 1 1 1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5) (2 2 1 1 1 1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5) (2 2 1 1 1 1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5))␤»
konobi nine: openresty and nginx_lua are a really interesting read
lots of interesting fp ideas 11:06
psch hm, so it probably starts shuffling identical elements at the end around
so, yeah, just gross misuse on my part vOv 11:07
it's probably way too slow for what i want to use it for anyway
aim was to get any combination of any number of each of 2, 1, 0.5 that sums to 4, but i'm clearly starting from the wrong end... :) 11:08
11:10 rindolf left 11:12 labster left, itaipu joined
psch ...that's not accidentally something NP-hard that i'm trying there, is it? :/ 11:15
psch curses spotty math knowledge *shakes fist* 11:17
11:19 azawawi left 11:22 _mg_ joined 11:25 tomboy65 left 11:30 stmuk_ joined 11:31 mr-foobar left 11:32 mr-foobar joined 11:33 rindolf joined 11:36 tomboy64 joined
llfourn Use of uninitialized value of type Instant in string context 11:37
Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in any load_module at src/Perl6/World.nqp line 1185
^ this is with RAKUDO_MODULE_DEBUG=1 11:38
it goes along with: "Missing or wrong version of dependency"
which triggers with this particular lib when trying to run the second time (after precompiling) 11:39
11:42 nowan joined 11:46 kid51 left 11:52 rork joined, rork left, rork joined
psch hm, antipairs can't produce non-string-key'd hashes :/ 11:56
12:04 xenthree3 joined, xenthree3 left 12:10 |2701 joined
[Coke] (texas versions of everything) except one thing. 12:10
12:18 AlexDaniel joined
moritz the cursor variable? 12:20
[Coke] Aye 12:26
12:32 huggable left 12:41 abraxxa left 12:45 domidumont1 joined 12:47 domidumont2 joined 12:48 bisectable joined
AlexDaniel *ding ding ding ding* Attention! ⚠⚠⚠ 12:49
12:49 domidumont left
AlexDaniel say hello to our new bot 12:49
it works like this
bisect: exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT 128181
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/6d120ca
AlexDaniel bisect: for ‘q b c d’.words -> $a, $b { }; CATCH { exit 0 }; exit
bisectable AlexDaniel: (2016-05-17) github.com/rakudo/rakudo/commit/2801780
AlexDaniel woah, that's wrong
bisect: for ‘q b c d’.words -> $a, $b { }; CATCH { exit 0 }; exit 1 12:50
bisectable AlexDaniel: (2016-03-01) github.com/rakudo/rakudo/commit/1b6c901
AlexDaniel that's right
so, basically I have built rakudo for every commit since v6.c
12:50 domidumont1 left
moritz woah. 12:50
AlexDaniel 1000 commits, averaging for about 50 seconds per build on my setup
less than a day + writing the bot itself
oh, and you can specify the starting points, if you want 12:51
bisect: good=v6.c bad=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT 128181
bisectable AlexDaniel: (2016-03-18) github.com/rakudo/rakudo/commit/6d120ca
AlexDaniel but it defaults to v6.c and HEAD
tadzik wow
RabidGravy OoOOOoooh
tadzik this is fantastic
moritz AlexDaniel: does it first check if the first and last commits are actually good and bad?
AlexDaniel moritz: nope 12:52
moritz: but look
bisect: exit 1
bisectable AlexDaniel: (2015-12-25) github.com/rakudo/rakudo/commit/07fecb5
AlexDaniel bisect: exit 0
bisectable AlexDaniel: (2016-05-17) github.com/rakudo/rakudo/commit/2801780
AlexDaniel moritz: that should be obvious, I guess
moritz AlexDaniel: ah yes, thanks
psch AlexDaniel: how would that have helped with e.g. the .grep thing you mentioned recently?
'cause i'm not seeing it, honestly :/ 12:53
oh, that's an example
yeah ok i do get it now sorry :P
was thinking in terms of "throw code in", not "write code that tests what you want to check for"
llfourn Cooooool
AlexDaniel psch: it's a regular git bisect 12:54
exit 1 if bad, exit 0 if good, exit 125 if you want to skip it
psch AlexDaniel: yeah, i just didn't pay enough attention, no worries :)
AlexDaniel ah, by the way, there are about 20 commits that are skipped because no perl6 executable was generated
12:54 ocbtec left
AlexDaniel that's alright I guess 12:55
moritz AlexDaniel: have published the sources of the bot?
AlexDaniel moritz: not yet, but I will in an hour or so 12:56
12:56 ocbtec joined
AlexDaniel moritz: ideally it would be great if it was integrated into camelia, but I don't know if anybody is willing to build rakudo for every commit 12:56
nine if it can be automated, why not? 12:57
moritz AlexDaniel: how much disk space does it need?
nine What's the storage requirements?
psch fwiw, i think it's seperate enough of a service to not put it into camelia vOv
AlexDaniel nine: 30 gb or so
nine reasonable
though that's just about half a year's worth of commits :)
AlexDaniel well, it is possible to compress every build
then it is reduced like 6 times or so 12:58
but then it gets a little bit slower
masak AlexDaniel: wow. kudos on the new bot.
AlexDaniel++
nine Are those only the installed files or are the source and git repos included?
AlexDaniel nine: no, just the install
also, does anybody know how to move installed rakudo into another directory? 12:59
moritz indeed, AlexDaniel++
AlexDaniel: not supported, afaict
AlexDaniel because I attempted to do it, but screwed it up, and ended up rebuilding all 1000 commits again
hoelzro o/ #perl6 13:00
AlexDaniel moritz: I don't think that disk space is a problem, but CPU time probably is. I have no idea what kind of servers you guys have 13:01
bisectable: help
bisectable AlexDaniel: Like this: bisect: good=v6.c bad=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT 128181
AlexDaniel ok
13:02 ri0t joined
moritz four i7-2600 13:02
model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
should be fine 13:03
hoelzro it looks like releases are just named after the $year.$month, and no longer PM groups - is that the case? 13:05
timotimo that's right 13:06
AlexDaniel moritz: Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz here
13:07 mr-foobar left
AlexDaniel oh, it is with SSD, that counts as well 13:07
hoelzro ok, thanks for the sanity check timotimo
13:08 Sgeo left
AlexDaniel by the way, I am not doing anything smart yet. That is, every commit I download and build nqp and moar from scratch… haha! 13:08
perlpilot hoelzro: There are too many releases and not enough PM groups :)
13:08 mr-foobar joined
hoelzro =) 13:08
moritz and too much stress coming up with release names
hoelzro heh, I'm feeling stressed enough already 13:10
perlpilot yeah, naming things is one of the 2 hard things in computer science. Why did we ever put that as part of the release pipeline?
hoelzro I need to figure out what to do about rt.perl.org/Public/Bug/Display.html?id=128069 - any ideas?
13:11 rindolf left
perlpilot special-case NaN.Rat and Inf.Rat? 13:13
moritz m: say NaN.Rat == NaN
camelia rakudo-moar e39ce3: OUTPUT«Cannot coerce NaN to a Rat␤ in block <unit> at /tmp/fzyI33dIqH line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/fzyI33dIqH line 1␤␤»
13:13 raiph joined 13:14 raiph left
moritz bisect: try { NaN.Rat == NaN; exit 0 }; exit 1 13:14
bisectable moritz: (2016-05-02) github.com/rakudo/rakudo/commit/949a7c7
moritz bisect: try { say NaN.Rat == NaN; exit 0 }; exit 1
bisectable moritz: (2016-05-02) github.com/rakudo/rakudo/commit/949a7c7
moritz hoelzro: either revert the commit above, or find a way to fix it 13:15
or ask lizmat for input when she shows up again
AlexDaniel moritz: well… wow
sjn and write a test? :)
moritz AlexDaniel++ # *very* useful tool :-)
hoelzro ok, thanks perlpilot & moritz
mst now I want a signal like variable that starts off in a state of 'not yet a number' so we can have a NyaN type 13:16
timotimo AlexDaniel: impressive work
hoelzro I'll see what liz has to say - if it's simple for me to pull off when others are offline, I'll fix; otherwise I'll revert
moritz hoelzro: seems like lizmat TODOed the tests, see commit 61e65a493704467d94834357dc175c41ab0692aa in roast
sjn mst: and it should have a concatenation method, NyaN.cat
13:17 tokuhirom left
moritz if that was a conscious decision, maybe we should do the same in the 6.c-errata branch 13:17
hoelzro ok
moritz++ good advice
13:20 Actualeyes left
masak hey, guess what `sub foo($x) { constant u = $x; say u }; foo(5); foo(42)` does. :) 13:21
try to guess without running it
mst ... I tried, I'd /msg'ed camelia, I was wrong 13:22
jnthn I'd guess (Any)\n(Any)\n :)
masak jnthn: you're close
perlpilot that's what I would have guessed too
(Any any)
jnthn Oh, (Mu) of course.
masak right :) 13:23
I'm wondering if there's a way to get a warning in there for that case
where the compiler can detect that a runtime value is trying to be assigned to a compile-time constant
basically an assignment "against the flow of time"
there are probably other cases too, involving BEGIN etc
jnthn Yeah...some simple cases we can likely discover 13:24
masak \o/
jnthn And it's hard to imagine you'd do them on purpose.
masak right, that's my point
13:25 itaipu left, cdg joined, sufrostico joined
hoelzro moritz: upon further reflection - is TODOing 6.c-errata really the best move? 2016.05 should pass the same tests that 2016.04 did, right? 13:27
13:30 itaipu joined
AlexDaniel uh, let's try something evil 13:31
bisect: exit 125
alright, don't do that :D 13:32
bisectable AlexDaniel: (2016-04-20) github.com/rakudo/rakudo/commit/60550d1
AlexDaniel nvm the result, I killed it manually
b2gills perlpilot: I would suspect the reason for named releases may have come from Parrot doing named releases, and at one point in time they were in the same repository 13:33
13:34 Actualeyes joined
b2gills bisectable should probably fail early if both endpoints have the same exitval 13:36
moritz hoelzro: hence, ask lizmat 13:40
hoelzro: or if you can't get hold of her early enough, revert the commit 13:41
hoelzro ok 13:42
[Coke] lizmat was looking for feedback. 13:43
whoops, wrong issue.
AlexDaniel b2gills: yes, sure. Well, pull requests are welcome (I did not publish it yet though)
b2gills: and I'll do that myself if it becomes a real problem 13:44
[Coke] the issue on the ticket was that we don't know what the right behavior is, only that it changed.
b2gills Since NaN isn't a Rat, and .Rat should return a Rat, NaN.Rat shouldn't return NaN, but that is exactly what it does in 6.c ( and unfortunately it is tested in ROAST ) 13:46
hoelzro well, I guess that's why the branch is -errata, right? 13:48
anyway, as the release manager for this month, it is my solemn duty to inform you all that there's a *release* tomorrow!
mst RELEASE THE HOUNDS 13:49
hoelzro so please don't break things today =)
13:49 Zoffix joined
hoelzro .oO( let slip the dogs of Perl ) 13:49
Zoffix AlexDaniel, what's your superbot written in?
AlexDaniel Zoffix: perl5 Bot::BasicBot
Zoffix: yeah… :/ 13:50
Zoffix AlexDaniel, ah :) good. It's just I'm blowing up IRC::Client and redesigning it from scratch. Glad you didn't use it. 13:51
bisectable, bisect: exit 1 if 10.polymod(lazy 2, 2) eqv (0, 1, 2); exit 0 13:53
bisectable Zoffix: Sorry, it is too private here
Zoffix wat
AlexDaniel oh well! 13:54
the point is, it does not reply to private messages
Zoffix: just bisect:, without “bisectable,”
Zoffix bisect: exit 1 if 10.polymod(lazy 2, 2) eqv (0, 1, 2); exit 0
Ah
bisectable Zoffix: (2016-05-17) github.com/rakudo/rakudo/commit/2801780
mst AlexDaniel: it ... can
well, could
Zoffix Hm.. That's a weird commit it returned. 13:55
AlexDaniel Zoffix: yes because
bisect: exit 0
bisectable AlexDaniel: (2016-05-17) github.com/rakudo/rakudo/commit/2801780
Zoffix Oh
It should probably detect when all it found is HEAD 13:56
AlexDaniel ok sounds like I'd have to implement some extra checks
nine new code meets reality...an old story :)
Zoffix :D
AlexDaniel++ the bot's really neeat 13:57
b2gills no battle plan survives contact with the enemy
AlexDaniel mst: by that you mean that it should be allowed? I don't trust restricted setting very much, so if someone is going to run some scary things then at least do it in public :) 13:58
mst AlexDaniel: nah 13:59
AlexDaniel: just that the underlying code could do it, I misunderstood what you were saying
14:00 khw joined
hoelzro commute & 14:02
14:08 itaipu left 14:10 itaipu joined 14:13 zzzzzzzzz joined 14:17 tokuhirom joined
masak ok, another one ;) 14:18
guess what this one does, without running it first: `sub foo($x = $x) { say $x }; foo()`
timotimo i expect Any
mst ideally, a small gnome exits the monitor and hits you with a mallet 14:19
timotimo alternatively, it could throw an error about $x not being defined?
jnthn I prefer the gnome, tbh... :P
Could be Mu again
Zoffix ran it and was unexpectedly surprised :) 14:20
jnthn, but is it expecting a Mu? :)
jnthn Oh...I guess we enforce a check on the default value :) 14:21
So it may well by a type check fail too :)
jnthn didn't run it, and is trying to remember what code we generate :)
14:22 tokuhirom left 14:25 g4 left
perlpilot timotimo: but $x is defined. 14:26
timotimo m: my $a = $a; say $a 14:27
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uL37GRRjBA␤Cannot use variable $a in declaration to initialize itself␤at /tmp/uL37GRRjBA:1␤------> 3my $a = $7⏏5a; say $a␤ expecting any of:␤ term␤»
Zoffix perlpilot, defined by what?
perlpilot Zoffix: by you, the programmer :) As soon as you declare a variable, it's available for use immediately, even before the end of the statement 14:29
timotimo: I'd expect something like that if there were no other $a in scope at that point.
masak jnthn: yes, it's a type check fail. at runtime. 14:30
perlpilot timotimo: and if there was an $a in scope, I'd expect a warning
Zoffix perlpilot, oh, I thought you were replying to "i expect Any"
m: say Any.defined
camelia rakudo-moar e39ce3: OUTPUT«False␤»
14:31 pierre___ joined
Zoffix m: sub foo($x = $x) { say $x }; foo()` 14:31
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vffEKC4npA␤Bogus postfix␤at /tmp/vffEKC4npA:1␤------> 3sub foo($x = $x) { say $x }; foo()7⏏5`␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statem…»
Zoffix m: sub foo($x = $x) { say $x }; foo()
camelia rakudo-moar e39ce3: OUTPUT«Type check failed in binding $x; expected Any but got Mu (Mu)␤ in sub foo at /tmp/aSLfrWb2eo line 1␤ in block <unit> at /tmp/aSLfrWb2eo line 1␤␤»
b2gills m: sub foo( Mu $x = $x) { say $x }; foo()`
camelia rakudo-moar e39ce3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BtgEnKLV3C␤Bogus postfix␤at /tmp/BtgEnKLV3C:1␤------> 3sub foo( Mu $x = $x) { say $x }; foo()7⏏5`␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ st…»
b2gills m: sub foo($x = $x) { say $x }; foo()
camelia rakudo-moar e39ce3: OUTPUT«Type check failed in binding $x; expected Any but got Mu (Mu)␤ in sub foo at /tmp/oTCFiFEDxA line 1␤ in block <unit> at /tmp/oTCFiFEDxA line 1␤␤»
b2gills m: sub foo( Mu $x = $x) { say $x }; foo()
camelia rakudo-moar e39ce3: OUTPUT«(Mu)␤»
jnthn masak: Yup, parameters end up with Mu in the static lexpad, and the lookup ends up finding that :) 14:32
daxim where are version numbers documented? perl6 -e 'v6;' # compiles
timotimo m: say v999
camelia rakudo-moar e39ce3: OUTPUT«v999␤»
timotimo doc.perl6.org/type/Version
daxim oh, it's its own type
AlexDaniel is there any up to date version of this? howcaniexplainthis.blogspot.com.ee/...ts-do.html 14:33
some parts of it are true, like about dalek and masak, but other parts not so much
tadzik oh, phenny :) 14:34
I'm curious about zaslon's name etymology
14:36 rindolf joined 14:38 Zoffix left
gregf_ m: sub foo(Mu $x = 100) { say [$x, $x.^name] }; <10 bar 1/2>.map({ foo($_) }) 14:41
camelia rakudo-moar e39ce3: OUTPUT«[10 IntStr]␤[bar Str]␤[1/2 RatStr]␤»
timotimo you could .map(&foo) instead of .map({ foo($_) }) 14:42
gregf_ oh - so & is for global subs 14:44
mst subs are lexical
no such thing as global subs AFAIK
timotimo the closest thing to "global subs" is "subs that are in the core setting" 14:45
gregf_ m: sub foo(Mu $x = 100) { say [$x, $x.^name] }; <10 bar 1/2>.map(&foo); CORE::.keys.grep({ /foo/ })
camelia rakudo-moar e39ce3: OUTPUT«[10 IntStr]␤[bar Str]␤[1/2 RatStr]␤»
timotimo gregf_: you're missing a "say" in there in order to get any result
14:45 brrt joined
geekosaur & refers to a sub by name instead of trying to call it immediately 14:45
14:45 konobi left
gregf_ ok 14:46
m: sub foo(Mu $x = 100) { say [$x, $x.^name] }; &foo.^name.say
camelia rakudo-moar e39ce3: OUTPUT«Sub␤»
14:49 lizmat joined 15:07 mohae joined 15:08 _dolmen_ joined 15:16 _dolmen_ left 15:18 mr-foobar left, Xliff left 15:19 Xliff joined 15:21 |2701 left 15:22 ssotka joined 15:24 mr-foobar joined, zhmylove joined 15:28 cdg left 15:32 zhmylove left 15:37 zhmylove joined 15:46 atir joined, pierre___ left 15:48 atir left
llfourn nine: ping 15:48
15:49 domidumont2 left
llfourn .tell nine I think RT #128156 has something to do with one of your commits on the 13th. rt.perl.org/Public/Bug/Display.html?id=128156 15:50
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128156
yoleaux llfourn: I'll pass your message to nine.
nine llfourn: pong
yoleaux 15:50Z <llfourn> nine: I think RT #128156 has something to do with one of your commits on the 13th. rt.perl.org/Public/Bug/Display.html?id=128156 15:51
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128156
llfourn :)
15:51 _mg_ left
nine llfourn: ah, yes. I actually was a bit surprised that no issues at all have come up since the merge. 15:53
15:54 domidumont joined
llfourn nine: I only hit it when I started developing one of my rather large projects again. I don't think module installation or anything is affected :) 15:54
nine llfourn: t/spec/S10-packages/precompilation.t contains some precomp tests
llfourn nine: sweet. I wonder if I can translate what I put in the RT into that file... 15:56
nine I hope so :)
llfourn I wonder if we have a platform independent way of doing a touch. I suppose writing an empty string will do it. 15:57
15:57 mst left, mst joined 16:00 kaare_ joined 16:13 mr-foobar left
nine I have an idea about what's going on 16:18
timotimo good start
nine I've probably been at the same point half a year ago. Only the solution I came up with then is just not good enough. 16:21
Seems like a Boolean just doesn't carry enough information for deciding whether to recompile or not
16:22 brrt left
mst nine: you need a dailywtf multi-value boolean then 16:25
nine exactly!
llfourn Technically p6 Bools can have three values, Undefined, True or False :^) 16:26
mst CREATE TYPE boolean AS SQLish;
AlexDaniel m: my Bool $x is default(False); say $x 16:28
camelia rakudo-moar dfac26: OUTPUT«False␤»
nine Well defined, undefined and Failure seems to cover it better 16:30
And indeed it fixes llfourn++'s test :) 16:32
dalek k-simple/glade-app-supply: d686374 | RabidGravy++ | / (2 files):
Allow specifying specific Supply attribute for handler

Part of #16
llfourn :) # nine++
16:35 sno left
gregf_ m: my Bool $flag = Undefined; 16:40
camelia rakudo-moar dfac26: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9iUU49pu_l␤Undeclared name:␤ Undefined used at line 1␤␤»
geekosaur the type object acts as "undefined" 16:45
nine m: my Bool $flag; say defined $flag;
camelia rakudo-moar dfac26: OUTPUT«False␤»
16:46 Emeric joined
gregf_ ah - ok 16:50
m: my Bool $flag = Nil;
camelia ( no output )
gregf_ m: sub foo($x) { my Bool $y = $x; }; foo(Nil) 16:55
camelia ( no output )
gregf_ that works, but for some reason when used with a map it coerces to Any :|
m: sub foo($x) { say $x.^name; my Bool $y = $x; }; [ Nil ].map(&foo)
camelia rakudo-moar c59e4d: OUTPUT«Any␤Type check failed in assignment to $y; expected Bool but got Any (Any)␤ in sub foo at /tmp/PPW1klwFTA line 1␤ in block <unit> at /tmp/PPW1klwFTA line 1␤␤»
RabidGravy we must be doing something right if people want us to back-port our modules github.com/Perl6-Noise-Gang/Audio-...I/issues/6 ;-) 17:03
17:03 bisectable left 17:04 bisectable joined
AlexDaniel bisectable: source 17:05
bisectable AlexDaniel: github.com/perl6/bisectbot
AlexDaniel moritz: ↑
timotimo does anything speak against running bisectable on hack? 17:06
17:07 jack_rabbit joined
AlexDaniel timotimo: ¯\_(ツ)_/¯ 17:07
timotimo: honestly, I have no idea what hack is
timotimo p6c.org
moritz AlexDaniel: thanks!
AlexDaniel timotimo: “Be reasonable in your resource usage.” – I think it is much easier if I just handle on my server 17:09
[Coke] AlexDaniel: please don't use v6.c as the starting version: use 2015.12
AlexDaniel it*
[Coke] v6.c was a mistake and will go away at some point
AlexDaniel [Coke]: OK
[Coke] danke.
(mistake) I mean only as a tag on rakudo repo. :) 17:10
17:10 cdg joined
llfourn timotimo: it will need a space to fit the builds 17:10
AlexDaniel timotimo: unless someone is willing to actively work on it. But in that case you'd have to rebuild this thousand of commits
llfourn 30gb I think was said earlier
AlexDaniel yes, but it can be improved
how much space do you have there?
timotimo collect.p6c.org/ - click on hack, then on df 17:11
AlexDaniel lots of space there :)
timotimo: so what do you think? Should I move it there? 17:13
17:15 firstdayonthejob joined 17:16 jerme joined
timotimo it should be fine to copy the builds onto the server, eh? 17:17
AlexDaniel timotimo: well, if you manage to have exactly the same path, then yes 17:18
timotimo oh, well
that's a good point
AlexDaniel timotimo: it is currently in /home/bisectable/git/bisectable which is pretty reasonable
timotimo though our precomp is relocatable by now at least :)
yeah, we can have a "bisectable" user on hack 17:19
17:21 cognominal joined, pecastro joined
AlexDaniel timotimo: alright. Then I'll probably do some pre-2015.12 builds and once I'm done with my thesis (in like, er, 2 weeks) I'll move it to hack. If you wont change your mind by then, of course 17:24
timotimo cool 17:25
17:34 wamba left 17:41 JustinHitla left 17:48 ri0t left 17:51 |2701 joined 18:00 jack_rabbit left 18:01 jack_rabbit joined, raiph joined
raiph m: sub foo($x) { say $x.^name; my Bool $y = $x; }; ( Nil ).map(&foo) # gregf_: [...] is an array constructor; arrays put elements in Scalar containers; Scalar containers have a default default of Any; putting a Nil in such a container produces Any; so [Nil] immediately becomes [Any] 18:05
camelia rakudo-moar c59e4d: OUTPUT«Nil␤»
raiph .tell gregf_ [Nil] becomes [Any]; see irclog.perlgeek.de/perl6/2016-05-20#i_12517566 18:08
yoleaux raiph: I'll pass your message to gregf_.
arnsholt <3 QuickCheck 18:13
Just saved me from a lot of head-scratching algebra twiddling 18:16
dalek k-simple: 7f51c31 | RabidGravy++ | META6.json:
Add a proper version
18:22
k-simple: df20ddf | RabidGravy++ | lib/GTK/Simple.pm6:
Attempt to add version to the deprecations
18:25 kurahaupo joined
dalek c: b500414 | (Aleks-Daniel Jakimenko-Aleksejev)++ | htmlify.p6:
“precomile” → “precompile” (@tbrowder++)
18:55
c: 208197f | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (52 files):
No more trailing whitespace (EVERYWHERE!)
c: cfc5152 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/subscripts.pod:
Fixed mixed tabs and spaces in one of the code examples

Perhaps we should replace all tabs with spaces? This will eliminate all such occurances of mixed indentation styles.
19:00 smls joined 19:04 mr-foobar joined, labster joined 19:06 Zoffix joined
Zoffix New post: Perl 6 Hands-On Workshop: Weatherapp (Part 1): perl6.party/post/Perl-6-Hands-On-Wo...pp--Part-1 19:08
perlpilot Zoffix++
timotimo zoffix has the HOW, i should really get with the program and start work on the TPS reports 19:09
19:11 travis-ci joined
travis-ci Doc build passed. Aleks-Daniel Jakimenko-Aleksejev 'Fixed mixed tabs and spaces in one of the code examples 19:11
travis-ci.org/perl6/doc/builds/131778678 github.com/perl6/doc/compare/7b411...c5152f7db6
19:11 travis-ci left 19:17 itaipu left
mst timotimo: in triplicate 19:21
timotimo aye
19:26 willthechill joined 19:31 Zoffix left 19:35 _dolmen_ joined 19:36 sno joined 19:40 aries_liuxueyang left 19:41 dwarring joined, aries_liuxueyang joined 19:45 jdoege joined 19:46 zhmylove left 19:47 zhmylove joined
jdoege Hi. I'm just starting to experiment with Perl 6 and I am seeing some odd behavior. Doing basic file munging, just reading a file line by line and writing it to a new file, a temp file of some sort is being created. Is this expected? 19:47
AlexDaniel jdoege: what's the name of that file? 19:48
jdoege Then, if I try to 'less' or 'tail' the file I am writing, it kills the run with an error: Failed to write bytes to filehandle: operation not supported on socket
The file was named:~gvfPPGQ.tmp 19:49
perlpilot jdoege: show your code?
(use gist or pastebin or something please)
jdoege OK. JAS.
19:49 domidumont left
jdoege gist.github.com/jdoege/1debfa44457...02b6ff7092 19:50
Run like: ./Vx4.pl6 --mapfile=channelmap.txt --patfile=patfile.txt --outfile=result 19:52
19:53 tokuhirom joined
perlpilot So ... I'm going to guess that something else is going on 19:54
jdoege: I guess that gist is an abbreviated version of your program and not the real thing? 19:55
jdoege Nope. That's the whole thing.
I am going step by step. First read, then write, then work on the mission code. 19:56
ugexe precomp creates .tmp files 19:57
jdoege patfile is fairly large. 375MB
The temp file contained the same data as the result file.
nine ugexe: the script doesn't load any modules
jdoege And it was erased when the job exited.
19:58 tokuhirom left, ocbtec left
perlpilot well ... all I can give you is ... yep, that's some strange behavior. 19:58
AlexDaniel jdoege: I have just checked your code with inotify, I can't see any temp file
perlpilot jdoege: Are you sure one of those files isn't a Unix socket? 19:59
jdoege I think it is accessed via a samba mount.
I'll try running it in a local directory.
perlpilot ah, that might do it (but rakudo would have no control over it) 20:00
MadcapJake how do you use the Iterator role without the Positional role?
nine MadcapJake: those two are fairly unrelated? 20:01
perlpilot MadcapJake: why do you ask? 20:02
psch m: my $x = Seq.new(class :: does Iterator { method pull-one { rand } }.new); for @$x { .say; last if $++ > 10 }
camelia rakudo-moar c59e4d: OUTPUT«0.571905974997209␤0.498088993579892␤0.41445895277352␤0.754383784210024␤0.926543542363107␤0.716141134170113␤0.227902881089729␤0.800703696170079␤0.53152387144962␤0.601427892132322␤0.0279277438688608␤0.943730805909535␤»
psch ...don't even need @ in the for i think
MadcapJake You have to wrap it in a sec?
Seq*
psch MadcapJake: well, you can of course .pull-one yourself :) 20:03
MadcapJake right, that's what I mean, how can you use it "as an iterator" or "where you'd use an iterator"
psch MadcapJake: i'd say that's with wrapping it in a Seq. you really want a sequence of values, the iterator just produces that sequence 20:04
MadcapJake Kind of seems silly that you'd need to do anything more than integrate the role to use it like one, tbh...
psch mind, i'm not really deep into all that code, just explaining how i understand it
i think jnthn++ still has a gist somewhere that explains it in depth
nine MadcapJake: maybe we just use the terms slightly differently from what you expect?
jdoege perlpilot: Thanks for looking (and asking questions). It appears it is due to the mount. No issue running locally.
MadcapJake nine: I'm talking about the Iterator and Positional roles provided standard 20:05
jdoege TY all.
perlpilot jdoege: samba (CIFS) mounts are almost always evil IMHO :)
MadcapJake If you use the Iterator role all it's doing is making sure you declare a pull-one method, but it won't actually work in control flow positions without wrapping it inside a Seq 20:06
nine MadcapJake: exactly! You seem to expect Iterator to be the thing understood by control flow like it is in maybe Python or C#. That's the part that's just not true in Perl 6, while an Iterator is an Iterator. 20:07
psch MadcapJake: sounds to me like you want something Iterable, not an Iterator
MadcapJake psch: o_O huh?
nine psch++
MadcapJake: control flow uses Iterables. Iterables provide Iterators for iteration 20:08
psch m: say Iterable ~~ Iterator; say Iterator ~~ Iterable
camelia rakudo-moar c59e4d: OUTPUT«False␤False␤»
MadcapJake nine: but why make the distinction there? Seems a trivial extra step that serves no purpose
psch m: say Seq ~~ Iterable; say Seq ~~ Iterator
camelia rakudo-moar c59e4d: OUTPUT«True␤False␤»
perlpilot MadcapJake: an iterator is the thing that does the iteration, not a thing to be iterated.
MadcapJake oi vey :P
psch semantic satiatiteration /o\ 20:09
nine MadcapJake: some languages just mush those two different concepts together
perlpilot MadcapJake: It's a similar distinction with Supply. You've got Supply and Supplier. 20:11
MadcapJake ok so, if one wanted to create a custom iterator, you'd need to either create a custom Iterable-roled class or use Seq.new 20:12
20:13 darutoko left
nine m: my @a = 1, 2, 3; my $i1 = @a.iterator; my $i2 = @a.iterator; say $i1.pull-one; say $i1.pull-one; say $i2.pull-one; 20:13
camelia rakudo-moar c59e4d: OUTPUT«1␤2␤1␤»
nine MadcapJake: that's ^^^ why Iterables must be different from Iterators 20:14
perlpilot nine++ 20:15
MadcapJake ok that falls into place with how perlpilot described it as like a Supplier/Supply
💡 It makes sense now, thanks nine, psch, perlpilot! 20:17
AlexDaniel how to piss everyone off: submit a bug report about perl 6 docs on RT. Moreover, do that in perl5 queue. 20:18
20:18 TEttinger joined, Actualeyes left
timotimo uh oh 20:21
that's a bad miss
20:23 sufrostico left
[Coke] AlexDaniel: if that's real, tell me the ticket # 20:23
AlexDaniel [Coke]: #128174
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128174
AlexDaniel it was already moved
[Coke] tony c already moved it 20:24
heh
20:26 slobo joined 20:27 jjido joined
[Coke] AlexDaniel: updated, rejected, ticket opened on perl6 doc 20:27
20:28 JustinHitla joined
JustinHitla here I am 20:28
[Coke] .seen JustinHitla
yoleaux I saw JustinHitla 20:28Z in #perl6: <JustinHitla> here I am
[Coke] so you are.
JustinHitla I use that code: "printf("--> seq: %-8x ack: %-8x\n",$seq,$ack_seq);" it prints something like: "<-- seq: 5f23e87c ack: 19214aaa", is there a way to make it look like "<-- seq: 5f-23-e8-7c ack: 19-21-4a-aa" ? 20:29
[Coke] m: "5f23e87c".split(2).join("-").say 20:30
camelia rakudo-moar c59e4d: OUTPUT«5f-3e87c␤»
[Coke] m: "5f23e87c".split(2,*).join("-").say
camelia rakudo-moar c59e4d: OUTPUT«5f-3e87c␤»
[Coke] m: "5f23e87c".comb(2).join("-").say
camelia rakudo-moar c59e4d: OUTPUT«5f-23-e8-7c␤»
[Coke] ^^
JustinHitla and where that code should go ?
[Coke] comb(int) is "split into chunks that are int long", then you stitch them back together with join 20:31
JustinHitla allright
[Coke] m: printf("---> %s ack" , "5f23e87c".comb(2).join("-")) 20:32
camelia rakudo-moar c59e4d: OUTPUT«---> 5f-23-e8-7c ack»
20:32 Actualeyes joined
[Coke] or make a sub if you're going to reuse it. ymmv. 20:32
JustinHitla is it possible to do it like: $temp=34023423; $temp.hex().comb(2).join("-") ? 20:34
so first make it into hex and then split and join
m: $test=123123; say $test.hex() 20:35
camelia rakudo-moar c59e4d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fMB5HV7_CN␤Variable '$test' is not declared␤at /tmp/fMB5HV7_CN:1␤------> 3<BOL>7⏏5$test=123123; say $test.hex()␤»
psch m: say 34023423.base(16)
camelia rakudo-moar c59e4d: OUTPUT«20727FF␤»
JustinHitla m: $test=1596188797; say $test.base(16) 20:36
camelia rakudo-moar c59e4d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5jKldFp1ZR␤Variable '$test' is not declared␤at /tmp/5jKldFp1ZR:1␤------> 3<BOL>7⏏5$test=1596188797; say $test.base(16)␤»
JustinHitla m: say 1596188797.base(16)
camelia rakudo-moar c59e4d: OUTPUT«5F23E87D␤»
arnsholt People's opinions about Open Source are weird. "Someone made this library I depend on, therefore they are now morally obliged to keep on developing it for me forever."
20:36 raiph left
psch m: no strict; $test=1596188797; say $test.base(16) 20:36
camelia rakudo-moar c59e4d: OUTPUT«5F23E87D␤»
JustinHitla arnsholt: its like: "I once walked on that side walk therefore they are now morally obliged to keep on fixing it for me forever" 20:37
arnsholt Pretty much, yeah 20:38
20:38 jjido left, jjido joined 20:39 jjido left
smls m: say ("08" .. "12").List 20:39
camelia rakudo-moar c59e4d: OUTPUT«(08 07 06 05 04 03 02 18 17 16 15 14 13 12)␤»
smls # o_0 Please tell me that this^^ is a bug and not some "too smart for its own good" feature.
timotimo smls: if you have strings, you get strings behavior
.. is not a coercive operator
smls but how is that string behavior?
psch m: say ("08" .. 12).List 20:40
camelia rakudo-moar c59e4d: OUTPUT«(08 09 10 11 12)␤»
timotimo for strings of the same length, you get a per-character range
psch m: say (08 .. "12").List
camelia rakudo-moar c59e4d: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6.␤ Please use 0o8 if you mean that.␤ at /tmp/xGnutCVsnn:1␤ ------> 3say (087⏏5 .. "12").List␤(8 9 10 11 12)␤»
smls oooh.
timotimo one is 0..1, the other is 8..2
psch m: say (8 .. "12").List
camelia rakudo-moar c59e4d: OUTPUT«(8 9 10 11 12)␤»
timotimo if that's not well documented, we should do that
JustinHitla m: say ("08" .. 12).Sort
camelia rakudo-moar c59e4d: OUTPUT«Method 'Sort' not found for invocant of class 'Range'␤ in block <unit> at /tmp/P0eMQAKTzi line 1␤␤»
smls that seems like a weird behavior, but ok
JustinHitla m: say ("08" .. 12).sort() 20:41
camelia rakudo-moar c59e4d: OUTPUT«(08 09 10 11 12)␤»
psch m: say "aa" .. "ff"
camelia rakudo-moar c59e4d: OUTPUT«"aa".."ff"␤»
psch m: say ("aa" .. "ff").List
camelia rakudo-moar c59e4d: OUTPUT«(aa ab ac ad ae af ba bb bc bd be bf ca cb cc cd ce cf da db dc dd de df ea eb ec ed ee ef fa fb fc fd fe ff)␤»
JustinHitla actually why ".List" gives such weird list "08 07 06 05 04 03 02 18 17 16 15 14 13 12" ?
timotimo i told you :) 20:42
JustinHitla because "08" is a string and 12 a number, I only now noticed
timotimo m: .say for "ag".."ca"
AlexDaniel m: say qqww<hello world test>
camelia rakudo-moar c59e4d: OUTPUT«ag␤af␤ae␤ad␤ac␤ab␤aa␤bg␤bf␤be␤bd␤bc␤bb␤ba␤cg␤cf␤ce␤cd␤cc␤cb␤ca␤»
rakudo-moar c59e4d: OUTPUT«(hello world test)␤»
smls Wouldn't it have been simpler to just let .. call .succ repeatedly until it reaches the endpoint?
I mean, we don't allow counting down using 3..1 either 20:43
[Coke] m: say "08".succ
camelia rakudo-moar c59e4d: OUTPUT«09␤»
timotimo m: .say for 3..1
camelia ( no output )
psch m: say "z".succ
camelia rakudo-moar c59e4d: OUTPUT«aa␤»
psch m: say "az".succ
camelia rakudo-moar c59e4d: OUTPUT«ba␤»
smls m: say ("08", *.succ ... "12") 20:44
camelia rakudo-moar c59e4d: OUTPUT«(08 09 10 11 12)␤»
smls ^^ basically, that is what I expected "08".."12" and "08"..."12" to do
moritz reaching the endpoint won't always happen
smls so?
especially with the ... operator, that can happen a lot already 20:45
moritz when we tried it for ranges, it surprised quite many people
smls m: say ("08" ... "12").List 20:46
camelia rakudo-moar c59e4d: OUTPUT«(08 07 06 05 04 03 02 18 17 16 15 14 13 12)␤»
smls ^^ Same with the sequence op though
20:46 cognominal_ joined, cognominal_ left, cognominal left 20:47 cognominal joined
smls moritz: As for the range op, it could check if the endpoint will be reached, and return the empty list if not 20:47
As it already does for numbers
psch m: say (1..NaN).List
camelia rakudo-moar c59e4d: OUTPUT«(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 …»
smls psch: I meant the 5..2 case 20:48
psch smls: that's not "if it can be reached", it's explicitely a "are we higher than the endpoint" check
m: say 1 > NaN 20:49
camelia rakudo-moar c59e4d: OUTPUT«False␤»
moritz smls: how would the range operator determine whether the endpoint will be receached?
*reached
smls It knows how .succ works :P
But I guess would break with subclassing or monkey-typing... 20:50
moritz or user-defined types, for that matter
smls Well, this whole behavior is special-cased for Str isn't it?
moritz ah right, I forgot 20:51
RabidGravy ye gods! libusb can go to bed without any supper right away 20:53
smls I still think that at least the ... operator would have been better off blindly calling .succ if given a LHS that is not a list of numbers
But oh well
20:54 Emeric left, cpage_ left
psch m: say "A"..."a" 20:54
camelia rakudo-moar c59e4d: OUTPUT«(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a)␤»
20:54 Emeric joined
psch m: say "Z".succ 20:55
camelia rakudo-moar c59e4d: OUTPUT«AA␤»
psch smls: so that ^^^ should be an infinite list of all capital letter strings instead?
smls yes
of course you wouln't use it with that end-point :) 20:56
psch m: say ("A".."a").List # this too i suppose
camelia rakudo-moar c59e4d: OUTPUT«(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a)␤»
psch well, i disagree vOv
20:57 jerme left
smls Well, .. being more magical and more determined to reach its endpoint is more justified i guess. 20:57
Since it wants to be a "range" 20:58
AlexDaniel I thought that #128174 could not be any funnier, but I was wrong
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128174
smls AlexDaniel: oops, looks like I was ninja's by [Coke]++ 20:59
mst AlexDaniel: trout.me.uk/facepaw.jpg
smls *'d
AlexDaniel mst: yea 21:02
smls: well not exactly, you was the first one to open a bug report in perl6/doc/issues 21:03
21:03 JustinHitla left 21:05 jdoege left
hoelzro is t/spec/S06-advanced/wrap.rakudo.moar failing for anyone else? 21:06
just want to make sure it's not just me
jnthn hoelzro: Was good on my run earlier today when I made the Moar release 21:07
psch hoelzro: looks fine here
hoelzro the heck
hoelzro tries on a different machine
psch This is Rakudo version 2016.04-210-gc59e4dc built on MoarVM version 2016.04-134-g9879233
hoelzro on master, or 6.c-errata for roast?
psch ah, yeah 6.c-errata fails 21:08
Failed test: 59
21:08 jjido joined
hoelzro ok, whew 21:09
I'm not crazy!
I tracked it down to e239f6e
21:16 _dolmen_ left 21:19 cpage_ joined 21:24 Emeric left 21:26 mscha joined
mscha Say I've got an enum (enum CoinFace <heads tails>). How do I get a list of all the possible values (CoinFace::heads, Coinface::tails)? 21:27
ugexe there is a PR that removes part of that commit that was giving me odd test failures that weren't actually failures. maybe its related github.com/rakudo/rakudo/pull/770 21:28
psch m: enum CoinFace <heads tails>; say CoinFace::.keys; say CoinFace.pick(*); say CoinFace.^enum_value_list 21:29
camelia rakudo-moar c59e4d: OUTPUT«(heads tails)␤(tails heads)␤(heads tails)␤»
psch mscha: i think there might be at least one more way, but i can't think of it... :) 21:30
ugexe ah nope, its breaking for the same reason the original subtest changes broke github.com/rakudo/rakudo/commit/35...a34042dc6a
mscha m: enum CoinFace <heads tails>; dd CoinFace::.keys; dd CoinFace.pick(*); dd CoinFace.^enum_value_list
camelia rakudo-moar c59e4d: OUTPUT«("heads", "tails").Seq␤(CoinFace::tails, CoinFace::heads).Seq␤(CoinFace::heads, CoinFace::tails)␤»
psch yeah, they don't do exactly the same 21:31
mscha psch: thanks. keys won't work (gives strings, not enum values), pick isn't what I need (random order), but ^enum_value_list does the trick.
psch m: enum CoinFace <heads tails>; say CoinFace.pick(*).sort(*.value) 21:32
camelia rakudo-moar c59e4d: OUTPUT«(heads tails)␤»
psch ;)
still, asking the HOW about the actual list is probably the cleanest :)
21:34 itaipu joined 21:35 sortiz joined
sortiz \o #perl6 21:36
21:39 itaipu left
timotimo m: enum CoinFace <heads tails>; dd CoinFace::.values; dd CoinFace::.enums 21:43
camelia rakudo-moar c59e4d: OUTPUT«(CoinFace::heads, CoinFace::tails).Seq␤Method 'enums' not found for invocant of class 'Stash'␤ in block <unit> at /tmp/2nqWQEZdHs line 1␤␤»
timotimo m: enum CoinFace <heads tails>; dd CoinFace::.values; dd CoinFace::.enum
camelia rakudo-moar c59e4d: OUTPUT«(CoinFace::heads, CoinFace::tails).Seq␤Method 'enum' not found for invocant of class 'Stash'␤ in block <unit> at /tmp/bZkq1Au2Ts line 1␤␤»
timotimo m: enum CoinFace <heads tails>; dd CoinFace::.values; dd CoinFace::.pairs
camelia rakudo-moar c59e4d: OUTPUT«(CoinFace::heads, CoinFace::tails).Seq␤(:heads(CoinFace::heads), :tails(CoinFace::tails)).Seq␤»
21:43 bjz joined 21:47 slobo left
mscha CoinFace::.values is a bit nicer than CoinFace.^enum_value_list. :) 21:49
psch m: enum CoinFace <heads tails>; say CoinFace.enums
camelia rakudo-moar c59e4d: OUTPUT«Map.new((:heads(0),:tails(1)))␤»
psch i actually kinda dislike that, 'cause it doesn't actually return the enums 21:50
but idk, having that *also* return a list of the enum values would probably be a few too many ways to do it :) 21:51
smls yeah, that should be called .Map not .enums :P
ugexe star-m: enum CoinFace <heads tails>; say CoinFace.enums
camelia star-m 2016.01: OUTPUT«heads => 0, tails => 1␤»
psch star-m: enum CoinFace <heads tails>; say CoinFace.enums.WHAT
camelia star-m 2016.01: OUTPUT«(Hash)␤»
psch that was RT #128138
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128138
smls psch: I meant the name of the method/coercer 21:52
psch smls: i was just refering to returning a Hash in star
+it
but yeah, i'd agree 21:53
smls m: my @a = 1..Inf; say @a; say { @_ }(@a) 21:54
camelia rakudo-moar c59e4d: OUTPUT«(timeout)[...]␤» 21:55
smls ^^ jnthn: Does passing a lazy array to a slurpy parameter, force it to be eager by design?
21:55 slobo joined
smls S06 suggests it would remain lazy 21:55
(but was probably written before the GLR)
sortiz m: my @a = lazy 1..Inf; say @a; 21:56
camelia rakudo-moar c59e4d: OUTPUT«[...]␤»
smls yeah, it's only when it's passed to a slurpy block/routine parameter that it hangs 21:57
m: my @a = 1..Inf; say @a[5]; say { @_[5] }(@a)
camelia rakudo-moar c59e4d: OUTPUT«6␤6␤»
smls Huh, so it doesn't hang when you just index it, but does hang when you say/gist it? 21:58
psch m: my @a = 1..Inf; say @a[5]; say { @_[6] }(@a)
camelia rakudo-moar c59e4d: OUTPUT«6␤7␤»
psch maybe it's actually the implicit return that eagers it?
21:58 Sgeo joined
psch m: my @a = 1..Inf; say @a; { say @_ }(@a) 21:58
...maybe not :)
camelia rakudo-moar c59e4d: OUTPUT«(timeout)[...]␤» 21:59
psch it's kinda weird though that partly vivifying it changes the behavior 22:00
ugexe m: sub foo(*@a is raw) { say @a; }; my @a = 1..Inf; foo(@a)
camelia rakudo-moar c59e4d: OUTPUT«(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 …»
smls So `is raw` allows it to stay lazy? 22:01
TimToady sitting at John Wayne
sortiz m: my @a = 1..Inf; sub foo(@_) { say @_ }; foo(@a); 22:02
camelia rakudo-moar c59e4d: OUTPUT«[...]␤»
sortiz m: my @a = 1..Inf; sub foo { say @_ }; foo(@a); # vs
22:02 cpage_ left
camelia rakudo-moar c59e4d: OUTPUT«(timeout)» 22:03
ugexe not slurpy
TimToady you maybe (+@a) there instead 22:04
*want
smls with +@a it hangs too
22:06 ocbtec joined, cpage_ joined, ocbtec left, mscha left 22:07 ocbtec joined
TimToady m: sub foo(+@a) { say @a.is-lazy; }; my @a := 1..Inf; foo(@a) 22:08
camelia rakudo-moar c59e4d: OUTPUT«True␤»
sortiz m: my @a = 1..Inf; sub foo(+@_) { say @_.is-lazy; say @_ }; foo(@a) 22:09
camelia rakudo-moar c59e4d: OUTPUT«True␤[...]␤»
TimToady I used := there
smls TimToady: I get the same result with = and *@a 22:10
.is-lazy returns True, but .gist hangs
So I guess it's a .gist bug?
sortiz m: my @a = 1..Inf; sub foo { say @_.is-lazy; say @_ }; foo(@a) 22:11
camelia rakudo-moar c59e4d: OUTPUT«True␤[...]␤»
TimToady m: sub foo(+@a) { say @a,; }; my @a := 1..Inf; foo(@a)
camelia rakudo-moar c59e4d: OUTPUT«(timeout)»
smls sortiz: Oh wow, so calling .is-lazy before the .gist, makes the .gist work 22:12
sortiz Yep!
smls But .gist is the first thing you call, it hangs
*if
ok, will RT 22:13
sortiz m: my @a = 1..Inf; sub foo { my $no-sink = @_.is-lazy; say @_ }; foo(@a) 22:14
camelia rakudo-moar c59e4d: OUTPUT«[...]␤»
sortiz m: my @a = 1..Inf; sub foo { my $no-sink = @_.?not-lazy; say @_ }; foo(@a)
camelia rakudo-moar c59e4d: OUTPUT«(timeout)» 22:15
ugexe m: sub foo(**@a) { say @a; }; my @a := 1..Inf; foo(@a)
camelia rakudo-moar c59e4d: OUTPUT«[1..Inf]␤»
ugexe but again, not slurpy 22:16
22:22 Zoffix joined
Zoffix Haha. Check out the #1 item on HN: news.ycombinator.com/ 22:22
Damn, I'm a genius. 22:23
diakopter lolz how u do dat
Zoffix It's nice. Get more people exposed to P6 22:24
sortiz m: my @a = 1..Inf; sub foo(*@b) { my $no-sink = @b.is-lazy; say @b }; foo(@a); # slurpy with a test 22:26
camelia rakudo-moar c59e4d: OUTPUT«[...]␤»
psch Zoffix: i noticed the tag "Isoteric", and a reference to "DUBUG.txt"
Zoffix psch, hm? 22:27
psch Zoffix: in the article itself
Zoffix psch, well, yeah. I'm just not following what point you're making :)
psch just wondering if that was intentional, i suppose 22:28
Zoffix psch, ah, I just now spotted the two typos :P
No, it wasn't intentional. I just need to start using a spellchecker when I write stuff :P
sortiz Zoffix, just dropped to #2 ;) 22:29
Zoffix :)
22:30 _dolmen_ joined 22:31 rindolf left
Zoffix psch++ fixed. Thanks. 22:33
AlexDaniel “Unicode has stubbornly refused to become Turing complete.” yeah. Meh. 22:36
:)
22:38 firstdayonthejob left
AlexDaniel and yeah, I've always loved how git exposes all that crap 22:38
timotimo i think that's just because git always calls into less 22:39
22:40 _dolmen_ left 22:45 jjido left 22:50 willthechill left 22:54 Zoffix left
TimToady signs off due to running out of 60 min free WiFi access soonish... 22:56
22:58 wamba joined 23:00 sufrostico joined 23:09 slobo_ joined 23:12 slobo left 23:13 slobo_ is now known as slobo, slobo left 23:25 RabidGravy left 23:40 cdg left, cdg joined 23:44 ocbtec left 23:45 cdg left 23:49 itaipu joined 23:54 tokuhirom joined 23:57 itaipu left, itaipu joined 23:59 tokuhirom left