»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
lue which is multi sub bag (Any $a where ?$a.^methods.grep('Bag') --> Bag) { $a.Bag } 00:00
Ulti yeah or whatever is the non hacky way to accomplish that, this is all new to me
its just bag not acting that way kind of shocked me a bit 00:01
and other than bag working on Positional I don't get why you would want it
like a bag of just a single object is just weird :S
lue "bag" is a list term so far as I know. So you wouldn't want to use it on an item, of course :)
Ulti unless its a list with a single thing
well its slurpy rather than looking for a list which I think is the difference 00:02
*@things means all the arguments are treated like a flat list?
lue well, a positional slurpy is a list
Ulti *shrug* its just something I thought might be nicer, it begs the question what happens when you have a list of things that have .Bag 00:03
probably dont call .Bag
I think this is the case for singular itemy things 00:04
lue 'bag' takes a list of arguments and stuffs it into a Bag. I'm not sure what specific issue you have with it.
Ulti nothing I just think it should do something else with a single object passed in
lue Unless I'm mistaken it's a list op, so it naturally assumes you've given it a list, even if it's a one-element list. 00:06
00:06 beastd left
Ulti yeah 00:06
lue (things like 'say' and 'any' are also list prefixes, for reference)
Ulti so .Str and .Numeric are special cases? 00:07
for your own classes
[Coke] m: say <a b c d>.Str
camelia rakudo-moar 851811: OUTPUT«a b c d␤»
lue ? prefix:<~> and prefix<+> aren't list prefixes.
00:08 xragnar_ joined, xragnar is now known as Guest72180, xragnar_ is now known as xragnar
lue Ulti: or are you referring to something other than ~ and + when you say "so .Str and .Numeric are special cases?" ? 00:09
Ulti no thats what I mean 00:10
00:11 Guest72180 left
lue There's nothing special with .Str and .Numeric wrt other methods. 00:11
Ulti well apart from they are called to create a string or numeric representation of a class and you can override them 00:12
lue ~ stringifies an item, which means $item.Str, and + numifies an item, which means $item.Numeric . bag takes a list and makes it a bag, so bag @list is @list.Bag
Ulti yeah and I'm saying I imagined 'bag' bagifies
thats its a list doesnt matter thats just one example of bagging 00:13
00:13 ajr_ left
lue It does bagify, you just want it to not assume list context all the time, which is opposite its intended purpose :) 00:13
Ulti and baggin something that is obviously a single iterm expression is weird
colomon m: say bag a=>3, b=>4
camelia rakudo-moar 851811: OUTPUT«Unexpected named parameter 'a' passed␤ in sub bag at src/gen/m-CORE.setting:16888␤ in block at /tmp/EAC3WEQpKD:1␤␤»
Ulti lue k 00:14
colomon m: say Bag.new(a=>3, b=>4)
camelia rakudo-moar 851811: OUTPUT«bag()␤»
colomon m: say (a=>3, b=>4).Bag
camelia rakudo-moar 851811: OUTPUT«bag(a(3), b(4))␤»
lue (one of these days we'll disambiguate named parameters and pairs)
colomon tries to always construct Bags that way. ;)
vendethiel lue: I think it's a feature too :P 00:15
00:15 dmol left
Timbus m: say bag (a=>3), (b=>4) 00:15
camelia rakudo-moar 851811: OUTPUT«bag("a" => 3, "b" => 4)␤»
00:16 cognominal left
lue I'll have to look in the logs for the explanation, but I still don't like implicit *%_ on methods, at least while we've ambiguated two separate concepts like that. 00:16
Ulti I just find it a bit odd %@list with hashafy but for other builtin types there isn't an equivalent... why not get rid of them and rely on doing .Hash
vendethiel lue: it's there fort nextsame etc 00:17
Ulti or .hash since its .list too
which is also a bit odd 00:18
lue vendethiel: yes, I remember the explanation being quite reasonable, which means we have to go with disambiguating Pairs and nameds :)
Ulti should I call the method .bag ?
lue Ulti: best to capitalize it like the type, so that someone can just go "I want type Bag, so $thing.Bag"
vendethiel lue: I Don't find it reasonable, fwiw 00:19
00:19 ilbot3 left
lue There's also the tangential issue of Bool :$flag not being a binary thing, in actuality. 00:20
Ulti thinks about pointing the finger at @list.hash again but goes to bed instead
lue Ulti: hash context is why .hash. IIRC there's a .Hash for the object too.
g'night Ulti o/
Ulti .Bool wat
urgh
00:21 ilbot3 joined, cognominal joined
Ulti yeah I keep forgetting Perl6 is still Perl and not Java but with @ and % randomly added :) 00:22
lue :)
Ulti my P6 resembles Java to a high degree
lue perl6-j probably doesn't help the distinction for you :D
Ulti because its what I learn "proper OO" in
huf i've seen very javaesque p5 on cpan
so i think sufficiently clever programmers can write any x in any y :) 00:23
lue
.oO(Perl 6 in 6502 asm)
Ulti :3 and on that thought I will dream
huf perhaps i was being "optimistic" there
Ulti night
lue o/ Ulti 00:24
huf: if one is sufficiently clever, it wouldn't be a problem :P 00:27
00:27 skids left
huf right :) 00:27
00:31 Pleiades` left, skids joined 00:35 Pleiades` joined 00:43 BenGoldberg joined, bjz_ joined 00:44 thou joined 00:48 bjz_ left, thou left 00:49 pmurias left 00:52 bbkr joined 00:53 kurahaupo left 01:04 hoverboard left 01:06 hoverboard joined 01:20 btyler left 01:24 ugexe joined 01:35 jack_rabbit joined 01:39 rurban left 01:41 Su-Shee_ joined 01:44 Su-Shee left 01:55 klapperl joined 01:56 SamuraiJack joined 01:58 klapperl_ left 02:02 silug left 02:04 btyler joined 02:13 silug joined 02:16 jnap left 02:27 rindolf joined 02:41 bjz joined 02:46 raiph left 02:49 bbkr left 03:11 bbkr joined 03:12 hoverboard left 03:13 rindolf left 03:24 tempire joined 03:25 Alula left, tempire_ joined, tempire_ left, tempire left 03:26 tempire joined 03:28 tempire left 03:29 tempire joined, alc joined
awwaiid so it's kinda horrible, but I've started to introduce people to a cool language named "Rakudo" -- I tell them some of its features and about how it feels (inspired by Ruby, Perl, Haskell ... steals all the things) and so on. Only once we've had a rational conversation do I mention that it is actually an implementation of perl6 03:29
xiaomiao nice trick 03:31
PerlJam awwaiid: are they surprised? 03:32
awwaiid yes, but I've only done this for one or two so far 03:35
I'm going to do it as part of a much larger presentation in a few weeks
that'll be the interesting one
03:35 Alula joined
awwaiid when I start with "Perl6 ..." the conversation immediately derails. when I start with "Rakudo..." it is a useful conversation. 03:36
anyway. just a report -- I'll continue my social experiments :)
03:37 hoverboard joined
perigrin ... in a few weeks ... 03:53
perigrin checks the schedule.
03:54 BenGoldberg left 03:58 cooper left, BenGoldberg joined 04:01 cooper joined, cooper left, cooper joined
bbkr interesting approach. however rakudo site itself is not attractive to newcommers. they do not care about release announcements. first page should be more like "hey, look at all those tricks you can do with the language! here is the sandbox! try it!" 04:11
04:11 BenGoldberg left
bbkr moreover - those should be specific catchphrases like: "how to parse a text?" or "How to download a webpage?". people are experimenting with new languages to solve problems - not to stare at classes documentation. 04:19
04:21 thou joined, rurban joined 04:25 thou left 04:30 Pleiades` left 04:35 Pleiades` joined
Timbus i nodded so hard at bbkr's words that my neck got whiplash 04:50
load random examples from rosettacode :o 04:51
05:09 denis_boyun joined, darutoko joined 05:11 denis_boyun left, rurban left 05:13 thou joined 05:19 denis_boyun joined 05:21 aindilis left 05:25 denis_boyun__ joined, denis_boyun__ left, denis_boyun left 05:26 Alina-malina left 05:32 btyler left 05:33 denis_boyun_ joined 05:38 alc left, xinming_ left 05:44 xinming joined 05:50 kaare_ joined 05:52 denis_boyun_ left 06:11 rurban joined 06:16 rurban left 06:17 kaleem joined 06:19 Alina-malina joined 06:20 Alina-malina left, Alina-malina joined 06:30 molaf__ left, ingy left 07:12 rurban joined 07:13 virtualsue joined 07:16 berekuk left 07:17 rurban left 07:20 FROGGS joined 07:25 rurban joined, terrencehan joined, virtualsue left, ssutch left 07:29 rurban left 07:30 pdcawley joined 07:31 ssutch joined
sergot morning o/ 07:33
07:33 aindilis joined 07:35 zakharyas joined
FROGGS morning sergot 07:37
07:38 jack_rabbit left 07:42 Rotwang joined 07:48 hoverboard left 07:51 ssutch left, Pleiades` left 07:52 jack_rabbit joined 07:55 Pleiades` joined, ssutch joined, ssutch left
dalek kudo/eleven: cd74d73 | (Tobias Leich)++ | src/core/CompUnitRepo.pm:
we treat Str's in @*INC as CUR::Local::File
07:57
FROGGS lizmat: this should do ---------^
masak morning, #perl6 08:04
a nice day for some Perl 6 involvement :)
moritz \o/ 08:05
08:05 spider-mario joined
sergot masak \o/ 08:14
masak sergocie \o/ 08:15
08:17 dmol joined 08:20 virtualsue joined
FROGGS morning masak, morning moritz :o) 08:20
08:22 alc joined 08:26 rurban joined 08:30 rurban left 08:35 pippo joined
pippo morning perl6 08:39
08:39 dakkar joined
FROGGS morning pippo 08:40
08:41 Su-Shee_ is now known as Su-Shee
pippo Anybody could explain me what is type Mu? 08:42
masak pippo: it's the type at the end of the mro chain.
m: say Array.^mro
camelia rakudo-moar 851811: OUTPUT«(Array) (List) (Iterable) (Cool) (Any) (Mu)␤»
masak m: say Int.^mro
camelia rakudo-moar 851811: OUTPUT«(Int) (Cool) (Any) (Mu)␤»
masak m: say Bag.^mro 08:43
camelia rakudo-moar 851811: OUTPUT«(Bag) (Any) (Mu)␤»
masak pippo: does that help?
pippo: it being at the end of the mro chain means that it has basically no attributes/methods of its own, and it gets a chance to resolve methods after everything else.
m: say Mu.^attributes 08:44
camelia rakudo-moar 851811: OUTPUT«␤»
masak m: say Mu.^methods
camelia rakudo-moar 851811: OUTPUT«ACCEPTS WHERE WHICH take WHY Bool so not defined new CREATE bless BUILDALL BUILD_LEAST_DERIVED Numeric Real Str Stringy item say print gist perl DUMP DUMP-PIECES DUMP-OBJECT-ATTRS isa does can clone Capture Method+{<anon>}.new() dispatch:<::> Method+{<anon…»
masak well, um. :)
"basically" no methods of its own :)
08:45 pdcawley_ joined
masak pippo: in Java, the corresponding type is called "java.lang.Object", and everything inherits from it. 08:45
pippo masak: Thank you very much. I understand.
masak \o/
in comp sci, the type is known as "Top", the type at the top of the lattice that all values can inhabit. it's the opposite of "Bottom", which no values inhabit. 08:46
pippo so also Any and Cool are intermediate objects between Mu and the final type? Correct? 08:47
08:48 pdcawley left
Timbus doc.perl6.org/images/type-graph-Any.svg 08:48
masak pippo: Any inherits directly from Mu. you can think of it as "basically everything except junctions".
pippo: Cool captures the notion of those types in Perl 5 -- Bool, Int, Rat, Num, Str -- that can be confused with one another and effortlessly converted to one another without fuss. 08:49
pippo Timbus, masak: thank you very much!
masak: last thing (I promise to stop bothering... for today :-) the mro of the method ^.mro is an acronym? 08:55
Timbus method resoultion order 08:56
resolution*
pippo OK. Thanks!
masak pippo: you're not bothering at all -- keep asking questions! 09:03
pippo: method resolution order is what determines in which order classes are considered when calling a method. 09:04
ren1us actually, i've got an incredibly stupid question -- is there a trivial way of breaking my program up into multiple files? and turning each file into a module feels like it would be all kinds of dirty 09:06
masak ren1us: I think you have something backwards when you're asking it like that. 09:08
ren1us: breaking the program into multiple files should be informed by existing module boundaries, not the other way around.
ren1us masak: that would fit how my day is going so far. the problem is, in the documentation i've found, modules are presented only in the context of redistribution, which isn't really my goal here. if there's a way to do modules only locally, then that's marvelous. 09:10
moritz redistribution is optional. 09:11
masak I had this thought the other day: "If I design a programming language, I'm going to save myself a bunch of trouble and just plug the module system directly into an existing package manager, such as apt or npm." 09:13
of course, care would still have to be taken to carry both an in-development story and a for-distribution story.
but I think it'd be a win to use something pre-existing, instead of re-inventing every little dependency management detail. 09:14
Timbus ren1us: use lib '.'; use YourModule.pm; 09:17
lib '.' will add the current dir to INC
ren1us Timbus: That feels weirdly hacky but it also makes perfect sense. I'll give it a shot. 09:19
Timbus hacky? =/ 09:21
FROGGS m: say "abc," ~~ /<:Letter>+/ 09:22
ren1us just modifying the search path like that from within the program like that. that feels like it would be cleaner as a parameter when launching the interpreter (ie: perl6 --include="." test.pm) or something
camelia rakudo-moar 851811: OUTPUT«「abc」␤␤» 09:23
FROGGS p: say "abc," ~~ /<:Letter>+/
camelia rakudo-parrot 851811: OUTPUT«「abc」␤␤»
FROGGS j: say "abc," ~~ /<:Letter>+/
camelia rakudo-jvm 851811: OUTPUT«「abc」␤␤»
09:23 rindolf joined
ren1us i think my problem is that i'm still thinking from a java perspective. i've gotten into nasty habits over the years >_> 09:23
Timbus well, you can use a command line switch 09:24
-I
ren1us now that, i like. 09:25
but good to know in general
thanks
09:27 rurban joined 09:31 rurban left
lizmat good *, #perl6 09:31
FROGGS hi lizmat
lizmat FROGGS: so are we set for merging eleven ? 09:32
FROGGS lizmat: not quite
t/spec/S10-packages/basic.rakudo.moar (Wstat: 0 Tests: 59 Failed: 2)
Failed tests: 9-10
Parse errors: Tests out of sequence. Found (1) but expected (39)
09:32 donaldh joined
FROGGS I get that, but I don't see an error when running the file directly 09:32
lizmat ok, will look at those then ?
aha... hmmm
FROGGS pull btw, I fixed the issue about strings in @*INC 09:33
lizmat I just pulled :-)
FROGGS :o)
donaldh o/ 09:34
yoleaux 28 May 2014 22:47Z <jnthn> donaldh: to see how it works for Supply.interval; you just .close the tap.
FROGGS hi donaldh 09:35
lizmat donaldh FROGGS o/ :-)
FROGGS: do you have an eleven branch on roast as well ?
09:37 pecastro joined 09:38 rindolf left 09:39 thou left 09:42 SevenWolf left
FROGGS lizmat: no 09:49
lizmat okidoki
FROGGS panda/master and panda/eleven are probably the best tests
both are meant to work at the time we merge it
lizmat gotcha
hmmm... odd: perl6 t/spec/S10-packages/basic.rakudo.moar runs fine, but running it under make, failes 09:51
*fails
FROGGS exactly 09:53
lizmat FROGGS: do you know of a reason why it is trying to do "use Test", rather than another module? 09:54
FROGGS no, not really 09:55
lizmat added a use lib t/spec/packages 09:56
and then tried to use Test::Tap
now it won't even start under make, still runs fine underl perl6
FROGGS well, it is possible that we do not have the correct ModuleLoader in EVAL perhaps... 09:57
ummm
does running under 'make' changes the cwd?
I guess not
lizmat no idea 09:58
FROGGS ok 37 - method redefined in class dies
ok 38 - use after class line
ok 1 - use in class block
"interesting"
ohh
lizmat feels like the "use Test" is reinitializing
FROGGS yeah 09:59
it really loads it twice
lizmat like it's loading it *again* instead of just exporting
10:10 daxim left, daxim joined 10:12 atroxaper joined
atroxaper Hello, #perl6 ! 10:12
masak oh hai atroxaper
atroxaper masak: hi :-)
I have a problem with installation of R*. 10:13
I trying to install all backends on my OS X. And there is some strange error while calling Configure.pl. I decided to install only MoarVM from R* but have got one more error. After that i have tried to install Parrot one. And success! 10:14
moritz what errors did you get? 10:15
and how did you call Configure.pl?
atroxaper And now i thinking how can i install JMV and MoarVM from Rakudo repo instead of R* (i mean hoe can i build and add perl6-m-j to install folder). 10:16
For installation i used Readme from github R* repo. 10:17
Actually i didn't save logs. But i can repeat all things for you. 10:19
10:26 donaldh left 10:28 rurban joined, Juerd left 10:29 donaldh joined 10:32 rurban left
atroxaper I repete Configuration.pl for all backends. gist.github.com/b5a0ce8b746c34a2d88c.git 10:35
There is the last output.
10:35 thou joined
dalek kudo/nom: 822705b | (Elizabeth Mattijsen)++ | src/core/VM.pm:
$*VM.(name|version|auth) contain meaningful info

on all current backends
10:38
10:40 thou left
dalek ecs: 6c40e3a | (Elizabeth Mattijsen)++ | S28-special-names.pod:
Spec $*KERNEL.release
10:41
vendethiel o/ 10:43
sergot vendethiel: o/ 10:46
atroxaper vendethiel: o/ 10:47
pippo masak: sorry I was afk. Thank you for irclog.perlgeek.de/perl6/2014-05-29#i_8789301. 10:52
dalek kudo/nom: 9443056 | (Elizabeth Mattijsen)++ | src/core/VM.pm:
Ooops, fix copy-n-pasto
10:54
10:55 cooper left
masak pippo: it's actually quite an interesting problem. consider multiple inheritance, for example. we only want a given superclass to show up once in the mro. 10:55
m: class A {}; class B is A {}; class C is A {}; class D is B is C {}; say D.^mro 10:56
camelia rakudo-moar 851811: OUTPUT«(D) (B) (C) (A) (Any) (Mu)␤»
masak m: class A {}; class B is A {}; class C is A {}; class D is C {}; class E is B is D {}; say E.^mro 10:57
camelia rakudo-moar 851811: OUTPUT«(E) (B) (D) (C) (A) (Any) (Mu)␤»
vendethiel good ol' diamond inheritance
pippo masak: OK. Useful indeed.
masak pippo: there's a special method resolution order called C3 (where the 3 "C"s are three important qualities that this order needs to have to be sane) that all modern multi-inheritance languages use under the hood. 10:58
vendethiel remembers being told about having C/new C++ programmers teached virtual inheritence and trying to use it everywhere ..
masak hm, consistency, local precedence order, and monotonicity. apparently only one of them actually begins with a C :) 10:59
pippo masak: I'll look for some documentation relevant to this C3 rule.
masak pippo: I just found martinfowler.com/articles/testing-culture.html which looks very nice and explanatory. 11:00
er.
www.python.org/download/releases/2.3/mro/
dalek kudo/nom: cfc0b38 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm:
Introduce RAKUDO_NO_DEPRECATIONS environment var

Mainly intended to be used when running smoke tests
lizmat [Coke]: ^^^
masak (Chrome does this thing where if you Alt-Tab away from it too quickly, it doesn't actually copy the URL) 11:01
lizmat m: ay $*OSVER
camelia rakudo-moar 851811: OUTPUT«===SORRY!=== Error while compiling /tmp/88Z3iclt5j␤Undeclared routine:␤ ay used at line 1␤␤»
lizmat m: say $*OSVER
camelia rakudo-moar 851811: OUTPUT«3.2.0-37-generic␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OSVER called at:␤ /tmp/XUNXP2OXjN, line 1␤Please use $*DISTRO.version instead.␤----------------…»
lizmat $ RAKUDO_NO_DEPRECATIONS=1 perl6 -e 'say $*OSVER'
10.9.3
pippo masak: Thank you again. Studying... :-) 11:02
11:02 terrencehan left
masak pippo: though note that if you never do MI, everything's sane from the start and you don't need C3 ;) 11:05
11:06 atroxaper left
lizmat m: <a b c>.WHAT.say # the rule that the comma makes the Parcel, maybe needs to be adapted ? 11:07
camelia rakudo-moar 851811: OUTPUT«(Parcel)␤»
lizmat yes, I know <...> is syntactic sugar, but that may not be obvious to beginners
masak indeed. 11:09
11:09 kivutar joined
lizmat on the subject of nameds and pairs: what about reserving the fat comma syntax for creating pairs, and the colon :named syntax for creating nameds ? 11:11
then we could make Pairs have a mutable key (like TimToady wants to see) and have .nameds methods on Hash/Bag etc 11:12
masak um.
I can't think of any use case now, but I'm pretty sure the synonymity of :key($value) and key => $value is a good one.
just in case that's my conservativity bias talking, I'll try to stay open to sway. 11:13
lizmat well, the confusion we have with Foo.new now eating all unknown named params instead of complaining
I see newbies being bitten by that all the time (and I have been too) 11:14
masak that's nothing to do with nameds and pairs, though.
lizmat true
masak that's to do with S12's insitence on interface consistency and liskovity.
which arguably is a good thing, even if it's annoying.
the solution as far as I'm concerned is tadzik's strict-constructor module. 11:15
lizmat m: my $b = <a b c>.Bag; .value++ for $b.pairs; say $b # one problem I need to fix
camelia rakudo-moar 851811: OUTPUT«bag(a(2), b(2), c(2))␤»
lizmat masak: with maybe some syntactic sugar and core inclusion ?
masak not sure.
*sigh* -- the problem of immutable containers allowing values to be mutated is starting to feel like the problem of the decade. 11:16
I really really wish there was a unified model to handle all the tricky cases.
lizmat m: my $b = <a b c>.BagHash; .value++ for $b.pairs; say $b # should his be legal?
camelia rakudo-moar 851811: OUTPUT«BagHash.new(a(2), b(2), c(2))␤»
masak I guess that's why Rust has piqued my interest a bit.
lizmat note the use of BagHash
masak I have no clue. 11:17
tadzik about CX::StrictConstructor coreness, maybe a lint-y module that warns about such things would be in order?
masak +1 11:21
yes, and it could recommend CX::BoaConstrictor
tadzik the name ClassX::StrictConstructor sucks :D 11:22
it's long and clumsy and tricky to type 11:23
11:23 denis_boyun_ joined 11:28 rurban joined
lizmat it's really about allowing subclassing, isn't it? 11:29
11:33 rurban left 11:35 SamuraiJack left
lizmat m: my %h = (a=>1); .value++ for %h.pairs; say %h # hates it that this silently increment into the blue 11:36
camelia rakudo-moar 851811: OUTPUT«("a" => 1).hash␤»
11:36 thou joined
masak lizmat: yes. 11:37
lizmat m: my %h = (a=>1); .key++ for %h.pairs; say %h # now fails because Pair.key is ro 11:38
camelia rakudo-moar 851811: OUTPUT«Cannot modify an immutable Str␤ in sub postfix:<++> at src/gen/m-CORE.setting:1873␤ in block at /tmp/N3Zx_VEg91:1␤␤»
lizmat maybe we need a CPair :-)
11:41 thou left 11:43 skids left
masak :/ 11:43
maybe we need an overarching strategy for mutable vs immutable 11:44
colomon …. was just about to try messing with this, but .pairs certainly is returning a copy of the actual Pair in the Hash, no? it seems really weird to expect it to be able to change the Hash 11:45
m: my %h = (a=>1); %h.pairs { .value++; .say; }; say %h 11:46
camelia rakudo-moar 851811: OUTPUT«===SORRY!=== Error while compiling /tmp/5DIYHtAsUx␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/5DIYHtAsUx:1␤------> my %h = (a=>1); %h.pairs ⏏{ .value++;…»
colomon m: my %h = (a=>1); for %h.pairs { .value++; .say; }; say %h
lizmat weil, in the case of Bag/Mix, the values of the underlying hash are pairs
camelia rakudo-moar 851811: OUTPUT«"a" => 2␤("a" => 1).hash␤»
Ulti hmmm been playing with the REPL for a few minutes and moar is using >2.5GB of RAM is this normal? only playing with a few strings 11:47
colomon m: my %h = (a=>1); for %h.values { $_++; .say; }; say %h
camelia rakudo-moar 851811: OUTPUT«2␤("a" => 2).hash␤»
Ulti only 99MB is resident though so I assume I did something that blew it out
colomon to me, that last one is the scary, inexplicible one. 11:48
11:49 prevost joined 11:54 pmurias joined, oetiker left 11:57 oetiker joined
Timbus its a perl5-ism isnt it 11:59
12:00 Juerd joined
masak it's a question of what parts are copying and what parts are aliasing. 12:00
dunno if labeling it as a perl5-ism helps make things clearer in any way. 12:01
Timbus well. i mean convention would probably just make everything an ro alias, but modification of $_ in a for loop was, apparently something that needed to be carried over 12:02
12:03 oetiker left
Timbus but yeah 12:03
12:05 oetiker joined
colomon just to be clear -- what bothers me there is that .values is apparently returning a list of references into the hash. 12:07
Timbus yes. thats uhh, the 'desired' effect 12:08
12:08 ingy joined
colomon m: my %h = (a=>1); for %h.kv -> $k, $v is rw { $v++; $v.say; }; say %h 12:10
camelia rakudo-moar 851811: OUTPUT«2␤("a" => 2).hash␤»
FROGGS m: my class X::DateTime::CannotParse is Exception { ... } 12:13
camelia rakudo-moar 851811: OUTPUT«===SORRY!=== Error while compiling /tmp/1MQeQQRkFn␤The following packages were stubbed but not defined:␤ X::DateTime::CannotParse␤at /tmp/1MQeQQRkFn:1␤------> teTime::CannotParse is Exception { ... }⏏<EOL>…»
FROGGS m: my class X::DateTime::CannotParse is Exception { }
camelia ( no output )
lizmat m: <a b c>.list.Parcel.perl.say # is this correct ?
camelia rakudo-moar 851811: OUTPUT«(ListIter.new(),)␤»
Timbus i hope not 12:14
m: <a b c>.list.lol.perl.say
camelia rakudo-moar 851811: OUTPUT«LoL.new(ListIter.new())␤»
Timbus m: my ($a, $b) = "asd fgh".split(' ')>>.comb.lol; say $a.perl; 12:16
camelia rakudo-moar 851811: OUTPUT«().list.item␤»
dalek kudo-star-daily: 1962513 | coke++ | log/ (14 files):
today (automated commit)
rl6-roast-data: 48b8c1e | coke++ | / (6 files):
today (automated commit)
12:18 jnap joined
[Coke] (backlog) osx can't build rakudo-m with the default make - you have to run the make command multiple times until it completes. I presume this impacts r* also 12:20
Timbus try hitting the side of the monitor a few times to jostle the bits 12:22
[Coke] rakudo.jvm now has 676 failures on spectest... 12:23
lizmat [Coke] I can't still run jvm spectest without it dying
how do you manage that ?
[Coke] lizmat: you're using the eval server, I presume?
I gave up on that months ago.
lizmat I'm doing "make spectest" 12:24
what magic do I need to do to not use the eval server ?
[Coke] ah. 670 of those failures are from a very long test which probably timed out because I was running something else on the box at the same time that I'm not usually. ignore it for now.
lizmat: github.com/coke/perl6-roast-data/b...udo.jvm.sh 12:25
lizmat [Coke]: thanks
It appears we don't have any .Parcel spectests on anything that contains an iterator :-(
[Coke] (ah, I thought there was code in there to cheat and disable the server. Instead, I never set up the server)
12:26 rindolf joined
[Coke] I assume there's a leak in the server somewhere; haven't had the time to run it through visualvm to figure out where. 12:26
haven't had a clean rakudo.parrot or rakudo.moar run in a while. :( 12:28
new parrot failure: integration/advent2010-day03.t aborted 10 test(s)
12:28 dwarring left 12:29 rurban joined
lizmat [Coke]: did you pull ? that test should have been fixed by donaldh's work on nqp::tell and friends 12:30
fwiw, it doesn't fail for me
12:33 rurban left 12:39 MilkmanDan left 12:40 MilkmanDan joined
[Coke] lizmat: that was yesterday's run. 12:41
today's run is still going.
apologies for my confusion.
FROGGS masak: was it intention to have no infixes for DateTime? 12:42
multi infix:«<»(Date:D $a, Date:D $b) { <--- we have them only for Date
felher Hey folks. How would one count the number of substrings ss in the string s? s.comb.grep(* eq ss).elems would certainly work, but I guesss this has quite a overhead. A loop with s.index(ss, nextPos) maybe? Is there a method that does something like counting the number of substrings in a string already and I just didn't find it?
(my substrinsg habe length 1, so the comb will work, fwiw :) ) 12:43
12:43 lizmat left, kurahaupo joined 12:44 lizmat joined
masak FROGGS: hm. I honestly didn't consider it. but they should definitely be there, yes. 12:44
FROGGS m: say +"Guten tag".match(/t/, :g) # felher
camelia rakudo-moar 851811: OUTPUT«2␤»
masak FROGGS: could you please spec them, too?
FROGGS masak: k, just wanted to check
masak: k
masak FROGGS: are there any complications involving time zones?
FROGGS masak: also see: github.com/sergot/datetime-parse 12:45
masak: no idea
masak thinks not, because we don't have that "floating" time zone thing
FROGGS: re the module: what am I looking for?
I mean, it looks like a good module and all. are you asking whether I think it should be core? if so, then no, I don't. 12:46
12:46 Alina-malina left
FROGGS it can parse things like 'Sun, 06 Nov 1994 08:49:37 GMT' and returns a DateTime object 12:46
masak yes, I see.
nice.
FROGGS no, just wanted to show, it is not meant to go into core :o)
masak oki :) 12:47
12:47 colomon left
FROGGS but there is often the question about how to turn something to a DateTime, and that will be the answer 12:47
felher FROGGS: of course... I can't believe I did not think of that. Thanks.
masak FROGGS: aye. 12:48
FROGGS felher: but be careful, only the method form works AFAIK
lizmat hmmm... that was interesting.... moar crashing my notebook :-)
I guess an unprotected self.gimme(*) in List.Parcel wasn't such a good idea after all :-)
masak felher: also note that it only counts the number of non-overlapping matches.
m: say +"aaaaaa".match(/aa/, :g) # 3, not 5 12:49
camelia rakudo-moar 851811: OUTPUT«3␤»
12:49 jack_rabbit left
masak m: say +"aaaaaa".match(/aa/, :g, :ov) 12:49
camelia rakudo-moar 851811: OUTPUT«5␤»
masak ooh :)
felher masak: yeah, thats fine for my purpose. I'm only searching for 1-character-strings anyway. :)
masak didn't know we had that :)
12:59 dmol left
lizmat ever wanting to Ctrl-C out of a running program and get a stacktrace ? 13:02
13:02 spider-mario left
lizmat signal(SIGINT).tap({die}); 13:02
:-)
timotimo oooh 13:03
moritz .tap(&die)
tadzik <3 13:04
lizmat++
timotimo but doesn't that just throw a stack trace from the event loop?
lizmat also
it's a bit messy
moritz: &die doesn't seem towork: Type check failed in binding &more; expected 'Callable' but got 'Sub+{<anon>}' 13:06
timotimo oh? that's not right
m: say Sub ~~ Callable
camelia rakudo-moar 851811: OUTPUT«True␤»
lizmat I guess it's the +[<anon>] breaking it ? 13:07
timotimo shouldn't, though
masak right.
timotimo could be error reporting fail?
lizmat feels like masak today
finding bugs everywhere :-(
13:07 btyler joined
masak don't be sad. 13:08
found bugs are better than unfound bugs.
lizmat true, but it feels like I'm shaving yaks all the way down to the bone now 13:09
timotimo poor yak
moritz m: say &die ~~ Callable
camelia rakudo-moar 851811: OUTPUT«False␤»
moritz m: say &die.^name 13:10
camelia rakudo-moar 851811: OUTPUT«Sub+{<anon>}␤»
moritz m: say &die ~~ Sub
camelia rakudo-moar 851811: OUTPUT«True␤»
moritz m: say Sub ~~ Callable
camelia rakudo-moar 851811: OUTPUT«True␤»
moritz clearly that's a bug
lizmat proto sub die(|) is hidden_from_backtrace {*};
could be the reason ?
moritz yes
it's still wrong
moritz writes a rakudobug 13:11
masak moritz++ 13:12
timotimo masak: what's on your plate for today? :)
masak timotimo: keeping it a secret for now :)
timotimo ooooh! :D
.o( maybe it's mishu? ) 13:13
masak .oO( thank you alleged Jesus for allegedly Ascending some 2k years ago, so that we don't have to work today in the Christian world )
moritz m: role R { }; class A1 does R { }; class A2 is A1 { }; say A2 ~~ R; say A2.^roles 13:15
camelia rakudo-moar 851811: OUTPUT«True␤(R)␤»
moritz m: role R { }; class A1 does R { }; class A2 is A1 { }; say A2 ~~ R; say (A2 but role { }) ~~ R
camelia rakudo-moar 851811: OUTPUT«True␤True␤»
Ulti is there a typical method for comparing builtins?
13:15 skids joined
moritz not so simple, it seems 13:16
Ulti: comparing them to what?
Ulti so like if I want to compare two bags specifically
just ~~ ?
timotimo maybe you want eqv?
there's a bag comparison operator, which should be (<) and (>) and friends
Ulti yeah eqv looks like what I want 13:17
masak m: role R1 {}; role R2 does R1 {}; class C does R2 {}; say C.^roles 13:23
camelia rakudo-moar 851811: OUTPUT«(R2)␤»
masak m: role R1 {}; role R2 does R1 { method foo { say "OH HAI" } }; class C does R2 {}; say C.new.foo
camelia rakudo-moar 851811: OUTPUT«OH HAI␤True␤»
masak m: role R1 {}; role R2 does R1 { method foo { say "OH HAI" } }; class C does R2 {}; C.new.foo
camelia rakudo-moar 851811: OUTPUT«OH HAI␤»
lizmat hmm... looks like List.Parcel is being called a *lot* of times, seems like some LHF for optimizing 13:24
masak jnthn: is it correct that C doesn't say it's doing R1 too?
13:25 thou joined
masak errands & 13:27
13:29 thou left
FROGGS lizmat: about these eleven fails, at the beginning it is loading rakudo/lib/Test.moarvm and later nqp/install/languages/perl6/lib/Test.moarvm 13:29
dalek osystem: 2151da8 | sergot++ | META.list:
DateTime::Parse added, FROGGS++
sergot FROGGS++ thanks for your help! 13:30
13:30 rurban joined, btyler left
lizmat FROGGS: was there a "use lib" inbetween ? 13:30
13:30 colomon joined
FROGGS lizmat: yes, right after the first 'use Test' 13:31
lizmat so this is what you expect? or not ? 13:32
FROGGS but it does: use lib 't/spec/packages' 13:34
13:34 MilkmanDan left, MilkmanDan joined, rurban left
lizmat I guess each CompUnitRepo keeps its own %INC equivalent ? 13:34
FROGGS that does not explain why nqp/install/... is picked up first
there is no %INC 13:35
lizmat ok
13:35 kurahaupo left 13:43 rurban joined
dalek osystem: 857211d | (Tobias Leich)++ | META.list:
use raw2.github.com for all entries
13:48
timotimo ouch, someone figured out how to exploit the TLS implementations used to do WPA2 and wired-WPA
tadzik oh :)
lizmat jnthn.net/papers/2013-bs-invoke-dynamic.pdf on hn! 13:49
FROGGS timotimo: is the a news article or blog?
sergot FROGGS: yea, I forgot about this.
FROGGS jnthn++
sergot: no problem
13:49 btyler joined 13:53 xenoterracide joined, SamuraiJack joined
lizmat m: <a b c>.list.perl.say 13:53
camelia rakudo-moar 851811: OUTPUT«("a", "b", "c").list␤»
lizmat m: <a b c>.list.Parcel.perl.say
camelia rakudo-moar 851811: OUTPUT«(ListIter.new(),)␤»
lizmat rakudobug?
timotimo www.slideshare.net/lgrangeia/heartbleed-35236317 13:54
13:57 treehug88 joined, treehug88 left 14:00 Pleiades` left
lizmat m: <a b c>.list.flat.Parcel.perl.say 14:02
camelia rakudo-moar 851811: OUTPUT«(ListIter.new(),)␤»
colomon It's making a Parcel of the list rather than of the objects in the list? 14:05
14:06 Pleiades` joined
lizmat no idea: it's caused by nqp::push($rpa, $!nextiter) if $!nextiter.defined; in List.Parcel 14:06
my quick fix of adding "self.gimme(*)" at the top, makes ... without end boundary match go eat the universe 14:07
14:14 muraiki joined
timotimo nom nom universe 14:14
btyler does anyone else see a segv when running get-w3-latin1-utf8.t in perl6-lwp-simple on head/head/head? disabling spesh resolves it for me, but I thought I'd check to make sure it isn't something in my setup before filing an issue against moar 14:20
timotimo oh no, not spesh! :( 14:21
maybe another place where we run into a low-level null instead of a VMNull object?
btyler I tried reducing the code in the test, but I couldn't get it to segv in any other combination (one test or the other, only doing one lwp GET, etc.) 14:22
FROGGS btyler: I only have that: gist.github.com/FROGGS/9228162347e3b4c03a18 14:24
14:26 thou joined
btyler FROGGS: ok, yep, same here. if it's already floating around I won't add to the reporting noise 14:27
FROGGS btyler: I just stopped to investigate because I wasn't able to geth further 14:28
so please continue if you have some ideas
14:30 thou left 14:31 atroxaper joined 14:33 logie_ left, rurban left 14:35 cibs left
dalek kudo/nom: 8e924c8 | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
What supported backends do we have utility method
14:35
kudo/nom: b4ddd8f | (Elizabeth Mattijsen)++ | src/core/ (5 files):
Prevent .pairs affecting (Set|Bag|Mix)(|Hash)

Unfortunately, you can still silently .value++ and .pairs.push. But at least they won't affect functioning or the mutability anymore.
kudo/nom: 65740af | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
$*PERL.backends better written as $*PERL.VMnames
lizmat cycling&
14:40 cibs joined 14:41 logie joined 14:44 bjz left 14:45 rurban joined
dalek kudo/eleven: 45542c4 | (Tobias Leich)++ | src/core/CompUnitRepo.pm:
properly sort and return candidate list
14:48
kudo/eleven: d6b0173 | (Tobias Leich)++ | src/core/CompUnitRepo/Local/File.pm:
do not include @*INC in every CUR::Local::File
14:51 anaeem1_ joined, prevost left
Util New RC: rosettacode.org/wiki/Move-to-front_...thm#Perl_6 14:52
14:52 anaeem1_ left 14:53 anaeem1 joined 14:54 anaeem1__ joined
FROGGS nice! 14:55
Util++
.tell lizmat eleven is spectest clean 14:56
yoleaux FROGGS: I'll pass your message to lizmat.
vendethiel lizmat: re github.com/rakudo/rakudo/commit/b4ddd8f14e, shouldn't that be // ?
dalek kudo/eleven: f8a2b50 | (Donald Hunter)++ | src/core/IO.pm:
Remove special case in cwd for parrot backend.
rakudo/eleven: 65c175e | (Donald Hunter)++ | src/core/IO.pm:
rakudo/eleven: Remove special case in IO::Handle.write for parrot backend.
14:56 dalek left 14:57 dalek joined, ChanServ sets mode: +v dalek
FROGGS vendethiel: does that make a difference for arrays? 14:57
vendethiel if they're empty ?
14:58 anaeem1 left
FROGGS m: my @a; say @a // 1 14:59
camelia rakudo-moar 851811: OUTPUT«␤»
FROGGS it would never run when she had used //=
15:00 bbkr_ joined, bbkr left
vendethiel oh, thought otherwise. 15:00
FROGGS++ 15:01
15:01 anaeem1_ joined 15:02 anaeem1__ left
FROGGS timotimo: that slide you shared almost makes wanting to hack our cisco stuff at work and then say: See! It's crap all the way down! 15:03
.tell jnthn does that seem sensible? gist.github.com/FROGGS/100079bd927d239e8ab2 I need it for binding to $*MAIN 15:08
yoleaux FROGGS: I'll pass your message to jnthn.
15:08 xenoterracide_ joined 15:10 bbkr_ left, denis_boyun_ left 15:11 xenoterracide left 15:15 anaeem1_ left 15:23 kaleem left
Ulti is there a way of statically importing some name space? so if I have BioInfo::Seq::DNA I can just get BioInfo::* symbols statically imported so I can just do Seq::DNA.new() ? 15:25
15:25 bluescreen10 joined
Ulti otherwise I might rethink my choice of root name :3 15:25
15:30 Alina-malina joined 15:37 zakharyas left 15:38 hoverboard joined 15:40 aboutGod joined, thou joined, xenoterracide__ joined 15:41 xenoterracide joined 15:42 xenoterracide_ left 15:43 colomon left 15:45 aboutGod left, liztormato joined, xenoterracide__ left
liztormato FROGGS: Great news! FROGGS++ 15:46
FROGGS liztormato: :o)
and I have a good feeling now about merging it btw 15:47
liztormato Will merge late tonight or tomorrow 15:48
First more cycling and then some 3D Edge Of Tomorrow ;-) 15:49
15:50 SamuraiJack left 15:53 atroxaper left
FROGGS :o) 15:56
liztormato: have fun!
16:00 donaldh left 16:03 SamuraiJack joined 16:05 hoverboard left, kaleem joined 16:07 kivutar_ joined, kivutar left 16:14 oetiker left 16:16 oetiker joined, liztormato left 16:17 hoverboard joined 16:21 bbkr joined 16:24 kivutar_ left 16:33 oetiker left 16:35 oetiker joined 16:37 dmol joined 16:41 oetiker left 16:42 telex left 16:44 telex joined 16:52 bbkr left 16:54 panchiniak joined
japhb Forgive me if my brain is addled, but I was looking at the block starting at github.com/rakudo/rakudo/blob/nom/...ly.pm#L641 , and it doesn't look right. It tests for &done.arity == 2, and then calls it with one argument if true, and 0 if false. Copy-pasta? 16:56
yoleaux 28 May 2014 01:03Z <Timbus> japhb: Hey take a look at my CommandHandler branch for net::IRC and tell me what you think. I think it's great and could be further explored. Maybe integrate it into ::Bot and have things like command renaming and conflict resolution between modules
16:56 oetiker joined
japhb .tell Timbus Ah, cool, I'll take a look! 16:57
yoleaux japhb: I'll pass your message to Timbus.
lizmat japhb: good catch 17:00
yoleaux 14:56Z <FROGGS> lizmat: eleven is spectest clean
FROGGS lizmat: and I found a bug in my PAUSE code :/ github.com/andk/pause/pull/120 17:01
I hope andk++ has time to apply that soonish
17:01 bbkr joined
lizmat indeed.. 17:01
that probably explains why NativeCall got CPAN Testers reports, no? 17:02
FROGGS lizmat: that is possible
still, the cpantesters perhaps smoke all recent uploads, whether these are indexed or not 17:03
17:03 dakkar left
timotimo cpantesters.org/distro/N/NativeCall.html - this? 17:05
FROGGS yes
17:06 grondilu joined
FROGGS I also uploaded Inline today and got an automatic mail that said that the Perl 5 indexing failed 17:06
timotimo oops
17:06 spider-mario joined
FROGGS :o) 17:06
and what I also realised: NativeCall can't be installed via panda anymore, because we changed its META.info to META6.json 17:07
grondilu r: 'class Foo { has $.x; multi method new() { self.new: x => "foo" } }; say my Foo $f .= new; 17:08
camelia rakudo-{parrot,jvm,moar} 851811: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/tmpfile:1␤------> w: x => "foo" } }; say my Foo $f .= new;⏏<EOL>␤ e…»
grondilu r: class Foo { has $.x; multi method new() { self.new: x => "foo" } }; say my Foo $f .= new;
dalek kudo/nom: 0b02810 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Fix copy-pasto, spotted by japhb++
camelia rakudo-moar 851811: OUTPUT«(timeout)»
..rakudo-jvm 851811: OUTPUT«java.lang.StackOverflowError␤ in method new at /tmp/tmpfile:1␤ in method new at /tmp/tmpfile:1␤ in method new at /tmp/tmpfile:1␤ in method new at /tmp/tmpfile:1␤ in method new at /tmp/tmpfile:1␤ in method new at /tmp/tmpfile:1␤ in metho…»
..rakudo-parrot 851811: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 140653 (src/gen/p-CORE.setting.pir:59790) (gen/parrot/CORE.setting:11508)␤called from Sub '' pc 20615 (src/gen/perl6-bootstrap.pir:6650) (gen/parrot/BOOTSTRAP.nqp:946)␤called fro…»
grondilu ?? 17:09
timotimo that should be an easy fix, though, right?
just make panda try META6.json before META.info
FROGGS timotimo: yes
also, that META6 has a slightly different/extended structure 17:10
timotimo oh
lizmat going to the Edge&
TimToady grondilu: why are you calling self.new rather than self.bless? 17:11
17:11 pecastro left, ssutch joined
grondilu TimToady: I've always done that. I thought that was recommended practive 17:12
FROGGS because recursion is like.... recursion?
TimToady well, and stuff... 17:13
FROGGS I like stuff :o)
17:13 kaleem left
TimToady it's the stuff that makes the stack overflow 17:13
masak there's too much of it
grondilu I don't understand why that recurses, anyway. 17:14
TimToady .new is a virtual call
17:14 denis_boyun_ joined
TimToady so it will naturally call itself again 17:14
masak grondilu: it's a method 'new' with a call 'self.new'. it recurses...
grondilu: if it helps, think of it as a method 'foo' with a call 'self.foo' 17:15
grondilu well, I've been doing that many times on RC. It used to work fine.
TimToady if you're trying to call the default constructor, that's not now
*how
masak grondilu: no, it didn't. you're imagining it having worked fine.
17:15 ssutch left
masak grondilu: or you're confusing positional parameters with named ones. 17:16
grondilu oh
FROGGS .oO( no, it didn't. *jedimove* )
masak no need to jedimove. I'm not trying to trick grondilu, I'm trying to tell him about facts ;)
grondilu r: class Foo { has $.x; multi method new($) { self.new: :x<foo> } }; say my Foo $f .= new: "stuff"; 17:18
camelia rakudo-{parrot,jvm,moar} 851811: OUTPUT«Foo.new(x => "foo")␤»
grondilu I see
TimToady yes, that one will work okay
grondilu r: class Foo { has $.x; multi method new($?) { self.new: :x<foo> } }; say my Foo $f .= new: "stuff";
FROGGS grondilu: every method has an implicit *%_
camelia rakudo-moar 851811: OUTPUT«(timeout)»
..rakudo-jvm 851811: OUTPUT«java.lang.StackOverflowError␤␤»
..rakudo-parrot 851811: OUTPUT«maximum recursion depth exceeded␤current instr.: 'print_exception' pc 140653 (src/gen/p-CORE.setting.pir:59790) (gen/parrot/CORE.setting:11508)␤called from Sub '' pc 20615 (src/gen/perl6-bootstrap.pir:6650) (gen/parrot/BOOTSTRAP.nqp:946)␤called fro…»
grondilu ok
so it won't work if my positional arg is optional 17:19
that explains the error I had and tried to golf here
TimToady what you want is nextwith, I tink
*h
17:19 colomon joined
PerlJam
.oO( tinker! )
17:19
grondilu r: class Foo { has $.x; multi method new($?) { nextwith :x<foo> } }; say my Foo $f .= new: "stuff";
camelia rakudo-moar 851811: OUTPUT«Not enough positional parameters passed; got 1 but expected at least 2␤ in method new at src/gen/m-CORE.setting:851␤ in any call_with_args at src/gen/m-Metamodel.nqp:3005␤ in block at src/gen/m-CORE.setting:646␤ in method new at /tmp/tmpfile:1…» 17:20
..rakudo-jvm 851811: OUTPUT«Not enough positional parameters passed; got 1 but expected at least 2␤ in method new at gen/jvm/CORE.setting:851␤ in any call_with_args at gen/jvm/Metamodel.nqp:2994␤ in block at gen/jvm/CORE.setting:646␤ in method new at /tmp/tmpfile:1␤ in…»
..rakudo-parrot 851811: OUTPUT«Not enough positional parameters passed; got 1 but expected at least 2␤ in method new at gen/parrot/CORE.setting:847␤ in any call_with_args at gen/parrot/Metamodel.nqp:3080␤ in block at gen/parrot/CORE.setting:647␤ in method new at /tmp/tmpf…»
TimToady probably have to pass self along
though that's arguable 17:21
FROGGS could also be paramuable depending on the viewpoint
grondilu self.nextwith does not work 17:22
I guess I should just use bless
TimToady m: class Foo { has $.x; multi method new($?) { nextwith self, :x<foo> } }; say my Foo $f .= new: "stuff";
camelia rakudo-moar 851811: OUTPUT«Default constructor for 'Foo' only takes named arguments␤ in method new at src/gen/m-CORE.setting:852␤ in any call_with_args at src/gen/m-Metamodel.nqp:3005␤ in block at src/gen/m-CORE.setting:646␤ in method new at /tmp/i_EayEOcDj:1␤ in met…»
TimToady heh
I guess nextwith is doing self okay, but not the params 17:23
17:23 denis_boyun_ left
TimToady m: class Foo { has $.x; multi method new($?) { nextwith (:x<foo>) } }; say my Foo $f .= new: "stuff"; 17:24
camelia rakudo-moar 851811: OUTPUT«Default constructor for 'Foo' only takes named arguments␤ in method new at src/gen/m-CORE.setting:852␤ in any call_with_args at src/gen/m-Metamodel.nqp:3005␤ in block at src/gen/m-CORE.setting:646␤ in method new at /tmp/hM7BxV1QO7:1␤ in met…»
TimToady n: class Foo { has $.x; multi method new($?) { nextwith :x<foo> } }; say my Foo $f .= new: "stuff" 17:25
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $f is declared but not used at /tmp/d35yLG9LzO line 1:␤------> ($?) { nextwith :x<foo> } }; say my Foo ⏏$f .= new: "stuff"␤␤Unhandled exception: Illegal control operator: nextsame/nextwith␤ at …»
17:26 cogno joined, cogno is now known as Guest55664
TimToady n: class Foo { has $.x; method new($?) { nextwith :x<foo> } }; say my Foo $f .= new: "stuff" 17:27
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ $f is declared but not used at /tmp/G_CUfKaCqq line 1:␤------> ($?) { nextwith :x<foo> } }; say my Foo ⏏$f .= new: "stuff"␤␤Foo.new(...)␤»
TimToady m: class Foo { has $.x; method new($?) { nextwith :x<foo> } }; say my Foo $f .= new: "stuff"
camelia rakudo-moar 851811: OUTPUT«Foo.new(x => "foo")␤»
TimToady don't declare it multi
m: class Foo { has $.x; multi method new($?) { lastcall; nextwith :x<foo> } }; say my Foo $f .= new: "stuff"
camelia rakudo-moar 851811: OUTPUT«(Foo)␤»
TimToady that oughta shut down the multi's next chain and pick the method dispatcher's next chain instead, but seems buggy 17:28
m: class Foo { has $.x; multi method new($?) { lastcall; nextwith :x<foo> }; multi method new($,$,$) {...} }; say my Foo $f .= new: "stuff" 17:31
camelia rakudo-moar 851811: OUTPUT«(Foo)␤»
TimToady lastcall seems to be overreaching and terminating all dispatchers, not just the multi 17:32
17:32 Guest55664 left
TimToady n: class Foo { has $.x; multi method new($?) { lastcall; nextwith :x<foo> }; multi method new($,$,$) {...} }; say my Foo $f .= new: "stuff" 17:32
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'lastcall' used at line 1␤␤Potential difficulties:␤ $f is declared but not used at /tmp/dWZTND2JOO line 1:␤------> i method new($,$,$) {...} }; say my Foo ⏏$f .= new:…» 17:33
TimToady I guess lastcall was fairly recent
m: class Foo { has $.x; proto method new(|) { {*}; say "HERE" }; multi method new($?) { lastcall; nextwith :x<foo> }; multi method new($,$,$) {...} }; say my Foo $f .= new: "stuff" 17:34
camelia rakudo-moar 851811: OUTPUT«HERE␤Type check failed in assignment to '$f'; expected 'Foo' but got 'Bool'␤ in method dispatch:<.=> at src/gen/m-CORE.setting:1225␤ in block at /tmp/GiFIerUXyQ:1␤␤» 17:35
TimToady m: class Foo { has $.x; proto method new(|) { {*}; LEAVE say "HERE" }; multi method new($?) { lastcall; nextwith :x<foo> }; multi method new($,$,$) {...} }; say my Foo $f .= new: "stuff"
camelia rakudo-moar 851811: OUTPUT«HERE␤(Foo)␤»
TimToady not clear where the bug is 17:36
FROGGS TimToady: btw, are you considering implementing NFG?
TimToady well, and write a book, and write talks, and keep up with irc, and implement S09, and... 17:37
FROGGS I know *g*
thing is... I'm not capable of doing it 17:39
and everybody else is also more than busy :/
17:39 Rotwang left
TimToady oh, and pmichaud's iterator refactor, and diakopter's P5 interop, while I'm at it... 17:39
FROGGS seriously, I have no hope that P5 interop will be a thing 17:40
17:41 virtualsue left 17:42 guru joined 17:43 kurahaupo joined, anaeem1 joined, guru is now known as Guest76655, Guest76655 is now known as ajr_
japhb diakopter is hors de combat? 17:44
17:45 bbkr left, bbkr joined
[Coke] japhb: ? 17:48
FROGGS I just guess that the negative reactions to the grant were the straw that broke the camel's back
[Coke] I was just thinking of asking what happened to him.
17:50 bbkr left 17:55 bbkr joined
masak FROGGS: negative reactions to the grant...? 17:55
FROGGS yes....? 17:56
japhb [Coke]: I was just asking if he was out of the fight for some reason. 17:57
masak FROGGS: what negative reactions are you referring to? 17:58
I must've missed those.
FROGGS masak: okay, it is perhaps just one guy here: news.perlfoundation.org/2013/07/hag...ation.html
seems like I misremember
japhb is just guessing that life intervened 18:00
18:02 bbkr left, Pleiades` left, bbkr joined 18:04 bbkr_ joined, bbkr left
TimToady the itch to start a startup occurred 18:05
btyler fwiw, the major negative voice in that grant thread seems to be a fairly dedicated p6 troll: www.reddit.com/user/carlosdelrey. doesn't seem to be worth worrying about too much 18:06
TimToady really has nothing to do with that
last I knew, diakopter++ was looking for potential subcontractors for the grant, but the list of people who can actually do the work is rather short 18:07
18:07 Pleiades` joined
TimToady it pretty much has to be someone who has already been driven insane by P5 internals 18:08
japhb The world needs more "Just come here and be awesome" job listings, so we can give full-time compensation to Perl 6 hackers. :-)
18:08 hoverboard left
japhb TimToady: Is Nicholas considered insane yet? 18:09
TimToady certainly, but I believe he's already turned down the gig :)
so perhaps he's recovering some of his sanity 18:10
Ulti yeah those reddit accounts that just spring up to take down Perl6... not sure they are more than the same person every time
not many people have a reason to care or spread FUD
TimToady most people are still in the ignoring or laughing stage... 18:11
Ulti or ignoring since they last tried Rakudo in 2011 :(
japhb wonders where "you pique their interest" falls in the classic stages 18:12
Perhaps right before "you win"
TimToady well, you don't really get to "you win" until it becomes a "well, duh, that's a nobrainer, even my boss knows that..." 18:13
btyler chatted with a new dev at $work (PHP/python shop) who did perl at a previous gig. I mentioned the 5.20 release and he said "yeah, it's cool, but mostly I'm really looking forward to p6".
TimToady it's that little crossing-the-chasm thing 18:14
japhb TimToady: Simple, nothing to it. Just walk on air.
FROGGS ahh good
diakopter++ # startup
tadzik at my place I sometimes hear "so this is what we're using, I'll rather write that in P6 though" :)
TimToady japhb: unfortunately, all my job reviews have been "walks on water, needs to learn to walk on air"
PerlJam btyler: did you tell him to try rakudo? :) 18:15
btyler PerlJam: I mentioned that you could already use it, and then we had to get to real work :) I'll probably bring it up again soonish though
18:16 virtualsue joined
PerlJam btyler: I have a project at work to turn some fortran code into java and I *almost* used rakudo to do it. If I didn't have the requirement to give the code to a third party, I would have. 18:17
TimToady what's the matter with giving Perl 6 to a third party? :P 18:18
18:18 [particle] joined
PerlJam maybe next time :) 18:20
18:20 itz joined
[Coke] (insane, p5) so, nwc10++, then. 18:28
dalek rl6-roast-data: 73cb201 | coke++ | / (6 files):
today (automated commit)
18:29
18:31 xenoterracide left 18:44 xenoterracide joined 18:46 pmurias left 18:49 xenoterracide_ joined, xenoterracide left
rjbs TimToady: Is MAD still something you folks plan to make use of? 18:55
dalek kudo/eleven: 0b02810 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Fix copy-pasto, spotted by japhb++
kudo/eleven: c7a6fd0 | (Tobias Leich)++ | src/core/Supply.pm:
Merge branch 'nom' of github.com:rakudo/rakudo into eleven
[Coke] rjbs: I assume you don't mean the dark side. 18:56
rjbs I don't understand.
18:57 xenoterracide_ left
[Coke] rjbs: what is MAD? 18:57
rjbs MAD is misc. attribute decoration, a build option that was added to perl5 for a hypothetical 5-to-6 translations ystem.
translation system
18:58 xenoterracide_ joined
TimToady well, we actually did use it for that a few years ago, when someone did a GSoC translator (written in Haskell, though) 19:00
but it has bit-rotted and design-rotted since then
19:00 Sqirrel joined
[Coke] do froggs or diakopter's work depend on it existing? 19:01
TimToady it's still the "right" way to do a translation, since it untangles all the lies that P5 tells itself as it's parsing
but I don't see a champion for it champing at the bit
rjbs I did not realize there had been a GSoC translator!
FROGGS [Coke]: no, don't think so
TimToady lizmat: I don't think .e should return failure, since the whole point is to test for existence
19:02 grondilu left
rjbs Porters have asked from time to time about whether MAD can be removed, and left in a branch to be restored if someone needs it. Although perl5 still builds with MAD, it is, as you say, pretty behind the times. 19:02
TimToady it's also not clear the performance ramifications of testing junctions of potential failures 19:03
arguably, since junctions always reduce in boolean context, we should just throw away the failures and install False, which sort of subverts the failure model 19:04
[Coke] rjbs: is it at least marked experimental?
TimToady can see where attempting to track P5 insanity with MAD insanity is not something people will willingly continue to maintain :) 19:05
and the languages have diverged sufficiently that pretty much all translators are going to fall into the "toy" category, so I have no objectsions to removing it, I guess 19:06
19:06 xenoterracide_ left
TimToady *tions 19:06
TimToady thinks the P5 interop is much more important from a practical perspective of allowing migration of large codebases 19:07
despite having a linguistic fondness for translators 19:08
moritz TimToady: how fond are you of doing file tests with ~~ :e etc? 19:09
TimToady I'm quite fond of being able to use junctions of those
[Coke] (exp) so if you do rip it out, no support issues.
TimToady which methods don't allow
moritz TimToady: well, you can do that with .r & .w
rjbs [Coke]: It's only available with a ./Configure-time switch that almost nobody knows about.
TimToady: I like translators, too, but if this won't actually lead to one, I'll take lower maintenance costs. :) 19:10
TimToady: I'll wait a little bit in case of change of heart before I give anybody the go-ahead. ;)
19:11 bbkr_ left 19:12 SamuraiJack left
PerlJam
.oO( later ... <rjbs> I'm thinking about the 5.24 release and people keep asking if we need to support MAD )
19:12
TimToady moritz: the .r form is defective insofar as it only works with a current lexical scope, so *.r is the better form to promulgate since it works with grep, but that is also probably more overhead than pair matching
moritz TimToady: $thing.io ~~ .r & .w
rurban_ Very nice. We can finally get rid of -Dmad=y madness
moritz TimToady: the ~~ provides the scoping, just as with ~~ :r & :w 19:13
TimToady moritz: I'm saying that teaching people that will lead them to expect grep .r, @list to work
19:13 darutoko left, kaare_ left
masak <japhb> The world needs more "Just come here and be awesome" job listings, so we can give full-time compensation to Perl 6 hackers. :-) 19:14
...we're hiring ;) 19:15
19:15 xenoterracide__ joined
moritz TimToady: hm, good point 19:15
19:17 xusia left 19:25 xusia joined 19:30 zakharyas joined 19:35 bjz joined 19:41 bjz left
itz Invalid open mode: 92269408 19:42
in method postcircumfix:<( )> at /home/steve/sandbox/p6-Inline-C/.work/1401392255_1/lib/Inline/C.pm:26
in block at t/c.t:18
19:44 dwarring joined 19:45 kivutar joined 19:48 cooper joined, cooper left, cooper joined
lizmat is back from the Edge 19:51
TimToady: .e is the only one that doesn't return :q 19:52
oops, failure :-)
FROGGS lizmat: if it is fine for you I'd merge eleven (squishing it with a nice commit msg) 19:54
lizmat m: "foobar".IO.e.say' 19:55
camelia rakudo-moar 851811: OUTPUT«===SORRY!=== Error while compiling /tmp/uxboWPoceW␤Two terms in a row␤at /tmp/uxboWPoceW:1␤------> "foobar".IO.e.say⏏'␤ expecting any of:␤ method arguments␤ postfix␤ infix stopper…»
lizmat m: "foobar".IO.e.say
camelia rakudo-moar 851811: OUTPUT«False␤»
lizmat m: "foobar".IO.z.say
camelia rakudo-moar 851811: OUTPUT«===SORRY!===␤Failed to find 'foobar' while trying to do '.z'␤»
19:55 rindolf left
FROGGS itz: that seems like Inline::C is trying to do nqp::open(..., 'wp') which only seems to work on parrot 19:59
itz: we need to use openpipe on moar and jvm I think
itz ah
FROGGS itz: that Inline::C uses nqp ops at that place was a workaround... maybe we can even now use Perl 6's open() sub 20:00
20:02 denis_boyun joined
FROGGS ahh, yeah: github.com/FROGGS/p6-Inline-C/comm...0d67afa223 20:03
dalek Heuristic branch merge: pushed 49 commits to rakudo/nom by lizmat 20:07
itz hmm it still thinks gcc is in the cwd
FROGGS itz: :/ 20:09
20:17 erdic joined 20:18 denis_boyun left
lizmat m: use Test:auth<FooBar>; ok 1 # just checking 20:30
camelia rakudo-moar 851811: OUTPUT«ok 1 - ␤»
20:32 kivutar left
colomon lizmat: 49 commits?! 20:32
vendethiel colomon: branch merge!
colomon what branch? 20:33
FROGGS eleven
colomon it's live now?
FROGGS yes
vendethiel yay :-)
colomon \o/ 20:34
lizmat++ FROGGS++
FROGGS though it needs panda adjustments (branch merge) to make use of the new features
dalek kudo/nom: 90cd584 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
Mention S11 landing
lizmat is too inebriated now to really start writing more tests 20:35
20:35 denis_boyun_ joined
lizmat (they ran out of Baileys at the cinema, we got 1.5 as much Johnny Walker instead) 20:36
FROGGS damn, the CPAN P6 indexer is not running and I don't see why :( 20:37
colomon wait, does this mean you two are doing your best to make me a CPAN author?
FROGGS colomon: you are not already O.o ? 20:38
masak me neither.
colomon not to the best of my knowledge
masak well, I'm on PAUSE, but I don't have a CPAN module up there.
masak really should
FROGGS masak: your first one could be a P6 one if you wait a little bit longer :o) 20:39
lizmat colomon: yes, that would be the idea
:-)
masak FROGGS: good to know :)
colomon :)
masak yes, we should move from modules.perl6.org to CPAN.
FROGGS it is meant to work already, but I don't see why it does not 20:40
masak: note that there is no website yet to search for things uploaded via PAUSE
20:40 denis_boyun_ left
colomon FROGGS: pre-p6, my open source contributions were few and far between, and pretty random. I think probably most of them were to an old ABC program that wouldn't do all I needed it to. ;) 20:40
FROGGS we just use PAUSE/CPAN for uploads, storage and indexing (and fetching of course) 20:41
lizmat there's S22 that needs scrutiny and implementation
after this
S22:01 for those people who want to read that :-) 20:44
synopsebot Link: perlcabal.org/syn/S22.html#line_01
20:45 kivutar joined 20:46 denis_boyun_ joined 20:47 zakharyas1 joined
lue It's really weird to see the P6 version string called "perl" instead of "perl6" :) 20:48
lizmat lue: and how did you get that version string?
20:48 prevost joined
FROGGS lue: this makes it easier, because for Perl 5 it is also called 'perl' 20:48
so that attribute is not absent 20:49
vendethiel
.oO( don't get a burn out of open source contributions )
lue I'm looking at META6.json, so I'm not sure P5-compatibility is much of an issue there :P
I'm fine with it, it's only weird because I don't think of this as "Perl, version 6", but as "Perl 6, v6.0.0". Kinda like OS X, actually. 20:50
colomon FROGGS: but I got frustrated waiting for the awesome of p6, and thereby sucked into being a contributor. :)
lue So seeing anything refer to Perl 6 as "perl" feels wrong, but that's just me. :) 20:51
20:51 zakharyas1 left
FROGGS colomon: but it is there now, and fast enough to enjoy it :o) 20:52
lue: on cpan you get a Distribution-Name-v123.meta in the author's directory
vendethiel lue: just wait 20years !
FROGGS lue: and this one can be queried to distinguish P5 and P6 20:53
vendethiel
.oO( oh, I thought in 15 years people would refer to perl as "scala" ... )
colomon FROGGS: and I am! my default ABC program is the stuff in the ABC module, my default MP3 tag examiner / editor is based on Audio::Taglib::Simple, etc.
20:53 itz left
lue FROGGS: I still don't see how that relates to the very Perl 6 META6.json 20:54
vendethiel m: use self
camelia rakudo-moar 851811: OUTPUT«===SORRY!===␤Could not find self in any of: /home/p6eval/.perl6/2014.05-25-g8518112/lib, /home/p6eval/rakudo-inst-1/languages/perl6/site/lib, /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-1/languages/perl6/lib␤»
vendethiel m: import this #let's try this then :-)
camelia rakudo-moar 851811: OUTPUT«===SORRY!=== Error while compiling /tmp/vFhIAUXEsU␤Could not find module this to import symbols from␤at /tmp/vFhIAUXEsU:1␤------> import this #let's try this then :-)⏏<EOL>␤ expecting any of:␤ stat…»
FROGGS lue: that META6.json is extracted from the tarball and is put into your authors directory under the name I mentioned 20:55
lue But again, I'm not upset over it, just commenting on the fact that I find it suuuper-weird to call Perl 6 "Perl", without the 6 :)
FROGGS so you have a bunch of tarballs in you diretory, and a bunch of *.meta
lue Ah, I see.
FROGGS and to know whether it makes sense to download the tarball the installer tool can slurp the *.meta 20:56
(the installer tool can also be a website, that wants to display information of the dist)
colomon FROGGS: … my TuneReminder software to help me figure out what music to practice ... 20:58
FROGGS colomon: is that released already?
lizmat is fading and goes to bed&
lue lizmat o/ 20:59
colomon FROGGS: It's up on github but not in the ecosystem, because it's very specialized.
segomos jnthn: your talks are great dude
FROGGS gnight lizmat
colomon lizmat, o/
FROGGS: github.com/colomon/TuneReminder
FROGGS colomon: I have no music talent, so no hurry from my side :o) 21:00
lue
.oO( "perl" : "v6.0.0",\n"perl6" : "v6.0.0" )
colomon FROGGS: I feel weird about the idea of adding special-purpose, intended mostly for myself stuff to the ecosystem
FROGGS colomon: you never know what grows out of that when ppl see it and fork+improve it (or just request features) 21:01
colomon FROGGS: maybe I need to create a colomon:: namespace. ;)
FROGGS hehe 21:02
muraiki colomon: that's a cool piece of software you've made. it's nice to see practical software written in perl 6. I'll have to give it a try 21:07
colomon muraiki: thanks. I did a blog post on it earlier this month: justrakudoit.wordpress.com/2014/05/...-reminder/ 21:09
21:09 zakharyas left
muraiki nice 21:10
colomon muraiki: it's really dead simple at the moment, but I'm using it almost every day. (Have a copy running right now, as a matter of fact. My son is happy playing with his Legos at the moment, so I'm sneaking in a little practice.)
muraiki what instrument(s) do you play? 21:11
colomon muraiki: I'm using this to practice on whistle and simple system (keyless) flute. 21:12
muraiki: I play bassoon too, and a bit of button accordion and piano.
muraiki nice. I learned a few ITM songs on whistle. unfortunately I have a problem with my neck so I can't play transverse flutes, so I play shakuhachi instead. 21:13
bassoon, nice! I play tenor sax as my "lots of buttons" instrument
colomon muraiki: If I were going to learn a sax, I think it would be tenor. I used to dream about someday getting a C tenor, just because... 21:15
muraiki ah yeah, the C melody saxes are neat, but I like the tone of the Bb tenor. I started off on alto, but eventually found it too high for my tastes. 21:17
oh wait, do they make C tenors?
21:17 denis_boyun_ left
colomon muraiki: yeah, I've got a bunch of ITM tunes, but with the Newfoundland trip coming up this summer I'm focusing on those. Especially since I've only managed to get in maybe an hour a year (average) of sessioning with Newfoundland musicians since our last trip in 2006, being ready to play is taking some work. :) 21:18
muraiki: I think whoever told me about C melody sax called it a tenor.
en.wikipedia.org/wiki/C_melody_saxophone # wikipedia agrees. :)
muraiki heh, where I live there's not really any sessions going on. there is one guy who teaches uilleann pipes though, and I'd really like to get one of those... if only they weren't so expensive -- and loud, as I live in an apartment 21:20
21:21 spider-mario left
colomon We have weekly (mostly ITM and shanty) sessions the next town over, and every other week sessions here in Midland. 21:24
muraiki: www.bensonandcorneliuspipes.com/home -- Steph is a very good friend. Still awfully expensive, though, even for a starter set. 21:26
21:26 skids left
muraiki wow, those sound great 21:29
21:29 hoverboard joined
colomon muraiki: they're very serious about making them, and Steph is applying her mechnical engineering know-how to the process. :) 21:30
afk # got to play Clue Jr. before dinner. 21:33
muraiki haha, have fun :) now I have to save up my pennies for a few decades 21:34
21:38 bjz_ joined 21:43 bjz_ left 21:47 bluescreen100 joined 21:49 bluescreen10 left 22:01 pippo left 22:02 rurban left 22:03 bluescreen100 left 22:13 cognominal left 22:14 ajr_ left 22:20 vike left 22:21 hoverboard is now known as moistcherry 22:22 xenoterracide__ left
timotimo i've got too many instruments and am capable of playing far too few 22:22
and now i'm also interested in getting another >_<
jnthn has none, but if he was gonna get one right now, he'd want a hang. :) 22:24
yoleaux 15:08Z <FROGGS> jnthn: does that seem sensible? gist.github.com/FROGGS/100079bd927d239e8ab2 I need it for binding to $*MAIN
jnthn .tell FROGGS It looks weird. Not least becuase you've got a QAST::VarWithFallback - and dn't actually specify a fallback! 22:25
yoleaux jnthn: I'll pass your message to FROGGS.
jnthn .tell FROGGS I guess the fallback should be to complain about the dynvar not existing...
yoleaux jnthn: I'll pass your message to FROGGS.
22:26 kivutar left
timotimo jnthn: these are beautiful 22:27
22:28 virtualsue left 22:33 rurban joined 22:38 rurban left 22:41 cognominal joined 22:45 vike joined, skids joined 22:46 cognominal left 22:48 cognominal joined 23:30 moistcherry is now known as hoverboard, cognominal left 23:36 rurban joined 23:41 rurban left, rurban joined 23:43 SevenWolf joined 23:48 btyler left, jack_rabbit joined 23:55 dmol left