»ö« 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.
vrurg .seen TimToady 00:02
tellable6 vrurg, I saw TimToady 2019-07-22T20:38:55Z in #perl6-dev: <TimToady> ␁ACTION had the power company swapping his electric meter, and it broke my / key␁
rindolf hi all! my twitter is full of crazy but true stuff now - twitter.com/shlomif
i'm hypomanic and paranoid 00:03
vrurg: wow
Geth_ whateverable: taboege self-assigned Tellable should format CTCP ACTION github.com/perl6/whateverable/issues/360
taboege++ created pull request #362: Tellable: format CTCP ACTION
00:48
AlexDaniel tobs: I'm actually not sure if tellable even records actions 00:50
AlexDaniel foo
.seen AlexDaniel
tellable6 AlexDaniel, I saw AlexDaniel 2019-09-18T00:50:55Z in #perl6: <AlexDaniel> ␁ACTION foo␁
AlexDaniel ok it does… 00:51
but some ACTION lines came from yoleaux 00:52
.seen talexb
tellable6 AlexDaniel, I saw talexb 2015-12-27T05:01:09Z in #perl6: <talexb> ␁ACTION loves maxing out his Interwebs connection by pulling down all of github ..␁
AlexDaniel ok then it's probably easier than I thought :) 00:53
tobs AlexDaniel: what do you mean? yoleaux impersonated people?
oh, good, I thought it was very easy :)
AlexDaniel tobs: I was just wondering if yoleaux stored them the same way tellable6 does now 00:54
tobs: in this case my message (a minute ago) was recorded by tellable6, but TimToady's message was probably recorded by yoleaux
tobs ah, that's something a test wouldn't have caught indeed
AlexDaniel how old are you, tellable6? 00:55
something they should probably know how to respond to :D
Kaiepi posted part 2 of my series of metaprogramming q&as on so stackoverflow.com/questions/579829...7#57982957 01:07
AlexDaniel tobs: brilliant 01:22
tobs: but… bridged /me?
is the test doing what it is supposed to do? :)
tobs I think a bridged user could write a message that inserts a /me-lookalike into the message db, right? 01:23
I don't think it's useful, no
at least that's what it's supposed to test 01:24
AlexDaniel tobs: so if let's say someone /me's from Discord, what discord6 is going to print? 01:25
is it going to /me itself or is it going to say “<user> ACTION blah blah”
tobs probably the latter, right... 01:27
AlexDaniel I think the former would be more logical, but we don't have an example of that so there's not much to do or test? 01:28
tobs so let's say CTCP is an IRC thing and just test :!both? :)
AlexDaniel it's not strictly an IRC thing, it exists in Matrix and even in Skype…
I don't know if discord has it
timotimo: ?
tobs oh, TIL 01:29
AlexDaniel the question is how bridges are handling it 01:30
but yeah, maybe :!both for the time being
tobs AlexDaniel: updated 01:32
Geth_ whateverable: a600ecb54f | (Tobias Boege)++ | 2 files
Tellable: format CTCP ACTION

Closes #360
01:34
whateverable: 0357ee557c | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | 2 files
Merge pull request #362 from taboege/tellable-ctcp-action

Tellable: format CTCP ACTION
tobs AlexDaniel: as for the bot age, that could be hardcoded, right? In some kind of %?RESOURCES<bot-birth.json> 01:37
AlexDaniel yells 01:39
tellable6: AlexDaniel
tellable6 AlexDaniel, I saw AlexDaniel 2019-09-18T01:39:20Z in #perl6: * AlexDaniel yells
AlexDaniel tobs++ 01:41
tobs: maybe peek into the git history? :D
if it's not in the git repo, then answer “I don't know”
tobs git log --follow is how that file could be created, or the command could be used directly 01:42
I didn't know if the git repo is usually available on the server
AlexDaniel it is 01:43
I just git pull when new stuff is committed
AlexDaniel this does seem to work: git log --format="%aI" --follow xbin/Bisectable.p6 01:51
so the last line is the actual date
Geth_ whateverable: taboege self-assigned How old are you? github.com/perl6/whateverable/issues/361
taboege++ created pull request #363: Answer “how old are you” and “age” queries
01:57
tobs that should be doable
hythm m: say sort < z a >; say sort < zz aa >; # is there a difference in sorting characters and words? in case of sorting words, does that mean that the sort function splits each word into characters then compare each character with the respective character from the second word? 02:48
camelia (a z)
(aa zz)
hythm rephrasing, what actually happens when passing two words ( for example 'hello world') to the`sort function? 02:51
AlexDaniel hythm: sooo… good question, can you file a doc ticket for it? Basically, sort should use cmp, so we should look at how cmp compares strings. But cmp for Str is not currently documented 03:20
hythm: but anyway, that should call nqp::cmp_s which then seems to go to moarvm MVM_string_compare 03:21
github.com/MoarVM/MoarVM/blob/b2dc...2364-L2484
here
hythm: so it compares character by character, if all characters were same then the longest string wins 03:27
well… graphemes, surely
hythm: so yes, when comparing ‘hello’ and ‘world’ it'll look at ‘h’ and ‘w’ and that'd be it 03:28
hythm Thanks AlexDaniel. opened #3026 03:30
makes sense, but I'm still confused by: 'apple app'.sort and 'apple app'.words.sort 03:31
m: say 'apple app'.sort; say 'apple app'.words.sort; 03:32
camelia (apple app)
(app apple)
AlexDaniel m: dd 'apple app'.sort; dd 'apple app'.words.sort;
camelia ("apple app",).Seq
("app", "apple").Seq
AlexDaniel hythm: in the first case it just treats it as a list with a single item
hythm: so there's nothing to sort, it's just one item 03:33
hythm makes sense
thanks
AlexDaniel for apple and app “app” part will match, so the longer string is More
m: say ‘apple’ cmp ‘app’
camelia More
hythm right 03:34
lizmat weekly: Itch.scratch() | Damian Conway 07:05
notable6 lizmat, Noted! (weekly)
lizmat weekly: blogs.perl.org/users/damian_conway/...ratch.html
notable6 lizmat, Noted! (weekly)
ufobat good morning :) 07:50
El_Che lo
AlexDaniel El_Che: radkudoc?? Please fix it :D 07:52
Kaiepi m: class Foo { our $*BAR := 1 }; say Foo::<$*BAR> 08:00
camelia (Any)
Kaiepi m: class Foo { our $*BAR := 1 }; say Foo::<$BAR>
camelia (Any)
Kaiepi m: class Foo { our $*BAR := 1 }; say Foo::<BAR>
camelia (Any)
Kaiepi m: class Foo { our $*BAR := 1 }; say Foo::.keys 08:00
camelia ($*BAR)
Kaiepi m: class Foo { our $*BAR := 1 }; say Foo::<($*BAR)> 08:01
camelia (Any)
Kaiepi ?
m: class Foo { our $*BAR := 1 }; say Foo::{"(\$*BAR)\n"} 08:02
camelia (Any)
abraxxa lizmat: Damians issue sound like a use for a phaser to me 08:27
lizmat fwiw, I usually do the "if @values { for @values { } } else { }" 08:28
lizmat abraxxa: phaser how ? 08:29
for @values { NONE say "no values" } ? 08:30
for @values { NEVER say "no values" } ?
feels weird to me
abraxxa lizmat: docs.perl6.org/language/phasers#FIRST 08:31
all phasers are weird to me because no language I had used had such a thing
lizmat abraxxa: but that's the point: if @values is empty, it will never call FIRST either
abraxxa so I'd add a new phaser, not an else 08:32
abraxxa I would have preferred syntax like else over phasers everywhere, because the phasers are inside a block instead of after it 08:33
mixing those two constructs feels weird
lizmat all of the other phasers are only called if the block is actually executed
phaser being able to share a lexical scope, is a very powerful thing
El_Che AlexDaniel: lol, add dyslexia to the list :) 08:44
daxim perl6.org/compilers/features is 404 08:49
holyghost I'm going to do a bit of psp-gcc for the PF&&PM, I can do my Cell system code in it (which I need to read a bit more for) 09:55
holyghost psp == Playstation Portable, a nice MIPS system 09:56
R9000 processor such as for IRIX systems, SGI's processor 09:58
There is no R9000 computer however, it was made for the PSP
lizmat completely OT, but a little claim to fame of yours truly: www.bitsgalore.org/2019/09/09/reco...rchaeology 10:37
tyil AlexDaniel: I make PRs because I like having other people confirm that I'm not doing shit I'm not supposed to do 11:25
additionally, it helps make more people aware of things that have changed
daxim psp is a shit system (in the general sense, not for its intended purpose). it can't even run userland linux programs because its hardware lacks a feature that was standard for 30 years or something. I didn't even know such a thing is possible 12:24
timotimo reminds me of the nintendo DS; it lacks an MMU, since it's not meant to run more than one thing at the same time, so the most linux you can get is an uclinux 12:30
tbrowder hi, i am having no success with "zef install Perl6::TypeGraph". zef reports it can't be found. i am using lalest zef and raku 2019.03 12:54
tellable6 2016-11-16T13:14:59Z #perl6 <moritz> tbowder: original content is preferred, but you can adopt existing articles if they haven't had too many readers yet
2017-12-07T02:53:09Z #perl6 <thou> tbowder: maybe you're interested in this prior work (older, but might help you?) on pod tables inside rakudo: github.com/rakudo/rakudo/compare/pod-table
tbrowder can anyone dup the problem or report install ok if you have the time? 12:56
thnx
whoa! tellable dredges up the deep past 12:58
moritz messages from 2016, wow!
[Coke]_ tbrowder: WFM. I already had it installed, but if I add --force-install it went and found a candidate and installed it 13:01
tbrowder ok, thnx! 13:02
jjatria I also already had it installed, but if I try --force-install it says "No candidates found matching identity: Perl6::TypeGraph" 13:03
[Coke]_ gist.github.com/coke/33c63ab061684...8a943ff9a2 13:04
(with my zef install) 13:05
[Coke] ah. the "via local cache" in mine is probably of interest. 13:09
I don't see a zef command line option related to cache. 13:10
jjatria I was using zef 0.6.6 but bumping to 0.7.4 makes no difference 13:13
SmokeMachine g 13:35
sorry...
SmokeMachine vrurg: what about? github.com/FCO/Red/issues/400#issu...-532686541 13:36
melezhik I run external command though run/Proc::Async/shell on windows, in all cases it seems the current environment ( PATH and other env vars ) is not propagated to the launched process . What can I do about it? 15:50
melezhik this for example means that `run "perl6.bat", "--version"` would succeed , but `run "perl6", "--version";` won't; normally in my current shell perl6 is available both as perl6, perl6.bat, but when I run it though 16:13
[Coke] run takes an :env parameter.
melezhik though `run ...` new windows environment misses `perl6` "shortcut"
[Coke] looks like it's supposed to default to %*ENV, though 16:14
melezhik @coke can't see how to run `run` with `:env`, I am reading this - docs.perl6.org/routine/run 16:15
[Coke] running perl6 itself is probably better done with $*EXECUTABLE, but I get your point. 16:16
look for :$env
melezhik yeah, the problem with ANY executable which has alternative alias `foo`, `foo.bat` 16:17
for example with scripts get installed as a part of zef modules
into C:\rakudo\share\perl6\site\bin
I never manage to run them as `run "foo"` 16:18
I need to use `run "foo.bat"`
tbrowder [Coke]: i can now install the problem child. seems like i needed to update several dependencies with problems.
melezhik which obviously is not a solution because I can't control further executable calls ( which uses normal `foo` notation ) happening from those scripts 16:19
[Coke] env can be specified with run(..., :env($*ENV)) - but that should be the default.
Are you sure it's a pathing issue and not a "how to invoke .bat files on windows" issue? 16:20
tbrowder another install issue: two different modules have "resources" dirs and both list the files there inside the META6.json. however, the zef installation places the resources on the local install location but the other (Documental) doesn't!!! 16:22
is there any hiddenbmagic
*hidden magic to make that work? 16:23
tbrowder zef is the first of the "two" modules being compared. 16:24
Doc_Holliwood docs.perl6.org/language/structures, I think
"..., deepmap can perform more complicated operations:" should read ""..., duckmap can perform more complicated operations:"
melezhik @coke that's good question. but now I can't just run `foo` executable through `run`/`Proc.new`/`shell` 16:27
Doc_Holliwood `run "cmd.exe", "/c", "foo.bat";` should work. 16:32
melezhik Doc_Holliwood I need without `.bat` 16:33
just `foo` (((=:
Doc_Holliwood batch files need a shell that interprets them. that's why a bare run won't work. Using the "/c" flag, you can tell cmd.exe to run a command and then exit
Doc_Holliwood it should work without foo i think 16:34
w/o .bat i mean
melezhik yeah, let me try
Doc_Holliwood , it works! thanks, let me test this approach against my code 16:35
Geth_ doc: zostay++ created pull request #3027:
Fixing a very small error in Baggy
18:31
discord6 <RaycatWhoDat> Does anyone here use Perl 6 in lieu of C++/D/Rust? If so, how? If not, why and what do you use instead? 18:45
vrurg RaycatWhoDat: what is C++/D/Rust? (just kidding) 18:49
timotimo GNU/Linux/Windows/BSD 18:51
discord6 <Rogue> running WSL in a windows VM on BSD
<Rogue> that's how I operate
<RaycatWhoDat> Muh semantics 18:52
<RaycatWhoDat> C++, D, or Rust*
<RaycatWhoDat> Putting that aside, the question remains. 18:53
timotimo perl 6 is good enough for almost everything i do, except for developing moarvm (which is written in C) and doing in-browser stuff, where i go with javascript 18:54
discord6 <Rogue> I don't think we're quite there for super performance-critical stuff
timotimo i sprinkle my performance-critical code with nqp ops 18:55
it's okay, since i'm a core developer, lol
discord6 <Rogue> but most stuff doesn't have to be
vrurg RaycatWhoDat: I meant not semantics but the fact that I use none of them. Though interested in Rust and trying to learn it at my spare time.
timotimo memory usage can be a concern, though
discord6 <Rogue> A lot of performance-critical code is already there, ready for use in a C lib
timotimo true, nativecall is good for that 18:56
discord6 <RaycatWhoDat> So, it sounds like Lua in the sense that you'd use an FFI for performance-critical things? 19:00
<Rogue> Well, except that our performance is probably better than Lua in general and should only get better over the next few years
timotimo except when you use luajit
it's not possible to have better performance than luajit 19:01
discord6 <Rogue> outside of super critical things, Perl 6 can handle 19:01
sena_kun thinks if there is anything as powerful/expressive as Perl 6 and is as fast as C (even better if faster :P), the world is saved. the issue is you often can't have a cake and eat it too and need to trade one for another. 19:02
timotimo, re luajit: ooc is it an exaggeration or? I suspect lua is pretty simple language (well, compared to) and so can be compiled very efficiently, right? 19:03
Grinnz sena_kun: i've heard D expressed as a middle ground there. though definitely not as expressive 19:04
timotimo i think one thing about luajit is that the jit itself is also tiny, so it tends to fit into instruction caches or so?
but luajit tends to outperform just about anything, at least last time i looked at much of anything
discord6 <RaycatWhoDat> D is pretty expressive. UFCS is sweet.
<Rogue> I think benchmarks only take you so far 19:05
<Rogue> In the sense that they can only give you an approximation of how real code will perform
timotimo at least multithreading in perl6 is very easy 19:06
fingolfin58 How to join saveral arrays to single one? 19:31
sena_kun join? 19:32
m: my @a = <1 2 3>; my @b = <4 5 6>; join @a, @b;
timotimo concatenate i think?
camelia ( no output )
sena_kun m: my @a = <1 2 3>; my @b = <4 5 6>; say join @a, @b;
camelia 41 2 351 2 36
timotimo no, that join is about strings
sena_kun oh
timotimo you'll want to combine "flat" and the , operator 19:33
sena_kun m: my @a = <1 2 3>; my @b = <4 5 6>; my @a = |@a, @b;
camelia 5===SORRY!5===
Cannot use variable @a in declaration to initialize itself
at <tmp>:1
------> 3a = <1 2 3>; my @b = <4 5 6>; my @a = |@7⏏5a, @b;
expecting any of:
prefix
Other potential difficulties:
Redeclaratio…
timotimo m: my @a = <1 2 3>; my @b = <9 8 7>; my @result = flat @a, @b; say @result.perl
sena_kun m: my @a = <1 2 3>; my @b = <4 5 6>; say |@a, @b;
camelia [IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3"), IntStr.new(9, "9"), IntStr.new(8, "8"), IntStr.new(7, "7")]
123[4 5 6]
timotimo right, intstr is what <> will make out of number-looking things
sena_kun ok, I am just not very smart today
m: my @a = 1, 2, 3; my @b = 4, 5, 6; my @c = flat @a, @b; 19:34
camelia ( no output )
sena_kun m: my @a = 1, 2, 3; my @b = 4, 5, 6; my @c = flat @a, @b; say @c;
camelia [1 2 3 4 5 6]
sena_kun fingolfin58, ^
Elronnd can we make camelia display the result of the expression if there's no output? 19:35
(Or, maybe, even if there is?)
sena_kun Elronnd, patches are welcome, I think...
camelia, source
hmm
camelia, help
camelia sena_kun: Usage: <(rakudo-moar|p5-to-p6|nqp-moarvm|star-m|debug-cat|nqp-jvm|rakudo-jvm|prof-m|nqp-js|nqp-m|sm|j|nqp-q|rakudo|rm|star|p6|r-j|master|nqp-mvm|m|perl6|nqp|rj|r-m|r|r-jvm|p56)(?^::\s(?!OUTPUT)) $perl6_program>
sena_kun github.com/perl6/evalbot 19:36
fingolfin58 Thanks! my @a = 1, 2, 3; my @b = 4, 5, 6; my @c = flat @a, @b; say @c; is I want. 19:38
sena_kun fingolfin58, you are welcome!
Elronnd can you 19:39
m: my @a = 1, 2; my @b = 3, 4; say my @c = flat @a, @b; 19:40
camelia [1 2 3 4]
Elronnd yay!
sena_kun m: my @a = 1,2; my @b = 3,4; .say for |@a, |@b; 19:40
camelia 1
2
3
4
19:41
sena_kun oddly enough, I can't remember a case where I had to concatenate lists, but I recall cases like the above one, when you need to iterate a couple of sources. 19:42
AlexDaniel Elronnd: how would you know? It just executes a file 22:04
Hey RaycatWhoDat
Elronnd m: say EVAL "my @a = 1, 2, 3; my @b = 4, 5, 6; my @c = flat @a, @b;" 22:14
camelia [1 2 3 4 5 6]
Elronnd the value of EVAL is the value of the last expression 22:15
discord6 <RaycatWhoDat> it me
<RaycatWhoDat> Sup, AlexDaniel
AlexDaniel RaycatWhoDat, is there an alternative to /me on discord? 22:18
like 22:19
AlexDaniel scratches his head
discord6 <RaycatWhoDat> /me is /me everywhere.
AlexDaniel hmmm so did you just /me ? :)
discord6 <RaycatWhoDat> shrugs 22:20
AlexDaniel oh
tobs: ↑ :)
m: say ‘’.uniname 22:21
camelia <control-001D>
AlexDaniel m: say ‘’.ord
camelia 29
tobs AlexDaniel: it messes up my REPL when I try to see if it exists, so it exists :) 22:26
AlexDaniel tobs: github.com/perl6/whateverable/issu...-532889801
tobs it's completely invisible here 22:27
AlexDaniel emacs++ for showing control characters :) 22:28
(and yes I'm using emacs to be on IRC) 22:29
discord6 <RaycatWhoDat> ERC or Circe?
AlexDaniel ERC
discord6 <RaycatWhoDat> Fair deal.