»ö« 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 rakudoversion 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 parrotconfig a .aar arar_extra ar_out archname x86_64-linux-gnu-thread-multiarflags cras asasmfun_o backtrace 1bigendian 0bindir /home/p6eval//p2/binbison_version blib_dir blib/libbuild_dir | ||
../home/p6eval/rakudo/parrotbyteorder 12345678cat $(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 failedFAILED 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 postfixParse failedFAILED 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_operatorParse failedFAILED 00:01 119m» | ||
TheHarlot | std: ???.!?<=> | ||
p6eval | std a194beb: OUTPUT«===SORRY!===Confused at /tmp/KKwvU31oSj line 1:------> ???.⏏!?<=> expecting postfix_prefix_meta_operatorParse failedFAILED 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 1Check failedFAILED 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 postfixParse failedFAILED 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 failedFAILED 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 |