»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:04
llfourn left
00:06
wamba left
00:08
adu joined
00:09
pyrimidine joined
00:13
gdonald_ left,
gdonald_ joined,
pyrimidine left
00:15
risou_awy is now known as risou
|
|||
SmokeMachine | m: Int.^attributes.map: { .say } # why it happens and what is a BOOTSTRAPATTR? | 00:21 | |
00:21
dj_goku left
|
|||
camelia | No such method 'say' for invocant of type 'BOOTSTRAPATTR' in block <unit> at <tmp> line 1 |
00:21 | |
SmokeMachine | m: Int.^attributes.grep: Int | 00:22 | |
camelia | X::Multi::NoMatch exception produced no message in block <unit> at <tmp> line 1 |
||
SmokeMachine | m: Int.^attributes.grep: {.type ~~ Int} | 00:23 | |
camelia | ( no output ) | ||
SmokeMachine | ok... that made sense... | ||
00:24
dj_goku joined
|
|||
SmokeMachine | m: Int.^attributes.grep: Attribute # but not this one | 00:24 | |
camelia | X::Multi::NoMatch exception produced no message in block <unit> at <tmp> line 1 |
||
00:25
BenGoldberg joined
|
|||
IOninja | It happens 'cause you're poking at low-level internals and trying to feed them to higher-level routines. | 00:26 | |
elaADnlxie | . | 00:30 | |
geekosaur wonders if a p6 convenience method would be possible/useful | |||
er, .p6 | |||
00:31
llfourn joined
|
|||
geekosaur | pass through p6 tyypes unmodified, wrap or promote nqp or vm level types | 00:31 | |
SmokeMachine | IOninja: how could I detect that and only grep if its high-level? | ||
geekosaur | (not spec-d, and obviously no going to be portable) | ||
SmokeMachine | geekosaur: that could help in my case... | ||
geekosaur | it's not just you, pretty much everyoen trying to introspect via nqp hits it every so often | 00:32 | |
or via MOPs that leak implementation types | |||
IOninja | SmokeMachine: `try` | ||
SmokeMachine | IOninja: good idea... | 00:33 | |
elaADnlxie | hehe, I broke a bot and nobody noticed! Nice! | ||
IOninja | SmokeMachine: here's an example where I grep for types; probably will work if you stick attributes instead | ||
SmokeMachine: github.com/perl6/routine-map/blob/...p6#L60-L75 | |||
elaADnlxie: I noticed! | 00:34 | ||
elaADnlxie | IOninja: which bug did you find? | ||
00:34
risou is now known as risou_awy
|
|||
SmokeMachine | IOninja: thanks! | 00:34 | |
IOninja | elaADnlxie: irclog.perlgeek.de/perl6/2017-02-28#i_14181843 | ||
elaADnlxie | IOninja: I didn't break this! | ||
IOninja | :) | 00:35 | |
elaADnlxie | IOninja: … I simply didn't fix it… | ||
ok ok what should I add to pull tags as well, hmm… | 00:36 | ||
IOninja | git pull --tags? | ||
git pull pulls them for me automagically... | 00:37 | ||
without needing `--tags` | |||
elaADnlxie | that's what I thought too, but apparently not | ||
00:38
agentzh joined
|
|||
elaADnlxie | c: 2017.02 say 42 | 00:38 | |
committable6 | elaADnlxie, ¦«2017.02»: Cannot find this revision (did you mean “2017.01”?) | ||
elaADnlxie | ok, if it appears in ≈5 minutes, then I fixed it | 00:39 | |
IOninja: any other complaints? | |||
IOninja | Nope | 00:40 | |
00:41
risou_awy is now known as risou,
mcmillhj joined
00:42
agentzh left
|
|||
elaADnlxie | c: 2017.02 say 42 | 00:45 | |
committable6 | elaADnlxie, ¦«2017.02»: 42 | ||
elaADnlxie | \o/ | ||
00:46
mcmillhj left
00:57
risou is now known as risou_awy
|
|||
TimToady | m: my regex abc { ‘aaa’ }; my regex xyz { <&abc> }; say ‘aaa’ ~~ /<xyz>/ | 00:59 | |
camelia | 「aaa」 xyz => 「aaa」 |
||
TimToady | elaADnlxie: ^^^ was it you looking for this? | ||
elaADnlxie | TimToady: yes! Yes! | ||
TimToady | a . means always call the method form | ||
a & means always call the function form | |||
elaADnlxie | but <abc> means? | 01:00 | |
TimToady | leaving it off was supposed to guess based on lexical scope, but seems someone made it synonymous with the . form | ||
elaADnlxie | m: my regex abc { ‘aaa’ }; my regex xyz { <abc> }; say ‘aaa’ ~~ /<xyz>/ | ||
camelia | 「aaa」 xyz => 「aaa」 abc => 「aaa」 |
||
MasterDuke | m: Int.^attributes.map: { .^name.say } | 01:01 | |
camelia | BOOTSTRAPATTR | ||
TimToady | huh, I thought that wasn't working... | ||
MasterDuke | m: Int.^attributes.map: { .gist.say } | 01:02 | |
camelia | bigint $!value | ||
01:03
Actualeyes joined
|
|||
MasterDuke | m: Int.^attributes.map: { .perl.say } | 01:04 | |
camelia | BOOTSTRAPATTR.new | ||
MasterDuke | SmokeMachine: ^^^, some options | ||
SmokeMachine | MasterDuke: thanks! | 01:05 | |
IOninja: someone decided something about the mexican version of ?? !! ? | |||
01:06
girafe left
01:07
lukaramu left
|
|||
IOninja | SmokeMachine: don't think so. | 01:07 | |
TimToady is right here. Ask him :) | |||
01:10
pyrimidine joined
|
|||
TimToady | the what? | 01:13 | |
TimToady is on vacation, and doesn't have to decide anything :P | |||
SmokeMachine | m: say True ⁇ "OK" ‼ "NOK" # TimToady, this | 01:14 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3say True7⏏5 ⁇ "OK" ‼ "NOK" # TimToady, this expecting any of: infix infix stopper postfix statement end st… |
||
TimToady | that doesn't look mexican to me... | ||
SmokeMachine | u: ⁇ | 01:15 | |
unicodable6 | SmokeMachine, U+2047 DOUBLE QUESTION MARK [Po] (⁇) | ||
IOninja | Mexical is opposite of Texas :) | ||
TimToady | but I'm probably fine with accepting those glyphs | ||
SmokeMachine | TimToady: so, would you mind, if I do my PR? | ||
TimToady | unless they mke the parser run a lot slower for some strange reason... | 01:16 | |
IOninja | TimToady: then I know some people will ask if we added ⁇ and ‼, why not add ≥ and ≤? Are those also OK to add? I've seen a giant gist proposing all sorts of these fancy unicode ops and I'm just wondering where the line is drawn. | ||
SmokeMachine | TimToady: I have no benchmarks... :( | ||
TimToady | IOninja: I dont really have a problem with ≥ and ≤ either, just I'd like to get the chained operators generalizing correctly first | 01:17 | |
there's some difficulty with that that I don't recall offhand | |||
user-defined chained ops, that is | |||
I guess putting in ≥ and ≤ doesn't really need that, since they wouldn't be user-defined, per se... | 01:18 | ||
SmokeMachine | the ⁇ ‼ should have roast tests, right? | ||
01:19
Actualeyes left
|
|||
TimToady | why not? | 01:19 | |
either we support it as part of the language, or we don't | |||
01:19
Actualeyes joined
|
|||
SmokeMachine | I think we do! :) | 01:20 | |
TimToady | you should ask me for all the bad decisions you can get while I'm on vacation, and feeling mellow :) | 01:22 | |
elaADnlxie | IOninja: the gist is mostly for gathering *all* ideas, I'm kinda hoping that half of these will be thrown away | 01:24 | |
≤ ≥ were very requested, ⁇ and ‼ less so, but it totally make sense | 01:25 | ||
u: ⁇‼ | |||
unicodable6 | elaADnlxie, U+2047 DOUBLE QUESTION MARK [Po] (⁇) | ||
elaADnlxie, U+203C DOUBLE EXCLAMATION MARK [Po] (‼) | |||
IOninja | TimToady: Lol. OK, then, I still don't get the Rat/FatRat thing. As I understand it, big numerator/denominator are bad, so that's why we made that distinction. And FatRats are contagious. And currently when we try to create a Rat with its components > uint64 it sets them, but apparently it's wrong. Last I recall you said that maybe we should make > uint64 rats return a RatStr, because it knows how to convert | 01:26 | |
to FatRat, but I don't get why it should be a RatStr? Like, would the math operators use the FatRat version but it'd be non-contagious? | |||
.oO( guess it'd help if I read the speculations on the topic first... ) |
|||
Oh and I recall hearding that >uint64 Rats turn into Nums, but I don't get that. Why not do the FatRat thing? | |||
01:29
zengargoyle left
|
|||
IOninja | 4.9999999999999999999999999 => FatRat automatically; if you don't want the badness of >uint64 Rats, then coerce it to .Rat or .Num, losing precision. And <4.99999999999999999999999999999999999> ends up a FatRatStr; same rules, if you don't want the uber precision, coerce it. | 01:30 | |
01:31
zengargoyle joined
|
|||
IOninja | and infectioning is ( (Int => Rat) => Num ) => FatRat; Int + Rat => Rat; Rat/Int + Num => Num; * + FatRat => FatRat | 01:31 | |
01:32
markasoftware joined
|
|||
markasoftware | what language is the perl 6 interpreter written in? | 01:32 | |
IOninja | markasoftware: compiler. Depending on which part you're looking, it's either written in Perl 6 with a sprinkling of NQP or in NQP. NQP is a subset of Perl 6 | ||
markasoftware | any haskell in it? | 01:33 | |
IOninja | markasoftware: not really | ||
markasoftware | hmm. i read somewhere that it was written in haskell, couldn't find any other sources though | ||
guess it was satire... | |||
IOninja | markasoftware: ah, it was long time ago, and was never a production compiler. That one was Pugs | ||
and current one's called Rakudo | 01:34 | ||
markasoftware | ok, so I'm not going crazy, thanks | ||
IOninja | :) | ||
01:38
markasoftware left
|
|||
elaADnlxie | that's it??? | 01:39 | |
not going to stay for some tea or something? | |||
01:42
mcmillhj joined
01:46
mcmillhj left
01:47
risou_awy is now known as risou
01:58
telex left
01:59
cdg_ joined,
telex joined
02:02
cdg left
02:08
agentzh joined
02:27
cdg_ left
|
|||
elaADnlxie | 'night o/ | 02:35 | |
SmokeMachine | elaADnlxie: I fixed the misalign... | 02:37 | |
elaADnlxie: do you have any suggestion about the "copy-paste" thing? | 02:38 | ||
02:39
mcmillhj joined,
elaADnlxie left
|
|||
samcv | i don't really like the copy pasty tbh | 02:44 | |
02:44
ilbot3 left,
mcmillhj left
|
|||
SmokeMachine | samcv: me neither... but I can't see a better way... any suggestion? | 02:47 | |
samcv | let me look at it a sec | ||
02:48
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:51
Sgeo_ joined
|
|||
SmokeMachine | is it possible to encapsulate the token inside another token and use the new token on both tokens (<?? !!> and <⁇ ‼>)? | 02:52 | |
02:52
Sgeo left
02:53
labster left
|
|||
samcv | well the error code takes up most of it | 02:54 | |
02:56
mcmillhj joined
|
|||
samcv | so you could make the error code in its own token | 02:56 | |
<EXPR('i=')> [ '‼' | <ternary-explain> ... ] | 02:57 | ||
something like that | |||
03:03
mcmillhj left
|
|||
SmokeMachine | samcv: great idea! Thanks! | 03:07 | |
is there a way to send parameters for a token from inside another token? | 03:14 | ||
I got it! | 03:16 | ||
ZzZombo | s: Any, grep, \({True}) | 03:17 | |
SourceBaby | ZzZombo, Ehhh... I'm too scared to run that code. | ||
ZzZombo | bad bot, bad | ||
03:21
noganex joined
03:24
noganex_ left
03:27
salva0 left
03:31
mcsnolte left
|
|||
SmokeMachine | samcv: I unified the ternary explanation... could you take look at it? | 03:35 | |
github.com/rakudo/rakudo/pull/1029 | 03:36 | ||
03:36
xtreak joined
03:52
ggoebel left
03:59
labster joined
04:01
wamba joined
04:04
salva joined
04:05
ggoebel joined
04:06
Actualeyes left
04:08
cibs left
04:10
cibs joined
04:11
kybr left
04:16
mcmillhj joined
04:21
mcmillhj left
04:24
adu left
04:25
cpage_ joined
|
|||
BenGoldberg | u: interrobang | 04:25 | |
unicodable6 | BenGoldberg, U+203D INTERROBANG [Po] (‽) | ||
BenGoldberg, U+2E18 INVERTED INTERROBANG [Po] (⸘) | |||
BenGoldberg, 5 characters in total: gist.github.com/8dcf59292f1b61e63c...34b1cea3a7 | 04:26 | ||
BenGoldberg | m: sub prefix:<‽> { $^tobe | not $^tobe }; ‽ "the question"; | 04:28 | |
camelia | ( no output ) | ||
04:28
adu joined
04:30
simcop2387 left
04:32
BenGoldberg left
04:35
simcop2387 joined
04:48
Cabanoss- joined
04:52
Cabanossi left,
Cabanoss- is now known as Cabanossi
05:02
newbie1 left
05:06
wamba left
05:11
kybr joined
05:13
mcmillhj joined
05:21
gdonald_ left,
gdonald_ joined
05:27
Actualeyes joined
05:49
xtreak left
05:52
xtreak joined
05:53
CIAvash joined,
mcmillhj left
05:58
skids joined
|
|||
ZzZombo | m: my $x=:children;say $x.key == 'children' | 06:06 | |
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5children' (indicated by ⏏) in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
ZzZombo | what?? | ||
m: my $x=:children;say $x.key() == 'children' | |||
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5children' (indicated by ⏏) in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
ZzZombo | m: my $x=:children;say $x.key | ||
camelia | children | ||
ZzZombo | m: my $x=:children;say $x.key() ~~ 'children' | 06:07 | |
camelia | True | ||
ZzZombo | W H A T | ||
did P6 twisted comparison? | |||
06:09
setty1 left
|
|||
ZzZombo | ah | 06:10 | |
06:11
skids left
|
|||
ZzZombo | I keep forgetting they did NOT actually change that. | 06:11 | |
06:17
risou is now known as risou_awy
06:18
mcmillhj joined
06:20
labster left
06:22
mcmillhj left
06:30
snowblack joined,
bwisti left
06:31
g0d355__ joined
|
|||
snowblack | splicing arrays, does it not suck? | 06:31 | |
should I take that as a yes? | |||
06:32
setty1 joined
06:33
lust joined
|
|||
snowblack | anyone want to answer a question, other that this one? | 06:33 | |
06:34
mcmillhj joined,
snowblack left
06:38
adu left
06:39
snowblack joined,
mcmillhj left,
risou_awy is now known as risou
06:41
mcmillhj joined
|
|||
snowblack | awake? | 06:43 | |
question | |||
06:44
domidumont joined
06:48
domidumont left,
mcmillhj left
|
|||
moritz | snowblack: just ask; maybe somebody will answer | 06:48 | |
but notbody can answer without a question :-) | |||
06:48
domidumont joined
06:50
RabidGravy joined
06:53
mcmillhj joined
|
|||
ZzZombo | can I create a lazy list with for? | 06:54 | |
snowblack | I am trying drop an element of a list my @b = < 3 4 5 6 7 8> | 06:59 | |
@b.splice( +(@b.grep: 6, :k) , 1) | |||
is almost right, but there must be a better way | 07:00 | ||
I just want to drop a value from a list, that I suspect is in the list | 07:01 | ||
07:01
mcmillhj left
|
|||
snowblack | @b.splice( (@b.grep: 6, :k) , 1) doesn't work | 07:02 | |
cause "Cannot resolve caller splice(Array: Seq, Int); none of these signatures match:...." | 07:03 | ||
so I add "+" to make output of (@b.grep: 6, :k) be an Int, but then if the greped element isn't in the list | 07:04 | ||
the code takes that as zero , and splices out the first element | |||
THere must be an easier way, I used to know perl a decade ago, now I am trying perl6... | 07:05 | ||
07:05
xtreak left
07:07
eroux joined,
eroux left
07:09
darutoko joined
07:10
xtreak joined
|
|||
CIAvash | snowblack: grep returns a Seq, so adding + will return the number of its elements. try @b.splice(@b.first(6, :k) , 1) | 07:11 | |
snowblack | ZzZombo, is this what you want? for 4...30 ->$z { say $z;} ; lazy , how to prove, I don't know | 07:13 | |
CIAvash | ZzZombo: `gather for @a { .take }`? | 07:15 | |
TimToady | or if you just want to remove all the 6's, do @b.grep: none 6 | 07:16 | |
snowblack | ok those answers are very helpful | 07:20 | |
07:26
eroux joined
07:33
jonas1 joined
07:40
socomm joined
|
|||
nine | avar: you need to "use Inline::Perl6 'OO';" if you want to use Inline::Perl6->new; Otherwise it's just "use Inline::Perl6; v6::run '"hi".say';" | 07:40 | |
avar: that ^^^ is at least the reason for those redefine warnings | 07:41 | ||
avar: that test failure is odd. But the good news is that it does happen here, too. Will investigate. | 07:42 | ||
07:46
wamba joined
07:50
wamba left
07:52
abraxxa joined
07:53
cibs left
07:55
cibs joined,
adrusi_ is now known as adrusi
07:59
socomm left
08:00
abraxxa left,
abraxxa joined
08:01
gfldex left,
rindolf joined
08:02
gfldex joined
08:15
gdonald_ left,
gdonald_ joined
08:21
g0d355__ left
08:33
TEttinger left
08:35
bjz joined
08:42
dakkar joined
08:44
wamba joined
08:48
astj left
|
|||
avar | nine: Sweet, thanks! | 08:48 | |
08:48
mcmillhj joined
08:51
astj joined
|
|||
nine | This works: perl -E 'use Inline::Perl6 "OO"; my $p6 = Inline::Perl6->new; my $tester = $p6->run("use lib <t/lib>; use Perl6Test; Perl6Test.new"); say $tester->get_one' | 08:52 | |
08:53
mcmillhj left
|
|||
nine | So I think it's another side effect of lexical module loading. The $p6->use('Perl6Test'); no longer affects the later statements. | 08:53 | |
08:55
wamba left
08:58
wamba joined
08:59
astj left
09:01
astj joined
09:02
zakharyas joined
09:04
espadrine joined
09:05
lust left
09:06
astj left
09:08
domidumont left,
domidumont joined
09:09
Actualeyes left
09:10
eroux left
09:18
Cabanossi left
09:22
astj joined
09:23
espadrine left
09:30
ufobat joined
09:31
rurban joined
09:44
mcmillhj joined
09:46
xtreak left
09:49
xtreak joined,
mcmillhj left
09:52
labster joined
09:57
mxco86 left,
Cabanossi joined
10:01
mcmillhj joined
10:06
mcmillhj left
10:07
mcmillhj joined
10:09
wamba left
|
|||
gregf_ | cardiff and brighton are choke | 10:10 | |
sorry :/ wrong chat | 10:11 | ||
Geth | doc: 352cd94f02 | (Wenzel P. P. Peppmeyer)++ | doc/Language/containers.pod6 correct example |
10:12 | |
10:13
wamba joined
10:15
mcmillhj left
|
|||
gregf_ | m: :k.^name.say | 10:21 | |
camelia | Pair | ||
10:21
rindolf left
|
|||
DrForr | Perl6::Parser - Cleared up (mostly) a bug that was incorrectly categorizing a lot of token clusters as a single bareword. | 10:22 | |
10:27
holyghost joined
10:30
holyghost left
10:31
mxco86 joined
10:37
rindolf joined
|
|||
ZzZombo | m: Inf.WHAT | 10:40 | |
camelia | ( no output ) | ||
ZzZombo | m: say Inf.WHAT | ||
camelia | (Num) | ||
ZzZombo | m: say my Num $n=0 | 10:42 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot assign a literal of type Int (0) to a variable of type Num. You can declare the variable to be of type Real, or try to coerce the value with 0.Num or Num(0), or just write the value as 0e0 at <tmp… |
||
ZzZombo | m: say my Num $n=0e0 | ||
camelia | 0 | ||
ZzZombo | but why?.. | ||
10:42
obfusk left,
xtreak left
10:43
bjz_ joined,
bjz left
10:44
obfusk joined
|
|||
jnthn | ZzZombo: Because types are constraints, and 0 is an Int, not a Num | 10:47 | |
ZzZombo | m: say (1,2,3,4,5).all ~~ * > 0 | ||
camelia | { ... } | ||
ZzZombo | m: say (1,2,3,4,5).all ~~ (* > 0) | ||
camelia | all(True, True, True, True, True) | ||
ZzZombo | how to get the ultimate result rather than the junction? | 10:48 | |
But somehow I expected 0 being silently coerced to Num | |||
jnthn | Use "so" | 10:49 | |
m: say so (1,2,3,4,5).all ~~ (* > 0) | |||
camelia | True | ||
ZzZombo | m: say ?(1,2,3,4,5).all ~~ (* > 0) | ||
camelia | True | ||
jnthn | I think that is wrong precedence though | 10:50 | |
ZzZombo | m: say (1,2,3,4,5).all ~~ 0 | ||
camelia | False | ||
ZzZombo | why this is different? | ||
jnthn | say ?(1,2,3,4,5).all ~~ (* > 0) groups as say (?(1,2,3,4,5).all) ~~ (* > 0) | 10:51 | |
And all those numbers are true, so it's like True ~~ (* > 0), which is True > 0, which is True | |||
m: say so (1,2,3,4,-5).all ~~ (* > 0) | |||
camelia | False | ||
jnthn | m: say ?(1,2,3,4,-5).all ~~ (* > 0) | 10:52 | |
camelia | True | ||
10:56
zakharyas1 joined
11:04
rindolf left
11:16
risou is now known as risou_awy
11:18
llfourn left
11:20
llfourn joined,
xtreak joined
11:24
rindolf joined
11:25
n1ce left
11:27
sena_kun joined
11:39
sena_kun left,
bjz joined
11:41
bjz_ left
11:43
wamba left
11:45
notbenh left
11:46
notbenh joined
11:47
ChoHag left
11:49
zakharyas1 left
11:50
labster left
11:53
wamba joined
11:54
kurahaupo joined
11:56
ChoHag joined,
n1ce joined
11:59
kurahaupo left
12:01
firefish5000 left
12:07
kurahaupo joined
12:08
xtreak left,
kurahaupo_ joined
12:12
kurahaupo left
12:13
kurahaupo_ left
12:22
awwaiid left
12:30
zakharyas left,
zakharyas joined,
salv0 joined
12:36
ufobat left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:45
lukaramu joined
12:51
ufobat joined
|
|||
IOninja | Side note for ticket reporters: "(HEAD)" is hard to figure out when you view the ticket later on. Would be nice if that included proper commit sha | 13:18 | |
Like this one: rt.perl.org/Ticket/Display.html?id...xn-1444346 | |||
DrForr | Insert your own hash conflict joke here. | 13:21 | |
13:21
wamba left
|
|||
jnthn | "No, it's my turn to toke now!" | 13:22 | |
[Coke] | The list of people who can add bugadmins now includes me, pmichaud, froggs, moritz, and IOninja. | ||
IOninja | wooo \o/ | 13:23 | |
jnthn | Nice :) | ||
IOninja | [Coke]: where's the interface to add users? If I go to Configuration -> Rights -> User Rights I only see one user. Enoch Root :} | 13:28 | |
13:29
bjz left
13:32
user__ left,
lukaramu_ joined
13:33
ggoebel left
|
|||
[Coke] | IOninja: if rt stops hanging, I'll tell you. :| | 13:36 | |
(probably my work proxy) | |||
13:36
lukaramu left
|
|||
IOninja | Hanging for me too now. | 13:37 | |
[Coke] | It's all on the same page; there's a box in the upper right that reads something like 'add user' | 13:38 | |
13:43
cschwenz joined
13:44
mcmillhj joined
|
|||
cschwenz | is github.com/kalkin/Ddt a hard fork of github.com/skaji/mi6 ? | 13:44 | |
IOninja | [Coke]: oh yeah, I saw the box, sorry. I meant to ask how do I see existing users. Basically, someone says "I can't login" or whatever how do I view what sort of perms they got on their account or even if they have account? | ||
cschwenz: what's a hard fork? | |||
cschwenz | as in, it really looks like the author or Ddt downloaded to source for App::Mi6 and made some changes before re-uploading the codebase as their own | 13:46 | |
13:46
wamba joined
|
|||
cschwenz | s{author or}{author of} | 13:46 | |
IOninja | cschwenz: sounds about right. Not long ago the author claimed Ddt was a replacement for Mi6 | ||
cschwenz: from what I understand, they assumed mi6 was an abandoned project. | 13:47 | ||
TestML seems to be thoroughly bustified and YAML depends on it... | 13:48 | ||
cschwenz | :-) heheh. reported that one a few days ago. | 13:49 | |
IOninja | Yes. Fixing ATM but can't run tests. | ||
I mean... Fixing YAML one, but can't run tests.. | |||
cschwenz | and once you get past that, github.com/perl6-community-modules...6/issues/3 awaits you | ||
ah | |||
13:50
i7f6 left
|
|||
jnthn | Was about to say YAML is working fine in my project, then realized I'm using YAMLish :) | 13:51 | |
IOninja | heh | 13:52 | |
13:52
bbkr left
13:53
bbkr joined,
cpage left
|
|||
Geth | yaml-pm6: 224b49627f | (Zoffix Znet)++ | t/Bridge.pm Blind a MONKEY in test support module Fixes #3 |
13:53 | |
13:54
ttkp6 left
13:57
lucasb joined
|
|||
[Coke] | IOninja: existing bug admins are in the list on the left. the list of all possible users is in the dropdown. | 13:59 | |
13:59
llfourn left
|
|||
[Coke] | for example, our names are at the bottom of the list on the left. | 14:00 | |
IOninja | [Coke]: is this the right page? temp.perl6.party/rt.png | ||
lucasb | m: Seq.Int | 14:02 | |
camelia | Cannot look up attributes in a Seq type object in block <unit> at <tmp> line 1 |
||
lucasb | m: Seq.elems | ||
camelia | Cannot look up attributes in a Seq type object in block <unit> at <tmp> line 1 |
||
lucasb | ^^ these should be multis instead of only methods, no? | ||
so, they can give the helpful message: Invocant requires an instance of type Seq, but a type object was passed | 14:03 | ||
IOninja | Well, I give up with TestML. It looks for routine Point in a support test module and I don't know whether it shouldn't be looking of whether it should be there. | ||
cschwenz | IOninja: :-( | 14:04 | |
IOninja | huggable: eco YAMLish | ||
huggable | IOninja, nothing found | ||
IOninja | I guess YAMLish is a Perl 5 thing... | ||
cschwenz | github.com/Leont/yamlish | ||
YAMLish is a pure Perl6 implementation of YAML | 14:05 | ||
IOninja | huggable: eco Test | ||
huggable | IOninja, nothing found | ||
IOninja | huggable: you lie to me, robot!!!! | ||
huggable | IOninja, nothing found | ||
IOninja | Oh, wait, wrong robot. | ||
buggable: eco YAMLish | |||
cschwenz thinks the huggable bot is b0rken | |||
buggable | IOninja, Nothing found | ||
IOninja | buggable: you lie to me, robot!!!! | 14:06 | |
cschwenz | :-P | ||
IOninja | buggable: eco Test | ||
buggable | IOninja, Found 30 results: Testing, Test::Mock, PSpec, Test::Builder, TestML. See modules.perl6.org/#q=Test | ||
IOninja | buggable: eco YAML | ||
buggable | IOninja, Found 2 results: YAML, YAMLish. See modules.perl6.org/#q=YAML | ||
14:06
aborazmeh left
|
|||
IOninja | buggable: eco YAMLish | 14:06 | |
buggable | IOninja, YAMLish 'An implementation of a useful subset of YAML': github.com/Leont/yamlish | ||
IOninja | ... | ||
Now it's just messin' with me | |||
14:06
cale2 left
|
|||
cschwenz | maybe the string 'you lie to me' forces it to (re-)validate its cache? | 14:07 | |
IOninja | lol | ||
m: List.elems | 14:09 | ||
camelia | ( no output ) | ||
IOninja | m: List.elems.say | ||
camelia | 1 | ||
IOninja | m: List.Int.say | ||
camelia | Use of uninitialized value of type List in numeric context in block <unit> at <tmp> line 1 0 |
||
cschwenz | anyhow, in github.com/Leont/yamlish/blob/master/TODO.md … anyone have pointers for how to go about implementing any of the listed bullet points? | ||
IOninja | lucasb: not just, also need (::?CLASS:D:) in the sig (or Seq:Dr) | 14:10 | |
Seq:D | |||
lucasb | yes, Seq:D :) | ||
cschwenz | (as their lack of existence is why i tried using the Perl6 YAML module in the first place) | ||
14:10
ggoebel joined
|
|||
lucasb | also, why it needs 3 methods that does the same thing? github.com/rakudo/rakudo/blob/nom/...m#L87-L113 | 14:11 | |
only .elems check for lazyness | |||
I tried to make a lazy seq and call .Int and .Numeric, but it seems the lazyness is checked somewhere else | 14:12 | ||
IOninja | m: (lazy 1, 2).Seq.is-lazy.say | ||
camelia | No such method 'Seq' for invocant of type 'Seq' in block <unit> at <tmp> line 1 |
||
lucasb | because they end up calling .elems somehow and triggers the "Cannot .elems a lazy list" message | 14:13 | |
IOninja | Man, Range and Seq need .Seq :/ | ||
m: (lazy 1, 2).is-lazy.say | |||
camelia | True | ||
IOninja | m: (lazy 1, 2).Numeric.say | ||
camelia | Cannot .elems a lazy list in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | lucasb: "somehow" is via .cache that returns a List | 14:14 | |
lucasb: so it seems the laziness check in elems() isn't needed | |||
lucasb | ah, understood. thanks IOninja | ||
IOninja | Oh wait | ||
Yeah, it is | |||
m: (1..*).Seq.Numeric.say | |||
camelia | No such method 'Seq' for invocant of type 'Range' in block <unit> at <tmp> line 1 |
||
IOninja rages | |||
lucasb | about the other thing you said, should the methods Range.Range, Range.Seq and Seq.Seq exists? | 14:15 | |
IOninja | m: (1...*).Numeric.say | ||
camelia | Cannot .elems a lazy list in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | hm | ||
s: (1...*), 'Numeric', \() | |||
SourceBaby | IOninja, Sauce is at github.com/rakudo/rakudo/blob/cf93...Seq.pm#L99 | ||
IOninja | m: (1...*).list.say | ||
camelia | (...) | ||
IOninja | Ah, ok. Yeah, it ain't needed in elems() | ||
lucasb wishes there was method/sub aliases | 14:16 | ||
14:17
risou_awy is now known as risou
|
|||
lucasb | so you could just implement the .elems method and say that .Numeric and .Int are aliases of it | 14:17 | |
instead of duplicating its body | |||
I remember lizmat++ implemented an "aka" trait, unfortunately it didn't get into core | 14:18 | ||
In ruby I can say "alias length size" to have 1 method with 2 names, to use the name that I want at each moment. Sure, this lead to confusion, but anyway :) | 14:21 | ||
14:21
wamba left
|
|||
IOninja | We already had this discussion. | 14:21 | |
14:21
risou is now known as risou_awy,
risou_awy is now known as risou
14:22
skids joined
|
|||
lucasb | sorry to rehash this again, I forgot :) | 14:22 | |
IOninja | "should the methods … exist". Maybe. Maybe not. this is on the same level as rt.perl.org/Ticket/Display.html?id=130867 in that this should be made consistent across the entire codebase instead of making it piece-meal a few types here and there. | 14:23 | |
m: FatRat.FatRat | |||
camelia | Invocant requires an instance of type FatRat, but a type object was passed. Did you forget a .new? in block <unit> at <tmp> line 1 |
||
[Coke] | IOninja: ... I've never seen that page before in my life. :) | 14:24 | |
give me a moment. | |||
IOninja | [Coke]: hm... remember some time ago you told me I can't comment on tickets I did not create, but I could because I had some special account somehow. Maybe that's the case here? | ||
I don't even remember how I got my RT account. | 14:25 | ||
[Coke] | IOninja: is the URL I sent you redirecting you to the other URL you're getting to? | ||
IOninja | Oh, I didn't notice you sent me a URL | ||
[Coke]: the url you sent me works and has the users... Wonder how to get to that page from the menus... | 14:26 | ||
[Coke]: if I go to user defined groups, I get "Parrot commit" | 14:27 | ||
14:27
newbie1 joined
|
|||
[Coke] | IOninja: there is no way to get there from the menus | 14:29 | |
you have to go to the URL I sent you | |||
IOninja | Ah. OK then | 14:30 | |
Cool, then it works. | |||
[Coke] | \o/ | ||
14:30
rurban1 joined
|
|||
IOninja | Looks like I have really root-like perms... I have an option to disable perl5 queue, for example. | 14:31 | |
14:32
rurban left
|
|||
IOninja does the maniacal laugh thing | 14:33 | ||
cschwenz | o_0 | 14:34 | |
IOninja | :) | ||
[Coke] | be good. :| | 14:40 | |
IOninja | m: use Test; is-deeply ().Seq, () | 14:41 | |
camelia | ok 1 - | ||
IOninja | Looks like is-deeply is bustified a bit... I'd expect the above to fail :/ | ||
m: dd ().Seq eqv () | |||
camelia | Bool::True | ||
IOninja | uumm... OK then :| | ||
14:41
cyphase left
|
|||
IOninja | m: sub (@a, @b) { dd [@a.WHAT, @b.WHAT] }(().Seq, ()) | 14:43 | |
camelia | [List, List] | ||
IOninja | Feels like I've discovered this before.... | ||
IOninja has bugjavu | |||
14:44
cibs left
|
|||
IOninja | m: sub (\a, \b) { dd [a.WHAT, b.WHAT] }(().Seq, ()) | 14:44 | |
camelia | [Seq, List] | ||
IOninja | m: sub (Positional \a, Positional \b) { dd [a.WHAT, b.WHAT] }(().Seq, ()) | ||
camelia | [List, List] | ||
IOninja | ... I don't get it :/ | ||
Oh, seq is not positional duh | 14:45 | ||
m: sub (Iterable \a, Iterable \b) { dd [a.WHAT, b.WHAT] }(().Seq, ()) | 14:46 | ||
camelia | [Seq, List] | ||
14:46
cibs joined,
bwisti joined
|
|||
IOninja | Well, worth trying this out... | 14:46 | |
IOninja puts on the bomb suit | |||
14:46
cyphase joined
|
|||
IOninja | ahem | 14:46 | |
*saper's suiit | |||
DrForr gets ready to run. | |||
IOninja | huh, sapper is "a soldier who digs trenches" in English? Weird. In Russian it's the bomb defusal guy | 14:47 | |
14:48
cschwenz1 joined
14:50
cschwenz left,
rurban1 left,
Actualeyes joined
|
|||
stmuk | I think it means both in English | 14:52 | |
"soldier engineer" | |||
IOninja | Ah | 14:53 | |
14:55
llfourn joined
|
|||
lucasb | m: sub f(List) {}; f ().Seq | 14:55 | |
camelia | Internal error: inconsistent bind result in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
IOninja | :| | 14:56 | |
lucasb | I was expecting "Calling f(Seq) will never work with declared signature (List)" | ||
IOninja | m: sub f(List $) {}; f ().Seq | ||
camelia | Internal error: inconsistent bind result in sub f at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
lucasb | also, how come you managed to bind a Seq to a Positinal parameter and got a List as result? | 14:57 | |
m: sub f(Positional $x) { say $x.WHAT }; f (1,2,3).Seq | |||
camelia | (List) | ||
lucasb | do Seqs get mutated somehow in argument lists? | 14:58 | |
IOninja | hm, changing infix:<eqv> (@a, @b) to (Iterable \a, Iterable \b) crashes S32-hash/map.t test... hm, but inside Test.pm6 | ||
m: use Test; is-deeply Hash.Map, Map | 15:00 | ||
camelia | ok 1 - | ||
IOninja | fails for me... | ||
15:00
llfourn left
|
|||
IOninja | m: sub (Mu $got, Mu $expected) {say $got eqv $expected}(Hash.Map, Map) | 15:01 | |
camelia | True | ||
IOninja | Actually this case crashes, but not `Hash.Map eqv Map` ... wtf :/ | ||
nm, see it | 15:03 | ||
m: Map.elems | |||
camelia | Invocant requires an instance of type Map, but a type object was passed. Did you forget a .new? in block <unit> at <tmp> line 1 |
||
IOninja | tis why | ||
ZzZombo | How can I declare a throw-away named argument? | ||
IOninja | m: $ = Seq eqv Seq | 15:04 | |
camelia | Cannot look up attributes in a Seq type object in block <unit> at <tmp> line 1 |
||
timotimo | maybe :thename($) works | ||
IOninja | m: sub (:thename($), *%_) { dd %_ }(:meow, :thename) | 15:05 | |
camelia | {:meow} | ||
IOninja | does | ||
timotimo | isn't it nice when you expect something to work and it does | 15:06 | |
IOninja | :) | ||
m: sub z (Iterable \a) { dd [a.WHAT, a.elems] }; my $s = (24, 55).Seq; z $s; say $s.elems | 15:08 | ||
camelia | [Seq, 2] 2 |
||
IOninja | How come this doesn't trigger the "this seq has been iterated before" thing? | ||
timotimo | it potentially knows it's backed by a constant list OSLT? | 15:09 | |
IOninja | What's OSLT? On Stack.. List... T? | ||
Oh that seq isn't lazy? | 15:10 | ||
timotimo | or something like that | ||
IOninja | m: sub z (Iterable \a) { dd [a.WHAT, a.Bool] }; my $s = lazy 24, 55; z $s; say $s.elems | ||
camelia | [Seq, Bool::True] This Seq has already been iterated, and its values consumed (you might solve this by adding .cache on usages of the Seq, or by assigning the Seq into an array) in block <unit> at <tmp> line 1 |
||
IOninja | ah yeah | ||
timotimo | i can't believe my hunch was correct | ||
IOninja | :D | 15:11 | |
so... | 15:14 | ||
m: say ().Seq eqv () | |||
camelia | True | ||
IOninja | That's a bug, right? | ||
I have a fix with a spotless stresstest run... But wondering a bit if that was on purpose... | 15:15 | ||
cschwenz1 | p6: say ().Seq eqv ().List | 15:16 | |
camelia | True | ||
cschwenz1 | p6: say ().Seq eqv ().Array | ||
camelia | False | ||
IOninja | In particular, lucasb's question... | 15:17 | |
that makes me wonder | |||
m: sub (@a) {}( ().Seq ) | |||
camelia | ( no output ) | ||
IOninja | why does it get accepted | ||
m: sub (@a) {}.signature.params[0].type.say | |||
camelia | (Positional) | ||
timotimo | ? | ||
IOninja | m: say Seq ~~ Positional | ||
camelia | False | ||
timotimo | that's the positional bind failover | 15:18 | |
IOninja | Ah | ||
IOninja looks that up | |||
timotimo: what about ().Seq eq () giving True? | |||
15:18
araraloren joined
|
|||
timotimo | no idea | 15:19 | |
15:19
elaADnlxie joined
|
|||
elaADnlxie | eq or eqv? ;) | 15:19 | |
timotimo | eqv | ||
15:20
andrzejku left
|
|||
IOninja | m: say ().Seq.Str | 15:21 | |
camelia | |||
IOninja | m: say (1, 2, 3).Seq.Str | ||
camelia | 1 2 3 | ||
IOninja | m: say (1, 2, 3).Str | ||
camelia | 1 2 3 | ||
IOninja | Hm. | ||
I'll stash it in a branch and ask jnthn or TimToady | |||
whether ().Seq eq () should give true (as it does now) or false (as in my fix) | 15:22 | ||
elaADnlxie | m: say (1, 2, 3).Seq eqv [1, 2, 3] | 15:23 | |
camelia | False | ||
elaADnlxie | m: say (1, 2, 3).Seq eqv (1, 2, 3) | ||
camelia | True | ||
elaADnlxie | m: say [1, 2, 3] eqv (1, 2, 3) | ||
camelia | False | ||
elaADnlxie | unless there's some magic reason for it to give true, it is kinda obvious that it should be false | 15:24 | |
IOninja | elaADnlxie: well, what's the magic reason for positonalbindfailover? | 15:26 | |
elaADnlxie reads | 15:27 | ||
15:29
awwaiid joined
|
|||
IOninja | .ask jnthn would you have a second to look at github.com/rakudo/rakudo/pull/1030 ? It passes stresstest but I'm not 100% sure the original behaviour wasn't intended. | 15:29 | |
yoleaux | IOninja: I'll pass your message to jnthn. | ||
15:29
cdg joined
|
|||
elaADnlxie | IOninja: is it related to this? | 15:30 | |
IOninja waits for the this.... | |||
elaADnlxie | to the eqv issue | ||
IOninja | elaADnlxie: yes, the reason it ends up True is because we use (@a, @b) in the sig and the failover thing turns seq into a list | 15:31 | |
15:31
cdg left
|
|||
elaADnlxie | IOninja: so it caches it unnecessarily? | 15:31 | |
IOninja | I guess. | ||
15:31
cdg joined
|
|||
IOninja | Well, I dunno | 15:31 | |
m: say (lazy 2, 3) eqv 54 | 15:32 | ||
camelia | False | ||
IOninja | m: my $x = (lazy 2, 3); $ = $x eqv 54; say $x.elems | ||
camelia | Cannot .elems a lazy list in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | It's not like you can use it afterwards | ||
m: my $x = (lazy 2, 3); $ = $x eqv 54; say $x.cache.elems | |||
camelia | Cannot .elems a lazy list in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | m: my $x = (lazy 2, 3); $ = $x eqv 54; say $x.cache.Array.flat | ||
camelia | (...) | ||
IOninja | m: my $x = (lazy 2, 3); $ = $x eqv 54; put $x.cache.Array.flat | 15:33 | |
camelia | ... | ||
IOninja | jesus | ||
m: my $x = (lazy 2, 3); $ = $x eqv 54; put $x.cache[1] | |||
camelia | 3 | ||
IOninja | well... that still works on my version... | ||
elaADnlxie: I don't know how the bind thing works, but unless types mismatch `eqv` goes to check each element and reifies everything when things are the same | 15:35 | ||
elaADnlxie: why did you change nick. This one's hard to remember and I can't .tell you stuff | 15:36 | ||
15:36
n1ce left
|
|||
IOninja | And you don't read `AlexDaniel: ...` stuff | 15:36 | |
15:37
n1ce joined
|
|||
araraloren | Oh, elaADnlxie is AlexDaniel .. :) | 15:37 | |
Magic . | |||
IOninja | And LeCamarade is Zoffix | 15:38 | |
We're all cross-nickers | |||
DrForr | Don't get your nicks all in a twist. | ||
15:39
elaADnlxie left
15:40
[Coke] is now known as Cok,
Cok is now known as [Coke]
|
|||
moritz | [Coke]: re RT bugadmin, how does that work? | 15:41 | |
[Coke] | people complain they can't update tickets. You verify they are upstanding citizens, then go to that link, and add their RT login id (or email) and submit. | 15:42 | |
I have never had occasion to remove someone from the list, but you could do that too. | 15:43 | ||
moritz | [Coke]: is rt.perl.org/Admin/Groups/Members.html?id=178234 "that link"? | 15:44 | |
no, "parrot commits" sounds wrong | |||
[Coke] | no | 15:45 | |
ZzZombo | m: say 0e0=>Inf | ||
m: say Inf=>0e0 | |||
camelia | 0 => Inf | ||
Unexpected named argument 'Inf' passed in block <unit> at <tmp> line 1 |
|||
[Coke] | I sent you the link | ||
ZzZombo | :s | ||
[Coke] | Was in the email. | ||
ZzZombo | is there a Pair analog for any values as the key? | 15:46 | |
15:46
wamba joined
|
|||
IOninja | ZzZombo: what makes no sense. | 15:47 | |
ZzZombo | what or that, if the first, I | ||
moritz | [Coke]: haven't got any emails yet; will check my spam filter | ||
m: say Pair.new(2, 2).key.^name | |||
camelia | Int | ||
ZzZombo | 'm confused by the dot at the end of the sentence | ||
[Coke] | it's on your RT email addy, if that helps. | ||
IOninja | ZzZombo: is there a car analog for any human as the passenger? | 15:48 | |
moritz | ZzZombo: ^^ a pair with non-Str key | ||
[Coke] | ZzZombo: do you mean "Any", not any? | ||
IOninja | Oh, now I understand | ||
[Coke] | moritz++ | ||
ZzZombo | m: say Pair.new(Inf,0e0) | ||
camelia | Inf => 0 | ||
[Coke] | m: say Pair.new(Inf,0e0).perl; | 15:49 | |
camelia | (Inf) => 0e0 | ||
IOninja | m: (42 => 42).key.^name.say | ||
camelia | Int | ||
ZzZombo | thanks, moritz | ||
IOninja | Actually, no I wasn't wrong. | ||
moritz | found an email from my wife in the spam filter, but not from [Coke]++ :( | ||
IOninja | Pairs do not stringify keys | ||
m: ((Inf)=>0e0).key.^name.say | 15:50 | ||
camelia | Num | ||
IOninja | m: %(Inf=>0e0).keys[0].^name.say | ||
camelia | Str | ||
timotimo | are you saying we need a %:() syntax? | ||
[Coke] | irc'd it. | 15:51 | |
IOninja | timotimo: what would it do? | ||
[Coke] | ... that looks some sort of ASCII animal. | ||
timotimo | it'd give you an object hash | ||
much like :{ } does | |||
IOninja | .... | ||
[Coke] | m: :{ } :cookie! | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3:{ } :cookie7⏏5! expecting any of: infix infix stopper statement end statement modifier statement modifie… |
||
[Coke] | m: :{ }, :cookie! | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3:{ }, :cookie7⏏5! expecting any of: infix infix stopper statement end statement modifier statement modifi… |
||
[Coke] | aw. | ||
IOninja | timotimo: ... and so we don't need any syntax? | 15:52 | |
m: :{Inf=>0e0}.keys[0].^name.say | |||
camelia | Str | ||
IOninja | m: :{(Inf)=>0e0}.keys[0].^name.say | ||
camelia | Num | ||
timotimo | *shrug* | ||
IOninja | m: $_ = 42; :{ $_ =>0e0}.keys[0].^name.say | ||
camelia | Int | ||
timotimo | that's probably correct | ||
15:54
cschwenz1 left
|
|||
jnthn | IOninja: PositionalBindFailover is so that you can have `sub foo(@a) { }` and call it with stuff like foo(@b.grep(*.bar)), which should not work otherwise since Iterable is not Positional | 15:56 | |
yoleaux | 15:29Z <IOninja> jnthn: would you have a second to look at github.com/rakudo/rakudo/pull/1030 ? It passes stresstest but I'm not 100% sure the original behaviour wasn't intended. | ||
15:56
llfourn joined
15:57
pyrimidine left
15:58
pyrimidine joined
|
|||
IOninja | m: say ().Seq eqv () | 15:58 | |
camelia | True | ||
IOninja | ^ is that not a bug for the same reasons, then? | ||
jnthn | It's a bug because eqv is meant to distinguish by type | ||
IOninja | \o/ | ||
I'll merge the PR thenm | 15:59 | ||
jnthn | I'd guess eqv was a casualty of the GLR behavior change | ||
16:00
araraloren left
16:01
cdg left
16:02
llfourn left,
cdg joined,
pyrimidine left
|
|||
IOninja | ugh, GitHub seems to be bent on making the site as ugly as possible. | 16:03 | |
They now changed all the merge colors to Burn-Out-Your-Retina Blue | |||
And I bet this was because after the top bar change people told them notifications icon was hard to notice -_- | 16:04 | ||
[Coke] | I see the code links are now a deeper blue. Reminds me of C64 | ||
IOninja | oh god, yes, the links changed too >_< | 16:05 | |
Reminds me of the 90s when all the sites had default blue link colours. | |||
[Coke] | FWIW, I am not bothered by their color choices. | 16:06 | |
16:06
telex left
|
|||
IOninja | I'm terribly annoyed. | 16:07 | |
16:07
telex joined
|
|||
IOninja | The old colours were very welcoming. The new style—especially with this caustic blue—just make me want to close the page ASAP | 16:08 | |
There are always user styles, I guess.... | |||
16:08
domidumont left
|
|||
timotimo | *sigh* the good old times when all your site needed to stand out was non-default links for normal, hover, and visited ... | 16:12 | |
16:14
pyrimidine joined
|
|||
Geth | ecosystem: fd233e6de7 | (Jonathan Worthington)++ | META.list Add SSH::LibSSH. |
16:17 | |
16:19
bbkr_ left
16:22
CIAvash left
|
|||
IOninja | The good old times when www.csszengarden.com was the ideal and not "some nerd booed us for using default bootstrap colours so let's change them by banging our head on the number pad!" | 16:22 | |
timotimo | %) | 16:23 | |
that face when your buddy has a hexadecimal number pad and you just can't stand that every keyboard out there only has decimal numpads | 16:24 | ||
IOninja | :) | 16:25 | |
16:27
pyrimidine left,
pyrimidine joined
16:28
lucasb left
|
|||
IOninja | Having trouble reproing this to write a test: rt.perl.org/Ticket/Display.html?id=127403 | 16:30 | |
At least via a bot... | |||
IOninja builds 2016.01 release... | |||
[Coke] | win 32 | ||
IOninja | [Coke]: you won! | ||
[Coke] | oops | ||
16:31
aindilis left
16:32
pyrimidine left
|
|||
timotimo | i'm glad microsoft finally built a proper win64 | 16:32 | |
16:33
khw joined
|
|||
[Coke] | timotimo: nerdist.com/smash-mouths-all-star-m...our-brain/ | 16:33 | |
timotimo | all star is a fantastic base upon which to build memeperiums | 16:34 | |
16:34
gdonald_ left
16:35
gdonald_ joined
|
|||
IOninja | Can't repro with a build either.... | 16:35 | |
Guess I'll close it without a test... | |||
timotimo | so sad that the linux/opensource people haven't yet built a worthy replacement for Space Cadet | ||
it's very clear that linux has only such a weak presence on the desktop because of lack of space cadet | 16:36 | ||
i mean, they already have solitaire and spider solitaire and also minesweeper | |||
16:41
elaADnlxie joined
|
|||
elaADnlxie | . | 16:42 | |
16:42
elaADnlxie is now known as AlexDaniel
|
|||
AlexDaniel | . | 16:42 | |
16:42
AlexDaniel is now known as elaADnlxie
|
|||
elaADnlxie | IOninja: nobody .tells me anyway :) | 16:42 | |
IOninja | I suspect this bug hits OSX only. If anyone has OSX and can build 86a90be to repro the bug and write the test to cover it: rt.perl.org/Ticket/Display.html?id...xn-1451967 | 16:43 | |
elaADnlxie | IOninja: thing is, I'm wondering what should happen if you eqv two Seqs | ||
IOninja: or even a Seq and something else | |||
pretty sure they should not be reified | |||
IOninja | elaADnlxie: 'cause you were using this weird nick and I didn't bother using the bot, it was just amention in hopes you at least read the log | ||
elaADnlxie | I do, sometimes :) | 16:44 | |
IOninja | Well, I said something | ||
I forget what | |||
Oh, no I didn't | 16:45 | ||
But I wanted to | |||
elaADnlxie | now you understand how we feel… :) | ||
IOninja | It's about (HEAD) in tickets. I've no idea what HEAD is when reading the ticket, so if that's bot-generated the bot should say what SHA the head is | ||
mc: say 42 | 16:46 | ||
committable6 | IOninja, ¦«2015.12»: | ||
elaADnlxie | right! I've never thought about it | ||
IOninja: and now you finally noticed how I broke the bot! | |||
timotimo | we can probably convert a date/time into "what is HEAD in commitable right now?" | ||
IOninja | Oh hehe | ||
elaADnlxie | e: say 42 | ||
evalable6 | elaADnlxie, rakudo-moar dd1dab2e3: OUTPUT«42» | ||
elaADnlxie | evalable kinda does it already | ||
wow, what a SHA… | |||
c: HEAD say 42 | 16:47 | ||
committable6 | elaADnlxie, ¦«HEAD»: 42 | ||
timotimo | it's easy as 1 2 3 | ||
elaADnlxie | committable doesn't | ||
there's this ticket also: github.com/perl6/whateverable/issues/49 | |||
(if open, then not fixed) | |||
SmokeMachine | Im fixing the ?? !! PR... I have a question: do you the unicode ⁇ should match the not unicode !! and vice-versa? in my opinion it shouldn't... but I just want to be sure... | 16:54 | |
16:55
eroux joined
16:56
llfourn joined
|
|||
moritz | is there a good reason to require a match? | 16:56 | |
m: say ༩9 | 16:57 | ||
camelia | 99 | ||
moritz | we allow mixing of scripts in numbers, so I think it would be consistent to allow a mixing here too | ||
IOninja | m: say 42 »+« 55 | 16:58 | |
camelia | 97 | ||
IOninja | m: say 42 »+<< 55 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing « or » at <tmp>:1 ------> 3say 42 »+7⏏5<< 55 expecting any of: infix infix stopper |
||
SmokeMachine | moritz: match, I mean: ⁇ !! and ?? ‼ be OK | ||
IOninja | We don't allow that here, and IMO we shouldn't | ||
SmokeMachine | IOninja: ok! i agree! | ||
IOninja | The `⁇ !!` looks like "it works only by accident" to me. There's no good reason to mix them that way when writing code. | 16:59 | |
SmokeMachine | IOninja: I trying to make ?? !! and ⁇ ‼ a single token... | ||
IOninja: I agree... | |||
17:01
llfourn left
|
|||
IOninja | m: "༩9".comb».uniprop.say | 17:01 | |
camelia | (Nd Nd) | ||
IOninja | And these work because they have the same Unicode property | 17:02 | |
17:02
rurban joined
|
|||
elaADnlxie | I'd say it should work, but then »<< stuff has to be changed as well. Therefore no :) | 17:02 | |
SmokeMachine | IOninja: Im trying something like this... but the $*GOAL inside of the [] isn't working... www.irccloud.com/pastebin/gQSxKzMR/ | 17:03 | |
IOninja | SmokeMachine: stick {} before it | 17:04 | |
SmokeMachine | IOninja: do you mean {$*GOAL} ? | 17:05 | |
IOninja | That's not before it :) | ||
Hold on. | 17:06 | ||
SmokeMachine | IOninja: sorry, but {}$*GOAL didn't make sense for me... :P | ||
IOninja | m: grammar { token TOP { <foo> {} :my $*GOAL = $<foo> eq 'foo' ?? 'x' !! 'y'; [$*GOAL ]}; token foo { .**3 } }.parse('foox').say | 17:07 | |
camelia | 「foox」 foo => 「foo」 |
||
IOninja | m: grammar { token TOP { <foo> :my $*GOAL = $<foo> eq 'foo' ?? 'x' !! 'y'; [$*GOAL ]}; token foo { .**3 } }.parse('foox').say | ||
camelia | Use of Nil in string context in regex TOP at <tmp> line 1 Nil |
||
IOninja | Right, before the `:my` thing | ||
SmokeMachine | IOninja: thanks! | 17:08 | |
IOninja | SmokeMachine: updating $/ is very expensive so it's not done willy-nilly and empty {} forces the update, so that ~$<sym> inside the :my thing has proper value | ||
SmokeMachine | thanks! I got it! | ||
IOninja | SmokeMachine: and $*TERNARYBEGIN stuff... that can probably be avoided by just using the ~$<sym> instead | 17:10 | |
like, don't store it in a variable | |||
SmokeMachine | IOninja: yes, Im going that way! | ||
IOninja | And in `~$<sym> eq '??'` eq already stringifies, no need for `~` | ||
SmokeMachine | ok | 17:11 | |
17:12
ribasushi left
|
|||
IOninja | Well, any block forces the update, not just the empty one. But if you don't got any code to run in a block, you can use an empty ojne. | 17:15 | |
perlpilot wonders how to type the unicode ?? on his keyboard without needing to know the hex value. | 17:16 | ||
I may need to remap <compose>?? to be ⁇ instead of ¿ | |||
IOninja | same | 17:17 | |
¡ | |||
perlpilot | yeah, that too | ||
17:18
esh left
|
|||
IOninja | u: ⁇‼ | 17:18 | |
unicodable6 | IOninja, U+2047 DOUBLE QUESTION MARK [Po] (⁇) | ||
IOninja, U+203C DOUBLE EXCLAMATION MARK [Po] (‼) | |||
elaADnlxie | you can add it to your compose file, or you can add it to your keyboard layout directly | ||
IOninja | The codes are pretty easy to remember :) | ||
elaADnlxie | or you can configure your editor | ||
IOninja | m: say 42 ⁇ "heh" ‼ "meow" | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3say 427⏏5 ⁇ "heh" ‼ "meow" expecting any of: infix infix stopper postfix statement end statement modifier… |
||
elaADnlxie | … or you can learn to use your editor so that you can search characters by name… | ||
IOninja | Hm, these are starting to grow on me :} | 17:19 | |
elaADnlxie | IOninja: wait for ≤ ≥ ;) | ||
SmokeMachine | is mon broken? | ||
IOninja | elaADnlxie: And the =/= | ||
elaADnlxie | oh, ≠, right | 17:20 | |
IOninja | No idea what the code for it is | ||
u: ≠ | |||
unicodable6 | IOninja, U+2260 NOT EQUAL TO [Sm] (≠) | ||
IOninja | SmokeMachine: what's 'mon'? | ||
n | |||
SmokeMachine | sorry, nom | 17:21 | |
IOninja eyes ≢ and ≣ | |||
SmokeMachine: nope, passed all stresstests on its last commit. | |||
elaADnlxie | note for emacs users: C-x 8 RET to enter characters by name, and helm can help you with the search | ||
IOninja | SmokeMachine: did you pull from rakudo/rakudo tho? | ||
SmokeMachine | git pull --rebase github.com/rakudo/rakudo | 17:22 | |
IOninja | Yeah, and did that succeed? | ||
SmokeMachine: and... did you do it recently to pull all the changes? | |||
Oh, reminds me, I need to write the test for ().Seq eqv () thing | |||
SmokeMachine: also is t/spec perl6/roast/master or is it your fork that's now outdated? | 17:23 | ||
SmokeMachine | yes... but its not I just did it... and now make doesn't work... | 17:24 | |
IOninja | run configure | 17:25 | |
perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install | |||
SmokeMachine | of course! sorry! | ||
about the t/spec, I do this: www.irccloud.com/pastebin/Fd5FBqrF/ | 17:26 | ||
IOninja | m: use Test; cmp-ok 42, '!eqv', 43 | ||
camelia | not ok 1 - # Failed test at <tmp> line 1 # Could not use '"!eqv"' as a comparator. |
||
IOninja | m: use Test; cmp-ok 42, &[!eqv], 43 | 17:27 | |
camelia | ok 1 - | ||
IOninja | Str version should prolly do the same thing; though I recall the code for it is tricky as it is.... | ||
SmokeMachine | IOninja: running stress tests... | 17:31 | |
IOninja | don't forget TEST_JOBS var | 17:32 | |
SmokeMachine | does dubious tests mean error? | ||
IOninja | yes, that's often due to them failing to compile | 17:33 | |
17:34
sufrostico left,
sufrosti1o left,
sufrostico joined
17:35
sufrosti1o joined
|
|||
SmokeMachine | IOninja: now I have to ride my girls to the movies... should I update my PR to get more comments and see what happened with the tests when I get back? or should I update when the tests are passing? | 17:37 | |
IOninja | SmokeMachine: update when tests are passing. | 17:38 | |
SmokeMachine | ok | ||
IOninja | And well,. show the tests on IRC, maybe some failures aren't due to your PR | ||
timotimo | especially since we also have added some roast commits and some rakudo commits since that PR started | 17:44 | |
IOninja | lulz S03-operators/eqv.t has seriously Perl-5-ish tests in it | 17:46 | |
timotimo | it's probably 10 years old | ||
IOninja | my $a = \3; my $b = \3; ok ($a eqv $a), "eqv on scalar references (1-1)"; | ||
timotimo | "references" %) | ||
m: my $a = \3; dd $a | |||
camelia | Potential difficulties: To refer to a positional match capture, just use $0 (numbering starts at 0). Parenthesize as \(...) if you intended a capture of a single numeric value. at <tmp>:1 ------> 3my $a = \7⏏053; dd $a Cap… |
||
timotimo | yeah | ||
that's skipped, right? | 17:47 | ||
IOninja | No | ||
That's just a warning. | |||
timotimo | oh | ||
IOninja | m: $*ERR.close; my $a = \3; dd $a | 17:48 | |
camelia | Potential difficulties: To refer to a positional match capture, just use $0 (numbering starts at 0). Parenthesize as \(...) if you intended a capture of a single numeric value. at <tmp>:1 ------> 3$*ERR.close; my $a = \7⏏053;… |
||
IOninja | :( | ||
m: BEGIN $*ERR.close; my $a = \3; dd $a | |||
camelia | ( no output ) | ||
IOninja | m: BEGIN $*ERR.close; my $a = \3; say $a | ||
camelia | ( no output ) | ||
timotimo | need to ... yeah | ||
IOninja | orly | ||
17:48
pyrimidine joined
|
|||
IOninja | Ah, tis the bot quirk | 17:50 | |
Doesn't do anything in normal terminal | |||
"You have POTENTIAL difficulties in your code, but I won't stfu, so you may as well go ahead and change them right now. Love. Perl6" | 17:51 | ||
timotimo | haha | 17:52 | |
it does offer something to shut the compiler up | |||
in this case \(3) instead of \3 | |||
IOninja | heh | ||
timotimo | which is also how it prints it out | ||
17:53
dakkar left,
ZzZombo_ joined,
mcmillhj left,
mcmillhj joined
17:54
ZzZombo left
17:56
Sound joined,
ambs joined
17:57
llfourn joined,
ribasushi joined
|
|||
IOninja | m: use MONKEY; class Foo { method message { say "class" } }; role Bar { method message { say "role" } }; augment class Foo does Bar {}; Foo.new.message | 17:59 | |
camelia | class | ||
IOninja | Is there a way to replace a method in a class? | ||
18:02
llfourn left
|
|||
timotimo | well, putting a method into a class that's the same as in a role is how you resolve conflicts in multiple-inheritance situations | 18:02 | |
[Coke] | m: use MONKEY; class Foo { method message { say "class" } }; agument class Foo {method message { say "ook"}; Foo.new.messsage; | 18:05 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Redeclaration of symbol 'Foo' at <tmp>:1 ------> 3age { say "class" } }; agument class Foo7⏏5 {method message { say "ook"}; Foo.new.m expecting any of: generic role |
||
18:05
aindilis joined
|
|||
[Coke] | m: use MONKEY; class Foo { method message { say "class" } }; augment class Foo {method message { say "ook"}; Foo.new.messsage; | 18:05 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Package 'Foo' already has a method 'message' (did you mean to declare a multi-method?) at <tmp>:1 |
||
IOninja | m: class Foo { method message { say "class" } }; Foo.^lookup('message').wrap: method () { say "role" }; Foo.new.message | ||
camelia | role | ||
IOninja | m: \3 | 18:11 | |
camelia | Potential difficulties: To refer to a positional match capture, just use $0 (numbering starts at 0). Parenthesize as \(...) if you intended a capture of a single numeric value. at <tmp>:1 ------> 3\7⏏053 |
||
IOninja | m: BEGIN X::Comp::Group.^lookup('gist').wrap: -> | { say "'You're the boss, boss! I'll keep my face shut'" }; \3 | 18:12 | |
camelia | 'You're the boss, boss! I'll keep my face shut' True |
||
IOninja | ehehe. I showed it who's boss :} | ||
18:12
esh joined,
zakharyas left
|
|||
IOninja | m: BEGIN X::Comp::Group.^lookup('gist').wrap: -> | { "'You're the boss, boss! I'll keep my face shut'" }; say \3 | 18:12 | |
camelia | 'You're the boss, boss! I'll keep my face shut'\(3) | ||
IOninja | m: BEGIN X::Comp::Group.^lookup('gist').wrap: -> | {''}; say \3 | 18:13 | |
camelia | \(3) | ||
[Coke] | Any sixers in NYC? I'll be visiting for perl things on the 14th. | 18:15 | |
18:17
esh left
|
|||
IOninja | m: sub infix:<?> is tighter(&postfix:<i>){ $^a || $^b }; say 42 ? 5 | 18:18 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3hter(&postfix:<i>){ $^a || $^b }; say 427⏏5 ? 5 expecting any of: infix infix stopper postfix statement end st… |
||
IOninja | Can't define your own op that's a `?`, eh? | ||
timotimo | bah, smls beat me by about 2 minutes on stackoverflow | ||
18:19
risou is now known as risou_awy
18:20
risou_awy is now known as risou
18:21
jonas1 left
|
|||
IOninja | heh, that person with PCRE jumping in :P | 18:21 | |
18:22
cyphase left
|
|||
timotimo | yeah | 18:23 | |
18:27
esh joined,
cyphase joined,
pyrimidine left
18:28
pyrimidine joined,
esh left
|
|||
IOninja keeps mixing up meanings of <before>/<after> | 18:31 | ||
18:34
pyrimidine left,
esh joined
|
|||
IOninja | .oO( Pro::Test ) |
18:36 | |
Gonna make a testing module. | 18:37 | ||
tony-o | IOninja: check out 'Green' | 18:38 | |
IOninja | buggable: eco green | ||
buggable | IOninja, Green 'Parallel testing utility, it's really great': github.com/tony-o/perl6-green | ||
tony-o | if you want to contribute/have feedback i'd love to have/hear it | ||
IOninja | no docs? | ||
tony-o | ugexe.com/parallel-testing-and-a-pe...ilgrimage/ | ||
i have a bug that was filed, i'm writing docs as we speak, actually | 18:39 | ||
(writing docs in the README rather than a link to the blog post in the README) | 18:40 | ||
IOninja | My first impression is it looks really ugly. | ||
What's with that epileptic skull at the end? | |||
tony-o | my sweet profile photo | 18:41 | |
IOninja | tony-o: so does it produce TAP? | ||
tony-o | what do you mean it looks ugly, the output? | ||
IOninja: it consumes TAP | |||
IOninja | Oh | ||
No I meant the code. All the brace-fest | 18:42 | ||
IOninja installs | |||
`zef install github.com/tony-o/perl6-green` don't work... I thought it was the future! | |||
tony-o | it's doable without all of the braces (with the exception of the subs) | 18:43 | |
lol, really? | |||
IOninja | I think it expects a ZIP archive or something | ||
tony-o | oh my zef is in the middle of changes | ||
and it's borked | |||
18:44
jdickens joined
|
|||
tony-o | `zef install Green` should work, though | 18:44 | |
IOninja | I just cloned and zef install . | ||
tony-o | that works too | ||
IOninja | Seems to be just hanging... Unless it's compiling a gajillion of modules :/ | ||
tony-o | terminal::ansicolor | 18:45 | |
is the only module it uses | |||
18:45
Actualeyes left
|
|||
IOninja | This is what I'm trying: gist.github.com/zoffixznet/4a7e298...901eb25407 | 18:45 | |
And I get no output, it just sits there | |||
18:46
espadrine joined
|
|||
jdickens | Does anyone remeber the name of the video where a guy from a big perl shop (perhaps bookings.com) say they choose perl because they got tired of going with the latest fad framework/language | 18:46 | |
IOninja | jdickens: dunno, but that sounds like something Curtis 'Ovid' Poe might say.... | ||
tony-o | IOninja: you'd run that file with green, not perl6 | 18:47 | |
IOninja | Ohh | ||
tony-o | still hangs, looks like i need to remove some dust from that one too - arg | 18:48 | |
IOninja | :) | ||
tony-o | there is a lot of shorthand ways without all of the braces, checkout the examples/ folder | 18:49 | |
IOninja | tony-o: I assume in the shorthand `ok 1 == 1;` I can still add proper description? | ||
tony-o | yessir | 18:50 | |
IOninja | tony-o: FWIW, I'm a bit amused with the description on the site about making it easy to run, but the first thing I tried running is green my-test-file and it complained that there's no such such directory and I had to create one and move the test file there :) | 18:51 | |
tony-o | yea i know | ||
looks like i have a queue of old modules i need to maintain :-) | 18:52 | ||
IOninja | :) | ||
tony-o | it *was* easy to run when it was working, though | 18:54 | |
that's my excuse, anyway | |||
IOninja has 6p alias to run tests :P | |||
`prove -e 'perl6 -Ilib' -vlr` | 18:55 | ||
DrForr | IOninja: '6p' and '6' here :) | ||
tony-o | i just use !pro and it runs the same prove command i originally used 3 years ago | ||
18:58
llfourn joined
19:00
effbiai left
19:01
cdg_ joined
19:02
effbiai joined
19:03
llfourn left
|
|||
tony-o | found the issue IOninja , the errors aren't bubbling out of scope anymore, doh | 19:03 | |
Geth | ecosystem: bradclawsie++ created pull request #300: add Context |
||
19:05
cdg left
19:06
cdg_ left
|
|||
Geth | ecosystem: 2cf6648946 | (Brad Clawsie)++ | META.list add Context (#300) github.com/bradclawsie/Context |
19:07 | |
IOninja | tony-o: but in any case, for Pro::Test I was thinking more of re-touching Test.pm6 a bit. Its routines are basically Perl 5's copies, which don't fit well into Perl 6. | 19:08 | |
19:08
darutoko left
|
|||
IOninja | Not a whole 'nother system of testing | 19:08 | |
tony-o | i'd love to see that | 19:09 | |
IOninja | Like, `is`. I'll burn it with fire. | ||
tony-o | and i could integrate green with it | ||
IOninja | Cool. | ||
Won't happen any time soon, 'cause I gotta do IO stuff for the next 2 months :P | 19:10 | ||
19:10
nowan_ joined
|
|||
IOninja | ninjaing /o/ -o- \o- | 19:10 | |
tony-o | i'm a fan of getting the IO stuff tip top | ||
not that it's not already pretty ++ | 19:11 | ||
IOninja | .oO( you clearly haven't seen the code :o ) |
||
:D | |||
Hm, and after IO I wanted to sort out the FatRat stuff. | 19:12 | ||
19:12
risou is now known as risou_awy,
nowan left
|
|||
IOninja | Time to quit my job and be hobo! I can always program at a local library :P | 19:12 | |
19:13
risou_awy is now known as risou
|
|||
tony-o | i have seen it, i've spent a lot of time digging around in it and chatting with timotimo and jnthn :-), it works and it's come a long ways since 2012 when i first started digging around in there | 19:16 | |
IOninja | :) | 19:17 | |
El_Che | IOninja: weren't you a hobo already? ;) | 19:18 | |
19:18
jdickens left
|
|||
IOninja | El_Che: why do you say that? | 19:19 | |
tony-o | Green fixes are pushed up to github IOninja | ||
IOninja | I actually have been a hobo for about a month in my teens but didn't really realize it at the time... | ||
tony-o: cool | 19:20 | ||
tony-o | being a hobo is fun, ultraromance++ | ||
El_Che | IOninja: you change nicks al the time. I thought you used the one on whatever public pc was used ;) | 19:22 | |
IOninja | lol | ||
19:30
alphah joined,
labster joined
19:31
risou is now known as risou_awy
|
|||
alphah | Hello Perl6, How to disable the error message when try to shift empty array? 'p6: my @a.shift or die "Usgae:"' | 19:33 | |
[Coke] | m: my @a; @a.shift; | 19:34 | |
camelia | Cannot shift from an empty Array in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | p6: try (my @a.shift) or die "Usgae:" | ||
camelia | ( no output ) | ||
IOninja was hoping for output there... | 19:35 | ||
alphah: back up a bit. Why do you need this? | |||
[Coke] | @a // @a.shift | ||
IOninja | :/ | ||
useless use of // :) | 19:36 | ||
timotimo | IOninja: i expect your try was swallowing the whole statement | ||
i.e. do it like this: | |||
p6: (try my @a.shift) or die "Usage: " | 19:37 | ||
IOninja | timotimo: mhm, paren in wrong place | ||
camelia | Usage: in block <unit> at <tmp> line 1 |
||
[Coke] | perhaps I meant @a && @a.shift. :P | ||
IOninja | perhaps .shift should die :) I don't get why it does | ||
timotimo | um but it does already die? | 19:38 | |
IOninja | *shouldn't | ||
timotimo | oh | ||
IOninja | alphah: you still alive? | ||
19:38
Ven joined
|
|||
timotimo | m: my @a.pop # also dies | 19:38 | |
camelia | Cannot pop from an empty Array in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | alphah: kinda sucks that you ask a question and leave, while the rest of ask asked you questions and waiting for response... | ||
alphah | @IOninja I need to shift the array based on user input (it's Arguments array) and I need to assign an Arg. A value. | 19:40 | |
I did not leave, I'm just rying to explain why I need it,, (English is my not first so it take time) | |||
DrForr | alphah: 'my @a.shift;' would throw away the shifted value, if it did work. You probably wanted 'my $arg = @a.shift;' which would preserve the argument. | 19:41 | |
IOninja | alphah: but how do you end up with an array that has stuff that you want to shift in the first place? | ||
moritz | alphah: maybe you want @a && @a.shift ? | ||
DrForr | alphah: Also, you might want to read the documentation for MAIN - It can do some things that you might be overlooking. | 19:42 | |
alphah | I'll post the code, one minute | ||
IOninja | OK | ||
timotimo | and of course looking at the multiple GetOpt and similar modules also probably helps | 19:43 | |
[Coke] | (use a paste service, please) | ||
alphah | I dont want to use getopt, i need the program args to look like Human sentences,, without "--" or "-":any way here is the code: | 19:46 | |
19:46
lep_ left
|
|||
alphah | while @!laws.shift -> $law { | 19:46 | |
given $law { -> $law { | |||
IOninja | alphah: would you use a pastebin please? It's hard to read (or run) code pasted into IRC | ||
19:46
lep-delete joined
|
|||
IOninja | alphah: here: gist.github.com/ paste code. Press button, and give us the url of the page | 19:47 | |
alphah | alright one secone (Have not used it before), and sorry guys I'm tottaly noop | ||
IOninja | noop :P{ | ||
19:47
bjz joined
|
|||
DrForr | alphah: We all had to start somewhere :) | 19:48 | |
IOninja | Except me. I was born awesome. | ||
[Coke] | IOninja: really? What happened? | ||
IOninja | Hm? | ||
I don't get it. | 19:49 | ||
[Coke] is implying that you are no longer awesome, and then asks what happened to cause the change. | |||
19:49
esh left,
esh joined
|
|||
IOninja | Oh, ok | 19:49 | |
timotimo | haha ooooh | ||
[Coke] | ¿uɹnq ǝɥʇ ʃǝǝɟ | 19:50 | |
IOninja | While we wait: on the subject of things dying.... .push dies, but .pop returns a Failure | ||
and .unshift, .shift return Failures | |||
alphah | gist.github.com/anonymous/e7a70d17...dc3f63be65 | ||
IOninja | hahaha | 19:51 | |
I knew Perl 6 with 8-space tab looked mental :P | |||
alphah: but that's not all the code. Where do you get @!laws from? | |||
timotimo | i'd get neck cramps from coding like that | ||
IOninja | alphah: AND where is that used afterwards that you're shifting from it? | 19:52 | |
alphah | I actually have 2-tab but "cat" and copy/paste converted it | 19:53 | |
timotimo | ah, of course | ||
alphah | anyway @!laws = @*ARGS | ||
IOninja | alphah: what I mean is... you do know you can write it with a `for`: gist.github.com/zoffixznet/3462578...2b051765a0 | ||
19:53
pyrimidine joined
|
|||
IOninja | alphah: OK, but why shift it? As opposed to leaving it as is. | 19:53 | |
moritz | Please vote for covers for the "Perl 6 by Example" book: en.99designs.de/contests/poll/f5ls74 | 19:54 | |
alphah | say the use will run the program is program.p6 arg1 valu1 arg2 val2 arg3bool | ||
IOninja | moritz: #57 by far | 19:55 | |
alphah: but you just wanna loop over all the args, right. | |||
alphah | yes | 19:56 | |
moritz | IOninja: thanks | ||
IOninja | alphah: right, so toss shift outta the window. It's for modifying arrays and you don't care about it. Just loop over it with `for` | ||
19:56
ggoebel left
|
|||
moritz | IOninja: can you please also leave a vote on that page, so that I don't lose overview? :-) | 19:57 | |
IOninja | Done. I think. | ||
moritz | I says votes (0) :( | 19:58 | |
ah no | |||
only on the overview | |||
thanks! | 19:59 | ||
IOninja | m: @*ARGS = 'origin'; multi MAIN (@ ('origin')) { say "meow"; } | ||
camelia | Usage: <tmp> <Positional> |
||
IOninja | It doesn't like literals in subsigs? | ||
19:59
llfourn joined
|
|||
IOninja | Ah, need a slurp | 20:00 | |
Um, nope | |||
m: @*ARGS = 'meow meow meow'; multi MAIN (*@ ('origin')) { say "meow"; } | |||
camelia | Usage: <tmp> [<Positional> ...] |
||
IOninja | :/ | ||
nm... PEBKAK | |||
20:02
labster left
|
|||
alphah | @IOninja will see if I can get rid of shift | 20:03 | |
IOninja | alphah: it's in the first gist I showed you. Just use `for @!laws -> $law` | ||
alphah: also, you can do stuff like this: gist.github.com/zoffixznet/737ba01...189cce19b8 | |||
oh wait, you don't need the slurpy :} | 20:04 | ||
alphah: I meant this: gist.github.com/zoffixznet/399d32f...85d1e97980 | 20:05 | ||
20:05
llfourn left
|
|||
alphah | alright will take a look at these, Thanks for help | 20:05 | |
IOninja | m: my @laws = <power force meow>; for @laws { when 'power' { say 'Power overwhelming' }; when 'force' { say 'Use the force, Luke' }; when 'meow' { say 'KITTY!' } } | 20:08 | |
camelia | Power overwhelming Use the force, Luke KITTY! |
||
IOninja | m: my @laws = <power force meow>; while (try @laws.shift) { when 'power' { say 'Power overwhelming' }; when 'force' { say 'Use the force, Luke' }; when 'meow' { say 'KITTY!' } } | 20:09 | |
camelia | ( no output ) | ||
IOninja | Glitch? | ||
works if you declare explicit -> $_ sig | 20:10 | ||
20:10
ajr_ joined
|
|||
IOninja | m: Nil.head | 20:11 | |
camelia | Cannot resolve caller head(Nil: ); none of these signatures match: (Any:D $: *%_) (Any:D $: $n, *%_) in block <unit> at <tmp> line 1 |
||
IOninja | Another area in need of polish. Our "safe call" operator ain't that safe. | 20:12 | |
ajr_ | By dint of some scary fiddling with swap space, I have managed to install Perl 6 on a Raspeberry Pi 3 | ||
IOninja | wooo \o/ | ||
ajr_: how much spaw did you use? | |||
ajr_ | Some of the tests for Rakudo* failed, but Perl 6 REPL says "Hello" back to me | 20:13 | |
IOninja | Cool | ||
[Coke] | \o/ | ||
ajr_ | I changed the multiplier to 3 and assigned it to a USB key | 20:14 | |
IOninja | cool | ||
m: say Cool xx 5 | |||
camelia | ((Cool) (Cool) (Cool) (Cool) (Cool)) | ||
ajr_ | (Do not assign unlimited swap to your SD card; the result will be very painful | ||
) | |||
That was with 2016.10. I'll try 2017.01. If I get test failures, where's the best place to report them? | 20:16 | ||
IOninja | huggable: rakudobug | 20:17 | |
huggable | IOninja, Report bugs by emailing to [email@hidden.address] | ||
IOninja | ^ there | ||
ajr_: FWIW, instead of building Rakudo Star just build the compiler. | |||
ajr_: rakudo.org/downloads/rakudo/ | |||
ajr_: do you have git on that thing? After you install the compiler, just clone github.com/ugexe/zef and run perl6 -Ilib bin/zef install . in the repo to bootstrap it | 20:18 | ||
ajr_: oh, also I misspoke. The failures: if they're Rakudo's tests, report them by emailing to [email@hidden.address] but if these are module failure tests, report them to the appropiate module author. You can usually get the repo by going to modules.perl6.org/repo/THE_MODULE_NAME | 20:19 | ||
20:20
ajr_ left
|
|||
IOninja | heh | 20:21 | |
20:21
cpage_ left
|
|||
IOninja | Hope they got the correction about where to report stuff. | 20:21 | |
20:23
ZzZombo_ left
|
|||
IOninja | huggable: zef | 20:25 | |
huggable | IOninja, nothing found | ||
IOninja | huggable: zef :is: To install Perl 6's zef package manager: cd $(mktemp -d); git clone github.com/ugexe/zef .; perl6 -Ilib bin/zef install . | ||
huggable | IOninja, Added zef as To install Perl 6's zef package manager: cd $(mktemp -d); git clone github.com/ugexe/zef .; perl6 -Ilib bin/zef install . | ||
IOninja | huggable: zef :is: To install Perl 6's zef package manager: cd $(mktemp -d) && git clone github.com/ugexe/zef . && perl6 -Ilib bin/zef install . | 20:26 | |
huggable | IOninja, Added zef as To install Perl 6's zef package manager: cd $(mktemp -d) && git clone github.com/ugexe/zef . && perl6 -Ilib bin/zef install . | ||
20:27
ZzZombo joined,
ZzZombo is now known as Guest11969
20:32
ajr_ joined
|
|||
ajr_ | Sorry, flaky connection dropped me. Why do you recommend compiler-only, rather than R*? | 20:33 | |
timotimo | we didn't make a rakudo star release for the past month yet | 20:34 | |
20:34
wamba left,
Guest11969 left
|
|||
geekosaur | r* always lags a bit, rakudo dev moves quickly whacking bugs in key areas | 20:36 | |
like, if you're playing with threads, you almost always want to track rakudo git | |||
20:37
labster joined
|
|||
IOninja | ajr_: not to the the most regular users, but you're doing something tricky and it sounds like you could benefit from NOT installing all the modules that come with Rakudo Star that you most likely won't ever use. | 20:37 | |
ajr_: I mean... Rakudo Star *is* for most regular users who just want to push button and receive bacon | |||
ajr_ | I'm nowhere near that bleeding-edge. Isn't verifying the building process for the masses useful? | ||
I'm concerned about all the Python hissing, especially on the Pi. I want to make sure that noobs have a guide | 20:39 | ||
IOninja | ajr_: what sort of RPi you got? I wanna get one myself... | 20:41 | |
The one that managed to build Perl 6 | |||
Though, I suppose fixing all the test failures on Windows would be a more desirable task. | 20:43 | ||
If anyone wants to have a go: github.com/perl6/roast/issues/197 | 20:44 | ||
20:48
lichtkind_ joined,
f3ew_ joined,
garu_ joined,
mls_ joined,
b^_^d joined,
ggoebel joined
|
|||
stmuk | I've built R on a RPI3 before although I had to upgrade GCC (the one Raspian ships with or shipped with gave me an odd internal error) | 20:50 | |
ajr_ | IOninja - the one that came with a Pi-Top CEED pi-top.com/product/ceed - a 3 | ||
(Using the Pi-top OS) | 20:51 | ||
20:51
lichtkind__ left,
Util_ joined
|
|||
[Coke] | IOninja: did jnthn's recent \n | \r\n fix help any of those? | 20:52 | |
20:53
Util left,
mls left,
d^_^b left,
garu left,
f3ew left,
eroux left
|
|||
ajr_ | stmuk - what did you do about swap space? | 20:53 | |
stmuk | I think I added an extra swap file | 20:54 | |
ajr_ | BTW, giving make -j 4 seemed to be worthwhile. Watching top, at least a couple of times it seemed to be running > 1 job | 20:58 | |
21:00
cdg joined
21:01
llfourn joined
21:02
TEttinger joined
|
|||
ajr_ | stmuk - where did you put it? I set the swap file to a USB key, which seemed to work, despite only being USB 2 | 21:05 | |
stmuk | I think I had a total of 2GB VM and it took several hours (forget exactly how long). Next time I shall try -j | ||
21:05
mr-foobar left
|
|||
stmuk | ajr_: I forget exactly where | 21:06 | |
21:06
llfourn left
|
|||
IOninja | [Coke], haven't tried but I doubt it's more than a couple | 21:07 | |
21:07
kurahaupo__ joined
21:09
ajr_ left
|
|||
lucs | (bis) Inline::Perl5 problem: gist.github.com/lucs/dd83de28db512...5878eb00c2 | 21:09 | |
21:10
bjz left
21:12
gdonald_ left
21:15
risou_awy is now known as risou
|
|||
lucs | My description is probably pretty thin to help for debugging, but maybe someone can suggest what else would be needed to make a proper issue report. | 21:16 | |
The Perl 5 code I happen to be inlining is not mine, and I don't quite know how to make extract a small working (or rather, failing) example. | 21:17 | ||
s/make // | |||
21:18
pyrimidine left
21:19
pyrimidine joined
21:21
sena_kun joined
21:22
darthdeus joined
|
|||
darthdeus | hey guys, I just found out about perl6 today and holyshit :O how is this not the best language ever? :D | 21:22 | |
IOninja | It is :) | 21:23 | |
What do you like about it? | |||
darthdeus | huffman coding syntax :P metaoperators, perfect lambda syntax, exception/error handling, grammars :P | 21:25 | |
elaADnlxie | darthdeus: you're welcome in our efforts to make rakudo faster! | ||
IOninja | :) | ||
darthdeus | I have yet to write my first line of code though, only been on a lecture that was kinda "why is perl6 better than everything else" | ||
elaADnlxie: yeah I've heard that performance is the current issue | |||
elaADnlxie | well, start with something like… | 21:26 | |
IOninja | hah, cool | ||
elaADnlxie | m: say ‘hello world’ | ||
camelia | hello world | ||
DrForr | What lecture was that? | ||
darthdeus | DrForr: my university has a new course on perl6 | ||
IOninja | :o wow | ||
elaADnlxie | :O | ||
[Coke] | Color us surprised. | ||
elaADnlxie | darthdeus: ok, what university is that? | ||
[Coke] | What school? | ||
21:26
lichtkind joined
|
|||
DrForr | This needs to be tweeted :) | 21:27 | |
darthdeus | it's kinda one-off though, I doubt it will repeat ... there was one on perl5 two years ago too | ||
IOninja | Yes | ||
darthdeus | elaADnlxie: www.mff.cuni.cz/to.en/ | ||
gfldex | darthdeus: could you forward some hugs from the Perl 6 docs departement to that class? | ||
El_Che | nice | ||
[Coke] | mmm, tell the prof. we said hi. :) | 21:28 | |
darthdeus | will do :P btw here's the course overview, though not much detail there is.cuni.cz/studium/eng/predmety/in...od=NDMI094 | ||
21:28
pyrimidine left
21:29
sufrosti2o left,
sufrosti1o left,
sufrostico left
|
|||
lizmat | seems to be from last summer ? | 21:29 | |
IOninja cringes at that description | |||
darthdeus | elaADnlxie: btw regarding rakudo performance, I would love to dive deep into the implementation, but is it reasonable to think that I could actually improve anything? :P | ||
lizmat: yeah looks like the semester is wrong, it's running the first time this year | 21:30 | ||
El_Che | IOninja: behave :) | ||
IOninja | darthdeus, yes. I started with Perl 6 just over a year ago and made lots of core fixes. A lot of it is Perl 6, some NQP (subset of Perl6) and C at the VM level | ||
elaADnlxie | darthdeus: yes. Most things are written in perl 6 + nqp, and you can optimize a bunch of stuff even on that level | ||
IOninja | El_Che: ? | 21:31 | |
El_Che | IOninja: about the cringing. It one of the first perl6 uni courses | 21:32 | |
elaADnlxie | IOninja: maybe we should start a choir or something. That was close enough! | ||
DrForr | Well, I have a potential textbook sitting at my elbow :) | ||
IOninja | El_Che: yeah, but it deacribes Perl 6 as experimental language and sucxessor to Perl 6 | ||
21:32
pyrimidine joined
|
|||
IOninja | El_Che: to Perl 5 I mean | 21:32 | |
El_Che: neighter are true, so that makes me question the content | 21:33 | ||
lizmat | it's all in the eye of the beholder :-) | ||
El_Che | lizmat: now I need to ask you to behave :) | ||
IOninja | haha | ||
fair enough | |||
darthdeus | what's wrong about perl6 being successor of 5? even if they're not compatible | ||
lizmat | some people have other ideas about that | ||
IOninja | darthdeus: MASSIVE political one. | 21:34 | |
darthdeus | but I see your point, since to this day I've dismissed perl6 as literally "another version of PHP" | ||
IOninja | darthdeus: many Perl 5 people wish Perl 6 would crawl into a hole and die so they get vocal when claims are made about Perl 6 replacing Perl 5 | ||
lizmat | ooh, wow :-) | ||
IOninja | lol | ||
DrForr | It's always fun when chunks of the building hit my balcony. | 21:35 | |
IOninja | o_O do you live inal a gingerbread house? :) | ||
DrForr | Welcome to Romania :/ | 21:36 | |
mst | darthdeus: many perl5 people spent years hearing perl6 people vocally wish perl5 would crawl into a hole and die | 21:37 | |
darthdeus: basically, humans are tribal and it's all dumb | |||
IOninja | :) | ||
El_Che | amen, mst | ||
mst would note he's mostly a perl5 person ... who regularly yells at perl5 people for banging on perl6 | 21:38 | ||
darthdeus | mst: why? I understand others not really liking perl, I mean I kinda wish PHP would crawl into a hole and die, but why would perl5 people hate perl6? | ||
mst | darthdeus: ... | ||
darthdeus: did younot even read what I said? :( | |||
IOninja | darthdeus: change is scary | ||
darthdeus: also, Perl 6 had a rocky start that did massive marketing damage to Perl brand | |||
darthdeus | mst: I did :P sorry but just because perl6 wishes perl5 to die doesn't mean they're wrong ... I mean it's kinda like when c++11 wishes c++98 to die | 21:39 | |
mst | darthdeus: NO IT ISN'T THAT IS THE WHOLE POINT | ||
avar | For a while in the 2000s the message with p6 was "it'll be done real soon", and as a result perl5 suffered since everyone thought it was worthless to maintain / contribute since surely it would be replaced by perl6 in a year or two | ||
El_Che | hahaha | ||
mst | they are DIFFERENT LANGUAGES | ||
lucs | mst: HI, HOW ARE YOU? | ||
mst | darthdeus: from the perl5the narrative coming out of the perl6 community was "we're the replacement when we get there, perl5 is already dead" for some years | ||
El_Che | it cold and rainy outside, let's have this discussion again | ||
avar | But now it's 2017 and while there's a p6 distro and stuff now, no big company/project aside from perl6 itself uses it... | ||
elaADnlxie | btw, even though I see no perl 6 being taught at my university just yet, I've been using it for a couple of courses now. Obviously, other students get some exposure as well, because of me :) The most impressive case was with the course on programming languages (about writing parsers, compilers, etc.), where I was using Perl 6 for almost everything (the focus of the course was on flex+bison :P) | ||
mst | right, so perl5 development picked up again, and we went "hmm, maybe there's two good perl futures here" | 21:40 | |
the trick is to stick to that narrative | |||
so we don't end up with wilful misinformation like darthdeus mistakenylu thinking comparing two versions of the C++ spec has any bearing on reality | |||
21:40
sufrostico joined
|
|||
IOninja | darthdeus: don't mind mst yelling, it's his thing. He's nice on the inside :) | 21:40 | |
21:40
sufrosti1o joined
|
|||
IOninja | Also SHIBOLEET!! SHIBOLEET! | 21:41 | |
21:41
sufrosti2o joined
|
|||
avar | mst: Although if perl6 actually becomes a viable replacement, as the 2000s promised, the two good futures thing might not be needed :) | 21:41 | |
mst | I've spent the best part of a decade trying to stamp out that sort of misinformation from everywhere so we don't get stupid drama yet again | ||
darthdeus | mst: I understand that perl6 is completely different than perl5 in a lot of ways, but for me c++11 is also completely different than c++98 ... but I understand that they might be different distance apart :P | ||
avar | but that's shoulda coulda territory | ||
21:41
risou is now known as risou_awy
|
|||
El_Che | if we're using the hole metaphore, infighting results in one big hole big enough for two | 21:41 | |
IOninja | Read the comic xkcd.com/806/ | ||
mst | avar: it might not be needed but 'shoot for both and let the technology fight, not the humans' is my preference | ||
darthdeus | mst: all things considering, should it even be named perl6 then? | ||
IOninja | darthdeus: no | ||
darthdeus | rakudo sounds better :P | 21:42 | |
avar | mst: Yeah 100% agree, just explaining that a lot of the butthurt is because in the 2000s everyone was just assuming that the p6 tech would replace the p5 tech in a year or two... | ||
IOninja | darthdeus: but for historical reasons and the wish of creator of both languages the name stuck | ||
RabidGravy | it's all a bit late for that | ||
mst | right, it might have been better having been named something else originally | ||
but at this point it's probably more trouble than its worth to try and retcon it | |||
DrForr | darthdeus: Unfortunately that horse left the proverbial barn several years ago. | ||
RabidGravy | anyhow tomorrow I will write Perl 6 and get paid for it | 21:43 | |
darthdeus | afaik the docs said somewhere that perl6 is "a language for the next 200 years" ... in light of that, saying it's too late because it's 10 years old doesn't mean much :P | ||
avar | This is made more complex by the fact that. "Originally" perl6 wasn't a new language at all, it was more like what python 3 became | ||
I.e. we'll fix this wart and that wart, but we'll use the same runtime (or compatible), 99.5% of the source is compatible etc. | |||
mst | darthdeus: nobody's saying it's too late, only that it's probably too late for changing the name to be that helpful | 21:44 | |
but "two languages, one family" is what all the official docs say now | |||
and please just keep to that narrative for the avoidance of drama | |||
whatever you may think about C++ :) | |||
RabidGravy | and write software in a language that pleases you | 21:45 | |
mst likes both perls :D | |||
tony-o | mst++ | ||
21:45
pyrimidine left
|
|||
RabidGravy | I do too | 21:45 | |
21:46
pyrimidine joined
|
|||
El_Che | mst is the perl dalai lama | 21:46 | |
darthdeus | I just have to find a use case for p6 now :( | 21:47 | |
also probably a silly question, but why is there both zef and panda? don't they do the same thing? | 21:48 | ||
21:48
kurahaupo__ left
|
|||
elaADnlxie | darthdeus: I think we're slowly moving to zef | 21:48 | |
21:48
kurahaupo__ joined
|
|||
RabidGravy | but one day there may even be another one | 21:48 | |
IOninja | slowly? I thought we were done moving... | 21:49 | |
21:50
kurahaupo__ left,
salv0 left
|
|||
RabidGravy | as a complete aside I have put aside the IBM MQ client as the interface doesn't play well with NC | 21:50 | |
IOninja | darthdeus: for next 100 years. It's a reference to The 100-Year Language essay: paulgraham.com/hundred.html | ||
avar | I was packaging rakudo yesterday, so I look up module on github being installed by zef, and the readme says "install with panda this way" :) | ||
IOninja | RabidGravy: do you use `is-deeply` a lot? I may have broke it… err… made it better by detecting failures, I mean! | 21:51 | |
darthdeus | IOninja: cool, thanks :) | 21:52 | |
IOninja | avar: grepped the repo and don't realle see where... | ||
21:52
pyrimidine left
|
|||
darthdeus | and also, in the light of rakudo being slow, how slow is slow? is it slow compared to perl5 and other scripting languages, or slow compared to what it could? | 21:52 | |
RabidGravy | IOninja, let's see | 21:53 | |
I don't use it a lot | |||
IOninja | darthdeus: a lot depends on what you're doing, but definitely slow compared to what it could be. There's a ton of performance work to be done (and is being done). | ||
21:53
sena_kun left
|
|||
[Coke] wonders how chromatic ended up on that listing. | 21:54 | ||
IOninja | darthdeus: and well, of course that means that if you compare it to 20-25 year old products like Python and Ruby and Perl 5, it'd be much slower too (or first production release was just over a year ago) | ||
RabidGravy | as I've said a milliuon times, it;s fast enough to strean 320K mp3 - it's fast enough | ||
IOninja | [Coke]: which one? | ||
[Coke] | is.cuni.cz/studium/eng/predmety/in...od=NDMI094 | ||
IOninja | "Chromatic (editor): Using Perl 6 (pracovní verze). Available online at github.com/perl6/book/" | 21:55 | |
The author of the course used the horribly-outdated book mabby? | |||
21:55
rindolf left
|
|||
[Coke] | ah, github.com/perl6/book/blob/a5f3c17...k.sty#L308 maybe. | 21:55 | |
IOninja | Ah | ||
RabidGravy | IOninja, 26 times in 59 modules so not a lot :) | 21:56 | |
IOninja | darthdeus: also "speed" is a relative concept. A rough comparison between my Perl 5 and Perl 6 code lands Perl 6 versions about half the size. If you have to pay a programmer for 10 hours instead of 20 hours to write a program runs once a night that completes in 1 minute instead of 1 second, that's a huge win | 21:57 | |
*a program that runs once.. | 21:58 | ||
RabidGravy | indeed | ||
darthdeus | IOninja: yeah, the reason I was asking was kinda if I could take my current miniproject that's an erlang/elixir websocket service and write in perl6 instead while still having it reasonably fast :P but I guess I should just start with scripting hehe | ||
avar | IOninja: It's the repos of modules on modules.perl6.org | 21:59 | |
21:59
skids left
|
|||
avar | But I can't remember which module it was, even though this was yesterday memory-- | 22:00 | |
22:00
robertle joined
22:01
robertle left
|
|||
RabidGravy | well I have 57 modules that mention *panda* | 22:01 | |
*shrug* | |||
IOninja | I think some modules mention `ufo` as installer still :P | 22:02 | |
RabidGravy | I fixed all of mine that did | ||
IOninja | That was fast :D | ||
22:03
llfourn joined
|
|||
RabidGravy | [jonathan@coriolanus modules]$ grep ufo */README.md | 22:03 | |
[jonathan@coriolanus modules]$ | |||
but | 22:04 | ||
[jonathan@coriolanus modules]$ grep -l panda */README.md | wc | |||
61 61 1518 | |||
apparently | |||
[jonathan@coriolanus modules]$ grep -l zef */README.md | wc | |||
55 55 1360 | |||
anyhow toodles | 22:05 | ||
IOninja | \o | ||
avar | u rakudo-star-2017.01 (280K) $ grep -r panda modules/ | ||
wc -l on that => 169 | 22:06 | ||
IOninja | :S | ||
there are only like... 20-30 modules in the distro | |||
IOninja downloads | |||
only 69 if you exclude panda's repo itself | 22:07 | ||
tony-o | zoffix sent out a ton of PRs a while ago to fix that and p6 version in METAs | 22:08 | |
IOninja | And only 33 if you exclude travis config | ||
tony-o | also, RabidGravy, are your machines all shakespeare themed? | ||
IOninja | buggable: eco | ||
buggable | IOninja, Out of 785 Ecosystem dists, 87 have warnings and 3 have errors. See modules.perl6.org/update.log for details | ||
22:08
llfourn left
|
|||
IOninja | Used to be like 600 warnings or something :P | 22:08 | |
22:09
Sound left
22:10
RabidGravy left
|
|||
IOninja | all those error look bogus | 22:10 | |
temp github outage | |||
tony-o | s3 issues? | 22:11 | |
22:14
mcmillhj left
|
|||
IOninja | Can anyone clue me in on what PROCESS:: thing is about? I see PROCESS::<$VM>, PROCESS::<$CWD>, etc. What's the difference between those and $*CWD? | 22:15 | |
and $*VM | |||
22:16
cog__ joined
22:17
labster left
|
|||
jnthn | PROCESS:: is the last place that a $*foo lookup looks | 22:17 | |
IOninja | And that's it? | 22:18 | |
jnthn | (After the call stack, the callstack of the thing that started you if you're in a start block, and GLOBAL) | 22:19 | |
22:19
cog_ left,
pyrimidine joined
|
|||
jnthn | That's all with regard to how it relates to $*foo, yes | 22:19 | |
It's purpose is to be a process-global palce | |||
*place | |||
More global than global | |||
IOninja | What's this &chdir stuff is about? github.com/rakudo/rakudo/blob/dd1d...#L147-L162 | 22:20 | |
jnthn | Since GLOBAL is actually subject to where you are | ||
IOninja | m: say &*chdir | ||
camelia | sub chdir ($path) { #`(Sub|61400920) ... } | ||
22:20
labster joined
|
|||
IOninja | like why have two | 22:20 | |
22:20
labster left
|
|||
jnthn | Normally chdir doesn't do anything expcet update $*CWD | 22:20 | |
PROCESS::<&chdir> actually does an OS-level chdir | 22:21 | ||
IOninja | Thanks. | ||
(I see it now in the code :P) | |||
jnthn | This is because a process can only have one cwd | 22:22 | |
Which plays rather badly with multiple threads of execution. | |||
tony-o | m: $*CWD.say; | ||
camelia | "/home/camelia".IO | ||
jnthn | It's the same reason why %*ENV can be localized, and we never call setenv (which is also a rather bad idea in a multi-threaded application) | ||
tony-o | m: $*CWD.say; PROCESS::<&chdir> '/tmp'; $*CWD.say; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3$*CWD.say; PROCESS::<&chdir>7⏏5 '/tmp'; $*CWD.say; expecting any of: infix infix stopper statement end stateme… |
||
tony-o | m: $*CWD.say; PROCESS::chdir '/tmp'; $*CWD.say; | 22:23 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3$*CWD.say; PROCESS::chdir7⏏5 '/tmp'; $*CWD.say; expecting any of: infix infix stopper statement end statement … |
||
tony-o | m: $*CWD.say; PROCESS::chdir('/tmp'); $*CWD.say; | ||
camelia | "/home/camelia".IO Could not find symbol 'chdir' in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
tony-o | bleh | ||
jnthn | PROCESS::<&chdir> | ||
tony-o | m: $*CWD.say; PROCESS::<&chdir>('/tmp'); $*CWD.say; | ||
camelia | "/home/camelia".IO "/tmp".IO |
||
tony-o | too impatient today. | ||
22:27
snowblack left
|
|||
IOninja | m: $*CWD.say | 22:28 | |
camelia | "/home/camelia".IO | ||
lucs | In a *.t file for example, is it possible to wrap a 'todo' test in such a way that perl6 won't even attempt to compile it? (because for example, since its code is 'todo', it doesn't yet compile) | 22:32 | |
Geth | doc: 4e48f6ab4e | (Zoffix Znet)++ | doc/Language/packages.pod6 Add mention of dynamic vars last look in PROCESS:: |
||
IOninja | lucs: no, todo code is run and it's expected to fail. | 22:33 | |
lucs | Aha, so I guess that's not precisely what I want. | ||
IOninja | lucs: you want to `skip`. skip 1, 'stuff hangs'; if 0 { ... the tests } | ||
Dunno what better than if 0 to put in there. | |||
I guess just ensure it doesn't run at all | |||
lucs | Trying, thanks | 22:34 | |
IOninja | lucs: some examples here: docs.perl6.org/language/testing#in...t_%3D_1%29 | ||
if $can-run { do a bunch of tests } else { skip 5, 'your system sucks; cannot run some tests' } | 22:35 | ||
Oh, I got the order wrong | |||
One thing I'll do right in Pro::Test is to make skip and todo DWIM with the skippage count | 22:36 | ||
lucs | Hmm... How would I write a test for a yet non-implemented operator for example? Would it need to be protected by an eval so the compiler doesn't see it? | 22:38 | |
22:39
Voldenet left
|
|||
lizmat | either that, or mark the test as "skip" ? | 22:39 | |
lucs | I don't quite understand how to use 'skip' correcly I guess :( | 22:40 | |
IOninja | lucs: and try, because EVAL is not Perl 5's eval. You could add a dummy op tho | ||
m: sub infix:<♥> {@_; False}; use Test; cmp-ok 42, &[♥], 5, '42 ♥ 5' | 22:41 | ||
camelia | not ok 1 - 42 ♥ 5 # Failed test '42 ♥ 5' # at <tmp> line 1 # expected: '5' # matcher: 'infix:<♥>' # got: '42' |
||
IOninja | lucs: I dunno, why skip? Write them as normal | ||
22:42
dct joined
|
|||
lizmat | IOninja: but then the test won't compile ? | 22:42 | |
IOninja | lucs: and let the test crash. Or put (try ::('&infix:<♥>')) or skip-rest 'cannot run this' | 22:43 | |
lizmat | unless you add a dummy op, but then that would mask the implemented op ? | ||
IOninja | lizmat: oh right. | ||
lucs | Okay, my generic question was: how do I write a test so that the compiler won't even see the code if something like 'todo' or 'skip', or whatever it takes, is used. | ||
IOninja | lizmat: but I don't see too much wrong with letting the test not compile :) | ||
lucs | Here's my real case: | ||
Inline::Perl5 appears to fail correctly handle inner packages. | 22:44 | ||
22:44
Voldenet joined,
Voldenet left,
Voldenet joined
|
|||
lizmat | good night, #perl6! | 22:44 | |
IOninja | m: use Test; BEGIN (try ::infix('&infix:<♥>')) || skip-rest 'Cannot proceed; no love'; ok 42 ♥ 5 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> No such symbol 'infix' at <tmp>:1 ------> 3use Test; BEGIN (try ::infix7⏏5('&infix:<♥>')) || skip-rest 'Cannot pro |
||
IOninja | m: use Test; BEGIN (try ::('&infix:<♥>')) || skip-rest 'Cannot proceed; no love'; ok 42 ♥ 5 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> An exception occurred while evaluating a BEGIN at <tmp>:1 Exception details: A plan is required in order to use skip-rest in sub skip-rest at /home/camelia/rakudo-m-inst-2/share/perl6/sources… |
||
IOninja | really | ||
lucs | So a successful test would be something like is(InnerPackage.foo, 42) , but that won't even compile if InnerPackage wasn't found. | ||
Using todo or skip, that code still doesn't compile (unless the feature is correctly implemented). | 22:45 | ||
IOninja | m: use Test; BEGIN { plan 1; (try ::('&infix:<♥>')) || skip-rest 'Cannot proceed; no love' }; ok 42 ♥ 5 | 22:46 | |
camelia | 1..1 ok 1 - \# SKIP Cannot proceed; no love 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3-rest 'Cannot proceed; no love' }; ok 427⏏5 ♥ 5 expecting any of: infix infix stopper … |
||
IOninja | m: use Test; BEGIN { plan 1; (try ::('&infix:<♥>')) || skip-rest('Cannot proceed; no love'), exit }; ok 42 ♥ 5 | 22:47 | |
camelia | 1..1 ok 1 - \# SKIP Cannot proceed; no love |
||
IOninja | m: use Test; sub infix:<♥> { @_ }; BEGIN { plan 1; (try ::('&infix:<♥>')) || skip-rest('Cannot proceed; no love'), exit }; ok 42 ♥ 5 | ||
camelia | 1..1 # Looks like you planned 1 test, but ran 0 |
||
IOninja | :( | ||
m: use Test; sub infix:<♥> { @_ }; BEGIN { plan 1; (try ::('&infix:<♥>')) || (skip-rest('Cannot proceed; no love'), exit) }; ok 42 ♥ 5 | |||
camelia | 1..1 ok 1 - |
||
IOninja | lucs: well, this works. Dunno why skip-rest doesn't exit of its own volition | 22:48 | |
lucs: if I were writing it, I'd just write it as normal test and leave it failing to compile; if it matteres that it doesn't, I'd just comment out the code | |||
No need to overthink things. | |||
lucs | You're probably right. | 22:50 | |
Yeah, I'll just 'todo' some bogus code and a message letting the maintainer that the real code is currently commented out. | 22:51 | ||
*know | |||
22:52
espadrine left
|
|||
alphah | IOninja: Seems I couldnot use "for" to resolve the issue I posted earlier, I have to use while @laws.shift, to get value for Args; I'll use example you posted above to clear my point | 22:53 | |
your examle m: my @laws = <power force meow>; while (try @laws.shift) -> $_ { when 'power' { say 'Power overwhelming' }; when 'force' { say 'Use the force, Luke' }; when 'meow' { say 'KITTY!' } } | 22:54 | ||
I modified it to : | |||
m: my @laws = <power>; while @laws.shift -> $_ {when 'power' {@laws.shift or die "Usage:"}; when 'force' {say 'Use the force, Luke' }; when 'meow' {say 'KITTY!' } } | |||
camelia | Usage: in block <unit> at <tmp> line 1 |
||
IOninja | alphah: why cannot? | ||
22:56
mcmillhj joined
|
|||
alphah | because the next value in the foor loop may be "a value in argument" for example say "power" arg takes a value "9999" | 22:57 | |
IOninja | alphah: what's your end goal? You got a bunch of words in @!laws... what're doing with them? | ||
alphah | if a shift failed, the next Arg will be "9999" in the for loop | ||
22:57
girafe joined
|
|||
IOninja | So far, it feels like you're greatly over-complicating with shifts code that's already over-complicated | 22:57 | |
alphah | I want to create a config hash,, with keys and value for each arg passed to the script | 22:58 | |
but I want htese args to be human readable words, without using "--" or "-" | 22:59 | ||
some of these args are Boolean,, some take values | |||
IOninja | m: my @laws = <power trip>; with @laws { when ('power', **) { say "some power command" }; when ('force', **, 42) { say 'some force command with 42' }; say "wrong laws, bruh" } | ||
camelia | some power command | ||
IOninja | m: my @laws = |<force power to>, 42; with @laws { when ('power', **) { say "some power command" }; when ('force', **, 42) { say 'some force command with 42' }; say "wrong laws, bruh" } | 23:00 | |
camelia | some force command with 42 | ||
IOninja | m: my @laws = <do stuff>; with @laws { when ('power', **) { say "some power command" }; when ('force', **, 42) { say 'some force command with 42' }; say "wrong laws, bruh" } | ||
camelia | wrong laws, bruh | ||
IOninja | alphah: you could do this sort of matching too | ||
23:00
mcmillhj left
|
|||
IOninja | or stringify them and use a grammar | 23:01 | |
23:01
kyan joined
|
|||
IOninja shrugs | 23:01 | ||
Each set of commands end up as one action tho, don't they? I'd use a bunch of MAIN multies for tha | 23:02 | ||
alphah | Each set of commands will create an object from different class | 23:03 | |
IOninja | perfect; use the multies.. | ||
23:04
llfourn joined
|
|||
IOninja | Right now you have to loop through the array in your head and keep all the shifts in two separate places in mind to make out what's being called. Whereas with multies or hyperstar smartmatches you have a nice list of "command pattern -> do this thing" | 23:04 | |
23:07
mcmillhj joined
|
|||
alphah | I will end up with around 10 multis, I iwll do it in multis and see if it looks nicer... but one last question as I already did it using while.shift, and only thing remaining is to hide the error message thrown when trying to shift empty array, I would like to replace this message with Usage function... so my question is how can i replace that error with a custom error and exit | 23:07 | |
m: my @laws = <power>; while @laws.shift -> $_ {when 'power' {@laws.shift or die "Usage:"}; when 'force' {say 'Use the force, Luke' }; when 'meow' {say 'KITTY!' } } | 23:08 | ||
camelia | Usage: in block <unit> at <tmp> line 1 |
||
alphah | in this case I want to get rid of "in block <unit> at <unknown file> line 1" line | ||
IOninja | alphah: don't use die just say() and exit() | 23:09 | |
m: class Force { has $.v }; class Power { has $.v }; multi process ('force', $v, |c) { take Force.new: :$v; process |c }; multi process ('power', $x, $n, |c) {take Power.new: :v($x - $n); process |c }; multi process (|) { die "your args suck, bruh" }; say gather process <force 42 power 70 31>; | |||
camelia | your args suck, bruh in sub process at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
23:09
llfourn left
|
|||
IOninja | I was hoping this would work, but apparently the candidate resolution doesn't let it :( | 23:09 | |
wonder why... | 23:10 | ||
OH | |||
m: class Force { has $.v }; class Power { has $.v }; multi process ('force', $v, |c) { take Force.new: :$v; process |c }; multi process ('power', $x, $n, |c) {take Power.new: :v($x - $n); process |c }; multi process () {}; multi process (|) { die "your args suck, bruh" }; say gather process <force 42 power 70 31>; | |||
camelia | your args suck, bruh in sub process at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
IOninja | dammit | ||
no idea why that don't work | |||
23:10
imcsk8 left
23:11
imcsk8 joined
23:12
mcmillhj left
|
|||
alphah | no idea, also I dont understand why this doesn't throw error: | 23:12 | |
m:my @laws = <power>; while @laws.shift -> $_ {when 'power' {@laws.shift}; when 'force' {say 'Use the force, Luke' }; when 'meow' {say 'KITTY!' } } | 23:13 | ||
IOninja | m: class Force { has $.v }; class Power { has $.v }; multi process ('force', $v, |c) { say Force.new: :$v; process |c }; multi process ('power', $x, $n, |c) {say Power.new: :v($x - $n); process |c }; multi process(){}; multi process (|) { die "your args suck, bruh" }; say gather process |<force 42 power 70 31>; | ||
camelia | Force.new(v => IntStr.new(42, "42")) Power.new(v => 39) () |
||
alphah | and this one throws: | ||
IOninja | Yey! It works. Almost. | ||
alphah | m:my @laws = <power>; while @laws.shift -> $_ {when 'power' {say @laws.shift }; when 'force' {say 'Use the force, Luke' }; when 'meow' {say 'KITTY!' } } | ||
IOninja | m: class Force { has $.v }; class Power { has $.v }; multi process ('force', $v, |c) { take Force.new: :$v; process |c }; multi process ('power', $x, $n, |c) {take Power.new: :v($x - $n); process |c }; multi process(){}; multi process (|) { die "your args suck, bruh" }; say gather process |<force 42 power 70 31>; | ||
camelia | (Force.new(v => IntStr.new(42, "42")) Power.new(v => 39)) | ||
IOninja | Now it does \o/ | ||
23:14
robertle joined
|
|||
IOninja | m: my @laws = <power>; while @laws.shift -> $_ {when 'power' {@laws.shift}; when 'force' {say 'Use the force, Luke' }; when 'meow' {say 'KITTY!' } } | 23:14 | |
camelia | ( no output ) | ||
IOninja | m: my @laws = <power>; while @laws.shift -> $_ {when 'power' {say @laws.shift }; when 'force' {say 'Use the force, Luke' }; when 'meow' {say 'KITTY!' } } | ||
camelia | Cannot shift from an empty Array in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
IOninja | alphah: <IOninja> Right now you have to loop through the array in your head and keep all the shifts in two separate places in mind to make out what's being called | ||
alphah: oh wait, never mind that last one :) | 23:15 | ||
alphah | hmm | 23:16 | |
IOninja | alphah: the reason is because .shift on empty array doesn't throw or die, it returns a Failure, which doesn't explode in some instances... I'd expect it to here, I think | ||
alphah | makes sense | ||
IOninja | m: say while rand > .7 { when {True} {"x"} } | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of bare "say"; in Perl 6 please use .say if you meant to call it as a method on $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun at <tmp>:1 --… |
||
IOninja | m: say (while rand > .7 { when {True} {"x"} }) | ||
camelia | () | ||
IOninja | m: say (while rand > .7 { when {True} {"x"} }) | ||
camelia | () | ||
IOninja | m: say (while rand > .7 { say "looping"; when {True} {"x"} }) | ||
camelia | looping (x) |
||
IOninja | m: say (while rand > .7 { say "looping"; when {True} {"x"} }) | ||
camelia | looping (x) |
||
IOninja | :S dafuq | 23:17 | |
alphah: and `or` on a Failure is one way to defuse it, so your `@laws.shift or ... report usage...` was the right thing | |||
alphah | got that | 23:18 | |
IOninja | and yeah, looks like `when` never sinks its last value. This may be a bug. | ||
23:18
labster joined
|
|||
IOninja | hm | 23:19 | |
m: given 42 { when *.so {Failure.new} } | 23:20 | ||
camelia | Failed in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
23:20
llfourn joined
|
|||
IOninja | This does sink it. | 23:20 | |
m: { when *.so {Failure.new} } | |||
camelia | ( no output ) | ||
IOninja | but not this | ||
lucs | Er, grammar (English) question: does one "help resolve" or "help to resolve" a problem? (if one can that is :-) | 23:22 | |
23:22
pyrimidine left,
pyrimidine joined
|
|||
IOninja | #english can help resolve that... | 23:23 | |
:o | |||
lucs | :) | ||
IOninja | lucs: I've no idea. I think `help to` is the right one, but I use whatever sounds better in a particular situation | ||
23:23
mcmillhj joined
23:24
dct left,
dct joined
|
|||
lucs | I was hoping a native English speaker would answer (no offense :_) | 23:24 | |
- | |||
23:24
felher left
|
|||
IOninja | ouch :) | 23:25 | |
lucs | :) | ||
IOninja | Well, I was for real about asking in #english. They've helped me many times. | ||
lucs | Ah, I'll go there :) | 23:26 | |
23:27
pyrimidine left
23:28
cibs left,
mcmillhj left
23:30
cibs joined
23:33
committable6 left,
rurban left,
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
elaADnlxie | mch: say 42 | 23:35 | |
committable6 | elaADnlxie, ¦«2015.12,HEAD»: 42 | ||
23:37
felher joined
23:38
ZzZombo joined,
ZzZombo left,
ZzZombo joined
23:39
mcmillhj joined
23:40
robertle left
23:43
lep-delete left
23:45
kyan left
23:48
lep-delete joined,
mcmillhj left
23:53
dct left,
dct joined
|