»ö« 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:02
wamba left
|
|||
gfldex | lolibloggedforcale2: gfldex.wordpress.com/2017/02/02/ca...-question/ | 00:03 | |
00:05
titsuki left
|
|||
gfldex | WP tried to be clever again :-| | 00:08 | |
timotimo | "Today cale2 refused to asked an easy question instead" what is this grammar %) | 00:11 | |
man, wordpress really is hell | 00:12 | ||
gfldex | i think i got it now | ||
it ate a <pre> again :-/ | |||
timotimo | yeah, and it ate at least one list between <> | 00:13 | |
in the @a.pick(*) example | |||
and in the multi sub whatever case, too | |||
gfldex | i'm cleary updating it faster then you can read it :-> | 00:14 | |
timotimo | could be | ||
i find the last sentence of the post could be interpreted to be rather mean | |||
and personally i'd have put a note about "multiple * in a WhateverCode make multiple arguments" or something | 00:15 | ||
just a tiny hint | |||
00:15
pyrimidine joined
|
|||
samcv | pretty is good | 00:15 | |
timotimo holds a pretty grudge | |||
gfldex | the last sentence is the best I could come up with to shoehorn a link to the docs in | 00:17 | |
00:17
cpage_ left
|
|||
gfldex | whereby WTFM works better then RTFM | 00:18 | |
timotimo | "what the fucking manual"? :) | 00:19 | |
samcv | wtf Manuel! | 00:20 | |
hobbs | timotimo: I've read a few of those | ||
timotimo | oh manuel, what have you done this time | ||
hobbs: pardon me, a few of what? | 00:21 | ||
00:21
cdg_ left
|
|||
hobbs | what the fucking manuals | 00:21 | |
documentation with high WTF content :) | |||
00:21
aindilis` left
|
|||
samcv | where's the fucking manual | 00:21 | |
gfldex | there are write-only manuals | 00:22 | |
00:22
pyrimidine left
|
|||
timotimo | ah, hehehe | 00:22 | |
samcv: where's the fucking manual, lebowski? | |||
samcv | docs.perl6.org | ||
timotimo | hm. you could totally make a gif out of that scene with that wording | ||
gfldex | i actually meant Write The Fucking Manual, what really works better then reading them | ||
00:22
rurban left
|
|||
timotimo | "let me look again, i think the docs are somewhere down there" | 00:22 | |
hobbs | clearly you're not a perl golfer | 00:23 | |
s/clearly/obviously/ | 00:24 | ||
gfldex | m: constant term:<ℵ₀> = Inf; constant term:<ℵ₁> = Inf; multi sub infix:«<»(ℵ₀, ℵ₁){ True }; say ℵ₀ < ℵ₁; | ||
camelia | rakudo-moar 738493: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Invalid typename 'ℵ' in parameter declaration.at <tmp>:1------> 3t term:<ℵ₁> = Inf; multi sub infix:«<»(ℵ7⏏5₀, ℵ₁){ True }; say ℵ₀ < ℵ₁;» | ||
samcv | sub foo($a where * < 10) === sub foo($a where {$_ < 10}) ?? | 00:25 | |
gfldex | m: multi sub infix:«<»(2, 1){ True }; say 2 < 1; | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
timotimo | yup | 00:26 | |
00:27
travis-ci joined
|
|||
samcv | sub foo(*@a where {.all ~~ Int}){} | 00:27 | |
travis-ci | Doc build passed. Will "Coke" Coleda 'update bug report notes for #1077' | ||
travis-ci.org/perl6/doc/builds/197411799 github.com/perl6/doc/compare/2219c...c216bf4ab0 | |||
00:27
travis-ci left
|
|||
samcv | seems you can't do (*@a where *.all ~~ Int); doesn't seem to work right | 00:27 | |
TimToady | m: say *.all ~~ WhateverCode | 00:29 | |
camelia | rakudo-moar 738493: OUTPUT«True» | ||
brokenchicken | m: say (*.all ~~ 'meow') ~~ WhateverCode | ||
camelia | rakudo-moar 738493: OUTPUT«WhateverCode object coerced to string (please use .gist or .perl to do that) in block <unit> at <tmp> line 1False» | ||
brokenchicken | it ain't currying over the ~~ | ||
TimToady | nope, it's one of the exeptions | 00:30 | |
brokenchicken | don't need it in that particular case either, 'cause it thunks; (*@a where .all ~~ Int) should work | ||
TimToady | note it doesn't curry on the RHS either, or you'd be surprised | ||
m: say so Int.ACCEPTS((1,2,3).all) | 00:31 | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
TimToady | can always write it like that | 00:32 | |
brokenchicken | not with a *.all curry | ||
TimToady | nope, currying has to stop somewhere, and we never curry from inside argument lists to normal functions/methods | 00:33 | |
brokenchicken | m: sub (*@a where Int.ACCEPS: .all with *.item) { say @a }(1, 2, 3) | ||
camelia | rakudo-moar 738493: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed parameterat <tmp>:1------> 3sub (*@a where Int.ACCEPS: .all with 7⏏5*.item) { say @a }(1, 2, 3)» | ||
brokenchicken | aww | ||
Need moar parentheses | |||
m: sub (*@a where (Int.ACCEPS: .all with *.item)) { say @a }(1, 2, 3) | |||
camelia | rakudo-moar 738493: OUTPUT«No such method 'ACCEPS' for invocant of type 'Int' in sub at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
brokenchicken | m: sub (*@a where (Int.ACCEPTS: .all with *.item)) { say @a }(1, 2, 3) | ||
camelia | rakudo-moar 738493: OUTPUT«Constraint type check failed for parameter '@a' in sub at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
brokenchicken | Oh well | ||
m: dd so 42 ~~ (1, 2, 3).item.all | 00:34 | ||
camelia | rakudo-moar 738493: OUTPUT«Bool::False» | ||
brokenchicken | I see | ||
Is there an identity method. That just returns self for any object? | |||
TimToady | m: say 42.self | 00:35 | |
camelia | rakudo-moar 738493: OUTPUT«42» | ||
brokenchicken | doh :) It's .self :) | ||
m: sub (*@a where (Int.ACCEPTS: .all with *.self)) { say @a }(1, 2, 3) | |||
camelia | rakudo-moar 738493: OUTPUT«Constraint type check failed for parameter '@a' in sub at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
brokenchicken | Oh well | ||
gfldex | where is .self defined? | 00:36 | |
TimToady | m: sub (*@a where (Int.ACCEPTS: .all)) { say @a }(1, 2, 3) | ||
camelia | rakudo-moar 738493: OUTPUT«[1 2 3]» | ||
brokenchicken | gfldex: in Mu | ||
TimToady | m: sub (*@a where @a.all ~~ Real) { say @a }(1, 2, 3) | 00:38 | |
camelia | rakudo-moar 738493: OUTPUT«[1 2 3]» | ||
TimToady | m: sub (*@a where @a.all ~~ Int) { say @a }(1, 2, 3) | ||
camelia | rakudo-moar 738493: OUTPUT«[1 2 3]» | ||
brokenchicken | m: sub (*@a where *.all.&{Int.ACCEPTS: $_}) { say @a }(1, 2, 3) | ||
camelia | rakudo-moar 738493: OUTPUT«[1 2 3]» | ||
brokenchicken | m: sub (*@a where *.all ∈ Int.Range) { say @a }(1, 2, 3) | 00:41 | |
TimToady | that probably curries | ||
camelia | rakudo-moar 738493: OUTPUT«(timeout)» | ||
TimToady | however, it probably also flattens Int.Range | 00:42 | |
brokenchicken | m: dd Int.Range | ||
camelia | rakudo-moar 738493: OUTPUT«(-Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf... lazy list)» | ||
TimToady | we don't really do infinite sets... | ||
brokenchicken | m: sub (*@a where .all ~~ Int.Range) { say @a }(1, 2, 3) | ||
camelia | rakudo-moar 738493: OUTPUT«[1 2 3]» | ||
TimToady | that's why it's called "smart" :P | 00:43 | |
brokenchicken | :)_ | ||
Geth | doc: 1f1947b763 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Mu.pod6 doc Mu.self |
00:44 | |
TimToady | m: say i ~~ Int.Range | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
TimToady | hrmmm | 00:45 | |
m: say i.Int | |||
camelia | rakudo-moar 738493: OUTPUT«Can not convert 0+1i to Int: imaginary part not zero in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
TimToady | m: say i < Inf | ||
camelia | rakudo-moar 738493: OUTPUT«Can not convert 0+1i to Real: imaginary part not zero in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
00:47
aindilis joined
|
|||
brokenchicken | s: Int.Range, 'ACCEPTS', \(i) | 00:47 | |
SourceBaby | brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/7384...ge.pm#L419 | ||
00:48
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
brokenchicken | m: say i after -Inf | 00:48 | |
camelia | rakudo-moar 738493: OUTPUT«True» | ||
brokenchicken | That's why. | 00:49 | |
m: say i cmp -Inf | 00:50 | ||
camelia | rakudo-moar 738493: OUTPUT«More» | ||
brokenchicken | hmmmm | ||
m: say i cmp -42 | |||
camelia | rakudo-moar 738493: OUTPUT«More» | ||
brokenchicken | m: say i cmp 42 | ||
camelia | rakudo-moar 738493: OUTPUT«Less» | ||
Geth | doc: d4d9df69a9 | (Wenzel P. P. Peppmeyer)++ | doc/Language/syntax.pod6 doc term:<> (could do with better example) |
00:51 | |
TimToady | it shouldn't really be using cmp for that | ||
cmp tries hard to work across types | |||
brokenchicken | s: &infix:<after>, \(i, -Inf) | ||
SourceBaby | brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/7384...ny.pm#L479 | ||
brokenchicken | Yeah, it's just (a cmp b) > 0 | ||
TimToady: so before/after should throw on Complex<->Real comparisons unless img. part is zero? | 00:52 | ||
TimToady | a numeric range should be using <=>, I'd think | ||
brokenchicken | m: say i <=> 42 | ||
camelia | rakudo-moar 738493: OUTPUT«Can not convert Complex to Real: Complex is not numerically orderable in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | Aha. Cool. | 00:53 | |
TimToady | m: say 'bb' ~~ 'a'..'z' | 00:54 | |
camelia | rakudo-moar 738493: OUTPUT«True» | ||
brokenchicken | :( | 00:55 | |
TimToady | that's correct | ||
brokenchicken | Huh? | ||
m: say eager 'a'..'z' | |||
camelia | rakudo-moar 738493: OUTPUT«(a b c d e f g h i j k l m n o p q r s t u v w x y z)» | ||
brokenchicken | but it's not one of items? | ||
TimToady | nope, ranges are, er, ranges, not sequences | ||
00:56
skids joined
|
|||
TimToady | gotta use any('a'..'z') for that | 00:56 | |
brokenchicken | Ah ok | ||
TimToady | m: say 'zoo' ~~ 'a'..'z' | 00:57 | |
camelia | rakudo-moar 738493: OUTPUT«False» | ||
TimToady | you want to carp, carp about that one :) | ||
brokenchicken | I don't get how 'zz' fits in 'a'..'z' range tho | ||
I mean 'bb' | |||
and 'zz' doesn't | |||
m: say 'bbbbbbbb' ~~ 'a'..'z' | 00:58 | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
brokenchicken | hehe | ||
m: say 'bbbaaaabbbbb' ~~ 'a'..'z' | |||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
brokenchicken | m: say 'bbbaaaabbbbb' ~~ 'z'..'a' | 00:59 | |
camelia | rakudo-moar 738493: OUTPUT«False» | ||
TimToady | m: say 'a!!!!!' ~~ 'a'..'z' | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
TimToady | m: say "a\0" ~~ 'a'..'z' | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
TimToady | m: say "a\0" ~~ 'a' ^.. 'z' | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
01:04
kurahaupo__ left
01:05
kurahaupo__ joined
01:06
john51 joined
01:09
kurahaupo__ left
01:13
pyrimidine joined
01:18
pyrimidine left
01:20
cpage_ joined
|
|||
brokenchicken | Simply using `(nqp::istype(a, Numeric)||nqp::istype(b, Numeric) ?? a <=> b !! a cmp b) < 0` for before/after doesn't work | 01:21 | |
Spectest fails, like with 'a'..* | |||
.oO( add Numeric, Numeric candidate... ) |
01:22 | ||
But then we get weirdness like `'42' after i` gives something, but `42 after i` says can't make a Real outta i | 01:23 | ||
m: say '42' after i | |||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
brokenchicken | m: say '-42' after i | ||
camelia | rakudo-moar 738493: OUTPUT«False» | ||
01:23
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
brokenchicken | hm, maybe it's fine, since cmp uses .Stringy in that case | 01:25 | |
01:26
cpage_ left,
agentzh joined
|
|||
brokenchicken | You know what'd be a cool bot feature? You give it two ops and it tells you which one got higher precedence | 01:27 | |
m: &infix:«>».prec.say | |||
camelia | rakudo-moar 738493: OUTPUT«{}» | ||
brokenchicken | hmm | ||
01:36
cpage_ joined
01:39
astj_ left
|
|||
brokenchicken | Can't get precedence of an op programatically? | 01:40 | |
what's .prec? | |||
m: &infix:«+».prec.say | 01:41 | ||
camelia | rakudo-moar 738493: OUTPUT«{assoc => left, prec => t=}» | ||
brokenchicken | oh, you can. Wonder why there's nothing for `>` | ||
01:45
geekosaur left
01:46
pierrot left,
pierrot joined
01:47
geekosaur joined
01:49
astj joined
|
|||
brokenchicken | m: say i <=> Inf | 01:49 | |
camelia | rakudo-moar 738493: OUTPUT«Less» | ||
brokenchicken | And the rabbit hole deepens :P | 01:50 | |
MasterDuke | samcv: did you see my comment about ternaries? i tested on your code, about 5-10% faster | 01:51 | |
samcv | no i didn't MasterDuke | 01:52 | |
which part? | |||
brokenchicken | m: say i <=> 42 | ||
camelia | rakudo-moar 738493: OUTPUT«Can not convert Complex to Real: Complex is not numerically orderable in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | s: &infix:«<=>», \(i, 42) | ||
SourceBaby | brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/7384...ex.pm#L477 | ||
brokenchicken | I don't get how that managed to throw | ||
m: say i <=> 42.Complex | 01:53 | ||
camelia | rakudo-moar 738493: OUTPUT«Can not convert Complex to Real: Complex is not numerically orderable in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | m: say 42.Complex | ||
camelia | rakudo-moar 738493: OUTPUT«42+0i» | ||
brokenchicken | m: say i <=> <42+0i> | ||
camelia | rakudo-moar 738493: OUTPUT«Can not convert Complex to Real: Complex is not numerically orderable in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | :S wtf | ||
s: &infix:«<=>», \(i, <42+0i>) | |||
SourceBaby | brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/7384...ex.pm#L467 | ||
mspo | m: say 0i.perl | ||
camelia | rakudo-moar 738493: OUTPUT«<0+0i>» | ||
brokenchicken | # Fail unless imaginary parts are relatively negligible, compared to real parts. | 01:54 | |
I see | |||
A bit of a confusing error, since I thought it was trying to convert X to Real | |||
m: say Inf.Complex | 01:55 | ||
camelia | rakudo-moar 738493: OUTPUT«Inf+0i» | ||
brokenchicken | Seems there's a bit of a glitch either in that thing or in the =~= op involving Infs | 01:57 | |
.oO( how did I manage to start debugging this instead of playing my video games :/ ) |
|||
MasterDuke | samcv: replacing gist.github.com/samcv/566950400b06...p6-L57-L62 with `%decomp_spec{$cp}<type> = nqp::eqat(nqp::atpos(@dec, 0), '<', 0) ?? nqp::shift(@dec) !! 'Canonical'` was faster | 01:58 | |
samcv | ah | 01:59 | |
02:01
agentzh left
|
|||
brokenchicken | tis the tolerance computation. Ends up being Inf | 02:01 | |
samcv | thanks | 02:03 | |
MasterDuke | np | ||
02:04
noro left,
melezhik left,
travis-ci joined
|
|||
travis-ci | Doc build passed. Will "Coke" Coleda 'learn new label' | 02:04 | |
travis-ci.org/perl6/doc/builds/197420375 github.com/perl6/doc/compare/33c21...1d921bcb40 | |||
02:04
travis-ci left,
dugword joined
02:08
dugword left
|
|||
brokenchicken | m: say <42+42i> after <42+43i> | 02:10 | |
camelia | rakudo-moar 738493: OUTPUT«False» | ||
brokenchicken | m: say <42+42i> after <42+41i> | ||
camelia | rakudo-moar 738493: OUTPUT«True» | ||
02:11
agentzh joined
|
|||
brokenchicken | TimToady: ^ that now throws. Should it work? The <=> allows Complex comparison only if imaginary parts are negligible compared to Real parts. While with `cmp` just `cmp`s real/imaginary parts separately | 02:14 | |
I wish I knew more about Complex numbers :( | |||
SmokeMachine | m: role R[::T] {has T:U $.t} #is that right? | 02:15 | |
camelia | rakudo-moar 738493: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable definition of type T:U requires an initializerat <tmp>:1------> 3role R[::T] {has T:U $.t7⏏5} #is that right? expecting any of: constraint» | ||
brokenchicken | Don't know if `cmp` on Complex is wrong or my patch to before/after for Complex is wrong. | ||
SmokeMachine | m: role R[::T] {has T $.t} | 02:16 | |
camelia | ( no output ) | ||
SmokeMachine | m: role R[::T] {has T:_ $.t} | ||
camelia | ( no output ) | ||
SmokeMachine | m: role R[::T] {has T:U $.t = T} | ||
camelia | ( no output ) | ||
brokenchicken | m: role { has Int:U $.t } | ||
camelia | ( no output ) | ||
brokenchicken | weird | ||
SmokeMachine: I'm no expert, but it looks buggy to me | |||
SmokeMachine | brokenchicken: yes... weird... | 02:17 | |
brokenchicken: to me to... | |||
too | |||
that would make sense with T:D | |||
m: role R[::T] {has T:D $.t} | 02:18 | ||
camelia | rakudo-moar 738493: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable definition of type T:D requires an initializerat <tmp>:1------> 3role R[::T] {has T:D $.t7⏏5} expecting any of: constraint» | ||
02:18
cpage_ left
|
|||
brokenchicken | .ask TimToady should `<42+42i> after <42+41i>` throw? It used to work, but now that I made `after` use `<=>` for Numeric+Numeric it only works if img part is negligible github.com/rakudo/rakudo/commit/ab3162c127 | 02:24 | |
yoleaux | brokenchicken: I'll pass your message to TimToady. | ||
02:28
cale2 joined
02:29
yqt left
|
|||
brokenchicken | I think I misunderstood TimToady :) I now see in the log he said the numeric *range* should use <=> not before/after | 02:35 | |
TimToady | no, it shouldn't throw; I was talking about changing Range's smartmatch, not changing cmp | ||
yoleaux | 02:24Z <brokenchicken> TimToady: should `<42+42i> after <42+41i>` throw? It used to work, but now that I made `after` use `<=>` for Numeric+Numeric it only works if img part is negligible github.com/rakudo/rakudo/commit/ab3162c127 | ||
brokenchicken | :D | 02:36 | |
OK. Thanks for clarifying :) | |||
02:39
agentzh left
|
|||
brokenchicken | added it to my todo list to fix tomorrow evening | 02:39 | |
02:39
pyrimidine joined
|
|||
TimToady | cmp has to stay mellow, so we can always sort a list | 02:41 | |
brokenchicken | Yeah, makes sense :) | 02:44 | |
'night \o | |||
02:44
pyrimidine left
02:45
ilbot3 left
02:47
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:52
melezhik joined
03:08
Actualeyes left
03:10
cpage_ joined
03:11
Actualeyes joined
03:20
dugword joined
03:24
xtreak joined
03:28
travis-ci joined
|
|||
travis-ci | Doc build passed. Will "Coke" Coleda 'link to "how to report a bug" ; closes #1077' | 03:28 | |
travis-ci.org/perl6/doc/builds/197421011 github.com/perl6/doc/compare/d91d9...cd18d3143d | |||
03:28
travis-ci left
03:31
agentzh joined
03:35
cdg joined
03:36
cale2 left
03:37
Sgeo joined
03:38
noganex_ joined
03:40
noganex left
03:44
zacts left
03:56
pyrimidine joined
04:04
zacts joined
04:09
agentzh left
04:29
agentzh joined
04:40
hartenfels joined
04:49
geekosaur left
04:50
geekosaur joined
04:51
agentzh left
04:53
sakawaka left
04:58
Cabanoss- joined
04:59
itcharlie left
05:00
agentzh joined,
Sgeo left
05:02
Cabanossi left,
Cabanoss- is now known as Cabanossi
05:14
khw left,
kyan left
05:15
agentzh left
05:23
agentzh joined
05:24
CIAvash joined
05:26
cdg left
05:27
aborazmeh left,
Xliff joined
05:28
Xliff left
05:30
cpage_ left
05:37
Dandel_ left
05:41
BenGoldberg left
05:56
Xliff joined
05:57
cpage_ joined,
Xliff left
05:59
cpage_ left,
agentzh left
06:00
rurban joined,
rurban left
06:05
cpage_ joined
06:06
cpage_ left,
cpage_ joined
06:09
cog_ joined,
noganex joined
06:11
cpage_ left
06:12
lep-delete left,
stmuk_ joined,
noganex_ left,
_28_ria left,
cognominal left,
captain-adequate left,
inokenty left
06:13
wamba joined,
avuserow left,
breinbaas left,
sivoais left,
cgfbee left,
Celelibi left,
_28_ria joined,
inokenty joined
06:14
japhb joined,
sunnavy joined,
sivoais joined
06:15
captain-adequate joined
06:16
lep-delete joined,
cpage_ joined
06:18
Celelibi joined
06:21
breinbaas joined
06:22
TEttinger left
06:27
avuserow joined
06:29
TEttinger joined
06:33
cgfbee joined
06:35
hartenfels1 joined,
domidumont joined
06:36
hartenfels left,
hartenfels1 is now known as hartenfels
|
|||
masak | lol, I blog'd! strangelyconsistent.org/blog/deep-git | 06:37 | |
06:41
domidumont left
06:42
domidumont joined
06:51
RabidGravy joined
06:56
xtreak left
07:00
xtreak joined
07:03
dugword left
07:08
domidumont left
|
|||
tadzik | :o | 07:09 | |
07:15
darutoko joined
07:26
bjz joined,
KDr2 joined
07:31
KDr2 left
07:32
wamba left
07:35
astj_ joined,
astj left
07:41
matt_ left
07:42
skids left
07:49
domidumont joined
07:51
matt_ joined,
matt_ is now known as Guest15861
|
|||
moritz | masak++ | 07:57 | |
08:08
zacts left
08:09
Guest15861 is now known as matt_,
tokomer joined
08:21
zakharyas joined
08:30
tokomer left
|
|||
jast | masak: very good post. one minor nitpick: git knows two different meanings for 'merge'. one is commit-level merge, one is file-level three-way merge. the latter is used in rebase, cherry-pick etc., too, so technically those conflicts can still be called merge conflicts. :) | 08:32 | |
08:35
tokomer joined
08:41
bjz_ joined,
rurban joined
08:42
dakkar joined,
bjz left
08:49
xtreak left
|
|||
samcv | nice my UCD-gen.p6 script is now fast enough that it takes only 80 minutes to finish the slowest routine ;) | 08:50 | |
08:51
zacts joined
|
|||
samcv | faster on my laptop i think but that 80 minutes was on the bisectable server | 08:51 | |
running again to see how my latest speedups have fared | |||
08:51
xtreak joined
08:55
matt_ left
08:59
tokomer left
09:00
astj joined,
astj_ left
09:01
matt_ joined,
matt_ is now known as Guest17802
09:02
Guest17802 is now known as matt_
09:06
Vynce joined
|
|||
samcv | i-i think maybe it's slowing down because it has too many keys in the hash? | 09:09 | |
toward the end of the file it seems to be very very slow, and i'm not sure if it's caused by collisions in the hash library? | 09:10 | ||
it starts getting super slow around 1048576 items in it | |||
lizmat | hows memory usage going ? | 09:13 | |
samcv | uh using 6% of my memory, i have 16GB | ||
09:13
xtreak left
|
|||
samcv | not at a million yet on the current run, but at a million it seems like | 09:15 | |
i mean it probably slows down before amillion, but it's most perceptible cause that's like almost at the end of the fgile | |||
and it still takes minutes to get to the end | |||
09:18
xtreak joined
|
|||
lizmat | hmmm.... | 09:21 | |
09:21
Actualeyes left
|
|||
samcv | could be caused by hash collisions maybe? or something else? | 09:21 | |
09:21
andrzejku joined
|
|||
lizmat | I'm not sure how we hash nowadays: I seem to recall it was changed not too long ago by jnthn | 09:22 | |
andrzejku | hey people | ||
I know that some of you are web developers | |||
tell me please how do you prototype your apps | |||
do you use some prototype tools? | |||
or just a pencil | |||
samcv | so the file has 30,000 lines it it. maybe i'll make a timer every 1,000 lines so i can get some data about this | 09:23 | |
09:29
ufobat joined
|
|||
samcv | wow so i get to use `gather/take` for the first time now | 09:29 | |
always wanted to use this | |||
09:39
pyrimidi_ joined,
pyrimidine left
09:40
cpage_ left
09:45
Actualeyes joined
|
|||
Geth | doc: d1788cadb3 | (Samantha McVey)++ | util/trigger-rebuild.txt Trigger rebuild to pull in atom-language-perl6 v1.14.0 |
09:50 | |
samcv | andrzejku, i often find thinking about any computer stuff drawing can help. | ||
i really should employ that more often tbh | |||
09:57
rindolf left,
agentzh joined
|
|||
masak | jast: interesting point. tempted to include that as an aside in the post ;) | 09:58 | |
10:02
agentzh left
10:04
labster left
10:06
riatre joined
10:08
rindolf joined
10:12
riatre left
10:13
riatre joined
10:17
rindolf left
|
|||
samcv | lizmat, here's a CSV of timings taken every 500 lines gist.github.com/samcv/6290f3ac0667...b5347e65c2 | 10:18 | |
that one doesn't look particularly bad | 10:20 | ||
but definitely gets higher as it goes on | |||
arnsholt | Those are timings *between* each batch, not cumulative, right? | ||
samcv | not cummulative | ||
err wait that's not all of them i think | 10:21 | ||
err maybe it is | |||
yeah that's all that showed up at least | |||
running it again though | |||
i think it might not be measuring a very last number | 10:23 | ||
which is where it's the slowest but | 10:24 | ||
Took 1137.77617592 secs to process 30564 and 37.2260 ms/line | 10:25 | ||
that doesn't sound right | 10:26 | ||
it can't have taken that little time | |||
10:26
abraxxa joined
|
|||
samcv | i guess 18 sounds close though | 10:26 | |
it maybe is just taking a long time to process lines which apply to a range of codepoints hmm | 10:27 | ||
so maybe it's somewhat that. it does seem to get slower as it goes on but i think most of the slowdown could be those lines which it has apply for thousands of cp's | 10:28 | ||
i will change it so that it takes timings every 1000 cp's instead of per lines of the file | |||
but it's weird because i timed how long it'd take to apply a pretty big range in a test file and it was pretty fast | 10:29 | ||
but that was with a previously empty hash, not wit one with almost a million things in it | |||
10:30
astj left,
abraxxa left,
astj joined
10:32
astj left,
astj joined
|
|||
samcv | yeah it looks like that's what's slowing down it. i'm unsure how to make this faster argh | 10:33 | |
10:33
bjz joined
10:34
astj left,
bjz_ left
|
|||
samcv | i mean it shouldn't take THAT long to bind 65,000 keys? but all the keys are identical | 10:35 | |
10:35
melezhik_ joined
|
|||
melezhik_ | Hi! | 10:35 | |
samcv | i'm using nqp::bindkey(%points, $cp_s, $hashy); | ||
melezhik_ | need a little help with regexp | ||
samcv | fire away melezhik_ | ||
arnsholt, is it possible it's duplicating the object? | |||
melezhik_ | I want to match none empty symbols between '[' and ']' | 10:36 | |
10:36
astj joined,
cpage_ joined
|
|||
samcv | none empty? | 10:36 | |
10:36
cpage_ left
|
|||
samcv | what does that mean | 10:36 | |
10:36
AlexDaniel joined
|
|||
melezhik_ | in perl5 I would have /\[(\S+)\]/ | 10:36 | |
10:37
eiro left
|
|||
melezhik_ | how to say this in perl6? | 10:37 | |
samcv | / '[' ( \S+ ']' ) / | ||
that should work | |||
melezhik_ | s/none empty/none spaces/ | ||
samcv | you don't need the space | ||
melezhik_ | samcv: thanks, will try | ||
samcv | that i put in my example. but in perl 6 spaces are not significant | ||
melezhik_ | yeah, I know | 10:38 | |
jast | the exact same expression as in perl5 works for me, too | ||
melezhik_ | but I still perl5 in mind as for the regex, so it's hard for me every time I start writting perl6 ones , hehh (: | ||
moritz blatantly advertises the regexes and grammar chapter in leanpub.com/perl6 | 10:39 | ||
10:41
tokomer joined
10:43
MasterDuke left
10:44
eiro joined
|
|||
CIAvash | melezhik_: also /'[' ~ ']' (\S+)/ | 10:44 | |
melezhik_ | CIAvash: - thanks | 10:46 | |
Indeed my initial perl6 regex was fine, but I used $1 instead of $0 (: | |||
I forgot that perl6 starts count numbered captures with $0 | 10:47 | ||
10:49
abraxxa joined
10:54
araujo joined,
araujo left,
cschwenz joined,
araujo joined
10:55
cschwenz left
10:57
espadrine joined
10:58
AlexDaniel left,
tokomer left
11:00
AlexDaniel joined
11:03
xtreak left
11:04
xtreak joined,
xtreak left,
xtreak joined
11:07
cpage_ joined
|
|||
masak | m: multi sub trait_mod:<is>(Routine $r, :$ohhai!) is export(:DEFAULT, :traits) {}; sub foo($x) is ohhai {} | 11:10 | |
camelia | ( no output ) | ||
masak | ...but... | ||
m: multi sub trait_mod:<is>(Routine $r, :$ohhai!) is export(:DEFAULT, :traits) {}; sub foo($x) is ohhai($x) {} | 11:11 | ||
camelia | rakudo-moar 18e6f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Can't use unknown trait 'is ohhai' in a sub declaration.at <tmp>:1 expecting any of: rw raw hidden-from-backtrace hidden-from-USAGE pure default DEPRECATED inlinable nodal …» | ||
masak | why is the trait suddenly unknown when I pass it a parameter? :) | ||
brokenchicken | melezhik_: that can be avoided with named captures: /'[' ~ ']' $<stuff>=\S+/ | ||
masak | m: multi sub trait_mod:<is>(Routine $r, :$ohhai!) is export(:DEFAULT, :traits) {}; sub foo($x) is ohhai(42) {} | ||
camelia | ( no output ) | ||
brokenchicken | melezhik_: and you use $<stuff> to access it | ||
masak | oh, it's only when I give it an $x from the parameter list | ||
arnsholt | samcv: Hard to say. But you could very well be running into performance issues in large hashes | ||
masak | m: multi sub trait_mod:<is>(Routine $r, :$ohhai!) is export(:DEFAULT, :traits) {}; my $x; sub foo() is ohhai($x) {}; say "alive" | 11:12 | |
camelia | rakudo-moar 18e6f0: OUTPUT«alive» | ||
masak | everything works except passing an `$x` from the parameter list. that's what I thought. | ||
samcv | arnsholt, it seems it made it hugely faster by moving some stuff from the sub it called into the calling sub | ||
and it was not much code in there anyway so idk | |||
arnsholt | samcv: At any rate, there does look to be at least one non-trivial GC-pause in the timings you posted: Most of them are tens of seconds, but one's 10 seconds | ||
samcv | so that seems the bulk of the issue | ||
masak | problem is, `$x` is in *scope* at that point, but (due to timing issues) it doesn't really make *sense* to pass `$x` to the trait | ||
arnsholt | Ah, cool | ||
masak | we should probably have a dedicated error message for this, just in case other people are as unreasonable as I am :P | 11:13 | |
samcv | also doing for %points.keys -> $code; i get Use of uninitialized value <element> of type Any in string context. | ||
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. | |||
in block at ./UCD-gen.p6 line 366 | |||
11:14
ufobat left
|
|||
samcv | and i have no clue what it can't use in a string context and $code is populated with the key inside the body of the for loop | 11:14 | |
it functions perfectly so i used to have a quietly on there. but that makes it slower so | |||
i need to figure out how to solve this :\ | |||
this is the code github.com/samcv/UCD/blob/master/U...#L362-L366 | 11:16 | ||
11:20
confundus joined
|
|||
samcv | even if i do `my @iter = %points.keys.List;` i still get the problem when iterating over @iter | 11:23 | |
oh looks like it's not the iterating but another place. himm. nvm then | 11:24 | ||
arnsholt | masak: Should parameters be in scope for a trait application though? | 11:26 | |
That sounds odd, to me | |||
11:29
AlexDaniel left
|
|||
jnthn | To do otherwise would mean a scope "hole" | 11:30 | |
It's not really a scoping problem, more a timing problem. | |||
masak | what jnthn++ said | 11:31 | |
(and what I hinted at above) | |||
the scoping is right, IMHO | |||
we have similar timing problems in a lot of places in the language, though | |||
jnthn | my $x; BEGIN { say $x } | ||
masak | right | 11:32 | |
jnthn | You could make a similar argument that $x should not be in scope in this case :) | ||
masak | it's just the parameters/trait one just occurred to me :) | ||
jnthn | :) | ||
11:32
TEttinger left,
_Vasyl joined
|
|||
brokenchicken | m: my $x; BEGIN { say $x } | 11:33 | |
camelia | rakudo-moar 18e6f0: OUTPUT«(Any)» | ||
brokenchicken | m: multi sub trait_mod:<is>(Routine $r, Mu :$ohhai!) is export(:DEFAULT, :traits) {}; sub foo($x) is ohhai($x) {} | 11:34 | |
camelia | ( no output ) | ||
brokenchicken | ah | ||
11:34
as_ joined
|
|||
as_ | I am looking at the example at docs.perl6.org/language/regexes#^,..._of_String | 11:35 | |
and it looks like the first example with heredoc and $ does not work | |||
say so $str ~~ /safe $/; returns false | |||
$ does not match the \n at end of line | |||
11:35
Vasyl left
|
|||
as_ | rakudo: say so "a\nb" ~~ /b$/; | 11:36 | |
camelia | rakudo-moar 18e6f0: OUTPUT«True» | ||
as_ | rakudo: say so "a\nb\n" ~~ /b$/; | ||
camelia | rakudo-moar 18e6f0: OUTPUT«False» | ||
brokenchicken | as_: right. Do you mind fixing it by adding \n in both examples that use $? | 11:37 | |
It's in this file: github.com/perl6/doc/blob/master/d...gexes.pod6 | |||
as_ | what do you mean? $ should match in both cases? | ||
brokenchicken | as_: the examples with $ are missing \n before $ | 11:38 | |
as_ | so it's different from Perl 5's behavior? | 11:39 | |
brokenchicken | Yes. | ||
masak | brokenchicken: in the good ol' Parrot days, doing crazy enough timing-issue things could actually get you a Null PMC Access exception. :P | 11:40 | |
jnthn | masak: That was more a pre-nom thing than a Parrot thing, to be fair. | ||
masak | (because the lookup literally failed hard enough to crash the program when it didn't find an initialized lexpad) | ||
jnthn: oh, you might be right. | 11:41 | ||
samcv | i gotta go bed. night all o/ | ||
brokenchicken | as_: may be worth mentioning in one of 5-to-6 tuts too. I don't see it here: docs.perl6.org/language/5to6-nutsh.../_Regexp_) | ||
jnthn | It wasn't until the nom changes that we got a decent story on BEGIN-time symbols handling. | ||
brokenchicken | as_: And that page is in this file: github.com/perl6/doc/blob/master/d...shell.pod6 | ||
masak | jnthn: but unless I'm mistaken, I still managed a small few of them post-nom (but pre-moar) too | ||
jnthn | Surely, yes :) | ||
masak | jnthn: I remember figuring that story out together with Rakudo, so to speak | 11:42 | |
the cardinal rule seems to be "at worst, you get the static lexpad" | |||
jnthn | Right | ||
And yeah, I remember plenty of time/beer spent discussing those bits :) | 11:45 | ||
confundus | Hi, do I need to use eval to convert a dynamically built string into a pattern? | ||
moritz | confundus: on, / <$string> / does tht | 11:46 | |
*that | |||
jnthn | /<$the-string-with-the-pattern/> | ||
oops, what moritz said :) | |||
moritz | s/on/no/ | ||
m: my $pattern = 'a.*'; say 'abacus' ~~ /<$pattern>/ | |||
camelia | rakudo-moar 18e6f0: OUTPUT«「abacus」» | ||
confundus | moritz: oh, I see. | ||
moritz | m: my $pattern = 'a.*u'; say 'abacus' ~~ /<$pattern>/ | ||
camelia | rakudo-moar 18e6f0: OUTPUT«「abacu」» | ||
masak | also, these good people decided to rename it to EVAL with all-capitals | 11:47 | |
11:47
astj left
11:48
astj joined
11:49
telex left
|
|||
moritz | ... and decided to overdo it a bit by *also* requiring a pragma | 11:49 | |
EVAL 'say 42' | |||
m: EVAL 'say 42' | |||
camelia | rakudo-moar 18e6f0: OUTPUT«42» | ||
moritz | ... but not in camelia? or is that gone? | ||
confundus | maybe it has the monkey pragmas turned on? | 11:50 | |
moritz | maybe. | ||
11:50
telex joined
|
|||
samcv | nice full build down to 445.45815766 seconds! for UCD database using perl 6! | 11:50 | |
\o/. and now off to bed | |||
masak | moritz: I thought the all-caps was already overdoing it... | 11:51 | |
brokenchicken | confundus: moritz, it doesn't have anything turned on. The pragma cries only when you do dangerous things | ||
samcv | no, you can eval a string that's static | ||
brokenchicken | m: my $x = '42'; EVAL "say $x" | ||
camelia | rakudo-moar 18e6f0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>EVAL is a very dangerous function!!! (use the MONKEY-SEE-NO-EVAL pragma to override this error,but only if you're VERY sure your data contains no injection attacks)at <tmp>:1------> 3my $x = '42'; …» | ||
samcv | without turning on any pragmas | ||
static strings are fine | 11:52 | ||
brokenchicken | m: my $x = '42'; "say $x".EVAL # and there's a ticket for this | ||
camelia | rakudo-moar 18e6f0: OUTPUT«42» | ||
brokenchicken | eh. It's not Perl 5. You don't need EVAL as often. | 11:53 | |
11:53
astj left,
astj joined
11:54
melezhik_ left
11:55
ocbtec joined
|
|||
brokenchicken | And there are more subtle ways to introduce a sploit in your code | 11:56 | |
m: my $x = 'say 42'; /<{$x}>/ | 11:57 | ||
camelia | ( no output ) | ||
brokenchicken | Don't even remember what it was. Some regex interpolataion | 11:58 | |
and it'd complain about monkey eval thing | 12:00 | ||
m: my $x = "{say 'all your base are belong to us'}"; "x" ~~ /<$x>/ | 12:01 | ||
camelia | rakudo-moar 18e6f0: OUTPUT«all your base are belong to us» | ||
brokenchicken | would've thought that would be it :/ | ||
mc: my $x = "{say 'all your base are belong to us'}"; "x" ~~ /<$x>/ | |||
committable6 | brokenchicken, ¦«2015.12»: all your base are belong to us | ||
brokenchicken shrugs | |||
12:02
user9 left
|
|||
brokenchicken | oh | 12:02 | |
m: my $x = q|{say 'all your base are belong to us'}|; "x" ~~ /<$x>/ | |||
camelia | rakudo-moar 18e6f0: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0Prohibited regex interpolation (use the MONKEY-SEE-NO-EVAL pragma to override this error,but only if you're VERY sure your data contains no injection attacks)at /home/camelia/EVAL_0:1…» | ||
brokenchicken | :D it *is* it :) | ||
12:02
user9 joined
12:08
confundus left
12:09
sufrostico joined
|
|||
masak | arnsholt: could you check if I got this approximately right? :) github.com/masak/007/issues/221 | 12:14 | |
12:19
lukaramu joined
12:26
xtreak left
12:29
CIAvash left
|
|||
arnsholt | masak: Was just looking at it in my mailbox, as a matter of fact! | 12:32 | |
12:32
rurban left
12:33
rindolf joined
|
|||
arnsholt | masak: Commented | 12:35 | |
12:43
eiro left
|
|||
masak | \o/ | 12:44 | |
arnsholt | I like the double-dot syntax for it, incidentally | 12:45 | |
12:49
confundus joined
13:00
titsuki joined
13:01
espadrine left
|
|||
masak | arnsholt: oh, it's `;` in Smalltalk? | 13:06 | |
where did I get `..` from, then? I must've seen it *somewhere* | |||
13:10
lizmat_ joined
|
|||
gregf_ | samcv: i just had a glance at the code in that repo and some of the methods are quite huge :/ | 13:10 | |
13:11
bjz left
|
|||
lep-delete | i think dart has .. | 13:12 | |
13:12
bjz joined
13:13
lizmat left
13:14
lizmat_ is now known as lizmat
|
|||
arnsholt | masak: Yeah, it's semicolon in ST. Fits quite well with period as the statement terminator, actually | 13:14 | |
13:16
ggoebel left
|
|||
masak | lep-delete: that might be it | 13:19 | |
arnsholt: it does. SmallTalk feels in general like it thought quite hard about punctuation. | 13:20 | ||
13:20
sammers left
|
|||
masak | arnsholt: and it's a bit crazy that we use semicolon for "terminate statement" in so many languages... | 13:20 | |
arnsholt: people who read it with its literal meaning must look at a C program and ask "when will this program ever get to the point!?" | |||
arnsholt | =D | 13:21 | |
Yeah, it's pretty odd once you start thinking about it | |||
Also, Smalltalk is rapidly earning points on my "favourite programming languages" list | 13:22 | ||
It's a very interesting excercise in minimalism | |||
masak | I just re-finished worrydream.com/EarlyHistoryOfSmalltalk/ -- a very refreshing read. so I would tend to agree. :) | 13:27 | |
my favorite sentence this time around: "What I got from Simula [about the promise of OOP] was that you could now replace bindings and assignment with *goals*." | 13:28 | ||
I'll try to start thinking of methods as abstracted goals of an object, to see how that feels | 13:30 | ||
arnsholt | There was a really cool comment by Alan Kay on HN (I think) where he contrasted the reactions of Dahl and Nygaard (the Simula guys) to Smalltalk | ||
One of them was indifferent and didn't see the point, while the other was super-enthusiastic =) | 13:31 | ||
masak | arnsholt: let me know if you find it :> | 13:32 | |
arnsholt | Ah yes: news.ycombinator.com/item?id=10967103 | ||
13:34
ggoebel joined
|
|||
masak | "low-pass filter" is a wonderful expression -- I find it happens to a lot of things | 13:34 | |
it's something to do with echo chambers, and different communities having different understandings of the world | 13:35 | ||
[Coke] sees masak use 'mechanize' where coke has used 'weaponize' locally. Wonder if that's all due to my US upbringing. :) | |||
samcv: instead of triggering a rebuild of latest module by committing whitespace, can we explicitly declare which version we're depending on, so 'getting the latest' actually changes the version number? (making the commit "real") | 13:37 | ||
masak | [Coke]: I think I almost wrote "automate" in that spot, fwiw. | 13:38 | |
[Coke] | masak: I hear "operationalize" many times here at work, and I always mentally substitute "weaponize". | 13:40 | |
and there is a difference between operationalize and automate, sure. | |||
Oh! Dayjob! Hey, everyone, I'm getting laid off (but it's fine) | 13:41 | ||
brokenchicken | :( | ||
masak | [Coke]: we'rehiring we'rehiring we'rehiring | ||
13:41
as_ left
|
|||
brokenchicken | Whom are you hiring? | 13:42 | |
masak | (and we're pretty awesome and have the highest density of Perl 6 people second to colomon's one-person startup) :P | ||
lizmat | masak: more or less than 50% :-) | 13:43 | |
13:43
ggoebel left
|
|||
lizmat | ? | 13:43 | |
masak | ok, so maybe we're third on that list :P | ||
lizmat | hehe :-) | ||
masak | but we're pretty high is my point! | ||
perlpilot | masak: how about density of Perl 6 work? ;) | ||
13:43
bjz left
|
|||
[Coke] | ooh, maybe I could tip the scales. | 13:43 | |
... I mean figuratively. of course I can literally. :) | |||
masak | perlpilot: depends how you look at it. I've definitely written Perl 6 for $work things. and Perl 6 figures indirectly in a *lot* of ways | 13:44 | |
13:46
espadrine joined
13:52
rurban joined
|
|||
[Coke] | I did manage to get a Perl 6 program running here at $dayjob, which I felt good about. | 13:55 | |
win 28 | 13:56 | ||
... *cough* | |||
13:56
ggoebel joined
13:59
agentzh joined
14:02
confundus left
14:03
KDr2 joined,
agentzh left
14:04
bwisti joined
|
|||
masak | 'night, #perl6 | 14:11 | |
14:14
ufobat joined
14:15
sammers joined
|
|||
brokenchicken | night | 14:15 | |
14:18
araujo left,
araujo joined
14:19
araujo left,
araujo joined
14:20
araujo left
14:21
araujo joined
14:22
araujo left,
araujo joined
14:23
kurahaupo joined
14:24
AlexDaniel joined
14:36
abraxxa left
14:41
Khisanth left
14:44
stux|RC joined
|
|||
jdv79 | what's 28? | 14:46 | |
brokenchicken | A number below 42. | 14:47 | |
14:49
rurban left
|
|||
gregf_ | a number tbp | 14:50 | |
DrForr | My first thought was that it was a Perfect number, but it's not. I've seen it in a common sequence though. | 14:51 | |
14:52
AlexDaniel left
|
|||
DrForr | Oh, it is. 6,28,496,8128... | 14:53 | |
14:54
Khisanth joined,
cdg joined
|
|||
DrForr | Ah, right, *all* of the divisors. 1+2+4+7+14 | 14:54 | |
14:56
cdg left,
cdg joined
14:59
abraxxa joined
|
|||
brokenchicken | m: ($_ %% *)(6).say given 3 | 15:00 | |
camelia | rakudo-moar 833fe4: OUTPUT«Use of uninitialized value of type Any in numeric context in whatevercode at <tmp> line 1True» | ||
brokenchicken | how come it's unintiliazited? | 15:01 | |
m: (* %% $_)(6).say given 3 | |||
camelia | rakudo-moar 833fe4: OUTPUT«Attempt to divide 6 by zero using infix:<%%> in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
brokenchicken | m: (*.&[%%]: $_)(6).say given 3 | ||
camelia | rakudo-moar 833fe4: OUTPUT«Attempt to divide 6 by zero using infix:<%%> in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
15:01
skids joined
|
|||
brokenchicken | Oh, OK then | 15:01 | |
Thought the last one worked. | 15:02 | ||
m: $_ = 42; sub foo { say $_ }; foo # and this is basically why it doesn't work; the closure got its own $_ | |||
camelia | rakudo-moar 833fe4: OUTPUT«(Any)» | ||
brokenchicken | m: subset Perfect of Int where {^$^v .grep($v %% *).sum eq $v}; say 28 ~~ Perfect | 15:04 | |
camelia | rakudo-moar 833fe4: OUTPUT«True» | ||
brokenchicken | yey | ||
m: subset Perfect of Int where {$^v eq sum ^$v .grep: $v %% *}; say 6 ~~ Perfect | 15:06 | ||
camelia | rakudo-moar 833fe4: OUTPUT«True» | ||
15:08
sena_kun joined
|
|||
Geth | ecosystem/take-over-net-xmpp: 6cfb7e89ac | (Bahtiar Gadimov)++ | META.list Take over Net::XMPP I updated the project to current Socket API & merged outstanding pull requests. Given that the current `Net::XMPP` library isn't working at all with the current `Perl 6.c` version, the author is barely active on GitHub and seems to ignore PRs I assume he isn't interested in it any more. May I take over? I'm engaged in the XMPP community and currently working on improving and extending the XMPP support for Perl6, so I will actively maintain this project. |
15:09 | |
ecosystem: kalkin++ created pull request #294: Take over Net::XMPP |
|||
brokenchicken | .oO( just release your own version... ) |
15:10 | |
15:14
user9 left,
user9 joined
|
|||
[Coke] | do we need take over? what brokenchicken said. | 15:16 | |
how will zef/panda react if we have two things of the same name? | |||
brokenchicken | Good question. | 15:17 | |
[Coke] | guess we should try it out! | ||
brokenchicken | This really pushes more toward we need a sane ecosystem | ||
jdv79: have you gave any thought on 6CPAN thing? What's the status? | 15:18 | ||
mst | [Coke]: I suspect it will turn out to be worth having some sort of 'transfer of authority' mechanism to simplify continuity for downstream users, even if the perl6 system will still work without it | 15:20 | |
brokenchicken | Agreed. But something more formalized. Not a "author didn't merge my PR yet, so I'm taking over the module" | 15:21 | |
15:24
cale2 joined,
Vynce left
|
|||
[Coke] | I edit template/footer.html; run 'perl6 htmlify.p6 --no-highlight --sparse=100' - doesn't look like it pulled in the footer change. | 15:25 | |
15:25
cdg_ joined
|
|||
[Coke] | I've also seen that sort of thing cause the perl6/ org on github to get a copy, which i don't want to be the norm, either. | 15:26 | |
we have enough issues with core stuff atm. | |||
brokenchicken | the atom stuff? | ||
atom highlighter | 15:27 | ||
[Coke] | I specifically disabled highlights - no, I'm literally changing the <footer> tag in the template. | ||
15:28
cdg left
15:29
user9 left
|
|||
[Coke] | ugh, sparse doesn't impact the svg generation. | 15:29 | |
15:30
user9 joined
|
|||
mst | brokenchicken: oh, sure, I'm just saying that while the authority system is an excellent last line of defence against disappearing authors and other issues, I don't think we should set a precedent of using it as the first line of defence | 15:31 | |
15:32
eroux joined
|
|||
jdv79 | brokenchicken: in the middle of picking up the pieces | 15:32 | |
got sidetracked playing with perl6 but that conc bug fixes that distraction:) | 15:33 | ||
brokenchicken | :) | ||
15:35
khw joined,
_Vasyl left
15:36
_Vasyl joined,
eroux left
|
|||
jnthn | .oO( Does that mean I shouldn't look into the bug too hurriedly? :) ) |
15:39 | |
Geth | ecosystem/take-over-net-xmpp: 56bdcbb712 | (Bahtiar Gadimov)++ | META.list Take over Net::XMPP I updated the project to current Socket API & merged outstanding pull requests. Given that the current `Net::XMPP` library isn't working at all with the current `Perl 6.c` version, the author is barely active on GitHub and seems to ignore PRs I assume he isn't interested in it any more. May I take over? I'm engaged in the XMPP community and currently working on improving and extending the XMPP support for Perl6, so I will actively maintain this project. |
||
brokenchicken | .seen retupmoca | ||
yoleaux | I saw retupmoca 8 Jun 2016 21:09Z in #perl6: <retupmoca> m: say ('a'..'d').rotor(2 => -1).perl; | ||
15:40
gdonald left
15:42
eroux joined,
Actualeyes left
15:44
hartenfels left,
gdonald joined
|
|||
brokenchicken | mst: what is Perl 5's process for takeover? I thought I saw a document somewhere describing it. | 15:47 | |
15:48
wamba joined
|
|||
mst | brokenchicken: basically "try and contact the author every way you can think of, cc-ing [email@hidden.address] and if they don't respond after 4 weeks or so we'll do an adoption" | 15:48 | |
brokenchicken | Thanks. | ||
15:50
pyrimidi_ is now known as pyrimidine
|
|||
El_Che | mst has some war stories :) | 15:51 | |
[Coke] | our pod to html might be borked. Seeing lots of constructs uselessly wrapped in <p> tags. | 15:52 | |
validator.w3.org/nu/?doc=https%3A%...rl6.org%2F | |||
brokenchicken | Hah. There's even a news story for this dude who's module we're debating: www.mlive.com/news/grand-rapids/ind...decid.html | ||
mst | we also handle "actually, the original author is dead" | ||
which is always hilarious | |||
tadzik | wow | 15:55 | |
brokenchicken | fact of life :) | 15:56 | |
El_Che | Wow. Open carry looks so onreal. It reminds me of Westworld. | 15:59 | |
Geth | ecosystem: 7339d78115 | (Bahtiar Gadimov)++ | META.list Take over Net::XMPP (#294) |
||
brokenchicken doesn't understand American obsession with weapons. | |||
mst | hysterical raisins | 16:00 | |
El_Che | I wonder if the people that carry guns in the open are the same that carry cellphones in the the type of pockets in the 90s | 16:02 | |
:) | |||
ilmari | my dad still carries his cellphone (sony xperia z3 compact, iirc) in a belt pouch | 16:04 | |
El_Che | ilmari: belt pouches used to be very popular in the day | 16:05 | |
ilmari: it was before the time before people checked their phone every minute | |||
ilmari | I used to have a transparent-front pouch with a belt clip for my nokia 1611 | 16:07 | |
because it was too big to fit in a pocket | 16:08 | ||
but when I got a 3210 that wasn't necessary any more | |||
16:09
pyrimidine left
16:10
pyrimidine joined
16:11
KDr2 left
|
|||
Geth | ecosystem: 4961f66df2 | (Zoffix Znet)++ | README.md Write down a suggested process for module take over - based on Perl 5's practices - not sure if [email@hidden.address] is the best list to CC the email to; replace with anything better. |
16:11 | |
gfldex | brokenchicken: the module takeover process should include "check the bloody license" | 16:15 | |
16:15
pyrimidine left
|
|||
El_Che | ilmari: I think this was my first phone and it was rather small (in 1997): www.gsmarena.com/ericsson_gf_788e-110.php | 16:15 | |
gfldex | my first phone looked like this: upload.wikimedia.org/wikipedia/com...on04_2.jpg | 16:16 | |
ilmari | El_Che: I remember that one | ||
16:16
Vynce joined
|
|||
ilmari | we had a gray en.wikipedia.org/wiki/Ericofon | 16:16 | |
my brother had a www.gsmarena.com/nokia_6150-10.php, later I had a www.gsmarena.com/nokia_6210-12.php | 16:18 | ||
El_Che | gfldex: lol | ||
gfldex: I hope it came with a long cable | |||
the ericophone is pretty leet | 16:19 | ||
gfldex | it didn't but that wasnt a problem because we didn't use it much. We actually visited out friends and family in person | ||
and we smoked and got drunk much more often back in the days | 16:20 | ||
at the other hand depressions where pretty rare | |||
Geth | ecosystem: 8be9d267bf | (Zoffix Znet)++ | README.md Ask to check licenses before a take over; gfldex++ |
16:21 | |
16:22
wamba left
16:23
wamba joined,
dugword joined
16:24
dugword left
16:26
agentzh joined
16:30
agentzh left
16:33
cdg_ left,
cdg joined
16:35
aindilis left
16:45
donaldh joined
|
|||
donaldh | What does this mean in a grammar: '{' ~ '}' [<option>*] | 16:51 | |
brokenchicken | donaldh: any number of <option> tokens inside '{' | ||
donaldh: any number of <option> tokens inside '{' and '}' | |||
moritz | donaldh: it's another way to write '{' <option> '}', but with options for better error reporting | ||
brokenchicken | donaldh: '{' <option>* '}' basically (no idea hwy the brackets are there) | ||
donaldh | And does the <option> part need to be inside '[' and ']' ? | 16:52 | |
moritz | if the closing } isn't matched, a FAILGOAL method will be called, which you can define to do proper error reporting | ||
brokenchicken | moritz: I saw that written before... What does it mean? What sort of better error reporting | ||
Ah :) | |||
moritz | donaldh: I don't know the relative precedence of ~ vs *, so I err on the side of too many brackets | 16:53 | |
donaldh | Is it documented anywhere, do you know? | ||
brokenchicken | m: grammar { token TOP { '[' ~ ']' .+ }; method FAILGOAL (|c) { say c } }.parse: '[meow' | ||
camelia | rakudo-moar f2894d: OUTPUT«\("']' ")P6opaque: no such attribute '$!pos' in type Cursor when trying to get a value in regex TOP at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
brokenchicken | m: grammar { token TOP { '[' ~ ']' .+ }; method FAILGOAL (|c) { say c; exit } }.parse: '[meow' | ||
camelia | rakudo-moar f2894d: OUTPUT«\("']' ")» | ||
brokenchicken | cool | ||
moritz | passing the regex text is... a bit lazy though, no? | 16:54 | |
donaldh | nice. Thanks brokenchicken++ and moritz++ | 16:55 | |
16:55
devmikey joined
|
|||
moritz | m: grammar { token TOP { \[ ~ \] .+ }; method FAILGOAL($goal) { die "cannot find $goal near position {self.pos}" }}.parse: '[moep' | 16:55 | |
camelia | rakudo-moar f2894d: OUTPUT«cannot find \] near position 5 in method FAILGOAL at <tmp> line 1 in regex TOP at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
moritz | m: grammar { token TOP { \[ ~ \] \w+ }; method FAILGOAL($goal) { die "cannot find $goal near position {self.pos}" }}.parse: '[moep bla]' | ||
camelia | rakudo-moar f2894d: OUTPUT«cannot find \] near position 5 in method FAILGOAL at <tmp> line 1 in regex TOP at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
moritz | that's where it starts to get interesting | ||
brokenchicken | :) | 16:56 | |
moritz | (the grammar chapter of leanpub.com/perl6 doesn't talk about FAILGOAL; should I add it?) | ||
it does discuss self.pos, extracting a line number from that etc. | |||
donaldh | In what scope should FAILGOAL be declared? | ||
timotimo | it ought to be a method in the grammar | ||
donaldh | Would be very good to have a FAILGOAL example in your book, yes. | 16:57 | |
16:57
cdg_ joined
16:58
stux|RC left
|
|||
moritz | donaldh: ok, will try to come up with something | 16:58 | |
16:58
pyrimidine joined
|
|||
cale2 | Did anyone do adventofcode.com/ with P6? | 16:59 | |
16:59
araujo left
17:00
araujo joined,
araujo left,
araujo joined,
araujo left,
araujo joined
17:01
cdg left
|
|||
moritz hasn't | 17:02 | ||
17:02
stux|RC joined
|
|||
brokenchicken | I saw some people pop up asking for pointers for its challenges in December. Forget who. | 17:04 | |
17:04
devmikey left
17:07
robertle joined
17:09
domidumont left
17:13
FROGGS joined,
araujo left
17:15
eroux left
|
|||
TimToady | note that any book that talks about %*LANG is probably going to be wrong shortly | 17:20 | |
17:21
araujo joined
17:22
_Vasyl left,
_Vasyl joined,
st_elmo joined
17:23
eliasr joined
|
|||
TimToady | gfldex: it appears you have a <> eaten before the .pick in multi sub foo(Whatever){ .pick }; | 17:29 | |
donaldh | resurrecting p6-pb for 2017.01 and protobuf3 if anyone is interested: github.com/donaldh/p6-pb | ||
brokenchicken | m: say i ~~ -1..1 | 17:30 | |
camelia | rakudo-moar f2894d: OUTPUT«False» | ||
brokenchicken | m: say <0+0i> ~~ -1..1 | 17:31 | |
camelia | rakudo-moar f2894d: OUTPUT«True» | ||
brokenchicken | \o/ | ||
TimToady | m: say 0.5 ~~ -1..1 | ||
camelia | rakudo-moar f2894d: OUTPUT«True» | ||
TimToady | m: say <.5+0.0000000000000000000000000000001i> ~~ -1..1 | 17:32 | |
camelia | rakudo-moar f2894d: OUTPUT«True» | ||
TimToady | it's a really skinny line on the complex plane | 17:33 | |
brokenchicken | Yeah. It was bigger in my first version that used <=>, 'cause there it scales to real parts | 17:34 | |
m: say i <=> 200000000000000000000 | |||
camelia | rakudo-moar f2894d: OUTPUT«Less» | ||
brokenchicken | So I used a .Real instead that just uses imaginary part =~= 0 | ||
TimToady | that seems fine to me | 17:35 | |
17:36
dakkar left
|
|||
TimToady | given that most real imaginary numbers are gonna have an exponent within an order of magnitude of 0 one way or the other | 17:36 | |
17:37
donaldh left
|
|||
gfldex | TimToady: fixed, every time I fix one thing WP eats something else :( | 17:38 | |
TimToady | in fact, for some reason, most complex numbers used in real life tend to get scaled units that keep things near (1+1i) or so | ||
gfldex: yeah, WP sucks that way (too) | |||
timotimo | it sucks a lot, yeah | 17:39 | |
every year we come one tiny step closer to finally writing our own blog software, at least for the advent calendar | |||
17:39
domidumont joined,
domidumont left
17:40
domidumont joined
17:44
domidumont left
18:03
domidumont joined
18:05
lostinfog joined,
cdg joined,
koki1 left
18:08
cdg_ left
|
|||
perlpilot | cale2: re adventofcode. I did some of 2015 with Perl 6, but haven't looked at 2016 | 18:10 | |
18:10
rurban joined
18:13
gregf_ left
18:15
rurban left
18:21
jonas3 left
18:22
Vynce left
|
|||
cale2 | If someone wants to make an Oauth module, How should it be organized in the ecosystem? Auth::Oauth1 and Auth::Oauth2 as separate modules? | 18:27 | |
18:35
dugword joined
18:36
stux|RC-only left,
bwisti left
18:46
agentzh joined
18:48
bwisti joined
18:53
zakharyas left
18:58
tyilanmenyn joined
19:00
rurban joined,
rurban left
19:02
rurban joined
19:03
sufrostico left
19:09
pyrimidine left
19:10
pyrimidine joined,
espadrine left
19:11
darutoko left
19:16
pyrimidine left
19:19
sufrostico joined
19:25
rurban left
19:38
labster joined
|
|||
sena_kun | tbrowder, ping. | 19:41 | |
tbrowder | hi, sena_kun | 19:47 | |
sena_kun: what can I do for you? | 19:48 | ||
timotimo++ | 19:49 | ||
19:50
espadrine joined
|
|||
sena_kun | tbrowder, hello! Not like I'm some kind of guy who gives work to everyone, but there are github.com/perl6/doc/pull/1172 - this PR and I'm not sure about it. I'm curious, are it suitable simplifications here. | 19:50 | |
tbrowder, your quality check will be greatly appreciated. | 19:51 | ||
tbrowder | i'll be happy to take a look... | 19:53 | |
19:53
dugword left
|
|||
sena_kun | And there are one more thing to check(or even rewrite, but I hope to avoid it), but later. | 19:54 | |
19:57
buggable left,
buggable joined,
ChanServ sets mode: +v buggable
|
|||
moritz | .tell donaldh there's now a FAILGOAL example and short explanation in leanpub.com/perl6. Enjoy! | 19:59 | |
yoleaux | moritz: I'll pass your message to donaldh. | ||
tbrowder | sena_kun: i saw something the other day about travis limiting build times--is that why the PR is failing? | 20:00 | |
20:00
agentzh left
20:01
bjz joined
|
|||
sena_kun | tbrowder, yes. It became quite a problem nowadays, but we live with it somehow. | 20:02 | |
20:03
dugword joined
|
|||
tbrowder | i'm having trouble sorting through all the changes, but i'll see if i can get a good diff on my host. | 20:04 | |
sena_kun | tbrowder, there are a bunch of re-formatted examples, you can omit them, since I'm working on this part now. I'm interested in text in-between. | 20:06 | |
20:07
dugword left
|
|||
tbrowder | ok | 20:08 | |
20:08
curt_ joined
|
|||
curt_ | Can you use NativeCall to call a C function that takes variable arguments (e.g. printf()"? | 20:10 | |
I've faked it by importing the symbol multiple times with different arguments, but it is awkward -- is there a better way? | |||
RabidGravy | I don't think so | 20:16 | |
yoleaux | 31 Jan 2017 22:22Z <brokenchicken> RabidGravy: be sure to report your breakages so we iron everything out in v6.d.PREVIEW and not leave it until v6.d ;) | ||
20:17
domidumont left
20:19
ufobat left
|
|||
geekosaur | curt_, no and your solution is likely not portable; ABIs can change behavior for varargs functions (e.g. switching from some args in registers to all on stack) | 20:21 | |
20:24
dugword joined
20:26
ocbtec left
20:27
rurban joined
|
|||
brokenchicken | heh, so now I'm a leading Perl 6 developer? www.nu42.com/2017/02/perl6-program...wning.html | 20:27 | |
Ah, that's bdfoy's pet ape nanis | 20:29 | ||
brokenchicken closes the page without reading further | |||
El_Che | brokenchicken: you misread | 20:30 | |
perlpilot | brokenchicken: you get too worked up about those two. That's not good for your health | ||
El_Che | brokenchicken: you're the leading non-cooperative developer | ||
:) | 20:31 | ||
20:31
rurban left
|
|||
brokenchicken | And he wonders why I refered to him as a pet. That's because when I pointed out to bdfoy his example in the book was broken and he started deleting my replies, nanis was in the shadows thumbing up bdfoy's responses and thumbing down my responses. | 20:32 | |
sena_kun | TEH DRAMA </sorry, I couldn't keep it within myself> | 20:34 | |
lizmat wonders what she could do to unbreak the brokenchicken | |||
El_Che | vodka soaked corn | ||
tbrowder | i'm trying atom again and wonder if there is a package that will show a list of subs, classes, and vars on the menu bar like emacs p6 mode? | 20:36 | |
20:37
khw left
|
|||
sena_kun | tbrowder, offtopic: emacs can show such a list? Did you mean your patched mode or default p6 mode? | 20:37 | |
tbrowder | sena_kun: i say go for it and merge your PR! | ||
patched mode (on perl6) | |||
brokenchicken | nanis, and posting a screenshot with errors on Twitter accompanied with "adventures in Perl 6" makes it sound like the stuff's really broken when in reality you've built from a random dev commit. If you really meant to "be helpful by pointing out what the devs are missing" and not mock our efforts, you would report the bug on a bug tracker or tell us about it on IRC. | 20:38 | |
ugh | |||
20:38
Vynce joined
|
|||
sena_kun | tbrowder, ah, okay. Couldn't test it. I wonder where hinrik is... | 20:38 | |
brokenchicken | Why did I even go to perl 5's reddit -_ | ||
lizmat | brokenchicken: that's Perl's reddit, afaik | 20:39 | |
sena_kun | tbrowder, thanks for all your work! Merging it now... | ||
Geth | doc: bd26cbe750 | (Antonio Quinonez)++ | doc/Language/exceptions.pod6 edits to exceptions pod |
||
doc: 1a9471cddf | (Antonio Quinonez)++ | doc/Language/exceptions.pod6 removed my <<<< marker |
|||
doc: af89aa5b1b | Altai-man++ | doc/Language/exceptions.pod6 Merge pull request #1172 from antquinonez/exceptions-cleanup edits to exceptions pod |
|||
brokenchicken | lizmat: what's broken with me? | ||
lizmat | well, the name suggests something's broken :-) | ||
but I don't know what | 20:41 | ||
TimToady | the chicken is bro' named "ken" | ||
lizmat | .oO( brogijoechicken ) |
20:42 | |
20:43
curt_ left
20:49
Tonik joined
|
|||
robertle | can a Grammar not do incremental parsing? as in I get the text piece by piece and feed it into the Grammar? | 20:52 | |
[Coke] | m: say Grammar.^methods | ||
camelia | rakudo-moar f2894d: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine' in block <unit> at <tmp> line 1» | ||
[Coke] | m: say Grammar.^methods>>.name | 20:53 | |
camelia | rakudo-moar f2894d: OUTPUT«(parse subparse parsefile FAILGOAL upper CAPHASH CALL_SUBRULE !reduce_with_match !protoregex DYNQUANT_LIMITS !fresh_highexpect !BACKREF-LATEST-CAPTURE !DYNQUANT_LIMITS orig !cursor_start !protoregex_nfa !protoregex_table RECURSE !cursor_more !cursor_pass !…» | ||
20:53
UgJkA left
|
|||
robertle | I played with subparse, but that does not appear to be it | 20:53 | |
[Coke] | can you clarify what you're expecting? | 20:54 | |
robertle | yeah, assuming a text T which leads to some behavior when I do $mygrammar.parse(T), so e.g. actions being called | 20:56 | |
20:56
jit joined,
jit left
|
|||
robertle | any T1 .. Tn being fed to the grammar with subsequent calls of parse_incremental() (or so), will lead to the same actions if T1 ~ T2 ~ ... ~ Tn eq T | 20:57 | |
[Coke] | ok, but subparse is supposed to be exactly like parse in that regard; do you have a short example showing that doesn't work? | ||
robertle | say I write a grammar for a network protocol, or something in a file | ||
ok, I'll try again with subparse | |||
and report back what the problem is | 20:58 | ||
jnthn | You'll need to manage a buffer yourself | ||
[Coke] | I don't think that exists, no. | ||
jnthn | And use subparse to eat what's available so far | ||
[Coke] | (you sent a lot more after my first response. :) | ||
jnthn | I did something like that in the Stomp message parser module | ||
[Coke] | jnthn++ | ||
jnthn | There's no built-in thing for it yet | ||
The STOMP example is probably relevant though, 'cus that *is* parsing a network protocol :) | |||
TimToady | we have ideas for lazy strings, but we're lazy programmers | ||
robertle | where can I find this STOMP? | 20:59 | |
is the grammar internally not a state machine? | |||
21:01
cpage_ left
|
|||
robertle | yeah, lazy strings would be a more functional way of looking at the problem than that "pushing" incremental parsing | 21:01 | |
21:01
tyilanmenyn is now known as tyil,
cpage_ joined
|
|||
mspo | STOMP the mq thing? | 21:01 | |
RabidGravy | yeah it works and everything | 21:02 | |
robertle | got it: github.com/jnthn/p6-stomp/blob/mas...Parser.pm6 | ||
jnthn: so you append and try to parse until parsing suceeds, when it does you remove the stuff acceptred by the parser | 21:04 | ||
perlpilot | robertle: it sounds to me like you want a parse that can be incomplete (or "succeed in the middle") or something and then pick up from where you left off. | ||
robertle | perlpilot: totally | ||
jnthn: so if I feed you byte by byte, you attempt to parse the whole thign again and again? just trying to understand... | 21:05 | ||
21:06
Mithaldu joined
|
|||
perlpilot | robertle: I don't think we're there yet. You have to build a string that can be completely parsed (perhaps with some left overs) and feed those strings to a grammar one at a time. | 21:06 | |
Mithaldu | brokenchicken: you said this a bit back: "I pointed out to bdfoy his example in the book was broken and he started deleting my replies" are you saying replies on reddit were deleted? | ||
robertle | ok, uinderstood. and the difference between parse and subparse is whether it accepts a string that has extra stuff at the end? | ||
perlpilot | robertle: yeah | 21:07 | |
Mithaldu | lizmat: and yeah, the perl reddit is for both. i've had to delete a lot of reports of people trying to get rid of the perl6 things | 21:08 | |
lizmat | Mithaldu++ :-) | ||
Mithaldu | :) | ||
perlpilot | robertle: docs.perl6.org/routine/subparse | 21:09 | |
21:10
agentzh joined
|
|||
[Coke] | parse must match the whole string. | 21:10 | |
robertle | perlpilot: yeah, I did read that and tried it. was just wondering whether there is a current way to do the incremental part, avoiding to re-parse parts until the match is complete. but the approach in the stomp module is ok, I'll do that! | 21:11 | |
thanks! | |||
jnthn | robertle: Yes, you understood what I@m doing right | ||
robertle: It re-parses. It's just that in this case that's probably not too bad; we're getting a packet at a time, not a byte at a time | 21:12 | ||
robertle | not when I'm sending you the packets ;) | ||
21:13
pyrimidine joined
21:14
ugjka joined
|
|||
jnthn | :P | 21:14 | |
samcv | good * #perl6 | 21:16 | |
sena_kun | samcv, 0/ | 21:17 | |
brokenchicken | Mithaldu: no, it was in bdfoy's private repo for the LP6 previews | 21:19 | |
Mithaldu | aight | ||
i'd be annoyed if that happened on reddit, and do have the tools to track it down if necessary | 21:20 | ||
brokenchicken | Well, brian and I have been at "war" ever since the module naming argument from like a decade ago :) I'm not surprised he was deleting my replies. | ||
21:21
FROGGS left
|
|||
Mithaldu | well, i have two views on this | 21:21 | |
for one, he still has me banned on twitter for criticizing him | |||
[Coke] | u: { .uniname ~~ / 'LLAMA' /} | ||
unicodable6 | [Coke], Found nothing! | ||
21:21
Tonik left
|
|||
[Coke] | u: { .uniname ~~ / 'CAMEL' /} | 21:21 | |
21:21
bjz left
|
|||
Mithaldu | for the other, your name-calling is uncalled for, and comparing it to someone mistakenly attributing more status to you than you have is not very elegant | 21:21 | |
unicodable6 | [Coke], U+1F42A DROMEDARY CAMEL [So] (🐪) | ||
[Coke], U+1F42B BACTRIAN CAMEL [So] (🐫) | |||
Mithaldu | wow, different camels | 21:22 | |
21:23
TEttinger joined
|
|||
lizmat | m: my $c = "🐪"; $c++; say $c | 21:23 | |
camelia | rakudo-moar f2894d: OUTPUT«🐫» | ||
21:23
zakharyas joined
|
|||
Mithaldu | if everyone calmed down a little some value could be extracted from sinan's breaking-stuff skills | 21:23 | |
brokenchicken | Mithaldu: fair enough. It's uncalled for. But the only reason he calls me "leading Perl 6 developer" is to misrepresent Perl 6. | 21:24 | |
Just as his Tweets | |||
I don't for a second believe he has any interest in Perl 6's wellbeing. | |||
Mithaldu | right, so if he tweets about bugs, ask him to report it and for repro steps | 21:25 | |
either he gives you something useful | |||
or the intention of his posting, if negative, is laid bare | |||
perlpilot | indeed | 21:28 | |
brokenchicken | I'm just gonna stop talking to people. | ||
Gonna write code instead. | |||
Mithaldu | not a bad thing either :) | 21:29 | |
brokenchicken | Someone merge github.com/MoarVM/MoarVM/pull/518 when Travis's approves it and I'll do bumps and write the tests | ||
brokenchicken relocates. | |||
Mithaldu | also, you could try and see what rakudo currently does with msvc | ||
samcv | it's sad there are people that only want to talk badly about perl 6 but have no intention on actually seeing it improve | 21:30 | |
Mithaldu | samcv: it's not clear whether that is actually the case here | 21:31 | |
samcv | oh | ||
Mithaldu | there's someone who's upset, and got some responses that were less than quality, by people also upset | ||
and it seems to have been going on for some time with complicating factors | |||
samcv | :\ | ||
jnthn | There's something wrong with MSVC? Ticket? | 21:33 | |
(I know there was a build bustage there a few weeks back 'cus I fixed it.) | |||
Mithaldu | jnthn: no ticket, but let me get you a short summary | ||
jnthn | No, because I'm tired and won't do anything with it | 21:34 | |
Mithaldu | ok, then i won't | ||
RabidGravy | It would be better if there was a ticket surely | 21:35 | |
jnthn | Indeed | ||
Well, if somebody else wants to make the ticket... | |||
21:35
rindolf left
|
|||
jnthn | Please, folks, encourage problems to get ticketed. We don't always manage to get to tickets as fast as would be nice, but it's the best way of things not being totally forgotten. | 21:36 | |
Mithaldu | i don't know enough to make a useful ticket | 21:37 | |
21:37
domidumont joined
|
|||
Mithaldu | i was going to make a summary so you could tell me whether the summary would be worth reporting | 21:37 | |
but then you told me no | |||
so what now? :P | |||
jnthn | Well, OK, go on... :) | ||
samcv | is `if @a { }` equivilent to `if @a.elems` ? | 21:38 | |
jnthn | samcv: No | ||
lizmat | @a.Bool | ||
samcv | what checks does so @a do? | ||
Mithaldu | jnthn: sinan posted about his msvc compiled p6 failing to respond well to ^Z or ^D for this code: perl6 -e "for $*IN.lines -> $x { say $x }" | ||
jnthn | samcv: If @a has lazy parts, if @a will only make sure there's at least one element. .elems will force it to reify everything | ||
brokenchicken | samcv, the former would reify at most one elem, the latter all of them | ||
samcv | kk | 21:39 | |
Mithaldu | he seems to expect it to exit, but it doesn't | ||
samcv | very good then | ||
Mithaldu | someone else noted the msi installed version handles that fine | ||
jnthn | Hmm | ||
RabidGravy | version of msvc and the compile options might help someone reporoduce | 21:40 | |
samcv is very happy the bitfield packing code i wrote is working perfectly :) | |||
21:40
Vynce left
|
|||
Mithaldu | also, the stuff generated by configure seems to not make nmake happy in regards to directory separators: www.nu42.com/2017/02/rakudo-star-2...essage.png | 21:41 | |
RabidGravy: was gonna say i don't nkow, but apparently v14 amd64 | |||
jnthn | ^D | ||
♦ | |||
^Z | |||
→ | |||
At least in the MSVC build I have it doesn't seem to exit either | |||
Mithaldu | oh good, you have a repro then :) | 21:42 | |
jnthn | My gut feeling is that it'd be a Windows issue rather than a compiler-specific issue... | ||
Though if it worked for somebody then that's a tad odd | |||
Mithaldu | sec | ||
jnthn | I wonder what console whoever it worked for was using | ||
RabidGravy | samcv, anything I can steal for github.com/jonathanstowe/Util-Bitfield ? | ||
21:42
kurahaupo left
|
|||
Mithaldu | jnthn: this person reported it working for them: twitter.com/joshuamy/status/826685435606806528 | 21:43 | |
samcv | possibly RabidGravy | ||
Mithaldu | if you don't have twitter i can ask them | ||
also, should i throw the info so far on rt then? | |||
samcv | compute-packing(List of pairs); basically * => bitfield-width | 21:44 | |
21:44
robinsmidsrod left
|
|||
Mithaldu | actually i don't even know how to report perl6 bugs | 21:44 | |
21:44
robinsmidsrod joined
|
|||
samcv | so for my UCD-gen.p6 i supply it with a list of property-name => bitwidth | 21:44 | |
and it spits back out at me the optimal ordering of those things | |||
lizmat | Mithaldu: send an email to [email@hidden.address] | ||
21:44
zakharyas left
|
|||
Mithaldu | lizmat: cheers | 21:44 | |
lizmat | *.org | ||
Mithaldu | :D | ||
samcv | you can put anything you want in the keys, but the module only uses the bitwidth to sort them, though it is determinalistic and always gives the same result | ||
Mithaldu | ok, gonna wait and see what jnthn says then :) | 21:45 | |
samcv | [:Numeric_Value_Numerator("7"), :Canonical_Combining_Class(1), :Joining_Group("7"), :XID_Start(1), :Line_Break("6"), :Numeric_Type(2), :Word_Break("5"), :Joining_Type(3), :Grapheme_Cluster_Break("5"), :General_Category_1(3), :Bidi_Class("5"), :East_Asian_Width(3), :Numeric_Value_Denominator("4"), :General_Category_2(4), :Jamo_Short_Name("6"), :XID_Continue("1"), :White_Space("1"), :Variation_Selector("1"), :Uppercase("1"), :Unified_Ideograph("1"), | ||
:Terminal_Punctuation("1"), :Soft_Dotted("1"), :Sentence_Terminal("1"), :Radical("1"), :Quotation_Mark("1"), :Prepended_Concatenation_Mark("1"), :Pattern_White_Space("1"), :Pattern_Syntax("1"), :Other_Uppercase("1"), :Other_Math("1"), :Other_Lowercase("1"), :Other_ID_Start("1"), :Other_ID_Continue("1"), :Other_Grapheme_Extend("1"), :Other_Default_Ignorable_Code_Point("1"), :Other_Alphabetic("1"), :Noncharacter_Code_Point("1"), :NFKD_QC("1"), | |||
:NFKC_QC("1"), :NFKC_CF("1"), :NFD_QC("1"), :NFC_QC("1"), :Math("1"), :Lowercase("1"), :Logical_Order_Exception("1"), :Join_Control("1"), :Ideographic("1"), :ID_Start("1"), :ID_Continue("1"), :IDS_Trinary_Operator("1"), :IDS_Binary_Operator("1"), :Hyphen("1"), :Hex_Digit("1"), :Grapheme_Link("1"), :Grapheme_Extend("1"), :Grapheme_Base("1"), :Full_Composition_Exclusion("1"), :FC_NFKC("1"), :Extender("1"), :Expands_On_NFKD("1"), :Expands_On_NFKC("1"), | |||
:Expands_On_NFD("1"), :Expands_On_NFC("1"), :Emoji_Presentation("1"), :Emoji_Modifier_Base("1"), :Emoji_Modifier("1"), :Emoji("1"), :Diacritic("1"), :Deprecated("1"), :Default_Ignorable_Code_Point("1"), :Dash("1"), :Changes_When_Uppercased("1"), :Changes_When_Titlecased("1"), :Changes_When_NFKC_Casefolded("1"), :Changes_When_Lowercased("1"), :Changes_When_Casemapped("1"), :Changes_When_Casefolded("1"), :Cased("1"), :Case_Ignorable("1"), | |||
brokenchicken | whoa | ||
samcv | :Bidi_Mirrored("1"), :Bidi_Control("1"), :Any("1"), :Alphabetic("1"), :ASCII_Hex_Digit("1")] | ||
woah didn't mean to paste that much :\ | |||
Mithaldu | samcv: good job :D | ||
samcv | but that's what it spits back out at me, and i supply it just pairs with keys whatever i want and values which are bitwidth | 21:46 | |
brokenchicken | Mithaldu: fwiw, the errors sinar saw were found and excluded in star release | ||
Mithaldu, I forget now, but there may evem be a ticket for that | |||
Mithaldu | brokenchicken: are you certain you mean the ^D / ^Z ones? | ||
jnthn | Mithaldu: github.com/MoarVM/MoarVM/issues/519 | 21:47 | |
Mithaldu | jnthn++ <3 | ||
21:48
domidumont left
|
|||
Mithaldu | jnthn: i also bumped joshuamy and will report back if he lets me know more details | 21:48 | |
samcv | m: my @a; my @b = 3; @a.push(@b.pop() orelse die "oh no") | 21:50 | |
camelia | rakudo-moar f2894d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 3my @a; my @b = 3; @a.push(@b.pop()7⏏5 orelse die "oh no") expecting any of: infix …» | ||
samcv | anybody know why i get this error? | ||
brokenchicken | Mithaldu, as I recall the errors were about readline or something and ^D^Z were broken. I installed latest star and got no errors and ^D worked (not ^Z). I asked sinar for version, he gave me a dev build version, I askdd star release manager about it and he said he had to work around the issue for the release and I told sinar he should use the release version | ||
That's how I recall it | |||
Mithaldu | brabo: jnthn just repro'd that: github.com/MoarVM/MoarVM/issues/519 | ||
erg | |||
brokenchicken | That's on default Windows7 command prompts | ||
Mithaldu | brokenchicken: ^ | ||
please provide details in that bug report? | |||
21:51
sufrostico left
|
|||
Mithaldu | brokenchicken: which release manager? | 21:52 | |
jnthn finally found some time to fix github.com/jnthn/grammar-debugger/issues/13 | |||
21:55
skids left
|
|||
robertle | is there something crazy slow or special about IO::Socket::INET accept() ?? | 21:56 | |
jnthn | Well, only that at present we implement sync I/O atop of libuv's async I/O, which gives a bit of overhead. | 21:57 | |
But I can't imagine it's all that much | |||
We'll likely change that at some point in the not too distance future, though. | |||
brokenchicken | Mithaldu: stmuk_ | 21:58 | |
robertle | ok, I'll do some more digging... I wrote a super silly fully-sync blocking http server, all of 50 lines! of course total nonsense, just fooling around. but it is awfully slow compared to a perl5 equivalent | 21:59 | |
Mithaldu | brokenchicken: ok, so probably not joshuamy | ||
robertle | and it seems to spend all it's time in accept(), which is kinda fair after all that could be just waiting for a connection. but there are plenty of incoming connections, and as I said a perl5 equivalent is much fater... | ||
21:59
eliasr left
|
|||
brokenchicken | Nope | 22:00 | |
jnthn | robertle: Hm, oddness. | ||
Guess we can perf it etc. also | |||
jnthn off to rest | |||
'night, #perl6 | |||
brokenchicken | Mithaldu: as for reporting stuff... Just email to [email@hidden.address] It's fine if it's just a summary or whatever. A brief ticket is better than no ticket at all. | 22:01 | |
night | |||
Mithaldu | brokenchicken: yeah, liz already told me :) | ||
ciao o/ | |||
brokenchicken | \o | ||
Mithaldu | oh wait, you mean jnthn :D | ||
well | |||
i'm happy something good came out of that | |||
brokenchicken, if you can find the ticket again, please let me know | |||
22:02
geekosaur left
22:03
gdonald left,
geekosaur joined
22:05
kurahaupo joined
22:07
sufrostico joined
|
|||
Geth | doc/language-section-examples: b729c96505 | Altai-man++ | util/extract-examples.p6 Make extract-examples script recognize `only` token and add an exclude list for Language/ section |
22:09 | |
doc/language-section-examples: 9fc71c30c2 | Altai-man++ | 27 files First stage of examples reworking in Language/ directory |
|||
dalek | d-To-HTML/coke/html-test: 0b44eb2 | coke++ | t/09-Html.t: Add a test for =pod Html Issue #23 |
22:10 | |
yoleaux | 30 Jan 2017 21:04Z <[Coke]> dalek: please switch this bot to use Geth. | ||
[Coke] | geth: source? | 22:11 | |
someone have the instructions for that? | 22:12 | ||
sena_kun | [Coke], what do you want to do? | ||
[Coke] | change the webhook to use geth instead of dalek. | 22:13 | |
nevermind, googledi t | |||
sena_kun | Anyway I can't help you here. :) | ||
22:14
MasterDuke joined
|
|||
brokenchicken | Mithaldu: no, but I found the conversation of me pointing out sinar's tweet and asking about the issue they encountered: irclog.perlgeek.de/perl6-dev/2017-...i_13853892 | 22:14 | |
Geth | Pod-To-HTML/coke/html-test: 0b44eb2aa4 | (Will "Coke" Coleda)++ | t/09-Html.t Add a test for =pod Html Issue #23 |
||
Mithaldu | brokenchicken: that's only about half the issue | 22:15 | |
[Coke] | .tell dalek update that repo to use Geth instead: Change the webhook to geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything." | ||
yoleaux | [Coke]: I'll pass your message to dalek. | ||
[Coke] | would appreciate it if github.com/perl6/Pod-To-HTML/pulls/24 got some review. | 22:16 | |
brokenchicken | heh | ||
[Coke]: why do you always include question marks with bot commands? :) | |||
Geth: source | |||
Geth | brokenchicken, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes | ||
brokenchicken | github.com/perl6/Pod-To-HTML/pull/24 | 22:17 | |
[Coke] | brokenchicken: because it's more natural. And all of my bots allow it. :) | ||
22:17
pyrimidine left
|
|||
brokenchicken | :) | 22:17 | |
[Coke] | weird, wonder how I botched the s there | 22:18 | |
danke. | |||
brokenchicken | [Coke]: =begin Html <-- for me it'd be weird to write it that way. I'd use =begin HTML | ||
sena_kun | [Coke], do you (want to) review my docs PR this time? | ||
[Coke] | brokenchicken: sure, but we already have code that does that, and pod-to-html seems to allow for it (see linked source in linked issue to PR) | ||
sena_kun: URL? | |||
brokenchicken | Geth: source? | 22:19 | |
Geth | brokenchicken, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes | ||
sena_kun | [Coke], just a moment, I'm finishing it now... | ||
brokenchicken | geth: source? | ||
Ahhhh | |||
[Coke] | brokenchicken: But even if you wrote HTML, it'd still not pass it through raw. :| | ||
brokenchicken: :) | |||
sena_kun: will have to do it later this evening. | |||
22:21
pyrimidine joined
|
|||
Geth | doc: Altai-man++ created pull request #1176: Language section examples reworking (part two) |
22:22 | |
robertle | is this interesting?? Spesh: get_osr_deopt_index failed | 22:23 | |
Geth | doc/language-section-examples: 19 commits pushed by (Antonio Quinonez)++, (Wenzel P. P. Peppmeyer)++, (Will "Coke" Coleda)++, (Zoffix Znet)++, (Samantha McVey)++, Altai-man++ review: github.com/perl6/doc/compare/9fc71...32b2eb8571 |
||
brokenchicken | hehe | 22:25 | |
sena_kun | [Coke], I've requested your review just now. There are nothing special though, just some preparation work. I've reviewed it twice and checked a look of all changed pages in a browser, so it should be fine. | 22:27 | |
And we need to un-skip signatures from operators.pod6, since they're working now. But it definetely will be only after some sleep. 'night, #perl6. | 22:29 | ||
brokenchicken | night | ||
22:30
wamba left,
sena_kun left
22:33
RabidGravy left
|
|||
brokenchicken | robertle: no idea, but a wild guess is failing to do something is bad :) | 22:36 | |
22:38
kurahaupo left
|
|||
perlpilot | looks like spesh had trouble pessimizing something | 22:38 | |
robertle | this happens only when I do --profile | 22:39 | |
anyway, good night... | 22:41 | ||
brokenchicken | night | ||
22:41
robertle left
22:42
Vynce joined
22:45
lukaramu left,
girafe joined,
cpage_ left
22:48
pyrimidine left
22:49
pyrimidine joined
22:50
rurban joined
|
|||
brokenchicken | Seems both the build for my PR and for the PR from 2 days ago say "build canceled": travis-ci.org/MoarVM/MoarVM/builds/197770188 | 22:53 | |
no explanation :/ | |||
23:00
st_elmo left
|
|||
El_Che | brokenchicken: there is a max of 50m runtime on travis | 23:02 | |
brokenchicken | brabo: yeah, but MoarVM builds in like 20 seconds :/ | 23:05 | |
El_Che | are you using the compiler of the guy that popped in yesterday? ;) | ||
brokenchicken | No. | ||
El_Che: rakudo builds take time, but MoarVM is fast to build | 23:06 | ||
23:12
gdonald joined
|
|||
stmuk_ | with reference to R* Windows linenoise issues this has been mentioned in the Errata at perl6.org/downloads/ | 23:16 | |
I'm not finding the twitter traffic particularly helpful | 23:18 | ||
23:21
pyrimidine left,
pyrimidine joined
23:25
nemsys joined
23:26
pyrimidine left
|
|||
stmuk_ | rt.perl.org/Public/Bug/Display.html?id=128632 | 23:27 | |
23:28
lep-delete left
23:32
lep-delete joined
|
|||
brokenchicken | aww... I was hoping the issue was fixed when I couldn't produce it anymore :() | 23:34 | |
Oh wait. | 23:35 | ||
I think there's a dupe ticket for that | |||
Geth | perl6.org: 2db7f5bfda | (Steve Mynott)++ | source/downloads/index.html explicity mention Linenoise as problematic on windows |
||
brokenchicken | Yeah: rt.perl.org/Ticket/Display.html?id...et-history | ||
23:36
BenGoldberg joined
23:37
raiph left
|
|||
Mithaldu | i still can't imagine how linenoise plays into code that looks like it uses only builtins, but whatever | 23:37 | |
it's probably also a good idea to actually include errata in the tarball itself, as that position for that knowledge is absolutely tribal knowledge | 23:38 | ||
and errata should be date-stamped | |||
stmuk_ | well the problem with that is that generally issues are only reported *after* the release | ||
brokenchicken | Mithaldu: there's logic that mixes in its functionality into REPL: github.com/rakudo/rakudo/blob/nom/...#L226-L269 | ||
Mithaldu | sure, so you make a point release to include the mention of the brokenness | ||
brokenchicken | Seems a lot of effort. | 23:39 | |
stmuk_ | if you think that's a good idea you produce a point release | ||
brokenchicken | :D | ||
brokenchicken doesn't see release notes for 2017.01 in github.com/rakudo/star/tree/master...s/announce | 23:40 | ||
But what I was gonna suggest is to include the URL to errata page in the announcement in visible page. So if folks encounter issues they'd know where to look first | |||
Mithaldu | brokenchicken: actually that seems like a good compromise | 23:41 | |
have the readme mention the place to look for possible issues | |||
brokenchicken | +1 | ||
stmuk_ | git grep for November to find the January release ;) | 23:42 | |
github.com/rakudo/star/blob/master...2017.01.md | |||
PRs welcome! | |||
brokenchicken | Oh, it *is* there, I just misread it as 2016.07 -_- | ||
I need to take a break from computer :P | |||
stmuk_ | I have thought about removing all pre Xmas announcements | 23:43 | |
there are too many | |||
brokenchicken | And I haven't forgotted about adding-back the 'archive' on the downloads page, as I promised. I've just been lazy :} | ||
stmuk_ | you don't seem to have been that lazy to me :) | 23:44 | |
anyway I thought the windows linenoise fairly minor compared with the twitter reports of windows roast failures | |||
which I've never seen myself | 23:45 | ||
Mithaldu | brokenchicken: that REPL code makes me want to refactor that horrid christmas tree with all these unnecessary nodes | ||
github.com/rakudo/star/pull/85 | |||
readme pr done | 23:46 | ||
oh god, that entire file | |||
why are there so many if { ...; return } else { ...; } constructs? | 23:47 | ||
does perl 6 still have postfix if? | |||
stmuk_ | ok I'll merge it even although retrospective accounces don't work in order to make in more likely to go into the next announce | 23:48 | |
Mithaldu | stmuk_: if you have better ideas, i'm not married to it :) | ||
stmuk_ | no that's a useful addition .. thanks | ||
Mithaldu | cheers | 23:49 | |
stmuk_: i'm also confused what you mean with the announce, given that the edit was to readme | 23:50 | ||
stmuk_ | oh sorry you are right I'm tired | 23:51 | |
Mithaldu | :) | ||
23:54
abraxxa left
|
|||
stmuk_ | anyway sleep and then FOSDEM! | 23:56 | |
Mithaldu | stmuk_: thanks, and enjoy :) | 23:58 | |
23:59
Actualeyes joined
|