»ö« 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.
pmurias sorear: in mildew my $x := 1; my $y := $x; $x := 2; say($y) printed 1 00:10
pmurias sorear: the BIND method was not called on the container but on an object representing an lexical scope entry 00:10
crakrjak camelia really? 02:03
TimToady just for you 02:05
crakrjak how long has perl6 been into the making? 02:06
sjn many years \o/
crakrjak i remember reading about it a long time ago it seems
TimToady 10 years or so 02:07
crakrjak surprised its not production ready yet
TimToady we're trying to do something impossible, so it takes a while
crakrjak does it do all the modern stuff like authentication federation, orm, parallel processing, etc? 02:08
TimToady parallel is built-in; orm should be trivial with our repr interfaces 02:09
dunno about af
crakrjak neat
i have used perl for many years and recently i have been wondering if i shouldnt start using python more 02:10
TimToady we think a lot about multi-cores
crakrjak there is a party in my backyard
nice chatting with you 02:11
later!
TimToady likewise
diakopter !addquote <TimToady> we're trying to do something impossible, so it takes a while 02:26
[Coke] I wonder if irc logs should render the NL char in output as an actual newline. 03:18
[Coke] TimToady: I agree with your 03:34
... whoops. Statement regarding more caffeine. 03:36
lue hello world! o/ 04:13
masak: yeah, that is out-of-date.
lue tadzik: I'll look more why into ambient material won't parse (and when I set \H+ as a possible blocktype, why =begin Text and such won't parse). There should be a @sample[3] though. 04:22
[to me, having to comment out a test because it doesn't work seems... ironic?] 04:23
tylercurtis p 05:08
tylercurtis evidently accidentally sent that message. 05:09
jimbo t 05:29
tadzik wow wow, have you seen new Github issues? 07:52
TiMBuS my $who = ($raw<user> || $raw<server>) but role {}; #<- segfaults rakudo, cannot seem to figure out why 10:02
my $who = ($raw<user> || $raw<server>); $who does role {}; is fine 10:03
moritz rakudo: say (my $ || my $).WHAT
p6eval rakudo 4bf132: OUTPUT«===SORRY!===␤Contextual $*GOAL not found␤»
moritz submits rakudobug
TiMBuS: I suspect it might return some parrot-y thing from the || 10:04
TiMBuS seems fine with a cut down version in the repl tho
moritz TiMBuS: and assignment turns it into an Any or so
TiMBuS hmmm 10:06
rakudo: my $a = (my $ || 3) but role {method foo {say 'bar'}}; say $a.foo;
p6eval rakudo 4bf132: OUTPUT«bar␤Bool::True␤»
moritz rakudo: my $b; say (my $ || $b).PARROT 10:07
p6eval rakudo 4bf132: OUTPUT«Perl6Scalar->␤»
TiMBuS oh.
thats probably it
moritz what is $raw<server> in your program?
TiMBuS Match
moritz hm 10:09
and Match.Bool returns True?
TiMBuS well $raw is a Match, im not sure if the string its returning is a match or not. I forget how that works
TiMBuS $raw.Bool is definitely true if that's what you mean 10:10
moritz just add a say $raw<server>.perl 10:11
TiMBuS yeah its just a match
moritz what abotu $raw<server>.Bool ? 10:12
TiMBuS Bool::True
moritz hm 10:13
then I don't understand it in the least
TiMBuS :[
jnthn ->...nothing? Hm. 10:16
(re the segfault)
Something looks odd there.
Leaking Parrot type feels like a good guess though. 10:17
TiMBuS Null PMC access in find_method('perl')
theres a good start
jnthn Ah
TiMBuS say $raw<user>.perl; say $raw<server>.perl;
so i guess $raw<user> is not a Match because it didnt.. match 10:18
TiMBuS got it 10:20
rakudo: my $f = 'fdas' ~~ /$<foo>='a'|$<bar>='b'/; say $f<b>.WHAT
p6eval rakudo 4bf132: OUTPUT«Proxy()␤»
TiMBuS welp, that looks hecka complicated and thinking give me wrinkles so 10:21
TiMBuS skips off
moritz TiMBuS: you have no <b> capture in that regex 10:24
TiMBuS moritz, yeah i know, but it shouldnt crash rakudo about it 10:27
rakudo: my $f = 'fdas' ~~ /$<foo>='a'|$<bar>='b'/; say $f<b>.perl;
p6eval rakudo 4bf132: OUTPUT«Null PMC access in find_method('perl')␤ in <anon> at line 1310:CORE.setting␤ in 'Any::join' at line 1␤ in 'Mu::attribs' at line 1311:CORE.setting␤ in 'Mu::perl' at line 1315:CORE.setting␤ in main program body at line 22:/tmp/v156cpgav1␤»
TiMBuS so i guess.. it boild down to $a = Match.new(); say $a<foo>.perl 10:30
h4nnibal hi perlies 10:36
TiMBuS alright so im completely wrong now 10:37
moritz hi h4nnibal
TiMBuS my $imm = ($raw<user> || $raw<server>); my $who = $imm but role { }; 10:38
still segfaults
$imm.perl gives a match
which is $raw<server>
so. yeah.. 10:39
sirmacik Hi there 10:43
TiMBuS rakudo: my $f = 'fdas' ~~ /$<foo>='a'|$<bar>='b'/; say $f<foo>.clone
p6eval rakudo 4bf132: OUTPUT«(timeout)» 10:44
TiMBuS cool
rakudo: my $f = 'fdas' ~~ /$<foo>='a'/; say $f<foo>.clone
p6eval rakudo 4bf132: OUTPUT«(timeout)»
TiMBuS theeere we have it
sirmacik Maybe You know why rakudo gives me Segmentation Fault during compillation? wklej.org/id/509781/ and this is my modified PKGBUILD: wklej.org/id/509782/ 10:45
TiMBuS can't say i know anything about that 10:47
what OS?
moritz perl Configure.pl --parrot-config=/usr/bin/parrot_config --target=pir
sirmacik Archlinux
moritz wtf?
what's that --target doing there?
sirmacik that's rather one of the lines I've tried 10:48
;x
generally it stops on that error with or without any options
TiMBuS: what else do You want to know? 10:49
moritz sirmacik: uhm, did it even successfully configure with that bogus option?
sirmacik yes, but I think that this option is not the problem 10:50
moritz well, it surely indicates a problem
because Configure.pl is supposed to die on unknown options
seems it doesn't 10:51
hm
moritz sirmacik: usually such segfaults come from "tainted" parrot environments 10:51
sirmacik: ie if you installed two parrot versions into the same location, and not all files where overridden
TiMBuS yeah thats all i can think of. have you installed an old old parrot
moritz sirmacik: or if a previous rakudo installation was there, and hasn't been cleaned out before or so 10:52
I haven't seen a rakudo build segfault in a clean environment for ages
TiMBuS a libparrot.so floating around somewhere would also be a problem
sirmacik I've fresh parrot-git 10:53
an there wwasn't any rakudo before. It's quite fresh installation
jnthn Any chance of getting a backtrace so we can see where it segfaults? 10:54
It may or may not help...
sirmacik ok, give me a second 10:55
TiMBuS this is why i now just use --gen-parrot =/ 10:57
sirmacik jnthn: this is log from the part with error wklej.org/id/509802/ 11:16
moritz can enums be monkey-patched? 11:17
jnthn wtf, Parrot crashes when turning PIR into a bytecode file?! 11:20
/usr/bin/parrot -o src/gen/perl6.pbc src/Perl6/Compiler.pir
That's...not something that's liable to fail. :/ 11:21
sirmacik: Any chance you can gdb /usr/bin/parrot and then r -o src/gen/perl6.pbc src/Perl6/Compiler.pir, and bt?
Or similar with your preferred debugger... :)
sirmacik gdb tells me that there are no debugging symbols in /usr/bin/parrot 11:22
tadzik did you --debugging=0 parrot? 11:23
dalek rors: 3d91060 | moritz++ | notes.pod:
some non-conclusive thoughts on error classification
jnthn Oh.
sirmacik └─> /usr/bin/parrot -t -o src/gen/perl6.pbc src/Perl6/Compiler.pir 11:25
error:imcc:loadlib directive could not find library `perl6_group' in file 'src/Perl6/Compiler.pir' line 10
tadzik has anyone tested Rakudo after Parrot's imcc_compreg_pmc merge? 11:29
moritz kinda hopes that the parrot folks have, prior to merging 11:30
doing that now...
moritz sirmacik: fwiw I also get some rakudo segfaults on newest parrot, though not in build 11:44
sirmacik: I recommend to use the parrot revision in the build/PARROT_REVISION file, then you should get a fairly stable rakudo
sirmacik ok, thanks 11:45
sirmacik moritz build with --gen-parrot has also failed with the following error wklej.org/id/509847/ 12:09
moritz sirmacik: what's the name of your make utility? 12:10
is it 'make' or 'gmake' or what?
sirmacik make 12:11
GNU Make 3.81 12:12
moritz hm
moritz lolIblug: perlgeek.de/blog-en/perl-6/grant-re...ors-1.html 12:59
[Coke]: do you follow planetsix? or should I notify you separately when I blog grant progress reports?
jnthn moritz++ 13:00
donri I read that as lolibug 13:01
moritz also bugs people 13:02
jnthn -> huskvarna 13:04
miso2217_ Am I missong something about the exemple on the regex backtracking in the Using Perl 6 book? : 14:26
perl 6: my regex word { \w+ [ \' \w+]? }; my regex dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ m/<&dup>/ { say 'match'; } else { say 'no match'; }
perl6: my regex word { \w+ [ \' \w+]? }; my regex dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ m/<&dup>/ { say 'match'; } else { say 'no match'; }
p6eval rakudo 4bf132, niecza v4-47-gfffa4cd: OUTPUT«match␤»
..pugs: OUTPUT«*** ␤ Unexpected "word"␤ expecting ":" or "("␤ at /tmp/CbZLs64Xp0 line 1, column 10␤»
miso2217_ rakudo: my regex word { \w+ [ \' \w+]? }; my regex dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ m/<&dup>/ { say 'match'; } else { say 'no match'; }
p6eval rakudo 4bf132: OUTPUT«match␤»
miso2217_ rakudo: my regex word { :ratchet \w+ [ \' \w+]? }; my regex dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ m/<&dup>/ { say 'match'; } else { say 'no match'; } 14:27
p6eval rakudo 4bf132: OUTPUT«match␤»
miso2217_ the book says: "no match, doesn't match the 'and' in 'strand' without backtracking" 14:28
moritz rakudo: my regex word { \w+ [ \' \w+]? }; my regex dup { :ratchet <word=&word> \W+ $<word> }; if 'strand and beach' ~~ &dup { say 'match' } else { say 'no match' }
p6eval rakudo 4bf132: OUTPUT«match␤»
moritz hm
miso2217_ rakudo: my token word { \w+ [ \' \w+]? }; my regex dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ m/<&dup>/ { say 'match'; } else { say 'no match'; } 14:29
p6eval rakudo 4bf132: OUTPUT«match␤»
moritz rakudo: my regex word { \w+ [ \' \w+]? }; my regex dup { :ratchet <word=&word> \W+ $<word> }; if 'strand and beach' ~~ &dup { say 'match ', $/ } else { say 'no match' } 14:31
p6eval rakudo 4bf132: OUTPUT«match and and␤»
takadonet morning all 14:40
moritz rakudo: my token word { \w+ [ \' \w+]? }; my regex dup { :ratchet <word=&word> \W+ $<word> }; if 'strand and beach' ~~ &dup { say 'match ', $/ } else { say 'no match' } 14:42
p6eval rakudo 4bf132: OUTPUT«match and and␤»
moritz rakudo: my token word { \w+ [ \' \w+]? }; my regex token { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ &dup { say 'match ', $/ } else { say 'no match' }
p6eval rakudo 4bf132: OUTPUT«Could not find sub &dup␤ in main program body at line 22:/tmp/LDgeMYyrW_␤»
moritz rakudo: my token word { \w+ [ \' \w+]? }; my token dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ &dup { say 'match ', $/ } else { say 'no match' }
p6eval rakudo 4bf132: OUTPUT«match and and␤» 14:43
miso2217_ moritz: may be the exemple is just bad. I don't know if the :ratchet modifier (and token keyword) should control also releasing charachers from the start of the string. The test from the synopses pases as I would it expet to pass: 15:04
rakudo: if 'bazaar' ~~ /:ratchet a* a/ { say '3.1 match' } else { say '3.2 no match' }
p6eval rakudo 4bf132: OUTPUT«3.2 no match␤»
masak hello zebras. greetings from .pl 15:46
tadzik oh, Poland? 15:48
masak that's the one.
tadzik where are you?
masak kraków 15:49
how about you? :)
tadzik oh cool. Right now Izabelin, just outside Warsaw
and usually it's Warsaw
masak thought so.
tadzik business time?
masak yes. I'm here for a three-day CQRS course.
(CQRS is a silly acronym for a deeply cool concept.) 15:50
tadzik quick, a contest for the best match! 15:52
Cows Quite Rove Sweets. Hrm 15:53
masak Can 'Quit' Really Save?
sirmacik "CentOS 5.6 nareszcie wydany" ;F 15:54
tadzik ww? :) 15:55
sirmacik oh, wrong channel... sorry ;x
tadzik (:
masak phenny: "CentOS 5.6 nareszcie wydany"?
phenny masak: "CentOS 5.6 finally released" (pl to en, translate.google.com)
masak 'wydany' == 'out-given'?
sirmacik rather released
masak right. I'm thinking of the etymology. 15:56
tadzik close
you can be "wydany" as a wife
so you become a wife, you're "wydany za mąż"
phenny: "wydany za mąż"?
phenny tadzik: "issued for husband" (pl to en, translate.google.com)
tadzik notmuch 15:57
masak 'issued' and 'released' are sort of synonyms.
tadzik sirmacik: how are the packages? 15:59
sirmacik I have succedeed with building rakudo-git with stable parrot package from Arch's Community repository 16:00
masak \o/
sirmacik it was failing with --gen-parrot and parrot-git ;F
masak that's odd. 16:03
masak is thinking of where to go eat 16:13
tadzik: got any suggestions?
tadzik masak: nah, I'm out of ideas
oh, about eating
hmm, I don't know anything Kraków-specific 16:14
masak ok. :)
tadzik hmm, I'm wondering
masak guess I'll just go to the main square and see what's on offer.
tadzik you can try gastronauci.pl 16:15
that's a community of people liking to eat and rating restaurants
masak ooh
I do love these: en.wikipedia.org/wiki/Pierogi
tadzik :)
masak so if I found such a place, I'd be happy.
tadzik masak: oh, they're everywhere
www.gastronauci.pl/restauracje/krakow
masak \o/ 16:16
tadzik you can easily buy those in a supermarket, put on a frying pan and they're actually good
masak Poland. I could totally live here.
well, I'm in a hotel, so no frying pans nearby.
tadzik I think you can find "Pierogarnia" quite easily
phenny: "pierogarnia"?
phenny tadzik: Language guessing failed, so try suggesting one!
tadzik phenny: I thought so
masak: a Pierogi-specific restaurant, like a Pizzeria
masak a "pirogeria" :) 16:17
tadzik masak: you can check a "pierogarnia" combobox on that site I gave you
masak excellent. I'm glad I asked.
and chance things are open on a Sunday evening? 16:18
moritz miso2217_: point is that every regex, if ratcheting or not, tries every start position until a match is found
tadzik moritz: www.gastronauci.pl/7294-pierogarnia...cek-krakow looks good
masak: I'm quite certain most of those are open
moritz miso2217_: the example doesn't need to backtrack to match
masak "#perl6: helps you find a place to eat" 16:19
thanks, guys.
tadzik "Poland. You're welcome"
phenny: "gościnność"?
phenny tadzik: "hospitality" (pl to en, translate.google.com)
tadzik I think hospitality is known to be a good side of Poland 16:20
well, they say so :)
masak except for the people sitting in information desks. :(
both the girl at the airport and the woman at the train station were clearly uninterested in assisting a tourist. 16:21
oh well. I found the hotel without much trouble. 16:22
tadzik oh, the white-collar people happen to be annoying sometimes
masak I wondered if it was because I was speaking English. that generally gives mixed results around here. 16:23
moritz try with Swedish next time :-) 16:24
masak puts on a chef hat and sprinkles flour all over the place
bork bork bork! 16:25
masak --> nommery
miso2217_ moritz: strange, this one works: if 'aaaab ab' ~~ / :ratchet (<[ab]>* ab) \W+ $0 / { say '3.1 match:', $/ } else { say '3.2 no match' } 16:28
rakudo: if 'aaaab ab' ~~ / :ratchet (<[ab]>* ab) \W+ $0 / { say '3.1 match:', $/ } else { say '3.2 no match' }
p6eval rakudo 4bf132: OUTPUT«3.2 no match␤»
moritz rakudo: say 'aaab' ~~ /<[ab]>* ab/; # should match 16:30
moritz rakudo: say 'aaab' ~~ /:ratchet <[ab]>* ab/; # shouldn't match 16:31
p6eval rakudo 4bf132: OUTPUT«aaab␤»
rakudo 4bf132: OUTPUT«␤»
moritz rakudo: say so 'aaab' ~~ /:ratchet <[ab]>* ab/; # shouldn't match
p6eval rakudo 4bf132: OUTPUT«Bool::False␤»
moritz rakudo: say so 'aaab ab' ~~ /:ratchet (a* b) \s $0/; # matches for the same reason as above 16:32
p6eval rakudo 4bf132: OUTPUT«Bool::True␤»
takadonet i got a lazy grammar! 16:57
moritz \o/ 16:59
moritz was lazy and let takadonet write the lazy grammar :-)
takadonet had to interface directly with parrot but I got somewhat what I wanted 17:00
miso2217_ Ok, si is there any difference between the following two?: 17:21
rakudo: if 'aaaab ab' ~~ / :ratchet (<[ab]>* ab) \W+ $0 / { say '3.1 match:', $/ } else { say '3.2 no match' }
p6eval rakudo 4bf132: OUTPUT«3.2 no match␤»
miso2217_ rakudo: my regex word3 { :ratchet <[ab]>* }; my regex dup3 { :ratchet <word3=&word3> \W+ $<word3> }; if 'aaaab ab' ~~ m/<&dup3>/ { say '4.1 match:', $/; } else { say '4.2 no match'; }
p6eval rakudo 4bf132: OUTPUT«4.1 match:ab ab␤»
moritz miso2217_: (<[ab]>* ab) doesn't match under :ratchet 17:23
miso2217_: because the <[ab]>+ uses up the 'aaaab', and nothing left for the 'ab' to match
it doesn't even get to the \W+ 17:25
miso2217_ moritz: there is sitll ' ab' left for matching no? 17:27
miso2217_ moritz: I'm matching against 'aaaab ab' not just 'aaaab' 17:28
moritz miso2217_: yes, but there's nothing in the regex that could match the ' ' 17:30
masak mmm, pierogi...
moritz miso2217_: the <[ab]>* matches 'aaaab'. Then the 'ab' of the regex is matched against the ' ab' of the string
miso2217_: since it's implicitly anchored, it doesn't match
masak tadzik: what're you using a lazy grammar for? 17:31
tadzik masak: I'm not 17:32
miso2217_ rakudo: if 'aaaab ab' ~~ / :ratchet (<[ab]>*) \W+ $0 / { say '3.1 match:', $/ } else { say '3.2 no match' } 17:34
p6eval rakudo 4bf132: OUTPUT«3.1 match:ab ab␤»
masak tadzik: oops, sorry. mis-tab. 17:35
takadonet: what're you using a lazy grammar for? FASTA?
miso2217_ moritz: ok I see, my mistake. So should the previous one match or not under ratchet?
moritz miso2217_: it should match, but not if it's part of another regex 17:36
miso2217_: there's a fundamental asymmetry between calling a regex directly, and calling it from within another regex 17:37
miso2217_: in the first case there's an always-backtracking .*? implied at the front 17:38
miso2217_ moritz: ah ok. So what about the one from the book?
rakudo: my regex word3 { :ratchet <[ab]>* }; my regex dup3 { :ratchet <word3=&word3> \W+ $<word3> }; if 'aaaab ab' ~~ m/<&dup3>/ { say '4.1 match:', $/; } else { say '4.2 no match'; }
p6eval rakudo 4bf132: OUTPUT«4.1 match:ab ab␤» 17:39
moritz miso2217_: that's probably explained wrongly (or less than awesome) in the book 17:41
miso2217_ moritz: hmm... the book says it shouldn't match and it matches, this is clearly less than awesome :-) 17:43
moritz agreed 17:53
miso2217_ so this is a book issue, the Backtracking chapter requires a working example? 17:58
moritz yes
miso2217_ rakudo: my regex word { \w+ }; my regex dup { <word=&word> \W+ $<word> }; if 'strand and beach' ~~ m/<&dup>/ { say 'match ', $/; } else { say 'no match'; } # the book says: no match, doesn't match the 'and' in 'strand' without backtracking
p6eval rakudo 4bf132: OUTPUT«match and and␤»
miso2217_ moritz: Ok, thx. for your time. 17:59
moritz miso2217_: thank you for checking the book 18:00
pmurias what's the state of the book? 18:02
miso2217_ pmurias: The best available doc on Perl 6, I would say. 18:02
moritz and LTA 18:03
moritz has difficulties finding a real world example of a regex that needs backtracking, even if carefully crafted 18:05
pmurias is there a kindle edition for the book? 18:07
dalek ok: 4507df3 | moritz++ | src/regexes.pod:
[regex] add a note about a wrong example, found by miso2217_++
moritz pmurias: we currently only have xhtml (though headers are missing) and pdf
miso2217_ pmurias: kindle reeds pdf 18:08
sorear good * #perl6
wolverian you don't really want to read pdf on a non-dx kindle. the screen is a bit too small.
pmurias sorear: hi
pmurias has a non-dx kindle 18:09
moritz has a non-kindle
miso2217_ pmurias: ah, a non dx won't be ok for A4/letter format 18:09
masak greetings sorear
moritz the build system of the book accepts arbitrary page dimensions 18:10
I just don't know how the output will look like
moritz ok, speaking of the book 18:11
we wanted another chapter on statements (+ maybe expressions)
what should go into that chapter? 18:12
masak moritz: that's feels like a question without sufficient context. 18:15
why do we want another chapter on statements and maybe expressions?
what prompted the need?
moritz masak: I don't. You wanted, as well as others.
masak huh :) 18:16
masak doesn't remember conversations from day to day anymore... :/
moritz masak: more like 'from year to year' 18:17
masak ah. I feel better now.
moritz what was #phasers called before? 18:20
tadzik perl6sketch? 18:21
Not that I remember :)
moritz I can't find it in the logs, maybe we discussed it at YAPC::EU 18:21
tadzik aaand, remember about the book-ideas
pmurias sorear: what sort of analysis would niecza's .net backend most benefit from? 18:26
sorear moritz: #rakudosketch was a used for a while 18:27
IIRC 18:28
moritz sorear: thanks
pmurias sorear: container elimination, type inference, checking if &take is used so we can drop CPS? 18:30
sorear CPS-dropping is unfeasable because it requires global analysis 18:31
sorear type inference belongs in the middle/front end, because 90% of its value is catching type errors at compile time 18:33
so I guess that leaves container elimination
pmurias what are the things that make niecza slower than C#? 18:39
imamelia Hey, I need a bit of help with the Perl Package Manager. 18:40
masak imamelia: just keep in mind that this is #perl6, not #perl5.
imamelia ...Okay. 18:41
TheMartianGeek Well, I used it only once before, and I've forgotten how to add new modules. 18:41
pmurias sorear: other than containers, CPS and dynamic typing
TheMartianGeek (And apparently forgotten to change my nick...)
pmurias TheMartianGeek: why not ask on #perl?
TheMartianGeek Oop, I"ll be back in a minute...
sorear pmurias: boxing, generic calling conventions, ... 18:52
pmurias sorear: what has the biggest impact? 19:05
sorear dunno 19:08
masak Niecza has ruined my ability to spell 'Nietzsche'. 19:10
tadzik :) 19:46
dalek ok: e0c859e | moritz++ | src/multi-dispatch.pod:
[mmd] MAIN example
19:54
lue hello world! o/ 19:56
tadzik hello lue
TheMartianGeek Hi.
sorear Hello lue.
masak hellue! 19:59
tadzik masak: how are Pierogis? 20:00
masak they were all that I wished for, and more. :)
colomon where are there pierogis?
TheMartianGeek Well, I can't figure this out.
The more programming I do, the more I start to hate Windows...
masak colomon: in Kraków. 20:01
moritz TheMartianGeek: was the same for me
masak (for example)
colomon alas, that's a bit far for me to make it there for dinner. :(
masak TheMartianGeek: the more programming I do, the less Windows seems to matter to me.
colomon: but rest assured that I would welcome you with open arms :)
colomon not if you knew how many pierogis I'd eat. I love those things. ;) 20:02
masak I bought mine.
I'd assume that if you ate a lot, you'd pay correspondingly :P 20:03
TheMartianGeek I suppose I couldn't just move Gtk2.pm and the files that go with it into C:\Perl64\site\lib... 20:05
pmurias masak: you are in Kraków?
masak pmurias: yes! where are you?
pmurias Wrocław
masak: what brought you to Kraków? 20:06
masak pmurias: a three-day course for $work.
pmurias: ah, Wrocław. that's what I thought. 20:07
moritz hopes it tastes good
masak moritz: :P
sorear moritz: I'm looking at perl6/errors now; did you ever see STD.pm6 around line 5980, where 'Confused' is s|||'d into a bunch of different messages? 20:21
moritz sorear: no, thanks for pointing it out 20:22
sorear I think EX::Matcher can be written like when :message<Foo> & :subsystem<bar> { ... } 20:24
masak it's 'X::', no?
moritz let's not bikeshed about that :-) 20:25
moritz sorear: the matcher isn't the problem - it can either be a junction or a class with an overriden .ACCEPTS 20:25
masak no, I'm not willing to bikeshed on that. just seem to recall that it was, according to some Apocalypse or other. 20:26
moritz sorear: the big problem is really how to presen the category values
sorear: for example if I represent the list of phasers as an enum, and soembody adds more phasers, can he augment that enum? 20:27
dalek rors: b3bf1e3 | moritz++ | error-list.txt:
missing erros messages from STD, sorear++ for pointing them out
20:30
moritz phenny: "vydayutsya"_ 20:35
phenny: "vydayutsya"?
phenny moritz: Language guessing failed, so try suggesting one!
moritz phenny: "vydayutsya" ru?
sorear phenny: ru:"vydayutsya"? 20:38
phenny: "ru:vydayutsya"?
phenny sorear: "ru: vydayutsya" (ru to en, translate.google.com)
masak :)
jnthn phenny: видаюця? 20:39
phenny: "видаюця"?
phenny jnthn: "vidayutsya" (ru to en, translate.google.com)
jnthn :)
dalek rors: 7862889 | moritz++ | error-list.txt:
[error-list.txt] add quotes to some error messages, more errors, error message modifiers
jnthn phenny: "выдаюця"? 20:40
phenny jnthn: "vydayutsya" (ru to en, translate.google.com)
jnthn heh...
There's probably a few more permutations. The joy of translit... :)
sorear is it a proper name? 20:41
jnthn No idea :)
jnthn It's not a word I recognize. 20:41
moritz sorear: somebody in #mojo used it like a verb 20:41
sorear phenny: "en:vydayutsya"? 20:42
phenny sorear: "and: vydayutsya" (nl to en, translate.google.com)
moritz sorear: but that doesn't mean it means anything :-)
masak if it's a verb, then it's a reflexive one.
sorear phenny: "en:ru:vydayutsya"?
phenny sorear: "en: ru: vydayutsya" (ru to en, translate.google.com)
sorear sbp: can phenny tanslatate waay from english? 20:43
sbp phenny: en fr "tell sorear that yes, she can!"? 20:48
phenny sbp: "sorear dire que oui, elle peut!" (en to fr, translate.google.com)
moritz (the result doesn't sound quite correct, but that's not phenny's fault) 20:50
phenny: "sorear dire que oui, elle peut!"?
phenny moritz: "sorear say that yes it can!" (fr to en, translate.google.com)
moritz that's what I thought
masak phenny: "dit a sorear que oui, elle peut!"? 20:51
phenny masak: "sorear told that yes it can!" (fr to en, translate.google.com)
masak fails French :P
phenny: "dis a sorear que oui, elle peut!"?
phenny masak: "sorear say that a yes, she can!" (fr to en, translate.google.com)
moritz it confuses object and subject
sorear also imperative and indicative
masak maybe indirect objects are tricky for it. 20:52
moritz indirect object syntax is tricky for me too
masak :)
moritz (both in p5 and p6, for that matter)
tadzik indirect object syntax in 6? 20:53
lue
.oO(Je parles un peu français parce que j'ai un classe de français à l'école.)
er, s/parles/parle/
moritz std: new :Int
p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
moritz same as Int.new
moritz hates it
tadzik . o O ( moi capote ein buton, marchon )
masak o.O
tadzik or whatever, I know fonetics :)
sbp no, object and subject confuses it
tadzik oh wow
rakudo: say sqrt :5 20:54
p6eval rakudo 4bf132: OUTPUT«===SORRY!===␤Malformed radix number at line 22, near ""␤»
moritz wait
masak no-one said Rakudo implements it :)
moritz shouldn#t the invocant colon come after it?
masak btw, I doubt that the colon can really be there.
moritz std: new Int:
p6eval std 4608239: OUTPUT«ok 00:01 121m␤»
masak new Int:
yes.
moritz std: new
p6eval std 4608239: OUTPUT«ok 00:01 117m␤»
tadzik pffff
masak huh.
moritz std: foo
p6eval std 4608239: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'foo' used at line 1␤Check failed␤FAILED 00:01 117m␤»
masak stdbug?
moritz new is ok, foo not?
std: foo 5: 20:55
p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
moritz *that's* indirect object syntax
moritz still hates it
masak :)
then don't use it.
sorear niecza: say chars 12:;
p6eval niecza v4-47-gfffa4cd: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/q8GHI45Yz0 line 1:␤------> say chars 12:⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2)␤ at
../home/p6eval/niecza/src/STD.pm6 line 1141 (…
sorear aww.
tadzik aciidentally remove it from the spec :)
sorear I think it used to work...
masak moritz: it's partly for emulating the 'print STDOUT @stuff' thing. 20:56
moritz: that becomes 'print $*OUT: @stuff' in p6.
moritz masak: I know. I still hate it.
tadzik: he, I could try to temporarily stop email notifications and dalek, and patch it out :-)
sorear moritz: hide it in a branch marge, nobody reads those 20:57
moritz sorear: :-) 20:57
tadzik :)
masak go for it.
moritz it seems nobody here is particularly attached to it, right?
tadzik no worries, we will provide cover fire 20:58
quick! break rakudo!
masak I'm not attached to it. but I would perhaps reserve judgement until we have tried it out a little.
moritz well, let's wait for a veto from TimToady -- if that doesn't come, I'll happily remove it next week
masak hating something on paper is just as bad as liking something on paper :)
but I'm generally happy about parts of the spec that no-one cares for disappering. :) 20:59
moritz masak: I've seen TimToady use it as input to std here on #perl6
masak: it always took me quite some time to parse it correctly myself 21:00
lue What is this indirect object syntax for, anyway? 21:01
masak lue: see my explanation above.
lue: it's at least partly for emulating p5 indirect object syntax.
and p5 indirect object syntax is generally not well-liked.
tadzik to be gentle 21:02
moritz in fact people have gone great length to remove all uses of it from the core docs, except in those spots where the syntax is explained
masak but p6 removes the reason for not liking it in p5, namely that things get hard to parse (by the parser).
lue was there ever a reason for it besides another WTDI? 21:03
moritz masak: it was never about the parser, always about humans
masak: the parsing rules are well defined, even if a bit odd
masak no, even the parser gets flakey due to things like module load order. 21:04
see mst's post about it.
moritz foo bar $stuff # parsed as bar->foo($stuff) if bar is not predeclared as a function
tadzik bleh 21:05
masak exactly. 21:06
tadzik heh, I remember this indirect method calls examlep
my pal fires up `perl` in the shell, of course nothing happens, so he writes `perl` once again, then `prel` once again 21:07
after my "press ^D" we see "method prel not found for invocant of class perl"
or some other way around
masak :(
we could really use a good REPL there instead of... nothing.
tadzik I actually fired -MO=Deparse to see wtf 21:08
moritz I don't like the case foo (some lengthy expression): 21:09
where the : in the end changes the meaning of the leading foo
tadzik yeah, disturbing 21:10
masak there's a similar garden-path problem in the Chinese language. 21:11
a single 的 somewhere halfway down a sentence can change the whole reading of the sentence so far.
it's especially clear when you're doing real-time translation while reading text. 21:12
masak I hope I didn't just give TimToady a linguistic reason to keep the feature :P 21:12
masak 'night, #perl6 21:19
lue goodnight masak o/ 21:19
lue moritz: in error-list.txt (in the errors repo), did you mean obsolete on line 30 (instead of obsolescent)? 21:52
miso2217_ phenny: выдаются 22:05
phenny: "выдаются"?
phenny miso2217_: "issued" (ru to en, translate.google.com)
miso2217_ moritz: I think you were trying to translate this russian word: "выдаются" 22:07
miso2217_ rakudo: if "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18" ~~ m/^^ [.*? ','] ** 14 P / { say "\t match"; } else { say "\t no match"; } 23:32
p6eval rakudo 4bf132: OUTPUT«(timeout)»
miso2217_ rakudo: if "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18" ~~ m/:ratchet ^^ [.*? ','] ** 14 P / { say "\t match"; } else { say "\t no match"; }
p6eval rakudo 4bf132: OUTPUT« no match␤»
sorear What's "P" for? 23:33
miso2217_ moritz: An idea for the Backtracking paragraph of the book, (taken from: www.regular-expressions.info/catastrophic.html) 23:34
sorear: it's only to demonstrate the Backtracking in the book, the current example is bad. 23:35
moritz: if "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18" ~~ m/^^ [.*? ','] ** 14 P / { say "\t match"; } else { say "\t no match"; }
miso2217_ moritz: if "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18" ~~ m/:ratchet ^^ [.*? ','] ** 14 P / { say "\t match"; } else { say "\t no match"; } 23:36
sorear niecza: my $i; "aaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways@ 23:44
niecza: my $i; "aaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways"
p6eval niecza v4-47-gfffa4cd: OUTPUT«===SORRY!===␤␤Any()Unable to parse double quotes at /tmp/xJZmcqFZzU line 1:␤------> aaa" ~~ / [a || a]* { $i++ } <!>/; say "⏏Tried to match $i ways@␤Couldn't find final '"'; gave up at /tmp/xJZmcqFZzU line 1 (EOF):␤------> i++
..} <!>/; say "…
niecza v4-47-gfffa4cd: OUTPUT«Tried to match 2036 ways␤»
sorear niecza: my $i; "aaaaaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways"
p6eval niecza v4-47-gfffa4cd: OUTPUT«Tried to match 16369 ways␤»
sorear niecza: my $i; "aaaaaaaaaaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways"
p6eval niecza v4-47-gfffa4cd: OUTPUT«Tried to match 524268 ways␤»
sorear niecza: my $i; "aaaaaaaaaaaaaaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways" 23:45
p6eval niecza v4-47-gfffa4cd: OUTPUT«(timeout)»
sorear niecza: my $i; "aaaaaaaaaaaaaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways"
p6eval niecza v4-47-gfffa4cd: OUTPUT«(timeout)»
sorear niecza: my $i; "aaaaaaaaaaaaaaaaaaa" ~~ / [a || a]* { $i++ } <!>/; say "Tried to match $i ways"
p6eval niecza v4-47-gfffa4cd: OUTPUT«Tried to match 2097130 ways␤»
sorear miso2217_: perhaps useful