»ö« 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.
sorear o/ TheMartianGeek 00:03
TheMartianGeek ? 00:04
sjohnson he's saying hi
sorear Just hi
TheMartianGeek Hi.
dalek ecza: 680b5fb | sorear++ | / (4 files):
Support unit names with :: and filenames like A/B.pm
dalek ecza: 4f25aea | sorear++ | src/Op.pm6:
Stub in type fields for my and has declarations
00:35
ecza: cab2294 | sorear++ | / (2 files):
Start collecting example code
dalek ecza: e835ea6 | sorear++ | src/niecza:
Parse types on declarators
01:39
ecza: 34092d2 | sorear++ | src/Op.pm6:
Stub in sigil and rw fields for attributes
ecza: bb8c799 | sorear++ | src/ (3 files):
Pass declaration type constraints down to nam-level
dalek ecza: 2e201e7 | sorear++ | / (3 files):
Actually implement variable and attribute type constraining
02:44
sorear std: 2 R.= pred; 02:47
p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
diakopter std: 2 RZ.= 1; 02:54
p6eval std 4608239: OUTPUT«ok 00:01 119m␤»
sorear std: 1 + 2 R:foo 02:57
p6eval std 4608239: OUTPUT«===SORRY!===␤Bogus term at /tmp/svr4UE2FMS line 1 (EOF):␤------> 1 + 2 R:foo⏏<EOL>␤Parse failed␤FAILED 00:01 120m␤»
sorear std: 1 + 2 >>:foo
p6eval std 4608239: OUTPUT«===SORRY!===␤Missing << or >> at /tmp/zOEVWzNXAN line 1:␤------> 1 + 2 >>:foo⏏<EOL>␤ expecting any of:␤ coloncircumfix␤ infix_circumfix_meta_operator␤Parse failed␤FAILED 00:01 119m␤»
sorear std: 1 + 2 :foo=
p6eval std 4608239: OUTPUT«===SORRY!===␤Bogus term at /tmp/iOL9YN5x4R line 1 (EOF):␤------> 1 + 2 :foo=⏏<EOL>␤Parse failed␤FAILED 00:01 120m␤»
sorear std: [:foo] 1, 2, 3
p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
entel woah 03:00
that is ugly
TimToady I don't mind if the semantic analysis blows most of those out of the water, with prejudice... 03:01
takadonet1 pyrimidine: ping 03:02
mberends yawn. waking up in the middle of the night should be put to good use. 06:38
dalek kudo: 3680ac3 | martin++ | tools/test_summary.pl:
[tools/test_summary.pl] switch to grep, improve workarounds for planless tests

The script partly failed on ack-challenged systems, also on those that name it ack-grep, such as Debian/Ubuntu. Now grep does that work more portably.
The script also jumped through some convoluted hoops attempting to calculate the total number of tests planned per script and per Synopsis - one of the drawbacks of planless testing. It now jumps through the hoops in a less convoluted way.
Please give 'time perl tools/test_summary.pl' a try when you would otherwise have run 'make spectest' - it takes the same amount of time and gives a more detailed output. As an added bonus, each test is benchmarked in microseconds with the results accumulating in 'docs/test_summary.times'.
06:40
mberends hmm, must fix my git user name locally again (lost during fresh OS installation) 06:43
woldrich If I want to buy a book on Perl6, what would I buy? 06:58
The Perl6 Essentials book is quite old
sorear is amazed that Perl 6 books exist at *all* 07:01
hello mberends
Tene woldrich: go to a copy shop and print off your own copy of github.com/perl6/book 07:02
woldrich I think that'll be quite expensive though
Tene woldrich: or wait until that is finished and published at some future time.
mberends hi sorear, I wish you were hear (at the hackthon)
Tene woldrich: No, it shouldn't be. In the past when I've done that, it's been around $10-$15 to get it printed and spiral bound 07:03
woldrich I once printed out a Perl5 book on my printer at home. I didnt realize it was > 800 pages. It took a while...
sorear generally agrees with merlyn that mass printing would be premature
sorear mberends: me too! 07:04
woldrich Is merlyn active in the perl6 community? 07:04
Tene www.fedex.com/us/office/ seems to now have a "book printing" option, claiming to start around $13, and that's where I've gone in the past (used to be kinkos, I guess)
sorear he appears from time to time
woldrich I just found this; www.amazon.com/Perl-Another-Virtual...amp;sr=1-1 07:05
Tene sorear: there was a book published about parrot, iirc...
sorear Tene: when I found out about it I laughed 07:06
Tene :D
sorear parrot has been completely redesigned about three times since then
sorear is having difficulty figuring out how to implement $foo .= bar; 07:08
TiMBuS whats the perl6 version of getline 07:09
sorear $fh.get
rakudo: say $*IN.get
TiMBuS thanks. i mindblanked and irc is faster than google
p6eval rakudo 7fb634: OUTPUT«Land der Berge, Land am Strome,␤»
TiMBuS sometimes
and, .lines is lazy correct? 07:10
TiMBuS wait no that wouldnt be the case.. 07:13
moritz_ .lines is lazy, yes 07:14
sorear usually, the arguments to an infix operator are things that evaluate to a value 07:15
the right argument of .= is a method name
moritz_ iirc it's special-cased in the grammar and in the actions 07:16
sorear what actions? :)
moritz_ semantic translation pass 07:21
sorear this is for niecza 07:22
there is no semantic translation for .= yet
moritz_ well, you need one 07:24
dalek ecza: 8b27c3b | sorear++ | / (2 files):
Add support for $x.=foo and $x .= foo
07:27
sorear it does not please me that these two code paths are almost entirely independant in STD 07:28
sorear -> sleep
TiMBuS rakudo: my @l := $*IN.lines; say @l[0]; say $*IN.get; say @l[0]; 07:29
p6eval rakudo 7fb634: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Berge, Land am Strome,␤»
TiMBuS i see..
rakudo: my @l := $*IN.lines; say @l[0]; say $*IN.get; say @l[1]; 07:30
p6eval rakudo 7fb634: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤»
TiMBuS oh boy..
masak morning, zebras. 07:35
sorear masak: *drive by hello* 07:36
just finished my prereport... leaving IRC soon 07:37
masak sorear++
(for prereporting, not for leaving) :)
mberends *chghh*oedemor*chghh*en masak
masak :P
mberends: that's not you in the shower, then... 07:38
mberends was in the bath tbh
masak ooh
I'll just wait here in this comfortable bed then, for the hot water reserve to rebuild itself... :) 07:40
masak digs back into the p5 post
mberends 40°C and building 07:41
masak I don't need any hotter than that, actually... :)
mberends likes it HOT
masak hears jnthn stirring, and dashes for the shower 07:42
mberends impossible, it's before 9am locally and he has no $dayjob today! 07:43
tadzik o/ 07:51
masak mberends: I realized that after the dashing... 07:57
but it was a good way to motivate myself out of the warm, cozy bed. :)
tadzik: \o
mberends o/ tadzik, you is haz a good sleep? 07:59
masak 'is haz' being the perfect participle in lol... 08:00
mberends one of its many uses 08:02
masak "Im shure I is haz the toy mouse sumwhere..." 08:03
mberends s/sumwhere/sumware[z]/ 08:04
masak oh right 08:05
mberends++ # lolgrammarian
mberends nah, just a n00b
tadzik mberends: notmuch, but notbad :) 08:08
masak I feel like a n00b, too. the first thing that happened when I got down here is that I fell into the liquorice trap...
I got out, but just barely. 08:09
mberends oops
masak it was ironic because what I really was after was the juice... :) 08:10
mberends
.oO( iron liquorice juice )
08:11
sound like the name of a '70s psychedelic rock album 08:12
masak :D 08:13
mberends omg jnthn++ is in the shower! 08:16
masak all morning: live reporting from the Berends manor. 08:17
stay tuned for more.
mberends should we create an @vught account on twitter?
masak if this becomes a recurrent thing, sure. 08:18
mberends hopefully the hackathon becomes a recurrent thing, not sure if it can though 08:20
masak no... :/
mberends: we should invite you up to Lund soonish.
and make you wonderful dals and home-made pizzas \o/ 08:21
mberends masak: no need, I autovivify invitations as the opportunities arise :) 08:22
masak oh, by 'we should invite' I really meant 'you should come' :P 08:22
mberends :)
mathw I think that was your invitation :) 08:32
masak $invitation.is-open = True; 08:33
mberends $self.accepts($invitation); 08:44
masak $inviter.perform-gesture('\o/') 08:45
;
mathw $observer.snort($milk, :diversion($nose.interior)); 08:46
masak whoa, I didn't know we were using the Observer pattern... 08:47
also, I think we're breaking Demeter's law with that $nose variable... :P
jnthn oh morning... 08:48
masak jnthn! \o/
jnthn I wish you didn't make me being in the shower seem like a surprising thing :P
masak sounds like you didn't backlog far enough... :) 08:49
mathw oh hai jnthn
TiMBuS it would surprise me if you were in my shower D:
mathw it'd surprise you if you were in mine
it likes to surprise people with sudden temperature fluctuations 08:50
jnthn oh fluc...
mathw and sometimes a cat peering around the curtain
masak 'fluc' sounds like a French fizzy drink.
mberends jnthn: it wasn't sufficiently explained that the $time-of-morning was the surprising part. 08:51
jnthn oh, I see that now... :) 08:52
masak rakudo: say (my %).push("foo" => 2, "foo" => 5).perl
p6eval rakudo 3680ac: OUTPUT«{"foo" => [2, 5]}␤»
jnthn Mmm. There is a tempting pack of stroopwafels sat right next to me. 08:53
moritz_ wow, (my %).push is pretty cool :-)
masak I'm reviewing p5 solutions :)
moritz_ of course you could have used {}.push too :-)
masak hm, true. 08:54
moritz_ but the elitism doesn't shine through {} quite as clearly as through (my %)
masak :D
the contestant doesn't do either, so it's fine.
moritz_ masak++ # -n 08:57
masak++ # -p
masak Rakudo is now NP-complete \o/
tadzik immediately saw the potential for this technique being abused for other options... 08:58
I say let's abuse it till it bites us ;)
mathw jnthn: what are stroopwafels? 08:59
are they things I should know about?
masak mathw: syrup waffles.
moritz_ no! Then more will remain for me
masak mathw: and yes.
moritz_ tadzik: you have table tennis classes? (backlogging...) now I' jealous
masak mathw: they're a Dutch specialty.
jnthn They're amazing.
masak they're probably very unhealthy. 09:00
jdhore I think this week i'm going to do all the local stuff that's supposed to be done for a release...Just so i can make sure i know how to do everything so (if there's nothing broken in Rakudo), the release on the 17th will be super-smooth sailing
masak jdhore: that's a good idea.
mathw hmm
jdhore :D
jnthn puts one into his mouth...MMMMMMM
mathw waffles are something we've never really adopted over here
moritz_ jdhore: you can also fork rakudo on github, and do all of the release, except sending the email
mathw other than the occasionally-found belgian waffles served as dessert
jdhore Also, Waffles FTW 09:01
moritz_ had waffles on Sunday and yesterday for breakfast
jdhore moritz_, Well, I'll prolly rm my tree and do a clean clone on release day. I'm anal like that.
mathw I think the first time I had waffles was in Germany actually 09:02
it was supposed to be Kaffee und Kuchen, but it was Waffeln und Orangensaft instead :)
moritz_ :-) 09:03
"Kafee und Kuchen" is more like a label like "tea time", and doesn't necessarily refer to what is actually offered (though it often does)
mathw I didn't complain 09:04
I'm not much of a fan of Kafee
moritz_ (sorry, Kaffee. Can't spell in my native language either :-) 09:05
tadzik moritz_: that's actually my PE classes 09:06
used to be gym and the swimming pool, you can choose what you want
I should invite you to Poland one day 09:07
mathw I did think that was a bit odd :)
tadzik although there are not many nice Perl events here
moritz_ tadzik: I wish I had that option back then; I've always been doing in it my copious free time, and was rather bad in other PE subjects
tadzik schade 09:08
mathw swimming was the only thing in PE I ever enjoyed 09:14
my teacher even noticed
moritz_ for me swimming was always "trying not to drown" :-) 09:15
moritz_ jnthn: gist.github.com/860081 nqp build fail in ctmo branch 09:27
huh, getting the same error in master 09:30
jnthn: what parrot do you use for building nqp? 09:31
jnthn moritz_: Just using the one in the current parrot revision file, afaik 09:37
jnthn moritz_: oh ouch 09:38
oh wait, I think I found it. 09:39
moritz_ jnthn: once my build works again, I'd like to bump PARROT_REVISION and patch nqp's Configure.pl to explicitly use the generational GC. Would that be OK for you? 09:40
jnthn +1 09:41
moritz_ I don't want to interrupt your productivity by cleaning up new parrot mess... :-)
jnthn Do it in master
moritz_ sure
jnthn I'll merge into ctmo
masak I've always like swimming, too. I took extra long to learn during the mandatory swimming classes in grade school, just because I liked it. :)
jnthn: "ctmo"? Chief Technology Marketing Officer? 09:42
moritz_ CerializaTion of Meta Objects, obviously :-) 09:43
jnthn Compile time Meta Objects :P
masak it rolls off the tongue nicely... "ctmo"...
"Don't worry, this is my Cuban Terrorist Modus Operandi." 09:44
dalek p/ctmo: 5cd263b | jonathan++ | src/pmc/nqplexinfo.pmc:
Remove an assertion check that is no longer valid. Guess they must not get checked on my platform, somehow. moritz++ for noticing.
09:45
jnthn moritz_: ^^ and feel free to cherry pick into master
moritz_ jnthn: will do (and test) 09:47
jmm_ hello guys ! 09:47
masak hello jmm_! 09:48
moritz_ hopes we have girls too 09:48
masak moritz_: I find it slightly over-PC to claim that the generic 'guys' leaves out women... ;)
it's like objecting to the phrase "A small step for Man..." 09:49
mberends rakudo: my $i=3; sub be() { (("night","the","in","strangers")[$i--]~" ").print; }; do be; do be; do be; do be # do
p6eval rakudo 3680ac: OUTPUT«strangers in the night »
huf is on average a middling step for woman
yeah
masak Douglas Hofstadter thinks it's a silent contributor to non-equality, though. he has a fascinating essay wherein he converts the usual gender pronouns into ones pertaining to race. 09:51
it's in "Metamagical Themas"
mathw I do feel most languages miss out on third-person gender-neutral pronouns 09:59
masak Finnish, Estonian and Ido being nice exceptions.
mathw and Lojban :) 10:00
masak of course :P
huf and hungarian :)
masak oh yes.
Finnish, Estonian and Hungarian go together :)
mathw excellent
huf yep
mathw actual natural languages too
masak Mandarin is a funny middle-ground example. their 3p pronouns *sound* the same but are written differently.
mathw in English we seem to end up using 'they' which is rather unsatisfactory
huf there's a downside tho, you lose the disambiguating power of he/she
masak those stupid missionaries introduced the female 3p character. 10:01
mathw huf: does Hungarian not have gender-specific ones as well?
huf nope
mathw interesting
dalek p/ctmo: 4b97ed3 | jonathan++ | / (7 files):
Update bootstrap with setting loading in the compiled code.
mathw Lojban doesn't either, but I'd not have expected to find that in a natural language
moritz_ $ ./nqp t/nqp/05-comments.t 10:02
"load_bytecode" couldn't find file 'NQPCORE.setting.pbc'
huf i'm just glad english doesnt take the gender thing seriously
moritz_ jnthn: that seems to be happening for all test files (in master)
jnthn moritz_: huh
Does it happen in the ctmo branch?
moritz_ that was master, but I'll try ctmo too 10:03
masak "Citrus Tangerine Melon Orange"
jnthn moritz_: Also, do you have an NQPCORE.setting.pbc file?
huf for a second there i thought you had a branch called "cmot"
moritz_ yep, in src/stage{0,1,2}/
jnthn Oh, but it shoulda been copied too 10:04
to the root dir
moritz_ I'll double-check that after I tried ctmo
Tene jnthn: No 6model for me tonight; got stuck with work again :(
dalek p/ctmo: f313172 | jonathan++ | build/Makefile.in:
Makefile.in fix; moritz++ for reporting.
10:06
jnthn Tene: Aww. I didn't get tuits for writng the repr for you yesterday either...so many things to hack on! 10:07
moritz_: See f313172. Bet it's that.
moritz_ tries with cherry-picking 10:09
masak <TimToady> Nil is the absence of an expected value 10:11
with this reasoning, shouldn't hash misses yield a Nil value?
rakudo: my %h; say %h<nonexistent>.WHAT
p6eval rakudo 3680ac: OUTPUT«Any()␤»
masak then again, the hashes are typed as having Any values by default... 10:12
dalek p: f15a5ef | jonathan++ | src/pmc/nqplexinfo.pmc:
Remove an assertion check that is no longer valid. Guess they must not get checked on my platform, somehow. moritz++ for noticing.
10:14
p: 95092bf | moritz++ | build/Makefile.in:
fix Makefile.in by jnthn++ (automatic cherry-pick of f313172 failed, sorry)
jnthn moritz_: Did it help? 10:16
moritz_ jnthn: ja 10:17
build fine, 'make test' same as usual
jnthn moritz_: As in, couple of fails? 10:20
tadzik mberends++ # do be do be do be do 10:21
moritz_ jnthn: as in, 02-modules.t fails 10:28
jnthn: and the rest is clean
(master)
tadzik having trouble building the Book: wklej.org/id/488962/ 10:31
can anyone help?
moritz_ build succeeeds here 10:33
I also get the "UsingPerl6.a4.d: No such file or directory
message 10:34
tadzik: is that failure repeatable after a 'make clean'? 10:35
tadzik moritz_: aye. And git clean 10:38
otoh, I'm not sure if I have all the dependencies, I was hoping make will give me a hint about what's missing 10:39
Tene finally sleeps. 10:41
moritz_ tadzik: it will not 10:43
tadzik darn 10:45
moritz_ go through the README, check 'em all 10:46
tadzik they have different names on my distro, that's the issue
I'll look carefully through it
TiMBuS ok i finally got off my lazy ass (then sat back down on it) and then wrote this: gist.github.com/860141 10:59
it is a more easier IO::Socket::INET
is this ok or did i mess it up 11:00
moritz_ TiMBuS: does it work? both with IPv4 and IPv6?
moritz_ is really not up to judging socket related work
tadzik submethod BUILD { callsame; }
does it work as I expect it to?
moritz_ tadzik: huh?
TiMBuS dunno about ipv6 because parrot
tadzik, it should 11:01
moritz_ tadzik: what do you expect it to do?
it's not a multi
and the parent's submethod is not visible to you
where should it redispatch to?
tadzik oh, it does!
it's the AFTERPARTY I was looking for
TiMBuS if you dont callsame you dont get default values 11:02
tadzik TiMBuS++
moritz_ BUT WHERE DOES IT DISPATCH TO?
TiMBuS Mu
which has BUILD
tadzik yeah. Actually, I was looking for something identical to Moose's BUILD
dalek odel: 8c5e6a6 | jonathan++ | dotnet/runtime/Rakudo.Net.sln:
Update to VS 2010.
odel: 9bc822e | jonathan++ | dt-docs.txt:
Add ducktables docs.
odel: 1e5ee77 | jonathan++ | dotnet/runtime/Metamodel/SharedTable.cs:
32 bits should be enough for anyone.
odel: 26839e7 | jonathan++ | dotnet/runtime/Metamodel/SharedTable.cs:
Implement ducktables.
odel: 5912064 | jonathan++ | java/compiler/Makefile:
Fix make test for Windows.
moritz_ that seems so wrong
tadzik 32 bits should be enough for anyone. :)
jmm_ lol. 11:03
moritz_ (the BUILD redispatch, I mean)
tadzik moritz_: build?
moritz_ tadzik: yes
TiMBuS maybe rakudo does BUILD wrong? im not sure
TiMBuS the spec is not solid enough 11:03
moritz_ agreed
TiMBuS i thiiink BUILDALL is meant to call all the composed classes BUILDs? but in rakudo it doesnt, it needs to chain like javas super() 11:05
tadzik yay, I can build the book 11:06
masak if I change $*OUT.output-line-separator, what would C<say ""> print?
moritz_ has no idea, and is scared of the answer
masak oh, S32/IO actually specs it. 11:07
masak &say is affected. 11:07
S32/IO:1398
in Rakudo, the "\n" is currently hard-coded in &say 11:08
but there's no way to set $*OUT.output-line-separator, so it doesn't matter much.
tadzik wklej.org/id/488979/ # Perlfect! 11:10
TiMBuS masak, according to this thing here *points at parrots test dir* my class should work for ipv6 11:11
masak tadzik: woot!
TiMBuS: sorry, I feel a lack of context in what you just said...
tadzik MAINmazing! 11:12
masak SUBsetOPTIMAL! oh wait.
TiMBuS masak, the IO::Socket::INET class i gisted before. it shoudl work with ipv6
waaait a second
that was moritz_
masak ah.
moritz_ \o/ 11:13
TiMBuS: care to write it up as a patch and RT it? (or pull request)
TiMBuS i have confused you by getting you both confused
moritz_ I'll go to lunch rather soonish, and I'd hate it if it got lost somewhere
TiMBuS i guess i can do that
tadzik if I have an $a = "foo", can I run sub foo like $a->() or somehow, w/o eval? 11:16
moritz_ tadzik: subroutine calling by name is NYI 11:17
it should work as ::('&foo').() or so
masak niecza: sub foo { say "OH HAI" }; foo; ::('&foo').() 11:18
tadzik oh, it's too ugly to use anyway :)
p6eval niecza v3-59-g8b27c3b: OUTPUT«Unhandled exception: JSON writer encountered value of type StringLiteral␤ at /home/p6eval/niecza/boot/lib/JSYNC.pm6 line 0 (JSYNC to-json @ 0)␤ at /home/p6eval/niecza/src/NAMOutput.pm6 line 15 (NAMOutput NAMOutput.run @ 5)␤ at
../home/p6eval/niecza/src/NieczaBackendDotnet.pm6 line…
masak tadzik: ugly both on the surface and inside :)
moritz_ tadzik: maybe a pir::findlex or so :-)
masak eeeew!
tadzik :P 11:19
moritz_ rakudo: sub foo { say "OH PIR" }; (Q:PIR { %r = find_lex '&foo' }).()
p6eval rakudo 3680ac: OUTPUT«OH PIR␤»
masak o.O
moritz_ yes, I have an ugly mind
masak moritz_: I feel tempted to withdraw some karma from you right now... :P 11:20
moritz_ to my credit I have avoided an eval
masak *lol*
moritz_ rakudo: sub foo { say "OH PIR" }; callframe.my<&foo>.() 11:21
p6eval rakudo 3680ac: OUTPUT«OH PIR␤»
moritz_ better?
masak lots.
moritz_ (though it has the disadvantage not to look in outer frames)
masak maybe lexical lookup should be an exposed action in the language. 11:22
moritz_ it is
through ::() 11:23
masak right.
moritz_ and the MY psoeudopackage
masak I just remembered, many years ago, someone (I think it was moritz_) karma-punished me for doing this on the channel: 11:26
pugs: my $lang = "perl"; $lang++ for ^45565; say $lang 11:27
p6eval pugs: OUTPUT«ruby␤»
masak ;)
flussence XD
masak with a slightly lower value of 45565, you can get 'pyth' as well. 11:28
quite a bit lower, actually.
tadzik oh wtf is that? :D
masak still a contentious topic, I see. :P 11:29
tadzik oh, I see 11:30
masak oh, you were wondering how it worked? 11:31
moritz_ irclog.perlgeek.de/perl6/2007-07-17#i_64556 earliest mention
tadzik aye
I underestimated then smartness of Str++ :)
masak yep, there's the -- :)
wow, that's 3.5 years ago. 11:32
tadzik irclog.perlgeek.de/perl6/2007-07-17#i_64543 I think you mean here
masak you see that it lead to some interesting feature discussion, too ;)
moritz_ masak: funny thing is, in 2009-11 you mentioned that as the first time you got negative karma on #perl6
it seems to have had a lasting impression 11:33
tadzik rakudo: my $lang = "perl"; $lang++ for ^6762; say $lang # I like this one too
p6eval rakudo 3680ac: OUTPUT«porn␤»
masak moritz_: hah. I wasn't aware I had mentioned it before. :) 11:34
yes, it's definitely one of my early memories of the channel. I guess I take negative karma seriously. :)
flussence hm, .comb is O(n²) for input size... I thought that was fixed a while ago 11:35
tadzik huh, I think there's something wrong about the book's build system
masak flussence: that's... awful. :(
tadzik wklej.org/id/488990/txt/
dalek odel: 215ffc3 | jonathan++ | java/compiler/ (2 files):
Add Jasmin JAR and license.
11:36
tadzik is INIT nyi? 11:43
masak ...in...?
tadzik in Rakudo, sorry
masak nyi
tadzik shame
donri So I read 15 chapters of MoR yesterday 11:44
masak :D
tadzik :) 11:49
rakudo: class A::B {}; class A {} # somebody please fix this :( 11:50
p6eval rakudo 3680ac: ( no output )
tadzik ...oh?
masak rakudo: class A::B {}; class A {}; say "alive"
p6eval rakudo 3680ac: OUTPUT«alive␤»
masak probably only bites you if you have .pm files
tadzik yeah 11:51
well, I guess I'll just temporarily rename Panda to Zebra :>
masak and you can workaround it by doing class A { ... } before loading the .pm file with A::B in it.
tadzik hmm
I can put the uses in the class :) 11:53
masak or that.
"This class is use-ful."
tadzik yay, I quite like the code Pies/Panda has become 11:57
unusual for the module managers I write :)
and panda takes only 4 seconds to start 11:58
dalek odel: 7a3e9da | jonathan++ | java/compiler/ (4 files):
A few little bits of infrastructure to get us started with making JASM, plus a stubbed out JST2JASM that'll need lots of filling out.
12:01
mberends tadzik++ # Śliwka Nałęczowska from Czekoladowa Solidarność # I always thought Solidarity was a political party, now I know they make superb chocolates 12:26
masak ooh, imagine forming a political party based on the solidarity of chocolate! 12:27
I think that might be a big success, if planned right. 12:28
mberends no, it would come to a sticky end
masak :P
dalek p/ctmo: f5e0d27 | jonathan++ | / (4 files):
Break NQP meta-objects out into a separate file. This means that it won't be needed to load full NQP grammar/actions/compiler just to run pre-compiled output. This should also mean that an NQP pre-compiled program with classes won't have to pre-load anything.
12:55
p/ctmo: c8f8081 | jonathan++ | / (7 files):
Push break-out of the meta-objects into the bootstrap.
tadzik mberends, masak: that's actually a fun fact about these chocolates :) They advertise themselves (the company, not the chocolates) as the "existing for half a century" company, probably not to be mistaken with the political party :) 13:32
I'm glad you like them, and I'm a bit jelly too :> 13:33
masak we're all a bit jelly :P
tadzik ;) 13:34
I have a feeling that English is a pun-oriented language
masak well, you know. optimize for pun.
tadzik . o O ( puns in Perl: my char $mander; )
donri say .WHAT 13:40
flussence Moo
tadzik rakudo: given "what" { .say; .WHAT } 13:41
p6eval rakudo 3680ac: OUTPUT«what␤»
flussence rakudo: WHAT <you>.say ?????!!!!! 13:43
p6eval rakudo 3680ac: OUTPUT«you␤Stub code executed in <anon> at line 22:/tmp/WgFRrZbZMV␤Null PMC access in type()␤ in 'WHAT' at line 786:CORE.setting␤ in main program body at line 22:/tmp/WgFRrZbZMV␤»
donri rakudo: given class FourtyTwo {}.new { say .WHAT }
p6eval rakudo 3680ac: OUTPUT«===SORRY!===␤Missing block at line 22, near ".new { say"␤»
donri rakudo: given class FourtyTwo {}.new: { say .WHAT } 13:44
p6eval rakudo 3680ac: OUTPUT«===SORRY!===␤Missing block at line 22, near ".new: { sa"␤»
donri rakudo: given class FourtyTwo {}.new() { say .WHAT }
p6eval rakudo 3680ac: OUTPUT«===SORRY!===␤Missing block at line 22, near ".new() { s"␤»
donri rakudo: given (class FourtyTwo {}).new() { say .WHAT }
p6eval rakudo 3680ac: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤ in main program body at line 1␤»
tadzik *.WHAT
or not
donri rakudo: say .WHAT given "answer" but { method WHAT { 42 } } 13:47
p6eval rakudo 3680ac: OUTPUT«Useless declaration of has-scoped Method in a module; add our or my to install it in the lexpad or namespace␤()␤»
donri rakudo: say .WHAT given "answer" but method WHAT { 42 } 13:48
p6eval rakudo 3680ac: OUTPUT«Useless declaration of has-scoped Method in a module; add our or my to install it in the lexpad or namespace␤()␤»
donri i forgot, hows that work
moritz_ say .WHAT given "answer" but role { method WHAT { 42 } }
rakudo: say .WHAT given "answer" but role { method WHAT { 42 } }
p6eval rakudo 3680ac: OUTPUT«42␤»
donri :D
dalek p/ctmo: 01e36d5 | jonathan++ | / (4 files):
Start moving NQPMu and the native types into the setting. Need to do a temporary rename to avoid conflicts with the version in the pre-move compiler.
13:50
p/ctmo: 0af1138 | jonathan++ | src/stage0/ (7 files):
Update the bootstrap to excise the old NQPMu that was in with the meta-objects file.
p/ctmo: 99d0cef | jonathan++ | src/ (2 files):
Revert the temporary renaming done while moving NQPMu.
p/ctmo: decd296 | jonathan++ | src/stage0/ (6 files):
Update bootstrap again to eliminate rename hack while moving NQPMu. This means it's now in the setting where it belongs, rather than part of the meta-objects library. It also means that no meta-object is used in the same compilation unit as it is defined, which unblocks various other things.
jmm_ what do you guys use in vim for perl6 ? for like syntax highligh or code completion . 13:54
Su-Shee the perl6 syntax file.
donri .g perl6.vim
phenny donri: m19s28.dyndns.org/iblech/stuff/pugs.../perl6.vim
donri .g perl6.vim github
phenny donri: github.com/petdance/vim-perl/pull/41
Su-Shee that one it is. 13:55
jmm_ woot :)
do you have code completion too ?
Su-Shee err.. no. ;)
unless it works with ctrl-p anyways. try it.
flussence doesn't work with hyphenated identifiers though 13:56
jmm_ allright ! 13:56
donri set isi+=- 13:57
moritz_ I think literal++ commented that it's not that easy
donri isk+=- too? :) 13:58
moritz_ dunno 13:59
just try it
flussence wfm
jmm_ umm color highlight works fine, but completion just for keywords. 14:05
tadzik dois this isi/isk fix the fancy-identifiers? 14:06
oh, I'm suprised there's a completion for keywords :P
jmm_ I don't understand what you said :\ 14:07
it would be nice to have completion on object's method.
donri that's impossible to get perfect with dynamic languages without executing the code
jmm_ too bad :\ 14:08
I've seen completion in netbeans editor( for java ) , it was really nice. 14:09
donri yes, java is not as dynamic :) 14:09
you can do some omnicompletion for dynamic languages, but as i said you can't expect it to work perfectly in all situations
i221077 Perl6 is more static then other dynamic languages so it should allow decent completion 14:11
donri oh?
moritz_ i221077: that's a bold overgeneralization
moritz_ i221077: Perl 6 allows type annotations, but doesn't force you to write any 14:11
donri even if there's truth to that it'd still be rather complicated to do without execution 14:12
moritz_ (gradual typing)
donri moritz_: it's not really just about static types though
pmurias moritz_: but a lot of stuff is lexical, so it's easier to infer things
donri e.g. you can do monkey patching
moritz_ so it only helps you if actually use these types
donri you can do lexically scoped imports etc etc ad nausium :D
moritz_ pmurias: at compile time, yes; with pure syntactic analysis, not so easily 14:13
flussence std is pretty good at that though
moritz_ at providing lists of available methods? that's new to me
donri perl6.vim is already said to be mad slow for larger files 14:13
tadzik it'll aye 14:14
flussence it's clever enough to figure out when a thing has been declared and when it hasn't...
std: sub xyz { }; xyz
p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
flussence std: sub xyqqqqqqz { }; xyz
p6eval std 4608239: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'xyz' used at line 1␤Check failed␤FAILED 00:01 118m␤»
donri hm though i wonder if you could hook a proper non-vimscript parser to a vim ftype
flussence it must store a list of seen methods *somewhere*...
pmurias moritz_: why are we limited to pure syntactic analysis? 14:15
donri std: eval("sub xyz {}"); xyz
p6eval std 4608239: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'xyz' used at line 1␤Check failed␤FAILED 00:01 119m␤»
moritz_ pmurias: because you don't want to write a full compiler in vimscript :-) 14:16
donri in the end eval can always mess anything up :P
moritz_ no
for example eval can't install new lexicals
donri when I said dynamic languages are difficult to analyze from just syntax, i probably meant meta programming
pmurias moritz_: i don't want to write anything in vimscript
donri moritz_: ok so bad example but i bet you can do eval-like meta programming 14:17
flussence
.oO( vimscript needs a decent framework like html has, so people don't have to write it manually )
14:17
moritz_ pmurias: vim autocompletion was our current topic. If you don't talk about the current topic, please let me know so that I can context-switch
donri .^add_method(<foo bar>.join("-"), ...)
try get a completer to understand that
tadzik imperlsibble :) 14:18
donri :D
worse, whether that code even runs might depend on conditionals etc etc
pmurias moritz_: can't vim call external processes?
moritz_ pmurias: it can; but then you'd have to reparse the code for every autocompletion 14:19
flussence the traditional way of doing it is to make ctags do all the parsing work and vim just reads the keyword list that outputs
donri yea, that works fine for statically defined terms 14:20
which is usually good enough
i wish perl6 had introspectable comments, like python docstrings 14:21
i suppose you can do it with roles, not as sugary syntactically though 14:22
flussence Perl 6 does, it's just that `perl6` doesn't
donri oh? :P
flussence #= syntax
donri oh, i thought that was just a pge thing
is that supposed to, eventually, work for say, class definitions? 14:23
moritz_ donri: S26 elaborates on that
donri thanks 14:24
moritz_ bemoans the lack of new MoR chapters
donri I read 15 chapters yesterday :) 14:25
haha, POD and Pod not the same thing 14:26
i suppose it's like how 'regex' in perl6 ≠ 'regular expressions' 14:27
moritz_ POD = the Perl 5 thing
Pod = the Perl 6 thing
donri yea, reading s26
tadzik perl's odd documentation 14:31
flussence is there a Pod grammar yet?
pmurias moritz_: i don't want to write anything in vimscripttadzik> perl's odd documentation 14:36
15:31 < flussence> is there a Pod grammar yet?
sorry
15:32 -!- porter235 [~porter235@CPE001a704e2936-CM001ac315290c.cpe.net.cable.rogers.com] has quit [Ping timeout: 246 seconds]
moritz_: what's MoR?
masak pmurias: "Methods of Rationality" 14:37
phenny: google "Methods of Rationality"
!google "Methods of Rationality"
.google "Methods of Rationality"
oh well. worth a shot :)
moritz_ .g "Methods of Rationality"
phenny moritz_: www.fanfiction.net/s/5782108/1/Harr...ationality
masak \o/ 14:38
masak people! 14:55
strangelyconsistent.org/blog/p5-fin...-substring
moritz_ finally! 14:56
masak sorry about the delay :)
moritz_ I can't understand why matthias' solution is so fast 15:01
moritz_ it uses lots of idioms that are slow in rakudo 15:02
like gather/take
moritz_ and [~], which is much slower than join '' 15:02
I can't imagine that iteration over the Z result being fast either 15:03
oh.
masak: I think the 'next unless %offsetB.exists: $chr;
very much optimizes for the case of no common substring
masak we have some theories here.
or, well, jnthn++ does. 15:04
moritz_ (which to me seems rather artifically constructed for long strings)
do tell
masak for loops don't have a sink mode right now.
moritz_ one thing it does well: few scopes
ie statement modifiers instead of statement + block
masak so while fox's solution with X is cool, it's definitely a killer when it comes to generating garbage for the GC. 15:05
I think everyone would have been much better off using while loops.
jnthn For speed, not for code clensliness though. 15:06
moritz_ sure
jnthn But yes, the lack of proper sink is a killer for long for loops.
I only discovered that issue this weekend. 15:07
moritz_ but how does that make that one fast?
it uses two for-loops
masak but the inner one is seldom run, as you say. 15:09
and when it is, it's often lots shorter.
if anyone feels like taking an alternative shot at doing statistics and then blogging about it, please feel free. 15:10
just be aware that it takes a long time, both the gathering of data, and the presentation. 15:11
jnthn Any further analysis that identifies what particular constructs are slow is, of course, intresting.
pyrimidine takadonet: pong 15:12
masak moritz_: your point about the 'next' line optimizing for the case of no common substring probably helps explain why the variance of matthias's solution is slightly larger than the rest. there's a difference between the Y and N runs.
reading the data is numbers bears that out.
moritz_ can see that masak is going to have a difficult time announcing the winner 15:13
masak I'm glad we agree on that.
moritz_ everybody botched at least one submission, iirc
colomon++ had exponential time in his first solution
masak yes, but I had designed for that.
I have a strategy which I hope will work.
moritz_ fox++ relied on all() in p3
my p4 was quite bad, and I had a nasty error in p5 15:14
matthias didn't have a p4 submission at all
and Util++'s doesn't quite count either
masak right. matthias is completely out, and Util mostly so.
moritz_ ah, Util++ also made the same mistake in p3 15:15
moritz_ doesn't know if correctness is an ultimate killer in evaluation
(oh, and fox' p1 submission was also not quite correct)
masak correctness weighs fairly heavily, but is not all-or-nothing, I think. 15:16
colomon o/
masak colomon: \o
moritz_ should make some correctness/readability/clarity heat maps 15:17
oh wait, that's masak's task :-)
masak :)
I just might.
sorear good * #perl6 15:18
masak sorear: \o
jnthn o/ sorear 15:20
colomon So, I'm looking for suggestions on how to improve the benchmark graphs. sorear++ suggested having the same vertical scale and/or a logarithmatic vertical scale. 15:41
Having the same for all of them is actually impractical, because some take minutes and some take seconds. 15:42
Should all the graphs go down to 0, though? That would help make the scaling clearer, I think.
sorear I was thinking having all of them as % improvement relative to $FIXED_TIME
so if there were no Rakudo changes, all the graphs would be horizontal lines at 1
colomon oooo, that's an interesting idea I hadn't considered. 15:43
PerlJam sorear++ But what should be the start time? 15:43
sorear PerlJam: perhaps "the first release of R*" 15:44
PerlJam Hmm. I was thinking the "birth" of rakudo-ng
but first release of R* has a better psychological appeal I guess
colomon The first release of R* was July, right? So that's just the time for the first run in the benchmarks. 15:46
PerlJam aye
colomon The only potential long-term problem with that idea is that in the future, some benchmarks may not work on earlier versions of Rakudo. 15:47
but we could solve that by making the baseline for that benchmark the first one it does work on.
moritz_ rakudo: say rx/a/.WHAT 16:11
p6eval rakudo 3680ac: OUTPUT«Regex()␤»
moritz_ where is class Regex defined?
ah, in src/builtins/Regex.pir
nqp: say((/foo/).WHAT) 16:12
p6eval nqp: OUTPUT«"load_bytecode" couldn't find file 'NQPCORE.setting.pbc'␤current instr.: 'nqp;NQP;Compiler;_block35' pc 128323 (gen/nqp-grammar.pir:6209)␤»
jnthn hm :S 16:13
moritz_ recompiling now
locally I get 16:14
jnthn ah, ok, it's not latest. :)
moritz_ Can only use get_what on a RakudoObject
jnthn That makes some sense.
moritz_ $ ./nqp -e 'say(pir::typeof(/foo/))'
Regex;Regex
jnthn Regex::Regex isn't 6model-ized yet.
moritz_ os that the Regex HLL, class Regex?
s/os/is/
jnthn No, just Regex namespace, class Regex
It probably can be shuffld over to 6model 16:15
moritz_ has bad experiences with 6model-izing stuff :/
jnthn Match got quite some way.
moritz_ rakudo: say Regex::Regex
jnthn I'll pick that up again in a bit.
p6eval rakudo 3680ac: OUTPUT«Can not find sub Regex::Regex␤ in main program body at line 1␤»
moritz_ rakudo's Regex inherits from Method, not from Regex::Regex
moritz_ confused
nqp: say("alive") 16:16
p6eval nqp: OUTPUT«alive␤»
jnthn moritz_: that makes sense 16:18
Regex::Regex is just a wrapper around a Parrot sub
moritz_ ok
dalek p/ctmo: 5b5b706 | jonathan++ | src/ops/nqp.ops:
Add ops for setting/getting serialization context for an object.
16:24
p/ctmo: c35442c | jonathan++ | src/NQP/Grammar.pm:
Pass repr along to pkg_create_mo correctly.
p/ctmo: 00ec5f3 | jonathan++ | src/ (2 files):
Do initial meta-object instantiation via the serialization context builder.
KyleHa Is there a masak in the house? 16:36
takadonet pokes masak
dalek p/ctmo: a3d104e | jonathan++ | src/ (2 files):
Twiddle to make roles work again. Kinda defers a tricky problem for later, mind...
16:37
jnthn I'm in a house with a masak
masak comes alive
KyleHa: oh hai
KyleHa masak! Thank you for answering my call! 16:38
masak no problemo.
how may I serve you?
KyleHa I just read your write-up of the p5 longest common string problem.
KyleHa I wanted to know how you made that awesome box plot of the result data. 16:38
masak ah :) 16:39
I used a program called Gnumeric.
KyleHa I think I've heard of Gnumeric.
masak I saved the graph I made to SVG, then I exported the SVG to PNG using Inkscape.
not sure the last step was needed.
it was moritz_++' suggestion to make a box plot. 16:40
KyleHa I've been a big fan of box plots for years, but I don't often see software that makes them.
I wanted one last week, but I didn't want to write the code for it like last time. 16:41
Thank you thank you masak.
PerlJam for some reason I missed the write of on p5 16:42
masak it's relatively recent.
PerlJam matthias++ :-)
masak KyleHa: glad to help :)
masak TimToady: S03:957 -- "sufficiently large to contain all non-zero integer results (which for XOR is at most the size of the longer of the two buffers)" -- is this implying that all zeroes in the result are stripped away? 16:52
dalek p/ctmo: 7896584 | jonathan++ | src/stage0/ (6 files):
Update the bootstrap; all this works (phew!)
16:54
PerlJam masak: I would think that passage really wants to mean that only prefix zeroes are stripped. 16:55
TimToady masak: it's trying to say that trailing 0's may be stripped 16:56
dakkar "trailing"? do you read numbers lsb-first? :) 16:57
TimToady the position of the bits is important, so leading 0's cannot be stripped
dakkar which means that I have no idea what I'm commenting on…
PerlJam languages suck :)
dakkar goes back to the cave
PerlJam just make sure you get your RTL or LTR correct and strip the appropriate zeroes :) 16:58
dakkar ooh, buffer bitwise and, not number bitwise and
now it makes sense
flussence (bah. vim's insistence on double-spacing sentences with `gq` is annoying.) 17:26
TimToady rakudo: class A {}; sub MAIN { say "ok" }
p6eval rakudo 3680ac: OUTPUT«ok␤»
TimToady rakudo: class A; sub MAIN { say "ok" }
p6eval rakudo 3680ac: ( no output )
TimToady that's a bug 17:27
flussence: not annoying to those of us who prefer double-spacing :)
flussence blames html for making me prefer this way 17:29
masak it's in RT. 17:31
TimToady 'k
wanted to write an entry for rosettacode.org/wiki/Scripted_Main using the buggy form... 17:32
shortcircuit Scripted_Main is going through a lot of churn right now, just trying to define what it's supposed to do. 17:35
Really, really, really busy at work right now, can't talk about it this second. 17:36
TimToady whatever it is, Perl 6 does it
daxim en.wikipedia.org/wiki/Rule_110 17:37
masak rakudo: say [min] 3, 6; 17:39
mberends rakudo: say min(3,6)
p6eval rakudo 3680ac: OUTPUT«3␤» 17:39
rakudo 3680ac: OUTPUT«Unable to handle non-closure Ordering yet␤ in 'Any::min' at line 1561:CORE.setting␤ in 'min' at line 1871:CORE.setting␤ in main program body at line 22:/tmp/Ptp4HPx3zJ␤»
masak can I pls kill the &min function? 17:39
rakudo: say (3,6).min
p6eval rakudo 3680ac: OUTPUT«3␤»
masak alternatively, mberends is suggesting killing the first parameter of the &min function. 17:40
actually, I'm not even going to ask permission. it's wrong.
moritz_ thinks we've had that discussion before.
masak our multi min( *@values, Ordering :$by ) 17:41
how come we're running up against this problem in the first place?
3, 6 should end up in @values, no?
masak dives into Rakudo source
TimToady rosettacode.org/wiki/Scripted_Main#Perl_6
daxim LUE means what? 17:42
TimToady lue: what does LUE mean? :)
daxim is enlightened
masak oh!
proto sub min($by, *@values) { @values.min($by); } 17:43
masak submits rakudobug
Rakudo is not to spec, that's all.
TimToady wonders why it's "by"... 17:44
oh, "by ordering" I guess
dakkar «@strings.min :by(*.length)» or however it's written? 17:45
TimToady std: *.length
p6eval std 4608239: OUTPUT«ok 00:01 118m␤»
TimToady hmm 17:46
should be *.chars or some such
masak someone, I forget who, once sent to p6l a long list of suggestions for improved parameter names in the setting. 17:49
no action was ever taken on it.
it would be heroic and very much appreciated for someone to make that a personal project.
PerlJam was a ticket created on it? 17:50
masak no. 17:50
:(
if I find the email, I'll do that.
TimToady as long as "improved" doesn't just mean COBOLized... 17:51
masak ISTR they were mostly, or at least partly, very sane suggestions. 17:51
the main point is that even the names of positional parameters matter a lot now that you can refer to them by name. 17:52
it wouldn't surprise me if the sender of that email had a Smalltalk background.
:)
TimToady sure, but there's something to be said for expecting infix operands to be named $x and $y
masak aye. 17:53
PerlJam you don't like $addend1 and $addend2 ? ;)
TimToady
.oO(subtrahend...)
masak I'd have guessed $lhs and $rhs.
tadzik jnthn: wklej.org/id/489187/ could you apply this to nqp? Fixes build under GNU make 17:54
TimToady what if you're programming in Hebrew or Arabic?
then left and right are reversed
moritz_ hugme: add tadzik to nqp
hugme moritz_: sorry, I don't know anything about project 'nqp'
TimToady never mind that lhs and rhs are rather Anglo-centric
jnthn tadzik: I thought moritz_++ already did that.
TimToady and what about people who don't have hands? 17:55
moritz_ jnthn: probably not in all branches
tadzik jnthn: wklej.org/id/489188/ also, this for ctmo branch
jnthn tadzik: Gotta pack for airport now, and can't seem to be able to give out commit bits on nqp 17:55
tadzik jnthn: no worries 17:56
PerlJam tadzik: moving two lines that are commented out fixes bugs?
jnthn Will apply when I get back, if nobody beats me to it.
tadzik PerlJam: yes
moritz_ jnthn: how liberal should nqp commit policy be? as mu? or as nqp-rx?
jnthn (gnu make)--
PerlJam wow.
tadzik gmake doesn't like it if one of the multi-line lines is a comment
jnthn moritz_: Think pmichaud_ said it should be quite liberal.
tadzik for then it doesn't really end with \
jnthn moritz_: nqp-rx is more liberal than Rakudo, fwiw.
moritz_ I know 17:57
jnthn We could go for nqp-rx level
jnthn packs for airport
moritz_ tadzik: you should have commit access.
tadzik moritz_: thanks; does ctmo build for you?
moritz_ tadzik: dunno, master seems to work 17:58
tadzik oh, so I'm obliged to ocassionally fix stuff now :)
moritz_ I didn't change anything, you already had it
nqp-rx and nqp share the same team on github
tadzik yeah, I now noticed I have the ssh url in .git/config
moritz_ tadzik: oh, I have an uncommitted fix for ctmo in my repo 17:59
which I forgot to push, moritz_--
dalek p/ctmo: 1f3568a | moritz++ | build/Makefile.in:
make GNU make happy again
tadzik oh, seems that master is fixed 18:00
ah, there we go :) I had 37 unpulled commits, seems I was not on master at the beginning
I _really_ need that git branch name in zsh prompt
oh, I get errors anyway 18:01
maybe that's something I can fix :>
PerlJam tadzik: putting the git info as part of the prompt has been a tremendous help to me. 18:02
tadzik moritz_: wklej.org/id/489197/ don't you get something similar?
masak just for everyone's information, colomon has presented statistics which show that my statistics in the p5 blog post are quite one-sided. 18:04
it now again looks as if colomon's is the faster algorithm, just not for the kind of data I chose.
PerlJam masak: sure they are ... they're all from the masak side of the universe :)
what changed? 18:05
masak new data, that's all.
I'll let colomon blog his findings.
masak --> plane
TimToady o/
PerlJam blah! He was too quick for me to tell him to have a safe flight 18:06
jnthn --> flight too :)
TimToady o/
PerlJam masak: have a safe and enjoyable flight!
jnthn: have a safe and enjoyable flight!
:)
jnthn Thanks!
o/
TimToady --> shower 18:07
tadzik fly safe!
TimToady
.oO(flying in the shower doesn't sound safe...)
18:08
tadzik oh, everyone can be safe in a shower w/o flying, hence my wishes 18:09
colomon I would like to clarify that I have no general proof my p5 solution is faster. I just found a different set of test data where mine is faster than matthias's. I haven't timed any of the others yet, and I have a potential optimization for matthias's that may get it back in the running again, too.
PerlJam colomon: yeah, even reading masak's description of his test data it seemed very ... simple 18:10
colomon PerlJam: The thing is that in masak's sample data, the only characters that overlap between the two strings are the ones in the section that matches.
PerlJam aye
colomon So for most of the test, the inner loop is quickly skipped.
PerlJam he didn't adequately test the "many failures" or "many successes" 18:11
colomon I just fed it some normal English text instead, and suddenly it performs like you'd expect code that has a gather in an inner loop -- slow.
The gather doesn't actually have to be in the inner loop, so I'm going to try removing it and see how that helps things. 18:13
colomon ooo, #phasers in 46? 18:14
or is everyone else either in the air or in the shower? 18:16
Util Yes, #phasers in ... 44 now 18:17
PerlJam I'm hovering about .3 meters off of the floor right now
PerlJam (of course, I'm in a chair, so I don't know if you'd call that "in the air" :) 18:18
dalek ar: 00d0d01 | Util++ | build/binary/darwin_dmg/ (6 files):
Add code to build a binary .dmg package for OS X.
18:21
dalek ar: fd840ed | Util++ | build/binary/darwin_dmg/package_darwin_dmg.pl:
Remove stray line of invalid code
18:53
lichtkind moritz_: friday 6pm is allright? 19:58
sjohnson perlpals 20:00
lichtkind hai sjohnson 20:05
sjohnson hi
lichtkind sjohnson: may i ask whats your selchoosen task? 20:06
dalek ar: 936462e | Util++ | build/binary/darwin_dmg/package_darwin_dmg.pl:
Add Camelia icon to the packaged contents
sjohnson what's a selchoosen task? 20:09
wallberg hi all! I wanted to have a chat with masak but just now saw that he was leaving for a plane. Does anyone know if he has moved from Uppsala?
sjohnson the only task i have is to stay out of the way of developers while they work on p6 :)
tadzik wallberg: he's on the plane from AMS to Copenhagen I think 20:10
at least he was still in AMS few hs ago
wallberg just as things started to look up for Uppsala.pm, the interwebs tells me he might have moved to some other town in Sweden 20:12
anyways, I sent him an email and will hopefully know shortly 20:13
tadzik yeah, he 20:18
's now someplace else iirc
Util A preview R* Darwin binary is ready for inspection - s3.datasaw.com/Rakudo_Star_2011-01_...ment_3.dmg
mberends <- back home from seeing off the Swedish delegation at AMS. Their scheduled takeoff time was 10 minutes ago. 20:40
wallberg: masak++ has moved to Lund, near where jnthn++ lives, and he has also started $work at the same $company 20:41
takadonet mberends: sweet 20:43
mberends their hacking synergy seems very fruitful :)
wallberg yup: www.edument.se/konsulter/
good for them, bad for Uppsala.pm ;-) 20:44
wallberg have there been any attempts yet to create p6 modules for Tk, Wx, GTK, Qt or some other GUI frameworks? 21:03
takadonet wallberg: do not believe so 21:04
Su-Shee yes, Tene bound the enlightement lib thingie for example.
for Gtk, GIR is the way to go anyways which simplifies things greatly. 21:05
flussence is GIR what they call their XML stuff these days? 21:07
tadzik wallberg: tk can be used via blizkost I believe 21:08
flussence last time I used it it was still called glade...
tadzik wallberg: gui toolkits are tricky, for NCI does not yet support callbacks
wallberg ahh I did not know about blizkost. do I understand it correctly that it basically enables p5 modules in p6 programs? 21:11
tadzik aye
wallberg as for GIR, I think there is more info here: live.gnome.org/GObjectIntrospection 21:13
alas I am too stupid to turn that into something useful 21:14
yeah, seems to be a way of passing info between a runtime and the GTK library via XML/GIR... or something 21:16
Tene tadzik: I was able to do callbacks just fine; I just had to write a little shim in C. 21:26
Soon that should be movable into parrot itself, as I should be able to write the shim with llvm.
tadzik Tene: care to show the code? 21:27
i.imgur.com/ZyeCO.jpg # I actually lol'd
Su-Shee flussence: no, GIR isnt even remotely Glade related. 21:28
sjohnson i don't get the flowerpot reference 21:29
or metaphor for html
whatever it is
Su-Shee GIR is how you expose (looking from the C library's viewpoint) the symbols. The "other side" just reads the (indeed) resulting XML instead of pulling in C stuff.
if you want to see it in action, look at Seed, I think it makes heavy use of it. 21:30
tadzik sjohnson: I think it's relating to people calling html a programming language. But the the LaTeX one is a bit wrong too
Tene tadzik: github.com/tene/parrot-elementary/...b_helper.c 21:32
mberends (lol) what do you think a Perl cartoon would have said (and it's a pity there not a Perl one anyway)? I would think "It seems to cover the topics but I have no idea how it manages to do that with so few apparently unrelated words" 21:36
sjohnson "this looks like a religious text to me"
mberends heh 21:37
bless you too
tadzik "I have no idea what it does, but even the gurus can't summarize that in half the page, thus you must be wrong or something"
or "But you're basically glueing the well-known theories" :) 21:38
I tend to say that usually when you program, you split the big problem into a number of smaller ones until the smaller ones are trivial. In Perl, you split the problem into the smaller ones until there's a CPAN module for each of them )
sjohnson "what the heck is this underscore variable?"
mberends "Please re-submit your text, this copy seems to be full of corrupt characters" 21:41
jnthn made it home safely o/ 23:02
And I can vouch that masak at least made it safely to within 2km of his home. :) 23:03
mberends \o/ 23:05
lichtkind \o/ 23:44
colomon \o/
jnthn gets some rest...back to $dayjob tomorrow. 23:48