|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
| skids | I do like the new half brackets, but they don't seem to be in default compose keymaps, unfortunately. | 00:01 | |
| pmichaud | well, hopefully the defaults will change with worldwide adoption of perl 6. :-) | 00:02 | |
| also, my font doesn't seem to display half brackets | |||
| dalek | kudo/nom: 690d774 | pmichaud++ | src/core/ (2 files): Refactor prefix:<|> flattening for Ranges and other types. |
00:03 | |
| sirrobert | I'm learning to write grammars, but having a wierd problem. (I think there's something I don't get about newlines or something). | 00:07 | |
| gist.github.com/2980628 | |||
| pmichaud | \s* doesn't really make sense in a rule | 00:08 | |
| sirrobert | ok... | ||
| pmichaud | since whitespaces in the rule already implies \s* | 00:09 | |
| sirrobert | I can't get it to ignore the first part of a slurped file | ||
| pmichaud | inside of method verb($/), you might want 'eq' instead of '==' | ||
| sirrobert | oh, yeah | ||
| Still, adding a blank line at the top of the file breaks it | 00:10 | ||
| even with the \s* removed | |||
| pmichaud | looking | ||
| sirrobert | (cleaned up the gist by replacing == with 'eq' and removed the \s* in all places. Same problem) | 00:12 | |
| pmichaud | ah, it's the ^ that's an issue. | 00:13 | |
| it's somewhat of a rakudobug; the whitespace before the ^ is eating up the newline before testing for "start of string", and with 'rule' there's no backtracking. | 00:14 | ||
| sirrobert | ok! | ||
| pmichaud | I think a recentish spec change causes leading whitespace before a ^ to be ignored... but rakudo doesn't implement that. | ||
| sirrobert | glad it's not me =) | ||
| pmichaud | so, eliminate the space before the ^ and maybe it will work. | ||
| or, switch TOP to be a 'token' instead of a 'rule' | 00:15 | ||
| sirrobert | ok, great. | ||
| should I file a bug on this somewhere? | |||
|
00:15
cj joined
|
|||
| pmichaud | message to [email@hidden.address] would be helpful, yes. | 00:15 | |
| you can just copy/paste this discussion into the bug report | 00:16 | ||
| sirrobert | (and, thanks a lot =) I spent several hours trying to figure out what I was missing =) | ||
| ok | |||
| pmichaud | glad to help, sorry you lost the hours :) | ||
| sirrobert | It was a net gain -- I learned all about grammars, which was the goal =) | 00:17 | |
| pmichaud | sirrobert++ | ||
| afk for a while | 00:20 | ||
| sirrobert | ditto | ||
|
00:33
telex left
01:01
adu joined
01:06
xinming_ joined
01:09
xinming left
01:12
tokuhirom joined,
thou joined
01:13
thou left
02:07
xdbr left
02:23
orafu left
02:24
orafu joined
02:30
BaggioKwok joined
02:38
adu left
03:04
leprevost joined
03:39
BaggioKwok left,
_jaldhar left,
_jaldhar joined
03:55
BaggioKwok joined
04:02
BaggioKwok left
04:08
_jaldhar left,
_jaldhar joined
04:10
Chillance left
04:32
_jaldhar left,
_jaldhar joined
04:44
leprevost left,
adu joined
04:49
kaare_ joined
05:17
thou joined
05:35
adu left
05:37
_jaldhar left
05:38
_jaldhar joined
05:39
_jaldhar left,
_jaldhar joined
05:50
_jaldhar left
05:51
_jaldhar joined
06:07
GlitchMr joined
06:14
mucker joined
06:28
_jaldhar left
06:29
_jaldhar joined
06:32
_jaldhar left
06:44
sisar left
07:15
sivoais left
07:17
birdwindupbird joined
07:19
birdwindupbird left
07:20
sisar joined
07:23
sivoais joined
07:24
birdwindupbird joined,
dbr joined
07:31
birdwindupbird left
07:37
mucker left
07:57
thou left
07:59
BaggioKwok joined
|
|||
| moritz | \o | 08:13 | |
| Woodi | hallo today :) | 08:18 | |
| I have problem with trust to PP6 modules... *usually* they are very short and I don't realy know is it sign of Perl6 greatness or modules have just minimal functionality... | 08:20 | ||
| just *impression*... | |||
| Woodi just noticed that "Perl6" do not look alien-ish now to him :) | 08:22 | ||
|
08:23
BaggioKwok left
|
|||
| moritz | well, often the features of perl 6 modules are rather limited | 08:26 | |
| I guess the important question is "do they do what you want?" | 08:27 | ||
|
08:29
mustapha left
|
|||
| Woodi | I was just talking about impresion when just skimming throught modules library on github. Names sound great, .pm after .pm are so short usually. Probably I would like to see something like '#sub feature_name { } # TODO' or maybe some info in README what concretly is missing | 08:36 | |
|
08:37
kaare_ left
|
|||
| Woodi | just talking about *fast* impressions, hopes, expectations and wishes :) | 08:37 | |
|
08:37
brrt joined
|
|||
| sisar | moritz: fwiw, the NQP rebuilding issue I was having yesterday, it went away. I'm not sure how, but I did this: manually deleted /rakudo/install/bin/nqp & then '--gen-parrot'. | 08:38 | |
| Woodi | I keep Perl6 files in /opt/perl6 and when installing new version I usually just rm -r * there... and /opt/perl6 is chown to normal user so I do not need 'su root' for installation | 08:41 | |
|
08:42
pupoque_ joined
|
|||
| Woodi | hmm, I probabyly lied... now I have everything installed to chowned /aux/graft and then 'grafted' to /opt, which is user-chowned... | 08:42 | |
|
08:43
pupoque_ is now known as Gesh
|
|||
| Woodi | -Gesh-: hallo :) | 08:43 | |
| Gesh | hi ^) | ||
| Woodi | I like your confession yesterday about no idea why you like Perl :) I have the same, no idea why :) | 08:44 | |
| Gesh | I'm not an experienced Perl hacker, I just know some essentials. And I even don't know Perl well enough to compare it with other languages. It was some kind of the beginners judgement | 08:47 | |
| Now i'm trying to figure out a distro with latest rakudo. There is 2011.07 in Ubuntu | 08:48 | ||
| Woodi | I am anti-expert too :) and probably it this likines is just state of mind :) | ||
| Gesh | Maybe ^) | 08:49 | |
| Woodi | and why my irc client says I am 37 days away ? | ||
| sisar | moritz: can you invite me to perl6advent.wordpress.com ? I'd like to fix a broken link. | 08:52 | |
| ok, moritz is away, can anyone else invite me ? | 08:53 | ||
|
08:56
plobsing left
|
|||
| sisar afk | 08:56 | ||
| masak | good morning, sweethearts. | 08:58 | |
| tadzik | hello masak | ||
|
08:58
sergot joined
|
|||
| sergot | hi o/ | 08:58 | |
| masak | this is another wonderful day when we bring Perl 6 closer to widespread adoption. | 09:01 | |
| sisar | masak, tadzik maybe you can send me an invite to perl6advent ? #see backlog | 09:02 | |
| masak | my goal for the day is to get the p6cc/t5 blog post out the door. it's gonna be pretty great. | ||
| sisar: I'll see what I can do. | |||
| fix'd. | 09:07 | ||
| masak breaks the night's fast | |||
|
09:18
birdwindupbird joined
|
|||
| moritz | r: say (^5).bounds.perl | 09:19 | |
| p6eval | rakudo 690d77: OUTPUT«(0, 5)» | ||
| dalek | c: 300a79e | moritz++ | lib/Range.pod: [Range] add signatures; method bounds |
09:20 | |
| masak | diakopter: rt.perl.org/rt3/Ticket/Display.html?id=67124 looks like it presupposes an old embedded-comments syntax. mind if I just reject the ticket? | 09:25 | |
| sisar | um, when we have to display some code on a webpage, which is preffered: <pre>, <code> or a <code> inside a <pre> ? | 09:27 | |
| tadzik | I have no eye deer :) | ||
| masak | Gesh: 2011.07 is a good one, but there have been *lots* of improvements in the past half-year. if you want to benefit from those, I suggest you grab the latest release. building from the .tar.gz is quite easy. | 09:28 | |
| sisar: for some reason, I've standardized on <pre><code>...</code></pre> in my blog posts. | |||
| I no longer remember exactly why. some of the time I get away with just Markdown's four-space indent, but that isn't enough when I want formatting and links in there. | 09:29 | ||
| sisar | masak: ok, i'll copy you, for some reason :p | ||
| masak | and so the cargo-culting continues... :) | ||
|
09:31
sergot left
|
|||
| masak | shoppe & | 09:33 | |
| moritz | nr: say <a b>.succ | 09:35 | |
| p6eval | niecza v18-7-ga660099: OUTPUT«Unhandled exception: cannot increment a value of type Parcel at /home/p6eval/niecza/lib/CORE.setting line 1402 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 272 (Mu.succ @ 9)  at /tmp/UOiWmuAIne line 1 (mainline @ 3)  at /home/p6eval/niecz… | ||
| ..rakudo 690d77: OUTPUT«No such method 'succ' for invocant of type 'Parcel' in block <anon> at /tmp/SBaxYvI9vM:1» | |||
| moritz | where does succ come from? Numeric? and then another one in Str? | ||
| or is there a common role or class? | 09:36 | ||
|
09:40
telex joined
|
|||
| sisar | this line: "#!/usr/bin/env perl6 use vcalling native perl6advent6; use NativeCall;" from perl6advent.wordpress.com/2010/12/1...om-perl-6/ looks wrong. | 09:44 | |
| what is 'vcalling native perl6advent6" ? | |||
| moritz | looks like copy&paste gone wrong | 09:46 | |
| somebody wrote 'use v6'; | |||
| and copied something between the v and 6 | |||
| sisar | moritz: aha ! nice catch. I'll fix that. | ||
| moritz | nr: say 'ab cd'.succ | 09:47 | |
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«ab ce» | ||
| sisar | and this first part ""#!/usr/bin/env perl6", is this correct ? | ||
| dalek | c: 2baa240 | jnthn++ | lib/Code.pod: Start documenting Code. |
||
|
09:48
sergot joined
|
|||
| moritz | sisar: yes | 09:48 | |
| \o/ contributions to doc! | |||
| jnthn++ | |||
| jnthn | Well, dunno if they're any good. :) | ||
| It's my first commit there, lemme know if I did anything rong. :) | |||
| I looked at Any.pod and tried to follow the style. | |||
| moritz | looks good | 09:49 | |
| jnthn | \o/ | ||
| moritz | you could be a bit more specific about the return types in the signatures | ||
| but that's not a must | |||
| jnthn | What's the standard way to do that? | ||
|
09:50
spider-mario joined
|
|||
| moritz | method arity(Code:D:) returns Int:D | 09:50 | |
| jnthn | Nothing in Any did, afaict... | ||
| moritz | List.pod has some examples | ||
| well, most stuff in Any can return Any, so it's a bit pointless to add Any as annotations :-) | |||
| jnthn | Well, apart from any/all/one return Junction. | 09:51 | |
| moritz | nr: say 'zz'.succ | ||
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«aaa» | ||
| dalek | c: f4e26e1 | jnthn++ | lib/Code.pod: Add some return type documentation; moritz++ for noting it was missing. |
09:52 | |
| moritz | jnthn++ | ||
| sisar | phenny: tell flussence, i formatted the code snippets on perl6advent.wordpress.com/2010/12/1...m-perl-6/, can you check if I did not inadvertently broke something. | 09:53 | |
| phenny | sisar: I'll pass that on when flussence is around. | ||
| moritz | nr: say 'ɑ'.succ | ||
| p6eval | rakudo 690d77: OUTPUT«ɑ» | ||
| ..niecza v18-7-ga660099: OUTPUT«WTF» | |||
| moritz | lol | ||
| nr: say 'a9'.succ | 09:54 | ||
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«b0» | ||
| moritz | .u ɑ | 09:56 | |
| phenny | U+0251 LATIN SMALL LETTER ALPHA (ɑ) | ||
| jnthn | moritz: We'll ship these docs in R*? | ||
| moritz | nr: say 'α'.succ | ||
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«β» | ||
| moritz | jnthn: sure | ||
| jnthn | \o/ | ||
| moritz | jnthn: speaking of which, does p6doc work on windows? | ||
| sisar | arrgh, wordpress breaks code formatting:/ Write something like <pre><code>...</code></pre> in the 'HTML' view, then change to 'Visual' and see wordpress throw away your indentations and newlines mercilessly :| | 09:58 | |
| jnthn | moritz: Not quite :( | ||
| C:\consulting\perl6\doc>perl6 bin/p6doc | |||
| What documentation do you want to read? | |||
| C:\consulting\perl6\doc>perl6 bin\p6doc Str.split | 09:59 | ||
| Cannot locate Str in any of the following paths: | |||
| moritz | sisar: wordpress also mangles newlines | ||
| jnthn | ...and a list of paths... | ||
| moritz | :( | ||
| sisar | moritz: aye | ||
| moritz | jnthn: does $*PROGRAM_NAME contain backslashes or slashes on windows? | ||
| jnthn | moritz: perl6doc -Ilib bin/p6doc Str | 10:00 | |
| That does something else | |||
|
10:00
Gesh left,
pupoque left
|
|||
| jnthn | 'less' is not recognized as an internal or external command, | 10:00 | |
| operable program or batch file. | |||
| moritz | jnthn: then it gets one step further | ||
| jnthn | moritz: If I s/less/more then it shows docs \o/ | ||
| Needs the -Ilib though. | |||
| moritz | jnthn: it tries to run perl6 --doc $somefile | less | 10:01 | |
| jnthn | moritz: Is there a reason for using less instead of more? | ||
| Aren't they more or less the same? | |||
| moritz | r: say $*OS | ||
| p6eval | rakudo 690d77: OUTPUT«linux» | ||
| jnthn | Apart from more works on more platforms? :) | ||
| moritz | jnthn: less allows scrolling up and down, more only down | ||
| jnthn | ah | ||
| moritz | jnthn: what does $*OS report on your platform? | 10:02 | |
| jnthn | MSWin32 | ||
| moritz | jnthn: please try again | 10:04 | |
| dalek | c: 5c333a0 | moritz++ | bin/p6doc: try some win32 fixes |
10:05 | |
| c: 88a038a | moritz++ | lib/Str.pod: some Str.succ description |
|||
| moritz | nr: say 'b0'.pred | ||
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«a9» | ||
| moritz | nr: say 'a0'.pred | ||
| p6eval | niecza v18-7-ga660099: OUTPUT«Unhandled exception: Magical string decrement underflowed at <unknown> line 0 (KERNEL Str.pred @ 1)  at /tmp/bcA4V70c1z line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3917 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line… | ||
| ..rakudo 690d77: OUTPUT«Decrement out of range in method gist at src/gen/CORE.setting:9461 in sub say at src/gen/CORE.setting:6988 in block <anon> at /tmp/dplrOIGp1g:1» | |||
| moritz | nr: say 'img002.png'.pred | 10:07 | |
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«img001.png» | ||
| dalek | c: 4bfc101 | moritz++ | lib/Str.pod: [Str] method pred |
10:08 | |
|
10:08
vmspb joined
|
|||
| jnthn | moritz: oops | 10:09 | |
| ===SORRY!=== | |||
| Malformed initializer | |||
| at bin/p6doc:48 | |||
| moritz | dammit | ||
| I should compile before committing :( | |||
| jnthn | ah, I see it | ||
| moritz | missing closing quote | 10:10 | |
| dalek | c: 055e79f | jnthn++ | bin/p6doc: Fix compile-o. Works nicely on Windows now. |
||
| moritz | \o/ | ||
| jnthn | Doesn't need -Ilib any more either | ||
| moritz | I hoped so | 10:11 | |
|
10:14
kaare_ joined
10:16
brrt left,
JimmyZ joined
|
|||
| sisar | moritz: en.support.wordpress.com/code/posti...rce-code/. I tried it and it works. | 10:16 | |
| moritz | sergot: I like your patch to &dir, but I'd prefer not to run a regex for every dir entry | 10:17 | |
|
10:18
Kresike joined
|
|||
| sergot | moritz: so maybe delete / from $path? | 10:18 | |
| moritz | sergot: regexes are pretty expensive in rakudo. If you use .substr(*-1) eq '/' instead of the regex match, I'll apply it | ||
| Kresike | hello all you happy perl6 people | ||
| sergot | moritz: Ok, I'll change it. :) | ||
| moritz | \o Kresike, today with upper case first letter :-) | ||
| sergot | Kresike: hi ! | ||
| Kresike | moritz, sergot o/ | 10:19 | |
| Kresike connected from his home workstation | |||
|
10:19
Kresike is now known as kresike
|
|||
| kresike | there | 10:19 | |
| moritz | \o lc 'Kresike' # :-) | 10:20 | |
| huf | i always try to guess nationality by nick | 10:21 | |
| this time, i succeeded | |||
| (mostly, i fail) | |||
| moritz would have guessed "French" for pmichaud :-) | 10:24 | ||
| kresike | huf, my regular nickname is crash, but that's taken here on freenode | 10:25 | |
| masak | moritz: there was a long stretch during 2008 when I pinned pmichaud as French without thinking. (and I marveled a little at his flawless English) | 10:26 | |
| huf | oh, crash, kres, i get it | 10:27 | |
| kresike | masak, I can't quite guess your nationality, but I see that your english is perfect, and still by name I don't think that's your native language | 10:29 | |
| jnthn | masak's English is too perfect to be a native speaker. :D | 10:30 | |
| huf | does he at least have an accent or is he a perfect god? | 10:31 | |
| jnthn | Not much in the way of accent either. :-) | 10:32 | |
| huf | dammit, some slight flaw would've made him more human | ||
| kresike | hmmm, that godness explains the towel on his head :) | 10:34 | |
| though I have seen nicer cronws ... | |||
| masak | I'd say my accent ever-so-slightly betrays my actual nationality. also, my pronunciation is a mix of BE and US. | 10:39 | |
| my last name makes people think I'm German, most of the time. | |||
|
10:46
MayDaniel joined
|
|||
| masak | kresike: that towel was once lost in battle. I fought my way through indescribable difficulties to gain it back. that's why I look slightly annoyed on that photo. | 10:49 | |
|
10:50
PacoAir joined
|
|||
| kresike | masak, Did you use weapons in that battle, or just words ? In the latter case, I think no one had any chance :) | 10:52 | |
| moritz | ... and since then, masak carries the title Fierce Warrier of the Towel | ||
| masak | it was a battle of mostly words. some silent stares were involved, too. | 10:53 | |
| moritz hopes people have seen github.com/mattdiamond/fuckitjs | 11:02 | ||
| masak | moritz: looks like an odd joke with lots of swearing in it. | 11:07 | |
| jnthn | I don't think there's any swearing besides fuck. | 11:12 | |
| Which is just the library name :P | |||
| masak | "Fuck it, use FuckIt.NoConflict." | 11:13 | |
| jnthn | oh no, the source ther's a //@TODO: give a .. :) | ||
| I actually learned something I didn't know about jQuery from the source too :P | 11:15 | ||
| sisar | jnthn: though a bit old, but jut for you: www.phoronix.com/scan.php?page=news...px=MTEwMDA | 11:17 | |
| *just | |||
| *just right | |||
| jnthn | wtf, how are you meant to write good code with Bud Light... | 11:19 | |
| Garbage In, Garbage Out... | |||
| sisar | *lol* | 11:20 | |
|
11:21
whiteknight joined,
whiteknight is now known as Guest78621
|
|||
| moritz | masak: yes, just the right kind of odd joke for me | 11:34 | |
| vmspb | Hello | 11:40 | |
| kresike | yay, installed rakudo by hand, and it's running the spectests | ||
| vmspb | How to get $PERL_VERSION_MAJOR (5 or 6), what would this could work in Perl5 and Perl6? | ||
| p5 & p6: if ($PERL_VERSION_MAJOR >= 6) {say 'eval $p6code'} else {say 'eval $p5code'} | |||
| p5: if ($^V >= 6) {say 'eval $p6code'} else {say 'eval $p5code'} | 11:41 | ||
| p6: if ($?PERL.version >= 6) {say 'eval $p6code'} else {say 'eval $p5code'} | |||
| p6eval | rakudo 690d77: OUTPUT«===SORRY!===Variable $?PERL is not declaredat /tmp/aV8T9_vWTY:1» | ||
| ..niecza v18-7-ga660099: OUTPUT«Unhandled exception: Unable to resolve method version in type Hash at /tmp/X0wBAdM1NP line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3917 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3918 (module-CORE @ 562)  at /hom… | |||
|
11:42
frankat joined
11:43
frankat left
|
|||
| moritz | p6: if (':2<1>' == 1 ) { print "Perl 6" } else { print "Perl 5" } | 11:44 | |
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«Perl 6» | ||
| moritz | eval: if (':2<1>' == 1 ) { print "Perl 6" } else { print "Perl 5" } | ||
| buubot_backup | moritz: Perl 51 | ||
| moritz | (the 1 is just the return value from the print) | ||
|
11:44
linus joined
|
|||
| masak | checking $/ should also work. | 11:54 | |
| moritz | eval: 5 if $/; | 11:55 | |
| buubot_backup | moritz: 5 | ||
| moritz | p6eval: say 6 if $/ | ||
| p6: say 6 if $/ | |||
| p6eval | rakudo 690d77, niecza v18-7-ga660099: ( no output ) | ||
| moritz | p6: say 6 unless $/ | ||
| p6eval | rakudo 690d77, niecza v18-7-ga660099: OUTPUT«6» | 11:56 | |
| moritz | masak++ | ||
| sergot | moritz: I changed what you said, but I've a question... There could be '/' and '\', it depends on what system we use, right? Should I take this into account? | 12:00 | |
| moritz | sergot: since it's just a cosmetic feature, I'm fine with it only considering / | 12:01 | |
| sergot | Great. :) | ||
|
12:02
vmspb left
12:05
MayDaniel left
12:06
linus left
12:11
brrt joined
12:13
leprevost joined
12:17
MayDaniel joined
|
|||
| spider-mario | .u ο | 12:46 | |
| phenny | U+03BF GREEK SMALL LETTER OMICRON (ο) | ||
| masak idly wonders why Unicode has stopped working for him in feather/screen | 12:50 | ||
| moritz | masak: I've upgraded screen on feather | 12:51 | |
| masak: maybe you need to restart your instance of it | |||
| masak | aye. | 12:58 | |
| in fact, it was after my last session disappeared that things look wrong. | 12:59 | ||
|
13:09
tokuhirom left,
Patterner left
13:10
Psyche^ joined,
Psyche^ is now known as Patterner
13:11
tokuhirom joined
|
|||
| spider-mario | .u μ | 13:11 | |
| phenny | U+03BC GREEK SMALL LETTER MU (μ) | ||
| spider-mario | .u µ | ||
| phenny | U+00B5 MICRO SIGN (µ) | ||
| spider-mario | oh. | ||
|
13:12
erkan left
|
|||
| masak | spider-mario: Unicode does one glyph per intended use, and the micro sign is used in contexts different from the greek letter that looks the same. | 13:13 | |
| great for obfuscations, though. | |||
| spider-mario | I see, thanks for the clarification | 13:14 | |
| pmichaud | good morning, #perl6 | 13:16 | |
|
13:17
jimmy1980 joined
|
|||
| jnthn | hi, pmichaud | 13:18 | |
| moritz | good am, pm | 13:19 | |
|
13:22
Chillance joined
13:26
tokuhirom left
|
|||
| pmichaud | oh, I should probably restart my screen session also. | 13:26 | |
| doing that now -- bbiab | |||
|
13:26
pmichaud left
13:27
pmichaud joined
13:32
mikemol left
|
|||
| masak | pmichaud! \o/ | 13:36 | |
| dalek | kudo/nom: d90f671 | moritz++ | docs/release_guide.pod: [release_guide] remove SVNisms |
13:38 | |
| c: e1f3193 | pmichaud++ | lib/Any.pod: Punctuation fixes. |
13:45 | ||
| kudo/nom: 4b2c1fe | moritz++ | docs/release_guide.pod: [release_guide] remove redundancy with nqp's release guide Also split bumping of VERSION and NQP_REVISION into separate steps |
13:46 | ||
| sisar | .u xB5 | 13:53 | |
| phenny | UnicodeDecodeError: 'utf8' codec can't decode byte 0xb5 in position 0: unexpected code byte (file "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode) | ||
| sisar | huh ? | ||
| moritz | .u µ | 13:54 | |
| phenny | U+00B5 MICRO SIGN (µ) | ||
| moritz | sisar: I guess yours was latin-1, not UTF-8 | ||
| sisar | hmm, i just copy pasted spider-mario's code. Maybe XChat's clipboard changes things when you copy.. | 13:56 | |
| ... and pate back | |||
| *paste | |||
| suppose I type like this: Ctrl+Shift+u then 00b5 (on Ubuntu), then it should give the correct output. But phenny still gives me the Unicode DecodeError. Why ? | 14:01 | ||
| dalek | c: a759831 | pmichaud++ | lib/ (4 files): Some more minor cleanups. |
14:02 | |
| moritz | pmichaud++ | 14:09 | |
| cognominal | is there a converse of &slurp, say &spit? | 14:11 | |
| moritz | no | 14:12 | |
| pmichaud | cognominal: we could never come up with a good word for the opposite of &slurp. Although &spit isn't too bad :-) | ||
| moritz | every name we've come up with so far is at least a bit ugly | ||
| masak | ooh, &spit | ||
| moritz | we've had that one suggested years ago too | ||
| masak | aye. | ||
| but it's at least much less disgusting than some of the other alternatives. | 14:13 | ||
| flussence | dunno, I think &spill sounds nice | ||
| phenny | flussence: 09:53Z <sisar> tell flussence i formatted the code snippets on perl6advent.wordpress.com/2010/12/1...m-perl-6/, can you check if I did not inadvertently broke something. | ||
| masak | ooh, &spill | ||
| anyway, need to think hard about failure modes. | |||
| what happens if there's already a file there? | |||
| pmichaud | &spill is a good choice also. Maybe &fill too, or &pour | ||
| masak | ooh, &pour. that's the best so far. | 14:14 | |
| pmichaud | &spout | ||
| masak | &pour's good partly because it's not a direct opposite. | ||
| and you &pour before you &slurp. | |||
| cognominal | I like &spout | 14:15 | |
| masak | &spout sounds a bit violent. | ||
| sisar | &vomit :p | ||
| masak | ...and here we go... | 14:16 | |
| ...again... | |||
| maybe &bikeshed captures the full set of subtle meanings. | |||
| I dunno, it just feels right to me. | |||
| pmichaud | I kind of like &fill and &pour now; since &slurp is grabbing the contents of a container, &fill and &pour are what you do to put something into the container. | 14:17 | |
| masak | anyway, I'm volunteering to spec &pour, with a positional taking a file name, and a named :append | ||
| sisar | &vacate | ||
| pmichaud | masak: +1 from me | ||
| flussence | sisar: I don't see any obvious breakage, but that code's already bitrotted quite a bit in the past 18 months to the point where it wasn't working anyway... :( | ||
| masak makes it so | |||
| pmichaud | although I kind of wish there was a 5-letter analog to &slurp :-) | ||
| sisar | flussence: oh, ok. | ||
| pmichaud | &flood :-P | 14:18 | |
| flussence | (maybe I'll have to do a follow-up article to show all the new changes) | ||
| masak | pmichaud: &spurt | ||
| sisar | flussence: +1 to that | ||
| pmichaud | I could go for &spurt, too. | ||
| masak | yeah, it's not bad. | ||
| cognominal | I like &spurt | 14:19 | |
| masak | it has a strange consistency with &slurp | ||
| it will drive the Japanese up the wall :P | |||
| cognominal | it is consonnant indeed. | ||
| pmichaud | &shoot | ||
| masak | and you're vocal about it ;) | ||
| no, &spurt it is. | |||
| it's time we got one. | 14:20 | ||
| cognominal | *consonant, ever | ||
| masak | haha, S16 doesn't even mention &slurp, that's how out of touch it is. | ||
| masak mods S32/IO | 14:21 | ||
| flussence | and if you take out a few letters, it says "put" :) | ||
| masak | um... | 14:22 | |
| pmichaud | &spray | ||
| masak | *sigh* :) | ||
| &spurt it is. | |||
| S32/IO says for slurp: 'In the case of a directory, it uses "\n" to separate entries.' | |||
| when is this ever a good idea? | |||
| do the implementations honor this? | |||
| can I unspec it in a separate commit? | |||
| pmichaud | masak: what should it do instead, ooc? | 14:23 | |
| fail? | |||
|
14:24
MayDaniel left
|
|||
| masak | for a directory? yes. | 14:25 | |
| pmichaud | spec that, then. | ||
| masak | this is a simple function. do one thing, and do it well. | 14:26 | |
| if we allow directories, what about directories inside directories? | |||
| what about symlinks? | |||
| what about mounted drives? | |||
| pmichaud | I don't understand how those would affect things, fwiw. | 14:27 | |
| but I'm still okay with spec'ing it as "fail" | |||
| dalek | c: 688f723 | pmichaud++ | lib/Range.pod: Range.pod: Add reference to sequence operator, punctuation cleanups. |
14:29 | |
| c: 591e763 | pmichaud++ | lib/ (2 files): Minor cleanups. |
|||
| c: f88567f | pmichaud++ | lib/Str.pod: [Str]: Change some Int -> StrPos, add notes about ucfirst and lcfirst, remove duplicate 'encode' entry. |
|||
| c: e421ccc | pmichaud++ | lib/Str.pod: [Str]: Add note about 'length'. |
14:30 | ||
| pmichaud | moritz: feel free to remove/refactor my entries for 'length', 'ucfirst', etc. | 14:31 | |
| However, I think that we want "p6doc length" or "p6doc ucfirst" to return something useful. | |||
| (perhaps "things that don't exist" belong in their own .pod file) | |||
| dalek | ecs: 18e2133 | masak++ | S32-setting-library/IO.pod: [S32/IO] spec &spurt |
14:32 | |
| c: f491fbb | pmichaud++ | lib/List.pod: Add a note about 'reverse' vs 'flip'. |
14:33 | ||
| ecs: b7b1054 | masak++ | S32-setting-library/IO.pod: [S32/IO] make &slurp fail on directories Rather than DWIM in a way I think no-one will much benefit from. |
14:34 | ||
| pmichaud | r: say slurp('.'); # curious | ||
| p6eval | rakudo 4b2c1f: OUTPUT«Unable to open filehandle from path '.' in method open at src/gen/CORE.setting:7020 in sub open at src/gen/CORE.setting:7241 in sub slurp at src/gen/CORE.setting:7266 in block <anon> at /tmp/z8Vmi1t9BV:1» | ||
| masak | heh. | ||
| colomon | masak: What does "Unicode" encoding mean? | 14:36 | |
| colomon just saw spec changes... | |||
|
14:38
erkan joined,
erkan left,
erkan joined
|
|||
| masak | colomon: oh, I copied that bit from &slurp | 14:42 | |
| though if no-one has any objections, I'd rather it say 'UTF-8'. | |||
| colomon: oh! | |||
| I take that back. | |||
| Note that | 14:43 | ||
| the "Unicode" encoding implies figuring out which actual UTF is | |||
| in use, either from a BOM or other heuristics. If heuristics are | |||
| inconclusive, UTF-8 will be assumed. | |||
| that's under '=item open' in the same file. | |||
| dalek | kudo/nom: 115ab2f | pmichaud++ | docs/release_guide.pod: Move "create release announcement" into step 1. |
14:44 | |
| kudo/nom: 5921c70 | pmichaud++ | docs/release_guide.pod: Move the "make sure everything compiles/runs" testing step to _after_ the "update NQP and versions" steps. |
14:46 | ||
| colomon | masak: but that's for import, where the data already is in some format or the other. on export, "Unicode" is completely vague | 14:48 | |
| masak | colomon: agreed. I'll change it to 'UTF-8'. | 14:49 | |
| colomon finally has (at least somewhat) learned how Unicode works, after about six years of doing it haphazardly or outright wrong for $work. | 14:50 | ||
| +1 | |||
| dalek | ecs: 43780ff | masak++ | S32-setting-library/IO.pod: [S32/IO] "UTF-8" for &spurt, not "Unicode" colomon++ for pointing out that "Unicode" doesn't make much sense here, the way it does for reading (and trying to figure out the exact encoding). |
14:52 | |
| pmichaud | I think it should remain "Unicode", fwiw. | ||
| masak | feel free to revert. | 14:53 | |
| colomon | pmichaud: why? | ||
| pmichaud | Yes, I understand colomon's point. However, we use "Unicode" to mean "whatever Unicode format makes the most sense", too. | ||
| for some languages/scripts, utf-8 might not be the best output format. | |||
| masak | it feels a bit bad to perpetuate the illusion that "Unicode" is an encoding, even if implicitly. | ||
| pmichaud | we don't use "Unicode" as an encoding, we use it as a placeholder to mean "whatever unicode-aware encoding makes the most sense" | 14:54 | |
| it's dwimmy | |||
| colomon | pmichaud: are you proposing that p6 should somehow scan what is being exported and choose the "best" encoding to use? | ||
| pmichaud | colomon: I'm repeating something I think I've heard TimToady++ say in the past to the effect that some site installations of Perl might want a default encoding other than utf-8. | 14:55 | |
| masak | JIS, for example. | 14:56 | |
| oh, we have an $*ENC variable, don't we. | |||
| maybe we should just default to that, then. | |||
| pmichaud | that makes a huge amount of sense :-) | 14:57 | |
| colomon | r: say $*ENC | ||
| p6eval | rakudo 4b2c1f: OUTPUT«Dynamic variable $*ENC not found in method gist at src/gen/CORE.setting:9461 in sub say at src/gen/CORE.setting:6988 in block <anon> at /tmp/keoUJhWHNk:1» | ||
| masak | ok, I'll change it. | ||
| colomon | : say $*ENC | ||
|
14:57
_jaldhar joined
|
|||
| masak | oh, and it's $?ENC | 14:57 | |
| colomon | r: say $?ENC | ||
| p6eval | rakudo 4b2c1f: OUTPUT«===SORRY!===Variable $?ENC is not declaredat /tmp/jbgpjkPauK:1» | ||
| masak | I always assume it's $*ENC, for some reason. | ||
| flussence | r: say %*ENV<LC_ALL>.split('.').perl | ||
| p6eval | rakudo 4b2c1f: OUTPUT«No such method 'split' for invocant of type 'Any' in block <anon> at /tmp/q8_kPzpZcY:1» | ||
| flussence | guess that's of no use... | 14:58 | |
| colomon | yeah, using $?ENC seems to make sense | ||
| dalek | ecs: fd60e99 | masak++ | S32-setting-library/IO.pod: [S32/IO] on second thought, $?ENC The default encoding of the distribution. This makes a huge amount of sense. |
||
| pmichaud | we should start maintaining a list of known dynamic and compile-time variables (e.g., in p6doc if not in the specs) | 15:00 | |
| flussence | r: say $?TABSTOP | ||
| p6eval | rakudo 4b2c1f: OUTPUT«8» | ||
| dalek | c: 783d3a8 | pmichaud++ | README: Typo fix. |
15:01 | |
|
15:02
spider-mario left
|
|||
| dalek | c: 7736027 | pmichaud++ | lib/perlvar.pod: Add perlvar.pod, a (temporary?) place to document magical variables. |
15:12 | |
| c: f798f06 | pmichaud++ | lib/perlvar.pod: Add $?ENC (from S32/IO.pod). |
15:15 | ||
| sisar | pmichaud: tablets.perl6.org/appendix-b-groupe...-variables | 15:17 | |
| pmichaud: and the entry just above that | 15:18 | ||
| pmichaud | sisar: cool, feel free to update perlvar.pod with those | 15:20 | |
| sisar | i don't get it, why is the documentation so much spilt up? Has anyone thought this through? tablets, wiki, p6doc, spec, masak++'s doc project, etc. | 15:22 | |
| pmichaud | "has anyone thought this through?" No. | ||
|
15:23
plobsing joined
|
|||
| masak | sisar: basically, it's a kind of Darwinian search for good documentation. | 15:23 | |
| pmichaud | what we have now is a mix of early starts and different targets | ||
| sisar | masak: there looks to be more of abandoning the species altogether than evolution | 15:24 | |
| pmichaud | rapid evolution, yes. | ||
| masak | I'd say lots of people have thought this through. but it's still hard to make complete, comprehensive, clear, useful documentation. | ||
| I'd say "many projects" isn't our biggest problem by far. | 15:25 | ||
| that said, someone who supervises, organizes and co-ordinates the different efforts would be great. | |||
| kresike | How can one document something that is still under heavy development ? | ||
| masak | Perl 6 is Mostly Stable at this point. | ||
| we're quickly converging on the thing we want. | 15:26 | ||
| jnthn | Because much more stays the same than changes these days. | ||
|
15:26
JimmyZ left
|
|||
| jnthn | And the barrier to get changes in is getting higher in many areas. | 15:26 | |
| pmichaud | because documentation can be done in conjunction with development; it doesn't have to occur afterwards. :) | ||
| jnthn | (Which is a good thing.) | ||
| szabgab | and sisar has not even listed my Perl 6 stuff :( | ||
| masak | aww. szabgab++ # awesome Perl 6 tutorials | ||
| szabgab | I am disapoined :( | 15:27 | |
| sisar | sisar-- | ||
| masak | aren't they linked from perl6.org? | ||
| they should be. | |||
| szabgab | they are | ||
| pmichaud | yes, they are. | ||
| masak | my old u4x shouldn't be, at this point, I think. | ||
| szabgab | but wait, I am coming back! | ||
| masak | moritz++' effort should be. | ||
| as far as I'm concerned, that's the new u4x now. | |||
| kresike | what I meant was, that anyone who documents something under development is bound to rewrite at least some of the documentation from time to time because things change | ||
| szabgab | I just have to take my son to Taekwondo training... | ||
| pmichaud | kresike: rewrite is a part of life. even in p5 the documentation has to be updated/rewritten from time to time | 15:28 | |
| masak | kresike: yes, that's one challenge of writing docs. though I don't believe it's an extremely big problem. | ||
| kresike | and we all know, how programmers feel about documentation ... it's hard enough doing it the first time | ||
| masak | aye. | ||
|
15:28
JimmyZ joined
|
|||
| masak | but what moritz++ has going on gives me hope. | 15:28 | |
| pmichaud | same here, which is why I'm focusing some tuits on it :) | ||
| masak | we know we want something that we can point to and say: look, documentation! | 15:29 | |
| szabgab | pmichaud: I don't want to get it incorrect, have you said that Rakudo is promising backward compbaility to itself? | ||
| masak | pmichaud++ | ||
| pmichaud | szabgab: I'm commiting that Rakudo will provide a strong deprecation policy for future releases. | ||
| szabgab: backwards compatibility to itself... yes, except in cases where we simply cannot do it because of spec conflicts. | 15:30 | ||
| kresike | a programmer usually documents something, after about 100 people ask him the same question ... | ||
| pmichaud | kresike: I hear what you're saying; I'm not sure what you're proposing (if anything) | ||
| szabgab | pmichaud: thanks && back later & | ||
| pmichaud | szabgab: in the past we've accepted regressions as a necessary part of developing the current branch. My commitment going forward is that we'll be far less tolerant of regressions than we have been. | 15:31 | |
| kresike | pmichaud, mostly the fact, that if you want good documentation, that should not be written by the programmers, and should be properly coordinated (just like some have said before me) | 15:35 | |
| pmichaud | kresike: programmers are all we have here, at the moment. | 15:36 | |
| kresike: if you know of where we can get some non-programmers to write our docs, I'm all for it. :) | |||
| kresike | pmichaud, I'll ask around, but by profession I'm also just a programmer trying to learn perl6 | 15:37 | |
| :) | |||
| pmichaud | besides, iiuc most of the p5 docs was written by p5 programmers, and that seemed to work out okay :) | ||
|
15:38
jimmy1980 left
|
|||
| pmichaud | anyway, yes, at the moment the documentation efforts are more bazaar-like than cathedral. I'm not sure Perl 6 (the overall community) is ready for a cathedral there yet. | 15:39 | |
|
15:39
_jaldhar left,
_jaldhar joined
15:41
jimmy1980 joined
|
|||
| kresike | pmichaud, I know, I'm trying to learn it, but it's very hard to put the pieces together (std, rakudo, niecza, nqp, parrot, ...) | 15:42 | |
| masak | there is a lot, yes. | 15:43 | |
|
15:43
kurahaupo left
|
|||
| masak | the idea is that you learn it piecemeal. | 15:43 | |
| moritz | p6: say log10 85 | ||
| p6eval | niecza v18-7-ga660099: OUTPUT«1.9294189257142926» | ||
| ..rakudo 5921c7: OUTPUT«1.92941892571429» | |||
| dalek | blets: 5396137 | pmichaud++ | docs/appendix-b-grouped.txt: Documentation fix; $<...> is not a 'twigiled variable'. |
15:44 | |
| c: 3a4f4a2 | moritz++ | lib/Numeric.pod: start to talk about Numeric |
15:46 | ||
| blets: 72c9ca6 | pmichaud++ | docs/appendix-a-index.txt: Add navigational heading for equals sign. |
15:54 | ||
| blets: 5b2c973 | pmichaud++ | docs/appendix-a-index.txt: Convert "angle brackets twigil" to a postcircumfix op. |
|||
|
15:55
_jaldhar left
15:58
_jaldhar joined
|
|||
| dalek | c: 86a9699 | pmichaud++ | lib/Numeric.pod: Typo fix; rephrase .ACCEPTS a bit. |
15:58 | |
|
16:00
kurahaupo joined
|
|||
| dalek | blets: b3cee55 | pmichaud++ | docs/appendix-a-index.txt: Remove "both" from interpretation of infix:<|>. |
16:01 | |
| p/toqast: ef4ed30 | jnthn++ | docs/QASTMAP: Start a list of tasks and design issues related to QAST migration. |
16:02 | ||
| p/toqast: 46cf8f8 | jnthn++ | src/PAST/NQP.pir: Start getting some more of the 6model primitives into the nqp:: namespace. |
16:03 | ||
| nqp/toqast: bc64ed0 | jnthn++ | src/how/NQP (5 files): | |||
| nqp/toqast: Use nqp::setwho and nqp::newtype. | |||
|
16:03
dalek left
|
|||
| jnthn | heh :) | 16:03 | |
|
16:04
dalek joined,
ChanServ sets mode: +v dalek
|
|||
| sisar | masak: before abandoning u4x, are you sure nothing can be salvaged from it ? | 16:05 | |
| JimmyZ | dalek always leaves from #perl6, but works well in #parrot | ||
|
16:06
JimmyZ left
|
|||
| pmichaud | JimmyZ: different irc servers, likely | 16:06 | |
| cognominal | pmichaud: you said you hade made a special stage to display the parse tree. I need it for my codeviewer github.com/cognominal/code-viewer | 16:08 | |
| I have some code that generate json from a Match | 16:09 | ||
| pmichaud | cognominal: I said I thought a previous version of Rakudo had a special stage to display the parse tree. But I can no longer find it. | ||
| cognominal | ok | ||
| pmichaud | I also said that I think the parse tree display is broken because of a dumper issue, not necessarily a stage one. | ||
| cognominal | and that's github.com/cognominal/codeview | 16:10 | |
| code-viewer was a previous attemps | |||
| masak | sisar: oh, I'm not going to remove u4x from the face of the earth. I know which things I liked about it, and moritz seems to, too. | 16:12 | |
| the one thing I would insist on this time around is to get an HTML view of it all up-and-running ASAP. | 16:13 | ||
| and we should start to direct people to it when they have questions. | |||
| pmichaud | where is u4x these days, ooc? | ||
| sisar | masak: nice to know :-) | ||
| sorear | good * #perl6 | 16:14 | |
| masak | pmichaud: github.com/perl6/mu/tree/master/docs/u4x | ||
| moritz | in fact I stole a bit from u4x | ||
| sisar | pmichaud: doc.perl6.org/ | ||
| masak | pmichaud: it's actually more of an interface than an implementation. which is why I fully endorse moritz++' effort. | ||
| oh right, we did have a bit of content didn't we. | 16:15 | ||
| sisar | sorear: o/ | ||
| masak | in retrospect I think the dwimminess of the grok tool might be a bit too much. | ||
| sisar | sorear: your thoughts on perl6 documentaion ? | ||
| masak | but we can probably get pretty close without much trouble. | ||
| sorear | sisar: What perl6 documentation? | 16:16 | |
| sisar | sorear: :-), see backlog, we've been discussing documentation. | ||
| sorear | oh, &spurt is the spec name now? | ||
| *mumbles* | 16:17 | ||
| OTOH, now I get to claim "increased spec compliance!" for c19 | |||
| v19 | |||
| sisar: how far back? | |||
| dalek | c: 6badc2b | moritz++ | lib/Numeric.pod: [Numeric], exp, roots, Bool |
16:18 | |
| sisar | sorear: starts at irclog.perlgeek.de/perl6/2012-06-24#i_5753695 | ||
|
16:19
brrt left
|
|||
| cognominal | which librariy is used by padre for display? | 16:20 | |
| I mean for the GUI | 16:21 | ||
| sisar | cognominal: i think www.wxwidgets.org/ | 16:23 | |
| cognominal | ok | ||
| dalek | kudo/nom: 3a0e404 | jnthn++ | docs/ChangeLog: Add a note on meta-object improvement to ChangeLog. |
||
|
16:26
am0c joined
16:27
_jaldhar left,
_jaldhar joined
16:28
_jaldhar left,
_jaldhar joined
|
|||
| moritz | p6: say (3+4i).abs | 16:30 | |
| p6eval | rakudo 5921c7, niecza v18-7-ga660099: OUTPUT«5» | ||
|
16:32
_jaldhar left
|
|||
| moritz | p6: say (3+4i).sqrt | 16:32 | |
| p6eval | rakudo 5921c7, niecza v18-7-ga660099: OUTPUT«2+1i» | ||
|
16:32
_jaldhar joined
16:33
_jaldhar left,
_jaldhar joined
|
|||
| moritz | p6: say (-4).sqrt | 16:33 | |
| p6eval | rakudo 5921c7, niecza v18-7-ga660099: OUTPUT«NaN» | ||
| sisar | moritz: rosettacode.org/wiki/Arithmetic/Complex#Perl_6, maybe you can add to it | 16:34 | |
|
16:34
awwaiid left
|
|||
| sisar | p6: say (-4).Complex.sqrt; | 16:34 | |
| p6eval | niecza v18-7-ga660099: OUTPUT«1.2246063538223773E-16+2i» | ||
| ..rakudo 5921c7: OUTPUT«1.22460635382238e-16+2i» | |||
| moritz | sisar: I'm focusing on p6doc right now | ||
| sisar | moritz: sure :-) | ||
|
16:35
awwaiid joined
|
|||
| dalek | c: a63baba | moritz++ | lib/Numeric.pod: [Numeric] abs, sqrt, conj |
16:37 | |
| moritz | p6: say (-10).rand | 16:40 | |
| p6eval | niecza v18-7-ga660099: OUTPUT«-9.42198123755957» | ||
| ..rakudo 5921c7: OUTPUT«-1.20300443451018» | |||
| masak .oO( yes, but which one is right? ) | 16:41 | ||
| sorear | I wouldn't be opposed to having the spec recommend a specific random number generator for full p6 impls | 16:43 | |
| sisar | sorear: +1 | 16:45 | |
| moritz | recommendations in the spec are useless | ||
| either we spec one, or we require certain features, or we just say "make it good and fast" | 16:46 | ||
| sisar | moritz: maybe the spec can describe the mathematical and statistical properties of the random number generator | 16:48 | |
| moritz | sisar: that's what I meant with "certain features" | ||
| sisar | s/properties of/expectations from | ||
| moritz: oh, sorry | |||
| szabgab | pmichaud: re: looking for non-programmer: I know a bad programmer, does that count? :) | 16:49 | |
| dalek | c: 3271639 | moritz++ | lib/Real.pod: [Real] |
||
| pmichaud | szabgab: I think my comment was more rhetorical than anything else. I don't think that good programmers are universally bad at documentation. :-) | ||
| although the discussion here inspires me to write something about the "Perl 6 Bazaar" | 16:51 | ||
| or make a lightning talk on the subject for yapc::eu | |||
| dalek | c: a56b88b | moritz++ | lib/Real.pod: [Real] base |
16:52 | |
| moritz | p6: say (1+2i).succ | ||
| p6eval | niecza v18-7-ga660099: OUTPUT«2+2i» | ||
| ..rakudo 5921c7: OUTPUT«No such method 'succ' for invocant of type 'Complex' in block <anon> at /tmp/BJlLUOsXjR:1» | |||
| moritz | p6: say Int.succ | 16:53 | |
| p6eval | niecza v18-7-ga660099: OUTPUT«1» | ||
| ..rakudo 5921c7: OUTPUT«Parameter '' requires an instance, but a type object was passed in method succ at src/gen/CORE.setting:2734 in block <anon> at /tmp/OsTx_iExKZ:1» | |||
| moritz | niecza++ | ||
| niecza: say Int.pred | 16:54 | ||
| p6eval | niecza v18-7-ga660099: OUTPUT«-1» | ||
| sisar | n: say Int.sqrt; | 16:55 | |
| p6eval | niecza v18-7-ga660099: OUTPUT«0» | ||
| sergot | How to: sub a($a, @b, %c, *@d) { b(the_same_arglist); } ? :) | 16:56 | |
| sorear | b(|callframe.args) | ||
| sergot | sorear++ thanks | ||
| sorear | or: a(|cap, $a, @b, %c, *@d) { b(|cap) } | ||
| or: a(|cap ($a, @b, %c, *@d)) { b(|cap) } | 16:57 | ||
| sisar | rn: say ::; #what happens here ? | ||
| p6eval | niecza v18-7-ga660099: OUTPUT«PseudoStash.new(...)» | ||
| ..rakudo 5921c7: OUTPUT«EnumMap.new("\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, )» | |||
| jnthn | Hmm...that really should not say EnumMap. | 16:58 | |
| dalek | kudo/toqast: 1891283 | jnthn++ | / (11 files): Add a qperl6 that can be used to gradually do the QAST migration, while still using the normal compiler to build CORE.setting. |
||
| pmichaud | I suspect it's being perl6ized | ||
| jnthn | pmichaud: No, it is a pseudostash | 16:59 | |
| pmichaud | oh, wait, there's a bug in EnumMap.perl | ||
| jnthn | r: say ::.WHAT | ||
| p6eval | rakudo 5921c7: OUTPUT«PseudoStash()» | ||
| jnthn | pmichaud: Yes, that was my quess | ||
| *guess | |||
| pmichaud | EnumMap.perl has 'EnumMap' hardcoded. | ||
| fixing. | 17:01 | ||
| jnthn | pmichaud++ | ||
|
17:02
icwiener joined
|
|||
| moritz tries to fix succ and pred | 17:03 | ||
| because they succ :-) | 17:04 | ||
| pmichaud | I'm not sure that Int.succ should be 1; at least not without a warning. | 17:05 | |
| sorear | I am | 17:06 | |
| my Int $x; $x++ | |||
| pmichaud | that's a product of postfix:<++>, not of .succ | ||
| my Int $x; $x += 1; means something special when $x is undefined | |||
| sorear | are you trying to tell me ++ is different from .=succ ? | 17:07 | |
| pmichaud | yes. | ||
| oh, maybe not | |||
| looking | |||
| r: my Int $x; $x++; say $x; | |||
| p6eval | rakudo 5921c7: OUTPUT«1» | ||
| pmichaud | "a bare undefined value in a suitable container is allowed to mutate itself into an Int ..." | 17:09 | |
| undefined values outside of containers.... not sure they get to mutate. | |||
| szabgab | finally, after a long break I posted an article, it is still only a meta-article and not a real one, but here is a question to you | ||
| moritz | .succ doesn't mutate | ||
| sisar | rn: my Bool $x; say $x++; | ||
| p6eval | rakudo 5921c7: OUTPUT«Type check failed in assignment to '$x'; expected 'Bool' but got 'Int' in sub postfix:<++> at src/gen/CORE.setting:1342 in block <anon> at /tmp/8ezIkhOuu9:1» | ||
| ..niecza v18-7-ga660099: OUTPUT«0» | |||
| szabgab | I started to move over all my perl 5 related content to the Perl Maven site | 17:10 | |
| what shall I do with the Perl 6 content? | |||
| Should I move it to a site called Perl 6 Maven? | |||
| or do you have a better name suggestion? | |||
|
17:10
thou joined
|
|||
| pmichaud | moritz: my point is that it's the postfix:<++> that does the mutation, not .succ . | 17:10 | |
| Int.succ should probably throw a warning, not simply return 1. | 17:11 | ||
| from S03:545: | 17:12 | ||
| sorear | pmichaud: what does ++ do if not .=succ? | ||
| pmichaud | "Increment/decrement of an undefined Numeric, Cool, or Any variable sets the variable to 0 and then performs the increment/decrement. Hence a postincrement returns 0 the first time: | ||
| my $x; say $x++; # 0, not Any | |||
| ++ does .=succ, but it sets the variable to zero first. | |||
| sorear | oh right. niecza's ++ does //= 0 .= succ, I forgot that detail | 17:13 | |
| pmichaud | It doesn't mean that .succ magically works on type objects. | ||
| sorear | what does this do, and how does it do it? my Num $n; $n++ | ||
|
17:14
UncleFester6 joined
|
|||
| pmichaud | sets $n to zero, then calls $n .= succ | 17:14 | |
| sorear | "zero? | ||
|
17:14
zby_home joined
|
|||
| pmichaud | r: my Num $n; $n++; | 17:14 | |
| p6eval | rakudo 3a0e40: ( no output ) | ||
| pmichaud | r: my Num $n; $n++; say $n; | ||
| p6eval | rakudo 3a0e40: OUTPUT«1» | ||
| moritz | sorear: 0."{$arg.^name}"() | 17:15 | |
| sorear | r: my Num $n; $n++; say $n.WHAT | ||
| p6eval | rakudo 3a0e40: OUTPUT«Num()» | ||
| sorear | moritz: rakudosource? | ||
| moritz | sorear: rakudo simply has a different multi variant for each numeric type | 17:16 | |
| UncleFester6 | My build also fails (from scratch) on windows when linking "-o nqp_dyncall_ops.dll". Error prolly: undefined reference to `dcCall_x86_win32_fast'. Config is Vista 32 bit and Strawberry Perl 5.14. Gist is gist.github.com/2984059 | 17:17 | |
|
17:18
birdwindupbird left
|
|||
| sorear | stdcall/ccall issues? | 17:18 | |
| pmichaud | jnthn: | 17:20 | |
| pmichaud@kiwi:~/p6/rakudo$ ./perl6 | |||
| > say :: | |||
| PseudoStash.new("\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, ) | |||
| better? | |||
| spectesting. | |||
| sisar | n: my Bool $x; say $x++; say $x++; #sorear, what happens here ? | 17:21 | |
| p6eval | niecza v18-7-ga660099: OUTPUT«0True» | ||
| pmichaud | r: my Bool $x; say $x++; say $x++; # curious | 17:22 | |
| p6eval | rakudo 3a0e40: OUTPUT«Type check failed in assignment to '$x'; expected 'Bool' but got 'Int' in sub postfix:<++> at src/gen/CORE.setting:1342 in block <anon> at /tmp/TOMk08TrBA:1» | ||
| pmichaud | that's a bug. | ||
| moritz | should the first one say 0 or False? | ||
| pmichaud | False | ||
| sorear | sisar: not sure, but I'm certain it's not up to spec. :) | ||
| jnthn | pmichaud: Yes, better | 17:23 | |
| pmichaud | S03:539 covers postfix:<++> on Bools. | ||
| (just before postfix:<++> on Any/Numeric/Cool is described) | |||
| dalek | ecza: 95a1946 | sorear++ | / (5 files): s/spew/spurt/g for compatibility with latest spec |
||
| kudo/nom: bd0e5c0 | pmichaud++ | src/core/EnumMap.pm: Fix EnumMap.perl to use objects typename instead of hardcoded "EnumMap". |
17:26 | ||
| sisar | pmichaud++ #fast bugfixing ! | 17:28 | |
| pmichaud: should I file a bug for wrong Bool++ ? or are we gonna see another lightning bugfix ? ;-) | 17:32 | ||
| pmichaud: note that the bug only occurs when $x is uninitialized. The spec is silent(?) on incrementing uninitialized Bool variables. | 17:34 | ||
| r: my Bool $x; $x = True; $x++ #works | |||
| p6eval | rakudo 3a0e40: ( no output ) | ||
| sisar | r: my Bool $x; $x = True; say $x++ #works | 17:35 | |
| p6eval | rakudo 3a0e40: OUTPUT«True» | ||
| pmichaud | sisar: I'm expecting uninitialized Bool to work like uninitialized Numeric | ||
| principle of least surprise :) | |||
| sisar | pmichaud: aye, I agree. | ||
| pmichaud | you can file a bug for Bool++; I'm fixing it now, but we'll want a spectest. | ||
| sisar | pmichaud: ok, filing. pmichaud++ | 17:36 | |
| masak | sisar++ | ||
| sisar | r: my Bool $x; $x = True; say $x--; #another bug | 17:37 | |
| p6eval | rakudo 3a0e40: OUTPUT«True» | ||
| sisar | pmichaud: fixing ^ too ? | ||
| pmichaud | sisar: that looks correct to me :) | ||
| r: my Bool $x; $x = True; say --$x; | 17:38 | ||
| p6eval | rakudo 3a0e40: OUTPUT«False» | ||
|
17:38
UncleFester6 left
|
|||
| pmichaud | r: my Bool $x; $x = True; say $x--; say $x; | 17:38 | |
| sisar | oh ! | ||
| p6eval | rakudo 3a0e40: OUTPUT«TrueFalse» | ||
|
17:38
kikulli joined
17:41
erkan left
|
|||
| masak | sisar: remember the semantic difference between prefix:<--> and postfix:<--> | 17:44 | |
| sisar | masak: yessir ! :-) | 17:45 | |
| sisar almost always forgets that there is even something like post and pre -- | |||
| pmichaud | > my Bool $x; say $x++; say $x | 17:46 | |
| False | |||
| True | |||
| spectesting, then committing | |||
| sisar | \o/ | ||
| bugreport: #113816 | 17:47 | ||
| .oO ( my speed of filing a bug report is so much less than pmichaud++'s speed of fixing it !! ) | 17:48 | ||
| masak | relly good bug report. sisar++ | ||
| really* | |||
| sisar | masak: thanks :-) | ||
| masak | 11 minutes. not bad for a beginner ;) | ||
| I'm down to between 3 and 5 minutes for most reports. if it's short, I can file it in 1 minute. | 17:49 | ||
| sisar | masak: well my last bugreport was really crappy, so I spent extra time filing a good one this time. | ||
| masak | ok. well, quality matters. | ||
| pmichaud | quality is often more important than speed :) | 17:50 | |
| masak | they are not in opposition IMO. | ||
| speed comes from being familiar with the necessary operations. | |||
| pmichaud | yes, but sometimes people sacrifice quality in the name of speed. | 17:51 | |
| masak | quality comes from, hm. knowing about the anti-confusion particle. | ||
| dalek | kudo/nom: f798fb1 | pmichaud++ | src/core/Bool.pm: Fix pre/post-increment/decrement on undefined Bool containers. sisar++ RT #113816 |
17:52 | |
| masak | I have a very hard time sacrificing quality in the name of speed in my work and hobby life. | ||
| pmichaud | masak: that's because you're a high-quality person :) | 17:53 | |
| diakopter | quality can include speed too, though. | ||
| (relatively more) efficiency can be a requirement | 17:54 | ||
| software can be low quality for the sole reason of being slow | 17:55 | ||
| sisar | masak: can you close the ticket and mark it testneeded ? | ||
| diakopter | oh, you weren't talking about software; you were talking about bug reports, oops. | 17:56 | |
| diakopter should backlog further | 17:57 | ||
| masak | diakopter: with the quality/speed thing I mostly meant software, fwiw. | ||
| pmichaud | I'm closing the ticket now. | ||
| masak | pmichaud++ | ||
| pmichaud | well, I'm marking it testneeded. | ||
| also updating the "expected output", and fixing my bugfix to actually give the correct answer. :) | |||
| since we all had it wrong :) | 17:58 | ||
| my Bool $x; say $x++; say $x # "Bool", "True" | 17:59 | ||
|
17:59
araujo left
|
|||
| pmichaud | I'll go ahead and add the spectests, too. | 18:01 | |
| dalek | kudo/toqast: 9914c45 | jnthn++ | src/QPerl6/World.pm: Correct an outdated comment. |
18:02 | |
| kudo/toqast: 3b80143 | jnthn++ | src/QPerl6/ (2 files): Tentatively start to change to PAST::Block into QAST::Block; leave a case where things are a little more invovled. Note, breaks everything. :-) |
|||
| kudo/toqast: 8a4ca80 | jnthn++ | src/QPerl6/ (2 files): Translate various PAST::Val to their QAST equivalents; again, a few outliers/tricky cases left for now. |
|||
| kudo/toqast: d646a75 | jnthn++ | src/QPerl6/ (2 files): PAST::Stmt/PAST::Stmts to QAST::Stmt/QAST::Stmts, apart from one trickier case. |
|||
| kudo/toqast: 4dc8dad | jnthn++ | src/QPerl6/ (2 files): Switch .get_ref calls over to using QAST::WVal. |
|||
| sisar | rn: say 'a'|'b'; | 18:12 | |
| p6eval | rakudo 3a0e40: OUTPUT«any(a, b)» | ||
| ..niecza v18-9-g95a1946: OUTPUT«any("a", "b")» | |||
| sisar | ^ rakudo is missing quotes (cf. Niecza). Is this detail unimportant ? | 18:13 | |
| pmichaud | that detail is very important... not sure what happened there. | ||
| pmichaud checks Junction.gist | |||
| diakopter | free((char*)1) <- breakpoint technique for Visual Studio when invoking from not within the IDE | ||
| pmichaud | welll.... hmm | ||
| diakopter | "A heap has been corrupted" | 18:14 | |
|
18:14
benabik left
|
|||
| pmichaud | rn: say Int|Num; | 18:14 | |
| p6eval | rakudo f798fb: OUTPUT«any(Int(), Num())» | ||
| ..niecza v18-9-g95a1946: OUTPUT«any(Int, Num)» | |||
| pmichaud | rn: say Int | ||
| p6eval | rakudo f798fb, niecza v18-9-g95a1946: OUTPUT«Int()» | ||
| pmichaud | I think I might be able to argue for Rakudo's behavior. | ||
| .gist is not always the same as .perl | 18:15 | ||
|
18:17
benabik joined,
araujo joined
|
|||
| sisar | but a and b would imply subroutines named a and b | 18:17 | |
| r: 'a' ~~ any(a,b); | |||
| p6eval | rakudo f798fb: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&a' called (line 1)Undefined routine '&b' called (line 1)» | ||
| pmichaud | say outputs using .gist | ||
| .gist is not always the same as .perl | |||
| you aren't expected to be able to eval a .gist and get the same results as before. | 18:18 | ||
| sisar | hmm | ||
| pmichaud | rn: say ('a'|'b').perl | ||
| p6eval | rakudo f798fb, niecza v18-9-g95a1946: OUTPUT«any("a", "b")» | ||
| sisar | ok, makes sense | 18:19 | |
| pmichaud | I'm not necessarily claiming that rakudo's behavior is correct here; just that it's not obviously wrong either. | ||
| diakopter | r: say (/a/|/b/) | 18:20 | |
| p6eval | rakudo f798fb: OUTPUT«any(_block1011, _block1021)» | ||
| diakopter | n: say (/a/|/b/) | 18:21 | |
| p6eval | niecza v18-9-g95a1946: OUTPUT«any(regex ANON(Any \self) { ... }, regex ANON(Any \self) { ... })» | ||
| sergot | nom: sub b($a, $b) { say 'b'; }; sub a($p1, $p2) { b(|callframe.args); } | 18:26 | |
| p6eval | rakudo f798fb: ( no output ) | ||
| sergot | nom: sub b($a, $b) { say 'b'; }; sub a($p1, $p2) { b(|callframe.args); }; a() | 18:27 | |
| p6eval | rakudo f798fb: OUTPUT«===SORRY!===CHECK FAILED:Calling 'a' will never work with no arguments (line 1) Expected: :($p1, $p2)» | ||
| sergot | nom: sub b($a, $b) { say 'b'; }; sub a($p1, $p2) { b(|callframe.args); }; a(1,2) | ||
| p6eval | rakudo f798fb: OUTPUT«No such method 'args' for invocant of type 'CallFrame' in sub a at /tmp/SDYYulPiov:1 in block <anon> at /tmp/SDYYulPiov:1» | ||
| sergot | sorear: it doesn't work. :( | ||
| tadzik | 'evening | ||
| sergot | nom: sub b($a, $b) { say 'b'; }; sub a(|cap($p1, $p2)) { b(|cap); }; a(1,2) | 18:28 | |
| p6eval | rakudo f798fb: OUTPUT«===SORRY!===Malformed parameterat /tmp/mapbZUpqx4:1» | ||
| jnthn | nom: sub b($a, $b) { say 'b'; }; sub a(|$c, $p1, $p2) { b(|$c); }; a(1,2) | ||
| p6eval | rakudo f798fb: OUTPUT«===SORRY!===Cannot put required parameter after variadic parametersat /tmp/gaj_P0yRF_:1» | ||
| jnthn | Oh really... | ||
| nom: sub b($a, $b) { say 'b'; }; sub a(|$c ($p1, $p2)) { b(|$c); }; a(1,2) | |||
| p6eval | rakudo f798fb: OUTPUT«b» | ||
| sergot | nom: sub b($a, $b) { say 'b'; }; sub a(|$cap($p1, $p2)) { b(|$cap); }; a(1,2) | 18:29 | |
| p6eval | rakudo f798fb: OUTPUT«b» | ||
| jnthn | Taking a capture then unpacking it works fine. | ||
| pmichaud | looks like callframe.args NYI | ||
| jnthn | Yeah | ||
| sergot | jnthn++ thanks | ||
| :) | |||
| jnthn | Feel free to file a TODO ticket on callframe.args. It's LHF, afaik. | ||
| sisar | rn: sub a {return 42;}; say a; sub i { return 42; }; say i; | 18:31 | |
| p6eval | rakudo f798fb, niecza v18-9-g95a1946: OUTPUT«420+1i» | ||
| sisar | ^shouldn't overloading i warn ? | ||
| dalek | ast: f18a918 | pmichaud++ | S03-operators/autoincrement.t: Add spectests for bool autoincrement (RT #113816). |
18:33 | |
| masak | sisar: no, why? | 18:34 | |
| sisar: the setting contains stuff. if you override it by declaring things with the same name, it hides what's in the setting. | 18:35 | ||
| it's just like this. | |||
| pmichaud | ...does the setting declare 'i' as a term/constant? | ||
| masak | r: sub foo { say "outer" }; { sub foo { say "inner" }; foo }; foo | ||
| p6eval | rakudo f798fb: OUTPUT«innerouter» | ||
| masak | or like this. | ||
| r: my $var = "outer"; say $var; { my $var = "inner"; say $var }; say $var | 18:36 | ||
| p6eval | rakudo f798fb: OUTPUT«outerinnerouter» | ||
| sisar | masak: it hides what's in the setting? so the new i definition should work, right ? | ||
| masak | yes. | ||
| unless what pmichaud suspects is true, and it's actually a term. | |||
| sisar | masak: but it said "0+1i"; | ||
| pmichaud | where is 'i' being defined? | ||
| masak | then it's intercepted at the parsing level. | ||
| pmichaud: at the end of src/core/Complex.pm | 18:37 | ||
| it's a constant. | |||
|
18:37
Gesh joined
|
|||
| pmichaud | ah yes, there it is. | 18:37 | |
| sisar: so, to get to the new i definition you need i() | |||
|
18:38
leprevost left
|
|||
| masak | oh right, that's the rule. | 18:38 | |
| pmichaud++ | |||
| pmichaud | consider: | ||
| masak | rn: sub a {return 42;}; say a; sub i { return 42; }; say i() | ||
|
18:38
nebuchadnezzar left
|
|||
| p6eval | niecza v18-9-g95a1946: OUTPUT«42Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Complex at /tmp/Jchsv_juQU line 1 (mainline @ 8)  at /home/p6eval/niecza/lib/CORE.setting line 3917 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3918 (module-CORE… | 18:38 | |
| ..rakudo f798fb: OUTPUT«4242» | |||
| masak | sorear: ^ | ||
| pmichaud | rn: sub if { say 'if' }; if(1); | ||
| p6eval | niecza v18-9-g95a1946: OUTPUT«if» | ||
| ..rakudo f798fb: OUTPUT«===SORRY!===CHECK FAILED:Calling 'if' will never work with argument types (int) (line 1) Expected: :()» | |||
| pmichaud | rn: sub if(*@x) { say 'if' }; if(1); | 18:39 | |
| p6eval | rakudo f798fb: OUTPUT«if» | ||
| ..niecza v18-9-g95a1946: OUTPUT«Potential difficulties: @x is declared but not used at /tmp/xeNJIqdC54 line 1:------> sub if(*⏏@x) { say 'if' }; if(1);if» | |||
| sisar | pmichaud: yes, but then the two calls say a and say i() are different, which makes me feel weird | ||
| masak | sisar: then don't call it 'i' :P | ||
| pmichaud | sisar: barewords aren't always subroutine calls. | ||
| sisar | masak: what rakudo should say is "Masak says: don't name a subroutine 'i' :p " :p | 18:40 | |
| masak | I wasn't saying that. | 18:41 | |
| pmichaud | it's perfectly legal (if confusing) to name a subroutine 'i', you just have to call it as i() | ||
| masak | I was saying, if you think it's weird to have to () it, don't do that. | ||
| pmichaud | just like it's perfectly legal to name a subroutine 'if', 'for', 'while', 'class', etc. | ||
| masak | it's only weird because you created a weird situation for yourself. | ||
|
18:41
nebuchadnezzar joined
18:43
kikulli left
|
|||
| sisar | rn: for 2i .. 10i { .say; } # niecza's error is so good :) | 18:47 | |
| p6eval | niecza v18-9-g95a1946: OUTPUT«Unhandled exception: Complex numbers are not arithmetically ordered; use cmp if you want an arbitrary order at /home/p6eval/niecza/lib/CORE.setting line 3259 (infix:<<=>> @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3284 (infix:<cmp> @ 53)  at /… | ||
| ..rakudo f798fb: ( no output ) | |||
| sisar | hmm, rakudo doen't even say anything, I wonder what happened. | 18:48 | |
|
18:48
GlitchMr left
|
|||
| pmichaud | r: say 2i .. 10i; | 18:48 | |
| p6eval | rakudo f798fb: OUTPUT«Complex.new(0, 2)..Complex.new(0, 10)» | ||
| pmichaud | r: say (2i .. 10i).list; | 18:49 | |
| p6eval | rakudo f798fb: OUTPUT«» | ||
| Gesh | What is niecza? | ||
| pmichaud | say 2i cmp 10i; | ||
| masak | Gesh: Rakudo and Niecza are two Perl 6 implementations. | ||
| moritz | a perl 6 compiler on the CLR (.NET/Mono) | ||
| pmichaud | r: say 2i cmp 10i; | ||
| p6eval | rakudo f798fb: OUTPUT«Decrease» | ||
| masak | Gesh: Rakudo runs on Parrot, Niecza runs on the CLR. | ||
| Gesh | Ah, ok | ||
| pmichaud | rakudo thinks that 2i > 10i, so it produces an empty list. | ||
| it's probably stringifying. | |||
| dalek | kudo/nom: 7d394e2 | moritz++ | src/core/ (3 files): move succ and pred from Real to Numeric |
18:50 | |
| masak | Gesh: they're both pretty great. see perl6.org/compilers/features | ||
| sisar | what, rakudo compare Complex nos... of right, stringification, phew ! | ||
| *oh | |||
| pmichaud | r: say @(10i .. 2i); | 18:51 | |
| p6eval | rakudo f798fb: OUTPUT«No such method 'succ' for invocant of type 'Complex' in sub postfix:<++> at src/gen/CORE.setting:1341 in method reify at src/gen/CORE.setting:4847 in method reify at src/gen/CORE.setting:4968 in method reify at src/gen/CORE.setting:4968 in method gimme at… | ||
| Gesh | masak, why there is no haskell implemented perl6 in the comparison? I heard about one | ||
| masak | Gesh: Pugs is implemented in Haskell. | 18:52 | |
| Gesh | Yep | ||
| masak | p: say "Hiiii!" | ||
| p6eval | pugs: OUTPUT«Hiiii!» | ||
| Gesh | masak, but it's not there | ||
| masak | Gesh: but it's a little old now. | ||
| dalek | c: 28057e9 | moritz++ | lib/Numeric.pod: [Numeric] succ, pred |
||
| pmichaud | I suspect Pugs isn't listed because it's much less actively developed | ||
| masak | so a feature comparison would be a little unfair, because many things are broken. | ||
| pmichaud | might be worth adding a note about Pugs to that page, though. | 18:53 | |
| masak | [Coke]++ has been working on improving Pugs. I'd like to help, but things further up on the TODO list are blocking my tuits. | ||
| pmichaud: +1 | |||
| Gesh | i see. | ||
|
19:00
brrt joined
|
|||
| dalek | atures: f5269a2 | pmichaud++ | template.html: Add a link/note about Pugs. (updates/improvements welcomed). |
19:05 | |
| sisar | n: (*|'a').WHAT.say; | ||
| p6eval | niecza v18-9-g95a1946: ( no output ) | ||
| sisar | hm, nieczabug | ||
| sorear: Junctions are fully implemented in Niecza ? | 19:06 | ||
| sorear | sisar: yes | 19:08 | |
| n: say (*|'a').WHAT | |||
| p6eval | niecza v18-9-g95a1946: OUTPUT«{ ... }» | ||
| sorear | n: say WHAT (*|'a') | ||
| p6eval | niecza v18-9-g95a1946: OUTPUT«WhateverCode()» | ||
| sorear | hrm | ||
| not 100% sure this behavior is correct | |||
| sisar | r: (*|'a').WHAT.say; | 19:09 | |
| p6eval | rakudo f798fb: OUTPUT«Junction()» | ||
| sorear | n; ((*|'a').WHAT.say)(5) | ||
| n: ((*|'a').WHAT.say)(5) | |||
| p6eval | niecza v18-9-g95a1946: OUTPUT«Junction()» | ||
| sisar | well, i'm off to bed now, good night #perl6 | 19:10 | |
| sisar zzz... | |||
|
19:10
brrt left
|
|||
| sergot | seen masak | 19:11 | |
| masak | sleep well, sisar. dream of effortless comparison of the complex and hypercomplex. | ||
| sergot: I'm right here! | |||
| sergot | \o/ | ||
| great | |||
| masak | \o/ | 19:12 | |
| sorear | does p6 support hypercomplex numbers yet? | ||
| masak | you mean, through a library? | 19:13 | |
|
19:13
cognominal left
|
|||
| masak | I could whip one up, if you want. | 19:13 | |
| might be fun. | |||
|
19:13
cognominal joined
|
|||
| sorear | just speaking of 12:11 < masak> sleep well, sisar. dream of effortless comparison of the complex and hypercomplex. | 19:13 | |
| not certain what that comparison should do. | 19:14 | ||
| the quaternion algebra has an interesting group of (continuous) automorphisms | 19:15 | ||
|
19:15
brrt joined
19:17
adu joined
|
|||
| masak | oh, I've never thought of the group of continuous automorphisms of the quaternions before. what's interesting about it? | 19:19 | |
| sorear | it's uncountably big. also, it's isomorphic to the proper rotations of 3-space | 19:20 | |
|
19:21
vmspb joined
|
|||
| masak | oh, right. Euler angles. | 19:21 | |
| still haven't grok'd those. | |||
| dalek | atures: 911978f | pmichaud++ | template.html: Update the feature comparison page to look more like other If anyone disagrees with this updated layout, feel free to revert. |
19:23 | |
| sorear | I don't think Euler angles are relevant here | 19:24 | |
| 1. preserving addition, together with continuity and the fact that Q is dense, means an automorphism must be a linear map, so is determined entirely by its behavior on 1, i, j, and k | 19:26 | ||
| 2. 1 is uniquely described by algebraic properties (it is the multiplicative identity), so it is fixed by all automorphisms | 19:27 | ||
| masak | the Wikipedia page on Euler angles mentions (unit) quaternions. | ||
|
19:27
leprevost joined
|
|||
| sorear | 3. the relations {i,j,k}^2 = -1 mean that i, j, and k must go into pure imaginary unit quaternions, because those are the only ones that square to -1 | 19:27 | |
| masak learns about en.wikipedia.org/wiki/Slerp | 19:28 | ||
| sorear | 4. i^j = k means that A(i), A(j), and A(k) must be a right-handed orthonormal basis | ||
| masak | hm, yes. | 19:29 | |
|
19:33
erkan joined,
erkan left,
erkan joined
19:41
plobsing left
|
|||
| vmspb | rn: say 'a'|'b' | 19:42 | |
| p6eval | rakudo 7d394e: OUTPUT«any(a, b)» | ||
| ..niecza v18-9-g95a1946: OUTPUT«any("a", "b")» | |||
| vmspb | rn: say 'a'|'b, c, d' | ||
| p6eval | rakudo 7d394e: OUTPUT«any(a, b, c, d)» | ||
| ..niecza v18-9-g95a1946: OUTPUT«any("a", "b, c, d")» | |||
| pmichaud | &slerp # replacement for &spout? ;-) | 19:43 | |
| rearrange the letters and you can get "perls" or "sperl" | 19:44 | ||
| sorear | masak: yapsi. YAPC. | ||
| masak | sorear: aye. what about it? :) | 19:47 | |
|
19:49
PacoAir left
|
|||
| sorear | masak: just noticed the other day. | 19:50 | |
| masak | hehe :) | 19:53 | |
| tadzik | yep, that's how I pronounce it :) | ||
| although "si" does not turn into "ś" in this particular case | |||
| masak | the 'i' in 'yapsi' is short when I say it. the one in 'YAPC' is long. but the difference is slight. | 19:54 | |
| sorear | short and long 'i's are allophonic in us english | 19:55 | |
| masak | and probably elsewhere, too. | ||
|
20:24
birdwindupbird joined
20:31
fridim_ joined
20:34
brrt left
20:38
danishman joined,
vmspb left
20:40
brrt joined
20:44
kaare_ left
20:54
icwiener left
21:02
brrt left
21:08
birdwindupbird left
21:21
zby_home left
|
|||
| ajs_home | Interesting... on my machine, echo consumes 175k instructions; perl -e 0 consumes 1.6m instructions; perl -MMoose -e 0 consumes 455m instructions and perl6 -e 0 consumes almost exactly 1b instructions | 21:32 | |
| The command I used in case anyone else wants to try it: $ valgrind --tool=cachegrind ./perl6 -e 0 2>&1 | grep -P '\bI\s+refs:' | 21:33 | ||
|
21:34
Moukeddar joined,
Moukeddar left
|
|||
| ajs_home | Am I the only one that's kind of sickened at the idea that echo requires 175k instructions? | 21:35 | |
| tadzik | GNU | ||
| flussence | if you think that's appalling, try /bin/true ;) | ||
| tadzik | right :) | ||
| sorear | ajs_home: I'm guessing your echo is dynamically linked | ||
| ajs_home | True is 97k.... at least it's better... .sigh | 21:36 | |
| sorear | glibc needs to be relocated | ||
| ajs_home | yeah, it is | ||
| adu | ajs_home: would like to optimize perl6? | ||
| s/ / you / | |||
| flussence | LD_DEBUG=statistics /bin/echo | ||
| ajs_home | adu: I've been mostly working outside the core, but as I start to get my hands dirty further in, I'm keeping an eye open | 21:37 | |
| flussence | (you *can* fix that startup time using prelink, but that doesn't play nice with some package managers' binary checksumming...) | 21:38 | |
| ajs_home | Wow, there's nothing at all in /bin that's statically linked on my box | ||
| There was a day that would have been considered obscene | |||
|
21:38
araujo left
|
|||
| sorear | ajs_home: debian? | 21:38 | |
| adu | ajs_home: as I see it, there are 3 big parts: runtime library, compilation strategy, and virtual machine | 21:39 | |
|
21:39
araujo joined
|
|||
| flussence | that's why redhat's recent "separate /usr mountpoint is broken" claim is wrong - it's /bin that's broken | 21:39 | |
| ajs_home | sorear: yeah, ubuntu, so debian-based | ||
| adu | flussence: heh, erroneous error messages, what'll they think of next | 21:40 | |
| geekosaur | (so, typical red hat...) | 21:41 | |
| adu | ajs_home: of those three, I think the most opportunity for optimization is in compilation strategy | ||
| ajs_home | I'd guess you're right, adu | ||
|
21:42
thou left
21:43
araujo left
|
|||
| ajs_home | Another test: ./perl6 -e 'my $n = 0; for 1..10 -> $i { $n+=$i } ; say $n' | 21:48 | |
|
21:48
danishman left
|
|||
| ajs_home | 1.5b instructions | 21:48 | |
| up the count to 100 -> 1.5b instructions | |||
| up the count to 1000 -> 1.5b instructions | |||
| O.o | |||
| tadzik | :) | 21:49 | |
| ajs_home | OK, I'm doing a floor, but still | ||
| it's really 1.531b, 1.534b and 1.580b | |||
| side note: valgrind rocks | 21:50 | ||
| geekosaur | I imagine the largest chunk of it is spent translating to PIR or something | 21:51 | |
| ajs_home | Running perl6 with --leak-check=full is ... voluminous | 21:52 | |
|
21:52
Gesh left
|
|||
| ajs_home | Interesting output, "definitely lost: 19,231 bytes in 1,422 blocks ... possibly lost: 121,216,606 bytes in 50,691 blocks" | 21:52 | |
| 121MB of "we think we left it in our other pants" | 21:53 | ||
| tadzik | I think valgrind's known to get confused upon internal allocation mechanisms | ||
| see also: glib | 21:54 | ||
| sorear | I think that's called "parrot's garbage collector is seriously weird and confuses valgrind" | ||
|
21:54
pupoque joined
|
|||
| sorear | geekosaur: I imagine the largest chunk of it is spent parsing and reconstructing the serialized setting | 21:55 | |
| ajs_home | I suspect that's how it's distinguishing possibly lost vs definitely. Probably something like, "you have a pointer to something on this page" | ||
| which could be an internal allocator at work | |||
| sorear | valgrind has API calls that you can use to instrument the parrot allocator and avoid definitely lost | ||
| good luck getting any such patch accepted | 21:56 | ||
| sergot | bye bye ! :) | 21:57 | |
|
21:57
araujo joined,
araujo left,
araujo joined
|
|||
| tadzik | \o | 21:57 | |
|
21:57
sergot left
|
|||
| sorear | o/ araujo | 21:58 | |
| ajs_home | Oh interesting... the Parrot garbage collector is marking uninitialized objects as live. That's probably not good | 21:59 | |
| sorear | ajs_home: i'd be interested to know what valgrind thinks about niecza's startup time | 22:00 | |
| masak | 'night, #perl6 | ||
| ajs_home | sorear, it's really easy to run | ||
| sorear | bye masak | ||
| ajs_home: yeah but I can't be sure the results are consistant between systems | |||
| ajs_home | valgrind --tool=cachegrind -- your-program-and-args-here | 22:01 | |
| true | |||
| I'll look into grabbing niecza in a bit | |||
| gotta go cook dinner | |||
| araujo | :) | 22:02 | |
| sorear, o/ | 22:03 | ||
|
22:03
araujo left
22:04
araujo joined
|
|||
| kresike | bye all | 22:21 | |
|
22:21
kresike left
|
|||
| tadzik | bye bye | 22:21 | |
| ha, made it | |||
| flussence | not on my screen! | ||
|
22:23
pupoque left
22:25
pupoque joined
|
|||
| jnthn -> sleep, 'night | 22:26 | ||
| dalek | ecza/non-bootstrap: bea180f | sorear++ | lib/ (3 files): Wire compiler actions to the grammar engine This wiring takes place at a lower level than just creating a p6-level actions class. This might count as premature optimization. |
22:30 | |
| ecza/non-bootstrap: d90112c | sorear++ | lib/Actions.cs: Fixup for install_sub |
|||
| ecza/non-bootstrap: 50780fb | sorear++ | lib/Parser.src: Incorporate CgOp in Parser.src |
|||
|
22:44
thou joined,
thou left
22:46
fridim_ left
23:06
pochi left
23:12
Chillance left
23:15
tokuhirom joined
|
|||
| [Coke] | colomon: hey, can ABC be installed? | 23:16 | |
|
23:19
adu left
|
|||
| dalek | ecza/non-bootstrap: 56b506a | sorear++ | lib/ (3 files): Wire actions to correct handling of $*VARs |
23:23 | |
|
23:38
thou_ joined
|
|||
| colomon | [Coke]: it should work. But last time I checked Rakudo still couldn't handle it. | 23:46 | |
| (the module, I mean, not the installing.) | |||
| [Coke] | colomon: argh. you mean I've been building the wrong perl6? ;) | 23:51 | |
| colomon | well, I haven't tried it in a week or two. things might have gotten better. | 23:52 | |
| [Coke] | colomon: Quantifier quantifies nothing at line 50, near " { +$0 } <" | 23:53 | |
| colomon | huh. that's new | ||
| [Coke] | colomon: niecza is NOT installable, neh? | ||
| colomon | it's possible I've introduced new things that don't work in Rakudo since it stopped working in Rakudo -- I've added quite a bit of code to the module. | 23:54 | |
| [Coke]: define installable? I guess I do always run it from its build directory... | |||
| [Coke] | I'm trying to get it running for my son. I guess I'll just put niecza AND abc in a folder and point him at that for now. | ||
| colomon: I wish it to be installed in, e.g. /usr/local | 23:55 | ||
| preferably without having to manually copy a bunch of stuff. | |||
| [Coke] just shoves niecza and abc into a dir that he can wrap a script around. | 23:56 | ||
| colomon | you can always cheat and make a one-line script to invoke niecza and stick that in /usr/local | ||
|
23:56
sudokode left
|
|||
| colomon | [Coke]: if you want to generate sheet music, you also need to have Lilypond installed... | 23:56 | |
|
23:58
thou_ left
|
|||
| [Coke] | colomon: aye, mono and lilypond are already installed (via macports) | 23:58 | |
| colomon | \o/ | ||
| I don't think I ever got the macport of lilypond to work, I ended up installing it from binaries online. | |||
| (and as a result, I've never figured out how to run it from the command line, which makes things unnecessarily awkward.) | 23:59 | ||