»ö« 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/tmpfileVariable '$b' is not declaredat /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/tmpfileUnable to parse class definitionat /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 traitParse failedFAILED 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.pm6ok 00:01 129m» | ||
lizmat | std: use Test:ver(v1.2 || v1.4) || Bar | ||
camelia | std 09dda5b: OUTPUT«===SORRY!===Undeclared name: 'Bar' used at line 1Check failedFAILED 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 traitParse failedFAILED 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⏏; 1Package 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/sp8oF1vsHHToo late for semicolon form of class definitionat /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«NilNilNilNilArray.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" :) |