»ö« 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. |
|||
brokenchicken | Based on the evidence, yes | 00:01 | |
m: gist.github.com/zoffixznet/72693f8...e0dafecb45 | |||
camelia | rakudo-moar 7f245f: OUTPUT«6.28574922» | ||
brokenchicken | a bit faster | 00:02 | |
dogbert17 | and the grep I did was actually totally useless | ||
00:02
zacts left
00:04
zacts joined
00:06
BenGoldberg left,
mr_ron joined
00:08
BenGoldberg joined
00:13
BenGoldberg left
00:15
BenGoldberg joined
00:16
jjido left
00:30
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
bjz left
00:32
lmmx left
00:33
rindolf left
|
|||
agentzh | hmm, found another nit. when rakudo complaints about "Attribute $!xxx not declared in class Foo", the line number reported is always the end of the file Foo.pm6. | 00:40 | |
00:40
lmmx joined
|
|||
agentzh | so the real offending source line is never reported. | 00:41 | |
brokenchicken | huggable: rakudobug | ||
huggable | brokenchicken, [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs | ||
brokenchicken | report it by emailing to ^ that email address | 00:42 | |
agentzh | brokenchicken: okay, will do | ||
brokenchicken | huggable: rakudobug :is: Report bugs by emailing to [email@hidden.address] | ||
huggable | brokenchicken, Added rakudobug as Report bugs by emailing to [email@hidden.address] | ||
agentzh | brokenchicken: just sent an email to [email@hidden.address] | 00:48 | |
with a minimal example. | |||
thanks for the pointer. | |||
00:50
espadrine_ left
00:53
lep-delete left
00:56
lep-delete joined
00:58
pmurias left,
labster left
01:02
wamba left,
bjz joined
01:07
cibs_ left
01:08
cibs joined
01:19
bstamour joined
01:21
bstamour left,
jdmmmmm left
01:22
cale2 left
01:23
jdmmmmm joined
01:29
jdmmmmm left
01:38
BenGoldberg left,
labster joined
|
|||
brokenchicken | Too quiet in here.... | 01:49 | |
brokenchicken blasts www.youtube.com/watch?v=vfu9UBsPAxs | |||
🎸🎸🎸🎸🎸🎸🎸 🤘🤘🤘🤘 | |||
MasterDuke is busily watching jonathan blow's newest video about Jai | 01:50 | ||
01:50
dugword left
01:55
agentzh left
02:03
agentzh joined
|
|||
TEttinger | m: say "\C[SEE-NO-EVIL_MONKEY]" | 02:13 | |
camelia | rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized backslash sequence: '\C'at <tmp>:1------> 3say "\7⏏5C[SEE-NO-EVIL_MONKEY]" expecting any of: argument list double quotes term» | ||
TEttinger | m: say "\c[SEE-NO-EVIL_MONKEY]" | ||
camelia | rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name SEE-NO-EVIL_MONKEYat <tmp>:1------> 3say "\c[SEE-NO-EVIL_MONKEY7⏏5]"» | ||
TEttinger | hm | ||
u: monkey | |||
unicodable6 | TEttinger, U+1F412 MONKEY [So] (🐒) | ||
TEttinger, U+1F435 MONKEY FACE [So] (🐵) | |||
TEttinger, gist.github.com/c57e7f38637aa79560...8de2afd11f | |||
TEttinger | m: say "\c[SEE-NO-EVIL MONKEY]" | ||
camelia | rakudo-moar 7f245f: OUTPUT«🙈» | ||
TEttinger | yay | ||
02:14
Ven joined
02:20
kalkin- left
02:21
kalkin- joined
02:41
agentzh left
|
|||
brokenchicken | .oO( monkey face ZWS... ) |
02:42 | |
WOMAN/MAN/MONKEY variants :) | |||
m: "\c[monkey facepalming]" | 02:43 | ||
camelia | rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name monkey facepalmingat <tmp>:1------> 3"\c[monkey facepalming7⏏5]"» | ||
02:45
ilbot3 left
02:48
ilbot3 joined
02:49
cale2 joined
|
|||
TEttinger | \c[MONKEY DABBING] | 03:03 | |
\c[MOLOCH, DEVOURER OF FLESH, PRAISE BE UPON HIM] | 03:05 | ||
cale2 | D: | ||
TEttinger | just waiting for unicode on those two | 03:06 | |
samcv | when did the docs highlighting break btw? | ||
anyone know when that began and if so what caused it? | |||
03:07
khw joined
|
|||
cale2 | I know I talk about elixir alllll the time, but | 03:08 | |
it has a neat feature where you can pattern match on binary data | |||
Can you use perl6 grammars to pattern match on binary data? | |||
Is that how you might interface with new data formats, for example? | |||
samcv | the builds are passing on TravisCI | 03:09 | |
binary data as in, non-text? | |||
you cannot use grammars for non-text | |||
cale2 | samcv: Yeah, like destructuring a TCP header or something | 03:11 | |
www.freesoft.org/CIE/Course/Section4/8.htm | 03:12 | ||
03:12
Ven left
|
|||
samcv | that would be. interesting i suppose. but they were not designed for that | 03:12 | |
MasterDuke | samcv: i think [Coke] mentioned the highlighting broke a day or two ago | 03:13 | |
samcv | yeah. the travis passes tho | ||
maybe something with the server then | 03:14 | ||
MasterDuke | irclog.perlgeek.de/perl6/2017-01-21#i_13964451 | ||
03:17
eaterof left
03:18
eater joined
03:19
dugword joined
03:31
bjz left,
revere left,
Ven joined
03:32
revere joined,
haxmeister joined
03:38
parv joined
|
|||
brokenchicken isn't sure about the latest PERF tickets | 03:38 | ||
What would be the criteria for closing them? I don't expect the compared results to ever have the same timings and the cases all fall under "our optimizer could optimizer more things" | 03:39 | ||
03:46
parv left
03:50
noganex joined
|
|||
[Coke] | I believe we've been going for "down from completely unreasonable to normal slowness compred to Perl 5". which is not really quantifiable. | 03:53 | |
03:53
noganex_ left
04:01
Ven left
04:04
eater left
04:07
Ven joined
04:10
Ven left
04:14
agentzh joined
04:15
Ven joined
04:20
lmmx left
04:23
Ven left,
Ven_ joined
04:30
bjz joined
04:36
mr_ron left
04:43
eater joined,
mr_ron joined
05:07
Ven_ left
05:09
labster left
05:18
agentzh left
05:30
Cabanossi left
05:31
tardisx joined
05:32
Cabanossi joined
05:43
tardisx left
05:44
tardisx joined
05:51
cale2 left
05:53
CIAvash joined
05:56
kyan left
05:59
mr_ron left
06:03
khw left
06:10
Ven joined
|
|||
samcv | guess you can't use captures with subst | 06:22 | |
m: self.subst(/(.**4..6 $breakpoint)/,"$0\n", :global).say | |||
camelia | rakudo-moar a1c7d0: OUTPUT«5===SORRY!5==='self' used where no object is availableat <tmp>:1------> 3<BOL>7⏏5self.subst(/(.**4..6 $breakpoint)/,"$0\nVariable '$breakpoint' is not declaredat <tmp>:1------> 3self.subst(/(.**4..6 7⏏5$breakpoint)/,"$0\n",…» | ||
samcv | m: "string".subst(/st(..)ng/, "$0a", :g).say #this paste is what i meant to paste | ||
camelia | rakudo-moar a1c7d0: OUTPUT«Use of Nil in string context in block <unit> at <tmp> line 1a» | ||
CIAvash | .ask agentzh Is this the issue you're experiencing? rt.perl.org/Public/Bug/Display.html?id=127309 | ||
yoleaux | CIAvash: I'll pass your message to agentzh. | ||
CIAvash | m: "string".subst(/st(..)ng/, -> $/ {"$0a"}, :g).say | 06:24 | |
camelia | rakudo-moar a1c7d0: OUTPUT«ria» | ||
samcv | kk that wasn't on the docs. thanks CIAvash | 06:27 | |
06:27
mr_ron joined
|
|||
CIAvash | m: say S:g/st(..)ng/"$0a"/ given "string" | 06:29 | |
camelia | rakudo-moar a1c7d0: OUTPUT«"ria"» | ||
CIAvash | samcv: also ↑ | ||
m: say S:g/st(..)ng/$0a/ given "string" | 06:30 | ||
camelia | rakudo-moar a1c7d0: OUTPUT«ria» | ||
06:32
bjz left
06:51
dugword left
06:53
Ven left,
kaare__ joined
06:55
kaare_ left
06:57
Sgeo joined
07:00
labster joined
|
|||
moritz | good morning | 07:01 | |
lol I blogged: perlgeek.de/blog-en/perl-6/2017-00...eview.html | |||
07:01
bjz joined
07:03
haxmeister left
07:13
Ven joined
07:16
wamba joined
07:18
agentzh joined
07:22
agentzh left
07:24
Ven left
07:28
shmibs joined
07:30
mr_ron left
07:37
Ven joined
07:38
AlexDaniel joined
07:49
bjz left
07:51
dugword joined
07:59
FROGGS joined
08:05
kaare__ left
08:07
kaare_ joined
08:10
Ven left
08:13
xinming_ joined
08:15
bjz joined,
mr_ron joined
08:25
cibs left
08:27
cibs joined
08:35
Actualeyes left
08:52
inra joined
08:53
xinming_ left
08:55
xinming joined
08:59
xinming left
09:00
xinming joined
09:05
domidumont joined
09:09
domidumont left
|
|||
Geth | cosystem: 1f4a6989cb | (Ahmad M. Zawawi)++ | META.list Switch Electron to META6.json |
09:10 | |
09:10
domidumont joined
09:20
labster left
09:24
mr_ron left
09:26
rindolf joined,
domidumont left
09:27
domidumont joined
09:28
domidumont left
09:29
domidumont joined
09:31
agentzh joined
09:37
agentzh left
09:45
Actualeyes joined
|
|||
El_Che | ./see azawawi | 09:46 | |
09:46
RabidGravy joined
|
|||
El_Che | .seen azawawi | 09:47 | |
yoleaux | I saw azawawi 21 Jan 2017 11:27Z in #perl6: <azawawi> Now most swift code is littered with lonely underscores | ||
AlexDaniel hates underscores with passion | 09:48 | ||
El_Che | not fond of the dash perl6 convention, but c'est la vie | 09:49 | |
09:50
flexibeast joined,
azawawi joined
|
|||
azawawi | hi #perl6 | 09:50 | |
09:50
espadrine_ joined
|
|||
AlexDaniel | :o | 09:50 | |
how? :) | |||
El_Che | azawawi: new rakudo packages are beint built as we speak | 09:51 | |
azawawi: they shoud be up soon | 09:52 | ||
azawawi | We need something like github.com/CocoaPods/cocoapods-try for trying out Perl 6 modules examples. For example, `zef try Bailador` :) | ||
I want to try but not install :) | |||
El_Che: thx. El_Che++ | |||
El_Che | azawawi: docker is a match on Linux. jjmerelo release some alpine perl6 containers | 09:53 | |
09:53
Actualeyes left
|
|||
El_Che | azawawi: although, you approach is more sensible | 09:53 | |
09:54
Tonik joined
|
|||
RabidGravy | azawawi, I don't know if zef does it but panda has "look" which means you can run the examples from the durectory | 09:55 | |
azawawi | RabidGravy: What do you think we need for `zef try Bailador`. Get all dependencies into a lib folder (without installing) and git pull examples and then modify them to to use that lib folder? | 09:56 | |
RabidGravy | well, I'd say you *do* install the dependencies, just into a temporary local repo | 09:58 | |
10:00
cibs left
|
|||
azawawi | RabidGravy: cool | 10:01 | |
RabidGravy | whether that's a special type of repo or just an existing type with a different prefix I'm not sure | 10:02 | |
azawawi Damn you ImageMagick... they keep changing API :) | 10:05 | ||
brew just upgraded to 7 and they seem to break a few tests... now i need a compat layer (6 & 7) | |||
azawawi is fixing also Electron tests... electron also is an API breaker lol | 10:06 | ||
10:06
Actualeyes joined
10:07
pierrot left
|
|||
azawawi | will a rakudo * be released for 2017.01? | 10:08 | |
10:09
cibs joined,
pierrot joined
|
|||
El_Che | azawawi: iirc it's released every 3 months | 10:13 | |
azawawi: and last rakudo star wasn't that long ago | |||
stmuk_ will clarify once online :) | |||
10:18
domidumont left
|
|||
azawawi | El_Che: thx | 10:30 | |
ci.appveyor.com/project/azawawi/pe...eeqwj#L157 # rakudobrew build failure on windows (latest) | |||
10:34
pierrot left
10:44
pierrot joined
10:48
TEttinger left
10:55
agentzh joined
10:59
agentzh left
11:01
azawawi left
11:05
bjz left
|
|||
Geth | cosystem: 396c2fed45 | (Wenzel P. P. Peppmeyer)++ | META.list add Git::Config |
11:18 | |
11:28
bjz joined
|
|||
stmuk_ | azawawi: I'm working on it .. see scrollback for a Release Candidate | 11:34 | |
El_Che | stmuk_++ | ||
stmuk_ | I'm aiming for 3 monthly releases (the last was out of sequence since it was a bug fix for some platforms) | 11:37 | |
11:39
parv joined
11:47
skids joined
11:52
rindolf left
|
|||
RabidGravy wonders if there is scope for storing arbitrary stuff from a META file in the Distribution as installed | 11:55 | ||
say under a specific key | |||
my rationale for wanting to do this is for a custom CUR that does pluggable in a sane way | 11:56 | ||
grovelling around for specific patterns in the names of the installed modules upsets me | 11:58 | ||
I'll just leave that there, I'm off to the supermarket | 12:00 | ||
stmuk_ | . o O ( off licence ) | ||
12:09
cognominal joined
12:11
pmurias joined
12:14
lukaramu joined
12:16
pmurias left
12:19
cognominal left
12:30
kyan joined
|
|||
timotimo | honestly i'm surprised the ticket about autoincrement doesn't also compare postincrement to preincrement | 12:31 | |
12:35
girafe2 left
|
|||
AlexDaniel | what's autoincrement | 12:38 | |
El_Che censors a "autoexcrement" joke | 12:39 | ||
tadzik | eeeeeeeey! :D | ||
timotimo | postfix ++ and prefix ++ | ||
gfldex | RabidGravy: did you consider to give META6 an executable? | 12:46 | |
12:57
agentzh joined
13:01
bjz left
13:05
agentzh left
13:11
yqt joined
13:14
parv left
13:17
abruanese left,
pmurias joined
13:18
rmusial left
13:22
mr_ron joined
13:24
rmusial joined,
abruanese joined
13:30
BenGoldberg joined
13:36
CIAvash left
|
|||
gfldex | lolibloggedagain: gfldex.wordpress.com/2017/01/22/on...happy-zef/ | 13:54 | |
14:01
BuildTheRobots joined
14:06
araraloren left,
araraloren joined
|
|||
RabidGravy | gfldex, I actually have one somewhere that I use for my own purposes, maybe I'll stick it in at some point | 14:11 | |
gfldex | RabidGravy: I was thinking about useing META6 to create a skeleton for a module, run git init and talk both to github and travis. | 14:13 | |
much easier to teach beginners how to do it properly that way | |||
RabidGravy | I'd say Talking to github and travis" would be out of scope as a script to distribute with META6 but as an example or something separate yes | 14:14 | |
generating a properly formed META file with no other dependencies would be an idea though | 14:15 | ||
gfldex | true, in that case a separate repo with a meta6 executable makes sense | ||
RabidGravy | sure | 14:16 | |
14:17
sammers left
|
|||
stmuk_ | has anyone tried rakudo on a opensolaris type system recently? tempted to spin up a VM | 14:18 | |
14:23
zakharyas joined
14:29
sammers joined
|
|||
El_Che | stmuk_: yes | 14:30 | |
stmuk_: it does not build due the uv dependenct | 14:31 | ||
y | |||
stmuk_: it was a while though | |||
(tried on sol10 en 11° | |||
) | |||
I had some progress on solaris 11 but I still had failing tests for uv | 14:32 | ||
raiph | .ask TimToady Would you agree that, in P6, "all object types are option types" (where option type is as per en.wikipedia.org/wiki/Option_type) | 14:33 | |
yoleaux | 15 Jan 2017 13:38Z <thundergnat> raiph: Thanks for the link. Almost exactly my question. | ||
raiph: I'll pass your message to TimToady. | |||
MasterDuke | moritz: couple typos in the blog post: "attached on object", "paramater" | 14:35 | |
moritz | MasterDuke: thanks | 14:36 | |
MasterDuke | np | 14:37 | |
moritz | [X] fixed | 14:38 | |
14:39
geekosaur left
14:42
geekosaur joined,
cale2 joined
14:43
inra left
14:51
andrzejku joined
14:53
KotH left
14:58
KotH joined
15:09
pmurias left
15:17
Actualeyes left
15:19
Actualeyes joined,
khw joined
15:20
ChoHag joined
15:23
mr_ron left
15:24
mr_ron joined
|
|||
RabidGravy | I really, really shouldn't have varifocal lenses in my glasses | 15:28 | |
15:45
wamba left
15:50
dugword left,
dugword joined
|
|||
stmuk_ | El_Che: ah thanks | 15:52 | |
15:56
pmurias joined
16:13
Actualeyes left
16:16
Actualeyes joined
16:18
rindolf joined
|
|||
araraloren | Night~~, #perl6 | 16:18 | |
16:19
araraloren left
16:21
jdmmmmm joined
16:31
domidumont joined
16:38
dugword left
16:47
chinarulezzz joined
16:48
cognominal joined
16:50
xinming left,
xinming joined
16:57
yqt left,
yqt joined
17:01
dugword joined
17:02
agentzh joined
17:07
agentzh left,
jdmmmmm left
17:16
chinarulezzz left,
kyan left
17:19
espadrine_ left
|
|||
moritz | what's the idiomatic way to merge multiple hashes? | 17:20 | |
m: my @a = [ { a => 1 }, { b => 2 } ]; say @a>>.flat.hash | 17:21 | ||
camelia | rakudo-moar d71bf1: OUTPUT«{a 1 => {b => 2}}» | ||
moritz | m: my @a = [ { a => 1 }, { b => 2 } ]; say @a>>.flat.hash.perl | ||
camelia | rakudo-moar d71bf1: OUTPUT«{"a\t1" => ${:b(2)}}» | ||
moritz | m: my @a = [ { a => 1 }, { b => 2 } ]; my %r; %r.push($_) for @a; say %r.perl | ||
camelia | rakudo-moar d71bf1: OUTPUT«Trailing item in Hash.push in block at <tmp> line 1Trailing item in Hash.push in block at <tmp> line 1{}» | ||
moritz | m: my @a = [ { a => 1 }, { b => 2 } ]; my %r; %r.push(%$_) for @a; say %r.perl | 17:22 | |
camelia | rakudo-moar d71bf1: OUTPUT«{:a(1), :b(2)}» | ||
moritz | not what I call pretty | ||
17:23
MilkmanDan left,
zacts left
|
|||
brokenchicken | m: my @a = [ { a => 1 }, { b => 2 } ]; say @a».pairs.flat.Hash | 17:26 | |
camelia | rakudo-moar d71bf1: OUTPUT«{a => 1, b => 2}» | ||
17:27
ChoHag left,
MilkmanDan joined
|
|||
moritz | brokenchicken: thanks! | 17:28 | |
17:30
kyan joined
|
|||
cale2 | is there an oauth1 example in perl6 somewhere? | 17:33 | |
I have a heck of a time trying to get my company's api up and running with a new language | 17:34 | ||
brokenchicken | There may be a rudimentary one in Twitter.pm6 | ||
buggable: eco oauth | |||
buggable | brokenchicken, OAuth2::Client::Google 'Authenticate against Google's OAuth2 API.': github.com/bduggan/p6-oauth2-client-google | ||
brokenchicken | buggable: eco Twitter | 17:35 | |
buggable | brokenchicken, Twitter 'Twitter API': github.com/zoffixznet/perl6-Twitter | ||
brokenchicken | No idea what version it is github.com/zoffixznet/perl6-Twitte.../OAuth.pm6 | ||
cale2 | i'm reading it now | 17:36 | |
RabidGravy | cale2 there's also arudimentary OAuth implementation in github.com/jonathanstowe/WebService-Soundcloud | 17:51 | |
I keep meaning to split it out | 17:52 | ||
cale2 | The part that confuses me about the protocol is how to sign requests. A lot of oauth1 libraries will generate an oauth signature, but then you have to attach that signature to a request | 17:59 | |
do you append the oauth signature to the request header? do you send in the oauth sig and the header as two separate strings? | |||
what if you also have post data? do you concat the request header, oauth sig, AND payload data? | |||
brokenchicken | sounds like the sign() method from Twitter::OAuth answers all those ques5tions | 18:03 | |
cale2: perhaps this gives an idea? github.com/zoffixznet/perl6-Twitte...UA.pm6#L19 | 18:05 | ||
That's all one Authorization header that gets sent: github.com/zoffixznet/perl6-Twitte...UA.pm6#L27 | 18:06 | ||
cale2 | brokenchicken: $ua.post(url, headers, content) <- That makes sense. But different oauth libraries (and different HTTP libraries) play together differently | 18:08 | |
18:08
BenGoldberg left,
AlexDaniel left
18:11
labster joined
18:14
lukiramu joined
18:17
lukaramu left
18:19
azertus joined
18:30
agentzh joined
18:34
wamba joined
18:37
nowan_ left
18:40
agentzh left
18:43
nowan joined
18:45
ChoHag joined
|
|||
japhb | .tell gfldex code appears cut off by wordpress in gfldex.wordpress.com/2017/01/22/on...happy-zef/ | 18:51 | |
yoleaux | japhb: I'll pass your message to gfldex. | ||
18:53
espadrine_ joined,
girafe joined
|
|||
gfldex | japhb: the example is actually that short | 18:54 | |
yoleaux | 18:51Z <japhb> gfldex: code appears cut off by wordpress in gfldex.wordpress.com/2017/01/22/on...happy-zef/ | ||
brokenchicken | huggable: FindBin | 18:56 | |
huggable | brokenchicken, use lib $*PROGRAM.parent.parent.child("lib").Str; # finds lib/ for scripts in bin/ or t/ | ||
japhb | gfldex: In my browser, the trailing '); appears for just a moment, then disappears | 18:58 | |
Chrome 55 | 18:59 | ||
gfldex | japhb: same where, it's either a bug in wp or in chrome | ||
the html looks fine | 19:01 | ||
19:02
zakharyas left
19:05
BenGoldberg joined
|
|||
RabidGravy | brokenchicken, I use that idiom so often I'm wondering whether it should be either builtin or at least in a module | 19:07 | |
brokenchicken | ... is it built in :) | 19:08 | |
configure a snippet in your editor | |||
RabidGravy | that is exactly what I was typing;-) | 19:09 | |
19:14
dugword left
|
|||
mr_ron | m: my @a = [ { a => 1 }, { b => 2 } ]; my %r = @a.map: { %$_ }; say %r.perl # seems to work | 19:17 | |
camelia | rakudo-moar 4e49ec: OUTPUT«{:a(1), :b(2)}» | ||
19:19
hartenfels joined
|
|||
cale2 | m: sub hi($name) { say "hi $name"; }; my &hi-cale = &hi.assuming("cale"); say &hi-cale; | 19:19 | |
camelia | rakudo-moar 4e49ec: OUTPUT«sub __PRIMED_ANON () { #`(Sub+{Callable[Mu]}|71031408) ... }» | ||
cale2 | how do I call that function | 19:20 | |
lizmat | m: sub hi($name) { say "hi $name"; }; my &hi-cale = &hi.assuming("cale"); say hi-cale(); | ||
camelia | rakudo-moar 4e49ec: OUTPUT«hi caleTrue» | ||
gfldex | m: sub hi($name) { say "hi $name"; }; my &hi-cale = &hi.assuming("cale"); say hi-cale; | ||
camelia | rakudo-moar 4e49ec: OUTPUT«hi caleTrue» | ||
cale2 | ah | ||
gfldex | you callit „hi-scale“ :-> | ||
cale2 | I like that assuming method | 19:21 | |
RabidGravy | for reference any & sigilled thing is effectively a sub | 19:23 | |
m: my &ff = -> { say "foo" }; ff() | |||
camelia | rakudo-moar 4e49ec: OUTPUT«foo» | ||
cale2 | RabidGravy: why did mine end in True? | 19:24 | |
RabidGravy | because you did say in the sub and said the return pof the sub | 19:25 | |
say returns True (unless it doesn't) | |||
cale2 | m: sub hi($name) { "hi $name" }; my &hi-cale = &hi.assuming("cale"); say hi-cale(); | ||
camelia | rakudo-moar 4e49ec: OUTPUT«hi cale» | ||
gfldex | m: my &ff = -> { say "foo" }; &ff.WHAT.say | ||
camelia | rakudo-moar 4e49ec: OUTPUT«(Block)» | ||
19:26
agentzh joined
|
|||
RabidGravy | any callable in a storm | 19:26 | |
cale2 | In haskell, they have a way to do point free style, with the (.) operator. | 19:27 | |
(.) :: (b -> c) -> (a -> b) -> a -> c | |||
I'm thinking this may be possible with perl6 | 19:28 | ||
If you make sure that the return type of the one function is the entry type of the second function | |||
RabidGravy | well if I knew what that did .... | ||
samcv | u: { .unival eq 1000000000000 } | ||
unicodable6 | samcv, U+5146 <CJK Ideograph> [Lo] (兆) | 19:29 | |
samcv, U+16B61 PAHAWH HMONG NUMBER TRILLIONS [No] (𖭡) | |||
19:30
cdg joined
|
|||
samcv | not sure why getting sizeof(long long) in c gives me 4, but somehow can fit 1000000000000 inside a long long | 19:30 | |
19:32
itcharlie1 joined
19:33
zacts joined
|
|||
lizmat | hmmm.. looks like github API is down | 19:33 | |
samcv | :( | ||
lizmat | hmmm... just slow | 19:34 | |
brokenchicken | m: "\c[family: man, man, girl, boy]" | ||
camelia | rakudo-moar 15753f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized character name family: manat <tmp>:1------> 3"\c[family: man7⏏5, man, girl, boy]"» | ||
brokenchicken | samcv: we don't support these yet? | ||
samcv | i don't mean in perl 6, but in C | ||
so I guess it fits in a 64-bit, unsigned. I think i see what I was doing wrong with my type generation | 19:36 | ||
brokenchicken | ? | 19:37 | |
gfldex | cale2: in Perl 6 the return type of a function is unknown at compile time. The return type is a misnomer. It's a return type constraint. | 19:40 | |
cale2 | This is a good post if you're wondering what I meant about point free: buffered.io/posts/point-free-style-...-good-for/ | 19:44 | |
lizmat | m: sub a(--> 42) {}; say a | 19:45 | |
camelia | rakudo-moar 15753f: OUTPUT«42» | ||
lizmat | gfldex: known at compile time ^^^ :-) | 19:46 | |
cale2 | Honestly it's not much different from a feed operator and the like. I was just thinking I could do an infix operator that was similar | ||
gfldex | lizmat: that's a return value, not a return type | ||
gfldex puts down the hairsplittingknife | |||
lizmat | :-) fwiw, I think it is *also* a return type, namely Int | 19:47 | |
perhaps even Int:D | |||
gfldex | m: sub a(--> 42){}; &a.signature.returns.say | 19:48 | |
camelia | rakudo-moar 15753f: OUTPUT«42» | ||
gfldex | 42 is not a type object | ||
lizmat | pretty sure that doesn't matter for a type check ? | 19:49 | |
m: use nqp: say nqp::istype(666,42)' | |||
camelia | rakudo-moar 15753f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3use nqp7⏏5: say nqp::istype(666,42)'» | ||
lizmat | m: use nqp: say nqp::istype(666,42) | ||
camelia | rakudo-moar 15753f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3use nqp7⏏5: say nqp::istype(666,42)» | ||
lizmat | m: use nqp; say nqp::istype(666,42) | ||
camelia | rakudo-moar 15753f: OUTPUT«0» | ||
lizmat | hmmm | ||
I guess it does | 19:50 | ||
m: use nqp; say nqp::istype(666,42.WHAT) | |||
camelia | rakudo-moar 15753f: OUTPUT«1» | ||
gfldex | also, we where talking about Perl 6, not nqp | ||
19:50
chinarulezzz joined
|
|||
gfldex | m: say so 123 ~~ 42; | 19:51 | |
camelia | rakudo-moar 15753f: OUTPUT«False» | ||
cale2 | Does perl6 have generic types in the sense that it can match two generic types? | ||
19:51
bjz_ joined
|
|||
gfldex | not really but you can use a subset to match against a Junction of two types | 19:51 | |
cale2 | Prob not, because you'd just have something like `(Any, Any) returns Any` | ||
gfldex | please don't ask what a Junction is | ||
cale2 | A junction is a glorified enum | 19:52 | |
gfldex | no | ||
19:52
agentzh left
|
|||
cale2 | But in any case, if you don't know the types beforehand, you can't do it | 19:52 | |
Like you can't do `(AnyA, AnyB) returns AnyA` | |||
CIAvash[m] | m: say ((* + 5) ∘ (* × 2))(20) | 19:53 | |
camelia | rakudo-moar 8a448d: OUTPUT«45» | ||
19:54
cdg left
|
|||
gfldex | cale2: if you believe Junctions are enums you may want to read: docs.perl6.org/type/Junction | 19:54 | |
cale2 | CIAvash[m]: that is insane. What the heck is this `∘` | 19:55 | |
gfldex | and take the week of to contemplate | ||
CIAvash[m] | cale2: function composition operator, you can also use "o" | ||
19:56
agentzh joined
|
|||
cale2 | That's exactly what I was thinking of making haha | 19:56 | |
RabidGravy | I like the compose operator but can't type it ;-) | ||
cale2 | I'm guessing it doesn't rely on types, it just assumes that you know what you're doing | ||
Yeah, it relies on arity | 19:58 | ||
gfldex: junctions aren't that hard to understand. How is it not like an enum? | |||
brokenchicken doesn't see the relation between Junctions and enums | 19:59 | ||
RabidGravy | yeah I'm confused | ||
brokenchicken | m: say 42 ~~ none 2, 5, 6 | ||
camelia | rakudo-moar 8a448d: OUTPUT«True» | ||
cale2 | A junction is a list of possible objects | ||
brokenchicken | m: say 5 ~~ none 2, 5, 6 | ||
camelia | rakudo-moar 8a448d: OUTPUT«False» | ||
cale2 | An enum is a list of possible objects | 20:00 | |
RabidGravy | no | ||
brokenchicken | A Junction is a superposition of values... An enum is a glorified series of Ints | ||
Geth | cosystem: 426cc7a6b8 | (Ramiro Encinas)++ | META.list Update META.list |
||
RabidGravy | a glorified series of values | 20:01 | |
gfldex | a Junction is a list of values that form a closure with operators that is lazily evaluated and doesn't provide introspection (it also autothreads) | ||
RabidGravy | can be any Cool as far as I understand | ||
brokenchicken | Ah | ||
m: enum Foo => "meow"; say Foo | 20:02 | ||
camelia | rakudo-moar 8a448d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared name: Foo used at line 1Undeclared routine: enum used at line 1» | ||
RabidGravy | m: enum Foo ( Baz => "boo"); say Baz.value; | ||
camelia | rakudo-moar 8a448d: OUTPUT«boo» | ||
brokenchicken | m: sub foo { say $^n² }; foo 2|3|4|5|6|7|8|9 | ||
camelia | rakudo-moar 8a448d: OUTPUT«49162536496481» | ||
brokenchicken | m: "foobar".substr(0|3, 3).say | 20:04 | |
camelia | rakudo-moar 8a448d: OUTPUT«any(foo, bar)» | ||
brokenchicken | hehe | ||
m: say "foobar".substr(0|3, 3) eq "bar" | 20:05 | ||
camelia | rakudo-moar 8a448d: OUTPUT«any(False, True)» | ||
brokenchicken | m: say so "foobar".substr(0|3, 3) eq "bar" | ||
camelia | rakudo-moar 8a448d: OUTPUT«True» | ||
brokenchicken | m: say so "foobar".substr(0&3, 3) eq "bar" | ||
camelia | rakudo-moar 8a448d: OUTPUT«False» | ||
brokenchicken | m: say so "barbar".substr(0&3, 3) eq "bar" | ||
camelia | rakudo-moar 8a448d: OUTPUT«True» | ||
brokenchicken | neat | ||
b2gills | raiph: I edited en.wikipedia.org/wiki/Option_type to include Perl 6 | 20:06 | |
RabidGravy | he he | 20:07 | |
b2gills | m: my $v = 2|3|4|5|6|7|8|9; say gather $v».take # you can get the values from a Junction | ||
camelia | rakudo-moar 8a448d: OUTPUT«(2 3 4 5 6 7 8 9)» | ||
cale2 | How is that junction example any different than mapping foo over a list of 2,3,4,5,6,7,8,9 ? | ||
20:08
agentzh left
|
|||
cale2 | So a junction is a special list of objects that allow threading without using a special thread operator :) | 20:08 | |
b2gills | Calling it threading leads many to make that mistake | 20:09 | |
cale2 | This makes sense. So when you say 2 ~~ 3|4|2|5, it is matching 2 against all the objects at the same time | ||
20:09
agentzh joined
|
|||
b2gills | effectively at the same time | 20:09 | |
RabidGravy | it's either all of the values at once, any of the value or none of the values | 20:10 | |
gfldex | there are different types of junctions and some will short circuit if you combine junctions with more junctions | ||
brokenchicken | m: sub foo { say $^n² }; foo 2|(3|4)|5|(6|7)|8|9 | 20:11 | |
camelia | rakudo-moar ce76f4: OUTPUT«49162536496481» | ||
brokenchicken | m: sub foo { say $^n² }; foo 2|(3|4)|5|(6|(7|5)|5)|8|9 | ||
camelia | rakudo-moar ce76f4: OUTPUT«491625364925256481» | ||
b2gills | m: sub foo { $^n² }; say foo 2|(3|4)|5|(6|(7|5)|5)|8|9 | ||
camelia | rakudo-moar ce76f4: OUTPUT«any(4, any(9, 16), 25, any(36, any(49, 25), 25), 64, 81)» | ||
20:11
ggoebel left
|
|||
timotimo | the thing is that functions/methods/operators that know nothing about junctions will automatically be spread out for you | 20:12 | |
20:12
rindolf left
|
|||
brokenchicken | m: sub foo { state $x = 0; say $x++ }; foo 2|(3|4)|5|(6|(7|5)|5)|8|9 | 20:12 | |
camelia | rakudo-moar ce76f4: OUTPUT«Too many positionals passed; expected 0 arguments but got 1 in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
brokenchicken | m: sub foo ($) { state $x = 0; say $x++ }; foo 2|(3|4)|5|(6|(7|5)|5)|8|9 | ||
camelia | rakudo-moar ce76f4: OUTPUT«0123456789» | ||
20:13
labster left
|
|||
cale2 | curious stuff | 20:14 | |
b2gills | cale2: The Perl 6 translation of the first point-free example from that blog post is `my &sum = &prefix:<[+]>.assuming(0);` which is pointless because that is already basically the definition of `&sum`. | 20:20 | |
timotimo | &[[+]] should work, too, right? | 20:21 | |
brokenchicken | m: with "lemon cake piece" { say "It got cake in it!" if "cake" eq .substr: any(^.chars), any(^.chars+1) } | 20:23 | |
camelia | rakudo-moar ce76f4: OUTPUT«It got cake in it!» | ||
brokenchicken | m: with "lemon pie piece" { say "It got cake in it!" if "cake" eq .substr: any(^.chars), any(^.chars+1) } | ||
camelia | ( no output ) | ||
brokenchicken | But anyway... | ||
cale2: the interesting bit about Junctions is how the objects are superimposed, not that there's a list of objects. Which is why I see little relation to enums | |||
and most common usage is stuff like if $x eq "foo"|"bar" which really is just about saving typing | 20:24 | ||
20:26
buggable left
|
|||
brokenchicken | hm... can't restart buggable. Getting "▬▬▶ _ ❚⚠❚ : ERROR Closing Link: gateway/web/frut.as/session (Install identd)" | 20:26 | |
cale2 | m: sub my-sum() { &[[+]] }; my-sum: 1,2,3; | 20:27 | |
camelia | rakudo-moar ce76f4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: infix:<[+]> used at line 1. Did you mean 'infix:<+|>', 'infix:<∖>', 'infix:<lt>'?» | ||
moritz | another neat use case for junctions is in grep, like my @even-ints = grep Int & * %% 2, @list-of-numbers; | ||
brokenchicken | neat | 20:28 | |
timotimo | brokenchicken: what server does buggable run on? | 20:29 | |
brokenchicken | perl6.party | 20:30 | |
20:32
bjz_ left
|
|||
brokenchicken | mst: did freenode change its policy or it's just a glitch? Can't connect my bot; getting "Notice -- You need to install identd to use this server Closing Link: gateway/web/frut.as/session (Install identd)" with irc.freenode.net and chat.freenode.net :/ | 20:33 | |
moritz | brokenchicken: might be related to the number of connections coming from that IP | 20:34 | |
20:34
buggable joined,
buggable left
|
|||
brokenchicken | hm, connects fine from another box | 20:34 | |
moritz | probably because all the other bots run on perl6.party too | ||
mst | brokenchicken: notice you're being identified as coming from a multi-user gateway | ||
I'm unsure wtf frut.as is | 20:35 | ||
brokenchicken | hmmm | ||
Maybe too many clients.... | |||
Time to merge bots into one, I guess | |||
mst | please don't guess and listen to me | ||
brokenchicken | Listening. | ||
ugexe | gfldex: why dont you use $?FILE inside the test case instead of $*PROGRAM to determine where to find your 'data' directory? | ||
mst | explaining wtf frut.as is would be a start | 20:36 | |
is that yours? or somebody else's thing you happen to be using? | |||
brokenchicken | Never heard of it, no | ||
mst | well it was in your error message | 20:37 | |
brokenchicken | Hm... frut.as/ "Scriptable and extensible group chat in your Browser, Android and iOS, for free." | ||
wtf | |||
mst | right, so, that smells like a glitch | 20:38 | |
20:38
domidumont left
|
|||
ugexe | "look | 20:40 | |
moritz | PSA: perl6-all-modules on github has been updated again | ||
ugexe | "panda look" doesnt really help you run the examples because it installs all the dependencies - thats sort of against the spirit of cocoapodstry | ||
but zef also has the look command | 20:41 | ||
20:41
buggable joined,
ChanServ sets mode: +v buggable,
bjz joined
|
|||
moritz | there are a few repos that couldn't be clone; need to investigate what's up with them | 20:41 | |
ugexe | not all modules are git repos - some are .tar.gz archive | ||
20:42
Tonik left
|
|||
MasterDuke | moritz++ | 20:43 | |
mst | brokenchicken: assume glitch, don't change anything, tell me if it happens again | ||
brokenchicken | OK. Thanks | ||
20:44
buggable_ joined,
ChanServ sets mode: +v buggable_,
buggable_ left
20:45
ggoebel joined
|
|||
b2gills | &[…] only works for infix operators | 20:45 | |
20:45
huggable left
20:46
buggable left,
buggable joined,
ChanServ sets mode: +v buggable,
huggable joined,
ChanServ sets mode: +v huggable
|
|||
brokenchicken | \o/ | 20:46 | |
20:48
dugword joined,
kybr joined
20:49
bjz left
|
|||
timotimo | of course, thanks b2gills | 20:52 | |
BenGoldberg | m: dd &[[+]] | ||
camelia | rakudo-moar ce76f4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: infix:<[+]> used at line 1. Did you mean 'infix:<+|>', 'infix:<∖>', 'infix:<lt>'?» | ||
BenGoldberg | m: dd &[+] | ||
camelia | rakudo-moar ce76f4: OUTPUT«Sub+{<anon|77233232>}+{Precedence} infix:<+> = sub infix:<+> (Mu $?, Mu $?) { #`(Sub+{<anon|77233232>}+{Precedence}|57532496) ... }» | ||
20:52
ChoHag left
|
|||
b2gills | m: dd &prefix:<[+]> | 20:53 | |
camelia | rakudo-moar ce76f4: OUTPUT«Sub prefix:<[+]> = sub prefix:<[+]> (| is raw) { #`(Sub|62755480) ... }» | ||
timotimo | moritz: thank you very much :) | 20:54 | |
20:56
FROGGS left
|
|||
moritz | timotimo: you're welcome | 20:57 | |
turns out there are four repos whose source-url points to non-existant repos | 20:58 | ||
timotimo | wow, that process took hours?! | ||
moritz | for example raw.githubusercontent.com/nbrown/p.../META.info => git://github.com/carbin/p6-fcgi.git | ||
20:58
BenGoldberg left
|
|||
timotimo | ah indeed | 20:59 | |
that's not so great | |||
moritz | and the repo github.com/nbrown/p6-fcgi doesn't even support issues | ||
timotimo | modules.perl6.org/update.log - search for error, or for HTTP 406 | 21:00 | |
moritz | same for p6-fcgi-psgi, p6-unix-privileges, p6-jdf | ||
MasterDuke | i remember some talk about that awhile ago. i think the conclusion was that someone renamed their github acount? | ||
moritz | I consider removing those URLs from META.list | ||
timotimo: re took hours, I suspect github rate-limits requests after first dozen accesses or so | 21:01 | ||
21:01
ggoebel left
|
|||
timotimo | we could send a mail to [email@hidden.address] | 21:01 | |
ah, yes i believe it does | |||
ugexe | when i clone/pull the ecosystem it takes ~15min | 21:02 | |
timotimo | "the ecosystem"? | ||
moritz | or maybe it's git-subrepo that's super slow | ||
ugexe | github.com/perl6/ecosystem I think most people refer to this as "the ecosystem" | 21:03 | |
21:04
cale2 left
|
|||
timotimo | that takes only a second for me to pull from | 21:04 | |
moritz | github.com/drforr/perl6-Inline-Sch...e/issues/5 # another problem I've found | 21:05 | |
21:05
itcharlie1 left
|
|||
ugexe | well if you ignore the context of the current conversation then sure i guess you could assume thats what i meant | 21:05 | |
timotimo | "Heavily influenced by Inline::Python. Thanks, Stefan." :D | ||
21:05
TEttinger joined,
mr_ron left
21:06
cdg joined
|
|||
timotimo | i expected you meant something different than that repository | 21:06 | |
RabidGravy | I'm not sure that nbrown is the correct author of those modules | ||
timotimo | because 15 minutes for that seems very abnormal | ||
you mean they perhaps forked it and since they're not the upstream they didn't turn on github issues? | |||
RabidGravy | yes | ||
I think the upstream literally went away and we filipped to those clones | 21:07 | ||
timotimo | ah, interesting | ||
moritz | so now they are unmaintained | ||
RabidGravy | maybe pull them to community trust or ditch them | 21:08 | |
moritz | does anybody want to take care of that? | ||
(either by contacting nbrown or by adopting or whatever) | |||
if not, I'll remove the URLs from META.list | |||
RabidGravy | I contacted nbrown when we did it | ||
I didn't get a reply | |||
so Hmm | 21:09 | ||
leave them there right now | |||
I'll clone and fix during the week | |||
moritz | ++RabidGravy | 21:10 | |
RabidGravy | I don't really want them but you know, seems a shame to drop them | ||
ugexe | im still waiting for someone to create a module with a namespace already in use but with a different auth, and then insert it into META.list such that the order of a request for "Name::Only" points to the new dist | ||
brokenchicken | buggable: eco | 21:11 | |
buggable | brokenchicken, Out of 773 Ecosystem dists, 124 have warnings and 6 have errors. See modules.perl6.org/update.log for details | ||
RabidGravy | and I think we sent PRs for all the errors and warnings back last year | ||
21:12
bjz joined
|
|||
brokenchicken | hm, bunch of those errors are 406s from gitlab :/ | 21:12 | |
RabidGravy | so that's a lot of ignoring | ||
we need more ecosystem fairies | 21:14 | ||
moritz | I'd propose to require a contact email address in META6.json in future | 21:15 | |
RabidGravy | what with a few modules of my own and a dozen I "co-maint" and stuff it's never ending | ||
moritz | and then we could do things like automate emails when stuff goes south | ||
RabidGravy | moritz++ # +1 on that | ||
moritz | and if the situation remains unresolved, we can at least them emails informing them that the repo has been removed from the ecosystem | 21:16 | |
21:21
bjz left
|
|||
RabidGravy | can I suggest then '"support" : { "email" : "whatever" } ' as per the original intent of S22 | 21:22 | |
21:22
_28_ria joined
21:23
_28_ria left,
ggoebel joined
|
|||
brokenchicken | damn, my weechat session keeps "freezing" :S It looks like no one's talking; I think close terminal reconnect to server and reopen screen and boom! People were actually talking all this time :( | 21:24 | |
21:24
_28_ria joined
|
|||
geekosaur | -o ServerAliveInterval=secs -o ServerAliveCount=n | 21:25 | |
(ssh) | |||
moritz | brokenchicken: you can take a look at the public logs too :-) | ||
brokenchicken | moritz: they don't let me talk easily | ||
geekosaur | great way to defeat NAT appliances with excessively short timeouts (unless they're as short as the one here, which will time out in under a second under heavy load!) | 21:26 | |
brokenchicken | Hm, never needed those in the past :/ | ||
geekosaur: so what sort of values should I use? really big? | 21:27 | ||
21:27
agentzh left
|
|||
brokenchicken | command-line: line 0: Bad configuration option: serveralivecount | 21:28 | |
geekosaur | generally I use a short interval like 1 so it's always keeping the link active (which should reset the NAT timeout). count can be whatever, the shorter it is then the faster ssh will find out the NAT entry got dropped or the upstream router otherwise fell on its face | ||
what version of ssh? | |||
oh, sorry, it's ServerAliveCountMax | 21:29 | ||
should have cut and pasted >.< | |||
brokenchicken | k... let's see how this goes :) | ||
Geth | oc: antquinonez++ created pull request #1154: Style cleanup. |
21:32 | |
brokenchicken | .oO( tl;dr ) |
21:34 | |
Too Long; Didn't Review :) | |||
21:36
agentzh joined
21:45
andrzejku left
21:46
rumble joined
21:47
rumble is now known as grumble
21:54
Khisanth left
22:07
Khisanth joined
22:10
_28_ria left
22:12
_28_ria joined,
RabidGravy left,
_28_ria left
22:13
_28_ria joined
22:32
dj_goku joined,
dj_goku left,
dj_goku joined
22:37
dj_goku left
|
|||
brokenchicken | geekosaur++ those ssh opts seem to have helped! :) | 22:40 | |
22:48
wamba left
22:49
chinarulezzz left
22:51
cdg left,
mr_ron joined
23:00
mr_ron left
23:04
pecastro left
|
|||
agentzh | sorry if it's a FAQ, but what is the equivalent of p5 regex's \G in p6? | 23:04 | |
yoleaux | 06:22Z <CIAvash> agentzh: Is this the issue you're experiencing? rt.perl.org/Public/Bug/Display.html?id=127309 | ||
23:05
pecastro joined
|
|||
agentzh | yoleaux: i don't think so :) | 23:05 | |
brokenchicken | No idea, but let me know if you find out. | 23:07 | |
23:07
_28_ria left
23:08
_28_ria joined
23:09
_28_ria left,
Cabanossi left
|
|||
agentzh | yoleaux: my example is more like this: gist.github.com/agentzh/1e61c6267c...436865977d | 23:10 | |
23:10
_28_ria joined
|
|||
agentzh | but this simplified version does work in rakudo. | 23:10 | |
the real thing doesn't and i have to remove the type constraint from the hash class attribute. | 23:11 | ||
brokenchicken: thanks, sure. | |||
23:12
felher joined,
jsimonet joined
|
|||
agentzh | brokenchicken: found the <at($oldpos)> trick in the A05 doc. and it seems to work in rakudo. yay! | 23:12 | |
but the Regexes doc on docs.perl6.org does not mention this trick. | 23:13 | ||
it's not as elegant as Perl 5's \G, but i can live with it for now. | |||
i'll add convenient construct (:l) to our own perl 6 dialect. | 23:14 | ||
brokenchicken: seems like m:p($oldpos)// is a better fit for my use case :) | 23:19 | ||
better than m:c($pos)/ <at($pos)> ... / | 23:20 | ||
23:22
_28_ria left
|
|||
brokenchicken | agentzh: yoleaux is a messanger bot... | 23:22 | |
agentzh | brokenchicken: okay, good to know :) | ||
23:23
_28_ria joined
23:25
_28_ria left
|
|||
brokenchicken | agentzh: Feel free to file a bug report for that (for wanting a better \G stuff) | 23:26 | |
23:26
labster joined
|
|||
brokenchicken | huggable: rakudobug | 23:26 | |
huggable | brokenchicken, Report bugs by emailing to [email@hidden.address] | ||
23:27
_28_ria joined
23:31
jsimonet left
23:33
dj_goku joined
23:36
agentzh left
23:38
jsimonet joined
23:40
espadrine_ left
|
|||
japhb | Is there a portable way to tell Perl 6 to unbuffer $*IN? (I know about using e.g. Term::termios, I'm asking if there's something that will work on Windows too.) | 23:42 | |
geekosaur | that question is moderately confused, as there's at least two lyers of buffering, one of which does not apply to Windows | 23:43 | |
...and you mentioned that ibe | 23:44 | ||
*one | |||
23:45
zacts left
|
|||
geekosaur | (windows is always in character at a time mode, at the driver level. this is distinct from the input buffering most likely provided, in the case of moarvm, by libuv --- which is also likely to default to line mode.) | 23:45 | |
japhb | geekosaur: I am aware of Moar buffering to look for combining characters, and the terminal line buffering ... what others do I need to worry about if I just want 'getc' to respond immediately after a keypress? | ||
Ah, I didn't realize a terminal app in Windows would be getting characters. Hmmm, I didn't assume libuv was doing additional buffering of its own in the middle. :-/ | 23:46 | ||
*getting characters immediately | 23:47 | ||
23:49
pmurias left
|
|||
japhb | OTOH, libuv either must do no buffering, or pays attention to the termios settings itself, or Term::termios couldn't successfully set raw input mode. | 23:49 | |
That was tortured English, sigh | 23:50 | ||
geekosaur | it's typical for programs to check isatty() (which uses termios) and set line vs. block buffering | 23:51 | |
I'm looking at the libuv docs and they say very little about buffering. I suspect libuv doesn't expect to be used with terminals | 23:52 | ||
it's all about the sockets >.> | |||
japhb | Sigh. | 23:53 | |
But in any case, I expected the line v. block buffering. My point was that when Term::termios does .makeraw and goes to non-buffered format, libuv would have to notice that and turn off internal buffering (if it has any), or that operation wouldn't actually do anything useful. | 23:54 | ||
geekosaur | actually it's worse than that | 23:55 | |
japhb | On the downside, I just tested it ... the MoarVM buffering looking for combining characters is problematic, because it's effectively 'unbuffered, but with a one character delay' | ||
geekosaur | if moar is using normal handles for this, libuv is not expecting it; it does not check for tty, it expects you to be using uv_tty_t in that case | ||
geekosaur is reading code presented in github.com/libuv/libuv/issues/852 | 23:56 | ||
japhb looks | |||
geekosaur | and yes, if you want raw input you need to disable encoding handling. I didn;t notice a way to do that on the fly with p6 published api | ||
basically its the node devs asking the same question you were :) | 23:57 | ||
er, node.js | |||
japhb | heh | ||
23:58
agentzh joined,
cyphase left,
lukiramu left,
_28_ria left
|
|||
japhb | .ask jnthn is there a way to stop doing encoding handling on $*IN? I want to get truly raw .getc (one character at a time, as soon as the keypress happens), without the delay loop that comes from looking for combining characters .... | 23:59 | |
yoleaux | japhb: I'll pass your message to jnthn. |