»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by moritz on 3 May 2013.
__sri jnthn++ 00:05
lue likes jnthn++ 's wording of the goal of an optimizer :) 00:09
Juerd [Coke]: Ah, qmail isn't running. I guess since nobody has ever noticed, nobody's still using feather for email at all :) 00:26
yoleaux 14 May 2013 23:19Z <[Coke]> Juerd: - feather ran out of disk space today- looks like messages are piled up in /var/qmail from (ever) and need to be delivered.
14 May 2013 23:20Z <[Coke]> Juerd: - I'm out of my depth and don't know anything about qmail.
Juerd [Coke]: I'll delete everything from over 30 days ago to begin with :)
[Coke] defintiely some old stuff in there. 00:44
[Coke] building star on feather is crazy slow. 01:02
[Coke] hurls github.com/coke/rakudo-star-daily - I'll do a push with today's build once it (*&#$ finishes. 01:43
(and then I'll setup a cron job starting tomorrow)
Juerd I've just killed a bunch of perl6 processes on feather, which caused a load average of 10. 02:28
(sergot's and coke's) 02:29
[Coke] aaargh, maybe. 02:58
I've been running a rakudo star build for what feels like hours. :|
that seems to have just killed a long running (but not in the weeds) spec test. 03:02
diakopter oops. 03:03
[Coke] Testing modules/Pod-To-HTML...
...no t/ directory found.
(should we include modules in star that have no tests?)
[Coke] something is slowing feather down right now that doesn't seem to be cpu or memory. Guessing it's disk io on the mail cleanup? 03:12
[Coke] ok, github.com/coke/rakudo-star-daily/...master/log is committed. 03:37
Hopefully the next run won't take hours. :) 03:38
TimToady [Coke]++
[Coke] so, github.com/coke/rakudo-star-daily/...odules.log - that needs to be clean before we can cut a star releae.
*release
failing modules: zavolaj, perl6-lwp-simple 03:43
~~zzz 03:46
moritz good morning 05:17
sorear morn 05:19
Heather hello... 05:45
FROGGS jnthn++ # le blog post 05:48
hi Heather
sorear hi Heather. 05:49
Heather where does panda get packages? git? 05:55
FROGGS yes 05:56
Heather: from this list: github.com/perl6/ecosystem/blob/ma.../META.list
Heather strange...
FROGGS why?
Heather FROGGS it seems like it get outdated package 05:57
FROGGS I had to remove once a already cloned repo from my disk so it fetches it anew 05:58
Heather FROGGS hm... let me try 06:01
Heather seems like same.... 06:05
FROGGS :/ 06:06
Heather ahh.... 06:09
I get it
github.com/tadzik/panda/tree/master/ext
those ones...
tadzik hello, what about submodules for them?
Anarch perl6: say 1 < 2 < 3; 06:20
camelia rakudo 170856, niecza v24-51-g009f999: OUTPUT«True␤» 06:21
dalek rl6-bench: 06c0b5a | (Geoffrey Broadwell)++ | analyze:
First cut of html_plot formatter, using JavaScript to plot rate scaling
07:01
rl6-bench: 344c2b5 | (Geoffrey Broadwell)++ | microbenchmarks.pl:
Tune starting scale of microbenchmarks to show more useful info in html_plot output
moritz jnthn: I've just given donald hunter an nqp commit bit 07:02
seems there are a lot of good patches forthcoming from him
FROGGS ++donaldh 07:04
Heather tadzik: github.com/tadzik/panda/pull/44 07:12
brrt hi #perl6 07:13
hows the land
moritz green, with lots of gentle slopes 07:15
brrt good to know
moritz, your site is back online :-) 07:16
moritz brrt: I noticed :-)
brrt i didn't, until now :-)
yay
moritz and ilbot6 has been logging for two days now without interruption (though only into a test database)
FROGGS Heather: so you suggest that panda should install its dependencies via git? 07:17
moritz seems to work with both postgres and mysql
Heather FROGGS well it does it by default...
FROGGS but it's using some packages for bootstrap itself, I suggest to use them as submodules 07:18
FROGGS Heather: how can panda work if its deps are missing on a clean system?
brrt nice
Heather FROGGS what do you mean? 07:19
FROGGS why will they be missing?
FROGGS Heather: if you install rakudo and then clone panda, then it has no deps, and it cant install them because it doesnt know how to parse the META.info of a module that should be installed 07:26
Heather FROGGS it has deps as submodules :) 07:27
Heather FROGGS here is good example of submodules usage github.com/mozilla/servo/tree/master/src 07:27
FROGGS Heather: so when cloning the repo these get automatically cloned too? 07:28
Heather FROGGS with --recursive
FROGGS or after clone you do git submodule init & git submodule update 07:29
FROGGS I see
Heather FROGGS there is possible trick to add init & update to bootstrap
bonsaikitten Heather: be aware that tarballs from github won't work with submodules 07:30
Heather bonsaikitten yes I used to fail with it processing mono tarballs 07:33
bonsaikitten I learned that through OpenDylan. So annoyinhg
Heather bonsaikitten mono is using submodule init & update on configure 07:34
bonsaikitten *twitch* 07:35
BAD
that means the downloaded stuff is not stable and might randomly change, which breaks all kind of ass-umptions about packaging software 07:36
Heather bonsaikitten source is not package... 07:37
bonsaikitten they don't expect someone want to install stuff by automate source compilation
bonsaikitten Heather: try building stuff that randomly auto-updates
you can't reproduce your results -> invalid
Heather bonsaikitten it's easier to develop with such structure 07:38
Heather bonsaikitten by the way you must know that submodules DOES NOT AUTO UPDATES 07:38
bonsaikitten no, it's not
Heather bonsaikitten only developers can bump submodule commit point
Heather bonsaikitten try building stuff without knowing how your version control system works... 07:40
bonsaikitten Heather: ignorance seems to be a prerequisite ;) 07:41
Heather bonsaikitten ignorance ? 07:42
bonsaikitten yes, I'm in a grumpy mood today
brrt hug bonsaikitten 07:43
(how does hugme work, anyway)
flussence hugme: hug * 07:44
hugme hugs *
flussence there you go
brrt hugme: hug bonsaikitten
hugme hugs bonsaikitten
brrt :-)
bonsaikitten :D 07:45
moritz hugme: hug me
hugme hugs moritz
Heather test hugme *
bonsaikitten people hacking build systems on MacOS are not good for my mood
Heather bonsaikitten eh? do you use macos? 07:46
brrt MacOS (X) isn't at all good for my mood
bonsaikitten Heather: no, but people hacking up random stuff do 07:47
and then I get to decipher what they intended the build system to do
just because it accidentally works on macos doesn't mean much
Heather yes I usually hate when people use a lot of posix stuff, it's hard for me to use it on windows :( 07:48
bonsaikitten for me the problem is "why are you calling ar directly ??!? lern2ld"
Heather bonsaikitten objc?
bonsaikitten Heather: no, Makefile
Heather let share hates... 07:50
Heather hates Fedora and even banned on #fedora
moritz hugme: hug Heather
hugme hugs Heather
brrt likes fedora :-)
arnsholt Heather: My work computer has Red Hat Enterprise Linux =) 07:51
But at least they've managed to upgrade Perl to 5.10 in the one we have now
Heather arnsholt I'm fine with rhel ) I like rhel, I'm not banned on #rhel and rhel enterprise support are mannered and friednly 07:52
arnsholt there is epel...
labster I'm not so hating the Mac OS X as annoyed that it's randomly not working after running about 15 minutes on one of my machines. Any time `ls /` produces no output, you know you got a problem.
bonsaikitten CentOS is a funny game
arnsholt I don't have privileges to install packages on my own machine =( 07:53
labster Hi Heather o/
brrt oh, that hurts
bonsaikitten arnsholt: that's sad
arnsholt (At work)
Heather labster hi
brrt can you install into a 'local' directory?
bonsaikitten luckily I am root
arnsholt Yeah. So my $HOME is slowly accreting stuff I need/want
labster glad to see you around again.
bonsaikitten it's a lot easier that way :)
brrt arnsholt, i do that on all computers
much easier in installation / uninstallation
Heather brrt I doubt 07:54
arnsholt But sometimes the old^Wmature versions RHEL ship are impractical beacuse they're not always compatible with the versions I get on my laptop (which has Ubuntu)
Heather brrt I have no user instead of root on most of my machines
brrt hmm 07:55
Heather dinner time
arnsholt Just yesterday it turns out I can't compile the Haskell code I wrote at work on my laptop, because they've changed the module layout between GHC 7.0.4 and whatever version Ubuntu has
brrt thats not really either ubuntu's or fedora's fault
arnsholt Well, my annoyance is that the RH packages are a bit too old for my tastes 07:56
Perl 5.10 for example is about 4 years old
hoelzro jnthn++ # JVM progress 08:12
timotimo jnthn++ # seconded. 08:13
brrt jnthn is basically carrying it all by himself 08:14
maybe
i should help out
nwc10 brrt: he made a short list of suggestions on how to help in the blog post 08:15
help would be wonderful 08:16
brrt :-)
i can see what i can do
Heather arnsholt they even have no xmobar for my xmonad :(
arnsholt The value printed by which xmobar on my work desktop: ~/sw/bin/xmobar =) 08:18
Do you use yeganesh, BTW?
Heather arnsholt yesganesh? 08:19
arnsholt It's a wrapper around dmenu: dmwit.com/yeganesh/ 08:20
Keeps track of which commands you run most frequently and puts those first. Pretty neat
Heather arnsholt I don't use dmenu
arnsholt No need for yeganesh then =)
sorear dmwit, eh
Heather arnsholt I don't need an button to write some command... 08:21
Heather arnsholt but how you got xmobar? what repo? 08:22
arnsholt I installed it with cabal I think 08:24
Or possibly just from source. Can't remember off-hand
Heather arnsholt I see... 08:25
arnsholt I don't like that way...
arnsholt That I can agree with. But since I'm only a lowly peon, what can you do? =) 08:27
Heather arnsholt package! 08:28
jnthn morning, #perl6 08:44
hoelzro morning jnthn
jnthn++ # waking up
jnthn Yeah...slept pretty badly :( 08:45
Heather aloha jnthn
jnthn Привет, Heather
lizmat morning #perl6!
jnthn++ # for blog post 08:46
hoelzro мы говорим по-русски!
lizmat: morning
jnthn hoelzro: In my case, rather badly...especially before I had any coffee :)
hoelzro jnthn: heh 08:47
I myself just started learning, so you'd be hard-pressed to beat in lack of quality Russian ;)
arnsholt Heather: Well, then I have the problem that I have no idea to do non-system-wide installs via yum or whatever the proper tool on Red Hat is for that stuff =) 08:49
So just doing it by hand is less work =)
Heather I see
jnthn hoelzro well in English I fail really often... 08:50
even on such things: James while John had had had had had had had had had had had a better effect on the teacher
hoelzro heh
I'm a native speaker and I can't parse that =)
jnthn I...what? :) 08:51
jnthn has seen that one before somewhere... :)
Heather hoelzro really?
hoelzro mhmm
Heather jnthn it's popular sentance
*sentence 08:52
dalek ast: f8ae426 | (Elizabeth Mattijsen)++ | S32-hash/exists_adverb.t:
New file for testing :exists adverbs

Copied from delete_adverb.t
jnthn hoelzro: If you add sufficient punctuation it becomes much easier to parse :)
Heather jnthn wiki said
hoelzro true =)
lizmat n: my @a=(1); say @a[0]:exists 08:55
camelia niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to KERNEL Array.postcircumfix:<[ ]>, unused named exists␤ at <unknown> line 0 (KERNEL Array.postcircumfix:<[ ]> @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 179 (postcircumfix:<[ ]> @ 5) ␤ at /tmp/upLHgzFieO …
moritz lizmat: please use - instead of _ in new test file names
lizmat pugs: my @a=(1); say @a[0]:exists
camelia pugs: OUTPUT«pugs: Named argument found where no matched parameter expected: (exists,Val (VBool True))␤»
lizmat moritz: shall I rename delete_adverb.t then as well? 08:56
n: my %a=a=>1; say %a<a>:exists 08:57
camelia niecza v24-51-g009f999: OUTPUT«True␤»
lizmat n: my %a=a=>1; say %a<a>:!exists 08:58
camelia niecza v24-51-g009f999: OUTPUT«True␤»
lizmat p: my %a=a=>1; say %a<a>:exists
camelia pugs: OUTPUT«pugs: Named argument found where no matched parameter expected: (exists,Val (VBool True))␤»
lizmat just realizes she should do these tests in a /msg to camelia 08:59
Heather camelia hi 09:05
moritz lizmat: yes, please 09:21
lizmat will do 09:25
dalek : a88e1a0 | (Tobias Leich)++ | lib/Perl5.nqp:
add a default to @INC
09:28
: 3355a22 | (Tobias Leich)++ | / (6 files):
move token @INC into EXPORT sub of Perl5::Terms

We bind special variables to the hash which gets exported, and do the same technique for the English and Config module.
masak morning, #perl6 09:44
hi, Heather!
brrt hi masak 09:45
hoelzro ahoy mask
*masak
Heather masak hi 09:47
masak Heather: you missed #masakism on May 1 :(
Heather: which is kind of ironic, since you're one of the new people who made me decide to go ahead and arrange one in the first place... 09:48
Heather masak I'm sorry
masak oh, don't apologise.
I just regret that you weren't there. 09:49
FROGGS NAOW!
o/ masak 09:50
brrt omg mac os x top is /weird/
hoelzro brrt: isn't it?!
it drives me nuts
brrt yes, it is
much more difficult to read, to
too 09:51
lizmat Activity Monitor is maybe what you want
in Utilities, usually
hoelzro I think apple cripples their command line utils to force you to use their GUI ones =/
lizmat could be
FROGGS brrt: maybe you like this: github.com/AndyA/htop-osx/tree/osx 09:52
hoelzro hey, I wasn't aware someone had ported htop
dalek ast: 6812407 | (Elizabeth Mattijsen)++ | S32-hash/exists_adverb.t:
Transmogrified tests for %h:delete to %h:exists
09:53
brrt ooh, ill check
FROGGS brrt: there is a screenshot if you scroll down a bit, though the site is in german: macfidelity.de/2009/07/06/mac-apps-...index.html
brrt better, yes
dalek ast: 7d2d74c | (Elizabeth Mattijsen)++ | S32-hash/ (4 files):
Rename test files, as per moritz' request
09:55
brrt much, much, much nicer 09:56
thanks
masak jnthn++ # blog post, oh wow 09:59
Ulti I think pmurias might have meant to say something to Util? < pmurias> Ulti: re mentors, pmichaud is mentioned in the < pmurias> Ulti: "Possible Mentors" section 10:12
masak Ulti: indeed. 10:14
Ulti *sigh* sorry about the nick clash I'd change mine if I hadn't been using it for more than a decade 10:15
masak Ulti: it's not your fault. 10:17
(nor Util's, of course)
Ulti I dunno lets blame Util :D that nick clashes with a module name too ;P 10:18
masak Ulti: there's 13 of us in here with an m* nick. that also confuses things sometimes.
lizmat I'm pretty sure Util has been using his for quite some time as well :-)
masak yeah.
Ulti just read jnthn's blogpost, exciting times... 10:20
dalek ast: 1b950fe | (Elizabeth Mattijsen)++ | S32-hash/exists-adverb.t:
Transmogrified the @a[]:delete tests to @a[]:exists
10:21
Ulti is there somewhere to watch v5 too other than the github commits? 10:22
hoelzro jnthn: when the JVM work is "complete", will NativeCall only work with Java libraries? or are there plans so that it still works with external shared libraries? 10:25
jnthn hoelzro: The plan is that NativeCall will continue to do "native".
hoelzro: We'll call the Java interop something else
hoelzro oh, ok 10:26
JavaCall? ;)
jnthn heh :)
hoelzro thinks on puns involving coffee
'use OvercaffinatedCamel;'
jnthn Well, or maybe we can figure out "use java::lang::Thingy:from<java>" or so :)
hoelzro ah
that makes the most sense 10:27
Ulti what about DrunkenCall 10:33
PrankCall
jnthn DrunkenCall? What kind of coffee do you drink? :) 10:34
dalek : b4c7a54 | (Tobias Leich)++ | / (4 files):
precompile modules
10:38
Ulti jnthn: Irish ;P 10:39
arnsholt hoelzro: My plan is to work on NativeCall at the YAPC::NA hackathon, and I'd like to get started on JVM NativeCall there 10:40
And yeah, it'll still be C library NativeCall
CamelCall is my suggestion for a name =)
jnthn arnsholt: yay :)
arnsholt (For the Java calling stuff)
lizmat would it make sense to generalise this to VMCall, or are the VM's too different for this? 10:41
jnthn I suspect we'll discover that by seeing what can be re-used when implementing a similar thing for a second VM :) 10:43
lizmat says the person who has the most experience with this :-) 10:44
moritz jnthn++ # blog post, rakudo-on-jvm work 10:46
Ulti is the ++ tracked by anything if so jnthn++ 10:47
lizmat we all track the ++
moritz Ulti: not at the moment, but I plan to extract them from the logs eventually
donaldh JNA might be a good lib to use for C library calling from JVM: github.com/twall/jna
Ulti moritz: I've never seen a -- on here though :)
moritz Ulti: there are some, occasionally. But very seldom. 10:48
we try to be encouraging
donaldh JNA has Apache license.
lizmat #perl6 only uses uints for karma :-)
Ulti that leads to karma inflation
and karma bubbles
moritz and karma day trading
and short selling 10:49
Ulti wow we solved it economies just need negative currency
pmurias lizmat: re generalising to VMCall, a large part of NativeCall is specifing the signature of the functions and a lot of that will be made unnessary when calling Java code etc. 10:51
lizmat because that can be introspected automatically, is what you're saying ?
pmurias yes 10:52
jnthn pmurias: Oh, I interpreted the question as "what if we have .Net support some day and want to call that stuff" :)
I didn't realize it was trying to bring native calling into the thing too
dalek ast: bb3e673 | (Elizabeth Mattijsen)++ | S32-hash/exists-adverb.t:
Fix some garbage that was hidden because of rakudo skip
jnthn That's not really a vm call, that's an out-of-the-vm call ;)
pmurias jnthn: I interpreted the question the same as you
jnthn pmurias: Ah, OK :) 10:53
eiro hello camelia addicts
pmurias jnthn: but we should be able to introspect the arguments the .Net method needs
jnthn pmurias: Right. Same as we can on JVM.
pmurias: I'm a little suspicious the way to be efficient on each of them may vary, though. :)
eiro journeesperl.fr/fpw2013/ < someone will join ? 10:54
lizmat did anybody notice that the Eurovision Songfestival is using Camelia as a theme for bridges between items ?
jnthn
.oO( Who is nancy? )
lizmat eiro: already signed up :-)
jnthn eiro: I have a schedule clash, unfortunately. :(
pmurias jnthn: efficient as in runs fast or is the easiest/best way to use them
lizmat Nancy lives not too far from Perl, actually 10:55
eiro lizmat: \o/ awesome!
jnthn pmurias: Runs fast
arnsholt donaldh: Thanks for the JNA pointer!
eiro right ... but it seems nicer.
pmurias if the reflection happens once at starup/compile time it shouldn't be much slower than parsing programmer specified signatures
arnsholt My current plan was to do what had to be done on the C level with dyncall/JNI more or less like on Parrot, but this is potentially a lot cleaner 10:56
jnthn arnsholt: I think the key thing is to get the NativeCall module API consistent. What's inside of NativeCall can happily vary. 10:57
arnsholt Definitely
The only way to do this on several platforms and escape with my sanity intact is to expose a consistent nqp::op API on all the platforms 10:58
jnthn Yeah. Whether the current one is sane is the question :) 10:59
arnsholt That's definitely open for discussion
But if we're comparing sanity, I'm more anxious to twiddle the Perl 6 API than the NQP API, to be honest
donaldh arnsholt: yeah, JNA + JNAerator = awesome.
arnsholt Oooh, neat 11:00
I've been wanting to write something like JNAerator, but I've been spending all my tuits on NativeCall/NQP so far
pmurias re 11:14
I wonder if JNAerator could be modified to spit out NativeCall declarations ;)
arnsholt Probably =) 11:15
lizmat how can I commit to my forked rakudo repo and not have that commit be added to my last pull request? 11:17
or can someone else commit these changes to t/spectest_data: 11:18
-S32-hash/delete_adverb.t
+S32-hash/delete-adverb.t
S32-hash/exists.t
+S32-hash/exists-adverb.t
masak tries 11:22
dalek kudo/nom: 570d1d6 | masak++ | t/spectest.data:
[t/spectest.data] chase rename/addition of test files

For lizmat, as per irclog.perlgeek.de/perl6/2013-05-15#i_7070799
11:24
lizmat masak++
FROGGS lizmat: if you dont want to add commits to a given pull request, you need to commit to a new branch AFAIK 11:39
lizmat aha, ok…
FROGGS I thought there is a text like "you can add commits to this pull request by pushing to the branch XYZ" here: github.com/rakudo/rakudo/pull/138 11:40
maybe just you will see it 11:41
lizmat but I wanted a commit *not* to be part of that pull request 11:44
fortunately, masak already committed the necessary change
FROGGS yeah, so you have to commit to another branch
lizmat clear 11:45
FROGGS so you cant use your branch nom until the pull request got merged
lizmat yup, got it
FROGGS if you are unsure if it will ever happen, that it might be better to use new branches for pull requests explicitly 11:46
dalek : 0be338a | (Tobias Leich)++ | / (2 files):
added sub skip_all_if_miniperl
12:04
timotimo oh weird. i wanted to git clone rakudo jakudo and it complains "fatal: attempt to fetch/clone from a shallow repository" - but it's definitely a full-featured repository 12:06
has anyone seen that kind of behavior before?
FROGGS timotimo: is there a .git/shallow file? 12:08
timotimo oh, indeed 12:09
FROGGS stackoverflow.com/questions/4770532...repository
timotimo i must have used a shallow clone at some point and filled up the history afterwards perhaps? 12:10
FROGGS no idea, first time I see this
timotimo right. i'll just cp -r it ;)
lizmat Is this a bug in "Test::is" ? 12:23
r: use Test; my %h=a=>1; say (%h<a>:exists) ~~ Bool; is %h<a>:exists, Bool, "huh?"
camelia rakudo 170856: OUTPUT«True␤use of uninitialized value of type Bool in string context in sub is at lib/Test.pm:81␤␤not ok 1 - huh?␤# got: 'True'␤use of uninitialized value of type Bool in string context in sub is at lib/Test.pm:85␤␤# expected: ''␤»
timotimo is tests for value, not for type
lizmat that explains :-)
I assumed is was just doing a smartmatch 12:24
timotimo nah, i guess you'd have to fall back to 'ok'
lizmat isa_ok 12:25
timotimo oh, even better
can the classfiles that fall out of nqp --target=classfile be used easily somehow from java? or is there a buttload of work involved if one wanted to manually use nqp code from java? 12:28
[Coke] (htop on os x - it's available in macports, also) 12:29
timotimo i have a perl6.class, but how do i run it? 12:34
masak timotimo: 'java perl6' ? 12:35
timotimo Exception in thread "main" java.lang.NoClassDefFoundError: org/perl6/nqp/runtime/CompilationUnit
arnsholt You'll probably have to add the NQP jar/class-dir to the classpath 12:37
timotimo classpath >_>
java -classpath nqp/bin:bin:. perl6 -> Unhandled exception: ModuleLoader.class (No such file or directory) 12:38
[Coke] timotimo: I don't think you can run an arbitrary classfile. 12:40
it has to have a main, among other things.
also, check the nqp runtime helper to see what else it's stuffing into the classpath. 12:41
timotimo well, i cannot java -jar rakudo_runtime.jar either, because it lacks a manifest or something
[Coke] the runtime isn't mean to be run as main.
*meant
timotimo thought so 12:42
arnsholt timotimo: Try adding the runtime jar to the classpath 12:44
timotimo will do 12:53
strange. i have nqp/ in the classpath and in there there's a ModuleLoader.class in there, but it still says it can't be found 12:56
oh, i got it now
oh, whoops :D 12:57
when i say "hello world" twice, i get a "SC already exists"
timotimo whoa, lots of NPEs :D 12:57
neato, (-> $_ { say $_ })("foo") works 12:58
but sub foo() { say "yoink" } explodes with a violent outburst of endless NPEs
lizmat thinks it's a good thing that Virtual Machines don't explode in real life 13:00
timotimo oh yes 13:00
[Coke] now kind of wishes parrot vomited up some ascii art of a bug when it exploded. 13:01
dalek ast: f039dde | (Elizabeth Mattijsen)++ | S32-hash/ (2 files):
Properly use "isa_ok" and "is_deeply"

For some reason, I thought that "is" was using smartmatch to do the check, whereas it only does an "eq"
13:09
lizmat r: my %h=a=>2; say %h<a>:kv; say %h<a>.kv; say 2.kv # this had me stumped for a bit 13:19
camelia rakudo 570d1d: OUTPUT«a 2␤0 2␤0 2␤»
lizmat wonders whether (Int|Str).kv should not simply fail 13:20
timotimo r: 1.list.perl.say; 13:24
camelia rakudo 570d1d: OUTPUT«(1,).list␤»
timotimo it makes sense that it works, at least to me 13:27
i like that it's Cool. 13:28
lizmat I'm more worried about the subtle difference between %h<a b c>:kv and %h<a b c>.kv 13:29
timotimo oh, that's a good point
but how should .kv on lists work then? 13:31
lizmat well, I guess in the case of lists, there is not a lot you can do about it... 13:32
by the time %h<a b c> reaches the .kv, it already has become a list
timotimo yes, indeed
lizmat but in the case of a scalar, I think .kv makes no sense at all
lizmat or does a single element list revert to a scalar? 13:33
timotimo no, don't think so
lizmat r: my @a=(1); say @a.kv.WHAT #indeed
camelia rakudo 570d1d: OUTPUT«(List)␤»
lizmat r: my %h=a=>2,b=>3; say %h<a>.WHAT 13:34
camelia rakudo 570d1d: OUTPUT«(Int)␤»
lizmat a single key returns a scalar, and doing .kv on a scalar doesn't make sense to me 13:35
I guess it's still hard to introspect where a scalar comes from
otherwise, you could construct a fail message like "using .kv on a scalar, didn't you mean :kv?" 13:36
only if it was a value from a hash
r: my @a=(1..10); say @a[9]:kv; say @a[9].kv # similar issue with arrays 13:38
camelia rakudo 570d1d: OUTPUT«9 10␤0 10␤»
timotimo oof 13:40
dalek nda: 8113795 | Heather++ | / (33 files):
replace exts with git submodules
13:47
nda: 8995125 | Heather++ | README.md:
readme update for submodules
nda: 94ee0e5 | tadzik++ | bootstrap.pl:
Update submodules in bootstrap
timotimo r: my @a = 1, 2, 3; my @b = 10, 11, 12, 13, 14, 15; say @b{@a
camelia rakudo 570d1d: OUTPUT«===SORRY!===␤Unable to parse expression in subscript; couldn't find final '}'␤at /tmp/KZoTEsCpAm:1␤------> y @b = 10, 11, 12, 13, 14, 15; say @b{@a⏏<EOL>␤ expecting any of:␤ postfix␤ statement end␤ statem…
timotimo oops
r: my @a = 1, 2, 3; my @b = 10, 11, 12, 13, 14, 15; say @b{@a}.kv; my @c = 2; say @b{@c}.kv
camelia rakudo 570d1d: OUTPUT«postcircumfix:<{ }> not defined for type Array␤ in method Str at src/gen/CORE.setting:10021␤ in method Str at src/gen/CORE.setting:876␤ in method Stringy at src/gen/CORE.setting:885␤ in method join at src/gen/CORE.setting:1375␤ in method Str at src/gen/CORE.se…
tadzik yay, feather is back
timotimo oh?
lizmat timotimo: [] ?
timotimo er, yes 13:49
thanks
timotimo r: my @a = 1, 2, 3; my @b = 10, 11, 12, 13, 14, 15; say @b[@a].kv; my @c = 2; say @b[@c].kv 13:49
camelia rakudo 570d1d: OUTPUT«0 11 1 12 2 13␤0 12␤»
timotimo i like that that works no matter how big @a and @c are
gtodd masak: like the extra oneliner tasks you added ... convert oneliner into full maintainable application 14:11
lizmat getting some fresh air, hopefully not too moist 14:13
gtodd masak: once someone completes all the tasks mapped out on www.freespectrum.info/workshop-map-links.svg they should be awarded a "PCSE" :-P
gtodd or maybe a YAPH_CSE 14:15
[Coke] .tell au we found the real disk hog, no rush to clean up. 14:18
yoleaux [Coke]: I'll pass your message to au.
FROGGS [Coke]: was is it in spool? 14:23
[Coke] sets up a crontab entry for star's daily build.
FROGGS [Coke]++
[Coke] yes. qmail has been accepting mail for years but not delivering it.
PerlJam qmail-- 14:24
[Coke]++ for tracking it down.
[Coke] if anyone wants to write a script to summarize what will be daily updates to github.com/coke/rakudo-star-daily 's log/ dir, suggestions welcome.
(also, should I bother logging rakudo's configure process?) 14:26
oh, crud, I am logging it, never mind. ;( 14:27
er, ;)
FROGGS [Coke]: for the daily log: I'd just do it like the perl6_pass_rates, treat the modules like synopsis and have a summary on top 14:35
timotimo it seems like getting rid of "Capture param binding NYI" will make a big difference? 14:44
pmurias to implement NativeCall on the JVM I would need to implement nqp::{buildnativecall,nativecall,nativecallrefresh}? 14:55
arnsholt From memory, that should do it, yeah 14:56
Oh, and the REPRs 14:57
[Coke] I didn't see any followup to an earlier comment: should we allow star modules that don't have tests? (I assume we grandfather in the existing ones, but any new ones should probably have tests) 15:06
FROGGS [Coke]: sounds good 15:06
PerlJam [Coke]: which don't have tests? 15:07
arnsholt pmurias: You going to YAPC::NA?
PerlJam [Coke]: (I agree that star modules should have tests btw :)
nwc10 harness the infinite supply of volunteers to write tests?
or at least, "hackathon"
[Coke] PerlJam: github.com/coke/rakudo-star-daily/...odules.log - modules/Grammar-Profiler-Simple modules/perl6-http-easy modules/Pod-To-HTML modules/rakudo-debugger 15:09
pmurias arnsholt: no 15:11
arnsholt 'k. In that case, I'd love to hear about it if you start on something 15:12
I'm not at all opposed to more people working on NativeCall stuff =)
pmurias arnsholt: if you want to work on NativeCall for JVM, I could implement it for JavaScript ;) 15:13
arnsholt Or that =) 15:13
I left off my NQP hacking in the middle of something of a yak shave, so if you want to hack on JVM NativeCall, feel free 15:14
arnsholt There're other things that need to be done for NativeCall as well, so you wouldn't put me out of business, as it were =) 15:14
PerlJam Is there some way to get END phasers to run in the appropriate order when I do END { ... } use Module-with-END; END { ... } ? right now, it seems that the module's END phaser always executes last. 15:43
(in rakudo)
PerlJam gist.github.com/perlpilot/5584994 # an example of what I'm seeing. 15:49
dalek ecs: 14e9ce6 | larry++ | S04-control.pod:
define INIT/END order across modules
15:56
TimToady obviously rakudo is not following the spec there :D 15:58
PerlJam TimToady++ :-)
TimToady now to decide whether what I said actually makes any sense... 15:59
arnsholt Hehe 16:00
What if several modules import the same module? 16:01
TimToady thing is, if these phasers only run once, then you can't depend on the order anyway 16:02
arnsholt Yup
PerlJam It works for Perl 5 ;)
TimToady well, Perl 5 one-ups Perl 6 by distinguishing CHECK from UNITCHECK. currently we confuse those concepts, I think 16:03
TimToady maybe they should be called CHECK and DOUBLECHECK :) 16:09
masak gtodd: I'm having second thoughts about the ONELINER exercise -- github.com/masak/workshop/issues/19 -- I think there's something in there can be done better.
PerlJam DOUBLECHECK is too long, how about RECHECK? 16:10
TimToady well, or use a different word entirely
masak CONTROL :P
TimToady app-level check is when we start making big assumptions about what can be optimized
POPQUIZ and FINAL :) 16:12
FINAL would be when you finalize your classes... 16:13
PerlJam FINAL has some nice appeal to it
(I actually thought we already had a phaser called FINAL though) 16:14
TimToady a bit of confusion with what other languages mean by "final", but maybe that's okay
gtodd masak: the issue identifies a valid problem for oneliners ... move the expansions to a new node/excercise and call it ... errm maintenableness or something 16:16
gtodd masak: of course putting the oneliner in a shell script and adding comments trying to explain what it does would be cheating :) 16:16
TimToady the other minor problem is the confusion of changing UNITCHECK/CHECK to CHECK/FINAL, but we're already pretty heavily confused in that area... 16:17
PerlJam maybe do something similar to "DOC INIT" and have "UNIT INIT" and "UNIT END" instead? (doesn't help with FINAL though) 16:19
those at least would be a little more self documenting 16:20
TimToady and we never did define a COMPOSE phaser for roles... 16:21
is that still desirable? 16:22
PerlJam I think so.
masak gtodd: well, the purpose of the exercise was to send a message like "ooh, look how oneliners and full-fledged scripts are simply different modes of expression, suitable in different situations". but I suspect there is a more effective way to convey that.
TimToady: yes, I think so.
TimToady what about a DECOMPOSE phaser? :D 16:23
masak .oO( I told you we should have left the design to someone younger... ) :P 16:24
PerlJam As soon as we have the need to explode classes into their constituent roles, a DECOMPOSE phaser will come in handy :) 16:25
tadzik oh, btw
"What is mozart doing right now?"
"Decomposing"
PerlJam tadzik: cute
tadzik well, I tend to find such jokes hilarous. Sorry 16:25
grondilu rn: say DayTime.new("2013/5/31") 16:26
camelia niecza v24-51-g009f999: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'DayTime' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36) ␤ at /hom…
..rakudo 570d1d: OUTPUT«===SORRY!===␤Undeclared name:␤ DayTime used at line 1. Did you mean 'DateTime'?␤␤»
grondilu rn: say DateTime.new("2013/5/31")
camelia niecza v24-51-g009f999: OUTPUT«DateTime.new(...)␤»
..rakudo 570d1d: OUTPUT«Invalid DateTime string '2013/5/31'; use an ISO 8601 timestamp (yyyy-mm-ddThh::mm::ssZ or yyyy-mm-ddThh::mm::ss+0100) instead␤ in method new at src/gen/CORE.setting:12519␤ in method new at src/gen/CORE.setting:726␤ in block at /tmp/NBxezZpnSP:1␤␤»
PerlJam that edit-distance guessing of what was meant still makes me giddy inside :)
grondilu looks at the dictionary what "giddy" means 16:27
colomon tadzik: www.youtube.com/watch?v=sjWPXybVjYE
TimToady we don't really have a decent date/time parser specced yet 16:28
masak grondilu: "bubbling with happiness" -- something like that.
TimToady n: say DateTime.new("2013/5/31").year 16:29
camelia niecza v24-51-g009f999: OUTPUT«Unhandled exception: Unable to resolve method year in type DateTime␤ at /tmp/hzpFp0URhD line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4331 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4332 (module-CORE @ 582) ␤ at /h…
masak TimToady: if you ask me that sounds like A Good Case For A Module. outside of the spec.
TimToady which don't have one o' yet
masak TimToady: just like I don't want to support Klingon Hexadecimal Discordian time in core, I don't want to parse lots of cultures' crazy backwards time formats in core ;) 16:30
grondilu is fine with it not being in core.
masak ISO 8601 has already won, it's just not evenly distributed yet.
masak I'm totally fine with the core DateTime constructor detecting the type of craziness and recommending a module ;) 16:30
TimToady sure, but it'd be nice to be able to handle rosettacode.org/wiki/Date_manipulation without writing a grammar
PerlJam masak: though DateTime could parse certain substrings of ISO8601
masak but that needn't be spec'd either. 16:31
PerlJam: only to the extent ISO-8601 thinks that's a *good idea*, though.
masak PerlJam: it's a really good spec. I haven't found any reason to deviate from it. 16:31
TimToady whoever put the T in middle needs to be sent off to charm school
masak heh.
tadzik colomon: haha 16:32
TimToady a + would have been a lot prettier, and nearly meaningful 16:33
PerlJam but ... but ... T is mnemonic for time!
;)
TimToady + looks like t 16:34
FROGGS but there is already a
+ before timezone offset
masak thinks he woulda preferred a x20 space 16:35
PerlJam I can see why they wouldn't want to use a space though
TimToady .u   16:36
yoleaux U+00A0 NO-BREAK SPACE [Zs] ( )
TimToady underline would be way better than T, visually speaking 16:37
PerlJam xkcd.com/1179/ (xkcd++ ... always timely and relevant ;) 16:38
TimToady but standards people tend to have a tin eye
PerlJam: love the mouseover 16:39
sjohnson what does a "tin eye" mean?
TimToady same as a "tin ear", only different 16:40
sjohnson heh
ah, interesting.
sjohnson learns
TimToady well, that's what I'm making it mean now; you probably won't find it much in popular culture...
but I never let things like that stop me from saying what I want :) 16:41
PerlJam I think the phrase "tin ear" came from the rather unmelodic sound tin makes when struck. Somehow I don't think that quite translates to vision
TimToady you're overanalyzing it :) 16:42
rjbs Ever strike somebody in the eye?
PerlJam rjbs++
TimToady and I think it probably referred to an ear horn
PerlJam oh, that makes sense too "tone deaf" and all
lists.maddoc.net/pipermail/in-bloom...22600.html 16:44
lizmat <nag mode="on">irclog.perlgeek.de/perl6/2013-05-15#i_7071271 :-) 17:20
r: my %h=a=>2; say %h<a>:kv; say %h<a>.kv; say 2.kv 17:22
camelia rakudo 570d1d: OUTPUT«a 2␤0 2␤0 2␤»
lizmat r: my @a=(1..10); say @a[9]:kv; say @a[9].kv # similar issue with arrays
camelia rakudo 570d1d: OUTPUT«9 10␤0 10␤»
PerlJam lizmat: btw, you know you don't need parens there, right? 17:25
lizmat in the 1..10 you mean, yes
dalek ecs: a7444d8 | larry++ | S (6 files):
distinguish FINAL phase from CHECK phase

CHECK phase is always after the parsing of the current compilation unit. FINAL phase is after the main application's CHECK phase, when the application as a whole commits to optimization policies. In other words, a FINAL block defined in a module is not run when the module is compiled (that would be a CHECK instead), but rather when the application using the module is completing its compilation and linking.
17:32
TimToady p5's UNITCHECK/CHECK are now p6's CHECK/FINAL 17:35
sjohnson TimToady: :) The reason why I thought it might be an idiom is cause of the reverse image search engine at www.tineye.com/
TimToady oh, and I snuck in a COMPOSE phaser
TimToady almost added a USED phaser, but would you buy a USED phaser from this salesman? 17:37
lizmat std: FINAL { }
camelia std 4dc2553: OUTPUT«===SORRY!===␤Undeclared name:␤ 'FINAL' used at line 1␤Check failed␤FAILED 00:00 42m␤»
lizmat :-)
TimToady ohh, STDbug :)
PerlJam notes that lizmat never turned nag mode off :)
lizmat </nag>
diakopter TimToady: but has it been overloaded? sometimes it's filled with sawdust which masks that. 17:41
dalek d: 9906f18 | larry++ | STD.pm6:
add FINAL and COMPOSE, just for lizmat++
17:43
diakopter TimToady: can you point me to the latest vector blackonwhite camelia you want on the shirt? I forgot to send it last time
lizmat *blush* 17:44
PerlJam TimToady: that "declared at C<use> time" paragraph could maybe have a note that says something like "since these phasers only fire once, they are only installed the first time they are encountered."
(but with better words :)
TimToady diakopter: wall.org/~larry/c2.eps 17:45
PerlJam diakopter: These are the shirts we're getting as part of YAPC? or some other shirt? 17:49
[Coke] (put in an order for me for a camelia, if it works that way) 17:50
TimToady recent webinar spam to me: Learn the art of trading Butterflies with Rob Roy 17:51
diakopter yes yapc austin
[Coke]: heh; there's only 1 shirt, with all (most?) of the logos on the site sidebar 17:52
they're small.
TimToady I think the subtext was: Does that mean you're gonna make the rabid p5ers wear a butterfly?
or do you get a choice? 17:53
diakopter well they can sharpie it out if they really want
lizmat not too dissimilar to rabid p6ers having to wear a T-shirt with "Perl 5" in big letters on the back (like last year in Frankfurt)
diakopter but it's just as likely they won't know what the butterfly means
lizmat Good thing pmichaud++ organised shirts with "Perl 6", and one with "Perl *" for Larry 17:54
diakopter "hey what's this drunk moth on my shirt" 17:54
TimToady That's a drunk butterfly, you insensitive clod! 17:55
rjbs I thought she was a parasprite. mlp.wikia.com/wiki/Parasprite 18:01
flussence
.oO( parabitmap? )
18:02
PerlJam
.oO( parablt? )
rjbs: The image at the top of that page could be camelia's cousin
dalek rl6-roast-data: b399e8b | coke++ | / (4 files):
today (automated commit)
18:03
moritz wants a shirt with Perl <[56]> 18:10
dalek ecs: 8fca4e7 | larry++ | S04-control.pod:
"first time" tweak from PerlJam++
[Coke] bah. crontab entry failed. sans mailer, no idea what failed. 18:17
[Coke] ah, stackoverflow++ for a nice cron debug trick. 18:23
rjbs [Coke]: advent.rjbs.manxome.org/2009/2009-12-07.html 18:24
[Coke] rjbs: if only mail was being delivered on feather. :) 18:25
(that does look nifty) 18:26
something during the build is trying to checkout a RW github copy of PSGI. 18:31
ack2-a-- 18:36
dalek ar: c3bed5e | (Will Coleda)++ | .gitmodules:
use RO github URL
18:38
nwc10 [Coke]++ # grinding away the rough points on star 18:55
[Coke] soooo slow on feather.. 19:01
(not that feather is slow today - building star ain't fast)
lizmat jnthn: while trying to grok load_module (Perl6/ModuleLoader.nqp), I found that "locate_candidates" is doing *4* stat()s for each file on each %INC dir 19:04
when in the case of .pm6, you would only need 1 stat(), and in the case of .pm only 2. 19:05
also I think there is a bug there: if in one %INC dir a .pm6 file has been seen, it will never check for .pm files anymore 19:07
lizmat hmmm… 3 in case of a .pm file, 2 in case of a .pm6 file 19:09
FROGGS lizmat: well, atm it prefers .pm6-files, yeah 19:10
lizmat yeah, that's fine
FROGGS later it has to choose the best one (highest version) that fits our search criteria
PerlJam It's too bad there isn't some sort of single file index it could look at. 19:11
lizmat it's just that suppose we search for a A in ./a and ./b, if it has seen a ./a/A.pm6, it will not check ./b/A.pm6 for existence
FROGGS: so you're saying this is intentional?
FROGGS yes 19:12
lizmat: what should it do when it finds more than one candidate? it cant tell which one is better
lizmat well, locate_candidates appears not to short-circuit when it finds one 19:13
FROGGS but load_module always will use @candidate[0]
lizmat indeed… isn't that silly though? that's a *lot* of unneeded stat()s then 19:14
FROGGS true
lizmat puts in some "last"s and runs a spectest 19:16
lizmat yoleaux: good to see you're back! 19:16
sorear good * #perl6 19:19
FROGGS o/ sorear
lizmat morning sorear!
hmmm….. afternoon sorear! 19:20
geekosaur $ugt 19:21
masak sorear! \o/ 19:27
&
lizmat wrt load_module: it appears that it is searching all @INC directories even if the module already has been loaded 19:30
FROGGS hmmm, that is not very clever 19:31
lizmat it needs to do that because locate_candidates generates hashes with the fully qualified filename 19:32
and that's what load_module uses as a key for %modules_loaded
FROGGS hmmm, can't it use the module-name? 19:33
lizmat I guess it could, but it doesn't
FROGGS well, I guess it takes a while till we have full S11 support, so maybe it makes sense to optimize it a bit 19:34
or maybe this time should better be invested for S11 research :/ 19:35
lizmat well, looking at ModuleLoader.nqp, I think I can make an alternate version that would live next to this one 19:37
lizmat still written in NQP, and hook that in with e.g. an "enjoy" exportable sub instead of "use" 19:38
dalek : d4f845c | (Tobias Leich)++ | / (2 files):
updated pragmas
: 87e7b65 | (Tobias Leich)++ | t/test.pl:
added skip_all_without_perlio
: bda5246 | (Tobias Leich)++ | lib/Perl5/Grammar.nqp:
make statement_control:use beautiful

This will help us set and retrieve pragmas.
FROGGS pssst, hey rakudo, you could steal that statement_control:use from v5, it is nice :P 19:42
lizmat FROGGS: pssst, say what? 19:43
FROGGS what?
lizmat *sigh*
FROGGS TimToady++ p6's grammars are just awesome 19:45
FROGGS .oO( "a homo habilis discovering his opposable thumb says what?" - "what?" ) 19:46
moritz I think dconway++ and pmichaud++ (and a few others) also deserve praise for making p6 grammars awesome
FROGGS dconway++
pmichaud++ 19:47
(a few others)++
moritz: I'm just too new here to know that :o)
moritz perlcabal.org/syn/S05.html#AUTHORS
FROGGS R-) 19:49
yeah, you are right
moritz++ and al++ # too
moritz it was probably presumptuous to put my name in 19:50
I just made 10 commits to it, most not huge
PerlJam FROGGS: TimToady did most of the awesome though :)
masak moritz: not presumptuous, IMO. 19:51
lizmat having me at the top of perlcabal.org/syn/S17.html#AUTHORS, now that is presumptuous
FROGGS moritz: quality goes before amount of changed lines :o)
lizmat although I'm trying to make up for it
moritz oh, and there are a few commits by me from the SVN times which my first search didn't count 19:52
dalek kudo-star-daily: dd19953 | coke++ | doit (2 files):
chmod +x
19:56
kudo-star-daily: bf96413 | coke++ | doit:
auto commit a workday
kudo-star-daily: fd8b792 | coke++ | bin/star.sh:
use readonly star checkout
kudo-star-daily: dbab211 | coke++ | bin/star.sh:
Track more potential failure modes
rakudo-star-daily: fd90611 | coke++ | log/ (5 files):
rakudo-star-daily: today (automated commit)
lizmat [Coke]++ indeed! 19:57
[Coke] minor updates to the testing out since it's running from cron. future updates should highlight changes more directly.
(first run committed had tests times and TEST_JOBS. 19:59
lizmat first spectest run with "last" in "locate_candidates" seems to have run ~2% faster, doing another one now 20:05
dalek : b957340 | (Tobias Leich)++ | / (2 files):
added skip_all_without_dynamic_extension
20:16
dalek ecs: 1bc6fed | (Elizabeth Mattijsen)++ | S11-modules.pod:
Added some periods
20:38
p/rak-jvm-support: de8c590 | (Donald Hunter)++ | src/vm/jvm/ (3 files):
First pass at adding filename and linenumber annotations to generated bytecode.
20:39
p/rak-jvm-support: 40b1b76 | (Donald Hunter)++ | src/vm/jvm/QAST/Compiler.nqp:
Get the code right place for per statement line numbers.
p/rak-jvm-support: b677b4c | (Donald Hunter)++ | src/vm/jvm/ (3 files):
Merge pull request #99 from donaldh/jvm-debug

Source file and line number annotations in generated .class files
lizmat just finished another spectest run: down to 2385 wallclock seconds from 2430, which is 1.9% faster 20:50
FROGGS that's pretty cool 20:51
lizmat gist.github.com/lizmat/5587268
if anybody is interested in committing this
jnthn (4 hour train delay)-- :/ 20:56
lizmat jnthn!
[Coke] jnthn: ugh. 20:57
lizmat is running a spectest without the "last" modification to "ModuleLoader" to doubly verify it takes longer
jnthn lizmat: It searches all the candidates so it could then go on to filter them by version. If you think we'll end up doing things a good bit different for ver/auth, feel free to do the planned opt. 20:58
FROGGS 4 hours? that's ridiculous
jnthn Shorter spectest runs are always nice
FROGGS: Yes, especially when the journey length is meant to be about 4 hours.
FROGGS :/
do they build the trains JIT? 20:59
lizmat I think it will be a lot different, yes
I've been stupid enough to start a pull request from nom
jnthn btw, I left a comment on the earlier spec commit: github.com/perl6/specs/commit/a744...nt-3220267
TimToady: ^^ 21:00
[Coke] ugh, I just used ~ for stringconcat in CF. 21:04
lizmat so I can't start a new pull request without including all changes of the initial pull request 21:06
lizmat is learning new git fu every day
FROGGS what is the best way to let -"10foo" become -10 or v5? 21:09
r: -"10foo"
camelia rakudo 570d1d: OUTPUT«Cannot convert string to number: trailing characters after number in '10⏏foo' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10020␤ in sub prefix:<-> at src/gen/CORE.setting:2818␤ in sub prefix:<-> at src/gen/CORE.setting:2817␤ in sub prefix:<-> at…
FROGGS that is happening in Str.Numeric 21:10
jnthn FROGGS: You'll probably run into lots of these things so long as you try to re-use the Perl 6 CORE types as your Perl 5 ones... 21:10
FROGGS yeah, I'd like to have a P5Str... or wait, I could mix in a P5Str role, can I? 21:11
(and maybe remove it again when switching to perl6) 21:12
lizmat r: my %h{Any}; %h<a><b>=1; say %h
camelia rakudo 570d1d: OUTPUT«No such method 'postcircumfix:<{ }>' for invocant of type 'Mu'␤ in block at /tmp/Y_iRXO785u:1␤␤»
lizmat r: my %h; %h<a><b>=1; say %h 21:13
camelia rakudo 570d1d: OUTPUT«("a" => {"b" => 1}).hash␤»
lizmat r: my %h{Any}; %h<a><b>=1; say %h # rakudo bug?
camelia rakudo 570d1d: OUTPUT«No such method 'postcircumfix:<{ }>' for invocant of type 'Mu'␤ in block at /tmp/zSCg5yXsh8:1␤␤»
FROGGS jnthn: maybe I should just make a Str.pm which would be use-d, but this leads to a huge code duplication... 21:16
lizmat wouldn't a Stringy.pm type approach work?
jnthn FROGGS: I didn't think Perl 5 had any methods on stuff like strings?
lizmat STDERR->print ? 21:17
FROGGS STDERR is not a string
jnthn: it has no methods, but it does things like .Numeric if prefixed with - 21:18
lizmat p5eval: "STDERR"->print("Foo")
p5eval lizmat: ERROR: Can't locate object method "print" via package "IO::File" at (eval 7) line 1.
lizmat that's odd: $ perl -e '"STDERR"->print("Foo\n")'
Foo
FROGGS lizmat: not sure if Stringy.pm would do the trick, but I guess not 21:19
lizmat I was just proposing an idea, no idea whether it can work or not 21:21
colomon lizmat: what do you mean by a Stringy.pm type approach? 21:24
lizmat my class Str does Stringy 21:25
to prevent code duplication
FROGGS the problem is, class Str does a lot of work (some parts I need to change though) 21:26
FROGGS and in the AST, there is a callmethod Stringy, which I suppose is Mu.Stringy, which calls self.Str 21:26
colomon ah. I think that's a bit backwards ... at least, I'd expect things like conversion to Int to be implemented in Stringy, not Str. And that means you'd get the p6 behavior. 21:27
and miss functionality you need.
FROGGS so I am currently trying to supply my own Str class which overrides the current in the given scope
colomon: looks like this conversion is living in Str
colomon FROGGS: that's probably a "bug", though. 21:28
FROGGS Representation must be composed before it can be allocate
-.-
colomon at least, I would certainly expect other Stringy classes to handle things like conversion to Int the same way Str does. 21:29
I'd think your P5Str mixin role is a solid idea.
Or a P5Str class which is implemented in terms of standard Str.
FROGGS there is no other class that does role Stringy 21:30
lizmat but there must have been a reason to do it like this?
FROGGS but I cant replace an existing method by mixing in my role?
role Stringy is empty, but its file has defines infixes... 21:31
s/has defines/defines some/
masak today's autopun spotting: i.chzbgr.com/maxW500/7446167552/hB00363D2/ 21:33
(that one has to be deliberate, though) 21:34
FROGGS .oO( “I went to the theatre, it looked a bit suspicious. I reckon the whole thing was staged.” - www.punoftheday.com/ ) 21:34
masak :P
masak you don't have to step very far from the literal meaning of something to be able to turn around and make a pun out of it, it seems. 21:35
colomon FROGGS: one of the canonical examples of something else that should be Stringy is the NYI lazy string type Cat.
lizmat ooohhh, yes 21:36
FROGGS I see
masak even tadzik's "decomposing" today ultimately relies on the ability of English to muddle transitive/intransitive. 21:36
colomon FROGGS: and what you'd expect with that is a type which is pretty much just like Str, except its storage representation is different.
masak (i.e. "composing [a masterpiece]" vs "decomposing [bodily]") 21:37
lue I haven't had much luck in running Rakudo on JVM yet :/ (compilation is fine, so far as I can tell, but I can't seem to run the result. `java perl6` throws a bunch of errors) 21:40
donaldh lue: there's no runner as such.
I'm working on one just now.
lizmat masak: given "my %h; %h<Foo::Bar><perl5><Any><Any>= 1; my @a= <Foo::Bar perl5 Any Any>;"
lue
.oO(Then how did jnthn run it?)
21:41
lizmat is there a way to (naively) do @a ~~ %h ?
and get a match?
aka, descend into the hash and try to match a lower key for the next element in the array?
donaldh lue: you need a variant of the RUN_PERL6 value from the Makefile 21:42
lue OK
donaldh lue: for me it is java -Xbootclasspath/a:.:../nqp/install/nqp-runtime.jar:../nqp/install/asm-4.1.jar:../nqp/install/jline-1.0.jar:rakudo-runtime.jar -cp ../nqp/install perl6 21:42
masak lizmat: not that I know -- not as part of the language proper. 21:43
lizmat ah, too bad
masak lizmat: I'm sure a subroutine could be written that did that -- but that's not what you're asking, methinks.
FROGGS r: my %h; %h<Foo::Bar><perl5><Any><Any>= 1; my @a= <Foo::Bar perl5 Any Any 1>; say so ~%h.split(/\s+/).join(' ') eq ~@a
camelia rakudo 570d1d: OUTPUT«True␤»
FROGGS >.<
lue works for me. thanks donaldh :)
donaldh :D 21:44
lizmat masak: I seem to recall you doing something like at FOSDEM at your impromptu presentation
*that
lizmat FROGGS: I'm not sure that is what I mean 21:45
FROGGS :o)
lizmat r: my %h; %h<Foo::Bar><perl5><Any><Any>= 1; my @a= <Foo::Bar perl6 Any Any 1>; say so ~%h.split(/\s+/).join(' ') eq ~@a
camelia rakudo 570d1d: OUTPUT«False␤»
lizmat hmmm, researching further 21:46
lue
.oO( say 1i; in the REPL is a baaad idea (it's a more sane error from perl6 -e))
lizmat FROGGS: that only works if there is only 1 key in the hash 21:48
lizmat alas, spectest without "last" fix, is now only .5% slower then with the "last" fix 21:50
guess I would have to try this on a freshly unmounted/mounted disk 21:51
FROGGS r: my %h; %h<Foo::Bar><perl5><Any><Any>= 1; my @a= <Foo::Bar perl5 Any Any>; say %h{ @a }
camelia rakudo 570d1d: OUTPUT«("perl5" => {"Any" => {"Any" => 1}}).hash (Any) (Any) (Any)␤»
FROGGS hmm, sad
lizmat also, I want to throw ranges in the mix 21:52
lizmat r: my $a=1..10; my %h{Any}; %h{$a}=1; say %h 21:53
camelia rakudo 570d1d: OUTPUT«(1..10 => 1).hash␤»
FROGGS r: my %h; %h<Foo::Bar><perl5><Any><Any>= 1; my @a= <Foo::Bar perl5 Any Any>; say %h.exists( @a )
camelia rakudo 570d1d: OUTPUT«False␤»
FROGGS :/
masak lizmat: hm. 21:55
lizmat: I don't recall that ;)
lizmat too bad, it looked brilliant: the battleship game, remember?
masak minesweeper, yes. 21:56
lizmat indeed
masak I remember doing a for loop like this: 'for [-1, -1], [-1, 0], [-1, +1], [0, -1], [0, +1], [+1, -1], [+1, 0], [+1, +1] -> [$dr, $dc] { ... }' 21:57
(but with newlines, so that the small arrays formed a grid) 21:58
that's the closest I can think of.
FROGGS r: my role fivy{ }; Str but fivy; say Str ~~ fivy
camelia rakudo 570d1d: OUTPUT«False␤»
lizmat and somehow you descended into that that
masak lizmat: oh, and I used >> here and there, I believe.
FROGGS hmmm, I should read how to do that...
masak lizmat: maybe that's what you remember. 21:59
lizmat yes, >> was involved
>> is something you cannot "ack" on in the spec
masak r: my @x = <foo bar baz>; say @x>>.uc.perl
camelia rakudo 570d1d: OUTPUT«("FOO", "BAR", "BAZ")␤»
masak lizmat: I don't remember what I did with it, but probably a >>.subst or something.
lizmat not sure either: you were getting to the good parts when the time slot ended :-( 22:00
masak lizmat: >> is described in, hm, S12 I think. 22:01
lizmat: see "Parallel dispatch".
lizmat thanks!
timotimo masak: do you think it would be any cleaner to do -1..1 Z -1..1 -> [$dr, $dc] { next if $dc == $dr == 0 }; ? 22:02
lizmat hmmm… not what I was looking for… I guess I'll write a sub :-)
FROGGS r: my $s = "10foo"; my role fivy{ method NUMERIC { 10 } }; $s does fivy; say $s ~~ fivy; say $s.NUMERIC; say -$s
camelia rakudo 570d1d: OUTPUT«True␤10␤Cannot convert string to number: trailing characters after number in '10⏏foo' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10020␤ in sub prefix:<-> at src/gen/CORE.setting:2818␤ in sub prefix:<-> at src/gen/CORE.setting:2817␤ in sub prefi…
FROGGS r: my $s = "10foo"; my role fivy{ method Numeric { 10 } }; $s does fivy; say $s ~~ fivy; say $s.Numeric; say -$s 22:03
camelia rakudo 570d1d: OUTPUT«True␤10␤-10␤»
masak timotimo: I don't think that works as written.
FROGGS uhh
timotimo er, yes, needs to be X actually
FROGGS that was easy
masak timotimo: even so, doesn't create arrays.
timotimo oh, ok
masak timotimo: but, I was really going for the visual aspect of the code. it really looked 2-dimensional, which I consider a feature.
jnthn really needs a runner thingy set up, like nqp has
oops 22:04
jnthn Rakudo on JVM really needs ... 22:04
timotimo well, it works if you remove the [ ]
masak timotimo: in the sense that the coordinate pairs are located on the screen according to what they are.
jnthn I'll get to it in the next couple of days, but I'm happy to be beaten to that one. :)
timotimo mhm
masak timotimo: it's hard to beat that in terms of readability. :) 22:04
timotimo true that 22:05
donaldh jnthn: working on it :) 22:16
jnthn \o/
jnthn OK, sleep, so my students don't get a sleep-deprived me... :) 22:16
donaldh Trying to be too clever, which is slowing be down.
jnthn 'night, #perl6
donaldh *me
lizmat 'night jnthn, #perl6!
masak 'najt lizmat, jnthn, #perl6 22:21
diakopter where's all the -Opain projects? 23:09
timotimo if you're interested, you could try making ipython+perl6 work :) 23:18
github.com/timo/iperl6kernel or something
raiph diakopter: mebbe some tasks on questhub.io/perl/explore/latest/tag/perl6 ? 23:52