»ö« 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.
geekosaur J has [ and ] 00:03
(everything is an operator in J, and that's how you anonymously get left and right parameters)
I have a vague recollection of some ancient language having that (ignoring even more ancient languages with arg(N)-type things) 00:05
dalek href="https://perl6.org:">perl6.org: 3d5eea8 | (Steve Mynott)++ | source/ (2 files):
Rakudo Star 2014.01 to .04
00:06
ar: 6fe68c5 | (Steve Mynott)++ | tools/star/release-guide.pod:
mention perl6.org as announce vector
00:08
00:14 tardisx left, tardisx joined 00:16 sue left
AlexDaniel m: say ‘moo=meow ping=pong’.comb(/(\w+) ‘=’ (\w+)/, :match)».Slip».Str 00:16
camelia rakudo-moar f05c77: OUTPUT«(moo meow ping pong)␤»
AlexDaniel m: say ~«|«‘moo=meow ping=pong’.comb(/(\w+) ‘=’ (\w+)/, :match)
camelia rakudo-moar f05c77: OUTPUT«(moo meow ping pong)␤»
gtodd m: sub stuff { loop (my $i = 0 ; $i++ < 5 ;) { $i } } ; say "sub == seq" if (stuff() == 1 .. 5 ) ; 00:17
camelia rakudo-moar f05c77: OUTPUT«sub == seq␤»
timotimo that's comparing the number of elemetns, btw 00:18
gtodd rats ... how to make an anonymous function do what I want - with a better more correct example :-) 00:19
AlexDaniel gtodd: what do you want? :)
gtodd was only concerned about the anonymous bit really
timotimo i didn't see any anonymous stuff in there
AlexDaniel gtodd: “anon sub”?
gtodd I have a function that returns sequences of numbers so I guess assign it to a scalar and then check if the sequence is the same as well 1 .. 5 or whatever 00:20
00:21 pierrot joined
gtodd anonymous subroutine 00:21
timotimo goes to bed
gtodd some of them were short so I was just sort of doing perl5 style ...
00:22 perlawhirl joined
gtodd I will do it in a more explicit and correct way :) 00:22
AlexDaniel gtodd: I don't really get it. If you want to compare lists then try eqv? 00:23
timotimo watch out, eqv will likely give False if you compare between Seq, Array, or List
AlexDaniel timotimo: any other options?
timotimo ~~ 00:24
AlexDaniel and that will give True for a bunch of weird stuff 00:25
timotimo >>==<< 00:27
that will throw if the lengths don't fit, though
AlexDaniel does not work when lists are not equal
timotimo instead of just giving False
AlexDaniel yea
equal in size*
timotimo @a == @b && [&&] @a Z== @b 00:28
AlexDaniel Yeah, that… That's gonna work
timotimo: in RT #127980 I said that we probably need another metaop for comparing listy stuff
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127980
timotimo mhm 00:29
AlexDaniel my suggestion is: @a M== @b # which would be equivalent to your code above
timotimo anyway, bedtime :)
AlexDaniel psch: ↑ maybe that will make it more clear :) 00:30
00:30 atweiden left
perlawhirl Alex: what would the M op do that is different from a set operator ? 00:31
gtodd I assigned the subroutine to a scalar and then $seq() >>==<< <1 2 3 4 5> ; worked ok and gave: (True True True True True)
AlexDaniel ah yea, one more difference would be that M should return one Bool… 00:32
perlawhirl: which one exactly?
00:33 dha left
perlawhirl are you just wanting to check if the first list contains a subset of the second? 00:34
00:34 jolts left
perlawhirl like ⊆ 00:34
gtodd it is what I expected but it was more how to use anonymous sub that was bugging me :-) 00:35
AlexDaniel perlawhirl: no, the question is how check if both are equal
gtodd m: { loop (my $i = 0 ; $i++ < 5 ;) { $i } }() >>==<< 1 .. 5 ;
camelia ( no output )
AlexDaniel perlawhirl: same size, same elements
gtodd m: say { loop (my $i = 0 ; $i++ < 5 ;) { $i } }() >>==<< 1 .. 5 ; 00:36
camelia rakudo-moar f05c77: OUTPUT«(True True True True True)␤»
gtodd hehehe
sorry for the distraction
AlexDaniel perlawhirl: I mean, that's the problem that I'm trying to solve with M :)
perlawhirl Alex: So it would allow elements in a different order too? 00:37
AlexDaniel no
perlawhirl so why not @a eq @b ? 00:38
tho i guess that's not entireley accurate is it
AlexDaniel perlawhirl: eq is string equality
perlawhirl yeh
AlexDaniel so it's not even close…
perlawhirl what does @a ~~ @b do? 00:40
AlexDaniel magic
perlawhirl hah
AlexDaniel well, it seems like it does ~~ between elements
geekosaur Positional List lists are comparable $_ »~~« X (but dwims ** wildcards!) 00:42
Juerd AlexDaniel: Yes. Note that [0,1,2] ~~ [True,True,True] is true.
So you can't just use @a ~~ @b to test equality.
AlexDaniel Juerd: awesome! Best comparison I could have ever imagined
00:42 BenGoldberg left
Juerd Unless of course you are absolutely certain that everything is a number, for example. 00:42
AlexDaniel let's be honest here: ~~ is shit for comparing lists 00:43
dalek c: 3cfe629 | (Tom Browder)++ | doc/Language/unicode_texas.pod:
column is too wide--remove some spaces to see if that helps
00:44
c: c7d583d | (Tom Browder)++ | doc/Language/unicode_texas.pod:
Merge pull request #464 from tbrowder/master

column is too wide--remove some spaces to see if that helps
Juerd Comparing lists sucks in every language I've ever seen. Fortunately, comparing lists isn't something you regularly do in well written code. 00:45
perlawhirl hmmm... how about ?all( @a Zeqv @b )
AlexDaniel perlawhirl: does not work if your lists have different length 00:46
or arrays
whatever
perlawhirl right
Juerd It's mostly useful in tests (is_deeply), but apart from that it doesn't have many use cases. Wanting to compare lists is often a code smell.
perlawhirl i see
Juerd s/code/design/
AlexDaniel so the shortest code to do that is 00:47
m: my @a = 0,1,2; my @b = True, True, True; say ?all(@a == @b [&&] @a Z== @b)
camelia rakudo-moar f05c77: OUTPUT«False␤»
Juerd gtodd: *Why* compare lists? 00:48
MadcapJakeDinner stmuk_++ # R* 00:49
AlexDaniel Juerd: that's a good question actually
Juerd If you're generating a list and then find out that it happens to be the same as a list you had earlier, then couldn't you have skipped generating the list at some earlier point? 00:50
And if you can't, then how likely is it that what you're skipping when they're equal, is expensive enough to prevent? 00:51
AlexDaniel the most common use case is probably in tests, but that's when you can probably just make sure that ~~ does nothing weird 00:52
00:52 vike joined
Juerd There are still situations in which you would need to compare list equality, but I don't think you should go for the shortest syntax in such rare cases. 00:52
Instead, be explicit. Maybe even add a comment about why you're doing this at all.
AlexDaniel: For unit tests, there's is_deeply. 00:53
AlexDaniel id_deeply is just eqv, isn't it? 00:54
Juerd Yes. 00:55
00:55 aborazmeh joined, aborazmeh left, aborazmeh joined
AlexDaniel which, as timotimo have mentioned, has its own problems 00:55
has
Juerd Yes. Just mentioning is-deeply (not _ by the way) because it's better than "ok @foo eqv @bar" 00:56
AlexDaniel right
Juerd The thing about comparing list-like things is that you'll have to specify what, for your use case, should be considered equal.
The difference between Array and List might matter, or it might not. 00:57
Are "42" and 42 the same thing? How about 42e0 and 42?
AlexDaniel that's why with M you can specify your own op
Juerd And do the same things matter at the most shallow level, that matter also at deeper recursion? 00:58
AlexDaniel good question
Juerd I can imagine that you may not care about the difference between List and Array at the outermost level, but you do at inner levels.
00:58 maybekoo2 left 01:00 jjido left
Juerd Value equivalence is not an easy topic, and there doesn't seem to be much between situations where even ~~ will suffice, and situations where you have to be specific about details. 01:00
AlexDaniel Juerd: I'd say that if you specified == then it would just compare the number of elements, but that's also a bit weird 01:01
Juerd Most cases that I can think of, will have either one of those extremes.
AlexDaniel: Well, if for a certain use case, lists are equal enough if they have the same number of elements, it's a rather quick check... :)
And O(1) is nice.
dalek href="https://perl6.org:">perl6.org: bc0bec5 | (Steve Mynott)++ | source/downloads/index.html:
changed some missed refs to new ver
AlexDaniel Juerd: I mean, my idea was that M would be a short Z thingy for comparing possibly differntly-sized lists. How does Z handle lists in lists? 01:03
m: my @a = 0,3,2; my @b = True, True, True; say zip @a, @b, :with(&[==]) 01:05
camelia rakudo-moar f05c77: OUTPUT«(False False False)␤»
AlexDaniel m: my @a = 0,3,2; my @b = True, True, True; say roundrobin @a, @b, :with(&[==])
camelia rakudo-moar f05c77: OUTPUT«Unexpected named parameter 'with' passed␤ in block <unit> at /tmp/fp7YXPBGmr line 1␤␤»
AlexDaniel ???…
ok done: RT #127992 01:10
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127992
AlexDaniel oh, we are approaching 128000 01:11
01:11 sue_ joined 01:12 aindilis joined
AlexDaniel oh, maybe it was done on purpose? 01:12
because then you will be comparing something with Any 01:14
or Nil? 01:15
01:17 molaf left 01:22 BenGoldberg joined, pierre_ joined
Herby_ where am I messing up on this regex 01:26
m: my $string = '<weather> 60 F, and sunny </weather>'; say $0 if $string ~~ / \<weather\> ( <-[ ^ ]> ) \<\/weather\> /;
camelia ( no output )
Herby_ m: my $string = '<weather> 60 F, and sunny </weather>'; say $0 if $string ~~ / \<weather\> ( <-[ ^ ]> + ) \<\/weather\> /; 01:27
camelia rakudo-moar f05c77: OUTPUT«「 60 F, and sunny 」␤»
Herby_ nm
:)
01:30 molaf joined 01:35 geraud left 01:36 Herby_ left 01:59 pierre_ left 02:02 perlawhirl left 02:05 kurahaupo joined 02:11 kid51 left 02:13 sue_ left 02:16 kurahaupo left 02:17 kurahaupo joined, tardisx left 02:18 tardisx joined, tphilipp joined 02:21 tphilipp left 02:23 hotel joined
hotel Any reason running perl Configure.pl (...) should result in an "error while loading shared libraries: invalid argument"? 02:24
trying to build rakudostar on "ubuntu" 02:25
02:27 noganex_ joined 02:29 xinming left 02:30 xinming joined, noganex left
geekosaur makes me think it's using an unsupported dlopen() flag. would this "ubuntu" be the new win10 subsystem? it's known to be a bit incomplete, and somewhat behind on syscalls 02:31
hotel got it in one
what syscall would be causing these executable stack error things? 02:32
"cannot enable executable stack as shared object requires" to be precise 02:33
kurahaupo hotel: one of the flags to mmap iirc 02:35
hotel ah, mmap was mentioned last time
geekosaur that's a different thing. real ubuntu disables that as well, but moarvm uses libffi which claims to require executable stack for ffi trampolines. (it is reported that it doesn't seem to actually need it though)
hotel hm
geekosaur you could try using "execstack -q" on the moarvm command and on any shared objects it needs, and "execstack -c" on any of them that say they require it, and see if things still work 02:36
(execstack -q will show the state of the "exec stack needed" flag, execstack -c will clear the flag) 02:38
02:39 kurahaupo left
hotel how do I run that over the configure command? or do I have to go through and insert the execstack call over every command (or ??)? 02:40
hotel scratches his head
geekosaur it's not the configure command that matters here, you will have gotten moarvm installed before it can build rakudo (it does this early) so you'd find that and use the execstack command on it 02:42
I kinda don't see the point in running an ubuntu subsystem in windows running in vmware on ubuntu :) so I can't really provide more detail
hotel i want to use shiny tools 02:43
well the main problem is that it fails when building moarvm
on libmoar.so
maybe it's fixed in the latest update, downloading now 02:48
I understand that most of my problems would be solved by either using a true VM or even just using the windows version, but that would take all the fun out of it IMO
geekosaur it's a first release; welcome to the bleeding edge :) 02:54
(the win10 ubuntu subsystem that is)
02:58 pierre_ joined
hotel :) 03:00
in an hour or so I might have some bleeding edges too
geekosaur exactly :) 03:01
MadcapJakeDinner how do you make sense of exit codes? 03:02
geekosaur for the most part the only meaningful distinction is 0/non-0 03:03
MadcapJakeDinner ahh alright :\
geekosaur there are rare programs that use predefined exit codes. things run from a shell that dump core may have that reported via the exit code, but as there is no way to distinguish a program doing exit(143) from a program getting SEGV via "sh -c ...", this should be treated with suspicion 03:04
MadcapJakeDinner awesome :P 03:05
03:06 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
hotel so no error is exit(0), right? maybe they just add +1 for every error and you're left with something like exit($num-errors) 03:07
03:07 polyfloyd left
geekosaur that's one way. some programs have well-defined error code meanings --- but they're different for each program 03:08
hotel oh- I was totally joking. cool though >_<
geekosaur consistency is not a thing, mostly because 8 bits is not enough to convey meaningful information
hotel and that's why they made logs 03:09
03:10 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 03:12 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
MadcapJakeDinner is there a list of Perl 6 error codes? I can't find one 03:12
03:14 winger joined
geekosaur I don't think so. Also not sure it'd be useful, since you can't distinguish between perl6 itself generating an error and a perl6 script calling exit with the same error code 03:15
er, exit status
03:15 aborazmeh left
MadcapJakeDinner yeah 03:16
hotel can perl6 fix my internet speeds? I'm still learning 03:17
geekosaur if only :/
03:17 winger left, pierre_ left
hotel meep 03:18
geekosaur using a hotspot right now for IRC because main internet is currently pretending to be a boat anchor
03:18 winger joined
hotel my isp/mobile provider put it in our contract that we can't use data for a hotspot :$ 03:19
03:19 pierre_ joined
hotel it's been like this for about 10 minutes now puu.sh/ovYh5/6445fb73eb.png 03:23
03:28 cibs joined 03:30 pierre_ left 03:31 pierre_ joined 03:37 pierre_ left 03:41 pierre_ joined 03:47 pierre_ left 03:50 pierre_ joined 03:52 pierre_ left 03:53 pierre_ joined 03:55 mr-foobar left, pierre_ left, pierre_ joined 03:56 hotel left 04:01 pierre_ left 04:02 pierre_ joined, Guest99506 is now known as ponbiki 04:05 pierre_ left 04:06 pierre_ joined 04:09 tardisx left 04:13 geraud joined 04:16 pierre_ left 04:20 jack_rabbit joined, pierre_ joined 04:28 Cabanossi left 04:31 Cabanossi joined 04:34 CIAvash joined, BenGoldberg left 04:37 pierre_ left 04:39 khw left 04:45 sno left 04:47 sortiz left 04:52 pierre_ joined 04:53 mr-foobar joined 04:58 pierre_ left 05:04 diana_olhovik_ joined
dalek ecs: 7bc7945 | (David Warring)++ | S07-lists.pod:
[S07] change .push example (which doesn't follow one-arg rule) to .append.

As discussed - closes #104
05:04
05:11 tardisx joined 05:20 diana_olhovik_ left 05:23 jjido joined, kurahaupo joined 05:29 jjido left 05:44 skids left 05:48 sno joined 06:02 winger left, xinming_ joined 06:03 winger joined 06:05 xinming left 06:23 darutoko joined 06:24 firstdayonthejob joined 06:26 _mg_ joined 06:27 pierre_ joined 06:29 domidumont joined 06:33 domidumont left 06:34 domidumont joined 06:37 mohae left 06:39 firstdayonthejob left 06:50 wamba joined 06:55 ufobat joined 06:56 tardisx left, rindolf joined 06:57 tardisx joined 07:03 ufobat left 07:11 abraxxa joined 07:18 brrt joined 07:21 sue_ joined 07:24 Relsak joined 07:27 sue_ left
brrt good *, #perl6 07:27
masak good brrt, morning! 07:28
yay, and a R* release!
brrt \o/ 07:29
brrt was confused for a second about the R language
masak I can fully understand why ufo was pulled out of Task::Star, but why remove Bailador? github.com/rakudo/star/commit/63da...20288c1f28
isn't... has Bailador not been nice? *sniff* 07:30
07:30 hankache joined
hankache konnichiwa #perl6 07:32
masak こんにちは hankache-san 07:33
hankache perl6intro is available now in Japanese: ja.perl6intro.com
moritz masak: Bailador has started to collect quite a few dependencies (like new template systems etc.), so the options where to add them all to star, or to remove Bailador
masak: and it seems the star and Bailador maintainers have agreed to do the latter 07:34
masak ok
I don't so much question that decision as I'm curious
so thanks :)
I may be missing the whole picture, but it still seems a bit strange to me... 07:35
"We're gonna provide this distribution of useful things..."
[later]
"Oops, too many dependencies! You're on your own!"
if Bailador has grown less useful over time (maybe in relative terms), I would understand it betters.
better* 07:36
nine_ I think the decision went along the lines of Bailador being useful to only a subset of users. 07:37
hankache does the perl 5 dist contain any web framework?
nine_ no
masak ...as opposed to... some module that 100% of the users use..._ 07:38
?
nine_ Most modules probably have fewer dependencies or larger audiences
masak sorry, I'm probably coming off as a bit too argumentative
hankache there was cgi but it's gone now
masak for all I know, it was the right decision to exclude Bailador 07:39
hankache i think what we should do is create multiple task::* 07:40
and then depending on what the user wants they can install lets say Task::Web 07:41
masak sounds not bad 07:42
07:43 ufobat joined
ufobat oi! :D 07:43
07:44 wamba left
stmuk_ I think we need to think more about exactly "star" is 07:44
07:46 hankache left, wamba joined
stmuk_ its not an "early adopter" distro 07:46
maybe its a standard library 07:47
07:47 maybekoo2 joined, pmurias joined
stmuk_ or maybe its just p6doc, panda and zef 07:47
dunno 07:48
07:49 dakkar joined
masak stmuk_: there will always be modules that belong in the ecosystem but not in ::Star 07:49
07:49 g4 joined
masak stmuk_: I think what surprised me was that Bailador felt like such an obvious ::Star candidate, and still does. 07:50
07:51 rindolf left
stmuk_ I'm not anti Bailador in anyway, its still easy to install but it didnt seem tome 07:52
07:53 leont_ joined
stmuk_ to me to to be a standard library module given other mpdules 07:53
and noone seem
to 07:54
fell
efeel
brrt i think star maybe started of as a collection of 'look, cool, usable things in perl6'
stmuk_ feel strongly enough to revert
brrt and now the focus may be changing to 'the standard distribution for end users which is universally useful'
stmuk_ yes we need to think about what star is 07:55
07:56 araujo joined
brrt i think we can reasonably argue that 'http server writing toolkit' can be a part of a standard library 07:57
we have perl5's CGI and pythons SimpleHTTPServer as precedent
stmuk_ I think SSL connections also should be in std lib more than MVC framewors 07:58
ks
also R* is getting harder to maintain especially on windows with various compilers and NC too 08:01
08:01 astj left, astj_ joined 08:02 zakharyas joined
El_Che w 08:03
stmuk_ I also wonder why panda is in R* and not zef 08:08
since zef can delete modules and panda cant 08:09
masak .oO( Society for the restoration of apostrophes ) 08:10
08:10 tardisx left
stmuk_ I still think having one perl 6 distribution based on MoarVM called "perl 6" and containing just p6doc, panda and zef might be best 08:18
08:19 rindolf joined
sjn tries to compile nom-jvm for the first time in half a year 08:19
bloody hell, it takes a long time!
El_Che stmuk_: you're describing my internal base docker image for perl6
stmuk_: in a docker scenario, Rakudo Star does not bring nothing to the table because it does not version pin the released modules 08:20
stmuk_ star is supposed to pin working module versions (which it does on linux and OS X) 08:21
the problem platform is Windows 08:22
El_Che stmuk_: ok, I need to recheck that again then
stmuk_ El_Che: Task::Star doesnt "pin" git versions whereas R* does 08:23
El_Che stmuk_: that's actually great news 08:24
stmuk_ the main problem with R* is that linenoise is unlikely to work on windows 08:28
which isn't a new problem since it didn't work in the last R*
08:30 Actualeyes left, winger_ joined, uruwi left 08:31 uruwi joined 08:34 TEttinger left, winger left
stmuk_ I wondered whether linenoise should also be removed from R* 08:38
08:38 leont_ left
stmuk_ but I guess that working on linux and OS X is probably better for most users 08:39
and broken windows might encourage fixage :)
brrt doesn't linenoise work on windows? 08:41
stmuk_ maybe depending on arch (32 v 64 bit) or compiler 08:45
I've not seen it work on MSVC although I'm not a windows guy 08:46
and MSVC is used for the MSI build 08:47
08:49 RabidGravy joined 08:58 brrt left
RabidGravy boom 09:11
psch here comes the 09:13
timotimo wobble base, wobble base, wobble wobble wobble 09:14
wobble, wobble, wobble wobblewobblewobble
www.youtube.com/watch?v=IfeyUGZt8nk <- Masterchef Synesthesia - Swede Mason 09:15
psch www.youtube.com/watch?v=qoLS9We9hl4 09:16
timotimo perhaps at some point i ought to put in the time to watch every single youtube video that has >1mil views 09:18
psch i am utterly astonished by the amount of practice and musical comprehension the harmonizator shows 09:21
timotimo huh, practice? 09:22
psch yeah, that's by ear afaik
and, well, it's a guy and not a program :P 09:23
timotimo oh
i thought it was a program :)
psch youtu.be/POgiuxb7xj0 09:24
well, first video unter the videos tab... :)
timotimo good stuff 09:41
09:43 Relsak left 09:45 cdg left 09:53 zakharyas left, Actualeyes joined 09:54 zakharyas joined 10:07 kerframil joined
dalek osystem: cc2a02b | RabidGravy++ | META.list:
Rename META of WebService::Souncloud
10:31
ZoffixWin Souncloud? It's that an alternative to Soundcloud? :P 10:39
10:40 polyfloyd joined
ZoffixWin You listen to Soundcloud in a sauna 10:40
RabidGravy :) 10:42
dalek atures: 8fc35e4 | timotimo++ | features.json:
"arrow blocks" are called "pointy blocks"

by pretty much everyone.
10:48
10:48 dalek left
timotimo %) 10:48
finally did that major update to the features comparison matrix
10:48 dalek joined, ChanServ sets mode: +v dalek
timotimo now i wonder if the page will properly be updated by itself soon 10:49
Please note that this feature matrix generally represents the state of the latest development versions of the compilers, not that of the latest release. 10:50
^- or the other way around!
psch hrm, formulating my reply to #127980 is hard /o\ 10:58
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127980
psch i'm having trouble finding the right way to approach it in general, fwiw
as in, i have a bunch of arguments that point to different future behaviors
...probably should start with "the current behavior definitely seems wrong" then vOv 10:59
11:04 kid51 joined
psch language design is hard, let's just fix bugs /o\ 11:06
masak has a look 11:11
11:12 perlawhirl joined
timotimo you've got the look! 11:13
perlawhirl pcsh: I think best to treat it like a bug than a feature request. $item ~~ @list shouldn't check if the item is in the list... it should always be false 11:14
but the other thing with the empty list
... that's odd i guess
tadzik what in the world can make a red test turn gre-en
masak psch: intersting discussion.
tadzik: the right implementa-a-a-tion! :D
psch perlawhirl: well, S03 says "Any ~~ Positional => lists are comparable: $_[] «===» X[]" 11:15
+plus a few chars so it makes sense outside of the table :)
masak I'd be instinctively against putting elementship semantics into ~~
we used to do that, and we backtracked away from it
perlawhirl is off to read S03
psch perlawhirl: header "Smart matching" has the table about a page down 11:16
masak: right, if it was tried and decided to not work that's good enough for me
masak: i really don't understand the empty list or self[0] ~~ Match cases though 11:17
masak I think that's a recent tweak 11:19
ish
psch oh 11:20
right, looks like it's there because no one wants to champion the truthiness bit
perlawhirl on a slightly unrelated note... what is the defining difference between === and eqv 11:21
psch well, OKness type as it was called in the gist
ohh 11:23
m: say ("aaaa" ~~ m:g/./).WHAT
camelia rakudo-moar f05c77: OUTPUT«(List)␤»
psch that bit matters there i think
masak maybe I would've been more positive towards the OKness proposal if it'd happened back in 2005 or something 11:24
psch well, i think it's pretty much off the table by now anyway 11:25
m:g// returning a List *still* irks me :/ 11:28
masak what would you like it to return?
psch m: class A { }; my A $a .= new; my A $b .= new; say $a eqv $b; say $a === $b 11:29
camelia rakudo-moar f05c77: OUTPUT«True␤False␤»
perlawhirl ahhhhh
wamba m: [\*] (2 .. *) ==> map *.sqrt ==> { say .[1000] }()
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
perlawhirl psch++
psch perlawhirl: =:= is eqaddr, === is eqaddr && WHICH eq WHICH, eqv is "do these look the same" 11:30
perlawhirl yeah, reading... the docs do kinda spell it out for me :D
psch eqv and === are somewhat close semantically for value types i guess
if not even identical vOv 11:31
lizmat And another Perl 6 Weekly hits the net: p6weekly.wordpress.com/2016/04/26/...oductions/
masak lizmat++
psch lizmat++
perlawhirl psch: yes, for a lot of use cases they are comparable ('===' eqv 'eqv')
psch ZoffixWin++ # Audio::MIDI::Note 11:32
that's a strong superset of what i do in Music::Helpers :o 11:33
wamba [\*] (2 .. *) ==> { say .[1000].sqrt }()
m: [\*] (2 .. *) ==> { say .[1000].sqrt }()
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
masak sounds about right :P
moritz 1000! is a pretty large number
masak 1000! is! a! pretty! large! number! 11:34
wamba ye, but why sqrt form big numbers is Inf?
psch m: say &sqrt.candidates>>.signature
camelia rakudo-moar f05c77: OUTPUT«((Numeric \x) (Cool \x) (num $a --> num))␤»
moritz wamba: what do you think the sqrt of Inf is? 11:35
masak m: say sqrt(2 * pi * $_) * ($_ / e) ** $_ given 1_000
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
masak yup
Sterling's approximation agrees :P
psch m: say (1000 / e) ** 1000
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
wamba moritz: if i remove sqrt then its not Inf
perlawhirl m: ( [\*] (2 .. *) )[1000].chars
camelia ( no output )
perlawhirl m: say ( [\*] (2 .. *) )[1000].chars
camelia rakudo-moar f05c77: OUTPUT«2574␤»
perlawhirl that's a big number
masak meh 11:36
I've seen bigger
psch m: say ( [\*] (2 .. *) )[1000].Numeric
camelia rakudo-moar f05c77: OUTPUT«4035952266318452090518806286296408436845044275530751978706963977610491878128497049118615252008472869536910295360050080411996791369475389741951456038066137646595987724483431553460999362576257530948038840278601639397898421388354597263097357654866250729221451…»
perlawhirl HA!
moritz wamba: but it's an Int, which is an arbitrary precision type
wamba: sqrt returns a Num, which is limited to roughly 1e308
wamba m: [\*] (2 .. *) ==> { say .[1112].Num }()
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
wamba ok, ty
moritz m: say log( ( [\*] (2 .. *) )[1000] )
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
wamba moritz: ty 11:37
psch oh duh, Int.Numeric is a noop
silly me
moritz the log thing is a bit sad
though I don't know any good integer algorithms for calculating a natural log
perlawhirl m: say ( [\*] (2 .. *) )[168].sqrt # as far as you get before it craps out 11:40
camelia rakudo-moar f05c77: OUTPUT«2.6939590968142e+153␤»
perlawhirl m: say ( [\*] (2 .. *) )[169].sqrt
camelia rakudo-moar f05c77: OUTPUT«Inf␤»
11:41 pierre_ left
timotimo good, the feature matrix page has successfully been updated with my changes 11:42
11:44 AlexDaniel left
perlawhirl so, there are shaped arrays, tho... or are they still a WIP at this stage? 11:45
timotimo they are a bit NYI
moritz perlawhirl: they exists, but not with all the degrees of freedom that TimToady has dreamed up :-)
timotimo m: my int @a[4;5] = (0 xx 5) xx 4; say @a.perl
camelia rakudo-moar f05c77: OUTPUT«array[int].new(:shape(4, 5), [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0])␤»
timotimo m: my int @a[4;5] = (0 xx 5) xx 4; @a[*;4] = 1
camelia rakudo-moar f05c77: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry. ␤ in block <unit> at /tmp/xasTIEdpJu line 1␤␤»
timotimo ^- this is the part that's missing 11:46
perlawhirl ah, i see
timotimo and shaped hashes are missing completely
lizmat what is a shaped hash other than a mutable Enum ? 11:47
perlawhirl well yeah that's why i as asking... i thought they would at least get a +- in the list
moritz yes, sounds sensible 11:48
perlawhirl yeah, it is Partially implemented (just the Array part (and only part of that)) 11:49
timotimo lizmat: dunno, I would have to read the specs
11:55 kid51 left 11:58 tbrowder joined
tbrowder hi! the unicode_texas.pod file still needs help. the unicode 'e' renders nicely (thanks) but its row is now too high; html source shows a big gap in that line but I don't see any error in the html; the html generated on my machine has no error and renders nicely with iceweasel 12:02
12:04 ufobat left 12:05 nd3i joined, pierre_ joined
nd3i in the REPL, can I test subs from a file? 12:05
I tried: use /path/to/file, and load /path, and EVAL slurp /path ... no joy 12:06
timotimo if you have a path, you'll use "require" with a string argument 12:11
otherwise you'd make sure the file is in your library search paths and then just "use Folder::Inner::Modulename"
12:15 kaare_ joined
nd3i beautiful! require does the trick. Forgot about that one. TYVM 12:16
12:16 nd3i left 12:17 _rubio_ joined
XliffNap MadcapJake++ # HTML::MyHTML release. 12:20
12:20 XliffNap is now known as Xliff 12:22 cdf joined
cdf quit 12:23
12:23 cdf left 12:29 pierre_ left
perlawhirl ^Hexit 12:43
lol
12:43 perlawhirl left
masak .oO( IRC is hard, let's exit... lol ) 12:43
12:49 pierre_ joined 12:57 ZoffixW joined
tony-o MadcapJake: have you been using (or trying to use) modules.zef.pm? 12:59
MadcapJake tony-o: yeah! but does search work? 13:02
also needs a favicon and an opensearch provider www.opensearch.org/Home 13:03
tony-o MadcapJake: search does work 13:06
it's not great, yet
but it does bring back what you're looking for, for the most part 13:07
13:10 Sgeo left
MadcapJake tony-o: if I put in HTML, not a single HTML::* module shows up 13:14
ZoffixW Any idea why Inline::Perl5 is choking on this code? gist.github.com/zoffixznet/7fe6677...9da9433ea4
psch ZoffixW: ooc, did you see github.com/peschwa/p6-Music-Helpers ? 13:17
ZoffixW psch, yeah
What's "ooc"? 13:18
timotimo "out of curiosity" usually
psch i usually take it as "out of curiousity", yeah
timotimo eh. british english, american english, same difference 13:19
13:19 Sgeo joined
timotimo AFK 13:19
psch some contexts have it as s/curiousity/character/, and i sometimes also use it as s/curiousity/context/ :S
huf it's the french way to say "coo"
just like OOP in french is POO 13:20
13:20 infina left, infina_ is now known as infina
dalek osystem: 1450f3f | RabidGravy++ | META.list:
Rename META for Chronic
13:20
psch ZoffixW: i like your interface a lot more, 'cause it takes all the portmidi handling away, fwiw
MadcapJake Xliff: have you given it a try yet? It's pretty fast for me (hope it doesn't give you errors like before)
psch on the otherh and, i wouldn't know how deal with chords as easily there vOv
s/h a/ha/ 13:21
+a space...
but maybe i've just not really understood it heh 13:22
ZoffixW Just pass a list: .play(<C4 E4 G4>) play C major
13:22 skids joined
psch i'm wondering if should tear out Music::Helpers::Note and replace it with Audio::MIDI::Note, in any case 13:23
13:23 Sgeo left
psch orr if maybe Music::Helpers is kinda bad anyway and i should trash it :P 13:23
ZoffixW And if, say, two of those notes are meant to sound longer than the third, you can use .aplay to sound longer ones asynchronously: .aplay(<E4 G4>).play('C4', 1/8).play('C4', 1/8) <-- plays C major with C4 note played twice in 8th notes
heh 13:24
Don't trash it.
Oh, Music::Helpers::NOTE...
psch nah, trashing was in reference to Music::Helpers 13:25
ZoffixW Nah, don't. With ::Note you actually have to know what notes C major has :) While Music::Helpers will tell you :)
psch ::Note should probably be replaced by something built upon Audio::MIDI::Note, although i think it's (a) somewhat misnamed and (b) i don't like passing strings around to tell what i'd like to have played 13:26
well, A::M::N feels misnamed, to be precise
it's more like a minimal sequencer, isn't it 13:27
ZoffixW I think I'll rename it to ::Instrument
And will have an ::Instrument::Guitar subclass that will be able to take tabs. 13:28
psch that sounds neat
ZoffixW I'm doing this stuff just for an article on grammars. I don't think I have much real use for it anywhere else :)
Well, I reported my Inline::Perl5 issue. No idea what's causing it. Gonna rewrite my .each() with a regular loop: github.com/niner/Inline-Perl5/issues/60 13:32
13:32 ZoffixW left
Xliff MadcapJake, as soon as I need something like that, I'm definitely giving it a whirl. 13:34
I've been playing with Mojo::DOM like Zoffix.
Mainly for eBook mangling. 13:35
s/eBook/ePub/
13:37 ufobat joined
takadonet morning all 13:39
MadcapJake Xliff: ok! It still needs more work (and MyHTML itself still needs some features) but I'm knee-deep in CompUnits right now so it'll be a little while before I get back to it. 13:41
Xliff No worries! Glad you got it released. I will update and see if I can break it, again! ^_^ 13:45
13:45 luiz_lha left 13:46 pierre_ left
dalek osystem: 158a0a4 | RabidGravy++ | META.list:
Rename META file for Tinky
13:47
Xliff Hmm.... MadcapJake, did you rename some classes? The tests aren't passing. 13:49
13:49 tomboy64 left
Xliff 020-basics.t -> "my MyHTMLTree $tree .= new($myhtml);" 13:49
MadcapJake oh my, I definitely left tests in disrepair :P
You can still --force install right? 13:50
moritz stmuk_++ # rstar release 13:52
13:53 tomboy64 joined 13:54 _rubio_ left 13:56 pierre_ joined
tbrowder is anyone else seeing the too-high row for unicode 'e' in this list: <doc.perl6.org/language/unicode_texas>? 13:58
[Coke] tbrowder: looks fine here. 13:59
(os x/chrome)
Xliff MadcapJake, heh! I'm gonna take a stab at fixing them. Just for the halibut. 14:00
lizmat tbrowder: looks fine for me on OS/X Safari as well
ilmari tbrowder: exactly the same height as the surrounding rows in firefox/linux
27.2px, according to the dom inspector
Xliff tbrowder, looks fine here (Win/Chrome) 14:01
tbrowder okay, thanks; my chrome seems weird, but iceweasel does show it fine (I don't use it much and forget to check it) 14:02
ilmari tbrowder: it's one pixel taller in chromium 14:03
27 vs 26
and the 「 and 」 rows are 29px 14:04
Xliff .u 1d450 14:05
yoleaux U+1D450 MATHEMATICAL ITALIC SMALL C [Ll] (𝑐)
Xliff ^ Speed of light?!
14:05 pierre_ left
Xliff m: say 𝑐 14:05
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ko9rnRT6gN␤Undeclared routine:␤ 𝑐 used at line 1␤␤»
Xliff .u 1d452 14:06
yoleaux U+1D452 MATHEMATICAL ITALIC SMALL E [Ll] (𝑒)
tbrowder weird! my deb 8 chrome does have utf-8 encoding but I guess I'll have to fall back to another browser for a while; thanks all!
Xliff m: say 𝑒
camelia rakudo-moar ce5dc0: OUTPUT«2.71828182845905␤»
14:06 khw joined
tbrowder bye 14:06
14:06 tbrowder left
Xliff Who can I talk to to advocate for the addition of the 𝑐 constant? 14:06
[Coke] Xliff: what would the # be? 14:07
Xliff Speed of light in a vacuum.
[Coke] (and that's why it's not going in, probably)
psch in meters per second
[Coke] Xliff: what units?
psch probably vOv
i don't like it, fwiw
Xliff 299 792 458 m / s
psch e and pi are mathematical constants 14:08
[Coke] yah, not going to happen, based on previous units based conversations.
geekosaur while I looked for it the other day, I actually agree it's module space
Xliff psch: So.... only unitless values?
geekosaur I could argue for pi and e also being module space
MadcapJake m: constant 𝑐 = 2.99792458e8; say 𝑐;
camelia rakudo-moar ce5dc0: OUTPUT«299792458␤»
[Coke] Xliff: where would you even hang the units?
psch Xliff: well, that's my naive reasoning, yeah. but i also think "how fundamental" is a thing to think about as well 14:09
like, we don't need G64 for example vOv
Xliff Well. That makes sense, then. And MacapJake threw in a simple workaround.
geekosaur ...also I'd be happier with e if it weren't a single letter in its texas version 14:10
MadcapJake wrt module-space: I could see `use Constant::SpeedOfLight :meters;` 14:11
though tbh, is there really any other unit than m/s where it would be used? 14:12
Xliff Math::Constant::SpeedOfLight?
DrForr As long as alpha doesn't change (which it may) :)
Xliff Most equations that use it require m/s 14:13
colomon Math::Constant::SpeedOfLightInAVacuum
errr, surely Physics::Constant::SpeedOfLightInAVacuum
DrForr I'd put that in Physics:: myself.
Xliff Fair enough.
14:14 tharkun left
Xliff No Physics:: modules in the ecosystem yet. LOL! 14:14
MadcapJake another idea would be Physics::Constants and leave the space open for more than just speed of light 14:15
Xliff I'm looking here: physics.info/constants/
DrForr Well, there are at least 19 constants that we ned...
*need 14:16
Xliff Unfortunately... subscripts!
14:16 blue_lizzard joined, tharkun joined
DrForr X_0 and friends? 14:16
Xliff Yup
MadcapJake you could make each one an instance of a Physics::Constant class that has a convert method 14:17
Xliff ε0, u0, and the whole m_ pantheon.
I like that idea, MadcapJake. 14:19
Only problem is that for completeness, there'd need to be some way to take care of symbols with subscripts. 14:20
Because the closer we get to this: 4πε0....the more useful it would be to the people who would actually use it. 14:21
lizmat Xliff: if they're part of an identifier, subscripts should just work ?
Xliff And that 0 should be subscript.
psch m: constant m₀ = "foo"; say m₀ 14:22
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dwke_FWkd1␤Missing initializer on constant declaration␤at /tmp/dwke_FWkd1:1␤------> 3constant m7⏏5₀ = "foo"; say m₀␤»
psch alphabetical subscripts work i think
Xliff m: constant e₀ = 8.854187817e-12; say e₀
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lQ5b_5oa_F␤Missing initializer on constant declaration␤at /tmp/lQ5b_5oa_F:1␤------> 3constant e7⏏5₀ = 8.854187817e-12; say e₀␤»
psch well, if those constants had a formulaic progression it could be solved with postfix ops :P 14:23
hm, actually, even without it could
Xliff lizmat: Soo.... not yet.
psch m: sub postfix:<₀> { $^a }; say 2₀
camelia rakudo-moar ce5dc0: OUTPUT«2␤»
lizmat :-( 14:24
psch define a constant m, define a postfix to take only that constant, return the right value
it's a bit terrible, yes, but i think the "allow numeric subscripts in ident" discussion has happened a few times already
Xliff psch: That's a strategy. However how would that work for the m_e, m_p, and m_n constants? 14:25
psch: multis? 14:26
psch m: constant mₑ = "i don't know physics"; say mₑ
camelia rakudo-moar ce5dc0: OUTPUT«i don't know physics␤»
MadcapJake not to beat a dead horse, but I think subscripts should be allowed in ident because x₁ is a very common compsci/math concept/syntax
psch Xliff: Lo is fine in ident, No isn't afaik
.u ₑ
yoleaux U+2091 LATIN SUBSCRIPT SMALL LETTER E [Lm] (ₑ)
psch m: say uniprop 'ₑ'
camelia rakudo-moar ce5dc0: OUTPUT«Lm␤»
psch oh, isn't even Lo
Xliff Oh. Right. Letters work.
psch ...i don't know unicode :)
m: say uniprop '₀' 14:27
camelia rakudo-moar ce5dc0: OUTPUT«No␤»
Xliff So for any No, we need postfix ops.
MadcapJake actually though, I *could* see subscripts being more powerful than just simply numbers-on-ends-of-identifiers
Xliff LOL! And Hubble's constant doesn't seem so .... constant. 14:31
dalek osystem: 3d4b9d3 | RabidGravy++ | META.list:
Rename META for Audio::Sndfile
14:38
masak .oO( Hubble's readonly parameter ) 14:45
Xliff When declaring a unit class, how do you handle inheritance? 14:48
psch m: unit class Foo; also is Cool;
camelia ( no output )
psch m: unit class Foo is Cool;
camelia ( no output )
tailgate how does one write a custom "say" for an object? 14:51
psch tailgate: &say calls .gist on its arguments
tailgate so you override gist in your object? 14:52
class
14:57 mohae joined
lizmat m: class A { method gist { "foo" } }; say A 14:57
camelia rakudo-moar ce5dc0: OUTPUT«foo␤»
Xliff Thanks psch. 14:58
15:01 _mg_ left 15:03 lostinfog joined
dalek osystem: 264a14e | RabidGravy++ | META.list:
Rename META for Audio::Convert::Samplerate
15:05
15:06 molaf left 15:09 g4 left
grondilu > use Clifford; say no*ni # now shows -1+𝑂∧∞, which is neat 15:10
15:11 domidumont left
hoelzro stmuk_: there's no reason Linenoise shouldn't work on Windows; I can test it later 15:13
I'm wondering if it's just the star MSI that has problems with Linenoise 15:14
15:18 muraiki joined 15:20 _mg_ joined 15:25 muraiki left
RabidGravy Oooh Tinky's tests fail with "latest" and not 2016.04 15:33
and only on Travis it seems 15:35
Xliff Is there a perl6 equivalent of 'prove'?
RabidGravy I think leont made one 15:36
15:36 abrakadabra joined
lizmat it's actually in nom now 15:37
ilmari rakudo.git:t/harness6
lizmat afk for a few hours&
RabidGravy also github.com/tony-o/perl6-flow
15:40 blue_lizzard left 15:41 CIAvash left 15:42 Begi joined
Begi is there an easy way to check if a number is pair or unpair? (a method maybe ?) thanks ! 15:44
timotimo "pair"? "unpair"?
Begi euh, 1 is unpaire, 2, 4 and 6 are pair for example 15:45
huf even/odd 15:46
Begi sorry if it's not the good word :} Ah, thanks !
huf that's how they say it in english. not paired and unpaired.
arnsholt Doesn't look like there're methods for even/odd
huf &1
arnsholt But there's the %% operator
huf well, whatever binary and is
arnsholt Which returns true if the remainder is 0 and false if note
*not 15:47
timotimo huf: bitwise and is +&
m: say 1 %% 2; say 2 %% 2; say 3 %% 2; say 4 %% 2; say 5 %% 2; say 6 %% 2
camelia rakudo-moar ce5dc0: OUTPUT«False␤True␤False␤True␤False␤True␤»
ilmari m: (1..4).map: * %% 2
camelia ( no output )
ilmari m: say (1..4).map: * %% 2
camelia rakudo-moar ce5dc0: OUTPUT«(False True False True)␤»
timotimo Begi: what language do you come from?
RabidGravy m: say (^10).classify({ $_ %% 2 ?? "even" !! "odd" }) 15:49
camelia rakudo-moar ce5dc0: OUTPUT«{even => [0 2 4 6 8], odd => [1 3 5 7 9]}␤»
RabidGravy right there in the examples of List.classify
15:50 |Tux| left
masak m: sub is-even($n) { $n %% 2 }; say 42.&is-even 15:50
camelia rakudo-moar ce5dc0: OUTPUT«True␤»
masak Begi: there.
timotimo if you don't come from an english background it may be hard to find "even" and "odd". in german, you say literally "straight" and "unstraight" 15:51
arnsholt Oooh, masak++ to the resecue!
Begi I'm French. And i was sure that pair and unpair was good... But now I know, thanks ! :) 15:52
arnsholt Norwegian uses pair-number and odd-number, French has pair and unpair, IIRC
timotimo pff, the french are always arrogant about language :D :D
arnsholt Well, usually English has the same terms as the French when it comes to mathematics. It's usually the *Germans* who are stubborn and insist on their own words ;p 15:53
timotimo yeah, the german words and terms are always better, though 15:54
huf timotimo: yeah, my first guess waaaay back when was paired/unpaired too :)
it's the english translation of the hungarian words, after all :)
also i think i may have seen the words on a roulette mat 15:55
arnsholt timotimo: I once heard a (Norwegian) professor of Philosophy say that Kant was *even* harder to understand in English translation than in Norwegian translations, since many of Kant's special terms are very hard to translate into English 15:56
(Or translate well, at any rate)
15:56 |Tux| joined
timotimo i ought to read a bunch of his work some day 15:56
i don't think i've read a single piece of his :( 15:57
arnsholt I think I've read fragments
And in the end, I think it's more important to be aware of Kant as a philosopher and roughly his position on things. There simply isn't enough time to read all of the seminal things
timotimo i also ought to read some kafka. for some reason the two are closely related in my mind 15:58
probably because their names are both "ka"-words :)
grondilu was given 'the metamorphosis' to read during high-school. 15:59
psch "Auf der Galerie" is simply amazing 16:00
en.wikipedia.org/wiki/Up_in_the_Gallery#Text
by kafka that is
grondilu forgot almost everything about it except the weird plot.
(it's crazy how little I can remember from books, especially fiction) 16:01
Begi I'm doing a little game. The goal is to write code with fewer characters possible. I'm sure Perl can win :) 16:06
For now, I've that ? Can I reduce it ?
my $n = prompt('>');my $m = prompt('>'); for 1..$n { if $_ %% 2 {say 'O' x $m } else { say 'X' x $m }}
grondilu my ($n,$m) = promopt('>') xx 2; comes to mind 16:07
*prompt
perlpilot using a ternary would make is smaller too 16:08
grondilu also, use the ternary operator
timotimo no, perl cannot win
perlpilot a post-fix for could shave off a couple of characters
timotimo the $n doesn't have to be a variable 16:09
psch my ($m,$n) = prompt('>') xx 2; my $l = $_ %% 2 ?? 'O' !! 'X'; $l x $_ for 1..$n # i'd say 16:10
timotimo m: say ('O', 'X' Xx 5)[^10]
camelia rakudo-moar ce5dc0: OUTPUT«(OOOOO XXXXX Nil Nil Nil Nil Nil Nil Nil Nil)␤»
timotimo m: say ('O', 'X' Xx 5 xx *)[^10]
camelia rakudo-moar ce5dc0: OUTPUT«(OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO OOOOO)␤»
timotimo m: say (('O', 'X' Xx 5) xx *)[^10]
camelia rakudo-moar ce5dc0: OUTPUT«((OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX) (OOOOO XXXXX))␤»
psch oh, no, needs andthen instead of the second ;
which makes it a lot longer
timotimo ugh, sublists
Xliff m: So "my ($n,$m)=prompt('>') xx 2; for (^$n) { say $_ %% 2 ?? 'O' x $m !! say 'X' xx $m } 16:11
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lnR8Fl14B7␤Variable '$n' is not declared␤at /tmp/lnR8Fl14B7:1␤------> 3So "my (7⏏5$n,$m)=prompt('>') xx 2; for (^$n) { say␤»
Xliff m: my ($n, $m)=prompt('>') xx 2; for (^$n) { say $_ %% 2 ?? 'O' x $m !! say 'X' xx $m }
camelia rakudo-moar ce5dc0: OUTPUT«>>Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5Céad slán ag sléibhte maorga Chontae Dhún na nGall' (indicated by ⏏)␤ in block <unit> at /tmp/yzMHZDQPLg line 1␤␤Actually thrown at:␤ in block…»
grondilu m: say <O X> Zx (2, 3)
camelia rakudo-moar ce5dc0: OUTPUT«(OO XXX)␤»
grondilu m: say <O X> Zx (2, 3)[$_ % 2] for ^2 16:12
camelia rakudo-moar ce5dc0: OUTPUT«(OO)␤(OOO)␤»
grondilu m: say (<O X> Zx (2, 3))[$_ % 2] for ^2
camelia rakudo-moar ce5dc0: OUTPUT«OO␤XXX␤»
timotimo m: say (<O X> xx *) Zx 6 16:13
camelia rakudo-moar ce5dc0: OUTPUT«(O XO XO XO XO XO X)␤»
16:13 leont_ joined
grondilu my ($n, $m) = prompt xx 2; say (<0 X> Zx ($n, $m))[$_ % 2] for 1 .. $n 16:14
I think I win
psch grondilu: no, the length the X and O strings is both $m :) 16:15
Xliff Yeah. Beat my "'my ($n, $m)=prompt(">") xx 2; for (^$n) { say $_ %% 2 ?? "O" x $m !! say "X" x $m }"
16:15 ufobat left
psch grondilu: so that's <O X> Xx $m instead i think 16:15
timotimo m: say (|<O X> xx *) Zx 6
camelia rakudo-moar ce5dc0: OUTPUT«(OOOOOO)␤»
timotimo m: say (|<O X> xx *) Xx 6 16:16
camelia rakudo-moar ce5dc0: OUTPUT«(...)␤»
timotimo m: say ((|<O X> xx *) Xx 6)[^20]
camelia rakudo-moar ce5dc0: OUTPUT«(OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX OOOOOO XXXXXX)␤»
grondilu my ($n, $m) = prompt xx 2; say (<0 X> Xx $m)[$_ % 2] for 1 .. $n
psch timotimo++ wins i think, replace 6 with $m and ^20 with $n
grondilu m: say 'my ($n, $m) = prompt xx 2; say (<0 X> Xx $m)[$_ % 2] for 1 .. $n'.chars
camelia rakudo-moar ce5dc0: OUTPUT«64␤»
psch err, ^$n
Xliff knows better than to get into a golfing contest with grondilu.
timotimo if the two numbers were reversed, it'd be easier, because then the variables could go completely 16:17
hm, actually ...
Xliff I don't think the variables are important, in this instance.
timotimo m: my @vals = 10, 5; say ((|<O X> xx *) Xx @vals.shift)[^@vals.shift]
camelia rakudo-moar ce5dc0: OUTPUT«(OOOOOOOOOO XXXXXXXXXX OOOOOOOOOO XXXXXXXXXX OOOOOOOOOO)␤»
timotimo nope, wrong way around. 16:18
perlpilot notes that an explicit index is fewer characters than .shift :)
timotimo in that case you've misunderstood my intention, perlpilot 16:19
grondilu m: say (@=<O X> X 3).shift for ^10
camelia rakudo-moar ce5dc0: OUTPUT«(O 3)␤This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at /tmp/1o99Qfc1Q2 line 1␤␤»
grondilu m: say (state @=<O X> X 3).shift for ^10
camelia rakudo-moar ce5dc0: OUTPUT«Cannot shift from an empty Array␤ in block <unit> at /tmp/2Rv7582yPU line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/2Rv7582yPU line 1␤␤»
perlpilot perhaps. I just glanced at what you did
timotimo i was wondering which of the two shifts would be executed first
grondilu m: say (@=[<O X> X 3]).shift for ^10
camelia rakudo-moar ce5dc0: OUTPUT«(O 3)␤This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at /tmp/D_RZgPPlr9 line 1␤␤»
perlpilot ah.
timotimo if i had known, i would have been able to use indices 16:20
grondilu m: say (@=[<O X> Xx 3] xx *).shift for ^10
camelia rakudo-moar ce5dc0: OUTPUT«[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤[OOO XXX]␤»
grondilu m: say (@=|[<O X> Xx 3] xx *).shift for ^10
camelia rakudo-moar ce5dc0: OUTPUT«OOO␤OOO␤OOO␤OOO␤OOO␤OOO␤OOO␤OOO␤OOO␤OOO␤»
timotimo %)
grondilu meh
* 16:21
psch m: say {((|<O X> xx *) Xx @^a[1])[^@a[0]]}(3, 4)
camelia rakudo-moar ce5dc0: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in block <unit> at /tmp/hbBI5tYDZj line 1␤␤»
[Coke] wonders if he missed what the goal of the code to be golfed was. 16:22
psch m: say {((|<O X> xx *) Xx @^a[1])[^@a[0]]}([3, 4])
camelia rakudo-moar ce5dc0: OUTPUT«(OOOO XXXX OOOO)␤»
timotimo [Coke]: ask the user for two numbers. the first one will be the number of results, the second one will the the number of characters in each result
psch [Coke]: afaict "print $n strings of lenght $m alternating between only O and only X, starting with O"
my @^a juggling there is only neccessary if $n has to be the first character prompted for 16:24
well, and inside the argument brackets it has to be < prompt('>') xx 2 > of course
perlpilot m: say {((|<O X> xx *) Xx $^b)[^$^a]}(3, 4) 16:25
camelia rakudo-moar ce5dc0: OUTPUT«(OOOO XXXX OOOO)␤»
psch but yeah, that's pretty much a variation on timotimos shift attempt above
perlpilot: ohh. i thought that was in order of apperance, not lexicographically?
16:26 blue_lizzard joined 16:27 abraxxa left
perlpilot psch: the only place it's mentioned is S06:1903 I think. Easy to miss. 16:28
synopsebot6 Link: design.perl6.org/S06.html#1903_I_think
perlpilot blah S06:1903
synopsebot6 Link: design.perl6.org/S06.html#line_1903
perlpilot S06:1903 # blah 16:29
synopsebot6 Link: design.perl6.org/S06.html#1903
[Coke] the original had newlines between. doesn't matter?
16:31 sno left, molaf joined
psch m: {((|<O X> xx *) Xx $^b)[^$^a]}(3, 4)>>.say 16:31
camelia rakudo-moar ce5dc0: OUTPUT«OOOO␤XXXX␤OOOO␤»
[Coke] m: say @ARGS; #should this point the user to @*ARGS ? 16:32
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/95U50oqhdl␤Variable '@ARGS' is not declared␤at /tmp/95U50oqhdl:1␤------> 3say 7⏏5@ARGS; #should this point the user to @*␤»
16:32 leont_ left
[Coke] m: {((|<O X>xx*)Xx$^b)[^$^a]}(3, 4)>>.say #don't need that whitespace, fwiw. 16:34
camelia rakudo-moar ce5dc0: OUTPUT«OOOO␤XXXX␤OOOO␤»
grondilu aren't anonymous vars stateful by default? 16:39
m: say ($ = rand) xx 3 16:40
camelia rakudo-moar ce5dc0: OUTPUT«(0.873389677186383 0.873389677186383 0.873389677186383)␤»
grondilu ^ok
m: say class { method foo
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vRbGQyHmS8␤Missing block␤at /tmp/vRbGQyHmS8:1␤------> 3say class { method foo7⏏5<EOL>␤»
grondilu m: say class { method foo { $ = rand } }.foo xx 3
camelia rakudo-moar ce5dc0: OUTPUT«(0.12095567275021 0.949202130224687 0.528641531443544)␤»
grondilu m: say class { method foo { state $ = rand } }.foo xx 3 16:41
camelia rakudo-moar ce5dc0: OUTPUT«(0.0667398521920298 0.0667398521920298 0.0667398521920298)␤»
grondilu m: say sub { $ = rand }() xx 3
camelia rakudo-moar ce5dc0: OUTPUT«(0.42887390855944 0.0981274916362383 0.726979193199287)␤»
grondilu m: say sub { state $ = rand }() xx 3 16:42
camelia rakudo-moar ce5dc0: OUTPUT«(0.606978223312708 0.410643969659601 0.241039878874842)␤»
grondilu that's slightly confusing
ok I suppose a new sub is made each time.
m: say ($ = sub { state $ = rand })() xx 3 16:43
camelia rakudo-moar ce5dc0: OUTPUT«(0.685959262855442 0.850307852496684 0.959541707007263)␤»
grondilu m: say (state $ = sub { state $ = rand })() xx 3
camelia rakudo-moar ce5dc0: OUTPUT«Cannot find method 'Any'␤ in block <unit> at /tmp/zr0wrj1hrS line 1␤␤»
psch ...neat
grondilu m: say (state $ = sub { state $ = rand })() for ^3
camelia rakudo-moar ce5dc0: OUTPUT«Cannot find method 'Any'␤ in block <unit> at /tmp/eQvnQ_pq0I line 1␤␤»
grondilu m: say (& = sub { state $ = rand })() for ^3 16:44
camelia rakudo-moar ce5dc0: OUTPUT«0.667076751686091␤0.239240499621915␤0.923056760645881␤»
psch m: state $ = sub { } 16:45
camelia ( no output )
psch m: (state $ = sub { })()
camelia ( no output )
16:48 dakkar left 16:50 Begi left 16:58 _mg_ left 16:59 blue_lizzard left 17:01 zakharyas left 17:07 zakharyas joined, kerframil left 17:09 sue joined 17:14 Actualeyes left
gregf_ m: say (& = sub { state $ = rand } ).^name 17:16
camelia rakudo-moar ce5dc0: OUTPUT«Sub␤»
gregf_ m: say (sub { state $ = rand } ).^name 17:17
camelia rakudo-moar ce5dc0: OUTPUT«Sub␤»
[Coke] MadcapJake: did you just open 127989?
A code sample showing the code to generate the bad output would be great. 17:18
psch m: say (state $ = sub { state $ = rand } ).^name
camelia rakudo-moar ce5dc0: OUTPUT«Sub␤»
17:19 cale2 joined
Juerd Is there any difference between a bare '$' and 'state $'? 17:20
17:22 sue left 17:23 infina left 17:24 infina joined
tailgate what do I do to remove the last character from a string? 17:25
[Coke] m: "what?".chop.say 17:26
camelia rakudo-moar ce5dc0: OUTPUT«what␤»
gregf_ m: say [ $, state $ ].map: { [ $_.^name, $_ ] }
camelia rakudo-moar ce5dc0: OUTPUT«([Any (Any)] [Any (Any)])␤»
gregf_ chop?
17:33 _mg_ joined 17:36 sortiz joined
sortiz \o #perl6 17:37
vendethiel- o/ 17:38
17:38 domidumont joined
timotimo \o 17:45
perlpilot tailgate: why do you want to remove the last character of a string OOC? 17:48
[Coke] catches another 10 seconds of footage on the latest portuguese captain america teaser. :) 17:51
17:52 cale2 left 18:04 CIAvash joined 18:08 kurahaupo left, sno joined 18:12 ufobat joined 18:14 domidumont1 joined 18:17 maybekoo2 left, Xliff left, domidumont left 18:20 infina left, infina joined 18:21 kurahaupo joined
ufobat cries over his broken laptop 18:21
18:21 kurahaupo left
moritz hugs ufobat 18:22
ufobat :-)
18:23 zakharyas left
timotimo :( 18:26
mein beileid~
ufobat i am a victim of the dell pro support 18:37
timotimo >:(
ufobat my touchpad was semi broken, it got replaces, speakers sounded like a old modem.... then everything else was replaced.
the new touchpad is completly broken, and is getting so hot after a while... 18:38
but after 2 replacements dell will not create a new call for a 3rd hardware replacment. the technican told me i probably get a offer for a new notebook now.. :/
bla
anyway :D
i've got a newbie question again 18:39
m: sub bar {try {return foo; CATCH {given X::AdHoc {say "caught "}}}}; sub foo {die 1}; bar(); say "okay"
camelia rakudo-moar ce5dc0: OUTPUT«caught ␤1␤ in sub foo at /tmp/SDcMycTRvT line 1␤ in sub bar at /tmp/SDcMycTRvT line 1␤ in block <unit> at /tmp/SDcMycTRvT line 1␤␤»
timotimo personally, i'm pretty fond of lenovo support
ufobat <3 lenovo
timotimo will be AFK for a bit
stmuk_ I only really trust Apple and Lenovo laptops - and the latter less so recently
ufobat i've got a lenovo keyboard because i like the trackpoint so much
timotimo ufobat: you accidentally wrote "given" instead of "when" 18:40
ufobat omg
thanks! 18:41
18:42 CIAvash left
tony-o MadcapJake: that's really bad. i guess 'no' is the answer to your question 18:43
18:46 infina left
masak can't help but think of Perl 6 when he sees an article called "Good Software Takes Ten Years. Get Used To it." 18:47
www.joelonsoftware.com/articles/fog...00017.html
(written 15 years ago)
18:48 jjido joined 18:52 spider-mario joined 18:53 jack_rabbit left 18:56 Xliff joined
stmuk_ I have a shirt with 18:59
www.einval.com/~steve/DebianT/grol...n-open.gif
"we only release it when it's ready" 19:00
19:03 jamesneko joined 19:04 infina joined 19:05 infina left, infina joined 19:06 jack_rabbit joined
Xliff MadcapJake, sorry to be the bearer of bad news but p6-MyHTML is still generating SEGVs. I'm currently running on my Linux host, so it is not a problem limited to my VM. 19:09
MadcapJake awesome /s 19:10
:P I wonder what could cause it to work for me and not for you?
Is your host 32 bit? 19:11
[Coke]: ok, commenting now
[Coke] MadcapJake: danke 19:13
Xliff MadcapJake, host is 64-bit. VM is 32-bit.
Same error.
MadcapJake tony-o: You could just send a json of all the modules to the browser and then use fuse (a client-side JS fuzzy search engine) to give you per-character search
Xliff I'm writing up a gist, now.
19:13 colomon left 19:15 domidumont1 left, polyfloyd left
Xliff gist.github.com/Xliff/80881b4b3f02...0f95d4cca2 19:15
^^ MadcapJake
19:16 dwarring joined
Xliff Over 2000 packages to update to go from Ubuntu 15.10 to 16.04... o_O 19:16
MadcapJake seriously...RT doesn't accept pre code blocks... 19:17
Xliff I wonder if I can recompile moar with debugging info. 19:18
MadcapJake omg I am totally fumbling with RT, now > does block quotes, is this markdown? I thought it was email style? 19:19
19:25 Sound joined
mst > is quotes, just like it is in email 19:27
moritz except for Larry, who use : for quoting :-) 19:28
DrForr Xliff: If you're using it in a vm there's supposedly an open-source version of the VirtualBox tools that fix a lot of issues. 19:30
vendethiel- masak: I can't think of anything when I read "good software", myself :P 19:32
Xliff DrForr, It's not an issue of VM or non-VM anymore.
I'm currently dual-booted to Linux and the same SEGV occurs in the same place. 19:33
Although I will look into the VB tools, as you've suggested. Thanks for the hint.
masak vendethiel-: :)
DrForr Ah. I don't know the circumstances, I'm just echoing something I saw on FB. 19:34
Xliff No worries. 19:35
So I'm trying to get debugging info into libmoar... and I don't know if I'm having much luck 19:36
Will find out, shortly.
MadcapJake mst: huh I thought in email you still had to do <blockquote> or somesuch 19:38
mst that's HTML, my email is plain text 19:39
MadcapJake Xliff
Xliff: nine_ taught me a great gdb command: `call MVM_dump_backtrace(tc)` 19:40
Xliff OK 19:41
Hum
MadcapJake mst: huh thought they were all the simplified email html format
Xliff $1 = 0
mst MadcapJake: wut
Xliff Maybe I need to be in the proper frame?
mst MadcapJake: I. er. I'm 33 and you just made me feel old.
MadcapJake: HTML email is an abomination, damnit :P
19:41 blue_lizzard joined
skids pines for the days of USENET. 19:42
MadcapJake lol sorry! not much younger than you but I thought that plaintext email was completely gone from our world :P
skids Not at all.
Xliff I still use USENET 19:43
skids Go try posting HTML on lkml and see how much of your clothing is not melted to your flesh afterwards.
mst MadcapJake: my mail client doesn't even render HTML email 19:44
if there's no plain text part, generally I delete it unread
skids (Why something with the stated goal of human readability ended up like HTML did has always mystified me.)
Xliff I swear I can't get any debugging symbols into libmoar.so 19:45
MadcapJake where does it say html was designed for human readability?
skids (At least with SGML you could write more or less normally once you agreed on a DTD.)
Well, I guess maybe XML was the one making that claim. 19:46
That's hw I rmember it being sold, at the time.
MadcapJake html was designed to make the resultant page readable :)
19:48 zakharyas joined
vendethiel- html was designed so that electron could be used to build desktop applications :) 19:49
mst skids: old school semantic HTML is pretty reasonable
MadcapJake I actually think the move away from divs/spans in HTML5 is a huge step forward towards readability.
mst skids: see the source to trout.me.uk
MadcapJake: in favour of what? I'm still using tables
Xliff Waitasec?!
What is HTML5 replacing div's with?
And spans are evil. 19:50
MadcapJake mst: main, section, article, aside ,details, header, footer, nav, and more
mst oh, neat
span IIRC is mostly for hanging CSS off
beats <font>
Xliff True enough
MadcapJake span is an inline div 19:51
mst except a span isn't a box by default and a div is
so I don't think that's a good explanation of it
MadcapJake right, that's what i mean by "inline"
mst: actually though div has zero semantics technically, besides the fact that css does allow you to treat it like a box 19:52
but you could just use it to give things within certain properties and the div would be completely invisible 19:53
Xliff <div> - division? 19:55
MadcapJake html has two levels of interaction really: block and inline and div/span are respectively the zero-semantics tools to manipulate at each level.
19:55 sivoais left 19:56 blue_lizzard left
Xliff So without div and span how is styling going to work? 19:56
MadcapJake Xliff: they aren't gone.
Xliff: and really the new tags have very little meaning (if any) outside of what you provide
19:57 sivoais joined
MadcapJake The point is, what is more readable <div class="main"></div> or <main></main> 19:57
It's like a DSL for divs xD 19:58
Xliff Ah. Gotcha.
HTML with a custom DTD?
MadcapJake yeah I think :P 20:00
not really knowledgeable on XML/SGML/DTDs
20:01 jamesnek1 joined
MadcapJake Xliff: I pushed a better test for the Raw stuff, give that one a go and see if it works (the code in your snippet doesn't appear current) 20:01
ufobat what does this mean: Missing serialize REPR function for REPR MVMContext? i am getting if from a my $dbh will leave { .dispose } = get-dbiish;
skids It means something is trying to be precomped which cannot be precomped. 20:02
Maybe a constant?
Xliff MadcapJake, OK
There we go. No more segfault. 20:03
I still don't get why my pull over an hour ago didn't get the latest code from origin/master
ufobat no :/
20:04 dolmen joined, jamesneko left
MadcapJake Xliff: huh not sure! 20:04
Xliff Yup! I can run eg/attributes-high.pl6 with no problems now.
MadcapJake YESSSS! :D
Xliff Wonder what you changed. I will have to look at the last patch. 20:05
MadcapJake++
skids ufobat: I might have a more helpful hint if I had any clue what an MVMContext was (darn smurf words)
MadcapJake w00t w00t! My first user of my module xD Xliff++
Xliff =D
20:06 zacts joined
MadcapJake Xliff: I changed a lot, for one I moved all the raw into ::Raw (the only NativeCall pragma is in that file) 20:06
ufobat skids, no worries, i dont know nothing. if i do a $dbh.dispose in the end of my method it's fine
MadcapJake Xliff: all other module files are for sugary goodness :P
ufobat skids, the only "odd" thing i am doing is that my method is in a $coderef with .assuming
20:07 llfourn_ joined
geekosaur could this be related to the eval thing? 20:07
skids It could be EVAL related, .assuming still does that.
Xliff MadcapJake, Yeah. I noticed that. Was doing something similar in Audio::OggVorbis
geekosaur I was thinking more that EVAL is only the most visible version of it
Xliff Now why is SMPlayer not playing videos under Ubuntu? Maybe time for a reboot. BBL 20:08
20:08 Ven joined
MadcapJake Xliff: It helps with precomp time, I've noticed 20:08
geekosaur `will leave` happens at compile time but the block you pass it is at runtime; I believe these are as yet unfixed instances of the same failure
20:08 Xliff left
geekosaur which is that something run at compile time gets its stuff compiled into a separate context, but if that stuff includes a runtime block then it gets serialized missing its context, because the context only exists at compile time 20:09
(as I understand it, at least)
it's somewhat complex, it's obviously not that all such things will do that, it's only certain circumstances that trigger it. EVAL is a more consistent one but I recall seeing mention that phasers are also capable of triggering it under some circumstances 20:11
skids
.oO(In order to understand how the word "context" is being used, you have to know the context. Heh.)
geekosaur but that specific error is generally an indication that something didn't get a compile time context serialized for use at runtime
20:12 Sound left
grondilu have you guys checked the article on HN about a new floating point type? ubiquity.acm.org/article.cfm?id=2913029 20:12
[Coke] .seen flussense 20:14
yoleaux I haven't seen flussense around.
[Coke] .seen flussence 20:15
yoleaux I saw flussence 29 Feb 2016 20:55Z in #perl6: <flussence> (except for their idiotic anti-harvester mangling @array sigils)
masak grondilu: oh, interval math. nice.
20:18 cdg joined 20:19 Xliff joined
Xliff *sigh* 20:21
Ubuntu desktop FAIL. No environment after I upgraded.
20:25 firstdayonthejob joined 20:30 darutoko left
dalek osystem: 9db28f2 | jnthn++ | META.list:
Add App::MoarVM::HeapAnalyzer.
20:31
20:32 ZoffixWin left, colomon joined 20:33 ZoffixWin joined, ZoffixWin left, ZoffixWin joined 20:34 dwarring left, _mg_ left 20:42 colomon left 20:43 pmurias left
zacts are there any plans for a physical Perl6 book to be in print? 20:43
(a la Programming Perl by O'Reilly press, or something)
ufobat night :D
20:44 ufobat left 20:48 as left, as joined 20:49 colomon joined 20:50 Ven left 20:51 wamba left 20:54 rindolf left
jnthn zacts: Yes, plans, and even writing work in progress I believe. 20:55
zacts oh nice! 20:57
21:00 zakharyas left
dogbert2 anyone up for some new documentation bashing? 21:05
tried to write some documetation for list.sum, strangely enough it's missing atm 21:06
21:06 skids left
dogbert2 it can be found here: gist.github.com/dogbert17/caa98270...a194c21eca 21:06
21:07 zacts left
masak looks 21:09
dogbert2 Hooray
masak s/unless all elements can be coerced/if an element can not be coerced/, perhaps? 21:10
dogbert2 sure
updated 21:11
masak rest looks fine
dogbert2 The it will go in :), thx for the review
*Then
21:14 colomon left 21:22 TEttinger joined
grondilu is there an idiomatic way to parallelize something like this: my @result; for @a -> $a { for @b -> $b { push @result, work($a, $b) } } ? 21:25
21:25 tbrowder joined
grondilu forgot to mention: the order of entries in @result does not matter. 21:26
dalek c: f0e14bf | (Jan-Olof Hendig)++ | doc/Type/List.pod:
Added documentation for method sum
21:27
mst grondilu: isn't that what .race is for? 21:28
grondilu tell me more.
mst err, I just remember somebody mentioning it at some point 21:29
now you get to find the docs and learn things I don't know, sorry
21:31 colomon joined, maybekoo2 joined
ZoffixWin grondilu, there's race, but it's a bit iffy 21:33
(buggy)
for @a.race -> $a { for @b.race -> $b { push @result, work($a, $b) } } 21:34
That'll use batches of 64. Adjust it depending on whether you have a ton of fast things or a few of slow things
docs.perl6.org/routine/race
grondilu thanks. I had no idea it was this powerful. 21:35
ZoffixWin m: sleep 1 for ^4 .race: :1batch; say now - INIT now
camelia rakudo-moar ce5dc0: OUTPUT«1.00760413␤»
ZoffixWin ^ 4 one second sleeps; 1 second total runtime
tbrowder doc: please review <github.com/perl6/doc/pull/465> 21:36
grondilu very cool
jnthn Uh...don't push to an array from multiple things you're racing :) 21:37
ZoffixWin robot #127965
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127965
ZoffixWin jnthn, oh :(
jnthn Also, unless the number of items in @a is less than the number of CPU cores you have, parallelizing the inner and outer loop is probably too much work
Uh, *work division
ZoffixWin tbrowder, +1 looks good to me 21:39
jnthn my @result = @a.race.map(-> $a { slip @b.map(-> $b { work($a, $b) }) }) # or so
ZoffixWin Also, I didn't even realize >>=>> wouldn't work :)
grondilu jnthn: can I use the push method with hyper then? 21:40
21:41 zacts joined, kaare_ left
jnthn grondilu: No, becuase that also means you're pushing from concurrent workers to a non-concurrent data structure (Array) 21:41
grondilu ok. 21:42
what about a gather/take then?
21:42 ZoffixWin left
mst I kinda like the map + map version 21:43
grondilu the map + map looks too different from a non-parallel code IMHO
dalek c: 4504706 | (Tom Browder)++ | doc/Language/unicode_texas.pod:
use nested [()] instead of (()) in sentence; specify that first list consists of single codepoints; add another table to document weird compositions such as the one explained by Larry Wall in a recent comment on bug #127965
c: dcdf014 | (Tom Browder)++ | doc/Language/unicode_texas.pod:
Merge pull request #465 from tbrowder/master

use nested [()] instead of (()) in sentence; specify that first list …
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127965
grondilu I mean I'd like to stick with for loops
jnthn With a well-placed `do` or so you can :) 21:44
21:45 tbrowder left
jnthn It's the `push`/mutation that's the thing to avoid 21:45
21:45 jjido left
jnthn my @result = do for @a.race -> $a { slip do for @b -> $b { work($a, $b) } } 21:46
Or some such
If you really want to collect the results into something, then it's possible to make a Channel and .send them on it also, then get them out afterwards 21:47
I suspect that's still a decent bit more contention than the way I first suggested (and it's `for` spelling), though if work(...) is doing enough then that'd likely be noise. 21:49
*its 21:50
21:50 leont_ joined 21:51 dolmen left
grondilu the do for will do fine, thanks. 21:55
jnthn :) 21:56
Sleep time for me...'night o/
21:59 kid51 joined 22:00 jamesneko joined 22:04 jamesnek1 left 22:09 leont_ left
grondilu hum... do doesn't do well with imbricated fors 22:10
m: say do for ^2 { for ^2 { rand } };
camelia rakudo-moar ce5dc0: OUTPUT«(Nil Nil)␤»
grondilu oh wait I need two do
m: say do for ^2 { |do for ^2 { rand } }; 22:11
camelia rakudo-moar ce5dc0: OUTPUT«(0.941930929386464 0.593323531184251 0.518306449759161 0.784756936870671)␤»
grondilu ok
22:11 Sgeo joined
grondilu "I needed two do for doing what I wanted to do" lol 22:12
22:12 timotimo joined 22:15 colomon left 22:16 adu joined 22:17 lostinfog left
masak 'night, #perl6 22:20
22:24 pdcawley left 22:26 RabidGravy left 22:36 tomboy64 left 22:41 leont_ joined 22:42 ajr_ joined
ajr_ Has anyone encountered a problem with !# perl6 on vim? That line appears to send vim off on an adventure that only kill -9 will end. 22:43
(Any path to perl6 apprears to be a problem, while plain perl is fine.) 22:44
22:44 tomboy64 joined 22:47 colomon joined 22:50 kurahaupo joined 22:51 cfedde left 22:52 Herby_ joined
Herby_ Afternoon, #perl6! 22:52
o/
sortiz \o Herby_
22:56 tbrowder joined
Herby_ how does one iterate through all matches of a global regex? 22:59
m: my $string = "abc\n cde\n fgh"; say ~$/<alpha> if $string ~~ m:g/ $<alpha>=(\w+) /;
camelia rakudo-moar ce5dc0: OUTPUT«Type List does not support associative indexing.␤ in block <unit> at /tmp/fPgvomR_Yn line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/fPgvomR_Yn line 1␤␤»
Herby_ was playing with it today, couldn't quite figure it out
tbrowder doc: pod processing is not handling format codes such as E<>, S<>, and I<>, at least in tables. Where in the pod processing code is the right place to start to fix that? is the code to fix that to be found? 23:02
sortiz m: my $string = "abc\n cde\n fgh"; if $string ~~ m:g/ $<alpha>=(\w+) / { for @$/ { say $_<alpha> } }; # Herby_ 23:07
camelia rakudo-moar ce5dc0: OUTPUT«「abc」␤「cde」␤「fgh」␤»
23:08 spider-mario left
Herby_ great, thanks! 23:08
I was trying all manners of things but not quite that
sortiz yw 23:09
23:11 tbrowder left 23:13 firstdayonthejob left 23:19 tbrowder joined 23:24 tbrowder left
timotimo Xliff: did you end up getting debug info working? 23:24
Xliff Nope
I've been searching the web, and I still can't find useful information on getting debugging symbols into rakudo. 23:25
I've found the --debug option in MoarVM's makefile, but by the time it's compiled and moved to the proper location, the symbols are gone.
So I'm wondering if there is a strip rule in the Makefile, somewhere. 23:26
Herby_, or you can assign the results of the smart match to an array. 23:28
m: my $string = "abc\n cde\n fgh"; my @m = $string ~~ m:g/ $<alpha>=(\w+) /; if (@a) { for @a -> $a { say $a<alpha> } } 23:29
camelia rakudo-moar ce5dc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LfXJqR8p5j␤Variable '@a' is not declared␤at /tmp/LfXJqR8p5j:1␤------> 3= $string ~~ m:g/ $<alpha>=(\w+) /; if (7⏏5@a) { for @a -> $a { say $a<alpha> } }␤»
Xliff m: my $string = "abc\n cde\n fgh"; my @m = $string ~~ m:g/ $<alpha>=(\w+) /; if (@m.elems > 0) { for @m -> $a { say $a<alpha> } }
camelia rakudo-moar ce5dc0: OUTPUT«「abc」␤「cde」␤「fgh」␤»
Herby_ Xliff: Thanks. Thats the path I was going down earlier but I was some small bit 23:31
s/missing// 23:33
or is it s//missing/
:(
23:34 tardisx joined
Xliff Herby_, I got the gist of it.=) 23:36
MadcapJake, getting SEGVs on the VM. This time I think it might be distro related. 23:38
23:38 ajr_ left 23:40 nd3i joined
timotimo Xliff: sorry for taking so long to answer 23:41
Xliff: you just have to ./Configure.pl with --debug=3
and if you're debugging something nasty, you'll want to --optimize=1, too, so that not so many local variables get their value "optimized out"
nd3i I'm getting a crash with some simple code under the debugger (fine otherwise). Is that helpful to report? 23:42
I created a gist if anyone wants to take a look: gist.github.com/nd3i/1f5bca144d3e9...968ecd68f1 23:43
Xliff timotimo, is that done from the top-level Configure.pl or a deeper one?
timotimo, and thanks for the help!
timotimo moar's configure.pl, of course :) 23:45
stmuk_ www.reddit.com/r/perl6/comments/4g...se_201604/ 23:46
timotimo moar's Configure.pl also accepts "--asan", but last time i tried it was bugged
stmuk_ that error sounds unlikely to me
timotimo stmuk_: rakudo really wants its source files to be utf8. maybe that user is using some other encoding that's incompatible? i.e. not latin-1 23:47
Xliff MadcapJake, gist.github.com/Xliff/80881b4b3f02...0f95d4cca2 23:48
stmuk_ yes that sounds possible and I suspect user error somehow
Xliff timotimo, OK. Will try that. Back in a bit. 23:49
timotimo 'k
Xliff Now the big problem. If I've already built moar, how can I get the source tree cleaned up without nuking the entire installation? 23:52
timotimo god fucking damnit, could the connection stop being killed ...
you don't have to do anything
just run configure again, supply the right --prefix and "make install"
Xliff Cos I did: 'perl ./Configure.pl --gen-moar --backend=moar --moar-option='--debug=3' and it went right into the compiling. No Configure.pl output at all.
timotimo well, --gen-moar does compile for you 23:53
Xliff Yeah, but I've been here before and when I don't see output from Configure.pl I get no symbols.
timotimo you'd just go into moar's source folder and do the Configure there
Xliff Well, I will do a "make distclean" and just let it run and see.
timotimo that's not going to help
that'll only clean up rakudo, but not nqp or moar 23:54
23:54 damnlie joined
timotimo it could e that rakudo's Configure.pl doesn't know it has to completely re-make moar when --moar-option changes 23:54
Xliff Ahh! removing bin/nqp-m did the trick. 23:55
timotimo generally i'm not very happy about the --gen-moar stuff when you're compiler-internals-hacking
Xliff As you've stated, "make distclean" doesn't remove nqp.
timotimo yeah, Configure will build nqp and moar for you. the resultign makefile knows absolutely nothing about nqp or moar after that 23:56
Xliff Crap. Forgot to specify -O1
timotimo fortunately moar builds real fast 23:57
just have to -j4 it
which you can't do if you use the outermost Configure script 23:59