»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
diakopter nom: my $i; for 1..1000000 { $i++ } 00:01
p6eval nom af0d2e: OUTPUT«(timeout)» 00:02
colomon perl6: "foobar".subst(/o/, "e", :g).say
p6eval rakudo af0d2e, niecza v10-34-gb08643d: OUTPUT«feebar␤» 00:02
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped b…
soh_cah_toa isn't there a character class or rule for spaces? i thought it was <space> and \s doesn't work anymore 00:04
colomon pretty sure \s still works fine 00:09
and the class is <ws>, maybe?
soh_cah_toa it doesn't seem to work in the replace string of a substitution
colomon "replace string" 00:10
?
benabik You can't replace with "generic whitespace"
soh_cah_toa replacement
soh_cah_toa i can't add space to a string? 00:10
benabik s/blah/\s/ ?
colomon you can't add a character class to a string!
benabik You can, but you have to specify _what_ whitespace to add.
soh_cah_toa oh, right
benabik s/blah/ /
soh_cah_toa yeah, didn't think about that 00:11
using \x20 is fine though which makes sense
colomon nom: say "this is a test".subst(/<ws>/, 'X', :g)
p6eval nom af0d2e: OUTPUT«XthisXXisXXaXXtestX␤»
colomon !!!!
soh_cah_toa that's odd that it placed X at the start and end of the string 00:12
benabik ?
colomon niecza:
[8:11pm] p6eval: nom af0
niecza: say "this is a test".subst(/<ws>/, 'X', :g)
p6eval niecza v10-34-gb08643d: OUTPUT«thisXisXaXtest␤»
colomon nom bug, I think
benabik nom: say "this is a test".subst(/\s/, 'X', :g)
p6eval nom af0d2e: OUTPUT«thisXisXaXtest␤»
benabik I wonder if it's a differing definition of <ws>
colomon b: say "this is a test".subst(/<ws>/, 'X', :g) 00:13
p6eval b 1b7dd1: OUTPUT«XthisXXisXXaXXtestX␤»
colomon seems like, but how odd 00:14
benabik ws is... <!ww> [ \s+ | <.unv> ]* 00:16
So it is a zero width match at the edge of words?
colomon that seems.... bad 00:17
benabik Maybe it's related to nom not doing LTM
S11001001 moritz: I have a little nitpick for the perl6.org front page: "Using Perl 6" is not open source. 01:18
dalek osystem: be84f95 | soh_cah_toa++ | spec.pod:
Fixed several grammar errors in spec.pod.
01:36
osystem: e0167e0 | soh_cah_toa++ | spec.pod:
Added an example META.info file to spec.pod. Also added 'author' field to 'Optional Fields' section.
osystem: ff14d24 | soh_cah_toa++ | META.list:
Added Test::Builder to list. Also updated URL for Digest::SHA256 since I renamed the repo name.
snarkyboojum I guess S11001001 was referring to the non-free fonts? You can always use different fonts. 02:28
sorear colomon: what nom is doing seems to be more correct than what niecza is doing. 02:39
colomon: what niecza is doing = subst ignores zero-length matches 02:40
colomon: I guess there are three choices here. Ignore zero-length matches alltogether (niecza), use exactly one zero-length match (nom), use arbitrarily many (infinite loop)
colomon: I suspect I was thinking of the zero-infinity rule when I set niecza's behavior 02:41
benabik: it's not related at all to ltm
benabik: <ws> is supposed to match zero width at the edge of words
niecza: say ?("a+b" ~~ /a <.ws> '+' <.ws> b/) 02:42
p6eval niecza v10-34-gb08643d: OUTPUT«Bool::True␤»
sorear that is ws' design function
it is designed to DWIM "optional whitespace" in grammars
soh_cah_toa: if you want to match one space of any kind, use \s. If you want to match a positive number of spaces, use \s+. 02:43
soh_cah_toa: <.ws> is mostly for parsing programming languages
soh_cah_toa sorear: right. i was trying to use that to add a space in the replacement string of a substitution which, obviously, makes no sense ;) 02:44
sorear soh_cah_toa: I'd like to know what you were thinking at the tiem.
soh_cah_toa sorear: something like "foobar" ~~ s/oo/oo \s/ 02:45
sorear you can just use s/oo/oo /
you don't even need \x20
soh_cah_toa sorear: well, not without :ss, right? 02:46
or does :ss not default for substitutions?
sorear soh_cah_toa: huh? :ss has nothing to do with this
soh_cah_toa sorear: adding space in a regex doesn't add a literal space unless sigspace is used 02:46
sorear soh_cah_toa: s/(this is a regex)/(this is a literal string)/ 02:47
soh_cah_toa sorear: ah, i see
sorear soh_cah_toa: write s[regex] = 'literal string' if it makes you feel better
regexes are only used for matching, not constructing replacements
soh_cah_toa oh yeah, i forgot about that new syntax
sorear: has regexes always been like that? in p5 too? i can't believe i've never realized until now 02:48
wow, that's a total noob mistake :\ 02:49
sorear soh_cah_toa: yes, the right side of s/// has never been a regex
in Perl 5 it's essentially a double quoted string
soh_cah_toa i guess i never knew that b/c p5 tends to blur the lines between strings and regexes
sorear Perl 5 even makes it more confusing because you have to write s/(\d)\1/$1/ 02:50
on the left side, a backreference is \1, on the right it's $1
soh_cah_toa yeah 02:52
Tene sorear: you can use $1 in regex for backreference. 02:53
at least, I've done it often, and it seems to work in tests. perlre says you should use \1 though. 02:54
quester_ perl6: say "X" x 22 06:07
p6eval pugs, rakudo af0d2e, niecza v10-34-gb08643d: OUTPUT«XXXXXXXXXXXXXXXXXXXXXX␤»
quester_ perl6: say "X" x 22.0
p6eval rakudo af0d2e: OUTPUT«(timeout)» 06:08
..pugs, niecza v10-34-gb08643d: OUTPUT«XXXXXXXXXXXXXXXXXXXXXX␤»
quester_ Rakudo bug? FWIW, I found this while tracking down why the first example in Chapter 3 of Using Perl 6 no longer works; it hangs up at the line printf $format, .key, 'X' x ($unit * .value); apparently due to $unit being a Rat 06:12
snarkyboojum quester_: looks like it - shouldn't give a 'maximum recursion depth exceeded' imho 06:13
sorear odd bug
snarkyboojum b: say "X" x 22.0 06:14
p6eval b 1b7dd1: OUTPUT«XXXXXXXXXXXXXXXXXXXXXX␤»
snarkyboojum used to work
nomgression :)
quester_ Yes, that's what it looks like. Changing it to "X" x 22.0.Int is a workaround. 06:18
snarkyboojum quester_: log it! 06:37
snarkyboojum I wonder if it has anything to do wit 'multi infix:<x>($s, $n) { $s.Stringy x $n.Numeric }' 06:42
with*
grondilu failed compiling rakudo: pastebin.com/fQ9W6e36 06:45
:( 06:46
sorear snarkyboojum: seems very likely 06:49
sorear grondilu: Try again. 06:49
quester_ snarkyboojum: Yes, it does. I changed it to ... $n.Int and recompiled and "X" x 22.0 now works. Um, how would I "log it"...?
snarkyboojum I think just email [email@hidden.address] 06:50
grondilu sorear: after a pull?
sorear grondilu:
no
maybe try updating gcc
quester_ snarkyboojum: Ah, so. Thank you.
grondilu oh
sorear the error you have indicates a gcc bug, hardware failure, (or possibly OS problem) 06:51
compiler crashes are never the fault of your code
grondilu my gcc is 4:4.6.1-2 and the most recent available in my Debian repo is 4:4.6.1-3. I doubt that's worth updating, is it? 06:52
sorear check the changelog
grondilu ok, I'll do that 06:53
sorear also you should try the build again 06:54
if it fails twice in the same place, it's not a hardware problem 06:55
snarkyboojum can I ask a dumb question - what are all these Str:D types in core rakudo and EnumMap:D: etc? 06:56
sorear defined
snarkyboojum in method signatures etc
oic
sorear it's kind of like Str $x where *.defined
mberends grondilu: have you tried 'make install' instead of 'make install-dev' ?
snarkyboojum dang - when did that happen - does it check for definedness or something? 06:57
nice
sorear but much faster and semantically lower level
snarkyboojum v. cool
grondilu mberends: no
sorear waits for grondilu's result on "just try it again, same way" 06:58
grondilu the compiling actually fails before the make, at the configure. I have no idea why it does compile suffs at this stage, btw.
sorear grondilu: configuring Rakudo will download and compile Parrot automatically 06:59
grondilu ~ /j perl 07:07
oops
mberends grondilu: to eliminate some possible problems, try cloning Rakudo again into separate directory and try perl Configure.pl --gen-parrot there. 07:08
grondilu instead, isn't there a "make clean" command or something? 07:10
grondilu is quite low on disk and doesn't want to waste space
TiMBuS git clean 07:11
(dont do this)
actually, since you seem to be doing that from scratch 07:12
git clean is probably a good idea 07:13
snarkyboojum grondilu: you can always do a rm -rf parrot/; make clean; perl Configure.pl --gen-parrot; make install or similar
TiMBuS you can do thae above, or do git clean -fdx which resets the entire tree to a clena git clone 07:14
grondilu snarkyboojum: there is no makefile in my directory :-/
TiMBuS hence
grondilu will just do a git clean 07:15
mberends grondilu: git clean -dfx
grondilu will just do a git clean -dfx
well, that was fast. It just removed nqp/ and parrot/ 07:16
snarkyboojum there won't be a Makefile till you've run Configure.pl
mberends grondilu: there is a chance that some of your memory may be intermittently unreliable, thus causing corruptions to you C compiler. Those faults can appear randomly, depending on what else was already occupying RAM. 07:17
snarkyboojum could also be solar flares :)
grondilu mberends: I tried to compile twice, as suggested above. Failed twice. 07:18
TiMBuS the angry arm of the sun reaches out and touches your ram. 07:19
TiMBuS well if a git clean fails, something is pretty wrong 07:19
sorear I thought that solar flares didn't result in particles of sufficiently high energy to penetrate magnetosphere, atmosphere, and roof
mberends considers getting a tinfoil hat 07:20
sorear (they can cause serious damage to satellites and power lines though)
my head is already shielded by >1cm of bone, I don't think tinfoil would help at all 07:21
TiMBuS the sun is hot and angry and could just murder you if it wants to[1]. 1: that scene in fantasia where the sun melts jack frost.
snarkyboojum I wear a Magneto style helmet at all times 07:22
TiMBuS further evidence: that angry sun in super mario that keeps swooping at you
quester_ Submitted RT [perl #100552] "Recursion depth exceeded in x operator". Good night (or $localtime of your choice) everyone. 07:25
mberends grondilu: if flaky RAM may be your problem, a temporary workaround might be to re-start the computer and change the programs you have resident before you run perl Configure.pl. That way the C compiler will use different hardware memory addresses. Have other programs ever experienced random faults on your computer? Another approach is to install another OS on a LiveUSB: Debian and Ubuntu are good at that. 07:29
grondilu Other random faults on my computer? No. 07:31
mberends has used an 8GB MicroSD card as system drive for the past month.
snarkyboojum mberends: was that dog slow?
mberends snarkyboojum: the speed is well matched to the user ;) 07:32
snarkyboojum mberends: :P
mberends snarkyboojum: RAM caches so much, that there are only a few delays 07:33
snarkyboojum aww - hope he got it working 07:34
mberends will visit a cable provider today to consider an 80Mbit internet connection for €20/month 07:35
cotto mberends, see if you can get me one of those too. If I could get that price, figuring out where to get Euros wouldn't be a big deal. 07:38
mberends cotto: I'll ask. NY is a bit beyond southern .NL, though ;) 07:40
cotto mberends, so there's probably no hope for Redmond, WA 07:45
mberends cotto: move over here, on this street there are several houses for sale ;) 07:47
mberends The big cable push is to get subscribers for the premium HD sports TV channels, which do not interest me. The flagship contract is €60/month, no thanks. 07:49
im2ee Hiho! :) 07:53
jnthn morning, #perl6 08:03
moritz good morning 08:06
TiMBuS multi infix:<x>($s, $n) { $s.Stringy x $n.Numeric } -> multi infix:<x>(Str:D $s, Int:D $repetition) oh, lol 08:14
moritz oh 08:15
TiMBuS that should uh. probably be $n.Int? unless these days "string" x 1.5 returns "stringstr" 08:16
moritz TiMBuS: you're correct. I'm testing the fix.
moritz nom: say 'string' x 1.5 08:17
will recursive infinitely, I think
p6eval nom af0d2e: OUTPUT«(timeout)»
TiMBuS b: say 'string' x 1.5
p6eval b 1b7dd1: OUTPUT«string␤»
TiMBuS oh come on
in this modern day and age i gotta manually halve my strings 08:18
moritz
.oO( 'long string' x pi )
08:20
jlaire
.oO( '-' x 1i eq '|' )
08:21
TiMBuS web.archiveorange.com/archive/v/5H3...uMTs2ydpWS see now heres a valid reason to combine strings and math. if only perl6 had the foresight for this usage. 08:24
moritz nom: say 0.6.round(0.5) 08:25
p6eval nom af0d2e: OUTPUT«(timeout)»
TiMBuS laughed
best solution: stars = float(str(round(float(star_sum)/num_raters,1)).split(’.')[0]) + {’0′:0, ‘1′:0, ‘2′:0, ‘3′:0.5, ‘4′:0.5, ‘5′:0.5, ‘6′:0.5, ‘7′:0.5, ‘8′:1.0,’9′:1.0}[str(round(float(star_sum)/num_raters,1)).split(’.')[1]] 08:26
moritz jnthn++ # iterator performance improvements 08:31
mux wonders how perl6 iterators look like
moritz: any link to point me at?
en.wikibooks.org/wiki/Perl_6_Progra...#Iterators ? 08:32
TiMBuS i tried to find the perl6 iterator, but every time i peeked, it moved a step away.
sorear sleep
mux sorear: g'night
snarkyboojum should you be able to call MAIN() manually? It seems that it should be treated semi-specially by the compiler at runtime - Rakudo let's you run it manually. 08:42
I guess it's just a sub 08:43
in my case
dalek ast: 7f5a2ae | moritz++ | integration/advent2009-day04.t:
eval-safeguard another failing dispatch
moritz snarkyboojum: yes, it's a sub 08:44
bbkr_ rakudo: nextsame # MAIN sub :) 08:45
p6eval rakudo af0d2e: OUTPUT«No dispatcher in scope␤ in block <anon> at /tmp/A3VthrUdgS:1␤ in <anon> at /tmp/A3VthrUdgS:1␤␤»
bbkr_ hm, fixed? last time it segfaulted :)
moritz yep, surprisingly sane
hey, that would be a good name or tagline for a blog 08:46
surprisinglysane.perl6.org :-)
snarkyboojum surprisinglyinsane.perl6.org 08:50
Woodi rakudo: class A { has %!h = { 'a' => 1, 'b' => 2 }; my @a = %!h.keys } 09:04
p6eval rakudo af0d2e: OUTPUT«Can only use repr_get_attr_obj on a SixModelObject␤ in <anon> at /tmp/Pa9g1uHMSo:1␤ in block <anon> at /tmp/Pa9g1uHMSo:1␤ in <anon> at /tmp/Pa9g1uHMSo:1␤␤»
Woodi rakudo: class A { my %h = { 'a' => 1, 'b' => 2}; my @a = %h.keys }
p6eval rakudo af0d2e: ( no output )
Woodi 'my' version works... should be ? class is just package ? 09:05
jnthn hm, should probably catching using %!h outside of a place with self at compile time... 09:09
And yes, sure the my version works. Aside from when it's a hash constructor, { ... } always implies a lexical scope. 09:10
Woodi [%@]!h with initialization and usage outside methods do not work, posted rt. 09:11
$ work
jnthn Well, initialization is fine, but you're not really assigning. 09:13
Usage in the class body should always be detected and complained about though.
Woodi i have use case where i need code in class body: method generation from hash keys 09:14
that was 'clousere' in perl5
masak good greetings, channel of #perl6. 09:16
phenny masak: 02 Oct 22:33Z <sorear> tell masak I have a new crazy dream: p5 in p6 using the macro infrastructure, probably with a few ad-hoc extensions.
masak is intrigued
...but it might also be a case of overestimating macros ;) 09:17
jnthn Woodi: Yes but you can't use attributes there as they exist per instance and in the class body you don't have one.
Woodi: What's wrong with "my"? 09:18
masak sorear: by the way, 3q for telling us what Asian sound-based abbreviations peeve you out :P
三Q 09:19
I also like the name "Surprisingly sane" for a blog post. ;)
Woodi jnthn: 'my' in class body do not look object-like :) 09:20
probably i should use package varible 09:22
but it mess with class names...
jnthn Woodi: What are you trying to do, write Java in Perl 6? :)
The point is whether something solves the problem at hand, not if it looks "object-like" 09:23
Unless you want the thing to be visible to the outside world, using "our" is scoping it too widely.
Woodi rakudo: package A { class A {} } 09:24
p6eval rakudo af0d2e: ( no output )
Woodi it works ok. i got problems before with 'package Name;'...
masak what kind of problems? 09:27
Woodi rakudo: package A { my %h = { 'a' => 1, 'b' => 2 }; class A {for %h.keys -> $n {say $n} } } 09:27
p6eval rakudo af0d2e: OUTPUT«a␤b␤»
jnthn nom: package A;
p6eval nom af0d2e: OUTPUT«===SORRY!===␤This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style package block like "package Foo { ... }", or "module Foo; ...". at line 1, near ""␤»
Woodi this looks OK
jnthn masak: Those problems maybe ;) 09:28
Woodi b: package A { my %h = { 'a' => 1, 'b' => 2 }; class A {for %h.keys -> $n {say $n} } } 09:28
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'A'␤»
jnthn Oh. :)
Woodi probably i write module for b...
jnthn Yeah, b didn't really do nested packages.
Or at least, not so well.
Woodi yes. i think today i will stick to 'my' version. later will port to nom :) 09:29
masak: problem was that i used S11 not S10... looks in Perl6 package can contain few modules, so lvl up from v5 :) 09:32
masak Woodi: I don't quite follow you there. 09:34
Woodi masak: looks class eq package in perl6. i think in perl5 package is near the same as module 09:36
no, class eq module in v6
masak more like class ⊂ module 09:37
Woodi hmm
jnthn Classes can do what modules can, and then add some stuff.
moritz nom: say ClassHOW ~~ ModuleHOW 09:38
p6eval nom af0d2e: OUTPUT«Could not find sub &ModuleHOW␤ in block <anon> at /tmp/x_afRHT5L_:1␤ in <anon> at /tmp/x_afRHT5L_:1␤␤»
Woodi ok, but from package developer (syntactically) module and class is the same
moritz nom: module A { }; say A.HOW
p6eval nom af0d2e: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::Metamodel::ModuleHOW'␤ in sub say at src/gen/CORE.setting:4953␤ in block <anon> at /tmp/2IZ8wpM4sT:1␤ in <anon> at /tmp/2IZ8wpM4sT:1␤␤»
Woodi package developer ppint of view* 09:39
whatever :)
moritz nom: say Perl6::Metamodel::ClassHOW ~~ Perl6::Metamodel::ModuleHOW
p6eval nom af0d2e: OUTPUT«Could not find symbol 'Perl6::Metamodel::&ClassHOW'␤ in sub die at src/gen/CORE.setting:416␤ in block <anon> at /tmp/o9fTvqAXtB:1␤ in <anon> at /tmp/o9fTvqAXtB:1␤␤»
jnthn moritz: Those are all in Metamodel:: 09:39
Woodi goes to vim
jnthn moritz: However, that isn't true.
moritz: Because it's factored as roles, not inheritance. 09:40
jnthn class composes all the same roles that module does, and then some more :) 09:40
masak roles++
Woodi: I'm not sure what statement you were trying to approximate, but I suspect such an assertion might hinder more than it helps.
jnthn Also, I guess I'm going to have to make meta-objects pretend they're Mu, aren't I... :S
masak Woodi: a class is not just another module, it's a very special type of module.
jnthn: preferably. 09:41
unless there's a compelling reason not to.
jnthn masak: Level purity :P
masak: Thing is, we can't really make it true all levels down
tadzik good morning #perl6 09:42
jnthn masak: Which means even if I fix it for .HOW, then .HOW.HOW will still exhibit the same kind of issue.
tadzik nom: #= HAI CAN HAS STDIO? ␤ class C { }; say C.WHY
p6eval nom af0d2e: OUTPUT«Block::Declarator<-105050119877563243>␤»
tadzik nom: #= HAI CAN HAS STDIO? ␤ class C { }; say C.WHY.content
p6eval nom af0d2e: OUTPUT«HAI CAN HAS STDIO? ␤»
tadzik there we are
it should stringify to the content, I agree on that
jnthn tadzik: Yeah, preferably. 09:43
masak good moritz tadzik
tadzik good morning Carl 09:43
masak tadzik: did you put an umlaut on my last name somewhere? 09:44
tadzik masak: yep
masak why? :)
tadzik masak: in the list of authors on the Perl 6 book ebook
because it belongs there
masak looks
tadzik it was on the cover
moritz jnthn: fwiw I eval()ed the compile time dispatch failures for rakudo/optimizer 09:45
tadzik masak: github.com/perl6/book/downloads/
heh, seems that Calibre stripped it down anyway
maybe it's better inside, if that even went inside the .mobi and not inside this silly metadata.opf
masak I was just wondering because in the 2011.07 version, the umlaut is on the wrong 'a'. :/ 09:46
so someone meant to be considerate, and it backfired.
jnthn moritz: Great...how do the tests look now? 09:47
moritz jnthn: two error reporting tests fail
jnthn moritz: All win apart from undef.t?
Ah
Legitimately?
tadzik masak: umlaut on the wrong a would result in 'masaak', right?
moritz well, one of them (for single dispatch) wants the parameter name in the error message 09:48
jnthn :S
moritz doesn't sound too wrong 09:49
jnthn Guess we can do it.
Not sure how's best yet. 09:50
moritz but IMHO it wouldn't hurt to relax those tests for compile time checking
masak tadzik: well, the umlaut on 'a' in Swedish makes it a completely different vowel, which to your Polish ears would make my name sound like 'mesak'. 09:53
moritz another wants the nominal type of the parameter to appear
tadzik oh
masak and yes, putting the umlaut on the wrong vowel would make it come out like 'masek'. :/
moritz and aa would be more like a long 'o'
masak yeah. except I see that spelling more in Norway and Denmark. 09:59
we have it as 'å'.
moritz I know aa the ASCII transliteration of å 10:10
funny thing is, å and thus aa sorts after z in Norwegian 10:11
jnthn Same in Swedish, iirc 10:17
Or at least in the dictionary I think they come at the end.
mberends whether å sorts after z is a collation matter; there are hundreds of collations, some accent sensitive and others accent insensitive. 10:22
rakudo: say 'å' > 'z'; 10:23
p6eval rakudo af0d2e: OUTPUT«Bool::False␤»
moritz well, most languages have a kinda stanard collation
and the nn and nb colation says å comes last
nom: my $a = [1, 2, 3]; .say for @$a 10:25
p6eval nom af0d2e: OUTPUT«1␤2␤3␤»
moritz jnthn++
dalek ast: 8a543d3 | moritz++ | S (4 files):
rakudo unfudging
10:26
moritz rakudo: subset Pod6::Text of Str; say 'markdown' ~~ Pod6::Text 10:32
p6eval rakudo af0d2e: OUTPUT«Bool::True␤»
dalek ast: 1f36ea3 | moritz++ | S12-subset/subtypes.t:
test that subet with :: in the name works (RT #89708)
10:34
kudo/nom: eb8d302 | moritz++ | src/core/Stringy.pm:
string repetition should coerce to Int, not just Numeric. TiMBuS++
10:35
moritz rakudo: my @odd = 1,3,5 ... 8; say @odd[^4] 10:37
p6eval rakudo af0d2e: OUTPUT«(timeout)»
tadzik rakudo: my @odd = 1,3,5 ... *; say @odd[^4] 10:38
p6eval rakudo af0d2e: OUTPUT«1 3 5 7␤»
tadzik odd
moritz since it has a non-* limit, the sequence generator think it's a finite sequence
tadzik aye
moritz and the array assignment tries to reify it all
BOOM
rakudo: my $s = sub foo { return sub is rw { 1; } }; $s.().WHAT.say 10:39
p6eval rakudo af0d2e: OUTPUT«===SORRY!===␤Malformed block at line 1, near "rw { 1; } "␤»
moritz std: my $s = sub foo { return sub is rw { 1; } }; $s.().WHAT.say
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Malformed block at /tmp/PifY0rlWaT line 1:␤------> my $s = sub foo { return sub is ⏏rw { 1; } }; $s.().WHAT.say␤ expecting any of:␤ routine_def␤ trait␤Parse failed␤FAILED 00:01 122m␤»
dalek ast: b518730 | moritz++ | S12-class/augment-supersede.t:
test for RT #76600, augmenting a class should not re-apply roles
10:44
ast: 439f6e0 | moritz++ | S12-subset/subtypes.t:
test for RT #76834
10:47
jnthn moritz: btw, I'm curious if the iterator improvements help mandelbrot. If you have a chance to try, would be interested to see if it makes a difference. 10:54
moritz: Note I didn't merge that change into optimizer yet.
moritz jnthn: 44.4s on nom 10:59
as opposed to about 49s before
tadzik I get plenty of spectest failures 11:03
gist.github.com/1258894
jnthn nom: say (16 * 60 + 14) / 44.4 11:06
p6eval nom eb8d30: OUTPUT«21.9369369369369␤»
moritz tadzik: looks like your copy of roast is stuck 11:09
tadzik I'll give it a look
oh, indeed, thanks
23 commits behind
jnthn
.oO( mmm...slow roast... )
11:10
masak .oO( it's rusted in place ) 11:12
in Swedish, the verbs for "roast" and "rust" are homonyms. 11:13
tadzik are there any other evil ways for setting an attribute than nqp::bindattr? 11:14
flussence weird, I had the same stuck roast problem today. 11:16
tadzik that's what you get when you're adding tests and suddenly you fall asleep :)
masak tadzik: maybe have a separate roast checkout where you add tests? 11:17
moritz tadzik: rw accessors, methods :-) 11:18
tadzik masak: I used to, but figured that I don't need two separate repos. Also, it's nice to just 'make spectest' and run the tests before you push them
flussence oh, my bad, it was because I was messing around with my rebuild script to not run `make spectest`. The makefile usually handles the pull itself there. 11:19
tadzik moritz: keyword 'evil' :) I'm trying to eliminate methods as 'set_docs', 'set_docee' before someone tries to use them
moritz tadzik: make them private? 11:21
tadzik moritz: how am I going to call them then? :)
masak sotto voce :P 11:22
tadzik see traits.pm:82
dalek kudo/nom: 356fe7a | tadzik++ | / (2 files):
Stringify Pod::Block::Declarator to its content
11:25
masak suddenly realizes that it's the author of HPMoR who wrote yudkowsky.net/rational/the-simple-truth 12:22
moritz I never can remember when I should use "but" and when I should use "does" when mixing in stuff into an object 12:40
is there any mnemonic or so?
masak "but" works like "does", BUT it clones the object first :) 12:43
moritz :-) 12:44
I'll try that
masak also, I find it makes absolutely no sense to claim that '42 does Something', whereas '42 but Something' feels perfectly fine. 12:47
moritz only if you read it as a declaration 12:48
masak no, I read it as an imperative statement.
or simply as an operator. 12:49
[Coke] rakudo: say 314+433+5 12:50
p6eval rakudo 356fe7: OUTPUT«752␤» 12:51
[Coke] rakudo: say 314+433+5, " tickets"
p6eval rakudo 356fe7: OUTPUT«752 tickets␤»
moritz [Coke]: btw my search shows the number of tickets in the title
on the RT homepage, simply click on the 'perl6' queue link
says Found 752 tickets 12:52
[Coke] moritz: yes, but I start on the home page, as I have access to 4 different queues.
wow, the qpsmtpd queue is smaller, but even less well tended. 12:53
moritz: I also have a more tractable list of 265 tickets that I look for things to close in. Which reminds me...
aloha, seen robrt? 12:54
aloha [Coke]: Sorry, I haven't seen robrt.
[Coke] rt question: I'm trying to search by "things that haven't been updated since may 1st". I've added 12:55
[Coke] AND Updated < '2011-05-01' 12:55
grondilu has finally managed to compile rakudo :)
[Coke] to the search criteria, but am still getting things that were updated yesterday. any pointers?
grondilu: \o/ 12:56
grondilu :)
masak grondilu: welcome to the circle of erudite rakudites! :) 12:57
grondilu thanks. Now all I have to do is to read and read again the specs. Hopefully I'll get to master Perl6 before I die. 12:58
[Coke] aloha, seen obra?
aloha [Coke]: obra was last seen in #perl6 54 days 9 hours ago leaving the channel.
[Coke] opens a ticket with [email@hidden.address] 13:03
[Coke] also cannot search for "not like testsneeded" - it gets confused if a ticket has more than one tag.
masak grondilu: a tip from someone who has read and re-read the spec: it helps to try things out by writing code. either while you're reading the spec, or shortly thereafter. just write something you enjoy writing. 13:07
grondilu hum... 'make test' exited with 'make: *** [CORE.setting.pbc] Erreur 137' 13:23
I guess it's not critical as it is only a test, right?
masak uhm.
could you nopaste that whole make output, please? 13:24
grondilu masak: 'nopaste'? 13:25
masak gist.github.com/ for example. 13:26
somewhere you can dump a bit of text and link to it.
it's called 'nopaste' because it's used instead of pasting large amounts of text to the channel. :) 13:27
grondilu pastebin.com/6R4Q5mp6
I thought you meant 'could you not paste...' 13:28
masak hm, I don't see the error message in that paste :/ 13:42
daxim nopaste is a dumb word. when I'm emperor of the world, I'm going to abolish it in favour of "paste service" 14:02
masak done! 14:06
here at #perl6, your emperor-of-the-world wishes come true early! :)
the correct term is now "paste service". 14:07
jnthn Please can you paste service me a rationale for this? :P
masak jnthn: don't look at me, I'm just following the emperor's orders... 14:08
sjn daxim: what kind of pastes will you be serving then? :)
masak of course, the word carries fond memories for me from my early Pugs debugging days... irclog.perlgeek.de/perl6/2005-03-18#i_-760321 14:10
moritz wohoo, a line with a negative ID 14:11
masak yeah. it's that old.
consider this bug that I found back in 2005 a very early premonition of Rakudo's lexpad-related bugs. 14:12
moritz ... and the pastebot domain is now for sale :(
masak <autrijus> so obviously the pad is broken
<masak> ah, obviously :)
haha, that 2005 masak is sooo out of his depth! 14:13
moritz masak: you seem to have a fondness for bugs that involve broken pads :-)
masak *they* have a fondness for *me*! 14:13
jnthn Was that "obviously" as in, what "clearly" normally means in math proofs? ;)
masak jnthn: it was "obviously" as in "wow, I'm talking with autrijus!" 14:14
jnthn :)
masak it feels odd to read that and realize how much has happened since then in Perl 6 land. 14:15
colomon anyone know how to open a file for writing in Niecza? open($filename, :w) doesn't seem to do it. 14:18
masak hm, never had that use case. 14:19
colomon: seems it doesn't know about the :w option: github.com/sorear/niecza/blob/mast...ting#L2062 14:21
colomon masak: kind of looks like it doesn't know about writing at all? 14:22
hurumph
masak mberends: very interesting to read your tetris code! mberends++ 14:23
im2ee: dobradzien! :P 14:24
masak overgeneralizes language
ingy hugs the 2005 masak 14:26
masak , 6 years later, feels a seemingly acausal warmth weave through him 14:29
colomon tries to hack in open :w mode.... 14:31
colomon huh. got it to open the file, but it doesn't write to it... 14:32
sorear: ping? 14:34
flussence colomon: try doing .close manually, might be the same problem as rakudo... 14:35
colomon flussence: I suspect the problem is say doesn't know how to handle a filehandle
flussence oh 14:36
colomon I can sort of see what's going on with the treader definition, but not how it all fits together. Makes implementing twriter hard. 14:37
colomon afk # driving home from service center 14:38
masak that wouldn't be the paste service center, would it? :P 14:44
masak found an old quote by audreyt: "the line between silly jokes and serious realities in p6l is so blurred it's a fog" 14:59
also from 2005 :)
im2ee masak, hej! :) 15:01
sorear good * #perl6 15:08
mberends masak: thanks :) I hope we get your system to run Gtk with Niecza soon. 15:09
good * sorear
masak *, sorear 15:10
mberends: me too.
masak mberends: interesting how you're capitalizing your subroutine names. I'm guessing that's a .Net influence... 15:11
masak jnthn: wow, you have to see this! web.archive.org/web/20060407044836/...amodel.png 15:14
back when Perl 6 had not only Object but Class, too! 15:15
I can happily say I grok that picture better today than I did back then. 15:17
mostly thanks to jnthn, our demiurge :P
bits of what's found on the left feels like things that ended up in our HOWs. 15:18
jnthn HOW is the metaverse, yes :) 15:19
That diagram looks familiar :)
masak wow, and the private attr sigil was the colon. :) 15:20
jnthn Though the Class class happily went away :)
sorear even the name dates it...
im2ee nom: say "abc".split('').join('!');
p6eval nom 356fe7: OUTPUT«a!b!c␤»
jnthn hmm...it confuses me in various ways :) 15:21
masak me too :)
im2ee: consider using .comb instead, for great justice. :)
TimToady and 5 fewer characters 15:22
masak nom: say "abc".comb.join('!')
p6eval nom 356fe7: OUTPUT«a!b!c␤»
im2ee masak, fantastic, thanks. :)
jnthn walk & 15:31
masak im2ee didn't ask here on the channel, so I'll ask for him: what are the current known-working ways to make use a SQL database from Perl 6? 15:32
moritz Nil 15:33
masak both mystifying and a bit depressing, if so. 15:34
im2ee Hm, i have problem with log in mysql db, but i have just saw solution i p5. :)
im2ee So, i probably will use it. And i hope i'll write mysql module, or something like that, for p6 . :) 15:35
TimToady that's the spirit 15:36
im2ee TimToady, i'm begginer in p6, but i have a dream to become a professional. :) 15:37
TimToady std: foo"bar"
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Two terms in a row (listop with args requires whitespace or parens) at /tmp/3fMWyJz5tE line 1:␤------> foo⏏"bar"␤ expecting any of:␤ POST␤ argument list␤ bracketed infix␤ infix or meta-infix␤ postfix␤ 15:38
..postfix_prefi…
TimToady im2ee: just keeping banging your head against the wall, and eventually it will start to crumble
sorear your head or the wall?
TimToady yes 15:39
I mean, Bool::True
sorear colomon: hi
masak sorear: from experience, both. 15:40
TimToady moritz: yes, eqv should also autothread; all normal user-visible operators should autothread
moritz TimToady: and how would I compare two type objects? 15:41
TimToady === works fine
moritz no
not if one of them is Mu or Junction
TimToady *except* for Junction and Mu
well, and ~~ is special 15:42
moritz well, how would I compare two type objects if I don't know in advance if one of them might be Mu or Junction, or not?
TimToady .isa(Junction)
declare your type Any, and then you can know in advance :) 15:43
also, we don't have to autothread undefined junctions
moritz .isa also consider subtyping, which is not always what I want
TimToady nothing much derives from Junction 15:45
and testing things for Mu is generally not a good idea
~~ :(Mu:U) or some such might work 15:46
sorear erm, moritz is asking about *type objects*
not things
TimToady yes, I know
sorear sub my_func(Mu:U $x1, Mu:U $x2) { ... ... if (???) { ... } }
I recommend $x1.HOW === $x2.HOW
TimToady identity is determined by .WHICH, not by .HOW 15:47
which is why S03 recommends that
TimToady also, there's the S12:1598-specced Mu:T to play with 15:49
and Mu can certainly define its own === that can decide whether to delegate to Junction or not 15:50
there are various places to cut the gordian knot, but in the middle of the normal operators is not acceptable to me
I'm fine if certain methods like .gist are on the non-autothreading side 15:51
TimToady and the WH macros are certainly on that side 15:51
but the typical user is going to want === and eqv to autothread most of the time 15:52
(in my estimation) 15:53
I realize there aren't many typical users wandering around here just yet... :)
in my head, it's really the Any type that maps most closely to what other OO languages call Object 15:54
Mu is an outer container of concepts
that don't necessarily have a one-to-one mapping to objects in the classical sense 15:55
colomon sorear: any thoughts on open files to write to them in niecza? I tried gist.github.com/1259443 and that seems to open a file okay, but $file.say fails silently instead of working. 15:58
sorear colomon: you also need a TextWriter class with a say method. 15:59
the code you pasted looks fine
(as long as you made the other &open a multi too) 16:00
masak decommutes
colomon (yes, of course)
colomon Ah, I see the TextReader class now. (I really have to get my ack fixed to looking in the .setting files by default.) 16:02
sorear I'm a little suprised it "silently failed" though
colomon If it crashed without a message, I wouldn't have noticed it. 16:04
(since it was in a .t file I was calling from prove)
TimToady jnthn: re irclog.perlgeek.de/perl6/2011-10-02#i_4512490, S05:1121 already claims match on an undefined value fails 16:17
jnthn TimToady: ah, that's the kinda comment I was looking for and somehow missed. 16:19
TimToady: Applies to backrefs too?
TimToady but use of $1 where there's only one () should probably produce a compile-time error anyway
jnthn It could probably do that, yes. 16:20
TimToady backrefs are just normal variables, as far as that is concerned, yes
jnthn Though for now making it at least fail to match will be an improvement.
TimToady the compile error would be in the category "This can't possibly work" 16:21
jnthn OK, I figured out how to fix it, was just a little thrown off that we've done the same in b, and wanted to be sure how it would be. I was expecting just a nom regression.
TimToady or maybe in the category, "You are a recovering Perl 5 programmer, I perceive" :)
jnthn ;)
TimToady hmm 16:22
std: /(.)\1/
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Unsupported use of the 1-based special form '\1' as a backreference; in Perl 6 please use the 0-based variable '$0' instead at /tmp/SyhzrylExF line 1:␤------> /(.)\1⏏/␤Check failed␤FAILED 00:01 120m␤»
TimToady std: /(.)$1/
p6eval std 8b331d2: OUTPUT«ok 00:01 121m␤»
TimToady what I thought...
>>todo 16:24
sorear niecza: /(.)\1/
p6eval niecza v10-34-gb08643d: OUTPUT«===SORRY!===␤␤Unsupported use of the 1-based special form '\1' as a backreference; in Perl 6 please use the 0-based variable '$0' instead at /tmp/KweFaGMRFO line 1:␤------> /(.)\1⏏/␤␤Action method backslash:oldbackref n…
TimToady do other people's irssi's color extra things in a buggy way like mine does? I see bac<red>kreferen</red>ce 16:26
moritz nope, fine here
jnthn looks fine to me too
moritz only the === and the second / is red here
TimToady maybe something else I'm highlighting is doing it bogusly
thanks
oh, maybe it's trying to highlight the Perl 6 and missing 16:27
that's probably it 16:28
moritz wants a ==== that doesn't autothread
TimToady wants to shoot moritz, in the nicest possible way
moritz is it really too much to ask for an identity operator that actually tells me if the LHS is the same as the RHS, without any DWIM? 16:29
TimToady is not sure 16:30
the point of having a conceptual space outside of Any is to fuzz the concept of identity, so it's not at all clear on what metalevel beyond .WHICH to define it 16:32
moritz well, .WHICH doesn't autothread 16:33
TimToady if you want something that always means .WHICH === .WHICH, you can define one, but it doesn't seem terribly useful to me outside of implementing junctions and such, and a hazard for newbies
moritz being able to reliably compare type objects is very useful for any kind of meta stuff, including testing 16:34
TimToady you can certainly define an === that works on Junction:T args 16:36
jnthn Junction === Junction could certainly still be made to work.
(with :U)
TimToady no, :T :)
as specced
jnthn grr, stop changing stuff just after I get it implemented!! :P
TimToady it's been there a while 16:37
jnthn I know, it still landed just after I got done implementing :U/:D.
It's probably been there long enough to make me think it isn't about to change yet again by now though.
TimToady :P
in fact, can just be Mu:T === Mu:T I think 16:39
jnthn Wait, what? 16:40
Oh, you mean infix:<===>(Mu:T, Mu:T) ?
sorear What?
TimToady yes
sorry for the shorthand
jnthn oh, phew....I thought we were about to have Mu:T being an entity we can pass around first class :)
sorear ...how is that supposed to work?
jnthn (Which I guess we could, but...) 16:41
TimToady it's a candidate that only matches on type objects
jnthn It depends on the others being :D (is it still that?) I guess
sorear TimToady: oh you mean making === a multi?
TimToady well, yes, nearly all P6 ops are multis... 16:42
jnthn: MyType:T is officially just a subset type, like :U and :D 16:44
that doesn't mean we can't cheat on it here and there
jnthn Well, we kinda have to in the dispatcher if we want decent performance :)
TimToady or define them in primitive terms
jnthn But yes, if they show up somewhere where they have to be first class they can vivify subset types. 16:45
sorear Has anyone figured out how the whole Failure-mixed-into-types thing works yet?
TimToady so Mu:T is first-class only in the sense that other subset types are
jnthn Well, the ones you declare with subset most certainly are :)
TimToady sorear: I think of it as mixing in a bottom type 16:46
which is probably insane in various ways, but that's how I think of it currently
sorear TimToady: I don't understand the mixning. :) 16:48
TimToady it's probably more like Haskell's Error type
more like typed bottom-ish values that can still officially fit into a typed container 16:49
but tell the world, "I am undefined because of non-computability" 16:50
as opposed to "I am undefined because I was never initialized"
sorear what is the type of a Failure?
haskell can get away with this because of type erasure 16:51
dalek ecza/serialize: f1f89cc | sorear++ | / (5 files):
Reimplement blocks and inlining
17:11
dalek ecza/serialize: 6c3002f | sorear++ | lib/ (2 files):
Fix Frame.code/protopad/RUN_ONCE interaction
17:32
dalek ecza/serialize: 7bea562 | sorear++ | lib/Kernel.cs:
Fix LIPackage.Get code generation
17:46
moritz nom: role R { }; module M does R { } 17:49
p6eval nom 356fe7: OUTPUT«===SORRY!===␤Method 'add_role' not found for invocant of class 'Perl6::Metamodel::ModuleHOW'␤»
moritz jnthn: when would the error in traits.pm line 107 be triggered? 17:50
jnthn nom: module M { }; class C does M { } 17:55
p6eval nom 356fe7: OUTPUT«===SORRY!===␤C cannot compose M because it is not composable␤»
jnthn moritz: Should probably check the other way around too.
unless pir::can($doee.HOW, 'add_role') { die ... ~ "does not support having roles composed into it" } or some such. 17:56
dalek ecza/serialize: 04630ce | sorear++ | / (3 files):
Improve variable existence detection
18:10
masak buona sera, #perl6. 18:16
[Coke] robert addressed my RT issues. (search on lastupdated, not updated) (restrict on CF.perl6.{Tag}, not CF.{Tag}) 18:18
portuguese?
flussence niecza's caught up quite a bit with those extra tests enabled - github.com/flussence/specgraphs/ra.../impls.png 18:21
dalek ecza/serialize: aaeae45 | sorear++ | / (2 files):
Implement embeddedblock, fix crash on 10th variable in a sub
18:22
[Coke] flussence: what is that, almost double? 18:23
flussence 7919 up from 3813
sorear flussence: the teal zone has to be nom?
sorear leaves
flussence yes
[Coke] rakudo: say 7919/3813
p6eval rakudo 356fe7: OUTPUT«2.07684238132704␤»
[Coke] rakudo: our Str a 18:25
p6eval rakudo 356fe7: OUTPUT«===SORRY!===␤In "our" declaration, typename Str must be predeclared (or marked as declarative with :: prefix) at line 1, near " a"␤»
sorear std: our Str a
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Multiple prefix constraints not yet supported at /tmp/k9Lxlm7UTU line 1:␤------> our Str ⏏a␤Malformed our at /tmp/k9Lxlm7UTU line 1:␤------> our Str ⏏a␤ expecting any of:␤ multi_declarator␤ typen…
[Coke] std: our Str a
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Multiple prefix constraints not yet supported at /tmp/uKcu3mUID2 line 1:␤------> our Str ⏏a␤Malformed our at /tmp/uKcu3mUID2 line 1:␤------> our Str ⏏a␤ expecting any of:␤ multi_declarator␤ typen…
mberends flussence: the 7919 includes over 1400 skipped tests that 'prove' does considers passes.
s/does//
masak [Coke]: no, Spanish, I hope. 18:26
[Coke]: Portuguese would be 'bom tarde', I think. 18:27
[Coke] spanish is "buen~os tardes", methinks.
[Coke] perhaps it's italian? ;) 18:27
it is. 18:28
masak oh! :) 18:29
[Coke] (er, and if that's evening, es "noches", no "tardes". whoops.)
masak romance fail :P
[Coke] close enough. ;)
supernovus Probably a dumb question, but what is the difference between the Str and Stringy methods? I don't remember seeing Stringy prior to nom... but have used Str methods quite often...
[Coke] std: my $x =3; say ++++$x 18:32
p6eval std 8b331d2: OUTPUT«ok 00:01 122m␤»
[Coke] rakudo: my $x =3; say ++++$x
p6eval rakudo 356fe7: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub prefix:<++> at src/gen/CORE.setting:2241␤ in block <anon> at /tmp/ufoahxjRzU:1␤ in <anon> at /tmp/ufoahxjRzU:1␤␤»
[Coke] niecza my $x =3; say ++++$x 18:33
niecza: my $x =3; say ++++$x
p6eval niecza v10-34-gb08643d: OUTPUT«5␤»
[Coke] who's right?
masak dunno. 18:34
[Coke] I'm going with rakudo, based on RT 74912
masak supernovus: Stringy is a role. think of Numeric for numbers. Num ~~ Numeric, and Str ~~ Stringy 18:35
jnthn Guess if we want consistency with postfix:<++> then Rakudo is right.
[Coke] rakudo: my %h; sub h { say "srsly wtf" }; enum Foo %h; 18:36
p6eval rakudo 356fe7: OUTPUT«Could not find sub &Foo␤ in block <anon> at /tmp/PypFDQseNO:1␤ in <anon> at /tmp/PypFDQseNO:1␤␤»
[Coke] moritz: can we close 67942 % tests ?
[Coke] phenny: ask moritz if we can close 67942 % tests ? 18:38
phenny [Coke]: I'll pass that on when moritz is around.
[Coke] rakudo: say 'aa' ~~ /(.)$1/; say $0.to 18:40
p6eval rakudo 356fe7: OUTPUT«=> <a>␤ 0 => <a>␤␤1␤»
supernovus masak: Yeah, I was just reading through the specs again, and spotted Stringy in there. The flexibility in Perl 6 is certainly awesome :-)
[Coke] rakudo: 14:40 < [Coke]> rakudo: say 'aa' ~~ /(.)$1/; say $0.to 18:42
14:40 <+p6eval> rakudo 356fe7: OUTPUT«=> <a>␤ 0 => <a>␤␤1␤»
p6eval rakudo 356fe7: OUTPUT«===SORRY!===␤Confused at line 1, near "14:40 < [C"␤»
[Coke] grr.
subset ComplexNumeric of Numeric where { ($_ ~~ Real) || ($_ ~~ Complex) }; my ComplexNumeric $x = 1; say $x.perl; $x = 1i; say $x.perl
rakudo: subset ComplexNumeric of Numeric where { ($_ ~~ Real) || ($_ ~~ Complex) }; my ComplexNumeric $x = 1; say $x.perl; $x = 1i; say $x.perl #also grr! 18:43
p6eval rakudo 356fe7: OUTPUT«1␤Complex.new(0, 1)␤»
[Coke] rakudo: subset ComplexNumeric of Numeric where { ($_ ~~ Real) }; my ComplexNumeric $x = 1; say $x.perl;
p6eval rakudo 356fe7: OUTPUT«1␤»
dalek kudo/nom: 59d442b | Coke++ | t/spectest.data:
track failure mode.
18:46
moritz o/ 18:48
phenny moritz: 18:38Z <[Coke]> ask moritz if we can close 67942 % tests ?
masak moin, moritz 18:51
sjohnson :)
masak supernovus: if by that you mean that we have many types in CORE, then yes :P
moritz std: my %h; enum Foo %h; 18:57
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'Foo' (see line 1) at /tmp/l6giZF50zq line 1:␤------> my %h; enum Foo⏏ %h;␤Undeclared routine:␤ 'h' used at line 1␤Check failed␤FAILED 00:01 122m␤»
moritz WTF? 18:58
why is Foo redeclared, and why does it try to call h()?
sjohnson cause it's perl6's madness monday today 18:58
masak moritz: more to the point, how did you discover this? :P 19:02
[Coke] RT #67942 19:03
moritz [Coke]: I'm convinced that the new response is wrong also
[Coke] moritz: hokay.
moritz a sane response would be "value of %h not known at compile time" or so
[Coke] Most of the time, I'm just saying "this has changed" and don't know enough perl6 to know if it's for the better. ;)
dalek ast: 20b8292 | moritz++ | S02-types/capture.t:
RT #78496, Pair.Capture
19:04
[Coke] colomon: ping.
phenny: ask colomon if RT# 69382 is still an issue.
phenny [Coke]: I'll pass that on when colomon is around.
masak [Coke]: I do that too. :) 19:05
[Coke] masak: FYI, I'm explicitly ignoring your tickets in the queue. ;)
(and regex, and rule, and ... a few other things.)
[Coke] Leaves me with a more tractable subset of tickets to wander through. 19:06
masak :P
I'll take that as a compliment.
dalek ast: e65bacd | moritz++ | S03-operators/repeat.t:
infix x with fractional numbers
19:09
moritz < 750 tickets! \o/\o/\o/
std: <a b>[-1] 19:10
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Unsupported use of [-1] subscript to access from end of array; in Perl 6 please use [*-1] at /tmp/KmgYHBihNe line 1:␤------> <a b>[-1]⏏<EOL>␤Parse failed␤FAILED 00:01 119m␤»
moritz nom: <a b>[-1]
p6eval nom 59d442: ( no output )
jnthn I'm guessing that enum parses as the modulo operator and a call to h 19:14
e.g. enum (Foo % h)
moritz but why then would it be a redeclaration of Foo? 19:15
colomon sorear: oh, there's already a TextWriter class, it just doesn't really do much of anything 19:16
phenny colomon: 19:04Z <[Coke]> ask colomon if RT# 69382 is still an issue.
moritz nom: eval { die "foo" }; say $!.backtrace
jnthn I was guessing at Rakudo's interpretation, not STDs.
p6eval nom 59d442: OUTPUT«Nominal type check failed for parameter '$code'; expected Str but got Block instead␤ in sub eval at src/gen/CORE.setting:420␤ in block <anon> at /tmp/2MUIZd9krB:1␤ in <anon> at /tmp/2MUIZd9krB:1␤␤»
moritz nom: try { die "foo" }; say $!.backtrace
p6eval nom 59d442: OUTPUT«Method 'backtrace' not found for invocant of class 'Exception'␤ in block <anon> at /tmp/miMmj_4Qli:1␤ in <anon> at /tmp/miMmj_4Qli:1␤␤» 19:17
jnthn STD may be doing it by backtracking over the type reg or something.
rindolf Hi all. perl Configure.pl --gen-parrot fails here - paste.debian.net/133888/ 19:21
dalek ecza: 5239f11 | mberends++ | examples/gtk-webbrowser.pl:
Add a lightweight (text only) Gtk.HTML based web browser example
rindolf Can anyone help? 19:22
[Coke] rindolf: what version of git do you have?
moritz rindolf: how old is your rakudo? 19:23
it tries to build a parrot 2.11
[Coke] oh. yah, 2.11 is pretty ancient parrot.
moritz the current rakudo depends on parrot 3.8.something
rindolf [Coke]: git? 19:25
[Coke] rindolf: answer moritz's question first. 19:26
(and yes, it's checking out a copy of parrot via git for you.)
rindolf moritz: it's Date: Sat Jan 1 22:49:26 2011 +0200
- hmmm...
moritz rindolf: that won't make you happy at all 19:27
[Coke] "there's your problem."
moritz rindolf: git fetch; git checkout nom; perl Configure --gen-parrot
rindolf moritz: OK.
moritz: hmmm... github mislead me. I thought that "fork" meant "Fork it!", but it's my own fork.
supernovus nom: my @a = 1,2,3; @a.splice(1,1); 19:28
p6eval nom 59d442: OUTPUT«Method 'splice' not found for invocant of class 'Array'␤ in block <anon> at /tmp/sTUNw2OZjm:1␤ in <anon> at /tmp/sTUNw2OZjm:1␤␤»
rindolf OK, it seems to be a bug. 19:29
In github.
moritz what does git remote -v say?
[Coke] rakudo: class A::B { has $.s = "hey" }; my $q = "B"; my $l = gather { take "A::$q".new; }; $l[0].s.say
p6eval rakudo 59d442: OUTPUT«Method 's' not found for invocant of class 'Str'␤ in block <anon> at /tmp/qOmsyeOrqt:1␤ in <anon> at /tmp/qOmsyeOrqt:1␤␤»
moritz [Coke]: "string".new just creates a new, empty Str object 19:30
lookup by name would be ::("A::$q").new
[Coke]: or in other words, rakudo is right here 19:32
[Coke] moritz: don't care, just ticket spelunking. ;)
[Coke] rt.perl.org/rt3/Ticket/Display.html?id=77178 was the ticket. I've gotta get back to dayjob. 19:33
moritz [Coke]: thanks, closing that one 19:36
[Coke] moritz: \o/ ! 19:38
dalek kudo/nom: 7823a4c | moritz++ | src/core/Exception (2 files):
give Exception a backtrace method
19:47
moritz nom: .say for gather { loop { take 1 } } 19:48
p6eval nom 59d442: OUTPUT«(timeout)»
moritz why doesn't this print lots of 1s before timing out?
flussence insufficient laziness? 19:54
[Coke] shouldn't that be "insufficient eagerness" ?
PerlJam flussence: perhaps too much laziness.
diakopter std: .say for gather { loop { take 1 } } 19:55
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Confused at /tmp/Bmw4GxOg9G line 1:␤------> .say for gather { loop { take 1 }⏏ }␤ expecting horizontal whitespace␤Parse failed␤FAILED 00:01 121m␤»
diakopter std: .say for gather { loop { take 1 } }
moritz huh, what's wrong with it?
p6eval std 8b331d2: OUTPUT«===SORRY!===␤Confused at /tmp/l8xXNJCY0f line 1:␤------> .say for gather { loop { take 1 }⏏ }␤ expecting horizontal whitespace␤Parse failed␤FAILED 00:01 121m␤»
flussence nom: .say for (gather { loop { take 1 } }).[5]
p6eval nom 59d442: OUTPUT«1␤»
PerlJam std may t hink you need a ;
moritz std: loop { }
p6eval std 8b331d2: OUTPUT«ok 00:01 118m␤»
moritz std: .say for gather { loop { take 1 }; } 19:56
p6eval std 8b331d2: OUTPUT«ok 00:01 121m␤»
moritz TimToady: I think it's a stdbug that you need that ;
PerlJam too
flussence nom: my $a = 0; .say for gather { loop { take 1; last if ++$a > 50 } }
p6eval nom 59d442: OUTPUT«Method 'eager' not found for invocant of class 'Integer'␤ in sub coro at src/gen/CORE.setting:3900␤ in method reify at src/gen/CORE.setting:3870␤ in method reify at src/gen/CORE.setting:3653␤ in method reify at src/gen/CORE.setting:3653␤ in method gimme at src/ge…
flussence er
diakopter niecza: .say for gather { loop { take 1 }; }
p6eval niecza v10-35-g5239f11: OUTPUT«(timeout)1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1􏿽xE2􏿽x90 19:57
moritz thinks there's something rotten in the state of rakudo/nom
jnthn moritz: ? 19:58
moritz nom: .say for gather { loop { take 1 } }
p6eval nom 7823a4: OUTPUT«(timeout)»
moritz jnthn: I'd expect that one to print lots of 1's before timeouting 19:59
jnthn same 20:00
dalek ecza: 241a2d8 | mberends++ | examples/gtk-tetris.pl:
refactoring - no functional changes
mberends oops, shoulda said sorear++ for the refactoring tips 20:02
sjohnson perl6: sprintf("just another %u hacker", (5 + 1)).perl
oops.
p6eval pugs, rakudo 7823a4, niecza v10-35-g5239f11: ( no output )
sjohnson perl6: sprintf("just another perl %u hacker", (5 + 1)).perl.say 20:03
p6eval pugs: OUTPUT«\"just another perl 6 hacker"␤»
..rakudo 7823a4, niecza v10-35-g5239f11: OUTPUT«"just another perl 6 hacker"␤»
sjohnson mad skillz
masak :D
[Coke] 748 tickets, minus 36 that needtests. 20:06
jnthn \o/
masak impressive.
jnthn say (gather { loop { say 42; take 1 } }).iterator.infinite 20:07
nom: say (gather { loop { say 42; take 1 } }).iterator.infinite
p6eval nom 7823a4: OUTPUT«Bool::False␤»
mberends masak: I realized after your comment that the PascalCase style in gtk-tetris.pl was caused by the method names in the Gtk libraries. It looked wrong to conflict with them. 20:07
[Coke] moritz++
masak mberends: ah, gtk.
mberends: guessed it was something like that.
mberends: I'm not condemning it. in fact I supposed it was a conscious choice made from weighing the two options. 20:08
mberends masak: yeah, it was conscious. An earlier style looked worse.
masak :)
mberends++
jnthn moritz: Slightly worried it may be somewhat related to my MapIter work yesterday. 20:09
moritz jnthn: it isn't
jnthn moritz: Oh?
OK.
moritz: You already tried undoing that?
moritz jnthn: that was my first idea as well, and I compiled rakudo with the revision before your MapIter patch 20:10
and it still doesn't print anything
colomon moritz++
jnthn moritz: OK
moritz -> sleep
masak dobranacht, moritz. dream of bots automatically writing roast tests and closing bugs. 20:16
masak rakudo: say "rah ", "tata tah " xx 2, "ta tam!" for ^3; say "yeah!" 20:20
p6eval rakudo 7823a4: OUTPUT«rah tata tah tata tah ta tam!␤rah tata tah tata tah ta tam!␤rah tata tah tata tah ta tam!␤yeah!␤»
masak hm. 20:20
masak wonders how to get the spaces right
masak rakudo: say "rah ", "tata tah" xx 2, " ta tam!" for ^3; say "yeah!" 20:21
p6eval rakudo 7823a4: OUTPUT«rah tata tah tata tah ta tam!␤rah tata tah tata tah ta tam!␤rah tata tah tata tah ta tam!␤yeah!␤»
masak yeah!
rakudo: say "rah ", ("tata tah", "ta tam").roll(3), "!" for ^3; say "yeah!" 20:22
p6eval rakudo 7823a4: OUTPUT«rah tata tah ta tam tata tah!␤rah ta tam ta tam ta tam!␤rah ta tam ta tam ta tam!␤yeah!␤»
masak ending was a bit weak.
mberends masak: now you've done it. I'll dream of the Christmas Drummer Boy song. 20:23
masak oops.
if you want, I can sabotage your mental jukebox with something else. 20:24
mberends lol
masak rakudo: say "At first I was afraid, I was petrified..."
p6eval rakudo 7823a4: OUTPUT«At first I was afraid, I was petrified...␤»
jnthn
.oO( t-t-t-t-telephone )
masak auugh.
mberends lol xx 2
jnthn
.oO( Friday...Frriiiiday )
masak make... it... stop...
[Coke]
.oO(bananaphone!)
masak gnnn
jnthn oh no
:P 20:25
masak [Coke]: was that *really* necessary? there's nothing that trumps the bananaphone! :P 20:26
now we're all stuck with it for the evening...
jnthn nom: say 'ring' xx 4, 'bananaphone' for ^2 20:27
p6eval nom 7823a4: OUTPUT«ring ring ring ringbananaphone␤ring ring ring ringbananaphone␤»
jnthn oh, not enough rings...and spaces
masak there's 7 "ring"s. 20:28
jnthn yes...yes there is... 20:29
masak nom: say "ring" xx 7, '! bananaphone!' for ^2
p6eval nom 7823a4: OUTPUT«ring ring ring ring ring ring ring! bananaphone!␤ring ring ring ring ring ring ring! bananaphone!␤»
jnthn masak++ # faithful rendition of bananaphone 20:34
.oO( you know those times when you're not sure if it should be ++ or -- ... :-) )
masak bows elaborately 20:35
[Coke] masak: thankfully, I'm more of a carrier. 20:35
jnthn OK, deciding that we consider GatherIter to be infinite by default fixes this case, but not the others. It'll take more digging than I have brane for today.
(where this case is the one that hangs) 20:36
or a pmichaud++ to show up and tell us how it should be.
[Coke] "is perl6 happy with RT as a bug tracker" ? 20:36
masak rakudo: class wolfman { method greet { say "greetings, {self.^name}$.version!" } }; (wolfman.new but role { has $.version = 2000 }).greet
p6eval rakudo 7823a4: OUTPUT«greetings, wolfman+{<anon>}2000!␤» 20:37
[Coke] so asks your bugadmin.
masak dang :)
wolfman2000 and afternoon to you too masak.
not here long: wireless in my present area is not great.
masak [Coke]: I sure am!
[Coke]: it's very easy to open tickets!
[Coke] masak: that's far too enthusiastic. 20:38
masak ok, sorry. 20:38
flussence
.oO( RT is our bug tracker? I thought that was masak... )
masak [Coke]: I kinda like it. it's alright.
[Coke] he's the bug OPENER. :P
masak occasionally I close them too.
but I try not to make a habit of it.
:P
masak but really, the bugs are there whether or not there's tickets for them. I just happen to like there being tickets for them. :) 20:41
and the reason I find a percentage of them first is that I'm a bit of a masakist.
[Coke] You've been hanging around ingy too much. 20:42
masak I wouldn't mind hanging around him more :)
masak .oO( acme-masakism ) 20:43
masak rakudo: say (((class wolfman {}).new but role {}) but rolw {}).^name 20:44
p6eval rakudo 7823a4: OUTPUT«Could not find sub &rolw␤ in block <anon> at /tmp/YffAmDSFex:1␤ in <anon> at /tmp/YffAmDSFex:1␤␤»
masak rakudo: say (((class wolfman {}).new but role {}) but role {}).^name
p6eval rakudo 7823a4: OUTPUT«wolfman+{<anon>}+{<anon>}␤»
wolfman2000 having fun with my joining and leaving?
masak that, and anon roles. 20:45
I think I get how they work now.
wolfman2000 glad my bad wireless can be of service
jnthn Well, at least if it serves you badly it's making it up by serving masak well :) 20:46
masak rakudo: class wireless { has $.1uality = 'bad'; has $.service = 'yes' }; given wireless.new { say "Can the {.quality} {.^name} be of service?"; say .service ?? "yes!" !! "no!" } 20:47
p6eval rakudo 7823a4: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
wolfman2000 :P
masak rakudo: class wireless { has $.quality = 'bad'; has $.service = 'yes' }; given wireless.new { say "Can the {.quality} {.^name} be of service?"; say .service ?? "yes!" !! "no!" } 20:48
jnthn Your wireless. Same quality as masak's typing :)
p6eval rakudo 7823a4: OUTPUT«Can the bad wireless be of service?␤yes!␤»
masak jnthn: oh, 1hut 7p. :P
flussence nom: enum A is export <one two>; 21:08
p6eval nom 7823a4: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $type, Any $size, Any $nativesize)␤:(Attribute $attr, Any $rw)␤:(Attribute $attr, Any $readonly)␤:(Routine $r, Any $rw)␤:(Routine $r, Any $default)␤:(Parame…
flussence b: enum A is export <one two>;
p6eval b 1b7dd1: OUTPUT«Could not find sub &export␤ in main program body at line 22:/tmp/1lg1ozekm6␤» 21:08
flussence niecza: enum A is export <one two>; 21:08
p6eval niecza v10-36-g241a2d8: ( no output )
flussence doesn't work in rakudo? 21:09
masak dobranatt, #perl6. 21:30
im2ee Dobranoc #perl6 ! :) 21:37
dalek d: 20ae3bd | larry++ | STD.pm6:
parse whitespace after loop {}, moritz++
21:42
colomon niecza: enum A is export <one two>; say "Alive!" # member:flussence 21:49
p6eval niecza v10-36-g241a2d8: OUTPUT«Alive!␤»
flussence
.oO( the more I work on Text::Wrap, the more it looks like a big ball of mud... )
21:53
perl6: say ('aaaaabaaaaa' ~~ /^(\N*) b/).perl; 22:00
p6eval niecza v10-36-g241a2d8: OUTPUT«#<match from(0) to(6) text(aaaaab) pos([#<match from(0) to(5) text(aaaaa) pos([].list) named({}.hash)>].list) named({}.hash)>␤»
..rakudo 7823a4: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped b…
flussence b: say ('aaaaabaaaaa' ~~ /^(\N*) b/).perl;
p6eval b 1b7dd1: OUTPUT«Match.new(␤ from => 0,␤ orig => "aaaaabaaaaa",␤ to => 6,␤ positional => [␤ Match.new(␤ from => 0,␤ orig => "aaaaabaaaaa",␤ to => 5,␤ ),␤ ],␤)␤»
flussence nom: say ('aaaaabaaaaa' ~~ /^(\w*) b/).perl;
p6eval nom 7823a4: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
flussence nom: say ('aaaaabaaaaa' ~~ /^(a*) b/).perl;
p6eval nom 7823a4: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 0, to => 6, ast => Mu, list => (Match.perl(orig => "aaaaabaaaaa", from => 0, to => 5, ast => Mu, list => ().list, hash => EnumMap.new()),).list, hash => EnumMap.new())␤»
flussence nom: say ('aaaaabaaaaa' ~~ /^(\S*) b/).perl; 22:01
p6eval nom 7823a4: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
flussence nom: say ('aaaaabaaaaa' ~~ /^(<[a..z]>*) b/).perl;
p6eval nom 7823a4: OUTPUT«Match.perl(orig => "aaaaabaaaaa", from => 11, to => -3, ast => Mu, list => ().list, hash => EnumMap.new())␤»
flussence hm. not sure how to work around that... 22:02
sorear hello S11001001 22:04
S11001001 sorear: greetings
sorear 2011.10.02.18.01.59 -!- S11001001 [~sirian@c-71-232-60-227.hsd1.ma.comcast.net] has joined #perl6 22:05
2011.10.02.18.18.32 < S11001001> moritz: I have a little nitpick for the perl6.org front page: "Using Perl 6" is not open source.
2011.10.02.19.08.58 -!- S11001001 [~sirian@c-71-232-60-227.hsd1.ma.comcast.net] has quit [Quit: bye bye]
S11001001 aye
sorear We couldn't figure out what you meant and you left too quickly for us to ask. Don't do that please. :)
S11001001 sorry, was leaving coffeeshop where I said that 22:06
anyway, I meant that by restricting commercial distribution, it doesn't meet the open source definition (point 1), nor the FSF free software definition or DFSG 22:07
(the README states it is under by-nc-sa)
sorear Moritz thought you were referring to non-free fonts 22:08
S11001001 that is also a problem, but probably not enough to prevent calling it open source 22:09
flussence hm. not sure how to work around that... 22:11
ww
flussence I'm getting better progress with niecza in Text-Tabs-Wrap right now... just need to figure out why unexpand() returns whitespace strings :( 22:12
«Unhandled Exception: Unable to resolve method ctxzyg in class Str» 22:16
flussence is slightly scared by that method name
flussence perl6: say ($_ for 1..4).perl; 22:24
p6eval rakudo 7823a4: OUTPUT«(1, 2, 3, 4).list␤» 22:25
..niecza v10-36-g241a2d8: OUTPUT«Nil␤»
..pugs: OUTPUT«*** ␤ Unexpected "for"␤ expecting operator or ")"␤ at /tmp/uN8Zepa9IR line 1, column 9␤»
flussence sorear: ^ bug?
sorear flussence: NYI. 22:34
flussence ah, ok then
snarkyboojum didn't realise that Using Perl 6 used an NC license 23:02
tadzik good night #perl6 23:18
colomon o/ 23:20
sorear bye tadzik
tadzik hey, but I just came in! 23:23
:)
it was just too late for 'good evening', I thought
snarkyboojum laku noc! 23:24
dalek ecza/serialize: 5239f11 | mberends++ | examples/gtk-webbrowser.pl:
Add a lightweight (text only) Gtk.HTML based web browser example
23:44
ecza/serialize: 241a2d8 | mberends++ | examples/gtk-tetris.pl:
refactoring - no functional changes
ecza/serialize: 68ddcb5 | sorear++ | / (9 files):
Merge branch 'master' of github.com:sorear/niecza into serialize
ecza/serialize: 297c615 | sorear++ | src/ (4 files):
mergeback src/niecza