»ö« 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
je left
00:16
cognome_ joined,
amkrankr1leuen joined,
amkrankruleuen left
00:17
smash_ joined
00:18
smash left,
cognome left
00:19
BenGoldberg joined
|
|||
TimToady | weird, I think it's looping in List.gimme, but if I put a say anywhere in the routine, the compilatoin of RESTRICTED.setting hangs :( | 00:27 | |
that is so bizarre... | 00:28 | ||
or a note, or an nqp::say | |||
TimToady guesses and opt/deopt isn't round tripping, or so | 00:30 | ||
*an | |||
nope, disabling those things makes no difference | 00:34 | ||
circularity sawed off, is my next guess | |||
TimToady gives up for now | 00:36 | ||
00:37
je joined
|
|||
japhb | .oO( Circularity sawed off shotgun ) |
00:45 | |
00:46
nbrown__ joined
|
|||
TimToady | .oO("Sod off!" shotgun) |
00:46 | |
00:50
yeltzooo joined
00:51
nbrown__ left
00:58
yeltzooo9 left
01:01
raiph left
01:10
FROGGS_ joined
01:14
Alina-malina left
01:15
Alina-malina joined
01:20
colomon_ joined
01:22
sergot joined,
pecastro_ joined
01:23
Woodi_ joined,
raiph joined,
telex left
01:24
telex joined,
telex left,
lizmat_ joined
01:26
telex joined
01:28
je left,
lizmat left,
mhasch left,
Guest36225 left,
Woodi left,
sergot_ left,
colomon left,
colomon_ is now known as colomon,
nhayashi joined
01:30
mls joined
01:32
mhasch joined
01:37
nbrown__ joined
01:39
nhayashi left,
raiph left,
colomon left,
BenGoldberg left,
amkrankr1leuen left,
rindolf left,
jdv79_ left,
beastd left,
zacts left,
bjz left,
araujo left,
epochbell left,
vike left
01:41
nbrown__ left
01:45
nhayashi joined
01:48
je joined,
rindolf joined
01:49
je left,
jerrycheung joined
01:50
raiph joined,
colomon joined,
amkrankr1leuen joined,
jdv79_ joined,
zacts joined,
bjz joined,
araujo joined,
epochbell joined,
vike joined,
salv0 joined,
pmichaud joined,
Pleiades` joined,
thilp_ joined,
tadzik joined,
BenGoldberg joined
01:55
rindolf left,
nbrown__ joined
02:00
nbrown__ left
02:01
PZt joined
02:11
raiph left
02:27
JL235__ joined
02:34
noganex_ joined
02:40
aborazmeh joined,
xinming joined
|
|||
btyler_ | colomon: pulled in your jansson changes, it didn't seem like there was anything else you wanted to do before issuing a pull req (but the time to issue said req was the blocker) | 03:02 | |
so, thanks! :) | |||
colomon | btyler_: apologies for not cleaning things up properly for you. | ||
btyler_ | ? not at all, the merge conflict was totally self inflicted on my end | 03:03 | |
hoelzro | I've been thinking about improving stringification/gists for Regex objects. Any suggestions for the right way to do it? | ||
btyler_ | and it was trivial anyways | ||
hoelzro | I was thinking .perl should print a regex literal | ||
and .gist should print the .name // .perl | |||
and .Str...well, I don't know about htat | 03:04 | ||
btyler_ | now just need to write a bunch more tests, and do some thinking on how to keep jansson from holding onto objects forever (since the json_decref/json_incref functions are actually macros, so NativeCall can't see them) | ||
03:07
raiph joined,
_thou left
03:13
BenGoldberg left
|
|||
masak .oO( "It would prefer that you stayed out of its living room because you weren't invited, not because you have a 'sod off' shotgun" -- Larry Wall, quote mashup ) :P | 03:20 | ||
time-of-day, #perl6 | |||
m: subset Probability of Real where 0.0 .. 1.0 # Ven: tastes differ, but I'd've done stackoverflow.com/questions/1917898...6#25574936 this way | 03:26 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...d=25574936 | ||
camelia | ( no output ) | ||
masak | synopsebot: shh, grownups are talking. | ||
03:27
xenoterracide joined,
araujo left
|
|||
masak | m: subset Odd of Int where -> $n { $n % 2 } # Ven: and this way; people are bound to be more familiar with % and boolification than with !%% | 03:28 | |
camelia | ( no output ) | ||
masak proceeds to get lost in a stackexchange of twisty little questions, all different | 03:33 | ||
hah, trust philosophy.stackexchange to make an issue of a non-issue *in an interesting way*: philosophy.stackexchange.com/questi...ang-theory :) | 03:44 | ||
03:49
aborazmeh left
03:50
xenoterracide left
03:52
jerrycheung left
04:16
jerrycheung joined
04:18
xenoterracide joined
|
|||
raiph | masak: I think ven just copied the subset Probability line from me. I prefer your line. | 04:28 | |
masak: The second bit is his. It doesn't compile as is because it omits a Map definition. | |||
masak: I'll edit ven's answer to use your line for the first bit. | 04:30 | ||
04:32
tphilipp joined,
tphilipp left
|
|||
raiph | .tell masak I'd love to see your suggestions for how best to code the second bit too. ( See irclog.perlgeek.de/perl6/2014-08-30#i_9268837 ) | 04:33 | |
yoleaux | raiph: I'll pass your message to masak. | ||
masak | cool. it's a small thing, but range feels slightly more idiomatic. | ||
yoleaux | 04:33Z <raiph> masak: I'd love to see your suggestions for how best to code the second bit too. ( See irclog.perlgeek.de/perl6/2014-08-30#i_9268837 ) | ||
masak | fastest delivered message, ever ;) | ||
m: subset Prob of Real where 0..1; class Dist { has @.probs where 1 == [+] .list; }; say Dist.new(:probs(0.5, 0.5)) # raiph | 04:36 | ||
camelia | rakudo-moar d8c834: OUTPUT«Dist.new(probs => Array.new(0.5, 0.5))» | ||
masak | raiph: problem with that one is that 'where' clauses on attributes aren't heeded. | 04:37 | |
m: subset Prob of Real where 0..1; class Dist { has @.probs where 1 == [+] .list; }; say Dist.new(:probs(0.5, 0.3)) # this should fail at construction time | |||
camelia | rakudo-moar d8c834: OUTPUT«Dist.new(probs => Array.new(0.5, 0.3))» | ||
masak | oh, ignore the above; it's probably wrong. need a closure for the where not to be a constant. :) | 04:38 | |
(this is why I didn't provide a suggestion for that one; it's hard to code correctly on code that doesn't work yet) | |||
04:39
jack_rabbit left
|
|||
masak | m: subset Prob of Real where 0..1; class Dist { has @.probs where { self!total == 1 }; method !total { [+] @.probs } } # maybe this? | 04:40 | |
camelia | ( no output ) | ||
masak | again, this is all a bit moot until rt.perl.org/Ticket/Display.html?id=122109 is NYNYI'd. | 04:41 | |
er, NLNYI'd. | |||
raiph | masak: The problem calls for a hash with keys of an arbitrary type (not just Str). So has @.probs ---> has Map[Type, Prob] %.probs or some such. Which is also NYI methinks. Anyhoo, thanks and masak++ | 04:50 | |
masak | m: my Int %h{Sub} = sub {} => 42; say %h.perl # raiph | 04:54 | |
camelia | rakudo-moar d8c834: OUTPUT«Hash[Int,Sub].new(sub () { #`(Sub|139733655771720) ... } => 42)» | ||
masak | raiph: works fine :) | 04:55 | |
lizmat++ | |||
IMO, Map is a really unfortunate name for Hash in that piece of code. | |||
moritz | hoelzro: thanks for fixing that | 04:56 | |
yoleaux | 29 Aug 2014 22:58Z <hoelzro> moritz: I fixed up and checked the docs; they're fine now! | ||
zacts | does rakudo support OpenBSD well? | 05:01 | |
masak | zacts: as far as I know, yes. | 05:04 | |
raiph | masak: Thanks again. | 05:05 | |
zacts | ok, good. I have more confidence to install OpenBSD on my laptop now. if it doesn't work no big deal, but that was one issue holding me back from using OpenBSD. | ||
masak | how do I make a custom op iffy? | ||
hah! looked at a test, went "that cannot possibly be right", went to the RT ticket referenced, found a discrepancy, did `git blame` on the test in question... found myself, anno 2011. | 05:12 | ||
masak-- :) | |||
moritz | masak++ # writing tests | 05:13 | |
05:16
JimmyZ joined
|
|||
TimToady | well, equiv should dup iffy-ness, I'd think, along with all the other attributes of an operator | 05:18 | |
05:19
SamuraiJack joined
|
|||
masak | TimToady: I think I agree. | 05:20 | |
TimToady | tighter and looser are of course more problematic | 05:21 | |
masak | should there maybe be an 'is iffy' trait? | ||
jnthn | That'd make sense to me... | 05:22 | |
TimToady | or it could be intuited from the return type, possibly | 05:23 | |
presumably something that return Bool is naturally iffy | |||
*turns | 05:24 | ||
masak | all those things sound like frills on top of the mundane, reliable mechanism... | ||
05:24
xenoterracide left
|
|||
TimToady | yeah | 05:24 | |
TimToady is much more interested in actually figuring out how reify works, which is odd, considering I helped design it... | 05:25 | ||
jnthn | TimToady: "I learned how reify works 3 times so far..." :) | ||
TimToady | in fact, I think I was the first person to use the word "reify" wrt that... | 05:26 | |
well, we probably need to learn that again :) | |||
05:26
aborazmeh joined
|
|||
TimToady | the basic problem with gimme/reify is that they try to re-establish policy on every call, when generally you just want to set up the dataflow and then just push or pull | 05:27 | |
m: my @a = 1,2,3; @a.plan: 4..*; say @a | 05:29 | ||
camelia | rakudo-moar d8c834: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…» | ||
TimToady | that works, but... | ||
m: my @a = 1,2,3; @a.plan: 4..*; say @a[3] | |||
camelia | rakudo-moar d8c834: OUTPUT«(timeout)» | 05:30 | |
TimToady | that gets stuck in List.reify, and $count does not progress | ||
I can make it bomb out of the loop on lack of progress, but then it just gets (Any) instead | |||
so something is not doing the reify handshake right | 05:31 | ||
05:32
SamuraiJack left,
SamuraiJack joined
05:45
gfldex joined
|
|||
moritz | reducing the number of methods involved in reifying would also help a lot :-) | 05:47 | |
05:48
JimmyZ_ joined
05:50
JimmyZ left
05:51
JimmyZ joined
05:55
JimmyZ_ left
|
|||
dalek | ast: c05d4ce | masak++ | S03-operators/arith.t: fix really embarrassing typo The test ended up testing entirely the wrong thing, for three years. Ugh. |
06:04 | |
06:06
kaare_ joined
|
|||
jnthn | lunch & | 06:06 | |
06:07
rindolf joined
06:09
akaseki joined
|
|||
JimmyZ | so late :P | 06:09 | |
06:10
akaseki is now known as Salai
|
|||
JimmyZ | > ls() | 06:18 | |
===SORRY!=== Error while compiling <unknown file> | |||
Undeclared routine: | |||
ls used at line 1. Did you mean 'lc'? | |||
> e() | |||
===SORRY!=== Error while compiling <unknown file> | |||
Variable '&e' is not declared | |||
at <unknown file>:1 | |||
LTA, methinks | 06:19 | ||
06:27
aborazmeh left
|
|||
JimmyZ | std: e() | 06:32 | |
camelia | std 53b3ca6: OUTPUT«ok 00:01 121m» | ||
tadzik | 'When jnthn talks about something he did "when he was 10 years stupider", it was probably two years ago' :D | 06:39 | |
(from domm.plix.at/perl/2014_08_things_i_...2014.html) | 06:40 | ||
06:41
itz left
06:46
psch left
06:56
itz joined
07:13
mj41 joined
07:26
FROGGS_ is now known as FROGGS
|
|||
FROGGS | m: &[baz] | 07:35 | |
camelia | rakudo-moar d8c834: OUTPUT«===SORRY!=== Error while compiling /tmp/5x7pscq5dgPreceding context expects a term, but found infix & insteadat /tmp/5x7pscq5dg:1------> &[⏏baz]» | ||
FROGGS | r: say "\c[LF]" | 07:45 | |
camelia | rakudo-jvm d8c834: OUTPUT«(timeout)» | ||
..rakudo-{parrot,moar} d8c834: OUTPUT«» | |||
dalek | ast: 27ecb5d | (Tobias Leich)++ | S05-mass/named-chars.t: RT #122353 unfudge LF,FF,CR,NEL tests for parrot |
07:48 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122353 | ||
masak | FROGGS++ | 07:50 | |
FROGGS | masak: I love it to remove the last fudge lines from a test file :o) | 07:51 | |
07:52
akaseki joined,
Salai left,
akaseki is now known as Salai
|
|||
masak .oO( I love the absence of fudge in the morning ) | 07:53 | ||
FROGGS | jnthn: we have CTXSAVE in both HLL::Actions and Perl6::Actions... one has QAST::Stmt the other *::Stmts - what is preferred? | 08:01 | |
jnthn | Not sure it matters a load | ||
FROGGS | k | ||
jnthn | I think the differences used to be much larger | ||
But they've re-converged | |||
FROGGS | so I leave nqp untouched :o) | ||
jnthn | iirc, the split was when NQP moved to QAST but Rakudo was stuck in the PAST | 08:02 | |
08:09
kurahaupo_ joined
08:11
darutoko joined
08:12
raiph left
08:13
JimmyZ_ joined
|
|||
FROGGS | TimToady: was that because of one of your patches? | 08:13 | |
Malformed my | |||
at t/spec/S04-declarations/my.rakudo.moar:298 | |||
------> my &⏏ = { * - 5 }; | |||
08:16
JimmyZ left,
JimmyZ_ is now known as JimmyZ
|
|||
FROGGS | (talking about this patch: github.com/rakudo/rakudo/commit/9a...324e3e7b15 ) | 08:17 | |
08:26
Salai left
08:27
akaseki joined,
zoosha left
|
|||
timotimo | FROGGS: that ought to have been the "anonymous & variables don't make sense" patch? | 08:35 | |
oh. yes. | |||
08:35
brrt joined
|
|||
timotimo | that was a tremendously unhelpful comment of mine %) | 08:39 | |
FROGGS | :o) | 08:40 | |
08:42
JimmyZ_ joined
08:45
JimmyZ left,
JimmyZ_ is now known as JimmyZ
|
|||
masak submits 'is iffy' NYI ticket | 08:50 | ||
08:57
JL235__ left
|
|||
FROGGS | another one for TimToady: | 08:57 | |
Unsupported use of $$ variable; in Perl 6 please use $*PID | |||
at t/spec/S32-str/substr-rw.rakudo.moar:74 | |||
------> is($$r⏏, "gloop", '$r referent is eq to the sub | |||
dalek | kudo/nom: dc7c5a2 | (Tobias Leich)++ | src/Perl6/Actions.nqp: RT #122496 remove duplicate Perl6::Actions.CTXSAVE |
08:59 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122496 | ||
09:01
JimmyZ_ joined
|
|||
dalek | ecs: ce03a49 | masak++ | S99-glossary.pod: [S99] karma is about s/popularity/appreciation/ |
09:02 | |
kudo/nom: 38e4fb6 | (Tobias Leich)++ | src/core/ (3 files): use prefix:<->(:D ...) for Int/Real/Rat/... This way we hit the prefix:<-> of Numeric for type objects, which will warn and return zero. |
|||
09:02
JimmyZ left,
JimmyZ_ is now known as JimmyZ
09:05
denis_boyun_ joined
|
|||
FROGGS | m: say -Int # this will warn and say zero in a bit | 09:05 | |
camelia | rakudo-moar d8c834: OUTPUT«(signal )» | ||
nine | Incredible! I just replaced an action of a Catalyst controller in our Perl 5 application by Perl 6! | 09:07 | |
This validates my approach to provide an upgrade path for existing Perl 5 codebases :) | 09:08 | ||
JimmyZ | congratulations! | ||
jnthn | nine: Much wow! | 09:09 | |
masak | nine++ # nice! | 09:12 | |
nine | It's all thanks to NativeCall's awesomeness, really. | 09:17 | |
FROGGS | nine++ | ||
now v5 is nearly pointless :o) | 09:18 | ||
masak | surely not. | 09:19 | |
nine | FROGGS: no it isn't. | ||
09:19
FROGGS[mobile] joined
|
|||
masak | FROGGS[mobile]: v5 is the one that can be JITted. | 09:19 | |
09:19
bowtie joined
|
|||
masak | and spesh'd. | 09:20 | |
09:20
bowtie is now known as Guest74506
|
|||
FROGGS[mobile] | and might be pattern for other slangs | 09:20 | |
nine | while Inline::Perl5 is bound to be dog slow. I'm doing the most naive implementation anyone can imagine. Copying stuff like there was no tomorrow. | ||
FROGGS[mobile] | but besides that... :D | 09:21 | |
nine | Also many years from now we might reach the point, where there are alternatives for all Perl 5 XS modules while there may still be much proprietary Perl 5 code around. Then we can remove the Perl 5 interpreter and stop maintining it. | 09:23 | |
JimmyZ | :) | 09:24 | |
brrt | nine++ | 09:25 | |
also FROGGS, there is always more than one way to do it ;-) | |||
jnthn | Other cool thing: hijack the v5 grammar to find the extent of Perl 5 code, then after parsing it pass it off to Inline::Perl5 :) | 09:27 | |
masak | ok, second iffy-related weirdness: | 09:28 | |
m: multi infix:«<:» { $^l lt $^r }; multi infix:«!<:» { not($^l <: $^r) }; say "foo" !<: "bar" | |||
camelia | rakudo-moar d8c834: OUTPUT«True» | ||
JimmyZ | std: sub s() { return 1 } ; s | ||
masak | now watch as I perform my magic trick: | ||
camelia | std 53b3ca6: OUTPUT«===SORRY!===No delimiter found at /tmp/vr48oCopRG line 1 (EOF):------> sub s() { return 1 } ; s⏏<EOL>Parse failedFAILED 00:01 125m» | ||
JimmyZ | m: sub s() { return 1 } ; s | ||
camelia | rakudo-moar d8c834: OUTPUT«===SORRY!=== Error while compiling /tmp/emDqZRcpCBNull regex not allowedat /tmp/emDqZRcpCB:1------> sub s() { return 1 } ; s⏏<EOL> expecting any of: postfix statement end …» | ||
masak | m: multi infix:«≃» { $^l lt $^r }; multi infix:«!<:» { not($^l ≃ $^r) }; say "foo" !≃ "bar" | ||
camelia | rakudo-moar d8c834: OUTPUT«===SORRY!=== Error while compiling /tmp/q8BePJqzE4Cannot negate ≃ because it is not iffy enoughat /tmp/q8BePJqzE4:1------> x:«!<:» { not($^l ≃ $^r) }; say "foo" !≃⏏ "bar"» | ||
09:28
spider-mario joined
|
|||
masak | *exactly* the same code -- just with a Unicode operator instead! | 09:28 | |
masak submits rakudobug | |||
09:29
spider-mario left
|
|||
JimmyZ | n: sub s() { return 1 } ; s | 09:29 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===No delimiter found at /tmp/ugElRgvWFu line 1 (EOF):------> sub s() { return 1 } ; s⏏<EOL>Parse failed» | ||
JimmyZ | LTA or bug? | 09:30 | |
09:30
BizarreCake joined
09:31
spider-mario joined
|
|||
jnthn | masak: Um...you installed a negation of a completley different operator? | 09:31 | |
infix:«≃» and infix:«!<:» | |||
masak | um. | 09:33 | |
m: multi infix:«≃» { $^l lt $^r }; multi infix:«!≃» { not($^l ≃ $^r) }; say "foo" !≃ "bar" | |||
camelia | rakudo-moar d8c834: OUTPUT«===SORRY!=== Error while compiling /tmp/weCLGmom3MCannot negate ≃ because it is not iffy enoughat /tmp/weCLGmom3M:1------> ix:«!≃» { not($^l ≃ $^r) }; say "foo" !≃⏏ "bar"» | ||
masak | there we go. | ||
my exposure of the bug was wrong; the bug is there. | |||
masak magically retcons the bug report | 09:34 | ||
masak does the jedi gesture on #perl6 | |||
JimmyZ | m: ::!??YOUR_FACE!! # I remember this one :P | 09:35 | |
camelia | rakudo-moar d8c834: OUTPUT«===SORRY!=== Error while compiling /tmp/3c21XwiXxwCannot negate ??YOUR_FACE!! because it is not iffy enoughat /tmp/3c21XwiXxw:1------> ::!??YOUR_FACE!!⏏ # I remember this one :P» | ||
masak | hahaha | 09:38 | |
JimmyZ | std: ::!??YOUR_FACE!! | 09:39 | |
camelia | std 53b3ca6: OUTPUT«===SORRY!===Cannot negate ?? !! because conditional operators are too fiddly at /tmp/PuLvi1D_tN line 1:------> ::!??YOUR_FACE!!⏏<EOL>Cannot negate ??YOUR_FACE!! because conditional operators are not iffy enough at /…» | ||
brrt | nice | ||
JimmyZ: wrt to the commit you asked me to revert, i still have no conclusive answer wrt to rounding behaviour, but i suspect the code is corect as it is | 09:41 | ||
JimmyZ | brrt: jnthn++ said it could be cheaper | 09:42 | |
brrt | yeah, i know, wrt to pushing the exception to the end | ||
i'm kind of ambivalent between doing that in the graph building, or emit step | 09:43 | ||
we can do both | |||
JimmyZ | +1 | ||
brrt | i.e. dynasm has support for 'capturing' blocks | ||
but i don't know if i can get the right label then | |||
09:44
broquaint left
|
|||
brrt | anyway, i agree with the optimisation, but aside from constant-checking the denominator it's not so very simple that it has fit into my brane yet | 09:44 | |
JimmyZ | yeah, it's tricky :/ | 09:45 | |
09:53
brrt left
09:56
anaeem1 joined
09:59
aindilis` left
10:00
itz_ joined
10:02
itz left
10:04
aindilis joined
10:06
zoosha joined
10:08
itz joined
10:09
virtualsue joined
10:10
itz_ left
10:11
zoosha left
10:13
virtualsue left
10:29
kurahaupo_ left
10:42
BizarreCake left
10:48
firefish5000 joined
10:52
mj41 left
10:57
firefish5000_ joined
11:01
firefish5000 left
11:02
zoosha joined
11:04
JimmyZ_ joined,
kurahaupo joined
11:06
JimmyZ left,
JimmyZ_ is now known as JimmyZ
11:12
itz_ joined
|
|||
colomon | ssh: Could not resolve hostname host07.perl6.com: Name or service not known :( | 11:13 | |
11:14
itz left
|
|||
moritz | ;; ANSWER SECTION: | 11:15 | |
host07.perl6.com. 3600 IN A 192.241.193.85 | |||
though I can't resolve it from my we^Horkstation either | |||
11:15
JimmyZ_ joined
|
|||
colomon | just when I finally get the smoke test working again (more or less)... | 11:16 | |
11:16
[particle] joined
|
|||
moritz | colomon: add the IP to your /etc/hosts | 11:16 | |
11:16
JimmyZ left,
JimmyZ_ is now known as JimmyZ
|
|||
colomon | moritz: is the IP stable? | 11:17 | |
moritz | colomon: yes | ||
11:17
d4l3k_ joined
11:18
__rnddim__ joined
11:19
sivoais_ joined,
kshannon joined
11:20
cosimo_ joined
11:21
xiaomiao joined
|
|||
colomon | okay, last night's run is now up too | 11:22 | |
11:24
robins joined
11:25
Bucciarati_ joined
|
|||
Woodi_ | hallo #perl6 | 11:25 | |
11:26
gcifuent1s joined
|
|||
Woodi_ | just tried to install rakudo-2014-08 on static compiled moar and during rakudo compilation it was trying to dynamically load dynext lib... | 11:27 | |
on shared moar no problemo | |||
jnthn | Woodi_: You can't build things that use extops on a static compiled moar, which means it's not suitable for use with Rakudo. There's a reason it's not the default. :) | 11:28 | |
Woodi_ | oki, just thinked it can be done static and shared | 11:29 | |
jnthn | Not as far as I know... | ||
11:29
sivoais left,
go|dfish left
|
|||
Woodi_ | jnthn: but dynext should be statically compiled ito moar... | 11:29 | |
11:29
d4l3k_ is now known as dalek
11:31
go|dfish joined,
robins is now known as robinsmidsrod
|
|||
FROGGS[mobile] | colomon: does v5 pass now? | 11:32 | |
11:35
eiro joined
11:36
rjbs- joined,
Brock joined,
jercos left
|
|||
Woodi_ | oki, just want to add: perl5 is kind of /usr/bin/immortal like sed and awk, it's will stay there and it is in kind of permament maintenance mode. if perl6 will be succesfull in some time then maybe distros will do: mv /usr/bin/perl /usr/bin/perl5\n but replacing Perl5 completely is unlikely... | 11:36 | |
11:37
BooK left
11:38
jercos joined
11:39
BooK joined,
ribasushi joined,
Possum joined,
pochi joined
|
|||
dalek | p: 6764152 | jonathan++ | tools/build/MOAR_REVISION: Bump to MoarVM with objectid support. |
11:40 | |
p: c7c4661 | jonathan++ | src/vm/ (3 files): Map nqp::objectid(...) op. On Parrot, it maps to what nqp::where(...) does and can continue to, since Parrot doesn't move objects. On MoarVM it maps to the new VM op of the same name. On JVM, it currently maps to nqp::where, but this will want reviewing as JVMs can also move objects. |
|||
11:40
Juerd joined
11:42
fling joined
|
|||
nine | Woodi_: Perl 4 is gone. Why should the same not happen for Perl 5? | 11:42 | |
11:42
itz joined
|
|||
dalek | kudo/nom: aa03171 | jonathan++ | tools/build/NQP_REVISION: Bump NQP_REVISION for nqp::objectid op. |
11:43 | |
kudo/nom: 9a66444 | jonathan++ | src/core/Mu.pm: Have Mu.WHICH use the nqp::objectid op. This will avoid the instability in .WHICH values on MoarVM that has caused various flapping tests and other bugs. |
|||
Woodi_ | nine: it's just unlikely, IMO | ||
FROGGS | nine: COBOL does not wanna die either in some areas | ||
nine | But COBOL does not have a successor. | 11:44 | |
FROGGS | I think that does not matter | ||
11:44
itz_ left
|
|||
FROGGS | if the code works, it will stay in most cases | 11:45 | |
nine | I just start to move to lizmat_'s side in this discussion. I now regard Perl 6 again like a new version of Perl, not like a sister language. | ||
Woodi_ | nine: actually I think *nixes are quite old and I bet *nixes dies before rm /usr/bin/perl :) | ||
masak | I'm also on lizmat++'s side. my only concern is whether the time to boast that Perl 5 is dying and you'd better convert to Perl 6 is now, or slightly later than now. | 11:47 | |
11:47
pochi_ joined,
itz_ joined
|
|||
spider-mario | nine: a few of Inline::Perl5’s tests fail on my machine. is that normal? | 11:48 | |
nine | spider-mario: no, they should pass. | 11:49 | |
spider-mario | I’ll paste the output | ||
nine | I as a rule never commit failing tests on a master branch to avoid such confusion. | ||
11:49
zoosha_ joined,
rjbs joined
|
|||
spider-mario | paste.awesom.eu/lx2S | 11:49 | |
11:50
telex left,
itz left
|
|||
spider-mario | but now that I think about it, I run them using Rakudo 2014.04 | 11:50 | |
perhaps it’s too old | |||
11:51
Psyche^ joined,
gcifuent1s is now known as gcifuentes
|
|||
nine | spider-mario: Could be. OTOH maybe I'm doing something that only incidentally works on current Rakudo. I am a Perl 6 beginner after all. | 11:51 | |
spider-mario | (that’s because NativeCall appears to be needed, Rakudo Star was the easiest way for me to get it, and the last Star release is 2014.04) | ||
11:52
JimmyZ_ joined,
__rnddim__ left,
denis_boyun_ left,
telex joined,
__lue__ joined,
itz_ left,
itz joined
11:53
vike1 joined
|
|||
FROGGS | nine: I'm eager to port my stuff to Perl 6, no doubt... but also I know that many companies do not want to spend money to rewrite something that works well | 11:53 | |
11:53
robins joined
11:54
vike left
11:55
JimmyZ left,
JimmyZ_ is now known as JimmyZ
11:56
denis_boyun_ joined
|
|||
nine | FROGGS: we wouldn't either. We really want to keep code that's working as is and write new stuff in the new shiny language. Only if we have to do large modifications of existing code anyway we would port it. That's why I think it is essential to have good interop for Perl 6 to succeed. | 11:56 | |
11:56
epochbel1 joined
|
|||
FROGGS | nine: that is also my motivation of doing v5 in the first place | 11:56 | |
11:56
tadzik1 joined
11:57
pochi left,
rjbs- left,
Bucciarati_ left,
robinsmidsrod left,
zoosha left,
MilkmanDan left,
Bucciarati joined,
ilbot3 joined
|
|||
colomon | FROGGS: no. :\ | 11:59 | |
colomon tries it manually | |||
11:59
Pleiades` left,
tadzik left,
epochbell left
|
|||
colomon | FROGGS: took a long time to build, now I'm getting loads of test failures | 11:59 | |
t/v5/32-autoload-method.t ..... ===SORRY!=== | |||
Could not find feature in any of: | |||
(long list deleted by colomon) | |||
12:00
moritz_ joined
|
|||
Woodi_ | btw. how you think, do solid state RAM will change something in language compilers build/design ? | 12:00 | |
FROGGS | colomon: ohh, it is not supposed to run these tests :/ | ||
12:00
jtpalmer joined,
raydiak__ joined
12:01
Pleiades` joined
|
|||
FROGGS | colomon: but now I know what to fix... thanks :o) | 12:01 | |
colomon | FROGGS: I'm not sure there is a way to tell panda not to run tests in t/ ... | ||
12:01
ashleyde1 joined,
Gruber joined
|
|||
FROGGS | colomon: I'll move these tests elsewhere | 12:01 | |
12:02
nebuchad` joined,
tadzik2 joined,
Rounin_ joined
12:03
gcifuent1s joined,
Khisanth joined
12:07
tadzik1 left,
gcifuentes left,
jtpalmer_ left,
raydiak_ left,
Alula_ left
|
|||
firefish5000_ | How do you write a multi method that differ only in the number of arguments? | 12:08 | |
Timbus | multi method foo($a) {...} multi method foo($a, $b) {...} | 12:09 | |
12:13
JimmyZ_ joined
|
|||
FROGGS | tadzik2: ping | 12:14 | |
12:15
JimmyZ__ joined
12:16
JimmyZ left
|
|||
firefish5000_ | Timbus: Thanks, that works ( I had confused myself by giving a default value, and thus making both accept one argument). | 12:16 | |
12:17
JimmyZ joined
|
|||
Timbus | i've done that | 12:17 | |
12:17
virtualsue joined
|
|||
Timbus | exciting new ways to shoot your foot | 12:18 | |
12:18
virtualsue left,
JimmyZ_ left
12:21
JimmyZ__ left,
JimmyZ_ joined,
BizarreCake joined
|
|||
moritz_ | multi dispatch is like any other programming paradigm: you need a bit of practise before it helps you | 12:21 | |
same with grammars :-) | |||
12:22
JimmyZ left,
JimmyZ_ is now known as JimmyZ
12:23
slicewinter joined,
tadzik3 joined
12:24
moritz_ is now known as moritz
|
|||
firefish5000_ | Oh, when it comes to grammars, is Class::Grammar and Class::Actions the standard herarcy(ignore spelling)? | 12:24 | |
moritz | yes | ||
timotimo | .o( but it's not that important to have that, just helps find stuff ) | 12:25 | |
12:27
JimmyZ_ joined
|
|||
timotimo | jnthn++ # nqp::objectid op working on parrot and moar | 12:28 | |
12:28
robinsmidsrod joined
12:29
tadzik2 left,
PZt left,
nebuchad` left,
robins left,
ivan`` left,
Pleiades` left
12:30
Pleiades` joined
|
|||
firefish5000_ | Is there a standard for what ::Actions does. for example, would returning nothing be bad practice? (just curious) | 12:30 | |
12:30
ivan`` joined
|
|||
moritz | firefish5000_: often action methods call make($something), which sets $/.made | 12:31 | |
firefish5000_: thus building up a tree inside/attached to the parse tree | |||
firefish5000_: for example in the json parser, the actions call make($perl6_object) to deserialize the json document | 12:32 | ||
12:32
aindilis` joined
|
|||
firefish5000_ | So if you (accidentally) put all the necessary code into the TOP method, you've gone too far. | 12:34 | |
timotimo | that's not a problem, just maybe not very extensible/refactorable/readable | ||
12:34
robins joined
|
|||
moritz | then you don't need an action method, and could go outside the whole parsing thing | 12:35 | |
12:35
zoosha joined,
gcifuentes joined
|
|||
timotimo | troo | 12:36 | |
the good thing about the action methods is that the grammar engine does the distinction between different things you've matched "for you" | |||
moritz | right, so you need far fewer branches inside the actions | 12:37 | |
timotimo | if you go even further and use proto + multi regexes/tokens/rules, you should be able to get some very cleanly separation-of-concerns'd code | 12:38 | |
12:39
akaseki is now known as Salai,
anaeem1 left
|
|||
moritz | masak: have you ever asked yourself if there's a duality between the $/.ast and the stash used in many web frameworks? | 12:39 | |
12:39
slicewinter left
|
|||
timotimo | "stash"? | 12:39 | |
12:40
JimmyZ left,
robinsmidsrod left,
gcifuent1s left,
raydiak__ left,
Bucciarati left,
zoosha_ left,
aindilis left,
Bucciarati joined
|
|||
moritz | timotimo: a data structure (usually a hash) where controllers can put data that the template/view can then use | 12:40 | |
timotimo | oh, of course | ||
jnthn | See also my grammar generative talk on bactions :) | ||
12:40
raydiak__ joined
|
|||
moritz must have missed that | 12:40 | ||
timotimo | oh! | 12:41 | |
that was a good talk | |||
12:42
d4l3k_ joined
|
|||
jnthn | moritz: jnthn.net/papers/2013-yapcna-gramma...nerate.pdf | 12:42 | |
12:43
firefish5000 joined
12:44
firefish5000_ left
12:45
kshannon_ joined,
itz_ joined
12:47
firefish5000 left
|
|||
masak | yeah, moritz will like the notion of co-grammars and bactions :) | 12:48 | |
12:48
firefish6000 joined
|
|||
jnthn | It's more co-parsing than co-grammars :P | 12:49 | |
jnthn does some co-hunger... & | |||
12:50
itz_ left,
kshannon left,
dalek left,
d4l3k_ is now known as dalek,
itz left
12:51
itz_ joined
12:53
firefish6000 is now known as firefish5000,
JimmyZ joined
12:56
JimmyZ_ left,
pochi joined
12:58
mls_ joined
12:59
cosimo joined
13:00
shlomif joined,
pochi_ left
|
|||
moritz | jnthn: have some co-burger :-) | 13:00 | |
13:00
mls left,
telex left,
cosimo_ left
|
|||
timotimo | did you see the recent video the miegakure devs published? | 13:01 | |
13:01
telex joined
|
|||
timotimo | it's kinda something that i'd think the perl6 crowd would enjoy playing when it's finished | 13:01 | |
moritz | there's a less-than obvious pun here: there's a town called "Coburg" not so far from here | ||
13:02
pecastro joined,
rindolf left
|
|||
timotimo | moritz: it'd be fantastic if coburg was the "partner city" of hamburg. but iiuc a partner city has to be in a different country | 13:02 | |
13:02
shlomif is now known as rindolf
|
|||
FROGGS | moritz: well, I got it :o) | 13:02 | |
13:02
gfldex_ joined,
nhayashi left,
mhasch left
|
|||
moritz | timotimo: there's an obvious solution to that problem :-) | 13:03 | |
let's make Bavaria an indepent nation, just so that Hamburg and Coburg can be partner cities, and we can complete our pun | 13:04 | ||
13:05
nhayashi joined
13:06
ilbot3 left,
pecastro_ left,
gfldex left,
spider-mario left,
spider-mario_ joined
13:07
ilbot3 joined,
spider-mario_ is now known as spider-mario
13:08
BooK left
13:09
gfldex_ left,
robins left,
Pleiades` left,
Khisanth left,
sivoais_ left,
[particle] left,
robinsmidsrod joined,
zoosha left
|
|||
timotimo | sounds great, we will get lots of support from the rest of the population | 13:09 | |
13:10
anaeem1_ joined,
sivoais joined
13:11
zoosha joined
|
|||
colomon | FROGGS: what is working in v5 these days? | 13:13 | |
FROGGS | colomon: quite some part of the syntax I'd say | 13:14 | |
13:14
Pleiades` joined
|
|||
colomon | I notice it's compling loads of modules to mbc during the build... | 13:14 | |
colomon has realized that lots of the p5 he uses for $work is relatively basic…. | 13:15 | ||
dalek | line-Perl5: cb9cb51 | nine++ | / (2 files): Fix refcounting in p5_call_p6_method Just calling the same callback twice revealed lots of missing refcounting code. |
13:16 | |
FROGGS | tadzik3: github.com/tadzik/panda/pull/97 | ||
colomon: most are stubbed | |||
13:16
gfldex_ joined
|
|||
colomon | ah | 13:16 | |
FROGGS | but it helps me to run the spectests | 13:17 | |
and find syntax issues | |||
13:17
BooK joined
13:18
nebuchadnezzar joined
|
|||
timotimo | oh? GLOBAL::<Build>:delete works? | 13:19 | |
FROGGS[mobile] | no idea | 13:22 | |
13:22
Khisanth joined
|
|||
FROGGS[mobile] | that's taken from Builder.pm | 13:23 | |
but I remember there was a ticket | |||
timotimo | i don't think it *should* work; aren't PseudoStashes immutable? | 13:24 | |
moritz | but I think GLOBAL:: is a real stash | 13:25 | |
13:28
mberends left,
[particle] joined
13:29
nebuchadnezzar left
13:31
nebuchadnezzar joined
13:34
coffeeyy_ joined
13:35
coffeeyy left
|
|||
timotimo | i'd be more comfortable merging a change to panda if it would got around the deletion of something in GLOBAL::. that seems really icky to me. | 13:35 | |
moritz | I think the icky thing is putting the Build sub into the global namespace in the first place | 13:36 | |
13:38
JimmyZ left
|
|||
timotimo | yes | 13:38 | |
13:39
yakudza joined
|
|||
timotimo | i'd prefer something like my $buildclass := { try require Build; Build } or something | 13:39 | |
13:39
huf left,
sjn left,
ponbiki joined
13:40
sjn joined,
ponbiki is now known as Guest11308
|
|||
FROGGS[mobile] | installers also do very weird stuff btw | 13:40 | |
timotimo | that sounds terrible! | ||
think of the children! | 13:41 | ||
13:41
mst joined
|
|||
FROGGS[mobile] | timotimo: you can test here if that works, or if that leaks symbols | 13:41 | |
13:41
tony-o joined,
BinGOs joined
13:42
Maddingue joined
|
|||
timotimo | m: say GLOBAL::; my $plansub := { try require Test <plan>; &plan }; say GLOBAL::; say $plansub; | 13:42 | |
camelia | rakudo-moar 9a6644: OUTPUT«===SORRY!=== Error while compiling /tmp/uhYcjkrBkbUndeclared routine: &plan used at line 1» | ||
timotimo | m: say GLOBAL::; my $plansub := { try require Test <&plan>; &plan }; say GLOBAL::; say $plansub; | ||
camelia | rakudo-moar 9a6644: OUTPUT«().hash().hash-> ($_? is parcel) { #`(Block|47558896) ... }» | ||
timotimo | m: say ::.keys; my $plansub := { try require Test <&plan>; &plan }; say ::.keys; say $plansub; | 13:43 | |
camelia | rakudo-moar 9a6644: OUTPUT«$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER-> ($_? is parcel) { #`(Block|73582960) ... }» | ||
timotimo | like that? | ||
13:45
jlaire joined,
nine joined
|
|||
FROGGS[mobile] | does that leak Test? | 13:45 | |
timotimo | it very much shouldn't | ||
13:45
nwc10 joined
|
|||
timotimo | Test shouldn't even be available inside that inner braces, right? | 13:45 | |
m: say ::.keys; my $plansub := { try require Test <&plan>; say Test.perl; &plan }; say ::.keys; say $plansub; | |||
camelia | rakudo-moar 9a6644: OUTPUT«===SORRY!=== Error while compiling /tmp/6UGVIserXyUndeclared name: Test used at line 1» | ||
timotimo | m: say ::.keys; my $plansub := { try require Test; &Test::plan }; say ::.keys; say $plansub; | 13:46 | |
camelia | rakudo-moar 9a6644: OUTPUT«$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER-> ($_? is parcel) { #`(Block|56484800) ... }» | ||
timotimo | m: say ::.keys; my $plansub := { try require Test; say ::.keys; &Test::plan }; say ::.keys; say $plansub; | ||
camelia | rakudo-moar 9a6644: OUTPUT«$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER-> ($_? is parcel) { #`(Block|77493280) ... }» | ||
13:46
JimmyZ_ joined,
JimmyZ_ is now known as JimmyZ
13:47
chenryn joined
|
|||
timotimo can't find Test in there | 13:47 | ||
FROGGS[mobile] | k | ||
timotimo | where does require install things? | ||
m: say GLOBAL::.keys; my $plansub := { try require Test; say GLOBAL::.keys; &Test::plan }; say GLOBAL::.keys; say $plansub; | 13:48 | ||
camelia | rakudo-moar 9a6644: OUTPUT«-> ($_? is parcel) { #`(Block|52059232) ... }» | ||
13:48
huf joined
|
|||
timotimo | ... isn't that too few newlines? | 13:48 | |
moritz | timotimo: require doesn't import anything into the lexpad | 13:49 | |
timotimo: it can't, because it runs at runtime, when the lexpad is immutable | |||
timotimo | it doesn't import stuff from inside the module, that much i understand perfectly | ||
but why doesn't "Test" appear in there at all when i just "require Test"? | |||
oh! | 13:50 | ||
i don't *execute* that piece of code | |||
silly me :D | |||
m: say GLOBAL::.keys; my $plansub := do { try require Test; say GLOBAL::.keys; &Test::plan }; say GLOBAL::.keys; say $plansub; | |||
camelia | rakudo-moar 9a6644: OUTPUT«TestTest(Any)» | ||
timotimo | this is not cool. | 13:51 | |
it puts Test into GLOBAL::? why? | |||
am i misunderstanding what GLOBAL:: is for? | |||
13:51
masak joined
|
|||
moritz | it's for our-scoped stuff that's not explicitly inside another namespace | 13:51 | |
and tthat's why Test goes there | |||
13:51
masak is now known as Guest83561
|
|||
timotimo | hm. | 13:52 | |
unfortunately i don't have something to test the following with on camelia: if i have use Test; in the outer scope and require Test inside there, would GLOBAL:: refer to the first Test first, then the second Test? | 13:53 | ||
13:54
felher joined
|
|||
timotimo | is the &Test::plan in my code example being done as a "by name" lookup at run time? | 13:54 | |
13:55
chenryn left
|
|||
FROGGS[mobile] | it will merge the globals, and noops if they are identical | 13:55 | |
timotimo | yes, it is. | ||
13:56
charsbar__ joined
13:57
jerrycheung left,
JimmyZ_ joined
|
|||
FROGGS[mobile] | which is slow of course (very slow) | 13:57 | |
fib(10) with indirect lookup took 15min last year | 13:59 | ||
timotimo | i'm not very good at importation except for using "use" ... | ||
13:59
JimmyZ left
14:00
JimmyZ_ is now known as JimmyZ,
PotatoGim^Home joined
14:01
chenryn joined
|
|||
timotimo | ah, i think the word i was looking for is "need" | 14:02 | |
yup. that's more like it. | 14:03 | ||
www.youtube.com/watch?v=9yW--eQaA2I ← this is the video of Miegakure i thought people would be interested in | 14:04 | ||
14:04
PotatoGim^Home left
14:05
PotatoGim^Home joined
|
|||
dalek | nda: 3ae47e9 | (Tobias Leich)++ | lib/Panda/Tester.pm: call Build.pm's test method if possible |
14:06 | |
nda: 6fc58fd | colomon++ | lib/Panda/Tester.pm: Merge pull request #97 from FROGGS/test call Build.pm's test method if possible |
|||
colomon | FROGGS++ | ||
dalek | line-Perl5: b181e59 | nine++ | / (3 files): Support returning values from Perl 6 callbacks to Perl 5 |
||
14:08
PotatoGim^Home left
14:09
PotatoGim^Home joined,
PotatoGim^Home left
|
|||
dalek | line-Perl5: f6ac9af | nine++ | / (2 files): Support passing Perl 5 objects back from Perl 6 to Perl 5 |
14:09 | |
14:10
PotatoGim^Home joined,
PotatoGim^Home left
14:11
PotatoGim^Home joined
14:13
Guest11308 is now known as ponpon
14:20
anaeem1_ left
14:25
colomon left
14:28
chenryn left
14:29
chenryn joined
|
|||
BizarreCake | Is an int array implicitly castable to an Int array? | 14:30 | |
Guest83561 | good question. | 14:37 | |
14:38
Guest83561 is now known as masak_grr
|
|||
[Coke] | m: ::!??YOUR_MOM!! # missed dozens opp. from backscroll | 14:40 | |
camelia | rakudo-moar 9a6644: OUTPUT«===SORRY!=== Error while compiling /tmp/0gNqiuWPGqCannot negate ??YOUR_MOM!! because it is not iffy enoughat /tmp/0gNqiuWPGq:1------> ::!??YOUR_MOM!!⏏ # missed dozens opp. from backscroll» | ||
jdv79_ | are the smoke tests still running? | ||
14:40
jdv79_ is now known as jdv79
14:41
virtualsue joined
|
|||
masak_grr | m: ::!??IT_IS_NOT_IFFY_ENOUGH!! # iffy enough for you, Perl 6? | 14:41 | |
camelia | rakudo-moar 9a6644: OUTPUT«===SORRY!=== Error while compiling /tmp/9zY9YKEUwJCannot negate ??IT_IS_NOT_IFFY_ENOUGH!! because it is not iffy enoughat /tmp/9zY9YKEUwJ:1------> ::!??IT_IS_NOT_IFFY_ENOUGH!!⏏ # iffy enough for you, Perl 6?» | ||
[Coke] | (backscroll) I think if any sixers start saying that five is dead, we will look back to our existing marketing with nostalgia. | ||
masak_grr | heh. | 14:42 | |
jnthn | I don't think we should be saying such things. :) | ||
masak_grr .oO( why must it be so hard to just peacefully co-exist and kill Perl 5 dead? ) :P | |||
jnthn | Not for the foreseeable future. | ||
Yes, we should certianly be proud of the stuff we have, but realistic about the current market share. :) | 14:43 | ||
masak_grr | I don't give a fig's pineapple if some people continue to use Perl 5, and do so in apparent contentment. I don't care if they do it 10 years down the line. | 14:44 | |
I *do* care whether an unbiased observer is able to look at the two, and go "all other things being equal, Perl 6 wins hands down". | |||
jnthn wants a picture of a fig being like "this is my pineapple" now :P | |||
huf | because of the language conflict. it's the basis of our history and society :) | ||
jdv79 | be neat if perl 6 was used for new stuff instead of perl 5 - good new on that front - new perl5 projects are dwindling. | 14:45 | |
*news | |||
14:46
kst` joined,
JimmyZ_ joined
14:47
pnu_ joined
|
|||
nine | Perl 5 is alive and it will stay that way. As part of Perl 6. | 14:47 | |
jdv79 | i work at a mostly p5 shop and we're looking to "diversify" because its hard to find p5 people. | ||
masak_grr | jdv79: where're you based? | 14:48 | |
jdv79 | hearst magazines in nyc | ||
14:48
mr-fooba_ joined
|
|||
jdv79 | i think its partly mgmt's fault at $work but i think the general sentiment of p5 in decline in general is proably true. | 14:49 | |
14:49
SamuraiJack left,
cxreg2 joined,
mathw_ joined,
anocelot_ joined
14:50
Shozan joined,
integral_ joined,
integral_ left,
integral_ joined,
virtualsue left,
brother| joined
|
|||
nine | jdv79: we gave up hiring Perl people. We just hire good software engineers and let them learn Perl during their first week. After that the language is rarely an issue. Learning the bits and pieces of our huge application is. | 14:50 | |
14:50
petercom1and joined
|
|||
nine | A good developer can be good in any language. | 14:51 | |
14:51
petercommand left,
petercom1and is now known as petercommand
14:52
chenryn left
|
|||
jdv79 | yeah, that's what i suggested to mgmt multiple times. | 14:52 | |
14:52
sorear joined
14:53
dylanwh_ joined,
tokuhirom_ joined
|
|||
jdv79 | a major part of "mgmt's fault" | 14:53 | |
14:53
chenryn joined
|
|||
jdv79 | well, i don't think i would be good in haskell or lisp or prolog | 14:53 | |
14:53
telex left
14:54
eviltwin_b joined
|
|||
jdv79 | so i don't agree that a "good" dev can good in any lang. maybe a great dev. | 14:54 | |
nine | jdv79: you sure? It may take some more time than with other languages, but I'd guess that they are learnable. | ||
14:54
anocelot left,
PotatoGim^Home left,
JimmyZ left,
SHODAN left,
oetiker left,
hoelzro left,
bcode left,
apejens_ left,
simcop2387 left,
cxreg left,
brother left,
mathw left,
btyler_ left,
dylanwh_ is now known as dylanwh,
tokuhirom_ is now known as tokuhirom,
telex joined,
pnu_ is now known as pnu,
eviltwin_b is now known as geekosaur
|
|||
jdv79 | i'm not saying that i couldn't get proficient. but not in an economical amount of time. | 14:54 | |
14:54
isacloud____ joined
14:55
Exodist joined,
PotatoGim^Home joined
|
|||
jdv79 | so in context, yes a good dev should be able to pick up p5 fast enough but the more general statement you made is probably not true in this context | 14:55 | |
14:55
oetiker joined
|
|||
jdv79 | too many contexts;) | 14:55 | |
nine | Ok, I can live with that ;) | ||
14:55
rurban joined
14:56
btyler joined,
bcode joined
14:57
hoelzro joined,
JimmyZ_ left,
xenoterracide joined
14:58
chamelia joined
15:00
chamelia left
15:01
simcop2387 joined
|
|||
[Coke] | nine: we do the same thing here; hire good devs, give them time on the job to pick up the language we use. | 15:04 | |
15:07
gcifuentes left
|
|||
[Coke] | rant: old tickets with "maybe" or "either std or rakudo is wrong" | 15:08 | |
nine | We'd probably have to do that even if we were a Ruby or Python shop. And I don't _want_ to hire PHP code producers :) | ||
[Coke] | (not that there's a better way to deal with them) | ||
.seen pmichaud | 15:09 | ||
yoleaux | I saw pmichaud 19 Aug 2014 17:13Z in #perl6: <pmichaud> lists.alioth.debian.org/pipermail/p...00432.html | ||
masak_grr | [Coke]: if I'm to blame for "either std or rakudo is wrong" tickets, send them to me and I'll take action on them. | 15:10 | |
I'm pretty sure I don't file "maybe" tickets :) | |||
15:10
masak_grr is now known as masak
|
|||
[Coke] | masak: RT #77334 | 15:11 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77334 | ||
masak looks | |||
[Coke] | that maybe ticket is from 4 years ago. | ||
masak | oh, we talked about that one the other day. | ||
the question we should ask on that one is "what use case are we making impossible by having `for` loops decontainerize?" | 15:12 | ||
actually, two more questions. | 15:13 | ||
"which way is least surprize?" (pretty sure it's doing the decont) | |||
"which way shoots us in the fewest amount of feet wrt performance?" (pretty sure it's the decont) | 15:14 | ||
15:14
apejens joined
|
|||
masak | in other words, if we can't think of a use case for Q1, then there's no "maybe" there. | 15:14 | |
[Coke]: good enough? :) | |||
masak adds this to the ticket | 15:15 | ||
[Coke] | please update the subject to indicate the choice. | ||
nwc10 | jnthn: trying to build Rakudo on Power, it bombs out with: | ||
Error while compiling op p6bool (source text: "nqp::p6bool(1)"): Cannot find method 'mast_compunit' at gen/moar/stage2/QAST.nqp:4600 (/home/nick/Sandpit/moar-g/languages/nqp/lib/QAST.moarvm:as_mast:72) | |||
masak | [Coke]: well, we haven't quite failed to think of a use case yet... | 15:16 | |
nwc10 | I have no good idea why. For one of the two files that fails, this is the 273505th call that enters the if(cache && IS_CONCRETE(cache)) block in MVM_6model_find_method | ||
all NQP tests other than nativecall pass. | 15:17 | ||
mast_compunit is a method created in NQP. I keep wondering if that's something to do with it. | |||
[Coke] | so it is still a maybe? arglebargle. | ||
nwc10 | But I have no clue on where to start chasing it. So for now I'm stalled. | ||
[Coke] | where are tests for Test.pm kept? | ||
nwc10 | (ie no idea if it's alignment related, big endian related, or somethign else. It's not "signed vs unsigned" chars.) | 15:18 | |
jnthn | nwc10: Tried disabling spesh to make sure it's not another bug in there? | ||
masak | m: sub foo { my $s; (+($s += $_) for 1..3) }; say foo() # [Coke]: here's the result if we decont. | ||
camelia | rakudo-moar 9a6644: OUTPUT«1 3 6» | ||
masak | [Coke]: do you agree that it's a less surprising result? | ||
jnthn | 6 6 6 would be a beastly result... :P | 15:19 | |
nwc10 | jnthn: I believe that I'd done that. Will retry | ||
[Coke] | masak: surprising or no, I want tickets of the form "this code generates result A when it should generate result B". not "we're not sure what's the right answer here..." | 15:20 | |
because that kind of ticket stays open for 4 years. | |||
masak | *nod* | ||
ok, I'll remove the "maybe", simply because I haven't seen and can't think of a use case that's more important than not letting [Coke] down. | 15:22 | ||
15:22
chenryn left
15:23
chenryn joined
|
|||
masak | anyone from the future who knows of such a use case, take note: I consider uprooting my decision to be valid to the extent there's a use case to motivate it. | 15:23 | |
15:25
colomon joined
|
|||
masak | that may include but is not limited to someone who tries to implement this and notices that the correct implementation fails some (hard to dispute) previously passing spectest. | 15:26 | |
firefish5000 | anyone know how to change panda's default home install directory on system installations? curently my @*INC has 'inst:/home/user/.perl6/2014.08-158-g9a66444'. which is changes on every upgrade. | 15:27 | |
15:28
chenryn left
|
|||
masak | n: sub foo { my $s; ($s += $_ for 1..3) }; say foo() | 15:28 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in numeric context at /home/p6eval/niecza/lib/CORE.setting line 1389 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 301 (Any.Numeric @ 8)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/lyAl7MmdzM l…» | ||
masak | n: sub foo { my $s = 0; ($s += $_ for 1..3) }; say foo() | 15:29 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«1 3 6» | ||
masak | this is a data point, too. Niecza decontainerizes. | ||
pugs: sub foo { my $s = 0; ($s += $_ for 1..3) }; say foo() | |||
camelia | pugs: OUTPUT«***  Unexpected "for" expecting operator or ")" at /tmp/ffUqX6tAIC line 1, column 32» | ||
masak | hehe. | ||
pugs: sub foo { my $s = 0; for 1..3 { $s += $_ } }; say foo() | 15:30 | ||
camelia | pugs: OUTPUT«» | ||
masak | oh, Pugs. | ||
masak hugs Pugs | |||
[Coke] | anyone else use t/fudgeandrun? | ||
trying to figure out where Test::Util is included. | 15:31 | ||
15:32
xenoterracide left
|
|||
colomon | FROGGS++: just installed v5 succesfully with panda. | 15:35 | |
15:37
kyun joined
15:38
JL235__ joined
15:40
kyun is now known as kyunsiu
15:41
raiph joined
15:42
chenryn joined
15:43
guru joined,
guru is now known as ajr_
15:47
chenryn left,
raiph left,
chenryn joined
|
|||
pmichaud | good morning, #perl6 | 15:51 | |
TimToady | good morning indeed :) | 15:52 | |
kyunsiu | good night…… | ||
masak | pmichaud! \o/ | 15:53 | |
pmichaud: I meant to ask you something... hold on. | |||
pmichaud | I'm just looking at the discussion in #77334 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77334 | ||
masak | oh right. | 15:54 | |
pmichaud: irclog.perlgeek.de/perl6/2014-08-27#i_9250186 | |||
pmichaud: could you provide some background about *..* being illegal? | |||
somehow I'm missing all traces of that decision in spec/implementations/backlogs. | |||
pmichaud | let me see if I can reconstruct it | 15:55 | |
masak | yay | ||
pmichaud | it may take a bit | 15:56 | |
grondilu | Configuring native build environment ................... JIT isn't supported on i586-linux-gnu-thread-multi-64int yet. | ||
:/ | |||
masak | pmichaud: no worries. | 15:57 | |
16:01
jeffreykegler joined
|
|||
jeffreykegler | re Marpa and the BNF for Perl 6: | 16:01 | |
our volunteer from the Marpa side (Jean-Damien) has hoped to work up the BNF after finishing another projects, but this is taking longer than he thought. | 16:02 | ||
Just thought I'd let the backlog know there'll be delay. | |||
TimToady | well, we've been working on our end of it for 14 years now :) | 16:03 | |
16:03
molaf joined
|
|||
moritz | grondilu: you could try to patch Configure.pl and see if it works after all, if you force it | 16:03 | |
TimToady | but thanks for the headsup | ||
jeffreykegler | TimToady: I have another unrelated question re LALR | ||
colomon thought he'd done something BNF-y a while back | |||
jeffreykegler | Why the switch in parsing strategies from Perl 5 to Perl 6 | 16:04 | |
moritz | grondilu: it might (or might not) just be a limit in the platform recognition code | ||
TimToady | colomon: wanna help someone write a BNF for p6? | ||
masak tends to think of Perl 6 grammars as "a better BNF" these days | |||
jeffreykegler | I can imagine why, but I think it'd be nice to have your reasons for the historical record | ||
If you guys want to do a Perl 6 BNF, I think it's something you'd find nice to have, and not just as a starting point for Marpa | 16:05 | ||
hoelzro | morning #perl6 | ||
colomon | TimToady: I'd like to figure out what I've already done first. ;) | ||
carlin | is there a way to make the perl6 script keep going if a C function called with NativeCall exit()s? | ||
jeffreykegler | It's good for reference -- when encountering a new language, it's the first thing I read, just to get oriented. | 16:06 | |
moritz | carlin: I'm not aware of any | ||
TimToady | thing is, the grammar mutates as declaration happens, so about the best we can do is say this is what Perl 6 looks like at the top of your program, if you don't get too fancy | ||
moritz | carlin: will, forking first, maybe | ||
FROGGS | colomon: nice! :d | ||
ERR, :D | |||
dang capslock | |||
moritz | m: say uc 'dang capslock' # FTFY | 16:07 | |
camelia | rakudo-moar 9a6644: OUTPUT«DANG CAPSLOCK» | ||
carlin | moritz: okay thanks, I'll try that | ||
FROGGS | colomon: btw, I have a commit bit for panda too, but I wanted to get tadzik++'s approval | ||
colomon | FROGGS: ah, well, I kind of wanted it ASAP. ;) | 16:08 | |
TimToady | jeffreykegler: I'm pretty sure I've scattered the reasoning over the historical record already, but "scattered" is the operative word there :) | ||
moritz | star: use NativeCall; sub fork(--> Int) is native() {}; fork(); say 42 | ||
camelia | star-{m,p} 2014.04: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileNone of the parametric role variants for 'Native' matched the arguments supplied.Cannot call ''; none of these signatures match::(Mu ::$?CLASS ::::?CLASS, Routine $r, Str $libname)…» | ||
16:08
chenryn left
|
|||
moritz | star: use NativeCall; sub fork(--> Int) is native('') {}; fork(); say 42 | 16:08 | |
camelia | star-m 2014.04: OUTPUT«Cannot locate native library '.so' in method postcircumfix:<( )> at /home/p6eval/star-2014.04/languages/perl6/lib/NativeCall.pm6:127 in block at /tmp/tmpfile:1» | ||
..star-p 2014.04: OUTPUT«Cannot locate native library '.so' in method postcircumfix:<( )> at /home/p6eval/star-2014.04/lib/parrot/6.1.0/languages/perl6/lib/NativeCall.pm6:131 in any at gen/parrot/BOOTSTRAP.nqp:1693 in block at /tmp/tmpfile:1» | |||
colomon | FROGGS: and it's version control, tadzik++ can always revert it if he hates it. | ||
jeffreykegler | TimToady: I've searched and found nothing. | ||
FROGGS | star: use NativeCall; sub fork(--> Int) is native {}; fork(); say 42 | ||
camelia | star-m 2014.04: OUTPUT«42» | ||
..star-p 2014.04: OUTPUT«4242» | |||
jeffreykegler | It may be that I'm not scattered enough :-) | 16:09 | |
moritz | FROGGS++ | ||
FROGGS | cake & | ||
masak | LHF for someone: perl6.org/compilers/features lists Niecza/goto as not implemented. it is, at least partially. | ||
jeffreykegler | I'm particular interested in the negative side -- not the attractions of the new approach, but what (if anything) made you decide you had to give up on yacc. | ||
TimToady | but in short, LALR is very fast but stupid, and doesn't really know enough to give you a good error message in context, so mostly you get "Syntax error". | 16:10 | |
jeffreykegler | That's what I thought would be the reasons | 16:11 | |
grondilu | moritz: I can try but I don't have much hope. I can see the current accepted arch are all 64 bits. | ||
TimToady | LALR was an optimization for slow computers, and computers are getting faster--admittedly there will always be reasons for fast parsers, but unless you're compiling millions of lines of code, that's not so important anymore. | ||
16:11
kjs_ joined
|
|||
TimToady | LALR kinda forces you to write a lexer, and we wanted the lexer to write itself. | 16:11 | |
LALR doesn't like to switch languages in midstream, since it puts you into a superposition of states some of the time. | 16:12 | ||
nwc10 | jnthn: progress. Some combination of things, including possibly PEBKAC. Have yet to identify actual cause | ||
TimToady | but mostly, we didn't want to have to do all the workarounds we did in Perl 5 to get around yacc's limitations | ||
masak | TimToady: we tend to say that Perl 6 grammars induce a lexer. how feasible would it be (for whatever purpose) to actually derive an actual lexer from a given grammar? | 16:13 | |
TimToady | it would be useful to have something like LALR as an optimization tool for P6 regex, but we want to get the semantics useful first from a regex viewpoint | ||
16:14
chenryn joined
|
|||
TimToady | useful in the Perlian sense of practical | 16:14 | |
Rounin_ | I'm very impressed with error messages in Eclipse... if I suddenly throw an exception to do some debugging, it immediately complains about unreachable code | ||
hoelzro | does anyone have any insights into improving Stringification for Regex's? | ||
Rounin_ | So now I've started doing if(3+3==6) .... | ||
Hahaa, Eclipse! | |||
TimToady | and why P5 does all this impure stuff in regex that works in practice but not so much in theory :) | ||
hoelzro | I was thinking about it last night, and I'd like to take a shot at making it better | ||
Rounin_ | Let's see it beat The Halting Problem | ||
jeffreykegler | Btw, correct me if I'm wrong, but I believe Perl 5 was the most ambitious use of yacc ever -- most complex grammar. | 16:15 | |
TimToady | but the biggie, we wanted to parse P6 with P6 "regex". | ||
masak | also, suggestion: break up "NFG as default, StrPos/StrLen" in perl6.org/compilers/features as two table rows "NFG as default", "StrPos/StrLen". one could be implemented wihtout the other. | ||
jeffreykegler | Which makes it a kind of high water mark in the history of LALR | ||
grondilu is recompiling, forcing JIT support on his 32 bit system. | |||
TimToady | and we wanted P6 to be extensible in a way that a 100-year language has to be | ||
masak | Rounin_: Java has always had a thing about dead code. | 16:16 | |
Rounin_ | Yeah, hehe... You have a switch statement that returns something, and you have to put a "return null" at the end to get it to compile ;) | ||
jeffreykegler | Which is why I think of this as historically significant in parsing theory, and not just a matter of Perl history | ||
masak | Rounin_: it was the first thing that made me wonder if there shouldn't be a distinction between showstopper errors that really should prevent me from running my program, and merely highlight-worthy things that I might want to fix before committing. | 16:17 | |
Rounin_: I'd still like to see a language make that distinction in depth. | |||
TimToady | well, smushing together regex and parsers is what we felt we had to do to get those results | ||
also a strict observance of one-pass parsing | |||
Rounin_ | Mm... Like something in between compiler warnings and errors or something? | 16:18 | |
masak | TimToady: and an almost fanatical devotion to the pope. | ||
TimToady | no accidental genericity of language (intentional genericity is okay, in moderation) | ||
grondilu got a segmentation fault. Not too surprising. Reverting to default. | |||
jeffreykegler | TimToady: "accidental generacity" -- does that mean parsing more than you intended, a la LALR and Pegex. | 16:19 | |
16:19
mst left,
mst joined
|
|||
TimToady | that means parsing the same thing twice as two different languages, which means you don't actually know what language you're programming in | 16:20 | |
see, for example, source filters in P5 | |||
masak | Rounin_: yes, something like that. I tend to think of it as "the small loop" (think-write-run-think-write-run) and "the bigger loop" (change-commit-change-commit). some errors should prevent the "commit" step from happening, but not the "run" step. | 16:21 | |
FROGGS .oO( "use Switch" - A Success Story ) | |||
TimToady | they don't layer because each of them thinks "this is Perl 5 code", and all but one of the layers is wrong about that | ||
masak | Rounin_: I guess in that sense they are "between" errors and warnings, because probably warnings shouldn't prevent any of the steps. | ||
TimToady | so we wanted composable language mutation | ||
FROGGS | composable++ | ||
masak | Rounin_: let's call them "orange errors", because run-preventing errors tend to be red, and warnings tend to be yellow. :) | ||
TimToady | same reasoning as moving from text macros to hygienic macros, writ large | ||
masak | or even AST macros. :) | 16:22 | |
(which may or may not opt for hygiene) | |||
TimToady | yes, AST is kind of a metalanguage for talking about language differences | 16:23 | |
pmichaud | masak: aha. The reference to *..* being illegal was in S03, not S02. | ||
TimToady | or, perhaps, a common language for a variety of surface languages | ||
pmichaud | link coming up | ||
16:23
jeffreykegler left
|
|||
pmichaud | masak: in fact, it's still there. | 16:24 | |
masak | ooh | ||
pmichaud | S03:3541 | ||
synopsebot | Link: perlcabal.org/syn/S03.html#line_3541 | ||
16:24
jeffreykegler joined
|
|||
masak | found it. | 16:24 | |
masak blames the line | |||
from Sep 2009. lwall. | 16:25 | ||
pmichaud | Probably because with *..* you don't know what type the range is. | ||
(and it's not entirely correct to assume numeric) | 16:26 | ||
FROGGS | m: say Date ~~ * | ||
camelia | rakudo-moar 9a6644: OUTPUT«True» | ||
masak | with all due respect, I call bullshit. | ||
16:26
gfldex_ is now known as gfldex
|
|||
FROGGS | everything should match against *..* | 16:26 | |
masak | with Inf and -Int, you don't know what type you're matching either. | ||
FROGGS | and result to True | ||
masak | er, -Inf | ||
FROGGS | masak: that bloody typo! :P | ||
pmichaud | It's possible that the -Inf meaning came later | 16:27 | |
colomon | pmichaud: I think that's true with -Inf..Inf as well, which is allowed though that may be non-spec | ||
masak | FROGGS: actually, the reverse of what I made in 2011 ;) | ||
pmichaud | at any rate, the source of *my* change has been found. :) | ||
masak | pmichaud++ | ||
pmichaud | apologies for the typo in the commit message. | ||
jeffreykegler | OK, that explains some things you said to me earlier when we talked about multiple parsing phases. | ||
pmichaud | (four years ago) | ||
masak | no worries. | ||
TimToady: permission to unspec *..* being illegal in S03? :) | |||
masak salutes, just in case | 16:28 | ||
FROGGS | -Inf..Inf sounds pretty Numeric to me fwiw... but cannot explain | ||
pmichaud | masak: you want it to be equivalent to -Inf .. Inf ? | ||
masak | yes. | ||
16:28
brrt joined
|
|||
pmichaud | m: say 'a' ~~ (-Inf .. Inf) | 16:28 | |
camelia | rakudo-moar 9a6644: OUTPUT«True» | ||
masak | FROGGS: it's OK if people assume it's numeric only. | ||
FROGGS: it will still work for Strs and Dates. | 16:29 | ||
TimToady | what do you return for the .min and .max, such that it works with before/after? | ||
moritz | m: say 'X' ~~ (-Inf .. Inf) | ||
camelia | rakudo-moar 9a6644: OUTPUT«True» | ||
jeffreykegler | "Accidental genericity" seems to be from linguistics. | ||
pmichaud | m: say (-Inf .. Inf).min | ||
camelia | rakudo-moar 9a6644: OUTPUT«-Inf» | ||
pmichaud | m: say (-Inf .. Inf).max | ||
camelia | rakudo-moar 9a6644: OUTPUT«Inf» | ||
masak | TimToady: I'm fine with it converting to -Inf..Inf under the hood, if that's necessary. | ||
TimToady: what does 0..* currently do in that regard? | |||
FROGGS | masak: yeah, I think that is not too far off | ||
pmichaud | well, that's what * .. and .. * currently do, iirc | ||
masak | m: say (0..*).max | ||
TimToady | jeffreykegler: it's not an either/or thing; I'd say that phrase is more of a hodgepodge of linguistics and CS | ||
camelia | rakudo-moar 9a6644: OUTPUT«Inf» | ||
pmichaud | they convert to -Inf and Inf | ||
colomon | m: say 'a' before Inf | 16:30 | |
camelia | rakudo-moar 9a6644: OUTPUT«True» | ||
masak | right. | ||
ok, I feel I have enough consensus for my silly crusade. | |||
TimToady | but the spec thinks Inf is larger than anything in any type | ||
masak goes ahead and makes the changes | |||
TimToady | and rakudo has mixed emotions about that | ||
pmichaud | masak: what's the use case for *..*, ooc? | 16:31 | |
masak | TimToady: yes, but a loose consensus there seems to be that the spec is "right", and it's all just a SMOP. | ||
TimToady | the only use case is something that *must* be a Range, and wants to match everything | ||
masak | pmichaud: lack of surprising corner cases when synthesizing ranges from parts. | ||
TimToady | but it's absolutely not needed for smartmatching | ||
since either True or * match everything already | |||
pmichaud | masak: we're synthesizing ranges using Whatever ? | ||
colomon | and you could always just type -Inf..Inf | 16:32 | |
masak | sure, why not? | ||
oh, here's another one. | |||
someone has a big nice vertical lineup of ranges. | |||
TimToady | m: say 'b' ~~ 'a' .. Inf; | ||
camelia | rakudo-moar 9a6644: OUTPUT«True» | ||
masak | some of the ranges have whatever endpoints. | ||
everything works, except *..*, where one has to break the symmetry and go * | |||
TimToady | m: say 'b' ~~ -Inf .. Inf; | ||
camelia | rakudo-moar 9a6644: OUTPUT«True» | ||
masak | someone becomes sad over this, and curses Perl 6 for its fickleness. | 16:33 | |
pmichaud | I have no problem with allowing *..*, but I'd really like to make sure we know the reason it was disallowed in the first place | ||
rather than just say "oh, we don't remember why, let's change it." | |||
colomon | blame on S03? | ||
16:33
PotatoGim^Home left
|
|||
masak | I read through 566592f, and it doesn't really provide an explanation. | 16:34 | |
16:34
PotatoGim^Home joined
|
|||
masak | - *..* # "-Inf .. +Inf", really Ordered | 16:34 | |
+ *..* # Illegal | |||
there's no hint in the (rather verbose) commit message. | |||
pmichaud | well, that commit was a major refactor of ranges and sequences, iirc | ||
masak | aye. | ||
16:35
domidumont joined
|
|||
masak | "Range objects are now primarily intervals in C<cmp>" -- maybe this is the reason? | 16:35 | |
m: say 42 cmp * | |||
camelia | rakudo-moar 9a6644: OUTPUT«WhateverCode.new()» | ||
jeffreykegler | I'll think this issue out a bit, but I think "accidental genercity" becomes much less of a threat if you are doing fully general BNF parsing. | ||
It becomes much easier to control and contain the sources of "accidents" | |||
16:36
Alula_ joined
|
|||
TimToady | the thinking goes like: "*..* is useless for iterating, it's useless for smartmatching, it has an indeterminated type that is better matched by a role." | 16:36 | |
composability is the only reason for it, and Inf is a better candidate for that | 16:37 | ||
pmichaud | I'm not sure that "useless" implies "should be illegal", though. | ||
masak | +1 | ||
TimToady | and * is a little too magical to be used as a composable object | ||
masak | this is the same kind of thinking that led us down the "Duration should disallow infix:<**>" path. | ||
pmichaud is unfamiliar with that path. | |||
masak | moritz wrote a blog post, I think. | 16:38 | |
*moritz++ | |||
pmichaud | anyway, I'm glad I was able to pinpoint the source of the change :) | ||
masak | or maybe I did. I keep mixing the two of us up. | ||
FROGGS | O.o | 16:39 | |
masak | perlgeek.de/blog-en/perl-6/real-wor...-back.html | ||
found it :) | |||
pmichaud reads | |||
masak | please read that one, and think on how that one applies to this situation ;) | ||
TimToady feels this discussion is largely a waste of time, and DOESTN'T ACTUALLY CARE what you do with *..* really, since it was put in there so that implementors wouldn't have to think about it | |||
TimToady is much more concerned with the fact that 'use fatal' is currently dynamic than lexical | 16:40 | ||
or that .plan hangs if you subscript it | |||
pmichaud | well, removing the *..* illegality actually simplifies the range code, I think. :-) | ||
TimToady | or that he doesn't understand the reify/REIFY dance much at all yet | ||
masak | TimToady: sorry -- didn't mean to steal cycles better spent elsewhere. | 16:41 | |
I'll just shut up and make the change now, so we can all move on in life. | |||
TimToady | I have no objection to changing *..* back, if it's easy and has decent semantics | ||
pmichaud | (real world strikes back)++ # I've always detested restrictions on date/time operations | ||
if I want to say "January 34th, 2011", it should just work. | |||
nwc10 | $ ./perl6-m -e 'say $*DISTRO' | ||
linux (2.6.32.279.19.1.el.6.ppc.64) | |||
TimToady | a lot of the spec changes at that time were based on perceptions of implementability | 16:42 | |
pmichaud | s/at that time were/are/ # :-) | ||
TimToady | jeffreykegler: yes, BNF basically has no concept of grammar mutation, so it comes down to switching to a different BNF within a scope, which degenerates to making sure all the superposed states of the subsidiary grammar all end in agreement at the same block terminator (however you define 'block') | 16:43 | |
16:44
colomon left,
rindolf left
|
|||
TimToady | which is certainly doable, if the terminator is not too squishy | 16:44 | |
16:44
rindolf joined
|
|||
TimToady | in P6 we tend to force the issue on any ), ], or }, which are always considered terminators | 16:45 | |
nwc10 | jnthn: some combination of PEBKAC (ie actually install the fixed NQP), -fsigned-char, MVM_SPESH_DISABLE and building with -g. And a couple of spectests fail with SEGVs | ||
TimToady | but the subgrammar is often also checking for a specific GOAL token, if that is not one of the above | ||
nwc10 | jnthn: but reducing the above to the true cause is now a tractable optimisation problem. | 16:46 | |
Win! | |||
masak | ah. I didn't blog about the Duration thing. I just (surprise!) kvetched about it online: irclog.perlgeek.de/perl6/2010-11-07#i_2973261 | 16:47 | |
TimToady | and when goals overlap with other longer tokens, you have a potential genericity problem, so we try to avoid that | ||
jeffreykegler | OK. I think I see. The concern arises in a state-driven, deterministic context. | ||
masak | "no offense, but what you just said is so short-sighted it sounds like it came from a Python person." -- man, this guy is cynical :P | 16:48 | |
hoelzro | how does one create new tags on RT? | ||
pmichaud | masak: :-) | ||
hoelzro | I'd like to start tagging POD-related issues as such | ||
pmichaud | ...one of my rants about RT vs. git issues :) | 16:49 | |
"hard to create custom tags" | |||
hoelzro: the standard mechanism we've often used is to put "[POD]" in the ticket title | |||
jeffreykegler | In general BNF terms, you just have the possible rules at any moment, and they act as a kind of non-deterministic state -- though the issue does re-arise in the form of "What rule(s) am I looking for right now?" | 16:50 | |
hoelzro | pmichaud: ah, that's a good idea! | ||
TimToady | basically, deterministic parsing is great at splitting into states, but lousy at making the arbitrary decisions necessary to bring things back together at the end of a construct, especially when language semantics and pragmatics start to come into play | ||
therre's also some kind of sentiment in p6 that, if something is hard for a parser to do, it'll be hard for mere mortals to understand as well | 16:51 | ||
jeffreykegler | In Marpa, I use more power to transcend these issues, but they re-arise in the form of "OK, but how do you do this efficiently?" | 16:52 | |
TimToady | which is why we go with simple operator precedence most of the teim | ||
*time | |||
pmichaud | lunchtime -- bbl | ||
TimToady | despite the existence of parsers that can look at a series of intermixed terms and ops | ||
jeffreykegler | Which parsers are those? | 16:53 | |
TimToady doesn't remember, because he wasn't terribly interested in them :) | |||
16:53
mberends joined
|
|||
jeffreykegler suspect that in that case they wouldn't terribly interest him either. | 16:54 | ||
16:54
mberends left,
erdic left
|
|||
TimToady | but it's sort of a principle that the smarter the computer is acting, the smarter the user has to be to understand what the computer is doing well enough to program it | 16:55 | |
maintaining lots of state while parsing is just an application of that principle | |||
16:55
mberends joined
|
|||
TimToady | humans solve it by backtracking occasionally | 16:55 | |
jeffreykegler | I think a lot of what is "complex" or "smart" depends on the abstraction. | 16:56 | |
16:56
erdic joined
|
|||
jeffreykegler | That is regular expressions are a fairly natural boundary, so even if they are more complex than something else mathematically ... | 16:57 | |
TimToady | despite having trillions of synapses, we generally guess which state we're going to reduce to on the fly, and throw the others away | ||
jeffreykegler | If it's a regex it's easier on the mind because it's a natural boundard. | ||
TimToady | yes, we're trying to hit a sweet spot between declarative and procedural | ||
jeffreykegler | General BNF is another natural boundary. | ||
LALR is cleary not a natural boundary | |||
16:58
brrt left
|
|||
dalek | ecs: cba89c2 | masak++ | S03-operators.pod: [S03] re-allow whatever star on both sides of a range See irclog.perlgeek.de/perl6/2014-08-30#i_9271208 (until about 16:41 UTC) for the relevant discussion around the change. |
16:58 | |
jeffreykegler | So I think of it in terms of good boundaries and staying close to them. | ||
TimToady is not sure about BNF; psychologically we tend to do frame shifting in different linguistic settings (to the extent that kid who speaks language A at home and language B at school can't even speak A at school or B at home. | 16:59 | ||
otoh, we have polyglot cultures that just freely intermix on the fly | |||
so I can argue that one both ways, linguistically speaking | 17:00 | ||
jeffreykegler | Do you think any of the more powerful deterministic classes LL(*), etc. are more natural? | ||
17:00
chenryn left
|
|||
TimToady is not really a theorist on that level :) | 17:00 | ||
one of the motivations for installing EXPR (the op prec parser) as the glue in the layer cake was to prevent having to think about left recursion much | 17:01 | ||
17:01
PotatoGim^Home left
|
|||
jeffreykegler | I'm just trying to think of Perl 6 parsing in terms of a language class. | 17:02 | |
TimToady | sort of one of those spots where you're in a superposition of states that mere mortals don't like | ||
jeffreykegler | And it seems sort of LL(something) | ||
TimToady | well, it's probably just simple LL with pragmatic kludges :) | 17:03 | |
the STD parse at one point at least noticed if the declarative prefix went recursive | 17:04 | ||
jeffreykegler | The advantage of staying deterministic is that you have more guarantees of keeping the efficiency under control. | ||
TimToady | dunno if rakudo does, and doesn't matter much when parsing P6 :) | ||
jeffreykegler | But I've been taking the approach of going for more powerful parsing, and trying within that to find the efficient subset. | 17:05 | |
TimToady | basically, even if there's a left recursion, we assume there's some procedural decision that makes it unambigous somewhere along the cycle | 17:06 | |
jeffreykegler | General BNF parsing, for example, "just solves", the left recursion issue, along with a lot of others. | ||
TimToady | well, so does operator precedence :) | 17:07 | |
and we're using the simplest thing that could possibly work, on that level | 17:08 | ||
dalek | ast: 782fee4 | masak++ | S02-types/range.t: [S02-types/range.t] test for *..* being allowed and OK This commit conceptually reverts commit d2b95d716762e427fe4692bbaeda8923d52b463f, though because so much has changed since 2010 -- t/spec paths, test counts, the methods of the names on the Range method -- I ended up doing the revert manually. |
17:09 | |
17:09
PZt joined
|
|||
jeffreykegler | 14 years ago, it was almost only thing that did work. | 17:09 | |
TimToady | I'm not opposed to fancier parsing techniques per se, as long as the user doesn't have to care, but at this point I tend to take the bear of very little brain approach to design | ||
indeed, I used to use LALR, which is pretty fancy in its inimitable way | 17:10 | ||
17:10
kyunsiu left
|
|||
jeffreykegler | I'm hoping Marpa will do what yacc/LALR promised but never delivered on. | 17:10 | |
TimToady | and had to work pretty hard to work around its deficiencies as a human language parser | ||
jeffreykegler | i've read the Perl 5 parser carefully | 17:11 | |
TimToady | that'd be cool | ||
my...condolences... | |||
jeffreykegler | In fact, I've gone back into the archives and read each of the versions. | ||
Perl 1, 2, 3 ... | |||
I notice, for example, that the parser is almost as complex in Perl 1 and it is in Perl 5. | 17:12 | ||
TimToady | so you know that, of the 4 or 5 ways a compiler can lie to itself, Perl lied to itself 7 or 8 ways... :) | ||
dalek | kudo/nom: b2becaa | masak++ | src/core/Range.pm: [src/core/Range.pm] allow *..* It now means -Inf .. Inf. See the following resources for rationale: - irclog.perlgeek.de/perl6/2014-08-30#i_9271208 (until 16:41) - spec:cba89c2537d100be8fac3a5d13200671afd3243f - roast:782fee4de0817a1950d7d4744f0a45f3836e7d3d |
||
TimToady | there were some simplifications between 4 and 5 | ||
jeffreykegler | LALR downfall was that it required custom hacks, but was not at all friendly to them. | ||
FROGGS | m: my $foo = "foo"; my $bar = "bar.com"; say "{$foo}@{$bar}" | 17:13 | |
camelia | rakudo-moar 9a6644: OUTPUT«postcircumfix:<{ }> not defined for type Array in method Str at src/gen/m-CORE.setting:13275 in method Stringy at src/gen/m-CORE.setting:1094 in block <unit> at /tmp/heQfVaeR00:1» | ||
masak | m: my $foo = "foo"; my $bar = "bar.com"; say "{$foo}\@{$bar}" | ||
camelia | rakudo-moar 9a6644: OUTPUT«foo@bar.com» | ||
jeffreykegler | I wrote a blog post about the "use" statement in Perl 5, which is an example of what I think you call lying. | ||
masak | FROGGS: @ interpreted as a sigil. | ||
FROGGS | masak: yes, since about 24 hours or so :o) | 17:14 | |
that happens in LWP::Simple btw | |||
TimToady | yes, the primary way to redirect a LALR parse is to lie about what tokens are coming, basically | ||
jeffreykegler | You know the Abe Lincoln saying, "Once a cat's been burned, he won't even sit on a cold stove." | 17:15 | |
FROGGS | m: say [email@hidden.address] | ||
camelia | rakudo-moar 9a6644: OUTPUT«foo@bar.com» | ||
FROGGS | okay, that still works, nice | ||
TimToady | with P6 we integrated the procedural decisions into the declarative, so you can just <?{ some assertion }> and validate/invalidate a parse | ||
jeffreykegler | How is the boundary between operator precedence and your more general LL parsing determined? | 17:16 | |
TimToady | the fact of the existence of the procedural decision is declared there :) | ||
FROGGS | moritz: can you merge please? github.com/cosimo/perl6-lwp-simple/pull/36 | ||
jeffreykegler | Looking at PGE and all I never could figure out how that was to work. | 17:17 | |
FROGGS | ohh, moritz++ is probably enjoying a dinner right now :o) | ||
TimToady | well, every call to termish or infixish is a call back into LL land, and you just have to know the terminators for when to stop the operator precedence dance | ||
and EXPR just looks like an ordinary token to LL | 17:18 | ||
s/token/rule/ | |||
jeffreykegler | OK that makes sense. | 17:19 | |
17:19
anaeem1_ joined
|
|||
jeffreykegler | Would it be fair to say it's a more systematic way of doing what done a lot in recursive descent parsers? | 17:19 | |
TimToady | the fancy PEG bits are not inside EXPR at all, that's all LL land, specifically driven by alternations | ||
TimToady is unclear on the antecedent of "it" | 17:20 | ||
jeffreykegler was referring to the lines at irclog.perlgeek.de/perl6/2014-08-30#i_9271783 | |||
17:21
anaeem1_ left,
anaeem1_ joined
|
|||
TimToady | well, it's a system that works for parsing P6, but any kind of parser could be inserted at the same spot, and just use LL-land for its tokenizer | 17:22 | |
jeffreykegler | OK | ||
TimToady | so in a sense our parser is the simplest of a class of hybrids | ||
jeffreykegler | Do you know of ANTLR? | 17:23 | |
TimToady looked at it a little once, and has forgotten most of it since | |||
hoelzro | masak: I saw you reported an issue about "say DOC BEGIN { 4 }" a few years ago | ||
masak | another LHF: rosettacode.org/wiki/Metaprogramming#Perl_6 claims no implementation supports hygienic macros. Rakudo does. | ||
17:23
kyunsiu joined
|
|||
hoelzro | I'm looking at fixing it, but I'm unclear as to what it should *do* | 17:23 | |
masak | hoelzro: have you checked S26? | ||
hoelzro | yes | ||
17:24
mj41 joined
|
|||
hoelzro | did some searching for DOC BEGIN, anyway | 17:24 | |
masak | there's exactly one mention of DOC BEGIN in S26. | ||
hoelzro | it just seems like the say wouldn't be evaluated when using --doc, and the DOC BEGIN wouldn't be without --doc | ||
masak | S26:2822. | ||
synopsebot | Link: perlcabal.org/syn/S26.html#line_2822 | ||
jeffreykegler | I make the comparison because both Perl 6 and ANTLR seem to be systematic approaches to left parsing plus pragmatic hacks. | 17:25 | |
masak | hoelzro: the 'DOC' makes it run only when using --doc. the 'BEGIN' makes it run at parse time. I think that's it. | ||
as in, I don't think there's more to it than that. | |||
m: DOC BEGIN { say "guess we won't see this" } | |||
camelia | ( no output ) | ||
TimToady | jeffreykegler: you have to understand that my perceived job is merely to understand the fire I've personally stolen from the gods, not to understand all the fires of the gods. :D | 17:26 | |
hoelzro | masak: right, but what about the say call prepended to that? | ||
does it ever get evaluated? | |||
(if using --doc, that is) | |||
jeffreykegler | I don't claim to understand all this stuff myself. | ||
masak | $ perl6 --doc -e 'DOC BEGIN { say "OH HAI" }' | 17:27 | |
OH HAI | |||
seems we have DOC BEGIN already. | |||
jeffreykegler | The big feature of ANTLR AFAICT is that he attempts to use tables, a la LALR. | ||
TimToady | my real job is culture formation, and that's too broad a subject to get bogged down in any one aspect of it, so I cheat all over the place :) | ||
hoelzro | masak: I think the bug is that the error message is weird | ||
17:28
anaeem1_ left
|
|||
masak | hoelzro: I don't understand the question. can you rephrase, perhaps using running code and camelia? | 17:28 | |
hoelzro | but I want to consider the intended behavior if I fix this | ||
sure | |||
jeffreykegler | That is, LALR used tables heavily, but left well known is that there are LL tables. | ||
17:28
FROGGS[mobile] left
|
|||
hoelzro | perl6 -e 'say DOC BEGIN { 4 }' # what should this print? | 17:28 | |
perl6 --doc -e 'say DOC BEGIN { 4 }' # what should this print? | |||
jeffreykegler | LL tables are less well known because in practice they are almost never used. | ||
masak | hoelzro: $ perl6 --doc -e 'say 4' # prints nothing -- I don't see why your first case should be any different. | 17:29 | |
jeffreykegler | My main source of information about hot new parsers is searching the net for statements like, "I thought about using Marpa, but decided to use X instead." :-) | 17:30 | |
hoelzro | masak: seems reasonable | ||
17:30
kjs_ left
|
|||
firefish5000 | is there currently a way to permanitly add/change a CompUnitRepo::Local::Installation for a user? prehaps via a libraries.[cfg|json] file | 17:31 | |
hoelzro | I'm just thinking about what the Actions for DOC BEGIN should look like without --doc | ||
because that say is getting evaluated | |||
I'm thinking it should probably be something like say if(0) { True } | |||
masak | hoelzro: re the second case: I don't see why it should print anything. the `4` may well be returned as the value of the DOC BEGIN, but the `say` is not run, because we're not running the normal mainline code, because we're passing --doc | ||
hoelzro | m: say if(0) { True } | 17:32 | |
camelia | rakudo-moar 9a6644: OUTPUT«===SORRY!===Word 'if' interpreted as 'if()' function call; please use whitespace instead of parensat /tmp/F37zD2BF1S:1------> say if⏏(0) { True }Unexpected block in infix position (two terms in a row)at…» | ||
hoelzro | m: say if 0 { True } | ||
camelia | rakudo-moar 9a6644: OUTPUT«===SORRY!=== Error while compiling /tmp/Vq8WS12eA1Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /tmp/Vq8WS12eA1:1------> say ⏏if 0 { True }[…» | ||
hoelzro | masak: I'm thinking about the without --doc case at the moment | ||
masak | right. hold on :) | ||
m: say BEGIN {} | |||
camelia | rakudo-moar 9a6644: OUTPUT«Nil» | ||
masak | that seems to be a good inspiration :) | ||
hoelzro | ok, that's what I was thinking =) | 17:33 | |
masak | or even | ||
m: say END {} | |||
camelia | rakudo-moar 9a6644: OUTPUT«Nil» | ||
hoelzro | thanks for clearing that up! | ||
masak | oh, same. | ||
jeffreykegler | Anyway, it's been very informative. | ||
masak | m: say do if 0 { True } | ||
camelia | rakudo-moar 9a6644: OUTPUT«Nil» | ||
hoelzro | so Nil it is | 17:34 | |
jeffreykegler | Jean-Damien *is* interested, but overloaded, and once he was has Perl 6 BNF and we can do a prototype, we'll have something more specific to talk about.l | ||
masak | hoelzro: (need `do` on there, because `if` is a statement form, not an expression) | ||
jeffreykegler: looking forward to such a prototype! | |||
hoelzro | ah, good to know! | ||
jeffreykegler | masak: thanks! | 17:35 | |
17:36
kjs_ joined
|
|||
dalek | kudo/nom: c57f122 | (Rob Hoelz)++ | src/Perl6/Actions.nqp: Make DOC blocks evaluate to Nil when not using --doc |
17:36 | |
jeffreykegler | And this is perhaps not a bad point to thank all of you in the Perl 6 community -- in addition to the technical insights, you've provided inspiration and a role model. | ||
hoelzro | masak: done =) | ||
TimToady | you're welcome! | ||
17:36
jeffreykegler left
|
|||
masak | hoelzro++ | 17:36 | |
jeffreykegler++ # thank *you* for Marpa -- likewise an inspiration and a role model! | 17:37 | ||
TimToady tries feebly to backlog again... :) | 17:38 | ||
17:38
Gruber is now known as Grrrr
17:39
ivanshmakov left
17:43
anaeem1 joined,
ivanshmakov joined
|
|||
masak has been very happy writing exploration code in Perl 6 most of the day | 17:44 | ||
17:45
BizarreCake left
|
|||
masak | in 2014 more than any previous year, and with Perl 6 more than any language, I feel that I can "think in Perl 6", and have more or less a direct dialogue between myself and the language runtime. | 17:46 | |
I guess that's my way of saying "I don't suffer from any showstopping bugs anymore" ;) | |||
TimToady | except *..* :P | ||
17:46
FROGGS[mobile] joined
|
|||
masak | you brought it up, not me :P | 17:46 | |
'sides, I just fixed that, so... | 17:47 | ||
TimToady | could you just fix NFG and native arrayw now too :) | ||
timotimo | i'd like that :) | ||
masak .oO( *phew*, he typo'd "arrays", otherwise I'd've had to do it! ) | |||
17:48
kjs_ left
|
|||
TimToady | that's just the plural in some language resembling Welsh in orthography | 17:48 | |
timotimo | don't try to outlinguistify larry wall! ;) | ||
masak | darn. | 17:49 | |
TimToady | rhymes with "mystify" :) | ||
17:49
FROGGS[mobile] left
|
|||
TimToady | I am not a linguist, but I play one all the time. | 17:49 | |
masak | anyway, my prime sources of euphoria today, without going into detail, have been: (a) defining lots of custom Unicode prefixes, infixes, and circumfixes, and then using them in code as if they were a natural part of the language. | 17:50 | |
(hence my discovery of some iffy chicanery) | |||
TimToady | sounds...fiddly... | ||
masak | (b) declaring classes and subtypes, and then dressing them up in syntax (with above-mentioned ops) and laws (with subs, backed by tests) | 17:51 | |
TimToady | sounds...categorically... | ||
masak | (c) generally using metaops on my ops. I still can't really believe that works. :) mostly I used Zop this time. I've also been known to [op] | ||
17:52
colomon joined
|
|||
TimToady | there's little point in having a grammar with syntactic categories unless you're going to use them productively | 17:52 | |
masak | right. | ||
or destructively :P | 17:53 | ||
colomon apologizes for being in and out of the channel, but is now lodged in from of the football game on TV | |||
TimToady | destructive processes are merely using the process of destruction productively :P | ||
masak | (d) summarizing small `for` loops as `so all` or `so any` constructs. I've made peace with junctions now by putting `so` on them in as small a scope as possible. | ||
17:54
ivanshmakov left
|
|||
TimToady | yes, junctions are the high nobles of a very small country | 17:55 | |
17:55
xenoterracide joined
|
|||
TimToady | the ordinary rules do not apply to them, unless they wander, and then they get into deep trouble | 17:55 | |
they live in the Land of Bool | 17:56 | ||
colomon | so what's the goal with having BNF in p6? | ||
TimToady | s/in/of/ | ||
masak | I think that's it, those four things. I ended up stumbling over rt.perl.org/Ticket/Display.html?id=122653 and rt.perl.org/Ticket/Display.html?id=122654, but neither of them were show-stoppers. | 17:57 | |
TimToady | to maybe get a marpa parser for standard p6 out of it | ||
17:57
kyunsiu left
|
|||
masak | (and they're exactly the kind of bug that I'm happy I stumble over, rather than someone else) | 17:57 | |
TimToady | that works at least up to the first language mutating declaratoin :) | ||
masak .oO( the limits of my mind are the limits of my language ) | 17:58 | ||
17:58
ivanshmakov joined
|
|||
colomon | TimToady: ah, so the goal is to parse p6 in BNF? | 17:58 | |
TimToady | yes, the reverse Sapir-Whorf hypothesis | ||
colomon was thinking of the reverse, handling BNF grammars in p6 | |||
TimToady | which is why I did the s/// on you | 17:59 | |
colomon | I see | ||
TimToady | the other is certainly possible, but not what we were talking about | ||
17:59
mberends left
|
|||
colomon | gotcha. That I certainly never had code for. :) | 17:59 | |
TimToady | reverse Sapir-Whorf was directed at masak++ if it wasn't clear | 18:00 | |
colomon indeed went and googled it trying to figure out what it could have to do with him. | |||
colomon is triple-tasking here -- football and watching son open presents and IRC all at once. | 18:01 | ||
TimToady does not believe that a properly productive language, properly used, will limit what you can think, since you can always coin something new in such a language for a novel thought | |||
timotimo | christmas comes early to colomon's family this year? :) | ||
colomon | timotimo: visiting my parents two weeks before their grandson's birthday | 18:02 | |
timotimo | ah :) | 18:03 | |
masak | TimToady: it's a Wittgenstein quote: "Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt." | ||
TimToady | well, but that's more like standard SW, if I read it aright | ||
18:03
mberends joined
|
|||
masak | yes. | 18:03 | |
oh, it's from Tractatus, even. | |||
TimToady prefers to think that his language is limited by the capacity of his mind | 18:04 | ||
masak | depends if you say what you think you mean :P | ||
TimToady | but perhaps I have the make-stuff-up-ishness of English to explain that sentiment | 18:05 | |
but yeah, it's a dance of two partners, and information flows both ways | 18:06 | ||
we have "lexotic" because a concept flowed out of the language | |||
but that's the whole deal with memes and cultures: they infest us, and we infest them. | 18:07 | ||
masak | TimToady: to what extent are you aware of Domain Driven Design (and its attitude towards the interplay of language and design/development)? | 18:08 | |
geekosaur | yep. S-W never made much sense to me, it's an organic system which means it's all tangled together on multiple levels | ||
TimToady | I've heard what you've said on the subject... | ||
timotimo | we infest heavily in memes and stuff. | ||
TimToady | well, s/said/wrote here/ | ||
masak | TimToady: oh, then I feel I should do better. hold on, I'll grab my e-book. | 18:09 | |
TimToady stops feebly trying to backlog again... | |||
starting a cult is hard work...er...culture... | 18:10 | ||
18:10
molaf_ joined
|
|||
masak | "A project needs a common language that is more robust than the lowest common denominator. With a conscious effort by the team, the domain model can provide the backbone for that common language, while connecting team communication to the software implementation. That language can be ubiquitous in the team's work." | 18:12 | |
"The model relationships become the combinatory rules all languages have. The meanings of words and phrases echo the semantics of the model." | |||
TimToady | well, they use the term "language", but really, it's about cultural evolution | 18:13 | |
18:13
molaf left
|
|||
TimToady | a common failing of linguists is to assume language is everything :) | 18:13 | |
18:13
kjs_ joined
|
|||
TimToady | but maybe they're limited by their language there... :P | 18:13 | |
masak | "As gaps are found in the language, new words will enter the discussion. *These changes to the language will be recognized as changes in the domain model* [...]" | 18:14 | |
18:14
rindolf left
|
|||
masak | it only now occurs to me that one reason this resonated with me when I first read it (back in 2011) is that I had already seen the #perl6 community process in action. | 18:14 | |
TimToady | sure, once we coined "lexotic" it immediately became clear that we had to classify everything as in or out or hybrid | 18:15 | |
masak | "Domain experts should object to terms or structures that are awkward or inadequate to convey domain understanding; developers should watch for ambiguity or inconsistency that will trip up design." | ||
TimToady | cultures of all sorts come in conservative and progressive varieties, and either new stuff or old stuff can get in the way of the other | 18:17 | |
there always has to be a balance, and poeple will never agree on where the balance should be :) | |||
masak | except in the Python community, where the correct balance is helpfully mandated from above :P | 18:18 | |
TimToady | I disagree :) | ||
Some find the old ways intolerable, some find the new ways intolerable, and some find the mixture of old ways and new ways to be intolerable. Which I find to be intolerable. | 18:23 | ||
[Coke] | people looking for LHF should probably not be encouraged to poke at niecza at this point, masak. | ||
FROGGS | grondilu: ping | ||
TimToady looks around for his feeble backlog again | 18:24 | ||
18:26
virtualsue joined
|
|||
[Coke] | hoelzro: (new tags) someone (usually me) opens a ticket. | 18:27 | |
let me if you prefer a "real" tag over a subject [TAG] | |||
masak | 'night, #perl6 | ||
hoelzro | [Coke]: alright, thanks | ||
FROGGS | gnight masak | ||
hoelzro | o/ masak | ||
TimToady | o/ | ||
colomon | \o | ||
hoelzro | [Coke]: I was hoping for a POD tag, but I wouldn't say it's critical | 18:28 | |
18:28
bcode left,
tadzik3 is now known as tadzik
18:29
bcode joined,
virtualsue left
|
|||
mr-fooba_ | TimToady: there is no mention of debugger in the synopsis. | 18:30 | |
tadzik | computer, messages | ||
oh, hm | |||
18:31
mr-fooba_ is now known as mr-foobar
|
|||
TimToady | mr-foobar: we don't really consider the debugger to be part of the language these days, so it's an external module | 18:31 | |
tadzik | colomon, FROGGS: I don't hate the changes, I'm glad they're there :) | 18:32 | |
colomon | \o/ | ||
TimToady | and, while we're trying to document the culture as well as the language, that tends to lag behind | ||
tadzik | colomon++ FROGGS++ | ||
FROGGS | tadzik: so it is oaky if I commit changes to master if *I* feel they are sane? (and do not break on older rakudos) | ||
tadzik | there's code duplication in there that probably wants to be abstracted in some way, but it's definitely a good move | ||
FROGGS: oh, by all means | |||
FROGGS | k | ||
tadzik | FROGGS: I think compatibility is way more important than sanity | 18:33 | |
FROGGS | tadzik: I know :o) | ||
[Coke] | hoelzro: keep hoping, I'llopen a ticket. | ||
hoelzro | ok =) | ||
FROGGS | that's why I would probably panic before doing a commit to P5's CPAN client | 18:34 | |
TimToady | so maybe whoever owned planeteria.org decided to take August off? | 18:35 | |
18:35
kaare_ left
|
|||
TimToady | we need a long-term solution for this... | 18:35 | |
[Coke] | they are working on it. | 18:37 | |
we had a solution: perl.org. perl.org decided to stop hosting this service. | |||
TimToady | .oO(perl.org is a dead end...) |
||
mr-foobar | TimToady: for a everything-is-an-expression/vm language, the debugger follows naturally. don't know if C++ spec mentions a debugger ( java has an api ) | 18:40 | |
18:40
darutoko left
|
|||
TimToady | we have a debugger than jnthn++ wrote, it's just not in the synopses | 18:41 | |
grondilu | FROGGS: pong | 18:45 | |
FROGGS | grondilu: can you please merge this? github.com/grondilu/libdigest-perl6/pull/4 | ||
grondilu | done | 18:46 | |
FROGGS | thanks :o) | 18:47 | |
18:51
zakharyas joined
|
|||
[Coke] | (use of '_' as an identifier might not be supported in releases after Java SE 8) | 18:51 | |
^^ nqp build warning | |||
TimToady | so what's the easiest way to maintain a "blead star"? | 18:53 | |
and should we have that as a cultural concept? | 18:54 | ||
I mean the "current star" concept, not the "blead" meme | |||
seems like we rely too much on star catching up at the last moment, when we should be trying to track | 18:55 | ||
[Coke] | "build the latest compiler and all the modules you care about as often as you want". | ||
TimToady | hard | ||
[Coke] | TimToady: github.com/coke/rakudo-star-daily ? | ||
tadzik | or Task::Star :) | ||
not sure how up-to-date it is :( | |||
TimToady | is that "productized" so mere mortal developers can use it? | ||
tadzik | I created it because I thought it's necessary, and then didn't maintain it much. Like every project I ever started | 18:56 | |
[Coke] | TimToady: right now it runs once a day on a schedule, uses the latest parts it can, and reports on test failures on build and or on modules. | ||
TimToady | but what if someone wants to duplicate that locally, like to see how a change affects star overall? | 18:57 | |
[Coke] | getting tons of failures here for jvm, parrot, & moar. | ||
I cannot tell who TimToady is talking to. | 18:58 | ||
TimToady | similar to how bench should be easier to set up locally | ||
TimToady is just talking to the world in general, in a solipsistic sort of way | |||
[Coke] | I would be happy if we could be more proactive about the failures on rakudo-star-daily and make it easier for people to do something about them. | 19:00 | |
I am pretty sure that people that do star releases are not looking at this data as it stands. | |||
dalek | ar: 8c8b8a7 | (Tobias Leich)++ | tools/build/module-install.pl: precompile files just get compext appended now |
19:01 | |
[Coke] will go through again and start opening tickets. | |||
FROGGS | [Coke]: how can you test star daily when it cannot even build the modules? | 19:02 | |
the patch that I just did fixes it | |||
[Coke]: look at all these SORRYs: github.com/coke/rakudo-star-daily/...d.log#L372 | 19:03 | ||
hmm, probably this tests against the not-precomped module: github.com/coke/rakudo-star-daily/...es.log#L29 | 19:04 | ||
19:05
BenGoldberg joined,
__lue__ is now known as lue
|
|||
FROGGS | hoelzro: do you know anything about that? Invalid typename 'Pod::Raw' in parameter declaration. | 19:05 | |
at /home/froggs/dev/star/work-m/rakudo-star-2014.08/install/languages/perl6/lib/Pod/To/HTML.pm:498 | |||
------> multi sub node2text(Pod::Raw⏏ $node) returns Str { | |||
moritz | FROGGS: it means that youre rakudo is too old | ||
FROGGS: or the Pod::To::HTML is too new | |||
FROGGS | ohh | 19:06 | |
I use the 2014.08 release of rakudo... | |||
moritz | FROGGS: then revert to Pod::To::HTML 451c39c2108d0f203a3085ca3d6746b1750dccfb | ||
FROGGS | moritz: thanks! | ||
hoelzro | FROGGS: that doesn't look too familiar | 19:11 | |
FROGGS | hoelzro: moritz knew the answer already :o) | 19:12 | |
hoelzro | oh, yeah, that should work | 19:13 | |
dalek | ar: 414b5d7 | (Tobias Leich)++ | / (2 files): get rid of "no rule to make target `clean`, Error 2" This annoyed me for a long time now... Everytime I've seen it I thought: Ohh noes! Configure failed! But when you carried on reading it stated that everything is well and that you can now `make`. |
19:21 | |
19:21
Alina-malina left
|
|||
TimToady | (star maint)++ | 19:23 | |
(and everyone involved)++ | 19:24 | ||
FROGGS | okay, star-m passes all module tests | 19:28 | |
TimToady | we'll see about that! :) | 19:29 | |
but that basically means we don't need the lolligag check for star anymore | |||
assuming LOLLY isn't set somewhere | |||
FROGGS | LOLLY is not set on my box | 19:30 | |
TimToady | well, something could set it internally, but I doubt anyone did that | ||
FROGGS | very unlikely | ||
TimToady | well, except the test harness that comes with post-2014-08 sets it, which I guess you're using | 19:31 | |
FROGGS | LOLLY only shows up in rakudo/docs/ rakudo/src and rakudo/t/spec | ||
TimToady | so maybe we really haven't tested star for old lol syntax yet, unless that's using the old compiler | ||
FROGGS | I am using the 2014.08 release tarball which uses a snapshot of the spectests from the day of the release | 19:32 | |
TimToady | ok, good | ||
that means star is vetted for lolligags now, yay | |||
FROGGS | I can run the module tests using LOLLY if you want | ||
or is setting LOLLY the opposite direction? | 19:33 | ||
TimToady | well, shouldn't make a difference, since by definition if LOLLY isn't set, they aren't using any lollipops | ||
since it would error if they were | |||
and LOLLY only changes things if they were actually using the (;) syntax | |||
FROGGS | (;) looks like a butt if you ask me :/ | 19:34 | |
TimToady | so it was all kind of a tempest in a teapot, but we had to check it at least once | ||
TimToady didn't ask | 19:35 | ||
FROGGS | conversation terminated; # :o) | ||
TimToady | though (|) has problems that way too, and actually occurs in code | ||
ah well, to the pure, all things are pure... | 19:36 | ||
FROGGS | that reminds me of something | ||
m: -Int | |||
camelia | rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context in block <unit> at /tmp/T45uO05Cps:1» | ||
FROGGS | \o/ | ||
m: say -Int | |||
camelia | rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context in block <unit> at /tmp/aEYW1MC59s:10» | ||
19:37
domidumont left
|
|||
FROGGS | (it didnt warn until this morning) | 19:37 | |
19:37
pmurias joined
|
|||
TimToady | because masak botched the test 3 years ago, apparently | 19:37 | |
dalek | p-js: c9a8aab | (Pawel Murias)++ | src/vm/js/ (2 files): Implement return (doesn't work yet from a nested block). |
||
nqp-js: 9dbd407 | (Pawel Murias)++ | src/vm/js/ (2 files): | |||
nqp-js: Pass test 17. | |||
19:37
dalek left
|
|||
FROGGS | yeah | 19:38 | |
TimToady wishes all his botches were so easily remedied... | |||
19:38
dalek joined,
ChanServ sets mode: +v dalek
19:45
denis_boyun_ left
|
|||
FROGGS | m: my %hash = 200 => 'ok'; say %hash{200}:exists | 19:48 | |
camelia | rakudo-moar c57f12: OUTPUT«True» | ||
FROGGS | p: my %hash = 200 => 'ok'; say %hash{200}:exists | ||
camelia | rakudo-parrot c57f12: OUTPUT«This type cannot unbox to a native string in method exists_key at gen/parrot/CORE.setting:9502 in method exists_key at gen/parrot/CORE.setting:9491 in block at gen/parrot/CORE.setting:2196 in sub postcircumfix:<{ }> at gen/parrot/CORE.se…» | ||
FROGGS | -.- | ||
j: my %hash = 200 => 'ok'; say %hash{200}:exists | 19:50 | ||
camelia | rakudo-jvm c57f12: OUTPUT«(timeout)» | ||
19:53
kurahaupo left
|
|||
TimToady | m: try EVAL '-Int'; | 19:53 | |
camelia | rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context in block <unit> at EVAL_0:1» | ||
TimToady | m: use Test; eval_lives_ok '-Int', '-Int warns (and yields 0) but does not give an error'; | 19:54 | |
camelia | rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context in block <unit> at EVAL_0:1ok 1 - -Int warns (and yields 0) but does not give an error» | ||
FROGGS | TimToady: should it do something else in a try EVAL? | ||
TimToady | I get a Bus Error here on that test (or perhaps as a result of a previous test) | 19:55 | |
FROGGS | eww | ||
TimToady | might not be this test's fault | ||
FROGGS | then you do not have latest rakudo | ||
yesterday's rakudo did nqp::neg_I(Int) and buserror'd | |||
m: nqp::neg_I(Int) | 19:56 | ||
camelia | rakudo-moar c57f12: OUTPUT«===SORRY!===Arg count 1 doesn't equal required operand count 3 for op 'neg_I'» | ||
FROGGS | m: nqp::neg_I(Int, Int) | ||
camelia | ( no output ) | ||
FROGGS | well, the old one did | ||
star-m: nqp::neg_I(Int, Int) | 19:57 | ||
camelia | star-m 2014.04: OUTPUT«(signal )» | ||
TimToady | okay, will gp | ||
literally, since I have that as an alias | 20:00 | ||
FROGGS | I have a, g, t, ml and p to build Perl5::Action, Grammar, etc | 20:01 | |
20:04
kurahaupo joined
20:05
bjz left,
bjz joined
|
|||
timotimo | gp? git push? | 20:06 | |
FROGGS | pull | ||
timotimo | ah | 20:07 | |
m: my \self = NaN but role FreeMan {} | 20:08 | ||
camelia | ( no output ) | ||
20:10
zakharyas left
|
|||
TimToady | actually, git pull --rebase | 20:11 | |
20:11
bjz left
20:12
bjz joined
20:14
jack_rabbit joined
20:24
BizarreCake joined
20:27
bjz_ joined,
bjz left
20:29
dolmen joined
20:55
ajr_ left
20:58
Brock is now known as awwaiid
21:03
kjs_ left
|
|||
FROGGS | @all: star-p still fails the jsonrpc tests, but I am going to release anyway | 21:07 | |
timotimo | we're getting a star release this month? nice :) | 21:09 | |
FROGGS | the last one is from apr or mar :( | ||
so we have to | |||
timotimo | yeah | 21:14 | |
21:18
BizarreCake left,
anaeem1 left
|
|||
dalek | ar: 008b70b | (Tobias Leich)++ | docs/announce/2014.0 (2 files): add announcement for 2014.08 |
21:19 | |
timotimo | so changelog :) | 21:20 | |
dalek | ar: d96e37a | (Tobias Leich)++ | tools/ (2 files): update version to 2014.08 (and 6.7.0 for parrot) |
||
japhb | Star release? YES! \o/ | ||
dalek | ar: 6c8fe78 | (Tobias Leich)++ | modules/ (12 files): update shipped modules |
21:21 | |
21:22
zakharyas joined
|
|||
dalek | ar: 11f446f | (Tobias Leich)++ | README: update version in README |
21:23 | |
ast: ee1bd8d | TimToady++ | S05-mass/rx.t: fix tests for &| and |& & is tighter than |, so |& is okay, since it implies a leading & in the right side of |, but &|is not okay, since it implies trailing & in the left of the |. |
21:30 | ||
japhb | FROGGS: Some typos in announcement: 1. 'funtionality' (though I kinda like that spoonerism), 2. '$*VM, $*VM, $*PERL $*PERL', 3. 'in work for' (should be s/work/progress/) | 21:31 | |
FROGGS | japhb: thanks, will fix | ||
dalek | ar: c02a712 | (Tobias Leich)++ | docs/announce/2014.08.md: fix typos in announcement, japhb++ |
21:33 | |
kudo/nom: 82871a8 | TimToady++ | src/Perl6/Grammar.nqp: simplify <variable> parsing |
21:35 | ||
FROGGS | huh, I've pushed now *all* tags for star, as if they were gone upstream O.o | 21:37 | |
japhb | That's ... a tad odd. Are you sure they're still pointing to the correct places? | 21:38 | |
diakopte1 | my git client tells me it does that sometimes | ||
japhb | s/places/commits/ | ||
FROGGS | japhb: it looks good | ||
21:38
renormalist joined
21:41
ggoebel1111110 joined
|
|||
dalek | ar: bd207f3 | (Tobias Leich)++ | tools/star/release-guide.pod: note 2014.08 release in release-guide.pod |
21:41 | |
kudo/nom: 2e9a1d9 | TimToady++ | src/Perl6/Grammar.nqp: tighten check for $$ to not care about $$foo |
21:42 | ||
21:44
ggoebel111119 left
|
|||
dalek | rl6-bench: 342d533 | (Geoffrey Broadwell)++ | / (2 files): Chase Rakudo implementation fix, #= --> #| |
21:45 | |
ar: da6f5ec | (Tobias Leich)++ | docs/announce/2014.08.md: adjust sentences about backend support |
21:49 | ||
ast: d381d43 | TimToady++ | S32-exceptions/misc.t: bare say produces X::Obsolete |
21:54 | ||
TimToady | for some reason permutations.t fails under test harness but not when run by itself | ||
FROGGS | yeah, we have that with several test files from time to time | 22:00 | |
I really do not favour this kind a behaviour | |||
TimToady | it appears to die with a SIGSEGV | 22:07 | |
22:08
zakharyas left
22:14
mj41 left
|
|||
TimToady | this doesn't seem to be flapping, it's more like hard fail under the harness, never when run directly | 22:16 | |
FROGGS | hmmm, it did not fail for me... but I was a few commits behind... upgrading now | 22:17 | |
22:17
ivanshmakov is now known as ivanshmakov|
|
|||
FROGGS | good that it just takes a few seconds to rebuild everything :o) | 22:18 | |
TimToady | thing is, it's almost a trivial test file, just two is-deeplys | 22:19 | |
FROGGS | still passes here... | ||
TimToady | huh | 22:20 | |
FROGGS | when you set the 'merge' to zero in t/harness at line 104, does it still fail? | ||
hoelzro | FROGGS++ # star release | ||
FROGGS | hoelzro: you can sign up for the september one :o) | 22:21 | |
TimToady | still fails | ||
FROGGS | it is less work than compiler release | ||
hmm... | |||
22:21
ivanshmakov joined
|
|||
hoelzro | FROGGS: I thought it was quarterly now? | 22:21 | |
also, september is a bad month for me (getting married in early October); I could do a Nov/Dec one, though! | 22:22 | ||
FROGGS | hoelzro: just because there were issues and no release managers | ||
hoelzro | ah ha | ||
22:22
danaj left
|
|||
FROGGS | ohh, then perhaps sign up for later :o) | 22:22 | |
+1 for getting married btw *g* | 22:23 | ||
TimToady | star should eventually go continuous release to the extent it can | ||
FROGGS | TimToady: I would replace t/harness:39 by a gdb line I think | ||
TimToady | we'll have enough lag getting it into linux distribution channels without introducing more of our own | ||
22:25
gfldex left
|
|||
hoelzro | thanks =) | 22:26 | |
22:28
Gruber joined
22:29
Grrrr left
22:31
stux|RC-only joined
22:32
ivanshmakov| left,
ntln joined
22:35
danaj joined
22:37
aborazmeh joined
22:40
araujo joined
|
|||
japhb | hoelzro: Congrats on upcoming marriage. :-) | 22:42 | |
hoelzro | japhb: thanks! | 22:43 | |
22:44
aborazmeh left
|
|||
colomon | oooo, congratulations, hoelzro! | 22:44 | |
22:44
dpk joined
|
|||
hoelzro | colomon: thanks =) | 22:45 | |
22:47
dpk left
22:50
spider-mario left
22:56
pmurias left
22:58
xragnar_ joined,
xragnar is now known as Guest66841,
Guest66841 left,
xragnar_ is now known as xragnar,
dolmen left
23:04
Gruber is now known as Grrrr
|
|||
timotimo | oh, yes! congrats! | 23:11 | |
dalek | kudo/nom: 5f9cd51 | TimToady++ | src/Perl6/Grammar.nqp: disallow anon sigils in quotes |
23:13 | |
TimToady | fixses t/spec/integration/advent2009-day16.t | ||
yes, my precious! | |||
hmm t/spec/integration/99problems-51-to-60.t also seems to be crashing on is_deeply | 23:17 | ||
BenGoldberg | say so "0e0"; | 23:21 | |
m: say so "0e0"; | |||
camelia | rakudo-moar 2e9a1d: OUTPUT«True» | ||
BenGoldberg | m: say so "0 but true"; | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«True» | ||
BenGoldberg | m: say + "0e0"; | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«0» | ||
BenGoldberg | m: say + "0 but true"; | 23:22 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«Cannot convert string to number: trailing characters after number in '0⏏ but true' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13276 in sub say at src/gen/m-CORE.setting:14211 in block <unit> at /tmp/1gJeHMGAhk:1» | ||
BenGoldberg | m: say 0 but True | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«0» | ||
BenGoldberg | m: say so 0 but True | 23:23 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«True» | ||
hoelzro | timotimo: thanks! | 23:24 | |
if anyone's interested, I made a docker image with the new star release: registry.hub.docker.com/u/hoelzro/rakudo-star/ | 23:26 | ||
I figured it might be an easy way for new users to try out Rakudo! | 23:27 | ||
dalek | ast: 81e0f82 | TimToady++ | S32-exceptions/misc.t: correct test of "$", should require \$ |
23:29 | |
TimToady | I think we're down to flapping is_deeplly tests | 23:30 | |
23:31
grondilu joined
|
|||
grondilu | p6: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $a, Foo $b) { i }; say pi * [ 0, 2 ]; | 23:31 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in block <unit> at /tmp/tmpfile:1» | 23:32 | |
..rakudo-jvm 2e9a1d: OUTPUT«(timeout)» | |||
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/tmpfile line 1:------> ere *.all %% 2; multi infix:<*>(Numeric ⏏$a, Foo $b) { i }; say pi * [ 0, 2 ]; $b is declared but not used at /tmp/tmpfile line 1:---…» | |||
..rakudo-parrot 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in any at gen/parrot/BOOTSTRAP.nqp:913 in any at gen/parrot/BOOTSTRAP.nqp:969 in sub infix:<*> at gen/parrot/CORE.setting:4406 in block <unit> at /tmp/tmpfile:1» | |||
grondilu | p6: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $a, Foo $b) { pi }; say pi * [ 0, 2 ]; | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in block <unit> at /tmp/tmpfile:1» | ||
..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/tmpfile line 1:------> ere *.all %% 2; multi infix:<*>(Numeric ⏏$a, Foo $b) { pi }; say pi * [ 0, 2 ]; $b is declared but not used at /tmp/tmpfile line 1:--…» | |||
..rakudo-jvm 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in any at gen/jvm/BOOTSTRAP.nqp:900 in any at gen/jvm/BOOTSTRAP.nqp:955 in block <unit> at /tmp/tmpfile:1» | |||
..rakudo-parrot 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in any at gen/parrot/BOOTSTRAP.nqp:913 in any at gen/parrot/BOOTSTRAP.nqp:969 in sub infix:<*> at gen/parrot/CORE.setting:4406 in block <unit> at /tmp/tmpfile:1» | |||
grondilu | n: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say pi * [ 0, 2 ]; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«3.1415926535897931» | ||
grondilu | m: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say pi * [ 0, 2 ]; | 23:33 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in block <unit> at /tmp/S4y2t3F8YU:1» | ||
grondilu | false positive | ||
TimToady | uniq.t also uses is_deeply, so these are probably all related | ||
23:38
jerrycheung joined
23:42
xenoterracide left
|
|||
BenGoldberg | std: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say pi * [ 0, 2 ]; | 23:43 | |
camelia | std 53b3ca6: OUTPUT«ok 00:01 133m» | ||
grondilu | there's definitely nothing wrong with the syntax. | 23:44 | |
n: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say 1 * [ 0, 2 ]; | 23:45 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«3.1415926535897931» | ||
grondilu | niecza++ | ||
m: subset Foo of Array; multi infix:<*>(Numeric $, Foo $) { pi }; say 1 * [ 0, 2 ]; | 23:46 | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in block <unit> at /tmp/QkwCfN_xQW:1» | ||
grondilu | m: subset Foo of Array; multi prefix:<->(Foo $) { "dada" }; say -[ 0, 2 ]; | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«dada» | ||
grondilu | n: subset Foo of Array; multi prefix:<->(Foo $) { "tada" }; say -[ 0, 2 ]; | 23:47 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«tada» | ||
grondilu | n: subset Foo of Array; multi infix:<*>(Foo $, Foo $) { "tada" }; say [ 0, 2 ] * [0]; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«tada» | ||
grondilu | m: subset Foo of Array; multi infix:<*>(Foo $, Foo $) { "tada" }; say [ 0, 2 ] * [0]; | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«tada» | ||
grondilu | m: subset Foo of Array; multi infix:<*>(Foo $, Numeric $) { "tada" }; say [ 0, 2 ] * 0; | 23:48 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*> in block <unit> at /tmp/KE5Sz3v9c3:1» | ||
grondilu | n: subset Foo of Array; multi infix:<*>(Foo $, Numeric $) { "tada" }; say [ 0, 2 ] * 0; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«tada» | ||
grondilu | n: subset Foo of Str; multi infix:<*>(Foo $, Numeric $) { "tada" }; say "" * 0; | 23:49 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«tada» | ||
grondilu | m: subset Foo of Str; multi infix:<*>(Foo $, Numeric $) { "tada" }; say "" * 0; | ||
camelia | rakudo-moar 2e9a1d: OUTPUT«===SORRY!===Circularity detected in multi sub types for &infix:<*>» | ||
grondilu | well, at least in this one rakudo says "SORRY" :-) | ||
TimToady | m: multi infix:<*>(Str $, Numeric $) { "tada" }; say "" * 0 | 23:52 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«tada» | ||
grondilu | the background is, I wanted to define a type made of an increasing list of positive integers. I wanted to use subset so that entering one would be straightforward. I'd just have to type e.g. [0, 4, 10] and not say MyType.new: 0, 4, 10. Then I got this wrong circularity detection. | 23:55 | |
TimToady | m: subset Foo of Array; multi infix:<*>(Foo $, Cool $) { "tada" }; say [ 0, 2 ] * 0; | 23:56 | |
camelia | rakudo-moar 2e9a1d: OUTPUT«tada» | ||
TimToady | it's just a bad message | 23:57 | |
it's not really circular, it's just ambiguous | |||
23:57
kst` is now known as kst
|
|||
grondilu | isn't subset narrower and thus prevailing? | 23:57 | |
TimToady | trouble is that Foo is more specific than the standard, while Numeric is less specific | ||
so it's simultaneously better and worse, which is not allowed | 23:58 | ||
colomon | grondilu: have you looked at fixing Chess so it doesn't hang on Moar? | ||
grondilu | oh it does? | ||
colomon | grondilu: yes | 23:59 | |
grondilu checks this |