»ö« 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:07 aindilis joined
[Coke] . 00:18
IOninja :
00:21 _28_ria joined 00:24 TeamBlast joined 00:26 Sound left
IOninja What's :exclusive mode in open? 00:31
I'm guessing some sort of locking to prevent another open, but it don't seem to be doing anything.... 00:34
`perl6 -e 'my $x = "foo".IO.open: :rx; my $y = "foo".IO.open: :rx'` don't throw no exceptions. 00:35
geekosaur my guess would be O_EXCL: used when creating a file, to ensure it won't overwrite an existing one
but, that should not have succeeded 00:36
(wonder if it's implemented yet. there's some stuff open has documented but not implemented yet, in part because libuv doesn't expose them (or expose them in a usable form) 00:37
IOninja Ah, it does work.
BenGoldberg Does open return a failure or throw an exception?
IOninja Returns a Failure
BenGoldberg So after opening twice and assigning to $x and $y, are they both not-failures? 00:38
00:38 thundergnat left
IOninja They're failures. I was just not doing anything else with them so there's no throwage 00:39
BenGoldberg s: "foo".IO, 'open' 00:40
m: dd &open 00:41
camelia Sub open = sub open (| is raw) { #`(Sub|38078360) ... }
IOninja s: "foo".IO.open, 'open', \()
SourceBaby IOninja, Something's wrong: ␤ERR: Could not find candidate that can do \()␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
BenGoldberg s: "foo".IO, 'open', \() 00:42
IOninja s: "foo".IO.open, 'open', \(:r)
SourceBaby IOninja, Something's wrong: ␤ERR: Could not find candidate that can do \(:r)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
IOninja you lie!
BenGoldberg bops IOninja for making SourceBaby ignore him. :P
IOninja s: "/home/zoffix/.bashrc".IO.open, 'open', \(:r)
SourceBaby IOninja, Sauce is at github.com/rakudo/rakudo/blob/6060...dle.pm#L13
IOninja Success.
Your own fault :P 00:43
buggable: eco Sourcery 00:44
buggable IOninja, CoreHackers::Sourcery 'Helper for showing actual source code locations of core subs and methods': github.com/zoffixznet/perl6-CoreHa...s-Sourcery
AlexDaniel considers this as a bug in the bot
ah no
IOninja ^ the bot just uses that. So you can use it yourself.
AlexDaniel nevermind, I'm blind again today
IOninja AlexDaniel: which part?
AlexDaniel IOninja: ignore me, I'm stupid
IOninja OK :)
00:47 espadrine left
BenGoldberg docs.perl6.org/type/IO#sub_open doesn't show :x ... is this a doc bug? 00:49
IOninja Yes, but covered under IO grant, so will be fixed soon. 00:50
00:52 lukaramu_ left
AlexDaniel buggable: tag REGRESSION 00:57
buggable AlexDaniel, There are 15 tickets tagged with REGRESSION; See perl6.fail/t/REGRESSION for details
01:01 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo .tell spebern i didn't see anyone suggest it, but here's how to have an array of structs: github.com/jonathanstowe/NativeHelpers-Array 01:03
yoleaux timotimo: I'll pass your message to spebern.
IOninja huggable: array of structs :is: github.com/jonathanstowe/NativeHelpers-Array
huggable IOninja, Added array of structs as github.com/jonathanstowe/NativeHelpers-Array
IOninja Wonder if this is a bug. Seems Seq's .sink-all method isn't called unless it's explicitly sunk? gist.github.com/zoffixznet/353048b...73de92523d 01:21
I meant the Seq's iterator's .sink-all method 01:33
m: my $s = Seq.new: class :: does Iterator { method pull-one {}; method sink-all { say "sunk " } }.new; $s 01:36
camelia WARNINGS for <tmp>:
Useless use of $s in sink context (line 1)
IOninja m: my $s = Seq.new: class :: does Iterator { method pull-one {}; method sink-all { say "sunk " } }.new; sink $s
camelia WARNINGS for <tmp>:
Useless use of $s in sink context (line 1)
sunk
IOninja m: my $s = Seq.new: class :: does Iterator { method pull-one {}; method sink-all { say "sunk " } }.new; $s.sink
camelia sunk
IOninja u: UNAMUSED FACE
unicodable6 IOninja, U+1F612 UNAMUSED FACE [So] (😒)
IOninja Now I vaguely remember a convo about this not being abug; but don't remember why
01:45 titsuki left 01:52 Cabanossi left 01:53 gdonald left, gdonald joined 01:54 Cabanossi joined 02:00 _28_ria left 02:06 aborazmeh left 02:23 cosimo left 02:30 cosimo joined 02:35 cpage_ joined 02:45 ilbot3 left 02:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 02:53 wamba joined 02:54 pytuger joined 03:02 xtreak joined 03:05 BenGoldberg left 03:13 gdonald left, gdonald joined 03:30 khw_ left 03:33 noganex joined 03:35 noganex_ left 03:48 wamba left 04:11 mcmillhj joined 04:21 Cabanossi left 04:24 Cabanossi joined 04:33 llfourn joined 04:45 Cabanossi left 04:48 Cabanossi joined 05:03 sukrishn left 05:05 AlexDaniel left 05:09 Actualeyes left, skids left 05:12 sukrishn joined 05:29 llfourn left 05:31 gdonald left 05:32 gdonald joined, Cabanossi left 05:33 mcmillhj left, Cabanossi joined 05:41 faraco joined, curan joined 05:44 kurahaupo left 05:45 mcmillhj joined 05:50 mcmillhj left 05:55 xtreak left 06:01 mcmillhj joined, Cabanossi left, xtreak joined 06:03 Cabanossi joined 06:06 mcmillhj left 06:17 mcmillhj joined 06:18 _28_ria joined 06:22 mcmillhj left 06:23 mcmillhj joined 06:27 domidumont joined 06:28 melezhik left 06:31 mcmillhj left 06:33 domidumont left 06:34 domidumont joined 06:36 darutoko joined 06:42 wamba joined 06:45 mcmillhj joined 06:46 domidumont left, Actualeyes joined 06:50 RabidGravy joined, mcmillhj left 06:58 rindolf joined 07:04 domidumont joined 07:07 mcmillhj joined 07:12 platon joined, mcmillhj left, platon is now known as Guest21570 07:17 xtreak left 07:19 xtreak joined
pytuger has this been completely removed from perl6 07:21
for($x = 0; $x > 10; $x++) {say($x);}
I got the message "Null PMC access in get_string()", but I was not sure if there was a newer implementation (considering I just found out about "for (@l1, @l2, @l3) -> $_ { say($_); }" ) 07:22
07:26 mcmillhj joined
El_Che pytuger: docs.perl6.org/language/control#loop 07:27
Although there is a warning in the last rakudo it seems 07:28
p6: loop (my $i = 0; $i < 10; $i++) { say $i }
camelia 0
1
2
3
4
5
6
7
8
9
07:29 titsuki joined 07:30 ufobat joined
El_Che In rakudo 2017.02 I get this warning after the result (in perl6 repl): Type check failed in binding to $value; expected Any but got Mu (Mu) in any interactive at src/Perl6/Compiler.nqp line 62" 07:30
07:30 mcmillhj left 07:31 Actualeyes left, Cabanossi left
pytuger El_Che, thank you 07:32
07:33 Cabanossi joined, xtreak left 07:34 xtreak joined 07:44 mcmillhj joined 07:47 cpage_ left 07:48 mcmillhj left 07:54 mcmillhj joined 07:58 mcmillhj left
arnsholt pytuger: If you get that literal error message, I think your Rakudo is running on *Parrot* which is positively ancient 08:02
Paleolithic even, at this point
samcv pytuger, I would implore you to install Rakudo Star from rakudo.org/how-to-get-rakudo/ 08:05
faraco m: say $*PERL.version
camelia v6.c
faraco hmm, how can I get the alpha, patch, minor version of the interpreter? 08:06
08:06 xtreak left, bjz joined
faraco like, when invoking perl6 -v 08:06
08:06 Guest57537 is now known as matt_ 08:08 xtreak joined, abraxxa joined, cpage_ joined
pytuger samcv, arnsholt, perl6 -v gives "This is perl6 version 2014.07 built on parrot 6.6.0 revision 0" I did get from source however 08:09
I shall check the url
samcv yep. that is quite old
pytuger thank you good sir
08:09 eyck joined
samcv are you on linux? 08:09
08:09 bjz_ joined
faraco he probably 'sudo apt-get install perl6' 08:10
whoops, parrot
samcv i don't think there's a perl6 package on debian?
there is a rakudo in debian unstable but i cannot recommend it 08:11
faraco 'sudo apt-get install parrot' is what I meant.
samcv oh
El_Che what do you run?
samcv me?
El_Che I have ubuntu and centos packages, no debian yet
pytuger There is no perl6 package for debain, i used git to get source into /usr/src/ and followed the instructions from there
El_Che samcv: no :)
08:12 bjz left
samcv pytuger, you might want to try rakudobrew 08:12
pytuger yes, such was my mistake
samcv github.com/tadzik/rakudobrew
it will do all the compiling for you and is automated and stuff
pytuger there is an apt-get for rakudo however
hobbs samcv: "perl6" is a virtual package provided by rakudo
El_Che pytuger: I'll create debian packages soonish at github.com/nxadm/rakudo-pkg
samcv and help you install the package manager zef (i recommend that. but there's also panda package manager)
oh ok hobbs
hobbs and on stable it's 2014.07
pytuger butEl_Che thanks for heads up
samcv but rakudobrew is great and will compile moarvm, nqp and perl6 by itself. very nice 08:13
faraco not a user of Debian, but what is this - packages.debian.org/jessie/perl6
El_Che pytuger: although I'm pretty sure the Ubuntu packages will install on debian (they only use /opt/rakudo and don't touch the system)
pytuger faraco, apt-cache search perl6 yeilds nothing on my debian 8 system
faraco oh..rakudo 08:14
'sudo apt-get install rakudo'
not so sure if updated
El_Che pytuger: I will try to squeeze some time to create the debian packages, they are probably just the same as the ubuntu one.
jast the version in debian 8 is almost three years old, though
pytuger "(04:12:42 AM) pytuger: there is an apt-get for rakudo however"
samcv rakudobrew is like super easy though. and much easier to get the latest perl 6
El_Che pytuger: go for the rakudo star release at the moment: rakudo + base modules 08:15
samcv much easier than cloning three different repos and installing them all in the right order
is rakudostar easy to install?
i've never done it
faraco that binary?
08:15 mcmillhj joined, SCHAAP137 left
hobbs samcv: you don't have to though, actually :) 08:15
El_Che samcv: it seems to be the consensus that we don't recommend rakudobrew to users, but to perl6 devs (hence my packages).
pytuger El_Che it will take me time to transition from cpanm on perl5 but I shall work to transition to perl6 quickly
samcv oh ok El_Che
i found rakudobrew horrible for deving 08:16
El_Che faraco: rakudo star compiles locally on linux, but it's easy. Pkgs for mac and windows
samcv because it is all automated. i need to work on moarvm or on nqp or on rakudo. not have it all install it all at the same time
but i guess for minor contributions it can be fine. but i guess when you start working on moar and nqp and rakudo it's better to have seperate repos
pytuger my $laugh = 'lol'; $laugh.uc.say; #this reminds me of ruby for w/e reason 08:17
samcv at least personally
El_Che pytuger: my workflow is (mostly with docker intended): I take the packages here (github.com/nxadm/rakudo-pkg/releases) and use "zef" as a cpanm/cpan client
faraco man, if rakudo on debian is very old, I probably gonna use and package rakudo star for Debian or at least Ubuntu launchpad repo (where apt-add-repository && apt-get install rakudo)
samcv nice faraco++ please do
pytuger El_Che I've heard more good things than bad with zef as opposed to panda.
samcv i mean we have binaries for mac and windows. but only source for linu
El_Che pytuger: there are only centos7 (what works standardizes on) and ubuntu (what I use) packages.
pytuger: what I can say is that the zef dev is very accessible. 08:18
pytuger I will try to suck up all information like a sponge
El_Che pytuger: he helped me to figure out how to get zef in my packages in a sane way
pytuger: e.g., if you want to use zef with the rakudo the packages install I use this: github.com/nxadm/rakudo-pkg/blob/m...as_user.sh 08:19
(there is also a as_root one)
pytuger Is the perl5 community (developers for modules like Paranoid::Network) planning to port over to perl6? (or is that a don't hold your breath question)
El_Che that's the nice thing about zef, out of the box in the home of the user 08:20
08:20 mcmillhj left
pytuger I know python3.6 has already ported things like paramiko for SSH 08:20
and asyncio (but thats for coroutines so of course they would port that)
El_Che pytuger: python 3 is the next version of 2. That's not the case with Perl 5 -> 6. 2 languages, 1 family. 08:21
I use perl 5 and 6 happily next to each other 08:22
pytuger interesting
08:22 zakharyas joined
pytuger thank you for the zef_as_user.sh url El_Che 08:23
El_Che pytuger: for now, just use Rakudo Star. It's great. It has all the batteries included 08:24
pytuger: my pkgs are for people that want the minimal stuff (e.g. docker) or prefer os packages
hobbs even the funny little lithium ones 08:25
faraco m: shell 'echo m' 08:28
camelia shell is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in sub shell at src/RESTRICTED.setting line 15
in block <unit> at <tmp> line 1
faraco oh, forgot
so, where do I get the full rakudo version, from inside a program, without calling perl6 using shell, run, etc? 08:29
m: say $*PERL.version
camelia v6.c
hobbs m: say $*PERL.compiler.version 08:32
camelia v2017.03.10.g.6060.bd.3
faraco oh, I see
I just found, I can use this also
m: say $*VM 08:33
camelia moar (2017.03)
08:33 mcmillhj joined
faraco but yours, more complete. hobbs++ 08:33
hobbs one's the rakudo version, one's the moar version :) 08:34
and $*PERL.version is the perl version :)
08:36 wamba left 08:38 mcmillhj left 08:46 SCHAAP137 joined, Cabanossi left 08:48 xtreak left, xtreak joined, Cabanossi joined 08:51 mcmillhj joined, g4 joined 08:52 xtreak left 08:53 kurahaupo__ joined 08:55 mcmillhj left 08:57 kurahaupo__ is now known as kurahaupo 09:00 tojo joined 09:07 dakkar joined 09:13 mcmillhj joined 09:18 mcmillhj left 09:20 wamba joined 09:26 kurahaupo__ joined, kurahaupo left
faraco samcv: I noticed something. Installing rakudo on Debian 8, I got the version of 2014.07-4, which use parrot as the vm. but on Ubuntu 16.04, I got the 2015.11, which use rakudo, on on sid, I believe the latest one is the 2016-12-1 implementation. 09:30
samcv faraco, ah i see. i've only tried to install it on sid
09:32 robertle joined, mcmillhj joined
faraco samcv: I'm not sure why the package is not listed in as an option - rakudo.org/how-to-get-rakudo/#Insta...tes-Debian 09:34
samcv well i don't think they have rakudo star?
faraco samcv: hmm, I don't think so, rakudo sid package use rakudo star - http.debian.net/debian/pool/main/r/...rig.tar.gz 09:36
samcv oh do they?
kk
faraco I open it and received the same structure as in rakudo star linux on the rakudo page 2017.01 - rakudo.org/downloads/star/rakudo-st...est.tar.gz 09:37
maybe not the latest, but still
09:37 mcmillhj left
faraco debian people need to be informed about rakudo package existence on the page. (not everyone want to compile them) 09:38
09:41 mcmillhj joined
faraco rakudo .deb package* 09:41
09:45 mcmillhj left 09:46 kurahaupo__ is now known as kurahaupo 09:51 xtreak joined, xtreak left 09:58 gregf_ joined, movl joined
abraxxa zostay: DOM::Tiny fails some tests on 2017.03, can travis be set up to test each rakudo release? 10:00
10:01 mcmillhj joined, yqt joined 10:02 xtreak joined, ilinux joined, Cabanossi left, ilinux left 10:03 xtreak left, Cabanossi joined 10:06 mcmillhj left, xtreak joined, bjz_ left
faraco samcv: meh, nevermind about making the debian package. IONinja has tweeted - twitter.com/zoffix/status/843478198516142081. We can download the latest (or almost) debian package from here - twitter.com/zoffix/status/843478198516142081 10:12
oops, from here - github.com/nxadm/rakudo-pkg/releases
10:13 mcmillhj joined 10:16 bjz joined, TEttinger left 10:17 mcmillhj left 10:31 mcmillhj joined 10:32 Cabanossi left 10:33 bjz left, Cabanossi joined, xtreak left 10:36 mcmillhj left 10:39 bjz joined 10:40 mcmillhj joined 10:41 xtreak joined
faraco Hi, is there any Tk binding for Perl 6 that you know? I cannot find any in modules.perl6.org 10:42
DrForr Not yet, you're welcome to give it a try though :) 10:44
10:45 mcmillhj left 10:47 xtreak left, Ven joined, Ven is now known as Guest90000 10:48 wamba left 10:50 mcmillhj joined, xtreak joined 10:53 pecastro joined 10:55 mcmillhj left, araujo joined, sammers joined 10:58 labster left 11:00 mcmillhj joined, KDr2_c joined
moritz or you could use p5's Tk module through Inline::Perl5 11:02
11:02 Cabanossi left
moritz seems we don't have Inline::Tcl yet 11:02
11:03 Cabanossi joined 11:05 mcmillhj left 11:08 donaldh joined 11:19 faraco left 11:21 xtreak left, pecastro left 11:22 mcmillhj joined 11:27 mcmillhj left 11:28 Guest90000 left 11:32 jonas1 joined 11:33 mcmillhj joined 11:36 bjz_ joined 11:38 mcmillhj left, bjz left 11:40 awwaiid joined 11:45 Cabanossi left 11:46 lukaramu joined 11:48 Cabanossi joined 11:49 pecastro joined 11:55 mcmillhj joined 12:00 mcmillhj left 12:08 mcmillhj joined 12:09 bjz joined, bjz_ left 12:13 mcmillhj left, k-man joined 12:16 cibs left 12:17 noganex_ joined, cibs joined 12:20 noganex left
[Coke] moritz: I feel slightly guilty about that. 12:21
masak .oO( "you're the one who didn't do it!" ) 12:22
yoleaux 18 Mar 2017 14:16Z <tbrowder> masak: i don't have any old masm on flppies or CD, but i did find this link: <www.phatcode.net/downloads.php?id=175>
18 Mar 2017 14:19Z <tbrowder> masak: but i did find two old CDs (Dr. Dobbs 1988-2001 and C/C++ Journal 1990-2002) which i need to look at low-level because the old search box doesn't work on WIndows...i'll try on my Linux box
masak tbrowder: thanks
12:23 tojo left 12:26 domidumont left, domidumont joined
DrForr .tell tbrowder Thanks for the feature request; I think it's a bit more appropriate for the Perl6::Lint that I haven't built yet - At least I don't really intend that ::Tidy should do anything other than play with whitespace. 12:26
yoleaux DrForr: I'll pass your message to tbrowder.
tbrowder masak: you're very welcome. i think that link may have been mentioned by you or someone else in the OP. does that link have what you need? 12:27
yoleaux 12:26Z <DrForr> tbrowder: Thanks for the feature request; I think it's a bit more appropriate for the Perl6::Lint that I haven't built yet - At least I don't really intend that ::Tidy should do anything other than play with whitespace.
DrForr Sorry, didn't know you were around :) 12:28
timotimo m: multi sub test(False) { say "oh" }
camelia Potential difficulties:
Literal values in signatures are smartmatched against and smartmatch with `False` will always fail. Use the `where` clause instead.
at <tmp>:1
------> 3multi sub test(False7⏏5) { say "oh" }
timotimo hmm. not so sure i like that
IOninja heh 12:29
Why not?
timotimo can't put my finger on it, but perhaps i'd just like literals in signatures to be eqv'd or something ... but that's quite iffy in its own right 12:30
tbrowder I just came on monitoring. Thanks for considering that and putting it with ::Lint makes perfect sense (i still think rakudo should warn about it).
12:31 perlpilot joined 12:32 raschipi joined
masak tbrowder: it does not (but still an interesting resource). someone eventually pointed me to the program I was looking for: www.cs.nyu.edu/~yap/classes/machineOrg/helppc/ 12:32
IOninja timotimo: ATM literals in signatures are just sugar for `where $literal`
DrForr I've got a few of my own I should add - You can add semicolons inside lists unintentionally (because they're multidimensional) and throw off list walking. $foo.append( call(); ) # Doesn't warn because it's a valid 2-D slice (I'm guessing) but it still looks like a tyop to me.
12:33 Actualeyes joined
timotimo mhm 12:33
masak IOninja: "at the moment"? isn't that what they are supposed to be sugar for, long-term?
timotimo i think he's assuming i want to change things 12:34
masak I think I might agree with timotimo's sentiment that smartmatching doesn't give us a lot in this particular case
like, if a small exception were made for `False` in a signature, everyone would be happier :)
IOninja wonders when did "at the moment" start to mean "this will get changed soon"
timotimo hah 12:35
IOninja Exceptions suck.
masak frankly, I didn't even think of the consistency involved here
IOninja: yes, I would agree in general
IOninja: would an exception suck *in this case*, though?
or would it just allow one more thing in Perl 6?
Unavowed Isn't the more fundalental question whether False ~~ False should be False though?
masak m: say False ~~ False
camelia Potential difficulties:
Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead
at <tmp>:1
------> 3say False ~~ 7⏏5False
False
masak m: my $f = False; say False ~~ $f 12:36
camelia False
masak Unavowed: I think it was settled long ago that it isn't and shouldn't be
Unavowed: because you want to do smarmatches like `$value ~~ &some-check`, where `$value` gets passed to `&some-check` and the resulting boolean is used as the match result 12:37
IOninja masak: the thing isn't disallowed at the moment. `Bool:D $ where .not` isn't much longer than `False`, but the Exception will add one more things for all programmers to remeber "literals are just sugar for where... EXCEPT FOR Bools"...
masak so the exception here for signatures would mean *not* smartmatching, but checking True or False for equality
I dunno, maybe it's a bad idea
Unavowed masak: I see
masak the ghost of jnthn just visited me and yelled at me for thinking of slowing down the sigbinder path :P 12:38
12:41 Guest21570 left 12:44 cibs left 12:46 cibs joined, Cabanossi left 12:47 eroux joined
raschipi If people come here asking for a newer version in Debian, the easiest way to explain to them is that they should be running Debian 9 with the version from 'experimental'. There's 2017.02 there. 12:47
12:48 Cabanossi joined
IOninja hah 12:48
El_Che raschipi: Can most users fix the unstable/experimental breakage?
raschipi I haven't found any breakage fron installing rakudo from experimental. 12:49
About unstable breakage, most debian developers do recommend it.
It breaks much less than other rolling release distros. 12:50
timotimo i used to use debian sid for a long time :P 12:51
12:51 eroux left
El_Che timotimo: we all did before ubuntu :) 12:51
12:52 mcmillhj joined
timotimo i did long after ubuntu 12:52
raschipi I can't stand Ubuntu.
El_Che although I remember some brave struggles to get X unbroken after sid upgrades
raschipi I try Ubuntu every year and I give up after a week. 12:53
Well, it will break, it's only a matter of time. Such is the life on the edge.
El_Che raschipi: yeah I've seen plenty of breakage in Ubuntu non-LTS. I remember the pulseaudio days 12:54
raschipi Just keep backups and all will be well. 12:55
El_Che I think that on the Desktop I have ran Red Hat, Mandrake, Debian stable/testing/unstable, Libranet, Progeny, Xubuntu and Ubuntu
lots of good memories of Libranet. 12:56
12:57 eroux joined
raschipi Every time I try Ubuntu I break it because I try something they don't want me to do. 13:00
El_Che besides unity and newer packages compared to stable, I don't see that much difference 13:01
raschipi It's different under the hood. For example, Ubuntu has a package called 'ubuntu' which will tie the system togheter, but make it inflexible. It will also force you to upgrade components. 13:03
As long as one doesn't try to change things under the hood, Ubuntu is better, I agree. 13:04
El_Che raschipi: most of the time I remove what I want, including those meta packages 13:05
it's not more than that: a meta package that can be remove without consequences 13:06
ubuntu-desktop and the like
13:07 mcmillhj left
El_Che raschipi: If I wanted to provide debian packages, stable is easy. I would I provide packages for testing or sid as they are always moving? 13:08
raschipi Are you in the Debian Perl6 team?
El_Che raschipi: I build packages by creating a Docker base image of the OS in question and than running this: github.com/nxadm/rakudo-pkg/blob/m...grakudo.pl 13:09
raschipi Or trying to provide another package?
13:09 wamba joined
El_Che raschipi: no, I create stand-alone pkgs in /opt/rakudo without touching the base system 13:09
raschipi: the idea if to have up to date pkgs for my containers without waiting (nor breaking) on Ubuntu or CentOS updates (they have years-old versions) 13:10
timotimo i used to be a rpm-hater, but nowadays i'm on fedora and i'm happy
El_Che raschipi: it's fpm under the hood: github.com/nxadm/rakudo-pkg/blob/m..._rakudo.sh
timotimo: we use CentOS 7 at work 13:11
13:11 mcmillhj joined
El_Che timotimo: I use Ubuntu at home 13:11
raschipi El_Che: you sure you need the container? Static linking not enough?
El_Che timotimo: hence those packages
timotimo right
raschipi Can perl6 be built statically linked?
El_Che raschipi: I don't need a container. It just makes it dead easy and clean 13:12
timotimo depends on how you interpret "statically linked"
El_Che I thought not
timotimo you can create a moarvm that has libmoar inside it
but rakudo still needs the extops and those are dynamically loaded
raschipi I want even libc in there.
El_Che raschipi: all the deps are in /opt/rakudo (put their by nqp, moarvm and rakudo's build process)
raschipi If it's all bundled, what is breaking? 13:13
El_Che so, far, nothing. But I only have centos and ubuntu packages.
in theory, debian sid could change libc and break stuff
that doesn not happen with releases soft like ubuntu, centos or debian stable 13:14
raschipi So, to answer your question about how to make it work despite the system changing: bundle everything.
timotimo i found out by a long process of unfruitful investigation and research that you can't dynamically load something that's not on the filesystem
... >:(
El_Che I think the debian people are doing a fine job for sid, so those that run sid are OK
stable and testing is different 13:15
raschipi I think they didn't upload the version on sid to the frozen Stretch on purpose. To not release rakudo as stable.
13:17 KDr2_c left 13:22 spebern joined 13:24 bjz left 13:28 bjz joined
robertle raschipi: of course that means the next stable will have 2016.12-1, so I don't think that shields users from unstable software ;) 13:29
13:29 domidumont left, skids joined 13:30 domidumont joined 13:34 cygx joined
cygx o/ 13:34
IOninja: re documentation for the open modes, cf github.com/rakudo/rakudo/commit/36...37a6061d15 and perl6advent.wordpress.com/2015/12/...-projects/
13:35 lukaramu_ joined
cygx on an unrelated note, string operations appear to have gotten slower, cf gist.github.com/cygx/9c94eefdf6300...e-graph-md 13:35
raschipi robertle: At least they're not pretending to support it. 13:36
13:38 lukaramu left
raschipi They'll upload the packages to sid in April or March, after Stretch is released. 13:39
Then it will be a seamless experience in Debian. 13:40
SmokeMachine m: use Test; my @a = <1 2 3>, <a b c>, <x y z>; is infix:<X>(<1 2 3>, <a b c>, <x y z>), infix:<X>(|@a) # should it have the same result? 13:41
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: '1 2 3 a b c x y z'
# got: '1 a x 1 a y 1 a z 1 b x 1 b y 1 b z 1 c x 1 c y 1 c z 2 a x 2 a y 2 a z 2 b x 2 b y 2 b z 2 c x 2 c y 2 c z 3 a x 3 a y 3 a z 3 b x 3 b y 3 b z 3 c x 3 c y 3 …
SmokeMachine this is one of the whys it isn't true: 13:42
IOninja cygx: thanks.
SmokeMachine m: use Test; is [\X](<1 2 3>, <a b c>).tail, [X](<1 2 3>, <a b c>)
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in sub is at /home/camelia/rakudo-m-inst-1/share/perl6/sources/C712FE6969F786C9380D643…
SmokeMachine sorry 13:43
13:43 sena_kun joined
SmokeMachine strange... 13:45
IOninja m: use Test; is-deeply [\X](<1 2 3>, <a b c>).tail, [X](<1 2 3>, <a b c>) 13:46
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in sub is-deeply at /home/camelia/rakudo-m-inst-1/share/perl6/sources/C712FE6969F786C9…
SmokeMachine m: say (@ = [\X](<1 2 3>, <a b c>))
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
IOninja m: [\X](<1 2 3>, <a b c>).tail
camelia ( no output )
SmokeMachine m: say [\X](<1 2 3>, <a b c>).tail
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
SmokeMachine m: say [\X](<1 2 3>, <a b c>).tail ~~ Fail
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Fail used at line 1
IOninja m: dd <1 2 3> X <a b c>
camelia ((IntStr.new(1, "1"), "a"), (IntStr.new(1, "1"), "b"), (IntStr.new(1, "1"), "c"), (IntStr.new(2, "2"), "a"), (IntStr.new(2, "2"), "b"), (IntStr.new(2, "2"), "c"), (IntStr.new(3, "3"), "a"), (IntStr.new(3, "3"), "b"), (IntStr.new(3, "3"), "c")).Seq
SmokeMachine m: say [\X](<1 2 3>, <a b c>).tail ~~ Failure
camelia False
IOninja X returns a Seq 13:47
13:47 Cabanossi left
jnthn m: say [\X](<1 2 3>, <a b c>).tail.perl 13:47
camelia Seq.new-consumed()
jnthn m: say [\X](<1 2 3>, <a b c>).perl
camelia (Seq.new-consumed(), Seq.new-consumed()).Seq
jnthn Wonder what's consuming it 13:48
13:48 Cabanossi joined
IOninja m: say ([\X] <1 2 3>, <a b c>)[0].perl 13:50
camelia ((IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3")),).Seq
raschipi jnthn: "getting these fixed up and implemented more fully has made it to the top of my todo list", very nice!
IOninja The second iteration?
When it goes to build the triangle result or whatever.
SmokeMachine should it be always true? [\&any-op](|@arr).tail eqv [&any-op](|@arr) ?
IOninja Don't think so 13:51
timotimo well, if there's side-effects it depends on which you run first :P
SmokeMachine IOninja: why? 13:53
IOninja Don't even need side effects
m: sub infix:<zz> ($, $) { rand }; dd ([\zz] 1, 2, 3, 4).tail eqv [zz] 1, 2, 3, 4
camelia Bool::False
SmokeMachine I mean without side effects 13:54
IOninja No side effects above.
SmokeMachine IOninja: ok...
jnthn raschipi: Yeah, took a while to get there :) 13:55
13:59 bjz left
SmokeMachine and what about ? 14:00
m: use Test; my @a = <1 2 3>, <a b c>, <x y z>; is infix:<X>(<1 2 3>, <a b c>, <x y z>), infix:<X>(|@a)
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: '1 2 3 a b c x y z'
# got: '1 a x 1 a y 1 a z 1 b x 1 b y 1 b z 1 c x 1 c y 1 c z 2 a x 2 a y 2 a z 2 b x 2 b y 2 b z 2 c x 2 c y 2 c z 3 a x 3 a y 3 a z 3 b x 3 b y 3 b z 3 c x 3 c y 3 …
raschipi jnthn: Any thoughts on making the pipe operators do steps in parallel? 14:02
jnthn Pipe operators?
Ah, ==> and friends?
raschipi yep 14:03
jnthn Ah, thought we call those feed operators... :)
Not as part of the hyper/race work; those were intended to set up a producer/consumer workflow
Also desirable to get in place, though needs something a bit different to hyper/race 14:04
14:05 mcsnolte joined 14:06 sammers left
raschipi jnthn: Is there a idiomatic way to start a race and then get the results as a promise? Just create it and start the race inside? 14:07
jnthn raschipi: yes, like that 14:08
Just stick start before it
Or .Supply if you want to reactively process the results as they become available 14:09
14:10 koki1 left
raschipi I was thinking .race.iterator could return a supply. 14:11
jnthn huh?
No :)
14:11 Sound joined
timotimo you can always .Supply on a HyperSeq, though? 14:11
jnthn Sure
raschipi I see, it's all building blocks 14:12
Can't read minds yet.
14:12 eroux left
timotimo many things can be coerced to Supply, also to Promise the same way 14:12
jnthn Well, it's just that .iterator is part of the Iterable interface, which means it should consistently return soemthing that does Iterator
timotimo and backwards, too
jnthn *something
14:19 sammers joined 14:23 cygx left 14:24 eroux joined 14:28 kjk joined 14:29 Ven joined, Ven is now known as Guest60921 14:35 itaipu joined 14:42 IOninja is now known as wat|gives, wat|gives is now known as IOninja 14:44 grondilu joined
grondilu no '-q' (quiet) option? 14:44
IOninja What?
grondilu wanted to :.!perl6 in vim and was annoyed by the output
14:45 Cabanossi left
grondilu (annoyed being a bit excessive of a word, though) 14:46
14:46 xtreak joined
IOninja What does that do? 14:46
grondilu well, if my line is 'say 2*2;' then I'd like 4, not > say 2*2\n4
14:47 curan left
IOninja use -e ? 14:47
grondilu not to mention the "To exit type 'exit' or '^D'"
jast grondilu: 'perl6 -'
grondilu jast++ 14:48
jast to read program source from STDIN, which suppresses launching the interactive thingy
14:48 Cabanossi joined
kjk how can you create an instance of IO::Handler from a file descriptor? 14:51
IOninja Don't think you can. 14:52
geekosaur afaik you can't yet because youy'd need to wrap it in a libuv handle abstraction and that's not exposed 14:53
timotimo the other way around is possible
jast and if anyone knows, it would be an IO ninja
timotimo and using NativeCall to use stdlib I/O functions is also possible
IOninja is now known as IOn00b
14:55 wamba left
IOninja just got stood up 15:00
By a cable fixing technician!
Got all doled up for nothing -_-
timotimo doled or dolled?
i don't think you were wearing bananas?
IOninja Ah dolled 15:01
timotimo :D
IOninja just now realized "dolled up" is about dolls...
Oh well, plenty of techs in the sea!
jast got all up on the dole?
jnthn Well, if you got fired from your job 'cus you waited home for the technician, you could say you got doled up... :P
IOninja heh 15:02
15:04 cpage_ left, cibs left 15:05 xtreak left 15:06 cibs joined
[Coke] samcv: xkcd.com/1813/ 15:06
m: say "\x270b\x1f93f" 15:07
camelia ✋🤿
IOninja bets $5 someone somewhere wrote a proposal for that, thanks to XKCD
[Coke] that's why I mentioned it here, to increase the odds. :) 15:08
IOninja head: error writing ‘standard output’: Connection reset by peer 15:09
wow, the peer is ruthles
15:09 domidumont left
geekosaur .oO { peerless } 15:10
15:10 domidumont joined 15:11 drrho left
timotimo aaargh my output is useless :D 15:13
("1" => Duration.new(<9187/70831>), "10" => Duration.new(<39421/298962>), "100" => Duration.new(<27121/202455>), "1000" => Duration.new(<70613/528935>), "10000" => Duration.new(<1972819/14197524>), "1001" => Duration.new(<656791/4954136>), "1002" => Duration.new(<11094/85543>), "1003" => Duration.new(<97897/796250>), "1004" => Duration.new(<68377/513774>), "1005" => Duration.new(<321829/2674060>), "1006" =>
Duration.new(<54289/445239>), "1007" => Duration.new(<9255/73372>), "1008" => Duration.new(<2669/20677>), "1009" => Duration.new(<4802/35453>), "101" => Duration.new(<113811/903376>), "1010" => Duration.new(<46093/355286>), "1011" => Duration.new(<9707/69673>), "1012" => Duration.new(<177431/1364446>), "1013" => Duration.new(<32837/276840>), "1014" => Duration.new(<43463/328570>), "1015" =>
Duration.new(<190463/1454469>), "1016" => Duration.new(<358427/2833790>), [...]
whoops, that was a big paste
[Coke] m: with $*OUT {[==]} # peerless? 15:14
camelia Potential difficulties:
Useless use of [==] in sink context
at <tmp>:1
------> 3with $*OUT {7⏏5[==]} # peerless?
15:18 cdg joined 15:19 profan joined
IOninja moritz: thinking of it now, this looks wrong to me: irclog.perlgeek.de/perl6/2017-03-14#i_14260302 15:25
It's not the percentage faster, but percentage of time it takes.
3x faster is different than takes 70% less time. 15:26
Or, 300% faster is different than takes 70% less time. 15:27
Looks more impressive too :)
15:28 Guest60921 left
raschipi It's important to also note economists do it differently, they do it in a way so that a 2% increase will be undone by a 2% decrease, which normally isn't true for the simple definition. 15:30
[Coke] m: 'z').ord # LTA error message?
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> 3'z'7⏏5).ord # LTA error message?
IOninja doesn't see the LTA part...
15:30 Cabanossi left
IOninja Seems quite MTA 15:30
huggable: LTA 15:31
huggable IOninja, "Less Than Awesome"; antonym: PDG "Pretty Damn Good"
IOninja Ah, I mean seems quite PDG
15:31 Ven joined 15:32 Ven is now known as Guest72549
[Coke] ) isn't a bracket. :P 15:33
15:33 Cabanossi joined
IOninja [Coke]: sure it is: en.wikipedia.org/wiki/Bracket 15:34
jnthn Clearly we need support for localizing errors :P
15:34 khw_ joined
IOninja :D 15:34
moritz masak: have you seen www.jtolds.com/writing/2017/03/whit...-calculus/ ? 15:37
15:37 alimon joined
IOninja m: "/tmp/file".IO.open.IO::Handle.line 15:37
camelia Cannot invoke this object (REPR: P6opaque; NQPMu)
in block <unit> at <tmp> line 1
IOninja hm, locally I get "no concretization found for IO" 15:38
'cause I typoed ::line as .line
Oh, nm, I get that on pipe
What does that code do? Call method named `IO::Handle`?
moritz I think it tries to invoke a "Handle" method in class/role IO 15:39
timotimo not quite 15:40
yeah
what moritz said
zostay abraxxa: thx, i'm looking into the failing tests... Seq caching, meh
timotimo you use $target.Class::Methodname syntax to reach methods from other parts in the inheritance tree
IOninja Ah, right. Thanks
zostay i do notice that Seq.perl may call .cache, which means something just trying to do some debugging could significantly change the behavior of a program 15:41
that seems like a caveat 15:42
IOninja zostay: that's hardly the only thing that creates .cache. $seq[0] does too, for example 15:45
moritz well, the alternative is that debugging it breaks the subsequent iteratio
n
zostay moritz: i didn't say it was a bad trade off... but when i have time, i will go check the docs and make sure there's a warning in there about not depending on the cache/not-cached state in code 15:47
i wouldn't want someone thinking they could use seq iteration to make sure something only happened once 15:48
15:48 g4 left
IOninja zostay: the iteration still happens just once, its result is simply cached. 15:49
zostay right
15:49 wamba joined 15:50 nowan left
zostay but if some code iterates over the structure more than once expecting the second iteration to fail, that'd be an error in judgement on the part of the dev writing that code 15:50
i'm referring to multiple iterations of the data structure, not the internal iterator 15:51
15:52 nowan joined
IOninja Dying on attempt to iterate again is due to limitation, not a feature. Any code that relies on second iteration dying is buggy IMO 15:54
15:55 Guest72549 left
jnthn But limitation makes it sound like something that might change in the future, which this won't. 15:56
The "limitation" is the feature, essentially
It's how we know we can throw data away 15:57
zostay understood, i'm adding a caveat to Seq that refers to that as a volatile state exposed for optimization, not something to be relied upon for logic 15:58
IOninja Right, I mean limitation of the the thing it's meant to do. You can't iterate again if you're meant to throw away previous data 15:59
jnthn m: my \s = gather { take 1; take 2 }; for s { }; for s { }; 16:00
camelia This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
jnthn m: my \s = gather { take 1; take 2 }; say s.perl; for s { }; for s { };
camelia (1, 2).Seq
This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
jnthn Note that in cases like that it doesn't actually change the behavior
Oh, that said... 16:01
zostay i'd say about half of module breakages in the past year due to rakudo changes have been things that previously were handled by lists, but have been optimized to use seqs resulting in code breakage
jnthn m: my \s = gather { take 1; take 2 }; for s { }; say "here"; for s { };
camelia here
This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
jnthn m: my \s = gather { take 1; take 2 }; say s.perl; for s { }; say "here"; for s { };
camelia (1, 2).Seq
This Seq has already been iterated, and its values consumed
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
jnthn Yeah, it can in that way :)
And yeah, that's worth noting in the docs
16:05 domidumont left
Geth doc: zostay++ created pull request #1253:
Caveat about volatile cache state in Seq
16:06
IOninja zostay: why'd you remove «X::Seq::Consumed: part? It's part of that output. 16:07
16:07 itaipu left
zostay not in my rakudo 16:07
which i built yesterday 16:08
16:08 itaipu joined
IOninja zostay: you're not running the actual example in the code then 16:08
zostay: also typo here? "call one operations during "
zostay hmmm
SmokeMachine IOninja: rephrasing: should it be always true? [\&any-pure-op](|@arr).tail eqv [&any-pure-op](|@arr) ? 16:12
zostay thx IOninja, fixed 16:13
IOninja SmokeMachine: Why are you asking?
SmokeMachine IOninja: to create more tests to [&op] and [\&op]
IOninja I don't like answering "always true" questions, because it relies on ability to think of all possible cases. It's like asking "can you prove unicorns don't exist" 16:14
SmokeMachine: well, you're not gonna test an infinite amount of ops. So your question is inaccurate.
perlpilot
.oO( first define "unicorn" and "exists" )
IOninja SmokeMachine: I'd answer "probably" :) 16:15
SmokeMachine IOninja: Im asking to know if any tests I would write assuming that would be true...
IOninja: ok, that's enough... :)
another question: and, should infix:<X>(<1 2 3>, <a b c>) be equal to my @a = <1 2 3>, <a b c>; infix:<X>(|@a) ? 16:16
IOninja No idea. 16:17
Ah, likely not
'cause Array would containerize those inner lists
16:17 sufrostico joined 16:18 sufrosti1o joined
IOninja m: dd infix:<X>(<1 2 3>, <a b c>) 16:18
camelia ((IntStr.new(1, "1"), "a"), (IntStr.new(1, "1"), "b"), (IntStr.new(1, "1"), "c"), (IntStr.new(2, "2"), "a"), (IntStr.new(2, "2"), "b"), (IntStr.new(2, "2"), "c"), (IntStr.new(3, "3"), "a"), (IntStr.new(3, "3"), "b"), (IntStr.new(3, "3"), "c")).Seq
IOninja m: dd infix:<X>($<1 2 3>, $<a b c>)
camelia ((Nil, Nil), (Nil, Nil), (Nil, Nil), (Nil, Nil), (Nil, Nil), (Nil, Nil), (Nil, Nil), (Nil, Nil), (Nil, Nil)).Seq
IOninja m: dd infix:<X>($(<1 2 3>), $(<a b c>))
camelia (($(IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3")), $("a", "b", "c")),).Seq
IOninja mhm
16:18 wamba left
Geth doc: 27ea16c5c6 | (Sterling Hanenkamp)++ | doc/Type/Seq.pod6
Caveat about volatile cache state in Seq
16:18
doc: 912ea75cfb | (Zoffix Znet)++ | doc/Type/Seq.pod6
Merge pull request #1253 from zostay/seq-cache-caveat

Caveat about volatile cache state in Seq
SmokeMachine IOninja: thats why im asking! 16:19
16:19 kyclark joined
SmokeMachine and thats being used on [\X]... 16:19
IOninja Right, it's the containerization thing I mentioned in the ticket 16:20
So here's the case where it's actually causing a real big difference and the original suggestion that stuff should deconted is more valid.
16:20 mcmillhj left
IOninja I think :) 16:21
The .map({nqp::decont($_)}) thing I mentioned yesterday. Pop it somewhere in there.
16:21 AlexDaniel joined
SmokeMachine yes, but if I do that... 16:21
16:22 mcmillhj joined
IOninja But that also means you should have tests that test [\X] |@a is different from [\X] <1 2 3>, <a b c> 16:22
SmokeMachine m: my @a = <a b c> X <1 2 3>; say @a X <x y z>
camelia (((a 1) x) ((a 1) y) ((a 1) z) ((a 2) x) ((a 2) y) ((a 2) z) ((a 3) x) ((a 3) y) ((a 3) z) ((b 1) x) ((b 1) y) ((b 1) z) ((b 2) x) ((b 2) y) ((b 2) z) ((b 3) x) ((b 3) y) ((b 3) z) ((c 1) x) ((c 1) y) ((c 1) z) ((c 2) x) ((c 2) y) ((c 2) z) ((c 3) x) ((c…
IOninja m: use nqp; my @a = <a b c> X <1 2 3>; say @a.map({nqp::decont($_)}) X <x y z> 16:23
camelia (((a 1) x) ((a 1) y) ((a 1) z) ((a 2) x) ((a 2) y) ((a 2) z) ((a 3) x) ((a 3) y) ((a 3) z) ((b 1) x) ((b 1) y) ((b 1) z) ((b 2) x) ((b 2) y) ((b 2) z) ((b 3) x) ((b 3) y) ((b 3) z) ((c 1) x) ((c 1) y) ((c 1) z) ((c 2) x) ((c 2) y) ((c 2) z) ((c 3) x) ((c…
SmokeMachine brb
IOninja shrugs
m: use nqp; my @a = <a b c> X <1 2 3>; say |@a.map({nqp::decont($_)}) X <x y z>
camelia ((a a a b b b c c c x) (a a a b b b c c c y) (a a a b b b c c c z) (a a a b b b c c 3 x) (a a a b b b c c 3 y) (a a a b b b c c 3 z) (a a a b b b c 2 c x) (a a a b b b c 2 c y) (a a a b b b c 2 c z) (a a a b b b c 2 3 x) (a a a b b b c 2 3 y) (a a a b b …
IOninja dunno if that's the right way to do it or not :) 16:24
IOninja & 16:25
SmokeMachine IOninja: I think the biggest problem is that [\minmax] is working, but [\X] isn't... minmax and X has different comportaments... 16:26
16:26 agentzh left 16:27 mcmillhj left 16:35 donaldh left, mcmillhj joined 16:39 zakharyas left 16:40 mcmillhj left 16:41 mcmillhj joined 16:44 rindolf left 16:46 mcmillhj left
timotimo .u combining 16:49
yoleaux U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀)
U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
U+0302 COMBINING CIRCUMFLEX ACCENT [Mn] (◌̂)
16:53 mcmillhj joined, nightfrog is now known as culb 16:55 rindolf joined 16:57 gdonald left, agentzh joined, gdonald joined 16:58 mcmillhj left 16:59 mcmillhj joined 17:00 Cabanossi left 17:02 agentzh left 17:03 Cabanossi joined 17:04 robertle left 17:08 gregf_ left
[Coke] what is rakudobrew for "get me the latest commit on rakudo" ? 17:09
(do I actually have to know that commit id?)
timotimo rakudobrew will just build latest rakudo 17:10
just not latest nqp and moarvm
[Coke] ah, ok. danke.
17:11 agentzh joined
IOninja rakudobrew build nom 17:11
and rakudobrew switch nom if you've previously switched to another commit
[Coke] and how to get past the recent moar change that changed one of the 3rdparty libs? Nuke seems to be for installed versions, this is an issue in the git checkout 17:13
timotimo i wish i had gone about that differently :\ 17:14
if you're in there, just rm -rf 3rdparty/libtommath and git pull
[Coke] turns out rakudobrew nuke moar-nom DID work. 17:15
timotimo oh good
IOninja zoffix@VirtualBox:~$ perl6 -e '$ = shell(:out, "yes | head -n 100000").out.lines' 17:21
head: write error: Connection reset by peer
head: write error
Wonder what's that about. Doesn't happen all the time and doesn't happen with `perl6` outputting 100000 lines
17:21 mcmillhj left 17:22 mcmillhj joined, gregf_ joined
IOninja
.oO( unless `perl6`'s error gets silenced one way or another )
17:22
buffer somewhere someplace gets filled and rejects more input? Is that normal? 17:23
RAKUDO_DEFAULT_READ_ELEMS=2000000 doesn't fix it. 17:30
IOninja shrugs
17:31 Cabanossi left
[Coke] m: WrapHandle 17:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
WrapHandle used at line 1
17:33 Cabanossi joined 17:34 eroux left
[Coke] opens github.com/perl6/doc/issues/1254 17:36
IOninja Filed it as rt.perl.org/Ticket/Display.html?id=131026 17:37
17:43 sufrosti2o joined, wamba joined 17:49 tokomer joined 17:50 cdg left 17:53 cibs left 17:55 cibs joined 17:57 dakkar left 17:59 LeCamarade left 18:00 ccakes joined
IOninja We can throw typed exceptions from MoarVM somehow, can we? Like `nqp::open` throws and I'd like to differentiate what it throws (e.g. being able to know when the throwage happened due to exclusive mode turned on and file already existing) 18:01
18:02 eliasr joined
IOninja is relieved no one is asking about the IO Action Report that was promised to be delivered 2 days ago :) 18:02
18:04 spebern left, LeCamarade joined, cdg joined 18:07 sukrishn left 18:09 TeamBlast left, ufobat left, cdg left 18:12 TeamBlast joined, xinming_ joined 18:14 domidumont joined 18:15 xinming left 18:17 eroux joined 18:18 alimon left 18:25 ufobat joined, alimon joined
perlpilot IOninja: Where's the blog post with the reasonable-ish excuses? ;-) 18:29
18:31 Cabanossi left, TEttinger joined 18:32 alimon left 18:33 Cabanossi joined 18:35 kyclark left 18:41 Wanderer68 joined
IOninja perlpilot: instead of it, I'm working to finish the report instead :P 18:42
No, excuses. Just found more to write in than I expected. 18:43
18:43 espadrine joined
IOninja It's 9 pages long and I'm yet to rake through newio and CatPath stuff 18:43
9 pages long so far, I mean. 18:44
And I'm gonna deliver like ~ Tue, Wed.
18:50 bjz joined
DrForr Wonder if I shouldn't stump for a grant for the Perl6::{Parser,Tidy} stuff. 18:54
perlpilot IOninja++ keep up the good work 18:59
18:59 xzhao joined
perlpilot DrForr++ you too! ;) 18:59
DrForr Thanks. Same to IOninja :) 19:02
19:03 agentzh left 19:09 raschipi left 19:14 setty1 joined
unclechu guys, is there any way to choose between `int32` or `int64` depending by system? 19:14
19:16 raschipi joined 19:18 darutoko left 19:19 cpage_ joined 19:22 gdonald left, gdonald joined
IOninja Weird that only the first one's broken: gist.github.com/zoffixznet/e810c96...85e1b24d6b 19:24
.readchars() on a :bin handle
19:24 ugjka joined
timotimo unclechu: NativeCall has a "long" type 19:28
19:28 kyan joined 19:33 sufrostico left, sufrosti2o left, sufrosti1o left 19:37 girafe joined 19:39 sufrostico joined, labster joined, sufrosti1o joined 19:40 sufrosti2o joined
IOninja Anyone with a recentish JVM build? Can you try if this still gives False? my $f = "foo"; spurt($f,"a"); my $h = open($f); my $s = $h.Supply(:size(1),:bin); my $x; $s.tap( { $x = $_ } ); $h.close; my $y = Buf[uint8].new(ord "a"); say $x; say $y; say $x eqv $y 19:40
And if it does, whether this gives False as well: my $f = "foo"; spurt($f,"a"); my $h = open($f, :bin); my $s = $h.Supply(:size(1),:bin); my $x; $s.tap( { $x = $_ } ); $h.close; my $y = Buf[uint8].new(ord "a"); say $x; say $y; say $x eqv $y
Eh. 19:43
IOninja builds one :) 19:44
Oh, turns out I already have one built. In "judo" dir :)
19:45 jsimonet joined
IOninja And the answer is: both give False (on 2016.10) 19:45
Which is really damn weird: gist.github.com/zoffixznet/f714072...b5125719be 19:47
19:47 bjz left
lizmat starts working on the Perl 6 Weekly 19:48
lemme know if I'm about to miss something 19:49
IOninja lizmat: if this commit makes it into the news; AlexDaniel++ spotted the issue and how to fix it; I merely typed it up: github.com/rakudo/rakudo/commit/93...995aa14bc4 19:50
lizmat IOninja++ AlexDaniel++ :-)
RabidGravy does anyone know of any software that does server sent events as part of the way it works, like CouchDB with db changes? 19:53
IOninja r: dd buf8 eqv Buf[uint8] # reason for JVM's weirdness above 19:54
camelia Bool::True
Bool::False
19:55 itaipu left 19:56 cdg joined
IOninja and that's rt.perl.org/Ticket/Display.html?id=128041 if anyone wanna tackle it 19:56
19:56 cdg left
lizmat IOninja++ # good catch on 86dc997cc292d2646a74a05 19:57
19:57 itaipu joined
raschipi RabidGravy: you want a client to subscribe to be notified of db changes? 19:57
19:57 cdg joined
RabidGravy no, I want to see how some other server application behaves, the spec says to *avoid* chunked data, but couchdb seems to sent chunked data 19:58
well when I say "seems", it does send chunked data 19:59
20:00 TEttinger left
raschipi You want to be notified when anything changes in the DB? 20:00
"tail -f" in a logfile trough SSH? 20:01
lizmat if it were MySQL, I would put a notify on the binlog?
20:02 itaipu left 20:03 domidumont left
RabidGravy raschip, no I want to see how some other software than *couchdb* handles the event stream sending 20:05
I know how CouchDB does it
lizmat, and if it was PostgresSQL I would use the Pg::Notify I made for the purpose ;-) 20:06
20:07 eroux left
RabidGravy but it's the nature of the event stream I am interested in right now, rather than the actual software ;-) 20:07
I've made a noddy longpoll version for CouchDB in Sofa github.com/jonathanstowe/Sofa/blob...se.pm#L102 but I really don't like it at all and want to "fix" H::UA so I can do it properly ;-) 20:10
20:14 domidumont joined, sQuEE` joined 20:15 nebuchad` joined 20:16 profan_ joined, pecastro_ joined, huf_ joined 20:17 domidumont left, alimon joined, aindilis` joined, emdashcomma_ joined, Praise- joined, Praise- left, Praise- joined, Praise- left, Praise- joined 20:18 sjn___ joined, orevdiabl joined 20:19 eady joined, integral_ joined, integral_ left, integral_ joined, obfusk_ joined, _chee joined, rjbs- joined, kyclark joined, Voldenet_ joined 20:20 smash_ joined 20:21 _chee is now known as chee, garu_ joined, sufrosti3o joined, riatre_ joined, jantore_ joined 20:22 cyphase_eviltwin joined, kyclark left, wcumming- joined 20:23 tardisx_ joined, japhb_ joined 20:25 leah2_ joined, Peter_R left 20:26 luis` joined, leah2_ is now known as leah2 20:27 simcop2387_ joined, Peter_R joined 20:28 daotoad joined 20:29 mcmillhj left, sufrosti2o left, profan left, k-man left, pecastro left, araujo left, _28_ria left, aindilis left, sQuEE left, ggoebel left, Voldenet left, cyphase left, obfusk left, simcop2387 left, luis left, jervo left, simcop2387_ is now known as simcop2387, simcop2387 left, simcop2387 joined 20:30 cpage_ left, araujo joined, araujo left, araujo joined, emdashcomma_ is now known as emdashcomma, Voldenet_ is now known as Voldenet, Voldenet left, Voldenet joined, Voldenet left, Voldenet joined
daotoad hello all. I have a question that I hope hasn't been belabored here already 20:31
20:31 mcmillhj joined
IOninja Ask away. 20:31
20:31 Cabanossi left, ribasushi left
daotoad What are the obstacles to building a tool like PAR for Perl6? 20:31
20:32 sjn___ is now known as sjn
daotoad Being able to build executable bundles would be very nice. 20:32
20:32 bjz joined
IOninja buggable: eco App::InstallerMaker::WiX 20:33
buggable IOninja, App::InstallerMaker::WiX 'Tool to make basic WiX installers for Perl 6 apps, bundling MoarVM/Rakudo.': github.com/jnthn/p6-app-installermaker-wix
20:33 k-man joined
IOninja daotoad: well, there's that already for Windows. I think the current obstacle is immovability of combiled rakudo. 20:33
20:33 Cabanossi joined
IOninja presses the timotimo-signal 20:33
This gets asked frequently. So far, I haven't heard anyone say it's very hard or impossible. Just may be not the most urgent thing to prioriotize 20:34
daotoad Where can I find out about the current windows tool? Or is it built in?
samcv github.com/jnthn/p6-app-installermaker-wix 20:35
IOninja daotoad: see the link from the bot above
Yeah, that.
20:35 jhill__ joined
daotoad Wix installermaker? Sweet. 20:35
20:36 dwarring joined 20:37 ribasushi joined
daotoad It's a priority for me. Where would I look to learn more about relocatability issues in Rakudo? 20:39
IOninja daotoad: dunno, try hunting down timotimo. He's the last one I recall working in that area.
20:40 jervo joined
daotoad Excellent. Thanks. 20:40
From wix installer README: please consider this tool free as in "puppy". 20:41
[Coke] mst might have some patches lurking from his time getting rakudo installable via cpan. 20:42
timotimo uh oh
20:42 tinita joined
timotimo oh, right 20:43
20:43 SCHAAP137 left
IOninja daotoad: it was made like 6 days ago :) 20:43
timotimo i was the last unfortunate soul to attempt to bundle some resources into one executable along with moarvm
AlexDaniel but moarvm is movable, right? 20:44
timotimo aye
WiX will not give you the application as a single .exe file, it makes an installer that installs a full rakudo + your application and dependencies into a folder in a path of your choice
"your" being "you who creates the installer" 20:45
because, again, non-movable rakudo
i believe nine made considerable progress with movable CompUnitRepos 20:46
daotoad So if I wanted to start helping to make rakudo movable, where do I start?
timotimo hm, let's see 20:47
one part of the problem is that we have paths in our .bat files
20:48 thundergnat joined
timotimo after that we could have a look what else needs changed 20:48
by looking at the error messages we get :)
20:49 SCHAAP137 joined, Celelibi joined
IOninja daotoad: The source is at github.com/rakudo/rakudo github.com/perl6/nqp and github.com/MoarVM/MoarVM 20:49
thundergnat o/ #perl6. 20:50
IOninja Not sure how much use they'd be, but there are also some articles on perl6.party (search for "Core" in titles)
timotimo why not first try it with the .msi?
daotoad Ideally, I would like to be able to target Macs 20:51
So a general solution is best
thundergnat Is there anyone handy that has Inline::Perl5 installed that could test run a snippet for me? I want to make sure I haven't shot myself in the foot first before filing a bug report.
gist.github.com/thundergnat/1ab3e9...864b4e62cc 20:52
For some reason, using a module from Perl5 disables 'next' on my system. 20:53
daotoad I don't mind if the road is long, as long as I can get there eventually. Nice concrete steps like, review bat files (and presumably shell scripts) for embedded paths are exactly what I need to start
IOninja thundergnat: what perl6 version you got? 20:54
thundergnat This is Rakudo version 2017.03-6-g88aa78c built on MoarVM version 2017.03
implementing Perl 6.c.
IOninja
.oO( everyone's on dev commits... )
lizmat $ perl6 thundergnat 20:55
135
thundergnat Nope. :-) mine is a tagged release.
daotoad signing off for now. Thanks for the pointers!
IOninja thundergnat: except it isn't :)
20:55 daotoad left
IOninja thundergnat: I can repro on 2017.02-186-g9da6de4 20:55
lizmat thundergnat: next in Perl 6 is just a sub 20:56
thundergnat lizmat Sigh. I get "Useless use of constant value next in sink context (line 3) 12345" here.
lizmat so if you export a sub called "next", it will take that
raschipi I'm not on a dev commit...
dwarring is there any direct way of getting a
thundergnat When running that above gist.
IOninja hm
thundergnat: and on 2017.03-8-gbfbe429
dwarring ... native shaped array from Buf/Blob?
lizmat hmmm... perhaps this depends on the Perl 5 version being used ? 20:57
IOninja builds HEAD
lizmat 5.20.0 for me
IOninja maybe. Mine's perlbrewed v5.24.0) built for x86_64-linux-multi
thundergnat lizmat. Possibly, my p5 version is 5.18
IOninja thundergnat: what OS are you on?
thundergnat linux Mint 20:58
IOninja Anyone else on OSX who can try it?
lizmat I just did :-) 20:59
IOninja Hence the "else". thundergnat and I are on Linux and have the bug; you're on OSX and don't got it
:) 21:00
lizmat ah, ok :-)
lizmat should focus more on P6W :-)
21:00 luis` left
thundergnat Well, it seems like it isn't just me. I'll file an issue report. Thanks. 21:01
21:01 skids left 21:02 luis joined 21:03 sufrostico left, sufrosti3o left, sufrosti1o left 21:04 kyclark joined
dwarring question on Blobs vs native shaped arrays 21:04
IOninja dwarring: don't see any
dwarring m: my uint8 @a[2;4] = 1..4, 5..8; my buf8 $b .= new(@a); say $b
camelia Buf[uint8]:0x<01 02 03 04 05 06 07 08>
IOninja dwarring: though Buf got AT-POS implemented
m: dd buf8.new(1, 2, 3, 56, 67, 7, 3)[^4]
camelia (1, 2, 3, 56)
IOninja So you use that?
dwarring but no inverse? 21:05
IOninja Definite no reverse for that; since you flattened it :)
dwarring m: my uint8 @b[2;4] = buf8.new(1..8);
camelia Assignment to array with shape 2 4 must provide structured data
in block <unit> at <tmp> line 1
IOninja m: my uint8 @b[2;4] = |buf8.new(1..8)[2;4] 21:06
camelia X::Assignment::ToShaped exception produced no message
in block <unit> at <tmp> line 1
IOninja heh
21:06 nebuchad` is now known as nebuchadnezzar
dwarring ^ can't see any quick way of doing the inverse 21:06
timotimo you can probably assign to .values 21:08
raschipi m: say my uint8 @b[2;4] = buf8.new(1..8).rotor: 3;
camelia [[1 2 3 0] [4 5 6 0]]
dwarring m: my uint8 @b[2;4]; @b.values = buf8.new(1..8); say @b
camelia Cannot modify an immutable Seq
in block <unit> at <tmp> line 1
dwarring would be nice
jnthn Z= 21:09
IOninja m: say my uint8 @b[2;4] Z= buf8.new(1..8)
camelia (1 2 3 4 5 6 7 8)
21:09 cdg left
IOninja m: dd my uint8 @b[2;4] Z= buf8.new(1..8) 21:09
camelia (1, 2, 3, 4, 5, 6, 7, 8).Seq
IOninja m: dd my uint8 @b[2;4] Z= buf8.new(1..8); dd @b
camelia (1, 2, 3, 4, 5, 6, 7, 8).Seq
array[uint8].new(:shape(2, 4), [1, 2, 3, 4], [5, 6, 7, 8])
timotimo makes sense, yeah
IOninja jnthn++ cool
21:09 cdg joined, cdg left
dwarring jnthn: handy to know thanks 21:09
jnthn I tend to read Z= as "pour into" :) 21:10
21:10 cdg joined
raschipi I can see it: thumb1.shutterstock.com/display_pic...707457.jpg 21:13
21:16 cdg left, mcmillhj left 21:18 kill_me joined, kjk left
kill_me what is the p6 way to do something like Foo::Bar::qux()? i keep getting 'qux' not defined. 21:18
IOninja kill_me: what's qux? 21:20
kill_me It's just a sub-routine. 21:21
21:21 raschipi left
IOninja kill_me: does it have 😿`our` before it? 21:21
our sub meows {…}
IOninja kills kill_me 21:22
kill_me ah, that did it. thank-you.
IOninja No problem. By default subs are lexically scoped and so aren't accessible from outside using the syntax you've used.
kill_me This is just way different than perl5 and I have too many years of perl5 brain damage to overcome. 21:24
IOninja Heh. Yeah, Perl 6 is basically another language. 21:25
21:25 yqt left
AlexDaniel huggable: perl5 21:26
huggable AlexDaniel, nothing found
AlexDaniel huggable: perl5 :is: Heh. Yeah, Perl 6 is basically another language.
huggable AlexDaniel, Added perl5 as Heh. Yeah, Perl 6 is basically another language.
AlexDaniel huggable: perl5 :is: Heh. Yeah, Perl 6 is basically another language.
huggable AlexDaniel, Added perl5 as Heh. Yeah, Perl 6 is basically another language.
21:27 mcmillhj joined
IOninja
.oO( everyone just loves quoting me... )
21:29
kill_me i might be back. thanks for the help.
21:29 kill_me left 21:30 Cabanossi left 21:33 rindolf left, Cabanossi joined 21:34 ufobat left 21:36 alphah joined 21:43 kyan left 21:46 sena_kun left 21:54 domidumont joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/03/20/...e-a-hyper/ 21:54
21:55 domidumont left 22:01 Cabanossi left 22:02 kyclark left 22:03 bjz left, Cabanossi joined 22:05 kyan joined
IOninja lizmat++ good weekly 22:07
22:09 setty1 left
AlexDaniel :O 22:10
I cannot believe that we may possibly get working hyper/race in the near future :O
awesome news 22:11
that being said… it talks about 6.d?
lizmat AlexDaniel: we already have 6.d.PREVIEW
m: use 6.d.PREVIEW; say $*PERL
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
use used at line 1
lizmat que? 22:12
AlexDaniel m: use v6.d.PREVIEW; say $*PERL
camelia Perl 6 (6.d)
lizmat yeah, v :-)
22:12 TEttinger joined
lizmat still an LTA message 22:12
AlexDaniel that I know, but does it mean we will still have broken hyper/race unless you use v6.d.PREVIEW ?
lizmat we could possibly have some API breakage 22:13
so 6.d appears to be needed
AlexDaniel adds use v6.d.PREVIEW; to all of his source files…
lizmat: that kinda makes sense. Anyway, we'll see how it goes 22:14
22:14 eater joined
lizmat hmmm... wonder if we should put 'use v6.d.pREVIEW' in roast so that we're sure we're still ok ? 22:14
or that we should have a generic "use blead" ? 22:15
22:22 kyclark joined, sufrostico joined, sufrosti1o joined, sufrosti2o joined 22:23 LeCamarade left 22:24 RabidGravy left 22:31 kurahaupo left 22:32 kurahaupo__ joined 22:33 kyclark left
jnthn AlexDaniel: With regard to 6.d, all that's really meant in this case is that the 6.d test suite will have hyper/race nailed down pretty well 22:34
AlexDaniel: Since it's all in method-land, I don't expect a use v6.d.PREIVEW will be needed to get at it 22:35
22:35 tokomer left
AlexDaniel okay 22:35
jnthn Just like you don't have to wait to take advantage of all the other stuff done since Christmas 2015, but that hasn't been in an official language release yet :)
22:37 Sound left 22:38 Voldenet left 22:39 mienaikage joined 22:40 bjz joined
timotimo trie, method-based enhancement to a new core setting is ... "fraught" is the word i think :) 22:40
22:40 LeCamarade joined 22:41 gdonald left 22:42 gdonald joined 22:44 pytuger left, wamba left 22:45 dct joined, bjz left 22:47 Voldenet joined, Voldenet left, Voldenet joined 23:00 jhill__ left, jhill__ joined, dwarring left, dwarring joined, mienaikage left, mienaikage joined 23:02 Cabanossi left 23:03 Cabanossi joined 23:09 perlawhirl joined 23:10 perlawhirl left, perlawhirl joined 23:19 espadrine left 23:20 eliasr left 23:23 Praise- is now known as Praise
mienaikage Should 'dd class {} for 0..2' give me a new class each time or no? I can get around it with EVAL, but I'm not sure if it's behaving correctly or not because I don't know any better :P 23:29
timotimo no, should give you the same 23:30
classes are a compile-time thing, and they are also not closures 23:31
23:31 kurahaupo__ left
mienaikage Ah okay 23:32
Thanks for the info :) 23:34
timotimo sure :)
23:44 pytuger joined 23:45 pytuger left, pytuger joined 23:57 alimon left