»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by diakopter on 25 January 2010.
00:05 charsbar joined 00:06 xomas_ joined 00:07 kst` joined 00:08 nadim__ joined, charsbar_ left 00:09 nadim_ left, xomas left 00:11 Chillance left, kst left 00:13 kensanata left 00:18 xomas_ left 00:19 stephenlb left, payload left, payload joined 00:20 diakopter sets mode: +vv dalek pugs_svn 00:22 diakopter sets mode: -q $~a
diakopter hm 00:22
00:24 stephenlb joined, payload left
colomon pmichaud: Method 'postcircumfix:<[ ]>' not found for invocant of class 'GatherIterator' 00:33
Obviously Seq has [ ], but how can I make that work from an Iterator? 00:34
(automatically, I mean.)
TimToady postcircumfix:<[ ]> is one of those methods with a loopback out in Any or Cool or some such that can promote an iterator to a sequence 00:35
00:36 kidd` left 00:39 cdarroch left
colomon TimToady: I like the sound of that... 00:39
afk...
00:40 uniejo joined 00:43 justatheory left 00:44 nacho left 00:47 nihiliad joined
pugs_svn r29623 | lwall++ | [CORE.setting] track recent name changes 00:48
00:49 pmurias left 00:50 lestrrat is now known as lest_away 00:59 orafu joined, yinyin joined 01:00 orafu left 01:06 orafu joined 01:08 patspam left 01:09 justatheory joined
pugs_svn r29624 | lwall++ | [S07] @@ squashing 01:09
01:10 patspam joined 01:11 patspam left 01:13 patspam joined, drbean joined 01:22 lest_away is now known as lestrrat, quietfanatic joined
pugs_svn r29625 | lwall++ | [S29] more @@ and iterator patchups 01:26
01:26 quietfanatic left
pugs_svn r29626 | lwall++ | [S13] *@@ ---> **@ 01:29
r29627 | lwall++ | [S32/Containers] last @@ removal not counting S09 01:33
diakopter TimToady: typo in r29625 01:36
it's
oh; it was in the original too
01:37 pjcj joined
diakopter it's the shrinking of the trigils 01:39
@ to * 01:40
01:40 agentzh joined
diakopter or, "when triclops winks" 01:41
wolverian TimToady: are the 2008 and 2009 state of the onions online somewhere? 01:42
TimToady no, not really. they were both more or less live demos, so not really suitable 01:46
01:51 patspam left, xomas_ joined, xomas_ left, xomas_ joined, xomas_ left 01:52 quietfanatic joined 02:01 sidewinder128 joined
sidewinder128 Hello, How stable is perl6/Rakudo? or I keep doing with perl 5? 02:03
02:05 mssm left
diakopter sidewinder128: keep on with perl5 regardless, but try out perl6/Rakudo in a few months 02:06
sidewinder128 alright thanks 02:07
02:07 mssm joined
sjohnson hi guys 02:08
pugs_svn r29628 | diakopter++ | [S29] syntaxos (grammaros?) (spellos?) (typos?) 02:10
diakopter TimToady: do you expect to give a SotO this year? 02:11
02:13 sidewinder128 left, hicx174 joined
sjohnson would like to attend 02:16
pugs_svn r29629 | lwall++ | [S09] @@, what's that? Never heard of it... 02:19
sjohnson diakopter: how's it going? 02:20
diakopter sjohnson: oh, good 02:22
how're you
sjohnson great. i wrote a CODE128 barcode implementation from scratch in Clipper, and it uses intelligent switching technology between B and C modes. Perl saved me about 6 hours on the project
i'm just a bit excited, as i used to think barcodes were rocket science, prior to reading a spec on how certain standards of them are laid out 02:23
diakopter had to look up what Clipper is
sjohnson old DOS programming language
diakopter: en.wikipedia.org/wiki/Clipper_%28pr...anguage%29
but there is a modern open source compiler that compiles it for multi-platform, called Harbour Project... even supports Perl regex using pcre! 02:24
02:24 ShaneC left
sjohnson only reason im using Clipper is because at work we have an old piece of in-house software that does POS, and needs to run on Win64 for a change 02:24
TimToady maybe the SOTO this year will just be me standing up, running 'perl6 tree', which prints a Christmas tree, whereupon I sit back down, and let perl6 do the rest of the speech. 02:25
sjohnson "This is the 7th annual State of the Perl Onion speech, wherein I tell you how Perl is doing. Perl is doing fine, thank you. Now that that's out of the way, I'd like to spend the rest of the time telling jokes."
^^^ made me lul 02:26
diakopter wanders off to find a sbux 02:27
pugs_svn r29630 | lwall++ | [S07] typos from markjreed++ 02:29
r29631 | lwall++ | [STD] recognize ** as a slice marker on variadic parameters 02:31
sjohnson ... PERL!!! *yells loudly at work* 02:33
nothing gets me more in a Perl programming mood than writing it while listening to the Ghostbusters theme 02:34
02:35 nihiliad left
pugs_svn r29632 | lwall++ | [STD] oh yeah, also delete that @@ sigil we used to have once upon a time. 02:39
colomon "I ain't afraid of no bugs!"
sjohnson colomon: that's the Perl 6 attitude
02:39 sjohnson sets mode: +o colomon
sjohnson :) 02:39
02:39 xomas_ joined, xomas_ left, xomas_ joined 02:40 xomas_ left 02:50 nihiliad joined 02:51 k23z__ left 03:03 mssm left 03:05 sbilik joined 03:07 sbilik left 03:08 sbilik joined 03:13 ihrd joined, ihrd left 03:16 sbilik left 03:20 rml_ joined 03:23 uniejo left 03:31 rml_ left
pugs_svn r29633 | colomon++ | [t/spec] Fudge for ng1. 03:34
03:54 ira joined 03:55 ira is now known as quester 03:57 simcop2387 left 04:06 hercynium left 04:07 lestrrat is now known as lest_away 04:10 simcop2387 joined
quester ?eval my @b[1]=2;@b.perl.say; 04:11
04:16 stephenlb left
diakopter pugs: my @b[1]=2; @b.perl.say; 04:16
p6eval pugs: OUTPUT«[undef, 2]␤»
04:19 quietfanatic left 04:23 Rahul__ left
quester rakudo: my @b[1]=2;@b.perl.say; 04:26
p6eval rakudo 1d4928: OUTPUT«Confused at line 10, near "[1]=2;@b.p"␤in Main (file <unknown>, line <unknown>)␤»
04:48 lest_away is now known as lestrrat
quester rakudo: my @b; @b[1]=2; @b.perl.say; 04:54
p6eval rakudo 1d4928: OUTPUT«[undef, 2]␤»
diakopter ng: my @b; @b[1]=2; @b.perl.say; 04:57
p6eval ng 58d896: OUTPUT«Method 'perl' not found for invocant of class 'Proxy'␤current instr.: 'perl6;Array;_block3823' pc 244539 (src/gen/core.pir:20540)␤»
diakopter haven't seen that error b4
ng: my @b; @b[0]=2; @b.perl.say; 04:58
p6eval ng 58d896: OUTPUT«[2]␤»
diakopter ng: my @b; @b[1] = 3; @b[0]=2; @b.perl.say;
p6eval ng 58d896: OUTPUT«[2, 3]␤»
quester Yes... that's not very pretty at all.
diakopter ng: my @b; @b[1] = 3; @b[0]=Mu; @b.perl.say;
p6eval ng 58d896: OUTPUT«[Mu, 3]␤»
diakopter Tene: want something to fix? 04:59
Tene diakopter: maybe. I'd like to hear it, at least. 05:00
The next few days are lookin pretty horrible for me, though.
05:02 Baggiokwok joined 05:04 Baggiokwok left 05:05 jaldhar joined 05:07 nihiliad left
diakopter Tene: I just meant the prior error (last 10 lines) 05:08
05:11 quester left 05:17 diakopter__ joined
diakopter__ test 05:17
ok good
05:17 diakopter__ left
Tene diakopter: the proxy thing? 05:19
05:25 fcahoon joined
fcahoon hello, anyone home? 05:25
05:28 fcahoon left, pnate joined 05:29 justatheory left 05:44 lisppaste3 left 05:46 xomas_ joined, xomas_ left, xomas_ joined 06:00 agentzh left 06:08 lisppaste3 joined, cjk101010 joined 06:12 revdiablo joined, revdiablo left, revdiablo joined 06:20 agentzh joined 06:25 quester_ joined 06:28 quester_ left
diakopter TimToady: have you tried STD against v3 of NYTProf? blog.timbunce.org/2009/12/24/nytpro...-the-wait/ it says they rewrote the subroutine caller tracking entirely, fixing [all of?] the places it was guessing on the call origin... 06:31
06:32 quester_ joined
diakopter also, /me impressed by yapgh.blogspot.com/2010/01/threaded...-gets.html 06:35
pugs_svn r29634 | lwall++ | [t/spec] fix all occurrences of @@ one way or another 06:48
06:52 drbean left 07:10 payload joined 07:18 Su-Shee joined
Su-Shee good morning 07:18
07:20 hicx174 left 07:23 patspam joined, kaare joined, kaare is now known as Guest24683
colomon o/ 07:26
pmichaud, TimToady: what should be the type returned from "reverse" now? 07:27
It's spec'd and tested as a List.
07:29 arthur-_ left
colomon In Rakudo master and ng/ng1 it returns an Array. And of course, in ng1, Arrays are no longer Lists. 07:29
07:30 arthur-_ joined
colomon An equally obvious and probably smarter implementation would return an Iterator. 07:30
07:32 quester_ left
TimToady an unmarked return returns a Parcel, and that's more or less what List means 07:32
diakopter: no I haven't tried v3 07:34
colomon As comparison, map is spec'd as returning a List of Parcel -- right now in ng1 it returns an Iterator.
TimToady is really a parcel of parcels
the inner parcels are simply the return values of the inner block 07:35
so it falls out naturally
pugs_svn r29635 | colomon++ | [t/spec] Change the type we desire to get back from "reverse" to Iterable. May be worth tightening to Parcel at some point. 07:39
colomon Hope that's an acceptable approximation.
TimToady almost nothing user visible should be returning an iterator 07:40
there's nothing says we have to declare the return type at all :) 07:41
colomon True! 07:43
boy seems solidly asleep again, so back to bed for me.
07:46 meppl joined, arthur-_ left 07:55 arthur-_ joined 08:12 iblechbot joined 08:37 xinming_ joined 08:40 xinming left 08:43 barney joined
moritz_ good morning 08:46
09:00 tuxdna left 09:02 hicx174 joined 09:04 dr_df0 joined 09:05 ssm left 09:08 jonasbn joined 09:12 mssm joined 09:15 dakkar joined 09:17 tuxdna joined 09:18 fridim_ joined
frettled Oh, boy, yes, good morning. 09:20
frettled had an excellent walk to work through the snow drift. -4-5°C and a slight breeze, took me 30 minutes instead of the usual 23-24. 09:21
09:21 hicx174 left
payload does $obj ~~ *.notdef and $obj.notdef not return under same conditions the same True or False? 09:31
i've just read $obj ~~ *.notdef in the release notes 09:32
09:38 agentzh left 09:46 agentzh joined 09:47 sjohnson sets mode: +o frettled 09:50 yinyin left 09:51 cognominal joined 09:55 quester_ joined 10:06 agentzh left
moritz_ they are identical 10:09
but for example in a 'when' the matching is always done as smartmatching
so you need some kind of syntactic sugar
10:26 Chillance joined, lestrrat is now known as lest_away 10:37 riffraff joined 10:44 Exodist left 10:45 Exodist joined 10:49 payload left 11:04 masak joined
masak g'day, #perl6. 11:05
mathw hi masak 11:06
11:06 frettled sets mode: +oo masak mathw
jnthn oh hai, masak 11:06
masak slept like a baby
jnthn :-) 11:07
Sleep can be a Good Thing.
mathw I like sleep
masak me too. I do it regularly.
practically every night.
frettled :) 11:08
jnthn I'm always a bit skeptical about sleep before I do it, but when I have to stop I never want to.
masak yeah. know the feeling.
mathw I woke up remarkably easily this morning 11:09
I even had time for breakfast before I left the house
And a few minutes to play with the cat before leaving him alone all day
11:12 quester_ left
masak I'd like to play a bit with building the whole Perl 6 application cheese, something that's possible now with a merged proto. 11:14
ideally, we'd be able to collect data on which apps build under master, and which build under ng. 11:15
masak backlogs over *.notdef
I must confess that the purpose of this method still eludes me.
if I'm to do $obj ~~ *.notdef, why don't I just do $obj !~~ *.defined ? 11:16
this is the only method in CORE which returns the boolean opposite of the real thing :)
11:18 orafu left
jnthn masak: Maybe for when or where 11:20
11:20 orafu joined
masak ah, yes. 11:20
jnthn when .notdef {...}
masak to compensate for the lack of whenn't :)
jnthn :-P
There Will Be Modules. 11:21
masak too true. :)
11:21 macae joined 11:34 lest_away is now known as lestrrat, lichtkind joined
jnthn OK, so I guess main dev is going on now in ng1? 11:36
masak yes, I think so. 11:37
jnthn spectests. 11:38
Hmm, phew, a lot of the OO stuffs hasn't broken. 11:43
(since ng)
mathw :) 11:44
good to hear
11:44 payload joined 11:48 orafu left, drbean joined 11:49 orafu joined
masak diakopter: using NYTProf on STD.pm sounds like a thrilling prospect. 11:54
12:00 xomas_ is now known as xomas
Tene jnthn: pmichaud says ng1 becomes master in the next few days. 12:12
12:21 Baggiokwok joined 12:24 riffraff left 12:28 payload left
jnthn Tene: Aye, I noticed that. 12:29
Tene: Thus why I'm trying to find some time to give it a bit of TLC. :-) 12:30
12:30 payload joined 12:32 SmokeMachine joined 12:37 bluescreen joined
colomon o/ 12:38
moritz_ do hashes work in ng or ng1? 12:39
jnthn moritz_: I fear not.
That should...really...be fixed. 12:40
masak yes. 12:41
12:42 ignacio_ joined
masak the more I think about it, the more I question whether a mass-build of everything will actually yield useful information at this point. 12:42
maybe I'd do better focusing on one single application and seeing what problems ng1 runs into trying to compile it.
colomon masak: I don't think it will. This week. Hopefully next week it will be really useful.
masak right.
so there's still sense in building the infrastructure for such a thing. 12:43
colomon masak: I don't know that there's a point to building the infrastructure -- in ng/ng1. But having the infrastructure more or less ready to go for the magic point when they are somewhat more useful would be really good. (ie, having it working in pre-ng master seems like a good idea to me.) 12:45
masak right. 12:46
12:50 ignacio_ left 12:54 orafu left, orafu joined, patspam left, cognominal left 12:59 tuxdna left 13:00 payload left 13:02 k23z__ joined 13:05 ignacio_ joined
pmichaud good morning, #perl6 13:06
colomon \o
jnthn morning, pmichaud
masak morn', pm
pmichaud once arrays are working again hashes should be easy to restore
masak \o/ 13:07
pmichaud reads backscroll
and I hope to do arrays this morning
moritz_ \o/
pmichaud 00:35 <TimToady> postcircumfix:<[ ]> is one of those methods with a loopback out in Any or Cool or some such that can promote an iterator to a sequence 13:08
....so, what happens with something like 14.[5] ?
colomon yeah, I heard that, thought about it a bit, and then wrote postcircumfix:<[ ]> for Iterator. :)
pmichaud it should delegate to a Seq 13:09
colomon It does, I think.
self.Seq[$a];
masak the nice thing about rewrites is that things are so much easier to implement the fourth or fifth time. in a way, writing a big application comes down to learning to write that application by doing it over and over again, better each time.
colomon masak: practice! 13:10
arnsholt The essence of Plan to Throw One Away, one supposes =) 13:11
masak any medium-to-large-scale app is best written by someone who has written dozens of them already. that's a bleak perspective, made less bleak if one counts internal rewrites and refactorings. :)
colomon pmichaud: it's funny, I feel like I still don't quite understand why Seq exists, but I'm really starting to enjoy coding with it. :) 13:13
masak I'm not sure I grok Seq either. 13:14
13:15 tuxdna joined
pmichaud Seq exists primarily as the immutable form of an Array 13:16
colomon oh, so it's like old List only cooler!
pmichaud i.e., a list of elements that also "does Positional"
colomon no wonder it's nice.
pmichaud yes, it's analogous to old List
masak aaah. 13:17
pmichaud the problem with old List that started this whole iterator mess a long time ago is that I realized that we really didn't want for 1..10000 to be storing the 10000 elements, but since list(1..1000) was producing something that was like an Array, we got them no matter what.
i.e., the old List (and now Seq) had the side-effect of forcing the creation and storage of all of the lazy elements
even when what you wanted to do was just to iterate them 13:18
colomon oh hey, my changes overnight fixed join.t, too. 13:21
pmichaud yes, I suspect we'll see quite a bit of that... a small fix here or there re-enables lots of tests 13:22
13:23 bluescreen left
colomon I should have made more notes about what was stopping each test file I had to turn off. But it's pretty easy to check them manually, thanks to your simple ## trick. 13:23
pmichaud afk, kid to school 13:24
takadonet morning all
colomon o/ 13:25
13:29 plainhao joined
k23z__ www.telegraph.co.uk/news/newstopics...drive.html 13:35
13:36 lichtkind_ joined 13:38 lichtkind left, lichtkind_ is now known as lichtkind, bluescreen joined 13:42 ignacio_ left
pugs_svn r29636 | azawawi++ | [std_hilite] Upgrade to JQuery 1.4.1 13:53
13:53 macae left, macae joined 13:54 ignacio_ joined 13:57 macae left 13:58 drbean left, Su-Shee left
lichtkind cotto: still want nov account 14:01
14:06 macae joined 14:09 Baggiokwok left, mdxi joined 14:39 slavik joined, slavik left 14:42 Su-Shee joined 14:44 jonasbn left 14:47 dugg joined 14:59 PacoLinux left 15:00 wasy_afk is now known as wasy 15:02 PacoLinux joined 15:04 dr_df0 left 15:06 dr_df0 joined
colomon hopes ng1 progress is bubbling away out of sight, while he trudges through $work and housework... 15:09
takadonet hehe
15:13 Guest24683 left 15:16 pmurias joined
pmurias hi 15:28
masak o/
takadonet hey pmurias 15:31
masak peruses PCRE source code 15:33
fascinating.
15:35 Patterner left 15:36 Psyche^ joined, Psyche^ is now known as Patterner 15:43 nihiliad joined
masak rakudo: "foo" ~~ / ^* /; say 'alive' 15:51
p6eval rakudo 1d4928: ( no output )
moritz_ it's an infinite looop
masak aye.
moritz_ erm, I meant looooooo
masak one that's statically catchable.
(hm, is that 'staticly'? English is hard.) 15:52
Google says 'statically'. :) 15:53
frettled Statistically correct.
masak I will eventually add a 'detect empty match in greedy quantifier' function to GGE, and then probably backport it to PGE. 15:54
colomon just found hardcopies of Damian Conway's articles on Perl 6 from circa 2003 while cleaning the office...
frettled Quick, wrap them in acrylic and suck the air out!
15:55 justatheory joined, cjk101010 left
colomon If someone wants them, I can save them from the recycle bin. But I assume they're all on-line somewhere... 15:55
15:58 justatheory left
ascent_ LOL: developers.facebook.com/news.php?bl...;story=358 15:58
16:00 cjk101010 joined, xomas is now known as xomas_ 16:01 xomas_ is now known as xomas
masak ascent_: slightly OT, don't you think? in a way, Perl 6 is *two* degrees removed from PHP. we make jokes about the Perl 5 people, who make jokes about the PHP people. :) 16:01
for the record, some of my best friends use Perl 5.
pmichaud for the record, I use PHP. 16:02
:-)
masak hm. me too, occasionally.
it's quite good for the Web.
but it also deserves most of the mockery it gets from knowledgeable people. 16:03
PerlJam Besides, hiphop is an implementation optimization and says nothing about the language. (and we don't have many optimizations ourselves ;-)
szbalint heh, facebook should have written a profiler instead of an automatic translator tool
masak due to the principle of 'worse is better', the weaknesses of PHP as a language don't much matter.
not in the short term, at least.
PerlJam szbalint++ indeed. 16:04
masak HipHop sounds a bit like what Andrew Shitov made for Perl 6: a compiler that outputs C++. 16:05
ascent_ I pasted this just for little fun... It's funny when companies like Facebook write something like this. Going deeper and deeper in something which is not suitable for them.
pmichaud "not suitable"? Odd.
masak oh, it might well be suitable for them.
PerlJam ascent_: yes, we were talking about this on #startups earlier. Twitter's move from Ruby to Scala was another example. 16:06
ascent_ PerlJam: I didn't know about that chan, thanks. :) 16:07
pmichaud afk, errands
masak an experienced programmer can use even a crappy language to produce impressive software.
the cost of maintenance is higher, sure. but it's possible.
PerlJam masak: see pmwiki.org :-) 16:08
ascent_ masak: experienced programmer choose proper tools for proper tasks.
masak PerlJam: that was the example I had in mind. :)
pmichaud ascent_: and how do you know that php is improper for this particular task?
PerlJam ascent_: experienced programmer choose "proper" too
masak ascent_: yes, and PHP, like it or not, is a good fit for the Web.
frettled Experienced programmers may not have a choice in tools or tasks.
*mumblegrumble* 16:09
PerlJam frettled: hopefully they have a way out of that situation though
pmichaud (way out) -- often, what happens is they build their way out of not having a choice. See also Perl 1. :-)
PerlJam heh
frettled PerlJam: That depends on the job market where you live. The US job market has not been very friendly lately, and in many other countries it feels safer to just stick around where you know you get paid.
pmichaud okay, really afk this time 16:10
PerlJam frettled: or ... you start a small company in your spare time and nuture it until it can support your needs.
frettled: then *you* choose
frettled PerlJam: if you have spare time, of course :D
PerlJam frettled: you make spare time. It's another choice
frettled and if you have no no-compete clauses in your contract
PerlJam frettled: again, another choice. 16:11
colomon heh. my old employers forgot to make me sign the no-compete clause. :)
frettled That _some_ experienced programmers have these options does _not_ mean that _every_ experienced programmer, or even experienced programmers in general, have them.
Tene Or you live in an area where no-compete clauses are legally unenforcable.
California, iirc. 16:12
and probably others.
frettled Norway :)
PerlJam frettled: no, every person has these choices. Then it's just a question of timing. You chose to sign a no-compete, so you chose to limit your options. But you still have options.
frettled Or, as we like to say, «Scandinavian Libertopia»
PerlJam: I'm sorry, that's just a hopeless position to take. Yes, technically, _anyone_ can quit their job and do things on their then-appearing spare time. But it's not a realistic choice, because it doesn't guarantee bread on the table, if you catch my drift. 16:13
PerlJam: Remember: the Dream is only achievable for a select low percentage of the Dreamers. 16:14
ascent_ masak,pmichaud: IMO PHP is maybe good for small projects, but not for big. That is my opinion and I don't want to argue - you have something better to do, so do I (althrough not so exciting). ;)
PerlJam frettled: suddenly you sound religious (in a bad way)
frettled PerlJam: I'm referring to the American Dream
Which _is_ religion to quite a few Americans. 16:15
masak ascent_: I don't want to argue either. just pointing out that your opinion doesn't wish away PmWiki or MediaWiki, or other large projects which exist and actually use PHP.
frettled PerlJam: and I don't believe in the Dream, but you sounded like you did.
PerlJam: I'm sorry for misunderstanding your intentions.
PerlJam frettled: you choose to believe what you want. Your beliefs limit your future choices. :-)
frettled PerlJam: Yes, but if everyone makes the same choice, only a few of them get to put bread on their table. 16:16
PerlJam: It's job market economics 101
PerlJam: What you suggest is possible for «everyone» if and only if there are enough jobs and finances available for these people. 16:17
What you're describing is a nice utopia, and one that I'd be happy to see as a reality, but it's not. Sorry.
PerlJam frettled: So ... I find it odd that we went from me suggesting that you start a small business in your spare time that could eventually (*eventually*) make enough that you would no longer be economically constrained to ... utopia. 16:19
Tene Compared to many situations, that's pretty close. ;) 16:20
pmurias * Wojtek Gołaszewski 16:21
* Daniel Majchrowski
* Jarek Nadziak
* Łukasz “Zed” Zawada
* Konrad Łęski
* Mariusz Nowak
* Krzysztof Kozak
* Łukasz “Żółwiao” Dźbik 16:22
* Michał Szwarc
PerlJam frettled: people have choices. I know the world isn't perfect, but it *is* what you make of it. If you sacrifice certain "freedoms" to put bread on the table, that was your choice. That doesn't mean it was the *only* choice.
pmurias * Krzysiek Parafińczuk
* Andrzej Borys †
* Piotr Kobylański
* Bartosz Bibrowicz
* Michał Dybowski
16:22 pmurias was kicked by moritz_ (pastespam))
masak moritz_++ 16:22
16:22 pmurias joined
pmurias moritz_: sorry 16:22
16:22 cognominal joined
moritz_ pmurias: no problem 16:22
frettled PerlJam: No, the utopia is that _everyone_ can do this. Everyone can attempt to do so, but if everyone does, then most of them will fail. 16:25
PerlJam: It's exactly like the Dream: everyone can try to become the President of the United States of America, and everyone has a chance, but not everyone can be; 99.9999996% will fail. 16:26
PerlJam frettled: that decimal is suspicious. Did you do a quick calculation based on an estimate of the US population? :) 16:28
frettled PerlJam: 300 million people, yes
PerlJam heh, you're such a geek :) 16:29
frettled Thank you :)
PerlJam though your math is faulty I think. How many US presidents are there?
frettled One at any given time.
PerlJam no, there's only one in office at any given time, but there are several not in office 16:30
frettled The example is flawed in another respect: if you've been elected President twice, you cannot stand for election again, so it's impossible to achieve it again.
PerlJam: I wrote «become», not «be», and «become» could -- if you chose to interpret benevolently instead of mischievously -- mean «be elected» 16:31
You're a geek to :)
Anyhow, I think I've spammed way too much about this, I'll shut up now.
PerlJam frettled: but several presidents have been elected! :) 16:32
masak frettled: unless you're Roosevelt. use.perl.org/~masak/journal/39847
PerlJam frettled: #perl inspires pedantry for some reason.
colomon reading about the Hiphop PHP thing makes me think of the Perl 6 to C++ compiler... 16:34
masak that's what I said! :) 16:35
<masak> HipHop sounds a bit like what Andrew Shitov made for Perl 6: a compiler that outputs C++.
16:35 jaldhar left
masak I increasingly feel like a Perl 6 historian... reading dev.perl.org/perl6/doc/design/exe/E02.html , at the bottom I find this: 16:36
'98% backwards compatibility even without an automatic p52p6 translator...pretty slick!'
and then '[Update: Well, it's not quite that backward compatible anymore.]' 16:37
colomon That might have been one of the papers (in 2003 form) I just stuck in the recycle bin.
masak so basically, Perl 6 tried to be backwards compatible from the start, and that goal was dropped along the way.
one hears very little about a p52p6 translator nowadays, too. 16:38
PerlJam masak: keep that in mind for the future when Perl 6 is in common use. We could use a good history book :)
masak I think this would make a good blog post.
that might help me keep it in mind. :)
16:38 jaldhar joined 16:39 hercynium joined 16:40 iblechbot left
colomon looking at E02 there... woah, print statements in perl 6. :) 16:40
masak we still have those, you know. :) 16:41
jnthn say what?
:-)
masak say .WHAT
16:41 dr_df0 left
colomon I know print still works, but I can't remember the last time I actually used it.... :) 16:41
masak it happens. :)
16:43 dr_df0 joined
colomon I feel like someone should rewrite the example in modern Perl 6.... 16:45
jnthn std: sub foo($a, $a) { }
p6eval std 29636: OUTPUT«Potential difficulties:␤ Useless redeclaration of variable $a (from line 1) at /tmp/FiqIa9t4fO line 1:␤------> sub foo($a, ⏏$a) { }␤ok 00:01 108m␤»
16:45 jaldhar left
masak one thing I'll use macros for is to re-create Arc's print-to-string functionality. 16:45
that'll create an excellent use for print :) 16:46
PerlJam E05 needs to be redone in moderm Perl 6
masak anyone who re-writes an apocalypse or exigesis to modern Perl 6 wins an Internet.
diakopter masak: the new NYTprof, I mean... TimToady used prior versions on it (parsing itself).. and I did also twice, but results were not satisfying because of bugs in nytprof 16:47
jnthn masak: I'd be interested, but I already won one for doing lolsql.
masak diakopter: ah, I see.
jnthn masak: What'd I do with two internets?!
masak jnthn: yeah, not sure you can win more than one :) 16:48
PerlJam Though we need an implementation that can do this: my $text is from($*ARGS); # Bind scalar to input stream
16:48 jaldhar joined
colomon PerlJam: my $text is $*ARGS.map({.slurp}).join 16:50
PerlJam colomon: uh ... no.
std: my $text is $*ARGS.map({.slurp}).join 16:51
p6eval std 29636: OUTPUT«===SORRY!===␤Confused at /tmp/brvV2kLDKw line 1:␤------> my $text is ⏏$*ARGS.map({.slurp}).join␤ expecting name␤FAILED 00:01 107m␤»
jnthn You'd need to write a trait_mod to make that happen.
PerlJam "Confused" is a really good error :)
colomon sorry, my $text = $*ARGS.map({.slurp}).join
PerlJam colomon: sure ... I was more interested in the "bind" part though. 16:52
(sure, I didn't say that; mea culpa)
colomon What do you thinking such binding would do for you?
(In this case.)
PerlJam magic! :) 16:53
colomon: modifying $text would automatically modify the appropriate file in $*ARGS (for instance)
colomon: or, as in E05, ... "The important point is that, after the match, only those characters that the pattern actually matched will have been removed from the input stream." 16:54
colomon PerlJam: okay, that's a sort of magic I definitely wasn't imagining, and don't have a clue how to do with map, slurp, and join. :)
16:55 jaldhar left
PerlJam though that particular thing may just fall out of laziness 16:55
16:55 diakopter left 16:57 ruoso joined
colomon I was thinking that the internal use of Cat would magically make my example lazy. Don't know if that's true or not, of course.... 16:58
16:58 jaldhar joined 16:59 colomon2 left
jnthn crosses his fingers and runs the spectests, hoping he's knocked one task off the ng major features list 17:02
colomon hashes?
jnthn No
the one that broke
ng: my ($a, $b)
17:02 cdarroch joined, cdarroch left, cdarroch joined
p6eval ng 58d896: OUTPUT«Redeclaration of symbol $a at line 1, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤» 17:02
colomon \o/
jnthn colomon: Dunno if that'll win us back any tests? 17:03
colomon jnthn: give me a working version of that and some time and it will, for sure.
jnthn we're down to S32 and the tests are looking OK....
yay, clean. 17:04
takadonet !!
jnthn colomon: pushed 17:05
17:12 snearch_ joined, dr_df0 left 17:13 justatheory joined
colomon pulled, and 17:17
> my ($a, $b) = (1, 2); say $a; say $b;
Mu()
On the plus side, stupid error is gone.
On the minus side, assignment still doesn't work. 17:18
masak you don't need those LHS parens.
sorry, RHS. :/ 17:19
colomon doesn't help. (But you're right, of course.)
masak if there's anything that might help me distinguish left and right on a visceral level, it's the difference in meaning between 'lvalue' and 'rvalue'... :)
swimming & 17:20
17:20 masak left, cognominal left, meppl left, constant left, buu left, Tene left, szbalint left, _ilbot2 left, nbrown left, stepnem left, sunnavy left, jql left, krakan left, elmex left, moritz_ left, cosimo left
jnthn colomon: Ah, I didn't try to fix that. :-) 17:21
colomon :)
17:21 elmex joined
colomon > my ($a, $b); ($a, $b) = 1, 2; say $a; say $b; 17:21
Mu()
jnthn colomon: Oh, I think it's not related to the declaration though?
Yes, I just did that one. :-)
colomon :) 17:22
17:22 cognominal joined, meppl joined, szbalint joined, krakan joined, constant joined, jql joined, nbrown joined, buu joined, sunnavy joined, moritz_ joined, BAAABJN joined, Tene joined, stepnem joined, _ilbot2 joined, kornbluth.freenode.net sets mode: +ooov sunnavy moritz_ Tene _ilbot2, cosimo joined, stepnem left
colomon seems like my $a; my $b; and then the rest of that last example worked in ng1 a couple of days ago... 17:22
17:22 payload joined, payload left, TimToady sets mode: +vvv buubot dalek hugme, TimToady sets mode: +vv ilogger2 IRSeekBot, TimToady sets mode: +vvv lisppaste3 p6eval phenny, TimToady sets mode: +v pugs_svn 17:24 cognominal left, stepnem joined, cognominal joined 17:25 payload1 joined 17:27 payload1 left 17:30 araujo left 17:33 stephenlb joined
jnthn Yay, 2 more test files uncommented in spectest.data now. :-) 17:34
takadonet good job jnthn 17:35
17:35 barney left 17:38 pmurias left 17:39 buu left, buu joined 17:42 cognominal left, cognominal joined
jnthn Another one fully passing and bringing ~50 tests back coming in a moment too, after I check it didn't make any other fail. :-) 17:43
takadonet !!!! 17:44
takadonet feels like a cheerleader.....
17:44 mberends left
jnthn Pushed. 17:47
colomon pulled. 17:48
17:48 xalbo joined
jnthn colomon: note: push before last needs re-Configure. 17:50
colomon thanks. I try to keep an eye open for changes to Makefile.in. :)
17:57 quietfanatic joined 17:59 payload joined
quietfanatic rakudo: my $x = (0 => {say 2}); say 1; $x.value.(); say 3 18:02
p6eval rakudo 1d4928: OUTPUT«1␤3␤»
18:03 jaldhar left
quietfanatic ng: my $x = (0 => {say 2}); say 1; $x.value.(); say 3 18:03
p6eval ng 58d896: OUTPUT«Confused at line 1, near "my $x = (0"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤»
quietfanatic ng: my $x = 0 => {say 2}; say 1; $x.value.(); say 3
p6eval ng 58d896: OUTPUT«Confused at line 1, near "my $x = 0 "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤»
quietfanatic But that's not the point. The point is that rakudo master cannot call a sub in a pair. 18:04
rakudo: my $x = (0 => sub doit {say "did it"}); say $x.value.WHAT; $x.value.(); say $x.value.name 18:05
p6eval rakudo 1d4928: OUTPUT«Sub()␤doit␤»
18:05 ShaneC joined 18:06 mberends joined 18:07 Su-Shee left
jnthn quietfanatic: $x.foo.() is the same as $x.foo() 18:10
quietfanatic No..
The former calls the sub returned by $x.foo
and the latter just calls the method foo on $x with no arguments
At least, that's how I learned it 18:11
rakudo: my $x = (0 => sub doit {say "did it"}); my &x = $x.value; &x();
p6eval rakudo 1d4928: OUTPUT«did it␤»
quietfanatic Guess that's a workaround
but
why?
oh 18:12
jnthn I though you were asking a question but you wer giving a statement. :|
*were
18:14 macae left 18:15 Su-Shee joined 18:16 cjk101010 left
quietfanatic In fact I think I ran into exactly the same problem the last time I wrote this bit of code, and forgot. 18:16
jnthn rakudo: my $x = (0 => {say 2}); say 1; $x.value.().(); say 3 18:17
p6eval rakudo 1d4928: OUTPUT«1␤2␤3␤»
bbkr what is the difference between rakudo and ng evals here? 18:22
18:23 cognominal left
quietfanatic ng is the branch they're working on the most, but it's not quite complete, so it hasn't been merged into main rakudo yet. 18:23
18:23 cognominal joined
quietfanatic so it's sort of like normal vs. experimental, except that everything here is experimental. 18:23
18:23 macae joined 18:26 dakkar left
colomon rakudo: sub test($a) { say "Mu" unless $a; }; test(Mu); 18:27
p6eval rakudo 1d4928: OUTPUT«Nominal type check failed for parameter '$a'; expected Any but got Object instead␤in Main (file src/gen_setting.pm, line 324)␤»
colomon ummm....
TimToady that's correct
parameters are by default constrained to Any 18:28
(so that junctions work out naturally)
rakudo: sub test(Mu $a) { say "Mu" unless $a; }; test(Mu);
p6eval rakudo 1d4928: OUTPUT«Mu␤» 18:29
quietfanatic How do you produce a value that's undefined but isn't restricted like that? 18:31
colomon Any
I imagine.
rakudo: sub test($a) { say "Mu" unless $a; }; test(Any);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
quietfanatic rakudo: sub test(Int $a) { say "Mu" unless $a; }; test(Any);
p6eval rakudo 1d4928: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Any instead␤in Main (file src/gen_setting.pm, line 324)␤» 18:32
ruoso rakudo: sub test($a) { say "Mu" unless $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
ruoso rakudo: sub test($a) { say "Mu" unless $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
ruoso hm?
rakudo: sub test($a) { say $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Any()␤1␤»
xalbo rakudo: sub test(Any $a) {say "Mu" unless $a; } test(Mu);
p6eval rakudo 1d4928: OUTPUT«Confused at line 10, near "test(Mu);"␤in Main (file <unknown>, line <unknown>)␤»
ruoso rakudo: sub test($a) { say "Mu" if $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Mu␤» 18:33
ruoso interesting...
rakudo: say "is it?" unless 0 | 1
p6eval rakudo 1d4928: ( no output )
ruoso rakudo: say "is it?" unless Any | 1
p6eval rakudo 1d4928: ( no output )
ruoso rakudo: sub test($a) { say "Mu" if $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
PerlJam quietfanatic: Mu is undefines and unrestricted.
ruoso rakudo: sub test($a) { say "Mu" unless $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
PerlJam s/nes/ned/
ruoso looks like a rakudobug
quietfanatic no, it's autothreading 18:34
ruoso ahhhhhhhhh
quietfanatic the Any makes it say Mu and the 1 makes it do nothing
ruoso rakudo: sub test(Any $a) { say "Mu" unless $a; }; test(Any | 1);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
ruoso rakudo: sub test(Mu $a) { say "Mu" unless $a; }; test(Any | 1);
p6eval rakudo 1d4928: ( no output )
ruoso ah... ok
now it makes sense 18:35
quietfanatic PerlJam: That's not quite what I meant. I meant, can you always pass an undefined value to a routine without knowing what the type of the routine's parameters are? 18:36
PerlJam: I mean, is there an undefined value that can pretend to be any class? 18:37
PerlJam quietfanatic: yes, Mu
quietfanatic No, see colomon's first sub up there.
it's rejecting Mu because it's not Any.
colomon right, the answer is Any.
quietfanatic But then if your restriction is Int or something, Any will be rejected. 18:38
colomon rakudo: sub test($a) { say "Mu" unless $a; }; test(Any);
p6eval rakudo 1d4928: OUTPUT«Mu␤»
colomon oh, that's what you meant?
quietfanatic rakudo: sub test(Int $a) { say "Mu" unless $a; }; test(Any);
p6eval rakudo 1d4928: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Any instead␤in Main (file src/gen_setting.pm, line 324)␤»
quietfanatic That's what I meant
colomon Is there a way of doing that? It seems like it would be intentionally breaking the class system.
PerlJam The rakudo implementation is not authoritative :)
18:42 ruoso left
PerlJam Any doesn't include junctions last time I checked, so Mu is the answer 18:45
TimToady binding Nil should produce an appropriate most-undefined type object 18:46
or perhaps even trigger a default
colomon PerlJam: Huh? I thought we just determined that Mu couldn't even be Any, much less something like Int. 18:47
TimToady but in general, the point I was making to quietfanatic privately was that you shouldn't be designing your interfaces where undefinedness has some kind of positive semantics 18:48
especially if Whatever or Nil can suffice
quietfanatic Nil is exactly what I was thinking of, but what TT says is also true 18:49
TimToady Template Toolkit?
TrueType? 18:50
18:56 hercynium left, payload left 18:57 payload joined 18:58 stephenlb left 18:59 mberends left
PerlJam colomon: you determined that *rakudo* thinks Mu can't be Any and I'm not believing rakudo. 19:00
19:01 plainhao left
PerlJam if Mu really can't be Any, then I need to re-think what "most undefined" really means. 19:01
colomon PerlJam: You'll notice that TimToady said Rakudo was correct in that immediately afterward.
PerlJam colomon: Actually I didn't notice.
But I still think it's odd. 19:02
colomon obviously I expected it to work, else I wouldn't have tried it.
but it makes sense in terms of the definitions...
jnthn -> dinner 19:04
19:05 xalbo left
PerlJam I'll be content to let the language designer(s) work out all of the details so that the house of cards is strong and then I'll grouse about how the cards look more like dominoes or how the spades and clubs look too much alike or something until either my brain adjusts or something else makes it all right. 19:05
19:07 justatheory left 19:08 justatheory joined, ruoso joined 19:17 macae left
TimToady well, the point is that Foo ~~ Bar never works if Bar if further down the type hierarchy, and Mu is the only type that is higher than Any 19:18
though junctions are siblings to Any 19:19
in a sense, Any is the first well-defined type
Mu is the absence of type
and junctions have multiple types at once
19:20 snearch_ left 19:21 quietfanatic left
pmichaud back from errands and lunch 19:22
19:23 synth left
colomon \o/ 19:23
19:24 jonasbn joined, synth joined
pmichaud :-| busy week of lots of non-Perl 6 stuff :-| 19:26
19:26 stephenlb joined 19:29 ruoso left 19:31 macae joined 19:32 payload left, payload joined
pmichaud I'm fairly certain that list assignment is not working in ng1 19:34
I had it working in ng, but then we completely changed the meaning of "List"
colomon pmichaud: at least in the ($a, $b) = whatever form, it certainly isn't. 19:35
on the plus side, jnthn++ fixed my ($a, $b);
pmichaud yes, I saw that. jnthn++
I have an $otherjob task to do and then I'll see if I can quickly bring the ng-list-assignment stuff over to ng1 19:36
colomon \o/ 19:38
19:44 ruoso joined 19:54 araujo joined 19:56 ash_ joined
TimToady phone 20:00
pmichaud phone :) 20:03
jonasbn phone? 20:14
PerlJam phone. 20:27
20:28 mberends joined
colomon no phone. 20:29
TimToady is phony
PerlJam TimToady: do you guys really get much done via phone that you wouldn't get done via IRC? Does the change in medium help? 20:30
20:31 justatheory left
pmichaud PerlJam: Yes. 20:34
afk, kid pickup 20:35
20:38 macae left 20:43 justatheory joined 20:50 fridim_ left 20:52 fridim_ joined 20:56 old_gray_bear joined 21:17 xalbo joined 21:20 justatheory left 21:22 bluescreen left 21:30 justatheory joined 21:34 ruoso left, rgrau joined 21:38 Su-Shee left 21:44 mikehh joined, dugg left, alester left 21:46 pnate left 21:48 [particle]1 left 21:50 ignacio_ left 21:52 pnate joined 21:56 diakopter joined
diakopter std: *.*() 21:57
p6eval std 29636: OUTPUT«ok 00:01 105m␤»
arnsholt diakopter: Bonus points if you know what it means too =) 21:58
diakopter std: *&*|*&*|*&*|*&*
p6eval std 29636: OUTPUT«ok 00:01 105m␤»
diakopter arnsholt: I don't do semantics
21:58 SmokeMachine left
arnsholt Heh 21:58
diakopter std: ----------- 7 22:00
p6eval std 29636: OUTPUT«ok 00:01 106m␤»
diakopter std: @{@{} 22:03
p6eval std 29636: OUTPUT«===SORRY!===␤Unsupported use of @{@{}; in Perl 6 please use @(@{) at /tmp/9GMMN529SU line 1:␤------> @{@{}⏏<EOL>␤FAILED 00:01 106m␤»
diakopter std: @(@{)
p6eval std 29636: OUTPUT«===SORRY!===␤Anonymous variable requires declarator at /tmp/g6ZVtuN3F3 line 1:␤------> @(@⏏{)␤ expecting twigil␤FAILED 00:01 106m␤»
arnsholt diakopter: You're ebbil 22:05
22:05 jonasbn left
diakopter at least I'm not bible or bbile 22:05
22:17 cotto_work joined 22:18 hercynium joined 22:19 cotto_w0rk left 22:24 kensanata joined 22:26 xomas left, xomas_ joined, xomas_ left, xomas_ joined 22:27 jferrero joined
spinclad rakudo: my $x = (0 => {say 2}); say 1; ($x.value).(); say 3 22:28
p6eval rakudo 1d4928: OUTPUT«1␤2␤3␤»
spinclad rakudo: my $x = (0 => {say 2}); say 1; $x.value().(); say 3
p6eval rakudo 1d4928: OUTPUT«1␤2␤3␤»
22:28 cotto_work left
spinclad these make sense 22:29
rakudo: my $x = (0 => {say 2}); say 1; $x.value,().(); say 3
p6eval rakudo 1d4928: OUTPUT«1␤invoke() not implemented in class 'Undef'␤in Main (file <unknown>, line <unknown>)␤»
spinclad rakudo: my $x = (0 => {say 2}); say 1; $x.value.().(); say 3 22:30
p6eval rakudo 1d4928: OUTPUT«1␤2␤3␤»
spinclad and it makes sense to me that postfix:<( )> is recognized the same with or without the dot. 22:31
so .value.() == .value() and you need a second .() to call the returned sub. 22:33
22:36 wasy is now known as wasy_afk 22:42 xomas_ is now known as xomas 22:44 hicx174 joined 22:50 cotto_work joined 23:03 kst` is now known as kst 23:13 pmurias joined 23:20 ash_ left 23:21 payload left 23:27 cotto_w0rk joined 23:28 LylePerl left 23:29 cotto_work left 23:32 LylePerl joined 23:36 kensanata left 23:38 dugg joined 23:52 old_gray_bear left