»ö« 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 sorear on 25 June 2013.
00:05 Rotwang1 joined 00:07 Rotwang1 left 00:10 colomon left 00:18 colomon joined 00:24 kaare__ joined 00:28 pmurias left 00:32 BenGoldberg left 00:35 BenGoldberg joined 00:37 rurban1 left
timotimo we could totally offer rakudo as a docker container for people to get from the docker index 00:45
as in: a pre-built rakudo. or something
00:52 Grrrr left
timotimo apparently getting an interactive session with a docker contained app seems "not so easy" :( 00:57
01:00 xenoterracide left 01:05 kaare__ left, Grrrr joined 01:10 xenoterracide joined 01:23 Grrrr left 01:30 Grrrr joined 01:38 rurban1 joined 01:39 kurahaupo_mobile joined 01:42 rurban1 left 01:43 kurahaupo left 01:46 xenoterracide left 01:51 kurahaupo_mobile is now known as kurahaupo 02:01 bjz left 02:03 xenoterracide joined
timotimo or maybe it is. 02:06
maybe it is doable* 02:07
that'll still need some javascript terminal emulator stuff (preferably with more features than jsterm)
lue r: proto sub foo($a) { my $b = $a * 2; {*} }; multi sub foo($a) { say $a, $b }; foo(23) 02:35
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$b' is not declared␤at /tmp/tmpfile:1␤------> 2; {*} }; multi sub foo($a) { say $a, $b⏏ }; foo(23)␤ expecti…» 02:36
lue was kinda hoping that would work :) not sure if $*b is what I want there, but seems like the best choice of what I know about.
TimToady you'd need $*b for that sort of thing
lue yeah. Just tried it out, and it works. 02:38
02:38 kurahaupo left 02:46 skids joined 02:55 klapperl left 02:57 klapperl joined 03:13 xenoterracide left 03:33 bjz joined 03:39 logie__ left 03:46 rurban1 joined 03:58 xragnar is now known as Guest96904, xragnar_ joined, Guest96904 left, xragnar_ is now known as xragnar 04:01 SamuraiJack_ joined
lue Is there a Pod::To::Markdown yet? I didn't see it modules.perl6.org 04:18
*see it in 04:20
retupmoca This seems somewhat incorrect to me: gist.github.com/retupmoca/9578524 04:26
it almost looks to me like CArray doesn't do what it should when it gets resized, but I don't know what the internals of NativeCall look like 04:28
04:32 [Sno] left
lue retupmoca: IIRC, NativeCall is under active development on perl6-m at the moment, so I'm not surprised something breaks there. 04:33
retupmoca yeah, that's half the reason I'm trying to use it. I'm just throwing failures out in case nobody is aware of them yet 04:38
lue retupmoca: I don't have any problems with that :) 04:39
04:43 daniel-s left, Mouq joined 04:44 daniel-s joined, dalek left
Mouq lue: Pod::To::Markdown is something that came to my mind too, esp. if we're using .pod6 in Github repos 04:47
lue Mouq: That's where I remember talk of a markdown converter. :) 04:48
just so you know, I'm not necessarily going to work on it. In fact I'd rather create Pod::To::Man :) [even though anything more than a literal translation would be annoying, though the literal way is at least a start]
04:49 dalek joined, ChanServ sets mode: +v dalek
Mouq lue: Ahhh 04:50
lue: Ok, well -ofun :)
That should probably be -Ofun, but outputting fun is good to :)
*too
lue It's practically a requirement for any perldoc-like, so I imagine it's somewhat more important than other possible converters :P
Mouq: github.com/lue/pod-walker (not sure if I should add this to the ecosystem yet, or if waiting for a converter to actually use it would be good) 04:53
(tadzik, you might be interested in ^^^ as well)
05:07 BenGoldberg left
retupmoca Fix for my segfault above: github.com/MoarVM/MoarVM/pull/82 05:08
err, I should probably be putting this in #moarvm
but either way, fix
Mouq retupmoca++ :) 05:09
lue++ # Pod::Walker 05:11
Very clean code too :) 05:12
lue probably one of the largest protos you're likely to see though :P 05:13
Mouq lue: Nothing wrong with that :) 05:14
lue yeah, I got to touch some parts of Perl 6 that I don't use that often during the writing of the module, so that's good. 05:15
lue has to remember proto-based recursive functions for the future :) 05:17
dalek c: 5c56f64 | Mouq++ | lib/ (2 files):
Document Bag ops
05:23
Mouq takes that off his TODO list 05:24
05:24 darutoko joined 05:26 rurban1 left 05:29 rurban1 joined 05:39 rurban1 left 05:42 SamuraiJack_ left 05:45 Mouq left 05:53 bjz left 06:48 vincent22 joined 06:49 vincent22 left 06:50 [Sno] joined 07:19 [Sno] left, bjz joined 07:28 hoverboard left 07:29 lizmat joined 07:33 kaare__ joined 07:39 [Sno] joined
dalek ecs: 98eb912 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Elaborate a bit on the recommendation manager
07:53
lizmat and good *, #perl6! 07:54
08:14 lizmat left 08:18 lizmat joined 08:20 FROGGS joined 08:23 lizmat left 08:28 lizmat joined
dalek ecs: 9826d21 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Elaborate a bit on "excludes" META6.json tag
08:36
ecs: 2b2df65 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Introduce "tags" entry, stolen from old S22
08:37 _thou left, Mouq joined 08:38 [Sno] left 08:39 [Sno] joined 08:41 Mouq left 08:44 [Sno] left, lizmat left 08:46 rindolf joined
masak good morning, #perl6 09:06
and happy sqrt(10) day!
FROGGS morning masak 09:07
masak: why is today sqrt(10) day? 09:08
masak m: say Date.today 09:16
camelia rakudo-moar a24091: OUTPUT«2014-03-16␤»
masak m: say sqrt(10)
camelia rakudo-moar a24091: OUTPUT«3.16227766016838␤»
masak m: say sqrt(10).fmt('%.2f')
camelia rakudo-moar a24091: OUTPUT«3.16␤»
masak if other people can have pi day, then I can have sqrt(10) day :) 09:17
09:24 lizmat joined
FROGGS ahh :o) 09:30
dalek ecs: c308fcd | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Allow for alternatives in "depends"
09:37
masak lizmat: design alert: list-of-lists seems a bit anemic for specifying and-clause-of-or-clauses semantics. 09:48
lizmat: put differently, I don't look at that structure and go "aha! those dependencies are *alternatives* to each other!" 09:49
lizmat: suggest exploring the design space, preferably here on #perl6.
lizmat I was actually using the old S22 as inspiration 09:50
masak lizmat: the first thought that occurs to me, and I don't necessarily know if it's better, is `"depends": [ "Archive::Compress | Archive::Zlib" ]`
lizmat: advantage compared to the current syntax: it's obvious that it's an alternative.
lizmat: could also go with `||` to highlight the "should be tried in order" semantics.
lizmat so allow both | and || 09:51
where "I" would mean: just take any
masak could you be more precise? what would the order be with `|` ?
explicitly undefined? 09:52
lizmat there would be no order
masak um.
lizmat yes, to be consistent, I guess :-)
FROGGS m: slang Foo { }
camelia rakudo-moar a24091: OUTPUT«===SORRY!===␤Cannot find method 'new_type'␤»
FROGGS veeeery interesting :o)
masak lizmat: barring an actual use case for "no order", I think I would prefer `||` only.
lizmat ok
masak lizmat++
lizmat and then we could go with && as well ? 09:53
and basically write the whole thing as pseudo code
the problem is really here, that maybe non-perl 6 packagers would need to be able to understand this as well
lemme check with sno
masak I'm not advocating using `&&` as well. 09:55
because (a) a list of dependencies is fine
and (b) infix:<&&> binds tighter, so technically you'd need lots of parentheses around all the prefix:<||> terms if you did that.
I'm not even married to `||` -- I just looked at the list-of-lists and figured there must be a clearer way to indicate alternative dependencies. 09:56
lizmat well, most importantly, packagers and installers need to be able to understand 09:57
masak *nod* 09:58
lizmat but on the depends level
masak oh. another point. alternative dependencies are basically sum types, categorically. sum types are a pain in the neck to deal with. should probably think long and hard about the consequences for the toolchain.
not just packagers and installers.
lizmat ack
masak but anything that in the future might want to do dependency analysis on the Perl 6 ecosystem.
lizmat but I think we actually may be missing a vital part in the current spec 09:59
the current spec indicates a compilation unit
masak yeah.
how does this syntax interact with module versions, auths, etc?
lizmat but we don't know if that compilation unit provides a module, a class, a grammar, a role
masak *nod* 10:00
lizmat so I wonder whether we shouldn't actually indicate in the depends
exactlty *what* type of Foo the compilation unit provides
I have this feeling that we're applying Perl 5 thought to Perl 6 here, by omitting the type of package 10:02
(where package is any type of class / module / grammar / role / etc.) 10:03
10:03 pmurias joined
pmurias masak: re replacing a list of lists with ||, can we guarantee that package names won't contain | as part of the name? 10:04
lizmat r: class Fo|o {} 10:05
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse class definition␤at /tmp/tmpfile:1␤------> class Fo⏏|o {}␤ expecting any of:␤ statement list…»
lizmat std: class Fo|o {}
camelia std 09dda5b: OUTPUT«===SORRY!===␤Unable to parse class definition at /tmp/GDxU50uBRl line 1:␤------> class Fo⏏|o {}␤ expecting any of:␤ name␤ trait␤Parse failed␤FAILED 00:01 120m␤»
lizmat pmurias: I would take that as a yes
FROGGS yes, only - and ' are allowed between word characters 10:06
so you could even do set operations in that META6.json :P
pmurias std: module Foo:infix<||> {}
camelia std 09dda5b: OUTPUT«ok 00:01 122m␤»
10:07 woolfy joined
FROGGS pmurias: that has nothing to do with a "use" statement, and we kinda put these in the META6.json 10:08
ohh, addverbs could contain ||, but even that will work out 10:09
-d
pmurias -d? 10:10
FROGGS addverbs -d ==> adverbs
:o)
pmurias ok ;) 10:11
10:12 cognominal left, Rotwang1 joined
FROGGS "depends" : [ "Foo:ver(1.1 || 1.2) || Bar" ] # we can parse that right 10:13
(should be v1.1 and v1.2, but w/e)
JimmyZ 1.*
>1.*
FROGGS JimmyZ: that is not the same
lizmat FROGGS: but that is not a string you could use in a "use" statement
FROGGS and ">1.*" is invalid 10:14
lizmat I'd like to keep those the same and not introduce new syntax in that respect
FROGGS m: use Test:ver(v1.2 || v1.4)
camelia ( no output )
FROGGS lizmat: ^^
lizmat yes, but I was referring to || Bar 10:15
masak I wouldn't mind writing it the long way, I think.
"Foo:ver(v1.2) || Foo:ver(v1.4)"
in the rare case I needed that.
lizmat you don't need to write it often, I don't think :-)
std: use Test:ver(v1.2 || v1.4) 10:16
camelia std 09dda5b: OUTPUT«Compiled lib/Test.pm6␤ok 00:01 129m␤»
lizmat std: use Test:ver(v1.2 || v1.4) || Bar
camelia std 09dda5b: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Bar' used at line 1␤Check failed␤FAILED 00:01 126m␤»
FROGGS I am not sure it does the right thing though in: use Test:ver(v1.2 || v1.4)
lizmat it's this syntax I'm worried about
FROGGS k, got it
lizmat pretty sure it doesn't at the moment 10:17
FROGGS m: say <a b c>.grep('a' || 'b')
camelia rakudo-moar a24091: OUTPUT«a␤»
FROGGS m: say <a b c>.grep('a' | 'b')
camelia rakudo-moar a24091: OUTPUT«a b␤»
FROGGS m: say <a b c>.grep('d' || 'a' || 'b') 10:18
camelia rakudo-moar a24091: OUTPUT«␤»
FROGGS ahh, k
10:19 dmol joined
masak m: say v1.2 || v1.4 10:19
camelia rakudo-moar a24091: OUTPUT«v1.2␤»
lizmat masak: so I'm thinking on keeping the current syntax, at least for now
masak IMO, we should also be worried about this semantics :)
FROGGS masak: yeah, was just a thinko on my side :o)
that should not be supported, because it is plain stupid :o) 10:20
masak infix:<||> has a specified meaning in the language already, and that meaning is not "prefer this version, or that other version if the first doesn't exist"
FROGGS true
you have to use Whatever™ to do that 10:21
m: say <a b c>.grep(any 'd', 'a', 'b') # or this
camelia rakudo-moar a24091: OUTPUT«a b␤»
FROGGS m: use Test:ver(any v1.2, v1.4) 10:22
camelia ( no output )
masak ooh, I like that much better from a readability standpoint. 10:23
FROGGS me too
m: say <a b c>.grep(first 'd', 'a', 'b') # or this
camelia rakudo-moar a24091: OUTPUT«␤»
FROGGS ahh, okay, first is something else 10:25
10:25 Mouq joined
masak yeah. 10:26
10:28 itz2 joined 10:30 Mouq left
pmurias what's the use case for excludes in S22? 10:30
FROGGS that you can say that two modules clash in the same namespace
lizmat I'm not sure, but TimToady originally specced it
so: 10:33
if Foo excludes the Bar compilation unit 10:34
then, whenever Foo is loaded in a scope, loading Bar in that same scope will cause a failure (at compile time if possible) 10:35
I should elaborate on that in the spec
it could also be a require that causes the failure
from an implementation point of view, the loading of compilation unit Foo 10:36
would create a lexically scoped entry in the "installed compilation unit" database in memory 10:37
which would fire if loading of the compilation unit Bar is attempted there
whether there would be an actual clash, or a conceptual clash, is not really important at that stage 10:38
an actual clash would probably be a failure about trying to redefining something that would not be clear to the average user 10:39
the excludes failure could be made much more clear, as it would be able to tell which two compilation units are mutually exclusive 10:40
10:44 clkao left 10:45 clkao joined 10:49 woolfy left 10:52 kaare__ left 10:55 lizmat left 10:59 FROGGS left 11:02 SamuraiJack_ joined 11:09 kaare__ joined 11:11 itz2 left
jnthn commute & 11:16
11:22 FROGGS joined 11:23 [Sno] joined 11:32 SamuraiJack_ left 11:40 spider-mario joined 11:43 denis_boyun joined 11:59 aborazmeh joined 12:01 stevelangton joined
stevelangton How do i add a deploy step using perl 12:02
on a build script TeamCity
FROGGS stevelangton: hi, that sounds like a Perl 5 question and I would suggest you ask in irc.perl.org #perl-help or so :o) 12:03
stevelangton thank 12:04
FROGGS you're welcome
12:14 [Sno] left 12:15 [Sno] joined 12:23 [Sno] left 12:25 SamuraiJack_ joined 12:32 Vendethiel- left 12:34 stevelangton left 12:44 daniel-s left 12:46 daniel-s joined 12:50 pecastro joined 12:53 lizmat joined, [Sno] joined 13:05 woolfy joined 13:10 cognominal joined 13:11 xenoterracide joined 13:13 [Sno] left, [Sno] joined 13:14 daniel-s left
timotimo o/ 13:14
13:16 daniel-s joined
lizmat timotimo: /O 13:17
dalek ecs: 1609527 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Another batch of changes and clarifications
13:19
13:20 daniel-s left 13:22 daniel-s_ joined 13:24 darutoko- joined 13:26 darutoko left
pmurias re irc url in S22 is there a standard way of describing those? 13:26
13:32 daniel-s_ left, daniel-s_ joined 13:34 logie_ joined, guru joined, guru is now known as ajr_
dalek p: a1347c2 | (Timo Paulssen)++ | README.pod:
unmemify readme slightly
13:35
timotimo FROGGS: btw, is the "there_is_no_return" branch mergable? 13:36
pmurias the "there_is_no_return" branch sounds like something we should be extra carefull about merging ;) 13:41
FROGGS timotimo: no, because in fact it caused a slowdown, and in the middle of finding out why I got distracted and stopped 13:49
stage parse was about 7% slower IIRC 13:50
lizmat timotimo++ for teh fix
13:52 boooboo joined
dalek ecs: ee77b32 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Introduce the "hooks" directory
13:53
13:53 SamuraiJack_ left, SamuraiJack joined 13:54 boooboo left
lizmat pmurias: en.wikipedia.org/wiki/Uniform_resource_locator 13:59
14:14 rindolf left
timotimo jnthn: which part of the jvm interop arity dispatcher code was supposed to move from nqp to rakudo again? 14:19
dalek ecs: 48fdab6 | (Elizabeth Mattijsen)++ | S22-package-format.pod:
Wave some hands about the installation process
14:31
timotimo i may build a TermInfo module for Perl 6. 14:33
14:35 Mouq joined
timotimo cool. someone went ahead and built a curses-independent lightweight threadsafe terminfo parsing library 14:35
moritz notices that his motivation for hacking after $dayjob are at an all-time low 14:39
nwc10 moritz: is this due to factors outside of your control? 14:42
dalek ecs: 37bf0dc | (Elizabeth Mattijsen)++ | S (2 files):
Move CompUnitRepo API description from S11 to S22
14:44
14:49 isBEKaml joined
moritz nwc10: well, having a programming job is kinda under my control :-) 14:51
other factors (family needing much attention, sleep deficit) are less und my control
FROGGS moritz: would something extra -Ofun help? 14:53
moritz FROGGS: maybe
FROGGS so we just need to find something for ya :o)
moritz I guess four weeks of vacation would also help :-) 14:54
lizmat vacation++
14:54 rurban1 joined
FROGGS I know that we could need Archive::Tar (pure perl perhaps) at some point, but I don't think that is -Ofun enough 14:55
lizmat FROGGS: thought about that: I guess for now we can live with not being able to install distributions with unicode characters in filenames 14:56
on filesystems that do not support unicode
FROGGS lizmat: true 14:57
lizmat as long as we keep the API clean, we should be able to add that feature at a later time
so that we write files with mangled filenames from the contents stored from a distribution unpacked in memory 14:58
FROGGS still we need to unpack 14:59
and we don't do that atm at all
15:01 rindolf joined 15:03 daniel-s_ left
FROGGS moritz: hmmm, my brane is somewhat empty at the moment, but I'll propose more when I have more :o) 15:03
lizmat FROGGS: I guess we can live with shell( "tar -xf foo.tar.gz") for now ? 15:04
FROGGS lizmat: and on windows?
lizmat good question... 15:05
I guess we need Archive::Tar asap :-)
isBEKaml forget windows, jnthn++ can deal with it himself. :P
15:06 daniel-s_ joined
FROGGS yeah :/ 15:06
FROGGS .oO( yet another can of worms )
JimmyZ btw: qx// does not work here, 'cus it's GBK encoding output here on windows 15:07
Mouq Something I thought of, more panda-specific; There are going to be a variety of authorities: should panda just come preinstalled for CPAN and Github and then you can `install` new Panda::Installer::* packages? 15:08
timotimo a cpan of worms?
meeeeeh. "no subtests run" again >_<
15:08 xinming_ left
timotimo how am i supposed to make sure my changes are all right when i have to individually invoke the test files myself? :( 15:08
Mouq Tar doesn't look that complicated 15:09
FROGGS JimmyZ: you already have made a ticket? 15:10
timotimo yeah, but try to implement gzip, bzip, and xz on top of that :P
Mouq Unless anyone thinks this is messy code: github.com/Mouq/Image-GIF/blob/mas...IF.pm6#L37 15:11
I'll at least try today and see where I get with Tar
geekosaur the big problem with tar format is there is a simple original tar format and then there are various POSIX, GNU, etc. extensions, some of which are incompatible with each other
Mouq Ah
clearly we need to create our own tar6 ;) 15:12
moritz "the 6 tar pit" :-)
geekosaur also no indication in the archive of which format it is /o\
JimmyZ FROGGS: not yet.
15:13 daniel-s_ left, bjz left, daniel-s_ joined 15:14 bjz joined, xinming_ joined
timotimo Mouq: what was the purpose of the commented-out code at the bottom in the image descriptor code? 15:15
pmurias timotimo: couldn't the docker container just expose ssh? (I haven't used docker, just looked at the docs to check what it is) 15:16
isBEKaml geekosaur: atleast, 6's tar pit shouldn't have anything to depend on the various extensions in distributions...
Mouq timotimo: That's the actual data. I need to decompress it from LZW before its usable 15:17
timotimo oh
Mouq timotimo: So, next step: Compress::LZW 15:18
timotimo pmurias: it could, but what does that solve? then the user would have to have an ssh client
though, probably there's js ssh terminal gadgets out there already
15:20 woolfy left, woolfy joined
FROGGS Mouq: I like your Image::GIF code :o) 15:23
timotimo i do, too. Mouq++ 15:25
15:26 FROGGS left
pmurias timotimo: there is an ssh addon for chrome 15:28
timotimo then people have to a) use chrome and b) get that addon :) 15:30
isBEKaml timotimo: If there's one for Chrome, there must be one in other browsers too - A little gSearch gave me FireSSH for firefox. :-) 15:31
15:31 FROGGS joined
timotimo that's still not "hello, traveler. type this text into this input line and see for yourself how Perl 6 works!" 15:31
that's "hey, if you would like to try Perl 6 right here in your browser¹, install FireSSH or ChromeSSH and enter this username, password, address and port and click connect" 15:32
15:32 [Sno] left
lizmat Perl5's Archive::Tar on CPAN seems source only 15:33
15:34 ajr_ left
pmurias timotimo: 537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36" 15:35
timotimo: github.com/moritz/try.rakudo.org/
15:35 FROGGS left
pmurias timotimo: the first line was a misspaste 15:36
timotimo ah
i was wondering about that :)
15:36 guru joined, FROGGS joined, guru is now known as ajr_
timotimo as far as i can tell that only sends strings to a repl and returns the output to the html 15:37
without support for ansi escape codes, for example
at the very least color should be supported 15:38
Mouq FROGGS: Thanks :) 15:39
15:42 kurahaupo joined
pmurias timotimo: should be trivial to add color (metacpan.org/pod/HTML::FromANSI) 15:43
if I want to avoid writing perl5 I could implement that once the docker thing is working 15:44
timotimo i think it may very well be easier to use the docker api instead of ssh to do the whole try thing.
Mouq Regarding Tar and its many formats in conjunction with the S11/22 work: would an "optional depends" field be sensible?
timotimo and it would be even easier if we would offer full files rather than a repl 15:45
FROGGS Mouq: what do you mean?
lizmat Mouq: not sure what you mean, could you elaborate?
15:46 spider-mario left
Mouq Well, what spurned the thought was that Archive::Tar can use IO::Zlib, but if IO::Zlib isn't installed, that's fine too, you just can't decompress gzipped tar files 15:47
geekosaur (spurred)
Mouq geekosaur: Err, yes, thank you 15:48
geekosaur "spurned" reads ... oddly ... there
timotimo how come t/spec/S17-async/async.t still has "async" rather than "start"?
maybe because rakudo doesn't even run that whole folder.
Mouq geekosaur: Spurned means kind of the opposite of what I intended 15:49
geekosaur yep
FROGGS Mouq: we already discussed what you need there, so there might be a commit about that in the next days 15:50
timotimo lock.t is testing for a method called "condition" to exist on the Lock class, but it doesn't have it
Mouq FROGGS: Ok :) I'm just throwing things out as I think of them, in case they're helpful 15:52
FROGGS they are :o) 15:53
Mouq Sweet :)
FROGGS because that means we have a test case for that feature in near future as well
Mouq downloads Archive-Tar-1.96.tar.gz.. But how to open it?? :P 15:58
16:01 isBEKaml left
lizmat timotimo: good find: but is t/spec/S17-async/async.t actually in spectest.data for jvm ? 16:01
timotimo no
lizmat so it's really a remnant from older times, I guess, and can be dropped from t/spec 16:02
timotimo seems so; the S17-concurrency files exercise "start" already, don't they?
lizmat yes 16:03
jnthn o/
lizmat and async is no longer specced
timotimo actually not.
the S17-concurrency tests all use Promise.new({ ... }) and friends
jnthn S17-concurrency is the tests I wrote and that we run
S17-async are what was there before; I glanced 'em, then decided I wanted to start over 16:04
lizmat S17-async are dead tests... I think they can go 16:06
I'll git rm them, ok?
timotimo git rm is undoable, so yeah. go ahead :)
jnthn +1
dalek ast: 1f9a555 | (Elizabeth Mattijsen)++ | S17-async/ (3 files):
Nuke obsolete S17 tests, spotted by timotimo++
16:09
jnthn timotimo: Potentially "all of it" - my main concern is not really about the arity dispatcher *per se*, it's that the type-based stuff that will go on top of it will be needing to know about Rakudo types.
16:10 lizmat left 16:11 lizmat joined
timotimo aye, but why wouldn't parts of it remain in nqp itself? 16:11
as in, parts of the whole thing
not just the arity dispatcher 16:12
16:13 vendethiel joined
timotimo bbl 16:13
jnthn Oh parts of the whole thing can
It's the disambiguation bits that are interesting.
lizmat on that note
jnthn: looking at the levenshtein code in Perl6/World.nqp 16:14
I would like to use that when a method lookup fails
as it is now, this is not possible
so I was wondering if I should migrate the levenshtein code to nqp, and make it an nqp::op 16:15
do you think that's a good idea, or should I look at another way ?
jnthn lizmat: Another way, but I can tell you what you'll really block on.
lizmat: At present, the method not found exception only carries a string type name, not the actual type
lizmat and I would need the object in question, yes 16:16
jnthn lizmat: So that wants addressing first.
lizmat right ?
jnthn Right
lizmat so after I addressed that, what would be the other way ?
jnthn On Moar it'll be easy. On JVM I think we can port the Moar mechanism. On Parrot...forget it... 16:17
Well, nqp::bindhllsym the levenstein thing in Perl6::World and then just look it up wiht nqp::gethllsym in CORE.setting or so.
It's not hot path. 16:18
lizmat indeed, things are borked already when this happens
jnthn Sure, just make sure you only ever do this if we're dumping the exception
Not at construction time
lizmat indeed, that is the plan
jnthn So that if you catch a method not found exception and don't care for the suggestions it's still cheap
lizmat yup
ok, startting to wind down at the QA hackathon 16:19
jnthn ok
16:19 daniel-s_ left
jnthn have a nice^Wlyon last evening there :) 16:19
lizmat hehe we will 16:20
tomorrow we'll be driving mostly, and on Tue we'll be sleeping in late and then off to Amsterdam to see TheDamian
Mouq r: "How adverbial" ~~ :say
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«How adverbial␤»
jnthn cool
Have fun :)
lizmat we will :-)
jnthn will be teaching the next 2 days, then at home with some tuits, and then maybe away for the weekend. 16:21
Hopefully Wednesday's tuits can go on making things in better shape for the tri-Star release
lizmat
.oO( getting things in a Tri-Star state )
16:22
16:22 daniel-s_ joined
nwc10 no-one else is brave enough to wrestle the tri-star between now and Wednesday? 16:22
jnthn I'll tri...
Help would be very very very welcome.
lizmat starring jnthn
16:25 itz2 joined
jnthn Especially if you're of the line of thought that the current Makefile.in should do anything other than delegate most of the work to a Perl script. :P 16:26
16:27 BenGoldberg joined
jnthn It's kinda ridiculous that the least competent guy at build systems is having to work on this. :/ 16:27
lizmat
.oO( I thought I was the most complete noob in that respect )
16:28
Mouq r: $*KERNEL.name 16:29
camelia rakudo-jvm a24091: OUTPUT«Dynamic variable $*KERNEL not found␤ in method <anon> at gen/jvm/CORE.setting:12386␤ in any at gen/jvm/Metamodel.nqp:2611␤ in any find_method_fallback at gen/jvm/Metamodel.nqp:2610␤ in any find_method at gen/jvm/Metamodel.nqp:948␤ in block …»
..rakudo-moar a24091: OUTPUT«===SORRY!===␤Dynamic variable $*KERNEL not found␤»
..rakudo-parrot a24091: OUTPUT«Dynamic variable $*KERNEL not found␤ in method <anon> at gen/parrot/CORE.setting:12407␤ in any at gen/parrot/Metamodel.nqp:2694␤ in any find_method_fallback at gen/parrot/Metamodel.nqp:2682␤ in any find_method at gen/parrot/Metamodel.nqp:949…»
Mouq m: say $*OS
camelia rakudo-moar a24091: OUTPUT«linux␤»
Mouq n: say $*DISTRO 16:32
camelia niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
Mouq n: say $*OS
camelia niecza v24-109-g48a8de3: OUTPUT«Unix␤»
16:33 woolfy left
Mouq Spec seems to disagree (S28) 16:33
lizmat that's maybe LHF 16:34
16:34 itz2 left
lizmat www.flickr.com/photos/wendyga/sets/...437424235/ # QA group photo's with Camelia 16:35
16:36 daniel-s_ left
timotimo oh, quite a few people! 16:36
colomon giant Camelia! 16:37
16:37 daniel-s_ joined
lizmat up to spec! 16:37
lizmat shutting down, see you all again soon
16:37 lizmat left
timotimo the only people i recognize on that picture are lizmat, woolfy, froggs and riba 16:38
16:38 itz2 joined
colomon had missed FROGGS 16:38
timotimo but not all of these people actually contributed stuff to Perl 6?
FROGGS timotimo: no 16:39
timotimo aaw :)
16:45 telex left, itz2 left, kivutar joined 16:46 telex joined 16:48 bjz left, bjz joined 16:50 bjz left 16:51 bjz joined 16:57 bjz left, SamuraiJack left 17:03 ajr_ left 17:09 FROGGS left 17:11 guru joined, guru is now known as ajr_
timotimo the only real user of jvm interop so far has been the concurrency stuff 17:12
which is being abstracted away behind nqp ops now anyway
jnthn Aye. We should probably create a t/jvm/ set of tests for it. 17:13
To make sure we don't regress it accidentally
timotimo that sounds like a totally easy thing to do >_> 17:16
arnsholt jnthn: When an NQP class "has str $!name" the attribute I get a hint for and getattr_s is just called "$!name", no? 17:18
jnthn timotimo: Well, just use stuff from the Java class library and make sure we can call it... 17:19
arnsholt: Yes, name is $!name
arnsholt Yeah, that's what I thought. Then something else is broken 17:21
17:22 SamuraiJack joined
timotimo i'm doing "use Foo::Bar" "import Foo::Bar" now, is there something that's supposed to do the same thing but only be one statement? 17:22
jnthn timotimo: use Foo::Bar; should be enough, given that all "is export" things are meant to cascade to the top level... 17:24
timotimo hmm, ok
another thing: should the things be our + is export? 17:25
well, that seems to work. good.
hm. 17:26
what's the exact difference between "module" and "package" again?
17:27 vendethiel left, vendethiel joined
jnthn No, one or the other will do 17:27
timotimo oh, seems like i need to have "is export" for variables 17:31
not sure if that's to spec
oh. i need it for routines,m too
that's fine then.
dalek rl6-bench: 97b7b6c | (Timo Paulssen)++ | / (3 files):
factor out helper functions and globals into modules
17:33
Mouq Shell::Command::rm_rf ~~ Perl5::File::Path::remove_tree, right? 17:37
17:49 FROGGS joined 17:56 daniel-s_ left 17:57 daniel-s_ joined 17:59 kurahaupo_mobile joined, kurahaupo left 18:00 zakharyas joined 18:01 ajr_ left 18:02 Mouq left 18:03 kurahaupo_mobile is now known as kurahaupo 18:11 kurahaupo left, SamuraiJack left, kurahaupo joined 18:16 avar left 18:18 FROGGS left 18:23 avar joined
timotimo interesting. no xpath module for Perl 6 yet? 18:32
18:37 denis_boyun left, denisboyun joined
colomon xpath? 18:40
timotimo xml selector query thingies
colomon files it under xml...
timotimo colomon: will ABC get an s11 compatible meta.info? :) 18:41
colomon you mean a META6.json or what-not?
does anything support it yet?
I will certainly change as soon as the general ecosystem does.
timotimo only "provides" 18:42
18:46 darutoko- left 18:49 Mouq joined
Mouq timotimo: Not xpath, but github.com/supernovus/perl6-xml-query/ 18:50
18:50 kurahaupo left
timotimo right 18:50
won't help implement the xpath rosettacode task :)
Mouq timotimo: Ohh 18:51
timotimo i don't have a use beyond that so far
japhb__: with ./bench setup, it seems to clone nqp-moarvm, nqp-parrot separately rather than re-using the repository if it has the same url :( 18:53
Mouq timotimo: You could still use XML::Query for that RosettaCode task, but maybe that wouldn't be considered answering the task 18:54
skids Has the S11/S22 conversation gotten around to dependencies and optional dependencies on non-perl6 packages, like where the dlls used by NativeCall should be from? 18:55
e.g. for Sum I want to add support for librhash/libmhash, but optionally, because not everyone will have them installed. 18:56
timotimo i'm also interested for a terminfo library that could depend either on curses or unibilium 18:57
skids Especially also how will panda deal with that, I don't expect the automated build checker will necessarily have some libs installed. 18:59
timotimo and then it'd have to have some compile-time or run-time mechanism to properly decide
skids Yeah, last time I tried that was a year or so ago and it almost worked, but was ugly. aybe better now. 19:00
Mouq std: class A { ... }; class B; 1
camelia std 09dda5b: OUTPUT«===SORRY!===␤Too late for semicolon form of class definition at /tmp/izH0Jv_6_2 line 1:␤------> class A { ... }; class B⏏; 1␤ expecting any of:␤ name␤ trait␤Parse failed␤FAILED 00:01 122m␤»
Mouq n: class A { ... }; class B; 1
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Too late for semicolon form of class definition at /tmp/54VwFw4wVD line 1:␤------> class A { ... }; class B⏏; 1␤␤Package was stubbed but not defined at /tmp/54VwFw4wVD line 1:␤------> […»
Mouq star: class A { ... }; class B; 1
camelia star 2013-09: OUTPUT«===SORRY!=== Error while compiling /tmp/sp8oF1vsHH␤Too late for semicolon form of class definition␤at /tmp/sp8oF1vsHH:1␤------> class A { ... }; class B; ⏏1␤ expecting any of:␤ argument list␤ po…»
Mouq Huh
moritz++ # github.com/ingydotnet/testml-pm6/pull/1 19:01
Mouq pokes ingy to merge that
I guess I could bump it
19:05 daniel-s_ left 19:06 aborazmeh left, guru joined 19:07 guru is now known as Guest82331, Guest82331 is now known as ajr_
timotimo japhb__: can you tell me how "variants" is supposed to be used? 19:08
19:09 aborazmeh joined
dalek c: 21f87cf | Mouq++ | type-graph.txt:
Add IO::Spec to type-graph.txt
19:12
timotimo could it be that %*ENV is b0rked in combination with qx/ ... / on parrot? 19:16
19:27 daniel-s_ joined
lue r: warn "ing" 19:46
camelia rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«ing␤»
..rakudo-parrot a24091: OUTPUT«ing in block at /tmp/tmpfile:1␤␤»
lue I can't find out why parrot's the only one being helpful there :/
moritz hey, what do you think about implementing parse tree pruning?
like, a method $/.prune which discards all captures 19:47
and .prune(:positional) or :named to prune only some
might save a bit of memory during compilation, if used appropriately
lue Could be interesting, though admittedly I'm not quite sure what would be pruned and when. 19:48
moritz what? captures. When? when .prune is called. 19:49
(typically after the interesting bits have been used in the AST
erm, to construct the QAST tree)
skids What about making it an adverb to rx so pruning can happen as soon as data is no longer wanted?
moritz if you don't wan tthe data at regex compile time, you simply don't capture in the first place 19:50
use [] instead of (), and <.foo> instead of <foo>
skids Right but you still have lots of Match objects you may not want. 19:51
moritz why else would you match a regex, except for getting a Match object?
lue moritz: ☺ well, yeah, those are the obvious answers. I'm just trying to think of a situation where .prune would be used, so that I can better understand what's required of it.
skids For the .made
lue r: say "ABC" ~~ /<alpha>+/; 19:52
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「ABC」␤ alpha => 「A」␤ alpha => 「B」␤ alpha => 「C」␤␤»
lue r: say "ABC" ~~ /<.alpha>+/;
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「ABC」␤␤»
skids I guess the compiler could probably figure out whether the Match tree is used other then to get at .ast/.made without a flag. 19:56
19:59 aborazmeh left
moritz shouldn't have asked, but just started hacking 20:00
20:02 aborazmeh joined
lue yeah, I'm not too familiar with how matches and everything are structured, so if you're working on it, that'd save some time :) 20:03
skids My head's not been in that part of perl6 for a while either. 20:04
moritz nqp: class A { method x() { say("A") } }; class B { method x() { self.A::x() } }; B.x
camelia nqp-parrot: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "self.A::x("␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
..nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "self.A::x("␤ at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQPHLL.nqp:376 (/home/p6eval/rakud…»
..nqp-jvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "self.A::x("␤ in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤ in FAILGOAL (gen/jvm/stage2/NQPHLL.nqp:385)␤ in blockoid (gen/jvm/stage2/NQP.nqp:989)␤ in method_def (gen/jvm/stage2/N…»
skids nqp: class B { method x() { self.A::x() } }; B.x 20:07
camelia nqp-parrot: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "self.A::x("␤current instr.: 'panic' pc 15934 (gen/parrot/stage2/NQPHLL.pir:5941) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
..nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "self.A::x("␤ at gen/moar/stage2/NQPHLL.nqp:369 (/home/p6eval/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:120)␤ from gen/moar/stage2/NQPHLL.nqp:376 (/home/p6eval/rakud…»
..nqp-jvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "self.A::x("␤ in panic (gen/jvm/stage2/NQPHLL.nqp:378)␤ in FAILGOAL (gen/jvm/stage2/NQPHLL.nqp:385)␤ in blockoid (gen/jvm/stage2/NQP.nqp:989)␤ in method_def (gen/jvm/stage2/N…»
lue since when do people span ticket systems? rt.perl.org/Ticket/Display.html?id=121449 20:13
*spam
Wait, does RT still do the "email to rakudobug must be confirmed" thing? 20:15
skids wonders which part of that says "viagra"
lue it's apparently titled "Really beneficial schemes on the Transport", and talks about similar stuff, according to Google Translate at least :) 20:16
lue pressed the not-immediately-obvious spam button on the ticket 20:18
Mouq r: say $?FILE 20:20
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«/tmp/tmpfile␤»
Mouq r: say $?FILE.WHAT
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«(Str)␤»
20:20 aborazmeh left 20:21 LLamaRider joined
Mouq ^^ $?FILE should probably be an IO::* 20:21
20:23 aborazmeh joined
moritz +1 20:26
when I implement parse tree pruning for NQP, and use it in NQP::Grammar, I somehow get NQPMu objects in the QAST tree 20:27
timotimo moritz: i already implemented something like that 20:28
i may have it in a branch again
er. still, not again 20:29
moritz timotimo: that would be awesome 20:32
timotimo moritz: IIRC it was not worth it, though 20:34
it seems like i only added the method 20:37
but i don't have a commit that uses it somewhere
probably because i was so sad about it? :(
i *do* have a prune_matches branch 20:39
dalek kudo/prune_matches: b407068 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
prune lots of matches
kudo/prune_matches: e78000f | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
prune more/less.
kudo/prune_matches: e693315 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
a few less prunes.
timotimo there you go
moritz timotimo: thanks 20:42
timotimo it may explode horribly
dalek p/prune_matches: b8b4e53 | (Timo Paulssen)++ | src/QRegex/Cursor.nqp:
add a prune method to NQPCursor.
p/prune_matches: 6b2cba8 | (Timo Paulssen)++ | src/QRegex/Cursor.nqp:
if the bstack is null, empty the cstack.
timotimo this is my version of $/.prune
maybe you can find out why it wasn't helping at all. 20:43
moritz timotimo: I'm now experimenting with setting $!cursor to NQPMu in $/.prune
timotimo ah. i have that in my $/prune already 20:44
moritz oh right
so, you found no wins in terms of memory usage? 20:45
timotimo yes. but i've always looked at maxrss, so perhaps it's not such a good measurement.
maybe you can make a better measurement, or benchmark
20:46 [Sno] joined
[Coke] (since when do people spam RT) all the time 20:51
20:53 Quom joined 20:54 telex left, telex joined
moritz aye; people spam EVERYTHING that accepts user input in any form 20:54
20:55 ajr_ left
lue yeah, it just happened to be the first time I saw any of it on RT :) 20:57
20:58 pecastro_ joined 20:59 Gruber joined 21:01 dwarring joined 21:04 bjz joined
dalek ar/tristar: 45ea838 | jnthn++ | / (2 files):
Work towards multi-backend build/install.

This gets closer to handling the Rakudo build/install itself on other backends, though not the module install.
21:05
21:09 [particle]1 joined 21:11 [particle] left
timotimo ConcBlockingQueue* 21:12
anyone want to look closely at the qx + %*ENV thing? 21:14
21:15 Util_ is now known as Util
timotimo er. that queue thing was supposed to go into #moarvm 21:17
it doesn't seem like sub QX from control.pm looks at %*ENV at all 21:18
that's not very helpful :|
21:19 Khisanth left, meltingwax joined, khisanth_ joined
meltingwax perl6: say 3; 21:19
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«3␤»
21:19 Vlavv left
meltingwax perl6: run('ls') 21:20
camelia ( no output )
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: run may not be used in safe mode␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (run @ 0) ␤ at /tmp/tmpfile line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza…»
..rakudo-parrot a24091, rakudo-moar a24091: OUTPUT«run is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub run at src/RESTRICTED.setting:8␤ in block at /tmp/tmpfile:1␤␤»
timotimo froggs isn't here :(
otherwise i would have asked him if he knows how to do that
meltingwax perl6: while (1) {}
21:21 pecastro left, Grrrr left, Mouq left
timotimo is there an alternative to qx that'll give me both the string output of the command and work with %*ENV on parrot? 21:21
Quom The suspense...
21:21 rindolf left
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«(timeout)» 21:21
21:22 Vlavv joined
timotimo i think that's because camelia runs these in sequence rather than in parallel 21:22
jnthn meltingwax: You don't need the parens around the 1 in Perl 6.
timotimo so we get something like 10 seconds * 5 backends
jnthn meltingwax: Wasting CPU time just got 2 chars easier :P
meltingwax jnthn: ty 21:23
timotimo m: loop { }
jnthn Or that :)
camelia rakudo-moar a24091: OUTPUT«(timeout)»
Quom m: loop { say "lo{'o' x ++state$}p!" }
camelia rakudo-moar a24091: OUTPUT«(signal XFSZ)loop!␤looop!␤loooop!␤looooop!␤loooooop!␤looooooop!␤loooooooop!␤looooooooop!␤loooooooooop!␤looooooooooop!␤loooooooooooop!␤looooooooooooop!␤loooooooooooooop!␤looooooooooooooop!␤loooooooooooooooop!␤looooooooooooooooo…»
jnthn whoa... 21:24
moritz m: say 'Qoum'.flip.tclc
camelia rakudo-moar a24091: OUTPUT«Muoq␤»
lue What the heck's a (signal XFSZ) ?
moritz lue: man 7 signal 21:25
(File size limit exceeded)
dalek ar/tristar: 3488b6c | jnthn++ | / (2 files):
Some fixes to get tri-Star build/test working.
jnthn I'm guessing the output is temporarily stored in a file before being sent back over IRC 21:26
21:26 rurban1 left
moritz aye 21:26
Quom is somewhat proud 21:27
jnthn OK, tristar now seems to let you get much of the way 21:28
What remains is to make it do the module install.
And then to maybe deal with targets like clean to make them less whiny.
21:29 kaare__ left 21:31 LLamaRider left
jnthn Scheduling wise, I reckon moar-conc is going to land after the monthly release. 21:33
21:40 colomon left, colomon joined 21:41 rurban1 joined 21:42 araujo left 21:52 daniel-s_ left
timotimo aaw 21:53
anything (easy) i can help with? 21:54
21:55 daniel-s_ joined
jnthn timotimo: The easy stuff is actually offloading me of Star stuff 21:55
timotimo i have *no* clue of that stuff :<
it's also partially perl5, no? 21:56
masak .oO( we're all made of Star stuff )
jnthn timotimo: Yeah and makefile but it should be easy
timotimo: I mean, it's a script that calls out to Perl 6.
timotimo hm.
so ... anything more exact you can tell me to do?
jnthn timotimo: The next step is to get multi-backend module installing to work.
If you check out tristar
timotimo in principle that's just calling panda with all three backends in a row? 21:57
do we get panda-p, panda-m, panda-j?
jnthn No, I don't think it's done with panda
timotimo oh. so just cp?
and pre-compile?
jnthn github.com/rakudo/star/blob/master...install.pl 21:58
that is the script in question
It's invoked from the makefile
timotimo so $perl6bin will be which perl6-* we have?
jnthn If you search in it for --target=pir you'll see where it hardcodes Parrot.
Yeah... 21:59
Either we can update the script to take a list of backends to install for
Or we can invoke it once per backend
I don't really care which.
21:59 zakharyas left
jnthn Whatever's easiest. 21:59
timotimo ah, currently it's doing --target=pir, so that's the most obvious thing that needs to change 22:00
jnthn right
github.com/rakudo/star/blob/trista...akefile.in
That is the makefile that calls it
timotimo and that's supposed to be for all three backends, looks like 22:01
jnthn You can see I've started to do multi-backend stuff
@backend_exes@ for example is set by the Configure.pl
Everything down to rakudo-install is updated
So it's modules-install and modules-test that need work
22:02 [Sno] left
masak 'night, #perl6 22:03
22:04 araujo joined
timotimo what's @win32_libparrot_copy@? a bunch of commands to copy over libparrot.so or .dll? 22:07
moritz iirc only .dll
timotimo er
win32, yeah
jnthn some windows hack
timotimo most things involving windows seems hacky to me :P 22:08
would modules-install be "instantiated" once per backend?
or would it be one rule to install all modules for all backends?
somehow it still has to handle --backends=, doesn't it?
22:09 meltingwax left 22:10 [Sno] joined
timotimo i suppose that's how @backend_exes@ works 22:11
but now i don't know how to make make run the rule for each :|
jnthn timotimo: Well, if you make the module install script take the target and extension as a flag, you can write 3 rules: module-install-p, module-install-m and module-install-j 22:12
And then have a module-install: @backend_module_installs@ that will be built by Configure.pl just like @backend_exes@
timotimo OK, i'll just have to copypaste the body and add the flags there
i have to change Configure.pl to do that, but it'll just be a bit of copypaste?
jnthn Correct 22:13
Look for backend_exes
It's jnthn Perl 5 which menas it's probably got at least some 6ism in it :)
timotimo thanks :)
jnthn My first crack at perl 5 doesn't compile half the time these days 'cus I accidentally some 6ism :) 22:14
(Gets better quickly once I get back into it, though.)
22:19 colomon left 22:22 arnsholt left 22:24 colomon joined
timotimo how do i change $out =~ s/\.pm6?$/.pir/ so that it puts $comptarget after the . instead of just pir? can i just interpolate that? 22:26
jnthn: how exactly do i try out my changes? make -f tools/star/Makefile? 22:29
jnthn I *think* you can, and if not you add an e at the end.
timotimo: See release guide but basically you need to make -f tools/star/Makefile release VERSION=2014.03
timotimo: Then you take the .tar.gz it produces off to a separate location, unzip, change into the directory, and perl Configure.pl --backend=... [--gen-moar] [--gen-parrot] depending what you want to try out. 22:30
timotimo: Before that release step you'll need to make -f tools/star/Makefile to grab down all the things too, I think.
timotimo right. that's what i did just now
i still haev to bump all the version strings, don't i? 22:31
jnthn timotimo: I've personally been hacking the Configure.pl etc. off in that separate directory, then copying them back to the star directory
No, you can get away with that.
It won't give you something you'd want to releaes, but it gives you a tarball.
timotimo ah 22:32
thanks
jnthn np :)
Thanks for looking at it. :)
OK, I should sleep now...course tomorrow morning...
...at a location I need to find 'cus I didn't go to it before. :)
'night
timotimo i hope i'll manage :) 22:33
22:36 dmol left 22:39 Rotwang1 left
timotimo bin-install.pl should be installing the -debug-* binaries, too, right? 22:39
22:43 yoleaux left, tadzik left, colomon left, xinming_ left, pmurias left, xragnar left, skids left, Juerd left, takesako___ left, dylanwh left, atrodo left 22:44 colomon joined, xinming_ joined, pmurias joined, xragnar joined, skids joined, Juerd joined, takesako___ joined, dylanwh joined, atrodo joined 22:45 denisboyun left 22:50 felher_ is now known as felher 22:51 daniel-s_ left 22:52 daniel-s_ joined 22:56 rurban1 left, yoleaux joined, tadzik joined, barjavel.freenode.net sets mode: +v yoleaux, colomon left 22:58 khisanth_ is now known as Khisanth
Quom p6: my $x ="abcdefghijklmnop"; $x.substr-rw(15) = "aww"; say $x 23:05
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method substr-rw in type Str␤ at /tmp/tmpfile line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) …»
..rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«No such method 'substr-rw' for invocant of type 'Str'␤ in block at /tmp/tmpfile:1␤␤»
timotimo is that not yet implemented? :o 23:06
23:06 Psyche^ joined
Quom timotimo: Nope. Not sure how it would be either. Proxy trickery? 23:07
timotimo that's how i thought it was implemented
Quom timotimo: Should really be a low-level thing...
timotimo not terribly easy to do, aye 23:08
Quom timotimo: Though Perl 6 tends to modify strings in place much less than Perl 5
timotimo: So maybe effeciency isn't really a priority here
*efficiency
timotimo that's right
well, really you have something whose SET will combine a $pre with the given value to set and append a $post and the next FETCH will return the result of that operation 23:09
and then SET will have to revert to regular assignment
otherwise $foo = substr-rw(...) = "hi"; $foo = "bye" will result in $foo being something like "abcdefgbyexyz" 23:10
rather than just "bye"
lue substr-rw is a sub, not a method
23:10 Psyche^_ left
Quom p6: my $x ="abcdefghijklmnop"; substr-rw($x,15) = "aww"; say $x 23:10
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnoaww␤»
Quom Well
Cool
p6: my $x ="abcdefghijklmnop"; my $y = substr-rw($x,15) = "aww"; $y = "yay!"; say $x 23:11
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnoaww␤»
Quom lue++
timotimo oh. well :) 23:12
Quom p6: my $x ="abcdefghijklmnop"; my $y = substr-rw($x,15); $y = "yay!"; say $x
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091, niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnop␤»
23:12 colomon joined
timotimo hm 23:13
Quom EEDGECASES
timotimo yeah
lue p6: my $x ="abcdefghijklmnop"; my $y = &substr-rw.assuming($x,15); $y() = "yay!"; say $x 23:15
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«abcdefghijklmnop␤»
..niecza v24-109-g48a8de3: OUTPUT«abcdefghijklmnoyay!␤»
lue niecza gets that right at least :)
timotimo doing all this star-stuff is taking quite long :|
huh, wat
i'm getting errors from imcc when building rakudo-parrot 23:16
Quom p5 "my $nulls = $data =~ tr/\0/\0/;" becomes p6 "my $nulls = +$data.comb(/\0/);" Readibility++ 23:20
no
readibility-- readability++
spelling++
timotimo why would you tr/\0/\0/? 23:22
that seems like a no-op to me >_>
oh. scalar context.
23:23 colomon left
Quom is attempting to translate metacpan.org/source/BINGOS/Archive...ive/Tar.pm that this comes up 23:26
23:26 Quom is now known as Mouq 23:28 daniel-s__ joined, daniel-s_ left
timotimo actually. i may have been getting the weird pir errors because of parallel builds that are not actually supported 23:29
23:36 Khisanth left
lue r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {$0.fmt("%04d")}); say @a.perl # why does this not work? :( 23:41
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Array.new("a", "b", "c", "d")␤»
23:42 colomon joined
lue (I've tried many variations on that, all unsuccessful, but you get the idea of what I'm trying to do) 23:42
timotimo mkdir /languages: Permission denied at tools/build/module-install.pl line 32.
seems legit!
Mouq r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {say $/;$0.fmt("%04d")}); say @a.perl 23:43
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Nil␤Nil␤Nil␤Nil␤Array.new("a", "b", "c", "d")␤»
Mouq r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {$_[0].fmt("%04d")}); say @a.perl
Ohhh
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Array.new("0001a", "b0002", "0003c", "d0004")␤»
Mouq r: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+){}/, {$0.fmt("%04d")}); say @a.perl
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«Array.new("0001a", "b0002", "0003c", "d0004")␤»
Mouq You need the "{}" 23:44
lue ...
Mouq lue: Annoying?
timotimo DESTDIR seems to be missing somehow
Mouq lue: I agree
n: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+){}/, {$0.fmt("%04d")}); say @a.perl
camelia niecza v24-109-g48a8de3: OUTPUT«["0001a", "b0002", "0003c", "d0004"].list␤»
Mouq n: my @a = <1a b2 3c d4>; @a».=subst(/(<.digit>+)/, {$0.fmt("%04d")}); say @a.perl
camelia niecza v24-109-g48a8de3: OUTPUT«["0001a", "b0002", "0003c", "d0004"].list␤»
Mouq Looks like it's a bug
timotimo maybe it should be PREFIX_DIR instead of DESTDIR in the makefile? 23:45
there is also PREFIX_DIR and PREFIX 23:46
the latter is only used once
and not assigned anywhere
lue Mouq: you couldn't convince me that the need for a random {} isn't a bug :)
timotimo now i've messed it all up 23:48
Mouq hugme: hug timotimo 23:49
hugme hugs timotimo
timotimo fortunately i could undo the stuff 23:50
but i'm not getting any closer to the destination yet
i guess i'll push my changes so far anyway
Mouq r: "1a" ~~ /(<.digit>+)/; say $/ 23:51
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
Mouq r: "1a" ~~ /(<.digit>+){}/; say $/
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
Mouq r: say "1a" ~~ /(<.digit>+){}/; 23:52
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
Mouq r: say "1a" ~~ /(<.digit>+)/;
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
Mouq r: say "1a".match(/(<.digit>+)/);
camelia rakudo-parrot a24091, rakudo-jvm a24091, rakudo-moar a24091: OUTPUT«「1」␤ 0 => 「1」␤␤»
Mouq hm
dalek ar/tristar: ae70436 | (Timo Paulssen)++ | / (3 files):
baby steps towards tri-module-install.
timotimo also, for some reason it seems like all my submodules have been rewound 23:53
er. git status says "new commits" for all the submodules 23:54
Mouq timotimo: github.com/rakudo/star/commit/ae70...nt-5692513 23:56
timotimo good catch, thank you!
23:58 Khisanth joined, pecastro_ left
dalek ar/tristar: dda5873 | (Timo Paulssen)++ | Configure.pl:
Mouq++ found this
23:59
timotimo that would explain why it said "nothing to be done for modules-install" :)