»ö« 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.
sorear daniel-s: yes 00:06
daniel-s: packages are a (Liskov, if not implementation) supertyp of modules
00:13 yinyin joined
sorear what is the "irs" keyword? perl6.vim higlights that 00:21
TimToady input record separator? 00:25
sorear I guess
00:28 daniel-s left
TimToady Krunch: ah, I see you were thinking about sleep sort :) 00:34
00:35 cotto joined 00:37 Chillance left
TimToady it showed up on rosettacode too 00:40
00:51 envi_laptop joined 00:58 thou left 01:00 noganex_ joined 01:04 noganex left 01:12 pjcj left 01:17 thou joined 01:22 cooper is now known as mtchllcpr, mtchllcpr is now known as cooper 01:24 icwiener_ joined, icwiener left 01:30 envi_laptop left 01:35 icwiener_ left
dalek ecza: a2ad340 | sorear++ | / (4 files):
Tweak package redef checking, refactor the way categoricals find their precedence
01:37
01:41 envi_laptop joined 01:44 whiteknight left 01:59 _jaldhar joined 02:00 wamba joined 02:07 lichtkind left 02:21 benabik joined 02:24 woosley joined 02:34 vlixes joined 02:41 vlixes left 02:43 pjcj joined 02:45 am0c left 02:52 thou left 03:20 Holy_Cow joined 03:23 Su-Shee_ joined 03:27 Su-Shee left 03:28 Holy_Cow left 04:13 benabik left 04:19 satyavvd joined 04:26 Trashlord left 04:27 Trashlord joined 04:36 wamba left 04:41 benabik joined 04:43 cooper left, starcoder left, cooper joined 04:45 starcoder joined 04:46 _twitch left 04:53 daniel-s joined 04:57 sanc_ left 04:59 _twitch joined 05:09 araujo left 05:18 molaf joined 05:21 y3llow_ joined, y3llow left, y3llow_ is now known as y3llow 05:22 jasonmay left, jasonmay joined 05:31 birdwindupbird joined 05:39 athomason left 06:00 Tedd1 left 06:01 Tedd1 joined 06:02 wtw joined 06:07 fhelmberger joined
sorear for map @<tr> -> $T { ... } # I'm amazed this parsed. It did NOT work... 06:10
06:10 cooper left 06:13 Tedd1 left, Tedd1 joined
moritz parsed as @( <tr> ) ? 06:13
TimToady presumably as @( $/<tr> ) or some such 06:14
sorear the actual issue is that map isn't syntax (d'oh) and will run without issue on 1 argument 06:15
TimToady well, sure, whaddya expect?
sorear I expected better ReadYourMind functionality
TimToady rakudo: say map 42
p6eval rakudo 248244: OUTPUT«No candidates found to invoke for method 'map' on object of type 'Array'; available candidates have signatures:␤:(Mu : &block;; *%_)␤␤ in 'map' at line 1898:CORE.setting␤ in main program body at line 22:/tmp/weF5lSkq9I␤»
TimToady hmm, well, maybe rakudo requires a block there 06:16
rakudo: say grep 42
p6eval rakudo 248244: OUTPUT«␤»
sorear I guess it should be any Callable
TimToady that one's fine, fershure
06:16 Shozan joined 06:21 Su-Shee_ is now known as Su-Shee
moritz what should map do with a non-callable? smartmatch? 06:24
06:26 Woodi left 06:28 Woodi joined, xinming_ left
sorear moritz: die with a MMD error 06:30
moritz good 06:31
06:38 koban joined 06:42 Woodi left 06:43 Woodi joined 06:56 Woodi left
dalek p: af3db5b | pmichaud++ | src/6model/reprs/P6opaque.c:
Improve NYFI 4 message to include name of attribute not located.
06:57
06:58 Woodi joined
sorear o/ pmichaud 06:59
06:59 xinming joined
jdhore1 OK, good, the Rakudo 42 release day is the 23rd. 07:02
I have Jury Duty the week of the 27th
(I can get out of it, but i've never done it and I really want to. I'd either be the best or worst juror ever.) 07:03
07:10 Mowah joined 07:13 xinming left 07:26 PacoLinux left 07:27 PacoLinux joined, mj41 joined
sorear jdhore1: (in the US) you can reschedule jury duty by ±2 months no questions asked. 07:29
jdhore1 sorear, I figure, I can also get it cancelled until i next come up for jury duty again, but the only thing i'll miss is work (which i'd miss no matter when i took jury duty, so i'll do it in June 07:30
07:35 dukeleto joined
dalek ecza: 58a25d9 | sorear++ | / (4 files):
Implement is tighter/looser/equiv/assoc
07:36
sorear hey dukeleto
07:39 woosley left 07:43 tzhs joined
dukeleto sorear: hola 07:44
sorear dukeleto: did you know your blog is broken? 07:45
dalek ecza: 203671f | sorear++ | src/NieczaGrammar.pm6:
Enable usage of operator data from existing outer scopes
07:46
dukeleto sorear: no
sorear dukeleto: see the top of planet.parrotcode.org 07:47
07:47 wamba joined
dukeleto sorear: indeed. I will look into what went wrong. I haven't even been on the interwebs in 3 days. 07:48
dalek ecza: c835aaa | sorear++ | / (3 files):
Fixup assoc/tighter/equiv/looser tests; now fully working
08:03
sorear argh!! I broke class A::B { ... }; class A::B { } for the 3rd or so time 08:05
08:11 Katibe left 08:13 Tedd1^ joined
dalek ecza: 66b7213 | sorear++ | src/niecza:
Fix stubbing of ::-qualified packages. AGAIN.
08:14
08:15 ruoso_ joined, Psyche^ joined, __sri joined 08:19 daniel-s left 08:22 Tedd1 left, birdwindupbird left, Patterner left, gottreu left, alyx left, mattp_ left, rhr left, cognominal_ left, Eevee left, _sri left, ruoso left, sjohnson left, yahooooo left, slavik1 left, huf left, sbp left, arnsholt left, Psyche^ is now known as Patterner 08:25 birdwindupbird joined, gottreu joined, alyx joined, mattp_ joined, rhr joined, cognominal_ joined, Eevee joined, sjohnson joined, yahooooo joined, slavik1 joined, huf joined, sbp joined, arnsholt joined 08:29 birdwindupbird left, gottreu left, alyx left, mattp_ left, rhr left, cognominal_ left, Eevee left, sjohnson left, yahooooo left, slavik1 left, huf left, sbp left, arnsholt left 08:34 birdwindupbird joined, gottreu joined, alyx joined, mattp_ joined, rhr joined, cognominal_ joined, Eevee joined, sjohnson joined, yahooooo joined, slavik1 joined, huf joined, sbp joined, arnsholt joined 08:40 daniel-s joined
sorear niecza: sub infix:<@>($a, $b, :$c) { return $a * $b unless $c; say 1 + 2 @ 3; also is equiv<*>; say 1 + 2 @ 3 }; 0 @ 0 :c # That this works either scares or amazes me 08:43
p6eval niecza v6-172-g66b7213: OUTPUT«9␤7␤»
09:02 xinming joined 09:07 daniel-s left, daniel-s joined
dalek ecza: 341faf9 | sorear++ | src/ (5 files):
mergeback
09:12
sorear -> sleep 09:15
09:17 daxim joined
daniel-s for $string.split('') -> $char1 09:22
in the above line, $char1 is read only
is there a way to make it rw?
tadzik to modify the string? 09:23
also, you might want to use $string.comb
09:29 Shozan left
daniel-s yea, I want to be able to change $char1 09:37
will I need to create a new variable and put $char1 in it
seems inelegant 09:38
moritz you want -> $char1 is copy
TiMBuS daniel-s, i got your module idea, but I'm not to keen on it i guess 09:45
not to be mean
i dont want to include any modules with my bot that can - at this point in time - cause it to randomly drop off the network it's on. I also don't want to include a module (LWP::Simple) in the prerequisites atm. 09:47
your code was fine and all, though
this weekend im gunna think of how to make it so you can load and unload modules at runtime. it was my plan from the start - that's the reason why you need to pass it 'modules' in new() 09:57
10:09 dobie_gillis joined
sorear remind me to try and get the bot running on niecza and play with threads or async IO 10:12
TiMBuS good idea 10:24
10:27 nine joined
nine Hi! I'm studying software engineering and am looking for a topic for my bachelor's paper. Should be some 20-30 pages of theoretical work and an implementation part and I thought, maybe that would be a good excuse to learn Perl 6 and help Rakudo development. Any ideas about some thing that I could work on? 10:29
daxim I want a character encoding library. and a pony. 10:31
TimToady it's possible that niecza is about ready to be adding hygienic macros
flussence rakudo could use some work in the OS interaction stuff, there's not much there right now... 10:32
TimToady both rakudo and niecza will be thinking about additional backend platforms soon 10:33
nine Huh...never heard about niecza before 10:38
arnsholt It's the other major Perl 6 implementation. Primarily it's sorear's baby 10:43
Focusing primarily on efficiency and optimisations IIRC; implemented in Mono/.Net 10:44
TiMBuS yapsi will soon leave all others in the dust >:] 10:45
arnsholt Of course, of course =) 10:46
TiMBuS is there any way to get a class name with a string? "MyClass"->new is what im going for here 10:47
mux you just made the gods of static typing very angry 10:49
gfldex eval
buubot_backup gfldex: No output.
arnsholt mux: The gods of static typing have no truck here. We follow the gods of gradual typing =D
mux right, right :-P
nine flussence: Os interaction would be? 10:50
TiMBuS erm. any other ways to load/initialize a user specified class at runtime? 10:51
daniel-s hey guys, I just created a module 10:54
it implements a very high security encryption algorithm
github.com/daniel-s/Acme--rot13
TiMBuS hey now rot13 has many legitimate uses that i cant think of right now 10:55
huf how do you extend rot13 to unicode? 10:56
daniel-s I didn't think about that 10:57
TiMBuS its probably best you never do
huf well then i guess a $str eq decrypt(encrypt($str)) will tell you if $str is unicode?
daniel-s I read a cool article on CRC32 10:58
I think I'll do that next
there is already a module
but it's only CRC32
wait, I meant to say I read an article on CRC
colomon rakudo: say "Rat".new.WHAT; say "Rat".eval.new.WHAT
p6eval rakudo 248244: OUTPUT«Rat()␤Rat()␤»
daniel-s any I want to implement CRC more generically 10:59
I think that's my weekend project
colomon rakudo: say "fngjklfsgalsfhgfjh".new.WHAT
p6eval rakudo 248244: OUTPUT«Null PMC access in get_repr()␤ in main program body at line 22:/tmp/cjl_FWcaPp␤»
daniel-s how do you get a project listed here: modules.perl6.org/
10:59 _jaldhar left
daniel-s also, is it worth it for mine 10:59
colomon daniel-s: add it to the ecosystem 11:00
11:00 _jaldhar joined
TiMBuS daniel-s, that sure is a lot of code for a rot13 11:00
colomon daniel-s: github.com/perl6/ecosystem
daniel-s TiMBuS: yep
I'm pretty sure it can be done in about 4 lines
daniel-s is not that clever I think 11:01
TiMBuS $rot13 =~ tr[a-zA-Z][n-za-mN-ZA-M];
colomon rakudo: say "This is a test" ~~ tr[a-zA-Z][n-za-mN-ZA-M]; 11:02
p6eval rakudo 248244: OUTPUT«Could not find sub &tr␤ in main program body at line 22:/tmp/grTjrcpckI␤»
TiMBuS thats perl 5 :<
colomon rakudo: say "This is a test".trans([a-zA-Z][n-za-mN-ZA-M]);
p6eval rakudo 248244: OUTPUT«Could not find sub &a-zA-Z␤ in main program body at line 22:/tmp/Z_evrN1B9v␤»
colomon rakudo: say "This is a test".trans("[a-zA-Z]", "[n-za-mN-ZA-M]");
p6eval rakudo 248244: OUTPUT«"[a-zA-Z]" is not a Pair␤ in <anon> at line 2534:CORE.setting␤ in 'Cool::trans' at line 1␤ in main program body at line 22:/tmp/amOECZUy5Y␤»
colomon rakudo: say "This is a test".trans("[a-zA-Z]" => "[n-za-mN-ZA-M]"); 11:03
p6eval rakudo 248244: OUTPUT«This is n test␤»
TiMBuS lol
daniel-s I'll create a META.info for it
colomon don't think I have the syntax right yet. :)
daniel-s and clean up the ELO calculator so that it's a proper module
TiMBuS how do you get a signature on a method again
11:03 daniel-s left 11:05 woosley joined
colomon rakudo: say "This is a test".trans("a..z" => "n..za..m"); 11:05
p6eval rakudo 248244: OUTPUT«Tuvf vf n grfg␤»
colomon rakudo: say "This is a test".trans("a..z" => "n..za..m", "A..Z" => "N..ZA..M");
p6eval rakudo 248244: OUTPUT«(timeout)» 11:06
colomon :(
11:06 Shozan joined
TiMBuS you killed it 11:06
colomon > "This is a test".trans("a..z" => "n..za..m", "A..Z" => "N..ZA..M")
Guvf vf n grfg
that's locally
TiMBuS Guvf vf n grfg
colomon > "Guvf vf n grfg".trans("a..z" => "n..za..m", "A..Z" => "N..ZA..M") 11:07
This is a test
TiMBuS im reading that like the swedish chef
colomon bork bork brk
11:07 tokuhirom left
TiMBuS obex obex obex 11:07
11:17 lichtkind joined 11:19 MayDaniel joined
flussence nine: OS interaction meaning doing stuff outside the program besides just file/socket IO. See perlcabal.org/syn/S17.html for some of it, that spec isn't complete though. 11:20
(you can do a lot with *just* file IO, but not all of us are running on plan9 :) 11:21
11:23 molaf left
nine flussence: sounds like a nice self-contained part on which I could work on and produce some writing on the way. I'd just have to concretise the goal a bit. As I mentioned, this will be an excuse for me as well to learn Perl 6, so I have little idea about what's already working and what's not 11:27
11:31 mtk left 11:33 cognominal_ left, cognominal_ joined 11:34 satyavvd left 11:37 MayDaniel left
flussence the quickest way to find out what works and what doesn't in rakudo is to run `make spectest` - the majority of the tests pass already 11:38
11:39 mtk joined 11:45 daxim left, daxim joined 11:47 icwiener joined, _twitch left 11:49 Mowah left, wamba left
pmichaud good morning, #perl6 11:54
<incoming>
moritz good am, pm 11:55
11:55 Mowah joined
pmichaud gone for a moment, preparing kids breakfast 11:55
dalek kudo/nom: cdad1e9 | pmichaud++ | src/core/Mu.pm:
Stub in a simple Mu.perl method.
11:57
kudo/nom: 490118e | pmichaud++ | src/core/Mu.pm:
Stub a simple Mu.WHERE and Mu.Str(Mu:D:).
kudo/nom: 475b15f | pmichaud++ | / (5 files):
First stage of refactoring List/ListIter. Defines List generation in terms of ListIter.reify().
kudo/nom: 1e514a8 | pmichaud++ | src/ (9 files):
Switch pir__perl6_(list|iter)_from_rpa from functions to opcodes.

Don't flatten elements in scalar containers.
11:57 dalek left 11:58 dalek joined, ChanServ sets mode: +v dalek
takadonet morning all 11:58
12:00 leprevost joined 12:02 Woodi left, Woodi joined
colomon o/ 12:05
moritz \o 12:06
12:07 orafu left, orafu joined
moritz nom: say (0).Bool 12:07
p6eval nom: OUTPUT«Bool::False␤»
moritz nom: my @a = 0; say @a.Bool 12:08
p6eval nom: OUTPUT«Bool::True␤»
12:08 Woodi left 12:10 Woodi joined
pmichaud I killed dalek. 12:15
oh, but it's back :)
colomon what's up with gmp and nqp? he said, excitedly but puzzled 12:17
pmichaud nothing yet, afaik 12:18
I doubt we'll make any serious effort on gmp until after the nom->master transition. 12:19
colomon this is what I'm getting when I try to configure nom atm:
Wynne:rakudo colomon$ perl Configure.pl --gen-parrot --gen-nqp
dyld: Library not loaded: /opt/local/lib/libgmp.10.dylib
Referenced from: /Users/colomon/tools/nom/rakudo/install/bin/nqp
Reason: no suitable image found. Did find:
pmichaud I'm guessing it's parrot asking for gmt, t hen. 12:20
*gmp
*then
colomon interesting
pmichaud afaict there's no mention of "gmp" in the nqp sources 12:21
"ack -a gmp src" returns nothing in the nqp repo
colomon doubly weird because I just installed gmp (new laptop! \o/) so it totally should be the correct architecture. (Not sure if that line came through on #perl6, but it's complaining about wrong architecture in the dylib 12:22
12:22 Woodi left, Mowah left
colomon argh, getting the same message for icu 12:25
12:25 mdrc joined 12:26 cosimo joined
mdrc hello, i've just been playing with perl on windows. Do you know ... is the i/o system only available for time ticks or can you exec and reuse the terminals from the new image? 12:26
tadzik Hello folks 12:27
mdrc: is that one question?
mdrc i guess there are millions 12:28
12:28 Mowah joined
tadzik that doesn't help me much. Is "or" a question separator in your sentence? 12:29
also, is that Perl 6 related?
12:29 woosley left
mdrc i've tried with perls pipe call which works just fine. after exec, however, only STDIN duplications seem to work. Linux seems to embed some of the same problems 12:29
mdrc since perl6 has the VM, it actually, for once, quite relevant 12:31
pmichaud Perl 5 has its own VM. 12:32
mdrc: I'm not sure any of us here quite understand the question you're asking.
mdrc how you pass the file handles or pipe to subsequent process images
you know, like sharing the stdio 12:35
12:35 Woodi joined
pmichaud mdrc: are you using Perl 5 or Perl 6? 12:35
mdrc both
together with binary images 12:36
pmichaud I don't know the answer for Perl 5, although I'm certain it's out there somewhere.
I'm not sure we've figured out how to do that in Perl 6 yet, the I/O system is still experimental.
mdrc would be nice with some terminology, it seems you can only do it portably with TCP sockets 12:37
and even like that, you can't reallyforward the buffers 12:38
12:38 cognominal_ left, cognominal_ joined
mdrc not just perl5, perl6, sed, ed, bash ... it seems to go through the ignorance of fake emulations 12:39
colomon ack. complete fail running Configure.pl in nom this morning. swear I had this working two days ago... 12:40
mdrc then each program has to state a local i/o policy and won't be able to "fuck" with strangers 12:42
i can tell you this much: with elf it's easy to reserve a space for n handles ready to be forwarded 12:49
and remapped 12:50
eventually, resort to fd numbers if you can't control the binary layout 12:51
12:51 wamba joined 12:52 estrabd left, estrabd joined
tadzik I have a feeling that a test that used to run 4 seconds now runs 10 on nom 12:54
pmichaud tadzik: which one? 12:56
and do you mean 4 sec in master, 10 in nom?
tadzik no, about 40 seconds in master, 4 on nom, 10 on nom now 12:57
pmichaud ...which one?
tadzik ah, the test, hold on
pmichaud yes, I meant "which test" (sorry) 12:58
tadzik 2011-06-04 12:52:25 tadzik nom needs like 4 seconds to calculate the sum from 1 to 100000. I think it was like 40 for Rakudo, but I may be wrong
12:58 Woodi left
tadzik I'll paste the test 12:58
wklej.org/id/548037/ 12:59
12:59 Woodi joined
pmichaud how long ago was it that you got the 4s result? 12:59
tadzik 2011-06-04 for sure, maybe it was not-so-long-ago too 13:00
I can wander around a tree a bit
13:00 envi_laptop left
pmichaud 2011-06-04 was an eternity ago as far as nom is concerned. :) 13:00
since then a lot of the number types have been fleshed out and now go through multimethod dispatch
tadzik maybe I should learn how to use git bisect 13:02
pmichaud it's a useful thing to know, yes.
mdrc the get and put commands too 13:03
of ftp
13:03 Woodi left
tadzik how is that connected? 13:04
mdrc by arbitrary nature, 13:05
13:06 Holy_Cow joined
tadzik funny, 29921e6d46 can't even run that test, "Method 'shift' not found for invocant of class 'Array'" 13:06
13:07 _jaldhar left
pmichaud right, say() was broken at that commit. 13:07
it gets fixed in the next commit (64a26cd)
13:07 _jaldhar joined
tadzik oic 13:09
tadzik bisecting 13:15
colomon pmichaud: all the messages went away when I did a make realclean, guess I hadn't actually built nom on the new box yet. 13:19
tadzik crap, compiling the setting segfaults for me on some older revisions
13:21 Mowah left, Woodi joined
colomon ooooo, nom actually runs make test now, and passes like half of the tests! \o/ 13:22
13:24 Mowah joined
pmichaud yes, getting some level of arrays and lists to work helps there :) 13:24
13:24 Mowah left
moritz t/01-sanity/12-try.t seems to loop 13:25
13:26 Mowah joined 13:27 _jaldhar left
mdrc until the i/o scheme is clear i just use a temporary file and an interval. take care 13:29
bye
13:29 mdrc left
flussence
.oO( did someone port SCIgen to IRC? )
13:29
tadzik sigh, the older revisions segfault. I probably need to --gen-nqp on them 13:33
13:52 Mowah left 13:53 dju joined, woosley joined 13:55 woosley left, dju left 13:56 dju joined 13:57 Shozan left
tadzik bisect is awesome 13:58
also, the slowdown isn't rapid, it gets slower and slower over time 14:00
for example 20e114922a568330e9f8903609d5dcd81e6a36fe is 6.something seconds 14:01
PerlJam tadzik: as more and more is implemented on nom?
moritz it might be things like more multi candidates to consider
tadzik PerlJam: more-less, yes
but the time is stable for most of the time
moritz more branches in existing code paths as new features are implemented etc.
14:03 Mowah joined, wamba left
tadzik 723859b08ec68ea8847787ebf47a379d32047c2e is the first bad commit 14:06
it made it jump from 4.70 secs to 6.something 14:07
so yes, the more operators the worse
PerlJam tadzik: you could circumvent MMD and call the exact operator variant if you wanted to reobtain some speed :) 14:11
tadzik I'll wait for the optimizer to do it ;) 14:13
PerlJam a wise choice
14:17 wamba joined 14:20 wtw left 14:36 fhelmberger left 14:39 bluescreen10 joined 14:46 yinyin left 14:49 Woodi left 14:53 Woodi joined 14:56 koban left 15:01 tzhs left
TimToady I find it hilariously ironic that the misplaced article on planetsix ends with: "Ok, hm. One of us miscounted. And I'm a computer." 15:15
15:17 donri joined 15:21 Mowah_ joined 15:24 daxim left 15:26 kfo_ joined 15:27 buubot_backup left
dalek p: 5e83168 | pmichaud++ | src/6model/reprs/P6opaque.c:
Improve NYFI 1 error message with attribute name.
15:29
15:29 kfo left 15:32 Woodi left 15:33 Woodi joined, dju left 15:34 REPLeffect left 15:36 icwiener left 15:40 buubot_backup joined 15:43 alester joined 15:48 proller joined, proller_ joined 15:49 proller left
dalek kudo/nom: 8424798 | pmichaud++ | / (6 files):
Fix array assignment and transitive iteration. Add a &DUMP primitive for displaying data structures. Bump NQP_REVISION to get improvements to attribute error messages.
15:50
15:51 jasonmay left 15:53 yves left, mj41 left 15:57 cooper joined
moritz pmichaud: what does self.gimme(0) do? initialize $!items? 15:58
pmichaud essentially yes.
but it also tells us how many items have already been reified 15:59
(in void context it just initializes $!items)
dalek kudo/nom: 9631d76 | moritz++ | tools/build/Makefile.in:
[build] missing dependency of coretest build target
16:02
16:02 mikejs joined, mikejs left 16:03 mkramer1 joined
moritz nom: END { say 1 } 16:03
p6eval nom: OUTPUT«Could not find sub !add_phaser␤current instr.: '' pc 101 ((file unknown):12955049) (:1)␤»
pmichaud phasers NYI
nom: INIT { say 1 } 16:04
p6eval nom: OUTPUT«Could not find sub !add_phaser␤current instr.: '' pc 101 ((file unknown):33974913) (:1)␤»
pmichaud (just checking)
dalek kudo/nom: 342f7a5 | pmichaud++ | src/core/ (5 files):
Improve .perl by making it a multimethod; Mu.perl now produces "Mu" instead of "Mu()".
16:07
kudo/nom: be75a14 | pmichaud++ | tools/build/Makefile.in:
Merge branch 'nom' of github.com:rakudo/rakudo into nom
16:16 mkramer1 left 16:17 kboga joined
dalek kudo/nom: 9fe1fc0 | pmichaud++ | src/core/ (2 files):
Lists can now handle non-Any elements. We'll also let Arrays hold non-Any elements for now, to be fixed sometime after we have parametric type checking in place.
16:18
kboga hi, perl method in Complex needs to be a multi too?
pmichaud yes
I didn't necessarily get them all :)
kboga :)
pmichaud right now I'm just filling in pieces as I get to them, on the way to building bigger ones 16:20
16:21 MayDaniel joined
kboga these are exciting times for perl 16:22
16:27 Holy_Cow left
dalek kudo/nom: d69f0c9 | moritz++ | src/core/ (3 files):
make all perl() methods multi, kboga++
16:35
pmichaud the .perl methods should also have the :D: on them. 16:36
moritz oh, right
16:39 REPLeffect joined 16:45 birdwindupbird left
dalek kudo/nom: ad9f0b6 | pmichaud++ | src/Perl6/ (2 files):
Add pir::const:: for passing pasm constants to PIR.

Note that these only work within pir::op(...) statements and other items -- you can't assign a pir::const:: value directly to a Perl 6 variable. Binding with C<:=> might be possible, but in that case you're getting a Parrot Integer PMC and not a Perl 6 Int. If/when we need the capability for pasm constants to appear directly in our code, we'll introduce a rakudo::const or similar namespace for it.
16:46
kudo/nom: 7bcb144 | pmichaud++ | src/core/ (2 files):
Fix Signature.count to use new List structures. Add List.munch.
kudo/nom: f340c0e | pmichaud++ | src/core/ (3 files):
Merge branch 'nom' of github.com:rakudo/rakudo into nom
16:49 MayDaniel left 17:00 hercynium joined 17:04 [particle]1 joined 17:05 [particle] left 17:07 [sbp] joined, [sbp] left, gottreu left, alyx left, mattp_ left, rhr left, Eevee left, sjohnson left, yahooooo left, slavik1 left, huf left, sbp left, arnsholt left, kaare_ joined 17:08 sbp joined, gottreu joined, alyx joined, mattp_ joined, rhr joined, Eevee joined, sjohnson joined, yahooooo joined, slavik1 joined, huf joined, arnsholt joined, donri left, donri joined 17:10 sbp left 17:11 sbp joined 17:13 cdarroch joined, cdarroch left, cdarroch joined, gottreu left, alyx left, mattp_ left, rhr left, Eevee left, sjohnson left, yahooooo left, slavik1 left, huf left, arnsholt left 17:16 gottreu joined, alyx joined, mattp_ joined, rhr joined, Eevee joined, sjohnson joined, yahooooo joined, slavik1 joined, huf joined, arnsholt joined, sbp left, Guest87668 left 17:17 nsh joined, mkramer joined, mkramer left 17:18 [sbp] joined 17:24 [sbp] is now known as sbp 17:38 thou joined 17:40 Mowah left 17:45 Chillance joined 17:47 jasonmay joined 17:48 vlixes joined 17:49 proller_ left 17:50 Mowah joined
colomon pmichaud: "The .perl methods should also have the :D: on them." Does that imply that Mu.perl (or something) will handle the :U case correctly for everything? 17:53
17:54 cosimo left
TimToady sure, though of course something like Failure might have its own .perl despite being officially undefined 17:54
so instead of just Failure you can get Failure.new("You suck!") or some such 17:55
iow .perl should allow interesting values of undef to remain interesting :) 17:56
17:57 wamba left
TimToady suddently wonders if handling an exception just involves flipping its .defined bit... 17:57
s/exception/failure/ 17:59
I suspect exceptions are defined, and a failure merely has an exception
but I'll let moritz++ keep thinking about that 18:00
I'm still leaning toward a model where CATCH is invoked with all current exceptions in @! rather than a method on $! 18:02
sorear good * #perl6 18:03
TimToady o/
colomon \o 18:07
sorear TimToady: btw, I found a much simpler way to do is tigher etc (than what you speculated a couple months ago) 18:09
TimToady: I modified the tokens generated by add_categorical to look like ... <O( self.get_O('infix', '@') )> ... 18:10
self.get_O looks up the $*CURLEX<!sub> chain and pulls the "prec_info" slot out of the correct symtab 18:11
so I don't need to "defer add_categorical until after the traits" 18:12
TimToady cool
sorear as long as the traits stash data in the correct symtab, it shows up
niecza: sub infix:<@>($a, $b, :$c) { return $a * $b unless $c; say 1 + 2 @ 3; also is equiv<*>; say 1 + 2 @ 3 }; 0 @ 0 :c # I wonder if this is spectest material
p6eval niecza v6-173-g341faf9: OUTPUT«9␤7␤» 18:13
TimToady I'd guess yes, and then let other impls complain if they can't. :)
in general, most traits need to "happen" instantly, not at some future unspecified commit point 18:17
the fact that it can change parsing at this point is scary, yes. :)
but I can't think of a correcter way to do it 18:18
if some instant trait has dire performance results, then we'll rethink it
18:26 Woodi left
TimToady but if trait info is hard to get to, we're probably hanging it off the wrong peg 18:26
18:33 Woodi joined
TimToady (or an overzealous optimizer could be assuming a language that is too static to mutate effectively) 18:41
18:52 spq joined
dalek ecza: 21aca01 | sorear++ | / (2 files):
Make for-loops work in blasts
18:52
18:52 [particle]1 is now known as [particle] 18:54 birdwindupbird joined 18:58 Woodi left, mj41 joined 18:59 Woodi joined 19:00 jnthn left, jnthn joined 19:02 wamba joined, MayDaniel joined 19:03 Woodi left 19:04 Woodi joined 19:05 MayDaniel left 19:07 bluescreen10 left, bluescreen10 joined 19:11 mj41 left 19:13 kboga left 19:14 mj41 joined, hercynium left 19:16 vlixes left 19:32 Woodi left 19:37 birdwindupbird left 19:38 mberends joined
sorear o/ mberends 19:39
mberends o/ sorear, I wish I was at NPW right now... 19:41
colomon sorear: blasts? 19:42
19:44 araujo joined, araujo left, araujo joined 19:51 Woodi joined
dalek ecza: 5d39e80 | sorear++ | / (3 files):
Add source location information to double-our-definition errors
19:54
sorear colomon: blasts are [ <statement> | <block> ] as used in gather, INIT, etc 19:55
it's a pun-based name; created to allow for "phaser blasts"
mberends: nordic?
colomon: rakudo calls them blorsts. I don't know which is more current... 19:56
pmichaud rakudo copied from std, so if std doesn't have blorsts anymore than std is more current :) 19:57
20:01 MayDaniel joined
colomon sorear: thanks 20:02
20:03 Woodi left 20:09 mj41 left 20:11 Woodi joined 20:14 jevin left 20:15 Woodi left
colomon woo-hoo! just scanned bits of 4000 files with Rakudo in 16 seconds! 20:18
sorear impressive 20:19
colomon It's just opening each file and reading the second line, but it feels satisfyingly like I threw a bigish task at it and Rakudo came through with flying colors. 20:20
it's nicely easy to express in p6, too.
sorear and closing each file? :)
colomon sorear: what was that again? ;)
sorear niecza doesn't have "close" yet, so you'd have some trouble doing that :) 20:21
if you want to access more than FD_MAX files in one program, niecza will make you use "slurp"
colomon I'm relying on the fact that .lines is lazy in Rakudo. 20:22
makes getting the second line in each file very easy
20:23 Woodi joined
colomon bad news is, I didn't find any examples of what I was actually looking for in the files. 20:23
but that's $work, not p6.
gist.github.com/1032239
20:27 y3llow_ joined, pothos_ joined
colomon aha, found what I was looking for in the next file! 20:28
20:29 y3llow left, y3llow_ is now known as y3llow, pothos left, pothos_ is now known as pothos
sorear Is $foo.WHAT() legal? 20:30
colomon rakudo: say 5.WHAT() 20:32
p6eval rakudo 248244: OUTPUT«Int()␤»
sorear Rakudo cheats. 20:33
colomon evidence but not proof. :)
sorear rakudo: say 5."WHAT"()
20:33 tokuhirom joined
p6eval rakudo 248244: OUTPUT«Int()␤» 20:33
20:41 tokuhirom left 20:49 MayDaniel left 20:52 icebattle joined, impious joined 20:55 Raynes left 20:56 Raynes joined 20:57 tokuhirom joined
dalek kudo/nom: 66fe892 | pmichaud++ | src/core/ (3 files):
Create box/unbox functions for RPA <-> Parcel. Eventually we may
20:57
kudo/nom: 8bd5b1e | pmichaud++ | src/core/Mu.pm:
Add container markers to DUMP output.
kudo/nom: 2d09de6 | pmichaud++ | / (4 files):
First version of List.map().
kudo/nom: cee6769 | pmichaud++ | src/core/control.pm:
Stub in a simple &die and &fail.
21:01 Raynes is now known as amalloy, amalloy is now known as Raynes
mberends sorear: yes, Nordic Perl Workshop - conferences.yapceurope.org/npw2011/ - I could not attend because of $work 21:06
pmichaud I could not attend because of it's too darn far away. :(
But I'm there in spirit. :)
mberends too
dalek kudo/nom: 33f9433 | moritz++ | src/core/ (2 files):
fix .perl signatures, pmichaud++
21:08
pmichaud TimToady: did you see the discussion a couple of days ago about using :A and :C instead of :U and :D ? 21:10
21:10 dju joined 21:13 dju left, dju joined 21:15 Woodi left, dju is now known as dju__
lichtkind cheers friendly people 21:16
21:16 Woodi joined 21:17 dju__ left 21:19 dju joined
PerlJam pmichaud: what would :A and :C be mnemonic for? 21:19
pmichaud "abstract" and "concrete"
same as the section heading that currently describes :U and :D
frettled Being concrete makes you very unhappy, I see.
jnthn o/ folks 21:21
21:21 wamba left
jnthn was rather tied up with Architecture Community Day today and NPW :) 21:21
mberends o/ jnthn 21:22
jnthn is happy to have Perl people about :)
And 2 days of workshop now :)
o/ mberends
pmichaud o/ jnthn 21:23
jnthn o/ pmichaud
frettled How are things in Malmö?
(It was Malmö, right?)
jnthn pmichaud: Won't be about long - running on a sleep deficit. :) Any nom bits you need/want to ask about?
mberends PerlJam: :A :B :C ;-) after irclog.perlgeek.de/perl6/2011-06-11#i_3905291
pmichaud ummmmmmm
jnthn frettled: Things are good. We had pre-workshop meetup tonight. There was Perl folks and beer :)
frettled: And was at venue today also and things seem good there. :)
frettled jnthn: yay 21:24
pmichaud just to confirm: prefix;<|> isn't implemented yet?
sorear JNTHN! 21:25
jnthn pmichaud: Correct
pmichaud: Mostly because I've deliberating how to do so.
pmichaud no problem, I worked around it for now 21:26
jnthn pmichaud: I didn't like the way I did it in master much but, well...maybe taht's the way it's gotta be for now.
dalek ecza: 772b7d3 | sorear++ | src/ (2 files):
Detect (with source position) double definitions of attributes and methods
jnthn o/ sorear
sorear jnthn: what might a better way be?
jnthn sorear: Probably defer the unpacking to the binder and handle it on callee side. 21:27
pmichaud jnthn: I don't think I have any pressing questions right now
21:27 Mowah left
jnthn sorear: Parrot wants to flatten caller side, afaik 21:27
Which is awful for laziness. 21:28
pmichaud I have basic lazy lists and arrays in place, and an implementation of (lazy) map
I'm working on gather/take now.
jnthn But fixing that breaks our ability to call anything with | args that isn't going through the Perl 6 binder.
I could try and push for a Parrot change I guess.
It's not one of those bits of Parrot where there's a good way to plug in our own semantics...not easily.
.oO( Owning the platform is good... )
21:30
pmichaud jnthn: best wishes for the workshop tomorrow; I have no doubt it will be outstanding. Wish I could be there. 21:31
how many attendees are you expecting?
jnthn 40
pmichaud not bad at all
jnthn Yeah, about typical for workshop in Sweden.
We have t-shirts with our logo on \o/
pmichaud the one on the site? 21:32
jnthn pmichaud: Yes. The polar bear with the viking hat. :)
pmichaud I'd like a t-shirt with that logo :)
that's cool
sorear jnthn: What does the Rakudo project think of irclog.perlgeek.de/perl6/2011-06-17#i_3944935
jnthn sorear: I'm probably too tired to comment but initial reaction is "can't possibly be right" 21:34
It looks like that trait is modifying behavior of only part of the enclosing sub
That isn't possible. Traits are applied at compile time.
oh, but you're twiddling with the operator itself 21:35
...
*sigh*
Frankly, I don't care. :)
Something feels very wrong there though. 21:36
21:36 masak joined
masak evening, #perl6. 21:36
jnthn o/ masak
21:36 impious left
masak I'm here to edublog. then I'll go to bed. 21:36
pmichaud masak o/ ! 21:37
jnthn sorear: Can't put my finger on it. Something makes me unhappy. Too tired to know what.
sorear: In Rakudo we've traditionally not introduced the operator until having fully parsed the body, though. 21:38
pmichaud I suspect introducing the operator is needed before the body parses.
jnthn Maybe so
pmichaud for recursion, if nothing else.
moritz rakudo: sub postfix:<!>($x) { $x == 0 ?? 1 !! $x * ($x - 1)! }
p6eval rakudo 248244: ( no output )
moritz rakudo: sub postfix:<!>($x) { $x == 0 ?? 1 !! $x * ($x - 1)! }; say 5!
p6eval rakudo 248244: OUTPUT«120␤»
jnthn I'm not sure going back and playing with the precedence after the recursion is wise though.
moritz: oh, we must do it earlier than that.
gah, after the role application I meant. 21:39
pmichaud I'm pretty sure we handle it as soon as it's parsed in master.
jnthn ah, OK
Traits also?
pmichaud no, I don't think we do that part yet.
that's part of why we don't implement precedence yet :)
jnthn question is when we create the Code object
Anyway, for now nom defers that until too late for what Niecza does there to work, 'cus it's easier. 21:40
I can fiddle with it to be the other way
But it's hardly a priority.
21:41 Psyche^ joined 21:43 kaare_ left 21:45 Patterner left, Psyche^ is now known as Patterner
masak rakudo: my %h = <a 1 b 2 c 3>; say %h.elems 21:48
p6eval rakudo 248244: OUTPUT«3␤»
masak nods
pmichaud nom: my %h = <a 1 b 2 c 3>; say %h<b>; # checking
p6eval nom: OUTPUT«2␤»
jnthn nice :)
moritz nom: my %h = <a 1 b 2 c 3>; say %h.elems
p6eval nom: OUTPUT«Method 'elems' not found for invocant of class 'Hash'␤current instr.: '_block1002' pc 131 ((file unknown):142) (:1)␤»
pmichaud I probably need to implement Pairs soon.
jnthn Probably. :) 21:49
pmichaud yes, I haven't done the list functions for hashes yet.
masak .oO( One Night In Pairs )
TimToady
.oO(Pairs in the the Spring)
21:50
mberends masak++ # stamina maintaining his blogathon pace 21:51
masak .oO( An American in Pairs )
pmichaud A Full House beats Two Paris.
masak mberends: this weekend's the toughest one, but I knew it would be.
sorear disturbing jnthn so much shouldn't feel like an accomplishment what's wrong with me :| 21:52
masak rakudo: my %h = <a 1 b 2 c 3>; say %h.keys; say ~%h.keys; 21:53
p6eval rakudo 248244: OUTPUT«abc␤a b c␤»
jnthn sorear: I'm running a sleep deficit. :)
21:58 masak left, masak` joined 21:59 leprevost left
sorear hello masak` 22:06
masak` \o
22:06 masak` is now known as masak
pmichaud afk for a while... nap 22:06
sorear nap++
jnthn decent nights sleep at last...maybe & 22:09
22:13 bluescreen10 left
masak rakudo: my %h; say %h<foo>; say %h.elems; %h<foo>++; say %h.elems 22:15
p6eval rakudo 248244: OUTPUT«Any()␤0␤1␤»
sorear waits for all(@Larry) to all show up at once 22:18
22:20 icebattle left
dalek ecza: 365e216 | sorear++ | src/ (2 files):
Detect multiple our subs, importing operators with custom precedence
22:25
masak blog post! strangelyconsistent.org/blog/june-17-2011-hashes
sorear masak: is 555-414141 a fictional Swedish phone number? 22:26
masak no, the '555' is mostly used in Hollywood movies, I believe. 22:28
en.wikipedia.org/wiki/555_(telephone_number) 22:29
22:29 alester left
masak 'night, #perl6. 22:30
22:30 masak left 22:39 am0c joined 22:53 Tanktalus left
lichtkind sorear: i think the only question you missed last time was if theres any thing important you want to let know people about niecza 22:54
sorear I didn't miss that question, I just don't know how to answer it
TimToady: How should 'uassoc' be exposed to Perl 6? 22:57
22:59 Tanktalus joined
lichtkind sorear: are there any clues you stumbled upon about perl 6 , implementation or else you think are important? 22:59
sorear I've learned hundreds of things about Perl 6 while trying to implement it 23:00
lichtkind sorear: did you study rakudo sources before you began? 23:05
23:14 fhelmberger joined 23:22 thou left, thou joined 23:23 mtk left 23:27 thou left 23:29 Chillance left 23:31 _jaldhar joined
sorear lichtkind: yes 23:31
today's major project will be the implementation of the remaining cases of name reference. $CALLER::($y) and all that. 23:39
lichtkind sorear: thats way too specific for my readers :)
sorear: which conclusions did you draw from reading rakudo sources? 23:40
23:49 whiteknight joined 23:53 fhelmberger left