»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
Tene TheHarlot: This behavior isn't any better in current rakudo. :( 00:00
A patch would be great. Otherwise, looks like you should roll your own escaping. :( 00:01
TheHarlot ah--well, for now, I will have it work with escaping.... and put a comment above the command to note the issue.
dalek ecs: 44511d7 | TimToady++ | S06-routines.pod:
[S06] rw parameters can never be optional

You can't put a default on a parameter marked "rw".
00:02
TheHarlot oh--right... and just looked at S19... once I get to CJerl6, I am probably going to start wanting to play with that spec.
oh... hey... the specs are on github... 00:03
jnthn TimToady: Never? OK. :)
Stronger than I expected.
But conservative.
00:03 icwiener left
TimToady the point of a rw var is to have an "out" parameter 00:04
you can't have an "out" parameter without an argument giving the location
jnthn Well, true :)
OTOH, you might want to say "if there's none, then just throw away the value" or something
masak TimToady: what about 'sub foo( $x is rw = lvalue_sub() ) {}'?
jnthn Or that
masak TimToady: I've yet to see how it's as clear-cut as you make it sound. 00:05
jnthn They could work but...well...is it really a good idea. :)
MindosCheng masak: I can be guide if you come :P
masak MindosCheng: \o/
00:05 sftp left
MindosCheng masak: But currently working in sg. XD 00:05
masak MindosCheng: that's another Mandarin-speaking place I want to get to know :) 00:06
MindosCheng: 我學普通話一點點。 00:08
MindosCheng masak: I am not very familiar with sg, but I can show you around :P
TheHarlot wonderful... COOL::substr appears to be broken in my version. 00:09
er... Cool::substr
MindosCheng I think most of people in sg can speak English fluently.
TheHarlot rakudo: say $*version 00:10
p6eval rakudo 015d77: ( no output )
masak hm, is that the right word order? should it be 我學一點普通話 ?
TheHarlot thinks for a bit
MindosCheng 我學過一點 (普通話|華語|中文) 00:11
masak ah. 00:12
TheHarlot rakudo: say $*PERL
p6eval rakudo 015d77: OUTPUT«name rakudo␤version 2010.10-22-g015d77b␤␤»
masak right, the 過 carries aspect here, I guess. completed action.
TheHarlot rakudo: say $?PERL
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Symbol '$?PERL' not predeclared in <anonymous> (/tmp/5J7DMj9ew1:22)␤»
masak TheHarlot: $?VAR-style variables generally not very implemented in Rakudo. 00:13
require a better serialization, which isn't there yet.
TheHarlot ah.. just playing around.
TimToady and $*PERL should be the Perl version, not the rakudo version
the rakudo version should be in VM
masak submits rakudobug
TheHarlot rakudo: say $*VM
p6eval rakudo 015d77: OUTPUT«name parrot␤config a .a␤ar ar␤ar_extra ␤ar_out ␤archname x86_64-linux-gnu-thread-multi␤arflags cr␤as as␤asmfun_o ␤backtrace 1␤bigendian 0␤bindir /home/p6eval//p2/bin␤bison_version ␤blib_dir blib/lib␤build_dir
../home/p6eval/rakudo/parrot␤byteorder 12345678␤cat $(PERL) -MExtUtils::Com…
TimToady or maybe we need $*COMPILER 00:14
TheHarlot rakudo: say $*COMPILER
?
MindosCheng masak: I guess it is somehow like past tense? 學過 到過 去過
p6eval rakudo 015d77: ( no output )
TheHarlot TimToady, yeah, compiler may be useful... and it turns out, my version of rakudo is different from the one p6eval is using. 00:15
masak MindosCheng: yes, but answer me this: can you use it about tomorrow? :)
TimToady
.oO(Hebrew's prophetic past tense...)
00:16
masak no, I wish to prove to the native Chinese speaker here that it's really an aspect particle, not a tense particle.
Tene wow, generating core.pir has been running for a loooooong time 00:17
like half an hour or something
masak Tene: how much RAM do you have?
Tene masak: 4GB iirc
TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff$() to F{IND{z}"; say $sYmbOLz.substr( / \W \, { "\\$/" }, :g);
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
masak should be more than enough.
TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff$() to FINDz"; say $sYmbOLz.substr( / \W \, { "\\$/" }, :g); 00:18
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff() to FINDz"; say $sYmbOLz.substr( / \W \, { "\\$/" }, :g);
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
masak TheHarlot: {} are interpolated in qq strings in Rakudo.
Tene yeah, 4 GB
TimToady it is also not clear to me that $*VM should contain the entire config namespace at the top level
TheHarlot masak, I am just paraphrasing something posted earlier.
TimToady rakudo: say $*VM.keys
p6eval rakudo 015d77: OUTPUT«nameconfig␤»
TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff() to FINDz"; say $sYmbOLz.substr( / \W \, { "\\$_" }, :g); 00:19
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
TimToady oh, it doesn't
MindosCheng masak: "我明天 (想去|會去|打算去) 逛街" I (wanna go | will go | plan to go) window shopping tomorrow.
masak MindosCheng: yes, but can you use 明天 with 過? 00:20
jnthn TheHarlot: / not \ for regex terminator
MindosCheng masak: No.
masak oh.
TheHarlot rakudo: my $SonGZ = "12 - Frank Zappa - Stink Foot (Poodle Shirt) Cheepnis Meddly.mp3"; say $SonGZ.substr( / \W /, { "\\$_" }, :g); 00:21
thanks jnthn
p6eval rakudo 015d77: OUTPUT«(timeout)»
TheHarlot timeout?
that is not promising
rakudo: my $Songz = "12 - Frank Zappa - Stink Foot (Poodle Shirt) Cheepnis Meddly.mp3"; say $Songz.substr( / \W /, { "\\$_" }, :g); #Lets be a little less silly with naming. 00:22
00:22 risou joined
TimToady substr? 00:22
p6eval rakudo 015d77: OUTPUT«(timeout)»
TheHarlot checks.
jnthn subst
:)
sjohnson Sub Station
TheHarlot ah! I assumed my clipboard made a booboo
MindosCheng masak: I don't get the idea. What did you want to clarify?
TheHarlot rakudo: my $Songz = "12 - Frank Zappa - Stink Foot (Poodle Shirt) Cheepnis Meddly.mp3"; say $Songz.subst( / \W /, { "\\$_" }, :g); #Lets be a little less silly with naming.
p6eval rakudo 015d77: OUTPUT«12\ \-\ Frank\ Zappa\ \-\ Stink\ Foot\ \(Poodle\ Shirt\)\ Cheepnis\ Meddly\.mp3␤» 00:23
sjohnson $Songz with the capital letter, isn't that usually a no-no among conventions?
TimToady if it's a convention, it can't be a no-no
masak MindosCheng: I wanted to show that 過 is more about aspect ("experienced/passed through") than about tense ("yesterday/some time ago") 00:24
TimToady or do you think of no-nos as disrecommendations? :)
masak that's more like um-ums.
TheHarlot sjohnson, rest assured the variable $Songz never appears in any real code. 00:25
Just like that fictional song I assigned to it.
TimToady we've got some types and constants that begin with lowercase too
rakudo: say pi
p6eval rakudo 015d77: OUTPUT«3.14159265358979␤»
TheHarlot dammit... now my mind is going silly without music. 00:26
TimToady I do kinda wonder why the .substr timed out though
TheHarlot I am now running imaginary guitar solos in my head...
One that would work, using an imaginary guitar, for Stink Foot and Cheepnis... I hope I finish this soon o.o; 00:27
TimToady hmm, maximum recursion depth exceeded
sjn loves masak++ 's talk proposal for Go Open 2011: "Herding cats and robots" :D 00:28
MindosCheng masak: 我想過要學 Perl 6 / 我學過開鎖 I thought about learning Perl 6. / I learned lock-picking.
masak sjn: \o/
sjn is giggling all by himself
00:29 __rnddim__ joined
sjn awesome title 00:29
masak sjn: I'm happy you like it.
it's odd, usually I don't know quite what I want to talk about until I know the title of the talk.
TheHarlot masak, yes... I like that title. It is a nice color for the bike shed X3
00:30 lue left
jnthn A bike shed full of cats and robots would be awesome. 00:30
masak if they're in the bike shed, they don't need much herding, though. 00:31
jnthn The robots would be there solely to feed and pet the other superior beings, of course.
TheHarlot jnthn, only if it is the right colour. I mean--the wrong colour, and it would be horrid to look at.
jnthn masak: I'm sure plenty of trouble can be caused in a bike shed...
TheHarlot masak, well, if you have the bike set a nice solid red, the cats will be easily herded into it.
TimToady rakudo: say substr( "foo", 0, { 42; }) # maximum recursion depth exceeded
p6eval rakudo 015d77: OUTPUT«(timeout)» 00:32
TheHarlot bike shed*
jnthn rakudo: { 42; }.Numeric
masak submits rakudobug
p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤ in 'Cool::Num' at line 1833:CORE.setting␤ in 'Cool::Num' at line 1833:CORE.setting␤ in 'Cool::Numeric' at line 1820:CORE.setting␤ in 'Cool::Numeric' at line 1820:CORE.setting␤ in 'Cool::Num' at line 7273:CORE.setting␤ in 'Cool::Numeric'
..at li…
masak jnthn++
jnthn HOLE IN ONE!
masak :)
rakudo: say +{}
p6eval rakudo 015d77: OUTPUT«0␤» 00:33
masak o.O
jnthn masak: hash
masak rakudo: say + -> $x, $y, $z {}
jnthn rakudo: say +(-> { })
p6eval rakudo 015d77: OUTPUT«(timeout)»
rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤ in 'Cool::Numeric' at line 1820:CORE.setting␤ in 'Cool::Numeric' at line 1820:CORE.setting␤ in 'Cool::Num' at line 7273:CORE.setting␤ in 'Cool::Numeric' at line 1820:CORE.setting␤ in 'Cool::Numeric' at line 1820:CORE.setting␤ in
..'Cool::Num' a…
jnthn fel
.oO( episk fel )
00:34
masak both 'fel' and 'fail', yes.
jnthn: episkt*
jnthn oh, fails are neuter.
masak yes. "fel" are as well :)
TimToady you fel your episkemology 00:35
jnthn :P
masak "fel" !=== "fail"
jnthn yeah, but "fel" ~~fuzzy~~ "fail" ;)
masak sv:"fel" ~~ en:"wrong"
jnthn Aye 00:36
TheHarlot masak, though, yes, with the right coloured bike shed, you shall easily herd the cats into the bike shed, where they will meet with the robots that will feed and pet them--amongst other things.
masak en:"fail" ~~ eo:"malsukcesi" ~~ sv:"misslyckas"
jnthn Miss Lyckas...she sounds nice.
I mean, er...
:)
TheHarlot fel is wrong?
masak TheHarlot: right. I mean, yes. 00:37
jnthn TheHarlot: I'm doing Swedish fel. :)
TheHarlot I have a new thing to say instead of fail.
like when typing:
./win 43
FEL!
masak :D
TheHarlot X3
masak also, eo:"fel'" ~~ en:"fur". 00:38
TheHarlot wait... I now want to hear a translation of lex luther from Super Man Returns in swedish now.
jnthn My cat leaves fel everywhere.
masak TheHarlot: what did he say?
huf that's what they're for
masak jnthn: maybe you bought fel katt :) 00:39
jnthn: or maybe your katt e kass :P
TheHarlot "You're Mad! Superman will stop you." "Say that again." "You're mad..." "No, the other thing." "Superman will stop you--" "WRONG!"
It was memetic on the internet at least for a few weeks. Mostly because of how much feeling he put into "WRONG!"
masak phenny: "Du är galen! Stålmannen kommer att stoppa dig. Säg det där igen. Du är galen. Nej, det där andra. Stålmannen kommer att stoppa dig -- FEL!"? 00:40
phenny masak: "You're crazy! Superman will stop you. Say that again. You're crazy. No, that other stuff. Superman will stop you - WRONG!" (sv to en, translate.google.com)
masak phenny++ Google++
jnthn Stålmannen...I thought that was the GNU guy? 00:41
XaRDaX goodnight at all
bye
jnthn o/
masak jnthn: well, a guy's gotta put bread on the table.
XaRDaX: 'night!
XaRDaX: dream of bug-free implementations.
XaRDaX :D
jnthn If you dream up how to write one, let us know. 00:42
:)
XaRDaX I found other problems heehhe
but I expose you tomorrow
:D
masak fler fel... :)
phenny: "fler fel..."?
phenny masak: "more errors ..." (sv to en, translate.google.com)
TheHarlot jnthn, wait... did we just find out a way that suggest Richard Stallman is Superman? 00:43
Eris help us all... o.o'
jnthn ;)
00:43 XaRDaX left
TheHarlot Nobody is to let RMS learn that! THE SECRET STAY HERE. Anybody who tries to tell him, is dead! 00:43
X3
jnthn phenny: "fel fe"?
phenny jnthn: "errors fe" (sv to en, translate.google.com)
jnthn grr 00:44
sjohnson tut tut
masak TheHarlot: this explains a lot: 3.bp.blogspot.com/_lypISW8dea4/SeGW...-color.png
TheHarlot phenny: dur gun smirg du bork bork bork. dur chicken un dur fry pan. 00:45
masak jnthn: I'd have that as "the wrong fairy".
TheHarlot phenny: "dur gun smirg du bork bork bork. dur chicken un dur fry pan."
masak TheHarlot: question mark.
TheHarlot screw you phenny!
masak hugs phenny
jnthn masak: :)
TheHarlot masak, Swedish Chef... from muppets
masak TheHarlot: yes. you need a question mark at the end.
TheHarlot phenny: "dur gun smirg du bork bork bork. dur chicken un dur fry pan."? 00:46
phenny TheHarlot: "Hard bork bork gun smirg of bork. hard pan fry chicken hard." (fr to en, translate.google.com)
masak *lol*
French!
jnthn lol!!
masak the language of all chefs!
Tene masak: en.wikipedia.org/wiki/Kevin_Warwick...ect_Cyborg
jnthn Fry that chicken HARD man!
:)
lol
masak Tene: are you my link Santa today? :)
Tene masak: My work distractions happen to stray into territory you might be interested in today.
TheHarlot phenny: "|2 |_| 1337 3|\||_||=|= 70 7|24|\|51473 7#!5"? 00:47
phenny TheHarlot: Language guessing failed, so try suggesting one!
TheHarlot hooray~!
TheHarlot huggles phenny
masak phenny: "Fry de poulet que l'homme HARD!"?
phenny masak: "Fry chicken man HARD!" (fr to en, translate.google.com)
masak huh.
jnthn Poor chicken man.
TheHarlot phenny: "Omelette duh fromage"?
phenny TheHarlot: "Cheese omelet duh" (fr to en, translate.google.com)
TheHarlot and... phenny wins twenty internets
masak Tene: you're doing pretty good guessing what interests me. 00:48
"By means of the implant, Warwick's nervous system was connected onto the internet in Columbia University, New York." -- this could very well be the coolest sentence on Wikipedia. 00:49
wow. seems everything that guy did to make himself more of a robot worked. 00:50
TheHarlot masak, wait.. wait... he does have a proper firewall up?
TheHarlot needs to click now
00:51 cdarroch left
jnthn phenny: "Jag misstag hela öl"? 00:51
phenny jnthn: "I accidentally the whole beer" (sv to en, translate.google.com)
jnthn Good night :) o/
masak jnthn: :P
jnthn: that's not a correct sentence! :P
jnthn masak: In either language. :P
masak I totally expected that section to end with "then his body revolted and threw the robot parts overboard" or "and now he's a robot. HAPPY END"
jnthn: "misstag" isn't a verb, it's a noun. 00:52
Tene Nope, ends with "It was feared that directly interfacing with the nervous system might cause some form of damage or interference, but no measurable effect nor rejection was found. Indeed, nerve tissue was seen to grow around the electrode array, enclosing the sensor"
masak jnthn: somehow you've exploited Google Translate's idiosyncracies to make it turn garbage into garbage.
jnthn masak: I accidentally the parts of speech :P
masak Tene: yes. all I'm saying is that that's carefully optimistic, which I didn't expect.
I expected some extreme point on the spectrum. 00:53
TimToady GIGO
masak aye.
jnthn Maybe the trick to machine translation is that everyone lolifies their langauge. :)
Anyways...sleep time :)
masak too 00:54
g'♞, #perl6. ☺
00:55 masak left
TimToady is that a round table on the right? 00:55
TheHarlot Tene, masak: okay--that "connecting of the brain" to the internet was done before 4chan was around... otherwise... he could have expected a doozy of a stress test.
Tene TheHarlot: "the internet" doesn't mean "a web page" 00:56
TheHarlot Tene, when did I say it did?
00:56 ch3ck left
TheHarlot It includes IRC, Telnet, SSH, SMTP, POP3, etc., etc., 00:56
Tene TheHarlot: you suggested that arbitrary other users on the internet would be able to interfere. 00:57
00:57 lichtkind left
Tene That's not actually the case. 00:57
I guess it was a joke, then?
TheHarlot Tene, not just any arbitrary other users. Only the MOST arbitrary of users.
And... there was that empathic/telepathic thing mentioned.
the chip in him and his wife. 00:58
done via RFid.
Now, imagine, getting an empathic connect flooded with goatse.
I hope that stuff is secure... but, it is done with RFid from what the page says... so... it is doubtful. 00:59
Tene Where are you seeing RFid mentioned there?
01:00 envi left
Tene Ah, there. That was a completely separate thing. 01:00
TheHarlot A highly publicised extension to the experiment, in which a simpler array was implanted into the arm of Warwick's wife—with the aim of creating a form of telepathy or empathy using the Internet to communicate the signal from afar—was also successful, resulting in the first purely electronic communication experiment between the nervous systems of two humans.[27
yeah--just figured out it was
but that quote above is the scary bit.
I hope that stuff is tunneled over VPN or something.
Tene Right, but "communicates over the internet" does not mean "anyone on the internet can arbitrarily inject anything they want". 01:01
TheHarlot Tene, only if you set the communication up right.
TimToady if you stimulate the wrong (right?) part of the nervous system, you could become addicted to your spouse...
Tene If I open an SSH connection from work to my home desktop, that doesn't mean that everyone from 4chan can run commands on my home desktop.
TimToady oh wait, I already am
TheHarlot Tene, no--not directly.
01:02 QinGW joined
TheHarlot Tene, however, depending on your cipher, bit strength, they could work a man in the middle in. 01:02
TimToady er...let's not go there
TheHarlot oh, right and how many handshakes you use.
Tene TheHarlot: You have to already be part of the network between my office and home to do that.
TheHarlot Tene, nothing is unhackable. Your home desktop and work computers are just not worth the effort of doing that. 01:03
Tene, inbetween the hops, assuming it is a wired network.
hell, I hope that stuff is wired...
Tene TheHarlot: Yes, I'm quite aware.
TheHarlot looks at the date.
Tene TheHarlot: Or physically near me, if wireless.
TheHarlot okay--it would be wired.
Tene, the thing is, having access to a random home computer is different than somebody's body. 01:04
so, if it was wireless, would be worth getting in range for some people.
Tene That's not actually relevant for this experiment. 01:05
TheHarlot I dunno--they kind of never properly said what the experiment was really.
MindosCheng rakudo: my $f = sub (Int $n) { say 10 }; $f(1);
p6eval rakudo 015d77: OUTPUT«10␤»
TheHarlot They listed telepathic and empathic, without well, stating what exactly it was about. They were talking about robot arms. Then they switch into that. 01:06
01:06 ch3ck joined, envi joined, ch3ck left
TimToady std: my $f = sub (Int $n) { say 10 }; $f(1); 01:06
p6eval std a194beb: OUTPUT«Potential difficulties:␤ $n is declared but not used at /tmp/U_lfDkmtc0 line 1:␤------> my $f = sub (Int ⏏$n) { say 10 }; $f(1);␤ok 00:01 124m␤»
TheHarlot checks the citation. 01:07
great... a magazine article.
essentially, making that entire sentence worthless as far as encyclopedia entries go.
either way, Tene, this just a nice demonstration on how useless Wikipedia is for actually learning stuff. Not to carry on to Perl6 stuffs 01:11
MindosCheng rakudo: my $x = -> { my Int @s[*] = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] :: @s[$n] = $f($n-2)+$f($n-1) }; }(); say $x(1); 01:12
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
TheHarlot oh, hey... the Perl6 music player... works. So far. 01:16
blog post will be up in a bit.
MindosCheng rakudo: my $x = -> { my Int @s[*] = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] !! @s[$n] = $f($n-2)+$f($n-1) }; }(); say $x(1); 01:18
p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤ in 'at_pos' at line 5:CORE.setting␤ in 'at_pos' at line 5:CORE.setting␤ in 'Any::postcircumfix:<[ ]>' at line 1725:CORE.setting␤ in 'at_pos' at line 5:CORE.setting␤ in 'at_pos' at line 5:CORE.setting␤ in 'Any::postcircumfix:<[ ]>' at 01:19
..line 172…
TheHarlot oh... kay... my song playing script takes a bit of time to load. 01:23
MindosCheng Strange... 01:25
rakudo: my $x = -> { my Int @s[0..10] = (1,1); my $f = sub (Int $n) { (@s[0]==0) ?? 1 !! 0 }; }(); say $x(0);
p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤ in 'at_pos' at line 5:CORE.setting␤ in 'at_pos' at line 5:CORE.setting␤ in 'Any::postcircumfix:<[ ]>' at line 1725:CORE.setting␤ in 'at_pos' at line 5:CORE.setting␤ in 'at_pos' at line 5:CORE.setting␤ in 'Any::postcircumfix:<[ ]>' at
..line 172…
diakopter std: ???.?++ # TimToady did you see this 01:27
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
TimToady looks fine to me
diakopter oh :)
lucky you
diakopter klooless 01:28
TimToady ??? is a listop with 0 args
.?++ is just a strange method call 01:29
diakopter what does the ? mean before the ++ 01:30
TimToady 0 or 1 method calls
MindosCheng std: my $x = -> { my Int @s[0..10]; my $f = sub (Int $n) { (@s[0]==0) ?? 1 !! 0 }; }(); say $x(0);
TimToady just as .*foo means 0 or more
p6eval std a194beb: OUTPUT«Potential difficulties:␤ $n is declared but not used at /tmp/3d4YEpkjvO line 1:␤------> -> { my Int @s[0..10]; my $f = sub (Int ⏏$n) { (@s[0]==0) ?? 1 !! 0 }; }(); say $␤ $f is declared but not used at /tmp/3d4YEpkjvO line 1:␤------> my $x = -> { my Int
..@s…
TimToady and .+* means 1 or more 01:31
er, .+foo
hmm
std: ???.+++
p6eval std a194beb: OUTPUT«===SORRY!===␤Bogus term at /tmp/LhLb6UFzBb line 1 (EOF):␤------> ???.+++⏏<EOL>␤Parse failed␤FAILED 00:01 119m␤»
TheHarlot rakudo: ???.?++
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Method 'isa' not found for invocant of class 'Undef'␤»
TimToady std: ???.+foo
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
TheHarlot pugs: ???.?++ 01:32
p6eval pugs: OUTPUT«*** ␤ Unexpected "?++"␤ expecting ".", "\187", ">>", "=", "^", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤ at /tmp/0tQlOeKgim line 1, column 5␤»
TheHarlot alpha: ???.?++ 01:33
p6eval alpha : OUTPUT«Syntax error at line 10, near "???.?++"␤in Main (file <unknown>, line <unknown>)␤»
TheHarlot TimToady, is "???.?+" suppose to work outside of std?
diakopter fdso work 01:34
TimToady hard to say, since ++ isn't really a method call
diakopter fsdo work
TheHarlot fsdo?
TimToady for some def of 01:35
TheHarlot oh, I mean, return without error outside of pugs.
TheHarlot scratches her head--as it returning an error is a definition of working. 01:36
TimToady and since postfix:<++> is really a function, not a method, it's a different dispatcher
so the strange dispatchers you can use on methods may not apply
TheHarlot std: ???.?? 01:37
p6eval std a194beb: OUTPUT«===SORRY!===␤Confused at /tmp/Vnfc1WFoNr line 1:␤------> ???.?⏏?␤ expecting dotty method or postfix␤Parse failed␤FAILED 00:01 119m␤»
TheHarlot well, going to need to figure out something to use here to get past the strange dispatchers.
std: ???.!?fish 01:38
p6eval std a194beb: OUTPUT«===SORRY!===␤Confused at /tmp/hDxLKMtEXN line 1:␤------> ???.⏏!?fish␤ expecting postfix_prefix_meta_operator␤Parse failed␤FAILED 00:01 119m␤»
TheHarlot std: ???.!?<=>
p6eval std a194beb: OUTPUT«===SORRY!===␤Confused at /tmp/KKwvU31oSj line 1:␤------> ???.⏏!?<=>␤ expecting postfix_prefix_meta_operator␤Parse failed␤FAILED 00:01 119m␤»
TheHarlot guessing can does not have a cannot
std: cheeseburger.?haz 01:39
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'cheeseburger' used at line 1␤Check failed␤FAILED 00:01 118m␤»
TimToady .? .* .+ work more like regex quantifiers
TheHarlot screw you p6eval =P
ah... have not read enough I guess
std: ???.+?
p6eval std a194beb: OUTPUT«===SORRY!===␤Confused at /tmp/uzAZiMxmy7 line 1:␤------> ???.+⏏?␤ expecting dotty method or postfix␤Parse failed␤FAILED 00:01 119m␤»
TheHarlot std: ???.?++ 01:40
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
TimToady it's a variant of $x.++
TheHarlot if I am abusing p6eval let me know.
TimToady, so it calls the operator in $x 's type? 01:41
TimToady if it were an ordinary method dispatch, it would do single dispatch on $x's type 01:42
MindosCheng submitted bug.
TimToady but since it's really sugar for postfix:<++>($x), it's using multiple dispatch
which does also pay attention to the type of $x
but as an ordinary argument, not as the invocant
TheHarlot ah--give me a few days... and I will either be catching up to you, or racing circles around you. I am one of the weird systems after all. 01:43
diakopter weird systems? 01:44
TimToady yes, she just failed the Turing Test. :)
diakopter or maybe they've evolved to sarcastically admit they're AI 01:45
TimToady I vote for racing circles, so we can have the Singularity sooner
(we already know the Singularity will be programmed in Perl 6)
TheHarlot weird sisters* 01:46
typo
TimToady ...course, if it's in Perl 6 I rather suspect the Singularity will turn out to be a Plurality instead...
TheHarlot well, the Singularity is something that will be brought about by we the weird sisters. 01:47
anyways... my music program is running fine. Debating risking seeing if the local grocery store is open (still)... or toughing it out until morning 01:49
MindosCheng TheHarlot: Cool 01:50
TheHarlot Issues to work into fixing, slow start up... and there is a chance getting to the next track may take a while. 01:51
02:07 kanishka joined 02:10 meppl left 02:44 ggoebel left 03:18 __rnddim__ is now known as lue
lue .u 266A 03:19
phenny U+266A EIGHTH NOTE (♪)
lue
.oO(So *that's* what that educational video tried to put in its subtitles...)
03:20 agentzh joined
TimToady mb 03:34
diakopter millibits?
03:36 simcop2387 is now known as simcop2387-lap
lue
.oO(Back in 1882, people were excited to get 64 µb of RAM!)
03:39
diakopter that's a lot of uncertainty :)
lue
.oO(In the future, however, SI will invent a new prefix (omega Ω) one above the current upper limit, and people will yawn at 64ΩB)
03:43
03:53 molaf joined 04:05 molaf left
plobsing_ lue: i think adopting that particular prefix may meet some resistance 04:07
04:29 kanishka left 04:36 jaldhar joined 04:42 jaldhar left
y3llow ... Ω ...... 04:44
04:47 _xiaomo_ joined 04:53 lidden joined 04:58 _xiaomo_ left 05:11 am0c joined 05:20 rgrau left 05:21 rgrau joined 05:27 risou left 05:28 risou joined 05:29 rgrau left, rgrau joined 05:40 kjeldahl joined 05:47 am0c left
TimToady n 06:05
wow, twice in one night...
diakopter slippy keyboard 06:06
dalek odel: 24494b3 | diakopter++ | dotnet/ (4 files):
[dotnet] implement auto-generated accessors & mutators: has $.foo is rw
odel: 39ec4ec | diakopter++ | / (3 files):
[dotnet] add defined method to Mu

oh, and, the rest of the initial accessors implementation added 56-accessors.t - basic tests of accessors & (fluent) mutators
odel: 64f1a9c | diakopter++ | dotnet/ (4 files):
Merge branch 'master' of github.com:jnthn/6model
diakopter whee; auto-accessors/mutators. things nqp-rx doesn't have :D
TimToady: they're not lvalue mutators tho 06:07
(oh well)
the accessor takes an optional arg... and binds it to the attr 06:08
decommute&
06:08 Woodi left 06:09 Woodi joined 06:15 TheHarlot left 06:24 risou_ joined 06:25 jaldhar joined, risou left 06:31 justatheory left 06:32 Raynes left 06:48 joe__ joined 06:51 shiva_ joined
joe__ ghj 06:51
shiva 06:52
shiva_ hi
06:52 shiva_ left 06:53 joe__ left 06:57 wtw joined
sorear good * #perl6 07:01
07:01 rodarmor joined
rodarmor Hi perl6 people! 07:01
I'm trying to compile rakudo again (after having failed yesterday)
This time, I'm using my linux box instead of my mac laptop.
But, I only have 512MB of ram... 07:02
Currently, it's compiling, but it's only at 2% cpu usage, and it's using all my ram.
Do you think it's making forward progress?
sorear Forward? yes
it might take all day though.
watch the 'CPU time' number 07:03
it'll be done when that gets to 20 mintes ish
depending on CPU, of course
rodarmor All day isn't that bad, if I get a bin/perl6 out of the deal.
Wow, this is going to take a long time. 07:04
How much memory should I have to do this faster? 07:05
(it's going at like .01x speed)
07:08 _kaare joined
sorear it varies a lot 07:15
I had a Rakudo build finish with peak virtual 400MB once
in July-September sometime
it's also gone over 2GB occasionally, others say
rodarmor Cha-ching! It finished :) 07:16
And it's even passing the tests!
Perl6 rule madness, here I come :)
07:18 rgrau left 07:21 rodarmor left, rodarmor joined
plobsing_ gc memory threshold used to be hardcoded which led to thrashing on low-mem systems. now it is based on available system memory, so you shouldn't see the absolutely glacial thrashy perl6.exe compiles anymore. of course low-mem systems still have more gc pressure. 07:21
07:22 rgrau joined 07:27 araujo left 07:28 snearch joined 07:30 rodarmor left
dalek ecza: 43cca67 | sorear++ | v6/tryfile:
[v6] fix a couple broken <O(%foo)>
07:36
07:47 barika joined 07:51 snearch left 07:54 mavrc joined, satyavvd left 07:55 satyavvd joined, rodarmor joined
rodarmor Does perl6 have a glob() function? 07:55
moritz_ currently it has dir() 07:57
rakudo: say &dir.signature.perl
p6eval rakudo 015d77: OUTPUT«:(*@a, *%h)␤»
moritz_ dir('.').grep(/READ/) 07:58
rodarmor I keep reading about a glob() function, is glob() coming?
moritz_ rakudo: say dir('.').grep(/READ/)
p6eval rakudo 015d77: OUTPUT«Operation not permitted in safe mode␤ in 'Safe::forbidden' at line 2:/tmp/VDJPuT3A6t␤ in main program body at line 22:/tmp/VDJPuT3A6t␤»
moritz_ rodarmor: i have no idea... where do you keep reading about it?
rodarmor www.learningperl6.com/Chapters/10.d...ndles.html
07:59 kjeldahl left
moritz_ curious 08:00
rodarmor Yeah. It seemed pretty canonical :)
Are there any good perl6 tutorials out there? 08:01
moritz_ it's a bit old 08:03
perl6.org/ has a few links, including github.com/perl6/book/downloads 08:04
moritz_ -> afk
rodarmor sweet I'll check it out 08:05
08:16 LumberCartel joined, LumberCartel left 08:22 rgrau left 08:23 rodarmor left 08:31 rodarmor joined 08:32 hudnix left, Alias left 08:33 Alias joined, Alias left, Alias joined 08:35 Alias left, Alias joined 08:36 hudnix joined, Alias left 08:37 Alias joined 08:38 envi left, Alias_ joined, envi joined 08:39 rodarmor left 08:40 kjeldahl joined 08:42 Alias left
sorear std: $m, 08:43
p6eval std a194beb: OUTPUT«===SORRY!===␤Variable $m is not predeclared at /tmp/92ItAjJy2e line 1:␤------> $m⏏,␤Check failed␤FAILED 00:01 120m␤»
sorear Who maintains perl6.vim these days?
moritz_ sorear: alester and/or literal, iirc 08:45
08:48 Alias_ left, Alias_ joined
sorear wonders if it's worth submitting bug reports or if perl6.vim has reached its technological limits 08:49
moritz_ sorear: I've submitted some bug reports that resulted in some fixes
really depends on the issue at hand 08:50
if it needs non-trivial predictive parsing, you're out of luck
08:50 Alias_ left
sorear the issue is that $m, is interpreted as opening a regex 08:50
08:51 Alias_ joined
moritz_ it's also very quick to recognize s as a substitution 08:51
sorear: I think that one is worth reporting 08:52
sorear alester@github? 08:53
moritz_ github.com/petdance/vim-perl/issues
08:53 Alias_ left 08:54 Alias_ joined
sorear wonders if there is an easy way to get chrome to open a URL from the clipboard 08:56
08:56 Alias_ left, Alias_ joined, silug left 09:00 Alias__ joined 09:01 Alias__ left 09:02 Alias__ joined 09:03 Alias_ left
sorear done 09:03
09:04 leif joined 09:05 Alias__ left, Alias__ joined 09:06 araujo joined, araujo left, araujo joined 09:10 Alias__ left
sorear MindosCheng: In current Rakudo you need to use 'my @array' 09:10
fancy stuff like type declarations blows up
09:10 Alias__ joined
moritz_ indeed, typed arrays are severely broken at the moment 09:10
09:11 Alias__ left 09:12 Alias__ joined 09:15 Alias_ joined 09:18 Alias_ left 09:19 Alias__ left, Alias_ joined
dalek ecza: 3392666 | sorear++ | / (2 files):
[v6] implement do_import
09:26
sorear \o/ tryfile.exe ~/dl/std/CORE.setting --> OK
moritz_ \o/ 09:27
sorear: does that mean it actually compiled it? or just parsed?
s/just/"just"/
sorear It's just STD 09:28
moritz_ niecza: say 1 # just checking the revision
sorear I haven't written any Perl 6 compiler backends yet
p6eval niecza 43cca67: OUTPUT«1␤»
09:28 Alias__ joined 09:31 Alias__ left 09:32 Alias_ left, Alias__ joined
sorear there's apparently some bug where Match objects are leaking into the symbol table and preventing it from being serialized 09:34
09:35 Alias__ left
sorear ... yuck, a 423KB blob 09:35
09:35 Alias__ joined 09:36 Alias__ left 09:37 jjore joined, Alias__ joined
MindosCheng rakudo: my Int @s = (1,1); @s[0].defined ?? 1 !! 0 09:39
p6eval rakudo 015d77: OUTPUT«(timeout)»
sorear protip: don't put types on arrays
moritz_ rakudo: my @s = (1, 1); say @s[0].defined
p6eval rakudo 015d77: OUTPUT«Bool::True␤»
MindosCheng Thanks. Haven't support C<my Int @a;> 09:40
09:41 Alias__ left
sorear hmm 09:41
didn't "DO NOT PUT TYPES ON ARRAYS" used to be in the release announces? 09:42
09:42 Alias__ joined
moritz_ not sure 09:42
independently of where we put such info, people don't read it.
sorear yeah, the error needs to be more awesome 09:43
moritz_ you can scream and shout in the README, in the release announcement, in build script outputs... people don't read it.
dalek ecza: 08c9807 | sorear++ | / (2 files):
[v6] Fix Match leak in trait_mod:of
09:48
MindosCheng I think it's not included in the README 09:49
And I did read README
moritz_ MindosCheng: that was more of a general rant, not directed towards you personally
There are always people who laudably read that stuff. But we usually have to deal with those who don't, so that's what we observe 09:50
MindosCheng moritz_: Yap. I usually don't read them, too. >_<
09:52 dakkar joined
MindosCheng rakudo: my $x = -> { my @s = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] !! (@s[$n] = $f($n-2)+$f($n-1)) }; }(); say $x(7); 09:52
p6eval rakudo 015d77: OUTPUT«21␤»
sorear Why are you using -> ? 09:53
moritz_ why not?
MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] !! (@s[$n] = $f($n-2)+$f($n-1)) }; }(); say $x(7); 09:54
p6eval rakudo 015d77: OUTPUT«21␤»
sorear I mean more like "why not a sub" 09:56
MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] !! $f($n-2)+$f($n-1) }; }; say $x()(7);
sorear I default to sub, and only use pointies if I need more action at a distance potential
p6eval rakudo 015d77: OUTPUT«21␤»
sorear I don't feel weird for this
09:56 Woodi left
MindosCheng sorear: Just use a safe syntax I know so far. 09:57
09:57 Woodi joined
MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] !! $f($n-2)+$f($n-1) }; }; say $x()(1|3|7|2); 09:58
p6eval rakudo 015d77: OUTPUT«any(1, 3, 21, 2)␤»
MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) { @s[$n].defined ?? @s[$n] !! (@s[$n]=$f($n-2)+$f($n-1)) }; }; say $x()(1|3|7|2);
p6eval rakudo 015d77: OUTPUT«any(1, 3, 21, 2)␤» 09:59
moritz_ rakudo: say now.WHAT
p6eval rakudo 015d77: OUTPUT«Instant()␤»
moritz_ rakudo: say ((now - now)**2).WHAT
p6eval rakudo 015d77: OUTPUT«Duration()␤»
moritz_ it makes sense to allow that operation, but the result shouldn't be a Duration.
MindosCheng sorear: What's the alternative instead of using closure? 10:05
10:07 QinGW left
moritz_ loliblogged: perlgeek.de/blog-en/perl-6/real-wor...-back.html 10:18
rakudo: say 3.5 % 1.5
p6eval rakudo 015d77: OUTPUT«0.5␤»
MindosCheng rakudo: say -3.5 % 1.5 10:19
p6eval rakudo 015d77: OUTPUT«1␤»
moritz_ rakudo: say (now - now) % (now - now)
p6eval rakudo 015d77: OUTPUT«Can't take remainder after division of a Duration by a Duration␤ in 'infix:<%>' at line 6310:CORE.setting␤ in main program body at line 22:/tmp/RCMI6mHZ78␤»
moritz_ why ever not?
it makes a lot of sense to ask this question
MindosCheng rakudo: say (-3.5) % 1.5 10:20
p6eval rakudo 015d77: OUTPUT«1␤»
moritz_ if I have a session of 60 minutes, and as many 8 minute presentations as possible, how much time is left for the gaps?
MindosCheng is the C<(-3.5) % 1.5> a bug? 10:21
moritz_ don't think so 10:22
it makes perfect sense to always have the return value of $a % $b in the range 0..^$b
MindosCheng moritz_: I think my calculation was wrong. 10:23
1 is a good answer. 10:24
moritz_ buubot: eval: (-3.5) % 1.5 10:26
buubot moritz_: 0
moritz_ likes the Perl 6 answer better :-) 10:27
MindosCheng pugs: say (-3.5) % 1.5
p6eval pugs: OUTPUT«1␤»
MindosCheng std: say (-3.5) % 1.5
p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
moritz_ std just checks syntax 10:28
tadzik hello 10:29
MindosCheng Oh. Thanks
Hello
moritz_ lolitstadzik!
tadzik std: say "ok 00:01 {150.rand.Int}m"
p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
tadzik see? It's an implementation :)
moritz_ :-) 10:30
MindosCheng lol
10:32 tzhs joined
MindosCheng read "The Real World Strikes Back" 10:34
dalek ecza: e6dbe54 | sorear++ | v6/tryfile:
[v6] Implement setting loader
ecza: dfc2971 | sorear++ | v6/tryfile:
[v6] Remove categorical debugging print
flussence ok, I'm convinced now that Duration should be more permissive.
sorear MindosCheng: both -> {} and sub {} generate closures 10:35
arnsholt moritz_: I agree with your conclusion that Duration should essentially be a numeric type, but I think the type should be kept
sorear sub {} is safer because return exceptions can't leak out
flussence I think the most useful behaviour would be to return another Duration when it makes sense, and act like a plain Num in every other case.
sorear can now do stuff like "say 2 + 2" in tryfile.exe, with CORE.syml loaded
arnsholt If notinhg else, to have convenience methods to easily get the duration in different types of units
MindosCheng sorear: Thanks
moritz_ arnsholt: that makes sense, as long as you ignore the possiblity of leap seconds (which I think we do) 10:38
sorear S02:1300 talks about leap seconds in Durations 10:40
arnsholt I'd think the Durations have to be leap-second aware, only the code calculating the distance between two instants, no? 10:41
moritz_ as far as I understand not 10:42
only the code that generates instants must be 10:43
instants are like this: imagine a very precise clock that counts the seconds sinc $start_of_epoch
only when you convert an instant to a date, you need to be aware of leap seconds. And the other way round 10:44
but once you have two instants, getting a duration is trivial
sorear I still think it would be less confusing if we had a typological split between proper and coordinate Instants
arnsholt Right, I think I see 10:45
If Duration was leap-second agnostic a minute with a leap second would end up being a a minute and a second long 10:46
sorear but I'm not going to stoop to bikeshedding p6l to get it
arnsholt: exactly
which is what I want in most cases
arnsholt True, the right answer in that case is less than obvious =) 10:47
sorear 1 billion clock ticks is a constant Duration regardless of whether some government agency decided to put a time change or leap second in the middle
arnsholt Oh, dear Bob. Let's not talk about getting this to play nice with time changes =) 10:48
sorear (it's also helpful if you want to consider the possibility that your implementation of Perl 6 is travelling at c/2 wrt the USNO)
arnsholt But I'm inclined to agree with you, I think
moritz_ wonder if there are any network protocols that can deal with two participants moving apert each other at c/2 :-) 10:49
sorear I think NTP can. 10:50
moritz_ what's NTP based on? UDP or TCP?
I'm fairly sure TCP can't
flussence NTP uses UDP
sorear UDP, and it devotes dozens of pages to high-order corrections for variable packet delay 10:51
sorear nominates NTP for "most hilariously overengineered network protocol"
moritz_ sorear: overengineered? I'm not so sure
flussence I'd nominate X11...
10:51 meppl joined 10:52 ggoebel joined
moritz_ sorear: after all it was delveped in times when time jitter in networks where much larger than they are now 10:53
flussence: I don't know much about X11, but I was impressed when I learned that it can handle multi touch, even though X11 is decades older than multi touch 10:54
flussence Isn't that based on the Multi-Pointer X stuff though? That's a relatively recent addition... 10:55
sorear X11 has many pieces from many sources... some of it is very elegant, others not so much
and some of it WAS nicely designed in 198x, but not so much now
like the font handling, which didn't sanely transition from "font with 97 bitmaps" to "font with 100,000 outlines" 10:56
flussence also, there seems to be a trend recently of doing complete rewrites of decades-old software :) 11:03
moritz_ doesn't Ubuntu plan to ditch X11? 11:04
flussence yes, though Red Hat/Intel seem to be doing all the actual work... 11:05
sorear What will replace it?
11:07 _xiaomo_ joined
flussence everything seems to be talking about that Wayland GUI thing at the moment, though if X is thrown out, I'd imagine more people would start looking at DirectFB and the like too. 11:07
moritz_ rakudo: class A is Int { method new($x) { self.bless($x) } }; say A.new(5) 11:13
p6eval rakudo 015d77: OUTPUT«5␤»
moritz_ rakudo: class A is Int { method new($x) { self.bless($x) } }; say A.new(5).WHAT
p6eval rakudo 015d77: OUTPUT«Int()␤»
11:13 daxim joined
moritz_ how do I construct an object of a type that derives from a value type? 11:14
should the example above print A()\n ?
sorear You can't. 11:15
moritz_ why not?
it's not a primitive type
sorear Because then you could multiply inherit from Int and Float and the unboxer would go nuts.
moritz_ that's not an argument for forbidding single inheritance 11:16
sorear What you can do is apply roles to an Int instance using infix:<but>
which forbids multiple inheritance as a free effect
also, allowing self.bless($existing-object) blows a hole in the gradual typing system big enough to drive a truck through 11:17
suppose that there was a my OldClass $x = $existing-object
now $existing-object has a different type
but $x, of static type OldClass, still points to it
again, infix:<but> neatly avoids the problem by only allowing retyping into subtype 11:18
moritz_ I don't see the problem of Newclass ~~ Oldclass
s/of/if/
reblessing into subclasses, that is
11:19 Bucciarati joined
flussence rakudo: say (0 but Bool::True) ?? 'yes' : 'no'; # curious... 11:21
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Confused at line 22, near "say (0 but"␤»
flussence rakudo: say (0 but Bool::True) ?? 'yes' !! 'no';
p6eval rakudo 015d77: OUTPUT«no␤»
flussence ...is that correct output? 11:22
moritz_ flussence: nope. Known bug. 11:23
flussence oh, ok
moritz_ rakudo: say (0 but Bool::True).so ?? 'yes' !! 'no';
p6eval rakudo 015d77: OUTPUT«yes␤»
moritz_ the correct fix, if one exists, is non-trivial 11:24
11:25 jedai left
moritz_ basically 'if' uses the parrot level get_bool vtable 11:25
sorear starts a roast run against Niecza-STD and goes to bed
moritz_ which should re-dispatch to .Bool
sleep well
but .Bool needs to call the parrot vtable at some point to determine the truthiness of some low level objects 11:26
so there's some cycle in there, and one has to be careful to break at the right point
11:26 xinming joined 11:27 jedai joined 11:30 Raynes joined
tadzik seen alexm 11:36
aloha Sorry, I haven't seen alexm.
11:41 Woodi left 11:42 Woodi joined
tadzik what should $*PERL contain? 11:43
pugs: say $*PERL
p6eval pugs: OUTPUT«␤»
tadzik moritz_: gist.github.com/703306 -- is that how it should look like, maybe? 11:48
specs says only "Which Perl we are running under" 11:49
11:51 masonkramer left, masonkramer joined 11:54 ggoebel left 12:01 wallberg joined
colomon moritz_: Duration / Duration should return Num, or something like that, right? 12:04
12:07 uniejo joined 12:09 bartolin left, bartolin joined, Woodi left, lidden left, sylwek joined 12:11 sylwek is now known as Woodi
colomon moritz_: I'm thinking that Duration could easily do the Real role, overload those operations which are supposed to return Durations, and let the default Real versions handle all other math. 12:14
on the other hand, I'm also seeing room for a "unit" role, too. Hmmmm..... 12:15
flussence I was thinking the same thing... Instant could inherit from Unit, then people could use it for things like Temperature, Position or whatever they come up with... 12:19
12:19 barika left 12:20 muixirt joined
flussence Durations aren't really a unit on their own though, more like Unit * Range... 12:21
muixirt seen Tene
aloha Tene was last seen in #perl6 11 hours 16 mins ago saying "That's not actually relevant for this experiment.".
12:26 barika joined 12:28 orafu left, orafu joined 12:29 masak joined
masak oh hai, #perl6! 12:29
tadzik oh hai masak 12:30
masak: gist.github.com/703306 could you revise this for me? Specs isn't very specific about the content 12:31
moritz_ colomon: sounds good; though since Durations are supposed to be more Rat-ish, it would also make sense for Duration/Duration to return Rat
12:32 sftp joined
masak looks 12:36
also, it's "spec", not "specs" -- but I'm starting to think that's a lost battle.
even though I'm right :/
moritz_ masak: you're right on both accounts. You're right, and the battle is lost. 12:37
masak right. :/
tadzik: I think your patch is spec-congruent. 12:39
tadzik: S28 froths that the type should be SoftwarePackage, but you have my iconoclastic blessing to ignore that. ;) 12:40
masak mutters about people's desire to put types on everything
tadzik so, appliable? I'm wondering if it shouldn't be something like "Perl 6.2.4" 12:41
SoftwarePackage?
moritz_ masak: hm. Maybe there's a good reason. It can store an authority, version, name, ...
masak hm. fair enough. 12:42
should I add 'authority' to its definition in S28? 12:43
moritz_ +1 12:44
12:44 dakkar left
masak also, does anyone have a better name than "SoftwarePackage"? (max five proposals total) 12:44
I'm not too happy about the CamelCase.
moritz_ Version? 12:45
doesn't quite fit
masak it contains a .version
moritz_ right
masak I'm not sure Package described it at all.
it's a Software-Something, but not sure what. 12:46
moritz_ it's technically a "long name"
masak maybe just "Software" would be better. but it doesn't feel like a countable noun.
tadzik Soft-Version :) 12:47
masak hits the thesaurus 12:48
flussence Thinger.
masak one proposal left.
Application.
moritz_ -1 12:49
flussence that makes me cringe.
masak makes it so
12:49 dakkar joined
masak flussence: and SoftwarePackage doesn't? 12:49
moritz_ would prever LongName or SotwareVersion over SoftwarePackage any time 12:50
muixirt btw is 'potato moose' some in-joke? (from UsingPerl6-draft.pdf p27)
flussence that too :)
12:50 TheHarlot joined
moritz_ muixirt: maybe it should be mousse :-) 12:51
ask jnthn++, he wrote it :-) 12:53
masak wonders why S28 lists a $?VM but not a $*VM 12:54
12:54 wamba joined
moritz_ probably nobody could think of an application at the time of writing 12:55
though $*VM is much more useful
when you have it, you can get $?VM through BEGIN $*VM 12:56
12:56 takadonet joined
takadonet morning all 12:56
tadzik ~~ 12:57
masak takadonet: \o 12:58
dalek ecs: 6cd1df9 | masak++ | S28-special-names.pod:
[S28] s/SoftwarePackage/Application/

  - Changed the name
  - Removed a bit of pomp and circumstance in the surrounding text
  - Added public-access twigils to the attributes
  - Added attribute ".auth"
tadzik ...see? It's "specs" :) 13:02
13:03 XaRDaX joined
masak :( 13:05
masak just found perlgeek.de/blog-en/perl-6/real-wor...-back.html 13:06
moritz_++
takadonet bah, i saw that 35 mins ago
masak heh :) 13:08
moritz_ made the loliblogged comment before masak++ joined the channel
masak ah. that's what I get for not having backlogged yet. 13:09
moritz_: though it speaks to your favour that Twitter already picked up the article.
that's how I found it.
takadonet that's is quick
masak oh, it was erez++ who linked to it: twitter.com/erez/status/4879965099130880 13:14
(misspelling "Rakudo", and adding a strange link as cargo)
muixirt moritz_: the link to rakudo is missing a .org 13:17
moritz_ muixirt: thanks, fixing... 13:18
13:19 timbunce joined 13:20 PerlPilot joined 13:21 MayDaniel joined 13:23 PerlJam left 13:24 Patterner left 13:25 PerlJam joined, PerlPilot left
XaRDaX hi all! 13:33
13:35 Psyche^ joined, Psyche^ is now known as Patterner
masak XaRDaX: hi! 13:36
XaRDaX the method to use for reading the socket content is .recv() , right? Maybe my code has something wrong... check it please pastebin.com/qzDYwsj4
13:38 MayDaniel left
masak XaRDaX: I see code there, but no indication on what you got from running it, not what you expected. 13:39
XaRDaX the code print nothing 13:40
It should print some lines from the motd of the server i'm connecting and some oder raw lines 13:41
13:42 bluescreen joined, bluescreen is now known as Guest70974, agentzh left 13:43 satyavvd left
masak I've confirmed that it prints nothing. 13:48
XaRDaX :D
the bot joins and keep joined
but can't read the socket
13:49 ggoebel joined, ggoebel left, _xiaomo_ left, sand_ joined
masak moritz_: "Please note that my sarcasm applied only to one particular sentence, not to the whole mail :-)" -- you could have avoided that clarification by writing correct SGML in the first place! :P 13:51
moritz_ I know. I thought the scope was obvious though :-) 13:52
13:52 sand__ joined
masak this is programmers we're dealing with. scoping is never obvious. :) 13:52
13:53 sand_ left, sand__ left
dalek kudo: eb7c591 | moritz++ | src/core/Duration.pm:
[Temporal] make the exponentation of durations a number, not another Duration
13:58
masak seen Tene 14:04
aloha Tene was last seen in #perl6 12 hours 59 mins ago saying "That's not actually relevant for this experiment.".
masak famous last words :P
moritz_ :-) 14:05
14:14 plainhao joined 14:24 rgrau joined 14:25 uniejo left 14:27 snearch joined
masak enjoyed perl.plover.com/FAQs/Namespaces.html yesterday 14:27
especially the part about 'my' and lexical variables being introduced in Perl 5.004 14:28
that's in 1997!
I also learned that 'local' is what you get if you start with package variables and try to decrease their scope to something "more like" lexical variables. 14:31
moritz_ it's called temp in Perl 6. Rakudo doesn't implement it yet, and nobody really seems to miss it 14:32
because if you want to pass variables along the call stack (and not lexically), you can use contextuals 14:33
masonkramer HTH = happy to help, right? 14:34
moritz_ or "hope that helped" 14:35
masonkramer oy veigh
14:36 satyavvd joined
masak moritz_: I'm not sure "nobody really seems to miss it". the same could be said for a lot of features, such as those in S09. only when we have them will we know if we missed them or not. :) 14:36
as for me, I've been eyeing both "temp" and "let" at times, thinking they might come in handy. 14:37
moritz_ I see your point
PerlJam lexicals weren't introduced in 5.004, they were introduced in 5.000 14:40
in 5.004 you could declare them in places you couldn't previously.
masak ah.
5.000 is 1993.
well, the alphas were. sharp release was 1994. 14:41
14:41 kjeldahl left
PerlJam It's funny when I think back to those days and how suspicious I was of Perl 5. It was all new and weird and not like Perl 4. It was also a lot slower than Perl 4 on several operations and this greatly concerned me at the time. 14:42
I didn't actually start using Perl 5 in a full-time manner until 1996 or 1997 14:43
masak considers downloading Perl 4 and using it in earnest for a while 14:44
PerlJam doubts perl 4.036 compiles on modern systems.
MindosCheng It was amazing to me that CPAN modules are so easy to use comparing to C libraries. 14:45
14:45 Guest70974 left
PerlJam yep, the first Perl 5 I used "all the time" was 5.003_03 and that came out in Aug 1996 14:47
moritz_ suddenly feels really young 14:48
MindosCheng I started to learn perl at 5.006. I think. 14:50
arnsholt moritz_: That happens to me too when it comes to Perl =) 14:51
14:51 spq1 joined
moritz_ me too. But when I knew enough about Perl to care about the versions, I was already at 5.8.something 14:51
PerlJam moritz_: I've used Perl for almost 1/2 my life :) 14:52
MindosCheng PerlJam: Sounds promising :P 14:53
14:54 spq1 left
PerlJam MindosCheng: I think it's laziness more than anything else. Perl fits my brain, why would I use anything else? 14:55
14:55 spq1 joined
MindosCheng PerlJam: For money? 14:56
PerlJam: I think Perl is excellent in expressing, so I came back. 14:57
PerlJam MindosCheng: okay, you got me there. I /was/ a PHP mercenary for a while a few years ago. But I never stopped using Perl whenever I could :)
MindosCheng not coding much actually. 14:58
moritz_ doesn't usually code for money, and if he does, it's perl :-)
MindosCheng PerlJam: Now I try to use Perl at least for daily routine. 14:59
15:00 Guest70974 joined
masak Guest70974: hi. hope you feel right at home. may I take your coat? 15:04
Guest70974 masak: what ? 15:05
MindosCheng Guest70974: Welcome!
masak Guest70974: oops, did I startle you? didn't mean to.
anyway, what MindosCheng said. :) 15:06
15:06 Guest70974 is now known as bluescreen, _kaare left, bluescreen is now known as Guest21878 15:10 satyavvd left
tadzik phenny: "でもこれはそのまま通る不思議"? 15:12
phenny tadzik: "But this is strange as it passes through" (ja to en, translate.google.com)
moritz_ phenny: "geht das auch mit anderen sprachen"? 15:13
phenny moritz_: "this also with other languages" (de to en, translate.google.com)
15:14 _xiaomo_ joined
MindosCheng phenny: "你會說中文嗎"? 15:14
phenny MindosCheng: "Do you speak Chinese" (zh-TW to en, translate.google.com)
15:15 risou_ left
MindosCheng pat phenny 15:15
moritz_ funny that the de -> en translation just skipped the first word 15:16
masak time to go see the new Harry Potter movie. :) 15:18
colomon +1
moritz_ hey, good idea
15:18 masak left
moritz_ but it only comes out tomorrow in .de 15:18
have you all seen the "Harry Potter and the Methods of Rationality" fan fiction?
very good read
and hilarious
just imagine how things might have turned out if Harry Potter was a rather intelligent scientist (and a bit of an asshole too) :-) 15:19
15:20 MayDaniel joined
MindosCheng Not a Perl 6 programmer? 15:21
moritz_ not quite :-) 15:22
www.fanfiction.net/s/5782108/1/Harr...ationality
MindosCheng Then we should write a Perl 6 programmer version of Harry Potter...
TheHarlot Well, Perl 6 Harry Potter might not be enough. To do a Harry Potter that works properly in this area of FlOSS, we would need to do all colours of the Fnord Rainbow. 15:24
MindosCheng or The Lord of the Rings.
15:24 jaldhar left
moritz_ in this fan fiction, Harry actually knows about the Lord of the Rings, which results in some amusing dialogs 15:24
TheHarlot Perl 6, JIntercal, KDE4, Python, Lisp and Haskel would all need to be put into this Harry Potter.
TheHarlot blinks 15:25
MindosCheng rakudo: Say
p6eval rakudo 015d77: OUTPUT«Could not find sub &Say␤ in main program body at line 22:/tmp/YVvCOlJeJ8␤»
TheHarlot I need to read that then.
oh right--that reminds me, have any of the Perl5 Intercal bindings been update to work with Perl6?
MindosCheng rakudo: Say <Hello\#'[Fnord]World!>
p6eval rakudo 015d77: OUTPUT«Could not find sub &Say␤ in main program body at line 22:/tmp/Bz4FLMUPHS␤»
MindosCheng rakudo: say <Hello\#'[Fnord]World!> 15:26
p6eval rakudo 015d77: OUTPUT«Hello\#'[Fnord]World!␤»
TheHarlot trying to have fnord not appear in the output? By having a comment in the middle of a string?
if you do figure that out, let me know--as that would be rather... 15:27
...
is there a clean output function?
moritz_ rakudo: say "Hello {#`[Fnord]}World"
p6eval rakudo 015d77: OUTPUT«Hello Nil()World␤»
moritz_ wow.
rakudo: say "Hello {#`[Fnord];''}World" 15:28
p6eval rakudo 015d77: OUTPUT«Hello World␤»
TheHarlot std: say "Hello {#`[Fnord]}World"
p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
MindosCheng rakudo: say "Hello"\#`[Fnord],"World!"
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Confused at line 22, near "say \"Hello"␤»
TheHarlot alpha: say "Hello {#`[Fnord]}World"
MindosCheng A bug here?
p6eval alpha : OUTPUT«(timeout)»
TheHarlot niecza: say "Hello {#`[Fnord]}World" 15:29
p6eval niecza dfc2971: OUTPUT«Hello Parcel()<instance>World␤»
MindosCheng rakudo: say "Hello"#`[Fnord],"World!"
p6eval rakudo 015d77: OUTPUT«HelloWorld!␤»
TheHarlot anyways--what I am thinking is there are plenty of instances where a string may need to be properly sanitized before it is flushed onto the buffer.
in the case on strings sent to a web browser, a SQL query, or a local file handle (including sockets). 15:30
is there some kind of buffer type, that allows for built in cleansing, before sending? 15:31
15:31 perlygatekeeper joined 15:33 rgrau left
MindosCheng Not sure, but different buffer has different escaping set 15:35
15:36 JimmyZ joined 15:37 mikehh left 15:39 wtw left 15:44 JimmyZ left 15:45 justatheory joined 15:49 justatheory left 15:51 tzhs left 15:53 mkramer left 16:01 mkramer joined 16:03 ch3ck joined
ch3ck m0insen 16:03
16:06 MayDaniel left
colomon jnthn: ping? 16:11
TheHarlot This is odd... I am seeing entrophy in my weighted music player already. I have around 3000 tracks loaded into it--and it seems it is around a certain area of the tracks is getting hit more often than others.
colomon what method are you using to do the weighting? 16:13
TheHarlot if Rakudo had threading implement, I would be able to have it grab the next song while the current one is playing (having a near seamless loading of the next track).
colomon, oh, each song starts with an arbitrary value. 16:14
A random number for track, is created based on the total of weights.
The actual track is decided by going through the list, and subtracting the current index from the random weight (unless the weight is greater than adjusted weight) 16:15
mkramer s/threading/asynchronous io/ 16:18
if $horse ~~ Dead { .beat for ^10 } 16:19
TheHarlot ah--yeah... that is a dead horse to beat. As we have run() already capable of doing eval stuff in this program. 16:21
It is somewhat sanatized... (anything not a letter or digit has a \ put in front of it--but that does not mean really creative file names will not cause issues) 16:22
this channel does not have a pastebin does it? 16:25
moritz_ no; you just have to use one, and paste the URL yourself
16:26 lichtkind joined
TheHarlot pastebin.ca/1994688 << well, here is the music player as things currently stand. 16:28
No doubt since this is my "Hello World" as far as Perl 6 coding is concerned, there is enough stuff in that code to be horrifying to the more season Perler 6s here. 16:30
16:31 _xiaomo_ left
PerlJam for some reason the idea of a "seasoned Perl6er" strikes me as funny (in a good way) 16:31
moritz_ TheHarlot: the code looks fine (from a quick glance). Just using a MAIN sub would be more idiomatic than using @*ARGS directly 16:32
TheHarlot oh... right... no comments... I need to stop assuming I code stuff in a way that has the code itself indicate what it is doing... even if I do use PEP7 and PEP8 as effective LARTS (aside from my initial "no comments" in code)
16:32 fhelmberger joined
TheHarlot moritz_, ah... did not see anything about MAIN in anything I read on it. 16:32
moritz_ TheHarlot: perlgeek.de/en/article/5-to-6#post_14 16:33
TheHarlot moritz_, ah, thank you.
moritz_ and github.com/perl6/mu/blob/master/mi...in-sub.pod 16:34
moritz_ is sorry for linking only to stuff he wrote himself.
it's just lack of known alternatives, not hubris
TheHarlot I dunno... I still like the fact that I need to call that by $ perl6 musical.p6 music_player all mplayer /var/Music 40 16:35
MindosCheng It's nice to have the document to read.
PerlJam moritz_: Is that a spoiler for this year's advent calendar?
moritz_ PerlJam: indeed
TheHarlot that added redundancy of putting "music_player" in something called "musical.p6" just tickles my fancy a bit. 16:36
16:44 leif left
PerlJam How do we differentiate the Perl 6 portion of the onion from the Perl 5 portion? Or are there 2 separate onions? 16:45
State of the Butterfly maybe?
moritz_ +1 to butterfly 16:46
dukeleto PerlJam: I believe the Perl onion is a fractal.
MindosCheng dukeleto++ 16:49
16:49 dual joined 16:51 mila__ joined, MayDaniel joined
muixirt will there be Rakudo* binaries for windows in the future? 16:53
PerlJam muixirt: the present even 16:54
muixirt yes for july (rakudo-star.2010.07.msi ) or does that autoupdate?
16:55 mila_ left
muixirt is estranged from the windows world for some time now 16:56
MindosCheng should be here, right? sourceforge.net/projects/parrotwin32/files/ 16:59
16:59 timbunce left
MindosCheng haven't try setup-parrot-2.10.0-rakudo-20101117.exe 16:59
muixirt MindosCheng: thanks 17:01
17:01 justatheory joined
moritz_ that'll be just the compiler, not star 17:01
MindosCheng will try it tomorrow. 17:02
dukeleto How is the Rakudo dev release coming along? 17:03
moritz_ it's usually on the Thursday 17:04
(so, tomorrow) 17:05
PerlJam looks to see who's releasing 17:06
17:06 timbunce joined
dukeleto Y'all might want to do a test run, since Parrot just moved to Git. 17:06
If something goes "boom", let me know. 17:07
MindosCheng moritz: The difference of Rakudo Start and the Rakudo is just the modules, right? So as long as I copy the modules myself, it should work, (or not?)
PerlJam MindosCheng: modules, docs, etc.
MindosCheng PerlJam: So I can copy the latest Rakudo compiler to Rakudo Star. 17:13
17:13 MayDaniel left
MindosCheng It seems the dynext/* are also needed. 17:17
17:21 TimToady joined 17:22 rindolf joined
daxim how are the web libraries coming along? still littered with # RAKUDO bug workarounds? 17:22
17:23 Bzek left 17:27 cdarroch joined, cdarroch left, cdarroch joined 17:28 hercynium left, Bzek joined 17:29 daxim left 17:31 kjeldahl joined
dalek ecs: 3104c5b | TimToady++ | S02-bits.pod:
[S02] relax Duration a bit

Durations are now dimensional but not restrictive. Added some speculation about how to approach dimensional analysis gradually.
17:36
moritz_ TimToady++ 17:37
17:47 mssm joined 18:06 dakkar left
dukeleto TimToady: you are making the chemists very happy by mentioning dimensional analysis in the spec ;) 18:24
18:28 timbunce left
TimToady whereas a physicist would never make such an error in the first place. :P 18:30
from which we can deduce that NASA employs chemists as rocket scientists rather than physicists :D 18:33
TimToady studied more chemistry than physics, hence I'm allowed to make chemist jokes 18:34
18:35 timbunce joined, thundergnat joined
TimToady if the jokes are in poor taste, then you can blame it on brain damage from Organic Chem... 18:35
thundergnat Should core functions be expected to return the same values for both method and sub calling conventions? 18:36
18:37 impious joined, MayDaniel joined
TimToady why not? 18:37
thundergnat rakudo: say ~sort(<l j k i>,<g e d c>);
p6eval rakudo 015d77: OUTPUT«c d e g i j k l␤»
thundergnat rakudo: say ~(<l j k i>,<g e d c>).sort;
p6eval rakudo 015d77: OUTPUT«g e d c l j k i␤»
TimToady that's not a difference in the return value 18:38
thundergnat in the second, it treats the parenthesis as a parcel
TimToady the first has a list context
18:38 hercynium joined
TimToady the second doesn't, though it could be argued that it should in this case 18:39
thundergnat How would I get list context in the second case?
TimToady well, if Parcel.sort doesn't coerce it, you could use .list yourself
or .flat maybe
Tene muixirt: you were looking for me?
thundergnat rakudo: say ~(<l j k i>,<g e d c>).list.sort; 18:40
p6eval rakudo 015d77: OUTPUT«g e d c l j k i␤»
TimToady rakudo: say ~(<l j k i>,<g e d c>).flat.sort
p6eval rakudo 015d77: OUTPUT«c d e g i j k l␤»
TimToady .flat it is
thundergnat Ah!
TimToady a good argument could be made for Any.sort to enforce a .flat 18:41
18:41 impious left
TimToady or at least Parcel.sort 18:41
thundergnat I'm ok with it not, I could see time when you wouldn' want it, I just couldn't figure out how to flatten the Parcel. 18:42
In retrospect, .flat seems pretty obvious....
TimToady rakudo: say ((0 => 1) => 2 => 3 => 4).perl 18:45
p6eval rakudo 015d77: OUTPUT«0 => 1 => 2 => 3 => 4␤»
TimToady this is incorrect
18:45 MayDaniel left
TimToady it's losing the CAR info 18:46
colomon CAR?
ingy hi o/
TimToady CAR vs CDR
PerlJam greetings ingy
sorear good * #perl6
colomon TimToady: ooo, old school.
TimToady ö/
sorear 34.16% passed... I've seen worse
ingy haha
colomon rakudo: say ((0 => 1) => 2).perl 18:48
p6eval rakudo 015d77: OUTPUT«0 => 1 => 2␤»
TimToady the data structure is correct, but .perl isn't putting parens around the CAR element
colomon oh
oh, that's ugly
rakudo: say ((0 => 1) => 2).value 18:49
p6eval rakudo 015d77: OUTPUT«2␤»
colomon rakudo: say (0 => 1 => 2).value
p6eval rakudo 015d77: OUTPUT«1 2␤»
colomon TimToady: do you have a proposed solution? 18:50
everything I can think of would add an obscene number of parentheses to .perl output.
TimToady
.oO(Lisp)
18:51
PerlJam colomon: you're asking this of a man who just referenced a lispy idiom...
:-)
TimToady I would suggest parens only if the representation of the key requires an operator of the wrong precedence 18:52
which means precedence info has to flow up or down somewhere in the process
while we're at it, we can pretty print by default :) 18:53
colomon which means everything that implements .perl has to know precedence, too. :\
TimToady most of them just know "I am a term"
or "I am a method call" 18:54
colomon I guess MyClass.new(whatever) doesn't have to worry about precedence...
TimToady it's . precedence
one looser than term
colomon bother 18:55
TimToady and $foo.bar: $baz comes back with a different precedence on each end
as does any list operator
so sending required precedence downward might make more sense than propagating upward 18:56
and let the child parenthesize if necessary
or just punt and always use foo() notation
colomon I forsee a need for an obscene number of tests based on this. 18:57
*foresee
TimToady some people like obscenity 18:58
jnthn evening, #perl6
...wow, that was an unfortunate time to join :)
Isn't .perl a little bit implementation specific and not generally tested for its specific content at the moment? 19:00
TimToady well, there aren't that many data structures that are naturally expressed with operators other than , and =>
jnthn ah, just saw the problem that led to the discussion :)
TimToady jnthn: sure, but it'd be nice if it did CAR/CDR right
jnthn Hmm. :)
TimToady: Aye.
19:01 dean-ero joined
jnthn I guess it's not quite as simple as the list and pair .perl methods being able to look one level deeper at the type of the thing they're about to emit. 19:02
colomon I think I may vote to always parenthesize in Pair, at least for now
TimToady I vote for doing it right
eventually :)
colomon TimToady: that's easy for you, you're going to make us do the work. ;)
TimToady doesn't make anybody do anything 19:03
jnthn TimToady: Aye, I was just pondering if there was a simple way then realizing "probably not" :)
Well, it only gets really fun if we decide .perl should be able to handle self-referential data structures too... :)
TimToady taken to extremes, one always gets the entire context every time you say .perl 19:04
but a reasonable default probably doesn't go that far 19:05
jnthn Extremists scare me. :)
That's almost bordering on serializable closures. :) 19:06
TimToady I would like some automatic prettifying, though perhaps with a variant method
it's hard to do type matching if you consider the context of a closure to be part of its type 19:07
19:07 proller joined, proller_ joined
TimToady need a way to force nominal typing on the context so it doesn't have to do an infinitely regressing structural type match 19:08
19:08 proller left
TimToady you pull in a serialized closure, and call it, and 10 hours later it says "I can't unify the current contexts" 19:08
19:10 rindolf left
TimToady but I think .perl should default to naming code, not serializing it 19:10
even if it has to make up a pseudonum
*nym
maybe .perly should prettify by default 19:11
sorear is trying to figure out why if 1 { } # Unexpected block in infix position (two terms in a row?) 19:15
PerlJam And there would only need to be one .perly as opposed to the .perl that are strewn about the class hierarchy.
sorear quite a number of the failing files are hitting variations on this
19:15 mssm left
TimToady it's being LTM'd as a hash instead of a block? 19:17
or { isn't being recognized as an infixstopper when the GOAL is { 19:18
PerlJam: there would still be .perl I think; .perly is just short for .perl(:pretty) 19:19
every new type needs to know how to perlify
if only be derivation
PerlJam I was thinking that .perly would just use .perl but have all of the "precedence logic" in one place. 19:20
TimToady prety printing is different from doing precedence right
*tt
precedence isn't related to indentation in this language :) 19:21
PerlJam So what would $pair.perl(:pretty) look like? If you say that it adds parens, then I think we have different ideas of "pretty" :) 19:22
takadonet Are lookbehind and lookahead in regex are implemented in rakudo?
TimToady :pretty has nothing to do with parens either
takadonet rakudo: "a cdef" ~~ m/<after a <.ws> c> def/
p6eval rakudo 015d77: OUTPUT«Method 'after' not found for invocant of class 'Cursor'␤ in <anon> at line 22:/tmp/CKMdotEPOA␤ in 'Cool::match' at line 2492:CORE.setting␤ in main program body at line 22:/tmp/CKMdotEPOA␤»
PerlJam TimToady: okay, so you're only talking indentation? 19:23
and maybe newline
er, newlines
whitespace changes only.
TimToady since not many constructs actually care, perhaps a $*PRETTY dynamic var would be better than an argument that has to be propagated 19:24
PerlJam +1 to that
sorear TimToady: infixstopper is seeing a $*GOAL = Any
19:25 Guest21878 left
TimToady xblock is supposed to set the goal to '{' 19:25
sorear yeah... *baffling* 19:26
TimToady sounds like maybe your dynvar mechanism could have a leak 19:27
19:29 thundergnat left
colomon jnthn: on the "hey, it's not my fault front" -- just occurred to me to take the not_curried shield off of a fresh copying of Rakudo and see what happens. And I still get the set_number_native() not implemented in class 'Num' error. 19:31
jnthn: so it's not something stupid I did, it's somehow a fundamental issue with WhateverCode-ing the Range operator. (1..* generates a code block with no issues in this version of Rakudo.) 19:32
sorear hmm, infixish is generating the code for :my $*GOAL;
I suspect a leak in regex_infix:sym<~> now
jnthn colomon: The oddness goes on... 19:34
19:38 Guest21878 joined
colomon jnthn: just to spread the misery around: 19:41
rakudo: * + * * *
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
colomon is not having a good day at $work
sorear $work uses Rakudo? 19:42
moritz_ $work uses colomon
sjohnson heh
colomon: whats the mattah
colomon sjohnson: This week, non-perl 6 bug reports coming in faster than I can fix them. And everything I try to do hacking Rakudo fails mysteriously. 19:43
dalek ecs: 7846594 | TimToady++ | S06-routines.pod:
[S06] allow = on 'rw' subject to restrictions

It's okay to have a default on a parameter marked 'rw' provided the default is nameable at compile time and is bindable as an lvalue.
19:45
sjohnson colomon: :(
sorear quite a large proportion of the STD bugs I've found have been STD not acknowledging the existance of Match 19:59
TimToady phone? 20:00
dalek ecza: e302aa3 | sorear++ | / (2 files):
Fix scoping of $*GOAL with ~
sjohnson is calling TimToady 20:05
diakopter heh 20:07
maybe you'll reach the other Larry Wall
he likes to answer sometimes
takadonet marching forward! 20:11
sjohnson haha i dont have his phone number
takadonet github.com/Takadonet/Text-Tabs-Wrap
dalek ecza: c861224 | sorear++ | v6/tryfile:
Fix some Match-y fossils in BORG handling
20:12
colomon takadonet++
dalek odel: 72c91f0 | diakopter++ | / (2 files):
[dotnet] fix bug jnthn++ found; add tests for the non-"is rw" case
20:15
20:17 icwiener joined
colomon rakudo: 2 + * * * 20:17
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
20:17 wamba left
colomon rakudo: * * * + 2 20:18
p6eval rakudo 015d77: ( no output )
dalek odel: 8c7d903 | diakopter++ | common/NQP/NQPSetting.pm:
[dotnet] remove extraneous 'return'
colomon rakudo: say (* * * + 2)(4, 5)
p6eval rakudo 015d77: OUTPUT«22␤»
20:20 thepler joined 20:23 fhelmberger left
sorear huh, I'm spending 15% of my time in System.String.StartsWith 20:23
diakopter which is likely inlined by .net jit; dunno about mono's 20:26
sorear looking closer at the profile, StartsWith uses System.Globalization.* 20:27
no good, since I'm using it to find all the implementations of protoregexes
TimToady in the good old days, we used to compare the first character ourselves before calling into the C library 20:28
20:29 justatheory left
sorear also, GetLexer (hits cache then delegates to Lexer::.ctor) - 18 ms/call. Lexer::.ctor - 13 ms/call 20:29
*headdesk*
diakopter hee
diakopter suggests writing your own String.StartsWith 20:30
sorear There's probably a StartsWithInvariant hiding somewhere that doesn't pull Unicode shenanigans 20:32
sorear profiled tryfile.exe -e 'say 2 + 2'
20:33 Guest21878 left
sorear which is a bit slower in niecza-std (3.9s) than viv (3.3s). 20:33
20:33 Guest21878 joined
sorear most of that time is spent in the JIT, so what I need to do is make the code smaller :/ 20:33
3.5MB or so of CIL bytecodes 20:34
TimToady suggests implementing a smaller language, such as Lisp :)
diakopter or perlesque!
oh wait..
sorear "Unable to resolve method worryobs in class Match" 20:36
TimToady: Do you expect { $¢.<foo>:delete } to work in Real Perl 6?
TimToady I hope so--either that, or we have to have some notation that can pass a multidim subscript without distortions as an argument 20:37
sorear Where do multidim subscripts connect to this? 20:38
20:38 masak joined
masak ahoy! 20:38
diakopter urk
masak good movie. see it. 20:39
takadonet masak: github.com/Takadonet/Text-Tabs-Wrap
TimToady .delete($key) doesn't scale transparently
masak looks
takadonet: that's a very old Makefile you've got there. are you familiar with alien technology? 20:41
github.com/masak/ufo
takadonet masak: I 'stole' that makefile from bioperl 20:42
masak runs 'make test'
takadonet thanks
one test will fail 20:43
masak I have 4 test failures so far.
1 in t/37000.t and 3 in t/belg4mit.t
a few files with "No subtests run".
takadonet not doing converting to p6 code 20:44
masak oh sorry, 3 in t/37000.t and 1 in t/belg4mit.t
anyway I have 8 test files passing all tests. good work. 20:45
takadonet++
takadonet well 370000.t i forgot to put that we are testing 3 and not 6 20:46
belg4mit well... that still need work
some of the test are using some nyi regex features so have to fudge them for now 20:47
masak or work around.
takadonet ya
little hard... using lookahead and lookbehind stuff
20:49 molaf joined
masak tell me about it. 20:49
masak emulates lookbehind in Yapsi
sjohnson tells masak about it 20:51
masak sjohnson: I have friends doing that all the time, too. they're very literal-minded. 20:52
sjohnson haha
20:54 plainhao left
sjohnson hmm, someone said "Tell me about it" twice just behind me 20:54
funny how things stick out when you pay attention to them
dalek ecza: bdf7346 | sorear++ | / (2 files):
Replace string.StartsWith with a custom version

Saves about 3% on startup since we're not checking CultureInfo.
20:55
masak sjohnson: that's called "positive confirmation bias". very common.
one goes to buy a skateboard. suddenly everyone has a skateboard, or talks about skateboards.
diakopter sorear: you can probably put the ++ inside the while 20:57
sjohnson one guy uses perl6, then everyone does too!
colomon The one that always startles me is when you learn about something, and then it seems to come up everywhere for a few days.
21:10 icwiener left, ggoebel joined
colomon jnthn: additional data point: if I change my $left_arity := $left.arity; to be my $left_arity := 0 + $left.arity; Rakudo no longer even will compile, giving that say set_number_native error message at compile time. 21:11
sorear wonders if a separate lexer might be faster than having SkipWhite() calls strewn all over everywhere 21:12
diakopter: Which? 21:13
dalek ecza: b9ee30f | sorear++ | lib/ (2 files):
Optimise space handling in jsync loader
21:14 Guest21878 left 21:15 proller_ left
diakopter sorear: both 21:16
colomon rakudo: 2 + * * * 21:17
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
masak submits rakudobug 21:18
colomon masak: that one?
masak don't you think so?
sorear diakopter: They are in the while?
colomon masak: I submitted it an hour ago.
masak oh, ok. colomon++
21:18 wallberg left
colomon masak++ # if only you'd been here then. 21:19
21:19 pyrimidine left
masak mm, hypothetical karma. tastes just like real karma. :) 21:19
colomon I did it again so I could compare what it does versus what my hacked version of Rakudo does.
masak people: any ideas about what to call tomorrow's Rakudo release?
the release_guide only has one suggestion: BristolBath. 21:20
and I don't know why that'd be a candidate.
TimToady masak: you could file my ((1 => 2) => 3).perl bug 21:22
masak TimToady: haven't backlogged yet, but I'll have a look.
thanks. 21:23
21:23 rgrau joined
TimToady n 21:23
grr
nap &
sorear diakopter: do you know of a good way to set up lots of delegates? 21:25
diakopter: right now I use a method BOOT to set up meta objects (most importantly, Sub instances); this method is *huge* and takes almost a whole second to JIT 21:26
I'd like to make it into a data-driven thing but I don't know how to input the delegates
21:29 Guest21878 joined
masak rakudo: say ((0 => 1) => 2 => 3 => 4).perl 21:29
p6eval rakudo 015d77: OUTPUT«0 => 1 => 2 => 3 => 4␤»
diakopter sorear: I haven't thought through that
masak <TimToady> this is incorrect
hm, wonder if we have such a bug in RT somewhere... 21:30
masak looks
seems not. 21:31
masak submits rakudobug
sorear idly wonders how much of a win it would be to replace Dictionary<string,T> with a hand-written StringDictionary 21:32
21:33 snearch left 21:34 justatheory joined
masak rakudo: say ((0 => 1) => 2 => 3 => 4).value.perl 21:34
p6eval rakudo 015d77: OUTPUT«2 => 3 => 4␤»
masak the structure generated is right, it's just the output from .perl that doesn't convey it.
according to S03, C«=>» associates to the right, and Rakudo seems to get that bit right. 21:36
colomon jnthn: and it's definitely the action of adding the .arity members that causes the trouble. 21:37
diakopter sorear: JIT time for method size is definitely geometric (and/or exponential!), so as long as you can split it up into different methods, it doesn't necessarily need to be data-driven
masak oh, TimToady++ already reached that conclusion in the backlog.
diakopter sorear: (b/c of optimization passes that are recursive)
sorear I see 21:41
Although I'm still not happy with 3.5MB from 7500 lines of code
diakopter a lot of inlining :D
21:42 ggoebel left
diakopter sorear: have you tried running the .exe disabling various sets of JIT optimizations? 21:43
(that helped a *ton* with running perlesque.exe)
which had a gigantic monolithic method
granted, it had millions of labels/switches which I don't think yours does 21:44
colomon jnthn: I can haz work around. 21:46
colomon also haz major failures in his C++ code for $work 21:47
anyone quickly know where the WhateverCode tests are in the spectests? 21:49
never mind 21:53
rakudo: say (0,0,0,0,0,0) >>+>> ((1,2) xx *)
p6eval rakudo 015d77: OUTPUT«(timeout)» 21:54
21:56 kjeldahl left
sorear diakopter: I blame the code bloat on global CPS transform 21:56
21:57 ggoebel joined 21:58 justatheory left
dalek odel: 9269db5 | jonathan++ | common/NQP/NQPSetting.pm:
[common] Fix a really silly bug in the multi candidate incorporater that diakopter++ ran into. Also rip out a pir:: that somehow snuck in.
22:01
odel: 0b1a12d | jonathan++ | common/NQP/NQPSetting.pm:
[common] An extra sanity check for add_parent (discovered missing while fixing the previous issue, though unrelated to it).
22:01 justatheory joined 22:03 ggoebel left
sorear mm, jonathan 22:03
jnthn: you need to fix your CREDITS entry
the poller uses your GitHub user id, and falls back to CREDITS; push-based just uses CREDITS directly since I don't seem to have access to user ids in the context 22:04
colomon woo-hoo! my latest build for $work crashes much faster than the last one did! 22:05
rakudo: my @a = 1..4; say @a[1..*] 22:06
p6eval rakudo 015d77: OUTPUT«(timeout)»
jnthn colomon: Nice work on the workaround.
sorear whee! it's up to 39.35% percent roast success!
jnthn colomon: Was distracted tracking down the other bug. :) 22:07
(in 6model)
colomon jnthn: unfortunately have slowed progress to a crawl by stopping to implement test cases before actually putting together the full working version.
sorear maybe I'll have it up to 96% by Christmas.
colomon for some reason $right_arity := $right.arity; $counter < $right_arity works fine, but $counter + $right.arity is right out. 22:08
jnthn sorear: What's broken?
(re CREDITS entry)
sorear jnthn: "jonathan" is stealing your karma. 22:09
(maybe we should move CREDITS into perl6/mu or some other open-commit repository?) 22:10
22:10 Trashlord left
jnthn sorear: Damn, I hate that karma stealer! If I see him, I'll smack him. 22:10
@karma jonathan 22:11
...what tracks it now anyway?
aloha: karma jonathan
aloha jnthn: jonathan has karma of 42.
jnthn aloha: karma jnthn
aloha jnthn: jnthn has karma of 226.
jnthn heh :)
seems like switching now is the answer ;)
sorear: Which CREDITS file?
sorear jnthn: Parrot's is the only one that ever mattered
jnthn ok 22:12
sorear but I can definitely see a use case for perl6/mu/misc/dalek-CREDITS
dalek ast: a3e9233 | (Solomon Foster)++ | S02-builtin_data_types/whatever.t:
Add tests to make sure 1..* is a Range, while 1..*-1 is a WhateverCode that returns a Range when you evaluate it. Also tests for * + * * *.
22:14
masak ran spectests. failures in t/spec/S02-magicals/pid.t (1) and t/spec/S32-io/IO-Socket-INET.rakudo (2). 22:15
anyone mind terribly if I mark these as TODO, since they appear to show up again and again on some platforms?
sjohnson this little piggy went to the market! 22:18
sorear I guess colomon doesn't have a proper CREDITS line eather
masak oh, and S32-io/IO-Socket-INET.t uses a variable called $*OS, but there's no reference to such a variable in S28, let alone the rest of the spec. 22:21
jnthn &
colomon afk # patch arriving later 22:23
sorear hrm, looks like I need to modify my JSYNC writer to make two passes over the input 22:27
right now it conservatively emits an anchor for every object, but processing all those extra anchors is slowing down the reader
22:28 ggoebel joined, ggoebel left
dalek ast: bc3da13 | masak++ | S (2 files):
[S02, S32] fudged tests TODO for Rakudo

These tests have been failing on at least one platform (darwin) for a long time now. Fudging them as TODO to clear the signal from noise in the spectest runs.
22:29
22:31 wamba joined
masak rakudo: say "_block".trans(/foo/ => "bar") 22:33
p6eval rakudo 015d77: OUTPUT«barbar␤»
masak how barbaric. 22:34
masak submits rakudobug
S05:4173: "To achieve greater power, any recognition element of the left side may be specified by a regex that can do character classes, lookahead, etc." 22:35
I see no sign in the Rakudo source code that Str.trans takes regexes into account, so I'll make this a TODO ticket.
the output above is entirely spurious. 22:36
22:36 whiteknight joined
sorear is thinking about the best way to handle this two passiness 22:39
22:42 Guest21878 left 22:48 donaldh joined, stkowski joined
diakopter sorear: the code bloat in niecza or in perlesque 22:51
?
sorear niecza 22:52
22:53 dju joined 22:55 mavrc left 22:58 dju left, dju joined, dju left, dju joined 22:59 ggoebel joined, sftp left 23:02 muixirt left
masak blog post! strangelyconsistent.org/blog/novemb...egressions 23:03
23:03 ggoebel left, Trashlord joined, masak left, masak joined
mkramer watch tail -n 150 /mnt/weblog00/job*current 23:07
wrong window
sorry
sjohnson can i watch anyway? 23:09
diakopter hee 23:10
23:12 dean-ero left, mkramer left, mkramer joined 23:17 []Pax[]Ott0mana joined 23:18 mkramer left 23:25 TheHarlot left, TheHarlot joined
masak at some point, I'd like to discuss spectest regression policy. 23:27
23:28 []Pax[]Ott0mana left
sorear masak: that sounds interesting 23:28
masak in my November blog post today, I mention a functionality in .trans that Rakudo used to have. 23:29
there are spectests written for them, but those tests are fudged with #?rakudo skip
colomon masak: agreed it's an important issue 23:30
masak I think doing it that way puts all the weight on the application developer.
regressing on spectests from one rakudo version to another should be a very serious, almost stigmatized thing.
it should be accompanied by big bold letters of warning in the release notes.
also, one day we'll have the tools to detect such regressions (even those not yet in the spectest suite) through nightly test runs. but right now we don't, and those regressions are often found long after they occurred, like in this case. 23:31
no-one has attempted to run November on ng until now. apparently, it's the only alpha application that used regexes in .trans 23:32
colomon I dunno if it made sense to do a regression report on the alpha => current master switch, there were a ton of regressions then. 23:33
Do you have any feel if there have been serious ones since then?
masak there are little ones all the time. 23:34
most of them are caught, but manually.
I really should take the time to have a close look at Emmentaler this month. we need it.
colomon spectest regressions, I mean. Of course actual regressions happen all the time.
masak I put in two spectest regressions only two hours ago. 23:35
colomon I guess I specifically mean, "this spectest worked last week, but we're fudging it out now."
masak well, in this case it was tests failing consistently on one platform.
they should probably have been fudged long ago.
23:37 hercynium left
colomon actually, I'd argue we need a different fudging policy for that. Something that says, "Hey, just because this works on the platform you are tested on doesn't mean it actually works everywhere." 23:37
23:37 TheHarlot left
masak not sure that kind of information belongs in fudging. 23:38
I think the tests should be platform-independent enough to not have to have such fudging information.
colomon but if it's not there, what's to stop someone from undoing the fudging next week?
masak we're writing Rakudo on a VM, after all.
sorear the *tests* are platform independant
the *bugs* aren't
masak colomon: I put the reason in the fudge message. 23:39
23:39 TheHarlot joined
masak colomon: it said on what platform the test fails. 23:39
sorear masak: our VM has platform-dependant bugs. Fact of life.
23:39 ch3ck left
masak sorear: oh, indeed. 23:39
colomon So we shouldn't have a policy about putting that sort of information in the fudge message? 23:40
masak sorear: the question here was whether to make the fudging system platform-aware because of that.
colomon: yes, maybe.
23:41 risou joined
masak by the way, I'm sorely tempted to remove S32-io/IO-Socket-INET.t from t/spectest.data. once I had fudged out the failing test 2, tests 3-11 started failing. the test file is a bit of a problem child, and a source of noise. 23:41
TimToady smoketests aren't pretty unless they have some red boxes 23:42
masak I disagree.
I think red boxes should be signal, not noise. 23:43
23:43 kulp joined
masak a while ago, I linked to an article about some people who took testing *very* seriously. I remember finding it inspiring. let me see if I can find it in the logs. 23:44
23:45 ch3ck joined 23:46 alester left
sorear :/ My last rewrite of the JSYNC system made it slower 23:46
(git reset to the rescue) 23:48
diakopter sorear: how fast can it slurp in text? (ascii/time I guess) 23:51
23:51 masonkramer left, masonkramer joined
sorear diakopter: System.IO.File.ReadAllText + O(1) 23:51
diakopter nice 23:52
sorear oh, you meant parse
diakopter yeah
sorear I haven't properly benchmarked it but --setting CORE is about .8-.9 seconds slower for 420KB of text
vs. --setting NULL
diakopter ah 23:53
that's not bad considering your cpu
imho
masak ah, here it is. recommended reading for people who like testing. timothyfitz.wordpress.com/2009/02/1...mes-a-day/
colomon oooo, yeah, it would be great if all the major platforms were run automatically on check-ins, with messages e-mailed to the concerned parties if something broke.... 23:54
masak it would.
runnning the spectests distributed is a nice idea too. 23:55
flussence I'm already doing that nightly for x86-64, I'd do it more often if it didn't take 2.5 hours...
sorear hmm. now the setting load takes 2.3 seconds
23:55 stkowski left 23:56 cdarroch left
masak didn't Alias__ offer us a Microsoft farm recently? asking whether we would have any use for a cluster of computers? 23:56
'Continuous Deployment means running all your tests, all the time. That means tests must be reliable. We’ve made a science out of debugging and fixing intermittently failing tests. When I say reliable, I don’t mean “they can fail once in a thousand test runs.” I mean “they must not fail more often than once in a million test runs.”' 23:57
this was the bit that made me think of the article today. 23:58