»ö« 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:03
buggable joined,
ChanServ sets mode: +v buggable
|
|||
buggable | New CPAN upload: App-Platform-0.3.tar.gz by KAJI cpan.metacpan.org/authors/id/K/KA/...0.3.tar.gz | 00:03 | |
New CPAN upload: Net-LibIDN2-0.0.1.tar.gz by KAIEPI cpan.metacpan.org/authors/id/K/KA/...0.1.tar.gz | 00:04 | ||
New CPAN upload: Concurrent-Stack-1.0.tar.gz by JNTHN cpan.metacpan.org/authors/id/J/JN/...1.0.tar.gz | |||
New CPAN upload: JSON-Fast-0.9.11.tar.gz by TIMOTIMO cpan.metacpan.org/authors/id/T/TI/....11.tar.gz | |||
00:04
evalable6 left,
evalable6 joined,
ChanServ sets mode: +v evalable6,
cog__ left,
shinobi-cl joined
00:09
pharv joined
00:14
pharv left
00:27
rouking joined
|
|||
rouking | Is there any nice way of grouping the elements of a list? i.e. I have a list of 100 elements and I want to take 10 at a time to create a 2D array | 00:28 | |
s/i.e./e.g. | |||
MasterDuke | rouking: look into rotor | 00:29 | |
rouking | Ah, thanks | ||
MasterDuke | m: .say for (^10).rotor(3) | 00:30 | |
camelia | (0 1 2) (3 4 5) (6 7 8) |
||
rouking | I knew there was an easy way | ||
I totally glossed over rotor | |||
01:09
skids joined
01:18
konsolebox left
01:20
konsolebox joined
01:22
unicodable6 left,
unicodable6 joined,
ChanServ sets mode: +v unicodable6
01:34
martinp2 joined
01:37
vike left
|
|||
gfldex | m: sub s(*@a){}; say &s.arity | 01:38 | |
camelia | 0 | ||
01:52
pharv joined
01:53
konsolebox left,
konsolebox joined
01:57
pharv left
01:58
konsolebox left
01:59
konsolebox joined
02:01
dct_ joined
|
|||
shinobi-cl | hi all.... so, the idea of the perl method is to have an EVALuable expression, representing the object so it can be serialized... right? | 02:03 | |
yoleaux | 27 Feb 2018 10:59Z <timotimo> shinobi-cl: pause is the favoured way to get them up on modules.perl6.org, but the old way remains: to put an URL that points to your META6.json into the META.list on github.com/perl6/ecosystem - that will mean installing your module will pull whatever commit is current on the master branch, though. cpan lets you have proper versions instead | ||
27 Feb 2018 11:05Z <Zoffix> shinobi-cl: You can use App::Mi6 module instead to upload | |||
02:14
Zoffix joined
|
|||
Zoffix | shinobi-cl: right. With the exception of non-serializable objects (like, code blocks, or IO::Handles) | 02:14 | |
shinobi-cl | i happen to have an class which objects can not actually be serializable. it's functionality depends on other object, so the only way to serialize it properly is to include the other object in it. | 02:18 | |
so, in thhat case, should i have a perl method retutning Nil? no perl method at all? | 02:19 | ||
Zoffix | All types inherit a .perl from Mu. Why not serialize the other object too? | ||
m: class Foo { has $.meow }; class Bar { has $.foo = Foo.new: :42meow }; say Bar.new.perl | 02:20 | ||
camelia | Bar.new(foo => Foo.new(meow => 42)) | ||
Zoffix | You could die if your object isn't serializeable | ||
m: (1…*).perl | |||
camelia | Cannot .elems a lazy list in block <unit> at <tmp> line 1 |
||
shinobi-cl | mmmm i guess it makes sense to serialize the external object too. Since the idea in serializing is to be able to recreate the object completely. | 02:23 | |
even if the external object might be many times bigger than the actual object being serialized | 02:24 | ||
02:44
cfa joined
|
|||
cfa | evening all | 02:45 | |
02:45
ilbot3 left
|
|||
Zoffix | \o | 02:46 | |
cfa | a couple of questions: (i) is tilde expansion still not provided in a builtin function or IO::Path method? | ||
and (ii) is .path missing from the Cool docs intentionally, or is that just an oversight? | |||
Zoffix | cfa: (i) tilde expansion won't be provided ever. (ii) wasn't even aware that was implemented. If it's not part of 6.c spec, it'll be removed | 02:47 | |
s: 42, 'path', \() | 02:48 | ||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/440f...l.pm6#L212 | ||
cfa | Zoffix: i typo'd that in the repl and was surprised to get a path back | ||
re: tilde expansion, what's the reasoning? it's not very dwimmy to omit it | |||
i understand not wanting to implement whole slew of globbing functionality but this seems fairly common to the point of being an expectation | 02:49 | ||
Zoffix | C:\Users\zoffi>cd ~ | ||
The system cannot find the path specified. | |||
02:50
pharv joined
|
|||
cfa | what does p5 do with: perl -E 'say glob "~/"' | 02:50 | |
(on windows) | |||
Zoffix | C:\Temp>perl -E "say glob '~/'" | 02:51 | |
C:\Users\zoffi/ | |||
cfa | ah, so ~ is hardcoded to mean $*HOME? | ||
er, sorry to mix languages there | |||
Zoffix | Probably. But also filenames with tildes work and "~" doesn't mean "home" on Windows, so that's the reasoning for not doing any magical shell expansion; just as "-".IO will lose its special meaning in 6.d | 02:52 | |
C:\Temp>perl6 -e "say '~.txt'.IO.slurp" | 02:53 | ||
testing | |||
cfa | that much makes sense | ||
but hopefully you take my point re: dwim | |||
i'm sure this has been discussed to death already though | |||
02:54
dct_ left
|
|||
Zoffix | Well yeah, and if you want expansion, juse use $*HOME | 02:54 | |
C:\Temp>perl6 -e "$*HOME andthen .add('.perl6').dir.elems.say" | |||
3 | |||
cfa | yeah | ||
the trouble is: ./foo.p6 --param=~/bar | 02:55 | ||
then needs to be processed in my script | |||
02:55
pharv left
|
|||
cfa | and by processed i mean with a user defined sub rather than a simple builtin like p5's glob | 02:56 | |
02:57
ilbot3 joined,
ChanServ sets mode: +v ilbot3,
cdg joined
|
|||
Zoffix | You can't really use glob for that. | 02:58 | |
$ perl -E 'say glob shift' "~/foo bar" | |||
/home/zoffix/foobar | |||
$ perl -E 'use File::Glob qw/bsd_glob/; say bsd_glob shift' "~/foo bar" | |||
/home/zoffix/foo bar | |||
Too bad `--param ~/bar` isn't accepted by `sub MAIN`. Otherwise, the shell would've just expanded it | 02:59 | ||
02:59
epony left
|
|||
cfa | yeah, it's the = that's making this problematic | 02:59 | |
and i take your point re: lazy (!) use of glob | |||
03:00
cog__ joined
03:01
mcmillhj joined
03:02
cdg left
03:04
natrys joined
03:06
mcmillhj left
|
|||
Zoffix | .tell AlexDaniel tossed unspecced/undocumented/unloved Cool.path. I'm assuming no one's using it, but your call on whether we should push it through deprecation period: github.com/rakudo/rakudo/commit/b212fc5e20 (same goes for Range.clone-with-op that was nuked earlier today, I guess) | 03:11 | |
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
03:12
martinp2 left
03:18
epony joined
|
|||
Zoffix | gd | 03:37 | |
oops. This ain't my terminal | 03:38 | ||
03:38
mcmillhj joined
03:42
mcmillhj left
03:46
ufobat___ joined
03:47
Rawriful left
03:49
ufobat_ left
03:53
ZzZombo joined
04:03
mcmillhj joined
|
|||
ZzZombo | How can I make a parametrizable class declarator, like `custom-declarator A[foo=123] {...}`? | 04:07 | |
cfa | Zoffix: hey, just did a fresh install of zef | ||
ZzZombo | What does make roles parametrizable? | ||
cfa | ===> Testing: zef:ver<0.2.3>:auth<github:ugexe> | ||
No such method 'path' for invocant of type 'Str'. Did you mean any of these? | |||
so, it's relying on Cool.path | |||
04:08
mcmillhj left
|
|||
Zoffix | cfa: are you sure you're fresh-installing on latest Rakudo? | 04:14 | |
===> Testing [OK] for zef:ver<0.2.3>:auth<github:ugexe> | |||
===> Installing: zef:ver<0.2.3>:auth<github:ugexe> | |||
cfa | hmm, i thought i was installing against HEAD, yeah | ||
Zoffix | cfa: ok, lemme check if I am | ||
(I'm using zscript, but I think it uses my build, not system perl6) | |||
cfa | pretty sure i'm on the latest as zef's trying to take the .path of Str | 04:15 | |
which is now missing | |||
Zoffix | m: $*PERL6.compiler.version.say; Str.^lookup("path").say | 04:17 | |
camelia | Dynamic variable $*PERL6 not found in block <unit> at <tmp> line 1 |
||
Zoffix | m: $*PERL.compiler.version.say; Str.^lookup("path").say | ||
camelia | v2018.02.1.105.gb.212.fc.5.e.2 (Mu) |
||
04:20
wamba joined
|
|||
Zoffix | right, reproed | 04:21 | |
cfa | github.com/ugexe/zef/blob/master/l...t.pm6#L362 for example | 04:23 | |
04:23
mcmillhj joined,
[particle] joined,
[particle]1 left
|
|||
Zoffix | .dist has $.path attribute tho | 04:24 | |
cfa | ah okay | ||
Zoffix | looks to be this: lib/Zef/Service/Shell/git.pm6:151: my $checkout = ($uri.path // '').match(/\@(.*)[\/|\@|\?|\#]?/)[0]; | ||
04:28
mcmillhj left
|
|||
cfa | and 146 | 04:29 | |
04:37
natrys left
|
|||
Geth | doc: 4fbafe2578 | (Zoffix Znet)++ | doc/Type/Cool.pod6 Document unspecced Cool.path It's unspecced and never will be, but there's some use of it in the wild, so document it together with message that it's deprecated and users should use .IO instead (.IO has slightly different behaviour in that Cool:U returns an IO::Path:U, rather than stringifying and then blowing up when trying to make an empty IO::Path). Listed for deprecation in 6.d-prep in github.com/perl6/6.d-prep/commit/87d4fbacde |
04:38 | |
synopsebot | Link: doc.perl6.org/type/Cool | ||
Zoffix | cfa: thanks. Reverted in github.com/rakudo/rakudo/commit/76eff07dd6 and marked a TODO for deprecation of it in in 6.d in github.com/perl6/6.d-prep/commit/87d4fbacde | 04:39 | |
04:39
galactus6x joined
|
|||
Zoffix | .tell AlexDaniel nm, turned out zef was using Cool.path. Gonna do deprecation in 6.d and removal in 6.e instead; even though it ain't in any spec. irclog.perlgeek.de/perl6/2018-03-03#i_15879089 | 04:39 | |
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
04:40
Mithaldu left,
mcmillhj joined
|
|||
galactus6x | Hi folks! | 04:40 | |
Zoffix | \o | ||
04:40
bhm left,
bhm joined
|
|||
galactus6x | I have a question that may sound dumb but I tried to google it and got nowhere. | 04:40 | |
04:40
Mithaldu joined
|
|||
Zoffix | Cool. We love dumb questions. | 04:40 | |
galactus6x | Okee Dokee... | 04:41 | |
Zoffix | :) | ||
galactus6x | Well, I have both Rakudo Perl6 and Perl 5.24 on my computers. When I try to use the line use V6; it gives an error that I have Perl 5.24 and this is perl6 or something like that. I want to know how to be sure I am coding with perl6. | 04:42 | |
When I start the REPL in perl6 it uses perl6. But when I write a script I am not so sure then. I use Geany. | 04:43 | ||
cfa | Zoffix: ta | 04:44 | |
04:44
mcmillhj left
|
|||
Zoffix | galactus6x: yeah, that's what `use v6` line is for, to show the error like "Perl v6.0.0 required--this is only v5.26.1, stopped at -e line 1"; so that gets you covered if you accidentally run Perl 6 code with `perl`. Going the other way, you should use `use strict; use warnings;` (or `use strictures 2`) all your Perl 5 scripts and neither `warnings` no `strictures` pragmas exists (and I'm unaware of the | 04:45 | |
modules with those names), so you'd get an error there too | |||
you could also alias perl6 to something different. like just `6` or `rakudo` and run scripts with `6 -e 'say 42'` for example. Will be less likely you'll confuse the names and type the wrong one by accident | 04:46 | ||
galactus6x | Wow. Thanks. I think I just don't need that v6 line if I am sure I want perl6. | 04:48 | |
Zoffix | Correct. | ||
04:50
konsolebox left,
mcmillhj joined
04:51
pharv joined
|
|||
galactus6x | You guys are great. Glad I stuck with Perl. | 04:51 | |
have a great weekend! | |||
Zoffix | You too! | 04:52 | |
04:52
konsolebox joined
04:55
mcmillhj left,
pharv left
|
|||
shinobi-cl | hi all | 04:55 | |
how can i make this work? | 04:56 | ||
m: subset Pos of Int where * >= 1; sub test(Array[Pos] @list) { @list.perl }; say test( [1,2,3] ); | |||
camelia | Type check failed in binding to parameter '@list'; expected Positional[Array[Pos]] but got Array ($[1, 2, 3]) in sub test at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
04:56
galactus6x left
|
|||
shinobi-cl | m: subset Pos of Int where * >= 1; sub test(Pos $x) { $x.perl }; say test(1); | 04:56 | |
camelia | 1 | ||
Zoffix | m: subset Pos of Int where * ≥ 1; sub test(Array[Pos] @list) { @list.perl }; say test Array[Pos].new: 1,2,3; | ||
camelia | Type check failed in binding to parameter '@list'; expected Positional[Array[Pos]] but got Array[Pos] (Array[Pos].new(1, 2, 3)) in sub test at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | m: subset Pos of Int where * ≥ 1; sub test(Array[Pos] @list) { @list.perl }; say test Array[Array[Pos]].new: 1,2,3; | 04:57 | |
camelia | Type check failed in assignment to ; expected Array[Pos] but got Int (1) in block <unit> at <tmp> line 1 |
||
Zoffix | m: subset Pos of Int where * ≥ 1; sub test(Array[Pos] @list) { @list.perl }; say test Array[Array[Pos]].new: Array[Pos].new: 1,2,3; | ||
camelia | Type check failed in assignment to ; expected Array[Pos] but got Int (1) in block <unit> at <tmp> line 1 |
||
Zoffix | beh | ||
shinobi-cl | the idea is not using this part :) -> Array[Pos].new: | ||
Zoffix | shinobi-cl: well, let's step back. What are you trying to accept as a parameter? | ||
shinobi-cl | m: subset Pos of Int where * >= 1; sub test(Pos $x) { $x.perl }; say test(1); | ||
camelia | 1 | ||
shinobi-cl | this works, because 1 is accepted by the type Pos | 04:58 | |
m: subset Pos of Int where * >= 1; sub test(Array[Pos] @list) { @list.perl }; say test( [1,2,3] ); | |||
camelia | Type check failed in binding to parameter '@list'; expected Positional[Array[Pos]] but got Array ($[1, 2, 3]) in sub test at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | m: subset Pos of Int where * ≥ 1; sub test(@list where .all ~~ Pos) { @list.perl }; say test [1, 2, 3] | ||
camelia | [1, 2, 3] | ||
shinobi-cl | the elements here all comply with type Pos | ||
04:58
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'Document unspecced Cool.path | 04:58 | |
travis-ci.org/perl6/doc/builds/348543882 github.com/perl6/doc/compare/2edc0...bafe2578aa | |||
04:58
travis-ci left
|
|||
shinobi-cl | ahh that was the syntax i was looking for... thanks Zoffix++ :) | 04:59 | |
Zoffix | shinobi-cl: ^ that then. `Array[Pos] @list` means "Array parameterized with Array parametarized with Pos" and there's some bugs with that IIRC | ||
(well, probably, there's something about subsets) | |||
04:59
skids left
|
|||
shinobi-cl | m: subset Pos of Int where * ≥ 1; sub test(@list where {all(*) ~~ Pos}) { @list.perl }; say test [1, 2, 3] | 05:00 | |
camelia | Constraint type check failed in binding to parameter '@list'; expected anonymous constraint to be met but got Array ($[1, 2, 3]) in sub test at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
shinobi-cl | that was the syntax i was trying... | ||
Zoffix | m: subset Pos of Int where * ≥ 1; sub test(@list where *.all ~~ Pos) { @list.perl }; say test [1, 2, 3] | 05:01 | |
camelia | Constraint type check failed in binding to parameter '@list'; expected anonymous constraint to be met but got Array ($[1, 2, 3]) in sub test at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | uh-oh | ||
m: say *.all ~~ Int | 05:02 | ||
camelia | False | ||
Zoffix | Ah, ok, it doesn't close over it | ||
But if it did, that'd be the syntax. You don't use the whatever star and a block together, as the whatever star make a closure already. Also, you can't just pass it alone as args `all(*)`; when it's by itself, that's just a Whatever object, not a WhateverCode closure. | 05:03 | ||
And lastly, `where` thunks, so you can often (but not always) omit both the WhateverStar and the block. | 05:04 | ||
05:04
mcmillhj joined
|
|||
Zoffix | (the "Tip" section at the bottom of this section shows the subtle difference in the thunks: docs.perl6.org/type/Signature#Type_Constraints ) | 05:04 | |
Don't see the Issue for the bug in constraints of iterables in variables vs. params.. Forget what it was called | 05:08 | ||
05:09
mcmillhj left
|
|||
Zoffix | Probably R#1414 | 05:09 | |
synopsebot | R#1414 [open]: github.com/rakudo/rakudo/issues/1414 Class attribute constraints applied on elements of array attribute, not the attribute itself | ||
ZzZombo | Zoffix, can you help me too, the question was posted above? | 05:13 | |
05:13
cdg joined
|
|||
Zoffix | ZzZombo: I don't know the answer. I think one of the meta classes handles parameterization github.com/rakudo/rakudo/tree/mast.../Metamodel maybe ParametricRoleHOW.nqp github.com/rakudo/rakudo/blob/mast...oupHOW.nqp or ParametricRoleHOW.nqp github.com/rakudo/rakudo/blob/mast...oleHOW.nqp I think the way it | 05:15 | |
works is when you define a role you get a ParametricGroupHOW which functions like a dispatcher for specific roles (like a dispatcher for routines dispatches for multies) | |||
m: my role Foo {}; Foo.HOW.^name.say | |||
camelia | Perl6::Metamodel::ParametricRoleGroupHOW | ||
Zoffix | m: my role Foo {}; Foo.^candidates.map(*.^name).say | 05:16 | |
camelia | (Foo) | ||
Zoffix | m: my role Foo {}; Foo.^candidates.map(*.HOW.^name).say | ||
camelia | Cannot resolve caller map(List: Str); none of these signatures match: ($: Hash \h, *%_) (\SELF: █; :$label, :$item, *%_) in block <unit> at <tmp> line 1 |
||
ZzZombo | Okay, I'll take a look. | ||
Zoffix | m: my role Foo {}; Foo.^candidates.map({.HOW.^name}).say | ||
camelia | (Perl6::Metamodel::ParametricRoleHOW) | ||
05:17
konsolebox left
05:18
cdg left,
konsolebox joined
05:19
chakli joined,
khw left
05:21
mcmillhj joined
05:24
chakli left
|
|||
shinobi-cl | m: subset Pos of Int where * >= 1; sub test1(Array[Pos] $list) { say "test1"; }; sub test2(@list where .all ~~ Pos) { say "test2"; }; my Pos @list = (1..1000).eager; { test1(@list); say "== test1 : $(now - ENTER now) secs. =="; }; { test2(@list); say "== test1 : $(now - ENTER now) secs. =="; } | 05:26 | |
ZzZombo | What is an "archetype" in the metaclasses? | ||
camelia | test1 == test1 : 0.00176882 secs. == test2 == test1 : 0.02749649 secs. == |
||
05:26
mcmillhj left
|
|||
shinobi-cl | m: subset Pos of Int where * >= 1; sub test1(Array[Pos] $list) { say "test1"; }; sub test2(@list where .all ~~ Pos) { say "test2"; }; my Pos @list = (1,2,3).eager; { test1(@list); say "== test1 : $(now - ENTER now) secs. =="; }; { test2(@list); say "== test1 : $(now - ENTER now) secs. =="; } | 05:27 | |
camelia | test1 == test1 : 0.0015581 secs. == test2 == test1 : 0.00063560 secs. == |
||
shinobi-cl | i guess that is better to be more "rigid" in the types when using large sets. test2 seems more convenient to write but it has to check every element each time. | 05:28 | |
05:28
eliasr left
|
|||
ZzZombo | Well, the first one does that too, actually. | 05:29 | |
Zoffix | shinobi-cl: no point in `.eager` call there. Assignment to @ sigils is "mostly-eager"; so it'll be eager, unless the thing is marked as .is-lazy (which mostly happens on infinite things). | 05:30 | |
ZzZombo | m: dd role {}.^body_block() | 05:32 | |
camelia | sub (::$?CLASS ::::?CLASS Mu $) { #`(Sub|54740296) ... } | ||
ZzZombo | what's this? | ||
05:33
mcmillhj joined
05:35
shinobi-cl left
05:36
chakli joined
|
|||
chakli | what would the equivalent of gist.github.com/willurd/5720255 in perl6? | 05:37 | |
05:37
mcmillhj left
|
|||
Zoffix | heh, good question | 05:39 | |
The listed commands there are hardly equivalent to each other :) | |||
chakli | ok *similar :) | 05:41 | |
i hardly know any of those languages to notice they are not equivalent | |||
Zoffix | chakli: I don't have Bailador installed so it's untested, but based on docs, it'd be something like `perl6 -MBailador -e 'static-dir /(.+)/ => "."; baile;'` | 05:44 | |
It's this module: github.com/Bailador/Bailador | |||
05:45
mcmillhj joined
|
|||
Zoffix | Also, I'm not familiar with it, but there might be some Cro one-liner as well ( project's website: mi.cro.services/ ) | 05:45 | |
chakli | ok, nothing built in like python i suppose | 05:47 | |
btw is there a list of core modules like perl had? | |||
05:49
mcmillhj left
|
|||
Zoffix | chakli: right, nothing built in; only plain async and non-async sockets. Depends on what you define as "core". Our end-user facing releases are shipped as Rakudo Star distribution and those modules are these: github.com/rakudo/star/tree/master/modules I see it includes "HTTP::Easy" module; there's no shiny one-liner, but some server is available: | 05:50 | |
05:50
shinobi-cl joined
|
|||
Zoffix | github.com/supernovus/perl6-http-e...d1#example but many users use the compiler releases directly, in which case the "core" has only a couple of modules, like Test and NativeCall (full list: modules.perl6.org/search/?q=from%3Acore ) | 05:50 | |
chakli: installed Bailador and tested that one-liner. It serves on port 3000 by default and doesn't offer a listing (but files do get served, if you type the names to them) | 05:52 | ||
This one-liner does show a non-navigable root-dir file listing: perl6 -MBailador -e 'get "/" => { join "<br>", dir.map: {“<a href="/$_">$_\</a>”} }; static-dir /(.+)/ => "."; baile' | 05:54 | ||
I don't use that stuff.... for all I know there might be a plugin you just load and get a browseable listing | 05:55 | ||
chakli | ok :) thanks | 05:59 | |
06:04
kaare_ left
|
|||
chakli | Does anyone know if there a https server by any chance? I cant figure out if HTTP::Easy supports it. | 06:24 | |
Zoffix | It probably doesn't, seeing as it doesn't have neither blocking nor async IO::Socket::SSL in prereqs. Cro does list HTTPS server in the list of its features tho (last sliding panel on the home page): mi.cro.services/ | 06:26 | |
chakli | yeah 2 slides do say https | 06:32 | |
06:33
mcmillhj joined
06:37
chakli left
|
|||
ZzZombo | m: Proxy.new(:FETCH(method(){},method($value){$value.say}))=123; | 06:37 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$value' is not declared. Did you mean '&values'? at <tmp>:1 ------> 3Proxy.new(:FETCH(method(){},method(7⏏5$value){$value.say}))=123; |
||
06:37
mcmillhj left
|
|||
ZzZombo | what??? | 06:38 | |
06:38
kaare_ joined
|
|||
timotimo | ZzZombo: put a space after method | 06:40 | |
yoleaux | 02:06Z <MasterDuke> timotimo: my perf report shows 80% spent in MVM_profile_instrumented_mark_data | ||
timotimo | ZzZombo: you're spelling out a call to a sub called method | 06:41 | |
m: sub method { say "ohai" }; method($_){} | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Calling method(Mu) will never work with declared signature () at <tmp>:1 ------> 3sub method { say "ohai" }; 7⏏5method($_){} |
||
timotimo | m: sub method(|) { say "ohai" }; method($_){} | ||
camelia | ohai | ||
ZzZombo | Well, shouldn't it first complain about undeclared identifier? | 06:42 | |
'method' I mean | |||
timotimo | no, you can post-declare subs | 06:43 | |
m: method(1234); sub method($_) { say "hi $_" } | |||
camelia | hi 1234 | ||
06:43
troys left
06:46
kaare__ joined
06:48
kaare_ left
06:49
mcmillhj joined
|
|||
Zoffix | Also, you don't have to use methods | 06:51 | |
m: Proxy.new(:FETCH{;},:STORE(->$,$v {$v.say}))=123; | |||
camelia | 123 | ||
Zoffix | eco: Proxee | ||
buggable | Zoffix, Proxee 'A more usable Proxy with bells': github.com/zoffixznet/perl6-Proxee | ||
timotimo | using a method for proxies can lead to trouble | 06:52 | |
Zoffix | Like what? | ||
timotimo | m: class Test { has $.x; has $.y; has $.z; has $.xx; has $.xy; has $.xz; has $.a; method proxit is rw { Proxy.new(fetch => method ($) { say $!a; $!a }, store => method ($, $) { say "stored" }) } }; Test.new(a => 99).proxit.say | 06:53 | |
camelia | Required named parameter 'FETCH' not passed in method proxit at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
timotimo | m: class Test { has $.x; has $.y; has $.z; has $.xx; has $.xy; has $.xz; has $.a; method proxit is rw { Proxy.new(FETCH => method ($) { say $!a; $!a }, STORE => method ($, $) { say "stored" }) } }; Test.new(a => 99).proxit.say | ||
camelia | Too few positionals passed; expected 2 arguments but got 1 in method <anon> at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
06:53
mcmillhj left
|
|||
timotimo | m: class Test { has $.x; has $.y; has $.z; has $.xx; has $.xy; has $.xz; has $.a; method proxit is rw { Proxy.new(FETCH => method (|) { say $!a; $!a }, STORE => method (|) { say "stored" }) } }; Test.new(a => 99).proxit.say | 06:54 | |
camelia | P6opaque: no such attribute '$!a' on type Test in a Proxy when trying to get a value in method <anon> at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | Ah. OK :) | ||
timotimo | the code inside believes it's compiling for a Test, but it's being invoked with a self of type Test | 06:55 | |
er | |||
of type Proxy | |||
so it's trying to get Proxy's $!a, which doesn't exist | |||
at some point i think this segfaulted? | |||
committable: releases class Test { has $.x; has $.y; has $.z; has $.xx; has $.xy; has $.xz; has $.a; method proxit is rw { Proxy.new(FETCH => method (|) { say $!a; $!a }, STORE => method (|) { say "stored" }) } }; Test.new(a => 99).proxit.say | 06:56 | ||
committable6 | timotimo, gist.github.com/3ec1c51f33b5794776...a682c86292 | ||
06:57
wamba left
|
|||
timotimo | yeah, from 2015.12 through 2016.08.1 it segfaulted | 06:57 | |
07:03
AlexDaniel joined
07:07
mcmillhj joined
07:11
mcmillhj left
07:23
mcmillhj joined
07:25
darutoko joined
07:29
mcmillhj left
07:33
aindilis left
07:34
dct_ joined
07:39
Actualeyes left
07:42
mcmillhj joined
07:47
mcmillhj left
07:55
dct_ left,
mcmillhj joined
07:57
greppable6 left
07:59
mcmillhj left
08:03
dct_ joined
08:04
wamba joined
|
|||
ZzZombo | I'm confused, do I need `is raw` on sigilles parameter? | 08:09 | |
timotimo | no, sigilless implies "is raw" | 08:10 | |
ZzZombo | Well, Zoffix's code at github.com/zoffixznet/perl6-Proxee...ee.pm6#L43 has that combination. | 08:13 | |
timotimo | could be documentational | 08:14 | |
08:17
robertle joined
|
|||
buggable | New CPAN upload: JSON-Hjson-0.0.1.tar.gz by AKIYM cpan.metacpan.org/authors/id/A/AK/...0.1.tar.gz | 08:23 | |
08:25
rindolf joined
08:26
mcmillhj joined
08:28
dct_ left
08:31
mcmillhj left
08:32
sena_kun joined
08:40
mcmillhj joined
08:41
wamba left
08:44
mcmillhj left
08:46
wamba joined
08:47
wamba1 joined
08:50
wamba left
08:52
pharv joined
08:56
pharv left
09:04
wamba1 left
09:09
aindilis joined
09:13
cdg joined
09:18
cdg left
09:20
espadrine left
09:24
mcmillhj joined
09:28
|oLa| joined
|
|||
ZzZombo | When will zef's "No such method 'subst' for invocant of type 'Any'" be fixed? | 09:29 | |
09:29
mcmillhj left
|
|||
moritz | ZzZombo: which issue is that, on github? | 09:34 | |
ZzZombo | github.com/ugexe/zef/issues/213 | 09:35 | |
timotimo | well, someone seems to think it's fixed already | ||
moritz | right, so nobody will work on it | ||
if the problem resurfaced again, with a current version of zef, you should open a new issue, possibly referencing the old one | 09:36 | ||
09:40
shinobi-cl left
|
|||
ZzZombo | huh, why is it so? Does not it just fall into the `\(Mu:U,Mu:U)` candidate, does it? Or an Attribute-specific one is needed perhaps, like there is one for Variable. | 09:49 | |
m: role R {};class A {has $.a is R} | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> is trait on $-sigil variable not yet implemented. Sorry. Did you mean: my R $a? at <tmp>:1 ------> 3role R {};class A {has $.a is R7⏏5} expecting any of: constraint |
||
ZzZombo | Either way, seems like a strange omission. | ||
timotimo | i feel like i missed a line or two in between that? | 09:50 | |
ZzZombo | No? | ||
timotimo | oh, the sentence refered to the next line | ||
ZzZombo | Ah, yea. | ||
timotimo | it wouldn't use Mu:U because Attribute objects used there are instances, not type objects | ||
ZzZombo | Good catch. | 09:51 | |
timotimo | s: &trait_mod:<is>, \(Attribute.new, Rational) | ||
SourceBaby | timotimo, Something's wrong: ERR: Required named parameter 'name' not passed in block <unit> at -e line 6 | ||
timotimo | s: '&trait_mod:<is>', \(Attribute.new, Rational) | 09:52 | |
SourceBaby | timotimo, Something's wrong: ERR: Required named parameter 'name' not passed in block <unit> at -e line 6 | ||
timotimo | oh, the constructor for the attribute | ||
s: '&trait_mod:<is>', \(Rat.^attributes[0], Rational) | |||
SourceBaby | timotimo, Something's wrong: ERR: Cannot resolve caller sourcery(Str, Capture); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
timotimo | s: &trait_mod:<is>, \(Rat.^attributes[0], Rational) | ||
SourceBaby | timotimo, Sauce is at github.com/rakudo/rakudo/blob/a918...ts.pm6#L76 | ||
timotimo | looks like it actually gets its exception thrown right in the parser before trait_mod:<is> is even called to figure out if it's implemented or not | 09:53 | |
09:56
dct_ joined
10:01
travis-ci joined
|
|||
travis-ci | Doc build passed. Aleks-Daniel Jakimenko-Aleksejev 'Mention fancy unicode variables in STYLEGUIDE | 10:01 | |
travis-ci.org/perl6/doc/builds/348396073 github.com/perl6/doc/compare/71829...dc06200129 | |||
10:01
travis-ci left
|
|||
ZzZombo | Can that be changed? Why block something like that this hard? On the grammar level even. | 10:02 | |
10:03
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'Use prettier ASCII art for file trees | 10:03 | |
travis-ci.org/perl6/doc/builds/348376519 github.com/perl6/doc/compare/990ad...451bd3cedd | |||
10:03
travis-ci left
|
|||
timotimo | do you expect it to be the same as putting the typen ame in front? | 10:03 | |
ZzZombo | Sorry, what? | 10:04 | |
timotimo | do you expect "has Foo $.a" to mean the same thing as "has $.a is Foo"? | ||
ZzZombo | no | ||
timotimo | OK | ||
ZzZombo | is should be applied straight to the Attribute, like everywhere else. | ||
timotimo | well, it's trivial to unblock it from the grammar once the underlying feature is implemented | 10:05 | |
though we probably do want to check if the user has maybe defined or imported a custom trait_mod:<is> for this feature | |||
and not explode in that case | |||
and fwiw since trait mods are already run at parse time anyway, we could implement the throwing in a multi candidate for that as well | 10:06 | ||
ZzZombo | Yea, it surprised me it doesn't do that already. | 10:07 | |
And decided to explode even. | 10:08 | ||
Oh well, a blocker in sight until that is out of the way. | |||
10:09
wamba joined
10:15
wamba left
|
|||
timotimo | what are you going to use it for? | 10:19 | |
10:21
clkao left,
chansen_ left,
chansen_ joined,
clkao joined,
timeless left
10:22
timeless joined
10:23
pierre_ joined
10:24
aindilis left
|
|||
ZzZombo | To apply a role to attributes, as there is no any other easy way to modify them. | 10:28 | |
timotimo | oh! | 10:29 | |
but "is Typename" already means something else | |||
at least i believe so | |||
ZzZombo | What? | ||
timotimo | i think it works a lot like "my @foo is CustomArrayClass = 1, 2, 3" | 10:30 | |
"is supposed to", that is | |||
i don't find anything in the spec tests nor in the design docs, though | 10:31 | ||
10:32
epony left
10:33
mirlur[m]1 joined
10:34
Mithaldu` joined
|
|||
timotimo | the tests in S02-types/of-type.t are only for % and @ sigiled attributes, and the design doc verbiage seems to only refer to "my" variables | 10:36 | |
10:37
Mithaldu left,
Mithaldu` is now known as Mithaldu,
mirlur[m] left
|
|||
timotimo | anyway, i'd expect that to generalize to attributes as well | 10:37 | |
10:38
ilmari[m] left
10:39
ilmari[m] joined,
yoleaux left
10:40
yoleaux joined,
ChanServ sets mode: +v yoleaux
10:53
wamba joined,
pharv joined
|
|||
timotimo | cd ~/perl6/rakudo/; echo "rakudo commit"; git show -s; echo; cd ../nqp/; echo "nqp commits since last bump"; git lg (cat ../rakudo/tools/build/NQP_REVISION)..; echo; cd ../moarvm/; echo "moar commits since last bump"; git lg (cat ../nqp/tools/build/MOAR_REVISION)..; | 10:57 | |
10:58
pharv left
|
|||
timotimo | ^- (fish syntax) shows the current commit in rakudo and all commits since last bump in both nqp and moar | 10:58 | |
squashable6 | 🍕 AlexDaniel++ wrote a comment on “「StrDistance」 not documented”: github.com/perl6/doc/issues/691#is...-370139130 | 11:05 | |
11:06
SHODAN left
11:08
SHODAN joined
11:18
SHODAN left
11:20
SHODAN joined
11:28
SHODAN left
|
|||
ZzZombo | I can still work around that by defining my own `trait_mod:<is>` to mix the role into the attribute. I just need that block to be removed. | 11:29 | |
11:36
SHODAN joined
|
|||
squashable6 | 🍕 ZzZombo++ wrote a comment on “Is the matching magic really nondeterministic?”: github.com/perl6/doc/issues/1790#i...-370141332 | 11:44 | |
🍕🍕🍕 First contribution by ZzZombo++! ♥ | |||
ZzZombo | Shhh | ||
11:53
xtreak joined
|
|||
timotimo restarts more travis builds | 12:03 | ||
nobody must know of my JSON::Fast ~bug | 12:04 | ||
squashable6 | 🍕 AlexDaniel++ edited issue “Lots of broken links, in…”: github.com/perl6/doc/issues/561 | 12:15 | |
12:17
kaare__ is now known as kaare_
|
|||
squashable6 | 🍕 AlexDaniel++ wrote a comment on “Lots of broken links, in…”: github.com/perl6/doc/issues/561#is...-370143442 | 12:18 | |
12:19
epony joined
12:23
travis-ci joined
|
|||
travis-ci | Doc build passed. Aleks-Daniel Jakimenko-Aleksejev '.pm → .pm6 | 12:23 | |
travis-ci.org/perl6/doc/builds/348353896 github.com/perl6/doc/compare/51585...68b66bd01e | |||
12:23
travis-ci left,
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'Revert "Document Range.clone-with-op." | 12:23 | |
travis-ci.org/perl6/doc/builds/348356336 github.com/perl6/doc/compare/d468b...0adfde1ec4 | |||
12:23
travis-ci left
12:25
buggable left
12:28
espadrine joined
12:33
SyrupThinker joined
12:59
telex left
13:00
telex joined
13:09
yqt joined
13:29
shinobi-cl joined
13:38
greppable6 joined
13:47
vike joined
14:05
shinobi-cl left
14:26
khisanth_ left
14:27
|oLa|1 joined
14:28
|oLa|2 joined,
|oLa| left
14:29
shinobi-cl joined
14:30
JJ_ joined
14:31
|oLa|1 left
|
|||
JJ_ | Hi there. Just checking in to see if I can be of help in the monthly SQUASHathon. I'm in Bogotá right now, and flying this evening in the redeye to Madrid, but I can work on something on the flight or tomorrow at home :-) Do assign me some issue if | 14:33 | |
14:34
wamba left
14:39
khisanth_ joined
14:44
xtreak left
14:51
vike left
14:57
skids joined,
shinobi-cl left
14:59
shinobi-cl joined
15:00
natrys joined
|
|||
timotimo | JJ_: your message got cut off after "do assign me some issue if" | 15:02 | |
ZzZombo | what a cliffhanger, I'm all intrigued | 15:03 | |
15:04
shinobi-cl left
|
|||
Geth | doc: 1b723a26bc | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/objects.pod6 reference an example of use at the point TWEAK is referenced in a search |
15:04 | |
synopsebot | Link: doc.perl6.org/language/objects | ||
squashable6 | 🍕🍕🍕 First contribution by tbrowder++! ♥ | ||
ZzZombo | ===> Building: Inline::Perl5:ver<0.31>:auth<github:niner> | 15:08 | |
The spawned command 'make' exited unsuccessfully (exit code: 127) | |||
in method build at /home/boss/.zef/store/Inline-Perl5-0.31.tar.gz/Inline-Perl5-0.31/Build.pm line 21 | |||
in block <unit> at -e line 1 | |||
===> Building [OK] for Inline::Perl5:ver<0.31>:auth<github:niner> | |||
huh, why it completed successfully? | |||
squashable6 | 🍕 tbrowder++ wrote a comment on “add an example of TWEAK”: github.com/perl6/doc/issues/1796#i...-370154207 | ||
🍕 tbrowder++ closed issue “add an example of TWEAK”: github.com/perl6/doc/issues/1796 | |||
ZzZombo | ...aaaand it failed down the line in a dependency, for this same reason. | 15:09 | |
15:11
konsolebox left
|
|||
JJ_ | @timotimo not much after that. Assign me some issue if you think I can be of help. | 15:12 | |
timotimo | there's a crapton to choose from :| | 15:15 | |
any specific kind you're interested in? | |||
15:15
ufobat_ joined
|
|||
squashable6 | 🍕 JJ++ wrote a comment on “「StrDistance」 not documented”: github.com/perl6/doc/issues/691#is...-370154763 | 15:16 | |
ZzZombo | Playing around with Perl and Ubuntu in general under WSL. Thinking about switching over to Unix in near future. | ||
timotimo | for the time being, VM is probably good enough? | 15:17 | |
MasterDuke | random thought. we have a couple 'Perl 6 from *' documents, would a 'from Javascript' be useful? | ||
Geth | ecosystem: 6537451d9d | (Bahtiar `kalkin-` Gadimov)++ | META.list Update Ddt to v0.4.3 - [X] I **agree** to the usage of the META file as listed [here](github.com/perl6/ecosystem#legal). - [X] I have a license field listed in my META file that is one of spdx.org/licenses |
||
ecosystem: 55aa68264c | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list Merge pull request #387 from kalkin/master Update Ddt to v0.4.3 |
|||
15:17
ufobat___ left
|
|||
15:18
konsolebox joined
|
|||
MasterDuke | i feel like there might be a lot of people who have a lot of experience with JS, but not so much with other languages | 15:19 | |
squashable6 | 🍕 JJ++ wrote a comment on “Lots of broken links, in…”: github.com/perl6/doc/issues/561#is...-370154995 | ||
15:21
shinobi-cl joined
15:25
ufobat___ joined
15:26
JJ_ left
15:27
ufobat_ left,
shinobi-cl left
15:30
konsolebox left
15:37
konsolebox joined
|
|||
squashable6 | 🍕 AlexDaniel++ edited issue “Lots of broken links, in…”: github.com/perl6/doc/issues/561 | 15:46 | |
🍕 AlexDaniel++ wrote a comment on “Lots of broken links, in…”: github.com/perl6/doc/issues/561#is...-370157120 | |||
15:50
trnh joined
15:52
shinobi-cl joined,
ufobat_ joined
|
|||
ZzZombo | Can I run some code without any messages leaking into the console? | 15:53 | |
timotimo | what comment systems for websites (blogs in particular) can people tolerate? | 15:54 | |
ZzZombo: there's "quietly" for warnings, there's reassignign $*OUT and $*ERR for anything else | |||
15:54
dct_ left,
ufobat___ left
|
|||
ZzZombo | Disqus. Everything else I have blocked in my anti-ad-tracker-etc-and-so-ons | 15:54 | |
That's disregarding something built-in into the site rather than reusing thirdparty solutions, like Youtube comments, etc. | 15:56 | ||
15:58
thowe joined,
aindilis joined
|
|||
ZzZombo | Uh, was that a success? A failure? | 15:59 | |
===> Installing: Inline::Perl5:ver<0.31>:auth<github:niner> Use of Nil in string context | 16:00 | ||
in block at home#sources/31AF5F9B0A3AD1CDE64740B73E8F2B3B03FB2380 (Inline::Perl5) line 25" | |||
moritz | I blocked Disqus | ||
way too many 3rd-party scripts | |||
shinobi-cl | m: my @a =<hola como te va>; say grep {rx/a/}, @a, :k:v; | 16:03 | |
camelia | (0 3) | ||
shinobi-cl | m: my @a =<hola como te va>; say grep {rx/a/}, @a, :v:k; | ||
camelia | (hola va) | ||
shinobi-cl | how does this magic work? how can grep knows that :v or :k was the first one to be defined in the parameter list? | 16:04 | |
m: my @a =<hola como te va>; say grep {rx/a/}, @a, :v:kv:p:k; | |||
camelia | (hola va) | ||
16:05
skids left
|
|||
ZzZombo | `grep` certainly doesn't, but the multi dispatcher do. | 16:06 | |
16:06
kaare_ left,
kaare_ joined
|
|||
timotimo | m: sub test(*%f) { .say for %f }; test :k:v; test :v:k; | 16:08 | |
camelia | k => True v => True k => True v => True |
||
AlexDaniel | .oO( Disqust ) |
16:09 | |
yoleaux | 03:11Z <Zoffix> AlexDaniel: tossed unspecced/undocumented/unloved Cool.path. I'm assuming no one's using it, but your call on whether we should push it through deprecation period: github.com/rakudo/rakudo/commit/b212fc5e20 (same goes for Range.clone-with-op that was nuked earlier today, I guess) | ||
04:39Z <Zoffix> AlexDaniel: nm, turned out zef was using Cool.path. Gonna do deprecation in 6.d and removal in 6.e instead; even though it ain't in any spec. irclog.perlgeek.de/perl6/2018-03-03#i_15879089 | |||
AlexDaniel | Zoffix++, thanks | 16:10 | |
shinobi-cl | m: my @a =<hola como te va>; say grep {rx/a/}, @a, :fake-flag; | ||
camelia | Unexpected adverb 'fake-flag' passed to grep on List in block <unit> at <tmp> line 1 |
||
16:10
pierre_ left
16:13
kaare_ left
|
|||
Zoffix | eco: IO::MiddleMan | 16:13 | |
Buggable is really unhappy with the updated rakudo | |||
Just keeps looping on "Attempting to connect to server; connection closed" | |||
16:14
buggable joined,
ChanServ sets mode: +v buggable
|
|||
Zoffix | and maybe updated modules; updated since 2017.09 or so | 16:14 | |
eco: IO::MiddleMan | |||
buggable | Zoffix, IO::MiddleMan 'hijack, capture, or mute writes to an IO::Handle': github.com/zoffixznet/perl6-IO-MiddleMan | ||
Zoffix | ZzZombo: ^ you could use that module to prevent messages. And that `is raw` in Proxee might've just been a leftover from when a non-sigiless param was first used | ||
16:15
kaare_ joined
16:20
pmurias joined,
kaare_ left
16:25
giraffe joined
|
|||
Zoffix | m: use nqp; my int $a = 10; dd nqp::isint($a) | 16:27 | |
camelia | 0 | ||
Zoffix | how come it ain't? | ||
16:28
kaare_ joined
|
|||
jnthn | Because Perl 6 int boxes into P6opaque | 16:28 | |
yoleaux | 06:24Z <Zoffix> jnthn: a proposal for some tweaks to Rationals to fix a number of bugs and the race condition, if you wanted to review: github.com/rakudo/rakudo/blob/mast...tionals.md | ||
Zoffix | Ah. Thanks. | ||
jnthn | Well, into Int, which as the P6opaque repr | ||
And that op looks if the repr is P6int, which NQP's rather simpler object mode uses | |||
Zoffix | ^ I'm also adding "Fix bugs with uint64 denominators and Make Rat denominators uint64 for minor perf gain and try to maximize gain with some nqp::p6div ops that'd compile down to nqp::div_i if both operands are native ints, or to nqp::div_I otherwise) | 16:29 | |
" | |||
to the proposal I mean | |||
jnthn | Hm, interesting | ||
I'd have not entirely expected it to be a win | 16:30 | ||
MasterDuke | wouldn't uints have to be fixed in MoarVM first? | ||
jnthn | In that to use the _I ops we'd need to box it | 16:31 | |
Zoffix | Yeah, that was my first assumption too, but bench I just evaled in #perl6-dev shows a minor gain | ||
16:31
pmurias left
|
|||
Zoffix | MasterDuke: s/Fix bugs with uint64 denominators/Fix bugs with uint64 attributes/ | 16:31 | |
16:33
Sgeo left
|
|||
MasterDuke | heh, a significantly harder task... | 16:33 | |
16:34
Sgeo joined,
trnh left
16:35
kaare__ joined
|
|||
Zoffix | ZofBot: We choose to fix uint64 attributes in this decade and do the other things, not because they are easy, but because they are hard; | 16:35 | |
ZofBot | Zoffix, There’s a British Rail sign on the other end | ||
16:36
kaare_ left
|
|||
jnthn | Heh, so ZofBot thinks it'll be expensive to fix and probably delayed? :) | 16:44 | |
Zoffix | :) | 16:46 | |
16:46
domidumont joined
|
|||
tbrowder | anyone want to talk about Test::is-deeply? i need some advice | 16:53 | |
Zoffix | tbrowder: Sure. | ||
tbrowder | Bailador uses lots of is-deeply tests for http responses and we get a lot of failures due to whitespace differences. a :ws adverb to is-deeply to compare string values more loosely would be very handy. | 16:55 | |
the main culprit is see is pairs where the value is a string; html canonicalization would help, too, but i'm not sure that would be so easy for the test author. | 16:57 | ||
Zoffix | You mean adding that to Test.pm6? is-deeply has little to do with strings, so adding that adverb to core routine would make little sense. | ||
tbrowder | s/is see/i see/ | ||
Zoffix | Just write a helper test module for Bailador and use its routines. Why is it `is-deeply` and not `is-request` or something along those lines? | 16:58 | |
tbrowder | well, i see is-deeply comparing strings | ||
Zoffix | It compares equivalence of objects. It's basically `cmp-ok $foo, &[eqv], $bar` with the exception that it caches Seqs and treats them as Lists | 16:59 | |
16:59
domidumont left
|
|||
tbrowder | i don't know, i'm just trying to sort out failures. not aware of is-response, that may be the answer. | 16:59 | |
Zoffix | tbrowder: "not aware of is-response". I'm not saying that it exists, I'm saying that it's often useful to write helper test routines to perform tests. So if you're testing so many HTTP responses that you want to add any adverbs, just write a helper `is-response` routine for testing those responses instead | 17:00 | |
tbrowder | gotcha | 17:01 | |
17:01
pmurias joined
|
|||
Zoffix | tbrowder: for example, here's the use of a custom "test-iter-opt" routine that tests optimizations on iterators: github.com/perl6/roast/blob/master...rage.t#L14 and here's its definition: github.com/perl6/roast/blob/master...pm#L23-L54 | 17:01 | |
tbrowder | maybe looking at jnthn's Cro tests will be helpful, too | ||
Zoffix | Notice how you can wrap a bunch of tests into a single `subtest`. So in the interface you have just 1 test routine that adds 1 test to the plan, but it can actually perform as many tests as needed. | 17:02 | |
Write anough useful test routines like that and you could also release them as a test module to the ecosystem | 17:03 | ||
17:03
xtreak joined,
Rawriful joined
|
|||
Zoffix | This is a handy P5 module; would be nice to have an equivalent in P6: metacpan.org/pod/Test::Deep | 17:03 | |
tbrowder | thanks, good ideas, as usual | 17:04 | |
17:04
BenGoldberg joined
|
|||
Zoffix | (like a routine for testing only some keys/values in hashes, letting others match regexes or be arbitrary data) | 17:04 | |
17:06
TEttinger left
17:07
TEttinger joined
17:11
pmurias left
|
|||
buggable | New CPAN upload: Concurrent-Queue-1.0.tar.gz by JNTHN cpan.metacpan.org/authors/id/J/JN/...1.0.tar.gz | 17:14 | |
squashable6 | 🍕 AlexDaniel++ closed issue “Document how to use 「run…”: github.com/perl6/doc/issues/1745 | 17:16 | |
Geth | doc: 28a9f13261 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Document how to use run with <> Also slightly discourage «», and add a separate section to traps about «». It is somewhat copypasted but that's ok, as having a separate section in traps raises awareness without requiring to read all of the docs. Resolves #1745 and makes me happy. |
||
17:19
vike joined
|
|||
Zoffix | "Note that C<--> is required to make it work for…" makes me think I always have to include `--` when using `run` with filenames. | 17:20 | |
Geth | doc: 069a3c1478 | (Jan-Olof Hendig)++ | doc/Type/Any.pod6 Fixed broken link |
||
synopsebot | Link: doc.perl6.org/type/Any | ||
squashable6 | 🍕🍕🍕 First contribution by dogbert17++! ♥ | ||
AlexDaniel | Zoffix: that's correct | ||
Zoffix | AlexDaniel: why is it correct? | 17:21 | |
timotimo | Zoffix: there's a validation format that has a perl6 impl | ||
LIVR | 17:22 | ||
AlexDaniel | you don't see it that often because most shell scripts are written using stackoverflow-driven development | ||
Zoffix: well because filenames sometimes do start with dashes, and in most cases you do intend your software to work with any valid file or path | 17:23 | ||
you can get away with it sometimes, and maybe even practically every time, but yes you'll have to always include -- to make your code fully correct | 17:24 | ||
and for me it took quite some time to accept it, yeah… | 17:25 | ||
Zoffix | AlexDaniel: but you're making an assumption about "your software". The `--` is part of how that software processes its arguments, not part of &run, so implying that &run always needs it is incorrect. | 17:26 | |
$ echo -e "foo\nbar\nber" > --my-file | |||
$ perl6 -e 'run «./my-app --my-file»' | |||
File --my-file has 3 lines of content | |||
AlexDaniel | Zoffix: that's correct, yes, in fact some software does not support it | ||
Zoffix | my software above would've crashed if it followed your advice. | 17:27 | |
$ perl6 -e 'run «./my-app -- --my-file»' | |||
AlexDaniel | Zoffix: so how can we clarify it? | ||
Zoffix | Failed to open file /tmp/tmp.SPsvjwwGph/--: No such file or directory | ||
AlexDaniel | Zoffix: it already links to BashPitfalls page where it is explained in more detail | ||
Zoffix: I now see your point that it makes it feel like it's related to `run`, okay | 17:28 | ||
Zoffix | Dunno, "Note: many common programs expect C<--> passed to disambiguate between command-line arguments and filenames that begin with hyphens. L<link to bashpitfalls> | ||
" | |||
rouking | Quotes might work? | ||
AlexDaniel | rouking: no | 17:29 | |
not for leading - at least | |||
rouking | hmm | ||
Zoffix | Dunno, "Note: many common programs, like C<touch> above, expect C<--> passed to disambiguate between command-line arguments and filenames that begin with hyphens. L<link to bashpitfalls>" | ||
C:\Temp>notepad --my-file.txt # works just fine too | 17:30 | ||
hah, and "notepad -- --my-file.txt" creates a file called "-- --my-file.txt" | 17:31 | ||
17:31
xtreak left
|
|||
rouking | The only way I can see is for the flag parser to have knowledge of where a file is expected | 17:31 | |
Zoffix | Even if you pass it as `perl6 -e "run <<notepad -- --bar.txt>>"` | 17:32 | |
Geth | doc: eaa9f77514 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Make a note about -- more clear See irclog.perlgeek.de/perl6/2018-03-03#i_15880599 |
||
Zoffix | AlexDaniel++ | ||
AlexDaniel | Zoffix: you think it helped? It feels like it can be expanded a bit more | 17:33 | |
Zoffix | vOv | ||
rouking | In an ideal world, people wouldn't be naming files starting with dashes | 17:35 | |
Zoffix | :D | ||
rouking | (waiting for someone to come up with a surprisingly compelling reason to start a filename with a dash) | 17:36 | |
AlexDaniel | in an ideal world people would be naming files in all kinds of ways so that bugs were fixed faster :) | ||
cfa | ufobat_: ping | 17:37 | |
AlexDaniel | rouking: well if you don't like files starting with a dash, then you probably also wouldn't like “*” as a filename! :) | 17:38 | |
rouking | That's at least a bit easier to deal with, since * is just a shell thing | 17:39 | |
Geth | doc: 2e90e913e6 | (Jan-Olof Hendig)++ | doc/Type/Any.pod6 Fix a number of broken/incorrect links |
||
synopsebot | Link: doc.perl6.org/type/Any | ||
AlexDaniel | rouking: but `run` is complicated and `shell` just works! github.com/perl6/doc/issues/1745#i...-360052326 | 17:40 | |
17:41
wamba joined
|
|||
AlexDaniel | rouking: I mean, well… that's the reality until we implement julia-like things for running stuff | 17:42 | |
rouking | Not familiar with Julia. What does it do? | 17:43 | |
AlexDaniel | docs.julialang.org/en/stable/manua...ipelines-1 | ||
Zoffix | That looks fairly trivial to implement, innit? Like you already can bind-stdout from one Proc::Async to another or whatever | 17:44 | |
17:44
cdg joined
|
|||
rouking | Yeah, seems like we can almost do that now | 17:44 | |
ZzZombo | "I ran into a problem while trying to set up Linenoise: Must specify something as a path: did you mean '.' for the current directory?" | ||
Any help? | 17:45 | ||
That's from the REPL. | |||
Zoffix | That error is from this: | ||
m: "".IO | |||
camelia | Must specify something as a path: did you mean '.' for the current directory? in block <unit> at <tmp> line 1 |
||
Zoffix | So something is empty and it's trying to use it as a path. Maybe your $HOME isn't set? | ||
ZzZombo: also, what version of perl6 are you on? | 17:46 | ||
AlexDaniel | Zoffix: that's not too difficult, but maybe some things should be thought through (like what if one of the commands in the pipeline fails?) | ||
Zoffix | I faintly recall fixing a problem like that | ||
(the repl crash I mean) | |||
ZzZombo | `$HOME` is set. "This is Rakudo version 2018.02.1 built on MoarVM version 2018.02 implementing Perl 6.c." | 17:47 | |
AlexDaniel | Zoffix: and there are other things like `sort $file` doing quoting correctly in Julia | 17:48 | |
timotimo | maybe $*HOME isn't set for some reason? | ||
ZzZombo | it's set | ||
AlexDaniel | well there's no quoting actually, it's just splitting it correctly | ||
rouking | In that case, I personally would like a Failure that has information about which command failed, the exit code, and any STDERR output | ||
Zoffix | ZzZombo: add --ll-exception command line flag. What's the output? | ||
$ perl6 --ll-exception | 17:49 | ||
timotimo | "any stderr output" is not so simple, by default the file descriptor that gets passed to the child program is the same your script has | ||
ZzZombo | What do you mean? It's REPL, there is no exception. | ||
timotimo | you can't reliably capture the output unless you want to manually pass-through data, which can mess up ordering and timing and all that fun stuff | ||
rouking | Hmm, perhaps just the former two, then :) | 17:50 | |
Zoffix | ZzZombo: just run perl6 --ll-exception | ||
ZzZombo | well, I did, nothing new. | ||
Zoffix | OK | 17:51 | |
(I'm reproing it locally now; 1 sec) | 17:52 | ||
AlexDaniel | Zoffix: GH#1586 | 17:53 | |
synopsebot | GH#1586 [open]: github.com/rakudo/rakudo/issues/1586 [RFC] Easy way to pipe Procs | ||
Zoffix | ZzZombo: what about RAKUDO_HIST=foo.txt perl6 | 17:54 | |
Does that still show the same message? | |||
ZzZombo | What do you mean? | 17:55 | |
Zoffix | I mean try setting RAKUDO_HIST env var to a filename in some writable location | 17:56 | |
ZzZombo | Still the same. | 17:57 | |
Zoffix | No idea then. The message is comming from here: github.com/rakudo/rakudo/blob/mast...L.pm6#L185 | 18:01 | |
If I could repro it, recompile rakudo and make that message show full backtrace to where the error came from and look in there | |||
*I'd recompile... | |||
Zoffix & | 18:02 | ||
18:02
Zoffix left,
comborico1611 joined
18:03
kaare_ joined
18:04
kaare__ left,
pochi left
18:25
vcv joined
18:30
cdg left,
cdg joined
18:35
cdg left,
pmurias joined
18:41
pmurias left
18:42
zakharyas joined,
cfa left
|
|||
squashable6 | 🍕 AlexDaniel++ closed issue “What is a trap and what isn't?”: github.com/perl6/doc/issues/1523 | 18:43 | |
🍕 AlexDaniel++ wrote a comment on “What is a trap and what isn't?”: github.com/perl6/doc/issues/1523#i...-370170188 | |||
18:45
vcv left
18:46
zakharyas left
18:47
zakharyas joined
18:51
zakharyas left
18:52
zakharyas joined
18:55
zakharyas left,
zakharyas joined
18:58
darutoko left
19:03
zakharyas1 joined
19:04
zakharyas left,
zakharyas1 left
19:05
wamba left
19:07
zakharyas joined
19:10
zakharyas left
19:17
zakharyas joined
|
|||
Geth | doc: b6a4f58396 | (Steve Mynott)++ | doc/Type/Cool.pod6 correct typo and grammar |
19:30 | |
synopsebot | Link: doc.perl6.org/type/Cool | ||
squashable6 | 🍕🍕🍕 First contribution by stmuk++! ♥ | ||
19:33
khw joined
19:34
vcv joined
|
|||
Geth | ecosystem: shinobi++ created pull request #388: Data::StaticTable added. |
20:02 | |
ecosystem: da05119a59 | shinobi++ (committed by Zoffix Znet) | META.list Update META.list (#388) Data::StaticTable class: github.com/shinobi/Data-StaticTable.git |
20:06 | ||
20:10
vcv left
|
|||
squashable6 | 🍕 JJ++ wrote a comment on “Lots of broken links, in…”: github.com/perl6/doc/issues/561#is...-370176424 | 20:13 | |
🍕 AlexDaniel++ wrote a comment on “doc $¢”: github.com/perl6/doc/issues/1262#i...-370177384 | 20:29 | ||
🍕 AlexDaniel++ closed issue “doc $¢”: github.com/perl6/doc/issues/1262 | |||
AlexDaniel | any Ruby programmers here? | ||
APic | Is that a Trick-Question? | 20:31 | |
AlexDaniel | no | 20:34 | |
there's a Ruby-related issue that can be tackled: github.com/perl6/doc/issues/1247 | |||
APic | Good. | 20:35 | |
20:39
Zoffix joined
|
|||
Zoffix | I plan to submit a TPF grant proposal "Perl 6: Performance and Bugfixing of Rationals and Constraints on Constants". The draft is available at temp.perl6.party/Constant-Rat-TPF-Grant.html Let me know your comments. | 20:40 | |
squashable6 | 🍕 AlexDaniel++ wrote a comment on “internet searches are un…”: github.com/perl6/doc/issues/1205#i...-370178345 | 20:43 | |
AlexDaniel | “Amount Requested: USD 1,499” what a bargain | 20:44 | |
20:58
rindolf left
|
|||
squashable6 | 🍕 AlexDaniel++ wrote a comment on “use File::Temp, not .pick”: github.com/perl6/doc/issues/1062#i...-370179910 | 21:07 | |
🍕 AlexDaniel++ wrote a comment on “(call|next)(with”: github.com/perl6/doc/issues/976#is...-370180258 | 21:13 | ||
🍕 AlexDaniel++ closed issue “(call|next)(with”: github.com/perl6/doc/issues/976 | |||
🍕 AlexDaniel++ wrote a comment on “xt/aspell.t - aspell issue”: github.com/perl6/doc/issues/975#is...-370180342 | 21:14 | ||
21:21
natrys left
|
|||
squashable6 | 🍕 AlexDaniel++ closed issue “internet searches are un…”: github.com/perl6/doc/issues/1205 | 21:22 | |
🍕 AlexDaniel++ wrote a comment on “internet searches are un…”: github.com/perl6/doc/issues/1205#i...-370180819 | |||
21:25
SyrupThinker left
21:26
jimav joined
|
|||
jimav | Hi, I'm trying to figure out the significance of the examples of list vs. item assignment in docs.perl6.org/language/variables#...Assignment ... | 21:30 | |
It has these examples: my $num; my @array = $num = 42,"str"; # item assignment: uses expression my ($num, @array); @array = $num = 42,"str"; # list assignment But the results are exactly the same. Are the docs talking about the inner "$num= 42" or the outer "@array = ..." when they say "list" or "item" assignment? | 21:31 | ||
oops, paste didn't work very well there... | |||
my $num; my @array = $num = 42,"str"; # item assignment: uses expression | |||
my ($num, @array); @array = $num = 42,"str"; # list assignment | |||
The results are exactly identical. Hos is "item assignment" being used in the first example? | |||
Which assignment are the comments referring to (assignment to @array or $num)? | 21:32 | ||
Geth | doc: c9537ba848 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/glossary.pod6 Fix the link to “Backtracking” Resolves #628. |
21:36 | |
synopsebot | Link: doc.perl6.org/language/glossary | ||
squashable6 | 🍕 AlexDaniel++ closed issue ““Backtracking” is not defined in the glossary”: github.com/perl6/doc/issues/628 | ||
🍕 AlexDaniel++ wrote a comment on ““Backtracking” is not defined in the glossary”: github.com/perl6/doc/issues/628#is...-370181772 | |||
21:39
TreyHarris left
21:41
jimav left
|
|||
squashable6 | 🍕 AlexDaniel++ wrote a comment on “Partial Build [Possibly due to parallelization]”: github.com/perl6/doc/issues/664#is...-370182018 | 21:41 | |
🍕 AlexDaniel++ wrote a comment on “Vow not documented”: github.com/perl6/doc/issues/588#is...-370182191 | 21:43 | ||
🍕 AlexDaniel++ closed issue “Vow not documented”: github.com/perl6/doc/issues/588 | |||
21:44
jimav joined,
greppable6 left
|
|||
squashable6 | 🍕 AlexDaniel++ wrote a comment on “lazy, eager, hyper, race…”: github.com/perl6/doc/issues/534#is...-370182298 | 21:45 | |
jimav | Is there a way to paste multiple lines into chat without folding (either keeping the newlines as newlines, or with each line appearing as a separate row)? | ||
AlexDaniel | jimav: yes, you can use gist.github.com/ or any other paste service really | 21:47 | |
and the bot will even run the snippet when provided with a link | |||
jimav | Thanks. I've never used a paste service. How does it work? Having typed something into gist.github.com/ how can I get it pasted into a particular chat? (sorry for newbie q) | 21:50 | |
AlexDaniel | just click "create public gist" and paste the URL here | 21:51 | |
jimav | gist.github.com/jimav/727c5c30aa52...624b815587 | 21:52 | |
Hmm. That didn't paste the content, just the url... | |||
21:53
TreyHarris joined
|
|||
timotimo | yes, we have to click the url | 21:55 | |
squashable6 | 🍕 AlexDaniel++ closed issue “A PDF version of the documentation”: github.com/perl6/doc/issues/722 | ||
21:55
zakharyas left
|
|||
timotimo | this is normal :) | 21:55 | |
squashable6 | 🍕 AlexDaniel++ wrote a comment on “A PDF version of the documentation”: github.com/perl6/doc/issues/722#is...-370182905 | ||
AlexDaniel goes for a little nap | 21:56 | ||
jimav | AlexDaniel: Ok, thanks | 21:57 | |
Sorry, meant timotimo | 21:58 | ||
22:01
AlexDaniel left
22:19
jimav_ joined
|
|||
jimav | docs.perl6.org/language/packages#Names mentions "numeric names" giving $42 as an example ... | 22:21 | |
Where are numeric names allowed? | 22:22 | ||
Zoffix | jimav: regex captures | 22:23 | |
m: "foo" ~~ /(.)(.)/; say [$0, $1] | |||
camelia | [「f」 「o」] | ||
jimav_ | Ah, okay. | 22:27 | |
Zoffix | jimav: that "Item and List Assignment" section is making my head spin. Feels like it's trying to answer all the questions no one asked. I'd suggest ignoring it. | 22:28 | |
jimav_ | Zoffix: How did you cause your response (to my $42 question) to appear? I often see the "m:" prefix before code, and +camelia is a bot, I assume | 22:30 | |
timotimo | correct | 22:31 | |
we have multiple eval bots for perl 6 code, one of them is camelia, who reacts to "m:" among other things | 22:32 | ||
camelia can also grab source code from some paste service websites | |||
jimav_ | m: say 42; | ||
camelia | 42 | ||
jimav_ | Nice. | ||
squashable6 | 🍕 zoffixznet++ opened issue “"Item and List Assignment" section is dense”: github.com/perl6/doc/issues/1810 | ||
jimav_ | How to make camelia grab source from a paste service? (I'll RTFM if you you point to the M) | 22:34 | |
timotimo | just m: blah blah/ | ||
Zoffix | m: sub term:<¯\_(ツ)_/¯> { say '¯\_(ツ)_/¯' }; ¯\_(ツ)_/¯ | ||
camelia | ¯\_(ツ)_/¯ | ||
timotimo | you made that line up on purpose? :) | ||
Zoffix | m: gist.github.com/zoffixznet/edfff3c...17c096e1da | ||
camelia | ¯\_(ツ)_/¯ | ||
squashable6 | 🍕 coke++ wrote a comment on “xt/aspell.t - aspell issue”: github.com/perl6/doc/issues/975#is...-370185460 | 22:35 | |
22:40
Kaiepi joined,
yqt left
|
|||
Geth | doc: 362b4cf1a6 | (JJ Merelo)++ | doc/Language/faq.pod6 .perl → perl refs #561 |
22:50 | |
synopsebot | Link: doc.perl6.org/language/faq | ||
doc: 5a8cf251e3 | (JJ Merelo)++ | doc/Language/faq.pod6 classtut → /language/classtut refs #561 |
|||
22:51
mingdao left
22:57
Zoffix left
23:05
cfa joined
|
|||
Geth | doc: 9ee2a4c75c | (JJ Merelo)++ | 4 files Fixing links to $*CWD Paragraphs seem to be copied from each other. Refs #561 |
23:11 | |
doc: 9e5d8e6bb5 | (JJ Merelo)++ | doc/Language/variables.pod6 Fixes link to Sub And gets ready to board and stuff. Refs #561 |
|||
synopsebot | Link: doc.perl6.org/language/variables | ||
cfa | hm, i think commit [207313] has borked the repl (.specification.contains) | ||
===SORRY!=== | 23:12 | ||
No such method 'contains' for invocant of type 'CompUnit::DependencySpecification' | |||
23:12
konsolebox left
|
|||
timotimo | hm, i'd say it needs a .Str in the middle | 23:13 | |
the ~~ against regex would have coerced it to Str before | |||
23:13
konsolebox joined
|
|||
squashable6 | 🍕 jimav++ wrote a comment on “"Item and List Assignment" section is dense”: github.com/perl6/doc/issues/1810#i...-370187559 | 23:15 | |
🍕🍕🍕 First contribution by jimav++! ♥ | |||
cfa | jimav: seen perl6advent.wordpress.com/2011/12/...nces-gone/ ? | 23:16 | |
squashable6 | 🍕 jimav++ wrote a comment on “"Item and List Assignment" section is dense”: github.com/perl6/doc/issues/1810#i...-370187731 | 23:18 | |
23:21
sena_kun left
23:35
cog__ left,
cognominal joined
23:40
mingdao joined
23:45
mingdao left
23:46
cognominal left
23:53
espadrine left
|