»ö« 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
sorear what is the "irs" keyword? perl6.vim higlights that 00:21
TimToady input record separator? 00:25
sorear I guess
TimToady Krunch: ah, I see you were thinking about sleep sort :) 00:34
TimToady it showed up on rosettacode too 00:40
dalek ecza: a2ad340 | sorear++ | / (4 files):
Tweak package redef checking, refactor the way categoricals find their precedence
01:37
sorear for map @<tr> -> $T { ... } # I'm amazed this parsed. It did NOT work... 06:10
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
moritz what should map do with a non-callable? smartmatch? 06:24
sorear moritz: die with a MMD error 06:30
moritz good 06:31
dalek p: af3db5b | pmichaud++ | src/6model/reprs/P6opaque.c:
Improve NYFI 4 message to include name of attribute not located.
06:57
sorear o/ pmichaud 06:59
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
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
dalek ecza: 58a25d9 | sorear++ | / (4 files):
Implement is tighter/looser/equiv/assoc
07:36
sorear hey dukeleto
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
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
dalek ecza: 66b7213 | sorear++ | src/niecza:
Fix stubbing of ::-qualified packages. AGAIN.
08:14
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␤»
dalek ecza: 341faf9 | sorear++ | src/ (5 files):
mergeback
09:12
sorear -> sleep 09:15
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
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
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
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/
daniel-s also, is it worth it for mine 10:59
colomon daniel-s: add it to the ecosystem 11:00
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
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 :(
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
TiMBuS obex obex obex 11:07
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
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
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
pmichaud good morning, #perl6 11:54
<incoming>
moritz good am, pm 11:55
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.
takadonet morning all 11:58
colomon o/ 12:05
moritz \o 12:06
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␤»
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
colomon argh, getting the same message for icu 12:25
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
tadzik that doesn't help me much. Is "or" a question separator in your sentence? 12:29
also, is that Perl 6 related?
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
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
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
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
tadzik I'll paste the test 12:58
wklej.org/id/548037/ 12:59
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
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
tadzik how is that connected? 13:04
mdrc by arbitrary nature, 13:05
tadzik funny, 29921e6d46 can't even run that test, "Method 'shift' not found for invocant of class 'Array'" 13:06
pmichaud right, say() was broken at that commit. 13:07
it gets fixed in the next commit (64a26cd)
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
colomon ooooo, nom actually runs make test now, and passes like half of the tests! \o/ 13:22
pmichaud yes, getting some level of arrays and lists to work helps there :) 13:24
moritz t/01-sanity/12-try.t seems to loop 13:25
mdrc until the i/o scheme is clear i just use a temporary file and an interval. take care 13:29
bye
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
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.
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
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
dalek p: 5e83168 | pmichaud++ | src/6model/reprs/P6opaque.c:
Improve NYFI 1 error message with attribute name.
15:29
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
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
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
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
kboga these are exciting times for perl 16:22
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
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
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
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
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
TimToady but if trait info is hard to get to, we're probably hanging it off the wrong peg 18:26
TimToady (or an overzealous optimizer could be assuming a language that is too static to mutate effectively) 18:41
dalek ecza: 21aca01 | sorear++ | / (2 files):
Make for-loops work in blasts
18:52
sorear o/ mberends 19:39
mberends o/ sorear, I wish I was at NPW right now... 19:41
colomon sorear: blasts? 19:42
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
colomon sorear: thanks 20:02
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
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
colomon aha, found what I was looking for in the next file! 20:28
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"()
p6eval rakudo 248244: OUTPUT«Int()␤» 20:33
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.
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
lichtkind cheers friendly people 21:16
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
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
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
masak evening, #perl6. 21:36
jnthn o/ masak
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.
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. :)
sorear hello masak` 22:06
masak` \o
pmichaud afk for a while... nap 22:06
sorear nap++
jnthn decent nights sleep at last...maybe & 22:09
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
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
masak 'night, #perl6. 22:30
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
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
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