Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-12

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 timotimo_ what is the second argument to stat for? "put a 0 here"? :P
00:02 timotimo_ except sometimes you put 7
00:04 timotimo_ ah, found the list of constants
00:05 fgomez joined #perl6
00:39 dalek nqp: 6b97517 | (Timo Paulssen)++ | src/HLL/Compiler.pm:
00:39 dalek nqp: better message for nonexistent files on the commandline.
00:39 dalek nqp: review: https://github.com/perl6/nqp/commit/6b97517ab5
00:45 lee__ timotimo_: would it make more sense to do the stat in the catch block? </peanutgallery>
00:47 timotimo_ hm, can the stat throw?
00:48 lee__ i'm not sure, i was just thinking you could avoid a stat in most cases, and only do it to get the more specific error
00:49 japhb_ Why bother stat'ing at all?
00:49 japhb_ What does it tell you that a failed open does not?
00:50 timotimo_ well, it allows me to say "coldn't stat" ... i guess?
00:51 japhb_ timotimo_, but that's not friendly to the user -- they only want to know if the file could be opened.
00:51 japhb_ Plus, they don't want to run a directory, right?
00:51 timotimo_ that sounds reasonable. i'll roll it back to what i had before
00:52 Targen joined #perl6
00:52 japhb_ Just skip the first bit with the stat.  The rest of the change seems sane to me.
00:52 timotimo_ i guess i'll run some tests now, too :)
00:52 dalek nqp: 1e657f9 | (Timo Paulssen)++ | src/HLL/Compiler.pm:
00:52 dalek nqp: the stat was kind of superfluous
00:52 dalek nqp: review: https://github.com/perl6/nqp/commit/1e657f9f0d
00:57 anuby joined #perl6
01:03 araujo joined #perl6
01:03 araujo joined #perl6
01:12 lustlife joined #perl6
01:22 hypolin joined #perl6
01:48 rking joined #perl6
01:56 timotimo_ lee__: now i remember why i changed it like that. look at the bug report: https://rt.perl.org/rt3//Ticket/Display.html?id=112988 - it would be nice to have a "no such file" in there
01:56 timotimo_ Could not open does_not_exist.p6. Unable to open filehandle from path 'does_not_exist.p6'  -  this isn't much prettier either, but at least it doesn't show a lengthy stack trace
02:00 rindolf joined #perl6
02:30 xinming joined #perl6
02:46 am0c joined #perl6
02:57 stevan_ joined #perl6
03:02 adu joined #perl6
03:03 Jimmy_ joined #perl6
03:07 orafu joined #perl6
03:15 dalek perl6-roast-data: 3ae6521 | coke++ | / (4 files):
03:15 dalek perl6-roast-data: today (automated commit)
03:15 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/3ae65216aa
03:49 LlamaRider joined #perl6
04:12 SamuraiJack joined #perl6
04:15 daniel-s joined #perl6
04:28 jaldhar joined #perl6
04:50 SmokeMachine joined #perl6
04:50 preflex joined #perl6
04:54 ircleuser joined #perl6
04:55 Heather joined #perl6
04:55 Heather is there 'elif' ?
04:55 Heather if elif else ?
04:55 timotimo_ it's called elsif
04:56 Heather oh... thanks
04:56 timotimo_ it already complains if you try "else if", maybe it should get to know "elif", too
04:56 timotimo_ i'll do that tomorrow if nobody else does
04:56 timotimo_ gnite!
04:57 diakopter o/
04:59 Heather timotimo_ gnite
04:59 Heather what means "Missing block" ?
05:00 diakopter what's the line?
05:00 Heather when f { say 'f'; }
05:00 Heather in given block
05:01 Heather I'm trying to match IO
05:01 diakopter what's f
05:01 Heather IO.f
05:01 * diakopter squints
05:02 diakopter what's the given line?
05:03 Heather diakopter sec
05:03 diakopter oh, did you try  :f
05:03 Heather diakopter I'm trying to make something alike https://gist.github.com/Cynede/5140496
05:04 Heather diakopter :f works ! thank you
05:05 diakopter hm, what about  .IO.f
05:05 Heather updated gist
05:06 diakopter oh ok
05:06 Heather diakopter wait ... can I mach it alike .IO.f ? )
05:06 diakopter I dunno
05:06 Heather how to check if there is no such file at all?
05:07 Heather diakopter for now I think if that is not dire not file and not link that it's nothing )
05:07 diakopter r: say "perl7".IO.e
05:07 p6eval rakudo 810412: OUTPUT«False␤»
05:07 diakopter r: say "perl6".IO.e
05:07 p6eval rakudo 810412: OUTPUT«False␤»
05:07 diakopter oh..
05:08 diakopter erm
05:08 * diakopter is still guessing blindly
05:08 diakopter r: say ".".IO.e
05:08 p6eval rakudo 810412: OUTPUT«True␤»
05:08 diakopter oh heh
05:08 diakopter r: say ".".IO.d
05:08 p6eval rakudo 810412: OUTPUT«True␤»
05:08 diakopter r: say ".".IO.f
05:08 p6eval rakudo 810412: OUTPUT«False␤»
05:08 diakopter okay yeah; e
05:08 Heather diakopter can I write: 'when :f :l {' ?
05:09 Heather so I need match both in one case, :f and :l
05:09 Heather seems like yes )
05:10 Heather cool
05:10 diakopter put & between
05:10 Heather I need OR
05:10 diakopter |
05:10 Heather but it works just with space :S
05:10 Heather seems like...
05:11 Heather yes, tested
05:11 Heather when :f :l { works
05:11 diakopter r: given '.'.IO { when .e&.d { say 44 } }
05:11 p6eval rakudo 810412: OUTPUT«44␤»
05:11 diakopter r: given '.'.IO { when .f|.d { say 44 } }
05:11 p6eval rakudo 810412: OUTPUT«44␤»
05:12 diakopter huh.
05:12 Heather r: given '.'.IO { when :f :d { say hi } }01
05:12 Heather ....
05:12 Heather p6eval hey
05:13 diakopter what? :)
05:13 Heather doesn't work
05:13 Heather I mean bot
05:13 diakopter your messages look blank to me
05:13 * diakopter checks the clogs
05:13 diakopter oh! weird.
05:13 Pleiades` you put a space in before the r:
05:14 Heather r: given '.'.IO { when :f :d { say 44 } }
05:14 Heather ...
05:14 diakopter I think you pasted it; try retyping it
05:14 Heather r: say 'where are you'
05:14 Heather he ignores me :(
05:15 TimToady your r: is in very dim grey here
05:15 diakopter ohhh maybe your irc client is coiloring
05:15 diakopter coloring even
05:15 TimToady r: given '.'.IO { when :f :d { say 44 }}
05:15 p6eval rakudo 810412:  ( no output )
05:15 Heather it is
05:16 TimToady :f :d doesn't actually work
05:16 Heather r: say 'test'
05:16 p6eval rakudo 810412: OUTPUT«test␤»
05:16 TimToady r: given '.'.IO { when :f | :d { say 44 }}
05:16 p6eval rakudo 810412: OUTPUT«44␤»
05:16 Heather yeah
05:16 TimToady it's applying the :d as a modifier on the :f, and probably ignoring it
05:16 TimToady n: given '.'.IO { when :f :d { say 44 }}
05:16 Heather r: given '.'.IO { when :f :l { say 44 }}
05:16 p6eval niecza v24-33-gfc6d5fd: OUTPUT«[31m===[0mSORRY![31m===[0m��Multi colonpair syntax not yet understood at /tmp/7tETQCwxcz line 1:�------> [32mgiven '.'.IO { when :f :d [33m�[31m{ say 44 }}[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1…
05:16 p6eval rakudo 810412:  ( no output )
05:16 diakopter r: say :alone :in :the :world
05:16 p6eval rakudo 810412: OUTPUT«␤»
05:17 TimToady named args there
05:17 Heather I see
05:17 Heather will use | then
05:17 diakopter r: say (:alone :in :the :world)
05:17 p6eval rakudo 810412: OUTPUT«"alone" => Bool::True␤»
05:18 TimToady I'm not sure named args should be applied to a pair...
05:18 diakopter r: say {; :alone :in :the :world}()
05:18 p6eval rakudo 810412: OUTPUT«"alone" => Bool::True␤»
05:19 TimToady a colon pair where an infix is expected is applied as an adverb
05:19 TimToady to whatever operation is on the left
05:19 TimToady but :alone isn't exactly an operation...
05:20 diakopter r: say {; .alone: in::the:world}()
05:20 p6eval rakudo 810412: OUTPUT«Could not find symbol '&the'␤  in method <anon> at src/gen/CORE.setting:10545␤  in  at src/gen/Metamodel.pm:2493␤  in any find_method_fallback at src/gen/Metamodel.pm:2481␤  in any find_method at src/gen/Metamodel.pm:929␤  in  at src/gen/BOOTSTRAP.pm:895␤  in any  â€¦
05:21 diakopter o_O
05:23 diakopter r: &_::_::_::_::_::_::_::_::_::_
05:23 p6eval rakudo 810412:  ( no output )
05:24 diakopter r: &BOOGABOOGA::BOOGA
05:24 p6eval rakudo 810412:  ( no output )
05:26 * diakopter happily sees Stefon appear on SNL
05:33 Heather how to return from main?
05:33 Heather return; ?
05:33 diakopter exit 0 ?
05:35 Heather diakopter thanks
05:35 wk joined #perl6
05:36 * diakopter is glad some of my guesses have worked..
05:39 Heather diakopter how to concat strings? :)
05:39 Heather diakopter ~ ?
05:39 diakopter yes
05:39 Heather diakopter is there something alike sprint ?
05:40 Heather diakopter like with %s %d ...
05:40 diakopter yep http://perl6advent.wordpress.com/2009/12/02/day-2-the-beauty-of-formatting/
05:41 Heather wow...
05:42 Heather truly cool
05:44 diakopter :)
05:45 kaleem joined #perl6
06:10 Heather I think I'm about to present my first perl program :D
06:11 Timbus o boy, i love spaghetti
06:11 Heather spaghetti ? )
06:12 Timbus I'm just being mean :v
06:12 diakopter Heather: what's your program
06:12 Heather adds line to file \o/
06:12 Timbus an excellent use for perl
06:13 Timbus (was actually being serious that time)
06:14 diakopter -_-
06:14 diakopter sorry just sleepy
06:14 Heather \p/
06:15 diakopter the tail of the p must be long hair
06:15 Heather https://github.com/Cynede/ignore
06:15 Heather https://github.com/Cynede/ignore/blob/master/bin/ignore
06:16 diakopter you don't need the () after if
06:17 Heather diakopter I think I don't :S
06:17 Heather habit
06:17 diakopter what is  .elems = 1
06:17 Heather if found 1 element )
06:18 diakopter ==
06:18 Heather overhead
06:18 diakopter ?
06:18 Heather basically I can check it with :e
06:18 Heather oh....
06:18 Heather I need ==
06:18 Heather true
06:18 Heather another habit -_-'
06:19 Timbus a habit from.. basic??
06:19 Heather ml
06:19 Timbus oh phew
06:19 Heather :P
06:20 Timbus howcome you indent your closing braces? thats one of the more different styles ive seen
06:21 diakopter I think the :e is redundant:  :e & (:f | :l)
06:21 Heather Timbus I indent last bracket with code
06:21 Heather diakopter if file don't exist it goes in this pattern, I don't know why
06:21 Heather doesn't
06:21 Timbus yes I see. Is that a particular style from somewhere?
06:22 diakopter that sounds like a bug
06:22 Heather Timbus I inline first bracket like K&R and indent last like GNU
06:22 Timbus oooh yeah. gnu style
06:23 Heather Timbus but not very GNU alike ... gnu was a bit more weird )
06:23 Heather http://en.wikipedia.org/wiki/GNU_coding_standards
06:24 Heather they have double indent
06:24 Heather I do single indent for code and for closing bracket
06:24 Heather it makes me feel like I have no brackets and use empty line in the block ending
06:26 Heather Timbus another example: https://github.com/Cynede/ctodo/blob/master/ctodo.c
06:27 Timbus i see
06:28 Timbus well its readable
06:28 Timbus and youre very consistent so yeah. its just different to follow
06:29 Heather thanks )
06:30 Heather it's because after some ml practice I think in ml and when I write void doit() { I think about let doit() =
06:31 diakopter sorear: did you feel the quake
06:32 sorear no
06:32 sorear sleep&
06:32 Heather diakopter quake?
06:32 Heather not
06:33 diakopter socal
06:41 Heather diakopter to check if string contains something I need regexp?
06:46 diakopter r: say "foo" ~~ /fo/
06:46 p6eval rakudo 810412: OUTPUT«「fo」␤␤»
06:48 Heather Quantifier quantifies nothing
06:49 Heather diakopter I want match *
06:50 Heather diakopter \* ?
06:50 diakopter . means any char
06:50 diakopter * means 0..Inf repetitions of the previous
06:50 diakopter so .* means match anything or nothing
06:51 Heather wait ... how user will input * -_-'
06:51 Heather fault
06:51 diakopter oh, you mean literal *
06:51 diakopter '*'
06:51 diakopter er
06:51 Heather yes
06:52 diakopter r: say '*' ~~ /'*'/
06:52 p6eval rakudo 810412: OUTPUT«「*」␤␤»
06:52 Heather seems like /\*/ also works
06:52 Heather r: say 'hi*' ~~ /\*/
06:52 p6eval rakudo 810412: OUTPUT«「*」␤␤»
06:52 Heather r: say 'hi' ~~ /\*/
06:52 p6eval rakudo 810412: OUTPUT«#<failed match>␤»
06:53 Heather diakopter but it's non-inputable )
06:54 Heather diakopter only if user will put something alike "*" but user is lazy :(
06:59 Heather How can I creat code wrappers, alike usingFile { code code code }  # File will be closed in the end
07:00 Heather wrapped code could be some lambda )
07:11 Heather wait.... TimToady is perl creator? O_O
07:13 tadzik yes
07:13 Heather wow...
07:13 tadzik I remember myself suddenly discovering that :P
07:14 Pleiades` ^ same
07:17 Heather on windows I have strawberry perl and I was checking if there is anything interesting and there was quote on main page (http://strawberryperl.com/) in picture and I was alike "who is this" then found github account then wikipedia article )
07:19 Heather tadzik does rakudo means something in Japanese? A butterfly maybe?
07:21 Timbus 'way of the camel'
07:21 Heather Timbus do<- way raku<-camel ?
07:23 Timbus well the 'do' part is correct, i dont actually know if raku means camel
07:23 tadzik rakuda-do, or so
07:25 labster joined #perl6
07:30 rindolf joined #perl6
07:31 * labster looks at backlog...
07:32 labster rakuda-do means way of the camel.  rakudo means paradise
07:33 Heather labster oh.. and what means butterfly? :)
07:33 labster chou in japanese.  mariposa in spanish.
07:33 Heather labster I mean in logo
07:33 Heather I have some obsession to sybolics )
07:34 labster I think Camelia means happiness.
07:36 Heather labster Camelia?
07:36 labster I suppose her name would be Tsubaki in Japanese, but that's not so much of a pun.
07:37 Heather labster the butterfly is Camelia? :S
07:37 labster Camelia is the name of the Perl6 butterfly.
07:37 rindolf joined #perl6
07:37 labster http://www.perl6.org/ <-- first sentence here
07:38 Heather oh -_-'
07:39 Heather labster what is spokesbug
07:39 labster spokesperson ~~ s/person/bug/
07:40 labster an insect who speaks for us.
07:41 labster speaking of bugs:
07:41 labster r: say 1.1.fmt('%.*f')
07:41 p6eval rakudo 810412: OUTPUT«Null PMC access in get_number()␤  in method fmt at src/gen/CORE.setting:2293␤  in block  at /tmp/YwbgSjFsYH:1␤␤»
07:42 Heather I see
07:52 wk joined #perl6
07:57 yeltzooo joined #perl6
08:00 Heather does someone use Parde ...
08:02 FROGGS joined #perl6
08:09 moritz szabgab does
08:10 moritz though he isn't on IRC much these days
08:11 domidumont joined #perl6
08:11 Heather want to try it. it's gentoo ebuild suddenly disappeared from tree, maybe I should recover it.
08:33 domidumont joined #perl6
08:43 brrt joined #perl6
08:59 Jimmy_ joined #perl6
08:59 Jimmy_ .u ☭
08:59 yoleaux U+262D HAMMER AND SICKLE [So] (☭)
08:59 tadzik hrm
09:01 Heather :D
09:07 hoelzro what's the recommended way to ./configure ; make ; make test ; make install for a Perl6 module?
09:07 hoelzro I'm guessing that's up in the air atm...
09:07 grondilu joined #perl6
09:07 hoelzro is ufo still a thing?
09:07 * hoelzro is looking into generating packages for Perl6 modules
09:07 grondilu Is there a german here?  If so, what does "Haftungsbe" mean to you?
09:08 Heather hoelzro I like ufo
09:08 grondilu (I don't see it on wiktionnary.org but this word seem to exist)
09:08 daxim joined #perl6
09:08 Heather grondilu maybe it's alike ehrnviuerhbreiuvreiojgoehuhuj ?
09:10 FROGGS grondilu: that word isn't complete
09:10 bonsaikitten grondilu: it's part of a word
09:10 tadzik hoelzro: ufo && make  test I guess
09:10 FROGGS grondilu: could be Haftungsbescheid, though I dont hope you mean that
09:11 tadzik ufo is The Thing for module developers
09:11 bonsaikitten grondilu: "Haftungsbeschraenkt" or similar would mean "limited liability" or something equivalent
09:11 hoelzro ok, I didn't know if that was "standard"
09:11 tadzik yes, it is
09:12 tadzik well battle-proven too :)
09:12 grondilu bonsaikitten: thanks.  I guess it is this.
09:12 Heather bonsaikitten it reminds me some fun picture set about Deutch...
09:12 FROGGS RATZKRATZNFATZ!!
09:13 bonsaikitten Heather: ambulance, ambulance, KRANKENWAGEN ?
09:13 hoelzro ok, great!
09:13 FROGGS butterfly, SCHMETTERLING
09:13 brrt psyche?
09:13 Heather YES
09:13 Heather :D
09:13 FROGGS :#|
09:13 Heather found it http://www.trolino.com/image?id=15874
09:14 bonsaikitten FROGGS: and the fun is that schmetter- means smashing- ... so a butterfly in german is a SMASHER
09:14 bonsaikitten hulk butterfly!
09:14 FROGGS hehe
09:15 Heather it's big picture set -_-'
09:15 FROGGS bonsaikitten: "Der deutsche Name „Schmetterling“, 1501 erstmals belegt, kommt vom slawischstämmigen ostmitteldeutschen Wort Schmetten (das heißt Schmand, Rahm)" [...]
09:15 FROGGS so butterfly
09:15 bonsaikitten FROGGS: ah, so it's a cream-fly instead of a butter-fly
09:15 bonsaikitten that's an interesting etymology
09:15 FROGGS right :o)
09:16 bonsaikitten I still prefer to parse it as "HULK SMASH"
09:17 FROGGS well, if you know the spongebob episode.... hulk fits well
09:23 bonsaikitten no, I don't
09:23 bonsaikitten :\
09:26 fhelmberger joined #perl6
09:31 dakkar joined #perl6
09:46 brrt left #perl6
09:59 eiro joined #perl6
10:28 hoelzro hmm
10:29 hoelzro in order to use ufo for module installation when building package, it's going to need DESTDIR support...
10:29 tadzik you can use panda :)
10:29 tadzik DESTDIR=foo panda install .
10:29 hoelzro hmm
10:29 hoelzro that would be acceptable
10:29 hoelzro although bootstrapping that will be...interesting.
10:29 tadzik it'll just be tad slower
10:30 hoelzro I'm guessing panda can install itself?
10:30 tadzik panda bootstraps itself using panda :)
10:30 tadzik yes
10:30 hoelzro perfect =)
10:30 hoelzro so I'll have to tell my spec conversion script to skip panda
10:30 hoelzro and write spec files for panda by hand
10:30 hoelzro which isn't too bad
10:30 tadzik spec files?
10:31 hoelzro PKGBUILD/RPM specs/DEB spec files
10:31 hoelzro for Linux distros
10:31 tadzik nice
10:31 hoelzro I want Rakudo * to be installable as a meta-package by 2013.04
10:32 hoelzro and it's something I can help with
10:32 hoelzro I feel like a lot of the effort in the Perl 6 community is focused on the compiler(s)
10:32 hoelzro which *is* important
10:32 Heather moar benchmarks please
10:32 tadzik I was recently thinking about a marketing effort
10:33 hoelzro but I think that people will be more keen to slap the "production-ready" label on if there's some infrastructure behind it
10:33 tadzik like those who say "look, our language X is faster than C!"
10:33 tadzik everyone knows it's total bullshit, but they get the attention they wanted
10:33 Heather tadzik it's not bullshit :)
10:33 tadzik there are things we can advertise. Built-in profiler, for example
10:33 tadzik Heather: of course it is. C is a language, not an implementation :)
10:34 tadzik languages aren't fast
10:34 hoelzro well, to take a note from chromatic: I think we need real-world examples that don't break between releases
10:34 hoelzro rosetta code is nice and all
10:34 hoelzro but a web application or something like that would probably go over better
10:34 arnsholt We're getting there
10:34 Heather tadzik so... but people don't mean exactly language when they say such )
10:35 arnsholt Not quite in place just yet, but I think it's within reach soon
10:35 hoelzro I was thinking of registering 6pan.org
10:35 tadzik yeah, but it's always "here, we came up with something in language X that coincidentally runs faster than other thing we wrote in C"
10:35 arnsholt I have a plan involving both Zavolaj and webapps
10:35 hoelzro arnsholt: oh?
10:35 * hoelzro listens up
10:35 * Heather is faster then C
10:35 arnsholt Do you know Mongrel 2?
10:36 hoelzro I know of it
10:36 arnsholt Well, it handles all the annoying HTTP bits and communicates with webapps over ZMQ
10:36 hoelzro right
10:37 arnsholt So my idea is to get a ZMQ wrapper going, and then plug that into Mongrel 2 to make some kind of webapp
10:37 hoelzro hmm
10:38 * grondilu just edited the Perl 6 entry in wikidata:  http://www.wikidata.org/wiki/Q2052676    :)
10:38 hoelzro I think I would start with bailador + nginx proxy
10:38 hoelzro just to get something off the ground
10:41 arnsholt That'll work as well
10:41 hoelzro having a module repository for Perl 6 (something a little better than modules.perl6.org) would be nice
10:42 hoelzro and *actual* releases, rather than "build from Git"
10:42 hoelzro heck, for the time being, we could fork MetaCPAN and use it =)
10:43 tadzik PAUSE, more like
10:43 hoelzro good point
10:43 hoelzro PAUSE ne MetaCPAN
10:43 tadzik I think it would be nice if you could just tag a release on git and the module repo will figure out the rest for yourself
10:44 hoelzro I'm 110% behind that
10:44 tadzik I like things being easy :)
10:44 hoelzro I'm in favor of easy
10:44 hoelzro especially if that's part of the "killer features" of Perl 6
10:44 tadzik hmm
10:44 hoelzro "wanna release your module? git tag -s"
10:45 tadzik I may want to look at that soonish
10:45 hoelzro you just need to cope with other rev systems
10:45 Heather left #perl6
10:45 hoelzro and people who tag version 0.01 as 0.01, v0.01, release/0.01, etc
10:45 tadzik we'll deal with them when anyone uses them :P
10:45 tadzik here we go, an easy way to enforce conventions :0
10:45 hoelzro Git is the winner in the Perl 6 community, it seems
10:45 arnsholt I think there are several things not done yet about modules though
10:47 tadzik I'm said that the smoketesting thing never took off
10:47 tadzik sad *
10:47 tadzik it's all in place, it's just cron not working
10:47 tadzik http://feather.perl6.nl/~sergot/modules/ I mean this
10:48 * tadzik vanishes
10:52 am0c joined #perl6
10:58 Heather joined #perl6
10:59 Heather tadzik panda installs all it's dependies?
11:00 Heather it's bad for packaging.
11:00 hoelzro that's why you make sure all of the dependencies are installed when building the package =)
11:00 hoelzro but a --nodeps option would be nice
11:02 Heather hoelzro yes, it must not install them in package because deps are another packages controlled by PM
11:02 colomon tadzik: I'm still planning on trying to set up smoke testing on my new Linux box.  Just need to find the tuits...
11:03 daxim https://raw.github.com/bbkr/jsonrpc/master/logotype/logo_32x32.png
11:03 daxim this means invoking a deity, right?
11:06 grondilu TimToady: I updated your entry wikidata:  http://www.wikidata.org/wiki/Q92597
11:06 grondilu :)
11:06 grondilu gist: Larry Wall:  creator of Perl, also known as TimToady.
11:07 masak ahoj, #perl6
11:12 Heather ahoj?
11:12 Heather masak hi
11:15 FROGGS ++colomon # I'll do the same on my boxes then
11:17 am0c joined #perl6
11:22 rindolf joined #perl6
11:22 rindolf Hi all.
11:22 Heather masak why ufo default installation place and default PERL6LIB are different?
11:30 colomon because ufo is ancient....
11:31 Heather colomon panda makes the same -_-'
11:31 Heather but... I'm not sure, it makes the same for itself
11:31 Heather when I run bootstrap
11:32 Heather maybe I use wrong prefix...
11:33 Heather bonsaikitten where to istall perl stuff?
11:34 bonsaikitten Heather: in the usual places
11:34 * bonsaikitten disappears to hunt some food
11:34 Heather -_-' usual places for me is C:\Program Files
11:34 Liz_ joined #perl6
11:36 GlitchMr- joined #perl6
11:37 crab2313 joined #perl6
11:37 ingyfoo joined #perl6
11:37 nebuchad` joined #perl6
11:37 charsbar______ joined #perl6
11:37 `patch`_ joined #perl6
11:38 orevdiabl joined #perl6
11:38 rjbs- joined #perl6
11:38 avarab joined #perl6
11:38 avarab joined #perl6
11:39 Util_ joined #perl6
11:39 integral_ joined #perl6
11:39 integral_ joined #perl6
11:39 BooK_ joined #perl6
11:42 simcop2387_ joined #perl6
11:45 Heather I know where is the light !
11:45 lestrrat joined #perl6
11:45 Heather masak we need DISTDIR \p/
11:46 Heather PREFIX != DISTDIR
11:47 Heather I will try to implement it
11:50 yves_ joined #perl6
11:52 hoelzro DESTDIR for ufo would be nice
11:53 ilogger2 joined #perl6
11:53 Heather default to ED?
11:56 Heather hoelzro https://github.com/Cynede/ufo/commit/1a0fd4f5bc1a0ee3dfc0c3cd0fc7c6cc0fea0425 see if I made something wrong
11:58 hoelzro what's ED?
11:58 moritz why do we need both $DESTDIR and $PREFIX?
11:58 moritz why not just set $PREFIX to the concatenation of both values?
11:59 hoelzro because DESTDIR is needed by package managers
11:59 hoelzro you could
11:59 hoelzro but
11:59 moritz or simply change PREFIX to DESTDIR?
11:59 Heather failed in ED )
11:59 Heather and in lines 60+
11:59 hoelzro then you need to figure out from outside of ufo/Makefile what PREFIX is supposed to be
12:00 hoelzro I *should* just be able to say make install DESTDIR=$pkgdir or whatever and have it "just work"
12:01 hoelzro I shouldn't need to know where ufo thinks modules should be installed under /
12:01 hoelzro Heather: you missed a \
12:01 Heather hoelzro https://github.com/Cynede/ufo/commit/867a5d47f145ef42e51d793857942d568f50b883
12:01 hoelzro check your changed lines for missing \
12:02 Heather I think empty line is fine
12:02 Heather for default
12:02 hoelzro empty is fine
12:02 hoelzro in fact, you don't need to "declare" DESTDIR, iirc
12:04 hoelzro Heather: I see from your GH that you also have some Gentoo packages for perl6 =)
12:04 hoelzro I might need to enlist you for Gentoo testing when I get these Rakudo * packages off the ground
12:04 Heather hoelzro just for myself, currently
12:04 Heather hoelzro bonsaikitten is gentoo perl6 maintainer
12:04 hoelzro that's totally fine!
12:04 Heather hoelzro but I will do more )
12:05 Heather masak: https://github.com/masak/ufo/pull/5
12:05 hoelzro my first goal is Arch packages, as I'm on Arch
12:05 hoelzro but I'm hoping to do RPM and DEB
12:05 hoelzro and EBUILDs if I find the time
12:05 hoelzro and hopefully others will help with other packaging =)
12:05 Heather hoelzro contact me if you need help with ebuilds )
12:05 Heather hoelzro and let use one github repo
12:05 Heather for them
12:06 hoelzro well, the ebuilds will be generated via a script under tools/build in rakudo/star
12:06 hoelzro I haven't pushed that yet
12:07 hoelzro but I have Arch package files being generated successfully
12:07 Heather hoelzro good
12:07 Heather I will take a look after push
12:12 Heather hoelzro sorry but what is enlist for Gentoo testing?
12:13 hoelzro Heather: oh, I just mean that I don't have a Gentoo system, and when I write the script to generate ebuilds, I need people to test them =)
12:13 Heather hoelzro alright, I'm in
12:13 hoelzro \o/
12:13 hoelzro (if anyone is willing to help with RedHat/Debian distros, that would also be nice!)
12:14 hoelzro also, I think we should have a build server somewhere
12:14 hoelzro so I can point my machine to http://packages.perl6.org/archlinux/perl6.db and it will "just work"
12:14 Heather teamcity?
12:15 hoelzro I'm not sure what to do just yet
12:16 hoelzro but having nqp, rakudo, and rakudo-star packages generated for each release would be *great*
12:16 hoelzro my current rakudo * package is a monolithic one, and I have to manually package it every month
12:19 Heather hoelzro about DESTDIR declaration I prefer to keep it because some checkers may feel bad w/o it
12:19 hoelzro ok
12:19 hoelzro that's fine
12:20 Heather and it's better to use make DESTDIR= ... instead if DESTDIR = .. make
12:20 Heather I think
12:20 hoelzro well, those are different things, iirc
12:20 hoelzro make DESTDIR=... is what you're supposed to do
12:28 snearch joined #perl6
12:40 rindolf joined #perl6
12:42 kaleem joined #perl6
12:44 census joined #perl6
12:45 hoelzro \o/
12:45 * hoelzro finds panda already supports --nodeps
12:46 Heather hoelzro oh...
12:48 hoelzro crap
12:48 hoelzro panda has its own deps...=/
12:48 hoelzro how do I install those?!
12:48 Heather lol
12:49 hoelzro unless...
12:49 hoelzro no, that won't work.
12:50 masak Heather: thank you for your pull request. teaching right now, but will try to look at it later.
12:50 Heather hoelzro we need package everything in panda deps without panda usage  )
12:50 masak Heather: please remind me if I forget. I get too many pull requests.
12:50 hoelzro yeah
12:50 hoelzro that's tricksy
12:50 Heather masak cool :)
12:54 moritz hoelzro: since when does panda have its own deps?
12:55 moritz erm, never mind
12:55 moritz I confused panda and ufo
12:55 moritz hoelzro: panda has a bootstrapping mechanism
12:56 Heather yes and it installs all the installed libs with file collision
12:56 Heather ok, time to go for me ) see you
12:57 hoelzro moritz: I saw, but I want to make OS packages for panda and Perl 6 modules
12:57 moritz hoelzro: and is there a reason not to use the bootstrapping mechanism for that?
12:57 hoelzro so when panda installs itself, does it install its own copy of the deps?
12:58 moritz no
12:58 hoelzro ah
12:58 hoelzro so how does it work once installed?
12:58 moritz it just installs the deps
12:58 hoelzro oh, I see
12:58 hoelzro got it
12:58 hoelzro hmm
12:58 moritz erm, I might have misunderstood the question
12:58 moritz it installs a copy of the deps, but not a separate copy of the deps
12:58 hoelzro right
12:58 moritz so it records the deps as being installed
12:59 hoelzro so I want to create OS packages for Perl 6 modules
12:59 hoelzro I want to use panda for the build/install process
12:59 hoelzro I also don't want panda to bundle the dependencies in its package
12:59 hoelzro (they belong on their own)
12:59 hoelzro but
12:59 hoelzro I can have the packaging process for panda create packages for its deps as well
13:00 arnsholt Does NQP still potentially have problems to build with --gen-parrot when there's a system Parrot as well?
13:00 domidumont joined #perl6
13:00 hoelzro so I *think* I can make it work!
13:06 PerlJam arnsholt: See http://irclog.perlgeek.de/parrot/2013-02-19#i_6474292
13:07 PerlJam arnsholt: dunno if that's "good enough" of an answer.
13:09 bluescreen10 joined #perl6
13:14 stevan_ joined #perl6
13:22 raiph what's a colorcircumfix?
13:24 raiph (from GlitchMr's latest Perl 6 changes blog post)
13:24 raiph (http://glitchmr.github.com/)
13:25 kivutar joined #perl6
13:26 raiph ah. coloncircumfix
13:31 kresike joined #perl6
13:31 kresike hello all you happy and/or unhappy perl6 people
13:32 PerlJam kresike: there are no unhappy perl6 people  :)
13:33 kresike PerlJam, unfortunately I just ran into one a few days ago
13:33 kresike he/she was really upset by not being greeted :)
13:39 tadzik ah, Heather's gone
13:40 tadzik hoelzro: there is --nodeps :)
13:40 hoelzro I just saw =)
13:40 tadzik oh, ok :)
13:41 hoelzro hmm
13:41 hoelzro panda isn't shy about using the network =/
13:41 hoelzro even when it doesn't need to
13:41 tadzik hm, what do you mean?
13:41 tadzik bootstrap should be offline
13:42 hoelzro well, if I'm installing ./ext/File__Tools
13:42 hoelzro it still wants the projects file
13:42 tadzik if it says "fetching", it means copying files from one directory to another
13:42 tadzik it does? Shit
13:42 hoelzro mhmm
13:42 tadzik that shouldn't happen
13:42 hoelzro it's not terrible
13:42 tadzik itis
13:44 hoelzro well, it doesn't stop me from making packages =)
13:45 tadzik heh, ok :)
13:46 tadzik hoelzro: wow, it really shouldn't happen :(
13:46 tadzik it creates the projects.json before it even runs itself
13:46 tadzik well, bootstrap creates, before bootstrap runs panda
13:46 tadzik and it does work alright if it even installs File-Tools from exr
13:46 tadzik *ext
13:47 tadzik wth
13:49 tadzik hoelzro: okay, cannot replicate that here
13:49 araujo joined #perl6
13:50 tadzik hoelzro: trying https://gist.github.com/tadzik/5143006 and bootstrap.pl. If it does download stuff for you, can you show me the output?
13:50 hoelzro tadzik: I'm not using bootstrap.pl atm
13:51 hoelzro I was seeing if ./bin/panda install ./ext/File__Tools will work
13:51 tadzik ah
13:52 tadzik if you're using an unsupported way, then it means that the supported way is not good enough
13:52 hoelzro well
13:52 tadzik please tell me what you need
13:52 hoelzro I'm trying to build OS packages for the modules included in Rakudo *
13:52 tadzik okay
13:52 hoelzro I'd like to use panda for the build/install process when building a package
13:52 hoelzro which means I need a panda package
13:53 hoelzro ...which itself depends on other modules
13:53 tadzik ah
13:53 hoelzro so I was hoping to use panda to create packages for the deps
13:53 tadzik so you need a self-contained panda?
13:53 tadzik offline?
13:53 hoelzro and then create a panda package
13:53 hoelzro that would help, yes
13:53 tadzik I can do that
13:53 hoelzro \o/
13:53 tadzik gimme 10 minutes
13:53 hoelzro that would be excellent
13:54 hoelzro I think OS packaging will move the production ready clock forward a good deal
13:54 tadzik actually, it'd me just a modified bootstrap.pl
13:54 tadzik you're absolutely right
13:54 tadzik now if you look at bootstrap.pl, it's mostly about shell "perl6 bin/panda install File::Tools JSON::Tiny Test::Mock {cwd}";
13:54 hoelzro (can we make productionreadyclock.perl6.org?)
13:54 hoelzro ok, cool
13:55 tadzik so you can just change that to whatever you want
13:55 tadzik however!
13:55 tadzik it'll still create its state file, src directory and all this crap
13:55 tadzik so you'll need to clean that up anyway :/
13:55 hoelzro ah =/
13:55 tadzik we need pandaminus
13:55 hoelzro haha
13:55 hoelzro whatever works for creating packages
13:56 tadzik I like panda less and less. I lost control of this code
13:56 tadzik I have trouble maintaining it already
13:56 tadzik and it'll get worse, because it's not really complete
13:57 hoelzro hmm
13:57 mavcunha joined #perl6
13:58 FROGGS joined #perl6
13:59 colomon hmm indeed
14:00 hoelzro well, whatever works for now
14:00 hoelzro I'm not writing the package files by hand, so changing it for future releases will be fine
14:02 tadzik I can write you something that'll generate them itself
14:02 tadzik I know Arch packaging system, I think
14:02 tadzik I used to maintain this and that in AUR
14:02 hoelzro well, I've got the bulk of it done
14:02 hoelzro just build() { ... } and package() { ... }
14:02 hoelzro need doing
14:02 hoelzro and I was thinking of using ufo or panda for it
14:03 tadzik I wouldn't mind if panda (or whatever replaces it) would be pluggable enough to provide a simple tool for tasks like this
14:03 skids joined #perl6
14:03 hoelzro that would be great, honestly
14:03 tadzik hmm
14:03 hoelzro pandapp --generate-pkg=arch
14:03 tadzik when I was turning neutro into panda it didn't take that long
14:04 tadzik maybe I got even more efficient in rewriting module installers over time
14:04 hoelzro heh
14:04 tadzik besides, I wanted to try how functional-style programming will work for this
14:04 tadzik I think too much about oop, it's unhealthy
14:10 PacoAir joined #perl6
14:11 erkan joined #perl6
14:11 erkan joined #perl6
14:14 wk joined #perl6
14:17 PacoAir joined #perl6
14:18 colomon oop--
14:22 Psyche^ joined #perl6
14:25 masak I like OOP, but I think the unhealthy bits are mostly related to inheritance hierarchies.
14:26 davidalso joined #perl6
14:26 colomon OOP is very useful where it is useful, but I think overuse of it promotes insanity.
14:27 FROGGS joined #perl6
14:27 davidalso promotes insanity? occult oriented programming?
14:29 * colomon adds ^ and $ to his top-level STEP rule to avoid parse issues....
14:29 kaare__ joined #perl6
14:31 colomon it may be that I am not really anti-OOP, but instead very anti-Design Patterns
14:32 xilo joined #perl6
14:32 moritz it's mostly a problem when people use *only* OOP
14:32 geekosaur in the haskell world, it's often said that a design pattern indicates a language shortcoming
14:32 colomon moritz: right
14:32 moritz there are cases where a function is the best API
14:32 moritz geekosaur: I believe that's very true
14:33 colomon geekosaur: right on
14:33 masak there's much to be said for a healthy mix of OOP and FP.
14:33 tadzik geekosaur: indeed it is
14:33 masak really, a function is in many ways like a really small interface.
14:33 tadzik 90% of design patterns for C++ I've seen is just the lack of first-class functions
14:33 masak also, functions are units of abstraction and units of encapsulation.
14:34 colomon "bless used at line 10. Did you mean '&elems'?"
14:34 FROGGS I need help ó.ò # <---- puppy eyes
14:34 moritz colomon: :(
14:35 FROGGS It's about https://github.com/rakudo/rakudo/commit/d24caa014653ea275373f146bbcddf44df97707a
14:35 colomon moritz: forgot the self. before bless.  but not a helpful message!
14:35 FROGGS the current code uses eval to create a regex containing regex rules from a variable like "a+b"
14:36 moritz colomon: aye, it shouldn't suggest that when the difference between 'bless' and 'elems' is so big
14:36 [Coke] http://wilwheaton.tumblr.com/post/45121088518/brucesterling-joi-ito-of-mit-media-lab-ito - this seems like a good crowd for this link.
14:36 FROGGS without the eval it would call INTERPOLATE, but which will be an endless loop (since I'm creating that regex within INTERPOLATE)
14:37 FROGGS is there a way to create an anon regex like: my $rx := anon regex { ^$arg }
14:37 colomon btw, https://gist.github.com/colomon/5143394 is a great example of how p6 is awesome -- and the code can probably still be significantly improved / shortened.
14:38 moritz FROGGS: my $rx = regex { <$arg> }
14:38 moritz FROGGS: but I guess that doesn't help you
14:38 moritz because you're implementing <$arg>
14:38 FROGGS moritz: right, doesnt work
14:38 FROGGS nqp: my $arg := "a+b"; my $rx := /^<$arg>/; say("aaaaab" ~~ $rx)
14:38 p6eval nqp: OUTPUT«aaaaab␤»
14:39 FROGGS would be nice if I could tell it to do that in nqp-land only
14:39 FROGGS and call !INTERPOLATE instead of INTERPOLATE
14:41 FROGGS I mean, pmichaud is right, an eval is not the best idea
14:41 [Coke] hurm. not that you're soliciting, but should that -> $keyword be .kv -> $key, $value ?
14:44 colomon how does one declare an anonymous class?  class { whatever }  ?
14:45 FROGGS r: my $thing = anon class { }
14:45 p6eval rakudo 810412:  ( no output )
14:45 colomon never mind, did it.
14:47 moritz class { } and anon class { } are the same thing
14:47 moritz r: my $x = anon class Foo { }; say $x.^name
14:47 p6eval rakudo 810412: OUTPUT«Foo␤»
14:47 moritz r: my $x = anon class Foo { }; say $x.^name; say Foo # not in the symbol table
14:47 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared name:�    Foo used at line 1��»
14:48 colomon how do you capture the key and value of a Pair in a subsig?
14:49 * colomon really needs to learn that syntax
14:49 colomon [Coke]: if you were talking to me, you can't do .kv after .sort
14:55 FROGGS moritz: maybe I should create an NQPRegexMethod directly
14:57 [Coke] colomon: I was, ok.
14:58 * colomon admittedly learned that by trying it after [Coke] suggested it.  ;)
14:58 * colomon updated the gist to use an anonymous class and Pair unpacking: https://gist.github.com/colomon/5143394
14:59 colomon BTW, this script is for $work.  :)
14:59 [Coke] r: my Pair $a = <a b>; say $a.kv.join(": ");
14:59 p6eval rakudo 810412: OUTPUT«Type check failed in assignment to '$a'; expected 'Pair' but got 'Parcel'␤  in block  at /tmp/Cr0Q5R4Grk:1␤␤»
14:59 cognominal joined #perl6
14:59 [Coke] r: my Pair $a = 1 => 2; say $a.kv.join(": ");
14:59 p6eval rakudo 810412: OUTPUT«1: 2␤»
15:01 sizz_ joined #perl6
15:04 happydude joined #perl6
15:05 xilo joined #perl6
15:08 kresike bye folks
15:18 * colomon just realized his current anti-OOP feelings may come from $working with STEP at the moment, surely the most ridiculously over OOPed CAD file format ever.
15:22 am0c joined #perl6
15:22 xilo joined #perl6
15:24 arnsholt PerlJam: Thanks for the reply! I think that's the answer I wanted
15:25 * timotimo_ added 'elif' parsing to the list of things that throw X::Syntax::Malformed::Elsif
15:28 Guest6468 joined #perl6
15:31 asarch joined #perl6
15:32 asarch I've downloaded Rakudo, perl Configure.pl, make and make install. However I cannot find perl6 in my system. The only place I find "perl6" is in the rakudo/bin dir. Is this correct?
15:34 timotimo_ that's correct, yes
15:35 timotimo_ at least that's the default
15:35 asarch Oh
15:35 FROGGS asarch: after make install you have everything within rakudo/install/...
15:35 asarch I thought "sudo make install" would install perl6 in my system
15:35 asarch Then I need to change my $PATH envdir
15:36 FROGGS no, it doesn't do that
15:36 FROGGS right
15:36 timotimo_ no, "sudo" will only run it with root privilege and "make install" can do whatever it wants, just depends on the Makefile
15:36 [Coke] and rakudo efaults to local ./install/ dir
15:36 timotimo_ for what it's worth, "sudo make install" could delete all your files or create an off-site backup on your amazon glacier or order ten pizzas to your home
15:37 asarch lol :-D
15:38 asarch Ok, ok. Thank you guys
15:38 asarch Thank you very much :-)
15:41 timotimo_ i think i may be hungry
15:45 davidalso r: say <good better best>.pick(1);
15:45 p6eval rakudo 810412: OUTPUT«better␤»
15:46 davidalso pretty good. could have done better.
15:46 timotimo_ it *did* do "better".
15:46 davidalso yes, but nevertheless, it could have done *better*
15:47 timotimo_ you mean it could have done best?
15:48 isomorphisms joined #perl6
15:48 davidalso I feel like it did its best, but the result wasn't good
15:48 timotimo_ hm
15:49 davidalso r: eval 'better';
15:49 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    better used at line 1��»
15:50 davidalso Oh, I guess I was wrong. It can't do better.
15:51 timotimo_ oh my
15:54 risou_ joined #perl6
15:54 krunen joined #perl6
15:54 djanatyn joined #perl6
15:54 szbalint_ joined #perl6
15:54 moritz_ joined #perl6
15:54 p5eval joined #perl6
15:54 Khisanth joined #perl6
15:55 nyuszika7h joined #perl6
15:55 sizz joined #perl6
16:02 FROGGS joined #perl6
16:03 timotimo_ i wonder why i can't <.typed_panic: "foo", bar => "baz">, but i can { $/.CURSOR.typed_panic("foo", bar => baz) }?
16:05 census joined #perl6
16:06 moritz_ because there's no support (yet) for named arguments in subrule calls
16:07 timotimo_ OK
16:08 TimToady n: say 'foo' ~~ /<alpha: :ignoreme>/
16:08 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Excess arguments to Cursor.alpha, unused named ignoreme␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (Cursor.alpha @ 1) ␤  at /tmp/LRV81myOGi line 1 (ANON @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2968 (Regex.ACCEPTS @ 1…
16:08 TimToady apparently not niecza either
16:09 moritz_ n: class A { method m() { } }; A.m(:foo)
16:09 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Unhandled exception: Excess arguments to A.m, unused named foo␤  at /tmp/PAp17bVfqJ line 0 (A.m @ 1) ␤  at /tmp/PAp17bVfqJ line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4285 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line…
16:09 moritz_ ah, niecza doesn't implement the 'interface consistency' thingy
16:09 TimToady I guess not
16:10 * TimToady is still wondering if there's a better way to handle that
16:10 jay_ joined #perl6
16:16 * diakopter nods hi
16:18 jay_ hi there. if i understand correctly <ident> defines C-like identifiers, not perl6 identifiers. am i right?
16:19 moritz well, if you include Unicode in "C-like", then yes
16:19 moritz so rather "Java-like"
16:19 jay_ thanks.
16:35 rindolf joined #perl6
16:38 domidumont joined #perl6
16:41 cognominal joined #perl6
16:45 pmurias joined #perl6
16:47 TimToady and as it happens, STD effectively defines 'identifier' as <ident>+ % <[ ' \- ]>
16:48 stevan_ joined #perl6
16:54 census Hi, I'm sorry this is not directly perl6 related, but I hope it is ok since there does not seem to be big conversation at the moment.  Is anybody very familiar with google plus?
16:54 spider-mario joined #perl6
16:55 domidumont joined #perl6
16:57 SunilJoshi joined #perl6
16:59 jnthn evening, #perl6
17:02 wk joined #perl6
17:02 * [Coke] hateses DST.
17:04 gdey joined #perl6
17:07 jerome joined #perl6
17:10 LlamaRider joined #perl6
17:12 spider-mario so do I.
17:12 mtk joined #perl6
17:14 cognominal joined #perl6
17:15 jnthn Oh, and it comes earlier in the US now?
17:15 * jnthn thinks he remember reading something on that
17:16 jnthn Think it's still a couple of weeks off here...
17:19 colomon yes, it comes earlier in the US now.
17:20 [Coke] IT'S ALREADY UPON US, DEVOURING OUR SOULS
17:20 * [Coke] just signed a petition at whitehouse.gov to pick one or the other and stick with it.
17:22 * diakopter signed a petition there for monkeys to generate all possible petitions
17:22 timotimo_ i'm currently spectesting https://github.com/rakudo/rakudo/pull/114
17:23 [Coke] seems crazy to me that we're able to parse 'else if' but then yell at people about it.
17:24 diakopter .oO( it should fix the code for you.. )
17:24 SunilJoshi left #perl6
17:24 [Coke] or make it legal syntax.
17:24 SunilJoshi joined #perl6
17:24 japhb diakopter, that way lies madness.  Sometimes very awesome madness, but madness all the same.
17:24 geekosaur seems to me the issue with else if is that, unles syou recognize it up front, the errors it engenders happen somewhere after the end of the if ... else if ... block
17:25 TimToady r: given \(42, :foo<x>) { when * -> $pos, :$foo { say $pos } }
17:25 p6eval rakudo 810412: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in block  at /tmp/O_Xo6sfvkg:1␤  in block  at /tmp/O_Xo6sfvkg:1␤␤»
17:25 geekosaur (or replace block there with "chunk" or "expression" or whatever)_
17:25 TimToady n: given \(42, :foo<x>) { when * -> $pos, :$foo { say $pos } }
17:25 p6eval niecza v24-33-gfc6d5fd: OUTPUT«Potential difficulties:�  $foo is declared but not used at /tmp/Au24O2Tn1u line 1:�------> [32mgiven \(42, :foo<x>) { when * -> $pos, :[33m�[31m$foo { say $pos } }[0m��Unhandled exception: No value for parameter '$pos' in 'ANON'�  at /tmp/Au24O2Tn1u li…
17:25 jnthn TimToady: Is that the "try binding to the block" thing?
17:26 TimToady yes, not_gerd was asking about that on Sunday
17:26 TimToady or maybe Monday there...
17:26 jnthn Is it syntactic?
17:26 TimToady http://irclog.perlgeek.de/perl6/2013-03-10#i_6572439
17:26 jnthn I guess so...
17:27 * jnthn wonders how to implement it...
17:27 TimToady doesn't have to be, /methinks
17:27 timotimo_ r: if False { 10 } else if { 99 }
17:27 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Please use 'elsif'�at /tmp/48_UEYAghg:1�------> [32mif False { 10 } else if [33m�[31m{ 99 }[0m�Confused�at /tmp/48_UEYAghg:1�------> [32mif False { 10 } else if [33m�[31m{ 99 }[0m�    expecting any of:�        postfix�        Ã¢â‚¬Â¦
17:27 jnthn What would it look like in a non-syntactic case?
17:27 timotimo_ ah, it already compiled that
17:27 timotimo_ r: if False { 10 } elif { 99 }
17:27 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused�at /tmp/dZrGmQun18:1�------> [32mif False { 10 } [33m�[31melif { 99 }[0m�    expecting any of:�        postfix�        statement end�        statement modifier�        statement modifier loop�        horizontal whitespace…
17:27 timotimo_ so "confused" isn't very helpful i think
17:28 TimToady well, it wouldn't be syntactic if we allow any when to take a pointy that just does nothing if it doesn't bind
17:28 TimToady but maybe we don't want to do that
17:29 TimToady so maybe it is syntactic
17:29 jnthn TimToady: Does when $a -> ... { } mean anything, for example?
17:29 * TimToady wanders off to get more obviously needed coffee
17:29 TimToady well, generally you don't put a $a in a smartmatch in any case
17:30 timotimo_ okay, the spectests go through, except for the tests that have been failing without my modifications. feel like merging?
17:30 jnthn Yeah, I'm just trying to feel out the expectations so I can try to implement it right ;)
17:30 TimToady s/right/according to expectations/  :)
17:30 cognominal joined #perl6
17:30 jnthn ;)
17:30 jnthn Expectations vary :)
17:31 TimToady if we want * -> to be a degenerate case (which feels rightish to me, at least today), then failure to bind the block has to be a no-op generally
17:32 TimToady but I will try to think up arguments for doing it otherwise :)
17:33 jnthn Well, part of it is how I catch the bind failure in a sane way
17:33 jnthn I guess if I make bind failures a typed exception... :)
17:34 TimToady I suppose the main argument for the other side is that people might expect a failure to bind to complain rather than do nothing
17:34 jnthn Well, I kinda thought the use of the construct was so you could try binding in a range of ways?
17:35 jnthn Almost like a sequential multi-dispatch, or kinda like tree matching if you go unpacking...
17:35 TimToady yes, but should the * be required for that?
17:35 TimToady or should we just say that any binding can veto the case?
17:35 TimToady and does that have performance ramifications?
17:36 TimToady of course, we can distinguish the case syntactically by recognizing the -> rather than the *
17:36 diakopter ..someday maybe
17:36 jnthn The * "feels funny" for this
17:36 jnthn I guess the question is, if you write
17:36 jnthn when 'foo' -> $a { }
17:37 jnthn What does that one really mean?
17:37 jnthn The thing is that what we're kinda doing with * is using the * to say "no, really I mean try binding that block"
17:37 TimToady it just means does it stringify to 'foo'
17:37 jnthn Yes, I mean about the -> $a { } bit
17:37 TimToady I can imagine: when ThisType -> $a { }
17:37 jnthn We support if cond -> $a { }
17:38 TimToady this is much the same
17:38 jnthn What should the argument be?
17:38 jnthn The topic?
17:38 jnthn I'm vaguely pondering (maybe this sucks) that if we force peple to write the sig in parens we can stop it being a special case at all.
17:39 jnthn when * -> (:$foo, :$bar) { }
17:39 jnthn oh wait
17:39 jnthn That doesn't make the failure to bind just skip it
17:39 jnthn Yeah, scratch that.
17:39 TimToady or you can just Capturize $_ if there's a ->, in addition to trapping non-binding
17:40 jnthn Hm, so you could do like
17:40 TimToady presumably one could find a way of Capturizing it only once for multiple tries
17:40 jnthn when Pair -> :$kday, :$value { }
17:40 jnthn *key
17:41 jnthn Yeah, we could stop that we need to capturize it one time I suspect.
17:41 jnthn Just do it before the first when that needs it.
17:41 jnthn Well, that needs a little tracking I guess...
17:42 jnthn Optimizer could catch it at the very least.
17:43 jnthn We can tell very easily if you're using a pointy on a when, anyway, so I don't think it'd thwart being able to analyze simple ones and transform them into jump tables some day.
17:44 TimToady nodnod
17:45 jnthn I guess iwht this, the * works but it's just a special case since it always matches.
17:46 jnthn This feels like a more powerful/general mechanism than recognizing * and special-casing.
17:46 TimToady that's what I'm kinda aiming for, if it doesn't blow performance in the usual cases
17:46 TimToady but I wonder whether there should be a -> form that implies .?-ish semantics somehow
17:47 moritz ->?
17:47 moritz -?>
17:47 jnthn ~>
17:47 TimToady ~> is a bit too hard to distinguish visually
17:47 jnthn I'm not sure how useful that is in other places, though
17:47 jnthn Yeah.
17:48 jnthn I realized that right after I'd typed it ;)
17:49 TimToady well, we have to balance out the general use case for a ->? against the DWIM/WAT quotient of not doing anything when the user might expect failure
17:49 TimToady the DWQ
17:49 TimToady :)
17:50 cognominal joined #perl6
17:50 jnthn True
17:50 jnthn Dunno if the "when" is a strong enough hint.
17:50 TimToady the Department of Wat(er) Quality
17:51 felher Whats WAT?
17:51 TimToady also, -> $a { } when * given $stuff
17:52 TimToady arguably that has a harder time knowing that the -> should be treated as optional
17:52 jnthn ugh, yes, I really don't want to have to make that work :)
17:54 moritz felher: the sound of utter confusion and shock you make when discovering an unbelievable misfeature/bug/behavior
17:54 TimToady see also http://www.youtube.com/watch?v=kXEgk1Hdze0
17:54 TimToady it's supposed to sound a bit like a duck quacking too
17:59 masak #perl6! \o/
17:59 colomon \o/
17:59 jnthn masak!
17:59 TimToady WAT?!?
18:00 Chillance joined #perl6
18:00 jnthn .oO( WAT for? :P )
18:01 * masak .oO( $masak.WAT )
18:02 TimToady .WAT should explain what the thing on the left thought it was doing :)
18:02 moritz it usually returns a WTF object
18:03 TimToady what's the World Trade Federation got to do with it?
18:04 moritz it's the central duck registry
18:04 [Coke] r: wait.WHAT?
18:04 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/0CfDdRoHgl:1�------> [32mwait.WHAT[33m�[31m?[0m�    expecting any of:�        method arguments�        postfix�        infix stopper�        infix or meta-infix�        statement end�        statement mo…
18:05 moritz r: wait().WHAT
18:05 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:�    wait used at line 1��»
18:05 jnthn Time to find some dinner...bbiab
18:05 moritz I don't understand why this becomes a TTIAR error
18:06 moritz either it parses as wait().WHAT or as wait(.WHAT)
18:06 [Coke] r: say wait().WHAT?
18:06 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/cl1mGl4RJS:1�------> [32msay wait().WHAT[33m�[31m?[0m�    expecting any of:�        method arguments�        postfix�        infix stopper�        infix or meta-infix�        statement end�        statem…
18:06 moritz both cases should complain about undecared routines, none about TTIAR
18:06 moritz std: wait().WHAT
18:06 p6eval std 86b102f: OUTPUT«ok 00:00 41m␤»
18:06 moritz std: foobar().WHAT
18:06 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'foobar' used at line 1�Check failed�FAILED 00:00 41m�»
18:07 [Coke] std: wait().WHAT?
18:07 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/rvY8hftRuO line 1:�------> [32mwait().WHAT[33m�[31m?[0m�    expecting any of:�  POST�   infix�  infix or meta-infix�    infixed function�       method arguments�       postcircumfix�  postfix�
18:07 p6eval ..postfix_prefix_meta_operator␤   postop␤ stat…
18:07 * [Coke] points moritz at the ?
18:07 moritz oh.
18:07 jnthn It's the ?, and it's because it assumes if it was looking for an infix and didn't get one then it must be a ttiar
18:07 jnthn 'cus I didn't implement suppose yet.
18:07 * moritz unconfuses
18:07 jnthn Once I implement that it can suppose term, and not give bogus ttiar
18:07 * [Coke] asks jnthn why he supposes that is.
18:07 TimToady std: wait().WHAT?;
18:07 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/WeDUfIGl13 line 1:�------> [32mwait().WHAT[33m�[31m?;[0m�    expecting any of:� POST�   infix�  infix or meta-infix�    infixed function�       method arguments�       postcircumfix�  postfix�
18:07 p6eval ..postfix_prefix_meta_operator␤   postop␤ sta…
18:08 jnthn Really dinner hunting... :)
18:08 TimToady std: wait().WHAT+;
18:08 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus term at /tmp/dMisghFVFu line 1:�------> [32mwait().WHAT+[33m�[31m;[0m�Parse failed�FAILED 00:00 42m�»
18:08 felher moritz: of course! I should have known  :)
18:08 * TimToady doesn't understand why ? doesn't give that error instead
18:08 SamuraiJack joined #perl6
18:08 TimToady std: wait().WHAT ?;
18:08 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/k3oFrdoMl5 line 1:�------> [32mwait().WHAT [33m�[31m?;[0m�    expecting any of:�        infix�  infix or meta-infix�    infixed function�       statement modifier loop�Parse failed�FAILED 00:00 42m�»
18:08 TimToady std: wait().WHAT ? ;
18:08 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/qH44MYFHxF line 1:�------> [32mwait().WHAT [33m�[31m? ;[0m�    expecting any of:�       infix�  infix or meta-infix�    infixed function�       statement modifier loop�Parse failed�FAILED 00:00 42m�»
18:08 TimToady huh
18:09 TimToady duh
18:10 TimToady (the + is also an infix)
18:10 TimToady no amount of coffee will fix certain cognitive difficulties...
18:11 [Coke] TimToady: nice theory, we should test it by drinking MOAR.
18:11 * [Coke] drinks a cup of spicy eggnog coffee.
18:11 * TimToady is allergic to spicy eggnog coffee.
18:12 geekosaur [12 13:49] <mizmoose> oh, StDiluted reminds me: Thing I tried last night that yinz must:  Coffee with a Cadbury creme egg.  As in, make coffee, drop in egg. stir. Drink. Die.
18:13 * perigrin could see doing that with some cocoa.
18:13 diakopter r: \{ s!ay WAT?!.?!!?! }
18:13 p6eval rakudo 810412:  ( no output )
18:13 [Coke] TimToady: OH NOESE
18:14 diakopter std: \{ s!ay WAT?!.?!!?! }
18:14 p6eval std 86b102f: OUTPUT«ok 00:00 43m␤»
18:16 diakopter std: \{ s!ay WAT?!.?!!? }
18:16 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Malformed replacement part; couldn't find final ! at /tmp/DSaWSkaFoX line 1:�------> [32m\{ s!ay WAT?!.?!!? }[33m�[31m<EOL>[0m�    expecting escape�Parse failed�FAILED 00:00 43m�»
18:16 diakopter std: \{ s!ay WAT?!.?!! }
18:16 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Malformed replacement part; couldn't find final ! at /tmp/ls_1XaKzDb line 1:�------> [32m\{ s!ay WAT?!.?!! }[33m�[31m<EOL>[0m�    expecting escape�Parse failed�FAILED 00:00 43m�»
18:16 diakopter std: \{ s!ay WAT?!.?! }
18:16 p6eval std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Couldn't find terminator ! at /tmp/e9pxUqvd19 line 1:�------> [32m\{ s!ay WAT?!.?! [33m�[31m}[0m�    expecting any of:�  metachar�       quantifier�     regex atom�Parse failed�FAILED 00:00 43m�»
18:16 diakopter I don't get it; what does the second ! mean
18:18 TimToady S05:2334
18:19 [Coke] r: say "hello" ~~ s!l!e!
18:19 p6eval rakudo 810412: OUTPUT«Cannot modify an immutable value␤  in sub infix:<=> at src/gen/CORE.setting:12575␤  in block  at /tmp/q0bJejIlZn:1␤␤»
18:19 [Coke] r: my $a =  "hello" ~~ s!l!e!; say $a;
18:19 p6eval rakudo 810412: OUTPUT«Cannot modify an immutable value␤  in sub infix:<=> at src/gen/CORE.setting:12575␤  in block  at /tmp/G0jQJIZeF7:1␤␤»
18:19 [Coke] ... me sees what needs doing, but goes and drinks coffee instead.
18:19 masak so, I'm thinking of giving a Perl 6 course on IRC. how much interest is there? Heather and tadzik already expressed an interest. any more takers?
18:20 * TimToady would like to find out more about Perl 6...
18:20 masak TimToady: you're welcome to attend.
18:20 PerlJam masak: course on macros in Perl 6?  ;)
18:20 masak we'd grab a channel somewhere and basically amuse ourselves for a day.
18:20 masak PerlJam: possibly macros would figure somewhere. I was thinking the scope would be much wider than just macros, though.
18:21 masak something more like "how to write awesome code with Perl 6".
18:21 PerlJam sweet!
18:21 masak just probing a bit for interest before making any fix'd plans :)
18:28 census i would be a taker!!!
18:28 census :)
18:29 census yay for perl 6 !!
18:30 masak \o/
18:31 timotimo_ masak: i'd like to attend, too, if i can
18:33 masak that makes five. Heather, tadzik, TimToady, census, and timotimo_.
18:34 masak cool, I think there's enough of an audience for something like this :)
18:34 masak it won't be any earlier than end of next week, due to @courses. until then we can do planning; find themes and dates.
18:34 masak er, date.
18:47 japhb_ joined #perl6
18:48 dalek ufo: 1a0fd4f | â„‹eatÑ’er++ | bin/ufo:
18:48 dalek ufo: $(DESTDIR)
18:48 dalek ufo: review: https://github.com/masak/ufo/commit/1a0fd4f5bc
18:48 dalek ufo: 867a5d4 | â„‹eatÑ’er++ | bin/ufo:
18:48 dalek ufo: Update ufo
18:48 dalek ufo: review: https://github.com/masak/ufo/commit/867a5d47f1
18:48 dalek ufo: a4e9a53 | (Carl Mäsak)++ | bin/ufo:
18:48 dalek ufo: Merge pull request #5 from Cynede/master
18:48 dalek ufo:
18:48 dalek ufo: $DESTDIR for ufo
18:48 dalek ufo: review: https://github.com/masak/ufo/commit/a4e9a5301d
18:48 cognominal joined #perl6
18:48 masak Heather++
18:50 _jaldhar joined #perl6
18:50 not_gerd joined #perl6
18:50 not_gerd o/
18:50 masak \o
18:50 not_gerd what's the perl6-equivalent for setters?
18:51 not_gerd in particular, I want to transcode a string on assignment
18:51 timotimo_ hm, i know how to do a setter that doesn't do anything to the assigned thing
18:52 * not_gerd knows how to do that too via rw method
18:53 masak an rw method is the Perl 6 equivalent of a setter.
18:54 masak if you want to do fancy things in the background, it seems to me the practice is to return a Proxy object with an interesting .STORE method.
18:54 PerlJam masak: ... if only we had an IRC course on how to do awesome things with Perl 6 ...  ;)
18:55 masak PerlJam: point taken, and noted.
18:55 timotimo_ masak: that seems pretty involved :|
18:55 * masak also provisionally names the course "Perl 6 Awesome"
18:56 masak timotimo_: well, what you're asking is for the language to lie to you about assigning something. that should be at least a little involved, in my opinion :P
18:57 PerlJam timotimo_: once you get the pattern, it's not *too* involved.
18:57 timotimo_ hm, kind of
18:57 masak timotimo_: the default, just exposing the underlying container, is pretty sane.
18:57 snearch joined #perl6
18:57 timotimo_ right
19:02 not_gerd r: class Foo { has $!bar; method bar is rw { my $bar := $!bar; Proxy.new(FETCH => method { $bar }, STORE => method ($val) { $bar = "Nanananana " ~ $val }) } }; my $foo = Foo.new; $foo.bar = "Batman"; say $foo.bar
19:02 p6eval rakudo 810412: OUTPUT«Nanananana Batman␤»
19:02 not_gerd is there a way to simplify that?
19:02 PerlJam using a proxy object seems like one of those "tribal knowledge" things.  You're not intentionally left-out, but if you don't know it, you don't know.
19:03 moritz one could argue that the non-trivial extensibility means that it's not a good idea to implement/expose setters the way we do
19:06 masak r: class Pope { hr: class Vatican { my $set = 0; has $!pope; method pope { Proxy.new(FETCH => { $!pope }, STORE => -> $, $newpope { die "Can only set pope twice" if ++$set > 2; $!pope = $newpope }) } }; given Vatican.new { say .pope = "Benedict XVI"; say .pope = "vacant"; say .pope = "Hilarius II" }
19:06 p6eval rakudo 810412: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/QfEtigJD56:1�------> [32mclass Pope { hr[33m�[31m: class Vatican { my $set = 0; has $!pop[0m�    expecting any of:�        argument list�        postfix�        infix stopper�        infix or meta-infix�…
19:07 masak r: class Vatican { my $set = 0; has $!pope; method pope { Proxy.new(FETCH => { $!pope }, STORE => -> $, $newpope { die "Can only set pope twice" if ++$set > 2; $!pope = $newpope }) } }; given Vatican.new { say .pope = "Benedict XVI"; say .pope = "vacant"; say .pope = "Hilarius II" }
19:07 p6eval rakudo 810412: OUTPUT«Benedict XVI␤vacant␤Can only set pope twice␤  in block  at /tmp/7e8tWnixii:1␤␤»
19:08 masak moritz: non-trivial extensibility? I'm curious, what do you mean?
19:13 PerlJam not_gerd: you could also .wrap() the autogenerated setter I bet.  If so, that might be simpler
19:13 grondilu joined #perl6
19:13 moritz masak: I mean having to jump through the hoop of creating Proxy objects
19:14 moritz (which are quite expensive in comparison to normal rwness, and much more code too)
19:15 masak PerlJam: I'm skeptical. could you show that in code?
19:15 PerlJam If I could, I would have already :)
19:16 domidumont joined #perl6
19:18 PacoAir_ joined #perl6
19:18 masak moritz: well, the one invariant here, I guess, is that the way to set attributes is '$obj.attr = $val'. so something like ECMAScript 5's getters and setters is out, I think.
19:20 moritz masak: but why is that the one invariant?
19:20 moritz masak: why can't we say $obj.attr($val)?
19:20 dalek perl6-roast-data: 32184f7 | coke++ | / (4 files):
19:20 dalek perl6-roast-data: today (automated commit)
19:20 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/32184f73cb
19:20 masak well, you *can* create methods like that, of course.
19:21 moritz masak: let my rephrase. Why not make 'is rw' generate such setters by default?
19:21 [Coke] S32-exceptions/misc.rakudo passed 525 unplanned test(s)
19:21 [Coke] rakudo failed 14 tests again today. :|
19:21 masak I meant something more like (a) I kinda like the assignment operator there, (b) I'm not ready to change that bit of the design, and (c) even if I were, I'm not ready to fight that battle, and I don't think others are either.
19:22 masak moritz: so, 'is rw' would generate one getter method and one setter method?
19:22 masak moritz: how then would you explain that both are called .attr ?
19:22 FROGGS joined #perl6
19:23 masak moritz: where is the lying going on in the system to delegate to the setter?
19:23 [Coke] multis?
19:23 masak doesn't cut it, they're both 1-ary.
19:23 moritz huh?
19:23 moritz one is 0-ary, one is 1-ary
19:23 moritz + invocant in both cases
19:23 masak you're still arguing .attr($val) !
19:23 masak why?
19:24 masak that's not even an option!
19:24 moritz it is an option, if we make it one
19:24 masak (I meant 1-ary, including the invocant, by the way)
19:24 moritz if you refuse to discuss it as an option, there's not much I can do
19:24 masak moritz: sorry, I think you're arguing something insane. :/
19:24 PerlJam masak: why insane?
19:25 moritz masak: then show me the insanity please
19:25 PerlJam It seems like what people coming from Moose-land would expect.
19:25 masak the whole design presupposes assignment there.
19:25 moritz which whole design?
19:25 masak S12.
19:25 moritz rw attrs aren't use much at all core
19:25 moritz and not much depends on it
19:25 colomon rw attrs are evil!
19:26 moritz masak: most of S12 is completely orthogonal to the way setters work
19:26 colomon maybe.
19:27 masak moritz: again, I'm sorry. you're free to argue for .attr($val). I'm just not so interested in talking about it, because I (a) I like .attr = $val, and (b) I don't think you'll convince TimToady, and (c) I hope you won't convince TimToady.
19:27 masak put differently, I dislike Proxy less than I dislike .attr($val)
19:28 moritz masak: does using Proxy feel like a hack to you?
19:28 jnthn We have meta-programming. You can shove alternative attr classes in EXPORTHOW.
19:28 [Coke] I really don't like proxy.
19:28 [Coke] it feels like a hack to me.
19:28 jnthn And have it generate the accessors you want.
19:28 masak moritz: no.
19:29 masak moritz: I looked at it in src/core/Bag.pm, and it looked completely fine to.
19:29 masak to me*
19:29 moritz jnthn: it's more about what we do by default, not about what can be done
19:29 bluescreen10 joined #perl6
19:29 moritz masak: well, that's the difference then. To me, Proxy always feels like a complete and utter hack that screams "you shouldn't be doing it like this"
19:30 masak Proxy doesn't scream at all to me. :)
19:30 PerlJam interesting.
19:30 jnthn Well, what you write for Proxy isn't far off writing property get/set things in C#.
19:30 tadzik I just thought about that
19:30 tadzik maybe a DSL would look nicer :)
19:30 jnthn Proxy feels a awkward to work with compared to those, though.
19:31 masak a Proxy feels more like a design element that releases the pressure between caller and callee when they have different expectations on how to get/set things.
19:31 tadzik has $.a = proxe { get {} set {} }
19:31 PerlJam I've always looked at Proxy as more like gentle pressure to reconsider your design, but otherwise works if you're willing to live with it (I am)
19:31 colomon PerlJam: +1
19:31 masak interestingly, both PerlJam and I just used the word "pressure" to describe Proxy :)
19:31 masak I agree with PerlJam, by the way.
19:32 masak but only because there might sometimes be simpler ways than using Proxy. sometimes not.
19:32 jnthn That is, rather than throwing out the way we do properties, we may want to find a way to do this that feels less hacky to those who find proxy hacky.
19:32 jnthn s/properties/accessors/
19:32 masak *nod*
19:32 jnthn I don't find Proxy particularly beautiful, fwiw.
19:32 masak tadzik's syntax is interesting.
19:32 not_gerd there should be a way to apply a transformation to a value on attribute assignment
19:32 masak modulo a semicolon or two.
19:33 * [Coke] sighs again about upgrading rakudo breaking installed modules, and wonders when he can find time to fix it so he can work on his program to see if he likes proxy or not.
19:33 tadzik masak: I'm crafting a module right now :)
19:33 not_gerd the current Proxy system can do that, but it's more painful than it should be
19:33 masak tadzik++
19:33 tadzik but well, it's tricky
19:33 tadzik or maybe not :)
19:34 masak tadzik: 'get' is taken. maybe 'getter'?
19:34 jnthn moritz: What is it about Proxy that make it feel like a hack, out of curiosity?
19:34 tadzik masak: yeah, sounds good
19:34 masak proxy { getter {}, setter {} }
19:34 masak comma or semicolon, I dunno.
19:35 tadzik masak: no need :)
19:35 tadzik think Try::Tiny
19:35 moritz jnthn: the clunky syntax, and the need for extra objects for something that feels like it should be possible directly
19:35 not_gerd moritz++
19:35 skids And the general rule that if you see ALLCAPS you are doing something icky or complicated.
19:36 not_gerd feels like ECMAScript property descriptors *shudders*
19:36 moritz jnthn: given that getters and setters are closures, I don't even want to know how many extra GCables and calls are involved. Probably way too many for any hot-ish path
19:36 jnthn moritz: *nod*
19:36 moritz I mean the FETCH and STORE closures passed to Proxy.new
19:36 jnthn moritz: Yes, for a potential hot-path those are hard to optimize.
19:37 FROGGS jnthn: what do I get when calling nqp::getcomp('QRegex::P6Regex').compile("a+b") ? it tells me that get an eval
19:37 jnthn FROGGS: You can back something invokable
19:37 jnthn *get
19:37 FROGGS ahh, so I can call it
19:37 FROGGS cool
19:37 PerlJam skids: BEGIN, END, BUILD, CATCH, FIRST, NEXT, etc.   Are these icky or complicated?  :)
19:37 jnthn Yes.
19:38 * FROGGS calls it Peter then
19:38 skids Well, I guess that intention has drifted over time to ALLCAPS means PAY ATTENTION, but i seem to recall that was mentioned at some point when reading through the specs years ago.
19:38 hoelzro ahoy #perl6 folk
19:39 hoelzro I have a question about type constraints in sub signatures!
19:39 PerlJam moritz: that's the one thing that does bother me about Proxy.   It seems like it would be slow because of the extra hoops the code has to jump through.
19:39 * hoelzro starts posting
19:39 hoelzro https://gist.github.com/hoelzro/5146266
19:39 hoelzro I can't for the life of me figure out why this type checks.
19:39 tadzik masak: ok, not possible after all :(
19:39 tadzik no prototypes in P6
19:40 dalek Perlito: bbc5fbb | (Flavio S. Glock)++ | misc/jit.txt:
19:40 dalek Perlito: Perlito5 - misc/jit.txt - plan for a jit backend
19:40 dalek Perlito: review: https://github.com/fglock/Perlito/commit/bbc5fbbaca
19:41 hoelzro also, where are type constraints documented?
19:41 moritz hoelzro: ~~ sets $_ to the value on the left
19:41 hoelzro seriously?
19:41 moritz hoelzro: so never, ever smart-match against $_. It never dows what you want
19:41 hoelzro o_O
19:41 hoelzro can we get a warning for that? =)
19:42 hoelzro so, how can I implement this type check?
19:42 hoelzro (I realize it's a stupid example, but I'm going to be using it in a better way)
19:42 moritz with a normal parameter
19:42 hoelzro I really would like the slurpy hash
19:42 PerlJam hoelzro: I'd use a self-declared var.  $^o or something
19:43 hoelzro I'm trying to have normal parameters plus a list of "will be supported in the future, but isn't working yet"
19:43 hoelzro PerlJam: ah, good call
19:43 moritz hoelzro: and don't you actually want it the other way round?
19:43 moritz hoelzro: $_ ~~ $valid-options ?
19:43 hoelzro moritz: that's what I thought, but when I tested it, I needed Set ~~ Hash rather than Hash ~~ Set
19:44 moritz or maybe all(%options.keys) ~~ $valid-options ?
19:45 hoelzro hmm
19:45 hoelzro that works too
19:45 * moritz wouldn't know the smart matching between Hash and Set by heart, no matter which way
19:45 snearch_ joined #perl6
19:49 PerlJam from the table in S03, it looks like either Hash ~~ Set or Set ~~ Hash should work.
19:50 PerlJam Although, I guess I don't know what you're really trying to achieve.
19:50 hoelzro sub MAIN(Bool :$help, *%extra-options where { $valid-options ~~ $^a } )
19:50 hoelzro awesome =)
19:51 hoelzro I want to issue a warning for options I intend to support, but don't yet
19:52 immortal joined #perl6
19:52 immortal joined #perl6
19:52 hoelzro can one customize the usage message generated by MAIN?
19:53 PerlJam hoelzro: see S06:3425
19:53 PerlJam hoelzro: or just ack for USAGE
19:53 hoelzro grazie
19:58 timotimo_ should i add tests for "elif" raising an X::Syntax::Malformed::Elsif to roast?
20:02 tadzik masak: okay, I had a pretty plan, but this is over my head :(
20:02 snearch joined #perl6
20:03 masak tadzik: it's possible if you make 'setter' an infix. but I wouldn't do that. too magical.
20:03 timotimo_ "is setter"?
20:03 tadzik masak: I'm not so sure
20:03 masak tadzik: just put a comma or semicolon there :)
20:03 tadzik masak: rakudo doesn't really like 'has $.a = Proxy.new'
20:03 tadzik it then still fails on $foo.a = (stuff)
20:03 tadzik because it's not rw
20:03 tadzik so you need $!a, and method a which returns a proxy
20:03 masak hm.
20:03 cognominal joined #perl6
20:04 tadzik or I'm doing something wrong, which is possible
20:11 cognominal joined #perl6
20:18 * hoelzro wishes @array.first w/o params just returned the first entry
20:18 masak r: say [5, 6, 7].first(True)
20:18 p6eval rakudo 810412: OUTPUT«5␤»
20:19 hoelzro ah, but...
20:19 hoelzro r: say [5, 6, 7].first()
20:19 p6eval rakudo 810412: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method first at src/gen/CORE.setting:1283␤  in block  at /tmp/Ztd0gbGFlg:1␤␤»
20:19 hoelzro it couldn't just default to True?
20:20 erkan joined #perl6
20:20 erkan joined #perl6
20:21 rurban joined #perl6
20:23 colomon hoelzro: seems like a lot of work to avoid saying [0]
20:23 hoelzro I know
20:24 hoelzro but using methods on arrays makes me think of Ruby, and calling .first is idiomatic Ruby =)
20:35 hoelzro fg
20:35 hoelzro oops =/
20:36 moritz don't ctrl+z your IRC client :-)
20:36 not_gerd moritz: if you have time, please take a look at https://github.com/rakudo/rakudo/pull/115
20:36 not_gerd or rather https://github.com/gerdr/rakudo/blob/f54e210173db22b605ccb8449a4bc0f33da53a01/src/core/IO/Socket/INET.pm#L93
20:37 not_gerd the diff isn't all that helpful
20:37 hoelzro when I do ... where $object
20:38 hoelzro I'm guessing that's equivalent to ... where { $^a ~~ $object }?
20:38 moritz not_gerd: looks good, will spectest next
20:40 not_gerd moritz: thanks
20:42 masak today's fun moment in Perl class: implementing an infinite loop with a $SIG{INT} handler. "observe how Ctrl+C doesn't abort the script. great... so now how do I stop the script?" :)
20:43 timotimo_ :D
20:43 timotimo_ ^\
20:44 tadzik masak: do you know the 'sl' program?
20:45 masak tadzik: nope.
20:45 masak (I ended up ^Z-ing, then doing 'kill %1')
20:45 timotimo_ sl is a very helpful utility
20:45 alester joined #perl6
20:45 masak url?
20:46 alester masak! I have something for you!
20:47 masak whoa!
20:48 masak is it rage? :P
20:48 erkan joined #perl6
20:48 erkan joined #perl6
20:49 jnthn is it in a box? :P
20:49 masak in either of those cases, allow me to pass. :)
20:49 jnthn .oO( rage in a box )
20:49 masak I was about to write that!
20:50 geekosaur ocelot?
20:53 [Coke] ocelittle.
20:53 FROGGS oceless
20:53 timotimo_ strange. i added a &?ROUTINE to the block that gets created from m/.../, like this: - QAST::Var(lexical &?ROUTINE :decl)
20:54 timotimo_ but rakudo complains "Undeclared name: &?ROUTINE used at line 1" when i reference it from inside
20:54 jnthn I'm not sure what should get one...
20:54 jnthn Hm, maybe it should...
20:55 jnthn I think regex { ... } etc should get one though.
20:55 jnthn Do you add a symbol table entry too?
20:55 mberends joined #perl6
20:55 timotimo_ i used "install_lexical_symbol. is that not enough?
20:56 tadzik oh, btw
20:56 jnthn should be.
20:56 tadzik does Perl 6 allow anything like "install those named subs into caller's lexical scope?"
20:56 jnthn If the thing you're calling is a macro, presumably through compiling
20:56 timotimo_ $outer[0].push(QAST::Stmt.new($block)); - this is in there some place else, would i need that, too, perhaps?
20:56 jnthn You can't do it after CHECK time since lexical scopes are immutable after that.
20:57 jnthn timotimo_: No, don't think so
20:57 tadzik Dancer2 does this: https://github.com/PerlDancer/Dancer2/blob/master/lib/Dancer2/Core/Role/DSL.pm#L44
20:57 tadzik I wonder if that's portable in any way
20:59 moritz not to Perl 6
20:59 moritz maybe with macros
20:59 timotimo_ jnthn: http://paste.ee/p/gZhrX this is the tree, maybe i'm looking at the wrong place?
21:00 timotimo_ maybe because of the inner block?
21:01 dalek Heuristic branch merge: pushed 17 commits to rakudo/new-nil by moritz
21:02 moritz dammit, merged into the wrong branch
21:03 FROGGS moritz: doesnt hurt if you wanted to merge it into nom
21:03 cognominal joined #perl6
21:03 timotimo_ yeah, maybe it doesn't work because it's a lexical, but the block is somewhere else in the tree?
21:04 kurahaupo joined #perl6
21:05 alester A kiwi!
21:07 jnthn timotimo_: Well, the lexical wants installing inside the regex block
21:07 timotimo_ so i need the lexical inside every { ... } block?
21:08 jnthn No, it should be visible from nested ones...it's a lexical
21:09 jnthn timotimo_: Hm, it looks to be in the same scope $?REGEX is.
21:09 jnthn So I don't immediately see what's wrong.
21:10 jnthn timotimo_: Does it work for regex foo { ... } ?
21:10 timotimo_ i'll try
21:11 timotimo_ it doesn't seem to error out at least
21:11 timotimo_ but i don't call it, but that doesn't make a difference, yes?
21:12 timotimo_ oh, neat,it does work
21:12 timotimo_ er,no, not quite
21:12 timotimo_ oh, no, actually yes, it does
21:12 timotimo_ perl6 -e '"a" ~~ regex { a { say &?ROUTINE.WHAT } };'  ->  (Regex)
21:12 dalek rakudo/nom: 7a313c0 | (Gerhard R)++ | src/core/IO/Socket/INET.pm:
21:12 dalek rakudo/nom: Change IO::Socket::INET.get to return undef on EOF, matching IO semantics.
21:12 dalek rakudo/nom: Also make sure that the line separator is encoded correctly.
21:12 dalek rakudo/nom:
21:12 dalek rakudo/nom: Now, if only someone could show me a good way to make the transcoding happen
21:12 dalek rakudo/nom: at attribute assignment and not at every readline call...
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7a313c058a
21:12 dalek rakudo/nom: f54e210 | (Gerhard R)++ | src/core/IO/Socket/INET.pm:
21:12 dalek rakudo/nom: Fix IO::Socket::INET.lines - now with actual looping
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f54e210173
21:12 dalek rakudo/nom: a98aa70 | moritz++ | src/core/IO/Socket/INET.pm:
21:12 dalek rakudo/nom: Merge branch 'fix-socket-get-2' of https://github.com/gerdr/rakudo into nom
21:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a98aa70e78
21:12 moritz not_gerd++
21:13 alester In text, are we wrintg "Perl 6" or "Perl6"?
21:14 timotimo_ i wrote Perl 6 recently
21:14 alester I've heard people suggest it should be the latter but not more than that.
21:14 alester OK, "Perl 6" it is.
21:15 arnsholt jnthn: 'Nother ops question. When I have "class NQPArray { ... }" in NQP, does that end up in the same namespace as, say, QRPA?
21:19 jnthn arnsholt: QRPA isn't in any NQP-visible namespace as it's a Parroty type thing
21:20 jnthn arnsholt: And NQPArray should be a in NQPCORE, so it shouldn't be in a package.
21:20 jnthn s/a//
21:20 jnthn It should be declared my and visible due to being lexical.
21:21 timotimo_ jnthn: should i pullrequest the change that adds the &?ROUTINE already? or wait until somebody clever finds out why it doesn't work with /.../ regexes?
21:22 jnthn timotimo_: I'm not convinced if it should
21:22 timotimo_ https://rt.perl.org/rt3//Ticket/Display.html?id=116417 - moritz said so. i have no opinion :)
21:23 jnthn ah
21:23 jnthn I dunno if /.../ counts as a routine-y thing or a block-y thing. I guess it is ~~ Regex, so if it's about type...
21:25 timotimo_ so, if it's not supposed to be available in /.../, should i make sure the &?ROUTINE won't be added to the AST in the first place?
21:27 not_gerd left #perl6
21:32 masak alester: I'm curious to see what it is you have -- I'm a bit knackered from lots of teaching, though, so forgive my silly humor and lack of attention.
21:32 alester Here it comes.
21:33 alester https://gist.github.com/petdance/5147279
21:33 alester Sorry it took so long to get here.
21:35 alester I would also suggest that the answers to the first three questions should be in every release announcement.
21:36 alester One of my frustrations as both potential user and news editor is that the release announcements tell me about what's new, but not what the state is.  The what's new doesn't mean anything to me if I haven't been following previous releases.
21:37 alester There's some of that in http://rakudo.org/2013/02/24/rakudo-star-2013-02-released/ down at the tail end.
21:40 alester Now, all that said: How can I help?
21:41 masak alester++
21:41 masak I won't have the strength to do anything until tomorrow. but what's there already looks good.
21:44 alester The writing is mostly yours, and wordsithed a bit
21:44 alester Wordsmithed.  Wordsithed would mean I have to run it past a dark lord.
21:44 alester But the questions are gonna be the tough part.
21:49 masak honestly, I think it's based mostly on what PerlJam++ wrote.
21:50 jnthn alester: (what's new, not state) interesting point, perhaps it's worth revisiting the start-of-announcement text to consider what we convey there.
21:51 alester jnthn: That's why I'm trying to be the outsider here.
21:51 alester Becuase y'all are SO CLOSE to the project.
21:52 masak that's because our arms are only so long.
21:52 jnthn alester: Well, conveing progress is important too, so I guess it wants to be a balance.
21:52 alester I don't see it needs to be a balance.  If progress is the bulk of it, that's fine.
21:53 alester But I think that as an outsider, I want to know what I'm getting.
21:56 jnthn Something up front that ways you're getting a Perl 6 compiler, modules, debugger, documentation, etc?
21:56 jnthn *says
21:56 alester That'd be a start, sure.
21:56 masak as a Perl 5 teacher, I proudly tell my participants "it's been 13 years. we're working on it. there's noticeable progress, but there are also things left to finish."
21:57 alester masak: Absolutely.  I'm proud to be involved, too, in all the things I've done.
21:57 alester Not nearly as much as most of y'all, but yeah, I get what you mean.
21:57 alester It stinks that the black/white mentality of done/not-done comes out as so hostile.
21:58 alester But it's also what we have to deal with.
22:00 hoelzro can one augment a subset?
22:00 jnthn No
22:00 hoelzro =(
22:00 hoelzro so I can't add methods to a subset?
22:00 jnthn No
22:00 hoelzro dang
22:00 hoelzro oh well
22:00 jnthn It's not a type capable of having methods directly.
22:01 masak can one inherit from a subset? :)
22:01 timotimo_ you could add "does foo" as part of the subset-ness test? :P
22:01 masak can one mix a subset into a class as if it were a role?
22:01 hoelzro is there a way I can define a class that has an automatic string coercion?
22:01 hoelzro ex. sub MAIN(IssueState :$state)?
22:02 masak hoelzro: class IssueState is Str {} # ;)
22:02 * [Coke] imagines masak with tyrannosaurus arms.
22:02 alester hoelzro: Get outta here, go overhaul betterthangrep.com to support ack 2.0
22:02 hoelzro alester: heh
22:04 timotimo_ ack 3.0 will be perl6? :)
22:04 jnthn hoelzro: Override method Stringy
22:04 hoelzro I was actually thinking of writing an ack port in Perl 6 called 6pack
22:05 masak [Coke]: http://2.bp.blogspot.com/_9ooaR4kZwTY/S4NGbYHngcI/AAAAAAAABbA/o6_5aUp2s_Q/s320/DinosaurComics.png
22:05 [Coke] masak: http://funnyasduck.net/post/11512
22:06 _jaldhar joined #perl6
22:07 masak rawr.
22:07 grondilu Ayiko: hi, how did you manage to have syntax highlighnting in http://rosalind.info/problems/fibd/solutions/ without using a shebang?
22:08 * grondilu realises he can just ask this on this very page
22:09 japhb_ moritz, re: http://irclog.perlgeek.de/perl6/2013-03-12#i_6578249 , on a purely edit-distance basis, 'bless' and 'elems' are very close.  What tweak to the distance heuristics would you recommend to DWYM?
22:09 hoelzro jnthn: so I only need to override Stringy? do I need to consume that role?
22:10 jnthn hoelzro: no
22:11 masak today's autopun: http://bash.org/?772595
22:11 olivia123 joined #perl6
22:11 olivia123 Helloo
22:11 masak goodbyee
22:12 masak hm, are there any autopuns on the form <do>...<say>? all the ones I can think of are <say>..<do>.
22:13 mehwork joined #perl6
22:14 mehwork what's the best way to play with perl6 today?
22:14 alester mehwork: Thanks for asking.  We're talking about that very question.
22:15 mehwork nice
22:15 japhb_ alester, bracketed line 60 of your gist seems no longer necessary, since you have the blockquote at the end that addresses it.
22:15 masak mehwork: download Rakudo. write a one-liner. see if it did what you hoped it would. (probably does.) repeat from step 2.
22:15 alester I've just updated https://gist.github.com/petdance/5147279 to include mehwork's question'
22:15 timotimo_ mehwork: you can also use the p6eval bot to evaluate single lines of code or gists from gist.github.com for you :)
22:16 masak rn: say "hello $_, from us compilers!" given "mehwork"
22:16 mehwork cool, thanks
22:16 p6eval rakudo a98aa7, niecza v24-33-gfc6d5fd: OUTPUT«hello mehwork, from us compilers!␤»
22:16 japhb_ alester, OK, it's now line 62.  ;-)
22:16 timotimo_ here on the channel you always get the newest version of rakudo, but you can also type star: to get your code run on the latest rakudo star release
22:17 timotimo_ star: if True { say "yay" } else if False { say "no" }
22:17 p6eval star 2013.02: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing block�at /tmp/OyojzVsqYV:1�------> [32mif True { say "yay" } else [33m�[31mif False { say "no" }[0m�    expecting any of:�        postfix�        infix or meta-infix�        infix stopper�        statement end�        state…
22:17 timotimo_ r: if True { say "yay" } else if False { say "no" }
22:17 p6eval rakudo a98aa7: OUTPUT«[31m===[0mSORRY![31m===[0m�Please use 'elsif'�at /tmp/C9FWhBzvNe:1�------> [32mif True { say "yay" } else if [33m�[31mFalse { say "no" }[0m�Confused�at /tmp/C9FWhBzvNe:1�------> [32mif True { say "yay" } else if [33m�[31mFalse { say "no" }[0m�    expect…
22:17 * japhb_ likes that star tracks a *release*, not just HEAD
22:17 alester Removed.
22:19 timotimo_ how long until the 2012.03 rakudo release is planned to happen?
22:20 jnthn It happens on the Thursday following the third Tuesday in the month
22:21 japhb_ hoelzro, last I hacked on it, overriding &USAGE didn't allow you to access $?USAGE (the default-generated usage info) -- that's still a TODO, see src/core/Main.pm for details.
22:22 hoelzro japhb_: yeah, I noticed that too
22:23 japhb_ hoelzro: I ran out of right-shaped tuits, but you're welcome to work on any or all of those TODOs.
22:24 hoelzro if I find the time =)
22:24 timotimo_ a proto regex should not get &?ROUTINE, is that right?
22:24 * hoelzro puts that next to "add STD opening/closing brackets"
22:25 jnthn timotimo_: I'm not sure there's a way to get at it even if you give it one...
22:25 jnthn timotimo_: But it doesn't hurt if it has one.
22:26 timotimo_ hm, OK
22:29 * timotimo_ specs runtests
22:31 timotimo_ i'm still not sure if i should try to give &?ROUTINE to /.../ or not ...
22:32 masak hm, the Thursday following the third Tuesday in the month can be either the third Thursday or the fourth Thursday, but no other nth Thursday, right?
22:33 jnthn rajt
22:34 jnthn timotimo_: Me either; I was wondering if TimToady might drop us an opinion if we're patient :)
22:34 timotimo_ oh, that would be nice
22:36 timotimo_ i fear he'd suggest to add it in, in that case i wouldn't be sure how to do it :|
22:37 timotimo_ i shall add some tests.
22:38 skids joined #perl6
22:39 timotimo_ hm, not sure where to add them to be honest. S05-grammars/?
22:40 jnthn Somewhere in S02-magicals maybe
22:42 timotimo_ subname.t seems to have &?ROUTINE in it already
22:42 timotimo_ but only &?ROUTINE.name
22:43 timotimo_ ah, sub.t is better
22:47 timotimo_ that was surprisingly easy :)
22:48 dalek roast: ee9b043 | (Timo Paulssen)++ | S02-magicals/sub.t:
22:48 dalek roast: test that &?ROUTINE gets set in regex/token/rule.
22:48 dalek roast: review: https://github.com/perl6/roast/commit/ee9b043f32
22:49 timotimo_ these tests pass with my local rakudo, which is just the code that i recently pushed to my github
22:49 TimToady I wouldn't give /.../ a &?ROUTINE, since it functions mroe like a block
22:50 TimToady regex {}, token {}, rule {} on the other hand are methods
22:50 timotimo_ great, i'll issue a pull request and if the code looks sane, it could be merged immediately
22:53 jnthn TimToady: That was my gut feeling too :)
22:53 jnthn A couple of errands aside, I should have a good tuit supply tomorrow :)
22:54 diakopter hi
22:54 diakopter ww
22:55 diakopter ww ww
22:55 masak diakopter: :)
22:55 jnthn wat? :)
22:55 timotimo_ ww ww ww ww ww ww ww ww watman!
22:56 TimToady dwim! pow! exp!
22:59 jasonmay that's so meta
22:59 lue hello o/
23:00 masak jasonmay: if there's something we like in here, it's meta.
23:01 * masak .oO( every time you mention the meta, you level up )
23:02 jnthn It's so meta, even this allusion...
23:04 masak at this point, I feel obliged to mention Bertrand Russell. that is all.
23:04 timotimo_ oh no, what did i do
23:04 masak you created a self-feeding tempo-spacial vortex!
23:05 lue r: my @a = 1,2; my @b = 4,5,6; say @a ZX+ @b; say @a XZ+ @b; # not sure what I want this metaop combining to do :P
23:05 p6eval rakudo a98aa7: OUTPUT«5 7␤5 6 7 6 7 8␤»
23:06 timotimo_ https://github.com/rakudo/rakudo/pull/116 - this is now cleaned up and can be merged if you like :)
23:06 alester masak et al: Let me know how I can help with writing/wthaever.  TTYL.
23:07 jnthn timotimo_: If nobody beats me to it, will merge it in the morning
23:07 jnthn well, review andmerge if it's fine
23:08 timotimo_ :)
23:09 jnthn Sleep now... 'night o/
23:17 mj41 joined #perl6
23:27 slavik joined #perl6
23:28 xilo joined #perl6
23:39 labster joined #perl6
23:42 masak 'night, #perl6
23:42 revdiablo joined #perl6
23:42 xilo joined #perl6
23:45 slavik joined #perl6
23:59 * colomon 's $work script would be much easier to write if he could do it in p6 rather than p5.   :(

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo