»ö« 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.
00:03 cognominal left, cognominal joined 00:05 shinobicl joined 00:06 angelolicastro joined, flussence_ is now known as flussence 00:12 envi_ joined 00:17 replore joined 00:18 tokuhirom joined 00:21 shinobicl left 00:24 pun joined 00:26 sivoais left 00:27 sisar left 00:29 takesako left, sivoais joined 00:30 takesako joined, wolfman2000 joined 00:34 spider-mario left 00:35 raiph left, tyatpi left 00:36 lestrrat left 00:37 lestrrat joined, fgomez left
dalek rl6-bench: b6321da | (Geoffrey Broadwell)++ | bench:
Add some more metadata (language, compiler, and VM) for each compiler entry
00:49
rl6-bench: 6546c15 | (Geoffrey Broadwell)++ | bench:
Display metadata for each compiler in summary table; mild refactoring of table display logic
rl6-bench: b3c3bad | (Geoffrey Broadwell)++ | bench:
Rakudo can compile NQP too. Well, mostly.
rl6-bench: d5629e5 | (Geoffrey Broadwell)++ | README:
Update README with current tested compilers list
00:51 immortal left 00:52 erkan joined 00:53 pun left 00:59 fgomez joined 01:03 scott_ joined, scott_ is now known as Guest96894 01:06 fgomez left, fgomez joined 01:25 pernatiy joined
colomon n: class Animal does NonExistentRole { }; 01:28
p6eval niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Unable to parse class definition at /tmp/MgSoDbpbRI line 1:␤------> class Animal ⏏does NonExistentRole { };␤␤Parse failed␤␤»
colomon n: class Animal does NonExistentRole { ... }; 01:29
p6eval niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Unable to parse class definition at /tmp/2FQfgQNXV_ line 1:␤------> class Animal ⏏does NonExistentRole { ... };␤␤Parse failed␤␤»
colomon n: class Animal does Numeric { ... } 01:30
p6eval niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Package was stubbed but not defined at /tmp/spVDlLCj_L line 1:␤------> class⏏ Animal does Numeric { ... }␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @…
colomon n: class Animal does Numeric { method a() { }; }
p6eval niecza v16-23-gaa61ed5: ( no output )
colomon std: class Animal does NonExistentRole { ... };
p6eval std fab64fc: OUTPUT«===SORRY!===␤Invalid role name at /tmp/xE4NnOf6BH line 1:␤------> class Animal does ⏏NonExistentRole { ... };␤ expecting typename␤Parse failed␤FAILED 00:00 40m␤»
colomon n: class AClass; class BClass does AClass { } 01:34
p6eval niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Cannot compose a type of category class (AClass) at /tmp/Zu5oxlL9BZ line 1 (EOF):␤------> ass AClass; class BClass does AClass { }⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/li…
dalek ast: 2b9944e | (Solomon Foster)++ | S14-roles/basic.t:
Change the second of the duplicate failed class definitions to a different name, because Niecza remembered the first failed attempt, and on the second try complained about that instead of generating the errors the tests were looking for.
01:38
ast: b2c8ad2 | (Solomon Foster)++ | S04-declarations/state.t:
Additional fudging for Niecza.
01:44 tyatpi joined
[Coke] sorear, colomon: IMO, if you're going to change the behavior later, I don't see the point in closing the ticket now. 01:50
01:51 cognominal left 01:52 cognominal joined
TimToady I think LTA is a bug, but I'm known to be insane that way... 01:54
01:59 angelolicastro left, Amphy joined 02:08 whiteknight left 02:10 noam left, noam_ joined 02:11 Amphy left 02:12 jaldhar joined 02:17 tokuhirom left 02:20 ajs_work left 02:24 baest joined 02:31 vlixes joined 02:36 bjarne left 02:43 lestrrat left 02:44 lestrrat joined 02:53 baest left 02:55 orafu left 02:57 orafu joined 02:58 baest joined
dalek rl6-bench: 8c1f315 | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
NQP rc-forest-fire much closer now; compiles and runs, but forest fires don't spread properly
03:00
03:22 alester_ joined 03:23 raiph joined
raiph . 03:27
r: say [+] (1, { (* + 1) * 2 } ... *)[^5] # am i on the right track? 03:28
p6eval rakudo b64c1e: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤ in method Numeric at src/gen/CORE.setting:648␤ in sub infix:<+> at src/gen/CORE.setting:2329␤ in sub <anon> at src/gen/CORE.setting:10624␤ in block <anon> at /tmp/SR6Fvan1kW:1␤␤»…
sorear
raiph p6: say [+] (1, { (* + 1) * 2 } ... *)[^5] # am i on the right track?
p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Cannot use value like WhateverCode as a number␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 261 (Any.Numeric @ 5) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.se…
..pugs: OUTPUT«*** unknown parse error␤ at /tmp/eFrtI7aVkv line 1, column 35␤»
..rakudo b64c1e: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤ in method Numeric at src/gen/CORE.setting:648␤ in sub infix:<+> at src/gen/CORE.setting:2329␤ in sub <anon> at src/gen/CORE.setting:10624␤ in block <anon> at /tmp/cggVmb_H2t:1␤␤»…
sorear no, that's not how you use Whatever stars.
Ditch the braces.
raiph kthx 03:29
p6: say [+] (1, (* + 1) * 2 ... *)[^5] # am i on the right track? 03:30
p6eval pugs: OUTPUT«*** unknown parse error␤ at /tmp/k4YDLrEToE line 1, column 31␤»
..rakudo b64c1e, niecza v16-23-gaa61ed5: OUTPUT«83␤»
raiph now time to backlog # excited 03:31
sorear raiph: why?
raiph irclog.perlgeek.de/perl6/2012-04-23#i_5481981 03:32
d'oh. but, i'm still fairly happy. at least i instinctively reached for the sequence (?) syntax 03:39
the [+] was overthinko + nochecko 03:40
i'm still slightly surprised by { * ...... } being wrong, and ( * ...... ) being ok, but i'm sure i'll figger that out in a mo when i read docs 03:43
03:51 leprevost joined
geekosaur * already creates a closure, using braces makes a closure containing a closure 03:51
03:52 REPLeffect joined 04:05 sftp left 04:06 wolfman2000 left 04:14 thou left 04:21 cognominal left 04:23 cognominal joined 04:25 envi_ left 04:40 alester_ left 04:41 skids left 04:45 Kannan joined, Kannan left
dalek rl6-bench: d67ab8c | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
Fix NQP rc-forest-fire fire spreading bug
04:49
rl6-bench: 6cdbd06 | (Geoffrey Broadwell)++ | bench:
Only display enabled compilers in summary table
04:59 geistteufel left 05:05 geistteufel joined 05:18 spaceships left 05:19 birdwindupbird joined
moritz phenny: tells arnsholt in gist.github.com/2476861 the return value of sqlite3_open indicates success, but the connection handle remains a null pointer. sqlite.org/c3ref/open.html has the documentation. Any idea what could be wrong? 05:45
phenny: tell arnsholt oh, and sqlite creates the file, so I guess the problem is really passing the db handle back to the caller
phenny moritz: I'll pass that on when arnsholt is around.
moritz phenny: tell arnsholt in gist.github.com/2476861 the return value of sqlite3_open indicates success, but the connection handle remains a null pointer. sqlite.org/c3ref/open.html has the documentation. Any idea what could be wrong? 05:46
phenny moritz: I'll pass that on when arnsholt is around.
moritz spelling helps :-)
05:47 tyatpi left 05:48 REPLeffect left 05:55 kaleem joined 06:22 wtw joined, fhelmberger joined
frettled good morning or something 06:26
sorear good frettled, #perl6
moritz good *, * 06:28
06:45 replore left 06:48 kresike joined
dalek rl6-bench: 879091e | (Geoffrey Broadwell)++ | bench:
Fix paste-o
06:49
rl6-bench: 9ab5d37 | (Geoffrey Broadwell)++ | bench:
Turn off perlito6.js/d8 until compiler hang is fixed
07:13 raiph left 07:38 jaffa4 joined
jaffa4 hi 07:38
sorear hi jaffa4 07:39
07:40 vlixes left
jaffa4 sorearL I would like to capture repeated capture in a array in a grammar. Is that possible in niecza? 07:40
sorear automatic.
jaffa4 sorear: I have tried this @<bracket1>=['(' <.ws>]* in I cannot see the matched (.... 07:41
sorear repeated captures ALWAYS go into arrays
jaffa4 when I print $<bracket1>.list.elems... I get 0.
sorear niecza: say "( ( ( " ~~ / @<bracket1>=['(' <.ws>]* / 07:42
p6eval niecza v16-23-gaa61ed5: OUTPUT«#<match from(0) to(6) text(( ( ( ) pos([].list) named({"bracket1" => #<match from(0) to(6) text(( ( ( ) pos([].list) named({}.hash)>}.hash)>␤»
sorear Your problem is that you put the quantifier inside the match
You don't *have* a repeated capture there
jaffa4 niecza: say "( ( ( " ~~ / @<bracket1>=[['(' <.ws>]*] / 07:44
p6eval niecza v16-23-gaa61ed5: OUTPUT«#<match from(0) to(6) text(( ( ( ) pos([].list) named({"bracket1" => #<match from(0) to(6) text(( ( ( ) pos([].list) named({}.hash)>}.hash)>␤»
sorear niecza: say "( ( ( " ~~ / [@<bracket1>=['(' <.ws>]]* /
p6eval niecza v16-23-gaa61ed5: OUTPUT«#<match from(0) to(6) text(( ( ( ) pos([].list) named({"bracket1" => (#<match from(0) to(2) text(( ) pos([].list) named({}.hash)>, #<match from(2) to(4) text(( ) pos([].list) named({}.hash)>, #<match from(4) to(6) text(( ) pos([].list) named({}.hash)>).lis…
jaffa4 finally 07:45
that was not obvious, you know
sorear not my fault
07:46 brrt joined
sorear I think the syntax you tried should be outlawed, nobody can understand it so nobody should be allowed to write it 07:46
but it's not my call
sorear leaves before he gets any grumpier 07:47
jaffa4 Why would you get grumpy?
sorear: in overall, the language is going to be ok , I guess 07:49
sorear from my perspective, you seem to be making a habit of expecting niecza to read your mind and complaining when it doesn't 07:51
frettled That little piece of code made my eyes water.
sorear I don't have very much free time currently and I can't make major improvements to anything
jaffa4 not niecza, DWIM?
sorear I'm starting to regret being in #perl6 at all
jaffa4 perl 6
not niecza, perl 6.
moritz jaffa4: you seem to have a talent for phrasing things negatively and only pointing out errors (which, often enough, are your own). That's a good reason for people to get grumpy
jaffa4 my own? This last example was not logical 07:52
moritz jaffa4: I'm not talking about the last example, I'm talking about your communcation in here in general
jaffa4 Give examples, in most cases, people misunderstand me. 07:54
moritz jaffa4: yes. And communication is always two-ways. If people misunderstand you all the time, that might be related to *your* way of communicating, not just ours
jaffa4 in most cases such as yours, people misunderstand me. 07:55
not always.
It depends on who I am communicating with
moritz and what do you learn from that?
jaffa4 bad luck
moritz that's the wrong conclusion 07:56
you could investigate different ways to phrase things
for example
you could start to talk not only about negative things
showcase some neat examples that work, for example 07:57
jaffa4 let me quote myself: in overall, the language is going to be ok , I guess
moritz and that's not positive
that's just barely not negative
jaffa4: do you see where I'm getting to? 07:58
07:59 agentzh joined 08:02 |newbie| joined, jaffa4 left
|newbie| moritz, sorear : you know what projection is in psychology 08:02
08:02 |newbie| is now known as jaffa4
moritz |newbie|: I do 08:02
jaffa4 when you think somebody says something, in reality, you think that internally... 08:03
moritz jaffa4: I have a proposal. Go through a few pages of irclog.perlgeek.de/search.pl?channe...fa4&q= and see count the number of lines that are negative (ie about problems with something), neutral or positive (actively praising or appreciating something). Tell us the counts. Then I tell you if I have been projecting 08:04
and with "negative" I also mean negated questions 08:05
jaffa4 moritz: I come here to solve some of the problems I have spent too much time.. I use this channel for problem solving.. Of course , you will count a high "negative" remark. 08:06
moritz jaffa4: and yet other people manage to do just that without getting such a negative connotation 08:07
arnsholt scrollbacks a bit
phenny arnsholt: 05:45Z <moritz> tell arnsholt oh, and sqlite creates the file, so I guess the problem is really passing the db handle back to the caller
arnsholt: 05:46Z <moritz> tell arnsholt in gist.github.com/2476861 the return value of sqlite3_open indicates success, but the connection handle remains a null pointer. sqlite.org/c3ref/open.html has the documentation. Any idea what could be wrong?
moritz arnsholt: read those two messages in reverse order, I accidentally .reverse()d them :-) 08:08
arnsholt Right. They make more sense that way =D
I'll have a look at it in a bit. Sounds odd
08:10 ashleydev joined 08:11 sunnavy joined
moritz general question: S19 says that single-letter options and their arguments need to delimited by whitespace 08:13
ie -Ilib needs to become -I lib
somehow that has never seemed to take off. Should we remove that clause? 08:14
I'm asking because colomon++ has submitted a bug about -Ilib being ignored in rakudo, and I'd like to know whether to make it work
08:14 domidumont1 left
moritz and the topic has come up during the Oslo hackathon too 08:15
08:16 domidumont joined
sorear fwiw, I am a S19 skeptic on many of these points 08:17
the Perl 6 interpreter will be invoked by people who are not Perl 6 programmers
so it needs to respect POLS from the POV of a generic Unix user 08:18
moritz agreed
frettled yup
sorear getopt_long and XtInitialize is already one option parser too many
08:19 betterworld left
frettled Also, for (annoying) backwards compatibility with Perl 5, perhaps there should be a -E, which essentially does the same as -e. 08:19
(I'm a little pissed off at the Perl 5 guys for inventing that particular crud) 08:20
moritz +0
sorear -0
moritz I'd say we wait a year or two and see if -E usage takes off in the p5 world
sorear n: say (-0).perl 08:21
p6eval niecza v16-23-gaa61ed5: OUTPUT«0␤»
sorear n: say (-0e0).perl
p6eval niecza v16-23-gaa61ed5: OUTPUT«0e0␤»
frettled It already has «taken off».
frettled knows several people who regularly use -E instead of -e, because they do «modern» perl on the command line.
Of course, that's anecdata.
moritz yes, I use it too. But it doesn't seem to be prevalent in online discussions about perl 08:22
mikec hadn't heard of it
sorear mikec, I do not beleive I have welcomed you yet, welcome 08:23
mikec hey
i've been lurking for a while 08:24
08:25 kaleem left
frettled moritz: I think it will take some years before it becomes prevalent. But AFAIK, use has picked up quite a bit. 08:25
moritz frettled: maybe the better test is to see if people will complain about the lack of -E in Perl 6 compilers 08:26
so far I haven't got any such complaints 08:27
08:29 kaleem joined
frettled We haven't had many complaints regarding the utter uselessness of -h either, until Marcus noticed this weekend and I half-jokingly said that it was so because he hadn't fixed it yet – so he went and fixed it. 08:31
I don't think we're quite there that we can take any lack of input from the userbase as indication that there is something amiss.
s/there is something amiss/there is NOT something amiss/
imarcusthis I miss -I
I don't quite understand what -E would do in perl6 08:32
moritz imarcusthis: many people miss -I, which is why I want to fix it
tadzik good morning
moritz -E would just be the same as -e
frettled: regarding -E, I'd propose to just wait and see. If it absence annoys people, eventually they will complain 08:33
good tadzik, morning
tadzik -E should just alias s() to say() :P
moritz ah, and then have fun with s/// vs. s() :-)
frettled tadzik: heh 08:34
sorear -> sleep
frettled moritz: I have no problem with that :)
moritz OH 08:43
currently nqp parses -Ilib as -I -l -i -b 08:44
though I wonder what all those options do :/
ah, they don't do anything
it's just that the check that options are declared fails to work for grouped options
08:45 fglock joined 08:48 jaldhar left 08:50 dakkar joined
tadzik it probably expects either -I=lib or --Ilib 08:53
08:54 betterworld joined
moritz no, -I is simply NYI 08:54
but there was a bug which made nqp and rakudo silently accept (and ignore) it anyway 08:55
I have a local patch which makes it die instead 08:57
but I guess we really, really want to allow grouping of options that take arguments, and we really want -I to be implemented too 08:58
dalek p: 58e7359 | moritz++ | src/HLL/CommandLine.pm:
for grouped command line options, check if each is allowed
09:01
moritz but we need that part of the patch anyway 09:02
frettled yup
09:02 cognominal_ joined 09:03 zipf joined 09:05 cognominal left 09:07 zipf left
moritz ok, thinking loud about how to implement -Ilib 09:08
frettled I think it's nice to have a space there.
moritz well, that's the first step 09:09
tadzik okay. If there's a single dash but multiple letters, then it probably wants to be -I=lib
same as -MLWP::Simple
that may not play nicely with -ne and so 09:10
maybe it's always the matter of upper/lowercase, or maybe I'm thinking too much about "pass this one test, then we'll think" 09:11
moritz well, with the current spec neither -MLWP::Simpler nor -ne is allowed 09:12
tadzik so neither is -Ilib, I suppose
moritz but what I'm thinking about this very moment is where to store the command line options
tadzik: correct
tadzik and if people clearly want that, and we clearly want that, then it's probably time to change the spec
moritz but I want to allow at least -I lib for now
correct 09:13
09:13 zipf joined
frettled tadzik: short-form + = is against the principle of least surprise, too 09:14
tadzik aye 09:16
tadzik classifies
frettled But have a look at e.g. ls, which has a fairly decent man page. 09:18
I think it violates consistency a bit by permitting -T15, -T 15 and --tabsize=15 09:19
Then again, it is sort of intuitive, although you have ls -1
09:26 xinming_ joined 09:29 xinming left, envi_ joined 09:33 havenn joined 09:41 lichtkind joined
tadzik the pattern I see here, is that one letter lowercase options do not take arguments, and so can be chained like -pe 09:44
frettled tadzik: except when they do take arguments, and cannot be chained
moritz like -e
tadzik the uppercase ones do, hence things like -Ilib or -MModule
frettled The example with "-T" was not coincidental.
tadzik right
frettled But for "ls", the pattern you see is correct. 09:45
(IIRC)
tadzik hrm
frettled sed is more perl-like
tadzik well, we do know whether something takes an argument or not, so this stuff can be figured out 09:46
frettled The way I see it, the least surprising behavior would be to be careful about which single-char options take an argument, and ensure that there is internal consistency.
tadzik so something that does take anargument is followed by an optional whitespace and this argument 09:47
frettled yup
And since, as you point out, we know whether or not, that is nearly trivial to handle.
tadzik should be doable, yes
09:48 ashleyde1 joined 09:49 sunnavy_ joined
tadzik so we're only left with the spec and the principle of least suprise, as you pointed out 09:49
masak good practically-noon, #perl6.
frettled So to sum it up: single-letter options can be clustered any way you like – -chnp, -cpnh – as long as they do not take arguments.
tadzik good still-morning-for-me, masak
yes
frettled If they take arguments, they are permitted to do so with optional whitespace after the option. 09:50
tadzik if they do, they must go at the very end, so they don't violate the "followed by \s* and the argument"
we could have a Perl 6 grammar for that 09:51
in Rakudo's Main.pm we also do, but it serves a bit different purpose 09:52
09:52 fgomez left
frettled tadzik: yup 09:52
tadzik so, when do we hack? :) 09:53
masak in rosettacode.org/wiki/Search_a_list#Perl_6 , why do we implement &find, when there's already .first ?
09:53 bip` joined
masak why not at least define &find in terms of .first? 09:53
tadzik if no one does, I'm willing to start a branch today after my classes
09:54 sunnavy left, ashleydev left, geistteufel left
moritz tadzik: fwiw I'm currently doing a patch that allows -I lib, consistent with the other command line options we have so far 09:54
frettled masak: that code could need some golfing
tadzik moritz++, great
dalek blets: 55ac819 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
bold menus are less flimsy and better to click on
09:55
blets: 1d2c1bd | (Herbert Breunung)++ | README.md:
more items on: how to help
frettled Plus: «Works with: Rakudo Star version 2010.08»
jaffa4 IS it you who is writing the perl 6 section for rosettacode?
moritz fwiw find returns the index, .first doesn't
masak right, but you can do .first on .pairs 09:56
tadzik maybe it should return a pair
09:56 machine1 left
tadzik but that's probably not per spec 09:56
moritz you could write find as sub find(Mu $needle, *@haystack) { @haystack.keys.first: { @haystack[$_] ~~ $needle } }
masak jaffa4: RosettaCode is a wiki. many people contribute programs there, including Perl 6 programs. TimToady has written a fair bunch of them. 09:57
moritz: ooh, yes. that's quite nice.
moritz: kinda like "half a Schwarzian transform" ;)
frettled jaffa4: as masak says, so for all intents of purposes, you are also one of those who write Perl 6 for rosettacode, if you want.
tadzik :)
moritz masak: may half of the Schwartz be with you :-) 09:58
10:01 havenn left
lichtkind hes fallen to the dark side 10:02
masak ;) 10:03
masak backlogs over the jaffa4-moritz discussion
dalek blets: 6fc6aa2 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
added dummies for the terms codepoint and graphemes(unicode experts needed)
blets: 6743897 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
minor format fixes + glossary links
blets: a0aa498 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
repair entry of $*KERNEL + usual minor fixes
10:04 machine1 joined
masak fwiw, I think everything jaffa4 says comes out grumpy/negative because jaffa4 has different communication prerequisites than most of us. 10:05
jaffa4 cares about Perl 6. it's not always evident from his messages that he means well.
most other people know to throw in a "thank you" or a "I'm sorry" or a "that's not how I see it" to grease the wheels of communication. jaffa4, for reasons that have never become evident, doesn't. 10:06
that puts more of the burden of making communication flow productively on those that he talks to on the channel. 10:07
it still remains to be seen whether we can find ways to cope with that and plug jaffa4 into the community machinery in such a way that he doesn't introduce sand in the wheels. 10:08
I for one would like to live in a world where we can have jaffa4 interacting on the channel, *and* sorear and moritz doesn't burn out from it. 10:09
10:10 Guest96894 left
flussence scrollbacks 10:12
oh. I was wondering when that'd happen...
lichtkind that does find do? 10:14
masak lichtkind: see the rosetta code URL. &find is not a Perl 6 builtin, it's a subroutine defined in the code at that URL. 10:15
if you already found the subroutine, and you're wondering how it works, let me know. 10:16
10:16 zipf left
lichtkind masak: cute i overlooked this array function its not enough documented i think 10:20
moritz which one? 10:21
10:21 pjcj_ left, pjcj joined
masak lichtkind: .first is in S32, right next to .grep 10:22
it makes a lot of sense in a lazy-lists world.
lichtkind masak: i understood the example in this way that there is a list method find beside the IO method find 10:23
moritz wonders if lichtkind read and understood what masak wrote earlier 10:25
arnsholt moritz: I don't have sqlite3 installed on my work machine (d'oh!), but I think I see a problem 10:26
It's sqlite3_open(char *, sqlite3 **), but you declare it as (char *, sqlite3 *), essentially
lichtkind moritz: oritz yes i mean find seems to be a sort of grep but this is still something different than explained in S32
arnsholt But I think I should read the docs a bit more before I make a final verdict 10:27
moritz arnsholt: erm, I thought that Opaque*Pointer* was a pointer already, so sqlite3*
and wrapping a CArray around it makes it sqlite3** 10:28
arnsholt Oh, right. I'm a marroon
But the issue might be related to the additional indirection sqlite wants. Not sure 10:29
moritz hm, what additional info?
masak lichtkind: there is no List method .find 10:30
lichtkind: also, there is no IO method .find
arnsholt moritz: OH! I know!
10:30 bacek left
arnsholt (I think) 10:30
10:31 bacek joined, spider-mario joined
arnsholt When you pass the array off to C, the underlying data get twiddled, but since it's a Perl-managed array (supposedly) we don't catch that 10:31
We just return the object you stored there in the first place =) 10:32
So, yeah. This is a use-case we don't handle yet
Shouldn't be too hard to fix though
moritz that would be awesome
though a TransparentPointer that return the pointee as an OpaquePointer would also work for me :-)
lichtkind masak: thy is find in S32 then under "IO::FileSystems" ? 10:33
why 10:34
10:48 daxim joined 10:54 birdwind1pbird joined
lichtkind i was taling about find not first, ok it was just a sub 10:56
but its still in 32 as io
10:57 GlitchMr joined
lichtkind and "Returns Path objects. Path.Encoding is set to $?ENC unless the $Encoding parameter is passed in (see Path for further discussion of encoding)." can be interpreted in several ways 10:57
lumi_ Is it expected that some spectests fail on rakudo without icu? Is icu a prerequisite for rakudo? 11:07
11:08 LylePerl joined
masak lichtkind: yeah. consider that part of S32 just empty talk. it's still in there because no-one has removed it yet. 11:09
geekosaur I don't know if rakudo strictly requires icu but I'm pretty sure the spec requires a level of unicode functionality that needs icu or equivalent
11:09 bacek left
lumi_ geekosaur: I don't think it's unicode functionality that's failing 11:09
smolder.parrot.org/app/projects/rep...ails/27772 - these are the failures 11:10
geekosaur that seems to fit under the first part of what I said. 11:13
lichtkind masak: and i im right $?ENC died too
dalek ecs: b5e3bef | (Herbert Breunung)++ | S32-setting-library/IO.pod:
officially burry find function
11:14
lumi_ geekosaur: Looking at the failure, I think it's because Test::Util is using :i in a regex 11:16
I've installed icu to get better smolders from now on, but I thought I'd bring this up in case this isn't intended 11:17
masak lichtkind: no, $?ENC still seems to be the default for things like .encode 11:18
lichtkind: and I seem to recall that TimToady doesn't want UTF-8 to be assumed too much -- just the default default 11:19
colomon moritz: note that -I lib doesn't work either, but at least it produces an error message! -Ilib just silently fails. 11:22
moritz colomon: yes, github.com/perl6/nqp/commit/58e735918c fixes that (but we don't require that commit yet) 11:25
colomon: "fixes" in the sense of "dying loudly in both cases"
colomon definitely would be an improvement. 11:27
11:28 benabik left
colomon mind you, I think there should be a way to specify that on the command line without using environment variables. 11:29
moritz agreed
I'm working on that, but it turns out to be less trivial
11:35 brrt left 11:38 birdwind1pbird left 11:43 grondilu joined, grondilu left, grondilu joined
grondilu p6: .say for map &sprintf.assuming("%x"), ^16; 11:43
p6eval pugs: OUTPUT«(timeout)» 11:44
..niecza v16-23-gaa61ed5: OUTPUT«0␤»
..rakudo b64c1e: OUTPUT«This type cannot unbox to a native integer␤ in method munch at src/gen/CORE.setting:5092␤ in method reify at src/gen/CORE.setting:4766␤ in method reify at src/gen/CORE.setting:4678␤ in method reify at src/gen/CORE.setting:4678␤ in method gimme at src/gen/CORE.…
grondilu this used to work fine :( 11:45
moritz when? and in which compiler?
I'm a bit surprised it ever worked
grondilu I don't know exactly. Something like this was in my Digest module.
moritz because sprintf has a signature of ($format, *@args)
grondilu so?
"%x" is a format, isn'it?
moritz yes, but what remains after the .assuming is applied is a signature of (*@args) 11:46
and .map is sensitive to the arity of the block it operates on
grondilu I don't give a block I give a function
masak so .map slurps all of the ^16
I don't see the problem either.
moritz well, it's the same as sprintf("%x', ^16) 11:47
which should complain about excess arguments
masak r: my &f = &sprintf.assuming("%x"); .say for map &f, ^16
p6eval rakudo b64c1e: OUTPUT«This type cannot unbox to a native integer␤ in method munch at src/gen/CORE.setting:5092␤ in method reify at src/gen/CORE.setting:4766␤ in method reify at src/gen/CORE.setting:4678␤ in method reify at src/gen/CORE.setting:4678␤ in method gimme at src/gen/CORE.…
moritz grondilu: s/block/callable/ then
grondilu hang on
moritz r: sprintf('%x', ^16)
p6eval rakudo b64c1e: ( no output )
moritz r: say sprintf('%x', ^16)
p6eval rakudo b64c1e: OUTPUT«0␤»
masak huh. 11:48
moritz it seems to just ignore all the other arguments
masak r: say sprintf('%x', |^16)
p6eval rakudo b64c1e: OUTPUT«Method 'FLATTENABLE_LIST' not found for invocant of class 'Range'␤ in block <anon> at /tmp/3pr8Q1r7SW:1␤␤»
moritz the format tells it to print only one number
so that's all it does
masak right.
there really should be a check there.
moritz r: say sprintf('%x', |(^16).list)
p6eval rakudo b64c1e: OUTPUT«0␤»
masak for too-many as well as too-few.
moritz masak: yes, but we can't do that with our current factorinig 11:49
*factoring
11:49 lestrrat left
masak I suspected that. 11:49
moritz it requires a complete rewrite of sprintf
masak aye.
dalek ar: bcb1dfb | bbkr++ | / (2 files):
Added JSON::RPC client and server. All tests successful on 2012.04 Rakudo release.
ar: 56c614d | moritz++ | / (2 files):
Merge pull request #2 from bbkr/master

Added JSON::RPC client and server.
grondilu but doesn't 'assuming' return a callable that could be given as first argument for map??
11:50 lestrrat joined
moritz grondilu: assuming just returns a callable with one argument curried 11:50
now this should work:
r: sub a($a, $b) { sprintf $a, $b }; .say for map &a.assuming('%x'), ^16
p6eval rakudo b64c1e: OUTPUT«This type cannot unbox to a native integer␤ in method munch at src/gen/CORE.setting:5092␤ in method reify at src/gen/CORE.setting:4766␤ in method reify at src/gen/CORE.setting:4678␤ in method reify at src/gen/CORE.setting:4678␤ in method gimme at src/gen/CORE.…
grondilu ah
There IS something wrong, isn't there? 11:51
moritz r: .say for map -> *@a { @a } , ^16
p6eval rakudo b64c1e: OUTPUT«This type cannot unbox to a native integer␤ in method munch at src/gen/CORE.setting:5092␤ in method reify at src/gen/CORE.setting:4766␤ in method reify at src/gen/CORE.setting:4678␤ in method reify at src/gen/CORE.setting:4678␤ in method gimme at src/gen/CORE.…
moritz grondilu: yes, there's something wrong
arnsholt moritz: On further thought, I think it's fairly easy to recompute the Perl 6 objects in an array, but I'm not entirely sure how to best expose it to Perl 6
moritz grondilu: and I believe I know what
masak submits rakudobug
moritz it's getting Inf as the parameter count 11:52
and tries to unbox that as an integer
arnsholt Or maybe we'll just want to do it every time a pointer is passed off to C. I think I'll have a word with jnthn about it
moritz arnsholt: maybe just do it as an .UPDATE method until we have a better idea
grondilu Are you going to add this in the test suite to avoid degradation in future? 11:53
Because really: it used to work.
moritz yes, but it relied on a bug
I know how why it used to work
11:53 benabik joined
moritz "how and why" 11:54
grondilu ok
moritz but when we fix this bug, it won't work the way you want it to work
grondilu :(
why not??
moritz because the arity of the callable that you pass to .map decides how many arguments maps passes to the callable 11:55
and your takes as many arguments as it wants
but let me propose
r: .say for map *.fmt('%x'), ^16
p6eval rakudo b64c1e: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤a␤b␤c␤d␤e␤f␤»
grondilu oh that's nice 11:56
moritz that works, will continue to work, and is even shorter :-)
grondilu thanks!
I totally forgot about the fmt method
grondilu happily edits his Digest module :) 11:57
hum. hang on 11:58
masak moritz: is it really .arity that's Inf, and not .count? :) 11:59
grondilu If it's a matter of arity, why 'sub a($a, $b) { sprintf $a, $b }; .say for map &a.assuming('%x'), ^16' does not work?
moritz masak: it's .count 12:00
grondilu: because .assuming doesn't create the correct signature
grondilu: it creates a wrapper with signature (*@pos, *%named), and that leads to wrong introspection 12:01
grondilu ok
masak b: sub x( *@a ) { "hep!" }; .say for map &x, ^16 12:02
p6eval b 922500: ( no output ) 12:03
masak alpha: sub x( *@a ) { "hep!" }; .say for map &x, ^16
moritz there's no more alpha on p6eval
masak ah, ok.
maybe just as well. 12:06
I finally realize that I'm no longer an alpha user. :)
I was, perhaps longer than most, after ng landed.
arnsholt masak: jnthn is off doing dayjobby things for most of today, no? 12:07
masak but now I'm a stubborn Beijing holdout instead. and perhaps even those days are over, now that infosophy++ has ported over .changed et al.
arnsholt: yes, he's teaching at a client today. which means offline.
arnsholt That's what I thought. I'll drop him a not via phenny then
frettled arnsholt: not a knot? 12:08
masak .oO( note to language designers: in English, the words "not" and "note" are too close to each other. not good. ) 12:09
frettled It can make a not out of something of note.
arnsholt phenny: tell jnthn moritz++ has uncovered an interesting use-case I hand't thought of. Sometimes we'll create a complex structure, send it off to C to be twiddled and do something with the resulting structure 12:10
phenny arnsholt: I'll pass that on when jnthn is around.
arnsholt phenny: tell jnthn Except now we won't pick up on that change, since the array is already populated. We need to write barrier, either implicitly after every call, or explicitly from user code, I think 12:11
phenny arnsholt: I'll pass that on when jnthn is around.
12:11 leprevost left 12:13 bip` is now known as geistteufel 12:16 bluescreen10 joined
lichtkind masak: i wrote unicode not utf-8 12:17
masak lichtkind: ok. I commented on $*ENC, not Unicode/UTF-8. 12:18
"Unicode", despite some signs to the contrary, is not an encoding. :) 12:19
lichtkind masak: so there is an $*ENC
i know
masak I would say there is an $*ENC, yes. 12:20
but I'm curious why you think it's gone, or going.
lichtkind masak: because its not in the tablets :)
12:21 sporous left, sporous joined
masak that seems an odd reason to me. 12:21
dalek blets: 0ef08c6 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
repair zip entry
lichtkind masak: i looked really hard when i made the category, is there a %?ENC ? 12:26
moritz grep can tell you in a second
or ack :-)
masak yes. %?ENC exists.
in fact, before I replied earlier, I used ack just to make sure.
lichtkind its not in feather.perl6.nl/syn/S28.html 12:27
masak ok. it probably should be.
daxim a fine blaag entry, tadzik
masak lichtkind: are you philosophically opposed to using `grep` or `ack` on the spec dir?
lichtkind i did it today several times 12:28
meaning grep
my point was more in adding it to s28 12:29
masak go right ahead.
forgiveness > permission 12:30
12:30 NamelessTee joined
lichtkind ath what btw is $?NC 12:33
ath what btw is $?NF
i see it nowhere explained just in signatures
masak S28-special-names.pod 12:34
266:$?NF -- unicode normalisation form
lichtkind: seems you can get most of your answers here: en.wikipedia.org/wiki/Unicode_equiv...malization 12:35
let me know if there is something else you'd like me to Google for you. ;)
masak is just kidding -- he uses Duck Duck Go, of course 12:36
moritz
.oO( let me ddg that for you :-) )
12:37 ab5tract joined
lichtkind sounds like dig 12:40
digg
*
there seemes to be no $*ENC only $?ENC
masak: i acked that myself :) 12:41
masak aye. 12:43
[Coke] can you digg it? 12:44
masak I sometimes confuse %-twigil and ?-twigil variables. they're different, but both are related to configuration of different kinds.
the er, *-twigil.
the ?-twigil variables like %?ENC are meant to be read-only at runtime. 12:45
dalek blets: 4998d08 | (Herbert Breunung)++ | docs/appendix- (3 files):
adding $?NF and $?ENC
12:47 uniejo joined
[Coke] oh, from backscroll a long time ago: please let's not duplicate perl 5's version number/objects/mess. 12:47
12:47 brrt joined
masak please be more specific. 12:48
moritz what should we do instead? :-)
lichtkind masak: so in $?NF is a routine?
masak lichtkind: I don't think so -- what makes you think that? 12:49
if it contained a routine, it would probably have the & sigil.
lichtkind masak: that this normalisation is an algorithm
masak lichtkind: yes, but 'NF' stands for 'normalization *form*', which is not an algorithm.
moritz $?NF is probably the name of a normalization form
lichtkind moritz: are you sure? 12:50
masak that would be my guess too.
maybe contained in a nice little enumeration or something.
moritz C, D, KC, KD
see also: perldoc Unicode::Normalize
lichtkind i ask tim :)
colomon n: say (3/2).perl 12:54
p6eval niecza v16-23-gaa61ed5: OUTPUT«<3/2>␤»
colomon r: say (3/2).perl
p6eval rakudo b64c1e: OUTPUT«3/2␤»
masak r: say <3/2>.perl
p6eval rakudo b64c1e: OUTPUT«"3/2"␤»
masak r: say <3/2> 12:55
p6eval rakudo b64c1e: OUTPUT«3/2␤»
masak r: say 3/2
p6eval rakudo b64c1e: OUTPUT«1.5␤»
masak huh! :)
why should these last two be different?
oh wait -- because full <> magic isn't implemented yet, I guess.
moritz because smart < > isn't implemen... right
colomon r: say <3/2>.WHAT 12:56
p6eval rakudo b64c1e: OUTPUT«Str()␤»
colomon n: say <3/2>.WHAT
p6eval niecza v16-23-gaa61ed5: OUTPUT«Rat()␤»
masak n: sub foo(Rat $r) { say "OH HAI" }; foo <3/2> 12:58
p6eval niecza v16-23-gaa61ed5: OUTPUT«Potential difficulties:␤ $r is declared but not used at /tmp/GrzdqIgRvC line 1:␤------> sub foo(Rat ⏏$r) { say "OH HAI" }; foo <3/2>␤␤OH HAI␤»
masak n: sub foo(Rat $) { say "OH HAI" }; foo <3/2>
p6eval niecza v16-23-gaa61ed5: OUTPUT«OH HAI␤»
moritz n: say <3/2>.what
p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Unable to resolve method what in class Rat␤ at /tmp/gsxhJqpzyw line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65) ␤ at /home/p…
moritz n: say <3/2>.WHAT
p6eval niecza v16-23-gaa61ed5: OUTPUT«Rat()␤»
moritz n: say <3/2>
p6eval niecza v16-23-gaa61ed5: OUTPUT«1.5␤»
moritz I'm pretty sure that's supposed to say 3/2 instead 12:59
preservation of string forms etc.
masak n: .say for <the judges were 5/2 in favor>
p6eval niecza v16-23-gaa61ed5: OUTPUT«the␤judges␤were␤5/2␤in␤favor␤»
masak n: say <5/2>
p6eval niecza v16-23-gaa61ed5: OUTPUT«2.5␤»
masak huh!
moritz logic, it's not. 13:00
n: say <a 5/2>[1].WHAT
p6eval niecza v16-23-gaa61ed5: OUTPUT«RatStr()␤»
colomon doesn't the .... oh 13:01
huh
13:01 tokuhirom joined
tadzik daxim: thank you, kind sir 13:02
dalek blets: 7ae5661 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
linking logical ops to glossary
13:03
moritz the problem is really the spec saying 0.5.perl needs to return <1/2> 13:04
masak that doesn't feel round-trippy to me.
moritz if niecza returned a RatStr for <1/2>, .perl wouldn't round-trip
masak <1/2> is not exactly equal to 0.5
moritz well, it is in niecza 13:05
13:05 PacoAir joined 13:10 machine1 left 13:11 grondilu left 13:12 kresike left 13:14 machine1 joined 13:16 noam_ left, mucker joined 13:20 noam joined
dalek kudo/nom: 11c0ab8 | moritz++ | src/core/ (2 files):
be more robust when .count is Inf

but does not cover all cases yet
13:22
ast: caf19ee | moritz++ | S02-types/mixed_multi_dimensional.t:
rakudo unfudges
13:23 skids joined
masak twitter.com/AshBerlin/status/194774960533798913 -- I think this counts as an autopun. 13:49
maybe. 13:50
13:50 kaleem left
mucker o/ #perl 13:55
colomon \o 13:56
arnsholt \o\
moritz /o/ 13:57
arnsholt \o/
frettled /o\
masak (though this is #perl6) :P 13:58
moritz |o|
mucker wer'e still perl though :) 13:59
colomon tie fighter!
frettled <o>
masak oh, sure. some would even argue that we're *more* Perl than Perl 5, because of the higher version number.
masak hides
frettled Yes, our version number (rakudo) is at 2012.something! 14:00
moritz speaking of that version number 14:01
mucker fglock: there ?
moritz when should we do our rakudo+nqp point releases to base the star release on?
fglock mucker: hi
phenny fglock: 23 Apr 23:48Z <japhb> tell fglock See gist.github.com/2474657 -- even if it will be some time before perlito6.js can compile rc-forest-fire, it would be nice to stop it from endlessly looping the same error messages. :-)
mucker fglock : in src5/lib/Perlito5/Expression.pm and other files, the keyword .. token is used with a diff syntax. How is it possible ?? 14:02
PerlJam moritz: now? :)
fglock "token" is a subroutine that implements a recursive descent parser, it is implemented at Perlito5::Grammar::Regex; it is only used internally by the compiler 14:04
it is not a keyword, it just looks like one 14:05
mucker it doesn't look like a sub declaration . is it a preprocessor or something ?? github.com/themucker/Perlito/blob/...r/Regex.pm 14:08
14:11 zhangkaizhao joined
PerlJam mucker: are you asking how "token token" can exist on line 21? 14:12
mucker yup
fglock it is an implementation of a perl 6 grammar; in perlito5 it is used internally to specify some parts of the syntax
14:12 JimmyZ joined
colomon just added the ability to write multiple notes on a stem (ie explicit chords) to ABC. :) 14:12
fglock "token token" is possible because the compiler is bootstrapped
it knows how to compile "token" because it already know how to compile token... 14:13
masak colomon++ 14:14
fglock: there's always something ticklish about describing metacircular loops.
colomon masak: turns out my strange music performance needs are leading to the need for lots of ABC improvements. :)
masak like it's playing around very close to the concept of infinity.
colomon: scratching ones own itches FTW.
mucker fglock: Perlito 5 has a translation backend to Perl5. So I am guessing that's where token gets translated to perl5
fglock if you look at the definition of token token, you will see the place where it generates perl5 code: my $source = ... perl code ... 14:16
this is then compiled to AST, and re-emitted (as perl5 or js)
it is really a "macro" 14:17
"token" is recompiled as a named subroutine
named method, actually
this is just a convenience, the compiler could be written without this 14:18
masak masak's first law about macros: everyone wants everything to be a macro. :)
fglock yes, macros are fun 14:19
masak they are!
jaffa4 I had a strange problem 14:20
look: if %priorities{@values[*-1][0]}<%priorities{$next_op}
moritz use spaces around infix operators
it's advice i give to anybody who listens
mucker fglock: o_0 ... must dig deeper :) 14:21
moritz and even to those who don't listen
jaffa4 I suspected so
So what did the parser think instead? 14:22
mucker fglock: one last question, who compiles, /Perlito5/Grammar/Regex.pm ? Or is it already bootstrapped and we need not worry about that
14:23 wtw left
masak jaffa4: it thought that the < was the start of a literal hash key. 14:23
jaffa4: like in %hash<foo>
moritz jaffa4: we've discussed exactly that before, see irclog.perlgeek.de/perl6/2012-04-11#i_5427618 and irclog.perlgeek.de/perl6/2012-04-11#i_5427623
<moritz> jaffa4: for example a < directly after a term can be parsed as a hash subscript. Unless you put a space before it
jaffa4 great 14:24
practice makes perfect. 14:25
masak jaffa4++ # :D
moritz++ # for patience and a good memory
PerlJam moritz++ especially for patience. 14:26
There's not enough of that in the world.
moritz and sometimes there's too much of that in the world. 14:27
14:27 PacoAir left
masak feels stressed out just thinking about all the lack of patience in the world 14:27
eiro hello.world()
masak, any idea about the plan of the perl6 swedish team to join fpw ? 14:28
fglock P::G::Regex is a perl5 file, with a few "token" declarations - so it can be compiled with perlito5 itself; that's what happen when you run: node perlito5.js -I./src5/lib -Cjs src5/util/perlito5.pl > perlito5-new.js
masak eiro! \o/
14:29 alvis`` left
masak eiro: as far as I know, jnthn+masak are set to join fpw. we both had our talks accepted, and at least I have confirmed my talk. 14:29
fglock eiro: o/
eiro (we're talking about gold right now)
masak .oO( au )
eiro fglock, \o/
masak from an API standpoint, I wouldn't call a noun "hello" and a verb "world", by the way :P 14:30
fglock mucker: "token" is there for historical reasons; perlito5 was initially bootstrapped using perl6 (perlito6), and it was then rewritten in perl5; but "token" was nice to have arround 14:31
around
eiro fglock, i don't remember about you joining fpw: can this happen ?
mucker fglock: understood
fglock eiro: I don't know, it depends on $job (I don't think it will happen)
eiro masak, sure... but perl6 is so weird it will have a sense. maybe it can be a perl6 idiom.... the perl6 vernoun
14:32 mucker left
eiro fglock, any other perlito contributor to make us dream ? 14:33
masak, can you tell me about your travel? are you ok to share the room with jnthn ? any chance to make tadzik join us ? 14:35
masak as to that, you'll have to ask tadzik ;) 14:36
(who is not (yet?) part of the Perl 6 Swedish team)
eiro: I'm ok with sharing a room with jnthn. I don't know much about our travel so far. I'm fine with settling details soonish, though. 14:37
eiro masak, ~ 350€ for both of you is reasonnable ? (it's just an approx) 14:39
masak that sounds about right. 14:40
eiro ok... i write it for the moment
masak especially if we book ahead.
fglock eiro: I'll ask around
flussence golf time! www.reddit.com/r/perl/comments/spsl...efficient/ 14:41
eiro fglock, please do it quickly. the sonner we know, the better your stay will be
masak flussence: [\+], done. :) 14:43
flussence \o/
masak it's humbling to remember that we were once all beginners, and would write code like the original poster did. 14:44
PerlJam I'm pretty sure I *never* wrote code like that. 14:45
masak was just waiting for someone to say that :) 14:46
PerlJam: well, but generalizing, I think we've all momentarily forgotten that the computer is there to automate tasks for us.
PerlJam or, more accurately, I started to write it and then quickly became frustrated at the tedium and then started searching for a better way.
But that would have been in BASIC about 30 years ago.
moritz I asked myself that very question. Yes, I did write rather repetitive code 14:47
masak nowadays it seems much of the trick to programming is applying just the right amounts of automation to a problem.
PerlJam masak: aye, I'll agree with that.
moritz but no, not quite as bad as the reddit OP
PerlJam masak: also, the right amount of "engineering" too. 14:48
brrt i've written code like that, in basic as a matter of fact
never really got far that way 14:49
jaffa4 r: say "0" ~~ 0
p6eval rakudo 11c0ab: OUTPUT«True␤»
PerlJam I've got a coworker who can not seem to help himself when it comes to solving problems. He immediately jumps to the generalization and expands the scope to include "normalizing" the design even when it's not warranted
14:50 agentzh left
masak PerlJam: nowadays, such repetition and avoidance of the conveniences of loops is one of the things I find hardest about reviewing code from absolute beginners. the other is not abstracting magic values enough, and spreading them all through the code. 14:50
TimToady
.oO(he should be a language designer... :)
PerlJam masak: I wonder if, one day, we'll look at the code we write today in much the same way as we look at the OP's code? Just yesterday I was looking at a nested loop I wrote in Perl 6 and thought, "why the hell did I do that instead of use the xx and X operators?" 14:51
(then I promptly rewrote the looping to use those ops :)
masak PerlJam: yes, I think that's inevitable.
TimToady the new tools are shinier, and sometimes better 14:52
jaffa4 xx and X are, they lazily evaluated?
flussence I really like those metaops, it's like SQL without the COBOL.
TimToady but sometimes you actually want a hammer
masak jaffa4: yes.
PerlJam It's all about what conceptual tools we have in our toolbox I guess. If you don't have the idea of "loops", you write them out long-hand.
If you don't have the idea of the X op, then you write out a loop
14:53 uniejo left
JimmyZ cpanratings.perl.org/user/psaperl 14:53
masak PerlJam: I had a mini-realization during the Oslo hackathon, that that's how current modern languages will eventually grow old. there's just no way we can accurately predict our needs 50 or 100 years down the road. eventually the syntax can't keep up with all the new demands.
JimmyZ I'm sad 14:54
PerlJam masak: it's a good thing Perl 6 can adapt ;)
jaffa4 How can Perl adapt?
PerlJam jaffa4: it's meta-enough that it can rewire itself. 14:55
masak PerlJam: yes, that seems to be one of the goals. we're not there yet in terms of implementations, though.
PerlJam we'll get there eventually. 14:56
TimToady we can see both sides of that mountain, and have already tunnelled most of the way through
moritz the problem is that much of the syntax rewritability in Perl 6 is new 14:57
and it might need a few generations to become really good
PerlJam oddly I was thinking it was kind of like driving towards mountains in the desert southwest US. You've driven for hours and the mountain doesn't look any closer, but it is. And if you keep driving, you'll get there at some point.
TimToady well, that's one problem; we don't really know what syntax we want for the slang tweaking 14:58
the other problem is, of course, performance of the parser
masak PerlJam: sounds like a scene in "Monty Python and the Holy Grail".
mikec hey, i've been trying the latest MiniDBI::Pg. all the tests pass (woo!) but in my own code, i get a segfault after executing fetchrow some number of times 14:59
masak PerlJam: this one: www.youtube.com/watch?v=GJoM7V54T-c 15:00
mikec is there something i can try/help with? 15:01
moritz mikec: can you please use MiniDBI as of a7cfbbe8f7c3236f496738faf57e629871fead99 and see if it segfaults with that version too?
PerlJam masak: heh
moritz mikec: that's the last commit before I switched MiniDBD::Pg to prepared statements 15:02
mikec moritz: sure
15:04 uniejo joined
masak PerlJam: I've also heard the argument that strong AI will develop like that. that it will be developed in a long stretch which looks like no progress at all, and then suddenly already developed components will self-reinforce and lead to a sudden result. 15:06
PerlJam and skynet will be written in perl 6
moritz you mean it isn't already? :-) 15:07
masak will have been being written in perl 6
PerlJam We could ask Damian ... he does that time-travel thing all the time.
TimToady only if we get the parser reading Perl 6 as fast as a human does...oh wait, it already does that
flussence reads some of the p5p thread from JimmyZ's link and backs away slowly
(are they always that crazy?)
TimToady no, sometimes they're crazier...</rimshot> 15:09
PerlJam that would be funny if it weren't true.
TimToady some things can be funny and true too 15:10
masak rjbs++ # www.nntp.perl.org/group/perl.perl5....83053.html
PerlJam that one would be sadly funny then. The laughter would be of despair.
masak will the Perl 6 community have such email threads too, if/when Perl 6 takes off enough? 15:11
TimToady absolutely
masak yeah. I don't see why not.
moritz it almost makes me wish for Perl 6 to stay small. Almost.
TimToady but hopefully also with the sane people keeping the peace as well 15:12
masak "It's not what you do, it's what you do after", eh? :)
that's why I ++'ed rjbs.
PerlJam You can't only ever get just the pleasant parts of an ecosystem
But you can look for signs where not to step
TimToady
.oO(The best of all possible worlds is not the best of all possible worlds, but one of those in the middle.)
15:13
masak that's how I feel when I play Go. 15:14
mikec moritz: still segfaults. this is a fresh rakudo install so i could have done something wrong, but the tests seem ok
masak if I ever use a tactic too extremely, it becomes a weakness that the opponent will use against me.
15:15 alvis`` joined
moritz mikec: unlikely; if you did something wrong, you'd get an error while loading the modules 15:16
15:17 alvis`` left
moritz mikec: can you give me a backtrace please? 15:17
15:18 spaceships joined 15:19 alvis joined 15:21 araujo left 15:22 araujo joined 15:26 alvis left 15:27 flussence left
mikec moritz: sure, what kind of backtrace? 15:28
15:28 awwaiid_ is now known as awwaiid
TimToady doesn't mix up "not" and "note" nearly as often as he mixes up "not" and "now". 15:29
...which does now make me very happy...
masak :P 15:30
15:35 fglock left
frettled TimToady: how about know, now? 15:40
TimToady that to.
15:41 flussence joined 15:42 thou joined
PerlJam hot not brown cot ? 15:42
masak wonders if he makes any such mistakes in Esperanto, which has a 1-to-1 letter/sound correspondence
seems I make other kinds of errors instead. 15:43
15:43 sftp joined
PerlJam self-knowledge is half the battle 15:44
15:44 dagelf joined
TimToady flussence: xx and X are lazy, but only on one side (though for different reasons) 15:44
well, technically, X is lazy on both sides, but if you put an infinite list on the right you'll never find the second value on the left 15:47
masak good thing actual infinities don't exist. :P
TimToady perl6: .say for 1..* X* 1..* 15:48
p6eval niecza v16-23-gaa61ed5: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤8
..rakudo 11c0ab: OUTPUT«(timeout)»
..pugs: OUTPUT«*** ␤ Unexpected "1"␤ expecting operator␤ at /tmp/HKYo4Wy2xB line 1, column 18␤»
masak PerlJam: I read that as "self-knowledge is half the bottle", and thought you were advocating a booze-based spelling strategy. :)
TimToady ooh, rakudobug! 15:49
masak submits it
TimToady it's evaluating the RHS eagerly
masak aye.
PerlJam predicts that there will be many (more) bugs of the "insufficient laziness" variety. 15:50
masak TimToady: what's the category for X again? infix_prefix?
TimToady list_infix 15:51
though the spec is perhaps misleading when it says "Only the leftmost list may usefully be an infinite list."
$prefix X~ @infinitelist is potentially useful
masak aye. 15:52
15:52 goraki joined
colomon +1 15:52
15:52 Patterner left, tokuhirom left 15:53 Psyche^ joined, Psyche^ is now known as Patterner
PerlJam Have you guys seen shelr.tv/ ? 15:56
masak decommutes 15:58
16:00 alvis joined, thelazydeveloper joined
dalek ecs: ba1bf15 | larry++ | S03-operators.pod:
sometimes X like an infinite list on the right
16:01
16:05 brrt left 16:11 ashleyde1 is now known as ashleydev 16:16 JimmyZ left 16:19 jerome_ joined
moritz mikec: C-level 16:26
16:46 xinming joined, Chillance joined 16:49 xinming_ left 16:52 s1n left 16:53 PacoAir joined
colomon TimToady: I think I'd replace "In this last case it's okay to have an infinite list on the right." with "In this last case it's sensible to have an infinite list on the right." It's always okay to have an infinite list on the right, it's just not particularly useful most of the time. 16:56
16:58 dakkar left 16:59 REPLeffect joined 17:05 s1n joined 17:10 s1n left
colomon is wishing acciaccatura where not the correct technical term, because it's a pain to spell 17:11
sorear good * #perl6 17:12
17:14 zhangkaizhao left
colomon \o 17:15
moritz sorear, colomon o/
colomon moritz! 17:16
moritz the very same :-)
17:19 birdwindupbird left
colomon sorear: FIRST and LAST don't work yet, right? I just found a handy use case for them in the ABC code. ;) 17:19
sorear Right 17:20
TimToady keeps wishing for a way to specify a subscript before the array subscripted, and wonders if 42.@foo can sanely be made to do that (assuming we de-spec the current speckage of .@foo) 17:21
colomon TimToady: !!!! why?
TimToady to keep left-to-right flow, and to allow *.@foo 17:22
currently we must write { @foo[$_] } for that
which is a bit clunky
sorear I am not opposed 17:23
colomon for what it's worth, that makes me frown.
TimToady and an array is essentially a function
colomon (the proposed fix, that is, not the problem.)
sorear to the concept, anyway
17:24 wolfman2000 joined
TimToady more interested in the reversal than the succinctness 17:24
sorear I'm pretty sure I've seen lan guages use @foo.42, which makes me think 42.@foo would be confusing
I think J did indexing as 42{@foo, but probably best not to copy that syntax 17:25
17:25 s1n joined
TimToady well, maybe not directly confusing, but @foo.@bar might be confusing in a DIHWIDT way 17:26
colomon sorear: new to me niecza error:
Unhandled exception: Unable to resolve method from in class
P6+{term:sym<∅>},{infix:sym<∈>},{infix:sym<(elem)>},{infix:sym<∉>},{infix:sym<∋>},{infix:sym<(cont)>},{infix:sym<∌>},{infix:sym<∪>},{infix:sym<(|)>},{infix:sym<∩>},{infix:sym<(&)>},{infix:sym<(-)>},{infix:sym<(^)>},{infix:sym<⊆>},{infix:sym<(<=)>},{infix:sym<⊈>},{infix:sym<⊂>},{infix:sym<(<)>},{infix:sym<⊄>},{infix:sym<⊇>},{infix:sym<(>=)>},{infix:sym<⊉>},{infix:sym<⊃>},{infix:sym<(>)>},{infix:sym<⊅>},{in
m<⊍>},{infix:sym<(.)>},{infix:sym<⊎>},{infix:sym<(+)>}
sorear blinks 17:27
location?
moritz there's a class that all those operators and terms mixed in?
TimToady 42 from @foo # maybe he's playing with this kind of thing
colomon at /Users/colomon/tools/niecza/src/STD.pm6 line 3075 (P6.infix:lambda @ 29)
at /Users/colomon/tools/niecza/src/STD.pm6 line 0 (STD.infix @ 3)
at /Users/colomon/tools/niecza/src/STD.pm6 line 3157 (P6.infixish @ 42)
at /Users/colomon/tools/niecza/src/STD.pm6 line 4582 (ANON @ 7)
(etc)
I think this is the code in question: 17:28
$lilypond ~= "\\grace \{" ~
if $element.value.notes == 1 {
sorear oh, no wonder I never noticed that bug
colomon obviously an error
sorear infix:lambda is not called ever when parsing correct code
colomon sorear: clearly you need to write more incorrect code. ;)
colomon is always glad to be of service that way... 17:29
17:30 zhangkaizhao joined
sorear colomon: can you hold on to the testcase for a couple hours? 17:30
colomon sorear: I will duplicate it for future reference for you, but I kind of need to fix my bug ASAP. 17:31
colomon needs to have this score ready for rehearsal at 7 tonight.
17:35 machine1 left 17:36 wolfman2000 left
colomon now has grace notes working! 17:36
17:36 birdwindupbird joined
moritz \o/ 17:37
17:38 jaldhar joined
masak home 17:39
17:40 machine1 joined 17:41 fglock joined 17:47 xinming_ joined
dalek kudo/nom: b1d764d | moritz++ | docs/ChangeLog:
update ChangeLog
17:48
moritz ok, here's the big question: should the rakudo point release get its own release number and name? 17:49
17:49 xinming left
PerlJam well, it's going to have it's own number :) 17:50
but, I don't have a problem with eliding the name
moritz ... release #51.5 ("Brazos Valley 1.5") 17:51
benabik .5 ?
moritz we already had a release in 2012.04
we just want to release something with the results of that awesome hackathon 17:52
benabik Ah.
moritz to be able to base an R* release on it
17:52 zhangkaizhao left
pyrimidine \o/ # Brazos Valley 17:52
PerlJam Call it "Brazos Valley Star" :)
[Coke] don't want to wait a month to cut the next *?
moritz PerlJam: that will confuse everybody, since it's not the star release :-)
pyrimidine I happened to go to college there, way back when 17:53
PerlJam or "Brazos Valley Oslo"
moritz [Coke]: no, don't wanna wait, we already skipped the March star release
PerlJam: :-)
PerlJam wonders when we'll start synchronizing the R* releases to linux dist releases. 17:54
moritz PerlJam: of which linux distro? :-)
17:54 pochi joined
PerlJam indeed :) 17:55
dalek rl6-bench: f6f5ec2 | (Geoffrey Broadwell)++ | TODO:
Add a first cut TODO file
PerlJam moritz: actually, the real questions is ... how do we sponsor hackathons more often and prior to releases?
[Coke] ask karen @ TPF for a sixathon hackathon grant? 17:56
moritz grant is not enough, we also need an organizer
PerlJam yep
moritz the next big meeting will probably be YAPC::EU in Frankfurt 17:57
[Coke] would volunteer Albany.pm except we don't exist. ;)
who is going to YAPC::NA this year?
aloha, going to YAPC::NA 2012?
aloha, seen me?
aloha [Coke]: me was last seen in #parrot 247 days 16 hours ago saying "how many messages do I have?".
PerlJam [Coke]: are you going to YAPC::NA this year? 18:01
dalek kudo/nom: e126aa9 | moritz++ | docs/announce/2012.04.1:
add early release announcement for a 2012.04.1 point release
18:03
18:03 sisar joined
moritz feedback welcome 18:05
18:10 imarcusthis joined
dalek kudo/nom: a83a4ba | moritz++ | docs/announce/2012.04.1:
[announce] say thanks to Oslo.pm
18:12
jnthn evening, #perl6 18:17
phenny jnthn: 12:10Z <arnsholt> tell jnthn moritz++ has uncovered an interesting use-case I hand't thought of. Sometimes we'll create a complex structure, send it off to C to be twiddled and do something with the resulting structure
jnthn: 12:11Z <arnsholt> tell jnthn Except now we won't pick up on that change, since the array is already populated. We need to write barrier, either implicitly after every call, or explicitly from user code, I think
moritz \o jnthn
jnthn is exhausted 18:18
phenny: tell arnsholt is it more complex that checking the underlying pointer of the child object matches the one in the real struct, and just updating the child object before returning it if so? 18:20
phenny jnthn: I'll pass that on when arnsholt is around.
jnthn phenny: tell arnsholt s/that/than/ 18:21
phenny jnthn: I'll pass that on when arnsholt is around.
jnthn phenny: also, s/if so/if not/
...yeah, exhausted indeed :)
18:21 s1n left
fglock reading about google drive - perl in the browser could use the API to simulate a hard disk 18:25
may be good for perl training some day
18:27 uniejo left 18:38 daxim left, s1n joined 18:39 cognominal joined
arnsholt jnthn: I acually think we can get away with just setting the child_obj pointer to NULLwhen updated 18:40
phenny arnsholt: 18:20Z <jnthn> tell arnsholt is it more complex that checking the underlying pointer of the child object matches the one in the real struct, and just updating the child object before returning it if so?
arnsholt: 18:21Z <jnthn> tell arnsholt s/that/than/
jnthn arnsholt: How do we know when it's updated? 18:41
moritz r: sub f { 2, :foo<bar> }; say f().perl
p6eval rakudo e126aa: OUTPUT«(2, "foo" => "bar")␤»
18:42 ajs joined
moritz r: sub f { return 2, :foo<bar> }; say f().perl 18:42
p6eval rakudo e126aa: OUTPUT«(2, "foo" => Mu)␤»
ajs Sorry, got boused
bounced
moritz ok, works without &return
18:42 ajs is now known as Guest19086, cognominal_ left
Guest19086 hmm... interesting. 18:42
18:42 Guest19086 is now known as ajs_noreally
jnthn arnsholt: As in, what if C land diddles with the struct later? 18:43
ajs_noreally r: say try { die("a") }
p6eval rakudo e126aa: OUTPUT«a␤ in block <anon> at /tmp/jERwR_AVXh:1␤␤»
moritz it should really return Nil, but currently it returns the exception
ajs_noreally Ah, OK. I was wondering why this returned Nil:
r: say try { die("a"); CATCH { return "b" } } 18:44
p6eval rakudo e126aa: OUTPUT«Nil␤»
jnthn ...which wsa OKer when the Exception was false in boolean context, I guess :)
arnsholt C fiddling with it later is a good point
moritz r: return 'b'
p6eval rakudo e126aa: OUTPUT«Attempt to return outside of any Routine␤ in block <anon> at src/gen/CORE.setting:340␤ in block <anon> at /tmp/1CxUi9c7lA:1␤␤»
moritz that's what it should do 18:45
jnthn uh
moritz because you're not inside a routine
jnthn I suspect it does
but then the try catches that exception
maybe
:)
arnsholt Vut after return it would indeed be a simple matter of checking the pointers for equality
jnthn arnsholt: Vat if the update comes later, e.g. callback style?
arnsholt AFAICT at least
Yeah, that one's harder 18:46
moritz jnthn: iirc CATCH shouldn't have anything to do with return
arnsholt (With apologies for spelling. On phone)
jnthn moritz: Agree, but the exception thrown when you attempt to return outside of any routine is a normal exception.
moritz jnthn: oh, right 18:47
jnthn I don't think it's doing the right thing overall, mind.
But that's probably why it's doing something odd.
18:47 xinming joined 18:49 LylePerl left 18:50 xinming_ left
ajs_noreally Yeah, that's just me mis-using return... I tried some permutations (assigning to $!, succeed, etc) 18:51
jnthn -> dinner
ajs_noreally But if try isn't supposed to have a return value, that solves my problem (perhaps not in the way I wanted ;-) 18:52
It would have been nice to be able to say "my $foo = try { something_dangerous() };
Rather than "my $foo; try { $foo = something_dangerous() }" 18:53
tadzik eiro: I'm fine with sharing rooms :)
eiro: that said, I can't tell (yet) if I'll be at FPW 18:54
I'd love to, but I can't yet guarantee that I won't have my exams then
ajs_noreally I suppose it's easy enough to define it myself... 18:55
18:56 kaare_ joined
colomon huh. Apparently putting a chord in a 2nd ending makes the ABC parser loop forever. :( 18:57
ajs_noreally r: sub attempt(&block) { my $ret; try { $ret = &block() }; return $ret; }; my $foo = attempt { die("a") }; say $foo; my $bar = attempt { "b" }; say $bar; 18:59
p6eval rakudo e126aa: OUTPUT«Any()␤b␤»
18:59 |newbie| joined
ajs_noreally That works 18:59
18:59 |newbie| left 19:02 s1n left 19:07 fhelmberger left 19:09 fglock left 19:10 ajs_noreally left
colomon n: say "[K:G] [G3/2 D3/2]B,/2 B,3/2[B/2 G/2]" ~~ / '[' <alpha> ':' $<value>=[.*?] ']' /; 19:13
p6eval niecza v16-23-gaa61ed5: OUTPUT«#<match from(0) to(5) text([K:G]) pos([].list) named({"alpha" => #<match from(1) to(2) text(K) pos([].list) named({}.hash)>, "value" => #<match from(3) to(4) text(G) pos([].list) named({}.hash)>}.hash)>␤»
sorear I'm back for a moment 19:15
19:16 s1n joined
colomon sorear: the above bit just went completely wrong in the ABC grammar -- did something like .* instead of .*? 19:17
sorear colomon: perhaps because of automatic end anchoring? 19:19
colomon I don't think that can be it... hmmm. 19:21
colomon is adding tests directed at this issue.
19:22 icwiener joined
lichtkind is .slice an alias to lol() ? 19:24
sorear no, .slice is an obsolete name for .lol
actually it might be .tree now, I can't keep up 19:25
lichtkind :)
so i should remove .slice?
sorear Probably
masak yes, .lol used to be spelled .slice 19:26
dalek blets: 5079632 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
replacing slice in snippets
19:27
19:28 sergot joined
sergot Hello o/ ! :) 19:28
moritz sorear: if you have a list (or parcel) of parcels, .lol returns a LoL. .tree returns a list with itemized arrays or lists init
sorear: at least that's my current understanding :-)
\o sergot
sergot I'm back at home. I slept the whole day :) 19:29
tadzik :)
I'm not suprised
sergot And... I feel better. :)
moritz \o/
masak sergot! \o/
tadzik I'm not used to waking up at 3:30 either 19:30
good to hear that :)
sergot \o/ masak !
:)
masak sergot: I just want to say -- it was great to meet you. glad you came along to Oslo!
moritz agreed
19:30 imarcusthis left 19:31 brrt joined
sergot masak: it was nice to meet you too. Unfortunately I couldn't say it in Oslo, didn't know that You go home at Sunday. 19:31
Thank You for everything guys. :)
dalek ecs: 621ba5e | (Herbert Breunung)++ | S (3 files):
s/.slice/.lol/
19:32
moritz r: say (1, (2, 3), (4, 5)).lol.perl
colomon sorear: (or anyone...) suggestions on how to build a regex which says "any character but ]"?
p6eval rakudo a83a4b: OUTPUT«LoL.new(1, $(2, 3), $(4, 5))␤»
colomon <-[\]]> ?
moritz r: say (1, (2, 3), (4, 5)).tree.perl
p6eval rakudo a83a4b: OUTPUT«(1, [2, 3], [4, 5]).list␤»
PerlJam colomon: seems reasonable
colomon n: say "[K:G] [G3/2 D3/2]B,/2 B,3/2[B/2 G/2]" ~~ / '[' <alpha> ':' $<value>=[<-[\]]>*?] ']' /; 19:33
p6eval niecza v16-23-gaa61ed5: OUTPUT«#<match from(0) to(5) text([K:G]) pos([].list) named({"alpha" => #<match from(1) to(2) text(K) pos([].list) named({}.hash)>, "value" => #<match from(3) to(4) text(G) pos([].list) named({}.hash)>}.hash)>␤»
colomon n: say ~("[K:G] [G3/2 D3/2]B,/2 B,3/2[B/2 G/2]" ~~ / '[' <alpha> ':' $<value>=[<-[\]]>*?] ']' /;)
p6eval niecza v16-23-gaa61ed5: OUTPUT«[K:G]␤»
lichtkind LoL is a type object?
masak sergot: yeah, we missed saying good bye. good thing there's IRC, where everyone is in the same room all the time ;) 19:34
sergot masak: right! :) 19:35
tadzik even when they're not :)
sergot ;]
So.. I'll blog about Hackathon today! Hope it's not too late. :P
tadzik blog posts everyday! \o/ 19:36
19:36 imarcusthis joined
[Coke] PerlJam: it is plausible, but not a lock. 19:36
(going to yapc)
colomon won't know for another two weeks, probably 19:37
sergot tadzik: i'll have enough time to do this after ... school. :P
I'll end school at 11th May.
19:37 MayDaniel joined
sergot at? :) 19:38
moritz on
sergot moritz++ thanks :)
dalek ecs: d3ec849 | (Herbert Breunung)++ | S32-setting-library/IO.pod~:
dang i have to remove another temp file
19:39
tadzik sergot: I just meant that there's a new Oslo hackathon blog post everyday :) 19:40
sergot tadzik: oh, sorry. misunderstanding. :) 19:41
To co ma byc w Niemczech, to YAPSI, tak? 19:42
Czy jak to sie nazywalo? :)
sorry. no there
not*
tadzik haha
dalek ast: 47bf8e1 | moritz++ | S05-modifier/ignorecase.t:
test that :i affects interpolated literals too
19:43
sergot :D
masak phenny: "To co ma byc w Niemczech, to YAPSI, tak? Czy jak to sie nazywalo? :)"? 19:44
phenny masak: "What is to be in Germany, it YAPSI , right? Or, as it was called ? :)" (pl to en, translate.google.com)
masak loves it when people confuse those two :)
sergot I was talking about YAPC, not YAPSI :P
:D
19:45 MayDaniel left 19:46 vlixes joined
colomon really, really wishes the grammar debugging tools worked in Niecza. 19:46
19:48 xinming_ joined
moritz rakudo: sub foo($x? is rw) { $x = "OH HAI" }; 19:49
p6eval rakudo a83a4b: OUTPUT«===SORRY!===␤Cannot use 'is rw' on an optional parameter␤»
19:51 bluescreen10 left, xinming left, goraki left 19:57 raiph joined
masak r: my ($a is rw) = 5; say $a; $a = 42; say $a 19:59
p6eval rakudo a83a4b: OUTPUT«5␤42␤» 20:00
colomon Aha! My problem was caused by putting spaces inside my chords.
masak r: my ($a is readonly) = 5; say $a; $a = 42; say $a
p6eval rakudo a83a4b: OUTPUT«5␤42␤»
masak colomon: space chords!
colomon masak: better than space pipers!
masak lichtkind: what kind of git setup are you using that has you committing temp files into the spec? 20:01
lichtkind: also, can we help?
masak .oO( there's this nice little thing called the staging area... ) 20:02
20:02 fsergot joined, fsergot left 20:03 bluescreen10 joined
colomon masak: www.amazon.com/Space-Piper-Rare-Air...B000005COD 20:04
lichtkind masak: it was in the subdir , i didnt see that i add an ~ file 20:05
moritz the solution is pretty easy
don't use 'git add' with a subdir
20:06 GlitchMr left
moritz and also tell your editor not to write backup files next to the original file 20:06
that's just very bad habits
masak what moritz said.
doy also: a global .gitignore that includes *~ 20:07
masak I thought merge commits looked bad in the commit history, but they come a pretty distant second to accidental pushing of temp file commits.
lichtkind: do you know about 'git commit --amend'?
lichtkind moritz: my editor dies that just when you told him i used gedit as a sidekick
masak: whatsthat?
masak lichtkind: it's in the manual. enjoy. 20:08
lichtkind moritz: does that ... :)
colomon thinks he has ABC stable enough to finish the Wedding March
masak lichtkind: another good habit is to 'git add <stuff>' followed by 'git status' to see what you just did. 20:09
awwaiid likes his 'git rec' alias 20:10
masak and then, after checking, 'git commit'.
awwaiid: wotsit do?
awwaiid Acts like hg/darcs record, interactively prompting to accept individual diff chunks and then stage/committing (or abandoning) in a single step. thelackthereof.org/docs/dotfiles/.gitconfig 20:12
PerlJam awwaiid: isn't that just "git add -p" ?
awwaiid keeps me from committing things that I didn't mean to commit. doesn't actually help with newly added files though I guess
PerlJam, it is git add -p, plus some stuff that will trash it if you abort 20:13
oh, and it does the git commit too
as with many things for the git construction kit, probably just personal taste :) 20:14
PerlJam aye
masak sounds kinda neat. 20:15
PerlJam git is neat :)
it's the swiss army chainsaw of revision control systems ;)
masak it is, isn't it? 20:16
there's some funny resonance between Perl and git.
they're "alike", even across technologies.
PerlJam yep. It's one of the reason I use git, in fact.
awwaiid masak, see my above gitconfig to give git rec a whirl, and if you like it let me know :)
masak which, of course, is why Python people prefer Mercurial :P
awwaiid: will do.
PerlJam I looked at bzr, hg, and git. git just fit my brain and felt like it had the perl-nature
masak git has the Unix nature, too. 20:17
dalek blets: 8c94989 | (Herbert Breunung)++ | docs/appendix- (2 files):
added useful crosslinks for minmax and s///
20:23
20:23 envi_ left
dalek blets: 32cc840 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
put links of special vars in right case
20:29
20:33 birdwindupbird left
dalek blets: 0f9a363 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
polish entries for note and warn
20:34
colomon "YAPC::NA 2012 is officially sold out!" -- guess I'm not going this year after all 20:39
masak Perl, alive and kicking, and more sold out than ever! 20:45
dalek blets: 63617b7 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
polish entires for "words" "Whatever" and "trans"
20:46
20:50 leprevost joined
masak r: class A {}; class B { has A $.a }; say A.new(:b(B.new)); say A.new(:b(42)) 20:51
p6eval rakudo a83a4b: OUTPUT«A.new()␤A.new()␤»
masak hm, no attribute type checking yet.
doy isn't that backwards 20:52
masak oh, yes. 20:53
r: class A {}; class B { has A $.a }; say B.new(:a(A.new)); say B.new(:a(42))
p6eval rakudo a83a4b: OUTPUT«B.new(a => A.new())␤Type check failed in assignment to '$!a'; expected 'A' but got 'Int'␤ in block <anon> at src/gen/CORE.setting:598␤ in method BUILDALL at src/gen/CORE.setting:582␤ in method bless at src/gen/CORE.setting:572␤ in method new at src/gen/CORE.set…
masak oh!
jnthn++
:)
21:01 kaare_ left
masak r: say &infix:<+> 21:08
p6eval rakudo a83a4b: OUTPUT«sub infix:<+>($a?, $b?) { ... }␤»
masak r: say &[+]
p6eval rakudo a83a4b: OUTPUT«sub infix:<+>($a?, $b?) { ... }␤»
masak r: multi &[+]($a, $b) { say "OH HAI" }
p6eval rakudo a83a4b: OUTPUT«===SORRY!===␤The () shape syntax in routine declarations is reserved (maybe use :() to declare a longname?)␤at /tmp/5RS8HCRppK:1␤»
icwiener Hi, is there something like basename yet in Rakudo? When searching for it I only get Perl5 code and quite some pages which, although shown in the text example of the search hit, do not contain the word basename. 21:10
(I still have to figure out what the most promising way to find info about language feature is.) 21:12
masak r: say IO.^methods
p6eval rakudo a83a4b: OUTPUT«␤»
masak icwiener: if it's spec'd, it will be found in S16 or S32. 21:13
benabik I don't see basename in the tables.
*tablets
icwiener Oh, "^methods" is nice.
I will have a look at S16 and S32 and do it manually if I have to. :) 21:14
lichtkind benabik: what is basename? 21:15
icwiener Thanks so far. :)
lichtkind benabik: would you add it?
benabik lichtkind: It may not exist in P6. Looks like it was a module in P5. 21:16
21:18 skids left
icwiener File::basename 21:19
21:19 donaldh joined
icwiener In Perl5 21:19
Make "Foo" out of "/path/tp/Foo.txt".
*Made
21:19 betterworld left 21:22 cognominal left 21:23 goraki joined, cognominal joined 21:25 betterworld joined, ggoebel__ left 21:26 ggoebel__ joined, brrt left 21:27 goraki left
lichtkind icwiener: thanks but sounds to me as a method for the path object 21:27
icwiener lichtkind: Oh, I agree. :) 21:30
21:35 bruges_ left 21:36 icwiener left, icwiener joined 21:37 bruges joined
lichtkind what you would prefer: if linkung to a term and the term glues on top of page or is bit more down but the previous entry is visible too? 21:45
masak: any preference? 21:46
icwiener: any opinion? 21:47
21:47 lestrrat left
icwiener lichtkind: I do not understand the question. Might I have missed something during my reconnect? 21:48
21:48 lestrrat joined
lichtkind icwiener: i just had the thought it would be nicer when the item you jump to isnt glued to the top border of the page 21:49
but it might confuse some if previous entry is visible too
icwiener lichtkind: You mean on perlcabal.org/syn? 21:50
lichtkind icwiener: no on tablets.perl6.org/appendix-a-index.html#w
icwiener I think since it is the browser who does it it is 1) hard to change nicely and 2) confusing if one site does it differently than other sites. 21:51
masak ok, I wrote a solver for the boy-with-apples problem: gist.github.com/2484152 21:53
I'm very pleased with the solution.
lichtkind icwiener: thnk you 21:56
happy masak :) 21:59
21:59 alester left
dalek blets: 79add42 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
added links to index and glossary
22:08
blets: 0b4206e | (Herbert Breunung)++ | docs/appendix- (3 files):
remove depreciated \b and \B and tidy up relatives
22:09 jaffa4 left 22:16 PacoAir left
masak 'night, #perl6 22:32
colomon o\
lichtkind masak: o/ 22:34
22:39 ab5tract left 22:47 havenn joined
[Coke] moritz: you don't need to have lichtkind change his entire dev setup. all he needs is a global .gitignore 22:47
lichtkind [Coke]: yes as i have it in my other projects :)
[Coke] lichtkind: you can have a .gitignore that is global, not just per project. 22:48
lichtkind i read this page but could anyone explain me please what this $?NF is for ?
22:49 japhb_ joined
lichtkind [Coke]: you mean a .gitignore on ~ 22:49
[Coke] lichtkind: aye.
lichtkind: $?NF: is this not sufficient? "coke@feather:~/sandbox/specs$ ack -Q '$?NF'
"
japhb_ Who owns (or at least knows how to set up) dalek? I'm considering setting it up at $day_job .... 22:50
[Coke] (grepping through roast?)
lichtkind [Coke]: i just dunno what it does
[Coke]: done
22:55 donaldh left 22:56 Chillance left 23:02 skids joined 23:03 fhelmberger joined
diakopter japhb_: dalek itself just tails a file and outputs text from it. another service sorear wrote listens for post-commit hook posts from github 23:03
japhb_ diakopter, OK, fair enough. Where do I find all the pieces, so I can try to put them together? :-) 23:05
diakopter hrm 23:06
pmichaud the last commit to the 2012.04.1 release notes looks funny to me
diakopter japhb_: well, you won't be able to put them together, unless you're able to add additional post-commit hooks to all those projects on github
japhb_ diakopter, I'm actually wanting dalek (or a dalek-like bot) to run against our $day_job repos (a gitolite-managed collection of git repos) 23:08
diakopter japhb_: oh. probably best to roll your own. there's enough cruft and specialization in dalek that it wouldn't help you much I think
japhb_ We were discussing the problem of keeping people aware of changes made in the (dozens) of repos we have, and I went "Wait, I know this one!"
23:09 benabik left, NamelessTee left
japhb_ diakopter, awww. 23:09
diakopter japhb_: you'll need a web service that listens for the hook posts from github, then does whatever you want with them. emails them, builds an rss feed, posts to irc 23:10
japhb_ s/github/gitolite/?
diakopter oh; I don't know what gitolite is
pmichaud phenny: tell moritz in commit a83a4b the resulting text reads "The Rakudo developers would like to add the organizers from Oslo.pm". That doesn't read quite right to me -- what are we wanting to add them to? ;-)
phenny pmichaud: I'll pass that on when moritz is around.
diakopter japhb_: I don't know if gitolite would support pushing those notifications like github does 23:11
23:12 drbean left
japhb_ diakopter, It's a git server wrapper that manages ssh keys, creating new repos, setting (and enforcing) ACLs on repos and branches, etc. Works well at the "small enough to understand, just big enough to keep a set of work repos sanely manageable" level. 23:12
It does support post-commit hooks ... I'll see what I can find, thanks diakopter. 23:13
dalek kudo/nom: 7334a53 | pmichaud++ | docs/ChangeLog:
Typo fix; replace "infix cmp" with "&infix:<cmp>".
23:15
23:16 drbean joined, LylePerl joined 23:18 mtk left 23:21 zb left 23:23 zb joined 23:29 icwiener left
[Coke] lichtkind: from those docs: $?NF is unicode normalisation form. Str.codes and .bytes each have an $nf argument that defaults to it. 23:31
(and .encode)
(and Containers.decode) 23:32
I don't see the valid values documented anywhere, but unicode.org/faq/normalization.html makes me think that "NFC", "NFKC", "NFD", and "NFKD" are valid examples. 23:33
r: say $?NF 23:34
p6eval rakudo a83a4b: OUTPUT«===SORRY!===␤Variable $?NF is not declared␤at /tmp/v_Cg_jpnby:1␤»
23:39 jaldhar left
[Coke] p6: say $?NF 23:40
p6eval pugs: OUTPUT«*** Undeclared variable: ("$?NF",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xf6ee4a61>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0xf6ee6325>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto = <Array:0xf6e…
..niecza v16-23-gaa61ed5: OUTPUT«Any()␤»
..rakudo a83a4b: OUTPUT«===SORRY!===␤Variable $?NF is not declared␤at /tmp/btLTYpgYZ6:1␤»
dalek blets: 4fd758a | (Herbert Breunung)++ | docs/tablet-2-basic-syntax.txt:
add documenting comments and linking it
23:53
blets: 08feb85 | (Herbert Breunung)++ | docs/appendix- (2 files):
links to autogenerated toc headings are lowercase
23:55 lestrrat left 23:56 lestrrat joined 23:57 fgomez joined