»ö« 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.
dominix hi there 00:24
I have a simple line that I can not display completely 00:25
(1..2500).hyper.grep( *.is-prime ).perl
is says :"HyperSeq.new(configuration => HyperConfiguration.new(batch => 64, degree => 4))"
dominix if I just "(1..2500).grep( *.is-prime ).hyper.say" 00:26
I just heve the x first primers, but I want the complete list
so I have a 2 problems: 1 where to place the .hyper ? 2: how do I display the complete list ? 00:27
geekosaur dominix, say uses .gist, which truncates. try: (1..2500).grep( *.is-prime ).hyper.eager.perl.say 00:30
the .eager makes it run the hyper instead of just giving you the unevaluated one back
and explicit .perl avoids the truncation by .gist
dominix nice 00:31
thanks geekosaur
dominix is there a rule or a trick that makes me understand where to place .hyper method calll ?$* 00:51
my keyboard is on strike, sorry (he's french) 00:52
geekosaur wherever it's likely to help? generally it's for when you can do processing in parallel; you probably want it to be something worth parallelizing, but that's not something that is readily automated 00:57
AlexDaniel squashable6: next
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈9 hours (2018-04-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Zoffix dominix: .hyper creates a HyperSequence out of regular sequence, which will cause many other operations you tack onto it be processed on multiple threads. To collapse it back to non-paralell, just call .list or .Seq on it. I guess we still need to document the semantics of HyperSeq and RaceSeq, but you can see some of them in this spreadsheet that was used during development: 00:59
docs.google.com/spreadsheets/d/1kp...edit#gid=0 So that would give you a picture of what operations on a HyperSeq do what (some of them collapse it to non-parallel one)
Filed as D#1897 unsure if that stuff was already discussed somewhere 01:02
synopsebot D#1897 [open]: github.com/perl6/doc/issues/1897 [docs] Semantics of HyperSeq/RaceSeq appear to be undocumented
Zoffix dominix: so `(1..2500).hyper.grep( *.is-prime ).perl` will cause that .grep to be executed in parallel, while `(1..2500).grep( *.is-prime ).hyper.say` won't because hyper is *after* the greppage. You can think of it as a pipeline (it doesn't have to be a single method call chain, you can break it up into variables; the pipeline is maintained via iterators). And the place where you stick the hyper will cause 01:04
all the other stuff later in the pipeline to be hypered (according to the semantics in that spreadsheet; some stuff will unhyper it)
dominix thank Zoffix 01:25
Zoffix m: my int $i; say eager Seq.from-loop: { say $i++; last if $i > 10 } 02:39
camelia 0
()
Zoffix Why doesn't that generate 10 things? 02:39
m: my int $i; say eager Seq.from-loop: { say $i++; last if $i > 10 }, {1} 02:40
camelia 0
1
2
3
4
5
6
7
8
9
10
()
Zoffix This version works.... 02:41
Zoffix m: my int $i; say eager Seq.new: Rakudo::Iterator.Loop: {say $i++; last if 0 }; 02:47
camelia 0
()
Zoffix m: my int $i; my $iter := Rakudo::Iterator.Loop: {say $i++; last if 0 }; say $iter.pull-one xx 10
camelia 0
1
2
3
4
5
6
7
8
9
()
Zoffix dafuq?
I see. It stops if body returns an empty Slip 02:52
perlawhirl hi perlers 03:18
Zoffix \o 03:20
kurahaupo_ perlawhirl: good afternoon! 03:29
AlexDaniel squashable6: status 04:09
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈5 hours (2018-04-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel squashable6: status 06:57
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈3 hours (2018-04-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel oh 07:01
squashable6 Webhook for perl6/roast is now active! Approachable is better than simple. 07:03
Webhook for rakudo/rakudo is now active! Anything added dilutes everything else. 07:04
Geth ecosystem/marcoonroad-cuid: 6764d8654e | (Marco Aurélio)++ (committed using GitHub Web editor) | META.list
CUID generator package.

This added Perl 6 package is a port of the famous Eric Elliott's CUID JavaScript package (see usecuid.org :link:).
07:36
ecosystem: marcoonroad++ created pull request #389:
CUID generator package.
07:37
Geth doc: 3916e2e011 | (JJ Merelo)++ | 3 files
Light rehash of CONTRIBUTING documentation

  (pun intended). Including a recommendation on the idiomatic declaration of hashes. Closes #1380.
09:01
Geth doc: c2912b0f54 | (JJ Merelo)++ | 5 files
Moves contribution style and examples docs to new location

Closes #1302
10:03
araraloren_ Thanks to Inline::Perl5@niner :) 10:12
AlexDaniel squashable6: status 10:45
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 2 days and ≈1 hour. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel o yey
Geth ecosystem: 6764d8654e | (Marco Aurélio)++ (committed using GitHub Web editor) | META.list
CUID generator package.

This added Perl 6 package is a port of the famous Eric Elliott's CUID JavaScript package (see usecuid.org :link:).
11:48
ecosystem: 49d6547d14 | nxadm++ (committed using GitHub Web editor) | META.list
Merge pull request #389 from perl6/marcoonroad-cuid

CUID generator package.
squashable6 🍕🍕🍕 First contribution by Kaiepi++! ♥ 12:41
🍕 Kaiepi++ wrote a comment on “users should have access…”: github.com/rakudo/rakudo/issues/16...-379241746 12:43
Herby_ \o 14:19
squashable6 🍕 ugexe++ wrote a comment on commit d9a4a65b1cc5: github.com/perl6/roast/commit/d9a4...t-28452774
🍕🍕🍕 First contribution by ugexe++! ♥
sjn Three pizza slices for ugexe++! 14:20
squashable6 🍕 Kaiepi++ wrote a comment on commit d9a4a65b1cc5: github.com/perl6/roast/commit/d9a4...t-28453570 15:03
araraloren . 15:12
Geth doc: ccworld1000++ created pull request #1900:
Translate README for chinese
15:33
interestedinperl hello? 16:15
anybody there?
skids o/ 16:17
interestedinperl hi... 16:20
skids good day 16:21
interestedinperl Is perl 6 "homoiconic"? 16:29
timotimo i don't think it is, no
interestedinperl But is is "reflective"? 16:30
skids Not homoiconic, but you can play with AST from within the language. 16:30
We call reflection introspection but yes. 16:31
interestedinperl Ok. I found the example with `eval` in this article pretty astonshingL: en.wikipedia.org/wiki/Reflection_(...ogramming)
The example is under Perl, but I'm guessing Perl 6 has the same. 16:32
skids No pretty different. 16:33
skids I'm failing to see how that Perl5 example is "reflection" 16:34
interestedinperl How would `eval "new Foo->hello;"` in the example be coded under Perl 6? 16:35
timotimo depends on how you have access to Foo 16:36
skids We have EVAL, but as a general purpose tool its use is discouraged.
timotimo and which parts are dynamic and which are known when typing the code
i.e. you could go full dynamic with my $classname = "Foo"; my $constructormethod = "new"; my $to-invoke = "hello"; ::($classname)."$constructormethod"()."$to-invoke"() 16:37
interestedinperl Very neat. 16:38
timotimo ::($foo) is lookup in the lexical environment, you might also have the type object in $myclass 16:39
interestedinperl I'm looking to translate a simple, but computationally intensive application written in the proprietary Wolfram Language™. The Wolfram proprietary scheme makes it difficult for me to package my source code as an app and share it with others, free of cost. My source code makes a lot of use of peculiar coding features that are difficult to implement with C/C++. So I've been looking into several different options. Julia and P 16:44
timotimo irc cut the message off after "Julia and P"
interestedinperl ...erl 6 being prominent among them.
timotimo cool :) 16:45
skids When you start using metaprogramming constructs, your code is likely to end up somewhat less efficient at runtime, so... is it computationally intensive in addition to or because of that? :-) 16:46
interestedinperl In addition to!
My program calculates the combinations and permutations of a multiset in real-time from user input.
Fro example, how many combinations and permutations can you obtain from drawing 5 colored candy from a bag containing 20 blue, 3 red, 7 brown, infinite yellow, etc. 16:47
skids m: print bag(1,1,2,3).combinations # We've got some basic combinatorics already. 16:49
camelia 1 2 3 1 2 1 1 2 3 1 1 2 2 1 3 1 2 1 1 2 3 1 2 1
skids Also, there is someone currently very interested in such things IIRC...
interestedinperl A user can drag a slider for his "random selection" and see the output evaluated in real-time. The output is numeric, but... there is an option to have it all visualized too. This one option I can dispense with in my code translation, lol. 16:50
timotimo we don'thave code for infinite of one kind in a bag
Bowlslaw does anyone know of a better way to copy a csv file into a SQLite database than insert statements for every line? I know about the .import command, but I'd rather do it automatically with my program 16:51
interestedinperl timotimo, that's ok. ill be delighted to define my functions for that.
Geth doc: bb2f3b34a2 | (Luca Ferrari)++ | doc/Language/grammars.pod6
Fix proto link broken.

Close issue #1899
Bowlslaw i can't seem to find the COPY FROM statement postgres has, either
synopsebot Link: doc.perl6.org/language/grammars
Geth doc: 6b44916f64 | (Luca Ferrari)++ | doc/Language/grammars.pod6
Fix a typo.
timotimo Bowlslaw: well, you can invoke the sqlite commandline program with Proc::Async and ask it to import for you 16:52
interestedinperl scontent.fbed1-1.fna.fbcdn.net/v/t...e=5B342BED 16:53
timotimo but otherwise i'd recommend Text::CSV, it's thorough and good
Ulti yeah the .import command in SQLite is the most efficient way to get data in too
skids interestedinperl: www.0racle.info/ is a blog from someone currently getting elbow deep in our combinatorics iterators.
Ulti equivalent to the copy from file in postgres 16:54
Bowlslaw timotimo: ahhh, cool, thanks
interestedinperl scontent.fbed1-1.fna.fbcdn.net/v/t...e=5B6B4DE5
Bowlslaw timotimo: I'm looking through the docs of Text::CSV but it's hard to read 16:54
"stupid users" will be using this so...I don't wanna make them learn the sqlite3 cmd line ;p
interestedinperl I bookmarked the link, skids. thank you. 16:55
timotimo your users won't use the sqlite3 cmdline, your program will use it for them :) 16:57
if you decide to go that route
Geth doc: 02fe94fb4b | (Luca Ferrari)++ | CREDITS
Add fluca1978 (myself) to credits.

Never thought about...
16:58
Bowlslaw timotimo: Yes, which is why I'm thinking Proc::Async is the way to go 17:00
araraloren night 17:02
b2gills interestedinperl: I have seen a lot of Julia code that looks similar to Perl 6 (golfing competitions), and have thought of creating Julia-to-Perl6 doc page(s) 17:08
jmerelo b2gills: please do that. By all means. 17:09
jmerelo The admins of the github/linguist repo ask the correct spelling of the documentation part of Perl 6. Is it Pod 6 or Pod6? My answer has been neither, it should be called Pod<non-breaking-whitespace>6. Is that correct? 17:19
interestedinperl Well, I have to go. If any of you are interested in my app. I can only make the source code available to you which you can test in the Wolfram Cloud with a free account. My e-mail: richardsantiago0101atgmaildotcom 17:23
squashable6 🍕 ronaldxs++ opened pull request “Update class-and-instanc…”: github.com/perl6/roast/pull/409 17:29
🍕🍕🍕 First contribution by ronaldxs++! ♥
anonisuser i forgot to ask: when you download perl6 do you get a standalone repl(shell) or text editor for perl6 or do you invoke perl from the command line? 17:59
robertle anonisuser: you get a perl binary that you can invoke, e.g. running a perl "script" from a file. the same binary can be invoked as a REPL. no editor/ide or so included. but whatever text editor you like is going to be ok... 18:04
yoleaux 16:05Z <timotimo> robertle: do you mean the endian swap bug? that pretty much manifests as a crash very early in the nqp build and 100% consistent
anonisuser ok! 18:07
bye...
Bowlslaw loop (my $i = 0; $i < @data.elems; $i + 4) { ... } 18:09
Useless use of "+" in expression "$i + 4" in sink context
is that related to @data.elems ? 18:10
it works when i use $i++
moritz Bowlslaw: you likely want $i += 4
Bowlslaw LOL 18:11
ok i'm dumb
#_#
Bowlslaw think i need a break if i make that mistake 18:13
moritz happens to all of us 18:22
Bowlslaw DWIM has its limits ;p 18:24
moritz speaking of DWIM
if you only need every 4th element of an array, not the index, you can do something like
my @a = 'a'..'z'; say @a[0, 4 ... *] 18:25
evalable6 (a e i m q u y)
[Coke] I think the nbsp is for Perl itself, never seen it applied to the pod. 18:28
Bowlslaw omg 18:30
[Coke] not that neither "pod 6" nor "pod6" appear anywhere in design.perl6.org/S26.html; it's referred to there as "Perl 6 Pod". My personal recommendation would be POD6, but IANL
Bowlslaw moritz: so if I have an array of hashes, I can do - say @[0, 4 ... *]<Date> 18:31
moritz Bowlslaw: no, because @a[...] returns a list, not a hash 18:34
Bowlslaw :O 18:35
tobs but you can >>.<Date> on that list
moritz but you can do @a[...]».<Date> or @a[...].map({ $_.<Date> })
AlexDaniel squashable6: status 18:36
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈17 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel, Log and stats: gist.github.com/0ab61b99614eb9da72...7929e6fc51
Bowlslaw ou, cool
i'm really liking this >> operator...
squashable6 🍕 AlexDaniel++ merged pull request “Update class-and-instanc…”: github.com/perl6/roast/pull/409 18:38
🍕🍕🍕 First contribution by AlexDaniel++! ♥
🍕 AlexDaniel++ wrote a comment on “Update class-and-instanc…”: github.com/perl6/roast/pull/409#is...-379340651
🍕 AlexDaniel++ wrote a comment on “Tests needed for using m…”: github.com/perl6/roast/issues/217#...-379340715
🍕 AlexDaniel++ closed issue “Tests needed for using m…”: github.com/perl6/roast/issues/217
Geth doc: c9b69742a7 | (Will "Coke" Coleda)++ | writing-docs/STYLEGUIDE.md
remove trailing whitespace
18:57
Bowlslaw the Proc::Async documentation is somewhat confusing... 19:12
thought it could be because I don't have the requisite knowledge
AlexDaniel Bowlslaw: if you say that it is confusing, then it probably is 19:15
Bowlslaw: consider filing a doc issue here github.com/perl6/doc/issues/ 19:16
Bowlslaw: with your ideas on how to make it less confusing :)
moritz Bowlslaw: it assumes basic familiarity with promises and supplies/react/whenever
AlexDaniel It does say “Alternatively, you can use Proc::Async without using a react block:” but that doesn't help much IMO 19:18
[Coke] m: unit package A; our sub need() {}; for <s> { A::need } 19:25
camelia Cannot find method 'Nil' on object of type List
in block at <tmp> line 1
in block <unit> at <tmp> line 1
[Coke] golfed an issue I'm having in a perl6-doc branch down to that. 19:26
AlexDaniel I wrote that Proc::Async example hoping that it will answer all questions about Proc::Async for anybody who reaches to this doc page, but now I see that it's overcomplicated if you're just trying to understand what Proc::Async is
so yeah, I guess it should show some minimal helloworld-like example first
AlexDaniel that said, it has to use react IMO, and it probably wouldn't be that much different from the example thats already there… 19:27
'
squashable6 🍕 coke++ opened issue “Cannot find method 'Nil'”: github.com/rakudo/rakudo/issues/1693 19:33
🍕🍕🍕 First contribution by coke++! ♥
AlexDaniel bisectable6: unit package A; our sub need() {}; for <s> { A::need } 19:34
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=fbdffc1). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/6a723e370de877d7bb...673d24844b
AlexDaniel, (2018-02-26) github.com/rakudo/rakudo/commit/4c...be2deedf66
AlexDaniel c: 4c5b81fedb743^,4c5b81fedb743 unit package A; our sub need() {}; for <s> { A::need } 19:35
committable6 AlexDaniel, ¦4c5b81fedb743^: «» ¦4c5b81f: «Cannot find method 'Nil' on object of type List␤ in block at /tmp/Xc6FVE9oZk line 1␤ in block <unit> at /tmp/Xc6FVE9oZk line 1␤␤ «exit code = 1»»
[Coke] AlexDaniel++ thanks
squashable6 🍕 AlexDaniel++ wrote a comment on “Cannot find method 'Nil'”: github.com/rakudo/rakudo/issues/16...-379355503
squashable6 🍕 AlexDaniel++ labeled issue “Cannot find method 'Nil'”: github.com/rakudo/rakudo/issues/1693 19:35
🍕 AlexDaniel++ labeled issue “Cannot find method 'Nil'”: github.com/rakudo/rakudo/issues/1693 19:36
AlexDaniel whoops, fixed wrong link in that comment 19:37
AlexDaniel I wish github waited for at least 5 minutes before sending out emails… 19:38
squashable6 🍕 smls++ opened issue “WhateverCode no longer curries `.&{ }`”: github.com/rakudo/rakudo/issues/1694 19:40
🍕🍕🍕 First contribution by smls++! ♥
squashable6 🍕 AlexDaniel++ labeled issue “WhateverCode no longer curries `.&{ }`”: github.com/rakudo/rakudo/issues/1694 19:42
🍕 AlexDaniel++ edited issue “WhateverCode no longer curries `.&{ }`”: github.com/rakudo/rakudo/issues/1694
squashable6 🍕 AlexDaniel++ edited issue “WhateverCode no longer curries `.&{ }`”: github.com/rakudo/rakudo/issues/1694 19:43
AlexDaniel releasable6: status
releasable6 AlexDaniel, Next release in ≈14 days and ≈23 hours. 8 blockers. 0 out of 166 commits logged (⚠ 9 warnings)
AlexDaniel, Details: gist.github.com/6e1062f6b1d3d85352...05fccc4643
squashable6 🍕 zoffixznet++ self-assigned issue “WhateverCode no longer curries `.&{ }`”: github.com/rakudo/rakudo/issues/1694 20:45
🍕🍕🍕 First contribution by zoffixznet++! ♥
Geth Pod-To-HTML: adebcd17ea | (Zoffix Znet)++ | 4 files
Add License

Closes github.com/perl6/Pod-To-HTML/issues/36
20:48
mr_ron Looks to me like testneeded RT 128624 already has test at end of S32-container/buf.t from common fix for RT 128655
synopsebot RT#128624 [open]: rt.perl.org/Ticket/Display.html?id=128624 Buf initialization error
RT#128655 [resolved]: rt.perl.org/Ticket/Display.html?id=128655 [OPTIMIZER] Mixup in candidates through optimizer
squashable6 🍕 zoffixznet++ self-assigned issue “Cannot find method 'Nil'”: github.com/rakudo/rakudo/issues/1693 20:49
squashable6 🍕 smls++ opened issue “In `for` loop nested ins…”: github.com/rakudo/rakudo/issues/1695 20:57
Zoffix mr_ron: yeah, it's the same bug. Fixed in github.com/rakudo/rakudo/commit/29...df2777fb11 tested in github.com/perl6/roast/commit/32ac...6f07f0dc76 20:58
Gonna close that RT
squashable6 🍕 zoffixznet++ self-assigned issue “∞ is reported as Inf in warnings”: github.com/rakudo/rakudo/issues/1696 21:00
🍕 zoffixznet++ opened issue “∞ is reported as Inf in warnings”: github.com/rakudo/rakudo/issues/1696
🍕 zoffixznet++ labeled issue “∞ is reported as Inf in warnings”: github.com/rakudo/rakudo/issues/1696
🍕 zoffixznet++ self-assigned issue “In `for` loop nested ins…”: github.com/rakudo/rakudo/issues/1695 21:01
🍕 zoffixznet++ labeled issue “In `for` loop nested ins…”: github.com/rakudo/rakudo/issues/1695 21:02
Zoffix Damn, all these things I broke.... 21:04
ZofBot: I thought I was perfect!
ZofBot Zoffix, And Father said he would pay someone £50 to do it after school and he wasn’t going to take no for an answer
AlexDaniel Zoffix: well, 1) we're moving very fast 2) we don't have enough tests. So-o… if only there was a hackathon for writing tests :) 21:22
AlexDaniel squashable6: status 21:22
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈14 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel, Log and stats: gist.github.com/92ee1de32e6472c4f8...8910046183
AlexDaniel it's not Saturday here yet and I'm kinda tired today though 21:23
oh… 00:23! Oops
Geth rakudo: cfc6b1094c | (Zoffix Znet)++ | src/Perl6/Actions.nqp
In tweak_loop: Add node refs / clean up a bit

A bit of prep for fixing R#1623
  github.com/rakudo/rakudo/issues/1623
21:28
synopsebot R#1623 [open]: github.com/rakudo/rakudo/issues/1623 Phasers FIRST/LAST in sub-loop doesn't compile: Cannot reference undeclared local 'LOOP_BLOCK_1'
Zoffix I still don't fully get when code objects need clonning. In `loop { FIRST Nil }` the block get shoved into the var and just called without a clone, but in `sub { loop { FIRST Nil } }` we make `Seq.from-loop` and give the block to it as an arg, and there we clone. So why is it needed in one place but not in the other? Is it cause in the arg case it'll be executed in some scope other than the current one? 21:32
Zoffix Actually, why is Seq.from-loop made in the first place in that case :/ 21:52
Zoffix Oh, we don't in that case, but we do in sub { loop { FIRST Nil; LAST Nil } } :S 21:53
squashable6 🍕 AlexDaniel++ self-assigned issue “New memory leak in whateverable”: github.com/rakudo/rakudo/issues/1686 21:55
squashable6 🍕 smls++ opened issue “Bogus "Useless use" warn…”: github.com/rakudo/rakudo/issues/1697 22:13
🍕 zoffixznet++ wrote a comment on “Bogus "Useless use" warn…”: github.com/rakudo/rakudo/issues/16...-379399348 22:16
Zoffix buggable: pizzame 23:19
buggable Zoffix, enjoy this slice of Double Cheese pizza, my friend! Yummy 🍕
Zoffix \o/