»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
mst timotimo: ingy's SWIM is really interesting 00:00
ok, ingy, so it's like 75% of an interesting but still interesting
leont Basically Pod6 has better manipulexity than pod5, but it doesn't nearly have the whipituptitude that something like markdown has 00:06
TimToady it's a fair cop 00:07
ingy mst: :D 00:28
buggable New CPAN upload: App-Tasks-0.0.1.tar.gz by JMASLAK cpan.metacpan.org/authors/id/J/JM/...0.1.tar.gz 01:35
lindylex Where do I place the case insensitive adverb in this substitution $e20 ~~ s:g:ii/ <?before jump> / "⇑ "/; 02:36
TimToady well, :ii is a substitution adverb that implies :i, so it has to go on the substitution, since it implies changing the case of the right side 02:44
but you don't need that here, so the :i could go either outside or inside the slash (or even inside the 'before' 02:45
lindylex TimToady that is what I read. 02:48
my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s:i/ <?before jump> / "⇑ "/; 02:49
This does not change anything.
TimToady looks like a bug 02:53
m: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s/ <?before :i jump> / "⇑ "/; say $e20 02:54
camelia Jump to Jump the left and then to the right again. ::
TimToady m: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s/ <?before :i [jJ]ump> / "⇑ "/; say $e20
camelia Jump to Jump the left and then to the right again. ::
TimToady m: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s/ <?before [jJ]ump> / "⇑ "/; say $e20
camelia Jump to Jump the left and then to the right again. ::
TimToady m: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s/ <?before Jump> / "⇑ "/; say $e20
camelia "⇑ "Jump to Jump the left and then to the right again. ::
TimToady m: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s/ <?before <[jJ]>ump> / "⇑ "/; say $e20 02:55
camelia "⇑ "Jump to Jump the left and then to the right again. ::
TimToady helps if I spell it right
lindylex It only works like this $e20 ~~ s:g:i/ <?before Jump> / "⇑ "/; 02:56
TimToady well, <[jJ]> works there too
lindylex Sorry that also works. The character you suggest is a nice solution. 02:57
TimToady but :i ought to work in any of 3 different positions
lindylex 2 hours later. I hate bugs!
TimToady m: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s:i/ :i <?before :i jump> / "⇑ "/; say $e20
camelia Jump to Jump the left and then to the right again. ::
lindylex HOw do I report it/
TimToady just paste a few of these lines in 02:58
lindylex PAste the bug errors in?
Zoffix lindylex: you can report all perl6 bugs here: github.com/rakudo/rakudo/issues/new 03:02
lindylex Thanks
TimToady bisectable6: my $e20 = "Jump to Jump the left and then to the right again. :: "; $e20 ~~ s:i/ :i <?before :i JUMP> / "⇑ "/; say $e20 03:04
bisectable6 TimToady, On both starting points (old=2015.12 new=6ee5f75) the exit code is 0 and the output is identical as well
TimToady, Output on both points: «Jump to Jump the left and then to the right again. :: ␤»
Zoffix m: my $e20 := "Jump"; $e20.subst: /:i <before jump> /, "⇑ "; say $e20 03:05
camelia Jump
Zoffix m: say "Jump".subst: /:i <before jump> /, "⇑ "
camelia ⇑ Jump
Zoffix weird that one works but not the other :)
err, no 03:06
I confused myself with op vs method :)
m: my $e20 = "Jump to Jump the left and then to the right again. :: "; say $e20.subst: /:i <before jump> /, "⇑ ";
camelia ⇑ Jump to Jump the left and then to the right again. ::
Zoffix bets $5 it's Str!APPLY-MATCHES being too dumb 03:07
lindylex Zoffix : I also tried the method way and got it to work. 03:08
I was so confused because I had done it before in other cases.
Zoffix ah, no not APPLY matches 03:11
m: my $e20 = "Jump"; $e20 ~~ s:i/<?before jump>/bump/; say $e20
camelia Jump
Zoffix m: my $e20 = "Jump"; $e20 ~~ s:i/<before jump>/bump/; say $e20
camelia bumpJump
TimToady m: my $e20 = "Jump"; $e20 ~~ s:i/<?before jump> )> . /bump/; say $e20 03:13
camelia Jump
Zoffix m: say so "A" ~~ /:i <?before a>/
camelia False
Zoffix m: say so "A" ~~ /:i <before a>/
camelia True
TimToady m: my $e20 = "Jump"; $e20 ~~ s/<?before :i jump>/bump/; say $e20 03:14
camelia Jump
TimToady m: my $e20 = "Jump"; $e20 ~~ s/<before :i jump>/bump/; say $e20
camelia bumpJump
TimToady weeeird
Zoffix nqp: say(?("A" ~~ /:i <?before a>/)) 03:15
camelia 0
Zoffix nqp: say(?("A" ~~ /:i <before a>/)) 03:16
camelia 1
Zoffix lindylex: FYI, I reported it R#2302 03:21
synopsebot R#2302 [open]: github.com/rakudo/rakudo/issues/2302 :i is ignored on regex if `?` used with `<?before>`
TimToady nqp: say(?(" A " ~~ /:i <.before a>/)) 03:22
camelia 1
TimToady nqp: say(?("A" ~~ /:i <!!before a>/))
camelia 0
TimToady !! also appears to break it 03:24
but not . so maybe just the booleans
TimToady nqp: say(?("A" ~~ /:i <.?before a>/)) 03:30
camelia 1
TimToady nqp: say(?("A" ~~ /:i <?.before a>/))
camelia 0
lindylex Zoffix" super thank I was hoping you would. 03:32
Herby_ rookie question as I walk through Learning Perl 6, trying to grab data file 03:44
sometimes when I try to use cURL to grab a github txt file, it'll properly download and save the text file. other times it'll download all the html from the github page
for instance: github.com/briandfoy/LearningPerl6...census.txt
if I try to cURL -O that, it downloads the html 03:45
lindylex Herby_ one sec I can help. 03:56
Herby_ k 03:57
lindylex Herby_ : is this what you want to do ? wget raw.githubusercontent.com/briandfo...census.txt 03:58
Herby_ not sure. I'm on Windows 10, wget isnt recognized in my terminal. was trying to figure out cURL since that is not installed on W10 and I havent really used it before 03:59
but i'm sure the gist is the same. download the document as a text file
geekosaur it's the url thatmatters, no the command
soit'll work with curl -O 04:00
lindylex This works for me also. curl -O raw.githubusercontent.com/briandfo...census.txt 04:01
Herby_ geekosaur: sometimes that does work. but in this example, curl -O downloads it as a html document
hmmm
geekosaur did you see :"its theurl"?
raw.githubusercontent.com is not github,.com
geekosaur github serves the actual file data from the raw.githubusercontent.com url 04:02
Herby_ geekosaur: ahhh, ok. i got it working now 04:03
thanks lindylex: i didnt see the difference in the url
lindylex Herby_ you can get wget here sourceforge.net/projects/gnuwin32/.../1.11.4-1/
Herby_ lindylex: i'll take a look, thanks. for simple uses, are they roughly the same? 04:04
lindylex this wget-1.11.4-1-setup.exe
They have some overlap.
Lots of overlap.
geekosaur wget is more gnuish, curl is more bsdish, if that doesn't mean anything to you, stick to the one you know. in fact, probably just stick to the one you know anyway; there's little to gain from having both 04:06
Herby_ i know neither. since cURL comes with W10 now, i'll stick to it 04:07
lindylex Good to know it come with it. 04:09
Voldenet geekosaur: I didn't know that was the difference - I thought wget downloads the file and curl just prints it to stdout ;) 04:24
geekosaur -O writes it to file 04:25
geekosaur btu really, thats' part of the gnu vs. bsd, the thoght processes behind how things work 04:27
Voldenet fun fact, powershell has curl and wget aliases 04:28
and they both point to the same command ;)
lindylex Voldenet: good to know. What command? 04:33
Voldenet Invoke-WebRequest
Voldenet its features are closer to curl though - it doesn't do download resuming and --mirror like wget 04:37
lindylex Thanks for explaining. 04:43
jmerelo Morning 06:22
Geth doc: 79e3b30429 | (JJ Merelo)++ | lib/Pod/Htmlify.pm6
Trying to solve #2320. Not there yet
06:57
doc: 2ba481f0fc | (JJ Merelo)++ | doc/Language/nativetypes.pod6
Eliminates category by reindexing, closes #2323, refs #2320
synopsebot Link: doc.perl6.org/language/nativetypes
Geth doc/master: 4 commits pushed by (JJ Merelo)++ 07:27
lizmat . 08:20
jmerelo Hi, lizmat 08:23
lizmat jmerelo o/
tyil .tell leont I created a MR on the issue you created, would you care te test it on your machine to confirm it solves your issue? 08:29
yoleaux tyil: I'll pass your message to leont.
pmurias mst: what's SWIM? 09:47
lizmat say what I mean ? 09:52
DFSyh Zoffix: test 11:05
Geth doc: aefec11a60 | (Jonathan Stowe)++ | doc/Language/concurrency.pod6
start is not a subroutine

Fixes #2322
This hedges and describes it as a keyword until statement prefix is documented in #2034
11:28
synopsebot Link: doc.perl6.org/language/concurrency
leont Can anyone summarize the difference betwee mi6 and assixt? All I can find is "mi6 is minimalist"… 12:58
yoleaux 08:29Z <tyil> leont: I created a MR on the issue you created, would you care te test it on your machine to confirm it solves your issue?
mst pmurias: github.com/ingydotnet/swim-pm 13:19
MasterDuke leont: take this with a whole salt shaker, but i think mi6 mostly just helps set up your files in the right directory structure, but assixt also helps with uploading to cpan and things like that 14:01
leont mi6 also uploads to cpan, in fact it's from the same author as CPAN::Uploader::Tiny (that's used by both) 14:02
timotimo i think mi6 also uploads to cpan 14:03
yeah
MasterDuke ah, good to know 14:04
tyil fwiw, assixt also uses CPAN::Uploader::Tiny internally to upload to CPAN 14:12
timotimo i think that's what leont meant by "used by both" 14:13
tyil ah 14:17
tyil yes, that makes sense when re-reading it 14:17
leont And CPAN::Uploader::Tiny is a port from my p5 module of the same name :-p 14:18
tyil leont: if you can confirm the MR resolves your issue, I can merge it into master and make a new release of Pod::To::Pager :) 14:21
leont Fails to install with «Could not find Pod::To::Pager::Binary» 14:42
Probably because zef (via TAP::Harness) adds the local blib path and not PERL6PATH, while that test is spawning a new perl6 14:44
leont But yeah the original problem seems solved 14:49
Geth doc: 27a6aca340 | (Zoffix Znet)++ | doc/Type/Cool.pod6
Document Cool.fmt

Part of github.com/perl6/doc/issues/2277 R#2277
15:54
synopsebot Link: doc.perl6.org/type/Cool
R#2277 [closed]: github.com/rakudo/rakudo/pull/2277 Partially implement Pod '#' alias for %config :numbered
buggable New CPAN upload: Object-Trampoline-0.0.4.tar.gz by ELIZABETH modules.perl6.org/dist/Object::Tram...:ELIZABETH 16:05
Geth doc: b4d05e9872 | (Zoffix Znet)++ | doc/Type/Cool.pod6
Document Cool.substr-rw/&substr-rw

Part of github.com/perl6/doc/issues/2277 R#2277
16:10
synopsebot Link: doc.perl6.org/type/Cool
R#2277 [closed]: github.com/rakudo/rakudo/pull/2277 Partially implement Pod '#' alias for %config :numbered
Geth doc: 398b74e44b | (Zoffix Znet)++ | doc/Type/Cool.pod6
Document Cool.trans

Part of github.com/perl6/doc/issues/2277 D#2277
16:39
synopsebot Link: doc.perl6.org/type/Cool
D#2277 [open]: github.com/perl6/doc/issues/2277 [big][docs][help wanted] TODOs all over
Geth doc: ec2d63fa84 | (Zoffix Znet)++ | doc/Type/Cool.pod6
Document Cool.match

Part of github.com/perl6/doc/issues/2277 D#2277
16:44
synopsebot Link: doc.perl6.org/type/Cool
synopsebot D#2277 [open]: github.com/perl6/doc/issues/2277 [big][docs][help wanted] TODOs all over
Geth doc: a7aed3e5db | (Zoffix Znet)++ | doc/Type/Cool.pod6
Document Str.subst

Part of github.com/perl6/doc/issues/2277 D#2277
16:48
synopsebot Link: doc.perl6.org/type/Cool
D#2277 [open]: github.com/perl6/doc/issues/2277 [big][docs][help wanted] TODOs all over
buggable New CPAN upload: Object-Delayed-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz 17:25
Demos[m] I just started leanring perl6! it's really fun 17:27
Demos[m] I really like all the quoting constructs, feels like ruby 17:27
unlike ruby however the run sub works properly
jmerelo Demos[m]: great! Best of luck. Other stuff is like Ruby, if you know it, like mix-ins. Did you see the Perl 6 from Ruby document?
Demos[m] I delayed learning p6 for a long time because there's no semantic tooling 17:28
El_Che Demos[m]: welcome
Demos[m] no, I don't know ruby that well. I'm mainly a c++ and nim programmer
El_Che Demos[m]: ruby was fun for me as well
Demos[m] but when I learned ruby I found it fun!
I absolutely love the attitude of perl though 17:29
espicially coming from the C++ area
also extremely impressed that perl6 is (almost) self hosting 17:30
leont Latest TAP::Harness/prove6 does color again :-) 17:31
Demos[m] I also really like the design rationale of moarvm 17:35
it also reminds me quite a bit of julia 17:40
jmerelo leont++ 17:52
fake_space_whale Is there a way to delete an element from the middle of an array? (preferably by value) 18:26
something like @a.remove(5)
jmerelo fake_space_whale: in-place?
TimToady splice if you want everything to shift down 18:27
@a[$elem]:delete if you want to leave an undefined value there
fake_space_whale Splice is likely what I want then.
Thank you
Zoffix fake_space_whale: and for by-value version you can simply use .grep with .= metaop 18:31
m: my @a = <a b c d f b g e>; @a .= grep: none 'b'; dd @a
camelia Array @a = ["a", "c", "d", "f", "g", "e"]
fake_space_whale oh that is just what I was looking for. Thank you. 18:32
TimToady m: say not 'b' 18:34
camelia False
fake_space_whale Though I realized that I should actually be using SetHashs for what I am doing, since I really just care about membership.
TimToady we could catch people using not or ! on literals and teach them to use 'none' instead 18:35
much like we catch people using literal True or False in smartmatch
fake_space_whale: or BagHash if there can be multiples of the same key 18:38
in either case, $setorbag{$elem}-- should do what you want 18:40
fake_space_whale Thanks
Zoffix m: my %b := <a b c d e f g>.BagHash; --«%b<a b f g>; dd %b # hypered version for multi-elem removal 18:42
camelia ("e"=>1,"d"=>1,"c"=>1).BagHash
TimToady m: my %b := <a b c d e f g>.BagHash; %b<a b f g> X-= 1; dd %b # another way if you dislike hypers 18:51
camelia ("e"=>1,"c"=>1,"d"=>1).BagHash
lizmat m: my %b is BagHasH = <a b c d e f g>; dd %b; # alternate syntax 18:53
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is BagHasH' in a variable declaration.
at <tmp>:1
------> 3my %b is BagHasH7⏏5 = <a b c d e f g>; dd %b; # alternate
expecting any of:
TypeObject
lizmat m: my %b is BagHash = <a b c d e f g>; dd %b; # alternate syntax
camelia ("a"=>1,"b"=>1,"d"=>1,"g"=>1,"c"=>1,"e"=>1,"f"=>1).BagHash
TimToady usually tests his m: entries privately first to avoid embarrassment, perhaps because he is not Dutch :) 18:56
TimToady is Flemish if you go back far enough, though... 18:59
TimToady blames the French influence for his embarrassment :) 19:00
lizmat it's called being overconfident :-( 19:05
buggable New CPAN upload: Object-Delayed-0.0.2.tar.gz by ELIZABETH modules.perl6.org/dist/Object::Dela...:ELIZABETH
TimToady otoh, given that my name might have come from the Waldensians, maybe I *am* French...
(apparently the name was Walde when my ancestors lived in Prussia before they moved to Ukraine) 19:09
lizmat ah, so maybe you're related to mithaldu :-)
lizmat weekly: www.reddit.com/r/perl6/comments/9i..._learning/ 19:46
notable6 lizmat, Noted!
mithaldu_ lizmat: possibly, i come from the prussian area and the history of my family is kind of unknown :) 20:06
lizmat mithaldu_ o/
TimToady well, my ancestors were mennonites, if that rings any bells, not that the mennonites were into bell ringing... 20:21
buggable New CPAN upload: Object-Trampoline-0.0.5.tar.gz by ELIZABETH modules.perl6.org/dist/Object::Tram...:ELIZABETH 20:45
New CPAN upload: Object-Delayed-0.0.3.tar.gz by ELIZABETH modules.perl6.org/dist/Object::Dela...:ELIZABETH
lizmat finally: lazy attribute initialization: class A { has $.foo = slack { lazy code to create value } } 20:46
Juerd Is the evaluation order between slack blocks guaranteed? 20:49
i.e. can a subsequent one depend on the value generated by the first one?
leont Mennonites, following Dutchies again… 20:50
Juerd Never mind, I just realized it's a stupid question 20:50
lizmat Juerd: yes
lizmat sorry, that yes was about the question, not your remarks :- 20:51
)
Juerd :)
mithaldu_ TimToady: never heard of them, but due to the war some background is lost, and due to east germany many of the religious connections were broken 20:52
TimToady nodnod 20:53
mithaldu_ also, now that i think of it, my father was adopted, so he may even come from a different family, but took the name
TimToady so maybe you're my fifth cousin-in-law :) 20:55
mithaldu_ haha, maybe :D 20:57
i know of at least two other walde men and they're far apart
Juerd lizmat: catchup's making me drool. This is so cool for quick wins in existing code!
lizmat yeah, I like it too :-) 20:58
TimToady and maybe we're both related to Tiger Woods :)
mithaldu_ hmmm! i never got into golf much ;)
TimToady Walde -> Woods is a pretty common anglicization, I believe 20:59
mithaldu_ wow, yeah, i actually failed to draw the connection 21:02
i nver really translate walde into anything with meaning, mentally
lizmat Juerd: I was thinking of using it in a from-json parser
first find the outer { }, and handle those with a catchup 21:03
just "make catchup { stuff }
"
pmurias everytime we end up with json parsing bottleneck I always wonder how fast would having a nqp::parsejson be ;) 21:05
* bottlenecks
lizmat JSON::Fast is pretty close to that already 21:06
all it needs is some strategic catchup :-)
AlexDaniel tony-o, timotimo: so what's the plan with JSON::Fast? 21:45
is anybody working on making it happen, or is everyone thinking that somebody else will do it? :) 21:46
afaik there's no ticket 21:47
AlexDaniel R#2311 21:55
synopsebot R#2311 [open]: github.com/rakudo/rakudo/issues/2311 [perf] Replace code of the internal json parser with code from JSON::Fast
AlexDaniel there
Herby_ AlexDaniel: I'm not familiar with a lot that is talked about in that ticket but if I'm understanding things right, the proposed changes will significantly speed-up Zef? 22:25
AlexDaniel Herby_: correct, more than 6 times for looking up a module 22:26
you can try something like this:
time zef --dry --/test --/build install JSON::Fast
or any other module
(that is not installed)
Herby_ nice 22:27
AlexDaniel I mean, that line of code does practically nothing (no building, testing or installing performed)
Herby_ i mean that 6x speed up is nice 22:28
AlexDaniel yet it takes 11 seconds for me
Herby_ i'm not able to test that line at the moment
AlexDaniel so a chunk of that will be 6x faster
Herby_ thats great
AlexDaniel 6x as fast to be more precise :)