»ö« 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:03 eliasr left 00:05 mcmillhj joined, labster joined 00:06 itaipu joined, MorayJ left 00:09 mcmillhj left 00:17 mcmillhj joined 00:20 aries_liuxueyang joined 00:21 pierre_ joined 00:22 mcmillhj left 00:31 mcmillhj joined, BenGoldberg joined 00:36 mcmillhj left 00:42 mcmillhj joined, mempko left 00:46 mcmillhj left 00:48 lambd0x left
ugexe .tell pmurias re: `zef clone Foo::Bar` question from last week - this mostly exists already using either `zef fetch Foo::Bar` or `zef look Foo::Bar`. If it happens that Foo::Bar resolves to a .tar.gz (like from cpan) and not a git uri it will extract it for you as well 00:51
yoleaux ugexe: I'll pass your message to pmurias.
00:55 mcmillhj joined 00:59 mcmillhj left
bstamour /? 01:01
01:06 mcmillhj joined
ugexe ?$/ 01:06
01:10 mcmillhj left 01:17 mcmillhj joined 01:18 pierre_ left 01:20 itaipu left, itaipu joined 01:21 mcmillhj left 01:25 pierre_ joined 01:30 pierre_ left 01:31 pierre_ joined 01:36 mcmillhj joined 01:39 sufrostico left 01:41 mcmillhj left 01:49 pierre_ left, bob777 joined
gfldex m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; say [&&] @tests; 01:50
camelia rakudo-moar d2b115: OUTPUT«2␤3␤True␤»
gfldex i would expect the first block to be executed as well 01:51
01:51 mcmillhj joined
gfldex and it's return value to be taken into consideration 01:51
01:54 pierre_ joined 01:56 mcmillhj left
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; @tests.say 02:06
camelia rakudo-moar d2b115: OUTPUT«[-> ;; $_? is raw { #`(Block|80637344) ... } -> ;; $_? is raw { #`(Block|80637416) ... } -> ;; $_? is raw { #`(Block|80637488) ... }]␤»
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; so $_ for @tests;
camelia rakudo-moar d2b115: OUTPUT«WARNINGS for <tmp>:␤Useless use of "so " in expression "so $_" in sink context (line 1)␤»
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; $_() for @tests; 02:07
camelia rakudo-moar d2b115: OUTPUT«1␤2␤3␤»
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; say all(@tests);
camelia rakudo-moar d2b115: OUTPUT«all(-> ;; $_? is raw { #`(Block|69009920) ... }, -> ;; $_? is raw { #`(Block|69009992) ... }, -> ;; $_? is raw { #`(Block|69010064) ... })␤»
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; say so all(@tests);
camelia rakudo-moar d2b115: OUTPUT«True␤»
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; say [&&] @tests;
camelia rakudo-moar d2b115: OUTPUT«2␤3␤True␤»
02:08 mempko joined
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; say [&&] !@tests; 02:08
camelia rakudo-moar d2b115: OUTPUT«False␤»
BenGoldberg m: my @tests = { say 1; False }, { say 2; True }, { say 3; True }; say [&&] |@tests;
camelia rakudo-moar d2b115: OUTPUT«2␤3␤True␤»
BenGoldberg I don't understand why any of those are getting called.
02:08 canopus left
gfldex m: say Regex ~~ Callable; 02:09
camelia rakudo-moar d2b115: OUTPUT«True␤»
BenGoldberg Is it a bug?
gfldex that could be the reason
BenGoldberg ?
02:09 mcmillhj joined
BenGoldberg doesn't get it. 02:09
gfldex my guess is there is a ~~ somewhere and that is getting the Block called 02:12
m: my @tests = { say 1; True }, { say 2; True }, { say 3; True }; multi sub tester(&test){ test() }; multi sub tester([]){ True }; multi sub tester([&test, *@rest]) { test() && tester(@rest) }; say so tester(@tests);
camelia rakudo-moar d2b115: OUTPUT«1␤2␤3␤True␤»
gfldex that works as a short circuiting && 02:13
it's a bit long tho
02:14 canopus joined, Nelsen joined
Nelsen Good evening, mates 02:14
I was wondering if there was a "Codecademy"-like site to learn Perl?
02:15 mcmillhj left 02:18 BenGoldberg left 02:24 Nelsen left 02:25 mcmillhj joined 02:30 mcmillhj left 02:31 itaipu left 02:32 itaipu joined 02:38 noganex_ joined, mcmillhj joined 02:39 canopus left 02:41 noganex left
zostay m: say "test.foo".trans('.' => '::'); 02:42
camelia rakudo-moar d2b115: OUTPUT«test:foo␤»
zostay m: say "test.foo".trans(['.'] => ['::']);
camelia rakudo-moar d2b115: OUTPUT«test::foo␤»
zostay that seems like a bug
02:43 mcmillhj left
MasterDuke zostay: i got bit by that too, but it's in the docs 02:44
zostay then the docs are too subtle for me, i don't read that in the docs at all 02:46
MasterDuke well, it's not really spelled out here ( docs.perl6.org/routine/trans ), but it's shown in the examples 02:48
02:48 canopus joined
zostay which example? 02:49
gfldex examples ain't no roast 02:50
it's a bug
MasterDuke $str.=trans( [ '<' , '>' , '&' ] => [ '&lt;', '&gt;', '&amp;' ]);
gfldex the examples got it because they are meant to work with rakudo
zostay: please rakudobug
zostay that does not say that $str.=trans('<' => '&lt;', '>' => '&gt;'); shouldn't work...thx, gfldex 02:51
MasterDuke github.com/perl6/roast/blob/master...rans.t#L55 02:52
(not that i like the current behavior, just playing devil's advocate here) 02:53
02:53 tala joined
zostay at the very least, the docs are incomplete... but i think there's an opportunity to call this a bug still ;) 02:53
gfldex it should either work or complain if it got a multi char replacement. Silently dropping stuff is LTA. 02:55
MasterDuke doesn't that match Perl 5's behavior? 02:57
02:57 gfldex left
zostay gfldex, that's what i just suggested on the bug i posted... either warn and fix docs or make the behavior consistent (with my personal vote being for the latter) 03:00
i don't think there's an analogous function to .trans in perl5, tr/// does not have comparable calling conventions at all 03:01
.trans() is awesome as a multiple string find and replace at the same time thing
03:07 tala left 03:08 canopus left, rodarmor left 03:13 canopus joined 03:18 canopus left 03:22 mcmillhj joined 03:24 canopus joined 03:26 mcmillhj left 03:27 djbkd joined 03:31 canopus left 03:39 canopus joined 03:40 pierre_ left 03:43 pierre_ joined 03:46 skids left 03:49 rodarmor joined 03:50 cpage_ left, mcmillhj joined 03:52 canopus left 03:55 mcmillhj left 03:57 mempko left, canopus joined 04:00 pierre_ left 04:02 itaipu left 04:05 AndyBotwin left, labster left 04:06 AndyBotwin joined 04:07 MasterDuke left 04:09 pierre_ joined, labster joined, mempko joined 04:13 pierre_ left 04:18 canopus left 04:22 mcmillhj joined, pierre_ joined 04:23 canopus joined 04:26 mcmillhj left 04:27 pierre_ left, khw left, pierre_ joined 04:29 pierre_ left
TimToady R3b0zak. 04:34
dur
so much for that password :) 04:35
grondilu lol 04:36
04:36 pierre_ joined
grondilu hey TimToady did you have a look at github.com/perl6/roast/issues/147 ? 04:37
04:39 mcmillhj joined 04:41 pierre_ left
TimToady I don't see how to allow that, offhand, given the list is evaluated before anything is declared 04:41
something fiddly like that probably wants to use constants anyway
grondilu then it wouldn't be a list but a syntactic construct. Like in C I suppose. 04:42
04:42 cpage_ joined
TimToady in p6 it's just a general list, which you could generate from any compile-time values 04:42
grondilu then allow a syntax that differ from the syntax that uses a list. 04:43
TimToady it seems like kind of a rare thing to want
grondilu :/
that may be true. 04:44
04:44 mcmillhj left
TimToady bein's you're the first person to ask for it in 15 years... 04:44
grondilu yet it bothered me badly that as I was looking at a C header I realized I could not make a straightforward translation.
(well, "bothered me badly" that was maybe strong an expression) 04:46
it was frustrating though.
04:47 nadim joined
grondilu also, it's not as if NativeCall has existed for 15 years, is it? 04:47
04:52 mcmillhj joined 04:53 ItayAlmog2805 joined 04:54 goldfax joined 04:57 ItayAlmog left, mcmillhj left 05:01 ItayAlmog2805 left 05:09 bob777 left 05:17 nadim left 05:22 wamba joined 05:26 mcmillhj joined 05:31 mcmillhj left 05:49 Woodi joined 05:50 brrt joined 05:56 mcmillhj joined 06:00 mcmillhj left 06:05 woolfy left 06:07 lizmat left 06:13 dami joined 06:17 firstdayonthejob joined 06:26 brrt left
ShimmerFairy fwiw I ran into the same issue once when using enums in P6. The use case is typically to define "synonyms" for some reason or another. 06:28
I'd also like to tell enums not to pollute the namespace with unqualified names, while we're at it. 06:29
06:29 pierre_ joined
moritz ShimmerFairy: you might be able to do that with anonymous enums 06:32
06:33 jjido joined
moritz constant EnumName = enum <a b c>; 06:33
or something like that
haven't tested it
06:39 jjido left 06:40 domidumont joined 06:41 mcmillhj joined, jjido joined
grondilu is not sure about what difference there is between constant EnumName = enum <a b c> and enum EnumName <a b c> 06:41
06:42 firstdayonthejob left
grondilu m: constant FooBar = enum <Foo Bar> 06:42
camelia ( no output )
grondilu m: constant FooBar = enum <Foo Bar>; say FooBar.WHAT
camelia rakudo-moar d2b115: OUTPUT«(Map)␤»
grondilu m: enum FooBar <Foo Bar>
camelia ( no output )
grondilu m: enum FooBar <Foo Bar>; say FooBar.WHAT
camelia rakudo-moar d2b115: OUTPUT«(FooBar)␤»
06:43 jjido left, domidumont left 06:44 domidumont joined 06:45 lizmat joined, mcmillhj left 06:48 jjido joined
ShimmerFairy moritz: not synonyms to the enum, but synonyms for its values. In C++, something like e.g. enum class Feature { Off, OneChoice, TwoChoice, On = OneChoice }; for a feature that used to be binary. 06:51
06:52 ribasushi left 06:54 shinobicl_ joined
shinobicl_ m: sub postcircumfix:<' '>($it, $arg, :$double) { say $double ?? 2 * $it * $arg !! $it * $arg }; 2'3'; 2'3':double 06:54
camelia rakudo-moar d2b115: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in postcircumfix:sym<' '>; couldn't find final $stopper ␤at <tmp>:1␤------> 3 ?? 2 * $it * $arg !! $it * $arg }; 2'3'7⏏5; 2'3':double␤»
06:55 ribasushi joined 06:56 jjido left, mcmillhj joined
moritz ShimmerFairy: I wasn't talking about the synonyms aspects, rather about not polluting your namespace with short names 06:56
06:56 jjido joined
ShimmerFairy ah 06:57
06:58 jjido left 07:00 mcmillhj left 07:02 zengargoyle joined 07:03 labster left
masak morning, #perl6 07:05
moritz \o masak
masak m: enum Feature <Off OneChoice TwoChoice>; constant On = OneChoice; say On 07:06
camelia rakudo-moar d2b115: OUTPUT«OneChoice␤»
07:06 ItayAlmog joined
ShimmerFairy m: enum Feature <Off OneChoice TwoChoice>; constant On = OneChoice; say Feature::On # if you, like me, don't much care for the namespace pollution of 'traditional' enums 07:08
camelia rakudo-moar d2b115: OUTPUT«Could not find symbol '&On'␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
masak you defined `On`, not `Feature::On` 07:10
there's nothing magical going on with that `constant` statement. it's just a name binding. 07:11
ShimmerFairy masak: right, I'm just pointing out that I'd _like_ to be defining Feature::On instead :)
masak m: enum Feature (Off => 0, OneChoice => 1, TwoChoice => 2, On => 1); say Feature::On 07:12
camelia rakudo-moar d2b115: OUTPUT«On␤»
ShimmerFairy The issue with that though is that it's not semantically correct, and that it requires remembering that you have to keep the two options in sync. 07:13
07:16 leont joined
masak you *almost* sound like you have a spec patch coming up :) 07:17
07:20 djbkd left
moritz and a roast and rakudo patch :-) 07:20
masak and lots of good feedback on the respective PRs \o/ 07:21
ShimmerFairy fwiw, <TimToady> I don't see how to allow that, offhand, given the list is evaluated before anything is declared 07:22
and there's already a roast issue here :P github.com/perl6/roast/issues/147
masak so, you're saying what you want to do is only impossible once? :P
07:24 djbkd joined
masak fwiw, grondilu's `enum ("foo", bar => foo);` can't work -- "foo" is just a string, and so there is no `foo` identifier declared when using it as a pair value 07:24
guess this is exactly what TimToady is pointing out
ShimmerFairy nah, I personally think that enums don't necessarily need to keep that behavior :) . In fact I think it would be nice if they worked like function signatures: sub foo($a, $b = $a) { ... }
I can see why that example in particular doesn't work, though. 07:25
masak that `("foo", bar => foo)` thing is literally a list expression. much less magical than a parameter list. 07:26
enums currently ride on the fact that it gets lists in various forms.
ShimmerFairy right, but considering it's a 'package'-style thing to declare, maybe they could stand to be more magical?
masak: I ultimately think that Perl 6's enums are poorly designed. Sure they have type safety, and EnumClass($out-of-range) won't produce a valid defined object (like it does in C++), but they don't really feel worthwhile to me otherwise. 07:28
07:28 djbkd left
masak that opinion is fine. 07:28
I disagree, though. 07:29
you should have seen back when they *were* badly designed :P
07:30 Juerd left
ShimmerFairy masak: In C++ land, I always use 'enum class' over 'enum', where my only sticking point is that doing that kind of conversion I mentioned will live perfectly fine. But otherwise I like them :) 07:30
07:30 Juerd joined 07:32 djbkd joined
masak ShimmerFairy: maybe macros will be able to help you in the future. 07:33
I love being able to *say* that with enough confidence nowadays! :D
07:33 labster joined
leont ShimmerFairy: yeah, enum class is quite awesome :-) 07:35
ShimmerFairy masak: maybe so, as long as it's easy to fix broken-to-me language aspects, there's not much reason to complain :)
leont: agreed, the only issues I have are of the kind that you get for a low-level language: "type conversion doesn't check if the int is in range!" "why won't you give me a postfix:<++> that DWIMs!?" 07:36
(and even on the latter one, I personally don't see it as a really big issue)
leont The main thing I miss is methods on enum classes ;-) 07:37
ShimmerFairy Well, introspection is a separate issue :P 07:38
(imagine if C++ had Signature and Namespace types :P)
07:39 stigo joined
leont Signatures can be largely done at compile-time, actually 07:39
ShimmerFairy Honestly, I find C++ to be just as interesting as Perl 6, but coming from the opposite direction on the low-level/high-level ladder 07:42
leont The interesting thing about C++ is how much it is still in development 07:45
C++11 like Perl6 took way too long, but it worth it
07:45 shinobicl_ left
leont At least with the new versions they're iterative now. C++14 was a nice minor update and C++17 will bring new awesomeness 07:45
ShimmerFairy leont: and C++11 taught them to maintain their current faster release cycle too, so that's good :)
07:46 mcmillhj joined 07:51 mcmillhj left, mohae_ joined 07:53 llfourn joined 07:54 mohae left 08:00 mcmillhj joined 08:05 mcmillhj left 08:09 leont left, mempko left 08:10 zakharyas joined 08:13 fridim___ joined 08:16 pmurias joined 08:24 bjz joined 08:32 mcmillhj joined, rindolf joined 08:37 mcmillhj left 08:38 bjz left 08:41 bobv joined 08:44 pierre_ left 08:46 mcmillhj joined 08:51 mcmillhj left 08:53 pierre_ joined 08:54 bjz joined 08:56 pierre_ left 08:57 pierre_ joined 08:59 bjz_ joined 09:01 bjz left 09:04 mcmillhj joined 09:09 mcmillhj left 09:13 balajips joined 09:14 balajips left 09:28 eliasr joined 09:37 RabidGravy joined 09:48 mcmillhj joined
El_Che wut? C++17? What shall I do with my 1996 book? 09:52
09:53 pmurias left 09:54 mcmillhj left 09:57 MorayJ joined, labster left
DrForr Burn it, of course. Everything magically corresponds to the new spec. 10:01
10:07 mcmillhj joined 10:10 fridim___ left 10:12 mcmillhj left, TheLemonMan joined 10:17 user9 left, user9 joined 10:18 mcmillhj joined 10:23 mcmillhj left 10:26 fridim___ joined 10:29 lizmat left 10:31 lizmat joined 10:34 lizmat left 10:35 mcmillhj joined 10:36 pierre_ left, rurban joined 10:37 rurban left 10:40 mcmillhj left 10:42 kaare__ joined 10:50 pierre_ joined, woolfy joined 10:53 pierre_ left 11:02 dustinm`_ joined, MilkmanD1n joined 11:07 sakuya joined, djbkd left, MilkmanDan left, dustinm` left, eyck left, jervo left, nine left, imcsk8 left, Ulti left, hanekomu left, mtj_ left, jdv79 left, broquaint left, shadowpaste left, xdbr left, TheDir_ left, jeek left, gypsydave5 left, jast left 11:08 TEttinger left 11:09 mcmillhj joined, eyck joined, nine joined, imcsk8 joined, Ulti joined, hanekomu joined, mtj_ joined, jdv79 joined, broquaint joined, shadowpaste joined, xdbr joined, TheDir_ joined, jeek joined, gypsydave5 joined, jast joined 11:10 mtj__ joined, mtj__ left, mtj_ left, jervo joined 11:11 xinming left, mtj_ joined, xinming joined 11:14 mcmillhj left 11:17 ItayAlmog left 11:19 xinming_ joined, mcmillhj joined 11:22 xinming left, andreoss joined, lizmat joined 11:24 mcmillhj left 11:25 iH2O joined
andreoss m: multi MAIN() { die $?USAGE }; multi MAIN(Str :$option) { say "hi "}; 11:29
camelia rakudo-moar d2b115: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$?USAGE' is not declared␤at <tmp>:1␤------> 3multi MAIN() { die 7⏏5$?USAGE }; multi MAIN(Str :$option) { sa␤»
andreoss m: multi MAIN() { die &?USAGE }; multi MAIN(Str :$option) { say "hi "};
camelia rakudo-moar d2b115: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ ?USAGE used at line 1␤␤»
andreoss m: multi MAIN() { die $*USAGE }; multi MAIN(Str :$option) { say "hi "}; 11:31
camelia rakudo-moar d2b115: OUTPUT«hi ␤»
andreoss m: multi MAIN() { die $*USAGE }; multi MAIN(Str :$option) { say $option.perl }; 11:32
camelia rakudo-moar d2b115: OUTPUT«Str␤»
andreoss m: multi MAIN() { die $*USAGE }; multi MAIN(Str:D :$option) { say $option };
camelia rakudo-moar d2b115: OUTPUT«Dynamic variable $*USAGE not found␤ in sub MAIN at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
andreoss how do i get this usage message? 11:33
11:35 woolfy left 11:36 iH2O left, fridim___ left 11:39 woolfy joined 11:40 Fleurety left, nwc10 joined 11:47 telex left 11:48 telex joined 11:49 _4d47 joined 11:52 fridim___ joined
_4d47 mm how can this method gets called ? github.com/rakudo/rakudo/blob/nom/...ay.pm#L419 11:52
11:53 mcmillhj joined
TheLemonMan _4d47, Array.new(VV, :shape(NN)) 11:55
11:57 MasterDuke joined, lizmat left 11:58 mcmillhj left
_4d47 TheLemonMan: aww thanks, my eyes where reading Mu:D: instead of Mu:D 11:59
11:59 nwc10 left
MasterDuke andreoss: $?USAGE isn't implemented yet 11:59
and i believe MAIN will just call USAGE() if it can't dispatch. there's an autogenerated one, but if you create your own sub USAGE it will get called instead
12:01 lizmat joined 12:04 woolfy left 12:06 mcmillhj joined 12:10 elohmrow joined 12:11 mcmillhj left 12:14 woolfy joined 12:15 fridim___ left 12:20 woolfy left 12:22 sufrostico joined 12:23 _4d47 left
RabidGravy boom 12:27
MasterDuke big bada boom? 12:28
RabidGravy it's amazing how shutting down all those spreadsheet instances frees up memory
anyhow reboot
12:29 ab6tract joined, RabidGravy left
ab6tract clickbaits blogs.perl.org/users/ab5tract/2016/...print.html 12:30
12:32 AndyBotwin left 12:35 faubi left 12:37 lizmat left 12:38 lizmat joined
TimToady bl 20 12:44
12:45 Actualeyes left
Xliff \o 12:49
Morning all.
gist.github.com/Xliff/fceb9354193e...68b991d6ec
^ halp!
12:49 pierre_ joined
Xliff Oh. Lemme update that a sec. Because it's a weird edge case. 12:51
OK. Updated 12:53
nine Xliff: looks terrible (the error message) 12:55
Xliff: you could try package TheTest { ... }; sub EXPORT(+@a) { ... } 12:56
i.e. make sure TheTest is defined before you refer to it 12:57
ab6tract shouldn't EXPORT be inside the respective package? 12:58
12:58 mcmillhj joined
nine It belongs to the compilation unit and has to be in the top level. 12:58
AFAIK
Xliff nine: OK, one sec. 12:59
12:59 mcmillhj left, smls joined
ab6tract One day I'm going to have to learn me some of the distinctions between a compilation unit vs a file vs a 'unit module' 13:00
Xliff nine: No change.
ab6tract nine: so then if i do a 'unit class', the EXPORT will work because that's the top level of the compunit?
Xliff ab6tract: The original draft of the code had it that way, but that wouldn't parse.
El_Che ab6tract: looks empty 13:01
Xliff ab6tract: Or gave strange errors, depending.
ab6tract El_Che: the blog post?
El_Che ab6tract: yes
ab6tract El_Che: try a refresh please
that was my fault 13:02
El_Che better :)
Xliff nine: Another weird thing... if I drop the signature from EXPORT, it still fails in the same manner.
For all 3 cases.
ab6tract thanks for pointing it out :)
Xliff Another odd thing: If I return an empty map from EXPORT, the error message goes away for all cases. 13:04
Should I RT?
ab6tract Xliff: I am using EXPORT::DEFAULT like this github.com/ab5tract/Terminal-Print...t.pm6#L324
and it seems to be working so far
Xliff ab6tract: Yes, but is that a map definition or a sub? 13:05
13:06 mcmillhj joined
Xliff On first glance, looked like a map. I will try. 13:06
ab6tract it is neither, AFAICT :)
it seems to be autotriggered on import
i'm just doing some binding into the OUR:: namespace there 13:07
Xliff SSDD 13:08
(still getting the error)
13:09 woolfy joined 13:12 RabidGravy joined
ab6tract Xliff: have you updated the gist? 13:13
13:15 cdg joined
Xliff About to. I think I found a work around. 13:15
13:16 maerciba5 joined, maerciba5 left
Xliff Updated. 13:17
Yup! Workaround applied to original code and is working! \o/ 13:20
13:23 mr-foobar joined 13:25 elohmrow left, skids joined 13:26 Actualeyes joined 13:28 sakuya left
ab6tract Xliff++ 13:28
Xliff The more I write in P6, the more I find that the block notation is more reliable than using "unit ..." 13:29
mst hmm 13:30
this sort of sounds like maybe a case for finding all the tests using block notation and making sure there's a unit version
13:30 MilkmanD1n left
Xliff ¯\_(ツ)_/¯ 13:31
m/...(>.<)...m/
Well, after this I get to move to nqp.... 13:32
13:32 MilkmanDan joined
Xliff Still worried that's a bit over my head at this point, but hey... 13:33
TimToady sounds to me more like problems with how EXPORT works; 'unit' is conceptually very simple
unit should probably be disallowing those declarations before it, however, since the point of unit is to wrap the entire file as if it were a block declaration 13:37
jnthn Does unit sneakily introduce a lexical scope? 13:39
TimToady probably
jnthn That could be surprising in that a sub EXPORT is meant to be located in UNIT 13:40
TimToady it might be assuming wrongly that it's just about the first thing in the file
jnthn So folks doing `unit class Foo; sub EXPORT() { ... }` could get caught out
TimToady 'tis possible
would have to glare at the code some time after I wake up :) 13:41
RabidGravy heads up to anyone using chrome on FC24 (I think timotimo does,) if it offers an update of it, you are better just uninstalling and re-installing first
Xliff My original version of the module this popped up in had EXPORT located after the "unit" declaration. 13:51
I could never get that to work and the error messages were less than helpful when trying to figure out a solution. 13:52
Should I RT this issue?
Here's is a writeup, with solution... gist.github.com/Xliff/fceb9354193e...68b991d6ec
13:53 bjz_ left
skids There is RT#127305 13:55
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127305
skids Lots of metaish modules already forgo the unit form. 13:56
TimToady there is precisely one test of 'sub EXPORT', and it doesn't involve 'unit'
it pulls in a file that reads:
class Foo {}
sub EXPORT(|){ { 'Bar' => Foo } }
which seems...a bit rudimentary 13:57
RabidGravy not exhaustive for sure 14:00
14:05 zacts joined
TimToady jnthn: yes, it calls <.newpad>, which it should probably avoid for a 'unit' declaration 14:10
TimToady experiments with the simple fix first to see how much stuff blows up 14:13
14:13 mcmillhj left, mcmillhj joined, khw joined
TimToady
.oO(phase one bug trials)
14:15
oh, heh, if I refrain from pushing a lexpad, I should also refrain from popping it... 14:16
timotimo RabidGravy: can you explain that a bit more? the chrome thing? 14:17
also, they no longer call it "Fedora Core" ;)
14:18 acrussell joined
TimToady Fedora Not-So-Core? 14:18
14:19 bstamour left
timotimo fedora shell? 14:19
fedora fruit?
RabidGravy timotimo, the upgrade seems to mess up the chain of links for the "alternatives" resulting in it disappearing completely
timotimo hah, that's fun 14:21
TimToady well, simple fix is not simple, insofar as it blows up tools/build/install-core-dist.pl 14:22
timotimo :|
TimToady maybe a 'make clean' issue
but if there's code that depends on a unit's OUTER meaning UNIT, we have a problem 14:23
we have a problem 14:27
getting a push on an NQPMu, probably something assuming OUTER gets to UNIT somewhere, I'm guessing 14:28
14:28 Actualeyes left
TimToady well, this will take at last another cuppa 14:29
14:29 Actualeyes joined 14:32 canopus left
mspo ugh alternatives 14:33
timotimo with alternatives it seems like i'm always getting a 32bit wine binary but a 64bit wineserver binary served, or the other way around 14:35
every single time i want to run a windows program i have to shuffle the two around
it's hilariously bad
but perhaps it's because i get at least one wine update between two events of wanting to run any windows program
14:35 nwc10 joined 14:36 canopus joined 14:40 MetaZoffix joined
andreoss m: my $x = { $_++ }; $_ = 10 ;$x();$x();say $_; 14:40
camelia rakudo-moar 6dab6b: OUTPUT«12␤»
andreoss m: my $x = sub { $_++ }; $_ = 10 ;$x();$x();say $_;
camelia rakudo-moar 6dab6b: OUTPUT«10␤»
timotimo yeah, bare blocks don't get their own $_ 14:41
m: my $x = -> { $_++ }; $_ = 10 ;$x();$x();say $_;
camelia rakudo-moar 6dab6b: OUTPUT«12␤»
timotimo like pointy blocks
TimToady well, fixed the NQPMu.push, but now install-core-dist merely runs forever 14:45
14:46 zacts left 14:47 pmurias joined
nwc10 lizmat: domm is down to 5 minutes, so would be useful if your workshop could get ready to return 14:47
(he's still speaking - not yet time to invade the room)
lizmat ok, I put out the message 14:48
pmurias ab5tract: using 'no precompilation' seems horrible 14:49
yoleaux 00:51Z <ugexe> pmurias: re: `zef clone Foo::Bar` question from last week - this mostly exists already using either `zef fetch Foo::Bar` or `zef look Foo::Bar`. If it happens that Foo::Bar resolves to a .tar.gz (like from cpan) and not a git uri it will extract it for you as well
14:51 lizmat left
pmurias is also slightly upset people are using Terminal:: instead of the traditional Term:: 14:51
TimToady I carped about that at the time, but nothing changed 14:52
timotimo pmurias: i think we "recently" got someone ranting about how Term collides with the term "term"
though i think if you had a term, you'd term it P6::Term or something, that'd be a better term for term
TimToady Term vs term is not even the same case, if people are worried about grammar collisions 14:53
"term" is such a generic term that I don't see any collision with people wanting to use that for a name root 14:54
timotimo what, modules are case sensitive? why can't i install ACME::MEOW :(
14:54 wamba left
TimToady and Term has a long history of meaning "terminal" at the root of the namespace 14:55
next thing you know, we'll all be starting our programs with "IDENTIFICATION DIVISION" or so, just because longer is always clearer... 14:56
timotimo "THIS IS THE PLACE WHERE THE NAME OF THE PROGRAM GOES, BEN. PLEASE PUT THE NAME HERE THERE IS NO SUCH THING AS A PROGRAM NAME DIVISION GEEZ"
14:57 woolfy left
TimToady and PERFORM is obviously better than DO, and COMPUTE is obviously better than, well, nothing 14:57
14:57 sufrostico left
timotimo every mathematical expression needs to start with COMPUTE 14:58
DrForr STORING RESULT INTO...
[Coke] WE HAVE THE BEST PROGRAM NAMES.
timotimo afkbbl
TimToady anyway, I agree with pmurias++ here
14:58 lizmat joined
DrForr JOY IDENTIFICATION DIVISION 14:58
ugexe just use the sha1 as the module name 14:59
pmurias ugexe: unfortunately the modules end up as sha1 in stacktraces anyways 15:02
ab5tract: the only thing 'no precompilation' in Terminal::Print::Dimensions seems to be doing is wasting CPU time 15:04
15:05 nwc10 left 15:07 canopus left 15:09 grondilu left
MetaZoffix m: class Meow { has $!s = Supplier.new; has $.sup = $!s.Supply; method do-things { $!s.emit: $_ for <a b c>; } }; react { with Meow.new { whenever .sup { $^m.say }; .do-things; }; done } 15:11
camelia rakudo-moar e8d0d0: OUTPUT«a␤b␤c␤»
MetaZoffix Any idea why this isn't printing the stuff with whenevers in my code even tho it works in the example above? I got my react block github.com/zoffixznet/na/blob/mast...nner.p6#L6 and my Meow class that emits messages github.com/zoffixznet/na/blob/mast...er.pm6#L33 15:12
And in the output I do get output from `say "Got stuff: $mes";` that's a line above the emits, but the whenevers don't react and don't print anything 15:13
15:13 Actualeyes1 joined
[Coke] tries to figure out his bailador/start problem now that the latest crisis is over 15:13
15:14 Actualeyes left, canopus joined
MetaZoffix And even if I put $!shell-messenger.emit: "built stuff!!!!!"; above this `given` I get the message received :S weird github.com/zoffixznet/na/blob/mast...er.pm6#L19 15:17
15:17 domidumont left
smls m: say (1..*).rotor(1..*)[^5]; # Floyd's triangle 15:18
camelia rakudo-moar e8d0d0: OUTPUT«((1) (2 3) (4 5 6) (7 8 9 10) (11 12 13 14 15))␤»
smls m: say (1..*).rotor(1...*)[^5]; # Floyd's triangle
15:18 domidumont joined
smls ^^ Why does it work with a Range argument but not a Seq? 15:19
camelia rakudo-moar e8d0d0: OUTPUT«(timeout)»
smls Does it have to do with how parameters are passed to routines, or does `rotor` mishandle it?
MetaZoffix s: (1..*), "rotor", \(1...*) 15:20
SourceBaby MetaZoffix, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Method+{<anon|70743856>} (Method+{<anon|7074385...)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e li
MetaZoffix s: (1..*), "rotor", \(1..*)
SourceBaby MetaZoffix, Something's wrong: ␤ERR: Unhandled exception: While looking for '/home/zoffix/services/sourceable/building-perl6/perl6.moarvm': no such file or directory␤
MetaZoffix great
s: (1..*), "rotor", \(1..*)
SourceBaby MetaZoffix, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/m-main.nqp')␤ at <unknown>:1 (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
15:20 domidumont left 15:21 domidumont joined
Xliff smls: WAG - Eager vs lazy? 15:21
MetaZoffix m: my $w = 1...*; say $w.list[^5]
there's yo problem
camelia rakudo-moar e8d0d0: OUTPUT«(timeout)»
Xliff m: my $w = 1..%; say $w.list[^5]
camelia rakudo-moar e8d0d0: OUTPUT«(Nil Nil Nil Nil Nil)␤» 15:22
[Coke] m: my $w := 1...*; say $w.list[^5]
camelia rakudo-moar e8d0d0: OUTPUT«(1 2 3 4 5)␤»
Xliff m: my $w = 1..*; say $w.list[^5]
camelia rakudo-moar e8d0d0: OUTPUT«(1 2 3 4 5)␤»
MetaZoffix smls: rotor takes a List:D, so for Seqs it goes through Any, which calls .list which loses laziness
Xliff \o/
My WAG was right!?
MetaZoffix smls: it may or may not be an LTA :) feel free to rakudobug
smls m: say (1..*).^find_method("rotor").signature 15:23
camelia rakudo-moar e8d0d0: OUTPUT«($: |c is raw)␤»
timotimo "WAG"?
Xliff Wild Assed Guess
timotimo oh
smls MetaZoffix: Where does it say it takes a List:D?
Xliff =)
MetaZoffix s: (1..*), "rotor", \(1..*) 15:24
SourceBaby MetaZoffix, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Method+{<anon|73357248>} (Method+{<anon|7335724...)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e li
MetaZoffix I hate that bug
smls: in the source code: github.com/rakudo/rakudo/blob/nom/...t.pm#L1152
smls m: my $w = (1...*); say $w.list[^5] 15:25
MetaZoffix smls: oh, wait, I'm even looking at the wrong thing. It's the divisors that are the problem >_<
camelia rakudo-moar e8d0d0: OUTPUT«(1 2 3 4 5)␤»
smls ^^ MetaZoffix: Your timeout earlier was because missing parens
MetaZoffix right
15:26 lostinfog joined
MetaZoffix m: sub foo ( *@what ) { say @what[^5] }( 1...* ) 15:26
camelia rakudo-moar e8d0d0: OUTPUT«(1 2 3 4 5)␤»
MetaZoffix m: sub foo ( *@what ) { say @what.is-lazy }( 1...* )
:/ 15:27
camelia rakudo-moar e8d0d0: OUTPUT«(timeout)»
MetaZoffix m: sub foo ( *@what ) { say @what.is-lazy }( 1...* )
timotimo potentially only works with +@?
camelia rakudo-moar e8d0d0: OUTPUT«(timeout)»
smls That one seems related to RT #128201
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128201
MetaZoffix m: sub foo ( +@what ) { say @what.is-lazy }( 1...* ) 15:28
camelia rakudo-moar e8d0d0: OUTPUT«True␤»
MetaZoffix bisect: m: sub foo ( *@what ) { say @what.is-lazy }( 1...* )
oh shit.. that was probably a bad idea
bisect: m: Promise.in(2).then: {exit}; sub foo ( *@what ) { say @what.is-lazy }( 1...* )
smls: seems to be yeah. 'cause .rotor is checking .is-lazy: github.com/rakudo/rakudo/blob/nom/...t.pm#L1154 15:29
MetaZoffix &
15:30 MetaZoffix left 15:32 bisectable6 left 15:33 grondilu joined, MetaZoffix joined, zakharyas left
MetaZoffix I got distracted and totally forgot that I originally came here with my emit issue :) Any idea why it's not emitting? 15:33
timotimo what isn't emitting? 15:36
MetaZoffix timotimo: my code, about two screenfuls above. irclog.perlgeek.de/perl6/2016-09-02#i_13139346 15:37
timotimo thank you
MetaZoffix Even though small sample works... even though doing $!shell-messenger.emit: $mes; in another method works. Even though putting "say $mess" in the original method with .emit also prints stuff :S
15:39 domidumont left, bioduds joined
timotimo very distracted 15:41
15:41 lizmat left
MetaZoffix figured it out by writing it like this: gist.github.com/zoffixznet/ee5e2a1...60f79b5831 15:48
awwaiid hoelzro: Add yourself to the STL unsession I made for Rakudo Perl 6, github.com/strangeloop/StrangeLoop...Unsessions
MetaZoffix Seems it's getting its head screwed when the method calls are inside the react{}
awwaiid and anyone else going to StrangeLoop as well :)
MetaZoffix Maybe I should try a Channel instead of Supplies in here
15:54 bjz joined 15:55 sakuya joined 15:56 bisectable6 joined
MetaZoffix Thanks for the help! 15:56
15:56 MetaZoffix left 16:04 zacts joined 16:05 Guest58374 left 16:15 pierre_ left 16:16 pierre_ joined
ab6tract pmurias: then someone fixed a bug in precompilation, because previous editions of this library would get a single value for terminal width and height 16:16
pmurias: WRT to 'term' vs 'terminal' -- sorry, I cannot disagree more
single value for each of width and height, which will be wrong if the terminal is resized after precompilation 16:17
if you find that behavior to be in error, please submit an issue
I think it would be a crying shame if P6 ended up with P5's namespacing by fiat
16:20 pierre_ left 16:21 Actualeyes1 left, mcmillhj left 16:24 domidumont joined
ab6tract after some initial testing, I am seeing that removing no precompilation does indeed have the undesired effect of pinning the grid size of the first invocation 16:25
pmurias: if you find it behaving otherwise, I would be interested to know about it
[Coke] .seen supernovus 16:27
yoleaux I saw supernovus 22 Apr 2016 23:27Z in #perl6: <supernovus> Well, I'm going to have to run. Have a great day/night everyone. I hope to fix up some of my long neglected libraries at some point when I'm not completely overloaded with work! :-)
16:28 dami left
ab6tract further, it seems to settle the size at precompilation time, which means it isn't even accurate to the size you had when you first ran it 16:28
[Coke] .seen ufobat
yoleaux I saw ufobat 27 Aug 2016 06:53Z in #perl6: <ufobat> yay :D
16:31 mcmillhj joined 16:37 mcmillhj left, zacts_pi joined 16:39 zacts left
hoelzro awwaiid: done! 16:41
tailgate Is Pod::To::HTML a library that comes with rakudo-star? I tried deleting all copies of it on my computer, but it's still loading it 16:46
how do I find where it's getting the file from?
16:50 zacts_pi left
ab6tract .tell pmurias I've tried to make the the 'no precompilation' hit as minimal as possible. are you using a terminal client which automatically updates COLUMNS and ROWS in the environment for you as you resize? 16:50
yoleaux ab6tract: I'll pass your message to pmurias.
timotimo rakudo has Pod::To::Text, nothing else in Pod::
16:51 mcmillhj joined 16:54 MilkmanDan left 16:56 mcmillhj left 17:03 mcmillhj joined
bioduds hey guys 17:03
im not able to rua a one liner 17:04
only a 2 liner
this is the best I can do so far
67.205.136.118/install.sh
17:05 sakuya left, sufrostico joined
timotimo how does it not work? 17:05
i mean, what's wrong?
17:07 mcmillhj left
timotimo hm. you set PREFIX, is that enough? i thought we have to --prefix in the configure line, too 17:08
and if you put stuff into /usr/local, it's not going to be able to install anything into the prefix
because you're asking the user to run it as "sh" not as "sudo sh" 17:09
and also:
compiling and such shouldn't be done as root
so maybe it'd be better to extract tha building into three steps so we can "sudo make install" only
17:09 mcmillhj joined
bioduds --PREFIX ? 17:10
how so?
timotimo no, --prefix
17:10 firstdayonthejob joined
timotimo i've never tried to use the prefix env var 17:10
also, i think if you don't "export" it, it won't land in the environment anyway 17:11
bioduds i believe that lies the magic of making all work, but I really dont quite understand what it does
17:11 MilkmanDan joined
bioduds what im testing now is to run the following line: curl 67.205.136.118/install.sh | sh; . ~/rakudo/setpath.sh 17:12
as it would actually be 2 lines in one
that would be the 'ONE' liner
timotimo ok. at what point does it break?
bioduds it does not break
it installs fine
you just need to . ~/rakudo/setpath.sh manually after 17:13
timotimo oh
bioduds which Im hoping to have already on with ;. ~/rakudo/setpath.sh
testing now, if works, should be it 17:14
17:17 pierre_ joined
bioduds WORKED 17:20
ONE LINER IS HERE
its actually a 2-liner
so
right now you may do: curl 67.205.136.118/install.sh | sh ;. ~/rakudo/setpath.sh 17:21
and it will install perfectly
17:22 pierre_ left 17:24 ab6tract left
mspo that looks totally safe 17:24
sudo it?
bioduds no need
simply run it
mspo was joke :) 17:25
bioduds oh
:)
now, there need to be SSL on to have it on install.perl6.org
making the 'one liner': curl install.perl6.org | sh;. ~/rakudo/setpath.sh
which will work like a charm 17:26
anyone would care to test it on a mac?
sjohnson let's encrypt!
bioduds i believe it will work on mac too
mspo The certificate is only valid for the following names: design.perl6.org, doc.perl6.org, docs.perl6.org, modules.perl6.org, perl6.org, tablets.perl6.org, www.p6c.org, www.perl6.org 17:27
timotimo we've already got SSL for the rest of perl6.org, no?
bioduds im gonna start testing on a few other linux distros as well
mspo new firefox doesn't have a way to actually view the cert 17:28
that's really annoying
sjohnson it does, you just gotta dig deeper.
mspo I just get the www page from install
timotimo protect the innocent users who don't know what ssl is
sjohnson design.perl6.org, doc.perl6.org, docs.perl6.org, modules.perl6.org, perl6.org, tablets.perl6.org, www.p6c.org, www.perl6.org 17:29
looks like my list matches mspo.
bioduds im going to put up a test list and once its tested on all ill send you guys the table 17:30
17:31 acrussell left
japhb ab5tract: Thank you for writing Terminal::Print. I've been putting off doing a couple projects (both work and personal) because I didn't feel like a giant yak shave. You've just removed several layers of yak hair. :-) 17:37
timotimo do we have a certificate behind where we download the rakudo star tarball from? 17:38
17:40 acrussell joined 17:46 domidumont left
bioduds no 17:47
there should be
rakudo.org/downloads/star/rakudo-s....04.tar.gz instead of rakudo.org/downloads/star/rakudo-st....04.tar.gz 17:48
mspo The certificate is only valid for the following names: host.pmichaud.com, www.host.pmichaud.com 17:51
17:58 leont joined, acrussell left
timotimo damn 18:03
18:03 MorayJ left, kyclark joined, zakharyas joined
bioduds this whole ssl mob is gruesome 18:04
mspo where is perl6.org hosted? 18:05
18:05 labster joined
bioduds tests on ubuntu 14.04 LTS 64 bits with 2 cpus and 2gb ram ran ok 18:05
mspo p6c
why isn't rakudo just uploading to there?
bioduds testing now with 14.04 1 cpu 1 gb ram
digital ocean vps's
gonna try them all
writing a sheet with results too 18:06
wow 18:07
1gb failed
this install script is greedy man
DrForr Perl6 ain't Lua. 18:08
mspo yeah 18:09
bioduds testing CentOS 7.2 x64 2gb ram 2 cpus dig. ocean
timotimo yeah, the core setting is kind of big 18:10
kyclark Given a list of strings, how would I efficiently find all those starting with a given list of prefixes? 18:12
my @list = <foo bar baz quux>
my @want = <fo ba>
I feel something like " @list ~~ any(@want)"
Actually, I just need to do one string at a time, e.g., "foo ~~ any(@want)" 18:13
18:13 TestNinja joined
kyclark @want.map({ 'foo' ~~ /^$_/ }) 18:13
TestNinja m: my @list = <foo bar baz quux>; my @want = <fo ba>; say @want.grep: *.starts-with: @list.any 18:15
camelia rakudo-moar e8d0d0: OUTPUT«()␤»
TestNinja orly
m: my @list = <foo bar baz quux>; my @want = <fo ba>; say @want.grep: /^@list/
camelia rakudo-moar e8d0d0: OUTPUT«()␤»
TestNinja oh right :)
m: my @list = <foo bar baz quux>; my @want = <fo ba>; say @list.grep: /^@want/ 18:16
camelia rakudo-moar e8d0d0: OUTPUT«(foo bar baz)␤»
TestNinja m: my @list = <foo bar baz quux>; my @want = <fo ba>; say @list.grep: *.starts-with: @want.any
camelia rakudo-moar e8d0d0: OUTPUT«(foo bar baz)␤»
TestNinja \o/
kyclark Let me soak that in for a bit. 18:17
18:22 leont left
dj_goku Is anyone else having issues building 2016.08.1? 18:26
TestNinja dj_goku: what sort of issues? 18:27
kyclark TestNinja, that's some cool stuff. Thanks.
18:27 sjoshi joined
TestNinja Any time. 18:27
dj_goku TestNinja: I can't scroll back give me a few minutes to try and rebuild it.
18:27 sjoshi left
dj_goku currently trying 2016.07.1 18:27
hmm might be a memory issue: make: *** [CORE.setting.moarvm] Error 137 18:29
Command failed (status 512): make
TestNinja You need around 2GB for RAM+swap
dj_goku hmm 18:30
18:30 sjoshi joined
bioduds yep, around 2gb ram 18:31
from what my tests are showing
dj_goku well that stinks lol 18:32
TestNinja Just resize to get more swap :)
I built on boxes with 1GB RAM and large spawp 18:33
dj_goku this is a production box. :D
18:33 committable6 left
TestNinja ooopppss.... 18:34
murdered committable6 with committable6: 2016.04 m: say "meow"; <a b c d b>.rotor: 1 => -2;
Xliff You bastid! 18:35
moritz TestNinja: it's only murder if the dead one is of the same species as you. So you're a bot? :-)
TestNinja I guess it's not comming back :/
Xliff Sorry. South Park ref. I couldn't help it.
dj_goku After a few things finish running I'll cycle a service that is eating some memory
TestNinja moritz: you never know ;)
Xliff "<TestNinja> m: my @list = <foo bar baz quux>; my @want = <fo ba>; say @list.grep: *.starts-with: @want.any" 18:38
Syntax Yum!
18:38 domidumont joined
bioduds not sure I can resize swap on Digital Ocean VPSs 18:38
mspo do you have shell access? 18:39
bioduds also, main reason for this one-liner p6 installer is to help out for beginners. so, we dont want to tell beginners they should actually go and change swap 18:40
yes, shell access
mst right, 1Gb isn't enough to build rakudo
bioduds out of the box, 2gb is needed
mspo bioduds: just make a swapfile
bioduds in docs, there could be a full explanation on how to change swap in order to make it install on 1gb ram 18:41
mspo dd if=/dev/zero of=/var/db/swap0 bs=1M count=1024 ; mkswap /var/db/swap0; swapon /var/db/swap0
bioduds I'll use this mspo after I test all linux distros i can, thanks :D 18:42
currently on centos 7.2 2b ram 64 bits
it is installing 18:43
all need to have build-essential set before
sudo apt install build-essential on ubutnu
sudo yum groupinstall 'Development Tools' on centos
mst I think ~development also works
bioduds im not sure how to check this in script 18:44
if I manage to have it tested
I can set a line to install it if it is not there I guess
18:45 cdg left
avuserow bioduds: better is to check if the tool exists, maybe something like `command -v make >/dev/null || (echo no make && exit 1)` 18:46
bioduds ok, ill try that
cause if i can do this, the one-liner will work out of the box
since perl5 ships with main linux distros 18:47
i believe it ships with mac as well
18:47 andreoss left 18:49 domidumont left 18:50 zakharyas left
bioduds min 1gb swap would be what? 1024? 18:51
18:51 dha joined
bioduds there could be a min reqs telling 2gb ram or 1gb min. 1024Mb swap 18:51
also, 512 RAM and swap 2048 would work? 18:52
[Coke] rakudo isn't on perl6.org because the Rakudo Perl 6 Compiler is a different thing from the Perl 6 Language Specification. 18:54
and this underscores that difference.
18:55 leont joined
bioduds centos installed great 18:56
testing 1GB RAM now 18:57
18:57 committable6 joined
bioduds avuserow 18:58
18:58 sjoshi left
bioduds how should i do this test in the shell script? 18:58
18:59 zacts joined
[Coke] I doubt there is a portable way for you to do that. 18:59
or at least, an easy way.
bioduds i wont work on that i guess 19:00
maybe after testing
TestNinja m: %{Any} = a => 'B', c => 'b'; 19:03
camelia rakudo-moar e8d0d0: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: -> ;; $_? is raw { #`(Block|74651200) ... }␤ in block <unit> at <tmp> line 1␤␤»
TestNinja What's it on about?
bioduds also, installing it after checking that it does not exist would be platform dependent
TestNinja m: my %h{Any}; %h = a => 'B', c => 'b'; dd %h
camelia rakudo-moar e8d0d0: OUTPUT«Hash[Any,Any] %h = (my Any %{Any} = :a("B"), :c("b"))␤»
TestNinja m: my Any %{Any} = :a("B"), :c("b") 19:04
camelia ( no output )
TestNinja mkay
m: %{Any} = a => "B", c => "b"
camelia rakudo-moar e8d0d0: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: -> ;; $_? is raw { #`(Block|77295888) ... }␤ in block <unit> at <tmp> line 1␤␤»
TestNinja m: my %{Any} = a => "B", c => "b"
camelia ( no output )
bioduds testing on 1gb ram centos
TestNinja m: %{Any}
camelia rakudo-moar e8d0d0: OUTPUT«Odd number of elements found where hash initializer expected:␤Only saw: -> ;; $_? is raw { #`(Block|76513384) ... }␤ in block <unit> at <tmp> line 1␤␤»
TestNinja Ah, treats it as a coercer 19:05
19:07 iH2O joined
bioduds i should nevertheless ensure it is runnable 19:07
as avuserow pointed
also, check if min perl5 is there 19:08
do you guys know what is min. perl5 version needed for perl6 to be installed?
MasterDuke Configure.pl has 'use 5.010;' 19:09
19:09 dha left 19:12 sjoshi joined
timotimo bioduds: did you keep the PREFIX= part of the script? 19:12
TestNinja bioduds: 5.10.1 19:13
(5.10.0 won't work)
19:14 sufrostico left
bioduds fedora does not come with perl pre-installed 19:15
timotimo yes I did
right now im testing if i can detect make
also will test for perl
so 5.10.1 and above min 19:16
ok
timotimo cool 19:18
leont 5.8.8 may be a more convenient dependency (RHEL5), but OTOH that target group is unlikely to be interested in p6 19:22
mst I would be very surprised if tehre was somebody with 5.8.8 who both wanted p6 and wasn't capable of building a newer perl5 19:23
bioduds there are these legacy users but as you said, it would surprise to see if they wanted to "upgrade" to p6 19:24
good, i could test now 19:26
with
command -v make >/dev/null 2>&1 || { echo >&2 "I require make but it's not installed. Aborting."; exit 1; }
leont True, I doubt it's much of a practical concern 19:27
bioduds i guess i can do the same for perl
good, worked 19:29
now I can prevent installation if no make and no perl is available and warn installers to install it 19:30
67.205.136.118/install.sh
[Coke] If i have a promise with a status of Broken, how can I find out what broke it?
arglebargle. "cause"
TestNinja .result 19:32
Well, the .result would have an Exception if it got broken by exception. Unsure about promises broken manually 19:33
timotimo m: say Promise.^attributes
camelia rakudo-moar 685cc5: OUTPUT«(Mu $!scheduler Mu $!status Mu $!result int $!vow_taken Mu $!lock Mu $!cond Positional @!thens Mu $!dynamic_context)␤»
timotimo m: say Promise.^methods(:local) 19:34
camelia rakudo-moar 685cc5: OUTPUT«(BUILD vow keep break result cause then start in at anyof allof Supply Str Numeric Bool scheduler status)␤»
timotimo ah, yes, cause is probably it
bioduds cool, installing on Fedora 24 x64 2gb ram
TestNinja :o
"If the promise was broken, returns the result (or exception). Otherwise, throws an exception of type X::Promise::CauseOnlyValidOnBroken." 19:35
bioduds timotimo did you say I should remove PREFIX="/usr/local" ?
or leave it there?
timotimo remove
because i don't think it actually has any effect the way it's there 19:36
bioduds ok
timotimo because you said "curl the_script | sh" works, but it can't work if the prefix is really /usr/local
bioduds removed, going to test in a sec
TestNinja m: say (1.1, 3.1).all ~~ any(1.1, 2.1, 3.1)
camelia rakudo-moar 685cc5: OUTPUT«False␤»
TestNinja I excpected that to be True. How come it's false? Is it comparing two Junctions to each other instead of junctioning the values? 19:37
bioduds testing
[Coke] I have a promise $p that is broken. if i then try to print $p.cause.backtrace, I get Backtrace.new 19:38
19:38 espadrine joined
bioduds fedora is failing 19:38
Can't exec "/home/super/rakudo/rakudo-star-2016.04/install/bin/moar": No such file or directory at tools/lib/NQP/Configure.pm line 450. ===SORRY!=== No suitable MoarVM (moar executable) found using the --prefix (You can get a MoarVM built automatically with --gen-moar.) Command failed (status 512): /usr/bin/perl Configure.pl --prefix=/home/super/rakudo/rakudo-star-2016.04/install --backends=moar --make-install make: *** No targets s
what is this? 19:39
TestNinja bioduds: it can't find moar
m: say .elems == .grep: any(1.1, 2.1, 3.1) given (1.1, 3.1)
camelia rakudo-moar 685cc5: OUTPUT«True␤»
TestNinja This'll do, for me, I guess
timotimo right, the configure.pl is supposed to alreay install a moar when it goes on to build nqp
[Coke] looks like you didn't pass in --gen-moar
bioduds i did 19:40
19:40 cpage_ left
bioduds perl Configure.pl --backend=moar --gen-moar 19:40
is there in the script
moritz then it looks like compiling or installing moar failed 19:42
bioduds perhaps there is no tar
MasterDuke --backends
bioduds fedora comes all naked it seems
moritz --gen-moar implies backend moar
bioduds no, there is tar 19:43
well, I dont understand then
No suitable MoarVM (moar executable) found using the --prefix
[Coke] did you look at the output of the failed build? or are you hiding it?
bioduds sorry guys, i dont understand what this means
[Coke] if you have it captured, nopaste it somewhere. 19:44
probably that moar didn't build. you have to find the error message on the moar build.
bioduds let me try
[Coke] nopaste the output of your failed attempt to build (put it on gist.github.com or something)
aaaarigh. give my bailador script a POST. fails in a promise, can't get the backtrace of the promise. again, fails, again, now fails different way.... again, now it works. wtf. 19:45
(fresh copy? that still fails) 19:46
bioduds gonna leave fedora for later
heres what i got so far docs.google.com/spreadsheets/d/1dO...sp=sharing 19:47
avuserow bioduds: the snippet I gave you was shell code and seemed to work for me. Not a shell expert though. 19:48
bioduds yes avuserow it was almost correct
i just changed a bit
is working with: docs.google.com/spreadsheets/d/1dO...sp=sharing
opd
ops sorry 19:49
is working with: command -v make >/dev/null 2>&1 || { echo >&2 "make command is required to install Perl6. Please install it and try again."; exit 1; }
also I did the same to test for perl
command -v perl >/dev/null 2>&1 || { echo >&2 "perl is required to install Perl6 (Min. version 5.10.1). Please install it and try again."; exit 1; }
this works
and quits when none is available
[Coke] AIIIGH 19:50
19:50 iH2O left, sjoshi left 19:53 TestNinja left
[Coke] (that was for my async bailador stuff, nothing here. ) 19:54
19:58 ggoebel left 20:00 baest_ joined 20:02 baest left
[Coke] docs.perl6.org/routine/run should note if run is synchronous or not. 20:08
20:10 cdg joined 20:11 mst is now known as _o_mst_o_
leont Yeah, that could be made more obvious, even if synchronous is the default in the rest of the world 20:11
20:12 zacts left
[Coke] m: my $p = start { die 'oh bother' }; sleep 5; say ~$p.cause; 20:14
m: my $p = start { die 'oh bother' }; sleep 5; say $p.cause;
camelia rakudo-moar 685cc5: OUTPUT«oh bother␤»
rakudo-moar 685cc5: OUTPUT«oh bother␤ in block at <tmp> line 1␤␤»
[Coke] there's a surprising Str/gist difference. :| 20:15
20:16 TEttinger joined
geekosaur makes sense to me, although something like $p.cause.payload or etc. might make more sense/be clearer 20:17
[Coke] should at least be documented on docs.perl6.org/type/Exception 20:19
20:19 cpage_ joined
El_Che travis rules: you can test perl6 docker images with it! 20:22
timotimo nice 20:23
El_Che travis-ci.org/nxadm/rakudo-pkg 20:24
20:24 smls left 20:28 jjido joined 20:35 AlexDani` joined 20:36 AlexDaniel left 20:37 shzbot6959 joined 20:38 AlexDani` is now known as AlexDaniel, shzbot6959 left 20:40 dha joined, MilkmanDan left 20:41 MilkmanDan joined 20:42 labster left 20:43 bisectable6 left, bisectable6 joined 20:44 mcmillhj left 20:49 MilkmanDan left 20:51 cdg left, cdg joined 20:54 skids left 20:57 _o_mst_o_ is now known as mst 20:58 cpage_ left 21:06 pmurias left, sufrostico joined
El_Che bioduds: I am trying to build native packages. I may have a go at creating fedora packages if I find the time. But you could have a go at the Centos7 pkg: github.com/nxadm/rakudo-pkg (the compile commands are in the docker dir, pkg_rakudo.sh for compiling, the Dockerfile for the prerequisites) 21:08
s/go/look 21:09
grondilu m: say (my %)<foo> // "oops"; 21:15
camelia rakudo-moar 685cc5: OUTPUT«oops␤»
grondilu oh my bad 21:16
21:16 MilkmanDan joined, lostinfog left
grondilu m: my %h; (%h<foo> && die "already defined") = "bar"; say %h<foo> 21:17
camelia rakudo-moar 685cc5: OUTPUT«bar␤»
grondilu nice
21:18 kaare__ left 21:21 mcmillhj joined
grondilu wonders if that's possible in P5 21:23
nope
m: (my $ and die) = "foo" 21:24
camelia ( no output )
21:26 mcmillhj left 21:33 labster joined
harmil_wk I'm really getting into the weeds with this timeout issue. It shouldn't be taking me a week to figure out how to time out a test... 21:39
ugexe m: await Promise.anyof(start { sleep 100 }, start { sleep 3 }); 21:41
camelia ( no output ) 21:42
21:42 bobv left
harmil_wk ugexe: that can't interrupt a long-running call, though, right? 21:42
The sleep 100 just ends up running until you exit, doesn't it?
21:42 lizmat joined
harmil_wk I have 177 tests to run, and I don't want that many threads generating massive integers until I exit. 21:43
Java has a Thread.interrupt which would be ideal. Then I'd just Promise.anyof($timer, $test) and then $test.interrrupt if the timer hit. 21:44
m: await Promise.anyof(start { loop { sleep 1; say 1} }, start { sleep 1 }); say "Okay, your test is done"; sleep 2; 21:47
camelia rakudo-moar 685cc5: OUTPUT«1␤Okay, your test is done␤1␤1␤»
21:52 wamba joined
bioduds guys, what should be the place to ask for help if a user can't get perl6 to be installed? 21:52
I need to put that on the script if it for some unknown reason installation fails 21:53
21:54 cpage_ joined
harmil_wk If I'm reading what you wrote correct, bioduds, you're asking what you should tell people to do if they can't install Perl 6 as a prerequisite for running your script? 21:55
ugexe m: my $s = Supplier.new; my $sup = $s.Supply; await Promise.anyof(start { $sup.tap: { die(); }; for (^100) { say $_; sleep 1 } }, start { sleep 1 }); $s.emit(0); sleep 2; # some sort of kill switch i guess... this blows up the whole thing though
camelia rakudo-moar 685cc5: OUTPUT«0␤1␤Died␤ in block <unit> at <tmp> line 1␤␤»
bioduds yes, if they cant install with the script, where should they go for help 21:56
harmil_wk ugexe: oh, interesting... that's much better than the horrific signal handling I was trying to get working...
21:57 cpage_ left, woolfy joined
bioduds should I tell them to go to chat? or faq? 21:57
perhaps docs.perl6.org/language/faq.html
harmil_wk bioduds: does your script try to install Perl6? I'm just trying to avoid the situation where your script has a problem and we direct people to a general Perl 6 resource...
bioduds yes it tries to install perl6
script is here: 67.205.136.118/install.sh 21:58
it uses main perl6 installation proceedures
if it gets approved, should go run in install.perl6.org 21:59
harmil_wk I would say that the first line of defense should be the script maintainer.
21:59 dha left, frobisher joined
bioduds as top p6 guys here are looking on how would the best way to do this should be 21:59
21:59 frobisher is now known as dha
bioduds I agree. 22:00
So, you think it'd be best if I say, please contact script developer - my email and also look at faq
stmuk bioduds: why doesn't it use the latest Rakudo Star?
bioduds this should be ok?
it is using latest
no?
stmuk rakudo-star-2016.07.tar.gz was the last 22:01
harmil_wk So something like, "if the script fails to install, see <location for script FAQ/bug reporting>, but if you have issues with the installed version of Perl 6 after installation, see <various Perl 6 references and FAQs>"
stmuk it should work if you just change it
bioduds let me change it to the latest then
thanks
dha We didn't have a release last month? 22:02
harmil_wk bioduds: note that you can get the latest release tag here: github.com/rakudo/star/releases 22:03
dha: star releases more slowly now that we're in non-zero-index-Greek-letters 22:04
dha Ah. 22:05
stmuk dha: nope I'm aiming for 3 monthly releases
harmil_wk Though I guess it's not Greek, since "c" isn't Greek... I'll get back to you when I understand the release naming :)
stmuk: is that "3-month"ly releases? 22:06
or 3 per month?
stmuk 1 per quarter (3 months)
22:06 jjido left
harmil_wk that's what I thought, just clarifying 22:06
emdashcomma c is lunate sigma :) 22:07
bioduds yep, changed
going to test with latest now
22:08 labster left 22:10 leont left 22:12 abruanese joined, danlei joined
stmuk bioduds: " 22:13
oops
"You need gcc compiler installed in order to proceed" is only on linux (Mac will need clang installed) 22:14
danlei perl6 repl exits for me on some errors (e.g. when entering 'sub }'). this didn't happen with ubuntu's rakudo package, but with a fresh build (rakudobrew build moar). bug? if not, can it be disabled? 22:15
bioduds clang? 22:16
let me put that on the warnings then 22:17
danlei (2016.08-1-71-g685cc5a/MoarVM 2016.08) 22:19
22:20 firstdayonthejob left
jnthn danlei: Hm, curious, "sub }" and enter doesn't do it on what I've got locally, which is 2016.08.1-22-g6e76f7e 22:21
danlei: So sounds like a recent regression...please file a bug report.
bioduds i believe my fedora perl installation is the problem
in fedora install failure 22:22
i did sudo yum install perl
perhaps i shouldn't sudo i guess
jnthn (That describe is a tad misleading fwiw, 'cus I'm in a branch...)
bioduds so far ubuntu and centos installations were successful
stmuk bioduds: clang is an alternative compiler to gcc now used on Mac and FreeBSD and confusingly accessible as "gcc" 22:24
I'll try it on a Mac
bioduds great
i cant put up a mac vm, its too complicated
hackintosh
22:24 TheLemonMan left
bioduds line now is: curl 67.205.136.118/install.sh | sh;. ~/rakudo/setpath.sh 22:25
later hopefully will become: curl install.perl6.org | sh;. ~/rakudo/setpath.sh
danlei jnthn: ok, thanks. I'll report it.
bioduds great 22:26
if you can, send me results to [email@hidden.address]
22:26 MilkmanDan left
bioduds im curious to see if it will work on mac 22:26
22:26 cpage_ joined
El_Che bioduds: you should make the install dir overwritable by a ENV setting (as rakudobrew and perlbrew). Personally I hate stuff in my $HOME (they lib under ~/lib) 22:26
jnthn danlei: Thanks! 22:27
22:27 MilkmanDan joined
stmuk bioduds: that script should probably exit with a warning if the directory created by tar already exists 22:28
bioduds well, I was rm -rf ~/rakudo but i believe nine told me not to
stmuk sorry I mean the ~/rakudo directory
bioduds it should, I believe, clean up before install yes 22:29
I do rm -rf if it fails though
stmuk yeah I would favour testing for the existance of ~/rakudo, you might delete existing work under ~/rakudo
bioduds sure, cause otherwise it would fail
im putting that in
stmuk someone might be using that with programs existing there and have forgotten
El_Che with rm it's better to err on the safe side 22:30
bioduds correct
I'll think about it
gotta go now, be back soon!
thanks all guys
stmuk bioduds: you have an old 2016.04 reference there 22:31
dalek rl6-most-wanted: cd3e174 | (Tom Browder)++ | most-wanted/modules.md:
update

add a new WIP module: Net::IP delete an unneeded module: Tes::Number::Delta (all function now included in core module Test)
22:33
22:38 zacts joined 22:39 cpage_ left 22:40 cpage_ joined
AlexDaniel m: my $c = Channel.new; $c.send(42); $c.close; say WHAT $c.list 22:41
camelia rakudo-moar fbeadb: OUTPUT«(List)␤»
22:42 labster joined
AlexDaniel m: my $c = Channel.new; start { $c.send(42); sleep 3; $c.close; }; say $c.list; say now - BEGIN now 22:44
camelia rakudo-moar fbeadb: OUTPUT«(42)␤3.0148542␤»
AlexDaniel m: my $c = Channel.new; start { $c.send(42); sleep 3; $c.close; }; say $c.list.WHAT; say now - BEGIN now
camelia rakudo-moar fbeadb: OUTPUT«(List)␤0.0146833␤»
22:44 dalek left
AlexDaniel I don't understand… How can a List behave like that? 22:44
masak TimToady: questions from charging into the unknown: do you think `is parsed` should be made to work for non-macro subs? do you think `is parsed` has a place on (say) `constant` declarations and/or routine parameters? if possible, please answer modulo any reservations you may have to the viability of `is parsed`. ;) 22:45
22:45 dalek joined, ChanServ sets mode: +v dalek
masak (to my surprise, `is parsed` is turning out to be solving a lot of interesting problems in 007, at least on paper) 22:48
jnthn masak: Do you handle the parse regex having access to the tokens of the grammar, ooc? 22:49
22:52 perlawhirl joined
perlawhirl hi perlers 22:53
22:54 mcmillhj joined, dha left
perlawhirl ab5tract: Need to update you META6 for Terminal::Print to add OO::Monitors as a dependency 22:54
.seen ab5tract
yoleaux I saw ab5tract 13 Aug 2016 16:17Z in #perl6: <ab5tract> Gar, how did those RHS parens slip in.. Nevermind, my reasoning was based on a grave misunderstanding
TimToady is still deeply suspicious of 'is parsed', but has to run off to play the drums now 22:55
perlawhirl .tell ab5tract You need to update you META6 for Terminal::Print to add OO::Monitors as a dependency 22:56
yoleaux perlawhirl: I'll pass your message to ab5tract.
22:56 perlawhirl left
bioduds stmuk, no, i changed already 22:59
to 2016.07
23:00 zengargoyle left
AlexDaniel oh by the way 23:02
commit: pre-glr,HEAD my @a = <a b c>; .say for 42, @a
committable6 AlexDaniel, ¦«pre-glr»: 42␤a␤b␤c␤¦«HEAD»: 42␤[a b c]
masak jnthn: it's not implemented yet, but (far as I can see) in 007, having access to the tokens of the grammar is higher on the list than having access to lexically defined regexes.
AlexDaniel commit: 2015.07 say ‘Hello from the past!’
committable6 AlexDaniel, ¦«2015.07»: Hello from the past!
masak jnthn: an `is parsed` regex will operate with access to the grammar corresponding to the language currently in effect. 23:03
or, perhaps better to say, the parser currently in effect. 23:04
heh, I asked TimToady to answer modulo reservations, and all I got was the reservations :P 23:05
23:08 cdg left 23:12 espadrine left 23:13 skids joined 23:16 RabidGravy left 23:17 mcmillhj left 23:24 cpage_ left 23:25 danlei left 23:29 pierre_ joined 23:30 kurahaupo joined, labster left 23:32 pierre_ left 23:33 cpage_ joined, cpage_ left, mcmillhj joined 23:34 cdg joined 23:35 cpage_ joined 23:46 cpage_ left 23:48 pierre___ joined 23:49 cdg left 23:53 zacts left 23:54 zengargoyle joined
japhb Isn't that precisely the answer that modulo *can't* give? 23:55